pm-orchestrator-runner 1.0.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/LICENSE +21 -0
- package/README.md +108 -0
- package/dist/cli/cli-interface.d.ts +150 -0
- package/dist/cli/cli-interface.d.ts.map +1 -0
- package/dist/cli/cli-interface.js +606 -0
- package/dist/cli/cli-interface.js.map +1 -0
- package/dist/cli/index.d.ts +13 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +243 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/llm-sentinel.d.ts +15 -0
- package/dist/cli/llm-sentinel.d.ts.map +1 -0
- package/dist/cli/llm-sentinel.js +184 -0
- package/dist/cli/llm-sentinel.js.map +1 -0
- package/dist/config/configuration-manager.d.ts +149 -0
- package/dist/config/configuration-manager.d.ts.map +1 -0
- package/dist/config/configuration-manager.js +241 -0
- package/dist/config/configuration-manager.js.map +1 -0
- package/dist/continuation/continuation-control-manager.d.ts +154 -0
- package/dist/continuation/continuation-control-manager.d.ts.map +1 -0
- package/dist/continuation/continuation-control-manager.js +303 -0
- package/dist/continuation/continuation-control-manager.js.map +1 -0
- package/dist/core/runner-core.d.ts +474 -0
- package/dist/core/runner-core.d.ts.map +1 -0
- package/dist/core/runner-core.js +1311 -0
- package/dist/core/runner-core.js.map +1 -0
- package/dist/errors/error-codes.d.ts +105 -0
- package/dist/errors/error-codes.d.ts.map +1 -0
- package/dist/errors/error-codes.js +198 -0
- package/dist/errors/error-codes.js.map +1 -0
- package/dist/errors/runner-error.d.ts +14 -0
- package/dist/errors/runner-error.d.ts.map +1 -0
- package/dist/errors/runner-error.js +33 -0
- package/dist/errors/runner-error.js.map +1 -0
- package/dist/evidence/evidence-manager.d.ts +112 -0
- package/dist/evidence/evidence-manager.d.ts.map +1 -0
- package/dist/evidence/evidence-manager.js +337 -0
- package/dist/evidence/evidence-manager.js.map +1 -0
- package/dist/executor/claude-code-executor.d.ts +136 -0
- package/dist/executor/claude-code-executor.d.ts.map +1 -0
- package/dist/executor/claude-code-executor.js +643 -0
- package/dist/executor/claude-code-executor.js.map +1 -0
- package/dist/executor/deterministic-executor.d.ts +40 -0
- package/dist/executor/deterministic-executor.d.ts.map +1 -0
- package/dist/executor/deterministic-executor.js +269 -0
- package/dist/executor/deterministic-executor.js.map +1 -0
- package/dist/lifecycle/lifecycle-controller.d.ts +270 -0
- package/dist/lifecycle/lifecycle-controller.d.ts.map +1 -0
- package/dist/lifecycle/lifecycle-controller.js +596 -0
- package/dist/lifecycle/lifecycle-controller.js.map +1 -0
- package/dist/limits/resource-limit-manager.d.ts +200 -0
- package/dist/limits/resource-limit-manager.d.ts.map +1 -0
- package/dist/limits/resource-limit-manager.js +376 -0
- package/dist/limits/resource-limit-manager.js.map +1 -0
- package/dist/locks/lock-manager.d.ts +116 -0
- package/dist/locks/lock-manager.d.ts.map +1 -0
- package/dist/locks/lock-manager.js +306 -0
- package/dist/locks/lock-manager.js.map +1 -0
- package/dist/logging/index.d.ts +8 -0
- package/dist/logging/index.d.ts.map +1 -0
- package/dist/logging/index.js +22 -0
- package/dist/logging/index.js.map +1 -0
- package/dist/logging/sensitive-data-masker.d.ts +90 -0
- package/dist/logging/sensitive-data-masker.d.ts.map +1 -0
- package/dist/logging/sensitive-data-masker.js +228 -0
- package/dist/logging/sensitive-data-masker.js.map +1 -0
- package/dist/logging/task-log-manager.d.ts +215 -0
- package/dist/logging/task-log-manager.d.ts.map +1 -0
- package/dist/logging/task-log-manager.js +743 -0
- package/dist/logging/task-log-manager.js.map +1 -0
- package/dist/mediation/fail-closed-runner.d.ts +131 -0
- package/dist/mediation/fail-closed-runner.d.ts.map +1 -0
- package/dist/mediation/fail-closed-runner.js +245 -0
- package/dist/mediation/fail-closed-runner.js.map +1 -0
- package/dist/mediation/llm-client-with-evidence.d.ts +123 -0
- package/dist/mediation/llm-client-with-evidence.d.ts.map +1 -0
- package/dist/mediation/llm-client-with-evidence.js +245 -0
- package/dist/mediation/llm-client-with-evidence.js.map +1 -0
- package/dist/mediation/llm-client.d.ts +102 -0
- package/dist/mediation/llm-client.d.ts.map +1 -0
- package/dist/mediation/llm-client.js +206 -0
- package/dist/mediation/llm-client.js.map +1 -0
- package/dist/mediation/llm-evidence-manager.d.ts +108 -0
- package/dist/mediation/llm-evidence-manager.d.ts.map +1 -0
- package/dist/mediation/llm-evidence-manager.js +230 -0
- package/dist/mediation/llm-evidence-manager.js.map +1 -0
- package/dist/mediation/llm-mediation-layer.d.ts +175 -0
- package/dist/mediation/llm-mediation-layer.d.ts.map +1 -0
- package/dist/mediation/llm-mediation-layer.js +315 -0
- package/dist/mediation/llm-mediation-layer.js.map +1 -0
- package/dist/mediation/llm-sentinel.d.ts +107 -0
- package/dist/mediation/llm-sentinel.d.ts.map +1 -0
- package/dist/mediation/llm-sentinel.js +187 -0
- package/dist/mediation/llm-sentinel.js.map +1 -0
- package/dist/mediation/real-llm-mediation-layer.d.ts +104 -0
- package/dist/mediation/real-llm-mediation-layer.d.ts.map +1 -0
- package/dist/mediation/real-llm-mediation-layer.js +322 -0
- package/dist/mediation/real-llm-mediation-layer.js.map +1 -0
- package/dist/mediation/verdict-reporter.d.ts +61 -0
- package/dist/mediation/verdict-reporter.d.ts.map +1 -0
- package/dist/mediation/verdict-reporter.js +178 -0
- package/dist/mediation/verdict-reporter.js.map +1 -0
- package/dist/models/enums.d.ts +133 -0
- package/dist/models/enums.d.ts.map +1 -0
- package/dist/models/enums.js +201 -0
- package/dist/models/enums.js.map +1 -0
- package/dist/models/evidence.d.ts +60 -0
- package/dist/models/evidence.d.ts.map +1 -0
- package/dist/models/evidence.js +135 -0
- package/dist/models/evidence.js.map +1 -0
- package/dist/models/execution-result.d.ts +89 -0
- package/dist/models/execution-result.d.ts.map +1 -0
- package/dist/models/execution-result.js +197 -0
- package/dist/models/execution-result.js.map +1 -0
- package/dist/models/file-lock.d.ts +62 -0
- package/dist/models/file-lock.d.ts.map +1 -0
- package/dist/models/file-lock.js +133 -0
- package/dist/models/file-lock.js.map +1 -0
- package/dist/models/index.d.ts +12 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +91 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/repl/index.d.ts +7 -0
- package/dist/models/repl/index.d.ts.map +1 -0
- package/dist/models/repl/index.js +32 -0
- package/dist/models/repl/index.js.map +1 -0
- package/dist/models/repl/model-registry.d.ts +73 -0
- package/dist/models/repl/model-registry.d.ts.map +1 -0
- package/dist/models/repl/model-registry.js +116 -0
- package/dist/models/repl/model-registry.js.map +1 -0
- package/dist/models/repl/repl-state.d.ts +86 -0
- package/dist/models/repl/repl-state.d.ts.map +1 -0
- package/dist/models/repl/repl-state.js +152 -0
- package/dist/models/repl/repl-state.js.map +1 -0
- package/dist/models/repl/task-log.d.ts +247 -0
- package/dist/models/repl/task-log.d.ts.map +1 -0
- package/dist/models/repl/task-log.js +178 -0
- package/dist/models/repl/task-log.js.map +1 -0
- package/dist/models/session.d.ts +71 -0
- package/dist/models/session.d.ts.map +1 -0
- package/dist/models/session.js +140 -0
- package/dist/models/session.js.map +1 -0
- package/dist/models/supporting.d.ts +97 -0
- package/dist/models/supporting.d.ts.map +1 -0
- package/dist/models/supporting.js +208 -0
- package/dist/models/supporting.js.map +1 -0
- package/dist/models/task.d.ts +77 -0
- package/dist/models/task.d.ts.map +1 -0
- package/dist/models/task.js +170 -0
- package/dist/models/task.js.map +1 -0
- package/dist/output/output-control-manager.d.ts +217 -0
- package/dist/output/output-control-manager.d.ts.map +1 -0
- package/dist/output/output-control-manager.js +378 -0
- package/dist/output/output-control-manager.js.map +1 -0
- package/dist/pool/agent-pool.d.ts +284 -0
- package/dist/pool/agent-pool.d.ts.map +1 -0
- package/dist/pool/agent-pool.js +451 -0
- package/dist/pool/agent-pool.js.map +1 -0
- package/dist/repl/commands/index.d.ts +12 -0
- package/dist/repl/commands/index.d.ts.map +1 -0
- package/dist/repl/commands/index.js +26 -0
- package/dist/repl/commands/index.js.map +1 -0
- package/dist/repl/commands/init.d.ts +31 -0
- package/dist/repl/commands/init.d.ts.map +1 -0
- package/dist/repl/commands/init.js +234 -0
- package/dist/repl/commands/init.js.map +1 -0
- package/dist/repl/commands/keys.d.ts +63 -0
- package/dist/repl/commands/keys.d.ts.map +1 -0
- package/dist/repl/commands/keys.js +114 -0
- package/dist/repl/commands/keys.js.map +1 -0
- package/dist/repl/commands/logs.d.ts +91 -0
- package/dist/repl/commands/logs.d.ts.map +1 -0
- package/dist/repl/commands/logs.js +200 -0
- package/dist/repl/commands/logs.js.map +1 -0
- package/dist/repl/commands/model.d.ts +85 -0
- package/dist/repl/commands/model.d.ts.map +1 -0
- package/dist/repl/commands/model.js +225 -0
- package/dist/repl/commands/model.js.map +1 -0
- package/dist/repl/commands/models.d.ts +50 -0
- package/dist/repl/commands/models.d.ts.map +1 -0
- package/dist/repl/commands/models.js +180 -0
- package/dist/repl/commands/models.js.map +1 -0
- package/dist/repl/commands/provider.d.ts +79 -0
- package/dist/repl/commands/provider.d.ts.map +1 -0
- package/dist/repl/commands/provider.js +291 -0
- package/dist/repl/commands/provider.js.map +1 -0
- package/dist/repl/commands/session.d.ts +50 -0
- package/dist/repl/commands/session.d.ts.map +1 -0
- package/dist/repl/commands/session.js +152 -0
- package/dist/repl/commands/session.js.map +1 -0
- package/dist/repl/commands/status.d.ts +55 -0
- package/dist/repl/commands/status.d.ts.map +1 -0
- package/dist/repl/commands/status.js +182 -0
- package/dist/repl/commands/status.js.map +1 -0
- package/dist/repl/index.d.ts +6 -0
- package/dist/repl/index.d.ts.map +1 -0
- package/dist/repl/index.js +25 -0
- package/dist/repl/index.js.map +1 -0
- package/dist/repl/repl-interface.d.ts +371 -0
- package/dist/repl/repl-interface.d.ts.map +1 -0
- package/dist/repl/repl-interface.js +1214 -0
- package/dist/repl/repl-interface.js.map +1 -0
- package/dist/session/session-manager.d.ts +85 -0
- package/dist/session/session-manager.d.ts.map +1 -0
- package/dist/session/session-manager.js +217 -0
- package/dist/session/session-manager.js.map +1 -0
- package/dist/supervisor/executor-supervisor.d.ts +90 -0
- package/dist/supervisor/executor-supervisor.d.ts.map +1 -0
- package/dist/supervisor/executor-supervisor.js +223 -0
- package/dist/supervisor/executor-supervisor.js.map +1 -0
- package/dist/supervisor/index.d.ts +5 -0
- package/dist/supervisor/index.d.ts.map +1 -0
- package/dist/supervisor/index.js +9 -0
- package/dist/supervisor/index.js.map +1 -0
- package/package.json +57 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-log-manager.js","sourceRoot":"","sources":["../../src/logging/task-log-manager.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAC7B,sDAwBiC;AAEjC,mEAAiF;AAoBjF;;;GAGG;AACH,MAAM,OAAO,GAAG,MAAM,CAAC;AAq0Bd,0BAAO;AAp0BhB,MAAM,YAAY,GAAG,UAAU,CAAC;AAo0BkB,oCAAY;AAn0B9D,MAAM,SAAS,GAAG,OAAO,CAAC;AAm0BI,8BAAS;AAl0BvC,MAAM,OAAO,GAAG,KAAK,CAAC;AAk0BmB,0BAAO;AAj0BhD,MAAM,UAAU,GAAG,YAAY,CAAC;AAi0Bd,gCAAU;AAh0B5B,MAAM,YAAY,GAAG,cAAc,CAAC;AAg0B4B,oCAAY;AA9zB5E;;;GAGG;AACH,MAAa,cAAc;IACR,WAAW,CAAS;IACpB,QAAQ,CAAS;IAElC,6CAA6C;IACrC,cAAc,GAAwB,IAAI,GAAG,EAAE,CAAC;IAChD,WAAW,GAAwB,IAAI,GAAG,EAAE,CAAC;IAC7C,YAAY,GAAwB,IAAI,GAAG,EAAE,CAAC;IAEtD,YAAY,WAAmB;QAC7B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,SAAiB;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,SAAiB;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;IAC9D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,oBAAoB;QACxB,MAAM,IAAI,GAAG;YACX,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC;SACvC,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,wBAAwB,CAAC,SAAiB;QAC9C,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAElC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAEhD,MAAM,IAAI,GAAG,CAAC,WAAW,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAE/C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QACvC,MAAM,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAE/C,uCAAuC;QACvC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAEpC,0BAA0B;QAC1B,MAAM,WAAW,GAAG,IAAA,gCAAqB,EAAC,SAAS,CAAC,CAAC;QACrD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC,CAAC;QAChF,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAEjF,uBAAuB;QACvB,MAAM,YAAY,GAAG,IAAA,6BAAkB,EAAC,SAAS,CAAC,CAAC;QACnD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC;QAC/E,EAAE,CAAC,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAEnF,sBAAsB;QACtB,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAExC,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB,CAAC,SAAiB;QAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAE7D,IAAI,WAA2B,CAAC;QAChC,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;gBAC1D,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAmB,CAAC;YACtD,CAAC;YAAC,MAAM,CAAC;gBACP,WAAW,GAAG,IAAA,+BAAoB,GAAE,CAAC;YACvC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,IAAA,+BAAoB,GAAE,CAAC;QACvC,CAAC;QAED,qCAAqC;QACrC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,EAAE,CAAC;YAChE,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACxB,UAAU,EAAE,SAAS;gBACrB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACpC,UAAU,EAAE,CAAC;aACd,CAAC,CAAC;QACL,CAAC;QAED,WAAW,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAClD,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACnF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,SAAiB;QACxC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC,CAAC;QAEhF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACpC,OAAO,IAAA,gCAAqB,EAAC,SAAS,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAC1D,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAoB,CAAC;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAA,gCAAqB,EAAC,SAAS,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,mBAAmB,CAAC,SAAiB,EAAE,QAAyB;QAC5E,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,YAAY,CAAC,CAAC;QAChF,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAChF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,SAAiB;QACrC,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC;QAE/E,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACrC,OAAO,IAAA,6BAAkB,EAAC,SAAS,CAAC,CAAC;QACvC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAiB,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACP,gDAAgD;YAChD,OAAO,IAAA,6BAAkB,EAAC,SAAS,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAAC,SAAiB,EAAE,KAAmB;QACnE,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC;QAC/E,KAAK,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC5C,EAAE,CAAC,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,IAAA,2CAAmB,EAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACnG,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,SAAiB;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACzC,OAAO,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,SAAiB;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACtC,OAAO,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,SAAiB;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACvC,OAAO,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY,CAChB,SAAiB,EACjB,UAAsB,EACtB,WAAoB;QAEpB,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,IAAA,uBAAY,EAAC,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QAE1E,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC1D,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC,CAAC;QACxE,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAEpD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS,CACb,SAAiB,EACjB,QAAgB,EAChB,OAAmB;QAEnB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,IAAA,oBAAS,EAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAE3D,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC1D,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9E,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAEpD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,SAAiB,EAAE,KAAa;QAC3C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC;QAE5D,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,6CAA6C;QAC7C,OAAO;YACL,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,UAAU,EAAE,SAAS;YACrB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,YAAY,EAAE,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI;YAC5E,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,OAAO,EAAE,YAAY,EAAE,yDAAyD;SACjF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,SAAiB,EAAE,KAAa,EAAE,MAAiB;QACnE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC;QAE5D,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;YACxB,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,uBAAuB,CAC3B,MAAc,EACd,SAAiB,EACjB,MAA2C,EAC3C,gBAA0B,EAAE,EAC5B,WAAoB,EACpB,YAAqB,EACrB,OAA6B;QAE7B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC;QACnD,CAAC;QAED,oFAAoF;QACpF,0DAA0D;QAC1D,IAAI,OAAO,EAAE,eAAe,KAAK,SAAS,EAAE,CAAC;YAC3C,GAAG,CAAC,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;YAC/C,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;YAC3C,GAAG,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;YACnC,GAAG,CAAC,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;YACzC,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACpD,CAAC;QAED,uBAAuB;QACvB,MAAM,SAAS,GAAiB,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACrF,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE;YAC3D,MAAM;YACN,cAAc,EAAE,aAAa;YAC7B,YAAY,EAAE,WAAW;YACzB,aAAa,EAAE,YAAY;SAC5B,CAAC,CAAC;QAEH,6BAA6B;QAC7B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;QAC5D,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YACtB,KAAK,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC9C,KAAK,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;YAClG,KAAK,CAAC,oBAAoB,GAAG,aAAa,CAAC,MAAM,CAAC;YAClD,6FAA6F;YAC7F,IAAI,OAAO,EAAE,eAAe,KAAK,SAAS,EAAE,CAAC;gBAC3C,KAAK,CAAC,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;gBACjD,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;YAC/C,CAAC;QACH,CAAC;QACD,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,qBAAqB,CACzB,SAAiB,EACjB,QAAgB,EAChB,KAAa,EACb,YAAqB;QAErB,MAAM,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAE/C,sDAAsD;QACtD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;YAC5E,IAAI,SAAS,IAAI,SAAS,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBAClD,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAA,wBAAa,EAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,IAAI,IAAI,CAAC,CAAC;QAEpF,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAElD,uBAAuB;QACvB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QACpD,MAAM,KAAK,GAAiB;YAC1B,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,QAAQ;YACnB,MAAM,EAAE,KAAK;YACb,cAAc,EAAE,YAAY,IAAI,IAAI;YACpC,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,CAAC;YACd,oBAAoB,EAAE,CAAC;YACvB,eAAe,EAAE,CAAC;YAClB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;SACjD,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAE9C,iCAAiC;QACjC,MAAM,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAE/C,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,wBAAwB,CAAC,SAAiB;QACtD,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAE7D,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;gBAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAmB,CAAC;gBAC1D,MAAM,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC;gBAC3E,IAAI,OAAO,EAAE,CAAC;oBACZ,OAAO,CAAC,UAAU,EAAE,CAAC;oBACrB,WAAW,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;oBAClD,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBACnF,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,uCAAuC;YACzC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CAAC,MAAc,EAAE,SAAiB;QAC3D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;QAEjF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB,CAAC,GAAY,EAAE,SAAiB;QAClE,MAAM,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC;QAEtF,oCAAoC;QACpC,MAAM,SAAS,GAAG,IAAA,2CAAmB,EAAC,GAAG,CAAC,CAAC;QAC3C,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CACvB,MAAc,EACd,SAAiB,EACjB,SAAuB,EACvB,OAAwB,EACxB,QAAkC;QAElC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG,IAAA,yBAAc,EAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEpE,MAAM,UAAU,GAAG,IAAA,4BAAiB,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAEzD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,wBAAwB,CAC5B,MAAc,EACd,SAAiB,EACjB,aAA8B,SAAS;QAEvC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAChE,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACnC,CAAC;QAED,MAAM,MAAM,GAAG,IAAA,mCAAwB,EAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAEhE,+CAA+C;QAC/C,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpC,GAAG,CAAC;YACJ,OAAO,EAAE,IAAA,2CAAmB,EAAC,CAAC,CAAC,OAAO,CAAC;SACxC,CAAC,CAAC,CAAC;QAEJ,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc,CAAC,SAAiB;QACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAEpD,IAAI,MAAM,GAAG,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;QAC5C,MAAM,IAAI,WAAW,GAAG,QAAQ,CAAC,UAAU,GAAG,MAAM,CAAC;QAErD,gCAAgC;QAChC,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC1C,MAAM,IAAI,YAAY,GAAG,UAAU,CAAC,SAAS,GAAG,IAAI,GAAG,UAAU,CAAC,WAAW,GAAG,KAAK,CAAC;YAEtF,4BAA4B;YAC5B,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,UAAU,CAAC,SAAS,CAAC,CAAC;YAEnF,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE,CAAC;gBACjC,MAAM,IAAI,WAAW,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;gBAEvE,0BAA0B;gBAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;gBAExE,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;oBAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC;oBAC3D,MAAM,IAAI,MAAM,GAAG,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBAC1E,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,2CAA2C;IAC3C,4CAA4C;IAC5C,2CAA2C;IAE3C;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,SAAiB;QACtC,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClC,uDAAuD;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC;QAExE,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACpD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAiB,CAAC;YAC7C,CAAC;YAAC,MAAM,CAAC;gBACP,6CAA6C;gBAC7C,OAAO,IAAA,6BAAkB,EAAC,SAAS,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,OAAO,IAAA,6BAAkB,EAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,KAAmB;QACjC,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClC,0DAA0D;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC;QAE/E,wCAAwC;QACxC,MAAM,WAAW,GAAG,IAAA,2CAAmB,EAAC,KAAK,CAAC,CAAC;QAC/C,WAAW,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAElD,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IAC7E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,SAAiB;QAChD,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,IAAA,wBAAa,EAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC7C,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAE5B,eAAe;QACf,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,KAAK,GAAiB;YAC1B,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,EAAE;YACb,MAAM,EAAE,EAAE;YACV,cAAc,EAAE,IAAI;YACpB,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,GAAG,CAAC,UAAU;YAC1B,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,CAAC;YACd,oBAAoB,EAAE,CAAC;YACvB,eAAe,EAAE,CAAC;YAClB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;SACjD,CAAC;QACF,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1B,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAE5B,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,MAAc;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC;QAEtE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,CAAC;QACxC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,GAAY;QAC5B,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACrD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC;QAE3D,oCAAoC;QACpC,MAAM,SAAS,GAAG,IAAA,2CAAmB,EAAC,GAAG,CAAC,CAAC;QAE3C,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACzE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ,CACZ,MAAc,EACd,SAAuB,EACvB,OAAwB,EACxB,QAAkC;QAElC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACxE,MAAM,KAAK,GAAG,IAAA,yBAAc,EAAC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAEpE,MAAM,UAAU,GAAG,IAAA,4BAAiB,EAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAEnC,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAChB,MAAc,EACd,MAA2C,EAC3C,gBAA0B,EAAE,EAC5B,WAAoB,EACpB,YAAqB;QAErB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC;QACnD,CAAC;QAED,uBAAuB;QACvB,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,EAAE;YAChF,MAAM;YACN,cAAc,EAAE,aAAa;YAC7B,YAAY,EAAE,WAAW;YACzB,aAAa,EAAE,YAAY;SAC5B,CAAC,CAAC;QAEH,qBAAqB;QACrB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC;QAC5D,IAAI,KAAK,EAAE,CAAC;YACV,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YACtB,KAAK,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC9C,KAAK,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;YAClG,KAAK,CAAC,oBAAoB,GAAG,aAAa,CAAC,MAAM,CAAC;QACpD,CAAC;QACD,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CAAC,SAAiB;QACjC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,aAA8B,SAAS;QAIzE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACnC,CAAC;QAED,MAAM,MAAM,GAAG,IAAA,mCAAwB,EAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAEhE,+CAA+C;QAC/C,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpC,GAAG,CAAC;YACJ,OAAO,EAAE,IAAA,2CAAmB,EAAC,CAAC,CAAC,OAAO,CAAC;SACxC,CAAC,CAAC,CAAC;QAEJ,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,cAAc,CAAC,OAAuB,EAAE,SAAiB;QACvD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,mCAAmC,CAAC;QAC7C,CAAC;QAED,IAAI,MAAM,GAAG,sBAAsB,GAAG,SAAS,GAAG,QAAQ,CAAC;QAC3D,MAAM,IAAI,8DAA8D,CAAC;QACzE,MAAM,IAAI,8DAA8D,CAAC;QAEzE,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,GAAG,CAAC;gBACpC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG;gBAC7C,CAAC,CAAC,GAAG,CAAC;YACR,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK;gBAClC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK;gBAChC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,KAAK;gBAC/B,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK;gBAC1B,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK;gBACpD,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,0CAA0C,CAAC;QACrD,MAAM,IAAI,qDAAqD,CAAC;QAEhE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,MAAc,EAAE,GAAY,EAAE,MAAkB,EAAE,MAAe;QAChF,IAAI,MAAM,GAAG,YAAY,GAAG,MAAM,CAAC;QACnC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,SAAS,CAAC;QACtB,CAAC;QACD,MAAM,IAAI,MAAM,CAAC;QAEjB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,kBAAkB,EAAE,CAAC;YAC5D,MAAM,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAC,UAAU,GAAG,IAAI,CAAC;YAEtD,qCAAqC;YACrC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,GAAG,IAAA,yCAAiB,EAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;YAClE,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,GAAG,IAAA,yCAAiB,EAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;YACtE,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACzB,MAAM,IAAI,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YACvD,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;gBAC9B,MAAM,IAAI,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC;YAC5D,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBACzB,MAAM,IAAI,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YACvD,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5E,MAAM,IAAI,oBAAoB,GAAG,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YAClF,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;gBAC/B,MAAM,IAAI,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;YAC/D,CAAC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAChC,MAAM,IAAI,WAAW,GAAG,IAAA,yCAAiB,EAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;YAChF,CAAC;YAED,6BAA6B;YAC7B,IAAI,MAAM,EAAE,CAAC;gBACX,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;oBAC3B,MAAM,IAAI,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBAC3D,CAAC;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;oBACxB,MAAM,IAAI,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;gBACrD,CAAC;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;oBAC7C,MAAM,IAAI,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,GAAG,QAAQ,CAAC;oBAC/D,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;wBAC9C,MAAM,IAAI,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;oBAC3D,CAAC;oBACD,MAAM,IAAI,IAAI,CAAC;gBACjB,CAAC;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;oBAC3C,MAAM,IAAI,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC;gBAC9D,CAAC;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC1C,MAAM,IAAI,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;gBAC7D,CAAC;gBACD,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;oBACjC,MAAM,IAAI,YAAY,GAAG,IAAA,yCAAiB,EAAC,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;gBAClF,CAAC;YACH,CAAC;YAED,MAAM,IAAI,IAAI,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,qCAAqC,CAAC;QAClD,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAxzBD,wCAwzBC"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fail-Closed Runner Integration
|
|
3
|
+
*
|
|
4
|
+
* Integrates LLM evidence tracking with the Runner Core.
|
|
5
|
+
* Ensures COMPLETE status can only be asserted when evidence exists.
|
|
6
|
+
*
|
|
7
|
+
* ARCHITECTURAL RULES:
|
|
8
|
+
* - provider=openai/anthropic + missing key = ERROR (no claude-code fallback)
|
|
9
|
+
* - Every LLM call generates evidence
|
|
10
|
+
* - COMPLETE requires canAssertComplete() = true
|
|
11
|
+
*/
|
|
12
|
+
import { LLMClientWithEvidence, ExecutionGateResult } from './llm-client-with-evidence';
|
|
13
|
+
import { LLMSentinel, SentinelVerificationResult } from './llm-sentinel';
|
|
14
|
+
import { LLMEvidenceManager } from './llm-evidence-manager';
|
|
15
|
+
import { LLMProvider } from './llm-client';
|
|
16
|
+
/**
|
|
17
|
+
* Fail-closed runner configuration
|
|
18
|
+
*/
|
|
19
|
+
export interface FailClosedRunnerConfig {
|
|
20
|
+
/** Project path */
|
|
21
|
+
projectPath: string;
|
|
22
|
+
/** LLM provider (openai or anthropic) */
|
|
23
|
+
provider: LLMProvider;
|
|
24
|
+
/** Model name (optional) */
|
|
25
|
+
model?: string;
|
|
26
|
+
/** Evidence directory (optional, defaults to .claude/evidence) */
|
|
27
|
+
evidenceDir?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Status determination result
|
|
31
|
+
*/
|
|
32
|
+
export interface StatusDeterminationResult {
|
|
33
|
+
/** Can assert COMPLETE status */
|
|
34
|
+
canAssertComplete: boolean;
|
|
35
|
+
/** Execution gate result */
|
|
36
|
+
executionGate: ExecutionGateResult;
|
|
37
|
+
/** Sentinel verification result */
|
|
38
|
+
sentinelVerification?: SentinelVerificationResult;
|
|
39
|
+
/** Reason if cannot assert COMPLETE */
|
|
40
|
+
failureReason?: string;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Fail-Closed Runner Integration
|
|
44
|
+
*
|
|
45
|
+
* This class enforces fail-closed behavior for LLM-based operations:
|
|
46
|
+
* - API key must be configured (no fallback to claude-code)
|
|
47
|
+
* - Every LLM call generates evidence
|
|
48
|
+
* - COMPLETE status requires evidence
|
|
49
|
+
*/
|
|
50
|
+
export declare class FailClosedRunner {
|
|
51
|
+
private readonly config;
|
|
52
|
+
private llmClient;
|
|
53
|
+
private sentinel;
|
|
54
|
+
private initError;
|
|
55
|
+
constructor(config: FailClosedRunnerConfig);
|
|
56
|
+
/**
|
|
57
|
+
* Initialize LLM client and sentinel
|
|
58
|
+
*
|
|
59
|
+
* @throws APIKeyMissingError if API key is not configured
|
|
60
|
+
*/
|
|
61
|
+
private initialize;
|
|
62
|
+
/**
|
|
63
|
+
* Check if runner is ready (fail-closed check)
|
|
64
|
+
*
|
|
65
|
+
* @returns true if runner is ready, false if initialization failed
|
|
66
|
+
*/
|
|
67
|
+
isReady(): boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Get initialization error if any
|
|
70
|
+
*/
|
|
71
|
+
getInitError(): Error | null;
|
|
72
|
+
/**
|
|
73
|
+
* Check Double Execution Gate
|
|
74
|
+
*
|
|
75
|
+
* @returns Gate check result, or FAIL if not initialized
|
|
76
|
+
*/
|
|
77
|
+
checkExecutionGate(): ExecutionGateResult;
|
|
78
|
+
/**
|
|
79
|
+
* Determine if COMPLETE status can be asserted
|
|
80
|
+
*
|
|
81
|
+
* This is the main fail-closed check that should be called
|
|
82
|
+
* before reporting any task as COMPLETE.
|
|
83
|
+
*/
|
|
84
|
+
determineStatus(): StatusDeterminationResult;
|
|
85
|
+
/**
|
|
86
|
+
* Quick check if COMPLETE can be asserted
|
|
87
|
+
*
|
|
88
|
+
* Lightweight version without full verification.
|
|
89
|
+
*/
|
|
90
|
+
canAssertComplete(): boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Get the LLM client for making API calls
|
|
93
|
+
*
|
|
94
|
+
* @returns LLM client, or null if not initialized
|
|
95
|
+
*/
|
|
96
|
+
getLLMClient(): LLMClientWithEvidence | null;
|
|
97
|
+
/**
|
|
98
|
+
* Get the sentinel for verification
|
|
99
|
+
*
|
|
100
|
+
* @returns Sentinel, or null if not initialized
|
|
101
|
+
*/
|
|
102
|
+
getSentinel(): LLMSentinel | null;
|
|
103
|
+
/**
|
|
104
|
+
* Get evidence manager
|
|
105
|
+
*/
|
|
106
|
+
getEvidenceManager(): LLMEvidenceManager | null;
|
|
107
|
+
/**
|
|
108
|
+
* Generate verification report
|
|
109
|
+
*/
|
|
110
|
+
generateReport(): string;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Create fail-closed runner for a project
|
|
114
|
+
*
|
|
115
|
+
* @param projectPath - Path to the project
|
|
116
|
+
* @param provider - LLM provider (openai or anthropic)
|
|
117
|
+
* @returns Fail-closed runner instance
|
|
118
|
+
*/
|
|
119
|
+
export declare function createFailClosedRunner(projectPath: string, provider?: LLMProvider): FailClosedRunner;
|
|
120
|
+
/**
|
|
121
|
+
* Validate fail-closed requirements before task execution
|
|
122
|
+
*
|
|
123
|
+
* @param projectPath - Path to the project
|
|
124
|
+
* @param provider - LLM provider
|
|
125
|
+
* @returns Validation result
|
|
126
|
+
*/
|
|
127
|
+
export declare function validateFailClosedRequirements(projectPath: string, provider?: LLMProvider): {
|
|
128
|
+
valid: boolean;
|
|
129
|
+
error?: string;
|
|
130
|
+
};
|
|
131
|
+
//# sourceMappingURL=fail-closed-runner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fail-closed-runner.d.ts","sourceRoot":"","sources":["../../src/mediation/fail-closed-runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACxF,OAAO,EAAE,WAAW,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAe,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAsB,WAAW,EAAE,MAAM,cAAc,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,mBAAmB;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,QAAQ,EAAE,WAAW,CAAC;IACtB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,iCAAiC;IACjC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,4BAA4B;IAC5B,aAAa,EAAE,mBAAmB,CAAC;IACnC,mCAAmC;IACnC,oBAAoB,CAAC,EAAE,0BAA0B,CAAC;IAClD,uCAAuC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAmC;IAC1D,OAAO,CAAC,SAAS,CAAsC;IACvD,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,SAAS,CAAsB;gBAE3B,MAAM,EAAE,sBAAsB;IAiB1C;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAclB;;;;OAIG;IACH,OAAO,IAAI,OAAO;IAIlB;;OAEG;IACH,YAAY,IAAI,KAAK,GAAG,IAAI;IAI5B;;;;OAIG;IACH,kBAAkB,IAAI,mBAAmB;IAazC;;;;;OAKG;IACH,eAAe,IAAI,yBAAyB;IA+B5C;;;;OAIG;IACH,iBAAiB,IAAI,OAAO;IAO5B;;;;OAIG;IACH,YAAY,IAAI,qBAAqB,GAAG,IAAI;IAI5C;;;;OAIG;IACH,WAAW,IAAI,WAAW,GAAG,IAAI;IAIjC;;OAEG;IACH,kBAAkB,IAAI,kBAAkB,GAAG,IAAI;IAI/C;;OAEG;IACH,cAAc,IAAI,MAAM;CAMzB;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,WAAsB,GAC/B,gBAAgB,CAKlB;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC5C,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,WAAsB,GAC/B;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CA2BpC"}
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Fail-Closed Runner Integration
|
|
4
|
+
*
|
|
5
|
+
* Integrates LLM evidence tracking with the Runner Core.
|
|
6
|
+
* Ensures COMPLETE status can only be asserted when evidence exists.
|
|
7
|
+
*
|
|
8
|
+
* ARCHITECTURAL RULES:
|
|
9
|
+
* - provider=openai/anthropic + missing key = ERROR (no claude-code fallback)
|
|
10
|
+
* - Every LLM call generates evidence
|
|
11
|
+
* - COMPLETE requires canAssertComplete() = true
|
|
12
|
+
*/
|
|
13
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
16
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
17
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(o, k2, desc);
|
|
20
|
+
}) : (function(o, m, k, k2) {
|
|
21
|
+
if (k2 === undefined) k2 = k;
|
|
22
|
+
o[k2] = m[k];
|
|
23
|
+
}));
|
|
24
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
+
}) : function(o, v) {
|
|
27
|
+
o["default"] = v;
|
|
28
|
+
});
|
|
29
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
30
|
+
var ownKeys = function(o) {
|
|
31
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
+
var ar = [];
|
|
33
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
+
return ar;
|
|
35
|
+
};
|
|
36
|
+
return ownKeys(o);
|
|
37
|
+
};
|
|
38
|
+
return function (mod) {
|
|
39
|
+
if (mod && mod.__esModule) return mod;
|
|
40
|
+
var result = {};
|
|
41
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
+
__setModuleDefault(result, mod);
|
|
43
|
+
return result;
|
|
44
|
+
};
|
|
45
|
+
})();
|
|
46
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
47
|
+
exports.FailClosedRunner = void 0;
|
|
48
|
+
exports.createFailClosedRunner = createFailClosedRunner;
|
|
49
|
+
exports.validateFailClosedRequirements = validateFailClosedRequirements;
|
|
50
|
+
const path = __importStar(require("path"));
|
|
51
|
+
const llm_client_with_evidence_1 = require("./llm-client-with-evidence");
|
|
52
|
+
const llm_sentinel_1 = require("./llm-sentinel");
|
|
53
|
+
/**
|
|
54
|
+
* Fail-Closed Runner Integration
|
|
55
|
+
*
|
|
56
|
+
* This class enforces fail-closed behavior for LLM-based operations:
|
|
57
|
+
* - API key must be configured (no fallback to claude-code)
|
|
58
|
+
* - Every LLM call generates evidence
|
|
59
|
+
* - COMPLETE status requires evidence
|
|
60
|
+
*/
|
|
61
|
+
class FailClosedRunner {
|
|
62
|
+
config;
|
|
63
|
+
llmClient = null;
|
|
64
|
+
sentinel = null;
|
|
65
|
+
initError = null;
|
|
66
|
+
constructor(config) {
|
|
67
|
+
this.config = {
|
|
68
|
+
projectPath: config.projectPath,
|
|
69
|
+
provider: config.provider,
|
|
70
|
+
model: config.model || (config.provider === 'anthropic' ? 'claude-3-haiku-20240307' : 'gpt-4o-mini'),
|
|
71
|
+
evidenceDir: config.evidenceDir || path.join(config.projectPath, '.claude', 'evidence'),
|
|
72
|
+
};
|
|
73
|
+
// Try to initialize - capture any error for fail-closed behavior
|
|
74
|
+
try {
|
|
75
|
+
this.initialize();
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
// Store error for later - this is fail-closed behavior
|
|
79
|
+
this.initError = error;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Initialize LLM client and sentinel
|
|
84
|
+
*
|
|
85
|
+
* @throws APIKeyMissingError if API key is not configured
|
|
86
|
+
*/
|
|
87
|
+
initialize() {
|
|
88
|
+
// This will throw APIKeyMissingError if key is missing
|
|
89
|
+
this.llmClient = llm_client_with_evidence_1.LLMClientWithEvidence.fromEnv(this.config.evidenceDir, this.config.provider, this.config.model);
|
|
90
|
+
// Initialize sentinel from the same evidence directory
|
|
91
|
+
this.sentinel = llm_sentinel_1.LLMSentinel.fromEvidenceManager(this.llmClient.getEvidenceManager());
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Check if runner is ready (fail-closed check)
|
|
95
|
+
*
|
|
96
|
+
* @returns true if runner is ready, false if initialization failed
|
|
97
|
+
*/
|
|
98
|
+
isReady() {
|
|
99
|
+
return this.llmClient !== null && this.initError === null;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Get initialization error if any
|
|
103
|
+
*/
|
|
104
|
+
getInitError() {
|
|
105
|
+
return this.initError;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Check Double Execution Gate
|
|
109
|
+
*
|
|
110
|
+
* @returns Gate check result, or FAIL if not initialized
|
|
111
|
+
*/
|
|
112
|
+
checkExecutionGate() {
|
|
113
|
+
if (!this.llmClient) {
|
|
114
|
+
return {
|
|
115
|
+
gate1_api_key: 'FAIL',
|
|
116
|
+
gate2_evidence_ready: 'FAIL',
|
|
117
|
+
can_execute: false,
|
|
118
|
+
failure_reason: this.initError?.message || 'LLM client not initialized',
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
return this.llmClient.checkExecutionGate();
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Determine if COMPLETE status can be asserted
|
|
125
|
+
*
|
|
126
|
+
* This is the main fail-closed check that should be called
|
|
127
|
+
* before reporting any task as COMPLETE.
|
|
128
|
+
*/
|
|
129
|
+
determineStatus() {
|
|
130
|
+
// Gate check first
|
|
131
|
+
const executionGate = this.checkExecutionGate();
|
|
132
|
+
if (!executionGate.can_execute) {
|
|
133
|
+
return {
|
|
134
|
+
canAssertComplete: false,
|
|
135
|
+
executionGate,
|
|
136
|
+
failureReason: executionGate.failure_reason,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
// Sentinel verification
|
|
140
|
+
if (!this.sentinel) {
|
|
141
|
+
return {
|
|
142
|
+
canAssertComplete: false,
|
|
143
|
+
executionGate,
|
|
144
|
+
failureReason: 'Sentinel not initialized',
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
const sentinelVerification = this.sentinel.verify();
|
|
148
|
+
return {
|
|
149
|
+
canAssertComplete: sentinelVerification.can_assert_complete,
|
|
150
|
+
executionGate,
|
|
151
|
+
sentinelVerification,
|
|
152
|
+
failureReason: sentinelVerification.failure_reason,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Quick check if COMPLETE can be asserted
|
|
157
|
+
*
|
|
158
|
+
* Lightweight version without full verification.
|
|
159
|
+
*/
|
|
160
|
+
canAssertComplete() {
|
|
161
|
+
if (!this.sentinel) {
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
164
|
+
return this.sentinel.canAssertComplete();
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Get the LLM client for making API calls
|
|
168
|
+
*
|
|
169
|
+
* @returns LLM client, or null if not initialized
|
|
170
|
+
*/
|
|
171
|
+
getLLMClient() {
|
|
172
|
+
return this.llmClient;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Get the sentinel for verification
|
|
176
|
+
*
|
|
177
|
+
* @returns Sentinel, or null if not initialized
|
|
178
|
+
*/
|
|
179
|
+
getSentinel() {
|
|
180
|
+
return this.sentinel;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Get evidence manager
|
|
184
|
+
*/
|
|
185
|
+
getEvidenceManager() {
|
|
186
|
+
return this.llmClient?.getEvidenceManager() || null;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Generate verification report
|
|
190
|
+
*/
|
|
191
|
+
generateReport() {
|
|
192
|
+
if (!this.sentinel) {
|
|
193
|
+
return 'ERROR: Sentinel not initialized - cannot generate report';
|
|
194
|
+
}
|
|
195
|
+
return this.sentinel.generateReport();
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
exports.FailClosedRunner = FailClosedRunner;
|
|
199
|
+
/**
|
|
200
|
+
* Create fail-closed runner for a project
|
|
201
|
+
*
|
|
202
|
+
* @param projectPath - Path to the project
|
|
203
|
+
* @param provider - LLM provider (openai or anthropic)
|
|
204
|
+
* @returns Fail-closed runner instance
|
|
205
|
+
*/
|
|
206
|
+
function createFailClosedRunner(projectPath, provider = 'openai') {
|
|
207
|
+
return new FailClosedRunner({
|
|
208
|
+
projectPath,
|
|
209
|
+
provider,
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Validate fail-closed requirements before task execution
|
|
214
|
+
*
|
|
215
|
+
* @param projectPath - Path to the project
|
|
216
|
+
* @param provider - LLM provider
|
|
217
|
+
* @returns Validation result
|
|
218
|
+
*/
|
|
219
|
+
function validateFailClosedRequirements(projectPath, provider = 'openai') {
|
|
220
|
+
try {
|
|
221
|
+
const runner = createFailClosedRunner(projectPath, provider);
|
|
222
|
+
if (!runner.isReady()) {
|
|
223
|
+
const error = runner.getInitError();
|
|
224
|
+
return {
|
|
225
|
+
valid: false,
|
|
226
|
+
error: error?.message || 'Failed to initialize fail-closed runner',
|
|
227
|
+
};
|
|
228
|
+
}
|
|
229
|
+
const gateResult = runner.checkExecutionGate();
|
|
230
|
+
if (!gateResult.can_execute) {
|
|
231
|
+
return {
|
|
232
|
+
valid: false,
|
|
233
|
+
error: gateResult.failure_reason,
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
return { valid: true };
|
|
237
|
+
}
|
|
238
|
+
catch (error) {
|
|
239
|
+
return {
|
|
240
|
+
valid: false,
|
|
241
|
+
error: error.message,
|
|
242
|
+
};
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
//# sourceMappingURL=fail-closed-runner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fail-closed-runner.js","sourceRoot":"","sources":["../../src/mediation/fail-closed-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* LLM Client with Evidence Recording
|
|
3
|
+
*
|
|
4
|
+
* Extends LLMClient with automatic evidence recording for fail-closed behavior.
|
|
5
|
+
* Every API call generates a proof file that can be verified.
|
|
6
|
+
*
|
|
7
|
+
* ARCHITECTURAL RULES:
|
|
8
|
+
* - Every LLM call MUST generate evidence
|
|
9
|
+
* - COMPLETE status can only be asserted if evidence exists
|
|
10
|
+
* - Double Execution Gate: API key check + Evidence file check
|
|
11
|
+
*/
|
|
12
|
+
import { LLMProvider, ChatMessage, LLMResponse } from './llm-client';
|
|
13
|
+
import { LLMEvidenceManager, LLMEvidence } from './llm-evidence-manager';
|
|
14
|
+
/**
|
|
15
|
+
* Configuration for LLM Client with Evidence
|
|
16
|
+
*/
|
|
17
|
+
export interface LLMClientWithEvidenceConfig {
|
|
18
|
+
provider?: LLMProvider;
|
|
19
|
+
model?: string;
|
|
20
|
+
temperature?: number;
|
|
21
|
+
evidenceDir: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Double Execution Gate result
|
|
25
|
+
*/
|
|
26
|
+
export interface ExecutionGateResult {
|
|
27
|
+
gate1_api_key: 'PASS' | 'FAIL';
|
|
28
|
+
gate2_evidence_ready: 'PASS' | 'FAIL';
|
|
29
|
+
can_execute: boolean;
|
|
30
|
+
failure_reason?: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* LLM Client with automatic evidence recording
|
|
34
|
+
*
|
|
35
|
+
* Implements Double Execution Gate:
|
|
36
|
+
* - Gate 1: API key validation (fail-closed)
|
|
37
|
+
* - Gate 2: Evidence directory ready (fail-closed)
|
|
38
|
+
*
|
|
39
|
+
* Both gates must pass before any LLM call can be made.
|
|
40
|
+
*/
|
|
41
|
+
export declare class LLMClientWithEvidence {
|
|
42
|
+
private readonly client;
|
|
43
|
+
private readonly evidenceManager;
|
|
44
|
+
private readonly provider;
|
|
45
|
+
private readonly model;
|
|
46
|
+
private gateCheckPerformed;
|
|
47
|
+
private gateResult;
|
|
48
|
+
constructor(config: LLMClientWithEvidenceConfig);
|
|
49
|
+
/**
|
|
50
|
+
* Create client from environment with evidence recording
|
|
51
|
+
* @throws APIKeyMissingError if API key is not set (fail-closed)
|
|
52
|
+
*/
|
|
53
|
+
static fromEnv(evidenceDir: string, provider?: LLMProvider, model?: string, options?: {
|
|
54
|
+
temperature?: number;
|
|
55
|
+
}): LLMClientWithEvidence;
|
|
56
|
+
/**
|
|
57
|
+
* Check Double Execution Gate
|
|
58
|
+
*
|
|
59
|
+
* Gate 1: API key is valid (already checked in constructor)
|
|
60
|
+
* Gate 2: Evidence directory is ready
|
|
61
|
+
*
|
|
62
|
+
* @returns Gate check result
|
|
63
|
+
*/
|
|
64
|
+
checkExecutionGate(): ExecutionGateResult;
|
|
65
|
+
/**
|
|
66
|
+
* Send chat completion request with automatic evidence recording
|
|
67
|
+
*
|
|
68
|
+
* @throws Error if Double Execution Gate not passed
|
|
69
|
+
*/
|
|
70
|
+
chat(messages: ChatMessage[]): Promise<LLMResponse & {
|
|
71
|
+
evidence_id: string;
|
|
72
|
+
}>;
|
|
73
|
+
/**
|
|
74
|
+
* Check if COMPLETE status can be asserted
|
|
75
|
+
*
|
|
76
|
+
* This is the fail-closed check:
|
|
77
|
+
* - Returns true only if at least one successful LLM call has evidence
|
|
78
|
+
* - Returns false if no evidence exists or all calls failed
|
|
79
|
+
*/
|
|
80
|
+
canAssertComplete(): boolean;
|
|
81
|
+
/**
|
|
82
|
+
* Get evidence statistics
|
|
83
|
+
*/
|
|
84
|
+
getEvidenceStats(): import("./llm-evidence-manager").EvidenceStats;
|
|
85
|
+
/**
|
|
86
|
+
* Get evidence by call ID
|
|
87
|
+
*/
|
|
88
|
+
getEvidence(callId: string): LLMEvidence | null;
|
|
89
|
+
/**
|
|
90
|
+
* Verify evidence integrity
|
|
91
|
+
*/
|
|
92
|
+
verifyEvidence(callId: string): boolean;
|
|
93
|
+
/**
|
|
94
|
+
* List all evidence
|
|
95
|
+
*/
|
|
96
|
+
listEvidence(): LLMEvidence[];
|
|
97
|
+
/**
|
|
98
|
+
* Get the underlying evidence manager
|
|
99
|
+
*/
|
|
100
|
+
getEvidenceManager(): LLMEvidenceManager;
|
|
101
|
+
/**
|
|
102
|
+
* Get the configured provider
|
|
103
|
+
*/
|
|
104
|
+
getProvider(): LLMProvider;
|
|
105
|
+
/**
|
|
106
|
+
* Get the configured model
|
|
107
|
+
*/
|
|
108
|
+
getModel(): string;
|
|
109
|
+
/**
|
|
110
|
+
* Generate unique call ID
|
|
111
|
+
*/
|
|
112
|
+
private generateCallId;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Create LLM Client with Evidence (convenience function)
|
|
116
|
+
*
|
|
117
|
+
* @param evidenceDir - Directory to store evidence files
|
|
118
|
+
* @param provider - LLM provider (default: openai)
|
|
119
|
+
* @param model - Model name (optional)
|
|
120
|
+
* @throws APIKeyMissingError if API key is not configured
|
|
121
|
+
*/
|
|
122
|
+
export declare function createLLMClientWithEvidence(evidenceDir: string, provider?: LLMProvider, model?: string): LLMClientWithEvidence;
|
|
123
|
+
//# sourceMappingURL=llm-client-with-evidence.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm-client-with-evidence.d.ts","sourceRoot":"","sources":["../../src/mediation/llm-client-with-evidence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAEL,WAAW,EACX,WAAW,EACX,WAAW,EAEZ,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,kBAAkB,EAClB,WAAW,EAGZ,MAAM,wBAAwB,CAAC;AAEhC;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,oBAAoB,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,WAAW,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;GAQG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;IACrD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAc;IACvC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,UAAU,CAAoC;gBAE1C,MAAM,EAAE,2BAA2B;IAgB/C;;;OAGG;IACH,MAAM,CAAC,OAAO,CACZ,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,WAAsB,EAChC,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GACjC,qBAAqB;IASxB;;;;;;;OAOG;IACH,kBAAkB,IAAI,mBAAmB;IAuBzC;;;;OAIG;IACG,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,WAAW,GAAG;QAAE,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IA4DnF;;;;;;OAMG;IACH,iBAAiB,IAAI,OAAO;IAI5B;;OAEG;IACH,gBAAgB;IAIhB;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAI/C;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIvC;;OAEG;IACH,YAAY,IAAI,WAAW,EAAE;IAI7B;;OAEG;IACH,kBAAkB,IAAI,kBAAkB;IAIxC;;OAEG;IACH,WAAW,IAAI,WAAW;IAI1B;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,OAAO,CAAC,cAAc;CAKvB;AAED;;;;;;;GAOG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,QAAQ,GAAE,WAAsB,EAChC,KAAK,CAAC,EAAE,MAAM,GACb,qBAAqB,CAEvB"}
|