Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
{
".": "1.2.0"
".": "1.3.0"
}
8 changes: 4 additions & 4 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 15
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta%2Fwarp-api-252ab435934e85d5f76957188c64906abf76a0351c5861383327cb1297a2ac8a.yml
openapi_spec_hash: ed801bb30428c1c66cb0af97e3f6ee9c
config_hash: 253e4b5ca01236d448980a78491c17c5
configured_endpoints: 19
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta%2Fwarp-api-348bf98eecccd80255fdcee166b5eb385d8d9743811d080f94a1ec33337abc48.yml
openapi_spec_hash: e192bff5e5b54b3a763136e6cbd70e76
config_hash: c5fc921cc04f541a85f92299f365eba6
24 changes: 24 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,29 @@
# Changelog

## 1.3.0 (2026-04-23)

Full Changelog: [v1.2.0...v1.3.0](https://github.com/warpdotdev/oz-sdk-typescript/compare/v1.2.0...v1.3.0)

### Features

* Accept and persist executor on schedule and integration create/update APIs ([5f9b8bc](https://github.com/warpdotdev/oz-sdk-typescript/commit/5f9b8bc3957e30ac32b1719ac58d098db375c94c))
* Add API support for public access on oz session link ([4cb146c](https://github.com/warpdotdev/oz-sdk-typescript/commit/4cb146ccb9e0c03c84fc58bfc0913ac80de798e0))
* Add Gemini as a third-party Oz harness. ([a40afa5](https://github.com/warpdotdev/oz-sdk-typescript/commit/a40afa57024e4c08626b7fe6b46adb6db0d326b7))
* **api:** api update ([c8c6e74](https://github.com/warpdotdev/oz-sdk-typescript/commit/c8c6e74fc51ae73bf32104dd482ad2202bf34849))
* **api:** api update ([272c460](https://github.com/warpdotdev/oz-sdk-typescript/commit/272c4604fc764ca8e844cbbdf9b3adea785bf378))
* **api:** api update ([aedca4a](https://github.com/warpdotdev/oz-sdk-typescript/commit/aedca4a06790460e99ce7194cd7eba11e9769449))
* **api:** api update ([b01e3a7](https://github.com/warpdotdev/oz-sdk-typescript/commit/b01e3a7535604d26079b1cbe00aca5cded1452e5))
* **api:** api update ([5f82281](https://github.com/warpdotdev/oz-sdk-typescript/commit/5f82281f598ced615fb4349b76433f2b11f7e166))
* **api:** api update ([b0a1504](https://github.com/warpdotdev/oz-sdk-typescript/commit/b0a1504a65ce72f232540eb69916bdd71bdabfe4))
* **api:** api update ([5036b1b](https://github.com/warpdotdev/oz-sdk-typescript/commit/5036b1bb235dc35f844a85d269be889a82e852ca))
* implement server-side cloud-to-cloud handoff for agent follow-ups (REMOTE-1290) ([1134f2b](https://github.com/warpdotdev/oz-sdk-typescript/commit/1134f2b93bb30785866bc67831b75182d65c6a45))
* Update public API and graphql to support creating multiple service accounts and API keys ([1fa19c3](https://github.com/warpdotdev/oz-sdk-typescript/commit/1fa19c39375550cc1dfe4b7dd0bce5bb58361821))


### Chores

* **internal:** more robust bootstrap script ([1c52dcf](https://github.com/warpdotdev/oz-sdk-typescript/commit/1c52dcf1aa971ee4dbd8b672e8dff5c7765d8148))

## 1.2.0 (2026-04-15)

Full Changelog: [v1.1.1...v1.2.0](https://github.com/warpdotdev/oz-sdk-typescript/compare/v1.1.1...v1.2.0)
Expand Down
16 changes: 16 additions & 0 deletions api.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,22 @@ Methods:
- <code title="post /agent/schedules/{scheduleId}/pause">client.agent.schedules.<a href="./src/resources/agent/schedules.ts">pause</a>(scheduleID) -> ScheduledAgentItem</code>
- <code title="post /agent/schedules/{scheduleId}/resume">client.agent.schedules.<a href="./src/resources/agent/schedules.ts">resume</a>(scheduleID) -> ScheduledAgentItem</code>

## Agent

Types:

- <code><a href="./src/resources/agent/agent_.ts">AgentResponse</a></code>
- <code><a href="./src/resources/agent/agent_.ts">CreateAgentRequest</a></code>
- <code><a href="./src/resources/agent/agent_.ts">ListAgentIdentitiesResponse</a></code>
- <code><a href="./src/resources/agent/agent_.ts">UpdateAgentRequest</a></code>

Methods:

- <code title="post /agent/identities">client.agent.agent.<a href="./src/resources/agent/agent_.ts">create</a>({ ...params }) -> AgentResponse</code>
- <code title="put /agent/identities/{uid}">client.agent.agent.<a href="./src/resources/agent/agent_.ts">update</a>(uid, { ...params }) -> AgentResponse</code>
- <code title="get /agent/identities">client.agent.agent.<a href="./src/resources/agent/agent_.ts">list</a>() -> ListAgentIdentitiesResponse</code>
- <code title="delete /agent/identities/{uid}">client.agent.agent.<a href="./src/resources/agent/agent_.ts">delete</a>(uid) -> void</code>

## Sessions

Types:
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "oz-agent-sdk",
"version": "1.2.0",
"version": "1.3.0",
"description": "The official TypeScript library for the Oz API API",
"author": "Oz API <>",
"types": "dist/index.d.ts",
Expand Down
2 changes: 1 addition & 1 deletion scripts/bootstrap
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ set -e

cd "$(dirname "$0")/.."

if [ -f "Brewfile" ] && [ "$(uname -s)" = "Darwin" ] && [ "$SKIP_BREW" != "1" ] && [ -t 0 ]; then
if [ -f "Brewfile" ] && [ "$(uname -s)" = "Darwin" ] && [ "${SKIP_BREW:-}" != "1" ] && [ -t 0 ]; then
brew bundle check >/dev/null 2>&1 || {
echo -n "==> Install Homebrew dependencies? (y/N): "
read -r response
Expand Down
56 changes: 55 additions & 1 deletion src/resources/agent/agent.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,16 @@

import { APIResource } from '../../core/resource';
import * as AgentAPI from './agent';
import * as AgentAgentAPI from './agent_';
import {
Agent as AgentAPIAgent,
AgentCreateParams,
AgentResponse,
AgentUpdateParams,
CreateAgentRequest,
ListAgentIdentitiesResponse,
UpdateAgentRequest,
} from './agent_';
import * as RunsAPI from './runs';
import {
ArtifactItem,
Expand Down Expand Up @@ -35,6 +45,7 @@ import { path } from '../../internal/utils/path';
export class Agent extends APIResource {
runs: RunsAPI.Runs = new RunsAPI.Runs(this._client);
schedules: SchedulesAPI.Schedules = new SchedulesAPI.Schedules(this._client);
agent: AgentAgentAPI.Agent = new AgentAgentAPI.Agent(this._client);
sessions: SessionsAPI.Sessions = new SessionsAPI.Sessions(this._client);

/**
Expand Down Expand Up @@ -246,6 +257,16 @@ export interface AmbientAgentConfig {
*/
name?: string;

/**
* Configures sharing behavior for the run's shared session. When set, the worker
* emits `--share public:<level>` and the bundled Warp client applies an
* anyone-with-link ACL to the shared session once it has bootstrapped. The same
* ACL is mirrored onto the backing conversation so link viewers can read the
* conversation without being on the run's team. Subject to the workspace-level
* anyone-with-link sharing setting.
*/
session_sharing?: AmbientAgentConfig.SessionSharing;

/**
* Skill specification identifying which agent skill to use. Format:
* "{owner}/{repo}:{skill_path}" Example:
Expand All @@ -272,8 +293,9 @@ export namespace AmbientAgentConfig {
*
* - oz: Warp's built-in harness (default)
* - claude: Claude Code harness
* - gemini: Gemini CLI harness
*/
type?: 'oz' | 'claude';
type?: 'oz' | 'claude' | 'gemini';
}

/**
Expand All @@ -288,6 +310,27 @@ export namespace AmbientAgentConfig {
*/
claude_auth_secret_name?: string;
}

/**
* Configures sharing behavior for the run's shared session. When set, the worker
* emits `--share public:<level>` and the bundled Warp client applies an
* anyone-with-link ACL to the shared session once it has bootstrapped. The same
* ACL is mirrored onto the backing conversation so link viewers can read the
* conversation without being on the run's team. Subject to the workspace-level
* anyone-with-link sharing setting.
*/
export interface SessionSharing {
/**
* Grants anyone-with-link access at the specified level to the run's shared
* session and backing conversation.
*
* - VIEWER: link viewers can read the session and conversation.
* - EDITOR: link viewers can also interact with the session. Anonymous
* (unauthenticated) reads are not supported in this release; link viewers must
* still be authenticated Warp users.
*/
public_access?: 'VIEWER' | 'EDITOR';
}
}

/**
Expand Down Expand Up @@ -1019,6 +1062,7 @@ export namespace AgentRunParams {

Agent.Runs = Runs;
Agent.Schedules = Schedules;
Agent.Agent = AgentAPIAgent;
Agent.Sessions = Sessions;

export declare namespace Agent {
Expand Down Expand Up @@ -1064,5 +1108,15 @@ export declare namespace Agent {
type ScheduleUpdateParams as ScheduleUpdateParams,
};

export {
AgentAPIAgent as Agent,
type AgentResponse as AgentResponse,
type CreateAgentRequest as CreateAgentRequest,
type ListAgentIdentitiesResponse as ListAgentIdentitiesResponse,
type UpdateAgentRequest as UpdateAgentRequest,
type AgentCreateParams as AgentCreateParams,
type AgentUpdateParams as AgentUpdateParams,
};

export { Sessions as Sessions, type SessionCheckRedirectResponse as SessionCheckRedirectResponse };
}
135 changes: 135 additions & 0 deletions src/resources/agent/agent_.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

import { APIResource } from '../../core/resource';
import { APIPromise } from '../../core/api-promise';
import { buildHeaders } from '../../internal/headers';
import { RequestOptions } from '../../internal/request-options';
import { path } from '../../internal/utils/path';

/**
* Operations for running and managing cloud agents
*/
export class Agent extends APIResource {
/**
* Create a new agent for the caller's team. Agents can be used as the execution
* principal for team-owned runs.
*
* @example
* ```ts
* const agentResponse = await client.agent.agent.create({
* name: 'name',
* });
* ```
*/
create(body: AgentCreateParams, options?: RequestOptions): APIPromise<AgentResponse> {
return this._client.post('/agent/identities', { body, ...options });
}

/**
* Update an existing agent.
*
* @example
* ```ts
* const agentResponse = await client.agent.agent.update(
* 'uid',
* );
* ```
*/
update(uid: string, body: AgentUpdateParams, options?: RequestOptions): APIPromise<AgentResponse> {
return this._client.put(path`/agent/identities/${uid}`, { body, ...options });
}

/**
* List all agents for the caller's team. Each agent includes an `available` flag
* indicating whether it is within the team's plan limit and may be used for runs.
*
* @example
* ```ts
* const listAgentIdentitiesResponse =
* await client.agent.agent.list();
* ```
*/
list(options?: RequestOptions): APIPromise<ListAgentIdentitiesResponse> {
return this._client.get('/agent/identities', options);
}

/**
* Delete an agent. All API keys associated with the agent are deleted atomically.
*
* @example
* ```ts
* await client.agent.agent.delete('uid');
* ```
*/
delete(uid: string, options?: RequestOptions): APIPromise<void> {
return this._client.delete(path`/agent/identities/${uid}`, {
...options,
headers: buildHeaders([{ Accept: '*/*' }, options?.headers]),
});
}
}

export interface AgentResponse {
/**
* Whether this agent is within the team's plan limit and can be used for runs
*/
available: boolean;

/**
* When the agent was created (RFC3339)
*/
created_at: string;

/**
* Name of the agent
*/
name: string;

/**
* Unique identifier for the agent
*/
uid: string;
}

export interface CreateAgentRequest {
/**
* A name for the agent
*/
name: string;
}

export interface ListAgentIdentitiesResponse {
agents: Array<AgentResponse>;
}

export interface UpdateAgentRequest {
/**
* The new name for the agent
*/
name?: string;
}

export interface AgentCreateParams {
/**
* A name for the agent
*/
name: string;
}

export interface AgentUpdateParams {
/**
* The new name for the agent
*/
name?: string;
}

export declare namespace Agent {
export {
type AgentResponse as AgentResponse,
type CreateAgentRequest as CreateAgentRequest,
type ListAgentIdentitiesResponse as ListAgentIdentitiesResponse,
type UpdateAgentRequest as UpdateAgentRequest,
type AgentCreateParams as AgentCreateParams,
type AgentUpdateParams as AgentUpdateParams,
};
}
8 changes: 8 additions & 0 deletions src/resources/agent/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,11 @@ export {
type ScheduleUpdateParams,
} from './schedules';
export { Sessions, type SessionCheckRedirectResponse } from './sessions';
export {
type AgentResponse,
type CreateAgentRequest,
type ListAgentIdentitiesResponse,
type UpdateAgentRequest,
type AgentCreateParams,
type AgentUpdateParams,
} from './agent_';
2 changes: 1 addition & 1 deletion src/version.ts
Original file line number Diff line number Diff line change
@@ -1 +1 @@
export const VERSION = '1.2.0'; // x-release-please-version
export const VERSION = '1.3.0'; // x-release-please-version
Loading
Loading