@openrouter/agent 0.7.2 → 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 +728 -19
- package/esm/index.d.ts +24 -6
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +20 -5
- package/esm/index.js.map +1 -1
- package/esm/inner-loop/call-model.d.ts +8 -5
- package/esm/inner-loop/call-model.d.ts.map +1 -1
- package/esm/inner-loop/call-model.js +49 -40
- 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 +107 -6
- package/esm/lib/async-params.d.ts.map +1 -1
- package/esm/lib/async-params.js +8 -1
- 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 +45 -1
- package/esm/lib/conversation-state.d.ts.map +1 -1
- package/esm/lib/conversation-state.js +119 -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-emit.d.ts +50 -0
- package/esm/lib/hooks-emit.d.ts.map +1 -0
- package/esm/lib/hooks-emit.js +307 -0
- package/esm/lib/hooks-emit.js.map +1 -0
- package/esm/lib/hooks-manager.d.ts +141 -0
- package/esm/lib/hooks-manager.d.ts.map +1 -0
- package/esm/lib/hooks-manager.js +282 -0
- package/esm/lib/hooks-manager.js.map +1 -0
- package/esm/lib/hooks-matchers.d.ts +12 -0
- package/esm/lib/hooks-matchers.d.ts.map +1 -0
- package/esm/lib/hooks-matchers.js +26 -0
- package/esm/lib/hooks-matchers.js.map +1 -0
- package/esm/lib/hooks-resolve.d.ts +17 -0
- package/esm/lib/hooks-resolve.d.ts.map +1 -0
- package/esm/lib/hooks-resolve.js +42 -0
- package/esm/lib/hooks-resolve.js.map +1 -0
- package/esm/lib/hooks-schemas.d.ts +221 -0
- package/esm/lib/hooks-schemas.d.ts.map +1 -0
- package/esm/lib/hooks-schemas.js +238 -0
- package/esm/lib/hooks-schemas.js.map +1 -0
- package/esm/lib/hooks-types.d.ts +178 -0
- package/esm/lib/hooks-types.d.ts.map +1 -0
- package/esm/lib/hooks-types.js +45 -0
- package/esm/lib/hooks-types.js.map +1 -0
- package/esm/lib/model-result.d.ts +848 -12
- package/esm/lib/model-result.d.ts.map +1 -1
- package/esm/lib/model-result.js +4055 -410
- package/esm/lib/model-result.js.map +1 -1
- package/esm/lib/reusable-stream.d.ts +15 -0
- package/esm/lib/reusable-stream.d.ts.map +1 -1
- package/esm/lib/reusable-stream.js +25 -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 +263 -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 -47
- 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 +609 -58
- package/esm/lib/tool-types.d.ts.map +1 -1
- package/esm/lib/tool-types.js +72 -10
- package/esm/lib/tool-types.js.map +1 -1
- package/esm/lib/tool.d.ts +217 -25
- package/esm/lib/tool.d.ts.map +1 -1
- package/esm/lib/tool.js +210 -1
- package/esm/lib/tool.js.map +1 -1
- package/package.json +35 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-tool-registry.js","sourceRoot":"","sources":["../../src/lib/async-tool-registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAsB1C;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,iBAAiB;IAA9B;QACmB,UAAK,GAAG,IAAI,GAAG,EAAoB,CAAC;QACrD,wDAAwD;QAChD,iBAAY,GAAsB,EAAE,CAAC;QACrC,gBAAW,GAAG,CAAC,CAAC;QACxB,+DAA+D;QACvD,kBAAa,GAAsB,EAAE,CAAC;IAmXhD,CAAC;IAjXC,gFAAgF;IAChF,cAAc;QACZ,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACvD,OAAO,QAAQ,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;QACvC,CAAC;QACD,OAAO,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;IAClD,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,IAAc;QACrB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,MAAc;QACpB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;;;OAQG;IACH,eAAe,CACb,IAAc,EACd,IAAsB,EACtB,OAEC;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAElC,IAAI,KAAgD,CAAC;QACrD,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;QACrC,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAC3E,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBACtB,MAAM,YAAY,GAAG,IAAI,KAAK,CAC5B,SAAS,IAAI,CAAC,QAAQ,0BAA0B,SAAS,IAAI,CAC9D,CAAC;gBACF,8DAA8D;gBAC9D,gEAAgE;gBAChE,wDAAwD;gBACxD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;oBACvB,MAAM,EAAE,WAAW;oBACnB,KAAK,EAAE,YAAY,CAAC,OAAO;iBAC5B,CAAC,CAAC;gBACH,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;YAClC,CAAC,EAAE,WAAW,CAAC,CAAC;YAChB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBACvF,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,CAAC;QACH,CAAC;QAED,IAAI;aACD,IAAI,CACH,CAAC,MAAM,EAAE,EAAE;YACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;gBACvB,MAAM,EAAE,WAAW;gBACnB,MAAM;aACP,CAAC,CAAC;QACL,CAAC,EACD,CAAC,KAAc,EAAE,EAAE;YACjB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;gBACvB,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;gBAC1C,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC,CAAC;QACL,CAAC,CACF;aACA,OAAO,CAAC,GAAG,EAAE;YACZ,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,CAAC;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,6EAA6E;IAC7E,aAAa,CAAC,KAMb;QACC,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC;YACxB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,KAAK,CAAC,IAAI;YACpB,IAAI,EAAE,OAAO;YACb,GAAG,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,IAAI;gBACnC,SAAS,EAAE,KAAK,CAAC,SAAS;aAC3B,CAAC;YACF,GAAG,CAAC,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI;gBACrC,WAAW,EAAE,KAAK,CAAC,WAAW;aAC/B,CAAC;SACH,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,MAAM,CACZ,MAAc,EACd,OAQK;QAEL,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO,CAAC,oBAAoB;QAC9B,CAAC;QACD,IAAI,CAAC,MAAM;YACT,OAAO,CAAC,MAAM,KAAK,WAAW;gBAC5B,CAAC,CAAC,WAAW;gBACb,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,WAAW;oBAC9B,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,QAAQ,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,OAAO,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC/B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC1C,CAAC;QACD,4DAA4D;QAC5D,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACrB,MAAM;YACN,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,UAAU,EAAE,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS;YAC3D,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI;gBAC9B,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC;YACF,GAAG,OAAO;SACX,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,WAAW;QACT,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACvB,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,8DAA8D;IAC9D,WAAW;QACT,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,uDAAuD;IACvD,qBAAqB;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,+DAA+D;IAC/D,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,wCAAwC;IACxC,OAAO,CAAC,MAAc;QACpB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,wCAAwC;IACxC,YAAY,CAAC,MAAc;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,sBAAsB;IACtB,SAAS;QACP,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,iEAAiE;IACjE,SAAS,CAAC,MAAc,EAAE,IAAa,EAAE,IAA2B;QAClE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,gFAAgF;IAChF,qBAAqB;QACnB,MAAM,QAAQ,GAAuB,EAAE,CAAC;QACxC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACrB,QAAQ,CAAC,IAAI,CAAC;oBACZ,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,IAAI,EAAE,IAAI,CAAC,QAAQ;oBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,QAAQ,EAAE,IAAI;oBACd,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI;wBAChC,OAAO,EAAE;4BACP,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;4BACnB,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;yBACvC;qBACF,CAAC;iBACH,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,4EAA4E;IAC5E,QAAQ;QACN,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7C,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,IAAI,EAAE,CAAC,CAAC,QAAQ;YAChB,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,GAAG,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI;gBAC/B,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB,CAAC;YACF,GAAG,CAAC,CAAC,CAAC,WAAW,KAAK,SAAS,IAAI;gBACjC,WAAW,EAAE,CAAC,CAAC,WAAW;aAC3B,CAAC;YACF,GAAG,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,IAAI;gBACzB,QAAQ,EAAE,IAAI;aACf,CAAC;YACF,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI;gBAC7B,OAAO,EAAE;oBACP,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE;oBAChB,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC;iBACpC;aACF,CAAC;SACH,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,MAAc,EAAE,OAAgB;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,SAAS,MAAM,+FAA+F,CAC/G,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,MAAc,EAAE,MAAe;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;YACvB,MAAM,EAAE,WAAW;YACnB,KAAK,EAAE,MAAM,IAAI,QAAQ,MAAM,YAAY;SAC5C,CAAC,CAAC;QACH,UAAU,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ,MAAM,YAAY,CAAC,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oFAAoF;IACpF,QAAQ,CAAC,MAAe;QACtB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACvD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;gBACnC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE;oBACvB,MAAM,EAAE,WAAW;oBACnB,KAAK,EAAE,MAAM,IAAI,aAAa;iBAC/B,CAAC,CAAC;gBACH,UAAU,EAAE,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CAAC,SAAiB;QAC3B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,OAAO,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACxC,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;gBACnB,OAAO,KAAK,CAAC;YACf,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YACpD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yEAAyE;IACjE,aAAa,CAAC,SAAiB;QACrC,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;YACtC,MAAM,QAAQ,GAAG,GAAG,EAAE;gBACpB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC;YACF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;gBACtE,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,EAAE,SAAS,CAAC,CAAC;YACd,8DAA8D;YAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBACvF,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED,4EAA4E;AAC5E,SAAS,aAAa,CAAC,IAAa;IAClC,MAAM,IAAI,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IACtF,OAAO,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7D,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The async-tool subsystem's façade: task lifecycle, the model-facing `task`
|
|
3
|
+
* tool, the registry of in-flight tasks, and the concurrency primitives that
|
|
4
|
+
* bound them.
|
|
5
|
+
*
|
|
6
|
+
* These four modules are one feature and are always used together, so the
|
|
7
|
+
* engine imports them through here rather than reaching into each. That also
|
|
8
|
+
* keeps `model-result.ts` under the structural gate's fan-out ceiling
|
|
9
|
+
* (`no_god_files` trips above 15 outbound edges): four direct edges for one
|
|
10
|
+
* subsystem became one.
|
|
11
|
+
*
|
|
12
|
+
* Re-exports only — no logic. Anything needing a subset (tests, other lib
|
|
13
|
+
* modules) should still import the specific module directly.
|
|
14
|
+
*/
|
|
15
|
+
export type { SettledToolTask } from './async-tool-registry.js';
|
|
16
|
+
export { AsyncToolRegistry } from './async-tool-registry.js';
|
|
17
|
+
export type { TaskToolInput } from './tool-check.js';
|
|
18
|
+
export { buildTaskToolStub, defaultCheckResult, hasTaskToolNameCollision, persistedTaskCheckResult, resolveCheckConfig, TASK_TOOL_NAME, TaskToolInputSchema, } from './tool-check.js';
|
|
19
|
+
export type { Semaphore as ToolSemaphore } from './tool-concurrency.js';
|
|
20
|
+
export { acquireAll, Semaphore } from './tool-concurrency.js';
|
|
21
|
+
export type { ToolTaskMode } from './tool-task.js';
|
|
22
|
+
export { TASK_RESULT_BOUNDARY, ToolTask } from './tool-task.js';
|
|
23
|
+
//# sourceMappingURL=async-tools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-tools.d.ts","sourceRoot":"","sources":["../../src/lib/async-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC9D,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The async-tool subsystem's façade: task lifecycle, the model-facing `task`
|
|
3
|
+
* tool, the registry of in-flight tasks, and the concurrency primitives that
|
|
4
|
+
* bound them.
|
|
5
|
+
*
|
|
6
|
+
* These four modules are one feature and are always used together, so the
|
|
7
|
+
* engine imports them through here rather than reaching into each. That also
|
|
8
|
+
* keeps `model-result.ts` under the structural gate's fan-out ceiling
|
|
9
|
+
* (`no_god_files` trips above 15 outbound edges): four direct edges for one
|
|
10
|
+
* subsystem became one.
|
|
11
|
+
*
|
|
12
|
+
* Re-exports only — no logic. Anything needing a subset (tests, other lib
|
|
13
|
+
* modules) should still import the specific module directly.
|
|
14
|
+
*/
|
|
15
|
+
export { AsyncToolRegistry } from './async-tool-registry.js';
|
|
16
|
+
export { buildTaskToolStub, defaultCheckResult, hasTaskToolNameCollision, persistedTaskCheckResult, resolveCheckConfig, TASK_TOOL_NAME, TaskToolInputSchema, } from './tool-check.js';
|
|
17
|
+
export { acquireAll, Semaphore } from './tool-concurrency.js';
|
|
18
|
+
export { TASK_RESULT_BOUNDARY, ToolTask } from './tool-task.js';
|
|
19
|
+
//# sourceMappingURL=async-tools.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-tools.js","sourceRoot":"","sources":["../../src/lib/async-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,wBAAwB,EACxB,wBAAwB,EACxB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -5,16 +5,59 @@ import type { ConversationState, ParsedToolCall, Tool, TurnContext, UnsentToolRe
|
|
|
5
5
|
* Uses crypto.randomUUID if available, falls back to timestamp + random
|
|
6
6
|
*/
|
|
7
7
|
export declare function generateConversationId(): string;
|
|
8
|
+
/** Currently supported ConversationState serialization version. */
|
|
9
|
+
export declare const CONVERSATION_STATE_VERSION: 1;
|
|
8
10
|
/**
|
|
9
11
|
* Create an initial conversation state
|
|
10
12
|
* @param id - Optional custom ID, generates one if not provided
|
|
11
13
|
*/
|
|
12
14
|
export declare function createInitialState<TTools extends readonly Tool[] = readonly Tool[]>(id?: string): ConversationState<TTools>;
|
|
15
|
+
/**
|
|
16
|
+
* Thrown when {@link deserializeConversationState} encounters a state blob whose
|
|
17
|
+
* `version` is not supported by this SDK build.
|
|
18
|
+
*/
|
|
19
|
+
export declare class UnsupportedStateVersionError extends Error {
|
|
20
|
+
readonly found: number;
|
|
21
|
+
readonly supported: readonly number[];
|
|
22
|
+
constructor(found: number, supported?: readonly number[]);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Thrown when {@link deserializeConversationState} receives JSON that is not a
|
|
26
|
+
* well-formed ConversationState (missing/wrong required fields, or invalid JSON).
|
|
27
|
+
*/
|
|
28
|
+
export declare class InvalidStateError extends Error {
|
|
29
|
+
constructor(message: string);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Serialize a {@link ConversationState} to a stable JSON string for durable storage.
|
|
33
|
+
*
|
|
34
|
+
* Guarantees the `version` field is present (injects `1` when the input state
|
|
35
|
+
* lacks it). Treat the returned JSON as **opaque**: consumers should round-trip
|
|
36
|
+
* via these helpers rather than introspecting item shapes.
|
|
37
|
+
*
|
|
38
|
+
* **Compat policy:** additive field changes within a major version. On version
|
|
39
|
+
* bumps, migrations run inside {@link deserializeConversationState}. The
|
|
40
|
+
* StateAccessor load/save contract is unchanged — these helpers are opt-in.
|
|
41
|
+
*/
|
|
42
|
+
export declare function serializeConversationState<TTools extends readonly Tool[] = readonly Tool[]>(state: ConversationState<TTools>): string;
|
|
43
|
+
/**
|
|
44
|
+
* Parse and validate a previously serialized {@link ConversationState}.
|
|
45
|
+
*
|
|
46
|
+
* Accepts version-less legacy blobs and states with `version: 1`, normalizing
|
|
47
|
+
* both to `version: 1`. Throws {@link UnsupportedStateVersionError} for any
|
|
48
|
+
* other version (fail loudly so stores don't silently misinterpret future
|
|
49
|
+
* shapes). Throws {@link InvalidStateError} for malformed JSON or missing
|
|
50
|
+
* required fields (`id`, `messages`, `status`).
|
|
51
|
+
*
|
|
52
|
+
* **Compat policy:** absence of `version` means v1. Migrations for future
|
|
53
|
+
* versions happen here; callers should treat the JSON as opaque.
|
|
54
|
+
*/
|
|
55
|
+
export declare function deserializeConversationState<TTools extends readonly Tool[] = readonly Tool[]>(json: string): ConversationState<TTools>;
|
|
13
56
|
/**
|
|
14
57
|
* Update a conversation state with new values
|
|
15
58
|
* Automatically updates the updatedAt timestamp
|
|
16
59
|
*/
|
|
17
|
-
export declare function updateState<TTools extends readonly Tool[] = readonly Tool[]>(state: ConversationState<TTools>, updates: Partial<Omit<ConversationState<TTools>, 'id' | 'createdAt' | 'updatedAt'>>): ConversationState<TTools>;
|
|
60
|
+
export declare function updateState<TTools extends readonly Tool[] = readonly Tool[]>(state: ConversationState<TTools>, updates: Partial<Omit<ConversationState<TTools>, 'id' | 'createdAt' | 'updatedAt' | 'version'>>): ConversationState<TTools>;
|
|
18
61
|
/**
|
|
19
62
|
* Append new items to the message history
|
|
20
63
|
*/
|
|
@@ -70,4 +113,5 @@ export declare function extractTextFromResponse(response: models.OpenResponsesRe
|
|
|
70
113
|
* Extract tool calls from a response
|
|
71
114
|
*/
|
|
72
115
|
export declare function extractToolCallsFromResponse<TTools extends readonly Tool[]>(response: models.OpenResponsesResult): ParsedToolCall<TTools[number]>[];
|
|
116
|
+
export { normalizeInputToArray } from './turn-context.js';
|
|
73
117
|
//# sourceMappingURL=conversation-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-state.d.ts","sourceRoot":"","sources":["../../src/lib/conversation-state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EACd,IAAI,EACJ,WAAW,EACX,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;AAyCzB;;;GAGG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAM/C;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,SAAS,SAAS,IAAI,EAAE,GAAG,SAAS,IAAI,EAAE,EACjF,EAAE,CAAC,EAAE,MAAM,GACV,iBAAiB,CAAC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"conversation-state.d.ts","sourceRoot":"","sources":["../../src/lib/conversation-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,8 @@ export function generateConversationId() {
|
|
|
37
37
|
// Fallback for environments without crypto.randomUUID
|
|
38
38
|
return `conv_${Date.now()}_${Math.random().toString(36).substring(2, 15)}`;
|
|
39
39
|
}
|
|
40
|
+
/** Currently supported ConversationState serialization version. */
|
|
41
|
+
export const CONVERSATION_STATE_VERSION = 1;
|
|
40
42
|
/**
|
|
41
43
|
* Create an initial conversation state
|
|
42
44
|
* @param id - Optional custom ID, generates one if not provided
|
|
@@ -44,6 +46,7 @@ export function generateConversationId() {
|
|
|
44
46
|
export function createInitialState(id) {
|
|
45
47
|
const now = Date.now();
|
|
46
48
|
return {
|
|
49
|
+
version: CONVERSATION_STATE_VERSION,
|
|
47
50
|
id: id ?? generateConversationId(),
|
|
48
51
|
messages: [],
|
|
49
52
|
status: 'in_progress',
|
|
@@ -51,6 +54,114 @@ export function createInitialState(id) {
|
|
|
51
54
|
updatedAt: now,
|
|
52
55
|
};
|
|
53
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* Thrown when {@link deserializeConversationState} encounters a state blob whose
|
|
59
|
+
* `version` is not supported by this SDK build.
|
|
60
|
+
*/
|
|
61
|
+
export class UnsupportedStateVersionError extends Error {
|
|
62
|
+
constructor(found, supported = [
|
|
63
|
+
CONVERSATION_STATE_VERSION,
|
|
64
|
+
]) {
|
|
65
|
+
super(`Unsupported ConversationState version ${found}; supported version(s): ${supported.join(', ')}`);
|
|
66
|
+
this.name = 'UnsupportedStateVersionError';
|
|
67
|
+
this.found = found;
|
|
68
|
+
this.supported = supported;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Thrown when {@link deserializeConversationState} receives JSON that is not a
|
|
73
|
+
* well-formed ConversationState (missing/wrong required fields, or invalid JSON).
|
|
74
|
+
*/
|
|
75
|
+
export class InvalidStateError extends Error {
|
|
76
|
+
constructor(message) {
|
|
77
|
+
super(message);
|
|
78
|
+
this.name = 'InvalidStateError';
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Serialize a {@link ConversationState} to a stable JSON string for durable storage.
|
|
83
|
+
*
|
|
84
|
+
* Guarantees the `version` field is present (injects `1` when the input state
|
|
85
|
+
* lacks it). Treat the returned JSON as **opaque**: consumers should round-trip
|
|
86
|
+
* via these helpers rather than introspecting item shapes.
|
|
87
|
+
*
|
|
88
|
+
* **Compat policy:** additive field changes within a major version. On version
|
|
89
|
+
* bumps, migrations run inside {@link deserializeConversationState}. The
|
|
90
|
+
* StateAccessor load/save contract is unchanged — these helpers are opt-in.
|
|
91
|
+
*/
|
|
92
|
+
export function serializeConversationState(state) {
|
|
93
|
+
return JSON.stringify({
|
|
94
|
+
...state,
|
|
95
|
+
version: state.version ?? CONVERSATION_STATE_VERSION,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Parse and validate a previously serialized {@link ConversationState}.
|
|
100
|
+
*
|
|
101
|
+
* Accepts version-less legacy blobs and states with `version: 1`, normalizing
|
|
102
|
+
* both to `version: 1`. Throws {@link UnsupportedStateVersionError} for any
|
|
103
|
+
* other version (fail loudly so stores don't silently misinterpret future
|
|
104
|
+
* shapes). Throws {@link InvalidStateError} for malformed JSON or missing
|
|
105
|
+
* required fields (`id`, `messages`, `status`).
|
|
106
|
+
*
|
|
107
|
+
* **Compat policy:** absence of `version` means v1. Migrations for future
|
|
108
|
+
* versions happen here; callers should treat the JSON as opaque.
|
|
109
|
+
*/
|
|
110
|
+
export function deserializeConversationState(json) {
|
|
111
|
+
let parsed;
|
|
112
|
+
try {
|
|
113
|
+
parsed = JSON.parse(json);
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
throw new InvalidStateError(`Invalid ConversationState JSON: ${error instanceof Error ? error.message : String(error)}`);
|
|
117
|
+
}
|
|
118
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
|
|
119
|
+
throw new InvalidStateError('ConversationState must be a JSON object');
|
|
120
|
+
}
|
|
121
|
+
const obj = parsed;
|
|
122
|
+
// Version check runs before structural validation: a future-version blob may
|
|
123
|
+
// have a different shape, and it must fail with UnsupportedStateVersionError
|
|
124
|
+
// rather than a misleading InvalidStateError about v1 fields.
|
|
125
|
+
const version = obj['version'];
|
|
126
|
+
if (version !== undefined && version !== CONVERSATION_STATE_VERSION) {
|
|
127
|
+
if (typeof version !== 'number') {
|
|
128
|
+
throw new InvalidStateError(`ConversationState field "version" must be a number when present (got ${describeType(version)})`);
|
|
129
|
+
}
|
|
130
|
+
throw new UnsupportedStateVersionError(version, [
|
|
131
|
+
CONVERSATION_STATE_VERSION,
|
|
132
|
+
]);
|
|
133
|
+
}
|
|
134
|
+
if (typeof obj['id'] !== 'string') {
|
|
135
|
+
throw new InvalidStateError(`ConversationState missing or invalid field "id" (expected string, got ${describeType(obj['id'])})`);
|
|
136
|
+
}
|
|
137
|
+
// messages is models.InputsUnion — typically an array of items, but the type
|
|
138
|
+
// also allows a single item / string; require array for durable store blobs.
|
|
139
|
+
if (!Array.isArray(obj['messages'])) {
|
|
140
|
+
throw new InvalidStateError(`ConversationState missing or invalid field "messages" (expected array, got ${describeType(obj['messages'])})`);
|
|
141
|
+
}
|
|
142
|
+
if (typeof obj['status'] !== 'string') {
|
|
143
|
+
throw new InvalidStateError(`ConversationState missing or invalid field "status" (expected string, got ${describeType(obj['status'])})`);
|
|
144
|
+
}
|
|
145
|
+
if (typeof obj['createdAt'] !== 'number') {
|
|
146
|
+
throw new InvalidStateError(`ConversationState missing or invalid field "createdAt" (expected number, got ${describeType(obj['createdAt'])})`);
|
|
147
|
+
}
|
|
148
|
+
if (typeof obj['updatedAt'] !== 'number') {
|
|
149
|
+
throw new InvalidStateError(`ConversationState missing or invalid field "updatedAt" (expected number, got ${describeType(obj['updatedAt'])})`);
|
|
150
|
+
}
|
|
151
|
+
return {
|
|
152
|
+
...obj,
|
|
153
|
+
version: CONVERSATION_STATE_VERSION,
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
function describeType(value) {
|
|
157
|
+
if (value === null) {
|
|
158
|
+
return 'null';
|
|
159
|
+
}
|
|
160
|
+
if (Array.isArray(value)) {
|
|
161
|
+
return 'array';
|
|
162
|
+
}
|
|
163
|
+
return typeof value;
|
|
164
|
+
}
|
|
54
165
|
/**
|
|
55
166
|
* Update a conversation state with new values
|
|
56
167
|
* Automatically updates the updatedAt timestamp
|
|
@@ -276,4 +387,12 @@ export function extractToolCallsFromResponse(response) {
|
|
|
276
387
|
}
|
|
277
388
|
return toolCalls;
|
|
278
389
|
}
|
|
390
|
+
/*
|
|
391
|
+
* Re-exported so `model-result.ts` can normalize input without a direct edge to
|
|
392
|
+
* `turn-context.js`: that module sits at the structural gate's fan-out ceiling
|
|
393
|
+
* (`no_god_files` trips above 15 outbound edges). This module already imports
|
|
394
|
+
* the helper for its own append path, and normalizing conversation input is
|
|
395
|
+
* squarely its concern, so nothing new is coupled.
|
|
396
|
+
*/
|
|
397
|
+
export { normalizeInputToArray } from './turn-context.js';
|
|
279
398
|
//# sourceMappingURL=conversation-state.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conversation-state.js","sourceRoot":"","sources":["../../src/lib/conversation-state.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;GAEG;AACH,SAAS,uBAAuB,CAC9B,GAAY;IAEZ,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CACL,QAAQ,IAAI,GAAG;QACf,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;QAC9B,MAAM,IAAI,GAAG;QACb,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAC5B,QAAQ,IAAI,GAAG,CAChB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAC5B,GAAY;IAEZ,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CACL,IAAI,IAAI,GAAG;QACX,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ;QAC1B,MAAM,IAAI,GAAG;QACb,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAC5B,WAAW,IAAI,GAAG,CACnB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IACpC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACvD,OAAO,QAAQ,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;IACvC,CAAC;IACD,sDAAsD;IACtD,OAAO,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AAC7E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,EAAW;IAEX,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,OAAO;QACL,EAAE,EAAE,EAAE,IAAI,sBAAsB,EAAE;QAClC,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG;KACf,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CACzB,KAAgC,EAChC,
|
|
1
|
+
{"version":3,"file":"conversation-state.js","sourceRoot":"","sources":["../../src/lib/conversation-state.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE1D;;GAEG;AACH,SAAS,uBAAuB,CAC9B,GAAY;IAEZ,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CACL,QAAQ,IAAI,GAAG;QACf,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ;QAC9B,MAAM,IAAI,GAAG;QACb,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAC5B,QAAQ,IAAI,GAAG,CAChB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAC5B,GAAY;IAEZ,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CACL,IAAI,IAAI,GAAG;QACX,OAAO,GAAG,CAAC,EAAE,KAAK,QAAQ;QAC1B,MAAM,IAAI,GAAG;QACb,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ;QAC5B,WAAW,IAAI,GAAG,CACnB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB;IACpC,IAAI,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACvD,OAAO,QAAQ,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC;IACvC,CAAC;IACD,sDAAsD;IACtD,OAAO,QAAQ,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AAC7E,CAAC;AAED,mEAAmE;AACnE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAU,CAAC;AAErD;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAChC,EAAW;IAEX,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,OAAO;QACL,OAAO,EAAE,0BAA0B;QACnC,EAAE,EAAE,EAAE,IAAI,sBAAsB,EAAE;QAClC,QAAQ,EAAE,EAAE;QACZ,MAAM,EAAE,aAAa;QACrB,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG;KACf,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IAIrD,YACE,KAAa,EACb,YAA+B;QAC7B,0BAA0B;KAC3B;QAED,KAAK,CACH,yCAAyC,KAAK,2BAA2B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChG,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAgC;IAEhC,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,GAAG,KAAK;QACR,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,0BAA0B;KACrD,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,4BAA4B,CAC1C,IAAY;IAEZ,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,iBAAiB,CACzB,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC5F,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,iBAAiB,CAAC,yCAAyC,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,GAAG,GAAG,MAAiC,CAAC;IAE9C,6EAA6E;IAC7E,6EAA6E;IAC7E,8DAA8D;IAC9D,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/B,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,0BAA0B,EAAE,CAAC;QACpE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,MAAM,IAAI,iBAAiB,CACzB,wEAAwE,YAAY,CAAC,OAAO,CAAC,GAAG,CACjG,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,4BAA4B,CAAC,OAAO,EAAE;YAC9C,0BAA0B;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,IAAI,iBAAiB,CACzB,yEAAyE,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CACpG,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,6EAA6E;IAC7E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,iBAAiB,CACzB,8EAA8E,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,GAAG,CAC/G,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,iBAAiB,CACzB,6EAA6E,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,GAAG,CAC5G,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,IAAI,iBAAiB,CACzB,gFAAgF,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,GAAG,CAClH,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,WAAW,CAAC,KAAK,QAAQ,EAAE,CAAC;QACzC,MAAM,IAAI,iBAAiB,CACzB,gFAAgF,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,GAAG,CAClH,CAAC;IACJ,CAAC;IAED,OAAO;QACL,GAAI,GAA4C;QAChD,OAAO,EAAE,0BAA0B;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,OAAO,OAAO,KAAK,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CACzB,KAAgC,EAChC,OAA+F;IAE/F,OAAO;QACL,GAAG,KAAK;QACR,GAAG,OAAO;QACV,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAA2B,EAC3B,QAAkC;IAElC,MAAM,YAAY,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACpD,OAAO;QACL,GAAG,YAAY;QACf,GAAG,QAAQ;KACZ,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,QAAwC,EACxC,KAAa,EACb,OAAoB,EACpB,cAG+B;IAE/B,oCAAoC;IACpC,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,wEAAwE;IACxE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CACrB,CACE,CAAC,EAMD,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAC1D,CAAC;IACF,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;IAEtD,qEAAqE;IACrE,sEAAsE;IACtE,kEAAkE;IAClE,wEAAwE;IACxE,+CAA+C;IAC/C,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAY,QAAQ,CAAC,SAAS,CAAC;QAC5C,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CACb,2BAA2B,QAAQ,CAAC,IAAI,iDAAiD,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,OAAO,EAAE,CACzK,CAAC;QACJ,CAAC;QACD,OAAO,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,6BAA6B;IAC7B,OAAO,eAAe,IAAI,KAAK,CAAC;AAClC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAA2C,EAC3C,KAAa,EACb,OAAoB,EACpB,cAG+B;IAK/B,MAAM,gBAAgB,GAAqC,EAAE,CAAC;IAC9D,MAAM,WAAW,GAAqC,EAAE,CAAC;IAEzD,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,IAAI,MAAM,oBAAoB,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE,CAAC;YACnE,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,OAAO;QACL,gBAAgB;QAChB,WAAW;KACZ,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAAc,EACd,IAAY,EACZ,MAAe;IAEf,MAAM,MAAM,GAAG;QACb,MAAM;QACN,IAAI;QACJ,MAAM;KACP,CAAC;IACF,IAAI,CAAC,uBAAuB,CAAS,MAAM,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,IAAY,EACZ,MAAe;IAEf,MAAM,MAAM,GAAG;QACb,MAAM;QACN,IAAI;QACJ,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,MAAM,IAAI,4BAA4B;KAC9C,CAAC;IACF,IAAI,CAAC,uBAAuB,CAAS,MAAM,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAc;IAEd,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,KAAK,CAAC,KAAK,CAChB,CAAC,IAAI,EAAE,EAAE,CACP,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACb,MAAM,IAAI,IAAI;QACd,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAC5F,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAA2B;IAE3B,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACvB,IAAI,MAA4D,CAAC;QAEjE,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC;gBACtB,KAAK,EAAE,CAAC,CAAC,KAAK;aACf,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,oEAAoE;YACpE,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC;QACpB,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACpC,CAAC;QAED,OAAO;YACL,IAAI,EAAE,sBAA+B;YACrC,EAAE,EAAE,UAAU,CAAC,CAAC,MAAM,EAAE;YACxB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,MAAM;SACP,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAoC;IAC1E,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC5C,CAAC,CAAC,QAAQ,CAAC,MAAM;QACjB,CAAC,CAAC;YACE,QAAQ,CAAC,MAAM;SAChB,CAAC;IACN,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,SAAS,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjE,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACnC,IAAI,OAAO,CAAC,IAAI,KAAK,aAAa,IAAI,MAAM,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;oBACxE,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAC1C,QAAoC;IAEpC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC5C,CAAC,CAAC,QAAQ,CAAC,MAAM;QACjB,CAAC,CAAC;YACE,QAAQ,CAAC,MAAM;SAChB,CAAC;IACN,MAAM,SAAS,GAAqC,EAAE,CAAC;IAEvD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;QAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,EAAE,CAAC;YAC5D,SAAS;QACX,CAAC;QAED,IAAI,eAAwB,CAAC;QAC7B,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;YACvC,IAAI,CAAC;gBACH,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC/C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,8EAA8E;gBAC9E,OAAO,CAAC,IAAI,CACV,4CAA4C,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,MAAM,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACjJ,CAAC;gBACF,SAAS;YACX,CAAC;QACH,CAAC;aAAM,CAAC;YACN,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,CAAC;QAED,MAAM,QAAQ,GAAG;YACf,EAAE,EAAE,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,EAAE,IAAI,EAAE;YACjE,IAAI,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE;YACpD,SAAS,EAAE,eAAe;SAC3B,CAAC;QACF,IAAI,CAAC,qBAAqB,CAAS,QAAQ,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,yCAAyC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;GAMG;AACH,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC"}
|