From 173a7532c552b3741ecb6e34a177d4f7f4ecce5d Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Thu, 7 May 2026 14:47:04 +0000
Subject: [PATCH 01/35] chore: redact api-key headers in debug logs
---
src/internal/utils/log.ts | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/internal/utils/log.ts b/src/internal/utils/log.ts
index e70ef91..0ff4adb 100644
--- a/src/internal/utils/log.ts
+++ b/src/internal/utils/log.ts
@@ -107,6 +107,8 @@ export const formatRequestDetails = (details: {
name,
(
name.toLowerCase() === 'authorization' ||
+ name.toLowerCase() === 'api-key' ||
+ name.toLowerCase() === 'x-api-key' ||
name.toLowerCase() === 'cookie' ||
name.toLowerCase() === 'set-cookie'
) ?
From cc72fe842eb431c60bbe72f16b3aab1694893fb6 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Thu, 7 May 2026 15:02:06 +0000
Subject: [PATCH 02/35] feat(api): api update
---
.stats.yml | 8 ++--
api.md | 1 +
src/resources/agent/agent_.ts | 46 +++++++++++++++++++++
src/resources/agent/runs.ts | 5 +++
src/resources/agent/schedules.ts | 5 ---
tests/api-resources/agent/agent_.test.ts | 13 ++++++
tests/api-resources/agent/schedules.test.ts | 4 +-
7 files changed, 71 insertions(+), 11 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 2cb0b3b..d5a9669 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
-configured_endpoints: 22
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-1fecc5f5d6ee664d804b81bd1aa6eec4d3f170ffa788d214fead4f7e95ab9d4e.yml
-openapi_spec_hash: 82990b03bd5a93e45bfc79db56ae7fc0
-config_hash: f52e7636f248f25c4ea0b086e7326816
+configured_endpoints: 23
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-e752e75a35d88b84870729ef94b0c32783172983420cbff1b204ca14375553f7.yml
+openapi_spec_hash: 34787afc1e1c84a643431a0f0eb352ae
+config_hash: 5a6e285f6e3a958a887b31b972a3f49c
diff --git a/api.md b/api.md
index 1eb0f66..83812ab 100644
--- a/api.md
+++ b/api.md
@@ -79,6 +79,7 @@ Methods:
- client.agent.agent.update(uid, { ...params }) -> AgentResponse
- client.agent.agent.list() -> ListAgentIdentitiesResponse
- client.agent.agent.delete(uid) -> void
+- client.agent.agent.get(uid) -> AgentResponse
## Sessions
diff --git a/src/resources/agent/agent_.ts b/src/resources/agent/agent_.ts
index 3cc745b..bd1fba1 100644
--- a/src/resources/agent/agent_.ts
+++ b/src/resources/agent/agent_.ts
@@ -67,6 +67,20 @@ export class Agent extends APIResource {
headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
});
}
+
+ /**
+ * Retrieve a single agent by its unique identifier. The response includes an
+ * `available` flag indicating whether the agent is within the team's plan limit
+ * and may be used for runs.
+ *
+ * @example
+ * ```ts
+ * const agentResponse = await client.agent.agent.get('uid');
+ * ```
+ */
+ get(uid: string, options?: RequestOptions): APIPromise {
+ return this._client.get(path`/agent/identities/${uid}`, options);
+ }
}
export interface AgentResponse {
@@ -101,6 +115,16 @@ export interface AgentResponse {
*/
uid: string;
+ /**
+ * Base model for runs executed by this agent. The precedence order for model
+ * resolution is:
+ *
+ * 1. The model specified on the run itself
+ * 2. The agent's base model
+ * 3. The team's default model
+ */
+ base_model?: string;
+
/**
* Optional description of the agent
*/
@@ -125,6 +149,11 @@ export interface CreateAgentRequest {
*/
name: string;
+ /**
+ * Optional base model for runs executed by this agent.
+ */
+ base_model?: string | null;
+
/**
* Optional description of the agent
*/
@@ -171,6 +200,12 @@ export interface ListAgentIdentitiesResponse {
* - Non-empty: replace the field wholesale with the provided value.
*/
export interface UpdateAgentRequest {
+ /**
+ * Replacement base model. Omit or pass `null` to leave unchanged, or pass an empty
+ * string to clear.
+ */
+ base_model?: string | null;
+
/**
* Replacement description. Omit or pass `null` to leave unchanged, or use an empty
* value to clear.
@@ -213,6 +248,11 @@ export interface AgentCreateParams {
*/
name: string;
+ /**
+ * Optional base model for runs executed by this agent.
+ */
+ base_model?: string | null;
+
/**
* Optional description of the agent
*/
@@ -248,6 +288,12 @@ export namespace AgentCreateParams {
}
export interface AgentUpdateParams {
+ /**
+ * Replacement base model. Omit or pass `null` to leave unchanged, or pass an empty
+ * string to clear.
+ */
+ base_model?: string | null;
+
/**
* Replacement description. Omit or pass `null` to leave unchanged, or use an empty
* value to clear.
diff --git a/src/resources/agent/runs.ts b/src/resources/agent/runs.ts
index eb42578..5bd0dc6 100644
--- a/src/resources/agent/runs.ts
+++ b/src/resources/agent/runs.ts
@@ -455,6 +455,11 @@ export namespace RunItem {
* Cost of LLM inference for the run
*/
inference_cost?: number;
+
+ /**
+ * Cost of platform usage for the run
+ */
+ platform_cost?: number;
}
/**
diff --git a/src/resources/agent/schedules.ts b/src/resources/agent/schedules.ts
index b549fe7..22c0e8b 100644
--- a/src/resources/agent/schedules.ts
+++ b/src/resources/agent/schedules.ts
@@ -178,11 +178,6 @@ export interface ScheduledAgentItem {
*/
agent_config?: AgentAPI.AmbientAgentConfig;
- /**
- * UID of the agent that this schedule runs as
- */
- agent_uid?: string;
-
created_by?: AgentAPI.UserProfile;
/**
diff --git a/tests/api-resources/agent/agent_.test.ts b/tests/api-resources/agent/agent_.test.ts
index 3a263ad..55dc1de 100644
--- a/tests/api-resources/agent/agent_.test.ts
+++ b/tests/api-resources/agent/agent_.test.ts
@@ -24,6 +24,7 @@ describe('resource agent', () => {
test.skip('create: required and optional params', async () => {
const response = await client.agent.agent.create({
name: 'name',
+ base_model: 'base_model',
description: 'description',
secrets: [{ name: 'name' }],
skills: ['string'],
@@ -65,4 +66,16 @@ describe('resource agent', () => {
expect(dataAndResponse.data).toBe(response);
expect(dataAndResponse.response).toBe(rawResponse);
});
+
+ // Mock server tests are disabled
+ test.skip('get', async () => {
+ const responsePromise = client.agent.agent.get('uid');
+ const rawResponse = await responsePromise.asResponse();
+ expect(rawResponse).toBeInstanceOf(Response);
+ const response = await responsePromise;
+ expect(response).not.toBeInstanceOf(Response);
+ const dataAndResponse = await responsePromise.withResponse();
+ expect(dataAndResponse.data).toBe(response);
+ expect(dataAndResponse.response).toBe(rawResponse);
+ });
});
diff --git a/tests/api-resources/agent/schedules.test.ts b/tests/api-resources/agent/schedules.test.ts
index b9dc864..8d4e366 100644
--- a/tests/api-resources/agent/schedules.test.ts
+++ b/tests/api-resources/agent/schedules.test.ts
@@ -51,7 +51,7 @@ describe('resource schedules', () => {
skill_spec: 'skill_spec',
worker_host: 'worker_host',
},
- agent_uid: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ agent_uid: 'agent_uid',
enabled: true,
mode: 'normal',
prompt: 'Review open pull requests and provide feedback',
@@ -116,7 +116,7 @@ describe('resource schedules', () => {
skill_spec: 'skill_spec',
worker_host: 'worker_host',
},
- agent_uid: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ agent_uid: 'agent_uid',
mode: 'normal',
prompt: 'prompt',
});
From 1bdbcd55fa2eb52286395a11d9d074172c0ef241 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Thu, 7 May 2026 17:26:29 +0000
Subject: [PATCH 03/35] codegen metadata
---
.stats.yml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index d5a9669..6ec11d8 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-e752e75a35d88b84870729ef94b0c32783172983420cbff1b204ca14375553f7.yml
-openapi_spec_hash: 34787afc1e1c84a643431a0f0eb352ae
-config_hash: 5a6e285f6e3a958a887b31b972a3f49c
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-95fd659ab055d33de4465fa86edddecf1d37495e72a1a8d487b28f49f1a3a08d.yml
+openapi_spec_hash: aba6df5293b615c5551f0e95c969899d
+config_hash: 236823a4936c76818117c16aa5c188df
From a28eb6af6c422d63885d3f1982026ce26f4f01f7 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Thu, 7 May 2026 18:07:20 +0000
Subject: [PATCH 04/35] codegen metadata
---
.stats.yml | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 6ec11d8..d5a9669 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-95fd659ab055d33de4465fa86edddecf1d37495e72a1a8d487b28f49f1a3a08d.yml
-openapi_spec_hash: aba6df5293b615c5551f0e95c969899d
-config_hash: 236823a4936c76818117c16aa5c188df
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-e752e75a35d88b84870729ef94b0c32783172983420cbff1b204ca14375553f7.yml
+openapi_spec_hash: 34787afc1e1c84a643431a0f0eb352ae
+config_hash: 5a6e285f6e3a958a887b31b972a3f49c
From 3df6e50ad1915320ad8b0e15be00dac5c55c1b06 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Fri, 8 May 2026 17:26:15 +0000
Subject: [PATCH 05/35] feat: Retrieve memories in third party harnesses
---
.stats.yml | 6 +++---
src/resources/agent/schedules.ts | 5 +++++
tests/api-resources/agent/schedules.test.ts | 4 ++--
3 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index d5a9669..2503aa1 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-e752e75a35d88b84870729ef94b0c32783172983420cbff1b204ca14375553f7.yml
-openapi_spec_hash: 34787afc1e1c84a643431a0f0eb352ae
-config_hash: 5a6e285f6e3a958a887b31b972a3f49c
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-8928c6970dcbece8f34d4853c3f195ed09337e7327a98f76c98b6f4320128d2a.yml
+openapi_spec_hash: 4843439a919091138edb8a66714414e8
+config_hash: 236823a4936c76818117c16aa5c188df
diff --git a/src/resources/agent/schedules.ts b/src/resources/agent/schedules.ts
index 22c0e8b..b549fe7 100644
--- a/src/resources/agent/schedules.ts
+++ b/src/resources/agent/schedules.ts
@@ -178,6 +178,11 @@ export interface ScheduledAgentItem {
*/
agent_config?: AgentAPI.AmbientAgentConfig;
+ /**
+ * UID of the agent that this schedule runs as
+ */
+ agent_uid?: string;
+
created_by?: AgentAPI.UserProfile;
/**
diff --git a/tests/api-resources/agent/schedules.test.ts b/tests/api-resources/agent/schedules.test.ts
index 8d4e366..b9dc864 100644
--- a/tests/api-resources/agent/schedules.test.ts
+++ b/tests/api-resources/agent/schedules.test.ts
@@ -51,7 +51,7 @@ describe('resource schedules', () => {
skill_spec: 'skill_spec',
worker_host: 'worker_host',
},
- agent_uid: 'agent_uid',
+ agent_uid: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
enabled: true,
mode: 'normal',
prompt: 'Review open pull requests and provide feedback',
@@ -116,7 +116,7 @@ describe('resource schedules', () => {
skill_spec: 'skill_spec',
worker_host: 'worker_host',
},
- agent_uid: 'agent_uid',
+ agent_uid: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
mode: 'normal',
prompt: 'prompt',
});
From cfd9f367cd29d9bd81d74e1b1c4c2a908806967b Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Fri, 8 May 2026 19:27:58 +0000
Subject: [PATCH 06/35] feat(api): api update
---
.stats.yml | 6 +++---
src/resources/agent/schedules.ts | 5 -----
tests/api-resources/agent/schedules.test.ts | 4 ++--
3 files changed, 5 insertions(+), 10 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 2503aa1..d5a9669 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-8928c6970dcbece8f34d4853c3f195ed09337e7327a98f76c98b6f4320128d2a.yml
-openapi_spec_hash: 4843439a919091138edb8a66714414e8
-config_hash: 236823a4936c76818117c16aa5c188df
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-e752e75a35d88b84870729ef94b0c32783172983420cbff1b204ca14375553f7.yml
+openapi_spec_hash: 34787afc1e1c84a643431a0f0eb352ae
+config_hash: 5a6e285f6e3a958a887b31b972a3f49c
diff --git a/src/resources/agent/schedules.ts b/src/resources/agent/schedules.ts
index b549fe7..22c0e8b 100644
--- a/src/resources/agent/schedules.ts
+++ b/src/resources/agent/schedules.ts
@@ -178,11 +178,6 @@ export interface ScheduledAgentItem {
*/
agent_config?: AgentAPI.AmbientAgentConfig;
- /**
- * UID of the agent that this schedule runs as
- */
- agent_uid?: string;
-
created_by?: AgentAPI.UserProfile;
/**
diff --git a/tests/api-resources/agent/schedules.test.ts b/tests/api-resources/agent/schedules.test.ts
index b9dc864..8d4e366 100644
--- a/tests/api-resources/agent/schedules.test.ts
+++ b/tests/api-resources/agent/schedules.test.ts
@@ -51,7 +51,7 @@ describe('resource schedules', () => {
skill_spec: 'skill_spec',
worker_host: 'worker_host',
},
- agent_uid: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ agent_uid: 'agent_uid',
enabled: true,
mode: 'normal',
prompt: 'Review open pull requests and provide feedback',
@@ -116,7 +116,7 @@ describe('resource schedules', () => {
skill_spec: 'skill_spec',
worker_host: 'worker_host',
},
- agent_uid: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ agent_uid: 'agent_uid',
mode: 'normal',
prompt: 'prompt',
});
From f987f2148a940658d6e751ef1b98e4a5dbc2c3a3 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Sat, 9 May 2026 02:28:08 +0000
Subject: [PATCH 07/35] =?UTF-8?q?feat(memory):=20agent=20identity=20memory?=
=?UTF-8?q?=20store=20attachments=20=E2=80=94=20API=20layer?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.stats.yml | 4 +-
src/resources/agent/agent_.ts | 132 +++++++++++++++++++++++
tests/api-resources/agent/agent_.test.ts | 7 ++
3 files changed, 141 insertions(+), 2 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index d5a9669..a48c37d 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-e752e75a35d88b84870729ef94b0c32783172983420cbff1b204ca14375553f7.yml
-openapi_spec_hash: 34787afc1e1c84a643431a0f0eb352ae
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-2783b07289e9f71f07550497c5180824f3dbc92477b5d1d8a80fa6dce4e3b8b6.yml
+openapi_spec_hash: e1d4cff965beed1ec255bf387d55d940
config_hash: 5a6e285f6e3a958a887b31b972a3f49c
diff --git a/src/resources/agent/agent_.ts b/src/resources/agent/agent_.ts
index bd1fba1..9e80ee7 100644
--- a/src/resources/agent/agent_.ts
+++ b/src/resources/agent/agent_.ts
@@ -94,6 +94,12 @@ export interface AgentResponse {
*/
created_at: string;
+ /**
+ * Memory stores attached to this agent. Always present; empty when no stores are
+ * attached.
+ */
+ memory_stores: Array;
+
/**
* Name of the agent
*/
@@ -132,6 +138,26 @@ export interface AgentResponse {
}
export namespace AgentResponse {
+ /**
+ * Reference to a memory store to attach to an agent.
+ */
+ export interface MemoryStore {
+ /**
+ * 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;
+ }
+
/**
* Reference to a managed secret by name.
*/
@@ -159,6 +185,13 @@ export interface CreateAgentRequest {
*/
description?: string | null;
+ /**
+ * 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_stores?: Array;
+
/**
* Optional list of secrets associated with the agent. Duplicate names within a
* single request are rejected. Each entry is unioned into the run-time secret
@@ -177,6 +210,26 @@ export interface CreateAgentRequest {
}
export namespace CreateAgentRequest {
+ /**
+ * Reference to a memory store to attach to an agent.
+ */
+ export interface MemoryStore {
+ /**
+ * 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;
+ }
+
/**
* Reference to a managed secret by name.
*/
@@ -212,6 +265,12 @@ export interface UpdateAgentRequest {
*/
description?: string | null;
+ /**
+ * Replacement list of memory stores. Omit to leave unchanged, pass an empty array
+ * to clear, or pass a non-empty array to replace.
+ */
+ memory_stores?: Array | null;
+
/**
* The new name for the agent
*/
@@ -231,6 +290,26 @@ export interface UpdateAgentRequest {
}
export namespace UpdateAgentRequest {
+ /**
+ * Reference to a memory store to attach to an agent.
+ */
+ export interface MemoryStore {
+ /**
+ * 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;
+ }
+
/**
* Reference to a managed secret by name.
*/
@@ -258,6 +337,13 @@ export interface AgentCreateParams {
*/
description?: string | null;
+ /**
+ * 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_stores?: Array;
+
/**
* Optional list of secrets associated with the agent. Duplicate names within a
* single request are rejected. Each entry is unioned into the run-time secret
@@ -276,6 +362,26 @@ export interface AgentCreateParams {
}
export namespace AgentCreateParams {
+ /**
+ * Reference to a memory store to attach to an agent.
+ */
+ export interface MemoryStore {
+ /**
+ * 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;
+ }
+
/**
* Reference to a managed secret by name.
*/
@@ -300,6 +406,12 @@ export interface AgentUpdateParams {
*/
description?: string | null;
+ /**
+ * Replacement list of memory stores. Omit to leave unchanged, pass an empty array
+ * to clear, or pass a non-empty array to replace.
+ */
+ memory_stores?: Array | null;
+
/**
* The new name for the agent
*/
@@ -319,6 +431,26 @@ export interface AgentUpdateParams {
}
export namespace AgentUpdateParams {
+ /**
+ * Reference to a memory store to attach to an agent.
+ */
+ export interface MemoryStore {
+ /**
+ * 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;
+ }
+
/**
* Reference to a managed secret by name.
*/
diff --git a/tests/api-resources/agent/agent_.test.ts b/tests/api-resources/agent/agent_.test.ts
index 55dc1de..96d5eef 100644
--- a/tests/api-resources/agent/agent_.test.ts
+++ b/tests/api-resources/agent/agent_.test.ts
@@ -26,6 +26,13 @@ describe('resource agent', () => {
name: 'name',
base_model: 'base_model',
description: 'description',
+ memory_stores: [
+ {
+ access: 'read_write',
+ instructions: 'instructions',
+ uid: 'uid',
+ },
+ ],
secrets: [{ name: 'name' }],
skills: ['string'],
});
From 56324ee8cf997f928aa67e3c95821b78fea619b2 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Sat, 9 May 2026 02:44:12 +0000
Subject: [PATCH 08/35] feat(memory): wire memory stores into run pipeline and
add listing endpoint
---
.stats.yml | 6 ++---
src/resources/agent/agent.ts | 25 +++++++++++++++++++++
src/resources/agent/schedules.ts | 5 +++++
tests/api-resources/agent/schedules.test.ts | 18 +++++++++++++--
4 files changed, 49 insertions(+), 5 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index a48c37d..2857be4 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-2783b07289e9f71f07550497c5180824f3dbc92477b5d1d8a80fa6dce4e3b8b6.yml
-openapi_spec_hash: e1d4cff965beed1ec255bf387d55d940
-config_hash: 5a6e285f6e3a958a887b31b972a3f49c
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-8c84aaafca600b8a8f64e590997958a0b9dcb6172fdf3220dd243c20bd0ee3dc.yml
+openapi_spec_hash: 82d67b5080e55941b619875c222b94b8
+config_hash: 236823a4936c76818117c16aa5c188df
diff --git a/src/resources/agent/agent.ts b/src/resources/agent/agent.ts
index e9faa4e..48bfecc 100644
--- a/src/resources/agent/agent.ts
+++ b/src/resources/agent/agent.ts
@@ -250,6 +250,11 @@ export interface AmbientAgentConfig {
*/
mcp_servers?: { [key: string]: McpServerConfig };
+ /**
+ * Memory stores to attach to this run.
+ */
+ memory_stores?: Array;
+
/**
* LLM model to use (uses team default if not specified)
*/
@@ -318,6 +323,26 @@ export namespace AmbientAgentConfig {
claude_auth_secret_name?: string;
}
+ /**
+ * Reference to a memory store to attach to an agent.
+ */
+ export interface MemoryStore {
+ /**
+ * 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;
+ }
+
/**
* Configures sharing behavior for the run's shared session. When set, the worker
* emits `--share public:` and the bundled Warp client applies an
diff --git a/src/resources/agent/schedules.ts b/src/resources/agent/schedules.ts
index 22c0e8b..b549fe7 100644
--- a/src/resources/agent/schedules.ts
+++ b/src/resources/agent/schedules.ts
@@ -178,6 +178,11 @@ export interface ScheduledAgentItem {
*/
agent_config?: AgentAPI.AmbientAgentConfig;
+ /**
+ * UID of the agent that this schedule runs as
+ */
+ agent_uid?: string;
+
created_by?: AgentAPI.UserProfile;
/**
diff --git a/tests/api-resources/agent/schedules.test.ts b/tests/api-resources/agent/schedules.test.ts
index 8d4e366..ca202ed 100644
--- a/tests/api-resources/agent/schedules.test.ts
+++ b/tests/api-resources/agent/schedules.test.ts
@@ -45,13 +45,20 @@ describe('resource schedules', () => {
warp_id: 'warp_id',
},
},
+ memory_stores: [
+ {
+ access: 'read_write',
+ instructions: 'instructions',
+ uid: 'uid',
+ },
+ ],
model_id: 'model_id',
name: 'name',
session_sharing: { public_access: 'VIEWER' },
skill_spec: 'skill_spec',
worker_host: 'worker_host',
},
- agent_uid: 'agent_uid',
+ agent_uid: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
enabled: true,
mode: 'normal',
prompt: 'Review open pull requests and provide feedback',
@@ -110,13 +117,20 @@ describe('resource schedules', () => {
warp_id: 'warp_id',
},
},
+ memory_stores: [
+ {
+ access: 'read_write',
+ instructions: 'instructions',
+ uid: 'uid',
+ },
+ ],
model_id: 'model_id',
name: 'name',
session_sharing: { public_access: 'VIEWER' },
skill_spec: 'skill_spec',
worker_host: 'worker_host',
},
- agent_uid: 'agent_uid',
+ agent_uid: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
mode: 'normal',
prompt: 'prompt',
});
From b5cf34cfa1177dd0b0b71b5d9c4b49842196c19e Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Sat, 9 May 2026 18:34:58 +0000
Subject: [PATCH 09/35] codegen metadata
---
.stats.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 2857be4..addf7af 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-8c84aaafca600b8a8f64e590997958a0b9dcb6172fdf3220dd243c20bd0ee3dc.yml
-openapi_spec_hash: 82d67b5080e55941b619875c222b94b8
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-f17568757e003a96eb9843fb7f173f5df491bc3aa6b39a5189e9c33602912121.yml
+openapi_spec_hash: a391afecf639f9c4993f37e5bbd06369
config_hash: 236823a4936c76818117c16aa5c188df
From 89d70278e9168cd392e2b0d2379e9e2e08e1f995 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Mon, 11 May 2026 14:41:43 +0000
Subject: [PATCH 10/35] codegen metadata
---
.stats.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index addf7af..4f81387 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-f17568757e003a96eb9843fb7f173f5df491bc3aa6b39a5189e9c33602912121.yml
-openapi_spec_hash: a391afecf639f9c4993f37e5bbd06369
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-39a99ab48c1c418a7cf1535c85ff115b2745b5a6fd04aa4d148ae91a58a3dcd8.yml
+openapi_spec_hash: 5c307d9da7c5debd964c0da4ebe82214
config_hash: 236823a4936c76818117c16aa5c188df
From 63ba09ae4224b712830fb30980b96e3658804e01 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Mon, 11 May 2026 14:43:29 +0000
Subject: [PATCH 11/35] feat(api): api update
---
.stats.yml | 6 +-
src/resources/agent/agent.ts | 25 ----
src/resources/agent/agent_.ts | 132 --------------------
src/resources/agent/schedules.ts | 5 -
tests/api-resources/agent/agent_.test.ts | 7 --
tests/api-resources/agent/schedules.test.ts | 18 +--
6 files changed, 5 insertions(+), 188 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 4f81387..d5a9669 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-39a99ab48c1c418a7cf1535c85ff115b2745b5a6fd04aa4d148ae91a58a3dcd8.yml
-openapi_spec_hash: 5c307d9da7c5debd964c0da4ebe82214
-config_hash: 236823a4936c76818117c16aa5c188df
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-e752e75a35d88b84870729ef94b0c32783172983420cbff1b204ca14375553f7.yml
+openapi_spec_hash: 34787afc1e1c84a643431a0f0eb352ae
+config_hash: 5a6e285f6e3a958a887b31b972a3f49c
diff --git a/src/resources/agent/agent.ts b/src/resources/agent/agent.ts
index 48bfecc..e9faa4e 100644
--- a/src/resources/agent/agent.ts
+++ b/src/resources/agent/agent.ts
@@ -250,11 +250,6 @@ export interface AmbientAgentConfig {
*/
mcp_servers?: { [key: string]: McpServerConfig };
- /**
- * Memory stores to attach to this run.
- */
- memory_stores?: Array;
-
/**
* LLM model to use (uses team default if not specified)
*/
@@ -323,26 +318,6 @@ export namespace AmbientAgentConfig {
claude_auth_secret_name?: string;
}
- /**
- * Reference to a memory store to attach to an agent.
- */
- export interface MemoryStore {
- /**
- * 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;
- }
-
/**
* Configures sharing behavior for the run's shared session. When set, the worker
* emits `--share public:` and the bundled Warp client applies an
diff --git a/src/resources/agent/agent_.ts b/src/resources/agent/agent_.ts
index 9e80ee7..bd1fba1 100644
--- a/src/resources/agent/agent_.ts
+++ b/src/resources/agent/agent_.ts
@@ -94,12 +94,6 @@ export interface AgentResponse {
*/
created_at: string;
- /**
- * Memory stores attached to this agent. Always present; empty when no stores are
- * attached.
- */
- memory_stores: Array;
-
/**
* Name of the agent
*/
@@ -138,26 +132,6 @@ export interface AgentResponse {
}
export namespace AgentResponse {
- /**
- * Reference to a memory store to attach to an agent.
- */
- export interface MemoryStore {
- /**
- * 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;
- }
-
/**
* Reference to a managed secret by name.
*/
@@ -185,13 +159,6 @@ export interface CreateAgentRequest {
*/
description?: string | null;
- /**
- * 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_stores?: Array;
-
/**
* Optional list of secrets associated with the agent. Duplicate names within a
* single request are rejected. Each entry is unioned into the run-time secret
@@ -210,26 +177,6 @@ export interface CreateAgentRequest {
}
export namespace CreateAgentRequest {
- /**
- * Reference to a memory store to attach to an agent.
- */
- export interface MemoryStore {
- /**
- * 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;
- }
-
/**
* Reference to a managed secret by name.
*/
@@ -265,12 +212,6 @@ export interface UpdateAgentRequest {
*/
description?: string | null;
- /**
- * Replacement list of memory stores. Omit to leave unchanged, pass an empty array
- * to clear, or pass a non-empty array to replace.
- */
- memory_stores?: Array | null;
-
/**
* The new name for the agent
*/
@@ -290,26 +231,6 @@ export interface UpdateAgentRequest {
}
export namespace UpdateAgentRequest {
- /**
- * Reference to a memory store to attach to an agent.
- */
- export interface MemoryStore {
- /**
- * 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;
- }
-
/**
* Reference to a managed secret by name.
*/
@@ -337,13 +258,6 @@ export interface AgentCreateParams {
*/
description?: string | null;
- /**
- * 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_stores?: Array;
-
/**
* Optional list of secrets associated with the agent. Duplicate names within a
* single request are rejected. Each entry is unioned into the run-time secret
@@ -362,26 +276,6 @@ export interface AgentCreateParams {
}
export namespace AgentCreateParams {
- /**
- * Reference to a memory store to attach to an agent.
- */
- export interface MemoryStore {
- /**
- * 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;
- }
-
/**
* Reference to a managed secret by name.
*/
@@ -406,12 +300,6 @@ export interface AgentUpdateParams {
*/
description?: string | null;
- /**
- * Replacement list of memory stores. Omit to leave unchanged, pass an empty array
- * to clear, or pass a non-empty array to replace.
- */
- memory_stores?: Array | null;
-
/**
* The new name for the agent
*/
@@ -431,26 +319,6 @@ export interface AgentUpdateParams {
}
export namespace AgentUpdateParams {
- /**
- * Reference to a memory store to attach to an agent.
- */
- export interface MemoryStore {
- /**
- * 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;
- }
-
/**
* Reference to a managed secret by name.
*/
diff --git a/src/resources/agent/schedules.ts b/src/resources/agent/schedules.ts
index b549fe7..22c0e8b 100644
--- a/src/resources/agent/schedules.ts
+++ b/src/resources/agent/schedules.ts
@@ -178,11 +178,6 @@ export interface ScheduledAgentItem {
*/
agent_config?: AgentAPI.AmbientAgentConfig;
- /**
- * UID of the agent that this schedule runs as
- */
- agent_uid?: string;
-
created_by?: AgentAPI.UserProfile;
/**
diff --git a/tests/api-resources/agent/agent_.test.ts b/tests/api-resources/agent/agent_.test.ts
index 96d5eef..55dc1de 100644
--- a/tests/api-resources/agent/agent_.test.ts
+++ b/tests/api-resources/agent/agent_.test.ts
@@ -26,13 +26,6 @@ describe('resource agent', () => {
name: 'name',
base_model: 'base_model',
description: 'description',
- memory_stores: [
- {
- access: 'read_write',
- instructions: 'instructions',
- uid: 'uid',
- },
- ],
secrets: [{ name: 'name' }],
skills: ['string'],
});
diff --git a/tests/api-resources/agent/schedules.test.ts b/tests/api-resources/agent/schedules.test.ts
index ca202ed..8d4e366 100644
--- a/tests/api-resources/agent/schedules.test.ts
+++ b/tests/api-resources/agent/schedules.test.ts
@@ -45,20 +45,13 @@ describe('resource schedules', () => {
warp_id: 'warp_id',
},
},
- memory_stores: [
- {
- access: 'read_write',
- instructions: 'instructions',
- uid: 'uid',
- },
- ],
model_id: 'model_id',
name: 'name',
session_sharing: { public_access: 'VIEWER' },
skill_spec: 'skill_spec',
worker_host: 'worker_host',
},
- agent_uid: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ agent_uid: 'agent_uid',
enabled: true,
mode: 'normal',
prompt: 'Review open pull requests and provide feedback',
@@ -117,20 +110,13 @@ describe('resource schedules', () => {
warp_id: 'warp_id',
},
},
- memory_stores: [
- {
- access: 'read_write',
- instructions: 'instructions',
- uid: 'uid',
- },
- ],
model_id: 'model_id',
name: 'name',
session_sharing: { public_access: 'VIEWER' },
skill_spec: 'skill_spec',
worker_host: 'worker_host',
},
- agent_uid: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
+ agent_uid: 'agent_uid',
mode: 'normal',
prompt: 'prompt',
});
From bc889e1be8e9d52df135230cb37aa6817192e4cd Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Mon, 11 May 2026 15:49:21 +0000
Subject: [PATCH 12/35] feat(agents): add prompt property to agent identity
data model
---
.stats.yml | 4 ++--
src/resources/agent/agent_.ts | 27 ++++++++++++++++++++++++
tests/api-resources/agent/agent_.test.ts | 1 +
3 files changed, 30 insertions(+), 2 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index d5a9669..8a04b2b 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-e752e75a35d88b84870729ef94b0c32783172983420cbff1b204ca14375553f7.yml
-openapi_spec_hash: 34787afc1e1c84a643431a0f0eb352ae
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-d662aff074fd108261bcfc38540e31dbbbd86c4e94a798ebe58714650c21cb87.yml
+openapi_spec_hash: 7065b44212d19f637200a4b5da97c2e2
config_hash: 5a6e285f6e3a958a887b31b972a3f49c
diff --git a/src/resources/agent/agent_.ts b/src/resources/agent/agent_.ts
index bd1fba1..047103f 100644
--- a/src/resources/agent/agent_.ts
+++ b/src/resources/agent/agent_.ts
@@ -129,6 +129,11 @@ export interface AgentResponse {
* Optional description of the agent
*/
description?: string | null;
+
+ /**
+ * Optional base prompt for this agent
+ */
+ prompt?: string | null;
}
export namespace AgentResponse {
@@ -159,6 +164,11 @@ export interface CreateAgentRequest {
*/
description?: string | null;
+ /**
+ * Optional base prompt for this agent
+ */
+ prompt?: string | null;
+
/**
* Optional list of secrets associated with the agent. Duplicate names within a
* single request are rejected. Each entry is unioned into the run-time secret
@@ -217,6 +227,12 @@ export interface UpdateAgentRequest {
*/
name?: string;
+ /**
+ * Replacement prompt. Omit or pass `null` to leave unchanged, or use an empty
+ * value to clear.
+ */
+ prompt?: string | null;
+
/**
* Replacement list of secrets. Omit to leave unchanged, pass an empty array to
* clear, or pass a non-empty array to replace. Duplicate names are rejected.
@@ -258,6 +274,11 @@ export interface AgentCreateParams {
*/
description?: string | null;
+ /**
+ * Optional base prompt for this agent
+ */
+ prompt?: string | null;
+
/**
* Optional list of secrets associated with the agent. Duplicate names within a
* single request are rejected. Each entry is unioned into the run-time secret
@@ -305,6 +326,12 @@ export interface AgentUpdateParams {
*/
name?: string;
+ /**
+ * Replacement prompt. Omit or pass `null` to leave unchanged, or use an empty
+ * value to clear.
+ */
+ prompt?: string | null;
+
/**
* Replacement list of secrets. Omit to leave unchanged, pass an empty array to
* clear, or pass a non-empty array to replace. Duplicate names are rejected.
diff --git a/tests/api-resources/agent/agent_.test.ts b/tests/api-resources/agent/agent_.test.ts
index 55dc1de..b0e24aa 100644
--- a/tests/api-resources/agent/agent_.test.ts
+++ b/tests/api-resources/agent/agent_.test.ts
@@ -26,6 +26,7 @@ describe('resource agent', () => {
name: 'name',
base_model: 'base_model',
description: 'description',
+ prompt: 'prompt',
secrets: [{ name: 'name' }],
skills: ['string'],
});
From c82dc153cdac6ab44e4e2aa3bf451a50bba54a52 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Tue, 12 May 2026 02:27:26 +0000
Subject: [PATCH 13/35] feat: Add per-agent AWS Bedrock OIDC inference role
(backend)
---
.stats.yml | 6 +-
src/resources/agent/agent.ts | 57 ++++
src/resources/agent/agent_.ts | 292 ++++++++++++++++++++
src/resources/agent/schedules.ts | 5 +
tests/api-resources/agent/agent_.test.ts | 8 +
tests/api-resources/agent/schedules.test.ts | 20 +-
6 files changed, 383 insertions(+), 5 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 8a04b2b..8e0d8bf 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-d662aff074fd108261bcfc38540e31dbbbd86c4e94a798ebe58714650c21cb87.yml
-openapi_spec_hash: 7065b44212d19f637200a4b5da97c2e2
-config_hash: 5a6e285f6e3a958a887b31b972a3f49c
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-b719dd35d7850ee303cdebf54fa3dfddb492a6f578344c2060cfae013b61541c.yml
+openapi_spec_hash: 4c21e0d940ef5fc42767be5380571c5d
+config_hash: 236823a4936c76818117c16aa5c188df
diff --git a/src/resources/agent/agent.ts b/src/resources/agent/agent.ts
index e9faa4e..17bf932 100644
--- a/src/resources/agent/agent.ts
+++ b/src/resources/agent/agent.ts
@@ -245,11 +245,21 @@ export interface AmbientAgentConfig {
*/
idle_timeout_minutes?: number;
+ /**
+ * Inference provider settings used for LLM calls.
+ */
+ inference_providers?: AmbientAgentConfig.InferenceProviders;
+
/**
* Map of MCP server configurations by name
*/
mcp_servers?: { [key: string]: McpServerConfig };
+ /**
+ * Memory stores to attach to this run.
+ */
+ memory_stores?: Array;
+
/**
* LLM model to use (uses team default if not specified)
*/
@@ -318,6 +328,53 @@ export namespace AmbientAgentConfig {
claude_auth_secret_name?: string;
}
+ /**
+ * Inference provider settings used for LLM calls.
+ */
+ export interface InferenceProviders {
+ /**
+ * Configures AWS Bedrock as the LLM inference provider for this agent or run.
+ */
+ aws?: InferenceProviders.Aws;
+ }
+
+ export namespace InferenceProviders {
+ /**
+ * Configures AWS Bedrock as the LLM inference provider for this agent or run.
+ */
+ export interface Aws {
+ /**
+ * If true, opt out of Bedrock at this layer.
+ */
+ disabled?: boolean;
+
+ /**
+ * IAM role ARN to assume when calling Bedrock.
+ */
+ role_arn?: string;
+ }
+ }
+
+ /**
+ * Reference to a memory store to attach to an agent.
+ */
+ export interface MemoryStore {
+ /**
+ * 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;
+ }
+
/**
* Configures sharing behavior for the run's shared session. When set, the worker
* emits `--share public:` and the bundled Warp client applies an
diff --git a/src/resources/agent/agent_.ts b/src/resources/agent/agent_.ts
index 047103f..0456dc8 100644
--- a/src/resources/agent/agent_.ts
+++ b/src/resources/agent/agent_.ts
@@ -94,6 +94,12 @@ export interface AgentResponse {
*/
created_at: string;
+ /**
+ * Memory stores attached to this agent. Always present; empty when no stores are
+ * attached.
+ */
+ memory_stores: Array;
+
/**
* Name of the agent
*/
@@ -130,6 +136,11 @@ export interface AgentResponse {
*/
description?: string | null;
+ /**
+ * Inference provider settings used for LLM calls.
+ */
+ inference_providers?: AgentResponse.InferenceProviders;
+
/**
* Optional base prompt for this agent
*/
@@ -137,6 +148,26 @@ export interface AgentResponse {
}
export namespace AgentResponse {
+ /**
+ * Reference to a memory store to attach to an agent.
+ */
+ export interface MemoryStore {
+ /**
+ * 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;
+ }
+
/**
* Reference to a managed secret by name.
*/
@@ -146,6 +177,33 @@ export namespace AgentResponse {
*/
name: string;
}
+
+ /**
+ * Inference provider settings used for LLM calls.
+ */
+ export interface InferenceProviders {
+ /**
+ * Configures AWS Bedrock as the LLM inference provider for this agent or run.
+ */
+ aws?: InferenceProviders.Aws;
+ }
+
+ export namespace InferenceProviders {
+ /**
+ * Configures AWS Bedrock as the LLM inference provider for this agent or run.
+ */
+ export interface Aws {
+ /**
+ * If true, opt out of Bedrock at this layer.
+ */
+ disabled?: boolean;
+
+ /**
+ * IAM role ARN to assume when calling Bedrock.
+ */
+ role_arn?: string;
+ }
+ }
}
export interface CreateAgentRequest {
@@ -164,6 +222,18 @@ export interface CreateAgentRequest {
*/
description?: string | null;
+ /**
+ * Inference provider settings used for LLM calls.
+ */
+ inference_providers?: CreateAgentRequest.InferenceProviders;
+
+ /**
+ * 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_stores?: Array;
+
/**
* Optional base prompt for this agent
*/
@@ -187,6 +257,53 @@ export interface CreateAgentRequest {
}
export namespace CreateAgentRequest {
+ /**
+ * Inference provider settings used for LLM calls.
+ */
+ export interface InferenceProviders {
+ /**
+ * Configures AWS Bedrock as the LLM inference provider for this agent or run.
+ */
+ aws?: InferenceProviders.Aws;
+ }
+
+ export namespace InferenceProviders {
+ /**
+ * Configures AWS Bedrock as the LLM inference provider for this agent or run.
+ */
+ export interface Aws {
+ /**
+ * If true, opt out of Bedrock at this layer.
+ */
+ disabled?: boolean;
+
+ /**
+ * IAM role ARN to assume when calling Bedrock.
+ */
+ role_arn?: string;
+ }
+ }
+
+ /**
+ * Reference to a memory store to attach to an agent.
+ */
+ export interface MemoryStore {
+ /**
+ * 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;
+ }
+
/**
* Reference to a managed secret by name.
*/
@@ -222,6 +339,17 @@ export interface UpdateAgentRequest {
*/
description?: string | null;
+ /**
+ * Inference provider settings used for LLM calls.
+ */
+ inference_providers?: UpdateAgentRequest.InferenceProviders | null;
+
+ /**
+ * Replacement list of memory stores. Omit to leave unchanged, pass an empty array
+ * to clear, or pass a non-empty array to replace.
+ */
+ memory_stores?: Array | null;
+
/**
* The new name for the agent
*/
@@ -247,6 +375,53 @@ export interface UpdateAgentRequest {
}
export namespace UpdateAgentRequest {
+ /**
+ * Inference provider settings used for LLM calls.
+ */
+ export interface InferenceProviders {
+ /**
+ * Configures AWS Bedrock as the LLM inference provider for this agent or run.
+ */
+ aws?: InferenceProviders.Aws;
+ }
+
+ export namespace InferenceProviders {
+ /**
+ * Configures AWS Bedrock as the LLM inference provider for this agent or run.
+ */
+ export interface Aws {
+ /**
+ * If true, opt out of Bedrock at this layer.
+ */
+ disabled?: boolean;
+
+ /**
+ * IAM role ARN to assume when calling Bedrock.
+ */
+ role_arn?: string;
+ }
+ }
+
+ /**
+ * Reference to a memory store to attach to an agent.
+ */
+ export interface MemoryStore {
+ /**
+ * 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;
+ }
+
/**
* Reference to a managed secret by name.
*/
@@ -274,6 +449,18 @@ export interface AgentCreateParams {
*/
description?: string | null;
+ /**
+ * Inference provider settings used for LLM calls.
+ */
+ inference_providers?: AgentCreateParams.InferenceProviders;
+
+ /**
+ * 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_stores?: Array;
+
/**
* Optional base prompt for this agent
*/
@@ -297,6 +484,53 @@ export interface AgentCreateParams {
}
export namespace AgentCreateParams {
+ /**
+ * Inference provider settings used for LLM calls.
+ */
+ export interface InferenceProviders {
+ /**
+ * Configures AWS Bedrock as the LLM inference provider for this agent or run.
+ */
+ aws?: InferenceProviders.Aws;
+ }
+
+ export namespace InferenceProviders {
+ /**
+ * Configures AWS Bedrock as the LLM inference provider for this agent or run.
+ */
+ export interface Aws {
+ /**
+ * If true, opt out of Bedrock at this layer.
+ */
+ disabled?: boolean;
+
+ /**
+ * IAM role ARN to assume when calling Bedrock.
+ */
+ role_arn?: string;
+ }
+ }
+
+ /**
+ * Reference to a memory store to attach to an agent.
+ */
+ export interface MemoryStore {
+ /**
+ * 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;
+ }
+
/**
* Reference to a managed secret by name.
*/
@@ -321,6 +555,17 @@ export interface AgentUpdateParams {
*/
description?: string | null;
+ /**
+ * Inference provider settings used for LLM calls.
+ */
+ inference_providers?: AgentUpdateParams.InferenceProviders | null;
+
+ /**
+ * Replacement list of memory stores. Omit to leave unchanged, pass an empty array
+ * to clear, or pass a non-empty array to replace.
+ */
+ memory_stores?: Array | null;
+
/**
* The new name for the agent
*/
@@ -346,6 +591,53 @@ export interface AgentUpdateParams {
}
export namespace AgentUpdateParams {
+ /**
+ * Inference provider settings used for LLM calls.
+ */
+ export interface InferenceProviders {
+ /**
+ * Configures AWS Bedrock as the LLM inference provider for this agent or run.
+ */
+ aws?: InferenceProviders.Aws;
+ }
+
+ export namespace InferenceProviders {
+ /**
+ * Configures AWS Bedrock as the LLM inference provider for this agent or run.
+ */
+ export interface Aws {
+ /**
+ * If true, opt out of Bedrock at this layer.
+ */
+ disabled?: boolean;
+
+ /**
+ * IAM role ARN to assume when calling Bedrock.
+ */
+ role_arn?: string;
+ }
+ }
+
+ /**
+ * Reference to a memory store to attach to an agent.
+ */
+ export interface MemoryStore {
+ /**
+ * 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;
+ }
+
/**
* Reference to a managed secret by name.
*/
diff --git a/src/resources/agent/schedules.ts b/src/resources/agent/schedules.ts
index 22c0e8b..b549fe7 100644
--- a/src/resources/agent/schedules.ts
+++ b/src/resources/agent/schedules.ts
@@ -178,6 +178,11 @@ export interface ScheduledAgentItem {
*/
agent_config?: AgentAPI.AmbientAgentConfig;
+ /**
+ * UID of the agent that this schedule runs as
+ */
+ agent_uid?: string;
+
created_by?: AgentAPI.UserProfile;
/**
diff --git a/tests/api-resources/agent/agent_.test.ts b/tests/api-resources/agent/agent_.test.ts
index b0e24aa..fc1d9c6 100644
--- a/tests/api-resources/agent/agent_.test.ts
+++ b/tests/api-resources/agent/agent_.test.ts
@@ -26,6 +26,14 @@ describe('resource agent', () => {
name: 'name',
base_model: 'base_model',
description: 'description',
+ inference_providers: { aws: { disabled: true, role_arn: 'role_arn' } },
+ memory_stores: [
+ {
+ access: 'read_write',
+ instructions: 'instructions',
+ uid: 'uid',
+ },
+ ],
prompt: 'prompt',
secrets: [{ name: 'name' }],
skills: ['string'],
diff --git a/tests/api-resources/agent/schedules.test.ts b/tests/api-resources/agent/schedules.test.ts
index 8d4e366..76f51b8 100644
--- a/tests/api-resources/agent/schedules.test.ts
+++ b/tests/api-resources/agent/schedules.test.ts
@@ -35,6 +35,7 @@ describe('resource schedules', () => {
harness: { type: 'oz' },
harness_auth_secrets: { claude_auth_secret_name: 'claude_auth_secret_name' },
idle_timeout_minutes: 1,
+ inference_providers: { aws: { disabled: true, role_arn: 'role_arn' } },
mcp_servers: {
foo: {
args: ['string'],
@@ -45,13 +46,20 @@ describe('resource schedules', () => {
warp_id: 'warp_id',
},
},
+ memory_stores: [
+ {
+ access: 'read_write',
+ instructions: 'instructions',
+ uid: 'uid',
+ },
+ ],
model_id: 'model_id',
name: 'name',
session_sharing: { public_access: 'VIEWER' },
skill_spec: 'skill_spec',
worker_host: 'worker_host',
},
- agent_uid: 'agent_uid',
+ agent_uid: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
enabled: true,
mode: 'normal',
prompt: 'Review open pull requests and provide feedback',
@@ -100,6 +108,7 @@ describe('resource schedules', () => {
harness: { type: 'oz' },
harness_auth_secrets: { claude_auth_secret_name: 'claude_auth_secret_name' },
idle_timeout_minutes: 1,
+ inference_providers: { aws: { disabled: true, role_arn: 'role_arn' } },
mcp_servers: {
foo: {
args: ['string'],
@@ -110,13 +119,20 @@ describe('resource schedules', () => {
warp_id: 'warp_id',
},
},
+ memory_stores: [
+ {
+ access: 'read_write',
+ instructions: 'instructions',
+ uid: 'uid',
+ },
+ ],
model_id: 'model_id',
name: 'name',
session_sharing: { public_access: 'VIEWER' },
skill_spec: 'skill_spec',
worker_host: 'worker_host',
},
- agent_uid: 'agent_uid',
+ agent_uid: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
mode: 'normal',
prompt: 'prompt',
});
From 146f39da56115cee6f158fca6c7032a0dd6fd95d Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Tue, 12 May 2026 19:04:09 +0000
Subject: [PATCH 14/35] ci: pin GitHub Actions to commit SHAs
Pin all GitHub Actions referenced in generated workflows (both
first-party `actions/*` and third-party) to immutable commit SHAs.
Updating pinned actions is now a deliberate codegen-side bump rather
than implicit on every workflow run.
---
.github/workflows/ci.yml | 20 ++++++++++----------
.github/workflows/publish-npm.yml | 6 +++---
.github/workflows/release-doctor.yml | 2 +-
3 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 27be2a0..65e39f8 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -21,15 +21,15 @@ jobs:
runs-on: ${{ github.repository == 'stainless-sdks/warp-api-typescript' && '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@v6
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up Node
- uses: actions/setup-node@v4
+ uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: '20'
- name: Set up pnpm
- uses: pnpm/action-setup@v4
+ uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4.3.0
with:
version: '10.30.1'
@@ -48,15 +48,15 @@ jobs:
contents: read
id-token: write
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up Node
- uses: actions/setup-node@v4
+ uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: '20'
- name: Set up pnpm
- uses: pnpm/action-setup@v4
+ uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4.3.0
with:
version: '10.30.1'
@@ -71,7 +71,7 @@ jobs:
github.repository == 'stainless-sdks/warp-api-typescript' &&
!startsWith(github.ref, 'refs/heads/stl/')
id: github-oidc
- uses: actions/github-script@v8
+ uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
with:
script: core.setOutput('github_token', await core.getIDToken());
@@ -90,15 +90,15 @@ jobs:
runs-on: ${{ github.repository == 'stainless-sdks/warp-api-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up Node
- uses: actions/setup-node@v4
+ uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: '20'
- name: Set up pnpm
- uses: pnpm/action-setup@v4
+ uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4.3.0
with:
version: '10.30.1'
diff --git a/.github/workflows/publish-npm.yml b/.github/workflows/publish-npm.yml
index e911be3..b6c2398 100644
--- a/.github/workflows/publish-npm.yml
+++ b/.github/workflows/publish-npm.yml
@@ -17,15 +17,15 @@ jobs:
id-token: write
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Set up Node
- uses: actions/setup-node@v3
+ uses: actions/setup-node@3235b876344d2a9aa001b8d1453c930bba69e610 # v3.9.1
with:
node-version: '20'
- name: Set up pnpm
- uses: pnpm/action-setup@v4
+ uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4.3.0
- name: Install dependencies
run: |
diff --git a/.github/workflows/release-doctor.yml b/.github/workflows/release-doctor.yml
index bf3a1de..cdc0277 100644
--- a/.github/workflows/release-doctor.yml
+++ b/.github/workflows/release-doctor.yml
@@ -12,7 +12,7 @@ jobs:
if: github.repository == 'warpdotdev/oz-sdk-typescript' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || startsWith(github.head_ref, 'release-please') || github.head_ref == 'next')
steps:
- - uses: actions/checkout@v6
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Check release environment
run: |
From 3239af50b067dc61e9795e0abbd0e11fb155e83d Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Tue, 12 May 2026 21:44:59 +0000
Subject: [PATCH 15/35] feat: Codex auth: API key support.
---
.stats.yml | 4 ++--
src/resources/agent/agent.ts | 7 +++++++
tests/api-resources/agent/schedules.test.ts | 10 ++++++++--
3 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 8e0d8bf..20e2424 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-b719dd35d7850ee303cdebf54fa3dfddb492a6f578344c2060cfae013b61541c.yml
-openapi_spec_hash: 4c21e0d940ef5fc42767be5380571c5d
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-f3e9fa9bb13497f0e762f0f55efcafd4d531315173d2b0a2aa96f633292f2cfe.yml
+openapi_spec_hash: 8b4544348c060abc69c1280f3c535fec
config_hash: 236823a4936c76818117c16aa5c188df
diff --git a/src/resources/agent/agent.ts b/src/resources/agent/agent.ts
index 17bf932..2bcb738 100644
--- a/src/resources/agent/agent.ts
+++ b/src/resources/agent/agent.ts
@@ -326,6 +326,13 @@ export namespace AmbientAgentConfig {
* type is "claude".
*/
claude_auth_secret_name?: string;
+
+ /**
+ * Name of a managed secret for Codex harness authentication. The secret must exist
+ * within the caller's personal or team scope. Only applicable when harness type is
+ * "codex".
+ */
+ codex_auth_secret_name?: string;
}
/**
diff --git a/tests/api-resources/agent/schedules.test.ts b/tests/api-resources/agent/schedules.test.ts
index 76f51b8..7e061a9 100644
--- a/tests/api-resources/agent/schedules.test.ts
+++ b/tests/api-resources/agent/schedules.test.ts
@@ -33,7 +33,10 @@ describe('resource schedules', () => {
computer_use_enabled: true,
environment_id: 'environment_id',
harness: { type: 'oz' },
- harness_auth_secrets: { claude_auth_secret_name: 'claude_auth_secret_name' },
+ harness_auth_secrets: {
+ claude_auth_secret_name: 'claude_auth_secret_name',
+ codex_auth_secret_name: 'codex_auth_secret_name',
+ },
idle_timeout_minutes: 1,
inference_providers: { aws: { disabled: true, role_arn: 'role_arn' } },
mcp_servers: {
@@ -106,7 +109,10 @@ describe('resource schedules', () => {
computer_use_enabled: true,
environment_id: 'environment_id',
harness: { type: 'oz' },
- harness_auth_secrets: { claude_auth_secret_name: 'claude_auth_secret_name' },
+ harness_auth_secrets: {
+ claude_auth_secret_name: 'claude_auth_secret_name',
+ codex_auth_secret_name: 'codex_auth_secret_name',
+ },
idle_timeout_minutes: 1,
inference_providers: { aws: { disabled: true, role_arn: 'role_arn' } },
mcp_servers: {
From 345e736aba6081962afbae4d997b267ee7755497 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Tue, 12 May 2026 22:23:05 +0000
Subject: [PATCH 16/35] feat(api): api update
---
.stats.yml | 4 ++--
src/resources/agent/agent.ts | 7 -------
tests/api-resources/agent/schedules.test.ts | 10 ++--------
3 files changed, 4 insertions(+), 17 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 20e2424..8e0d8bf 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-f3e9fa9bb13497f0e762f0f55efcafd4d531315173d2b0a2aa96f633292f2cfe.yml
-openapi_spec_hash: 8b4544348c060abc69c1280f3c535fec
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-b719dd35d7850ee303cdebf54fa3dfddb492a6f578344c2060cfae013b61541c.yml
+openapi_spec_hash: 4c21e0d940ef5fc42767be5380571c5d
config_hash: 236823a4936c76818117c16aa5c188df
diff --git a/src/resources/agent/agent.ts b/src/resources/agent/agent.ts
index 2bcb738..17bf932 100644
--- a/src/resources/agent/agent.ts
+++ b/src/resources/agent/agent.ts
@@ -326,13 +326,6 @@ export namespace AmbientAgentConfig {
* type is "claude".
*/
claude_auth_secret_name?: string;
-
- /**
- * Name of a managed secret for Codex harness authentication. The secret must exist
- * within the caller's personal or team scope. Only applicable when harness type is
- * "codex".
- */
- codex_auth_secret_name?: string;
}
/**
diff --git a/tests/api-resources/agent/schedules.test.ts b/tests/api-resources/agent/schedules.test.ts
index 7e061a9..76f51b8 100644
--- a/tests/api-resources/agent/schedules.test.ts
+++ b/tests/api-resources/agent/schedules.test.ts
@@ -33,10 +33,7 @@ describe('resource schedules', () => {
computer_use_enabled: true,
environment_id: 'environment_id',
harness: { type: 'oz' },
- harness_auth_secrets: {
- claude_auth_secret_name: 'claude_auth_secret_name',
- codex_auth_secret_name: 'codex_auth_secret_name',
- },
+ harness_auth_secrets: { claude_auth_secret_name: 'claude_auth_secret_name' },
idle_timeout_minutes: 1,
inference_providers: { aws: { disabled: true, role_arn: 'role_arn' } },
mcp_servers: {
@@ -109,10 +106,7 @@ describe('resource schedules', () => {
computer_use_enabled: true,
environment_id: 'environment_id',
harness: { type: 'oz' },
- harness_auth_secrets: {
- claude_auth_secret_name: 'claude_auth_secret_name',
- codex_auth_secret_name: 'codex_auth_secret_name',
- },
+ harness_auth_secrets: { claude_auth_secret_name: 'claude_auth_secret_name' },
idle_timeout_minutes: 1,
inference_providers: { aws: { disabled: true, role_arn: 'role_arn' } },
mcp_servers: {
From a5ec72d95f8c53927571b3493396c1282c7f1844 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Wed, 13 May 2026 01:26:13 +0000
Subject: [PATCH 17/35] feat: Add default harness selection for agents
---
.stats.yml | 4 +-
src/resources/agent/agent_.ts | 127 +++++++++++++++++++++++
tests/api-resources/agent/agent_.test.ts | 2 +
3 files changed, 131 insertions(+), 2 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 8e0d8bf..452c069 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-b719dd35d7850ee303cdebf54fa3dfddb492a6f578344c2060cfae013b61541c.yml
-openapi_spec_hash: 4c21e0d940ef5fc42767be5380571c5d
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-b424065a28582cd6c6ae1d95047d165a86b3028d09551701159f455a007d73f7.yml
+openapi_spec_hash: e7f90f2ac181c44aeee58c3070bc0bba
config_hash: 236823a4936c76818117c16aa5c188df
diff --git a/src/resources/agent/agent_.ts b/src/resources/agent/agent_.ts
index 0456dc8..fa5d0dd 100644
--- a/src/resources/agent/agent_.ts
+++ b/src/resources/agent/agent_.ts
@@ -121,6 +121,16 @@ export interface AgentResponse {
*/
uid: string;
+ /**
+ * Default harness for runs executed by this agent. The precedence order for
+ * harness resolution is:
+ *
+ * 1. The harness specified on the run itself
+ * 2. The agent's base harness
+ * 3. Oz
+ */
+ base_harness?: string;
+
/**
* Base model for runs executed by this agent. The precedence order for model
* resolution is:
@@ -136,6 +146,12 @@ export interface AgentResponse {
*/
description?: string | null;
+ /**
+ * Authentication secrets for third-party harnesses. Only the secret for the
+ * harness specified gets injected into the environment.
+ */
+ harness_auth_secrets?: AgentResponse.HarnessAuthSecrets;
+
/**
* Inference provider settings used for LLM calls.
*/
@@ -178,6 +194,19 @@ export namespace AgentResponse {
name: string;
}
+ /**
+ * Authentication secrets for third-party harnesses. Only the secret for the
+ * harness specified gets injected into the environment.
+ */
+ export interface HarnessAuthSecrets {
+ /**
+ * Name of a managed secret for Claude Code harness authentication. The secret must
+ * exist within the caller's personal or team scope. Only applicable when harness
+ * type is "claude".
+ */
+ claude_auth_secret_name?: string;
+ }
+
/**
* Inference provider settings used for LLM calls.
*/
@@ -212,6 +241,11 @@ export interface CreateAgentRequest {
*/
name: string;
+ /**
+ * Optional default harness for runs executed by this agent.
+ */
+ base_harness?: string | null;
+
/**
* Optional base model for runs executed by this agent.
*/
@@ -222,6 +256,12 @@ export interface CreateAgentRequest {
*/
description?: string | null;
+ /**
+ * Authentication secrets for third-party harnesses. Only the secret for the
+ * harness specified gets injected into the environment.
+ */
+ harness_auth_secrets?: CreateAgentRequest.HarnessAuthSecrets;
+
/**
* Inference provider settings used for LLM calls.
*/
@@ -257,6 +297,19 @@ export interface CreateAgentRequest {
}
export namespace CreateAgentRequest {
+ /**
+ * Authentication secrets for third-party harnesses. Only the secret for the
+ * harness specified gets injected into the environment.
+ */
+ export interface HarnessAuthSecrets {
+ /**
+ * Name of a managed secret for Claude Code harness authentication. The secret must
+ * exist within the caller's personal or team scope. Only applicable when harness
+ * type is "claude".
+ */
+ claude_auth_secret_name?: string;
+ }
+
/**
* Inference provider settings used for LLM calls.
*/
@@ -327,6 +380,12 @@ export interface ListAgentIdentitiesResponse {
* - Non-empty: replace the field wholesale with the provided value.
*/
export interface UpdateAgentRequest {
+ /**
+ * Replacement default harness. Omit or pass `null` to leave unchanged, or pass an
+ * empty string to clear.
+ */
+ base_harness?: string | null;
+
/**
* Replacement base model. Omit or pass `null` to leave unchanged, or pass an empty
* string to clear.
@@ -339,6 +398,12 @@ export interface UpdateAgentRequest {
*/
description?: string | null;
+ /**
+ * Authentication secrets for third-party harnesses. Only the secret for the
+ * harness specified gets injected into the environment.
+ */
+ harness_auth_secrets?: UpdateAgentRequest.HarnessAuthSecrets | null;
+
/**
* Inference provider settings used for LLM calls.
*/
@@ -375,6 +440,19 @@ export interface UpdateAgentRequest {
}
export namespace UpdateAgentRequest {
+ /**
+ * Authentication secrets for third-party harnesses. Only the secret for the
+ * harness specified gets injected into the environment.
+ */
+ export interface HarnessAuthSecrets {
+ /**
+ * Name of a managed secret for Claude Code harness authentication. The secret must
+ * exist within the caller's personal or team scope. Only applicable when harness
+ * type is "claude".
+ */
+ claude_auth_secret_name?: string;
+ }
+
/**
* Inference provider settings used for LLM calls.
*/
@@ -439,6 +517,11 @@ export interface AgentCreateParams {
*/
name: string;
+ /**
+ * Optional default harness for runs executed by this agent.
+ */
+ base_harness?: string | null;
+
/**
* Optional base model for runs executed by this agent.
*/
@@ -449,6 +532,12 @@ export interface AgentCreateParams {
*/
description?: string | null;
+ /**
+ * Authentication secrets for third-party harnesses. Only the secret for the
+ * harness specified gets injected into the environment.
+ */
+ harness_auth_secrets?: AgentCreateParams.HarnessAuthSecrets;
+
/**
* Inference provider settings used for LLM calls.
*/
@@ -484,6 +573,19 @@ export interface AgentCreateParams {
}
export namespace AgentCreateParams {
+ /**
+ * Authentication secrets for third-party harnesses. Only the secret for the
+ * harness specified gets injected into the environment.
+ */
+ export interface HarnessAuthSecrets {
+ /**
+ * Name of a managed secret for Claude Code harness authentication. The secret must
+ * exist within the caller's personal or team scope. Only applicable when harness
+ * type is "claude".
+ */
+ claude_auth_secret_name?: string;
+ }
+
/**
* Inference provider settings used for LLM calls.
*/
@@ -543,6 +645,12 @@ export namespace AgentCreateParams {
}
export interface AgentUpdateParams {
+ /**
+ * Replacement default harness. Omit or pass `null` to leave unchanged, or pass an
+ * empty string to clear.
+ */
+ base_harness?: string | null;
+
/**
* Replacement base model. Omit or pass `null` to leave unchanged, or pass an empty
* string to clear.
@@ -555,6 +663,12 @@ export interface AgentUpdateParams {
*/
description?: string | null;
+ /**
+ * Authentication secrets for third-party harnesses. Only the secret for the
+ * harness specified gets injected into the environment.
+ */
+ harness_auth_secrets?: AgentUpdateParams.HarnessAuthSecrets | null;
+
/**
* Inference provider settings used for LLM calls.
*/
@@ -591,6 +705,19 @@ export interface AgentUpdateParams {
}
export namespace AgentUpdateParams {
+ /**
+ * Authentication secrets for third-party harnesses. Only the secret for the
+ * harness specified gets injected into the environment.
+ */
+ export interface HarnessAuthSecrets {
+ /**
+ * Name of a managed secret for Claude Code harness authentication. The secret must
+ * exist within the caller's personal or team scope. Only applicable when harness
+ * type is "claude".
+ */
+ claude_auth_secret_name?: string;
+ }
+
/**
* Inference provider settings used for LLM calls.
*/
diff --git a/tests/api-resources/agent/agent_.test.ts b/tests/api-resources/agent/agent_.test.ts
index fc1d9c6..5cd4ac5 100644
--- a/tests/api-resources/agent/agent_.test.ts
+++ b/tests/api-resources/agent/agent_.test.ts
@@ -24,8 +24,10 @@ describe('resource agent', () => {
test.skip('create: required and optional params', async () => {
const response = await client.agent.agent.create({
name: 'name',
+ base_harness: 'base_harness',
base_model: 'base_model',
description: 'description',
+ harness_auth_secrets: { claude_auth_secret_name: 'claude_auth_secret_name' },
inference_providers: { aws: { disabled: true, role_arn: 'role_arn' } },
memory_stores: [
{
From 89e44352062b2526d9bd39f28d70562c87d667cf Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Wed, 13 May 2026 13:18:34 +0000
Subject: [PATCH 18/35] feat(api): api update
---
.stats.yml | 4 +-
src/resources/agent/agent_.ts | 127 -----------------------
tests/api-resources/agent/agent_.test.ts | 2 -
3 files changed, 2 insertions(+), 131 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 452c069..8e0d8bf 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-b424065a28582cd6c6ae1d95047d165a86b3028d09551701159f455a007d73f7.yml
-openapi_spec_hash: e7f90f2ac181c44aeee58c3070bc0bba
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-b719dd35d7850ee303cdebf54fa3dfddb492a6f578344c2060cfae013b61541c.yml
+openapi_spec_hash: 4c21e0d940ef5fc42767be5380571c5d
config_hash: 236823a4936c76818117c16aa5c188df
diff --git a/src/resources/agent/agent_.ts b/src/resources/agent/agent_.ts
index fa5d0dd..0456dc8 100644
--- a/src/resources/agent/agent_.ts
+++ b/src/resources/agent/agent_.ts
@@ -121,16 +121,6 @@ export interface AgentResponse {
*/
uid: string;
- /**
- * Default harness for runs executed by this agent. The precedence order for
- * harness resolution is:
- *
- * 1. The harness specified on the run itself
- * 2. The agent's base harness
- * 3. Oz
- */
- base_harness?: string;
-
/**
* Base model for runs executed by this agent. The precedence order for model
* resolution is:
@@ -146,12 +136,6 @@ export interface AgentResponse {
*/
description?: string | null;
- /**
- * Authentication secrets for third-party harnesses. Only the secret for the
- * harness specified gets injected into the environment.
- */
- harness_auth_secrets?: AgentResponse.HarnessAuthSecrets;
-
/**
* Inference provider settings used for LLM calls.
*/
@@ -194,19 +178,6 @@ export namespace AgentResponse {
name: string;
}
- /**
- * Authentication secrets for third-party harnesses. Only the secret for the
- * harness specified gets injected into the environment.
- */
- export interface HarnessAuthSecrets {
- /**
- * Name of a managed secret for Claude Code harness authentication. The secret must
- * exist within the caller's personal or team scope. Only applicable when harness
- * type is "claude".
- */
- claude_auth_secret_name?: string;
- }
-
/**
* Inference provider settings used for LLM calls.
*/
@@ -241,11 +212,6 @@ export interface CreateAgentRequest {
*/
name: string;
- /**
- * Optional default harness for runs executed by this agent.
- */
- base_harness?: string | null;
-
/**
* Optional base model for runs executed by this agent.
*/
@@ -256,12 +222,6 @@ export interface CreateAgentRequest {
*/
description?: string | null;
- /**
- * Authentication secrets for third-party harnesses. Only the secret for the
- * harness specified gets injected into the environment.
- */
- harness_auth_secrets?: CreateAgentRequest.HarnessAuthSecrets;
-
/**
* Inference provider settings used for LLM calls.
*/
@@ -297,19 +257,6 @@ export interface CreateAgentRequest {
}
export namespace CreateAgentRequest {
- /**
- * Authentication secrets for third-party harnesses. Only the secret for the
- * harness specified gets injected into the environment.
- */
- export interface HarnessAuthSecrets {
- /**
- * Name of a managed secret for Claude Code harness authentication. The secret must
- * exist within the caller's personal or team scope. Only applicable when harness
- * type is "claude".
- */
- claude_auth_secret_name?: string;
- }
-
/**
* Inference provider settings used for LLM calls.
*/
@@ -380,12 +327,6 @@ export interface ListAgentIdentitiesResponse {
* - Non-empty: replace the field wholesale with the provided value.
*/
export interface UpdateAgentRequest {
- /**
- * Replacement default harness. Omit or pass `null` to leave unchanged, or pass an
- * empty string to clear.
- */
- base_harness?: string | null;
-
/**
* Replacement base model. Omit or pass `null` to leave unchanged, or pass an empty
* string to clear.
@@ -398,12 +339,6 @@ export interface UpdateAgentRequest {
*/
description?: string | null;
- /**
- * Authentication secrets for third-party harnesses. Only the secret for the
- * harness specified gets injected into the environment.
- */
- harness_auth_secrets?: UpdateAgentRequest.HarnessAuthSecrets | null;
-
/**
* Inference provider settings used for LLM calls.
*/
@@ -440,19 +375,6 @@ export interface UpdateAgentRequest {
}
export namespace UpdateAgentRequest {
- /**
- * Authentication secrets for third-party harnesses. Only the secret for the
- * harness specified gets injected into the environment.
- */
- export interface HarnessAuthSecrets {
- /**
- * Name of a managed secret for Claude Code harness authentication. The secret must
- * exist within the caller's personal or team scope. Only applicable when harness
- * type is "claude".
- */
- claude_auth_secret_name?: string;
- }
-
/**
* Inference provider settings used for LLM calls.
*/
@@ -517,11 +439,6 @@ export interface AgentCreateParams {
*/
name: string;
- /**
- * Optional default harness for runs executed by this agent.
- */
- base_harness?: string | null;
-
/**
* Optional base model for runs executed by this agent.
*/
@@ -532,12 +449,6 @@ export interface AgentCreateParams {
*/
description?: string | null;
- /**
- * Authentication secrets for third-party harnesses. Only the secret for the
- * harness specified gets injected into the environment.
- */
- harness_auth_secrets?: AgentCreateParams.HarnessAuthSecrets;
-
/**
* Inference provider settings used for LLM calls.
*/
@@ -573,19 +484,6 @@ export interface AgentCreateParams {
}
export namespace AgentCreateParams {
- /**
- * Authentication secrets for third-party harnesses. Only the secret for the
- * harness specified gets injected into the environment.
- */
- export interface HarnessAuthSecrets {
- /**
- * Name of a managed secret for Claude Code harness authentication. The secret must
- * exist within the caller's personal or team scope. Only applicable when harness
- * type is "claude".
- */
- claude_auth_secret_name?: string;
- }
-
/**
* Inference provider settings used for LLM calls.
*/
@@ -645,12 +543,6 @@ export namespace AgentCreateParams {
}
export interface AgentUpdateParams {
- /**
- * Replacement default harness. Omit or pass `null` to leave unchanged, or pass an
- * empty string to clear.
- */
- base_harness?: string | null;
-
/**
* Replacement base model. Omit or pass `null` to leave unchanged, or pass an empty
* string to clear.
@@ -663,12 +555,6 @@ export interface AgentUpdateParams {
*/
description?: string | null;
- /**
- * Authentication secrets for third-party harnesses. Only the secret for the
- * harness specified gets injected into the environment.
- */
- harness_auth_secrets?: AgentUpdateParams.HarnessAuthSecrets | null;
-
/**
* Inference provider settings used for LLM calls.
*/
@@ -705,19 +591,6 @@ export interface AgentUpdateParams {
}
export namespace AgentUpdateParams {
- /**
- * Authentication secrets for third-party harnesses. Only the secret for the
- * harness specified gets injected into the environment.
- */
- export interface HarnessAuthSecrets {
- /**
- * Name of a managed secret for Claude Code harness authentication. The secret must
- * exist within the caller's personal or team scope. Only applicable when harness
- * type is "claude".
- */
- claude_auth_secret_name?: string;
- }
-
/**
* Inference provider settings used for LLM calls.
*/
diff --git a/tests/api-resources/agent/agent_.test.ts b/tests/api-resources/agent/agent_.test.ts
index 5cd4ac5..fc1d9c6 100644
--- a/tests/api-resources/agent/agent_.test.ts
+++ b/tests/api-resources/agent/agent_.test.ts
@@ -24,10 +24,8 @@ describe('resource agent', () => {
test.skip('create: required and optional params', async () => {
const response = await client.agent.agent.create({
name: 'name',
- base_harness: 'base_harness',
base_model: 'base_model',
description: 'description',
- harness_auth_secrets: { claude_auth_secret_name: 'claude_auth_secret_name' },
inference_providers: { aws: { disabled: true, role_arn: 'role_arn' } },
memory_stores: [
{
From 63390f5adc5bfae988ebc6081c3f447672c59d61 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Thu, 14 May 2026 15:05:33 +0000
Subject: [PATCH 19/35] feat(api): api update
---
.stats.yml | 4 +-
src/resources/agent/agent.ts | 7 +
src/resources/agent/agent_.ts | 162 ++++++++++++++++++++
tests/api-resources/agent/agent_.test.ts | 5 +
tests/api-resources/agent/schedules.test.ts | 10 +-
5 files changed, 184 insertions(+), 4 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 8e0d8bf..7d249c2 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-b719dd35d7850ee303cdebf54fa3dfddb492a6f578344c2060cfae013b61541c.yml
-openapi_spec_hash: 4c21e0d940ef5fc42767be5380571c5d
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-410e07a5c3a6e0ff043e5f414d501e171d4dd9f8c91b3404cd9e3e93afebae46.yml
+openapi_spec_hash: ab7a6a235e8b2484df1747c69a096ab0
config_hash: 236823a4936c76818117c16aa5c188df
diff --git a/src/resources/agent/agent.ts b/src/resources/agent/agent.ts
index 17bf932..2bcb738 100644
--- a/src/resources/agent/agent.ts
+++ b/src/resources/agent/agent.ts
@@ -326,6 +326,13 @@ export namespace AmbientAgentConfig {
* type is "claude".
*/
claude_auth_secret_name?: string;
+
+ /**
+ * Name of a managed secret for Codex harness authentication. The secret must exist
+ * within the caller's personal or team scope. Only applicable when harness type is
+ * "codex".
+ */
+ codex_auth_secret_name?: string;
}
/**
diff --git a/src/resources/agent/agent_.ts b/src/resources/agent/agent_.ts
index 0456dc8..5a32540 100644
--- a/src/resources/agent/agent_.ts
+++ b/src/resources/agent/agent_.ts
@@ -121,6 +121,16 @@ export interface AgentResponse {
*/
uid: string;
+ /**
+ * Default harness for runs executed by this agent. The precedence order for
+ * harness resolution is:
+ *
+ * 1. The harness specified on the run itself
+ * 2. The agent's base harness
+ * 3. Oz
+ */
+ base_harness?: string;
+
/**
* Base model for runs executed by this agent. The precedence order for model
* resolution is:
@@ -136,6 +146,12 @@ export interface AgentResponse {
*/
description?: string | null;
+ /**
+ * Authentication secrets for third-party harnesses. Only the secret for the
+ * harness specified gets injected into the environment.
+ */
+ harness_auth_secrets?: AgentResponse.HarnessAuthSecrets;
+
/**
* Inference provider settings used for LLM calls.
*/
@@ -178,6 +194,26 @@ export namespace AgentResponse {
name: string;
}
+ /**
+ * Authentication secrets for third-party harnesses. Only the secret for the
+ * harness specified gets injected into the environment.
+ */
+ export interface HarnessAuthSecrets {
+ /**
+ * Name of a managed secret for Claude Code harness authentication. The secret must
+ * exist within the caller's personal or team scope. Only applicable when harness
+ * type is "claude".
+ */
+ claude_auth_secret_name?: string;
+
+ /**
+ * Name of a managed secret for Codex harness authentication. The secret must exist
+ * within the caller's personal or team scope. Only applicable when harness type is
+ * "codex".
+ */
+ codex_auth_secret_name?: string;
+ }
+
/**
* Inference provider settings used for LLM calls.
*/
@@ -212,6 +248,11 @@ export interface CreateAgentRequest {
*/
name: string;
+ /**
+ * Optional default harness for runs executed by this agent.
+ */
+ base_harness?: string | null;
+
/**
* Optional base model for runs executed by this agent.
*/
@@ -222,6 +263,12 @@ export interface CreateAgentRequest {
*/
description?: string | null;
+ /**
+ * Authentication secrets for third-party harnesses. Only the secret for the
+ * harness specified gets injected into the environment.
+ */
+ harness_auth_secrets?: CreateAgentRequest.HarnessAuthSecrets;
+
/**
* Inference provider settings used for LLM calls.
*/
@@ -257,6 +304,26 @@ export interface CreateAgentRequest {
}
export namespace CreateAgentRequest {
+ /**
+ * Authentication secrets for third-party harnesses. Only the secret for the
+ * harness specified gets injected into the environment.
+ */
+ export interface HarnessAuthSecrets {
+ /**
+ * Name of a managed secret for Claude Code harness authentication. The secret must
+ * exist within the caller's personal or team scope. Only applicable when harness
+ * type is "claude".
+ */
+ claude_auth_secret_name?: string;
+
+ /**
+ * Name of a managed secret for Codex harness authentication. The secret must exist
+ * within the caller's personal or team scope. Only applicable when harness type is
+ * "codex".
+ */
+ codex_auth_secret_name?: string;
+ }
+
/**
* Inference provider settings used for LLM calls.
*/
@@ -327,6 +394,12 @@ export interface ListAgentIdentitiesResponse {
* - Non-empty: replace the field wholesale with the provided value.
*/
export interface UpdateAgentRequest {
+ /**
+ * Replacement default harness. Omit or pass `null` to leave unchanged, or pass an
+ * empty string to clear.
+ */
+ base_harness?: string | null;
+
/**
* Replacement base model. Omit or pass `null` to leave unchanged, or pass an empty
* string to clear.
@@ -339,6 +412,12 @@ export interface UpdateAgentRequest {
*/
description?: string | null;
+ /**
+ * Authentication secrets for third-party harnesses. Only the secret for the
+ * harness specified gets injected into the environment.
+ */
+ harness_auth_secrets?: UpdateAgentRequest.HarnessAuthSecrets | null;
+
/**
* Inference provider settings used for LLM calls.
*/
@@ -375,6 +454,26 @@ export interface UpdateAgentRequest {
}
export namespace UpdateAgentRequest {
+ /**
+ * Authentication secrets for third-party harnesses. Only the secret for the
+ * harness specified gets injected into the environment.
+ */
+ export interface HarnessAuthSecrets {
+ /**
+ * Name of a managed secret for Claude Code harness authentication. The secret must
+ * exist within the caller's personal or team scope. Only applicable when harness
+ * type is "claude".
+ */
+ claude_auth_secret_name?: string;
+
+ /**
+ * Name of a managed secret for Codex harness authentication. The secret must exist
+ * within the caller's personal or team scope. Only applicable when harness type is
+ * "codex".
+ */
+ codex_auth_secret_name?: string;
+ }
+
/**
* Inference provider settings used for LLM calls.
*/
@@ -439,6 +538,11 @@ export interface AgentCreateParams {
*/
name: string;
+ /**
+ * Optional default harness for runs executed by this agent.
+ */
+ base_harness?: string | null;
+
/**
* Optional base model for runs executed by this agent.
*/
@@ -449,6 +553,12 @@ export interface AgentCreateParams {
*/
description?: string | null;
+ /**
+ * Authentication secrets for third-party harnesses. Only the secret for the
+ * harness specified gets injected into the environment.
+ */
+ harness_auth_secrets?: AgentCreateParams.HarnessAuthSecrets;
+
/**
* Inference provider settings used for LLM calls.
*/
@@ -484,6 +594,26 @@ export interface AgentCreateParams {
}
export namespace AgentCreateParams {
+ /**
+ * Authentication secrets for third-party harnesses. Only the secret for the
+ * harness specified gets injected into the environment.
+ */
+ export interface HarnessAuthSecrets {
+ /**
+ * Name of a managed secret for Claude Code harness authentication. The secret must
+ * exist within the caller's personal or team scope. Only applicable when harness
+ * type is "claude".
+ */
+ claude_auth_secret_name?: string;
+
+ /**
+ * Name of a managed secret for Codex harness authentication. The secret must exist
+ * within the caller's personal or team scope. Only applicable when harness type is
+ * "codex".
+ */
+ codex_auth_secret_name?: string;
+ }
+
/**
* Inference provider settings used for LLM calls.
*/
@@ -543,6 +673,12 @@ export namespace AgentCreateParams {
}
export interface AgentUpdateParams {
+ /**
+ * Replacement default harness. Omit or pass `null` to leave unchanged, or pass an
+ * empty string to clear.
+ */
+ base_harness?: string | null;
+
/**
* Replacement base model. Omit or pass `null` to leave unchanged, or pass an empty
* string to clear.
@@ -555,6 +691,12 @@ export interface AgentUpdateParams {
*/
description?: string | null;
+ /**
+ * Authentication secrets for third-party harnesses. Only the secret for the
+ * harness specified gets injected into the environment.
+ */
+ harness_auth_secrets?: AgentUpdateParams.HarnessAuthSecrets | null;
+
/**
* Inference provider settings used for LLM calls.
*/
@@ -591,6 +733,26 @@ export interface AgentUpdateParams {
}
export namespace AgentUpdateParams {
+ /**
+ * Authentication secrets for third-party harnesses. Only the secret for the
+ * harness specified gets injected into the environment.
+ */
+ export interface HarnessAuthSecrets {
+ /**
+ * Name of a managed secret for Claude Code harness authentication. The secret must
+ * exist within the caller's personal or team scope. Only applicable when harness
+ * type is "claude".
+ */
+ claude_auth_secret_name?: string;
+
+ /**
+ * Name of a managed secret for Codex harness authentication. The secret must exist
+ * within the caller's personal or team scope. Only applicable when harness type is
+ * "codex".
+ */
+ codex_auth_secret_name?: string;
+ }
+
/**
* Inference provider settings used for LLM calls.
*/
diff --git a/tests/api-resources/agent/agent_.test.ts b/tests/api-resources/agent/agent_.test.ts
index fc1d9c6..dcfb127 100644
--- a/tests/api-resources/agent/agent_.test.ts
+++ b/tests/api-resources/agent/agent_.test.ts
@@ -24,8 +24,13 @@ describe('resource agent', () => {
test.skip('create: required and optional params', async () => {
const response = await client.agent.agent.create({
name: 'name',
+ base_harness: 'base_harness',
base_model: 'base_model',
description: 'description',
+ harness_auth_secrets: {
+ claude_auth_secret_name: 'claude_auth_secret_name',
+ codex_auth_secret_name: 'codex_auth_secret_name',
+ },
inference_providers: { aws: { disabled: true, role_arn: 'role_arn' } },
memory_stores: [
{
diff --git a/tests/api-resources/agent/schedules.test.ts b/tests/api-resources/agent/schedules.test.ts
index 76f51b8..7e061a9 100644
--- a/tests/api-resources/agent/schedules.test.ts
+++ b/tests/api-resources/agent/schedules.test.ts
@@ -33,7 +33,10 @@ describe('resource schedules', () => {
computer_use_enabled: true,
environment_id: 'environment_id',
harness: { type: 'oz' },
- harness_auth_secrets: { claude_auth_secret_name: 'claude_auth_secret_name' },
+ harness_auth_secrets: {
+ claude_auth_secret_name: 'claude_auth_secret_name',
+ codex_auth_secret_name: 'codex_auth_secret_name',
+ },
idle_timeout_minutes: 1,
inference_providers: { aws: { disabled: true, role_arn: 'role_arn' } },
mcp_servers: {
@@ -106,7 +109,10 @@ describe('resource schedules', () => {
computer_use_enabled: true,
environment_id: 'environment_id',
harness: { type: 'oz' },
- harness_auth_secrets: { claude_auth_secret_name: 'claude_auth_secret_name' },
+ harness_auth_secrets: {
+ claude_auth_secret_name: 'claude_auth_secret_name',
+ codex_auth_secret_name: 'codex_auth_secret_name',
+ },
idle_timeout_minutes: 1,
inference_providers: { aws: { disabled: true, role_arn: 'role_arn' } },
mcp_servers: {
From a24ac355581959d8fa6329a8adc2a7f11cc31dfb Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Thu, 14 May 2026 19:21:39 +0000
Subject: [PATCH 20/35] feat: Partial support for multiple skills per run
---
.stats.yml | 4 ++--
src/resources/agent/agent.ts | 18 ++++++++++++++----
src/resources/agent/schedules.ts | 4 ++--
tests/api-resources/agent/schedules.test.ts | 2 ++
4 files changed, 20 insertions(+), 8 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 7d249c2..700ccd4 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-410e07a5c3a6e0ff043e5f414d501e171d4dd9f8c91b3404cd9e3e93afebae46.yml
-openapi_spec_hash: ab7a6a235e8b2484df1747c69a096ab0
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-b4ff945d4b02c4af56afb93917db20e7eb596f9c2c77317a977799d3285ac83e.yml
+openapi_spec_hash: 222c576cabe2fa5faa9fd7b997504e2a
config_hash: 236823a4936c76818117c16aa5c188df
diff --git a/src/resources/agent/agent.ts b/src/resources/agent/agent.ts
index 2bcb738..7ee37b6 100644
--- a/src/resources/agent/agent.ts
+++ b/src/resources/agent/agent.ts
@@ -284,13 +284,23 @@ export interface AmbientAgentConfig {
session_sharing?: AmbientAgentConfig.SessionSharing;
/**
- * Skill specification identifying which agent skill to use. Format:
+ * Skill specification identifying the primary agent skill to use. Format:
* "{owner}/{repo}:{skill_path}" Example:
- * "warpdotdev/warp-server:.claude/skills/deploy/SKILL.md" Use the list agents
- * endpoint to discover available skills.
+ * "warpdotdev/warp-server:.claude/skills/deploy/SKILL.md" Mutually exclusive with
+ * skills in create/update requests. Responses include the first skills entry here
+ * for backward compatibility. Use the list agents endpoint to discover available
+ * skills.
*/
skill_spec?: string;
+ /**
+ * Ordered skill specifications to attach to the run. Format:
+ * "{owner}/{repo}:{skill_path}" Example:
+ * "warpdotdev/warp-server:.claude/skills/deploy/SKILL.md" Mutually exclusive with
+ * skill_spec in create/update requests.
+ */
+ skills?: Array;
+
/**
* Self-hosted worker ID that should execute this task. If not specified or set to
* "warp", the task runs on Warp-hosted workers.
@@ -1089,7 +1099,7 @@ export interface AgentRunParams {
/**
* The prompt/instruction for the agent to execute. Required unless a skill is
- * specified via the skill field or config.skill_spec.
+ * specified via the skill field, config.skill_spec, or config.skills.
*/
prompt?: string;
diff --git a/src/resources/agent/schedules.ts b/src/resources/agent/schedules.ts
index b549fe7..893e1cc 100644
--- a/src/resources/agent/schedules.ts
+++ b/src/resources/agent/schedules.ts
@@ -258,7 +258,7 @@ export interface ScheduleCreateParams {
/**
* The prompt/instruction for the agent to execute. Required unless
- * agent_config.skill_spec is provided.
+ * agent_config.skill_spec or agent_config.skills is provided.
*/
prompt?: string;
@@ -304,7 +304,7 @@ export interface ScheduleUpdateParams {
/**
* The prompt/instruction for the agent to execute. Required unless
- * agent_config.skill_spec is provided.
+ * agent_config.skill_spec or agent_config.skills is provided.
*/
prompt?: string;
}
diff --git a/tests/api-resources/agent/schedules.test.ts b/tests/api-resources/agent/schedules.test.ts
index 7e061a9..6c3cb8b 100644
--- a/tests/api-resources/agent/schedules.test.ts
+++ b/tests/api-resources/agent/schedules.test.ts
@@ -60,6 +60,7 @@ describe('resource schedules', () => {
name: 'name',
session_sharing: { public_access: 'VIEWER' },
skill_spec: 'skill_spec',
+ skills: ['string'],
worker_host: 'worker_host',
},
agent_uid: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
@@ -136,6 +137,7 @@ describe('resource schedules', () => {
name: 'name',
session_sharing: { public_access: 'VIEWER' },
skill_spec: 'skill_spec',
+ skills: ['string'],
worker_host: 'worker_host',
},
agent_uid: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
From a05db291a822d3f6899babcc3b66f76a78c19e06 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Thu, 14 May 2026 23:37:09 +0000
Subject: [PATCH 21/35] codegen metadata
---
.stats.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 700ccd4..4ecba01 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-b4ff945d4b02c4af56afb93917db20e7eb596f9c2c77317a977799d3285ac83e.yml
-openapi_spec_hash: 222c576cabe2fa5faa9fd7b997504e2a
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-4a9eab2592ae45a01a85807990a64acbec6c0a63e32e1fb2cee8c431749271fa.yml
+openapi_spec_hash: 09032acf61e7a6ae4bc168b912a65bf0
config_hash: 236823a4936c76818117c16aa5c188df
From a530c11d0897c8c1cc3706e1fc68d2d9b1768689 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Fri, 15 May 2026 16:28:00 +0000
Subject: [PATCH 22/35] feat(api): api update
---
.stats.yml | 4 ++--
src/resources/agent/agent.ts | 18 ++++--------------
src/resources/agent/schedules.ts | 4 ++--
tests/api-resources/agent/schedules.test.ts | 2 --
4 files changed, 8 insertions(+), 20 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 4ecba01..7d249c2 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-4a9eab2592ae45a01a85807990a64acbec6c0a63e32e1fb2cee8c431749271fa.yml
-openapi_spec_hash: 09032acf61e7a6ae4bc168b912a65bf0
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-410e07a5c3a6e0ff043e5f414d501e171d4dd9f8c91b3404cd9e3e93afebae46.yml
+openapi_spec_hash: ab7a6a235e8b2484df1747c69a096ab0
config_hash: 236823a4936c76818117c16aa5c188df
diff --git a/src/resources/agent/agent.ts b/src/resources/agent/agent.ts
index 7ee37b6..2bcb738 100644
--- a/src/resources/agent/agent.ts
+++ b/src/resources/agent/agent.ts
@@ -284,23 +284,13 @@ export interface AmbientAgentConfig {
session_sharing?: AmbientAgentConfig.SessionSharing;
/**
- * Skill specification identifying the primary agent skill to use. Format:
+ * Skill specification identifying which agent skill to use. Format:
* "{owner}/{repo}:{skill_path}" Example:
- * "warpdotdev/warp-server:.claude/skills/deploy/SKILL.md" Mutually exclusive with
- * skills in create/update requests. Responses include the first skills entry here
- * for backward compatibility. Use the list agents endpoint to discover available
- * skills.
+ * "warpdotdev/warp-server:.claude/skills/deploy/SKILL.md" Use the list agents
+ * endpoint to discover available skills.
*/
skill_spec?: string;
- /**
- * Ordered skill specifications to attach to the run. Format:
- * "{owner}/{repo}:{skill_path}" Example:
- * "warpdotdev/warp-server:.claude/skills/deploy/SKILL.md" Mutually exclusive with
- * skill_spec in create/update requests.
- */
- skills?: Array;
-
/**
* Self-hosted worker ID that should execute this task. If not specified or set to
* "warp", the task runs on Warp-hosted workers.
@@ -1099,7 +1089,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.
+ * specified via the skill field or config.skill_spec.
*/
prompt?: string;
diff --git a/src/resources/agent/schedules.ts b/src/resources/agent/schedules.ts
index 893e1cc..b549fe7 100644
--- a/src/resources/agent/schedules.ts
+++ b/src/resources/agent/schedules.ts
@@ -258,7 +258,7 @@ export interface ScheduleCreateParams {
/**
* The prompt/instruction for the agent to execute. Required unless
- * agent_config.skill_spec or agent_config.skills is provided.
+ * agent_config.skill_spec is provided.
*/
prompt?: string;
@@ -304,7 +304,7 @@ export interface ScheduleUpdateParams {
/**
* The prompt/instruction for the agent to execute. Required unless
- * agent_config.skill_spec or agent_config.skills is provided.
+ * agent_config.skill_spec is provided.
*/
prompt?: string;
}
diff --git a/tests/api-resources/agent/schedules.test.ts b/tests/api-resources/agent/schedules.test.ts
index 6c3cb8b..7e061a9 100644
--- a/tests/api-resources/agent/schedules.test.ts
+++ b/tests/api-resources/agent/schedules.test.ts
@@ -60,7 +60,6 @@ describe('resource schedules', () => {
name: 'name',
session_sharing: { public_access: 'VIEWER' },
skill_spec: 'skill_spec',
- skills: ['string'],
worker_host: 'worker_host',
},
agent_uid: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
@@ -137,7 +136,6 @@ describe('resource schedules', () => {
name: 'name',
session_sharing: { public_access: 'VIEWER' },
skill_spec: 'skill_spec',
- skills: ['string'],
worker_host: 'worker_host',
},
agent_uid: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
From f43cf4fb4f402b3961166a792b7556fbee266ece Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Fri, 15 May 2026 20:32:33 +0000
Subject: [PATCH 23/35] feat(api): api update
---
.stats.yml | 4 +--
src/resources/agent/agent.ts | 18 ++++++++---
src/resources/agent/agent_.ts | 34 +++++++++++++++++++++
src/resources/agent/schedules.ts | 4 +--
tests/api-resources/agent/agent_.test.ts | 1 +
tests/api-resources/agent/schedules.test.ts | 2 ++
6 files changed, 55 insertions(+), 8 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 7d249c2..a780ae7 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-410e07a5c3a6e0ff043e5f414d501e171d4dd9f8c91b3404cd9e3e93afebae46.yml
-openapi_spec_hash: ab7a6a235e8b2484df1747c69a096ab0
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-4bc83c682f151e3779dabdac7cc9c83ec591510b4befc86a3b2995ccd6e61151.yml
+openapi_spec_hash: 35d33a8f98079873af81763e7381046e
config_hash: 236823a4936c76818117c16aa5c188df
diff --git a/src/resources/agent/agent.ts b/src/resources/agent/agent.ts
index 2bcb738..7ee37b6 100644
--- a/src/resources/agent/agent.ts
+++ b/src/resources/agent/agent.ts
@@ -284,13 +284,23 @@ export interface AmbientAgentConfig {
session_sharing?: AmbientAgentConfig.SessionSharing;
/**
- * Skill specification identifying which agent skill to use. Format:
+ * Skill specification identifying the primary agent skill to use. Format:
* "{owner}/{repo}:{skill_path}" Example:
- * "warpdotdev/warp-server:.claude/skills/deploy/SKILL.md" Use the list agents
- * endpoint to discover available skills.
+ * "warpdotdev/warp-server:.claude/skills/deploy/SKILL.md" Mutually exclusive with
+ * skills in create/update requests. Responses include the first skills entry here
+ * for backward compatibility. Use the list agents endpoint to discover available
+ * skills.
*/
skill_spec?: string;
+ /**
+ * Ordered skill specifications to attach to the run. Format:
+ * "{owner}/{repo}:{skill_path}" Example:
+ * "warpdotdev/warp-server:.claude/skills/deploy/SKILL.md" Mutually exclusive with
+ * skill_spec in create/update requests.
+ */
+ skills?: Array;
+
/**
* Self-hosted worker ID that should execute this task. If not specified or set to
* "warp", the task runs on Warp-hosted workers.
@@ -1089,7 +1099,7 @@ export interface AgentRunParams {
/**
* The prompt/instruction for the agent to execute. Required unless a skill is
- * specified via the skill field or config.skill_spec.
+ * specified via the skill field, config.skill_spec, or config.skills.
*/
prompt?: string;
diff --git a/src/resources/agent/agent_.ts b/src/resources/agent/agent_.ts
index 5a32540..3f6e209 100644
--- a/src/resources/agent/agent_.ts
+++ b/src/resources/agent/agent_.ts
@@ -146,6 +146,16 @@ export interface AgentResponse {
*/
description?: string | null;
+ /**
+ * Default cloud environment ID for runs executed by this agent. The precedence
+ * order for environment resolution is:
+ *
+ * 1. The environment specified on the run itself
+ * 2. The agent's default environment
+ * 3. An empty environment
+ */
+ environment_id?: string;
+
/**
* Authentication secrets for third-party harnesses. Only the secret for the
* harness specified gets injected into the environment.
@@ -263,6 +273,12 @@ export interface CreateAgentRequest {
*/
description?: string | null;
+ /**
+ * Optional default cloud environment ID for runs executed by this agent. The
+ * environment must be owned by the same team as the agent.
+ */
+ environment_id?: string | null;
+
/**
* Authentication secrets for third-party harnesses. Only the secret for the
* harness specified gets injected into the environment.
@@ -412,6 +428,12 @@ export interface UpdateAgentRequest {
*/
description?: string | null;
+ /**
+ * Replacement default cloud environment ID. Omit or pass `null` to leave
+ * unchanged, or pass an empty string to clear.
+ */
+ environment_id?: string | null;
+
/**
* Authentication secrets for third-party harnesses. Only the secret for the
* harness specified gets injected into the environment.
@@ -553,6 +575,12 @@ export interface AgentCreateParams {
*/
description?: string | null;
+ /**
+ * Optional default cloud environment ID for runs executed by this agent. The
+ * environment must be owned by the same team as the agent.
+ */
+ environment_id?: string | null;
+
/**
* Authentication secrets for third-party harnesses. Only the secret for the
* harness specified gets injected into the environment.
@@ -691,6 +719,12 @@ export interface AgentUpdateParams {
*/
description?: string | null;
+ /**
+ * Replacement default cloud environment ID. Omit or pass `null` to leave
+ * unchanged, or pass an empty string to clear.
+ */
+ environment_id?: string | null;
+
/**
* Authentication secrets for third-party harnesses. Only the secret for the
* harness specified gets injected into the environment.
diff --git a/src/resources/agent/schedules.ts b/src/resources/agent/schedules.ts
index b549fe7..893e1cc 100644
--- a/src/resources/agent/schedules.ts
+++ b/src/resources/agent/schedules.ts
@@ -258,7 +258,7 @@ export interface ScheduleCreateParams {
/**
* The prompt/instruction for the agent to execute. Required unless
- * agent_config.skill_spec is provided.
+ * agent_config.skill_spec or agent_config.skills is provided.
*/
prompt?: string;
@@ -304,7 +304,7 @@ export interface ScheduleUpdateParams {
/**
* The prompt/instruction for the agent to execute. Required unless
- * agent_config.skill_spec is provided.
+ * agent_config.skill_spec or agent_config.skills is provided.
*/
prompt?: string;
}
diff --git a/tests/api-resources/agent/agent_.test.ts b/tests/api-resources/agent/agent_.test.ts
index dcfb127..9298360 100644
--- a/tests/api-resources/agent/agent_.test.ts
+++ b/tests/api-resources/agent/agent_.test.ts
@@ -27,6 +27,7 @@ describe('resource agent', () => {
base_harness: 'base_harness',
base_model: 'base_model',
description: 'description',
+ environment_id: 'environment_id',
harness_auth_secrets: {
claude_auth_secret_name: 'claude_auth_secret_name',
codex_auth_secret_name: 'codex_auth_secret_name',
diff --git a/tests/api-resources/agent/schedules.test.ts b/tests/api-resources/agent/schedules.test.ts
index 7e061a9..6c3cb8b 100644
--- a/tests/api-resources/agent/schedules.test.ts
+++ b/tests/api-resources/agent/schedules.test.ts
@@ -60,6 +60,7 @@ describe('resource schedules', () => {
name: 'name',
session_sharing: { public_access: 'VIEWER' },
skill_spec: 'skill_spec',
+ skills: ['string'],
worker_host: 'worker_host',
},
agent_uid: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
@@ -136,6 +137,7 @@ describe('resource schedules', () => {
name: 'name',
session_sharing: { public_access: 'VIEWER' },
skill_spec: 'skill_spec',
+ skills: ['string'],
worker_host: 'worker_host',
},
agent_uid: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
From a27b0cbfe9401b3ee136460b95700939b890565c Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Fri, 15 May 2026 23:36:53 +0000
Subject: [PATCH 24/35] codegen metadata
---
.stats.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index a780ae7..e65ddf7 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-4bc83c682f151e3779dabdac7cc9c83ec591510b4befc86a3b2995ccd6e61151.yml
-openapi_spec_hash: 35d33a8f98079873af81763e7381046e
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-f1bb3ba8f89add00c3bb98d0b4a54d30f4646f09d3f4d8525ef7360b34730bd5.yml
+openapi_spec_hash: e01083604c0de7c34e4f62eb79d65b5b
config_hash: 236823a4936c76818117c16aa5c188df
From 64fc1a2471b3e0ed9873795a04b4f0e2368c92dd Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Sun, 17 May 2026 00:25:24 +0000
Subject: [PATCH 25/35] feat(api): api update
---
.stats.yml | 4 +--
src/resources/agent/agent.ts | 18 +++--------
src/resources/agent/agent_.ts | 34 ---------------------
src/resources/agent/schedules.ts | 4 +--
tests/api-resources/agent/agent_.test.ts | 1 -
tests/api-resources/agent/schedules.test.ts | 2 --
6 files changed, 8 insertions(+), 55 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index e65ddf7..7d249c2 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-f1bb3ba8f89add00c3bb98d0b4a54d30f4646f09d3f4d8525ef7360b34730bd5.yml
-openapi_spec_hash: e01083604c0de7c34e4f62eb79d65b5b
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-410e07a5c3a6e0ff043e5f414d501e171d4dd9f8c91b3404cd9e3e93afebae46.yml
+openapi_spec_hash: ab7a6a235e8b2484df1747c69a096ab0
config_hash: 236823a4936c76818117c16aa5c188df
diff --git a/src/resources/agent/agent.ts b/src/resources/agent/agent.ts
index 7ee37b6..2bcb738 100644
--- a/src/resources/agent/agent.ts
+++ b/src/resources/agent/agent.ts
@@ -284,23 +284,13 @@ export interface AmbientAgentConfig {
session_sharing?: AmbientAgentConfig.SessionSharing;
/**
- * Skill specification identifying the primary agent skill to use. Format:
+ * Skill specification identifying which agent skill to use. Format:
* "{owner}/{repo}:{skill_path}" Example:
- * "warpdotdev/warp-server:.claude/skills/deploy/SKILL.md" Mutually exclusive with
- * skills in create/update requests. Responses include the first skills entry here
- * for backward compatibility. Use the list agents endpoint to discover available
- * skills.
+ * "warpdotdev/warp-server:.claude/skills/deploy/SKILL.md" Use the list agents
+ * endpoint to discover available skills.
*/
skill_spec?: string;
- /**
- * Ordered skill specifications to attach to the run. Format:
- * "{owner}/{repo}:{skill_path}" Example:
- * "warpdotdev/warp-server:.claude/skills/deploy/SKILL.md" Mutually exclusive with
- * skill_spec in create/update requests.
- */
- skills?: Array;
-
/**
* Self-hosted worker ID that should execute this task. If not specified or set to
* "warp", the task runs on Warp-hosted workers.
@@ -1099,7 +1089,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.
+ * specified via the skill field or config.skill_spec.
*/
prompt?: string;
diff --git a/src/resources/agent/agent_.ts b/src/resources/agent/agent_.ts
index 3f6e209..5a32540 100644
--- a/src/resources/agent/agent_.ts
+++ b/src/resources/agent/agent_.ts
@@ -146,16 +146,6 @@ export interface AgentResponse {
*/
description?: string | null;
- /**
- * Default cloud environment ID for runs executed by this agent. The precedence
- * order for environment resolution is:
- *
- * 1. The environment specified on the run itself
- * 2. The agent's default environment
- * 3. An empty environment
- */
- environment_id?: string;
-
/**
* Authentication secrets for third-party harnesses. Only the secret for the
* harness specified gets injected into the environment.
@@ -273,12 +263,6 @@ export interface CreateAgentRequest {
*/
description?: string | null;
- /**
- * Optional default cloud environment ID for runs executed by this agent. The
- * environment must be owned by the same team as the agent.
- */
- environment_id?: string | null;
-
/**
* Authentication secrets for third-party harnesses. Only the secret for the
* harness specified gets injected into the environment.
@@ -428,12 +412,6 @@ export interface UpdateAgentRequest {
*/
description?: string | null;
- /**
- * Replacement default cloud environment ID. Omit or pass `null` to leave
- * unchanged, or pass an empty string to clear.
- */
- environment_id?: string | null;
-
/**
* Authentication secrets for third-party harnesses. Only the secret for the
* harness specified gets injected into the environment.
@@ -575,12 +553,6 @@ export interface AgentCreateParams {
*/
description?: string | null;
- /**
- * Optional default cloud environment ID for runs executed by this agent. The
- * environment must be owned by the same team as the agent.
- */
- environment_id?: string | null;
-
/**
* Authentication secrets for third-party harnesses. Only the secret for the
* harness specified gets injected into the environment.
@@ -719,12 +691,6 @@ export interface AgentUpdateParams {
*/
description?: string | null;
- /**
- * Replacement default cloud environment ID. Omit or pass `null` to leave
- * unchanged, or pass an empty string to clear.
- */
- environment_id?: string | null;
-
/**
* Authentication secrets for third-party harnesses. Only the secret for the
* harness specified gets injected into the environment.
diff --git a/src/resources/agent/schedules.ts b/src/resources/agent/schedules.ts
index 893e1cc..b549fe7 100644
--- a/src/resources/agent/schedules.ts
+++ b/src/resources/agent/schedules.ts
@@ -258,7 +258,7 @@ export interface ScheduleCreateParams {
/**
* The prompt/instruction for the agent to execute. Required unless
- * agent_config.skill_spec or agent_config.skills is provided.
+ * agent_config.skill_spec is provided.
*/
prompt?: string;
@@ -304,7 +304,7 @@ export interface ScheduleUpdateParams {
/**
* The prompt/instruction for the agent to execute. Required unless
- * agent_config.skill_spec or agent_config.skills is provided.
+ * agent_config.skill_spec is provided.
*/
prompt?: string;
}
diff --git a/tests/api-resources/agent/agent_.test.ts b/tests/api-resources/agent/agent_.test.ts
index 9298360..dcfb127 100644
--- a/tests/api-resources/agent/agent_.test.ts
+++ b/tests/api-resources/agent/agent_.test.ts
@@ -27,7 +27,6 @@ describe('resource agent', () => {
base_harness: 'base_harness',
base_model: 'base_model',
description: 'description',
- environment_id: 'environment_id',
harness_auth_secrets: {
claude_auth_secret_name: 'claude_auth_secret_name',
codex_auth_secret_name: 'codex_auth_secret_name',
diff --git a/tests/api-resources/agent/schedules.test.ts b/tests/api-resources/agent/schedules.test.ts
index 6c3cb8b..7e061a9 100644
--- a/tests/api-resources/agent/schedules.test.ts
+++ b/tests/api-resources/agent/schedules.test.ts
@@ -60,7 +60,6 @@ describe('resource schedules', () => {
name: 'name',
session_sharing: { public_access: 'VIEWER' },
skill_spec: 'skill_spec',
- skills: ['string'],
worker_host: 'worker_host',
},
agent_uid: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
@@ -137,7 +136,6 @@ describe('resource schedules', () => {
name: 'name',
session_sharing: { public_access: 'VIEWER' },
skill_spec: 'skill_spec',
- skills: ['string'],
worker_host: 'worker_host',
},
agent_uid: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
From 8ef557af2cf059149d3488252799c1b996cfdbb1 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Mon, 18 May 2026 13:33:03 +0000
Subject: [PATCH 26/35] codegen metadata
---
.stats.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 7d249c2..2435834 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-410e07a5c3a6e0ff043e5f414d501e171d4dd9f8c91b3404cd9e3e93afebae46.yml
-openapi_spec_hash: ab7a6a235e8b2484df1747c69a096ab0
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-1cb369354e3acf679dddc58b21fb3c8e2408e382e8c285633cfd9db98e838b45.yml
+openapi_spec_hash: fd384940df3193f1fb7a3334361f985b
config_hash: 236823a4936c76818117c16aa5c188df
From fce39679b0ca2095b812fac8631b71d81fceef63 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Mon, 18 May 2026 14:48:36 +0000
Subject: [PATCH 27/35] feat: Resolve Bedrock region server-side and ship as
AWS_REGION
---
.stats.yml | 4 ++--
src/resources/agent/agent.ts | 5 +++++
src/resources/agent/agent_.ts | 25 +++++++++++++++++++++
tests/api-resources/agent/agent_.test.ts | 8 ++++++-
tests/api-resources/agent/schedules.test.ts | 16 +++++++++++--
5 files changed, 53 insertions(+), 5 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 2435834..8fdfdeb 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-1cb369354e3acf679dddc58b21fb3c8e2408e382e8c285633cfd9db98e838b45.yml
-openapi_spec_hash: fd384940df3193f1fb7a3334361f985b
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-c314e3cd20bb86c2d0e56b7536da7e1acb17658367d4f207df896196ba996a1f.yml
+openapi_spec_hash: c471d92d9d9bf65ddc08ee68cb040f71
config_hash: 236823a4936c76818117c16aa5c188df
diff --git a/src/resources/agent/agent.ts b/src/resources/agent/agent.ts
index 2bcb738..dcaed97 100644
--- a/src/resources/agent/agent.ts
+++ b/src/resources/agent/agent.ts
@@ -355,6 +355,11 @@ export namespace AmbientAgentConfig {
*/
disabled?: boolean;
+ /**
+ * AWS region used for STS when assuming the Bedrock inference role.
+ */
+ region?: string;
+
/**
* IAM role ARN to assume when calling Bedrock.
*/
diff --git a/src/resources/agent/agent_.ts b/src/resources/agent/agent_.ts
index 5a32540..da0ece7 100644
--- a/src/resources/agent/agent_.ts
+++ b/src/resources/agent/agent_.ts
@@ -234,6 +234,11 @@ export namespace AgentResponse {
*/
disabled?: boolean;
+ /**
+ * AWS region used for STS when assuming the Bedrock inference role.
+ */
+ region?: string;
+
/**
* IAM role ARN to assume when calling Bedrock.
*/
@@ -344,6 +349,11 @@ export namespace CreateAgentRequest {
*/
disabled?: boolean;
+ /**
+ * AWS region used for STS when assuming the Bedrock inference role.
+ */
+ region?: string;
+
/**
* IAM role ARN to assume when calling Bedrock.
*/
@@ -494,6 +504,11 @@ export namespace UpdateAgentRequest {
*/
disabled?: boolean;
+ /**
+ * AWS region used for STS when assuming the Bedrock inference role.
+ */
+ region?: string;
+
/**
* IAM role ARN to assume when calling Bedrock.
*/
@@ -634,6 +649,11 @@ export namespace AgentCreateParams {
*/
disabled?: boolean;
+ /**
+ * AWS region used for STS when assuming the Bedrock inference role.
+ */
+ region?: string;
+
/**
* IAM role ARN to assume when calling Bedrock.
*/
@@ -773,6 +793,11 @@ export namespace AgentUpdateParams {
*/
disabled?: boolean;
+ /**
+ * AWS region used for STS when assuming the Bedrock inference role.
+ */
+ region?: string;
+
/**
* IAM role ARN to assume when calling Bedrock.
*/
diff --git a/tests/api-resources/agent/agent_.test.ts b/tests/api-resources/agent/agent_.test.ts
index dcfb127..ae1f355 100644
--- a/tests/api-resources/agent/agent_.test.ts
+++ b/tests/api-resources/agent/agent_.test.ts
@@ -31,7 +31,13 @@ describe('resource agent', () => {
claude_auth_secret_name: 'claude_auth_secret_name',
codex_auth_secret_name: 'codex_auth_secret_name',
},
- inference_providers: { aws: { disabled: true, role_arn: 'role_arn' } },
+ inference_providers: {
+ aws: {
+ disabled: true,
+ region: 'region',
+ role_arn: 'role_arn',
+ },
+ },
memory_stores: [
{
access: 'read_write',
diff --git a/tests/api-resources/agent/schedules.test.ts b/tests/api-resources/agent/schedules.test.ts
index 7e061a9..b8b0843 100644
--- a/tests/api-resources/agent/schedules.test.ts
+++ b/tests/api-resources/agent/schedules.test.ts
@@ -38,7 +38,13 @@ describe('resource schedules', () => {
codex_auth_secret_name: 'codex_auth_secret_name',
},
idle_timeout_minutes: 1,
- inference_providers: { aws: { disabled: true, role_arn: 'role_arn' } },
+ inference_providers: {
+ aws: {
+ disabled: true,
+ region: 'region',
+ role_arn: 'role_arn',
+ },
+ },
mcp_servers: {
foo: {
args: ['string'],
@@ -114,7 +120,13 @@ describe('resource schedules', () => {
codex_auth_secret_name: 'codex_auth_secret_name',
},
idle_timeout_minutes: 1,
- inference_providers: { aws: { disabled: true, role_arn: 'role_arn' } },
+ inference_providers: {
+ aws: {
+ disabled: true,
+ region: 'region',
+ role_arn: 'role_arn',
+ },
+ },
mcp_servers: {
foo: {
args: ['string'],
From 378da6e4785bb202b400255568d91e687e5267f3 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Mon, 18 May 2026 17:04:47 +0000
Subject: [PATCH 28/35] codegen metadata
---
.stats.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 8fdfdeb..a871b26 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-c314e3cd20bb86c2d0e56b7536da7e1acb17658367d4f207df896196ba996a1f.yml
-openapi_spec_hash: c471d92d9d9bf65ddc08ee68cb040f71
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-8d5dc83a37ebf0a25d18773bdc0ae8c253816e4fcfb82485ae15abe9d563f06c.yml
+openapi_spec_hash: 9f3bb8bfc4db7adec8ee5fedcbfba72c
config_hash: 236823a4936c76818117c16aa5c188df
From 4e81853387e0cb3031ba517781ab2560f92a98fc Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Mon, 18 May 2026 19:36:23 +0000
Subject: [PATCH 29/35] feat(api): api update
---
.stats.yml | 4 +--
src/resources/agent/agent.ts | 18 ++++++++---
src/resources/agent/agent_.ts | 34 +++++++++++++++++++++
src/resources/agent/schedules.ts | 4 +--
tests/api-resources/agent/agent_.test.ts | 1 +
tests/api-resources/agent/schedules.test.ts | 2 ++
6 files changed, 55 insertions(+), 8 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index a871b26..59ce266 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-8d5dc83a37ebf0a25d18773bdc0ae8c253816e4fcfb82485ae15abe9d563f06c.yml
-openapi_spec_hash: 9f3bb8bfc4db7adec8ee5fedcbfba72c
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-a9e41944bed93ec10c3c89b7fc4ecf8e20eff08c930609430328f756a1aa181a.yml
+openapi_spec_hash: 190c9973e0c62c546b5dad3b5980740e
config_hash: 236823a4936c76818117c16aa5c188df
diff --git a/src/resources/agent/agent.ts b/src/resources/agent/agent.ts
index dcaed97..c83648d 100644
--- a/src/resources/agent/agent.ts
+++ b/src/resources/agent/agent.ts
@@ -284,13 +284,23 @@ export interface AmbientAgentConfig {
session_sharing?: AmbientAgentConfig.SessionSharing;
/**
- * Skill specification identifying which agent skill to use. Format:
+ * Skill specification identifying the primary agent skill to use. Format:
* "{owner}/{repo}:{skill_path}" Example:
- * "warpdotdev/warp-server:.claude/skills/deploy/SKILL.md" Use the list agents
- * endpoint to discover available skills.
+ * "warpdotdev/warp-server:.claude/skills/deploy/SKILL.md" Mutually exclusive with
+ * skills in create/update requests. Responses include the first skills entry here
+ * for backward compatibility. Use the list agents endpoint to discover available
+ * skills.
*/
skill_spec?: string;
+ /**
+ * Ordered skill specifications to attach to the run. Format:
+ * "{owner}/{repo}:{skill_path}" Example:
+ * "warpdotdev/warp-server:.claude/skills/deploy/SKILL.md" Mutually exclusive with
+ * skill_spec in create/update requests.
+ */
+ skills?: Array;
+
/**
* Self-hosted worker ID that should execute this task. If not specified or set to
* "warp", the task runs on Warp-hosted workers.
@@ -1094,7 +1104,7 @@ export interface AgentRunParams {
/**
* The prompt/instruction for the agent to execute. Required unless a skill is
- * specified via the skill field or config.skill_spec.
+ * specified via the skill field, config.skill_spec, or config.skills.
*/
prompt?: string;
diff --git a/src/resources/agent/agent_.ts b/src/resources/agent/agent_.ts
index da0ece7..32e7dc7 100644
--- a/src/resources/agent/agent_.ts
+++ b/src/resources/agent/agent_.ts
@@ -146,6 +146,16 @@ export interface AgentResponse {
*/
description?: string | null;
+ /**
+ * Default cloud environment ID for runs executed by this agent. The precedence
+ * order for environment resolution is:
+ *
+ * 1. The environment specified on the run itself
+ * 2. The agent's default environment
+ * 3. An empty environment
+ */
+ environment_id?: string;
+
/**
* Authentication secrets for third-party harnesses. Only the secret for the
* harness specified gets injected into the environment.
@@ -268,6 +278,12 @@ export interface CreateAgentRequest {
*/
description?: string | null;
+ /**
+ * Optional default cloud environment ID for runs executed by this agent. The
+ * environment must be owned by the same team as the agent.
+ */
+ environment_id?: string | null;
+
/**
* Authentication secrets for third-party harnesses. Only the secret for the
* harness specified gets injected into the environment.
@@ -422,6 +438,12 @@ export interface UpdateAgentRequest {
*/
description?: string | null;
+ /**
+ * Replacement default cloud environment ID. Omit or pass `null` to leave
+ * unchanged, or pass an empty string to clear.
+ */
+ environment_id?: string | null;
+
/**
* Authentication secrets for third-party harnesses. Only the secret for the
* harness specified gets injected into the environment.
@@ -568,6 +590,12 @@ export interface AgentCreateParams {
*/
description?: string | null;
+ /**
+ * Optional default cloud environment ID for runs executed by this agent. The
+ * environment must be owned by the same team as the agent.
+ */
+ environment_id?: string | null;
+
/**
* Authentication secrets for third-party harnesses. Only the secret for the
* harness specified gets injected into the environment.
@@ -711,6 +739,12 @@ export interface AgentUpdateParams {
*/
description?: string | null;
+ /**
+ * Replacement default cloud environment ID. Omit or pass `null` to leave
+ * unchanged, or pass an empty string to clear.
+ */
+ environment_id?: string | null;
+
/**
* Authentication secrets for third-party harnesses. Only the secret for the
* harness specified gets injected into the environment.
diff --git a/src/resources/agent/schedules.ts b/src/resources/agent/schedules.ts
index b549fe7..893e1cc 100644
--- a/src/resources/agent/schedules.ts
+++ b/src/resources/agent/schedules.ts
@@ -258,7 +258,7 @@ export interface ScheduleCreateParams {
/**
* The prompt/instruction for the agent to execute. Required unless
- * agent_config.skill_spec is provided.
+ * agent_config.skill_spec or agent_config.skills is provided.
*/
prompt?: string;
@@ -304,7 +304,7 @@ export interface ScheduleUpdateParams {
/**
* The prompt/instruction for the agent to execute. Required unless
- * agent_config.skill_spec is provided.
+ * agent_config.skill_spec or agent_config.skills is provided.
*/
prompt?: string;
}
diff --git a/tests/api-resources/agent/agent_.test.ts b/tests/api-resources/agent/agent_.test.ts
index ae1f355..53a0c9d 100644
--- a/tests/api-resources/agent/agent_.test.ts
+++ b/tests/api-resources/agent/agent_.test.ts
@@ -27,6 +27,7 @@ describe('resource agent', () => {
base_harness: 'base_harness',
base_model: 'base_model',
description: 'description',
+ environment_id: 'environment_id',
harness_auth_secrets: {
claude_auth_secret_name: 'claude_auth_secret_name',
codex_auth_secret_name: 'codex_auth_secret_name',
diff --git a/tests/api-resources/agent/schedules.test.ts b/tests/api-resources/agent/schedules.test.ts
index b8b0843..65331ed 100644
--- a/tests/api-resources/agent/schedules.test.ts
+++ b/tests/api-resources/agent/schedules.test.ts
@@ -66,6 +66,7 @@ describe('resource schedules', () => {
name: 'name',
session_sharing: { public_access: 'VIEWER' },
skill_spec: 'skill_spec',
+ skills: ['string'],
worker_host: 'worker_host',
},
agent_uid: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
@@ -148,6 +149,7 @@ describe('resource schedules', () => {
name: 'name',
session_sharing: { public_access: 'VIEWER' },
skill_spec: 'skill_spec',
+ skills: ['string'],
worker_host: 'worker_host',
},
agent_uid: '182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
From c8353e75abd9f48897f6f60339cfdf62920eaf19 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Mon, 18 May 2026 20:19:26 +0000
Subject: [PATCH 30/35] chore(tests): remove redundant File import
---
tests/uploads.test.ts | 1 -
1 file changed, 1 deletion(-)
diff --git a/tests/uploads.test.ts b/tests/uploads.test.ts
index 418d26a..a17a91e 100644
--- a/tests/uploads.test.ts
+++ b/tests/uploads.test.ts
@@ -1,7 +1,6 @@
import fs from 'fs';
import type { ResponseLike } from 'oz-agent-sdk/internal/to-file';
import { toFile } from 'oz-agent-sdk/core/uploads';
-import { File } from 'node:buffer';
class MyClass {
name: string = 'foo';
From 17a7800ccf6ea73492d8dc5d20ff3a1b83ab36dc Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Mon, 18 May 2026 21:14:41 +0000
Subject: [PATCH 31/35] fix(typescript): upgrade tsc-multi so that it works
with Node 26
---
package.json | 2 +-
pnpm-lock.yaml | 14 +++++++-------
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/package.json b/package.json
index 2f61787..696b7eb 100644
--- a/package.json
+++ b/package.json
@@ -43,7 +43,7 @@
"publint": "^0.2.12",
"ts-jest": "^29.1.0",
"ts-node": "^10.5.0",
- "tsc-multi": "https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz",
+ "tsc-multi": "https://github.com/stainless-api/tsc-multi/releases/download/v1.1.11/tsc-multi.tgz",
"tsconfig-paths": "^4.0.0",
"tslib": "^2.8.1",
"typescript": "5.8.3",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 0540538..6497094 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -56,8 +56,8 @@ importers:
specifier: ^10.5.0
version: 10.7.0(@swc/core@1.4.16)(@types/node@20.19.11)(typescript@5.8.3)
tsc-multi:
- specifier: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz
- version: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz(typescript@5.8.3)
+ specifier: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.11/tsc-multi.tgz
+ version: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.11/tsc-multi.tgz(typescript@5.8.3)
tsconfig-paths:
specifier: ^4.0.0
version: 4.2.0
@@ -3119,13 +3119,13 @@ packages:
'@swc/wasm':
optional: true
- tsc-multi@https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz:
+ tsc-multi@https://github.com/stainless-api/tsc-multi/releases/download/v1.1.11/tsc-multi.tgz:
resolution:
{
- integrity: sha512-tWyCXnx0WqCkVlo5s+4KMj7HC0/0YrCZY0PustUwX9F2lNwd8Kp07q/Q56uGvV9q80XaSDrhy0YqBmrX5TDNpQ==,
- tarball: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz,
+ integrity: sha512-LrjLRdfDnJ6UcZPSsxxY8QDnZmS3ZpPyvzgjUlNMjjRoTAUVqeL+IWrIzEU3Z+CwVrpVI97PePRLenEfCtR/UQ==,
+ tarball: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.11/tsc-multi.tgz,
}
- version: 1.1.9
+ version: 1.1.11
engines: { node: '>=14' }
hasBin: true
peerDependencies:
@@ -5399,7 +5399,7 @@ snapshots:
optionalDependencies:
'@swc/core': 1.4.16
- tsc-multi@https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz(typescript@5.8.3):
+ tsc-multi@https://github.com/stainless-api/tsc-multi/releases/download/v1.1.11/tsc-multi.tgz(typescript@5.8.3):
dependencies:
debug: 4.4.1
fast-glob: 3.3.2
From 0de41e183fc457652ffda1cd94c624ed9f70e04c Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Tue, 19 May 2026 11:16:31 +0000
Subject: [PATCH 32/35] feat: Add updated_at to agent API responses
---
.stats.yml | 4 ++--
src/resources/agent/agent_.ts | 5 +++++
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 59ce266..4d0d087 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-a9e41944bed93ec10c3c89b7fc4ecf8e20eff08c930609430328f756a1aa181a.yml
-openapi_spec_hash: 190c9973e0c62c546b5dad3b5980740e
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-532e80ed769a2649b85798696c2c988d05a2c940c61425a6d6caaf6206beeb28.yml
+openapi_spec_hash: 018332ffca594f453bfd0fb348560946
config_hash: 236823a4936c76818117c16aa5c188df
diff --git a/src/resources/agent/agent_.ts b/src/resources/agent/agent_.ts
index 32e7dc7..7846ed6 100644
--- a/src/resources/agent/agent_.ts
+++ b/src/resources/agent/agent_.ts
@@ -121,6 +121,11 @@ export interface AgentResponse {
*/
uid: string;
+ /**
+ * When the agent was last updated (RFC3339)
+ */
+ updated_at: string;
+
/**
* Default harness for runs executed by this agent. The precedence order for
* harness resolution is:
From 05594f1ad14c32f357fcd31ceaea7758c5b41a91 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Tue, 19 May 2026 17:28:42 +0000
Subject: [PATCH 33/35] feat(api): api update
---
.stats.yml | 4 ++--
src/resources/agent/agent_.ts | 5 -----
2 files changed, 2 insertions(+), 7 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 4d0d087..59ce266 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-532e80ed769a2649b85798696c2c988d05a2c940c61425a6d6caaf6206beeb28.yml
-openapi_spec_hash: 018332ffca594f453bfd0fb348560946
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-a9e41944bed93ec10c3c89b7fc4ecf8e20eff08c930609430328f756a1aa181a.yml
+openapi_spec_hash: 190c9973e0c62c546b5dad3b5980740e
config_hash: 236823a4936c76818117c16aa5c188df
diff --git a/src/resources/agent/agent_.ts b/src/resources/agent/agent_.ts
index 7846ed6..32e7dc7 100644
--- a/src/resources/agent/agent_.ts
+++ b/src/resources/agent/agent_.ts
@@ -121,11 +121,6 @@ export interface AgentResponse {
*/
uid: string;
- /**
- * When the agent was last updated (RFC3339)
- */
- updated_at: string;
-
/**
* Default harness for runs executed by this agent. The precedence order for
* harness resolution is:
From 2a1e2cd9bd113ab834c70ff1df781696220b21b5 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Thu, 21 May 2026 11:28:07 +0000
Subject: [PATCH 34/35] feat: Support service account impersonation in GCP
Workload Identity Federation config
---
.stats.yml | 4 ++--
src/resources/agent/agent.ts | 5 +++++
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/.stats.yml b/.stats.yml
index 59ce266..e679286 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-a9e41944bed93ec10c3c89b7fc4ecf8e20eff08c930609430328f756a1aa181a.yml
-openapi_spec_hash: 190c9973e0c62c546b5dad3b5980740e
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta/warp-api-964f646a32c318735de7673531a12788aede1840f7ab4893f2efa31c83440837.yml
+openapi_spec_hash: 30f07ff0bfb491efb11cd88fce79968a
config_hash: 236823a4936c76818117c16aa5c188df
diff --git a/src/resources/agent/agent.ts b/src/resources/agent/agent.ts
index c83648d..ec4d9df 100644
--- a/src/resources/agent/agent.ts
+++ b/src/resources/agent/agent.ts
@@ -704,6 +704,11 @@ export interface GcpProviderConfig {
* Workload Identity Federation provider ID
*/
workload_identity_federation_provider_id: string;
+
+ /**
+ * Optional GCP service account email to impersonate
+ */
+ service_account_email?: string;
}
/**
From 871d2779c1e2ffbc03b2de6f6a112e81a329d570 Mon Sep 17 00:00:00 2001
From: "stainless-app[bot]"
<142633134+stainless-app[bot]@users.noreply.github.com>
Date: Thu, 21 May 2026 11:28:47 +0000
Subject: [PATCH 35/35] release: 1.4.0-alpha.2
---
.release-please-manifest.json | 2 +-
CHANGELOG.md | 40 +++++++++++++++++++++++++++++++++++
package.json | 2 +-
src/version.ts | 2 +-
4 files changed, 43 insertions(+), 3 deletions(-)
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 7b135d9..b3b66c9 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "1.4.0-alpha.1"
+ ".": "1.4.0-alpha.2"
}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 20d8721..31a7e8f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,45 @@
# Changelog
+## 1.4.0-alpha.2 (2026-05-21)
+
+Full Changelog: [v1.4.0-alpha.1...v1.4.0-alpha.2](https://github.com/warpdotdev/oz-sdk-typescript/compare/v1.4.0-alpha.1...v1.4.0-alpha.2)
+
+### Features
+
+* Add default harness selection for agents ([a5ec72d](https://github.com/warpdotdev/oz-sdk-typescript/commit/a5ec72d95f8c53927571b3493396c1282c7f1844))
+* Add per-agent AWS Bedrock OIDC inference role (backend) ([c82dc15](https://github.com/warpdotdev/oz-sdk-typescript/commit/c82dc153cdac6ab44e4e2aa3bf451a50bba54a52))
+* Add updated_at to agent API responses ([0de41e1](https://github.com/warpdotdev/oz-sdk-typescript/commit/0de41e183fc457652ffda1cd94c624ed9f70e04c))
+* **agents:** add prompt property to agent identity data model ([bc889e1](https://github.com/warpdotdev/oz-sdk-typescript/commit/bc889e1be8e9d52df135230cb37aa6817192e4cd))
+* **api:** api update ([05594f1](https://github.com/warpdotdev/oz-sdk-typescript/commit/05594f1ad14c32f357fcd31ceaea7758c5b41a91))
+* **api:** api update ([4e81853](https://github.com/warpdotdev/oz-sdk-typescript/commit/4e81853387e0cb3031ba517781ab2560f92a98fc))
+* **api:** api update ([64fc1a2](https://github.com/warpdotdev/oz-sdk-typescript/commit/64fc1a2471b3e0ed9873795a04b4f0e2368c92dd))
+* **api:** api update ([f43cf4f](https://github.com/warpdotdev/oz-sdk-typescript/commit/f43cf4fb4f402b3961166a792b7556fbee266ece))
+* **api:** api update ([a530c11](https://github.com/warpdotdev/oz-sdk-typescript/commit/a530c11d0897c8c1cc3706e1fc68d2d9b1768689))
+* **api:** api update ([63390f5](https://github.com/warpdotdev/oz-sdk-typescript/commit/63390f5adc5bfae988ebc6081c3f447672c59d61))
+* **api:** api update ([89e4435](https://github.com/warpdotdev/oz-sdk-typescript/commit/89e44352062b2526d9bd39f28d70562c87d667cf))
+* **api:** api update ([345e736](https://github.com/warpdotdev/oz-sdk-typescript/commit/345e736aba6081962afbae4d997b267ee7755497))
+* **api:** api update ([63ba09a](https://github.com/warpdotdev/oz-sdk-typescript/commit/63ba09ae4224b712830fb30980b96e3658804e01))
+* **api:** api update ([cfd9f36](https://github.com/warpdotdev/oz-sdk-typescript/commit/cfd9f367cd29d9bd81d74e1b1c4c2a908806967b))
+* **api:** api update ([cc72fe8](https://github.com/warpdotdev/oz-sdk-typescript/commit/cc72fe842eb431c60bbe72f16b3aab1694893fb6))
+* Codex auth: API key support. ([3239af5](https://github.com/warpdotdev/oz-sdk-typescript/commit/3239af50b067dc61e9795e0abbd0e11fb155e83d))
+* **memory:** agent identity memory store attachments — API layer ([f987f21](https://github.com/warpdotdev/oz-sdk-typescript/commit/f987f2148a940658d6e751ef1b98e4a5dbc2c3a3))
+* **memory:** wire memory stores into run pipeline and add listing endpoint ([56324ee](https://github.com/warpdotdev/oz-sdk-typescript/commit/56324ee8cf997f928aa67e3c95821b78fea619b2))
+* Partial support for multiple skills per run ([a24ac35](https://github.com/warpdotdev/oz-sdk-typescript/commit/a24ac355581959d8fa6329a8adc2a7f11cc31dfb))
+* Resolve Bedrock region server-side and ship as AWS_REGION ([fce3967](https://github.com/warpdotdev/oz-sdk-typescript/commit/fce39679b0ca2095b812fac8631b71d81fceef63))
+* Retrieve memories in third party harnesses ([3df6e50](https://github.com/warpdotdev/oz-sdk-typescript/commit/3df6e50ad1915320ad8b0e15be00dac5c55c1b06))
+* Support service account impersonation in GCP Workload Identity Federation config ([2a1e2cd](https://github.com/warpdotdev/oz-sdk-typescript/commit/2a1e2cd9bd113ab834c70ff1df781696220b21b5))
+
+
+### Bug Fixes
+
+* **typescript:** upgrade tsc-multi so that it works with Node 26 ([17a7800](https://github.com/warpdotdev/oz-sdk-typescript/commit/17a7800ccf6ea73492d8dc5d20ff3a1b83ab36dc))
+
+
+### Chores
+
+* redact api-key headers in debug logs ([173a753](https://github.com/warpdotdev/oz-sdk-typescript/commit/173a7532c552b3741ecb6e34a177d4f7f4ecce5d))
+* **tests:** remove redundant File import ([c8353e7](https://github.com/warpdotdev/oz-sdk-typescript/commit/c8353e75abd9f48897f6f60339cfdf62920eaf19))
+
## 1.4.0-alpha.1 (2026-05-07)
Full Changelog: [v1.4.0-alpha.0...v1.4.0-alpha.1](https://github.com/warpdotdev/oz-sdk-typescript/compare/v1.4.0-alpha.0...v1.4.0-alpha.1)
diff --git a/package.json b/package.json
index 696b7eb..8e52e89 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "oz-agent-sdk",
- "version": "1.4.0-alpha.1",
+ "version": "1.4.0-alpha.2",
"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 8cdaf0f..01c06f9 100644
--- a/src/version.ts
+++ b/src/version.ts
@@ -1 +1 @@
-export const VERSION = '1.4.0-alpha.1'; // x-release-please-version
+export const VERSION = '1.4.0-alpha.2'; // x-release-please-version