contextos-mcp 0.4.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 +260 -0
- package/bin/mcp.mjs +61 -0
- package/bin/swarm.mjs +45 -0
- package/dist/agents/aider.d.ts +12 -0
- package/dist/agents/aider.js +192 -0
- package/dist/agents/aider.js.map +1 -0
- package/dist/agents/claude-code.d.ts +9 -0
- package/dist/agents/claude-code.js +236 -0
- package/dist/agents/claude-code.js.map +1 -0
- package/dist/agents/codex.d.ts +14 -0
- package/dist/agents/codex.js +203 -0
- package/dist/agents/codex.js.map +1 -0
- package/dist/agents/direct-llm.d.ts +22 -0
- package/dist/agents/direct-llm.js +254 -0
- package/dist/agents/direct-llm.js.map +1 -0
- package/dist/agents/mock.d.ts +10 -0
- package/dist/agents/mock.js +170 -0
- package/dist/agents/mock.js.map +1 -0
- package/dist/agents/opencode.d.ts +23 -0
- package/dist/agents/opencode.js +631 -0
- package/dist/agents/opencode.js.map +1 -0
- package/dist/agents/provider.d.ts +11 -0
- package/dist/agents/provider.js +31 -0
- package/dist/agents/provider.js.map +1 -0
- package/dist/compression/compressor.d.ts +28 -0
- package/dist/compression/compressor.js +268 -0
- package/dist/compression/compressor.js.map +1 -0
- package/dist/config.d.ts +43 -0
- package/dist/config.js +172 -0
- package/dist/config.js.map +1 -0
- package/dist/contextos/loader.d.ts +46 -0
- package/dist/contextos/loader.js +120 -0
- package/dist/contextos/loader.js.map +1 -0
- package/dist/contextos/selector.d.ts +46 -0
- package/dist/contextos/selector.js +80 -0
- package/dist/contextos/selector.js.map +1 -0
- package/dist/core/action-dispatcher.d.ts +15 -0
- package/dist/core/action-dispatcher.js +28 -0
- package/dist/core/action-dispatcher.js.map +1 -0
- package/dist/core/action-schema.d.ts +72 -0
- package/dist/core/action-schema.js +86 -0
- package/dist/core/action-schema.js.map +1 -0
- package/dist/core/repl-interface.d.ts +48 -0
- package/dist/core/repl-interface.js +5 -0
- package/dist/core/repl-interface.js.map +1 -0
- package/dist/core/repl.d.ts +59 -0
- package/dist/core/repl.js +353 -0
- package/dist/core/repl.js.map +1 -0
- package/dist/core/rlm.d.ts +65 -0
- package/dist/core/rlm.js +564 -0
- package/dist/core/rlm.js.map +1 -0
- package/dist/core/runtime.py +470 -0
- package/dist/core/types.d.ts +265 -0
- package/dist/core/types.js +19 -0
- package/dist/core/types.js.map +1 -0
- package/dist/env.d.ts +10 -0
- package/dist/env.js +75 -0
- package/dist/env.js.map +1 -0
- package/dist/hooks/runner.d.ts +43 -0
- package/dist/hooks/runner.js +173 -0
- package/dist/hooks/runner.js.map +1 -0
- package/dist/labs/cli.d.ts +15 -0
- package/dist/labs/cli.js +295 -0
- package/dist/labs/cli.js.map +1 -0
- package/dist/labs/episodic-memory.d.ts +132 -0
- package/dist/labs/episodic-memory.js +391 -0
- package/dist/labs/episodic-memory.js.map +1 -0
- package/dist/labs/interactive-swarm.d.ts +20 -0
- package/dist/labs/interactive-swarm.js +1173 -0
- package/dist/labs/interactive-swarm.js.map +1 -0
- package/dist/labs/interactive.d.ts +10 -0
- package/dist/labs/interactive.js +2099 -0
- package/dist/labs/interactive.js.map +1 -0
- package/dist/labs/ts-analyzer.d.ts +74 -0
- package/dist/labs/ts-analyzer.js +379 -0
- package/dist/labs/ts-analyzer.js.map +1 -0
- package/dist/labs/viewer.d.ts +12 -0
- package/dist/labs/viewer.js +1284 -0
- package/dist/labs/viewer.js.map +1 -0
- package/dist/main.d.ts +15 -0
- package/dist/main.js +247 -0
- package/dist/main.js.map +1 -0
- package/dist/mcp/server.d.ts +16 -0
- package/dist/mcp/server.js +192775 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/session.d.ts +117 -0
- package/dist/mcp/session.js +450 -0
- package/dist/mcp/session.js.map +1 -0
- package/dist/mcp/state.d.ts +42 -0
- package/dist/mcp/state.js +537 -0
- package/dist/mcp/state.js.map +1 -0
- package/dist/mcp/tools/contextos.d.ts +17 -0
- package/dist/mcp/tools/contextos.js +583 -0
- package/dist/mcp/tools/contextos.js.map +1 -0
- package/dist/mcp/tools.d.ts +15 -0
- package/dist/mcp/tools.js +393 -0
- package/dist/mcp/tools.js.map +1 -0
- package/dist/orchestration/reviewer-gate.d.ts +43 -0
- package/dist/orchestration/reviewer-gate.js +280 -0
- package/dist/orchestration/reviewer-gate.js.map +1 -0
- package/dist/orchestration/reviewer-prompt.d.ts +18 -0
- package/dist/orchestration/reviewer-prompt.js +67 -0
- package/dist/orchestration/reviewer-prompt.js.map +1 -0
- package/dist/orchestration/verification-runner.d.ts +53 -0
- package/dist/orchestration/verification-runner.js +352 -0
- package/dist/orchestration/verification-runner.js.map +1 -0
- package/dist/plugins/adapter.d.ts +11 -0
- package/dist/plugins/adapter.js +11 -0
- package/dist/plugins/adapter.js.map +1 -0
- package/dist/plugins/core/archive.d.ts +9 -0
- package/dist/plugins/core/archive.js +128 -0
- package/dist/plugins/core/archive.js.map +1 -0
- package/dist/plugins/core/digest.d.ts +11 -0
- package/dist/plugins/core/digest.js +70 -0
- package/dist/plugins/core/digest.js.map +1 -0
- package/dist/plugins/core/grants.d.ts +22 -0
- package/dist/plugins/core/grants.js +90 -0
- package/dist/plugins/core/grants.js.map +1 -0
- package/dist/plugins/core/index.d.ts +10 -0
- package/dist/plugins/core/index.js +11 -0
- package/dist/plugins/core/index.js.map +1 -0
- package/dist/plugins/core/pinning.d.ts +15 -0
- package/dist/plugins/core/pinning.js +86 -0
- package/dist/plugins/core/pinning.js.map +1 -0
- package/dist/plugins/core/types.d.ts +105 -0
- package/dist/plugins/core/types.js +22 -0
- package/dist/plugins/core/types.js.map +1 -0
- package/dist/plugins/core/updater.d.ts +16 -0
- package/dist/plugins/core/updater.js +64 -0
- package/dist/plugins/core/updater.js.map +1 -0
- package/dist/plugins/loader.d.ts +65 -0
- package/dist/plugins/loader.js +110 -0
- package/dist/plugins/loader.js.map +1 -0
- package/dist/prompts/orchestrator.d.ts +6 -0
- package/dist/prompts/orchestrator.js +114 -0
- package/dist/prompts/orchestrator.js.map +1 -0
- package/dist/routing/model-resolver.d.ts +27 -0
- package/dist/routing/model-resolver.js +265 -0
- package/dist/routing/model-resolver.js.map +1 -0
- package/dist/routing/model-router.d.ts +130 -0
- package/dist/routing/model-router.js +515 -0
- package/dist/routing/model-router.js.map +1 -0
- package/dist/runtime/attestations.cjs +260 -0
- package/dist/runtime/reviewer-pipeline.cjs +319 -0
- package/dist/runtime/sandbox.cjs +468 -0
- package/dist/runtime/state-machine.cjs +885 -0
- package/dist/runtime/thread-store.cjs +175 -0
- package/dist/runtime/transactional-git.cjs +315 -0
- package/dist/runtime/verification-pipeline.cjs +435 -0
- package/dist/sandbox/execution.d.ts +165 -0
- package/dist/sandbox/execution.js +497 -0
- package/dist/sandbox/execution.js.map +1 -0
- package/dist/security/file-policy.d.ts +22 -0
- package/dist/security/file-policy.js +53 -0
- package/dist/security/file-policy.js.map +1 -0
- package/dist/security/repository-boundary.d.ts +21 -0
- package/dist/security/repository-boundary.js +119 -0
- package/dist/security/repository-boundary.js.map +1 -0
- package/dist/security/secret-filter.d.ts +36 -0
- package/dist/security/secret-filter.js +149 -0
- package/dist/security/secret-filter.js.map +1 -0
- package/dist/swarm.d.ts +14 -0
- package/dist/swarm.js +624 -0
- package/dist/swarm.js.map +1 -0
- package/dist/threads/cache.d.ts +64 -0
- package/dist/threads/cache.js +241 -0
- package/dist/threads/cache.js.map +1 -0
- package/dist/threads/manager.d.ts +94 -0
- package/dist/threads/manager.js +914 -0
- package/dist/threads/manager.js.map +1 -0
- package/dist/ui/banner.d.ts +14 -0
- package/dist/ui/banner.js +42 -0
- package/dist/ui/banner.js.map +1 -0
- package/dist/ui/dashboard.d.ts +33 -0
- package/dist/ui/dashboard.js +135 -0
- package/dist/ui/dashboard.js.map +1 -0
- package/dist/ui/index.d.ts +11 -0
- package/dist/ui/index.js +12 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/log.d.ts +39 -0
- package/dist/ui/log.js +126 -0
- package/dist/ui/log.js.map +1 -0
- package/dist/ui/onboarding.d.ts +14 -0
- package/dist/ui/onboarding.js +755 -0
- package/dist/ui/onboarding.js.map +1 -0
- package/dist/ui/run-log.d.ts +50 -0
- package/dist/ui/run-log.js +60 -0
- package/dist/ui/run-log.js.map +1 -0
- package/dist/ui/spinner.d.ts +41 -0
- package/dist/ui/spinner.js +172 -0
- package/dist/ui/spinner.js.map +1 -0
- package/dist/ui/streaming-feed.d.ts +72 -0
- package/dist/ui/streaming-feed.js +386 -0
- package/dist/ui/streaming-feed.js.map +1 -0
- package/dist/ui/summary.d.ts +18 -0
- package/dist/ui/summary.js +113 -0
- package/dist/ui/summary.js.map +1 -0
- package/dist/ui/text-input.d.ts +19 -0
- package/dist/ui/text-input.js +266 -0
- package/dist/ui/text-input.js.map +1 -0
- package/dist/ui/theme.d.ts +63 -0
- package/dist/ui/theme.js +97 -0
- package/dist/ui/theme.js.map +1 -0
- package/dist/utils/command-exists.d.ts +11 -0
- package/dist/utils/command-exists.js +41 -0
- package/dist/utils/command-exists.js.map +1 -0
- package/dist/utils/process-security.d.ts +19 -0
- package/dist/utils/process-security.js +90 -0
- package/dist/utils/process-security.js.map +1 -0
- package/dist/utils/rolling-buffer.d.ts +16 -0
- package/dist/utils/rolling-buffer.js +30 -0
- package/dist/utils/rolling-buffer.js.map +1 -0
- package/dist/utils/safe-spawn.d.ts +13 -0
- package/dist/utils/safe-spawn.js +49 -0
- package/dist/utils/safe-spawn.js.map +1 -0
- package/dist/worktree/manager.d.ts +69 -0
- package/dist/worktree/manager.js +593 -0
- package/dist/worktree/manager.js.map +1 -0
- package/dist/worktree/merge.d.ts +58 -0
- package/dist/worktree/merge.js +389 -0
- package/dist/worktree/merge.js.map +1 -0
- package/package.json +63 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/threads/manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAE7D,MAAM,aAAa,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAU9D,OAAO,EAAE,aAAa,IAAI,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAyB,MAAM,YAAY,CAAC;AAEhE,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,OAAO,cAAc;IAClB,OAAO,GAAW,CAAC,CAAC;IACX,GAAG,CAAS;IACrB,OAAO,GAAsB,EAAE,CAAC;IAExC,YAAY,GAAW;QACtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,OAAO;QACZ,IAAI,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,OAAO;QACR,CAAC;QACD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;QACH,6EAA6E;IAC9E,CAAC;IAED,OAAO;QACN,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,IAAI,EAAE,CAAC;YACV,oEAAoE;YACpE,IAAI,EAAE,CAAC;QACR,CAAC;aAAM,CAAC;YACP,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC;gBAAE,OAAO,CAAC,+BAA+B;YAC9D,IAAI,CAAC,OAAO,EAAE,CAAC;QAChB,CAAC;IACF,CAAC;IAED,IAAI,WAAW;QACd,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;IAED,IAAI,YAAY;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC5B,CAAC;CACD;AAED,+EAA+E;AAE/E,MAAM,aAAa;IACV,UAAU,GAAW,CAAC,CAAC;IACvB,aAAa,GAAW,CAAC,CAAC;IAC1B,WAAW,GAAwB,IAAI,GAAG,EAAE,CAAC;IAC7C,YAAY,GAAwB,IAAI,GAAG,EAAE,CAAC;IAC9C,YAAY,CAAS;IACrB,cAAc,CAAS;IACvB,gBAAgB,GAAW,CAAC,CAAC;IAC7B,iBAAiB,GAAW,CAAC,CAAC;IAC9B,eAAe,GAAW,CAAC,CAAC;IAC5B,kBAAkB,GAAW,CAAC,CAAC;IAEvC,YAAY,YAAoB,EAAE,cAAsB;QACvD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;IACtC,CAAC;IAED,yEAAyE;IACzE,kBAAkB,CAAC,KAAa;QAC/B,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QACxE,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE1B,kEAAkE;QAClE,MAAM,WAAW,GAAG,IAAI,CAAC;QACzB,MAAM,YAAY,GAAG,IAAI,CAAC;QAC1B,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,GAAG,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IAClF,CAAC;IAED;;;OAGG;IACH,mBAAmB,CAAC,KAAa,EAAE,KAAoD;QACtF,MAAM,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QACxE,MAAM,OAAO,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE1B,OAAO,CAAC,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IAC9F,CAAC;IAED,gDAAgD;IAChD,SAAS,CAAC,KAAa;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAEhD,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,GAAG,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACzE,OAAO;gBACN,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,6BAA6B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,yBAAyB,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;aACvM,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACpC,OAAO;gBACN,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,0BAA0B,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,gCAAgC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;aACtH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,gFAAgF;IAChF,OAAO,CAAC,QAAgB,EAAE,KAAa;QACtC,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC1C,IAAI,CAAC,aAAa,IAAI,QAAQ,CAAC;QAC/B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1B,CAAC;IAED,kBAAkB,CAAC,QAAgB;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACjD,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO;QACnC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC;QAChE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,UAAU,CACT,QAAgB,EAChB,KAAa,EACb,KAAqD;QAErD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,IAAY,CAAC;QACjB,IAAI,UAAmB,CAAC;QAExB,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,CAAC,IAAI,KAAK,CAAC,YAAY,GAAG,CAAC,CAAC,EAAE,CAAC;YAChE,wBAAwB;YACxB,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACtD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACrB,IAAI,GAAG,MAAM,CAAC;gBACd,UAAU,GAAG,KAAK,CAAC;gBACnB,IAAI,CAAC,eAAe,EAAE,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACP,wCAAwC;gBACxC,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBACtC,UAAU,GAAG,IAAI,CAAC;gBAClB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC3B,CAAC;YACD,IAAI,CAAC,gBAAgB,IAAI,KAAK,CAAC,WAAW,CAAC;YAC3C,IAAI,CAAC,iBAAiB,IAAI,KAAK,CAAC,YAAY,CAAC;QAC9C,CAAC;aAAM,CAAC;YACP,2BAA2B;YAC3B,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;YACtC,UAAU,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC3B,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC7E,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC;QACxB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAC7B,CAAC;IAED,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAED,QAAQ;QACP,OAAO;YACN,aAAa,EAAE,IAAI,CAAC,UAAU;YAC9B,gBAAgB,EAAE,IAAI,CAAC,aAAa;YACpC,WAAW,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;YACtC,eAAe,EAAE,IAAI,CAAC,YAAY;YAClC,iBAAiB,EAAE,IAAI,CAAC,cAAc;YACtC,WAAW,EAAE;gBACZ,KAAK,EAAE,IAAI,CAAC,gBAAgB;gBAC5B,MAAM,EAAE,IAAI,CAAC,iBAAiB;aAC9B;YACD,iBAAiB,EAAE,IAAI,CAAC,eAAe;YACvC,oBAAoB,EAAE,IAAI,CAAC,kBAAkB;SAC7C,CAAC;IACH,CAAC;CACD;AAED,+EAA+E;AAE/E,yDAAyD;AACzD,MAAM,kBAAkB,GAAG;IAC1B,UAAU;IACV,eAAe;IACf,aAAa;IACb,eAAe;IACf,QAAQ;IACR,aAAa;IACb,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,oBAAoB;IACpB,0BAA0B;IAC1B,eAAe;IACf,aAAa;IACb,WAAW;IACX,YAAY;IACZ,cAAc;CACd,CAAC;AAEF,mEAAmE;AACnE,MAAM,cAAc,GAAG;IACtB,iBAAiB;IACjB,eAAe;IACf,YAAY;IACZ,kBAAkB;IAClB,kBAAkB;IAClB,oBAAoB;IACpB,iBAAiB;IACjB,UAAU;IACV,iBAAiB;CACjB,CAAC;AAEF,gFAAgF;AAChF,SAAS,gBAAgB,CAAC,KAAa;IACtC,8CAA8C;IAC9C,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5D,2BAA2B;IAC3B,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IAC/D,mFAAmF;IACnF,OAAO,IAAI,CAAC;AACb,CAAC;AAED,uDAAuD;AACvD,SAAS,YAAY,CAAC,OAAe,EAAE,SAAiB,IAAI;IAC3D,+CAA+C;IAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IACjE,oBAAoB;IACpB,MAAM,MAAM,GAAG,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,WAAW,GAAG,MAAM,CAAC,CAAC;AAC5C,CAAC;AAED;;;;GAIG;AACH,SAAS,oBAAoB,CAC5B,WAAmB,EACnB,WAAmB,EACnB,OAAoB,EACpB,UAAkB,CAAC;IAEnB,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,MAAM,CAAC,CAAC;IACzF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAExC,oEAAoE;IACpE,MAAM,UAAU,GAA4C,EAAE,CAAC;IAC/D,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,GAAG,IAAI,GAAG,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;YAC7C,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;QAC3D,CAAC;IACF,CAAC;IACD,8EAA8E;IAC9E,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,GAAG,IAAI,GAAG,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;YAC7C,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC;QAC3D,CAAC;IACF,CAAC;IACD,+DAA+D;IAC/D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC9B,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QACtD,CAAC;IACF,CAAC;IAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzC,mDAAmD;IACnD,MAAM,GAAG,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC;IAC9C,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AAOD,MAAM,OAAO,aAAa;IACjB,QAAQ,CAAS;IACjB,OAAO,GAA6B,IAAI,GAAG,EAAE,CAAC;IAC9C,YAAY,GAAW,CAAC,CAAC;IACzB,SAAS,CAAiB;IAC1B,eAAe,CAAkB;IACjC,MAAM,CAAc;IACpB,MAAM,CAAgB;IACtB,WAAW,CAAc;IACzB,cAAc,CAAkB;IAChC,gBAAgB,CAA0B;IAC1C,cAAc,CAAwB;IACtC,YAAY,CAAe;IAC3B,sBAAsB,GAAiC,IAAI,GAAG,EAAE,CAAC;IAEzE,YACC,QAAgB,EAChB,MAAmB,EACnB,gBAAyC,EACzC,YAA0B;QAE1B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACxD,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC/E,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAAC,qBAAqB,CAAC,CAAC;QAC7F,IAAI,CAAC,WAAW,GAAG,IAAI,WAAW,CACjC,GAAG,EACH,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,EACjE,MAAM,CAAC,sBAAsB,CAC7B,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IAClC,CAAC;IAED,+DAA+D;IAC/D,uBAAuB,CAAC,EAAwB;QAC/C,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;IAC1B,CAAC;IAED,mEAAmE;IACnE,iBAAiB,CAAC,MAAsB;QACvC,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,IAAI;QACT,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QAClC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAChC,IAAI,CAAC;YACJ,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7F,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,EAAE,CAAC;QACX,CAAC;IACF,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,WAAW,CAAC,YAA0B;QAC3C,8FAA8F;QAC9F,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACnD,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;QAC3E,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;QACzE,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,EAAE,UAAU;YACpD,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC;YACxC,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM;gBAChC,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC;gBAC9B,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAClC,YAAY,CAAC,IAAI,EACjB,UAAU,EACV,UAAU,EACV,UAAU,EACV,IAAI,CAAC,QAAQ,EACb,SAAS,CACT,CAAC;QACF,IAAI,MAAM,EAAE,CAAC;YACZ,MAAM,QAAQ,GAAG,YAAY,CAAC,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACnE,IAAI,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;YAC5D,OAAO,MAAM,CAAC;QACf,CAAC;QAED,6BAA6B;QAC7B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;YACxD,OAAO;gBACN,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,yBAAyB,IAAI,CAAC,MAAM,CAAC,iBAAiB,mBAAmB;gBAClF,YAAY,EAAE,EAAE;gBAChB,SAAS,EAAE,EAAE;gBACb,UAAU,EAAE,CAAC;gBACb,gBAAgB,EAAE,CAAC;aACnB,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,IAAI,IAAI,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;YAChC,OAAO;gBACN,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,iBAAiB;gBAC1B,YAAY,EAAE,EAAE;gBAChB,SAAS,EAAE,EAAE;gBACb,UAAU,EAAE,CAAC;gBACb,gBAAgB,EAAE,CAAC;aACnB,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,YAAY,CAAC,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACnE,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,EAAE,UAAU,IAAI,YAAY,CAAC,UAAU,IAAI,EAAE,CAAC;QACvF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;QAC5G,CAAC;QACD,MAAM,cAAc,GAAG,YAAY,CAAC,SAAS,EAAE,cAAc,IAAI,YAAY,CAAC,cAAc,IAAI,EAAE,CAAC;QACnG,MAAM,mBAAmB,GACxB,YAAY,CAAC,SAAS,EAAE,mBAAmB;YAC3C,YAAY,CAAC,mBAAmB;YAC/B,IAAI,CAAC,MAAc,CAAC,qBAAqB;YAC1C,IAAI,CAAC;QACN,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,IAAI,mBAAmB,KAAK,KAAK,EAAE,CAAC;YAClG,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;QAC5G,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;YAC/B,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,SAAS;YAClB,SAAS,EAAE,YAAY,CAAC,SAAS,EAAE,SAAS,IAAI,YAAY,CAAC,IAAI;YACjE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC;YAC1C,cAAc,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;YAClD,mBAAmB;YACnB,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,IAAI,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;YACrF,WAAW,EAAE,YAAY,CAAC,SAAS,EAAE,WAAW,IAAI,YAAY,CAAC,WAAW,IAAI,EAAE;YAClF,gBAAgB,EAAE,YAAY,CAAC,SAAS,EAAE,gBAAgB,IAAI,YAAY,CAAC,gBAAgB;YAC3F,cAAc,EAAE,YAAY,CAAC,SAAS,EAAE,cAAc,IAAI,6BAA6B;YACvF,WAAW,EAAE,YAAY,CAAC,SAAS,EAAE,WAAW,IAAI,WAAW;YAC/D,WAAW,EAAE,YAAY,CAAC,SAAS,EAAE,WAAW,IAAI,YAAY,CAAC,WAAW,IAAI,aAAa;SAC7F,CAAC,CAAC;QACH,MAAM,gBAAgB,GAAiB;YACtC,GAAG,YAAY;YACf,EAAE,EAAE,QAAQ;YACZ,KAAK,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;YAC3C,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,mBAAmB,EAAE,SAAS,CAAC,mBAAmB;YAClD,SAAS;SACT,CAAC;QACF,MAAM,KAAK,GAAgB;YAC1B,EAAE,EAAE,QAAQ;YACZ,MAAM,EAAE,gBAAgB;YACxB,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,QAAQ;YACf,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,OAAO,EAAE,CAAC;YACV,WAAW;YACX,gBAAgB,EAAE,CAAC;YACnB,SAAS;YACT,YAAY,EAAE,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB;YAClE,cAAc,EAAE,KAAK;SACrB,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,YAAY,EAAE,CAAC;QAEpB,+DAA+D;QAC/D,MAAM,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;QACvC,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACpD,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC9C,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC/B,QAAQ,CAAC,KAAK,EAAE,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7E,CAAC;QACF,CAAC;QAED,2DAA2D;QAC3D,IAAI,UAAwC,CAAC;QAC7C,IAAI,aAAa,GAAG,gBAAgB,CAAC;QAErC,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;YACzD,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YAExB,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBACjB,iDAAiD;gBACjD,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;gBACxC,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC;gBACzB,IAAI,CAAC,gBAAgB,EAAE,CACtB,QAAQ,EACR,UAAU,EACV,WAAW,OAAO,IAAI,WAAW,aAAa,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAC1E,CAAC;gBAEF,uEAAuE;gBACvE,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;oBACnC,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;oBACzC,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;wBAC7B,YAAY,CAAC,KAAK,CAAC,CAAC;wBACpB,OAAO,EAAE,CAAC;wBACV,OAAO;oBACR,CAAC;oBACD,MAAM,OAAO,GAAG,GAAG,EAAE;wBACpB,YAAY,CAAC,KAAK,CAAC,CAAC;wBACpB,OAAO,EAAE,CAAC;oBACX,CAAC,CAAC;oBACF,QAAQ,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpE,CAAC,CAAC,CAAC;gBAEH,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO;oBAAE,MAAM;YACpC,CAAC;YAED,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YAC5E,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;YAChE,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBAC1B,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;gBACxB,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC;gBACvB,KAAK,CAAC,KAAK,GAAG,oBAAoB,WAAW,CAAC,MAAM,EAAE,CAAC;gBACvD,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC/B,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBACjD,MAAM;YACP,CAAC;YAED,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YAEvF,IAAI,UAAU,CAAC,OAAO,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnD,MAAM;YACP,CAAC;YAED,+CAA+C;YAC/C,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW;gBAAE,MAAM;YAExC,gDAAgD;YAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,IAAI,UAAU,CAAC,OAAO,IAAI,EAAE,CAAC;YACzD,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjC,IAAI,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,8BAA8B,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;gBACnG,MAAM;YACP,CAAC;YAED,qDAAqD;YACrD,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC;gBAC3B,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;gBAC9E,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;gBAC5E,MAAM,GAAG,GAAG,oBAAoB,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAEnF,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,EAAE,OAAO;oBAC3C,CAAC,CAAC,mDAAmD,KAAK,CAAC,MAAM,CAAC,OAAO,yEAAyE;oBAClJ,CAAC,CAAC,KAAK,CAAC,KAAK;wBACZ,CAAC,CAAC,+BAA+B,KAAK,CAAC,KAAK,EAAE;wBAC9C,CAAC,CAAC,EAAE,CAAC;gBAEP,aAAa,GAAG;oBACf,GAAG,aAAa;oBAChB,OAAO,EAAE,GAAG,aAAa,CAAC,OAAO,IAAI,EAAE,GAAG,cAAc,EAAE,CAAC,IAAI,EAAE;oBACjE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK;iBAC3E,CAAC;gBAEF,IAAI,GAAG,EAAE,CAAC;oBACT,IAAI,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,eAAe,YAAY,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC7F,CAAC;YACF,CAAC;QACF,CAAC;QAED,IAAI,CAAC,YAAY,EAAE,mBAAmB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAChE,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QACzC,OAAO,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;IACjE,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,aAAa,CAC1B,QAAgB,EAChB,YAA0B,EAC1B,KAAkB,EAClB,MAAmB;QAEnB,8BAA8B;QAC9B,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC;QACvB,IAAI,CAAC,gBAAgB,EAAE,CACtB,QAAQ,EACR,QAAQ,EACR,IAAI,CAAC,SAAS,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,YAAY,SAAS,CAAC,CAAC,CAAC,SAAS,CAC9F,CAAC;QAEF,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAE/B,IAAI,CAAC;YACJ,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;gBACzC,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;gBAC3B,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;gBAC1B,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,+BAA+B,CAAC,CAAC;YAChE,CAAC;YAED,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;YAEzB,kBAAkB;YAClB,KAAK,CAAC,KAAK,GAAG,mBAAmB,CAAC;YAClC,IAAI,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;YACvD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC3D,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC;YACjC,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;YAEjC,YAAY;YACZ,KAAK,CAAC,KAAK,GAAG,eAAe,CAAC;YAC9B,IAAI,KAAK,CAAC,uBAAuB;gBAAE,KAAK,CAAC,uBAAuB,CAAC,MAAM,GAAG,OAAO,CAAC;YAClF,IAAI,KAAK,CAAC,iBAAiB;gBAAE,KAAK,CAAC,iBAAiB,CAAC,MAAM,GAAG,OAAO,CAAC;YACtE,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC;YAC7B,KAAK,CAAC,kBAAkB,GAAG,OAAO,CAAC;YACnC,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC;YAC7B,KAAK,CAAC,WAAW,GAAG,SAAS,CAAC;YAC9B,IAAI,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAEhF,IAAI,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC;YACjC,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;gBAC1B,QAAQ,GAAG,aAAa,YAAY,CAAC,OAAO,cAAc,YAAY,CAAC,IAAI,EAAE,CAAC;YAC/E,CAAC;YAED,kDAAkD;YAClD,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;YACtD,MAAM,SAAS,GAAG,IAAI,eAAe,EAAE,CAAC;YACxC,MAAM,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,eAAe,CAAC,CAAC;YAC1E,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACzC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,CAAC;YACvC,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAEjE,IAAI,WAAW,CAAC;YAChB,IAAI,CAAC;gBACJ,WAAW,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC;oBAC7B,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,MAAM,CAAC,IAAI;oBACpB,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa;oBAC5D,KAAK,EAAE,YAAY,CAAC,KAAK;oBACzB,MAAM,EAAE,UAAU,CAAC,MAAM;oBACzB,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,cAAe,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;iBACpG,CAAC,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACV,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC7C,aAAa,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACpD,YAAY,CAAC,YAAY,CAAC,CAAC;YAC5B,CAAC;YAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;gBACzC,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;gBAC3B,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;gBAC1B,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBAC/B,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBACrC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,mCAAmC,CAAC,CAAC;YACpE,CAAC;YAED,eAAe;YACf,KAAK,CAAC,KAAK,GAAG,gBAAgB,CAAC;YAC/B,IAAI,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YACpD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC1D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YACpE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC1E,IAAI,CAAC;gBACJ,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAC1C,QAAQ,EACR,KAAK,CAAC,SAAU,CAAC,OAAO,EACxB,KAAK,CAAC,SAAU,CAAC,UAAU,EAC3B,KAAK,CAAC,SAAU,CAAC,cAAc,CAC/B,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB;oBAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;gBAChG,MAAM,KAAK,CAAC;YACb,CAAC;YAED,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAChC,QAAQ,EACR,UAAU,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAC1C,KAAK,CAAC,SAAU,CAAC,UAAU,EAC3B,KAAK,CAAC,SAAU,CAAC,cAAc,CAC/B,CAAC;YACH,CAAC;YAED,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACzE,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAU,CAAC,OAAO,CAAC,CAAC;YACtG,MAAM,UAAU,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,wBAAwB,EAAE,CAAC;YACxE,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,EAAE,UAAU,IAAI,EAAE,CAAC;YACrD,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,EAAE,cAAc,IAAI,EAAE,CAAC;YAC7D,MAAM,WAAW,GAAG,UAAU,CAAC,QAAQ,CAAC;iBACtC,MAAM,CACN,IAAI,CAAC,SAAS,CAAC;gBACd,UAAU,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,EAAE;gBAClC,cAAc,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,IAAI,EAAE;aAC1C,CAAC,CACF;iBACA,MAAM,CAAC,KAAK,CAAC,CAAC;YAEhB,MAAM,gBAAgB,GAAG;gBACxB,qBAAqB,EAAE,eAAe;gBACtC,OAAO,EAAE,KAAK,CAAC,SAAU,CAAC,OAAO;gBACjC,OAAO,EAAE,gBAAgB;gBACzB,UAAU;gBACV,WAAW;aACX,CAAC;YAEF,uFAAuF;YACvF,IAAI,mBAAmB,GAAwB,gBAAgB,CAAC;YAChE,IAAI,kBAAkB,GAAG,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,SAAS,EAAE,WAAW,IAAI,KAAK,CAAC,SAAS,EAAE,gBAAgB,EAAE,CAAC;gBACvE,MAAM,YAAY,GAAG,KAAK,CAAC,SAAS,CAAC,gBAAgB,IAAI,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC;gBACrF,MAAM,aAAa,GAClB,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC,UAAU,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC/G,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;gBAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;gBAC9D,IAAI,CAAC;oBACJ,MAAM,SAAS,GAAG,MAAM,uBAAuB,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE;wBAC1E,eAAe,EAAE,gBAAgB,CAAC,OAAO;wBACzC,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,WAAW;qBACzC,CAAC,CAAC;oBACH,kBAAkB,GAAG,SAAS,CAAC,MAAM,CAAC;oBACtC,mBAAmB,GAAG,SAAS,CAAC,OAAO,CAAC;oBAExC,KAAK,CAAC,uBAAuB,GAAG;wBAC/B,aAAa,EAAE,CAAC;wBAChB,MAAM,EAAE,mBAAmB;wBAC3B,OAAO,EAAE,EAAE,GAAG,gBAAgB,EAAE;wBAChC,QAAQ,EAAE;4BACT,QAAQ,EAAE,SAAS,CAAC,QAAQ;4BAC5B,MAAM,EAAE,IAAI;4BACZ,YAAY,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;4BAC3E,eAAe,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;yBACrD;wBACD,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,aAAa;qBACjD,CAAC;oBACF,KAAK,CAAC,YAAY,GAAG,mBAAmB,CAAC;oBACzC,KAAK,CAAC,kBAAkB,GAAG,mBAAmB,CAAC;oBAC/C,IAAI,SAAS,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;wBAClC,KAAK,CAAC,KAAK,GAAG,wBAAwB,SAAS,CAAC,MAAM,EAAE,CAAC;oBAC1D,CAAC;gBACF,CAAC;gBAAC,OAAO,SAAS,EAAE,CAAC;oBACpB,mBAAmB,GAAG,OAAO,CAAC;oBAC9B,KAAK,CAAC,uBAAuB,GAAG;wBAC/B,aAAa,EAAE,CAAC;wBAChB,MAAM,EAAE,OAAO;wBACf,OAAO,EAAE,EAAE,GAAG,gBAAgB,EAAE;wBAChC,QAAQ,EAAE;4BACT,QAAQ,EAAE,IAAI;4BACd,MAAM,EAAE,IAAI;4BACZ,YAAY,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;4BAC1E,eAAe,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;yBACpD;wBACD,UAAU,EAAE,aAAa;qBACzB,CAAC;oBACF,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC;oBAC7B,KAAK,CAAC,kBAAkB,GAAG,OAAO,CAAC;oBACnC,KAAK,CAAC,KAAK,GAAG,uBAAuB,SAAS,YAAY,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3G,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,mBAAmB,GAAG,gBAAgB,CAAC;gBACvC,KAAK,CAAC,uBAAuB,GAAG;oBAC/B,aAAa,EAAE,CAAC;oBAChB,MAAM,EAAE,gBAAgB;oBACxB,OAAO,EAAE,EAAE,GAAG,gBAAgB,EAAE;oBAChC,UAAU,EAAE,aAAa;iBACzB,CAAC;gBACF,KAAK,CAAC,YAAY,GAAG,gBAAgB,CAAC;gBACtC,KAAK,CAAC,kBAAkB,GAAG,gBAAgB,CAAC;YAC7C,CAAC;YAED,2CAA2C;YAC3C,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;YAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC/C,MAAM,aAAa,GAAG,MAAM,oBAAoB,CAAC;gBAChD,SAAS,EAAE,KAAK,CAAC,SAAU;gBAC3B,IAAI;gBACJ,YAAY;gBACZ,mBAAmB;gBACnB,UAAU,EAAE,kBAAkB;gBAC9B,gBAAgB,EAAE,YAAY,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa;gBACzE,gBAAgB,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa;gBACvE,OAAO,EAAE,MAAM,CAAC,IAAI;gBACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACvB,CAAC,CAAC;YACH,KAAK,CAAC,MAAM,GAAG,aAAa,CAAC;YAC7B,IAAI,YAAY,GACf,aAAa,CAAC,cAAc,KAAK,MAAM,IAAI,aAAa,CAAC,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;YACnG,IAAI,aAAa,CAAC,cAAc,KAAK,gBAAgB,IAAI,aAAa,CAAC,WAAW,KAAK,gBAAgB,EAAE,CAAC;gBACzG,YAAY,GAAG,gBAAgB,CAAC;YACjC,CAAC;iBAAM,IAAI,aAAa,CAAC,cAAc,KAAK,OAAO,IAAI,aAAa,CAAC,WAAW,KAAK,OAAO,EAAE,CAAC;gBAC9F,YAAY,GAAG,OAAO,CAAC;YACxB,CAAC;iBAAM,IAAI,aAAa,CAAC,cAAc,KAAK,aAAa,IAAI,aAAa,CAAC,WAAW,KAAK,aAAa,EAAE,CAAC;gBAC1G,YAAY,GAAG,aAAa,CAAC;YAC9B,CAAC;iBAAM,IAAI,aAAa,CAAC,cAAc,KAAK,WAAW,IAAI,aAAa,CAAC,WAAW,KAAK,WAAW,EAAE,CAAC;gBACtG,YAAY,GAAG,WAAW,CAAC;YAC5B,CAAC;iBAAM,IAAI,aAAa,CAAC,cAAc,KAAK,SAAS,IAAI,aAAa,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;gBAClG,YAAY,GAAG,SAAS,CAAC;YAC1B,CAAC;YAED,KAAK,CAAC,iBAAiB,GAAG;gBACzB,aAAa,EAAE,CAAC;gBAChB,MAAM,EAAE,YAAY;gBACpB,UAAU,EAAE;oBACX,cAAc,EAAE,aAAa,CAAC,cAAc;oBAC5C,WAAW,EAAE,aAAa,CAAC,WAAW;oBACtC,OAAO,EAAE,aAAa,CAAC,OAAO;iBAC9B;gBACD,OAAO,EAAE,EAAE,GAAG,gBAAgB,EAAE;gBAChC,sBAAsB,EAAE,QAAQ;gBAChC,mBAAmB,EAAE,aAAa,CAAC,UAAU;gBAC7C,QAAQ,EAAE,YAAY,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,WAAW;gBAChF,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,SAAS;gBACzE,iBAAiB,EAAE,kBAAkB;gBACrC,eAAe,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBACzF,OAAO,EAAE,CAAC;aACV,CAAC;YACF,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC;YAElC,MAAM,YAAY,GAAG,aAAa,CAAC,cAAc,KAAK,MAAM,IAAI,aAAa,CAAC,WAAW,KAAK,MAAM,CAAC;YACrG,IAAI,YAAY,EAAE,CAAC;gBAClB,MAAM,MAAM,GAAG,uBAAuB,aAAa,CAAC,cAAc,aAAa,aAAa,CAAC,WAAW,MAAM,aAAa,CAAC,OAAO,EAAE,CAAC;gBACtI,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;gBACrB,IAAI,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;oBACvC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;gBACzB,CAAC;YACF,CAAC;YAED,WAAW;YACX,KAAK,CAAC,KAAK,GAAG,aAAa,CAAC;YAC5B,IAAI,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YACjD,MAAM,UAAU,GAAG,MAAM,cAAc,CACtC;gBACC,WAAW,EAAE,WAAW,CAAC,MAAM;gBAC/B,IAAI;gBACJ,SAAS;gBACT,YAAY;gBACZ,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,UAAU,EAAE,WAAW,CAAC,UAAU;gBAClC,KAAK,EAAE,WAAW,CAAC,KAAK;aACxB,EACD,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAChC,IAAI,CAAC,MAAM,CAAC,sBAAsB,CAClC,CAAC;YAEF,uEAAuE;YACvE,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YACpE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;YACxF,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAE9B,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9E,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK;gBACnC,CAAC,CAAC,KAAK,WAAW,CAAC,KAAK,CAAC,WAAW,IAAI,WAAW,CAAC,KAAK,CAAC,YAAY,UAAU;gBAChF,CAAC,CAAC,EAAE,CAAC;YAEN,MAAM,cAAc,GACnB,mBAAmB,KAAK,MAAM;gBAC9B,mBAAmB,KAAK,gBAAgB;gBACxC,mBAAmB,KAAK,gBAAgB,CAAC;YAC1C,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,IAAI,CAAC,YAAY,IAAI,cAAc,CAAC;YAC9E,MAAM,MAAM,GAAqB;gBAChC,OAAO,EAAE,cAAc;gBACvB,OAAO,EAAE,UAAU;gBACnB,YAAY;gBACZ,SAAS;gBACT,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAU;gBACzC,gBAAgB,EAAE,IAAI;gBACtB,KAAK,EAAE,WAAW,CAAC,KAAK;gBACxB,cAAc,EAAE,UAAU;aAC1B,CAAC;YAEF,KAAK,CAAC,eAAe,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC;YACrE,KAAK,CAAC,kBAAkB,GAAG,mBAAmB,CAAC;YAC/C,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC;YAClC,KAAK,CAAC,WAAW,GAAG,mBAAmB,KAAK,MAAM,IAAI,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;YAEtG,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;YAC3B,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;YAC1B,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YACtB,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC/B,IAAI,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,GAAG,YAAY,CAAC,MAAM,WAAW,SAAS,GAAG,UAAU,EAAE,CAAC,CAAC;YAE1G,+CAA+C;YAC/C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;gBACzB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACnD,IAAI,CAAC,WAAW,CAAC,GAAG,CACnB,GAAG,CAAC,IAAI,EACR,GAAG,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,EAC7G,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAC9C,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAC5C,MAAM,EACN,IAAI,CAAC,QAAQ,EACb,SAAS,CACT,CAAC;gBAEF,sDAAsD;gBACtD,qGAAqG;gBACrG,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC;oBAC9D,IAAI,CAAC,cAAc;yBACjB,MAAM,CAAC;wBACP,IAAI,EAAE,GAAG,CAAC,IAAI;wBACd,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa;wBACrD,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa;wBACnD,IAAI,EAAE,EAAE;wBACR,UAAU,EAAE,EAAE;wBACd,OAAO,EAAE,IAAI;wBACb,UAAU,EAAE,MAAM,CAAC,UAAU;wBAC7B,gBAAgB,EAAE,IAAI;wBACtB,YAAY,EAAE,YAAY;wBAC1B,OAAO,EAAE,UAAU;qBACnB,CAAC;yBACD,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,YAAY;gBAChC,CAAC;YACF,CAAC;YAED,OAAO,MAAM,CAAC;QACf,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACd,MAAM,QAAQ,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClE,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;YACxB,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC;YACvB,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC;YACvB,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC/B,IAAI,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAEpE,2FAA2F;YAC3F,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YACvE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC5D,KAAK,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAE9B,8BAA8B;YAC9B,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAErC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACzC,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;QAC1B,CAAC;IACF,CAAC;IAED,wCAAwC;IACxC,YAAY,CAAC,QAAgB;QAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QACtB,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,KAAK,EAAE,CAAC;YACX,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;YAC3B,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,kCAAkC;IAClC,SAAS;QACR,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACpD,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACnC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,EAAE,CAAC;gBACzE,KAAK,CAAC,MAAM,GAAG,WAAW,CAAC;gBAC3B,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;YAC3B,CAAC;QACF,CAAC;IACF,CAAC;IAED,6BAA6B;IAC7B,UAAU;QACT,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,qCAAqC;IACrC,SAAS,CAAC,QAAgB;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnC,CAAC;IAED,wFAAwF;IACxF,aAAa,CAAC,KAAkB;QAC/B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;IAED,qDAAqD;IACrD,kBAAkB;QACjB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC7B,CAAC;IAED,gCAAgC;IAChC,cAAc;QACb,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IAC/B,CAAC;IAED,iCAAiC;IACjC,aAAa;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;IACpC,CAAC;IAED,6BAA6B;IAC7B,mBAAmB;QAClB,OAAO;YACN,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW;YAClC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY;YACpC,KAAK,EAAE,IAAI,CAAC,YAAY;YACxB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;SAC5B,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,KAAK,CAAC,OAAO;QACZ,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,MAAM,CAAC,sBAAsB,EAAE,CAAC;YACxC,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;QACzC,CAAC;IACF,CAAC;IAED,uDAAuD;IACvD,KAAK,CAAC,eAAe,CAAC,QAAgB;QACrC,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACR,YAAY;QACb,CAAC;IACF,CAAC;IAEO,UAAU,CAAC,KAAkB,EAAE,OAAe;QACrD,OAAO;YACN,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,0BAA0B,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,WAAW,MAAM,OAAO,EAAE;YACpF,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACxD,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;SACxC,CAAC;IACH,CAAC;CACD"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Startup banner — the first thing users see when running swarm.
|
|
3
|
+
*/
|
|
4
|
+
/** Render the swarm startup banner. */
|
|
5
|
+
export declare function renderBanner(config: {
|
|
6
|
+
dir: string;
|
|
7
|
+
model: string;
|
|
8
|
+
provider: string;
|
|
9
|
+
agent: string;
|
|
10
|
+
routing: string;
|
|
11
|
+
query: string;
|
|
12
|
+
dryRun: boolean;
|
|
13
|
+
memorySize?: number;
|
|
14
|
+
}): void;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Startup banner — the first thing users see when running swarm.
|
|
3
|
+
*/
|
|
4
|
+
import { getLogLevel, isJsonMode, logKeyValue } from "./log.js";
|
|
5
|
+
import { bold, coral, cyan, dim, isTTY, symbols, termWidth } from "./theme.js";
|
|
6
|
+
const VERSION = "0.1.0";
|
|
7
|
+
/** Render the swarm startup banner. */
|
|
8
|
+
export function renderBanner(config) {
|
|
9
|
+
if (isJsonMode() || getLogLevel() === "quiet")
|
|
10
|
+
return;
|
|
11
|
+
const w = Math.max(Math.min(termWidth(), 60), 24);
|
|
12
|
+
if (isTTY) {
|
|
13
|
+
const title = " swarm ";
|
|
14
|
+
const version = ` v${VERSION} `;
|
|
15
|
+
const padLen = Math.max(0, w - title.length - version.length - 4);
|
|
16
|
+
const leftPad = symbols.horizontal.repeat(Math.floor(padLen / 2));
|
|
17
|
+
const rightPad = symbols.horizontal.repeat(Math.ceil(padLen / 2));
|
|
18
|
+
process.stderr.write("\n");
|
|
19
|
+
process.stderr.write(` ${cyan(`${symbols.topLeft}${leftPad}`)}${bold(coral(title))}${dim(version)}${cyan(`${rightPad}${symbols.topRight}`)}\n`);
|
|
20
|
+
process.stderr.write(` ${cyan(symbols.vertLine)}${" ".repeat(Math.max(0, w - 2))}${cyan(symbols.vertLine)}\n`);
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
process.stderr.write(`\nswarm v${VERSION}\n`);
|
|
24
|
+
}
|
|
25
|
+
logKeyValue("Directory", config.dir);
|
|
26
|
+
logKeyValue("Model", `${config.model} ${dim(`(${config.provider})`)}`);
|
|
27
|
+
logKeyValue("Agent", config.agent);
|
|
28
|
+
logKeyValue("Routing", config.routing);
|
|
29
|
+
if (config.memorySize !== undefined && config.memorySize > 0) {
|
|
30
|
+
logKeyValue("Memory", `${config.memorySize} episodes`);
|
|
31
|
+
}
|
|
32
|
+
if (config.dryRun) {
|
|
33
|
+
logKeyValue("Mode", bold("DRY RUN"));
|
|
34
|
+
}
|
|
35
|
+
if (isTTY) {
|
|
36
|
+
process.stderr.write(` ${cyan(symbols.vertLine)}${" ".repeat(Math.max(0, w - 2))}${cyan(symbols.vertLine)}\n`);
|
|
37
|
+
process.stderr.write(` ${cyan(symbols.bottomLeft)}${cyan(symbols.horizontal.repeat(Math.max(0, w - 2)))}${cyan(symbols.bottomRight)}\n`);
|
|
38
|
+
}
|
|
39
|
+
// Query on its own line, slightly emphasized
|
|
40
|
+
process.stderr.write(`\n ${dim(symbols.arrow)} ${config.query}\n\n`);
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=banner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/ui/banner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Live thread status dashboard — shows running/queued/completed threads.
|
|
3
|
+
*
|
|
4
|
+
* Rendering is owned by the Spinner — the dashboard builds lines but does NOT
|
|
5
|
+
* write directly to stderr. This prevents interleaving between the spinner's
|
|
6
|
+
* 80ms animation loop and async thread progress callbacks.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Thread dashboard — manages thread state and builds status lines.
|
|
10
|
+
* Does NOT write to stderr directly — the Spinner calls getLines()
|
|
11
|
+
* on each render tick to include dashboard output atomically.
|
|
12
|
+
*/
|
|
13
|
+
export declare class ThreadDashboard {
|
|
14
|
+
private threads;
|
|
15
|
+
private pendingTimers;
|
|
16
|
+
private enabled;
|
|
17
|
+
constructor();
|
|
18
|
+
/** Update a thread's status. */
|
|
19
|
+
update(id: string, phase: string, detail?: string, extra?: {
|
|
20
|
+
task?: string;
|
|
21
|
+
agent?: string;
|
|
22
|
+
model?: string;
|
|
23
|
+
filesChanged?: number;
|
|
24
|
+
}): void;
|
|
25
|
+
/** Mark a thread as done. Auto-removes after 1.5s. */
|
|
26
|
+
complete(id: string, phase: string, detail?: string): void;
|
|
27
|
+
/** Clear all state and cancel pending timers. */
|
|
28
|
+
clear(): void;
|
|
29
|
+
/** Get the current dashboard lines (called by Spinner.render). */
|
|
30
|
+
getLines(): string[];
|
|
31
|
+
private buildLines;
|
|
32
|
+
private formatPhase;
|
|
33
|
+
}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Live thread status dashboard — shows running/queued/completed threads.
|
|
3
|
+
*
|
|
4
|
+
* Rendering is owned by the Spinner — the dashboard builds lines but does NOT
|
|
5
|
+
* write directly to stderr. This prevents interleaving between the spinner's
|
|
6
|
+
* 80ms animation loop and async thread progress callbacks.
|
|
7
|
+
*/
|
|
8
|
+
import { getLogLevel, isJsonMode } from "./log.js";
|
|
9
|
+
import { coral, cyan, dim, green, isTTY, red, stripAnsi, symbols, termWidth, truncate, yellow } from "./theme.js";
|
|
10
|
+
/**
|
|
11
|
+
* Thread dashboard — manages thread state and builds status lines.
|
|
12
|
+
* Does NOT write to stderr directly — the Spinner calls getLines()
|
|
13
|
+
* on each render tick to include dashboard output atomically.
|
|
14
|
+
*/
|
|
15
|
+
export class ThreadDashboard {
|
|
16
|
+
threads = new Map();
|
|
17
|
+
pendingTimers = new Set();
|
|
18
|
+
enabled;
|
|
19
|
+
constructor() {
|
|
20
|
+
this.enabled = isTTY && !isJsonMode() && getLogLevel() !== "quiet";
|
|
21
|
+
}
|
|
22
|
+
/** Update a thread's status. */
|
|
23
|
+
update(id, phase, detail, extra) {
|
|
24
|
+
const existing = this.threads.get(id);
|
|
25
|
+
if (existing) {
|
|
26
|
+
existing.phase = phase;
|
|
27
|
+
if (detail)
|
|
28
|
+
existing.detail = detail;
|
|
29
|
+
if (extra?.filesChanged !== undefined)
|
|
30
|
+
existing.filesChanged = extra.filesChanged;
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
this.threads.set(id, {
|
|
34
|
+
id,
|
|
35
|
+
task: extra?.task || "",
|
|
36
|
+
phase,
|
|
37
|
+
agent: extra?.agent || "",
|
|
38
|
+
model: extra?.model || "",
|
|
39
|
+
startedAt: Date.now(),
|
|
40
|
+
filesChanged: extra?.filesChanged,
|
|
41
|
+
detail,
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
// No direct render — spinner picks up changes on next tick
|
|
45
|
+
}
|
|
46
|
+
/** Mark a thread as done. Auto-removes after 1.5s. */
|
|
47
|
+
complete(id, phase, detail) {
|
|
48
|
+
const existing = this.threads.get(id);
|
|
49
|
+
if (existing) {
|
|
50
|
+
existing.phase = phase;
|
|
51
|
+
if (detail)
|
|
52
|
+
existing.detail = detail;
|
|
53
|
+
}
|
|
54
|
+
const timer = setTimeout(() => {
|
|
55
|
+
this.pendingTimers.delete(timer);
|
|
56
|
+
this.threads.delete(id);
|
|
57
|
+
}, 1500);
|
|
58
|
+
this.pendingTimers.add(timer);
|
|
59
|
+
}
|
|
60
|
+
/** Clear all state and cancel pending timers. */
|
|
61
|
+
clear() {
|
|
62
|
+
for (const timer of this.pendingTimers)
|
|
63
|
+
clearTimeout(timer);
|
|
64
|
+
this.pendingTimers.clear();
|
|
65
|
+
this.threads.clear();
|
|
66
|
+
}
|
|
67
|
+
/** Get the current dashboard lines (called by Spinner.render). */
|
|
68
|
+
getLines() {
|
|
69
|
+
if (!this.enabled || this.threads.size === 0)
|
|
70
|
+
return [];
|
|
71
|
+
return this.buildLines();
|
|
72
|
+
}
|
|
73
|
+
buildLines() {
|
|
74
|
+
const w = Math.min(termWidth(), 80);
|
|
75
|
+
const lines = [];
|
|
76
|
+
const now = Date.now();
|
|
77
|
+
for (const [, t] of this.threads) {
|
|
78
|
+
const elapsed = ((now - t.startedAt) / 1000).toFixed(1);
|
|
79
|
+
const tag = dim(t.id.slice(0, 8));
|
|
80
|
+
const phase = this.formatPhase(t.phase);
|
|
81
|
+
const time = dim(`${elapsed}s`);
|
|
82
|
+
const task = t.task ? truncate(t.task, 40) : "";
|
|
83
|
+
const detail = t.detail ? dim(t.detail) : "";
|
|
84
|
+
let line;
|
|
85
|
+
if (t.phase === "completed") {
|
|
86
|
+
const files = t.filesChanged !== undefined ? dim(`${t.filesChanged} files`) : "";
|
|
87
|
+
line = ` ${tag} ${phase} ${time} ${files} ${detail}`;
|
|
88
|
+
}
|
|
89
|
+
else if (t.phase === "failed" || t.phase === "cancelled") {
|
|
90
|
+
line = ` ${tag} ${phase} ${time} ${detail}`;
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
line = ` ${tag} ${phase} ${time} ${dim(task)}`;
|
|
94
|
+
}
|
|
95
|
+
// ANSI-safe truncation — count visible chars, not raw string length
|
|
96
|
+
const visible = stripAnsi(line);
|
|
97
|
+
if (visible.length > w) {
|
|
98
|
+
// Rebuild truncated: just trim the last visible portion
|
|
99
|
+
const ansiOverhead = line.length - visible.length;
|
|
100
|
+
line = `${line.slice(0, w - 1 + ansiOverhead)}\x1b[0m`;
|
|
101
|
+
}
|
|
102
|
+
lines.push(line);
|
|
103
|
+
}
|
|
104
|
+
return lines;
|
|
105
|
+
}
|
|
106
|
+
formatPhase(phase) {
|
|
107
|
+
switch (phase) {
|
|
108
|
+
case "queued":
|
|
109
|
+
return dim("queued");
|
|
110
|
+
case "creating_worktree":
|
|
111
|
+
return cyan("creating worktree");
|
|
112
|
+
case "agent_running":
|
|
113
|
+
return coral("running agent");
|
|
114
|
+
case "capturing_diff":
|
|
115
|
+
return cyan("capturing diff");
|
|
116
|
+
case "compressing":
|
|
117
|
+
return dim("compressing");
|
|
118
|
+
case "verifying":
|
|
119
|
+
return cyan("verifying");
|
|
120
|
+
case "completed":
|
|
121
|
+
return green(`${symbols.check} completed`);
|
|
122
|
+
case "failed":
|
|
123
|
+
return red(`${symbols.cross} failed`);
|
|
124
|
+
case "verification_failed":
|
|
125
|
+
return red(`${symbols.cross} verification failed`);
|
|
126
|
+
case "cancelled":
|
|
127
|
+
return yellow("cancelled");
|
|
128
|
+
case "retrying":
|
|
129
|
+
return yellow("retrying");
|
|
130
|
+
default:
|
|
131
|
+
return dim(phase);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=dashboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dashboard.js","sourceRoot":"","sources":["../../src/ui/dashboard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UI module — barrel export for all UI components.
|
|
3
|
+
*/
|
|
4
|
+
export * from "./banner.js";
|
|
5
|
+
export * from "./dashboard.js";
|
|
6
|
+
export * from "./log.js";
|
|
7
|
+
export * from "./onboarding.js";
|
|
8
|
+
export * from "./spinner.js";
|
|
9
|
+
export * from "./streaming-feed.js";
|
|
10
|
+
export * from "./summary.js";
|
|
11
|
+
export * from "./theme.js";
|
package/dist/ui/index.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* UI module — barrel export for all UI components.
|
|
3
|
+
*/
|
|
4
|
+
export * from "./banner.js";
|
|
5
|
+
export * from "./dashboard.js";
|
|
6
|
+
export * from "./log.js";
|
|
7
|
+
export * from "./onboarding.js";
|
|
8
|
+
export * from "./spinner.js";
|
|
9
|
+
export * from "./streaming-feed.js";
|
|
10
|
+
export * from "./summary.js";
|
|
11
|
+
export * from "./theme.js";
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
package/dist/ui/log.d.ts
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structured logging — consistent formatting for all terminal output.
|
|
3
|
+
*
|
|
4
|
+
* All swarm-code output flows through these functions to ensure consistent
|
|
5
|
+
* formatting, TTY-awareness, and proper stdout/stderr separation.
|
|
6
|
+
*
|
|
7
|
+
* Convention: progress/status → stderr, final answer → stdout.
|
|
8
|
+
*/
|
|
9
|
+
export type LogLevel = "quiet" | "normal" | "verbose";
|
|
10
|
+
export declare function setLogLevel(level: LogLevel): void;
|
|
11
|
+
export declare function setJsonMode(enabled: boolean): void;
|
|
12
|
+
export declare function getLogLevel(): LogLevel;
|
|
13
|
+
export declare function isJsonMode(): boolean;
|
|
14
|
+
/** Standard info line. */
|
|
15
|
+
export declare function logInfo(message: string): void;
|
|
16
|
+
/** Success line with checkmark. */
|
|
17
|
+
export declare function logSuccess(message: string): void;
|
|
18
|
+
/** Warning line — always shown (never suppressed by quiet or JSON mode). */
|
|
19
|
+
export declare function logWarn(message: string): void;
|
|
20
|
+
/** Error line — always shown (never suppressed by quiet or JSON mode). */
|
|
21
|
+
export declare function logError(message: string, hint?: string): void;
|
|
22
|
+
/** Verbose-only line — only shown with --verbose. */
|
|
23
|
+
export declare function logVerbose(message: string): void;
|
|
24
|
+
/** Debug/dim secondary information. */
|
|
25
|
+
export declare function logDim(message: string): void;
|
|
26
|
+
/** Section header. */
|
|
27
|
+
export declare function logHeader(message: string): void;
|
|
28
|
+
/** Horizontal rule separator. */
|
|
29
|
+
export declare function logSeparator(): void;
|
|
30
|
+
/** Key-value pair (for config display). */
|
|
31
|
+
export declare function logKeyValue(key: string, value: string, keyWidth?: number): void;
|
|
32
|
+
/** Thread progress line with color-coded phase. */
|
|
33
|
+
export declare function logThread(threadId: string, phase: string, detail?: string): void;
|
|
34
|
+
/** Router/memory verbose info. */
|
|
35
|
+
export declare function logRouter(message: string): void;
|
|
36
|
+
/** Write the final answer to stdout. */
|
|
37
|
+
export declare function logAnswer(answer: string): void;
|
|
38
|
+
/** Write structured JSON output. */
|
|
39
|
+
export declare function logJson(data: Record<string, unknown>): void;
|
package/dist/ui/log.js
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structured logging — consistent formatting for all terminal output.
|
|
3
|
+
*
|
|
4
|
+
* All swarm-code output flows through these functions to ensure consistent
|
|
5
|
+
* formatting, TTY-awareness, and proper stdout/stderr separation.
|
|
6
|
+
*
|
|
7
|
+
* Convention: progress/status → stderr, final answer → stdout.
|
|
8
|
+
*/
|
|
9
|
+
import { bold, cyan, dim, gray, green, hr, magenta, red, symbols, yellow } from "./theme.js";
|
|
10
|
+
let _level = "normal";
|
|
11
|
+
let _jsonMode = false;
|
|
12
|
+
export function setLogLevel(level) {
|
|
13
|
+
_level = level;
|
|
14
|
+
}
|
|
15
|
+
export function setJsonMode(enabled) {
|
|
16
|
+
_jsonMode = enabled;
|
|
17
|
+
}
|
|
18
|
+
export function getLogLevel() {
|
|
19
|
+
return _level;
|
|
20
|
+
}
|
|
21
|
+
export function isJsonMode() {
|
|
22
|
+
return _jsonMode;
|
|
23
|
+
}
|
|
24
|
+
// ── Core log functions ──────────────────────────────────────────────────────
|
|
25
|
+
/** Standard info line. */
|
|
26
|
+
export function logInfo(message) {
|
|
27
|
+
if (_level === "quiet" || _jsonMode)
|
|
28
|
+
return;
|
|
29
|
+
process.stderr.write(` ${cyan(symbols.info)} ${message}\n`);
|
|
30
|
+
}
|
|
31
|
+
/** Success line with checkmark. */
|
|
32
|
+
export function logSuccess(message) {
|
|
33
|
+
if (_level === "quiet" || _jsonMode)
|
|
34
|
+
return;
|
|
35
|
+
process.stderr.write(` ${green(symbols.check)} ${message}\n`);
|
|
36
|
+
}
|
|
37
|
+
/** Warning line — always shown (never suppressed by quiet or JSON mode). */
|
|
38
|
+
export function logWarn(message) {
|
|
39
|
+
if (_jsonMode) {
|
|
40
|
+
process.stderr.write(`warning: ${message}\n`);
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
process.stderr.write(` ${yellow(symbols.warn)} ${message}\n`);
|
|
44
|
+
}
|
|
45
|
+
/** Error line — always shown (never suppressed by quiet or JSON mode). */
|
|
46
|
+
export function logError(message, hint) {
|
|
47
|
+
if (_jsonMode) {
|
|
48
|
+
process.stderr.write(`error: ${message}${hint ? ` (${hint})` : ""}\n`);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
process.stderr.write(` ${red(symbols.cross)} ${message}\n`);
|
|
52
|
+
if (hint) {
|
|
53
|
+
process.stderr.write(` ${dim(hint)}\n`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/** Verbose-only line — only shown with --verbose. */
|
|
57
|
+
export function logVerbose(message) {
|
|
58
|
+
if (_level !== "verbose" || _jsonMode)
|
|
59
|
+
return;
|
|
60
|
+
process.stderr.write(` ${gray(message)}\n`);
|
|
61
|
+
}
|
|
62
|
+
/** Debug/dim secondary information. */
|
|
63
|
+
export function logDim(message) {
|
|
64
|
+
if (_level === "quiet" || _jsonMode)
|
|
65
|
+
return;
|
|
66
|
+
process.stderr.write(` ${dim(message)}\n`);
|
|
67
|
+
}
|
|
68
|
+
/** Section header. */
|
|
69
|
+
export function logHeader(message) {
|
|
70
|
+
if (_level === "quiet" || _jsonMode)
|
|
71
|
+
return;
|
|
72
|
+
process.stderr.write(`\n ${bold(cyan(message))}\n`);
|
|
73
|
+
}
|
|
74
|
+
/** Horizontal rule separator. */
|
|
75
|
+
export function logSeparator() {
|
|
76
|
+
if (_level === "quiet" || _jsonMode)
|
|
77
|
+
return;
|
|
78
|
+
process.stderr.write(` ${hr()}\n`);
|
|
79
|
+
}
|
|
80
|
+
/** Key-value pair (for config display). */
|
|
81
|
+
export function logKeyValue(key, value, keyWidth = 12) {
|
|
82
|
+
if (_level === "quiet" || _jsonMode)
|
|
83
|
+
return;
|
|
84
|
+
const paddedKey = key.padEnd(keyWidth);
|
|
85
|
+
process.stderr.write(` ${dim(paddedKey)} ${value}\n`);
|
|
86
|
+
}
|
|
87
|
+
/** Thread progress line with color-coded phase. */
|
|
88
|
+
export function logThread(threadId, phase, detail) {
|
|
89
|
+
if (_level === "quiet" || _jsonMode)
|
|
90
|
+
return;
|
|
91
|
+
const tag = dim(`[${threadId.slice(0, 8)}]`);
|
|
92
|
+
const phaseColor = PHASE_COLORS[phase] || ((s) => s);
|
|
93
|
+
const suffix = detail ? dim(` ${detail}`) : "";
|
|
94
|
+
process.stderr.write(` ${tag} ${phaseColor(phase)}${suffix}\n`);
|
|
95
|
+
}
|
|
96
|
+
/** Router/memory verbose info. */
|
|
97
|
+
export function logRouter(message) {
|
|
98
|
+
if (_level !== "verbose" || _jsonMode)
|
|
99
|
+
return;
|
|
100
|
+
process.stderr.write(` ${magenta(symbols.arrow)} ${dim(message)}\n`);
|
|
101
|
+
}
|
|
102
|
+
/** Write the final answer to stdout. */
|
|
103
|
+
export function logAnswer(answer) {
|
|
104
|
+
if (_jsonMode)
|
|
105
|
+
return;
|
|
106
|
+
process.stdout.write(answer);
|
|
107
|
+
if (!answer.endsWith("\n"))
|
|
108
|
+
process.stdout.write("\n");
|
|
109
|
+
}
|
|
110
|
+
/** Write structured JSON output. */
|
|
111
|
+
export function logJson(data) {
|
|
112
|
+
process.stdout.write(`${JSON.stringify(data, null, 2)}\n`);
|
|
113
|
+
}
|
|
114
|
+
// ── Phase color mapping ────────────────────────────────────────────────────
|
|
115
|
+
const PHASE_COLORS = {
|
|
116
|
+
queued: dim,
|
|
117
|
+
creating_worktree: cyan,
|
|
118
|
+
agent_running: bold,
|
|
119
|
+
capturing_diff: cyan,
|
|
120
|
+
compressing: dim,
|
|
121
|
+
completed: green,
|
|
122
|
+
failed: red,
|
|
123
|
+
cancelled: yellow,
|
|
124
|
+
retrying: yellow,
|
|
125
|
+
};
|
|
126
|
+
//# sourceMappingURL=log.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/ui/log.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAI7F,IAAI,MAAM,GAAa,QAAQ,CAAC;AAChC,IAAI,SAAS,GAAG,KAAK,CAAC;AAEtB,MAAM,UAAU,WAAW,CAAC,KAAe;IAC1C,MAAM,GAAG,KAAK,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC3C,SAAS,GAAG,OAAO,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,WAAW;IAC1B,OAAO,MAAM,CAAC;AACf,CAAC;AAED,MAAM,UAAU,UAAU;IACzB,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,+EAA+E;AAE/E,0BAA0B;AAC1B,MAAM,UAAU,OAAO,CAAC,OAAe;IACtC,IAAI,MAAM,KAAK,OAAO,IAAI,SAAS;QAAE,OAAO;IAC5C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED,mCAAmC;AACnC,MAAM,UAAU,UAAU,CAAC,OAAe;IACzC,IAAI,MAAM,KAAK,OAAO,IAAI,SAAS;QAAE,OAAO;IAC5C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;AAChE,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,OAAO,CAAC,OAAe;IACtC,IAAI,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,OAAO,IAAI,CAAC,CAAC;QAC9C,OAAO;IACR,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;AAChE,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,IAAa;IACtD,IAAI,SAAS,EAAE,CAAC;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACvE,OAAO;IACR,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;IAC7D,IAAI,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;AACF,CAAC;AAED,qDAAqD;AACrD,MAAM,UAAU,UAAU,CAAC,OAAe;IACzC,IAAI,MAAM,KAAK,SAAS,IAAI,SAAS;QAAE,OAAO;IAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,uCAAuC;AACvC,MAAM,UAAU,MAAM,CAAC,OAAe;IACrC,IAAI,MAAM,KAAK,OAAO,IAAI,SAAS;QAAE,OAAO;IAC5C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC7C,CAAC;AAED,sBAAsB;AACtB,MAAM,UAAU,SAAS,CAAC,OAAe;IACxC,IAAI,MAAM,KAAK,OAAO,IAAI,SAAS;QAAE,OAAO;IAC5C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;AACtD,CAAC;AAED,iCAAiC;AACjC,MAAM,UAAU,YAAY;IAC3B,IAAI,MAAM,KAAK,OAAO,IAAI,SAAS;QAAE,OAAO;IAC5C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,2CAA2C;AAC3C,MAAM,UAAU,WAAW,CAAC,GAAW,EAAE,KAAa,EAAE,QAAQ,GAAG,EAAE;IACpE,IAAI,MAAM,KAAK,OAAO,IAAI,SAAS;QAAE,OAAO;IAC5C,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACxD,CAAC;AAED,mDAAmD;AACnD,MAAM,UAAU,SAAS,CAAC,QAAgB,EAAE,KAAa,EAAE,MAAe;IACzE,IAAI,MAAM,KAAK,OAAO,IAAI,SAAS;QAAE,OAAO;IAC5C,MAAM,GAAG,GAAG,GAAG,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC;AAClE,CAAC;AAED,kCAAkC;AAClC,MAAM,UAAU,SAAS,CAAC,OAAe;IACxC,IAAI,MAAM,KAAK,SAAS,IAAI,SAAS;QAAE,OAAO;IAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACvE,CAAC;AAED,wCAAwC;AACxC,MAAM,UAAU,SAAS,CAAC,MAAc;IACvC,IAAI,SAAS;QAAE,OAAO;IACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACxD,CAAC;AAED,oCAAoC;AACpC,MAAM,UAAU,OAAO,CAAC,IAA6B;IACpD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AAC5D,CAAC;AAED,8EAA8E;AAE9E,MAAM,YAAY,GAA0C;IAC3D,MAAM,EAAE,GAAG;IACX,iBAAiB,EAAE,IAAI;IACvB,aAAa,EAAE,IAAI;IACnB,cAAc,EAAE,IAAI;IACpB,WAAW,EAAE,GAAG;IAChB,SAAS,EAAE,KAAK;IAChB,MAAM,EAAE,GAAG;IACX,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,MAAM;CAChB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* First-run onboarding — welcome screen + interactive agent setup wizard.
|
|
3
|
+
*
|
|
4
|
+
* Two-column layout: left has greeting + swarm mesh art + version info,
|
|
5
|
+
* right has tips + environment checks. Then an interactive wizard to:
|
|
6
|
+
* 1. Pick default coding agent from detected backends
|
|
7
|
+
* 2. Configure API keys for required providers
|
|
8
|
+
* 3. Choose default model
|
|
9
|
+
* 4. Save preferences to ~/.swarm/config.yaml
|
|
10
|
+
*
|
|
11
|
+
* Triggered once on first `swarm --dir` invocation. Saves ~/.swarm/.initialized marker.
|
|
12
|
+
*/
|
|
13
|
+
export declare function isFirstRun(): boolean;
|
|
14
|
+
export declare function runOnboarding(): Promise<void>;
|