chore: release main#457
Merged
stainless-app[bot] merged 29 commits intoJul 10, 2026
Merged
Conversation
… delivery adapters, emitter) (#412)
…gModel (#355) Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com> Co-authored-by: Declan Brady <declan.brady@scale.com> Co-authored-by: Nitesh Dhanpal <NiteshDhanpal@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
…quivalence [AGX1-373] (#414)
…est) (#438) Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
…5f2fe01d48613aaa6fcf--merge-conflict' into next
7f73c97 to
e6d57e8
Compare
e90258c to
942191a
Compare
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
add stable schedule handle endpoints
942191a to
536bd0a
Compare
536bd0a to
f72146b
Compare
f72146b to
a6e3f7f
Compare
a6e3f7f to
0b1126b
Compare
0b1126b to
1f342fb
Compare
adding skip and unskip endpoints
1f342fb to
80b5b82
Compare
jromualdez-scale
approved these changes
Jul 10, 2026
Contributor
Author
Contributor
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
✨ Stainless prepared a new release
agentex-client: 0.18.0
0.18.0 (2026-07-10)
Full Changelog: agentex-client-v0.17.0...agentex-client-v0.18.0
Features
Bug Fixes
Chores
agentex-sdk: 0.18.0
0.18.0 (2026-07-10)
Full Changelog: agentex-sdk-v0.17.0...agentex-sdk-v0.18.0
Bug Fixes
Chores
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 a Stainless-generated SDK release (v0.18.0) for both
agentex-clientandagentex-sdk. The schedule resource has been substantially overhauled to align with a revamped backend API, and a critical runtime compatibility cap has been applied to theopenaidependency.update,delete,delete_by_name,pause_by_name,resume_by_name,retrieve_by_name,skip,unskip,trigger_by_name,update_by_name);unpauserenamed toresume;ScheduleCreateParamsnow requiresinitial_input(content/author/type) instead oftask_queue/workflow_name;ScheduleListResponse.schedulesrenamed torun_schedules;schedule_idfield renamed toidacross response models;statemade optional across all response types;skipped_action_timesfield added.adk/pyproject.tomltightensopenaifrom>=2.2,<3to>=2.2,<2.45to prevent a pydanticValidationErrorin everyRunner.run_streamedcall caused byopenai 2.45.0introducingInputTokensDetails.cache_write_tokensas a required field whileopenai-agents 0.14.xstill instantiates it without that field. The comment explains the ceiling is temporary untilopenai-agentsships a fix.Confidence Score: 5/5
Safe to merge — all changes are generated from the OpenAPI spec; the openai cap fix prevents a runtime crash and is well-documented.
The schedule API overhaul is a large but internally consistent set of generated changes: new endpoints follow the same patterns as existing ones, input validation is present on every method, and async mirrors sync faithfully. The most impactful change — the openai version ceiling tightened to <2.45 — directly prevents a pydantic ValidationError on every streaming run and includes a clear comment explaining the root cause and the temporary nature of the fix. The field renames (schedule_id → id, schedules → run_schedules) are intentional breaking changes tracking a backend API update rather than code mistakes.
No files require special attention. The generated schedule types and resource are consistent, and the openai cap in adk/pyproject.toml is correct and well-motivated.
Important Files Changed
Sequence Diagram
%%{init: {'theme': 'neutral'}}%% sequenceDiagram participant C as Client participant S as SchedulesResource participant API as Agentex API Note over C,API: ID-based endpoints C->>S: create(agent_id, initial_input, name, ...) S->>API: "POST /agents/{agent_id}/schedules" API-->>C: "ScheduleCreateResponse {id, name, state?, ...}" C->>S: update(schedule_id, agent_id, ...) S->>API: "PATCH /agents/{agent_id}/schedules/{schedule_id}" API-->>C: ScheduleUpdateResponse C->>S: pause(schedule_id, agent_id, note?) S->>API: "POST /agents/{agent_id}/schedules/{schedule_id}/pause" API-->>C: SchedulePauseResponse C->>S: resume(schedule_id, agent_id, note?) S->>API: "POST /agents/{agent_id}/schedules/{schedule_id}/resume" API-->>C: ScheduleResumeResponse C->>S: skip(schedule_id, agent_id, scheduled_time) S->>API: "POST /agents/{agent_id}/schedules/{schedule_id}/skip" API-->>C: ScheduleSkipResponse C->>S: delete(schedule_id, agent_id) S->>API: "DELETE /agents/{agent_id}/schedules/{schedule_id}" API-->>C: DeleteResponse Note over C,API: Name-based endpoints (new stable-handle surface) C->>S: retrieve_by_name(name, agent_id) S->>API: "GET /agents/{agent_id}/schedules/name/{name}" API-->>C: ScheduleRetrieveByNameResponse C->>S: pause_by_name(name, agent_id, note?) S->>API: "POST /agents/{agent_id}/schedules/name/{name}/pause" API-->>C: SchedulePauseByNameResponse C->>S: trigger_by_name(name, agent_id) S->>API: "POST /agents/{agent_id}/schedules/name/{name}/trigger" API-->>C: ScheduleTriggerByNameResponse%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%% sequenceDiagram participant C as Client participant S as SchedulesResource participant API as Agentex API Note over C,API: ID-based endpoints C->>S: create(agent_id, initial_input, name, ...) S->>API: "POST /agents/{agent_id}/schedules" API-->>C: "ScheduleCreateResponse {id, name, state?, ...}" C->>S: update(schedule_id, agent_id, ...) S->>API: "PATCH /agents/{agent_id}/schedules/{schedule_id}" API-->>C: ScheduleUpdateResponse C->>S: pause(schedule_id, agent_id, note?) S->>API: "POST /agents/{agent_id}/schedules/{schedule_id}/pause" API-->>C: SchedulePauseResponse C->>S: resume(schedule_id, agent_id, note?) S->>API: "POST /agents/{agent_id}/schedules/{schedule_id}/resume" API-->>C: ScheduleResumeResponse C->>S: skip(schedule_id, agent_id, scheduled_time) S->>API: "POST /agents/{agent_id}/schedules/{schedule_id}/skip" API-->>C: ScheduleSkipResponse C->>S: delete(schedule_id, agent_id) S->>API: "DELETE /agents/{agent_id}/schedules/{schedule_id}" API-->>C: DeleteResponse Note over C,API: Name-based endpoints (new stable-handle surface) C->>S: retrieve_by_name(name, agent_id) S->>API: "GET /agents/{agent_id}/schedules/name/{name}" API-->>C: ScheduleRetrieveByNameResponse C->>S: pause_by_name(name, agent_id, note?) S->>API: "POST /agents/{agent_id}/schedules/name/{name}/pause" API-->>C: SchedulePauseByNameResponse C->>S: trigger_by_name(name, agent_id) S->>API: "POST /agents/{agent_id}/schedules/name/{name}/trigger" API-->>C: ScheduleTriggerByNameResponseReviews (8): Last reviewed commit: "chore: release main" | Re-trigger Greptile