@langchain/langgraph-sdk 1.9.1 → 1.9.3-rc.0
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.
- package/dist/client/crons/index.cjs +8 -2
- package/dist/client/crons/index.cjs.map +1 -1
- package/dist/client/crons/index.d.cts +7 -1
- package/dist/client/crons/index.d.cts.map +1 -1
- package/dist/client/crons/index.d.ts +7 -1
- package/dist/client/crons/index.d.ts.map +1 -1
- package/dist/client/crons/index.js +8 -2
- package/dist/client/crons/index.js.map +1 -1
- package/dist/client/stream/index.cjs +103 -14
- package/dist/client/stream/index.cjs.map +1 -1
- package/dist/client/stream/index.d.cts +21 -1
- package/dist/client/stream/index.d.cts.map +1 -1
- package/dist/client/stream/index.d.ts +21 -1
- package/dist/client/stream/index.d.ts.map +1 -1
- package/dist/client/stream/index.js +103 -14
- package/dist/client/stream/index.js.map +1 -1
- package/dist/client/stream/messages.cjs +50 -10
- package/dist/client/stream/messages.cjs.map +1 -1
- package/dist/client/stream/messages.d.cts +4 -0
- package/dist/client/stream/messages.d.cts.map +1 -1
- package/dist/client/stream/messages.d.ts +4 -0
- package/dist/client/stream/messages.d.ts.map +1 -1
- package/dist/client/stream/messages.js +50 -10
- package/dist/client/stream/messages.js.map +1 -1
- package/dist/client/stream/transport.d.cts +12 -0
- package/dist/client/stream/transport.d.cts.map +1 -1
- package/dist/client/stream/transport.d.ts +12 -0
- package/dist/client/stream/transport.d.ts.map +1 -1
- package/dist/stream/assembled-to-message.cjs +10 -6
- package/dist/stream/assembled-to-message.cjs.map +1 -1
- package/dist/stream/assembled-to-message.d.cts.map +1 -1
- package/dist/stream/assembled-to-message.d.ts.map +1 -1
- package/dist/stream/assembled-to-message.js +10 -6
- package/dist/stream/assembled-to-message.js.map +1 -1
- package/dist/stream/controller.cjs +163 -13
- package/dist/stream/controller.cjs.map +1 -1
- package/dist/stream/controller.d.cts.map +1 -1
- package/dist/stream/controller.d.ts.map +1 -1
- package/dist/stream/controller.js +163 -13
- package/dist/stream/controller.js.map +1 -1
- package/dist/stream/discovery/subagents.cjs +31 -0
- package/dist/stream/discovery/subagents.cjs.map +1 -1
- package/dist/stream/discovery/subagents.d.cts.map +1 -1
- package/dist/stream/discovery/subagents.d.ts.map +1 -1
- package/dist/stream/discovery/subagents.js +31 -0
- package/dist/stream/discovery/subagents.js.map +1 -1
- package/dist/stream/message-reconciliation.cjs +11 -1
- package/dist/stream/message-reconciliation.cjs.map +1 -1
- package/dist/stream/message-reconciliation.js +11 -1
- package/dist/stream/message-reconciliation.js.map +1 -1
- package/dist/stream/projections/runtime.cjs +3 -2
- package/dist/stream/projections/runtime.cjs.map +1 -1
- package/dist/stream/projections/runtime.js +3 -2
- package/dist/stream/projections/runtime.js.map +1 -1
- package/dist/stream/root-message-projection.cjs +98 -53
- package/dist/stream/root-message-projection.cjs.map +1 -1
- package/dist/stream/root-message-projection.js +98 -53
- package/dist/stream/root-message-projection.js.map +1 -1
- package/dist/stream/submit-coordinator.cjs +30 -4
- package/dist/stream/submit-coordinator.cjs.map +1 -1
- package/dist/stream/submit-coordinator.js +30 -4
- package/dist/stream/submit-coordinator.js.map +1 -1
- package/dist/ui/manager.cjs +3 -2
- package/dist/ui/manager.cjs.map +1 -1
- package/dist/ui/manager.d.cts.map +1 -1
- package/dist/ui/manager.d.ts.map +1 -1
- package/dist/ui/manager.js +3 -2
- package/dist/ui/manager.js.map +1 -1
- package/package.json +3 -3
|
@@ -117,6 +117,8 @@ var CronsClient = class extends require_base.BaseClient {
|
|
|
117
117
|
/**
|
|
118
118
|
*
|
|
119
119
|
* @param query Query options.
|
|
120
|
+
* @param query.metadata Metadata to filter by. Exact match filter for each KV pair.
|
|
121
|
+
* Available in Agent Server version 0.9.0 and later.
|
|
120
122
|
* @returns List of crons.
|
|
121
123
|
*/
|
|
122
124
|
async search(query) {
|
|
@@ -130,7 +132,8 @@ var CronsClient = class extends require_base.BaseClient {
|
|
|
130
132
|
offset: query?.offset ?? 0,
|
|
131
133
|
sort_by: query?.sortBy ?? void 0,
|
|
132
134
|
sort_order: query?.sortOrder ?? void 0,
|
|
133
|
-
select: query?.select ?? void 0
|
|
135
|
+
select: query?.select ?? void 0,
|
|
136
|
+
metadata: query?.metadata ?? void 0
|
|
134
137
|
},
|
|
135
138
|
signal: query?.signal
|
|
136
139
|
});
|
|
@@ -140,6 +143,8 @@ var CronsClient = class extends require_base.BaseClient {
|
|
|
140
143
|
*
|
|
141
144
|
* @param query.assistantId Assistant ID to filter by.
|
|
142
145
|
* @param query.threadId Thread ID to filter by.
|
|
146
|
+
* @param query.metadata Metadata to filter by. Exact match filter for each KV pair.
|
|
147
|
+
* Available in Agent Server version 0.9.0 and later.
|
|
143
148
|
* @returns Number of cron jobs matching the criteria.
|
|
144
149
|
*/
|
|
145
150
|
async count(query) {
|
|
@@ -147,7 +152,8 @@ var CronsClient = class extends require_base.BaseClient {
|
|
|
147
152
|
method: "POST",
|
|
148
153
|
json: {
|
|
149
154
|
assistant_id: query?.assistantId ?? void 0,
|
|
150
|
-
thread_id: query?.threadId ?? void 0
|
|
155
|
+
thread_id: query?.threadId ?? void 0,
|
|
156
|
+
metadata: query?.metadata ?? void 0
|
|
151
157
|
},
|
|
152
158
|
signal: query?.signal
|
|
153
159
|
});
|
|
@@ -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 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\n if (payload?.schedule !== undefined) {\n json.schedule = payload.schedule;\n }\n if (payload?.timezone !== undefined) {\n json.timezone = payload.timezone;\n }\n if (payload?.endTime !== undefined) {\n json.end_time = payload.endTime;\n }\n if (payload?.input !== undefined) {\n json.input = payload.input;\n }\n if (payload?.metadata !== undefined) {\n json.metadata = payload.metadata;\n }\n if (payload?.config !== undefined) {\n json.config = payload.config;\n }\n if (payload?.context !== undefined) {\n json.context = payload.context;\n }\n if (payload?.webhook !== undefined) {\n json.webhook = payload.webhook;\n }\n if (payload?.interruptBefore !== undefined) {\n json.interrupt_before = payload.interruptBefore;\n }\n if (payload?.interruptAfter !== undefined) {\n json.interrupt_after = payload.interruptAfter;\n }\n if (payload?.onRunCompleted !== undefined) {\n json.on_run_completed = payload.onRunCompleted;\n }\n if (payload?.enabled !== undefined) {\n json.enabled = payload.enabled;\n }\n if (payload?.streamMode !== undefined) {\n json.stream_mode = payload.streamMode;\n }\n if (payload?.streamSubgraphs !== undefined) {\n json.stream_subgraphs = payload.streamSubgraphs;\n }\n if (payload?.streamResumable !== undefined) {\n json.stream_resumable = payload.streamResumable;\n }\n if (payload?.durability !== undefined) {\n json.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 * @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 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 },\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 * @returns Number of cron jobs matching the criteria.\n */\n async count(query?: {\n assistantId?: string;\n threadId?: string;\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 },\n signal: query?.signal,\n });\n }\n}\n"],"mappings":";;
|
|
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\n if (payload?.schedule !== undefined) {\n json.schedule = payload.schedule;\n }\n if (payload?.timezone !== undefined) {\n json.timezone = payload.timezone;\n }\n if (payload?.endTime !== undefined) {\n json.end_time = payload.endTime;\n }\n if (payload?.input !== undefined) {\n json.input = payload.input;\n }\n if (payload?.metadata !== undefined) {\n json.metadata = payload.metadata;\n }\n if (payload?.config !== undefined) {\n json.config = payload.config;\n }\n if (payload?.context !== undefined) {\n json.context = payload.context;\n }\n if (payload?.webhook !== undefined) {\n json.webhook = payload.webhook;\n }\n if (payload?.interruptBefore !== undefined) {\n json.interrupt_before = payload.interruptBefore;\n }\n if (payload?.interruptAfter !== undefined) {\n json.interrupt_after = payload.interruptAfter;\n }\n if (payload?.onRunCompleted !== undefined) {\n json.on_run_completed = payload.onRunCompleted;\n }\n if (payload?.enabled !== undefined) {\n json.enabled = payload.enabled;\n }\n if (payload?.streamMode !== undefined) {\n json.stream_mode = payload.streamMode;\n }\n if (payload?.streamSubgraphs !== undefined) {\n json.stream_subgraphs = payload.streamSubgraphs;\n }\n if (payload?.streamResumable !== undefined) {\n json.stream_resumable = payload.streamResumable;\n }\n if (payload?.durability !== undefined) {\n json.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,EAAE;AAExC,MAAI,SAAS,aAAa,KAAA,EACxB,MAAK,WAAW,QAAQ;AAE1B,MAAI,SAAS,aAAa,KAAA,EACxB,MAAK,WAAW,QAAQ;AAE1B,MAAI,SAAS,YAAY,KAAA,EACvB,MAAK,WAAW,QAAQ;AAE1B,MAAI,SAAS,UAAU,KAAA,EACrB,MAAK,QAAQ,QAAQ;AAEvB,MAAI,SAAS,aAAa,KAAA,EACxB,MAAK,WAAW,QAAQ;AAE1B,MAAI,SAAS,WAAW,KAAA,EACtB,MAAK,SAAS,QAAQ;AAExB,MAAI,SAAS,YAAY,KAAA,EACvB,MAAK,UAAU,QAAQ;AAEzB,MAAI,SAAS,YAAY,KAAA,EACvB,MAAK,UAAU,QAAQ;AAEzB,MAAI,SAAS,oBAAoB,KAAA,EAC/B,MAAK,mBAAmB,QAAQ;AAElC,MAAI,SAAS,mBAAmB,KAAA,EAC9B,MAAK,kBAAkB,QAAQ;AAEjC,MAAI,SAAS,mBAAmB,KAAA,EAC9B,MAAK,mBAAmB,QAAQ;AAElC,MAAI,SAAS,YAAY,KAAA,EACvB,MAAK,UAAU,QAAQ;AAEzB,MAAI,SAAS,eAAe,KAAA,EAC1B,MAAK,cAAc,QAAQ;AAE7B,MAAI,SAAS,oBAAoB,KAAA,EAC/B,MAAK,mBAAmB,QAAQ;AAElC,MAAI,SAAS,oBAAoB,KAAA,EAC/B,MAAK,mBAAmB,QAAQ;AAElC,MAAI,SAAS,eAAe,KAAA,EAC1B,MAAK,aAAa,QAAQ;AAG5B,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,4 +1,4 @@
|
|
|
1
|
-
import { Cron, CronCreateForThreadResponse, CronCreateResponse, CronSelectField, CronSortBy, SortOrder } from "../../schema.cjs";
|
|
1
|
+
import { Cron, CronCreateForThreadResponse, CronCreateResponse, CronSelectField, CronSortBy, Metadata, SortOrder } from "../../schema.cjs";
|
|
2
2
|
import { CronsCreatePayload, CronsUpdatePayload } from "../../types.cjs";
|
|
3
3
|
import { BaseClient } from "../base.cjs";
|
|
4
4
|
|
|
@@ -40,6 +40,8 @@ declare class CronsClient extends BaseClient {
|
|
|
40
40
|
/**
|
|
41
41
|
*
|
|
42
42
|
* @param query Query options.
|
|
43
|
+
* @param query.metadata Metadata to filter by. Exact match filter for each KV pair.
|
|
44
|
+
* Available in Agent Server version 0.9.0 and later.
|
|
43
45
|
* @returns List of crons.
|
|
44
46
|
*/
|
|
45
47
|
search(query?: {
|
|
@@ -51,6 +53,7 @@ declare class CronsClient extends BaseClient {
|
|
|
51
53
|
sortBy?: CronSortBy;
|
|
52
54
|
sortOrder?: SortOrder;
|
|
53
55
|
select?: CronSelectField[];
|
|
56
|
+
metadata?: Metadata;
|
|
54
57
|
signal?: AbortSignal;
|
|
55
58
|
}): Promise<Cron[]>;
|
|
56
59
|
/**
|
|
@@ -58,11 +61,14 @@ declare class CronsClient extends BaseClient {
|
|
|
58
61
|
*
|
|
59
62
|
* @param query.assistantId Assistant ID to filter by.
|
|
60
63
|
* @param query.threadId Thread ID to filter by.
|
|
64
|
+
* @param query.metadata Metadata to filter by. Exact match filter for each KV pair.
|
|
65
|
+
* Available in Agent Server version 0.9.0 and later.
|
|
61
66
|
* @returns Number of cron jobs matching the criteria.
|
|
62
67
|
*/
|
|
63
68
|
count(query?: {
|
|
64
69
|
assistantId?: string;
|
|
65
70
|
threadId?: string;
|
|
71
|
+
metadata?: Metadata;
|
|
66
72
|
signal?: AbortSignal;
|
|
67
73
|
}): Promise<number>;
|
|
68
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/client/crons/index.ts"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/client/crons/index.ts"],"mappings":";;;;;cAYa,WAAA,SAAoB,UAAA;;AAAjC;;;;;;EAQQ,eAAA,CACJ,QAAA,UACA,WAAA,UACA,OAAA,GAAU,kBAAA,GACT,OAAA,CAAQ,2BAAA;EAyCA;;;;;;EAHL,MAAA,CACJ,WAAA,UACA,OAAA,GAAU,kBAAA,GACT,OAAA,CAAQ,kBAAA;EA6HA;;;;;;;;EAxFL,MAAA,CAAO,MAAA,UAAgB,OAAA,GAAU,kBAAA,GAAqB,OAAA,CAAQ,IAAA;EA6HhE;;;;;;EA5DE,MAAA,CACJ,MAAA,UACA,OAAA;IAAY,MAAA,GAAS,WAAA;EAAA,IACpB,OAAA;EAnJD;;;;;;;EAiKI,MAAA,CAAO,KAAA;IACX,WAAA;IACA,QAAA;IACA,OAAA;IACA,KAAA;IACA,MAAA;IACA,MAAA,GAAS,UAAA;IACT,SAAA,GAAY,SAAA;IACZ,MAAA,GAAS,eAAA;IACT,QAAA,GAAW,QAAA;IACX,MAAA,GAAS,WAAA;EAAA,IACP,OAAA,CAAQ,IAAA;EA1BV;;;;;;;;;EAqDI,KAAA,CAAM,KAAA;IACV,WAAA;IACA,QAAA;IACA,QAAA,GAAW,QAAA;IACX,MAAA,GAAS,WAAA;EAAA,IACP,OAAA;AAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Cron, CronCreateForThreadResponse, CronCreateResponse, CronSelectField, CronSortBy, SortOrder } from "../../schema.js";
|
|
1
|
+
import { Cron, CronCreateForThreadResponse, CronCreateResponse, CronSelectField, CronSortBy, Metadata, SortOrder } from "../../schema.js";
|
|
2
2
|
import { CronsCreatePayload, CronsUpdatePayload } from "../../types.js";
|
|
3
3
|
import { BaseClient } from "../base.js";
|
|
4
4
|
|
|
@@ -40,6 +40,8 @@ declare class CronsClient extends BaseClient {
|
|
|
40
40
|
/**
|
|
41
41
|
*
|
|
42
42
|
* @param query Query options.
|
|
43
|
+
* @param query.metadata Metadata to filter by. Exact match filter for each KV pair.
|
|
44
|
+
* Available in Agent Server version 0.9.0 and later.
|
|
43
45
|
* @returns List of crons.
|
|
44
46
|
*/
|
|
45
47
|
search(query?: {
|
|
@@ -51,6 +53,7 @@ declare class CronsClient extends BaseClient {
|
|
|
51
53
|
sortBy?: CronSortBy;
|
|
52
54
|
sortOrder?: SortOrder;
|
|
53
55
|
select?: CronSelectField[];
|
|
56
|
+
metadata?: Metadata;
|
|
54
57
|
signal?: AbortSignal;
|
|
55
58
|
}): Promise<Cron[]>;
|
|
56
59
|
/**
|
|
@@ -58,11 +61,14 @@ declare class CronsClient extends BaseClient {
|
|
|
58
61
|
*
|
|
59
62
|
* @param query.assistantId Assistant ID to filter by.
|
|
60
63
|
* @param query.threadId Thread ID to filter by.
|
|
64
|
+
* @param query.metadata Metadata to filter by. Exact match filter for each KV pair.
|
|
65
|
+
* Available in Agent Server version 0.9.0 and later.
|
|
61
66
|
* @returns Number of cron jobs matching the criteria.
|
|
62
67
|
*/
|
|
63
68
|
count(query?: {
|
|
64
69
|
assistantId?: string;
|
|
65
70
|
threadId?: string;
|
|
71
|
+
metadata?: Metadata;
|
|
66
72
|
signal?: AbortSignal;
|
|
67
73
|
}): Promise<number>;
|
|
68
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/client/crons/index.ts"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/client/crons/index.ts"],"mappings":";;;;;cAYa,WAAA,SAAoB,UAAA;;AAAjC;;;;;;EAQQ,eAAA,CACJ,QAAA,UACA,WAAA,UACA,OAAA,GAAU,kBAAA,GACT,OAAA,CAAQ,2BAAA;EAyCA;;;;;;EAHL,MAAA,CACJ,WAAA,UACA,OAAA,GAAU,kBAAA,GACT,OAAA,CAAQ,kBAAA;EA6HA;;;;;;;;EAxFL,MAAA,CAAO,MAAA,UAAgB,OAAA,GAAU,kBAAA,GAAqB,OAAA,CAAQ,IAAA;EA6HhE;;;;;;EA5DE,MAAA,CACJ,MAAA,UACA,OAAA;IAAY,MAAA,GAAS,WAAA;EAAA,IACpB,OAAA;EAnJD;;;;;;;EAiKI,MAAA,CAAO,KAAA;IACX,WAAA;IACA,QAAA;IACA,OAAA;IACA,KAAA;IACA,MAAA;IACA,MAAA,GAAS,UAAA;IACT,SAAA,GAAY,SAAA;IACZ,MAAA,GAAS,eAAA;IACT,QAAA,GAAW,QAAA;IACX,MAAA,GAAS,WAAA;EAAA,IACP,OAAA,CAAQ,IAAA;EA1BV;;;;;;;;;EAqDI,KAAA,CAAM,KAAA;IACV,WAAA;IACA,QAAA;IACA,QAAA,GAAW,QAAA;IACX,MAAA,GAAS,WAAA;EAAA,IACP,OAAA;AAAA"}
|
|
@@ -117,6 +117,8 @@ var CronsClient = class extends BaseClient {
|
|
|
117
117
|
/**
|
|
118
118
|
*
|
|
119
119
|
* @param query Query options.
|
|
120
|
+
* @param query.metadata Metadata to filter by. Exact match filter for each KV pair.
|
|
121
|
+
* Available in Agent Server version 0.9.0 and later.
|
|
120
122
|
* @returns List of crons.
|
|
121
123
|
*/
|
|
122
124
|
async search(query) {
|
|
@@ -130,7 +132,8 @@ var CronsClient = class extends BaseClient {
|
|
|
130
132
|
offset: query?.offset ?? 0,
|
|
131
133
|
sort_by: query?.sortBy ?? void 0,
|
|
132
134
|
sort_order: query?.sortOrder ?? void 0,
|
|
133
|
-
select: query?.select ?? void 0
|
|
135
|
+
select: query?.select ?? void 0,
|
|
136
|
+
metadata: query?.metadata ?? void 0
|
|
134
137
|
},
|
|
135
138
|
signal: query?.signal
|
|
136
139
|
});
|
|
@@ -140,6 +143,8 @@ var CronsClient = class extends BaseClient {
|
|
|
140
143
|
*
|
|
141
144
|
* @param query.assistantId Assistant ID to filter by.
|
|
142
145
|
* @param query.threadId Thread ID to filter by.
|
|
146
|
+
* @param query.metadata Metadata to filter by. Exact match filter for each KV pair.
|
|
147
|
+
* Available in Agent Server version 0.9.0 and later.
|
|
143
148
|
* @returns Number of cron jobs matching the criteria.
|
|
144
149
|
*/
|
|
145
150
|
async count(query) {
|
|
@@ -147,7 +152,8 @@ var CronsClient = class extends BaseClient {
|
|
|
147
152
|
method: "POST",
|
|
148
153
|
json: {
|
|
149
154
|
assistant_id: query?.assistantId ?? void 0,
|
|
150
|
-
thread_id: query?.threadId ?? void 0
|
|
155
|
+
thread_id: query?.threadId ?? void 0,
|
|
156
|
+
metadata: query?.metadata ?? void 0
|
|
151
157
|
},
|
|
152
158
|
signal: query?.signal
|
|
153
159
|
});
|
|
@@ -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 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\n if (payload?.schedule !== undefined) {\n json.schedule = payload.schedule;\n }\n if (payload?.timezone !== undefined) {\n json.timezone = payload.timezone;\n }\n if (payload?.endTime !== undefined) {\n json.end_time = payload.endTime;\n }\n if (payload?.input !== undefined) {\n json.input = payload.input;\n }\n if (payload?.metadata !== undefined) {\n json.metadata = payload.metadata;\n }\n if (payload?.config !== undefined) {\n json.config = payload.config;\n }\n if (payload?.context !== undefined) {\n json.context = payload.context;\n }\n if (payload?.webhook !== undefined) {\n json.webhook = payload.webhook;\n }\n if (payload?.interruptBefore !== undefined) {\n json.interrupt_before = payload.interruptBefore;\n }\n if (payload?.interruptAfter !== undefined) {\n json.interrupt_after = payload.interruptAfter;\n }\n if (payload?.onRunCompleted !== undefined) {\n json.on_run_completed = payload.onRunCompleted;\n }\n if (payload?.enabled !== undefined) {\n json.enabled = payload.enabled;\n }\n if (payload?.streamMode !== undefined) {\n json.stream_mode = payload.streamMode;\n }\n if (payload?.streamSubgraphs !== undefined) {\n json.stream_subgraphs = payload.streamSubgraphs;\n }\n if (payload?.streamResumable !== undefined) {\n json.stream_resumable = payload.streamResumable;\n }\n if (payload?.durability !== undefined) {\n json.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 * @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 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 },\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 * @returns Number of cron jobs matching the criteria.\n */\n async count(query?: {\n assistantId?: string;\n threadId?: string;\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 },\n signal: query?.signal,\n });\n }\n}\n"],"mappings":";;
|
|
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\n if (payload?.schedule !== undefined) {\n json.schedule = payload.schedule;\n }\n if (payload?.timezone !== undefined) {\n json.timezone = payload.timezone;\n }\n if (payload?.endTime !== undefined) {\n json.end_time = payload.endTime;\n }\n if (payload?.input !== undefined) {\n json.input = payload.input;\n }\n if (payload?.metadata !== undefined) {\n json.metadata = payload.metadata;\n }\n if (payload?.config !== undefined) {\n json.config = payload.config;\n }\n if (payload?.context !== undefined) {\n json.context = payload.context;\n }\n if (payload?.webhook !== undefined) {\n json.webhook = payload.webhook;\n }\n if (payload?.interruptBefore !== undefined) {\n json.interrupt_before = payload.interruptBefore;\n }\n if (payload?.interruptAfter !== undefined) {\n json.interrupt_after = payload.interruptAfter;\n }\n if (payload?.onRunCompleted !== undefined) {\n json.on_run_completed = payload.onRunCompleted;\n }\n if (payload?.enabled !== undefined) {\n json.enabled = payload.enabled;\n }\n if (payload?.streamMode !== undefined) {\n json.stream_mode = payload.streamMode;\n }\n if (payload?.streamSubgraphs !== undefined) {\n json.stream_subgraphs = payload.streamSubgraphs;\n }\n if (payload?.streamResumable !== undefined) {\n json.stream_resumable = payload.streamResumable;\n }\n if (payload?.durability !== undefined) {\n json.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":"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"}
|
|
@@ -322,6 +322,7 @@ var ThreadStream = class {
|
|
|
322
322
|
#terminalPauseSeq;
|
|
323
323
|
#lifecycleSubId = null;
|
|
324
324
|
#lifecycleStartPromise;
|
|
325
|
+
#runStartReady = null;
|
|
325
326
|
#lifecycleWatcherHandle = null;
|
|
326
327
|
#lifecycleWatcherStartPromise;
|
|
327
328
|
#onEventListeners = /* @__PURE__ */ new Set();
|
|
@@ -378,11 +379,13 @@ var ThreadStream = class {
|
|
|
378
379
|
this.#fetchOption = options.fetch;
|
|
379
380
|
this.run = { start: async (params) => {
|
|
380
381
|
this.#prepareForNextRun();
|
|
381
|
-
this.#
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
382
|
+
return await this.#withRunStartGate(() => {
|
|
383
|
+
this.#ensureLifecycleTracking();
|
|
384
|
+
this.values;
|
|
385
|
+
return this.#send("run.start", {
|
|
386
|
+
...params,
|
|
387
|
+
assistant_id: this.assistantId
|
|
388
|
+
});
|
|
386
389
|
});
|
|
387
390
|
} };
|
|
388
391
|
this.agent = { getTree: async (params = {}) => await this.#send("agent.getTree", params) };
|
|
@@ -440,6 +443,36 @@ var ThreadStream = class {
|
|
|
440
443
|
})().catch(() => void 0);
|
|
441
444
|
}
|
|
442
445
|
/**
|
|
446
|
+
* Run `operation` (a `run.start` send) while holding the run-start
|
|
447
|
+
* gate. Sets `#runStartReady` before invoking `operation` so any
|
|
448
|
+
* subscription kicked off synchronously inside it (e.g. the lifecycle
|
|
449
|
+
* watcher and the values projection) sees the gate when it eventually
|
|
450
|
+
* reaches `#startLifecycleWatcherSse` / `#reconcileStream` /
|
|
451
|
+
* `#subscribeViaCommand` and awaits it. The gate resolves the moment
|
|
452
|
+
* `operation` settles, so server-side subscribes land immediately
|
|
453
|
+
* after the thread is committed.
|
|
454
|
+
*/
|
|
455
|
+
async #withRunStartGate(operation) {
|
|
456
|
+
let resolveGate;
|
|
457
|
+
let rejectGate;
|
|
458
|
+
const gate = new Promise((resolve, reject) => {
|
|
459
|
+
resolveGate = resolve;
|
|
460
|
+
rejectGate = reject;
|
|
461
|
+
});
|
|
462
|
+
this.#runStartReady = gate;
|
|
463
|
+
gate.catch(() => void 0);
|
|
464
|
+
try {
|
|
465
|
+
const result = await operation();
|
|
466
|
+
resolveGate();
|
|
467
|
+
return result;
|
|
468
|
+
} catch (err) {
|
|
469
|
+
rejectGate(err);
|
|
470
|
+
throw err;
|
|
471
|
+
} finally {
|
|
472
|
+
if (this.#runStartReady === gate) this.#runStartReady = null;
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
/**
|
|
443
476
|
* Reset interrupt state and resume all paused user subscriptions.
|
|
444
477
|
* Called before `run.start()` and `input.respond()` so that
|
|
445
478
|
* iterators on the same handle pick up the next run's events.
|
|
@@ -782,10 +815,12 @@ var ThreadStream = class {
|
|
|
782
815
|
*/
|
|
783
816
|
async submitRun(params) {
|
|
784
817
|
this.#prepareForNextRun();
|
|
785
|
-
this.#
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
818
|
+
return await this.#withRunStartGate(() => {
|
|
819
|
+
this.#startLifecycleWatcher();
|
|
820
|
+
return this.#send("run.start", {
|
|
821
|
+
...params,
|
|
822
|
+
assistant_id: this.assistantId
|
|
823
|
+
});
|
|
789
824
|
});
|
|
790
825
|
}
|
|
791
826
|
/**
|
|
@@ -851,7 +886,32 @@ var ThreadStream = class {
|
|
|
851
886
|
}
|
|
852
887
|
this.#lifecycleWatcherStartPromise = this.#startLifecycleWatcherWebSocket();
|
|
853
888
|
}
|
|
889
|
+
/**
|
|
890
|
+
* Public, idempotent entry point to start the wildcard lifecycle
|
|
891
|
+
* watcher.
|
|
892
|
+
*
|
|
893
|
+
* The watcher is normally started lazily by `submitRun` /
|
|
894
|
+
* `respondInput` because for fresh (self-created) threads the SSE
|
|
895
|
+
* stream would 404 if opened before the server has the thread row.
|
|
896
|
+
* Callers that already know the thread exists server-side
|
|
897
|
+
* (`StreamController.hydrate` of an existing thread) can use this
|
|
898
|
+
* to start the watcher up front. The watcher subscribes to wildcard
|
|
899
|
+
* lifecycle events across every namespace, so it sees arbitrarily-
|
|
900
|
+
* nested subagent lifecycle messages that the narrow root content
|
|
901
|
+
* pump (running at `depth: 1`) wouldn't reach — that's what makes
|
|
902
|
+
* subagent discovery work for historical thread loads.
|
|
903
|
+
*
|
|
904
|
+
* Idempotent — repeat calls reuse the in-flight start promise.
|
|
905
|
+
*/
|
|
906
|
+
startLifecycleWatcher() {
|
|
907
|
+
this.#startLifecycleWatcher();
|
|
908
|
+
}
|
|
854
909
|
async #startLifecycleWatcherSse() {
|
|
910
|
+
if (this.#runStartReady != null) try {
|
|
911
|
+
await this.#runStartReady;
|
|
912
|
+
} catch {
|
|
913
|
+
return;
|
|
914
|
+
}
|
|
855
915
|
const filter = { channels: ["lifecycle", "input"] };
|
|
856
916
|
let handle;
|
|
857
917
|
try {
|
|
@@ -1125,6 +1185,17 @@ var ThreadStream = class {
|
|
|
1125
1185
|
if (this.#rotationState === "rotating") return;
|
|
1126
1186
|
const desired = this.#computeUnionFilter();
|
|
1127
1187
|
if (desired == null) return;
|
|
1188
|
+
if (this.#runStartReady != null) {
|
|
1189
|
+
try {
|
|
1190
|
+
await this.#runStartReady;
|
|
1191
|
+
} catch (err) {
|
|
1192
|
+
const normalized = err instanceof Error ? err : /* @__PURE__ */ new Error("run.start failed");
|
|
1193
|
+
this.#rejectUncoveredPending(normalized);
|
|
1194
|
+
return;
|
|
1195
|
+
}
|
|
1196
|
+
if (this.#closed) return;
|
|
1197
|
+
if (this.#rotationState === "rotating") return;
|
|
1198
|
+
}
|
|
1128
1199
|
if (this.#sharedStreamFilter != null && filterEqual(desired, this.#sharedStreamFilter) && this.#pendingSubResolves.length === 0) {
|
|
1129
1200
|
this.#resolvePending();
|
|
1130
1201
|
return;
|
|
@@ -1230,10 +1301,11 @@ var ThreadStream = class {
|
|
|
1230
1301
|
* matching buffered events on subscribe via the same WebSocket stream.
|
|
1231
1302
|
*/
|
|
1232
1303
|
async #subscribeViaCommand(params, transform) {
|
|
1233
|
-
const
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1304
|
+
const placeholderId = `pending:${this.#nextCommandId}:${Math.random().toString(36).slice(2, 10)}`;
|
|
1305
|
+
let resolvedId = placeholderId;
|
|
1306
|
+
const handle = new SubscriptionHandle(placeholderId, params, async () => {
|
|
1307
|
+
this.#subscriptions.delete(resolvedId);
|
|
1308
|
+
if (!this.#closed && resolvedId !== placeholderId) await this.#send("subscription.unsubscribe", { subscription_id: resolvedId }).catch((err) => {
|
|
1237
1309
|
if (err instanceof require_error.ProtocolError && err.code === "no_such_subscription") return;
|
|
1238
1310
|
throw err;
|
|
1239
1311
|
});
|
|
@@ -1243,7 +1315,24 @@ var ThreadStream = class {
|
|
|
1243
1315
|
registeredAfterSeq: this.ordering.lastSeenSeq,
|
|
1244
1316
|
seenEventIds: /* @__PURE__ */ new Set()
|
|
1245
1317
|
});
|
|
1246
|
-
this.#subscriptions.set(
|
|
1318
|
+
this.#subscriptions.set(placeholderId, subscription);
|
|
1319
|
+
if (this.#runStartReady != null) try {
|
|
1320
|
+
await this.#runStartReady;
|
|
1321
|
+
} catch (err) {
|
|
1322
|
+
this.#subscriptions.delete(placeholderId);
|
|
1323
|
+
throw err;
|
|
1324
|
+
}
|
|
1325
|
+
let result;
|
|
1326
|
+
try {
|
|
1327
|
+
result = await this.#send("subscription.subscribe", params);
|
|
1328
|
+
} catch (err) {
|
|
1329
|
+
this.#subscriptions.delete(placeholderId);
|
|
1330
|
+
throw err;
|
|
1331
|
+
}
|
|
1332
|
+
this.#subscriptions.delete(placeholderId);
|
|
1333
|
+
resolvedId = result.subscription_id;
|
|
1334
|
+
handle.subscriptionId = resolvedId;
|
|
1335
|
+
this.#subscriptions.set(resolvedId, subscription);
|
|
1247
1336
|
return handle;
|
|
1248
1337
|
}
|
|
1249
1338
|
async #consumeEvents() {
|