@openrouter/agent 0.8.0 → 0.9.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/README.md +483 -5
- package/esm/index.d.ts +19 -4
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +9 -2
- package/esm/index.js.map +1 -1
- package/esm/inner-loop/call-model.d.ts.map +1 -1
- package/esm/inner-loop/call-model.js +40 -41
- package/esm/inner-loop/call-model.js.map +1 -1
- package/esm/inner-loop/resume-tool-results.d.ts +128 -0
- package/esm/inner-loop/resume-tool-results.d.ts.map +1 -0
- package/esm/inner-loop/resume-tool-results.js +244 -0
- package/esm/inner-loop/resume-tool-results.js.map +1 -0
- package/esm/lib/agent-tool.d.ts +92 -0
- package/esm/lib/agent-tool.d.ts.map +1 -0
- package/esm/lib/agent-tool.js +211 -0
- package/esm/lib/agent-tool.js.map +1 -0
- package/esm/lib/async-params.d.ts +82 -0
- package/esm/lib/async-params.d.ts.map +1 -1
- package/esm/lib/async-params.js +5 -0
- package/esm/lib/async-params.js.map +1 -1
- package/esm/lib/async-tool-registry.d.ts +134 -0
- package/esm/lib/async-tool-registry.d.ts.map +1 -0
- package/esm/lib/async-tool-registry.js +352 -0
- package/esm/lib/async-tool-registry.js.map +1 -0
- package/esm/lib/async-tools.d.ts +23 -0
- package/esm/lib/async-tools.d.ts.map +1 -0
- package/esm/lib/async-tools.js +19 -0
- package/esm/lib/async-tools.js.map +1 -0
- package/esm/lib/conversation-state.d.ts +1 -0
- package/esm/lib/conversation-state.d.ts.map +1 -1
- package/esm/lib/conversation-state.js +8 -0
- package/esm/lib/conversation-state.js.map +1 -1
- package/esm/lib/doom-loop.d.ts +533 -0
- package/esm/lib/doom-loop.d.ts.map +1 -0
- package/esm/lib/doom-loop.js +1221 -0
- package/esm/lib/doom-loop.js.map +1 -0
- package/esm/lib/hooks-schemas.d.ts +33 -0
- package/esm/lib/hooks-schemas.d.ts.map +1 -1
- package/esm/lib/hooks-schemas.js +54 -0
- package/esm/lib/hooks-schemas.js.map +1 -1
- package/esm/lib/hooks-types.d.ts +6 -2
- package/esm/lib/hooks-types.d.ts.map +1 -1
- package/esm/lib/hooks-types.js.map +1 -1
- package/esm/lib/model-result.d.ts +646 -10
- package/esm/lib/model-result.d.ts.map +1 -1
- package/esm/lib/model-result.js +2749 -153
- package/esm/lib/model-result.js.map +1 -1
- package/esm/lib/reusable-stream.d.ts +9 -0
- package/esm/lib/reusable-stream.d.ts.map +1 -1
- package/esm/lib/reusable-stream.js +17 -0
- package/esm/lib/reusable-stream.js.map +1 -1
- package/esm/lib/stream-transformers.d.ts +20 -0
- package/esm/lib/stream-transformers.d.ts.map +1 -1
- package/esm/lib/stream-transformers.js +45 -0
- package/esm/lib/stream-transformers.js.map +1 -1
- package/esm/lib/tool-check.d.ts +76 -0
- package/esm/lib/tool-check.d.ts.map +1 -0
- package/esm/lib/tool-check.js +241 -0
- package/esm/lib/tool-check.js.map +1 -0
- package/esm/lib/tool-concurrency.d.ts +42 -0
- package/esm/lib/tool-concurrency.d.ts.map +1 -0
- package/esm/lib/tool-concurrency.js +80 -0
- package/esm/lib/tool-concurrency.js.map +1 -0
- package/esm/lib/tool-context.d.ts +45 -1
- package/esm/lib/tool-context.d.ts.map +1 -1
- package/esm/lib/tool-context.js +60 -1
- package/esm/lib/tool-context.js.map +1 -1
- package/esm/lib/tool-executor.d.ts +52 -9
- package/esm/lib/tool-executor.d.ts.map +1 -1
- package/esm/lib/tool-executor.js +253 -21
- package/esm/lib/tool-executor.js.map +1 -1
- package/esm/lib/tool-orchestrator.d.ts.map +1 -1
- package/esm/lib/tool-orchestrator.js +87 -50
- package/esm/lib/tool-orchestrator.js.map +1 -1
- package/esm/lib/tool-task.d.ts +157 -0
- package/esm/lib/tool-task.d.ts.map +1 -0
- package/esm/lib/tool-task.js +206 -0
- package/esm/lib/tool-task.js.map +1 -0
- package/esm/lib/tool-types.d.ts +473 -14
- package/esm/lib/tool-types.d.ts.map +1 -1
- package/esm/lib/tool-types.js +59 -10
- package/esm/lib/tool-types.js.map +1 -1
- package/esm/lib/tool.d.ts +184 -2
- package/esm/lib/tool.d.ts.map +1 -1
- package/esm/lib/tool.js +193 -3
- package/esm/lib/tool.js.map +1 -1
- package/package.json +30 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-transformers.d.ts","sourceRoot":"","sources":["../../src/lib/stream-transformers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stream-transformers.d.ts","sourceRoot":"","sources":["../../src/lib/stream-transformers.ts"],"names":[],"mappings":"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"}
|
|
@@ -345,6 +345,51 @@ export async function* buildMessageStream(stream) {
|
|
|
345
345
|
}
|
|
346
346
|
}
|
|
347
347
|
}
|
|
348
|
+
/**
|
|
349
|
+
* Backward scan of a `ReusableReadableStream`'s retained buffer for the
|
|
350
|
+
* last terminal event. Shared by the two extractors below.
|
|
351
|
+
*/
|
|
352
|
+
function findBufferedTerminalEvent(stream) {
|
|
353
|
+
return stream.findLastBuffered((event) => 'type' in event &&
|
|
354
|
+
(isResponseCompletedEvent(event) ||
|
|
355
|
+
isResponseFailedEvent(event) ||
|
|
356
|
+
isResponseIncompleteEvent(event)));
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* Synchronous counterpart to `consumeStreamForCompletion` for streams that
|
|
360
|
+
* have already fully buffered (`isComplete`): scan the retained buffer
|
|
361
|
+
* backwards for the terminal event instead of replaying every event through
|
|
362
|
+
* a fresh consumer (one async microtask hop per event). Same contract —
|
|
363
|
+
* returns the completed/incomplete response, throws on a failed response or
|
|
364
|
+
* a buffer with no terminal event.
|
|
365
|
+
*/
|
|
366
|
+
export function extractCompletionFromBuffer(stream) {
|
|
367
|
+
const terminal = findBufferedTerminalEvent(stream);
|
|
368
|
+
if (terminal && isResponseFailedEvent(terminal)) {
|
|
369
|
+
throw new Error(`Response failed: ${JSON.stringify(terminal.response.error)}`);
|
|
370
|
+
}
|
|
371
|
+
if (terminal && (isResponseCompletedEvent(terminal) || isResponseIncompleteEvent(terminal))) {
|
|
372
|
+
return terminal.response;
|
|
373
|
+
}
|
|
374
|
+
throw new Error('Stream ended without completion event');
|
|
375
|
+
}
|
|
376
|
+
/**
|
|
377
|
+
* Non-throwing variant of `extractCompletionFromBuffer` for streams that may
|
|
378
|
+
* still be mid-flight: returns the buffered completed/incomplete response
|
|
379
|
+
* when the terminal event has already been buffered, `undefined` otherwise
|
|
380
|
+
* (no terminal event yet, or the response failed). Consumers stop at the
|
|
381
|
+
* terminal event itself (`streamTerminationEvents`), typically before the
|
|
382
|
+
* pump has read the source close that flips `isComplete` — this lets
|
|
383
|
+
* teardown paths recover the completion in that window without waiting on
|
|
384
|
+
* the close frame.
|
|
385
|
+
*/
|
|
386
|
+
export function tryExtractCompletionFromBuffer(stream) {
|
|
387
|
+
const terminal = findBufferedTerminalEvent(stream);
|
|
388
|
+
if (terminal && (isResponseCompletedEvent(terminal) || isResponseIncompleteEvent(terminal))) {
|
|
389
|
+
return terminal.response;
|
|
390
|
+
}
|
|
391
|
+
return undefined;
|
|
392
|
+
}
|
|
348
393
|
/**
|
|
349
394
|
* Consume stream until completion and return the complete response
|
|
350
395
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream-transformers.js","sourceRoot":"","sources":["../../src/lib/stream-transformers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stream-transformers.js","sourceRoot":"","sources":["../../src/lib/stream-transformers.ts"],"names":[],"mappings":"AASA,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,0BAA0B,EAC1B,iCAAiC,EACjC,gCAAgC,EAChC,kBAAkB,EAClB,+BAA+B,EAC/B,sBAAsB,EACtB,qBAAqB,EACrB,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,qBAAqB,EACrB,qBAAqB,EACrB,aAAa,EACb,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,yBAAyB,CAAC;AAGjC;;GAEG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,iBAAiB,CACtC,MAAmD;IAEnD,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;IAEzC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QACnC,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,MAAM,KAAK,CAAC,KAAK,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,sBAAsB,CAC3C,MAAmD;IAEnD,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;IAEzC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QACnC,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,MAAM,KAAK,CAAC,KAAK,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,iBAAiB,CACtC,MAAmD;IAEnD,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;IAEzC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QACnC,IAAI,iCAAiC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7C,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,MAAM,KAAK,CAAC,KAAK,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,SAAS,CAAC,CAAC,sBAAsB,CACpC,MAAmD;IAOnD,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;IAEzC,8CAA8C;IAC9C,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QACnC,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC;YACvB,SAAS;QACX,CAAC;QAED,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,4BAA4B,CAAC,CAAC,CAAC;gBAClC,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClC,IAAI,KAAK,CAAC,IAAI,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC9C,UAAU,GAAG,IAAI,CAAC;wBAClB,WAAW,GAAG,EAAE,CAAC;wBACjB,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,4BAA4B,CAAC,CAAC,CAAC;gBAClC,IAAI,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClC,IAAI,UAAU,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;wBAC9B,WAAW,IAAI,KAAK,CAAC,KAAK,CAAC;wBAC3B,MAAM;4BACJ,IAAI,EAAE,OAAgB;4BACtB,IAAI,EAAE,WAAW;4BACjB,SAAS,EAAE,SAAS;yBACrB,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,2BAA2B,CAAC,CAAC,CAAC;gBACjC,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;oBACjC,IAAI,KAAK,CAAC,IAAI,IAAI,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC9C,MAAM;4BACJ,IAAI,EAAE,UAAmB;4BACzB,eAAe,EAAE,KAAK,CAAC,IAAI;yBAC5B,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,oBAAoB,CAAC;YAC1B,KAAK,iBAAiB,CAAC;YACvB,KAAK,qBAAqB;gBACxB,qCAAqC;gBACrC,OAAO;YAET;gBACE,kEAAkE;gBAClE,6DAA6D;gBAC7D,MAAM;QACV,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,2BAA2B,CAChD,MAAmD;IAEnD,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YAC3F,mDAAmD;YACnD,MAAM;gBACJ,EAAE,EAAE,MAAM,CAAC,SAAS;gBACpB,IAAI,EAAE,SAAkB;gBACxB,IAAI,EAAE,WAAoB;gBAC1B,MAAM,EAAE,aAAsB;gBAC9B,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,aAAsB;wBAC5B,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,WAAW,EAAE,EAAE;qBAChB;iBACF;aACF,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAChE,+BAA+B;YAC/B,MAAM,MAAM,CAAC,eAAe,CAAC;QAC/B,CAAC;IACH,CAAC;AACH,CAAC;AA0KD;;GAEG;AACH,SAAS,qBAAqB,CAC5B,KAA0B,EAC1B,eAA4C;IAE5C,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAClD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAExB,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE;YAC3B,IAAI,EAAE,SAAS;YACf,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,WAAW,EAAE,EAAE;SAChB,CAAC,CAAC;QACH,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,SAAkB;YACxB,IAAI,EAAE,WAAoB;YAC1B,MAAM,EAAE,aAAsB;YAC9B,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IAED,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,iFAAiF;QACjF,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC;QACvC,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE;YAC3B,IAAI,EAAE,eAAe;YACrB,EAAE,EAAE,OAAO;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,oBAAoB,EAAE,EAAE;SACzB,CAAC,CAAC;QACH,OAAO;YACL,IAAI,EAAE,eAAwB;YAC9B,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,aAAsB;SAC/B,CAAC;IACJ,CAAC;IAED,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE;YAC3B,IAAI,EAAE,WAAW;YACjB,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,gBAAgB,EAAE,EAAE;SACrB,CAAC,CAAC;QACH,OAAO;YACL,IAAI,EAAE,WAAoB;YAC1B,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,MAAM,EAAE,aAAsB;YAC9B,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IAED,oEAAoE;IACpE,wEAAwE;IACxE,iEAAiE;IACjE,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CACtB,KAA0B,EAC1B,eAA4C;IAE5C,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,IAAI,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,IAAI,CAAC,WAAW,IAAI,KAAK,CAAC,KAAK,CAAC;QAChC,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,SAAkB;YACxB,IAAI,EAAE,WAAoB;YAC1B,MAAM,EAAE,aAAsB;YAC9B,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,aAAsB;oBAC5B,IAAI,EAAE,IAAI,CAAC,WAAW;oBACtB,WAAW,EAAE,EAAE;iBAChB;aACF;SACF,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAC9B,KAA0B,EAC1B,eAA4C;IAE5C,IAAI,CAAC,iCAAiC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC9D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,IAAI,EAAE,IAAI,KAAK,eAAe,EAAE,CAAC;QACnC,IAAI,CAAC,oBAAoB,IAAI,KAAK,CAAC,KAAK,CAAC;QACzC,OAAO;YACL,IAAI,EAAE,eAAwB;YAC9B,kEAAkE;YAClE,EAAE,EAAE,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS;YACjD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,oBAAoB;YACpC,MAAM,EAAE,aAAsB;SAC/B,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAC3B,KAA0B,EAC1B,eAA4C;IAE5C,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAClD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,gBAAgB,IAAI,KAAK,CAAC,KAAK,CAAC;QACrC,OAAO;YACL,IAAI,EAAE,WAAoB;YAC1B,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,MAAM,EAAE,aAAsB;YAC9B,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,cAAuB;oBAC7B,IAAI,EAAE,IAAI,CAAC,gBAAgB;iBAC5B;aACF;SACF,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAC3B,KAA0B,EAC1B,eAA4C;IAE5C,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACjD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAExB,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1B,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,iFAAiF;QACjF,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oEAAoE;IACpE,2EAA2E;IAC3E,IAAI,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAOD,MAAM,CAAC,MAAM,mBAAmB,GAAuC;IACrE,4BAA4B,EAAE,qBAAqB;IACnD,4BAA4B,EAAE,eAAe;IAC7C,wCAAwC,EAAE,uBAAuB;IACjE,+BAA+B,EAAE,oBAAoB;IACrD,2BAA2B,EAAE,oBAAoB;CAClD,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAC;IAC7C,oBAAoB;IACpB,iBAAiB;IACjB,qBAAqB;CACtB,CAAC,CAAC;AAEH,YAAY;AAEZ;;;;GAIG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,gBAAgB,CACrC,MAAmD;IAEnD,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;IACzC,MAAM,eAAe,GAAG,IAAI,GAAG,EAA0B,CAAC;IAE1D,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QACnC,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC;YACvB,SAAS;QACX,CAAC;QAED,IAAI,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5C,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;YAC/C,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,MAAM,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,kBAAkB,CACvC,MAAmD;IAEnD,IAAI,KAAK,EAAE,MAAM,MAAM,IAAI,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACzD,0CAA0C;YAC1C,MAAM;gBACJ,IAAI,EAAE,WAAoB;gBAC1B,OAAO,EAAE,MAAM,CAAC,IAAI;aACrB,CAAC;QACJ,CAAC;aAAM,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YAChE,wDAAwD;YACxD,MAAM,yBAAyB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,SAAS,yBAAyB,CAChC,MAAmD;IAMnD,OAAO,MAAM,CAAC,gBAAgB,CAC5B,CAAC,KAAK,EAAE,EAAE,CACR,MAAM,IAAI,KAAK;QACf,CAAC,wBAAwB,CAAC,KAAK,CAAC;YAC9B,qBAAqB,CAAC,KAAK,CAAC;YAC5B,yBAAyB,CAAC,KAAK,CAAC,CAAC,CAK1B,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,2BAA2B,CACzC,MAAmD;IAEnD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAEnD,IAAI,QAAQ,IAAI,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,QAAQ,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,IAAI,yBAAyB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC5F,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;AAC3D,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,8BAA8B,CAC5C,MAAmD;IAEnD,MAAM,QAAQ,GAAG,yBAAyB,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,QAAQ,IAAI,CAAC,wBAAwB,CAAC,QAAQ,CAAC,IAAI,yBAAyB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC5F,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAAmD;IAEnD,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;IAEzC,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QACnC,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC;YACvB,SAAS;QACX,CAAC;QAED,IAAI,wBAAwB,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC,QAAQ,CAAC;QACxB,CAAC;QAED,IAAI,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,qEAAqE;YACrE,MAAM,IAAI,KAAK,CAAC,oBAAoB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,yBAAyB,CAAC,KAAK,CAAC,EAAE,CAAC;YACrC,iCAAiC;YACjC,OAAO,KAAK,CAAC,QAAQ,CAAC;QACxB,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB,CAChC,aAAmC;IAEnC,uBAAuB;IACvB,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO;SACtC,MAAM,CACL,CAAC,IAAI,EAAqC,EAAE,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,CAC3F;SACA,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;SACxB,IAAI,CAAC,EAAE,CAAC,CAAC;IAEZ,OAAO;QACL,IAAI,EAAE,WAAoB;QAC1B,OAAO,EAAE,WAAW,IAAI,IAAI;KAC7B,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,QAAoC;IAEpC,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CACtC,CAAC,IAAI,EAAgC,EAAE,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAClF,CAAC;IAEF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,yBAAyB,CAAC,WAAW,CAAC,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mCAAmC,CACjD,QAAoC;IAEpC,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CACtC,CAAC,IAAI,EAAgC,EAAE,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAClF,CAAC;IAEF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAoC;IAC1E,+CAA+C;IAC/C,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACxB,OAAO,QAAQ,CAAC,UAAU,CAAC;IAC7B,CAAC;IAED,2CAA2C;IAC3C,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CACrC,CAAC,IAAI,EAAgC,EAAE,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAClF,CAAC;IAEF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,qDAAqD;QACrD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,uGAAuG;IACvG,MAAM,OAAO,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;IAErD,oEAAoE;IACpE,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,OAAO,CAAC,OAAO,CAAC;IACzB,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAC1C,QAAoC;IAEpC,MAAM,SAAS,GAA2B,EAAE,CAAC;IAE7C,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;gBAC1C,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAEnE,SAAS,CAAC,IAAI,CAAC;oBACb,EAAE,EAAE,IAAI,CAAC,MAAM;oBACf,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,SAAS,EAAE,eAAe;iBAC3B,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,IAAI,CACV,2CAA2C,IAAI,CAAC,IAAI,GAAG,EACvD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,gBAAgB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9F,CAAC;gBACF,gDAAgD;gBAChD,SAAS,CAAC,IAAI,CAAC;oBACb,EAAE,EAAE,IAAI,CAAC,MAAM;oBACf,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,SAAS,EAAE,IAAI,CAAC,SAAoB,EAAE,kCAAkC;iBACjD,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,mBAAmB,CACxC,MAAmD;IAEnD,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;IAEzC,+BAA+B;IAC/B,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAOhC,CAAC;IAEJ,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QACnC,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC;YACvB,SAAS;QACX,CAAC;QAED,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;YACnB,KAAK,4BAA4B,CAAC,CAAC,CAAC;gBAClC,IAAI,sBAAsB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBAClF,iFAAiF;oBACjF,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;oBACnD,mBAAmB,CAAC,GAAG,CAAC,OAAO,EAAE;wBAC/B,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM;wBACrB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;wBACrB,oBAAoB,EAAE,EAAE;qBACzB,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,wCAAwC,CAAC,CAAC,CAAC;gBAC9C,IAAI,iCAAiC,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC7C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBACvD,IAAI,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;wBAC5B,QAAQ,CAAC,oBAAoB,IAAI,KAAK,CAAC,KAAK,CAAC;oBAC/C,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,uCAAuC,CAAC,CAAC,CAAC;gBAC7C,IAAI,gCAAgC,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC5C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAEvD,IAAI,QAAQ,EAAE,CAAC;wBACb,4EAA4E;wBAC5E,IAAI,CAAC;4BACH,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;4BAC3C,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACnE,MAAM;gCACJ,EAAE,EAAE,QAAQ,CAAC,EAAE;gCACf,IAAI,EAAE,KAAK,CAAC,IAAI;gCAChB,SAAS,EAAE,eAAe;6BAC3B,CAAC;wBACJ,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACf,OAAO,CAAC,IAAI,CACV,2CAA2C,KAAK,CAAC,IAAI,GAAG,EACxD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,gBAAgB,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAChG,CAAC;4BACF,iDAAiD;4BACjD,MAAM;gCACJ,EAAE,EAAE,QAAQ,CAAC,EAAE;gCACf,IAAI,EAAE,KAAK,CAAC,IAAI;gCAChB,SAAS,EAAE,KAAK,CAAC,SAAoB;6BACd,CAAC;wBAC5B,CAAC;wBAED,WAAW;wBACX,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;oBAC3C,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,2BAA2B,CAAC,CAAC,CAAC;gBACjC,IAAI,qBAAqB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,IAAI,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjF,iFAAiF;oBACjF,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;oBACnD,8CAA8C;oBAC9C,IAAI,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;wBACrC,IAAI,CAAC;4BACH,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;4BAChD,MAAM,eAAe,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;4BACnE,MAAM;gCACJ,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM;gCACrB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;gCACrB,SAAS,EAAE,eAAe;6BAC3B,CAAC;wBACJ,CAAC;wBAAC,OAAO,MAAM,EAAE,CAAC;4BAChB,MAAM;gCACJ,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM;gCACrB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;gCACrB,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,SAAoB;6BACnB,CAAC;wBAC5B,CAAC;wBAED,mBAAmB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBACtC,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAoC;IACvE,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;AACzF,CAAC;AAED;;GAEG;AACH,SAAS,yBAAyB,CAChC,WAAqD;IAErD,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,SAAS,GAAyB,EAAE,CAAC;IAE3C,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,IAAI,CAAC,CAAC,MAAM,IAAI,UAAU,CAAC,EAAE,CAAC;YAC5B,SAAS;QACX,CAAC;QAED,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;YACxB,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,IAAI,wBAAwB,CAAC,UAAU,CAAC,EAAE,CAAC;oBACzC,SAAS,CAAC,IAAI,CAAC;wBACb,IAAI,EAAE,eAAe;wBACrB,UAAU,EAAE,EAAE;wBACd,cAAc,EAAE,UAAU,CAAC,KAAK;wBAChC,cAAc,EAAE,UAAU,CAAC,QAAQ;wBACnC,OAAO,EAAE,UAAU,CAAC,MAAM;wBAC1B,gBAAgB,EAAE,CAAC;wBACnB,cAAc,EAAE,CAAC;qBAClB,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,IAAI,uBAAuB,CAAC,UAAU,CAAC,EAAE,CAAC;oBACxC,SAAS,CAAC,IAAI,CAAC;wBACb,IAAI,EAAE,4BAA4B;wBAClC,UAAU,EAAE,EAAE;wBACd,KAAK,EAAE,UAAU,CAAC,KAAK;wBACvB,GAAG,EAAE,UAAU,CAAC,GAAG;wBACnB,eAAe,EAAE,EAAE;qBACpB,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,IAAI,oBAAoB,CAAC,UAAU,CAAC,EAAE,CAAC;oBACrC,SAAS,CAAC,IAAI,CAAC;wBACb,IAAI,EAAE,eAAe;wBACrB,UAAU,EAAE,EAAE;wBACd,cAAc,EAAE,UAAU,CAAC,KAAK;wBAChC,cAAc,EAAE,EAAE;wBAClB,OAAO,EAAE,UAAU,CAAC,MAAM;wBAC1B,gBAAgB,EAAE,CAAC;wBACnB,cAAc,EAAE,CAAC;qBAClB,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;YAED;gBACE,kEAAkE;gBAClE,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;AACtD,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,QAAoC;IACzD,gDAAgD;IAChD,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,CACvC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,CAC1D,CAAC;IAEF,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,4BAA4B;IAC5B,IAAI,QAAQ,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACpC,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QACrC,uCAAuC;QACvC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;QAC5D,IAAI,gBAAgB,KAAK,mBAAmB,EAAE,CAAC;YAC7C,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAoC;IACzE,MAAM,OAAO,GAAyB,EAAE,CAAC;IACzC,MAAM,kBAAkB,GAAyB,EAAE,CAAC;IAEpD,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;YACtB,kCAAkC;YAClC,sDAAsD;YACtD,MAAM,QAAQ,GACZ,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;gBACvC,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC;oBACE,KAAK,EAAE,IAAI;iBACZ,CAAC;YACR,kBAAkB,CAAC,IAAI,CAAC;gBACtB,aAAa,EAAE,SAAS;gBACxB,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,gCAAgC;aACzC,CAAC,CAAC;YACH,SAAS;QACX,CAAC;QAED,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBAChC,IAAI,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE,CAAC;4BACtB,sDAAsD;4BACtD,MAAM,QAAQ,GACZ,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI;gCACvC,CAAC,CAAC,IAAI;gCACN,CAAC,CAAC;oCACE,KAAK,EAAE,IAAI;iCACZ,CAAC;4BACR,kBAAkB,CAAC,IAAI,CAAC;gCACtB,aAAa,EAAE,sBAAsB;gCACrC,IAAI,EAAE,QAAQ;gCACd,MAAM,EAAE,yCAAyC;6BAClD,CAAC,CAAC;4BACH,SAAS;wBACX,CAAC;wBAED,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC3B,MAAM,SAAS,GAAG,yBAAyB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;4BAE9D,OAAO,CAAC,IAAI,CAAC;gCACX,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,IAAI,CAAC,IAAI;gCACf,GAAG,CAAC,SAAS,IAAI;oCACf,SAAS;iCACV,CAAC;6BACH,CAAC,CAAC;wBACL,CAAC;6BAAM,IAAI,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC/B,kBAAkB,CAAC,IAAI,CAAC;gCACtB,aAAa,EAAE,SAAS;gCACxB,IAAI,EAAE;oCACJ,OAAO,EAAE,IAAI,CAAC,OAAO;iCACtB;gCACD,MAAM,EAAE,oDAAoD;6BAC7D,CAAC,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACN,+DAA+D;wBACjE,CAAC;oBACH,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,eAAe,CAAC,CAAC,CAAC;gBACrB,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC7B,IAAI,WAAoC,CAAC;oBAEzC,IAAI,CAAC;wBACH,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;wBAC1C,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3D,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,OAAO,CAAC,IAAI,CACV,2CAA2C,IAAI,CAAC,IAAI,GAAG,EACvD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,gBAAgB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAC9F,CAAC;wBACF,+CAA+C;wBAC/C,WAAW,GAAG;4BACZ,cAAc,EAAE,IAAI,CAAC,SAAS;yBAC/B,CAAC;oBACJ,CAAC;oBAED,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,UAAU;wBAChB,EAAE,EAAE,IAAI,CAAC,MAAM;wBACf,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,KAAK,EAAE,WAAW;qBACnB,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,IAAI,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC5C,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;4BACvC,IAAI,WAAW,CAAC,IAAI,KAAK,cAAc,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;gCAC5D,OAAO,CAAC,IAAI,CAAC;oCACX,IAAI,EAAE,UAAU;oCAChB,QAAQ,EAAE,WAAW,CAAC,IAAI;oCAC1B,SAAS,EAAE,EAAE;iCACd,CAAC,CAAC;4BACL,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;wBAC1B,kBAAkB,CAAC,IAAI,CAAC;4BACtB,aAAa,EAAE,qBAAqB;4BACpC,IAAI,EAAE;gCACJ,EAAE,EAAE,IAAI,CAAC,EAAE;gCACX,iBAAiB,EAAE,IAAI,CAAC,gBAAgB;6BACzC;4BACD,MAAM,EAAE,sDAAsD;yBAC/D,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;gBACvB,IAAI,yBAAyB,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpC,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,iBAAiB;wBACvB,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE;4BACL,MAAM,EAAE,IAAI,CAAC,MAAM;yBACpB;qBACF,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,kBAAkB,CAAC,CAAC,CAAC;gBACxB,IAAI,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC;oBACrC,OAAO,CAAC,IAAI,CAAC;wBACX,IAAI,EAAE,UAAU;wBAChB,EAAE,EAAE,IAAI,CAAC,EAAE;wBACX,IAAI,EAAE,aAAa;wBACnB,KAAK,EAAE;4BACL,OAAO,EAAE,IAAI,CAAC,OAAO;4BACrB,MAAM,EAAE,IAAI,CAAC,MAAM;yBACpB;qBACF,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,uBAAuB,CAAC,CAAC,CAAC;gBAC7B,IAAI,+BAA+B,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1C,kBAAkB,CAAC,IAAI,CAAC;wBACtB,aAAa,EAAE,uBAAuB;wBACtC,IAAI,EAAE;4BACJ,EAAE,EAAE,IAAI,CAAC,EAAE;4BACX,MAAM,EAAE,IAAI,CAAC,MAAM;4BACnB,MAAM,EAAE,IAAI,CAAC,MAAM;yBACpB;wBACD,MAAM,EAAE,6DAA6D;qBACtE,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM;YACR,CAAC;YAED;gBACE,gFAAgF;gBAChF,2EAA2E;gBAC3E,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO;QACL,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,SAAS;QAClC,OAAO;QACP,WAAW,EAAE,aAAa,CAAC,QAAQ,CAAC;QACpC,aAAa,EAAE,IAAI;QACnB,KAAK,EAAE;YACL,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC;YAC9C,aAAa,EAAE,QAAQ,CAAC,KAAK,EAAE,YAAY,IAAI,CAAC;YAChD,2BAA2B,EAAE,QAAQ,CAAC,KAAK,EAAE,kBAAkB,EAAE,YAAY,IAAI,CAAC;YAClF,uBAAuB,EAAE,CAAC;SAC3B;QACD,GAAG,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,IAAI;YACnC,mBAAmB,EAAE,kBAAkB;SACxC,CAAC;KACH,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,OAAsB,EACtB,YAAoB;IAEpB,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;QACjC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,OAAO,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,KAAK,YAAY,CAAC,CAAC;AAC3F,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAAsB;IAC1D,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,IAAI,OAAO,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACnF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,OAAsB;IACjE,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;QACjC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;QAC/C,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import * as z4 from 'zod/v4';
|
|
2
|
+
import type { $ZodObject, $ZodShape, $ZodType } from 'zod/v4/core';
|
|
3
|
+
import type { APITool, PendingAsyncTool, Tool, ToolCheckConfig, TurnContext } from './tool-types.js';
|
|
4
|
+
/**
|
|
5
|
+
* Reserved name of the single, universal task-interaction tool.
|
|
6
|
+
*
|
|
7
|
+
* Per team decision (2026-07-31): per-tool check schemas bloat every tool's
|
|
8
|
+
* wire definition for a shared set of functionality and scale quadratically
|
|
9
|
+
* with the tool count. Instead, ONE static tool handles every running task —
|
|
10
|
+
* addressed by `taskId` — while the *implementations* stay tool-resident
|
|
11
|
+
* (each tool's `check` config). Best of both: no per-tool context growth,
|
|
12
|
+
* tool-specific behavior preserved.
|
|
13
|
+
*/
|
|
14
|
+
export declare const TASK_TOOL_NAME: "task";
|
|
15
|
+
/** Actions the universal task tool supports. */
|
|
16
|
+
export declare const TaskToolInputSchema: z4.ZodObject<{
|
|
17
|
+
taskId: z4.ZodString;
|
|
18
|
+
action: z4.ZodOptional<z4.ZodEnum<{
|
|
19
|
+
steer: "steer";
|
|
20
|
+
result: "result";
|
|
21
|
+
cancel: "cancel";
|
|
22
|
+
check: "check";
|
|
23
|
+
}>>;
|
|
24
|
+
view: z4.ZodOptional<z4.ZodEnum<{
|
|
25
|
+
status: "status";
|
|
26
|
+
logs: "logs";
|
|
27
|
+
transcript: "transcript";
|
|
28
|
+
}>>;
|
|
29
|
+
tail: z4.ZodOptional<z4.ZodNumber>;
|
|
30
|
+
message: z4.ZodOptional<z4.ZodString>;
|
|
31
|
+
reason: z4.ZodOptional<z4.ZodString>;
|
|
32
|
+
params: z4.ZodOptional<z4.ZodRecord<z4.ZodString, z4.ZodUnknown>>;
|
|
33
|
+
}, z4.z.core.$strip>;
|
|
34
|
+
export type TaskToolInput = z4.infer<typeof TaskToolInputSchema>;
|
|
35
|
+
/**
|
|
36
|
+
* The wire definition for the universal task tool. Static — identical
|
|
37
|
+
* regardless of how many long-running tools are registered, so the schema
|
|
38
|
+
* conversion runs once per process (memoized on first call).
|
|
39
|
+
*/
|
|
40
|
+
export declare function buildTaskToolApiDefinition(convertZod: (schema: $ZodType) => Record<string, unknown>): APITool;
|
|
41
|
+
/**
|
|
42
|
+
* True when a user tool already claims the reserved task-tool name
|
|
43
|
+
* (defense for dynamically-built tool lists that bypass `tool()`).
|
|
44
|
+
*
|
|
45
|
+
* Shared by registration (`needsTaskTool`) and the engine's interception
|
|
46
|
+
* guard (`taskToolActive`) so a collision disables BOTH: the built-in
|
|
47
|
+
* definition is not registered and calls named "task" route to the user's
|
|
48
|
+
* tool instead of being intercepted.
|
|
49
|
+
*/
|
|
50
|
+
export declare function hasTaskToolNameCollision(tools: readonly Tool[]): boolean;
|
|
51
|
+
/**
|
|
52
|
+
* True when the tool list warrants registering the task tool: at least one
|
|
53
|
+
* long-running-capable tool, and no user tool already claiming the name.
|
|
54
|
+
*/
|
|
55
|
+
export declare function needsTaskTool(tools: readonly Tool[]): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Minimal Tool stub for the engine's internal bookkeeping around task-tool
|
|
58
|
+
* answers (result events, output shaping). Never executed as a user tool.
|
|
59
|
+
*/
|
|
60
|
+
export declare function buildTaskToolStub(): Tool;
|
|
61
|
+
/** Resolve a tool's check config to `{ schema, execute }` with defaults. */
|
|
62
|
+
export declare function resolveCheckConfig(check: ToolCheckConfig | undefined): {
|
|
63
|
+
schema: $ZodObject<$ZodShape> | undefined;
|
|
64
|
+
execute: ((params: Record<string, unknown>, turnContext: TurnContext) => unknown | Promise<unknown>) | undefined;
|
|
65
|
+
};
|
|
66
|
+
/** The SDK default check handler: status / logs / transcript views. */
|
|
67
|
+
export declare function defaultCheckResult(input: Pick<TaskToolInput, 'view' | 'tail'>, turnContext: TurnContext, options: {
|
|
68
|
+
maxTranscriptChars: number;
|
|
69
|
+
}): unknown;
|
|
70
|
+
/**
|
|
71
|
+
* Answer a task-tool call against a PERSISTED task (deferred /
|
|
72
|
+
* cross-process, after a restart — no live registry entry). Only
|
|
73
|
+
* `status`-grade data survives: identity, timing, `lastLog`.
|
|
74
|
+
*/
|
|
75
|
+
export declare function persistedTaskCheckResult(input: Pick<TaskToolInput, 'view'>, pending: PendingAsyncTool): unknown;
|
|
76
|
+
//# sourceMappingURL=tool-check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-check.d.ts","sourceRoot":"","sources":["../../src/lib/tool-check.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,KAAK,EACV,OAAO,EACP,gBAAgB,EAChB,IAAI,EACJ,eAAe,EACf,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAGzB;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,EAAG,MAAe,CAAC;AAE9C,gDAAgD;AAChD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;oBAoC9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAKjE;;;;GAIG;AACH,wBAAgB,0BAA0B,CACxC,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACxD,OAAO,CAUT;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,OAAO,CAYxE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,GAAG,OAAO,CAa7D;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CASxC;AAED,4EAA4E;AAC5E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,GAAG;IACtE,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAC1C,OAAO,EACH,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,EAAE,WAAW,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,GAC3F,SAAS,CAAC;CACf,CAWA;AAED,uEAAuE;AACvE,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC,EAC3C,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE;IACP,kBAAkB,EAAE,MAAM,CAAC;CAC5B,GACA,OAAO,CAiET;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM,CAAC,EAClC,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAoDT"}
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
import * as z4 from 'zod/v4';
|
|
2
|
+
import { isLongRunningTool, ToolType } from './tool-types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Reserved name of the single, universal task-interaction tool.
|
|
5
|
+
*
|
|
6
|
+
* Per team decision (2026-07-31): per-tool check schemas bloat every tool's
|
|
7
|
+
* wire definition for a shared set of functionality and scale quadratically
|
|
8
|
+
* with the tool count. Instead, ONE static tool handles every running task —
|
|
9
|
+
* addressed by `taskId` — while the *implementations* stay tool-resident
|
|
10
|
+
* (each tool's `check` config). Best of both: no per-tool context growth,
|
|
11
|
+
* tool-specific behavior preserved.
|
|
12
|
+
*/
|
|
13
|
+
export const TASK_TOOL_NAME = 'task';
|
|
14
|
+
/** Actions the universal task tool supports. */
|
|
15
|
+
export const TaskToolInputSchema = z4.object({
|
|
16
|
+
taskId: z4.string().describe('Task id from a pending tool output.'),
|
|
17
|
+
action: z4
|
|
18
|
+
.enum([
|
|
19
|
+
'check',
|
|
20
|
+
'steer',
|
|
21
|
+
'result',
|
|
22
|
+
'cancel',
|
|
23
|
+
])
|
|
24
|
+
.optional()
|
|
25
|
+
.describe("'check' (default): progress views. 'steer': send guidance to the running task. 'result': the final result if settled, else current status. 'cancel': stop the task."),
|
|
26
|
+
view: z4
|
|
27
|
+
.enum([
|
|
28
|
+
'status',
|
|
29
|
+
'logs',
|
|
30
|
+
'transcript',
|
|
31
|
+
])
|
|
32
|
+
.optional()
|
|
33
|
+
.describe("For action=check: 'status' (default) is a one-line state; 'logs' returns recent progress entries; 'transcript' returns full detail."),
|
|
34
|
+
tail: z4
|
|
35
|
+
.number()
|
|
36
|
+
.int()
|
|
37
|
+
.positive()
|
|
38
|
+
.max(200)
|
|
39
|
+
.optional()
|
|
40
|
+
.describe('For view=logs: how many recent entries. Default 20.'),
|
|
41
|
+
message: z4.string().optional().describe('For action=steer: the guidance to send.'),
|
|
42
|
+
reason: z4.string().optional().describe('For action=cancel: why.'),
|
|
43
|
+
params: z4
|
|
44
|
+
.record(z4.string(), z4.unknown())
|
|
45
|
+
.optional()
|
|
46
|
+
.describe("Extra parameters for the tool's custom check handler, when it declares one."),
|
|
47
|
+
});
|
|
48
|
+
/** Memoized Zod→JSON-Schema conversion — the input schema is static. */
|
|
49
|
+
let taskToolParameters;
|
|
50
|
+
/**
|
|
51
|
+
* The wire definition for the universal task tool. Static — identical
|
|
52
|
+
* regardless of how many long-running tools are registered, so the schema
|
|
53
|
+
* conversion runs once per process (memoized on first call).
|
|
54
|
+
*/
|
|
55
|
+
export function buildTaskToolApiDefinition(convertZod) {
|
|
56
|
+
taskToolParameters ?? (taskToolParameters = convertZod(TaskToolInputSchema));
|
|
57
|
+
return {
|
|
58
|
+
type: 'function',
|
|
59
|
+
name: TASK_TOOL_NAME,
|
|
60
|
+
description: 'Interact with a long-running task started by another tool: check progress (status, recent logs, or the full transcript), steer it with a message, fetch its result, or cancel it. Task ids come from pending tool outputs.',
|
|
61
|
+
strict: null,
|
|
62
|
+
parameters: taskToolParameters,
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* True when a user tool already claims the reserved task-tool name
|
|
67
|
+
* (defense for dynamically-built tool lists that bypass `tool()`).
|
|
68
|
+
*
|
|
69
|
+
* Shared by registration (`needsTaskTool`) and the engine's interception
|
|
70
|
+
* guard (`taskToolActive`) so a collision disables BOTH: the built-in
|
|
71
|
+
* definition is not registered and calls named "task" route to the user's
|
|
72
|
+
* tool instead of being intercepted.
|
|
73
|
+
*/
|
|
74
|
+
export function hasTaskToolNameCollision(tools) {
|
|
75
|
+
return tools.some((t) => 'function' in t &&
|
|
76
|
+
t.function?.name === TASK_TOOL_NAME);
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* True when the tool list warrants registering the task tool: at least one
|
|
80
|
+
* long-running-capable tool, and no user tool already claiming the name.
|
|
81
|
+
*/
|
|
82
|
+
export function needsTaskTool(tools) {
|
|
83
|
+
if (hasTaskToolNameCollision(tools)) {
|
|
84
|
+
// Only worth a warning when something was actually disabled: with no
|
|
85
|
+
// long-running tool in the list, the built-in would not have been
|
|
86
|
+
// registered anyway, and warning on every callModel() is pure noise.
|
|
87
|
+
if (tools.some((t) => isLongRunningTool(t))) {
|
|
88
|
+
console.warn(`[AsyncTools] a user tool is named "${TASK_TOOL_NAME}" — the built-in task tool is disabled; models cannot check on long-running tasks.`);
|
|
89
|
+
}
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
return tools.some((t) => isLongRunningTool(t));
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Minimal Tool stub for the engine's internal bookkeeping around task-tool
|
|
96
|
+
* answers (result events, output shaping). Never executed as a user tool.
|
|
97
|
+
*/
|
|
98
|
+
export function buildTaskToolStub() {
|
|
99
|
+
return {
|
|
100
|
+
type: ToolType.Function,
|
|
101
|
+
function: {
|
|
102
|
+
name: TASK_TOOL_NAME,
|
|
103
|
+
inputSchema: TaskToolInputSchema,
|
|
104
|
+
execute: false,
|
|
105
|
+
},
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
/** Resolve a tool's check config to `{ schema, execute }` with defaults. */
|
|
109
|
+
export function resolveCheckConfig(check) {
|
|
110
|
+
if (check === undefined || check === true) {
|
|
111
|
+
return {
|
|
112
|
+
schema: undefined,
|
|
113
|
+
execute: undefined,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
return {
|
|
117
|
+
schema: check.schema,
|
|
118
|
+
execute: check.execute,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
/** The SDK default check handler: status / logs / transcript views. */
|
|
122
|
+
export function defaultCheckResult(input, turnContext, options) {
|
|
123
|
+
const task = turnContext.task;
|
|
124
|
+
if (!task) {
|
|
125
|
+
return {
|
|
126
|
+
error: 'unknown_task',
|
|
127
|
+
hint: 'No task context available for this check call.',
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
const view = input.view ?? 'status';
|
|
131
|
+
const statusView = task.statusView();
|
|
132
|
+
if (view === 'logs') {
|
|
133
|
+
const tail = input.tail ?? 20;
|
|
134
|
+
// Same character budget as the transcript view: entries can be up to
|
|
135
|
+
// maxEntryBytes each (4k default, tool-raisable), so 200 uncapped
|
|
136
|
+
// entries could dump hundreds of KB into the model's context. Newest
|
|
137
|
+
// entries win — drop from the OLDEST end when over budget.
|
|
138
|
+
const entries = task.tailLogs(tail);
|
|
139
|
+
let budget = options.maxTranscriptChars;
|
|
140
|
+
let firstKept = entries.length;
|
|
141
|
+
for (let i = entries.length - 1; i >= 0; i--) {
|
|
142
|
+
const entry = entries[i];
|
|
143
|
+
const size = typeof entry?.data === 'string'
|
|
144
|
+
? entry.data.length
|
|
145
|
+
: (JSON.stringify(entry?.data)?.length ?? 0);
|
|
146
|
+
if (size > budget) {
|
|
147
|
+
break;
|
|
148
|
+
}
|
|
149
|
+
budget -= size;
|
|
150
|
+
firstKept = i;
|
|
151
|
+
}
|
|
152
|
+
let kept = entries.slice(firstKept);
|
|
153
|
+
// Never answer with NOTHING when progress exists: if even the newest
|
|
154
|
+
// entry alone exceeds the budget, return it truncated to the budget
|
|
155
|
+
// rather than an empty list (a smaller tail could not help, and the
|
|
156
|
+
// transcript view is capped by the same number).
|
|
157
|
+
const newest = entries[entries.length - 1];
|
|
158
|
+
if (kept.length === 0 && newest !== undefined) {
|
|
159
|
+
const body = typeof newest.data === 'string'
|
|
160
|
+
? newest.data
|
|
161
|
+
: (JSON.stringify(newest.data) ?? String(newest.data));
|
|
162
|
+
kept = [
|
|
163
|
+
{
|
|
164
|
+
...newest,
|
|
165
|
+
data: `${body.slice(0, Math.max(0, options.maxTranscriptChars - 12))}…[truncated]`,
|
|
166
|
+
},
|
|
167
|
+
];
|
|
168
|
+
}
|
|
169
|
+
return {
|
|
170
|
+
...statusView,
|
|
171
|
+
logs: kept,
|
|
172
|
+
...(kept.length < entries.length && {
|
|
173
|
+
note: `Truncated to the ${kept.length} most recent entries (character budget); use view: 'transcript' or a smaller tail for more.`,
|
|
174
|
+
}),
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
if (view === 'transcript') {
|
|
178
|
+
return {
|
|
179
|
+
...statusView,
|
|
180
|
+
transcript: task.transcript(options.maxTranscriptChars),
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
return statusView;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Answer a task-tool call against a PERSISTED task (deferred /
|
|
187
|
+
* cross-process, after a restart — no live registry entry). Only
|
|
188
|
+
* `status`-grade data survives: identity, timing, `lastLog`.
|
|
189
|
+
*/
|
|
190
|
+
export function persistedTaskCheckResult(input, pending) {
|
|
191
|
+
const base = {
|
|
192
|
+
taskId: pending.taskId,
|
|
193
|
+
toolName: pending.name,
|
|
194
|
+
mode: pending.mode,
|
|
195
|
+
status: pending.status,
|
|
196
|
+
startedAt: pending.startedAt,
|
|
197
|
+
elapsedMs: Date.now() - pending.startedAt,
|
|
198
|
+
...(pending.lastLog !== undefined && {
|
|
199
|
+
lastLog: pending.lastLog.text,
|
|
200
|
+
}),
|
|
201
|
+
...(pending.pollAfterMs !== undefined && {
|
|
202
|
+
pollAfterMs: pending.pollAfterMs,
|
|
203
|
+
}),
|
|
204
|
+
...(pending.expiresAt !== undefined && {
|
|
205
|
+
expiresAt: pending.expiresAt,
|
|
206
|
+
}),
|
|
207
|
+
...(pending.orphaned === true && {
|
|
208
|
+
orphaned: true,
|
|
209
|
+
note: 'This task was detached; its result will not be delivered.',
|
|
210
|
+
}),
|
|
211
|
+
};
|
|
212
|
+
// View-specific explanations must not displace the orphaned warning —
|
|
213
|
+
// "the result will never arrive" is the actionable part.
|
|
214
|
+
const withNote = (viewNote) => ('note' in base ? `${base.note} ${viewNote}` : viewNote);
|
|
215
|
+
const view = input.view ?? 'status';
|
|
216
|
+
if (view === 'logs') {
|
|
217
|
+
return {
|
|
218
|
+
...base,
|
|
219
|
+
logs: pending.lastLog
|
|
220
|
+
? [
|
|
221
|
+
{
|
|
222
|
+
at: pending.lastLog.at,
|
|
223
|
+
data: pending.lastLog.text,
|
|
224
|
+
},
|
|
225
|
+
]
|
|
226
|
+
: [],
|
|
227
|
+
note: withNote('Full logs are not retained across processes.'),
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
if (view === 'transcript') {
|
|
231
|
+
return {
|
|
232
|
+
...base,
|
|
233
|
+
transcript: '',
|
|
234
|
+
note: withNote(pending.mode === 'defer'
|
|
235
|
+
? 'No transcript available — this task is owned by an external system.'
|
|
236
|
+
: 'No transcript available — the task ran in a previous process.'),
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
return base;
|
|
240
|
+
}
|
|
241
|
+
//# sourceMappingURL=tool-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-check.js","sourceRoot":"","sources":["../../src/lib/tool-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal FIFO semaphore used to bound tool-execution concurrency.
|
|
3
|
+
*
|
|
4
|
+
* Three gates exist per run:
|
|
5
|
+
* - the round gate (`toolConcurrency.round`) — bounds simultaneous tool
|
|
6
|
+
* executions within a round;
|
|
7
|
+
* - per-tool gates (`maxConcurrency` on a tool) — bound simultaneous
|
|
8
|
+
* executions of one tool across the run;
|
|
9
|
+
* - the background pool (`toolConcurrency.background`) — bounds detached
|
|
10
|
+
* background-tool work that escaped the round barrier.
|
|
11
|
+
*
|
|
12
|
+
* Waiters are released strictly FIFO so a burst of calls cannot starve an
|
|
13
|
+
* earlier one. Zero dependencies; ~60 lines.
|
|
14
|
+
*/
|
|
15
|
+
/** Release function returned by {@link Semaphore.acquire}. Idempotent. */
|
|
16
|
+
export type SemaphoreRelease = () => void;
|
|
17
|
+
/**
|
|
18
|
+
* A counting semaphore with FIFO waiters.
|
|
19
|
+
*/
|
|
20
|
+
export declare class Semaphore {
|
|
21
|
+
private available;
|
|
22
|
+
private readonly waiters;
|
|
23
|
+
/**
|
|
24
|
+
* @param limit - Maximum concurrent holders. Must be a positive integer.
|
|
25
|
+
*/
|
|
26
|
+
constructor(limit: number);
|
|
27
|
+
/**
|
|
28
|
+
* Acquire one slot. Resolves immediately when a slot is free, otherwise
|
|
29
|
+
* queues FIFO. The returned release function is idempotent — releasing
|
|
30
|
+
* twice does not free two slots.
|
|
31
|
+
*/
|
|
32
|
+
acquire(): Promise<SemaphoreRelease>;
|
|
33
|
+
private makeRelease;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Acquire multiple gates in the given (fixed) order and return a single
|
|
37
|
+
* release that frees them in reverse order. Callers MUST pass gates in a
|
|
38
|
+
* globally consistent order (round gate before per-tool gate) — fixed
|
|
39
|
+
* ordering is what makes multi-gate acquisition deadlock-free.
|
|
40
|
+
*/
|
|
41
|
+
export declare function acquireAll(gates: ReadonlyArray<Semaphore | undefined>): Promise<SemaphoreRelease>;
|
|
42
|
+
//# sourceMappingURL=tool-concurrency.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-concurrency.d.ts","sourceRoot":"","sources":["../../src/lib/tool-concurrency.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,0EAA0E;AAC1E,MAAM,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC;AAE1C;;GAEG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAkD;IAE1E;;OAEG;gBACS,KAAK,EAAE,MAAM;IAOzB;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAUpC,OAAO,CAAC,WAAW;CAgBpB;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAC9B,KAAK,EAAE,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC,GAC1C,OAAO,CAAC,gBAAgB,CAAC,CAY3B"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal FIFO semaphore used to bound tool-execution concurrency.
|
|
3
|
+
*
|
|
4
|
+
* Three gates exist per run:
|
|
5
|
+
* - the round gate (`toolConcurrency.round`) — bounds simultaneous tool
|
|
6
|
+
* executions within a round;
|
|
7
|
+
* - per-tool gates (`maxConcurrency` on a tool) — bound simultaneous
|
|
8
|
+
* executions of one tool across the run;
|
|
9
|
+
* - the background pool (`toolConcurrency.background`) — bounds detached
|
|
10
|
+
* background-tool work that escaped the round barrier.
|
|
11
|
+
*
|
|
12
|
+
* Waiters are released strictly FIFO so a burst of calls cannot starve an
|
|
13
|
+
* earlier one. Zero dependencies; ~60 lines.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* A counting semaphore with FIFO waiters.
|
|
17
|
+
*/
|
|
18
|
+
export class Semaphore {
|
|
19
|
+
/**
|
|
20
|
+
* @param limit - Maximum concurrent holders. Must be a positive integer.
|
|
21
|
+
*/
|
|
22
|
+
constructor(limit) {
|
|
23
|
+
this.waiters = [];
|
|
24
|
+
if (!Number.isInteger(limit) || limit < 1) {
|
|
25
|
+
throw new Error(`Semaphore limit must be a positive integer, got ${limit}`);
|
|
26
|
+
}
|
|
27
|
+
this.available = limit;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Acquire one slot. Resolves immediately when a slot is free, otherwise
|
|
31
|
+
* queues FIFO. The returned release function is idempotent — releasing
|
|
32
|
+
* twice does not free two slots.
|
|
33
|
+
*/
|
|
34
|
+
acquire() {
|
|
35
|
+
if (this.available > 0) {
|
|
36
|
+
this.available--;
|
|
37
|
+
return Promise.resolve(this.makeRelease());
|
|
38
|
+
}
|
|
39
|
+
return new Promise((resolve) => {
|
|
40
|
+
this.waiters.push(resolve);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
makeRelease() {
|
|
44
|
+
let released = false;
|
|
45
|
+
return () => {
|
|
46
|
+
if (released) {
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
released = true;
|
|
50
|
+
const next = this.waiters.shift();
|
|
51
|
+
if (next) {
|
|
52
|
+
// Hand the slot directly to the next waiter (no available++/-- churn).
|
|
53
|
+
next(this.makeRelease());
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
this.available++;
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Acquire multiple gates in the given (fixed) order and return a single
|
|
63
|
+
* release that frees them in reverse order. Callers MUST pass gates in a
|
|
64
|
+
* globally consistent order (round gate before per-tool gate) — fixed
|
|
65
|
+
* ordering is what makes multi-gate acquisition deadlock-free.
|
|
66
|
+
*/
|
|
67
|
+
export async function acquireAll(gates) {
|
|
68
|
+
const releases = [];
|
|
69
|
+
for (const gate of gates) {
|
|
70
|
+
if (gate) {
|
|
71
|
+
releases.push(await gate.acquire());
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return () => {
|
|
75
|
+
for (let i = releases.length - 1; i >= 0; i--) {
|
|
76
|
+
releases[i]?.();
|
|
77
|
+
}
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=tool-concurrency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-concurrency.js","sourceRoot":"","sources":["../../src/lib/tool-concurrency.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH;;GAEG;AACH,MAAM,OAAO,SAAS;IAIpB;;OAEG;IACH,YAAY,KAAa;QALR,YAAO,GAA+C,EAAE,CAAC;QAMxE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CAAC,mDAAmD,KAAK,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;IACzB,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;YACvB,IAAI,CAAC,SAAS,EAAE,CAAC;YACjB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,OAAO,CAAmB,CAAC,OAAO,EAAE,EAAE;YAC/C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,WAAW;QACjB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,OAAO,GAAG,EAAE;YACV,IAAI,QAAQ,EAAE,CAAC;gBACb,OAAO;YACT,CAAC;YACD,QAAQ,GAAG,IAAI,CAAC;YAChB,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAClC,IAAI,IAAI,EAAE,CAAC;gBACT,uEAAuE;gBACvE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,KAA2C;IAE3C,MAAM,QAAQ,GAAuB,EAAE,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,EAAE,CAAC;YACT,QAAQ,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,EAAE;QACV,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|