@dbos-inc/vercel-ai 0.3.7 → 0.5.4
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/README.md +84 -39
- package/dist/durable-stream.d.ts +7 -3
- package/dist/durable-stream.d.ts.map +1 -1
- package/dist/durable-stream.js +133 -23
- package/dist/durable-stream.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/internal.d.ts +9 -0
- package/dist/internal.d.ts.map +1 -1
- package/dist/internal.js +26 -0
- package/dist/internal.js.map +1 -1
- package/dist/mcp.d.ts.map +1 -1
- package/dist/mcp.js +16 -6
- package/dist/mcp.js.map +1 -1
- package/dist/middleware.d.ts +5 -0
- package/dist/middleware.d.ts.map +1 -1
- package/dist/middleware.js +47 -17
- package/dist/middleware.js.map +1 -1
- package/dist/tools.d.ts +5 -1
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +123 -18
- package/dist/tools.js.map +1 -1
- package/package.json +3 -3
- package/src/durable-stream.ts +139 -25
- package/src/index.ts +1 -1
- package/src/internal.ts +25 -0
- package/src/mcp.ts +14 -7
- package/src/middleware.ts +53 -21
- package/src/tools.ts +137 -19
package/dist/internal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":";;AAEA,oDAGC;AAED,wDAIC;AAGD,wCAOC;AAED,0CAEC;AA2BD,8DAeC;AAKD,0DAMC;
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"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"}
|
package/dist/mcp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,OAAO,iBAAiB,EAAE,QAAQ,EAAE,CAAC;AAMvE,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3D,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAaD,MAAM,WAAW,sBAAuB,SAAQ,UAAU;IACxD,oHAAoH;IACpH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,4FAA4F;IAC5F,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAiCD;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,GAAE,sBAA2B,GAAG,OAAO,CAAC,OAAO,CAAC,CAmFnH"}
|
package/dist/mcp.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.durableMCPTools = durableMCPTools;
|
|
4
|
+
const dbos_sdk_1 = require("@dbos-inc/dbos-sdk");
|
|
4
5
|
const internal_1 = require("./internal");
|
|
5
6
|
const durable_stream_1 = require("./durable-stream");
|
|
6
7
|
// Mirror of @ai-sdk/mcp's toModelOutput: MCP content becomes model content (text stays text, images become files).
|
|
@@ -69,12 +70,23 @@ async function durableMCPTools(client, options = {}) {
|
|
|
69
70
|
};
|
|
70
71
|
// The tool call id comes from the checkpointed model result, so a reordered parallel step fails replay instead of swapping results.
|
|
71
72
|
return run(`mcp.tool.${name}.${toolCallId ?? 'call'}`, async () => {
|
|
73
|
+
// Stop the call when the attempt times out or the workflow is cancelled, as well as on the caller's abort.
|
|
74
|
+
const cancelSignal = (0, internal_1.stepCancelSignal)();
|
|
75
|
+
const record = async (outcome) => {
|
|
76
|
+
if (!durableStream || !toolCallId)
|
|
77
|
+
return;
|
|
78
|
+
const timeout = await (0, internal_1.timedOutOutcome)(callConfig.shouldRetry);
|
|
79
|
+
if (timeout === null)
|
|
80
|
+
return;
|
|
81
|
+
await (0, durable_stream_1.writeToolRecord)(durableStream, toolCallId, timeout ?? outcome);
|
|
82
|
+
};
|
|
83
|
+
const abortSignal = (0, internal_1.anySignal)(signal, dbos_sdk_1.DBOS.stepStatus?.timeoutSignal, cancelSignal);
|
|
72
84
|
let output;
|
|
73
85
|
try {
|
|
74
86
|
const tool = (await client.tools(toolOptions))[name];
|
|
75
87
|
if (typeof tool?.execute !== 'function')
|
|
76
88
|
throw new Error(`MCP tool "${name}" is not executable.`);
|
|
77
|
-
output = await tool.execute(input, execOptions);
|
|
89
|
+
output = await tool.execute(input, abortSignal === signal ? execOptions : { ...execOptions, abortSignal });
|
|
78
90
|
// A streaming execute can't checkpoint mid-flight; drain it and record the final value (the last yield).
|
|
79
91
|
if ((0, internal_1.isAsyncIterable)(output)) {
|
|
80
92
|
let last;
|
|
@@ -84,13 +96,11 @@ async function durableMCPTools(client, options = {}) {
|
|
|
84
96
|
}
|
|
85
97
|
}
|
|
86
98
|
catch (error) {
|
|
87
|
-
if (
|
|
88
|
-
await (
|
|
89
|
-
}
|
|
99
|
+
if (!cancelSignal?.aborted)
|
|
100
|
+
await record({ errorText: error instanceof Error ? error.message : String(error) });
|
|
90
101
|
throw error;
|
|
91
102
|
}
|
|
92
|
-
|
|
93
|
-
await (0, durable_stream_1.writeToolRecord)(durableStream, toolCallId, { output });
|
|
103
|
+
await record({ output });
|
|
94
104
|
return output;
|
|
95
105
|
}, callConfig);
|
|
96
106
|
},
|
package/dist/mcp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":";;AAkEA,
|
|
1
|
+
{"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
|
package/dist/middleware.d.ts
CHANGED
|
@@ -4,6 +4,11 @@ import { type DurableStreamOptions } from './durable-stream';
|
|
|
4
4
|
export interface DurableCallsOptions extends StepConfig {
|
|
5
5
|
/** Write each streamed model call's parts to this durable stream from inside its step (see readDurableStream). */
|
|
6
6
|
durableStream?: DurableStreamOptions;
|
|
7
|
+
/** Checkpoint a generate call's raw provider request/response bodies; set to match generateText's `include` (both default false). */
|
|
8
|
+
include?: {
|
|
9
|
+
requestBody?: boolean;
|
|
10
|
+
responseBody?: boolean;
|
|
11
|
+
};
|
|
7
12
|
}
|
|
8
13
|
/** AI SDK language-model middleware that runs each model call as a durable, checkpointed DBOS step (replayed on recovery); outside a workflow it calls the model directly. */
|
|
9
14
|
export declare function durableCalls(options?: DurableCallsOptions): LanguageModelMiddleware;
|
package/dist/middleware.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAItD,OAAO,KAAK,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,IAAI,CAAC,OAAO,iBAAiB,EAAE,QAAQ,EAAE,CAAC;AAkBvI,OAAO,EAAE,KAAK,oBAAoB,EAA2C,MAAM,kBAAkB,CAAC;AAEtG,MAAM,WAAW,mBAAoB,SAAQ,UAAU;IACrD,kHAAkH;IAClH,aAAa,CAAC,EAAE,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAItD,OAAO,KAAK,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,IAAI,CAAC,OAAO,iBAAiB,EAAE,QAAQ,EAAE,CAAC;AAkBvI,OAAO,EAAE,KAAK,oBAAoB,EAA2C,MAAM,kBAAkB,CAAC;AAEtG,MAAM,WAAW,mBAAoB,SAAQ,UAAU;IACrD,kHAAkH;IAClH,aAAa,CAAC,EAAE,oBAAoB,CAAC;IACrC,qIAAqI;IACrI,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,OAAO,CAAC;QAAC,YAAY,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAC7D;AA8BD,8KAA8K;AAC9K,wBAAgB,YAAY,CAAC,OAAO,GAAE,mBAAwB,GAAG,uBAAuB,CAuNvF;AAED,yHAAyH;AACzH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,UAAe,GAAG,wBAAwB,CA8BxF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,UAAe,GAAG,oBAAoB,CAsBhF"}
|
package/dist/middleware.js
CHANGED
|
@@ -33,7 +33,7 @@ function exitDurableModelCall(workflowID) {
|
|
|
33
33
|
}
|
|
34
34
|
/** AI SDK language-model middleware that runs each model call as a durable, checkpointed DBOS step (replayed on recovery); outside a workflow it calls the model directly. */
|
|
35
35
|
function durableCalls(options = {}) {
|
|
36
|
-
const { durableStream, ...stepOptions } = options;
|
|
36
|
+
const { durableStream, include, ...stepOptions } = options;
|
|
37
37
|
const stepConfig = (0, internal_1.withErrorClassification)(stepOptions);
|
|
38
38
|
const streamConfig = (0, durable_stream_1.resolveDurableStream)(durableStream);
|
|
39
39
|
return {
|
|
@@ -46,7 +46,10 @@ function durableCalls(options = {}) {
|
|
|
46
46
|
const workflowID = await enterDurableModelCall();
|
|
47
47
|
try {
|
|
48
48
|
return await dbos_sdk_1.DBOS.runStep(async () => {
|
|
49
|
-
|
|
49
|
+
// The provider call also stops when the attempt times out or the workflow is cancelled.
|
|
50
|
+
const signal = (0, internal_1.anySignal)(params.abortSignal, dbos_sdk_1.DBOS.stepStatus?.timeoutSignal, (0, internal_1.stepCancelSignal)());
|
|
51
|
+
const raw = signal === params.abortSignal ? await doGenerate() : await model.doGenerate({ ...params, abortSignal: signal });
|
|
52
|
+
const result = ensureResponseMetadata(encodeBinaryContent(omitBodies(raw, include)));
|
|
50
53
|
// A non-streaming call writes its whole output at once, so the stream holds every call the loop makes, not only streamed ones.
|
|
51
54
|
if (streamConfig) {
|
|
52
55
|
const streamWriter = new durable_stream_1.ModelStreamWriter(streamConfig);
|
|
@@ -127,23 +130,27 @@ function durableCalls(options = {}) {
|
|
|
127
130
|
const accumulator = new StreamAccumulator();
|
|
128
131
|
// A timed-out attempt is abandoned by DBOS (its outcome is discarded) but keeps running; stop it so it can't emit alongside a retry.
|
|
129
132
|
const timeoutSignal = dbos_sdk_1.DBOS.stepStatus?.timeoutSignal;
|
|
130
|
-
|
|
133
|
+
// A workflow cancel is not a consumer abort: it must fail the attempt so nothing is checkpointed and a resume re-runs the call.
|
|
134
|
+
const cancelSignal = (0, internal_1.stepCancelSignal)();
|
|
135
|
+
const cancelledWorkflow = () => cancelSignal?.aborted === true;
|
|
136
|
+
const providerSignal = (0, internal_1.anySignal)(abortSignal, timeoutSignal, cancelSignal);
|
|
131
137
|
let reader;
|
|
132
138
|
let sawFinish = false;
|
|
133
139
|
const abandon = () => void reader?.cancel().catch(() => { });
|
|
134
140
|
timeoutSignal?.addEventListener('abort', abandon, { once: true });
|
|
141
|
+
cancelSignal?.addEventListener('abort', abandon, { once: true });
|
|
135
142
|
// A consumer abort tears the provider call down too; the attempt is then recorded as aborted below.
|
|
136
143
|
abortSignal?.addEventListener('abort', abandon, { once: true });
|
|
137
144
|
// Step-scope stream writes: cheap, replay-safe, and never duplicated since a retry is refused once content has streamed.
|
|
138
145
|
const streamWriter = streamConfig ? new durable_stream_1.ModelStreamWriter(streamConfig) : undefined;
|
|
139
146
|
try {
|
|
140
|
-
|
|
141
|
-
reader =
|
|
147
|
+
const result = providerSignal === abortSignal ? await doStream() : await model.doStream({ ...params, abortSignal: providerSignal });
|
|
148
|
+
reader = result.stream.getReader();
|
|
142
149
|
for (;;) {
|
|
143
150
|
const { done, value: part } = await reader.read();
|
|
144
151
|
if (timeoutSignal?.aborted)
|
|
145
152
|
throw (timeoutSignal.reason ?? new Error('step attempt timed out'));
|
|
146
|
-
if (done || aborted())
|
|
153
|
+
if (done || aborted() || cancelledWorkflow())
|
|
147
154
|
break;
|
|
148
155
|
if (part.type === 'error') {
|
|
149
156
|
// A cancelled consumer abandoned this call; don't let a late failure become the step outcome, or replay would fail where the live run succeeded.
|
|
@@ -160,23 +167,28 @@ function durableCalls(options = {}) {
|
|
|
160
167
|
accumulator.add(part);
|
|
161
168
|
}
|
|
162
169
|
// No terminal part and no output: fail (retryably) like the AI SDK's NoOutputGeneratedError, instead of checkpointing a permanent empty success.
|
|
163
|
-
if (!sawFinish && !accumulator.hasContent && !cancelled && !aborted()) {
|
|
170
|
+
if (!sawFinish && !accumulator.hasContent && !cancelled && !aborted() && !cancelledWorkflow()) {
|
|
164
171
|
throw new Error('Model stream ended without a finish part or any output.');
|
|
165
172
|
}
|
|
166
173
|
}
|
|
167
174
|
catch (error) {
|
|
168
|
-
// Same rule for stream-level failures (doStream or a read rejecting) after a cancel; after an abort,
|
|
169
|
-
if (!cancelled && !aborted()) {
|
|
175
|
+
// Same rule for stream-level failures (doStream or a read rejecting) after a cancel; after an abort or a workflow cancel, that is the outcome.
|
|
176
|
+
if (!cancelled && !aborted() && !cancelledWorkflow()) {
|
|
170
177
|
await streamWriter?.abandon();
|
|
171
178
|
throw error;
|
|
172
179
|
}
|
|
173
180
|
}
|
|
174
181
|
finally {
|
|
175
182
|
timeoutSignal?.removeEventListener('abort', abandon);
|
|
183
|
+
cancelSignal?.removeEventListener('abort', abandon);
|
|
176
184
|
abortSignal?.removeEventListener('abort', abandon);
|
|
177
185
|
// Tear down the provider stream on early exits (error part, post-cancel break); a no-op after a clean drain.
|
|
178
186
|
void reader?.cancel().catch(() => { });
|
|
179
187
|
}
|
|
188
|
+
if (cancelledWorkflow()) {
|
|
189
|
+
await streamWriter?.abandon();
|
|
190
|
+
throw cancelSignal.reason;
|
|
191
|
+
}
|
|
180
192
|
// Record the abort as the step's failure; replay rethrows it, so the workflow must catch aborts it means to survive.
|
|
181
193
|
if (aborted()) {
|
|
182
194
|
await streamWriter?.end({ aborted: true });
|
|
@@ -188,7 +200,7 @@ function durableCalls(options = {}) {
|
|
|
188
200
|
const responseMetadataPart = accumulator.fillResponseMetadata((0, node_crypto_1.randomUUID)(), new Date());
|
|
189
201
|
if (responseMetadataPart && !timeoutSignal?.aborted)
|
|
190
202
|
emit(responseMetadataPart);
|
|
191
|
-
const recorded = encodeBinaryContent(accumulator.result(
|
|
203
|
+
const recorded = encodeBinaryContent(accumulator.result());
|
|
192
204
|
// Every stream write lands before the checkpoint, so a reader that sees the next step has seen all of this one.
|
|
193
205
|
await streamWriter?.end({ finishReason: recorded.finishReason });
|
|
194
206
|
return recorded;
|
|
@@ -246,14 +258,17 @@ function durableEmbeddingCalls(options = {}) {
|
|
|
246
258
|
overrideSupportsParallelCalls: ({ model }) => ({
|
|
247
259
|
then: (onfulfilled, onrejected) => Promise.resolve((0, internal_1.isInWorkflowFunction)() ? false : model.supportsParallelCalls).then(onfulfilled, onrejected),
|
|
248
260
|
}),
|
|
249
|
-
wrapEmbed: async ({ doEmbed, model }) => {
|
|
261
|
+
wrapEmbed: async ({ doEmbed, params, model }) => {
|
|
250
262
|
(0, internal_1.assertNotInTransaction)('embed');
|
|
251
263
|
if (!(0, internal_1.isInWorkflowFunction)()) {
|
|
252
264
|
return await doEmbed();
|
|
253
265
|
}
|
|
254
266
|
const workflowID = await enterDurableModelCall();
|
|
255
267
|
try {
|
|
256
|
-
return await dbos_sdk_1.DBOS.runStep(async () =>
|
|
268
|
+
return await dbos_sdk_1.DBOS.runStep(async () => {
|
|
269
|
+
const signal = (0, internal_1.anySignal)(params.abortSignal, dbos_sdk_1.DBOS.stepStatus?.timeoutSignal, (0, internal_1.stepCancelSignal)());
|
|
270
|
+
return signal === params.abortSignal ? doEmbed() : model.doEmbed({ ...params, abortSignal: signal });
|
|
271
|
+
}, {
|
|
257
272
|
...stepConfig,
|
|
258
273
|
name: stepConfig.name ?? stepName(model, 'embed'),
|
|
259
274
|
});
|
|
@@ -276,13 +291,16 @@ function durableImageCalls(options = {}) {
|
|
|
276
291
|
const stepConfig = (0, internal_1.withErrorClassification)(options);
|
|
277
292
|
return {
|
|
278
293
|
specificationVersion: 'v4',
|
|
279
|
-
wrapGenerate: async ({ doGenerate, model }) => {
|
|
294
|
+
wrapGenerate: async ({ doGenerate, params, model }) => {
|
|
280
295
|
(0, internal_1.assertNotInTransaction)('generateImage');
|
|
281
296
|
if (!(0, internal_1.isInWorkflowFunction)()) {
|
|
282
297
|
return await doGenerate();
|
|
283
298
|
}
|
|
284
299
|
try {
|
|
285
|
-
return await dbos_sdk_1.DBOS.runStep(async () =>
|
|
300
|
+
return await dbos_sdk_1.DBOS.runStep(async () => {
|
|
301
|
+
const signal = (0, internal_1.anySignal)(params.abortSignal, dbos_sdk_1.DBOS.stepStatus?.timeoutSignal, (0, internal_1.stepCancelSignal)());
|
|
302
|
+
return encodeImageResult(signal === params.abortSignal ? await doGenerate() : await model.doGenerate({ ...params, abortSignal: signal }));
|
|
303
|
+
}, {
|
|
286
304
|
...stepConfig,
|
|
287
305
|
name: stepConfig.name ?? stepName(model, 'image'),
|
|
288
306
|
});
|
|
@@ -345,6 +363,18 @@ function ensureResponseMetadata(result) {
|
|
|
345
363
|
response: { ...response, id: response?.id ?? (0, node_crypto_1.randomUUID)(), timestamp: response?.timestamp ?? new Date() },
|
|
346
364
|
};
|
|
347
365
|
}
|
|
366
|
+
// generateText discards the raw bodies unless `include` asks for them, and the request body repeats the whole prompt.
|
|
367
|
+
function omitBodies(result, include) {
|
|
368
|
+
const dropRequest = !include?.requestBody && result.request?.body !== undefined;
|
|
369
|
+
const dropResponse = !include?.responseBody && result.response?.body !== undefined;
|
|
370
|
+
if (!dropRequest && !dropResponse)
|
|
371
|
+
return result;
|
|
372
|
+
return {
|
|
373
|
+
...result,
|
|
374
|
+
request: dropRequest ? { ...result.request, body: undefined } : result.request,
|
|
375
|
+
response: dropResponse ? { ...result.response, body: undefined } : result.response,
|
|
376
|
+
};
|
|
377
|
+
}
|
|
348
378
|
/** Convert generated-file bytes (Uint8Array) to base64 (spec-allowed) to keep checkpoints compact. */
|
|
349
379
|
function encodeBinaryContent(result) {
|
|
350
380
|
const content = result.content.map(encodeBinaryPart);
|
|
@@ -483,15 +513,15 @@ class StreamAccumulator {
|
|
|
483
513
|
}
|
|
484
514
|
return block;
|
|
485
515
|
}
|
|
486
|
-
|
|
516
|
+
// Omits the provider's request/response (wrapStream returns only the stream): the request body repeats the whole prompt.
|
|
517
|
+
result() {
|
|
487
518
|
return {
|
|
488
519
|
content: this.content,
|
|
489
520
|
finishReason: this.finishReason,
|
|
490
521
|
usage: this.usage,
|
|
491
522
|
warnings: this.warnings,
|
|
492
523
|
providerMetadata: this.providerMetadata,
|
|
493
|
-
|
|
494
|
-
response: this.responseMetadata ? { ...this.responseMetadata, ...response } : response,
|
|
524
|
+
response: this.responseMetadata,
|
|
495
525
|
};
|
|
496
526
|
}
|
|
497
527
|
}
|
package/dist/middleware.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../src/middleware.ts"],"names":[],"mappings":"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"}
|
package/dist/tools.d.ts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { StepConfig } from '@dbos-inc/dbos-sdk';
|
|
2
|
-
import type { ToolSet } from 'ai' with { 'resolution-mode': 'import' };
|
|
2
|
+
import type { ToolSet, UIMessageStreamWriter } from 'ai' with { 'resolution-mode': 'import' };
|
|
3
3
|
export interface DurableToolsOptions extends StepConfig {
|
|
4
4
|
/** Per-tool step config overriding the defaults; `false` leaves that tool non-durable. */
|
|
5
5
|
tools?: Record<string, StepConfig | false>;
|
|
6
6
|
/** Write each tool call's output (or error) to this durable stream from inside its step. */
|
|
7
7
|
durableStream?: string;
|
|
8
|
+
/** Receives chunks tools write via `toolWriter()`; those that are part of the message are checkpointed and re-emitted on replay, before the tool's output. */
|
|
9
|
+
writer?: UIMessageStreamWriter;
|
|
8
10
|
}
|
|
11
|
+
/** Returns a UI message stream writer bound to the current `durableTools` tool call. */
|
|
12
|
+
export declare function toolWriter(): UIMessageStreamWriter;
|
|
9
13
|
/**
|
|
10
14
|
* Wraps each tool's `execute` so that, inside a workflow, every tool call runs as a durable DBOS step named
|
|
11
15
|
* `<tool>.<toolCallId>` and replays from its checkpoint on recovery; outside a workflow tools run unchanged.
|
package/dist/tools.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,OAAO,EAAkB,qBAAqB,EAAE,MAAM,IAAI,CAAC,OAAO,iBAAiB,EAAE,QAAQ,EAAE,CAAC;AAK9G,MAAM,WAAW,mBAAoB,SAAQ,UAAU;IACrD,0FAA0F;IAC1F,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,KAAK,CAAC,CAAC;IAC3C,4FAA4F;IAC5F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8JAA8J;IAC9J,MAAM,CAAC,EAAE,qBAAqB,CAAC;CAChC;AAID,wFAAwF;AACxF,wBAAgB,UAAU,IAAI,qBAAqB,CAIlD;AAuFD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,KAAK,SAAS,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,GAAE,mBAAwB,GAAG,KAAK,CAoF1G"}
|
package/dist/tools.js
CHANGED
|
@@ -1,17 +1,95 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.toolWriter = toolWriter;
|
|
3
4
|
exports.durableTools = durableTools;
|
|
5
|
+
const node_async_hooks_1 = require("node:async_hooks");
|
|
4
6
|
const dbos_sdk_1 = require("@dbos-inc/dbos-sdk");
|
|
5
7
|
const internal_1 = require("./internal");
|
|
6
8
|
const agent_tool_1 = require("./agent-tool");
|
|
7
9
|
const durable_stream_1 = require("./durable-stream");
|
|
10
|
+
const currentWriter = new node_async_hooks_1.AsyncLocalStorage();
|
|
11
|
+
/** Returns a UI message stream writer bound to the current `durableTools` tool call. */
|
|
12
|
+
function toolWriter() {
|
|
13
|
+
const writer = currentWriter.getStore();
|
|
14
|
+
if (!writer)
|
|
15
|
+
throw new Error('toolWriter() can only be called from a tool wrapped by durableTools.');
|
|
16
|
+
return writer;
|
|
17
|
+
}
|
|
18
|
+
function isToolEnvelope(value) {
|
|
19
|
+
return typeof value === 'object' && value !== null && value.__dbosToolChunks === 1;
|
|
20
|
+
}
|
|
21
|
+
function isTransient(chunk) {
|
|
22
|
+
return chunk.transient === true;
|
|
23
|
+
}
|
|
24
|
+
// An async generator's body runs as it is iterated, outside run(); bind each step of the iteration to the writer.
|
|
25
|
+
function runWithWriter(writer, fn) {
|
|
26
|
+
const result = currentWriter.run(writer, fn);
|
|
27
|
+
if (!(0, internal_1.isAsyncIterable)(result))
|
|
28
|
+
return result;
|
|
29
|
+
const iterator = currentWriter.run(writer, () => result[Symbol.asyncIterator]());
|
|
30
|
+
return {
|
|
31
|
+
[Symbol.asyncIterator]() {
|
|
32
|
+
return this;
|
|
33
|
+
},
|
|
34
|
+
next: (...args) => currentWriter.run(writer, () => iterator.next(...args)),
|
|
35
|
+
return: (value) => currentWriter.run(writer, () => iterator.return?.(value) ?? Promise.resolve({ done: true, value })),
|
|
36
|
+
throw: (error) => currentWriter.run(writer, () => iterator.throw?.(error) ?? Promise.reject(error)),
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
// Outside a step: every chunk goes straight to the writer, or nowhere.
|
|
40
|
+
function liveWriter(writer) {
|
|
41
|
+
return writer ?? { write() { }, merge() { }, onError: undefined };
|
|
42
|
+
}
|
|
43
|
+
/** One attempt's writer: transient chunks go out live, the rest wait for the step to succeed. */
|
|
44
|
+
class StepWriter {
|
|
45
|
+
writer;
|
|
46
|
+
durableStream;
|
|
47
|
+
chunks = [];
|
|
48
|
+
pending = [];
|
|
49
|
+
constructor(writer, durableStream) {
|
|
50
|
+
this.writer = writer;
|
|
51
|
+
this.durableStream = durableStream;
|
|
52
|
+
}
|
|
53
|
+
get onError() {
|
|
54
|
+
return this.writer?.onError;
|
|
55
|
+
}
|
|
56
|
+
write(chunk) {
|
|
57
|
+
if (!isTransient(chunk)) {
|
|
58
|
+
this.chunks.push(chunk);
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
this.writer?.write(chunk);
|
|
62
|
+
if (this.durableStream)
|
|
63
|
+
this.track((0, durable_stream_1.writeDurableStream)(this.durableStream, [chunk]));
|
|
64
|
+
}
|
|
65
|
+
merge(stream) {
|
|
66
|
+
this.track((async () => {
|
|
67
|
+
for await (const chunk of stream)
|
|
68
|
+
this.write(chunk);
|
|
69
|
+
})());
|
|
70
|
+
}
|
|
71
|
+
// Observed now so a failure after the tool throws is not an unhandled rejection; settle still sees it.
|
|
72
|
+
track(promise) {
|
|
73
|
+
promise.catch(() => { });
|
|
74
|
+
this.pending.push(promise);
|
|
75
|
+
}
|
|
76
|
+
/** Waits for merges and live writes, including any started while waiting; a failed one fails the call. */
|
|
77
|
+
async settle() {
|
|
78
|
+
while (this.pending.length > 0) {
|
|
79
|
+
const batch = this.pending;
|
|
80
|
+
this.pending = [];
|
|
81
|
+
await Promise.all(batch);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
8
85
|
/**
|
|
9
86
|
* Wraps each tool's `execute` so that, inside a workflow, every tool call runs as a durable DBOS step named
|
|
10
87
|
* `<tool>.<toolCallId>` and replays from its checkpoint on recovery; outside a workflow tools run unchanged.
|
|
11
88
|
* Retries are off by default (the AI SDK never retries tools); opt in per tool with `retriesAllowed`.
|
|
12
89
|
*/
|
|
13
90
|
function durableTools(tools, options = {}) {
|
|
14
|
-
const { tools: perTool, durableStream, ...defaults } = options;
|
|
91
|
+
const { tools: perTool, durableStream, writer, ...defaults } = options;
|
|
92
|
+
const live = liveWriter(writer);
|
|
15
93
|
const durable = {};
|
|
16
94
|
for (const [name, definition] of Object.entries(tools)) {
|
|
17
95
|
const override = perTool?.[name];
|
|
@@ -21,11 +99,18 @@ function durableTools(tools, options = {}) {
|
|
|
21
99
|
durable[name] = durableStream ? bindAgentTool(durableStream) : definition;
|
|
22
100
|
continue;
|
|
23
101
|
}
|
|
24
|
-
if (typeof definition.execute !== 'function'
|
|
102
|
+
if (typeof definition.execute !== 'function') {
|
|
25
103
|
durable[name] = definition;
|
|
26
104
|
continue;
|
|
27
105
|
}
|
|
28
106
|
const execute = definition.execute;
|
|
107
|
+
if (override === false) {
|
|
108
|
+
durable[name] = {
|
|
109
|
+
...definition,
|
|
110
|
+
execute: (input, execOptions) => runWithWriter(live, () => execute(input, execOptions)),
|
|
111
|
+
};
|
|
112
|
+
continue;
|
|
113
|
+
}
|
|
29
114
|
const merged = { ...defaults, ...override };
|
|
30
115
|
// Default classification (aborts and provider-declared non-retryable errors are terminal), but retries stay opt-in.
|
|
31
116
|
const stepConfig = { ...(0, internal_1.withErrorClassification)(merged), retriesAllowed: merged.retriesAllowed ?? false };
|
|
@@ -35,7 +120,7 @@ function durableTools(tools, options = {}) {
|
|
|
35
120
|
execute: (input, execOptions) => {
|
|
36
121
|
(0, internal_1.assertNotInTransaction)(name);
|
|
37
122
|
if (!(0, internal_1.isInWorkflowFunction)())
|
|
38
|
-
return execute(input, execOptions);
|
|
123
|
+
return runWithWriter(live, () => execute(input, execOptions));
|
|
39
124
|
const signal = execOptions.abortSignal;
|
|
40
125
|
// An aborted call is done whatever the failure looks like; a retry would re-run a cancelled side effect.
|
|
41
126
|
const callConfig = {
|
|
@@ -44,29 +129,49 @@ function durableTools(tools, options = {}) {
|
|
|
44
129
|
};
|
|
45
130
|
// The tool call id comes from the checkpointed model result, so a reordered parallel step fails replay instead of swapping results.
|
|
46
131
|
return (0, internal_1.runDurableStep)(`${prefix}.${execOptions.toolCallId}`, async () => {
|
|
47
|
-
// A timed-out attempt is abandoned by DBOS but keeps running
|
|
48
|
-
const
|
|
49
|
-
const abortSignal =
|
|
132
|
+
// A timed-out attempt is abandoned by DBOS but keeps running, and a cancelled workflow's tool should stop: forward both signals.
|
|
133
|
+
const cancelSignal = (0, internal_1.stepCancelSignal)();
|
|
134
|
+
const abortSignal = (0, internal_1.anySignal)(signal, dbos_sdk_1.DBOS.stepStatus?.timeoutSignal, cancelSignal);
|
|
135
|
+
const stepWriter = new StepWriter(writer, durableStream);
|
|
136
|
+
const record = async (outcome, chunks) => {
|
|
137
|
+
if (!durableStream)
|
|
138
|
+
return;
|
|
139
|
+
const timeout = await (0, internal_1.timedOutOutcome)(callConfig.shouldRetry);
|
|
140
|
+
if (timeout === null)
|
|
141
|
+
return;
|
|
142
|
+
await (0, durable_stream_1.writeToolRecord)(durableStream, execOptions.toolCallId, timeout ?? outcome, timeout ? [] : chunks);
|
|
143
|
+
};
|
|
50
144
|
let output;
|
|
51
145
|
try {
|
|
52
|
-
output = await
|
|
53
|
-
|
|
54
|
-
|
|
146
|
+
output = await currentWriter.run(stepWriter, async () => {
|
|
147
|
+
const value = await execute(input, abortSignal === signal ? execOptions : { ...execOptions, abortSignal });
|
|
148
|
+
// A streaming execute can't checkpoint mid-flight; drain it and record the final value (the last yield).
|
|
149
|
+
if (!(0, internal_1.isAsyncIterable)(value))
|
|
150
|
+
return value;
|
|
55
151
|
let last;
|
|
56
|
-
for await (last of
|
|
152
|
+
for await (last of value)
|
|
57
153
|
;
|
|
58
|
-
|
|
59
|
-
}
|
|
154
|
+
return last;
|
|
155
|
+
});
|
|
156
|
+
await stepWriter.settle();
|
|
60
157
|
}
|
|
61
158
|
catch (error) {
|
|
62
|
-
|
|
63
|
-
|
|
159
|
+
// A cancelled workflow's reader ends the turn with an abort; this call has no outcome of its own.
|
|
160
|
+
if (!cancelSignal?.aborted)
|
|
161
|
+
await record({ errorText: errorMessage(error) });
|
|
64
162
|
throw error;
|
|
65
163
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
return output;
|
|
69
|
-
}, callConfig)
|
|
164
|
+
const chunks = stepWriter.chunks;
|
|
165
|
+
await record({ output }, chunks);
|
|
166
|
+
return chunks.length > 0 ? { __dbosToolChunks: 1, output, chunks } : output;
|
|
167
|
+
}, callConfig).then((result) => {
|
|
168
|
+
if (!isToolEnvelope(result))
|
|
169
|
+
return result;
|
|
170
|
+
// Runs on first execution and on replay alike, so the workflow's message gets the same parts either way.
|
|
171
|
+
for (const chunk of result.chunks)
|
|
172
|
+
writer?.write(chunk);
|
|
173
|
+
return result.output;
|
|
174
|
+
});
|
|
70
175
|
},
|
|
71
176
|
};
|
|
72
177
|
}
|
package/dist/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":";;AAmBA,gCAIC;AA4FD,oCAoFC;AAvMD,uDAAqD;AACrD,iDAAsD;AAEtD,yCAAkL;AAClL,6CAA0C;AAC1C,qDAAuE;AAWvE,MAAM,aAAa,GAAG,IAAI,oCAAiB,EAAyB,CAAC;AAErE,wFAAwF;AACxF,SAAgB,UAAU;IACxB,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC;IACxC,IAAI,CAAC,MAAM;QAAE,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IACrG,OAAO,MAAM,CAAC;AAChB,CAAC;AASD,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAK,KAA+B,CAAC,gBAAgB,KAAK,CAAC,CAAC;AAChH,CAAC;AAED,SAAS,WAAW,CAAC,KAAqB;IACxC,OAAQ,KAAiC,CAAC,SAAS,KAAK,IAAI,CAAC;AAC/D,CAAC;AAED,kHAAkH;AAClH,SAAS,aAAa,CAAC,MAA6B,EAAE,EAAiB;IACrE,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,IAAA,0BAAe,EAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC5C,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACjF,OAAO;QACL,CAAC,MAAM,CAAC,aAAa,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,EAAE,CAAC,GAAG,IAAoB,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QAC1F,MAAM,EAAE,CAAC,KAAe,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAa,EAAE,KAAK,EAAE,CAAC,CAAC;QACzI,KAAK,EAAE,CAAC,KAAe,EAAE,EAAE,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KAC9G,CAAC;AACJ,CAAC;AAED,uEAAuE;AACvE,SAAS,UAAU,CAAC,MAAyC;IAC3D,OAAO,MAAM,IAAI,EAAE,KAAK,KAAI,CAAC,EAAE,KAAK,KAAI,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAClE,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU;IAKK;IACA;IALV,MAAM,GAAqB,EAAE,CAAC;IAC/B,OAAO,GAAuB,EAAE,CAAC;IAEzC,YACmB,MAAyC,EACzC,aAAiC;QADjC,WAAM,GAAN,MAAM,CAAmC;QACzC,kBAAa,GAAb,aAAa,CAAoB;IACjD,CAAC;IAEJ,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,KAAqB;QACzB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,aAAa;YAAE,IAAI,CAAC,KAAK,CAAC,IAAA,mCAAkB,EAAC,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,KAAK,CAAC,MAAsC;QAC1C,IAAI,CAAC,KAAK,CACR,CAAC,KAAK,IAAI,EAAE;YACV,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM;gBAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACtD,CAAC,CAAC,EAAE,CACL,CAAC;IACJ,CAAC;IAED,uGAAuG;IAC/F,KAAK,CAAC,OAAyB;QACrC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,0GAA0G;IAC1G,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;YAC3B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;YAClB,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;CACF;AAKD;;;;GAIG;AACH,SAAgB,YAAY,CAAwB,KAAY,EAAE,UAA+B,EAAE;IACjG,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC;IACvE,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IAChC,MAAM,OAAO,GAAY,EAAE,CAAC;IAC5B,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;QACjC,wGAAwG;QACxG,MAAM,aAAa,GAAI,UAAkE,CAAC,uBAAU,CAAC,CAAC;QACtG,IAAI,aAAa,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YAC1E,SAAS;QACX,CAAC;QACD,IAAI,OAAO,UAAU,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;YAC7C,OAAO,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;YAC3B,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAsB,CAAC;QAClD,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,GAAG;gBACd,GAAG,UAAU;gBACb,OAAO,EAAE,CAAC,KAAc,EAAE,WAAuC,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;aAC1G,CAAC;YACrB,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAe,EAAE,GAAG,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC;QACxD,oHAAoH;QACpH,MAAM,UAAU,GAAe,EAAE,GAAG,IAAA,kCAAuB,EAAC,MAAM,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,KAAK,EAAE,CAAC;QACtH,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,IAAI,IAAI,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,GAAG;YACd,GAAG,UAAU;YACb,OAAO,EAAE,CAAC,KAAc,EAAE,WAAuC,EAAE,EAAE;gBACnE,IAAA,iCAAsB,EAAC,IAAI,CAAC,CAAC;gBAC7B,IAAI,CAAC,IAAA,+BAAoB,GAAE;oBAAE,OAAO,aAAa,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;gBAC3F,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,CAAC;gBACvC,yGAAyG;gBACzG,MAAM,UAAU,GAAe;oBAC7B,GAAG,UAAU;oBACb,WAAW,EAAE,KAAK,EAAE,KAAc,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,IAAI,CAAC,MAAM,UAAU,CAAC,WAAY,CAAC,KAAK,CAAC,CAAC;iBAClG,CAAC;gBACF,oIAAoI;gBACpI,OAAO,IAAA,yBAAc,EACnB,GAAG,MAAM,IAAI,WAAW,CAAC,UAAU,EAAE,EACrC,KAAK,IAAI,EAAE;oBACT,iIAAiI;oBACjI,MAAM,YAAY,GAAG,IAAA,2BAAgB,GAAE,CAAC;oBACxC,MAAM,WAAW,GAAG,IAAA,oBAAS,EAAC,MAAM,EAAE,eAAI,CAAC,UAAU,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;oBACpF,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;oBACzD,MAAM,MAAM,GAAG,KAAK,EAAE,OAAoD,EAAE,MAAyB,EAAE,EAAE;wBACvG,IAAI,CAAC,aAAa;4BAAE,OAAO;wBAC3B,MAAM,OAAO,GAAG,MAAM,IAAA,0BAAe,EAAC,UAAU,CAAC,WAAW,CAAC,CAAC;wBAC9D,IAAI,OAAO,KAAK,IAAI;4BAAE,OAAO;wBAC7B,MAAM,IAAA,gCAAe,EAAC,aAAa,EAAE,WAAW,CAAC,UAAU,EAAE,OAAO,IAAI,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBAC1G,CAAC,CAAC;oBACF,IAAI,MAAe,CAAC;oBACpB,IAAI,CAAC;wBACH,MAAM,GAAG,MAAM,aAAa,CAAC,GAAG,CAAC,UAAU,EAAE,KAAK,IAAI,EAAE;4BACtD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,EAAE,WAAW,EAAE,CAAC,CAAC;4BAC3G,yGAAyG;4BACzG,IAAI,CAAC,IAAA,0BAAe,EAAC,KAAK,CAAC;gCAAE,OAAO,KAAK,CAAC;4BAC1C,IAAI,IAAa,CAAC;4BAClB,IAAI,KAAK,EAAE,IAAI,IAAI,KAAK;gCAAC,CAAC;4BAC1B,OAAO,IAAI,CAAC;wBACd,CAAC,CAAC,CAAC;wBACH,MAAM,UAAU,CAAC,MAAM,EAAE,CAAC;oBAC5B,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,kGAAkG;wBAClG,IAAI,CAAC,YAAY,EAAE,OAAO;4BAAE,MAAM,MAAM,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBAC7E,MAAM,KAAK,CAAC;oBACd,CAAC;oBACD,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;oBACjC,MAAM,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;oBACjC,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAE,EAAE,gBAAgB,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAA0B,CAAC,CAAC,CAAC,MAAM,CAAC;gBACvG,CAAC,EACD,UAAU,CACX,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;oBAChB,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;wBAAE,OAAO,MAAM,CAAC;oBAC3C,yGAAyG;oBACzG,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM;wBAAE,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;oBACxD,OAAO,MAAM,CAAC,MAAM,CAAC;gBACvB,CAAC,CAAC,CAAC;YACL,CAAC;SACiB,CAAC;IACvB,CAAC;IACD,OAAO,OAAgB,CAAC;AAC1B,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC"}
|