claude-code-workflow 6.3.54 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1926) hide show
  1. package/.claude/agents/action-planning-agent.md +332 -187
  2. package/.claude/agents/cli-execution-agent.md +13 -12
  3. package/.claude/agents/cli-explore-agent.md +66 -11
  4. package/.claude/agents/cli-lite-planning-agent.md +908 -892
  5. package/.claude/agents/cli-roadmap-plan-agent.md +1001 -0
  6. package/.claude/agents/code-developer.md +75 -85
  7. package/.claude/agents/conceptual-planning-agent.md +49 -19
  8. package/.claude/agents/context-search-agent.md +96 -19
  9. package/.claude/agents/debug-explore-agent.md +439 -436
  10. package/.claude/agents/issue-plan-agent.md +15 -11
  11. package/.claude/agents/memory-bridge.md +2 -2
  12. package/.claude/agents/tdd-developer.md +84 -107
  13. package/.claude/agents/team-worker.md +440 -0
  14. package/.claude/agents/test-action-planning-agent.md +684 -0
  15. package/.claude/agents/test-fix-agent.md +24 -12
  16. package/.claude/agents/ui-design-agent.md +3 -3
  17. package/.claude/agents/universal-executor.md +1 -1
  18. package/.claude/commands/ccw-coordinator.md +316 -62
  19. package/.claude/commands/ccw.md +502 -172
  20. package/.claude/commands/cli/cli-init.md +441 -441
  21. package/.claude/commands/flow-create.md +16 -25
  22. package/.claude/commands/issue/convert-to-plan.md +21 -19
  23. package/.claude/commands/issue/discover-by-prompt.md +2 -2
  24. package/.claude/commands/issue/discover.md +4 -4
  25. package/.claude/commands/issue/execute.md +43 -15
  26. package/.claude/commands/issue/from-brainstorm.md +5 -5
  27. package/.claude/commands/issue/plan.md +335 -335
  28. package/.claude/commands/issue/queue.md +1 -1
  29. package/.claude/commands/memory/prepare.md +240 -0
  30. package/.claude/commands/memory/style-skill-memory.md +2 -2
  31. package/.claude/commands/workflow/analyze-with-file.md +639 -667
  32. package/.claude/commands/workflow/brainstorm-with-file.md +779 -1153
  33. package/.claude/commands/workflow/clean.md +572 -548
  34. package/.claude/commands/workflow/collaborative-plan-with-file.md +635 -761
  35. package/.claude/commands/workflow/debug-with-file.md +648 -672
  36. package/.claude/commands/workflow/init-guidelines.md +447 -0
  37. package/.claude/commands/workflow/init-specs.md +380 -0
  38. package/.claude/commands/workflow/init.md +291 -224
  39. package/.claude/commands/workflow/integration-test-cycle.md +932 -0
  40. package/.claude/commands/workflow/refactor-cycle.md +852 -0
  41. package/.claude/commands/workflow/roadmap-with-file.md +544 -0
  42. package/.claude/commands/workflow/session/complete.md +139 -203
  43. package/.claude/commands/workflow/session/solidify.md +453 -303
  44. package/.claude/commands/workflow/session/start.md +202 -202
  45. package/.claude/commands/workflow/session/sync.md +201 -0
  46. package/.claude/commands/workflow/ui-design/codify-style.md +20 -20
  47. package/.claude/commands/workflow/ui-design/design-sync.md +7 -7
  48. package/.claude/commands/workflow/ui-design/explore-auto.md +16 -16
  49. package/.claude/commands/workflow/ui-design/generate.md +1 -1
  50. package/.claude/commands/workflow/ui-design/imitate-auto.md +19 -19
  51. package/.claude/commands/workflow/ui-design/import-from-code.md +540 -540
  52. package/.claude/commands/workflow/unified-execute-with-file.md +864 -889
  53. package/.claude/scripts/cleanup-ghost-commands.mjs +402 -0
  54. package/.claude/skills/_shared/COMMAND-TO-SKILL-CONVERSION.md +741 -0
  55. package/.claude/skills/brainstorm/SKILL.md +382 -0
  56. package/.claude/skills/brainstorm/phases/01-mode-routing.md +207 -0
  57. package/.claude/skills/brainstorm/phases/02-artifacts.md +457 -0
  58. package/.claude/skills/brainstorm/phases/03-role-analysis.md +718 -0
  59. package/.claude/skills/brainstorm/phases/04-synthesis.md +817 -0
  60. package/.claude/skills/ccw-help/SKILL.md +176 -176
  61. package/.claude/skills/ccw-help/index/all-commands.json +376 -805
  62. package/.claude/skills/ccw-help/index/by-category.json +400 -833
  63. package/.claude/skills/ccw-help/index/by-use-case.json +388 -819
  64. package/.claude/skills/ccw-help/index/command-relationships.json +15 -160
  65. package/.claude/skills/ccw-help/index/essential-commands.json +13 -90
  66. package/.claude/skills/command-generator/SKILL.md +190 -0
  67. package/.claude/skills/command-generator/phases/01-parameter-validation.md +174 -0
  68. package/.claude/skills/command-generator/phases/02-target-path-resolution.md +171 -0
  69. package/.claude/skills/command-generator/phases/03-template-loading.md +123 -0
  70. package/.claude/skills/command-generator/phases/04-content-formatting.md +184 -0
  71. package/.claude/skills/command-generator/phases/05-file-generation.md +185 -0
  72. package/.claude/skills/command-generator/specs/command-design-spec.md +160 -0
  73. package/.claude/skills/command-generator/templates/command-md.md +75 -0
  74. package/.claude/skills/issue-manage/SKILL.md +291 -285
  75. package/.claude/skills/memory-capture/SKILL.md +129 -0
  76. package/.claude/skills/memory-capture/phases/01-compact.md +254 -0
  77. package/.claude/skills/memory-capture/phases/02-tips.md +206 -0
  78. package/.claude/skills/memory-manage/SKILL.md +229 -0
  79. package/.claude/skills/memory-manage/phases/01-update-full.md +316 -0
  80. package/.claude/skills/memory-manage/phases/02-update-related.md +267 -0
  81. package/.claude/skills/memory-manage/phases/03-update-single.md +306 -0
  82. package/.claude/skills/memory-manage/phases/04-docs-full.md +435 -0
  83. package/.claude/skills/memory-manage/phases/05-docs-related.md +315 -0
  84. package/.claude/skills/review-cycle/SKILL.md +128 -0
  85. package/.claude/skills/review-cycle/phases/review-fix.md +760 -0
  86. package/.claude/skills/review-cycle/phases/review-module.md +764 -0
  87. package/.claude/skills/review-cycle/phases/review-session.md +775 -0
  88. package/.claude/skills/skill-generator/templates/llm-action.md +3 -3
  89. package/.claude/skills/spec-generator/README.md +81 -0
  90. package/.claude/skills/spec-generator/SKILL.md +290 -0
  91. package/.claude/skills/spec-generator/phases/01-5-requirement-clarification.md +404 -0
  92. package/.claude/skills/spec-generator/phases/01-discovery.md +242 -0
  93. package/.claude/skills/spec-generator/phases/02-product-brief.md +247 -0
  94. package/.claude/skills/spec-generator/phases/03-requirements.md +179 -0
  95. package/.claude/skills/spec-generator/phases/04-architecture.md +213 -0
  96. package/.claude/skills/spec-generator/phases/05-epics-stories.md +168 -0
  97. package/.claude/skills/spec-generator/phases/06-readiness-check.md +449 -0
  98. package/.claude/skills/spec-generator/specs/document-standards.md +248 -0
  99. package/.claude/skills/spec-generator/specs/quality-gates.md +219 -0
  100. package/.claude/skills/spec-generator/templates/architecture-doc.md +254 -0
  101. package/.claude/skills/spec-generator/templates/epics-template.md +196 -0
  102. package/.claude/skills/spec-generator/templates/product-brief.md +133 -0
  103. package/.claude/skills/spec-generator/templates/requirements-prd.md +224 -0
  104. package/.claude/skills/team-brainstorm/SKILL.md +407 -0
  105. package/.claude/skills/team-brainstorm/roles/challenger.md +167 -0
  106. package/.claude/skills/team-brainstorm/roles/coordinator.md +257 -0
  107. package/.claude/skills/team-brainstorm/roles/evaluator.md +157 -0
  108. package/.claude/skills/team-brainstorm/roles/ideator.md +160 -0
  109. package/.claude/skills/team-brainstorm/roles/synthesizer.md +168 -0
  110. package/.claude/skills/team-brainstorm/specs/team-config.json +86 -0
  111. package/.claude/skills/team-coordinate/SKILL.md +445 -0
  112. package/.claude/skills/team-coordinate/roles/coordinator/commands/analyze-task.md +197 -0
  113. package/.claude/skills/team-coordinate/roles/coordinator/commands/dispatch.md +85 -0
  114. package/.claude/skills/team-coordinate/roles/coordinator/commands/monitor.md +296 -0
  115. package/.claude/skills/team-coordinate/roles/coordinator/role.md +283 -0
  116. package/.claude/skills/team-coordinate/specs/role-template.md +434 -0
  117. package/.claude/skills/team-coordinate/subagents/discuss-subagent.md +133 -0
  118. package/.claude/skills/team-coordinate/subagents/explore-subagent.md +120 -0
  119. package/.claude/skills/team-coordinate-v2/SKILL.md +265 -0
  120. package/.claude/skills/team-coordinate-v2/roles/coordinator/commands/analyze-task.md +185 -0
  121. package/.claude/skills/team-coordinate-v2/roles/coordinator/commands/dispatch.md +87 -0
  122. package/.claude/skills/team-coordinate-v2/roles/coordinator/commands/monitor.md +301 -0
  123. package/.claude/skills/team-coordinate-v2/roles/coordinator/role.md +297 -0
  124. package/.claude/skills/team-coordinate-v2/specs/role-spec-template.md +295 -0
  125. package/.claude/skills/team-coordinate-v2/subagents/discuss-subagent.md +133 -0
  126. package/.claude/skills/team-coordinate-v2/subagents/explore-subagent.md +120 -0
  127. package/.claude/skills/team-executor/SKILL.md +372 -0
  128. package/.claude/skills/team-executor/roles/executor/commands/monitor.md +277 -0
  129. package/.claude/skills/team-executor/roles/executor/role.md +202 -0
  130. package/.claude/skills/team-executor/specs/session-schema.md +272 -0
  131. package/.claude/skills/team-executor-v2/SKILL.md +215 -0
  132. package/.claude/skills/team-executor-v2/roles/executor/commands/monitor.md +239 -0
  133. package/.claude/skills/team-executor-v2/roles/executor/role.md +171 -0
  134. package/.claude/skills/team-executor-v2/specs/session-schema.md +264 -0
  135. package/.claude/skills/team-frontend/SKILL.md +426 -0
  136. package/.claude/skills/team-frontend/roles/analyst/commands/design-intelligence.md +150 -0
  137. package/.claude/skills/team-frontend/roles/analyst/role.md +225 -0
  138. package/.claude/skills/team-frontend/roles/architect/role.md +219 -0
  139. package/.claude/skills/team-frontend/roles/coordinator/role.md +257 -0
  140. package/.claude/skills/team-frontend/roles/developer/role.md +238 -0
  141. package/.claude/skills/team-frontend/roles/qa/commands/pre-delivery-checklist.md +116 -0
  142. package/.claude/skills/team-frontend/roles/qa/role.md +257 -0
  143. package/.claude/skills/team-frontend/specs/team-config.json +84 -0
  144. package/.claude/skills/team-issue/SKILL.md +425 -0
  145. package/.claude/skills/team-issue/roles/coordinator.md +340 -0
  146. package/.claude/skills/team-issue/roles/explorer.md +212 -0
  147. package/.claude/skills/team-issue/roles/implementer.md +322 -0
  148. package/.claude/skills/team-issue/roles/integrator.md +241 -0
  149. package/.claude/skills/team-issue/roles/planner.md +207 -0
  150. package/.claude/skills/team-issue/roles/reviewer.md +268 -0
  151. package/.claude/skills/team-issue/specs/team-config.json +70 -0
  152. package/.claude/skills/team-iterdev/SKILL.md +493 -0
  153. package/.claude/skills/team-iterdev/roles/architect.md +265 -0
  154. package/.claude/skills/team-iterdev/roles/coordinator.md +423 -0
  155. package/.claude/skills/team-iterdev/roles/developer.md +280 -0
  156. package/.claude/skills/team-iterdev/roles/reviewer.md +307 -0
  157. package/.claude/skills/team-iterdev/roles/tester.md +253 -0
  158. package/.claude/skills/team-iterdev/specs/team-config.json +172 -0
  159. package/.claude/skills/team-lifecycle-v3/SKILL.md +384 -0
  160. package/.claude/skills/team-lifecycle-v3/roles/analyst/role.md +113 -0
  161. package/.claude/skills/team-lifecycle-v3/roles/architect/commands/assess.md +193 -0
  162. package/.claude/skills/team-lifecycle-v3/roles/architect/role.md +103 -0
  163. package/.claude/skills/team-lifecycle-v3/roles/coordinator/commands/dispatch.md +142 -0
  164. package/.claude/skills/team-lifecycle-v3/roles/coordinator/commands/monitor.md +180 -0
  165. package/.claude/skills/team-lifecycle-v3/roles/coordinator/role.md +209 -0
  166. package/.claude/skills/team-lifecycle-v3/roles/discussant/commands/critique.md +136 -0
  167. package/.claude/skills/team-lifecycle-v3/roles/discussant/role.md +128 -0
  168. package/.claude/skills/team-lifecycle-v3/roles/executor/commands/implement.md +166 -0
  169. package/.claude/skills/team-lifecycle-v3/roles/executor/role.md +103 -0
  170. package/.claude/skills/team-lifecycle-v3/roles/explorer/role.md +91 -0
  171. package/.claude/skills/team-lifecycle-v3/roles/fe-developer/role.md +111 -0
  172. package/.claude/skills/team-lifecycle-v3/roles/fe-qa/commands/pre-delivery-checklist.md +152 -0
  173. package/.claude/skills/team-lifecycle-v3/roles/fe-qa/role.md +113 -0
  174. package/.claude/skills/team-lifecycle-v3/roles/planner/commands/explore.md +154 -0
  175. package/.claude/skills/team-lifecycle-v3/roles/planner/role.md +120 -0
  176. package/.claude/skills/team-lifecycle-v3/roles/reviewer/commands/code-review.md +163 -0
  177. package/.claude/skills/team-lifecycle-v3/roles/reviewer/commands/spec-quality.md +202 -0
  178. package/.claude/skills/team-lifecycle-v3/roles/reviewer/role.md +104 -0
  179. package/.claude/skills/team-lifecycle-v3/roles/tester/commands/validate.md +152 -0
  180. package/.claude/skills/team-lifecycle-v3/roles/tester/role.md +108 -0
  181. package/.claude/skills/team-lifecycle-v3/roles/writer/commands/generate-doc.md +187 -0
  182. package/.claude/skills/team-lifecycle-v3/roles/writer/role.md +96 -0
  183. package/.claude/skills/team-lifecycle-v3/specs/document-standards.md +192 -0
  184. package/.claude/skills/team-lifecycle-v3/specs/quality-gates.md +207 -0
  185. package/.claude/skills/team-lifecycle-v3/specs/team-config.json +158 -0
  186. package/.claude/skills/team-lifecycle-v3/templates/architecture-doc.md +254 -0
  187. package/.claude/skills/team-lifecycle-v3/templates/epics-template.md +196 -0
  188. package/.claude/skills/team-lifecycle-v3/templates/product-brief.md +133 -0
  189. package/.claude/skills/team-lifecycle-v3/templates/requirements-prd.md +224 -0
  190. package/.claude/skills/team-lifecycle-v4/SKILL.md +643 -0
  191. package/.claude/skills/team-lifecycle-v4/roles/analyst/role.md +174 -0
  192. package/.claude/skills/team-lifecycle-v4/roles/architect/commands/assess.md +193 -0
  193. package/.claude/skills/team-lifecycle-v4/roles/architect/role.md +103 -0
  194. package/.claude/skills/team-lifecycle-v4/roles/coordinator/commands/dispatch.md +198 -0
  195. package/.claude/skills/team-lifecycle-v4/roles/coordinator/commands/monitor.md +413 -0
  196. package/.claude/skills/team-lifecycle-v4/roles/coordinator/role.md +230 -0
  197. package/.claude/skills/team-lifecycle-v4/roles/executor/commands/implement.md +166 -0
  198. package/.claude/skills/team-lifecycle-v4/roles/executor/role.md +103 -0
  199. package/.claude/skills/team-lifecycle-v4/roles/fe-developer/role.md +111 -0
  200. package/.claude/skills/team-lifecycle-v4/roles/fe-qa/commands/pre-delivery-checklist.md +152 -0
  201. package/.claude/skills/team-lifecycle-v4/roles/fe-qa/role.md +113 -0
  202. package/.claude/skills/team-lifecycle-v4/roles/planner/commands/explore.md +172 -0
  203. package/.claude/skills/team-lifecycle-v4/roles/planner/role.md +139 -0
  204. package/.claude/skills/team-lifecycle-v4/roles/reviewer/commands/code-review.md +163 -0
  205. package/.claude/skills/team-lifecycle-v4/roles/reviewer/commands/spec-quality.md +202 -0
  206. package/.claude/skills/team-lifecycle-v4/roles/reviewer/role.md +150 -0
  207. package/.claude/skills/team-lifecycle-v4/roles/tester/commands/validate.md +152 -0
  208. package/.claude/skills/team-lifecycle-v4/roles/tester/role.md +108 -0
  209. package/.claude/skills/team-lifecycle-v4/roles/writer/commands/generate-doc.md +192 -0
  210. package/.claude/skills/team-lifecycle-v4/roles/writer/role.md +246 -0
  211. package/.claude/skills/team-lifecycle-v4/specs/document-standards.md +192 -0
  212. package/.claude/skills/team-lifecycle-v4/specs/quality-gates.md +207 -0
  213. package/.claude/skills/team-lifecycle-v4/specs/team-config.json +200 -0
  214. package/.claude/skills/team-lifecycle-v4/subagents/discuss-subagent.md +169 -0
  215. package/.claude/skills/team-lifecycle-v4/subagents/doc-generation-subagent.md +62 -0
  216. package/.claude/skills/team-lifecycle-v4/subagents/explore-subagent.md +172 -0
  217. package/.claude/skills/team-lifecycle-v4/templates/architecture-doc.md +254 -0
  218. package/.claude/skills/team-lifecycle-v4/templates/epics-template.md +196 -0
  219. package/.claude/skills/team-lifecycle-v4/templates/product-brief.md +133 -0
  220. package/.claude/skills/team-lifecycle-v4/templates/requirements-prd.md +224 -0
  221. package/.claude/skills/team-lifecycle-v5/SKILL.md +320 -0
  222. package/.claude/skills/team-lifecycle-v5/role-specs/analyst.md +93 -0
  223. package/.claude/skills/team-lifecycle-v5/role-specs/architect.md +76 -0
  224. package/.claude/skills/team-lifecycle-v5/role-specs/executor.md +67 -0
  225. package/.claude/skills/team-lifecycle-v5/role-specs/fe-developer.md +79 -0
  226. package/.claude/skills/team-lifecycle-v5/role-specs/fe-qa.md +79 -0
  227. package/.claude/skills/team-lifecycle-v5/role-specs/planner.md +98 -0
  228. package/.claude/skills/team-lifecycle-v5/role-specs/reviewer.md +94 -0
  229. package/.claude/skills/team-lifecycle-v5/role-specs/tester.md +76 -0
  230. package/.claude/skills/team-lifecycle-v5/role-specs/writer.md +126 -0
  231. package/.claude/skills/team-lifecycle-v5/roles/coordinator/commands/dispatch.md +178 -0
  232. package/.claude/skills/team-lifecycle-v5/roles/coordinator/commands/monitor.md +237 -0
  233. package/.claude/skills/team-lifecycle-v5/roles/coordinator/role.md +194 -0
  234. package/.claude/skills/team-lifecycle-v5/specs/document-standards.md +192 -0
  235. package/.claude/skills/team-lifecycle-v5/specs/quality-gates.md +207 -0
  236. package/.claude/skills/team-lifecycle-v5/specs/team-config.json +218 -0
  237. package/.claude/skills/team-lifecycle-v5/subagents/discuss-subagent.md +169 -0
  238. package/.claude/skills/team-lifecycle-v5/subagents/doc-generation-subagent.md +62 -0
  239. package/.claude/skills/team-lifecycle-v5/subagents/explore-subagent.md +172 -0
  240. package/.claude/skills/team-lifecycle-v5/templates/architecture-doc.md +254 -0
  241. package/.claude/skills/team-lifecycle-v5/templates/epics-template.md +196 -0
  242. package/.claude/skills/team-lifecycle-v5/templates/product-brief.md +133 -0
  243. package/.claude/skills/team-lifecycle-v5/templates/requirements-prd.md +224 -0
  244. package/.claude/skills/team-planex/SKILL.md +439 -0
  245. package/.claude/skills/team-planex/roles/executor.md +356 -0
  246. package/.claude/skills/team-planex/roles/planner.md +315 -0
  247. package/.claude/skills/team-quality-assurance/SKILL.md +466 -0
  248. package/.claude/skills/team-quality-assurance/roles/analyst/commands/quality-report.md +360 -0
  249. package/.claude/skills/team-quality-assurance/roles/analyst/role.md +186 -0
  250. package/.claude/skills/team-quality-assurance/roles/coordinator/commands/dispatch.md +169 -0
  251. package/.claude/skills/team-quality-assurance/roles/coordinator/commands/monitor.md +336 -0
  252. package/.claude/skills/team-quality-assurance/roles/coordinator/role.md +195 -0
  253. package/.claude/skills/team-quality-assurance/roles/executor/commands/run-fix-cycle.md +220 -0
  254. package/.claude/skills/team-quality-assurance/roles/executor/role.md +179 -0
  255. package/.claude/skills/team-quality-assurance/roles/generator/commands/generate-tests.md +258 -0
  256. package/.claude/skills/team-quality-assurance/roles/generator/role.md +172 -0
  257. package/.claude/skills/team-quality-assurance/roles/scout/commands/scan.md +216 -0
  258. package/.claude/skills/team-quality-assurance/roles/scout/role.md +244 -0
  259. package/.claude/skills/team-quality-assurance/roles/strategist/commands/analyze-scope.md +221 -0
  260. package/.claude/skills/team-quality-assurance/roles/strategist/role.md +166 -0
  261. package/.claude/skills/team-quality-assurance/specs/team-config.json +131 -0
  262. package/.claude/skills/team-review/SKILL.md +264 -0
  263. package/.claude/skills/team-review/roles/coordinator/commands/dispatch.md +145 -0
  264. package/.claude/skills/team-review/roles/coordinator/commands/monitor.md +218 -0
  265. package/.claude/skills/team-review/roles/coordinator/role.md +244 -0
  266. package/.claude/skills/team-review/roles/fixer/commands/execute-fixes.md +163 -0
  267. package/.claude/skills/team-review/roles/fixer/commands/plan-fixes.md +187 -0
  268. package/.claude/skills/team-review/roles/fixer/role.md +247 -0
  269. package/.claude/skills/team-review/roles/reviewer/commands/deep-analyze.md +186 -0
  270. package/.claude/skills/team-review/roles/reviewer/commands/generate-report.md +174 -0
  271. package/.claude/skills/team-review/roles/reviewer/role.md +233 -0
  272. package/.claude/skills/team-review/roles/scanner/commands/semantic-scan.md +186 -0
  273. package/.claude/skills/team-review/roles/scanner/commands/toolchain-scan.md +187 -0
  274. package/.claude/skills/team-review/roles/scanner/role.md +255 -0
  275. package/.claude/skills/team-review/specs/dimensions.md +82 -0
  276. package/.claude/skills/team-review/specs/finding-schema.json +82 -0
  277. package/.claude/skills/team-review/specs/team-config.json +27 -0
  278. package/.claude/skills/team-roadmap-dev/SKILL.md +389 -0
  279. package/.claude/skills/team-roadmap-dev/roles/coordinator/commands/dispatch.md +213 -0
  280. package/.claude/skills/team-roadmap-dev/roles/coordinator/commands/monitor.md +378 -0
  281. package/.claude/skills/team-roadmap-dev/roles/coordinator/commands/pause.md +91 -0
  282. package/.claude/skills/team-roadmap-dev/roles/coordinator/commands/resume.md +138 -0
  283. package/.claude/skills/team-roadmap-dev/roles/coordinator/commands/roadmap-discuss.md +287 -0
  284. package/.claude/skills/team-roadmap-dev/roles/coordinator/role.md +237 -0
  285. package/.claude/skills/team-roadmap-dev/roles/executor/commands/implement.md +309 -0
  286. package/.claude/skills/team-roadmap-dev/roles/executor/role.md +220 -0
  287. package/.claude/skills/team-roadmap-dev/roles/planner/commands/create-plans.md +362 -0
  288. package/.claude/skills/team-roadmap-dev/roles/planner/commands/research.md +219 -0
  289. package/.claude/skills/team-roadmap-dev/roles/planner/role.md +243 -0
  290. package/.claude/skills/team-roadmap-dev/roles/verifier/commands/verify.md +335 -0
  291. package/.claude/skills/team-roadmap-dev/roles/verifier/role.md +247 -0
  292. package/.claude/skills/team-roadmap-dev/specs/team-config.json +96 -0
  293. package/.claude/skills/team-tech-debt/SKILL.md +473 -0
  294. package/.claude/skills/team-tech-debt/roles/assessor/commands/evaluate.md +164 -0
  295. package/.claude/skills/team-tech-debt/roles/assessor/role.md +187 -0
  296. package/.claude/skills/team-tech-debt/roles/coordinator/commands/dispatch.md +157 -0
  297. package/.claude/skills/team-tech-debt/roles/coordinator/commands/monitor.md +434 -0
  298. package/.claude/skills/team-tech-debt/roles/coordinator/role.md +387 -0
  299. package/.claude/skills/team-tech-debt/roles/executor/commands/remediate.md +180 -0
  300. package/.claude/skills/team-tech-debt/roles/executor/role.md +228 -0
  301. package/.claude/skills/team-tech-debt/roles/planner/commands/create-plan.md +165 -0
  302. package/.claude/skills/team-tech-debt/roles/planner/role.md +190 -0
  303. package/.claude/skills/team-tech-debt/roles/scanner/commands/scan-debt.md +388 -0
  304. package/.claude/skills/team-tech-debt/roles/scanner/role.md +225 -0
  305. package/.claude/skills/team-tech-debt/roles/validator/commands/verify.md +203 -0
  306. package/.claude/skills/team-tech-debt/roles/validator/role.md +237 -0
  307. package/.claude/skills/team-tech-debt/specs/team-config.json +132 -0
  308. package/.claude/skills/team-testing/SKILL.md +362 -0
  309. package/.claude/skills/team-testing/roles/analyst.md +265 -0
  310. package/.claude/skills/team-testing/roles/coordinator.md +304 -0
  311. package/.claude/skills/team-testing/roles/executor.md +300 -0
  312. package/.claude/skills/team-testing/roles/generator.md +272 -0
  313. package/.claude/skills/team-testing/roles/strategist.md +218 -0
  314. package/.claude/skills/team-testing/specs/team-config.json +93 -0
  315. package/.claude/skills/team-uidesign/SKILL.md +419 -0
  316. package/.claude/skills/team-uidesign/roles/coordinator.md +315 -0
  317. package/.claude/skills/team-uidesign/roles/designer.md +251 -0
  318. package/.claude/skills/team-uidesign/roles/implementer.md +280 -0
  319. package/.claude/skills/team-uidesign/roles/researcher.md +286 -0
  320. package/.claude/skills/team-uidesign/roles/reviewer.md +301 -0
  321. package/.claude/skills/team-uidesign/specs/team-config.json +107 -0
  322. package/.claude/skills/team-ultra-analyze/SKILL.md +444 -0
  323. package/.claude/skills/team-ultra-analyze/roles/analyst/commands/analyze.md +210 -0
  324. package/.claude/skills/team-ultra-analyze/roles/analyst/role.md +253 -0
  325. package/.claude/skills/team-ultra-analyze/roles/coordinator/commands/dispatch.md +237 -0
  326. package/.claude/skills/team-ultra-analyze/roles/coordinator/commands/monitor.md +461 -0
  327. package/.claude/skills/team-ultra-analyze/roles/coordinator/role.md +354 -0
  328. package/.claude/skills/team-ultra-analyze/roles/discussant/commands/deepen.md +222 -0
  329. package/.claude/skills/team-ultra-analyze/roles/discussant/role.md +227 -0
  330. package/.claude/skills/team-ultra-analyze/roles/explorer/commands/explore.md +194 -0
  331. package/.claude/skills/team-ultra-analyze/roles/explorer/role.md +219 -0
  332. package/.claude/skills/team-ultra-analyze/roles/synthesizer/commands/synthesize.md +255 -0
  333. package/.claude/skills/team-ultra-analyze/roles/synthesizer/role.md +251 -0
  334. package/.claude/skills/team-ultra-analyze/specs/team-config.json +131 -0
  335. package/.claude/skills/workflow-execute/SKILL.md +625 -0
  336. package/.claude/skills/workflow-execute/phases/06-review.md +215 -0
  337. package/.claude/skills/workflow-lite-plan/SKILL.md +174 -0
  338. package/.claude/skills/workflow-lite-plan/phases/01-lite-plan.md +762 -0
  339. package/.claude/skills/workflow-lite-plan/phases/02-lite-execute.md +786 -0
  340. package/.claude/skills/workflow-multi-cli-plan/SKILL.md +163 -0
  341. package/.claude/skills/workflow-multi-cli-plan/phases/01-multi-cli-plan.md +604 -0
  342. package/.claude/skills/workflow-multi-cli-plan/phases/02-lite-execute.md +788 -0
  343. package/.claude/skills/workflow-plan/SKILL.md +441 -0
  344. package/.claude/skills/workflow-plan/phases/01-session-discovery.md +99 -0
  345. package/.claude/skills/workflow-plan/phases/02-context-gathering.md +338 -0
  346. package/.claude/skills/workflow-plan/phases/03-conflict-resolution.md +422 -0
  347. package/.claude/skills/workflow-plan/phases/04-task-generation.md +433 -0
  348. package/.claude/skills/workflow-plan/phases/05-plan-verify.md +391 -0
  349. package/.claude/skills/workflow-plan/phases/06-replan.md +594 -0
  350. package/.claude/skills/workflow-skill-designer/SKILL.md +496 -0
  351. package/.claude/skills/workflow-skill-designer/phases/01-requirements-analysis.md +356 -0
  352. package/.claude/skills/workflow-skill-designer/phases/02-orchestrator-design.md +444 -0
  353. package/.claude/skills/workflow-skill-designer/phases/03-phase-design.md +458 -0
  354. package/.claude/skills/workflow-skill-designer/phases/04-validation.md +471 -0
  355. package/.claude/skills/workflow-tdd/SKILL.md +502 -0
  356. package/.claude/skills/workflow-tdd/phases/01-session-discovery.md +57 -0
  357. package/.claude/skills/workflow-tdd/phases/02-context-gathering.md +406 -0
  358. package/.claude/skills/workflow-tdd/phases/03-test-coverage-analysis.md +172 -0
  359. package/.claude/skills/workflow-tdd/phases/04-conflict-resolution.md +426 -0
  360. package/.claude/skills/workflow-tdd/phases/05-tdd-task-generation.md +472 -0
  361. package/.claude/skills/workflow-tdd/phases/06-tdd-structure-validation.md +189 -0
  362. package/.claude/skills/workflow-tdd/phases/07-tdd-verify.md +635 -0
  363. package/.claude/skills/workflow-test-fix/SKILL.md +458 -0
  364. package/.claude/skills/workflow-test-fix/phases/01-session-start.md +60 -0
  365. package/.claude/skills/workflow-test-fix/phases/02-test-context-gather.md +492 -0
  366. package/.claude/skills/workflow-test-fix/phases/03-test-concept-enhanced.md +150 -0
  367. package/.claude/skills/workflow-test-fix/phases/04-test-task-generate.md +346 -0
  368. package/.claude/skills/workflow-test-fix/phases/05-test-cycle-execute.md +537 -0
  369. package/.codex/AGENTS.md +126 -122
  370. package/.codex/agents/action-planning-agent.md +88 -93
  371. package/.codex/agents/cli-execution-agent.md +4 -4
  372. package/.codex/agents/cli-explore-agent.md +56 -11
  373. package/.codex/agents/cli-lite-planning-agent.md +906 -736
  374. package/.codex/agents/code-developer.md +147 -38
  375. package/.codex/agents/conceptual-planning-agent.md +5 -5
  376. package/.codex/agents/context-search-agent.md +8 -4
  377. package/.codex/agents/issue-plan-agent.md +11 -11
  378. package/.codex/agents/memory-bridge.md +2 -2
  379. package/.codex/agents/tdd-developer.md +512 -0
  380. package/.codex/agents/test-action-planning-agent.md +684 -0
  381. package/.codex/agents/test-fix-agent.md +19 -7
  382. package/.codex/agents/ui-design-agent.md +3 -3
  383. package/.codex/prompts/prep-cycle.md +416 -0
  384. package/.codex/prompts/prep-plan.md +371 -0
  385. package/.codex/skills/analyze-with-file/EXECUTE.md +716 -0
  386. package/.codex/skills/analyze-with-file/SKILL.md +1049 -0
  387. package/.codex/skills/brainstorm-with-file/SKILL.md +1033 -0
  388. package/.codex/skills/clean/SKILL.md +421 -0
  389. package/.codex/skills/collaborative-plan-with-file/SKILL.md +822 -0
  390. package/.codex/skills/debug-with-file/SKILL.md +617 -0
  391. package/.codex/skills/issue-discover/SKILL.md +353 -0
  392. package/.codex/skills/issue-discover/phases/01-issue-new.md +334 -0
  393. package/.codex/skills/issue-discover/phases/02-discover.md +369 -0
  394. package/.codex/skills/issue-discover/phases/03-discover-by-prompt.md +531 -0
  395. package/.codex/skills/issue-discover/phases/04-quick-execute.md +241 -0
  396. package/.codex/skills/memory-compact/SKILL.md +381 -0
  397. package/.codex/skills/parallel-dev-cycle/SKILL.md +401 -0
  398. package/.codex/skills/parallel-dev-cycle/phases/00-prep-checklist.md +191 -0
  399. package/.codex/skills/parallel-dev-cycle/phases/01-session-init.md +261 -0
  400. package/.codex/skills/parallel-dev-cycle/phases/02-agent-execution.md +449 -0
  401. package/.codex/skills/parallel-dev-cycle/phases/03-result-aggregation.md +230 -0
  402. package/.codex/skills/parallel-dev-cycle/phases/04-completion-summary.md +109 -0
  403. package/.codex/skills/parallel-dev-cycle/roles/code-developer.md +392 -0
  404. package/.codex/skills/parallel-dev-cycle/roles/exploration-planner.md +352 -0
  405. package/.codex/skills/parallel-dev-cycle/roles/requirements-analyst.md +433 -0
  406. package/.codex/skills/parallel-dev-cycle/roles/validation-archivist.md +447 -0
  407. package/.codex/skills/review-cycle/SKILL.md +476 -0
  408. package/.codex/skills/review-cycle/phases/01-discovery-initialization.md +341 -0
  409. package/.codex/skills/review-cycle/phases/02-parallel-review.md +546 -0
  410. package/.codex/skills/review-cycle/phases/03-aggregation.md +74 -0
  411. package/.codex/skills/review-cycle/phases/04-iterative-deep-dive.md +333 -0
  412. package/.codex/skills/review-cycle/phases/05-review-completion.md +173 -0
  413. package/.codex/skills/review-cycle/phases/06-fix-discovery-batching.md +238 -0
  414. package/.codex/skills/review-cycle/phases/07-fix-parallel-planning.md +223 -0
  415. package/.codex/skills/review-cycle/phases/08-fix-execution.md +238 -0
  416. package/.codex/skills/review-cycle/phases/09-fix-completion.md +141 -0
  417. package/.codex/skills/roadmap-with-file/SKILL.md +898 -0
  418. package/.codex/skills/team-lifecycle/agents/analyst.md +424 -0
  419. package/.codex/skills/team-lifecycle/agents/architect.md +274 -0
  420. package/.codex/skills/team-lifecycle/agents/discuss-agent.md +422 -0
  421. package/.codex/skills/team-lifecycle/agents/executor.md +423 -0
  422. package/.codex/skills/team-lifecycle/agents/explore-agent.md +471 -0
  423. package/.codex/skills/team-lifecycle/agents/fe-developer.md +239 -0
  424. package/.codex/skills/team-lifecycle/agents/fe-qa.md +357 -0
  425. package/.codex/skills/team-lifecycle/agents/planner.md +437 -0
  426. package/.codex/skills/team-lifecycle/agents/reviewer.md +483 -0
  427. package/.codex/skills/team-lifecycle/agents/tester.md +423 -0
  428. package/.codex/skills/team-lifecycle/agents/writer.md +502 -0
  429. package/.codex/skills/team-lifecycle/orchestrator.md +817 -0
  430. package/.codex/skills/team-lifecycle/phases/01-requirement-clarification.md +209 -0
  431. package/.codex/skills/team-lifecycle/phases/02-team-initialization.md +205 -0
  432. package/.codex/skills/team-lifecycle/phases/03-task-chain-creation.md +251 -0
  433. package/.codex/skills/team-lifecycle/phases/04-pipeline-coordination.md +719 -0
  434. package/.codex/skills/team-lifecycle/phases/05-completion-report.md +288 -0
  435. package/.codex/skills/team-lifecycle/specs/document-standards.md +192 -0
  436. package/.codex/skills/team-lifecycle/specs/quality-gates.md +207 -0
  437. package/.codex/skills/team-lifecycle/templates/architecture-doc.md +254 -0
  438. package/.codex/skills/team-lifecycle/templates/epics-template.md +196 -0
  439. package/.codex/skills/team-lifecycle/templates/product-brief.md +133 -0
  440. package/.codex/skills/team-lifecycle/templates/requirements-prd.md +224 -0
  441. package/.codex/skills/team-planex/agents/executor.md +217 -0
  442. package/.codex/skills/team-planex/agents/planner.md +183 -0
  443. package/.codex/skills/team-planex/orchestrator.md +284 -0
  444. package/.codex/skills/unified-execute-with-file/SKILL.md +786 -0
  445. package/.codex/skills/workflow-test-fix-cycle/SKILL.md +391 -0
  446. package/.codex/skills/workflow-test-fix-cycle/phases/01-test-fix-gen.md +452 -0
  447. package/.codex/skills/workflow-test-fix-cycle/phases/02-test-cycle-execute.md +476 -0
  448. package/README.md +187 -157
  449. package/ccw/README.md +46 -0
  450. package/ccw/bin/ccw-mcp.js +16 -1
  451. package/ccw/dist/cli.d.ts.map +1 -1
  452. package/ccw/dist/cli.js +58 -2
  453. package/ccw/dist/cli.js.map +1 -1
  454. package/ccw/dist/commands/cli.d.ts +3 -0
  455. package/ccw/dist/commands/cli.d.ts.map +1 -1
  456. package/ccw/dist/commands/cli.js +109 -63
  457. package/ccw/dist/commands/cli.js.map +1 -1
  458. package/ccw/dist/commands/core-memory.d.ts +5 -0
  459. package/ccw/dist/commands/core-memory.d.ts.map +1 -1
  460. package/ccw/dist/commands/core-memory.js +307 -2
  461. package/ccw/dist/commands/core-memory.js.map +1 -1
  462. package/ccw/dist/commands/hook.d.ts +3 -1
  463. package/ccw/dist/commands/hook.d.ts.map +1 -1
  464. package/ccw/dist/commands/hook.js +669 -85
  465. package/ccw/dist/commands/hook.js.map +1 -1
  466. package/ccw/dist/commands/install.d.ts +12 -0
  467. package/ccw/dist/commands/install.d.ts.map +1 -1
  468. package/ccw/dist/commands/install.js +313 -3
  469. package/ccw/dist/commands/install.js.map +1 -1
  470. package/ccw/dist/commands/issue.d.ts +18 -5
  471. package/ccw/dist/commands/issue.d.ts.map +1 -1
  472. package/ccw/dist/commands/issue.js +58 -19
  473. package/ccw/dist/commands/issue.js.map +1 -1
  474. package/ccw/dist/commands/memory.d.ts +1 -1
  475. package/ccw/dist/commands/memory.d.ts.map +1 -1
  476. package/ccw/dist/commands/memory.js +371 -1
  477. package/ccw/dist/commands/memory.js.map +1 -1
  478. package/ccw/dist/commands/serve.d.ts.map +1 -1
  479. package/ccw/dist/commands/serve.js +74 -4
  480. package/ccw/dist/commands/serve.js.map +1 -1
  481. package/ccw/dist/commands/spec.d.ts +24 -0
  482. package/ccw/dist/commands/spec.d.ts.map +1 -0
  483. package/ccw/dist/commands/spec.js +374 -0
  484. package/ccw/dist/commands/spec.js.map +1 -0
  485. package/ccw/dist/commands/stop.d.ts +0 -4
  486. package/ccw/dist/commands/stop.d.ts.map +1 -1
  487. package/ccw/dist/commands/stop.js +135 -12
  488. package/ccw/dist/commands/stop.js.map +1 -1
  489. package/ccw/dist/commands/team.d.ts +27 -0
  490. package/ccw/dist/commands/team.d.ts.map +1 -0
  491. package/ccw/dist/commands/team.js +164 -0
  492. package/ccw/dist/commands/team.js.map +1 -0
  493. package/ccw/dist/commands/upgrade.js +4 -2
  494. package/ccw/dist/commands/upgrade.js.map +1 -1
  495. package/ccw/dist/commands/view.d.ts.map +1 -1
  496. package/ccw/dist/commands/view.js +2 -3
  497. package/ccw/dist/commands/view.js.map +1 -1
  498. package/ccw/dist/commands/workflow.js +2 -2
  499. package/ccw/dist/commands/workflow.js.map +1 -1
  500. package/ccw/dist/config/cli-settings-manager.d.ts +12 -3
  501. package/ccw/dist/config/cli-settings-manager.d.ts.map +1 -1
  502. package/ccw/dist/config/cli-settings-manager.js +146 -12
  503. package/ccw/dist/config/cli-settings-manager.js.map +1 -1
  504. package/ccw/dist/config/litellm-static-models.d.ts +30 -0
  505. package/ccw/dist/config/litellm-static-models.d.ts.map +1 -0
  506. package/ccw/dist/config/litellm-static-models.js +82 -0
  507. package/ccw/dist/config/litellm-static-models.js.map +1 -0
  508. package/ccw/dist/config/provider-models.d.ts +5 -32
  509. package/ccw/dist/config/provider-models.d.ts.map +1 -1
  510. package/ccw/dist/config/provider-models.js +5 -103
  511. package/ccw/dist/config/provider-models.js.map +1 -1
  512. package/ccw/dist/config/remote-notification-config.d.ts +32 -0
  513. package/ccw/dist/config/remote-notification-config.d.ts.map +1 -0
  514. package/ccw/dist/config/remote-notification-config.js +131 -0
  515. package/ccw/dist/config/remote-notification-config.js.map +1 -0
  516. package/ccw/dist/config/storage-paths.d.ts +22 -0
  517. package/ccw/dist/config/storage-paths.d.ts.map +1 -1
  518. package/ccw/dist/config/storage-paths.js +27 -0
  519. package/ccw/dist/config/storage-paths.js.map +1 -1
  520. package/ccw/dist/core/a2ui/A2UITypes.d.ts +143 -0
  521. package/ccw/dist/core/a2ui/A2UITypes.d.ts.map +1 -0
  522. package/ccw/dist/core/a2ui/A2UITypes.js +84 -0
  523. package/ccw/dist/core/a2ui/A2UITypes.js.map +1 -0
  524. package/ccw/dist/core/a2ui/A2UIWebSocketHandler.d.ts +170 -0
  525. package/ccw/dist/core/a2ui/A2UIWebSocketHandler.d.ts.map +1 -0
  526. package/ccw/dist/core/a2ui/A2UIWebSocketHandler.js +718 -0
  527. package/ccw/dist/core/a2ui/A2UIWebSocketHandler.js.map +1 -0
  528. package/ccw/dist/core/a2ui/index.d.ts +3 -0
  529. package/ccw/dist/core/a2ui/index.d.ts.map +1 -0
  530. package/ccw/dist/core/a2ui/index.js +6 -0
  531. package/ccw/dist/core/a2ui/index.js.map +1 -0
  532. package/ccw/dist/core/auth/csrf-middleware.d.ts.map +1 -1
  533. package/ccw/dist/core/auth/csrf-middleware.js +26 -8
  534. package/ccw/dist/core/auth/csrf-middleware.js.map +1 -1
  535. package/ccw/dist/core/auth/middleware.d.ts.map +1 -1
  536. package/ccw/dist/core/auth/middleware.js +55 -0
  537. package/ccw/dist/core/auth/middleware.js.map +1 -1
  538. package/ccw/dist/core/core-memory-store.d.ts +99 -5
  539. package/ccw/dist/core/core-memory-store.d.ts.map +1 -1
  540. package/ccw/dist/core/core-memory-store.js +389 -56
  541. package/ccw/dist/core/core-memory-store.js.map +1 -1
  542. package/ccw/dist/core/data-aggregator.d.ts +6 -0
  543. package/ccw/dist/core/data-aggregator.d.ts.map +1 -1
  544. package/ccw/dist/core/data-aggregator.js +6 -35
  545. package/ccw/dist/core/data-aggregator.js.map +1 -1
  546. package/ccw/dist/core/hooks/context-limit-detector.d.ts +65 -0
  547. package/ccw/dist/core/hooks/context-limit-detector.d.ts.map +1 -0
  548. package/ccw/dist/core/hooks/context-limit-detector.js +91 -0
  549. package/ccw/dist/core/hooks/context-limit-detector.js.map +1 -0
  550. package/ccw/dist/core/hooks/index.d.ts +11 -0
  551. package/ccw/dist/core/hooks/index.d.ts.map +1 -0
  552. package/ccw/dist/core/hooks/index.js +16 -0
  553. package/ccw/dist/core/hooks/index.js.map +1 -0
  554. package/ccw/dist/core/hooks/keyword-detector.d.ts +106 -0
  555. package/ccw/dist/core/hooks/keyword-detector.d.ts.map +1 -0
  556. package/ccw/dist/core/hooks/keyword-detector.js +194 -0
  557. package/ccw/dist/core/hooks/keyword-detector.js.map +1 -0
  558. package/ccw/dist/core/hooks/recovery-handler.d.ts +114 -0
  559. package/ccw/dist/core/hooks/recovery-handler.d.ts.map +1 -0
  560. package/ccw/dist/core/hooks/recovery-handler.js +244 -0
  561. package/ccw/dist/core/hooks/recovery-handler.js.map +1 -0
  562. package/ccw/dist/core/hooks/stop-handler.d.ts +128 -0
  563. package/ccw/dist/core/hooks/stop-handler.d.ts.map +1 -0
  564. package/ccw/dist/core/hooks/stop-handler.js +269 -0
  565. package/ccw/dist/core/hooks/stop-handler.js.map +1 -0
  566. package/ccw/dist/core/hooks/user-abort-detector.d.ts +76 -0
  567. package/ccw/dist/core/hooks/user-abort-detector.d.ts.map +1 -0
  568. package/ccw/dist/core/hooks/user-abort-detector.js +168 -0
  569. package/ccw/dist/core/hooks/user-abort-detector.js.map +1 -0
  570. package/ccw/dist/core/lite-scanner-complete.d.ts +18 -3
  571. package/ccw/dist/core/lite-scanner-complete.d.ts.map +1 -1
  572. package/ccw/dist/core/lite-scanner-complete.js +54 -12
  573. package/ccw/dist/core/lite-scanner-complete.js.map +1 -1
  574. package/ccw/dist/core/lite-scanner.d.ts +74 -3
  575. package/ccw/dist/core/lite-scanner.d.ts.map +1 -1
  576. package/ccw/dist/core/lite-scanner.js +57 -12
  577. package/ccw/dist/core/lite-scanner.js.map +1 -1
  578. package/ccw/dist/core/memory-consolidation-pipeline.d.ts +126 -0
  579. package/ccw/dist/core/memory-consolidation-pipeline.d.ts.map +1 -0
  580. package/ccw/dist/core/memory-consolidation-pipeline.js +364 -0
  581. package/ccw/dist/core/memory-consolidation-pipeline.js.map +1 -0
  582. package/ccw/dist/core/memory-consolidation-prompts.d.ts +27 -0
  583. package/ccw/dist/core/memory-consolidation-prompts.d.ts.map +1 -0
  584. package/ccw/dist/core/memory-consolidation-prompts.js +103 -0
  585. package/ccw/dist/core/memory-consolidation-prompts.js.map +1 -0
  586. package/ccw/dist/core/memory-embedder-bridge.d.ts +22 -0
  587. package/ccw/dist/core/memory-embedder-bridge.d.ts.map +1 -1
  588. package/ccw/dist/core/memory-embedder-bridge.js +85 -0
  589. package/ccw/dist/core/memory-embedder-bridge.js.map +1 -1
  590. package/ccw/dist/core/memory-extraction-pipeline.d.ts +244 -0
  591. package/ccw/dist/core/memory-extraction-pipeline.d.ts.map +1 -0
  592. package/ccw/dist/core/memory-extraction-pipeline.js +934 -0
  593. package/ccw/dist/core/memory-extraction-pipeline.js.map +1 -0
  594. package/ccw/dist/core/memory-extraction-prompts.d.ts +29 -0
  595. package/ccw/dist/core/memory-extraction-prompts.d.ts.map +1 -0
  596. package/ccw/dist/core/memory-extraction-prompts.js +99 -0
  597. package/ccw/dist/core/memory-extraction-prompts.js.map +1 -0
  598. package/ccw/dist/core/memory-job-scheduler.d.ts +92 -0
  599. package/ccw/dist/core/memory-job-scheduler.d.ts.map +1 -0
  600. package/ccw/dist/core/memory-job-scheduler.js +264 -0
  601. package/ccw/dist/core/memory-job-scheduler.js.map +1 -0
  602. package/ccw/dist/core/memory-v2-config.d.ts +48 -0
  603. package/ccw/dist/core/memory-v2-config.d.ts.map +1 -0
  604. package/ccw/dist/core/memory-v2-config.js +51 -0
  605. package/ccw/dist/core/memory-v2-config.js.map +1 -0
  606. package/ccw/dist/core/mode-workflow-map.d.ts +148 -0
  607. package/ccw/dist/core/mode-workflow-map.d.ts.map +1 -0
  608. package/ccw/dist/core/mode-workflow-map.js +271 -0
  609. package/ccw/dist/core/mode-workflow-map.js.map +1 -0
  610. package/ccw/dist/core/pattern-detector.d.ts +99 -0
  611. package/ccw/dist/core/pattern-detector.d.ts.map +1 -0
  612. package/ccw/dist/core/pattern-detector.js +385 -0
  613. package/ccw/dist/core/pattern-detector.js.map +1 -0
  614. package/ccw/dist/core/routes/analysis-routes.d.ts +40 -0
  615. package/ccw/dist/core/routes/analysis-routes.d.ts.map +1 -0
  616. package/ccw/dist/core/routes/analysis-routes.js +172 -0
  617. package/ccw/dist/core/routes/analysis-routes.js.map +1 -0
  618. package/ccw/dist/core/routes/audit-routes.d.ts +14 -0
  619. package/ccw/dist/core/routes/audit-routes.d.ts.map +1 -0
  620. package/ccw/dist/core/routes/audit-routes.js +150 -0
  621. package/ccw/dist/core/routes/audit-routes.js.map +1 -0
  622. package/ccw/dist/core/routes/ccw-routes.d.ts.map +1 -1
  623. package/ccw/dist/core/routes/ccw-routes.js +87 -0
  624. package/ccw/dist/core/routes/ccw-routes.js.map +1 -1
  625. package/ccw/dist/core/routes/claude-routes.js +13 -13
  626. package/ccw/dist/core/routes/claude-routes.js.map +1 -1
  627. package/ccw/dist/core/routes/cli-routes.d.ts +6 -2
  628. package/ccw/dist/core/routes/cli-routes.d.ts.map +1 -1
  629. package/ccw/dist/core/routes/cli-routes.js +308 -22
  630. package/ccw/dist/core/routes/cli-routes.js.map +1 -1
  631. package/ccw/dist/core/routes/cli-sessions-routes.d.ts +20 -0
  632. package/ccw/dist/core/routes/cli-sessions-routes.d.ts.map +1 -0
  633. package/ccw/dist/core/routes/cli-sessions-routes.js +449 -0
  634. package/ccw/dist/core/routes/cli-sessions-routes.js.map +1 -0
  635. package/ccw/dist/core/routes/cli-settings-routes.d.ts.map +1 -1
  636. package/ccw/dist/core/routes/cli-settings-routes.js +217 -3
  637. package/ccw/dist/core/routes/cli-settings-routes.js.map +1 -1
  638. package/ccw/dist/core/routes/codexlens/config-handlers.d.ts.map +1 -1
  639. package/ccw/dist/core/routes/codexlens/config-handlers.js +164 -26
  640. package/ccw/dist/core/routes/codexlens/config-handlers.js.map +1 -1
  641. package/ccw/dist/core/routes/codexlens/index-handlers.d.ts.map +1 -1
  642. package/ccw/dist/core/routes/codexlens/index-handlers.js +98 -1
  643. package/ccw/dist/core/routes/codexlens/index-handlers.js.map +1 -1
  644. package/ccw/dist/core/routes/codexlens/semantic-handlers.d.ts.map +1 -1
  645. package/ccw/dist/core/routes/codexlens/semantic-handlers.js +308 -0
  646. package/ccw/dist/core/routes/codexlens/semantic-handlers.js.map +1 -1
  647. package/ccw/dist/core/routes/commands-routes.d.ts.map +1 -1
  648. package/ccw/dist/core/routes/commands-routes.js +399 -1
  649. package/ccw/dist/core/routes/commands-routes.js.map +1 -1
  650. package/ccw/dist/core/routes/config-routes.d.ts +22 -0
  651. package/ccw/dist/core/routes/config-routes.d.ts.map +1 -0
  652. package/ccw/dist/core/routes/config-routes.js +291 -0
  653. package/ccw/dist/core/routes/config-routes.js.map +1 -0
  654. package/ccw/dist/core/routes/core-memory-routes.d.ts.map +1 -1
  655. package/ccw/dist/core/routes/core-memory-routes.js +461 -5
  656. package/ccw/dist/core/routes/core-memory-routes.js.map +1 -1
  657. package/ccw/dist/core/routes/dashboard-routes.d.ts +15 -0
  658. package/ccw/dist/core/routes/dashboard-routes.d.ts.map +1 -0
  659. package/ccw/dist/core/routes/dashboard-routes.js +121 -0
  660. package/ccw/dist/core/routes/dashboard-routes.js.map +1 -0
  661. package/ccw/dist/core/routes/files-routes.d.ts.map +1 -1
  662. package/ccw/dist/core/routes/files-routes.js +296 -8
  663. package/ccw/dist/core/routes/files-routes.js.map +1 -1
  664. package/ccw/dist/core/routes/hooks-routes.d.ts.map +1 -1
  665. package/ccw/dist/core/routes/hooks-routes.js +274 -67
  666. package/ccw/dist/core/routes/hooks-routes.js.map +1 -1
  667. package/ccw/dist/core/routes/issue-routes.d.ts.map +1 -1
  668. package/ccw/dist/core/routes/issue-routes.js +399 -27
  669. package/ccw/dist/core/routes/issue-routes.js.map +1 -1
  670. package/ccw/dist/core/routes/litellm-api-routes.d.ts.map +1 -1
  671. package/ccw/dist/core/routes/litellm-api-routes.js +74 -135
  672. package/ccw/dist/core/routes/litellm-api-routes.js.map +1 -1
  673. package/ccw/dist/core/routes/mcp-routes.d.ts.map +1 -1
  674. package/ccw/dist/core/routes/mcp-routes.js +79 -15
  675. package/ccw/dist/core/routes/mcp-routes.js.map +1 -1
  676. package/ccw/dist/core/routes/mcp-templates-db.d.ts.map +1 -1
  677. package/ccw/dist/core/routes/mcp-templates-db.js +20 -7
  678. package/ccw/dist/core/routes/mcp-templates-db.js.map +1 -1
  679. package/ccw/dist/core/routes/memory-routes.d.ts.map +1 -1
  680. package/ccw/dist/core/routes/memory-routes.js +137 -0
  681. package/ccw/dist/core/routes/memory-routes.js.map +1 -1
  682. package/ccw/dist/core/routes/notification-routes.d.ts +10 -0
  683. package/ccw/dist/core/routes/notification-routes.d.ts.map +1 -0
  684. package/ccw/dist/core/routes/notification-routes.js +507 -0
  685. package/ccw/dist/core/routes/notification-routes.js.map +1 -0
  686. package/ccw/dist/core/routes/orchestrator-routes.d.ts +282 -0
  687. package/ccw/dist/core/routes/orchestrator-routes.d.ts.map +1 -0
  688. package/ccw/dist/core/routes/orchestrator-routes.js +1564 -0
  689. package/ccw/dist/core/routes/orchestrator-routes.js.map +1 -0
  690. package/ccw/dist/core/routes/provider-routes.d.ts +4 -0
  691. package/ccw/dist/core/routes/provider-routes.d.ts.map +1 -1
  692. package/ccw/dist/core/routes/provider-routes.js +45 -11
  693. package/ccw/dist/core/routes/provider-routes.js.map +1 -1
  694. package/ccw/dist/core/routes/queue-routes.d.ts +22 -0
  695. package/ccw/dist/core/routes/queue-routes.d.ts.map +1 -0
  696. package/ccw/dist/core/routes/queue-routes.js +164 -0
  697. package/ccw/dist/core/routes/queue-routes.js.map +1 -0
  698. package/ccw/dist/core/routes/skill-hub-routes.d.ts +77 -0
  699. package/ccw/dist/core/routes/skill-hub-routes.d.ts.map +1 -0
  700. package/ccw/dist/core/routes/skill-hub-routes.js +988 -0
  701. package/ccw/dist/core/routes/skill-hub-routes.js.map +1 -0
  702. package/ccw/dist/core/routes/skills-routes.d.ts.map +1 -1
  703. package/ccw/dist/core/routes/skills-routes.js +105 -62
  704. package/ccw/dist/core/routes/skills-routes.js.map +1 -1
  705. package/ccw/dist/core/routes/spec-routes.d.ts +7 -0
  706. package/ccw/dist/core/routes/spec-routes.d.ts.map +1 -0
  707. package/ccw/dist/core/routes/spec-routes.js +266 -0
  708. package/ccw/dist/core/routes/spec-routes.js.map +1 -0
  709. package/ccw/dist/core/routes/status-routes.js +4 -4
  710. package/ccw/dist/core/routes/status-routes.js.map +1 -1
  711. package/ccw/dist/core/routes/system-routes.d.ts.map +1 -1
  712. package/ccw/dist/core/routes/system-routes.js +537 -6
  713. package/ccw/dist/core/routes/system-routes.js.map +1 -1
  714. package/ccw/dist/core/routes/team-routes.d.ts +27 -0
  715. package/ccw/dist/core/routes/team-routes.d.ts.map +1 -0
  716. package/ccw/dist/core/routes/team-routes.js +557 -0
  717. package/ccw/dist/core/routes/team-routes.js.map +1 -0
  718. package/ccw/dist/core/routes/unified-memory-routes.d.ts +16 -0
  719. package/ccw/dist/core/routes/unified-memory-routes.d.ts.map +1 -0
  720. package/ccw/dist/core/routes/unified-memory-routes.js +135 -0
  721. package/ccw/dist/core/routes/unified-memory-routes.js.map +1 -0
  722. package/ccw/dist/core/routes/unsplash-routes.d.ts +4 -0
  723. package/ccw/dist/core/routes/unsplash-routes.d.ts.map +1 -0
  724. package/ccw/dist/core/routes/unsplash-routes.js +197 -0
  725. package/ccw/dist/core/routes/unsplash-routes.js.map +1 -0
  726. package/ccw/dist/core/schemas/issue-schema.d.ts +115 -0
  727. package/ccw/dist/core/schemas/issue-schema.d.ts.map +1 -0
  728. package/ccw/dist/core/schemas/issue-schema.js +117 -0
  729. package/ccw/dist/core/schemas/issue-schema.js.map +1 -0
  730. package/ccw/dist/core/server.d.ts +1 -0
  731. package/ccw/dist/core/server.d.ts.map +1 -1
  732. package/ccw/dist/core/server.js +223 -218
  733. package/ccw/dist/core/server.js.map +1 -1
  734. package/ccw/dist/core/services/checkpoint-service.d.ts +215 -0
  735. package/ccw/dist/core/services/checkpoint-service.d.ts.map +1 -0
  736. package/ccw/dist/core/services/checkpoint-service.js +376 -0
  737. package/ccw/dist/core/services/checkpoint-service.js.map +1 -0
  738. package/ccw/dist/core/services/cli-instruction-assembler.d.ts +10 -0
  739. package/ccw/dist/core/services/cli-instruction-assembler.d.ts.map +1 -0
  740. package/ccw/dist/core/services/cli-instruction-assembler.js +28 -0
  741. package/ccw/dist/core/services/cli-instruction-assembler.js.map +1 -0
  742. package/ccw/dist/core/services/cli-launch-registry.d.ts +9 -0
  743. package/ccw/dist/core/services/cli-launch-registry.d.ts.map +1 -0
  744. package/ccw/dist/core/services/cli-launch-registry.js +40 -0
  745. package/ccw/dist/core/services/cli-launch-registry.js.map +1 -0
  746. package/ccw/dist/core/services/cli-session-audit.d.ts +15 -0
  747. package/ccw/dist/core/services/cli-session-audit.d.ts.map +1 -0
  748. package/ccw/dist/core/services/cli-session-audit.js +18 -0
  749. package/ccw/dist/core/services/cli-session-audit.js.map +1 -0
  750. package/ccw/dist/core/services/cli-session-command-builder.d.ts +20 -0
  751. package/ccw/dist/core/services/cli-session-command-builder.d.ts.map +1 -0
  752. package/ccw/dist/core/services/cli-session-command-builder.js +66 -0
  753. package/ccw/dist/core/services/cli-session-command-builder.js.map +1 -0
  754. package/ccw/dist/core/services/cli-session-manager.d.ts +84 -0
  755. package/ccw/dist/core/services/cli-session-manager.d.ts.map +1 -0
  756. package/ccw/dist/core/services/cli-session-manager.js +538 -0
  757. package/ccw/dist/core/services/cli-session-manager.js.map +1 -0
  758. package/ccw/dist/core/services/cli-session-mux.d.ts +18 -0
  759. package/ccw/dist/core/services/cli-session-mux.d.ts.map +1 -0
  760. package/ccw/dist/core/services/cli-session-mux.js +18 -0
  761. package/ccw/dist/core/services/cli-session-mux.js.map +1 -0
  762. package/ccw/dist/core/services/cli-session-policy.d.ts +15 -0
  763. package/ccw/dist/core/services/cli-session-policy.d.ts.map +1 -0
  764. package/ccw/dist/core/services/cli-session-policy.js +40 -0
  765. package/ccw/dist/core/services/cli-session-policy.js.map +1 -0
  766. package/ccw/dist/core/services/cli-session-share.d.ts +27 -0
  767. package/ccw/dist/core/services/cli-session-share.d.ts.map +1 -0
  768. package/ccw/dist/core/services/cli-session-share.js +85 -0
  769. package/ccw/dist/core/services/cli-session-share.js.map +1 -0
  770. package/ccw/dist/core/services/config-backup.d.ts +69 -0
  771. package/ccw/dist/core/services/config-backup.d.ts.map +1 -0
  772. package/ccw/dist/core/services/config-backup.js +171 -0
  773. package/ccw/dist/core/services/config-backup.js.map +1 -0
  774. package/ccw/dist/core/services/config-sync.d.ts +73 -0
  775. package/ccw/dist/core/services/config-sync.d.ts.map +1 -0
  776. package/ccw/dist/core/services/config-sync.js +235 -0
  777. package/ccw/dist/core/services/config-sync.js.map +1 -0
  778. package/ccw/dist/core/services/flow-executor.d.ts +204 -0
  779. package/ccw/dist/core/services/flow-executor.d.ts.map +1 -0
  780. package/ccw/dist/core/services/flow-executor.js +775 -0
  781. package/ccw/dist/core/services/flow-executor.js.map +1 -0
  782. package/ccw/dist/core/services/hook-context-service.d.ts +139 -0
  783. package/ccw/dist/core/services/hook-context-service.d.ts.map +1 -0
  784. package/ccw/dist/core/services/hook-context-service.js +248 -0
  785. package/ccw/dist/core/services/hook-context-service.js.map +1 -0
  786. package/ccw/dist/core/services/index.d.ts +22 -0
  787. package/ccw/dist/core/services/index.d.ts.map +1 -0
  788. package/ccw/dist/core/services/index.js +22 -0
  789. package/ccw/dist/core/services/index.js.map +1 -0
  790. package/ccw/dist/core/services/issue-service.d.ts +54 -0
  791. package/ccw/dist/core/services/issue-service.d.ts.map +1 -0
  792. package/ccw/dist/core/services/issue-service.js +107 -0
  793. package/ccw/dist/core/services/issue-service.js.map +1 -0
  794. package/ccw/dist/core/services/mode-registry-service.d.ts +254 -0
  795. package/ccw/dist/core/services/mode-registry-service.d.ts.map +1 -0
  796. package/ccw/dist/core/services/mode-registry-service.js +587 -0
  797. package/ccw/dist/core/services/mode-registry-service.js.map +1 -0
  798. package/ccw/dist/core/services/pending-question-service.d.ts +51 -0
  799. package/ccw/dist/core/services/pending-question-service.d.ts.map +1 -0
  800. package/ccw/dist/core/services/pending-question-service.js +201 -0
  801. package/ccw/dist/core/services/pending-question-service.js.map +1 -0
  802. package/ccw/dist/core/services/queue-scheduler-service.d.ts +136 -0
  803. package/ccw/dist/core/services/queue-scheduler-service.d.ts.map +1 -0
  804. package/ccw/dist/core/services/queue-scheduler-service.js +587 -0
  805. package/ccw/dist/core/services/queue-scheduler-service.js.map +1 -0
  806. package/ccw/dist/core/services/rate-limiter.d.ts +20 -0
  807. package/ccw/dist/core/services/rate-limiter.d.ts.map +1 -0
  808. package/ccw/dist/core/services/rate-limiter.js +33 -0
  809. package/ccw/dist/core/services/rate-limiter.js.map +1 -0
  810. package/ccw/dist/core/services/remote-notification-service.d.ts +132 -0
  811. package/ccw/dist/core/services/remote-notification-service.d.ts.map +1 -0
  812. package/ccw/dist/core/services/remote-notification-service.js +953 -0
  813. package/ccw/dist/core/services/remote-notification-service.js.map +1 -0
  814. package/ccw/dist/core/services/session-end-service.d.ts +155 -0
  815. package/ccw/dist/core/services/session-end-service.d.ts.map +1 -0
  816. package/ccw/dist/core/services/session-end-service.js +302 -0
  817. package/ccw/dist/core/services/session-end-service.js.map +1 -0
  818. package/ccw/dist/core/services/session-state-service.d.ts +148 -0
  819. package/ccw/dist/core/services/session-state-service.d.ts.map +1 -0
  820. package/ccw/dist/core/services/session-state-service.js +259 -0
  821. package/ccw/dist/core/services/session-state-service.js.map +1 -0
  822. package/ccw/dist/core/services/version-checker.d.ts +50 -0
  823. package/ccw/dist/core/services/version-checker.d.ts.map +1 -0
  824. package/ccw/dist/core/services/version-checker.js +141 -0
  825. package/ccw/dist/core/services/version-checker.js.map +1 -0
  826. package/ccw/dist/core/session-clustering-service.d.ts +43 -2
  827. package/ccw/dist/core/session-clustering-service.d.ts.map +1 -1
  828. package/ccw/dist/core/session-clustering-service.js +210 -6
  829. package/ccw/dist/core/session-clustering-service.js.map +1 -1
  830. package/ccw/dist/core/types/issue.d.ts +103 -0
  831. package/ccw/dist/core/types/issue.d.ts.map +1 -0
  832. package/ccw/dist/core/types/issue.js +6 -0
  833. package/ccw/dist/core/types/issue.js.map +1 -0
  834. package/ccw/dist/core/unified-context-builder.d.ts +88 -0
  835. package/ccw/dist/core/unified-context-builder.d.ts.map +1 -0
  836. package/ccw/dist/core/unified-context-builder.js +379 -0
  837. package/ccw/dist/core/unified-context-builder.js.map +1 -0
  838. package/ccw/dist/core/unified-memory-service.d.ts +142 -0
  839. package/ccw/dist/core/unified-memory-service.d.ts.map +1 -0
  840. package/ccw/dist/core/unified-memory-service.js +348 -0
  841. package/ccw/dist/core/unified-memory-service.js.map +1 -0
  842. package/ccw/dist/core/unified-vector-index.d.ts +171 -0
  843. package/ccw/dist/core/unified-vector-index.d.ts.map +1 -0
  844. package/ccw/dist/core/unified-vector-index.js +332 -0
  845. package/ccw/dist/core/unified-vector-index.js.map +1 -0
  846. package/ccw/dist/core/websocket.d.ts +195 -0
  847. package/ccw/dist/core/websocket.d.ts.map +1 -1
  848. package/ccw/dist/core/websocket.js +156 -25
  849. package/ccw/dist/core/websocket.js.map +1 -1
  850. package/ccw/dist/index.d.ts +0 -1
  851. package/ccw/dist/index.d.ts.map +1 -1
  852. package/ccw/dist/index.js +0 -1
  853. package/ccw/dist/index.js.map +1 -1
  854. package/ccw/dist/mcp-server/index.js +16 -8
  855. package/ccw/dist/mcp-server/index.js.map +1 -1
  856. package/ccw/dist/tools/ask-question.d.ts +43 -0
  857. package/ccw/dist/tools/ask-question.d.ts.map +1 -0
  858. package/ccw/dist/tools/ask-question.js +1061 -0
  859. package/ccw/dist/tools/ask-question.js.map +1 -0
  860. package/ccw/dist/tools/claude-cli-tools.d.ts +18 -4
  861. package/ccw/dist/tools/claude-cli-tools.d.ts.map +1 -1
  862. package/ccw/dist/tools/claude-cli-tools.js +44 -37
  863. package/ccw/dist/tools/claude-cli-tools.js.map +1 -1
  864. package/ccw/dist/tools/claude-session-parser.d.ts +116 -0
  865. package/ccw/dist/tools/claude-session-parser.d.ts.map +1 -0
  866. package/ccw/dist/tools/claude-session-parser.js +364 -0
  867. package/ccw/dist/tools/claude-session-parser.js.map +1 -0
  868. package/ccw/dist/tools/cli-config-manager.d.ts +3 -0
  869. package/ccw/dist/tools/cli-config-manager.d.ts.map +1 -1
  870. package/ccw/dist/tools/cli-config-manager.js +4 -1
  871. package/ccw/dist/tools/cli-config-manager.js.map +1 -1
  872. package/ccw/dist/tools/cli-executor-core.d.ts +24 -0
  873. package/ccw/dist/tools/cli-executor-core.d.ts.map +1 -1
  874. package/ccw/dist/tools/cli-executor-core.js +103 -8
  875. package/ccw/dist/tools/cli-executor-core.js.map +1 -1
  876. package/ccw/dist/tools/cli-executor-state.d.ts.map +1 -1
  877. package/ccw/dist/tools/cli-executor-state.js +4 -4
  878. package/ccw/dist/tools/cli-executor-state.js.map +1 -1
  879. package/ccw/dist/tools/cli-executor-utils.d.ts +2 -0
  880. package/ccw/dist/tools/cli-executor-utils.d.ts.map +1 -1
  881. package/ccw/dist/tools/cli-executor-utils.js +14 -5
  882. package/ccw/dist/tools/cli-executor-utils.js.map +1 -1
  883. package/ccw/dist/tools/cli-history-store.d.ts +11 -6
  884. package/ccw/dist/tools/cli-history-store.d.ts.map +1 -1
  885. package/ccw/dist/tools/cli-history-store.js +134 -17
  886. package/ccw/dist/tools/cli-history-store.js.map +1 -1
  887. package/ccw/dist/tools/cli-output-converter.d.ts +7 -0
  888. package/ccw/dist/tools/cli-output-converter.d.ts.map +1 -1
  889. package/ccw/dist/tools/cli-output-converter.js +166 -16
  890. package/ccw/dist/tools/cli-output-converter.js.map +1 -1
  891. package/ccw/dist/tools/codex-lens.d.ts +13 -0
  892. package/ccw/dist/tools/codex-lens.d.ts.map +1 -1
  893. package/ccw/dist/tools/codex-lens.js +200 -185
  894. package/ccw/dist/tools/codex-lens.js.map +1 -1
  895. package/ccw/dist/tools/command-registry.test.js +727 -0
  896. package/ccw/dist/tools/core-memory.d.ts +35 -1
  897. package/ccw/dist/tools/core-memory.d.ts.map +1 -1
  898. package/ccw/dist/tools/core-memory.js +195 -5
  899. package/ccw/dist/tools/core-memory.js.map +1 -1
  900. package/ccw/dist/tools/edit-file.d.ts.map +1 -1
  901. package/ccw/dist/tools/edit-file.js +69 -31
  902. package/ccw/dist/tools/edit-file.js.map +1 -1
  903. package/ccw/dist/tools/generate-module-docs.d.ts.map +1 -1
  904. package/ccw/dist/tools/generate-module-docs.js +9 -14
  905. package/ccw/dist/tools/generate-module-docs.js.map +1 -1
  906. package/ccw/dist/tools/index.d.ts.map +1 -1
  907. package/ccw/dist/tools/index.js +8 -2
  908. package/ccw/dist/tools/index.js.map +1 -1
  909. package/ccw/dist/tools/native-session-discovery.d.ts +19 -2
  910. package/ccw/dist/tools/native-session-discovery.d.ts.map +1 -1
  911. package/ccw/dist/tools/native-session-discovery.js +191 -20
  912. package/ccw/dist/tools/native-session-discovery.js.map +1 -1
  913. package/ccw/dist/tools/opencode-session-parser.d.ts +120 -0
  914. package/ccw/dist/tools/opencode-session-parser.d.ts.map +1 -0
  915. package/ccw/dist/tools/opencode-session-parser.js +330 -0
  916. package/ccw/dist/tools/opencode-session-parser.js.map +1 -0
  917. package/ccw/dist/tools/read-file.d.ts +5 -24
  918. package/ccw/dist/tools/read-file.d.ts.map +1 -1
  919. package/ccw/dist/tools/read-file.js +44 -282
  920. package/ccw/dist/tools/read-file.js.map +1 -1
  921. package/ccw/dist/tools/read-many-files.d.ts +15 -0
  922. package/ccw/dist/tools/read-many-files.d.ts.map +1 -0
  923. package/ccw/dist/tools/read-many-files.js +166 -0
  924. package/ccw/dist/tools/read-many-files.js.map +1 -0
  925. package/ccw/dist/tools/read-outline.d.ts +13 -0
  926. package/ccw/dist/tools/read-outline.d.ts.map +1 -0
  927. package/ccw/dist/tools/read-outline.js +86 -0
  928. package/ccw/dist/tools/read-outline.js.map +1 -0
  929. package/ccw/dist/tools/resume-strategy.d.ts.map +1 -1
  930. package/ccw/dist/tools/resume-strategy.js +16 -0
  931. package/ccw/dist/tools/resume-strategy.js.map +1 -1
  932. package/ccw/dist/tools/session-content-parser.d.ts +3 -3
  933. package/ccw/dist/tools/session-content-parser.d.ts.map +1 -1
  934. package/ccw/dist/tools/session-content-parser.js +40 -10
  935. package/ccw/dist/tools/session-content-parser.js.map +1 -1
  936. package/ccw/dist/tools/spec-index-builder.d.ts +140 -0
  937. package/ccw/dist/tools/spec-index-builder.d.ts.map +1 -0
  938. package/ccw/dist/tools/spec-index-builder.js +340 -0
  939. package/ccw/dist/tools/spec-index-builder.js.map +1 -0
  940. package/ccw/dist/tools/spec-init.d.ts +46 -0
  941. package/ccw/dist/tools/spec-init.d.ts.map +1 -0
  942. package/ccw/dist/tools/spec-init.js +226 -0
  943. package/ccw/dist/tools/spec-init.js.map +1 -0
  944. package/ccw/dist/tools/spec-keyword-extractor.d.ts +52 -0
  945. package/ccw/dist/tools/spec-keyword-extractor.d.ts.map +1 -0
  946. package/ccw/dist/tools/spec-keyword-extractor.js +183 -0
  947. package/ccw/dist/tools/spec-keyword-extractor.js.map +1 -0
  948. package/ccw/dist/tools/spec-loader.d.ts +119 -0
  949. package/ccw/dist/tools/spec-loader.d.ts.map +1 -0
  950. package/ccw/dist/tools/spec-loader.js +326 -0
  951. package/ccw/dist/tools/spec-loader.js.map +1 -0
  952. package/ccw/dist/tools/team-msg.d.ts +61 -0
  953. package/ccw/dist/tools/team-msg.d.ts.map +1 -0
  954. package/ccw/dist/tools/team-msg.js +331 -0
  955. package/ccw/dist/tools/team-msg.js.map +1 -0
  956. package/ccw/dist/tools/template-discovery.d.ts +1 -1
  957. package/ccw/dist/tools/template-discovery.js +2 -2
  958. package/ccw/dist/tools/template-discovery.js.map +1 -1
  959. package/ccw/dist/tools/ui-generate-preview.js +7 -7
  960. package/ccw/dist/tools/ui-generate-preview.js.map +1 -1
  961. package/ccw/dist/tools/update-module-claude.d.ts.map +1 -1
  962. package/ccw/dist/tools/update-module-claude.js +18 -32
  963. package/ccw/dist/tools/update-module-claude.js.map +1 -1
  964. package/ccw/dist/types/cli-settings.d.ts +139 -9
  965. package/ccw/dist/types/cli-settings.d.ts.map +1 -1
  966. package/ccw/dist/types/cli-settings.js +67 -13
  967. package/ccw/dist/types/cli-settings.js.map +1 -1
  968. package/ccw/dist/types/queue-types.d.ts +156 -0
  969. package/ccw/dist/types/queue-types.d.ts.map +1 -0
  970. package/ccw/dist/types/queue-types.js +6 -0
  971. package/ccw/dist/types/queue-types.js.map +1 -0
  972. package/ccw/dist/types/remote-notification.d.ts +209 -0
  973. package/ccw/dist/types/remote-notification.d.ts.map +1 -0
  974. package/ccw/dist/types/remote-notification.js +86 -0
  975. package/ccw/dist/types/remote-notification.js.map +1 -0
  976. package/ccw/dist/types/util.d.ts +28 -0
  977. package/ccw/dist/types/util.d.ts.map +1 -0
  978. package/ccw/dist/types/util.js +35 -0
  979. package/ccw/dist/types/util.js.map +1 -0
  980. package/ccw/dist/utils/dashboard-launcher.d.ts +36 -0
  981. package/ccw/dist/utils/dashboard-launcher.d.ts.map +1 -0
  982. package/ccw/dist/utils/dashboard-launcher.js +166 -0
  983. package/ccw/dist/utils/dashboard-launcher.js.map +1 -0
  984. package/ccw/dist/utils/db-loader.d.ts +15 -0
  985. package/ccw/dist/utils/db-loader.d.ts.map +1 -0
  986. package/ccw/dist/utils/db-loader.js +51 -0
  987. package/ccw/dist/utils/db-loader.js.map +1 -0
  988. package/ccw/dist/utils/file-reader.d.ts +73 -0
  989. package/ccw/dist/utils/file-reader.d.ts.map +1 -0
  990. package/ccw/dist/utils/file-reader.js +201 -0
  991. package/ccw/dist/utils/file-reader.js.map +1 -0
  992. package/ccw/dist/utils/outline-parser.d.ts +28 -0
  993. package/ccw/dist/utils/outline-parser.d.ts.map +1 -0
  994. package/ccw/dist/utils/outline-parser.js +273 -0
  995. package/ccw/dist/utils/outline-parser.js.map +1 -0
  996. package/ccw/dist/utils/outline-queries.d.ts +15 -0
  997. package/ccw/dist/utils/outline-queries.d.ts.map +1 -0
  998. package/ccw/dist/utils/outline-queries.js +141 -0
  999. package/ccw/dist/utils/outline-queries.js.map +1 -0
  1000. package/ccw/dist/utils/package-discovery.d.ts +69 -0
  1001. package/ccw/dist/utils/package-discovery.d.ts.map +1 -0
  1002. package/ccw/dist/utils/package-discovery.js +258 -0
  1003. package/ccw/dist/utils/package-discovery.js.map +1 -0
  1004. package/ccw/dist/utils/path-validator.d.ts +3 -3
  1005. package/ccw/dist/utils/path-validator.d.ts.map +1 -1
  1006. package/ccw/dist/utils/path-validator.js +12 -12
  1007. package/ccw/dist/utils/path-validator.js.map +1 -1
  1008. package/ccw/dist/utils/react-frontend.d.ts +19 -0
  1009. package/ccw/dist/utils/react-frontend.d.ts.map +1 -0
  1010. package/ccw/dist/utils/react-frontend.js +203 -0
  1011. package/ccw/dist/utils/react-frontend.js.map +1 -0
  1012. package/ccw/dist/utils/secret-redactor.d.ts +23 -0
  1013. package/ccw/dist/utils/secret-redactor.d.ts.map +1 -0
  1014. package/ccw/dist/utils/secret-redactor.js +48 -0
  1015. package/ccw/dist/utils/secret-redactor.js.map +1 -0
  1016. package/ccw/dist/utils/security-validation.d.ts +48 -0
  1017. package/ccw/dist/utils/security-validation.d.ts.map +1 -0
  1018. package/ccw/dist/utils/security-validation.js +117 -0
  1019. package/ccw/dist/utils/security-validation.js.map +1 -0
  1020. package/ccw/dist/utils/uv-manager.d.ts +3 -2
  1021. package/ccw/dist/utils/uv-manager.d.ts.map +1 -1
  1022. package/ccw/dist/utils/uv-manager.js +7 -4
  1023. package/ccw/dist/utils/uv-manager.js.map +1 -1
  1024. package/ccw/scripts/prepublish-clean.mjs +32 -0
  1025. package/ccw/scripts/unified_memory_embedder.py +473 -0
  1026. package/codex-lens/pyproject.toml +37 -46
  1027. package/codex-lens/src/codexlens/api/__init__.py +5 -0
  1028. package/codex-lens/src/codexlens/api/lsp_lifecycle.py +124 -0
  1029. package/codex-lens/src/codexlens/api/semantic.py +33 -22
  1030. package/codex-lens/src/codexlens/cli/commands.py +392 -552
  1031. package/codex-lens/src/codexlens/cli/embedding_manager.py +558 -367
  1032. package/codex-lens/src/codexlens/config.py +525 -129
  1033. package/codex-lens/src/codexlens/env_config.py +21 -1
  1034. package/codex-lens/src/codexlens/lsp/keepalive_bridge.py +135 -0
  1035. package/codex-lens/src/codexlens/lsp/lsp_bridge.py +33 -10
  1036. package/codex-lens/src/codexlens/lsp/lsp_graph_builder.py +12 -4
  1037. package/codex-lens/src/codexlens/lsp/standalone_manager.py +114 -21
  1038. package/codex-lens/src/codexlens/parsers/__init__.py +8 -2
  1039. package/codex-lens/src/codexlens/parsers/astgrep_binding.py +320 -0
  1040. package/codex-lens/src/codexlens/parsers/astgrep_js_ts_processor.py +306 -0
  1041. package/codex-lens/src/codexlens/parsers/astgrep_processor.py +1033 -0
  1042. package/codex-lens/src/codexlens/parsers/factory.py +10 -2
  1043. package/codex-lens/src/codexlens/parsers/patterns/__init__.py +5 -0
  1044. package/codex-lens/src/codexlens/parsers/patterns/javascript/__init__.py +92 -0
  1045. package/codex-lens/src/codexlens/parsers/patterns/python/__init__.py +204 -0
  1046. package/codex-lens/src/codexlens/parsers/patterns/python/call.yaml +87 -0
  1047. package/codex-lens/src/codexlens/parsers/patterns/python/imports.yaml +82 -0
  1048. package/codex-lens/src/codexlens/parsers/patterns/python/inherits.yaml +42 -0
  1049. package/codex-lens/src/codexlens/parsers/patterns/typescript/__init__.py +73 -0
  1050. package/codex-lens/src/codexlens/parsers/treesitter_parser.py +135 -9
  1051. package/codex-lens/src/codexlens/search/__init__.py +2 -0
  1052. package/codex-lens/src/codexlens/search/binary_searcher.py +67 -35
  1053. package/codex-lens/src/codexlens/search/chain_search.py +825 -251
  1054. package/codex-lens/src/codexlens/search/clustering/hdbscan_strategy.py +24 -2
  1055. package/codex-lens/src/codexlens/search/global_graph_expander.py +250 -0
  1056. package/codex-lens/src/codexlens/search/hybrid_search.py +11 -203
  1057. package/codex-lens/src/codexlens/search/ranking.py +8 -35
  1058. package/codex-lens/src/codexlens/semantic/reranker/api_reranker.py +41 -2
  1059. package/codex-lens/src/codexlens/storage/global_index.py +225 -5
  1060. package/codex-lens/src/codexlens/storage/index_tree.py +46 -0
  1061. package/codex-lens/src/codexlens/storage/path_mapper.py +8 -8
  1062. package/codex-lens/src/codexlens/watcher/incremental_indexer.py +55 -1
  1063. package/package.json +22 -12
  1064. package/.claude/CLAUDE.md +0 -44
  1065. package/.claude/commands/ccw-debug.md +0 -832
  1066. package/.claude/commands/codex-coordinator.md +0 -513
  1067. package/.claude/commands/memory/compact.md +0 -383
  1068. package/.claude/commands/memory/docs-full-cli.md +0 -471
  1069. package/.claude/commands/memory/docs-related-cli.md +0 -386
  1070. package/.claude/commands/memory/load.md +0 -240
  1071. package/.claude/commands/memory/tips.md +0 -332
  1072. package/.claude/commands/memory/update-full.md +0 -332
  1073. package/.claude/commands/memory/update-related.md +0 -332
  1074. package/.claude/commands/view.md +0 -367
  1075. package/.claude/commands/workflow/brainstorm/artifacts.md +0 -457
  1076. package/.claude/commands/workflow/brainstorm/auto-parallel.md +0 -433
  1077. package/.claude/commands/workflow/brainstorm/role-analysis.md +0 -705
  1078. package/.claude/commands/workflow/brainstorm/synthesis.md +0 -402
  1079. package/.claude/commands/workflow/execute.md +0 -548
  1080. package/.claude/commands/workflow/lite-execute.md +0 -743
  1081. package/.claude/commands/workflow/lite-fix.md +0 -809
  1082. package/.claude/commands/workflow/lite-lite-lite.md +0 -465
  1083. package/.claude/commands/workflow/lite-plan.md +0 -698
  1084. package/.claude/commands/workflow/multi-cli-plan.md +0 -572
  1085. package/.claude/commands/workflow/plan-verify.md +0 -362
  1086. package/.claude/commands/workflow/plan.md +0 -704
  1087. package/.claude/commands/workflow/replan.md +0 -648
  1088. package/.claude/commands/workflow/review-cycle-fix.md +0 -608
  1089. package/.claude/commands/workflow/review-module-cycle.md +0 -771
  1090. package/.claude/commands/workflow/review-session-cycle.md +0 -782
  1091. package/.claude/commands/workflow/review.md +0 -322
  1092. package/.claude/commands/workflow/tdd-plan.md +0 -630
  1093. package/.claude/commands/workflow/tdd-verify.md +0 -585
  1094. package/.claude/commands/workflow/test-cycle-execute.md +0 -504
  1095. package/.claude/commands/workflow/test-fix-gen.md +0 -699
  1096. package/.claude/commands/workflow/test-gen.md +0 -529
  1097. package/.claude/commands/workflow/tools/conflict-resolution.md +0 -604
  1098. package/.claude/commands/workflow/tools/context-gather.md +0 -404
  1099. package/.claude/commands/workflow/tools/task-generate-agent.md +0 -678
  1100. package/.claude/commands/workflow/tools/task-generate-tdd.md +0 -749
  1101. package/.claude/commands/workflow/tools/tdd-coverage-analysis.md +0 -309
  1102. package/.claude/commands/workflow/tools/test-concept-enhanced.md +0 -164
  1103. package/.claude/commands/workflow/tools/test-context-gather.md +0 -235
  1104. package/.claude/commands/workflow/tools/test-task-generate.md +0 -255
  1105. package/.claude/skills/ccw-loop/SKILL.md +0 -259
  1106. package/.claude/skills/ccw-loop/phases/actions/action-complete.md +0 -320
  1107. package/.claude/skills/ccw-loop/phases/actions/action-debug-with-file.md +0 -485
  1108. package/.claude/skills/ccw-loop/phases/actions/action-develop-with-file.md +0 -365
  1109. package/.claude/skills/ccw-loop/phases/actions/action-init.md +0 -200
  1110. package/.claude/skills/ccw-loop/phases/actions/action-menu.md +0 -192
  1111. package/.claude/skills/ccw-loop/phases/actions/action-validate-with-file.md +0 -307
  1112. package/.claude/skills/ccw-loop/phases/orchestrator.md +0 -486
  1113. package/.claude/skills/ccw-loop/phases/state-schema.md +0 -474
  1114. package/.claude/skills/ccw-loop/specs/action-catalog.md +0 -300
  1115. package/.claude/skills/ccw-loop/specs/loop-requirements.md +0 -192
  1116. package/.claude/skills/ccw-loop/templates/progress-template.md +0 -175
  1117. package/.claude/skills/ccw-loop/templates/understanding-template.md +0 -303
  1118. package/.claude/skills/ccw-loop/templates/validation-template.md +0 -258
  1119. package/.claude/skills/copyright-docs/SKILL.md +0 -132
  1120. package/.claude/skills/copyright-docs/phases/01-metadata-collection.md +0 -78
  1121. package/.claude/skills/copyright-docs/phases/01.5-project-exploration.md +0 -150
  1122. package/.claude/skills/copyright-docs/phases/02-deep-analysis.md +0 -664
  1123. package/.claude/skills/copyright-docs/phases/02.5-consolidation.md +0 -192
  1124. package/.claude/skills/copyright-docs/phases/04-document-assembly.md +0 -261
  1125. package/.claude/skills/copyright-docs/phases/05-compliance-refinement.md +0 -192
  1126. package/.claude/skills/copyright-docs/specs/cpcc-requirements.md +0 -121
  1127. package/.claude/skills/copyright-docs/templates/agent-base.md +0 -200
  1128. package/.claude/skills/flow-coordinator/SKILL.md +0 -394
  1129. package/.claude/skills/flow-coordinator/templates/analyze.json +0 -16
  1130. package/.claude/skills/flow-coordinator/templates/brainstorm-to-issue.json +0 -36
  1131. package/.claude/skills/flow-coordinator/templates/brainstorm.json +0 -16
  1132. package/.claude/skills/flow-coordinator/templates/bugfix-hotfix.json +0 -16
  1133. package/.claude/skills/flow-coordinator/templates/bugfix.json +0 -47
  1134. package/.claude/skills/flow-coordinator/templates/coupled.json +0 -71
  1135. package/.claude/skills/flow-coordinator/templates/debug.json +0 -16
  1136. package/.claude/skills/flow-coordinator/templates/docs.json +0 -27
  1137. package/.claude/skills/flow-coordinator/templates/full.json +0 -61
  1138. package/.claude/skills/flow-coordinator/templates/issue.json +0 -43
  1139. package/.claude/skills/flow-coordinator/templates/lite-lite-lite.json +0 -16
  1140. package/.claude/skills/flow-coordinator/templates/multi-cli-plan.json +0 -47
  1141. package/.claude/skills/flow-coordinator/templates/rapid-to-issue.json +0 -46
  1142. package/.claude/skills/flow-coordinator/templates/rapid.json +0 -47
  1143. package/.claude/skills/flow-coordinator/templates/review.json +0 -43
  1144. package/.claude/skills/flow-coordinator/templates/tdd.json +0 -34
  1145. package/.claude/skills/flow-coordinator/templates/test-fix.json +0 -26
  1146. package/.claude/skills/lite-skill-generator/SKILL.md +0 -650
  1147. package/.claude/skills/lite-skill-generator/templates/simple-skill.md +0 -68
  1148. package/.claude/skills/lite-skill-generator/templates/style-guide.md +0 -64
  1149. package/.claude/skills/project-analyze/SKILL.md +0 -162
  1150. package/.claude/skills/project-analyze/phases/01-requirements-discovery.md +0 -79
  1151. package/.claude/skills/project-analyze/phases/02-project-exploration.md +0 -176
  1152. package/.claude/skills/project-analyze/phases/03-deep-analysis.md +0 -854
  1153. package/.claude/skills/project-analyze/phases/03.5-consolidation.md +0 -233
  1154. package/.claude/skills/project-analyze/phases/04-report-generation.md +0 -217
  1155. package/.claude/skills/project-analyze/phases/05-iterative-refinement.md +0 -124
  1156. package/.claude/skills/project-analyze/specs/quality-standards.md +0 -115
  1157. package/.claude/skills/project-analyze/specs/writing-style.md +0 -152
  1158. package/.claude/skills/prompt-enhancer/SKILL.md +0 -124
  1159. package/.claude/skills/software-manual/SKILL.md +0 -184
  1160. package/.claude/skills/software-manual/phases/01-requirements-discovery.md +0 -162
  1161. package/.claude/skills/software-manual/phases/02-project-exploration.md +0 -101
  1162. package/.claude/skills/software-manual/phases/02.5-api-extraction.md +0 -161
  1163. package/.claude/skills/software-manual/phases/03-parallel-analysis.md +0 -183
  1164. package/.claude/skills/software-manual/phases/03.5-consolidation.md +0 -82
  1165. package/.claude/skills/software-manual/phases/04-screenshot-capture.md +0 -89
  1166. package/.claude/skills/software-manual/phases/05-html-assembly.md +0 -132
  1167. package/.claude/skills/software-manual/phases/06-iterative-refinement.md +0 -259
  1168. package/.claude/skills/software-manual/scripts/api-extractor.md +0 -245
  1169. package/.claude/skills/software-manual/scripts/assemble_docsify.py +0 -584
  1170. package/.claude/skills/software-manual/scripts/bundle-libraries.md +0 -85
  1171. package/.claude/skills/software-manual/scripts/extract_apis.py +0 -270
  1172. package/.claude/skills/software-manual/scripts/screenshot-helper.md +0 -447
  1173. package/.claude/skills/software-manual/scripts/swagger-runner.md +0 -419
  1174. package/.claude/skills/software-manual/scripts/typedoc-runner.md +0 -357
  1175. package/.claude/skills/software-manual/specs/html-template.md +0 -325
  1176. package/.claude/skills/software-manual/specs/quality-standards.md +0 -253
  1177. package/.claude/skills/software-manual/specs/writing-style.md +0 -298
  1178. package/.claude/skills/software-manual/templates/css/docsify-base.css +0 -984
  1179. package/.claude/skills/software-manual/templates/css/wiki-base.css +0 -788
  1180. package/.claude/skills/software-manual/templates/css/wiki-dark.css +0 -278
  1181. package/.claude/skills/software-manual/templates/docsify-shell.html +0 -466
  1182. package/.claude/skills/software-manual/templates/tiddlywiki-shell.html +0 -327
  1183. package/.claude/skills/text-formatter/SKILL.md +0 -196
  1184. package/.claude/skills/text-formatter/phases/01-input-collection.md +0 -111
  1185. package/.claude/skills/text-formatter/phases/02-content-analysis.md +0 -248
  1186. package/.claude/skills/text-formatter/phases/03-format-transform.md +0 -245
  1187. package/.claude/skills/text-formatter/phases/04-output-preview.md +0 -183
  1188. package/.claude/skills/text-formatter/specs/callout-types.md +0 -293
  1189. package/.claude/skills/text-formatter/specs/element-mapping.md +0 -226
  1190. package/.claude/skills/text-formatter/specs/format-rules.md +0 -273
  1191. package/.claude/skills/text-formatter/templates/bbcode-template.md +0 -350
  1192. package/.claude/workflows/_template-compare-matrix.html +0 -692
  1193. package/.claude/workflows/chinese-response.md +0 -25
  1194. package/.claude/workflows/cli-templates/fix-plan-template.json +0 -75
  1195. package/.claude/workflows/cli-templates/fix-progress-template.json +0 -48
  1196. package/.claude/workflows/cli-templates/memory/style-skill-memory/skill-md-template.md +0 -299
  1197. package/.claude/workflows/cli-templates/planning-roles/data-architect.md +0 -120
  1198. package/.claude/workflows/cli-templates/planning-roles/product-manager.md +0 -119
  1199. package/.claude/workflows/cli-templates/planning-roles/product-owner.md +0 -261
  1200. package/.claude/workflows/cli-templates/planning-roles/scrum-master.md +0 -186
  1201. package/.claude/workflows/cli-templates/planning-roles/subject-matter-expert.md +0 -281
  1202. package/.claude/workflows/cli-templates/planning-roles/synthesis-role.md +0 -414
  1203. package/.claude/workflows/cli-templates/planning-roles/system-architect.md +0 -106
  1204. package/.claude/workflows/cli-templates/planning-roles/test-strategist.md +0 -124
  1205. package/.claude/workflows/cli-templates/planning-roles/ui-designer.md +0 -379
  1206. package/.claude/workflows/cli-templates/planning-roles/ux-expert.md +0 -240
  1207. package/.claude/workflows/cli-templates/prompts/analysis-analyze-code-patterns.txt +0 -37
  1208. package/.claude/workflows/cli-templates/prompts/analysis-analyze-performance.txt +0 -29
  1209. package/.claude/workflows/cli-templates/prompts/analysis-analyze-technical-document.txt +0 -33
  1210. package/.claude/workflows/cli-templates/prompts/analysis-assess-security-risks.txt +0 -29
  1211. package/.claude/workflows/cli-templates/prompts/analysis-diagnose-bug-root-cause.txt +0 -127
  1212. package/.claude/workflows/cli-templates/prompts/analysis-review-architecture.txt +0 -29
  1213. package/.claude/workflows/cli-templates/prompts/analysis-review-code-quality.txt +0 -28
  1214. package/.claude/workflows/cli-templates/prompts/analysis-review-quality-standards.txt +0 -29
  1215. package/.claude/workflows/cli-templates/prompts/analysis-trace-code-execution.txt +0 -115
  1216. package/.claude/workflows/cli-templates/prompts/development-debug-runtime-issues.txt +0 -55
  1217. package/.claude/workflows/cli-templates/prompts/development-generate-tests.txt +0 -70
  1218. package/.claude/workflows/cli-templates/prompts/development-implement-component-ui.txt +0 -55
  1219. package/.claude/workflows/cli-templates/prompts/development-implement-feature.txt +0 -58
  1220. package/.claude/workflows/cli-templates/prompts/development-refactor-codebase.txt +0 -55
  1221. package/.claude/workflows/cli-templates/prompts/documentation-api.txt +0 -15
  1222. package/.claude/workflows/cli-templates/prompts/documentation-folder-navigation.txt +0 -27
  1223. package/.claude/workflows/cli-templates/prompts/documentation-module-readme.txt +0 -49
  1224. package/.claude/workflows/cli-templates/prompts/documentation-project-architecture.txt +0 -41
  1225. package/.claude/workflows/cli-templates/prompts/documentation-project-examples.txt +0 -35
  1226. package/.claude/workflows/cli-templates/prompts/documentation-project-readme.txt +0 -35
  1227. package/.claude/workflows/cli-templates/prompts/documentation-swagger-api.txt +0 -266
  1228. package/.claude/workflows/cli-templates/prompts/memory-document-module-structure.txt +0 -165
  1229. package/.claude/workflows/cli-templates/prompts/planning-breakdown-task-steps.txt +0 -30
  1230. package/.claude/workflows/cli-templates/prompts/planning-design-component-spec.txt +0 -28
  1231. package/.claude/workflows/cli-templates/prompts/planning-evaluate-concept-feasibility.txt +0 -127
  1232. package/.claude/workflows/cli-templates/prompts/planning-plan-architecture-design.txt +0 -109
  1233. package/.claude/workflows/cli-templates/prompts/planning-plan-migration-strategy.txt +0 -30
  1234. package/.claude/workflows/cli-templates/prompts/rules-rule-api.txt +0 -122
  1235. package/.claude/workflows/cli-templates/prompts/rules-rule-components.txt +0 -122
  1236. package/.claude/workflows/cli-templates/prompts/rules-rule-config.txt +0 -89
  1237. package/.claude/workflows/cli-templates/prompts/rules-rule-core.txt +0 -60
  1238. package/.claude/workflows/cli-templates/prompts/rules-rule-patterns.txt +0 -70
  1239. package/.claude/workflows/cli-templates/prompts/rules-rule-testing.txt +0 -81
  1240. package/.claude/workflows/cli-templates/prompts/rules-tech-rules-agent-prompt.txt +0 -89
  1241. package/.claude/workflows/cli-templates/prompts/tech-tech-module-format.txt +0 -359
  1242. package/.claude/workflows/cli-templates/prompts/tech-tech-skill-index.txt +0 -185
  1243. package/.claude/workflows/cli-templates/prompts/test-test-concept-analysis.txt +0 -179
  1244. package/.claude/workflows/cli-templates/prompts/universal-universal-creative-style.txt +0 -95
  1245. package/.claude/workflows/cli-templates/prompts/universal-universal-rigorous-style.txt +0 -92
  1246. package/.claude/workflows/cli-templates/prompts/verification-codex-technical.txt +0 -28
  1247. package/.claude/workflows/cli-templates/prompts/verification-cross-validation.txt +0 -28
  1248. package/.claude/workflows/cli-templates/prompts/verification-gemini-strategic.txt +0 -27
  1249. package/.claude/workflows/cli-templates/prompts/workflow-analysis-results-structure.txt +0 -224
  1250. package/.claude/workflows/cli-templates/prompts/workflow-codex-feasibility-validation.txt +0 -176
  1251. package/.claude/workflows/cli-templates/prompts/workflow-gemini-solution-design.txt +0 -131
  1252. package/.claude/workflows/cli-templates/prompts/workflow-impl-plan-template.txt +0 -286
  1253. package/.claude/workflows/cli-templates/prompts/workflow-skill-aggregation.txt +0 -172
  1254. package/.claude/workflows/cli-templates/prompts/workflow-skill-conflict-patterns.txt +0 -94
  1255. package/.claude/workflows/cli-templates/prompts/workflow-skill-index.txt +0 -224
  1256. package/.claude/workflows/cli-templates/prompts/workflow-skill-lessons-learned.txt +0 -94
  1257. package/.claude/workflows/cli-templates/prompts/workflow-skill-sessions-timeline.txt +0 -53
  1258. package/.claude/workflows/cli-templates/prompts/workflow-task-json-agent-mode.txt +0 -123
  1259. package/.claude/workflows/cli-templates/prompts/workflow-task-json-cli-mode.txt +0 -182
  1260. package/.claude/workflows/cli-templates/protocols/analysis-protocol.md +0 -119
  1261. package/.claude/workflows/cli-templates/protocols/write-protocol.md +0 -136
  1262. package/.claude/workflows/cli-templates/schemas/conflict-resolution-schema.json +0 -151
  1263. package/.claude/workflows/cli-templates/schemas/debug-log-json-schema.json +0 -127
  1264. package/.claude/workflows/cli-templates/schemas/diagnosis-json-schema.json +0 -234
  1265. package/.claude/workflows/cli-templates/schemas/discovery-finding-schema.json +0 -219
  1266. package/.claude/workflows/cli-templates/schemas/discovery-state-schema.json +0 -125
  1267. package/.claude/workflows/cli-templates/schemas/explore-json-schema.json +0 -124
  1268. package/.claude/workflows/cli-templates/schemas/fix-plan-json-schema.json +0 -298
  1269. package/.claude/workflows/cli-templates/schemas/issues-jsonl-schema.json +0 -170
  1270. package/.claude/workflows/cli-templates/schemas/multi-cli-discussion-schema.json +0 -421
  1271. package/.claude/workflows/cli-templates/schemas/plan-json-schema.json +0 -444
  1272. package/.claude/workflows/cli-templates/schemas/plan-verify-agent-schema.json +0 -47
  1273. package/.claude/workflows/cli-templates/schemas/project-guidelines-schema.json +0 -141
  1274. package/.claude/workflows/cli-templates/schemas/project-tech-schema.json +0 -221
  1275. package/.claude/workflows/cli-templates/schemas/queue-schema.json +0 -248
  1276. package/.claude/workflows/cli-templates/schemas/registry-schema.json +0 -94
  1277. package/.claude/workflows/cli-templates/schemas/review-deep-dive-results-schema.json +0 -82
  1278. package/.claude/workflows/cli-templates/schemas/review-dimension-results-schema.json +0 -51
  1279. package/.claude/workflows/cli-templates/schemas/solution-schema.json +0 -166
  1280. package/.claude/workflows/cli-templates/schemas/verify-json-schema.json +0 -158
  1281. package/.claude/workflows/cli-templates/tech-stacks/go-dev.md +0 -91
  1282. package/.claude/workflows/cli-templates/tech-stacks/java-dev.md +0 -107
  1283. package/.claude/workflows/cli-templates/tech-stacks/javascript-dev.md +0 -58
  1284. package/.claude/workflows/cli-templates/tech-stacks/python-dev.md +0 -79
  1285. package/.claude/workflows/cli-templates/tech-stacks/react-dev.md +0 -103
  1286. package/.claude/workflows/cli-templates/tech-stacks/typescript-dev.md +0 -83
  1287. package/.claude/workflows/cli-templates/ui-design/systems/animation-tokens.json +0 -247
  1288. package/.claude/workflows/cli-templates/ui-design/systems/design-tokens.json +0 -342
  1289. package/.claude/workflows/cli-templates/ui-design/systems/layout-templates.json +0 -145
  1290. package/.claude/workflows/cli-tools-usage.md +0 -538
  1291. package/.claude/workflows/coding-philosophy.md +0 -70
  1292. package/.claude/workflows/context-tools.md +0 -76
  1293. package/.claude/workflows/file-modification.md +0 -64
  1294. package/.claude/workflows/review-directory-specification.md +0 -336
  1295. package/.claude/workflows/task-core.md +0 -214
  1296. package/.claude/workflows/tool-strategy.md +0 -216
  1297. package/.claude/workflows/windows-platform.md +0 -19
  1298. package/.claude/workflows/workflow-architecture.md +0 -942
  1299. package/.codex/agents/ccw-loop-b-complete.md +0 -227
  1300. package/.codex/agents/ccw-loop-b-debug.md +0 -172
  1301. package/.codex/agents/ccw-loop-b-develop.md +0 -147
  1302. package/.codex/agents/ccw-loop-b-init.md +0 -82
  1303. package/.codex/agents/ccw-loop-b-validate.md +0 -204
  1304. package/.codex/agents/ccw-loop-executor.md +0 -260
  1305. package/.codex/prompts/analyze-with-file.md +0 -610
  1306. package/.codex/prompts/brainstorm-to-cycle.md +0 -456
  1307. package/.codex/prompts/brainstorm-with-file.md +0 -1004
  1308. package/.codex/prompts/clean.md +0 -414
  1309. package/.codex/prompts/compact.md +0 -380
  1310. package/.codex/prompts/debug-with-file.md +0 -608
  1311. package/.codex/prompts/execute.md +0 -277
  1312. package/.codex/prompts/issue-discover-by-prompt.md +0 -364
  1313. package/.codex/prompts/issue-discover.md +0 -261
  1314. package/.codex/prompts/issue-execute.md +0 -768
  1315. package/.codex/prompts/issue-new.md +0 -390
  1316. package/.codex/prompts/issue-plan.md +0 -246
  1317. package/.codex/prompts/issue-queue.md +0 -298
  1318. package/.codex/prompts/lite-execute.md +0 -684
  1319. package/.codex/prompts/lite-fix.md +0 -674
  1320. package/.codex/prompts/lite-plan-a.md +0 -341
  1321. package/.codex/prompts/lite-plan-b.md +0 -489
  1322. package/.codex/prompts/lite-plan-c.md +0 -605
  1323. package/.codex/prompts/merge-plans-with-file.md +0 -530
  1324. package/.codex/prompts/unified-execute-with-file.md +0 -722
  1325. package/.codex/skills/ccw-loop/README.md +0 -171
  1326. package/.codex/skills/ccw-loop/SKILL.md +0 -350
  1327. package/.codex/skills/ccw-loop/phases/actions/action-complete.md +0 -269
  1328. package/.codex/skills/ccw-loop/phases/actions/action-debug.md +0 -286
  1329. package/.codex/skills/ccw-loop/phases/actions/action-develop.md +0 -183
  1330. package/.codex/skills/ccw-loop/phases/actions/action-init.md +0 -164
  1331. package/.codex/skills/ccw-loop/phases/actions/action-menu.md +0 -205
  1332. package/.codex/skills/ccw-loop/phases/actions/action-validate.md +0 -250
  1333. package/.codex/skills/ccw-loop/phases/orchestrator.md +0 -416
  1334. package/.codex/skills/ccw-loop/phases/state-schema.md +0 -388
  1335. package/.codex/skills/ccw-loop/specs/action-catalog.md +0 -182
  1336. package/.codex/skills/ccw-loop-b/README.md +0 -301
  1337. package/.codex/skills/ccw-loop-b/SKILL.md +0 -323
  1338. package/.codex/skills/ccw-loop-b/phases/orchestrator.md +0 -257
  1339. package/.codex/skills/ccw-loop-b/phases/state-schema.md +0 -181
  1340. package/.codex/skills/ccw-loop-b/specs/action-catalog.md +0 -383
  1341. package/.codex/skills/codex-issue-plan-execute/SKILL.md +0 -214
  1342. package/.codex/skills/codex-issue-plan-execute/phases/actions/action-complete.md +0 -173
  1343. package/.codex/skills/codex-issue-plan-execute/phases/actions/action-execute.md +0 -220
  1344. package/.codex/skills/codex-issue-plan-execute/phases/actions/action-init.md +0 -86
  1345. package/.codex/skills/codex-issue-plan-execute/phases/actions/action-list.md +0 -165
  1346. package/.codex/skills/codex-issue-plan-execute/phases/actions/action-plan.md +0 -170
  1347. package/.codex/skills/codex-issue-plan-execute/phases/orchestrator.md +0 -212
  1348. package/.codex/skills/codex-issue-plan-execute/phases/state-schema.md +0 -136
  1349. package/.codex/skills/codex-issue-plan-execute/prompts/execution-agent-system.md +0 -32
  1350. package/.codex/skills/codex-issue-plan-execute/prompts/execution-agent.md +0 -323
  1351. package/.codex/skills/codex-issue-plan-execute/prompts/planning-agent-system.md +0 -32
  1352. package/.codex/skills/codex-issue-plan-execute/prompts/planning-agent.md +0 -224
  1353. package/.codex/skills/codex-issue-plan-execute/specs/agent-roles.md +0 -468
  1354. package/.codex/skills/codex-issue-plan-execute/specs/issue-handling.md +0 -187
  1355. package/.codex/skills/codex-issue-plan-execute/specs/quality-standards.md +0 -231
  1356. package/.codex/skills/codex-issue-plan-execute/specs/solution-schema.md +0 -270
  1357. package/.codex/skills/codex-issue-plan-execute/specs/subagent-roles.md +0 -32
  1358. package/.codex/skills/parallel-dev-cycle/README.md +0 -385
  1359. package/.codex/skills/parallel-dev-cycle/phases/agents/code-developer.md +0 -327
  1360. package/.codex/skills/parallel-dev-cycle/phases/agents/exploration-planner.md +0 -285
  1361. package/.codex/skills/parallel-dev-cycle/phases/agents/requirements-analyst.md +0 -370
  1362. package/.codex/skills/parallel-dev-cycle/phases/agents/validation-archivist.md +0 -381
  1363. package/.codex/skills/parallel-dev-cycle/phases/orchestrator.md +0 -696
  1364. package/.codex/skills/parallel-dev-cycle/phases/state-schema.md +0 -436
  1365. package/.codex/skills/parallel-dev-cycle/skill.md +0 -194
  1366. package/.codex/skills/parallel-dev-cycle/specs/communication-optimization.md +0 -423
  1367. package/.codex/skills/parallel-dev-cycle/specs/coordination-protocol.md +0 -406
  1368. package/.codex/skills/parallel-dev-cycle/specs/versioning-strategy.md +0 -331
  1369. package/ccw/dist/core/dashboard-generator-patch.d.ts +0 -2
  1370. package/ccw/dist/core/dashboard-generator-patch.d.ts.map +0 -1
  1371. package/ccw/dist/core/dashboard-generator-patch.js +0 -48
  1372. package/ccw/dist/core/dashboard-generator-patch.js.map +0 -1
  1373. package/ccw/dist/core/dashboard-generator.d.ts +0 -8
  1374. package/ccw/dist/core/dashboard-generator.d.ts.map +0 -1
  1375. package/ccw/dist/core/dashboard-generator.js +0 -706
  1376. package/ccw/dist/core/dashboard-generator.js.map +0 -1
  1377. package/ccw/dist/core/routes/model-routes.d.ts +0 -11
  1378. package/ccw/dist/core/routes/model-routes.d.ts.map +0 -1
  1379. package/ccw/dist/core/routes/model-routes.js +0 -112
  1380. package/ccw/dist/core/routes/model-routes.js.map +0 -1
  1381. package/ccw/dist/tools/command-registry.test.d.ts +0 -14
  1382. package/ccw/dist/tools/command-registry.test.d.ts.map +0 -1
  1383. package/ccw/dist/tools/command-registry.test.js.map +0 -1
  1384. package/ccw/scripts/__pycache__/memory_embedder.cpython-313.pyc +0 -0
  1385. package/ccw/scripts/__pycache__/test_memory_embedder.cpython-313-pytest-8.4.2.pyc +0 -0
  1386. package/ccw/src/.workflow/.cli-history/history.db +0 -0
  1387. package/ccw/src/.workflow/.cli-history/history.db-shm +0 -0
  1388. package/ccw/src/.workflow/.cli-history/history.db-wal +0 -0
  1389. package/ccw/src/cli.ts +0 -326
  1390. package/ccw/src/commands/cli.ts +0 -1492
  1391. package/ccw/src/commands/core-memory.ts +0 -770
  1392. package/ccw/src/commands/hook.ts +0 -316
  1393. package/ccw/src/commands/install.ts +0 -799
  1394. package/ccw/src/commands/issue.ts +0 -3150
  1395. package/ccw/src/commands/list.ts +0 -37
  1396. package/ccw/src/commands/loop.ts +0 -344
  1397. package/ccw/src/commands/memory.ts +0 -1090
  1398. package/ccw/src/commands/serve.ts +0 -86
  1399. package/ccw/src/commands/session-path-resolver.ts +0 -372
  1400. package/ccw/src/commands/session.ts +0 -1141
  1401. package/ccw/src/commands/stop.ts +0 -138
  1402. package/ccw/src/commands/tool.ts +0 -216
  1403. package/ccw/src/commands/uninstall.ts +0 -309
  1404. package/ccw/src/commands/upgrade.ts +0 -352
  1405. package/ccw/src/commands/view.ts +0 -133
  1406. package/ccw/src/commands/workflow.ts +0 -348
  1407. package/ccw/src/config/.litellm-api-config-manager.ts.2025-12-23T11-57-43-727Z.bak +0 -441
  1408. package/ccw/src/config/cli-settings-manager.ts +0 -460
  1409. package/ccw/src/config/litellm-api-config-manager.ts +0 -1350
  1410. package/ccw/src/config/litellm-provider-models.ts +0 -222
  1411. package/ccw/src/config/provider-models.ts +0 -123
  1412. package/ccw/src/config/storage-paths.ts +0 -685
  1413. package/ccw/src/core/auth/csrf-manager.ts +0 -104
  1414. package/ccw/src/core/auth/csrf-middleware.ts +0 -161
  1415. package/ccw/src/core/auth/middleware.ts +0 -94
  1416. package/ccw/src/core/auth/token-manager.ts +0 -219
  1417. package/ccw/src/core/cache-manager.ts +0 -304
  1418. package/ccw/src/core/claude-freshness.ts +0 -339
  1419. package/ccw/src/core/core-memory-store.ts +0 -1529
  1420. package/ccw/src/core/cors.ts +0 -10
  1421. package/ccw/src/core/dashboard-generator-patch.ts +0 -47
  1422. package/ccw/src/core/dashboard-generator.ts +0 -802
  1423. package/ccw/src/core/data-aggregator.ts +0 -690
  1424. package/ccw/src/core/history-importer.ts +0 -625
  1425. package/ccw/src/core/lite-scanner-complete.ts +0 -473
  1426. package/ccw/src/core/lite-scanner.ts +0 -978
  1427. package/ccw/src/core/manifest.ts +0 -271
  1428. package/ccw/src/core/memory-embedder-bridge.ts +0 -258
  1429. package/ccw/src/core/memory-store.ts +0 -978
  1430. package/ccw/src/core/routes/auth-routes.ts +0 -98
  1431. package/ccw/src/core/routes/ccw-routes.ts +0 -86
  1432. package/ccw/src/core/routes/claude-routes.ts +0 -1512
  1433. package/ccw/src/core/routes/cli-routes.ts +0 -1002
  1434. package/ccw/src/core/routes/cli-settings-routes.ts +0 -279
  1435. package/ccw/src/core/routes/codexlens/README.md +0 -37
  1436. package/ccw/src/core/routes/codexlens/config-handlers.ts +0 -1273
  1437. package/ccw/src/core/routes/codexlens/index-handlers.ts +0 -354
  1438. package/ccw/src/core/routes/codexlens/semantic-handlers.ts +0 -932
  1439. package/ccw/src/core/routes/codexlens/utils.ts +0 -96
  1440. package/ccw/src/core/routes/codexlens/watcher-handlers.ts +0 -265
  1441. package/ccw/src/core/routes/codexlens-routes.ts +0 -23
  1442. package/ccw/src/core/routes/commands-routes.ts +0 -620
  1443. package/ccw/src/core/routes/core-memory-routes.ts +0 -607
  1444. package/ccw/src/core/routes/discovery-routes.ts +0 -664
  1445. package/ccw/src/core/routes/files-routes.ts +0 -502
  1446. package/ccw/src/core/routes/graph-routes.md +0 -164
  1447. package/ccw/src/core/routes/graph-routes.ts +0 -635
  1448. package/ccw/src/core/routes/help-routes.ts +0 -508
  1449. package/ccw/src/core/routes/hooks-routes.ts +0 -473
  1450. package/ccw/src/core/routes/issue-routes.ts +0 -1547
  1451. package/ccw/src/core/routes/litellm-api-routes.ts +0 -1482
  1452. package/ccw/src/core/routes/litellm-routes.ts +0 -115
  1453. package/ccw/src/core/routes/loop-routes.ts +0 -386
  1454. package/ccw/src/core/routes/loop-v2-routes.ts +0 -1470
  1455. package/ccw/src/core/routes/mcp-routes.ts +0 -1372
  1456. package/ccw/src/core/routes/mcp-templates-db.ts +0 -267
  1457. package/ccw/src/core/routes/memory-routes.ts +0 -1345
  1458. package/ccw/src/core/routes/nav-status-routes.ts +0 -325
  1459. package/ccw/src/core/routes/provider-routes.ts +0 -78
  1460. package/ccw/src/core/routes/rules-routes.ts +0 -1064
  1461. package/ccw/src/core/routes/session-routes.ts +0 -649
  1462. package/ccw/src/core/routes/skills-routes.ts +0 -1278
  1463. package/ccw/src/core/routes/status-routes.ts +0 -132
  1464. package/ccw/src/core/routes/system-routes.ts +0 -575
  1465. package/ccw/src/core/routes/task-routes.ts +0 -361
  1466. package/ccw/src/core/routes/test-loop-routes.ts +0 -312
  1467. package/ccw/src/core/routes/types.ts +0 -25
  1468. package/ccw/src/core/server.ts +0 -776
  1469. package/ccw/src/core/services/api-key-tester.ts +0 -166
  1470. package/ccw/src/core/services/health-check-service.ts +0 -366
  1471. package/ccw/src/core/session-clustering-service.ts +0 -1258
  1472. package/ccw/src/core/session-scanner.ts +0 -283
  1473. package/ccw/src/core/websocket.ts +0 -302
  1474. package/ccw/src/index.ts +0 -10
  1475. package/ccw/src/mcp-server/index.ts +0 -191
  1476. package/ccw/src/templates/assets/css/github-dark.min.css +0 -10
  1477. package/ccw/src/templates/assets/css/github.min.css +0 -10
  1478. package/ccw/src/templates/assets/js/cytoscape.min.js +0 -32
  1479. package/ccw/src/templates/assets/js/d3.min.js +0 -2
  1480. package/ccw/src/templates/assets/js/highlight.min.js +0 -1244
  1481. package/ccw/src/templates/assets/js/lucide.min.js +0 -12
  1482. package/ccw/src/templates/assets/js/marked.min.js +0 -69
  1483. package/ccw/src/templates/assets/js/tailwind.js +0 -83
  1484. package/ccw/src/templates/dashboard-css/01-base.css +0 -419
  1485. package/ccw/src/templates/dashboard-css/02-session.css +0 -831
  1486. package/ccw/src/templates/dashboard-css/03-tasks.css +0 -517
  1487. package/ccw/src/templates/dashboard-css/04-lite-tasks.css +0 -4354
  1488. package/ccw/src/templates/dashboard-css/05-context.css +0 -2206
  1489. package/ccw/src/templates/dashboard-css/06-cards.css +0 -1576
  1490. package/ccw/src/templates/dashboard-css/07-managers.css +0 -2107
  1491. package/ccw/src/templates/dashboard-css/08-review.css +0 -1266
  1492. package/ccw/src/templates/dashboard-css/09-explorer.css +0 -1408
  1493. package/ccw/src/templates/dashboard-css/10-cli-status.css +0 -539
  1494. package/ccw/src/templates/dashboard-css/11-cli-history.css +0 -271
  1495. package/ccw/src/templates/dashboard-css/12-cli-legacy.css +0 -896
  1496. package/ccw/src/templates/dashboard-css/13-cli-ccw.css +0 -199
  1497. package/ccw/src/templates/dashboard-css/14-cli-modals.css +0 -258
  1498. package/ccw/src/templates/dashboard-css/15-cli-endpoints.css +0 -305
  1499. package/ccw/src/templates/dashboard-css/16-cli-session.css +0 -241
  1500. package/ccw/src/templates/dashboard-css/17-cli-conversation.css +0 -283
  1501. package/ccw/src/templates/dashboard-css/18-cli-settings.css +0 -229
  1502. package/ccw/src/templates/dashboard-css/19-cli-native-session.css +0 -496
  1503. package/ccw/src/templates/dashboard-css/20-cli-taskqueue.css +0 -188
  1504. package/ccw/src/templates/dashboard-css/21-cli-toolmgmt.css +0 -820
  1505. package/ccw/src/templates/dashboard-css/22-cli-semantic.css +0 -240
  1506. package/ccw/src/templates/dashboard-css/23-memory.css +0 -2390
  1507. package/ccw/src/templates/dashboard-css/24-prompt-history.css +0 -1089
  1508. package/ccw/src/templates/dashboard-css/25-skills-rules.css +0 -326
  1509. package/ccw/src/templates/dashboard-css/26-claude-manager.css +0 -1087
  1510. package/ccw/src/templates/dashboard-css/27-graph-explorer.css +0 -1678
  1511. package/ccw/src/templates/dashboard-css/28-mcp-manager.css +0 -748
  1512. package/ccw/src/templates/dashboard-css/29-help.css +0 -264
  1513. package/ccw/src/templates/dashboard-css/30-core-memory.css +0 -1720
  1514. package/ccw/src/templates/dashboard-css/31-api-settings.css +0 -3002
  1515. package/ccw/src/templates/dashboard-css/32-issue-manager.css +0 -3619
  1516. package/ccw/src/templates/dashboard-css/33-cli-stream-viewer.css +0 -860
  1517. package/ccw/src/templates/dashboard-css/34-discovery.css +0 -783
  1518. package/ccw/src/templates/dashboard-css/36-loop-monitor.css +0 -1896
  1519. package/ccw/src/templates/dashboard-css/36-loop-monitor.css.backup +0 -1877
  1520. package/ccw/src/templates/dashboard-css/37-commands.css +0 -193
  1521. package/ccw/src/templates/dashboard-js/api.js +0 -225
  1522. package/ccw/src/templates/dashboard-js/components/_conflict_tab.js +0 -112
  1523. package/ccw/src/templates/dashboard-js/components/_exp_helpers.js +0 -54
  1524. package/ccw/src/templates/dashboard-js/components/_review_tab.js +0 -640
  1525. package/ccw/src/templates/dashboard-js/components/carousel.js +0 -398
  1526. package/ccw/src/templates/dashboard-js/components/cli-history.js +0 -913
  1527. package/ccw/src/templates/dashboard-js/components/cli-status.js +0 -1617
  1528. package/ccw/src/templates/dashboard-js/components/cli-stream-viewer.js +0 -985
  1529. package/ccw/src/templates/dashboard-js/components/flowchart.js +0 -493
  1530. package/ccw/src/templates/dashboard-js/components/global-notifications.js +0 -508
  1531. package/ccw/src/templates/dashboard-js/components/hook-manager.js +0 -1493
  1532. package/ccw/src/templates/dashboard-js/components/index-manager.js +0 -302
  1533. package/ccw/src/templates/dashboard-js/components/mcp-manager.js +0 -1760
  1534. package/ccw/src/templates/dashboard-js/components/modals.js +0 -326
  1535. package/ccw/src/templates/dashboard-js/components/navigation.js +0 -430
  1536. package/ccw/src/templates/dashboard-js/components/notifications.js +0 -934
  1537. package/ccw/src/templates/dashboard-js/components/sidebar.js +0 -31
  1538. package/ccw/src/templates/dashboard-js/components/storage-manager.js +0 -478
  1539. package/ccw/src/templates/dashboard-js/components/tabs-context.js +0 -1093
  1540. package/ccw/src/templates/dashboard-js/components/tabs-other.js +0 -424
  1541. package/ccw/src/templates/dashboard-js/components/task-drawer-core.js +0 -477
  1542. package/ccw/src/templates/dashboard-js/components/task-drawer-renderers.js +0 -447
  1543. package/ccw/src/templates/dashboard-js/components/task-queue-sidebar.js +0 -716
  1544. package/ccw/src/templates/dashboard-js/components/theme.js +0 -49
  1545. package/ccw/src/templates/dashboard-js/components/version-check.js +0 -339
  1546. package/ccw/src/templates/dashboard-js/help-i18n.js +0 -272
  1547. package/ccw/src/templates/dashboard-js/i18n.js +0 -5558
  1548. package/ccw/src/templates/dashboard-js/main.js +0 -158
  1549. package/ccw/src/templates/dashboard-js/services.js +0 -289
  1550. package/ccw/src/templates/dashboard-js/state.js +0 -245
  1551. package/ccw/src/templates/dashboard-js/utils.js +0 -199
  1552. package/ccw/src/templates/dashboard-js/views/api-settings.js +0 -5646
  1553. package/ccw/src/templates/dashboard-js/views/claude-manager.js +0 -1129
  1554. package/ccw/src/templates/dashboard-js/views/cli-manager.js +0 -3615
  1555. package/ccw/src/templates/dashboard-js/views/codexlens-manager.js +0 -7123
  1556. package/ccw/src/templates/dashboard-js/views/commands-manager.js +0 -503
  1557. package/ccw/src/templates/dashboard-js/views/core-memory-clusters.js +0 -503
  1558. package/ccw/src/templates/dashboard-js/views/core-memory.js +0 -891
  1559. package/ccw/src/templates/dashboard-js/views/explorer.js +0 -888
  1560. package/ccw/src/templates/dashboard-js/views/fix-session.js +0 -180
  1561. package/ccw/src/templates/dashboard-js/views/graph-explorer.js +0 -1157
  1562. package/ccw/src/templates/dashboard-js/views/help.js +0 -1278
  1563. package/ccw/src/templates/dashboard-js/views/history.js +0 -390
  1564. package/ccw/src/templates/dashboard-js/views/home.js +0 -244
  1565. package/ccw/src/templates/dashboard-js/views/hook-manager.js +0 -696
  1566. package/ccw/src/templates/dashboard-js/views/issue-discovery.js +0 -730
  1567. package/ccw/src/templates/dashboard-js/views/issue-manager.js +0 -3248
  1568. package/ccw/src/templates/dashboard-js/views/lite-tasks.js +0 -3546
  1569. package/ccw/src/templates/dashboard-js/views/loop-monitor.js +0 -3345
  1570. package/ccw/src/templates/dashboard-js/views/mcp-manager.js +0 -2261
  1571. package/ccw/src/templates/dashboard-js/views/mcp-manager.js.backup +0 -1729
  1572. package/ccw/src/templates/dashboard-js/views/mcp-manager.js.new +0 -928
  1573. package/ccw/src/templates/dashboard-js/views/memory.js +0 -1221
  1574. package/ccw/src/templates/dashboard-js/views/project-overview.js +0 -548
  1575. package/ccw/src/templates/dashboard-js/views/prompt-history.js +0 -713
  1576. package/ccw/src/templates/dashboard-js/views/review-session.js +0 -1030
  1577. package/ccw/src/templates/dashboard-js/views/rules-manager.js +0 -880
  1578. package/ccw/src/templates/dashboard-js/views/session-detail.js +0 -781
  1579. package/ccw/src/templates/dashboard-js/views/skills-manager.js +0 -1282
  1580. package/ccw/src/templates/dashboard.html +0 -1104
  1581. package/ccw/src/templates/hooks-config-example.json +0 -60
  1582. package/ccw/src/templates/review-cycle-dashboard.html +0 -1930
  1583. package/ccw/src/templates/workflow-dashboard.html +0 -401
  1584. package/ccw/src/tools/README.md +0 -29
  1585. package/ccw/src/tools/classify-folders.ts +0 -245
  1586. package/ccw/src/tools/claude-cli-tools.ts +0 -1271
  1587. package/ccw/src/tools/cli-config-manager.ts +0 -169
  1588. package/ccw/src/tools/cli-executor-core.ts +0 -1665
  1589. package/ccw/src/tools/cli-executor-state.ts +0 -562
  1590. package/ccw/src/tools/cli-executor-utils.ts +0 -394
  1591. package/ccw/src/tools/cli-executor.ts +0 -7
  1592. package/ccw/src/tools/cli-history-store.ts +0 -1498
  1593. package/ccw/src/tools/cli-output-converter.ts +0 -1301
  1594. package/ccw/src/tools/cli-prompt-builder.ts +0 -487
  1595. package/ccw/src/tools/codex-lens-lsp.ts +0 -402
  1596. package/ccw/src/tools/codex-lens.ts +0 -1863
  1597. package/ccw/src/tools/command-registry.test.ts +0 -669
  1598. package/ccw/src/tools/command-registry.ts +0 -323
  1599. package/ccw/src/tools/context-cache-store.ts +0 -368
  1600. package/ccw/src/tools/context-cache.ts +0 -393
  1601. package/ccw/src/tools/convert-tokens-to-css.ts +0 -300
  1602. package/ccw/src/tools/core-memory.ts +0 -458
  1603. package/ccw/src/tools/detect-changed-modules.ts +0 -343
  1604. package/ccw/src/tools/discover-design-files.ts +0 -184
  1605. package/ccw/src/tools/edit-file.ts +0 -568
  1606. package/ccw/src/tools/generate-module-docs.ts +0 -442
  1607. package/ccw/src/tools/get-modules-by-depth.ts +0 -349
  1608. package/ccw/src/tools/index.ts +0 -384
  1609. package/ccw/src/tools/litellm-client.ts +0 -288
  1610. package/ccw/src/tools/litellm-executor.ts +0 -360
  1611. package/ccw/src/tools/loop-manager.ts +0 -519
  1612. package/ccw/src/tools/loop-state-manager.ts +0 -173
  1613. package/ccw/src/tools/loop-task-manager.ts +0 -391
  1614. package/ccw/src/tools/memory-update-queue.js +0 -493
  1615. package/ccw/src/tools/native-session-discovery.ts +0 -1034
  1616. package/ccw/src/tools/notifier.ts +0 -129
  1617. package/ccw/src/tools/pattern-parser.ts +0 -329
  1618. package/ccw/src/tools/read-file.ts +0 -410
  1619. package/ccw/src/tools/resume-strategy.ts +0 -345
  1620. package/ccw/src/tools/session-content-parser.ts +0 -619
  1621. package/ccw/src/tools/session-manager.ts +0 -1114
  1622. package/ccw/src/tools/skill-context-loader.ts +0 -213
  1623. package/ccw/src/tools/smart-context.ts +0 -228
  1624. package/ccw/src/tools/smart-search.ts +0 -2658
  1625. package/ccw/src/tools/smart-search.ts.backup +0 -1233
  1626. package/ccw/src/tools/storage-manager.ts +0 -455
  1627. package/ccw/src/tools/template-discovery.ts +0 -303
  1628. package/ccw/src/tools/ui-generate-preview.js +0 -350
  1629. package/ccw/src/tools/ui-instantiate-prototypes.js +0 -301
  1630. package/ccw/src/tools/update-module-claude.js +0 -380
  1631. package/ccw/src/tools/vscode-lsp.ts +0 -317
  1632. package/ccw/src/tools/write-file.ts +0 -222
  1633. package/ccw/src/types/cli-settings.ts +0 -137
  1634. package/ccw/src/types/config.ts +0 -11
  1635. package/ccw/src/types/index.ts +0 -4
  1636. package/ccw/src/types/litellm-api-config.ts +0 -456
  1637. package/ccw/src/types/loop.ts +0 -316
  1638. package/ccw/src/types/session.ts +0 -25
  1639. package/ccw/src/types/skill-types.ts +0 -99
  1640. package/ccw/src/types/tool.ts +0 -41
  1641. package/ccw/src/utils/browser-launcher.ts +0 -62
  1642. package/ccw/src/utils/codexlens-path.ts +0 -60
  1643. package/ccw/src/utils/exec-constants.ts +0 -24
  1644. package/ccw/src/utils/file-utils.ts +0 -48
  1645. package/ccw/src/utils/path-resolver.ts +0 -392
  1646. package/ccw/src/utils/path-validator.ts +0 -187
  1647. package/ccw/src/utils/project-root.ts +0 -73
  1648. package/ccw/src/utils/python-utils.ts +0 -140
  1649. package/ccw/src/utils/shell-escape.ts +0 -117
  1650. package/ccw/src/utils/ui.ts +0 -155
  1651. package/ccw/src/utils/update-checker.ts +0 -178
  1652. package/ccw/src/utils/uv-manager.ts +0 -797
  1653. package/ccw-litellm/src/ccw_litellm/__pycache__/__init__.cpython-310.pyc +0 -0
  1654. package/ccw-litellm/src/ccw_litellm/__pycache__/__init__.cpython-312.pyc +0 -0
  1655. package/ccw-litellm/src/ccw_litellm/__pycache__/__init__.cpython-313.pyc +0 -0
  1656. package/ccw-litellm/src/ccw_litellm/__pycache__/cli.cpython-313.pyc +0 -0
  1657. package/ccw-litellm/src/ccw_litellm/clients/__pycache__/__init__.cpython-310.pyc +0 -0
  1658. package/ccw-litellm/src/ccw_litellm/clients/__pycache__/__init__.cpython-312.pyc +0 -0
  1659. package/ccw-litellm/src/ccw_litellm/clients/__pycache__/__init__.cpython-313.pyc +0 -0
  1660. package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_embedder.cpython-310.pyc +0 -0
  1661. package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_embedder.cpython-312.pyc +0 -0
  1662. package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_embedder.cpython-313.pyc +0 -0
  1663. package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_llm.cpython-310.pyc +0 -0
  1664. package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_llm.cpython-312.pyc +0 -0
  1665. package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_llm.cpython-313.pyc +0 -0
  1666. package/ccw-litellm/src/ccw_litellm/config/__pycache__/__init__.cpython-310.pyc +0 -0
  1667. package/ccw-litellm/src/ccw_litellm/config/__pycache__/__init__.cpython-312.pyc +0 -0
  1668. package/ccw-litellm/src/ccw_litellm/config/__pycache__/__init__.cpython-313.pyc +0 -0
  1669. package/ccw-litellm/src/ccw_litellm/config/__pycache__/loader.cpython-310.pyc +0 -0
  1670. package/ccw-litellm/src/ccw_litellm/config/__pycache__/loader.cpython-312.pyc +0 -0
  1671. package/ccw-litellm/src/ccw_litellm/config/__pycache__/loader.cpython-313.pyc +0 -0
  1672. package/ccw-litellm/src/ccw_litellm/config/__pycache__/models.cpython-310.pyc +0 -0
  1673. package/ccw-litellm/src/ccw_litellm/config/__pycache__/models.cpython-312.pyc +0 -0
  1674. package/ccw-litellm/src/ccw_litellm/config/__pycache__/models.cpython-313.pyc +0 -0
  1675. package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/__init__.cpython-310.pyc +0 -0
  1676. package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/__init__.cpython-312.pyc +0 -0
  1677. package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/__init__.cpython-313.pyc +0 -0
  1678. package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/embedder.cpython-310.pyc +0 -0
  1679. package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/embedder.cpython-312.pyc +0 -0
  1680. package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/embedder.cpython-313.pyc +0 -0
  1681. package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/llm.cpython-310.pyc +0 -0
  1682. package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/llm.cpython-312.pyc +0 -0
  1683. package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/llm.cpython-313.pyc +0 -0
  1684. package/codex-lens/src/codexlens/.workflow/.cli-history/history.db +0 -0
  1685. package/codex-lens/src/codexlens/__pycache__/__init__.cpython-310.pyc +0 -0
  1686. package/codex-lens/src/codexlens/__pycache__/__init__.cpython-312.pyc +0 -0
  1687. package/codex-lens/src/codexlens/__pycache__/__init__.cpython-313.pyc +0 -0
  1688. package/codex-lens/src/codexlens/__pycache__/__main__.cpython-310.pyc +0 -0
  1689. package/codex-lens/src/codexlens/__pycache__/__main__.cpython-312.pyc +0 -0
  1690. package/codex-lens/src/codexlens/__pycache__/__main__.cpython-313.pyc +0 -0
  1691. package/codex-lens/src/codexlens/__pycache__/config.cpython-310.pyc +0 -0
  1692. package/codex-lens/src/codexlens/__pycache__/config.cpython-312.pyc +0 -0
  1693. package/codex-lens/src/codexlens/__pycache__/config.cpython-313.pyc +0 -0
  1694. package/codex-lens/src/codexlens/__pycache__/entities.cpython-310.pyc +0 -0
  1695. package/codex-lens/src/codexlens/__pycache__/entities.cpython-312.pyc +0 -0
  1696. package/codex-lens/src/codexlens/__pycache__/entities.cpython-313.pyc +0 -0
  1697. package/codex-lens/src/codexlens/__pycache__/env_config.cpython-310.pyc +0 -0
  1698. package/codex-lens/src/codexlens/__pycache__/env_config.cpython-312.pyc +0 -0
  1699. package/codex-lens/src/codexlens/__pycache__/env_config.cpython-313.pyc +0 -0
  1700. package/codex-lens/src/codexlens/__pycache__/errors.cpython-310.pyc +0 -0
  1701. package/codex-lens/src/codexlens/__pycache__/errors.cpython-312.pyc +0 -0
  1702. package/codex-lens/src/codexlens/__pycache__/errors.cpython-313.pyc +0 -0
  1703. package/codex-lens/src/codexlens/api/__pycache__/__init__.cpython-312.pyc +0 -0
  1704. package/codex-lens/src/codexlens/api/__pycache__/__init__.cpython-313.pyc +0 -0
  1705. package/codex-lens/src/codexlens/api/__pycache__/definition.cpython-312.pyc +0 -0
  1706. package/codex-lens/src/codexlens/api/__pycache__/definition.cpython-313.pyc +0 -0
  1707. package/codex-lens/src/codexlens/api/__pycache__/file_context.cpython-312.pyc +0 -0
  1708. package/codex-lens/src/codexlens/api/__pycache__/file_context.cpython-313.pyc +0 -0
  1709. package/codex-lens/src/codexlens/api/__pycache__/hover.cpython-312.pyc +0 -0
  1710. package/codex-lens/src/codexlens/api/__pycache__/hover.cpython-313.pyc +0 -0
  1711. package/codex-lens/src/codexlens/api/__pycache__/models.cpython-312.pyc +0 -0
  1712. package/codex-lens/src/codexlens/api/__pycache__/models.cpython-313.pyc +0 -0
  1713. package/codex-lens/src/codexlens/api/__pycache__/references.cpython-312.pyc +0 -0
  1714. package/codex-lens/src/codexlens/api/__pycache__/references.cpython-313.pyc +0 -0
  1715. package/codex-lens/src/codexlens/api/__pycache__/semantic.cpython-312.pyc +0 -0
  1716. package/codex-lens/src/codexlens/api/__pycache__/semantic.cpython-313.pyc +0 -0
  1717. package/codex-lens/src/codexlens/api/__pycache__/symbols.cpython-312.pyc +0 -0
  1718. package/codex-lens/src/codexlens/api/__pycache__/symbols.cpython-313.pyc +0 -0
  1719. package/codex-lens/src/codexlens/api/__pycache__/utils.cpython-312.pyc +0 -0
  1720. package/codex-lens/src/codexlens/api/__pycache__/utils.cpython-313.pyc +0 -0
  1721. package/codex-lens/src/codexlens/cli/__pycache__/__init__.cpython-310.pyc +0 -0
  1722. package/codex-lens/src/codexlens/cli/__pycache__/__init__.cpython-312.pyc +0 -0
  1723. package/codex-lens/src/codexlens/cli/__pycache__/__init__.cpython-313.pyc +0 -0
  1724. package/codex-lens/src/codexlens/cli/__pycache__/commands.cpython-310.pyc +0 -0
  1725. package/codex-lens/src/codexlens/cli/__pycache__/commands.cpython-312.pyc +0 -0
  1726. package/codex-lens/src/codexlens/cli/__pycache__/commands.cpython-313.pyc +0 -0
  1727. package/codex-lens/src/codexlens/cli/__pycache__/embedding_manager.cpython-310.pyc +0 -0
  1728. package/codex-lens/src/codexlens/cli/__pycache__/embedding_manager.cpython-312.pyc +0 -0
  1729. package/codex-lens/src/codexlens/cli/__pycache__/embedding_manager.cpython-313.pyc +0 -0
  1730. package/codex-lens/src/codexlens/cli/__pycache__/model_manager.cpython-310.pyc +0 -0
  1731. package/codex-lens/src/codexlens/cli/__pycache__/model_manager.cpython-312.pyc +0 -0
  1732. package/codex-lens/src/codexlens/cli/__pycache__/model_manager.cpython-313.pyc +0 -0
  1733. package/codex-lens/src/codexlens/cli/__pycache__/output.cpython-310.pyc +0 -0
  1734. package/codex-lens/src/codexlens/cli/__pycache__/output.cpython-312.pyc +0 -0
  1735. package/codex-lens/src/codexlens/cli/__pycache__/output.cpython-313.pyc +0 -0
  1736. package/codex-lens/src/codexlens/hybrid_search/__pycache__/__init__.cpython-312.pyc +0 -0
  1737. package/codex-lens/src/codexlens/hybrid_search/__pycache__/__init__.cpython-313.pyc +0 -0
  1738. package/codex-lens/src/codexlens/hybrid_search/__pycache__/data_structures.cpython-312.pyc +0 -0
  1739. package/codex-lens/src/codexlens/hybrid_search/__pycache__/data_structures.cpython-313.pyc +0 -0
  1740. package/codex-lens/src/codexlens/hybrid_search/__pycache__/engine.cpython-313.pyc +0 -0
  1741. package/codex-lens/src/codexlens/indexing/__pycache__/__init__.cpython-313.pyc +0 -0
  1742. package/codex-lens/src/codexlens/indexing/__pycache__/embedding.cpython-313.pyc +0 -0
  1743. package/codex-lens/src/codexlens/indexing/__pycache__/symbol_extractor.cpython-313.pyc +0 -0
  1744. package/codex-lens/src/codexlens/lsp/__pycache__/__init__.cpython-312.pyc +0 -0
  1745. package/codex-lens/src/codexlens/lsp/__pycache__/__init__.cpython-313.pyc +0 -0
  1746. package/codex-lens/src/codexlens/lsp/__pycache__/handlers.cpython-313.pyc +0 -0
  1747. package/codex-lens/src/codexlens/lsp/__pycache__/lsp_bridge.cpython-312.pyc +0 -0
  1748. package/codex-lens/src/codexlens/lsp/__pycache__/lsp_bridge.cpython-313.pyc +0 -0
  1749. package/codex-lens/src/codexlens/lsp/__pycache__/lsp_graph_builder.cpython-312.pyc +0 -0
  1750. package/codex-lens/src/codexlens/lsp/__pycache__/lsp_graph_builder.cpython-313.pyc +0 -0
  1751. package/codex-lens/src/codexlens/lsp/__pycache__/providers.cpython-313.pyc +0 -0
  1752. package/codex-lens/src/codexlens/lsp/__pycache__/server.cpython-313.pyc +0 -0
  1753. package/codex-lens/src/codexlens/lsp/__pycache__/standalone_manager.cpython-313.pyc +0 -0
  1754. package/codex-lens/src/codexlens/mcp/__pycache__/__init__.cpython-313.pyc +0 -0
  1755. package/codex-lens/src/codexlens/mcp/__pycache__/hooks.cpython-313.pyc +0 -0
  1756. package/codex-lens/src/codexlens/mcp/__pycache__/provider.cpython-313.pyc +0 -0
  1757. package/codex-lens/src/codexlens/mcp/__pycache__/schema.cpython-313.pyc +0 -0
  1758. package/codex-lens/src/codexlens/parsers/__pycache__/__init__.cpython-310.pyc +0 -0
  1759. package/codex-lens/src/codexlens/parsers/__pycache__/__init__.cpython-312.pyc +0 -0
  1760. package/codex-lens/src/codexlens/parsers/__pycache__/__init__.cpython-313.pyc +0 -0
  1761. package/codex-lens/src/codexlens/parsers/__pycache__/encoding.cpython-313.pyc +0 -0
  1762. package/codex-lens/src/codexlens/parsers/__pycache__/factory.cpython-310.pyc +0 -0
  1763. package/codex-lens/src/codexlens/parsers/__pycache__/factory.cpython-312.pyc +0 -0
  1764. package/codex-lens/src/codexlens/parsers/__pycache__/factory.cpython-313.pyc +0 -0
  1765. package/codex-lens/src/codexlens/parsers/__pycache__/tokenizer.cpython-310.pyc +0 -0
  1766. package/codex-lens/src/codexlens/parsers/__pycache__/tokenizer.cpython-312.pyc +0 -0
  1767. package/codex-lens/src/codexlens/parsers/__pycache__/tokenizer.cpython-313.pyc +0 -0
  1768. package/codex-lens/src/codexlens/parsers/__pycache__/treesitter_parser.cpython-310.pyc +0 -0
  1769. package/codex-lens/src/codexlens/parsers/__pycache__/treesitter_parser.cpython-312.pyc +0 -0
  1770. package/codex-lens/src/codexlens/parsers/__pycache__/treesitter_parser.cpython-313.pyc +0 -0
  1771. package/codex-lens/src/codexlens/search/__pycache__/__init__.cpython-310.pyc +0 -0
  1772. package/codex-lens/src/codexlens/search/__pycache__/__init__.cpython-312.pyc +0 -0
  1773. package/codex-lens/src/codexlens/search/__pycache__/__init__.cpython-313.pyc +0 -0
  1774. package/codex-lens/src/codexlens/search/__pycache__/binary_searcher.cpython-313.pyc +0 -0
  1775. package/codex-lens/src/codexlens/search/__pycache__/chain_search.cpython-310.pyc +0 -0
  1776. package/codex-lens/src/codexlens/search/__pycache__/chain_search.cpython-312.pyc +0 -0
  1777. package/codex-lens/src/codexlens/search/__pycache__/chain_search.cpython-313.pyc +0 -0
  1778. package/codex-lens/src/codexlens/search/__pycache__/enrichment.cpython-313.pyc +0 -0
  1779. package/codex-lens/src/codexlens/search/__pycache__/graph_expander.cpython-313.pyc +0 -0
  1780. package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-310.pyc +0 -0
  1781. package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-312.pyc +0 -0
  1782. package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-313.pyc +0 -0
  1783. package/codex-lens/src/codexlens/search/__pycache__/query_parser.cpython-313.pyc +0 -0
  1784. package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-310.pyc +0 -0
  1785. package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-312.pyc +0 -0
  1786. package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-313.pyc +0 -0
  1787. package/codex-lens/src/codexlens/search/association_tree/__pycache__/__init__.cpython-313.pyc +0 -0
  1788. package/codex-lens/src/codexlens/search/association_tree/__pycache__/builder.cpython-313.pyc +0 -0
  1789. package/codex-lens/src/codexlens/search/association_tree/__pycache__/data_structures.cpython-313.pyc +0 -0
  1790. package/codex-lens/src/codexlens/search/association_tree/__pycache__/deduplicator.cpython-313.pyc +0 -0
  1791. package/codex-lens/src/codexlens/search/clustering/__pycache__/__init__.cpython-312.pyc +0 -0
  1792. package/codex-lens/src/codexlens/search/clustering/__pycache__/__init__.cpython-313.pyc +0 -0
  1793. package/codex-lens/src/codexlens/search/clustering/__pycache__/base.cpython-312.pyc +0 -0
  1794. package/codex-lens/src/codexlens/search/clustering/__pycache__/base.cpython-313.pyc +0 -0
  1795. package/codex-lens/src/codexlens/search/clustering/__pycache__/dbscan_strategy.cpython-313.pyc +0 -0
  1796. package/codex-lens/src/codexlens/search/clustering/__pycache__/factory.cpython-312.pyc +0 -0
  1797. package/codex-lens/src/codexlens/search/clustering/__pycache__/factory.cpython-313.pyc +0 -0
  1798. package/codex-lens/src/codexlens/search/clustering/__pycache__/frequency_strategy.cpython-312.pyc +0 -0
  1799. package/codex-lens/src/codexlens/search/clustering/__pycache__/frequency_strategy.cpython-313.pyc +0 -0
  1800. package/codex-lens/src/codexlens/search/clustering/__pycache__/hdbscan_strategy.cpython-313.pyc +0 -0
  1801. package/codex-lens/src/codexlens/search/clustering/__pycache__/noop_strategy.cpython-312.pyc +0 -0
  1802. package/codex-lens/src/codexlens/search/clustering/__pycache__/noop_strategy.cpython-313.pyc +0 -0
  1803. package/codex-lens/src/codexlens/semantic/SPLADE_IMPLEMENTATION.md +0 -225
  1804. package/codex-lens/src/codexlens/semantic/__pycache__/__init__.cpython-310.pyc +0 -0
  1805. package/codex-lens/src/codexlens/semantic/__pycache__/__init__.cpython-312.pyc +0 -0
  1806. package/codex-lens/src/codexlens/semantic/__pycache__/__init__.cpython-313.pyc +0 -0
  1807. package/codex-lens/src/codexlens/semantic/__pycache__/ann_index.cpython-310.pyc +0 -0
  1808. package/codex-lens/src/codexlens/semantic/__pycache__/ann_index.cpython-312.pyc +0 -0
  1809. package/codex-lens/src/codexlens/semantic/__pycache__/ann_index.cpython-313.pyc +0 -0
  1810. package/codex-lens/src/codexlens/semantic/__pycache__/base.cpython-310.pyc +0 -0
  1811. package/codex-lens/src/codexlens/semantic/__pycache__/base.cpython-312.pyc +0 -0
  1812. package/codex-lens/src/codexlens/semantic/__pycache__/base.cpython-313.pyc +0 -0
  1813. package/codex-lens/src/codexlens/semantic/__pycache__/chunker.cpython-310.pyc +0 -0
  1814. package/codex-lens/src/codexlens/semantic/__pycache__/chunker.cpython-312.pyc +0 -0
  1815. package/codex-lens/src/codexlens/semantic/__pycache__/chunker.cpython-313.pyc +0 -0
  1816. package/codex-lens/src/codexlens/semantic/__pycache__/code_extractor.cpython-313.pyc +0 -0
  1817. package/codex-lens/src/codexlens/semantic/__pycache__/embedder.cpython-310.pyc +0 -0
  1818. package/codex-lens/src/codexlens/semantic/__pycache__/embedder.cpython-312.pyc +0 -0
  1819. package/codex-lens/src/codexlens/semantic/__pycache__/embedder.cpython-313.pyc +0 -0
  1820. package/codex-lens/src/codexlens/semantic/__pycache__/factory.cpython-310.pyc +0 -0
  1821. package/codex-lens/src/codexlens/semantic/__pycache__/factory.cpython-312.pyc +0 -0
  1822. package/codex-lens/src/codexlens/semantic/__pycache__/factory.cpython-313.pyc +0 -0
  1823. package/codex-lens/src/codexlens/semantic/__pycache__/gpu_support.cpython-310.pyc +0 -0
  1824. package/codex-lens/src/codexlens/semantic/__pycache__/gpu_support.cpython-312.pyc +0 -0
  1825. package/codex-lens/src/codexlens/semantic/__pycache__/gpu_support.cpython-313.pyc +0 -0
  1826. package/codex-lens/src/codexlens/semantic/__pycache__/graph_analyzer.cpython-313.pyc +0 -0
  1827. package/codex-lens/src/codexlens/semantic/__pycache__/litellm_embedder.cpython-310.pyc +0 -0
  1828. package/codex-lens/src/codexlens/semantic/__pycache__/litellm_embedder.cpython-312.pyc +0 -0
  1829. package/codex-lens/src/codexlens/semantic/__pycache__/litellm_embedder.cpython-313.pyc +0 -0
  1830. package/codex-lens/src/codexlens/semantic/__pycache__/llm_enhancer.cpython-313.pyc +0 -0
  1831. package/codex-lens/src/codexlens/semantic/__pycache__/ollama_backend.cpython-313.pyc +0 -0
  1832. package/codex-lens/src/codexlens/semantic/__pycache__/reranker.cpython-313.pyc +0 -0
  1833. package/codex-lens/src/codexlens/semantic/__pycache__/splade_encoder.cpython-310.pyc +0 -0
  1834. package/codex-lens/src/codexlens/semantic/__pycache__/splade_encoder.cpython-312.pyc +0 -0
  1835. package/codex-lens/src/codexlens/semantic/__pycache__/splade_encoder.cpython-313.pyc +0 -0
  1836. package/codex-lens/src/codexlens/semantic/__pycache__/vector_store.cpython-310.pyc +0 -0
  1837. package/codex-lens/src/codexlens/semantic/__pycache__/vector_store.cpython-312.pyc +0 -0
  1838. package/codex-lens/src/codexlens/semantic/__pycache__/vector_store.cpython-313.pyc +0 -0
  1839. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/__init__.cpython-310.pyc +0 -0
  1840. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/__init__.cpython-312.pyc +0 -0
  1841. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/__init__.cpython-313.pyc +0 -0
  1842. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/api_reranker.cpython-310.pyc +0 -0
  1843. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/api_reranker.cpython-312.pyc +0 -0
  1844. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/api_reranker.cpython-313.pyc +0 -0
  1845. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/base.cpython-310.pyc +0 -0
  1846. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/base.cpython-312.pyc +0 -0
  1847. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/base.cpython-313.pyc +0 -0
  1848. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/factory.cpython-310.pyc +0 -0
  1849. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/factory.cpython-312.pyc +0 -0
  1850. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/factory.cpython-313.pyc +0 -0
  1851. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/fastembed_reranker.cpython-310.pyc +0 -0
  1852. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/fastembed_reranker.cpython-312.pyc +0 -0
  1853. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/fastembed_reranker.cpython-313.pyc +0 -0
  1854. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/legacy.cpython-310.pyc +0 -0
  1855. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/legacy.cpython-312.pyc +0 -0
  1856. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/legacy.cpython-313.pyc +0 -0
  1857. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/litellm_reranker.cpython-313.pyc +0 -0
  1858. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/onnx_reranker.cpython-310.pyc +0 -0
  1859. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/onnx_reranker.cpython-312.pyc +0 -0
  1860. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/onnx_reranker.cpython-313.pyc +0 -0
  1861. package/codex-lens/src/codexlens/semantic/splade_encoder.py +0 -567
  1862. package/codex-lens/src/codexlens/storage/__pycache__/__init__.cpython-310.pyc +0 -0
  1863. package/codex-lens/src/codexlens/storage/__pycache__/__init__.cpython-312.pyc +0 -0
  1864. package/codex-lens/src/codexlens/storage/__pycache__/__init__.cpython-313.pyc +0 -0
  1865. package/codex-lens/src/codexlens/storage/__pycache__/dir_index.cpython-310.pyc +0 -0
  1866. package/codex-lens/src/codexlens/storage/__pycache__/dir_index.cpython-312.pyc +0 -0
  1867. package/codex-lens/src/codexlens/storage/__pycache__/dir_index.cpython-313.pyc +0 -0
  1868. package/codex-lens/src/codexlens/storage/__pycache__/file_cache.cpython-313.pyc +0 -0
  1869. package/codex-lens/src/codexlens/storage/__pycache__/global_index.cpython-310.pyc +0 -0
  1870. package/codex-lens/src/codexlens/storage/__pycache__/global_index.cpython-312.pyc +0 -0
  1871. package/codex-lens/src/codexlens/storage/__pycache__/global_index.cpython-313.pyc +0 -0
  1872. package/codex-lens/src/codexlens/storage/__pycache__/index_tree.cpython-310.pyc +0 -0
  1873. package/codex-lens/src/codexlens/storage/__pycache__/index_tree.cpython-312.pyc +0 -0
  1874. package/codex-lens/src/codexlens/storage/__pycache__/index_tree.cpython-313.pyc +0 -0
  1875. package/codex-lens/src/codexlens/storage/__pycache__/merkle_tree.cpython-313.pyc +0 -0
  1876. package/codex-lens/src/codexlens/storage/__pycache__/migration_manager.cpython-313.pyc +0 -0
  1877. package/codex-lens/src/codexlens/storage/__pycache__/path_mapper.cpython-310.pyc +0 -0
  1878. package/codex-lens/src/codexlens/storage/__pycache__/path_mapper.cpython-312.pyc +0 -0
  1879. package/codex-lens/src/codexlens/storage/__pycache__/path_mapper.cpython-313.pyc +0 -0
  1880. package/codex-lens/src/codexlens/storage/__pycache__/registry.cpython-310.pyc +0 -0
  1881. package/codex-lens/src/codexlens/storage/__pycache__/registry.cpython-312.pyc +0 -0
  1882. package/codex-lens/src/codexlens/storage/__pycache__/registry.cpython-313.pyc +0 -0
  1883. package/codex-lens/src/codexlens/storage/__pycache__/splade_index.cpython-310.pyc +0 -0
  1884. package/codex-lens/src/codexlens/storage/__pycache__/splade_index.cpython-312.pyc +0 -0
  1885. package/codex-lens/src/codexlens/storage/__pycache__/splade_index.cpython-313.pyc +0 -0
  1886. package/codex-lens/src/codexlens/storage/__pycache__/sqlite_store.cpython-310.pyc +0 -0
  1887. package/codex-lens/src/codexlens/storage/__pycache__/sqlite_store.cpython-312.pyc +0 -0
  1888. package/codex-lens/src/codexlens/storage/__pycache__/sqlite_store.cpython-313.pyc +0 -0
  1889. package/codex-lens/src/codexlens/storage/__pycache__/sqlite_utils.cpython-310.pyc +0 -0
  1890. package/codex-lens/src/codexlens/storage/__pycache__/sqlite_utils.cpython-312.pyc +0 -0
  1891. package/codex-lens/src/codexlens/storage/__pycache__/sqlite_utils.cpython-313.pyc +0 -0
  1892. package/codex-lens/src/codexlens/storage/__pycache__/vector_meta_store.cpython-310.pyc +0 -0
  1893. package/codex-lens/src/codexlens/storage/__pycache__/vector_meta_store.cpython-312.pyc +0 -0
  1894. package/codex-lens/src/codexlens/storage/__pycache__/vector_meta_store.cpython-313.pyc +0 -0
  1895. package/codex-lens/src/codexlens/storage/migrations/__pycache__/__init__.cpython-310.pyc +0 -0
  1896. package/codex-lens/src/codexlens/storage/migrations/__pycache__/__init__.cpython-312.pyc +0 -0
  1897. package/codex-lens/src/codexlens/storage/migrations/__pycache__/__init__.cpython-313.pyc +0 -0
  1898. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_001_normalize_keywords.cpython-313.pyc +0 -0
  1899. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_002_add_token_metadata.cpython-313.pyc +0 -0
  1900. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_003_code_relationships.cpython-313.pyc +0 -0
  1901. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_004_dual_fts.cpython-313.pyc +0 -0
  1902. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_005_cleanup_unused_fields.cpython-313.pyc +0 -0
  1903. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_006_enhance_relationships.cpython-313.pyc +0 -0
  1904. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_007_add_graph_neighbors.cpython-310.pyc +0 -0
  1905. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_007_add_graph_neighbors.cpython-312.pyc +0 -0
  1906. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_007_add_graph_neighbors.cpython-313.pyc +0 -0
  1907. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_008_add_merkle_hashes.cpython-313.pyc +0 -0
  1908. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_009_add_splade.cpython-313.pyc +0 -0
  1909. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_010_add_multi_vector_chunks.cpython-313.pyc +0 -0
  1910. package/codex-lens/src/codexlens/storage/migrations/migration_009_add_splade.py +0 -103
  1911. package/codex-lens/src/codexlens/storage/splade_index.py +0 -578
  1912. package/codex-lens/src/codexlens/watcher/__pycache__/__init__.cpython-310.pyc +0 -0
  1913. package/codex-lens/src/codexlens/watcher/__pycache__/__init__.cpython-312.pyc +0 -0
  1914. package/codex-lens/src/codexlens/watcher/__pycache__/__init__.cpython-313.pyc +0 -0
  1915. package/codex-lens/src/codexlens/watcher/__pycache__/events.cpython-310.pyc +0 -0
  1916. package/codex-lens/src/codexlens/watcher/__pycache__/events.cpython-312.pyc +0 -0
  1917. package/codex-lens/src/codexlens/watcher/__pycache__/events.cpython-313.pyc +0 -0
  1918. package/codex-lens/src/codexlens/watcher/__pycache__/file_watcher.cpython-310.pyc +0 -0
  1919. package/codex-lens/src/codexlens/watcher/__pycache__/file_watcher.cpython-312.pyc +0 -0
  1920. package/codex-lens/src/codexlens/watcher/__pycache__/file_watcher.cpython-313.pyc +0 -0
  1921. package/codex-lens/src/codexlens/watcher/__pycache__/incremental_indexer.cpython-310.pyc +0 -0
  1922. package/codex-lens/src/codexlens/watcher/__pycache__/incremental_indexer.cpython-312.pyc +0 -0
  1923. package/codex-lens/src/codexlens/watcher/__pycache__/incremental_indexer.cpython-313.pyc +0 -0
  1924. package/codex-lens/src/codexlens/watcher/__pycache__/manager.cpython-310.pyc +0 -0
  1925. package/codex-lens/src/codexlens/watcher/__pycache__/manager.cpython-312.pyc +0 -0
  1926. package/codex-lens/src/codexlens/watcher/__pycache__/manager.cpython-313.pyc +0 -0
@@ -1,1492 +0,0 @@
1
- /**
2
- * CLI Command - Unified CLI tool executor command
3
- * Provides interface for executing Gemini, Qwen, and Codex
4
- */
5
-
6
- import chalk from 'chalk';
7
- import http from 'http';
8
- import inquirer from 'inquirer';
9
- import type { CliOutputUnit } from '../tools/cli-output-converter.js';
10
- import { SmartContentFormatter } from '../tools/cli-output-converter.js';
11
- import {
12
- cliExecutorTool,
13
- getCliToolsStatus,
14
- getExecutionHistory,
15
- getExecutionHistoryAsync,
16
- getExecutionDetail,
17
- getConversationDetail,
18
- killCurrentCliProcess
19
- } from '../tools/cli-executor.js';
20
- import {
21
- getStorageStats,
22
- getStorageConfig,
23
- cleanProjectStorage,
24
- cleanAllStorage,
25
- formatBytes,
26
- formatTimeAgo,
27
- resolveProjectId,
28
- projectExists,
29
- getStorageLocationInstructions
30
- } from '../tools/storage-manager.js';
31
- import { getHistoryStore, findProjectWithExecution } from '../tools/cli-history-store.js';
32
- import { createSpinner } from '../utils/ui.js';
33
- import { loadClaudeCliSettings } from '../tools/claude-cli-tools.js';
34
-
35
- // Dashboard notification settings
36
- const DASHBOARD_PORT = process.env.CCW_PORT || 3456;
37
-
38
- /**
39
- * Notify dashboard of CLI execution events (fire and forget)
40
- */
41
- function notifyDashboard(data: Record<string, unknown>): void {
42
- const payload = JSON.stringify({
43
- type: 'cli_execution',
44
- ...data,
45
- timestamp: new Date().toISOString()
46
- });
47
-
48
- const req = http.request({
49
- hostname: 'localhost',
50
- port: Number(DASHBOARD_PORT),
51
- path: '/api/hook',
52
- method: 'POST',
53
- timeout: 2000, // 2 second timeout to prevent hanging
54
- headers: {
55
- 'Content-Type': 'application/json',
56
- 'Content-Length': Buffer.byteLength(payload)
57
- }
58
- });
59
-
60
- // Fire and forget - don't block process exit
61
- req.on('socket', (socket) => {
62
- socket.unref(); // Allow process to exit even if socket is open
63
- });
64
- req.on('error', (err) => {
65
- if (process.env.DEBUG) console.error('[Dashboard] CLI notification failed:', err.message);
66
- });
67
- req.on('timeout', () => {
68
- req.destroy();
69
- if (process.env.DEBUG) console.error('[Dashboard] CLI notification timed out');
70
- });
71
- req.write(payload);
72
- req.end();
73
- }
74
-
75
- /**
76
- * Broadcast WebSocket event to Dashboard for real-time streaming
77
- * Uses specific event types that match frontend handlers
78
- */
79
- function broadcastStreamEvent(eventType: string, payload: Record<string, unknown>): void {
80
- if (process.env.DEBUG_CLI_EVENTS) {
81
- console.error(`[CLI-BROADCAST] START ${eventType} at ${Date.now()}`);
82
- }
83
-
84
- const data = JSON.stringify({
85
- type: eventType,
86
- ...payload,
87
- timestamp: new Date().toISOString()
88
- });
89
-
90
- const req = http.request({
91
- hostname: 'localhost',
92
- port: Number(DASHBOARD_PORT),
93
- path: '/api/hook',
94
- method: 'POST',
95
- timeout: 1000, // Short timeout for streaming
96
- headers: {
97
- 'Content-Type': 'application/json',
98
- 'Content-Length': Buffer.byteLength(data)
99
- }
100
- });
101
-
102
- // Fire and forget - don't block streaming
103
- req.on('socket', (socket) => {
104
- socket.unref();
105
- });
106
- req.on('error', () => {
107
- // Silently ignore - dashboard may not be running
108
- });
109
- req.on('timeout', () => {
110
- req.destroy();
111
- });
112
- req.write(data);
113
- req.end();
114
-
115
- if (process.env.DEBUG_CLI_EVENTS) {
116
- console.error(`[CLI-BROADCAST] END ${eventType} at ${Date.now()}`);
117
- }
118
- }
119
-
120
- interface CliExecOptions {
121
- prompt?: string; // Prompt via --prompt/-p option (preferred for multi-line)
122
- file?: string; // Read prompt from file
123
- tool?: string;
124
- mode?: string;
125
- model?: string;
126
- cd?: string;
127
- includeDirs?: string;
128
- // timeout removed - controlled by external caller (bash timeout)
129
- stream?: boolean; // Enable streaming (default: false, caches output)
130
- resume?: string | boolean; // true = last, string = execution ID, comma-separated for merge
131
- id?: string; // Custom execution ID (e.g., IMPL-001-step1)
132
- noNative?: boolean; // Force prompt concatenation instead of native resume
133
- cache?: string | boolean; // Cache: true = auto from CONTEXT, string = comma-separated patterns/content
134
- injectMode?: 'none' | 'full' | 'progressive'; // Inject mode for cached content
135
- debug?: boolean; // Enable debug logging
136
- // Codex review options
137
- uncommitted?: boolean; // Review uncommitted changes (default for review mode)
138
- base?: string; // Review changes against base branch
139
- commit?: string; // Review changes from specific commit
140
- title?: string; // Optional title for review summary
141
- // Template/Rules options
142
- rule?: string; // Template name for auto-discovery (defines $PROTO and $TMPL env vars)
143
- // Output options
144
- toFile?: string; // Save output to file
145
- }
146
-
147
- /** Cache configuration parsed from --cache */
148
- interface CacheConfig {
149
- patterns?: string[]; // @patterns to pack (items starting with @)
150
- content?: string; // Additional text content (items not starting with @)
151
- }
152
-
153
- interface HistoryOptions {
154
- limit?: string;
155
- tool?: string;
156
- status?: string;
157
- }
158
-
159
- interface StorageOptions {
160
- all?: boolean;
161
- project?: string;
162
- cliHistory?: boolean;
163
- memory?: boolean;
164
- storageCache?: boolean;
165
- config?: boolean;
166
- force?: boolean;
167
- }
168
-
169
- interface OutputViewOptions {
170
- offset?: string;
171
- limit?: string;
172
- outputType?: 'stdout' | 'stderr' | 'both';
173
- turn?: string;
174
- raw?: boolean;
175
- final?: boolean; // Only output final result with usage hint
176
- project?: string; // Optional project path for lookup
177
- }
178
-
179
- /**
180
- * Show storage information and management options
181
- */
182
- async function storageAction(subAction: string | undefined, options: StorageOptions): Promise<void> {
183
- switch (subAction) {
184
- case 'info':
185
- case undefined:
186
- await showStorageInfo();
187
- break;
188
- case 'clean':
189
- await cleanStorage(options);
190
- break;
191
- case 'config':
192
- showStorageConfig();
193
- break;
194
- default:
195
- showStorageHelp();
196
- }
197
- }
198
-
199
- /**
200
- * Show storage information
201
- */
202
- async function showStorageInfo(): Promise<void> {
203
- console.log(chalk.bold.cyan('\n CCW Storage Information\n'));
204
-
205
- const config = getStorageConfig();
206
- const stats = getStorageStats();
207
-
208
- // Configuration
209
- console.log(chalk.bold.white(' Location:'));
210
- console.log(` ${chalk.cyan(stats.rootPath)}`);
211
- if (config.isCustom) {
212
- console.log(chalk.gray(` (Custom: CCW_DATA_DIR=${config.envVar})`));
213
- }
214
- console.log();
215
-
216
- // Summary
217
- console.log(chalk.bold.white(' Summary:'));
218
- console.log(` Total Size: ${chalk.yellow(formatBytes(stats.totalSize))}`);
219
- console.log(` Projects: ${chalk.yellow(stats.projectCount.toString())}`);
220
- console.log(` Global DB: ${stats.globalDb.exists ? chalk.green(formatBytes(stats.globalDb.size)) : chalk.gray('Not created')}`);
221
- console.log();
222
-
223
- // Projects breakdown
224
- if (stats.projects.length > 0) {
225
- console.log(chalk.bold.white(' Projects:'));
226
- console.log(chalk.gray(' ID Size History Last Used'));
227
- console.log(chalk.gray(' ─────────────────────────────────────────────────────'));
228
-
229
- for (const project of stats.projects) {
230
- const historyInfo = project.cliHistory.recordCount !== undefined
231
- ? `${project.cliHistory.recordCount} records`
232
- : (project.cliHistory.exists ? 'Yes' : '-');
233
-
234
- console.log(
235
- ` ${chalk.dim(project.projectId)} ` +
236
- `${formatBytes(project.totalSize).padStart(8)} ` +
237
- `${historyInfo.padStart(10)} ` +
238
- `${chalk.gray(formatTimeAgo(project.lastModified))}`
239
- );
240
- }
241
- console.log();
242
- }
243
-
244
- // Usage tips
245
- console.log(chalk.gray(' Commands:'));
246
- console.log(chalk.gray(' ccw cli storage clean Clean all storage'));
247
- console.log(chalk.gray(' ccw cli storage clean --project <path> Clean specific project'));
248
- console.log(chalk.gray(' ccw cli storage config Show location config'));
249
- console.log();
250
- }
251
-
252
- /**
253
- * Clean storage
254
- */
255
- async function cleanStorage(options: StorageOptions): Promise<void> {
256
- const { all, project, force, cliHistory, memory, storageCache, config } = options;
257
-
258
- // Determine what to clean
259
- const cleanTypes = {
260
- cliHistory: cliHistory || (!cliHistory && !memory && !storageCache && !config),
261
- memory: memory || (!cliHistory && !memory && !storageCache && !config),
262
- cache: storageCache || (!cliHistory && !memory && !storageCache && !config),
263
- config: config || false, // Config requires explicit flag
264
- all: !cliHistory && !memory && !storageCache && !config
265
- };
266
-
267
- if (project) {
268
- // Clean specific project
269
- const projectId = resolveProjectId(project);
270
-
271
- if (!projectExists(projectId)) {
272
- console.log(chalk.yellow(`\n No storage found for project: ${project}`));
273
- console.log(chalk.gray(` (Project ID: ${projectId})\n`));
274
- return;
275
- }
276
-
277
- if (!force) {
278
- console.log(chalk.bold.yellow('\n Warning: This will delete storage for project:'));
279
- console.log(` Path: ${project}`);
280
- console.log(` ID: ${projectId}`);
281
- console.log(chalk.gray('\n Use --force to confirm deletion.\n'));
282
- return;
283
- }
284
-
285
- console.log(chalk.bold.cyan('\n Cleaning project storage...\n'));
286
- const result = cleanProjectStorage(projectId, cleanTypes);
287
-
288
- if (result.success) {
289
- console.log(chalk.green(` ✓ Cleaned ${formatBytes(result.freedBytes)}`));
290
- } else {
291
- console.log(chalk.red(' ✗ Cleanup completed with errors:'));
292
- for (const err of result.errors) {
293
- console.log(chalk.red(` - ${err}`));
294
- }
295
- }
296
- } else {
297
- // Clean all storage
298
- const stats = getStorageStats();
299
-
300
- if (stats.projectCount === 0) {
301
- console.log(chalk.yellow('\n No storage to clean.\n'));
302
- return;
303
- }
304
-
305
- if (!force) {
306
- const { proceed } = await inquirer.prompt([{
307
- type: 'confirm',
308
- name: 'proceed',
309
- message: `Delete ALL CCW storage? This will remove ${stats.projectCount} projects (${formatBytes(stats.totalSize)}). This action cannot be undone.`,
310
- default: false
311
- }]);
312
-
313
- if (!proceed) {
314
- console.log(chalk.yellow('\n Storage clean cancelled.\n'));
315
- return;
316
- }
317
- }
318
-
319
- console.log(chalk.bold.cyan('\n Cleaning all storage...\n'));
320
- const result = cleanAllStorage(cleanTypes);
321
-
322
- if (result.success) {
323
- console.log(chalk.green(` ✓ Cleaned ${result.projectsCleaned} projects, freed ${formatBytes(result.freedBytes)}`));
324
- } else {
325
- console.log(chalk.yellow(` ⚠ Cleaned ${result.projectsCleaned} projects with some errors:`));
326
- for (const err of result.errors) {
327
- console.log(chalk.red(` - ${err}`));
328
- }
329
- }
330
- }
331
- console.log();
332
- }
333
-
334
- /**
335
- * Show storage configuration
336
- */
337
- function showStorageConfig(): void {
338
- console.log(getStorageLocationInstructions());
339
- }
340
-
341
- /**
342
- * Show storage help
343
- */
344
- function showStorageHelp(): void {
345
- console.log(chalk.bold.cyan('\n CCW Storage Management\n'));
346
- console.log(' Subcommands:');
347
- console.log(chalk.gray(' info Show storage information (default)'));
348
- console.log(chalk.gray(' clean Clean storage'));
349
- console.log(chalk.gray(' config Show configuration instructions'));
350
- console.log();
351
- console.log(' Clean Options:');
352
- console.log(chalk.gray(' --project <path> Clean specific project storage'));
353
- console.log(chalk.gray(' --force Confirm deletion'));
354
- console.log(chalk.gray(' --cli-history Clean only CLI history'));
355
- console.log(chalk.gray(' --memory Clean only memory store'));
356
- console.log(chalk.gray(' --cache Clean only cache'));
357
- console.log(chalk.gray(' --config Clean config (requires explicit flag)'));
358
- console.log();
359
- console.log(' Examples:');
360
- console.log(chalk.gray(' ccw cli storage # Show storage info'));
361
- console.log(chalk.gray(' ccw cli storage clean --force # Clean all storage'));
362
- console.log(chalk.gray(' ccw cli storage clean --project . --force # Clean current project'));
363
- console.log(chalk.gray(' ccw cli storage config # Show config instructions'));
364
- console.log();
365
- }
366
-
367
- /**
368
- * Show cached output for a conversation with pagination
369
- * Supports automatic discovery of project path from current directory or parents
370
- */
371
- async function outputAction(conversationId: string | undefined, options: OutputViewOptions): Promise<void> {
372
- if (!conversationId) {
373
- console.error(chalk.red('Error: Conversation ID is required'));
374
- console.error(chalk.gray('Usage: ccw cli output <conversation-id> [--offset N] [--limit N] [--project <path>]'));
375
- process.exit(1);
376
- }
377
-
378
- // Determine project path to use
379
- let projectPath = options.project || process.cwd();
380
- let store = getHistoryStore(projectPath);
381
-
382
- // Try to get result from specified/current directory
383
- let result = store.getCachedOutput(
384
- conversationId,
385
- options.turn ? parseInt(options.turn) : undefined,
386
- {
387
- offset: parseInt(options.offset || '0'),
388
- limit: parseInt(options.limit || '10000'),
389
- outputType: options.outputType || 'both'
390
- }
391
- );
392
-
393
- // If not found and no explicit project specified, try to find it
394
- if (!result && !options.project) {
395
- const found = findProjectWithExecution(conversationId, process.cwd());
396
- if (found) {
397
- projectPath = found.projectPath;
398
- store = getHistoryStore(projectPath);
399
- result = store.getCachedOutput(
400
- conversationId,
401
- options.turn ? parseInt(options.turn) : undefined,
402
- {
403
- offset: parseInt(options.offset || '0'),
404
- limit: parseInt(options.limit || '10000'),
405
- outputType: options.outputType || 'both'
406
- }
407
- );
408
- }
409
- }
410
-
411
- if (!result) {
412
- const hint = options.project
413
- ? `in project: ${options.project}`
414
- : 'in current directory or parent directories';
415
- console.error(chalk.red(`Error: Execution not found: ${conversationId}`));
416
- console.error(chalk.gray(` Searched ${hint}`));
417
- console.error(chalk.gray('Usage: ccw cli output <conversation-id> [--project <path>]'));
418
- process.exit(1);
419
- }
420
-
421
- if (options.raw) {
422
- // Raw output only (for piping)
423
- if (result.stdout) console.log(result.stdout.content);
424
- return;
425
- }
426
-
427
- if (options.final) {
428
- // Final result only with usage hint
429
- // Prefer finalOutput (agent_message only) > parsedOutput (filtered) > raw stdout
430
- const outputContent = result.finalOutput?.content || result.parsedOutput?.content || result.stdout?.content;
431
- if (outputContent) {
432
- console.log(outputContent);
433
- }
434
- console.log();
435
- console.log(chalk.gray('─'.repeat(60)));
436
- console.log(chalk.dim(`Usage: ccw cli output ${conversationId} [options]`));
437
- console.log(chalk.dim(' --raw Raw output (no formatting)'));
438
- console.log(chalk.dim(' --offset <n> Start from byte offset'));
439
- console.log(chalk.dim(' --limit <n> Limit output bytes'));
440
- console.log(chalk.dim(' --project <p> Specify project path explicitly'));
441
- console.log(chalk.dim(` --resume ccw cli -p "..." --resume ${conversationId}`));
442
- return;
443
- }
444
-
445
- // Formatted output
446
- console.log(chalk.bold.cyan('Execution Output\n'));
447
- console.log(` ${chalk.gray('ID:')} ${result.conversationId}`);
448
- console.log(` ${chalk.gray('Turn:')} ${result.turnNumber}`);
449
- console.log(` ${chalk.gray('Cached:')} ${result.cached ? chalk.green('Yes') : chalk.yellow('No')}`);
450
- console.log(` ${chalk.gray('Status:')} ${result.status}`);
451
- console.log(` ${chalk.gray('Time:')} ${result.timestamp}`);
452
- console.log(` ${chalk.gray('Project:')} ${chalk.cyan(projectPath)}`);
453
- console.log();
454
-
455
- if (result.stdout) {
456
- console.log(` ${chalk.gray('Stdout:')} (${result.stdout.totalBytes} bytes, offset ${result.stdout.offset})`);
457
- console.log(chalk.gray(' ' + '-'.repeat(60)));
458
- console.log(result.stdout.content);
459
- console.log(chalk.gray(' ' + '-'.repeat(60)));
460
- if (result.stdout.hasMore) {
461
- console.log(chalk.yellow(` ... ${result.stdout.totalBytes - result.stdout.offset - result.stdout.content.length} more bytes available`));
462
- console.log(chalk.gray(` Use --offset ${result.stdout.offset + result.stdout.content.length} to continue`));
463
- }
464
- console.log();
465
- }
466
-
467
- if (result.stderr && result.stderr.content) {
468
- console.log(` ${chalk.gray('Stderr:')} (${result.stderr.totalBytes} bytes, offset ${result.stderr.offset})`);
469
- console.log(chalk.gray(' ' + '-'.repeat(60)));
470
- console.log(result.stderr.content);
471
- console.log(chalk.gray(' ' + '-'.repeat(60)));
472
- if (result.stderr.hasMore) {
473
- console.log(chalk.yellow(` ... ${result.stderr.totalBytes - result.stderr.offset - result.stderr.content.length} more bytes available`));
474
- }
475
- console.log();
476
- }
477
- }
478
-
479
- /**
480
- * Test endpoint for debugging multi-line prompt parsing
481
- * Shows exactly how Commander.js parsed the arguments
482
- */
483
- function testParseAction(args: string[], options: CliExecOptions): void {
484
- console.log(chalk.bold.cyan('\n ═══════════════════════════════════════════════'));
485
- console.log(chalk.bold.cyan(' │ CLI PARSE TEST ENDPOINT │'));
486
- console.log(chalk.bold.cyan(' ═══════════════════════════════════════════════\n'));
487
-
488
- // Debug: show raw options.prompt with JSON.stringify to reveal hidden characters
489
- console.log(chalk.bold.yellow('🔬 RAW OPTIONS.PROMPT (JSON):'));
490
- console.log(chalk.cyan(' ' + JSON.stringify(options.prompt)));
491
- console.log();
492
-
493
- // Show args array parsing
494
- console.log(chalk.bold.yellow('📦 Positional Arguments (args[]):'));
495
- console.log(chalk.gray(' Length: ') + chalk.white(args.length));
496
- if (args.length === 0) {
497
- console.log(chalk.gray(' (empty)'));
498
- } else {
499
- args.forEach((arg, i) => {
500
- console.log(chalk.gray(` [${i}]: `) + chalk.green(`"${arg}"`));
501
- if (arg.includes('\n')) {
502
- console.log(chalk.yellow(` ↳ Contains ${arg.split('\n').length} lines`));
503
- }
504
- });
505
- }
506
-
507
- console.log();
508
-
509
- // Show options parsing
510
- console.log(chalk.bold.yellow('⚙️ Options:'));
511
- const optionEntries = Object.entries(options).filter(([_, v]) => v !== undefined);
512
- if (optionEntries.length === 0) {
513
- console.log(chalk.gray(' (none)'));
514
- } else {
515
- optionEntries.forEach(([key, value]) => {
516
- const displayValue = typeof value === 'string' && value.includes('\n')
517
- ? `"${value.substring(0, 50)}..." (${value.split('\n').length} lines)`
518
- : JSON.stringify(value);
519
- console.log(chalk.gray(` --${key}: `) + chalk.cyan(displayValue));
520
- });
521
- }
522
-
523
- console.log();
524
-
525
- // Show what would be used as prompt
526
- console.log(chalk.bold.yellow('🎯 Final Prompt Resolution:'));
527
- const { prompt: optionPrompt, file } = options;
528
-
529
- if (file) {
530
- console.log(chalk.gray(' Source: ') + chalk.magenta('--file/-f option'));
531
- console.log(chalk.gray(' File: ') + chalk.cyan(file));
532
- } else if (optionPrompt) {
533
- console.log(chalk.gray(' Source: ') + chalk.magenta('--prompt/-p option'));
534
- console.log(chalk.gray(' Value: ') + chalk.green(`"${optionPrompt.substring(0, 100)}${optionPrompt.length > 100 ? '...' : ''}"`));
535
- if (optionPrompt.includes('\n')) {
536
- console.log(chalk.yellow(` ↳ Multiline: ${optionPrompt.split('\n').length} lines`));
537
- }
538
- } else if (args[0]) {
539
- console.log(chalk.gray(' Source: ') + chalk.magenta('positional argument (args[0])'));
540
- console.log(chalk.gray(' Value: ') + chalk.green(`"${args[0].substring(0, 100)}${args[0].length > 100 ? '...' : ''}"`));
541
- if (args[0].includes('\n')) {
542
- console.log(chalk.yellow(` ↳ Multiline: ${args[0].split('\n').length} lines`));
543
- }
544
- } else {
545
- console.log(chalk.red(' No prompt found!'));
546
- }
547
-
548
- console.log();
549
-
550
- // Show raw debug info
551
- console.log(chalk.bold.yellow('🔍 Raw Debug Info:'));
552
- console.log(chalk.gray(' process.argv:'));
553
- process.argv.forEach((arg, i) => {
554
- console.log(chalk.gray(` [${i}]: `) + chalk.dim(arg.length > 60 ? arg.substring(0, 60) + '...' : arg));
555
- });
556
-
557
- console.log(chalk.bold.cyan('\n ═══════════════════════════════════════════════\n'));
558
- }
559
-
560
- /**
561
- * Show CLI tool status
562
- */
563
- async function statusAction(debug?: boolean): Promise<void> {
564
- // Enable debug mode if --debug flag is set
565
- if (debug) {
566
- process.env.DEBUG = 'true';
567
- console.log(chalk.yellow(' Debug mode enabled\n'));
568
- }
569
-
570
- console.log(chalk.bold.cyan('\n CLI Tools Status\n'));
571
-
572
- const status = await getCliToolsStatus();
573
-
574
- for (const [tool, info] of Object.entries(status)) {
575
- const statusIcon = info.available ? chalk.green('●') : chalk.red('○');
576
- const statusText = info.available ? chalk.green('Available') : chalk.red('Not Found');
577
-
578
- console.log(` ${statusIcon} ${chalk.bold.white(tool.padEnd(10))} ${statusText}`);
579
- if (info.available && info.path) {
580
- console.log(chalk.gray(` ${info.path}`));
581
- }
582
- }
583
-
584
- console.log();
585
- }
586
-
587
- /**
588
- * Execute a CLI tool
589
- * @param {string} prompt - Prompt to execute
590
- * @param {Object} options - CLI options
591
- */
592
- async function execAction(positionalPrompt: string | undefined, options: CliExecOptions): Promise<void> {
593
- const { prompt: optionPrompt, file, tool: userTool, mode = 'analysis', model, cd, includeDirs, stream, resume, id, noNative, cache, injectMode, debug, uncommitted, base, commit, title, rule, toFile } = options;
594
-
595
- // Determine the tool to use: explicit --tool option, or defaultTool from config
596
- let tool = userTool;
597
- if (!tool) {
598
- try {
599
- const settings = loadClaudeCliSettings(cd || process.cwd());
600
- tool = settings.defaultTool || 'gemini';
601
- } catch {
602
- // Fallback to gemini if config cannot be loaded
603
- tool = 'gemini';
604
- }
605
- }
606
-
607
- // Enable debug mode if --debug flag is set
608
- if (debug) {
609
- process.env.DEBUG = 'true';
610
- console.log(chalk.yellow(' Debug mode enabled\n'));
611
- }
612
-
613
- // Priority: 1. --file, 2. stdin (piped), 3. --prompt/-p option, 4. positional argument
614
- // Note: On Windows, quoted arguments like -p "say hello" may be split into
615
- // -p "say" and positional "hello". We merge them back together.
616
- let finalPrompt: string | undefined;
617
-
618
- if (file) {
619
- // Read from file
620
- const { readFileSync, existsSync } = await import('fs');
621
- const { resolve } = await import('path');
622
- const filePath = resolve(file);
623
- if (!existsSync(filePath)) {
624
- console.error(chalk.red(`Error: File not found: ${filePath}`));
625
- process.exit(1);
626
- }
627
- finalPrompt = readFileSync(filePath, 'utf8').trim();
628
- if (!finalPrompt) {
629
- console.error(chalk.red('Error: File is empty'));
630
- process.exit(1);
631
- }
632
- } else if (!process.stdin.isTTY) {
633
- // Read from stdin (piped input) - enables: echo "prompt" | ccw cli --tool gemini
634
- // This bypasses Windows shell multi-line argument limitations
635
- const { readFileSync } = await import('fs');
636
- try {
637
- finalPrompt = readFileSync(0, 'utf8').trim(); // fd 0 = stdin
638
- if (debug) {
639
- console.log(chalk.gray(` Read ${finalPrompt.length} chars from stdin`));
640
- }
641
- } catch {
642
- // stdin not available or empty, fall through to other methods
643
- }
644
- }
645
-
646
- // If no stdin input, try --prompt/-p option or positional argument
647
- if (!finalPrompt) {
648
- if (optionPrompt) {
649
- // Use --prompt/-p option (preferred for multi-line)
650
- // Merge with positional argument if Windows split the quoted string
651
- finalPrompt = positionalPrompt ? `${optionPrompt} ${positionalPrompt}` : optionPrompt;
652
- } else {
653
- // Fall back to positional argument
654
- finalPrompt = positionalPrompt;
655
- }
656
- }
657
-
658
- // Prompt is required unless resuming OR using review mode with target flags
659
- // codex review: --uncommitted, --base, --commit don't require a prompt
660
- const isReviewWithTarget = mode === 'review' && (uncommitted || base || commit);
661
- if (!finalPrompt && !resume && !isReviewWithTarget) {
662
- console.error(chalk.red('Error: Prompt is required'));
663
- console.error(chalk.gray('Usage: ccw cli -p "<prompt>" --tool gemini'));
664
- console.error(chalk.gray(' or: ccw cli -f prompt.txt --tool codex'));
665
- console.error(chalk.gray(' or: ccw cli --resume --tool gemini'));
666
- console.error(chalk.gray(' or: ccw cli --tool codex --mode review --uncommitted'));
667
- process.exit(1);
668
- }
669
-
670
- const prompt_to_use = finalPrompt || '';
671
-
672
- // Load rules templates (concatenation mode - directly append to prompt)
673
- // Skip template loading when using target flags with codex review
674
- // codex review: --uncommitted, --base, --commit are all mutually exclusive with [PROMPT]
675
- // Default to universal-rigorous-style if --rule not specified
676
- const skipTemplates = mode === 'review' && (uncommitted || base || commit);
677
- const effectiveRule = rule || 'universal-rigorous-style';
678
- let systemRules = ''; // Protocol content
679
- let roles = ''; // Template content
680
-
681
- if (skipTemplates) {
682
- if (debug) {
683
- console.log(chalk.gray(` Skipping templates: --commit with review mode doesn't support prompt`));
684
- }
685
- } else {
686
- try {
687
- const { loadProtocol, loadTemplate } = await import('../tools/template-discovery.js');
688
- const proto = loadProtocol(mode);
689
- const tmpl = loadTemplate(effectiveRule);
690
- if (proto) systemRules = proto;
691
- if (tmpl) roles = tmpl;
692
- if (debug) {
693
- console.log(chalk.gray(` Rule loaded: ${effectiveRule}${!rule ? ' (default)' : ''}`));
694
- console.log(chalk.gray(` systemRules(${systemRules.length} chars) + roles(${roles.length} chars)`));
695
- console.log(chalk.gray(` Rules will be appended to prompt automatically`));
696
- }
697
- } catch (error) {
698
- console.error(chalk.red(`Error loading rule template: ${error instanceof Error ? error.message : error}`));
699
- process.exit(1);
700
- }
701
- }
702
-
703
- // Handle cache option: pack @patterns and/or content
704
- let cacheSessionId: string | undefined;
705
- let actualPrompt = prompt_to_use;
706
-
707
- if (cache) {
708
- const { handler: contextCacheHandler } = await import('../tools/context-cache.js');
709
-
710
- // Parse cache config from comma-separated string
711
- // Items starting with @ are patterns, others are text content
712
- let cacheConfig: CacheConfig = {};
713
-
714
- if (cache === true) {
715
- // --cache without value: auto-extract from CONTEXT field
716
- const contextMatch = prompt_to_use.match(/CONTEXT:\s*([^\n]+)/i);
717
- if (contextMatch) {
718
- const contextLine = contextMatch[1];
719
- const patternMatches = contextLine.matchAll(/@[^\s|]+/g);
720
- cacheConfig.patterns = Array.from(patternMatches).map(m => m[0]);
721
- }
722
- } else if (typeof cache === 'string') {
723
- // Parse comma-separated items: @patterns and text content
724
- const items = cache.split(',').map(s => s.trim()).filter(Boolean);
725
- const patterns: string[] = [];
726
- const contentParts: string[] = [];
727
-
728
- for (const item of items) {
729
- if (item.startsWith('@')) {
730
- patterns.push(item);
731
- } else {
732
- contentParts.push(item);
733
- }
734
- }
735
-
736
- if (patterns.length > 0) {
737
- cacheConfig.patterns = patterns;
738
- }
739
- if (contentParts.length > 0) {
740
- cacheConfig.content = contentParts.join('\n');
741
- }
742
- }
743
-
744
- // Also extract patterns from CONTEXT if not provided
745
- if ((!cacheConfig.patterns || cacheConfig.patterns.length === 0) && prompt_to_use) {
746
- const contextMatch = prompt_to_use.match(/CONTEXT:\s*([^\n]+)/i);
747
- if (contextMatch) {
748
- const contextLine = contextMatch[1];
749
- const patternMatches = contextLine.matchAll(/@[^\s|]+/g);
750
- cacheConfig.patterns = Array.from(patternMatches).map(m => m[0]);
751
- }
752
- }
753
-
754
- // Pack if we have patterns or content
755
- if ((cacheConfig.patterns && cacheConfig.patterns.length > 0) || cacheConfig.content) {
756
- const patternCount = cacheConfig.patterns?.length || 0;
757
- const hasContent = !!cacheConfig.content;
758
- console.log(chalk.gray(` Caching: ${patternCount} pattern(s)${hasContent ? ' + text content' : ''}...`));
759
-
760
- const cacheResult = await contextCacheHandler({
761
- operation: 'pack',
762
- patterns: cacheConfig.patterns,
763
- content: cacheConfig.content,
764
- cwd: cd || process.cwd(),
765
- include_dirs: includeDirs ? includeDirs.split(',') : undefined,
766
- });
767
-
768
- if (cacheResult.success && cacheResult.result) {
769
- const packResult = cacheResult.result as { session_id: string; files_packed: number; total_bytes: number };
770
- cacheSessionId = packResult.session_id;
771
- console.log(chalk.gray(` Cached: ${packResult.files_packed} files, ${packResult.total_bytes} bytes`));
772
- console.log(chalk.gray(` Session: ${cacheSessionId}`));
773
-
774
- // Determine inject mode:
775
- // --inject-mode explicitly set > tool default (codex=full, others=none)
776
- const effectiveInjectMode = injectMode ?? (tool === 'codex' ? 'full' : 'none');
777
-
778
- if (effectiveInjectMode !== 'none' && cacheSessionId) {
779
- if (effectiveInjectMode === 'full') {
780
- // Read full cache content
781
- const readResult = await contextCacheHandler({
782
- operation: 'read',
783
- session_id: cacheSessionId,
784
- offset: 0,
785
- limit: 1024 * 1024, // 1MB max
786
- });
787
-
788
- if (readResult.success && readResult.result) {
789
- const { content: cachedContent, total_bytes } = readResult.result as { content: string; total_bytes: number };
790
- console.log(chalk.gray(` Injecting ${total_bytes} bytes (full mode)...`));
791
- actualPrompt = `=== CACHED CONTEXT (${packResult.files_packed} files) ===\n${cachedContent}\n\n=== USER PROMPT ===\n${prompt_to_use}`;
792
- }
793
- } else if (effectiveInjectMode === 'progressive') {
794
- // Progressive mode: read first page only (64KB default)
795
- const pageLimit = 65536;
796
- const readResult = await contextCacheHandler({
797
- operation: 'read',
798
- session_id: cacheSessionId,
799
- offset: 0,
800
- limit: pageLimit,
801
- });
802
-
803
- if (readResult.success && readResult.result) {
804
- const { content: cachedContent, total_bytes, has_more, next_offset } = readResult.result as {
805
- content: string; total_bytes: number; has_more: boolean; next_offset: number | null
806
- };
807
- console.log(chalk.gray(` Injecting ${cachedContent.length}/${total_bytes} bytes (progressive mode)...`));
808
-
809
- const moreInfo = has_more
810
- ? `\n[... ${total_bytes - cachedContent.length} more bytes available via: context_cache(operation="read", session_id="${cacheSessionId}", offset=${next_offset}) ...]`
811
- : '';
812
-
813
- actualPrompt = `=== CACHED CONTEXT (${packResult.files_packed} files, progressive) ===\n${cachedContent}${moreInfo}\n\n=== USER PROMPT ===\n${prompt_to_use}`;
814
- }
815
- }
816
- }
817
-
818
- console.log();
819
- } else {
820
- console.log(chalk.yellow(` Cache warning: ${cacheResult.error}`));
821
- }
822
- }
823
- }
824
-
825
- // Concatenate systemRules and roles to the end of prompt (if loaded)
826
- // Format: [USER_PROMPT]\n\nProtocol (mode): [content]\n\nTemplate (rule): [content]
827
- // Skip concatenation when using --commit with review mode (prompt not allowed)
828
- if (!skipTemplates && (systemRules || roles)) {
829
- const parts: string[] = [actualPrompt];
830
- if (systemRules) {
831
- parts.push(`Protocol (${mode}):\n${systemRules}`);
832
- }
833
- if (roles) {
834
- parts.push(`Template (${effectiveRule}):\n${roles}`);
835
- }
836
- actualPrompt = parts.join('\n\n');
837
-
838
- if (debug) {
839
- console.log(chalk.gray(` Prompt structure: USER_PROMPT(${prompt_to_use.length}) + Protocol(${systemRules.length}) + Template(${roles.length})`));
840
- console.log(chalk.gray(` Total prompt length: ${actualPrompt.length} chars`));
841
- }
842
- }
843
-
844
- // Parse resume IDs for merge scenario
845
- const resumeIds = resume && typeof resume === 'string' ? resume.split(',').map(s => s.trim()).filter(Boolean) : [];
846
- const isMerge = resumeIds.length > 1;
847
-
848
- // Show execution mode
849
- let resumeInfo = '';
850
- if (isMerge) {
851
- resumeInfo = ` merging ${resumeIds.length} conversations`;
852
- } else if (resume) {
853
- resumeInfo = typeof resume === 'string' ? ` resuming ${resume}` : ' resuming last';
854
- }
855
- const nativeMode = noNative ? ' (prompt-concat)' : '';
856
- const idInfo = id ? ` [${id}]` : '';
857
-
858
- // Show merge details
859
- if (isMerge) {
860
- console.log(chalk.gray(' Merging conversations:'));
861
- for (const rid of resumeIds) {
862
- console.log(chalk.gray(` • ${rid}`));
863
- }
864
- console.log();
865
- }
866
-
867
- // Generate execution ID for streaming (use custom ID or timestamp-based)
868
- const executionId = id || `${Date.now()}-${tool}`;
869
- const startTime = Date.now();
870
- const modelInfo = model ? ` @${model}` : '';
871
- const spinnerBaseText = `Executing ${tool}${modelInfo} (${mode} mode${resumeInfo}${nativeMode})${idInfo}...`;
872
- console.log();
873
-
874
- const spinner = stream ? null : createSpinner(` ${spinnerBaseText}`).start();
875
- const elapsedInterval = spinner
876
- ? setInterval(() => {
877
- const elapsedSeconds = Math.floor((Date.now() - startTime) / 1000);
878
- spinner.text = ` ${spinnerBaseText} (${elapsedSeconds}s elapsed)`;
879
- }, 1000)
880
- : null;
881
- elapsedInterval?.unref?.();
882
-
883
- if (!spinner) {
884
- console.log(chalk.cyan(` ${spinnerBaseText}\n`));
885
- }
886
-
887
- // Handle process interruption (SIGINT/SIGTERM) to notify dashboard
888
- const handleInterrupt = (signal: string) => {
889
- const duration = Date.now() - startTime;
890
- if (elapsedInterval) clearInterval(elapsedInterval);
891
- if (spinner) {
892
- spinner.warn(`Interrupted by ${signal} (${Math.floor(duration / 1000)}s elapsed)`);
893
- } else {
894
- console.log(chalk.yellow(`\n Interrupted by ${signal}`));
895
- }
896
-
897
- // Kill child process (gemini/codex/qwen CLI) if running
898
- killCurrentCliProcess();
899
-
900
- // Broadcast interruption to dashboard
901
- broadcastStreamEvent('CLI_EXECUTION_COMPLETED', {
902
- executionId,
903
- success: false,
904
- duration,
905
- interrupted: true
906
- });
907
-
908
- // Give time for the event to be sent before exiting
909
- setTimeout(() => process.exit(130), 100);
910
- };
911
-
912
- process.on('SIGINT', () => handleInterrupt('SIGINT'));
913
- process.on('SIGTERM', () => handleInterrupt('SIGTERM'));
914
-
915
- // Notify dashboard: execution started (legacy)
916
- notifyDashboard({
917
- event: 'started',
918
- tool,
919
- mode,
920
- prompt_preview: prompt_to_use.substring(0, 100) + (prompt_to_use.length > 100 ? '...' : ''),
921
- custom_id: id || null
922
- });
923
-
924
- // Broadcast CLI_EXECUTION_STARTED for real-time streaming viewer
925
- // Note: /api/hook wraps extraData into payload, so send fields directly
926
- broadcastStreamEvent('CLI_EXECUTION_STARTED', {
927
- executionId,
928
- tool,
929
- mode
930
- });
931
-
932
- if (process.env.DEBUG) {
933
- console.error(`[CLI] Generated executionId: ${executionId}`);
934
- }
935
-
936
- // Buffer to accumulate output when both --stream and --to-file are specified
937
- let streamBuffer = '';
938
-
939
- // Streaming output handler - broadcasts to dashboard AND writes to stdout
940
- const onOutput = (unit: CliOutputUnit) => {
941
- // Always broadcast to dashboard for real-time viewing
942
- // Note: /api/hook wraps extraData into payload, so send fields directly
943
- // Maintain backward compatibility with frontend expecting { chunkType, data }
944
- // Use SmartContentFormatter for intelligent content formatting (never returns null)
945
- const content = SmartContentFormatter.format(unit.content, unit.type);
946
- broadcastStreamEvent('CLI_OUTPUT', {
947
- executionId,
948
- chunkType: unit.type, // For backward compatibility
949
- data: content, // For backward compatibility (now formatted)
950
- unit // New structured format
951
- });
952
-
953
- // Write to terminal only when --stream flag is passed
954
- if (stream) {
955
- switch (unit.type) {
956
- case 'stdout':
957
- case 'code':
958
- case 'streaming_content': // Show streaming delta content in real-time
959
- const content1 = typeof unit.content === 'string' ? unit.content : JSON.stringify(unit.content);
960
- process.stdout.write(content1);
961
- if (toFile) streamBuffer += content1;
962
- break;
963
- case 'stderr':
964
- const content2 = typeof unit.content === 'string' ? unit.content : JSON.stringify(unit.content);
965
- process.stderr.write(content2);
966
- if (toFile) streamBuffer += content2;
967
- break;
968
- case 'thought':
969
- // Optional: display thinking process with different color
970
- // For now, skip to reduce noise
971
- break;
972
- case 'progress':
973
- // Optional: update progress bar
974
- // For now, skip
975
- break;
976
- default:
977
- // Other types: output content if available
978
- if (unit.content) {
979
- const content3 = typeof unit.content === 'string' ? unit.content : '';
980
- process.stdout.write(content3);
981
- if (toFile) streamBuffer += content3;
982
- }
983
- }
984
- }
985
- };
986
-
987
- // Use JSON-lines parsing by default to enable type badges (thought, code, file_diff, etc.)
988
- // All CLI tools may output structured JSON that can be parsed for richer UI
989
- const outputFormat = 'json-lines';
990
-
991
- try {
992
- const result = await cliExecutorTool.execute({
993
- tool,
994
- prompt: actualPrompt,
995
- mode,
996
- model,
997
- cd,
998
- includeDirs,
999
- // timeout removed - controlled by external caller (bash timeout)
1000
- resume,
1001
- id: executionId, // unified execution ID (matches broadcast events)
1002
- noNative,
1003
- stream: !!stream, // stream=true → streaming enabled (no cache), stream=false → cache output (default)
1004
- outputFormat, // Enable JSONL parsing for tools that support it
1005
- // Codex review options
1006
- uncommitted,
1007
- base,
1008
- commit,
1009
- title
1010
- // Rules are now concatenated directly into prompt (no env vars)
1011
- }, onOutput); // Always pass onOutput for real-time dashboard streaming
1012
-
1013
- if (elapsedInterval) clearInterval(elapsedInterval);
1014
- if (spinner) {
1015
- const durationSeconds = (result.execution.duration_ms / 1000).toFixed(1);
1016
- const turnInfo = result.success && result.conversation.turn_count > 1
1017
- ? ` (turn ${result.conversation.turn_count})`
1018
- : '';
1019
- if (result.success) {
1020
- spinner.succeed(`Completed in ${durationSeconds}s${turnInfo}`);
1021
- } else {
1022
- spinner.fail(`Failed after ${durationSeconds}s`);
1023
- }
1024
- }
1025
-
1026
- // If not streaming (default), print output now
1027
- // Prefer parsedOutput (from stream parser) over raw stdout for better formatting
1028
- if (!stream) {
1029
- const output = result.parsedOutput || result.stdout;
1030
- if (output) {
1031
- console.log(output);
1032
-
1033
- // Save to file if --to-file is specified
1034
- if (toFile) {
1035
- try {
1036
- const { writeFileSync, mkdirSync } = await import('fs');
1037
- const { dirname, resolve } = await import('path');
1038
- const filePath = resolve(cd || process.cwd(), toFile);
1039
- const dir = dirname(filePath);
1040
- mkdirSync(dir, { recursive: true });
1041
- writeFileSync(filePath, output, 'utf8');
1042
- if (debug) {
1043
- console.log(chalk.gray(` Saved output to: ${filePath}`));
1044
- }
1045
- } catch (err) {
1046
- console.error(chalk.red(` Error saving to file: ${(err as Error).message}`));
1047
- }
1048
- }
1049
- }
1050
- }
1051
-
1052
- // Print summary with execution ID and turn info
1053
- console.log();
1054
- if (result.success) {
1055
- // Save streaming output to file if needed
1056
- if (stream && toFile && streamBuffer) {
1057
- try {
1058
- const { writeFileSync, mkdirSync } = await import('fs');
1059
- const { dirname, resolve } = await import('path');
1060
- const filePath = resolve(cd || process.cwd(), toFile);
1061
- const dir = dirname(filePath);
1062
- mkdirSync(dir, { recursive: true });
1063
- writeFileSync(filePath, streamBuffer, 'utf8');
1064
- } catch (err) {
1065
- console.error(chalk.red(` Error saving to file: ${(err as Error).message}`));
1066
- }
1067
- }
1068
-
1069
- if (!spinner) {
1070
- const turnInfo = result.conversation.turn_count > 1
1071
- ? ` (turn ${result.conversation.turn_count})`
1072
- : '';
1073
- console.log(chalk.green(` ✓ Completed in ${(result.execution.duration_ms / 1000).toFixed(1)}s${turnInfo}`));
1074
- }
1075
- console.log(chalk.gray(` ID: ${result.execution.id}`));
1076
- if (isMerge && !id) {
1077
- // Merge without custom ID: updated all source conversations
1078
- console.log(chalk.gray(` Updated ${resumeIds.length} conversations: ${resumeIds.join(', ')}`));
1079
- } else if (isMerge && id) {
1080
- // Merge with custom ID: created new merged conversation
1081
- console.log(chalk.gray(` Created merged conversation from ${resumeIds.length} sources`));
1082
- }
1083
- if (result.conversation.turn_count > 1) {
1084
- console.log(chalk.gray(` Total: ${result.conversation.turn_count} turns, ${(result.conversation.total_duration_ms / 1000).toFixed(1)}s`));
1085
- }
1086
- console.log(chalk.dim(` Continue: ccw cli -p "..." --resume ${result.execution.id}`));
1087
- if (!stream) {
1088
- console.log(chalk.dim(` Output (optional): ccw cli output ${result.execution.id}`));
1089
- }
1090
- if (toFile) {
1091
- const { resolve } = await import('path');
1092
- const filePath = resolve(cd || process.cwd(), toFile);
1093
- console.log(chalk.green(` Saved to: ${filePath}`));
1094
- }
1095
-
1096
- // Notify dashboard: execution completed (legacy)
1097
- notifyDashboard({
1098
- event: 'completed',
1099
- tool,
1100
- mode,
1101
- execution_id: result.execution.id,
1102
- success: true,
1103
- duration_ms: result.execution.duration_ms,
1104
- turn_count: result.conversation.turn_count
1105
- });
1106
-
1107
- // Broadcast CLI_EXECUTION_COMPLETED for real-time streaming viewer
1108
- if (process.env.DEBUG_CLI_EVENTS) {
1109
- console.error(`[CLI-TIMING] Broadcasting CLI_EXECUTION_COMPLETED at ${Date.now()}`);
1110
- }
1111
- broadcastStreamEvent('CLI_EXECUTION_COMPLETED', {
1112
- executionId, // Use the same executionId as started event
1113
- success: true,
1114
- duration: result.execution.duration_ms
1115
- });
1116
- if (process.env.DEBUG_CLI_EVENTS) {
1117
- console.error(`[CLI-TIMING] Broadcast returned, setting timeout at ${Date.now()}`);
1118
- }
1119
-
1120
- // Ensure clean exit after successful execution
1121
- // Delay to allow HTTP request to complete
1122
- // FIX: Increased from 150ms to 500ms for long-running executions
1123
- setTimeout(() => {
1124
- if (process.env.DEBUG_CLI_EVENTS) {
1125
- console.error(`[CLI-TIMING] process.exit(0) at ${Date.now()}`);
1126
- }
1127
- process.exit(0);
1128
- }, 500);
1129
- } else {
1130
- if (!spinner) {
1131
- console.log(chalk.red(` ✗ Failed (${result.execution.status})`));
1132
- }
1133
- console.log(chalk.gray(` ID: ${result.execution.id}`));
1134
- console.log(chalk.gray(` Duration: ${(result.execution.duration_ms / 1000).toFixed(1)}s`));
1135
- console.log(chalk.gray(` Exit Code: ${result.execution.exit_code}`));
1136
-
1137
- // Show stderr with better formatting
1138
- if (result.stderr) {
1139
- console.log();
1140
- console.log(chalk.red.bold(' Error Output:'));
1141
- console.log(chalk.gray(' ' + '─'.repeat(60)));
1142
- // Indent stderr for better readability
1143
- const stderrLines = result.stderr.split('\n');
1144
- for (const line of stderrLines.slice(0, 30)) { // Limit to 30 lines
1145
- console.error(chalk.red(` ${line}`));
1146
- }
1147
- if (stderrLines.length > 30) {
1148
- console.log(chalk.yellow(` ... ${stderrLines.length - 30} more lines`));
1149
- console.log(chalk.cyan(` 💡 View full output: ccw cli output ${result.execution.id}`));
1150
- console.log();
1151
- }
1152
- console.log(chalk.gray(' ' + '─'.repeat(60)));
1153
- }
1154
-
1155
- // Show troubleshooting hints
1156
- console.log();
1157
- console.log(chalk.yellow.bold(' Troubleshooting:'));
1158
- console.log(chalk.gray(` • Check if ${tool} is properly installed: ccw cli status`));
1159
- console.log(chalk.gray(` • Enable debug mode: DEBUG=true ccw cli -p "..." or set DEBUG=true && ccw cli -p "..."`));
1160
- if (result.stderr?.includes('API key') || result.stderr?.includes('Authentication')) {
1161
- console.log(chalk.gray(` • Check API key configuration for ${tool}`));
1162
- }
1163
- if (result.stderr?.includes('rate limit')) {
1164
- console.log(chalk.gray(` • Wait and retry - rate limit exceeded`));
1165
- }
1166
-
1167
- // Notify dashboard: execution failed (legacy)
1168
- notifyDashboard({
1169
- event: 'completed',
1170
- tool,
1171
- mode,
1172
- execution_id: result.execution.id,
1173
- success: false,
1174
- status: result.execution.status,
1175
- duration_ms: result.execution.duration_ms
1176
- });
1177
-
1178
- // Broadcast CLI_EXECUTION_COMPLETED for real-time streaming viewer
1179
- broadcastStreamEvent('CLI_EXECUTION_COMPLETED', {
1180
- executionId, // Use the same executionId as started event
1181
- success: false,
1182
- duration: result.execution.duration_ms
1183
- });
1184
-
1185
- // Delay to allow HTTP request to complete
1186
- setTimeout(() => process.exit(1), 150);
1187
- }
1188
- } catch (error) {
1189
- const err = error as Error;
1190
- if (elapsedInterval) clearInterval(elapsedInterval);
1191
- if (spinner) spinner.fail('Execution error');
1192
- console.error(chalk.red.bold(`\n ✗ Execution Error\n`));
1193
- console.error(chalk.red(` ${err.message}`));
1194
-
1195
- // Parse error message for additional context
1196
- if (err.message.includes('Failed to spawn')) {
1197
- console.log();
1198
- console.log(chalk.yellow.bold(' Troubleshooting:'));
1199
- console.log(chalk.gray(` • Check if ${tool} is installed: npm ls -g @google/gemini-cli (or qwen/codex)`));
1200
- console.log(chalk.gray(` • Verify PATH includes npm global bin directory`));
1201
- console.log(chalk.gray(` • Run: ccw cli status`));
1202
- console.log(chalk.gray(` • Enable debug mode: DEBUG=true ccw cli -p "..."`));
1203
- } else if (err.message.includes('not available')) {
1204
- console.log();
1205
- console.log(chalk.yellow.bold(' Troubleshooting:'));
1206
- console.log(chalk.gray(` • Install the tool: npm install -g <package-name>`));
1207
- console.log(chalk.gray(` • Run: ccw cli status`));
1208
- }
1209
-
1210
- // Notify dashboard: execution error (legacy)
1211
- notifyDashboard({
1212
- event: 'error',
1213
- tool,
1214
- mode,
1215
- error: err.message
1216
- });
1217
-
1218
- // Broadcast CLI_EXECUTION_ERROR for real-time streaming viewer
1219
- broadcastStreamEvent('CLI_EXECUTION_ERROR', {
1220
- executionId,
1221
- error: err.message
1222
- });
1223
-
1224
- // Delay to allow HTTP request to complete
1225
- setTimeout(() => process.exit(1), 150);
1226
- }
1227
- }
1228
-
1229
- /**
1230
- * Show execution history
1231
- * @param {Object} options - CLI options
1232
- */
1233
- async function historyAction(options: HistoryOptions): Promise<void> {
1234
- const { limit = '20', tool, status } = options;
1235
-
1236
- console.log(chalk.bold.cyan('\n CLI Execution History\n'));
1237
-
1238
- // Use recursive: true to aggregate history from parent and child projects (matches Dashboard behavior)
1239
- const history = await getExecutionHistoryAsync(process.cwd(), { limit: parseInt(limit, 10), tool, status, recursive: true });
1240
-
1241
- if (history.executions.length === 0) {
1242
- console.log(chalk.gray(' No executions found.\n'));
1243
- return;
1244
- }
1245
-
1246
- // Count by tool
1247
- const toolCounts: Record<string, number> = {};
1248
- for (const exec of history.executions) {
1249
- toolCounts[exec.tool] = (toolCounts[exec.tool] || 0) + 1;
1250
- }
1251
- const toolSummary = Object.entries(toolCounts).map(([t, c]) => `${t}:${c}`).join(' ');
1252
-
1253
- // Compact table header with tool breakdown
1254
- console.log(chalk.gray(` Total: ${history.total} | Showing: ${history.executions.length} (${toolSummary})\n`));
1255
- console.log(chalk.gray(' Status Tool Time Duration ID'));
1256
- console.log(chalk.gray(' ' + '─'.repeat(70)));
1257
-
1258
- for (const exec of history.executions) {
1259
- const statusIcon = exec.status === 'success' ? chalk.green('●') :
1260
- exec.status === 'timeout' ? chalk.yellow('●') : chalk.red('●');
1261
- const duration = exec.duration_ms >= 1000
1262
- ? `${(exec.duration_ms / 1000).toFixed(1)}s`
1263
- : `${exec.duration_ms}ms`;
1264
-
1265
- const timeAgo = getTimeAgo(new Date(exec.updated_at || exec.timestamp));
1266
- const turnInfo = exec.turn_count && exec.turn_count > 1 ? chalk.cyan(`[${exec.turn_count}t]`) : ' ';
1267
-
1268
- // Compact format: status tool time duration [turns] + id on same line (no truncation)
1269
- // Truncate prompt preview to 50 chars for compact display
1270
- const shortPrompt = exec.prompt_preview.replace(/\n/g, ' ').substring(0, 50).trim();
1271
- console.log(` ${statusIcon} ${chalk.bold.white(exec.tool.padEnd(8))} ${chalk.gray(timeAgo.padEnd(11))} ${chalk.gray(duration.padEnd(8))} ${turnInfo} ${chalk.dim(exec.id)}`);
1272
- console.log(chalk.gray(` ${shortPrompt}${exec.prompt_preview.length > 50 ? '...' : ''}`));
1273
- }
1274
-
1275
- // Usage hint
1276
- console.log();
1277
- console.log(chalk.gray(' ' + '─'.repeat(70)));
1278
- console.log(chalk.dim(' Filter: ccw cli history --tool <gemini|codex|qwen> --limit <n>'));
1279
- console.log(chalk.dim(' Output: ccw cli output <id> --final'));
1280
- console.log();
1281
- }
1282
-
1283
- /**
1284
- * Show conversation detail with all turns
1285
- * @param {string} conversationId - Conversation ID
1286
- */
1287
- async function detailAction(conversationId: string | undefined): Promise<void> {
1288
- if (!conversationId) {
1289
- console.error(chalk.red('Error: Conversation ID is required'));
1290
- console.error(chalk.gray('Usage: ccw cli detail <conversation-id>'));
1291
- process.exit(1);
1292
- }
1293
-
1294
- const conversation = getConversationDetail(process.cwd(), conversationId);
1295
-
1296
- if (!conversation) {
1297
- console.error(chalk.red(`Error: Conversation not found: ${conversationId}`));
1298
- process.exit(1);
1299
- }
1300
-
1301
- console.log(chalk.bold.cyan('\n Conversation Detail\n'));
1302
- console.log(` ${chalk.gray('ID:')} ${conversation.id}`);
1303
- console.log(` ${chalk.gray('Tool:')} ${conversation.tool}`);
1304
- console.log(` ${chalk.gray('Model:')} ${conversation.model}`);
1305
- console.log(` ${chalk.gray('Mode:')} ${conversation.mode}`);
1306
- console.log(` ${chalk.gray('Status:')} ${conversation.latest_status}`);
1307
- console.log(` ${chalk.gray('Turns:')} ${conversation.turn_count}`);
1308
- console.log(` ${chalk.gray('Duration:')} ${(conversation.total_duration_ms / 1000).toFixed(1)}s total`);
1309
- console.log(` ${chalk.gray('Created:')} ${conversation.created_at}`);
1310
- if (conversation.turn_count > 1) {
1311
- console.log(` ${chalk.gray('Updated:')} ${conversation.updated_at}`);
1312
- }
1313
-
1314
- // Show all turns
1315
- for (const turn of conversation.turns) {
1316
- console.log(chalk.bold.cyan(`\n ═══ Turn ${turn.turn} ═══`));
1317
- console.log(chalk.gray(` ${turn.timestamp} | ${turn.status} | ${(turn.duration_ms / 1000).toFixed(1)}s`));
1318
-
1319
- console.log(chalk.bold.white('\n Prompt:'));
1320
- console.log(chalk.gray(' ' + turn.prompt.split('\n').join('\n ')));
1321
-
1322
- if (turn.output.stdout) {
1323
- console.log(chalk.bold.white('\n Output:'));
1324
- console.log(turn.output.stdout);
1325
- }
1326
-
1327
- if (turn.output.stderr) {
1328
- console.log(chalk.bold.red('\n Errors:'));
1329
- console.log(turn.output.stderr);
1330
- }
1331
-
1332
- if (turn.output.truncated) {
1333
- console.log(chalk.yellow('\n Note: Output was truncated due to size.'));
1334
- }
1335
- }
1336
-
1337
- console.log(chalk.dim(`\n Continue: ccw cli -p "..." --resume ${conversation.id}`));
1338
- console.log();
1339
- }
1340
-
1341
- /**
1342
- * Get human-readable time ago string
1343
- * @param {Date} date
1344
- * @returns {string}
1345
- */
1346
- function getTimeAgo(date: Date): string {
1347
- const seconds = Math.floor((new Date().getTime() - date.getTime()) / 1000);
1348
-
1349
- if (seconds < 60) return 'just now';
1350
- if (seconds < 3600) return `${Math.floor(seconds / 60)}m ago`;
1351
- if (seconds < 86400) return `${Math.floor(seconds / 3600)}h ago`;
1352
- if (seconds < 604800) return `${Math.floor(seconds / 86400)}d ago`;
1353
- return date.toLocaleDateString();
1354
- }
1355
-
1356
- /**ccw cli -p
1357
- * CLI command entry point
1358
- * @param {string} subcommand - Subcommand (status, exec, history, detail)
1359
- * @param {string[]} args - Arguments array
1360
- * @param {Object} options - CLI options
1361
- */
1362
- export async function cliCommand(
1363
- subcommand: string,
1364
- args: string | string[],
1365
- options: CliExecOptions | HistoryOptions
1366
- ): Promise<void> {
1367
- const argsArray = Array.isArray(args) ? args : (args ? [args] : []);
1368
-
1369
- switch (subcommand) {
1370
- case 'status':
1371
- await statusAction((options as CliExecOptions).debug);
1372
- break;
1373
-
1374
- case 'history':
1375
- await historyAction(options as HistoryOptions);
1376
- break;
1377
-
1378
- case 'detail':
1379
- await detailAction(argsArray[0]);
1380
- break;
1381
-
1382
- case 'storage':
1383
- await storageAction(argsArray[0], options as unknown as StorageOptions);
1384
- break;
1385
-
1386
- case 'output':
1387
- await outputAction(argsArray[0], options as unknown as OutputViewOptions);
1388
- break;
1389
-
1390
- case 'test-parse':
1391
- // Test endpoint to debug multi-line prompt parsing
1392
- testParseAction(argsArray, options as CliExecOptions);
1393
- break;
1394
-
1395
- default: {
1396
- const execOptions = options as CliExecOptions;
1397
- // Auto-exec if: has -p/--prompt, has -f/--file, has --resume, subcommand looks like a prompt,
1398
- // review mode with target flags (--uncommitted, --base, --commit), or stdin has piped input
1399
- const hasPromptOption = !!execOptions.prompt;
1400
- const hasFileOption = !!execOptions.file;
1401
- const hasResume = execOptions.resume !== undefined;
1402
- const subcommandIsPrompt = subcommand && !subcommand.startsWith('-');
1403
- const hasReviewTarget = execOptions.mode === 'review' &&
1404
- (execOptions.uncommitted || execOptions.base || execOptions.commit);
1405
- const hasStdinInput = !process.stdin.isTTY; // piped input detected
1406
-
1407
- if (hasPromptOption || hasFileOption || hasResume || subcommandIsPrompt || hasReviewTarget || hasStdinInput) {
1408
- // Treat as exec: use subcommand as positional prompt if no -p/-f option
1409
- let positionalPrompt = subcommandIsPrompt ? subcommand : undefined;
1410
-
1411
- // On Windows, quoted arguments like -p "a b c" may be split across argsArray
1412
- // Merge them back together to reconstruct the full prompt
1413
- if (argsArray.length > 0 && hasPromptOption) {
1414
- const extraArgs = argsArray.join(' ');
1415
- positionalPrompt = positionalPrompt ? `${positionalPrompt} ${extraArgs}` : extraArgs;
1416
- }
1417
-
1418
- await execAction(positionalPrompt, execOptions);
1419
- } else {
1420
- // Show help
1421
- console.log(chalk.bold.cyan('\n CCW CLI Tool Executor\n'));
1422
- console.log(' Unified interface for Gemini, Qwen, and Codex CLI tools.\n');
1423
- console.log(' Usage:');
1424
- console.log(chalk.gray(' ccw cli -f prompt.txt --tool <tool> Execute from file (recommended for multi-line)'));
1425
- console.log(chalk.gray(' ccw cli -p "<prompt>" --tool <tool> Execute with prompt (single-line)'));
1426
- console.log(chalk.gray(' echo "prompt" | ccw cli --tool <tool> Execute from stdin (pipe)'));
1427
- console.log();
1428
- console.log(' Subcommands:');
1429
- console.log(chalk.gray(' status Check CLI tools availability'));
1430
- console.log(chalk.gray(' storage [cmd] Manage CCW storage (info/clean/config)'));
1431
- console.log(chalk.gray(' history Show execution history'));
1432
- console.log(chalk.gray(' detail <id> Show execution detail'));
1433
- console.log(chalk.gray(' output <id> Show execution output with pagination'));
1434
- console.log(chalk.gray(' test-parse [args] Debug CLI argument parsing'));
1435
- console.log();
1436
- console.log(' Options:');
1437
- console.log(chalk.gray(' -f, --file <file> Read prompt from file (recommended for multi-line prompts)'));
1438
- console.log(chalk.gray(' -p, --prompt <text> Prompt text (single-line)'));
1439
- console.log(chalk.gray(' --tool <tool> Tool: gemini, qwen, codex (default: gemini)'));
1440
- console.log(chalk.gray(' --mode <mode> Mode: analysis, write, auto, review (default: analysis)'));
1441
- console.log(chalk.gray(' -d, --debug Enable debug logging for troubleshooting'));
1442
- console.log(chalk.gray(' --model <model> Model override'));
1443
- console.log(chalk.gray(' --cd <path> Working directory'));
1444
- console.log(chalk.gray(' --includeDirs <dirs> Additional directories'));
1445
- // --timeout removed - controlled by external caller (bash timeout)
1446
- console.log(chalk.gray(' --resume [id] Resume previous session'));
1447
- console.log(chalk.gray(' --cache <items> Cache: comma-separated @patterns and text'));
1448
- console.log(chalk.gray(' --inject-mode <m> Inject mode: none, full, progressive'));
1449
- console.log();
1450
- console.log(' Examples:');
1451
- console.log(chalk.gray(' ccw cli -f my-prompt.txt --tool gemini'));
1452
- console.log();
1453
- console.log(chalk.gray(' # Bash/Linux heredoc'));
1454
- console.log(chalk.gray(" ccw cli -f <(cat <<'EOF'"));
1455
- console.log(chalk.gray(' PURPOSE: Multi-line prompt'));
1456
- console.log(chalk.gray(' TASK: Example task'));
1457
- console.log(chalk.gray(' EOF'));
1458
- console.log(chalk.gray(' ) --tool gemini'));
1459
- console.log();
1460
- console.log(chalk.gray(' # PowerShell multi-line'));
1461
- console.log(chalk.gray(" @'"));
1462
- console.log(chalk.gray(' PURPOSE: Multi-line prompt'));
1463
- console.log(chalk.gray(' TASK: Example task'));
1464
- console.log(chalk.gray(" '@ | Out-File -Encoding utf8 prompt.tmp; ccw cli -f prompt.tmp --tool gemini"));
1465
- console.log();
1466
- console.log(chalk.gray(' ccw cli --resume --tool gemini'));
1467
- console.log(chalk.gray(' ccw cli -p "..." --cache "@src/**/*.ts" --tool codex'));
1468
- console.log(chalk.gray(' ccw cli -p "..." --cache "@src/**/*" --inject-mode progressive --tool gemini'));
1469
- console.log(chalk.gray(' ccw cli output <id> --final # View result with usage hint'));
1470
- console.log();
1471
- console.log(' Cache format:');
1472
- console.log(chalk.gray(' --cache "@src/**/*.ts,@CLAUDE.md" # @patterns to pack'));
1473
- console.log(chalk.gray(' --cache "@src/**/*,extra context" # patterns + text content'));
1474
- console.log(chalk.gray(' --cache # auto from CONTEXT field'));
1475
- console.log();
1476
- console.log(' Inject modes:');
1477
- console.log(chalk.gray(' none: cache only, no injection (default for gemini/qwen)'));
1478
- console.log(chalk.gray(' full: inject all cached content (default for codex)'));
1479
- console.log(chalk.gray(' progressive: inject first 64KB with MCP continuation hint'));
1480
- console.log();
1481
- console.log(' Output options (ccw cli output <id>):');
1482
- console.log(chalk.gray(' --final Final result only with usage hint'));
1483
- console.log(chalk.gray(' --raw Raw output only (no formatting, for piping)'));
1484
- console.log(chalk.gray(' --offset <n> Start from byte offset'));
1485
- console.log(chalk.gray(' --limit <n> Limit output bytes'));
1486
- console.log();
1487
- console.log(chalk.dim(' Tip: For complex prompts, use --file to avoid shell escaping issues'));
1488
- console.log();
1489
- }
1490
- }
1491
- }
1492
- }