claude-code-workflow 7.2.15 → 7.2.16

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 (526) hide show
  1. package/.ccw/workflows/cli-templates/schemas/team-tasks-schema.json +255 -0
  2. package/.codex/agents/team-supervisor.toml +39 -0
  3. package/.codex/agents/team-worker.toml +46 -0
  4. package/.codex/skills/team-arch-opt/SKILL.md +151 -698
  5. package/.codex/skills/team-arch-opt/roles/analyzer/role.md +78 -0
  6. package/.codex/skills/team-arch-opt/roles/coordinator/commands/analyze.md +57 -0
  7. package/.codex/skills/team-arch-opt/roles/coordinator/commands/dispatch.md +287 -0
  8. package/.codex/skills/team-arch-opt/roles/coordinator/commands/monitor.md +204 -0
  9. package/.codex/skills/team-arch-opt/roles/coordinator/role.md +162 -0
  10. package/.codex/skills/team-arch-opt/roles/designer/role.md +115 -0
  11. package/.codex/skills/team-arch-opt/roles/refactorer/role.md +102 -0
  12. package/.codex/skills/team-arch-opt/roles/reviewer/role.md +111 -0
  13. package/.codex/skills/team-arch-opt/roles/validator/role.md +115 -0
  14. package/.codex/skills/team-arch-opt/specs/pipelines.md +102 -0
  15. package/.codex/skills/team-arch-opt/specs/team-config.json +263 -0
  16. package/.codex/skills/team-brainstorm/SKILL.md +167 -724
  17. package/.codex/skills/team-brainstorm/roles/challenger/role.md +61 -0
  18. package/.codex/skills/team-brainstorm/roles/coordinator/commands/analyze.md +58 -0
  19. package/.codex/skills/team-brainstorm/roles/coordinator/commands/dispatch.md +162 -0
  20. package/.codex/skills/team-brainstorm/roles/coordinator/commands/monitor.md +171 -0
  21. package/.codex/skills/team-brainstorm/roles/coordinator/role.md +140 -0
  22. package/.codex/skills/team-brainstorm/roles/evaluator/role.md +56 -0
  23. package/.codex/skills/team-brainstorm/roles/ideator/role.md +69 -0
  24. package/.codex/skills/team-brainstorm/roles/synthesizer/role.md +57 -0
  25. package/.codex/skills/team-brainstorm/specs/pipelines.md +72 -0
  26. package/.codex/skills/team-brainstorm/specs/team-config.json +86 -0
  27. package/.codex/skills/team-coordinate/SKILL.md +267 -667
  28. package/.codex/skills/team-coordinate/roles/coordinator/commands/analyze-task.md +247 -0
  29. package/.codex/skills/team-coordinate/roles/coordinator/commands/dispatch.md +126 -0
  30. package/.codex/skills/team-coordinate/roles/coordinator/commands/monitor.md +327 -0
  31. package/.codex/skills/team-coordinate/roles/coordinator/role.md +361 -0
  32. package/.codex/skills/team-coordinate/specs/knowledge-transfer.md +111 -0
  33. package/.codex/skills/team-coordinate/specs/pipelines.md +97 -0
  34. package/.codex/skills/team-coordinate/specs/quality-gates.md +112 -0
  35. package/.codex/skills/team-coordinate/specs/role-spec-template.md +192 -0
  36. package/.codex/skills/team-designer/SKILL.md +153 -691
  37. package/.codex/skills/team-designer/phases/01-requirements-analysis.md +250 -0
  38. package/.codex/skills/team-designer/phases/02-scaffold-generation.md +228 -0
  39. package/.codex/skills/team-designer/phases/03-content-generation.md +330 -0
  40. package/.codex/skills/team-designer/phases/04-validation.md +320 -0
  41. package/.codex/skills/team-executor/SKILL.md +191 -515
  42. package/.codex/skills/team-executor/roles/executor/commands/monitor.md +280 -0
  43. package/.codex/skills/team-executor/roles/executor/role.md +170 -0
  44. package/.codex/skills/team-executor/specs/session-schema.md +264 -0
  45. package/.codex/skills/team-frontend/SKILL.md +129 -750
  46. package/.codex/skills/team-frontend/roles/analyst/role.md +92 -0
  47. package/.codex/skills/team-frontend/roles/architect/role.md +86 -0
  48. package/.codex/skills/team-frontend/roles/coordinator/commands/analyze.md +52 -0
  49. package/.codex/skills/team-frontend/roles/coordinator/commands/dispatch.md +151 -0
  50. package/.codex/skills/team-frontend/roles/coordinator/commands/monitor.md +188 -0
  51. package/.codex/skills/team-frontend/roles/coordinator/role.md +157 -0
  52. package/.codex/skills/team-frontend/roles/developer/role.md +93 -0
  53. package/.codex/skills/team-frontend/roles/qa/role.md +79 -0
  54. package/.codex/skills/team-frontend/specs/pipelines.md +76 -0
  55. package/.codex/skills/team-frontend/specs/team-config.json +84 -0
  56. package/.codex/skills/team-frontend-debug/SKILL.md +191 -821
  57. package/.codex/skills/team-frontend-debug/roles/analyzer/role.md +208 -0
  58. package/.codex/skills/team-frontend-debug/roles/coordinator/commands/analyze.md +174 -0
  59. package/.codex/skills/team-frontend-debug/roles/coordinator/commands/dispatch.md +198 -0
  60. package/.codex/skills/team-frontend-debug/roles/coordinator/commands/monitor.md +143 -0
  61. package/.codex/skills/team-frontend-debug/roles/coordinator/role.md +131 -0
  62. package/.codex/skills/team-frontend-debug/roles/fixer/role.md +147 -0
  63. package/.codex/skills/team-frontend-debug/roles/reproducer/role.md +147 -0
  64. package/.codex/skills/team-frontend-debug/roles/tester/role.md +231 -0
  65. package/.codex/skills/team-frontend-debug/roles/verifier/role.md +172 -0
  66. package/.codex/skills/team-frontend-debug/specs/debug-tools.md +215 -0
  67. package/.codex/skills/team-frontend-debug/specs/pipelines.md +94 -0
  68. package/.codex/skills/team-issue/SKILL.md +166 -751
  69. package/.codex/skills/team-issue/roles/coordinator/commands/analyze.md +64 -0
  70. package/.codex/skills/team-issue/roles/coordinator/commands/dispatch.md +273 -0
  71. package/.codex/skills/team-issue/roles/coordinator/commands/monitor.md +194 -0
  72. package/.codex/skills/team-issue/roles/coordinator/role.md +175 -0
  73. package/.codex/skills/team-issue/roles/explorer/role.md +94 -0
  74. package/.codex/skills/team-issue/roles/implementer/role.md +87 -0
  75. package/.codex/skills/team-issue/roles/integrator/role.md +84 -0
  76. package/.codex/skills/team-issue/roles/planner/role.md +81 -0
  77. package/.codex/skills/team-issue/roles/reviewer/role.md +86 -0
  78. package/.codex/skills/team-issue/specs/pipelines.md +124 -0
  79. package/.codex/skills/team-issue/specs/team-config.json +70 -0
  80. package/.codex/skills/team-iterdev/SKILL.md +134 -825
  81. package/.codex/skills/team-iterdev/roles/architect/role.md +65 -0
  82. package/.codex/skills/team-iterdev/roles/coordinator/commands/analyze.md +62 -0
  83. package/.codex/skills/team-iterdev/roles/coordinator/commands/dispatch.md +187 -0
  84. package/.codex/skills/team-iterdev/roles/coordinator/commands/monitor.md +186 -0
  85. package/.codex/skills/team-iterdev/roles/coordinator/role.md +161 -0
  86. package/.codex/skills/team-iterdev/roles/developer/role.md +74 -0
  87. package/.codex/skills/team-iterdev/roles/reviewer/role.md +66 -0
  88. package/.codex/skills/team-iterdev/roles/tester/role.md +88 -0
  89. package/.codex/skills/team-iterdev/specs/pipelines.md +94 -0
  90. package/.codex/skills/team-iterdev/specs/team-config.json +172 -0
  91. package/.codex/skills/team-lifecycle-v4/MIGRATION-PLAN.md +512 -0
  92. package/.codex/skills/team-lifecycle-v4/SKILL.md +166 -723
  93. package/.codex/skills/team-lifecycle-v4/roles/analyst/role.md +104 -0
  94. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/analyze.md +56 -0
  95. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/dispatch.md +61 -0
  96. package/.codex/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +177 -0
  97. package/.codex/skills/team-lifecycle-v4/roles/coordinator/role.md +152 -0
  98. package/.codex/skills/team-lifecycle-v4/roles/executor/commands/fix.md +35 -0
  99. package/.codex/skills/team-lifecycle-v4/roles/executor/commands/implement.md +63 -0
  100. package/.codex/skills/team-lifecycle-v4/roles/executor/role.md +89 -0
  101. package/.codex/skills/team-lifecycle-v4/roles/planner/role.md +108 -0
  102. package/.codex/skills/team-lifecycle-v4/roles/reviewer/commands/review-code.md +57 -0
  103. package/.codex/skills/team-lifecycle-v4/roles/reviewer/commands/review-spec.md +44 -0
  104. package/.codex/skills/team-lifecycle-v4/roles/reviewer/role.md +98 -0
  105. package/.codex/skills/team-lifecycle-v4/roles/supervisor/role.md +210 -0
  106. package/.codex/skills/team-lifecycle-v4/roles/tester/role.md +126 -0
  107. package/.codex/skills/team-lifecycle-v4/roles/writer/role.md +125 -0
  108. package/.codex/skills/team-lifecycle-v4/schemas/tasks-schema.md +82 -160
  109. package/.codex/skills/team-lifecycle-v4/specs/knowledge-transfer.md +136 -0
  110. package/.codex/skills/team-lifecycle-v4/specs/pipelines.md +125 -0
  111. package/.codex/skills/team-lifecycle-v4/specs/quality-gates.md +130 -0
  112. package/.codex/skills/team-perf-opt/SKILL.md +169 -697
  113. package/.codex/skills/team-perf-opt/roles/benchmarker/role.md +89 -0
  114. package/.codex/skills/team-perf-opt/roles/coordinator/commands/analyze.md +61 -0
  115. package/.codex/skills/team-perf-opt/roles/coordinator/commands/dispatch.md +262 -0
  116. package/.codex/skills/team-perf-opt/roles/coordinator/commands/monitor.md +320 -0
  117. package/.codex/skills/team-perf-opt/roles/coordinator/role.md +147 -0
  118. package/.codex/skills/team-perf-opt/roles/optimizer/role.md +97 -0
  119. package/.codex/skills/team-perf-opt/roles/profiler/role.md +73 -0
  120. package/.codex/skills/team-perf-opt/roles/reviewer/role.md +75 -0
  121. package/.codex/skills/team-perf-opt/roles/strategist/role.md +94 -0
  122. package/.codex/skills/team-perf-opt/specs/pipelines.md +65 -0
  123. package/.codex/skills/team-perf-opt/specs/team-config.json +246 -0
  124. package/.codex/skills/team-planex/SKILL.md +103 -477
  125. package/.codex/skills/team-planex/roles/coordinator/commands/analyze.md +52 -0
  126. package/.codex/skills/team-planex/roles/coordinator/commands/dispatch.md +80 -0
  127. package/.codex/skills/team-planex/roles/coordinator/commands/monitor.md +164 -0
  128. package/.codex/skills/team-planex/roles/coordinator/role.md +140 -0
  129. package/.codex/skills/team-planex/roles/executor/role.md +91 -0
  130. package/.codex/skills/team-planex/roles/planner/role.md +112 -0
  131. package/.codex/skills/team-planex/specs/pipelines.md +93 -0
  132. package/.codex/skills/team-quality-assurance/SKILL.md +148 -813
  133. package/.codex/skills/team-quality-assurance/roles/analyst/role.md +80 -0
  134. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/analyze.md +72 -0
  135. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/dispatch.md +108 -0
  136. package/.codex/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +209 -0
  137. package/.codex/skills/team-quality-assurance/roles/coordinator/role.md +143 -0
  138. package/.codex/skills/team-quality-assurance/roles/executor/role.md +66 -0
  139. package/.codex/skills/team-quality-assurance/roles/generator/role.md +68 -0
  140. package/.codex/skills/team-quality-assurance/roles/scout/role.md +67 -0
  141. package/.codex/skills/team-quality-assurance/roles/strategist/role.md +71 -0
  142. package/.codex/skills/team-quality-assurance/specs/pipelines.md +115 -0
  143. package/.codex/skills/team-quality-assurance/specs/team-config.json +131 -0
  144. package/.codex/skills/team-review/SKILL.md +148 -533
  145. package/.codex/skills/team-review/roles/coordinator/commands/analyze.md +71 -0
  146. package/.codex/skills/team-review/roles/coordinator/commands/dispatch.md +90 -0
  147. package/.codex/skills/team-review/roles/coordinator/commands/monitor.md +185 -0
  148. package/.codex/skills/team-review/roles/coordinator/role.md +142 -0
  149. package/.codex/skills/team-review/roles/fixer/role.md +76 -0
  150. package/.codex/skills/team-review/roles/reviewer/role.md +68 -0
  151. package/.codex/skills/team-review/roles/scanner/role.md +71 -0
  152. package/.codex/skills/team-review/specs/dimensions.md +82 -0
  153. package/.codex/skills/team-review/specs/finding-schema.json +82 -0
  154. package/.codex/skills/team-review/specs/pipelines.md +102 -0
  155. package/.codex/skills/team-review/specs/team-config.json +27 -0
  156. package/.codex/skills/team-roadmap-dev/SKILL.md +162 -683
  157. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/analyze.md +61 -0
  158. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/dispatch.md +241 -0
  159. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/monitor.md +468 -0
  160. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/pause.md +90 -0
  161. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/resume.md +137 -0
  162. package/.codex/skills/team-roadmap-dev/roles/coordinator/commands/roadmap-discuss.md +243 -0
  163. package/.codex/skills/team-roadmap-dev/roles/coordinator/role.md +303 -0
  164. package/.codex/skills/team-roadmap-dev/roles/executor/role.md +71 -0
  165. package/.codex/skills/team-roadmap-dev/roles/planner/role.md +76 -0
  166. package/.codex/skills/team-roadmap-dev/roles/verifier/role.md +74 -0
  167. package/.codex/skills/team-roadmap-dev/specs/pipelines.md +93 -0
  168. package/.codex/skills/team-roadmap-dev/specs/team-config.json +95 -0
  169. package/.codex/skills/team-tech-debt/SKILL.md +129 -708
  170. package/.codex/skills/team-tech-debt/roles/assessor/role.md +69 -0
  171. package/.codex/skills/team-tech-debt/roles/coordinator/commands/analyze.md +47 -0
  172. package/.codex/skills/team-tech-debt/roles/coordinator/commands/dispatch.md +163 -0
  173. package/.codex/skills/team-tech-debt/roles/coordinator/commands/monitor.md +231 -0
  174. package/.codex/skills/team-tech-debt/roles/coordinator/role.md +141 -0
  175. package/.codex/skills/team-tech-debt/roles/executor/role.md +76 -0
  176. package/.codex/skills/team-tech-debt/roles/planner/role.md +69 -0
  177. package/.codex/skills/team-tech-debt/roles/scanner/role.md +82 -0
  178. package/.codex/skills/team-tech-debt/roles/validator/role.md +75 -0
  179. package/.codex/skills/team-tech-debt/specs/pipelines.md +47 -0
  180. package/.codex/skills/team-tech-debt/specs/team-config.json +129 -0
  181. package/.codex/skills/team-testing/SKILL.md +144 -769
  182. package/.codex/skills/team-testing/roles/analyst/role.md +95 -0
  183. package/.codex/skills/team-testing/roles/coordinator/commands/analyze.md +70 -0
  184. package/.codex/skills/team-testing/roles/coordinator/commands/dispatch.md +106 -0
  185. package/.codex/skills/team-testing/roles/coordinator/commands/monitor.md +242 -0
  186. package/.codex/skills/team-testing/roles/coordinator/role.md +151 -0
  187. package/.codex/skills/team-testing/roles/executor/role.md +96 -0
  188. package/.codex/skills/team-testing/roles/generator/role.md +95 -0
  189. package/.codex/skills/team-testing/roles/strategist/role.md +83 -0
  190. package/.codex/skills/team-testing/specs/pipelines.md +101 -0
  191. package/.codex/skills/team-testing/specs/team-config.json +93 -0
  192. package/.codex/skills/team-uidesign/SKILL.md +133 -767
  193. package/.codex/skills/team-uidesign/roles/coordinator/commands/analyze.md +59 -0
  194. package/.codex/skills/team-uidesign/roles/coordinator/commands/dispatch.md +156 -0
  195. package/.codex/skills/team-uidesign/roles/coordinator/commands/monitor.md +194 -0
  196. package/.codex/skills/team-uidesign/roles/coordinator/role.md +179 -0
  197. package/.codex/skills/team-uidesign/roles/designer/role.md +69 -0
  198. package/.codex/skills/team-uidesign/roles/implementer/role.md +72 -0
  199. package/.codex/skills/team-uidesign/roles/researcher/role.md +82 -0
  200. package/.codex/skills/team-uidesign/roles/reviewer/role.md +67 -0
  201. package/.codex/skills/team-uidesign/specs/pipelines.md +76 -0
  202. package/.codex/skills/team-uidesign/specs/team-config.json +107 -0
  203. package/.codex/skills/team-ultra-analyze/SKILL.md +166 -786
  204. package/.codex/skills/team-ultra-analyze/roles/analyst/role.md +90 -0
  205. package/.codex/skills/team-ultra-analyze/roles/coordinator/commands/analyze.md +73 -0
  206. package/.codex/skills/team-ultra-analyze/roles/coordinator/commands/dispatch.md +225 -0
  207. package/.codex/skills/team-ultra-analyze/roles/coordinator/commands/monitor.md +327 -0
  208. package/.codex/skills/team-ultra-analyze/roles/coordinator/role.md +223 -0
  209. package/.codex/skills/team-ultra-analyze/roles/discussant/role.md +104 -0
  210. package/.codex/skills/team-ultra-analyze/roles/explorer/role.md +74 -0
  211. package/.codex/skills/team-ultra-analyze/roles/synthesizer/role.md +78 -0
  212. package/.codex/skills/team-ultra-analyze/specs/pipelines.md +64 -0
  213. package/.codex/skills/team-ultra-analyze/specs/team-config.json +129 -0
  214. package/.codex/skills/team-ux-improve/SKILL.md +142 -638
  215. package/.codex/skills/team-ux-improve/roles/coordinator/commands/analyze.md +62 -0
  216. package/.codex/skills/team-ux-improve/roles/coordinator/commands/dispatch.md +233 -0
  217. package/.codex/skills/team-ux-improve/roles/coordinator/commands/monitor.md +160 -0
  218. package/.codex/skills/team-ux-improve/roles/coordinator/role.md +138 -0
  219. package/.codex/skills/team-ux-improve/roles/designer/role.md +122 -0
  220. package/.codex/skills/team-ux-improve/roles/diagnoser/role.md +93 -0
  221. package/.codex/skills/team-ux-improve/roles/explorer/role.md +77 -0
  222. package/.codex/skills/team-ux-improve/roles/implementer/role.md +102 -0
  223. package/.codex/skills/team-ux-improve/roles/scanner/role.md +93 -0
  224. package/.codex/skills/team-ux-improve/roles/tester/role.md +84 -0
  225. package/.codex/skills/team-ux-improve/specs/pipelines.md +54 -0
  226. package/.codex/skills/team-ux-improve/specs/team-config.json +181 -0
  227. package/.codex/skills/team-ux-improve/wisdom/anti-patterns/common-ux-pitfalls.md +17 -0
  228. package/.codex/skills/team-ux-improve/wisdom/contributions/.gitkeep +0 -0
  229. package/.codex/skills/team-ux-improve/wisdom/patterns/state-management.md +14 -0
  230. package/.codex/skills/team-ux-improve/wisdom/patterns/ui-feedback.md +16 -0
  231. package/.codex/skills/team-ux-improve/wisdom/principles/general-ux.md +16 -0
  232. package/ccw/dist/core/routes/cli-settings-routes.d.ts.map +1 -1
  233. package/ccw/dist/core/routes/cli-settings-routes.js +135 -133
  234. package/ccw/dist/core/routes/cli-settings-routes.js.map +1 -1
  235. package/ccw/frontend/dist/assets/{AlertDialog-BW9jiZ-p.js → AlertDialog-CnpjWAGm.js} +2 -2
  236. package/ccw/frontend/dist/assets/{AlertDialog-BW9jiZ-p.js.map → AlertDialog-CnpjWAGm.js.map} +1 -1
  237. package/ccw/frontend/dist/assets/{AnalysisPage-ds-w_nVO.js → AnalysisPage-BT2rDDUD.js} +2 -2
  238. package/ccw/frontend/dist/assets/{AnalysisPage-ds-w_nVO.js.map → AnalysisPage-BT2rDDUD.js.map} +1 -1
  239. package/ccw/frontend/dist/assets/{ApiSettingsPage-DlCbXxTz.js → ApiSettingsPage-DGpjiNVu.js} +2 -2
  240. package/ccw/frontend/dist/assets/{ApiSettingsPage-DlCbXxTz.js.map → ApiSettingsPage-DGpjiNVu.js.map} +1 -1
  241. package/ccw/frontend/dist/assets/{CliModeToggle-Dq3nL4fF.js → CliModeToggle-BqUadHn3.js} +2 -2
  242. package/ccw/frontend/dist/assets/{CliModeToggle-Dq3nL4fF.js.map → CliModeToggle-BqUadHn3.js.map} +1 -1
  243. package/ccw/frontend/dist/assets/{CliSessionSharePage-BNDkEE4u.js → CliSessionSharePage-C3AdsDkm.js} +2 -2
  244. package/ccw/frontend/dist/assets/{CliSessionSharePage-BNDkEE4u.js.map → CliSessionSharePage-C3AdsDkm.js.map} +1 -1
  245. package/ccw/frontend/dist/assets/{CliViewerPage-ChM-uNx_.js → CliViewerPage-BZXpgY0N.js} +2 -2
  246. package/ccw/frontend/dist/assets/{CliViewerPage-ChM-uNx_.js.map → CliViewerPage-BZXpgY0N.js.map} +1 -1
  247. package/ccw/frontend/dist/assets/{CodexLensPage-DOcsYNQk.js → CodexLensPage-CePoJz-u.js} +2 -2
  248. package/ccw/frontend/dist/assets/{CodexLensPage-DOcsYNQk.js.map → CodexLensPage-CePoJz-u.js.map} +1 -1
  249. package/ccw/frontend/dist/assets/{Collapsible-CRNbykXN.js → Collapsible-DXVzWwmb.js} +2 -2
  250. package/ccw/frontend/dist/assets/{Collapsible-CRNbykXN.js.map → Collapsible-DXVzWwmb.js.map} +1 -1
  251. package/ccw/frontend/dist/assets/{CommandsManagerPage-C2JWcemF.js → CommandsManagerPage-B6wJYF0z.js} +2 -2
  252. package/ccw/frontend/dist/assets/{CommandsManagerPage-C2JWcemF.js.map → CommandsManagerPage-B6wJYF0z.js.map} +1 -1
  253. package/ccw/frontend/dist/assets/{DeepWikiPage-CvleOtJy.js → DeepWikiPage-D55fcvSk.js} +2 -2
  254. package/ccw/frontend/dist/assets/{DeepWikiPage-CvleOtJy.js.map → DeepWikiPage-D55fcvSk.js.map} +1 -1
  255. package/ccw/frontend/dist/assets/{EndpointsPage-CMOWQG64.js → EndpointsPage-DcGziJ5t.js} +2 -2
  256. package/ccw/frontend/dist/assets/{EndpointsPage-CMOWQG64.js.map → EndpointsPage-DcGziJ5t.js.map} +1 -1
  257. package/ccw/frontend/dist/assets/{ExplorerPage-DaFPRlNo.js → ExplorerPage-C4eKzn7F.js} +2 -2
  258. package/ccw/frontend/dist/assets/{ExplorerPage-DaFPRlNo.js.map → ExplorerPage-C4eKzn7F.js.map} +1 -1
  259. package/ccw/frontend/dist/assets/{FixSessionPage-CC4p04Az.js → FixSessionPage-BUHh954A.js} +2 -2
  260. package/ccw/frontend/dist/assets/{FixSessionPage-CC4p04Az.js.map → FixSessionPage-BUHh954A.js.map} +1 -1
  261. package/ccw/frontend/dist/assets/{FloatingFileBrowser-DROn1xZ5.js → FloatingFileBrowser-C3GF_u1C.js} +2 -2
  262. package/ccw/frontend/dist/assets/{FloatingFileBrowser-DROn1xZ5.js.map → FloatingFileBrowser-C3GF_u1C.js.map} +1 -1
  263. package/ccw/frontend/dist/assets/{FloatingPanel-CmL_yhDv.js → FloatingPanel-Cn-q9PyJ.js} +2 -2
  264. package/ccw/frontend/dist/assets/{FloatingPanel-CmL_yhDv.js.map → FloatingPanel-Cn-q9PyJ.js.map} +1 -1
  265. package/ccw/frontend/dist/assets/{GraphExplorerPage-DCV5ybKE.js → GraphExplorerPage-DIpqgvoU.js} +2 -2
  266. package/ccw/frontend/dist/assets/{GraphExplorerPage-DCV5ybKE.js.map → GraphExplorerPage-DIpqgvoU.js.map} +1 -1
  267. package/ccw/frontend/dist/assets/{HistoryPage-D0fYQZgc.js → HistoryPage-DzSvEAFe.js} +2 -2
  268. package/ccw/frontend/dist/assets/{HistoryPage-D0fYQZgc.js.map → HistoryPage-DzSvEAFe.js.map} +1 -1
  269. package/ccw/frontend/dist/assets/{HookManagerPage-D2FuJfsM.js → HookManagerPage-C6LDhWrH.js} +2 -2
  270. package/ccw/frontend/dist/assets/{HookManagerPage-D2FuJfsM.js.map → HookManagerPage-C6LDhWrH.js.map} +1 -1
  271. package/ccw/frontend/dist/assets/{InstallationsPage-tjklillZ.js → InstallationsPage-D9ct9xFV.js} +2 -2
  272. package/ccw/frontend/dist/assets/{InstallationsPage-tjklillZ.js.map → InstallationsPage-D9ct9xFV.js.map} +1 -1
  273. package/ccw/frontend/dist/assets/{IssueHubPage-E4JVrhO1.js → IssueHubPage-CXgDC8pS.js} +2 -2
  274. package/ccw/frontend/dist/assets/{IssueHubPage-E4JVrhO1.js.map → IssueHubPage-CXgDC8pS.js.map} +1 -1
  275. package/ccw/frontend/dist/assets/{LiteTasksPage-aJuRoyLt.js → LiteTasksPage-DMkauCwG.js} +2 -2
  276. package/ccw/frontend/dist/assets/{LiteTasksPage-aJuRoyLt.js.map → LiteTasksPage-DMkauCwG.js.map} +1 -1
  277. package/ccw/frontend/dist/assets/{McpManagerPage-BJeuWJv1.js → McpManagerPage-DhLDydgc.js} +2 -2
  278. package/ccw/frontend/dist/assets/{McpManagerPage-BJeuWJv1.js.map → McpManagerPage-DhLDydgc.js.map} +1 -1
  279. package/ccw/frontend/dist/assets/{MemoryPage-BI4FAXhs.js → MemoryPage-Be3nhq40.js} +2 -2
  280. package/ccw/frontend/dist/assets/{MemoryPage-BI4FAXhs.js.map → MemoryPage-Be3nhq40.js.map} +1 -1
  281. package/ccw/frontend/dist/assets/{NotFoundPage-DD2svchp.js → NotFoundPage-0yGnCePd.js} +2 -2
  282. package/ccw/frontend/dist/assets/{NotFoundPage-DD2svchp.js.map → NotFoundPage-0yGnCePd.js.map} +1 -1
  283. package/ccw/frontend/dist/assets/{OrchestratorPage-FC__7yYa.js → OrchestratorPage-_SmXZcGl.js} +2 -2
  284. package/ccw/frontend/dist/assets/{OrchestratorPage-FC__7yYa.js.map → OrchestratorPage-_SmXZcGl.js.map} +1 -1
  285. package/ccw/frontend/dist/assets/{ProjectOverviewPage-DBB_-FzV.js → ProjectOverviewPage-BeXTMsdo.js} +2 -2
  286. package/ccw/frontend/dist/assets/{ProjectOverviewPage-DBB_-FzV.js.map → ProjectOverviewPage-BeXTMsdo.js.map} +1 -1
  287. package/ccw/frontend/dist/assets/{PromptHistoryPage-BwOAvCH8.js → PromptHistoryPage-DS6ycuAv.js} +2 -2
  288. package/ccw/frontend/dist/assets/{PromptHistoryPage-BwOAvCH8.js.map → PromptHistoryPage-DS6ycuAv.js.map} +1 -1
  289. package/ccw/frontend/dist/assets/{ReviewSessionPage-Dd1-g_gp.js → ReviewSessionPage-BoqyjhPo.js} +2 -2
  290. package/ccw/frontend/dist/assets/{ReviewSessionPage-Dd1-g_gp.js.map → ReviewSessionPage-BoqyjhPo.js.map} +1 -1
  291. package/ccw/frontend/dist/assets/{RulesManagerPage-B3RGdsKD.js → RulesManagerPage-DMAwkKlc.js} +2 -2
  292. package/ccw/frontend/dist/assets/{RulesManagerPage-B3RGdsKD.js.map → RulesManagerPage-DMAwkKlc.js.map} +1 -1
  293. package/ccw/frontend/dist/assets/{SessionDetailPage-DM-W5R8K.js → SessionDetailPage-BgJRHIF4.js} +2 -2
  294. package/ccw/frontend/dist/assets/{SessionDetailPage-DM-W5R8K.js.map → SessionDetailPage-BgJRHIF4.js.map} +1 -1
  295. package/ccw/frontend/dist/assets/{SessionsPage-BVz1KCc7.js → SessionsPage-DBPdWlji.js} +2 -2
  296. package/ccw/frontend/dist/assets/{SessionsPage-BVz1KCc7.js.map → SessionsPage-DBPdWlji.js.map} +1 -1
  297. package/ccw/frontend/dist/assets/{SettingsPage-ComW7EZS.js → SettingsPage-BY3QiJhm.js} +4 -4
  298. package/ccw/frontend/dist/assets/{SettingsPage-ComW7EZS.js.map → SettingsPage-BY3QiJhm.js.map} +1 -1
  299. package/ccw/frontend/dist/assets/{SkillsManagerPage-CKom9XwV.js → SkillsManagerPage-DS101Adm.js} +2 -2
  300. package/ccw/frontend/dist/assets/{SkillsManagerPage-CKom9XwV.js.map → SkillsManagerPage-DS101Adm.js.map} +1 -1
  301. package/ccw/frontend/dist/assets/{SpecsSettingsPage-DQz7WP2s.js → SpecsSettingsPage-BcsLu1qq.js} +2 -2
  302. package/ccw/frontend/dist/assets/{SpecsSettingsPage-DQz7WP2s.js.map → SpecsSettingsPage-BcsLu1qq.js.map} +1 -1
  303. package/ccw/frontend/dist/assets/{Switch-BPMdND9H.js → Switch-BL9AmNPC.js} +2 -2
  304. package/ccw/frontend/dist/assets/{Switch-BPMdND9H.js.map → Switch-BL9AmNPC.js.map} +1 -1
  305. package/ccw/frontend/dist/assets/{TabsNavigation-qqt70VYL.js → TabsNavigation-BUcjsLeE.js} +2 -2
  306. package/ccw/frontend/dist/assets/{TabsNavigation-qqt70VYL.js.map → TabsNavigation-BUcjsLeE.js.map} +1 -1
  307. package/ccw/frontend/dist/assets/{TaskDrawer-BqK_qiHX.js → TaskDrawer-BNvfS6dq.js} +2 -2
  308. package/ccw/frontend/dist/assets/{TaskDrawer-BqK_qiHX.js.map → TaskDrawer-BNvfS6dq.js.map} +1 -1
  309. package/ccw/frontend/dist/assets/{TeamPage-u5_i0Rgh.js → TeamPage-CT-zNCrF.js} +2 -2
  310. package/ccw/frontend/dist/assets/{TeamPage-u5_i0Rgh.js.map → TeamPage-CT-zNCrF.js.map} +1 -1
  311. package/ccw/frontend/dist/assets/{TerminalDashboardPage-rUtC9e40.js → TerminalDashboardPage-DfZFGs8g.js} +2 -2
  312. package/ccw/frontend/dist/assets/{TerminalDashboardPage-rUtC9e40.js.map → TerminalDashboardPage-DfZFGs8g.js.map} +1 -1
  313. package/ccw/frontend/dist/assets/{archive-C3u8YNQF.js → archive-Cev1SaQq.js} +2 -2
  314. package/ccw/frontend/dist/assets/{archive-C3u8YNQF.js.map → archive-Cev1SaQq.js.map} +1 -1
  315. package/ccw/frontend/dist/assets/{archive-restore-DfQ998g5.js → archive-restore-BIVluaHZ.js} +2 -2
  316. package/ccw/frontend/dist/assets/{archive-restore-DfQ998g5.js.map → archive-restore-BIVluaHZ.js.map} +1 -1
  317. package/ccw/frontend/dist/assets/{arrow-right-BshJM9Po.js → arrow-right-DrivbS5j.js} +2 -2
  318. package/ccw/frontend/dist/assets/{arrow-right-BshJM9Po.js.map → arrow-right-DrivbS5j.js.map} +1 -1
  319. package/ccw/frontend/dist/assets/{bookmark-plus-D03qJyOZ.js → bookmark-plus-DKyzL0Xg.js} +2 -2
  320. package/ccw/frontend/dist/assets/{bookmark-plus-D03qJyOZ.js.map → bookmark-plus-DKyzL0Xg.js.map} +1 -1
  321. package/ccw/frontend/dist/assets/{bot-CyzWuwq0.js → bot-GBUkPAe3.js} +2 -2
  322. package/ccw/frontend/dist/assets/{bot-CyzWuwq0.js.map → bot-GBUkPAe3.js.map} +1 -1
  323. package/ccw/frontend/dist/assets/{braces-BPgtyjsG.js → braces-BWhm2c4g.js} +2 -2
  324. package/ccw/frontend/dist/assets/{braces-BPgtyjsG.js.map → braces-BWhm2c4g.js.map} +1 -1
  325. package/ccw/frontend/dist/assets/{circle-stop-Dix1AOmw.js → circle-stop-CBcZSKNp.js} +2 -2
  326. package/ccw/frontend/dist/assets/{circle-stop-Dix1AOmw.js.map → circle-stop-CBcZSKNp.js.map} +1 -1
  327. package/ccw/frontend/dist/assets/{cpu-CCQ4Q0Zh.js → cpu-CzNmuTZD.js} +2 -2
  328. package/ccw/frontend/dist/assets/{cpu-CCQ4Q0Zh.js.map → cpu-CzNmuTZD.js.map} +1 -1
  329. package/ccw/frontend/dist/assets/{ellipsis-vertical-BpTysg-Y.js → ellipsis-vertical-BoIyQKaI.js} +2 -2
  330. package/ccw/frontend/dist/assets/{ellipsis-vertical-BpTysg-Y.js.map → ellipsis-vertical-BoIyQKaI.js.map} +1 -1
  331. package/ccw/frontend/dist/assets/{eye-DGY1rAZs.js → eye-BqxyhxQq.js} +2 -2
  332. package/ccw/frontend/dist/assets/{eye-DGY1rAZs.js.map → eye-BqxyhxQq.js.map} +1 -1
  333. package/ccw/frontend/dist/assets/{eye-off-D8t3JfWG.js → eye-off-D9dTZP1A.js} +2 -2
  334. package/ccw/frontend/dist/assets/{eye-off-D8t3JfWG.js.map → eye-off-D9dTZP1A.js.map} +1 -1
  335. package/ccw/frontend/dist/assets/{file-json-BAdJb0n8.js → file-json-CLYEUI6e.js} +2 -2
  336. package/ccw/frontend/dist/assets/{file-json-BAdJb0n8.js.map → file-json-CLYEUI6e.js.map} +1 -1
  337. package/ccw/frontend/dist/assets/{file-text-DrJFiOUB.js → file-text-D5j9C5XC.js} +2 -2
  338. package/ccw/frontend/dist/assets/{file-text-DrJFiOUB.js.map → file-text-D5j9C5XC.js.map} +1 -1
  339. package/ccw/frontend/dist/assets/{filter-CKqzYbz7.js → filter-CEUK5jsA.js} +2 -2
  340. package/ccw/frontend/dist/assets/{filter-CKqzYbz7.js.map → filter-CEUK5jsA.js.map} +1 -1
  341. package/ccw/frontend/dist/assets/{folder-CV8511y9.js → folder-BEOY8txM.js} +2 -2
  342. package/ccw/frontend/dist/assets/{folder-CV8511y9.js.map → folder-BEOY8txM.js.map} +1 -1
  343. package/ccw/frontend/dist/assets/{gauge-XKvmu_uU.js → gauge-CbumHmVn.js} +2 -2
  344. package/ccw/frontend/dist/assets/{gauge-XKvmu_uU.js.map → gauge-CbumHmVn.js.map} +1 -1
  345. package/ccw/frontend/dist/assets/{globe-C56cDUzX.js → globe-D8_IB9gV.js} +2 -2
  346. package/ccw/frontend/dist/assets/{globe-C56cDUzX.js.map → globe-D8_IB9gV.js.map} +1 -1
  347. package/ccw/frontend/dist/assets/{grid-3x3-Bya-suFW.js → grid-3x3-BpzWmYF5.js} +2 -2
  348. package/ccw/frontend/dist/assets/{grid-3x3-Bya-suFW.js.map → grid-3x3-BpzWmYF5.js.map} +1 -1
  349. package/ccw/frontend/dist/assets/{hard-drive-CmuTZpsB.js → hard-drive-QIHpGln7.js} +2 -2
  350. package/ccw/frontend/dist/assets/{hard-drive-CmuTZpsB.js.map → hard-drive-QIHpGln7.js.map} +1 -1
  351. package/ccw/frontend/dist/assets/{hash-CRPT_tJQ.js → hash-CP0YRHVs.js} +2 -2
  352. package/ccw/frontend/dist/assets/{hash-CRPT_tJQ.js.map → hash-CP0YRHVs.js.map} +1 -1
  353. package/ccw/frontend/dist/assets/{history-C1pJZQCL.js → history-hOjgVKax.js} +2 -2
  354. package/ccw/frontend/dist/assets/{history-C1pJZQCL.js.map → history-hOjgVKax.js.map} +1 -1
  355. package/ccw/frontend/dist/assets/{index-Dmt9OiEf.js → index-B_ysvdnP.js} +2 -2
  356. package/ccw/frontend/dist/assets/{index-Dmt9OiEf.js.map → index-B_ysvdnP.js.map} +1 -1
  357. package/ccw/frontend/dist/assets/{index-dWT2M6Ef.js → index-C5Oqx2xI.js} +3 -3
  358. package/ccw/frontend/dist/assets/{index-dWT2M6Ef.js.map → index-C5Oqx2xI.js.map} +1 -1
  359. package/ccw/frontend/dist/assets/{index-CI8-rBff.js → index-CJi0bWL-.js} +2 -2
  360. package/ccw/frontend/dist/assets/{index-CI8-rBff.js.map → index-CJi0bWL-.js.map} +1 -1
  361. package/ccw/frontend/dist/assets/{index-anSMmEF8.js → index-CdQpo1x0.js} +2 -2
  362. package/ccw/frontend/dist/assets/{index-anSMmEF8.js.map → index-CdQpo1x0.js.map} +1 -1
  363. package/ccw/frontend/dist/assets/{layout-grid-TSO0BFQE.js → layout-grid-C38fQyLs.js} +2 -2
  364. package/ccw/frontend/dist/assets/{layout-grid-TSO0BFQE.js.map → layout-grid-C38fQyLs.js.map} +1 -1
  365. package/ccw/frontend/dist/assets/{lightbulb-Caj6fIQD.js → lightbulb-CClbCUzu.js} +2 -2
  366. package/ccw/frontend/dist/assets/{lightbulb-Caj6fIQD.js.map → lightbulb-CClbCUzu.js.map} +1 -1
  367. package/ccw/frontend/dist/assets/{link-2-DE9lMxa-.js → link-2-CB-LKbI0.js} +2 -2
  368. package/ccw/frontend/dist/assets/{link-2-DE9lMxa-.js.map → link-2-CB-LKbI0.js.map} +1 -1
  369. package/ccw/frontend/dist/assets/{link-BZtPgLW0.js → link-BK6SBzHS.js} +2 -2
  370. package/ccw/frontend/dist/assets/{link-BZtPgLW0.js.map → link-BK6SBzHS.js.map} +1 -1
  371. package/ccw/frontend/dist/assets/{list-DubWyY-U.js → list-BME_WOA_.js} +2 -2
  372. package/ccw/frontend/dist/assets/{list-DubWyY-U.js.map → list-BME_WOA_.js.map} +1 -1
  373. package/ccw/frontend/dist/assets/{map-pin-DwN_48AF.js → map-pin-ADsnCyjJ.js} +2 -2
  374. package/ccw/frontend/dist/assets/{map-pin-DwN_48AF.js.map → map-pin-ADsnCyjJ.js.map} +1 -1
  375. package/ccw/frontend/dist/assets/{messages-square-bjxvaiM9.js → messages-square-CLflB1Cq.js} +2 -2
  376. package/ccw/frontend/dist/assets/{messages-square-bjxvaiM9.js.map → messages-square-CLflB1Cq.js.map} +1 -1
  377. package/ccw/frontend/dist/assets/{minimize-2-CGfBKD_V.js → minimize-2-B3ZNzfGr.js} +2 -2
  378. package/ccw/frontend/dist/assets/{minimize-2-CGfBKD_V.js.map → minimize-2-B3ZNzfGr.js.map} +1 -1
  379. package/ccw/frontend/dist/assets/{package-nzWY6ilt.js → package-CByPhtMG.js} +2 -2
  380. package/ccw/frontend/dist/assets/{package-nzWY6ilt.js.map → package-CByPhtMG.js.map} +1 -1
  381. package/ccw/frontend/dist/assets/{plug-CiLce49C.js → plug-BggRzPX9.js} +2 -2
  382. package/ccw/frontend/dist/assets/{plug-CiLce49C.js.map → plug-BggRzPX9.js.map} +1 -1
  383. package/ccw/frontend/dist/assets/{power-CFLmB-U9.js → power-CWuxQSJK.js} +2 -2
  384. package/ccw/frontend/dist/assets/{power-CFLmB-U9.js.map → power-CWuxQSJK.js.map} +1 -1
  385. package/ccw/frontend/dist/assets/{save-DuO6OF0C.js → save-BdJ6EX4Q.js} +2 -2
  386. package/ccw/frontend/dist/assets/{save-DuO6OF0C.js.map → save-BdJ6EX4Q.js.map} +1 -1
  387. package/ccw/frontend/dist/assets/{send-CZk9p0mM.js → send-Ce9wuY7Q.js} +2 -2
  388. package/ccw/frontend/dist/assets/{send-CZk9p0mM.js.map → send-Ce9wuY7Q.js.map} +1 -1
  389. package/ccw/frontend/dist/assets/{square-check-big-BY_1YQQg.js → square-check-big-D6jItkfw.js} +2 -2
  390. package/ccw/frontend/dist/assets/{square-check-big-BY_1YQQg.js.map → square-check-big-D6jItkfw.js.map} +1 -1
  391. package/ccw/frontend/dist/assets/{square-pen-CnZgm6g-.js → square-pen-Byxq21zp.js} +2 -2
  392. package/ccw/frontend/dist/assets/{square-pen-CnZgm6g-.js.map → square-pen-Byxq21zp.js.map} +1 -1
  393. package/ccw/frontend/dist/assets/{star-Cn1F0qy7.js → star-Codj9dvK.js} +2 -2
  394. package/ccw/frontend/dist/assets/{star-Cn1F0qy7.js.map → star-Codj9dvK.js.map} +1 -1
  395. package/ccw/frontend/dist/assets/{style-Dxs1iXCV.js → style-4bYpUGcc.js} +2 -2
  396. package/ccw/frontend/dist/assets/{style-Dxs1iXCV.js.map → style-4bYpUGcc.js.map} +1 -1
  397. package/ccw/frontend/dist/assets/{target-Bz1fLRKH.js → target-DKBoDNCn.js} +2 -2
  398. package/ccw/frontend/dist/assets/{target-Bz1fLRKH.js.map → target-DKBoDNCn.js.map} +1 -1
  399. package/ccw/frontend/dist/assets/{test-tube-C6qCYlDr.js → test-tube-DTqZcBtA.js} +2 -2
  400. package/ccw/frontend/dist/assets/{test-tube-C6qCYlDr.js.map → test-tube-DTqZcBtA.js.map} +1 -1
  401. package/ccw/frontend/dist/assets/{upload-C71kd4Qs.js → upload-DlUl-e6b.js} +2 -2
  402. package/ccw/frontend/dist/assets/{upload-C71kd4Qs.js.map → upload-DlUl-e6b.js.map} +1 -1
  403. package/ccw/frontend/dist/assets/{useApiSettings-CqP2BAJ7.js → useApiSettings-D4zhKKT-.js} +2 -2
  404. package/ccw/frontend/dist/assets/{useApiSettings-CqP2BAJ7.js.map → useApiSettings-D4zhKKT-.js.map} +1 -1
  405. package/ccw/frontend/dist/assets/{useCli-PCoPoVeM.js → useCli-D-qDwsAH.js} +2 -2
  406. package/ccw/frontend/dist/assets/{useCli-PCoPoVeM.js.map → useCli-D-qDwsAH.js.map} +1 -1
  407. package/ccw/frontend/dist/assets/{useCommands-3OfPQPw4.js → useCommands-B0sidbbW.js} +2 -2
  408. package/ccw/frontend/dist/assets/{useCommands-3OfPQPw4.js.map → useCommands-B0sidbbW.js.map} +1 -1
  409. package/ccw/frontend/dist/assets/{useDebounce-bXiFhQx9.js → useDebounce-eTtbKevt.js} +2 -2
  410. package/ccw/frontend/dist/assets/{useDebounce-bXiFhQx9.js.map → useDebounce-eTtbKevt.js.map} +1 -1
  411. package/ccw/frontend/dist/assets/{useFileExplorer-DEyUm46_.js → useFileExplorer-MGSK0h33.js} +2 -2
  412. package/ccw/frontend/dist/assets/{useFileExplorer-DEyUm46_.js.map → useFileExplorer-MGSK0h33.js.map} +1 -1
  413. package/ccw/frontend/dist/assets/{useLocale-sXTrdxcJ.js → useLocale-DDNxU7pJ.js} +2 -2
  414. package/ccw/frontend/dist/assets/{useLocale-sXTrdxcJ.js.map → useLocale-DDNxU7pJ.js.map} +1 -1
  415. package/ccw/frontend/dist/assets/{useSkills-D0W0kXYm.js → useSkills-CZCRBtMY.js} +3 -3
  416. package/ccw/frontend/dist/assets/{useSkills-D0W0kXYm.js.map → useSkills-CZCRBtMY.js.map} +1 -1
  417. package/ccw/frontend/dist/assets/{useSystemSettings-DZ-8lZsG.js → useSystemSettings-DfQEFXSD.js} +2 -2
  418. package/ccw/frontend/dist/assets/{useSystemSettings-DZ-8lZsG.js.map → useSystemSettings-DfQEFXSD.js.map} +1 -1
  419. package/ccw/frontend/dist/assets/{wand-sparkles-83GmAYuw.js → wand-sparkles-DCLvfgl1.js} +2 -2
  420. package/ccw/frontend/dist/assets/{wand-sparkles-83GmAYuw.js.map → wand-sparkles-DCLvfgl1.js.map} +1 -1
  421. package/ccw/frontend/dist/index.html +1 -1
  422. package/package.json +1 -1
  423. package/.codex/skills/team-arch-opt/agents/completion-handler.md +0 -138
  424. package/.codex/skills/team-arch-opt/agents/fix-cycle-handler.md +0 -146
  425. package/.codex/skills/team-arch-opt/agents/plan-reviewer.md +0 -150
  426. package/.codex/skills/team-arch-opt/instructions/agent-instruction.md +0 -114
  427. package/.codex/skills/team-arch-opt/schemas/tasks-schema.md +0 -174
  428. package/.codex/skills/team-brainstorm/agents/gc-controller.md +0 -122
  429. package/.codex/skills/team-brainstorm/agents/topic-clarifier.md +0 -126
  430. package/.codex/skills/team-brainstorm/instructions/agent-instruction.md +0 -105
  431. package/.codex/skills/team-brainstorm/schemas/tasks-schema.md +0 -171
  432. package/.codex/skills/team-coordinate/agents/completion-handler.md +0 -127
  433. package/.codex/skills/team-coordinate/agents/plan-reviewer.md +0 -145
  434. package/.codex/skills/team-coordinate/instructions/agent-instruction.md +0 -184
  435. package/.codex/skills/team-coordinate/schemas/tasks-schema.md +0 -165
  436. package/.codex/skills/team-designer/agents/requirement-clarifier.md +0 -247
  437. package/.codex/skills/team-designer/agents/validation-reporter.md +0 -186
  438. package/.codex/skills/team-designer/instructions/agent-instruction.md +0 -163
  439. package/.codex/skills/team-designer/schemas/tasks-schema.md +0 -180
  440. package/.codex/skills/team-executor/instructions/agent-instruction.md +0 -62
  441. package/.codex/skills/team-executor/schemas/tasks-schema.md +0 -141
  442. package/.codex/skills/team-frontend/agents/completion-handler.md +0 -131
  443. package/.codex/skills/team-frontend/agents/qa-gate-reviewer.md +0 -153
  444. package/.codex/skills/team-frontend/instructions/agent-instruction.md +0 -197
  445. package/.codex/skills/team-frontend/schemas/tasks-schema.md +0 -188
  446. package/.codex/skills/team-frontend-debug/agents/completion-handler.md +0 -142
  447. package/.codex/skills/team-frontend-debug/agents/conditional-skip-gate.md +0 -130
  448. package/.codex/skills/team-frontend-debug/agents/iteration-handler.md +0 -120
  449. package/.codex/skills/team-frontend-debug/instructions/agent-instruction.md +0 -272
  450. package/.codex/skills/team-frontend-debug/schemas/tasks-schema.md +0 -198
  451. package/.codex/skills/team-issue/agents/reviewer.md +0 -204
  452. package/.codex/skills/team-issue/instructions/agent-instruction.md +0 -198
  453. package/.codex/skills/team-issue/schemas/tasks-schema.md +0 -198
  454. package/.codex/skills/team-iterdev/agents/gc-controller.md +0 -193
  455. package/.codex/skills/team-iterdev/agents/task-analyzer.md +0 -206
  456. package/.codex/skills/team-iterdev/instructions/agent-instruction.md +0 -118
  457. package/.codex/skills/team-iterdev/schemas/tasks-schema.md +0 -174
  458. package/.codex/skills/team-lifecycle/SKILL.md +0 -906
  459. package/.codex/skills/team-lifecycle/agents/analyst.md +0 -424
  460. package/.codex/skills/team-lifecycle/agents/architect.md +0 -274
  461. package/.codex/skills/team-lifecycle/agents/discuss-agent.md +0 -422
  462. package/.codex/skills/team-lifecycle/agents/executor.md +0 -423
  463. package/.codex/skills/team-lifecycle/agents/explore-agent.md +0 -471
  464. package/.codex/skills/team-lifecycle/agents/fe-developer.md +0 -239
  465. package/.codex/skills/team-lifecycle/agents/fe-qa.md +0 -357
  466. package/.codex/skills/team-lifecycle/agents/planner.md +0 -437
  467. package/.codex/skills/team-lifecycle/agents/reviewer.md +0 -483
  468. package/.codex/skills/team-lifecycle/agents/tester.md +0 -423
  469. package/.codex/skills/team-lifecycle/agents/writer.md +0 -502
  470. package/.codex/skills/team-lifecycle/phases/01-requirement-clarification.md +0 -209
  471. package/.codex/skills/team-lifecycle/phases/02-team-initialization.md +0 -263
  472. package/.codex/skills/team-lifecycle/phases/03-task-chain-creation.md +0 -251
  473. package/.codex/skills/team-lifecycle/phases/04-pipeline-coordination.md +0 -831
  474. package/.codex/skills/team-lifecycle/phases/05-completion-report.md +0 -309
  475. package/.codex/skills/team-lifecycle/specs/document-standards.md +0 -192
  476. package/.codex/skills/team-lifecycle/specs/quality-gates.md +0 -207
  477. package/.codex/skills/team-lifecycle-v4/agents/quality-gate.md +0 -165
  478. package/.codex/skills/team-lifecycle-v4/agents/requirement-clarifier.md +0 -163
  479. package/.codex/skills/team-lifecycle-v4/agents/supervisor.md +0 -182
  480. package/.codex/skills/team-perf-opt/agents/completion-handler.md +0 -141
  481. package/.codex/skills/team-perf-opt/agents/fix-cycle-handler.md +0 -156
  482. package/.codex/skills/team-perf-opt/agents/plan-reviewer.md +0 -150
  483. package/.codex/skills/team-perf-opt/instructions/agent-instruction.md +0 -122
  484. package/.codex/skills/team-perf-opt/schemas/tasks-schema.md +0 -174
  485. package/.codex/skills/team-planex/instructions/agent-instruction.md +0 -301
  486. package/.codex/skills/team-planex/schemas/tasks-schema.md +0 -198
  487. package/.codex/skills/team-planex-v2/SKILL.md +0 -652
  488. package/.codex/skills/team-planex-v2/instructions/agent-instruction.md +0 -193
  489. package/.codex/skills/team-planex-v2/schemas/tasks-schema.md +0 -206
  490. package/.codex/skills/team-quality-assurance/agents/executor.md +0 -192
  491. package/.codex/skills/team-quality-assurance/agents/gc-loop-handler.md +0 -163
  492. package/.codex/skills/team-quality-assurance/instructions/agent-instruction.md +0 -185
  493. package/.codex/skills/team-quality-assurance/schemas/tasks-schema.md +0 -190
  494. package/.codex/skills/team-review/agents/fixer.md +0 -360
  495. package/.codex/skills/team-review/instructions/agent-instruction.md +0 -102
  496. package/.codex/skills/team-review/schemas/tasks-schema.md +0 -143
  497. package/.codex/skills/team-roadmap-dev/agents/roadmap-discusser.md +0 -176
  498. package/.codex/skills/team-roadmap-dev/agents/roadmap-planner.md +0 -194
  499. package/.codex/skills/team-roadmap-dev/agents/roadmap-verifier.md +0 -221
  500. package/.codex/skills/team-roadmap-dev/instructions/executor-instruction.md +0 -55
  501. package/.codex/skills/team-roadmap-dev/schemas/tasks-schema.md +0 -144
  502. package/.codex/skills/team-tech-debt/agents/gc-loop-manager.md +0 -130
  503. package/.codex/skills/team-tech-debt/agents/plan-approver.md +0 -151
  504. package/.codex/skills/team-tech-debt/instructions/agent-instruction.md +0 -390
  505. package/.codex/skills/team-tech-debt/schemas/tasks-schema.md +0 -196
  506. package/.codex/skills/team-testing/agents/executor.md +0 -195
  507. package/.codex/skills/team-testing/agents/gc-loop-handler.md +0 -155
  508. package/.codex/skills/team-testing/instructions/agent-instruction.md +0 -142
  509. package/.codex/skills/team-testing/schemas/tasks-schema.md +0 -172
  510. package/.codex/skills/team-uidesign/agents/completion-handler.md +0 -177
  511. package/.codex/skills/team-uidesign/agents/gc-loop-handler.md +0 -162
  512. package/.codex/skills/team-uidesign/instructions/agent-instruction.md +0 -509
  513. package/.codex/skills/team-uidesign/schemas/tasks-schema.md +0 -187
  514. package/.codex/skills/team-ultra-analyze/agents/discussion-feedback.md +0 -155
  515. package/.codex/skills/team-ultra-analyze/agents/topic-analyzer.md +0 -153
  516. package/.codex/skills/team-ultra-analyze/instructions/agent-instruction.md +0 -169
  517. package/.codex/skills/team-ultra-analyze/schemas/tasks-schema.md +0 -180
  518. package/.codex/skills/team-ux-improve/agents/ux-designer.md +0 -136
  519. package/.codex/skills/team-ux-improve/agents/ux-explorer.md +0 -158
  520. package/.codex/skills/team-ux-improve/agents/ux-tester.md +0 -174
  521. package/.codex/skills/team-ux-improve/instructions/ux-worker-instruction.md +0 -55
  522. package/.codex/skills/team-ux-improve/schemas/tasks-schema.md +0 -87
  523. /package/.codex/skills/{team-lifecycle/templates/architecture-doc.md → team-lifecycle-v4/templates/architecture.md} +0 -0
  524. /package/.codex/skills/{team-lifecycle/templates/epics-template.md → team-lifecycle-v4/templates/epics.md} +0 -0
  525. /package/.codex/skills/{team-lifecycle → team-lifecycle-v4}/templates/product-brief.md +0 -0
  526. /package/.codex/skills/{team-lifecycle/templates/requirements-prd.md → team-lifecycle-v4/templates/requirements.md} +0 -0
@@ -1,4 +1,4 @@
1
- import{O as Ms,u as re,j as e,C as $,a as A,D as Ss,d as Cs,e as f,f as ks,g as qe,h as Ps,T as Es,B as S,ae as Me,ak as cs,c as D,r as i,x as Se,y as Ce,z as ke,A as Pe,E as os,bu as K,I as le,aq as $e,ar as Ae,as as ze,at as _e,au as Ee,X as Ds,G as ds,bO as Is,N as ne,fP as ns,fQ as Re,_ as U,ai as J,aj as X,fR as ie,k as is,an as Ls,cM as Ts,S as Ge,R as Be,bp as Fs,aw as Os,m as Ks,av as qs,ap as Rs,ao as Hs,aF as $s,ab as He,aH as As,a9 as zs,aa as _s,a6 as ls,a2 as Gs,a3 as Bs,a4 as ye,aS as Vs,a5 as Ne,b as Qs}from"./index-dWT2M6Ef.js";import{S as De}from"./Switch-BPMdND9H.js";import{F as Ie}from"./file-text-DrJFiOUB.js";import{E as Ws}from"./ellipsis-vertical-BpTysg-Y.js";import{E as me}from"./eye-DGY1rAZs.js";import{S as Us}from"./square-pen-CnZgm6g-.js";import{G as Ve}from"./globe-C56cDUzX.js";import{F as Qe}from"./folder-CV8511y9.js";import{S as Js}from"./save-DuO6OF0C.js";import{m as Xs,n as Ys,o as Zs,p as et,q as st}from"./useSystemSettings-DZ-8lZsG.js";import{P as tt}from"./plug-CiLce49C.js";import{F as ms}from"./filter-CKqzYbz7.js";import{H as at}from"./history-C1pJZQCL.js";import{G as nt}from"./gauge-XKvmu_uU.js";/**
1
+ import{O as Ms,u as re,j as e,C as $,a as A,D as Ss,d as Cs,e as f,f as ks,g as qe,h as Ps,T as Es,B as S,ae as Me,ak as cs,c as D,r as i,x as Se,y as Ce,z as ke,A as Pe,E as os,bu as K,I as le,aq as $e,ar as Ae,as as ze,at as _e,au as Ee,X as Ds,G as ds,bO as Is,N as ne,fP as ns,fQ as Re,_ as U,ai as J,aj as X,fR as ie,k as is,an as Ls,cM as Ts,S as Ge,R as Be,bp as Fs,aw as Os,m as Ks,av as qs,ap as Rs,ao as Hs,aF as $s,ab as He,aH as As,a9 as zs,aa as _s,a6 as ls,a2 as Gs,a3 as Bs,a4 as ye,aS as Vs,a5 as Ne,b as Qs}from"./index-C5Oqx2xI.js";import{S as De}from"./Switch-BL9AmNPC.js";import{F as Ie}from"./file-text-D5j9C5XC.js";import{E as Ws}from"./ellipsis-vertical-BoIyQKaI.js";import{E as me}from"./eye-BqxyhxQq.js";import{S as Us}from"./square-pen-Byxq21zp.js";import{G as Ve}from"./globe-D8_IB9gV.js";import{F as Qe}from"./folder-BEOY8txM.js";import{S as Js}from"./save-BdJ6EX4Q.js";import{m as Xs,n as Ys,o as Zs,p as et,q as st}from"./useSystemSettings-DfQEFXSD.js";import{P as tt}from"./plug-BggRzPX9.js";import{F as ms}from"./filter-CEUK5jsA.js";import{H as at}from"./history-hOjgVKax.js";import{G as nt}from"./gauge-CbumHmVn.js";/**
2
2
  * @license lucide-react v0.460.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -7,4 +7,4 @@ import{O as Ms,u as re,j as e,C as $,a as A,D as Ss,d as Cs,e as f,f as ks,g as
7
7
  `),d={};for(const x of v){const m=x.indexOf(":");if(m>0){const u=x.slice(0,m).trim(),h=x.slice(m+1).trim();h.startsWith("[")&&h.endsWith("]")?d[u]=h.slice(1,-1).split(",").map(j=>j.trim().replace(/^['"]|['"]$/g,"")).filter(Boolean):d[u]=h.replace(/^['"]|['"]$/g,"")}}return{frontmatter:d,body:r[2]}}function xt({open:s,onOpenChange:t,spec:r,content:v,onSave:d,readOnly:x=!1,isLoading:m=!1}){const{formatMessage:u}=re(),[h,j]=i.useState("view"),[C,k]=i.useState(v||""),[P,l]=i.useState(""),{body:b}=i.useMemo(()=>ut(C),[C]);i.useEffect(()=>{r&&s&&((async()=>{try{const y=await fetch(`/api/specs/detail?file=${encodeURIComponent(r.file)}`);if(y.ok){const q=await y.json();k(q.content||""),l(q.content||"")}}catch(y){console.error("Failed to fetch spec content:",y)}})(),j("view"))},[r,s]);const F=async()=>{!r||!d||(await d(r.id,P),k(P),j("view"))},O=()=>{l(C),j("view")};return r?e.jsx(Se,{open:s,onOpenChange:t,children:e.jsxs(Ce,{className:D("sm:max-w-[800px] max-h-[80vh]",h==="edit"&&"flex flex-col"),children:[e.jsxs(ke,{children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(Pe,{className:"flex items-center gap-2",children:[e.jsx(Ie,{className:"h-5 w-5"}),r.title]}),!x&&e.jsx(f,{variant:"ghost",size:"sm",onClick:()=>h==="view"?j("edit"):O(),disabled:m,children:h==="view"?e.jsxs(e.Fragment,{children:[e.jsx(it,{className:"h-4 w-4 mr-1"}),u({id:"specs.content.edit",defaultMessage:"Edit"})]}):e.jsxs(e.Fragment,{children:[e.jsx(me,{className:"h-4 w-4 mr-1"}),u({id:"specs.content.view",defaultMessage:"View"})]})})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(S,{variant:r.readMode==="required"?"default":"secondary",children:u({id:`specs.readMode.${r.readMode}`})}),e.jsx(S,{variant:"outline",children:u({id:`specs.priority.${r.priority}`})})]})]}),e.jsx(os,{children:r.file})]}),e.jsx("div",{className:"flex-1 overflow-auto py-4",children:h==="view"?e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"p-3 bg-muted/50 rounded-lg",children:[e.jsx("div",{className:"text-sm font-medium mb-2",children:u({id:"specs.content.metadata",defaultMessage:"Metadata"})}),e.jsxs("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[e.jsxs("div",{children:[e.jsxs("span",{className:"text-muted-foreground",children:[u({id:"specs.form.readMode",defaultMessage:"Read Mode"}),":"]})," ",e.jsx(S,{variant:"secondary",className:"text-xs",children:u({id:`specs.readMode.${r.readMode}`})})]}),e.jsxs("div",{children:[e.jsxs("span",{className:"text-muted-foreground",children:[u({id:"specs.form.priority",defaultMessage:"Priority"}),":"]})," ",e.jsx(S,{variant:"outline",className:"text-xs",children:u({id:`specs.priority.${r.priority}`})})]})]}),r.keywords.length>0&&e.jsxs("div",{className:"mt-2 text-sm",children:[e.jsxs("span",{className:"text-muted-foreground",children:[u({id:"specs.form.keywords",defaultMessage:"Keywords"}),":"]})," ",r.keywords.map(c=>e.jsx(S,{variant:"outline",className:"text-xs mr-1",children:c},c))]})]}),e.jsxs("div",{className:"border rounded-lg",children:[e.jsx("div",{className:"bg-muted/30 px-3 py-2 border-b text-sm font-medium",children:u({id:"specs.content.markdownContent",defaultMessage:"Markdown Content"})}),e.jsx("pre",{className:"p-4 text-sm overflow-auto max-h-[400px] whitespace-pre-wrap break-words",children:b||u({id:"specs.content.noContent",defaultMessage:"No content available"})})]})]}):e.jsxs("div",{className:"space-y-4",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:u({id:"specs.content.editHint",defaultMessage:"Edit the full markdown content including frontmatter. Changes to frontmatter will be reflected in the spec metadata."})}),e.jsx(Is,{value:P,onChange:c=>l(c.target.value),className:"font-mono text-sm min-h-[400px] resize-none",placeholder:u({id:"specs.content.placeholder",defaultMessage:`# Spec Title
8
8
 
9
9
  Content here...`}),disabled:m})]})}),e.jsx(ds,{children:h==="edit"?e.jsxs(e.Fragment,{children:[e.jsx(f,{variant:"outline",onClick:O,disabled:m,children:u({id:"specs.common.cancel",defaultMessage:"Cancel"})}),e.jsx(f,{onClick:F,disabled:m,children:m?e.jsxs(e.Fragment,{children:[e.jsx(ne,{className:"h-4 w-4 mr-2 animate-spin"}),u({id:"specs.common.saving",defaultMessage:"Saving..."})]}):e.jsxs(e.Fragment,{children:[e.jsx(Js,{className:"h-4 w-4 mr-2"}),u({id:"specs.common.save",defaultMessage:"Save"})]})})]}):e.jsx(f,{variant:"outline",onClick:()=>t(!1),children:u({id:"specs.common.close",defaultMessage:"Close"})})})]})}):null}const ht=["general","exploration","planning","execution"],we={general:{color:"text-gray-600",bgColor:"bg-gray-100 dark:bg-gray-800"},exploration:{color:"text-blue-600",bgColor:"bg-blue-100 dark:bg-blue-900/30"},planning:{color:"text-purple-600",bgColor:"bg-purple-100 dark:bg-purple-900/30"},execution:{color:"text-green-600",bgColor:"bg-green-100 dark:bg-green-900/30"}},be=[{id:"spec-injection-session",name:"Spec Context Injection (Session)",event:"SessionStart",command:"ccw spec load --stdin",scope:"global",description:"Automatically inject spec context when Claude session starts"},{id:"spec-injection-prompt",name:"Spec Context Injection (Prompt)",event:"UserPromptSubmit",command:"ccw spec load --stdin",scope:"project",description:"Inject spec context when user submits a prompt, matching keywords"}];async function gt(){const s=await fetch("/api/specs/stats");if(!s.ok)throw new Error("Failed to fetch spec stats");return s.json()}async function us(){const s=await fetch("/api/system/settings");if(!s.ok)throw new Error("Failed to fetch system settings");return s.json()}async function pt(s){const t=await us(),r=await fetch("/api/system/settings",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({injectionControl:{...t.injectionControl,...s}})});if(!r.ok)throw new Error("Failed to update settings");return r.json()}function E(s){return s.toLocaleString()}function ft(s,t){return t<=0?0:Math.min(100,s/t*100)}function jt({className:s}){var Ye,Ze,es,ss,ts;const{formatMessage:t}=re(),r=Xs(),[v,d]=i.useState(null),[x,m]=i.useState(!0),[u,h]=i.useState(null),[j,C]=i.useState({maxLength:8e3,warnThreshold:6e3,truncateOnExceed:!0}),[k,P]=i.useState(!0),[l,b]=i.useState(j),[F,O]=i.useState(!1),[c,y]=i.useState(!1),[q,B]=i.useState([]),R=Ys(),[I,Y]=i.useState("required"),[z,Z]=i.useState("all"),[n,w]=i.useState(null),[_,se]=i.useState(!1),[ue,Te]=i.useState({specs:!0,personal:!0}),[Fe,xe]=i.useState(!1),[V,Oe]=i.useState(null),[ce,he]=i.useState(ns[0]),[g,M]=i.useState(null),[L,N]=i.useState(!1),[G,oe]=i.useState(!1),de=i.useCallback(async()=>{m(!0),h(null);try{const a=await gt();d(a)}catch(a){h(a instanceof Error?a:new Error("Unknown error"))}finally{m(!1)}},[]),ge=i.useCallback(async()=>{P(!0);try{const a=await us();C(a.injectionControl),b(a.injectionControl)}catch(a){console.error("Failed to load settings:",a)}finally{P(!1)}},[]),H=i.useCallback(async()=>{se(!0);try{const a=await Re(I,!1);w(a)}catch(a){console.error("Failed to load injection preview:",a)}finally{se(!1)}},[I]),xs=i.useCallback(async a=>{try{const p=(await Re(I,!0)).files.find(T=>T.file===a.file);p&&(Oe(p),xe(!0))}catch(o){console.error("Failed to load file preview:",o)}},[I]),hs=i.useCallback(async a=>{N(!0);try{const o=await Re(a.mode,!0,void 0,a.category);M(o),he(a),oe(!0)}catch(o){console.error("Failed to load command preview:",o)}finally{N(!1)}},[]);i.useEffect(()=>{de(),ge()},[de,ge]),i.useEffect(()=>{H()},[H]),i.useEffect(()=>{const a=l.maxLength!==j.maxLength||l.warnThreshold!==j.warnThreshold||l.truncateOnExceed!==j.truncateOnExceed;O(a)},[l,j]);const te=(a,o)=>{b(p=>({...p,[a]:o}))},gs=async()=>{y(!0);try{const a=await pt(l);C(a.injectionControl),b(a.injectionControl),O(!1),U.success(t({id:"specs.injection.saveSuccess"},{default:"Settings saved successfully"}))}catch(a){U.error(t({id:"specs.injection.saveError"},{default:"Failed to save settings"})),console.error("Failed to save settings:",a)}finally{y(!1)}},ps=()=>{b(j),O(!1)},pe=l.maxLength<1e3||l.maxLength>5e4?t({id:"specs.injection.maxLengthError",defaultMessage:"Must be between 1000 and 50000"}):null,fe=l.warnThreshold<0||l.warnThreshold>=l.maxLength?t({id:"specs.injection.warnThresholdError",defaultMessage:"Must be less than max length"}):null,fs=a=>{Te(o=>({...o,[a]:!o[a]}))},je=i.useMemo(()=>{var p;const a=new Set,o=(p=R.data)==null?void 0:p.recommendedHooks;return o&&o.forEach(T=>{T.installed&&a.add(T.id)}),a},[(Ye=R.data)==null?void 0:Ye.recommendedHooks]),We=je.size,Ue=We===be.length,js=i.useCallback(async a=>{B(o=>[...o,a]);try{await r.installHooks([a],"global"),U.success(t({id:"specs.hooks.installSuccess",defaultMessage:"Hook installed successfully"}))}catch(o){U.error(t({id:"specs.hooks.installError",defaultMessage:"Failed to install hook"})),console.error("Failed to install hook:",o)}finally{B(o=>o.filter(p=>p!==a))}},[r,t]),vs=i.useCallback(async()=>{const a=be.filter(o=>!je.has(o.id));if(a.length!==0){B(a.map(o=>o.id));try{await r.installHooks(a.map(o=>o.id),"global"),U.success(t({id:"specs.hooks.installAllSuccess",defaultMessage:"All hooks installed successfully"}))}catch(o){U.error(t({id:"specs.hooks.installError",defaultMessage:"Failed to install hooks"})),console.error("Failed to install hooks:",o)}finally{B([])}}},[je,r,t]),ys=i.useMemo(()=>{if(!n)return{};const a={};for(const o of n.files)z!=="all"&&o.category!==z||(a[o.dimension]||(a[o.dimension]=[]),a[o.dimension].push(o));return a},[n,z]),Ns=i.useMemo(()=>{if(!n)return{general:0,exploration:0,planning:0,execution:0};const a={general:0,exploration:0,planning:0,execution:0};for(const o of n.files){const p=o.category||"general";a[p]!==void 0&&a[p]++}return a},[n]),ae=((Ze=v==null?void 0:v.injectionLength)==null?void 0:Ze.withKeywords)||0,Q=((es=v==null?void 0:v.injectionLength)==null?void 0:es.maxLength)||j.maxLength,Je=j.warnThreshold,Ke=ft(ae,Q),W=ae>Q,ve=ae>Je,Xe=Math.max(0,Q-ae),ws=Math.ceil(ae/80),bs=Math.ceil(Q/80);return e.jsxs("div",{className:D("space-y-6",s),children:[e.jsxs($,{children:[e.jsxs(J,{children:[e.jsxs(X,{className:"flex items-center gap-2",children:[e.jsx(tt,{className:"h-5 w-5"}),t({id:"specs.recommendedHooks",defaultMessage:"Recommended Hooks"})]}),e.jsx(ie,{children:t({id:"specs.recommendedHooksDesc",defaultMessage:"One-click install spec injection hooks for automatic context loading"})})]}),e.jsxs(A,{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx(f,{onClick:vs,disabled:Ue||q.length>0,children:Ue?e.jsxs(e.Fragment,{children:[e.jsx(is,{className:"h-4 w-4 mr-2"}),t({id:"specs.allHooksInstalled",defaultMessage:"All Hooks Installed"})]}):e.jsxs(e.Fragment,{children:[e.jsx(Ls,{className:"h-4 w-4 mr-2"}),t({id:"specs.installAllHooks",defaultMessage:"Install All Hooks"})]})}),e.jsxs("div",{className:"text-sm text-muted-foreground",children:[We," / ",be.length," ",t({id:"specs.hooksInstalled",defaultMessage:"installed"})]})]}),e.jsx(f,{variant:"ghost",size:"sm",asChild:!0,children:e.jsxs(Ts,{to:"/hooks",children:[e.jsx(Ge,{className:"h-4 w-4 mr-1"}),t({id:"specs.manageHooks",defaultMessage:"Manage Hooks"})]})})]}),e.jsx("div",{className:"grid gap-3",children:be.map(a=>{const o=je.has(a.id),p=q.includes(a.id);return e.jsxs("div",{className:"flex items-center justify-between p-4 border rounded-lg",children:[e.jsxs("div",{className:"flex-1",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"font-medium",children:a.name}),o&&e.jsx(is,{className:"h-4 w-4 text-green-500"})]}),e.jsx("div",{className:"text-sm text-muted-foreground mt-1",children:a.description}),e.jsxs("div",{className:"flex items-center gap-4 mt-2 text-xs text-muted-foreground",children:[e.jsxs("span",{children:[t({id:"specs.hookEvent",defaultMessage:"Event"}),":"," ",e.jsx("code",{className:"bg-muted px-1 rounded",children:a.event})]}),e.jsxs("span",{children:[t({id:"specs.hookScope",defaultMessage:"Scope"}),":"," ",e.jsx("code",{className:"bg-muted px-1 rounded",children:a.scope})]})]})]}),e.jsx(f,{variant:o?"outline":"default",size:"sm",disabled:o||p,onClick:()=>js(a.id),children:t(p?{id:"specs.installing",defaultMessage:"Installing..."}:o?{id:"specs.installed",defaultMessage:"Installed"}:{id:"specs.install",defaultMessage:"Install"})})]},a.id)})})]})]}),e.jsxs($,{children:[e.jsx(J,{children:e.jsxs(X,{className:"flex items-center gap-2",children:[t({id:"specs.injection.statusTitle",defaultMessage:"Current Injection Status"}),e.jsx(f,{variant:"ghost",size:"icon",className:"h-6 w-6",onClick:()=>{de(),H()},disabled:x,children:e.jsx(Be,{className:D("h-4 w-4",x&&"animate-spin")})})]})}),e.jsx(A,{className:"space-y-4",children:x?e.jsx("div",{className:"flex items-center justify-center py-8",children:e.jsx(ne,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):u?e.jsx("div",{className:"text-sm text-destructive",children:t({id:"specs.injection.loadError",defaultMessage:"Failed to load stats"})}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"flex justify-between text-sm",children:[e.jsx("span",{className:"text-muted-foreground",children:t({id:"specs.injection.currentLength",defaultMessage:"Current Length"})}),e.jsxs("span",{className:D("font-medium",W&&"text-destructive",!W&&ve&&"text-yellow-600 dark:text-yellow-400"),children:[E(ae)," / ",E(Q)," ",t({id:"specs.injection.characters",defaultMessage:"characters"}),e.jsxs("span",{className:"text-muted-foreground ml-2",children:["(~",E(ws)," / ",E(bs)," ",t({id:"specs.injection.lines",defaultMessage:"lines"}),")"]})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between text-xs text-muted-foreground mb-1",children:[e.jsxs("span",{children:[Ke,"%"]}),e.jsxs("span",{children:[t({id:"specs.injection.maxLimit",defaultMessage:"Max"}),": ",E(Q)]})]}),e.jsxs("div",{className:"relative",children:[e.jsx(Fs,{value:Ke,className:D("h-3",W&&"bg-destructive/20",!W&&ve&&"bg-yellow-100 dark:bg-yellow-900/30"),indicatorClassName:D(!W&&!ve&&"bg-sky-500 dark:bg-sky-400",W&&"bg-destructive",!W&&ve&&"bg-yellow-500")}),e.jsx("div",{className:"absolute top-0 h-3 flex flex-col items-center",style:{left:`${Math.min(100,Je/Q*100)}%`,transform:"translateX(-50%)"},children:e.jsx(Os,{className:"h-3 w-3 text-yellow-500 -mt-4"})})]})]}),W&&e.jsxs("div",{className:"flex items-start gap-3 p-4 rounded-lg bg-destructive/10 border border-destructive/20",children:[e.jsx(Ks,{className:"h-5 w-5 text-destructive flex-shrink-0 mt-0.5"}),e.jsxs("div",{children:[e.jsx("div",{className:"font-medium text-destructive",children:t({id:"specs.injection.overLimit",defaultMessage:"Over Limit"})}),e.jsx("div",{className:"text-sm text-muted-foreground mt-1",children:t({id:"specs.injection.overLimitDescription",defaultMessage:"Current injection content exceeds maximum length of {max} characters. Excess content will be truncated."},{max:E(Q)})})]})]}),e.jsxs("div",{className:"p-4 rounded-lg bg-muted/50 space-y-2",children:[e.jsxs("div",{className:"flex items-center gap-2 text-sm font-medium",children:[e.jsx(qs,{className:"h-4 w-4 text-muted-foreground"}),t({id:"specs.injection.statsInfo",defaultMessage:"Statistics"})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-2 text-sm",children:[e.jsx("div",{className:"text-muted-foreground",children:t({id:"specs.injection.requiredLength",defaultMessage:"Required specs length:"})}),e.jsxs("div",{className:"text-right",children:[E(((ss=v==null?void 0:v.injectionLength)==null?void 0:ss.requiredOnly)||0)," ",t({id:"specs.injection.characters",defaultMessage:"characters"})]}),e.jsx("div",{className:"text-muted-foreground",children:t({id:"specs.injection.matchedLength",defaultMessage:"Keyword-matched length:"})}),e.jsxs("div",{className:"text-right",children:[E(((ts=v==null?void 0:v.injectionLength)==null?void 0:ts.withKeywords)||0)," ",t({id:"specs.injection.characters",defaultMessage:"characters"})]}),e.jsx("div",{className:"text-muted-foreground",children:t({id:"specs.injection.remaining",defaultMessage:"Remaining space:"})}),e.jsxs("div",{className:D("text-right",Xe===0&&"text-destructive"),children:[E(Xe)," (",Math.round(100-Ke),"%)"]})]})]})]})})]}),e.jsxs($,{children:[e.jsxs(J,{children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs(X,{className:"flex items-center gap-2",children:[e.jsx(Ie,{className:"h-5 w-5"}),t({id:"specs.injection.filesList",defaultMessage:"Injection Files"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(f,{variant:I==="required"?"default":"outline",size:"sm",onClick:()=>Y("required"),children:t({id:"specs.readMode.required",defaultMessage:"Required"})}),e.jsx(f,{variant:I==="all"?"default":"outline",size:"sm",onClick:()=>Y("all"),children:t({id:"specs.scope.all",defaultMessage:"All"})})]})]}),e.jsx(ie,{children:n&&e.jsxs("span",{children:[n.stats.count," ",t({id:"specs.injection.files",defaultMessage:"files"})," • ",E(n.stats.totalLength)," ",t({id:"specs.injection.characters",defaultMessage:"characters"})]})})]}),e.jsxs(A,{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsx(ms,{className:"h-4 w-4 text-muted-foreground"}),e.jsx("span",{className:"text-sm text-muted-foreground",children:t({id:"specs.filterByCategory",defaultMessage:"Category:"})}),e.jsxs("div",{className:"flex gap-2 flex-wrap",children:[e.jsx(f,{variant:z==="all"?"default":"outline",size:"sm",onClick:()=>Z("all"),children:t({id:"specs.category.all",defaultMessage:"All"})}),ht.map(a=>e.jsxs(f,{variant:z===a?"default":"outline",size:"sm",onClick:()=>Z(a),className:"gap-1",children:[e.jsx(Me,{className:"h-3 w-3"}),t({id:`specs.category.${a}`,defaultMessage:a})," (",Ns[a],")"]},a))]})]}),_?e.jsx("div",{className:"flex items-center justify-center py-8",children:e.jsx(ne,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):e.jsx("div",{className:"h-[300px] overflow-auto",children:e.jsx("div",{className:"space-y-2",children:Object.entries(ys).map(([a,o])=>e.jsxs("div",{className:"border rounded-lg",children:[e.jsxs("button",{className:"w-full flex items-center justify-between p-3 hover:bg-muted/50 transition-colors",onClick:()=>fs(a),children:[e.jsxs("div",{className:"flex items-center gap-2",children:[ue[a]?e.jsx(Rs,{className:"h-4 w-4"}):e.jsx(Hs,{className:"h-4 w-4"}),e.jsx("span",{className:"font-medium capitalize",children:t({id:`specs.dimension.${a}`,defaultMessage:a})}),e.jsx(S,{variant:"secondary",className:"text-xs",children:o.length})]}),e.jsxs("span",{className:"text-sm text-muted-foreground",children:[E(o.reduce((p,T)=>p+T.contentLength,0))," ",t({id:"specs.injection.characters",defaultMessage:"characters"})]})]}),ue[a]&&e.jsx("div",{className:"border-t",children:o.map(p=>{const T=p.category||"general",as=we[T]||we.general;return e.jsxs("div",{className:"flex items-center justify-between p-3 border-b last:border-b-0 hover:bg-muted/30",children:[e.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[p.scope==="global"?e.jsx(Ve,{className:"h-4 w-4 text-blue-500 flex-shrink-0"}):e.jsx(Qe,{className:"h-4 w-4 text-green-500 flex-shrink-0"}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"font-medium truncate",children:p.title}),e.jsx("div",{className:"text-xs text-muted-foreground truncate",children:p.file})]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs(S,{variant:"outline",className:D("text-xs gap-1",as.bgColor,as.color),children:[e.jsx(Me,{className:"h-3 w-3"}),t({id:`specs.category.${T}`,defaultMessage:T})]}),e.jsx(S,{variant:"outline",className:"text-xs",children:t({id:`specs.priority.${p.priority}`,defaultMessage:p.priority})}),e.jsx("span",{className:"text-xs text-muted-foreground whitespace-nowrap",children:E(p.contentLength)}),e.jsx(f,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>xs(p),children:e.jsx(me,{className:"h-3.5 w-3.5"})})]})]},p.file)})})]},a))})})]})]}),e.jsxs($,{children:[e.jsxs(J,{children:[e.jsxs(X,{className:"flex items-center gap-2",children:[e.jsx(me,{className:"h-5 w-5"}),t({id:"specs.injection.commandPreview",defaultMessage:"Command Injection Preview"})]}),e.jsx(ie,{children:t({id:"specs.injection.commandPreviewDesc",defaultMessage:"Preview the content that would be injected by different CLI commands"})})]}),e.jsxs(A,{children:[e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-3 lg:grid-cols-5 gap-3",children:ns.map(a=>e.jsxs(f,{variant:"outline",className:"h-auto flex-col items-start py-3 px-4",onClick:()=>hs(a),disabled:L,children:[e.jsx("div",{className:"font-medium text-sm",children:t({id:`specs.commandPreview.${a.labelKey}.label`,defaultMessage:a.labelKey})}),e.jsx("div",{className:"text-xs text-muted-foreground mt-1 line-clamp-2",children:t({id:`specs.commandPreview.${a.descriptionKey}.description`,defaultMessage:a.descriptionKey})}),e.jsx("code",{className:"text-xs bg-muted px-1.5 py-0.5 rounded mt-2 w-full text-center",children:a.command.replace("ccw spec load","").trim()||"default"})]},a.command))}),L&&e.jsxs("div",{className:"flex items-center justify-center py-4 mt-4 border rounded-lg",children:[e.jsx(ne,{className:"h-5 w-5 animate-spin text-muted-foreground mr-2"}),e.jsx("span",{className:"text-sm text-muted-foreground",children:t({id:"specs.injection.loadingPreview",defaultMessage:"Loading preview..."})})]})]})]}),e.jsxs($,{children:[e.jsxs(J,{children:[e.jsx(X,{children:t({id:"specs.injection.settingsTitle",defaultMessage:"Injection Control Settings"})}),e.jsx(ie,{children:t({id:"specs.injection.settingsDescription",defaultMessage:"Configure how spec content is injected into AI context."})})]}),e.jsx(A,{className:"space-y-6",children:k?e.jsx("div",{className:"flex items-center justify-center py-4",children:e.jsx(ne,{className:"h-5 w-5 animate-spin text-muted-foreground"})}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{htmlFor:"maxLength",children:t({id:"specs.injection.maxLength",defaultMessage:"Max Injection Length"})}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:"flex-1",children:e.jsx(le,{id:"maxLength",type:"number",min:1e3,max:5e4,step:500,value:l.maxLength,onChange:a=>te("maxLength",Number(a.target.value)),className:D(pe&&"border-destructive")})}),e.jsxs("span",{className:"text-sm text-muted-foreground whitespace-nowrap",children:["(~",Math.ceil(l.maxLength/80)," ",t({id:"specs.injection.lines",defaultMessage:"lines"}),")"]})]}),pe&&e.jsx("p",{className:"text-xs text-destructive mt-1",children:pe}),e.jsx("p",{className:"text-sm text-muted-foreground",children:t({id:"specs.injection.maxLengthHelp",defaultMessage:"Recommended: 4000-10000 characters (50-125 lines). Too large may consume too much context."})}),e.jsxs("div",{className:"flex items-center gap-2 mt-2",children:[e.jsx("span",{className:"text-xs text-muted-foreground",children:t({id:"specs.injection.quickPresets",defaultMessage:"Quick presets:"})}),e.jsx(f,{variant:"outline",size:"sm",className:"h-6 text-xs",onClick:()=>te("maxLength",4e3),children:"4000 (50 lines)"}),e.jsx(f,{variant:"outline",size:"sm",className:"h-6 text-xs",onClick:()=>te("maxLength",8e3),children:"8000 (100 lines)"}),e.jsx(f,{variant:"outline",size:"sm",className:"h-6 text-xs",onClick:()=>te("maxLength",12e3),children:"12000 (150 lines)"})]})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{htmlFor:"warnThreshold",children:t({id:"specs.injection.warnThresholdLabel",defaultMessage:"Warning Threshold"})}),e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsx("div",{className:"flex-1",children:e.jsx(le,{id:"warnThreshold",type:"number",min:500,max:l.maxLength-1,step:500,value:l.warnThreshold,onChange:a=>te("warnThreshold",Number(a.target.value)),className:D(fe&&"border-destructive")})}),e.jsxs("span",{className:"text-sm text-muted-foreground whitespace-nowrap",children:["(~",Math.ceil(l.warnThreshold/80)," ",t({id:"specs.injection.lines",defaultMessage:"lines"}),")"]})]}),fe&&e.jsx("p",{className:"text-xs text-destructive mt-1",children:fe}),e.jsx("p",{className:"text-sm text-muted-foreground",children:t({id:"specs.injection.warnThresholdHelp",defaultMessage:"A warning will be displayed when injection length exceeds this value."})})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(K,{htmlFor:"truncate",children:t({id:"specs.injection.truncateOnExceed",defaultMessage:"Truncate on Exceed"})}),e.jsx("p",{className:"text-sm text-muted-foreground",children:t({id:"specs.injection.truncateHelp",defaultMessage:"Automatically truncate content when it exceeds the maximum length."})})]}),e.jsx(De,{id:"truncate",checked:l.truncateOnExceed,onCheckedChange:a=>te("truncateOnExceed",a)})]}),e.jsxs("div",{className:"flex items-center justify-end gap-3 pt-4 border-t",children:[e.jsx(f,{variant:"outline",onClick:ps,disabled:!F||c,children:t({id:"common.actions.reset",defaultMessage:"Reset"})}),e.jsx(f,{onClick:gs,disabled:!F||c||!!pe||!!fe,children:c?e.jsxs(e.Fragment,{children:[e.jsx(ne,{className:"h-4 w-4 mr-2 animate-spin"}),t({id:"common.actions.saving",defaultMessage:"Saving..."})]}):t({id:"common.actions.save",defaultMessage:"Save"})})]})]})})]}),e.jsx(Se,{open:Fe,onOpenChange:xe,children:e.jsxs(Ce,{className:"max-w-3xl max-h-[80vh]",children:[e.jsx(ke,{children:e.jsxs(Pe,{className:"flex items-center gap-2",children:[e.jsx(Ie,{className:"h-5 w-5"}),V==null?void 0:V.title]})}),e.jsx("div",{className:"flex-1 overflow-auto",children:e.jsx("pre",{className:"text-sm whitespace-pre-wrap p-4 bg-muted rounded-lg",children:(V==null?void 0:V.content)||t({id:"specs.content.noContent",defaultMessage:"No content available"})})})]})}),e.jsx(Se,{open:G,onOpenChange:oe,children:e.jsxs(Ce,{className:"max-w-4xl max-h-[85vh]",children:[e.jsxs(ke,{children:[e.jsxs(Pe,{className:"flex items-center gap-2",children:[e.jsx(me,{className:"h-5 w-5"}),t({id:"specs.injection.previewTitle",defaultMessage:"Injection Preview"})]}),e.jsxs("div",{className:"flex items-center gap-2 text-sm text-muted-foreground",children:[e.jsx("code",{className:"bg-muted px-2 py-1 rounded text-xs",children:ce.command}),e.jsx("span",{children:"•"}),e.jsx("span",{children:t({id:`specs.commandPreview.${ce.descriptionKey}.description`,defaultMessage:ce.descriptionKey})})]})]}),e.jsxs("div",{className:"space-y-4",children:[g&&e.jsxs("div",{className:"flex items-center gap-4 text-sm",children:[e.jsxs(S,{variant:"secondary",children:[g.stats.count," ",t({id:"specs.injection.files",defaultMessage:"files"})]}),e.jsxs(S,{variant:"secondary",children:[E(g.stats.totalLength)," ",t({id:"specs.injection.characters",defaultMessage:"characters"})]}),e.jsxs(S,{variant:"secondary",children:["~",Math.ceil(g.stats.totalLength/80)," ",t({id:"specs.injection.lines",defaultMessage:"lines"})]})]}),e.jsx("div",{className:"flex-1 overflow-auto max-h-[60vh] border rounded-lg",children:g!=null&&g.files.length?e.jsx("div",{className:"space-y-4 p-4",children:g.files.map((a,o)=>{var p,T;return e.jsxs("div",{className:"space-y-2",children:[e.jsxs("div",{className:"flex items-center justify-between text-sm",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(S,{variant:"outline",className:"text-xs",children:o+1}),e.jsx("span",{className:"font-medium",children:a.title}),a.category&&e.jsx(S,{variant:"outline",className:D("text-xs",(p=we[a.category])==null?void 0:p.bgColor,(T=we[a.category])==null?void 0:T.color),children:a.category})]}),e.jsxs("span",{className:"text-xs text-muted-foreground",children:[E(a.contentLength)," ",t({id:"specs.injection.characters",defaultMessage:"characters"})]})]}),e.jsx("pre",{className:"text-xs whitespace-pre-wrap p-3 bg-muted rounded border-l-2 border-primary/30",children:a.content||t({id:"specs.content.noContent",defaultMessage:"No content available"})})]},a.file)})}):e.jsx("div",{className:"flex items-center justify-center py-8 text-muted-foreground",children:t({id:"specs.injection.noFiles",defaultMessage:"No files match this command"})})})]})]})})]})}const Le="/api";async function vt(){const s=await fetch(`${Le}/system/settings`,{credentials:"same-origin"});if(!s.ok)throw new Error(`Failed to fetch settings: ${s.statusText}`);return await s.json()}async function yt(s){const t=await fetch(`${Le}/system/settings`,{method:"POST",headers:{"Content-Type":"application/json"},credentials:"same-origin",body:JSON.stringify(s)});if(!t.ok)throw new Error(`Failed to update settings: ${t.statusText}`);return t.json()}async function Nt(){const s=await fetch(`${Le}/specs/stats`,{credentials:"same-origin"});if(!s.ok)throw new Error(`Failed to fetch spec stats: ${s.statusText}`);return s.json()}async function wt(){const s=await fetch(`${Le}/project-tech/stats`,{credentials:"same-origin"});if(!s.ok)throw new Error(`Failed to fetch project-tech stats: ${s.statusText}`);return s.json()}const ee={all:["system-settings"],settings:()=>[...ee.all,"settings"],stats:()=>[...ee.all,"stats"],projectTech:()=>[...ee.all,"project-tech"]};function bt(){const{formatMessage:s}=re(),t=$s(),[r,v]=i.useState({defaultReadMode:"optional",autoEnable:!0}),[d,x]=i.useState({enabled:!0,maxEntriesPerCategory:10,categories:["feature","enhancement","bugfix","refactor","docs"]}),{data:m,isLoading:u,error:h}=He({queryKey:ee.settings(),queryFn:vt,staleTime:6e4}),{data:j,isLoading:C,error:k,refetch:P}=He({queryKey:ee.stats(),queryFn:Nt,staleTime:3e4}),{data:l}=He({queryKey:ee.projectTech(),queryFn:wt,staleTime:6e4}),b=As({mutationFn:yt,onSuccess:n=>{t.setQueryData(ee.settings(),n.settings),U.success(s({id:"specs.injection.saveSuccess",defaultMessage:"Settings saved successfully"}))},onError:n=>{U.error(s({id:"specs.injection.saveError",defaultMessage:"Failed to save settings: {error}"},{error:n.message}))}});i.useEffect(()=>{m!=null&&m.personalSpecDefaults&&v(m.personalSpecDefaults),m!=null&&m.devProgressInjection&&x(m.devProgressInjection)},[m]);const F=n=>{const w={...r,defaultReadMode:n};v(w),b.mutate({personalSpecDefaults:w})},O=n=>{const w={...r,autoEnable:n};v(w),b.mutate({personalSpecDefaults:w})},c=n=>{const w={...d,enabled:n};x(w),b.mutate({devProgressInjection:w})},y=n=>{const w=parseInt(n,10);if(!isNaN(w)&&w>=1&&w<=50){const _={...d,maxEntriesPerCategory:w};x(_),b.mutate({devProgressInjection:_})}},q=n=>{const w=d.categories.includes(n)?d.categories.filter(se=>se!==n):[...d.categories,n],_={...d,categories:w};x(_),b.mutate({devProgressInjection:_})},B=(j==null?void 0:j.dimensions)||{},R=Object.entries(B).filter(([n])=>n==="specs"||n==="personal"),I=R.reduce((n,[,w])=>n+w.count,0),Y=R.reduce((n,[,w])=>n+w.requiredCount,0),z=u||C,Z=h||k;return e.jsxs("div",{className:"space-y-6",children:[e.jsxs($,{children:[e.jsxs(J,{children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Ge,{className:"h-5 w-5 text-muted-foreground"}),e.jsx(X,{children:s({id:"specs.settings.personalSpecDefaults",defaultMessage:"Personal Spec Defaults"})})]}),e.jsx(ie,{children:s({id:"specs.settings.personalSpecDefaultsDesc",defaultMessage:"These settings will be applied when creating new personal specs"})})]}),e.jsxs(A,{className:"space-y-6",children:[e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{htmlFor:"default-read-mode",children:s({id:"specs.settings.defaultReadMode",defaultMessage:"Default Read Mode"})}),e.jsxs($e,{value:r.defaultReadMode,onValueChange:n=>F(n),children:[e.jsx(Ae,{id:"default-read-mode",className:"w-full",children:e.jsx(ze,{placeholder:s({id:"specs.settings.selectReadMode",defaultMessage:"Select read mode"})})}),e.jsxs(_e,{children:[e.jsx(Ee,{value:"required",children:s({id:"specs.readMode.required",defaultMessage:"Required"})}),e.jsx(Ee,{value:"optional",children:s({id:"specs.readMode.optional",defaultMessage:"Optional"})})]})]}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s({id:"specs.settings.defaultReadModeHelp",defaultMessage:"The default read mode for newly created personal specs"})})]}),e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(K,{htmlFor:"auto-enable",children:s({id:"specs.settings.autoEnable",defaultMessage:"Auto Enable New Specs"})}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s({id:"specs.settings.autoEnableDescription",defaultMessage:"Automatically enable newly created personal specs"})})]}),e.jsx(De,{id:"auto-enable",checked:r.autoEnable,onCheckedChange:O,disabled:b.isPending})]})]})]}),e.jsxs($,{children:[e.jsx(J,{children:e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsx(X,{children:s({id:"specs.settings.specStatistics",defaultMessage:"Spec Statistics"})}),e.jsx(f,{variant:"ghost",size:"sm",onClick:()=>P(),disabled:C,children:e.jsx(Be,{className:D("h-4 w-4",C&&"animate-spin")})})]})}),e.jsx(A,{children:z?e.jsx("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4",children:[1,2,3,4].map(n=>e.jsxs("div",{className:"text-center p-4 rounded-lg bg-muted animate-pulse",children:[e.jsx("div",{className:"h-8 w-12 mx-auto bg-muted-foreground/20 rounded mb-2"}),e.jsx("div",{className:"h-4 w-16 mx-auto bg-muted-foreground/20 rounded"})]},n))}):Z?e.jsx("div",{className:"text-center py-8 text-muted-foreground",children:s({id:"specs.injection.loadError",defaultMessage:"Failed to load statistics"})}):e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"grid grid-cols-2 gap-4",children:R.filter(([n])=>n[0]==="specs"||n[1]==="personal").map(([n,w])=>e.jsxs("div",{className:"text-center p-4 rounded-lg bg-muted/50 hover:bg-muted transition-colors",children:[e.jsx("div",{className:"text-2xl font-bold text-foreground",children:w.count}),e.jsx("div",{className:"text-sm text-muted-foreground",children:s({id:`specs.dimension.${n}`,defaultMessage:n})}),e.jsxs("div",{className:"text-xs text-muted-foreground mt-1",children:[w.requiredCount," ",s({id:"specs.required",defaultMessage:"required"})]})]},n))}),e.jsx("div",{className:"mt-4 pt-4 border-t border-border",children:e.jsxs("div",{className:"flex justify-between text-sm text-muted-foreground",children:[e.jsx("span",{children:s({id:"specs.settings.totalSpecs",defaultMessage:"Total: {count} spec files"},{count:I})}),e.jsxs("span",{children:[Y," ",s({id:"specs.readMode.required",defaultMessage:"required"})," | ",I-Y," ",s({id:"specs.readMode.optional",defaultMessage:"optional"})]})]})})]})})]}),e.jsxs($,{children:[e.jsxs(J,{children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(at,{className:"h-5 w-5 text-muted-foreground"}),e.jsx(X,{children:s({id:"specs.settings.devProgressInjection",defaultMessage:"Development Progress Injection"})})]}),e.jsx(ie,{children:s({id:"specs.settings.devProgressInjectionDesc",defaultMessage:"Control how development progress from project-tech.json is injected into AI context"})})]}),e.jsxs(A,{className:"space-y-6",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"space-y-0.5",children:[e.jsx(K,{children:s({id:"specs.settings.enableDevProgress",defaultMessage:"Enable Injection"})}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s({id:"specs.settings.enableDevProgressDesc",defaultMessage:"Include development history in AI context"})})]}),e.jsx(De,{checked:d.enabled,onCheckedChange:c,disabled:b.isPending})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{children:s({id:"specs.settings.maxEntries",defaultMessage:"Max Entries per Category"})}),e.jsx(le,{type:"number",min:1,max:50,value:d.maxEntriesPerCategory,onChange:n=>y(n.target.value),disabled:b.isPending||!d.enabled,className:"w-24"}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s({id:"specs.settings.maxEntriesDesc",defaultMessage:"Maximum number of entries to include per category (1-50)"})})]}),e.jsxs("div",{className:"space-y-2",children:[e.jsx(K,{children:s({id:"specs.settings.includeCategories",defaultMessage:"Include Categories"})}),e.jsx("div",{className:"flex flex-wrap gap-2",children:["feature","enhancement","bugfix","refactor","docs"].map(n=>e.jsxs(S,{variant:d.categories.includes(n)?"default":"outline",className:D("cursor-pointer transition-colors",!d.enabled&&"opacity-50 cursor-not-allowed"),onClick:()=>d.enabled&&q(n),children:[s({id:`specs.devCategory.${n}`,defaultMessage:n})," (",(l==null?void 0:l.categories[n])||0,")"]},n))}),e.jsx("p",{className:"text-sm text-muted-foreground",children:s({id:"specs.settings.categoriesDesc",defaultMessage:"Click to toggle category inclusion"})})]}),l&&e.jsx("div",{className:"text-sm text-muted-foreground pt-4 border-t border-border",children:l.last_updated?s({id:"specs.settings.devProgressStats",defaultMessage:"{total} entries from {sessions} sessions, last updated: {date}"},{total:l.total_features,sessions:l.total_sessions,date:new Date(l.last_updated).toLocaleDateString()}):s({id:"specs.settings.devProgressStatsNoDate",defaultMessage:"{total} entries from {sessions} sessions"},{total:l.total_features,sessions:l.total_sessions})})]})]})]})}const Mt=["general","exploration","planning","execution"];function St(s,t){return{id:s.file,title:s.title,dimension:t,scope:s.scope||"project",category:s.category||"general",keywords:s.keywords,readMode:s.readMode,priority:s.priority,file:s.file,enabled:!0}}function At(){const{formatMessage:s}=re(),t=zs(_s),[r,v]=i.useState("project-specs"),[d,x]=i.useState(""),[m,u]=i.useState("all"),[h,j]=i.useState("all"),[C,k]=i.useState(!1),[P,l]=i.useState(!1),[b,F]=i.useState(null),[O,c]=i.useState(null),{data:y,isLoading:q,refetch:B}=Zs({projectPath:t}),{data:R}=et({projectPath:t}),I=st(),{projectSpecs:Y,personalSpecs:z,globalPersonalSpecs:Z,projectPersonalSpecs:n,categoryCounts:w}=i.useMemo(()=>{if(!(y!=null&&y.specs))return{projectSpecs:[],personalSpecs:[],globalPersonalSpecs:[],projectPersonalSpecs:[],categoryCounts:{general:0,exploration:0,planning:0,execution:0}};const g=[],M=[],L=[],N=[],G={general:0,exploration:0,planning:0,execution:0};for(const[oe,de]of Object.entries(y.specs))for(const ge of de){const H=St(ge,oe);H.category&&G[H.category]++,oe==="personal"?(M.push(H),H.scope==="global"?L.push(H):N.push(H)):g.push(H)}return{projectSpecs:g,personalSpecs:M,globalPersonalSpecs:L,projectPersonalSpecs:N,categoryCounts:G}},[y]),_=q,se=g=>{c(g),l(!0)},ue=g=>{F(g),k(!0)},Te=async(g,M)=>{console.log("Saving spec:",g,M),k(!1)},Fe=async(g,M)=>{console.log("Saving spec content:",g,M.length)},xe=async(g,M)=>{console.log("Toggling spec:",g,M)},V=async g=>{console.log("Deleting spec:",g)},Oe=async()=>{console.log("Rebuilding index..."),I.mutate(void 0,{onSuccess:()=>{B()}})},ce=g=>{let M=g;if(h!=="all"&&(M=M.filter(L=>L.category===h)),d.trim()){const L=d.toLowerCase();M=M.filter(N=>N.title.toLowerCase().includes(L)||N.keywords.some(G=>G.toLowerCase().includes(L)))}return M},he=g=>{let M=g==="project"?Y:z;g==="personal"&&(m==="global"?M=Z:m==="project"&&(M=n));const L=ce(M);return e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs("div",{className:"relative flex-1",children:[e.jsx(Qs,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),e.jsx(le,{placeholder:s({id:"specs.searchPlaceholder",defaultMessage:"Search specs..."}),value:d,onChange:N=>x(N.target.value),className:"pl-9"})]}),e.jsxs(f,{variant:"outline",onClick:Oe,disabled:I.isPending,children:[e.jsx(Be,{className:`h-4 w-4 mr-2 ${I.isPending?"animate-spin":""}`}),s({id:"specs.rebuildIndex",defaultMessage:"Rebuild Index"})]})]}),g==="personal"&&e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(ms,{className:"h-4 w-4 text-muted-foreground"}),e.jsx("span",{className:"text-sm text-muted-foreground",children:s({id:"specs.filterByScope",defaultMessage:"Filter by scope:"})}),e.jsxs("div",{className:"flex gap-2",children:[e.jsxs(f,{variant:m==="all"?"default":"outline",size:"sm",onClick:()=>u("all"),children:[s({id:"specs.scope.all",defaultMessage:"All"})," (",z.length,")"]}),e.jsxs(f,{variant:m==="global"?"default":"outline",size:"sm",onClick:()=>u("global"),children:[e.jsx(Ve,{className:"h-3 w-3 mr-1"}),s({id:"specs.scope.global",defaultMessage:"Global"})," (",Z.length,")"]}),e.jsxs(f,{variant:m==="project"?"default":"outline",size:"sm",onClick:()=>u("project"),children:[e.jsx(Qe,{className:"h-3 w-3 mr-1"}),s({id:"specs.scope.project",defaultMessage:"Project"})," (",n.length,")"]})]})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Me,{className:"h-4 w-4 text-muted-foreground"}),e.jsx("span",{className:"text-sm text-muted-foreground",children:s({id:"specs.filterByCategory",defaultMessage:"Workflow stage:"})}),e.jsxs("div",{className:"flex gap-2 flex-wrap",children:[e.jsx(f,{variant:h==="all"?"default":"outline",size:"sm",onClick:()=>j("all"),children:s({id:"specs.category.all",defaultMessage:"All"})}),Mt.map(N=>e.jsxs(f,{variant:h===N?"default":"outline",size:"sm",onClick:()=>j(N),children:[s({id:`specs.category.${N}`,defaultMessage:N})," (",w[N],")"]},N))]})]}),(R==null?void 0:R.dimensions)&&e.jsx("div",{className:"grid grid-cols-2 gap-4",children:Object.entries(R.dimensions).filter(([N])=>N==="specs"||N==="personal").map(([N,G])=>e.jsx($,{children:e.jsxs(A,{className:"pt-4",children:[e.jsx("div",{className:"text-sm text-muted-foreground",children:s({id:`specs.dimension.${N}`,defaultMessage:N})}),e.jsx("div",{className:"text-2xl font-bold",children:G.count}),e.jsxs("div",{className:"text-xs text-muted-foreground",children:[G.requiredCount," ",s({id:"specs.required",defaultMessage:"required"})]})]})},N))}),L.length===0?e.jsx($,{children:e.jsx(A,{className:"py-8 text-center text-muted-foreground",children:s(_?{id:"specs.loading",defaultMessage:"Loading specs..."}:{id:"specs.noSpecs",defaultMessage:"No specs found. Create specs in .ccw/ directory."})})}):e.jsx("div",{className:"grid gap-4",children:L.map(N=>e.jsx(ct,{spec:N,onView:se,onEdit:ue,onToggle:xe,onDelete:V},N.id))})]})};return e.jsxs("div",{className:"max-w-6xl mx-auto",children:[e.jsxs("div",{className:"mb-6",children:[e.jsxs("h1",{className:"text-2xl font-bold flex items-center gap-2",children:[e.jsx(ls,{className:"h-6 w-6"}),s({id:"specs.pageTitle",defaultMessage:"Spec Settings"})]}),e.jsx("p",{className:"text-muted-foreground mt-1",children:s({id:"specs.pageDescription",defaultMessage:"Manage specification injection and system settings"})})]}),e.jsxs(Gs,{value:r,onValueChange:g=>v(g),children:[e.jsxs(Bs,{className:"grid grid-cols-4 mb-6",children:[e.jsxs(ye,{value:"project-specs",className:"flex items-center gap-2",children:[e.jsx(ls,{className:"h-4 w-4"}),e.jsx("span",{className:"hidden sm:inline",children:s({id:"specs.tabProjectSpecs",defaultMessage:"Project Specs"})})]}),e.jsxs(ye,{value:"personal-specs",className:"flex items-center gap-2",children:[e.jsx(Vs,{className:"h-4 w-4"}),e.jsx("span",{className:"hidden sm:inline",children:s({id:"specs.tabPersonalSpecs",defaultMessage:"Personal"})})]}),e.jsxs(ye,{value:"injection",className:"flex items-center gap-2",children:[e.jsx(nt,{className:"h-4 w-4"}),e.jsx("span",{className:"hidden sm:inline",children:s({id:"specs.tabInjection",defaultMessage:"Injection"})})]}),e.jsxs(ye,{value:"settings",className:"flex items-center gap-2",children:[e.jsx(Ge,{className:"h-4 w-4"}),e.jsx("span",{className:"hidden sm:inline",children:s({id:"specs.tabSettings",defaultMessage:"Settings"})})]})]}),e.jsx(Ne,{value:"project-specs",children:he("project")}),e.jsx(Ne,{value:"personal-specs",children:he("personal")}),e.jsx(Ne,{value:"injection",children:e.jsx(jt,{})}),e.jsx(Ne,{value:"settings",children:e.jsx(bt,{})})]}),e.jsx(mt,{open:C,onOpenChange:k,spec:b,onSave:Te}),e.jsx(xt,{open:P,onOpenChange:l,spec:O,onSave:Fe})]})}export{At as SpecsSettingsPage,At as default};
10
- //# sourceMappingURL=SpecsSettingsPage-DQz7WP2s.js.map
10
+ //# sourceMappingURL=SpecsSettingsPage-BcsLu1qq.js.map