From 9c70c23f280621a38982ad69d5558baa19461136 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 29 May 2026 14:02:58 +0000 Subject: [PATCH 01/11] feat: Allow for empty-prompt cloud-agent handoff --- .stats.yml | 4 ++-- src/resources/agent/agent.ts | 3 ++- src/resources/agent/runs.ts | 3 +-- tests/api-resources/agent/runs.test.ts | 9 ++------- 4 files changed, 7 insertions(+), 12 deletions(-) diff --git a/.stats.yml b/.stats.yml index 12343f9..31ca0f1 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 23 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-0bc171e3cd0224936953898ce9b7eb35e1bf1cbf58a673fc80b32c90ce84bcd0.yml -openapi_spec_hash: 6c7d5f294b0800e878729314f57a09f0 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-8b8de9abf59d848042cc4107118de305ef6dddb46a3783eb6b0d94457a4c8682.yml +openapi_spec_hash: 6c50747f76de7e0bb66a5fdd07d851ac config_hash: 279b20eafe220bf54131676cc0b9cdd2 diff --git a/src/resources/agent/agent.ts b/src/resources/agent/agent.ts index ec4d9df..3da8bd6 100644 --- a/src/resources/agent/agent.ts +++ b/src/resources/agent/agent.ts @@ -1109,7 +1109,8 @@ export interface AgentRunParams { /** * The prompt/instruction for the agent to execute. Required unless a skill is - * specified via the skill field, config.skill_spec, or config.skills. + * specified via the skill field, config.skill_spec, or config.skills. Handoff + * requests may omit prompt when conversation_id is set. */ prompt?: string; diff --git a/src/resources/agent/runs.ts b/src/resources/agent/runs.ts index 592e1d8..b5337bb 100644 --- a/src/resources/agent/runs.ts +++ b/src/resources/agent/runs.ts @@ -92,7 +92,6 @@ export class Runs extends APIResource { * ```ts * const response = await client.agent.runs.submitFollowup( * 'runId', - * { message: 'message' }, * ); * ``` */ @@ -741,7 +740,7 @@ export interface RunSubmitFollowupParams { /** * The follow-up message to send to the run. */ - message: string; + message?: string; /** * Optional query mode for the follow-up. Defaults to `normal` when omitted. The diff --git a/tests/api-resources/agent/runs.test.ts b/tests/api-resources/agent/runs.test.ts index 4cbb332..6e29b78 100644 --- a/tests/api-resources/agent/runs.test.ts +++ b/tests/api-resources/agent/runs.test.ts @@ -90,8 +90,8 @@ describe('resource runs', () => { }); // Mock server tests are disabled - test.skip('submitFollowup: only required params', async () => { - const responsePromise = client.agent.runs.submitFollowup('runId', { message: 'message' }); + test.skip('submitFollowup', async () => { + const responsePromise = client.agent.runs.submitFollowup('runId', {}); const rawResponse = await responsePromise.asResponse(); expect(rawResponse).toBeInstanceOf(Response); const response = await responsePromise; @@ -100,9 +100,4 @@ describe('resource runs', () => { expect(dataAndResponse.data).toBe(response); expect(dataAndResponse.response).toBe(rawResponse); }); - - // Mock server tests are disabled - test.skip('submitFollowup: required and optional params', async () => { - const response = await client.agent.runs.submitFollowup('runId', { message: 'message', mode: 'normal' }); - }); }); From 9a36cd0f406cb1872ac4f77dad9793b5950629c0 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 29 May 2026 18:33:04 +0000 Subject: [PATCH 02/11] feat(api): api update --- .stats.yml | 4 ++-- src/resources/agent/agent.ts | 3 +-- src/resources/agent/runs.ts | 3 ++- tests/api-resources/agent/runs.test.ts | 9 +++++++-- 4 files changed, 12 insertions(+), 7 deletions(-) diff --git a/.stats.yml b/.stats.yml index 31ca0f1..12343f9 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 23 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-8b8de9abf59d848042cc4107118de305ef6dddb46a3783eb6b0d94457a4c8682.yml -openapi_spec_hash: 6c50747f76de7e0bb66a5fdd07d851ac +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-0bc171e3cd0224936953898ce9b7eb35e1bf1cbf58a673fc80b32c90ce84bcd0.yml +openapi_spec_hash: 6c7d5f294b0800e878729314f57a09f0 config_hash: 279b20eafe220bf54131676cc0b9cdd2 diff --git a/src/resources/agent/agent.ts b/src/resources/agent/agent.ts index 3da8bd6..ec4d9df 100644 --- a/src/resources/agent/agent.ts +++ b/src/resources/agent/agent.ts @@ -1109,8 +1109,7 @@ export interface AgentRunParams { /** * The prompt/instruction for the agent to execute. Required unless a skill is - * specified via the skill field, config.skill_spec, or config.skills. Handoff - * requests may omit prompt when conversation_id is set. + * specified via the skill field, config.skill_spec, or config.skills. */ prompt?: string; diff --git a/src/resources/agent/runs.ts b/src/resources/agent/runs.ts index b5337bb..592e1d8 100644 --- a/src/resources/agent/runs.ts +++ b/src/resources/agent/runs.ts @@ -92,6 +92,7 @@ export class Runs extends APIResource { * ```ts * const response = await client.agent.runs.submitFollowup( * 'runId', + * { message: 'message' }, * ); * ``` */ @@ -740,7 +741,7 @@ export interface RunSubmitFollowupParams { /** * The follow-up message to send to the run. */ - message?: string; + message: string; /** * Optional query mode for the follow-up. Defaults to `normal` when omitted. The diff --git a/tests/api-resources/agent/runs.test.ts b/tests/api-resources/agent/runs.test.ts index 6e29b78..4cbb332 100644 --- a/tests/api-resources/agent/runs.test.ts +++ b/tests/api-resources/agent/runs.test.ts @@ -90,8 +90,8 @@ describe('resource runs', () => { }); // Mock server tests are disabled - test.skip('submitFollowup', async () => { - const responsePromise = client.agent.runs.submitFollowup('runId', {}); + test.skip('submitFollowup: only required params', async () => { + const responsePromise = client.agent.runs.submitFollowup('runId', { message: 'message' }); const rawResponse = await responsePromise.asResponse(); expect(rawResponse).toBeInstanceOf(Response); const response = await responsePromise; @@ -100,4 +100,9 @@ describe('resource runs', () => { expect(dataAndResponse.data).toBe(response); expect(dataAndResponse.response).toBe(rawResponse); }); + + // Mock server tests are disabled + test.skip('submitFollowup: required and optional params', async () => { + const response = await client.agent.runs.submitFollowup('runId', { message: 'message', mode: 'normal' }); + }); }); From 5352485eb4a7a32ab86779d3f8911720f3f980a1 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Mon, 1 Jun 2026 18:43:11 +0000 Subject: [PATCH 03/11] feat: Followups for docs-syncing workflow --- .stats.yml | 4 ++-- src/resources/agent/agent.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.stats.yml b/.stats.yml index 12343f9..20bfbe2 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 23 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-0bc171e3cd0224936953898ce9b7eb35e1bf1cbf58a673fc80b32c90ce84bcd0.yml -openapi_spec_hash: 6c7d5f294b0800e878729314f57a09f0 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-88b8ccee39c0206f7760fc0c480190db5e88bc1afff2a734a2af4aa0f1fb9556.yml +openapi_spec_hash: 31989cf4a6f3789090ac7b80ac7194c2 config_hash: 279b20eafe220bf54131676cc0b9cdd2 diff --git a/src/resources/agent/agent.ts b/src/resources/agent/agent.ts index ec4d9df..aee9703 100644 --- a/src/resources/agent/agent.ts +++ b/src/resources/agent/agent.ts @@ -104,8 +104,8 @@ export class Agent extends APIResource { } /** - * Alias for POST /agent/run. This is the preferred endpoint for creating new agent - * runs. Behavior is identical to POST /agent/run. + * Spawn a cloud agent with a prompt and optional configuration. The agent will be + * queued for execution and assigned a unique run ID. * * @example * ```ts From d63714d943829a4e8e8f3d32b7ffa91717a94fcc Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 2 Jun 2026 15:11:45 +0000 Subject: [PATCH 04/11] feat(api): api update --- .github/workflows/ci.yml | 10 +++++----- .stats.yml | 6 +++--- scripts/utils/upload-artifact.sh | 2 +- src/resources/agent/agent.ts | 3 ++- src/resources/agent/runs.ts | 3 +-- tests/api-resources/agent/runs.test.ts | 9 ++------- 6 files changed, 14 insertions(+), 19 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 65e39f8..4fa2769 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/warp-api-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} + runs-on: '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 @@ -42,7 +42,7 @@ jobs: build: timeout-minutes: 5 name: build - runs-on: ${{ github.repository == 'stainless-sdks/warp-api-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} + runs-on: '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') permissions: contents: read @@ -68,7 +68,7 @@ jobs: - name: Get GitHub OIDC Token if: |- - github.repository == 'stainless-sdks/warp-api-typescript' && + github.repository == 'warpdotdev/oz-sdk-typescript-staging' && !startsWith(github.ref, 'refs/heads/stl/') id: github-oidc uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 @@ -77,7 +77,7 @@ jobs: - name: Upload tarball if: |- - github.repository == 'stainless-sdks/warp-api-typescript' && + github.repository == 'warpdotdev/oz-sdk-typescript-staging' && !startsWith(github.ref, 'refs/heads/stl/') env: URL: https://pkg.stainless.com/s @@ -87,7 +87,7 @@ jobs: test: timeout-minutes: 10 name: test - runs-on: ${{ github.repository == 'stainless-sdks/warp-api-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} + runs-on: 'ubuntu-latest' if: github.event_name == 'push' || github.event.pull_request.head.repo.fork steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 diff --git a/.stats.yml b/.stats.yml index 20bfbe2..7b03f82 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 23 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-88b8ccee39c0206f7760fc0c480190db5e88bc1afff2a734a2af4aa0f1fb9556.yml -openapi_spec_hash: 31989cf4a6f3789090ac7b80ac7194c2 -config_hash: 279b20eafe220bf54131676cc0b9cdd2 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-65c025cf40a833a2310d087f63f96103a230ff92cd775f45584356d5c7ad7c18.yml +openapi_spec_hash: 6d15878e14d97285e232a0cc3f335e9e +config_hash: 619fb7e70fce0afe18d08987282fce4e diff --git a/scripts/utils/upload-artifact.sh b/scripts/utils/upload-artifact.sh index 45cc720..0fb16e6 100755 --- a/scripts/utils/upload-artifact.sh +++ b/scripts/utils/upload-artifact.sh @@ -20,7 +20,7 @@ UPLOAD_RESPONSE=$(curl -v -X PUT \ if echo "$UPLOAD_RESPONSE" | grep -q "HTTP/[0-9.]* 200"; then echo -e "\033[32mUploaded build to Stainless storage.\033[0m" - echo -e "\033[32mInstallation: npm install 'https://pkg.stainless.com/s/warp-api-typescript/$SHA'\033[0m" + echo -e "\033[32mInstallation: npm install 'https://pkg.stainless.com/s/oz-sdk-typescript-staging/$SHA'\033[0m" else echo -e "\033[31mFailed to upload artifact.\033[0m" exit 1 diff --git a/src/resources/agent/agent.ts b/src/resources/agent/agent.ts index aee9703..c97f9c6 100644 --- a/src/resources/agent/agent.ts +++ b/src/resources/agent/agent.ts @@ -1109,7 +1109,8 @@ export interface AgentRunParams { /** * The prompt/instruction for the agent to execute. Required unless a skill is - * specified via the skill field, config.skill_spec, or config.skills. + * specified via the skill field, config.skill_spec, or config.skills. Handoff + * requests may omit prompt when conversation_id is set. */ prompt?: string; diff --git a/src/resources/agent/runs.ts b/src/resources/agent/runs.ts index 592e1d8..b5337bb 100644 --- a/src/resources/agent/runs.ts +++ b/src/resources/agent/runs.ts @@ -92,7 +92,6 @@ export class Runs extends APIResource { * ```ts * const response = await client.agent.runs.submitFollowup( * 'runId', - * { message: 'message' }, * ); * ``` */ @@ -741,7 +740,7 @@ export interface RunSubmitFollowupParams { /** * The follow-up message to send to the run. */ - message: string; + message?: string; /** * Optional query mode for the follow-up. Defaults to `normal` when omitted. The diff --git a/tests/api-resources/agent/runs.test.ts b/tests/api-resources/agent/runs.test.ts index 4cbb332..6e29b78 100644 --- a/tests/api-resources/agent/runs.test.ts +++ b/tests/api-resources/agent/runs.test.ts @@ -90,8 +90,8 @@ describe('resource runs', () => { }); // Mock server tests are disabled - test.skip('submitFollowup: only required params', async () => { - const responsePromise = client.agent.runs.submitFollowup('runId', { message: 'message' }); + test.skip('submitFollowup', async () => { + const responsePromise = client.agent.runs.submitFollowup('runId', {}); const rawResponse = await responsePromise.asResponse(); expect(rawResponse).toBeInstanceOf(Response); const response = await responsePromise; @@ -100,9 +100,4 @@ describe('resource runs', () => { expect(dataAndResponse.data).toBe(response); expect(dataAndResponse.response).toBe(rawResponse); }); - - // Mock server tests are disabled - test.skip('submitFollowup: required and optional params', async () => { - const response = await client.agent.runs.submitFollowup('runId', { message: 'message', mode: 'normal' }); - }); }); From a2cd14ec2a2170941b68f8bae1ce1691367ad170 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 4 Jun 2026 17:14:53 +0000 Subject: [PATCH 05/11] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 7b03f82..1103d09 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 23 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-65c025cf40a833a2310d087f63f96103a230ff92cd775f45584356d5c7ad7c18.yml -openapi_spec_hash: 6d15878e14d97285e232a0cc3f335e9e +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-6a1e8db241f6b3b708f177dc8e53bc07c807bff5f6095032f049e11d89e68f81.yml +openapi_spec_hash: 7a7ee0d18c5230c3a6d583a8bbf6d007 config_hash: 619fb7e70fce0afe18d08987282fce4e From eb49f4e0db257b83d8bd411572b127ce57ab8bb8 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 9 Jun 2026 18:17:00 +0000 Subject: [PATCH 06/11] feat(api): api update --- .stats.yml | 4 +-- src/resources/agent/agent_.ts | 33 ++++++++++++++++++++++++ tests/api-resources/agent/agent_.test.ts | 10 +++++++ 3 files changed, 45 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 1103d09..362b175 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 23 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-6a1e8db241f6b3b708f177dc8e53bc07c807bff5f6095032f049e11d89e68f81.yml -openapi_spec_hash: 7a7ee0d18c5230c3a6d583a8bbf6d007 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-0f3dae898b870134848191cdbb5e698902865948eb4639be341112c80a6c9e42.yml +openapi_spec_hash: 64c7e9657b989779d463734cacf11bfb config_hash: 619fb7e70fce0afe18d08987282fce4e diff --git a/src/resources/agent/agent_.ts b/src/resources/agent/agent_.ts index 7846ed6..c9fcf5c 100644 --- a/src/resources/agent/agent_.ts +++ b/src/resources/agent/agent_.ts @@ -1,6 +1,7 @@ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. import { APIResource } from '../../core/resource'; +import * as AgentAPI from './agent'; import { APIPromise } from '../../core/api-promise'; import { buildHeaders } from '../../internal/headers'; import { RequestOptions } from '../../internal/request-options'; @@ -172,6 +173,12 @@ export interface AgentResponse { */ inference_providers?: AgentResponse.InferenceProviders; + /** + * MCP server configurations attached to this agent by default. Run-level MCP + * config takes precedence over this agent-level default. + */ + mcp_servers?: { [key: string]: AgentAPI.McpServerConfig }; + /** * Optional base prompt for this agent */ @@ -300,6 +307,12 @@ export interface CreateAgentRequest { */ inference_providers?: CreateAgentRequest.InferenceProviders; + /** + * Optional map of MCP server configurations by name to attach to runs executed by + * this agent. Run-level MCP config takes precedence over this agent-level default. + */ + mcp_servers?: { [key: string]: AgentAPI.McpServerConfig }; + /** * Optional list of memory stores to attach to the agent. Each store must be * team-owned by the same team as the agent. Duplicate UIDs within a single request @@ -460,6 +473,13 @@ export interface UpdateAgentRequest { */ inference_providers?: UpdateAgentRequest.InferenceProviders | null; + /** + * Replacement map of MCP server configurations by name. Omit to leave unchanged, + * pass an empty object to clear, or pass a non-empty object to replace. Run-level + * MCP config takes precedence over this agent-level default. + */ + mcp_servers?: { [key: string]: AgentAPI.McpServerConfig }; + /** * Replacement list of memory stores. Omit to leave unchanged, pass an empty array * to clear, or pass a non-empty array to replace. @@ -612,6 +632,12 @@ export interface AgentCreateParams { */ inference_providers?: AgentCreateParams.InferenceProviders; + /** + * Optional map of MCP server configurations by name to attach to runs executed by + * this agent. Run-level MCP config takes precedence over this agent-level default. + */ + mcp_servers?: { [key: string]: AgentAPI.McpServerConfig }; + /** * Optional list of memory stores to attach to the agent. Each store must be * team-owned by the same team as the agent. Duplicate UIDs within a single request @@ -761,6 +787,13 @@ export interface AgentUpdateParams { */ inference_providers?: AgentUpdateParams.InferenceProviders | null; + /** + * Replacement map of MCP server configurations by name. Omit to leave unchanged, + * pass an empty object to clear, or pass a non-empty object to replace. Run-level + * MCP config takes precedence over this agent-level default. + */ + mcp_servers?: { [key: string]: AgentAPI.McpServerConfig }; + /** * Replacement list of memory stores. Omit to leave unchanged, pass an empty array * to clear, or pass a non-empty array to replace. diff --git a/tests/api-resources/agent/agent_.test.ts b/tests/api-resources/agent/agent_.test.ts index 53a0c9d..2754ded 100644 --- a/tests/api-resources/agent/agent_.test.ts +++ b/tests/api-resources/agent/agent_.test.ts @@ -39,6 +39,16 @@ describe('resource agent', () => { role_arn: 'role_arn', }, }, + mcp_servers: { + foo: { + args: ['string'], + command: 'command', + env: { foo: 'string' }, + headers: { foo: 'string' }, + url: 'https://example.com', + warp_id: 'warp_id', + }, + }, memory_stores: [ { access: 'read_write', From 6f4f8f87476a03ed190a80aeba1ea0a65b271b91 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 11 Jun 2026 20:03:05 +0000 Subject: [PATCH 07/11] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 362b175..6ae8640 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 23 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-0f3dae898b870134848191cdbb5e698902865948eb4639be341112c80a6c9e42.yml -openapi_spec_hash: 64c7e9657b989779d463734cacf11bfb +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-5541584fe19f0db138313147ea50948dbcf374e16ab0b6575df51f0be54706a1.yml +openapi_spec_hash: da15430ba458f7804fd46a937f8e29e0 config_hash: 619fb7e70fce0afe18d08987282fce4e From 6ca106630fa48317e9da4907ed56c3132b0313d8 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 16 Jun 2026 12:50:57 +0000 Subject: [PATCH 08/11] feat(api): api update --- .stats.yml | 6 +- src/resources/agent/agent_.ts | 268 +++++++++++++++++------ src/resources/agent/runs.ts | 8 + tests/api-resources/agent/agent_.test.ts | 17 +- 4 files changed, 228 insertions(+), 71 deletions(-) diff --git a/.stats.yml b/.stats.yml index 6ae8640..1b273bd 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 23 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-5541584fe19f0db138313147ea50948dbcf374e16ab0b6575df51f0be54706a1.yml -openapi_spec_hash: da15430ba458f7804fd46a937f8e29e0 -config_hash: 619fb7e70fce0afe18d08987282fce4e +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-9b4270e56f0c240d415e68959e2e6d4ce00021d6fc0f8d5634fd0f6b0c875036.yml +openapi_spec_hash: 784089d01927148351a5c4f3fbe41d50 +config_hash: e52e930a60998be461fd4af99a2c9f1a diff --git a/src/resources/agent/agent_.ts b/src/resources/agent/agent_.ts index c9fcf5c..0a5890c 100644 --- a/src/resources/agent/agent_.ts +++ b/src/resources/agent/agent_.ts @@ -96,10 +96,9 @@ export interface AgentResponse { created_at: string; /** - * Memory stores attached to this agent. Always present; empty when no stores are - * attached. + * Memory settings for an agent. */ - memory_stores: Array; + memory: AgentResponse.Memory; /** * Name of the agent @@ -187,23 +186,92 @@ export interface AgentResponse { export namespace AgentResponse { /** - * Reference to a memory store to attach to an agent. + * Memory settings for an agent. */ - export interface MemoryStore { + export interface Memory { /** - * Access level for the store. + * Team memory stores attached to the agent. */ - access: 'read_write' | 'read_only'; + attached_stores: Array; /** - * Instructions for how the agent should use this memory store. Must not be empty. + * Auto-memory state for an agent. */ - instructions: string; + auto_memory: Memory.AutoMemory; + } + + export namespace Memory { + /** + * Reference to a memory store to attach to an agent. + */ + export interface AttachedStore { + /** + * Access level for the store. + */ + access: 'read_write' | 'read_only'; + + /** + * Instructions for how the agent should use this memory store. Must not be empty. + */ + instructions: string; + + /** + * UID of the memory store. + */ + uid: string; + } /** - * UID of the memory store. + * Auto-memory state for an agent. */ - uid: string; + export interface AutoMemory { + /** + * Whether this agent has an agent-owned memory store. + */ + enabled: boolean; + + /** + * Memory store attached to an agent. + */ + store?: AutoMemory.Store; + } + + export namespace AutoMemory { + /** + * Memory store attached to an agent. + */ + export interface Store { + /** + * Access level for the store. + */ + access: 'read_write' | 'read_only'; + + /** + * Instructions for how the agent should use this memory store. + */ + instructions: string; + + /** + * Public owner type. + */ + owner_type: 'user' | 'service_account' | 'team'; + + /** + * Public UID of the user, service account, or team that owns the memory store. + */ + owner_uid: string; + + /** + * UID of the memory store. + */ + uid: string; + + /** + * Optional description for the memory store. + */ + description?: string; + } + } } /** @@ -314,11 +382,9 @@ export interface CreateAgentRequest { mcp_servers?: { [key: string]: AgentAPI.McpServerConfig }; /** - * Optional list of memory stores to attach to the agent. Each store must be - * team-owned by the same team as the agent. Duplicate UIDs within a single request - * are rejected. + * Memory settings for creating an agent. */ - memory_stores?: Array; + memory?: CreateAgentRequest.Memory; /** * Optional base prompt for this agent @@ -396,23 +462,52 @@ export namespace CreateAgentRequest { } /** - * Reference to a memory store to attach to an agent. + * Memory settings for creating an agent. */ - export interface MemoryStore { + export interface Memory { /** - * Access level for the store. + * Existing team memory stores to attach to the agent. Duplicate UIDs within a + * single request are rejected. */ - access: 'read_write' | 'read_only'; + attached_stores?: Array; /** - * Instructions for how the agent should use this memory store. Must not be empty. + * Auto-memory settings for creating an agent. */ - instructions: string; + auto_memory?: Memory.AutoMemory; + } + export namespace Memory { /** - * UID of the memory store. + * Reference to a memory store to attach to an agent. */ - uid: string; + export interface AttachedStore { + /** + * Access level for the store. + */ + access: 'read_write' | 'read_only'; + + /** + * Instructions for how the agent should use this memory store. Must not be empty. + */ + instructions: string; + + /** + * UID of the memory store. + */ + uid: string; + } + + /** + * Auto-memory settings for creating an agent. + */ + export interface AutoMemory { + /** + * Whether to create and attach a default service-account-owned memory store for + * this agent. Defaults to true when omitted. + */ + enabled?: boolean; + } } /** @@ -481,10 +576,9 @@ export interface UpdateAgentRequest { mcp_servers?: { [key: string]: AgentAPI.McpServerConfig }; /** - * Replacement list of memory stores. Omit to leave unchanged, pass an empty array - * to clear, or pass a non-empty array to replace. + * Memory settings for updating an agent. */ - memory_stores?: Array | null; + memory?: UpdateAgentRequest.Memory | null; /** * The new name for the agent @@ -564,23 +658,36 @@ export namespace UpdateAgentRequest { } /** - * Reference to a memory store to attach to an agent. + * Memory settings for updating an agent. */ - export interface MemoryStore { + export interface Memory { /** - * Access level for the store. + * Replacement list of attached team memory stores. Omit to leave unchanged, pass + * an empty array to clear, or pass a non-empty array to replace. */ - access: 'read_write' | 'read_only'; + attached_stores?: Array | null; + } + export namespace Memory { /** - * Instructions for how the agent should use this memory store. Must not be empty. + * Reference to a memory store to attach to an agent. */ - instructions: string; + export interface AttachedStore { + /** + * Access level for the store. + */ + access: 'read_write' | 'read_only'; - /** - * UID of the memory store. - */ - uid: string; + /** + * Instructions for how the agent should use this memory store. Must not be empty. + */ + instructions: string; + + /** + * UID of the memory store. + */ + uid: string; + } } /** @@ -639,11 +746,9 @@ export interface AgentCreateParams { mcp_servers?: { [key: string]: AgentAPI.McpServerConfig }; /** - * Optional list of memory stores to attach to the agent. Each store must be - * team-owned by the same team as the agent. Duplicate UIDs within a single request - * are rejected. + * Memory settings for creating an agent. */ - memory_stores?: Array; + memory?: AgentCreateParams.Memory; /** * Optional base prompt for this agent @@ -721,23 +826,52 @@ export namespace AgentCreateParams { } /** - * Reference to a memory store to attach to an agent. + * Memory settings for creating an agent. */ - export interface MemoryStore { + export interface Memory { /** - * Access level for the store. + * Existing team memory stores to attach to the agent. Duplicate UIDs within a + * single request are rejected. */ - access: 'read_write' | 'read_only'; + attached_stores?: Array; + + /** + * Auto-memory settings for creating an agent. + */ + auto_memory?: Memory.AutoMemory; + } + export namespace Memory { /** - * Instructions for how the agent should use this memory store. Must not be empty. + * Reference to a memory store to attach to an agent. */ - instructions: string; + export interface AttachedStore { + /** + * Access level for the store. + */ + access: 'read_write' | 'read_only'; + + /** + * Instructions for how the agent should use this memory store. Must not be empty. + */ + instructions: string; + + /** + * UID of the memory store. + */ + uid: string; + } /** - * UID of the memory store. + * Auto-memory settings for creating an agent. */ - uid: string; + export interface AutoMemory { + /** + * Whether to create and attach a default service-account-owned memory store for + * this agent. Defaults to true when omitted. + */ + enabled?: boolean; + } } /** @@ -795,10 +929,9 @@ export interface AgentUpdateParams { mcp_servers?: { [key: string]: AgentAPI.McpServerConfig }; /** - * Replacement list of memory stores. Omit to leave unchanged, pass an empty array - * to clear, or pass a non-empty array to replace. + * Memory settings for updating an agent. */ - memory_stores?: Array | null; + memory?: AgentUpdateParams.Memory | null; /** * The new name for the agent @@ -878,23 +1011,36 @@ export namespace AgentUpdateParams { } /** - * Reference to a memory store to attach to an agent. + * Memory settings for updating an agent. */ - export interface MemoryStore { + export interface Memory { /** - * Access level for the store. + * Replacement list of attached team memory stores. Omit to leave unchanged, pass + * an empty array to clear, or pass a non-empty array to replace. */ - access: 'read_write' | 'read_only'; + attached_stores?: Array | null; + } + export namespace Memory { /** - * Instructions for how the agent should use this memory store. Must not be empty. + * Reference to a memory store to attach to an agent. */ - instructions: string; + export interface AttachedStore { + /** + * Access level for the store. + */ + access: 'read_write' | 'read_only'; - /** - * UID of the memory store. - */ - uid: string; + /** + * Instructions for how the agent should use this memory store. Must not be empty. + */ + instructions: string; + + /** + * UID of the memory store. + */ + uid: string; + } } /** diff --git a/src/resources/agent/runs.ts b/src/resources/agent/runs.ts index b5337bb..4053344 100644 --- a/src/resources/agent/runs.ts +++ b/src/resources/agent/runs.ts @@ -346,6 +346,14 @@ export interface RunItem { executor?: AgentAPI.UserProfile; + /** + * Whether the run's type is eligible for cancellation via the API. + * State-independent: false for GitHub Action and local runs; true for all other + * run types (including self-hosted). Clients should still gate the control on the + * run's current state. + */ + is_run_type_cancellable?: boolean; + /** * Whether the sandbox environment is currently running */ diff --git a/tests/api-resources/agent/agent_.test.ts b/tests/api-resources/agent/agent_.test.ts index 2754ded..acf768d 100644 --- a/tests/api-resources/agent/agent_.test.ts +++ b/tests/api-resources/agent/agent_.test.ts @@ -49,13 +49,16 @@ describe('resource agent', () => { warp_id: 'warp_id', }, }, - memory_stores: [ - { - access: 'read_write', - instructions: 'instructions', - uid: 'uid', - }, - ], + memory: { + attached_stores: [ + { + access: 'read_write', + instructions: 'instructions', + uid: 'uid', + }, + ], + auto_memory: { enabled: true }, + }, prompt: 'prompt', secrets: [{ name: 'name' }], skills: ['string'], From 2786b6cda95db75f3c00a9a049cb594f35e7fdfd Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 16 Jun 2026 15:46:31 +0000 Subject: [PATCH 09/11] fix(client): send content-type header for requests with an omitted optional body --- src/client.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/client.ts b/src/client.ts index 46571e4..a63cb66 100644 --- a/src/client.ts +++ b/src/client.ts @@ -717,11 +717,19 @@ export class OzAPI { return () => controller.abort(); } - private buildBody({ options: { body, headers: rawHeaders } }: { options: FinalRequestOptions }): { + private buildBody({ options }: { options: FinalRequestOptions }): { bodyHeaders: HeadersLike; body: BodyInit | undefined; } { + const { body, headers: rawHeaders } = options; if (!body) { + // A resource method always passes a `body` key when its operation defines a + // request body, even if the caller omitted an optional body param. Keep the + // content-type for those, and only elide it for operations with no body at + // all (e.g. GET/DELETE). + if (body == null && 'body' in options) { + return this.#encoder({ body, headers: buildHeaders([rawHeaders]) }); + } return { bodyHeaders: undefined, body: undefined }; } const headers = buildHeaders([rawHeaders]); From 9962d72c129a1a366a50a234cbec55a39c405d75 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 25 Jun 2026 14:20:42 +0000 Subject: [PATCH 10/11] feat(api): api update --- .stats.yml | 6 +++--- src/resources/agent/runs.ts | 5 ++++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.stats.yml b/.stats.yml index 1b273bd..99a72bc 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 23 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-9b4270e56f0c240d415e68959e2e6d4ce00021d6fc0f8d5634fd0f6b0c875036.yml -openapi_spec_hash: 784089d01927148351a5c4f3fbe41d50 -config_hash: e52e930a60998be461fd4af99a2c9f1a +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-f1e163f81d2ce61db616cd94af50251c48dab7d623cfefe0b41f169340e5ffb8.yml +openapi_spec_hash: 0a0b08761d73dee5ce8ba69cbe1bfb9b +config_hash: acebc71033f2d7e71ccea0bf46712ab4 diff --git a/src/resources/agent/runs.ts b/src/resources/agent/runs.ts index 4053344..dbd72e1 100644 --- a/src/resources/agent/runs.ts +++ b/src/resources/agent/runs.ts @@ -408,6 +408,7 @@ export interface RunItem { * - GITHUB_ACTION: Created from a GitHub action * - CLOUD_MODE: Created from a Cloud Mode * - CLI: Created from the CLI + * - JIRA: Created from Jira integration */ source?: RunSourceType; @@ -557,6 +558,7 @@ export namespace RunItem { * - GITHUB_ACTION: Created from a GitHub action * - CLOUD_MODE: Created from a Cloud Mode * - CLI: Created from the CLI + * - JIRA: Created from Jira integration */ export type RunSourceType = | 'LINEAR' @@ -567,7 +569,8 @@ export type RunSourceType = | 'WEB_APP' | 'GITHUB_ACTION' | 'CLOUD_MODE' - | 'CLI'; + | 'CLI' + | 'JIRA'; /** * Current state of the run: From 271f4fcedbaf98f0959cd60a520e3a2d3065521f Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 25 Jun 2026 14:21:12 +0000 Subject: [PATCH 11/11] release: 1.4.0-alpha.4 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 20 ++++++++++++++++++++ package.json | 2 +- src/version.ts | 2 +- 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index c792a8c..949909a 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "1.4.0-alpha.3" + ".": "1.4.0-alpha.4" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 62c39a4..e1ac09f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,25 @@ # Changelog +## 1.4.0-alpha.4 (2026-06-25) + +Full Changelog: [v1.4.0-alpha.3...v1.4.0-alpha.4](https://github.com/warpdotdev/oz-sdk-typescript/compare/v1.4.0-alpha.3...v1.4.0-alpha.4) + +### Features + +* Allow for empty-prompt cloud-agent handoff ([9c70c23](https://github.com/warpdotdev/oz-sdk-typescript/commit/9c70c23f280621a38982ad69d5558baa19461136)) +* **api:** api update ([9962d72](https://github.com/warpdotdev/oz-sdk-typescript/commit/9962d72c129a1a366a50a234cbec55a39c405d75)) +* **api:** api update ([6ca1066](https://github.com/warpdotdev/oz-sdk-typescript/commit/6ca106630fa48317e9da4907ed56c3132b0313d8)) +* **api:** api update ([eb49f4e](https://github.com/warpdotdev/oz-sdk-typescript/commit/eb49f4e0db257b83d8bd411572b127ce57ab8bb8)) +* **api:** api update ([d63714d](https://github.com/warpdotdev/oz-sdk-typescript/commit/d63714d943829a4e8e8f3d32b7ffa91717a94fcc)) +* **api:** api update ([9a36cd0](https://github.com/warpdotdev/oz-sdk-typescript/commit/9a36cd0f406cb1872ac4f77dad9793b5950629c0)) +* Followups for docs-syncing workflow ([5352485](https://github.com/warpdotdev/oz-sdk-typescript/commit/5352485eb4a7a32ab86779d3f8911720f3f980a1)) + + +### Bug Fixes + +* **client:** send content-type header for requests with an omitted optional body ([2786b6c](https://github.com/warpdotdev/oz-sdk-typescript/commit/2786b6cda95db75f3c00a9a049cb594f35e7fdfd)) +* update flatted to resolve CVE-2026-33228 ([#32](https://github.com/warpdotdev/oz-sdk-typescript/issues/32)) ([4841416](https://github.com/warpdotdev/oz-sdk-typescript/commit/48414165a2fa1070ff1aa231a5fc309cf862daad)) + ## 1.4.0-alpha.3 (2026-05-22) Full Changelog: [v1.4.0-alpha.2...v1.4.0-alpha.3](https://github.com/warpdotdev/oz-sdk-typescript/compare/v1.4.0-alpha.2...v1.4.0-alpha.3) diff --git a/package.json b/package.json index 4da132e..585f33b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "oz-agent-sdk", - "version": "1.4.0-alpha.3", + "version": "1.4.0-alpha.4", "description": "The official TypeScript library for the Oz API API", "author": "Oz API <>", "types": "dist/index.d.ts", diff --git a/src/version.ts b/src/version.ts index 1bcee55..88f07e5 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const VERSION = '1.4.0-alpha.3'; // x-release-please-version +export const VERSION = '1.4.0-alpha.4'; // x-release-please-version