maestro-flow 0.2.0 → 0.2.1

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.
Files changed (806) hide show
  1. package/.claude/commands/maestro-learn.md +364 -0
  2. package/dashboard/dist/assets/ArtifactsPage-A9yzYtpj.js +16 -0
  3. package/dashboard/dist/assets/ChatInput-PuCvZZ3y.js +67 -0
  4. package/dashboard/dist/assets/ChatPage-v19GURYH.js +8 -0
  5. package/dashboard/dist/assets/CollabPage-I5k_mCbG.js +1 -0
  6. package/dashboard/dist/assets/{KanbanPage-BQ6cezbm.js → KanbanPage-PDDBv5-9.js} +2 -2
  7. package/dashboard/dist/assets/{MarkdownRenderer-D2xpZVqP.js → MarkdownRenderer-CCXHaut3.js} +1 -1
  8. package/dashboard/dist/assets/McpPage-CiqXpCHg.js +16 -0
  9. package/dashboard/dist/assets/RequirementBoardPage-CEOvppGn.js +11 -0
  10. package/dashboard/dist/assets/{RequirementPage-CW8e1Cv_.js → RequirementPage-DpnbTEqY.js} +4 -4
  11. package/dashboard/dist/assets/{SpecsPage-Bl5WASF4.js → SpecsPage-CYqOfFkB.js} +2 -2
  12. package/dashboard/dist/assets/{SupervisorPage-Ct51KlRl.js → SupervisorPage-B2sZwkq8.js} +1 -1
  13. package/dashboard/dist/assets/TeamsPage-CkZdCAVZ.js +6 -0
  14. package/dashboard/dist/assets/TreeBrowser-0VIMWclo.js +11 -0
  15. package/dashboard/dist/assets/{WorkflowPage-D5DQLYoY.js → WorkflowPage-Csm23wUS.js} +2 -2
  16. package/dashboard/dist/assets/{arrow-left-GaDqlIdA.js → arrow-left-6fktHyjN.js} +1 -1
  17. package/dashboard/dist/assets/{check-D06Q17_u.js → check-Cbxq2l1-.js} +1 -1
  18. package/dashboard/dist/assets/{chevron-right-Df9DiNd9.js → chevron-right-Yts3bi8p.js} +1 -1
  19. package/dashboard/dist/assets/{circle-CwdcCqnf.js → circle-4Ci4Xolf.js} +1 -1
  20. package/dashboard/dist/assets/{circle-alert-xNa8pdQK.js → circle-alert-B25g9BTL.js} +1 -1
  21. package/dashboard/dist/assets/{circle-check-B6ugdr-I.js → circle-check-BA5_XqeV.js} +1 -1
  22. package/dashboard/dist/assets/{circle-check-big-Du2ZkzU4.js → circle-check-big-DzO2BlL7.js} +1 -1
  23. package/dashboard/dist/assets/{code-DUkRPZIu.js → code-zxwuybO8.js} +1 -1
  24. package/dashboard/dist/assets/{columns-3-B7nerqMb.js → columns-3-DV4oeCfU.js} +1 -1
  25. package/dashboard/dist/assets/{download-DSUXgure.js → download-CXCyQw8M.js} +1 -1
  26. package/dashboard/dist/assets/en-ZbRpfzuP.js +1 -0
  27. package/dashboard/dist/assets/{folder-C6wbX9PV.js → folder-Bvjj8Vn9.js} +1 -1
  28. package/dashboard/dist/assets/{git-branch-BPklQ4Bl.js → git-branch-DL8p9kVC.js} +1 -1
  29. package/dashboard/dist/assets/index-11DuhKhc.js +231 -0
  30. package/dashboard/dist/assets/{index-DkK1KuCs.js → index-BvScJmJM.js} +1 -1
  31. package/dashboard/dist/assets/index-D2Mtyw7I.css +1 -0
  32. package/dashboard/dist/assets/{list-BEAkau2G.js → list-Dj4i9N75.js} +1 -1
  33. package/dashboard/dist/assets/{chevron-down-COuPz-xU.js → minus-DwlFabsT.js} +2 -2
  34. package/dashboard/dist/assets/{pen-line-Bk1b_xE-.js → pen-line-D7UzECt6.js} +1 -1
  35. package/dashboard/dist/assets/{proxy-hByVfg9Z.js → proxy-B9XRqHD9.js} +1 -1
  36. package/dashboard/dist/assets/{search-ij25TuQe.js → search-BQbBTIYl.js} +1 -1
  37. package/dashboard/dist/assets/{shallow-BcyhGB1i.js → shallow-Clb1Lyd_.js} +1 -1
  38. package/dashboard/dist/assets/table-BqxCXid2.js +6 -0
  39. package/dashboard/dist/assets/{trash-2-C7bscdF9.js → trash-2-6rN9B-EQ.js} +1 -1
  40. package/dashboard/dist/assets/{wrench-C3axXC-M.js → wrench-BScEJFqC.js} +1 -1
  41. package/dashboard/dist/assets/{zap-6qysYe-N.js → zap-DxUhG-gk.js} +1 -1
  42. package/dashboard/dist/assets/zh-CN-CoXBFuny.js +1 -0
  43. package/dashboard/dist/index.html +2 -2
  44. package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.js +8 -1
  45. package/dashboard/dist-server/dashboard/src/server/agents/delegate-broker-monitor.js.map +1 -1
  46. package/dashboard/dist-server/dashboard/src/server/index.js +6 -4
  47. package/dashboard/dist-server/dashboard/src/server/index.js.map +1 -1
  48. package/dashboard/dist-server/dashboard/src/server/routes/collab.d.ts +3 -0
  49. package/dashboard/dist-server/dashboard/src/server/routes/collab.js +403 -0
  50. package/dashboard/dist-server/dashboard/src/server/routes/collab.js.map +1 -0
  51. package/dashboard/dist-server/dashboard/src/server/routes/health.js +55 -2
  52. package/dashboard/dist-server/dashboard/src/server/routes/health.js.map +1 -1
  53. package/dashboard/dist-server/dashboard/src/server/routes/index.js +3 -0
  54. package/dashboard/dist-server/dashboard/src/server/routes/index.js.map +1 -1
  55. package/dashboard/dist-server/dashboard/src/server/routes/specs.js +15 -2
  56. package/dashboard/dist-server/dashboard/src/server/routes/specs.js.map +1 -1
  57. package/dashboard/dist-server/dashboard/src/server/state/event-bus.d.ts +3 -0
  58. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js +2 -0
  59. package/dashboard/dist-server/dashboard/src/server/state/event-bus.js.map +1 -1
  60. package/dashboard/dist-server/dashboard/src/server/state/fs-watcher.js +3 -0
  61. package/dashboard/dist-server/dashboard/src/server/state/fs-watcher.js.map +1 -1
  62. package/dashboard/dist-server/dashboard/src/server/state/state-manager.js +11 -0
  63. package/dashboard/dist-server/dashboard/src/server/state/state-manager.js.map +1 -1
  64. package/dashboard/dist-server/dashboard/src/shared/collab-types.d.ts +42 -0
  65. package/dashboard/dist-server/dashboard/src/shared/collab-types.js +19 -0
  66. package/dashboard/dist-server/dashboard/src/shared/collab-types.js.map +1 -0
  67. package/dashboard/dist-server/dashboard/src/shared/constants.d.ts +7 -0
  68. package/dashboard/dist-server/dashboard/src/shared/constants.js +15 -0
  69. package/dashboard/dist-server/dashboard/src/shared/constants.js.map +1 -1
  70. package/dashboard/dist-server/dashboard/src/shared/types.d.ts +4 -3
  71. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.d.ts +1 -1
  72. package/dashboard/dist-server/dashboard/src/shared/ws-protocol.js.map +1 -1
  73. package/dashboard/dist-server/src/config/template-discovery.js +2 -1
  74. package/dashboard/dist-server/src/config/template-discovery.js.map +1 -1
  75. package/dashboard/dist-server/src/coordinator/graph-walker.d.ts +3 -1
  76. package/dashboard/dist-server/src/coordinator/graph-walker.js +152 -2
  77. package/dashboard/dist-server/src/coordinator/graph-walker.js.map +1 -1
  78. package/dashboard/dist-server/src/hooks/constants.d.ts +2 -0
  79. package/dashboard/dist-server/src/hooks/constants.js +2 -0
  80. package/dashboard/dist-server/src/hooks/constants.js.map +1 -1
  81. package/dashboard/dist-server/src/hooks/hook-engine.d.ts +25 -0
  82. package/dashboard/dist-server/src/hooks/hook-engine.js +67 -0
  83. package/dashboard/dist-server/src/hooks/hook-engine.js.map +1 -0
  84. package/dashboard/dist-server/src/hooks/workflow-hooks.d.ts +57 -0
  85. package/dashboard/dist-server/src/hooks/workflow-hooks.js +47 -0
  86. package/dashboard/dist-server/src/hooks/workflow-hooks.js.map +1 -0
  87. package/dashboard/dist-server/src/server/agents/adapter-factory.d.ts +7 -0
  88. package/dashboard/dist-server/src/server/agents/adapter-factory.js +45 -0
  89. package/dashboard/dist-server/src/server/agents/adapter-factory.js.map +1 -0
  90. package/dashboard/dist-server/{server → src/server}/agents/agent-manager.d.ts +1 -1
  91. package/dashboard/dist-server/{server → src/server}/agents/agent-manager.js +15 -8
  92. package/dashboard/dist-server/src/server/agents/agent-manager.js.map +1 -0
  93. package/dashboard/dist-server/src/server/agents/agent-manager.test.js.map +1 -0
  94. package/dashboard/dist-server/src/server/agents/agent-sdk-adapter.js.map +1 -0
  95. package/dashboard/dist-server/{server → src/server}/agents/base-adapter.d.ts +4 -0
  96. package/dashboard/dist-server/{server → src/server}/agents/base-adapter.js +6 -0
  97. package/dashboard/dist-server/src/server/agents/base-adapter.js.map +1 -0
  98. package/dashboard/dist-server/{server → src/server}/agents/claude-code-adapter.d.ts +4 -0
  99. package/dashboard/dist-server/{server → src/server}/agents/claude-code-adapter.js +59 -12
  100. package/dashboard/dist-server/src/server/agents/claude-code-adapter.js.map +1 -0
  101. package/dashboard/dist-server/src/server/agents/claude-code-adapter.test.js +365 -0
  102. package/dashboard/dist-server/src/server/agents/claude-code-adapter.test.js.map +1 -0
  103. package/dashboard/dist-server/{server → src/server}/agents/codex-app-server-adapter.d.ts +1 -0
  104. package/dashboard/dist-server/{server → src/server}/agents/codex-app-server-adapter.js +3 -0
  105. package/dashboard/dist-server/src/server/agents/codex-app-server-adapter.js.map +1 -0
  106. package/dashboard/dist-server/src/server/agents/codex-cli-adapter.js.map +1 -0
  107. package/dashboard/dist-server/src/server/agents/delegate-broker-monitor.d.ts +30 -0
  108. package/dashboard/dist-server/src/server/agents/delegate-broker-monitor.js +279 -0
  109. package/dashboard/dist-server/src/server/agents/delegate-broker-monitor.js.map +1 -0
  110. package/dashboard/dist-server/src/server/agents/delegate-broker-monitor.test.js +140 -0
  111. package/dashboard/dist-server/src/server/agents/delegate-broker-monitor.test.js.map +1 -0
  112. package/dashboard/dist-server/src/server/agents/entry-normalizer.js.map +1 -0
  113. package/dashboard/dist-server/src/server/agents/entry-normalizer.test.js.map +1 -0
  114. package/dashboard/dist-server/src/server/agents/env-cleanup.js.map +1 -0
  115. package/dashboard/dist-server/src/server/agents/env-file-loader.js.map +1 -0
  116. package/dashboard/dist-server/src/server/agents/gemini-a2a-adapter.d.ts +19 -0
  117. package/dashboard/dist-server/src/server/agents/gemini-a2a-adapter.js +448 -0
  118. package/dashboard/dist-server/src/server/agents/gemini-a2a-adapter.js.map +1 -0
  119. package/dashboard/dist-server/src/server/agents/gemini-a2a-adapter.test.js +411 -0
  120. package/dashboard/dist-server/src/server/agents/gemini-a2a-adapter.test.js.map +1 -0
  121. package/dashboard/dist-server/src/server/agents/opencode-adapter.js.map +1 -0
  122. package/dashboard/dist-server/src/server/agents/sdk-message-translator.js.map +1 -0
  123. package/dashboard/dist-server/src/server/agents/sdk-message-translator.test.js.map +1 -0
  124. package/dashboard/dist-server/src/server/agents/stream-json-adapter.js.map +1 -0
  125. package/dashboard/dist-server/src/server/agents/stream-monitor.js.map +1 -0
  126. package/dashboard/dist-server/src/server/agents/tools/issue-mcp-server.js.map +1 -0
  127. package/dashboard/dist-server/src/server/agents/tools/issue-mcp-server.test.js.map +1 -0
  128. package/dashboard/dist-server/src/server/commander/commander-agent.js.map +1 -0
  129. package/dashboard/dist-server/src/server/commander/commander-agent.test.js.map +1 -0
  130. package/dashboard/dist-server/src/server/commander/commander-config.js.map +1 -0
  131. package/dashboard/dist-server/src/server/commander/commander-config.test.js.map +1 -0
  132. package/dashboard/dist-server/src/server/commander/commander-prompts.js.map +1 -0
  133. package/dashboard/dist-server/src/server/commander/commander-prompts.test.js.map +1 -0
  134. package/dashboard/dist-server/src/server/commander/commander-routes.js.map +1 -0
  135. package/dashboard/dist-server/src/server/commander/commander-routes.test.js.map +1 -0
  136. package/dashboard/dist-server/src/server/config.js.map +1 -0
  137. package/dashboard/dist-server/src/server/coordinator/agents/quality-reviewer-agent.js.map +1 -0
  138. package/dashboard/dist-server/src/server/coordinator/chain-map.js.map +1 -0
  139. package/dashboard/dist-server/src/server/coordinator/chain-map.test.js.map +1 -0
  140. package/dashboard/dist-server/src/server/coordinator/coordinator-routes.js.map +1 -0
  141. package/dashboard/dist-server/src/server/coordinator/coordinator-routes.test.js.map +1 -0
  142. package/dashboard/dist-server/src/server/coordinator/dashboard-executor.js.map +1 -0
  143. package/dashboard/dist-server/src/server/coordinator/dashboard-step-analyzer.js.map +1 -0
  144. package/dashboard/dist-server/src/server/coordinator/graph-walker-factory.js.map +1 -0
  145. package/dashboard/dist-server/src/server/coordinator/prompts/index.js.map +1 -0
  146. package/dashboard/dist-server/src/server/coordinator/tools/workflow-mcp-server.js.map +1 -0
  147. package/dashboard/dist-server/src/server/coordinator/types.js.map +1 -0
  148. package/dashboard/dist-server/src/server/coordinator/walker-event-bridge.js.map +1 -0
  149. package/dashboard/dist-server/src/server/coordinator/workflow-coordinator.js.map +1 -0
  150. package/dashboard/dist-server/src/server/coordinator/workflow-coordinator.test.js.map +1 -0
  151. package/dashboard/dist-server/src/server/execution/dispatch-strategy.js.map +1 -0
  152. package/dashboard/dist-server/src/server/execution/execution-journal.js.map +1 -0
  153. package/dashboard/dist-server/{server → src/server}/execution/execution-scheduler.js +1 -1
  154. package/dashboard/dist-server/src/server/execution/execution-scheduler.js.map +1 -0
  155. package/dashboard/dist-server/src/server/execution/execution-scheduler.test.js.map +1 -0
  156. package/dashboard/dist-server/src/server/execution/strategies/commander-strategy.js.map +1 -0
  157. package/dashboard/dist-server/src/server/execution/strategies/priority-strategy.js.map +1 -0
  158. package/dashboard/dist-server/src/server/execution/strategies/smart-strategy.js.map +1 -0
  159. package/dashboard/dist-server/src/server/execution/wave-executor.js.map +1 -0
  160. package/dashboard/dist-server/src/server/execution/workspace-manager.js.map +1 -0
  161. package/dashboard/dist-server/{server → src/server}/index.js +11 -11
  162. package/dashboard/dist-server/src/server/index.js.map +1 -0
  163. package/dashboard/dist-server/src/server/observability/observability-routes.js.map +1 -0
  164. package/dashboard/dist-server/src/server/observability/observability-service.js.map +1 -0
  165. package/dashboard/dist-server/src/server/prompt/builders/assessment-builder.js.map +1 -0
  166. package/dashboard/dist-server/src/server/prompt/builders/decompose-builder.js.map +1 -0
  167. package/dashboard/dist-server/src/server/prompt/builders/direct-builder.js.map +1 -0
  168. package/dashboard/dist-server/src/server/prompt/builders/skill-builder.js.map +1 -0
  169. package/dashboard/dist-server/src/server/prompt/builders/template-builder.js.map +1 -0
  170. package/dashboard/dist-server/src/server/prompt/prompt-builder.js.map +1 -0
  171. package/dashboard/dist-server/src/server/prompt/prompt-registry.js.map +1 -0
  172. package/dashboard/dist-server/src/server/requirement/requirement-expander.js.map +1 -0
  173. package/dashboard/dist-server/src/server/requirement/requirement-prompts.js.map +1 -0
  174. package/dashboard/dist-server/src/server/routes/agents.js.map +1 -0
  175. package/dashboard/dist-server/src/server/routes/artifacts.js.map +1 -0
  176. package/dashboard/dist-server/src/server/routes/board-state.integration.test.js.map +1 -0
  177. package/dashboard/dist-server/src/server/routes/board.js.map +1 -0
  178. package/dashboard/dist-server/{server → src/server}/routes/cli-history.d.ts +1 -0
  179. package/dashboard/dist-server/{server → src/server}/routes/cli-history.js +24 -1
  180. package/dashboard/dist-server/src/server/routes/cli-history.js.map +1 -0
  181. package/dashboard/dist-server/src/server/routes/cli-history.test.js +202 -0
  182. package/dashboard/dist-server/src/server/routes/cli-history.test.js.map +1 -0
  183. package/dashboard/dist-server/src/server/routes/collab.d.ts +3 -0
  184. package/dashboard/dist-server/src/server/routes/collab.js +293 -0
  185. package/dashboard/dist-server/src/server/routes/collab.js.map +1 -0
  186. package/dashboard/dist-server/src/server/routes/events.js.map +1 -0
  187. package/dashboard/dist-server/src/server/routes/events.test.js.map +1 -0
  188. package/dashboard/dist-server/src/server/routes/execution.integration.test.js.map +1 -0
  189. package/dashboard/dist-server/src/server/routes/execution.js.map +1 -0
  190. package/dashboard/dist-server/src/server/routes/health.js.map +1 -0
  191. package/dashboard/dist-server/{server → src/server}/routes/index.js +6 -0
  192. package/dashboard/dist-server/src/server/routes/index.js.map +1 -0
  193. package/dashboard/dist-server/src/server/routes/install-utils.js.map +1 -0
  194. package/dashboard/dist-server/src/server/routes/install.js.map +1 -0
  195. package/dashboard/dist-server/src/server/routes/issues.js.map +1 -0
  196. package/dashboard/dist-server/src/server/routes/issues.test.js.map +1 -0
  197. package/dashboard/dist-server/src/server/routes/linear.js.map +1 -0
  198. package/dashboard/dist-server/src/server/routes/mcp-templates-store.js.map +1 -0
  199. package/dashboard/dist-server/src/server/routes/mcp.js.map +1 -0
  200. package/dashboard/dist-server/src/server/routes/phases.js.map +1 -0
  201. package/dashboard/dist-server/src/server/routes/requirements.js.map +1 -0
  202. package/dashboard/dist-server/src/server/routes/scratch.js.map +1 -0
  203. package/dashboard/dist-server/src/server/routes/settings.js.map +1 -0
  204. package/dashboard/dist-server/{server → src/server}/routes/specs.d.ts +3 -0
  205. package/dashboard/dist-server/src/server/routes/specs.integration.test.js.map +1 -0
  206. package/dashboard/dist-server/{server → src/server}/routes/specs.js +5 -45
  207. package/dashboard/dist-server/src/server/routes/specs.js.map +1 -0
  208. package/dashboard/dist-server/src/server/routes/supervisor.js.map +1 -0
  209. package/dashboard/dist-server/src/server/routes/supervisor.test.js.map +1 -0
  210. package/dashboard/dist-server/src/server/routes/teams.js.map +1 -0
  211. package/dashboard/dist-server/src/server/routes/wiki.d.ts +20 -0
  212. package/dashboard/dist-server/src/server/routes/wiki.integration.test.js +374 -0
  213. package/dashboard/dist-server/src/server/routes/wiki.integration.test.js.map +1 -0
  214. package/dashboard/dist-server/src/server/routes/wiki.js +220 -0
  215. package/dashboard/dist-server/src/server/routes/wiki.js.map +1 -0
  216. package/dashboard/dist-server/src/server/routes/workspace.js.map +1 -0
  217. package/dashboard/dist-server/src/server/sse/sse-hub.js.map +1 -0
  218. package/dashboard/dist-server/src/server/sse/sse-hub.test.js.map +1 -0
  219. package/dashboard/dist-server/{server → src/server}/state/event-bus.d.ts +7 -0
  220. package/dashboard/dist-server/{server → src/server}/state/event-bus.js +3 -0
  221. package/dashboard/dist-server/src/server/state/event-bus.js.map +1 -0
  222. package/dashboard/dist-server/src/server/state/file-reader.js.map +1 -0
  223. package/dashboard/dist-server/{server → src/server}/state/fs-watcher.js +37 -0
  224. package/dashboard/dist-server/src/server/state/fs-watcher.js.map +1 -0
  225. package/dashboard/dist-server/{server → src/server}/state/state-manager.js +11 -0
  226. package/dashboard/dist-server/src/server/state/state-manager.js.map +1 -0
  227. package/dashboard/dist-server/src/server/state/state-manager.test.js.map +1 -0
  228. package/dashboard/dist-server/src/server/supervisor/extension-manager.js.map +1 -0
  229. package/dashboard/dist-server/src/server/supervisor/extension-manager.test.js.map +1 -0
  230. package/dashboard/dist-server/src/server/supervisor/self-learning-service.js.map +1 -0
  231. package/dashboard/dist-server/src/server/supervisor/self-learning-service.test.js.map +1 -0
  232. package/dashboard/dist-server/src/server/supervisor/supervisor.integration.test.js.map +1 -0
  233. package/dashboard/dist-server/src/server/supervisor/task-scheduler-service.js.map +1 -0
  234. package/dashboard/dist-server/src/server/supervisor/task-scheduler-service.test.js.map +1 -0
  235. package/dashboard/dist-server/src/server/utils/issue-store.js.map +1 -0
  236. package/dashboard/dist-server/src/server/utils/issue-store.test.js.map +1 -0
  237. package/dashboard/dist-server/src/server/wiki/frontmatter-util.js.map +1 -0
  238. package/dashboard/dist-server/src/server/wiki/graph-analysis.d.ts +48 -0
  239. package/dashboard/dist-server/src/server/wiki/graph-analysis.js +103 -0
  240. package/dashboard/dist-server/src/server/wiki/graph-analysis.js.map +1 -0
  241. package/dashboard/dist-server/src/server/wiki/search.d.ts +29 -0
  242. package/dashboard/dist-server/src/server/wiki/search.js +94 -0
  243. package/dashboard/dist-server/src/server/wiki/search.js.map +1 -0
  244. package/dashboard/dist-server/src/server/wiki/stress.test.d.ts +1 -0
  245. package/dashboard/dist-server/src/server/wiki/stress.test.js +245 -0
  246. package/dashboard/dist-server/src/server/wiki/stress.test.js.map +1 -0
  247. package/dashboard/dist-server/src/server/wiki/virtual-wiki-adapters.d.ts +4 -0
  248. package/dashboard/dist-server/{dashboard/src/server/docs/virtual-doc-adapters.js → src/server/wiki/virtual-wiki-adapters.js} +4 -4
  249. package/dashboard/dist-server/src/server/wiki/virtual-wiki-adapters.js.map +1 -0
  250. package/dashboard/dist-server/src/server/wiki/wiki-indexer.d.ts +40 -0
  251. package/dashboard/dist-server/{dashboard/src/server/docs/doc-scanner.js → src/server/wiki/wiki-indexer.js} +86 -32
  252. package/dashboard/dist-server/src/server/wiki/wiki-indexer.js.map +1 -0
  253. package/dashboard/dist-server/src/server/wiki/wiki-indexer.test.d.ts +1 -0
  254. package/dashboard/dist-server/src/server/wiki/wiki-indexer.test.js +173 -0
  255. package/dashboard/dist-server/src/server/wiki/wiki-indexer.test.js.map +1 -0
  256. package/dashboard/dist-server/{dashboard/src/server/docs/doc-types.d.ts → src/server/wiki/wiki-types.d.ts} +18 -18
  257. package/dashboard/dist-server/src/server/wiki/wiki-types.js +2 -0
  258. package/dashboard/dist-server/src/server/wiki/wiki-types.js.map +1 -0
  259. package/dashboard/dist-server/src/server/wiki/writer-stress.test.d.ts +1 -0
  260. package/dashboard/dist-server/src/server/wiki/writer-stress.test.js +242 -0
  261. package/dashboard/dist-server/src/server/wiki/writer-stress.test.js.map +1 -0
  262. package/dashboard/dist-server/src/server/wiki/writer.d.ts +60 -0
  263. package/dashboard/dist-server/src/server/wiki/writer.js +272 -0
  264. package/dashboard/dist-server/src/server/wiki/writer.js.map +1 -0
  265. package/dashboard/dist-server/{server → src/server}/ws/handlers/agent-handler.d.ts +6 -2
  266. package/dashboard/dist-server/{server → src/server}/ws/handlers/agent-handler.js +30 -1
  267. package/dashboard/dist-server/src/server/ws/handlers/agent-handler.js.map +1 -0
  268. package/dashboard/dist-server/src/server/ws/handlers/agent-handler.test.d.ts +1 -0
  269. package/dashboard/dist-server/src/server/ws/handlers/agent-handler.test.js +68 -0
  270. package/dashboard/dist-server/src/server/ws/handlers/agent-handler.test.js.map +1 -0
  271. package/dashboard/dist-server/src/server/ws/handlers/commander-handler.js.map +1 -0
  272. package/dashboard/dist-server/src/server/ws/handlers/coordinate-handler.js.map +1 -0
  273. package/dashboard/dist-server/src/server/ws/handlers/execution-handler.js.map +1 -0
  274. package/dashboard/dist-server/src/server/ws/handlers/requirement-handler.js.map +1 -0
  275. package/dashboard/dist-server/src/server/ws/handlers/supervisor-handler.js.map +1 -0
  276. package/dashboard/dist-server/src/server/ws/handlers/supervisor-handler.test.d.ts +1 -0
  277. package/dashboard/dist-server/src/server/ws/handlers/supervisor-handler.test.js.map +1 -0
  278. package/dashboard/dist-server/src/server/ws/ws-handler.js.map +1 -0
  279. package/dashboard/dist-server/src/server/ws/ws-manager.js.map +1 -0
  280. package/dashboard/dist-server/src/shared/agent-types.d.ts +1 -0
  281. package/dashboard/dist-server/src/shared/agent-types.js +2 -0
  282. package/dashboard/dist-server/src/shared/agent-types.js.map +1 -0
  283. package/dashboard/dist-server/src/shared/collab-types.d.ts +42 -0
  284. package/dashboard/dist-server/src/shared/collab-types.js +19 -0
  285. package/dashboard/dist-server/src/shared/collab-types.js.map +1 -0
  286. package/dashboard/dist-server/src/shared/commander-types.js.map +1 -0
  287. package/dashboard/dist-server/{shared → src/shared}/constants.d.ts +18 -0
  288. package/dashboard/dist-server/{shared → src/shared}/constants.js +32 -0
  289. package/dashboard/dist-server/src/shared/constants.js.map +1 -0
  290. package/dashboard/dist-server/src/shared/constants.test.d.ts +1 -0
  291. package/dashboard/dist-server/src/shared/constants.test.js.map +1 -0
  292. package/dashboard/dist-server/src/shared/coordinate-types.js.map +1 -0
  293. package/dashboard/dist-server/src/shared/execution-types.js.map +1 -0
  294. package/dashboard/dist-server/src/shared/extension-types.js.map +1 -0
  295. package/dashboard/dist-server/src/shared/issue-types.js.map +1 -0
  296. package/dashboard/dist-server/src/shared/issue-types.test.d.ts +1 -0
  297. package/dashboard/dist-server/src/shared/issue-types.test.js.map +1 -0
  298. package/dashboard/dist-server/src/shared/journal-types.js.map +1 -0
  299. package/dashboard/dist-server/src/shared/learning-types.js.map +1 -0
  300. package/dashboard/dist-server/src/shared/linear-types.js.map +1 -0
  301. package/dashboard/dist-server/src/shared/requirement-types.js.map +1 -0
  302. package/dashboard/dist-server/src/shared/schedule-types.js.map +1 -0
  303. package/dashboard/dist-server/src/shared/team-types.js.map +1 -0
  304. package/dashboard/dist-server/{shared → src/shared}/types.d.ts +6 -2
  305. package/dashboard/dist-server/{shared → src/shared}/types.js.map +1 -1
  306. package/dashboard/dist-server/src/shared/utils.js.map +1 -0
  307. package/dashboard/dist-server/src/shared/utils.test.d.ts +1 -0
  308. package/dashboard/dist-server/src/shared/utils.test.js.map +1 -0
  309. package/dashboard/dist-server/src/shared/wave-types.js.map +1 -0
  310. package/dashboard/dist-server/{shared → src/shared}/ws-protocol.d.ts +9 -2
  311. package/dashboard/dist-server/src/shared/ws-protocol.js.map +1 -0
  312. package/dashboard/dist-server/src/types/index.d.ts +74 -0
  313. package/dashboard/dist-server/src/types/index.js +2 -0
  314. package/dashboard/dist-server/src/types/index.js.map +1 -0
  315. package/dashboard/package.json +1 -1
  316. package/dist/src/cli.js +3 -1
  317. package/dist/src/cli.js.map +1 -1
  318. package/dist/src/commands/hooks.d.ts.map +1 -1
  319. package/dist/src/commands/hooks.js +2 -1
  320. package/dist/src/commands/hooks.js.map +1 -1
  321. package/dist/src/commands/install-ui/ComponentGrid.d.ts.map +1 -1
  322. package/dist/src/commands/install-ui/ComponentGrid.js +6 -2
  323. package/dist/src/commands/install-ui/ComponentGrid.js.map +1 -1
  324. package/dist/src/commands/install-ui/GradientHeader.d.ts.map +1 -1
  325. package/dist/src/commands/install-ui/GradientHeader.js +1 -1
  326. package/dist/src/commands/install-ui/GradientHeader.js.map +1 -1
  327. package/dist/src/commands/install-ui/HooksConfig.d.ts.map +1 -1
  328. package/dist/src/commands/install-ui/HooksConfig.js +4 -3
  329. package/dist/src/commands/install-ui/HooksConfig.js.map +1 -1
  330. package/dist/src/commands/install-ui/InstallConfirm.js +2 -2
  331. package/dist/src/commands/install-ui/InstallConfirm.js.map +1 -1
  332. package/dist/src/commands/install-ui/InstallExecution.d.ts.map +1 -1
  333. package/dist/src/commands/install-ui/InstallExecution.js +11 -10
  334. package/dist/src/commands/install-ui/InstallExecution.js.map +1 -1
  335. package/dist/src/commands/install-ui/InstallFlow.d.ts.map +1 -1
  336. package/dist/src/commands/install-ui/InstallFlow.js +18 -17
  337. package/dist/src/commands/install-ui/InstallFlow.js.map +1 -1
  338. package/dist/src/commands/install-ui/InstallHub.d.ts.map +1 -1
  339. package/dist/src/commands/install-ui/InstallHub.js +9 -9
  340. package/dist/src/commands/install-ui/InstallHub.js.map +1 -1
  341. package/dist/src/commands/install-ui/InstallResult.d.ts.map +1 -1
  342. package/dist/src/commands/install-ui/InstallResult.js +2 -1
  343. package/dist/src/commands/install-ui/InstallResult.js.map +1 -1
  344. package/dist/src/commands/install-ui/McpConfig.d.ts.map +1 -1
  345. package/dist/src/commands/install-ui/McpConfig.js +5 -2
  346. package/dist/src/commands/install-ui/McpConfig.js.map +1 -1
  347. package/dist/src/commands/install.d.ts.map +1 -1
  348. package/dist/src/commands/install.js +15 -8
  349. package/dist/src/commands/install.js.map +1 -1
  350. package/dist/src/commands/uninstall-ui/UninstallFlow.d.ts.map +1 -1
  351. package/dist/src/commands/uninstall-ui/UninstallFlow.js +21 -9
  352. package/dist/src/commands/uninstall-ui/UninstallFlow.js.map +1 -1
  353. package/dist/src/commands/uninstall.d.ts.map +1 -1
  354. package/dist/src/commands/uninstall.js +2 -1
  355. package/dist/src/commands/uninstall.js.map +1 -1
  356. package/dist/src/commands/update.d.ts +3 -0
  357. package/dist/src/commands/update.d.ts.map +1 -0
  358. package/dist/src/commands/update.js +140 -0
  359. package/dist/src/commands/update.js.map +1 -0
  360. package/dist/src/commands/view.d.ts.map +1 -1
  361. package/dist/src/commands/view.js +4 -3
  362. package/dist/src/commands/view.js.map +1 -1
  363. package/dist/src/config/template-discovery.d.ts.map +1 -1
  364. package/dist/src/config/template-discovery.js +2 -1
  365. package/dist/src/config/template-discovery.js.map +1 -1
  366. package/dist/src/i18n/detect.d.ts +13 -0
  367. package/dist/src/i18n/detect.d.ts.map +1 -0
  368. package/dist/src/i18n/detect.js +38 -0
  369. package/dist/src/i18n/detect.js.map +1 -0
  370. package/dist/src/i18n/index.d.ts +4 -0
  371. package/dist/src/i18n/index.d.ts.map +1 -0
  372. package/dist/src/i18n/index.js +14 -0
  373. package/dist/src/i18n/index.js.map +1 -0
  374. package/dist/src/i18n/locales/en.d.ts +3 -0
  375. package/dist/src/i18n/locales/en.d.ts.map +1 -0
  376. package/dist/src/i18n/locales/en.js +145 -0
  377. package/dist/src/i18n/locales/en.js.map +1 -0
  378. package/dist/src/i18n/locales/zh.d.ts +3 -0
  379. package/dist/src/i18n/locales/zh.d.ts.map +1 -0
  380. package/dist/src/i18n/locales/zh.js +145 -0
  381. package/dist/src/i18n/locales/zh.js.map +1 -0
  382. package/dist/src/i18n/types.d.ts +119 -0
  383. package/dist/src/i18n/types.d.ts.map +1 -0
  384. package/dist/src/i18n/types.js +5 -0
  385. package/dist/src/i18n/types.js.map +1 -0
  386. package/dist/src/utils/get-version.d.ts +6 -0
  387. package/dist/src/utils/get-version.d.ts.map +1 -0
  388. package/dist/src/utils/get-version.js +21 -0
  389. package/dist/src/utils/get-version.js.map +1 -0
  390. package/package.json +1 -1
  391. package/shared/agent-types.d.ts +145 -0
  392. package/shared/agent-types.js +8 -0
  393. package/shared/agent-types.js.map +1 -0
  394. package/dashboard/dist/assets/ArtifactsPage-CfkfWkXr.js +0 -3
  395. package/dashboard/dist/assets/ChatInput-DMUm4jhn.js +0 -67
  396. package/dashboard/dist/assets/ChatPage-CPWivYoS.js +0 -13
  397. package/dashboard/dist/assets/McpPage-B-LmhlGn.js +0 -16
  398. package/dashboard/dist/assets/RequirementBoardPage-DoNbM5xS.js +0 -16
  399. package/dashboard/dist/assets/TeamsPage-BLXi7emJ.js +0 -1
  400. package/dashboard/dist/assets/TreeBrowser-BF-vEawe.js +0 -6
  401. package/dashboard/dist/assets/en-C8KOT1y5.js +0 -1
  402. package/dashboard/dist/assets/index-BegaTjR7.css +0 -1
  403. package/dashboard/dist/assets/index-_5uKnGLN.js +0 -216
  404. package/dashboard/dist/assets/table-BAom8rqt.js +0 -6
  405. package/dashboard/dist/assets/x-B8Y1iNhN.js +0 -6
  406. package/dashboard/dist/assets/zh-CN-Bss6VKAV.js +0 -1
  407. package/dashboard/dist-server/dashboard/src/server/docs/doc-scanner.d.ts +0 -31
  408. package/dashboard/dist-server/dashboard/src/server/docs/doc-scanner.js.map +0 -1
  409. package/dashboard/dist-server/dashboard/src/server/docs/doc-scanner.test.js +0 -184
  410. package/dashboard/dist-server/dashboard/src/server/docs/doc-scanner.test.js.map +0 -1
  411. package/dashboard/dist-server/dashboard/src/server/docs/doc-types.js +0 -2
  412. package/dashboard/dist-server/dashboard/src/server/docs/doc-types.js.map +0 -1
  413. package/dashboard/dist-server/dashboard/src/server/docs/frontmatter-util.js.map +0 -1
  414. package/dashboard/dist-server/dashboard/src/server/docs/virtual-doc-adapters.d.ts +0 -4
  415. package/dashboard/dist-server/dashboard/src/server/docs/virtual-doc-adapters.js.map +0 -1
  416. package/dashboard/dist-server/dashboard/src/server/routes/docs.d.ts +0 -13
  417. package/dashboard/dist-server/dashboard/src/server/routes/docs.js +0 -108
  418. package/dashboard/dist-server/dashboard/src/server/routes/docs.js.map +0 -1
  419. package/dashboard/dist-server/server/agents/agent-manager.js.map +0 -1
  420. package/dashboard/dist-server/server/agents/agent-manager.test.js.map +0 -1
  421. package/dashboard/dist-server/server/agents/agent-sdk-adapter.js.map +0 -1
  422. package/dashboard/dist-server/server/agents/base-adapter.js.map +0 -1
  423. package/dashboard/dist-server/server/agents/claude-code-adapter.js.map +0 -1
  424. package/dashboard/dist-server/server/agents/codex-app-server-adapter.js.map +0 -1
  425. package/dashboard/dist-server/server/agents/codex-cli-adapter.js.map +0 -1
  426. package/dashboard/dist-server/server/agents/entry-normalizer.js.map +0 -1
  427. package/dashboard/dist-server/server/agents/entry-normalizer.test.js.map +0 -1
  428. package/dashboard/dist-server/server/agents/env-cleanup.js.map +0 -1
  429. package/dashboard/dist-server/server/agents/env-file-loader.js.map +0 -1
  430. package/dashboard/dist-server/server/agents/opencode-adapter.js.map +0 -1
  431. package/dashboard/dist-server/server/agents/sdk-message-translator.js.map +0 -1
  432. package/dashboard/dist-server/server/agents/sdk-message-translator.test.js.map +0 -1
  433. package/dashboard/dist-server/server/agents/stream-json-adapter.js.map +0 -1
  434. package/dashboard/dist-server/server/agents/stream-monitor.js.map +0 -1
  435. package/dashboard/dist-server/server/agents/tools/issue-mcp-server.js.map +0 -1
  436. package/dashboard/dist-server/server/agents/tools/issue-mcp-server.test.js.map +0 -1
  437. package/dashboard/dist-server/server/commander/commander-agent.js.map +0 -1
  438. package/dashboard/dist-server/server/commander/commander-agent.test.js.map +0 -1
  439. package/dashboard/dist-server/server/commander/commander-config.js.map +0 -1
  440. package/dashboard/dist-server/server/commander/commander-config.test.js.map +0 -1
  441. package/dashboard/dist-server/server/commander/commander-prompts.js.map +0 -1
  442. package/dashboard/dist-server/server/commander/commander-prompts.test.js.map +0 -1
  443. package/dashboard/dist-server/server/commander/commander-routes.js.map +0 -1
  444. package/dashboard/dist-server/server/commander/commander-routes.test.js.map +0 -1
  445. package/dashboard/dist-server/server/config.js.map +0 -1
  446. package/dashboard/dist-server/server/coordinator/agents/intent-classifier-agent.d.ts +0 -5
  447. package/dashboard/dist-server/server/coordinator/agents/intent-classifier-agent.js +0 -97
  448. package/dashboard/dist-server/server/coordinator/agents/intent-classifier-agent.js.map +0 -1
  449. package/dashboard/dist-server/server/coordinator/agents/quality-reviewer-agent.js.map +0 -1
  450. package/dashboard/dist-server/server/coordinator/agents/state-analyzer-agent.d.ts +0 -10
  451. package/dashboard/dist-server/server/coordinator/agents/state-analyzer-agent.js +0 -112
  452. package/dashboard/dist-server/server/coordinator/agents/state-analyzer-agent.js.map +0 -1
  453. package/dashboard/dist-server/server/coordinator/chain-map.js.map +0 -1
  454. package/dashboard/dist-server/server/coordinator/chain-map.test.js.map +0 -1
  455. package/dashboard/dist-server/server/coordinator/coordinate-runner.d.ts +0 -41
  456. package/dashboard/dist-server/server/coordinator/coordinate-runner.js +0 -511
  457. package/dashboard/dist-server/server/coordinator/coordinate-runner.js.map +0 -1
  458. package/dashboard/dist-server/server/coordinator/coordinator-routes.js.map +0 -1
  459. package/dashboard/dist-server/server/coordinator/coordinator-routes.test.js.map +0 -1
  460. package/dashboard/dist-server/server/coordinator/dashboard-executor.js.map +0 -1
  461. package/dashboard/dist-server/server/coordinator/dashboard-step-analyzer.js.map +0 -1
  462. package/dashboard/dist-server/server/coordinator/graph-walker-factory.js.map +0 -1
  463. package/dashboard/dist-server/server/coordinator/prompts/index.js.map +0 -1
  464. package/dashboard/dist-server/server/coordinator/tools/workflow-mcp-server.js.map +0 -1
  465. package/dashboard/dist-server/server/coordinator/types.js.map +0 -1
  466. package/dashboard/dist-server/server/coordinator/walker-event-bridge.js.map +0 -1
  467. package/dashboard/dist-server/server/coordinator/workflow-coordinator.js.map +0 -1
  468. package/dashboard/dist-server/server/coordinator/workflow-coordinator.test.js.map +0 -1
  469. package/dashboard/dist-server/server/execution/dispatch-strategy.js.map +0 -1
  470. package/dashboard/dist-server/server/execution/execution-journal.js.map +0 -1
  471. package/dashboard/dist-server/server/execution/execution-scheduler.js.map +0 -1
  472. package/dashboard/dist-server/server/execution/execution-scheduler.test.js.map +0 -1
  473. package/dashboard/dist-server/server/execution/strategies/commander-strategy.js.map +0 -1
  474. package/dashboard/dist-server/server/execution/strategies/priority-strategy.js.map +0 -1
  475. package/dashboard/dist-server/server/execution/strategies/smart-strategy.js.map +0 -1
  476. package/dashboard/dist-server/server/execution/wave-executor.js.map +0 -1
  477. package/dashboard/dist-server/server/execution/workspace-manager.js.map +0 -1
  478. package/dashboard/dist-server/server/index.js.map +0 -1
  479. package/dashboard/dist-server/server/observability/observability-routes.js.map +0 -1
  480. package/dashboard/dist-server/server/observability/observability-service.js.map +0 -1
  481. package/dashboard/dist-server/server/prompt/builders/assessment-builder.js.map +0 -1
  482. package/dashboard/dist-server/server/prompt/builders/decompose-builder.js.map +0 -1
  483. package/dashboard/dist-server/server/prompt/builders/direct-builder.js.map +0 -1
  484. package/dashboard/dist-server/server/prompt/builders/skill-builder.js.map +0 -1
  485. package/dashboard/dist-server/server/prompt/builders/template-builder.js.map +0 -1
  486. package/dashboard/dist-server/server/prompt/prompt-builder.js.map +0 -1
  487. package/dashboard/dist-server/server/prompt/prompt-registry.js.map +0 -1
  488. package/dashboard/dist-server/server/requirement/requirement-expander.js.map +0 -1
  489. package/dashboard/dist-server/server/requirement/requirement-prompts.js.map +0 -1
  490. package/dashboard/dist-server/server/routes/agents.js.map +0 -1
  491. package/dashboard/dist-server/server/routes/artifacts.js.map +0 -1
  492. package/dashboard/dist-server/server/routes/board-state.integration.test.js.map +0 -1
  493. package/dashboard/dist-server/server/routes/board.js.map +0 -1
  494. package/dashboard/dist-server/server/routes/cli-history.js.map +0 -1
  495. package/dashboard/dist-server/server/routes/events.js.map +0 -1
  496. package/dashboard/dist-server/server/routes/events.test.js.map +0 -1
  497. package/dashboard/dist-server/server/routes/execution.integration.test.js.map +0 -1
  498. package/dashboard/dist-server/server/routes/execution.js.map +0 -1
  499. package/dashboard/dist-server/server/routes/health.js.map +0 -1
  500. package/dashboard/dist-server/server/routes/index.js.map +0 -1
  501. package/dashboard/dist-server/server/routes/install-utils.js.map +0 -1
  502. package/dashboard/dist-server/server/routes/install.js.map +0 -1
  503. package/dashboard/dist-server/server/routes/issues.js.map +0 -1
  504. package/dashboard/dist-server/server/routes/issues.test.js.map +0 -1
  505. package/dashboard/dist-server/server/routes/linear.js.map +0 -1
  506. package/dashboard/dist-server/server/routes/mcp-templates-store.js.map +0 -1
  507. package/dashboard/dist-server/server/routes/mcp.js.map +0 -1
  508. package/dashboard/dist-server/server/routes/phases.js.map +0 -1
  509. package/dashboard/dist-server/server/routes/requirements.js.map +0 -1
  510. package/dashboard/dist-server/server/routes/scratch.js.map +0 -1
  511. package/dashboard/dist-server/server/routes/settings.js.map +0 -1
  512. package/dashboard/dist-server/server/routes/specs.integration.test.js.map +0 -1
  513. package/dashboard/dist-server/server/routes/specs.js.map +0 -1
  514. package/dashboard/dist-server/server/routes/supervisor.js.map +0 -1
  515. package/dashboard/dist-server/server/routes/supervisor.test.js.map +0 -1
  516. package/dashboard/dist-server/server/routes/teams.js.map +0 -1
  517. package/dashboard/dist-server/server/routes/workspace.js.map +0 -1
  518. package/dashboard/dist-server/server/sse/sse-hub.js.map +0 -1
  519. package/dashboard/dist-server/server/sse/sse-hub.test.js.map +0 -1
  520. package/dashboard/dist-server/server/state/event-bus.js.map +0 -1
  521. package/dashboard/dist-server/server/state/file-reader.js.map +0 -1
  522. package/dashboard/dist-server/server/state/fs-watcher.js.map +0 -1
  523. package/dashboard/dist-server/server/state/state-manager.js.map +0 -1
  524. package/dashboard/dist-server/server/state/state-manager.test.js.map +0 -1
  525. package/dashboard/dist-server/server/supervisor/extension-manager.js.map +0 -1
  526. package/dashboard/dist-server/server/supervisor/extension-manager.test.js.map +0 -1
  527. package/dashboard/dist-server/server/supervisor/self-learning-service.js.map +0 -1
  528. package/dashboard/dist-server/server/supervisor/self-learning-service.test.js.map +0 -1
  529. package/dashboard/dist-server/server/supervisor/supervisor.integration.test.js.map +0 -1
  530. package/dashboard/dist-server/server/supervisor/task-scheduler-service.js.map +0 -1
  531. package/dashboard/dist-server/server/supervisor/task-scheduler-service.test.js.map +0 -1
  532. package/dashboard/dist-server/server/utils/issue-store.js.map +0 -1
  533. package/dashboard/dist-server/server/utils/issue-store.test.js.map +0 -1
  534. package/dashboard/dist-server/server/ws/handlers/agent-handler.js.map +0 -1
  535. package/dashboard/dist-server/server/ws/handlers/commander-handler.js.map +0 -1
  536. package/dashboard/dist-server/server/ws/handlers/coordinate-handler.js.map +0 -1
  537. package/dashboard/dist-server/server/ws/handlers/execution-handler.js.map +0 -1
  538. package/dashboard/dist-server/server/ws/handlers/requirement-handler.js.map +0 -1
  539. package/dashboard/dist-server/server/ws/handlers/supervisor-handler.js.map +0 -1
  540. package/dashboard/dist-server/server/ws/handlers/supervisor-handler.test.js.map +0 -1
  541. package/dashboard/dist-server/server/ws/ws-handler.js.map +0 -1
  542. package/dashboard/dist-server/server/ws/ws-manager.js.map +0 -1
  543. package/dashboard/dist-server/shared/commander-types.js.map +0 -1
  544. package/dashboard/dist-server/shared/constants.js.map +0 -1
  545. package/dashboard/dist-server/shared/constants.test.js.map +0 -1
  546. package/dashboard/dist-server/shared/coordinate-types.js.map +0 -1
  547. package/dashboard/dist-server/shared/execution-types.js.map +0 -1
  548. package/dashboard/dist-server/shared/extension-types.js.map +0 -1
  549. package/dashboard/dist-server/shared/issue-types.js.map +0 -1
  550. package/dashboard/dist-server/shared/issue-types.test.js.map +0 -1
  551. package/dashboard/dist-server/shared/journal-types.js.map +0 -1
  552. package/dashboard/dist-server/shared/learning-types.js.map +0 -1
  553. package/dashboard/dist-server/shared/linear-types.js.map +0 -1
  554. package/dashboard/dist-server/shared/requirement-types.js.map +0 -1
  555. package/dashboard/dist-server/shared/schedule-types.js.map +0 -1
  556. package/dashboard/dist-server/shared/team-types.js.map +0 -1
  557. package/dashboard/dist-server/shared/utils.js.map +0 -1
  558. package/dashboard/dist-server/shared/utils.test.js.map +0 -1
  559. package/dashboard/dist-server/shared/wave-types.js.map +0 -1
  560. package/dashboard/dist-server/shared/ws-protocol.js.map +0 -1
  561. /package/dashboard/dist-server/{server → src/server}/agents/agent-manager.test.d.ts +0 -0
  562. /package/dashboard/dist-server/{server → src/server}/agents/agent-manager.test.js +0 -0
  563. /package/dashboard/dist-server/{server → src/server}/agents/agent-sdk-adapter.d.ts +0 -0
  564. /package/dashboard/dist-server/{server → src/server}/agents/agent-sdk-adapter.js +0 -0
  565. /package/dashboard/dist-server/{dashboard/src/server/docs/doc-scanner.test.d.ts → src/server/agents/claude-code-adapter.test.d.ts} +0 -0
  566. /package/dashboard/dist-server/{server → src/server}/agents/codex-cli-adapter.d.ts +0 -0
  567. /package/dashboard/dist-server/{server → src/server}/agents/codex-cli-adapter.js +0 -0
  568. /package/dashboard/dist-server/{server/agents/entry-normalizer.test.d.ts → src/server/agents/delegate-broker-monitor.test.d.ts} +0 -0
  569. /package/dashboard/dist-server/{server → src/server}/agents/entry-normalizer.d.ts +0 -0
  570. /package/dashboard/dist-server/{server → src/server}/agents/entry-normalizer.js +0 -0
  571. /package/dashboard/dist-server/{server/agents/sdk-message-translator.test.d.ts → src/server/agents/entry-normalizer.test.d.ts} +0 -0
  572. /package/dashboard/dist-server/{server → src/server}/agents/entry-normalizer.test.js +0 -0
  573. /package/dashboard/dist-server/{server → src/server}/agents/env-cleanup.d.ts +0 -0
  574. /package/dashboard/dist-server/{server → src/server}/agents/env-cleanup.js +0 -0
  575. /package/dashboard/dist-server/{server → src/server}/agents/env-file-loader.d.ts +0 -0
  576. /package/dashboard/dist-server/{server → src/server}/agents/env-file-loader.js +0 -0
  577. /package/dashboard/dist-server/{server/agents/tools/issue-mcp-server.test.d.ts → src/server/agents/gemini-a2a-adapter.test.d.ts} +0 -0
  578. /package/dashboard/dist-server/{server → src/server}/agents/opencode-adapter.d.ts +0 -0
  579. /package/dashboard/dist-server/{server → src/server}/agents/opencode-adapter.js +0 -0
  580. /package/dashboard/dist-server/{server → src/server}/agents/sdk-message-translator.d.ts +0 -0
  581. /package/dashboard/dist-server/{server → src/server}/agents/sdk-message-translator.js +0 -0
  582. /package/dashboard/dist-server/{server/commander/commander-agent.test.d.ts → src/server/agents/sdk-message-translator.test.d.ts} +0 -0
  583. /package/dashboard/dist-server/{server → src/server}/agents/sdk-message-translator.test.js +0 -0
  584. /package/dashboard/dist-server/{server → src/server}/agents/stream-json-adapter.d.ts +0 -0
  585. /package/dashboard/dist-server/{server → src/server}/agents/stream-json-adapter.js +0 -0
  586. /package/dashboard/dist-server/{server → src/server}/agents/stream-monitor.d.ts +0 -0
  587. /package/dashboard/dist-server/{server → src/server}/agents/stream-monitor.js +0 -0
  588. /package/dashboard/dist-server/{server → src/server}/agents/tools/issue-mcp-server.d.ts +0 -0
  589. /package/dashboard/dist-server/{server → src/server}/agents/tools/issue-mcp-server.js +0 -0
  590. /package/dashboard/dist-server/{server/commander/commander-config.test.d.ts → src/server/agents/tools/issue-mcp-server.test.d.ts} +0 -0
  591. /package/dashboard/dist-server/{server → src/server}/agents/tools/issue-mcp-server.test.js +0 -0
  592. /package/dashboard/dist-server/{server → src/server}/commander/commander-agent.d.ts +0 -0
  593. /package/dashboard/dist-server/{server → src/server}/commander/commander-agent.js +0 -0
  594. /package/dashboard/dist-server/{server/commander/commander-prompts.test.d.ts → src/server/commander/commander-agent.test.d.ts} +0 -0
  595. /package/dashboard/dist-server/{server → src/server}/commander/commander-agent.test.js +0 -0
  596. /package/dashboard/dist-server/{server → src/server}/commander/commander-config.d.ts +0 -0
  597. /package/dashboard/dist-server/{server → src/server}/commander/commander-config.js +0 -0
  598. /package/dashboard/dist-server/{server/commander/commander-routes.test.d.ts → src/server/commander/commander-config.test.d.ts} +0 -0
  599. /package/dashboard/dist-server/{server → src/server}/commander/commander-config.test.js +0 -0
  600. /package/dashboard/dist-server/{server → src/server}/commander/commander-prompts.d.ts +0 -0
  601. /package/dashboard/dist-server/{server → src/server}/commander/commander-prompts.js +0 -0
  602. /package/dashboard/dist-server/{server/coordinator/chain-map.test.d.ts → src/server/commander/commander-prompts.test.d.ts} +0 -0
  603. /package/dashboard/dist-server/{server → src/server}/commander/commander-prompts.test.js +0 -0
  604. /package/dashboard/dist-server/{server → src/server}/commander/commander-routes.d.ts +0 -0
  605. /package/dashboard/dist-server/{server → src/server}/commander/commander-routes.js +0 -0
  606. /package/dashboard/dist-server/{server/coordinator/coordinator-routes.test.d.ts → src/server/commander/commander-routes.test.d.ts} +0 -0
  607. /package/dashboard/dist-server/{server → src/server}/commander/commander-routes.test.js +0 -0
  608. /package/dashboard/dist-server/{server → src/server}/config.d.ts +0 -0
  609. /package/dashboard/dist-server/{server → src/server}/config.js +0 -0
  610. /package/dashboard/dist-server/{server → src/server}/coordinator/agents/quality-reviewer-agent.d.ts +0 -0
  611. /package/dashboard/dist-server/{server → src/server}/coordinator/agents/quality-reviewer-agent.js +0 -0
  612. /package/dashboard/dist-server/{server → src/server}/coordinator/chain-map.d.ts +0 -0
  613. /package/dashboard/dist-server/{server → src/server}/coordinator/chain-map.js +0 -0
  614. /package/dashboard/dist-server/{server/coordinator/workflow-coordinator.test.d.ts → src/server/coordinator/chain-map.test.d.ts} +0 -0
  615. /package/dashboard/dist-server/{server → src/server}/coordinator/chain-map.test.js +0 -0
  616. /package/dashboard/dist-server/{server → src/server}/coordinator/coordinator-routes.d.ts +0 -0
  617. /package/dashboard/dist-server/{server → src/server}/coordinator/coordinator-routes.js +0 -0
  618. /package/dashboard/dist-server/{server/execution/execution-scheduler.test.d.ts → src/server/coordinator/coordinator-routes.test.d.ts} +0 -0
  619. /package/dashboard/dist-server/{server → src/server}/coordinator/coordinator-routes.test.js +0 -0
  620. /package/dashboard/dist-server/{server → src/server}/coordinator/dashboard-executor.d.ts +0 -0
  621. /package/dashboard/dist-server/{server → src/server}/coordinator/dashboard-executor.js +0 -0
  622. /package/dashboard/dist-server/{server → src/server}/coordinator/dashboard-step-analyzer.d.ts +0 -0
  623. /package/dashboard/dist-server/{server → src/server}/coordinator/dashboard-step-analyzer.js +0 -0
  624. /package/dashboard/dist-server/{server → src/server}/coordinator/graph-walker-factory.d.ts +0 -0
  625. /package/dashboard/dist-server/{server → src/server}/coordinator/graph-walker-factory.js +0 -0
  626. /package/dashboard/dist-server/{server → src/server}/coordinator/prompts/index.d.ts +0 -0
  627. /package/dashboard/dist-server/{server → src/server}/coordinator/prompts/index.js +0 -0
  628. /package/dashboard/dist-server/{server → src/server}/coordinator/tools/workflow-mcp-server.d.ts +0 -0
  629. /package/dashboard/dist-server/{server → src/server}/coordinator/tools/workflow-mcp-server.js +0 -0
  630. /package/dashboard/dist-server/{server → src/server}/coordinator/types.d.ts +0 -0
  631. /package/dashboard/dist-server/{server → src/server}/coordinator/types.js +0 -0
  632. /package/dashboard/dist-server/{server → src/server}/coordinator/walker-event-bridge.d.ts +0 -0
  633. /package/dashboard/dist-server/{server → src/server}/coordinator/walker-event-bridge.js +0 -0
  634. /package/dashboard/dist-server/{server → src/server}/coordinator/workflow-coordinator.d.ts +0 -0
  635. /package/dashboard/dist-server/{server → src/server}/coordinator/workflow-coordinator.js +0 -0
  636. /package/dashboard/dist-server/{server/index.d.ts → src/server/coordinator/workflow-coordinator.test.d.ts} +0 -0
  637. /package/dashboard/dist-server/{server → src/server}/coordinator/workflow-coordinator.test.js +0 -0
  638. /package/dashboard/dist-server/{server → src/server}/execution/dispatch-strategy.d.ts +0 -0
  639. /package/dashboard/dist-server/{server → src/server}/execution/dispatch-strategy.js +0 -0
  640. /package/dashboard/dist-server/{server → src/server}/execution/execution-journal.d.ts +0 -0
  641. /package/dashboard/dist-server/{server → src/server}/execution/execution-journal.js +0 -0
  642. /package/dashboard/dist-server/{server → src/server}/execution/execution-scheduler.d.ts +0 -0
  643. /package/dashboard/dist-server/{server/routes/board-state.integration.test.d.ts → src/server/execution/execution-scheduler.test.d.ts} +0 -0
  644. /package/dashboard/dist-server/{server → src/server}/execution/execution-scheduler.test.js +0 -0
  645. /package/dashboard/dist-server/{server → src/server}/execution/strategies/commander-strategy.d.ts +0 -0
  646. /package/dashboard/dist-server/{server → src/server}/execution/strategies/commander-strategy.js +0 -0
  647. /package/dashboard/dist-server/{server → src/server}/execution/strategies/priority-strategy.d.ts +0 -0
  648. /package/dashboard/dist-server/{server → src/server}/execution/strategies/priority-strategy.js +0 -0
  649. /package/dashboard/dist-server/{server → src/server}/execution/strategies/smart-strategy.d.ts +0 -0
  650. /package/dashboard/dist-server/{server → src/server}/execution/strategies/smart-strategy.js +0 -0
  651. /package/dashboard/dist-server/{server → src/server}/execution/wave-executor.d.ts +0 -0
  652. /package/dashboard/dist-server/{server → src/server}/execution/wave-executor.js +0 -0
  653. /package/dashboard/dist-server/{server → src/server}/execution/workspace-manager.d.ts +0 -0
  654. /package/dashboard/dist-server/{server → src/server}/execution/workspace-manager.js +0 -0
  655. /package/dashboard/dist-server/{server/routes/events.test.d.ts → src/server/index.d.ts} +0 -0
  656. /package/dashboard/dist-server/{server → src/server}/observability/observability-routes.d.ts +0 -0
  657. /package/dashboard/dist-server/{server → src/server}/observability/observability-routes.js +0 -0
  658. /package/dashboard/dist-server/{server → src/server}/observability/observability-service.d.ts +0 -0
  659. /package/dashboard/dist-server/{server → src/server}/observability/observability-service.js +0 -0
  660. /package/dashboard/dist-server/{server → src/server}/prompt/builders/assessment-builder.d.ts +0 -0
  661. /package/dashboard/dist-server/{server → src/server}/prompt/builders/assessment-builder.js +0 -0
  662. /package/dashboard/dist-server/{server → src/server}/prompt/builders/decompose-builder.d.ts +0 -0
  663. /package/dashboard/dist-server/{server → src/server}/prompt/builders/decompose-builder.js +0 -0
  664. /package/dashboard/dist-server/{server → src/server}/prompt/builders/direct-builder.d.ts +0 -0
  665. /package/dashboard/dist-server/{server → src/server}/prompt/builders/direct-builder.js +0 -0
  666. /package/dashboard/dist-server/{server → src/server}/prompt/builders/skill-builder.d.ts +0 -0
  667. /package/dashboard/dist-server/{server → src/server}/prompt/builders/skill-builder.js +0 -0
  668. /package/dashboard/dist-server/{server → src/server}/prompt/builders/template-builder.d.ts +0 -0
  669. /package/dashboard/dist-server/{server → src/server}/prompt/builders/template-builder.js +0 -0
  670. /package/dashboard/dist-server/{server → src/server}/prompt/prompt-builder.d.ts +0 -0
  671. /package/dashboard/dist-server/{server → src/server}/prompt/prompt-builder.js +0 -0
  672. /package/dashboard/dist-server/{server → src/server}/prompt/prompt-registry.d.ts +0 -0
  673. /package/dashboard/dist-server/{server → src/server}/prompt/prompt-registry.js +0 -0
  674. /package/dashboard/dist-server/{server → src/server}/requirement/requirement-expander.d.ts +0 -0
  675. /package/dashboard/dist-server/{server → src/server}/requirement/requirement-expander.js +0 -0
  676. /package/dashboard/dist-server/{server → src/server}/requirement/requirement-prompts.d.ts +0 -0
  677. /package/dashboard/dist-server/{server → src/server}/requirement/requirement-prompts.js +0 -0
  678. /package/dashboard/dist-server/{server → src/server}/routes/agents.d.ts +0 -0
  679. /package/dashboard/dist-server/{server → src/server}/routes/agents.js +0 -0
  680. /package/dashboard/dist-server/{server → src/server}/routes/artifacts.d.ts +0 -0
  681. /package/dashboard/dist-server/{server → src/server}/routes/artifacts.js +0 -0
  682. /package/dashboard/dist-server/{server/routes/execution.integration.test.d.ts → src/server/routes/board-state.integration.test.d.ts} +0 -0
  683. /package/dashboard/dist-server/{server → src/server}/routes/board-state.integration.test.js +0 -0
  684. /package/dashboard/dist-server/{server → src/server}/routes/board.d.ts +0 -0
  685. /package/dashboard/dist-server/{server → src/server}/routes/board.js +0 -0
  686. /package/dashboard/dist-server/{server/routes/issues.test.d.ts → src/server/routes/cli-history.test.d.ts} +0 -0
  687. /package/dashboard/dist-server/{server → src/server}/routes/events.d.ts +0 -0
  688. /package/dashboard/dist-server/{server → src/server}/routes/events.js +0 -0
  689. /package/dashboard/dist-server/{server/routes/specs.integration.test.d.ts → src/server/routes/events.test.d.ts} +0 -0
  690. /package/dashboard/dist-server/{server → src/server}/routes/events.test.js +0 -0
  691. /package/dashboard/dist-server/{server → src/server}/routes/execution.d.ts +0 -0
  692. /package/dashboard/dist-server/{server/routes/supervisor.test.d.ts → src/server/routes/execution.integration.test.d.ts} +0 -0
  693. /package/dashboard/dist-server/{server → src/server}/routes/execution.integration.test.js +0 -0
  694. /package/dashboard/dist-server/{server → src/server}/routes/execution.js +0 -0
  695. /package/dashboard/dist-server/{server → src/server}/routes/health.d.ts +0 -0
  696. /package/dashboard/dist-server/{server → src/server}/routes/health.js +0 -0
  697. /package/dashboard/dist-server/{server → src/server}/routes/index.d.ts +0 -0
  698. /package/dashboard/dist-server/{server → src/server}/routes/install-utils.d.ts +0 -0
  699. /package/dashboard/dist-server/{server → src/server}/routes/install-utils.js +0 -0
  700. /package/dashboard/dist-server/{server → src/server}/routes/install.d.ts +0 -0
  701. /package/dashboard/dist-server/{server → src/server}/routes/install.js +0 -0
  702. /package/dashboard/dist-server/{server → src/server}/routes/issues.d.ts +0 -0
  703. /package/dashboard/dist-server/{server → src/server}/routes/issues.js +0 -0
  704. /package/dashboard/dist-server/{server/sse/sse-hub.test.d.ts → src/server/routes/issues.test.d.ts} +0 -0
  705. /package/dashboard/dist-server/{server → src/server}/routes/issues.test.js +0 -0
  706. /package/dashboard/dist-server/{server → src/server}/routes/linear.d.ts +0 -0
  707. /package/dashboard/dist-server/{server → src/server}/routes/linear.js +0 -0
  708. /package/dashboard/dist-server/{server → src/server}/routes/mcp-templates-store.d.ts +0 -0
  709. /package/dashboard/dist-server/{server → src/server}/routes/mcp-templates-store.js +0 -0
  710. /package/dashboard/dist-server/{server → src/server}/routes/mcp.d.ts +0 -0
  711. /package/dashboard/dist-server/{server → src/server}/routes/mcp.js +0 -0
  712. /package/dashboard/dist-server/{server → src/server}/routes/phases.d.ts +0 -0
  713. /package/dashboard/dist-server/{server → src/server}/routes/phases.js +0 -0
  714. /package/dashboard/dist-server/{server → src/server}/routes/requirements.d.ts +0 -0
  715. /package/dashboard/dist-server/{server → src/server}/routes/requirements.js +0 -0
  716. /package/dashboard/dist-server/{server → src/server}/routes/scratch.d.ts +0 -0
  717. /package/dashboard/dist-server/{server → src/server}/routes/scratch.js +0 -0
  718. /package/dashboard/dist-server/{server → src/server}/routes/settings.d.ts +0 -0
  719. /package/dashboard/dist-server/{server → src/server}/routes/settings.js +0 -0
  720. /package/dashboard/dist-server/{server/state/state-manager.test.d.ts → src/server/routes/specs.integration.test.d.ts} +0 -0
  721. /package/dashboard/dist-server/{server → src/server}/routes/specs.integration.test.js +0 -0
  722. /package/dashboard/dist-server/{server → src/server}/routes/supervisor.d.ts +0 -0
  723. /package/dashboard/dist-server/{server → src/server}/routes/supervisor.js +0 -0
  724. /package/dashboard/dist-server/{server/supervisor/extension-manager.test.d.ts → src/server/routes/supervisor.test.d.ts} +0 -0
  725. /package/dashboard/dist-server/{server → src/server}/routes/supervisor.test.js +0 -0
  726. /package/dashboard/dist-server/{server → src/server}/routes/teams.d.ts +0 -0
  727. /package/dashboard/dist-server/{server → src/server}/routes/teams.js +0 -0
  728. /package/dashboard/dist-server/{server/supervisor/self-learning-service.test.d.ts → src/server/routes/wiki.integration.test.d.ts} +0 -0
  729. /package/dashboard/dist-server/{server → src/server}/routes/workspace.d.ts +0 -0
  730. /package/dashboard/dist-server/{server → src/server}/routes/workspace.js +0 -0
  731. /package/dashboard/dist-server/{server → src/server}/sse/sse-hub.d.ts +0 -0
  732. /package/dashboard/dist-server/{server → src/server}/sse/sse-hub.js +0 -0
  733. /package/dashboard/dist-server/{server/supervisor/supervisor.integration.test.d.ts → src/server/sse/sse-hub.test.d.ts} +0 -0
  734. /package/dashboard/dist-server/{server → src/server}/sse/sse-hub.test.js +0 -0
  735. /package/dashboard/dist-server/{server → src/server}/state/file-reader.d.ts +0 -0
  736. /package/dashboard/dist-server/{server → src/server}/state/file-reader.js +0 -0
  737. /package/dashboard/dist-server/{server → src/server}/state/fs-watcher.d.ts +0 -0
  738. /package/dashboard/dist-server/{server → src/server}/state/state-manager.d.ts +0 -0
  739. /package/dashboard/dist-server/{server/supervisor/task-scheduler-service.test.d.ts → src/server/state/state-manager.test.d.ts} +0 -0
  740. /package/dashboard/dist-server/{server → src/server}/state/state-manager.test.js +0 -0
  741. /package/dashboard/dist-server/{server → src/server}/supervisor/extension-manager.d.ts +0 -0
  742. /package/dashboard/dist-server/{server → src/server}/supervisor/extension-manager.js +0 -0
  743. /package/dashboard/dist-server/{server/utils/issue-store.test.d.ts → src/server/supervisor/extension-manager.test.d.ts} +0 -0
  744. /package/dashboard/dist-server/{server → src/server}/supervisor/extension-manager.test.js +0 -0
  745. /package/dashboard/dist-server/{server → src/server}/supervisor/self-learning-service.d.ts +0 -0
  746. /package/dashboard/dist-server/{server → src/server}/supervisor/self-learning-service.js +0 -0
  747. /package/dashboard/dist-server/{server/ws/handlers/supervisor-handler.test.d.ts → src/server/supervisor/self-learning-service.test.d.ts} +0 -0
  748. /package/dashboard/dist-server/{server → src/server}/supervisor/self-learning-service.test.js +0 -0
  749. /package/dashboard/dist-server/{shared/constants.test.d.ts → src/server/supervisor/supervisor.integration.test.d.ts} +0 -0
  750. /package/dashboard/dist-server/{server → src/server}/supervisor/supervisor.integration.test.js +0 -0
  751. /package/dashboard/dist-server/{server → src/server}/supervisor/task-scheduler-service.d.ts +0 -0
  752. /package/dashboard/dist-server/{server → src/server}/supervisor/task-scheduler-service.js +0 -0
  753. /package/dashboard/dist-server/{shared/issue-types.test.d.ts → src/server/supervisor/task-scheduler-service.test.d.ts} +0 -0
  754. /package/dashboard/dist-server/{server → src/server}/supervisor/task-scheduler-service.test.js +0 -0
  755. /package/dashboard/dist-server/{server → src/server}/utils/issue-store.d.ts +0 -0
  756. /package/dashboard/dist-server/{server → src/server}/utils/issue-store.js +0 -0
  757. /package/dashboard/dist-server/{shared/utils.test.d.ts → src/server/utils/issue-store.test.d.ts} +0 -0
  758. /package/dashboard/dist-server/{server → src/server}/utils/issue-store.test.js +0 -0
  759. /package/dashboard/dist-server/{dashboard/src/server/docs → src/server/wiki}/frontmatter-util.d.ts +0 -0
  760. /package/dashboard/dist-server/{dashboard/src/server/docs → src/server/wiki}/frontmatter-util.js +0 -0
  761. /package/dashboard/dist-server/{server → src/server}/ws/handlers/commander-handler.d.ts +0 -0
  762. /package/dashboard/dist-server/{server → src/server}/ws/handlers/commander-handler.js +0 -0
  763. /package/dashboard/dist-server/{server → src/server}/ws/handlers/coordinate-handler.d.ts +0 -0
  764. /package/dashboard/dist-server/{server → src/server}/ws/handlers/coordinate-handler.js +0 -0
  765. /package/dashboard/dist-server/{server → src/server}/ws/handlers/execution-handler.d.ts +0 -0
  766. /package/dashboard/dist-server/{server → src/server}/ws/handlers/execution-handler.js +0 -0
  767. /package/dashboard/dist-server/{server → src/server}/ws/handlers/requirement-handler.d.ts +0 -0
  768. /package/dashboard/dist-server/{server → src/server}/ws/handlers/requirement-handler.js +0 -0
  769. /package/dashboard/dist-server/{server → src/server}/ws/handlers/supervisor-handler.d.ts +0 -0
  770. /package/dashboard/dist-server/{server → src/server}/ws/handlers/supervisor-handler.js +0 -0
  771. /package/dashboard/dist-server/{server → src/server}/ws/handlers/supervisor-handler.test.js +0 -0
  772. /package/dashboard/dist-server/{server → src/server}/ws/ws-handler.d.ts +0 -0
  773. /package/dashboard/dist-server/{server → src/server}/ws/ws-handler.js +0 -0
  774. /package/dashboard/dist-server/{server → src/server}/ws/ws-manager.d.ts +0 -0
  775. /package/dashboard/dist-server/{server → src/server}/ws/ws-manager.js +0 -0
  776. /package/dashboard/dist-server/{shared → src/shared}/commander-types.d.ts +0 -0
  777. /package/dashboard/dist-server/{shared → src/shared}/commander-types.js +0 -0
  778. /package/dashboard/dist-server/{shared → src/shared}/constants.test.js +0 -0
  779. /package/dashboard/dist-server/{shared → src/shared}/coordinate-types.d.ts +0 -0
  780. /package/dashboard/dist-server/{shared → src/shared}/coordinate-types.js +0 -0
  781. /package/dashboard/dist-server/{shared → src/shared}/execution-types.d.ts +0 -0
  782. /package/dashboard/dist-server/{shared → src/shared}/execution-types.js +0 -0
  783. /package/dashboard/dist-server/{shared → src/shared}/extension-types.d.ts +0 -0
  784. /package/dashboard/dist-server/{shared → src/shared}/extension-types.js +0 -0
  785. /package/dashboard/dist-server/{shared → src/shared}/issue-types.d.ts +0 -0
  786. /package/dashboard/dist-server/{shared → src/shared}/issue-types.js +0 -0
  787. /package/dashboard/dist-server/{shared → src/shared}/issue-types.test.js +0 -0
  788. /package/dashboard/dist-server/{shared → src/shared}/journal-types.d.ts +0 -0
  789. /package/dashboard/dist-server/{shared → src/shared}/journal-types.js +0 -0
  790. /package/dashboard/dist-server/{shared → src/shared}/learning-types.d.ts +0 -0
  791. /package/dashboard/dist-server/{shared → src/shared}/learning-types.js +0 -0
  792. /package/dashboard/dist-server/{shared → src/shared}/linear-types.d.ts +0 -0
  793. /package/dashboard/dist-server/{shared → src/shared}/linear-types.js +0 -0
  794. /package/dashboard/dist-server/{shared → src/shared}/requirement-types.d.ts +0 -0
  795. /package/dashboard/dist-server/{shared → src/shared}/requirement-types.js +0 -0
  796. /package/dashboard/dist-server/{shared → src/shared}/schedule-types.d.ts +0 -0
  797. /package/dashboard/dist-server/{shared → src/shared}/schedule-types.js +0 -0
  798. /package/dashboard/dist-server/{shared → src/shared}/team-types.d.ts +0 -0
  799. /package/dashboard/dist-server/{shared → src/shared}/team-types.js +0 -0
  800. /package/dashboard/dist-server/{shared → src/shared}/types.js +0 -0
  801. /package/dashboard/dist-server/{shared → src/shared}/utils.d.ts +0 -0
  802. /package/dashboard/dist-server/{shared → src/shared}/utils.js +0 -0
  803. /package/dashboard/dist-server/{shared → src/shared}/utils.test.js +0 -0
  804. /package/dashboard/dist-server/{shared → src/shared}/wave-types.d.ts +0 -0
  805. /package/dashboard/dist-server/{shared → src/shared}/wave-types.js +0 -0
  806. /package/dashboard/dist-server/{shared → src/shared}/ws-protocol.js +0 -0
@@ -0,0 +1,364 @@
1
+ ---
2
+ name: maestro-learn
3
+ description: Learning coordinator - analyze intent → route to optimal learn command chain → execute via Skill()
4
+ argument-hint: "\"intent text\" [-y] [--dry-run] [--chain <name>]"
5
+ allowed-tools:
6
+ - Read
7
+ - Write
8
+ - Bash
9
+ - Glob
10
+ - Grep
11
+ - Agent
12
+ - AskUserQuestion
13
+ ---
14
+ <purpose>
15
+ Orchestrate all learn-* commands based on user intent. Routes natural language learning requests to the optimal learn command or multi-step chain.
16
+
17
+ Two routing modes:
18
+ 1. **Intent-based**: User describes a learning goal → classify → select command/chain → confirm → execute
19
+ 2. **Direct**: User specifies a known chain name via `--chain`
20
+
21
+ Produces session directory at `.workflow/learning/.maestro-learn/{session_id}/` with status.json tracking chain progress.
22
+ Executes commands sequentially via Skill() with artifact propagation between steps.
23
+ </purpose>
24
+
25
+ <context>
26
+ $ARGUMENTS — user learning intent text, or flags.
27
+
28
+ **Flags:**
29
+ - `-y` / `--yes` — Auto mode: skip clarification, skip confirmation
30
+ - `--dry-run` — Show planned chain without executing
31
+ - `--chain <name>` — Force a specific chain (bypass intent detection). Valid: `follow`, `investigate`, `decompose`, `second-opinion`, `retro-git`, `retro-decision`, `deep-understand`, `pattern-catalog`, `full-retro`
32
+
33
+ **Available learn commands:**
34
+ | Command | Purpose |
35
+ |---------|---------|
36
+ | `learn-follow` | Guided reading with forcing questions, pattern extraction |
37
+ | `learn-investigate` | Hypothesis-driven question investigation |
38
+ | `learn-decompose` | 4-dimension parallel pattern extraction |
39
+ | `learn-second-opinion` | Multi-perspective review/challenge/consult |
40
+ | `learn-retro-git` | Git activity retrospective with metrics |
41
+ | `learn-retro-decision` | Decision trace and lifecycle evaluation |
42
+
43
+ **Storage:**
44
+ - `.workflow/learning/.maestro-learn/{session_id}/status.json` — Session tracking
45
+ - All learn command outputs go to `.workflow/learning/`
46
+ </context>
47
+
48
+ <execution>
49
+
50
+ ### Step 1: Parse Arguments & Detect Mode
51
+
52
+ ```javascript
53
+ const autoYes = /\b(-y|--yes)\b/.test($ARGUMENTS)
54
+ const dryRun = /\b--dry-run\b/.test($ARGUMENTS)
55
+ const forcedChain = $ARGUMENTS.match(/--chain\s+(\S+)/)?.[1] || null
56
+ const intent = $ARGUMENTS
57
+ .replace(/\b(-y|--yes|--dry-run)\b/g, '')
58
+ .replace(/--chain\s+\S+/g, '')
59
+ .trim()
60
+ ```
61
+
62
+ **Display banner:**
63
+ ```
64
+ ============================================================
65
+ MAESTRO LEARN COORDINATOR
66
+ ============================================================
67
+ Mode: {intent-based | forced-chain}
68
+ Auto: {yes | no}
69
+ Input: {intent}
70
+ ```
71
+
72
+ ---
73
+
74
+ ### Step 2: Analyze Intent
75
+
76
+ **If `$FORCED_CHAIN` is set:**
77
+ - Validate against known chains: `follow`, `investigate`, `decompose`, `second-opinion`, `retro-git`, `retro-decision`, `deep-understand`, `pattern-catalog`, `full-retro`
78
+ - If valid: skip intent analysis, jump to **Step 4**
79
+ - If invalid: **Error E005** — display valid chains
80
+
81
+ **Extract structured intent:**
82
+
83
+ ```json
84
+ {
85
+ "action": "<from enum>",
86
+ "target": "<file path | module | topic | wiki-id | null>",
87
+ "mode": "<review | challenge | consult | null>",
88
+ "scope": "<path filter | null>",
89
+ "flags": "<--depth, --days, --save-wiki, etc.>"
90
+ }
91
+ ```
92
+
93
+ **Action enum:**
94
+
95
+ | action | Triggered by (semantic) |
96
+ |--------|------------------------|
97
+ | `read` | Read code, follow along, walk through, understand file, 阅读, 跟读 |
98
+ | `question` | Why does X, how does Y work, what happens if, investigate, 为什么, 怎么 |
99
+ | `patterns` | Find patterns, decompose, catalog, extract conventions, 分解, 模式 |
100
+ | `opinion` | Second opinion, review, challenge, critique, consult, 评审, 挑战 |
101
+ | `retro-git` | Git activity, commit history, retro, work sessions, 提交回顾 |
102
+ | `retro-decision` | Decision review, architecture decisions, decision quality, 决策回顾 |
103
+ | `learn` | Generic learn, capture insight, remember — route to best fit |
104
+
105
+ **Target resolution:**
106
+ - Contains `/` or `\` or file extension → file path
107
+ - Matches `<type>-<slug>` → wiki ID
108
+ - Matches `--days`, `--author` → retro-git flags
109
+ - Matches `--phase`, `--tag`, `--id` → retro-decision flags
110
+ - Otherwise → topic string (passed as quoted argument)
111
+
112
+ ---
113
+
114
+ ### Step 3: Route via action → command
115
+
116
+ ```javascript
117
+ const routeMap = {
118
+ 'read': 'follow',
119
+ 'question': 'investigate',
120
+ 'patterns': 'decompose',
121
+ 'opinion': 'second-opinion',
122
+ 'retro-git': 'retro-git',
123
+ 'retro-decision': 'retro-decision',
124
+ 'learn': null, // needs disambiguation
125
+ };
126
+
127
+ function routeLearnIntent(action, target, intent) {
128
+ // Direct mapping
129
+ if (routeMap[action]) return routeMap[action];
130
+
131
+ // Disambiguate generic 'learn' based on target and context
132
+ if (target && isFilePath(target)) return 'follow';
133
+ if (target && isWikiId(target)) return 'follow';
134
+ if (/retro|commit|git|session/i.test(intent)) return 'retro-git';
135
+ if (/decision|architect/i.test(intent)) return 'retro-decision';
136
+ if (/pattern|decompose|catalog/i.test(intent)) return 'decompose';
137
+ if (/opinion|review|challenge/i.test(intent)) return 'second-opinion';
138
+ if (/why|how|what if/i.test(intent)) return 'investigate';
139
+
140
+ // Fallback: ask user
141
+ return null;
142
+ }
143
+ ```
144
+
145
+ **Compute clarity score:**
146
+ - 3: `action` recognized + `target` present + specific flags
147
+ - 2: `action` recognized + `target` present
148
+ - 1: `action` recognized but no `target`
149
+ - 0: Cannot determine action
150
+
151
+ **If clarity < 2 and not autoYes:**
152
+
153
+ ```
154
+ AskUserQuestion:
155
+ header: "What would you like to learn?"
156
+ question: |
157
+ I need a bit more detail. What are you trying to do?
158
+ options:
159
+ - "Read through code/docs" → follow
160
+ - "Investigate a question" → investigate
161
+ - "Find patterns in code" → decompose
162
+ - "Get a second opinion" → second-opinion
163
+ - "Review git activity" → retro-git
164
+ - "Evaluate decisions" → retro-decision
165
+ - "Let me rephrase" → re-parse
166
+ ```
167
+
168
+ Max 2 clarification rounds. If still unclear: **Error E002**.
169
+
170
+ ---
171
+
172
+ ### Step 4: Select Chain & Confirm
173
+
174
+ #### 4a: Map resolved command → chain
175
+
176
+ ```javascript
177
+ const chainMap = {
178
+ // Single-step chains
179
+ 'follow': [{ cmd: 'learn-follow', args: '{target} {flags}' }],
180
+ 'investigate': [{ cmd: 'learn-investigate', args: '"{target}" {flags}' }],
181
+ 'decompose': [{ cmd: 'learn-decompose', args: '{target} {flags}' }],
182
+ 'second-opinion': [{ cmd: 'learn-second-opinion', args: '{target} {flags}' }],
183
+ 'retro-git': [{ cmd: 'learn-retro-git', args: '{flags}' }],
184
+ 'retro-decision': [{ cmd: 'learn-retro-decision', args: '{flags}' }],
185
+
186
+ // Multi-step chains
187
+ 'deep-understand': [
188
+ { cmd: 'learn-follow', args: '{target} --depth deep' },
189
+ { cmd: 'learn-decompose', args: '{target} --save-spec' },
190
+ { cmd: 'learn-second-opinion', args: '{target} --mode challenge' }
191
+ ],
192
+ 'pattern-catalog': [
193
+ { cmd: 'learn-decompose', args: '{target} --save-spec --save-wiki' },
194
+ { cmd: 'learn-second-opinion', args: '{target} --mode review' }
195
+ ],
196
+ 'full-retro': [
197
+ { cmd: 'learn-retro-git', args: '{flags}' },
198
+ { cmd: 'learn-retro-decision', args: '{flags}' }
199
+ ]
200
+ };
201
+ ```
202
+
203
+ **Chain upgrade heuristic** — single commands may upgrade to multi-step chains when context warrants it:
204
+ - `follow` on a large module (>500 LOC) → suggest `deep-understand`
205
+ - `decompose` with `--save-spec --save-wiki` → already a full catalog, no upgrade
206
+ - User explicitly mentions "thorough" or "deep" or "全面" → upgrade to multi-step
207
+
208
+ #### 4b: Assemble arguments
209
+
210
+ - Replace `{target}` with resolved target path/topic/wiki-id
211
+ - Replace `{flags}` with extracted flags (--depth, --days, --mode, --scope, etc.)
212
+ - Clean empty placeholders
213
+
214
+ #### 4c: Confirm (skip if autoYes)
215
+
216
+ **If `$DRY_RUN`:**
217
+ ```
218
+ ============================================================
219
+ MAESTRO LEARN: {chain_name} (dry run)
220
+ ============================================================
221
+ Intent: {original_intent}
222
+ Target: {resolved_target}
223
+
224
+ Pipeline:
225
+ 1. [{command}] args: {assembled_args}
226
+ ...
227
+
228
+ (Use without --dry-run to execute)
229
+ ============================================================
230
+ ```
231
+ Exit after display.
232
+
233
+ **If not autoYes:**
234
+ ```
235
+ AskUserQuestion:
236
+ header: "Confirm: {chain_name}"
237
+ question: |
238
+ Execute this learning chain?
239
+
240
+ Pipeline:
241
+ 1. {command} — {description}
242
+ ...
243
+
244
+ options:
245
+ - "Execute" → proceed
246
+ - "Cancel" → exit
247
+ ```
248
+
249
+ ---
250
+
251
+ ### Step 5: Setup Tracking
252
+
253
+ ```bash
254
+ SESSION_ID="learn-$(date +%Y%m%d-%H%M%S)"
255
+ SESSION_DIR=".workflow/learning/.maestro-learn/${SESSION_ID}"
256
+ mkdir -p "${SESSION_DIR}"
257
+ ```
258
+
259
+ Write `${SESSION_DIR}/status.json`:
260
+ ```json
261
+ {
262
+ "session_id": "{SESSION_ID}",
263
+ "created_at": "{ISO timestamp}",
264
+ "intent": "{original_intent}",
265
+ "chain": "{chain_name}",
266
+ "steps": [
267
+ { "index": 0, "cmd": "{command}", "args": "{args}", "status": "pending" }
268
+ ],
269
+ "current_step": 0,
270
+ "auto_mode": false
271
+ }
272
+ ```
273
+
274
+ ---
275
+
276
+ ### Step 6: Execute Chain
277
+
278
+ For each step in the chain (starting from `$STEP_INDEX` or 0):
279
+
280
+ 1. Update `status.json`: set step status to `"running"`
281
+ 2. Display step header:
282
+ ```
283
+ ── Step {N}/{total}: {command} ──────────────────────────
284
+ ```
285
+ 3. Execute: `Skill({ skill: "{command}", args: "{assembled_args}" })`
286
+ 4. On success:
287
+ - Update step status to `"completed"`
288
+ - Record duration
289
+ - Continue to next step
290
+ 5. On failure:
291
+ - Update step status to `"failed"`, record error
292
+ - **If autoYes**: skip and continue (log warning)
293
+ - **If interactive**:
294
+ ```
295
+ AskUserQuestion:
296
+ header: "Step {N} failed"
297
+ question: "{error summary}"
298
+ options:
299
+ - "Retry" → re-execute same step
300
+ - "Skip" → continue to next step
301
+ - "Abort" → exit chain
302
+ ```
303
+
304
+ ---
305
+
306
+ ### Step 7: Session Summary
307
+
308
+ After all steps complete (or chain aborted):
309
+
310
+ ```
311
+ === MAESTRO LEARN SESSION COMPLETE ===
312
+ Session: {session_id}
313
+ Chain: {chain_name} ({steps_completed}/{steps_total} steps)
314
+ Mode: {auto | interactive}
315
+
316
+ Steps:
317
+ [{status_icon}] {N}. {command_name} — {duration}
318
+
319
+ Artifacts:
320
+ - {list of files written to .workflow/learning/}
321
+
322
+ Next:
323
+ {suggested_next_action based on chain type}
324
+ ```
325
+
326
+ **Next-step routing by chain type:**
327
+
328
+ | Chain | Suggested next |
329
+ |-------|---------------|
330
+ | `follow` | "Decompose patterns? → `/maestro-learn --chain decompose`" |
331
+ | `investigate` | "Follow-along on discovered code? → `/maestro-learn follow <path>`" |
332
+ | `decompose` | "Get second opinion? → `/maestro-learn --chain second-opinion`" |
333
+ | `second-opinion` | "Create issue for findings? → `/manage-issue create`" |
334
+ | `retro-git` | "Deep dive on hotspot? → `/maestro-learn follow <path>`" |
335
+ | `retro-decision` | "Investigate stale decision? → `/maestro-learn investigate <question>`" |
336
+ | `deep-understand` | "Browse insights → `/manage-learn list`" |
337
+ | `pattern-catalog` | "Load specs → `/spec-load`" |
338
+ | `full-retro` | "Browse all insights → `/manage-learn list --tag retro`" |
339
+
340
+ </execution>
341
+
342
+ <error_codes>
343
+ | Code | Severity | Description | Recovery |
344
+ |------|----------|-------------|----------|
345
+ | E001 | error | No intent provided and no learning context | Provide a learning goal or target |
346
+ | E002 | error | Clarity too low after 2 clarification rounds | Show parsed intent, ask user to rephrase |
347
+ | E003 | error | Chain step failed + user chose abort | Record partial progress in status.json |
348
+ | E005 | error | Invalid chain name provided with --chain | Show valid chain names: follow, investigate, decompose, second-opinion, retro-git, retro-decision, deep-understand, pattern-catalog, full-retro |
349
+ | W001 | warning | Intent ambiguous between two commands | Present options, let user choose |
350
+ | W002 | warning | Chain step completed with warnings | Log and continue |
351
+ | W003 | warning | `.workflow/learning/` not found | Auto-create and proceed |
352
+ </error_codes>
353
+
354
+ <success_criteria>
355
+ - [ ] Intent classified with action, target, clarity_score
356
+ - [ ] Command/chain selected and confirmed (or auto-confirmed with -y)
357
+ - [ ] Session directory created at `.workflow/learning/.maestro-learn/{session_id}/`
358
+ - [ ] status.json tracks per-step progress
359
+ - [ ] All chain steps executed via Skill() with proper argument propagation
360
+ - [ ] Target resolved (file path, wiki-id, topic) and passed to downstream commands
361
+ - [ ] Error handling: retry/skip/abort per step (auto-skip in -y mode)
362
+ - [ ] Session summary displayed on completion with next-step routing
363
+ - [ ] No files modified outside `.workflow/learning/`
364
+ </success_criteria>
@@ -0,0 +1,16 @@
1
+ import{d as Y,r as d,A as B,j as e,F as C,o as xe,W as j,p as pe,V as ue,X as fe,n as X,B as he}from"./index-11DuhKhc.js";import{C as me}from"./code-zxwuybO8.js";import{F as W,a as ge,T as ve}from"./TreeBrowser-0VIMWclo.js";import{S as Q}from"./search-BQbBTIYl.js";import{u as Z}from"./shallow-Clb1Lyd_.js";import{M as be}from"./MarkdownRenderer-CCXHaut3.js";import{C as ee}from"./chevron-right-Yts3bi8p.js";import{D as te}from"./folder-Bvjj8Vn9.js";import{C as re}from"./circle-4Ci4Xolf.js";import{C as $}from"./circle-check-BA5_XqeV.js";import{A as ye}from"./index-BvScJmJM.js";import{m as N}from"./proxy-B9XRqHD9.js";/**
2
+ * @license lucide-react v0.577.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const je=[["circle",{cx:"12",cy:"18",r:"3",key:"1mpf1b"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["path",{d:"M18 9v2c0 .6-.4 1-1 1H7c-.6 0-1-.4-1-1V9",key:"1uq4wg"}],["path",{d:"M12 12v3",key:"158kv8"}]],Ne=Y("git-fork",je);/**
7
+ * @license lucide-react v0.577.0 - ISC
8
+ *
9
+ * This source code is licensed under the ISC license.
10
+ * See the LICENSE file in the root directory of this source tree.
11
+ */const we=[["path",{d:"m16 6 4 14",key:"ji33uf"}],["path",{d:"M12 6v14",key:"1n7gus"}],["path",{d:"M8 8v12",key:"1gg7y9"}],["path",{d:"M4 4v16",key:"6qkkli"}]],ke=Y("library",we);function Ce(){const[t,r]=d.useState([]),[a,s]=d.useState(null),[i,l]=d.useState(null),[c,n]=d.useState(!1),[o,x]=d.useState(!0),[p,u]=d.useState(null),f=d.useCallback(async()=>{x(!0);try{const b=await fetch(`${B.ARTIFACTS}/?tree=true`);if(!b.ok){u(`Failed to load tree: ${b.status}`);return}const y=await b.json();r(y),u(null)}catch{u("Failed to connect to server")}finally{x(!1)}},[]);d.useEffect(()=>{f()},[f]);const g=d.useCallback(async b=>{s(b),n(!0),u(null);try{const y=await fetch(`${B.ARTIFACTS}/${b}`);if(!y.ok){u(`Failed to load file: ${y.status}`),l(null);return}const S=await y.text();l(S)}catch{u("Failed to fetch file content"),l(null)}finally{n(!1)}},[]);return{tree:t,selectedPath:a,content:i,loading:c,treeLoading:o,error:p,selectFile:g,refreshTree:f}}function se({data:t}){const[r,a]=d.useState(!1);return e.jsxs("div",{className:"font-mono text-[length:var(--font-size-sm)] leading-[var(--line-height-normal)]",role:"tree","aria-label":"JSON data viewer",children:[e.jsxs("div",{className:"flex items-center gap-[var(--spacing-2)] mb-[var(--spacing-3)] pb-[var(--spacing-2)] border-b border-border bg-bg-secondary px-[var(--spacing-2)] py-[var(--spacing-1-5)] -mx-[var(--spacing-2)] -mt-[var(--spacing-1)]",children:[e.jsx("button",{type:"button",onClick:()=>a(s=>!s),"aria-label":r?"Expand all":"Collapse all",className:["px-[var(--spacing-2)] py-[var(--spacing-1)] text-[length:var(--font-size-xs)] rounded-[var(--radius-default)]","text-text-secondary hover:bg-bg-hover hover:text-text-primary","transition-colors duration-[var(--duration-fast)] ease-[var(--ease-notion)]","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]","active:scale-[0.98] active:duration-[var(--duration-fast)]"].join(" "),children:r?"Expand All":"Collapse All"}),e.jsx("span",{className:"text-[length:var(--font-size-xs)] text-text-tertiary",children:"Click a value to copy"})]}),e.jsx(_,{value:t,path:"$",depth:0,forceCollapse:r})]})}function _({value:t,path:r,depth:a,keyName:s,forceCollapse:i}){const[l,c]=d.useState(a>2),n=i?!0:l,o=d.useCallback(u=>{navigator.clipboard.writeText(u).catch(()=>{})},[]),x=a*16;if(t===null)return e.jsxs("div",{className:"flex items-center gap-[var(--spacing-1)] hover:bg-bg-hover rounded-[var(--radius-default)] transition-colors duration-[var(--duration-fast)]",style:{paddingLeft:x},role:"treeitem",children:[s!==void 0&&e.jsx(w,{name:s}),e.jsx("span",{className:"text-text-tertiary cursor-pointer hover:opacity-70",onClick:()=>o("null"),title:`Copy: null | Path: ${r}`,children:"null"})]});if(typeof t!="object"){const{colorVar:u,display:f}=Se(t);return e.jsxs("div",{className:"flex items-center gap-[var(--spacing-1)] hover:bg-bg-hover rounded-[var(--radius-default)] transition-colors duration-[var(--duration-fast)]",style:{paddingLeft:x},role:"treeitem",children:[s!==void 0&&e.jsx(w,{name:s}),e.jsx("span",{className:"cursor-pointer hover:opacity-70",style:{color:u},onClick:()=>o(String(t)),title:`Copy value | Path: ${r}`,children:f})]})}if(Array.isArray(t))return t.length===0?e.jsxs("div",{className:"flex items-center gap-[var(--spacing-1)]",style:{paddingLeft:x},role:"treeitem",children:[s!==void 0&&e.jsx(w,{name:s}),e.jsx("span",{className:"text-text-tertiary",children:"[]"})]}):e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-[var(--spacing-1)] cursor-pointer hover:bg-bg-hover rounded-[var(--radius-default)] px-[var(--spacing-1)] transition-colors duration-[var(--duration-fast)]",style:{paddingLeft:x},onClick:()=>c(u=>!u),role:"treeitem","aria-expanded":!n,children:[e.jsx(J,{open:!n}),s!==void 0&&e.jsx(w,{name:s}),e.jsxs("span",{className:"text-text-tertiary",children:["[",n?`${t.length} items`:""]})]}),!n&&e.jsxs(e.Fragment,{children:[t.map((u,f)=>e.jsx(_,{value:u,path:`${r}[${f}]`,depth:a+1,keyName:String(f),forceCollapse:i},f)),e.jsx("div",{style:{paddingLeft:x},children:e.jsx("span",{className:"text-text-tertiary",children:"]"})})]}),n&&e.jsx("span",{className:"text-text-tertiary",style:{paddingLeft:x},children:"]"})]});const p=Object.entries(t);return p.length===0?e.jsxs("div",{className:"flex items-center gap-[var(--spacing-1)]",style:{paddingLeft:x},role:"treeitem",children:[s!==void 0&&e.jsx(w,{name:s}),e.jsx("span",{className:"text-text-tertiary",children:"{}"})]}):e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-[var(--spacing-1)] cursor-pointer hover:bg-bg-hover rounded-[var(--radius-default)] px-[var(--spacing-1)] transition-colors duration-[var(--duration-fast)]",style:{paddingLeft:x},onClick:()=>c(u=>!u),role:"treeitem","aria-expanded":!n,children:[e.jsx(J,{open:!n}),s!==void 0&&e.jsx(w,{name:s}),e.jsxs("span",{className:"text-text-tertiary",children:["{",n?`${p.length} keys`:""]})]}),!n&&e.jsxs(e.Fragment,{children:[p.map(([u,f])=>e.jsx(_,{value:f,path:`${r}.${u}`,depth:a+1,keyName:u,forceCollapse:i},u)),e.jsx("div",{style:{paddingLeft:x},children:e.jsx("span",{className:"text-text-tertiary",children:"}"})})]}),n&&e.jsx("span",{className:"text-text-tertiary",style:{paddingLeft:x},children:"}"})]})}function w({name:t}){return e.jsxs("span",{className:"text-text-primary font-[var(--font-weight-medium)]",children:['"',t,'"',e.jsx("span",{className:"text-text-tertiary",children:": "})]})}function J({open:t}){return e.jsx("span",{className:["text-text-tertiary text-[length:var(--font-size-xs)] w-[var(--size-icon-sm)] inline-flex items-center justify-center select-none","transition-transform duration-[var(--duration-normal)] ease-[var(--ease-notion)]",t?"rotate-90":""].join(" "),children:"▸"})}function Se(t){return typeof t=="string"?{colorVar:"var(--color-status-completed)",display:`"${t}"`}:typeof t=="number"?{colorVar:"var(--color-accent-blue)",display:String(t)}:typeof t=="boolean"?{colorVar:"var(--color-accent-yellow)",display:String(t)}:{colorVar:"var(--color-text-tertiary)",display:String(t)}}function ae({content:t,path:r,rawOverride:a}){const[s,i]=d.useState(!1),l=Le(r),c=a!==void 0,n=c?a:s;return c?e.jsx("div",{role:"region","aria-label":"File content",children:n?e.jsx(I,{content:t}):e.jsx(D,{content:t,ext:l})}):e.jsxs("div",{className:"flex flex-col h-full",role:"region","aria-label":"File content",children:[e.jsxs("div",{className:"flex items-center justify-between px-[var(--spacing-3)] py-[var(--spacing-2)] border-b border-border bg-bg-secondary shrink-0 h-9",children:[e.jsx("span",{className:"text-[length:var(--font-size-sm)] text-text-secondary font-mono truncate",children:r}),e.jsx("button",{type:"button",onClick:()=>i(o=>!o),"aria-pressed":n,"aria-label":n?"Show rendered view":"Show raw view",className:["px-[var(--spacing-2)] py-[var(--spacing-1)] text-[length:var(--font-size-xs)] rounded-[var(--radius-default)]","transition-colors duration-[var(--duration-fast)] ease-[var(--ease-notion)]","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]",n?"bg-bg-active text-accent-blue font-[var(--font-weight-medium)]":"text-text-secondary hover:bg-bg-hover hover:text-text-primary"].join(" "),children:n?"Rendered":"Raw"})]}),e.jsx("div",{className:"flex-1 overflow-y-auto p-[var(--spacing-4)] bg-bg-primary",children:n?e.jsx(I,{content:t}):e.jsx(D,{content:t,ext:l})})]})}function D({content:t,ext:r}){switch(r){case".md":return e.jsx(be,{content:t});case".json":return e.jsx(Ie,{content:t});case".ndjson":return e.jsx(Fe,{content:t});default:return e.jsx(I,{content:t})}}function Ie({content:t}){try{const r=JSON.parse(t);return e.jsx(se,{data:r})}catch{return e.jsxs("div",{children:[e.jsx("p",{className:"text-status-blocked text-[length:var(--font-size-sm)] mb-[var(--spacing-2)]",children:"Invalid JSON"}),e.jsx(I,{content:t})]})}}function Fe({content:t}){const r=t.split(`
12
+ `).filter(a=>a.trim().length>0);return r.length===0?e.jsx("p",{className:"text-text-secondary text-[length:var(--font-size-sm)] italic",children:"Empty NDJSON file"}):e.jsxs("div",{className:"space-y-[var(--spacing-3)]",children:[e.jsxs("p",{className:"text-[length:var(--font-size-xs)] text-text-secondary mb-[var(--spacing-2)]",children:[r.length," record",r.length!==1?"s":""]}),r.map((a,s)=>{try{const i=JSON.parse(a);return e.jsxs("div",{className:"border border-border rounded-[var(--radius-default)] p-[var(--spacing-2)] bg-bg-secondary",children:[e.jsxs("span",{className:"text-[length:var(--font-size-xs)] text-text-secondary mb-[var(--spacing-1)] block",children:["#",s+1]}),e.jsx(se,{data:i})]},s)}catch{return e.jsxs("div",{className:"border border-border rounded-[var(--radius-default)] p-[var(--spacing-2)] bg-bg-secondary",children:[e.jsxs("span",{className:"text-[length:var(--font-size-xs)] text-text-secondary",children:["#",s+1," (invalid)"]}),e.jsx("pre",{className:"text-[length:var(--font-size-sm)] font-mono text-text-primary whitespace-pre-wrap mt-[var(--spacing-1)]",children:a})]},s)}})]})}function I({content:t}){return e.jsx("pre",{className:"font-mono text-[length:var(--font-size-sm)] text-text-primary whitespace-pre-wrap break-words leading-[var(--line-height-relaxed)]",children:t})}function Le(t){const r=t.lastIndexOf(".");return r===-1?"":t.slice(r).toLowerCase()}function Ee(t){const r=t.lastIndexOf(".");return r===-1?"":t.slice(r).toLowerCase()}function ze(t){const r=[],a=t.split(`
13
+ `);for(const s of a){const i=s.match(/^(#{1,4})\s+(.+)/);i&&r.push({level:i[1].length,text:i[2].trim()})}return r}function Te(t){try{const r=JSON.parse(t);return typeof r!="object"||r===null||Array.isArray(r)?[]:Object.entries(r).map(([a,s])=>({key:a,type:Array.isArray(s)?"array":typeof s}))}catch{return[]}}function Oe({path:t,content:r}){if(!t)return e.jsx("div",{className:"w-[240px] bg-bg-primary border-l border-border shrink-0 flex items-center justify-center",children:e.jsx("p",{className:"text-[length:var(--font-size-xs)] text-text-tertiary",children:"No file selected"})});const a=Ee(t),s=t.includes("/")?t.slice(t.lastIndexOf("/")+1):t,i=t.includes("/")?t.slice(0,t.lastIndexOf("/")):"/";return e.jsxs("div",{className:"w-[240px] bg-bg-primary border-l border-border shrink-0 flex flex-col overflow-hidden",children:[e.jsx("div",{className:"px-[14px] py-[10px] border-b border-border-divider text-[length:var(--font-size-sm)] font-[var(--font-weight-semibold)] text-text-primary shrink-0",children:"Properties"}),e.jsxs("div",{className:"flex-1 overflow-y-auto px-[14px] py-[var(--spacing-3)]",children:[e.jsxs(F,{title:"File Info",defaultOpen:!0,children:[e.jsx(T,{label:"Name",value:s}),e.jsx(T,{label:"Type",value:a.replace(".","").toUpperCase()||"Unknown"}),e.jsx(T,{label:"Directory",value:i,mono:!0})]}),e.jsx(F,{title:"Tags",children:e.jsxs("div",{className:"flex flex-wrap gap-[var(--spacing-1)]",children:[e.jsx(O,{label:a.replace(".","")||"file",color:"blue"}),t.includes("phase")&&e.jsx(O,{label:"phase",color:"purple"}),t.includes("verification")&&e.jsx(O,{label:"verify",color:"green"})]})}),a===".md"&&r&&e.jsx(Ae,{content:r}),a===".json"&&r&&e.jsx($e,{content:r})]})]})}function F({title:t,defaultOpen:r=!0,children:a}){const[s,i]=d.useState(r);return e.jsxs("div",{className:"mb-[var(--spacing-4)]",children:[e.jsxs("button",{type:"button",onClick:()=>i(l=>!l),className:["flex items-center gap-[var(--spacing-1)] w-full text-left mb-[var(--spacing-1-5)]","text-[9px] font-[var(--font-weight-semibold)] uppercase tracking-[0.06em] text-text-placeholder","hover:text-text-secondary transition-colors duration-[var(--duration-fast)]"].join(" "),children:[e.jsx(ee,{size:10,strokeWidth:2.5,className:["transition-transform duration-[var(--duration-fast)]",s?"rotate-90":""].join(" ")}),t]}),s&&a]})}function T({label:t,value:r,mono:a}){return e.jsxs("div",{className:"flex items-center justify-between py-[var(--spacing-1)] text-[length:var(--font-size-sm)]",children:[e.jsx("span",{className:"text-text-tertiary",children:t}),e.jsx("span",{className:`text-text-primary font-[var(--font-weight-medium)] ${a?"font-mono text-[11px]":""} truncate max-w-[140px]`,children:r})]})}function O({label:t,color:r}){const s={blue:{bg:"rgba(91,141,184,0.12)",text:"var(--color-accent-blue)"},purple:{bg:"rgba(145,120,181,0.12)",text:"var(--color-accent-purple, #9178B5)"},green:{bg:"rgba(90,158,120,0.12)",text:"var(--color-status-completed)"}}[r];return e.jsx("span",{className:"text-[10px] font-[var(--font-weight-semibold)] px-[var(--spacing-2)] py-[2px] rounded-full",style:{background:s.bg,color:s.text},children:t})}function Ae({content:t}){const r=d.useMemo(()=>ze(t),[t]);return r.length===0?null:e.jsx(F,{title:"Outline",children:e.jsx("div",{className:"flex flex-col gap-[2px]",children:r.map((a,s)=>e.jsxs("button",{type:"button",className:["flex items-center gap-[var(--spacing-1-5)] px-[var(--spacing-2)] py-[3px] rounded-[var(--radius-sm)] text-[11px] w-full text-left","hover:bg-bg-hover hover:text-text-primary transition-colors duration-[var(--duration-fast)] cursor-pointer",s===0?"text-text-primary font-[var(--font-weight-semibold)]":"text-text-tertiary"].join(" "),style:{paddingLeft:(a.level-1)*10+8},children:[e.jsx("span",{className:"w-1 h-1 rounded-full shrink-0",style:{background:s===0?"var(--color-accent-purple)":"var(--color-text-placeholder)"}}),e.jsx("span",{className:"truncate",children:a.text})]},s))})})}function $e({content:t}){const r=d.useMemo(()=>Te(t),[t]);return r.length===0?null:e.jsx(F,{title:"Structure",children:e.jsx("div",{className:"flex flex-col gap-0",children:r.map(a=>e.jsxs("div",{className:"flex items-center justify-between py-[var(--spacing-1)] text-[length:var(--font-size-sm)]",children:[e.jsx("span",{className:"text-text-primary font-mono text-[11px] truncate max-w-[120px]",children:a.key}),e.jsx("span",{className:"text-text-placeholder text-[10px]",children:a.type})]},a.key))})})}function _e(t){switch(t.slice(t.lastIndexOf(".")).toLowerCase()){case".json":return{Icon:W,bg:"rgba(184,149,64,0.10)",color:"var(--color-accent-yellow)"};case".md":return{Icon:C,bg:"rgba(91,141,184,0.10)",color:"var(--color-accent-blue)"};case".ndjson":return{Icon:te,bg:"rgba(200,134,58,0.10)",color:"var(--color-accent-orange, #C8863A)"};default:return{Icon:C,bg:"rgba(160,157,151,0.10)",color:"var(--color-text-tertiary)"}}}function ne({content:t,path:r,onNavigate:a,loading:s,error:i,title:l,subtitle:c}){const[n,o]=d.useState(!1);if(i)return e.jsx("div",{className:"flex items-center justify-center h-full",children:e.jsx("div",{role:"alert",className:"px-[var(--spacing-3)] py-[var(--spacing-2)] text-[length:var(--font-size-xs)] rounded-[var(--radius-default)]",style:{backgroundColor:"var(--color-status-bg-blocked)",color:"var(--color-status-blocked)",borderColor:"var(--color-status-blocked)"},children:i})});if(s)return e.jsx("div",{className:"flex items-center justify-center h-full",children:e.jsx("p",{className:"text-text-secondary text-[length:var(--font-size-sm)] animate-pulse",children:"Loading..."})});if(!r||t===null)return e.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-text-secondary",children:[e.jsx("p",{className:"text-[length:var(--font-size-lg)] mb-[var(--spacing-2)]",children:"Select a file"}),e.jsx("p",{className:"text-[length:var(--font-size-sm)]",children:"Choose an artifact from the tree to view"})]});const x=r.includes("/")?r.slice(r.lastIndexOf("/")+1):r,{Icon:p,bg:u,color:f}=_e(r);return e.jsxs("div",{className:"flex h-full overflow-hidden",children:[e.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-[var(--spacing-3)] px-[24px] py-[10px] border-b border-border-divider shrink-0",children:[e.jsx("div",{className:"w-7 h-7 rounded-[var(--radius-default)] flex items-center justify-center shrink-0",style:{background:u,color:f},children:e.jsx(p,{size:14,strokeWidth:1.8})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[c&&e.jsx("div",{className:"text-[10px] uppercase tracking-wider text-text-tertiary font-medium truncate",children:c}),e.jsx("div",{className:"text-[14px] font-[var(--font-weight-bold)] text-text-primary truncate",children:l??x}),e.jsx("div",{className:"text-[10px] font-mono text-text-tertiary truncate",children:r})]}),e.jsxs("div",{className:"flex gap-[var(--spacing-1)]",children:[e.jsx("button",{type:"button",onClick:()=>o(!1),className:["px-[10px] py-[var(--spacing-1)] rounded-[var(--radius-default)] border text-[10px] font-[var(--font-weight-semibold)]","transition-all duration-[var(--duration-fast)] ease-[var(--ease-notion)]","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]",n?"bg-bg-card text-text-secondary border-border hover:border-text-tertiary hover:text-text-primary":"bg-text-primary text-bg-primary border-text-primary"].join(" "),children:"Rendered"}),e.jsx("button",{type:"button",onClick:()=>o(!0),className:["px-[10px] py-[var(--spacing-1)] rounded-[var(--radius-default)] border text-[10px] font-[var(--font-weight-semibold)]","transition-all duration-[var(--duration-fast)] ease-[var(--ease-notion)]","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]",n?"bg-text-primary text-bg-primary border-text-primary":"bg-bg-card text-text-secondary border-border hover:border-text-tertiary hover:text-text-primary"].join(" "),children:"Source"})]})]}),e.jsx("div",{className:"flex-1 overflow-y-auto",children:e.jsx("div",{className:"max-w-[720px] mx-auto px-[32px] py-[24px]",children:e.jsx(ae,{content:t,path:r,rawOverride:n})})})]}),e.jsx(Oe,{path:r,content:t})]})}function We(t){const r=t.slice(t.lastIndexOf(".")).toLowerCase();switch(r){case".json":return"json";case".md":return"md";case".ndjson":return"jsonl";default:return r.replace(".","")||"file"}}function Re(t){switch(t){case"json":return{Icon:W,tintBg:"rgba(184,149,64,0.10)",iconColor:"var(--color-accent-yellow)",badgeBg:"rgba(184,149,64,0.12)",badgeColor:"var(--color-accent-yellow)"};case"md":return{Icon:C,tintBg:"rgba(91,141,184,0.10)",iconColor:"var(--color-accent-blue)",badgeBg:"rgba(91,141,184,0.12)",badgeColor:"var(--color-accent-blue)"};case"jsonl":return{Icon:te,tintBg:"rgba(200,134,58,0.10)",iconColor:"var(--color-accent-orange, #C8863A)",badgeBg:"rgba(200,134,58,0.12)",badgeColor:"var(--color-accent-orange, #C8863A)"};default:return{Icon:C,tintBg:"rgba(160,157,151,0.10)",iconColor:"var(--color-text-tertiary)",badgeBg:"rgba(160,157,151,0.12)",badgeColor:"var(--color-text-tertiary)"}}}function Me({name:t,path:r,isSelected:a,onClick:s}){const i=We(t),l=Re(i),{Icon:c}=l,n=r.includes("/")?r.slice(0,r.lastIndexOf("/")):"";return e.jsxs("button",{type:"button",onClick:s,className:["bg-bg-card border rounded-[var(--radius-lg)] p-[14px_16px] cursor-pointer text-left w-full","transition-all duration-[180ms] ease-[var(--ease-spring)]","flex flex-col gap-[var(--spacing-2)]","hover:-translate-y-[2px] hover:shadow-[0_6px_20px_rgba(0,0,0,0.06)]","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]",a?"border-accent-purple shadow-[0_0_0_2px_rgba(145,120,181,0.2)]":"border-border-divider hover:border-border"].join(" "),children:[e.jsxs("div",{className:"flex items-center gap-[var(--spacing-2)]",children:[e.jsx("div",{className:"w-8 h-8 rounded-[var(--radius-md)] flex items-center justify-center shrink-0",style:{background:l.tintBg,color:l.iconColor},children:e.jsx(c,{size:16,strokeWidth:1.8})}),e.jsx("span",{className:"text-[length:var(--font-size-sm)] font-[var(--font-weight-semibold)] text-text-primary flex-1 truncate",children:t}),e.jsx("span",{className:"text-[9px] font-[var(--font-weight-semibold)] px-[5px] py-[1px] rounded-[var(--radius-sm)] uppercase font-mono shrink-0",style:{background:l.badgeBg,color:l.badgeColor},children:i})]}),e.jsx("div",{className:"text-[length:var(--font-size-xs)] text-text-tertiary leading-[1.5] line-clamp-3 min-h-[48px]",children:r}),n&&e.jsx("div",{className:"flex items-center gap-[var(--spacing-1-5)] pt-[var(--spacing-1)] border-t border-border-divider",children:e.jsx("span",{className:"text-[10px] text-text-placeholder font-mono truncate",children:n})})]})}function ie(t,r=""){const a=[];for(const s of t)s.type==="file"?a.push({name:s.name,path:s.path,group:r||"root"}):s.children&&a.push(...ie(s.children,s.name));return a}function Pe(t){const r=new Map;for(const a of t){const s=r.get(a.group)||[];s.push(a),r.set(a.group,s)}return r}const Ve=["All","json","md","jsonl"];function Be(t){if(t==="root"||!t.match(/^\d{2}-/))return{dotColor:"var(--color-text-tertiary)"};const r=t.toLowerCase();return r.includes("setup")||r.includes("complete")||r.includes("init")?{dotColor:"var(--color-status-completed)",statusLabel:"Done",statusBg:"var(--color-status-bg-completed)",statusColor:"var(--color-status-completed)"}:{dotColor:"var(--color-accent-yellow)",statusLabel:"Active",statusBg:"var(--color-status-bg-executing)",statusColor:"var(--color-status-executing)"}}function Je({tree:t,onSelectFile:r,selectedPath:a}){const[s,i]=d.useState(""),[l,c]=d.useState("All"),n=d.useMemo(()=>ie(t),[t]),o=d.useMemo(()=>{let p=n;if(s.trim()){const u=s.toLowerCase();p=p.filter(f=>f.name.toLowerCase().includes(u)||f.path.toLowerCase().includes(u))}return l!=="All"&&(p=p.filter(u=>{const f=u.name.slice(u.name.lastIndexOf(".")).toLowerCase();return l==="json"?f===".json":l==="md"?f===".md":l==="jsonl"?f===".ndjson"||f===".jsonl":!0})),p},[n,s,l]),x=d.useMemo(()=>Pe(o),[o]);return e.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[e.jsxs("div",{className:"flex items-center gap-[var(--spacing-2)] px-[24px] py-[10px] border-b border-border-divider shrink-0",children:[e.jsxs("div",{className:["flex items-center gap-[var(--spacing-1-5)] px-[var(--spacing-3)] py-[5px] rounded-[var(--radius-md)]","bg-bg-card border border-border w-[200px]","focus-within:border-accent-purple transition-colors duration-[var(--duration-fast)]"].join(" "),children:[e.jsx(Q,{size:13,strokeWidth:2,className:"text-text-placeholder shrink-0"}),e.jsx("input",{type:"search",value:s,onChange:p=>i(p.target.value),placeholder:"Search artifacts...","aria-label":"Search artifacts",className:"border-none bg-transparent outline-none text-[12px] text-text-primary placeholder:text-text-placeholder w-full font-[inherit]"})]}),e.jsx("div",{className:"flex-1"}),Ve.map(p=>e.jsx("button",{type:"button",onClick:()=>c(p),className:["text-[11px] font-[var(--font-weight-medium)] px-[var(--spacing-3)] py-[var(--spacing-1)] rounded-full","border transition-all duration-[var(--duration-fast)] ease-[var(--ease-notion)]","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]",l===p?"bg-text-primary text-bg-primary border-text-primary":"bg-bg-card text-text-secondary border-border hover:border-text-tertiary hover:text-text-primary"].join(" "),children:p==="All"?"All":p.toUpperCase()},p))]}),e.jsx("div",{className:"flex-1 overflow-y-auto px-[24px] py-[var(--spacing-4)]",children:o.length===0?e.jsx("div",{className:"flex items-center justify-center h-full text-text-tertiary text-[length:var(--font-size-sm)]",children:"No artifacts found"}):Array.from(x.entries()).map(([p,u])=>{const f=Be(p);return e.jsxs("div",{className:"mb-[24px]",children:[e.jsxs("div",{className:"flex items-center gap-[10px] mb-[10px] pl-[var(--spacing-1)]",children:[e.jsx("span",{className:"w-[10px] h-[10px] rounded-full shrink-0",style:{background:f.dotColor}}),e.jsx("span",{className:"text-[13px] font-[var(--font-weight-bold)] text-text-primary",children:p==="root"?"Project":p}),f.statusLabel&&e.jsx("span",{className:"text-[10px] font-[var(--font-weight-semibold)] px-[var(--spacing-2)] py-[2px] rounded-full",style:{background:f.statusBg,color:f.statusColor},children:f.statusLabel}),e.jsxs("span",{className:"text-[11px] text-text-tertiary",children:[u.length," file",u.length!==1?"s":""]}),e.jsx("div",{className:"flex-1 h-px bg-border-divider ml-[var(--spacing-2)]"})]}),e.jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(240px,1fr))] gap-[10px]",children:u.map(g=>e.jsx(Me,{name:g.name,path:g.path,type:g.name.slice(g.name.lastIndexOf(".")),isSelected:g.path===a,onClick:()=>r(g.path)},g.path))})]},p)})})]})}function De({content:t,path:r}){const[a,s]=d.useState(!1);if(!r||t===null)return e.jsxs("div",{className:"flex flex-col items-center justify-center h-full text-text-secondary",children:[e.jsx("p",{className:"text-[length:var(--font-size-lg)] mb-[var(--spacing-2)]",children:"Select a file"}),e.jsx("p",{className:"text-[length:var(--font-size-sm)]",children:"Choose a JSON artifact to view its structure"})]});const l=r.slice(r.lastIndexOf(".")).toLowerCase()===".json",c=r.includes("/")?r.slice(r.lastIndexOf("/")+1):r;return l?e.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[e.jsx(K,{fileName:c,path:r,isJson:!0,rawMode:a,onToggle:()=>s(n=>!n)}),e.jsx("div",{className:"flex-1 overflow-y-auto px-[24px] py-[20px]",children:e.jsx("div",{className:"max-w-[780px] mx-auto",children:a?e.jsx(oe,{content:t}):e.jsx(Ke,{content:t})})})]}):e.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[e.jsx(K,{fileName:c,path:r,isJson:!1,rawMode:!1,onToggle:()=>{}}),e.jsx("div",{className:"flex-1 overflow-hidden",children:e.jsx(ae,{content:t,path:r})})]})}function K({fileName:t,path:r,isJson:a,rawMode:s,onToggle:i}){const l=a?W:C,c=a?"rgba(184,149,64,0.10)":"rgba(91,141,184,0.10)",n=a?"var(--color-accent-yellow)":"var(--color-accent-blue)";return e.jsxs("div",{className:"flex items-center gap-[var(--spacing-3)] px-[24px] py-[10px] border-b border-border-divider shrink-0",children:[e.jsx("div",{className:"w-7 h-7 rounded-[var(--radius-default)] flex items-center justify-center shrink-0",style:{background:c,color:n},children:e.jsx(l,{size:14,strokeWidth:1.8})}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("div",{className:"text-[14px] font-[var(--font-weight-bold)] text-text-primary truncate",children:t}),e.jsx("div",{className:"text-[10px] font-mono text-text-tertiary truncate",children:r})]}),a&&e.jsxs("div",{className:"flex gap-[var(--spacing-1)]",children:[e.jsx("button",{type:"button",onClick:i,className:["px-[10px] py-[var(--spacing-1)] rounded-[var(--radius-default)] border text-[10px] font-[var(--font-weight-semibold)]","transition-all duration-[var(--duration-fast)] ease-[var(--ease-notion)]","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]",s?"bg-bg-card text-text-secondary border-border hover:border-text-tertiary hover:text-text-primary":"bg-text-primary text-bg-primary border-text-primary"].join(" "),children:"Structured"}),e.jsx("button",{type:"button",onClick:i,className:["px-[10px] py-[var(--spacing-1)] rounded-[var(--radius-default)] border text-[10px] font-[var(--font-weight-semibold)]","transition-all duration-[var(--duration-fast)] ease-[var(--ease-notion)]","focus-visible:outline-none focus-visible:shadow-[var(--shadow-focus-ring)]",s?"bg-text-primary text-bg-primary border-text-primary":"bg-bg-card text-text-secondary border-border hover:border-text-tertiary hover:text-text-primary"].join(" "),children:"Raw"})]})]})}function Ke({content:t}){const r=d.useMemo(()=>{try{return JSON.parse(t)}catch{return null}},[t]);if(!r||typeof r!="object")return e.jsx(oe,{content:t});if(Array.isArray(r))return e.jsx("div",{className:"flex flex-col gap-[var(--spacing-4)]",children:r.map((s,i)=>e.jsx(A,{title:`Item ${i+1}`,data:s},i))});const a=Object.entries(r);return e.jsxs("div",{className:"flex flex-col gap-[var(--spacing-4)]",children:[a.map(([s,i])=>Array.isArray(i)&&i.length>0&&typeof i[0]=="object"?e.jsxs("div",{children:[e.jsx(L,{title:s,badge:`${i.length}`}),e.jsx("div",{className:"flex flex-col gap-[var(--spacing-1-5)]",children:i.map((l,c)=>He(l)?e.jsx(qe,{data:l},c):Ue(l)?e.jsx(Ye,{data:l},c):e.jsx(A,{title:`#${c+1}`,data:l},c))})]},s):typeof i=="object"&&i!==null&&!Array.isArray(i)?e.jsx(A,{title:s,data:i},s):null),e.jsx(Ge,{data:r})]})}function L({title:t,badge:r}){return e.jsxs("div",{className:"flex items-center gap-[var(--spacing-2)] mb-[var(--spacing-2)] pb-[var(--spacing-1-5)] border-b border-border-divider",children:[e.jsx("span",{className:"text-[11px] font-[var(--font-weight-bold)] uppercase tracking-[0.06em] text-text-tertiary",children:t}),r&&e.jsx("span",{className:"text-[10px] font-[var(--font-weight-semibold)] px-[var(--spacing-1-5)] py-[1px] rounded-full",style:{background:"rgba(91,141,184,0.12)",color:"var(--color-accent-blue)"},children:r})]})}function A({title:t,data:r}){if(typeof r!="object"||r===null)return e.jsxs("div",{children:[e.jsx(L,{title:t}),e.jsx("div",{className:"text-[13px] text-text-primary",children:String(r)})]});const a=Object.entries(r);return e.jsxs("div",{children:[e.jsx(L,{title:t}),e.jsx("div",{className:"flex flex-col",children:a.map(([s,i])=>e.jsxs("div",{className:"grid grid-cols-[140px_1fr] gap-[var(--spacing-3)] py-[var(--spacing-1-5)] border-b border-border-divider last:border-b-0 items-start",children:[e.jsx("span",{className:"text-[11px] font-[var(--font-weight-semibold)] text-text-tertiary font-mono pt-[1px]",children:s}),e.jsx(le,{value:i})]},s))})]})}function le({value:t}){return t==null?e.jsx("span",{className:"text-[13px] text-text-placeholder italic",children:"null"}):typeof t=="boolean"?e.jsxs("span",{className:"text-[10px] font-[var(--font-weight-semibold)] px-[var(--spacing-2)] py-[2px] rounded-full inline-flex items-center gap-[var(--spacing-1)]",style:{background:t?"rgba(90,158,120,0.12)":"rgba(160,157,151,0.12)",color:t?"var(--color-status-completed)":"var(--color-text-tertiary)"},children:[t?e.jsx($,{size:10,strokeWidth:2.5}):e.jsx(re,{size:10,strokeWidth:2.5}),String(t)]}):typeof t=="number"?e.jsx("span",{className:"text-[13px] font-mono text-accent-blue",children:t}):typeof t=="string"?/^(completed|done|passed|active|success)$/i.test(t)?e.jsxs("span",{className:"text-[10px] font-[var(--font-weight-semibold)] px-[var(--spacing-2)] py-[2px] rounded-full inline-flex items-center gap-[var(--spacing-1)]",style:{background:"rgba(90,158,120,0.12)",color:"var(--color-status-completed)"},children:[e.jsx($,{size:10,strokeWidth:2.5}),t]}):/^(blocked|failed|error)$/i.test(t)?e.jsx("span",{className:"text-[10px] font-[var(--font-weight-semibold)] px-[var(--spacing-2)] py-[2px] rounded-full",style:{background:"var(--color-status-bg-blocked)",color:"var(--color-status-blocked)"},children:t}):/^(in.?progress|running|executing)$/i.test(t)?e.jsx("span",{className:"text-[10px] font-[var(--font-weight-semibold)] px-[var(--spacing-2)] py-[2px] rounded-full",style:{background:"rgba(91,141,184,0.12)",color:"var(--color-accent-blue)"},children:t}):e.jsx("span",{className:"text-[13px] text-text-primary",children:t}):Array.isArray(t)?t.length===0?e.jsx("span",{className:"text-[13px] text-text-placeholder italic",children:"[]"}):t.every(r=>typeof r=="string")?e.jsx("div",{className:"flex flex-wrap gap-[var(--spacing-1)]",children:t.map((r,a)=>e.jsx("span",{className:"text-[11px] px-[var(--spacing-2)] py-[2px] rounded-[var(--radius-default)] bg-bg-secondary text-text-secondary",children:String(r)},a))}):e.jsxs("span",{className:"text-[13px] font-mono text-text-secondary",children:["[",t.length," items]"]}):typeof t=="object"?e.jsx("span",{className:"text-[13px] font-mono text-text-secondary",children:JSON.stringify(t)}):e.jsx("span",{className:"text-[13px] text-text-primary",children:String(t)})}function Ge({data:t}){const r=Object.entries(t).filter(([,a])=>typeof a!="object"||a===null);return r.length===0?null:e.jsxs("div",{children:[e.jsx(L,{title:"Properties"}),e.jsx("div",{className:"flex flex-col",children:r.map(([a,s])=>e.jsxs("div",{className:"grid grid-cols-[140px_1fr] gap-[var(--spacing-3)] py-[var(--spacing-1-5)] border-b border-border-divider last:border-b-0 items-start",children:[e.jsx("span",{className:"text-[11px] font-[var(--font-weight-semibold)] text-text-tertiary font-mono pt-[1px]",children:a}),e.jsx(le,{value:s})]},a))})]})}function He(t){if(typeof t!="object"||t===null)return!1;const r=t;return"severity"in r||"gap_id"in r||"type"in r}function qe({data:t}){const r=String(t.gap_id||t.id||""),a=String(t.severity||"medium"),s=String(t.type||""),i=String(t.description||t.claim||""),l=String(t.suggested_fix||t.fix||""),c={critical:{bg:"rgba(196,101,85,0.20)",color:"var(--color-status-blocked)"},high:{bg:"rgba(200,134,58,0.20)",color:"var(--color-accent-orange, #C8863A)"},medium:{bg:"rgba(184,149,64,0.20)",color:"var(--color-accent-yellow)"},low:{bg:"rgba(91,141,184,0.20)",color:"var(--color-accent-blue)"}},n=c[a.toLowerCase()]||c.medium;return e.jsxs("div",{className:"p-[10px_14px] rounded-[10px] border-l-[3px] mb-[var(--spacing-1-5)]",style:{borderLeftColor:"var(--color-status-blocked)",background:"var(--color-status-bg-blocked)"},children:[e.jsxs("div",{className:"flex items-center gap-[var(--spacing-1-5)] mb-[var(--spacing-1)]",children:[r&&e.jsx("span",{className:"text-[10px] font-[var(--font-weight-bold)] font-mono",style:{color:"var(--color-status-blocked)"},children:r}),e.jsx("span",{className:"text-[9px] font-[var(--font-weight-bold)] px-[5px] py-[1px] rounded-[var(--radius-sm)] uppercase",style:{background:n.bg,color:n.color},children:a}),s&&e.jsx("span",{className:"text-[10px] text-text-tertiary ml-auto font-mono",children:s})]}),i&&e.jsx("p",{className:"text-[13px] text-text-primary mb-[var(--spacing-1)]",children:i}),l&&e.jsxs("p",{className:"text-[length:var(--font-size-sm)] text-text-secondary italic",children:[e.jsx("strong",{className:"font-[var(--font-weight-semibold)] not-italic text-text-tertiary text-[10px] uppercase",children:"Fix: "}),l]})]})}function Ue(t){if(typeof t!="object"||t===null)return!1;const r=t;return("claim"in r||"check"in r)&&!("severity"in r)}function Ye({data:t}){const r=String(t.claim||t.check||t.description||""),a=String(t.evidence||t.detail||""),s=t.passed===!0||t.status==="passed"||t.status==="completed";return e.jsxs("div",{className:"flex items-start gap-[var(--spacing-2)] p-[var(--spacing-2)_var(--spacing-3)] rounded-[var(--radius-md)] bg-bg-card border border-border-divider",children:[s?e.jsx($,{size:16,strokeWidth:2,className:"shrink-0 mt-[1px]",style:{color:"var(--color-status-completed)"}}):e.jsx(re,{size:16,strokeWidth:2,className:"shrink-0 mt-[1px] text-text-placeholder"}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsx("span",{className:"text-[13px] text-text-primary font-[var(--font-weight-medium)]",children:r}),a&&e.jsx("p",{className:"text-[11px] text-text-tertiary mt-[2px] italic",children:a})]})]})}function oe({content:t}){const r=d.useMemo(()=>{try{return JSON.stringify(JSON.parse(t),null,2)}catch{return t}},[t]);return e.jsx("pre",{className:["rounded-[10px] p-[16px_20px] font-mono text-[11px] leading-[1.6] overflow-x-auto","bg-[#2C2723] text-[#D9D0C4] border border-[#3D3731]"].join(" "),children:r})}const m=xe((t,r)=>({entries:[],byId:{},loading:!1,error:null,typeFilter:"all",tagFilter:"all",phaseFilter:null,statusFilter:"all",search:"",selectedId:null,backlinksCache:{},health:null,graph:null,setTypeFilter:a=>t({typeFilter:a}),setTagFilter:a=>t({tagFilter:a}),setPhaseFilter:a=>t({phaseFilter:a}),setStatusFilter:a=>t({statusFilter:a}),setSearch:a=>t({search:a}),setSelected:a=>{t({selectedId:a}),a&&!r().backlinksCache[a]&&r().fetchBacklinks(a)},fetchEntries:async()=>{t({loading:!0,error:null});try{const{search:a}=r(),s=a?`${j.WIKI}?q=${encodeURIComponent(a)}`:j.WIKI,i=await fetch(s);if(!i.ok)throw new Error(`Failed: ${i.status}`);const c=(await i.json()).entries??[],n={};for(const o of c)n[o.id]=o;t({entries:c,byId:n,loading:!1})}catch(a){t({loading:!1,error:String(a)})}},fetchBacklinks:async a=>{try{const s=j.WIKI_BACKLINKS.replace(":id",encodeURIComponent(a)),i=await fetch(s);if(!i.ok)return;const l=await i.json();t(c=>({backlinksCache:{...c.backlinksCache,[a]:l.backlinks??[]}}))}catch{}},fetchHealth:async()=>{try{const a=await fetch(j.WIKI_HEALTH);if(!a.ok)return;const s=await a.json();t({health:s})}catch{}},fetchGraph:async()=>{try{const a=await fetch(j.WIKI_GRAPH);if(!a.ok)return;const s=await a.json();t({graph:s})}catch{}},createEntry:async a=>{const s=await fetch(j.WIKI,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(a)});if(!s.ok){const l=await s.json().catch(()=>({}));throw new Error(l.error??`create failed: ${s.status}`)}const i=await s.json();return await r().fetchEntries(),i.entry},updateEntry:async(a,s)=>{const i=j.WIKI_DETAIL.replace(":id",encodeURIComponent(a)),l=await fetch(i,{method:"PUT",headers:{"content-type":"application/json"},body:JSON.stringify(s)});if(!l.ok){const n=await l.json().catch(()=>({}));throw new Error(n.error??`update failed: ${l.status}`)}const c=await l.json();return await r().fetchEntries(),c.entry},removeEntry:async a=>{const s=j.WIKI_DETAIL.replace(":id",encodeURIComponent(a)),i=await fetch(s,{method:"DELETE"});if(!i.ok){const l=await i.json().catch(()=>({}));throw new Error(l.error??`delete failed: ${i.status}`)}await r().fetchEntries()},filteredEntries:()=>{const{entries:a,typeFilter:s,tagFilter:i,phaseFilter:l,statusFilter:c}=r();return a.filter(n=>!(s!=="all"&&n.type!==s||i!=="all"&&!n.tags.includes(i)||l!==null&&n.phaseRef!==l||c!=="all"&&n.status!==c))},entriesByType:()=>{const a=r().filteredEntries(),s={project:[],roadmap:[],spec:[],phase:[],issue:[],lesson:[],memory:[],note:[]};for(const i of a)s[i.type].push(i);return s},allTags:()=>{const a=new Set;for(const s of r().entries)for(const i of s.tags)a.add(i);return Array.from(a).sort()}})),Xe={project:"Project",roadmap:"Roadmap",spec:"Specs",phase:"Phases",issue:"Issues",lesson:"Lessons",memory:"Memory",note:"Notes"},G={project:"var(--color-accent-blue, #3b82f6)",roadmap:"var(--color-accent-purple, #8b5cf6)",spec:"var(--color-accent-green, #16a34a)",phase:"var(--color-accent-orange, #ea580c)",issue:"var(--color-accent-red, #dc2626)",lesson:"var(--color-accent-yellow, #ca8a04)",memory:"var(--color-accent-cyan, #0891b2)",note:"var(--color-text-tertiary, #9ca3af)"},Qe=["project","roadmap","spec","phase","issue","lesson","memory","note"];function Ze(t){return t.replace(/^#{1,6}\s+/,"").trim()}function et(){const t=m(o=>o.entries),r=m(o=>o.typeFilter),a=m(o=>o.tagFilter),s=m(o=>o.phaseFilter),i=m(o=>o.statusFilter),l=m(o=>o.selectedId),c=m(o=>o.setSelected),n=d.useMemo(()=>{const o={project:[],roadmap:[],spec:[],phase:[],issue:[],lesson:[],memory:[],note:[]};for(const x of t)r!=="all"&&x.type!==r||a!=="all"&&!x.tags.includes(a)||s!==null&&x.phaseRef!==s||i!=="all"&&x.status!==i||o[x.type].push(x);return o},[t,r,a,s,i]);return e.jsx("div",{className:"flex flex-col gap-1 py-1 overflow-y-auto h-full",children:Qe.map(o=>{const x=n[o];return!x||x.length===0?null:e.jsxs("section",{className:"px-2",children:[e.jsxs("h3",{className:"flex items-center gap-1.5 px-1 py-1.5 text-[10px] text-text-tertiary uppercase tracking-wider font-semibold",children:[e.jsx("span",{className:"inline-block w-[6px] h-[6px] rounded-full shrink-0",style:{backgroundColor:G[o]}}),Xe[o],e.jsx("span",{className:"text-text-quaternary font-normal ml-0.5",children:x.length})]}),e.jsx("ul",{className:"flex flex-col gap-px",children:x.map(p=>e.jsx(tt,{entry:p,typeColor:G[p.type],selected:p.id===l,onSelect:()=>c(p.id)},p.id))})]},o)})})}function tt({entry:t,typeColor:r,selected:a,onSelect:s}){return e.jsx("li",{children:e.jsx("button",{type:"button",onClick:s,className:`w-full text-left rounded-[var(--radius-md,6px)] px-2.5 py-2 transition-all ${a?"bg-bg-secondary shadow-[inset_0_0_0_1px_var(--color-border-strong)]":"hover:bg-bg-secondary"}`,style:a?{borderLeft:`2px solid ${r}`,paddingLeft:"8px"}:void 0,children:e.jsxs("div",{className:"flex items-start gap-1.5",children:[!a&&e.jsx("span",{className:"inline-block w-[5px] h-[5px] rounded-full shrink-0 mt-[5px]",style:{backgroundColor:r,opacity:.6}}),e.jsxs("div",{className:"min-w-0 flex-1",children:[e.jsx("div",{className:"font-medium text-text-primary text-[length:var(--font-size-sm)] truncate leading-snug",children:t.title}),t.summary&&e.jsx("div",{className:"text-text-tertiary text-[11px] line-clamp-1 mt-0.5 leading-snug",children:Ze(t.summary)}),t.tags.length>0&&e.jsxs("div",{className:"mt-1 flex flex-wrap gap-1",children:[t.tags.slice(0,3).map(i=>e.jsx("span",{className:"px-1 py-px text-[10px] rounded bg-bg-tertiary text-text-tertiary leading-snug",children:i},i)),t.tags.length>3&&e.jsxs("span",{className:"text-[10px] text-text-quaternary",children:["+",t.tags.length-3]})]})]})]})})})}function rt(t){const r=t.split(`
14
+ `);let a=!1;const s=[];for(const i of r){if(/^```/.test(i.trim())){a=!a,s.push(i);continue}if(a){s.push(i);continue}s.push(i.replace(/\[\[([^\]]+)\]\]/g,(l,c)=>`[${c}](wiki:${c})`))}return s.join(`
15
+ `)}function st(t){return t.replace(/^#{1,6}\s+/,"").trim()}function at(){const t=m(n=>n.selectedId),r=m(n=>n.byId),a=m(n=>n.backlinksCache);m(n=>n.setSelected);const s=t?r[t]:void 0,i=t?a[t]??[]:[],l=d.useMemo(()=>{if(!s)return null;const n=[];if(s.summary&&(n.push(`> ${st(s.summary)}`),n.push("")),s.tags.length>0&&(n.push(s.tags.map(o=>`\`${o}\``).join(" ")),n.push("")),s.phaseRef!==null&&(n.push(`**Phase:** ${s.phaseRef}`),n.push("")),n.push("---"),n.push(""),s.body&&s.source.kind==="file"&&(n.push(rt(s.body)),n.push("")),s.source.kind==="virtual"&&s.raw!==void 0&&(n.push("## Raw"),n.push("```json"),n.push(JSON.stringify(s.raw,null,2)),n.push("```"),n.push("")),Object.keys(s.ext).length>0&&(n.push("## Metadata"),n.push("```json"),n.push(JSON.stringify(s.ext,null,2)),n.push("```"),n.push("")),i.length>0){n.push(`## Backlinks (${i.length})`);for(const o of i)n.push(`- **${o.title}** _${o.type}_`);n.push("")}return n.join(`
16
+ `)},[s,i]);if(!t)return e.jsx("div",{className:"flex items-center justify-center h-full text-text-tertiary text-[length:var(--font-size-sm)]",children:"Select an entry"});if(!s)return e.jsx("div",{className:"p-4 text-text-tertiary text-[length:var(--font-size-sm)]",children:"Entry not found."});const c=s.source.path+(s.source.line!==void 0?`:${s.source.line}`:"");return e.jsx(ne,{content:l,path:c,onNavigate:()=>{},loading:!1,error:null,title:s.title,subtitle:`${s.type.toUpperCase()} · ${s.status.toUpperCase()}`})}function nt(){const{health:t,fetchHealth:r,setSelected:a,byId:s}=m(Z(n=>({health:n.health,fetchHealth:n.fetchHealth,setSelected:n.setSelected,byId:n.byId}))),[i,l]=d.useState(!1);if(d.useEffect(()=>{r()},[r]),!t)return e.jsx("div",{className:"px-3 py-2 text-[length:var(--font-size-xs)] text-text-tertiary border-b border-border",children:"Loading health…"});const c=t.score>=80?"var(--color-accent-green, #16a34a)":t.score>=50?"var(--color-accent-yellow, #ca8a04)":"var(--color-accent-red, #dc2626)";return e.jsxs("div",{className:"border-b border-border",children:[e.jsxs("button",{type:"button",onClick:()=>l(!i),className:"w-full flex items-center gap-2 px-3 py-2 hover:bg-bg-secondary transition-colors",children:[e.jsx(ee,{size:12,strokeWidth:2,className:"text-text-tertiary transition-transform shrink-0",style:{transform:i?"rotate(90deg)":void 0}}),e.jsx(pe,{size:12,strokeWidth:2,className:"text-text-tertiary shrink-0"}),e.jsx("span",{className:"text-[length:var(--font-size-xs)] text-text-secondary font-medium",children:"Health"}),e.jsx("span",{className:"text-[length:var(--font-size-sm)] font-semibold ml-auto",style:{color:c},children:t.score}),e.jsxs("div",{className:"flex gap-2 text-[length:var(--font-size-xs)] text-text-tertiary",children:[e.jsxs("span",{children:[t.totals.entries," entries"]}),t.totals.orphans>0&&e.jsxs("span",{children:["· ",t.totals.orphans," orphans"]}),t.totals.brokenLinks>0&&e.jsxs("span",{className:"text-accent-red",children:["· ",t.totals.brokenLinks," broken"]})]})]}),i&&e.jsxs("div",{className:"px-3 pb-2 flex flex-col gap-2 text-[length:var(--font-size-xs)]",children:[t.hubs.length>0&&e.jsxs("div",{children:[e.jsx("div",{className:"uppercase tracking-wider text-text-tertiary mb-1 text-[10px]",children:"Top hubs"}),e.jsx("ul",{className:"flex flex-col gap-0.5",children:t.hubs.slice(0,5).map(n=>{var o;return e.jsxs("li",{className:"flex justify-between gap-2",children:[e.jsx("button",{type:"button",onClick:()=>a(n.id),className:"truncate text-accent-blue hover:underline text-left",children:((o=s[n.id])==null?void 0:o.title)??n.id}),e.jsx("span",{className:"text-text-tertiary shrink-0",children:n.inDegree})]},n.id)})})]}),t.orphans.length>0&&e.jsxs("div",{children:[e.jsxs("div",{className:"uppercase tracking-wider text-text-tertiary mb-1 text-[10px]",children:["Orphans (",t.orphans.length,")"]}),e.jsx("ul",{className:"flex flex-wrap gap-1 max-h-16 overflow-y-auto",children:t.orphans.slice(0,10).map(n=>{var o;return e.jsx("li",{children:e.jsx("button",{type:"button",onClick:()=>a(n),className:"px-1.5 py-0.5 rounded bg-bg-tertiary text-text-secondary hover:text-accent-blue hover:underline transition-colors",children:((o=s[n])==null?void 0:o.title)??n})},n)})})]}),t.brokenLinks.length>0&&e.jsxs("div",{children:[e.jsxs("div",{className:"uppercase tracking-wider text-text-tertiary mb-1 text-[10px]",children:["Broken (",t.brokenLinks.length,")"]}),e.jsx("ul",{className:"flex flex-col gap-0.5 max-h-16 overflow-y-auto text-text-secondary",children:t.brokenLinks.slice(0,5).map((n,o)=>e.jsxs("li",{className:"truncate",children:[e.jsx("span",{className:"text-text-tertiary",children:n.sourceId})," → ",e.jsx("span",{className:"line-through",children:n.target})]},`${n.sourceId}-${o}`))})]})]})]})}const it={project:"var(--color-accent-blue, #3b82f6)",roadmap:"var(--color-accent-purple, #8b5cf6)",spec:"var(--color-accent-green, #16a34a)",phase:"var(--color-accent-orange, #ea580c)",issue:"var(--color-accent-red, #dc2626)",lesson:"var(--color-accent-yellow, #ca8a04)",memory:"var(--color-accent-cyan, #0891b2)",note:"var(--color-text-tertiary, #9ca3af)"};function lt(t){return t.replace(/^#{1,6}\s+/,"").trim()}function ot(){const t=m(o=>o.entries),r=m(o=>o.typeFilter),a=m(o=>o.tagFilter),s=m(o=>o.phaseFilter),i=m(o=>o.statusFilter),l=m(o=>o.setSelected),c=m(o=>o.selectedId),n=d.useMemo(()=>t.filter(o=>!(r!=="all"&&o.type!==r||a!=="all"&&!o.tags.includes(a)||s!==null&&o.phaseRef!==s||i!=="all"&&o.status!==i)),[t,r,a,s,i]);return n.length===0?e.jsx("div",{className:"flex items-center justify-center h-full text-text-tertiary text-[length:var(--font-size-sm)]",children:"No entries match the current filters"}):e.jsx("div",{className:"p-4 overflow-y-auto h-full",children:e.jsx("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(260px,1fr))] gap-3",children:n.map(o=>e.jsx(ct,{entry:o,selected:o.id===c,onSelect:()=>l(o.id)},o.id))})})}function ct({entry:t,selected:r,onSelect:a}){const s=it[t.type];return e.jsxs("button",{type:"button",onClick:a,className:`text-left rounded-[var(--radius-md,6px)] border p-3 transition-all flex flex-col gap-1.5 ${r?"border-border-strong bg-bg-secondary shadow-sm":"border-border bg-bg-primary hover:bg-bg-secondary hover:border-border-strong"}`,children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx("span",{className:"inline-block w-[6px] h-[6px] rounded-full shrink-0",style:{backgroundColor:s}}),e.jsx("span",{className:"text-[10px] uppercase tracking-wider text-text-tertiary font-medium",children:t.type}),e.jsx("span",{className:"text-[10px] text-text-quaternary ml-auto",children:t.status})]}),e.jsx("div",{className:"font-medium text-text-primary text-[length:var(--font-size-sm)] leading-snug line-clamp-2",children:t.title}),t.summary&&e.jsx("div",{className:"text-text-tertiary text-[11px] line-clamp-2 leading-snug",children:lt(t.summary)}),t.tags.length>0&&e.jsxs("div",{className:"flex flex-wrap gap-1 mt-0.5",children:[t.tags.slice(0,4).map(i=>e.jsx("span",{className:"px-1 py-px text-[10px] rounded bg-bg-tertiary text-text-tertiary",children:i},i)),t.tags.length>4&&e.jsxs("span",{className:"text-[10px] text-text-quaternary",children:["+",t.tags.length-4]})]}),e.jsx("div",{className:"text-[10px] text-text-quaternary font-mono truncate mt-auto pt-1",children:t.source.path})]})}const dt={project:"#3b82f6",roadmap:"#8b5cf6",spec:"#16a34a",phase:"#ea580c",issue:"#dc2626",lesson:"#ca8a04",memory:"#0891b2",note:"#9ca3af"};function xt(){const t=m(l=>l.fetchGraph),r=m(l=>l.graph),a=m(l=>l.byId),s=m(l=>l.setSelected);d.useEffect(()=>{t()},[t]);const i=d.useMemo(()=>{if(!r)return[];const l=new Map;for(const[c,n]of Object.entries(r.forwardLinks)){l.has(c)||l.set(c,{out:0,in:0}),l.get(c).out=n.length;for(const o of n)l.has(o)||l.set(o,{out:0,in:0}),l.get(o).in+=1}return Array.from(l.entries()).map(([c,n])=>{var o,x;return{id:c,title:((o=a[c])==null?void 0:o.title)??c,type:(x=a[c])==null?void 0:x.type,outDegree:n.out,inDegree:n.in,total:n.out+n.in}}).sort((c,n)=>n.total-c.total)},[r,a]);return r?e.jsxs("div",{className:"flex flex-col h-full overflow-hidden",children:[e.jsxs("div",{className:"flex items-center gap-4 px-4 py-2.5 border-b border-border text-[length:var(--font-size-xs)] text-text-secondary",children:[e.jsxs("span",{children:[i.length," connected nodes"]}),e.jsx("span",{children:"·"}),e.jsxs("span",{children:[Object.values(r.forwardLinks).reduce((l,c)=>l+c.length,0)," links"]}),r.brokenLinks.length>0&&e.jsxs(e.Fragment,{children:[e.jsx("span",{children:"·"}),e.jsxs("span",{className:"text-accent-red",children:[r.brokenLinks.length," broken"]})]})]}),e.jsxs("div",{className:"flex-1 overflow-y-auto",children:[e.jsxs("table",{className:"w-full text-[length:var(--font-size-sm)]",children:[e.jsx("thead",{className:"sticky top-0 bg-bg-primary z-10",children:e.jsxs("tr",{className:"border-b border-border text-[10px] uppercase tracking-wider text-text-tertiary",children:[e.jsx("th",{className:"text-left px-4 py-2 font-medium",children:"Entry"}),e.jsx("th",{className:"text-left px-3 py-2 font-medium w-16",children:"Type"}),e.jsx("th",{className:"text-center px-3 py-2 font-medium w-16",children:"Out"}),e.jsx("th",{className:"text-center px-3 py-2 font-medium w-16",children:"In"})]})}),e.jsx("tbody",{children:i.map(l=>e.jsxs("tr",{className:"border-b border-border hover:bg-bg-secondary transition-colors cursor-pointer",onClick:()=>s(l.id),children:[e.jsx("td",{className:"px-4 py-2",children:e.jsxs("div",{className:"flex items-center gap-2",children:[l.type&&e.jsx("span",{className:"inline-block w-[6px] h-[6px] rounded-full shrink-0",style:{backgroundColor:dt[l.type]??"#9ca3af"}}),e.jsx("span",{className:"text-text-primary truncate",children:l.title})]})}),e.jsx("td",{className:"px-3 py-2 text-text-tertiary text-[length:var(--font-size-xs)]",children:l.type??"—"}),e.jsx("td",{className:"px-3 py-2 text-center",children:l.outDegree>0?e.jsx("span",{className:"text-accent-blue font-medium",children:l.outDegree}):e.jsx("span",{className:"text-text-quaternary",children:"0"})}),e.jsx("td",{className:"px-3 py-2 text-center",children:l.inDegree>0?e.jsx("span",{className:"text-accent-green font-medium",children:l.inDegree}):e.jsx("span",{className:"text-text-quaternary",children:"0"})})]},l.id))})]}),r.brokenLinks.length>0&&e.jsxs("div",{className:"p-4 border-t border-border",children:[e.jsxs("h3",{className:"text-[10px] uppercase tracking-wider text-text-tertiary font-medium mb-2",children:["Broken Links (",r.brokenLinks.length,")"]}),e.jsx("ul",{className:"flex flex-col gap-1 text-[length:var(--font-size-xs)]",children:r.brokenLinks.map((l,c)=>{var n;return e.jsxs("li",{className:"flex items-center gap-2",children:[e.jsx("button",{type:"button",onClick:()=>s(l.sourceId),className:"text-accent-blue hover:underline truncate",children:((n=a[l.sourceId])==null?void 0:n.title)??l.sourceId}),e.jsx("span",{className:"text-text-quaternary",children:"→"}),e.jsx("span",{className:"text-text-tertiary line-through",children:l.target})]},`${l.sourceId}-${c}`)})})]})]})]}):e.jsx("div",{className:"flex items-center justify-center h-full text-text-tertiary text-[length:var(--font-size-sm)]",children:"Loading graph data…"})}const pt=[{label:"Reader",icon:e.jsx(C,{size:14,strokeWidth:2}),shortcut:"1"},{label:"Gallery",icon:e.jsx(X,{size:14,strokeWidth:2}),shortcut:"2"},{label:"Structured",icon:e.jsx(me,{size:14,strokeWidth:2}),shortcut:"3"}],H=["reader","gallery","structured"],ut=[{label:"Reader",icon:e.jsx(he,{size:14,strokeWidth:2}),shortcut:"1"},{label:"Gallery",icon:e.jsx(X,{size:14,strokeWidth:2}),shortcut:"2"},{label:"Graph",icon:e.jsx(Ne,{size:14,strokeWidth:2}),shortcut:"3"}],q=["reader","gallery","graph"],ft=[{value:"all",label:"All"},{value:"project",label:"Project"},{value:"roadmap",label:"Roadmap"},{value:"spec",label:"Specs"},{value:"phase",label:"Phases"},{value:"issue",label:"Issues"},{value:"lesson",label:"Lessons"},{value:"memory",label:"Memory"},{value:"note",label:"Notes"}],k={initial:{opacity:0,y:8},animate:{opacity:1,y:0},exit:{opacity:0,y:-8}};function It(){const[t,r]=d.useState("files"),[a,s]=d.useState("reader"),[i,l]=d.useState("reader"),{tree:c,selectedPath:n,content:o,loading:x,treeLoading:p,error:u,selectFile:f}=Ce(),{fetchEntries:g,loading:b,error:y,entries:S,search:E,setSearch:R,typeFilter:ce,setTypeFilter:de}=m(Z(h=>({fetchEntries:h.fetchEntries,loading:h.loading,error:h.error,entries:h.entries,search:h.search,setSearch:h.setSearch,typeFilter:h.typeFilter,setTypeFilter:h.setTypeFilter})));d.useEffect(()=>{t==="wiki"&&g()},[t,g]),d.useEffect(()=>{if(t!=="wiki")return;const h=setTimeout(()=>void g(),200);return()=>clearTimeout(h)},[E,g,t]);const{register:M,unregister:P}=d.useContext(ue),V=d.useCallback(h=>{t==="files"?s(H[h]):l(q[h])},[t]);return d.useEffect(()=>{const h=t==="files"?pt:ut,v=t==="files"?H.indexOf(a):q.indexOf(i);M({items:h.map(z=>({label:z.label,icon:z.icon,shortcut:z.shortcut})),activeIndex:v,onSwitch:V})},[t,a,i,M,V]),d.useEffect(()=>()=>P(),[P]),d.useEffect(()=>{function h(v){v.target instanceof HTMLInputElement||v.target instanceof HTMLTextAreaElement||(t==="files"?v.key==="1"?s("reader"):v.key==="2"?s("gallery"):v.key==="3"&&s("structured"):v.key==="1"?l("reader"):v.key==="2"?l("gallery"):v.key==="3"&&l("graph"))}return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[t]),e.jsxs("div",{className:"flex h-full overflow-hidden",children:[e.jsxs("div",{className:"w-[272px] shrink-0 border-r border-border overflow-hidden flex flex-col bg-bg-primary",children:[e.jsxs("div",{className:"flex items-center gap-1 px-2 py-2 border-b border-border shrink-0",children:[e.jsx(U,{mode:"files",active:t==="files",icon:e.jsx(ge,{size:13,strokeWidth:2}),label:"Files",onClick:()=>r("files")}),e.jsx(U,{mode:"wiki",active:t==="wiki",icon:e.jsx(ke,{size:13,strokeWidth:2}),label:"Wiki",onClick:()=>r("wiki")})]}),t==="files"?e.jsx(ve,{tree:c,selectedPath:n,onSelectFile:f,loading:p}):e.jsxs(e.Fragment,{children:[e.jsx(nt,{}),e.jsxs("div",{className:"flex flex-col gap-2 px-3 py-2 border-b border-border",children:[e.jsxs("div",{className:"relative",children:[e.jsx(Q,{size:13,strokeWidth:2,className:"absolute left-2.5 top-1/2 -translate-y-1/2 text-text-tertiary pointer-events-none"}),e.jsx("input",{type:"text",value:E,placeholder:"Search…",onChange:h=>R(h.target.value),className:"w-full pl-7 pr-7 py-1.5 bg-bg-secondary border border-border rounded-[var(--radius-md,6px)] text-[length:var(--font-size-sm)] text-text-primary placeholder:text-text-quaternary focus:outline-none focus:border-border-strong transition-colors"}),E&&e.jsx("button",{type:"button",onClick:()=>R(""),className:"absolute right-2 top-1/2 -translate-y-1/2 text-text-tertiary hover:text-text-secondary transition-colors",children:e.jsx(fe,{size:12,strokeWidth:2})})]}),e.jsx("div",{className:"flex flex-wrap gap-1",children:ft.map(h=>e.jsx("button",{type:"button",onClick:()=>de(h.value),className:`px-2 py-0.5 rounded-[var(--radius-full,999px)] text-[10px] font-medium transition-all ${ce===h.value?"bg-text-primary text-bg-primary":"text-text-tertiary hover:text-text-secondary hover:bg-bg-secondary"}`,children:h.label},h.value))}),e.jsxs("div",{className:"flex items-center gap-1 text-[10px] text-text-quaternary",children:[e.jsxs("span",{children:[S.length," entr",S.length===1?"y":"ies"]}),b&&e.jsx("span",{className:"animate-pulse",children:"· loading…"}),y&&e.jsx("span",{className:"text-accent-red ml-1",children:y})]})]}),e.jsx("div",{className:"flex-1 min-h-0 overflow-hidden",children:e.jsx(et,{})})]})]}),e.jsx("div",{className:"flex-1 overflow-hidden relative min-w-0",children:e.jsx(ye,{mode:"wait",children:t==="files"?e.jsxs(e.Fragment,{children:[a==="reader"&&e.jsx(N.div,{className:"absolute inset-0 flex flex-col",variants:k,initial:"initial",animate:"animate",exit:"exit",transition:{duration:.25,ease:[.34,1.56,.64,1]},children:e.jsx(ne,{content:o,path:n,onNavigate:f,loading:x,error:u})},"file-reader"),a==="gallery"&&e.jsx(N.div,{className:"absolute inset-0 flex flex-col",variants:k,initial:"initial",animate:"animate",exit:"exit",transition:{duration:.25,ease:[.34,1.56,.64,1]},children:e.jsx(Je,{tree:c,onSelectFile:f,selectedPath:n})},"file-gallery"),a==="structured"&&e.jsx(N.div,{className:"absolute inset-0 flex flex-col",variants:k,initial:"initial",animate:"animate",exit:"exit",transition:{duration:.25,ease:[.34,1.56,.64,1]},children:e.jsx(De,{content:o,path:n})},"file-structured")]}):e.jsxs(e.Fragment,{children:[i==="reader"&&e.jsx(N.div,{className:"absolute inset-0",variants:k,initial:"initial",animate:"animate",exit:"exit",transition:{duration:.2},children:e.jsx(at,{})},"wiki-reader"),i==="gallery"&&e.jsx(N.div,{className:"absolute inset-0",variants:k,initial:"initial",animate:"animate",exit:"exit",transition:{duration:.2},children:e.jsx(ot,{})},"wiki-gallery"),i==="graph"&&e.jsx(N.div,{className:"absolute inset-0",variants:k,initial:"initial",animate:"animate",exit:"exit",transition:{duration:.2},children:e.jsx(xt,{})},"wiki-graph")]})})})]})}function U({active:t,icon:r,label:a,onClick:s}){return e.jsxs("button",{type:"button",onClick:s,className:["flex-1 flex items-center justify-center gap-1.5 px-2 py-1.5 rounded-[var(--radius-md,6px)]","text-[length:var(--font-size-sm)] font-medium transition-all duration-150",t?"bg-bg-active text-text-primary shadow-sm":"text-text-tertiary hover:text-text-secondary hover:bg-bg-hover"].join(" "),children:[r,e.jsx("span",{children:a})]})}export{It as ArtifactsPage};