@langchain/langgraph-sdk 1.12.1 → 1.12.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/client/assistants/index.cjs +10 -9
  2. package/dist/client/assistants/index.cjs.map +1 -1
  3. package/dist/client/assistants/index.d.cts.map +1 -1
  4. package/dist/client/assistants/index.d.ts.map +1 -1
  5. package/dist/client/assistants/index.js +11 -10
  6. package/dist/client/assistants/index.js.map +1 -1
  7. package/dist/client/base.cjs +10 -0
  8. package/dist/client/base.cjs.map +1 -1
  9. package/dist/client/base.d.cts.map +1 -1
  10. package/dist/client/base.d.ts.map +1 -1
  11. package/dist/client/base.js +10 -1
  12. package/dist/client/base.js.map +1 -1
  13. package/dist/client/crons/index.cjs +3 -3
  14. package/dist/client/crons/index.cjs.map +1 -1
  15. package/dist/client/crons/index.js +4 -4
  16. package/dist/client/crons/index.js.map +1 -1
  17. package/dist/client/runs/index.cjs +9 -9
  18. package/dist/client/runs/index.cjs.map +1 -1
  19. package/dist/client/runs/index.d.cts.map +1 -1
  20. package/dist/client/runs/index.d.ts.map +1 -1
  21. package/dist/client/runs/index.js +10 -10
  22. package/dist/client/runs/index.js.map +1 -1
  23. package/dist/client/stream/transport/http.cjs +4 -3
  24. package/dist/client/stream/transport/http.cjs.map +1 -1
  25. package/dist/client/stream/transport/http.d.cts.map +1 -1
  26. package/dist/client/stream/transport/http.d.ts.map +1 -1
  27. package/dist/client/stream/transport/http.js +4 -3
  28. package/dist/client/stream/transport/http.js.map +1 -1
  29. package/dist/client/stream/transport/utils.cjs +2 -2
  30. package/dist/client/stream/transport/utils.cjs.map +1 -1
  31. package/dist/client/stream/transport/utils.js +2 -2
  32. package/dist/client/stream/transport/utils.js.map +1 -1
  33. package/dist/client/stream/transport/websocket.cjs +2 -1
  34. package/dist/client/stream/transport/websocket.cjs.map +1 -1
  35. package/dist/client/stream/transport/websocket.d.cts.map +1 -1
  36. package/dist/client/stream/transport/websocket.d.ts.map +1 -1
  37. package/dist/client/stream/transport/websocket.js +2 -1
  38. package/dist/client/stream/transport/websocket.js.map +1 -1
  39. package/dist/client/threads/index.cjs +11 -11
  40. package/dist/client/threads/index.cjs.map +1 -1
  41. package/dist/client/threads/index.d.cts.map +1 -1
  42. package/dist/client/threads/index.d.ts.map +1 -1
  43. package/dist/client/threads/index.js +12 -12
  44. package/dist/client/threads/index.js.map +1 -1
  45. package/dist/client/ui-internal/index.cjs +1 -1
  46. package/dist/client/ui-internal/index.cjs.map +1 -1
  47. package/dist/client/ui-internal/index.js +2 -2
  48. package/dist/client/ui-internal/index.js.map +1 -1
  49. package/dist/index.d.cts +2 -2
  50. package/dist/index.d.ts +2 -2
  51. package/dist/types.d.cts +10 -1
  52. package/dist/types.d.cts.map +1 -1
  53. package/dist/types.d.ts +10 -1
  54. package/dist/types.d.ts.map +1 -1
  55. package/package.json +1 -1
@@ -30,7 +30,7 @@ var CronsClient = class extends require_base.BaseClient {
30
30
  end_time: payload?.endTime,
31
31
  on_run_completed: payload?.onRunCompleted
32
32
  };
33
- return this.fetch(`/threads/${threadId}/runs/crons`, {
33
+ return this.fetch(`/threads/${require_base.encodePathSegment(threadId)}/runs/crons`, {
34
34
  method: "POST",
35
35
  json,
36
36
  signal: payload?.signal
@@ -97,7 +97,7 @@ var CronsClient = class extends require_base.BaseClient {
97
97
  stream_resumable: payload?.streamResumable,
98
98
  durability: payload?.durability
99
99
  };
100
- return this.fetch(`/runs/crons/${cronId}`, {
100
+ return this.fetch(`/runs/crons/${require_base.encodePathSegment(cronId)}`, {
101
101
  method: "PATCH",
102
102
  json,
103
103
  signal: payload?.signal
@@ -110,7 +110,7 @@ var CronsClient = class extends require_base.BaseClient {
110
110
  * @param options Optional parameters for the request.
111
111
  */
112
112
  async delete(cronId, options) {
113
- await this.fetch(`/runs/crons/${cronId}`, {
113
+ await this.fetch(`/runs/crons/${require_base.encodePathSegment(cronId)}`, {
114
114
  method: "DELETE",
115
115
  signal: options?.signal
116
116
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["BaseClient"],"sources":["../../../src/client/crons/index.ts"],"sourcesContent":["import {\n Cron,\n CronSelectField,\n CronCreateForThreadResponse,\n CronCreateResponse,\n CronSortBy,\n Metadata,\n SortOrder,\n} from \"../../schema.js\";\nimport type { CronsCreatePayload, CronsUpdatePayload } from \"../../types.js\";\nimport { BaseClient } from \"../base.js\";\n\nexport class CronsClient extends BaseClient {\n /**\n *\n * @param threadId The ID of the thread.\n * @param assistantId Assistant ID to use for this cron job.\n * @param payload Payload for creating a cron job.\n * @returns The created background run.\n */\n async createForThread(\n threadId: string,\n assistantId: string,\n payload?: CronsCreatePayload\n ): Promise<CronCreateForThreadResponse> {\n const json: Record<string, unknown> = {\n schedule: payload?.schedule,\n input: payload?.input,\n config: payload?.config,\n context: payload?.context,\n metadata: payload?.metadata,\n assistant_id: assistantId,\n interrupt_before: payload?.interruptBefore,\n interrupt_after: payload?.interruptAfter,\n webhook: payload?.webhook,\n multitask_strategy: payload?.multitaskStrategy,\n checkpoint_during: payload?.checkpointDuring,\n durability: payload?.durability,\n enabled: payload?.enabled,\n timezone: payload?.timezone,\n stream_mode: payload?.streamMode,\n stream_subgraphs: payload?.streamSubgraphs,\n stream_resumable: payload?.streamResumable,\n end_time: payload?.endTime,\n on_run_completed: payload?.onRunCompleted,\n };\n return this.fetch<CronCreateForThreadResponse>(\n `/threads/${threadId}/runs/crons`,\n {\n method: \"POST\",\n json,\n signal: payload?.signal,\n }\n );\n }\n\n /**\n *\n * @param assistantId Assistant ID to use for this cron job.\n * @param payload Payload for creating a cron job.\n * @returns\n */\n async create(\n assistantId: string,\n payload?: CronsCreatePayload\n ): Promise<CronCreateResponse> {\n const json: Record<string, unknown> = {\n schedule: payload?.schedule,\n input: payload?.input,\n config: payload?.config,\n context: payload?.context,\n metadata: payload?.metadata,\n assistant_id: assistantId,\n interrupt_before: payload?.interruptBefore,\n interrupt_after: payload?.interruptAfter,\n webhook: payload?.webhook,\n on_run_completed: payload?.onRunCompleted,\n multitask_strategy: payload?.multitaskStrategy,\n checkpoint_during: payload?.checkpointDuring,\n durability: payload?.durability,\n enabled: payload?.enabled,\n timezone: payload?.timezone,\n stream_mode: payload?.streamMode,\n stream_subgraphs: payload?.streamSubgraphs,\n stream_resumable: payload?.streamResumable,\n end_time: payload?.endTime,\n };\n return this.fetch<CronCreateResponse>(`/runs/crons`, {\n method: \"POST\",\n json,\n signal: payload?.signal,\n });\n }\n\n /**\n * Update a cron job by ID.\n *\n * @param cronId The cron ID to update.\n * @param payload Payload for updating a cron job.\n * @returns The updated cron job.\n * ```\n */\n async update(cronId: string, payload?: CronsUpdatePayload): Promise<Cron> {\n const json: Record<string, unknown> = {\n schedule: payload?.schedule,\n timezone: payload?.timezone,\n // `null` clears a set end time; `undefined` (omitted) leaves it unchanged.\n end_time: payload?.endTime,\n input: payload?.input,\n metadata: payload?.metadata,\n config: payload?.config,\n context: payload?.context,\n webhook: payload?.webhook,\n interrupt_before: payload?.interruptBefore,\n interrupt_after: payload?.interruptAfter,\n on_run_completed: payload?.onRunCompleted,\n enabled: payload?.enabled,\n stream_mode: payload?.streamMode,\n stream_subgraphs: payload?.streamSubgraphs,\n stream_resumable: payload?.streamResumable,\n durability: payload?.durability,\n };\n\n return this.fetch<Cron>(`/runs/crons/${cronId}`, {\n method: \"PATCH\",\n json,\n signal: payload?.signal,\n });\n }\n\n /**\n * Delete a cron job by ID.\n *\n * @param cronId Cron ID of Cron job to delete.\n * @param options Optional parameters for the request.\n */\n async delete(\n cronId: string,\n options?: { signal?: AbortSignal }\n ): Promise<void> {\n await this.fetch<void>(`/runs/crons/${cronId}`, {\n method: \"DELETE\",\n signal: options?.signal,\n });\n }\n\n /**\n *\n * @param query Query options.\n * @param query.metadata Metadata to filter by. Exact match filter for each KV pair.\n * Available in Agent Server version 0.9.0 and later.\n * @returns List of crons.\n */\n async search(query?: {\n assistantId?: string;\n threadId?: string;\n enabled?: boolean;\n limit?: number;\n offset?: number;\n sortBy?: CronSortBy;\n sortOrder?: SortOrder;\n select?: CronSelectField[];\n metadata?: Metadata;\n signal?: AbortSignal;\n }): Promise<Cron[]> {\n return this.fetch<Cron[]>(\"/runs/crons/search\", {\n method: \"POST\",\n json: {\n assistant_id: query?.assistantId ?? undefined,\n thread_id: query?.threadId ?? undefined,\n enabled: query?.enabled ?? undefined,\n limit: query?.limit ?? 10,\n offset: query?.offset ?? 0,\n sort_by: query?.sortBy ?? undefined,\n sort_order: query?.sortOrder ?? undefined,\n select: query?.select ?? undefined,\n metadata: query?.metadata ?? undefined,\n },\n signal: query?.signal,\n });\n }\n\n /**\n * Count cron jobs matching filters.\n *\n * @param query.assistantId Assistant ID to filter by.\n * @param query.threadId Thread ID to filter by.\n * @param query.metadata Metadata to filter by. Exact match filter for each KV pair.\n * Available in Agent Server version 0.9.0 and later.\n * @returns Number of cron jobs matching the criteria.\n */\n async count(query?: {\n assistantId?: string;\n threadId?: string;\n metadata?: Metadata;\n signal?: AbortSignal;\n }): Promise<number> {\n return this.fetch<number>(`/runs/crons/count`, {\n method: \"POST\",\n json: {\n assistant_id: query?.assistantId ?? undefined,\n thread_id: query?.threadId ?? undefined,\n metadata: query?.metadata ?? undefined,\n },\n signal: query?.signal,\n });\n }\n}\n"],"mappings":";;AAYA,IAAa,cAAb,cAAiCA,aAAAA,WAAW;;;;;;;;CAQ1C,MAAM,gBACJ,UACA,aACA,SACsC;EACtC,MAAM,OAAgC;GACpC,UAAU,SAAS;GACnB,OAAO,SAAS;GAChB,QAAQ,SAAS;GACjB,SAAS,SAAS;GAClB,UAAU,SAAS;GACnB,cAAc;GACd,kBAAkB,SAAS;GAC3B,iBAAiB,SAAS;GAC1B,SAAS,SAAS;GAClB,oBAAoB,SAAS;GAC7B,mBAAmB,SAAS;GAC5B,YAAY,SAAS;GACrB,SAAS,SAAS;GAClB,UAAU,SAAS;GACnB,aAAa,SAAS;GACtB,kBAAkB,SAAS;GAC3B,kBAAkB,SAAS;GAC3B,UAAU,SAAS;GACnB,kBAAkB,SAAS;GAC5B;AACD,SAAO,KAAK,MACV,YAAY,SAAS,cACrB;GACE,QAAQ;GACR;GACA,QAAQ,SAAS;GAClB,CACF;;;;;;;;CASH,MAAM,OACJ,aACA,SAC6B;EAC7B,MAAM,OAAgC;GACpC,UAAU,SAAS;GACnB,OAAO,SAAS;GAChB,QAAQ,SAAS;GACjB,SAAS,SAAS;GAClB,UAAU,SAAS;GACnB,cAAc;GACd,kBAAkB,SAAS;GAC3B,iBAAiB,SAAS;GAC1B,SAAS,SAAS;GAClB,kBAAkB,SAAS;GAC3B,oBAAoB,SAAS;GAC7B,mBAAmB,SAAS;GAC5B,YAAY,SAAS;GACrB,SAAS,SAAS;GAClB,UAAU,SAAS;GACnB,aAAa,SAAS;GACtB,kBAAkB,SAAS;GAC3B,kBAAkB,SAAS;GAC3B,UAAU,SAAS;GACpB;AACD,SAAO,KAAK,MAA0B,eAAe;GACnD,QAAQ;GACR;GACA,QAAQ,SAAS;GAClB,CAAC;;;;;;;;;;CAWJ,MAAM,OAAO,QAAgB,SAA6C;EACxE,MAAM,OAAgC;GACpC,UAAU,SAAS;GACnB,UAAU,SAAS;GAEnB,UAAU,SAAS;GACnB,OAAO,SAAS;GAChB,UAAU,SAAS;GACnB,QAAQ,SAAS;GACjB,SAAS,SAAS;GAClB,SAAS,SAAS;GAClB,kBAAkB,SAAS;GAC3B,iBAAiB,SAAS;GAC1B,kBAAkB,SAAS;GAC3B,SAAS,SAAS;GAClB,aAAa,SAAS;GACtB,kBAAkB,SAAS;GAC3B,kBAAkB,SAAS;GAC3B,YAAY,SAAS;GACtB;AAED,SAAO,KAAK,MAAY,eAAe,UAAU;GAC/C,QAAQ;GACR;GACA,QAAQ,SAAS;GAClB,CAAC;;;;;;;;CASJ,MAAM,OACJ,QACA,SACe;AACf,QAAM,KAAK,MAAY,eAAe,UAAU;GAC9C,QAAQ;GACR,QAAQ,SAAS;GAClB,CAAC;;;;;;;;;CAUJ,MAAM,OAAO,OAWO;AAClB,SAAO,KAAK,MAAc,sBAAsB;GAC9C,QAAQ;GACR,MAAM;IACJ,cAAc,OAAO,eAAe,KAAA;IACpC,WAAW,OAAO,YAAY,KAAA;IAC9B,SAAS,OAAO,WAAW,KAAA;IAC3B,OAAO,OAAO,SAAS;IACvB,QAAQ,OAAO,UAAU;IACzB,SAAS,OAAO,UAAU,KAAA;IAC1B,YAAY,OAAO,aAAa,KAAA;IAChC,QAAQ,OAAO,UAAU,KAAA;IACzB,UAAU,OAAO,YAAY,KAAA;IAC9B;GACD,QAAQ,OAAO;GAChB,CAAC;;;;;;;;;;;CAYJ,MAAM,MAAM,OAKQ;AAClB,SAAO,KAAK,MAAc,qBAAqB;GAC7C,QAAQ;GACR,MAAM;IACJ,cAAc,OAAO,eAAe,KAAA;IACpC,WAAW,OAAO,YAAY,KAAA;IAC9B,UAAU,OAAO,YAAY,KAAA;IAC9B;GACD,QAAQ,OAAO;GAChB,CAAC"}
1
+ {"version":3,"file":"index.cjs","names":["BaseClient","encodePathSegment"],"sources":["../../../src/client/crons/index.ts"],"sourcesContent":["import {\n Cron,\n CronSelectField,\n CronCreateForThreadResponse,\n CronCreateResponse,\n CronSortBy,\n Metadata,\n SortOrder,\n} from \"../../schema.js\";\nimport type { CronsCreatePayload, CronsUpdatePayload } from \"../../types.js\";\nimport { BaseClient, encodePathSegment } from \"../base.js\";\n\nexport class CronsClient extends BaseClient {\n /**\n *\n * @param threadId The ID of the thread.\n * @param assistantId Assistant ID to use for this cron job.\n * @param payload Payload for creating a cron job.\n * @returns The created background run.\n */\n async createForThread(\n threadId: string,\n assistantId: string,\n payload?: CronsCreatePayload\n ): Promise<CronCreateForThreadResponse> {\n const json: Record<string, unknown> = {\n schedule: payload?.schedule,\n input: payload?.input,\n config: payload?.config,\n context: payload?.context,\n metadata: payload?.metadata,\n assistant_id: assistantId,\n interrupt_before: payload?.interruptBefore,\n interrupt_after: payload?.interruptAfter,\n webhook: payload?.webhook,\n multitask_strategy: payload?.multitaskStrategy,\n checkpoint_during: payload?.checkpointDuring,\n durability: payload?.durability,\n enabled: payload?.enabled,\n timezone: payload?.timezone,\n stream_mode: payload?.streamMode,\n stream_subgraphs: payload?.streamSubgraphs,\n stream_resumable: payload?.streamResumable,\n end_time: payload?.endTime,\n on_run_completed: payload?.onRunCompleted,\n };\n return this.fetch<CronCreateForThreadResponse>(\n `/threads/${encodePathSegment(threadId)}/runs/crons`,\n {\n method: \"POST\",\n json,\n signal: payload?.signal,\n }\n );\n }\n\n /**\n *\n * @param assistantId Assistant ID to use for this cron job.\n * @param payload Payload for creating a cron job.\n * @returns\n */\n async create(\n assistantId: string,\n payload?: CronsCreatePayload\n ): Promise<CronCreateResponse> {\n const json: Record<string, unknown> = {\n schedule: payload?.schedule,\n input: payload?.input,\n config: payload?.config,\n context: payload?.context,\n metadata: payload?.metadata,\n assistant_id: assistantId,\n interrupt_before: payload?.interruptBefore,\n interrupt_after: payload?.interruptAfter,\n webhook: payload?.webhook,\n on_run_completed: payload?.onRunCompleted,\n multitask_strategy: payload?.multitaskStrategy,\n checkpoint_during: payload?.checkpointDuring,\n durability: payload?.durability,\n enabled: payload?.enabled,\n timezone: payload?.timezone,\n stream_mode: payload?.streamMode,\n stream_subgraphs: payload?.streamSubgraphs,\n stream_resumable: payload?.streamResumable,\n end_time: payload?.endTime,\n };\n return this.fetch<CronCreateResponse>(`/runs/crons`, {\n method: \"POST\",\n json,\n signal: payload?.signal,\n });\n }\n\n /**\n * Update a cron job by ID.\n *\n * @param cronId The cron ID to update.\n * @param payload Payload for updating a cron job.\n * @returns The updated cron job.\n * ```\n */\n async update(cronId: string, payload?: CronsUpdatePayload): Promise<Cron> {\n const json: Record<string, unknown> = {\n schedule: payload?.schedule,\n timezone: payload?.timezone,\n // `null` clears a set end time; `undefined` (omitted) leaves it unchanged.\n end_time: payload?.endTime,\n input: payload?.input,\n metadata: payload?.metadata,\n config: payload?.config,\n context: payload?.context,\n webhook: payload?.webhook,\n interrupt_before: payload?.interruptBefore,\n interrupt_after: payload?.interruptAfter,\n on_run_completed: payload?.onRunCompleted,\n enabled: payload?.enabled,\n stream_mode: payload?.streamMode,\n stream_subgraphs: payload?.streamSubgraphs,\n stream_resumable: payload?.streamResumable,\n durability: payload?.durability,\n };\n\n return this.fetch<Cron>(`/runs/crons/${encodePathSegment(cronId)}`, {\n method: \"PATCH\",\n json,\n signal: payload?.signal,\n });\n }\n\n /**\n * Delete a cron job by ID.\n *\n * @param cronId Cron ID of Cron job to delete.\n * @param options Optional parameters for the request.\n */\n async delete(\n cronId: string,\n options?: { signal?: AbortSignal }\n ): Promise<void> {\n await this.fetch<void>(`/runs/crons/${encodePathSegment(cronId)}`, {\n method: \"DELETE\",\n signal: options?.signal,\n });\n }\n\n /**\n *\n * @param query Query options.\n * @param query.metadata Metadata to filter by. Exact match filter for each KV pair.\n * Available in Agent Server version 0.9.0 and later.\n * @returns List of crons.\n */\n async search(query?: {\n assistantId?: string;\n threadId?: string;\n enabled?: boolean;\n limit?: number;\n offset?: number;\n sortBy?: CronSortBy;\n sortOrder?: SortOrder;\n select?: CronSelectField[];\n metadata?: Metadata;\n signal?: AbortSignal;\n }): Promise<Cron[]> {\n return this.fetch<Cron[]>(\"/runs/crons/search\", {\n method: \"POST\",\n json: {\n assistant_id: query?.assistantId ?? undefined,\n thread_id: query?.threadId ?? undefined,\n enabled: query?.enabled ?? undefined,\n limit: query?.limit ?? 10,\n offset: query?.offset ?? 0,\n sort_by: query?.sortBy ?? undefined,\n sort_order: query?.sortOrder ?? undefined,\n select: query?.select ?? undefined,\n metadata: query?.metadata ?? undefined,\n },\n signal: query?.signal,\n });\n }\n\n /**\n * Count cron jobs matching filters.\n *\n * @param query.assistantId Assistant ID to filter by.\n * @param query.threadId Thread ID to filter by.\n * @param query.metadata Metadata to filter by. Exact match filter for each KV pair.\n * Available in Agent Server version 0.9.0 and later.\n * @returns Number of cron jobs matching the criteria.\n */\n async count(query?: {\n assistantId?: string;\n threadId?: string;\n metadata?: Metadata;\n signal?: AbortSignal;\n }): Promise<number> {\n return this.fetch<number>(`/runs/crons/count`, {\n method: \"POST\",\n json: {\n assistant_id: query?.assistantId ?? undefined,\n thread_id: query?.threadId ?? undefined,\n metadata: query?.metadata ?? undefined,\n },\n signal: query?.signal,\n });\n }\n}\n"],"mappings":";;AAYA,IAAa,cAAb,cAAiCA,aAAAA,WAAW;;;;;;;;CAQ1C,MAAM,gBACJ,UACA,aACA,SACsC;EACtC,MAAM,OAAgC;GACpC,UAAU,SAAS;GACnB,OAAO,SAAS;GAChB,QAAQ,SAAS;GACjB,SAAS,SAAS;GAClB,UAAU,SAAS;GACnB,cAAc;GACd,kBAAkB,SAAS;GAC3B,iBAAiB,SAAS;GAC1B,SAAS,SAAS;GAClB,oBAAoB,SAAS;GAC7B,mBAAmB,SAAS;GAC5B,YAAY,SAAS;GACrB,SAAS,SAAS;GAClB,UAAU,SAAS;GACnB,aAAa,SAAS;GACtB,kBAAkB,SAAS;GAC3B,kBAAkB,SAAS;GAC3B,UAAU,SAAS;GACnB,kBAAkB,SAAS;GAC5B;AACD,SAAO,KAAK,MACV,YAAYC,aAAAA,kBAAkB,SAAS,CAAC,cACxC;GACE,QAAQ;GACR;GACA,QAAQ,SAAS;GAClB,CACF;;;;;;;;CASH,MAAM,OACJ,aACA,SAC6B;EAC7B,MAAM,OAAgC;GACpC,UAAU,SAAS;GACnB,OAAO,SAAS;GAChB,QAAQ,SAAS;GACjB,SAAS,SAAS;GAClB,UAAU,SAAS;GACnB,cAAc;GACd,kBAAkB,SAAS;GAC3B,iBAAiB,SAAS;GAC1B,SAAS,SAAS;GAClB,kBAAkB,SAAS;GAC3B,oBAAoB,SAAS;GAC7B,mBAAmB,SAAS;GAC5B,YAAY,SAAS;GACrB,SAAS,SAAS;GAClB,UAAU,SAAS;GACnB,aAAa,SAAS;GACtB,kBAAkB,SAAS;GAC3B,kBAAkB,SAAS;GAC3B,UAAU,SAAS;GACpB;AACD,SAAO,KAAK,MAA0B,eAAe;GACnD,QAAQ;GACR;GACA,QAAQ,SAAS;GAClB,CAAC;;;;;;;;;;CAWJ,MAAM,OAAO,QAAgB,SAA6C;EACxE,MAAM,OAAgC;GACpC,UAAU,SAAS;GACnB,UAAU,SAAS;GAEnB,UAAU,SAAS;GACnB,OAAO,SAAS;GAChB,UAAU,SAAS;GACnB,QAAQ,SAAS;GACjB,SAAS,SAAS;GAClB,SAAS,SAAS;GAClB,kBAAkB,SAAS;GAC3B,iBAAiB,SAAS;GAC1B,kBAAkB,SAAS;GAC3B,SAAS,SAAS;GAClB,aAAa,SAAS;GACtB,kBAAkB,SAAS;GAC3B,kBAAkB,SAAS;GAC3B,YAAY,SAAS;GACtB;AAED,SAAO,KAAK,MAAY,eAAeA,aAAAA,kBAAkB,OAAO,IAAI;GAClE,QAAQ;GACR;GACA,QAAQ,SAAS;GAClB,CAAC;;;;;;;;CASJ,MAAM,OACJ,QACA,SACe;AACf,QAAM,KAAK,MAAY,eAAeA,aAAAA,kBAAkB,OAAO,IAAI;GACjE,QAAQ;GACR,QAAQ,SAAS;GAClB,CAAC;;;;;;;;;CAUJ,MAAM,OAAO,OAWO;AAClB,SAAO,KAAK,MAAc,sBAAsB;GAC9C,QAAQ;GACR,MAAM;IACJ,cAAc,OAAO,eAAe,KAAA;IACpC,WAAW,OAAO,YAAY,KAAA;IAC9B,SAAS,OAAO,WAAW,KAAA;IAC3B,OAAO,OAAO,SAAS;IACvB,QAAQ,OAAO,UAAU;IACzB,SAAS,OAAO,UAAU,KAAA;IAC1B,YAAY,OAAO,aAAa,KAAA;IAChC,QAAQ,OAAO,UAAU,KAAA;IACzB,UAAU,OAAO,YAAY,KAAA;IAC9B;GACD,QAAQ,OAAO;GAChB,CAAC;;;;;;;;;;;CAYJ,MAAM,MAAM,OAKQ;AAClB,SAAO,KAAK,MAAc,qBAAqB;GAC7C,QAAQ;GACR,MAAM;IACJ,cAAc,OAAO,eAAe,KAAA;IACpC,WAAW,OAAO,YAAY,KAAA;IAC9B,UAAU,OAAO,YAAY,KAAA;IAC9B;GACD,QAAQ,OAAO;GAChB,CAAC"}
@@ -1,4 +1,4 @@
1
- import { BaseClient } from "../base.js";
1
+ import { BaseClient, encodePathSegment } from "../base.js";
2
2
  //#region src/client/crons/index.ts
3
3
  var CronsClient = class extends BaseClient {
4
4
  /**
@@ -30,7 +30,7 @@ var CronsClient = class extends BaseClient {
30
30
  end_time: payload?.endTime,
31
31
  on_run_completed: payload?.onRunCompleted
32
32
  };
33
- return this.fetch(`/threads/${threadId}/runs/crons`, {
33
+ return this.fetch(`/threads/${encodePathSegment(threadId)}/runs/crons`, {
34
34
  method: "POST",
35
35
  json,
36
36
  signal: payload?.signal
@@ -97,7 +97,7 @@ var CronsClient = class extends BaseClient {
97
97
  stream_resumable: payload?.streamResumable,
98
98
  durability: payload?.durability
99
99
  };
100
- return this.fetch(`/runs/crons/${cronId}`, {
100
+ return this.fetch(`/runs/crons/${encodePathSegment(cronId)}`, {
101
101
  method: "PATCH",
102
102
  json,
103
103
  signal: payload?.signal
@@ -110,7 +110,7 @@ var CronsClient = class extends BaseClient {
110
110
  * @param options Optional parameters for the request.
111
111
  */
112
112
  async delete(cronId, options) {
113
- await this.fetch(`/runs/crons/${cronId}`, {
113
+ await this.fetch(`/runs/crons/${encodePathSegment(cronId)}`, {
114
114
  method: "DELETE",
115
115
  signal: options?.signal
116
116
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/client/crons/index.ts"],"sourcesContent":["import {\n Cron,\n CronSelectField,\n CronCreateForThreadResponse,\n CronCreateResponse,\n CronSortBy,\n Metadata,\n SortOrder,\n} from \"../../schema.js\";\nimport type { CronsCreatePayload, CronsUpdatePayload } from \"../../types.js\";\nimport { BaseClient } from \"../base.js\";\n\nexport class CronsClient extends BaseClient {\n /**\n *\n * @param threadId The ID of the thread.\n * @param assistantId Assistant ID to use for this cron job.\n * @param payload Payload for creating a cron job.\n * @returns The created background run.\n */\n async createForThread(\n threadId: string,\n assistantId: string,\n payload?: CronsCreatePayload\n ): Promise<CronCreateForThreadResponse> {\n const json: Record<string, unknown> = {\n schedule: payload?.schedule,\n input: payload?.input,\n config: payload?.config,\n context: payload?.context,\n metadata: payload?.metadata,\n assistant_id: assistantId,\n interrupt_before: payload?.interruptBefore,\n interrupt_after: payload?.interruptAfter,\n webhook: payload?.webhook,\n multitask_strategy: payload?.multitaskStrategy,\n checkpoint_during: payload?.checkpointDuring,\n durability: payload?.durability,\n enabled: payload?.enabled,\n timezone: payload?.timezone,\n stream_mode: payload?.streamMode,\n stream_subgraphs: payload?.streamSubgraphs,\n stream_resumable: payload?.streamResumable,\n end_time: payload?.endTime,\n on_run_completed: payload?.onRunCompleted,\n };\n return this.fetch<CronCreateForThreadResponse>(\n `/threads/${threadId}/runs/crons`,\n {\n method: \"POST\",\n json,\n signal: payload?.signal,\n }\n );\n }\n\n /**\n *\n * @param assistantId Assistant ID to use for this cron job.\n * @param payload Payload for creating a cron job.\n * @returns\n */\n async create(\n assistantId: string,\n payload?: CronsCreatePayload\n ): Promise<CronCreateResponse> {\n const json: Record<string, unknown> = {\n schedule: payload?.schedule,\n input: payload?.input,\n config: payload?.config,\n context: payload?.context,\n metadata: payload?.metadata,\n assistant_id: assistantId,\n interrupt_before: payload?.interruptBefore,\n interrupt_after: payload?.interruptAfter,\n webhook: payload?.webhook,\n on_run_completed: payload?.onRunCompleted,\n multitask_strategy: payload?.multitaskStrategy,\n checkpoint_during: payload?.checkpointDuring,\n durability: payload?.durability,\n enabled: payload?.enabled,\n timezone: payload?.timezone,\n stream_mode: payload?.streamMode,\n stream_subgraphs: payload?.streamSubgraphs,\n stream_resumable: payload?.streamResumable,\n end_time: payload?.endTime,\n };\n return this.fetch<CronCreateResponse>(`/runs/crons`, {\n method: \"POST\",\n json,\n signal: payload?.signal,\n });\n }\n\n /**\n * Update a cron job by ID.\n *\n * @param cronId The cron ID to update.\n * @param payload Payload for updating a cron job.\n * @returns The updated cron job.\n * ```\n */\n async update(cronId: string, payload?: CronsUpdatePayload): Promise<Cron> {\n const json: Record<string, unknown> = {\n schedule: payload?.schedule,\n timezone: payload?.timezone,\n // `null` clears a set end time; `undefined` (omitted) leaves it unchanged.\n end_time: payload?.endTime,\n input: payload?.input,\n metadata: payload?.metadata,\n config: payload?.config,\n context: payload?.context,\n webhook: payload?.webhook,\n interrupt_before: payload?.interruptBefore,\n interrupt_after: payload?.interruptAfter,\n on_run_completed: payload?.onRunCompleted,\n enabled: payload?.enabled,\n stream_mode: payload?.streamMode,\n stream_subgraphs: payload?.streamSubgraphs,\n stream_resumable: payload?.streamResumable,\n durability: payload?.durability,\n };\n\n return this.fetch<Cron>(`/runs/crons/${cronId}`, {\n method: \"PATCH\",\n json,\n signal: payload?.signal,\n });\n }\n\n /**\n * Delete a cron job by ID.\n *\n * @param cronId Cron ID of Cron job to delete.\n * @param options Optional parameters for the request.\n */\n async delete(\n cronId: string,\n options?: { signal?: AbortSignal }\n ): Promise<void> {\n await this.fetch<void>(`/runs/crons/${cronId}`, {\n method: \"DELETE\",\n signal: options?.signal,\n });\n }\n\n /**\n *\n * @param query Query options.\n * @param query.metadata Metadata to filter by. Exact match filter for each KV pair.\n * Available in Agent Server version 0.9.0 and later.\n * @returns List of crons.\n */\n async search(query?: {\n assistantId?: string;\n threadId?: string;\n enabled?: boolean;\n limit?: number;\n offset?: number;\n sortBy?: CronSortBy;\n sortOrder?: SortOrder;\n select?: CronSelectField[];\n metadata?: Metadata;\n signal?: AbortSignal;\n }): Promise<Cron[]> {\n return this.fetch<Cron[]>(\"/runs/crons/search\", {\n method: \"POST\",\n json: {\n assistant_id: query?.assistantId ?? undefined,\n thread_id: query?.threadId ?? undefined,\n enabled: query?.enabled ?? undefined,\n limit: query?.limit ?? 10,\n offset: query?.offset ?? 0,\n sort_by: query?.sortBy ?? undefined,\n sort_order: query?.sortOrder ?? undefined,\n select: query?.select ?? undefined,\n metadata: query?.metadata ?? undefined,\n },\n signal: query?.signal,\n });\n }\n\n /**\n * Count cron jobs matching filters.\n *\n * @param query.assistantId Assistant ID to filter by.\n * @param query.threadId Thread ID to filter by.\n * @param query.metadata Metadata to filter by. Exact match filter for each KV pair.\n * Available in Agent Server version 0.9.0 and later.\n * @returns Number of cron jobs matching the criteria.\n */\n async count(query?: {\n assistantId?: string;\n threadId?: string;\n metadata?: Metadata;\n signal?: AbortSignal;\n }): Promise<number> {\n return this.fetch<number>(`/runs/crons/count`, {\n method: \"POST\",\n json: {\n assistant_id: query?.assistantId ?? undefined,\n thread_id: query?.threadId ?? undefined,\n metadata: query?.metadata ?? undefined,\n },\n signal: query?.signal,\n });\n }\n}\n"],"mappings":";;AAYA,IAAa,cAAb,cAAiC,WAAW;;;;;;;;CAQ1C,MAAM,gBACJ,UACA,aACA,SACsC;EACtC,MAAM,OAAgC;GACpC,UAAU,SAAS;GACnB,OAAO,SAAS;GAChB,QAAQ,SAAS;GACjB,SAAS,SAAS;GAClB,UAAU,SAAS;GACnB,cAAc;GACd,kBAAkB,SAAS;GAC3B,iBAAiB,SAAS;GAC1B,SAAS,SAAS;GAClB,oBAAoB,SAAS;GAC7B,mBAAmB,SAAS;GAC5B,YAAY,SAAS;GACrB,SAAS,SAAS;GAClB,UAAU,SAAS;GACnB,aAAa,SAAS;GACtB,kBAAkB,SAAS;GAC3B,kBAAkB,SAAS;GAC3B,UAAU,SAAS;GACnB,kBAAkB,SAAS;GAC5B;AACD,SAAO,KAAK,MACV,YAAY,SAAS,cACrB;GACE,QAAQ;GACR;GACA,QAAQ,SAAS;GAClB,CACF;;;;;;;;CASH,MAAM,OACJ,aACA,SAC6B;EAC7B,MAAM,OAAgC;GACpC,UAAU,SAAS;GACnB,OAAO,SAAS;GAChB,QAAQ,SAAS;GACjB,SAAS,SAAS;GAClB,UAAU,SAAS;GACnB,cAAc;GACd,kBAAkB,SAAS;GAC3B,iBAAiB,SAAS;GAC1B,SAAS,SAAS;GAClB,kBAAkB,SAAS;GAC3B,oBAAoB,SAAS;GAC7B,mBAAmB,SAAS;GAC5B,YAAY,SAAS;GACrB,SAAS,SAAS;GAClB,UAAU,SAAS;GACnB,aAAa,SAAS;GACtB,kBAAkB,SAAS;GAC3B,kBAAkB,SAAS;GAC3B,UAAU,SAAS;GACpB;AACD,SAAO,KAAK,MAA0B,eAAe;GACnD,QAAQ;GACR;GACA,QAAQ,SAAS;GAClB,CAAC;;;;;;;;;;CAWJ,MAAM,OAAO,QAAgB,SAA6C;EACxE,MAAM,OAAgC;GACpC,UAAU,SAAS;GACnB,UAAU,SAAS;GAEnB,UAAU,SAAS;GACnB,OAAO,SAAS;GAChB,UAAU,SAAS;GACnB,QAAQ,SAAS;GACjB,SAAS,SAAS;GAClB,SAAS,SAAS;GAClB,kBAAkB,SAAS;GAC3B,iBAAiB,SAAS;GAC1B,kBAAkB,SAAS;GAC3B,SAAS,SAAS;GAClB,aAAa,SAAS;GACtB,kBAAkB,SAAS;GAC3B,kBAAkB,SAAS;GAC3B,YAAY,SAAS;GACtB;AAED,SAAO,KAAK,MAAY,eAAe,UAAU;GAC/C,QAAQ;GACR;GACA,QAAQ,SAAS;GAClB,CAAC;;;;;;;;CASJ,MAAM,OACJ,QACA,SACe;AACf,QAAM,KAAK,MAAY,eAAe,UAAU;GAC9C,QAAQ;GACR,QAAQ,SAAS;GAClB,CAAC;;;;;;;;;CAUJ,MAAM,OAAO,OAWO;AAClB,SAAO,KAAK,MAAc,sBAAsB;GAC9C,QAAQ;GACR,MAAM;IACJ,cAAc,OAAO,eAAe,KAAA;IACpC,WAAW,OAAO,YAAY,KAAA;IAC9B,SAAS,OAAO,WAAW,KAAA;IAC3B,OAAO,OAAO,SAAS;IACvB,QAAQ,OAAO,UAAU;IACzB,SAAS,OAAO,UAAU,KAAA;IAC1B,YAAY,OAAO,aAAa,KAAA;IAChC,QAAQ,OAAO,UAAU,KAAA;IACzB,UAAU,OAAO,YAAY,KAAA;IAC9B;GACD,QAAQ,OAAO;GAChB,CAAC;;;;;;;;;;;CAYJ,MAAM,MAAM,OAKQ;AAClB,SAAO,KAAK,MAAc,qBAAqB;GAC7C,QAAQ;GACR,MAAM;IACJ,cAAc,OAAO,eAAe,KAAA;IACpC,WAAW,OAAO,YAAY,KAAA;IAC9B,UAAU,OAAO,YAAY,KAAA;IAC9B;GACD,QAAQ,OAAO;GAChB,CAAC"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/client/crons/index.ts"],"sourcesContent":["import {\n Cron,\n CronSelectField,\n CronCreateForThreadResponse,\n CronCreateResponse,\n CronSortBy,\n Metadata,\n SortOrder,\n} from \"../../schema.js\";\nimport type { CronsCreatePayload, CronsUpdatePayload } from \"../../types.js\";\nimport { BaseClient, encodePathSegment } from \"../base.js\";\n\nexport class CronsClient extends BaseClient {\n /**\n *\n * @param threadId The ID of the thread.\n * @param assistantId Assistant ID to use for this cron job.\n * @param payload Payload for creating a cron job.\n * @returns The created background run.\n */\n async createForThread(\n threadId: string,\n assistantId: string,\n payload?: CronsCreatePayload\n ): Promise<CronCreateForThreadResponse> {\n const json: Record<string, unknown> = {\n schedule: payload?.schedule,\n input: payload?.input,\n config: payload?.config,\n context: payload?.context,\n metadata: payload?.metadata,\n assistant_id: assistantId,\n interrupt_before: payload?.interruptBefore,\n interrupt_after: payload?.interruptAfter,\n webhook: payload?.webhook,\n multitask_strategy: payload?.multitaskStrategy,\n checkpoint_during: payload?.checkpointDuring,\n durability: payload?.durability,\n enabled: payload?.enabled,\n timezone: payload?.timezone,\n stream_mode: payload?.streamMode,\n stream_subgraphs: payload?.streamSubgraphs,\n stream_resumable: payload?.streamResumable,\n end_time: payload?.endTime,\n on_run_completed: payload?.onRunCompleted,\n };\n return this.fetch<CronCreateForThreadResponse>(\n `/threads/${encodePathSegment(threadId)}/runs/crons`,\n {\n method: \"POST\",\n json,\n signal: payload?.signal,\n }\n );\n }\n\n /**\n *\n * @param assistantId Assistant ID to use for this cron job.\n * @param payload Payload for creating a cron job.\n * @returns\n */\n async create(\n assistantId: string,\n payload?: CronsCreatePayload\n ): Promise<CronCreateResponse> {\n const json: Record<string, unknown> = {\n schedule: payload?.schedule,\n input: payload?.input,\n config: payload?.config,\n context: payload?.context,\n metadata: payload?.metadata,\n assistant_id: assistantId,\n interrupt_before: payload?.interruptBefore,\n interrupt_after: payload?.interruptAfter,\n webhook: payload?.webhook,\n on_run_completed: payload?.onRunCompleted,\n multitask_strategy: payload?.multitaskStrategy,\n checkpoint_during: payload?.checkpointDuring,\n durability: payload?.durability,\n enabled: payload?.enabled,\n timezone: payload?.timezone,\n stream_mode: payload?.streamMode,\n stream_subgraphs: payload?.streamSubgraphs,\n stream_resumable: payload?.streamResumable,\n end_time: payload?.endTime,\n };\n return this.fetch<CronCreateResponse>(`/runs/crons`, {\n method: \"POST\",\n json,\n signal: payload?.signal,\n });\n }\n\n /**\n * Update a cron job by ID.\n *\n * @param cronId The cron ID to update.\n * @param payload Payload for updating a cron job.\n * @returns The updated cron job.\n * ```\n */\n async update(cronId: string, payload?: CronsUpdatePayload): Promise<Cron> {\n const json: Record<string, unknown> = {\n schedule: payload?.schedule,\n timezone: payload?.timezone,\n // `null` clears a set end time; `undefined` (omitted) leaves it unchanged.\n end_time: payload?.endTime,\n input: payload?.input,\n metadata: payload?.metadata,\n config: payload?.config,\n context: payload?.context,\n webhook: payload?.webhook,\n interrupt_before: payload?.interruptBefore,\n interrupt_after: payload?.interruptAfter,\n on_run_completed: payload?.onRunCompleted,\n enabled: payload?.enabled,\n stream_mode: payload?.streamMode,\n stream_subgraphs: payload?.streamSubgraphs,\n stream_resumable: payload?.streamResumable,\n durability: payload?.durability,\n };\n\n return this.fetch<Cron>(`/runs/crons/${encodePathSegment(cronId)}`, {\n method: \"PATCH\",\n json,\n signal: payload?.signal,\n });\n }\n\n /**\n * Delete a cron job by ID.\n *\n * @param cronId Cron ID of Cron job to delete.\n * @param options Optional parameters for the request.\n */\n async delete(\n cronId: string,\n options?: { signal?: AbortSignal }\n ): Promise<void> {\n await this.fetch<void>(`/runs/crons/${encodePathSegment(cronId)}`, {\n method: \"DELETE\",\n signal: options?.signal,\n });\n }\n\n /**\n *\n * @param query Query options.\n * @param query.metadata Metadata to filter by. Exact match filter for each KV pair.\n * Available in Agent Server version 0.9.0 and later.\n * @returns List of crons.\n */\n async search(query?: {\n assistantId?: string;\n threadId?: string;\n enabled?: boolean;\n limit?: number;\n offset?: number;\n sortBy?: CronSortBy;\n sortOrder?: SortOrder;\n select?: CronSelectField[];\n metadata?: Metadata;\n signal?: AbortSignal;\n }): Promise<Cron[]> {\n return this.fetch<Cron[]>(\"/runs/crons/search\", {\n method: \"POST\",\n json: {\n assistant_id: query?.assistantId ?? undefined,\n thread_id: query?.threadId ?? undefined,\n enabled: query?.enabled ?? undefined,\n limit: query?.limit ?? 10,\n offset: query?.offset ?? 0,\n sort_by: query?.sortBy ?? undefined,\n sort_order: query?.sortOrder ?? undefined,\n select: query?.select ?? undefined,\n metadata: query?.metadata ?? undefined,\n },\n signal: query?.signal,\n });\n }\n\n /**\n * Count cron jobs matching filters.\n *\n * @param query.assistantId Assistant ID to filter by.\n * @param query.threadId Thread ID to filter by.\n * @param query.metadata Metadata to filter by. Exact match filter for each KV pair.\n * Available in Agent Server version 0.9.0 and later.\n * @returns Number of cron jobs matching the criteria.\n */\n async count(query?: {\n assistantId?: string;\n threadId?: string;\n metadata?: Metadata;\n signal?: AbortSignal;\n }): Promise<number> {\n return this.fetch<number>(`/runs/crons/count`, {\n method: \"POST\",\n json: {\n assistant_id: query?.assistantId ?? undefined,\n thread_id: query?.threadId ?? undefined,\n metadata: query?.metadata ?? undefined,\n },\n signal: query?.signal,\n });\n }\n}\n"],"mappings":";;AAYA,IAAa,cAAb,cAAiC,WAAW;;;;;;;;CAQ1C,MAAM,gBACJ,UACA,aACA,SACsC;EACtC,MAAM,OAAgC;GACpC,UAAU,SAAS;GACnB,OAAO,SAAS;GAChB,QAAQ,SAAS;GACjB,SAAS,SAAS;GAClB,UAAU,SAAS;GACnB,cAAc;GACd,kBAAkB,SAAS;GAC3B,iBAAiB,SAAS;GAC1B,SAAS,SAAS;GAClB,oBAAoB,SAAS;GAC7B,mBAAmB,SAAS;GAC5B,YAAY,SAAS;GACrB,SAAS,SAAS;GAClB,UAAU,SAAS;GACnB,aAAa,SAAS;GACtB,kBAAkB,SAAS;GAC3B,kBAAkB,SAAS;GAC3B,UAAU,SAAS;GACnB,kBAAkB,SAAS;GAC5B;AACD,SAAO,KAAK,MACV,YAAY,kBAAkB,SAAS,CAAC,cACxC;GACE,QAAQ;GACR;GACA,QAAQ,SAAS;GAClB,CACF;;;;;;;;CASH,MAAM,OACJ,aACA,SAC6B;EAC7B,MAAM,OAAgC;GACpC,UAAU,SAAS;GACnB,OAAO,SAAS;GAChB,QAAQ,SAAS;GACjB,SAAS,SAAS;GAClB,UAAU,SAAS;GACnB,cAAc;GACd,kBAAkB,SAAS;GAC3B,iBAAiB,SAAS;GAC1B,SAAS,SAAS;GAClB,kBAAkB,SAAS;GAC3B,oBAAoB,SAAS;GAC7B,mBAAmB,SAAS;GAC5B,YAAY,SAAS;GACrB,SAAS,SAAS;GAClB,UAAU,SAAS;GACnB,aAAa,SAAS;GACtB,kBAAkB,SAAS;GAC3B,kBAAkB,SAAS;GAC3B,UAAU,SAAS;GACpB;AACD,SAAO,KAAK,MAA0B,eAAe;GACnD,QAAQ;GACR;GACA,QAAQ,SAAS;GAClB,CAAC;;;;;;;;;;CAWJ,MAAM,OAAO,QAAgB,SAA6C;EACxE,MAAM,OAAgC;GACpC,UAAU,SAAS;GACnB,UAAU,SAAS;GAEnB,UAAU,SAAS;GACnB,OAAO,SAAS;GAChB,UAAU,SAAS;GACnB,QAAQ,SAAS;GACjB,SAAS,SAAS;GAClB,SAAS,SAAS;GAClB,kBAAkB,SAAS;GAC3B,iBAAiB,SAAS;GAC1B,kBAAkB,SAAS;GAC3B,SAAS,SAAS;GAClB,aAAa,SAAS;GACtB,kBAAkB,SAAS;GAC3B,kBAAkB,SAAS;GAC3B,YAAY,SAAS;GACtB;AAED,SAAO,KAAK,MAAY,eAAe,kBAAkB,OAAO,IAAI;GAClE,QAAQ;GACR;GACA,QAAQ,SAAS;GAClB,CAAC;;;;;;;;CASJ,MAAM,OACJ,QACA,SACe;AACf,QAAM,KAAK,MAAY,eAAe,kBAAkB,OAAO,IAAI;GACjE,QAAQ;GACR,QAAQ,SAAS;GAClB,CAAC;;;;;;;;;CAUJ,MAAM,OAAO,OAWO;AAClB,SAAO,KAAK,MAAc,sBAAsB;GAC9C,QAAQ;GACR,MAAM;IACJ,cAAc,OAAO,eAAe,KAAA;IACpC,WAAW,OAAO,YAAY,KAAA;IAC9B,SAAS,OAAO,WAAW,KAAA;IAC3B,OAAO,OAAO,SAAS;IACvB,QAAQ,OAAO,UAAU;IACzB,SAAS,OAAO,UAAU,KAAA;IAC1B,YAAY,OAAO,aAAa,KAAA;IAChC,QAAQ,OAAO,UAAU,KAAA;IACzB,UAAU,OAAO,YAAY,KAAA;IAC9B;GACD,QAAQ,OAAO;GAChB,CAAC;;;;;;;;;;;CAYJ,MAAM,MAAM,OAKQ;AAClB,SAAO,KAAK,MAAc,qBAAqB;GAC7C,QAAQ;GACR,MAAM;IACJ,cAAc,OAAO,eAAe,KAAA;IACpC,WAAW,OAAO,YAAY,KAAA;IAC9B,UAAU,OAAO,YAAY,KAAA;IAC9B;GACD,QAAQ,OAAO;GAChB,CAAC"}
@@ -34,7 +34,7 @@ var RunsClient = class extends require_base.BaseClient {
34
34
  durability: payload?.durability
35
35
  };
36
36
  yield* this.streamWithRetry({
37
- endpoint: threadId == null ? `/runs/stream` : `/threads/${threadId}/runs/stream`,
37
+ endpoint: threadId == null ? `/runs/stream` : `/threads/${require_base.encodePathSegment(threadId)}/runs/stream`,
38
38
  method: "POST",
39
39
  json,
40
40
  signal: payload?.signal,
@@ -81,7 +81,7 @@ var RunsClient = class extends require_base.BaseClient {
81
81
  example_id: payload?._langsmithTracer?.exampleId
82
82
  } : void 0
83
83
  };
84
- const endpoint = threadId === null ? "/runs" : `/threads/${threadId}/runs`;
84
+ const endpoint = threadId === null ? "/runs" : `/threads/${require_base.encodePathSegment(threadId)}/runs`;
85
85
  const [run, response] = await this.fetch(endpoint, {
86
86
  method: "POST",
87
87
  json,
@@ -144,7 +144,7 @@ var RunsClient = class extends require_base.BaseClient {
144
144
  example_id: payload?._langsmithTracer?.exampleId
145
145
  } : void 0
146
146
  };
147
- const endpoint = threadId == null ? `/runs/wait` : `/threads/${threadId}/runs/wait`;
147
+ const endpoint = threadId == null ? `/runs/wait` : `/threads/${require_base.encodePathSegment(threadId)}/runs/wait`;
148
148
  const [run, response] = await this.fetch(endpoint, {
149
149
  method: "POST",
150
150
  json,
@@ -165,7 +165,7 @@ var RunsClient = class extends require_base.BaseClient {
165
165
  * @returns List of runs.
166
166
  */
167
167
  async list(threadId, options) {
168
- return this.fetch(`/threads/${threadId}/runs`, {
168
+ return this.fetch(`/threads/${require_base.encodePathSegment(threadId)}/runs`, {
169
169
  params: {
170
170
  limit: options?.limit ?? 10,
171
171
  offset: options?.offset ?? 0,
@@ -183,7 +183,7 @@ var RunsClient = class extends require_base.BaseClient {
183
183
  * @returns The run.
184
184
  */
185
185
  async get(threadId, runId, options) {
186
- return this.fetch(`/threads/${threadId}/runs/${runId}`, { signal: options?.signal });
186
+ return this.fetch(`/threads/${require_base.encodePathSegment(threadId)}/runs/${require_base.encodePathSegment(runId)}`, { signal: options?.signal });
187
187
  }
188
188
  /**
189
189
  * Cancel a run.
@@ -195,7 +195,7 @@ var RunsClient = class extends require_base.BaseClient {
195
195
  * @returns
196
196
  */
197
197
  async cancel(threadId, runId, wait = false, action = "interrupt", options = {}) {
198
- return this.fetch(`/threads/${threadId}/runs/${runId}/cancel`, {
198
+ return this.fetch(`/threads/${require_base.encodePathSegment(threadId)}/runs/${require_base.encodePathSegment(runId)}/cancel`, {
199
199
  method: "POST",
200
200
  params: {
201
201
  wait: wait ? "1" : "0",
@@ -230,7 +230,7 @@ var RunsClient = class extends require_base.BaseClient {
230
230
  * @returns
231
231
  */
232
232
  async join(threadId, runId, options) {
233
- return this.fetch(`/threads/${threadId}/runs/${runId}/join`, {
233
+ return this.fetch(`/threads/${require_base.encodePathSegment(threadId)}/runs/${require_base.encodePathSegment(runId)}/join`, {
234
234
  timeoutMs: null,
235
235
  params: { cancel_on_disconnect: options?.cancelOnDisconnect ? "1" : "0" },
236
236
  signal: options?.signal
@@ -247,7 +247,7 @@ var RunsClient = class extends require_base.BaseClient {
247
247
  async *joinStream(threadId, runId, options) {
248
248
  const opts = typeof options === "object" && options != null && options instanceof AbortSignal ? { signal: options } : options;
249
249
  yield* this.streamWithRetry({
250
- endpoint: threadId != null ? `/threads/${threadId}/runs/${runId}/stream` : `/runs/${runId}/stream`,
250
+ endpoint: threadId != null ? `/threads/${require_base.encodePathSegment(threadId)}/runs/${require_base.encodePathSegment(runId)}/stream` : `/runs/${require_base.encodePathSegment(runId)}/stream`,
251
251
  method: "GET",
252
252
  signal: opts?.signal,
253
253
  idleReconnect: opts?.streamIdleReconnect,
@@ -266,7 +266,7 @@ var RunsClient = class extends require_base.BaseClient {
266
266
  * @returns
267
267
  */
268
268
  async delete(threadId, runId, options) {
269
- return this.fetch(`/threads/${threadId}/runs/${runId}`, {
269
+ return this.fetch(`/threads/${require_base.encodePathSegment(threadId)}/runs/${require_base.encodePathSegment(runId)}`, {
270
270
  method: "DELETE",
271
271
  signal: options?.signal
272
272
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["BaseClient","getRunMetadataFromResponse"],"sources":["../../../src/client/runs/index.ts"],"sourcesContent":["import {\n CancelAction,\n DefaultValues,\n Run,\n RunSelectField,\n RunStatus,\n ThreadState,\n} from \"../../schema.js\";\nimport type {\n RunsCreatePayload,\n RunsStreamPayload,\n RunsWaitPayload,\n StreamEvent,\n} from \"../../types.js\";\nimport type { StreamMode, TypedAsyncGenerator } from \"../../types.stream.js\";\nimport type { IdleReconnectMode } from \"../../utils/stream.js\";\n\nimport { BaseClient, getRunMetadataFromResponse } from \"../base.js\";\n\nexport class RunsClient<\n TStateType = DefaultValues,\n TUpdateType = TStateType,\n TCustomEventType = unknown,\n> extends BaseClient {\n stream<\n TStreamMode extends StreamMode | StreamMode[] = StreamMode,\n TSubgraphs extends boolean = false,\n >(\n threadId: null,\n assistantId: string,\n payload?: Omit<\n RunsStreamPayload<TStreamMode, TSubgraphs>,\n \"multitaskStrategy\" | \"onCompletion\"\n >\n ): TypedAsyncGenerator<\n TStreamMode,\n TSubgraphs,\n TStateType,\n TUpdateType,\n TCustomEventType\n >;\n\n stream<\n TStreamMode extends StreamMode | StreamMode[] = StreamMode,\n TSubgraphs extends boolean = false,\n >(\n threadId: string,\n assistantId: string,\n payload?: RunsStreamPayload<TStreamMode, TSubgraphs>\n ): TypedAsyncGenerator<\n TStreamMode,\n TSubgraphs,\n TStateType,\n TUpdateType,\n TCustomEventType\n >;\n\n /**\n * Create a run and stream the results.\n *\n * @param threadId The ID of the thread.\n * @param assistantId Assistant ID to use for this run.\n * @param payload Payload for creating a run.\n */\n async *stream<\n TStreamMode extends StreamMode | StreamMode[] = StreamMode,\n TSubgraphs extends boolean = false,\n >(\n threadId: string | null,\n assistantId: string,\n payload?: RunsStreamPayload<TStreamMode, TSubgraphs>\n ): TypedAsyncGenerator<\n TStreamMode,\n TSubgraphs,\n TStateType,\n TUpdateType,\n TCustomEventType\n > {\n const json: Record<string, unknown> = {\n input: payload?.input,\n command: payload?.command,\n config: payload?.config,\n context: payload?.context,\n metadata: payload?.metadata,\n stream_mode: payload?.streamMode,\n stream_subgraphs: payload?.streamSubgraphs,\n stream_resumable: payload?.streamResumable,\n feedback_keys: payload?.feedbackKeys,\n assistant_id: assistantId,\n interrupt_before: payload?.interruptBefore,\n interrupt_after: payload?.interruptAfter,\n checkpoint: payload?.checkpoint,\n checkpoint_id: payload?.checkpointId,\n webhook: payload?.webhook,\n multitask_strategy: payload?.multitaskStrategy,\n on_completion: payload?.onCompletion,\n on_disconnect: payload?.onDisconnect,\n after_seconds: payload?.afterSeconds,\n if_not_exists: payload?.ifNotExists,\n checkpoint_during: payload?.checkpointDuring,\n durability: payload?.durability,\n };\n\n yield* this.streamWithRetry({\n endpoint:\n threadId == null ? `/runs/stream` : `/threads/${threadId}/runs/stream`,\n method: \"POST\",\n json,\n signal: payload?.signal,\n idleReconnect: payload?.streamIdleReconnect,\n onInitialResponse: (response) => {\n const runMetadata = getRunMetadataFromResponse(response);\n if (runMetadata) payload?.onRunCreated?.(runMetadata);\n },\n }) as TypedAsyncGenerator<\n TStreamMode,\n TSubgraphs,\n TStateType,\n TUpdateType,\n TCustomEventType\n >;\n }\n\n /**\n * Create a run.\n *\n * @param threadId The ID of the thread.\n * @param assistantId Assistant ID to use for this run.\n * @param payload Payload for creating a run.\n * @returns The created run.\n */\n async create(\n threadId: string | null,\n assistantId: string,\n payload?: RunsCreatePayload\n ): Promise<Run> {\n const json: Record<string, unknown> = {\n input: payload?.input,\n command: payload?.command,\n config: payload?.config,\n context: payload?.context,\n metadata: payload?.metadata,\n stream_mode: payload?.streamMode,\n stream_subgraphs: payload?.streamSubgraphs,\n stream_resumable: payload?.streamResumable,\n feedback_keys: payload?.feedbackKeys,\n assistant_id: assistantId,\n interrupt_before: payload?.interruptBefore,\n interrupt_after: payload?.interruptAfter,\n webhook: payload?.webhook,\n checkpoint: payload?.checkpoint,\n checkpoint_id: payload?.checkpointId,\n multitask_strategy: payload?.multitaskStrategy,\n after_seconds: payload?.afterSeconds,\n if_not_exists: payload?.ifNotExists,\n checkpoint_during: payload?.checkpointDuring,\n durability: payload?.durability,\n on_completion: payload?.onCompletion,\n langsmith_tracer: payload?._langsmithTracer\n ? {\n project_name: payload?._langsmithTracer?.projectName,\n example_id: payload?._langsmithTracer?.exampleId,\n }\n : undefined,\n };\n\n const endpoint = threadId === null ? \"/runs\" : `/threads/${threadId}/runs`;\n const [run, response] = await this.fetch<Run>(endpoint, {\n method: \"POST\",\n json,\n signal: payload?.signal,\n withResponse: true,\n });\n\n const runMetadata = getRunMetadataFromResponse(response);\n if (runMetadata) payload?.onRunCreated?.(runMetadata);\n\n return run;\n }\n\n /**\n * Create a batch of stateless background runs.\n *\n * @param payloads An array of payloads for creating runs.\n * @returns An array of created runs.\n */\n async createBatch(\n payloads: (Omit<RunsCreatePayload, \"signal\"> & { assistantId: string })[],\n options?: { signal?: AbortSignal }\n ): Promise<Run[]> {\n const filteredPayloads = payloads\n .map((payload) => ({ ...payload, assistant_id: payload.assistantId }))\n .map((payload) => {\n return Object.fromEntries(\n Object.entries(payload).filter(([_, v]) => v !== undefined)\n );\n });\n\n return this.fetch<Run[]>(\"/runs/batch\", {\n method: \"POST\",\n json: filteredPayloads,\n signal: options?.signal,\n });\n }\n\n async wait(\n threadId: null,\n assistantId: string,\n payload?: Omit<RunsWaitPayload, \"multitaskStrategy\" | \"onCompletion\">\n ): Promise<ThreadState[\"values\"]>;\n\n async wait(\n threadId: string,\n assistantId: string,\n payload?: RunsWaitPayload\n ): Promise<ThreadState[\"values\"]>;\n\n /**\n * Create a run and wait for it to complete.\n *\n * @param threadId The ID of the thread.\n * @param assistantId Assistant ID to use for this run.\n * @param payload Payload for creating a run.\n * @returns The last values chunk of the thread.\n */\n async wait(\n threadId: string | null,\n assistantId: string,\n payload?: RunsWaitPayload\n ): Promise<ThreadState[\"values\"]> {\n const json: Record<string, unknown> = {\n input: payload?.input,\n command: payload?.command,\n config: payload?.config,\n context: payload?.context,\n metadata: payload?.metadata,\n assistant_id: assistantId,\n interrupt_before: payload?.interruptBefore,\n interrupt_after: payload?.interruptAfter,\n checkpoint: payload?.checkpoint,\n checkpoint_id: payload?.checkpointId,\n webhook: payload?.webhook,\n multitask_strategy: payload?.multitaskStrategy,\n on_completion: payload?.onCompletion,\n on_disconnect: payload?.onDisconnect,\n after_seconds: payload?.afterSeconds,\n if_not_exists: payload?.ifNotExists,\n checkpoint_during: payload?.checkpointDuring,\n durability: payload?.durability,\n langsmith_tracer: payload?._langsmithTracer\n ? {\n project_name: payload?._langsmithTracer?.projectName,\n example_id: payload?._langsmithTracer?.exampleId,\n }\n : undefined,\n };\n const endpoint =\n threadId == null ? `/runs/wait` : `/threads/${threadId}/runs/wait`;\n const [run, response] = await this.fetch<ThreadState[\"values\"]>(endpoint, {\n method: \"POST\",\n json,\n timeoutMs: null,\n signal: payload?.signal,\n withResponse: true,\n });\n\n const runMetadata = getRunMetadataFromResponse(response);\n if (runMetadata) payload?.onRunCreated?.(runMetadata);\n\n const raiseError =\n payload?.raiseError !== undefined ? payload.raiseError : true;\n if (\n raiseError &&\n \"__error__\" in run &&\n typeof run.__error__ === \"object\" &&\n run.__error__ &&\n \"error\" in run.__error__ &&\n \"message\" in run.__error__\n ) {\n throw new Error(`${run.__error__?.error}: ${run.__error__?.message}`);\n }\n return run;\n }\n\n /**\n * List all runs for a thread.\n *\n * @param threadId The ID of the thread.\n * @param options Filtering and pagination options.\n * @returns List of runs.\n */\n async list(\n threadId: string,\n options?: {\n limit?: number;\n offset?: number;\n status?: RunStatus;\n select?: RunSelectField[];\n signal?: AbortSignal;\n }\n ): Promise<Run[]> {\n return this.fetch<Run[]>(`/threads/${threadId}/runs`, {\n params: {\n limit: options?.limit ?? 10,\n offset: options?.offset ?? 0,\n status: options?.status ?? undefined,\n select: options?.select ?? undefined,\n },\n signal: options?.signal,\n });\n }\n\n /**\n * Get a run by ID.\n *\n * @param threadId The ID of the thread.\n * @param runId The ID of the run.\n * @returns The run.\n */\n async get(\n threadId: string,\n runId: string,\n options?: { signal?: AbortSignal }\n ): Promise<Run> {\n return this.fetch<Run>(`/threads/${threadId}/runs/${runId}`, {\n signal: options?.signal,\n });\n }\n\n /**\n * Cancel a run.\n *\n * @param threadId The ID of the thread.\n * @param runId The ID of the run.\n * @param wait Whether to block when canceling\n * @param action Action to take when cancelling the run. Possible values are `interrupt` or `rollback`. Default is `interrupt`.\n * @returns\n */\n async cancel(\n threadId: string,\n runId: string,\n wait: boolean = false,\n action: CancelAction = \"interrupt\",\n options: { signal?: AbortSignal } = {}\n ): Promise<void> {\n return this.fetch<void>(`/threads/${threadId}/runs/${runId}/cancel`, {\n method: \"POST\",\n params: { wait: wait ? \"1\" : \"0\", action },\n signal: options?.signal,\n });\n }\n\n /**\n * Cancel one or more runs.\n *\n * @param options Options for cancelling runs.\n * @returns\n */\n async cancelMany(options: {\n threadId?: string;\n runIds?: string[];\n status?: \"pending\" | \"running\" | \"all\";\n action?: CancelAction;\n signal?: AbortSignal;\n }): Promise<void> {\n return this.fetch<void>(`/runs/cancel`, {\n method: \"POST\",\n json: {\n thread_id: options.threadId,\n run_ids: options.runIds,\n status: options.status,\n },\n params: { action: options.action },\n signal: options.signal,\n });\n }\n\n /**\n * Block until a run is done.\n *\n * @param threadId The ID of the thread.\n * @param runId The ID of the run.\n * @returns\n */\n async join(\n threadId: string,\n runId: string,\n options?: { cancelOnDisconnect?: boolean; signal?: AbortSignal }\n ): Promise<TStateType> {\n return this.fetch<TStateType>(`/threads/${threadId}/runs/${runId}/join`, {\n timeoutMs: null,\n params: { cancel_on_disconnect: options?.cancelOnDisconnect ? \"1\" : \"0\" },\n signal: options?.signal,\n });\n }\n\n /**\n * Stream output from a run in real-time, until the run is done.\n *\n * @param threadId The ID of the thread.\n * @param runId The ID of the run.\n * @param options Additional options for controlling the stream behavior.\n * @returns An async generator yielding stream parts.\n */\n async *joinStream(\n threadId: string | undefined | null,\n runId: string,\n options?:\n | {\n signal?: AbortSignal;\n cancelOnDisconnect?: boolean;\n lastEventId?: string;\n streamMode?: StreamMode | StreamMode[];\n /**\n * Idle-reconnect policy.\n *\n * Guards against half-open sockets that hang with no\n * error or close; on idle the read re-joins with the last seen\n * `Last-Event-ID`.\n *\n * - `\"auto\"` (default): arms only once the\n * server's keep-alive heartbeats are observed and sizes the window\n * from their cadence;\n * - a `number`: a fixed idle window in ms;\n * - `0`: disables it.\n */\n streamIdleReconnect?: IdleReconnectMode;\n }\n | AbortSignal\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): AsyncGenerator<{ id?: string; event: StreamEvent; data: any }> {\n const opts =\n typeof options === \"object\" &&\n options != null &&\n // eslint-disable-next-line no-instanceof/no-instanceof\n options instanceof AbortSignal\n ? { signal: options }\n : options;\n\n yield* this.streamWithRetry({\n endpoint:\n threadId != null\n ? `/threads/${threadId}/runs/${runId}/stream`\n : `/runs/${runId}/stream`,\n method: \"GET\",\n signal: opts?.signal,\n idleReconnect: opts?.streamIdleReconnect,\n headers: opts?.lastEventId\n ? { \"Last-Event-ID\": opts.lastEventId }\n : undefined,\n params: {\n cancel_on_disconnect: opts?.cancelOnDisconnect ? \"1\" : \"0\",\n stream_mode: opts?.streamMode,\n },\n });\n }\n\n /**\n * Delete a run.\n *\n * @param threadId The ID of the thread.\n * @param runId The ID of the run.\n * @returns\n */\n async delete(\n threadId: string,\n runId: string,\n options?: { signal?: AbortSignal }\n ): Promise<void> {\n return this.fetch<void>(`/threads/${threadId}/runs/${runId}`, {\n method: \"DELETE\",\n signal: options?.signal,\n });\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":["BaseClient","encodePathSegment","getRunMetadataFromResponse"],"sources":["../../../src/client/runs/index.ts"],"sourcesContent":["import {\n CancelAction,\n DefaultValues,\n Run,\n RunSelectField,\n RunStatus,\n ThreadState,\n} from \"../../schema.js\";\nimport type {\n RunsCreatePayload,\n RunsStreamPayload,\n RunsWaitPayload,\n StreamEvent,\n} from \"../../types.js\";\nimport type { StreamMode, TypedAsyncGenerator } from \"../../types.stream.js\";\nimport type { IdleReconnectMode } from \"../../utils/stream.js\";\n\nimport {\n BaseClient,\n getRunMetadataFromResponse,\n encodePathSegment,\n} from \"../base.js\";\n\nexport class RunsClient<\n TStateType = DefaultValues,\n TUpdateType = TStateType,\n TCustomEventType = unknown,\n> extends BaseClient {\n stream<\n TStreamMode extends StreamMode | StreamMode[] = StreamMode,\n TSubgraphs extends boolean = false,\n >(\n threadId: null,\n assistantId: string,\n payload?: Omit<\n RunsStreamPayload<TStreamMode, TSubgraphs>,\n \"multitaskStrategy\" | \"onCompletion\"\n >\n ): TypedAsyncGenerator<\n TStreamMode,\n TSubgraphs,\n TStateType,\n TUpdateType,\n TCustomEventType\n >;\n\n stream<\n TStreamMode extends StreamMode | StreamMode[] = StreamMode,\n TSubgraphs extends boolean = false,\n >(\n threadId: string,\n assistantId: string,\n payload?: RunsStreamPayload<TStreamMode, TSubgraphs>\n ): TypedAsyncGenerator<\n TStreamMode,\n TSubgraphs,\n TStateType,\n TUpdateType,\n TCustomEventType\n >;\n\n /**\n * Create a run and stream the results.\n *\n * @param threadId The ID of the thread.\n * @param assistantId Assistant ID to use for this run.\n * @param payload Payload for creating a run.\n */\n async *stream<\n TStreamMode extends StreamMode | StreamMode[] = StreamMode,\n TSubgraphs extends boolean = false,\n >(\n threadId: string | null,\n assistantId: string,\n payload?: RunsStreamPayload<TStreamMode, TSubgraphs>\n ): TypedAsyncGenerator<\n TStreamMode,\n TSubgraphs,\n TStateType,\n TUpdateType,\n TCustomEventType\n > {\n const json: Record<string, unknown> = {\n input: payload?.input,\n command: payload?.command,\n config: payload?.config,\n context: payload?.context,\n metadata: payload?.metadata,\n stream_mode: payload?.streamMode,\n stream_subgraphs: payload?.streamSubgraphs,\n stream_resumable: payload?.streamResumable,\n feedback_keys: payload?.feedbackKeys,\n assistant_id: assistantId,\n interrupt_before: payload?.interruptBefore,\n interrupt_after: payload?.interruptAfter,\n checkpoint: payload?.checkpoint,\n checkpoint_id: payload?.checkpointId,\n webhook: payload?.webhook,\n multitask_strategy: payload?.multitaskStrategy,\n on_completion: payload?.onCompletion,\n on_disconnect: payload?.onDisconnect,\n after_seconds: payload?.afterSeconds,\n if_not_exists: payload?.ifNotExists,\n checkpoint_during: payload?.checkpointDuring,\n durability: payload?.durability,\n };\n\n yield* this.streamWithRetry({\n endpoint:\n threadId == null\n ? `/runs/stream`\n : `/threads/${encodePathSegment(threadId)}/runs/stream`,\n method: \"POST\",\n json,\n signal: payload?.signal,\n idleReconnect: payload?.streamIdleReconnect,\n onInitialResponse: (response) => {\n const runMetadata = getRunMetadataFromResponse(response);\n if (runMetadata) payload?.onRunCreated?.(runMetadata);\n },\n }) as TypedAsyncGenerator<\n TStreamMode,\n TSubgraphs,\n TStateType,\n TUpdateType,\n TCustomEventType\n >;\n }\n\n /**\n * Create a run.\n *\n * @param threadId The ID of the thread.\n * @param assistantId Assistant ID to use for this run.\n * @param payload Payload for creating a run.\n * @returns The created run.\n */\n async create(\n threadId: string | null,\n assistantId: string,\n payload?: RunsCreatePayload\n ): Promise<Run> {\n const json: Record<string, unknown> = {\n input: payload?.input,\n command: payload?.command,\n config: payload?.config,\n context: payload?.context,\n metadata: payload?.metadata,\n stream_mode: payload?.streamMode,\n stream_subgraphs: payload?.streamSubgraphs,\n stream_resumable: payload?.streamResumable,\n feedback_keys: payload?.feedbackKeys,\n assistant_id: assistantId,\n interrupt_before: payload?.interruptBefore,\n interrupt_after: payload?.interruptAfter,\n webhook: payload?.webhook,\n checkpoint: payload?.checkpoint,\n checkpoint_id: payload?.checkpointId,\n multitask_strategy: payload?.multitaskStrategy,\n after_seconds: payload?.afterSeconds,\n if_not_exists: payload?.ifNotExists,\n checkpoint_during: payload?.checkpointDuring,\n durability: payload?.durability,\n on_completion: payload?.onCompletion,\n langsmith_tracer: payload?._langsmithTracer\n ? {\n project_name: payload?._langsmithTracer?.projectName,\n example_id: payload?._langsmithTracer?.exampleId,\n }\n : undefined,\n };\n\n const endpoint =\n threadId === null\n ? \"/runs\"\n : `/threads/${encodePathSegment(threadId)}/runs`;\n const [run, response] = await this.fetch<Run>(endpoint, {\n method: \"POST\",\n json,\n signal: payload?.signal,\n withResponse: true,\n });\n\n const runMetadata = getRunMetadataFromResponse(response);\n if (runMetadata) payload?.onRunCreated?.(runMetadata);\n\n return run;\n }\n\n /**\n * Create a batch of stateless background runs.\n *\n * @param payloads An array of payloads for creating runs.\n * @returns An array of created runs.\n */\n async createBatch(\n payloads: (Omit<RunsCreatePayload, \"signal\"> & { assistantId: string })[],\n options?: { signal?: AbortSignal }\n ): Promise<Run[]> {\n const filteredPayloads = payloads\n .map((payload) => ({ ...payload, assistant_id: payload.assistantId }))\n .map((payload) => {\n return Object.fromEntries(\n Object.entries(payload).filter(([_, v]) => v !== undefined)\n );\n });\n\n return this.fetch<Run[]>(\"/runs/batch\", {\n method: \"POST\",\n json: filteredPayloads,\n signal: options?.signal,\n });\n }\n\n async wait(\n threadId: null,\n assistantId: string,\n payload?: Omit<RunsWaitPayload, \"multitaskStrategy\" | \"onCompletion\">\n ): Promise<ThreadState[\"values\"]>;\n\n async wait(\n threadId: string,\n assistantId: string,\n payload?: RunsWaitPayload\n ): Promise<ThreadState[\"values\"]>;\n\n /**\n * Create a run and wait for it to complete.\n *\n * @param threadId The ID of the thread.\n * @param assistantId Assistant ID to use for this run.\n * @param payload Payload for creating a run.\n * @returns The last values chunk of the thread.\n */\n async wait(\n threadId: string | null,\n assistantId: string,\n payload?: RunsWaitPayload\n ): Promise<ThreadState[\"values\"]> {\n const json: Record<string, unknown> = {\n input: payload?.input,\n command: payload?.command,\n config: payload?.config,\n context: payload?.context,\n metadata: payload?.metadata,\n assistant_id: assistantId,\n interrupt_before: payload?.interruptBefore,\n interrupt_after: payload?.interruptAfter,\n checkpoint: payload?.checkpoint,\n checkpoint_id: payload?.checkpointId,\n webhook: payload?.webhook,\n multitask_strategy: payload?.multitaskStrategy,\n on_completion: payload?.onCompletion,\n on_disconnect: payload?.onDisconnect,\n after_seconds: payload?.afterSeconds,\n if_not_exists: payload?.ifNotExists,\n checkpoint_during: payload?.checkpointDuring,\n durability: payload?.durability,\n langsmith_tracer: payload?._langsmithTracer\n ? {\n project_name: payload?._langsmithTracer?.projectName,\n example_id: payload?._langsmithTracer?.exampleId,\n }\n : undefined,\n };\n const endpoint =\n threadId == null\n ? `/runs/wait`\n : `/threads/${encodePathSegment(threadId)}/runs/wait`;\n const [run, response] = await this.fetch<ThreadState[\"values\"]>(endpoint, {\n method: \"POST\",\n json,\n timeoutMs: null,\n signal: payload?.signal,\n withResponse: true,\n });\n\n const runMetadata = getRunMetadataFromResponse(response);\n if (runMetadata) payload?.onRunCreated?.(runMetadata);\n\n const raiseError =\n payload?.raiseError !== undefined ? payload.raiseError : true;\n if (\n raiseError &&\n \"__error__\" in run &&\n typeof run.__error__ === \"object\" &&\n run.__error__ &&\n \"error\" in run.__error__ &&\n \"message\" in run.__error__\n ) {\n throw new Error(`${run.__error__?.error}: ${run.__error__?.message}`);\n }\n return run;\n }\n\n /**\n * List all runs for a thread.\n *\n * @param threadId The ID of the thread.\n * @param options Filtering and pagination options.\n * @returns List of runs.\n */\n async list(\n threadId: string,\n options?: {\n limit?: number;\n offset?: number;\n status?: RunStatus;\n select?: RunSelectField[];\n signal?: AbortSignal;\n }\n ): Promise<Run[]> {\n return this.fetch<Run[]>(`/threads/${encodePathSegment(threadId)}/runs`, {\n params: {\n limit: options?.limit ?? 10,\n offset: options?.offset ?? 0,\n status: options?.status ?? undefined,\n select: options?.select ?? undefined,\n },\n signal: options?.signal,\n });\n }\n\n /**\n * Get a run by ID.\n *\n * @param threadId The ID of the thread.\n * @param runId The ID of the run.\n * @returns The run.\n */\n async get(\n threadId: string,\n runId: string,\n options?: { signal?: AbortSignal }\n ): Promise<Run> {\n return this.fetch<Run>(\n `/threads/${encodePathSegment(threadId)}/runs/${encodePathSegment(runId)}`,\n {\n signal: options?.signal,\n }\n );\n }\n\n /**\n * Cancel a run.\n *\n * @param threadId The ID of the thread.\n * @param runId The ID of the run.\n * @param wait Whether to block when canceling\n * @param action Action to take when cancelling the run. Possible values are `interrupt` or `rollback`. Default is `interrupt`.\n * @returns\n */\n async cancel(\n threadId: string,\n runId: string,\n wait: boolean = false,\n action: CancelAction = \"interrupt\",\n options: { signal?: AbortSignal } = {}\n ): Promise<void> {\n return this.fetch<void>(\n `/threads/${encodePathSegment(threadId)}/runs/${encodePathSegment(runId)}/cancel`,\n {\n method: \"POST\",\n params: { wait: wait ? \"1\" : \"0\", action },\n signal: options?.signal,\n }\n );\n }\n\n /**\n * Cancel one or more runs.\n *\n * @param options Options for cancelling runs.\n * @returns\n */\n async cancelMany(options: {\n threadId?: string;\n runIds?: string[];\n status?: \"pending\" | \"running\" | \"all\";\n action?: CancelAction;\n signal?: AbortSignal;\n }): Promise<void> {\n return this.fetch<void>(`/runs/cancel`, {\n method: \"POST\",\n json: {\n thread_id: options.threadId,\n run_ids: options.runIds,\n status: options.status,\n },\n params: { action: options.action },\n signal: options.signal,\n });\n }\n\n /**\n * Block until a run is done.\n *\n * @param threadId The ID of the thread.\n * @param runId The ID of the run.\n * @returns\n */\n async join(\n threadId: string,\n runId: string,\n options?: { cancelOnDisconnect?: boolean; signal?: AbortSignal }\n ): Promise<TStateType> {\n return this.fetch<TStateType>(\n `/threads/${encodePathSegment(threadId)}/runs/${encodePathSegment(runId)}/join`,\n {\n timeoutMs: null,\n params: {\n cancel_on_disconnect: options?.cancelOnDisconnect ? \"1\" : \"0\",\n },\n signal: options?.signal,\n }\n );\n }\n\n /**\n * Stream output from a run in real-time, until the run is done.\n *\n * @param threadId The ID of the thread.\n * @param runId The ID of the run.\n * @param options Additional options for controlling the stream behavior.\n * @returns An async generator yielding stream parts.\n */\n async *joinStream(\n threadId: string | undefined | null,\n runId: string,\n options?:\n | {\n signal?: AbortSignal;\n cancelOnDisconnect?: boolean;\n lastEventId?: string;\n streamMode?: StreamMode | StreamMode[];\n /**\n * Idle-reconnect policy.\n *\n * Guards against half-open sockets that hang with no\n * error or close; on idle the read re-joins with the last seen\n * `Last-Event-ID`.\n *\n * - `\"auto\"` (default): arms only once the\n * server's keep-alive heartbeats are observed and sizes the window\n * from their cadence;\n * - a `number`: a fixed idle window in ms;\n * - `0`: disables it.\n */\n streamIdleReconnect?: IdleReconnectMode;\n }\n | AbortSignal\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): AsyncGenerator<{ id?: string; event: StreamEvent; data: any }> {\n const opts =\n typeof options === \"object\" &&\n options != null &&\n // eslint-disable-next-line no-instanceof/no-instanceof\n options instanceof AbortSignal\n ? { signal: options }\n : options;\n\n yield* this.streamWithRetry({\n endpoint:\n threadId != null\n ? `/threads/${encodePathSegment(threadId)}/runs/${encodePathSegment(runId)}/stream`\n : `/runs/${encodePathSegment(runId)}/stream`,\n method: \"GET\",\n signal: opts?.signal,\n idleReconnect: opts?.streamIdleReconnect,\n headers: opts?.lastEventId\n ? { \"Last-Event-ID\": opts.lastEventId }\n : undefined,\n params: {\n cancel_on_disconnect: opts?.cancelOnDisconnect ? \"1\" : \"0\",\n stream_mode: opts?.streamMode,\n },\n });\n }\n\n /**\n * Delete a run.\n *\n * @param threadId The ID of the thread.\n * @param runId The ID of the run.\n * @returns\n */\n async delete(\n threadId: string,\n runId: string,\n options?: { signal?: AbortSignal }\n ): Promise<void> {\n return this.fetch<void>(\n `/threads/${encodePathSegment(threadId)}/runs/${encodePathSegment(runId)}`,\n {\n method: \"DELETE\",\n signal: options?.signal,\n }\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/client/runs/index.ts"],"mappings":";;;;;;;cAmBa,UAAA,cACE,aAAA,gBACC,UAAA,sCAEN,UAAA;EACR,MAAA,qBACsB,UAAA,GAAa,UAAA,KAAe,UAAA,qCAAA,CAGhD,QAAA,QACA,WAAA,UACA,OAAA,GAAU,IAAA,CACR,iBAAA,CAAkB,WAAA,EAAa,UAAA,2CAGhC,mBAAA,CACD,WAAA,EACA,UAAA,EACA,UAAA,EACA,WAAA,EACA,gBAAA;EAGF,MAAA,qBACsB,UAAA,GAAa,UAAA,KAAe,UAAA,qCAAA,CAGhD,QAAA,UACA,WAAA,UACA,OAAA,GAAU,iBAAA,CAAkB,WAAA,EAAa,UAAA,IACxC,mBAAA,CACD,WAAA,EACA,UAAA,EACA,UAAA,EACA,WAAA,EACA,gBAAA;EAnCmB;;;;;;;;EAgHf,MAAA,CACJ,QAAA,iBACA,WAAA,UACA,OAAA,GAAU,iBAAA,GACT,OAAA,CAAQ,GAAA;EAxGP;;;;;;EA2JE,WAAA,CACJ,QAAA,GAAW,IAAA,CAAK,iBAAA;IAAiC,WAAA;EAAA,MACjD,OAAA;IAAY,MAAA,GAAS,WAAA;EAAA,IACpB,OAAA,CAAQ,GAAA;EAgBL,IAAA,CACJ,QAAA,QACA,WAAA,UACA,OAAA,GAAU,IAAA,CAAK,eAAA,0CACd,OAAA,CAAQ,WAAA;EAEL,IAAA,CACJ,QAAA,UACA,WAAA,UACA,OAAA,GAAU,eAAA,GACT,OAAA,CAAQ,WAAA;EAvKC;;;;;;;EAmPN,IAAA,CACJ,QAAA,UACA,OAAA;IACE,KAAA;IACA,MAAA;IACA,MAAA,GAAS,SAAA;IACT,MAAA,GAAS,cAAA;IACT,MAAA,GAAS,WAAA;EAAA,IAEV,OAAA,CAAQ,GAAA;EA/GR;;;;;;;EAkIG,GAAA,CACJ,QAAA,UACA,KAAA,UACA,OAAA;IAAY,MAAA,GAAS,WAAA;EAAA,IACpB,OAAA,CAAQ,GAAA;EAzBE;;;;;;;;;EAwCP,MAAA,CACJ,QAAA,UACA,KAAA,UACA,IAAA,YACA,MAAA,GAAQ,YAAA,EACR,OAAA;IAAW,MAAA,GAAS,WAAA;EAAA,IACnB,OAAA;EA2CkD;;;;;;EA7B/C,UAAA,CAAW,OAAA;IACf,QAAA;IACA,MAAA;IACA,MAAA;IACA,MAAA,GAAS,YAAA;IACT,MAAA,GAAS,WAAA;EAAA,IACP,OAAA;EArVc;;;;;;;EAyWZ,IAAA,CACJ,QAAA,UACA,KAAA,UACA,OAAA;IAAY,kBAAA;IAA8B,MAAA,GAAS,WAAA;EAAA,IAClD,OAAA,CAAQ,UAAA;EA3WwB;;;;;;;;EA2X5B,UAAA,CACL,QAAA,6BACA,KAAA,UACA,OAAA;IAEM,MAAA,GAAS,WAAA;IACT,kBAAA;IACA,WAAA;IACA,UAAA,GAAa,UAAA,GAAa,UAAA;IAvXhC;;;;;;;;;;;;;IAqYM,mBAAA,GAAsB,iBAAA;EAAA,IAExB,WAAA,GAEH,cAAA;IAAiB,EAAA;IAAa,KAAA,EAAO,WAAA;IAAa,IAAA;EAAA;EAzXnD;;;;;;;EA2ZI,MAAA,CACJ,QAAA,UACA,KAAA,UACA,OAAA;IAAY,MAAA,GAAS,WAAA;EAAA,IACpB,OAAA;AAAA"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/client/runs/index.ts"],"mappings":";;;;;;;cAuBa,UAAA,cACE,aAAA,gBACC,UAAA,sCAEN,UAAA;EACR,MAAA,qBACsB,UAAA,GAAa,UAAA,KAAe,UAAA,qCAAA,CAGhD,QAAA,QACA,WAAA,UACA,OAAA,GAAU,IAAA,CACR,iBAAA,CAAkB,WAAA,EAAa,UAAA,2CAGhC,mBAAA,CACD,WAAA,EACA,UAAA,EACA,UAAA,EACA,WAAA,EACA,gBAAA;EAGF,MAAA,qBACsB,UAAA,GAAa,UAAA,KAAe,UAAA,qCAAA,CAGhD,QAAA,UACA,WAAA,UACA,OAAA,GAAU,iBAAA,CAAkB,WAAA,EAAa,UAAA,IACxC,mBAAA,CACD,WAAA,EACA,UAAA,EACA,UAAA,EACA,WAAA,EACA,gBAAA;EAnCmB;;;;;;;;EAkHf,MAAA,CACJ,QAAA,iBACA,WAAA,UACA,OAAA,GAAU,iBAAA,GACT,OAAA,CAAQ,GAAA;EA1GP;;;;;;EAgKE,WAAA,CACJ,QAAA,GAAW,IAAA,CAAK,iBAAA;IAAiC,WAAA;EAAA,MACjD,OAAA;IAAY,MAAA,GAAS,WAAA;EAAA,IACpB,OAAA,CAAQ,GAAA;EAgBL,IAAA,CACJ,QAAA,QACA,WAAA,UACA,OAAA,GAAU,IAAA,CAAK,eAAA,0CACd,OAAA,CAAQ,WAAA;EAEL,IAAA,CACJ,QAAA,UACA,WAAA,UACA,OAAA,GAAU,eAAA,GACT,OAAA,CAAQ,WAAA;EA5KC;;;;;;;EA0PN,IAAA,CACJ,QAAA,UACA,OAAA;IACE,KAAA;IACA,MAAA;IACA,MAAA,GAAS,SAAA;IACT,MAAA,GAAS,cAAA;IACT,MAAA,GAAS,WAAA;EAAA,IAEV,OAAA,CAAQ,GAAA;EAjHR;;;;;;;EAoIG,GAAA,CACJ,QAAA,UACA,KAAA,UACA,OAAA;IAAY,MAAA,GAAS,WAAA;EAAA,IACpB,OAAA,CAAQ,GAAA;EAzBE;;;;;;;;;EA2CP,MAAA,CACJ,QAAA,UACA,KAAA,UACA,IAAA,YACA,MAAA,GAAQ,YAAA,EACR,OAAA;IAAW,MAAA,GAAS,WAAA;EAAA,IACnB,OAAA;EA8CkD;;;;;;EA7B/C,UAAA,CAAW,OAAA;IACf,QAAA;IACA,MAAA;IACA,MAAA;IACA,MAAA,GAAS,YAAA;IACT,MAAA,GAAS,WAAA;EAAA,IACP,OAAA;EAlWc;;;;;;;EAsXZ,IAAA,CACJ,QAAA,UACA,KAAA,UACA,OAAA;IAAY,kBAAA;IAA8B,MAAA,GAAS,WAAA;EAAA,IAClD,OAAA,CAAQ,UAAA;EAxXwB;;;;;;;;EA6Y5B,UAAA,CACL,QAAA,6BACA,KAAA,UACA,OAAA;IAEM,MAAA,GAAS,WAAA;IACT,kBAAA;IACA,WAAA;IACA,UAAA,GAAa,UAAA,GAAa,UAAA;IAzYhC;;;;;;;;;;;;;IAuZM,mBAAA,GAAsB,iBAAA;EAAA,IAExB,WAAA,GAEH,cAAA;IAAiB,EAAA;IAAa,KAAA,EAAO,WAAA;IAAa,IAAA;EAAA;EA3YnD;;;;;;;EA6aI,MAAA,CACJ,QAAA,UACA,KAAA,UACA,OAAA;IAAY,MAAA,GAAS,WAAA;EAAA,IACpB,OAAA;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/client/runs/index.ts"],"mappings":";;;;;;;cAmBa,UAAA,cACE,aAAA,gBACC,UAAA,sCAEN,UAAA;EACR,MAAA,qBACsB,UAAA,GAAa,UAAA,KAAe,UAAA,qCAAA,CAGhD,QAAA,QACA,WAAA,UACA,OAAA,GAAU,IAAA,CACR,iBAAA,CAAkB,WAAA,EAAa,UAAA,2CAGhC,mBAAA,CACD,WAAA,EACA,UAAA,EACA,UAAA,EACA,WAAA,EACA,gBAAA;EAGF,MAAA,qBACsB,UAAA,GAAa,UAAA,KAAe,UAAA,qCAAA,CAGhD,QAAA,UACA,WAAA,UACA,OAAA,GAAU,iBAAA,CAAkB,WAAA,EAAa,UAAA,IACxC,mBAAA,CACD,WAAA,EACA,UAAA,EACA,UAAA,EACA,WAAA,EACA,gBAAA;EAnCmB;;;;;;;;EAgHf,MAAA,CACJ,QAAA,iBACA,WAAA,UACA,OAAA,GAAU,iBAAA,GACT,OAAA,CAAQ,GAAA;EAxGP;;;;;;EA2JE,WAAA,CACJ,QAAA,GAAW,IAAA,CAAK,iBAAA;IAAiC,WAAA;EAAA,MACjD,OAAA;IAAY,MAAA,GAAS,WAAA;EAAA,IACpB,OAAA,CAAQ,GAAA;EAgBL,IAAA,CACJ,QAAA,QACA,WAAA,UACA,OAAA,GAAU,IAAA,CAAK,eAAA,0CACd,OAAA,CAAQ,WAAA;EAEL,IAAA,CACJ,QAAA,UACA,WAAA,UACA,OAAA,GAAU,eAAA,GACT,OAAA,CAAQ,WAAA;EAvKC;;;;;;;EAmPN,IAAA,CACJ,QAAA,UACA,OAAA;IACE,KAAA;IACA,MAAA;IACA,MAAA,GAAS,SAAA;IACT,MAAA,GAAS,cAAA;IACT,MAAA,GAAS,WAAA;EAAA,IAEV,OAAA,CAAQ,GAAA;EA/GR;;;;;;;EAkIG,GAAA,CACJ,QAAA,UACA,KAAA,UACA,OAAA;IAAY,MAAA,GAAS,WAAA;EAAA,IACpB,OAAA,CAAQ,GAAA;EAzBE;;;;;;;;;EAwCP,MAAA,CACJ,QAAA,UACA,KAAA,UACA,IAAA,YACA,MAAA,GAAQ,YAAA,EACR,OAAA;IAAW,MAAA,GAAS,WAAA;EAAA,IACnB,OAAA;EA2CkD;;;;;;EA7B/C,UAAA,CAAW,OAAA;IACf,QAAA;IACA,MAAA;IACA,MAAA;IACA,MAAA,GAAS,YAAA;IACT,MAAA,GAAS,WAAA;EAAA,IACP,OAAA;EArVc;;;;;;;EAyWZ,IAAA,CACJ,QAAA,UACA,KAAA,UACA,OAAA;IAAY,kBAAA;IAA8B,MAAA,GAAS,WAAA;EAAA,IAClD,OAAA,CAAQ,UAAA;EA3WwB;;;;;;;;EA2X5B,UAAA,CACL,QAAA,6BACA,KAAA,UACA,OAAA;IAEM,MAAA,GAAS,WAAA;IACT,kBAAA;IACA,WAAA;IACA,UAAA,GAAa,UAAA,GAAa,UAAA;IAvXhC;;;;;;;;;;;;;IAqYM,mBAAA,GAAsB,iBAAA;EAAA,IAExB,WAAA,GAEH,cAAA;IAAiB,EAAA;IAAa,KAAA,EAAO,WAAA;IAAa,IAAA;EAAA;EAzXnD;;;;;;;EA2ZI,MAAA,CACJ,QAAA,UACA,KAAA,UACA,OAAA;IAAY,MAAA,GAAS,WAAA;EAAA,IACpB,OAAA;AAAA"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/client/runs/index.ts"],"mappings":";;;;;;;cAuBa,UAAA,cACE,aAAA,gBACC,UAAA,sCAEN,UAAA;EACR,MAAA,qBACsB,UAAA,GAAa,UAAA,KAAe,UAAA,qCAAA,CAGhD,QAAA,QACA,WAAA,UACA,OAAA,GAAU,IAAA,CACR,iBAAA,CAAkB,WAAA,EAAa,UAAA,2CAGhC,mBAAA,CACD,WAAA,EACA,UAAA,EACA,UAAA,EACA,WAAA,EACA,gBAAA;EAGF,MAAA,qBACsB,UAAA,GAAa,UAAA,KAAe,UAAA,qCAAA,CAGhD,QAAA,UACA,WAAA,UACA,OAAA,GAAU,iBAAA,CAAkB,WAAA,EAAa,UAAA,IACxC,mBAAA,CACD,WAAA,EACA,UAAA,EACA,UAAA,EACA,WAAA,EACA,gBAAA;EAnCmB;;;;;;;;EAkHf,MAAA,CACJ,QAAA,iBACA,WAAA,UACA,OAAA,GAAU,iBAAA,GACT,OAAA,CAAQ,GAAA;EA1GP;;;;;;EAgKE,WAAA,CACJ,QAAA,GAAW,IAAA,CAAK,iBAAA;IAAiC,WAAA;EAAA,MACjD,OAAA;IAAY,MAAA,GAAS,WAAA;EAAA,IACpB,OAAA,CAAQ,GAAA;EAgBL,IAAA,CACJ,QAAA,QACA,WAAA,UACA,OAAA,GAAU,IAAA,CAAK,eAAA,0CACd,OAAA,CAAQ,WAAA;EAEL,IAAA,CACJ,QAAA,UACA,WAAA,UACA,OAAA,GAAU,eAAA,GACT,OAAA,CAAQ,WAAA;EA5KC;;;;;;;EA0PN,IAAA,CACJ,QAAA,UACA,OAAA;IACE,KAAA;IACA,MAAA;IACA,MAAA,GAAS,SAAA;IACT,MAAA,GAAS,cAAA;IACT,MAAA,GAAS,WAAA;EAAA,IAEV,OAAA,CAAQ,GAAA;EAjHR;;;;;;;EAoIG,GAAA,CACJ,QAAA,UACA,KAAA,UACA,OAAA;IAAY,MAAA,GAAS,WAAA;EAAA,IACpB,OAAA,CAAQ,GAAA;EAzBE;;;;;;;;;EA2CP,MAAA,CACJ,QAAA,UACA,KAAA,UACA,IAAA,YACA,MAAA,GAAQ,YAAA,EACR,OAAA;IAAW,MAAA,GAAS,WAAA;EAAA,IACnB,OAAA;EA8CkD;;;;;;EA7B/C,UAAA,CAAW,OAAA;IACf,QAAA;IACA,MAAA;IACA,MAAA;IACA,MAAA,GAAS,YAAA;IACT,MAAA,GAAS,WAAA;EAAA,IACP,OAAA;EAlWc;;;;;;;EAsXZ,IAAA,CACJ,QAAA,UACA,KAAA,UACA,OAAA;IAAY,kBAAA;IAA8B,MAAA,GAAS,WAAA;EAAA,IAClD,OAAA,CAAQ,UAAA;EAxXwB;;;;;;;;EA6Y5B,UAAA,CACL,QAAA,6BACA,KAAA,UACA,OAAA;IAEM,MAAA,GAAS,WAAA;IACT,kBAAA;IACA,WAAA;IACA,UAAA,GAAa,UAAA,GAAa,UAAA;IAzYhC;;;;;;;;;;;;;IAuZM,mBAAA,GAAsB,iBAAA;EAAA,IAExB,WAAA,GAEH,cAAA;IAAiB,EAAA;IAAa,KAAA,EAAO,WAAA;IAAa,IAAA;EAAA;EA3YnD;;;;;;;EA6aI,MAAA,CACJ,QAAA,UACA,KAAA,UACA,OAAA;IAAY,MAAA,GAAS,WAAA;EAAA,IACpB,OAAA;AAAA"}
@@ -1,4 +1,4 @@
1
- import { BaseClient, getRunMetadataFromResponse } from "../base.js";
1
+ import { BaseClient, encodePathSegment, getRunMetadataFromResponse } from "../base.js";
2
2
  //#region src/client/runs/index.ts
3
3
  var RunsClient = class extends BaseClient {
4
4
  /**
@@ -34,7 +34,7 @@ var RunsClient = class extends BaseClient {
34
34
  durability: payload?.durability
35
35
  };
36
36
  yield* this.streamWithRetry({
37
- endpoint: threadId == null ? `/runs/stream` : `/threads/${threadId}/runs/stream`,
37
+ endpoint: threadId == null ? `/runs/stream` : `/threads/${encodePathSegment(threadId)}/runs/stream`,
38
38
  method: "POST",
39
39
  json,
40
40
  signal: payload?.signal,
@@ -81,7 +81,7 @@ var RunsClient = class extends BaseClient {
81
81
  example_id: payload?._langsmithTracer?.exampleId
82
82
  } : void 0
83
83
  };
84
- const endpoint = threadId === null ? "/runs" : `/threads/${threadId}/runs`;
84
+ const endpoint = threadId === null ? "/runs" : `/threads/${encodePathSegment(threadId)}/runs`;
85
85
  const [run, response] = await this.fetch(endpoint, {
86
86
  method: "POST",
87
87
  json,
@@ -144,7 +144,7 @@ var RunsClient = class extends BaseClient {
144
144
  example_id: payload?._langsmithTracer?.exampleId
145
145
  } : void 0
146
146
  };
147
- const endpoint = threadId == null ? `/runs/wait` : `/threads/${threadId}/runs/wait`;
147
+ const endpoint = threadId == null ? `/runs/wait` : `/threads/${encodePathSegment(threadId)}/runs/wait`;
148
148
  const [run, response] = await this.fetch(endpoint, {
149
149
  method: "POST",
150
150
  json,
@@ -165,7 +165,7 @@ var RunsClient = class extends BaseClient {
165
165
  * @returns List of runs.
166
166
  */
167
167
  async list(threadId, options) {
168
- return this.fetch(`/threads/${threadId}/runs`, {
168
+ return this.fetch(`/threads/${encodePathSegment(threadId)}/runs`, {
169
169
  params: {
170
170
  limit: options?.limit ?? 10,
171
171
  offset: options?.offset ?? 0,
@@ -183,7 +183,7 @@ var RunsClient = class extends BaseClient {
183
183
  * @returns The run.
184
184
  */
185
185
  async get(threadId, runId, options) {
186
- return this.fetch(`/threads/${threadId}/runs/${runId}`, { signal: options?.signal });
186
+ return this.fetch(`/threads/${encodePathSegment(threadId)}/runs/${encodePathSegment(runId)}`, { signal: options?.signal });
187
187
  }
188
188
  /**
189
189
  * Cancel a run.
@@ -195,7 +195,7 @@ var RunsClient = class extends BaseClient {
195
195
  * @returns
196
196
  */
197
197
  async cancel(threadId, runId, wait = false, action = "interrupt", options = {}) {
198
- return this.fetch(`/threads/${threadId}/runs/${runId}/cancel`, {
198
+ return this.fetch(`/threads/${encodePathSegment(threadId)}/runs/${encodePathSegment(runId)}/cancel`, {
199
199
  method: "POST",
200
200
  params: {
201
201
  wait: wait ? "1" : "0",
@@ -230,7 +230,7 @@ var RunsClient = class extends BaseClient {
230
230
  * @returns
231
231
  */
232
232
  async join(threadId, runId, options) {
233
- return this.fetch(`/threads/${threadId}/runs/${runId}/join`, {
233
+ return this.fetch(`/threads/${encodePathSegment(threadId)}/runs/${encodePathSegment(runId)}/join`, {
234
234
  timeoutMs: null,
235
235
  params: { cancel_on_disconnect: options?.cancelOnDisconnect ? "1" : "0" },
236
236
  signal: options?.signal
@@ -247,7 +247,7 @@ var RunsClient = class extends BaseClient {
247
247
  async *joinStream(threadId, runId, options) {
248
248
  const opts = typeof options === "object" && options != null && options instanceof AbortSignal ? { signal: options } : options;
249
249
  yield* this.streamWithRetry({
250
- endpoint: threadId != null ? `/threads/${threadId}/runs/${runId}/stream` : `/runs/${runId}/stream`,
250
+ endpoint: threadId != null ? `/threads/${encodePathSegment(threadId)}/runs/${encodePathSegment(runId)}/stream` : `/runs/${encodePathSegment(runId)}/stream`,
251
251
  method: "GET",
252
252
  signal: opts?.signal,
253
253
  idleReconnect: opts?.streamIdleReconnect,
@@ -266,7 +266,7 @@ var RunsClient = class extends BaseClient {
266
266
  * @returns
267
267
  */
268
268
  async delete(threadId, runId, options) {
269
- return this.fetch(`/threads/${threadId}/runs/${runId}`, {
269
+ return this.fetch(`/threads/${encodePathSegment(threadId)}/runs/${encodePathSegment(runId)}`, {
270
270
  method: "DELETE",
271
271
  signal: options?.signal
272
272
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/client/runs/index.ts"],"sourcesContent":["import {\n CancelAction,\n DefaultValues,\n Run,\n RunSelectField,\n RunStatus,\n ThreadState,\n} from \"../../schema.js\";\nimport type {\n RunsCreatePayload,\n RunsStreamPayload,\n RunsWaitPayload,\n StreamEvent,\n} from \"../../types.js\";\nimport type { StreamMode, TypedAsyncGenerator } from \"../../types.stream.js\";\nimport type { IdleReconnectMode } from \"../../utils/stream.js\";\n\nimport { BaseClient, getRunMetadataFromResponse } from \"../base.js\";\n\nexport class RunsClient<\n TStateType = DefaultValues,\n TUpdateType = TStateType,\n TCustomEventType = unknown,\n> extends BaseClient {\n stream<\n TStreamMode extends StreamMode | StreamMode[] = StreamMode,\n TSubgraphs extends boolean = false,\n >(\n threadId: null,\n assistantId: string,\n payload?: Omit<\n RunsStreamPayload<TStreamMode, TSubgraphs>,\n \"multitaskStrategy\" | \"onCompletion\"\n >\n ): TypedAsyncGenerator<\n TStreamMode,\n TSubgraphs,\n TStateType,\n TUpdateType,\n TCustomEventType\n >;\n\n stream<\n TStreamMode extends StreamMode | StreamMode[] = StreamMode,\n TSubgraphs extends boolean = false,\n >(\n threadId: string,\n assistantId: string,\n payload?: RunsStreamPayload<TStreamMode, TSubgraphs>\n ): TypedAsyncGenerator<\n TStreamMode,\n TSubgraphs,\n TStateType,\n TUpdateType,\n TCustomEventType\n >;\n\n /**\n * Create a run and stream the results.\n *\n * @param threadId The ID of the thread.\n * @param assistantId Assistant ID to use for this run.\n * @param payload Payload for creating a run.\n */\n async *stream<\n TStreamMode extends StreamMode | StreamMode[] = StreamMode,\n TSubgraphs extends boolean = false,\n >(\n threadId: string | null,\n assistantId: string,\n payload?: RunsStreamPayload<TStreamMode, TSubgraphs>\n ): TypedAsyncGenerator<\n TStreamMode,\n TSubgraphs,\n TStateType,\n TUpdateType,\n TCustomEventType\n > {\n const json: Record<string, unknown> = {\n input: payload?.input,\n command: payload?.command,\n config: payload?.config,\n context: payload?.context,\n metadata: payload?.metadata,\n stream_mode: payload?.streamMode,\n stream_subgraphs: payload?.streamSubgraphs,\n stream_resumable: payload?.streamResumable,\n feedback_keys: payload?.feedbackKeys,\n assistant_id: assistantId,\n interrupt_before: payload?.interruptBefore,\n interrupt_after: payload?.interruptAfter,\n checkpoint: payload?.checkpoint,\n checkpoint_id: payload?.checkpointId,\n webhook: payload?.webhook,\n multitask_strategy: payload?.multitaskStrategy,\n on_completion: payload?.onCompletion,\n on_disconnect: payload?.onDisconnect,\n after_seconds: payload?.afterSeconds,\n if_not_exists: payload?.ifNotExists,\n checkpoint_during: payload?.checkpointDuring,\n durability: payload?.durability,\n };\n\n yield* this.streamWithRetry({\n endpoint:\n threadId == null ? `/runs/stream` : `/threads/${threadId}/runs/stream`,\n method: \"POST\",\n json,\n signal: payload?.signal,\n idleReconnect: payload?.streamIdleReconnect,\n onInitialResponse: (response) => {\n const runMetadata = getRunMetadataFromResponse(response);\n if (runMetadata) payload?.onRunCreated?.(runMetadata);\n },\n }) as TypedAsyncGenerator<\n TStreamMode,\n TSubgraphs,\n TStateType,\n TUpdateType,\n TCustomEventType\n >;\n }\n\n /**\n * Create a run.\n *\n * @param threadId The ID of the thread.\n * @param assistantId Assistant ID to use for this run.\n * @param payload Payload for creating a run.\n * @returns The created run.\n */\n async create(\n threadId: string | null,\n assistantId: string,\n payload?: RunsCreatePayload\n ): Promise<Run> {\n const json: Record<string, unknown> = {\n input: payload?.input,\n command: payload?.command,\n config: payload?.config,\n context: payload?.context,\n metadata: payload?.metadata,\n stream_mode: payload?.streamMode,\n stream_subgraphs: payload?.streamSubgraphs,\n stream_resumable: payload?.streamResumable,\n feedback_keys: payload?.feedbackKeys,\n assistant_id: assistantId,\n interrupt_before: payload?.interruptBefore,\n interrupt_after: payload?.interruptAfter,\n webhook: payload?.webhook,\n checkpoint: payload?.checkpoint,\n checkpoint_id: payload?.checkpointId,\n multitask_strategy: payload?.multitaskStrategy,\n after_seconds: payload?.afterSeconds,\n if_not_exists: payload?.ifNotExists,\n checkpoint_during: payload?.checkpointDuring,\n durability: payload?.durability,\n on_completion: payload?.onCompletion,\n langsmith_tracer: payload?._langsmithTracer\n ? {\n project_name: payload?._langsmithTracer?.projectName,\n example_id: payload?._langsmithTracer?.exampleId,\n }\n : undefined,\n };\n\n const endpoint = threadId === null ? \"/runs\" : `/threads/${threadId}/runs`;\n const [run, response] = await this.fetch<Run>(endpoint, {\n method: \"POST\",\n json,\n signal: payload?.signal,\n withResponse: true,\n });\n\n const runMetadata = getRunMetadataFromResponse(response);\n if (runMetadata) payload?.onRunCreated?.(runMetadata);\n\n return run;\n }\n\n /**\n * Create a batch of stateless background runs.\n *\n * @param payloads An array of payloads for creating runs.\n * @returns An array of created runs.\n */\n async createBatch(\n payloads: (Omit<RunsCreatePayload, \"signal\"> & { assistantId: string })[],\n options?: { signal?: AbortSignal }\n ): Promise<Run[]> {\n const filteredPayloads = payloads\n .map((payload) => ({ ...payload, assistant_id: payload.assistantId }))\n .map((payload) => {\n return Object.fromEntries(\n Object.entries(payload).filter(([_, v]) => v !== undefined)\n );\n });\n\n return this.fetch<Run[]>(\"/runs/batch\", {\n method: \"POST\",\n json: filteredPayloads,\n signal: options?.signal,\n });\n }\n\n async wait(\n threadId: null,\n assistantId: string,\n payload?: Omit<RunsWaitPayload, \"multitaskStrategy\" | \"onCompletion\">\n ): Promise<ThreadState[\"values\"]>;\n\n async wait(\n threadId: string,\n assistantId: string,\n payload?: RunsWaitPayload\n ): Promise<ThreadState[\"values\"]>;\n\n /**\n * Create a run and wait for it to complete.\n *\n * @param threadId The ID of the thread.\n * @param assistantId Assistant ID to use for this run.\n * @param payload Payload for creating a run.\n * @returns The last values chunk of the thread.\n */\n async wait(\n threadId: string | null,\n assistantId: string,\n payload?: RunsWaitPayload\n ): Promise<ThreadState[\"values\"]> {\n const json: Record<string, unknown> = {\n input: payload?.input,\n command: payload?.command,\n config: payload?.config,\n context: payload?.context,\n metadata: payload?.metadata,\n assistant_id: assistantId,\n interrupt_before: payload?.interruptBefore,\n interrupt_after: payload?.interruptAfter,\n checkpoint: payload?.checkpoint,\n checkpoint_id: payload?.checkpointId,\n webhook: payload?.webhook,\n multitask_strategy: payload?.multitaskStrategy,\n on_completion: payload?.onCompletion,\n on_disconnect: payload?.onDisconnect,\n after_seconds: payload?.afterSeconds,\n if_not_exists: payload?.ifNotExists,\n checkpoint_during: payload?.checkpointDuring,\n durability: payload?.durability,\n langsmith_tracer: payload?._langsmithTracer\n ? {\n project_name: payload?._langsmithTracer?.projectName,\n example_id: payload?._langsmithTracer?.exampleId,\n }\n : undefined,\n };\n const endpoint =\n threadId == null ? `/runs/wait` : `/threads/${threadId}/runs/wait`;\n const [run, response] = await this.fetch<ThreadState[\"values\"]>(endpoint, {\n method: \"POST\",\n json,\n timeoutMs: null,\n signal: payload?.signal,\n withResponse: true,\n });\n\n const runMetadata = getRunMetadataFromResponse(response);\n if (runMetadata) payload?.onRunCreated?.(runMetadata);\n\n const raiseError =\n payload?.raiseError !== undefined ? payload.raiseError : true;\n if (\n raiseError &&\n \"__error__\" in run &&\n typeof run.__error__ === \"object\" &&\n run.__error__ &&\n \"error\" in run.__error__ &&\n \"message\" in run.__error__\n ) {\n throw new Error(`${run.__error__?.error}: ${run.__error__?.message}`);\n }\n return run;\n }\n\n /**\n * List all runs for a thread.\n *\n * @param threadId The ID of the thread.\n * @param options Filtering and pagination options.\n * @returns List of runs.\n */\n async list(\n threadId: string,\n options?: {\n limit?: number;\n offset?: number;\n status?: RunStatus;\n select?: RunSelectField[];\n signal?: AbortSignal;\n }\n ): Promise<Run[]> {\n return this.fetch<Run[]>(`/threads/${threadId}/runs`, {\n params: {\n limit: options?.limit ?? 10,\n offset: options?.offset ?? 0,\n status: options?.status ?? undefined,\n select: options?.select ?? undefined,\n },\n signal: options?.signal,\n });\n }\n\n /**\n * Get a run by ID.\n *\n * @param threadId The ID of the thread.\n * @param runId The ID of the run.\n * @returns The run.\n */\n async get(\n threadId: string,\n runId: string,\n options?: { signal?: AbortSignal }\n ): Promise<Run> {\n return this.fetch<Run>(`/threads/${threadId}/runs/${runId}`, {\n signal: options?.signal,\n });\n }\n\n /**\n * Cancel a run.\n *\n * @param threadId The ID of the thread.\n * @param runId The ID of the run.\n * @param wait Whether to block when canceling\n * @param action Action to take when cancelling the run. Possible values are `interrupt` or `rollback`. Default is `interrupt`.\n * @returns\n */\n async cancel(\n threadId: string,\n runId: string,\n wait: boolean = false,\n action: CancelAction = \"interrupt\",\n options: { signal?: AbortSignal } = {}\n ): Promise<void> {\n return this.fetch<void>(`/threads/${threadId}/runs/${runId}/cancel`, {\n method: \"POST\",\n params: { wait: wait ? \"1\" : \"0\", action },\n signal: options?.signal,\n });\n }\n\n /**\n * Cancel one or more runs.\n *\n * @param options Options for cancelling runs.\n * @returns\n */\n async cancelMany(options: {\n threadId?: string;\n runIds?: string[];\n status?: \"pending\" | \"running\" | \"all\";\n action?: CancelAction;\n signal?: AbortSignal;\n }): Promise<void> {\n return this.fetch<void>(`/runs/cancel`, {\n method: \"POST\",\n json: {\n thread_id: options.threadId,\n run_ids: options.runIds,\n status: options.status,\n },\n params: { action: options.action },\n signal: options.signal,\n });\n }\n\n /**\n * Block until a run is done.\n *\n * @param threadId The ID of the thread.\n * @param runId The ID of the run.\n * @returns\n */\n async join(\n threadId: string,\n runId: string,\n options?: { cancelOnDisconnect?: boolean; signal?: AbortSignal }\n ): Promise<TStateType> {\n return this.fetch<TStateType>(`/threads/${threadId}/runs/${runId}/join`, {\n timeoutMs: null,\n params: { cancel_on_disconnect: options?.cancelOnDisconnect ? \"1\" : \"0\" },\n signal: options?.signal,\n });\n }\n\n /**\n * Stream output from a run in real-time, until the run is done.\n *\n * @param threadId The ID of the thread.\n * @param runId The ID of the run.\n * @param options Additional options for controlling the stream behavior.\n * @returns An async generator yielding stream parts.\n */\n async *joinStream(\n threadId: string | undefined | null,\n runId: string,\n options?:\n | {\n signal?: AbortSignal;\n cancelOnDisconnect?: boolean;\n lastEventId?: string;\n streamMode?: StreamMode | StreamMode[];\n /**\n * Idle-reconnect policy.\n *\n * Guards against half-open sockets that hang with no\n * error or close; on idle the read re-joins with the last seen\n * `Last-Event-ID`.\n *\n * - `\"auto\"` (default): arms only once the\n * server's keep-alive heartbeats are observed and sizes the window\n * from their cadence;\n * - a `number`: a fixed idle window in ms;\n * - `0`: disables it.\n */\n streamIdleReconnect?: IdleReconnectMode;\n }\n | AbortSignal\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): AsyncGenerator<{ id?: string; event: StreamEvent; data: any }> {\n const opts =\n typeof options === \"object\" &&\n options != null &&\n // eslint-disable-next-line no-instanceof/no-instanceof\n options instanceof AbortSignal\n ? { signal: options }\n : options;\n\n yield* this.streamWithRetry({\n endpoint:\n threadId != null\n ? `/threads/${threadId}/runs/${runId}/stream`\n : `/runs/${runId}/stream`,\n method: \"GET\",\n signal: opts?.signal,\n idleReconnect: opts?.streamIdleReconnect,\n headers: opts?.lastEventId\n ? { \"Last-Event-ID\": opts.lastEventId }\n : undefined,\n params: {\n cancel_on_disconnect: opts?.cancelOnDisconnect ? \"1\" : \"0\",\n stream_mode: opts?.streamMode,\n },\n });\n }\n\n /**\n * Delete a run.\n *\n * @param threadId The ID of the thread.\n * @param runId The ID of the run.\n * @returns\n */\n async delete(\n threadId: string,\n runId: string,\n options?: { signal?: AbortSignal }\n ): Promise<void> {\n return this.fetch<void>(`/threads/${threadId}/runs/${runId}`, {\n method: \"DELETE\",\n signal: options?.signal,\n });\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/client/runs/index.ts"],"sourcesContent":["import {\n CancelAction,\n DefaultValues,\n Run,\n RunSelectField,\n RunStatus,\n ThreadState,\n} from \"../../schema.js\";\nimport type {\n RunsCreatePayload,\n RunsStreamPayload,\n RunsWaitPayload,\n StreamEvent,\n} from \"../../types.js\";\nimport type { StreamMode, TypedAsyncGenerator } from \"../../types.stream.js\";\nimport type { IdleReconnectMode } from \"../../utils/stream.js\";\n\nimport {\n BaseClient,\n getRunMetadataFromResponse,\n encodePathSegment,\n} from \"../base.js\";\n\nexport class RunsClient<\n TStateType = DefaultValues,\n TUpdateType = TStateType,\n TCustomEventType = unknown,\n> extends BaseClient {\n stream<\n TStreamMode extends StreamMode | StreamMode[] = StreamMode,\n TSubgraphs extends boolean = false,\n >(\n threadId: null,\n assistantId: string,\n payload?: Omit<\n RunsStreamPayload<TStreamMode, TSubgraphs>,\n \"multitaskStrategy\" | \"onCompletion\"\n >\n ): TypedAsyncGenerator<\n TStreamMode,\n TSubgraphs,\n TStateType,\n TUpdateType,\n TCustomEventType\n >;\n\n stream<\n TStreamMode extends StreamMode | StreamMode[] = StreamMode,\n TSubgraphs extends boolean = false,\n >(\n threadId: string,\n assistantId: string,\n payload?: RunsStreamPayload<TStreamMode, TSubgraphs>\n ): TypedAsyncGenerator<\n TStreamMode,\n TSubgraphs,\n TStateType,\n TUpdateType,\n TCustomEventType\n >;\n\n /**\n * Create a run and stream the results.\n *\n * @param threadId The ID of the thread.\n * @param assistantId Assistant ID to use for this run.\n * @param payload Payload for creating a run.\n */\n async *stream<\n TStreamMode extends StreamMode | StreamMode[] = StreamMode,\n TSubgraphs extends boolean = false,\n >(\n threadId: string | null,\n assistantId: string,\n payload?: RunsStreamPayload<TStreamMode, TSubgraphs>\n ): TypedAsyncGenerator<\n TStreamMode,\n TSubgraphs,\n TStateType,\n TUpdateType,\n TCustomEventType\n > {\n const json: Record<string, unknown> = {\n input: payload?.input,\n command: payload?.command,\n config: payload?.config,\n context: payload?.context,\n metadata: payload?.metadata,\n stream_mode: payload?.streamMode,\n stream_subgraphs: payload?.streamSubgraphs,\n stream_resumable: payload?.streamResumable,\n feedback_keys: payload?.feedbackKeys,\n assistant_id: assistantId,\n interrupt_before: payload?.interruptBefore,\n interrupt_after: payload?.interruptAfter,\n checkpoint: payload?.checkpoint,\n checkpoint_id: payload?.checkpointId,\n webhook: payload?.webhook,\n multitask_strategy: payload?.multitaskStrategy,\n on_completion: payload?.onCompletion,\n on_disconnect: payload?.onDisconnect,\n after_seconds: payload?.afterSeconds,\n if_not_exists: payload?.ifNotExists,\n checkpoint_during: payload?.checkpointDuring,\n durability: payload?.durability,\n };\n\n yield* this.streamWithRetry({\n endpoint:\n threadId == null\n ? `/runs/stream`\n : `/threads/${encodePathSegment(threadId)}/runs/stream`,\n method: \"POST\",\n json,\n signal: payload?.signal,\n idleReconnect: payload?.streamIdleReconnect,\n onInitialResponse: (response) => {\n const runMetadata = getRunMetadataFromResponse(response);\n if (runMetadata) payload?.onRunCreated?.(runMetadata);\n },\n }) as TypedAsyncGenerator<\n TStreamMode,\n TSubgraphs,\n TStateType,\n TUpdateType,\n TCustomEventType\n >;\n }\n\n /**\n * Create a run.\n *\n * @param threadId The ID of the thread.\n * @param assistantId Assistant ID to use for this run.\n * @param payload Payload for creating a run.\n * @returns The created run.\n */\n async create(\n threadId: string | null,\n assistantId: string,\n payload?: RunsCreatePayload\n ): Promise<Run> {\n const json: Record<string, unknown> = {\n input: payload?.input,\n command: payload?.command,\n config: payload?.config,\n context: payload?.context,\n metadata: payload?.metadata,\n stream_mode: payload?.streamMode,\n stream_subgraphs: payload?.streamSubgraphs,\n stream_resumable: payload?.streamResumable,\n feedback_keys: payload?.feedbackKeys,\n assistant_id: assistantId,\n interrupt_before: payload?.interruptBefore,\n interrupt_after: payload?.interruptAfter,\n webhook: payload?.webhook,\n checkpoint: payload?.checkpoint,\n checkpoint_id: payload?.checkpointId,\n multitask_strategy: payload?.multitaskStrategy,\n after_seconds: payload?.afterSeconds,\n if_not_exists: payload?.ifNotExists,\n checkpoint_during: payload?.checkpointDuring,\n durability: payload?.durability,\n on_completion: payload?.onCompletion,\n langsmith_tracer: payload?._langsmithTracer\n ? {\n project_name: payload?._langsmithTracer?.projectName,\n example_id: payload?._langsmithTracer?.exampleId,\n }\n : undefined,\n };\n\n const endpoint =\n threadId === null\n ? \"/runs\"\n : `/threads/${encodePathSegment(threadId)}/runs`;\n const [run, response] = await this.fetch<Run>(endpoint, {\n method: \"POST\",\n json,\n signal: payload?.signal,\n withResponse: true,\n });\n\n const runMetadata = getRunMetadataFromResponse(response);\n if (runMetadata) payload?.onRunCreated?.(runMetadata);\n\n return run;\n }\n\n /**\n * Create a batch of stateless background runs.\n *\n * @param payloads An array of payloads for creating runs.\n * @returns An array of created runs.\n */\n async createBatch(\n payloads: (Omit<RunsCreatePayload, \"signal\"> & { assistantId: string })[],\n options?: { signal?: AbortSignal }\n ): Promise<Run[]> {\n const filteredPayloads = payloads\n .map((payload) => ({ ...payload, assistant_id: payload.assistantId }))\n .map((payload) => {\n return Object.fromEntries(\n Object.entries(payload).filter(([_, v]) => v !== undefined)\n );\n });\n\n return this.fetch<Run[]>(\"/runs/batch\", {\n method: \"POST\",\n json: filteredPayloads,\n signal: options?.signal,\n });\n }\n\n async wait(\n threadId: null,\n assistantId: string,\n payload?: Omit<RunsWaitPayload, \"multitaskStrategy\" | \"onCompletion\">\n ): Promise<ThreadState[\"values\"]>;\n\n async wait(\n threadId: string,\n assistantId: string,\n payload?: RunsWaitPayload\n ): Promise<ThreadState[\"values\"]>;\n\n /**\n * Create a run and wait for it to complete.\n *\n * @param threadId The ID of the thread.\n * @param assistantId Assistant ID to use for this run.\n * @param payload Payload for creating a run.\n * @returns The last values chunk of the thread.\n */\n async wait(\n threadId: string | null,\n assistantId: string,\n payload?: RunsWaitPayload\n ): Promise<ThreadState[\"values\"]> {\n const json: Record<string, unknown> = {\n input: payload?.input,\n command: payload?.command,\n config: payload?.config,\n context: payload?.context,\n metadata: payload?.metadata,\n assistant_id: assistantId,\n interrupt_before: payload?.interruptBefore,\n interrupt_after: payload?.interruptAfter,\n checkpoint: payload?.checkpoint,\n checkpoint_id: payload?.checkpointId,\n webhook: payload?.webhook,\n multitask_strategy: payload?.multitaskStrategy,\n on_completion: payload?.onCompletion,\n on_disconnect: payload?.onDisconnect,\n after_seconds: payload?.afterSeconds,\n if_not_exists: payload?.ifNotExists,\n checkpoint_during: payload?.checkpointDuring,\n durability: payload?.durability,\n langsmith_tracer: payload?._langsmithTracer\n ? {\n project_name: payload?._langsmithTracer?.projectName,\n example_id: payload?._langsmithTracer?.exampleId,\n }\n : undefined,\n };\n const endpoint =\n threadId == null\n ? `/runs/wait`\n : `/threads/${encodePathSegment(threadId)}/runs/wait`;\n const [run, response] = await this.fetch<ThreadState[\"values\"]>(endpoint, {\n method: \"POST\",\n json,\n timeoutMs: null,\n signal: payload?.signal,\n withResponse: true,\n });\n\n const runMetadata = getRunMetadataFromResponse(response);\n if (runMetadata) payload?.onRunCreated?.(runMetadata);\n\n const raiseError =\n payload?.raiseError !== undefined ? payload.raiseError : true;\n if (\n raiseError &&\n \"__error__\" in run &&\n typeof run.__error__ === \"object\" &&\n run.__error__ &&\n \"error\" in run.__error__ &&\n \"message\" in run.__error__\n ) {\n throw new Error(`${run.__error__?.error}: ${run.__error__?.message}`);\n }\n return run;\n }\n\n /**\n * List all runs for a thread.\n *\n * @param threadId The ID of the thread.\n * @param options Filtering and pagination options.\n * @returns List of runs.\n */\n async list(\n threadId: string,\n options?: {\n limit?: number;\n offset?: number;\n status?: RunStatus;\n select?: RunSelectField[];\n signal?: AbortSignal;\n }\n ): Promise<Run[]> {\n return this.fetch<Run[]>(`/threads/${encodePathSegment(threadId)}/runs`, {\n params: {\n limit: options?.limit ?? 10,\n offset: options?.offset ?? 0,\n status: options?.status ?? undefined,\n select: options?.select ?? undefined,\n },\n signal: options?.signal,\n });\n }\n\n /**\n * Get a run by ID.\n *\n * @param threadId The ID of the thread.\n * @param runId The ID of the run.\n * @returns The run.\n */\n async get(\n threadId: string,\n runId: string,\n options?: { signal?: AbortSignal }\n ): Promise<Run> {\n return this.fetch<Run>(\n `/threads/${encodePathSegment(threadId)}/runs/${encodePathSegment(runId)}`,\n {\n signal: options?.signal,\n }\n );\n }\n\n /**\n * Cancel a run.\n *\n * @param threadId The ID of the thread.\n * @param runId The ID of the run.\n * @param wait Whether to block when canceling\n * @param action Action to take when cancelling the run. Possible values are `interrupt` or `rollback`. Default is `interrupt`.\n * @returns\n */\n async cancel(\n threadId: string,\n runId: string,\n wait: boolean = false,\n action: CancelAction = \"interrupt\",\n options: { signal?: AbortSignal } = {}\n ): Promise<void> {\n return this.fetch<void>(\n `/threads/${encodePathSegment(threadId)}/runs/${encodePathSegment(runId)}/cancel`,\n {\n method: \"POST\",\n params: { wait: wait ? \"1\" : \"0\", action },\n signal: options?.signal,\n }\n );\n }\n\n /**\n * Cancel one or more runs.\n *\n * @param options Options for cancelling runs.\n * @returns\n */\n async cancelMany(options: {\n threadId?: string;\n runIds?: string[];\n status?: \"pending\" | \"running\" | \"all\";\n action?: CancelAction;\n signal?: AbortSignal;\n }): Promise<void> {\n return this.fetch<void>(`/runs/cancel`, {\n method: \"POST\",\n json: {\n thread_id: options.threadId,\n run_ids: options.runIds,\n status: options.status,\n },\n params: { action: options.action },\n signal: options.signal,\n });\n }\n\n /**\n * Block until a run is done.\n *\n * @param threadId The ID of the thread.\n * @param runId The ID of the run.\n * @returns\n */\n async join(\n threadId: string,\n runId: string,\n options?: { cancelOnDisconnect?: boolean; signal?: AbortSignal }\n ): Promise<TStateType> {\n return this.fetch<TStateType>(\n `/threads/${encodePathSegment(threadId)}/runs/${encodePathSegment(runId)}/join`,\n {\n timeoutMs: null,\n params: {\n cancel_on_disconnect: options?.cancelOnDisconnect ? \"1\" : \"0\",\n },\n signal: options?.signal,\n }\n );\n }\n\n /**\n * Stream output from a run in real-time, until the run is done.\n *\n * @param threadId The ID of the thread.\n * @param runId The ID of the run.\n * @param options Additional options for controlling the stream behavior.\n * @returns An async generator yielding stream parts.\n */\n async *joinStream(\n threadId: string | undefined | null,\n runId: string,\n options?:\n | {\n signal?: AbortSignal;\n cancelOnDisconnect?: boolean;\n lastEventId?: string;\n streamMode?: StreamMode | StreamMode[];\n /**\n * Idle-reconnect policy.\n *\n * Guards against half-open sockets that hang with no\n * error or close; on idle the read re-joins with the last seen\n * `Last-Event-ID`.\n *\n * - `\"auto\"` (default): arms only once the\n * server's keep-alive heartbeats are observed and sizes the window\n * from their cadence;\n * - a `number`: a fixed idle window in ms;\n * - `0`: disables it.\n */\n streamIdleReconnect?: IdleReconnectMode;\n }\n | AbortSignal\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ): AsyncGenerator<{ id?: string; event: StreamEvent; data: any }> {\n const opts =\n typeof options === \"object\" &&\n options != null &&\n // eslint-disable-next-line no-instanceof/no-instanceof\n options instanceof AbortSignal\n ? { signal: options }\n : options;\n\n yield* this.streamWithRetry({\n endpoint:\n threadId != null\n ? `/threads/${encodePathSegment(threadId)}/runs/${encodePathSegment(runId)}/stream`\n : `/runs/${encodePathSegment(runId)}/stream`,\n method: \"GET\",\n signal: opts?.signal,\n idleReconnect: opts?.streamIdleReconnect,\n headers: opts?.lastEventId\n ? { \"Last-Event-ID\": opts.lastEventId }\n : undefined,\n params: {\n cancel_on_disconnect: opts?.cancelOnDisconnect ? \"1\" : \"0\",\n stream_mode: opts?.streamMode,\n },\n });\n }\n\n /**\n * Delete a run.\n *\n * @param threadId The ID of the thread.\n * @param runId The ID of the run.\n * @returns\n */\n async delete(\n threadId: string,\n runId: string,\n options?: { signal?: AbortSignal }\n ): Promise<void> {\n return this.fetch<void>(\n `/threads/${encodePathSegment(threadId)}/runs/${encodePathSegment(runId)}`,\n {\n method: \"DELETE\",\n signal: options?.signal,\n }\n );\n }\n}\n"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  const require_sse = require("../../../utils/sse.cjs");
2
2
  const require_reconnect = require("../../../utils/reconnect.cjs");
3
3
  const require_stream = require("../../../utils/stream.cjs");
4
+ const require_base = require("../../base.cjs");
4
5
  const require_queue = require("./queue.cjs");
5
6
  const require_utils = require("./utils.cjs");
6
7
  //#region src/client/stream/transport/http.ts
@@ -66,13 +67,13 @@ var ProtocolSseTransportAdapter = class {
66
67
  * `paths.*` string overrides the default and is used as-is.
67
68
  */
68
69
  get commandsUrl() {
69
- return require_utils.resolveProtocolPath(this.paths?.commands, this.threadId, (id) => `/threads/${id}/commands`);
70
+ return require_utils.resolveProtocolPath(this.paths?.commands, this.threadId, (id) => `/threads/${require_base.encodePathSegment(id)}/commands`);
70
71
  }
71
72
  get streamUrl() {
72
- return require_utils.resolveProtocolPath(this.paths?.stream, this.threadId, (id) => `/threads/${id}/stream/events`);
73
+ return require_utils.resolveProtocolPath(this.paths?.stream, this.threadId, (id) => `/threads/${require_base.encodePathSegment(id)}/stream/events`);
73
74
  }
74
75
  get stateUrl() {
75
- return require_utils.resolveProtocolPath(this.paths?.state, this.threadId, (id) => `/threads/${id}/state`);
76
+ return require_utils.resolveProtocolPath(this.paths?.state, this.threadId, (id) => `/threads/${require_base.encodePathSegment(id)}/state`);
76
77
  }
77
78
  /**
78
79
  * Fetch checkpointed thread state for hydration.