Skip to content

Commit 35fc4b8

Browse files
stainless-app[bot]jromualdez-scalemax-parke-scaleclaudedeclan-scale
authored
chore: release main (#393)
Co-authored-by: Jerome Romualdez <jerome.romualdez@scale.com> Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com> Co-authored-by: Max Parke <max.parke@scale.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: Declan Brady <declan.brady@scale.com> Co-authored-by: Nitesh Dhanpal <NiteshDhanpal@users.noreply.github.com>
1 parent 4d7cf48 commit 35fc4b8

71 files changed

Lines changed: 1756 additions & 1382 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/agentex-tutorials-test.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -124,9 +124,11 @@ jobs:
124124
125125
- name: Build AgentEx SDK
126126
run: |
127-
echo "🔨 Building AgentEx SDK wheel..."
128-
uv build
129-
echo "✅ SDK built successfully"
127+
echo "🔨 Building both SDK wheels (slim client + heavy ADK overlay)..."
128+
# uv workspace builds both members into the root dist/. --wheel: the
129+
# heavy's cross-dir force-include can't build via the sdist default.
130+
uv build --all-packages --wheel
131+
echo "✅ Both SDK wheels built successfully"
130132
ls -la dist/
131133
132134
- name: Test Tutorial

.github/workflows/ci.yml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,14 @@ jobs:
2929
version: '0.10.2'
3030

3131
- name: Install dependencies
32-
run: uv sync --all-extras
32+
run: uv sync --all-packages --all-extras
3333

3434
- name: Run lints
3535
run: ./scripts/lint
3636

37+
- name: Check slim dependency set
38+
run: ./scripts/check-slim-deps
39+
3740
build:
3841
if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')
3942
timeout-minutes: 10
@@ -51,10 +54,12 @@ jobs:
5154
version: '0.10.2'
5255

5356
- name: Install dependencies
54-
run: uv sync --all-extras
57+
run: uv sync --all-packages --all-extras
5558

5659
- name: Run build
57-
run: uv build
60+
# Both workspace members. --wheel is load-bearing: the heavy's cross-dir
61+
# force-include can't build via the sdist-then-wheel default.
62+
run: uv build --all-packages --wheel
5863

5964
- name: Get GitHub OIDC Token
6065
if: |-

.github/workflows/publish-pypi.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,11 @@ jobs:
2525
run: |
2626
bash ./bin/publish-pypi
2727
env:
28+
# Heavy `agentex-sdk` package token (existing PyPI name).
29+
AGENTEX_PYPI_TOKEN: ${{ secrets.AGENTEX_PYPI_TOKEN }}
30+
# Slim `agentex-client` package token (new PyPI name; needs
31+
# to be added to repo secrets when the slim is registered).
32+
AGENTEX_CLIENT_PYPI_TOKEN: ${{ secrets.AGENTEX_CLIENT_PYPI_TOKEN }}
33+
# Back-compat fallback — used by bin/publish-pypi when the
34+
# dedicated tokens above are unset.
2835
PYPI_TOKEN: ${{ secrets.AGENTEX_PYPI_TOKEN || secrets.PYPI_TOKEN }}

.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,7 @@ Brewfile.lock.json
1818
.DS_Store
1919

2020
# Claude workspace directories
21-
.claude-workspace/
21+
.claude-workspace/
22+
23+
# Claude Code local scheduled-task lock
24+
.claude/scheduled_tasks.lock

.release-please-manifest.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
{
2-
".": "0.12.0"
2+
".": "0.13.0",
3+
"adk": "0.13.0"
34
}

.stats.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
configured_endpoints: 64
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/sgp/agentex-sdk-46769b729d89151fb7e7ae15725678af99f55ef32d283e34a1e143057aa87b23.yml
3-
openapi_spec_hash: 9115c9f283257e0636aba67fadfeda0a
4-
config_hash: 82cb83ac175dbf40265128506294218b
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/sgp/agentex-sdk-dfcee301cded58822f489f034b6fcd42f392df406ca3780e7213698cec59c777.yml
3+
openapi_spec_hash: 3aae4790b24edf6ea9469c1680d513ae
4+
config_hash: 138b7c0b394e7393133c8ff16a6d0eb3

CHANGELOG.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,70 @@
66

77
* **tracing:** emit OTel metrics for async span queue depth, batch drain, and SGP export success/failure (HTTP status labels). Disable SDK-side recording with ``AGENTEX_TRACING_METRICS=0``.
88

9+
## 0.13.0 (2026-06-10)
10+
11+
Full Changelog: [agentex-client-v0.12.0...agentex-client-v0.13.0](https://github.com/scaleapi/scale-agentex-python/compare/agentex-client-v0.12.0...agentex-client-v0.13.0)
12+
13+
### ⚠ BREAKING CHANGES
14+
15+
* **packaging:** release tag scheme changes from v* to <component>-v*.
16+
17+
### Features
18+
19+
* add AgentCard for self-describing agent capabilities ([#296](https://github.com/scaleapi/scale-agentex-python/issues/296)) ([6509be1](https://github.com/scaleapi/scale-agentex-python/commit/6509be1e5d9bc53e6058b22c45c760e04a4c4006))
20+
* add HTTP-proxy LangGraph checkpointer ([19fae2f](https://github.com/scaleapi/scale-agentex-python/commit/19fae2f6e3ce4302066a403cac4c6499410ec4ad))
21+
* add OCI Helm registry support for agent deployments ([#255](https://github.com/scaleapi/scale-agentex-python/issues/255)) ([5f054b5](https://github.com/scaleapi/scale-agentex-python/commit/5f054b514ff919479b0914883ed163279820c848))
22+
* **adk:** allow all ClaudeAgentOptions in run_claude_agent_activity ([25bbe24](https://github.com/scaleapi/scale-agentex-python/commit/25bbe24b57feaab2e557ca15279369bfb59e02db))
23+
* **adk:** Revamp run_claude_agent_activity to use more streaming ([#309](https://github.com/scaleapi/scale-agentex-python/issues/309)) ([0c16595](https://github.com/scaleapi/scale-agentex-python/commit/0c16595017164649bbea1bab8767010c9be7228d))
24+
* **api:** api update ([7b1b642](https://github.com/scaleapi/scale-agentex-python/commit/7b1b642404f34ff74d866e91a5ed2d6f0a4424c6))
25+
* **api:** api update ([710c63f](https://github.com/scaleapi/scale-agentex-python/commit/710c63f3a9b0494635c41e0d3498d69dc9145b81))
26+
* **api:** api update ([8abce2b](https://github.com/scaleapi/scale-agentex-python/commit/8abce2ba6131732688f04bacff33da506e47c77f))
27+
* **api:** Switch target to -client ([e741990](https://github.com/scaleapi/scale-agentex-python/commit/e74199029367ec7c626f5ea3057eb462e9f81b30))
28+
* **lib:** Add task updates to adk ([a58747f](https://github.com/scaleapi/scale-agentex-python/commit/a58747f0d85733f32f67b06eee222a1464eb87fe))
29+
* **openai_agents:** expose real `usage`, `response_id`, plumb `previous_response_id`, opt-in `prompt_cache_key` for stateful responses and prompt caching ([#335](https://github.com/scaleapi/scale-agentex-python/issues/335)) ([ba5d64b](https://github.com/scaleapi/scale-agentex-python/commit/ba5d64be1f959ff1a35b30e647a0a5ead21a8402))
30+
* **packaging:** introduce slim agentex-client + heavy agentex-sdk split ([bbfb22e](https://github.com/scaleapi/scale-agentex-python/commit/bbfb22eb113dd1f3d5ddf82b4d377895f5ae5466))
31+
* pass AGENTEX_DEPLOYMENT_ID in registration metadata ([#305](https://github.com/scaleapi/scale-agentex-python/issues/305)) ([31af8c6](https://github.com/scaleapi/scale-agentex-python/commit/31af8c6fc4aaafad57b70ded4883ced1254aeb1b))
32+
* **tracing:** Add background queue for async span processing ([#303](https://github.com/scaleapi/scale-agentex-python/issues/303)) ([3a60add](https://github.com/scaleapi/scale-agentex-python/commit/3a60add048ff24266a45700b4e78def8ffed3e0b))
33+
34+
35+
### Bug Fixes
36+
37+
* add litellm retry with exponential backoff for rate limit errors ([ccdb24a](https://github.com/scaleapi/scale-agentex-python/commit/ccdb24a08607298f8dafd748ee9e7fe8ba13d5fe))
38+
* **adk:** fix to queue drain ([#327](https://github.com/scaleapi/scale-agentex-python/issues/327)) ([a862a06](https://github.com/scaleapi/scale-agentex-python/commit/a862a0646365d86acd4b0e1cf470fce522a6fbb3))
39+
* **api:** remove agent_id and task_id parameters from states update method ([a7cbaae](https://github.com/scaleapi/scale-agentex-python/commit/a7cbaae4416e2d712623ecfac5e251c07c537958))
40+
* **client:** preserve hardcoded query params when merging with user params ([d2c4788](https://github.com/scaleapi/scale-agentex-python/commit/d2c47883c4247a0c5a318042ff38384ddc8db4ea))
41+
* ensure file data are only sent as 1 parameter ([48fae27](https://github.com/scaleapi/scale-agentex-python/commit/48fae27b6a761984f7fb70cb7a87da76a4192d12))
42+
* render .env.example template in agentex init ([#351](https://github.com/scaleapi/scale-agentex-python/issues/351)) ([6092595](https://github.com/scaleapi/scale-agentex-python/commit/6092595fa8a267b2c305baba09e2682c04d593b3))
43+
* Temporal Union deserialization causing tool_response messages to be lost ([79ef4dd](https://github.com/scaleapi/scale-agentex-python/commit/79ef4dd7a0ab1b8bb1151f5e16124ec5a947dfd4))
44+
* **temporal:** allowing-ACP-temporal-telemetry ([9b44eb0](https://github.com/scaleapi/scale-agentex-python/commit/9b44eb0f5c6482984f972674d7a8612980c5b576))
45+
* **tests:** repair test_streaming_model so all 28 tests run and pass ([#334](https://github.com/scaleapi/scale-agentex-python/issues/334)) ([7e5e69c](https://github.com/scaleapi/scale-agentex-python/commit/7e5e69c132c89d054516e1a762e0437375859663))
46+
* **tracing:** Fix memory leak in SGP tracing processors ([#302](https://github.com/scaleapi/scale-agentex-python/issues/302)) ([f43dac4](https://github.com/scaleapi/scale-agentex-python/commit/f43dac4fa7ca7090b37c6c3bf285eb12515764bb))
47+
* **tutorials:** stop at130-langgraph workflow deadlock on graph compile ([#399](https://github.com/scaleapi/scale-agentex-python/issues/399)) ([bd90a61](https://github.com/scaleapi/scale-agentex-python/commit/bd90a613958a330f1a6670f621000a9aaed1025b))
48+
49+
50+
### Performance Improvements
51+
52+
* **client:** optimize file structure copying in multipart requests ([f5064f9](https://github.com/scaleapi/scale-agentex-python/commit/f5064f939788d72fedac91436982a8848d0f1f4f))
53+
* **tracing:** larger span batch + linger_ms for high-volume ingest ([#397](https://github.com/scaleapi/scale-agentex-python/issues/397)) ([c0d6330](https://github.com/scaleapi/scale-agentex-python/commit/c0d633052d373daa63e8cefb9339736c0a7855fb))
54+
* **tracing:** skip span-start upsert by default (end-only ingest) ([#394](https://github.com/scaleapi/scale-agentex-python/issues/394)) ([ae1c7ca](https://github.com/scaleapi/scale-agentex-python/commit/ae1c7caa8599f5f82492086d04caae9a6d2b7c7d))
55+
56+
57+
### Chores
58+
59+
* **ci:** upgrade `actions/github-script` ([7c867e8](https://github.com/scaleapi/scale-agentex-python/commit/7c867e8960b51234e5e41a9b8e3129c1dada5680))
60+
* gitignore .claude/scheduled_tasks.lock ([#400](https://github.com/scaleapi/scale-agentex-python/issues/400)) ([e186352](https://github.com/scaleapi/scale-agentex-python/commit/e1863526408451d087568676feafca033a4656c4))
61+
62+
63+
### Documentation
64+
65+
* **api:** clarify name parameter behavior in agent task creation ([ce5af72](https://github.com/scaleapi/scale-agentex-python/commit/ce5af729cc3a0f05905d0cebfe2ef18c16d8563e))
66+
* clarify task name is optional in adk.acp.create_task ([#392](https://github.com/scaleapi/scale-agentex-python/issues/392)) ([bd41d9b](https://github.com/scaleapi/scale-agentex-python/commit/bd41d9bb10f08a354f02f982e6507847c19d2ad9))
67+
68+
69+
### Refactors
70+
71+
* **config:** promote deployment-config models to agentex.config.* ([#396](https://github.com/scaleapi/scale-agentex-python/issues/396)) ([9825dba](https://github.com/scaleapi/scale-agentex-python/commit/9825dba3301754e2a86632214adcc62ff97e28bd))
72+
973
## 0.12.0 (2026-06-02)
1074

1175
Full Changelog: [v0.11.9...v0.12.0](https://github.com/scaleapi/scale-agentex-python/compare/v0.11.9...v0.12.0)

CLAUDE.md

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -63,19 +63,32 @@ The package provides the `agentex` CLI with these main commands:
6363
`SendEventParams`, `CancelTaskParams`, `RPC_SYNC_METHODS`,
6464
`PARAMS_MODEL_BY_METHOD`
6565
- `json_rpc.py` - `JSONRPCRequest`, `JSONRPCResponse`, `JSONRPCError`
66+
- `/src/agentex/config/` - **Canonical** location for deployment/agent
67+
configuration models (manifest shapes). Depends only on `pydantic`, so it is
68+
safe to import from a slim REST-only install.
69+
- `agent_config.py`, `build_config.py`, `deployment_config.py`,
70+
`local_development_config.py`, `environment_config.py`, `agent_manifest.py`
71+
(model classes only), plus their model deps `credentials.py` and
72+
`agent_configs.py`
73+
- yaml loaders / build machinery (`load_environments_config*`,
74+
`load_agent_manifest`, `build_context_manager`, `BuildContextManager`) stay
75+
in `agentex.lib.sdk.config.*` so these models stay slim-safe
6676
- `/src/agentex/lib/` - Custom library code (not modified by code generator)
6777
- `/cli/` - Command-line interface implementation
6878
- `/core/` - Core services, adapters, and temporal workflows
6979
- `/sdk/` - SDK utilities and FastACP implementation
80+
- `config/` - manifest loaders + Docker build machinery (`agent_manifest`'s
81+
`load_agent_manifest`/`build_context_manager`/`BuildContextManager`,
82+
`validation`, `project_config`) plus **back-compat shims** for the model
83+
classes now canonical under `agentex.config.*`
7084
- `/types/` - Custom type definitions
7185
- `acp.py`, `json_rpc.py` - **back-compat shims** re-exporting from
72-
`agentex.protocol.*`. Existing `from agentex.lib.types.{acp,json_rpc}
73-
import ...` keeps working; new code should import from the canonical
74-
`agentex.protocol.*` paths.
75-
- Other modules (`tracing`, `agent_card`, `credentials`, `fastacp`,
76-
`llm_messages`, `converters`, etc.) stay here — they have heavier
77-
transitive deps (temporal, openai-agents, model_utils/yaml) and
78-
aren't slim-safe.
86+
`agentex.protocol.*`. `credentials.py`, `agent_configs.py` - shims
87+
re-exporting from `agentex.config.*`. Existing `from agentex.lib...`
88+
imports keep working; new code should import from the canonical paths.
89+
- Other modules (`tracing`, `agent_card`, `fastacp`, `llm_messages`,
90+
`converters`, etc.) stay here — they have heavier transitive deps
91+
(temporal, openai-agents, model_utils/yaml) and aren't slim-safe.
7992
- `/utils/` - Utility functions
8093
- `/examples/` - Example implementations and tutorials
8194
- `/tests/` - Test suites

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Agentex Python API library
33

44
<!-- prettier-ignore -->
5-
[![PyPI version](https://img.shields.io/pypi/v/agentex-sdk.svg?label=pypi%20(stable))](https://pypi.org/project/agentex-sdk/)
5+
[![PyPI version](https://img.shields.io/pypi/v/agentex-client.svg?label=pypi%20(stable))](https://pypi.org/project/agentex-client/)
66

77
The Agentex Python library provides convenient access to the Agentex REST API from any Python 3.9+
88
application. The library includes type definitions for all request params and response fields,
@@ -18,7 +18,7 @@ The REST API documentation can be found on [docs.gp.scale.com](https://docs.gp.s
1818

1919
```sh
2020
# install from PyPI
21-
pip install agentex-sdk
21+
pip install agentex-client
2222
```
2323

2424
## Usage
@@ -107,7 +107,7 @@ You can enable this by installing `aiohttp`:
107107

108108
```sh
109109
# install from PyPI
110-
pip install agentex-sdk[aiohttp]
110+
pip install agentex-client[aiohttp]
111111
```
112112

113113
Then you can enable it by instantiating the client with `http_client=DefaultAioHttpClient()`:

adk/CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Changelog
2+
3+
## 0.13.0 (2026-06-10)
4+
5+
Full Changelog: [agentex-sdk-v0.12.0...agentex-sdk-v0.13.0](https://github.com/scaleapi/scale-agentex-python/compare/agentex-sdk-v0.12.0...agentex-sdk-v0.13.0)
6+
7+
### ⚠ BREAKING CHANGES
8+
9+
* **packaging:** release tag scheme changes from v* to <component>-v*.
10+
11+
### Features
12+
13+
* **packaging:** introduce slim agentex-client + heavy agentex-sdk split ([bbfb22e](https://github.com/scaleapi/scale-agentex-python/commit/bbfb22eb113dd1f3d5ddf82b4d377895f5ae5466))

0 commit comments

Comments
 (0)