Skip to content

release: 0.11.3#358

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

release: 0.11.3#358
stainless-app[bot] wants to merge 2 commits into
mainfrom
release-please--branches--main--changes--next

Conversation

@stainless-app
Copy link
Copy Markdown
Contributor

@stainless-app stainless-app Bot commented May 18, 2026

Automated Release PR

0.11.3 (2026-05-18)

Full Changelog: v0.11.2...v0.11.3

Features

  • api: add schedule, checkpoints, and deployment endpoints (53b5c36)

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 automated release (v0.11.3) adds three new API resource groups to the Python SDK: agents/deployments, agents/schedules, and a top-level checkpoints resource, all generated from the OpenAPI spec by Stainless.

  • Agents refactor: resources/agents.py is promoted to a sub-package (resources/agents/agents.py) with deployments.py and schedules.py as sibling modules; the __init__.py re-exports everything so existing import paths remain compatible.
  • New sub-resources: DeploymentsResource exposes CRUD + preview_rpc + promote for agent deployments; SchedulesResource exposes CRUD + pause, unpause, and trigger for Temporal-backed schedules.
  • Checkpoints resource: A new top-level CheckpointsResource (sync + async) covering list, delete_thread, get_tuple, put, and put_writes endpoints is wired into both the main client and all raw/streaming response wrapper classes.

Confidence Score: 4/5

Safe to merge; all new endpoints are additive and the restructured agents sub-package preserves backward-compatible import paths via the new init.py.

The change is entirely Stainless-generated and follows established SDK patterns. The only inconsistency found is a spurious agent_id: Required[str] in DeploymentPreviewRpcParams that doesn't match how every other params TypedDict in this PR is structured and doesn't reflect what is actually sent in the request body. Runtime behaviour is unaffected, but the field can mislead static type checkers and SDK consumers who reference the TypedDict directly.

src/agentex/types/agents/deployment_preview_rpc_params.py — agent_id is declared as a required body field but is used only as a path parameter and never included in the request body.

Important Files Changed

Filename Overview
src/agentex/resources/agents/agents.py Agents resource promoted from flat module to sub-package; adds deployments and schedules cached properties; all wrapper classes updated consistently.
src/agentex/resources/agents/deployments.py New DeploymentsResource with create/retrieve/list/delete/preview_rpc/promote; path parameter validation present on all methods; both sync and async variants implemented.
src/agentex/resources/agents/schedules.py New SchedulesResource with create/retrieve/list/delete/pause/trigger/unpause; path parameter validation correct on all methods.
src/agentex/resources/checkpoints.py New CheckpointsResource for LangGraph-style checkpoint CRUD; uses POST for list/get-tuple/put/put-writes which matches the server API design; delete_thread and put_writes correctly cast to NoneType.
src/agentex/types/agents/deployment_preview_rpc_params.py DeploymentPreviewRpcParams TypedDict includes agent_id: Required[str] even though agent_id is a path parameter not sent in the request body; low risk at runtime but misleading for static analysis.
src/agentex/_client.py Checkpoints resource wired into all four client wrapper classes (sync/async × raw/streaming); agents import path updated to sub-package correctly.
tests/api_resources/agents/test_schedules.py Comprehensive test coverage for schedules endpoints; all tests skipped with mock-server reason, consistent with existing test patterns in the repo.
tests/api_resources/agents/test_deployments.py Comprehensive test coverage for deployments endpoints; all tests skipped consistently with repo conventions.
tests/api_resources/test_checkpoints.py Full test coverage for all checkpoint endpoints including path-param validation tests.

Class Diagram

%%{init: {'theme': 'neutral'}}%%
classDiagram
    class Agentex {
        +agents: AgentsResource
        +checkpoints: CheckpointsResource
    }
    class AgentsResource {
        +deployments: DeploymentsResource
        +schedules: SchedulesResource
        +retrieve(agent_id)
        +list()
        +delete(agent_id)
        +rpc(agent_id)
    }
    class DeploymentsResource {
        +create(agent_id, docker_image, ...)
        +retrieve(deployment_id, agent_id)
        +list(agent_id, ...)
        +delete(deployment_id, agent_id)
        +preview_rpc(deployment_id, agent_id, ...)
        +promote(deployment_id, agent_id)
    }
    class SchedulesResource {
        +create(agent_id, name, task_queue, ...)
        +retrieve(schedule_name, agent_id)
        +list(agent_id)
        +delete(schedule_name, agent_id)
        +pause(schedule_name, agent_id)
        +unpause(schedule_name, agent_id)
        +trigger(schedule_name, agent_id)
    }
    class CheckpointsResource {
        +list(thread_id, ...)
        +delete_thread(thread_id)
        +get_tuple(thread_id, ...)
        +put(checkpoint, checkpoint_id, thread_id, ...)
        +put_writes(checkpoint_id, thread_id, writes, ...)
    }
    Agentex --> AgentsResource
    Agentex --> CheckpointsResource
    AgentsResource --> DeploymentsResource
    AgentsResource --> SchedulesResource
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
src/agentex/types/agents/deployment_preview_rpc_params.py:21
**Spurious `agent_id` field in body params TypedDict**

`agent_id: Required[str]` is declared as a required body parameter here, but in `DeploymentsResource.preview_rpc`, `agent_id` is used exclusively as a path parameter and is deliberately excluded from the `maybe_transform` body dict. Every other params TypedDict in this PR (e.g., `DeploymentCreateParams`, `ScheduleCreateParams`) correctly omits path parameters. Mypy/pyright users who instantiate this TypedDict directly will expect to provide `agent_id` in the body, which does not match actual runtime behaviour.

Reviews (1): Last reviewed commit: "release: 0.11.3" | Re-trigger Greptile

Greptile also left 1 inline comment on this PR.

@declan-scale declan-scale changed the title release: 0.12.0 release: 0.11.3 May 18, 2026
@stainless-app
Copy link
Copy Markdown
Contributor Author

stainless-app Bot commented May 18, 2026

Release version edited manually

The Pull Request version has been manually set to 0.11.3 and will be used for the release.

If you instead want to use the version number 0.12.0 generated from conventional commits, just remove the label autorelease: custom version from this Pull Request.

@stainless-app stainless-app Bot force-pushed the release-please--branches--main--changes--next branch from b4a6a9e to 58a77ef Compare May 18, 2026 22:43


class DeploymentPreviewRpcParams(TypedDict, total=False):
agent_id: Required[str]
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Spurious agent_id field in body params TypedDict

agent_id: Required[str] is declared as a required body parameter here, but in DeploymentsResource.preview_rpc, agent_id is used exclusively as a path parameter and is deliberately excluded from the maybe_transform body dict. Every other params TypedDict in this PR (e.g., DeploymentCreateParams, ScheduleCreateParams) correctly omits path parameters. Mypy/pyright users who instantiate this TypedDict directly will expect to provide agent_id in the body, which does not match actual runtime behaviour.

Prompt To Fix With AI
This is a comment left during a code review.
Path: src/agentex/types/agents/deployment_preview_rpc_params.py
Line: 21

Comment:
**Spurious `agent_id` field in body params TypedDict**

`agent_id: Required[str]` is declared as a required body parameter here, but in `DeploymentsResource.preview_rpc`, `agent_id` is used exclusively as a path parameter and is deliberately excluded from the `maybe_transform` body dict. Every other params TypedDict in this PR (e.g., `DeploymentCreateParams`, `ScheduleCreateParams`) correctly omits path parameters. Mypy/pyright users who instantiate this TypedDict directly will expect to provide `agent_id` in the body, which does not match actual runtime behaviour.

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

Fix in Cursor Fix in Claude Code Fix in Codex

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.

0 participants