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.0.0-alpha.10"
".": "1.0.0-alpha.11"
}
4 changes: 2 additions & 2 deletions .stats.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
configured_endpoints: 14
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta%2Fwarp-api-91a7db62ba0752b9bdccd4bac4c6d09c1d59b7b69788159fe13598b7a5def7ee.yml
openapi_spec_hash: f03a889deaf6df14d678643be1e4dbe3
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/warp-bnavetta%2Fwarp-api-0c4039c2494856656a7a1a93f76bb7f8c1d3ca7b164e2f97579b59e1a8bdb57c.yml
openapi_spec_hash: 2eb93f6ec9c664399fef84ce3bf8c5a7
config_hash: 25c1059aa958c8c2ad60ef16c318514d
14 changes: 14 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# Changelog

## 1.0.0-alpha.11 (2026-03-03)

Full Changelog: [v1.0.0-alpha.10...v1.0.0-alpha.11](https://github.com/warpdotdev/oz-sdk-typescript/compare/v1.0.0-alpha.10...v1.0.0-alpha.11)

### Features

* **api:** manual updates ([7491613](https://github.com/warpdotdev/oz-sdk-typescript/commit/7491613ec8f2a701ed639b2f3e24c50ccf5ecba0))


### Chores

* **docs:** add missing descriptions ([ba496bd](https://github.com/warpdotdev/oz-sdk-typescript/commit/ba496bd91034b8aca1a91338b545886431fafe6d))
* **internal:** move stringifyQuery implementation to internal function ([2a67ffa](https://github.com/warpdotdev/oz-sdk-typescript/commit/2a67ffa84d0cff4b34d1773061969ebd8b565099))

## 1.0.0-alpha.10 (2026-02-23)

Full Changelog: [v1.0.0-alpha.9...v1.0.0-alpha.10](https://github.com/warpdotdev/oz-sdk-typescript/compare/v1.0.0-alpha.9...v1.0.0-alpha.10)
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.0.0-alpha.10",
"version": "1.0.0-alpha.11",
"description": "The official TypeScript library for the Oz API API",
"author": "Oz API <>",
"types": "dist/index.d.ts",
Expand Down
13 changes: 8 additions & 5 deletions src/client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import type { APIResponseProps } from './internal/parse';
import { getPlatformHeaders } from './internal/detect-platform';
import * as Shims from './internal/shims';
import * as Opts from './internal/request-options';
import * as qs from './internal/qs';
import { stringifyQuery } from './internal/utils/query';
import { VERSION } from './version';
import * as Errors from './core/error';
import * as Uploads from './core/uploads';
Expand Down Expand Up @@ -224,8 +224,8 @@ export class OzAPI {
return buildHeaders([{ Authorization: `Bearer ${this.apiKey}` }]);
}

protected stringifyQuery(query: Record<string, unknown>): string {
return qs.stringify(query, { arrayFormat: 'repeat' });
protected stringifyQuery(query: object | Record<string, unknown>): string {
return stringifyQuery(query);
}

private getUserAgent(): string {
Expand Down Expand Up @@ -262,7 +262,7 @@ export class OzAPI {
}

if (typeof query === 'object' && query && !Array.isArray(query)) {
url.search = this.stringifyQuery(query as Record<string, unknown>);
url.search = this.stringifyQuery(query);
}

return url.toString();
Expand Down Expand Up @@ -701,7 +701,7 @@ export class OzAPI {
) {
return {
bodyHeaders: { 'content-type': 'application/x-www-form-urlencoded' },
body: this.stringifyQuery(body as Record<string, unknown>),
body: this.stringifyQuery(body),
};
} else {
return this.#encoder({ body, headers });
Expand All @@ -727,6 +727,9 @@ export class OzAPI {

static toFile = Uploads.toFile;

/**
* Operations for running and managing cloud agents
*/
agent: API.Agent = new API.Agent(this);
}

Expand Down
1 change: 1 addition & 0 deletions src/internal/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,4 @@ export * from './utils/env';
export * from './utils/log';
export * from './utils/uuid';
export * from './utils/sleep';
export * from './utils/query';
7 changes: 7 additions & 0 deletions src/internal/utils/query.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

import * as qs from '../qs/stringify';

export function stringifyQuery(query: object | Record<string, unknown>) {
return qs.stringify(query, { arrayFormat: 'repeat' });
}
22 changes: 22 additions & 0 deletions src/resources/agent/agent.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ import { APIPromise } from '../../core/api-promise';
import { RequestOptions } from '../../internal/request-options';
import { path } from '../../internal/utils/path';

/**
* Operations for running and managing cloud agents
*/
export class Agent extends APIResource {
runs: RunsAPI.Runs = new RunsAPI.Runs(this._client);
schedules: SchedulesAPI.Schedules = new SchedulesAPI.Schedules(this._client);
Expand Down Expand Up @@ -116,6 +119,13 @@ export namespace AgentSkill {

source: Variant.Source;

/**
* Non-empty when the skill's SKILL.md file exists but is malformed. Contains a
* description of the parse failure. Only present when
* include_malformed_skills=true is passed to the list agents endpoint.
*/
error?: string;

/**
* Timestamp of the last time this skill was run (RFC3339)
*/
Expand Down Expand Up @@ -406,6 +416,13 @@ export interface AgentRunResponse {
}

export interface AgentListParams {
/**
* When true, includes skills whose SKILL.md file exists but is malformed. These
* variants will have a non-empty `error` field describing the parse failure.
* Defaults to false.
*/
include_malformed_skills?: boolean;

/**
* When true, clears the agent list cache before fetching. Use this to force a
* refresh of the available agents.
Expand Down Expand Up @@ -445,6 +462,11 @@ export interface AgentRunParams {
*/
conversation_id?: string;

/**
* Whether the run should be interactive. If not set, defaults to false.
*/
interactive?: boolean;

/**
* The prompt/instruction for the agent to execute. Required unless a skill is
* specified via the skill field or config.skill_spec.
Expand Down
3 changes: 3 additions & 0 deletions src/resources/agent/runs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ import { APIPromise } from '../../core/api-promise';
import { RequestOptions } from '../../internal/request-options';
import { path } from '../../internal/utils/path';

/**
* Operations for running and managing cloud agents
*/
export class Runs extends APIResource {
/**
* Retrieve detailed information about a specific agent run, including the full
Expand Down
3 changes: 3 additions & 0 deletions src/resources/agent/schedules.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ import { APIPromise } from '../../core/api-promise';
import { RequestOptions } from '../../internal/request-options';
import { path } from '../../internal/utils/path';

/**
* Operations for creating and managing scheduled agents
*/
export class Schedules extends APIResource {
/**
* Create a new scheduled agent that runs on a cron schedule. The agent will be
Expand Down
3 changes: 3 additions & 0 deletions src/resources/agent/sessions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ import { APIPromise } from '../../core/api-promise';
import { RequestOptions } from '../../internal/request-options';
import { path } from '../../internal/utils/path';

/**
* Operations for running and managing cloud agents
*/
export class Sessions extends APIResource {
/**
* Check whether a shared session should redirect to a conversation transcript.
Expand Down
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.0.0-alpha.10'; // x-release-please-version
export const VERSION = '1.0.0-alpha.11'; // x-release-please-version
1 change: 1 addition & 0 deletions tests/api-resources/agent/agent.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ describe('resource agent', () => {
await expect(
client.agent.list(
{
include_malformed_skills: true,
refresh: true,
repo: 'repo',
sort_by: 'name',
Expand Down
6 changes: 2 additions & 4 deletions tests/stringifyQuery.test.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.

import { OzAPI } from 'oz-agent-sdk';

const { stringifyQuery } = OzAPI.prototype as any;
import { stringifyQuery } from 'oz-agent-sdk/internal/utils/query';

describe(stringifyQuery, () => {
for (const [input, expected] of [
Expand All @@ -15,7 +13,7 @@ describe(stringifyQuery, () => {
'e=f',
)}=${encodeURIComponent('g&h')}`,
],
]) {
] as const) {
it(`${JSON.stringify(input)} -> ${expected}`, () => {
expect(stringifyQuery(input)).toEqual(expected);
});
Expand Down