From 23c1b6b8dc60f16c5e19a1aab68d244d286caffc Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 17 Jul 2026 17:23:27 +0000 Subject: [PATCH 1/4] feat(stlc): configurable CI runner and private-production-repo support in workflow templates --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8c96ca356..29e05db55 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -18,7 +18,7 @@ jobs: lint: timeout-minutes: 10 name: lint - runs-on: ${{ github.repository == 'stainless-sdks/agentex-sdk-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} + runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata') steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 @@ -44,7 +44,7 @@ jobs: permissions: contents: read id-token: write - runs-on: ${{ github.repository == 'stainless-sdks/agentex-sdk-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} + runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 @@ -87,7 +87,7 @@ jobs: test: timeout-minutes: 10 name: test - runs-on: ${{ github.repository == 'stainless-sdks/agentex-sdk-python' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} + runs-on: ${{ startsWith(github.repository, 'stainless-sdks/') && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} if: github.event_name == 'push' || github.event.pull_request.head.repo.fork steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 From 3c7015e71020006c3436e02174dbda799011e7b5 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 21 Jul 2026 18:29:15 +0000 Subject: [PATCH 2/4] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 2764fd11e..f4502e84d 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 75 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/sgp/agentex-sdk-b2df5f506330ad5fba5a0d518ab8a4bcf876e8c3684a4fe0d0cc5102fd9c569e.yml -openapi_spec_hash: 132e9efdb0535d9594abadf799431cf5 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/sgp/agentex-sdk-9870df3e850062e752fa6826f36858bbc42399d6013dd469b03e9b1a6120c881.yml +openapi_spec_hash: d5527adbbde955718d32c65dfe9223ee config_hash: 593e89b291976a5e84e4c3c3f8324354 From 199fd6a633bc82626a4629ee1ac52a40e6f10271 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 21 Jul 2026 23:06:21 +0000 Subject: [PATCH 3/4] feat(api): add include_live parameter to schedules list method --- .stats.yml | 4 ++-- src/agentex/resources/agents/schedules.py | 22 +++++++++++++++++-- .../types/agents/schedule_create_response.py | 6 +++++ .../types/agents/schedule_list_params.py | 3 +++ .../types/agents/schedule_list_response.py | 6 +++++ .../agents/schedule_pause_by_name_response.py | 6 +++++ .../types/agents/schedule_pause_response.py | 6 +++++ .../schedule_resume_by_name_response.py | 6 +++++ .../types/agents/schedule_resume_response.py | 6 +++++ .../schedule_retrieve_by_name_response.py | 6 +++++ .../agents/schedule_retrieve_response.py | 6 +++++ .../types/agents/schedule_skip_response.py | 6 +++++ .../schedule_trigger_by_name_response.py | 6 +++++ .../types/agents/schedule_trigger_response.py | 6 +++++ .../types/agents/schedule_unskip_response.py | 6 +++++ .../schedule_update_by_name_response.py | 6 +++++ .../types/agents/schedule_update_response.py | 6 +++++ tests/api_resources/agents/test_schedules.py | 2 ++ 18 files changed, 111 insertions(+), 4 deletions(-) diff --git a/.stats.yml b/.stats.yml index f4502e84d..3381aa342 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 75 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/sgp/agentex-sdk-9870df3e850062e752fa6826f36858bbc42399d6013dd469b03e9b1a6120c881.yml -openapi_spec_hash: d5527adbbde955718d32c65dfe9223ee +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/sgp/agentex-sdk-132fed556e527565b396688a09e873b51ae42c6ad11757d49fc5ef1f2091c943.yml +openapi_spec_hash: 0c1d8518f9f60bb8dc325e26fe1ebadc config_hash: 593e89b291976a5e84e4c3c3f8324354 diff --git a/src/agentex/resources/agents/schedules.py b/src/agentex/resources/agents/schedules.py index e6576b6d7..1750c513b 100644 --- a/src/agentex/resources/agents/schedules.py +++ b/src/agentex/resources/agents/schedules.py @@ -277,6 +277,7 @@ def list( self, agent_id: str, *, + include_live: bool | Omit = omit, limit: int | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. @@ -289,6 +290,8 @@ def list( List run schedules for an agent. Args: + include_live: Include live Temporal state and upcoming action times. + extra_headers: Send extra headers extra_query: Add additional query parameters to the request @@ -306,7 +309,13 @@ def list( extra_query=extra_query, extra_body=extra_body, timeout=timeout, - query=maybe_transform({"limit": limit}, schedule_list_params.ScheduleListParams), + query=maybe_transform( + { + "include_live": include_live, + "limit": limit, + }, + schedule_list_params.ScheduleListParams, + ), ), cast_to=ScheduleListResponse, ) @@ -1056,6 +1065,7 @@ async def list( self, agent_id: str, *, + include_live: bool | Omit = omit, limit: int | Omit = omit, # Use the following arguments if you need to pass additional parameters to the API that aren't available via kwargs. # The extra values given here take precedence over values defined on the client or passed to this method. @@ -1068,6 +1078,8 @@ async def list( List run schedules for an agent. Args: + include_live: Include live Temporal state and upcoming action times. + extra_headers: Send extra headers extra_query: Add additional query parameters to the request @@ -1085,7 +1097,13 @@ async def list( extra_query=extra_query, extra_body=extra_body, timeout=timeout, - query=await async_maybe_transform({"limit": limit}, schedule_list_params.ScheduleListParams), + query=await async_maybe_transform( + { + "include_live": include_live, + "limit": limit, + }, + schedule_list_params.ScheduleListParams, + ), ), cast_to=ScheduleListResponse, ) diff --git a/src/agentex/types/agents/schedule_create_response.py b/src/agentex/types/agents/schedule_create_response.py index 4440629a2..9902bb832 100644 --- a/src/agentex/types/agents/schedule_create_response.py +++ b/src/agentex/types/agents/schedule_create_response.py @@ -86,6 +86,12 @@ class ScheduleCreateResponse(BaseModel): last_action_time: Optional[datetime] = None """When the schedule last fired.""" + live_data_available: Optional[bool] = None + """Whether requested live Temporal fields were retrieved successfully. + + Null when live enrichment was not requested. + """ + next_action_times: Optional[List[datetime]] = None """Upcoming scheduled fire times.""" diff --git a/src/agentex/types/agents/schedule_list_params.py b/src/agentex/types/agents/schedule_list_params.py index 8a1d5561a..6e767e207 100644 --- a/src/agentex/types/agents/schedule_list_params.py +++ b/src/agentex/types/agents/schedule_list_params.py @@ -8,4 +8,7 @@ class ScheduleListParams(TypedDict, total=False): + include_live: bool + """Include live Temporal state and upcoming action times.""" + limit: int diff --git a/src/agentex/types/agents/schedule_list_response.py b/src/agentex/types/agents/schedule_list_response.py index 182bd53eb..faa19527f 100644 --- a/src/agentex/types/agents/schedule_list_response.py +++ b/src/agentex/types/agents/schedule_list_response.py @@ -86,6 +86,12 @@ class RunSchedule(BaseModel): last_action_time: Optional[datetime] = None """When the schedule last fired.""" + live_data_available: Optional[bool] = None + """Whether requested live Temporal fields were retrieved successfully. + + Null when live enrichment was not requested. + """ + next_action_times: Optional[List[datetime]] = None """Upcoming scheduled fire times.""" diff --git a/src/agentex/types/agents/schedule_pause_by_name_response.py b/src/agentex/types/agents/schedule_pause_by_name_response.py index 4c0ce1061..61232fdde 100644 --- a/src/agentex/types/agents/schedule_pause_by_name_response.py +++ b/src/agentex/types/agents/schedule_pause_by_name_response.py @@ -86,6 +86,12 @@ class SchedulePauseByNameResponse(BaseModel): last_action_time: Optional[datetime] = None """When the schedule last fired.""" + live_data_available: Optional[bool] = None + """Whether requested live Temporal fields were retrieved successfully. + + Null when live enrichment was not requested. + """ + next_action_times: Optional[List[datetime]] = None """Upcoming scheduled fire times.""" diff --git a/src/agentex/types/agents/schedule_pause_response.py b/src/agentex/types/agents/schedule_pause_response.py index c14c83443..16e4a85ce 100644 --- a/src/agentex/types/agents/schedule_pause_response.py +++ b/src/agentex/types/agents/schedule_pause_response.py @@ -86,6 +86,12 @@ class SchedulePauseResponse(BaseModel): last_action_time: Optional[datetime] = None """When the schedule last fired.""" + live_data_available: Optional[bool] = None + """Whether requested live Temporal fields were retrieved successfully. + + Null when live enrichment was not requested. + """ + next_action_times: Optional[List[datetime]] = None """Upcoming scheduled fire times.""" diff --git a/src/agentex/types/agents/schedule_resume_by_name_response.py b/src/agentex/types/agents/schedule_resume_by_name_response.py index 6bdbcd329..5999059c0 100644 --- a/src/agentex/types/agents/schedule_resume_by_name_response.py +++ b/src/agentex/types/agents/schedule_resume_by_name_response.py @@ -86,6 +86,12 @@ class ScheduleResumeByNameResponse(BaseModel): last_action_time: Optional[datetime] = None """When the schedule last fired.""" + live_data_available: Optional[bool] = None + """Whether requested live Temporal fields were retrieved successfully. + + Null when live enrichment was not requested. + """ + next_action_times: Optional[List[datetime]] = None """Upcoming scheduled fire times.""" diff --git a/src/agentex/types/agents/schedule_resume_response.py b/src/agentex/types/agents/schedule_resume_response.py index 907792401..70e6e2aa0 100644 --- a/src/agentex/types/agents/schedule_resume_response.py +++ b/src/agentex/types/agents/schedule_resume_response.py @@ -86,6 +86,12 @@ class ScheduleResumeResponse(BaseModel): last_action_time: Optional[datetime] = None """When the schedule last fired.""" + live_data_available: Optional[bool] = None + """Whether requested live Temporal fields were retrieved successfully. + + Null when live enrichment was not requested. + """ + next_action_times: Optional[List[datetime]] = None """Upcoming scheduled fire times.""" diff --git a/src/agentex/types/agents/schedule_retrieve_by_name_response.py b/src/agentex/types/agents/schedule_retrieve_by_name_response.py index 31663f41a..7b21ebb0a 100644 --- a/src/agentex/types/agents/schedule_retrieve_by_name_response.py +++ b/src/agentex/types/agents/schedule_retrieve_by_name_response.py @@ -86,6 +86,12 @@ class ScheduleRetrieveByNameResponse(BaseModel): last_action_time: Optional[datetime] = None """When the schedule last fired.""" + live_data_available: Optional[bool] = None + """Whether requested live Temporal fields were retrieved successfully. + + Null when live enrichment was not requested. + """ + next_action_times: Optional[List[datetime]] = None """Upcoming scheduled fire times.""" diff --git a/src/agentex/types/agents/schedule_retrieve_response.py b/src/agentex/types/agents/schedule_retrieve_response.py index 20375347e..374ac635f 100644 --- a/src/agentex/types/agents/schedule_retrieve_response.py +++ b/src/agentex/types/agents/schedule_retrieve_response.py @@ -86,6 +86,12 @@ class ScheduleRetrieveResponse(BaseModel): last_action_time: Optional[datetime] = None """When the schedule last fired.""" + live_data_available: Optional[bool] = None + """Whether requested live Temporal fields were retrieved successfully. + + Null when live enrichment was not requested. + """ + next_action_times: Optional[List[datetime]] = None """Upcoming scheduled fire times.""" diff --git a/src/agentex/types/agents/schedule_skip_response.py b/src/agentex/types/agents/schedule_skip_response.py index f4daf514b..f97216e0b 100644 --- a/src/agentex/types/agents/schedule_skip_response.py +++ b/src/agentex/types/agents/schedule_skip_response.py @@ -86,6 +86,12 @@ class ScheduleSkipResponse(BaseModel): last_action_time: Optional[datetime] = None """When the schedule last fired.""" + live_data_available: Optional[bool] = None + """Whether requested live Temporal fields were retrieved successfully. + + Null when live enrichment was not requested. + """ + next_action_times: Optional[List[datetime]] = None """Upcoming scheduled fire times.""" diff --git a/src/agentex/types/agents/schedule_trigger_by_name_response.py b/src/agentex/types/agents/schedule_trigger_by_name_response.py index 036cf72f3..4006b7ad7 100644 --- a/src/agentex/types/agents/schedule_trigger_by_name_response.py +++ b/src/agentex/types/agents/schedule_trigger_by_name_response.py @@ -86,6 +86,12 @@ class ScheduleTriggerByNameResponse(BaseModel): last_action_time: Optional[datetime] = None """When the schedule last fired.""" + live_data_available: Optional[bool] = None + """Whether requested live Temporal fields were retrieved successfully. + + Null when live enrichment was not requested. + """ + next_action_times: Optional[List[datetime]] = None """Upcoming scheduled fire times.""" diff --git a/src/agentex/types/agents/schedule_trigger_response.py b/src/agentex/types/agents/schedule_trigger_response.py index 22695f9c0..dbff651b0 100644 --- a/src/agentex/types/agents/schedule_trigger_response.py +++ b/src/agentex/types/agents/schedule_trigger_response.py @@ -86,6 +86,12 @@ class ScheduleTriggerResponse(BaseModel): last_action_time: Optional[datetime] = None """When the schedule last fired.""" + live_data_available: Optional[bool] = None + """Whether requested live Temporal fields were retrieved successfully. + + Null when live enrichment was not requested. + """ + next_action_times: Optional[List[datetime]] = None """Upcoming scheduled fire times.""" diff --git a/src/agentex/types/agents/schedule_unskip_response.py b/src/agentex/types/agents/schedule_unskip_response.py index e25f31bbe..96f624220 100644 --- a/src/agentex/types/agents/schedule_unskip_response.py +++ b/src/agentex/types/agents/schedule_unskip_response.py @@ -86,6 +86,12 @@ class ScheduleUnskipResponse(BaseModel): last_action_time: Optional[datetime] = None """When the schedule last fired.""" + live_data_available: Optional[bool] = None + """Whether requested live Temporal fields were retrieved successfully. + + Null when live enrichment was not requested. + """ + next_action_times: Optional[List[datetime]] = None """Upcoming scheduled fire times.""" diff --git a/src/agentex/types/agents/schedule_update_by_name_response.py b/src/agentex/types/agents/schedule_update_by_name_response.py index 8e8fd2112..e2905593c 100644 --- a/src/agentex/types/agents/schedule_update_by_name_response.py +++ b/src/agentex/types/agents/schedule_update_by_name_response.py @@ -86,6 +86,12 @@ class ScheduleUpdateByNameResponse(BaseModel): last_action_time: Optional[datetime] = None """When the schedule last fired.""" + live_data_available: Optional[bool] = None + """Whether requested live Temporal fields were retrieved successfully. + + Null when live enrichment was not requested. + """ + next_action_times: Optional[List[datetime]] = None """Upcoming scheduled fire times.""" diff --git a/src/agentex/types/agents/schedule_update_response.py b/src/agentex/types/agents/schedule_update_response.py index a27701d21..a7416e776 100644 --- a/src/agentex/types/agents/schedule_update_response.py +++ b/src/agentex/types/agents/schedule_update_response.py @@ -86,6 +86,12 @@ class ScheduleUpdateResponse(BaseModel): last_action_time: Optional[datetime] = None """When the schedule last fired.""" + live_data_available: Optional[bool] = None + """Whether requested live Temporal fields were retrieved successfully. + + Null when live enrichment was not requested. + """ + next_action_times: Optional[List[datetime]] = None """Upcoming scheduled fire times.""" diff --git a/tests/api_resources/agents/test_schedules.py b/tests/api_resources/agents/test_schedules.py index 362d32f77..8b281ee31 100644 --- a/tests/api_resources/agents/test_schedules.py +++ b/tests/api_resources/agents/test_schedules.py @@ -249,6 +249,7 @@ def test_method_list(self, client: Agentex) -> None: def test_method_list_with_all_params(self, client: Agentex) -> None: schedule = client.agents.schedules.list( agent_id="agent_id", + include_live=True, limit=1, ) assert_matches_type(ScheduleListResponse, schedule, path=["response"]) @@ -1205,6 +1206,7 @@ async def test_method_list(self, async_client: AsyncAgentex) -> None: async def test_method_list_with_all_params(self, async_client: AsyncAgentex) -> None: schedule = await async_client.agents.schedules.list( agent_id="agent_id", + include_live=True, limit=1, ) assert_matches_type(ScheduleListResponse, schedule, path=["response"]) From 74d4c4080f81a2439b9de3d9d933c516bf1b739c Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 21 Jul 2026 23:06:48 +0000 Subject: [PATCH 4/4] chore: release main --- .release-please-manifest.json | 4 ++-- CHANGELOG.md | 9 +++++++++ adk/CHANGELOG.md | 8 ++++++++ adk/pyproject.toml | 2 +- pyproject.toml | 2 +- src/agentex/_version.py | 2 +- 6 files changed, 22 insertions(+), 5 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index fa12be2ab..f47357f55 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,4 +1,4 @@ { - ".": "0.20.0", - "adk": "0.20.0" + ".": "0.21.0", + "adk": "0.21.0" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 3fd212e16..bb21c5d02 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,15 @@ * **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``. +## 0.21.0 (2026-07-21) + +Full Changelog: [agentex-client-v0.20.0...agentex-client-v0.21.0](https://github.com/scaleapi/scale-agentex-python/compare/agentex-client-v0.20.0...agentex-client-v0.21.0) + +### Features + +* **api:** add include_live parameter to schedules list method ([199fd6a](https://github.com/scaleapi/scale-agentex-python/commit/199fd6a633bc82626a4629ee1ac52a40e6f10271)) +* **stlc:** configurable CI runner and private-production-repo support in workflow templates ([23c1b6b](https://github.com/scaleapi/scale-agentex-python/commit/23c1b6b8dc60f16c5e19a1aab68d244d286caffc)) + ## 0.20.0 (2026-07-16) Full Changelog: [agentex-client-v0.19.0...agentex-client-v0.20.0](https://github.com/scaleapi/scale-agentex-python/compare/agentex-client-v0.19.0...agentex-client-v0.20.0) diff --git a/adk/CHANGELOG.md b/adk/CHANGELOG.md index 76e5d8779..50cbaf332 100644 --- a/adk/CHANGELOG.md +++ b/adk/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## 0.21.0 (2026-07-21) + +Full Changelog: [agentex-sdk-v0.20.0...agentex-sdk-v0.21.0](https://github.com/scaleapi/scale-agentex-python/compare/agentex-sdk-v0.20.0...agentex-sdk-v0.21.0) + +### Chores + +* **agentex-sdk:** Synchronize agentex versions + ## 0.20.0 (2026-07-16) Full Changelog: [agentex-sdk-v0.19.0...agentex-sdk-v0.20.0](https://github.com/scaleapi/scale-agentex-python/compare/agentex-sdk-v0.19.0...agentex-sdk-v0.20.0) diff --git a/adk/pyproject.toml b/adk/pyproject.toml index 5fca1d619..808e2945f 100644 --- a/adk/pyproject.toml +++ b/adk/pyproject.toml @@ -4,7 +4,7 @@ # (agentex/{__init__.py, _*.py, types/, resources/}) ships from the slim # sibling package `agentex-client` which is pinned as a runtime dep. name = "agentex-sdk" -version = "0.20.0" +version = "0.21.0" description = "Agent Development Kit (ADK) overlay for the Agentex API — FastACP server, Temporal workflows, LLM provider integrations, observability" license = "Apache-2.0" authors = [ diff --git a/pyproject.toml b/pyproject.toml index 4a3fea3f2..6aa945921 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,7 @@ # overlay (formerly `src/agentex/lib/*`) now lives in `adk/` and ships # as the sibling `agentex-sdk` package — see `adk/pyproject.toml`. name = "agentex-client" -version = "0.20.0" +version = "0.21.0" description = "The official Python REST client for the Agentex API" dynamic = ["readme"] license = "Apache-2.0" diff --git a/src/agentex/_version.py b/src/agentex/_version.py index a6c7a942b..9bc04e166 100644 --- a/src/agentex/_version.py +++ b/src/agentex/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "agentex" -__version__ = "0.20.0" # x-release-please-version +__version__ = "0.21.0" # x-release-please-version