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,1372 +0,0 @@
1
- /**
2
- * MCP Routes Module
3
- * Handles all MCP-related API endpoints
4
- */
5
- import { readFileSync, writeFileSync, existsSync, mkdirSync, readdirSync, statSync } from 'fs';
6
- import { join, dirname } from 'path';
7
- import { homedir } from 'os';
8
- import * as McpTemplatesDb from './mcp-templates-db.js';
9
- import type { RouteContext } from './types.js';
10
-
11
- // Claude config file path
12
- const CLAUDE_CONFIG_PATH = join(homedir(), '.claude.json');
13
-
14
- // Codex config file path (TOML format)
15
- const CODEX_CONFIG_PATH = join(homedir(), '.codex', 'config.toml');
16
-
17
- // Workspace root path for scanning .mcp.json files
18
- let WORKSPACE_ROOT = process.cwd();
19
-
20
- // ========================================
21
- // TOML Parser for Codex Config
22
- // ========================================
23
-
24
- /**
25
- * Simple TOML parser for Codex config.toml
26
- * Supports basic types: strings, numbers, booleans, arrays, inline tables
27
- */
28
- function parseToml(content: string): Record<string, any> {
29
- const result: Record<string, any> = {};
30
- let currentSection: string[] = [];
31
- const lines = content.split('\n');
32
-
33
- for (let i = 0; i < lines.length; i++) {
34
- let line = lines[i].trim();
35
-
36
- // Skip empty lines and comments
37
- if (!line || line.startsWith('#')) continue;
38
-
39
- // Handle section headers [section] or [section.subsection]
40
- const sectionMatch = line.match(/^\[([^\]]+)\]$/);
41
- if (sectionMatch) {
42
- currentSection = sectionMatch[1].split('.');
43
- // Ensure nested sections exist
44
- let obj = result;
45
- for (const part of currentSection) {
46
- if (!obj[part]) obj[part] = {};
47
- obj = obj[part];
48
- }
49
- continue;
50
- }
51
-
52
- // Handle key = value pairs
53
- const keyValueMatch = line.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\s*=\s*(.+)$/);
54
- if (keyValueMatch) {
55
- const key = keyValueMatch[1];
56
- const rawValue = keyValueMatch[2].trim();
57
- const value = parseTomlValue(rawValue);
58
-
59
- // Navigate to current section
60
- let obj = result;
61
- for (const part of currentSection) {
62
- if (!obj[part]) obj[part] = {};
63
- obj = obj[part];
64
- }
65
- obj[key] = value;
66
- }
67
- }
68
-
69
- return result;
70
- }
71
-
72
- /**
73
- * Parse a TOML value
74
- */
75
- function parseTomlValue(value: string): any {
76
- // String (double-quoted)
77
- if (value.startsWith('"') && value.endsWith('"')) {
78
- return value.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
79
- }
80
-
81
- // String (single-quoted - literal)
82
- if (value.startsWith("'") && value.endsWith("'")) {
83
- return value.slice(1, -1);
84
- }
85
-
86
- // Boolean
87
- if (value === 'true') return true;
88
- if (value === 'false') return false;
89
-
90
- // Number
91
- if (/^-?\d+(\.\d+)?$/.test(value)) {
92
- return value.includes('.') ? parseFloat(value) : parseInt(value, 10);
93
- }
94
-
95
- // Array
96
- if (value.startsWith('[') && value.endsWith(']')) {
97
- const inner = value.slice(1, -1).trim();
98
- if (!inner) return [];
99
- // Simple array parsing (handles basic cases)
100
- const items: any[] = [];
101
- let depth = 0;
102
- let current = '';
103
- let inString = false;
104
- let stringChar = '';
105
-
106
- for (const char of inner) {
107
- if (!inString && (char === '"' || char === "'")) {
108
- inString = true;
109
- stringChar = char;
110
- current += char;
111
- } else if (inString && char === stringChar) {
112
- inString = false;
113
- current += char;
114
- } else if (!inString && (char === '[' || char === '{')) {
115
- depth++;
116
- current += char;
117
- } else if (!inString && (char === ']' || char === '}')) {
118
- depth--;
119
- current += char;
120
- } else if (!inString && char === ',' && depth === 0) {
121
- items.push(parseTomlValue(current.trim()));
122
- current = '';
123
- } else {
124
- current += char;
125
- }
126
- }
127
- if (current.trim()) {
128
- items.push(parseTomlValue(current.trim()));
129
- }
130
- return items;
131
- }
132
-
133
- // Inline table { key = value, ... }
134
- if (value.startsWith('{') && value.endsWith('}')) {
135
- const inner = value.slice(1, -1).trim();
136
- if (!inner) return {};
137
- const table: Record<string, any> = {};
138
- // Simple inline table parsing
139
- const pairs = inner.split(',');
140
- for (const pair of pairs) {
141
- const match = pair.trim().match(/^([a-zA-Z_][a-zA-Z0-9_]*)\s*=\s*(.+)$/);
142
- if (match) {
143
- table[match[1]] = parseTomlValue(match[2].trim());
144
- }
145
- }
146
- return table;
147
- }
148
-
149
- // Return as string if nothing else matches
150
- return value;
151
- }
152
-
153
- /**
154
- * Serialize object to TOML format for Codex config
155
- *
156
- * Handles mixed objects containing both simple values and sub-objects.
157
- * For example: { command: "cmd", args: [...], env: { KEY: "value" } }
158
- * becomes:
159
- * [section]
160
- * command = "cmd"
161
- * args = [...]
162
- * [section.env]
163
- * KEY = "value"
164
- */
165
- function serializeToml(obj: Record<string, any>, prefix: string = ''): string {
166
- let result = '';
167
-
168
- for (const [key, value] of Object.entries(obj)) {
169
- if (value === null || value === undefined) continue;
170
-
171
- if (typeof value === 'object' && !Array.isArray(value)) {
172
- // Handle nested sections (like mcp_servers.server_name)
173
- const sectionKey = prefix ? `${prefix}.${key}` : key;
174
-
175
- // Separate simple values from sub-objects
176
- const simpleEntries: [string, any][] = [];
177
- const objectEntries: [string, any][] = [];
178
-
179
- for (const [subKey, subValue] of Object.entries(value)) {
180
- if (subValue === null || subValue === undefined) continue;
181
- if (typeof subValue === 'object' && !Array.isArray(subValue)) {
182
- objectEntries.push([subKey, subValue]);
183
- } else {
184
- simpleEntries.push([subKey, subValue]);
185
- }
186
- }
187
-
188
- // Write section header if there are simple values
189
- if (simpleEntries.length > 0) {
190
- result += `\n[${sectionKey}]\n`;
191
- for (const [subKey, subValue] of simpleEntries) {
192
- result += `${subKey} = ${serializeTomlValue(subValue)}\n`;
193
- }
194
- }
195
-
196
- // Recursively handle sub-objects
197
- if (objectEntries.length > 0) {
198
- for (const [subKey, subValue] of objectEntries) {
199
- const subSectionKey = `${sectionKey}.${subKey}`;
200
-
201
- // Check if sub-object has nested objects
202
- const hasNestedObjects = Object.values(subValue).some(
203
- v => typeof v === 'object' && v !== null && !Array.isArray(v)
204
- );
205
-
206
- if (hasNestedObjects) {
207
- // Recursively process nested objects
208
- result += serializeToml({ [subKey]: subValue }, sectionKey);
209
- } else {
210
- // Write sub-section with simple values
211
- result += `\n[${subSectionKey}]\n`;
212
- for (const [nestedKey, nestedValue] of Object.entries(subValue)) {
213
- if (nestedValue !== null && nestedValue !== undefined) {
214
- result += `${nestedKey} = ${serializeTomlValue(nestedValue)}\n`;
215
- }
216
- }
217
- }
218
- }
219
- }
220
-
221
- // If no simple values but has object entries, still need to process
222
- if (simpleEntries.length === 0 && objectEntries.length === 0) {
223
- // Empty section - write header only
224
- result += `\n[${sectionKey}]\n`;
225
- }
226
- } else if (!prefix) {
227
- // Top-level simple values
228
- result += `${key} = ${serializeTomlValue(value)}\n`;
229
- }
230
- }
231
-
232
- return result;
233
- }
234
-
235
- /**
236
- * Serialize a value to TOML format
237
- */
238
- function serializeTomlValue(value: any): string {
239
- if (typeof value === 'string') {
240
- return `"${value.replace(/\\/g, '\\\\').replace(/"/g, '\\"')}"`;
241
- }
242
- if (typeof value === 'boolean') {
243
- return value ? 'true' : 'false';
244
- }
245
- if (typeof value === 'number') {
246
- return String(value);
247
- }
248
- if (Array.isArray(value)) {
249
- return `[${value.map(v => serializeTomlValue(v)).join(', ')}]`;
250
- }
251
- if (typeof value === 'object' && value !== null) {
252
- const pairs = Object.entries(value)
253
- .filter(([_, v]) => v !== null && v !== undefined)
254
- .map(([k, v]) => `${k} = ${serializeTomlValue(v)}`);
255
- return `{ ${pairs.join(', ')} }`;
256
- }
257
- return String(value);
258
- }
259
-
260
- // ========================================
261
- // Codex MCP Functions
262
- // ========================================
263
-
264
- /**
265
- * Read Codex config.toml and extract MCP servers
266
- */
267
- function getCodexMcpConfig(): { servers: Record<string, any>; configPath: string; exists: boolean } {
268
- try {
269
- if (!existsSync(CODEX_CONFIG_PATH)) {
270
- return { servers: {}, configPath: CODEX_CONFIG_PATH, exists: false };
271
- }
272
-
273
- const content = readFileSync(CODEX_CONFIG_PATH, 'utf8');
274
- const config = parseToml(content);
275
-
276
- // MCP servers are under [mcp_servers] section
277
- const mcpServers = config.mcp_servers || {};
278
-
279
- return {
280
- servers: mcpServers,
281
- configPath: CODEX_CONFIG_PATH,
282
- exists: true
283
- };
284
- } catch (error: unknown) {
285
- console.error('Error reading Codex config:', error);
286
- return { servers: {}, configPath: CODEX_CONFIG_PATH, exists: false };
287
- }
288
- }
289
-
290
- /**
291
- * Add or update MCP server in Codex config.toml
292
- */
293
- function addCodexMcpServer(serverName: string, serverConfig: Record<string, any>): { success?: boolean; error?: string } {
294
- try {
295
- const codexDir = join(homedir(), '.codex');
296
-
297
- // Ensure .codex directory exists
298
- if (!existsSync(codexDir)) {
299
- mkdirSync(codexDir, { recursive: true });
300
- }
301
-
302
- let config: Record<string, any> = {};
303
-
304
- // Read existing config if it exists
305
- if (existsSync(CODEX_CONFIG_PATH)) {
306
- const content = readFileSync(CODEX_CONFIG_PATH, 'utf8');
307
- config = parseToml(content);
308
- }
309
-
310
- // Ensure mcp_servers section exists
311
- if (!config.mcp_servers) {
312
- config.mcp_servers = {};
313
- }
314
-
315
- // Convert serverConfig from Claude format to Codex format
316
- const codexServerConfig: Record<string, any> = {};
317
-
318
- // Handle STDIO servers (command-based)
319
- if (serverConfig.command) {
320
- codexServerConfig.command = serverConfig.command;
321
- if (serverConfig.args && serverConfig.args.length > 0) {
322
- codexServerConfig.args = serverConfig.args;
323
- }
324
- if (serverConfig.env && Object.keys(serverConfig.env).length > 0) {
325
- codexServerConfig.env = serverConfig.env;
326
- }
327
- if (serverConfig.cwd) {
328
- codexServerConfig.cwd = serverConfig.cwd;
329
- }
330
- }
331
-
332
- // Handle HTTP servers (url-based)
333
- if (serverConfig.url) {
334
- codexServerConfig.url = serverConfig.url;
335
- if (serverConfig.bearer_token_env_var) {
336
- codexServerConfig.bearer_token_env_var = serverConfig.bearer_token_env_var;
337
- }
338
- if (serverConfig.http_headers) {
339
- codexServerConfig.http_headers = serverConfig.http_headers;
340
- }
341
- }
342
-
343
- // Copy optional fields
344
- if (serverConfig.startup_timeout_sec !== undefined) {
345
- codexServerConfig.startup_timeout_sec = serverConfig.startup_timeout_sec;
346
- }
347
- if (serverConfig.tool_timeout_sec !== undefined) {
348
- codexServerConfig.tool_timeout_sec = serverConfig.tool_timeout_sec;
349
- }
350
- if (serverConfig.enabled !== undefined) {
351
- codexServerConfig.enabled = serverConfig.enabled;
352
- }
353
- if (serverConfig.enabled_tools) {
354
- codexServerConfig.enabled_tools = serverConfig.enabled_tools;
355
- }
356
- if (serverConfig.disabled_tools) {
357
- codexServerConfig.disabled_tools = serverConfig.disabled_tools;
358
- }
359
-
360
- // Add the server
361
- config.mcp_servers[serverName] = codexServerConfig;
362
-
363
- // Serialize and write back
364
- const tomlContent = serializeToml(config);
365
- writeFileSync(CODEX_CONFIG_PATH, tomlContent, 'utf8');
366
-
367
- return { success: true };
368
- } catch (error: unknown) {
369
- console.error('Error adding Codex MCP server:', error);
370
- return { error: (error as Error).message };
371
- }
372
- }
373
-
374
- /**
375
- * Remove MCP server from Codex config.toml
376
- */
377
- function removeCodexMcpServer(serverName: string): { success?: boolean; error?: string } {
378
- try {
379
- if (!existsSync(CODEX_CONFIG_PATH)) {
380
- return { error: 'Codex config.toml not found' };
381
- }
382
-
383
- const content = readFileSync(CODEX_CONFIG_PATH, 'utf8');
384
- const config = parseToml(content);
385
-
386
- if (!config.mcp_servers || !config.mcp_servers[serverName]) {
387
- return { error: `Server not found: ${serverName}` };
388
- }
389
-
390
- // Remove the server
391
- delete config.mcp_servers[serverName];
392
-
393
- // Serialize and write back
394
- const tomlContent = serializeToml(config);
395
- writeFileSync(CODEX_CONFIG_PATH, tomlContent, 'utf8');
396
-
397
- return { success: true };
398
- } catch (error: unknown) {
399
- console.error('Error removing Codex MCP server:', error);
400
- return { error: (error as Error).message };
401
- }
402
- }
403
-
404
- /**
405
- * Toggle Codex MCP server enabled state
406
- */
407
- function toggleCodexMcpServer(serverName: string, enabled: boolean): { success?: boolean; error?: string } {
408
- try {
409
- if (!existsSync(CODEX_CONFIG_PATH)) {
410
- return { error: 'Codex config.toml not found' };
411
- }
412
-
413
- const content = readFileSync(CODEX_CONFIG_PATH, 'utf8');
414
- const config = parseToml(content);
415
-
416
- if (!config.mcp_servers || !config.mcp_servers[serverName]) {
417
- return { error: `Server not found: ${serverName}` };
418
- }
419
-
420
- // Set enabled state
421
- config.mcp_servers[serverName].enabled = enabled;
422
-
423
- // Serialize and write back
424
- const tomlContent = serializeToml(config);
425
- writeFileSync(CODEX_CONFIG_PATH, tomlContent, 'utf8');
426
-
427
- return { success: true };
428
- } catch (error: unknown) {
429
- console.error('Error toggling Codex MCP server:', error);
430
- return { error: (error as Error).message };
431
- }
432
- }
433
-
434
- // ========================================
435
- // Helper Functions
436
- // ========================================
437
-
438
- /**
439
- * Get enterprise managed MCP path (platform-specific)
440
- */
441
- function getEnterpriseMcpPath(): string {
442
- const platform = process.platform;
443
- if (platform === 'darwin') {
444
- return '/Library/Application Support/ClaudeCode/managed-mcp.json';
445
- } else if (platform === 'win32') {
446
- return 'C:\\Program Files\\ClaudeCode\\managed-mcp.json';
447
- } else {
448
- // Linux and WSL
449
- return '/etc/claude-code/managed-mcp.json';
450
- }
451
- }
452
-
453
- /**
454
- * Safely read and parse JSON file
455
- */
456
- function safeReadJson(filePath: string): any | null {
457
- try {
458
- if (!existsSync(filePath)) return null;
459
- const content = readFileSync(filePath, 'utf8');
460
- return JSON.parse(content);
461
- } catch {
462
- return null;
463
- }
464
- }
465
-
466
- /**
467
- * Get MCP servers from a JSON file (expects mcpServers key at top level)
468
- * @param {string} filePath
469
- * @returns {Object} mcpServers object or empty object
470
- */
471
- function getMcpServersFromFile(filePath: string): Record<string, unknown> {
472
- const config = safeReadJson(filePath) as { mcpServers?: Record<string, unknown> } | null;
473
- if (!config) return {};
474
- return config.mcpServers || {};
475
- }
476
-
477
- /**
478
- * Add or update MCP server in project's .mcp.json file
479
- * @param {string} projectPath - Project directory path
480
- * @param {string} serverName - MCP server name
481
- * @param {Object} serverConfig - MCP server configuration
482
- * @returns {Object} Result with success/error
483
- */
484
- function addMcpServerToMcpJson(projectPath: string, serverName: string, serverConfig: unknown) {
485
- try {
486
- const normalizedPath = normalizePathForFileSystem(projectPath);
487
- const mcpJsonPath = join(normalizedPath, '.mcp.json');
488
-
489
- // Read existing .mcp.json or create new structure
490
- let mcpJson = safeReadJson(mcpJsonPath) || { mcpServers: {} };
491
-
492
- // Ensure mcpServers exists
493
- if (!mcpJson.mcpServers) {
494
- mcpJson.mcpServers = {};
495
- }
496
-
497
- // Add or update the server
498
- mcpJson.mcpServers[serverName] = serverConfig;
499
-
500
- // Write back to .mcp.json
501
- writeFileSync(mcpJsonPath, JSON.stringify(mcpJson, null, 2), 'utf8');
502
-
503
- return {
504
- success: true,
505
- serverName,
506
- serverConfig,
507
- scope: 'project-mcp-json',
508
- path: mcpJsonPath
509
- };
510
- } catch (error: unknown) {
511
- console.error('Error adding MCP server to .mcp.json:', error);
512
- return { error: (error as Error).message };
513
- }
514
- }
515
-
516
- /**
517
- * Remove MCP server from project's .mcp.json file
518
- * @param {string} projectPath - Project directory path
519
- * @param {string} serverName - MCP server name
520
- * @returns {Object} Result with success/error
521
- */
522
- function removeMcpServerFromMcpJson(projectPath: string, serverName: string) {
523
- try {
524
- const normalizedPath = normalizePathForFileSystem(projectPath);
525
- const mcpJsonPath = join(normalizedPath, '.mcp.json');
526
-
527
- if (!existsSync(mcpJsonPath)) {
528
- return { error: '.mcp.json not found' };
529
- }
530
-
531
- const mcpJson = safeReadJson(mcpJsonPath);
532
- if (!mcpJson || !mcpJson.mcpServers || !mcpJson.mcpServers[serverName]) {
533
- return { error: `Server not found: ${serverName}` };
534
- }
535
-
536
- // Remove the server
537
- delete mcpJson.mcpServers[serverName];
538
-
539
- // Write back to .mcp.json
540
- writeFileSync(mcpJsonPath, JSON.stringify(mcpJson, null, 2), 'utf8');
541
-
542
- return {
543
- success: true,
544
- serverName,
545
- removed: true,
546
- scope: 'project-mcp-json'
547
- };
548
- } catch (error: unknown) {
549
- console.error('Error removing MCP server from .mcp.json:', error);
550
- return { error: (error as Error).message };
551
- }
552
- }
553
-
554
- type McpServerConfig = Record<string, unknown>;
555
- type McpServers = Record<string, McpServerConfig>;
556
- type ProjectConfig = {
557
- mcpServers?: McpServers;
558
- mcpJsonPath?: string;
559
- hasMcpJson?: boolean;
560
- [key: string]: unknown;
561
- };
562
- type ProjectsConfig = Record<string, ProjectConfig>;
563
- type ConfigSource = { type: string; path: string; count: number };
564
-
565
- interface McpConfig {
566
- projects: ProjectsConfig;
567
- userServers: McpServers;
568
- enterpriseServers: McpServers;
569
- globalServers: McpServers;
570
- configSources: ConfigSource[];
571
- error?: string;
572
- }
573
-
574
- /**
575
- * Get MCP configuration from multiple sources (per official Claude Code docs):
576
- *
577
- * Priority (highest to lowest):
578
- * 1. Enterprise managed-mcp.json (cannot be overridden)
579
- * 2. Local scope (project-specific private in ~/.claude.json)
580
- * 3. Project scope (.mcp.json in project root)
581
- * 4. User scope (mcpServers in ~/.claude.json)
582
- *
583
- * Note: ~/.claude/settings.json is for MCP PERMISSIONS, NOT definitions!
584
- *
585
- * @returns {Object}
586
- */
587
- function getMcpConfig(): McpConfig {
588
- try {
589
- const result: McpConfig = {
590
- projects: {},
591
- userServers: {}, // User-level servers from ~/.claude.json mcpServers
592
- enterpriseServers: {}, // Enterprise managed servers (highest priority)
593
- globalServers: {}, // Merged user + enterprise
594
- configSources: [] // Track where configs came from for debugging
595
- };
596
-
597
- // 1. Read Enterprise managed MCP servers (highest priority)
598
- const enterprisePath = getEnterpriseMcpPath();
599
- if (existsSync(enterprisePath)) {
600
- const enterpriseConfig = safeReadJson(enterprisePath);
601
- if (enterpriseConfig?.mcpServers) {
602
- result.enterpriseServers = enterpriseConfig.mcpServers;
603
- result.configSources.push({ type: 'enterprise', path: enterprisePath, count: Object.keys(enterpriseConfig.mcpServers).length });
604
- }
605
- }
606
-
607
- // 2. Read from ~/.claude.json
608
- if (existsSync(CLAUDE_CONFIG_PATH)) {
609
- const claudeConfig = safeReadJson(CLAUDE_CONFIG_PATH);
610
- if (claudeConfig) {
611
- // 2a. User-level mcpServers (top-level mcpServers key)
612
- if (claudeConfig.mcpServers) {
613
- result.userServers = claudeConfig.mcpServers;
614
- result.configSources.push({ type: 'user', path: CLAUDE_CONFIG_PATH, count: Object.keys(claudeConfig.mcpServers).length });
615
- }
616
-
617
- // 2b. Project-specific configurations (projects[path].mcpServers)
618
- if (claudeConfig.projects) {
619
- result.projects = claudeConfig.projects;
620
- }
621
- }
622
- }
623
-
624
- // 3. For each known project, check for .mcp.json (project-level config)
625
- // .mcp.json is now the PRIMARY source for project-level MCP servers
626
- const projectPaths = Object.keys(result.projects);
627
- for (const projectPath of projectPaths) {
628
- const mcpJsonPath = join(projectPath, '.mcp.json');
629
- if (existsSync(mcpJsonPath)) {
630
- const mcpJsonConfig = safeReadJson(mcpJsonPath);
631
- if (mcpJsonConfig?.mcpServers) {
632
- // Merge .mcp.json servers into project config
633
- // .mcp.json has HIGHER priority than ~/.claude.json projects[path].mcpServers
634
- const existingServers = result.projects[projectPath]?.mcpServers || {};
635
- result.projects[projectPath] = {
636
- ...result.projects[projectPath],
637
- mcpServers: {
638
- ...existingServers, // ~/.claude.json projects[path] (lower priority, legacy)
639
- ...mcpJsonConfig.mcpServers // .mcp.json (higher priority, new default)
640
- },
641
- mcpJsonPath: mcpJsonPath, // Track source for debugging
642
- hasMcpJson: true
643
- };
644
- result.configSources.push({
645
- type: 'project-mcp-json',
646
- path: mcpJsonPath,
647
- count: Object.keys(mcpJsonConfig.mcpServers).length
648
- });
649
- }
650
- }
651
- }
652
-
653
- // Build globalServers by merging user and enterprise servers
654
- // Enterprise servers override user servers
655
- result.globalServers = {
656
- ...result.userServers,
657
- ...result.enterpriseServers
658
- };
659
-
660
- return result;
661
- } catch (error: unknown) {
662
- console.error('Error reading MCP config:', error);
663
- return {
664
- projects: {},
665
- globalServers: {},
666
- userServers: {},
667
- enterpriseServers: {},
668
- configSources: [],
669
- error: error instanceof Error ? error.message : String(error),
670
- };
671
- }
672
- }
673
-
674
- /**
675
- * Normalize path to filesystem format (for accessing .mcp.json files)
676
- * Always uses forward slashes for cross-platform compatibility
677
- * @param {string} path
678
- * @returns {string}
679
- */
680
- function normalizePathForFileSystem(path: string): string {
681
- let normalized = path.replace(/\\/g, '/');
682
-
683
- // Handle /d/path format -> D:/path
684
- if (normalized.match(/^\/[a-zA-Z]\//)) {
685
- normalized = normalized.charAt(1).toUpperCase() + ':' + normalized.slice(2);
686
- }
687
-
688
- return normalized;
689
- }
690
-
691
- /**
692
- * Normalize project path to match existing format in .claude.json
693
- * Checks both forward slash and backslash formats to find existing entry
694
- * @param {string} path
695
- * @param {Object} claudeConfig - Optional existing config to check format
696
- * @returns {string}
697
- */
698
- function normalizeProjectPathForConfig(path: string, claudeConfig: unknown = null): string {
699
- // IMPORTANT: Always normalize to forward slashes to prevent duplicate entries
700
- // (e.g., prevents both "D:/Claude_dms3" and "D:\\Claude_dms3")
701
- let normalizedForward = path.replace(/\\/g, '/');
702
-
703
- // Handle /d/path format -> D:/path
704
- if (normalizedForward.match(/^\/[a-zA-Z]\//)) {
705
- normalizedForward = normalizedForward.charAt(1).toUpperCase() + ':' + normalizedForward.slice(2);
706
- }
707
-
708
- // ALWAYS return forward slash format to prevent duplicates
709
- return normalizedForward;
710
- }
711
-
712
- /**
713
- * Toggle MCP server enabled/disabled
714
- * @param {string} projectPath
715
- * @param {string} serverName
716
- * @param {boolean} enable
717
- * @returns {Object}
718
- */
719
- function toggleMcpServerEnabled(projectPath: string, serverName: string, enable: boolean) {
720
- try {
721
- if (!existsSync(CLAUDE_CONFIG_PATH)) {
722
- return { error: '.claude.json not found' };
723
- }
724
-
725
- const content = readFileSync(CLAUDE_CONFIG_PATH, 'utf8');
726
- const config = JSON.parse(content);
727
-
728
- const normalizedPath = normalizeProjectPathForConfig(projectPath, config);
729
-
730
- if (!config.projects || !config.projects[normalizedPath]) {
731
- return { error: `Project not found: ${normalizedPath}` };
732
- }
733
-
734
- const projectConfig = config.projects[normalizedPath];
735
-
736
- // Ensure disabledMcpServers array exists
737
- if (!projectConfig.disabledMcpServers) {
738
- projectConfig.disabledMcpServers = [];
739
- }
740
-
741
- if (enable) {
742
- // Remove from disabled list
743
- projectConfig.disabledMcpServers = projectConfig.disabledMcpServers.filter((s: string) => s !== serverName);
744
- } else {
745
- // Add to disabled list if not already there
746
- if (!projectConfig.disabledMcpServers.includes(serverName)) {
747
- projectConfig.disabledMcpServers.push(serverName);
748
- }
749
- }
750
-
751
- // Write back to file
752
- writeFileSync(CLAUDE_CONFIG_PATH, JSON.stringify(config, null, 2), 'utf8');
753
-
754
- return {
755
- success: true,
756
- serverName,
757
- enabled: enable,
758
- disabledMcpServers: projectConfig.disabledMcpServers
759
- };
760
- } catch (error: unknown) {
761
- console.error('Error toggling MCP server:', error);
762
- return { error: (error as Error).message };
763
- }
764
- }
765
-
766
- /**
767
- * Add MCP server to project
768
- * Now defaults to using .mcp.json instead of .claude.json
769
- * @param {string} projectPath
770
- * @param {string} serverName
771
- * @param {Object} serverConfig
772
- * @param {boolean} useLegacyConfig - If true, use .claude.json instead of .mcp.json
773
- * @returns {Object}
774
- */
775
- function addMcpServerToProject(projectPath: string, serverName: string, serverConfig: unknown, useLegacyConfig: boolean = false) {
776
- try {
777
- // Default: Use .mcp.json for project-level MCP servers
778
- if (!useLegacyConfig) {
779
- return addMcpServerToMcpJson(projectPath, serverName, serverConfig);
780
- }
781
-
782
- // Legacy: Use .claude.json (kept for backward compatibility)
783
- if (!existsSync(CLAUDE_CONFIG_PATH)) {
784
- return { error: '.claude.json not found' };
785
- }
786
-
787
- const content = readFileSync(CLAUDE_CONFIG_PATH, 'utf8');
788
- const config = JSON.parse(content);
789
-
790
- const normalizedPath = normalizeProjectPathForConfig(projectPath, config);
791
-
792
- // Create project entry if it doesn't exist
793
- if (!config.projects) {
794
- config.projects = {};
795
- }
796
-
797
- if (!config.projects[normalizedPath]) {
798
- config.projects[normalizedPath] = {
799
- allowedTools: [],
800
- mcpContextUris: [],
801
- mcpServers: {},
802
- enabledMcpjsonServers: [],
803
- disabledMcpjsonServers: [],
804
- hasTrustDialogAccepted: false,
805
- projectOnboardingSeenCount: 0,
806
- hasClaudeMdExternalIncludesApproved: false,
807
- hasClaudeMdExternalIncludesWarningShown: false
808
- };
809
- }
810
-
811
- const projectConfig = config.projects[normalizedPath];
812
-
813
- // Ensure mcpServers exists
814
- if (!projectConfig.mcpServers) {
815
- projectConfig.mcpServers = {};
816
- }
817
-
818
- // Add the server
819
- projectConfig.mcpServers[serverName] = serverConfig;
820
-
821
- // Write back to file
822
- writeFileSync(CLAUDE_CONFIG_PATH, JSON.stringify(config, null, 2), 'utf8');
823
-
824
- return {
825
- success: true,
826
- serverName,
827
- serverConfig,
828
- scope: 'project-legacy'
829
- };
830
- } catch (error: unknown) {
831
- console.error('Error adding MCP server:', error);
832
- return { error: (error as Error).message };
833
- }
834
- }
835
-
836
- /**
837
- * Remove MCP server from project
838
- * Checks both .mcp.json and .claude.json
839
- * @param {string} projectPath
840
- * @param {string} serverName
841
- * @returns {Object}
842
- */
843
- function removeMcpServerFromProject(projectPath: string, serverName: string) {
844
- try {
845
- const normalizedPathForFile = normalizePathForFileSystem(projectPath);
846
- const mcpJsonPath = join(normalizedPathForFile, '.mcp.json');
847
-
848
- let removedFromMcpJson = false;
849
- let removedFromClaudeJson = false;
850
-
851
- // Try to remove from .mcp.json first (new default)
852
- if (existsSync(mcpJsonPath)) {
853
- const mcpJson = safeReadJson(mcpJsonPath);
854
- if (mcpJson?.mcpServers?.[serverName]) {
855
- const result = removeMcpServerFromMcpJson(projectPath, serverName);
856
- if (result.success) {
857
- removedFromMcpJson = true;
858
- }
859
- }
860
- }
861
-
862
- // Also try to remove from .claude.json (legacy - may coexist)
863
- if (existsSync(CLAUDE_CONFIG_PATH)) {
864
- const content = readFileSync(CLAUDE_CONFIG_PATH, 'utf8');
865
- const config = JSON.parse(content);
866
-
867
- // Get normalized path that matches existing config format
868
- const normalizedPath = normalizeProjectPathForConfig(projectPath, config);
869
-
870
- if (config.projects && config.projects[normalizedPath]) {
871
- const projectConfig = config.projects[normalizedPath];
872
-
873
- if (projectConfig.mcpServers && projectConfig.mcpServers[serverName]) {
874
- // Remove the server
875
- delete projectConfig.mcpServers[serverName];
876
-
877
- // Also remove from disabled list if present
878
- if (projectConfig.disabledMcpServers) {
879
- projectConfig.disabledMcpServers = projectConfig.disabledMcpServers.filter((s: string) => s !== serverName);
880
- }
881
-
882
- // Write back to file
883
- writeFileSync(CLAUDE_CONFIG_PATH, JSON.stringify(config, null, 2), 'utf8');
884
- removedFromClaudeJson = true;
885
- }
886
- }
887
- }
888
-
889
- // Return success if removed from either location
890
- if (removedFromMcpJson || removedFromClaudeJson) {
891
- return {
892
- success: true,
893
- serverName,
894
- removed: true,
895
- scope: removedFromMcpJson ? 'project-mcp-json' : 'project-legacy',
896
- removedFrom: removedFromMcpJson && removedFromClaudeJson ? 'both' :
897
- removedFromMcpJson ? '.mcp.json' : '.claude.json'
898
- };
899
- }
900
-
901
- return { error: `Server not found: ${serverName}` };
902
- } catch (error: unknown) {
903
- console.error('Error removing MCP server:', error);
904
- return { error: (error as Error).message };
905
- }
906
- }
907
-
908
- /**
909
- * Add MCP server to global/user scope (top-level mcpServers in ~/.claude.json)
910
- * @param {string} serverName
911
- * @param {Object} serverConfig
912
- * @returns {Object}
913
- */
914
- function addGlobalMcpServer(serverName: string, serverConfig: unknown) {
915
- try {
916
- if (!existsSync(CLAUDE_CONFIG_PATH)) {
917
- return { error: '.claude.json not found' };
918
- }
919
-
920
- const content = readFileSync(CLAUDE_CONFIG_PATH, 'utf8');
921
- const config = JSON.parse(content);
922
-
923
- // Ensure top-level mcpServers exists
924
- if (!config.mcpServers) {
925
- config.mcpServers = {};
926
- }
927
-
928
- // Add the server to top-level mcpServers
929
- config.mcpServers[serverName] = serverConfig;
930
-
931
- // Write back to file
932
- writeFileSync(CLAUDE_CONFIG_PATH, JSON.stringify(config, null, 2), 'utf8');
933
-
934
- return {
935
- success: true,
936
- serverName,
937
- serverConfig,
938
- scope: 'global'
939
- };
940
- } catch (error: unknown) {
941
- console.error('Error adding global MCP server:', error);
942
- return { error: (error as Error).message };
943
- }
944
- }
945
-
946
- /**
947
- * Remove MCP server from global/user scope (top-level mcpServers)
948
- * @param {string} serverName
949
- * @returns {Object}
950
- */
951
- function removeGlobalMcpServer(serverName: string) {
952
- try {
953
- if (!existsSync(CLAUDE_CONFIG_PATH)) {
954
- return { error: '.claude.json not found' };
955
- }
956
-
957
- const content = readFileSync(CLAUDE_CONFIG_PATH, 'utf8');
958
- const config = JSON.parse(content);
959
-
960
- if (!config.mcpServers || !config.mcpServers[serverName]) {
961
- return { error: `Global server not found: ${serverName}` };
962
- }
963
-
964
- // Remove the server from top-level mcpServers
965
- delete config.mcpServers[serverName];
966
-
967
- // Write back to file
968
- writeFileSync(CLAUDE_CONFIG_PATH, JSON.stringify(config, null, 2), 'utf8');
969
-
970
- return {
971
- success: true,
972
- serverName,
973
- removed: true,
974
- scope: 'global'
975
- };
976
- } catch (error: unknown) {
977
- console.error('Error removing global MCP server:', error);
978
- return { error: (error as Error).message };
979
- }
980
- }
981
-
982
- /**
983
- * Read settings file safely
984
- * @param {string} filePath
985
- * @returns {Object}
986
- */
987
- function readSettingsFile(filePath: string) {
988
- try {
989
- if (!existsSync(filePath)) {
990
- return {};
991
- }
992
- const content = readFileSync(filePath, 'utf8');
993
- return JSON.parse(content);
994
- } catch (error: unknown) {
995
- console.error(`Error reading settings file ${filePath}:`, error);
996
- return {};
997
- }
998
- }
999
-
1000
- /**
1001
- * Write settings file safely
1002
- * @param {string} filePath
1003
- * @param {Object} settings
1004
- */
1005
- function writeSettingsFile(filePath: string, settings: any) {
1006
- const dirPath = dirname(filePath);
1007
- // Ensure directory exists
1008
- if (!existsSync(dirPath)) {
1009
- mkdirSync(dirPath, { recursive: true });
1010
- }
1011
- writeFileSync(filePath, JSON.stringify(settings, null, 2), 'utf8');
1012
- }
1013
-
1014
- /**
1015
- * Get project settings path
1016
- * @param {string} projectPath
1017
- * @returns {string}
1018
- */
1019
- function getProjectSettingsPath(projectPath: string): string {
1020
- // path.join automatically handles cross-platform path separators
1021
- return join(projectPath, '.claude', 'settings.json');
1022
- }
1023
-
1024
- // ========================================
1025
- // Route Handlers
1026
- // ========================================
1027
-
1028
- function isRecord(value: unknown): value is Record<string, unknown> {
1029
- return typeof value === 'object' && value !== null;
1030
- }
1031
-
1032
- /**
1033
- * Handle MCP routes
1034
- * @returns true if route was handled, false otherwise
1035
- */
1036
- export async function handleMcpRoutes(ctx: RouteContext): Promise<boolean> {
1037
- const { pathname, url, req, res, initialPath, handlePostRequest, broadcastToClients } = ctx;
1038
-
1039
- // API: Get MCP configuration (includes both Claude and Codex)
1040
- if (pathname === '/api/mcp-config') {
1041
- const mcpData = getMcpConfig();
1042
- const codexData = getCodexMcpConfig();
1043
- const combinedData = {
1044
- ...mcpData,
1045
- codex: codexData
1046
- };
1047
- res.writeHead(200, { 'Content-Type': 'application/json' });
1048
- res.end(JSON.stringify(combinedData));
1049
- return true;
1050
- }
1051
-
1052
- // ========================================
1053
- // Codex MCP API Endpoints
1054
- // ========================================
1055
-
1056
- // API: Get Codex MCP configuration
1057
- if (pathname === '/api/codex-mcp-config') {
1058
- const codexData = getCodexMcpConfig();
1059
- res.writeHead(200, { 'Content-Type': 'application/json' });
1060
- res.end(JSON.stringify(codexData));
1061
- return true;
1062
- }
1063
-
1064
- // API: Add Codex MCP server
1065
- if (pathname === '/api/codex-mcp-add' && req.method === 'POST') {
1066
- handlePostRequest(req, res, async (body) => {
1067
- if (!isRecord(body)) {
1068
- return { error: 'Invalid request body', status: 400 };
1069
- }
1070
-
1071
- const serverName = body.serverName;
1072
- const serverConfig = body.serverConfig;
1073
-
1074
- if (typeof serverName !== 'string' || !serverName.trim()) {
1075
- return { error: 'serverName is required', status: 400 };
1076
- }
1077
-
1078
- if (!isRecord(serverConfig)) {
1079
- return { error: 'serverConfig is required', status: 400 };
1080
- }
1081
-
1082
- return addCodexMcpServer(serverName, serverConfig as Record<string, any>);
1083
- });
1084
- return true;
1085
- }
1086
-
1087
- // API: Remove Codex MCP server
1088
- if (pathname === '/api/codex-mcp-remove' && req.method === 'POST') {
1089
- handlePostRequest(req, res, async (body) => {
1090
- if (!isRecord(body)) {
1091
- return { error: 'Invalid request body', status: 400 };
1092
- }
1093
-
1094
- const serverName = body.serverName;
1095
- if (typeof serverName !== 'string' || !serverName.trim()) {
1096
- return { error: 'serverName is required', status: 400 };
1097
- }
1098
- return removeCodexMcpServer(serverName);
1099
- });
1100
- return true;
1101
- }
1102
-
1103
- // API: Toggle Codex MCP server enabled state
1104
- if (pathname === '/api/codex-mcp-toggle' && req.method === 'POST') {
1105
- handlePostRequest(req, res, async (body) => {
1106
- if (!isRecord(body)) {
1107
- return { error: 'Invalid request body', status: 400 };
1108
- }
1109
-
1110
- const serverName = body.serverName;
1111
- const enabled = body.enabled;
1112
-
1113
- if (typeof serverName !== 'string' || !serverName.trim() || typeof enabled !== 'boolean') {
1114
- return { error: 'serverName and enabled are required', status: 400 };
1115
- }
1116
- return toggleCodexMcpServer(serverName, enabled);
1117
- });
1118
- return true;
1119
- }
1120
-
1121
- // API: Toggle MCP server enabled/disabled
1122
- if (pathname === '/api/mcp-toggle' && req.method === 'POST') {
1123
- handlePostRequest(req, res, async (body) => {
1124
- if (!isRecord(body)) {
1125
- return { error: 'Invalid request body', status: 400 };
1126
- }
1127
-
1128
- const projectPath = body.projectPath;
1129
- const serverName = body.serverName;
1130
- const enable = body.enable;
1131
-
1132
- if (typeof projectPath !== 'string' || !projectPath.trim() || typeof serverName !== 'string' || !serverName.trim() || typeof enable !== 'boolean') {
1133
- return { error: 'projectPath, serverName, and enable are required', status: 400 };
1134
- }
1135
- return toggleMcpServerEnabled(projectPath, serverName, enable);
1136
- });
1137
- return true;
1138
- }
1139
-
1140
- // API: Copy MCP server to project
1141
- if (pathname === '/api/mcp-copy-server' && req.method === 'POST') {
1142
- handlePostRequest(req, res, async (body) => {
1143
- if (!isRecord(body)) {
1144
- return { error: 'Invalid request body', status: 400 };
1145
- }
1146
-
1147
- const projectPath = body.projectPath;
1148
- const serverName = body.serverName;
1149
- const serverConfig = body.serverConfig;
1150
- const configType = body.configType;
1151
-
1152
- if (typeof projectPath !== 'string' || !projectPath.trim() || typeof serverName !== 'string' || !serverName.trim() || serverConfig === undefined || serverConfig === null) {
1153
- return { error: 'projectPath, serverName, and serverConfig are required', status: 400 };
1154
- }
1155
- // configType: 'mcp' = use .mcp.json (default), 'claude' = use .claude.json
1156
- const useLegacyConfig = configType === 'claude';
1157
- return addMcpServerToProject(projectPath, serverName, serverConfig, useLegacyConfig);
1158
- });
1159
- return true;
1160
- }
1161
-
1162
- // API: Install CCW MCP server to project
1163
- if (pathname === '/api/mcp-install-ccw' && req.method === 'POST') {
1164
- handlePostRequest(req, res, async (body) => {
1165
- if (!isRecord(body)) {
1166
- return { error: 'Invalid request body', status: 400 };
1167
- }
1168
-
1169
- const projectPath = body.projectPath;
1170
- if (typeof projectPath !== 'string' || !projectPath.trim()) {
1171
- return { error: 'projectPath is required', status: 400 };
1172
- }
1173
-
1174
- // Check if sandbox should be disabled
1175
- const disableSandbox = body.disableSandbox === true;
1176
-
1177
- // Generate CCW MCP server config
1178
- // Use cmd /c to inherit Claude Code's working directory
1179
- const ccwMcpConfig: Record<string, any> = {
1180
- command: "cmd",
1181
- args: ["/c", "npx", "-y", "ccw-mcp"],
1182
- env: {
1183
- CCW_ENABLED_TOOLS: "all",
1184
- ...(disableSandbox && { CCW_DISABLE_SANDBOX: "1" })
1185
- }
1186
- };
1187
-
1188
- // Use existing addMcpServerToProject to install CCW MCP
1189
- return addMcpServerToProject(projectPath, 'ccw-tools', ccwMcpConfig);
1190
- });
1191
- return true;
1192
- }
1193
-
1194
- // API: Remove MCP server from project
1195
- if (pathname === '/api/mcp-remove-server' && req.method === 'POST') {
1196
- handlePostRequest(req, res, async (body) => {
1197
- if (!isRecord(body)) {
1198
- return { error: 'Invalid request body', status: 400 };
1199
- }
1200
-
1201
- const projectPath = body.projectPath;
1202
- const serverName = body.serverName;
1203
- if (typeof projectPath !== 'string' || !projectPath.trim() || typeof serverName !== 'string' || !serverName.trim()) {
1204
- return { error: 'projectPath and serverName are required', status: 400 };
1205
- }
1206
- return removeMcpServerFromProject(projectPath, serverName);
1207
- });
1208
- return true;
1209
- }
1210
-
1211
- // API: Add MCP server to global scope (top-level mcpServers in ~/.claude.json)
1212
- if (pathname === '/api/mcp-add-global-server' && req.method === 'POST') {
1213
- handlePostRequest(req, res, async (body) => {
1214
- if (!isRecord(body)) {
1215
- return { error: 'Invalid request body', status: 400 };
1216
- }
1217
-
1218
- const serverName = body.serverName;
1219
- const serverConfig = body.serverConfig;
1220
- if (typeof serverName !== 'string' || !serverName.trim() || serverConfig === undefined || serverConfig === null) {
1221
- return { error: 'serverName and serverConfig are required', status: 400 };
1222
- }
1223
- return addGlobalMcpServer(serverName, serverConfig);
1224
- });
1225
- return true;
1226
- }
1227
-
1228
- // API: Remove MCP server from global scope
1229
- if (pathname === '/api/mcp-remove-global-server' && req.method === 'POST') {
1230
- handlePostRequest(req, res, async (body) => {
1231
- if (!isRecord(body)) {
1232
- return { error: 'Invalid request body', status: 400 };
1233
- }
1234
-
1235
- const serverName = body.serverName;
1236
- if (typeof serverName !== 'string' || !serverName.trim()) {
1237
- return { error: 'serverName is required', status: 400 };
1238
- }
1239
- return removeGlobalMcpServer(serverName);
1240
- });
1241
- return true;
1242
- }
1243
-
1244
- // ========================================
1245
- // MCP Templates API
1246
- // ========================================
1247
-
1248
- // API: Get all MCP templates
1249
- if (pathname === '/api/mcp-templates' && req.method === 'GET') {
1250
- const templates = McpTemplatesDb.getAllTemplates();
1251
- res.writeHead(200, { 'Content-Type': 'application/json' });
1252
- res.end(JSON.stringify({ success: true, templates }));
1253
- return true;
1254
- }
1255
-
1256
- // API: Save MCP template
1257
- if (pathname === '/api/mcp-templates' && req.method === 'POST') {
1258
- handlePostRequest(req, res, async (body) => {
1259
- if (!isRecord(body)) {
1260
- return { error: 'Invalid request body', status: 400 };
1261
- }
1262
-
1263
- const name = body.name;
1264
- const serverConfig = body.serverConfig;
1265
-
1266
- if (typeof name !== 'string' || !name.trim()) {
1267
- return { error: 'name is required', status: 400 };
1268
- }
1269
-
1270
- if (!isRecord(serverConfig) || typeof serverConfig.command !== 'string') {
1271
- return { error: 'serverConfig with command is required', status: 400 };
1272
- }
1273
-
1274
- const description = typeof body.description === 'string' ? body.description : undefined;
1275
- const tags = Array.isArray(body.tags) ? body.tags.filter((tag): tag is string => typeof tag === 'string') : undefined;
1276
- const category = typeof body.category === 'string' ? body.category : undefined;
1277
-
1278
- return McpTemplatesDb.saveTemplate({
1279
- name,
1280
- description,
1281
- serverConfig: serverConfig as McpTemplatesDb.McpTemplate['serverConfig'],
1282
- tags,
1283
- category
1284
- });
1285
- });
1286
- return true;
1287
- }
1288
-
1289
- // API: Get template by name
1290
- if (pathname.startsWith('/api/mcp-templates/') && req.method === 'GET') {
1291
- const templateName = decodeURIComponent(pathname.split('/api/mcp-templates/')[1]);
1292
- const template = McpTemplatesDb.getTemplateByName(templateName);
1293
- if (template) {
1294
- res.writeHead(200, { 'Content-Type': 'application/json' });
1295
- res.end(JSON.stringify({ success: true, template }));
1296
- } else {
1297
- res.writeHead(404, { 'Content-Type': 'application/json' });
1298
- res.end(JSON.stringify({ success: false, error: 'Template not found' }));
1299
- }
1300
- return true;
1301
- }
1302
-
1303
- // API: Delete MCP template
1304
- if (pathname.startsWith('/api/mcp-templates/') && req.method === 'DELETE') {
1305
- const templateName = decodeURIComponent(pathname.split('/api/mcp-templates/')[1]);
1306
- const result = McpTemplatesDb.deleteTemplate(templateName);
1307
- res.writeHead(result.success ? 200 : 404, { 'Content-Type': 'application/json' });
1308
- res.end(JSON.stringify(result));
1309
- return true;
1310
- }
1311
-
1312
- // API: Search MCP templates
1313
- if (pathname === '/api/mcp-templates/search' && req.method === 'GET') {
1314
- const keyword = url.searchParams.get('q') || '';
1315
- const templates = McpTemplatesDb.searchTemplates(keyword);
1316
- res.writeHead(200, { 'Content-Type': 'application/json' });
1317
- res.end(JSON.stringify({ success: true, templates }));
1318
- return true;
1319
- }
1320
-
1321
- // API: Get all categories
1322
- if (pathname === '/api/mcp-templates/categories' && req.method === 'GET') {
1323
- const categories = McpTemplatesDb.getAllCategories();
1324
- res.writeHead(200, { 'Content-Type': 'application/json' });
1325
- res.end(JSON.stringify({ success: true, categories }));
1326
- return true;
1327
- }
1328
-
1329
- // API: Get templates by category
1330
- if (pathname.startsWith('/api/mcp-templates/category/') && req.method === 'GET') {
1331
- const category = decodeURIComponent(pathname.split('/api/mcp-templates/category/')[1]);
1332
- const templates = McpTemplatesDb.getTemplatesByCategory(category);
1333
- res.writeHead(200, { 'Content-Type': 'application/json' });
1334
- res.end(JSON.stringify({ success: true, templates }));
1335
- return true;
1336
- }
1337
-
1338
- // API: Install template to project or global
1339
- if (pathname === '/api/mcp-templates/install' && req.method === 'POST') {
1340
- handlePostRequest(req, res, async (body) => {
1341
- if (!isRecord(body)) {
1342
- return { error: 'Invalid request body', status: 400 };
1343
- }
1344
-
1345
- const templateName = body.templateName;
1346
- const projectPath = body.projectPath;
1347
- const scope = body.scope;
1348
-
1349
- if (typeof templateName !== 'string' || !templateName.trim()) {
1350
- return { error: 'templateName is required', status: 400 };
1351
- }
1352
-
1353
- const template = McpTemplatesDb.getTemplateByName(templateName);
1354
- if (!template) {
1355
- return { error: 'Template not found', status: 404 };
1356
- }
1357
-
1358
- // Install to global or project
1359
- if (scope === 'global') {
1360
- return addGlobalMcpServer(templateName, template.serverConfig);
1361
- } else {
1362
- if (typeof projectPath !== 'string' || !projectPath.trim()) {
1363
- return { error: 'projectPath is required for project scope', status: 400 };
1364
- }
1365
- return addMcpServerToProject(projectPath, templateName, template.serverConfig);
1366
- }
1367
- });
1368
- return true;
1369
- }
1370
-
1371
- return false;
1372
- }