maestro-flow 0.5.1 → 0.5.3

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 (530) hide show
  1. package/.agents/skills/insight-challenge/SKILL.md +228 -0
  2. package/.agents/skills/insight-challenge/specs/challenge-protocol.md +154 -0
  3. package/.agents/skills/insight-challenge/specs/verdict-schema.md +239 -0
  4. package/.agents/skills/maestro/SKILL.md +6 -6
  5. package/.agents/skills/maestro-help/SKILL.md +1 -1
  6. package/.agents/skills/maestro-help/index/catalog.json +3 -2
  7. package/.agents/skills/maestro-ralph/SKILL.md +11 -10
  8. package/.agents/skills/maestro-ralph-beta/SKILL.md +11 -10
  9. package/.agents/skills/odyssey-debug/SKILL.md +475 -0
  10. package/.agents/skills/odyssey-improve/SKILL.md +507 -0
  11. package/.agents/skills/odyssey-planex/SKILL.md +603 -0
  12. package/.agents/skills/odyssey-review-test-fix/SKILL.md +429 -0
  13. package/.agents/skills/odyssey-ui/SKILL.md +464 -0
  14. package/.agy/skills/insight-challenge/SKILL.md +230 -0
  15. package/.agy/skills/insight-challenge/specs/challenge-protocol.md +154 -0
  16. package/.agy/skills/insight-challenge/specs/verdict-schema.md +239 -0
  17. package/.agy/skills/maestro/SKILL.md +6 -6
  18. package/.agy/skills/maestro-help/SKILL.md +1 -1
  19. package/.agy/skills/maestro-help/index/catalog.json +3 -2
  20. package/.agy/skills/maestro-ralph/SKILL.md +11 -10
  21. package/.agy/skills/maestro-ralph-beta/SKILL.md +11 -10
  22. package/.agy/skills/odyssey-debug/SKILL.md +475 -0
  23. package/.agy/skills/odyssey-improve/SKILL.md +507 -0
  24. package/.agy/skills/odyssey-planex/SKILL.md +603 -0
  25. package/.agy/skills/odyssey-review-test-fix/SKILL.md +429 -0
  26. package/.agy/skills/odyssey-ui/SKILL.md +464 -0
  27. package/.claude/commands/maestro-ralph-beta.md +11 -10
  28. package/.claude/commands/maestro-ralph.md +11 -10
  29. package/.claude/commands/maestro.md +6 -6
  30. package/.claude/commands/odyssey-debug.md +473 -0
  31. package/.claude/commands/odyssey-improve.md +505 -0
  32. package/.claude/commands/odyssey-planex.md +601 -0
  33. package/.claude/commands/odyssey-review-test-fix.md +427 -0
  34. package/.claude/commands/odyssey-ui.md +462 -0
  35. package/.claude/skills/insight-challenge/SKILL.md +226 -0
  36. package/.claude/skills/insight-challenge/specs/challenge-protocol.md +154 -0
  37. package/.claude/skills/insight-challenge/specs/verdict-schema.md +239 -0
  38. package/.claude/skills/maestro-help/SKILL.md +1 -1
  39. package/.claude/skills/maestro-help/index/catalog.json +3 -2
  40. package/.codex/skills/codify-to-knowhow/SKILL.md +1 -1
  41. package/.codex/skills/learn-decompose/SKILL.md +144 -144
  42. package/.codex/skills/learn-follow/SKILL.md +83 -83
  43. package/.codex/skills/learn-investigate/SKILL.md +84 -84
  44. package/.codex/skills/learn-retro/SKILL.md +113 -113
  45. package/.codex/skills/learn-second-opinion/SKILL.md +116 -116
  46. package/.codex/skills/maestro/SKILL.md +11 -8
  47. package/.codex/skills/maestro-amend/SKILL.md +4 -4
  48. package/.codex/skills/maestro-analyze/SKILL.md +2 -2
  49. package/.codex/skills/maestro-blueprint/SKILL.md +4 -4
  50. package/.codex/skills/maestro-companion/SKILL.md +5 -5
  51. package/.codex/skills/maestro-composer/SKILL.md +217 -217
  52. package/.codex/skills/maestro-grill/SKILL.md +1 -1
  53. package/.codex/skills/maestro-help/SKILL.md +31 -31
  54. package/.codex/skills/maestro-impeccable/SKILL.md +1 -1
  55. package/.codex/skills/maestro-init/SKILL.md +1 -1
  56. package/.codex/skills/maestro-learn/SKILL.md +80 -80
  57. package/.codex/skills/maestro-merge/SKILL.md +76 -76
  58. package/.codex/skills/maestro-milestone-release/SKILL.md +74 -74
  59. package/.codex/skills/maestro-next/SKILL.md +1 -1
  60. package/.codex/skills/maestro-player/SKILL.md +3 -3
  61. package/.codex/skills/maestro-quick/SKILL.md +129 -129
  62. package/.codex/skills/maestro-ralph/SKILL.md +9 -9
  63. package/.codex/skills/maestro-ralph-beta/SKILL.md +35 -35
  64. package/.codex/skills/maestro-ralph-execute/SKILL.md +5 -5
  65. package/.codex/skills/maestro-tools-execute/SKILL.md +3 -3
  66. package/.codex/skills/maestro-tools-register/SKILL.md +3 -3
  67. package/.codex/skills/manage-codebase-rebuild/SKILL.md +412 -412
  68. package/.codex/skills/manage-codebase-refresh/SKILL.md +1 -1
  69. package/.codex/skills/manage-harvest/SKILL.md +99 -99
  70. package/.codex/skills/manage-issue-discover/SKILL.md +1 -1
  71. package/.codex/skills/manage-knowhow/SKILL.md +95 -95
  72. package/.codex/skills/manage-knowhow-capture/SKILL.md +137 -137
  73. package/.codex/skills/manage-status/SKILL.md +7 -7
  74. package/.codex/skills/manage-wiki/SKILL.md +55 -55
  75. package/.codex/skills/odyssey-debug/SKILL.md +456 -0
  76. package/.codex/skills/odyssey-improve/SKILL.md +466 -0
  77. package/.codex/skills/odyssey-planex/SKILL.md +409 -0
  78. package/.codex/skills/odyssey-review-test-fix/SKILL.md +377 -0
  79. package/.codex/skills/odyssey-ui/SKILL.md +411 -0
  80. package/.codex/skills/quality-auto-test/SKILL.md +1 -1
  81. package/.codex/skills/quality-debug/SKILL.md +8 -8
  82. package/.codex/skills/quality-refactor/SKILL.md +3 -3
  83. package/.codex/skills/quality-review/SKILL.md +1 -1
  84. package/.codex/skills/quality-sync/SKILL.md +111 -111
  85. package/.codex/skills/quality-test/SKILL.md +1 -1
  86. package/.codex/skills/spec-add/SKILL.md +2 -2
  87. package/.codex/skills/spec-load/SKILL.md +1 -1
  88. package/.codex/skills/spec-map/SKILL.md +204 -204
  89. package/.codex/skills/spec-remove/SKILL.md +75 -75
  90. package/.codex/skills/spec-setup/SKILL.md +2 -2
  91. package/.codex/skills/wiki-connect/SKILL.md +73 -73
  92. package/.codex/skills/wiki-digest/SKILL.md +87 -87
  93. package/dashboard/dist/assets/{ArtifactsPage-BLvAqQlQ.js → ArtifactsPage-B6z23DfG.js} +2 -2
  94. package/dashboard/dist/assets/{ChatInput-DU9YGZKX.js → ChatInput-tBtGKV2i.js} +1 -1
  95. package/dashboard/dist/assets/{ChatPage-DYHfheXC.js → ChatPage-CcggDVs4.js} +2 -2
  96. package/dashboard/dist/assets/{CollabPage-CSlmvEa-.js → CollabPage-FaZeqqeS.js} +1 -1
  97. package/dashboard/dist/assets/{ExecutionPanel-RYWf0dYC.js → ExecutionPanel-DNRwYDXp.js} +1 -1
  98. package/dashboard/dist/assets/{KanbanPage-N55Iv0-X.js → KanbanPage-B2xh2s_N.js} +1 -1
  99. package/dashboard/dist/assets/{MaestroCoordinatePage-BxwZ6yy5.js → MaestroCoordinatePage-DCMGHDAL.js} +1 -1
  100. package/dashboard/dist/assets/{MarkdownRenderer-ZGtOY7Ti.js → MarkdownRenderer-C3FvTqVe.js} +1 -1
  101. package/dashboard/dist/assets/McpPage-HKaJ8cQP.js +16 -0
  102. package/dashboard/dist/assets/{MeetingRoomPage-CxHRn1xx.js → MeetingRoomPage-DGN5oUXH.js} +1 -1
  103. package/dashboard/dist/assets/{OutputPanel-DaL8c1i5.js → OutputPanel-BiCteH5k.js} +1 -1
  104. package/dashboard/dist/assets/{ProblemsPanel-BQTd5812.js → ProblemsPanel-Dk4v9tol.js} +1 -1
  105. package/dashboard/dist/assets/{RequirementBoardPage-22y9u1qh.js → RequirementBoardPage-D10A26gi.js} +1 -1
  106. package/dashboard/dist/assets/{RequirementPage-_mO743Xm.js → RequirementPage-Cs-2omLz.js} +1 -1
  107. package/dashboard/dist/assets/{RoomsPage-CExTbOGr.js → RoomsPage-tKQQhw1W.js} +1 -1
  108. package/dashboard/dist/assets/SpecsPage-LK1QCtcg.js +36 -0
  109. package/dashboard/dist/assets/{TeamsPage-BxEXLb5g.js → TeamsPage-C-bEwB8E.js} +1 -1
  110. package/dashboard/dist/assets/{TreeBrowser-CVtPF5C9.js → TreeBrowser-1YP-DfTY.js} +2 -2
  111. package/dashboard/dist/assets/{WorkflowPage-BoN18Lhs.js → WorkflowPage-dGHPsDDr.js} +2 -2
  112. package/dashboard/dist/assets/{arrow-left-C5ROg97G.js → arrow-left-BPFSEpfO.js} +1 -1
  113. package/dashboard/dist/assets/{check-Bs8PM0tQ.js → check-D5hOViiQ.js} +1 -1
  114. package/dashboard/dist/assets/{chevron-right-SmErd_1F.js → chevron-right-D9BsXrIg.js} +1 -1
  115. package/dashboard/dist/assets/{circle-CjpslL_D.js → circle-Cn5fNpmp.js} +1 -1
  116. package/dashboard/dist/assets/{circle-alert-CuzAg2fd.js → circle-alert-CZvK3B1K.js} +1 -1
  117. package/dashboard/dist/assets/{circle-check-BIkDU5D5.js → circle-check-DApOBP0J.js} +1 -1
  118. package/dashboard/dist/assets/{circle-check-big-CYctV8bK.js → circle-check-big-Cd9ztJpl.js} +1 -1
  119. package/dashboard/dist/assets/{code-DoB7rfxt.js → code-C3TuHjMs.js} +1 -1
  120. package/dashboard/dist/assets/{columns-3-Ch5KIyRa.js → columns-3-CO2SvNJb.js} +1 -1
  121. package/dashboard/dist/assets/{download-DadtG2Nr.js → download-BuKGI7KX.js} +1 -1
  122. package/dashboard/dist/assets/{en-2h6fD0j8.js → en-BmpYsIfb.js} +1 -1
  123. package/dashboard/dist/assets/folder-Chwj_P4A.js +11 -0
  124. package/dashboard/dist/assets/folder-open-S72FbKvn.js +6 -0
  125. package/dashboard/dist/assets/{index-BL4h1OKY.js → index-CN0YdC9M.js} +1 -1
  126. package/dashboard/dist/assets/{index-DQIlX2w_.js → index-Cbs79erW.js} +5 -5
  127. package/dashboard/dist/assets/{index-DaFwSmVJ.js → index-CdT1WNND.js} +1 -1
  128. package/dashboard/dist/assets/index-DEvP8cgc.css +1 -0
  129. package/dashboard/dist/assets/{list-CI-XIPZh.js → list-Dg_ojUpi.js} +1 -1
  130. package/dashboard/dist/assets/{loader-DpdMoQvh.js → loader-CMcc73C_.js} +1 -1
  131. package/dashboard/dist/assets/{minus-BVbfXGrC.js → minus-KxmVOIB7.js} +1 -1
  132. package/dashboard/dist/assets/pen-line-D1YTNDPw.js +11 -0
  133. package/dashboard/dist/assets/{pencil-I7GE0y29.js → pencil-BAjxSHuh.js} +1 -1
  134. package/dashboard/dist/assets/{proxy-CcYyZZWI.js → proxy-BewnIei6.js} +1 -1
  135. package/dashboard/dist/assets/{refresh-cw-BG9V_T4R.js → refresh-cw-Chc0RcRY.js} +1 -1
  136. package/dashboard/dist/assets/{rows-2-DP6NjQFk.js → rows-2-DWJuw8OM.js} +1 -1
  137. package/dashboard/dist/assets/{search-b78eLlw2.js → search-CPGb2sEw.js} +1 -1
  138. package/dashboard/dist/assets/{shallow-CJEesgtu.js → shallow-Dy0-7n5s.js} +1 -1
  139. package/dashboard/dist/assets/{table-B_lk-a1d.js → table-VI5scWpO.js} +1 -1
  140. package/dashboard/dist/assets/{team-types-Se7f9LfJ.js → team-types-Cu8zCPN3.js} +1 -1
  141. package/dashboard/dist/assets/{terminal-DXx4tvzq.js → terminal-Bqt5c6Ny.js} +1 -1
  142. package/dashboard/dist/assets/{trash-2-CVh9mnRj.js → trash-2-BcTVifbw.js} +1 -1
  143. package/dashboard/dist/assets/{users-Da9zGME5.js → users-BhFAHz4H.js} +1 -1
  144. package/dashboard/dist/assets/{zap-C0zaC7gJ.js → zap-BWbLhgr6.js} +1 -1
  145. package/dashboard/dist/assets/{zh-CN-r3AvxxOL.js → zh-CN-BIRiTdAD.js} +1 -1
  146. package/dashboard/dist/index.html +2 -2
  147. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js +1 -0
  148. package/dashboard/dist-server/dashboard/src/server/routes/wiki.js.map +1 -1
  149. package/dashboard/dist-server/dashboard/src/server/wiki/search.d.ts +14 -14
  150. package/dashboard/dist-server/dashboard/src/server/wiki/search.js +188 -56
  151. package/dashboard/dist-server/dashboard/src/server/wiki/search.js.map +1 -1
  152. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js +1 -0
  153. package/dashboard/dist-server/dashboard/src/server/wiki/stress.test.js.map +1 -1
  154. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.d.ts +37 -0
  155. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js +560 -22
  156. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-indexer.js.map +1 -1
  157. package/dashboard/dist-server/dashboard/src/server/wiki/wiki-types.d.ts +6 -2
  158. package/dashboard/dist-server/src/types/index.d.ts +9 -0
  159. package/dist/src/cli.js +3 -0
  160. package/dist/src/cli.js.map +1 -1
  161. package/dist/src/commands/delegate.d.ts.map +1 -1
  162. package/dist/src/commands/delegate.js +50 -8
  163. package/dist/src/commands/delegate.js.map +1 -1
  164. package/dist/src/commands/domain.d.ts +9 -0
  165. package/dist/src/commands/domain.d.ts.map +1 -0
  166. package/dist/src/commands/domain.js +445 -0
  167. package/dist/src/commands/domain.js.map +1 -0
  168. package/dist/src/commands/hooks.d.ts +10 -0
  169. package/dist/src/commands/hooks.d.ts.map +1 -1
  170. package/dist/src/commands/hooks.js +132 -22
  171. package/dist/src/commands/hooks.js.map +1 -1
  172. package/dist/src/commands/install.d.ts.map +1 -1
  173. package/dist/src/commands/install.js +82 -204
  174. package/dist/src/commands/install.js.map +1 -1
  175. package/dist/src/commands/kg.d.ts.map +1 -1
  176. package/dist/src/commands/kg.js +183 -90
  177. package/dist/src/commands/kg.js.map +1 -1
  178. package/dist/src/commands/search.d.ts +15 -8
  179. package/dist/src/commands/search.d.ts.map +1 -1
  180. package/dist/src/commands/search.js +205 -59
  181. package/dist/src/commands/search.js.map +1 -1
  182. package/dist/src/commands/spec.d.ts.map +1 -1
  183. package/dist/src/commands/spec.js +9 -1
  184. package/dist/src/commands/spec.js.map +1 -1
  185. package/dist/src/commands/update.d.ts.map +1 -1
  186. package/dist/src/commands/update.js +0 -7
  187. package/dist/src/commands/update.js.map +1 -1
  188. package/dist/src/commands/wiki.d.ts.map +1 -1
  189. package/dist/src/commands/wiki.js +8 -1
  190. package/dist/src/commands/wiki.js.map +1 -1
  191. package/dist/src/commands/workspace.d.ts +12 -0
  192. package/dist/src/commands/workspace.d.ts.map +1 -0
  193. package/dist/src/commands/workspace.js +230 -0
  194. package/dist/src/commands/workspace.js.map +1 -0
  195. package/dist/src/config/cli-tools-config.d.ts +5 -0
  196. package/dist/src/config/cli-tools-config.d.ts.map +1 -1
  197. package/dist/src/config/cli-tools-config.js +31 -0
  198. package/dist/src/config/cli-tools-config.js.map +1 -1
  199. package/dist/src/config/index.d.ts +9 -1
  200. package/dist/src/config/index.d.ts.map +1 -1
  201. package/dist/src/config/index.js +35 -1
  202. package/dist/src/config/index.js.map +1 -1
  203. package/dist/src/core/install-executor.d.ts +31 -0
  204. package/dist/src/core/install-executor.d.ts.map +1 -0
  205. package/dist/src/core/install-executor.js +231 -0
  206. package/dist/src/core/install-executor.js.map +1 -0
  207. package/dist/src/core/install-profile.d.ts +103 -0
  208. package/dist/src/core/install-profile.d.ts.map +1 -0
  209. package/dist/src/core/install-profile.js +225 -0
  210. package/dist/src/core/install-profile.js.map +1 -0
  211. package/dist/src/graph/kg/credibility.d.ts +37 -0
  212. package/dist/src/graph/kg/credibility.d.ts.map +1 -0
  213. package/dist/src/graph/kg/credibility.js +141 -0
  214. package/dist/src/graph/kg/credibility.js.map +1 -0
  215. package/dist/src/graph/kg/db/connection.d.ts +28 -0
  216. package/dist/src/graph/kg/db/connection.d.ts.map +1 -0
  217. package/dist/src/graph/kg/db/connection.js +142 -0
  218. package/dist/src/graph/kg/db/connection.js.map +1 -0
  219. package/dist/src/graph/kg/db/index.d.ts +5 -0
  220. package/dist/src/graph/kg/db/index.d.ts.map +1 -0
  221. package/dist/src/graph/kg/db/index.js +6 -0
  222. package/dist/src/graph/kg/db/index.js.map +1 -0
  223. package/dist/src/graph/kg/db/migrations.d.ts +8 -0
  224. package/dist/src/graph/kg/db/migrations.d.ts.map +1 -0
  225. package/dist/src/graph/kg/db/migrations.js +88 -0
  226. package/dist/src/graph/kg/db/migrations.js.map +1 -0
  227. package/dist/src/graph/kg/db/queries.d.ts +84 -0
  228. package/dist/src/graph/kg/db/queries.d.ts.map +1 -0
  229. package/dist/src/graph/kg/db/queries.js +471 -0
  230. package/dist/src/graph/kg/db/queries.js.map +1 -0
  231. package/dist/src/graph/kg/db/types.d.ts +123 -0
  232. package/dist/src/graph/kg/db/types.d.ts.map +1 -0
  233. package/dist/src/graph/kg/db/types.js +75 -0
  234. package/dist/src/graph/kg/db/types.js.map +1 -0
  235. package/dist/src/graph/kg/engine.d.ts +87 -0
  236. package/dist/src/graph/kg/engine.d.ts.map +1 -0
  237. package/dist/src/graph/kg/engine.js +247 -0
  238. package/dist/src/graph/kg/engine.js.map +1 -0
  239. package/dist/src/graph/kg/extraction/code/code-extractor.d.ts +40 -0
  240. package/dist/src/graph/kg/extraction/code/code-extractor.d.ts.map +1 -0
  241. package/dist/src/graph/kg/extraction/code/code-extractor.js +296 -0
  242. package/dist/src/graph/kg/extraction/code/code-extractor.js.map +1 -0
  243. package/dist/src/graph/kg/extraction/code/dfm-extractor.d.ts +3 -0
  244. package/dist/src/graph/kg/extraction/code/dfm-extractor.d.ts.map +1 -0
  245. package/dist/src/graph/kg/extraction/code/dfm-extractor.js +122 -0
  246. package/dist/src/graph/kg/extraction/code/dfm-extractor.js.map +1 -0
  247. package/dist/src/graph/kg/extraction/code/generated-detection.d.ts +14 -0
  248. package/dist/src/graph/kg/extraction/code/generated-detection.d.ts.map +1 -0
  249. package/dist/src/graph/kg/extraction/code/generated-detection.js +65 -0
  250. package/dist/src/graph/kg/extraction/code/generated-detection.js.map +1 -0
  251. package/dist/src/graph/kg/extraction/code/languages/index.d.ts +9 -0
  252. package/dist/src/graph/kg/extraction/code/languages/index.d.ts.map +1 -0
  253. package/dist/src/graph/kg/extraction/code/languages/index.js +2119 -0
  254. package/dist/src/graph/kg/extraction/code/languages/index.js.map +1 -0
  255. package/dist/src/graph/kg/extraction/code/languages/typescript.d.ts +5 -0
  256. package/dist/src/graph/kg/extraction/code/languages/typescript.d.ts.map +1 -0
  257. package/dist/src/graph/kg/extraction/code/languages/typescript.js +191 -0
  258. package/dist/src/graph/kg/extraction/code/languages/typescript.js.map +1 -0
  259. package/dist/src/graph/kg/extraction/code/liquid-extractor.d.ts +3 -0
  260. package/dist/src/graph/kg/extraction/code/liquid-extractor.d.ts.map +1 -0
  261. package/dist/src/graph/kg/extraction/code/liquid-extractor.js +117 -0
  262. package/dist/src/graph/kg/extraction/code/liquid-extractor.js.map +1 -0
  263. package/dist/src/graph/kg/extraction/code/mybatis-extractor.d.ts +3 -0
  264. package/dist/src/graph/kg/extraction/code/mybatis-extractor.d.ts.map +1 -0
  265. package/dist/src/graph/kg/extraction/code/mybatis-extractor.js +84 -0
  266. package/dist/src/graph/kg/extraction/code/mybatis-extractor.js.map +1 -0
  267. package/dist/src/graph/kg/extraction/code/svelte-extractor.d.ts +3 -0
  268. package/dist/src/graph/kg/extraction/code/svelte-extractor.d.ts.map +1 -0
  269. package/dist/src/graph/kg/extraction/code/svelte-extractor.js +92 -0
  270. package/dist/src/graph/kg/extraction/code/svelte-extractor.js.map +1 -0
  271. package/dist/src/graph/kg/extraction/code/tree-sitter-types.d.ts +61 -0
  272. package/dist/src/graph/kg/extraction/code/tree-sitter-types.d.ts.map +1 -0
  273. package/dist/src/graph/kg/extraction/code/tree-sitter-types.js +53 -0
  274. package/dist/src/graph/kg/extraction/code/tree-sitter-types.js.map +1 -0
  275. package/dist/src/graph/kg/extraction/code/tree-sitter.d.ts +55 -0
  276. package/dist/src/graph/kg/extraction/code/tree-sitter.d.ts.map +1 -0
  277. package/dist/src/graph/kg/extraction/code/tree-sitter.js +227 -0
  278. package/dist/src/graph/kg/extraction/code/tree-sitter.js.map +1 -0
  279. package/dist/src/graph/kg/extraction/code/vue-extractor.d.ts +6 -0
  280. package/dist/src/graph/kg/extraction/code/vue-extractor.d.ts.map +1 -0
  281. package/dist/src/graph/kg/extraction/code/vue-extractor.js +109 -0
  282. package/dist/src/graph/kg/extraction/code/vue-extractor.js.map +1 -0
  283. package/dist/src/graph/kg/extraction/code/wasm-stability.d.ts +44 -0
  284. package/dist/src/graph/kg/extraction/code/wasm-stability.d.ts.map +1 -0
  285. package/dist/src/graph/kg/extraction/code/wasm-stability.js +140 -0
  286. package/dist/src/graph/kg/extraction/code/wasm-stability.js.map +1 -0
  287. package/dist/src/graph/kg/extraction/knowledge/codebase-extractor.d.ts +3 -0
  288. package/dist/src/graph/kg/extraction/knowledge/codebase-extractor.d.ts.map +1 -0
  289. package/dist/src/graph/kg/extraction/knowledge/codebase-extractor.js +149 -0
  290. package/dist/src/graph/kg/extraction/knowledge/codebase-extractor.js.map +1 -0
  291. package/dist/src/graph/kg/extraction/knowledge/domain-extractor.d.ts +4 -0
  292. package/dist/src/graph/kg/extraction/knowledge/domain-extractor.d.ts.map +1 -0
  293. package/dist/src/graph/kg/extraction/knowledge/domain-extractor.js +114 -0
  294. package/dist/src/graph/kg/extraction/knowledge/domain-extractor.js.map +1 -0
  295. package/dist/src/graph/kg/extraction/knowledge/issue-extractor.d.ts +3 -0
  296. package/dist/src/graph/kg/extraction/knowledge/issue-extractor.d.ts.map +1 -0
  297. package/dist/src/graph/kg/extraction/knowledge/issue-extractor.js +84 -0
  298. package/dist/src/graph/kg/extraction/knowledge/issue-extractor.js.map +1 -0
  299. package/dist/src/graph/kg/extraction/knowledge/spec-extractor.d.ts +3 -0
  300. package/dist/src/graph/kg/extraction/knowledge/spec-extractor.d.ts.map +1 -0
  301. package/dist/src/graph/kg/extraction/knowledge/spec-extractor.js +173 -0
  302. package/dist/src/graph/kg/extraction/knowledge/spec-extractor.js.map +1 -0
  303. package/dist/src/graph/kg/extraction/knowledge/wiki-extractor.d.ts +3 -0
  304. package/dist/src/graph/kg/extraction/knowledge/wiki-extractor.d.ts.map +1 -0
  305. package/dist/src/graph/kg/extraction/knowledge/wiki-extractor.js +165 -0
  306. package/dist/src/graph/kg/extraction/knowledge/wiki-extractor.js.map +1 -0
  307. package/dist/src/graph/kg/extraction/orchestrator.d.ts +6 -0
  308. package/dist/src/graph/kg/extraction/orchestrator.d.ts.map +1 -0
  309. package/dist/src/graph/kg/extraction/orchestrator.js +208 -0
  310. package/dist/src/graph/kg/extraction/orchestrator.js.map +1 -0
  311. package/dist/src/graph/kg/index.d.ts +29 -0
  312. package/dist/src/graph/kg/index.d.ts.map +1 -0
  313. package/dist/src/graph/kg/index.js +35 -0
  314. package/dist/src/graph/kg/index.js.map +1 -0
  315. package/dist/src/graph/kg/query/context-builder.d.ts +38 -0
  316. package/dist/src/graph/kg/query/context-builder.d.ts.map +1 -0
  317. package/dist/src/graph/kg/query/context-builder.js +184 -0
  318. package/dist/src/graph/kg/query/context-builder.js.map +1 -0
  319. package/dist/src/graph/kg/query/index.d.ts +8 -0
  320. package/dist/src/graph/kg/query/index.d.ts.map +1 -0
  321. package/dist/src/graph/kg/query/index.js +6 -0
  322. package/dist/src/graph/kg/query/index.js.map +1 -0
  323. package/dist/src/graph/kg/query/scoring.d.ts +19 -0
  324. package/dist/src/graph/kg/query/scoring.d.ts.map +1 -0
  325. package/dist/src/graph/kg/query/scoring.js +158 -0
  326. package/dist/src/graph/kg/query/scoring.js.map +1 -0
  327. package/dist/src/graph/kg/query/search.d.ts +59 -0
  328. package/dist/src/graph/kg/query/search.d.ts.map +1 -0
  329. package/dist/src/graph/kg/query/search.js +158 -0
  330. package/dist/src/graph/kg/query/search.js.map +1 -0
  331. package/dist/src/graph/kg/query/traversal.d.ts +75 -0
  332. package/dist/src/graph/kg/query/traversal.d.ts.map +1 -0
  333. package/dist/src/graph/kg/query/traversal.js +420 -0
  334. package/dist/src/graph/kg/query/traversal.js.map +1 -0
  335. package/dist/src/graph/kg/resolution/callback-synthesizer.d.ts +41 -0
  336. package/dist/src/graph/kg/resolution/callback-synthesizer.d.ts.map +1 -0
  337. package/dist/src/graph/kg/resolution/callback-synthesizer.js +450 -0
  338. package/dist/src/graph/kg/resolution/callback-synthesizer.js.map +1 -0
  339. package/dist/src/graph/kg/resolution/frameworks/index.d.ts +18 -0
  340. package/dist/src/graph/kg/resolution/frameworks/index.d.ts.map +1 -0
  341. package/dist/src/graph/kg/resolution/frameworks/index.js +632 -0
  342. package/dist/src/graph/kg/resolution/frameworks/index.js.map +1 -0
  343. package/dist/src/graph/kg/resolution/import-resolver.d.ts +73 -0
  344. package/dist/src/graph/kg/resolution/import-resolver.d.ts.map +1 -0
  345. package/dist/src/graph/kg/resolution/import-resolver.js +257 -0
  346. package/dist/src/graph/kg/resolution/import-resolver.js.map +1 -0
  347. package/dist/src/graph/kg/resolution/index.d.ts +11 -0
  348. package/dist/src/graph/kg/resolution/index.d.ts.map +1 -0
  349. package/dist/src/graph/kg/resolution/index.js +7 -0
  350. package/dist/src/graph/kg/resolution/index.js.map +1 -0
  351. package/dist/src/graph/kg/resolution/knowledge-resolver.d.ts +22 -0
  352. package/dist/src/graph/kg/resolution/knowledge-resolver.d.ts.map +1 -0
  353. package/dist/src/graph/kg/resolution/knowledge-resolver.js +288 -0
  354. package/dist/src/graph/kg/resolution/knowledge-resolver.js.map +1 -0
  355. package/dist/src/graph/kg/resolution/name-matcher.d.ts +25 -0
  356. package/dist/src/graph/kg/resolution/name-matcher.d.ts.map +1 -0
  357. package/dist/src/graph/kg/resolution/name-matcher.js +162 -0
  358. package/dist/src/graph/kg/resolution/name-matcher.js.map +1 -0
  359. package/dist/src/graph/kg/schema.sql +210 -0
  360. package/dist/src/graph/kg/surface/cli.d.ts +3 -0
  361. package/dist/src/graph/kg/surface/cli.d.ts.map +1 -0
  362. package/dist/src/graph/kg/surface/cli.js +500 -0
  363. package/dist/src/graph/kg/surface/cli.js.map +1 -0
  364. package/dist/src/graph/kg/surface/hook-injector.d.ts +33 -0
  365. package/dist/src/graph/kg/surface/hook-injector.d.ts.map +1 -0
  366. package/dist/src/graph/kg/surface/hook-injector.js +172 -0
  367. package/dist/src/graph/kg/surface/hook-injector.js.map +1 -0
  368. package/dist/src/graph/kg/surface/index.d.ts +6 -0
  369. package/dist/src/graph/kg/surface/index.d.ts.map +1 -0
  370. package/dist/src/graph/kg/surface/index.js +5 -0
  371. package/dist/src/graph/kg/surface/index.js.map +1 -0
  372. package/dist/src/graph/kg/surface/mcp-tools.d.ts +20 -0
  373. package/dist/src/graph/kg/surface/mcp-tools.d.ts.map +1 -0
  374. package/dist/src/graph/kg/surface/mcp-tools.js +253 -0
  375. package/dist/src/graph/kg/surface/mcp-tools.js.map +1 -0
  376. package/dist/src/graph/kg/sync/incremental-sync.d.ts +24 -0
  377. package/dist/src/graph/kg/sync/incremental-sync.d.ts.map +1 -0
  378. package/dist/src/graph/kg/sync/incremental-sync.js +71 -0
  379. package/dist/src/graph/kg/sync/incremental-sync.js.map +1 -0
  380. package/dist/src/graph/kg/sync/index.d.ts +5 -0
  381. package/dist/src/graph/kg/sync/index.d.ts.map +1 -0
  382. package/dist/src/graph/kg/sync/index.js +4 -0
  383. package/dist/src/graph/kg/sync/index.js.map +1 -0
  384. package/dist/src/graph/kg/sync/watch-policy.d.ts +33 -0
  385. package/dist/src/graph/kg/sync/watch-policy.d.ts.map +1 -0
  386. package/dist/src/graph/kg/sync/watch-policy.js +90 -0
  387. package/dist/src/graph/kg/sync/watch-policy.js.map +1 -0
  388. package/dist/src/hooks/constants.d.ts +0 -2
  389. package/dist/src/hooks/constants.d.ts.map +1 -1
  390. package/dist/src/hooks/constants.js +0 -2
  391. package/dist/src/hooks/constants.js.map +1 -1
  392. package/dist/src/hooks/keyword-spec-injector.d.ts +6 -0
  393. package/dist/src/hooks/keyword-spec-injector.d.ts.map +1 -1
  394. package/dist/src/hooks/keyword-spec-injector.js +157 -81
  395. package/dist/src/hooks/keyword-spec-injector.js.map +1 -1
  396. package/dist/src/hooks/kg-auto-init.d.ts +13 -0
  397. package/dist/src/hooks/kg-auto-init.d.ts.map +1 -0
  398. package/dist/src/hooks/kg-auto-init.js +38 -0
  399. package/dist/src/hooks/kg-auto-init.js.map +1 -0
  400. package/dist/src/hooks/kg-context-injector.d.ts +1 -3
  401. package/dist/src/hooks/kg-context-injector.d.ts.map +1 -1
  402. package/dist/src/hooks/kg-context-injector.js +12 -17
  403. package/dist/src/hooks/kg-context-injector.js.map +1 -1
  404. package/dist/src/hooks/kg-sync-hook.d.ts +1 -9
  405. package/dist/src/hooks/kg-sync-hook.d.ts.map +1 -1
  406. package/dist/src/hooks/kg-sync-hook.js +21 -90
  407. package/dist/src/hooks/kg-sync-hook.js.map +1 -1
  408. package/dist/src/hooks/spec-analytics.d.ts +1 -0
  409. package/dist/src/hooks/spec-analytics.d.ts.map +1 -1
  410. package/dist/src/hooks/spec-analytics.js +1 -3
  411. package/dist/src/hooks/spec-analytics.js.map +1 -1
  412. package/dist/src/hooks/spec-injector.d.ts.map +1 -1
  413. package/dist/src/hooks/spec-injector.js +65 -1
  414. package/dist/src/hooks/spec-injector.js.map +1 -1
  415. package/dist/src/i18n/locales/en.d.ts.map +1 -1
  416. package/dist/src/i18n/locales/en.js +52 -9
  417. package/dist/src/i18n/locales/en.js.map +1 -1
  418. package/dist/src/i18n/locales/zh.d.ts.map +1 -1
  419. package/dist/src/i18n/locales/zh.js +52 -9
  420. package/dist/src/i18n/locales/zh.js.map +1 -1
  421. package/dist/src/i18n/types.d.ts +40 -4
  422. package/dist/src/i18n/types.d.ts.map +1 -1
  423. package/dist/src/ralph/skill-scanner.d.ts.map +1 -1
  424. package/dist/src/ralph/skill-scanner.js +9 -3
  425. package/dist/src/ralph/skill-scanner.js.map +1 -1
  426. package/dist/src/tools/__tests__/domain-search-debug.d.ts +2 -0
  427. package/dist/src/tools/__tests__/domain-search-debug.d.ts.map +1 -0
  428. package/dist/src/tools/__tests__/domain-search-debug.js +32 -0
  429. package/dist/src/tools/__tests__/domain-search-debug.js.map +1 -0
  430. package/dist/src/tools/domain-loader.d.ts +63 -0
  431. package/dist/src/tools/domain-loader.d.ts.map +1 -0
  432. package/dist/src/tools/domain-loader.js +295 -0
  433. package/dist/src/tools/domain-loader.js.map +1 -0
  434. package/dist/src/tools/domain-matcher.d.ts +24 -0
  435. package/dist/src/tools/domain-matcher.d.ts.map +1 -0
  436. package/dist/src/tools/domain-matcher.js +117 -0
  437. package/dist/src/tools/domain-matcher.js.map +1 -0
  438. package/dist/src/tools/domain-scanner.d.ts +32 -0
  439. package/dist/src/tools/domain-scanner.d.ts.map +1 -0
  440. package/dist/src/tools/domain-scanner.js +263 -0
  441. package/dist/src/tools/domain-scanner.js.map +1 -0
  442. package/dist/src/tools/domain-schema.d.ts +18 -0
  443. package/dist/src/tools/domain-schema.d.ts.map +1 -0
  444. package/dist/src/tools/domain-schema.js +104 -0
  445. package/dist/src/tools/domain-schema.js.map +1 -0
  446. package/dist/src/tools/spec-entry-parser.d.ts +1 -0
  447. package/dist/src/tools/spec-entry-parser.d.ts.map +1 -1
  448. package/dist/src/tools/spec-entry-parser.js +1 -0
  449. package/dist/src/tools/spec-entry-parser.js.map +1 -1
  450. package/dist/src/tools/spec-loader.d.ts +5 -0
  451. package/dist/src/tools/spec-loader.d.ts.map +1 -1
  452. package/dist/src/tools/spec-loader.js +10 -2
  453. package/dist/src/tools/spec-loader.js.map +1 -1
  454. package/dist/src/tui/install-ui/ConfigPanel.d.ts.map +1 -1
  455. package/dist/src/tui/install-ui/ConfigPanel.js +9 -1
  456. package/dist/src/tui/install-ui/ConfigPanel.js.map +1 -1
  457. package/dist/src/tui/install-ui/GroupedHub.d.ts +55 -0
  458. package/dist/src/tui/install-ui/GroupedHub.d.ts.map +1 -0
  459. package/dist/src/tui/install-ui/GroupedHub.js +210 -0
  460. package/dist/src/tui/install-ui/GroupedHub.js.map +1 -0
  461. package/dist/src/tui/install-ui/HooksConfig.d.ts +10 -5
  462. package/dist/src/tui/install-ui/HooksConfig.d.ts.map +1 -1
  463. package/dist/src/tui/install-ui/HooksConfig.js +83 -18
  464. package/dist/src/tui/install-ui/HooksConfig.js.map +1 -1
  465. package/dist/src/tui/install-ui/InstallConfirm.d.ts +1 -30
  466. package/dist/src/tui/install-ui/InstallConfirm.d.ts.map +1 -1
  467. package/dist/src/tui/install-ui/InstallConfirm.js +72 -12
  468. package/dist/src/tui/install-ui/InstallConfirm.js.map +1 -1
  469. package/dist/src/tui/install-ui/InstallExecution.d.ts +4 -21
  470. package/dist/src/tui/install-ui/InstallExecution.d.ts.map +1 -1
  471. package/dist/src/tui/install-ui/InstallExecution.js +89 -260
  472. package/dist/src/tui/install-ui/InstallExecution.js.map +1 -1
  473. package/dist/src/tui/install-ui/InstallFlow.d.ts +3 -7
  474. package/dist/src/tui/install-ui/InstallFlow.d.ts.map +1 -1
  475. package/dist/src/tui/install-ui/InstallFlow.js +45 -267
  476. package/dist/src/tui/install-ui/InstallFlow.js.map +1 -1
  477. package/dist/src/tui/install-ui/InstallHub.d.ts.map +1 -1
  478. package/dist/src/tui/install-ui/InstallHub.js +2 -4
  479. package/dist/src/tui/install-ui/InstallHub.js.map +1 -1
  480. package/dist/src/tui/install-ui/InstallResult.d.ts.map +1 -1
  481. package/dist/src/tui/install-ui/InstallResult.js +1 -5
  482. package/dist/src/tui/install-ui/InstallResult.js.map +1 -1
  483. package/dist/src/tui/install-ui/index.d.ts +5 -1
  484. package/dist/src/tui/install-ui/index.d.ts.map +1 -1
  485. package/dist/src/tui/install-ui/index.js +1 -0
  486. package/dist/src/tui/install-ui/index.js.map +1 -1
  487. package/dist/src/tui/install-ui/types.d.ts +39 -0
  488. package/dist/src/tui/install-ui/types.d.ts.map +1 -1
  489. package/dist/src/tui/install-ui/types.js +1 -1
  490. package/dist/src/tui/install-ui/types.js.map +1 -1
  491. package/dist/src/tui/install-ui/useInstallFlowState.d.ts +69 -0
  492. package/dist/src/tui/install-ui/useInstallFlowState.d.ts.map +1 -0
  493. package/dist/src/tui/install-ui/useInstallFlowState.js +288 -0
  494. package/dist/src/tui/install-ui/useInstallFlowState.js.map +1 -0
  495. package/dist/src/tui/shared/components.d.ts +4 -0
  496. package/dist/src/tui/shared/components.d.ts.map +1 -1
  497. package/dist/src/tui/shared/components.js +4 -0
  498. package/dist/src/tui/shared/components.js.map +1 -1
  499. package/dist/src/tui/shared/index.d.ts +1 -1
  500. package/dist/src/tui/shared/index.d.ts.map +1 -1
  501. package/dist/src/tui/shared/index.js +1 -1
  502. package/dist/src/tui/shared/index.js.map +1 -1
  503. package/dist/src/tui/shared/tokens.d.ts +5 -5
  504. package/dist/src/tui/shared/tokens.js +5 -5
  505. package/dist/src/tui/shared/tokens.js.map +1 -1
  506. package/dist/src/types/index.d.ts +9 -0
  507. package/dist/src/types/index.d.ts.map +1 -1
  508. package/dist/src/utils/cli-format.d.ts +2 -1
  509. package/dist/src/utils/cli-format.d.ts.map +1 -1
  510. package/dist/src/utils/cli-format.js +14 -3
  511. package/dist/src/utils/cli-format.js.map +1 -1
  512. package/dist/src/utils/cooldown-guard.d.ts +17 -0
  513. package/dist/src/utils/cooldown-guard.d.ts.map +1 -0
  514. package/dist/src/utils/cooldown-guard.js +59 -0
  515. package/dist/src/utils/cooldown-guard.js.map +1 -0
  516. package/dist/src/utils/jsonl-log.d.ts.map +1 -1
  517. package/dist/src/utils/jsonl-log.js +2 -1
  518. package/dist/src/utils/jsonl-log.js.map +1 -1
  519. package/dist/src/utils/update-notices.js +17 -4
  520. package/dist/src/utils/update-notices.js.map +1 -1
  521. package/package.json +4 -5
  522. package/workflows/claude-instructions.md +23 -0
  523. package/workflows/codex-instructions.md +22 -0
  524. package/workflows/finish-work.md +25 -0
  525. package/workflows/updates/update-v3-setup.md +7 -15
  526. package/dashboard/dist/assets/McpPage-Im6s4pGR.js +0 -21
  527. package/dashboard/dist/assets/SpecsPage-gr4KX51-.js +0 -36
  528. package/dashboard/dist/assets/folder-B8ODoZfb.js +0 -16
  529. package/dashboard/dist/assets/index-6-yE5Yl9.css +0 -1
  530. package/dashboard/dist/assets/pen-line-CR8GaHt-.js +0 -6
@@ -1,3 +1,36 @@
1
+ import type { HookLevel } from '../../commands/hooks.js';
2
+ import type { ExtraMcpTargetId } from '../../commands/install-backend.js';
3
+ import type { HooksSelection } from './HooksConfig.js';
4
+ export interface InstallFlowConfig {
5
+ mode: 'global' | 'project';
6
+ projectPath: string;
7
+ installComponents: boolean;
8
+ installHooks: boolean;
9
+ installMcp: boolean;
10
+ installCodexHooks: boolean;
11
+ codexHookLevel: HookLevel;
12
+ installCodexMcp: boolean;
13
+ codexMcpTools: string[];
14
+ codexMcpProjectRoot: string;
15
+ installAgyHooks: boolean;
16
+ agyHookLevel: HookLevel;
17
+ installExtraMcp: boolean;
18
+ extraMcpTargetIds: ExtraMcpTargetId[];
19
+ installStatusline: boolean;
20
+ statuslineTheme: string;
21
+ hookLevel: HookLevel;
22
+ componentCount: number;
23
+ fileCount: number;
24
+ mcpToolCount: number;
25
+ selectedComponentIds: string[];
26
+ mcpTools: string[];
27
+ mcpProjectRoot: string;
28
+ backupClaudeMd: boolean;
29
+ backupAll: boolean;
30
+ claudeHooksSelection?: HooksSelection;
31
+ codexHooksSelection?: HooksSelection;
32
+ agyHooksSelection?: HooksSelection;
33
+ }
1
34
  export type WizardStep = 'mode' | 'components' | 'config' | 'review' | 'executing' | 'complete';
2
35
  export declare const WIZARD_STEPS: readonly WizardStep[];
3
36
  export interface InstallConfig {
@@ -8,6 +41,12 @@ export interface InstallConfig {
8
41
  mcpTools: string[];
9
42
  mcpProjectRoot: string;
10
43
  hookLevel: 'none' | 'minimal' | 'standard' | 'full';
44
+ /** Granular hook selection (overrides hookLevel when present) */
45
+ hooksSelection?: {
46
+ basePreset: HookLevel;
47
+ selectedHooks: string[];
48
+ isCustom: boolean;
49
+ };
11
50
  doBackup: boolean;
12
51
  /** Install statusline separately (default: false) */
13
52
  installStatusline: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/tui/install-ui/types.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;AAEhG,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EAO7C,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IACpD,QAAQ,EAAE,OAAO,CAAC;IAClB,qDAAqD;IACrD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,wDAAwD;IACxD,cAAc,EAAE,OAAO,CAAC;IACxB,iDAAiD;IACjD,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,sBAAsB,EAAE,aAYpC,CAAC;AAMF,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE;QAAE,cAAc,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/D,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;CACzB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/tui/install-ui/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAMvD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,SAAS,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,eAAe,EAAE,OAAO,CAAC;IACzB,YAAY,EAAE,SAAS,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;IACnB,oBAAoB,CAAC,EAAE,cAAc,CAAC;IACtC,mBAAmB,CAAC,EAAE,cAAc,CAAC;IACrC,iBAAiB,CAAC,EAAE,cAAc,CAAC;CACpC;AAMD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;AAEhG,eAAO,MAAM,YAAY,EAAE,SAAS,UAAU,EAO7C,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,CAAC;IACpD,iEAAiE;IACjE,cAAc,CAAC,EAAE;QAAE,UAAU,EAAE,SAAS,CAAC;QAAC,aAAa,EAAE,MAAM,EAAE,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IACvF,QAAQ,EAAE,OAAO,CAAC;IAClB,qDAAqD;IACrD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,wDAAwD;IACxD,cAAc,EAAE,OAAO,CAAC;IACxB,iDAAiD;IACjD,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,sBAAsB,EAAE,aAYpC,CAAC;AAMF,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE;QAAE,cAAc,EAAE,MAAM,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/D,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;CACzB"}
@@ -1,5 +1,5 @@
1
1
  // ---------------------------------------------------------------------------
2
- // Types for the install wizard TUI (CyberdeckBlueprint)
2
+ // Types for install TUI — shared data contracts
3
3
  // ---------------------------------------------------------------------------
4
4
  export const WIZARD_STEPS = [
5
5
  'mode',
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/tui/install-ui/types.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,wDAAwD;AACxD,8EAA8E;AAI9E,MAAM,CAAC,MAAM,YAAY,GAA0B;IACjD,MAAM;IACN,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,UAAU;CACX,CAAC;AAmBF,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,EAAE;IACf,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,EAAE;IACZ,cAAc,EAAE,EAAE;IAClB,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,KAAK;IACf,iBAAiB,EAAE,KAAK;IACxB,cAAc,EAAE,IAAI;IACpB,SAAS,EAAE,KAAK;CACjB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/tui/install-ui/types.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,gDAAgD;AAChD,8EAA8E;AA+C9E,MAAM,CAAC,MAAM,YAAY,GAA0B;IACjD,MAAM;IACN,YAAY;IACZ,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,UAAU;CACX,CAAC;AAqBF,MAAM,CAAC,MAAM,sBAAsB,GAAkB;IACnD,IAAI,EAAE,QAAQ;IACd,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,EAAE;IACf,UAAU,EAAE,IAAI;IAChB,QAAQ,EAAE,EAAE;IACZ,cAAc,EAAE,EAAE;IAClB,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,KAAK;IACf,iBAAiB,EAAE,KAAK;IACxB,cAAc,EAAE,IAAI;IACpB,SAAS,EAAE,KAAK;CACjB,CAAC"}
@@ -0,0 +1,69 @@
1
+ import type { HooksSelection } from './HooksConfig.js';
2
+ import type { InstallFlowConfig } from './types.js';
3
+ import type { InstallFlowResult } from './InstallExecution.js';
4
+ import { type ExtraMcpTargetId } from '../../commands/install-backend.js';
5
+ import { type Manifest } from '../../core/manifest.js';
6
+ export type FlowStep = 'hub' | 'components_config' | 'hooks_config' | 'mcp_config' | 'codex_hooks_config' | 'codex_mcp_config' | 'agy_hooks_config' | 'extra_mcp_config' | 'statusline_config' | 'backup_config' | 'confirm' | 'executing' | 'complete';
7
+ export type FlowStepCompat = FlowStep | 'mode';
8
+ export interface UseInstallFlowStateOptions {
9
+ pkgRoot: string;
10
+ initialStep?: FlowStepCompat;
11
+ initialMode?: 'global' | 'project';
12
+ initialStepIds?: string[];
13
+ }
14
+ export declare function useInstallFlowState(opts: UseInstallFlowStateOptions): {
15
+ step: FlowStep;
16
+ setStep: import("react").Dispatch<import("react").SetStateAction<FlowStep>>;
17
+ isSubcommand: boolean;
18
+ resolvedInitialStep: FlowStep;
19
+ mode: "project" | "global";
20
+ setMode: import("react").Dispatch<import("react").SetStateAction<"project" | "global">>;
21
+ enabledSteps: Record<string, boolean>;
22
+ selectedComponentIds: string[];
23
+ setSelectedComponentIds: import("react").Dispatch<import("react").SetStateAction<string[]>>;
24
+ claudeHooksSelection: HooksSelection;
25
+ setClaudeHooksSelection: import("react").Dispatch<import("react").SetStateAction<HooksSelection>>;
26
+ mcpEnabled: boolean;
27
+ setMcpEnabled: import("react").Dispatch<import("react").SetStateAction<boolean>>;
28
+ mcpTools: string[];
29
+ setMcpTools: import("react").Dispatch<import("react").SetStateAction<string[]>>;
30
+ mcpProjectRoot: string;
31
+ setMcpProjectRoot: import("react").Dispatch<import("react").SetStateAction<string>>;
32
+ codexHooksSelection: HooksSelection;
33
+ setCodexHooksSelection: import("react").Dispatch<import("react").SetStateAction<HooksSelection>>;
34
+ codexMcpEnabled: boolean;
35
+ setCodexMcpEnabled: import("react").Dispatch<import("react").SetStateAction<boolean>>;
36
+ codexMcpTools: string[];
37
+ setCodexMcpTools: import("react").Dispatch<import("react").SetStateAction<string[]>>;
38
+ codexMcpProjectRoot: string;
39
+ setCodexMcpProjectRoot: import("react").Dispatch<import("react").SetStateAction<string>>;
40
+ agyHooksSelection: HooksSelection;
41
+ setAgyHooksSelection: import("react").Dispatch<import("react").SetStateAction<HooksSelection>>;
42
+ extraMcpTargetIds: ExtraMcpTargetId[];
43
+ setExtraMcpTargetIds: import("react").Dispatch<import("react").SetStateAction<ExtraMcpTargetId[]>>;
44
+ installStatusline: boolean;
45
+ setInstallStatusline: import("react").Dispatch<import("react").SetStateAction<boolean>>;
46
+ statuslineTheme: string;
47
+ setStatuslineTheme: import("react").Dispatch<import("react").SetStateAction<string>>;
48
+ statuslineDetected: string | null;
49
+ backupClaudeMd: boolean;
50
+ setBackupClaudeMd: import("react").Dispatch<import("react").SetStateAction<boolean>>;
51
+ backupAll: boolean;
52
+ setBackupAll: import("react").Dispatch<import("react").SetStateAction<boolean>>;
53
+ lastManifest: Manifest | null;
54
+ scannedComponents: import("../../commands/install-backend.js").ScannedComponent[];
55
+ selectedComponents: import("../../commands/install-backend.js").ScannedComponent[];
56
+ fileCount: number;
57
+ existingFileCount: number;
58
+ flowConfig: InstallFlowConfig;
59
+ hubGroups: import("./GroupedHub.js").HubGroup[];
60
+ result: InstallFlowResult | null;
61
+ setResult: import("react").Dispatch<import("react").SetStateAction<InstallFlowResult | null>>;
62
+ profileMessage: string | null;
63
+ toggleStep: (id: string) => void;
64
+ enterConfig: (id: string) => void;
65
+ returnFromConfig: () => void;
66
+ handleExport: () => void;
67
+ handleImport: () => void;
68
+ };
69
+ //# sourceMappingURL=useInstallFlowState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useInstallFlowState.d.ts","sourceRoot":"","sources":["../../../../src/tui/install-ui/useInstallFlowState.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAuE,KAAK,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAE/I,OAAO,EAAgB,KAAK,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAKrE,MAAM,MAAM,QAAQ,GAChB,KAAK,GACL,mBAAmB,GAAG,cAAc,GAAG,YAAY,GACnD,oBAAoB,GAAG,kBAAkB,GACzC,kBAAkB,GAAG,kBAAkB,GACvC,mBAAmB,GAAG,eAAe,GACrC,SAAS,GAAG,WAAW,GAAG,UAAU,CAAC;AAEzC,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,MAAM,CAAC;AAU/C,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,cAAc,CAAC;IAC7B,WAAW,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA6M9B,MAAM;sBAeL,MAAM;;;;EAqF5C"}
@@ -0,0 +1,288 @@
1
+ // ---------------------------------------------------------------------------
2
+ // useInstallFlowState — extracted state management for InstallFlow
3
+ //
4
+ // Groups 20+ useState into a single hook. InstallFlow becomes a thin renderer.
5
+ // ---------------------------------------------------------------------------
6
+ import { useState, useCallback, useEffect, useMemo, useRef } from 'react';
7
+ import { scanComponents, countExistingTargetFiles, MCP_TOOLS, COMPONENT_DEFS } from '../../commands/install-backend.js';
8
+ import { detectStatusline, getHooksForLevel, getAllHookNames } from '../../commands/hooks.js';
9
+ import { findManifest } from '../../core/manifest.js';
10
+ import { exportProfile, importProfile, listProfiles, configToProfile, profileToStateValues } from '../../core/install-profile.js';
11
+ import { paths } from '../../config/paths.js';
12
+ import { buildGroupedHubItems } from './GroupedHub.js';
13
+ function makeHooksSelection(level, tool) {
14
+ return {
15
+ basePreset: level,
16
+ selectedHooks: getHooksForLevel(level, tool),
17
+ isCustom: false,
18
+ };
19
+ }
20
+ export function useInstallFlowState(opts) {
21
+ const { pkgRoot, initialStep, initialMode, initialStepIds } = opts;
22
+ const isSubcommand = !!initialStep;
23
+ const resolvedInitialStep = (initialStep === 'mode' || !initialStep) ? 'hub' : initialStep;
24
+ // --- Core navigation ---
25
+ const [step, setStep] = useState(resolvedInitialStep);
26
+ const [mode, setMode] = useState(initialMode ?? 'global');
27
+ const [projectPath] = useState(process.cwd());
28
+ // --- Manifest ---
29
+ const lastManifest = useMemo(() => {
30
+ try {
31
+ const targetPath = mode === 'global' ? paths.home : projectPath;
32
+ return findManifest(mode, targetPath);
33
+ }
34
+ catch {
35
+ return null;
36
+ }
37
+ }, [mode, projectPath]);
38
+ const prior = useMemo(() => ({
39
+ claudeHooks: !!(lastManifest?.hooks?.claude?.installed?.length),
40
+ codexHooks: !!(lastManifest?.hooks?.codex?.installed?.length),
41
+ agyHooks: !!(lastManifest?.hooks?.agy?.installed?.length),
42
+ claudeMcp: !!lastManifest?.mcp?.claude,
43
+ codexMcp: !!lastManifest?.mcp?.codex,
44
+ extraMcp: !!(lastManifest?.mcp?.extras?.length),
45
+ statusline: !!lastManifest?.statusline || !!detectStatusline(),
46
+ }), [lastManifest]);
47
+ // --- Enabled steps ---
48
+ const [enabledSteps, setEnabledSteps] = useState({
49
+ components: initialStepIds ? initialStepIds.includes('components') : true,
50
+ hooks: initialStepIds ? initialStepIds.includes('hooks') : (lastManifest ? prior.claudeHooks : true),
51
+ mcp: initialStepIds ? initialStepIds.includes('mcp') : (lastManifest ? prior.claudeMcp : true),
52
+ codexHooks: initialStepIds ? initialStepIds.includes('codexHooks') : prior.codexHooks,
53
+ codexMcp: initialStepIds ? initialStepIds.includes('codexMcp') : prior.codexMcp,
54
+ agyHooks: initialStepIds ? initialStepIds.includes('agyHooks') : prior.agyHooks,
55
+ extraMcp: initialStepIds ? initialStepIds.includes('extraMcp') : prior.extraMcp,
56
+ statusline: initialStepIds ? initialStepIds.includes('statusline') : prior.statusline,
57
+ backup: initialStepIds ? initialStepIds.includes('backup') : true,
58
+ });
59
+ // --- Component selection ---
60
+ const [selectedComponentIds, setSelectedComponentIds] = useState(() => lastManifest?.selectedComponentIds?.length
61
+ ? lastManifest.selectedComponentIds
62
+ : COMPONENT_DEFS.filter((d) => d.defaultSelected !== false).map((d) => d.id));
63
+ // --- Claude hooks ---
64
+ const [claudeHooksSelection, setClaudeHooksSelection] = useState(() => makeHooksSelection(lastManifest?.hooks?.claude?.level || 'standard', 'claude'));
65
+ // --- Claude MCP ---
66
+ const [mcpEnabled, setMcpEnabled] = useState(true);
67
+ const [mcpTools, setMcpTools] = useState([...MCP_TOOLS]);
68
+ const [mcpProjectRoot, setMcpProjectRoot] = useState('');
69
+ // --- Codex hooks ---
70
+ const [codexHooksSelection, setCodexHooksSelection] = useState(() => makeHooksSelection(lastManifest?.hooks?.codex?.level || 'standard', 'codex'));
71
+ const [codexMcpEnabled, setCodexMcpEnabled] = useState(true);
72
+ const [codexMcpTools, setCodexMcpTools] = useState([...MCP_TOOLS]);
73
+ const [codexMcpProjectRoot, setCodexMcpProjectRoot] = useState('');
74
+ // --- Agy hooks ---
75
+ const [agyHooksSelection, setAgyHooksSelection] = useState(() => makeHooksSelection(lastManifest?.hooks?.agy?.level || 'standard', 'agy'));
76
+ // --- Extra MCP ---
77
+ const [extraMcpTargetIds, setExtraMcpTargetIds] = useState(() => (lastManifest?.mcp?.extras?.map((e) => e.targetId)) ?? []);
78
+ // --- Statusline ---
79
+ const [installStatusline, setInstallStatusline] = useState(() => prior.statusline || !lastManifest);
80
+ const [statuslineTheme, setStatuslineTheme] = useState(() => lastManifest?.statusline?.theme || 'notion');
81
+ const statuslineDetected = useMemo(() => detectStatusline({ project: mode === 'project' }), [mode]);
82
+ // --- Backup ---
83
+ const [backupClaudeMd, setBackupClaudeMd] = useState(true);
84
+ const [backupAll, setBackupAll] = useState(false);
85
+ // --- Result + profile message ---
86
+ const [result, setResult] = useState(null);
87
+ const [profileMessage, setProfileMessage] = useState(null);
88
+ const profileTimerRef = useRef(null);
89
+ useEffect(() => () => {
90
+ if (profileTimerRef.current)
91
+ clearTimeout(profileTimerRef.current);
92
+ }, []);
93
+ const showProfileMessage = useCallback((msg) => {
94
+ setProfileMessage(msg);
95
+ profileTimerRef.current = setTimeout(() => setProfileMessage(null), 3000);
96
+ }, []);
97
+ // --- Re-sync on mode change ---
98
+ const isFirstRender = useRef(true);
99
+ useEffect(() => {
100
+ if (isFirstRender.current) {
101
+ isFirstRender.current = false;
102
+ return;
103
+ }
104
+ if (isSubcommand)
105
+ return;
106
+ setEnabledSteps({
107
+ components: true,
108
+ hooks: lastManifest ? prior.claudeHooks : true,
109
+ mcp: lastManifest ? prior.claudeMcp : true,
110
+ codexHooks: prior.codexHooks,
111
+ codexMcp: prior.codexMcp,
112
+ agyHooks: prior.agyHooks,
113
+ extraMcp: prior.extraMcp,
114
+ statusline: prior.statusline || !lastManifest,
115
+ backup: true,
116
+ });
117
+ setSelectedComponentIds(lastManifest?.selectedComponentIds?.length
118
+ ? lastManifest.selectedComponentIds
119
+ : COMPONENT_DEFS.filter((d) => d.defaultSelected !== false).map((d) => d.id));
120
+ setClaudeHooksSelection(makeHooksSelection(lastManifest?.hooks?.claude?.level || 'standard', 'claude'));
121
+ setCodexHooksSelection(makeHooksSelection(lastManifest?.hooks?.codex?.level || 'standard', 'codex'));
122
+ setAgyHooksSelection(makeHooksSelection(lastManifest?.hooks?.agy?.level || 'standard', 'agy'));
123
+ setExtraMcpTargetIds((lastManifest?.mcp?.extras?.map((e) => e.targetId)) ?? []);
124
+ setInstallStatusline(prior.statusline || !lastManifest);
125
+ setStatuslineTheme(lastManifest?.statusline?.theme || 'notion');
126
+ }, [mode, lastManifest, prior, isSubcommand]);
127
+ // --- Derived values ---
128
+ const scannedComponents = useMemo(() => scanComponents(pkgRoot, mode, projectPath), [pkgRoot, mode, projectPath]);
129
+ const selectedComponents = useMemo(() => scannedComponents.filter((c) => c.available && selectedComponentIds.includes(c.def.id)), [scannedComponents, selectedComponentIds]);
130
+ const fileCount = selectedComponents.reduce((sum, c) => sum + c.fileCount, 0);
131
+ const existingFileCount = useMemo(() => countExistingTargetFiles(selectedComponents), [selectedComponents]);
132
+ const hookLevel = claudeHooksSelection.basePreset;
133
+ const codexHookLevel = codexHooksSelection.basePreset;
134
+ const agyHookLevel = agyHooksSelection.basePreset;
135
+ const flowConfig = useMemo(() => ({
136
+ mode, projectPath,
137
+ installComponents: enabledSteps.components,
138
+ installHooks: enabledSteps.hooks,
139
+ installMcp: enabledSteps.mcp && mcpEnabled,
140
+ installCodexHooks: enabledSteps.codexHooks,
141
+ codexHookLevel,
142
+ installCodexMcp: enabledSteps.codexMcp && codexMcpEnabled,
143
+ codexMcpTools, codexMcpProjectRoot,
144
+ installAgyHooks: enabledSteps.agyHooks,
145
+ agyHookLevel,
146
+ installExtraMcp: enabledSteps.extraMcp && extraMcpTargetIds.length > 0,
147
+ extraMcpTargetIds,
148
+ installStatusline: enabledSteps.statusline && installStatusline,
149
+ statuslineTheme,
150
+ hookLevel,
151
+ componentCount: selectedComponents.length,
152
+ fileCount,
153
+ mcpToolCount: mcpTools.length,
154
+ selectedComponentIds, mcpTools, mcpProjectRoot,
155
+ backupClaudeMd: enabledSteps.backup && backupClaudeMd,
156
+ backupAll: enabledSteps.backup && backupAll,
157
+ claudeHooksSelection, codexHooksSelection, agyHooksSelection,
158
+ }), [mode, projectPath, enabledSteps, hookLevel, selectedComponents.length,
159
+ fileCount, mcpTools, mcpEnabled, selectedComponentIds, mcpProjectRoot,
160
+ codexHookLevel, codexMcpEnabled, codexMcpTools, codexMcpProjectRoot,
161
+ agyHookLevel, extraMcpTargetIds,
162
+ installStatusline, statuslineTheme, backupClaudeMd, backupAll,
163
+ claudeHooksSelection, codexHooksSelection, agyHooksSelection]);
164
+ // --- Hub groups ---
165
+ const claudeAllHooks = useMemo(() => getAllHookNames('claude'), []);
166
+ const codexAllHooks = useMemo(() => getAllHookNames('codex'), []);
167
+ const agyAllHooks = useMemo(() => getAllHookNames('agy'), []);
168
+ const hubGroups = useMemo(() => buildGroupedHubItems(enabledSteps, {
169
+ componentCount: selectedComponents.length, fileCount, hookLevel,
170
+ hookSelectedCount: claudeHooksSelection.selectedHooks.length,
171
+ hookTotalCount: claudeAllHooks.length,
172
+ hookIsCustom: claudeHooksSelection.isCustom,
173
+ mcpToolCount: mcpTools.length, mcpEnabled,
174
+ codexHookLevel,
175
+ codexMcpToolCount: codexMcpTools.length, codexMcpEnabled,
176
+ codexHookSelectedCount: codexHooksSelection.selectedHooks.length,
177
+ codexHookTotalCount: codexAllHooks.length,
178
+ codexHookIsCustom: codexHooksSelection.isCustom,
179
+ agyHookLevel,
180
+ agyHookSelectedCount: agyHooksSelection.selectedHooks.length,
181
+ agyHookTotalCount: agyAllHooks.length,
182
+ agyHookIsCustom: agyHooksSelection.isCustom,
183
+ extraMcpTargetCount: extraMcpTargetIds.length,
184
+ statuslineDetected, statuslineTheme,
185
+ backupClaudeMd, backupAll,
186
+ }), [enabledSteps, selectedComponents.length, fileCount, hookLevel, mcpTools.length,
187
+ mcpEnabled, codexHookLevel, codexMcpTools.length, codexMcpEnabled,
188
+ agyHookLevel, extraMcpTargetIds.length,
189
+ statuslineDetected, statuslineTheme, backupClaudeMd, backupAll,
190
+ claudeHooksSelection, codexHooksSelection, agyHooksSelection,
191
+ claudeAllHooks, codexAllHooks, agyAllHooks]);
192
+ // --- Actions ---
193
+ const toggleStep = useCallback((id) => {
194
+ setEnabledSteps((prev) => {
195
+ const next = !prev[id];
196
+ if (next) {
197
+ if (id === 'hooks')
198
+ setClaudeHooksSelection((sel) => sel.basePreset === 'none' ? makeHooksSelection('standard', 'claude') : sel);
199
+ else if (id === 'codexHooks')
200
+ setCodexHooksSelection((sel) => sel.basePreset === 'none' ? makeHooksSelection('standard', 'codex') : sel);
201
+ else if (id === 'agyHooks')
202
+ setAgyHooksSelection((sel) => sel.basePreset === 'none' ? makeHooksSelection('standard', 'agy') : sel);
203
+ }
204
+ return { ...prev, [id]: next };
205
+ });
206
+ }, []);
207
+ const enterConfig = useCallback((id) => {
208
+ const map = {
209
+ components: 'components_config', hooks: 'hooks_config', mcp: 'mcp_config',
210
+ codexHooks: 'codex_hooks_config', codexMcp: 'codex_mcp_config',
211
+ agyHooks: 'agy_hooks_config', extraMcp: 'extra_mcp_config',
212
+ statusline: 'statusline_config', backup: 'backup_config',
213
+ };
214
+ if (map[id])
215
+ setStep(map[id]);
216
+ }, []);
217
+ const returnFromConfig = useCallback(() => {
218
+ setStep(isSubcommand ? 'confirm' : 'hub');
219
+ }, [isSubcommand]);
220
+ const handleExport = useCallback(() => {
221
+ try {
222
+ const profile = configToProfile(flowConfig);
223
+ const path = exportProfile(profile);
224
+ showProfileMessage(`✓ Exported to ${path}`);
225
+ }
226
+ catch (err) {
227
+ showProfileMessage(`✗ Export failed: ${err instanceof Error ? err.message : String(err)}`);
228
+ }
229
+ }, [flowConfig, showProfileMessage]);
230
+ const handleImport = useCallback(() => {
231
+ try {
232
+ const profiles = listProfiles();
233
+ if (profiles.length === 0) {
234
+ showProfileMessage('No profiles found in ~/.maestro/install-profiles/');
235
+ return;
236
+ }
237
+ const profile = importProfile(profiles[0].filePath);
238
+ const v = profileToStateValues(profile);
239
+ setMode(v.mode);
240
+ setEnabledSteps(v.enabledSteps);
241
+ setSelectedComponentIds(v.selectedComponentIds);
242
+ setClaudeHooksSelection(v.claudeHooks);
243
+ setMcpEnabled(v.mcpEnabled);
244
+ setMcpTools(v.mcpTools);
245
+ setMcpProjectRoot(v.mcpProjectRoot);
246
+ setCodexHooksSelection(v.codexHooks);
247
+ setCodexMcpEnabled(v.codexMcpEnabled);
248
+ setCodexMcpTools(v.codexMcpTools);
249
+ setCodexMcpProjectRoot(v.codexMcpProjectRoot);
250
+ setAgyHooksSelection(v.agyHooks);
251
+ setExtraMcpTargetIds(v.extraMcpTargetIds);
252
+ setInstallStatusline(v.installStatusline);
253
+ setStatuslineTheme(v.statuslineTheme);
254
+ setBackupClaudeMd(v.backupClaudeMd);
255
+ setBackupAll(v.backupAll);
256
+ showProfileMessage(`✓ Loaded profile: ${profiles[0].name}`);
257
+ }
258
+ catch (err) {
259
+ showProfileMessage(`✗ Import failed: ${err instanceof Error ? err.message : String(err)}`);
260
+ }
261
+ }, [showProfileMessage]);
262
+ return {
263
+ // Navigation
264
+ step, setStep, isSubcommand, resolvedInitialStep,
265
+ mode, setMode,
266
+ // Config state
267
+ enabledSteps, selectedComponentIds, setSelectedComponentIds,
268
+ claudeHooksSelection, setClaudeHooksSelection,
269
+ mcpEnabled, setMcpEnabled, mcpTools, setMcpTools, mcpProjectRoot, setMcpProjectRoot,
270
+ codexHooksSelection, setCodexHooksSelection,
271
+ codexMcpEnabled, setCodexMcpEnabled, codexMcpTools, setCodexMcpTools,
272
+ codexMcpProjectRoot, setCodexMcpProjectRoot,
273
+ agyHooksSelection, setAgyHooksSelection,
274
+ extraMcpTargetIds, setExtraMcpTargetIds,
275
+ installStatusline, setInstallStatusline,
276
+ statuslineTheme, setStatuslineTheme, statuslineDetected,
277
+ backupClaudeMd, setBackupClaudeMd, backupAll, setBackupAll,
278
+ // Derived
279
+ lastManifest, scannedComponents, selectedComponents, fileCount, existingFileCount,
280
+ flowConfig, hubGroups,
281
+ // Result
282
+ result, setResult, profileMessage,
283
+ // Actions
284
+ toggleStep, enterConfig, returnFromConfig,
285
+ handleExport, handleImport,
286
+ };
287
+ }
288
+ //# sourceMappingURL=useInstallFlowState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useInstallFlowState.js","sourceRoot":"","sources":["../../../../src/tui/install-ui/useInstallFlowState.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,10 @@ interface CheckboxProps {
41
41
  * When highlighted and checked, uses greenBright.
42
42
  */
43
43
  export declare function Checkbox({ checked, highlighted }: CheckboxProps): import("react/jsx-runtime").JSX.Element;
44
+ interface BreadcrumbProps {
45
+ path: string[];
46
+ }
47
+ export declare function Breadcrumb({ path }: BreadcrumbProps): import("react/jsx-runtime").JSX.Element;
44
48
  interface StepProgressProps {
45
49
  steps: {
46
50
  key: string;
@@ -1 +1 @@
1
- {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../../src/tui/shared/components.tsx"],"names":[],"mappings":"AAYA,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,aAAa,2CAMhD;AAMD,UAAU,kBAAkB;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE,kBAAkB,2CAE1D;AAMD,UAAU,gBAAgB;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,oCAAoC;IACpC,MAAM,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CACtC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,gBAAgB,2CAOhE;AAMD,UAAU,iBAAiB;IACzB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,EAAE,iBAAiB,2CAMzD;AAMD,UAAU,aAAa;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,aAAa,2CAO/D;AAMD,UAAU,iBAAiB;IACzB,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,iBAAiB,2CAiBpE"}
1
+ {"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../../../../src/tui/shared/components.tsx"],"names":[],"mappings":"AAaA,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,aAAa,2CAMhD;AAMD,UAAU,kBAAkB;IAC1B,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE,kBAAkB,2CAE1D;AAMD,UAAU,gBAAgB;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,oCAAoC;IACpC,MAAM,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CACtC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,gBAAgB,2CAOhE;AAMD,UAAU,iBAAiB;IACzB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,EAAE,iBAAiB,2CAMzD;AAMD,UAAU,aAAa;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,aAAa,2CAO/D;AAMD,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,wBAAgB,UAAU,CAAC,EAAE,IAAI,EAAE,EAAE,eAAe,2CAcnD;AAMD,UAAU,iBAAiB;IACzB,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,iBAAiB,2CAiBpE"}
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Box, Text } from 'ink';
3
3
  import { C, SYM, SP } from './tokens.js';
4
+ import { t } from '../../i18n/index.js';
4
5
  /**
5
6
  * Standardized keyboard hint footer.
6
7
  * Always rendered at the bottom of interactive screens with marginTop={1}.
@@ -39,6 +40,9 @@ export function Checkbox({ checked, highlighted }) {
39
40
  : C.neutral;
40
41
  return (_jsxs(Text, { color: color, children: [checked ? SYM.checkOn : SYM.checkOff, " "] }));
41
42
  }
43
+ export function Breadcrumb({ path }) {
44
+ return (_jsxs(Box, { children: [path.map((segment, i) => (_jsxs(Box, { children: [i > 0 && _jsxs(Text, { dimColor: true, children: [" ", '>', " "] }), _jsx(Text, { color: i === path.length - 1 ? C.primary : C.neutral, bold: i === path.length - 1, children: segment })] }, i))), _jsxs(Text, { dimColor: true, children: [' ', t.install.breadcrumbBack] })] }));
45
+ }
42
46
  /**
43
47
  * Horizontal step progress bar: [x] done [>] current [ ] pending
44
48
  */
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../../../../src/tui/shared/components.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../../../../src/tui/shared/components.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  export { C, SYM, SP, BORDER } from './tokens.js';
2
2
  export { pad, truncate, parseNumberKey, wrapCursor, formatSize } from './helpers.js';
3
- export { KeyHints, SectionHeader, StatusBadge, CursorMarker, Checkbox, StepProgress, } from './components.js';
3
+ export { KeyHints, SectionHeader, StatusBadge, CursorMarker, Checkbox, Breadcrumb, StepProgress, } from './components.js';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tui/shared/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,EACL,QAAQ,EACR,aAAa,EACb,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,YAAY,GACb,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tui/shared/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,EACL,QAAQ,EACR,aAAa,EACb,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,YAAY,GACb,MAAM,iBAAiB,CAAC"}
@@ -3,5 +3,5 @@
3
3
  // ---------------------------------------------------------------------------
4
4
  export { C, SYM, SP, BORDER } from './tokens.js';
5
5
  export { pad, truncate, parseNumberKey, wrapCursor, formatSize } from './helpers.js';
6
- export { KeyHints, SectionHeader, StatusBadge, CursorMarker, Checkbox, StepProgress, } from './components.js';
6
+ export { KeyHints, SectionHeader, StatusBadge, CursorMarker, Checkbox, Breadcrumb, StepProgress, } from './components.js';
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/tui/shared/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,mDAAmD;AACnD,8EAA8E;AAE9E,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,EACL,QAAQ,EACR,aAAa,EACb,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,YAAY,GACb,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/tui/shared/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,mDAAmD;AACnD,8EAA8E;AAE9E,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACrF,OAAO,EACL,QAAQ,EACR,aAAa,EACb,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,UAAU,EACV,YAAY,GACb,MAAM,iBAAiB,CAAC"}
@@ -17,15 +17,15 @@ export declare const C: {
17
17
  };
18
18
  /** Standardized UI symbols */
19
19
  export declare const SYM: {
20
- readonly checkOn: "[x]";
21
- readonly checkOff: "[ ]";
20
+ readonly checkOn: "";
21
+ readonly checkOff: "·";
22
22
  readonly radioOn: "●";
23
23
  readonly radioOff: "○";
24
24
  readonly cursor: "▸";
25
25
  readonly cursorBlank: " ";
26
- readonly stepDone: "[x]";
27
- readonly stepActive: "[>]";
28
- readonly stepPending: "[ ]";
26
+ readonly stepDone: "";
27
+ readonly stepActive: "";
28
+ readonly stepPending: "·";
29
29
  readonly enabled: "✓";
30
30
  readonly disabled: "✗";
31
31
  readonly scrollUp: "▲";
@@ -24,8 +24,8 @@ export const C = {
24
24
  /** Standardized UI symbols */
25
25
  export const SYM = {
26
26
  // Multi-select checkboxes
27
- checkOn: '[x]',
28
- checkOff: '[ ]',
27
+ checkOn: '',
28
+ checkOff: '·',
29
29
  // Single-select radio
30
30
  radioOn: '●',
31
31
  radioOff: '○',
@@ -33,9 +33,9 @@ export const SYM = {
33
33
  cursor: '▸',
34
34
  cursorBlank: ' ',
35
35
  // Step progress
36
- stepDone: '[x]',
37
- stepActive: '[>]',
38
- stepPending: '[ ]',
36
+ stepDone: '',
37
+ stepActive: '',
38
+ stepPending: '·',
39
39
  // Status indicators
40
40
  enabled: '✓',
41
41
  disabled: '✗',
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../../src/tui/shared/tokens.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4CAA4C;AAC5C,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AACtC,8EAA8E;AAE9E,mDAAmD;AACnD,MAAM,CAAC,MAAM,CAAC,GAAG;IACf,mEAAmE;IACnE,OAAO,EAAE,MAAM;IACf,4CAA4C;IAC5C,OAAO,EAAE,OAAO;IAChB,mDAAmD;IACnD,aAAa,EAAE,aAAa;IAC5B,kEAAkE;IAClE,OAAO,EAAE,QAAQ;IACjB,sCAAsC;IACtC,KAAK,EAAE,KAAK;IACZ,yCAAyC;IACzC,OAAO,EAAE,MAAM;IACf,wDAAwD;IACxD,MAAM,EAAE,SAAS;CACT,CAAC;AAEX,8BAA8B;AAC9B,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,0BAA0B;IAC1B,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,KAAK;IACf,sBAAsB;IACtB,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,GAAG;IACb,oBAAoB;IACpB,MAAM,EAAE,GAAG;IACX,WAAW,EAAE,GAAG;IAChB,gBAAgB;IAChB,QAAQ,EAAE,KAAK;IACf,UAAU,EAAE,KAAK;IACjB,WAAW,EAAE,KAAK;IAClB,oBAAoB;IACpB,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,GAAG;IACb,oBAAoB;IACpB,QAAQ,EAAE,GAAG;IACb,UAAU,EAAE,GAAG;IACf,iBAAiB;IACjB,UAAU,EAAE,KAAK;IACjB,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,GAAG;IACb,+BAA+B;IAC/B,GAAG,EAAE,GAAG;IACR,QAAQ,EAAE,GAAG;CACL,CAAC;AAEX,wCAAwC;AACxC,MAAM,CAAC,MAAM,EAAE,GAAG;IAChB,uDAAuD;IACvD,UAAU,EAAE,EAAE;IACd,uCAAuC;IACvC,SAAS,EAAE,CAAC;IACZ,qCAAqC;IACrC,SAAS,EAAE,CAAC;IACZ,gDAAgD;IAChD,UAAU,EAAE,CAAC;IACb,gDAAgD;IAChD,UAAU,EAAE,CAAC;IACb,uBAAuB;IACvB,MAAM,EAAE,CAAC;IACT,kCAAkC;IAClC,SAAS,EAAE,CAAC;CACJ,CAAC;AAEX,2BAA2B;AAC3B,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,gDAAgD;IAChD,OAAO,EAAE,EAAE,WAAW,EAAE,OAAgB,EAAE,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;IAClE,iDAAiD;IACjD,OAAO,EAAE,EAAE,WAAW,EAAE,OAAgB,EAAE,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;IAClE,kDAAkD;IAClD,OAAO,EAAE,EAAE,WAAW,EAAE,OAAgB,EAAE,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;IAClE,0DAA0D;IAC1D,MAAM,EAAE,EAAE,WAAW,EAAE,QAAiB,EAAE,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;CAC1D,CAAC"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../../src/tui/shared/tokens.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4CAA4C;AAC5C,EAAE;AACF,sEAAsE;AACtE,sCAAsC;AACtC,8EAA8E;AAE9E,mDAAmD;AACnD,MAAM,CAAC,MAAM,CAAC,GAAG;IACf,mEAAmE;IACnE,OAAO,EAAE,MAAM;IACf,4CAA4C;IAC5C,OAAO,EAAE,OAAO;IAChB,mDAAmD;IACnD,aAAa,EAAE,aAAa;IAC5B,kEAAkE;IAClE,OAAO,EAAE,QAAQ;IACjB,sCAAsC;IACtC,KAAK,EAAE,KAAK;IACZ,yCAAyC;IACzC,OAAO,EAAE,MAAM;IACf,wDAAwD;IACxD,MAAM,EAAE,SAAS;CACT,CAAC;AAEX,8BAA8B;AAC9B,MAAM,CAAC,MAAM,GAAG,GAAG;IACjB,0BAA0B;IAC1B,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,GAAG;IACb,sBAAsB;IACtB,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,GAAG;IACb,oBAAoB;IACpB,MAAM,EAAE,GAAG;IACX,WAAW,EAAE,GAAG;IAChB,gBAAgB;IAChB,QAAQ,EAAE,GAAG;IACb,UAAU,EAAE,GAAG;IACf,WAAW,EAAE,GAAG;IAChB,oBAAoB;IACpB,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,GAAG;IACb,oBAAoB;IACpB,QAAQ,EAAE,GAAG;IACb,UAAU,EAAE,GAAG;IACf,iBAAiB;IACjB,UAAU,EAAE,KAAK;IACjB,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE,GAAG;IACb,+BAA+B;IAC/B,GAAG,EAAE,GAAG;IACR,QAAQ,EAAE,GAAG;CACL,CAAC;AAEX,wCAAwC;AACxC,MAAM,CAAC,MAAM,EAAE,GAAG;IAChB,uDAAuD;IACvD,UAAU,EAAE,EAAE;IACd,uCAAuC;IACvC,SAAS,EAAE,CAAC;IACZ,qCAAqC;IACrC,SAAS,EAAE,CAAC;IACZ,gDAAgD;IAChD,UAAU,EAAE,CAAC;IACb,gDAAgD;IAChD,UAAU,EAAE,CAAC;IACb,uBAAuB;IACvB,MAAM,EAAE,CAAC;IACT,kCAAkC;IAClC,SAAS,EAAE,CAAC;CACJ,CAAC;AAEX,2BAA2B;AAC3B,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,gDAAgD;IAChD,OAAO,EAAE,EAAE,WAAW,EAAE,OAAgB,EAAE,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;IAClE,iDAAiD;IACjD,OAAO,EAAE,EAAE,WAAW,EAAE,OAAgB,EAAE,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;IAClE,kDAAkD;IAClD,OAAO,EAAE,EAAE,WAAW,EAAE,OAAgB,EAAE,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;IAClE,0DAA0D;IAC1D,MAAM,EAAE,EAAE,WAAW,EAAE,QAAiB,EAAE,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;CAC1D,CAAC"}
@@ -52,6 +52,15 @@ export interface SpecAnalyticsConfig {
52
52
  /** Retention in weeks for archived logs (default: 4) */
53
53
  retentionWeeks?: number;
54
54
  }
55
+ export type WorkspaceShareType = 'spec' | 'knowhow' | 'domain' | 'codebase';
56
+ export interface WorkspaceLink {
57
+ name: string;
58
+ path: string;
59
+ share: WorkspaceShareType[];
60
+ }
61
+ export interface WorkspaceConfig {
62
+ linked: WorkspaceLink[];
63
+ }
55
64
  export interface StatuslineConfig {
56
65
  style?: string;
57
66
  theme?: string;