diff --git a/libs/sdk-js/src/client.ts b/libs/sdk-js/src/client.ts index 6139e8c41..e8ce15f44 100644 --- a/libs/sdk-js/src/client.ts +++ b/libs/sdk-js/src/client.ts @@ -16,6 +16,7 @@ import { SearchItemsResponse, ListNamespaceResponse, Item, + ThreadStatus, } from "./schema.js"; import { AsyncCaller, AsyncCallerParams } from "./utils/async_caller.js"; import { @@ -516,6 +517,11 @@ export class ThreadsClient extends BaseClient { * Offset to start from. */ offset?: number; + /** + * Thread status to filter on. + * Must be one of 'idle', 'busy', 'interrupted' or 'error'. + */ + status?: ThreadStatus; }): Promise { return this.fetch("/threads/search", { method: "POST", @@ -523,6 +529,7 @@ export class ThreadsClient extends BaseClient { metadata: query?.metadata ?? undefined, limit: query?.limit ?? 10, offset: query?.offset ?? 0, + status: query?.status, }, }); } diff --git a/libs/sdk-js/src/index.ts b/libs/sdk-js/src/index.ts index 3db0e5869..1d1a7d39a 100644 --- a/libs/sdk-js/src/index.ts +++ b/libs/sdk-js/src/index.ts @@ -11,6 +11,7 @@ export type { Run, Thread, ThreadState, + ThreadStatus, Cron, Checkpoint, } from "./schema.js"; diff --git a/libs/sdk-js/src/schema.ts b/libs/sdk-js/src/schema.ts index 52908a47b..96c61d1fb 100644 --- a/libs/sdk-js/src/schema.ts +++ b/libs/sdk-js/src/schema.ts @@ -10,7 +10,7 @@ type RunStatus = | "timeout" | "interrupted"; -type ThreadStatus = "idle" | "busy" | "interrupted" | "error"; +export type ThreadStatus = "idle" | "busy" | "interrupted" | "error"; type MultitaskStrategy = "reject" | "interrupt" | "rollback" | "enqueue";