Skip to content

chore: release main#393

Open
stainless-app[bot] wants to merge 7 commits into
mainfrom
release-please--branches--main--changes--next
Open

chore: release main#393
stainless-app[bot] wants to merge 7 commits into
mainfrom
release-please--branches--main--changes--next

Conversation

@stainless-app

@stainless-app stainless-app Bot commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

✨ Stainless prepared a new release

agentex-client: 0.13.0

0.13.0 (2026-06-09)

Full Changelog: agentex-client-v0.12.0...agentex-client-v0.13.0

⚠ BREAKING CHANGES

  • packaging: release tag scheme changes from v* to -v*.

Features

  • add AgentCard for self-describing agent capabilities (#296) (6509be1)
  • add HTTP-proxy LangGraph checkpointer (19fae2f)
  • add OCI Helm registry support for agent deployments (#255) (5f054b5)
  • adk: allow all ClaudeAgentOptions in run_claude_agent_activity (25bbe24)
  • adk: Revamp run_claude_agent_activity to use more streaming (#309) (0c16595)
  • api: api update (7b1b642)
  • api: api update (710c63f)
  • api: api update (8abce2b)
  • lib: Add task updates to adk (a58747f)
  • openai_agents: expose real usage, response_id, plumb previous_response_id, opt-in prompt_cache_key for stateful responses and prompt caching (#335) (ba5d64b)
  • packaging: introduce slim agentex-client + heavy agentex-sdk split (bbfb22e)
  • pass AGENTEX_DEPLOYMENT_ID in registration metadata (#305) (31af8c6)
  • tracing: Add background queue for async span processing (#303) (3a60add)

Bug Fixes

  • add litellm retry with exponential backoff for rate limit errors (ccdb24a)
  • adk: fix to queue drain (#327) (a862a06)
  • api: remove agent_id and task_id parameters from states update method (a7cbaae)
  • client: preserve hardcoded query params when merging with user params (d2c4788)
  • ensure file data are only sent as 1 parameter (48fae27)
  • render .env.example template in agentex init (#351) (6092595)
  • Temporal Union deserialization causing tool_response messages to be lost (79ef4dd)
  • temporal: allowing-ACP-temporal-telemetry (9b44eb0)
  • tests: repair test_streaming_model so all 28 tests run and pass (#334) (7e5e69c)
  • tracing: Fix memory leak in SGP tracing processors (#302) (f43dac4)

Performance Improvements

  • client: optimize file structure copying in multipart requests (f5064f9)

Chores

  • ci: upgrade actions/github-script (7c867e8)

Documentation

  • api: clarify name parameter behavior in agent task creation (ce5af72)
  • clarify task name is optional in adk.acp.create_task (#392) (bd41d9b)
agentex-sdk: 0.13.0

0.13.0 (2026-06-09)

Full Changelog: agentex-sdk-v0.12.0...agentex-sdk-v0.13.0

⚠ BREAKING CHANGES

  • packaging: release tag scheme changes from v* to -v*.

Features

  • packaging: introduce slim agentex-client + heavy agentex-sdk split (bbfb22e)

This pull request is managed by Stainless's GitHub App.

The semver version number is based on included commit messages. Alternatively, you can manually set the version number in the title of this pull request.

For a better experience, it is recommended to use either rebase-merge or squash-merge when merging this pull request.

🔗 Stainless website
📚 Read the docs
🙋 Reach out for help or questions

Greptile Summary

This is the v0.13.0 release PR for both agentex-client (slim REST client, formerly agentex-sdk) and agentex-sdk (heavy ADK overlay, new in adk/), introducing a slim/heavy package split. The API surface is updated — states.update drops the now-redundant agent_id/task_id body params, agents.register_build drops principal_context, and task name field docstrings gain explicit get-or-create semantics.

  • Slim/heavy split: The root package is renamed agentex-client (6 bare-client deps); the heavy ADK overlay moves to adk/pyproject.toml as agentex-sdk with all the Temporal, LiteLLM, FastAPI, etc. dependencies. A new hatch_build.py hook and scripts/check-slim-deps guard ensure the boundary stays clean.
  • API cleanup: agent_id and task_id removed from states.update body params (both in the type definition and internal StateService call); principal_context removed from agent register-build.
  • Release tooling: bin/publish-pypi updated to publish both wheels separately with per-package PyPI tokens; release-please-config.json updated to tag both components.

Confidence Score: 4/5

Safe to merge on the code side, but the publish workflow will fail for the new agentex-client package unless AGENTEX_CLIENT_PYPI_TOKEN is added to repo secrets first.

The slim/heavy package split, API cleanup, and tooling changes are all well-structured and internally consistent. The one gap is that bin/publish-pypi falls back to the agentex-sdk project-scoped token when AGENTEX_CLIENT_PYPI_TOKEN is missing, which will block the agentex-client PyPI publication and — because of set -eux — prevent the agentex-sdk wheel from publishing too.

bin/publish-pypi and .github/workflows/publish-pypi.yml — the AGENTEX_CLIENT_PYPI_TOKEN secret must be in place before the publish workflow is triggered.

Important Files Changed

Filename Overview
bin/publish-pypi Publishes both wheels sequentially; slim-first ordering is correct, but agentex-client publish falls back to the SDK's project-scoped PyPI token when AGENTEX_CLIENT_PYPI_TOKEN is unset, which will fail on first publish.
.github/workflows/publish-pypi.yml Exposes both PyPI token secrets; AGENTEX_CLIENT_PYPI_TOKEN is explicitly flagged as not yet created, making the fallback token (AGENTEX_PYPI_TOKEN, scoped to agentex-sdk) incorrect for publishing the new agentex-client package.
adk/pyproject.toml New heavy agentex-sdk package definition; floor-only agentex-client pin is documented and intentional; Python >= 3.12 requirement correctly documented.
adk/hatch_build.py Custom hatchling build hook that force-includes agentex/lib/* while pruning test files; the _MIN_FILES=320 floor guards against accidental empty wheel builds.
scripts/check-slim-deps New CI guardrail ensuring the slim pyproject.toml stays at exactly 6 bare-client deps; will catch Stainless codegen re-adding ADK deps.
src/agentex/resources/states.py Removes agent_id and task_id from states.update signature and request body, aligned with API change.
src/agentex/types/state_update_params.py Removes agent_id and task_id as Required fields; state remains the only required field.
pyproject.toml Renamed from agentex-sdk to agentex-client; trimmed to 6 bare-client deps; added uv workspace config to include the adk/ member.
tests/test_function_tool.py Fixes import path from src.agentex to agentex (installed package); removes stale type: ignore comment.

Sequence Diagram

sequenceDiagram
    participant GHA as GitHub Actions
    participant script as bin/publish-pypi
    participant uv as uv build
    participant pypi as PyPI

    GHA->>script: bash ./bin/publish-pypi
    script->>uv: uv build --all-packages --wheel
    uv-->>script: agentex_client-0.13.0.whl + agentex_sdk-0.13.0.whl

    Note over script,pypi: Slim-first ordering
    script->>pypi: "publish agentex_client-*.whl"
    Note over script,pypi: token = AGENTEX_CLIENT_PYPI_TOKEN ?: PYPI_TOKEN
    pypi-->>script: 200 OK / 400 already-exists

    script->>pypi: "publish agentex_sdk-*.whl"
    Note over script,pypi: token = AGENTEX_PYPI_TOKEN ?: PYPI_TOKEN
    pypi-->>script: 200 OK / 400 already-exists
Loading

Fix All in Cursor Fix All in Claude Code Fix All in Codex

Prompt To Fix All With AI
Fix the following 1 code review issue. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 1
bin/publish-pypi:12-13
**`agentex-client` publish will fail until `AGENTEX_CLIENT_PYPI_TOKEN` is configured**

When `AGENTEX_CLIENT_PYPI_TOKEN` is absent from repo secrets (the workflow comment explicitly notes it hasn't been created yet), this line resolves to `${PYPI_TOKEN}` — which is `secrets.AGENTEX_PYPI_TOKEN`, a project-scoped token for `agentex-sdk`. PyPI project-scoped tokens cannot publish to a different project, so the `agentex-client` publish will get a 403 and abort the release, leaving the heavy `agentex-sdk` wheel unpublished (due to `set -eux`). The `AGENTEX_CLIENT_PYPI_TOKEN` secret (either a global upload token or one scoped to the new `agentex-client` project) must be added to repo secrets before this release workflow runs.

Reviews (6): Last reviewed commit: "chore: release main" | Re-trigger Greptile

Greptile also left 1 inline comment on this PR.

@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 843110e to 9925a2e Compare June 3, 2026 20:02
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 9925a2e to d16eff0 Compare June 5, 2026 15:26
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from d16eff0 to fc30981 Compare June 5, 2026 17:56
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from fc30981 to 170f0c5 Compare June 9, 2026 00:27
@stainless-app stainless-app Bot changed the title release: 0.12.1 release: 0.13.0 Jun 9, 2026
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 170f0c5 to 8714c53 Compare June 9, 2026 00:28
…plit

Publishes the existing wheel as two namespace-sharing packages so REST-only
consumers install just the Stainless client without the ADK runtime.

- agentex-client (slim, root pyproject): Stainless client + types +
  protocol; 6 deps; requires-python >=3.11; wheel excludes src/agentex/lib/**.
- agentex-sdk (heavy, adk/): the ADK overlay (agentex/lib/*) via a hatchling
  build hook that force-includes ../src/agentex/lib and prunes test files
  (force-include ignores `exclude`, hatchling #1395); pins agentex-client
  floor-only; requires-python >=3.12.

Heavy depends on slim, so existing `pip install agentex-sdk` consumers are
unchanged. Both contribute disjoint files to the agentex.* namespace.

uv workspace wiring (this repo is uv-based post rye→uv migration):
- [tool.uv.workspace] members = ["adk"] + [tool.uv.sources]
  agentex-client = { workspace = true } so dev resolves the ADK's client
  dep to the local root; the published heavy wheel still pins the PyPI version.
- CI + scripts/{bootstrap,test} sync `--all-packages` so the ADK member's deps
  install for lint/test; both wheels build via `uv build --all-packages --wheel`
  (--wheel load-bearing — the heavy's cross-dir force-include can't go via sdist).

Release/publish wiring:
- release-please two-component mode (`.` + `adk/`), include-component-in-tag.
- bin/publish-pypi publishes slim before heavy via uv; `--check-url` makes the
  per-component-tag double-trigger idempotent. Dual tokens, PYPI_TOKEN fallback.
- scripts/check-slim-deps CI guardrail fails if the slim dep set drifts from
  the 6-dep base (catches Stainless re-adding ADK deps).

- adk: drop the removed `task_id`/`agent_id` kwargs from the `states.update()`
  call (state.py) to match the client API — next dropped them in a7cbaae.

BREAKING CHANGE: release tag scheme changes from v* to <component>-v*.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 8714c53 to 5f4992c Compare June 9, 2026 05:08
@stainless-app stainless-app Bot changed the title release: 0.13.0 chore: release main Jun 9, 2026
@socket-security

socket-security Bot commented Jun 9, 2026

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedpypi/​agentex-sdk@​0.11.9 ⏵ 0.12.090100100100100
Addedpypi/​agentex-client@​0.12.099100100100100

View full report

@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from 5f4992c to 6673f0c Compare June 9, 2026 05:09
Comment thread bin/publish-pypi
Comment on lines +12 to +13
# --check-url makes the per-component-tag double-trigger idempotent.
uv publish --check-url https://pypi.org/simple/ --token="${AGENTEX_CLIENT_PYPI_TOKEN:-$PYPI_TOKEN}" dist/agentex_client-*.whl

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 agentex-client publish will fail until AGENTEX_CLIENT_PYPI_TOKEN is configured

When AGENTEX_CLIENT_PYPI_TOKEN is absent from repo secrets (the workflow comment explicitly notes it hasn't been created yet), this line resolves to ${PYPI_TOKEN} — which is secrets.AGENTEX_PYPI_TOKEN, a project-scoped token for agentex-sdk. PyPI project-scoped tokens cannot publish to a different project, so the agentex-client publish will get a 403 and abort the release, leaving the heavy agentex-sdk wheel unpublished (due to set -eux). The AGENTEX_CLIENT_PYPI_TOKEN secret (either a global upload token or one scoped to the new agentex-client project) must be added to repo secrets before this release workflow runs.

Prompt To Fix With AI
This is a comment left during a code review.
Path: bin/publish-pypi
Line: 12-13

Comment:
**`agentex-client` publish will fail until `AGENTEX_CLIENT_PYPI_TOKEN` is configured**

When `AGENTEX_CLIENT_PYPI_TOKEN` is absent from repo secrets (the workflow comment explicitly notes it hasn't been created yet), this line resolves to `${PYPI_TOKEN}` — which is `secrets.AGENTEX_PYPI_TOKEN`, a project-scoped token for `agentex-sdk`. PyPI project-scoped tokens cannot publish to a different project, so the `agentex-client` publish will get a 403 and abort the release, leaving the heavy `agentex-sdk` wheel unpublished (due to `set -eux`). The `AGENTEX_CLIENT_PYPI_TOKEN` secret (either a global upload token or one scoped to the new `agentex-client` project) must be added to repo secrets before this release workflow runs.

How can I resolve this? If you propose a fix, please make it concise.

Fix in Cursor Fix in Claude Code Fix in Codex

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AGENTEX_CLIENT_PYPI_TOKEN has been added to repo secrets. The comment is stale.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants