maestro-flow 0.1.3 → 0.2.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/.claude/agents/workflow-external-researcher.md +86 -86
- package/.claude/agents/workflow-reviewer.md +80 -80
- package/.claude/commands/learn-decompose.md +176 -0
- package/.claude/commands/learn-follow.md +167 -0
- package/.claude/commands/learn-investigate.md +195 -0
- package/.claude/commands/learn-retro-decision.md +198 -0
- package/.claude/commands/learn-retro-git.md +160 -0
- package/.claude/commands/learn-second-opinion.md +167 -0
- package/.claude/commands/maestro-analyze.md +99 -99
- package/.claude/commands/maestro-brainstorm.md +90 -90
- package/.claude/commands/maestro-coordinate.md +65 -65
- package/.claude/commands/maestro-execute.md +96 -86
- package/.claude/commands/maestro-init.md +78 -78
- package/.claude/commands/maestro-link-coordinate.md +8 -0
- package/.claude/commands/maestro-milestone-audit.md +60 -60
- package/.claude/commands/maestro-milestone-complete.md +58 -58
- package/.claude/commands/maestro-overlay.md +122 -0
- package/.claude/commands/maestro-phase-add.md +55 -55
- package/.claude/commands/maestro-phase-transition.md +67 -65
- package/.claude/commands/maestro-plan.md +43 -0
- package/.claude/commands/maestro-quick.md +56 -56
- package/.claude/commands/maestro-roadmap.md +95 -95
- package/.claude/commands/maestro-spec-generate.md +102 -102
- package/.claude/commands/maestro-ui-design.md +152 -152
- package/.claude/commands/maestro-verify.md +87 -84
- package/.claude/commands/maestro.md +2 -0
- package/.claude/commands/manage-issue-analyze.md +62 -62
- package/.claude/commands/manage-issue-discover.md +77 -77
- package/.claude/commands/manage-issue-execute.md +73 -73
- package/.claude/commands/manage-issue-plan.md +62 -62
- package/.claude/commands/manage-learn.md +86 -0
- package/.claude/commands/manage-status.md +1 -0
- package/.claude/commands/quality-retrospective.md +103 -0
- package/.claude/commands/quality-review.md +125 -125
- package/.claude/commands/quality-test.md +6 -0
- package/.claude/commands/wiki-connect.md +168 -0
- package/.claude/commands/wiki-digest.md +180 -0
- package/.codex/skills/maestro-analyze/SKILL.md +530 -530
- package/.codex/skills/maestro-brainstorm/SKILL.md +463 -463
- package/.codex/skills/maestro-coordinate/SKILL.md +311 -0
- package/.codex/skills/maestro-execute/SKILL.md +437 -437
- package/.codex/skills/maestro-init/SKILL.md +167 -167
- package/.codex/skills/maestro-link-coordinate/SKILL.md +220 -0
- package/.codex/skills/maestro-milestone-audit/SKILL.md +209 -209
- package/.codex/skills/maestro-milestone-complete/SKILL.md +158 -158
- package/.codex/skills/maestro-overlay/SKILL.md +187 -0
- package/.codex/skills/maestro-phase-add/SKILL.md +154 -154
- package/.codex/skills/maestro-phase-transition/SKILL.md +173 -173
- package/.codex/skills/maestro-plan/SKILL.md +458 -458
- package/.codex/skills/maestro-quick/SKILL.md +164 -164
- package/.codex/skills/maestro-roadmap/SKILL.md +385 -385
- package/.codex/skills/maestro-spec-generate/SKILL.md +399 -399
- package/.codex/skills/maestro-ui-design/SKILL.md +179 -179
- package/.codex/skills/maestro-verify/SKILL.md +566 -566
- package/.codex/skills/manage-issue-analyze/SKILL.md +207 -0
- package/.codex/skills/manage-issue-discover/SKILL.md +503 -503
- package/.codex/skills/manage-issue-execute/SKILL.md +200 -0
- package/.codex/skills/manage-issue-plan/SKILL.md +186 -0
- package/.codex/skills/manage-learn/SKILL.md +186 -0
- package/.codex/skills/manage-memory/SKILL.md +72 -72
- package/.codex/skills/manage-memory-capture/SKILL.md +86 -86
- package/.codex/skills/quality-integration-test/SKILL.md +544 -544
- package/.codex/skills/quality-retrospective/SKILL.md +506 -0
- package/.codex/skills/quality-review/SKILL.md +408 -408
- package/.codex/skills/quality-test-gen/SKILL.md +447 -447
- package/README.md +69 -3
- package/README.zh-CN.md +19 -2
- package/bin/maestro-context-monitor.js +2 -2
- package/bin/maestro-delegate-monitor.js +3 -0
- package/bin/maestro-hook-runner.js +147 -0
- package/bin/maestro-mcp.js +2 -2
- package/bin/maestro-statusline.js +3 -3
- package/bin/maestro-team-monitor.js +3 -0
- package/bin/maestro.js +1 -1
- package/chains/_router.json +4 -4
- package/dashboard/dist/assets/{ArtifactsPage-D4xlwipN.js → ArtifactsPage-CfkfWkXr.js} +1 -1
- package/dashboard/dist/assets/ChatInput-DMUm4jhn.js +67 -0
- package/dashboard/dist/assets/ChatPage-CPWivYoS.js +13 -0
- package/dashboard/dist/assets/{KanbanPage-DunfYPZJ.js → KanbanPage-BQ6cezbm.js} +1 -1
- package/dashboard/dist/assets/{MarkdownRenderer-Dzj8FtoS.js → MarkdownRenderer-D2xpZVqP.js} +1 -1
- package/dashboard/dist/assets/McpPage-B-LmhlGn.js +16 -0
- package/dashboard/dist/assets/{RequirementBoardPage-BHQik0cq.js → RequirementBoardPage-DoNbM5xS.js} +1 -1
- package/dashboard/dist/assets/{RequirementPage-Bpx8qxeM.js → RequirementPage-CW8e1Cv_.js} +1 -1
- package/dashboard/dist/assets/{SpecsPage-BU8JN8fw.js → SpecsPage-Bl5WASF4.js} +1 -1
- package/dashboard/dist/assets/{SupervisorPage-DRBTi1AP.js → SupervisorPage-Ct51KlRl.js} +1 -1
- package/dashboard/dist/assets/{TeamsPage-CQsOc_Y8.js → TeamsPage-BLXi7emJ.js} +1 -1
- package/dashboard/dist/assets/{TreeBrowser-qW732QzJ.js → TreeBrowser-BF-vEawe.js} +1 -1
- package/dashboard/dist/assets/{WorkflowPage-D_WsulGC.js → WorkflowPage-D5DQLYoY.js} +1 -1
- package/dashboard/dist/assets/{arrow-left-CCpsKWvn.js → arrow-left-GaDqlIdA.js} +1 -1
- package/dashboard/dist/assets/{check-BR4mIlFD.js → check-D06Q17_u.js} +1 -1
- package/dashboard/dist/assets/{chevron-down-Db25lGmH.js → chevron-down-COuPz-xU.js} +1 -1
- package/dashboard/dist/assets/{chevron-right-DecIDoxI.js → chevron-right-Df9DiNd9.js} +1 -1
- package/dashboard/dist/assets/{circle-BKy_Br8I.js → circle-CwdcCqnf.js} +1 -1
- package/dashboard/dist/assets/{circle-alert-CgxlhUAB.js → circle-alert-xNa8pdQK.js} +1 -1
- package/dashboard/dist/assets/{circle-check-BvHAis-E.js → circle-check-B6ugdr-I.js} +1 -1
- package/dashboard/dist/assets/{circle-check-big-sQZH_YFo.js → circle-check-big-Du2ZkzU4.js} +1 -1
- package/dashboard/dist/assets/{code-CO9Rrog6.js → code-DUkRPZIu.js} +1 -1
- package/dashboard/dist/assets/{columns-3-DjIJTp-x.js → columns-3-B7nerqMb.js} +1 -1
- package/dashboard/dist/assets/{download-B5rSR4pZ.js → download-DSUXgure.js} +1 -1
- package/dashboard/dist/assets/{folder-Ifcb352Q.js → folder-C6wbX9PV.js} +1 -1
- package/dashboard/dist/assets/{git-branch-DZ1y6CY2.js → git-branch-BPklQ4Bl.js} +1 -1
- package/dashboard/dist/assets/index-BegaTjR7.css +1 -0
- package/dashboard/dist/assets/{index-CdDNRt77.js → index-DkK1KuCs.js} +1 -1
- package/dashboard/dist/assets/{index-CCfPkIHn.js → index-_5uKnGLN.js} +3 -3
- package/dashboard/dist/assets/{list-BPzXxr9I.js → list-BEAkau2G.js} +1 -1
- package/dashboard/dist/assets/{pen-line-C9NUqMyn.js → pen-line-Bk1b_xE-.js} +1 -1
- package/dashboard/dist/assets/{proxy-IZ0Btp7q.js → proxy-hByVfg9Z.js} +1 -1
- package/dashboard/dist/assets/{search-DGaQh9xt.js → search-ij25TuQe.js} +1 -1
- package/dashboard/dist/assets/{shallow-B1CDhozp.js → shallow-BcyhGB1i.js} +1 -1
- package/dashboard/dist/assets/{table-9byuvFFR.js → table-BAom8rqt.js} +1 -1
- package/dashboard/dist/assets/{trash-2-BXzvgl88.js → trash-2-C7bscdF9.js} +1 -1
- package/dashboard/dist/assets/{wrench-PwKK7ns0.js → wrench-C3axXC-M.js} +1 -1
- package/dashboard/dist/assets/{x-C8XWclL8.js → x-B8Y1iNhN.js} +1 -1
- package/dashboard/dist/assets/{zap-mmGtwzz8.js → zap-6qysYe-N.js} +1 -1
- package/dashboard/dist/index.html +2 -2
- package/dashboard/dist-server/dashboard/src/server/agents/adapter-factory.d.ts +7 -0
- package/dashboard/dist-server/dashboard/src/server/agents/adapter-factory.js +45 -0
- package/dashboard/dist-server/dashboard/src/server/agents/adapter-factory.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.d.ts +47 -0
- package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js +260 -0
- package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.test.js +162 -0
- package/dashboard/dist-server/dashboard/src/server/agents/agent-manager.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.d.ts +18 -0
- package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js +219 -0
- package/dashboard/dist-server/dashboard/src/server/agents/agent-sdk-adapter.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/base-adapter.d.ts +47 -0
- package/dashboard/dist-server/dashboard/src/server/agents/base-adapter.js +113 -0
- package/dashboard/dist-server/dashboard/src/server/agents/base-adapter.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.d.ts +22 -0
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js +352 -0
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.test.js +365 -0
- package/dashboard/dist-server/dashboard/src/server/agents/claude-code-adapter.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/codex-app-server-adapter.d.ts +32 -0
- package/dashboard/dist-server/dashboard/src/server/agents/codex-app-server-adapter.js +436 -0
- package/dashboard/dist-server/dashboard/src/server/agents/codex-app-server-adapter.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.d.ts +20 -0
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js +260 -0
- package/dashboard/dist-server/dashboard/src/server/agents/codex-cli-adapter.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.d.ts +30 -0
- package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.js +279 -0
- package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.test.js +140 -0
- package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/entry-normalizer.d.ts +16 -0
- package/dashboard/dist-server/dashboard/src/server/agents/entry-normalizer.js +126 -0
- package/dashboard/dist-server/dashboard/src/server/agents/entry-normalizer.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/entry-normalizer.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/entry-normalizer.test.js +128 -0
- package/dashboard/dist-server/dashboard/src/server/agents/entry-normalizer.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/env-cleanup.d.ts +7 -0
- package/dashboard/dist-server/dashboard/src/server/agents/env-cleanup.js +36 -0
- package/dashboard/dist-server/dashboard/src/server/agents/env-cleanup.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/env-file-loader.d.ts +6 -0
- package/dashboard/dist-server/dashboard/src/server/agents/env-file-loader.js +55 -0
- package/dashboard/dist-server/dashboard/src/server/agents/env-file-loader.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/gemini-a2a-adapter.d.ts +19 -0
- package/dashboard/dist-server/dashboard/src/server/agents/gemini-a2a-adapter.js +448 -0
- package/dashboard/dist-server/dashboard/src/server/agents/gemini-a2a-adapter.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/gemini-a2a-adapter.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/gemini-a2a-adapter.test.js +411 -0
- package/dashboard/dist-server/dashboard/src/server/agents/gemini-a2a-adapter.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/opencode-adapter.d.ts +15 -0
- package/dashboard/dist-server/dashboard/src/server/agents/opencode-adapter.js +188 -0
- package/dashboard/dist-server/dashboard/src/server/agents/opencode-adapter.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/sdk-message-translator.d.ts +38 -0
- package/dashboard/dist-server/dashboard/src/server/agents/sdk-message-translator.js +268 -0
- package/dashboard/dist-server/dashboard/src/server/agents/sdk-message-translator.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/sdk-message-translator.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/sdk-message-translator.test.js +327 -0
- package/dashboard/dist-server/dashboard/src/server/agents/sdk-message-translator.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.d.ts +24 -0
- package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.js +289 -0
- package/dashboard/dist-server/dashboard/src/server/agents/stream-json-adapter.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/stream-monitor.d.ts +16 -0
- package/dashboard/dist-server/dashboard/src/server/agents/stream-monitor.js +34 -0
- package/dashboard/dist-server/dashboard/src/server/agents/stream-monitor.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.js +111 -0
- package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.test.js +286 -0
- package/dashboard/dist-server/dashboard/src/server/agents/tools/issue-mcp-server.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.d.ts +49 -0
- package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.js +478 -0
- package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.test.js +930 -0
- package/dashboard/dist-server/dashboard/src/server/commander/commander-agent.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/commander/commander-config.d.ts +22 -0
- package/dashboard/dist-server/dashboard/src/server/commander/commander-config.js +172 -0
- package/dashboard/dist-server/dashboard/src/server/commander/commander-config.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/commander/commander-config.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/commander/commander-config.test.js +253 -0
- package/dashboard/dist-server/dashboard/src/server/commander/commander-config.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.d.ts +16 -0
- package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.js +139 -0
- package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.test.js +183 -0
- package/dashboard/dist-server/dashboard/src/server/commander/commander-prompts.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/commander/commander-routes.d.ts +12 -0
- package/dashboard/dist-server/dashboard/src/server/commander/commander-routes.js +116 -0
- package/dashboard/dist-server/dashboard/src/server/commander/commander-routes.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/commander/commander-routes.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/commander/commander-routes.test.js +177 -0
- package/dashboard/dist-server/dashboard/src/server/commander/commander-routes.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/config.d.ts +28 -0
- package/dashboard/dist-server/dashboard/src/server/config.js +67 -0
- package/dashboard/dist-server/dashboard/src/server/config.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/agents/quality-reviewer-agent.d.ts +5 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/agents/quality-reviewer-agent.js +86 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/agents/quality-reviewer-agent.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.d.ts +16 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js +163 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.test.js +230 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/chain-map.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/coordinator-routes.d.ts +12 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/coordinator-routes.js +84 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/coordinator-routes.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/coordinator-routes.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/coordinator-routes.test.js +233 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/coordinator-routes.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/dashboard-executor.d.ts +13 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/dashboard-executor.js +98 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/dashboard-executor.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/dashboard-step-analyzer.d.ts +7 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/dashboard-step-analyzer.js +34 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/dashboard-step-analyzer.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/graph-walker-factory.d.ts +22 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/graph-walker-factory.js +53 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/graph-walker-factory.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/prompts/index.d.ts +18 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/prompts/index.js +82 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/prompts/index.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/tools/workflow-mcp-server.d.ts +3 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/tools/workflow-mcp-server.js +109 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/tools/workflow-mcp-server.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/types.d.ts +51 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/types.js +5 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/types.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/walker-event-bridge.d.ts +9 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/walker-event-bridge.js +61 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/walker-event-bridge.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/workflow-coordinator.d.ts +39 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/workflow-coordinator.js +250 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/workflow-coordinator.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/workflow-coordinator.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/workflow-coordinator.test.js +247 -0
- package/dashboard/dist-server/dashboard/src/server/coordinator/workflow-coordinator.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/docs/doc-scanner.d.ts +31 -0
- package/dashboard/dist-server/dashboard/src/server/docs/doc-scanner.js +362 -0
- package/dashboard/dist-server/dashboard/src/server/docs/doc-scanner.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/docs/doc-scanner.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/docs/doc-scanner.test.js +184 -0
- package/dashboard/dist-server/dashboard/src/server/docs/doc-scanner.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/docs/doc-types.d.ts +52 -0
- package/dashboard/dist-server/dashboard/src/server/docs/doc-types.js +2 -0
- package/dashboard/dist-server/dashboard/src/server/docs/doc-types.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/docs/frontmatter-util.d.ts +5 -0
- package/dashboard/dist-server/dashboard/src/server/docs/frontmatter-util.js +52 -0
- package/dashboard/dist-server/dashboard/src/server/docs/frontmatter-util.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/docs/virtual-doc-adapters.d.ts +4 -0
- package/dashboard/dist-server/dashboard/src/server/docs/virtual-doc-adapters.js +153 -0
- package/dashboard/dist-server/dashboard/src/server/docs/virtual-doc-adapters.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/execution/dispatch-strategy.d.ts +33 -0
- package/dashboard/dist-server/dashboard/src/server/execution/dispatch-strategy.js +5 -0
- package/dashboard/dist-server/dashboard/src/server/execution/dispatch-strategy.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/execution/execution-journal.d.ts +16 -0
- package/dashboard/dist-server/dashboard/src/server/execution/execution-journal.js +100 -0
- package/dashboard/dist-server/dashboard/src/server/execution/execution-journal.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/execution/execution-scheduler.d.ts +126 -0
- package/dashboard/dist-server/dashboard/src/server/execution/execution-scheduler.js +1101 -0
- package/dashboard/dist-server/dashboard/src/server/execution/execution-scheduler.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/execution/execution-scheduler.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/execution/execution-scheduler.test.js +129 -0
- package/dashboard/dist-server/dashboard/src/server/execution/execution-scheduler.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/execution/strategies/commander-strategy.d.ts +8 -0
- package/dashboard/dist-server/dashboard/src/server/execution/strategies/commander-strategy.js +24 -0
- package/dashboard/dist-server/dashboard/src/server/execution/strategies/commander-strategy.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/execution/strategies/priority-strategy.d.ts +5 -0
- package/dashboard/dist-server/dashboard/src/server/execution/strategies/priority-strategy.js +33 -0
- package/dashboard/dist-server/dashboard/src/server/execution/strategies/priority-strategy.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/execution/strategies/smart-strategy.d.ts +5 -0
- package/dashboard/dist-server/dashboard/src/server/execution/strategies/smart-strategy.js +53 -0
- package/dashboard/dist-server/dashboard/src/server/execution/strategies/smart-strategy.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/execution/wave-executor.d.ts +32 -0
- package/dashboard/dist-server/dashboard/src/server/execution/wave-executor.js +434 -0
- package/dashboard/dist-server/dashboard/src/server/execution/wave-executor.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/execution/workspace-manager.d.ts +49 -0
- package/dashboard/dist-server/dashboard/src/server/execution/workspace-manager.js +155 -0
- package/dashboard/dist-server/dashboard/src/server/execution/workspace-manager.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/index.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/index.js +207 -0
- package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/observability/observability-routes.d.ts +7 -0
- package/dashboard/dist-server/dashboard/src/server/observability/observability-routes.js +41 -0
- package/dashboard/dist-server/dashboard/src/server/observability/observability-routes.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/observability/observability-service.d.ts +19 -0
- package/dashboard/dist-server/dashboard/src/server/observability/observability-service.js +107 -0
- package/dashboard/dist-server/dashboard/src/server/observability/observability-service.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/prompt/builders/assessment-builder.d.ts +5 -0
- package/dashboard/dist-server/dashboard/src/server/prompt/builders/assessment-builder.js +72 -0
- package/dashboard/dist-server/dashboard/src/server/prompt/builders/assessment-builder.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/prompt/builders/decompose-builder.d.ts +5 -0
- package/dashboard/dist-server/dashboard/src/server/prompt/builders/decompose-builder.js +44 -0
- package/dashboard/dist-server/dashboard/src/server/prompt/builders/decompose-builder.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/prompt/builders/direct-builder.d.ts +5 -0
- package/dashboard/dist-server/dashboard/src/server/prompt/builders/direct-builder.js +51 -0
- package/dashboard/dist-server/dashboard/src/server/prompt/builders/direct-builder.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/prompt/builders/skill-builder.d.ts +5 -0
- package/dashboard/dist-server/dashboard/src/server/prompt/builders/skill-builder.js +30 -0
- package/dashboard/dist-server/dashboard/src/server/prompt/builders/skill-builder.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/prompt/builders/template-builder.d.ts +5 -0
- package/dashboard/dist-server/dashboard/src/server/prompt/builders/template-builder.js +26 -0
- package/dashboard/dist-server/dashboard/src/server/prompt/builders/template-builder.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/prompt/prompt-builder.d.ts +21 -0
- package/dashboard/dist-server/dashboard/src/server/prompt/prompt-builder.js +5 -0
- package/dashboard/dist-server/dashboard/src/server/prompt/prompt-builder.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/prompt/prompt-registry.d.ts +8 -0
- package/dashboard/dist-server/dashboard/src/server/prompt/prompt-registry.js +30 -0
- package/dashboard/dist-server/dashboard/src/server/prompt/prompt-registry.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/requirement/requirement-expander.d.ts +38 -0
- package/dashboard/dist-server/dashboard/src/server/requirement/requirement-expander.js +384 -0
- package/dashboard/dist-server/dashboard/src/server/requirement/requirement-expander.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/requirement/requirement-prompts.d.ts +7 -0
- package/dashboard/dist-server/dashboard/src/server/requirement/requirement-prompts.js +200 -0
- package/dashboard/dist-server/dashboard/src/server/requirement/requirement-prompts.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/agents.d.ts +13 -0
- package/dashboard/dist-server/dashboard/src/server/routes/agents.js +124 -0
- package/dashboard/dist-server/dashboard/src/server/routes/agents.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/artifacts.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/server/routes/artifacts.js +109 -0
- package/dashboard/dist-server/dashboard/src/server/routes/artifacts.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/board-state.integration.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/board-state.integration.test.js +240 -0
- package/dashboard/dist-server/dashboard/src/server/routes/board-state.integration.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/board.d.ts +9 -0
- package/dashboard/dist-server/dashboard/src/server/routes/board.js +18 -0
- package/dashboard/dist-server/dashboard/src/server/routes/board.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/cli-history.d.ts +9 -0
- package/dashboard/dist-server/dashboard/src/server/routes/cli-history.js +108 -0
- package/dashboard/dist-server/dashboard/src/server/routes/cli-history.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/cli-history.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/cli-history.test.js +202 -0
- package/dashboard/dist-server/dashboard/src/server/routes/cli-history.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/docs.d.ts +13 -0
- package/dashboard/dist-server/dashboard/src/server/routes/docs.js +108 -0
- package/dashboard/dist-server/dashboard/src/server/routes/docs.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/events.d.ts +13 -0
- package/dashboard/dist-server/dashboard/src/server/routes/events.js +52 -0
- package/dashboard/dist-server/dashboard/src/server/routes/events.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/events.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/events.test.js +127 -0
- package/dashboard/dist-server/dashboard/src/server/routes/events.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/execution.d.ts +12 -0
- package/dashboard/dist-server/dashboard/src/server/routes/execution.integration.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/execution.integration.test.js +280 -0
- package/dashboard/dist-server/dashboard/src/server/routes/execution.integration.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/execution.js +103 -0
- package/dashboard/dist-server/dashboard/src/server/routes/execution.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/health.d.ts +3 -0
- package/dashboard/dist-server/dashboard/src/server/routes/health.js +84 -0
- package/dashboard/dist-server/dashboard/src/server/routes/health.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/index.d.ts +28 -0
- package/dashboard/dist-server/dashboard/src/server/routes/index.js +100 -0
- package/dashboard/dist-server/dashboard/src/server/routes/index.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/install-utils.d.ts +55 -0
- package/dashboard/dist-server/dashboard/src/server/routes/install-utils.js +278 -0
- package/dashboard/dist-server/dashboard/src/server/routes/install-utils.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/install.d.ts +8 -0
- package/dashboard/dist-server/dashboard/src/server/routes/install.js +191 -0
- package/dashboard/dist-server/dashboard/src/server/routes/install.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/issues.d.ts +13 -0
- package/dashboard/dist-server/dashboard/src/server/routes/issues.js +328 -0
- package/dashboard/dist-server/dashboard/src/server/routes/issues.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/issues.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/issues.test.js +346 -0
- package/dashboard/dist-server/dashboard/src/server/routes/issues.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/linear.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/server/routes/linear.js +341 -0
- package/dashboard/dist-server/dashboard/src/server/routes/linear.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/mcp-templates-store.d.ts +30 -0
- package/dashboard/dist-server/dashboard/src/server/routes/mcp-templates-store.js +110 -0
- package/dashboard/dist-server/dashboard/src/server/routes/mcp-templates-store.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/mcp.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/server/routes/mcp.js +772 -0
- package/dashboard/dist-server/dashboard/src/server/routes/mcp.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/phases.d.ts +10 -0
- package/dashboard/dist-server/dashboard/src/server/routes/phases.js +40 -0
- package/dashboard/dist-server/dashboard/src/server/routes/phases.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/requirements.d.ts +12 -0
- package/dashboard/dist-server/dashboard/src/server/routes/requirements.js +130 -0
- package/dashboard/dist-server/dashboard/src/server/routes/requirements.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/scratch.d.ts +8 -0
- package/dashboard/dist-server/dashboard/src/server/routes/scratch.js +15 -0
- package/dashboard/dist-server/dashboard/src/server/routes/scratch.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/settings.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/server/routes/settings.js +450 -0
- package/dashboard/dist-server/dashboard/src/server/routes/settings.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/specs.d.ts +24 -0
- package/dashboard/dist-server/dashboard/src/server/routes/specs.integration.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/specs.integration.test.js +613 -0
- package/dashboard/dist-server/dashboard/src/server/routes/specs.integration.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/specs.js +379 -0
- package/dashboard/dist-server/dashboard/src/server/routes/specs.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/supervisor.d.ts +22 -0
- package/dashboard/dist-server/dashboard/src/server/routes/supervisor.js +195 -0
- package/dashboard/dist-server/dashboard/src/server/routes/supervisor.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/supervisor.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/supervisor.test.js +473 -0
- package/dashboard/dist-server/dashboard/src/server/routes/supervisor.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/teams.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/server/routes/teams.js +418 -0
- package/dashboard/dist-server/dashboard/src/server/routes/teams.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.d.ts +20 -0
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js +374 -0
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.integration.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.js +220 -0
- package/dashboard/dist-server/dashboard/src/server/routes/wiki.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/routes/workspace.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/server/routes/workspace.js +92 -0
- package/dashboard/dist-server/dashboard/src/server/routes/workspace.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/sse/sse-hub.d.ts +33 -0
- package/dashboard/dist-server/dashboard/src/server/sse/sse-hub.js +112 -0
- package/dashboard/dist-server/dashboard/src/server/sse/sse-hub.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/sse/sse-hub.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/sse/sse-hub.test.js +128 -0
- package/dashboard/dist-server/dashboard/src/server/sse/sse-hub.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +101 -0
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +111 -0
- package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/state/file-reader.d.ts +9 -0
- package/dashboard/dist-server/dashboard/src/server/state/file-reader.js +54 -0
- package/dashboard/dist-server/dashboard/src/server/state/file-reader.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/state/fs-watcher.d.ts +19 -0
- package/dashboard/dist-server/dashboard/src/server/state/fs-watcher.js +128 -0
- package/dashboard/dist-server/dashboard/src/server/state/fs-watcher.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/state/state-manager.d.ts +31 -0
- package/dashboard/dist-server/dashboard/src/server/state/state-manager.js +297 -0
- package/dashboard/dist-server/dashboard/src/server/state/state-manager.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/state/state-manager.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/state/state-manager.test.js +258 -0
- package/dashboard/dist-server/dashboard/src/server/state/state-manager.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/supervisor/extension-manager.d.ts +18 -0
- package/dashboard/dist-server/dashboard/src/server/supervisor/extension-manager.js +62 -0
- package/dashboard/dist-server/dashboard/src/server/supervisor/extension-manager.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/supervisor/extension-manager.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/supervisor/extension-manager.test.js +160 -0
- package/dashboard/dist-server/dashboard/src/server/supervisor/extension-manager.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/supervisor/self-learning-service.d.ts +29 -0
- package/dashboard/dist-server/dashboard/src/server/supervisor/self-learning-service.js +291 -0
- package/dashboard/dist-server/dashboard/src/server/supervisor/self-learning-service.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/supervisor/self-learning-service.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/supervisor/self-learning-service.test.js +430 -0
- package/dashboard/dist-server/dashboard/src/server/supervisor/self-learning-service.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/supervisor/supervisor.integration.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/supervisor/supervisor.integration.test.js +226 -0
- package/dashboard/dist-server/dashboard/src/server/supervisor/supervisor.integration.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/supervisor/task-scheduler-service.d.ts +60 -0
- package/dashboard/dist-server/dashboard/src/server/supervisor/task-scheduler-service.js +345 -0
- package/dashboard/dist-server/dashboard/src/server/supervisor/task-scheduler-service.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/supervisor/task-scheduler-service.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/supervisor/task-scheduler-service.test.js +707 -0
- package/dashboard/dist-server/dashboard/src/server/supervisor/task-scheduler-service.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/utils/issue-store.d.ts +10 -0
- package/dashboard/dist-server/dashboard/src/server/utils/issue-store.js +71 -0
- package/dashboard/dist-server/dashboard/src/server/utils/issue-store.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/utils/issue-store.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/utils/issue-store.test.js +100 -0
- package/dashboard/dist-server/dashboard/src/server/utils/issue-store.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/frontmatter-util.d.ts +5 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/frontmatter-util.js +52 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/frontmatter-util.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/graph-analysis.d.ts +48 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/graph-analysis.js +103 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/graph-analysis.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/search.d.ts +29 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/search.js +94 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/search.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +245 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.d.ts +4 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js +153 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/virtual-wiki-adapters.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.d.ts +40 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +416 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js +173 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +52 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.js +2 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js +242 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/writer-stress.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.d.ts +60 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.js +272 -0
- package/dashboard/dist-server/dashboard/src/server/wiki/writer.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.d.ts +23 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.js +122 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.test.js +68 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/agent-handler.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/commander-handler.d.ts +10 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/commander-handler.js +41 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/commander-handler.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/coordinate-handler.d.ts +10 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/coordinate-handler.js +34 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/coordinate-handler.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/execution-handler.d.ts +24 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/execution-handler.js +157 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/execution-handler.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/requirement-handler.d.ts +10 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/requirement-handler.js +50 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/requirement-handler.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/supervisor-handler.d.ts +12 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/supervisor-handler.js +35 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/supervisor-handler.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/supervisor-handler.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/supervisor-handler.test.js +127 -0
- package/dashboard/dist-server/dashboard/src/server/ws/handlers/supervisor-handler.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/ws/ws-handler.d.ts +8 -0
- package/dashboard/dist-server/dashboard/src/server/ws/ws-handler.js +2 -0
- package/dashboard/dist-server/dashboard/src/server/ws/ws-handler.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.d.ts +33 -0
- package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.js +124 -0
- package/dashboard/dist-server/dashboard/src/server/ws/ws-manager.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/agent-types.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/shared/agent-types.js +2 -0
- package/dashboard/dist-server/dashboard/src/shared/agent-types.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/commander-types.d.ts +86 -0
- package/dashboard/dist-server/dashboard/src/shared/commander-types.js +37 -0
- package/dashboard/dist-server/dashboard/src/shared/commander-types.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/constants.d.ts +121 -0
- package/dashboard/dist-server/dashboard/src/shared/constants.js +311 -0
- package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/constants.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/shared/constants.test.js +126 -0
- package/dashboard/dist-server/dashboard/src/shared/constants.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/coordinate-types.d.ts +55 -0
- package/dashboard/dist-server/dashboard/src/shared/coordinate-types.js +5 -0
- package/dashboard/dist-server/dashboard/src/shared/coordinate-types.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/execution-types.d.ts +86 -0
- package/dashboard/dist-server/dashboard/src/shared/execution-types.js +23 -0
- package/dashboard/dist-server/dashboard/src/shared/execution-types.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/extension-types.d.ts +30 -0
- package/dashboard/dist-server/dashboard/src/shared/extension-types.js +5 -0
- package/dashboard/dist-server/dashboard/src/shared/extension-types.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/issue-types.d.ts +79 -0
- package/dashboard/dist-server/dashboard/src/shared/issue-types.js +16 -0
- package/dashboard/dist-server/dashboard/src/shared/issue-types.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/issue-types.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/shared/issue-types.test.js +124 -0
- package/dashboard/dist-server/dashboard/src/shared/issue-types.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/journal-types.d.ts +57 -0
- package/dashboard/dist-server/dashboard/src/shared/journal-types.js +5 -0
- package/dashboard/dist-server/dashboard/src/shared/journal-types.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/learning-types.d.ts +31 -0
- package/dashboard/dist-server/dashboard/src/shared/learning-types.js +5 -0
- package/dashboard/dist-server/dashboard/src/shared/learning-types.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/linear-types.d.ts +59 -0
- package/dashboard/dist-server/dashboard/src/shared/linear-types.js +18 -0
- package/dashboard/dist-server/dashboard/src/shared/linear-types.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/requirement-types.d.ts +73 -0
- package/dashboard/dist-server/dashboard/src/shared/requirement-types.js +5 -0
- package/dashboard/dist-server/dashboard/src/shared/requirement-types.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/schedule-types.d.ts +18 -0
- package/dashboard/dist-server/dashboard/src/shared/schedule-types.js +5 -0
- package/dashboard/dist-server/dashboard/src/shared/schedule-types.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/team-types.d.ts +65 -0
- package/dashboard/dist-server/dashboard/src/shared/team-types.js +54 -0
- package/dashboard/dist-server/dashboard/src/shared/team-types.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/types.d.ts +222 -0
- package/dashboard/dist-server/dashboard/src/shared/types.js +2 -0
- package/dashboard/dist-server/dashboard/src/shared/types.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/utils.d.ts +2 -0
- package/dashboard/dist-server/dashboard/src/shared/utils.js +6 -0
- package/dashboard/dist-server/dashboard/src/shared/utils.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/utils.test.d.ts +1 -0
- package/dashboard/dist-server/dashboard/src/shared/utils.test.js +22 -0
- package/dashboard/dist-server/dashboard/src/shared/utils.test.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/wave-types.d.ts +41 -0
- package/dashboard/dist-server/dashboard/src/shared/wave-types.js +5 -0
- package/dashboard/dist-server/dashboard/src/shared/wave-types.js.map +1 -0
- package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +161 -0
- package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js +8 -0
- package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -0
- package/dashboard/dist-server/server/agents/codex-cli-adapter.js +0 -4
- package/dashboard/dist-server/server/agents/codex-cli-adapter.js.map +1 -1
- package/dashboard/dist-server/server/routes/mcp.js +75 -21
- package/dashboard/dist-server/server/routes/mcp.js.map +1 -1
- package/dashboard/dist-server/shared/agent-types.d.ts +3 -1
- package/dashboard/dist-server/shared/agent-types.js +3 -0
- package/dashboard/dist-server/shared/agent-types.js.map +1 -1
- package/dashboard/dist-server/src/agents/cli-agent-runner.d.ts +57 -0
- package/dashboard/dist-server/src/agents/cli-agent-runner.js +691 -0
- package/dashboard/dist-server/src/agents/cli-agent-runner.js.map +1 -0
- package/dashboard/dist-server/src/agents/cli-history-store.d.ts +62 -0
- package/dashboard/dist-server/src/agents/cli-history-store.js +240 -0
- package/dashboard/dist-server/src/agents/cli-history-store.js.map +1 -0
- package/dashboard/dist-server/src/agents/dashboard-bridge.d.ts +38 -0
- package/dashboard/dist-server/src/agents/dashboard-bridge.js +76 -0
- package/dashboard/dist-server/src/agents/dashboard-bridge.js.map +1 -0
- package/dashboard/dist-server/src/agents/parallel-cli-runner.d.ts +45 -0
- package/dashboard/dist-server/src/agents/parallel-cli-runner.js +277 -0
- package/dashboard/dist-server/src/agents/parallel-cli-runner.js.map +1 -0
- package/dashboard/dist-server/src/agents/terminal-adapter.d.ts +93 -0
- package/dashboard/dist-server/src/agents/terminal-adapter.js +132 -0
- package/dashboard/dist-server/src/agents/terminal-adapter.js.map +1 -0
- package/dashboard/dist-server/src/agents/terminal-backend.d.ts +52 -0
- package/dashboard/dist-server/src/agents/terminal-backend.js +286 -0
- package/dashboard/dist-server/src/agents/terminal-backend.js.map +1 -0
- package/dashboard/dist-server/src/async/delegate-broker-client.d.ts +21 -0
- package/dashboard/dist-server/src/async/delegate-broker-client.js +47 -0
- package/dashboard/dist-server/src/async/delegate-broker-client.js.map +1 -0
- package/dashboard/dist-server/src/async/delegate-broker.d.ts +179 -0
- package/dashboard/dist-server/src/async/delegate-broker.js +1042 -0
- package/dashboard/dist-server/src/async/delegate-broker.js.map +1 -0
- package/dashboard/dist-server/src/async/delegate-control.d.ts +37 -0
- package/dashboard/dist-server/src/async/delegate-control.js +149 -0
- package/dashboard/dist-server/src/async/delegate-control.js.map +1 -0
- package/dashboard/dist-server/src/async/index.d.ts +2 -0
- package/dashboard/dist-server/src/async/index.js +3 -0
- package/dashboard/dist-server/src/async/index.js.map +1 -0
- package/dashboard/dist-server/src/commands/delegate.d.ts +36 -0
- package/dashboard/dist-server/src/commands/delegate.js +413 -0
- package/dashboard/dist-server/src/commands/delegate.js.map +1 -0
- package/dashboard/dist-server/src/config/cli-tools-config.d.ts +25 -0
- package/dashboard/dist-server/src/config/cli-tools-config.js +49 -0
- package/dashboard/dist-server/src/config/cli-tools-config.js.map +1 -0
- package/dashboard/dist-server/src/config/paths.d.ts +14 -0
- package/dashboard/dist-server/src/config/paths.js +27 -0
- package/dashboard/dist-server/src/config/paths.js.map +1 -0
- package/dashboard/dist-server/src/config/template-discovery.d.ts +31 -0
- package/dashboard/dist-server/src/config/template-discovery.js +128 -0
- package/dashboard/dist-server/src/config/template-discovery.js.map +1 -0
- package/dashboard/dist-server/src/coordinator/cli-executor.d.ts +21 -0
- package/dashboard/dist-server/src/coordinator/cli-executor.js +49 -0
- package/dashboard/dist-server/src/coordinator/cli-executor.js.map +1 -0
- package/dashboard/dist-server/src/coordinator/expr-evaluator.d.ts +10 -0
- package/dashboard/dist-server/src/coordinator/expr-evaluator.js +351 -0
- package/dashboard/dist-server/src/coordinator/expr-evaluator.js.map +1 -0
- package/dashboard/dist-server/src/coordinator/graph-loader.d.ts +15 -0
- package/dashboard/dist-server/src/coordinator/graph-loader.js +227 -0
- package/dashboard/dist-server/src/coordinator/graph-loader.js.map +1 -0
- package/dashboard/dist-server/src/coordinator/graph-types.d.ts +335 -0
- package/dashboard/dist-server/src/coordinator/graph-types.js +6 -0
- package/dashboard/dist-server/src/coordinator/graph-types.js.map +1 -0
- package/dashboard/dist-server/src/coordinator/graph-walker.d.ts +62 -0
- package/dashboard/dist-server/src/coordinator/graph-walker.js +929 -0
- package/dashboard/dist-server/src/coordinator/graph-walker.js.map +1 -0
- package/dashboard/dist-server/src/coordinator/intent-router.d.ts +10 -0
- package/dashboard/dist-server/src/coordinator/intent-router.js +65 -0
- package/dashboard/dist-server/src/coordinator/intent-router.js.map +1 -0
- package/dashboard/dist-server/src/coordinator/output-parser.d.ts +4 -0
- package/dashboard/dist-server/src/coordinator/output-parser.js +114 -0
- package/dashboard/dist-server/src/coordinator/output-parser.js.map +1 -0
- package/dashboard/dist-server/src/coordinator/parallel-executor.d.ts +23 -0
- package/dashboard/dist-server/src/coordinator/parallel-executor.js +43 -0
- package/dashboard/dist-server/src/coordinator/parallel-executor.js.map +1 -0
- package/dashboard/dist-server/src/coordinator/prompt-assembler.d.ts +14 -0
- package/dashboard/dist-server/src/coordinator/prompt-assembler.js +248 -0
- package/dashboard/dist-server/src/coordinator/prompt-assembler.js.map +1 -0
- package/dashboard/dist-server/src/hooks/constants.d.ts +39 -0
- package/dashboard/dist-server/src/hooks/constants.js +53 -0
- package/dashboard/dist-server/src/hooks/constants.js.map +1 -0
- package/dashboard/dist-server/src/utils/cli-format.d.ts +50 -0
- package/dashboard/dist-server/src/utils/cli-format.js +126 -0
- package/dashboard/dist-server/src/utils/cli-format.js.map +1 -0
- package/dashboard/tui/dist/index.js +3974 -0
- package/dist/agents/cli-agent-runner.d.ts +111 -0
- package/dist/agents/cli-agent-runner.d.ts.map +1 -1
- package/dist/agents/cli-agent-runner.js +464 -45
- package/dist/agents/cli-agent-runner.js.map +1 -1
- package/dist/agents/cli-history-store.d.ts +16 -0
- package/dist/agents/cli-history-store.d.ts.map +1 -1
- package/dist/agents/cli-history-store.js +30 -0
- package/dist/agents/cli-history-store.js.map +1 -1
- package/dist/agents/parallel-cli-runner.d.ts +5 -1
- package/dist/agents/parallel-cli-runner.d.ts.map +1 -1
- package/dist/agents/parallel-cli-runner.js +79 -2
- package/dist/agents/parallel-cli-runner.js.map +1 -1
- package/dist/async/delegate-broker-client.d.ts +22 -0
- package/dist/async/delegate-broker-client.d.ts.map +1 -0
- package/dist/async/delegate-broker-client.js +47 -0
- package/dist/async/delegate-broker-client.js.map +1 -0
- package/dist/async/delegate-broker.d.ts +180 -0
- package/dist/async/delegate-broker.d.ts.map +1 -0
- package/dist/async/delegate-broker.js +1040 -0
- package/dist/async/delegate-broker.js.map +1 -0
- package/dist/async/delegate-control.d.ts +37 -0
- package/dist/async/delegate-control.d.ts.map +1 -0
- package/dist/async/delegate-control.js +155 -0
- package/dist/async/delegate-control.js.map +1 -0
- package/dist/async/index.d.ts +3 -0
- package/dist/async/index.d.ts.map +1 -0
- package/dist/async/index.js +3 -0
- package/dist/async/index.js.map +1 -0
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/coordinate.d.ts.map +1 -1
- package/dist/commands/coordinate.js +31 -8
- package/dist/commands/coordinate.js.map +1 -1
- package/dist/commands/delegate.d.ts +35 -1
- package/dist/commands/delegate.d.ts.map +1 -1
- package/dist/commands/delegate.js +340 -12
- package/dist/commands/delegate.js.map +1 -1
- package/dist/commands/hooks.d.ts.map +1 -1
- package/dist/commands/hooks.js +13 -6
- package/dist/commands/hooks.js.map +1 -1
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +38 -0
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/overlay.d.ts +3 -0
- package/dist/commands/overlay.d.ts.map +1 -0
- package/dist/commands/overlay.js +243 -0
- package/dist/commands/overlay.js.map +1 -0
- package/dist/commands/uninstall.d.ts.map +1 -1
- package/dist/commands/uninstall.js +5 -0
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/coordinator/output-parser.d.ts.map +1 -1
- package/dist/coordinator/output-parser.js +12 -8
- package/dist/coordinator/output-parser.js.map +1 -1
- package/dist/core/overlay/applier.d.ts +73 -0
- package/dist/core/overlay/applier.d.ts.map +1 -0
- package/dist/core/overlay/applier.js +248 -0
- package/dist/core/overlay/applier.js.map +1 -0
- package/dist/core/overlay/loader.d.ts +26 -0
- package/dist/core/overlay/loader.d.ts.map +1 -0
- package/dist/core/overlay/loader.js +199 -0
- package/dist/core/overlay/loader.js.map +1 -0
- package/dist/core/overlay/patcher.d.ts +26 -0
- package/dist/core/overlay/patcher.d.ts.map +1 -0
- package/dist/core/overlay/patcher.js +212 -0
- package/dist/core/overlay/patcher.js.map +1 -0
- package/dist/core/overlay/section-parser.d.ts +25 -0
- package/dist/core/overlay/section-parser.d.ts.map +1 -0
- package/dist/core/overlay/section-parser.js +99 -0
- package/dist/core/overlay/section-parser.js.map +1 -0
- package/dist/core/overlay/types.d.ts +51 -0
- package/dist/core/overlay/types.d.ts.map +1 -0
- package/dist/core/overlay/types.js +15 -0
- package/dist/core/overlay/types.js.map +1 -0
- package/dist/db/connection-pool.d.ts +21 -0
- package/dist/db/connection-pool.d.ts.map +1 -0
- package/dist/db/connection-pool.js +53 -0
- package/dist/db/connection-pool.js.map +1 -0
- package/dist/db/index.d.ts +6 -0
- package/dist/db/index.d.ts.map +1 -0
- package/dist/db/index.js +9 -0
- package/dist/db/index.js.map +1 -0
- package/dist/db/schema/core/index.d.ts +5 -0
- package/dist/db/schema/core/index.d.ts.map +1 -0
- package/dist/db/schema/core/index.js +5 -0
- package/dist/db/schema/core/index.js.map +1 -0
- package/dist/db/schema/core/organizations.d.ts +244 -0
- package/dist/db/schema/core/organizations.d.ts.map +1 -0
- package/dist/db/schema/core/organizations.js +44 -0
- package/dist/db/schema/core/organizations.js.map +1 -0
- package/dist/db/schema/core/permissions.d.ts +158 -0
- package/dist/db/schema/core/permissions.d.ts.map +1 -0
- package/dist/db/schema/core/permissions.js +62 -0
- package/dist/db/schema/core/permissions.js.map +1 -0
- package/dist/db/schema/core/refresh-tokens.d.ts +147 -0
- package/dist/db/schema/core/refresh-tokens.d.ts.map +1 -0
- package/dist/db/schema/core/refresh-tokens.js +22 -0
- package/dist/db/schema/core/refresh-tokens.js.map +1 -0
- package/dist/db/schema/core/users.d.ts +178 -0
- package/dist/db/schema/core/users.d.ts.map +1 -0
- package/dist/db/schema/core/users.js +14 -0
- package/dist/db/schema/core/users.js.map +1 -0
- package/dist/db/tenant-migrator.d.ts +11 -0
- package/dist/db/tenant-migrator.d.ts.map +1 -0
- package/dist/db/tenant-migrator.js +74 -0
- package/dist/db/tenant-migrator.js.map +1 -0
- package/dist/db/tenant-schema.d.ts +290 -0
- package/dist/db/tenant-schema.d.ts.map +1 -0
- package/dist/db/tenant-schema.js +32 -0
- package/dist/db/tenant-schema.js.map +1 -0
- package/dist/hooks/constants.d.ts +2 -0
- package/dist/hooks/constants.d.ts.map +1 -1
- package/dist/hooks/constants.js +2 -0
- package/dist/hooks/constants.js.map +1 -1
- package/dist/hooks/delegate-monitor.d.ts +24 -0
- package/dist/hooks/delegate-monitor.d.ts.map +1 -0
- package/dist/hooks/delegate-monitor.js +76 -0
- package/dist/hooks/delegate-monitor.js.map +1 -0
- package/dist/mcp/delegate-channel-relay.d.ts +51 -0
- package/dist/mcp/delegate-channel-relay.d.ts.map +1 -0
- package/dist/mcp/delegate-channel-relay.js +307 -0
- package/dist/mcp/delegate-channel-relay.js.map +1 -0
- package/dist/mcp/server.d.ts +4 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +24 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/middleware/auth.d.ts +13 -0
- package/dist/middleware/auth.d.ts.map +1 -0
- package/dist/middleware/auth.js +27 -0
- package/dist/middleware/auth.js.map +1 -0
- package/dist/middleware/permission.d.ts +9 -0
- package/dist/middleware/permission.d.ts.map +1 -0
- package/dist/middleware/permission.js +19 -0
- package/dist/middleware/permission.js.map +1 -0
- package/dist/middleware/rate-limit.d.ts +9 -0
- package/dist/middleware/rate-limit.d.ts.map +1 -0
- package/dist/middleware/rate-limit.js +40 -0
- package/dist/middleware/rate-limit.js.map +1 -0
- package/dist/middleware/tenant.d.ts +17 -0
- package/dist/middleware/tenant.d.ts.map +1 -0
- package/dist/middleware/tenant.js +57 -0
- package/dist/middleware/tenant.js.map +1 -0
- package/dist/middleware/validation.d.ts +40 -0
- package/dist/middleware/validation.d.ts.map +1 -0
- package/dist/middleware/validation.js +51 -0
- package/dist/middleware/validation.js.map +1 -0
- package/dist/routes/auth.d.ts +3 -0
- package/dist/routes/auth.d.ts.map +1 -0
- package/dist/routes/auth.js +77 -0
- package/dist/routes/auth.js.map +1 -0
- package/dist/routes/members.d.ts +4 -0
- package/dist/routes/members.d.ts.map +1 -0
- package/dist/routes/members.js +114 -0
- package/dist/routes/members.js.map +1 -0
- package/dist/routes/organizations.d.ts +5 -0
- package/dist/routes/organizations.d.ts.map +1 -0
- package/dist/routes/organizations.js +97 -0
- package/dist/routes/organizations.js.map +1 -0
- package/dist/services/auth.service.d.ts +24 -0
- package/dist/services/auth.service.d.ts.map +1 -0
- package/dist/services/auth.service.js +70 -0
- package/dist/services/auth.service.js.map +1 -0
- package/dist/services/password.service.d.ts +3 -0
- package/dist/services/password.service.d.ts.map +1 -0
- package/dist/services/password.service.js +18 -0
- package/dist/services/password.service.js.map +1 -0
- package/dist/services/rbac.service.d.ts +7 -0
- package/dist/services/rbac.service.d.ts.map +1 -0
- package/dist/services/rbac.service.js +36 -0
- package/dist/services/rbac.service.js.map +1 -0
- package/dist/services/token.service.d.ts +18 -0
- package/dist/services/token.service.d.ts.map +1 -0
- package/dist/services/token.service.js +86 -0
- package/dist/services/token.service.js.map +1 -0
- package/dist/shared/agent-types.d.ts +146 -0
- package/dist/shared/agent-types.d.ts.map +1 -0
- package/dist/shared/agent-types.js +8 -0
- package/dist/shared/agent-types.js.map +1 -0
- package/dist/src/agents/cli-agent-runner.d.ts +58 -0
- package/dist/src/agents/cli-agent-runner.d.ts.map +1 -0
- package/dist/src/agents/cli-agent-runner.js +691 -0
- package/dist/src/agents/cli-agent-runner.js.map +1 -0
- package/dist/src/agents/cli-history-store.d.ts +63 -0
- package/dist/src/agents/cli-history-store.d.ts.map +1 -0
- package/dist/src/agents/cli-history-store.js +240 -0
- package/dist/src/agents/cli-history-store.js.map +1 -0
- package/dist/src/agents/dashboard-bridge.d.ts +39 -0
- package/dist/src/agents/dashboard-bridge.d.ts.map +1 -0
- package/dist/src/agents/dashboard-bridge.js +76 -0
- package/dist/src/agents/dashboard-bridge.js.map +1 -0
- package/dist/src/agents/parallel-cli-runner.d.ts +46 -0
- package/dist/src/agents/parallel-cli-runner.d.ts.map +1 -0
- package/dist/src/agents/parallel-cli-runner.js +277 -0
- package/dist/src/agents/parallel-cli-runner.js.map +1 -0
- package/dist/src/agents/terminal-adapter.d.ts +94 -0
- package/dist/src/agents/terminal-adapter.d.ts.map +1 -0
- package/dist/src/agents/terminal-adapter.js +132 -0
- package/dist/src/agents/terminal-adapter.js.map +1 -0
- package/dist/src/agents/terminal-backend.d.ts +53 -0
- package/dist/src/agents/terminal-backend.d.ts.map +1 -0
- package/dist/src/agents/terminal-backend.js +286 -0
- package/dist/src/agents/terminal-backend.js.map +1 -0
- package/dist/src/async/delegate-broker-client.d.ts +22 -0
- package/dist/src/async/delegate-broker-client.d.ts.map +1 -0
- package/dist/src/async/delegate-broker-client.js +47 -0
- package/dist/src/async/delegate-broker-client.js.map +1 -0
- package/dist/src/async/delegate-broker.d.ts +180 -0
- package/dist/src/async/delegate-broker.d.ts.map +1 -0
- package/dist/src/async/delegate-broker.js +1042 -0
- package/dist/src/async/delegate-broker.js.map +1 -0
- package/dist/src/async/delegate-control.d.ts +38 -0
- package/dist/src/async/delegate-control.d.ts.map +1 -0
- package/dist/src/async/delegate-control.js +149 -0
- package/dist/src/async/delegate-control.js.map +1 -0
- package/dist/src/async/index.d.ts +3 -0
- package/dist/src/async/index.d.ts.map +1 -0
- package/dist/src/async/index.js +3 -0
- package/dist/src/async/index.js.map +1 -0
- package/dist/src/cli.d.ts +2 -0
- package/dist/src/cli.d.ts.map +1 -0
- package/dist/src/cli.js +50 -0
- package/dist/src/cli.js.map +1 -0
- package/dist/src/commands/cli.d.ts +3 -0
- package/dist/src/commands/cli.d.ts.map +1 -0
- package/dist/src/commands/cli.js +251 -0
- package/dist/src/commands/cli.js.map +1 -0
- package/dist/src/commands/coordinate.d.ts +7 -0
- package/dist/src/commands/coordinate.d.ts.map +1 -0
- package/dist/src/commands/coordinate.js +509 -0
- package/dist/src/commands/coordinate.js.map +1 -0
- package/dist/src/commands/delegate.d.ts +37 -0
- package/dist/src/commands/delegate.d.ts.map +1 -0
- package/dist/src/commands/delegate.js +413 -0
- package/dist/src/commands/delegate.js.map +1 -0
- package/dist/src/commands/ext.d.ts +3 -0
- package/dist/src/commands/ext.d.ts.map +1 -0
- package/dist/src/commands/ext.js +28 -0
- package/dist/src/commands/ext.js.map +1 -0
- package/dist/src/commands/hooks.d.ts +52 -0
- package/dist/src/commands/hooks.d.ts.map +1 -0
- package/dist/src/commands/hooks.js +469 -0
- package/dist/src/commands/hooks.js.map +1 -0
- package/dist/src/commands/install-backend.d.ts +48 -0
- package/dist/src/commands/install-backend.d.ts.map +1 -0
- package/dist/src/commands/install-backend.js +356 -0
- package/dist/src/commands/install-backend.js.map +1 -0
- package/dist/src/commands/install-ui/BackupConfig.d.ts +8 -0
- package/dist/src/commands/install-ui/BackupConfig.d.ts.map +1 -0
- package/dist/src/commands/install-ui/BackupConfig.js +19 -0
- package/dist/src/commands/install-ui/BackupConfig.js.map +1 -0
- package/dist/src/commands/install-ui/BlueprintPreview.d.ts +9 -0
- package/dist/src/commands/install-ui/BlueprintPreview.d.ts.map +1 -0
- package/dist/src/commands/install-ui/BlueprintPreview.js +65 -0
- package/dist/src/commands/install-ui/BlueprintPreview.js.map +1 -0
- package/dist/src/commands/install-ui/BlueprintPreview.logic.d.ts +33 -0
- package/dist/src/commands/install-ui/BlueprintPreview.logic.d.ts.map +1 -0
- package/dist/src/commands/install-ui/BlueprintPreview.logic.js +51 -0
- package/dist/src/commands/install-ui/BlueprintPreview.logic.js.map +1 -0
- package/dist/src/commands/install-ui/ComponentGrid.d.ts +13 -0
- package/dist/src/commands/install-ui/ComponentGrid.d.ts.map +1 -0
- package/dist/src/commands/install-ui/ComponentGrid.js +71 -0
- package/dist/src/commands/install-ui/ComponentGrid.js.map +1 -0
- package/dist/src/commands/install-ui/ComponentGrid.logic.d.ts +31 -0
- package/dist/src/commands/install-ui/ComponentGrid.logic.d.ts.map +1 -0
- package/dist/src/commands/install-ui/ComponentGrid.logic.js +58 -0
- package/dist/src/commands/install-ui/ComponentGrid.logic.js.map +1 -0
- package/dist/src/commands/install-ui/ConfigPanel.d.ts +11 -0
- package/dist/src/commands/install-ui/ConfigPanel.d.ts.map +1 -0
- package/dist/src/commands/install-ui/ConfigPanel.js +35 -0
- package/dist/src/commands/install-ui/ConfigPanel.js.map +1 -0
- package/dist/src/commands/install-ui/CyberItem.d.ts +18 -0
- package/dist/src/commands/install-ui/CyberItem.d.ts.map +1 -0
- package/dist/src/commands/install-ui/CyberItem.js +33 -0
- package/dist/src/commands/install-ui/CyberItem.js.map +1 -0
- package/dist/src/commands/install-ui/CyberdeckBlueprint.d.ts +7 -0
- package/dist/src/commands/install-ui/CyberdeckBlueprint.d.ts.map +1 -0
- package/dist/src/commands/install-ui/CyberdeckBlueprint.js +91 -0
- package/dist/src/commands/install-ui/CyberdeckBlueprint.js.map +1 -0
- package/dist/src/commands/install-ui/ExecutionView.d.ts +12 -0
- package/dist/src/commands/install-ui/ExecutionView.d.ts.map +1 -0
- package/dist/src/commands/install-ui/ExecutionView.js +151 -0
- package/dist/src/commands/install-ui/ExecutionView.js.map +1 -0
- package/dist/src/commands/install-ui/GradientHeader.d.ts +8 -0
- package/dist/src/commands/install-ui/GradientHeader.d.ts.map +1 -0
- package/dist/src/commands/install-ui/GradientHeader.js +18 -0
- package/dist/src/commands/install-ui/GradientHeader.js.map +1 -0
- package/dist/src/commands/install-ui/HooksConfig.d.ts +8 -0
- package/dist/src/commands/install-ui/HooksConfig.d.ts.map +1 -0
- package/dist/src/commands/install-ui/HooksConfig.js +34 -0
- package/dist/src/commands/install-ui/HooksConfig.js.map +1 -0
- package/dist/src/commands/install-ui/InstallConfirm.d.ts +23 -0
- package/dist/src/commands/install-ui/InstallConfirm.d.ts.map +1 -0
- package/dist/src/commands/install-ui/InstallConfirm.js +19 -0
- package/dist/src/commands/install-ui/InstallConfirm.js.map +1 -0
- package/dist/src/commands/install-ui/InstallExecution.d.ts +18 -0
- package/dist/src/commands/install-ui/InstallExecution.d.ts.map +1 -0
- package/dist/src/commands/install-ui/InstallExecution.js +107 -0
- package/dist/src/commands/install-ui/InstallExecution.js.map +1 -0
- package/dist/src/commands/install-ui/InstallFlow.d.ts +14 -0
- package/dist/src/commands/install-ui/InstallFlow.d.ts.map +1 -0
- package/dist/src/commands/install-ui/InstallFlow.js +145 -0
- package/dist/src/commands/install-ui/InstallFlow.js.map +1 -0
- package/dist/src/commands/install-ui/InstallHub.d.ts +28 -0
- package/dist/src/commands/install-ui/InstallHub.d.ts.map +1 -0
- package/dist/src/commands/install-ui/InstallHub.js +73 -0
- package/dist/src/commands/install-ui/InstallHub.js.map +1 -0
- package/dist/src/commands/install-ui/InstallResult.d.ts +7 -0
- package/dist/src/commands/install-ui/InstallResult.d.ts.map +1 -0
- package/dist/src/commands/install-ui/InstallResult.js +14 -0
- package/dist/src/commands/install-ui/InstallResult.js.map +1 -0
- package/dist/src/commands/install-ui/McpConfig.d.ts +12 -0
- package/dist/src/commands/install-ui/McpConfig.d.ts.map +1 -0
- package/dist/src/commands/install-ui/McpConfig.js +66 -0
- package/dist/src/commands/install-ui/McpConfig.js.map +1 -0
- package/dist/src/commands/install-ui/ResultDashboard.d.ts +8 -0
- package/dist/src/commands/install-ui/ResultDashboard.d.ts.map +1 -0
- package/dist/src/commands/install-ui/ResultDashboard.js +17 -0
- package/dist/src/commands/install-ui/ResultDashboard.js.map +1 -0
- package/dist/src/commands/install-ui/ReviewPanel.d.ts +19 -0
- package/dist/src/commands/install-ui/ReviewPanel.d.ts.map +1 -0
- package/dist/src/commands/install-ui/ReviewPanel.js +25 -0
- package/dist/src/commands/install-ui/ReviewPanel.js.map +1 -0
- package/dist/src/commands/install-ui/ShortcutFooter.d.ts +7 -0
- package/dist/src/commands/install-ui/ShortcutFooter.d.ts.map +1 -0
- package/dist/src/commands/install-ui/ShortcutFooter.js +15 -0
- package/dist/src/commands/install-ui/ShortcutFooter.js.map +1 -0
- package/dist/src/commands/install-ui/StepSelector.d.ts +14 -0
- package/dist/src/commands/install-ui/StepSelector.d.ts.map +1 -0
- package/dist/src/commands/install-ui/StepSelector.js +46 -0
- package/dist/src/commands/install-ui/StepSelector.js.map +1 -0
- package/dist/src/commands/install-ui/index.d.ts +8 -0
- package/dist/src/commands/install-ui/index.d.ts.map +1 -0
- package/dist/src/commands/install-ui/index.js +23 -0
- package/dist/src/commands/install-ui/index.js.map +1 -0
- package/dist/src/commands/install-ui/types.d.ts +29 -0
- package/dist/src/commands/install-ui/types.d.ts.map +1 -0
- package/dist/src/commands/install-ui/types.js +22 -0
- package/dist/src/commands/install-ui/types.js.map +1 -0
- package/dist/src/commands/install.d.ts +3 -0
- package/dist/src/commands/install.d.ts.map +1 -0
- package/dist/src/commands/install.js +206 -0
- package/dist/src/commands/install.js.map +1 -0
- package/dist/src/commands/launcher.d.ts +3 -0
- package/dist/src/commands/launcher.d.ts.map +1 -0
- package/dist/src/commands/launcher.js +800 -0
- package/dist/src/commands/launcher.js.map +1 -0
- package/dist/src/commands/msg.d.ts +3 -0
- package/dist/src/commands/msg.d.ts.map +1 -0
- package/dist/src/commands/msg.js +110 -0
- package/dist/src/commands/msg.js.map +1 -0
- package/dist/src/commands/overlay.d.ts +3 -0
- package/dist/src/commands/overlay.d.ts.map +1 -0
- package/dist/src/commands/overlay.js +243 -0
- package/dist/src/commands/overlay.js.map +1 -0
- package/dist/src/commands/run.d.ts +3 -0
- package/dist/src/commands/run.d.ts.map +1 -0
- package/dist/src/commands/run.js +15 -0
- package/dist/src/commands/run.js.map +1 -0
- package/dist/src/commands/serve.d.ts +3 -0
- package/dist/src/commands/serve.d.ts.map +1 -0
- package/dist/src/commands/serve.js +16 -0
- package/dist/src/commands/serve.js.map +1 -0
- package/dist/src/commands/spec.d.ts +8 -0
- package/dist/src/commands/spec.d.ts.map +1 -0
- package/dist/src/commands/spec.js +147 -0
- package/dist/src/commands/spec.js.map +1 -0
- package/dist/src/commands/stop.d.ts +3 -0
- package/dist/src/commands/stop.d.ts.map +1 -0
- package/dist/src/commands/stop.js +218 -0
- package/dist/src/commands/stop.js.map +1 -0
- package/dist/src/commands/team.d.ts +37 -0
- package/dist/src/commands/team.d.ts.map +1 -0
- package/dist/src/commands/team.js +471 -0
- package/dist/src/commands/team.js.map +1 -0
- package/dist/src/commands/tool.d.ts +3 -0
- package/dist/src/commands/tool.d.ts.map +1 -0
- package/dist/src/commands/tool.js +29 -0
- package/dist/src/commands/tool.js.map +1 -0
- package/dist/src/commands/uninstall-ui/UninstallFlow.d.ts +7 -0
- package/dist/src/commands/uninstall-ui/UninstallFlow.d.ts.map +1 -0
- package/dist/src/commands/uninstall-ui/UninstallFlow.js +176 -0
- package/dist/src/commands/uninstall-ui/UninstallFlow.js.map +1 -0
- package/dist/src/commands/uninstall-ui/index.d.ts +3 -0
- package/dist/src/commands/uninstall-ui/index.d.ts.map +1 -0
- package/dist/src/commands/uninstall-ui/index.js +10 -0
- package/dist/src/commands/uninstall-ui/index.js.map +1 -0
- package/dist/src/commands/uninstall.d.ts +3 -0
- package/dist/src/commands/uninstall.d.ts.map +1 -0
- package/dist/src/commands/uninstall.js +104 -0
- package/dist/src/commands/uninstall.js.map +1 -0
- package/dist/src/commands/view.d.ts +3 -0
- package/dist/src/commands/view.d.ts.map +1 -0
- package/dist/src/commands/view.js +337 -0
- package/dist/src/commands/view.js.map +1 -0
- package/dist/src/commands/wiki.d.ts +14 -0
- package/dist/src/commands/wiki.d.ts.map +1 -0
- package/dist/src/commands/wiki.js +609 -0
- package/dist/src/commands/wiki.js.map +1 -0
- package/dist/src/config/cli-tools-config.d.ts +26 -0
- package/dist/src/config/cli-tools-config.d.ts.map +1 -0
- package/dist/src/config/cli-tools-config.js +49 -0
- package/dist/src/config/cli-tools-config.js.map +1 -0
- package/dist/src/config/index.d.ts +5 -0
- package/dist/src/config/index.d.ts.map +1 -0
- package/dist/src/config/index.js +89 -0
- package/dist/src/config/index.js.map +1 -0
- package/dist/src/config/paths.d.ts +15 -0
- package/dist/src/config/paths.d.ts.map +1 -0
- package/dist/src/config/paths.js +27 -0
- package/dist/src/config/paths.js.map +1 -0
- package/dist/src/config/template-discovery.d.ts +32 -0
- package/dist/src/config/template-discovery.d.ts.map +1 -0
- package/dist/src/config/template-discovery.js +128 -0
- package/dist/src/config/template-discovery.js.map +1 -0
- package/dist/src/coordinator/cli-executor.d.ts +22 -0
- package/dist/src/coordinator/cli-executor.d.ts.map +1 -0
- package/dist/src/coordinator/cli-executor.js +49 -0
- package/dist/src/coordinator/cli-executor.js.map +1 -0
- package/dist/src/coordinator/coordinate-broker-adapter.d.ts +13 -0
- package/dist/src/coordinator/coordinate-broker-adapter.d.ts.map +1 -0
- package/dist/src/coordinator/coordinate-broker-adapter.js +73 -0
- package/dist/src/coordinator/coordinate-broker-adapter.js.map +1 -0
- package/dist/src/coordinator/expr-evaluator.d.ts +11 -0
- package/dist/src/coordinator/expr-evaluator.d.ts.map +1 -0
- package/dist/src/coordinator/expr-evaluator.js +351 -0
- package/dist/src/coordinator/expr-evaluator.js.map +1 -0
- package/dist/src/coordinator/graph-loader.d.ts +16 -0
- package/dist/src/coordinator/graph-loader.d.ts.map +1 -0
- package/dist/src/coordinator/graph-loader.js +227 -0
- package/dist/src/coordinator/graph-loader.js.map +1 -0
- package/dist/src/coordinator/graph-types.d.ts +336 -0
- package/dist/src/coordinator/graph-types.d.ts.map +1 -0
- package/dist/src/coordinator/graph-types.js +6 -0
- package/dist/src/coordinator/graph-types.js.map +1 -0
- package/dist/src/coordinator/graph-walker.d.ts +65 -0
- package/dist/src/coordinator/graph-walker.d.ts.map +1 -0
- package/dist/src/coordinator/graph-walker.js +1079 -0
- package/dist/src/coordinator/graph-walker.js.map +1 -0
- package/dist/src/coordinator/index.d.ts +13 -0
- package/dist/src/coordinator/index.d.ts.map +1 -0
- package/dist/src/coordinator/index.js +14 -0
- package/dist/src/coordinator/index.js.map +1 -0
- package/dist/src/coordinator/intent-router.d.ts +11 -0
- package/dist/src/coordinator/intent-router.d.ts.map +1 -0
- package/dist/src/coordinator/intent-router.js +65 -0
- package/dist/src/coordinator/intent-router.js.map +1 -0
- package/dist/src/coordinator/llm-decider.d.ts +15 -0
- package/dist/src/coordinator/llm-decider.d.ts.map +1 -0
- package/dist/src/coordinator/llm-decider.js +58 -0
- package/dist/src/coordinator/llm-decider.js.map +1 -0
- package/dist/src/coordinator/output-parser.d.ts +5 -0
- package/dist/src/coordinator/output-parser.d.ts.map +1 -0
- package/dist/src/coordinator/output-parser.js +114 -0
- package/dist/src/coordinator/output-parser.js.map +1 -0
- package/dist/src/coordinator/parallel-executor.d.ts +24 -0
- package/dist/src/coordinator/parallel-executor.d.ts.map +1 -0
- package/dist/src/coordinator/parallel-executor.js +43 -0
- package/dist/src/coordinator/parallel-executor.js.map +1 -0
- package/dist/src/coordinator/prompt-assembler.d.ts +15 -0
- package/dist/src/coordinator/prompt-assembler.d.ts.map +1 -0
- package/dist/src/coordinator/prompt-assembler.js +248 -0
- package/dist/src/coordinator/prompt-assembler.js.map +1 -0
- package/dist/src/coordinator/step-analyzer.d.ts +8 -0
- package/dist/src/coordinator/step-analyzer.d.ts.map +1 -0
- package/dist/src/coordinator/step-analyzer.js +82 -0
- package/dist/src/coordinator/step-analyzer.js.map +1 -0
- package/dist/src/core/extension-loader.d.ts +11 -0
- package/dist/src/core/extension-loader.d.ts.map +1 -0
- package/dist/src/core/extension-loader.js +54 -0
- package/dist/src/core/extension-loader.js.map +1 -0
- package/dist/src/core/manifest.d.ts +24 -0
- package/dist/src/core/manifest.d.ts.map +1 -0
- package/dist/src/core/manifest.js +139 -0
- package/dist/src/core/manifest.js.map +1 -0
- package/dist/src/core/overlay/applier.d.ts +73 -0
- package/dist/src/core/overlay/applier.d.ts.map +1 -0
- package/dist/src/core/overlay/applier.js +248 -0
- package/dist/src/core/overlay/applier.js.map +1 -0
- package/dist/src/core/overlay/loader.d.ts +26 -0
- package/dist/src/core/overlay/loader.d.ts.map +1 -0
- package/dist/src/core/overlay/loader.js +199 -0
- package/dist/src/core/overlay/loader.js.map +1 -0
- package/dist/src/core/overlay/patcher.d.ts +26 -0
- package/dist/src/core/overlay/patcher.d.ts.map +1 -0
- package/dist/src/core/overlay/patcher.js +212 -0
- package/dist/src/core/overlay/patcher.js.map +1 -0
- package/dist/src/core/overlay/section-parser.d.ts +25 -0
- package/dist/src/core/overlay/section-parser.d.ts.map +1 -0
- package/dist/src/core/overlay/section-parser.js +99 -0
- package/dist/src/core/overlay/section-parser.js.map +1 -0
- package/dist/src/core/overlay/types.d.ts +51 -0
- package/dist/src/core/overlay/types.d.ts.map +1 -0
- package/dist/src/core/overlay/types.js +15 -0
- package/dist/src/core/overlay/types.js.map +1 -0
- package/dist/src/core/tool-registry.d.ts +10 -0
- package/dist/src/core/tool-registry.d.ts.map +1 -0
- package/dist/src/core/tool-registry.js +29 -0
- package/dist/src/core/tool-registry.js.map +1 -0
- package/dist/src/db/connection-pool.d.ts +21 -0
- package/dist/src/db/connection-pool.d.ts.map +1 -0
- package/dist/src/db/connection-pool.js +53 -0
- package/dist/src/db/connection-pool.js.map +1 -0
- package/dist/src/db/index.d.ts +6 -0
- package/dist/src/db/index.d.ts.map +1 -0
- package/dist/src/db/index.js +9 -0
- package/dist/src/db/index.js.map +1 -0
- package/dist/src/db/schema/core/index.d.ts +5 -0
- package/dist/src/db/schema/core/index.d.ts.map +1 -0
- package/dist/src/db/schema/core/index.js +5 -0
- package/dist/src/db/schema/core/index.js.map +1 -0
- package/dist/src/db/schema/core/organizations.d.ts +244 -0
- package/dist/src/db/schema/core/organizations.d.ts.map +1 -0
- package/dist/src/db/schema/core/organizations.js +44 -0
- package/dist/src/db/schema/core/organizations.js.map +1 -0
- package/dist/src/db/schema/core/permissions.d.ts +158 -0
- package/dist/src/db/schema/core/permissions.d.ts.map +1 -0
- package/dist/src/db/schema/core/permissions.js +62 -0
- package/dist/src/db/schema/core/permissions.js.map +1 -0
- package/dist/src/db/schema/core/refresh-tokens.d.ts +147 -0
- package/dist/src/db/schema/core/refresh-tokens.d.ts.map +1 -0
- package/dist/src/db/schema/core/refresh-tokens.js +22 -0
- package/dist/src/db/schema/core/refresh-tokens.js.map +1 -0
- package/dist/src/db/schema/core/users.d.ts +178 -0
- package/dist/src/db/schema/core/users.d.ts.map +1 -0
- package/dist/src/db/schema/core/users.js +14 -0
- package/dist/src/db/schema/core/users.js.map +1 -0
- package/dist/src/db/tenant-migrator.d.ts +11 -0
- package/dist/src/db/tenant-migrator.d.ts.map +1 -0
- package/dist/src/db/tenant-migrator.js +74 -0
- package/dist/src/db/tenant-migrator.js.map +1 -0
- package/dist/src/db/tenant-schema.d.ts +290 -0
- package/dist/src/db/tenant-schema.d.ts.map +1 -0
- package/dist/src/db/tenant-schema.js +32 -0
- package/dist/src/db/tenant-schema.js.map +1 -0
- package/dist/src/hooks/constants.d.ts +42 -0
- package/dist/src/hooks/constants.d.ts.map +1 -0
- package/dist/src/hooks/constants.js +55 -0
- package/dist/src/hooks/constants.js.map +1 -0
- package/dist/src/hooks/context-budget.d.ts +29 -0
- package/dist/src/hooks/context-budget.d.ts.map +1 -0
- package/dist/src/hooks/context-budget.js +142 -0
- package/dist/src/hooks/context-budget.js.map +1 -0
- package/dist/src/hooks/context-monitor.d.ts +33 -0
- package/dist/src/hooks/context-monitor.d.ts.map +1 -0
- package/dist/src/hooks/context-monitor.js +117 -0
- package/dist/src/hooks/context-monitor.js.map +1 -0
- package/dist/src/hooks/coordinator-tracker.d.ts +88 -0
- package/dist/src/hooks/coordinator-tracker.d.ts.map +1 -0
- package/dist/src/hooks/coordinator-tracker.js +331 -0
- package/dist/src/hooks/coordinator-tracker.js.map +1 -0
- package/dist/src/hooks/delegate-monitor.d.ts +24 -0
- package/dist/src/hooks/delegate-monitor.d.ts.map +1 -0
- package/dist/src/hooks/delegate-monitor.js +76 -0
- package/dist/src/hooks/delegate-monitor.js.map +1 -0
- package/dist/src/hooks/guards/index.d.ts +3 -0
- package/dist/src/hooks/guards/index.d.ts.map +1 -0
- package/dist/src/hooks/guards/index.js +3 -0
- package/dist/src/hooks/guards/index.js.map +1 -0
- package/dist/src/hooks/guards/prompt-guard.d.ts +18 -0
- package/dist/src/hooks/guards/prompt-guard.d.ts.map +1 -0
- package/dist/src/hooks/guards/prompt-guard.js +52 -0
- package/dist/src/hooks/guards/prompt-guard.js.map +1 -0
- package/dist/src/hooks/guards/workflow-guard.d.ts +21 -0
- package/dist/src/hooks/guards/workflow-guard.d.ts.map +1 -0
- package/dist/src/hooks/guards/workflow-guard.js +47 -0
- package/dist/src/hooks/guards/workflow-guard.js.map +1 -0
- package/dist/src/hooks/hook-engine.d.ts +26 -0
- package/dist/src/hooks/hook-engine.d.ts.map +1 -0
- package/dist/src/hooks/hook-engine.js +67 -0
- package/dist/src/hooks/hook-engine.js.map +1 -0
- package/dist/src/hooks/hook-manager.d.ts +12 -0
- package/dist/src/hooks/hook-manager.d.ts.map +1 -0
- package/dist/src/hooks/hook-manager.js +25 -0
- package/dist/src/hooks/hook-manager.js.map +1 -0
- package/dist/src/hooks/index.d.ts +8 -0
- package/dist/src/hooks/index.d.ts.map +1 -0
- package/dist/src/hooks/index.js +7 -0
- package/dist/src/hooks/index.js.map +1 -0
- package/dist/src/hooks/plugins/index.d.ts +3 -0
- package/dist/src/hooks/plugins/index.d.ts.map +1 -0
- package/dist/src/hooks/plugins/index.js +2 -0
- package/dist/src/hooks/plugins/index.js.map +1 -0
- package/dist/src/hooks/plugins/spec-injection-plugin.d.ts +16 -0
- package/dist/src/hooks/plugins/spec-injection-plugin.d.ts.map +1 -0
- package/dist/src/hooks/plugins/spec-injection-plugin.js +48 -0
- package/dist/src/hooks/plugins/spec-injection-plugin.js.map +1 -0
- package/dist/src/hooks/plugins/telemetry-plugin.d.ts +18 -0
- package/dist/src/hooks/plugins/telemetry-plugin.d.ts.map +1 -0
- package/dist/src/hooks/plugins/telemetry-plugin.js +42 -0
- package/dist/src/hooks/plugins/telemetry-plugin.js.map +1 -0
- package/dist/src/hooks/session-context.d.ts +24 -0
- package/dist/src/hooks/session-context.d.ts.map +1 -0
- package/dist/src/hooks/session-context.js +147 -0
- package/dist/src/hooks/session-context.js.map +1 -0
- package/dist/src/hooks/skill-context.d.ts +38 -0
- package/dist/src/hooks/skill-context.d.ts.map +1 -0
- package/dist/src/hooks/skill-context.js +300 -0
- package/dist/src/hooks/skill-context.js.map +1 -0
- package/dist/src/hooks/spec-injector.d.ts +34 -0
- package/dist/src/hooks/spec-injector.d.ts.map +1 -0
- package/dist/src/hooks/spec-injector.js +95 -0
- package/dist/src/hooks/spec-injector.js.map +1 -0
- package/dist/src/hooks/statusline.d.ts +43 -0
- package/dist/src/hooks/statusline.d.ts.map +1 -0
- package/dist/src/hooks/statusline.js +319 -0
- package/dist/src/hooks/statusline.js.map +1 -0
- package/dist/src/hooks/team-monitor.d.ts +34 -0
- package/dist/src/hooks/team-monitor.d.ts.map +1 -0
- package/dist/src/hooks/team-monitor.js +116 -0
- package/dist/src/hooks/team-monitor.js.map +1 -0
- package/dist/src/hooks/workflow-hooks.d.ts +58 -0
- package/dist/src/hooks/workflow-hooks.d.ts.map +1 -0
- package/dist/src/hooks/workflow-hooks.js +47 -0
- package/dist/src/hooks/workflow-hooks.js.map +1 -0
- package/dist/src/hooks/workspace.d.ts +32 -0
- package/dist/src/hooks/workspace.d.ts.map +1 -0
- package/dist/src/hooks/workspace.js +64 -0
- package/dist/src/hooks/workspace.js.map +1 -0
- package/dist/src/index.d.ts +8 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +6 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/mcp/delegate-channel-relay.d.ts +51 -0
- package/dist/src/mcp/delegate-channel-relay.d.ts.map +1 -0
- package/dist/src/mcp/delegate-channel-relay.js +306 -0
- package/dist/src/mcp/delegate-channel-relay.js.map +1 -0
- package/dist/src/mcp/server.d.ts +6 -0
- package/dist/src/mcp/server.d.ts.map +1 -0
- package/dist/src/mcp/server.js +64 -0
- package/dist/src/mcp/server.js.map +1 -0
- package/dist/src/middleware/auth.d.ts +13 -0
- package/dist/src/middleware/auth.d.ts.map +1 -0
- package/dist/src/middleware/auth.js +27 -0
- package/dist/src/middleware/auth.js.map +1 -0
- package/dist/src/middleware/permission.d.ts +9 -0
- package/dist/src/middleware/permission.d.ts.map +1 -0
- package/dist/src/middleware/permission.js +19 -0
- package/dist/src/middleware/permission.js.map +1 -0
- package/dist/src/middleware/rate-limit.d.ts +9 -0
- package/dist/src/middleware/rate-limit.d.ts.map +1 -0
- package/dist/src/middleware/rate-limit.js +40 -0
- package/dist/src/middleware/rate-limit.js.map +1 -0
- package/dist/src/middleware/tenant.d.ts +17 -0
- package/dist/src/middleware/tenant.d.ts.map +1 -0
- package/dist/src/middleware/tenant.js +57 -0
- package/dist/src/middleware/tenant.js.map +1 -0
- package/dist/src/middleware/validation.d.ts +40 -0
- package/dist/src/middleware/validation.d.ts.map +1 -0
- package/dist/src/middleware/validation.js +51 -0
- package/dist/src/middleware/validation.js.map +1 -0
- package/dist/src/routes/auth.d.ts +3 -0
- package/dist/src/routes/auth.d.ts.map +1 -0
- package/dist/src/routes/auth.js +77 -0
- package/dist/src/routes/auth.js.map +1 -0
- package/dist/src/routes/members.d.ts +4 -0
- package/dist/src/routes/members.d.ts.map +1 -0
- package/dist/src/routes/members.js +114 -0
- package/dist/src/routes/members.js.map +1 -0
- package/dist/src/routes/organizations.d.ts +5 -0
- package/dist/src/routes/organizations.d.ts.map +1 -0
- package/dist/src/routes/organizations.js +97 -0
- package/dist/src/routes/organizations.js.map +1 -0
- package/dist/src/services/auth.service.d.ts +24 -0
- package/dist/src/services/auth.service.d.ts.map +1 -0
- package/dist/src/services/auth.service.js +70 -0
- package/dist/src/services/auth.service.js.map +1 -0
- package/dist/src/services/password.service.d.ts +3 -0
- package/dist/src/services/password.service.d.ts.map +1 -0
- package/dist/src/services/password.service.js +18 -0
- package/dist/src/services/password.service.js.map +1 -0
- package/dist/src/services/rbac.service.d.ts +7 -0
- package/dist/src/services/rbac.service.d.ts.map +1 -0
- package/dist/src/services/rbac.service.js +36 -0
- package/dist/src/services/rbac.service.js.map +1 -0
- package/dist/src/services/token.service.d.ts +18 -0
- package/dist/src/services/token.service.d.ts.map +1 -0
- package/dist/src/services/token.service.js +86 -0
- package/dist/src/services/token.service.js.map +1 -0
- package/dist/src/tools/core-memory.d.ts +12 -0
- package/dist/src/tools/core-memory.d.ts.map +1 -0
- package/dist/src/tools/core-memory.js +276 -0
- package/dist/src/tools/core-memory.js.map +1 -0
- package/dist/src/tools/edit-file.d.ts +25 -0
- package/dist/src/tools/edit-file.d.ts.map +1 -0
- package/dist/src/tools/edit-file.js +462 -0
- package/dist/src/tools/edit-file.js.map +1 -0
- package/dist/src/tools/index.d.ts +8 -0
- package/dist/src/tools/index.d.ts.map +1 -0
- package/dist/src/tools/index.js +482 -0
- package/dist/src/tools/index.js.map +1 -0
- package/dist/src/tools/read-file.d.ts +13 -0
- package/dist/src/tools/read-file.d.ts.map +1 -0
- package/dist/src/tools/read-file.js +91 -0
- package/dist/src/tools/read-file.js.map +1 -0
- package/dist/src/tools/read-many-files.d.ts +15 -0
- package/dist/src/tools/read-many-files.d.ts.map +1 -0
- package/dist/src/tools/read-many-files.js +187 -0
- package/dist/src/tools/read-many-files.js.map +1 -0
- package/dist/src/tools/spec-init.d.ts +17 -0
- package/dist/src/tools/spec-init.d.ts.map +1 -0
- package/dist/src/tools/spec-init.js +215 -0
- package/dist/src/tools/spec-init.js.map +1 -0
- package/dist/src/tools/spec-loader.d.ts +15 -0
- package/dist/src/tools/spec-loader.d.ts.map +1 -0
- package/dist/src/tools/spec-loader.js +93 -0
- package/dist/src/tools/spec-loader.js.map +1 -0
- package/dist/src/tools/team-activity.d.ts +76 -0
- package/dist/src/tools/team-activity.d.ts.map +1 -0
- package/dist/src/tools/team-activity.js +159 -0
- package/dist/src/tools/team-activity.js.map +1 -0
- package/dist/src/tools/team-members.d.ts +78 -0
- package/dist/src/tools/team-members.d.ts.map +1 -0
- package/dist/src/tools/team-members.js +222 -0
- package/dist/src/tools/team-members.js.map +1 -0
- package/dist/src/tools/team-msg.d.ts +52 -0
- package/dist/src/tools/team-msg.d.ts.map +1 -0
- package/dist/src/tools/team-msg.js +449 -0
- package/dist/src/tools/team-msg.js.map +1 -0
- package/dist/src/tools/transition-recorder.d.ts +47 -0
- package/dist/src/tools/transition-recorder.d.ts.map +1 -0
- package/dist/src/tools/transition-recorder.js +48 -0
- package/dist/src/tools/transition-recorder.js.map +1 -0
- package/dist/src/tools/write-file.d.ts +19 -0
- package/dist/src/tools/write-file.d.ts.map +1 -0
- package/dist/src/tools/write-file.js +165 -0
- package/dist/src/tools/write-file.js.map +1 -0
- package/dist/src/types/index.d.ts +75 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/types/index.js +2 -0
- package/dist/src/types/index.js.map +1 -0
- package/dist/src/types/tool-schema.d.ts +37 -0
- package/dist/src/types/tool-schema.d.ts.map +1 -0
- package/dist/src/types/tool-schema.js +24 -0
- package/dist/src/types/tool-schema.js.map +1 -0
- package/dist/src/utils/cli-format.d.ts +51 -0
- package/dist/src/utils/cli-format.d.ts.map +1 -0
- package/dist/src/utils/cli-format.js +126 -0
- package/dist/src/utils/cli-format.js.map +1 -0
- package/dist/src/utils/file-reader.d.ts +74 -0
- package/dist/src/utils/file-reader.d.ts.map +1 -0
- package/dist/src/utils/file-reader.js +217 -0
- package/dist/src/utils/file-reader.js.map +1 -0
- package/dist/src/utils/jsonl-log.d.ts +63 -0
- package/dist/src/utils/jsonl-log.d.ts.map +1 -0
- package/dist/src/utils/jsonl-log.js +198 -0
- package/dist/src/utils/jsonl-log.js.map +1 -0
- package/dist/src/utils/path-validator.d.ts +52 -0
- package/dist/src/utils/path-validator.d.ts.map +1 -0
- package/dist/src/utils/path-validator.js +151 -0
- package/dist/src/utils/path-validator.js.map +1 -0
- package/dist/tools/index.d.ts +6 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +390 -1
- package/dist/tools/index.js.map +1 -1
- package/package.json +78 -58
- package/shared/agent-types.ts +223 -0
- package/templates/cli/prompts/coordinate-step-v2.md +57 -38
- package/templates/state.json +1 -0
- package/workflows/execute.md +427 -413
- package/workflows/learn.md +397 -0
- package/workflows/maestro-coordinate.codex.md +755 -0
- package/workflows/maestro-coordinate.md +111 -61
- package/workflows/maestro-link-coordinate.md +13 -3
- package/workflows/maestro.md +324 -128
- package/workflows/milestone-complete.md +22 -1
- package/workflows/overlays.md +119 -0
- package/workflows/phase-transition.md +19 -0
- package/workflows/retrospective.md +854 -0
- package/.codex/skills/maestro/SKILL.md +0 -529
- package/dashboard/dist/assets/ChatInput-BQOmqgT5.js +0 -67
- package/dashboard/dist/assets/ChatPage-ekwfjZ-o.js +0 -13
- package/dashboard/dist/assets/McpPage-CkBQZQKI.js +0 -16
- package/dashboard/dist/assets/index-mS23S2sK.css +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/KanbanPage-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/KanbanPage-BQ6cezbm.js","assets/shallow-BcyhGB1i.js","assets/table-BAom8rqt.js","assets/x-B8Y1iNhN.js","assets/circle-check-big-Du2ZkzU4.js","assets/ChatInput-DMUm4jhn.js","assets/zap-6qysYe-N.js","assets/MarkdownRenderer-D2xpZVqP.js","assets/chevron-down-COuPz-xU.js","assets/wrench-C3axXC-M.js","assets/chevron-right-Df9DiNd9.js","assets/circle-alert-xNa8pdQK.js","assets/download-DSUXgure.js","assets/ArtifactsPage-CfkfWkXr.js","assets/code-DUkRPZIu.js","assets/TreeBrowser-BF-vEawe.js","assets/search-ij25TuQe.js","assets/folder-C6wbX9PV.js","assets/circle-CwdcCqnf.js","assets/circle-check-B6ugdr-I.js","assets/index-DkK1KuCs.js","assets/proxy-hByVfg9Z.js","assets/ChatPage-CPWivYoS.js","assets/git-branch-BPklQ4Bl.js","assets/WorkflowPage-D5DQLYoY.js","assets/check-D06Q17_u.js","assets/list-BEAkau2G.js","assets/columns-3-B7nerqMb.js","assets/McpPage-B-LmhlGn.js","assets/trash-2-C7bscdF9.js","assets/pen-line-Bk1b_xE-.js","assets/SpecsPage-Bl5WASF4.js","assets/TeamsPage-BLXi7emJ.js","assets/arrow-left-GaDqlIdA.js","assets/RequirementPage-CW8e1Cv_.js","assets/RequirementBoardPage-DoNbM5xS.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
function lb(l,s){for(var o=0;o<s.length;o++){const i=s[o];if(typeof i!="string"&&!Array.isArray(i)){for(const d in i)if(d!=="default"&&!(d in l)){const m=Object.getOwnPropertyDescriptor(i,d);m&&Object.defineProperty(l,d,m.get?m:{enumerable:!0,get:()=>i[d]})}}}return Object.freeze(Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}))}(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const d of document.querySelectorAll('link[rel="modulepreload"]'))i(d);new MutationObserver(d=>{for(const m of d)if(m.type==="childList")for(const h of m.addedNodes)h.tagName==="LINK"&&h.rel==="modulepreload"&&i(h)}).observe(document,{childList:!0,subtree:!0});function o(d){const m={};return d.integrity&&(m.integrity=d.integrity),d.referrerPolicy&&(m.referrerPolicy=d.referrerPolicy),d.crossOrigin==="use-credentials"?m.credentials="include":d.crossOrigin==="anonymous"?m.credentials="omit":m.credentials="same-origin",m}function i(d){if(d.ep)return;d.ep=!0;const m=o(d);fetch(d.href,m)}})();function bp(l){return l&&l.__esModule&&Object.prototype.hasOwnProperty.call(l,"default")?l.default:l}var Rc={exports:{}},br={};/**
|
|
3
3
|
* @license React
|
|
4
4
|
* react-jsx-runtime.production.js
|
|
@@ -169,7 +169,7 @@ Error generating stack: `+n.message+`
|
|
|
169
169
|
*
|
|
170
170
|
* This source code is licensed under the ISC license.
|
|
171
171
|
* See the LICENSE file in the root directory of this source tree.
|
|
172
|
-
*/const d0=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],f0=Kt("plus",d0),Jh=500,Sl=_a(l=>({processes:{},entries:{},pendingApprovals:{},activeProcessId:null,processThoughts:{},processStreaming:{},processTokenUsage:{},addProcess:s=>l(o=>({processes:{...o.processes,[s.id]:s},entries:{...o.entries,[s.id]:o.entries[s.id]??[]}})),removeProcess:s=>l(o=>{const{[s]:i,...d}=o.processes;return{processes:d}}),updateProcessStatus:(s,o)=>l(i=>{const d=i.processes[s];return d?{processes:{...i.processes,[s]:{...d,status:o}}}:i}),addEntry:(s,o)=>l(i=>{const d=i.entries[s]??[];if(o.id&&d.some(h=>h.id===o.id))return i;let m;if(o.type==="assistant_message"){const h=d.length-1,p=h>=0?d[h]:null;if(o.partial&&(p==null?void 0:p.type)==="assistant_message"&&p.partial){const b={...p,content:p.content+o.content,id:o.id};m=[...d.slice(0,h),b]}else!o.partial&&(p==null?void 0:p.type)==="assistant_message"&&p.partial?m=[...d.slice(0,h),o]:m=[...d,o]}else m=[...d,o];return{entries:{...i.entries,[s]:m.length>Jh?m.slice(-Jh):m}}}),setApproval:s=>l(o=>({pendingApprovals:{...o.pendingApprovals,[s.id]:s}})),clearApproval:s=>l(o=>{const{[s]:i,...d}=o.pendingApprovals;return{pendingApprovals:d}}),setActiveProcessId:s=>l({activeProcessId:s}),setProcessThought:(s,o)=>l(i=>({processThoughts:{...i.processThoughts,[s]:o}})),setProcessStreaming:(s,o)=>l(i=>({processStreaming:{...i.processStreaming,[s]:o}})),updateProcessTokenUsage:(s,o,i,d,m)=>l(h=>{const p=h.processTokenUsage[s]??{input:0,output:0,cacheRead:0,cacheWrite:0};return{processTokenUsage:{...h.processTokenUsage,[s]:{input:p.input+o,output:p.output+i,cacheRead:p.cacheRead+d,cacheWrite:p.cacheWrite+m}}}}),dismissProcess:s=>l(o=>{const{[s]:i,...d}=o.processes,{[s]:m,...h}=o.entries,{[s]:p,...b}=o.processThoughts,{[s]:g,...x}=o.processStreaming,{[s]:S,..._}=o.processTokenUsage,C={};for(const[k,O]of Object.entries(o.pendingApprovals))O.processId!==s&&(C[k]=O);return{processes:d,entries:h,processThoughts:b,processStreaming:x,processTokenUsage:_,pendingApprovals:C,activeProcessId:o.activeProcessId===s?null:o.activeProcessId}}),clearAll:()=>l({processes:{},entries:{},pendingApprovals:{},activeProcessId:null,processThoughts:{},processStreaming:{},processTokenUsage:{}})})),rE=[{id:"backlog",label:"Backlog",statuses:["pending"]},{id:"triage",label:"Triage",statuses:[]},{id:"in-progress",label:"In Progress",statuses:["exploring","planning","executing"]},{id:"review",label:"Review",statuses:["verifying","testing"]},{id:"done",label:"Done",statuses:["completed","blocked"]},{id:"deferred",label:"Deferred",statuses:[]}],Ih={HEALTH:"/api/health",BOARD:"/api/board",PROJECT:"/api/project",PHASES:"/api/phases",PHASE:"/api/phases/:n",PHASE_TASKS:"/api/phases/:n/tasks",ARTIFACTS:"/api/artifacts",SCRATCH:"/api/scratch",SETTINGS:"/api/settings",SETTINGS_GENERAL:"/api/settings/general",SETTINGS_AGENTS:"/api/settings/agents",SETTINGS_CLI_TOOLS:"/api/settings/cli-tools",SETTINGS_SPECS:"/api/settings/specs"},sE={SPECS:"/api/specs",SPECS_FILES:"/api/specs/files",SPECS_FILE:"/api/specs/file/:name"},iE={CONFIG:"/api/mcp-config",TOGGLE:"/api/mcp-toggle",COPY_SERVER:"/api/mcp-copy-server",REMOVE_SERVER:"/api/mcp-remove-server",ADD_GLOBAL:"/api/mcp-add-global-server",REMOVE_GLOBAL:"/api/mcp-remove-global-server",INSTALL_MAESTRO:"/api/mcp-install-maestro",CODEX_CONFIG:"/api/codex-mcp-config",CODEX_ADD:"/api/codex-mcp-add",CODEX_REMOVE:"/api/codex-mcp-remove",CODEX_TOGGLE:"/api/codex-mcp-toggle",TEMPLATES:"/api/mcp-templates",TEMPLATES_SEARCH:"/api/mcp-templates/search",TEMPLATES_CATEGORIES:"/api/mcp-templates/categories",TEMPLATES_INSTALL:"/api/mcp-templates/install",DETECT_COMMANDS:"/api/mcp/detect-commands"},Oe={AGENT_SPAWNED:"agent:spawned",AGENT_ENTRY:"agent:entry",AGENT_APPROVAL:"agent:approval",AGENT_STATUS:"agent:status",AGENT_STOPPED:"agent:stopped",AGENT_THOUGHT:"agent:thought",AGENT_STREAMING:"agent:streaming",EXECUTION_STARTED:"execution:started",EXECUTION_COMPLETED:"execution:completed",EXECUTION_FAILED:"execution:failed",EXECUTION_SCHEDULER_STATUS:"execution:scheduler_status",SUPERVISOR_STATUS:"supervisor:status",COMMANDER_STATUS:"commander:status",COMMANDER_DECISION:"commander:decision",COORDINATE_STATUS:"coordinate:status",COORDINATE_STEP:"coordinate:step",COORDINATE_ANALYSIS:"coordinate:analysis",COORDINATE_CLARIFICATION_NEEDED:"coordinate:clarification_needed",REQUIREMENT_EXPANDED:"requirement:expanded",REQUIREMENT_COMMITTED:"requirement:committed",REQUIREMENT_PROGRESS:"requirement:progress",BOARD_FULL:"board:full",PHASE_UPDATED:"phase:updated",TASK_UPDATED:"task:updated",PROJECT_UPDATED:"project:updated",HEARTBEAT:"heartbeat",CONNECTED:"connected"},Qs={ISSUES:"/api/issues",ISSUE:"/api/issues/:id"},Xc={STATUS:"/api/linear/status",TEAMS:"/api/linear/teams",BOARD:"/api/linear/board",IMPORT:"/api/linear/import",EXPORT:"/api/linear/export"},oE={SESSIONS:"/api/teams/sessions",SESSION:"/api/teams/sessions/:sessionId",SESSION_MESSAGES:"/api/teams/sessions/:sessionId/messages",SESSION_FILE:"/api/teams/sessions/:sessionId/files"},cE={DETECT:"/api/install/detect",EXECUTE:"/api/install/execute",MANIFESTS:"/api/install/manifests"},Hp={pending:"#A09D97",exploring:"#5B8DB8",planning:"#9178B5",executing:"#B89540",verifying:"#C8863A",testing:"#5B8DB8",completed:"#5A9E78",blocked:"#C46555"},qp={"claude-code":"var(--color-accent-purple)",codex:"var(--color-accent-green)","codex-server":"var(--color-accent-green)",gemini:"var(--color-accent-blue)",qwen:"var(--color-accent-orange)",opencode:"var(--color-text-tertiary)","agent-sdk":"var(--color-accent-purple)"},uE={"claude-code":"Claude Code",codex:"Codex","codex-server":"Codex Server",gemini:"Gemini",qwen:"Qwen",opencode:"OpenCode","agent-sdk":"Agent SDK"},dE={open:"#A09D97",registered:"#C8863A",analyzing:"#5B8DB8",planned:"#9178B5",in_progress:"#B89540",resolved:"#5A9E78",closed:"#6B6966",deferred:"#8B8685"};function fE(l){switch(l.status){case"closed":return"closed";case"resolved":return"resolved";case"in_progress":return"in_progress";case"deferred":return"deferred";case"registered":return l.solution?"planned":l.analysis?"analyzing":"registered";case"open":return l.solution?"planned":l.analysis?"analyzing":"open";default:return"open"}}const ru=_a((l,s)=>({issues:[],loading:!1,error:null,patchIssue:o=>l(i=>{const d=i.issues.findIndex(m=>m.id===o.id);if(d>=0){const m=[...i.issues];return m[d]=o,{issues:m}}return{issues:[...i.issues,o]}}),fetchIssues:async o=>{l({loading:!0,error:null});try{const i=new URLSearchParams;o!=null&&o.status&&i.set("status",o.status),o!=null&&o.type&&i.set("type",o.type);const d=i.toString(),m=Qs.ISSUES+(d?`?${d}`:""),h=await fetch(m);if(!h.ok)throw new Error(`Failed to fetch issues: ${h.status}`);const p=await h.json();l({issues:p,loading:!1})}catch(i){l({loading:!1,error:String(i)})}},createIssue:async o=>{l({error:null});try{const i=await fetch(Qs.ISSUES,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)});if(!i.ok){const m=await i.json().catch(()=>({error:`HTTP ${i.status}`}));throw new Error(m.error)}const d=await i.json();return l(m=>({issues:[...m.issues,d]})),d}catch(i){return l({error:String(i)}),null}},updateIssue:async(o,i)=>{l({error:null});const d=s().issues;l(m=>({issues:m.issues.map(h=>h.id===o?{...h,...i,updated_at:new Date().toISOString()}:h)}));try{const m=Qs.ISSUES+`/${o}`,h=await fetch(m,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)});if(!h.ok)throw new Error(`Failed to update issue: ${h.status}`);const p=await h.json();l(b=>({issues:b.issues.map(g=>g.id===o?p:g)}))}catch(m){l({issues:d,error:String(m)})}},deleteIssue:async o=>{l({error:null});const i=s().issues;l(d=>({issues:d.issues.filter(m=>m.id!==o)}));try{const d=Qs.ISSUES+`/${o}`,m=await fetch(d,{method:"DELETE"});if(!m.ok)throw new Error(`Failed to delete issue: ${m.status}`)}catch(d){l({issues:i,error:String(d)})}}})),m0=[],Fh=[{labelKey:"nav.kanban",tooltipKey:"dock.kanban_tooltip",path:"/kanban",icon:"kanban",shortcut:"K"},{labelKey:"nav.artifacts",tooltipKey:"dock.artifacts_tooltip",path:"/artifacts",icon:"artifacts",shortcut:"A"},{labelKey:"nav.chat",tooltipKey:"dock.chat_tooltip",path:"/chat",icon:"chat",shortcut:"C"},{labelKey:"nav.workflow",tooltipKey:"dock.workflow_tooltip",path:"/workflow",icon:"workflow",shortcut:"W"},{labelKey:"nav.mcp",tooltipKey:"dock.mcp_tooltip",path:"/mcp",icon:"mcp",shortcut:"M"},{labelKey:"nav.specs",tooltipKey:"dock.specs_tooltip",path:"/specs",icon:"specs",shortcut:"S"},{labelKey:"nav.teams",tooltipKey:"dock.teams_tooltip",path:"/teams",icon:"teams",shortcut:"T"},{labelKey:"nav.requirement",tooltipKey:"dock.requirement_tooltip",path:"/requirement",icon:"requirement",shortcut:"R"},{labelKey:"nav.supervisor",tooltipKey:"dock.supervisor_tooltip",path:"/supervisor",icon:"supervisor",shortcut:"V"}];function h0({isPinned:l,onTogglePin:s}){const{t:o}=gt(),i=wt(V=>{var H;return((H=V.board)==null?void 0:H.phases)??m0}),d=Sl(V=>V.processes),m=Sl(V=>V.activeProcessId),h=wt(V=>V.selectedPhase),p=wt(V=>V.setSelectedPhase),b=ru(V=>V.issues),g=ru(V=>V.fetchIssues),x=di(),S=Ea();y.useEffect(()=>{g()},[g]);const _=y.useMemo(()=>{const V={open:0,in_progress:0,resolved:0,closed:0,total:0};for(const H of b)V.total++,H.status in V&&V[H.status]++;return V},[b]),C=y.useRef(null),k=y.useRef(null),[O,z]=y.useState(!1),U=Object.values(d),Z=y.useCallback(()=>{l||z(!0)},[l]),Q=y.useCallback(V=>{var H;!l&&!(V.relatedTarget instanceof Node&&((H=k.current)!=null&&H.contains(V.relatedTarget)))&&z(!1)},[l]),I=y.useCallback(V=>{var H;!l&&!(V.relatedTarget instanceof Node&&((H=C.current)!=null&&H.contains(V.relatedTarget)))&&z(!1)},[l]),se=y.useCallback(V=>{x(V),z(!1)},[x]);return u.jsxs("div",{className:"relative flex",children:[u.jsxs("nav",{ref:C,role:"navigation","aria-label":o("nav.views"),className:"w-[var(--size-rail-width)] bg-bg-secondary border-r border-border flex-shrink-0 flex flex-col items-center pt-2 gap-0.5 z-50",onMouseEnter:Z,onMouseLeave:Q,children:[Fh.map(V=>u.jsx(p0,{item:V,isActive:S.pathname.startsWith(V.path),onActivate:()=>se(V.path),t:o},V.path)),u.jsx("div",{className:"w-6 h-px bg-border-divider my-1.5","aria-hidden":"true"}),u.jsx("div",{className:"flex flex-col items-center gap-1.5 py-1",role:"list","aria-label":o("dock.phases_label"),children:U.length>0?U.map(V=>u.jsx(y0,{process:V,isActive:V.id===m,onSelect:()=>{Sl.getState().setActiveProcessId(V.id),x("/chat")}},V.id)):i.map(V=>u.jsx(b0,{phase:V,t:o},V.phase))}),u.jsx("button",{type:"button",onClick:s,"aria-label":o("dock.toggle_sidebar"),className:["mt-auto mb-2 flex items-center justify-center w-9 h-9 rounded-[6px]","transition-colors duration-[var(--duration-fast)] ease-[var(--ease-notion)]","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]",l?"text-text-primary bg-bg-active":"text-text-tertiary hover:bg-bg-hover hover:text-text-primary"].join(" "),children:u.jsx(u0,{size:16,strokeWidth:1.8})})]}),u.jsxs("aside",{ref:k,"aria-label":o("dock.views_label"),className:["dock-floating-panel","absolute left-[var(--size-rail-width)] top-0 bottom-0","w-[calc(var(--size-panel-width)-var(--size-rail-width))]","bg-bg-secondary border-r border-border overflow-y-auto z-40","shadow-[4px_0_16px_rgba(0,0,0,0.06)]","transition-[transform,opacity] duration-[200ms] ease-[var(--ease-spring)]",l||O?"translate-x-0 opacity-100 pointer-events-auto":"-translate-x-full opacity-0 pointer-events-none"].join(" "),onMouseLeave:I,children:[u.jsxs("div",{className:"px-2 py-2.5 border-b border-border-divider",children:[u.jsx("h2",{className:"text-[length:var(--font-size-xs)] font-[var(--font-weight-semibold)] text-text-tertiary uppercase tracking-[var(--letter-spacing-wide)] px-2 mb-1",children:o("dock.views_label")}),u.jsx("nav",{className:"flex flex-col gap-0.5",children:Fh.map(V=>u.jsx(E0,{item:V,t:o},V.path))})]}),U.length>0&&u.jsxs("div",{className:"px-2 py-2.5 border-b border-border-divider",children:[u.jsxs("div",{className:"flex items-center justify-between px-2 mb-1",children:[u.jsx("h2",{className:"text-[length:var(--font-size-xs)] font-[var(--font-weight-semibold)] text-text-tertiary uppercase tracking-[var(--letter-spacing-wide)]",children:"Sessions"}),u.jsx("button",{type:"button",className:"w-[18px] h-[18px] rounded flex items-center justify-center border-none bg-transparent cursor-pointer transition-all duration-100",style:{color:"var(--color-text-placeholder)"},onMouseEnter:V=>{V.currentTarget.style.color="var(--color-text-primary)",V.currentTarget.style.backgroundColor="var(--color-bg-hover)"},onMouseLeave:V=>{V.currentTarget.style.color="var(--color-text-placeholder)",V.currentTarget.style.backgroundColor="transparent"},"aria-label":"New session",children:u.jsx(f0,{size:12,strokeWidth:2})})]}),u.jsx("nav",{className:"flex flex-col gap-0.5",children:U.map(V=>u.jsx(x0,{process:V,isActive:V.id===m},V.id))})]}),b.length>0&&u.jsxs("div",{className:"px-2 py-2.5 border-b border-border-divider",children:[u.jsx("h2",{className:"text-[length:var(--font-size-xs)] font-[var(--font-weight-semibold)] text-text-tertiary uppercase tracking-[var(--letter-spacing-wide)] px-2 mb-1",children:"Issues"}),u.jsxs("button",{type:"button",onClick:()=>{x("/kanban"),z(!1)},className:"flex items-center gap-2 px-2 py-1.5 rounded-[var(--radius-default)] text-left text-[length:var(--font-size-sm)] w-full hover:bg-bg-hover transition-colors",children:[u.jsxs("span",{className:"flex-1 text-text-secondary",children:[_.total," issues"]}),u.jsxs("span",{className:"flex items-center gap-1.5 text-[10px]",children:[_.open>0&&u.jsxs("span",{className:"px-1.5 py-0.5 rounded-full bg-[#5B8DB820] text-[#5B8DB8]",children:[_.open," open"]}),_.in_progress>0&&u.jsxs("span",{className:"px-1.5 py-0.5 rounded-full bg-[#B8954020] text-[#B89540]",children:[_.in_progress," active"]}),_.resolved>0&&u.jsxs("span",{className:"px-1.5 py-0.5 rounded-full bg-[#5A9E7820] text-[#5A9E78]",children:[_.resolved," done"]})]})]})]}),u.jsxs("div",{className:"px-2 py-2.5",children:[u.jsx("h2",{className:"text-[length:var(--font-size-xs)] font-[var(--font-weight-semibold)] text-text-tertiary uppercase tracking-[var(--letter-spacing-wide)] px-2 mb-1",children:o("dock.phases_label")}),u.jsxs("nav",{className:"flex flex-col gap-0.5","aria-label":"Project phases",children:[i.map(V=>u.jsx(_0,{phase:V,selected:h===V.phase,onSelect:()=>{p(h===V.phase?null:V.phase),z(!1)}},V.phase)),i.length===0&&u.jsx("p",{className:"text-[length:var(--font-size-xs)] text-text-secondary italic px-2",children:o("sidebar.no_phases_loaded")})]})]})]})]})}function p0({item:l,isActive:s,onActivate:o,t:i}){return u.jsxs("button",{type:"button",onClick:o,"aria-label":i(l.tooltipKey),"aria-current":s?"page":void 0,className:["group relative flex items-center justify-center w-9 h-9 rounded-[8px]","transition-colors duration-150","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]",s?"bg-bg-active text-text-primary":"text-text-tertiary hover:bg-bg-hover hover:text-text-primary"].join(" "),children:[u.jsx(g0,{icon:l.icon}),u.jsx("span",{className:"absolute left-[calc(100%+8px)] top-1/2 -translate-y-1/2 bg-text-primary text-[11px] font-medium text-white px-2 py-0.5 rounded-[6px] whitespace-nowrap opacity-0 pointer-events-none group-hover:opacity-100 transition-opacity duration-150 z-[200]",children:i(l.tooltipKey)})]})}const v0={kanban:Qx,artifacts:Jx,chat:Fx,workflow:Px,mcp:e0,specs:a0,teams:l0,requirement:s0,supervisor:o0};function g0({icon:l}){const s=v0[l];return u.jsx(s,{size:18,strokeWidth:1.8})}function y0({process:l,isActive:s,onSelect:o}){const i=qp[l.type]??"var(--color-text-tertiary)",d=l.status==="running"||l.status==="spawning";return u.jsx("span",{role:"listitem",title:`${l.type} — ${l.status}`,onClick:o,className:["relative w-2 h-2 rounded-full cursor-pointer transition-transform duration-150 hover:scale-[1.4]",s?"ring-2 ring-offset-2 ring-offset-bg-secondary":""].join(" "),style:{backgroundColor:d?i:"var(--color-text-placeholder)",color:i,...s?{boxShadow:`0 0 0 2px var(--color-bg-secondary), 0 0 0 3.5px ${i}`}:{}},children:d&&u.jsx("span",{className:"absolute inset-[-2px] rounded-full animate-[sdot-ping_2s_ease_infinite]",style:{background:i,opacity:.4}})})}function b0({phase:l,t:s}){return u.jsx("span",{role:"listitem","aria-label":s("dock.phase_dot_aria",{phase:l.phase,title:l.title,status:l.status}),className:"w-2 h-2 rounded-full cursor-pointer transition-transform duration-150 hover:scale-[1.4]",style:{backgroundColor:Hp[l.status]}})}function x0({process:l,isActive:s}){const o=qp[l.type]??"var(--color-text-tertiary)",i=Sl(h=>h.setActiveProcessId),d=di(),m=C0(l.startedAt);return u.jsxs("button",{type:"button",onClick:()=>{i(l.id),d("/chat")},className:["flex items-center gap-2 px-2.5 py-1.5 rounded-[8px] text-left text-[12px] w-full","transition-all duration-150",s?"bg-bg-active":"hover:bg-bg-hover"].join(" "),children:[u.jsx("span",{className:"w-[7px] h-[7px] rounded-full shrink-0",style:{backgroundColor:o}}),u.jsx("span",{className:"flex-1 font-medium text-text-primary truncate",children:l.type}),u.jsx("span",{className:"text-[10px] text-text-placeholder shrink-0",children:m})]})}const S0=["flex items-center gap-2 px-2 py-1.5 rounded-[var(--radius-default)]","text-[length:var(--font-size-sm)] font-[var(--font-weight-medium)] w-full","transition-colors duration-[var(--duration-fast)] ease-[var(--ease-notion)]","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]"].join(" ");function E0({item:l,t:s}){return u.jsxs(Cx,{to:l.path,className:({isActive:o})=>`${S0} ${o?"bg-bg-active text-text-primary font-semibold":"text-text-secondary hover:text-text-primary hover:bg-bg-hover"}`,children:[u.jsx("span",{className:"truncate",children:s(l.labelKey)}),l.shortcut&&u.jsx("span",{className:"ml-auto text-[10px] text-text-placeholder",children:l.shortcut})]})}function _0({phase:l,selected:s,onSelect:o}){const i=Hp[l.status];return u.jsxs("button",{type:"button",onClick:o,"aria-current":s?"true":void 0,className:["flex items-center gap-[var(--spacing-2)] px-[var(--spacing-2)] py-[var(--spacing-1-5)] rounded-[var(--radius-default)] text-left text-[length:var(--font-size-sm)] font-[var(--font-weight-medium)] w-full","transition-all duration-[var(--duration-fast)] ease-[var(--ease-notion)]","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]","disabled:opacity-[var(--opacity-disabled)] disabled:pointer-events-none",s?"bg-bg-active text-text-primary border-l-2 border-l-accent-blue":"text-text-secondary hover:text-text-primary hover:bg-bg-hover"].join(" "),children:[u.jsx("span",{className:"w-2 h-2 rounded-full shrink-0","aria-hidden":"true",style:{backgroundColor:i}}),u.jsxs("span",{className:"truncate",children:[l.phase,". ",l.title]})]})}function C0(l){const s=Date.now()-new Date(l).getTime(),o=Math.floor(s/6e4);return o<1?"<1m":o<60?`${o}m`:`${Math.floor(o/60)}h`}const N0=["/supervisor"];function j0({children:l}){const{t:s}=gt(),{pathname:o}=Ea(),i=N0.some(d=>o.startsWith(d));return u.jsx("main",{role:"main","aria-label":s("accessibility.main_content"),className:i?"flex-1 overflow-hidden bg-bg-primary":"flex-1 overflow-y-auto bg-bg-primary p-[var(--spacing-4)] sm:p-[var(--spacing-4)] max-sm:p-[var(--spacing-2)]",children:l})}const su=_a((l,s)=>({slots:{},queue:[],supervisorStatus:null,commanderState:null,commanderConfig:null,recentDecisions:[],selectedIssueIds:new Set,cliPanelIssueId:null,addSlot:o=>l(i=>({slots:{...i.slots,[o.processId]:o}})),removeSlot:o=>l(i=>{const{[o]:d,...m}=i.slots;return{slots:m}}),setQueue:o=>l({queue:o}),setSupervisorStatus:o=>l({supervisorStatus:o,queue:o.queued}),setCommanderState:o=>l({commanderState:o}),setCommanderConfig:o=>l({commanderConfig:o}),fetchCommanderConfig:async()=>{try{const o=await fetch("/api/commander/config");if(o.ok){const i=await o.json();l({commanderConfig:i})}}catch{}},toggleSupervisor:async o=>{try{const i=await fetch("/api/execution/supervisor",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({enabled:o})});if(i.ok){const d=await i.json();d.status&&l({supervisorStatus:d.status})}}catch{}},addDecision:o=>l(i=>{const d=[...i.recentDecisions,o];return d.length>20&&d.shift(),{recentDecisions:d}}),toggleSelect:o=>l(i=>{const d=new Set(i.selectedIssueIds);return d.has(o)?d.delete(o):d.add(o),{selectedIssueIds:d}}),selectAll:o=>l({selectedIssueIds:new Set(o)}),clearSelection:()=>l({selectedIssueIds:new Set}),openCliPanel:o=>l({cliPanelIssueId:o}),closeCliPanel:()=>l({cliPanelIssueId:null}),getSlotForIssue:o=>{const i=s().slots;for(const d of Object.values(i))if(d.issueId===o)return d},isIssueRunning:o=>{const i=s().slots;return Object.values(i).some(d=>d.issueId===o)}})),Gp=_a(l=>({session:null,selectedStepIndex:null,clarificationQuestion:null,onStatus:s=>l({session:s}),onStep:s=>l(o=>{if(!o.session||o.session.sessionId!==s.sessionId)return o;const i=[...o.session.steps],d=i.findIndex(m=>m.index===s.step.index);return d>=0?i[d]=s.step:i.push(s.step),{session:{...o.session,steps:i}}}),onAnalysis:s=>l(o=>{if(!o.session||o.session.sessionId!==s.sessionId)return o;const i=s.steps.map((d,m)=>({index:m,cmd:d.cmd,args:d.args,status:"pending",processId:null,analysis:null,summary:null}));return{session:{...o.session,chainName:s.chainName,intent:s.intent,steps:i}}}),onClarificationNeeded:s=>l(o=>!o.session||o.session.sessionId!==s.sessionId?o:{clarificationQuestion:s.question}),start:(s,o,i)=>{nn({action:"coordinate:start",intent:s,tool:o,autoMode:i})},stop:()=>{nn({action:"coordinate:stop"})},resume:s=>{var i;const o=s??((i=Gp.getState().session)==null?void 0:i.sessionId);nn({action:"coordinate:resume",sessionId:o})},sendClarification:(s,o)=>{nn({action:"coordinate:clarify",sessionId:s,response:o}),l({clarificationQuestion:null})},selectStep:s=>l({selectedStepIndex:s})}));function Wh(l,s){const o=l.findIndex(i=>i.id===s.id);if(o>=0){const i=[...l];return i[o]=s,i}return[s,...l]}const T0=_a((l,s)=>({currentRequirement:null,history:[],isLoading:!1,error:null,progressMessage:null,committedResult:null,continueFrom:null,expand:(o,i,d)=>{const m=s().continueFrom;l({isLoading:!0,error:null,progressMessage:null,committedResult:null,continueFrom:null,currentRequirement:{id:"",status:"expanding",userInput:o,title:"",summary:"",items:[],depth:i??"standard",createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()}});try{nn({action:"requirement:expand",text:o,depth:i,method:d??"sdk",...m?{previousRequirementId:m.id}:{}})}catch(h){l({isLoading:!1,error:h instanceof Error?h.message:String(h)})}},refine:o=>{const i=s().currentRequirement;if(i){l({isLoading:!0,error:null,progressMessage:null,currentRequirement:{...i,status:"expanding"}});try{nn({action:"requirement:refine",requirementId:i.id,feedback:o})}catch(d){l({isLoading:!1,error:d instanceof Error?d.message:String(d)})}}},commit:o=>{const i=s().currentRequirement;if(i){l({isLoading:!0,error:null,progressMessage:null,currentRequirement:{...i,status:"committing"}});try{nn({action:"requirement:commit",requirementId:i.id,mode:o})}catch(d){l({isLoading:!1,error:d instanceof Error?d.message:String(d)})}}},resetRequirement:()=>{l({currentRequirement:null,isLoading:!1,error:null,progressMessage:null,committedResult:null,continueFrom:null})},setContinueFrom:o=>{l({continueFrom:o})},loadHistory:o=>{const i=s().history.find(d=>d.id===o);i&&l({currentRequirement:i,isLoading:!1,error:null,progressMessage:null,committedResult:null})},fetchHistory:async()=>{try{const o=await fetch("/api/requirements");if(!o.ok)return;const i=await o.json();Array.isArray(i)&&i.length>0&&l({history:i})}catch{}},onProgress:o=>{l(i=>{const d=i.currentRequirement;if(!d)return i;const m=o.status==="failed";return{currentRequirement:{...d,status:o.status,...m&&o.message?{error:o.message}:{}},progressMessage:o.message??null,...m?{isLoading:!1,error:o.message??"Expansion failed"}:{}}})},onExpanded:o=>{l(i=>({currentRequirement:o.requirement,isLoading:!1,progressMessage:null,history:Wh(i.history,o.requirement)}))},onCommitted:o=>{l(i=>{const d=i.currentRequirement;if(!d||d.id!==o.requirementId)return i;const m={...d,status:"done"};return{currentRequirement:m,isLoading:!1,progressMessage:null,committedResult:{requirementId:o.requirementId,mode:o.mode,issueIds:o.issueIds,coordinateSessionId:o.coordinateSessionId},history:Wh(i.history,m)}})},onError:o=>{l(i=>{const d=i.currentRequirement;return{currentRequirement:d?{...d,status:"failed",error:o.error}:null,isLoading:!1,error:o.error,progressMessage:null}})},updateItem:(o,i)=>{l(d=>{const m=d.currentRequirement;return m?{currentRequirement:{...m,items:m.items.map(h=>h.id===o?{...h,...i}:h)}}:d})}})),Ph=1e3,w0=3e4;let Cr=null;function nn(l){Cr?Cr(l):console.warn("[WS] Cannot send — no active WebSocket connection")}function A0(){const l=y.useRef(null),s=y.useRef(null),o=y.useRef(Ph);y.useEffect(()=>{let i=!1;const{setBoard:d,updatePhase:m,updateTask:h,setConnected:p}=wt.getState(),{addProcess:b,removeProcess:g,updateProcessStatus:x,addEntry:S,setApproval:_,setProcessThought:C,setProcessStreaming:k,updateProcessTokenUsage:O}=Sl.getState(),{addSlot:z,removeSlot:U,setSupervisorStatus:Z,setCommanderState:Q,addDecision:I}=su.getState(),{onStatus:se,onStep:V,onAnalysis:H,onClarificationNeeded:X}=Gp.getState(),{fetchIssues:ue,patchIssue:De}=ru.getState(),{onProgress:Be,onExpanded:Re,onCommitted:At,onError:ot}=T0.getState();function Ge(){if(i)return;const M=window.location.protocol==="https:"?"wss:":"ws:",K=new WebSocket(`${M}//${window.location.host}/ws`);l.current=K,Cr=F=>{K.readyState===WebSocket.OPEN&&K.send(JSON.stringify(F))},K.onopen=()=>{p(!0),o.current=Ph,fetch("/api/board").then(F=>F.ok?F.json():null).then(F=>{F&&d(F)}).catch(()=>{}),fetch("/api/agents").then(F=>F.ok?F.json():null).then(F=>{if(Array.isArray(F))for(const te of F){const L=te;b(L),fetch(`/api/agents/${encodeURIComponent(L.id)}/entries`).then(N=>N.ok?N.json():null).then(N=>{if(Array.isArray(N))for(const G of N)S(L.id,G)}).catch(()=>{})}}).catch(()=>{})},K.onmessage=F=>{let te;try{te=JSON.parse(F.data)}catch{console.warn("[WS] Failed to parse message",F.data);return}switch(te.type){case Oe.BOARD_FULL:d(te.data);break;case Oe.PHASE_UPDATED:{const L=te.data;m(L.phase,L);break}case Oe.TASK_UPDATED:{const L=te.data;L.id&&h(L.id,L);break}case Oe.PROJECT_UPDATED:{const L=te.data,N=wt.getState().board;N&&d({...N,project:L});break}case Oe.HEARTBEAT:case Oe.CONNECTED:break;case Oe.AGENT_SPAWNED:b(te.data);break;case Oe.AGENT_ENTRY:{const L=te.data;if(S(L.processId,L),L.type==="token_usage"){const N=L;O(N.processId,N.inputTokens,N.outputTokens,N.cacheReadTokens??0,N.cacheWriteTokens??0)}break}case Oe.AGENT_APPROVAL:_(te.data);break;case Oe.AGENT_STATUS:{const L=te.data;x(L.processId,L.status);break}case Oe.AGENT_STOPPED:{const L=te.data;x(L.processId,"stopped");break}case Oe.AGENT_THOUGHT:{const L=te.data;C(L.processId,L.thought);break}case Oe.AGENT_STREAMING:{const L=te.data;k(L.processId,L.streaming);break}case Oe.EXECUTION_STARTED:{const L=te.data;z({issueId:L.issueId,processId:L.processId,executor:L.executor,startedAt:new Date().toISOString(),lastActivityAt:new Date().toISOString(),turnNumber:1,maxTurns:3}),L.issue?De(L.issue):ue();break}case Oe.EXECUTION_COMPLETED:{const L=te.data;U(L.processId),L.issue?De(L.issue):ue();break}case Oe.EXECUTION_FAILED:{const L=te.data;U(L.processId),L.issue?De(L.issue):ue();break}case Oe.SUPERVISOR_STATUS:case Oe.EXECUTION_SCHEDULER_STATUS:{const L=te.data;Z(L);break}case Oe.COMMANDER_STATUS:{const L=te.data;Q(L);break}case Oe.COMMANDER_DECISION:{const L=te.data;I(L);break}case Oe.COORDINATE_STATUS:{const L=te.data;se(L.session);break}case Oe.COORDINATE_STEP:{const L=te.data;V(L);break}case Oe.COORDINATE_ANALYSIS:{const L=te.data;H(L);break}case Oe.COORDINATE_CLARIFICATION_NEEDED:{const L=te.data;X(L);break}case Oe.REQUIREMENT_PROGRESS:Be(te.data);break;case Oe.REQUIREMENT_EXPANDED:Re(te.data);break;case Oe.REQUIREMENT_COMMITTED:At(te.data);break}},K.onclose=()=>{if(i)return;p(!1),l.current=null,Cr=null;const F=o.current;o.current=Math.min(F*2,w0),s.current=setTimeout(Ge,F)},K.onerror=()=>{}}return Ge(),()=>{i=!0,Cr=null,s.current&&clearTimeout(s.current),l.current&&(l.current.onopen=null,l.current.onmessage=null,l.current.onerror=null,l.current.onclose=null,l.current.close(),l.current=null),p(!1)}},[])}function rn(l,s,{checkForDefaultPrevented:o=!0}={}){return function(d){if(l==null||l(d),o===!1||!d.defaultPrevented)return s==null?void 0:s(d)}}function $h(l,s){if(typeof l=="function")return l(s);l!=null&&(l.current=s)}function pu(...l){return s=>{let o=!1;const i=l.map(d=>{const m=$h(d,s);return!o&&typeof m=="function"&&(o=!0),m});if(o)return()=>{for(let d=0;d<i.length;d++){const m=i[d];typeof m=="function"?m():$h(l[d],null)}}}}function An(...l){return y.useCallback(pu(...l),l)}function O0(l,s){const o=y.createContext(s),i=m=>{const{children:h,...p}=m,b=y.useMemo(()=>p,Object.values(p));return u.jsx(o.Provider,{value:b,children:h})};i.displayName=l+"Provider";function d(m){const h=y.useContext(o);if(h)return h;if(s!==void 0)return s;throw new Error(`\`${m}\` must be used within \`${l}\``)}return[i,d]}function D0(l,s=[]){let o=[];function i(m,h){const p=y.createContext(h),b=o.length;o=[...o,h];const g=S=>{var U;const{scope:_,children:C,...k}=S,O=((U=_==null?void 0:_[l])==null?void 0:U[b])||p,z=y.useMemo(()=>k,Object.values(k));return u.jsx(O.Provider,{value:z,children:C})};g.displayName=m+"Provider";function x(S,_){var O;const C=((O=_==null?void 0:_[l])==null?void 0:O[b])||p,k=y.useContext(C);if(k)return k;if(h!==void 0)return h;throw new Error(`\`${S}\` must be used within \`${m}\``)}return[g,x]}const d=()=>{const m=o.map(h=>y.createContext(h));return function(p){const b=(p==null?void 0:p[l])||m;return y.useMemo(()=>({[`__scope${l}`]:{...p,[l]:b}}),[p,b])}};return d.scopeName=l,[i,z0(d,...s)]}function z0(...l){const s=l[0];if(l.length===1)return s;const o=()=>{const i=l.map(d=>({useScope:d(),scopeName:d.scopeName}));return function(m){const h=i.reduce((p,{useScope:b,scopeName:g})=>{const S=b(m)[`__scope${g}`];return{...p,...S}},{});return y.useMemo(()=>({[`__scope${s.scopeName}`]:h}),[h])}};return o.scopeName=s.scopeName,o}var Tr=globalThis!=null&&globalThis.document?y.useLayoutEffect:()=>{},k0=du[" useId ".trim().toString()]||(()=>{}),R0=0;function Kc(l){const[s,o]=y.useState(k0());return Tr(()=>{o(i=>i??String(R0++))},[l]),l||(s?`radix-${s}`:"")}var M0=du[" useInsertionEffect ".trim().toString()]||Tr;function U0({prop:l,defaultProp:s,onChange:o=()=>{},caller:i}){const[d,m,h]=L0({defaultProp:s,onChange:o}),p=l!==void 0,b=p?l:d;{const x=y.useRef(l!==void 0);y.useEffect(()=>{const S=x.current;S!==p&&console.warn(`${i} is changing from ${S?"controlled":"uncontrolled"} to ${p?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),x.current=p},[p,i])}const g=y.useCallback(x=>{var S;if(p){const _=B0(x)?x(l):x;_!==l&&((S=h.current)==null||S.call(h,_))}else m(x)},[p,l,m,h]);return[b,g]}function L0({defaultProp:l,onChange:s}){const[o,i]=y.useState(l),d=y.useRef(o),m=y.useRef(s);return M0(()=>{m.current=s},[s]),y.useEffect(()=>{var h;d.current!==o&&((h=m.current)==null||h.call(m,o),d.current=o)},[o,d]),[o,i,m]}function B0(l){return typeof l=="function"}function H0(l){const s=q0(l),o=y.forwardRef((i,d)=>{const{children:m,...h}=i,p=y.Children.toArray(m),b=p.find(Y0);if(b){const g=b.props.children,x=p.map(S=>S===b?y.Children.count(g)>1?y.Children.only(null):y.isValidElement(g)?g.props.children:null:S);return u.jsx(s,{...h,ref:d,children:y.isValidElement(g)?y.cloneElement(g,void 0,x):null})}return u.jsx(s,{...h,ref:d,children:m})});return o.displayName=`${l}.Slot`,o}function q0(l){const s=y.forwardRef((o,i)=>{const{children:d,...m}=o;if(y.isValidElement(d)){const h=X0(d),p=V0(m,d.props);return d.type!==y.Fragment&&(p.ref=i?pu(i,h):h),y.cloneElement(d,p)}return y.Children.count(d)>1?y.Children.only(null):null});return s.displayName=`${l}.SlotClone`,s}var G0=Symbol("radix.slottable");function Y0(l){return y.isValidElement(l)&&typeof l.type=="function"&&"__radixId"in l.type&&l.type.__radixId===G0}function V0(l,s){const o={...s};for(const i in s){const d=l[i],m=s[i];/^on[A-Z]/.test(i)?d&&m?o[i]=(...p)=>{const b=m(...p);return d(...p),b}:d&&(o[i]=d):i==="style"?o[i]={...d,...m}:i==="className"&&(o[i]=[d,m].filter(Boolean).join(" "))}return{...l,...o}}function X0(l){var i,d;let s=(i=Object.getOwnPropertyDescriptor(l.props,"ref"))==null?void 0:i.get,o=s&&"isReactWarning"in s&&s.isReactWarning;return o?l.ref:(s=(d=Object.getOwnPropertyDescriptor(l,"ref"))==null?void 0:d.get,o=s&&"isReactWarning"in s&&s.isReactWarning,o?l.props.ref:l.props.ref||l.ref)}var K0=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Ca=K0.reduce((l,s)=>{const o=H0(`Primitive.${s}`),i=y.forwardRef((d,m)=>{const{asChild:h,...p}=d,b=h?o:s;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),u.jsx(b,{...p,ref:m})});return i.displayName=`Primitive.${s}`,{...l,[s]:i}},{});function Q0(l,s){l&&Ep.flushSync(()=>l.dispatchEvent(s))}function wr(l){const s=y.useRef(l);return y.useEffect(()=>{s.current=l}),y.useMemo(()=>(...o)=>{var i;return(i=s.current)==null?void 0:i.call(s,...o)},[])}function Z0(l,s=globalThis==null?void 0:globalThis.document){const o=wr(l);y.useEffect(()=>{const i=d=>{d.key==="Escape"&&o(d)};return s.addEventListener("keydown",i,{capture:!0}),()=>s.removeEventListener("keydown",i,{capture:!0})},[o,s])}var J0="DismissableLayer",iu="dismissableLayer.update",I0="dismissableLayer.pointerDownOutside",F0="dismissableLayer.focusOutside",ep,Yp=y.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Vp=y.forwardRef((l,s)=>{const{disableOutsidePointerEvents:o=!1,onEscapeKeyDown:i,onPointerDownOutside:d,onFocusOutside:m,onInteractOutside:h,onDismiss:p,...b}=l,g=y.useContext(Yp),[x,S]=y.useState(null),_=(x==null?void 0:x.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,C]=y.useState({}),k=An(s,H=>S(H)),O=Array.from(g.layers),[z]=[...g.layersWithOutsidePointerEventsDisabled].slice(-1),U=O.indexOf(z),Z=x?O.indexOf(x):-1,Q=g.layersWithOutsidePointerEventsDisabled.size>0,I=Z>=U,se=$0(H=>{const X=H.target,ue=[...g.branches].some(De=>De.contains(X));!I||ue||(d==null||d(H),h==null||h(H),H.defaultPrevented||p==null||p())},_),V=e1(H=>{const X=H.target;[...g.branches].some(De=>De.contains(X))||(m==null||m(H),h==null||h(H),H.defaultPrevented||p==null||p())},_);return Z0(H=>{Z===g.layers.size-1&&(i==null||i(H),!H.defaultPrevented&&p&&(H.preventDefault(),p()))},_),y.useEffect(()=>{if(x)return o&&(g.layersWithOutsidePointerEventsDisabled.size===0&&(ep=_.body.style.pointerEvents,_.body.style.pointerEvents="none"),g.layersWithOutsidePointerEventsDisabled.add(x)),g.layers.add(x),tp(),()=>{o&&g.layersWithOutsidePointerEventsDisabled.size===1&&(_.body.style.pointerEvents=ep)}},[x,_,o,g]),y.useEffect(()=>()=>{x&&(g.layers.delete(x),g.layersWithOutsidePointerEventsDisabled.delete(x),tp())},[x,g]),y.useEffect(()=>{const H=()=>C({});return document.addEventListener(iu,H),()=>document.removeEventListener(iu,H)},[]),u.jsx(Ca.div,{...b,ref:k,style:{pointerEvents:Q?I?"auto":"none":void 0,...l.style},onFocusCapture:rn(l.onFocusCapture,V.onFocusCapture),onBlurCapture:rn(l.onBlurCapture,V.onBlurCapture),onPointerDownCapture:rn(l.onPointerDownCapture,se.onPointerDownCapture)})});Vp.displayName=J0;var W0="DismissableLayerBranch",P0=y.forwardRef((l,s)=>{const o=y.useContext(Yp),i=y.useRef(null),d=An(s,i);return y.useEffect(()=>{const m=i.current;if(m)return o.branches.add(m),()=>{o.branches.delete(m)}},[o.branches]),u.jsx(Ca.div,{...l,ref:d})});P0.displayName=W0;function $0(l,s=globalThis==null?void 0:globalThis.document){const o=wr(l),i=y.useRef(!1),d=y.useRef(()=>{});return y.useEffect(()=>{const m=p=>{if(p.target&&!i.current){let b=function(){Xp(I0,o,g,{discrete:!0})};const g={originalEvent:p};p.pointerType==="touch"?(s.removeEventListener("click",d.current),d.current=b,s.addEventListener("click",d.current,{once:!0})):b()}else s.removeEventListener("click",d.current);i.current=!1},h=window.setTimeout(()=>{s.addEventListener("pointerdown",m)},0);return()=>{window.clearTimeout(h),s.removeEventListener("pointerdown",m),s.removeEventListener("click",d.current)}},[s,o]),{onPointerDownCapture:()=>i.current=!0}}function e1(l,s=globalThis==null?void 0:globalThis.document){const o=wr(l),i=y.useRef(!1);return y.useEffect(()=>{const d=m=>{m.target&&!i.current&&Xp(F0,o,{originalEvent:m},{discrete:!1})};return s.addEventListener("focusin",d),()=>s.removeEventListener("focusin",d)},[s,o]),{onFocusCapture:()=>i.current=!0,onBlurCapture:()=>i.current=!1}}function tp(){const l=new CustomEvent(iu);document.dispatchEvent(l)}function Xp(l,s,o,{discrete:i}){const d=o.originalEvent.target,m=new CustomEvent(l,{bubbles:!1,cancelable:!0,detail:o});s&&d.addEventListener(l,s,{once:!0}),i?Q0(d,m):d.dispatchEvent(m)}var Qc="focusScope.autoFocusOnMount",Zc="focusScope.autoFocusOnUnmount",ap={bubbles:!1,cancelable:!0},t1="FocusScope",Kp=y.forwardRef((l,s)=>{const{loop:o=!1,trapped:i=!1,onMountAutoFocus:d,onUnmountAutoFocus:m,...h}=l,[p,b]=y.useState(null),g=wr(d),x=wr(m),S=y.useRef(null),_=An(s,O=>b(O)),C=y.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;y.useEffect(()=>{if(i){let O=function(Q){if(C.paused||!p)return;const I=Q.target;p.contains(I)?S.current=I:en(S.current,{select:!0})},z=function(Q){if(C.paused||!p)return;const I=Q.relatedTarget;I!==null&&(p.contains(I)||en(S.current,{select:!0}))},U=function(Q){if(document.activeElement===document.body)for(const se of Q)se.removedNodes.length>0&&en(p)};document.addEventListener("focusin",O),document.addEventListener("focusout",z);const Z=new MutationObserver(U);return p&&Z.observe(p,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",O),document.removeEventListener("focusout",z),Z.disconnect()}}},[i,p,C.paused]),y.useEffect(()=>{if(p){lp.add(C);const O=document.activeElement;if(!p.contains(O)){const U=new CustomEvent(Qc,ap);p.addEventListener(Qc,g),p.dispatchEvent(U),U.defaultPrevented||(a1(i1(Qp(p)),{select:!0}),document.activeElement===O&&en(p))}return()=>{p.removeEventListener(Qc,g),setTimeout(()=>{const U=new CustomEvent(Zc,ap);p.addEventListener(Zc,x),p.dispatchEvent(U),U.defaultPrevented||en(O??document.body,{select:!0}),p.removeEventListener(Zc,x),lp.remove(C)},0)}}},[p,g,x,C]);const k=y.useCallback(O=>{if(!o&&!i||C.paused)return;const z=O.key==="Tab"&&!O.altKey&&!O.ctrlKey&&!O.metaKey,U=document.activeElement;if(z&&U){const Z=O.currentTarget,[Q,I]=n1(Z);Q&&I?!O.shiftKey&&U===I?(O.preventDefault(),o&&en(Q,{select:!0})):O.shiftKey&&U===Q&&(O.preventDefault(),o&&en(I,{select:!0})):U===Z&&O.preventDefault()}},[o,i,C.paused]);return u.jsx(Ca.div,{tabIndex:-1,...h,ref:_,onKeyDown:k})});Kp.displayName=t1;function a1(l,{select:s=!1}={}){const o=document.activeElement;for(const i of l)if(en(i,{select:s}),document.activeElement!==o)return}function n1(l){const s=Qp(l),o=np(s,l),i=np(s.reverse(),l);return[o,i]}function Qp(l){const s=[],o=document.createTreeWalker(l,NodeFilter.SHOW_ELEMENT,{acceptNode:i=>{const d=i.tagName==="INPUT"&&i.type==="hidden";return i.disabled||i.hidden||d?NodeFilter.FILTER_SKIP:i.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;o.nextNode();)s.push(o.currentNode);return s}function np(l,s){for(const o of l)if(!l1(o,{upTo:s}))return o}function l1(l,{upTo:s}){if(getComputedStyle(l).visibility==="hidden")return!0;for(;l;){if(s!==void 0&&l===s)return!1;if(getComputedStyle(l).display==="none")return!0;l=l.parentElement}return!1}function r1(l){return l instanceof HTMLInputElement&&"select"in l}function en(l,{select:s=!1}={}){if(l&&l.focus){const o=document.activeElement;l.focus({preventScroll:!0}),l!==o&&r1(l)&&s&&l.select()}}var lp=s1();function s1(){let l=[];return{add(s){const o=l[0];s!==o&&(o==null||o.pause()),l=rp(l,s),l.unshift(s)},remove(s){var o;l=rp(l,s),(o=l[0])==null||o.resume()}}}function rp(l,s){const o=[...l],i=o.indexOf(s);return i!==-1&&o.splice(i,1),o}function i1(l){return l.filter(s=>s.tagName!=="A")}var o1="Portal",Zp=y.forwardRef((l,s)=>{var p;const{container:o,...i}=l,[d,m]=y.useState(!1);Tr(()=>m(!0),[]);const h=o||d&&((p=globalThis==null?void 0:globalThis.document)==null?void 0:p.body);return h?xb.createPortal(u.jsx(Ca.div,{...i,ref:s}),h):null});Zp.displayName=o1;function c1(l,s){return y.useReducer((o,i)=>s[o][i]??o,l)}var mi=l=>{const{present:s,children:o}=l,i=u1(s),d=typeof o=="function"?o({present:i.isPresent}):y.Children.only(o),m=An(i.ref,d1(d));return typeof o=="function"||i.isPresent?y.cloneElement(d,{ref:m}):null};mi.displayName="Presence";function u1(l){const[s,o]=y.useState(),i=y.useRef(null),d=y.useRef(l),m=y.useRef("none"),h=l?"mounted":"unmounted",[p,b]=c1(h,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return y.useEffect(()=>{const g=Zs(i.current);m.current=p==="mounted"?g:"none"},[p]),Tr(()=>{const g=i.current,x=d.current;if(x!==l){const _=m.current,C=Zs(g);l?b("MOUNT"):C==="none"||(g==null?void 0:g.display)==="none"?b("UNMOUNT"):b(x&&_!==C?"ANIMATION_OUT":"UNMOUNT"),d.current=l}},[l,b]),Tr(()=>{if(s){let g;const x=s.ownerDocument.defaultView??window,S=C=>{const O=Zs(i.current).includes(CSS.escape(C.animationName));if(C.target===s&&O&&(b("ANIMATION_END"),!d.current)){const z=s.style.animationFillMode;s.style.animationFillMode="forwards",g=x.setTimeout(()=>{s.style.animationFillMode==="forwards"&&(s.style.animationFillMode=z)})}},_=C=>{C.target===s&&(m.current=Zs(i.current))};return s.addEventListener("animationstart",_),s.addEventListener("animationcancel",S),s.addEventListener("animationend",S),()=>{x.clearTimeout(g),s.removeEventListener("animationstart",_),s.removeEventListener("animationcancel",S),s.removeEventListener("animationend",S)}}else b("ANIMATION_END")},[s,b]),{isPresent:["mounted","unmountSuspended"].includes(p),ref:y.useCallback(g=>{i.current=g?getComputedStyle(g):null,o(g)},[])}}function Zs(l){return(l==null?void 0:l.animationName)||"none"}function d1(l){var i,d;let s=(i=Object.getOwnPropertyDescriptor(l.props,"ref"))==null?void 0:i.get,o=s&&"isReactWarning"in s&&s.isReactWarning;return o?l.ref:(s=(d=Object.getOwnPropertyDescriptor(l,"ref"))==null?void 0:d.get,o=s&&"isReactWarning"in s&&s.isReactWarning,o?l.props.ref:l.props.ref||l.ref)}var Jc=0;function f1(){y.useEffect(()=>{const l=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",l[0]??sp()),document.body.insertAdjacentElement("beforeend",l[1]??sp()),Jc++,()=>{Jc===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(s=>s.remove()),Jc--}},[])}function sp(){const l=document.createElement("span");return l.setAttribute("data-radix-focus-guard",""),l.tabIndex=0,l.style.outline="none",l.style.opacity="0",l.style.position="fixed",l.style.pointerEvents="none",l}var $t=function(){return $t=Object.assign||function(s){for(var o,i=1,d=arguments.length;i<d;i++){o=arguments[i];for(var m in o)Object.prototype.hasOwnProperty.call(o,m)&&(s[m]=o[m])}return s},$t.apply(this,arguments)};function Jp(l,s){var o={};for(var i in l)Object.prototype.hasOwnProperty.call(l,i)&&s.indexOf(i)<0&&(o[i]=l[i]);if(l!=null&&typeof Object.getOwnPropertySymbols=="function")for(var d=0,i=Object.getOwnPropertySymbols(l);d<i.length;d++)s.indexOf(i[d])<0&&Object.prototype.propertyIsEnumerable.call(l,i[d])&&(o[i[d]]=l[i[d]]);return o}function m1(l,s,o){if(o||arguments.length===2)for(var i=0,d=s.length,m;i<d;i++)(m||!(i in s))&&(m||(m=Array.prototype.slice.call(s,0,i)),m[i]=s[i]);return l.concat(m||Array.prototype.slice.call(s))}var ai="right-scroll-bar-position",ni="width-before-scroll-bar",h1="with-scroll-bars-hidden",p1="--removed-body-scroll-bar-size";function Ic(l,s){return typeof l=="function"?l(s):l&&(l.current=s),l}function v1(l,s){var o=y.useState(function(){return{value:l,callback:s,facade:{get current(){return o.value},set current(i){var d=o.value;d!==i&&(o.value=i,o.callback(i,d))}}}})[0];return o.callback=s,o.facade}var g1=typeof window<"u"?y.useLayoutEffect:y.useEffect,ip=new WeakMap;function y1(l,s){var o=v1(null,function(i){return l.forEach(function(d){return Ic(d,i)})});return g1(function(){var i=ip.get(o);if(i){var d=new Set(i),m=new Set(l),h=o.current;d.forEach(function(p){m.has(p)||Ic(p,null)}),m.forEach(function(p){d.has(p)||Ic(p,h)})}ip.set(o,l)},[l]),o}function b1(l){return l}function x1(l,s){s===void 0&&(s=b1);var o=[],i=!1,d={read:function(){if(i)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return o.length?o[o.length-1]:l},useMedium:function(m){var h=s(m,i);return o.push(h),function(){o=o.filter(function(p){return p!==h})}},assignSyncMedium:function(m){for(i=!0;o.length;){var h=o;o=[],h.forEach(m)}o={push:function(p){return m(p)},filter:function(){return o}}},assignMedium:function(m){i=!0;var h=[];if(o.length){var p=o;o=[],p.forEach(m),h=o}var b=function(){var x=h;h=[],x.forEach(m)},g=function(){return Promise.resolve().then(b)};g(),o={push:function(x){h.push(x),g()},filter:function(x){return h=h.filter(x),o}}}};return d}function S1(l){l===void 0&&(l={});var s=x1(null);return s.options=$t({async:!0,ssr:!1},l),s}var Ip=function(l){var s=l.sideCar,o=Jp(l,["sideCar"]);if(!s)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var i=s.read();if(!i)throw new Error("Sidecar medium not found");return y.createElement(i,$t({},o))};Ip.isSideCarExport=!0;function E1(l,s){return l.useMedium(s),Ip}var Fp=S1(),Fc=function(){},hi=y.forwardRef(function(l,s){var o=y.useRef(null),i=y.useState({onScrollCapture:Fc,onWheelCapture:Fc,onTouchMoveCapture:Fc}),d=i[0],m=i[1],h=l.forwardProps,p=l.children,b=l.className,g=l.removeScrollBar,x=l.enabled,S=l.shards,_=l.sideCar,C=l.noRelative,k=l.noIsolation,O=l.inert,z=l.allowPinchZoom,U=l.as,Z=U===void 0?"div":U,Q=l.gapMode,I=Jp(l,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),se=_,V=y1([o,s]),H=$t($t({},I),d);return y.createElement(y.Fragment,null,x&&y.createElement(se,{sideCar:Fp,removeScrollBar:g,shards:S,noRelative:C,noIsolation:k,inert:O,setCallbacks:m,allowPinchZoom:!!z,lockRef:o,gapMode:Q}),h?y.cloneElement(y.Children.only(p),$t($t({},H),{ref:V})):y.createElement(Z,$t({},H,{className:b,ref:V}),p))});hi.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};hi.classNames={fullWidth:ni,zeroRight:ai};var _1=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function C1(){if(!document)return null;var l=document.createElement("style");l.type="text/css";var s=_1();return s&&l.setAttribute("nonce",s),l}function N1(l,s){l.styleSheet?l.styleSheet.cssText=s:l.appendChild(document.createTextNode(s))}function j1(l){var s=document.head||document.getElementsByTagName("head")[0];s.appendChild(l)}var T1=function(){var l=0,s=null;return{add:function(o){l==0&&(s=C1())&&(N1(s,o),j1(s)),l++},remove:function(){l--,!l&&s&&(s.parentNode&&s.parentNode.removeChild(s),s=null)}}},w1=function(){var l=T1();return function(s,o){y.useEffect(function(){return l.add(s),function(){l.remove()}},[s&&o])}},Wp=function(){var l=w1(),s=function(o){var i=o.styles,d=o.dynamic;return l(i,d),null};return s},A1={left:0,top:0,right:0,gap:0},Wc=function(l){return parseInt(l||"",10)||0},O1=function(l){var s=window.getComputedStyle(document.body),o=s[l==="padding"?"paddingLeft":"marginLeft"],i=s[l==="padding"?"paddingTop":"marginTop"],d=s[l==="padding"?"paddingRight":"marginRight"];return[Wc(o),Wc(i),Wc(d)]},D1=function(l){if(l===void 0&&(l="margin"),typeof window>"u")return A1;var s=O1(l),o=document.documentElement.clientWidth,i=window.innerWidth;return{left:s[0],top:s[1],right:s[2],gap:Math.max(0,i-o+s[2]-s[0])}},z1=Wp(),El="data-scroll-locked",k1=function(l,s,o,i){var d=l.left,m=l.top,h=l.right,p=l.gap;return o===void 0&&(o="margin"),`
|
|
172
|
+
*/const d0=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],f0=Kt("plus",d0),Jh=500,Sl=_a(l=>({processes:{},entries:{},pendingApprovals:{},activeProcessId:null,processThoughts:{},processStreaming:{},processTokenUsage:{},addProcess:s=>l(o=>({processes:{...o.processes,[s.id]:s},entries:{...o.entries,[s.id]:o.entries[s.id]??[]}})),removeProcess:s=>l(o=>{const{[s]:i,...d}=o.processes;return{processes:d}}),updateProcessStatus:(s,o)=>l(i=>{const d=i.processes[s];return d?{processes:{...i.processes,[s]:{...d,status:o}}}:i}),addEntry:(s,o)=>l(i=>{const d=i.entries[s]??[];if(o.id&&d.some(h=>h.id===o.id))return i;let m;if(o.type==="assistant_message"){const h=d.length-1,p=h>=0?d[h]:null;if(o.partial&&(p==null?void 0:p.type)==="assistant_message"&&p.partial){const b={...p,content:p.content+o.content,id:o.id};m=[...d.slice(0,h),b]}else!o.partial&&(p==null?void 0:p.type)==="assistant_message"&&p.partial?m=[...d.slice(0,h),o]:m=[...d,o]}else m=[...d,o];return{entries:{...i.entries,[s]:m.length>Jh?m.slice(-Jh):m}}}),setApproval:s=>l(o=>({pendingApprovals:{...o.pendingApprovals,[s.id]:s}})),clearApproval:s=>l(o=>{const{[s]:i,...d}=o.pendingApprovals;return{pendingApprovals:d}}),setActiveProcessId:s=>l({activeProcessId:s}),setProcessThought:(s,o)=>l(i=>({processThoughts:{...i.processThoughts,[s]:o}})),setProcessStreaming:(s,o)=>l(i=>({processStreaming:{...i.processStreaming,[s]:o}})),updateProcessTokenUsage:(s,o,i,d,m)=>l(h=>{const p=h.processTokenUsage[s]??{input:0,output:0,cacheRead:0,cacheWrite:0};return{processTokenUsage:{...h.processTokenUsage,[s]:{input:p.input+o,output:p.output+i,cacheRead:p.cacheRead+d,cacheWrite:p.cacheWrite+m}}}}),dismissProcess:s=>l(o=>{const{[s]:i,...d}=o.processes,{[s]:m,...h}=o.entries,{[s]:p,...b}=o.processThoughts,{[s]:g,...x}=o.processStreaming,{[s]:S,..._}=o.processTokenUsage,C={};for(const[k,O]of Object.entries(o.pendingApprovals))O.processId!==s&&(C[k]=O);return{processes:d,entries:h,processThoughts:b,processStreaming:x,processTokenUsage:_,pendingApprovals:C,activeProcessId:o.activeProcessId===s?null:o.activeProcessId}}),clearAll:()=>l({processes:{},entries:{},pendingApprovals:{},activeProcessId:null,processThoughts:{},processStreaming:{},processTokenUsage:{}})})),rE=[{id:"backlog",label:"Backlog",statuses:["pending"]},{id:"triage",label:"Triage",statuses:[]},{id:"in-progress",label:"In Progress",statuses:["exploring","planning","executing"]},{id:"review",label:"Review",statuses:["verifying","testing"]},{id:"done",label:"Done",statuses:["completed","blocked"]},{id:"deferred",label:"Deferred",statuses:[]}],Ih={HEALTH:"/api/health",BOARD:"/api/board",PROJECT:"/api/project",PHASES:"/api/phases",PHASE:"/api/phases/:n",PHASE_TASKS:"/api/phases/:n/tasks",ARTIFACTS:"/api/artifacts",SCRATCH:"/api/scratch",SETTINGS:"/api/settings",SETTINGS_GENERAL:"/api/settings/general",SETTINGS_AGENTS:"/api/settings/agents",SETTINGS_CLI_TOOLS:"/api/settings/cli-tools",SETTINGS_SPECS:"/api/settings/specs"},sE={SPECS:"/api/specs",SPECS_FILES:"/api/specs/files",SPECS_FILE:"/api/specs/file/:name"},iE={CONFIG:"/api/mcp-config",TOGGLE:"/api/mcp-toggle",COPY_SERVER:"/api/mcp-copy-server",REMOVE_SERVER:"/api/mcp-remove-server",ADD_GLOBAL:"/api/mcp-add-global-server",REMOVE_GLOBAL:"/api/mcp-remove-global-server",INSTALL_MAESTRO:"/api/mcp-install-maestro",CODEX_CONFIG:"/api/codex-mcp-config",CODEX_ADD:"/api/codex-mcp-add",CODEX_REMOVE:"/api/codex-mcp-remove",CODEX_TOGGLE:"/api/codex-mcp-toggle",TEMPLATES:"/api/mcp-templates",TEMPLATES_SEARCH:"/api/mcp-templates/search",TEMPLATES_CATEGORIES:"/api/mcp-templates/categories",TEMPLATES_INSTALL:"/api/mcp-templates/install",DETECT_COMMANDS:"/api/mcp/detect-commands"},Oe={AGENT_SPAWNED:"agent:spawned",AGENT_ENTRY:"agent:entry",AGENT_APPROVAL:"agent:approval",AGENT_STATUS:"agent:status",AGENT_STOPPED:"agent:stopped",AGENT_THOUGHT:"agent:thought",AGENT_STREAMING:"agent:streaming",EXECUTION_STARTED:"execution:started",EXECUTION_COMPLETED:"execution:completed",EXECUTION_FAILED:"execution:failed",EXECUTION_SCHEDULER_STATUS:"execution:scheduler_status",SUPERVISOR_STATUS:"supervisor:status",COMMANDER_STATUS:"commander:status",COMMANDER_DECISION:"commander:decision",COORDINATE_STATUS:"coordinate:status",COORDINATE_STEP:"coordinate:step",COORDINATE_ANALYSIS:"coordinate:analysis",COORDINATE_CLARIFICATION_NEEDED:"coordinate:clarification_needed",REQUIREMENT_EXPANDED:"requirement:expanded",REQUIREMENT_COMMITTED:"requirement:committed",REQUIREMENT_PROGRESS:"requirement:progress",BOARD_FULL:"board:full",PHASE_UPDATED:"phase:updated",TASK_UPDATED:"task:updated",PROJECT_UPDATED:"project:updated",HEARTBEAT:"heartbeat",CONNECTED:"connected"},Qs={ISSUES:"/api/issues",ISSUE:"/api/issues/:id"},Xc={STATUS:"/api/linear/status",TEAMS:"/api/linear/teams",BOARD:"/api/linear/board",IMPORT:"/api/linear/import",EXPORT:"/api/linear/export"},oE={SESSIONS:"/api/teams/sessions",SESSION:"/api/teams/sessions/:sessionId",SESSION_MESSAGES:"/api/teams/sessions/:sessionId/messages",SESSION_FILE:"/api/teams/sessions/:sessionId/files"},cE={DETECT:"/api/install/detect",EXECUTE:"/api/install/execute",MANIFESTS:"/api/install/manifests"},Hp={pending:"#A09D97",exploring:"#5B8DB8",planning:"#9178B5",executing:"#B89540",verifying:"#C8863A",testing:"#5B8DB8",completed:"#5A9E78",blocked:"#C46555"},qp={"claude-code":"var(--color-accent-purple)",codex:"var(--color-accent-green)","codex-server":"var(--color-accent-green)",gemini:"var(--color-accent-blue)",qwen:"var(--color-accent-orange)",opencode:"var(--color-text-tertiary)","agent-sdk":"var(--color-accent-purple)"},uE={"claude-code":"Claude Code",codex:"Codex","codex-server":"Codex Server",gemini:"Gemini",qwen:"Qwen",opencode:"OpenCode","agent-sdk":"Agent SDK"},dE={open:"#A09D97",registered:"#C8863A",analyzing:"#5B8DB8",planned:"#9178B5",in_progress:"#B89540",resolved:"#5A9E78",closed:"#6B6966",deferred:"#8B8685"};function fE(l){switch(l.status){case"closed":return"closed";case"resolved":return"resolved";case"in_progress":return"in_progress";case"deferred":return"deferred";case"registered":return l.solution?"planned":l.analysis?"analyzing":"registered";case"open":return l.solution?"planned":l.analysis?"analyzing":"open";default:return"open"}}const ru=_a((l,s)=>({issues:[],loading:!1,error:null,patchIssue:o=>l(i=>{const d=i.issues.findIndex(m=>m.id===o.id);if(d>=0){const m=[...i.issues];return m[d]=o,{issues:m}}return{issues:[...i.issues,o]}}),fetchIssues:async o=>{l({loading:!0,error:null});try{const i=new URLSearchParams;o!=null&&o.status&&i.set("status",o.status),o!=null&&o.type&&i.set("type",o.type);const d=i.toString(),m=Qs.ISSUES+(d?`?${d}`:""),h=await fetch(m);if(!h.ok)throw new Error(`Failed to fetch issues: ${h.status}`);const p=await h.json();l({issues:p,loading:!1})}catch(i){l({loading:!1,error:String(i)})}},createIssue:async o=>{l({error:null});try{const i=await fetch(Qs.ISSUES,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)});if(!i.ok){const m=await i.json().catch(()=>({error:`HTTP ${i.status}`}));throw new Error(m.error)}const d=await i.json();return l(m=>({issues:[...m.issues,d]})),d}catch(i){return l({error:String(i)}),null}},updateIssue:async(o,i)=>{l({error:null});const d=s().issues;l(m=>({issues:m.issues.map(h=>h.id===o?{...h,...i,updated_at:new Date().toISOString()}:h)}));try{const m=Qs.ISSUES+`/${o}`,h=await fetch(m,{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)});if(!h.ok)throw new Error(`Failed to update issue: ${h.status}`);const p=await h.json();l(b=>({issues:b.issues.map(g=>g.id===o?p:g)}))}catch(m){l({issues:d,error:String(m)})}},deleteIssue:async o=>{l({error:null});const i=s().issues;l(d=>({issues:d.issues.filter(m=>m.id!==o)}));try{const d=Qs.ISSUES+`/${o}`,m=await fetch(d,{method:"DELETE"});if(!m.ok)throw new Error(`Failed to delete issue: ${m.status}`)}catch(d){l({issues:i,error:String(d)})}}})),m0=[],Fh=[{labelKey:"nav.kanban",tooltipKey:"dock.kanban_tooltip",path:"/kanban",icon:"kanban",shortcut:"K"},{labelKey:"nav.artifacts",tooltipKey:"dock.artifacts_tooltip",path:"/artifacts",icon:"artifacts",shortcut:"A"},{labelKey:"nav.chat",tooltipKey:"dock.chat_tooltip",path:"/chat",icon:"chat",shortcut:"C"},{labelKey:"nav.workflow",tooltipKey:"dock.workflow_tooltip",path:"/workflow",icon:"workflow",shortcut:"W"},{labelKey:"nav.mcp",tooltipKey:"dock.mcp_tooltip",path:"/mcp",icon:"mcp",shortcut:"M"},{labelKey:"nav.specs",tooltipKey:"dock.specs_tooltip",path:"/specs",icon:"specs",shortcut:"S"},{labelKey:"nav.teams",tooltipKey:"dock.teams_tooltip",path:"/teams",icon:"teams",shortcut:"T"},{labelKey:"nav.requirement",tooltipKey:"dock.requirement_tooltip",path:"/requirement",icon:"requirement",shortcut:"R"},{labelKey:"nav.supervisor",tooltipKey:"dock.supervisor_tooltip",path:"/supervisor",icon:"supervisor",shortcut:"V"}];function h0({isPinned:l,onTogglePin:s}){const{t:o}=gt(),i=wt(V=>{var H;return((H=V.board)==null?void 0:H.phases)??m0}),d=Sl(V=>V.processes),m=Sl(V=>V.activeProcessId),h=wt(V=>V.selectedPhase),p=wt(V=>V.setSelectedPhase),b=ru(V=>V.issues),g=ru(V=>V.fetchIssues),x=di(),S=Ea();y.useEffect(()=>{g()},[g]);const _=y.useMemo(()=>{const V={open:0,in_progress:0,resolved:0,closed:0,total:0};for(const H of b)V.total++,H.status in V&&V[H.status]++;return V},[b]),C=y.useRef(null),k=y.useRef(null),[O,z]=y.useState(!1),U=Object.values(d),Z=y.useCallback(()=>{l||z(!0)},[l]),Q=y.useCallback(V=>{var H;!l&&!(V.relatedTarget instanceof Node&&((H=k.current)!=null&&H.contains(V.relatedTarget)))&&z(!1)},[l]),I=y.useCallback(V=>{var H;!l&&!(V.relatedTarget instanceof Node&&((H=C.current)!=null&&H.contains(V.relatedTarget)))&&z(!1)},[l]),se=y.useCallback(V=>{x(V),z(!1)},[x]);return u.jsxs("div",{className:"relative flex",children:[u.jsxs("nav",{ref:C,role:"navigation","aria-label":o("nav.views"),className:"w-[var(--size-rail-width)] bg-bg-secondary border-r border-border flex-shrink-0 flex flex-col items-center pt-2 gap-0.5 z-50",onMouseEnter:Z,onMouseLeave:Q,children:[Fh.map(V=>u.jsx(p0,{item:V,isActive:S.pathname.startsWith(V.path),onActivate:()=>se(V.path),t:o},V.path)),u.jsx("div",{className:"w-6 h-px bg-border-divider my-1.5","aria-hidden":"true"}),u.jsx("div",{className:"flex flex-col items-center gap-1.5 py-1",role:"list","aria-label":o("dock.phases_label"),children:U.length>0?U.map(V=>u.jsx(y0,{process:V,isActive:V.id===m,onSelect:()=>{Sl.getState().setActiveProcessId(V.id),x("/chat")}},V.id)):i.map(V=>u.jsx(b0,{phase:V,t:o},V.phase))}),u.jsx("button",{type:"button",onClick:s,"aria-label":o("dock.toggle_sidebar"),className:["mt-auto mb-2 flex items-center justify-center w-9 h-9 rounded-[6px]","transition-colors duration-[var(--duration-fast)] ease-[var(--ease-notion)]","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]",l?"text-text-primary bg-bg-active":"text-text-tertiary hover:bg-bg-hover hover:text-text-primary"].join(" "),children:u.jsx(u0,{size:16,strokeWidth:1.8})})]}),u.jsxs("aside",{ref:k,"aria-label":o("dock.views_label"),className:["dock-floating-panel","absolute left-[var(--size-rail-width)] top-0 bottom-0","w-[calc(var(--size-panel-width)-var(--size-rail-width))]","bg-bg-secondary border-r border-border overflow-y-auto z-40","shadow-[4px_0_16px_rgba(0,0,0,0.06)]","transition-[transform,opacity] duration-[200ms] ease-[var(--ease-spring)]",l||O?"translate-x-0 opacity-100 pointer-events-auto":"-translate-x-full opacity-0 pointer-events-none"].join(" "),onMouseLeave:I,children:[u.jsxs("div",{className:"px-2 py-2.5 border-b border-border-divider",children:[u.jsx("h2",{className:"text-[length:var(--font-size-xs)] font-[var(--font-weight-semibold)] text-text-tertiary uppercase tracking-[var(--letter-spacing-wide)] px-2 mb-1",children:o("dock.views_label")}),u.jsx("nav",{className:"flex flex-col gap-0.5",children:Fh.map(V=>u.jsx(E0,{item:V,t:o},V.path))})]}),U.length>0&&u.jsxs("div",{className:"px-2 py-2.5 border-b border-border-divider",children:[u.jsxs("div",{className:"flex items-center justify-between px-2 mb-1",children:[u.jsx("h2",{className:"text-[length:var(--font-size-xs)] font-[var(--font-weight-semibold)] text-text-tertiary uppercase tracking-[var(--letter-spacing-wide)]",children:"Sessions"}),u.jsx("button",{type:"button",className:"w-[18px] h-[18px] rounded flex items-center justify-center border-none bg-transparent cursor-pointer transition-all duration-100",style:{color:"var(--color-text-placeholder)"},onMouseEnter:V=>{V.currentTarget.style.color="var(--color-text-primary)",V.currentTarget.style.backgroundColor="var(--color-bg-hover)"},onMouseLeave:V=>{V.currentTarget.style.color="var(--color-text-placeholder)",V.currentTarget.style.backgroundColor="transparent"},"aria-label":"New session",children:u.jsx(f0,{size:12,strokeWidth:2})})]}),u.jsx("nav",{className:"flex flex-col gap-0.5",children:U.map(V=>u.jsx(x0,{process:V,isActive:V.id===m},V.id))})]}),b.length>0&&u.jsxs("div",{className:"px-2 py-2.5 border-b border-border-divider",children:[u.jsx("h2",{className:"text-[length:var(--font-size-xs)] font-[var(--font-weight-semibold)] text-text-tertiary uppercase tracking-[var(--letter-spacing-wide)] px-2 mb-1",children:"Issues"}),u.jsxs("button",{type:"button",onClick:()=>{x("/kanban"),z(!1)},className:"flex items-center gap-2 px-2 py-1.5 rounded-[var(--radius-default)] text-left text-[length:var(--font-size-sm)] w-full hover:bg-bg-hover transition-colors",children:[u.jsxs("span",{className:"flex-1 text-text-secondary",children:[_.total," issues"]}),u.jsxs("span",{className:"flex items-center gap-1.5 text-[10px]",children:[_.open>0&&u.jsxs("span",{className:"px-1.5 py-0.5 rounded-full bg-[#5B8DB820] text-[#5B8DB8]",children:[_.open," open"]}),_.in_progress>0&&u.jsxs("span",{className:"px-1.5 py-0.5 rounded-full bg-[#B8954020] text-[#B89540]",children:[_.in_progress," active"]}),_.resolved>0&&u.jsxs("span",{className:"px-1.5 py-0.5 rounded-full bg-[#5A9E7820] text-[#5A9E78]",children:[_.resolved," done"]})]})]})]}),u.jsxs("div",{className:"px-2 py-2.5",children:[u.jsx("h2",{className:"text-[length:var(--font-size-xs)] font-[var(--font-weight-semibold)] text-text-tertiary uppercase tracking-[var(--letter-spacing-wide)] px-2 mb-1",children:o("dock.phases_label")}),u.jsxs("nav",{className:"flex flex-col gap-0.5","aria-label":"Project phases",children:[i.map(V=>u.jsx(_0,{phase:V,selected:h===V.phase,onSelect:()=>{p(h===V.phase?null:V.phase),z(!1)}},V.phase)),i.length===0&&u.jsx("p",{className:"text-[length:var(--font-size-xs)] text-text-secondary italic px-2",children:o("sidebar.no_phases_loaded")})]})]})]})]})}function p0({item:l,isActive:s,onActivate:o,t:i}){return u.jsxs("button",{type:"button",onClick:o,"aria-label":i(l.tooltipKey),"aria-current":s?"page":void 0,className:["group relative flex items-center justify-center w-9 h-9 rounded-[8px]","transition-colors duration-150","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]",s?"bg-bg-active text-text-primary":"text-text-tertiary hover:bg-bg-hover hover:text-text-primary"].join(" "),children:[u.jsx(g0,{icon:l.icon}),u.jsx("span",{className:"absolute left-[calc(100%+8px)] top-1/2 -translate-y-1/2 bg-text-primary text-[11px] font-medium text-white px-2 py-0.5 rounded-[6px] whitespace-nowrap opacity-0 pointer-events-none group-hover:opacity-100 transition-opacity duration-150 z-[200]",children:i(l.tooltipKey)})]})}const v0={kanban:Qx,artifacts:Jx,chat:Fx,workflow:Px,mcp:e0,specs:a0,teams:l0,requirement:s0,supervisor:o0};function g0({icon:l}){const s=v0[l];return u.jsx(s,{size:18,strokeWidth:1.8})}function y0({process:l,isActive:s,onSelect:o}){const i=qp[l.type]??"var(--color-text-tertiary)",d=l.status==="running"||l.status==="spawning",m=l.id.startsWith("cli-history-");return u.jsx("span",{role:"listitem",title:`${l.type}${m?" — async delegate":""} — ${l.status}`,onClick:o,className:["relative w-2 h-2 rounded-full cursor-pointer transition-transform duration-150 hover:scale-[1.4]",s?"ring-2 ring-offset-2 ring-offset-bg-secondary":""].join(" "),style:{backgroundColor:d?i:"var(--color-text-placeholder)",color:i,...s?{boxShadow:`0 0 0 2px var(--color-bg-secondary), 0 0 0 3.5px ${i}`}:{}},children:d&&u.jsx("span",{className:"absolute inset-[-2px] rounded-full animate-[sdot-ping_2s_ease_infinite]",style:{background:i,opacity:.4}})})}function b0({phase:l,t:s}){return u.jsx("span",{role:"listitem","aria-label":s("dock.phase_dot_aria",{phase:l.phase,title:l.title,status:l.status}),className:"w-2 h-2 rounded-full cursor-pointer transition-transform duration-150 hover:scale-[1.4]",style:{backgroundColor:Hp[l.status]}})}function x0({process:l,isActive:s}){const o=qp[l.type]??"var(--color-text-tertiary)",i=Sl(p=>p.setActiveProcessId),d=di(),m=C0(l.startedAt),h=l.id.startsWith("cli-history-");return u.jsxs("button",{type:"button",onClick:()=>{i(l.id),d("/chat")},className:["flex items-center gap-2 px-2.5 py-1.5 rounded-[8px] text-left text-[12px] w-full","transition-all duration-150",s?"bg-bg-active":"hover:bg-bg-hover"].join(" "),children:[u.jsx("span",{className:"w-[7px] h-[7px] rounded-full shrink-0",style:{backgroundColor:o}}),u.jsx("span",{className:"flex-1 font-medium text-text-primary truncate",children:l.type}),h&&u.jsx("span",{className:"text-[9px] font-semibold px-[4px] py-[1px] rounded shrink-0",style:{backgroundColor:"var(--color-tint-exploring)",color:"var(--color-accent-blue)"},children:"ASYNC"}),u.jsx("span",{className:"text-[10px] text-text-placeholder shrink-0",children:m})]})}const S0=["flex items-center gap-2 px-2 py-1.5 rounded-[var(--radius-default)]","text-[length:var(--font-size-sm)] font-[var(--font-weight-medium)] w-full","transition-colors duration-[var(--duration-fast)] ease-[var(--ease-notion)]","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]"].join(" ");function E0({item:l,t:s}){return u.jsxs(Cx,{to:l.path,className:({isActive:o})=>`${S0} ${o?"bg-bg-active text-text-primary font-semibold":"text-text-secondary hover:text-text-primary hover:bg-bg-hover"}`,children:[u.jsx("span",{className:"truncate",children:s(l.labelKey)}),l.shortcut&&u.jsx("span",{className:"ml-auto text-[10px] text-text-placeholder",children:l.shortcut})]})}function _0({phase:l,selected:s,onSelect:o}){const i=Hp[l.status];return u.jsxs("button",{type:"button",onClick:o,"aria-current":s?"true":void 0,className:["flex items-center gap-[var(--spacing-2)] px-[var(--spacing-2)] py-[var(--spacing-1-5)] rounded-[var(--radius-default)] text-left text-[length:var(--font-size-sm)] font-[var(--font-weight-medium)] w-full","transition-all duration-[var(--duration-fast)] ease-[var(--ease-notion)]","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]","disabled:opacity-[var(--opacity-disabled)] disabled:pointer-events-none",s?"bg-bg-active text-text-primary border-l-2 border-l-accent-blue":"text-text-secondary hover:text-text-primary hover:bg-bg-hover"].join(" "),children:[u.jsx("span",{className:"w-2 h-2 rounded-full shrink-0","aria-hidden":"true",style:{backgroundColor:i}}),u.jsxs("span",{className:"truncate",children:[l.phase,". ",l.title]})]})}function C0(l){const s=Date.now()-new Date(l).getTime(),o=Math.floor(s/6e4);return o<1?"<1m":o<60?`${o}m`:`${Math.floor(o/60)}h`}const N0=["/supervisor"];function j0({children:l}){const{t:s}=gt(),{pathname:o}=Ea(),i=N0.some(d=>o.startsWith(d));return u.jsx("main",{role:"main","aria-label":s("accessibility.main_content"),className:i?"flex-1 overflow-hidden bg-bg-primary":"flex-1 overflow-y-auto bg-bg-primary p-[var(--spacing-4)] sm:p-[var(--spacing-4)] max-sm:p-[var(--spacing-2)]",children:l})}const su=_a((l,s)=>({slots:{},queue:[],supervisorStatus:null,commanderState:null,commanderConfig:null,recentDecisions:[],selectedIssueIds:new Set,cliPanelIssueId:null,addSlot:o=>l(i=>({slots:{...i.slots,[o.processId]:o}})),removeSlot:o=>l(i=>{const{[o]:d,...m}=i.slots;return{slots:m}}),setQueue:o=>l({queue:o}),setSupervisorStatus:o=>l({supervisorStatus:o,queue:o.queued}),setCommanderState:o=>l({commanderState:o}),setCommanderConfig:o=>l({commanderConfig:o}),fetchCommanderConfig:async()=>{try{const o=await fetch("/api/commander/config");if(o.ok){const i=await o.json();l({commanderConfig:i})}}catch{}},toggleSupervisor:async o=>{try{const i=await fetch("/api/execution/supervisor",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({enabled:o})});if(i.ok){const d=await i.json();d.status&&l({supervisorStatus:d.status})}}catch{}},addDecision:o=>l(i=>{const d=[...i.recentDecisions,o];return d.length>20&&d.shift(),{recentDecisions:d}}),toggleSelect:o=>l(i=>{const d=new Set(i.selectedIssueIds);return d.has(o)?d.delete(o):d.add(o),{selectedIssueIds:d}}),selectAll:o=>l({selectedIssueIds:new Set(o)}),clearSelection:()=>l({selectedIssueIds:new Set}),openCliPanel:o=>l({cliPanelIssueId:o}),closeCliPanel:()=>l({cliPanelIssueId:null}),getSlotForIssue:o=>{const i=s().slots;for(const d of Object.values(i))if(d.issueId===o)return d},isIssueRunning:o=>{const i=s().slots;return Object.values(i).some(d=>d.issueId===o)}})),Gp=_a(l=>({session:null,selectedStepIndex:null,clarificationQuestion:null,onStatus:s=>l({session:s}),onStep:s=>l(o=>{if(!o.session||o.session.sessionId!==s.sessionId)return o;const i=[...o.session.steps],d=i.findIndex(m=>m.index===s.step.index);return d>=0?i[d]=s.step:i.push(s.step),{session:{...o.session,steps:i}}}),onAnalysis:s=>l(o=>{if(!o.session||o.session.sessionId!==s.sessionId)return o;const i=s.steps.map((d,m)=>({index:m,cmd:d.cmd,args:d.args,status:"pending",processId:null,analysis:null,summary:null}));return{session:{...o.session,chainName:s.chainName,intent:s.intent,steps:i}}}),onClarificationNeeded:s=>l(o=>!o.session||o.session.sessionId!==s.sessionId?o:{clarificationQuestion:s.question}),start:(s,o,i)=>{nn({action:"coordinate:start",intent:s,tool:o,autoMode:i})},stop:()=>{nn({action:"coordinate:stop"})},resume:s=>{var i;const o=s??((i=Gp.getState().session)==null?void 0:i.sessionId);nn({action:"coordinate:resume",sessionId:o})},sendClarification:(s,o)=>{nn({action:"coordinate:clarify",sessionId:s,response:o}),l({clarificationQuestion:null})},selectStep:s=>l({selectedStepIndex:s})}));function Wh(l,s){const o=l.findIndex(i=>i.id===s.id);if(o>=0){const i=[...l];return i[o]=s,i}return[s,...l]}const T0=_a((l,s)=>({currentRequirement:null,history:[],isLoading:!1,error:null,progressMessage:null,committedResult:null,continueFrom:null,expand:(o,i,d)=>{const m=s().continueFrom;l({isLoading:!0,error:null,progressMessage:null,committedResult:null,continueFrom:null,currentRequirement:{id:"",status:"expanding",userInput:o,title:"",summary:"",items:[],depth:i??"standard",createdAt:new Date().toISOString(),updatedAt:new Date().toISOString()}});try{nn({action:"requirement:expand",text:o,depth:i,method:d??"sdk",...m?{previousRequirementId:m.id}:{}})}catch(h){l({isLoading:!1,error:h instanceof Error?h.message:String(h)})}},refine:o=>{const i=s().currentRequirement;if(i){l({isLoading:!0,error:null,progressMessage:null,currentRequirement:{...i,status:"expanding"}});try{nn({action:"requirement:refine",requirementId:i.id,feedback:o})}catch(d){l({isLoading:!1,error:d instanceof Error?d.message:String(d)})}}},commit:o=>{const i=s().currentRequirement;if(i){l({isLoading:!0,error:null,progressMessage:null,currentRequirement:{...i,status:"committing"}});try{nn({action:"requirement:commit",requirementId:i.id,mode:o})}catch(d){l({isLoading:!1,error:d instanceof Error?d.message:String(d)})}}},resetRequirement:()=>{l({currentRequirement:null,isLoading:!1,error:null,progressMessage:null,committedResult:null,continueFrom:null})},setContinueFrom:o=>{l({continueFrom:o})},loadHistory:o=>{const i=s().history.find(d=>d.id===o);i&&l({currentRequirement:i,isLoading:!1,error:null,progressMessage:null,committedResult:null})},fetchHistory:async()=>{try{const o=await fetch("/api/requirements");if(!o.ok)return;const i=await o.json();Array.isArray(i)&&i.length>0&&l({history:i})}catch{}},onProgress:o=>{l(i=>{const d=i.currentRequirement;if(!d)return i;const m=o.status==="failed";return{currentRequirement:{...d,status:o.status,...m&&o.message?{error:o.message}:{}},progressMessage:o.message??null,...m?{isLoading:!1,error:o.message??"Expansion failed"}:{}}})},onExpanded:o=>{l(i=>({currentRequirement:o.requirement,isLoading:!1,progressMessage:null,history:Wh(i.history,o.requirement)}))},onCommitted:o=>{l(i=>{const d=i.currentRequirement;if(!d||d.id!==o.requirementId)return i;const m={...d,status:"done"};return{currentRequirement:m,isLoading:!1,progressMessage:null,committedResult:{requirementId:o.requirementId,mode:o.mode,issueIds:o.issueIds,coordinateSessionId:o.coordinateSessionId},history:Wh(i.history,m)}})},onError:o=>{l(i=>{const d=i.currentRequirement;return{currentRequirement:d?{...d,status:"failed",error:o.error}:null,isLoading:!1,error:o.error,progressMessage:null}})},updateItem:(o,i)=>{l(d=>{const m=d.currentRequirement;return m?{currentRequirement:{...m,items:m.items.map(h=>h.id===o?{...h,...i}:h)}}:d})}})),Ph=1e3,w0=3e4;let Cr=null;function nn(l){Cr?Cr(l):console.warn("[WS] Cannot send — no active WebSocket connection")}function A0(){const l=y.useRef(null),s=y.useRef(null),o=y.useRef(Ph);y.useEffect(()=>{let i=!1;const{setBoard:d,updatePhase:m,updateTask:h,setConnected:p}=wt.getState(),{addProcess:b,removeProcess:g,updateProcessStatus:x,addEntry:S,setApproval:_,setProcessThought:C,setProcessStreaming:k,updateProcessTokenUsage:O}=Sl.getState(),{addSlot:z,removeSlot:U,setSupervisorStatus:Z,setCommanderState:Q,addDecision:I}=su.getState(),{onStatus:se,onStep:V,onAnalysis:H,onClarificationNeeded:X}=Gp.getState(),{fetchIssues:ue,patchIssue:De}=ru.getState(),{onProgress:Be,onExpanded:Re,onCommitted:At,onError:ot}=T0.getState();function Ge(){if(i)return;const M=window.location.protocol==="https:"?"wss:":"ws:",K=new WebSocket(`${M}//${window.location.host}/ws`);l.current=K,Cr=F=>{K.readyState===WebSocket.OPEN&&K.send(JSON.stringify(F))},K.onopen=()=>{p(!0),o.current=Ph,fetch("/api/board").then(F=>F.ok?F.json():null).then(F=>{F&&d(F)}).catch(()=>{}),fetch("/api/agents").then(F=>F.ok?F.json():null).then(F=>{if(Array.isArray(F))for(const te of F){const L=te;b(L),fetch(`/api/agents/${encodeURIComponent(L.id)}/entries`).then(N=>N.ok?N.json():null).then(N=>{if(Array.isArray(N))for(const G of N)S(L.id,G)}).catch(()=>{})}}).catch(()=>{})},K.onmessage=F=>{let te;try{te=JSON.parse(F.data)}catch{console.warn("[WS] Failed to parse message",F.data);return}switch(te.type){case Oe.BOARD_FULL:d(te.data);break;case Oe.PHASE_UPDATED:{const L=te.data;m(L.phase,L);break}case Oe.TASK_UPDATED:{const L=te.data;L.id&&h(L.id,L);break}case Oe.PROJECT_UPDATED:{const L=te.data,N=wt.getState().board;N&&d({...N,project:L});break}case Oe.HEARTBEAT:case Oe.CONNECTED:break;case Oe.AGENT_SPAWNED:b(te.data);break;case Oe.AGENT_ENTRY:{const L=te.data;if(S(L.processId,L),L.type==="token_usage"){const N=L;O(N.processId,N.inputTokens,N.outputTokens,N.cacheReadTokens??0,N.cacheWriteTokens??0)}break}case Oe.AGENT_APPROVAL:_(te.data);break;case Oe.AGENT_STATUS:{const L=te.data;x(L.processId,L.status);break}case Oe.AGENT_STOPPED:{const L=te.data;x(L.processId,"stopped");break}case Oe.AGENT_THOUGHT:{const L=te.data;C(L.processId,L.thought);break}case Oe.AGENT_STREAMING:{const L=te.data;k(L.processId,L.streaming);break}case Oe.EXECUTION_STARTED:{const L=te.data;z({issueId:L.issueId,processId:L.processId,executor:L.executor,startedAt:new Date().toISOString(),lastActivityAt:new Date().toISOString(),turnNumber:1,maxTurns:3}),L.issue?De(L.issue):ue();break}case Oe.EXECUTION_COMPLETED:{const L=te.data;U(L.processId),L.issue?De(L.issue):ue();break}case Oe.EXECUTION_FAILED:{const L=te.data;U(L.processId),L.issue?De(L.issue):ue();break}case Oe.SUPERVISOR_STATUS:case Oe.EXECUTION_SCHEDULER_STATUS:{const L=te.data;Z(L);break}case Oe.COMMANDER_STATUS:{const L=te.data;Q(L);break}case Oe.COMMANDER_DECISION:{const L=te.data;I(L);break}case Oe.COORDINATE_STATUS:{const L=te.data;se(L.session);break}case Oe.COORDINATE_STEP:{const L=te.data;V(L);break}case Oe.COORDINATE_ANALYSIS:{const L=te.data;H(L);break}case Oe.COORDINATE_CLARIFICATION_NEEDED:{const L=te.data;X(L);break}case Oe.REQUIREMENT_PROGRESS:Be(te.data);break;case Oe.REQUIREMENT_EXPANDED:Re(te.data);break;case Oe.REQUIREMENT_COMMITTED:At(te.data);break}},K.onclose=()=>{if(i)return;p(!1),l.current=null,Cr=null;const F=o.current;o.current=Math.min(F*2,w0),s.current=setTimeout(Ge,F)},K.onerror=()=>{}}return Ge(),()=>{i=!0,Cr=null,s.current&&clearTimeout(s.current),l.current&&(l.current.onopen=null,l.current.onmessage=null,l.current.onerror=null,l.current.onclose=null,l.current.close(),l.current=null),p(!1)}},[])}function rn(l,s,{checkForDefaultPrevented:o=!0}={}){return function(d){if(l==null||l(d),o===!1||!d.defaultPrevented)return s==null?void 0:s(d)}}function $h(l,s){if(typeof l=="function")return l(s);l!=null&&(l.current=s)}function pu(...l){return s=>{let o=!1;const i=l.map(d=>{const m=$h(d,s);return!o&&typeof m=="function"&&(o=!0),m});if(o)return()=>{for(let d=0;d<i.length;d++){const m=i[d];typeof m=="function"?m():$h(l[d],null)}}}}function An(...l){return y.useCallback(pu(...l),l)}function O0(l,s){const o=y.createContext(s),i=m=>{const{children:h,...p}=m,b=y.useMemo(()=>p,Object.values(p));return u.jsx(o.Provider,{value:b,children:h})};i.displayName=l+"Provider";function d(m){const h=y.useContext(o);if(h)return h;if(s!==void 0)return s;throw new Error(`\`${m}\` must be used within \`${l}\``)}return[i,d]}function D0(l,s=[]){let o=[];function i(m,h){const p=y.createContext(h),b=o.length;o=[...o,h];const g=S=>{var U;const{scope:_,children:C,...k}=S,O=((U=_==null?void 0:_[l])==null?void 0:U[b])||p,z=y.useMemo(()=>k,Object.values(k));return u.jsx(O.Provider,{value:z,children:C})};g.displayName=m+"Provider";function x(S,_){var O;const C=((O=_==null?void 0:_[l])==null?void 0:O[b])||p,k=y.useContext(C);if(k)return k;if(h!==void 0)return h;throw new Error(`\`${S}\` must be used within \`${m}\``)}return[g,x]}const d=()=>{const m=o.map(h=>y.createContext(h));return function(p){const b=(p==null?void 0:p[l])||m;return y.useMemo(()=>({[`__scope${l}`]:{...p,[l]:b}}),[p,b])}};return d.scopeName=l,[i,z0(d,...s)]}function z0(...l){const s=l[0];if(l.length===1)return s;const o=()=>{const i=l.map(d=>({useScope:d(),scopeName:d.scopeName}));return function(m){const h=i.reduce((p,{useScope:b,scopeName:g})=>{const S=b(m)[`__scope${g}`];return{...p,...S}},{});return y.useMemo(()=>({[`__scope${s.scopeName}`]:h}),[h])}};return o.scopeName=s.scopeName,o}var Tr=globalThis!=null&&globalThis.document?y.useLayoutEffect:()=>{},k0=du[" useId ".trim().toString()]||(()=>{}),R0=0;function Kc(l){const[s,o]=y.useState(k0());return Tr(()=>{o(i=>i??String(R0++))},[l]),l||(s?`radix-${s}`:"")}var M0=du[" useInsertionEffect ".trim().toString()]||Tr;function U0({prop:l,defaultProp:s,onChange:o=()=>{},caller:i}){const[d,m,h]=L0({defaultProp:s,onChange:o}),p=l!==void 0,b=p?l:d;{const x=y.useRef(l!==void 0);y.useEffect(()=>{const S=x.current;S!==p&&console.warn(`${i} is changing from ${S?"controlled":"uncontrolled"} to ${p?"controlled":"uncontrolled"}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`),x.current=p},[p,i])}const g=y.useCallback(x=>{var S;if(p){const _=B0(x)?x(l):x;_!==l&&((S=h.current)==null||S.call(h,_))}else m(x)},[p,l,m,h]);return[b,g]}function L0({defaultProp:l,onChange:s}){const[o,i]=y.useState(l),d=y.useRef(o),m=y.useRef(s);return M0(()=>{m.current=s},[s]),y.useEffect(()=>{var h;d.current!==o&&((h=m.current)==null||h.call(m,o),d.current=o)},[o,d]),[o,i,m]}function B0(l){return typeof l=="function"}function H0(l){const s=q0(l),o=y.forwardRef((i,d)=>{const{children:m,...h}=i,p=y.Children.toArray(m),b=p.find(Y0);if(b){const g=b.props.children,x=p.map(S=>S===b?y.Children.count(g)>1?y.Children.only(null):y.isValidElement(g)?g.props.children:null:S);return u.jsx(s,{...h,ref:d,children:y.isValidElement(g)?y.cloneElement(g,void 0,x):null})}return u.jsx(s,{...h,ref:d,children:m})});return o.displayName=`${l}.Slot`,o}function q0(l){const s=y.forwardRef((o,i)=>{const{children:d,...m}=o;if(y.isValidElement(d)){const h=X0(d),p=V0(m,d.props);return d.type!==y.Fragment&&(p.ref=i?pu(i,h):h),y.cloneElement(d,p)}return y.Children.count(d)>1?y.Children.only(null):null});return s.displayName=`${l}.SlotClone`,s}var G0=Symbol("radix.slottable");function Y0(l){return y.isValidElement(l)&&typeof l.type=="function"&&"__radixId"in l.type&&l.type.__radixId===G0}function V0(l,s){const o={...s};for(const i in s){const d=l[i],m=s[i];/^on[A-Z]/.test(i)?d&&m?o[i]=(...p)=>{const b=m(...p);return d(...p),b}:d&&(o[i]=d):i==="style"?o[i]={...d,...m}:i==="className"&&(o[i]=[d,m].filter(Boolean).join(" "))}return{...l,...o}}function X0(l){var i,d;let s=(i=Object.getOwnPropertyDescriptor(l.props,"ref"))==null?void 0:i.get,o=s&&"isReactWarning"in s&&s.isReactWarning;return o?l.ref:(s=(d=Object.getOwnPropertyDescriptor(l,"ref"))==null?void 0:d.get,o=s&&"isReactWarning"in s&&s.isReactWarning,o?l.props.ref:l.props.ref||l.ref)}var K0=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"],Ca=K0.reduce((l,s)=>{const o=H0(`Primitive.${s}`),i=y.forwardRef((d,m)=>{const{asChild:h,...p}=d,b=h?o:s;return typeof window<"u"&&(window[Symbol.for("radix-ui")]=!0),u.jsx(b,{...p,ref:m})});return i.displayName=`Primitive.${s}`,{...l,[s]:i}},{});function Q0(l,s){l&&Ep.flushSync(()=>l.dispatchEvent(s))}function wr(l){const s=y.useRef(l);return y.useEffect(()=>{s.current=l}),y.useMemo(()=>(...o)=>{var i;return(i=s.current)==null?void 0:i.call(s,...o)},[])}function Z0(l,s=globalThis==null?void 0:globalThis.document){const o=wr(l);y.useEffect(()=>{const i=d=>{d.key==="Escape"&&o(d)};return s.addEventListener("keydown",i,{capture:!0}),()=>s.removeEventListener("keydown",i,{capture:!0})},[o,s])}var J0="DismissableLayer",iu="dismissableLayer.update",I0="dismissableLayer.pointerDownOutside",F0="dismissableLayer.focusOutside",ep,Yp=y.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),Vp=y.forwardRef((l,s)=>{const{disableOutsidePointerEvents:o=!1,onEscapeKeyDown:i,onPointerDownOutside:d,onFocusOutside:m,onInteractOutside:h,onDismiss:p,...b}=l,g=y.useContext(Yp),[x,S]=y.useState(null),_=(x==null?void 0:x.ownerDocument)??(globalThis==null?void 0:globalThis.document),[,C]=y.useState({}),k=An(s,H=>S(H)),O=Array.from(g.layers),[z]=[...g.layersWithOutsidePointerEventsDisabled].slice(-1),U=O.indexOf(z),Z=x?O.indexOf(x):-1,Q=g.layersWithOutsidePointerEventsDisabled.size>0,I=Z>=U,se=$0(H=>{const X=H.target,ue=[...g.branches].some(De=>De.contains(X));!I||ue||(d==null||d(H),h==null||h(H),H.defaultPrevented||p==null||p())},_),V=e1(H=>{const X=H.target;[...g.branches].some(De=>De.contains(X))||(m==null||m(H),h==null||h(H),H.defaultPrevented||p==null||p())},_);return Z0(H=>{Z===g.layers.size-1&&(i==null||i(H),!H.defaultPrevented&&p&&(H.preventDefault(),p()))},_),y.useEffect(()=>{if(x)return o&&(g.layersWithOutsidePointerEventsDisabled.size===0&&(ep=_.body.style.pointerEvents,_.body.style.pointerEvents="none"),g.layersWithOutsidePointerEventsDisabled.add(x)),g.layers.add(x),tp(),()=>{o&&g.layersWithOutsidePointerEventsDisabled.size===1&&(_.body.style.pointerEvents=ep)}},[x,_,o,g]),y.useEffect(()=>()=>{x&&(g.layers.delete(x),g.layersWithOutsidePointerEventsDisabled.delete(x),tp())},[x,g]),y.useEffect(()=>{const H=()=>C({});return document.addEventListener(iu,H),()=>document.removeEventListener(iu,H)},[]),u.jsx(Ca.div,{...b,ref:k,style:{pointerEvents:Q?I?"auto":"none":void 0,...l.style},onFocusCapture:rn(l.onFocusCapture,V.onFocusCapture),onBlurCapture:rn(l.onBlurCapture,V.onBlurCapture),onPointerDownCapture:rn(l.onPointerDownCapture,se.onPointerDownCapture)})});Vp.displayName=J0;var W0="DismissableLayerBranch",P0=y.forwardRef((l,s)=>{const o=y.useContext(Yp),i=y.useRef(null),d=An(s,i);return y.useEffect(()=>{const m=i.current;if(m)return o.branches.add(m),()=>{o.branches.delete(m)}},[o.branches]),u.jsx(Ca.div,{...l,ref:d})});P0.displayName=W0;function $0(l,s=globalThis==null?void 0:globalThis.document){const o=wr(l),i=y.useRef(!1),d=y.useRef(()=>{});return y.useEffect(()=>{const m=p=>{if(p.target&&!i.current){let b=function(){Xp(I0,o,g,{discrete:!0})};const g={originalEvent:p};p.pointerType==="touch"?(s.removeEventListener("click",d.current),d.current=b,s.addEventListener("click",d.current,{once:!0})):b()}else s.removeEventListener("click",d.current);i.current=!1},h=window.setTimeout(()=>{s.addEventListener("pointerdown",m)},0);return()=>{window.clearTimeout(h),s.removeEventListener("pointerdown",m),s.removeEventListener("click",d.current)}},[s,o]),{onPointerDownCapture:()=>i.current=!0}}function e1(l,s=globalThis==null?void 0:globalThis.document){const o=wr(l),i=y.useRef(!1);return y.useEffect(()=>{const d=m=>{m.target&&!i.current&&Xp(F0,o,{originalEvent:m},{discrete:!1})};return s.addEventListener("focusin",d),()=>s.removeEventListener("focusin",d)},[s,o]),{onFocusCapture:()=>i.current=!0,onBlurCapture:()=>i.current=!1}}function tp(){const l=new CustomEvent(iu);document.dispatchEvent(l)}function Xp(l,s,o,{discrete:i}){const d=o.originalEvent.target,m=new CustomEvent(l,{bubbles:!1,cancelable:!0,detail:o});s&&d.addEventListener(l,s,{once:!0}),i?Q0(d,m):d.dispatchEvent(m)}var Qc="focusScope.autoFocusOnMount",Zc="focusScope.autoFocusOnUnmount",ap={bubbles:!1,cancelable:!0},t1="FocusScope",Kp=y.forwardRef((l,s)=>{const{loop:o=!1,trapped:i=!1,onMountAutoFocus:d,onUnmountAutoFocus:m,...h}=l,[p,b]=y.useState(null),g=wr(d),x=wr(m),S=y.useRef(null),_=An(s,O=>b(O)),C=y.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;y.useEffect(()=>{if(i){let O=function(Q){if(C.paused||!p)return;const I=Q.target;p.contains(I)?S.current=I:en(S.current,{select:!0})},z=function(Q){if(C.paused||!p)return;const I=Q.relatedTarget;I!==null&&(p.contains(I)||en(S.current,{select:!0}))},U=function(Q){if(document.activeElement===document.body)for(const se of Q)se.removedNodes.length>0&&en(p)};document.addEventListener("focusin",O),document.addEventListener("focusout",z);const Z=new MutationObserver(U);return p&&Z.observe(p,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",O),document.removeEventListener("focusout",z),Z.disconnect()}}},[i,p,C.paused]),y.useEffect(()=>{if(p){lp.add(C);const O=document.activeElement;if(!p.contains(O)){const U=new CustomEvent(Qc,ap);p.addEventListener(Qc,g),p.dispatchEvent(U),U.defaultPrevented||(a1(i1(Qp(p)),{select:!0}),document.activeElement===O&&en(p))}return()=>{p.removeEventListener(Qc,g),setTimeout(()=>{const U=new CustomEvent(Zc,ap);p.addEventListener(Zc,x),p.dispatchEvent(U),U.defaultPrevented||en(O??document.body,{select:!0}),p.removeEventListener(Zc,x),lp.remove(C)},0)}}},[p,g,x,C]);const k=y.useCallback(O=>{if(!o&&!i||C.paused)return;const z=O.key==="Tab"&&!O.altKey&&!O.ctrlKey&&!O.metaKey,U=document.activeElement;if(z&&U){const Z=O.currentTarget,[Q,I]=n1(Z);Q&&I?!O.shiftKey&&U===I?(O.preventDefault(),o&&en(Q,{select:!0})):O.shiftKey&&U===Q&&(O.preventDefault(),o&&en(I,{select:!0})):U===Z&&O.preventDefault()}},[o,i,C.paused]);return u.jsx(Ca.div,{tabIndex:-1,...h,ref:_,onKeyDown:k})});Kp.displayName=t1;function a1(l,{select:s=!1}={}){const o=document.activeElement;for(const i of l)if(en(i,{select:s}),document.activeElement!==o)return}function n1(l){const s=Qp(l),o=np(s,l),i=np(s.reverse(),l);return[o,i]}function Qp(l){const s=[],o=document.createTreeWalker(l,NodeFilter.SHOW_ELEMENT,{acceptNode:i=>{const d=i.tagName==="INPUT"&&i.type==="hidden";return i.disabled||i.hidden||d?NodeFilter.FILTER_SKIP:i.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;o.nextNode();)s.push(o.currentNode);return s}function np(l,s){for(const o of l)if(!l1(o,{upTo:s}))return o}function l1(l,{upTo:s}){if(getComputedStyle(l).visibility==="hidden")return!0;for(;l;){if(s!==void 0&&l===s)return!1;if(getComputedStyle(l).display==="none")return!0;l=l.parentElement}return!1}function r1(l){return l instanceof HTMLInputElement&&"select"in l}function en(l,{select:s=!1}={}){if(l&&l.focus){const o=document.activeElement;l.focus({preventScroll:!0}),l!==o&&r1(l)&&s&&l.select()}}var lp=s1();function s1(){let l=[];return{add(s){const o=l[0];s!==o&&(o==null||o.pause()),l=rp(l,s),l.unshift(s)},remove(s){var o;l=rp(l,s),(o=l[0])==null||o.resume()}}}function rp(l,s){const o=[...l],i=o.indexOf(s);return i!==-1&&o.splice(i,1),o}function i1(l){return l.filter(s=>s.tagName!=="A")}var o1="Portal",Zp=y.forwardRef((l,s)=>{var p;const{container:o,...i}=l,[d,m]=y.useState(!1);Tr(()=>m(!0),[]);const h=o||d&&((p=globalThis==null?void 0:globalThis.document)==null?void 0:p.body);return h?xb.createPortal(u.jsx(Ca.div,{...i,ref:s}),h):null});Zp.displayName=o1;function c1(l,s){return y.useReducer((o,i)=>s[o][i]??o,l)}var mi=l=>{const{present:s,children:o}=l,i=u1(s),d=typeof o=="function"?o({present:i.isPresent}):y.Children.only(o),m=An(i.ref,d1(d));return typeof o=="function"||i.isPresent?y.cloneElement(d,{ref:m}):null};mi.displayName="Presence";function u1(l){const[s,o]=y.useState(),i=y.useRef(null),d=y.useRef(l),m=y.useRef("none"),h=l?"mounted":"unmounted",[p,b]=c1(h,{mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}});return y.useEffect(()=>{const g=Zs(i.current);m.current=p==="mounted"?g:"none"},[p]),Tr(()=>{const g=i.current,x=d.current;if(x!==l){const _=m.current,C=Zs(g);l?b("MOUNT"):C==="none"||(g==null?void 0:g.display)==="none"?b("UNMOUNT"):b(x&&_!==C?"ANIMATION_OUT":"UNMOUNT"),d.current=l}},[l,b]),Tr(()=>{if(s){let g;const x=s.ownerDocument.defaultView??window,S=C=>{const O=Zs(i.current).includes(CSS.escape(C.animationName));if(C.target===s&&O&&(b("ANIMATION_END"),!d.current)){const z=s.style.animationFillMode;s.style.animationFillMode="forwards",g=x.setTimeout(()=>{s.style.animationFillMode==="forwards"&&(s.style.animationFillMode=z)})}},_=C=>{C.target===s&&(m.current=Zs(i.current))};return s.addEventListener("animationstart",_),s.addEventListener("animationcancel",S),s.addEventListener("animationend",S),()=>{x.clearTimeout(g),s.removeEventListener("animationstart",_),s.removeEventListener("animationcancel",S),s.removeEventListener("animationend",S)}}else b("ANIMATION_END")},[s,b]),{isPresent:["mounted","unmountSuspended"].includes(p),ref:y.useCallback(g=>{i.current=g?getComputedStyle(g):null,o(g)},[])}}function Zs(l){return(l==null?void 0:l.animationName)||"none"}function d1(l){var i,d;let s=(i=Object.getOwnPropertyDescriptor(l.props,"ref"))==null?void 0:i.get,o=s&&"isReactWarning"in s&&s.isReactWarning;return o?l.ref:(s=(d=Object.getOwnPropertyDescriptor(l,"ref"))==null?void 0:d.get,o=s&&"isReactWarning"in s&&s.isReactWarning,o?l.props.ref:l.props.ref||l.ref)}var Jc=0;function f1(){y.useEffect(()=>{const l=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",l[0]??sp()),document.body.insertAdjacentElement("beforeend",l[1]??sp()),Jc++,()=>{Jc===1&&document.querySelectorAll("[data-radix-focus-guard]").forEach(s=>s.remove()),Jc--}},[])}function sp(){const l=document.createElement("span");return l.setAttribute("data-radix-focus-guard",""),l.tabIndex=0,l.style.outline="none",l.style.opacity="0",l.style.position="fixed",l.style.pointerEvents="none",l}var $t=function(){return $t=Object.assign||function(s){for(var o,i=1,d=arguments.length;i<d;i++){o=arguments[i];for(var m in o)Object.prototype.hasOwnProperty.call(o,m)&&(s[m]=o[m])}return s},$t.apply(this,arguments)};function Jp(l,s){var o={};for(var i in l)Object.prototype.hasOwnProperty.call(l,i)&&s.indexOf(i)<0&&(o[i]=l[i]);if(l!=null&&typeof Object.getOwnPropertySymbols=="function")for(var d=0,i=Object.getOwnPropertySymbols(l);d<i.length;d++)s.indexOf(i[d])<0&&Object.prototype.propertyIsEnumerable.call(l,i[d])&&(o[i[d]]=l[i[d]]);return o}function m1(l,s,o){if(o||arguments.length===2)for(var i=0,d=s.length,m;i<d;i++)(m||!(i in s))&&(m||(m=Array.prototype.slice.call(s,0,i)),m[i]=s[i]);return l.concat(m||Array.prototype.slice.call(s))}var ai="right-scroll-bar-position",ni="width-before-scroll-bar",h1="with-scroll-bars-hidden",p1="--removed-body-scroll-bar-size";function Ic(l,s){return typeof l=="function"?l(s):l&&(l.current=s),l}function v1(l,s){var o=y.useState(function(){return{value:l,callback:s,facade:{get current(){return o.value},set current(i){var d=o.value;d!==i&&(o.value=i,o.callback(i,d))}}}})[0];return o.callback=s,o.facade}var g1=typeof window<"u"?y.useLayoutEffect:y.useEffect,ip=new WeakMap;function y1(l,s){var o=v1(null,function(i){return l.forEach(function(d){return Ic(d,i)})});return g1(function(){var i=ip.get(o);if(i){var d=new Set(i),m=new Set(l),h=o.current;d.forEach(function(p){m.has(p)||Ic(p,null)}),m.forEach(function(p){d.has(p)||Ic(p,h)})}ip.set(o,l)},[l]),o}function b1(l){return l}function x1(l,s){s===void 0&&(s=b1);var o=[],i=!1,d={read:function(){if(i)throw new Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return o.length?o[o.length-1]:l},useMedium:function(m){var h=s(m,i);return o.push(h),function(){o=o.filter(function(p){return p!==h})}},assignSyncMedium:function(m){for(i=!0;o.length;){var h=o;o=[],h.forEach(m)}o={push:function(p){return m(p)},filter:function(){return o}}},assignMedium:function(m){i=!0;var h=[];if(o.length){var p=o;o=[],p.forEach(m),h=o}var b=function(){var x=h;h=[],x.forEach(m)},g=function(){return Promise.resolve().then(b)};g(),o={push:function(x){h.push(x),g()},filter:function(x){return h=h.filter(x),o}}}};return d}function S1(l){l===void 0&&(l={});var s=x1(null);return s.options=$t({async:!0,ssr:!1},l),s}var Ip=function(l){var s=l.sideCar,o=Jp(l,["sideCar"]);if(!s)throw new Error("Sidecar: please provide `sideCar` property to import the right car");var i=s.read();if(!i)throw new Error("Sidecar medium not found");return y.createElement(i,$t({},o))};Ip.isSideCarExport=!0;function E1(l,s){return l.useMedium(s),Ip}var Fp=S1(),Fc=function(){},hi=y.forwardRef(function(l,s){var o=y.useRef(null),i=y.useState({onScrollCapture:Fc,onWheelCapture:Fc,onTouchMoveCapture:Fc}),d=i[0],m=i[1],h=l.forwardProps,p=l.children,b=l.className,g=l.removeScrollBar,x=l.enabled,S=l.shards,_=l.sideCar,C=l.noRelative,k=l.noIsolation,O=l.inert,z=l.allowPinchZoom,U=l.as,Z=U===void 0?"div":U,Q=l.gapMode,I=Jp(l,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),se=_,V=y1([o,s]),H=$t($t({},I),d);return y.createElement(y.Fragment,null,x&&y.createElement(se,{sideCar:Fp,removeScrollBar:g,shards:S,noRelative:C,noIsolation:k,inert:O,setCallbacks:m,allowPinchZoom:!!z,lockRef:o,gapMode:Q}),h?y.cloneElement(y.Children.only(p),$t($t({},H),{ref:V})):y.createElement(Z,$t({},H,{className:b,ref:V}),p))});hi.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1};hi.classNames={fullWidth:ni,zeroRight:ai};var _1=function(){if(typeof __webpack_nonce__<"u")return __webpack_nonce__};function C1(){if(!document)return null;var l=document.createElement("style");l.type="text/css";var s=_1();return s&&l.setAttribute("nonce",s),l}function N1(l,s){l.styleSheet?l.styleSheet.cssText=s:l.appendChild(document.createTextNode(s))}function j1(l){var s=document.head||document.getElementsByTagName("head")[0];s.appendChild(l)}var T1=function(){var l=0,s=null;return{add:function(o){l==0&&(s=C1())&&(N1(s,o),j1(s)),l++},remove:function(){l--,!l&&s&&(s.parentNode&&s.parentNode.removeChild(s),s=null)}}},w1=function(){var l=T1();return function(s,o){y.useEffect(function(){return l.add(s),function(){l.remove()}},[s&&o])}},Wp=function(){var l=w1(),s=function(o){var i=o.styles,d=o.dynamic;return l(i,d),null};return s},A1={left:0,top:0,right:0,gap:0},Wc=function(l){return parseInt(l||"",10)||0},O1=function(l){var s=window.getComputedStyle(document.body),o=s[l==="padding"?"paddingLeft":"marginLeft"],i=s[l==="padding"?"paddingTop":"marginTop"],d=s[l==="padding"?"paddingRight":"marginRight"];return[Wc(o),Wc(i),Wc(d)]},D1=function(l){if(l===void 0&&(l="margin"),typeof window>"u")return A1;var s=O1(l),o=document.documentElement.clientWidth,i=window.innerWidth;return{left:s[0],top:s[1],right:s[2],gap:Math.max(0,i-o+s[2]-s[0])}},z1=Wp(),El="data-scroll-locked",k1=function(l,s,o,i){var d=l.left,m=l.top,h=l.right,p=l.gap;return o===void 0&&(o="margin"),`
|
|
173
173
|
.`.concat(h1,` {
|
|
174
174
|
overflow: hidden `).concat(i,`;
|
|
175
175
|
padding-right: `).concat(p,"px ").concat(i,`;
|
|
@@ -213,4 +213,4 @@ Error generating stack: `+n.message+`
|
|
|
213
213
|
|
|
214
214
|
If you want to hide the \`${s.titleName}\`, you can wrap it with our VisuallyHidden component.
|
|
215
215
|
|
|
216
|
-
For more information, see https://radix-ui.com/primitives/docs/components/${s.docsSlug}`;return y.useEffect(()=>{l&&(document.getElementById(l)||console.error(o))},[o,l]),null},hS="DialogDescriptionWarning",pS=({contentRef:l,descriptionId:s})=>{const i=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${vv(hS).contentName}}.`;return y.useEffect(()=>{var m;const d=(m=l.current)==null?void 0:m.getAttribute("aria-describedby");s&&d&&(document.getElementById(s)||console.warn(i))},[i,l,s]),null},vS=lv,gS=iv,yS=ov,bS=cv,xS=dv,SS=hv;const gv="maestro-ui-prefs";function yv(){try{const l=localStorage.getItem(gv);return l?JSON.parse(l):{}}catch{return{}}}function $c(l){try{localStorage.setItem(gv,JSON.stringify({...yv(),...l}))}catch{}}const li=yv(),bl=_a(l=>({createModalStyle:li.createModalStyle??2,detailModalStyle:li.detailModalStyle??1,stylePreset:li.stylePreset??"default",setCreateModalStyle:s=>{l({createModalStyle:s}),$c({createModalStyle:s})},setDetailModalStyle:s=>{l({detailModalStyle:s}),$c({detailModalStyle:s})},setStylePreset:s=>{l({stylePreset:s}),$c({stylePreset:s}),document.documentElement.dataset.style=s}}));document.documentElement.dataset.style=li.stylePreset??"default";function bv(l){var s,o,i="";if(typeof l=="string"||typeof l=="number")i+=l;else if(typeof l=="object")if(Array.isArray(l)){var d=l.length;for(s=0;s<d;s++)l[s]&&(o=bv(l[s]))&&(i&&(i+=" "),i+=o)}else for(o in l)l[o]&&(i&&(i+=" "),i+=o);return i}function ES(){for(var l,s,o=0,i="",d=arguments.length;o<d;o++)(l=arguments[o])&&(s=bv(l))&&(i&&(i+=" "),i+=s);return i}const _S=(l,s)=>{const o=new Array(l.length+s.length);for(let i=0;i<l.length;i++)o[i]=l[i];for(let i=0;i<s.length;i++)o[l.length+i]=s[i];return o},CS=(l,s)=>({classGroupId:l,validator:s}),xv=(l=new Map,s=null,o)=>({nextPart:l,validators:s,classGroupId:o}),oi="-",fp=[],NS="arbitrary..",jS=l=>{const s=wS(l),{conflictingClassGroups:o,conflictingClassGroupModifiers:i}=l;return{getClassGroupId:h=>{if(h.startsWith("[")&&h.endsWith("]"))return TS(h);const p=h.split(oi),b=p[0]===""&&p.length>1?1:0;return Sv(p,b,s)},getConflictingClassGroupIds:(h,p)=>{if(p){const b=i[h],g=o[h];return b?g?_S(g,b):b:g||fp}return o[h]||fp}}},Sv=(l,s,o)=>{if(l.length-s===0)return o.classGroupId;const d=l[s],m=o.nextPart.get(d);if(m){const g=Sv(l,s+1,m);if(g)return g}const h=o.validators;if(h===null)return;const p=s===0?l.join(oi):l.slice(s).join(oi),b=h.length;for(let g=0;g<b;g++){const x=h[g];if(x.validator(p))return x.classGroupId}},TS=l=>l.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const s=l.slice(1,-1),o=s.indexOf(":"),i=s.slice(0,o);return i?NS+i:void 0})(),wS=l=>{const{theme:s,classGroups:o}=l;return AS(o,s)},AS=(l,s)=>{const o=xv();for(const i in l){const d=l[i];bu(d,o,i,s)}return o},bu=(l,s,o,i)=>{const d=l.length;for(let m=0;m<d;m++){const h=l[m];OS(h,s,o,i)}},OS=(l,s,o,i)=>{if(typeof l=="string"){DS(l,s,o);return}if(typeof l=="function"){zS(l,s,o,i);return}kS(l,s,o,i)},DS=(l,s,o)=>{const i=l===""?s:Ev(s,l);i.classGroupId=o},zS=(l,s,o,i)=>{if(RS(l)){bu(l(i),s,o,i);return}s.validators===null&&(s.validators=[]),s.validators.push(CS(o,l))},kS=(l,s,o,i)=>{const d=Object.entries(l),m=d.length;for(let h=0;h<m;h++){const[p,b]=d[h];bu(b,Ev(s,p),o,i)}},Ev=(l,s)=>{let o=l;const i=s.split(oi),d=i.length;for(let m=0;m<d;m++){const h=i[m];let p=o.nextPart.get(h);p||(p=xv(),o.nextPart.set(h,p)),o=p}return o},RS=l=>"isThemeGetter"in l&&l.isThemeGetter===!0,MS=l=>{if(l<1)return{get:()=>{},set:()=>{}};let s=0,o=Object.create(null),i=Object.create(null);const d=(m,h)=>{o[m]=h,s++,s>l&&(s=0,i=o,o=Object.create(null))};return{get(m){let h=o[m];if(h!==void 0)return h;if((h=i[m])!==void 0)return d(m,h),h},set(m,h){m in o?o[m]=h:d(m,h)}}},cu="!",mp=":",US=[],hp=(l,s,o,i,d)=>({modifiers:l,hasImportantModifier:s,baseClassName:o,maybePostfixModifierPosition:i,isExternal:d}),LS=l=>{const{prefix:s,experimentalParseClassName:o}=l;let i=d=>{const m=[];let h=0,p=0,b=0,g;const x=d.length;for(let O=0;O<x;O++){const z=d[O];if(h===0&&p===0){if(z===mp){m.push(d.slice(b,O)),b=O+1;continue}if(z==="/"){g=O;continue}}z==="["?h++:z==="]"?h--:z==="("?p++:z===")"&&p--}const S=m.length===0?d:d.slice(b);let _=S,C=!1;S.endsWith(cu)?(_=S.slice(0,-1),C=!0):S.startsWith(cu)&&(_=S.slice(1),C=!0);const k=g&&g>b?g-b:void 0;return hp(m,C,_,k)};if(s){const d=s+mp,m=i;i=h=>h.startsWith(d)?m(h.slice(d.length)):hp(US,!1,h,void 0,!0)}if(o){const d=i;i=m=>o({className:m,parseClassName:d})}return i},BS=l=>{const s=new Map;return l.orderSensitiveModifiers.forEach((o,i)=>{s.set(o,1e6+i)}),o=>{const i=[];let d=[];for(let m=0;m<o.length;m++){const h=o[m],p=h[0]==="[",b=s.has(h);p||b?(d.length>0&&(d.sort(),i.push(...d),d=[]),i.push(h)):d.push(h)}return d.length>0&&(d.sort(),i.push(...d)),i}},HS=l=>({cache:MS(l.cacheSize),parseClassName:LS(l),sortModifiers:BS(l),...jS(l)}),qS=/\s+/,GS=(l,s)=>{const{parseClassName:o,getClassGroupId:i,getConflictingClassGroupIds:d,sortModifiers:m}=s,h=[],p=l.trim().split(qS);let b="";for(let g=p.length-1;g>=0;g-=1){const x=p[g],{isExternal:S,modifiers:_,hasImportantModifier:C,baseClassName:k,maybePostfixModifierPosition:O}=o(x);if(S){b=x+(b.length>0?" "+b:b);continue}let z=!!O,U=i(z?k.substring(0,O):k);if(!U){if(!z){b=x+(b.length>0?" "+b:b);continue}if(U=i(k),!U){b=x+(b.length>0?" "+b:b);continue}z=!1}const Z=_.length===0?"":_.length===1?_[0]:m(_).join(":"),Q=C?Z+cu:Z,I=Q+U;if(h.indexOf(I)>-1)continue;h.push(I);const se=d(U,z);for(let V=0;V<se.length;++V){const H=se[V];h.push(Q+H)}b=x+(b.length>0?" "+b:b)}return b},YS=(...l)=>{let s=0,o,i,d="";for(;s<l.length;)(o=l[s++])&&(i=_v(o))&&(d&&(d+=" "),d+=i);return d},_v=l=>{if(typeof l=="string")return l;let s,o="";for(let i=0;i<l.length;i++)l[i]&&(s=_v(l[i]))&&(o&&(o+=" "),o+=s);return o},VS=(l,...s)=>{let o,i,d,m;const h=b=>{const g=s.reduce((x,S)=>S(x),l());return o=HS(g),i=o.cache.get,d=o.cache.set,m=p,p(b)},p=b=>{const g=i(b);if(g)return g;const x=GS(b,o);return d(b,x),x};return m=h,(...b)=>m(YS(...b))},XS=[],Ie=l=>{const s=o=>o[l]||XS;return s.isThemeGetter=!0,s},Cv=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Nv=/^\((?:(\w[\w-]*):)?(.+)\)$/i,KS=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,QS=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ZS=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,JS=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,IS=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,FS=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Pa=l=>KS.test(l),he=l=>!!l&&!Number.isNaN(Number(l)),$a=l=>!!l&&Number.isInteger(Number(l)),eu=l=>l.endsWith("%")&&he(l.slice(0,-1)),xa=l=>QS.test(l),jv=()=>!0,WS=l=>ZS.test(l)&&!JS.test(l),xu=()=>!1,PS=l=>IS.test(l),$S=l=>FS.test(l),e2=l=>!$(l)&&!ee(l),t2=l=>sn(l,Av,xu),$=l=>Cv.test(l),jn=l=>sn(l,Ov,WS),pp=l=>sn(l,c2,he),a2=l=>sn(l,zv,jv),n2=l=>sn(l,Dv,xu),vp=l=>sn(l,Tv,xu),l2=l=>sn(l,wv,$S),Ps=l=>sn(l,kv,PS),ee=l=>Nv.test(l),Er=l=>On(l,Ov),r2=l=>On(l,Dv),gp=l=>On(l,Tv),s2=l=>On(l,Av),i2=l=>On(l,wv),$s=l=>On(l,kv,!0),o2=l=>On(l,zv,!0),sn=(l,s,o)=>{const i=Cv.exec(l);return i?i[1]?s(i[1]):o(i[2]):!1},On=(l,s,o=!1)=>{const i=Nv.exec(l);return i?i[1]?s(i[1]):o:!1},Tv=l=>l==="position"||l==="percentage",wv=l=>l==="image"||l==="url",Av=l=>l==="length"||l==="size"||l==="bg-size",Ov=l=>l==="length",c2=l=>l==="number",Dv=l=>l==="family-name",zv=l=>l==="number"||l==="weight",kv=l=>l==="shadow",u2=()=>{const l=Ie("color"),s=Ie("font"),o=Ie("text"),i=Ie("font-weight"),d=Ie("tracking"),m=Ie("leading"),h=Ie("breakpoint"),p=Ie("container"),b=Ie("spacing"),g=Ie("radius"),x=Ie("shadow"),S=Ie("inset-shadow"),_=Ie("text-shadow"),C=Ie("drop-shadow"),k=Ie("blur"),O=Ie("perspective"),z=Ie("aspect"),U=Ie("ease"),Z=Ie("animate"),Q=()=>["auto","avoid","all","avoid-page","page","left","right","column"],I=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],se=()=>[...I(),ee,$],V=()=>["auto","hidden","clip","visible","scroll"],H=()=>["auto","contain","none"],X=()=>[ee,$,b],ue=()=>[Pa,"full","auto",...X()],De=()=>[$a,"none","subgrid",ee,$],Be=()=>["auto",{span:["full",$a,ee,$]},$a,ee,$],Re=()=>[$a,"auto",ee,$],At=()=>["auto","min","max","fr",ee,$],ot=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],Ge=()=>["start","end","center","stretch","center-safe","end-safe"],M=()=>["auto",...X()],K=()=>[Pa,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...X()],F=()=>[Pa,"screen","full","dvw","lvw","svw","min","max","fit",...X()],te=()=>[Pa,"screen","full","lh","dvh","lvh","svh","min","max","fit",...X()],L=()=>[l,ee,$],N=()=>[...I(),gp,vp,{position:[ee,$]}],G=()=>["no-repeat",{repeat:["","x","y","space","round"]}],J=()=>["auto","cover","contain",s2,t2,{size:[ee,$]}],W=()=>[eu,Er,jn],ne=()=>["","none","full",g,ee,$],re=()=>["",he,Er,jn],be=()=>["solid","dashed","dotted","double"],We=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],me=()=>[he,eu,gp,vp],Na=()=>["","none",k,ee,$],ta=()=>["none",he,ee,$],ja=()=>["none",he,ee,$],Dn=()=>[he,ee,$],Ot=()=>[Pa,"full",...X()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[xa],breakpoint:[xa],color:[jv],container:[xa],"drop-shadow":[xa],ease:["in","out","in-out"],font:[e2],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[xa],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[xa],shadow:[xa],spacing:["px",he],text:[xa],"text-shadow":[xa],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Pa,$,ee,z]}],container:["container"],columns:[{columns:[he,$,ee,p]}],"break-after":[{"break-after":Q()}],"break-before":[{"break-before":Q()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:se()}],overflow:[{overflow:V()}],"overflow-x":[{"overflow-x":V()}],"overflow-y":[{"overflow-y":V()}],overscroll:[{overscroll:H()}],"overscroll-x":[{"overscroll-x":H()}],"overscroll-y":[{"overscroll-y":H()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:ue()}],"inset-x":[{"inset-x":ue()}],"inset-y":[{"inset-y":ue()}],start:[{"inset-s":ue(),start:ue()}],end:[{"inset-e":ue(),end:ue()}],"inset-bs":[{"inset-bs":ue()}],"inset-be":[{"inset-be":ue()}],top:[{top:ue()}],right:[{right:ue()}],bottom:[{bottom:ue()}],left:[{left:ue()}],visibility:["visible","invisible","collapse"],z:[{z:[$a,"auto",ee,$]}],basis:[{basis:[Pa,"full","auto",p,...X()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[he,Pa,"auto","initial","none",$]}],grow:[{grow:["",he,ee,$]}],shrink:[{shrink:["",he,ee,$]}],order:[{order:[$a,"first","last","none",ee,$]}],"grid-cols":[{"grid-cols":De()}],"col-start-end":[{col:Be()}],"col-start":[{"col-start":Re()}],"col-end":[{"col-end":Re()}],"grid-rows":[{"grid-rows":De()}],"row-start-end":[{row:Be()}],"row-start":[{"row-start":Re()}],"row-end":[{"row-end":Re()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":At()}],"auto-rows":[{"auto-rows":At()}],gap:[{gap:X()}],"gap-x":[{"gap-x":X()}],"gap-y":[{"gap-y":X()}],"justify-content":[{justify:[...ot(),"normal"]}],"justify-items":[{"justify-items":[...Ge(),"normal"]}],"justify-self":[{"justify-self":["auto",...Ge()]}],"align-content":[{content:["normal",...ot()]}],"align-items":[{items:[...Ge(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...Ge(),{baseline:["","last"]}]}],"place-content":[{"place-content":ot()}],"place-items":[{"place-items":[...Ge(),"baseline"]}],"place-self":[{"place-self":["auto",...Ge()]}],p:[{p:X()}],px:[{px:X()}],py:[{py:X()}],ps:[{ps:X()}],pe:[{pe:X()}],pbs:[{pbs:X()}],pbe:[{pbe:X()}],pt:[{pt:X()}],pr:[{pr:X()}],pb:[{pb:X()}],pl:[{pl:X()}],m:[{m:M()}],mx:[{mx:M()}],my:[{my:M()}],ms:[{ms:M()}],me:[{me:M()}],mbs:[{mbs:M()}],mbe:[{mbe:M()}],mt:[{mt:M()}],mr:[{mr:M()}],mb:[{mb:M()}],ml:[{ml:M()}],"space-x":[{"space-x":X()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":X()}],"space-y-reverse":["space-y-reverse"],size:[{size:K()}],"inline-size":[{inline:["auto",...F()]}],"min-inline-size":[{"min-inline":["auto",...F()]}],"max-inline-size":[{"max-inline":["none",...F()]}],"block-size":[{block:["auto",...te()]}],"min-block-size":[{"min-block":["auto",...te()]}],"max-block-size":[{"max-block":["none",...te()]}],w:[{w:[p,"screen",...K()]}],"min-w":[{"min-w":[p,"screen","none",...K()]}],"max-w":[{"max-w":[p,"screen","none","prose",{screen:[h]},...K()]}],h:[{h:["screen","lh",...K()]}],"min-h":[{"min-h":["screen","lh","none",...K()]}],"max-h":[{"max-h":["screen","lh",...K()]}],"font-size":[{text:["base",o,Er,jn]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[i,o2,a2]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",eu,$]}],"font-family":[{font:[r2,n2,s]}],"font-features":[{"font-features":[$]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[d,ee,$]}],"line-clamp":[{"line-clamp":[he,"none",ee,pp]}],leading:[{leading:[m,...X()]}],"list-image":[{"list-image":["none",ee,$]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",ee,$]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:L()}],"text-color":[{text:L()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...be(),"wavy"]}],"text-decoration-thickness":[{decoration:[he,"from-font","auto",ee,jn]}],"text-decoration-color":[{decoration:L()}],"underline-offset":[{"underline-offset":[he,"auto",ee,$]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:X()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ee,$]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ee,$]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:N()}],"bg-repeat":[{bg:G()}],"bg-size":[{bg:J()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},$a,ee,$],radial:["",ee,$],conic:[$a,ee,$]},i2,l2]}],"bg-color":[{bg:L()}],"gradient-from-pos":[{from:W()}],"gradient-via-pos":[{via:W()}],"gradient-to-pos":[{to:W()}],"gradient-from":[{from:L()}],"gradient-via":[{via:L()}],"gradient-to":[{to:L()}],rounded:[{rounded:ne()}],"rounded-s":[{"rounded-s":ne()}],"rounded-e":[{"rounded-e":ne()}],"rounded-t":[{"rounded-t":ne()}],"rounded-r":[{"rounded-r":ne()}],"rounded-b":[{"rounded-b":ne()}],"rounded-l":[{"rounded-l":ne()}],"rounded-ss":[{"rounded-ss":ne()}],"rounded-se":[{"rounded-se":ne()}],"rounded-ee":[{"rounded-ee":ne()}],"rounded-es":[{"rounded-es":ne()}],"rounded-tl":[{"rounded-tl":ne()}],"rounded-tr":[{"rounded-tr":ne()}],"rounded-br":[{"rounded-br":ne()}],"rounded-bl":[{"rounded-bl":ne()}],"border-w":[{border:re()}],"border-w-x":[{"border-x":re()}],"border-w-y":[{"border-y":re()}],"border-w-s":[{"border-s":re()}],"border-w-e":[{"border-e":re()}],"border-w-bs":[{"border-bs":re()}],"border-w-be":[{"border-be":re()}],"border-w-t":[{"border-t":re()}],"border-w-r":[{"border-r":re()}],"border-w-b":[{"border-b":re()}],"border-w-l":[{"border-l":re()}],"divide-x":[{"divide-x":re()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":re()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...be(),"hidden","none"]}],"divide-style":[{divide:[...be(),"hidden","none"]}],"border-color":[{border:L()}],"border-color-x":[{"border-x":L()}],"border-color-y":[{"border-y":L()}],"border-color-s":[{"border-s":L()}],"border-color-e":[{"border-e":L()}],"border-color-bs":[{"border-bs":L()}],"border-color-be":[{"border-be":L()}],"border-color-t":[{"border-t":L()}],"border-color-r":[{"border-r":L()}],"border-color-b":[{"border-b":L()}],"border-color-l":[{"border-l":L()}],"divide-color":[{divide:L()}],"outline-style":[{outline:[...be(),"none","hidden"]}],"outline-offset":[{"outline-offset":[he,ee,$]}],"outline-w":[{outline:["",he,Er,jn]}],"outline-color":[{outline:L()}],shadow:[{shadow:["","none",x,$s,Ps]}],"shadow-color":[{shadow:L()}],"inset-shadow":[{"inset-shadow":["none",S,$s,Ps]}],"inset-shadow-color":[{"inset-shadow":L()}],"ring-w":[{ring:re()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:L()}],"ring-offset-w":[{"ring-offset":[he,jn]}],"ring-offset-color":[{"ring-offset":L()}],"inset-ring-w":[{"inset-ring":re()}],"inset-ring-color":[{"inset-ring":L()}],"text-shadow":[{"text-shadow":["none",_,$s,Ps]}],"text-shadow-color":[{"text-shadow":L()}],opacity:[{opacity:[he,ee,$]}],"mix-blend":[{"mix-blend":[...We(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":We()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[he]}],"mask-image-linear-from-pos":[{"mask-linear-from":me()}],"mask-image-linear-to-pos":[{"mask-linear-to":me()}],"mask-image-linear-from-color":[{"mask-linear-from":L()}],"mask-image-linear-to-color":[{"mask-linear-to":L()}],"mask-image-t-from-pos":[{"mask-t-from":me()}],"mask-image-t-to-pos":[{"mask-t-to":me()}],"mask-image-t-from-color":[{"mask-t-from":L()}],"mask-image-t-to-color":[{"mask-t-to":L()}],"mask-image-r-from-pos":[{"mask-r-from":me()}],"mask-image-r-to-pos":[{"mask-r-to":me()}],"mask-image-r-from-color":[{"mask-r-from":L()}],"mask-image-r-to-color":[{"mask-r-to":L()}],"mask-image-b-from-pos":[{"mask-b-from":me()}],"mask-image-b-to-pos":[{"mask-b-to":me()}],"mask-image-b-from-color":[{"mask-b-from":L()}],"mask-image-b-to-color":[{"mask-b-to":L()}],"mask-image-l-from-pos":[{"mask-l-from":me()}],"mask-image-l-to-pos":[{"mask-l-to":me()}],"mask-image-l-from-color":[{"mask-l-from":L()}],"mask-image-l-to-color":[{"mask-l-to":L()}],"mask-image-x-from-pos":[{"mask-x-from":me()}],"mask-image-x-to-pos":[{"mask-x-to":me()}],"mask-image-x-from-color":[{"mask-x-from":L()}],"mask-image-x-to-color":[{"mask-x-to":L()}],"mask-image-y-from-pos":[{"mask-y-from":me()}],"mask-image-y-to-pos":[{"mask-y-to":me()}],"mask-image-y-from-color":[{"mask-y-from":L()}],"mask-image-y-to-color":[{"mask-y-to":L()}],"mask-image-radial":[{"mask-radial":[ee,$]}],"mask-image-radial-from-pos":[{"mask-radial-from":me()}],"mask-image-radial-to-pos":[{"mask-radial-to":me()}],"mask-image-radial-from-color":[{"mask-radial-from":L()}],"mask-image-radial-to-color":[{"mask-radial-to":L()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":I()}],"mask-image-conic-pos":[{"mask-conic":[he]}],"mask-image-conic-from-pos":[{"mask-conic-from":me()}],"mask-image-conic-to-pos":[{"mask-conic-to":me()}],"mask-image-conic-from-color":[{"mask-conic-from":L()}],"mask-image-conic-to-color":[{"mask-conic-to":L()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:N()}],"mask-repeat":[{mask:G()}],"mask-size":[{mask:J()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",ee,$]}],filter:[{filter:["","none",ee,$]}],blur:[{blur:Na()}],brightness:[{brightness:[he,ee,$]}],contrast:[{contrast:[he,ee,$]}],"drop-shadow":[{"drop-shadow":["","none",C,$s,Ps]}],"drop-shadow-color":[{"drop-shadow":L()}],grayscale:[{grayscale:["",he,ee,$]}],"hue-rotate":[{"hue-rotate":[he,ee,$]}],invert:[{invert:["",he,ee,$]}],saturate:[{saturate:[he,ee,$]}],sepia:[{sepia:["",he,ee,$]}],"backdrop-filter":[{"backdrop-filter":["","none",ee,$]}],"backdrop-blur":[{"backdrop-blur":Na()}],"backdrop-brightness":[{"backdrop-brightness":[he,ee,$]}],"backdrop-contrast":[{"backdrop-contrast":[he,ee,$]}],"backdrop-grayscale":[{"backdrop-grayscale":["",he,ee,$]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[he,ee,$]}],"backdrop-invert":[{"backdrop-invert":["",he,ee,$]}],"backdrop-opacity":[{"backdrop-opacity":[he,ee,$]}],"backdrop-saturate":[{"backdrop-saturate":[he,ee,$]}],"backdrop-sepia":[{"backdrop-sepia":["",he,ee,$]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":X()}],"border-spacing-x":[{"border-spacing-x":X()}],"border-spacing-y":[{"border-spacing-y":X()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",ee,$]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[he,"initial",ee,$]}],ease:[{ease:["linear","initial",U,ee,$]}],delay:[{delay:[he,ee,$]}],animate:[{animate:["none",Z,ee,$]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[O,ee,$]}],"perspective-origin":[{"perspective-origin":se()}],rotate:[{rotate:ta()}],"rotate-x":[{"rotate-x":ta()}],"rotate-y":[{"rotate-y":ta()}],"rotate-z":[{"rotate-z":ta()}],scale:[{scale:ja()}],"scale-x":[{"scale-x":ja()}],"scale-y":[{"scale-y":ja()}],"scale-z":[{"scale-z":ja()}],"scale-3d":["scale-3d"],skew:[{skew:Dn()}],"skew-x":[{"skew-x":Dn()}],"skew-y":[{"skew-y":Dn()}],transform:[{transform:[ee,$,"","none","gpu","cpu"]}],"transform-origin":[{origin:se()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Ot()}],"translate-x":[{"translate-x":Ot()}],"translate-y":[{"translate-y":Ot()}],"translate-z":[{"translate-z":Ot()}],"translate-none":["translate-none"],accent:[{accent:L()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:L()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",ee,$]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":X()}],"scroll-mx":[{"scroll-mx":X()}],"scroll-my":[{"scroll-my":X()}],"scroll-ms":[{"scroll-ms":X()}],"scroll-me":[{"scroll-me":X()}],"scroll-mbs":[{"scroll-mbs":X()}],"scroll-mbe":[{"scroll-mbe":X()}],"scroll-mt":[{"scroll-mt":X()}],"scroll-mr":[{"scroll-mr":X()}],"scroll-mb":[{"scroll-mb":X()}],"scroll-ml":[{"scroll-ml":X()}],"scroll-p":[{"scroll-p":X()}],"scroll-px":[{"scroll-px":X()}],"scroll-py":[{"scroll-py":X()}],"scroll-ps":[{"scroll-ps":X()}],"scroll-pe":[{"scroll-pe":X()}],"scroll-pbs":[{"scroll-pbs":X()}],"scroll-pbe":[{"scroll-pbe":X()}],"scroll-pt":[{"scroll-pt":X()}],"scroll-pr":[{"scroll-pr":X()}],"scroll-pb":[{"scroll-pb":X()}],"scroll-pl":[{"scroll-pl":X()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",ee,$]}],fill:[{fill:["none",...L()]}],"stroke-w":[{stroke:[he,Er,jn,pp]}],stroke:[{stroke:["none",...L()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},d2=VS(u2);function rt(...l){return d2(ES(l))}function xl({enabled:l,onClick:s}){return u.jsx("button",{type:"button",onClick:s,className:rt("relative inline-flex h-6 w-11 shrink-0 cursor-pointer rounded-full border-2 border-transparent","transition-colors duration-[var(--duration-fast)]","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]",l?"bg-accent-blue":"bg-border"),children:u.jsx("span",{className:rt("pointer-events-none inline-block h-5 w-5 rounded-full bg-white shadow-sm","transition-transform duration-[var(--duration-fast)]",l?"translate-x-5":"translate-x-0")})})}function Fe({title:l,description:s,children:o,className:i}){return u.jsxs("div",{className:rt("rounded-[var(--radius-default)] border border-border bg-bg-secondary p-[var(--spacing-4)]",i),children:[u.jsxs("div",{className:"mb-[var(--spacing-3)]",children:[u.jsx("h3",{className:"text-[length:var(--font-size-sm)] font-[var(--font-weight-semibold)] text-text-primary",children:l}),s&&u.jsx("p",{className:"mt-[var(--spacing-1)] text-[length:var(--font-size-xs)] text-text-secondary",children:s})]}),o]})}function Ue({label:l,description:s,htmlFor:o,children:i}){return u.jsxs("div",{className:"flex items-start justify-between gap-[var(--spacing-4)] py-[var(--spacing-2)]",children:[u.jsxs("div",{className:"flex-1 min-w-0",children:[u.jsx("label",{htmlFor:o,className:"text-[length:var(--font-size-sm)] font-[var(--font-weight-medium)] text-text-primary",children:l}),s&&u.jsx("p",{className:"mt-[var(--spacing-0-5)] text-[length:var(--font-size-xs)] text-text-secondary",children:s})]}),u.jsx("div",{className:"shrink-0",children:i})]})}function tn({id:l,value:s,onChange:o,placeholder:i,className:d,type:m="text"}){return u.jsx("input",{id:l,type:m,value:s,onChange:h=>o(h.target.value),placeholder:i,className:rt("w-48 px-[var(--spacing-2)] py-[var(--spacing-1)] rounded-[var(--radius-sm)]","border border-border bg-bg-primary text-text-primary text-[length:var(--font-size-sm)]","focus:outline-none focus:border-accent-blue focus:shadow-[var(--shadow-focus-ring)]","transition-colors duration-[var(--duration-fast)]","placeholder:text-text-tertiary",d)})}function Tn({id:l,value:s,onChange:o,options:i,className:d}){return u.jsx("select",{id:l,value:s,onChange:m=>o(m.target.value),className:rt("w-48 px-[var(--spacing-2)] py-[var(--spacing-1)] rounded-[var(--radius-sm)]","border border-border bg-bg-primary text-text-primary text-[length:var(--font-size-sm)]","focus:outline-none focus:border-accent-blue focus:shadow-[var(--shadow-focus-ring)]","transition-colors duration-[var(--duration-fast)]",d),children:i.map(m=>u.jsx("option",{value:m.value,children:m.label},m.value))})}function Cl({dirty:l,saving:s,onSave:o,onDiscard:i}){if(!l)return null;const{t:d}=gt();return u.jsxs("div",{className:"sticky bottom-0 left-0 right-0 flex items-center justify-end gap-[var(--spacing-2)] px-[var(--spacing-4)] py-[var(--spacing-3)] border-t border-border bg-bg-secondary/95 backdrop-blur-sm",children:[u.jsx("button",{type:"button",onClick:i,disabled:s,className:rt("px-[var(--spacing-3)] py-[var(--spacing-1-5)] rounded-[var(--radius-sm)]","text-[length:var(--font-size-sm)] font-[var(--font-weight-medium)]","border border-border text-text-secondary","hover:bg-bg-hover hover:text-text-primary","transition-colors duration-[var(--duration-fast)]","disabled:opacity-50 disabled:pointer-events-none"),children:d("settings.discard")}),u.jsx("button",{type:"button",onClick:o,disabled:s,className:rt("px-[var(--spacing-3)] py-[var(--spacing-1-5)] rounded-[var(--radius-sm)]","text-[length:var(--font-size-sm)] font-[var(--font-weight-medium)]","bg-accent-blue text-white","hover:opacity-90","transition-colors duration-[var(--duration-fast)]","disabled:opacity-50 disabled:pointer-events-none"),children:d(s?"settings.saving":"settings.save")})]})}const f2=["default","cowork"],m2={default:"settings.general.style_default",cowork:"settings.general.style_cowork"};function h2(){const{t:l}=gt(),s=bl(i=>i.stylePreset),o=bl(i=>i.setStylePreset);return u.jsx(Ue,{label:l("settings.general.style_preset_label"),description:l("settings.general.style_preset_desc"),children:u.jsx("div",{className:"flex items-center gap-[var(--spacing-1)]",children:f2.map(i=>u.jsx("button",{type:"button",onClick:()=>o(i),className:rt("px-3 py-1 rounded-[var(--radius-sm)] text-[length:var(--font-size-xs)] font-[var(--font-weight-medium)] transition-all duration-[var(--duration-fast)]","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]",s===i?"bg-accent-blue text-white":"text-text-secondary hover:text-text-primary hover:bg-bg-hover"),children:l(m2[i])},i))})})}function p2(){const{t:l}=gt(),s=wt(k=>k.connected),o=ce(k=>{var O;return(O=k.draft)==null?void 0:O.general}),i=ce(k=>k.saving),d=ce(k=>k.isDirty("general")),m=ce(k=>k.updateDraft),h=ce(k=>k.saveConfig),p=ce(k=>k.discardDraft),b=ce(k=>{var O;return((O=k.draft)==null?void 0:O.searchTool)??"mcp__ace-tool__search_context"}),g=ce(k=>k.isDirty("searchTool")),x=ce(k=>k.chineseResponse),S=ce(k=>k.loadChineseResponse),_=ce(k=>k.toggleChineseResponse);if(y.useEffect(()=>{S()},[S]),!o)return null;const C=k=>{m("general",{...o,...k})};return u.jsxs("div",{className:"flex flex-col gap-[var(--spacing-4)]",children:[u.jsx(Fe,{title:l("settings.general.connection_card"),description:l("settings.general.connection_desc"),children:u.jsxs("div",{className:"flex items-center gap-[var(--spacing-2)]",children:[u.jsx("span",{className:`w-2.5 h-2.5 rounded-full ${s?"bg-status-completed":"bg-status-blocked"}`}),u.jsx("span",{className:"text-[length:var(--font-size-sm)] text-text-primary",children:l(s?"settings.general.connected":"settings.general.disconnected")})]})}),u.jsxs(Fe,{title:l("settings.general.appearance_card"),description:l("settings.general.appearance_desc"),children:[u.jsx(Ue,{label:l("settings.general.theme_label"),description:l("settings.general.theme_desc"),htmlFor:"settings-theme",children:u.jsx(Tn,{id:"settings-theme",value:o.theme,onChange:k=>C({theme:k}),options:[{value:"system",label:l("settings.general.theme_system")},{value:"dark",label:l("settings.general.theme_dark")},{value:"light",label:l("settings.general.theme_light")}]})}),u.jsx(Ue,{label:l("settings.general.language_label"),description:l("settings.general.language_desc"),htmlFor:"settings-language",children:u.jsx(Tn,{id:"settings-language",value:o.language,onChange:k=>C({language:k}),options:[{value:"en",label:"English"},{value:"zh-CN",label:"中文"}]})}),u.jsx(h2,{})]}),u.jsxs(Fe,{title:l("settings.general.search_tool_card"),description:l("settings.general.search_tool_desc"),children:[u.jsx(Ue,{label:l("settings.general.search_tool_label"),description:l("settings.general.search_tool_desc"),htmlFor:"settings-search-tool",children:u.jsx(tn,{id:"settings-search-tool",value:b,onChange:k=>m("searchTool",k),placeholder:"mcp__ace-tool__search_context",className:"w-72 font-mono text-[length:var(--font-size-xs)]"})}),u.jsx(Cl,{dirty:g,saving:i,onSave:()=>void h("searchTool"),onDiscard:()=>p("searchTool")})]}),x&&u.jsxs(Fe,{title:l("settings.general.response_lang_card"),description:l("settings.general.response_lang_desc"),children:[u.jsx(Ue,{label:l("settings.general.chinese_claude_label"),description:l("settings.general.chinese_claude_desc"),children:u.jsxs("div",{className:"flex items-center gap-[var(--spacing-2)]",children:[u.jsx("span",{className:"text-[length:var(--font-size-xs)] font-[var(--font-weight-medium)] text-accent-blue bg-accent-blue/10 px-[var(--spacing-1-5)] py-0.5 rounded-[var(--radius-sm)]",children:"Claude"}),u.jsx(xl,{enabled:x.claudeEnabled,onClick:()=>void _(!x.claudeEnabled,"claude")})]})}),u.jsx(Ue,{label:l("settings.general.chinese_codex_label"),description:l("settings.general.chinese_codex_desc"),children:u.jsxs("div",{className:"flex items-center gap-[var(--spacing-2)]",children:[u.jsx("span",{className:"text-[length:var(--font-size-xs)] font-[var(--font-weight-medium)] text-green-400 bg-green-400/10 px-[var(--spacing-1-5)] py-0.5 rounded-[var(--radius-sm)]",children:"Codex"}),u.jsx(xl,{enabled:x.codexEnabled,onClick:()=>void _(!x.codexEnabled,"codex")})]})}),x.codexNeedsMigration&&u.jsx("div",{className:"mt-[var(--spacing-2)] px-[var(--spacing-3)] py-[var(--spacing-2)] rounded-[var(--radius-sm)] bg-status-blocked/10 border border-status-blocked/30",children:u.jsx("p",{className:"text-[length:var(--font-size-xs)] text-status-blocked",children:l("settings.general.codex_migrate_hint")})}),!x.guidelinesExists&&u.jsx("div",{className:"mt-[var(--spacing-2)] px-[var(--spacing-3)] py-[var(--spacing-2)] rounded-[var(--radius-sm)] bg-status-blocked/10 border border-status-blocked/30",children:u.jsx("p",{className:"text-[length:var(--font-size-xs)] text-status-blocked",children:l("settings.general.guidelines_missing")})})]}),u.jsx(Cl,{dirty:d,saving:i,onSave:()=>void h("general"),onDiscard:()=>p("general")})]})}const v2={"claude-code":{apiKeyLabel:"API Key",apiKeyPlaceholder:"sk-ant-...",apiKeyEnvHint:"ANTHROPIC_API_KEY",showBaseUrl:!0,baseUrlPlaceholder:"https://api.anthropic.com",showSettingsFile:!0,settingsFileDescription:"Path to Claude Code settings JSON (maps model aliases, sets env vars)"},"agent-sdk":{apiKeyLabel:"API Key",apiKeyPlaceholder:"sk-ant-...",apiKeyEnvHint:"ANTHROPIC_API_KEY",showBaseUrl:!0,baseUrlPlaceholder:"https://api.anthropic.com",showSettingsFile:!0,settingsFileDescription:"Path to Claude Code settings JSON (maps model aliases, sets env vars)"},codex:{apiKeyLabel:"OpenAI API Key",apiKeyPlaceholder:"sk-...",apiKeyEnvHint:"OPENAI_API_KEY",showBaseUrl:!1,showSettingsFile:!0,settingsFileLabel:"Profile",settingsFilePlaceholder:"my-profile",settingsFileDescription:"Profile name from ~/.codex/config.toml (passed as --profile)"},"codex-server":{apiKeyLabel:"OpenAI API Key",apiKeyPlaceholder:"sk-...",apiKeyEnvHint:"OPENAI_API_KEY",showBaseUrl:!1,showSettingsFile:!0,settingsFileLabel:"Profile",settingsFilePlaceholder:"my-profile",settingsFileDescription:"Profile name from ~/.codex/config.toml"},gemini:{apiKeyLabel:"Gemini API Key",apiKeyPlaceholder:"AIza...",apiKeyEnvHint:"GEMINI_API_KEY",showBaseUrl:!1,showSettingsFile:!1},qwen:{apiKeyLabel:"DashScope API Key",apiKeyPlaceholder:"sk-...",apiKeyEnvHint:"DASHSCOPE_API_KEY",showBaseUrl:!1,showSettingsFile:!1},opencode:{apiKeyLabel:"API Key",apiKeyPlaceholder:"",apiKeyEnvHint:"OPENAI_API_KEY",showBaseUrl:!1,showSettingsFile:!1}},g2=[{type:"claude-code",label:"Claude Code"},{type:"agent-sdk",label:"Agent SDK"},{type:"codex",label:"Codex"},{type:"gemini",label:"Gemini"},{type:"qwen",label:"Qwen"},{type:"opencode",label:"OpenCode"}];function y2(){const{t:l}=gt(),s=ce(_=>{var C;return(C=_.draft)==null?void 0:C.agents}),o=ce(_=>_.saving),i=ce(_=>_.isDirty("agents")),d=ce(_=>_.updateDraft),m=ce(_=>_.saveConfig),h=ce(_=>_.discardDraft),[p,b]=y.useState(null),g=_=>l({"claude-code":"settings.agents.claude_code_desc","agent-sdk":"settings.agents.agent_sdk_desc",codex:"settings.agents.codex_desc",gemini:"settings.agents.gemini_desc",qwen:"settings.agents.qwen_desc",opencode:"settings.agents.opencode_desc"}[_]??"settings.agents.claude_code_desc");if(!s)return null;const x=(_,C)=>{d("agents",{...s,[_]:{...s[_],...C}})},S=_=>{b(C=>C===_?null:_)};return u.jsxs("div",{className:"flex flex-col gap-[var(--spacing-3)]",children:[g2.map(({type:_,label:C})=>{const k=s[_],O=p===_,z=v2[_];return u.jsxs(Fe,{title:C,description:g(_),children:[u.jsx("button",{type:"button",onClick:()=>S(_),className:rt("w-full text-left text-[length:var(--font-size-xs)] font-[var(--font-weight-medium)]","text-accent-blue hover:underline","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)] rounded-[var(--radius-sm)]"),children:l(O?"settings.agents.hide_config":"settings.agents.show_config")}),O&&u.jsxs("div",{className:"mt-[var(--spacing-3)] border-t border-border-divider pt-[var(--spacing-3)]",children:[u.jsx(Ue,{label:l("settings.agents.model_label"),description:l("settings.agents.model_desc"),htmlFor:`agent-model-${_}`,children:u.jsx(tn,{id:`agent-model-${_}`,value:k.model,onChange:U=>x(_,{model:U}),placeholder:l("settings.agents.model_placeholder")})}),u.jsx(Ue,{label:l("settings.agents.approval_label"),description:l("settings.agents.approval_desc"),htmlFor:`agent-approval-${_}`,children:u.jsx(Tn,{id:`agent-approval-${_}`,value:k.approvalMode,onChange:U=>x(_,{approvalMode:U}),options:[{value:"suggest",label:l("settings.agents.approval_suggest")},{value:"auto",label:l("settings.agents.approval_auto")}]})}),(z==null?void 0:z.showBaseUrl)&&u.jsx(Ue,{label:l("settings.agents.base_url_label"),description:l("settings.agents.base_url_desc"),htmlFor:`agent-baseurl-${_}`,children:u.jsx(tn,{id:`agent-baseurl-${_}`,value:k.baseUrl??"",onChange:U=>x(_,{baseUrl:U}),placeholder:z.baseUrlPlaceholder??""})}),z&&u.jsx(Ue,{label:z.apiKeyLabel,description:`Overrides ${z.apiKeyEnvHint} env var`,htmlFor:`agent-apikey-${_}`,children:u.jsx(tn,{id:`agent-apikey-${_}`,value:k.apiKey??"",onChange:U=>x(_,{apiKey:U}),placeholder:z.apiKeyPlaceholder,type:"password"})}),(z==null?void 0:z.showSettingsFile)&&u.jsx(Ue,{label:z.settingsFileLabel??l("settings.agents.settings_file_label"),description:z.settingsFileDescription??l("settings.agents.settings_file_desc"),htmlFor:`agent-settings-file-${_}`,children:u.jsx(tn,{id:`agent-settings-file-${_}`,value:k.settingsFile??"",onChange:U=>x(_,{settingsFile:U}),placeholder:z.settingsFilePlaceholder??"D:\\settings.json"})}),u.jsx(Ue,{label:l("settings.agents.env_file_label"),description:l("settings.agents.env_file_desc"),htmlFor:`agent-envfile-${_}`,children:u.jsx(tn,{id:`agent-envfile-${_}`,value:k.envFile??"",onChange:U=>x(_,{envFile:U}),placeholder:"~/.env.gemini"})})]})]},_)}),u.jsx(Cl,{dirty:i,saving:o,onSave:()=>void m("agents"),onDiscard:()=>h("agents")})]})}function b2(){const{t:l}=gt(),s=ce(S=>{var _;return((_=S.draft)==null?void 0:_.cliTools)??"{}"}),o=ce(S=>S.saving),i=ce(S=>S.isDirty("cliTools")),d=ce(S=>S.updateDraft),m=ce(S=>S.saveConfig),h=ce(S=>S.discardDraft),[p,b]=y.useState(null),g=y.useCallback(S=>{d("cliTools",S);try{JSON.parse(S),b(null)}catch(_){b(_ instanceof Error?_.message:"Invalid JSON")}},[d]),x=y.useCallback(()=>{try{const S=JSON.parse(s),_=JSON.stringify(S,null,2);d("cliTools",_),b(null)}catch{}},[s,d]);return u.jsxs("div",{className:"flex flex-col gap-[var(--spacing-4)]",children:[u.jsxs(Fe,{title:l("settings.cli_tools.config_card"),description:l("settings.cli_tools.config_desc"),children:[u.jsxs("div",{className:"flex items-center justify-between mb-[var(--spacing-2)]",children:[u.jsx("span",{className:"text-[length:var(--font-size-xs)] text-text-tertiary",children:"~/.maestro/cli-tools.json"}),u.jsx("button",{type:"button",onClick:x,className:rt("text-[length:var(--font-size-xs)] font-[var(--font-weight-medium)]","text-accent-blue hover:underline","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)] rounded-[var(--radius-sm)]"),children:l("settings.cli_tools.format_json")})]}),u.jsx("textarea",{value:s,onChange:S=>g(S.target.value),spellCheck:!1,className:rt("w-full h-80 px-[var(--spacing-3)] py-[var(--spacing-2)] rounded-[var(--radius-sm)]","border bg-bg-primary text-text-primary text-[length:var(--font-size-sm)]","font-mono leading-relaxed resize-y","focus:outline-none focus:shadow-[var(--shadow-focus-ring)]","transition-colors duration-[var(--duration-fast)]",p?"border-status-blocked":"border-border focus:border-accent-blue")}),p&&u.jsx("p",{className:"mt-[var(--spacing-1)] text-[length:var(--font-size-xs)] text-status-blocked",children:p})]}),u.jsx(Cl,{dirty:i&&!p,saving:o,onSave:()=>void m("cliTools"),onDiscard:()=>{h("cliTools"),b(null)}})]})}function x2(){const{t:l}=gt(),[s,o]=y.useState([]),[i,d]=y.useState(!0),[m,h]=y.useState(null);return y.useEffect(()=>{let p=!1;async function b(){try{const g=await fetch("/api/settings/specs");if(!g.ok)throw new Error(`Failed to load specs: ${g.status}`);const x=await g.json();p||(o(x.specs??[]),d(!1))}catch(g){p||(h(g instanceof Error?g.message:"Failed to load specs"),d(!1))}}return b(),()=>{p=!0}},[]),i?u.jsx("div",{className:"flex items-center justify-center py-[var(--spacing-8)]",children:u.jsx("span",{className:"text-[length:var(--font-size-sm)] text-text-secondary",children:l("settings.specs.loading")})}):m?u.jsx(Fe,{title:l("settings.specs.error_card"),description:l("settings.specs.error_desc"),children:u.jsx("p",{className:"text-[length:var(--font-size-sm)] text-status-blocked",children:m})}):s.length===0?u.jsx(Fe,{title:l("settings.specs.empty_card"),description:l("settings.specs.empty_desc"),children:u.jsx("p",{className:"text-[length:var(--font-size-sm)] text-text-secondary italic",children:l("settings.specs.empty_hint")})}):u.jsx("div",{className:"flex flex-col gap-[var(--spacing-3)]",children:s.map(p=>u.jsx(Fe,{title:p.name,description:p.path,children:p.createdAt&&u.jsxs("span",{className:"text-[length:var(--font-size-xs)] text-text-tertiary",children:[l("settings.specs.created"),": ",p.createdAt]})},p.name))})}const ei=_a((l,s)=>({configured:null,teams:[],selectedTeamId:null,board:null,selectedIssue:null,loading:!1,error:null,checkStatus:async()=>{try{const o=await fetch(Xc.STATUS);if(!o.ok)throw new Error(`HTTP ${o.status}`);const i=await o.json();l({configured:i.configured})}catch(o){l({configured:!1,error:String(o)})}},fetchTeams:async()=>{l({loading:!0,error:null});try{const o=await fetch(Xc.TEAMS);if(!o.ok)throw new Error(`HTTP ${o.status}`);const i=await o.json();if(l({teams:i,loading:!1}),i.length>0&&!s().selectedTeamId){const d=i[0].id;l({selectedTeamId:d}),s().fetchBoard(d)}}catch(o){l({loading:!1,error:String(o)})}},selectTeam:o=>{l({selectedTeamId:o,board:null,selectedIssue:null}),s().fetchBoard(o)},fetchBoard:async o=>{l({loading:!0,error:null});try{const i=await fetch(`${Xc.BOARD}?teamId=${o}`);if(!i.ok){const m=await i.json().catch(()=>({error:`HTTP ${i.status}`}));throw new Error(m.error)}const d=await i.json();l({board:d,loading:!1})}catch(i){l({loading:!1,error:String(i)})}},selectIssue:o=>{l({selectedIssue:o})},refresh:async()=>{const o=s().selectedTeamId;o&&await s().fetchBoard(o)},importIssues:async o=>{const i=await fetch("/api/linear/import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({issues:o})});if(!i.ok){const d=await i.json().catch(()=>({error:`HTTP ${i.status}`}));throw new Error(d.error)}return await i.json()},exportIssues:async(o,i)=>{const d=await fetch("/api/linear/export",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({issues:o,teamId:i})});if(!d.ok){const m=await d.json().catch(()=>({error:`HTTP ${d.status}`}));throw new Error(m.error)}return await d.json()}}));function S2(){const{t:l}=gt(),s=ce(U=>{var Z;return(Z=U.draft)==null?void 0:Z.linear}),o=ce(U=>U.saving),i=ce(U=>U.isDirty("linear")),d=ce(U=>U.updateDraft),m=ce(U=>U.saveConfig),h=ce(U=>U.discardDraft),p=ei(U=>U.configured),b=ei(U=>U.teams),g=ei(U=>U.checkStatus),x=ei(U=>U.fetchTeams),[S,_]=y.useState(!1),[C,k]=y.useState(null);if(!s)return null;const O=async()=>{_(!0),k(null);try{await g();const U=await fetch("/api/linear/teams");if(!U.ok){const Q=await U.json().catch(()=>({error:`HTTP ${U.status}`}));throw new Error(Q.error)}const Z=await U.json();await x(),k({ok:!0,message:`Connected! Found ${Z.length} team(s)`})}catch(U){k({ok:!1,message:String(U)})}finally{_(!1)}},z=async()=>{await m("linear"),await g(),s.apiKey&&await x()};return u.jsxs("div",{className:"flex flex-col gap-[var(--spacing-4)]",children:[u.jsxs(Fe,{title:l("settings.linear.integration_card"),description:l("settings.linear.integration_desc"),children:[u.jsx(Ue,{label:l("settings.linear.api_key_label"),description:l("settings.linear.api_key_desc"),htmlFor:"settings-linear-api-key",children:u.jsx("input",{id:"settings-linear-api-key",type:"password",value:s.apiKey,onChange:U=>d("linear",{...s,apiKey:U.target.value}),placeholder:"lin_api_...",className:rt("w-48 px-[var(--spacing-2)] py-[var(--spacing-1)] rounded-[var(--radius-sm)]","border border-border bg-bg-primary text-text-primary text-[length:var(--font-size-sm)]","focus:outline-none focus:border-accent-blue focus:shadow-[var(--shadow-focus-ring)]","transition-colors duration-[var(--duration-fast)]","placeholder:text-text-tertiary")})}),u.jsxs("div",{className:"flex items-center gap-[var(--spacing-2)] pt-[var(--spacing-2)]",children:[u.jsx("span",{className:`w-2.5 h-2.5 rounded-full ${p===!0?"bg-status-completed":p===!1?"bg-status-blocked":"bg-bg-hover"}`}),u.jsx("span",{className:"text-[length:var(--font-size-sm)] text-text-secondary",children:l(p===!0?"settings.linear.connected":p===!1?"settings.linear.not_configured":"settings.linear.checking")})]}),u.jsxs("div",{className:"flex items-center gap-[var(--spacing-2)] pt-[var(--spacing-2)]",children:[u.jsx("button",{type:"button",onClick:()=>void O(),disabled:S,className:rt("px-[var(--spacing-3)] py-[var(--spacing-1-5)] rounded-[var(--radius-sm)]","text-[length:var(--font-size-sm)] font-[var(--font-weight-medium)]","border border-border text-text-secondary","hover:bg-bg-hover hover:text-text-primary","transition-colors duration-[var(--duration-fast)]","disabled:opacity-50 disabled:pointer-events-none"),children:l(S?"settings.linear.testing":"settings.linear.test_connection")}),C&&u.jsx("span",{className:rt("text-[length:var(--font-size-xs)]",C.ok?"text-status-completed":"text-status-blocked"),children:C.message})]})]}),p&&b.length>0&&u.jsx(Fe,{title:l("settings.linear.teams_card"),description:l("settings.linear.teams_desc"),children:u.jsx("div",{className:"flex flex-col gap-[var(--spacing-1)]",children:b.map(U=>u.jsxs("div",{className:"flex items-center gap-[var(--spacing-2)] py-[var(--spacing-1-5)] text-[length:var(--font-size-sm)]",children:[u.jsx("span",{className:"font-mono text-text-tertiary text-[length:var(--font-size-xs)]",children:U.key}),u.jsx("span",{className:"text-text-primary",children:U.name})]},U.id))})}),u.jsx(Cl,{dirty:i,saving:o,onSave:()=>void z(),onDiscard:()=>h("linear")})]})}function E2(){return u.jsxs("div",{className:"w-full h-full rounded-[6px] overflow-hidden flex flex-col",style:{backgroundColor:"#1D1B18",borderTop:"2px solid #C8863A"},children:[u.jsxs("div",{className:"px-2.5 py-2 flex-1",children:[u.jsx("div",{className:"h-[7px] rounded w-[72%] mb-2",style:{backgroundColor:"rgba(255,255,255,0.18)"}}),u.jsx("div",{className:"flex gap-1 mt-2 flex-wrap",children:["#C46555","#5B8DB8","#9178B5","#A09D97"].map(l=>u.jsx("div",{className:"h-[5px] rounded-full",style:{width:22,backgroundColor:`${l}55`}},l))})]}),u.jsxs("div",{className:"px-2.5 py-1.5 border-t flex items-center gap-1",style:{borderColor:"rgba(255,255,255,0.07)"},children:[u.jsx("div",{className:"h-[4px] rounded w-6",style:{backgroundColor:"rgba(255,255,255,0.15)"}}),u.jsx("div",{className:"h-[4px] rounded w-6 ml-1",style:{backgroundColor:"rgba(255,255,255,0.15)"}})]})]})}function _2(){return u.jsxs("div",{className:"w-full h-full rounded-[6px] overflow-hidden flex flex-col",style:{backgroundColor:"var(--color-bg-card)",border:"1px solid var(--color-border)"},children:[u.jsxs("div",{className:"flex items-center justify-between px-2 py-1.5 border-b",style:{borderColor:"var(--color-border-divider)"},children:[u.jsx("div",{className:"h-[5px] rounded w-14",style:{backgroundColor:"var(--color-text-primary)",opacity:.7}}),u.jsx("div",{className:"w-3 h-3 rounded-sm",style:{backgroundColor:"var(--color-bg-hover)"}})]}),u.jsxs("div",{className:"px-2 py-1.5 flex-1 space-y-1.5",children:[u.jsx("div",{className:"h-[3px] rounded w-6",style:{backgroundColor:"var(--color-text-tertiary)"}}),u.jsx("div",{className:"h-[6px] rounded border w-full",style:{borderColor:"var(--color-border)"}}),u.jsx("div",{className:"h-[3px] rounded w-8",style:{backgroundColor:"var(--color-text-tertiary)"}}),u.jsx("div",{className:"h-[12px] rounded border w-full",style:{borderColor:"var(--color-border)"}}),u.jsx("div",{className:"flex gap-1",children:["#C46555","#5B8DB8","#9178B5","#A09D97"].map(l=>u.jsx("div",{className:"h-[5px] rounded",style:{width:16,backgroundColor:`${l}25`}},l))})]}),u.jsxs("div",{className:"flex justify-end gap-1 px-2 py-1.5 border-t",style:{borderColor:"var(--color-border-divider)"},children:[u.jsx("div",{className:"h-[6px] rounded w-8",style:{backgroundColor:"var(--color-bg-secondary)",border:"1px solid var(--color-border)"}}),u.jsx("div",{className:"h-[6px] rounded w-10",style:{backgroundColor:"#C8863A"}})]})]})}function C2(){return u.jsx("div",{className:"w-full h-full rounded-[6px] overflow-hidden flex flex-col items-center justify-center px-3",style:{backgroundColor:"var(--color-bg-primary)"},children:u.jsxs("div",{className:"w-full",children:[u.jsx("div",{className:"h-[3px] rounded w-10 mb-2",style:{backgroundColor:"var(--color-text-tertiary)",opacity:.5}}),u.jsx("div",{className:"h-[10px] rounded w-[85%] mb-1.5",style:{backgroundColor:"var(--color-text-primary)",opacity:.55}}),u.jsx("div",{className:"h-[4px] rounded w-full mb-1",style:{backgroundColor:"var(--color-text-secondary)",opacity:.3}}),u.jsx("div",{className:"h-[4px] rounded w-[70%] mb-3",style:{backgroundColor:"var(--color-text-secondary)",opacity:.3}}),u.jsxs("div",{className:"flex gap-1 items-center pt-1.5 border-t",style:{borderColor:"var(--color-border-divider)"},children:[["#C46555","#5B8DB8","#9178B5"].map(l=>u.jsx("div",{className:"h-[4px] rounded-full",style:{width:18,backgroundColor:`${l}45`}},l)),u.jsx("div",{className:"ml-auto h-[5px] rounded w-8",style:{backgroundColor:"#C8863A",opacity:.7}})]})]})})}function N2(){return u.jsxs("div",{className:"w-full h-full rounded-[6px] overflow-hidden flex relative",style:{backgroundColor:"var(--color-bg-secondary)"},children:[u.jsx("div",{className:"flex-1",style:{backgroundColor:"rgba(0,0,0,0.12)"}}),u.jsxs("div",{className:"w-[45%] h-full flex flex-col",style:{backgroundColor:"var(--color-bg-card)",borderLeft:"1px solid var(--color-border)"},children:[u.jsxs("div",{className:"px-2 py-1.5 border-b flex items-center gap-1",style:{borderColor:"var(--color-border-divider)"},children:[u.jsx("div",{className:"h-[3px] rounded w-10",style:{backgroundColor:"var(--color-text-tertiary)"}}),u.jsx("div",{className:"h-[4px] rounded-full w-7 ml-1",style:{backgroundColor:"#5B8DB825"}})]}),u.jsxs("div",{className:"px-2 py-1.5 space-y-1.5 flex-1",children:[u.jsx("div",{className:"h-[6px] rounded w-[85%]",style:{backgroundColor:"var(--color-text-primary)",opacity:.6}}),u.jsx("div",{className:"h-[3px] rounded w-8 mt-1",style:{backgroundColor:"var(--color-text-tertiary)"}}),u.jsx("div",{className:"h-[4px] rounded w-12",style:{backgroundColor:"var(--color-bg-secondary)"}}),u.jsx("div",{className:"h-[3px] rounded w-8",style:{backgroundColor:"var(--color-text-tertiary)"}}),u.jsx("div",{className:"h-[4px] rounded w-16",style:{backgroundColor:"var(--color-bg-secondary)"}})]})]})]})}function j2(){return u.jsx("div",{className:"w-full h-full rounded-[6px] overflow-hidden flex items-center justify-center",style:{backgroundColor:"rgba(0,0,0,0.35)"},children:u.jsxs("div",{className:"w-[88%] h-[78%] rounded-[5px] overflow-hidden flex",style:{backgroundColor:"var(--color-bg-card)",border:"1px solid var(--color-border)"},children:[u.jsxs("div",{className:"flex-1 px-2 py-1.5 border-r",style:{borderColor:"var(--color-border-divider)"},children:[u.jsx("div",{className:"flex gap-1 mb-1.5",children:["#C46555","#5B8DB8"].map(l=>u.jsx("div",{className:"h-[4px] rounded-full w-8",style:{backgroundColor:`${l}30`}},l))}),u.jsx("div",{className:"h-[7px] rounded w-[90%] mb-1",style:{backgroundColor:"var(--color-text-primary)",opacity:.6}}),u.jsx("div",{className:"h-[3px] rounded w-full mb-1",style:{backgroundColor:"var(--color-text-secondary)",opacity:.35}}),u.jsx("div",{className:"h-[3px] rounded w-[80%]",style:{backgroundColor:"var(--color-text-secondary)",opacity:.35}})]}),u.jsxs("div",{className:"w-[36%] px-1.5 py-1.5 space-y-1.5",style:{backgroundColor:"var(--color-bg-secondary)"},children:[u.jsx("div",{className:"h-[3px] rounded w-10",style:{backgroundColor:"var(--color-text-tertiary)"}}),[["#C46555",18],["#5B8DB8",14],["#A09D97",20]].map(([l,s],o)=>u.jsx("div",{className:"h-[4px] rounded-full",style:{width:s,backgroundColor:`${l}35`}},o))]})]})})}function T2(){return u.jsxs("div",{className:"w-full h-full rounded-[6px] overflow-hidden flex flex-col",style:{backgroundColor:"var(--color-bg-primary)"},children:[u.jsxs("div",{className:"flex items-center justify-between px-2 py-1 border-b shrink-0",style:{borderColor:"var(--color-border-divider)",backgroundColor:"var(--color-bg-card)"},children:[u.jsxs("div",{className:"flex items-center gap-1",children:[u.jsx("div",{className:"h-[3px] rounded w-6",style:{backgroundColor:"var(--color-text-tertiary)"}}),u.jsx("span",{className:"text-[6px]",style:{color:"var(--color-text-tertiary)"},children:"›"}),u.jsx("div",{className:"h-[3px] rounded w-8",style:{backgroundColor:"var(--color-text-primary)",opacity:.5}})]}),u.jsxs("div",{className:"flex gap-1",children:[u.jsx("div",{className:"h-[4px] rounded-full w-8",style:{backgroundColor:"#C4655525"}}),u.jsx("div",{className:"h-[4px] rounded-full w-6",style:{backgroundColor:"#5B8DB825"}})]})]}),u.jsxs("div",{className:"flex flex-1 overflow-hidden",children:[u.jsxs("div",{className:"flex-1 px-3 py-2 space-y-1.5",children:[u.jsx("div",{className:"h-[3px] rounded w-16",style:{backgroundColor:"var(--color-text-tertiary)",opacity:.5}}),u.jsx("div",{className:"h-[8px] rounded w-[80%]",style:{backgroundColor:"var(--color-text-primary)",opacity:.55}}),u.jsx("div",{className:"h-[3px] rounded w-full",style:{backgroundColor:"var(--color-text-secondary)",opacity:.28}}),u.jsx("div",{className:"h-[3px] rounded w-[75%]",style:{backgroundColor:"var(--color-text-secondary)",opacity:.28}})]}),u.jsx("div",{className:"w-[30%] px-1.5 py-2 border-l space-y-1.5",style:{borderColor:"var(--color-border)",backgroundColor:"var(--color-bg-secondary)"},children:[12,16,10,14].map((l,s)=>u.jsx("div",{className:"h-[3px] rounded",style:{width:l,backgroundColor:"var(--color-text-tertiary)",opacity:.5}},s))})]})]})}function yp({value:l,current:s,label:o,description:i,accentColor:d,children:m,onSelect:h}){const p=l===s;return u.jsxs("button",{type:"button",onClick:()=>h(l),className:"flex-1 min-w-0 rounded-[10px] overflow-hidden border-2 transition-all duration-200 text-left focus-visible:outline-none",style:{borderColor:p?d:"var(--color-border)",backgroundColor:p?`${d}06`:"var(--color-bg-card)",boxShadow:p?`0 0 0 3px ${d}20`:"var(--shadow-sm)",transform:p?"translateY(-1px)":"none"},children:[u.jsx("div",{className:"h-[100px] p-2",style:{backgroundColor:p?`${d}08`:"var(--color-bg-secondary)"},children:m}),u.jsxs("div",{className:"px-3 py-2.5 border-t",style:{borderColor:"var(--color-border-divider)"},children:[u.jsxs("div",{className:"flex items-center gap-1.5 mb-0.5",children:[p&&u.jsx("div",{className:"w-2 h-2 rounded-full shrink-0",style:{backgroundColor:d}}),u.jsx("span",{className:"text-[11px] font-semibold",style:{color:p?d:"var(--color-text-primary)"},children:o})]}),u.jsx("p",{className:"text-[10px] leading-snug",style:{color:"var(--color-text-tertiary)"},children:i})]})]})}function w2(){const l=[{color:"#A09D97",cards:[72,60,85]},{color:"#B89540",cards:[90,65]},{color:"#5A9E78",cards:[55]}];return u.jsx("div",{className:"absolute inset-0 flex gap-2 p-3",style:{backgroundColor:"var(--color-bg-secondary)"},children:l.map((s,o)=>u.jsxs("div",{className:"flex-1 rounded-[8px] overflow-hidden",style:{backgroundColor:"var(--color-bg-primary)"},children:[u.jsxs("div",{className:"flex items-center gap-1.5 px-2 py-1.5 border-b",style:{borderColor:"var(--color-border-divider)"},children:[u.jsx("div",{className:"w-2 h-2 rounded-full",style:{backgroundColor:s.color}}),u.jsx("div",{className:"h-[5px] rounded w-12",style:{backgroundColor:"var(--color-text-secondary)",opacity:.4}})]}),u.jsx("div",{className:"p-1.5 space-y-1.5",children:s.cards.map((i,d)=>u.jsxs("div",{className:"rounded-[5px] p-1.5",style:{backgroundColor:"var(--color-bg-card)",border:"1px solid var(--color-border)"},children:[u.jsxs("div",{className:"flex gap-1 mb-1",children:[u.jsx("div",{className:"h-[4px] rounded-full w-10",style:{backgroundColor:`${s.color}35`}}),u.jsx("div",{className:"h-[4px] rounded-full w-7 ml-auto",style:{backgroundColor:"rgba(160,157,151,0.25)"}})]}),u.jsx("div",{className:"h-[4px] rounded",style:{width:`${i}%`,backgroundColor:"var(--color-text-secondary)",opacity:.3}})]},d))})]},o))})}function A2({style:l,animKey:s}){return l===1?u.jsx("div",{className:"absolute inset-0 flex items-start justify-center pt-[14%]",style:{backgroundColor:"rgba(0,0,0,0.65)"},children:u.jsxs("div",{className:"w-[70%] rounded-[10px] overflow-hidden motion-safe:animate-[modal-enter_240ms_ease-out_both]",style:{backgroundColor:"#1D1B18",borderTop:"2px solid #C8863A",boxShadow:"0 16px 50px rgba(0,0,0,0.5)"},children:[u.jsx("div",{className:"px-4 py-3",children:u.jsx("div",{className:"h-[8px] rounded w-[60%]",style:{backgroundColor:"rgba(255,255,255,0.22)"}})}),u.jsx("div",{className:"px-4 pb-3 pt-2 border-t",style:{borderColor:"rgba(255,255,255,0.07)"},children:u.jsx("div",{className:"flex gap-1.5",children:["#C46555","#5B8DB8","#9178B5","#A09D97"].map(o=>u.jsx("div",{className:"h-[6px] rounded-full w-8",style:{backgroundColor:`${o}45`}},o))})}),u.jsx("div",{className:"px-4 py-2 border-t flex items-center",style:{borderColor:"rgba(255,255,255,0.07)"},children:u.jsx("div",{className:"h-[4px] rounded w-24",style:{backgroundColor:"rgba(255,255,255,0.12)"}})})]},s)}):l===2?u.jsx("div",{className:"absolute inset-0 flex items-center justify-center",style:{backgroundColor:"rgba(0,0,0,0.38)"},children:u.jsxs("div",{className:"w-[72%] rounded-[12px] overflow-hidden motion-safe:animate-[modal-enter_240ms_ease-out_both]",style:{backgroundColor:"var(--color-bg-card)",border:"1px solid var(--color-border)",boxShadow:"0 12px 40px rgba(0,0,0,0.2)"},children:[u.jsxs("div",{className:"flex items-center justify-between px-4 py-2.5 border-b",style:{borderColor:"var(--color-border-divider)"},children:[u.jsx("div",{className:"h-[7px] rounded w-16",style:{backgroundColor:"var(--color-text-primary)",opacity:.65}}),u.jsx("div",{className:"w-4 h-4 rounded",style:{backgroundColor:"var(--color-bg-hover)"}})]}),u.jsxs("div",{className:"px-4 py-3 space-y-2",children:[u.jsx("div",{className:"h-[4px] rounded w-8",style:{backgroundColor:"var(--color-text-tertiary)"}}),u.jsx("div",{className:"h-[8px] rounded border w-full",style:{borderColor:"var(--color-border)"}}),u.jsx("div",{className:"h-[4px] rounded w-10",style:{backgroundColor:"var(--color-text-tertiary)"}}),u.jsx("div",{className:"h-[16px] rounded border w-full",style:{borderColor:"var(--color-border)"}}),u.jsx("div",{className:"flex gap-1.5",children:["#C46555","#5B8DB8","#9178B5","#A09D97"].map(o=>u.jsx("div",{className:"h-[7px] rounded w-12",style:{backgroundColor:`${o}22`}},o))})]}),u.jsxs("div",{className:"flex justify-end gap-2 px-4 py-2.5 border-t",style:{borderColor:"var(--color-border-divider)"},children:[u.jsx("div",{className:"h-[8px] rounded w-10",style:{backgroundColor:"var(--color-bg-secondary)",border:"1px solid var(--color-border)"}}),u.jsx("div",{className:"h-[8px] rounded w-16",style:{backgroundColor:"#C8863A"}})]})]},s)}):u.jsx("div",{className:"absolute inset-0 flex items-center justify-center motion-safe:animate-[modal-enter_240ms_ease-out_both]",style:{backgroundColor:"var(--color-bg-primary)"},children:u.jsxs("div",{className:"w-[80%]",children:[u.jsx("div",{className:"h-[4px] rounded w-20 mb-3",style:{backgroundColor:"var(--color-text-tertiary)",opacity:.5}}),u.jsx("div",{className:"h-[14px] rounded w-[70%] mb-3",style:{backgroundColor:"var(--color-text-primary)",opacity:.55}}),u.jsxs("div",{className:"space-y-1.5 mb-6",children:[u.jsx("div",{className:"h-[5px] rounded w-full",style:{backgroundColor:"var(--color-text-secondary)",opacity:.25}}),u.jsx("div",{className:"h-[5px] rounded w-[85%]",style:{backgroundColor:"var(--color-text-secondary)",opacity:.25}})]}),u.jsxs("div",{className:"flex items-center gap-2 pt-2 border-t",style:{borderColor:"var(--color-border-divider)"},children:[["#C46555","#5B8DB8","#9178B5"].map(o=>u.jsx("div",{className:"h-[6px] rounded-full w-10",style:{backgroundColor:`${o}35`}},o)),u.jsx("div",{className:"ml-auto h-[8px] rounded w-12",style:{backgroundColor:"#C8863A"}})]})]})},s)}function O2({style:l,animKey:s}){return l===1?u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"absolute inset-0",style:{backgroundColor:"rgba(0,0,0,0.2)"}}),u.jsxs("div",{className:"absolute top-0 right-0 bottom-0 w-[42%] flex flex-col motion-safe:animate-[slide-in-right_240ms_ease-out_both]",style:{backgroundColor:"var(--color-bg-card)",borderLeft:"1px solid var(--color-border)",boxShadow:"0 0 30px rgba(0,0,0,0.15)"},children:[u.jsxs("div",{className:"flex items-center justify-between px-3 py-2 border-b",style:{borderColor:"var(--color-border-divider)"},children:[u.jsx("div",{className:"h-[4px] rounded w-16",style:{backgroundColor:"var(--color-text-tertiary)"}}),u.jsxs("div",{className:"flex gap-1",children:[u.jsx("div",{className:"h-[5px] rounded-full w-8",style:{backgroundColor:"#C4655530"}}),u.jsx("div",{className:"h-[5px] rounded-full w-8",style:{backgroundColor:"#5B8DB830"}})]})]}),u.jsxs("div",{className:"px-3 py-3 space-y-2.5 flex-1",children:[u.jsx("div",{className:"h-[8px] rounded w-[85%]",style:{backgroundColor:"var(--color-text-primary)",opacity:.55}}),u.jsx("div",{className:"h-[4px] rounded w-10",style:{backgroundColor:"var(--color-text-tertiary)"}}),u.jsx("div",{className:"h-[6px] rounded w-16",style:{backgroundColor:"var(--color-bg-secondary)"}}),u.jsx("div",{className:"h-[4px] rounded w-10",style:{backgroundColor:"var(--color-text-tertiary)"}}),u.jsxs("div",{className:"space-y-1",children:[u.jsx("div",{className:"h-[4px] rounded w-full",style:{backgroundColor:"var(--color-text-secondary)",opacity:.25}}),u.jsx("div",{className:"h-[4px] rounded w-[80%]",style:{backgroundColor:"var(--color-text-secondary)",opacity:.25}})]})]})]},s)]}):l===2?u.jsx("div",{className:"absolute inset-0 flex items-center justify-center",style:{backgroundColor:"rgba(0,0,0,0.45)"},children:u.jsxs("div",{className:"w-[88%] h-[78%] rounded-[10px] overflow-hidden flex motion-safe:animate-[modal-enter_240ms_ease-out_both]",style:{backgroundColor:"var(--color-bg-card)",border:"1px solid var(--color-border)",boxShadow:"0 12px 40px rgba(0,0,0,0.25)"},children:[u.jsxs("div",{className:"flex-1 flex flex-col border-r",style:{borderColor:"var(--color-border-divider)"},children:[u.jsx("div",{className:"flex items-center justify-between px-3 py-2 border-b shrink-0",style:{borderColor:"var(--color-border-divider)"},children:u.jsx("div",{className:"h-[4px] rounded w-14",style:{backgroundColor:"var(--color-text-tertiary)"}})}),u.jsxs("div",{className:"flex-1 px-3 py-3 space-y-2",children:[u.jsx("div",{className:"flex gap-1",children:["#C46555","#5B8DB8"].map(o=>u.jsx("div",{className:"h-[5px] rounded-full w-10",style:{backgroundColor:`${o}30`}},o))}),u.jsx("div",{className:"h-[9px] rounded w-[80%]",style:{backgroundColor:"var(--color-text-primary)",opacity:.55}}),u.jsxs("div",{className:"space-y-1",children:[u.jsx("div",{className:"h-[4px] rounded w-full",style:{backgroundColor:"var(--color-text-secondary)",opacity:.25}}),u.jsx("div",{className:"h-[4px] rounded w-[75%]",style:{backgroundColor:"var(--color-text-secondary)",opacity:.25}})]})]})]}),u.jsxs("div",{className:"w-[36%] px-2.5 py-3 space-y-2.5",style:{backgroundColor:"var(--color-bg-secondary)"},children:[u.jsx("div",{className:"h-[4px] rounded w-14",style:{backgroundColor:"var(--color-text-tertiary)"}}),[["#C46555",20],["#5B8DB8",16],["#A09D97",22]].map(([o,i],d)=>u.jsx("div",{className:"h-[6px] rounded-full",style:{width:i,backgroundColor:`${o}35`}},d)),u.jsxs("div",{className:"pt-2 border-t space-y-1.5",style:{borderColor:"var(--color-border-divider)"},children:[u.jsx("div",{className:"h-[4px] rounded w-10",style:{backgroundColor:"var(--color-text-tertiary)"}}),u.jsx("div",{className:"h-[4px] rounded w-12",style:{backgroundColor:"var(--color-text-secondary)",opacity:.35}})]})]})]},s)}):u.jsxs("div",{className:"absolute inset-0 flex flex-col motion-safe:animate-[slide-up_240ms_ease-out_both]",style:{backgroundColor:"var(--color-bg-primary)"},children:[u.jsxs("div",{className:"flex items-center justify-between px-3 py-2 border-b shrink-0",style:{borderColor:"var(--color-border-divider)",backgroundColor:"var(--color-bg-card)"},children:[u.jsxs("div",{className:"flex items-center gap-1.5",children:[u.jsx("div",{className:"h-[4px] rounded w-8",style:{backgroundColor:"var(--color-text-tertiary)"}}),u.jsx("span",{className:"text-[8px]",style:{color:"var(--color-text-tertiary)"},children:"›"}),u.jsx("div",{className:"h-[4px] rounded w-10",style:{backgroundColor:"var(--color-text-tertiary)"}}),u.jsx("span",{className:"text-[8px]",style:{color:"var(--color-text-tertiary)"},children:"›"}),u.jsx("div",{className:"h-[4px] rounded w-16",style:{backgroundColor:"var(--color-text-primary)",opacity:.5}})]}),u.jsxs("div",{className:"flex gap-1.5",children:[u.jsx("div",{className:"h-[5px] rounded-full w-9",style:{backgroundColor:"#C4655525"}}),u.jsx("div",{className:"h-[5px] rounded-full w-8",style:{backgroundColor:"#5B8DB825"}}),u.jsx("div",{className:"h-[6px] rounded w-10",style:{backgroundColor:"var(--color-bg-secondary)",border:"1px solid var(--color-border)"}})]})]}),u.jsxs("div",{className:"flex flex-1 overflow-hidden",children:[u.jsxs("div",{className:"flex-1 px-6 py-4 space-y-2",children:[u.jsx("div",{className:"h-[4px] rounded w-16",style:{backgroundColor:"var(--color-text-tertiary)",opacity:.5}}),u.jsx("div",{className:"h-[11px] rounded w-[65%]",style:{backgroundColor:"var(--color-text-primary)",opacity:.55}}),u.jsxs("div",{className:"space-y-1.5 pt-1",children:[u.jsx("div",{className:"h-[4px] rounded w-full",style:{backgroundColor:"var(--color-text-secondary)",opacity:.22}}),u.jsx("div",{className:"h-[4px] rounded w-[80%]",style:{backgroundColor:"var(--color-text-secondary)",opacity:.22}}),u.jsx("div",{className:"h-[4px] rounded w-[60%]",style:{backgroundColor:"var(--color-text-secondary)",opacity:.22}})]})]}),u.jsx("div",{className:"w-[28%] border-l px-2.5 py-4 space-y-2.5",style:{borderColor:"var(--color-border)",backgroundColor:"var(--color-bg-secondary)"},children:[["#C46555",22],["#5B8DB8",18],["#A09D97",24]].map(([o,i],d)=>u.jsxs("div",{children:[u.jsx("div",{className:"h-[3px] rounded w-8 mb-1",style:{backgroundColor:"var(--color-text-tertiary)",opacity:.6}}),u.jsx("div",{className:"h-[5px] rounded-full",style:{width:i,backgroundColor:`${o}35`}})]},d))})]})]},s)}function D2({target:l,createStyle:s,detailStyle:o,animKey:i,labels:d,captions:m,createBtnLabel:h,detailBtnLabel:p}){const b=l==="create"?s:o,g=l==="create"?"var(--color-accent-orange)":"var(--color-accent-blue)";return u.jsxs("div",{children:[u.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[u.jsx("div",{className:"h-px flex-1",style:{backgroundColor:"var(--color-border-divider)"}}),u.jsxs("div",{className:"flex items-center gap-1.5",children:[u.jsx("div",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:g}}),u.jsxs("span",{className:"text-[10px] font-semibold uppercase tracking-wider",style:{color:"var(--color-text-tertiary)"},children:["Live Preview — ",d[l][b]]})]}),u.jsx("div",{className:"h-px flex-1",style:{backgroundColor:"var(--color-border-divider)"}})]}),u.jsxs("div",{className:"relative rounded-[10px] overflow-hidden border",style:{height:220,borderColor:"var(--color-border)",backgroundColor:"var(--color-bg-secondary)"},children:[u.jsx(w2,{}),l==="create"?u.jsx(A2,{style:s,animKey:i}):u.jsx(O2,{style:o,animKey:i})]}),u.jsx("p",{className:"mt-2 text-[10px] text-center",style:{color:"var(--color-text-tertiary)"},children:m[l][b]})]})}function z2(){const{t:l}=gt(),s=bl(C=>C.createModalStyle),o=bl(C=>C.detailModalStyle),i=bl(C=>C.setCreateModalStyle),d=bl(C=>C.setDetailModalStyle),[m,h]=y.useState("create"),[p,b]=y.useState("initial");function g(C){i(C),h("create"),b(`create-${C}-${Date.now()}`)}function x(C){d(C),h("detail"),b(`detail-${C}-${Date.now()}`)}const S=[{value:1,label:l("settings.kanban.create_command"),description:l("settings.kanban.create_command_desc"),thumb:u.jsx(E2,{})},{value:2,label:l("settings.kanban.create_form"),description:l("settings.kanban.create_form_desc"),thumb:u.jsx(_2,{})},{value:3,label:l("settings.kanban.create_focus"),description:l("settings.kanban.create_focus_desc"),thumb:u.jsx(C2,{})}],_=[{value:1,label:l("settings.kanban.detail_panel"),description:l("settings.kanban.detail_panel_desc"),thumb:u.jsx(N2,{})},{value:2,label:l("settings.kanban.detail_overlay"),description:l("settings.kanban.detail_overlay_desc"),thumb:u.jsx(j2,{})},{value:3,label:l("settings.kanban.detail_page"),description:l("settings.kanban.detail_page_desc"),thumb:u.jsx(T2,{})}];return u.jsxs("div",{className:"flex flex-col gap-[var(--spacing-5)]",children:[u.jsx(Fe,{title:l("settings.kanban.create_card"),description:l("settings.kanban.create_desc"),children:u.jsx("div",{className:"flex gap-3 mt-1",children:S.map(C=>u.jsx(yp,{value:C.value,current:s,label:C.label,description:C.description,accentColor:"var(--color-accent-orange)",onSelect:g,children:C.thumb},C.value))})}),u.jsx(Fe,{title:l("settings.kanban.detail_card"),description:l("settings.kanban.detail_desc"),children:u.jsx("div",{className:"flex gap-3 mt-1",children:_.map(C=>u.jsx(yp,{value:C.value,current:o,label:C.label,description:C.description,accentColor:"var(--color-accent-blue)",onSelect:x,children:C.thumb},C.value))})}),u.jsxs(Fe,{title:l("settings.kanban.preview_card"),description:l("settings.kanban.preview_desc"),children:[u.jsx("div",{className:"flex gap-1 mb-4",children:["create","detail"].map(C=>u.jsx("button",{type:"button",onClick:()=>{h(C),b(`${C}-${s}-${o}-${Date.now()}`)},className:"px-3 py-1 rounded-[var(--radius-sm)] text-[11px] font-medium transition-all",style:{backgroundColor:m===C?"var(--color-bg-active)":"transparent",color:m===C?"var(--color-text-primary)":"var(--color-text-tertiary)"},children:l(C==="create"?"settings.kanban.preview_create":"settings.kanban.preview_detail")},C))}),u.jsx(D2,{target:m,createStyle:s,detailStyle:o,animKey:p,labels:{create:{1:l("settings.kanban.create_command"),2:l("settings.kanban.create_form"),3:l("settings.kanban.create_focus")},detail:{1:l("settings.kanban.detail_panel"),2:l("settings.kanban.detail_overlay"),3:l("settings.kanban.detail_page")}},captions:{create:{1:l("settings.kanban.create_caption_1"),2:l("settings.kanban.create_caption_2"),3:l("settings.kanban.create_caption_3")},detail:{1:l("settings.kanban.detail_caption_1"),2:l("settings.kanban.detail_caption_2"),3:l("settings.kanban.detail_caption_3")}},createBtnLabel:l("settings.kanban.preview_create"),detailBtnLabel:l("settings.kanban.preview_detail")})]})]})}const k2=["development","staging","production","custom"],R2=["haiku","sonnet","opus"],M2=["low","medium","high"],U2=[{value:"claude-code",label:"Claude Code"},{value:"agent-sdk",label:"Agent SDK"},{value:"codex",label:"Codex"},{value:"gemini",label:"Gemini"},{value:"qwen",label:"Qwen"},{value:"opencode",label:"OpenCode"}];function Wt({label:l,description:s,value:o,onChange:i,id:d,min:m=0}){return u.jsx(Ue,{label:l,description:s,htmlFor:d,children:u.jsx(tn,{id:d,type:"text",value:String(o),onChange:h=>{const p=Number(h);!isNaN(p)&&p>=m&&i(p)},className:"w-32 font-mono"})})}function L2(){const{t:l}=gt(),s=ce(C=>{var k;return(k=C.draft)==null?void 0:k.commander}),o=ce(C=>C.saving),i=ce(C=>C.isDirty("commander")),d=ce(C=>C.updateDraft),m=ce(C=>C.saveConfig),h=ce(C=>C.discardDraft),p=k2.map(C=>({value:C,label:l(`settings.commander.profile_${C}`)})),b=R2.map(C=>({value:C,label:l(`settings.commander.model_${C}`)})),g=M2.map(C=>({value:C,label:l(`settings.commander.threshold_${C}`)}));if(!s)return null;const x=C=>{d("commander",{...s,...C})},S=C=>{d("commander",{...s,safety:{...s.safety,...C}})},_=C=>{d("commander",{...s,workspace:{...s.workspace,...C}})};return u.jsxs("div",{className:"flex flex-col gap-[var(--spacing-4)]",children:[u.jsx(Fe,{title:l("settings.commander.profile_card"),description:l("settings.commander.profile_desc"),children:u.jsx(Ue,{label:l("settings.commander.environment_label"),description:l("settings.commander.environment_desc"),htmlFor:"cmd-profile",children:u.jsx(Tn,{id:"cmd-profile",value:s.profile,onChange:C=>x({profile:C}),options:p})})}),u.jsxs(Fe,{title:l("settings.commander.core_card"),description:l("settings.commander.core_desc"),children:[u.jsx(Wt,{id:"cmd-poll-interval",label:l("settings.commander.poll_interval_label"),description:l("settings.commander.poll_interval_desc"),value:s.pollIntervalMs,onChange:C=>x({pollIntervalMs:C})}),u.jsx(Wt,{id:"cmd-max-workers",label:l("settings.commander.max_workers_label"),description:l("settings.commander.max_workers_desc"),value:s.maxConcurrentWorkers,onChange:C=>x({maxConcurrentWorkers:C})}),u.jsx(Wt,{id:"cmd-stall-timeout",label:l("settings.commander.stall_timeout_label"),description:l("settings.commander.stall_timeout_desc"),value:s.stallTimeoutMs,onChange:C=>x({stallTimeoutMs:C})}),u.jsx(Wt,{id:"cmd-max-retries",label:l("settings.commander.max_retries_label"),description:l("settings.commander.max_retries_desc"),value:s.maxRetries,onChange:C=>x({maxRetries:C})}),u.jsx(Wt,{id:"cmd-retry-backoff",label:l("settings.commander.retry_backoff_label"),description:l("settings.commander.retry_backoff_desc"),value:s.retryBackoffMs,onChange:C=>x({retryBackoffMs:C})})]}),u.jsxs(Fe,{title:l("settings.commander.decision_card"),description:l("settings.commander.decision_desc"),children:[u.jsx(Ue,{label:l("settings.commander.decision_model_label"),description:l("settings.commander.decision_model_desc"),htmlFor:"cmd-decision-model",children:u.jsx(Tn,{id:"cmd-decision-model",value:s.decisionModel,onChange:C=>x({decisionModel:C}),options:b})}),u.jsx(Wt,{id:"cmd-assess-turns",label:l("settings.commander.assess_turns_label"),description:l("settings.commander.assess_turns_desc"),value:s.assessMaxTurns,onChange:C=>x({assessMaxTurns:C})}),u.jsx(Ue,{label:l("settings.commander.threshold_label"),description:l("settings.commander.threshold_desc"),htmlFor:"cmd-approve-threshold",children:u.jsx(Tn,{id:"cmd-approve-threshold",value:s.autoApproveThreshold,onChange:C=>x({autoApproveThreshold:C}),options:g})}),u.jsx(Ue,{label:l("settings.commander.executor_label"),description:l("settings.commander.executor_desc"),htmlFor:"cmd-executor",children:u.jsx(Tn,{id:"cmd-executor",value:s.defaultExecutor,onChange:C=>x({defaultExecutor:C}),options:U2})})]}),u.jsxs(Fe,{title:l("settings.commander.safety_card"),description:l("settings.commander.safety_desc"),children:[u.jsx(Wt,{id:"cmd-debounce",label:l("settings.commander.debounce_label"),description:l("settings.commander.debounce_desc"),value:s.safety.eventDebounceMs,onChange:C=>S({eventDebounceMs:C})}),u.jsx(Wt,{id:"cmd-circuit-breaker",label:l("settings.commander.circuit_breaker_label"),description:l("settings.commander.circuit_breaker_desc"),value:s.safety.circuitBreakerThreshold,onChange:C=>S({circuitBreakerThreshold:C})}),u.jsx(Wt,{id:"cmd-max-ticks",label:l("settings.commander.max_ticks_label"),description:l("settings.commander.max_ticks_desc"),value:s.safety.maxTicksPerHour,onChange:C=>S({maxTicksPerHour:C})}),u.jsx(Wt,{id:"cmd-max-tokens",label:l("settings.commander.max_tokens_label"),description:l("settings.commander.max_tokens_desc"),value:s.safety.maxTokensPerHour,onChange:C=>S({maxTokensPerHour:C})}),u.jsx(Ue,{label:l("settings.commander.protected_paths_label"),description:l("settings.commander.protected_paths_desc"),htmlFor:"cmd-protected-paths",children:u.jsx(tn,{id:"cmd-protected-paths",value:s.safety.protectedPaths.join(", "),onChange:C=>S({protectedPaths:C.split(",").map(k=>k.trim()).filter(Boolean)}),placeholder:".env, *.key, credentials.*",className:"w-72 font-mono text-[length:var(--font-size-xs)]"})})]}),u.jsxs(Fe,{title:l("settings.commander.workspace_card"),description:l("settings.commander.workspace_desc"),children:[u.jsx(Ue,{label:l("settings.commander.workspace_enabled_label"),description:l("settings.commander.workspace_enabled_desc"),children:u.jsx(xl,{enabled:s.workspace.enabled,onClick:()=>_({enabled:!s.workspace.enabled})})}),u.jsx(Ue,{label:l("settings.commander.workspace_worktree_label"),description:l("settings.commander.workspace_worktree_desc"),children:u.jsx(xl,{enabled:s.workspace.useWorktree,onClick:()=>_({useWorktree:!s.workspace.useWorktree})})}),u.jsx(Ue,{label:l("settings.commander.workspace_autocleanup_label"),description:l("settings.commander.workspace_autocleanup_desc"),children:u.jsx(xl,{enabled:s.workspace.autoCleanup,onClick:()=>_({autoCleanup:!s.workspace.autoCleanup})})}),u.jsx(Ue,{label:l("settings.commander.workspace_strict_label"),description:l("settings.commander.workspace_strict_desc"),children:u.jsx(xl,{enabled:s.workspace.strict,onClick:()=>_({strict:!s.workspace.strict})})})]}),u.jsx(Cl,{dirty:i,saving:o,onSave:()=>void m("commander"),onDiscard:()=>h("commander")})]})}function B2({section:l}){switch(l){case"general":return u.jsx(p2,{});case"agents":return u.jsx(y2,{});case"cli-tools":return u.jsx(b2,{});case"specs":return u.jsx(x2,{});case"linear":return u.jsx(S2,{});case"kanban":return u.jsx(z2,{});case"commander":return u.jsx(L2,{});default:return null}}const H2=["general","agents","commander","cli-tools","specs","linear","kanban"],q2={general:"cog",agents:"bot",commander:"commander","cli-tools":"terminal",specs:"file-text",linear:"linear",kanban:"kanban"};function G2({icon:l}){const s="w-4 h-4 shrink-0";switch(l){case"cog":return u.jsxs("svg",{className:s,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[u.jsx("circle",{cx:"12",cy:"12",r:"3"}),u.jsx("path",{d:"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"})]});case"bot":return u.jsxs("svg",{className:s,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[u.jsx("rect",{x:"3",y:"11",width:"18",height:"10",rx:"2"}),u.jsx("circle",{cx:"12",cy:"5",r:"2"}),u.jsx("path",{d:"M12 7v4"}),u.jsx("line",{x1:"8",y1:"16",x2:"8",y2:"16"}),u.jsx("line",{x1:"16",y1:"16",x2:"16",y2:"16"})]});case"terminal":return u.jsxs("svg",{className:s,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[u.jsx("polyline",{points:"4 17 10 11 4 5"}),u.jsx("line",{x1:"12",y1:"19",x2:"20",y2:"19"})]});case"file-text":return u.jsxs("svg",{className:s,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[u.jsx("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),u.jsx("polyline",{points:"14 2 14 8 20 8"}),u.jsx("line",{x1:"16",y1:"13",x2:"8",y2:"13"}),u.jsx("line",{x1:"16",y1:"17",x2:"8",y2:"17"}),u.jsx("polyline",{points:"10 9 9 9 8 9"})]});case"linear":return u.jsxs("svg",{className:s,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[u.jsx("path",{d:"M3 17l6-6"}),u.jsx("path",{d:"M10 18l4-4"}),u.jsx("path",{d:"M14 20l7-7"})]});case"kanban":return u.jsxs("svg",{className:s,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[u.jsx("rect",{x:"3",y:"3",width:"5",height:"18",rx:"1"}),u.jsx("rect",{x:"10",y:"3",width:"5",height:"12",rx:"1"}),u.jsx("rect",{x:"17",y:"3",width:"5",height:"15",rx:"1"})]});case"commander":return u.jsxs("svg",{className:s,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[u.jsx("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"}),u.jsx("path",{d:"M9 9h6"}),u.jsx("path",{d:"M9 13h6"}),u.jsx("circle",{cx:"9",cy:"9",r:"0.5",fill:"currentColor"}),u.jsx("circle",{cx:"9",cy:"13",r:"0.5",fill:"currentColor"}),u.jsx("circle",{cx:"15",cy:"9",r:"0.5",fill:"currentColor"}),u.jsx("circle",{cx:"15",cy:"13",r:"0.5",fill:"currentColor"})]});default:return null}}function Y2(){const{t:l}=gt(),s=ce(x=>x.open),o=ce(x=>x.setOpen),i=ce(x=>x.activeSection),d=ce(x=>x.setActiveSection),m=ce(x=>x.loading),h=ce(x=>x.config),p=ce(x=>x.draft),b=ce(x=>!x.config||!x.draft?!1:JSON.stringify(x.config.general)!==JSON.stringify(x.draft.general)||JSON.stringify(x.config.agents)!==JSON.stringify(x.draft.agents)||x.config.cliTools!==x.draft.cliTools||JSON.stringify(x.config.linear)!==JSON.stringify(x.draft.linear)||x.config.searchTool!==x.draft.searchTool||JSON.stringify(x.config.commander)!==JSON.stringify(x.draft.commander)),g=y.useCallback(x=>{!x&&b&&!window.confirm(l("settings.unsaved_confirm"))||o(x)},[b,o]);return y.useEffect(()=>{function x(S){(S.metaKey||S.ctrlKey)&&S.key===","&&(S.preventDefault(),o(!s))}return window.addEventListener("keydown",x),()=>window.removeEventListener("keydown",x)},[s,o]),u.jsx(vS,{open:s,onOpenChange:g,children:u.jsxs(gS,{children:[u.jsx(yS,{className:"fixed inset-0 z-50 bg-black/50 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0"}),u.jsxs(bS,{className:rt("fixed left-1/2 top-1/2 z-50 -translate-x-1/2 -translate-y-1/2","w-[900px] max-w-[95vw] h-[700px] max-h-[90vh]","rounded-[var(--radius-lg)] border border-border bg-bg-primary shadow-[var(--style-modal-shadow)]","flex flex-col overflow-hidden","focus:outline-none","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95"),children:[u.jsxs("div",{className:"flex items-center justify-between px-[var(--spacing-6)] py-[var(--spacing-4)] border-b border-border shrink-0",children:[u.jsx(xS,{className:"text-[length:var(--font-size-lg)] font-[var(--font-weight-semibold)] text-text-primary",children:l("settings.title")}),u.jsx(SS,{className:rt("w-8 h-8 flex items-center justify-center rounded-[var(--radius-sm)]","text-text-secondary hover:text-text-primary hover:bg-bg-hover","transition-colors duration-[var(--duration-fast)]","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]"),"aria-label":"Close settings",children:u.jsxs("svg",{className:"w-4 h-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[u.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),u.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),u.jsxs("div",{className:"flex flex-1 overflow-hidden",children:[u.jsx("nav",{className:"w-56 shrink-0 border-r border-border bg-bg-secondary p-[var(--spacing-3)] overflow-y-auto","aria-label":"Settings sections",children:u.jsx("div",{className:"flex flex-col gap-[var(--spacing-0-5)]",children:H2.map(x=>u.jsxs("button",{type:"button",onClick:()=>d(x),className:rt("flex items-center gap-[var(--spacing-2)] px-[var(--spacing-2)] py-[var(--spacing-1-5)] rounded-[var(--radius-default)] text-left text-[length:var(--font-size-sm)] font-[var(--font-weight-medium)] w-full","transition-all duration-[var(--duration-fast)] ease-[var(--ease-notion)]","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]",i===x?"bg-bg-active text-text-primary":"text-text-secondary hover:text-text-primary hover:bg-bg-hover"),"aria-current":i===x?"page":void 0,children:[u.jsx(G2,{icon:q2[x]}),u.jsx("span",{className:"truncate",children:l(`settings.nav.${x==="cli-tools"?"cli_tools":x}`)})]},x))})}),u.jsx("div",{className:"flex-1 overflow-y-auto p-[var(--spacing-6)]",children:m&&!h?u.jsx("div",{className:"flex items-center justify-center h-full",children:u.jsx("span",{className:"text-[length:var(--font-size-sm)] text-text-secondary",children:l("settings.loading")})}):p?u.jsx(B2,{section:i}):u.jsx("div",{className:"flex items-center justify-center h-full",children:u.jsx("span",{className:"text-[length:var(--font-size-sm)] text-text-secondary",children:l("settings.failed")})})})]})]})]})})}const V2={idle:"#5A9E78",thinking:"#B89540",dispatching:"#5A84B8",paused:"var(--color-text-tertiary)"};function X2(){var d;const l=su(m=>m.supervisorStatus),s=su(m=>m.commanderState),o=y.useCallback(()=>{nn({action:"supervisor:toggle",enabled:!(l!=null&&l.enabled)})},[l==null?void 0:l.enabled]),i=l!=null&&l.lastTickAt?K2(l.lastTickAt):"never";return u.jsx("div",{className:"shrink-0",children:u.jsxs("div",{className:"flex items-center gap-[var(--spacing-3)] px-[var(--spacing-4)] py-[var(--spacing-1-5)] border-t border-border-divider bg-bg-secondary text-[length:var(--font-size-xs)] shrink-0",children:[u.jsxs("button",{type:"button",onClick:o,className:"flex items-center gap-[var(--spacing-1)] text-text-secondary hover:text-text-primary transition-colors",children:[u.jsx("span",{className:["w-2 h-2 rounded-full",l!=null&&l.enabled?"bg-[#5A9E78]":"bg-text-tertiary"].join(" ")}),u.jsxs("span",{className:"font-[var(--font-weight-medium)]",children:["Supervisor ",l!=null&&l.enabled?"ON":"OFF"]})]}),(l==null?void 0:l.enabled)&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"w-px h-3 bg-border-divider"}),u.jsxs("span",{className:"text-text-secondary",children:["Running: ",u.jsx("span",{className:"text-text-primary font-[var(--font-weight-medium)]",children:l.running.length})]}),u.jsxs("span",{className:"text-text-secondary",children:["Queued: ",u.jsx("span",{className:"text-text-primary font-[var(--font-weight-medium)]",children:l.queued.length})]}),l.retrying.length>0&&u.jsxs("span",{className:"text-[#B89540]",children:["Retrying: ",u.jsx("span",{className:"font-[var(--font-weight-medium)]",children:l.retrying.length})]}),u.jsxs("span",{className:"text-text-tertiary",children:["Last tick: ",i]}),l.stats.totalDispatched>0&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"w-px h-3 bg-border-divider"}),u.jsxs("span",{className:"text-text-tertiary",children:[l.stats.totalCompleted,"/",l.stats.totalDispatched," done",l.stats.totalFailed>0&&u.jsxs("span",{className:"text-[#C46555]",children:[" (",l.stats.totalFailed," failed)"]})]})]})]}),s&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"w-px h-3 bg-border-divider"}),u.jsxs("div",{className:"flex items-center gap-[var(--spacing-1)] text-text-secondary",children:[u.jsx("span",{className:"w-2 h-2 rounded-full",style:{backgroundColor:V2[s.status]??"var(--color-text-tertiary)"}}),u.jsxs("span",{className:"font-[var(--font-weight-medium)]",children:["Commander ",s.status]})]}),u.jsxs("span",{className:"text-text-tertiary",children:["Tick #",s.tickCount]}),((d=s.lastDecision)==null?void 0:d.actions[0])&&u.jsxs("span",{className:"text-text-tertiary",children:["Last: ",s.lastDecision.actions[0].type]})]}),u.jsx("div",{className:"flex-1"}),u.jsx(kp,{to:"/supervisor",className:"text-text-secondary hover:text-text-primary transition-colors font-[var(--font-weight-medium)]",children:"Supervisor →"})]})})}function K2(l){const s=Date.now(),o=new Date(l).getTime();if(isNaN(o))return"never";const i=s-o;if(i<0)return"just now";const d=Math.floor(i/1e3);return d<5?"just now":d<60?`${d}s ago`:`${Math.floor(d/60)}m ago`}function Q2(){const{t:l}=gt(),s=wt(x=>x.connected),[o,i]=y.useState(!1),[d,m]=y.useState(!1),h=()=>m(x=>!x),p=Dx(),g=Ea().pathname.startsWith("/kanban");return A0(),y.useEffect(()=>{async function x(){try{const[S,_,C]=await Promise.all([fetch(Ih.BOARD),fetch("/api/agents"),fetch(Ih.HEALTH)]);if(!S.ok){i(!0);return}const k=await S.json();if(wt.getState().setBoard(k),i(!1),_.ok){const O=await _.json(),{addProcess:z}=Sl.getState();for(const U of O)z(U)}if(C.ok){const O=await C.json();O.workspace&&wt.getState().setWorkspace(O.workspace)}}catch{i(!0)}}x()},[]),u.jsx(Mp,{value:p,children:u.jsxs("div",{className:"h-screen w-screen flex flex-col overflow-hidden bg-bg-primary",children:[u.jsx(Y2,{}),o&&!s&&u.jsx("div",{role:"alert","aria-live":"assertive",className:"px-[var(--spacing-4)] py-[var(--spacing-2)] border-b text-[length:var(--font-size-xs)] text-center shrink-0 rounded-[var(--radius-default)] mx-[var(--spacing-3)] mt-[var(--spacing-2)]",style:{backgroundColor:"var(--color-status-bg-blocked)",color:"var(--color-status-blocked)",borderColor:"var(--color-status-blocked)"},children:l("connection_error")}),u.jsx(Hx,{}),u.jsxs("div",{className:"flex flex-1 overflow-hidden relative",children:[u.jsx(h0,{isPinned:d,onTogglePin:h}),u.jsxs(j0,{children:[u.jsx(dx,{}),g&&u.jsx(X2,{})]})]})]})})}const Z2=y.lazy(()=>Gt(()=>import("./KanbanPage-DunfYPZJ.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12])).then(l=>({default:l.KanbanPage}))),J2=y.lazy(()=>Gt(()=>import("./ArtifactsPage-D4xlwipN.js"),__vite__mapDeps([13,14,15,16,17,7,10,18,19,20,21])).then(l=>({default:l.ArtifactsPage}))),I2=y.lazy(()=>Gt(()=>import("./ChatPage-ekwfjZ-o.js"),__vite__mapDeps([22,3,16,23,6,5,7,8,9,10,11,15,17])).then(l=>({default:l.ChatPage}))),F2=y.lazy(()=>Gt(()=>import("./WorkflowPage-D_WsulGC.js"),__vite__mapDeps([24,1,2,3,25,26,19,11,27])).then(l=>({default:l.WorkflowPage}))),W2=y.lazy(()=>Gt(()=>import("./McpPage-CkBQZQKI.js"),__vite__mapDeps([28,26,9,16,29,10,17,12,3,21,30,20,25,14])).then(l=>({default:l.McpPage}))),P2=y.lazy(()=>Gt(()=>import("./SpecsPage-BU8JN8fw.js"),__vite__mapDeps([31,1,27,26,16,18,21,11,29,30,3,25])).then(l=>({default:l.SpecsPage}))),$2=y.lazy(()=>Gt(()=>import("./TeamsPage-CQsOc_Y8.js"),__vite__mapDeps([32,26,16,10,29,33,8,3,20,21])).then(l=>({default:l.TeamsPage}))),eE=y.lazy(()=>Gt(()=>import("./RequirementPage-Bpx8qxeM.js"),__vite__mapDeps([34,1,6,23,29,14,3])).then(l=>({default:l.RequirementPage}))),tE=y.lazy(()=>Gt(()=>import("./RequirementBoardPage-BHQik0cq.js"),__vite__mapDeps([35,18,33,4])).then(l=>({default:l.RequirementBoardPage}))),aE=y.lazy(()=>Gt(()=>import("./SupervisorPage-DRBTi1AP.js"),[]).then(l=>({default:l.SupervisorPage})));function Pt(){return u.jsx("div",{className:"flex items-center justify-center h-full text-text-tertiary text-[length:var(--font-size-sm)]",children:"Loading..."})}function nE(){return u.jsx(Sx,{children:u.jsx(mx,{children:u.jsxs(vt,{element:u.jsx(Q2,{}),children:[u.jsx(vt,{index:!0,element:u.jsx(Gh,{to:"/kanban",replace:!0})}),u.jsx(vt,{path:"kanban",element:u.jsx(y.Suspense,{fallback:u.jsx(Pt,{}),children:u.jsx(Z2,{})})}),u.jsx(vt,{path:"artifacts",element:u.jsx(y.Suspense,{fallback:u.jsx(Pt,{}),children:u.jsx(J2,{})})}),u.jsx(vt,{path:"chat",element:u.jsx(y.Suspense,{fallback:u.jsx(Pt,{}),children:u.jsx(I2,{})})}),u.jsx(vt,{path:"workflow",element:u.jsx(y.Suspense,{fallback:u.jsx(Pt,{}),children:u.jsx(F2,{})})}),u.jsx(vt,{path:"mcp",element:u.jsx(y.Suspense,{fallback:u.jsx(Pt,{}),children:u.jsx(W2,{})})}),u.jsx(vt,{path:"specs",element:u.jsx(y.Suspense,{fallback:u.jsx(Pt,{}),children:u.jsx(P2,{})})}),u.jsx(vt,{path:"teams",element:u.jsx(y.Suspense,{fallback:u.jsx(Pt,{}),children:u.jsx($2,{})})}),u.jsx(vt,{path:"requirement",element:u.jsx(y.Suspense,{fallback:u.jsx(Pt,{}),children:u.jsx(eE,{})})}),u.jsx(vt,{path:"requirement/:id/board",element:u.jsx(y.Suspense,{fallback:u.jsx(Pt,{}),children:u.jsx(tE,{})})}),u.jsx(vt,{path:"supervisor",element:u.jsx(y.Suspense,{fallback:u.jsx(Pt,{}),children:u.jsx(aE,{})})}),u.jsx(vt,{path:"*",element:u.jsx(Gh,{to:"/kanban",replace:!0})})]})})})}const Rv=document.getElementById("root");if(!Rv)throw new Error("Root element not found");mb.createRoot(Rv).render(u.jsx(y.StrictMode,{children:u.jsx(bb,{children:u.jsx(nE,{})})}));export{Ih as A,cE as B,rE as C,sE as D,e0 as E,Jx as F,oE as G,_r as H,dE as I,T0 as J,lE as K,kp as L,Fx as M,X2 as N,yS as O,gS as P,Gp as Q,vS as R,Hp as S,xS as T,l0 as U,Mp as V,wt as a,su as b,ru as c,Kt as d,ei as e,bS as f,fE as g,SS as h,rt as i,u as j,Sl as k,di as l,bl as m,Qx as n,Px as o,uE as p,qp as q,y as r,nn as s,f0 as t,gt as u,xb as v,o0 as w,bp as x,_a as y,iE as z};
|
|
216
|
+
For more information, see https://radix-ui.com/primitives/docs/components/${s.docsSlug}`;return y.useEffect(()=>{l&&(document.getElementById(l)||console.error(o))},[o,l]),null},hS="DialogDescriptionWarning",pS=({contentRef:l,descriptionId:s})=>{const i=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${vv(hS).contentName}}.`;return y.useEffect(()=>{var m;const d=(m=l.current)==null?void 0:m.getAttribute("aria-describedby");s&&d&&(document.getElementById(s)||console.warn(i))},[i,l,s]),null},vS=lv,gS=iv,yS=ov,bS=cv,xS=dv,SS=hv;const gv="maestro-ui-prefs";function yv(){try{const l=localStorage.getItem(gv);return l?JSON.parse(l):{}}catch{return{}}}function $c(l){try{localStorage.setItem(gv,JSON.stringify({...yv(),...l}))}catch{}}const li=yv(),bl=_a(l=>({createModalStyle:li.createModalStyle??2,detailModalStyle:li.detailModalStyle??1,stylePreset:li.stylePreset??"default",setCreateModalStyle:s=>{l({createModalStyle:s}),$c({createModalStyle:s})},setDetailModalStyle:s=>{l({detailModalStyle:s}),$c({detailModalStyle:s})},setStylePreset:s=>{l({stylePreset:s}),$c({stylePreset:s}),document.documentElement.dataset.style=s}}));document.documentElement.dataset.style=li.stylePreset??"default";function bv(l){var s,o,i="";if(typeof l=="string"||typeof l=="number")i+=l;else if(typeof l=="object")if(Array.isArray(l)){var d=l.length;for(s=0;s<d;s++)l[s]&&(o=bv(l[s]))&&(i&&(i+=" "),i+=o)}else for(o in l)l[o]&&(i&&(i+=" "),i+=o);return i}function ES(){for(var l,s,o=0,i="",d=arguments.length;o<d;o++)(l=arguments[o])&&(s=bv(l))&&(i&&(i+=" "),i+=s);return i}const _S=(l,s)=>{const o=new Array(l.length+s.length);for(let i=0;i<l.length;i++)o[i]=l[i];for(let i=0;i<s.length;i++)o[l.length+i]=s[i];return o},CS=(l,s)=>({classGroupId:l,validator:s}),xv=(l=new Map,s=null,o)=>({nextPart:l,validators:s,classGroupId:o}),oi="-",fp=[],NS="arbitrary..",jS=l=>{const s=wS(l),{conflictingClassGroups:o,conflictingClassGroupModifiers:i}=l;return{getClassGroupId:h=>{if(h.startsWith("[")&&h.endsWith("]"))return TS(h);const p=h.split(oi),b=p[0]===""&&p.length>1?1:0;return Sv(p,b,s)},getConflictingClassGroupIds:(h,p)=>{if(p){const b=i[h],g=o[h];return b?g?_S(g,b):b:g||fp}return o[h]||fp}}},Sv=(l,s,o)=>{if(l.length-s===0)return o.classGroupId;const d=l[s],m=o.nextPart.get(d);if(m){const g=Sv(l,s+1,m);if(g)return g}const h=o.validators;if(h===null)return;const p=s===0?l.join(oi):l.slice(s).join(oi),b=h.length;for(let g=0;g<b;g++){const x=h[g];if(x.validator(p))return x.classGroupId}},TS=l=>l.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const s=l.slice(1,-1),o=s.indexOf(":"),i=s.slice(0,o);return i?NS+i:void 0})(),wS=l=>{const{theme:s,classGroups:o}=l;return AS(o,s)},AS=(l,s)=>{const o=xv();for(const i in l){const d=l[i];bu(d,o,i,s)}return o},bu=(l,s,o,i)=>{const d=l.length;for(let m=0;m<d;m++){const h=l[m];OS(h,s,o,i)}},OS=(l,s,o,i)=>{if(typeof l=="string"){DS(l,s,o);return}if(typeof l=="function"){zS(l,s,o,i);return}kS(l,s,o,i)},DS=(l,s,o)=>{const i=l===""?s:Ev(s,l);i.classGroupId=o},zS=(l,s,o,i)=>{if(RS(l)){bu(l(i),s,o,i);return}s.validators===null&&(s.validators=[]),s.validators.push(CS(o,l))},kS=(l,s,o,i)=>{const d=Object.entries(l),m=d.length;for(let h=0;h<m;h++){const[p,b]=d[h];bu(b,Ev(s,p),o,i)}},Ev=(l,s)=>{let o=l;const i=s.split(oi),d=i.length;for(let m=0;m<d;m++){const h=i[m];let p=o.nextPart.get(h);p||(p=xv(),o.nextPart.set(h,p)),o=p}return o},RS=l=>"isThemeGetter"in l&&l.isThemeGetter===!0,MS=l=>{if(l<1)return{get:()=>{},set:()=>{}};let s=0,o=Object.create(null),i=Object.create(null);const d=(m,h)=>{o[m]=h,s++,s>l&&(s=0,i=o,o=Object.create(null))};return{get(m){let h=o[m];if(h!==void 0)return h;if((h=i[m])!==void 0)return d(m,h),h},set(m,h){m in o?o[m]=h:d(m,h)}}},cu="!",mp=":",US=[],hp=(l,s,o,i,d)=>({modifiers:l,hasImportantModifier:s,baseClassName:o,maybePostfixModifierPosition:i,isExternal:d}),LS=l=>{const{prefix:s,experimentalParseClassName:o}=l;let i=d=>{const m=[];let h=0,p=0,b=0,g;const x=d.length;for(let O=0;O<x;O++){const z=d[O];if(h===0&&p===0){if(z===mp){m.push(d.slice(b,O)),b=O+1;continue}if(z==="/"){g=O;continue}}z==="["?h++:z==="]"?h--:z==="("?p++:z===")"&&p--}const S=m.length===0?d:d.slice(b);let _=S,C=!1;S.endsWith(cu)?(_=S.slice(0,-1),C=!0):S.startsWith(cu)&&(_=S.slice(1),C=!0);const k=g&&g>b?g-b:void 0;return hp(m,C,_,k)};if(s){const d=s+mp,m=i;i=h=>h.startsWith(d)?m(h.slice(d.length)):hp(US,!1,h,void 0,!0)}if(o){const d=i;i=m=>o({className:m,parseClassName:d})}return i},BS=l=>{const s=new Map;return l.orderSensitiveModifiers.forEach((o,i)=>{s.set(o,1e6+i)}),o=>{const i=[];let d=[];for(let m=0;m<o.length;m++){const h=o[m],p=h[0]==="[",b=s.has(h);p||b?(d.length>0&&(d.sort(),i.push(...d),d=[]),i.push(h)):d.push(h)}return d.length>0&&(d.sort(),i.push(...d)),i}},HS=l=>({cache:MS(l.cacheSize),parseClassName:LS(l),sortModifiers:BS(l),...jS(l)}),qS=/\s+/,GS=(l,s)=>{const{parseClassName:o,getClassGroupId:i,getConflictingClassGroupIds:d,sortModifiers:m}=s,h=[],p=l.trim().split(qS);let b="";for(let g=p.length-1;g>=0;g-=1){const x=p[g],{isExternal:S,modifiers:_,hasImportantModifier:C,baseClassName:k,maybePostfixModifierPosition:O}=o(x);if(S){b=x+(b.length>0?" "+b:b);continue}let z=!!O,U=i(z?k.substring(0,O):k);if(!U){if(!z){b=x+(b.length>0?" "+b:b);continue}if(U=i(k),!U){b=x+(b.length>0?" "+b:b);continue}z=!1}const Z=_.length===0?"":_.length===1?_[0]:m(_).join(":"),Q=C?Z+cu:Z,I=Q+U;if(h.indexOf(I)>-1)continue;h.push(I);const se=d(U,z);for(let V=0;V<se.length;++V){const H=se[V];h.push(Q+H)}b=x+(b.length>0?" "+b:b)}return b},YS=(...l)=>{let s=0,o,i,d="";for(;s<l.length;)(o=l[s++])&&(i=_v(o))&&(d&&(d+=" "),d+=i);return d},_v=l=>{if(typeof l=="string")return l;let s,o="";for(let i=0;i<l.length;i++)l[i]&&(s=_v(l[i]))&&(o&&(o+=" "),o+=s);return o},VS=(l,...s)=>{let o,i,d,m;const h=b=>{const g=s.reduce((x,S)=>S(x),l());return o=HS(g),i=o.cache.get,d=o.cache.set,m=p,p(b)},p=b=>{const g=i(b);if(g)return g;const x=GS(b,o);return d(b,x),x};return m=h,(...b)=>m(YS(...b))},XS=[],Ie=l=>{const s=o=>o[l]||XS;return s.isThemeGetter=!0,s},Cv=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Nv=/^\((?:(\w[\w-]*):)?(.+)\)$/i,KS=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,QS=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ZS=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,JS=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,IS=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,FS=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Pa=l=>KS.test(l),he=l=>!!l&&!Number.isNaN(Number(l)),$a=l=>!!l&&Number.isInteger(Number(l)),eu=l=>l.endsWith("%")&&he(l.slice(0,-1)),xa=l=>QS.test(l),jv=()=>!0,WS=l=>ZS.test(l)&&!JS.test(l),xu=()=>!1,PS=l=>IS.test(l),$S=l=>FS.test(l),e2=l=>!$(l)&&!ee(l),t2=l=>sn(l,Av,xu),$=l=>Cv.test(l),jn=l=>sn(l,Ov,WS),pp=l=>sn(l,c2,he),a2=l=>sn(l,zv,jv),n2=l=>sn(l,Dv,xu),vp=l=>sn(l,Tv,xu),l2=l=>sn(l,wv,$S),Ps=l=>sn(l,kv,PS),ee=l=>Nv.test(l),Er=l=>On(l,Ov),r2=l=>On(l,Dv),gp=l=>On(l,Tv),s2=l=>On(l,Av),i2=l=>On(l,wv),$s=l=>On(l,kv,!0),o2=l=>On(l,zv,!0),sn=(l,s,o)=>{const i=Cv.exec(l);return i?i[1]?s(i[1]):o(i[2]):!1},On=(l,s,o=!1)=>{const i=Nv.exec(l);return i?i[1]?s(i[1]):o:!1},Tv=l=>l==="position"||l==="percentage",wv=l=>l==="image"||l==="url",Av=l=>l==="length"||l==="size"||l==="bg-size",Ov=l=>l==="length",c2=l=>l==="number",Dv=l=>l==="family-name",zv=l=>l==="number"||l==="weight",kv=l=>l==="shadow",u2=()=>{const l=Ie("color"),s=Ie("font"),o=Ie("text"),i=Ie("font-weight"),d=Ie("tracking"),m=Ie("leading"),h=Ie("breakpoint"),p=Ie("container"),b=Ie("spacing"),g=Ie("radius"),x=Ie("shadow"),S=Ie("inset-shadow"),_=Ie("text-shadow"),C=Ie("drop-shadow"),k=Ie("blur"),O=Ie("perspective"),z=Ie("aspect"),U=Ie("ease"),Z=Ie("animate"),Q=()=>["auto","avoid","all","avoid-page","page","left","right","column"],I=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],se=()=>[...I(),ee,$],V=()=>["auto","hidden","clip","visible","scroll"],H=()=>["auto","contain","none"],X=()=>[ee,$,b],ue=()=>[Pa,"full","auto",...X()],De=()=>[$a,"none","subgrid",ee,$],Be=()=>["auto",{span:["full",$a,ee,$]},$a,ee,$],Re=()=>[$a,"auto",ee,$],At=()=>["auto","min","max","fr",ee,$],ot=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],Ge=()=>["start","end","center","stretch","center-safe","end-safe"],M=()=>["auto",...X()],K=()=>[Pa,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...X()],F=()=>[Pa,"screen","full","dvw","lvw","svw","min","max","fit",...X()],te=()=>[Pa,"screen","full","lh","dvh","lvh","svh","min","max","fit",...X()],L=()=>[l,ee,$],N=()=>[...I(),gp,vp,{position:[ee,$]}],G=()=>["no-repeat",{repeat:["","x","y","space","round"]}],J=()=>["auto","cover","contain",s2,t2,{size:[ee,$]}],W=()=>[eu,Er,jn],ne=()=>["","none","full",g,ee,$],re=()=>["",he,Er,jn],be=()=>["solid","dashed","dotted","double"],We=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],me=()=>[he,eu,gp,vp],Na=()=>["","none",k,ee,$],ta=()=>["none",he,ee,$],ja=()=>["none",he,ee,$],Dn=()=>[he,ee,$],Ot=()=>[Pa,"full",...X()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[xa],breakpoint:[xa],color:[jv],container:[xa],"drop-shadow":[xa],ease:["in","out","in-out"],font:[e2],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[xa],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[xa],shadow:[xa],spacing:["px",he],text:[xa],"text-shadow":[xa],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Pa,$,ee,z]}],container:["container"],columns:[{columns:[he,$,ee,p]}],"break-after":[{"break-after":Q()}],"break-before":[{"break-before":Q()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:se()}],overflow:[{overflow:V()}],"overflow-x":[{"overflow-x":V()}],"overflow-y":[{"overflow-y":V()}],overscroll:[{overscroll:H()}],"overscroll-x":[{"overscroll-x":H()}],"overscroll-y":[{"overscroll-y":H()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:ue()}],"inset-x":[{"inset-x":ue()}],"inset-y":[{"inset-y":ue()}],start:[{"inset-s":ue(),start:ue()}],end:[{"inset-e":ue(),end:ue()}],"inset-bs":[{"inset-bs":ue()}],"inset-be":[{"inset-be":ue()}],top:[{top:ue()}],right:[{right:ue()}],bottom:[{bottom:ue()}],left:[{left:ue()}],visibility:["visible","invisible","collapse"],z:[{z:[$a,"auto",ee,$]}],basis:[{basis:[Pa,"full","auto",p,...X()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[he,Pa,"auto","initial","none",$]}],grow:[{grow:["",he,ee,$]}],shrink:[{shrink:["",he,ee,$]}],order:[{order:[$a,"first","last","none",ee,$]}],"grid-cols":[{"grid-cols":De()}],"col-start-end":[{col:Be()}],"col-start":[{"col-start":Re()}],"col-end":[{"col-end":Re()}],"grid-rows":[{"grid-rows":De()}],"row-start-end":[{row:Be()}],"row-start":[{"row-start":Re()}],"row-end":[{"row-end":Re()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":At()}],"auto-rows":[{"auto-rows":At()}],gap:[{gap:X()}],"gap-x":[{"gap-x":X()}],"gap-y":[{"gap-y":X()}],"justify-content":[{justify:[...ot(),"normal"]}],"justify-items":[{"justify-items":[...Ge(),"normal"]}],"justify-self":[{"justify-self":["auto",...Ge()]}],"align-content":[{content:["normal",...ot()]}],"align-items":[{items:[...Ge(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...Ge(),{baseline:["","last"]}]}],"place-content":[{"place-content":ot()}],"place-items":[{"place-items":[...Ge(),"baseline"]}],"place-self":[{"place-self":["auto",...Ge()]}],p:[{p:X()}],px:[{px:X()}],py:[{py:X()}],ps:[{ps:X()}],pe:[{pe:X()}],pbs:[{pbs:X()}],pbe:[{pbe:X()}],pt:[{pt:X()}],pr:[{pr:X()}],pb:[{pb:X()}],pl:[{pl:X()}],m:[{m:M()}],mx:[{mx:M()}],my:[{my:M()}],ms:[{ms:M()}],me:[{me:M()}],mbs:[{mbs:M()}],mbe:[{mbe:M()}],mt:[{mt:M()}],mr:[{mr:M()}],mb:[{mb:M()}],ml:[{ml:M()}],"space-x":[{"space-x":X()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":X()}],"space-y-reverse":["space-y-reverse"],size:[{size:K()}],"inline-size":[{inline:["auto",...F()]}],"min-inline-size":[{"min-inline":["auto",...F()]}],"max-inline-size":[{"max-inline":["none",...F()]}],"block-size":[{block:["auto",...te()]}],"min-block-size":[{"min-block":["auto",...te()]}],"max-block-size":[{"max-block":["none",...te()]}],w:[{w:[p,"screen",...K()]}],"min-w":[{"min-w":[p,"screen","none",...K()]}],"max-w":[{"max-w":[p,"screen","none","prose",{screen:[h]},...K()]}],h:[{h:["screen","lh",...K()]}],"min-h":[{"min-h":["screen","lh","none",...K()]}],"max-h":[{"max-h":["screen","lh",...K()]}],"font-size":[{text:["base",o,Er,jn]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[i,o2,a2]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",eu,$]}],"font-family":[{font:[r2,n2,s]}],"font-features":[{"font-features":[$]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[d,ee,$]}],"line-clamp":[{"line-clamp":[he,"none",ee,pp]}],leading:[{leading:[m,...X()]}],"list-image":[{"list-image":["none",ee,$]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",ee,$]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:L()}],"text-color":[{text:L()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...be(),"wavy"]}],"text-decoration-thickness":[{decoration:[he,"from-font","auto",ee,jn]}],"text-decoration-color":[{decoration:L()}],"underline-offset":[{"underline-offset":[he,"auto",ee,$]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:X()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",ee,$]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",ee,$]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:N()}],"bg-repeat":[{bg:G()}],"bg-size":[{bg:J()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},$a,ee,$],radial:["",ee,$],conic:[$a,ee,$]},i2,l2]}],"bg-color":[{bg:L()}],"gradient-from-pos":[{from:W()}],"gradient-via-pos":[{via:W()}],"gradient-to-pos":[{to:W()}],"gradient-from":[{from:L()}],"gradient-via":[{via:L()}],"gradient-to":[{to:L()}],rounded:[{rounded:ne()}],"rounded-s":[{"rounded-s":ne()}],"rounded-e":[{"rounded-e":ne()}],"rounded-t":[{"rounded-t":ne()}],"rounded-r":[{"rounded-r":ne()}],"rounded-b":[{"rounded-b":ne()}],"rounded-l":[{"rounded-l":ne()}],"rounded-ss":[{"rounded-ss":ne()}],"rounded-se":[{"rounded-se":ne()}],"rounded-ee":[{"rounded-ee":ne()}],"rounded-es":[{"rounded-es":ne()}],"rounded-tl":[{"rounded-tl":ne()}],"rounded-tr":[{"rounded-tr":ne()}],"rounded-br":[{"rounded-br":ne()}],"rounded-bl":[{"rounded-bl":ne()}],"border-w":[{border:re()}],"border-w-x":[{"border-x":re()}],"border-w-y":[{"border-y":re()}],"border-w-s":[{"border-s":re()}],"border-w-e":[{"border-e":re()}],"border-w-bs":[{"border-bs":re()}],"border-w-be":[{"border-be":re()}],"border-w-t":[{"border-t":re()}],"border-w-r":[{"border-r":re()}],"border-w-b":[{"border-b":re()}],"border-w-l":[{"border-l":re()}],"divide-x":[{"divide-x":re()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":re()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...be(),"hidden","none"]}],"divide-style":[{divide:[...be(),"hidden","none"]}],"border-color":[{border:L()}],"border-color-x":[{"border-x":L()}],"border-color-y":[{"border-y":L()}],"border-color-s":[{"border-s":L()}],"border-color-e":[{"border-e":L()}],"border-color-bs":[{"border-bs":L()}],"border-color-be":[{"border-be":L()}],"border-color-t":[{"border-t":L()}],"border-color-r":[{"border-r":L()}],"border-color-b":[{"border-b":L()}],"border-color-l":[{"border-l":L()}],"divide-color":[{divide:L()}],"outline-style":[{outline:[...be(),"none","hidden"]}],"outline-offset":[{"outline-offset":[he,ee,$]}],"outline-w":[{outline:["",he,Er,jn]}],"outline-color":[{outline:L()}],shadow:[{shadow:["","none",x,$s,Ps]}],"shadow-color":[{shadow:L()}],"inset-shadow":[{"inset-shadow":["none",S,$s,Ps]}],"inset-shadow-color":[{"inset-shadow":L()}],"ring-w":[{ring:re()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:L()}],"ring-offset-w":[{"ring-offset":[he,jn]}],"ring-offset-color":[{"ring-offset":L()}],"inset-ring-w":[{"inset-ring":re()}],"inset-ring-color":[{"inset-ring":L()}],"text-shadow":[{"text-shadow":["none",_,$s,Ps]}],"text-shadow-color":[{"text-shadow":L()}],opacity:[{opacity:[he,ee,$]}],"mix-blend":[{"mix-blend":[...We(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":We()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[he]}],"mask-image-linear-from-pos":[{"mask-linear-from":me()}],"mask-image-linear-to-pos":[{"mask-linear-to":me()}],"mask-image-linear-from-color":[{"mask-linear-from":L()}],"mask-image-linear-to-color":[{"mask-linear-to":L()}],"mask-image-t-from-pos":[{"mask-t-from":me()}],"mask-image-t-to-pos":[{"mask-t-to":me()}],"mask-image-t-from-color":[{"mask-t-from":L()}],"mask-image-t-to-color":[{"mask-t-to":L()}],"mask-image-r-from-pos":[{"mask-r-from":me()}],"mask-image-r-to-pos":[{"mask-r-to":me()}],"mask-image-r-from-color":[{"mask-r-from":L()}],"mask-image-r-to-color":[{"mask-r-to":L()}],"mask-image-b-from-pos":[{"mask-b-from":me()}],"mask-image-b-to-pos":[{"mask-b-to":me()}],"mask-image-b-from-color":[{"mask-b-from":L()}],"mask-image-b-to-color":[{"mask-b-to":L()}],"mask-image-l-from-pos":[{"mask-l-from":me()}],"mask-image-l-to-pos":[{"mask-l-to":me()}],"mask-image-l-from-color":[{"mask-l-from":L()}],"mask-image-l-to-color":[{"mask-l-to":L()}],"mask-image-x-from-pos":[{"mask-x-from":me()}],"mask-image-x-to-pos":[{"mask-x-to":me()}],"mask-image-x-from-color":[{"mask-x-from":L()}],"mask-image-x-to-color":[{"mask-x-to":L()}],"mask-image-y-from-pos":[{"mask-y-from":me()}],"mask-image-y-to-pos":[{"mask-y-to":me()}],"mask-image-y-from-color":[{"mask-y-from":L()}],"mask-image-y-to-color":[{"mask-y-to":L()}],"mask-image-radial":[{"mask-radial":[ee,$]}],"mask-image-radial-from-pos":[{"mask-radial-from":me()}],"mask-image-radial-to-pos":[{"mask-radial-to":me()}],"mask-image-radial-from-color":[{"mask-radial-from":L()}],"mask-image-radial-to-color":[{"mask-radial-to":L()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":I()}],"mask-image-conic-pos":[{"mask-conic":[he]}],"mask-image-conic-from-pos":[{"mask-conic-from":me()}],"mask-image-conic-to-pos":[{"mask-conic-to":me()}],"mask-image-conic-from-color":[{"mask-conic-from":L()}],"mask-image-conic-to-color":[{"mask-conic-to":L()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:N()}],"mask-repeat":[{mask:G()}],"mask-size":[{mask:J()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",ee,$]}],filter:[{filter:["","none",ee,$]}],blur:[{blur:Na()}],brightness:[{brightness:[he,ee,$]}],contrast:[{contrast:[he,ee,$]}],"drop-shadow":[{"drop-shadow":["","none",C,$s,Ps]}],"drop-shadow-color":[{"drop-shadow":L()}],grayscale:[{grayscale:["",he,ee,$]}],"hue-rotate":[{"hue-rotate":[he,ee,$]}],invert:[{invert:["",he,ee,$]}],saturate:[{saturate:[he,ee,$]}],sepia:[{sepia:["",he,ee,$]}],"backdrop-filter":[{"backdrop-filter":["","none",ee,$]}],"backdrop-blur":[{"backdrop-blur":Na()}],"backdrop-brightness":[{"backdrop-brightness":[he,ee,$]}],"backdrop-contrast":[{"backdrop-contrast":[he,ee,$]}],"backdrop-grayscale":[{"backdrop-grayscale":["",he,ee,$]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[he,ee,$]}],"backdrop-invert":[{"backdrop-invert":["",he,ee,$]}],"backdrop-opacity":[{"backdrop-opacity":[he,ee,$]}],"backdrop-saturate":[{"backdrop-saturate":[he,ee,$]}],"backdrop-sepia":[{"backdrop-sepia":["",he,ee,$]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":X()}],"border-spacing-x":[{"border-spacing-x":X()}],"border-spacing-y":[{"border-spacing-y":X()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",ee,$]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[he,"initial",ee,$]}],ease:[{ease:["linear","initial",U,ee,$]}],delay:[{delay:[he,ee,$]}],animate:[{animate:["none",Z,ee,$]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[O,ee,$]}],"perspective-origin":[{"perspective-origin":se()}],rotate:[{rotate:ta()}],"rotate-x":[{"rotate-x":ta()}],"rotate-y":[{"rotate-y":ta()}],"rotate-z":[{"rotate-z":ta()}],scale:[{scale:ja()}],"scale-x":[{"scale-x":ja()}],"scale-y":[{"scale-y":ja()}],"scale-z":[{"scale-z":ja()}],"scale-3d":["scale-3d"],skew:[{skew:Dn()}],"skew-x":[{"skew-x":Dn()}],"skew-y":[{"skew-y":Dn()}],transform:[{transform:[ee,$,"","none","gpu","cpu"]}],"transform-origin":[{origin:se()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Ot()}],"translate-x":[{"translate-x":Ot()}],"translate-y":[{"translate-y":Ot()}],"translate-z":[{"translate-z":Ot()}],"translate-none":["translate-none"],accent:[{accent:L()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:L()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",ee,$]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":X()}],"scroll-mx":[{"scroll-mx":X()}],"scroll-my":[{"scroll-my":X()}],"scroll-ms":[{"scroll-ms":X()}],"scroll-me":[{"scroll-me":X()}],"scroll-mbs":[{"scroll-mbs":X()}],"scroll-mbe":[{"scroll-mbe":X()}],"scroll-mt":[{"scroll-mt":X()}],"scroll-mr":[{"scroll-mr":X()}],"scroll-mb":[{"scroll-mb":X()}],"scroll-ml":[{"scroll-ml":X()}],"scroll-p":[{"scroll-p":X()}],"scroll-px":[{"scroll-px":X()}],"scroll-py":[{"scroll-py":X()}],"scroll-ps":[{"scroll-ps":X()}],"scroll-pe":[{"scroll-pe":X()}],"scroll-pbs":[{"scroll-pbs":X()}],"scroll-pbe":[{"scroll-pbe":X()}],"scroll-pt":[{"scroll-pt":X()}],"scroll-pr":[{"scroll-pr":X()}],"scroll-pb":[{"scroll-pb":X()}],"scroll-pl":[{"scroll-pl":X()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",ee,$]}],fill:[{fill:["none",...L()]}],"stroke-w":[{stroke:[he,Er,jn,pp]}],stroke:[{stroke:["none",...L()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},d2=VS(u2);function rt(...l){return d2(ES(l))}function xl({enabled:l,onClick:s}){return u.jsx("button",{type:"button",onClick:s,className:rt("relative inline-flex h-6 w-11 shrink-0 cursor-pointer rounded-full border-2 border-transparent","transition-colors duration-[var(--duration-fast)]","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]",l?"bg-accent-blue":"bg-border"),children:u.jsx("span",{className:rt("pointer-events-none inline-block h-5 w-5 rounded-full bg-white shadow-sm","transition-transform duration-[var(--duration-fast)]",l?"translate-x-5":"translate-x-0")})})}function Fe({title:l,description:s,children:o,className:i}){return u.jsxs("div",{className:rt("rounded-[var(--radius-default)] border border-border bg-bg-secondary p-[var(--spacing-4)]",i),children:[u.jsxs("div",{className:"mb-[var(--spacing-3)]",children:[u.jsx("h3",{className:"text-[length:var(--font-size-sm)] font-[var(--font-weight-semibold)] text-text-primary",children:l}),s&&u.jsx("p",{className:"mt-[var(--spacing-1)] text-[length:var(--font-size-xs)] text-text-secondary",children:s})]}),o]})}function Ue({label:l,description:s,htmlFor:o,children:i}){return u.jsxs("div",{className:"flex items-start justify-between gap-[var(--spacing-4)] py-[var(--spacing-2)]",children:[u.jsxs("div",{className:"flex-1 min-w-0",children:[u.jsx("label",{htmlFor:o,className:"text-[length:var(--font-size-sm)] font-[var(--font-weight-medium)] text-text-primary",children:l}),s&&u.jsx("p",{className:"mt-[var(--spacing-0-5)] text-[length:var(--font-size-xs)] text-text-secondary",children:s})]}),u.jsx("div",{className:"shrink-0",children:i})]})}function tn({id:l,value:s,onChange:o,placeholder:i,className:d,type:m="text"}){return u.jsx("input",{id:l,type:m,value:s,onChange:h=>o(h.target.value),placeholder:i,className:rt("w-48 px-[var(--spacing-2)] py-[var(--spacing-1)] rounded-[var(--radius-sm)]","border border-border bg-bg-primary text-text-primary text-[length:var(--font-size-sm)]","focus:outline-none focus:border-accent-blue focus:shadow-[var(--shadow-focus-ring)]","transition-colors duration-[var(--duration-fast)]","placeholder:text-text-tertiary",d)})}function Tn({id:l,value:s,onChange:o,options:i,className:d}){return u.jsx("select",{id:l,value:s,onChange:m=>o(m.target.value),className:rt("w-48 px-[var(--spacing-2)] py-[var(--spacing-1)] rounded-[var(--radius-sm)]","border border-border bg-bg-primary text-text-primary text-[length:var(--font-size-sm)]","focus:outline-none focus:border-accent-blue focus:shadow-[var(--shadow-focus-ring)]","transition-colors duration-[var(--duration-fast)]",d),children:i.map(m=>u.jsx("option",{value:m.value,children:m.label},m.value))})}function Cl({dirty:l,saving:s,onSave:o,onDiscard:i}){if(!l)return null;const{t:d}=gt();return u.jsxs("div",{className:"sticky bottom-0 left-0 right-0 flex items-center justify-end gap-[var(--spacing-2)] px-[var(--spacing-4)] py-[var(--spacing-3)] border-t border-border bg-bg-secondary/95 backdrop-blur-sm",children:[u.jsx("button",{type:"button",onClick:i,disabled:s,className:rt("px-[var(--spacing-3)] py-[var(--spacing-1-5)] rounded-[var(--radius-sm)]","text-[length:var(--font-size-sm)] font-[var(--font-weight-medium)]","border border-border text-text-secondary","hover:bg-bg-hover hover:text-text-primary","transition-colors duration-[var(--duration-fast)]","disabled:opacity-50 disabled:pointer-events-none"),children:d("settings.discard")}),u.jsx("button",{type:"button",onClick:o,disabled:s,className:rt("px-[var(--spacing-3)] py-[var(--spacing-1-5)] rounded-[var(--radius-sm)]","text-[length:var(--font-size-sm)] font-[var(--font-weight-medium)]","bg-accent-blue text-white","hover:opacity-90","transition-colors duration-[var(--duration-fast)]","disabled:opacity-50 disabled:pointer-events-none"),children:d(s?"settings.saving":"settings.save")})]})}const f2=["default","cowork"],m2={default:"settings.general.style_default",cowork:"settings.general.style_cowork"};function h2(){const{t:l}=gt(),s=bl(i=>i.stylePreset),o=bl(i=>i.setStylePreset);return u.jsx(Ue,{label:l("settings.general.style_preset_label"),description:l("settings.general.style_preset_desc"),children:u.jsx("div",{className:"flex items-center gap-[var(--spacing-1)]",children:f2.map(i=>u.jsx("button",{type:"button",onClick:()=>o(i),className:rt("px-3 py-1 rounded-[var(--radius-sm)] text-[length:var(--font-size-xs)] font-[var(--font-weight-medium)] transition-all duration-[var(--duration-fast)]","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]",s===i?"bg-accent-blue text-white":"text-text-secondary hover:text-text-primary hover:bg-bg-hover"),children:l(m2[i])},i))})})}function p2(){const{t:l}=gt(),s=wt(k=>k.connected),o=ce(k=>{var O;return(O=k.draft)==null?void 0:O.general}),i=ce(k=>k.saving),d=ce(k=>k.isDirty("general")),m=ce(k=>k.updateDraft),h=ce(k=>k.saveConfig),p=ce(k=>k.discardDraft),b=ce(k=>{var O;return((O=k.draft)==null?void 0:O.searchTool)??"mcp__ace-tool__search_context"}),g=ce(k=>k.isDirty("searchTool")),x=ce(k=>k.chineseResponse),S=ce(k=>k.loadChineseResponse),_=ce(k=>k.toggleChineseResponse);if(y.useEffect(()=>{S()},[S]),!o)return null;const C=k=>{m("general",{...o,...k})};return u.jsxs("div",{className:"flex flex-col gap-[var(--spacing-4)]",children:[u.jsx(Fe,{title:l("settings.general.connection_card"),description:l("settings.general.connection_desc"),children:u.jsxs("div",{className:"flex items-center gap-[var(--spacing-2)]",children:[u.jsx("span",{className:`w-2.5 h-2.5 rounded-full ${s?"bg-status-completed":"bg-status-blocked"}`}),u.jsx("span",{className:"text-[length:var(--font-size-sm)] text-text-primary",children:l(s?"settings.general.connected":"settings.general.disconnected")})]})}),u.jsxs(Fe,{title:l("settings.general.appearance_card"),description:l("settings.general.appearance_desc"),children:[u.jsx(Ue,{label:l("settings.general.theme_label"),description:l("settings.general.theme_desc"),htmlFor:"settings-theme",children:u.jsx(Tn,{id:"settings-theme",value:o.theme,onChange:k=>C({theme:k}),options:[{value:"system",label:l("settings.general.theme_system")},{value:"dark",label:l("settings.general.theme_dark")},{value:"light",label:l("settings.general.theme_light")}]})}),u.jsx(Ue,{label:l("settings.general.language_label"),description:l("settings.general.language_desc"),htmlFor:"settings-language",children:u.jsx(Tn,{id:"settings-language",value:o.language,onChange:k=>C({language:k}),options:[{value:"en",label:"English"},{value:"zh-CN",label:"中文"}]})}),u.jsx(h2,{})]}),u.jsxs(Fe,{title:l("settings.general.search_tool_card"),description:l("settings.general.search_tool_desc"),children:[u.jsx(Ue,{label:l("settings.general.search_tool_label"),description:l("settings.general.search_tool_desc"),htmlFor:"settings-search-tool",children:u.jsx(tn,{id:"settings-search-tool",value:b,onChange:k=>m("searchTool",k),placeholder:"mcp__ace-tool__search_context",className:"w-72 font-mono text-[length:var(--font-size-xs)]"})}),u.jsx(Cl,{dirty:g,saving:i,onSave:()=>void h("searchTool"),onDiscard:()=>p("searchTool")})]}),x&&u.jsxs(Fe,{title:l("settings.general.response_lang_card"),description:l("settings.general.response_lang_desc"),children:[u.jsx(Ue,{label:l("settings.general.chinese_claude_label"),description:l("settings.general.chinese_claude_desc"),children:u.jsxs("div",{className:"flex items-center gap-[var(--spacing-2)]",children:[u.jsx("span",{className:"text-[length:var(--font-size-xs)] font-[var(--font-weight-medium)] text-accent-blue bg-accent-blue/10 px-[var(--spacing-1-5)] py-0.5 rounded-[var(--radius-sm)]",children:"Claude"}),u.jsx(xl,{enabled:x.claudeEnabled,onClick:()=>void _(!x.claudeEnabled,"claude")})]})}),u.jsx(Ue,{label:l("settings.general.chinese_codex_label"),description:l("settings.general.chinese_codex_desc"),children:u.jsxs("div",{className:"flex items-center gap-[var(--spacing-2)]",children:[u.jsx("span",{className:"text-[length:var(--font-size-xs)] font-[var(--font-weight-medium)] text-green-400 bg-green-400/10 px-[var(--spacing-1-5)] py-0.5 rounded-[var(--radius-sm)]",children:"Codex"}),u.jsx(xl,{enabled:x.codexEnabled,onClick:()=>void _(!x.codexEnabled,"codex")})]})}),x.codexNeedsMigration&&u.jsx("div",{className:"mt-[var(--spacing-2)] px-[var(--spacing-3)] py-[var(--spacing-2)] rounded-[var(--radius-sm)] bg-status-blocked/10 border border-status-blocked/30",children:u.jsx("p",{className:"text-[length:var(--font-size-xs)] text-status-blocked",children:l("settings.general.codex_migrate_hint")})}),!x.guidelinesExists&&u.jsx("div",{className:"mt-[var(--spacing-2)] px-[var(--spacing-3)] py-[var(--spacing-2)] rounded-[var(--radius-sm)] bg-status-blocked/10 border border-status-blocked/30",children:u.jsx("p",{className:"text-[length:var(--font-size-xs)] text-status-blocked",children:l("settings.general.guidelines_missing")})})]}),u.jsx(Cl,{dirty:d,saving:i,onSave:()=>void h("general"),onDiscard:()=>p("general")})]})}const v2={"claude-code":{apiKeyLabel:"API Key",apiKeyPlaceholder:"sk-ant-...",apiKeyEnvHint:"ANTHROPIC_API_KEY",showBaseUrl:!0,baseUrlPlaceholder:"https://api.anthropic.com",showSettingsFile:!0,settingsFileDescription:"Path to Claude Code settings JSON (maps model aliases, sets env vars)"},"agent-sdk":{apiKeyLabel:"API Key",apiKeyPlaceholder:"sk-ant-...",apiKeyEnvHint:"ANTHROPIC_API_KEY",showBaseUrl:!0,baseUrlPlaceholder:"https://api.anthropic.com",showSettingsFile:!0,settingsFileDescription:"Path to Claude Code settings JSON (maps model aliases, sets env vars)"},codex:{apiKeyLabel:"OpenAI API Key",apiKeyPlaceholder:"sk-...",apiKeyEnvHint:"OPENAI_API_KEY",showBaseUrl:!1,showSettingsFile:!0,settingsFileLabel:"Profile",settingsFilePlaceholder:"my-profile",settingsFileDescription:"Profile name from ~/.codex/config.toml (passed as --profile)"},"codex-server":{apiKeyLabel:"OpenAI API Key",apiKeyPlaceholder:"sk-...",apiKeyEnvHint:"OPENAI_API_KEY",showBaseUrl:!1,showSettingsFile:!0,settingsFileLabel:"Profile",settingsFilePlaceholder:"my-profile",settingsFileDescription:"Profile name from ~/.codex/config.toml"},gemini:{apiKeyLabel:"Gemini API Key",apiKeyPlaceholder:"AIza...",apiKeyEnvHint:"GEMINI_API_KEY",showBaseUrl:!1,showSettingsFile:!1},qwen:{apiKeyLabel:"DashScope API Key",apiKeyPlaceholder:"sk-...",apiKeyEnvHint:"DASHSCOPE_API_KEY",showBaseUrl:!1,showSettingsFile:!1},opencode:{apiKeyLabel:"API Key",apiKeyPlaceholder:"",apiKeyEnvHint:"OPENAI_API_KEY",showBaseUrl:!1,showSettingsFile:!1}},g2=[{type:"claude-code",label:"Claude Code"},{type:"agent-sdk",label:"Agent SDK"},{type:"codex",label:"Codex"},{type:"gemini",label:"Gemini"},{type:"qwen",label:"Qwen"},{type:"opencode",label:"OpenCode"}];function y2(){const{t:l}=gt(),s=ce(_=>{var C;return(C=_.draft)==null?void 0:C.agents}),o=ce(_=>_.saving),i=ce(_=>_.isDirty("agents")),d=ce(_=>_.updateDraft),m=ce(_=>_.saveConfig),h=ce(_=>_.discardDraft),[p,b]=y.useState(null),g=_=>l({"claude-code":"settings.agents.claude_code_desc","agent-sdk":"settings.agents.agent_sdk_desc",codex:"settings.agents.codex_desc",gemini:"settings.agents.gemini_desc",qwen:"settings.agents.qwen_desc",opencode:"settings.agents.opencode_desc"}[_]??"settings.agents.claude_code_desc");if(!s)return null;const x=(_,C)=>{d("agents",{...s,[_]:{...s[_],...C}})},S=_=>{b(C=>C===_?null:_)};return u.jsxs("div",{className:"flex flex-col gap-[var(--spacing-3)]",children:[g2.map(({type:_,label:C})=>{const k=s[_],O=p===_,z=v2[_];return u.jsxs(Fe,{title:C,description:g(_),children:[u.jsx("button",{type:"button",onClick:()=>S(_),className:rt("w-full text-left text-[length:var(--font-size-xs)] font-[var(--font-weight-medium)]","text-accent-blue hover:underline","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)] rounded-[var(--radius-sm)]"),children:l(O?"settings.agents.hide_config":"settings.agents.show_config")}),O&&u.jsxs("div",{className:"mt-[var(--spacing-3)] border-t border-border-divider pt-[var(--spacing-3)]",children:[u.jsx(Ue,{label:l("settings.agents.model_label"),description:l("settings.agents.model_desc"),htmlFor:`agent-model-${_}`,children:u.jsx(tn,{id:`agent-model-${_}`,value:k.model,onChange:U=>x(_,{model:U}),placeholder:l("settings.agents.model_placeholder")})}),u.jsx(Ue,{label:l("settings.agents.approval_label"),description:l("settings.agents.approval_desc"),htmlFor:`agent-approval-${_}`,children:u.jsx(Tn,{id:`agent-approval-${_}`,value:k.approvalMode,onChange:U=>x(_,{approvalMode:U}),options:[{value:"suggest",label:l("settings.agents.approval_suggest")},{value:"auto",label:l("settings.agents.approval_auto")}]})}),(z==null?void 0:z.showBaseUrl)&&u.jsx(Ue,{label:l("settings.agents.base_url_label"),description:l("settings.agents.base_url_desc"),htmlFor:`agent-baseurl-${_}`,children:u.jsx(tn,{id:`agent-baseurl-${_}`,value:k.baseUrl??"",onChange:U=>x(_,{baseUrl:U}),placeholder:z.baseUrlPlaceholder??""})}),z&&u.jsx(Ue,{label:z.apiKeyLabel,description:`Overrides ${z.apiKeyEnvHint} env var`,htmlFor:`agent-apikey-${_}`,children:u.jsx(tn,{id:`agent-apikey-${_}`,value:k.apiKey??"",onChange:U=>x(_,{apiKey:U}),placeholder:z.apiKeyPlaceholder,type:"password"})}),(z==null?void 0:z.showSettingsFile)&&u.jsx(Ue,{label:z.settingsFileLabel??l("settings.agents.settings_file_label"),description:z.settingsFileDescription??l("settings.agents.settings_file_desc"),htmlFor:`agent-settings-file-${_}`,children:u.jsx(tn,{id:`agent-settings-file-${_}`,value:k.settingsFile??"",onChange:U=>x(_,{settingsFile:U}),placeholder:z.settingsFilePlaceholder??"D:\\settings.json"})}),u.jsx(Ue,{label:l("settings.agents.env_file_label"),description:l("settings.agents.env_file_desc"),htmlFor:`agent-envfile-${_}`,children:u.jsx(tn,{id:`agent-envfile-${_}`,value:k.envFile??"",onChange:U=>x(_,{envFile:U}),placeholder:"~/.env.gemini"})})]})]},_)}),u.jsx(Cl,{dirty:i,saving:o,onSave:()=>void m("agents"),onDiscard:()=>h("agents")})]})}function b2(){const{t:l}=gt(),s=ce(S=>{var _;return((_=S.draft)==null?void 0:_.cliTools)??"{}"}),o=ce(S=>S.saving),i=ce(S=>S.isDirty("cliTools")),d=ce(S=>S.updateDraft),m=ce(S=>S.saveConfig),h=ce(S=>S.discardDraft),[p,b]=y.useState(null),g=y.useCallback(S=>{d("cliTools",S);try{JSON.parse(S),b(null)}catch(_){b(_ instanceof Error?_.message:"Invalid JSON")}},[d]),x=y.useCallback(()=>{try{const S=JSON.parse(s),_=JSON.stringify(S,null,2);d("cliTools",_),b(null)}catch{}},[s,d]);return u.jsxs("div",{className:"flex flex-col gap-[var(--spacing-4)]",children:[u.jsxs(Fe,{title:l("settings.cli_tools.config_card"),description:l("settings.cli_tools.config_desc"),children:[u.jsxs("div",{className:"flex items-center justify-between mb-[var(--spacing-2)]",children:[u.jsx("span",{className:"text-[length:var(--font-size-xs)] text-text-tertiary",children:"~/.maestro/cli-tools.json"}),u.jsx("button",{type:"button",onClick:x,className:rt("text-[length:var(--font-size-xs)] font-[var(--font-weight-medium)]","text-accent-blue hover:underline","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)] rounded-[var(--radius-sm)]"),children:l("settings.cli_tools.format_json")})]}),u.jsx("textarea",{value:s,onChange:S=>g(S.target.value),spellCheck:!1,className:rt("w-full h-80 px-[var(--spacing-3)] py-[var(--spacing-2)] rounded-[var(--radius-sm)]","border bg-bg-primary text-text-primary text-[length:var(--font-size-sm)]","font-mono leading-relaxed resize-y","focus:outline-none focus:shadow-[var(--shadow-focus-ring)]","transition-colors duration-[var(--duration-fast)]",p?"border-status-blocked":"border-border focus:border-accent-blue")}),p&&u.jsx("p",{className:"mt-[var(--spacing-1)] text-[length:var(--font-size-xs)] text-status-blocked",children:p})]}),u.jsx(Cl,{dirty:i&&!p,saving:o,onSave:()=>void m("cliTools"),onDiscard:()=>{h("cliTools"),b(null)}})]})}function x2(){const{t:l}=gt(),[s,o]=y.useState([]),[i,d]=y.useState(!0),[m,h]=y.useState(null);return y.useEffect(()=>{let p=!1;async function b(){try{const g=await fetch("/api/settings/specs");if(!g.ok)throw new Error(`Failed to load specs: ${g.status}`);const x=await g.json();p||(o(x.specs??[]),d(!1))}catch(g){p||(h(g instanceof Error?g.message:"Failed to load specs"),d(!1))}}return b(),()=>{p=!0}},[]),i?u.jsx("div",{className:"flex items-center justify-center py-[var(--spacing-8)]",children:u.jsx("span",{className:"text-[length:var(--font-size-sm)] text-text-secondary",children:l("settings.specs.loading")})}):m?u.jsx(Fe,{title:l("settings.specs.error_card"),description:l("settings.specs.error_desc"),children:u.jsx("p",{className:"text-[length:var(--font-size-sm)] text-status-blocked",children:m})}):s.length===0?u.jsx(Fe,{title:l("settings.specs.empty_card"),description:l("settings.specs.empty_desc"),children:u.jsx("p",{className:"text-[length:var(--font-size-sm)] text-text-secondary italic",children:l("settings.specs.empty_hint")})}):u.jsx("div",{className:"flex flex-col gap-[var(--spacing-3)]",children:s.map(p=>u.jsx(Fe,{title:p.name,description:p.path,children:p.createdAt&&u.jsxs("span",{className:"text-[length:var(--font-size-xs)] text-text-tertiary",children:[l("settings.specs.created"),": ",p.createdAt]})},p.name))})}const ei=_a((l,s)=>({configured:null,teams:[],selectedTeamId:null,board:null,selectedIssue:null,loading:!1,error:null,checkStatus:async()=>{try{const o=await fetch(Xc.STATUS);if(!o.ok)throw new Error(`HTTP ${o.status}`);const i=await o.json();l({configured:i.configured})}catch(o){l({configured:!1,error:String(o)})}},fetchTeams:async()=>{l({loading:!0,error:null});try{const o=await fetch(Xc.TEAMS);if(!o.ok)throw new Error(`HTTP ${o.status}`);const i=await o.json();if(l({teams:i,loading:!1}),i.length>0&&!s().selectedTeamId){const d=i[0].id;l({selectedTeamId:d}),s().fetchBoard(d)}}catch(o){l({loading:!1,error:String(o)})}},selectTeam:o=>{l({selectedTeamId:o,board:null,selectedIssue:null}),s().fetchBoard(o)},fetchBoard:async o=>{l({loading:!0,error:null});try{const i=await fetch(`${Xc.BOARD}?teamId=${o}`);if(!i.ok){const m=await i.json().catch(()=>({error:`HTTP ${i.status}`}));throw new Error(m.error)}const d=await i.json();l({board:d,loading:!1})}catch(i){l({loading:!1,error:String(i)})}},selectIssue:o=>{l({selectedIssue:o})},refresh:async()=>{const o=s().selectedTeamId;o&&await s().fetchBoard(o)},importIssues:async o=>{const i=await fetch("/api/linear/import",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({issues:o})});if(!i.ok){const d=await i.json().catch(()=>({error:`HTTP ${i.status}`}));throw new Error(d.error)}return await i.json()},exportIssues:async(o,i)=>{const d=await fetch("/api/linear/export",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({issues:o,teamId:i})});if(!d.ok){const m=await d.json().catch(()=>({error:`HTTP ${d.status}`}));throw new Error(m.error)}return await d.json()}}));function S2(){const{t:l}=gt(),s=ce(U=>{var Z;return(Z=U.draft)==null?void 0:Z.linear}),o=ce(U=>U.saving),i=ce(U=>U.isDirty("linear")),d=ce(U=>U.updateDraft),m=ce(U=>U.saveConfig),h=ce(U=>U.discardDraft),p=ei(U=>U.configured),b=ei(U=>U.teams),g=ei(U=>U.checkStatus),x=ei(U=>U.fetchTeams),[S,_]=y.useState(!1),[C,k]=y.useState(null);if(!s)return null;const O=async()=>{_(!0),k(null);try{await g();const U=await fetch("/api/linear/teams");if(!U.ok){const Q=await U.json().catch(()=>({error:`HTTP ${U.status}`}));throw new Error(Q.error)}const Z=await U.json();await x(),k({ok:!0,message:`Connected! Found ${Z.length} team(s)`})}catch(U){k({ok:!1,message:String(U)})}finally{_(!1)}},z=async()=>{await m("linear"),await g(),s.apiKey&&await x()};return u.jsxs("div",{className:"flex flex-col gap-[var(--spacing-4)]",children:[u.jsxs(Fe,{title:l("settings.linear.integration_card"),description:l("settings.linear.integration_desc"),children:[u.jsx(Ue,{label:l("settings.linear.api_key_label"),description:l("settings.linear.api_key_desc"),htmlFor:"settings-linear-api-key",children:u.jsx("input",{id:"settings-linear-api-key",type:"password",value:s.apiKey,onChange:U=>d("linear",{...s,apiKey:U.target.value}),placeholder:"lin_api_...",className:rt("w-48 px-[var(--spacing-2)] py-[var(--spacing-1)] rounded-[var(--radius-sm)]","border border-border bg-bg-primary text-text-primary text-[length:var(--font-size-sm)]","focus:outline-none focus:border-accent-blue focus:shadow-[var(--shadow-focus-ring)]","transition-colors duration-[var(--duration-fast)]","placeholder:text-text-tertiary")})}),u.jsxs("div",{className:"flex items-center gap-[var(--spacing-2)] pt-[var(--spacing-2)]",children:[u.jsx("span",{className:`w-2.5 h-2.5 rounded-full ${p===!0?"bg-status-completed":p===!1?"bg-status-blocked":"bg-bg-hover"}`}),u.jsx("span",{className:"text-[length:var(--font-size-sm)] text-text-secondary",children:l(p===!0?"settings.linear.connected":p===!1?"settings.linear.not_configured":"settings.linear.checking")})]}),u.jsxs("div",{className:"flex items-center gap-[var(--spacing-2)] pt-[var(--spacing-2)]",children:[u.jsx("button",{type:"button",onClick:()=>void O(),disabled:S,className:rt("px-[var(--spacing-3)] py-[var(--spacing-1-5)] rounded-[var(--radius-sm)]","text-[length:var(--font-size-sm)] font-[var(--font-weight-medium)]","border border-border text-text-secondary","hover:bg-bg-hover hover:text-text-primary","transition-colors duration-[var(--duration-fast)]","disabled:opacity-50 disabled:pointer-events-none"),children:l(S?"settings.linear.testing":"settings.linear.test_connection")}),C&&u.jsx("span",{className:rt("text-[length:var(--font-size-xs)]",C.ok?"text-status-completed":"text-status-blocked"),children:C.message})]})]}),p&&b.length>0&&u.jsx(Fe,{title:l("settings.linear.teams_card"),description:l("settings.linear.teams_desc"),children:u.jsx("div",{className:"flex flex-col gap-[var(--spacing-1)]",children:b.map(U=>u.jsxs("div",{className:"flex items-center gap-[var(--spacing-2)] py-[var(--spacing-1-5)] text-[length:var(--font-size-sm)]",children:[u.jsx("span",{className:"font-mono text-text-tertiary text-[length:var(--font-size-xs)]",children:U.key}),u.jsx("span",{className:"text-text-primary",children:U.name})]},U.id))})}),u.jsx(Cl,{dirty:i,saving:o,onSave:()=>void z(),onDiscard:()=>h("linear")})]})}function E2(){return u.jsxs("div",{className:"w-full h-full rounded-[6px] overflow-hidden flex flex-col",style:{backgroundColor:"#1D1B18",borderTop:"2px solid #C8863A"},children:[u.jsxs("div",{className:"px-2.5 py-2 flex-1",children:[u.jsx("div",{className:"h-[7px] rounded w-[72%] mb-2",style:{backgroundColor:"rgba(255,255,255,0.18)"}}),u.jsx("div",{className:"flex gap-1 mt-2 flex-wrap",children:["#C46555","#5B8DB8","#9178B5","#A09D97"].map(l=>u.jsx("div",{className:"h-[5px] rounded-full",style:{width:22,backgroundColor:`${l}55`}},l))})]}),u.jsxs("div",{className:"px-2.5 py-1.5 border-t flex items-center gap-1",style:{borderColor:"rgba(255,255,255,0.07)"},children:[u.jsx("div",{className:"h-[4px] rounded w-6",style:{backgroundColor:"rgba(255,255,255,0.15)"}}),u.jsx("div",{className:"h-[4px] rounded w-6 ml-1",style:{backgroundColor:"rgba(255,255,255,0.15)"}})]})]})}function _2(){return u.jsxs("div",{className:"w-full h-full rounded-[6px] overflow-hidden flex flex-col",style:{backgroundColor:"var(--color-bg-card)",border:"1px solid var(--color-border)"},children:[u.jsxs("div",{className:"flex items-center justify-between px-2 py-1.5 border-b",style:{borderColor:"var(--color-border-divider)"},children:[u.jsx("div",{className:"h-[5px] rounded w-14",style:{backgroundColor:"var(--color-text-primary)",opacity:.7}}),u.jsx("div",{className:"w-3 h-3 rounded-sm",style:{backgroundColor:"var(--color-bg-hover)"}})]}),u.jsxs("div",{className:"px-2 py-1.5 flex-1 space-y-1.5",children:[u.jsx("div",{className:"h-[3px] rounded w-6",style:{backgroundColor:"var(--color-text-tertiary)"}}),u.jsx("div",{className:"h-[6px] rounded border w-full",style:{borderColor:"var(--color-border)"}}),u.jsx("div",{className:"h-[3px] rounded w-8",style:{backgroundColor:"var(--color-text-tertiary)"}}),u.jsx("div",{className:"h-[12px] rounded border w-full",style:{borderColor:"var(--color-border)"}}),u.jsx("div",{className:"flex gap-1",children:["#C46555","#5B8DB8","#9178B5","#A09D97"].map(l=>u.jsx("div",{className:"h-[5px] rounded",style:{width:16,backgroundColor:`${l}25`}},l))})]}),u.jsxs("div",{className:"flex justify-end gap-1 px-2 py-1.5 border-t",style:{borderColor:"var(--color-border-divider)"},children:[u.jsx("div",{className:"h-[6px] rounded w-8",style:{backgroundColor:"var(--color-bg-secondary)",border:"1px solid var(--color-border)"}}),u.jsx("div",{className:"h-[6px] rounded w-10",style:{backgroundColor:"#C8863A"}})]})]})}function C2(){return u.jsx("div",{className:"w-full h-full rounded-[6px] overflow-hidden flex flex-col items-center justify-center px-3",style:{backgroundColor:"var(--color-bg-primary)"},children:u.jsxs("div",{className:"w-full",children:[u.jsx("div",{className:"h-[3px] rounded w-10 mb-2",style:{backgroundColor:"var(--color-text-tertiary)",opacity:.5}}),u.jsx("div",{className:"h-[10px] rounded w-[85%] mb-1.5",style:{backgroundColor:"var(--color-text-primary)",opacity:.55}}),u.jsx("div",{className:"h-[4px] rounded w-full mb-1",style:{backgroundColor:"var(--color-text-secondary)",opacity:.3}}),u.jsx("div",{className:"h-[4px] rounded w-[70%] mb-3",style:{backgroundColor:"var(--color-text-secondary)",opacity:.3}}),u.jsxs("div",{className:"flex gap-1 items-center pt-1.5 border-t",style:{borderColor:"var(--color-border-divider)"},children:[["#C46555","#5B8DB8","#9178B5"].map(l=>u.jsx("div",{className:"h-[4px] rounded-full",style:{width:18,backgroundColor:`${l}45`}},l)),u.jsx("div",{className:"ml-auto h-[5px] rounded w-8",style:{backgroundColor:"#C8863A",opacity:.7}})]})]})})}function N2(){return u.jsxs("div",{className:"w-full h-full rounded-[6px] overflow-hidden flex relative",style:{backgroundColor:"var(--color-bg-secondary)"},children:[u.jsx("div",{className:"flex-1",style:{backgroundColor:"rgba(0,0,0,0.12)"}}),u.jsxs("div",{className:"w-[45%] h-full flex flex-col",style:{backgroundColor:"var(--color-bg-card)",borderLeft:"1px solid var(--color-border)"},children:[u.jsxs("div",{className:"px-2 py-1.5 border-b flex items-center gap-1",style:{borderColor:"var(--color-border-divider)"},children:[u.jsx("div",{className:"h-[3px] rounded w-10",style:{backgroundColor:"var(--color-text-tertiary)"}}),u.jsx("div",{className:"h-[4px] rounded-full w-7 ml-1",style:{backgroundColor:"#5B8DB825"}})]}),u.jsxs("div",{className:"px-2 py-1.5 space-y-1.5 flex-1",children:[u.jsx("div",{className:"h-[6px] rounded w-[85%]",style:{backgroundColor:"var(--color-text-primary)",opacity:.6}}),u.jsx("div",{className:"h-[3px] rounded w-8 mt-1",style:{backgroundColor:"var(--color-text-tertiary)"}}),u.jsx("div",{className:"h-[4px] rounded w-12",style:{backgroundColor:"var(--color-bg-secondary)"}}),u.jsx("div",{className:"h-[3px] rounded w-8",style:{backgroundColor:"var(--color-text-tertiary)"}}),u.jsx("div",{className:"h-[4px] rounded w-16",style:{backgroundColor:"var(--color-bg-secondary)"}})]})]})]})}function j2(){return u.jsx("div",{className:"w-full h-full rounded-[6px] overflow-hidden flex items-center justify-center",style:{backgroundColor:"rgba(0,0,0,0.35)"},children:u.jsxs("div",{className:"w-[88%] h-[78%] rounded-[5px] overflow-hidden flex",style:{backgroundColor:"var(--color-bg-card)",border:"1px solid var(--color-border)"},children:[u.jsxs("div",{className:"flex-1 px-2 py-1.5 border-r",style:{borderColor:"var(--color-border-divider)"},children:[u.jsx("div",{className:"flex gap-1 mb-1.5",children:["#C46555","#5B8DB8"].map(l=>u.jsx("div",{className:"h-[4px] rounded-full w-8",style:{backgroundColor:`${l}30`}},l))}),u.jsx("div",{className:"h-[7px] rounded w-[90%] mb-1",style:{backgroundColor:"var(--color-text-primary)",opacity:.6}}),u.jsx("div",{className:"h-[3px] rounded w-full mb-1",style:{backgroundColor:"var(--color-text-secondary)",opacity:.35}}),u.jsx("div",{className:"h-[3px] rounded w-[80%]",style:{backgroundColor:"var(--color-text-secondary)",opacity:.35}})]}),u.jsxs("div",{className:"w-[36%] px-1.5 py-1.5 space-y-1.5",style:{backgroundColor:"var(--color-bg-secondary)"},children:[u.jsx("div",{className:"h-[3px] rounded w-10",style:{backgroundColor:"var(--color-text-tertiary)"}}),[["#C46555",18],["#5B8DB8",14],["#A09D97",20]].map(([l,s],o)=>u.jsx("div",{className:"h-[4px] rounded-full",style:{width:s,backgroundColor:`${l}35`}},o))]})]})})}function T2(){return u.jsxs("div",{className:"w-full h-full rounded-[6px] overflow-hidden flex flex-col",style:{backgroundColor:"var(--color-bg-primary)"},children:[u.jsxs("div",{className:"flex items-center justify-between px-2 py-1 border-b shrink-0",style:{borderColor:"var(--color-border-divider)",backgroundColor:"var(--color-bg-card)"},children:[u.jsxs("div",{className:"flex items-center gap-1",children:[u.jsx("div",{className:"h-[3px] rounded w-6",style:{backgroundColor:"var(--color-text-tertiary)"}}),u.jsx("span",{className:"text-[6px]",style:{color:"var(--color-text-tertiary)"},children:"›"}),u.jsx("div",{className:"h-[3px] rounded w-8",style:{backgroundColor:"var(--color-text-primary)",opacity:.5}})]}),u.jsxs("div",{className:"flex gap-1",children:[u.jsx("div",{className:"h-[4px] rounded-full w-8",style:{backgroundColor:"#C4655525"}}),u.jsx("div",{className:"h-[4px] rounded-full w-6",style:{backgroundColor:"#5B8DB825"}})]})]}),u.jsxs("div",{className:"flex flex-1 overflow-hidden",children:[u.jsxs("div",{className:"flex-1 px-3 py-2 space-y-1.5",children:[u.jsx("div",{className:"h-[3px] rounded w-16",style:{backgroundColor:"var(--color-text-tertiary)",opacity:.5}}),u.jsx("div",{className:"h-[8px] rounded w-[80%]",style:{backgroundColor:"var(--color-text-primary)",opacity:.55}}),u.jsx("div",{className:"h-[3px] rounded w-full",style:{backgroundColor:"var(--color-text-secondary)",opacity:.28}}),u.jsx("div",{className:"h-[3px] rounded w-[75%]",style:{backgroundColor:"var(--color-text-secondary)",opacity:.28}})]}),u.jsx("div",{className:"w-[30%] px-1.5 py-2 border-l space-y-1.5",style:{borderColor:"var(--color-border)",backgroundColor:"var(--color-bg-secondary)"},children:[12,16,10,14].map((l,s)=>u.jsx("div",{className:"h-[3px] rounded",style:{width:l,backgroundColor:"var(--color-text-tertiary)",opacity:.5}},s))})]})]})}function yp({value:l,current:s,label:o,description:i,accentColor:d,children:m,onSelect:h}){const p=l===s;return u.jsxs("button",{type:"button",onClick:()=>h(l),className:"flex-1 min-w-0 rounded-[10px] overflow-hidden border-2 transition-all duration-200 text-left focus-visible:outline-none",style:{borderColor:p?d:"var(--color-border)",backgroundColor:p?`${d}06`:"var(--color-bg-card)",boxShadow:p?`0 0 0 3px ${d}20`:"var(--shadow-sm)",transform:p?"translateY(-1px)":"none"},children:[u.jsx("div",{className:"h-[100px] p-2",style:{backgroundColor:p?`${d}08`:"var(--color-bg-secondary)"},children:m}),u.jsxs("div",{className:"px-3 py-2.5 border-t",style:{borderColor:"var(--color-border-divider)"},children:[u.jsxs("div",{className:"flex items-center gap-1.5 mb-0.5",children:[p&&u.jsx("div",{className:"w-2 h-2 rounded-full shrink-0",style:{backgroundColor:d}}),u.jsx("span",{className:"text-[11px] font-semibold",style:{color:p?d:"var(--color-text-primary)"},children:o})]}),u.jsx("p",{className:"text-[10px] leading-snug",style:{color:"var(--color-text-tertiary)"},children:i})]})]})}function w2(){const l=[{color:"#A09D97",cards:[72,60,85]},{color:"#B89540",cards:[90,65]},{color:"#5A9E78",cards:[55]}];return u.jsx("div",{className:"absolute inset-0 flex gap-2 p-3",style:{backgroundColor:"var(--color-bg-secondary)"},children:l.map((s,o)=>u.jsxs("div",{className:"flex-1 rounded-[8px] overflow-hidden",style:{backgroundColor:"var(--color-bg-primary)"},children:[u.jsxs("div",{className:"flex items-center gap-1.5 px-2 py-1.5 border-b",style:{borderColor:"var(--color-border-divider)"},children:[u.jsx("div",{className:"w-2 h-2 rounded-full",style:{backgroundColor:s.color}}),u.jsx("div",{className:"h-[5px] rounded w-12",style:{backgroundColor:"var(--color-text-secondary)",opacity:.4}})]}),u.jsx("div",{className:"p-1.5 space-y-1.5",children:s.cards.map((i,d)=>u.jsxs("div",{className:"rounded-[5px] p-1.5",style:{backgroundColor:"var(--color-bg-card)",border:"1px solid var(--color-border)"},children:[u.jsxs("div",{className:"flex gap-1 mb-1",children:[u.jsx("div",{className:"h-[4px] rounded-full w-10",style:{backgroundColor:`${s.color}35`}}),u.jsx("div",{className:"h-[4px] rounded-full w-7 ml-auto",style:{backgroundColor:"rgba(160,157,151,0.25)"}})]}),u.jsx("div",{className:"h-[4px] rounded",style:{width:`${i}%`,backgroundColor:"var(--color-text-secondary)",opacity:.3}})]},d))})]},o))})}function A2({style:l,animKey:s}){return l===1?u.jsx("div",{className:"absolute inset-0 flex items-start justify-center pt-[14%]",style:{backgroundColor:"rgba(0,0,0,0.65)"},children:u.jsxs("div",{className:"w-[70%] rounded-[10px] overflow-hidden motion-safe:animate-[modal-enter_240ms_ease-out_both]",style:{backgroundColor:"#1D1B18",borderTop:"2px solid #C8863A",boxShadow:"0 16px 50px rgba(0,0,0,0.5)"},children:[u.jsx("div",{className:"px-4 py-3",children:u.jsx("div",{className:"h-[8px] rounded w-[60%]",style:{backgroundColor:"rgba(255,255,255,0.22)"}})}),u.jsx("div",{className:"px-4 pb-3 pt-2 border-t",style:{borderColor:"rgba(255,255,255,0.07)"},children:u.jsx("div",{className:"flex gap-1.5",children:["#C46555","#5B8DB8","#9178B5","#A09D97"].map(o=>u.jsx("div",{className:"h-[6px] rounded-full w-8",style:{backgroundColor:`${o}45`}},o))})}),u.jsx("div",{className:"px-4 py-2 border-t flex items-center",style:{borderColor:"rgba(255,255,255,0.07)"},children:u.jsx("div",{className:"h-[4px] rounded w-24",style:{backgroundColor:"rgba(255,255,255,0.12)"}})})]},s)}):l===2?u.jsx("div",{className:"absolute inset-0 flex items-center justify-center",style:{backgroundColor:"rgba(0,0,0,0.38)"},children:u.jsxs("div",{className:"w-[72%] rounded-[12px] overflow-hidden motion-safe:animate-[modal-enter_240ms_ease-out_both]",style:{backgroundColor:"var(--color-bg-card)",border:"1px solid var(--color-border)",boxShadow:"0 12px 40px rgba(0,0,0,0.2)"},children:[u.jsxs("div",{className:"flex items-center justify-between px-4 py-2.5 border-b",style:{borderColor:"var(--color-border-divider)"},children:[u.jsx("div",{className:"h-[7px] rounded w-16",style:{backgroundColor:"var(--color-text-primary)",opacity:.65}}),u.jsx("div",{className:"w-4 h-4 rounded",style:{backgroundColor:"var(--color-bg-hover)"}})]}),u.jsxs("div",{className:"px-4 py-3 space-y-2",children:[u.jsx("div",{className:"h-[4px] rounded w-8",style:{backgroundColor:"var(--color-text-tertiary)"}}),u.jsx("div",{className:"h-[8px] rounded border w-full",style:{borderColor:"var(--color-border)"}}),u.jsx("div",{className:"h-[4px] rounded w-10",style:{backgroundColor:"var(--color-text-tertiary)"}}),u.jsx("div",{className:"h-[16px] rounded border w-full",style:{borderColor:"var(--color-border)"}}),u.jsx("div",{className:"flex gap-1.5",children:["#C46555","#5B8DB8","#9178B5","#A09D97"].map(o=>u.jsx("div",{className:"h-[7px] rounded w-12",style:{backgroundColor:`${o}22`}},o))})]}),u.jsxs("div",{className:"flex justify-end gap-2 px-4 py-2.5 border-t",style:{borderColor:"var(--color-border-divider)"},children:[u.jsx("div",{className:"h-[8px] rounded w-10",style:{backgroundColor:"var(--color-bg-secondary)",border:"1px solid var(--color-border)"}}),u.jsx("div",{className:"h-[8px] rounded w-16",style:{backgroundColor:"#C8863A"}})]})]},s)}):u.jsx("div",{className:"absolute inset-0 flex items-center justify-center motion-safe:animate-[modal-enter_240ms_ease-out_both]",style:{backgroundColor:"var(--color-bg-primary)"},children:u.jsxs("div",{className:"w-[80%]",children:[u.jsx("div",{className:"h-[4px] rounded w-20 mb-3",style:{backgroundColor:"var(--color-text-tertiary)",opacity:.5}}),u.jsx("div",{className:"h-[14px] rounded w-[70%] mb-3",style:{backgroundColor:"var(--color-text-primary)",opacity:.55}}),u.jsxs("div",{className:"space-y-1.5 mb-6",children:[u.jsx("div",{className:"h-[5px] rounded w-full",style:{backgroundColor:"var(--color-text-secondary)",opacity:.25}}),u.jsx("div",{className:"h-[5px] rounded w-[85%]",style:{backgroundColor:"var(--color-text-secondary)",opacity:.25}})]}),u.jsxs("div",{className:"flex items-center gap-2 pt-2 border-t",style:{borderColor:"var(--color-border-divider)"},children:[["#C46555","#5B8DB8","#9178B5"].map(o=>u.jsx("div",{className:"h-[6px] rounded-full w-10",style:{backgroundColor:`${o}35`}},o)),u.jsx("div",{className:"ml-auto h-[8px] rounded w-12",style:{backgroundColor:"#C8863A"}})]})]})},s)}function O2({style:l,animKey:s}){return l===1?u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"absolute inset-0",style:{backgroundColor:"rgba(0,0,0,0.2)"}}),u.jsxs("div",{className:"absolute top-0 right-0 bottom-0 w-[42%] flex flex-col motion-safe:animate-[slide-in-right_240ms_ease-out_both]",style:{backgroundColor:"var(--color-bg-card)",borderLeft:"1px solid var(--color-border)",boxShadow:"0 0 30px rgba(0,0,0,0.15)"},children:[u.jsxs("div",{className:"flex items-center justify-between px-3 py-2 border-b",style:{borderColor:"var(--color-border-divider)"},children:[u.jsx("div",{className:"h-[4px] rounded w-16",style:{backgroundColor:"var(--color-text-tertiary)"}}),u.jsxs("div",{className:"flex gap-1",children:[u.jsx("div",{className:"h-[5px] rounded-full w-8",style:{backgroundColor:"#C4655530"}}),u.jsx("div",{className:"h-[5px] rounded-full w-8",style:{backgroundColor:"#5B8DB830"}})]})]}),u.jsxs("div",{className:"px-3 py-3 space-y-2.5 flex-1",children:[u.jsx("div",{className:"h-[8px] rounded w-[85%]",style:{backgroundColor:"var(--color-text-primary)",opacity:.55}}),u.jsx("div",{className:"h-[4px] rounded w-10",style:{backgroundColor:"var(--color-text-tertiary)"}}),u.jsx("div",{className:"h-[6px] rounded w-16",style:{backgroundColor:"var(--color-bg-secondary)"}}),u.jsx("div",{className:"h-[4px] rounded w-10",style:{backgroundColor:"var(--color-text-tertiary)"}}),u.jsxs("div",{className:"space-y-1",children:[u.jsx("div",{className:"h-[4px] rounded w-full",style:{backgroundColor:"var(--color-text-secondary)",opacity:.25}}),u.jsx("div",{className:"h-[4px] rounded w-[80%]",style:{backgroundColor:"var(--color-text-secondary)",opacity:.25}})]})]})]},s)]}):l===2?u.jsx("div",{className:"absolute inset-0 flex items-center justify-center",style:{backgroundColor:"rgba(0,0,0,0.45)"},children:u.jsxs("div",{className:"w-[88%] h-[78%] rounded-[10px] overflow-hidden flex motion-safe:animate-[modal-enter_240ms_ease-out_both]",style:{backgroundColor:"var(--color-bg-card)",border:"1px solid var(--color-border)",boxShadow:"0 12px 40px rgba(0,0,0,0.25)"},children:[u.jsxs("div",{className:"flex-1 flex flex-col border-r",style:{borderColor:"var(--color-border-divider)"},children:[u.jsx("div",{className:"flex items-center justify-between px-3 py-2 border-b shrink-0",style:{borderColor:"var(--color-border-divider)"},children:u.jsx("div",{className:"h-[4px] rounded w-14",style:{backgroundColor:"var(--color-text-tertiary)"}})}),u.jsxs("div",{className:"flex-1 px-3 py-3 space-y-2",children:[u.jsx("div",{className:"flex gap-1",children:["#C46555","#5B8DB8"].map(o=>u.jsx("div",{className:"h-[5px] rounded-full w-10",style:{backgroundColor:`${o}30`}},o))}),u.jsx("div",{className:"h-[9px] rounded w-[80%]",style:{backgroundColor:"var(--color-text-primary)",opacity:.55}}),u.jsxs("div",{className:"space-y-1",children:[u.jsx("div",{className:"h-[4px] rounded w-full",style:{backgroundColor:"var(--color-text-secondary)",opacity:.25}}),u.jsx("div",{className:"h-[4px] rounded w-[75%]",style:{backgroundColor:"var(--color-text-secondary)",opacity:.25}})]})]})]}),u.jsxs("div",{className:"w-[36%] px-2.5 py-3 space-y-2.5",style:{backgroundColor:"var(--color-bg-secondary)"},children:[u.jsx("div",{className:"h-[4px] rounded w-14",style:{backgroundColor:"var(--color-text-tertiary)"}}),[["#C46555",20],["#5B8DB8",16],["#A09D97",22]].map(([o,i],d)=>u.jsx("div",{className:"h-[6px] rounded-full",style:{width:i,backgroundColor:`${o}35`}},d)),u.jsxs("div",{className:"pt-2 border-t space-y-1.5",style:{borderColor:"var(--color-border-divider)"},children:[u.jsx("div",{className:"h-[4px] rounded w-10",style:{backgroundColor:"var(--color-text-tertiary)"}}),u.jsx("div",{className:"h-[4px] rounded w-12",style:{backgroundColor:"var(--color-text-secondary)",opacity:.35}})]})]})]},s)}):u.jsxs("div",{className:"absolute inset-0 flex flex-col motion-safe:animate-[slide-up_240ms_ease-out_both]",style:{backgroundColor:"var(--color-bg-primary)"},children:[u.jsxs("div",{className:"flex items-center justify-between px-3 py-2 border-b shrink-0",style:{borderColor:"var(--color-border-divider)",backgroundColor:"var(--color-bg-card)"},children:[u.jsxs("div",{className:"flex items-center gap-1.5",children:[u.jsx("div",{className:"h-[4px] rounded w-8",style:{backgroundColor:"var(--color-text-tertiary)"}}),u.jsx("span",{className:"text-[8px]",style:{color:"var(--color-text-tertiary)"},children:"›"}),u.jsx("div",{className:"h-[4px] rounded w-10",style:{backgroundColor:"var(--color-text-tertiary)"}}),u.jsx("span",{className:"text-[8px]",style:{color:"var(--color-text-tertiary)"},children:"›"}),u.jsx("div",{className:"h-[4px] rounded w-16",style:{backgroundColor:"var(--color-text-primary)",opacity:.5}})]}),u.jsxs("div",{className:"flex gap-1.5",children:[u.jsx("div",{className:"h-[5px] rounded-full w-9",style:{backgroundColor:"#C4655525"}}),u.jsx("div",{className:"h-[5px] rounded-full w-8",style:{backgroundColor:"#5B8DB825"}}),u.jsx("div",{className:"h-[6px] rounded w-10",style:{backgroundColor:"var(--color-bg-secondary)",border:"1px solid var(--color-border)"}})]})]}),u.jsxs("div",{className:"flex flex-1 overflow-hidden",children:[u.jsxs("div",{className:"flex-1 px-6 py-4 space-y-2",children:[u.jsx("div",{className:"h-[4px] rounded w-16",style:{backgroundColor:"var(--color-text-tertiary)",opacity:.5}}),u.jsx("div",{className:"h-[11px] rounded w-[65%]",style:{backgroundColor:"var(--color-text-primary)",opacity:.55}}),u.jsxs("div",{className:"space-y-1.5 pt-1",children:[u.jsx("div",{className:"h-[4px] rounded w-full",style:{backgroundColor:"var(--color-text-secondary)",opacity:.22}}),u.jsx("div",{className:"h-[4px] rounded w-[80%]",style:{backgroundColor:"var(--color-text-secondary)",opacity:.22}}),u.jsx("div",{className:"h-[4px] rounded w-[60%]",style:{backgroundColor:"var(--color-text-secondary)",opacity:.22}})]})]}),u.jsx("div",{className:"w-[28%] border-l px-2.5 py-4 space-y-2.5",style:{borderColor:"var(--color-border)",backgroundColor:"var(--color-bg-secondary)"},children:[["#C46555",22],["#5B8DB8",18],["#A09D97",24]].map(([o,i],d)=>u.jsxs("div",{children:[u.jsx("div",{className:"h-[3px] rounded w-8 mb-1",style:{backgroundColor:"var(--color-text-tertiary)",opacity:.6}}),u.jsx("div",{className:"h-[5px] rounded-full",style:{width:i,backgroundColor:`${o}35`}})]},d))})]})]},s)}function D2({target:l,createStyle:s,detailStyle:o,animKey:i,labels:d,captions:m,createBtnLabel:h,detailBtnLabel:p}){const b=l==="create"?s:o,g=l==="create"?"var(--color-accent-orange)":"var(--color-accent-blue)";return u.jsxs("div",{children:[u.jsxs("div",{className:"flex items-center gap-2 mb-3",children:[u.jsx("div",{className:"h-px flex-1",style:{backgroundColor:"var(--color-border-divider)"}}),u.jsxs("div",{className:"flex items-center gap-1.5",children:[u.jsx("div",{className:"w-1.5 h-1.5 rounded-full",style:{backgroundColor:g}}),u.jsxs("span",{className:"text-[10px] font-semibold uppercase tracking-wider",style:{color:"var(--color-text-tertiary)"},children:["Live Preview — ",d[l][b]]})]}),u.jsx("div",{className:"h-px flex-1",style:{backgroundColor:"var(--color-border-divider)"}})]}),u.jsxs("div",{className:"relative rounded-[10px] overflow-hidden border",style:{height:220,borderColor:"var(--color-border)",backgroundColor:"var(--color-bg-secondary)"},children:[u.jsx(w2,{}),l==="create"?u.jsx(A2,{style:s,animKey:i}):u.jsx(O2,{style:o,animKey:i})]}),u.jsx("p",{className:"mt-2 text-[10px] text-center",style:{color:"var(--color-text-tertiary)"},children:m[l][b]})]})}function z2(){const{t:l}=gt(),s=bl(C=>C.createModalStyle),o=bl(C=>C.detailModalStyle),i=bl(C=>C.setCreateModalStyle),d=bl(C=>C.setDetailModalStyle),[m,h]=y.useState("create"),[p,b]=y.useState("initial");function g(C){i(C),h("create"),b(`create-${C}-${Date.now()}`)}function x(C){d(C),h("detail"),b(`detail-${C}-${Date.now()}`)}const S=[{value:1,label:l("settings.kanban.create_command"),description:l("settings.kanban.create_command_desc"),thumb:u.jsx(E2,{})},{value:2,label:l("settings.kanban.create_form"),description:l("settings.kanban.create_form_desc"),thumb:u.jsx(_2,{})},{value:3,label:l("settings.kanban.create_focus"),description:l("settings.kanban.create_focus_desc"),thumb:u.jsx(C2,{})}],_=[{value:1,label:l("settings.kanban.detail_panel"),description:l("settings.kanban.detail_panel_desc"),thumb:u.jsx(N2,{})},{value:2,label:l("settings.kanban.detail_overlay"),description:l("settings.kanban.detail_overlay_desc"),thumb:u.jsx(j2,{})},{value:3,label:l("settings.kanban.detail_page"),description:l("settings.kanban.detail_page_desc"),thumb:u.jsx(T2,{})}];return u.jsxs("div",{className:"flex flex-col gap-[var(--spacing-5)]",children:[u.jsx(Fe,{title:l("settings.kanban.create_card"),description:l("settings.kanban.create_desc"),children:u.jsx("div",{className:"flex gap-3 mt-1",children:S.map(C=>u.jsx(yp,{value:C.value,current:s,label:C.label,description:C.description,accentColor:"var(--color-accent-orange)",onSelect:g,children:C.thumb},C.value))})}),u.jsx(Fe,{title:l("settings.kanban.detail_card"),description:l("settings.kanban.detail_desc"),children:u.jsx("div",{className:"flex gap-3 mt-1",children:_.map(C=>u.jsx(yp,{value:C.value,current:o,label:C.label,description:C.description,accentColor:"var(--color-accent-blue)",onSelect:x,children:C.thumb},C.value))})}),u.jsxs(Fe,{title:l("settings.kanban.preview_card"),description:l("settings.kanban.preview_desc"),children:[u.jsx("div",{className:"flex gap-1 mb-4",children:["create","detail"].map(C=>u.jsx("button",{type:"button",onClick:()=>{h(C),b(`${C}-${s}-${o}-${Date.now()}`)},className:"px-3 py-1 rounded-[var(--radius-sm)] text-[11px] font-medium transition-all",style:{backgroundColor:m===C?"var(--color-bg-active)":"transparent",color:m===C?"var(--color-text-primary)":"var(--color-text-tertiary)"},children:l(C==="create"?"settings.kanban.preview_create":"settings.kanban.preview_detail")},C))}),u.jsx(D2,{target:m,createStyle:s,detailStyle:o,animKey:p,labels:{create:{1:l("settings.kanban.create_command"),2:l("settings.kanban.create_form"),3:l("settings.kanban.create_focus")},detail:{1:l("settings.kanban.detail_panel"),2:l("settings.kanban.detail_overlay"),3:l("settings.kanban.detail_page")}},captions:{create:{1:l("settings.kanban.create_caption_1"),2:l("settings.kanban.create_caption_2"),3:l("settings.kanban.create_caption_3")},detail:{1:l("settings.kanban.detail_caption_1"),2:l("settings.kanban.detail_caption_2"),3:l("settings.kanban.detail_caption_3")}},createBtnLabel:l("settings.kanban.preview_create"),detailBtnLabel:l("settings.kanban.preview_detail")})]})]})}const k2=["development","staging","production","custom"],R2=["haiku","sonnet","opus"],M2=["low","medium","high"],U2=[{value:"claude-code",label:"Claude Code"},{value:"agent-sdk",label:"Agent SDK"},{value:"codex",label:"Codex"},{value:"gemini",label:"Gemini"},{value:"qwen",label:"Qwen"},{value:"opencode",label:"OpenCode"}];function Wt({label:l,description:s,value:o,onChange:i,id:d,min:m=0}){return u.jsx(Ue,{label:l,description:s,htmlFor:d,children:u.jsx(tn,{id:d,type:"text",value:String(o),onChange:h=>{const p=Number(h);!isNaN(p)&&p>=m&&i(p)},className:"w-32 font-mono"})})}function L2(){const{t:l}=gt(),s=ce(C=>{var k;return(k=C.draft)==null?void 0:k.commander}),o=ce(C=>C.saving),i=ce(C=>C.isDirty("commander")),d=ce(C=>C.updateDraft),m=ce(C=>C.saveConfig),h=ce(C=>C.discardDraft),p=k2.map(C=>({value:C,label:l(`settings.commander.profile_${C}`)})),b=R2.map(C=>({value:C,label:l(`settings.commander.model_${C}`)})),g=M2.map(C=>({value:C,label:l(`settings.commander.threshold_${C}`)}));if(!s)return null;const x=C=>{d("commander",{...s,...C})},S=C=>{d("commander",{...s,safety:{...s.safety,...C}})},_=C=>{d("commander",{...s,workspace:{...s.workspace,...C}})};return u.jsxs("div",{className:"flex flex-col gap-[var(--spacing-4)]",children:[u.jsx(Fe,{title:l("settings.commander.profile_card"),description:l("settings.commander.profile_desc"),children:u.jsx(Ue,{label:l("settings.commander.environment_label"),description:l("settings.commander.environment_desc"),htmlFor:"cmd-profile",children:u.jsx(Tn,{id:"cmd-profile",value:s.profile,onChange:C=>x({profile:C}),options:p})})}),u.jsxs(Fe,{title:l("settings.commander.core_card"),description:l("settings.commander.core_desc"),children:[u.jsx(Wt,{id:"cmd-poll-interval",label:l("settings.commander.poll_interval_label"),description:l("settings.commander.poll_interval_desc"),value:s.pollIntervalMs,onChange:C=>x({pollIntervalMs:C})}),u.jsx(Wt,{id:"cmd-max-workers",label:l("settings.commander.max_workers_label"),description:l("settings.commander.max_workers_desc"),value:s.maxConcurrentWorkers,onChange:C=>x({maxConcurrentWorkers:C})}),u.jsx(Wt,{id:"cmd-stall-timeout",label:l("settings.commander.stall_timeout_label"),description:l("settings.commander.stall_timeout_desc"),value:s.stallTimeoutMs,onChange:C=>x({stallTimeoutMs:C})}),u.jsx(Wt,{id:"cmd-max-retries",label:l("settings.commander.max_retries_label"),description:l("settings.commander.max_retries_desc"),value:s.maxRetries,onChange:C=>x({maxRetries:C})}),u.jsx(Wt,{id:"cmd-retry-backoff",label:l("settings.commander.retry_backoff_label"),description:l("settings.commander.retry_backoff_desc"),value:s.retryBackoffMs,onChange:C=>x({retryBackoffMs:C})})]}),u.jsxs(Fe,{title:l("settings.commander.decision_card"),description:l("settings.commander.decision_desc"),children:[u.jsx(Ue,{label:l("settings.commander.decision_model_label"),description:l("settings.commander.decision_model_desc"),htmlFor:"cmd-decision-model",children:u.jsx(Tn,{id:"cmd-decision-model",value:s.decisionModel,onChange:C=>x({decisionModel:C}),options:b})}),u.jsx(Wt,{id:"cmd-assess-turns",label:l("settings.commander.assess_turns_label"),description:l("settings.commander.assess_turns_desc"),value:s.assessMaxTurns,onChange:C=>x({assessMaxTurns:C})}),u.jsx(Ue,{label:l("settings.commander.threshold_label"),description:l("settings.commander.threshold_desc"),htmlFor:"cmd-approve-threshold",children:u.jsx(Tn,{id:"cmd-approve-threshold",value:s.autoApproveThreshold,onChange:C=>x({autoApproveThreshold:C}),options:g})}),u.jsx(Ue,{label:l("settings.commander.executor_label"),description:l("settings.commander.executor_desc"),htmlFor:"cmd-executor",children:u.jsx(Tn,{id:"cmd-executor",value:s.defaultExecutor,onChange:C=>x({defaultExecutor:C}),options:U2})})]}),u.jsxs(Fe,{title:l("settings.commander.safety_card"),description:l("settings.commander.safety_desc"),children:[u.jsx(Wt,{id:"cmd-debounce",label:l("settings.commander.debounce_label"),description:l("settings.commander.debounce_desc"),value:s.safety.eventDebounceMs,onChange:C=>S({eventDebounceMs:C})}),u.jsx(Wt,{id:"cmd-circuit-breaker",label:l("settings.commander.circuit_breaker_label"),description:l("settings.commander.circuit_breaker_desc"),value:s.safety.circuitBreakerThreshold,onChange:C=>S({circuitBreakerThreshold:C})}),u.jsx(Wt,{id:"cmd-max-ticks",label:l("settings.commander.max_ticks_label"),description:l("settings.commander.max_ticks_desc"),value:s.safety.maxTicksPerHour,onChange:C=>S({maxTicksPerHour:C})}),u.jsx(Wt,{id:"cmd-max-tokens",label:l("settings.commander.max_tokens_label"),description:l("settings.commander.max_tokens_desc"),value:s.safety.maxTokensPerHour,onChange:C=>S({maxTokensPerHour:C})}),u.jsx(Ue,{label:l("settings.commander.protected_paths_label"),description:l("settings.commander.protected_paths_desc"),htmlFor:"cmd-protected-paths",children:u.jsx(tn,{id:"cmd-protected-paths",value:s.safety.protectedPaths.join(", "),onChange:C=>S({protectedPaths:C.split(",").map(k=>k.trim()).filter(Boolean)}),placeholder:".env, *.key, credentials.*",className:"w-72 font-mono text-[length:var(--font-size-xs)]"})})]}),u.jsxs(Fe,{title:l("settings.commander.workspace_card"),description:l("settings.commander.workspace_desc"),children:[u.jsx(Ue,{label:l("settings.commander.workspace_enabled_label"),description:l("settings.commander.workspace_enabled_desc"),children:u.jsx(xl,{enabled:s.workspace.enabled,onClick:()=>_({enabled:!s.workspace.enabled})})}),u.jsx(Ue,{label:l("settings.commander.workspace_worktree_label"),description:l("settings.commander.workspace_worktree_desc"),children:u.jsx(xl,{enabled:s.workspace.useWorktree,onClick:()=>_({useWorktree:!s.workspace.useWorktree})})}),u.jsx(Ue,{label:l("settings.commander.workspace_autocleanup_label"),description:l("settings.commander.workspace_autocleanup_desc"),children:u.jsx(xl,{enabled:s.workspace.autoCleanup,onClick:()=>_({autoCleanup:!s.workspace.autoCleanup})})}),u.jsx(Ue,{label:l("settings.commander.workspace_strict_label"),description:l("settings.commander.workspace_strict_desc"),children:u.jsx(xl,{enabled:s.workspace.strict,onClick:()=>_({strict:!s.workspace.strict})})})]}),u.jsx(Cl,{dirty:i,saving:o,onSave:()=>void m("commander"),onDiscard:()=>h("commander")})]})}function B2({section:l}){switch(l){case"general":return u.jsx(p2,{});case"agents":return u.jsx(y2,{});case"cli-tools":return u.jsx(b2,{});case"specs":return u.jsx(x2,{});case"linear":return u.jsx(S2,{});case"kanban":return u.jsx(z2,{});case"commander":return u.jsx(L2,{});default:return null}}const H2=["general","agents","commander","cli-tools","specs","linear","kanban"],q2={general:"cog",agents:"bot",commander:"commander","cli-tools":"terminal",specs:"file-text",linear:"linear",kanban:"kanban"};function G2({icon:l}){const s="w-4 h-4 shrink-0";switch(l){case"cog":return u.jsxs("svg",{className:s,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[u.jsx("circle",{cx:"12",cy:"12",r:"3"}),u.jsx("path",{d:"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"})]});case"bot":return u.jsxs("svg",{className:s,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[u.jsx("rect",{x:"3",y:"11",width:"18",height:"10",rx:"2"}),u.jsx("circle",{cx:"12",cy:"5",r:"2"}),u.jsx("path",{d:"M12 7v4"}),u.jsx("line",{x1:"8",y1:"16",x2:"8",y2:"16"}),u.jsx("line",{x1:"16",y1:"16",x2:"16",y2:"16"})]});case"terminal":return u.jsxs("svg",{className:s,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[u.jsx("polyline",{points:"4 17 10 11 4 5"}),u.jsx("line",{x1:"12",y1:"19",x2:"20",y2:"19"})]});case"file-text":return u.jsxs("svg",{className:s,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[u.jsx("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),u.jsx("polyline",{points:"14 2 14 8 20 8"}),u.jsx("line",{x1:"16",y1:"13",x2:"8",y2:"13"}),u.jsx("line",{x1:"16",y1:"17",x2:"8",y2:"17"}),u.jsx("polyline",{points:"10 9 9 9 8 9"})]});case"linear":return u.jsxs("svg",{className:s,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[u.jsx("path",{d:"M3 17l6-6"}),u.jsx("path",{d:"M10 18l4-4"}),u.jsx("path",{d:"M14 20l7-7"})]});case"kanban":return u.jsxs("svg",{className:s,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[u.jsx("rect",{x:"3",y:"3",width:"5",height:"18",rx:"1"}),u.jsx("rect",{x:"10",y:"3",width:"5",height:"12",rx:"1"}),u.jsx("rect",{x:"17",y:"3",width:"5",height:"15",rx:"1"})]});case"commander":return u.jsxs("svg",{className:s,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[u.jsx("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"}),u.jsx("path",{d:"M9 9h6"}),u.jsx("path",{d:"M9 13h6"}),u.jsx("circle",{cx:"9",cy:"9",r:"0.5",fill:"currentColor"}),u.jsx("circle",{cx:"9",cy:"13",r:"0.5",fill:"currentColor"}),u.jsx("circle",{cx:"15",cy:"9",r:"0.5",fill:"currentColor"}),u.jsx("circle",{cx:"15",cy:"13",r:"0.5",fill:"currentColor"})]});default:return null}}function Y2(){const{t:l}=gt(),s=ce(x=>x.open),o=ce(x=>x.setOpen),i=ce(x=>x.activeSection),d=ce(x=>x.setActiveSection),m=ce(x=>x.loading),h=ce(x=>x.config),p=ce(x=>x.draft),b=ce(x=>!x.config||!x.draft?!1:JSON.stringify(x.config.general)!==JSON.stringify(x.draft.general)||JSON.stringify(x.config.agents)!==JSON.stringify(x.draft.agents)||x.config.cliTools!==x.draft.cliTools||JSON.stringify(x.config.linear)!==JSON.stringify(x.draft.linear)||x.config.searchTool!==x.draft.searchTool||JSON.stringify(x.config.commander)!==JSON.stringify(x.draft.commander)),g=y.useCallback(x=>{!x&&b&&!window.confirm(l("settings.unsaved_confirm"))||o(x)},[b,o]);return y.useEffect(()=>{function x(S){(S.metaKey||S.ctrlKey)&&S.key===","&&(S.preventDefault(),o(!s))}return window.addEventListener("keydown",x),()=>window.removeEventListener("keydown",x)},[s,o]),u.jsx(vS,{open:s,onOpenChange:g,children:u.jsxs(gS,{children:[u.jsx(yS,{className:"fixed inset-0 z-50 bg-black/50 backdrop-blur-sm data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0"}),u.jsxs(bS,{className:rt("fixed left-1/2 top-1/2 z-50 -translate-x-1/2 -translate-y-1/2","w-[900px] max-w-[95vw] h-[700px] max-h-[90vh]","rounded-[var(--radius-lg)] border border-border bg-bg-primary shadow-[var(--style-modal-shadow)]","flex flex-col overflow-hidden","focus:outline-none","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95"),children:[u.jsxs("div",{className:"flex items-center justify-between px-[var(--spacing-6)] py-[var(--spacing-4)] border-b border-border shrink-0",children:[u.jsx(xS,{className:"text-[length:var(--font-size-lg)] font-[var(--font-weight-semibold)] text-text-primary",children:l("settings.title")}),u.jsx(SS,{className:rt("w-8 h-8 flex items-center justify-center rounded-[var(--radius-sm)]","text-text-secondary hover:text-text-primary hover:bg-bg-hover","transition-colors duration-[var(--duration-fast)]","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]"),"aria-label":"Close settings",children:u.jsxs("svg",{className:"w-4 h-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[u.jsx("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),u.jsx("line",{x1:"6",y1:"6",x2:"18",y2:"18"})]})})]}),u.jsxs("div",{className:"flex flex-1 overflow-hidden",children:[u.jsx("nav",{className:"w-56 shrink-0 border-r border-border bg-bg-secondary p-[var(--spacing-3)] overflow-y-auto","aria-label":"Settings sections",children:u.jsx("div",{className:"flex flex-col gap-[var(--spacing-0-5)]",children:H2.map(x=>u.jsxs("button",{type:"button",onClick:()=>d(x),className:rt("flex items-center gap-[var(--spacing-2)] px-[var(--spacing-2)] py-[var(--spacing-1-5)] rounded-[var(--radius-default)] text-left text-[length:var(--font-size-sm)] font-[var(--font-weight-medium)] w-full","transition-all duration-[var(--duration-fast)] ease-[var(--ease-notion)]","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]",i===x?"bg-bg-active text-text-primary":"text-text-secondary hover:text-text-primary hover:bg-bg-hover"),"aria-current":i===x?"page":void 0,children:[u.jsx(G2,{icon:q2[x]}),u.jsx("span",{className:"truncate",children:l(`settings.nav.${x==="cli-tools"?"cli_tools":x}`)})]},x))})}),u.jsx("div",{className:"flex-1 overflow-y-auto p-[var(--spacing-6)]",children:m&&!h?u.jsx("div",{className:"flex items-center justify-center h-full",children:u.jsx("span",{className:"text-[length:var(--font-size-sm)] text-text-secondary",children:l("settings.loading")})}):p?u.jsx(B2,{section:i}):u.jsx("div",{className:"flex items-center justify-center h-full",children:u.jsx("span",{className:"text-[length:var(--font-size-sm)] text-text-secondary",children:l("settings.failed")})})})]})]})]})})}const V2={idle:"#5A9E78",thinking:"#B89540",dispatching:"#5A84B8",paused:"var(--color-text-tertiary)"};function X2(){var d;const l=su(m=>m.supervisorStatus),s=su(m=>m.commanderState),o=y.useCallback(()=>{nn({action:"supervisor:toggle",enabled:!(l!=null&&l.enabled)})},[l==null?void 0:l.enabled]),i=l!=null&&l.lastTickAt?K2(l.lastTickAt):"never";return u.jsx("div",{className:"shrink-0",children:u.jsxs("div",{className:"flex items-center gap-[var(--spacing-3)] px-[var(--spacing-4)] py-[var(--spacing-1-5)] border-t border-border-divider bg-bg-secondary text-[length:var(--font-size-xs)] shrink-0",children:[u.jsxs("button",{type:"button",onClick:o,className:"flex items-center gap-[var(--spacing-1)] text-text-secondary hover:text-text-primary transition-colors",children:[u.jsx("span",{className:["w-2 h-2 rounded-full",l!=null&&l.enabled?"bg-[#5A9E78]":"bg-text-tertiary"].join(" ")}),u.jsxs("span",{className:"font-[var(--font-weight-medium)]",children:["Supervisor ",l!=null&&l.enabled?"ON":"OFF"]})]}),(l==null?void 0:l.enabled)&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"w-px h-3 bg-border-divider"}),u.jsxs("span",{className:"text-text-secondary",children:["Running: ",u.jsx("span",{className:"text-text-primary font-[var(--font-weight-medium)]",children:l.running.length})]}),u.jsxs("span",{className:"text-text-secondary",children:["Queued: ",u.jsx("span",{className:"text-text-primary font-[var(--font-weight-medium)]",children:l.queued.length})]}),l.retrying.length>0&&u.jsxs("span",{className:"text-[#B89540]",children:["Retrying: ",u.jsx("span",{className:"font-[var(--font-weight-medium)]",children:l.retrying.length})]}),u.jsxs("span",{className:"text-text-tertiary",children:["Last tick: ",i]}),l.stats.totalDispatched>0&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"w-px h-3 bg-border-divider"}),u.jsxs("span",{className:"text-text-tertiary",children:[l.stats.totalCompleted,"/",l.stats.totalDispatched," done",l.stats.totalFailed>0&&u.jsxs("span",{className:"text-[#C46555]",children:[" (",l.stats.totalFailed," failed)"]})]})]})]}),s&&u.jsxs(u.Fragment,{children:[u.jsx("div",{className:"w-px h-3 bg-border-divider"}),u.jsxs("div",{className:"flex items-center gap-[var(--spacing-1)] text-text-secondary",children:[u.jsx("span",{className:"w-2 h-2 rounded-full",style:{backgroundColor:V2[s.status]??"var(--color-text-tertiary)"}}),u.jsxs("span",{className:"font-[var(--font-weight-medium)]",children:["Commander ",s.status]})]}),u.jsxs("span",{className:"text-text-tertiary",children:["Tick #",s.tickCount]}),((d=s.lastDecision)==null?void 0:d.actions[0])&&u.jsxs("span",{className:"text-text-tertiary",children:["Last: ",s.lastDecision.actions[0].type]})]}),u.jsx("div",{className:"flex-1"}),u.jsx(kp,{to:"/supervisor",className:"text-text-secondary hover:text-text-primary transition-colors font-[var(--font-weight-medium)]",children:"Supervisor →"})]})})}function K2(l){const s=Date.now(),o=new Date(l).getTime();if(isNaN(o))return"never";const i=s-o;if(i<0)return"just now";const d=Math.floor(i/1e3);return d<5?"just now":d<60?`${d}s ago`:`${Math.floor(d/60)}m ago`}function Q2(){const{t:l}=gt(),s=wt(x=>x.connected),[o,i]=y.useState(!1),[d,m]=y.useState(!1),h=()=>m(x=>!x),p=Dx(),g=Ea().pathname.startsWith("/kanban");return A0(),y.useEffect(()=>{async function x(){try{const[S,_,C]=await Promise.all([fetch(Ih.BOARD),fetch("/api/agents"),fetch(Ih.HEALTH)]);if(!S.ok){i(!0);return}const k=await S.json();if(wt.getState().setBoard(k),i(!1),_.ok){const O=await _.json(),{addProcess:z}=Sl.getState();for(const U of O)z(U)}if(C.ok){const O=await C.json();O.workspace&&wt.getState().setWorkspace(O.workspace)}}catch{i(!0)}}x()},[]),u.jsx(Mp,{value:p,children:u.jsxs("div",{className:"h-screen w-screen flex flex-col overflow-hidden bg-bg-primary",children:[u.jsx(Y2,{}),o&&!s&&u.jsx("div",{role:"alert","aria-live":"assertive",className:"px-[var(--spacing-4)] py-[var(--spacing-2)] border-b text-[length:var(--font-size-xs)] text-center shrink-0 rounded-[var(--radius-default)] mx-[var(--spacing-3)] mt-[var(--spacing-2)]",style:{backgroundColor:"var(--color-status-bg-blocked)",color:"var(--color-status-blocked)",borderColor:"var(--color-status-blocked)"},children:l("connection_error")}),u.jsx(Hx,{}),u.jsxs("div",{className:"flex flex-1 overflow-hidden relative",children:[u.jsx(h0,{isPinned:d,onTogglePin:h}),u.jsxs(j0,{children:[u.jsx(dx,{}),g&&u.jsx(X2,{})]})]})]})})}const Z2=y.lazy(()=>Gt(()=>import("./KanbanPage-BQ6cezbm.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12])).then(l=>({default:l.KanbanPage}))),J2=y.lazy(()=>Gt(()=>import("./ArtifactsPage-CfkfWkXr.js"),__vite__mapDeps([13,14,15,16,17,7,10,18,19,20,21])).then(l=>({default:l.ArtifactsPage}))),I2=y.lazy(()=>Gt(()=>import("./ChatPage-CPWivYoS.js"),__vite__mapDeps([22,3,16,23,6,5,7,8,9,10,11,15,17])).then(l=>({default:l.ChatPage}))),F2=y.lazy(()=>Gt(()=>import("./WorkflowPage-D5DQLYoY.js"),__vite__mapDeps([24,1,2,3,25,26,19,11,27])).then(l=>({default:l.WorkflowPage}))),W2=y.lazy(()=>Gt(()=>import("./McpPage-B-LmhlGn.js"),__vite__mapDeps([28,26,9,16,29,10,17,12,3,21,30,20,25,14])).then(l=>({default:l.McpPage}))),P2=y.lazy(()=>Gt(()=>import("./SpecsPage-Bl5WASF4.js"),__vite__mapDeps([31,1,27,26,16,18,21,11,29,30,3,25])).then(l=>({default:l.SpecsPage}))),$2=y.lazy(()=>Gt(()=>import("./TeamsPage-BLXi7emJ.js"),__vite__mapDeps([32,26,16,10,29,33,8,3,20,21])).then(l=>({default:l.TeamsPage}))),eE=y.lazy(()=>Gt(()=>import("./RequirementPage-CW8e1Cv_.js"),__vite__mapDeps([34,1,6,23,29,14,3])).then(l=>({default:l.RequirementPage}))),tE=y.lazy(()=>Gt(()=>import("./RequirementBoardPage-DoNbM5xS.js"),__vite__mapDeps([35,18,33,4])).then(l=>({default:l.RequirementBoardPage}))),aE=y.lazy(()=>Gt(()=>import("./SupervisorPage-Ct51KlRl.js"),[]).then(l=>({default:l.SupervisorPage})));function Pt(){return u.jsx("div",{className:"flex items-center justify-center h-full text-text-tertiary text-[length:var(--font-size-sm)]",children:"Loading..."})}function nE(){return u.jsx(Sx,{children:u.jsx(mx,{children:u.jsxs(vt,{element:u.jsx(Q2,{}),children:[u.jsx(vt,{index:!0,element:u.jsx(Gh,{to:"/kanban",replace:!0})}),u.jsx(vt,{path:"kanban",element:u.jsx(y.Suspense,{fallback:u.jsx(Pt,{}),children:u.jsx(Z2,{})})}),u.jsx(vt,{path:"artifacts",element:u.jsx(y.Suspense,{fallback:u.jsx(Pt,{}),children:u.jsx(J2,{})})}),u.jsx(vt,{path:"chat",element:u.jsx(y.Suspense,{fallback:u.jsx(Pt,{}),children:u.jsx(I2,{})})}),u.jsx(vt,{path:"workflow",element:u.jsx(y.Suspense,{fallback:u.jsx(Pt,{}),children:u.jsx(F2,{})})}),u.jsx(vt,{path:"mcp",element:u.jsx(y.Suspense,{fallback:u.jsx(Pt,{}),children:u.jsx(W2,{})})}),u.jsx(vt,{path:"specs",element:u.jsx(y.Suspense,{fallback:u.jsx(Pt,{}),children:u.jsx(P2,{})})}),u.jsx(vt,{path:"teams",element:u.jsx(y.Suspense,{fallback:u.jsx(Pt,{}),children:u.jsx($2,{})})}),u.jsx(vt,{path:"requirement",element:u.jsx(y.Suspense,{fallback:u.jsx(Pt,{}),children:u.jsx(eE,{})})}),u.jsx(vt,{path:"requirement/:id/board",element:u.jsx(y.Suspense,{fallback:u.jsx(Pt,{}),children:u.jsx(tE,{})})}),u.jsx(vt,{path:"supervisor",element:u.jsx(y.Suspense,{fallback:u.jsx(Pt,{}),children:u.jsx(aE,{})})}),u.jsx(vt,{path:"*",element:u.jsx(Gh,{to:"/kanban",replace:!0})})]})})})}const Rv=document.getElementById("root");if(!Rv)throw new Error("Root element not found");mb.createRoot(Rv).render(u.jsx(y.StrictMode,{children:u.jsx(bb,{children:u.jsx(nE,{})})}));export{Ih as A,cE as B,rE as C,sE as D,e0 as E,Jx as F,oE as G,_r as H,dE as I,T0 as J,lE as K,kp as L,Fx as M,X2 as N,yS as O,gS as P,Gp as Q,vS as R,Hp as S,xS as T,l0 as U,Mp as V,wt as a,su as b,ru as c,Kt as d,ei as e,bS as f,fE as g,SS as h,rt as i,u as j,Sl as k,di as l,bl as m,Qx as n,Px as o,uE as p,qp as q,y as r,nn as s,f0 as t,gt as u,xb as v,o0 as w,bp as x,_a as y,iE as z};
|