From eb8dbfa455854c7403fb489a555b58bf01bc956c Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 26 Mar 2026 16:06:14 +0000 Subject: [PATCH 1/7] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 917ae03..3ce9b21 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 14 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta%2Fwarp-api-a912e2533a6f1fbeee38d4b7739b771ed5711c648a6a7f3d8769b8b2cb4f31fb.yml -openapi_spec_hash: ef48f8fcc46a51b00893505e9b52c95d +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta%2Fwarp-api-c098713ad7d0db50c26687968fc23fbb61b919a674a9f26bb3375af48ea816f1.yml +openapi_spec_hash: 633a8a510fd3d0eb0c17c61522de6003 config_hash: e894152aaebba5a2e65e27efaf2712e2 From d7b298d99c5dcb5e02530329fef222de92f3e9d6 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 26 Mar 2026 18:37:12 +0000 Subject: [PATCH 2/7] feat: Use correct branch for Stainless PRs --- .stats.yml | 4 ++-- src/oz_agent_sdk/resources/agent/runs.py | 4 ++-- src/oz_agent_sdk/resources/agent/schedules.py | 10 ++++------ src/oz_agent_sdk/types/agent/run_list_params.py | 2 +- 4 files changed, 9 insertions(+), 11 deletions(-) diff --git a/.stats.yml b/.stats.yml index 3ce9b21..2a8b99f 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 14 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta%2Fwarp-api-c098713ad7d0db50c26687968fc23fbb61b919a674a9f26bb3375af48ea816f1.yml -openapi_spec_hash: 633a8a510fd3d0eb0c17c61522de6003 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta%2Fwarp-api-29ad327e738bb7cfe141e7ddb412ac41db03891941ec2f85db6e5f31c5811e40.yml +openapi_spec_hash: bb3d0180ebd64b039787660567c2473d config_hash: e894152aaebba5a2e65e27efaf2712e2 diff --git a/src/oz_agent_sdk/resources/agent/runs.py b/src/oz_agent_sdk/resources/agent/runs.py index 440bdcf..ed8fff1 100644 --- a/src/oz_agent_sdk/resources/agent/runs.py +++ b/src/oz_agent_sdk/resources/agent/runs.py @@ -118,7 +118,7 @@ def list( to `sort_by=updated_at` and `sort_order=desc`. Args: - artifact_type: Filter runs by artifact type (PLAN or PULL_REQUEST) + artifact_type: Filter runs by artifact type created_after: Filter runs created after this timestamp (RFC3339 format) @@ -333,7 +333,7 @@ async def list( to `sort_by=updated_at` and `sort_order=desc`. Args: - artifact_type: Filter runs by artifact type (PLAN or PULL_REQUEST) + artifact_type: Filter runs by artifact type created_after: Filter runs created after this timestamp (RFC3339 format) diff --git a/src/oz_agent_sdk/resources/agent/schedules.py b/src/oz_agent_sdk/resources/agent/schedules.py index a4b5592..f9fbac0 100644 --- a/src/oz_agent_sdk/resources/agent/schedules.py +++ b/src/oz_agent_sdk/resources/agent/schedules.py @@ -275,8 +275,7 @@ def pause( ) -> ScheduledAgentItem: """Pause a scheduled agent. - The agent will not run until resumed. This sets the - enabled flag to false. + The agent will not run until resumed. Args: extra_headers: Send extra headers @@ -311,7 +310,7 @@ def resume( """Resume a paused scheduled agent. The agent will start running according to its - cron schedule. This sets the enabled flag to true. + cron schedule. Args: extra_headers: Send extra headers @@ -584,8 +583,7 @@ async def pause( ) -> ScheduledAgentItem: """Pause a scheduled agent. - The agent will not run until resumed. This sets the - enabled flag to false. + The agent will not run until resumed. Args: extra_headers: Send extra headers @@ -620,7 +618,7 @@ async def resume( """Resume a paused scheduled agent. The agent will start running according to its - cron schedule. This sets the enabled flag to true. + cron schedule. Args: extra_headers: Send extra headers diff --git a/src/oz_agent_sdk/types/agent/run_list_params.py b/src/oz_agent_sdk/types/agent/run_list_params.py index cb662bc..fdabfe5 100644 --- a/src/oz_agent_sdk/types/agent/run_list_params.py +++ b/src/oz_agent_sdk/types/agent/run_list_params.py @@ -15,7 +15,7 @@ class RunListParams(TypedDict, total=False): artifact_type: Literal["PLAN", "PULL_REQUEST", "SCREENSHOT"] - """Filter runs by artifact type (PLAN or PULL_REQUEST)""" + """Filter runs by artifact type""" created_after: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")] """Filter runs created after this timestamp (RFC3339 format)""" From c518876f3da1129d3c351982ed4a06590fd15f2e Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 26 Mar 2026 19:23:14 +0000 Subject: [PATCH 3/7] feat(internal): implement indices array format for query and form serialization --- src/oz_agent_sdk/_qs.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/oz_agent_sdk/_qs.py b/src/oz_agent_sdk/_qs.py index ada6fd3..de8c99b 100644 --- a/src/oz_agent_sdk/_qs.py +++ b/src/oz_agent_sdk/_qs.py @@ -101,7 +101,10 @@ def _stringify_item( items.extend(self._stringify_item(key, item, opts)) return items elif array_format == "indices": - raise NotImplementedError("The array indices format is not supported yet") + items = [] + for i, item in enumerate(value): + items.extend(self._stringify_item(f"{key}[{i}]", item, opts)) + return items elif array_format == "brackets": items = [] key = key + "[]" From 7fc79efe0897451670cb44cf29c0f99b06ffe821 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 27 Mar 2026 01:29:05 +0000 Subject: [PATCH 4/7] feat(api): api update --- .stats.yml | 4 ++-- src/oz_agent_sdk/resources/agent/runs.py | 4 ++-- src/oz_agent_sdk/resources/agent/schedules.py | 10 ++++++---- src/oz_agent_sdk/types/agent/run_list_params.py | 2 +- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/.stats.yml b/.stats.yml index 2a8b99f..3ce9b21 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 14 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta%2Fwarp-api-29ad327e738bb7cfe141e7ddb412ac41db03891941ec2f85db6e5f31c5811e40.yml -openapi_spec_hash: bb3d0180ebd64b039787660567c2473d +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta%2Fwarp-api-c098713ad7d0db50c26687968fc23fbb61b919a674a9f26bb3375af48ea816f1.yml +openapi_spec_hash: 633a8a510fd3d0eb0c17c61522de6003 config_hash: e894152aaebba5a2e65e27efaf2712e2 diff --git a/src/oz_agent_sdk/resources/agent/runs.py b/src/oz_agent_sdk/resources/agent/runs.py index ed8fff1..440bdcf 100644 --- a/src/oz_agent_sdk/resources/agent/runs.py +++ b/src/oz_agent_sdk/resources/agent/runs.py @@ -118,7 +118,7 @@ def list( to `sort_by=updated_at` and `sort_order=desc`. Args: - artifact_type: Filter runs by artifact type + artifact_type: Filter runs by artifact type (PLAN or PULL_REQUEST) created_after: Filter runs created after this timestamp (RFC3339 format) @@ -333,7 +333,7 @@ async def list( to `sort_by=updated_at` and `sort_order=desc`. Args: - artifact_type: Filter runs by artifact type + artifact_type: Filter runs by artifact type (PLAN or PULL_REQUEST) created_after: Filter runs created after this timestamp (RFC3339 format) diff --git a/src/oz_agent_sdk/resources/agent/schedules.py b/src/oz_agent_sdk/resources/agent/schedules.py index f9fbac0..a4b5592 100644 --- a/src/oz_agent_sdk/resources/agent/schedules.py +++ b/src/oz_agent_sdk/resources/agent/schedules.py @@ -275,7 +275,8 @@ def pause( ) -> ScheduledAgentItem: """Pause a scheduled agent. - The agent will not run until resumed. + The agent will not run until resumed. This sets the + enabled flag to false. Args: extra_headers: Send extra headers @@ -310,7 +311,7 @@ def resume( """Resume a paused scheduled agent. The agent will start running according to its - cron schedule. + cron schedule. This sets the enabled flag to true. Args: extra_headers: Send extra headers @@ -583,7 +584,8 @@ async def pause( ) -> ScheduledAgentItem: """Pause a scheduled agent. - The agent will not run until resumed. + The agent will not run until resumed. This sets the + enabled flag to false. Args: extra_headers: Send extra headers @@ -618,7 +620,7 @@ async def resume( """Resume a paused scheduled agent. The agent will start running according to its - cron schedule. + cron schedule. This sets the enabled flag to true. Args: extra_headers: Send extra headers diff --git a/src/oz_agent_sdk/types/agent/run_list_params.py b/src/oz_agent_sdk/types/agent/run_list_params.py index fdabfe5..cb662bc 100644 --- a/src/oz_agent_sdk/types/agent/run_list_params.py +++ b/src/oz_agent_sdk/types/agent/run_list_params.py @@ -15,7 +15,7 @@ class RunListParams(TypedDict, total=False): artifact_type: Literal["PLAN", "PULL_REQUEST", "SCREENSHOT"] - """Filter runs by artifact type""" + """Filter runs by artifact type (PLAN or PULL_REQUEST)""" created_after: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")] """Filter runs created after this timestamp (RFC3339 format)""" From 31b5a63204a2baca1a41f0b4124408d2d2b7e6a4 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 27 Mar 2026 19:03:41 +0000 Subject: [PATCH 5/7] feat: Add VMIdleTimeoutMinutes param to API --- .stats.yml | 4 ++-- src/oz_agent_sdk/resources/agent/runs.py | 4 ++-- src/oz_agent_sdk/resources/agent/schedules.py | 10 ++++------ src/oz_agent_sdk/types/agent/run_list_params.py | 2 +- src/oz_agent_sdk/types/ambient_agent_config.py | 13 +++++++++++++ .../types/ambient_agent_config_param.py | 13 +++++++++++++ tests/api_resources/agent/test_schedules.py | 8 ++++++++ tests/api_resources/test_agent.py | 4 ++++ 8 files changed, 47 insertions(+), 11 deletions(-) diff --git a/.stats.yml b/.stats.yml index 3ce9b21..9a254bc 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 14 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta%2Fwarp-api-c098713ad7d0db50c26687968fc23fbb61b919a674a9f26bb3375af48ea816f1.yml -openapi_spec_hash: 633a8a510fd3d0eb0c17c61522de6003 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta%2Fwarp-api-4caffe00bccb10ade46f9043bec5c13558c78c49b35fc5dfa3e0ac6258465ce2.yml +openapi_spec_hash: ed3c519d0d108a9a9da06d0ff1bad9a9 config_hash: e894152aaebba5a2e65e27efaf2712e2 diff --git a/src/oz_agent_sdk/resources/agent/runs.py b/src/oz_agent_sdk/resources/agent/runs.py index 440bdcf..ed8fff1 100644 --- a/src/oz_agent_sdk/resources/agent/runs.py +++ b/src/oz_agent_sdk/resources/agent/runs.py @@ -118,7 +118,7 @@ def list( to `sort_by=updated_at` and `sort_order=desc`. Args: - artifact_type: Filter runs by artifact type (PLAN or PULL_REQUEST) + artifact_type: Filter runs by artifact type created_after: Filter runs created after this timestamp (RFC3339 format) @@ -333,7 +333,7 @@ async def list( to `sort_by=updated_at` and `sort_order=desc`. Args: - artifact_type: Filter runs by artifact type (PLAN or PULL_REQUEST) + artifact_type: Filter runs by artifact type created_after: Filter runs created after this timestamp (RFC3339 format) diff --git a/src/oz_agent_sdk/resources/agent/schedules.py b/src/oz_agent_sdk/resources/agent/schedules.py index a4b5592..f9fbac0 100644 --- a/src/oz_agent_sdk/resources/agent/schedules.py +++ b/src/oz_agent_sdk/resources/agent/schedules.py @@ -275,8 +275,7 @@ def pause( ) -> ScheduledAgentItem: """Pause a scheduled agent. - The agent will not run until resumed. This sets the - enabled flag to false. + The agent will not run until resumed. Args: extra_headers: Send extra headers @@ -311,7 +310,7 @@ def resume( """Resume a paused scheduled agent. The agent will start running according to its - cron schedule. This sets the enabled flag to true. + cron schedule. Args: extra_headers: Send extra headers @@ -584,8 +583,7 @@ async def pause( ) -> ScheduledAgentItem: """Pause a scheduled agent. - The agent will not run until resumed. This sets the - enabled flag to false. + The agent will not run until resumed. Args: extra_headers: Send extra headers @@ -620,7 +618,7 @@ async def resume( """Resume a paused scheduled agent. The agent will start running according to its - cron schedule. This sets the enabled flag to true. + cron schedule. Args: extra_headers: Send extra headers diff --git a/src/oz_agent_sdk/types/agent/run_list_params.py b/src/oz_agent_sdk/types/agent/run_list_params.py index cb662bc..fdabfe5 100644 --- a/src/oz_agent_sdk/types/agent/run_list_params.py +++ b/src/oz_agent_sdk/types/agent/run_list_params.py @@ -15,7 +15,7 @@ class RunListParams(TypedDict, total=False): artifact_type: Literal["PLAN", "PULL_REQUEST", "SCREENSHOT"] - """Filter runs by artifact type (PLAN or PULL_REQUEST)""" + """Filter runs by artifact type""" created_after: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")] """Filter runs created after this timestamp (RFC3339 format)""" diff --git a/src/oz_agent_sdk/types/ambient_agent_config.py b/src/oz_agent_sdk/types/ambient_agent_config.py index 67667c8..b667e62 100644 --- a/src/oz_agent_sdk/types/ambient_agent_config.py +++ b/src/oz_agent_sdk/types/ambient_agent_config.py @@ -25,6 +25,19 @@ class AmbientAgentConfig(BaseModel): environment_id: Optional[str] = None """UID of the environment to run the agent in""" + harness: Optional[str] = None + """ + Agent harness to use for the agent run. Default (empty) uses Warp's built-in Oz + harness. + """ + + idle_timeout_minutes: Optional[int] = None + """ + Number of minutes to keep the agent environment alive after task completion. If + not set, defaults to 10 minutes. Maximum allowed value is min(60, + floor(max_instance_runtime_seconds / 60) for your billing tier). + """ + mcp_servers: Optional[Dict[str, McpServerConfig]] = None """Map of MCP server configurations by name""" diff --git a/src/oz_agent_sdk/types/ambient_agent_config_param.py b/src/oz_agent_sdk/types/ambient_agent_config_param.py index 1cd17fe..4f04d52 100644 --- a/src/oz_agent_sdk/types/ambient_agent_config_param.py +++ b/src/oz_agent_sdk/types/ambient_agent_config_param.py @@ -25,6 +25,19 @@ class AmbientAgentConfigParam(TypedDict, total=False): environment_id: str """UID of the environment to run the agent in""" + harness: str + """ + Agent harness to use for the agent run. Default (empty) uses Warp's built-in Oz + harness. + """ + + idle_timeout_minutes: int + """ + Number of minutes to keep the agent environment alive after task completion. If + not set, defaults to 10 minutes. Maximum allowed value is min(60, + floor(max_instance_runtime_seconds / 60) for your billing tier). + """ + mcp_servers: Dict[str, McpServerConfigParam] """Map of MCP server configurations by name""" diff --git a/tests/api_resources/agent/test_schedules.py b/tests/api_resources/agent/test_schedules.py index e8f8a24..1a1eceb 100644 --- a/tests/api_resources/agent/test_schedules.py +++ b/tests/api_resources/agent/test_schedules.py @@ -40,6 +40,8 @@ def test_method_create_with_all_params(self, client: OzAPI) -> None: "base_prompt": "base_prompt", "computer_use_enabled": True, "environment_id": "environment_id", + "harness": "harness", + "idle_timeout_minutes": 1, "mcp_servers": { "foo": { "args": ["string"], @@ -154,6 +156,8 @@ def test_method_update_with_all_params(self, client: OzAPI) -> None: "base_prompt": "base_prompt", "computer_use_enabled": True, "environment_id": "environment_id", + "harness": "harness", + "idle_timeout_minutes": 1, "mcp_servers": { "foo": { "args": ["string"], @@ -395,6 +399,8 @@ async def test_method_create_with_all_params(self, async_client: AsyncOzAPI) -> "base_prompt": "base_prompt", "computer_use_enabled": True, "environment_id": "environment_id", + "harness": "harness", + "idle_timeout_minutes": 1, "mcp_servers": { "foo": { "args": ["string"], @@ -509,6 +515,8 @@ async def test_method_update_with_all_params(self, async_client: AsyncOzAPI) -> "base_prompt": "base_prompt", "computer_use_enabled": True, "environment_id": "environment_id", + "harness": "harness", + "idle_timeout_minutes": 1, "mcp_servers": { "foo": { "args": ["string"], diff --git a/tests/api_resources/test_agent.py b/tests/api_resources/test_agent.py index 00acc5b..df58cfd 100644 --- a/tests/api_resources/test_agent.py +++ b/tests/api_resources/test_agent.py @@ -123,6 +123,8 @@ def test_method_run_with_all_params(self, client: OzAPI) -> None: "base_prompt": "base_prompt", "computer_use_enabled": True, "environment_id": "environment_id", + "harness": "harness", + "idle_timeout_minutes": 1, "mcp_servers": { "foo": { "args": ["string"], @@ -277,6 +279,8 @@ async def test_method_run_with_all_params(self, async_client: AsyncOzAPI) -> Non "base_prompt": "base_prompt", "computer_use_enabled": True, "environment_id": "environment_id", + "harness": "harness", + "idle_timeout_minutes": 1, "mcp_servers": { "foo": { "args": ["string"], From 9fe02aad21c71cbab837f7d335e5234e1974bb90 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 27 Mar 2026 20:15:48 +0000 Subject: [PATCH 6/7] feat(api): api update --- .stats.yml | 4 ++-- src/oz_agent_sdk/resources/agent/runs.py | 4 ++-- src/oz_agent_sdk/resources/agent/schedules.py | 10 ++++++---- src/oz_agent_sdk/types/agent/run_list_params.py | 2 +- src/oz_agent_sdk/types/ambient_agent_config.py | 13 ------------- .../types/ambient_agent_config_param.py | 13 ------------- tests/api_resources/agent/test_schedules.py | 8 -------- tests/api_resources/test_agent.py | 4 ---- 8 files changed, 11 insertions(+), 47 deletions(-) diff --git a/.stats.yml b/.stats.yml index 9a254bc..3ce9b21 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 14 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta%2Fwarp-api-4caffe00bccb10ade46f9043bec5c13558c78c49b35fc5dfa3e0ac6258465ce2.yml -openapi_spec_hash: ed3c519d0d108a9a9da06d0ff1bad9a9 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta%2Fwarp-api-c098713ad7d0db50c26687968fc23fbb61b919a674a9f26bb3375af48ea816f1.yml +openapi_spec_hash: 633a8a510fd3d0eb0c17c61522de6003 config_hash: e894152aaebba5a2e65e27efaf2712e2 diff --git a/src/oz_agent_sdk/resources/agent/runs.py b/src/oz_agent_sdk/resources/agent/runs.py index ed8fff1..440bdcf 100644 --- a/src/oz_agent_sdk/resources/agent/runs.py +++ b/src/oz_agent_sdk/resources/agent/runs.py @@ -118,7 +118,7 @@ def list( to `sort_by=updated_at` and `sort_order=desc`. Args: - artifact_type: Filter runs by artifact type + artifact_type: Filter runs by artifact type (PLAN or PULL_REQUEST) created_after: Filter runs created after this timestamp (RFC3339 format) @@ -333,7 +333,7 @@ async def list( to `sort_by=updated_at` and `sort_order=desc`. Args: - artifact_type: Filter runs by artifact type + artifact_type: Filter runs by artifact type (PLAN or PULL_REQUEST) created_after: Filter runs created after this timestamp (RFC3339 format) diff --git a/src/oz_agent_sdk/resources/agent/schedules.py b/src/oz_agent_sdk/resources/agent/schedules.py index f9fbac0..a4b5592 100644 --- a/src/oz_agent_sdk/resources/agent/schedules.py +++ b/src/oz_agent_sdk/resources/agent/schedules.py @@ -275,7 +275,8 @@ def pause( ) -> ScheduledAgentItem: """Pause a scheduled agent. - The agent will not run until resumed. + The agent will not run until resumed. This sets the + enabled flag to false. Args: extra_headers: Send extra headers @@ -310,7 +311,7 @@ def resume( """Resume a paused scheduled agent. The agent will start running according to its - cron schedule. + cron schedule. This sets the enabled flag to true. Args: extra_headers: Send extra headers @@ -583,7 +584,8 @@ async def pause( ) -> ScheduledAgentItem: """Pause a scheduled agent. - The agent will not run until resumed. + The agent will not run until resumed. This sets the + enabled flag to false. Args: extra_headers: Send extra headers @@ -618,7 +620,7 @@ async def resume( """Resume a paused scheduled agent. The agent will start running according to its - cron schedule. + cron schedule. This sets the enabled flag to true. Args: extra_headers: Send extra headers diff --git a/src/oz_agent_sdk/types/agent/run_list_params.py b/src/oz_agent_sdk/types/agent/run_list_params.py index fdabfe5..cb662bc 100644 --- a/src/oz_agent_sdk/types/agent/run_list_params.py +++ b/src/oz_agent_sdk/types/agent/run_list_params.py @@ -15,7 +15,7 @@ class RunListParams(TypedDict, total=False): artifact_type: Literal["PLAN", "PULL_REQUEST", "SCREENSHOT"] - """Filter runs by artifact type""" + """Filter runs by artifact type (PLAN or PULL_REQUEST)""" created_after: Annotated[Union[str, datetime], PropertyInfo(format="iso8601")] """Filter runs created after this timestamp (RFC3339 format)""" diff --git a/src/oz_agent_sdk/types/ambient_agent_config.py b/src/oz_agent_sdk/types/ambient_agent_config.py index b667e62..67667c8 100644 --- a/src/oz_agent_sdk/types/ambient_agent_config.py +++ b/src/oz_agent_sdk/types/ambient_agent_config.py @@ -25,19 +25,6 @@ class AmbientAgentConfig(BaseModel): environment_id: Optional[str] = None """UID of the environment to run the agent in""" - harness: Optional[str] = None - """ - Agent harness to use for the agent run. Default (empty) uses Warp's built-in Oz - harness. - """ - - idle_timeout_minutes: Optional[int] = None - """ - Number of minutes to keep the agent environment alive after task completion. If - not set, defaults to 10 minutes. Maximum allowed value is min(60, - floor(max_instance_runtime_seconds / 60) for your billing tier). - """ - mcp_servers: Optional[Dict[str, McpServerConfig]] = None """Map of MCP server configurations by name""" diff --git a/src/oz_agent_sdk/types/ambient_agent_config_param.py b/src/oz_agent_sdk/types/ambient_agent_config_param.py index 4f04d52..1cd17fe 100644 --- a/src/oz_agent_sdk/types/ambient_agent_config_param.py +++ b/src/oz_agent_sdk/types/ambient_agent_config_param.py @@ -25,19 +25,6 @@ class AmbientAgentConfigParam(TypedDict, total=False): environment_id: str """UID of the environment to run the agent in""" - harness: str - """ - Agent harness to use for the agent run. Default (empty) uses Warp's built-in Oz - harness. - """ - - idle_timeout_minutes: int - """ - Number of minutes to keep the agent environment alive after task completion. If - not set, defaults to 10 minutes. Maximum allowed value is min(60, - floor(max_instance_runtime_seconds / 60) for your billing tier). - """ - mcp_servers: Dict[str, McpServerConfigParam] """Map of MCP server configurations by name""" diff --git a/tests/api_resources/agent/test_schedules.py b/tests/api_resources/agent/test_schedules.py index 1a1eceb..e8f8a24 100644 --- a/tests/api_resources/agent/test_schedules.py +++ b/tests/api_resources/agent/test_schedules.py @@ -40,8 +40,6 @@ def test_method_create_with_all_params(self, client: OzAPI) -> None: "base_prompt": "base_prompt", "computer_use_enabled": True, "environment_id": "environment_id", - "harness": "harness", - "idle_timeout_minutes": 1, "mcp_servers": { "foo": { "args": ["string"], @@ -156,8 +154,6 @@ def test_method_update_with_all_params(self, client: OzAPI) -> None: "base_prompt": "base_prompt", "computer_use_enabled": True, "environment_id": "environment_id", - "harness": "harness", - "idle_timeout_minutes": 1, "mcp_servers": { "foo": { "args": ["string"], @@ -399,8 +395,6 @@ async def test_method_create_with_all_params(self, async_client: AsyncOzAPI) -> "base_prompt": "base_prompt", "computer_use_enabled": True, "environment_id": "environment_id", - "harness": "harness", - "idle_timeout_minutes": 1, "mcp_servers": { "foo": { "args": ["string"], @@ -515,8 +509,6 @@ async def test_method_update_with_all_params(self, async_client: AsyncOzAPI) -> "base_prompt": "base_prompt", "computer_use_enabled": True, "environment_id": "environment_id", - "harness": "harness", - "idle_timeout_minutes": 1, "mcp_servers": { "foo": { "args": ["string"], diff --git a/tests/api_resources/test_agent.py b/tests/api_resources/test_agent.py index df58cfd..00acc5b 100644 --- a/tests/api_resources/test_agent.py +++ b/tests/api_resources/test_agent.py @@ -123,8 +123,6 @@ def test_method_run_with_all_params(self, client: OzAPI) -> None: "base_prompt": "base_prompt", "computer_use_enabled": True, "environment_id": "environment_id", - "harness": "harness", - "idle_timeout_minutes": 1, "mcp_servers": { "foo": { "args": ["string"], @@ -279,8 +277,6 @@ async def test_method_run_with_all_params(self, async_client: AsyncOzAPI) -> Non "base_prompt": "base_prompt", "computer_use_enabled": True, "environment_id": "environment_id", - "harness": "harness", - "idle_timeout_minutes": 1, "mcp_servers": { "foo": { "args": ["string"], From c15618849f1634ca951ac312c53efc6d56afc283 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 27 Mar 2026 20:16:06 +0000 Subject: [PATCH 7/7] release: 0.11.0 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 12 ++++++++++++ pyproject.toml | 2 +- src/oz_agent_sdk/_version.py | 2 +- 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index e1a2442..f7014c3 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.10.1" + ".": "0.11.0" } \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e6735e..f13eada 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # Changelog +## 0.11.0 (2026-03-27) + +Full Changelog: [v0.10.1...v0.11.0](https://github.com/warpdotdev/oz-sdk-python/compare/v0.10.1...v0.11.0) + +### Features + +* Add VMIdleTimeoutMinutes param to API ([31b5a63](https://github.com/warpdotdev/oz-sdk-python/commit/31b5a63204a2baca1a41f0b4124408d2d2b7e6a4)) +* **api:** api update ([9fe02aa](https://github.com/warpdotdev/oz-sdk-python/commit/9fe02aad21c71cbab837f7d335e5234e1974bb90)) +* **api:** api update ([7fc79ef](https://github.com/warpdotdev/oz-sdk-python/commit/7fc79efe0897451670cb44cf29c0f99b06ffe821)) +* **internal:** implement indices array format for query and form serialization ([c518876](https://github.com/warpdotdev/oz-sdk-python/commit/c518876f3da1129d3c351982ed4a06590fd15f2e)) +* Use correct branch for Stainless PRs ([d7b298d](https://github.com/warpdotdev/oz-sdk-python/commit/d7b298d99c5dcb5e02530329fef222de92f3e9d6)) + ## 0.10.1 (2026-03-24) Full Changelog: [v0.10.0...v0.10.1](https://github.com/warpdotdev/oz-sdk-python/compare/v0.10.0...v0.10.1) diff --git a/pyproject.toml b/pyproject.toml index e8c1daf..01da747 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "oz-agent-sdk" -version = "0.10.1" +version = "0.11.0" description = "The official Python library for the oz-api API" dynamic = ["readme"] license = "Apache-2.0" diff --git a/src/oz_agent_sdk/_version.py b/src/oz_agent_sdk/_version.py index 0f7ea40..113b87a 100644 --- a/src/oz_agent_sdk/_version.py +++ b/src/oz_agent_sdk/_version.py @@ -1,4 +1,4 @@ # File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. __title__ = "oz_agent_sdk" -__version__ = "0.10.1" # x-release-please-version +__version__ = "0.11.0" # x-release-please-version