claude-code-workflow 6.3.17 → 6.3.19

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 (823) hide show
  1. package/.claude/CLAUDE.md +8 -5
  2. package/.claude/agents/action-planning-agent.md +26 -2
  3. package/.claude/agents/code-developer.md +132 -43
  4. package/.claude/agents/debug-explore-agent.md +434 -0
  5. package/.claude/agents/test-fix-agent.md +14 -0
  6. package/.claude/commands/issue/discover.md +41 -0
  7. package/.claude/commands/issue/execute.md +200 -19
  8. package/.claude/commands/issue/new.md +1 -1
  9. package/.claude/commands/issue/plan.md +6 -1
  10. package/.claude/commands/issue/queue.md +94 -39
  11. package/.claude/commands/memory/swagger-docs.md +773 -0
  12. package/.claude/commands/workflow/brainstorm/auto-parallel.md +21 -21
  13. package/.claude/commands/workflow/execute.md +54 -34
  14. package/.claude/commands/workflow/lite-execute.md +48 -164
  15. package/.claude/commands/workflow/lite-fix.md +4 -4
  16. package/.claude/commands/workflow/lite-plan.md +5 -5
  17. package/.claude/commands/workflow/plan.md +27 -27
  18. package/.claude/commands/workflow/review.md +42 -17
  19. package/.claude/commands/workflow/tdd-plan.md +25 -25
  20. package/.claude/commands/workflow/test-fix-gen.md +10 -10
  21. package/.claude/commands/workflow/test-gen.md +14 -14
  22. package/.claude/commands/workflow/ui-design/explore-auto.md +21 -21
  23. package/.claude/commands/workflow/ui-design/imitate-auto.md +24 -24
  24. package/.claude/skills/_shared/SKILL-DESIGN-SPEC.md +693 -0
  25. package/.claude/skills/ccw/SKILL.md +462 -0
  26. package/.claude/skills/ccw/index/command-capabilities.json +127 -0
  27. package/.claude/skills/ccw/index/intent-rules.json +136 -0
  28. package/.claude/skills/ccw/index/workflow-chains.json +451 -0
  29. package/.claude/skills/ccw/phases/actions/bugfix.md +218 -0
  30. package/.claude/skills/ccw/phases/actions/coupled.md +194 -0
  31. package/.claude/skills/ccw/phases/actions/docs.md +93 -0
  32. package/.claude/skills/ccw/phases/actions/full.md +154 -0
  33. package/.claude/skills/ccw/phases/actions/issue.md +201 -0
  34. package/.claude/skills/ccw/phases/actions/rapid.md +104 -0
  35. package/.claude/skills/ccw/phases/actions/review-fix.md +84 -0
  36. package/.claude/skills/ccw/phases/actions/tdd.md +66 -0
  37. package/.claude/skills/ccw/phases/actions/ui.md +79 -0
  38. package/.claude/skills/ccw/phases/orchestrator.md +435 -0
  39. package/.claude/skills/ccw/specs/intent-classification.md +336 -0
  40. package/.claude/skills/ccw-help/SKILL.md +177 -0
  41. package/.claude/skills/ccw-help/index/all-agents.json +82 -0
  42. package/.claude/skills/{command-guide → ccw-help}/index/all-commands.json +183 -73
  43. package/.claude/skills/{command-guide → ccw-help}/index/by-category.json +187 -73
  44. package/.claude/skills/{command-guide → ccw-help}/index/by-use-case.json +295 -185
  45. package/.claude/skills/{command-guide → ccw-help}/index/command-relationships.json +19 -166
  46. package/.claude/skills/{command-guide → ccw-help}/index/essential-commands.json +10 -10
  47. package/.claude/skills/ccw-help/scripts/analyze_commands.py +337 -0
  48. package/.claude/skills/code-reviewer/README.md +340 -0
  49. package/.claude/skills/code-reviewer/SKILL.md +308 -0
  50. package/.claude/skills/code-reviewer/phases/01-code-discovery.md +246 -0
  51. package/.claude/skills/code-reviewer/phases/02-security-analysis.md +442 -0
  52. package/.claude/skills/code-reviewer/phases/03-best-practices-review.md +36 -0
  53. package/.claude/skills/code-reviewer/phases/04-report-generation.md +278 -0
  54. package/.claude/skills/code-reviewer/specs/best-practices-requirements.md +346 -0
  55. package/.claude/skills/code-reviewer/specs/quality-standards.md +252 -0
  56. package/.claude/skills/code-reviewer/specs/security-requirements.md +243 -0
  57. package/.claude/skills/code-reviewer/templates/best-practice-finding.md +234 -0
  58. package/.claude/skills/code-reviewer/templates/report-template.md +316 -0
  59. package/.claude/skills/code-reviewer/templates/security-finding.md +161 -0
  60. package/.claude/skills/skill-generator/SKILL.md +187 -0
  61. package/.claude/skills/skill-generator/phases/01-requirements-discovery.md +239 -0
  62. package/.claude/skills/skill-generator/phases/02-structure-generation.md +207 -0
  63. package/.claude/skills/skill-generator/phases/03-phase-generation.md +802 -0
  64. package/.claude/skills/skill-generator/phases/04-specs-templates.md +328 -0
  65. package/.claude/skills/skill-generator/phases/05-validation.md +334 -0
  66. package/.claude/skills/skill-generator/specs/cli-integration.md +448 -0
  67. package/.claude/skills/skill-generator/specs/execution-modes.md +396 -0
  68. package/.claude/skills/skill-generator/specs/scripting-integration.md +265 -0
  69. package/.claude/skills/skill-generator/specs/skill-requirements.md +466 -0
  70. package/.claude/skills/skill-generator/templates/autonomous-action.md +517 -0
  71. package/.claude/skills/skill-generator/templates/autonomous-orchestrator.md +276 -0
  72. package/.claude/skills/skill-generator/templates/code-analysis-action.md +503 -0
  73. package/.claude/skills/skill-generator/templates/llm-action.md +355 -0
  74. package/.claude/skills/skill-generator/templates/script-bash.md +277 -0
  75. package/.claude/skills/skill-generator/templates/script-python.md +198 -0
  76. package/.claude/skills/skill-generator/templates/sequential-phase.md +441 -0
  77. package/.claude/skills/skill-generator/templates/skill-md.md +156 -0
  78. package/.claude/workflows/chinese-response.md +15 -28
  79. package/.claude/workflows/cli-templates/prompts/documentation/swagger-api.txt +266 -0
  80. package/.claude/workflows/cli-tools-usage.md +221 -177
  81. package/.claude/workflows/windows-platform.md +13 -10
  82. package/.codex/prompts/issue-execute.md +305 -82
  83. package/.codex/prompts/issue-plan.md +46 -1
  84. package/.codex/prompts/issue-queue.md +67 -3
  85. package/.codex/prompts/lite-execute.md +36 -11
  86. package/README.md +309 -305
  87. package/ccw/README.md +10 -4
  88. package/ccw/dist/cli.d.ts.map +1 -1
  89. package/ccw/dist/cli.js +4 -1
  90. package/ccw/dist/cli.js.map +1 -1
  91. package/ccw/dist/commands/cli.d.ts.map +1 -1
  92. package/ccw/dist/commands/cli.js +131 -34
  93. package/ccw/dist/commands/cli.js.map +1 -1
  94. package/ccw/dist/commands/issue.d.ts +152 -0
  95. package/ccw/dist/commands/issue.d.ts.map +1 -1
  96. package/ccw/dist/commands/issue.js +550 -85
  97. package/ccw/dist/commands/issue.js.map +1 -1
  98. package/ccw/dist/commands/serve.d.ts +1 -0
  99. package/ccw/dist/commands/serve.d.ts.map +1 -1
  100. package/ccw/dist/commands/serve.js +12 -5
  101. package/ccw/dist/commands/serve.js.map +1 -1
  102. package/ccw/dist/commands/stop.d.ts.map +1 -1
  103. package/ccw/dist/commands/stop.js +29 -5
  104. package/ccw/dist/commands/stop.js.map +1 -1
  105. package/ccw/dist/commands/tool.d.ts.map +1 -1
  106. package/ccw/dist/commands/tool.js +19 -2
  107. package/ccw/dist/commands/tool.js.map +1 -1
  108. package/ccw/dist/commands/view.d.ts +1 -0
  109. package/ccw/dist/commands/view.d.ts.map +1 -1
  110. package/ccw/dist/commands/view.js +10 -3
  111. package/ccw/dist/commands/view.js.map +1 -1
  112. package/ccw/dist/config/cli-settings-manager.d.ts +86 -0
  113. package/ccw/dist/config/cli-settings-manager.d.ts.map +1 -0
  114. package/ccw/dist/config/cli-settings-manager.js +392 -0
  115. package/ccw/dist/config/cli-settings-manager.js.map +1 -0
  116. package/ccw/dist/config/litellm-api-config-manager.d.ts +71 -5
  117. package/ccw/dist/config/litellm-api-config-manager.d.ts.map +1 -1
  118. package/ccw/dist/config/litellm-api-config-manager.js +290 -20
  119. package/ccw/dist/config/litellm-api-config-manager.js.map +1 -1
  120. package/ccw/dist/core/auth/csrf-manager.d.ts +18 -0
  121. package/ccw/dist/core/auth/csrf-manager.d.ts.map +1 -0
  122. package/ccw/dist/core/auth/csrf-manager.js +80 -0
  123. package/ccw/dist/core/auth/csrf-manager.js.map +1 -0
  124. package/ccw/dist/core/auth/csrf-middleware.d.ts +8 -0
  125. package/ccw/dist/core/auth/csrf-middleware.d.ts.map +1 -0
  126. package/ccw/dist/core/auth/csrf-middleware.js +141 -0
  127. package/ccw/dist/core/auth/csrf-middleware.js.map +1 -0
  128. package/ccw/dist/core/auth/middleware.d.ts +15 -0
  129. package/ccw/dist/core/auth/middleware.d.ts.map +1 -0
  130. package/ccw/dist/core/auth/middleware.js +76 -0
  131. package/ccw/dist/core/auth/middleware.js.map +1 -0
  132. package/ccw/dist/core/auth/token-manager.d.ts +41 -0
  133. package/ccw/dist/core/auth/token-manager.d.ts.map +1 -0
  134. package/ccw/dist/core/auth/token-manager.js +171 -0
  135. package/ccw/dist/core/auth/token-manager.js.map +1 -0
  136. package/ccw/dist/core/cache-manager.d.ts +6 -6
  137. package/ccw/dist/core/cache-manager.d.ts.map +1 -1
  138. package/ccw/dist/core/cache-manager.js +70 -48
  139. package/ccw/dist/core/cache-manager.js.map +1 -1
  140. package/ccw/dist/core/claude-freshness.d.ts.map +1 -1
  141. package/ccw/dist/core/claude-freshness.js +23 -3
  142. package/ccw/dist/core/claude-freshness.js.map +1 -1
  143. package/ccw/dist/core/core-memory-store.d.ts.map +1 -1
  144. package/ccw/dist/core/core-memory-store.js +2 -1
  145. package/ccw/dist/core/core-memory-store.js.map +1 -1
  146. package/ccw/dist/core/cors.d.ts +3 -0
  147. package/ccw/dist/core/cors.d.ts.map +1 -0
  148. package/ccw/dist/core/cors.js +10 -0
  149. package/ccw/dist/core/cors.js.map +1 -0
  150. package/ccw/dist/core/dashboard-generator-patch.js +0 -1
  151. package/ccw/dist/core/dashboard-generator-patch.js.map +1 -1
  152. package/ccw/dist/core/dashboard-generator.d.ts.map +1 -1
  153. package/ccw/dist/core/dashboard-generator.js +417 -416
  154. package/ccw/dist/core/dashboard-generator.js.map +1 -1
  155. package/ccw/dist/core/data-aggregator.js +2 -2
  156. package/ccw/dist/core/data-aggregator.js.map +1 -1
  157. package/ccw/dist/core/lite-scanner.d.ts +1 -1
  158. package/ccw/dist/core/lite-scanner.d.ts.map +1 -1
  159. package/ccw/dist/core/lite-scanner.js +130 -127
  160. package/ccw/dist/core/lite-scanner.js.map +1 -1
  161. package/ccw/dist/core/routes/auth-routes.d.ts +12 -0
  162. package/ccw/dist/core/routes/auth-routes.d.ts.map +1 -0
  163. package/ccw/dist/core/routes/auth-routes.js +80 -0
  164. package/ccw/dist/core/routes/auth-routes.js.map +1 -0
  165. package/ccw/dist/core/routes/ccw-routes.d.ts +1 -14
  166. package/ccw/dist/core/routes/ccw-routes.d.ts.map +1 -1
  167. package/ccw/dist/core/routes/ccw-routes.js +9 -4
  168. package/ccw/dist/core/routes/ccw-routes.js.map +1 -1
  169. package/ccw/dist/core/routes/claude-routes.d.ts +1 -14
  170. package/ccw/dist/core/routes/claude-routes.d.ts.map +1 -1
  171. package/ccw/dist/core/routes/claude-routes.js +98 -39
  172. package/ccw/dist/core/routes/claude-routes.js.map +1 -1
  173. package/ccw/dist/core/routes/cli-routes.d.ts +14 -12
  174. package/ccw/dist/core/routes/cli-routes.d.ts.map +1 -1
  175. package/ccw/dist/core/routes/cli-routes.js +122 -43
  176. package/ccw/dist/core/routes/cli-routes.js.map +1 -1
  177. package/ccw/dist/core/routes/cli-settings-routes.d.ts +11 -0
  178. package/ccw/dist/core/routes/cli-settings-routes.d.ts.map +1 -0
  179. package/ccw/dist/core/routes/cli-settings-routes.js +204 -0
  180. package/ccw/dist/core/routes/cli-settings-routes.js.map +1 -0
  181. package/ccw/dist/core/routes/codexlens/config-handlers.d.ts +6 -0
  182. package/ccw/dist/core/routes/codexlens/config-handlers.d.ts.map +1 -0
  183. package/ccw/dist/core/routes/codexlens/config-handlers.js +1195 -0
  184. package/ccw/dist/core/routes/codexlens/config-handlers.js.map +1 -0
  185. package/ccw/dist/core/routes/codexlens/index-handlers.d.ts +10 -0
  186. package/ccw/dist/core/routes/codexlens/index-handlers.d.ts.map +1 -0
  187. package/ccw/dist/core/routes/codexlens/index-handlers.js +322 -0
  188. package/ccw/dist/core/routes/codexlens/index-handlers.js.map +1 -0
  189. package/ccw/dist/core/routes/codexlens/semantic-handlers.d.ts +6 -0
  190. package/ccw/dist/core/routes/codexlens/semantic-handlers.d.ts.map +1 -0
  191. package/ccw/dist/core/routes/codexlens/semantic-handlers.js +865 -0
  192. package/ccw/dist/core/routes/codexlens/semantic-handlers.js.map +1 -0
  193. package/ccw/dist/core/routes/codexlens/utils.d.ts +23 -0
  194. package/ccw/dist/core/routes/codexlens/utils.d.ts.map +1 -0
  195. package/ccw/dist/core/routes/codexlens/utils.js +85 -0
  196. package/ccw/dist/core/routes/codexlens/utils.js.map +1 -0
  197. package/ccw/dist/core/routes/codexlens/watcher-handlers.d.ts +13 -0
  198. package/ccw/dist/core/routes/codexlens/watcher-handlers.d.ts.map +1 -0
  199. package/ccw/dist/core/routes/codexlens/watcher-handlers.js +235 -0
  200. package/ccw/dist/core/routes/codexlens/watcher-handlers.js.map +1 -0
  201. package/ccw/dist/core/routes/codexlens-routes.d.ts +2 -11
  202. package/ccw/dist/core/routes/codexlens-routes.d.ts.map +1 -1
  203. package/ccw/dist/core/routes/codexlens-routes.js +10 -981
  204. package/ccw/dist/core/routes/codexlens-routes.js.map +1 -1
  205. package/ccw/dist/core/routes/discovery-routes.d.ts +1 -35
  206. package/ccw/dist/core/routes/discovery-routes.d.ts.map +1 -1
  207. package/ccw/dist/core/routes/discovery-routes.js +25 -0
  208. package/ccw/dist/core/routes/discovery-routes.js.map +1 -1
  209. package/ccw/dist/core/routes/files-routes.d.ts +1 -14
  210. package/ccw/dist/core/routes/files-routes.d.ts.map +1 -1
  211. package/ccw/dist/core/routes/files-routes.js +57 -14
  212. package/ccw/dist/core/routes/files-routes.js.map +1 -1
  213. package/ccw/dist/core/routes/graph-routes.d.ts +1 -14
  214. package/ccw/dist/core/routes/graph-routes.d.ts.map +1 -1
  215. package/ccw/dist/core/routes/graph-routes.js +36 -37
  216. package/ccw/dist/core/routes/graph-routes.js.map +1 -1
  217. package/ccw/dist/core/routes/help-routes.d.ts +1 -14
  218. package/ccw/dist/core/routes/help-routes.d.ts.map +1 -1
  219. package/ccw/dist/core/routes/help-routes.js +5 -0
  220. package/ccw/dist/core/routes/help-routes.js.map +1 -1
  221. package/ccw/dist/core/routes/hooks-routes.d.ts +4 -14
  222. package/ccw/dist/core/routes/hooks-routes.d.ts.map +1 -1
  223. package/ccw/dist/core/routes/hooks-routes.js +43 -21
  224. package/ccw/dist/core/routes/hooks-routes.js.map +1 -1
  225. package/ccw/dist/core/routes/issue-routes.d.ts +1 -34
  226. package/ccw/dist/core/routes/issue-routes.d.ts.map +1 -1
  227. package/ccw/dist/core/routes/issue-routes.js +24 -0
  228. package/ccw/dist/core/routes/issue-routes.js.map +1 -1
  229. package/ccw/dist/core/routes/litellm-api-routes.d.ts +1 -14
  230. package/ccw/dist/core/routes/litellm-api-routes.d.ts.map +1 -1
  231. package/ccw/dist/core/routes/litellm-api-routes.js +505 -48
  232. package/ccw/dist/core/routes/litellm-api-routes.js.map +1 -1
  233. package/ccw/dist/core/routes/litellm-routes.d.ts +1 -14
  234. package/ccw/dist/core/routes/litellm-routes.d.ts.map +1 -1
  235. package/ccw/dist/core/routes/litellm-routes.js +28 -11
  236. package/ccw/dist/core/routes/litellm-routes.js.map +1 -1
  237. package/ccw/dist/core/routes/mcp-routes.d.ts +1 -14
  238. package/ccw/dist/core/routes/mcp-routes.d.ts.map +1 -1
  239. package/ccw/dist/core/routes/mcp-routes.js +99 -30
  240. package/ccw/dist/core/routes/mcp-routes.js.map +1 -1
  241. package/ccw/dist/core/routes/mcp-templates-db.d.ts.map +1 -1
  242. package/ccw/dist/core/routes/mcp-templates-db.js +30 -31
  243. package/ccw/dist/core/routes/mcp-templates-db.js.map +1 -1
  244. package/ccw/dist/core/routes/memory-routes.d.ts.map +1 -1
  245. package/ccw/dist/core/routes/memory-routes.js +74 -24
  246. package/ccw/dist/core/routes/memory-routes.js.map +1 -1
  247. package/ccw/dist/core/routes/nav-status-routes.d.ts +3 -0
  248. package/ccw/dist/core/routes/nav-status-routes.d.ts.map +1 -0
  249. package/ccw/dist/core/routes/nav-status-routes.js +217 -0
  250. package/ccw/dist/core/routes/nav-status-routes.js.map +1 -0
  251. package/ccw/dist/core/routes/rules-routes.d.ts +1 -14
  252. package/ccw/dist/core/routes/rules-routes.d.ts.map +1 -1
  253. package/ccw/dist/core/routes/rules-routes.js +481 -58
  254. package/ccw/dist/core/routes/rules-routes.js.map +1 -1
  255. package/ccw/dist/core/routes/session-routes.d.ts +1 -14
  256. package/ccw/dist/core/routes/session-routes.d.ts.map +1 -1
  257. package/ccw/dist/core/routes/session-routes.js +15 -3
  258. package/ccw/dist/core/routes/session-routes.js.map +1 -1
  259. package/ccw/dist/core/routes/skills-routes.d.ts +1 -14
  260. package/ccw/dist/core/routes/skills-routes.d.ts.map +1 -1
  261. package/ccw/dist/core/routes/skills-routes.js +394 -112
  262. package/ccw/dist/core/routes/skills-routes.js.map +1 -1
  263. package/ccw/dist/core/routes/status-routes.d.ts +1 -14
  264. package/ccw/dist/core/routes/status-routes.d.ts.map +1 -1
  265. package/ccw/dist/core/routes/status-routes.js +4 -0
  266. package/ccw/dist/core/routes/status-routes.js.map +1 -1
  267. package/ccw/dist/core/routes/system-routes.d.ts +4 -10
  268. package/ccw/dist/core/routes/system-routes.d.ts.map +1 -1
  269. package/ccw/dist/core/routes/system-routes.js +6 -4
  270. package/ccw/dist/core/routes/system-routes.js.map +1 -1
  271. package/ccw/dist/core/routes/types.d.ts +19 -0
  272. package/ccw/dist/core/routes/types.d.ts.map +1 -0
  273. package/ccw/dist/core/routes/types.js +2 -0
  274. package/ccw/dist/core/routes/types.js.map +1 -0
  275. package/ccw/dist/core/server.d.ts.map +1 -1
  276. package/ccw/dist/core/server.js +201 -29
  277. package/ccw/dist/core/server.js.map +1 -1
  278. package/ccw/dist/core/services/api-key-tester.d.ts +31 -0
  279. package/ccw/dist/core/services/api-key-tester.d.ts.map +1 -0
  280. package/ccw/dist/core/services/api-key-tester.js +106 -0
  281. package/ccw/dist/core/services/api-key-tester.js.map +1 -0
  282. package/ccw/dist/core/services/health-check-service.d.ts +82 -0
  283. package/ccw/dist/core/services/health-check-service.d.ts.map +1 -0
  284. package/ccw/dist/core/services/health-check-service.js +271 -0
  285. package/ccw/dist/core/services/health-check-service.js.map +1 -0
  286. package/ccw/dist/core/websocket.d.ts +9 -7
  287. package/ccw/dist/core/websocket.d.ts.map +1 -1
  288. package/ccw/dist/core/websocket.js +9 -4
  289. package/ccw/dist/core/websocket.js.map +1 -1
  290. package/ccw/dist/tools/claude-cli-tools.d.ts +152 -28
  291. package/ccw/dist/tools/claude-cli-tools.d.ts.map +1 -1
  292. package/ccw/dist/tools/claude-cli-tools.js +490 -100
  293. package/ccw/dist/tools/claude-cli-tools.js.map +1 -1
  294. package/ccw/dist/tools/cli-config-manager.d.ts +24 -8
  295. package/ccw/dist/tools/cli-config-manager.d.ts.map +1 -1
  296. package/ccw/dist/tools/cli-config-manager.js +76 -156
  297. package/ccw/dist/tools/cli-config-manager.js.map +1 -1
  298. package/ccw/dist/tools/cli-executor-core.d.ts +85 -0
  299. package/ccw/dist/tools/cli-executor-core.d.ts.map +1 -0
  300. package/ccw/dist/tools/cli-executor-core.js +1310 -0
  301. package/ccw/dist/tools/cli-executor-core.js.map +1 -0
  302. package/ccw/dist/tools/cli-executor-state.d.ts +241 -0
  303. package/ccw/dist/tools/cli-executor-state.d.ts.map +1 -0
  304. package/ccw/dist/tools/cli-executor-state.js +392 -0
  305. package/ccw/dist/tools/cli-executor-state.js.map +1 -0
  306. package/ccw/dist/tools/cli-executor-utils.d.ts +36 -0
  307. package/ccw/dist/tools/cli-executor-utils.d.ts.map +1 -0
  308. package/ccw/dist/tools/cli-executor-utils.js +298 -0
  309. package/ccw/dist/tools/cli-executor-utils.js.map +1 -0
  310. package/ccw/dist/tools/cli-executor.d.ts +3 -377
  311. package/ccw/dist/tools/cli-executor.d.ts.map +1 -1
  312. package/ccw/dist/tools/cli-executor.js +3 -1884
  313. package/ccw/dist/tools/cli-executor.js.map +1 -1
  314. package/ccw/dist/tools/cli-history-store.d.ts +2 -0
  315. package/ccw/dist/tools/cli-history-store.d.ts.map +1 -1
  316. package/ccw/dist/tools/cli-history-store.js.map +1 -1
  317. package/ccw/dist/tools/cli-output-converter.d.ts +192 -0
  318. package/ccw/dist/tools/cli-output-converter.d.ts.map +1 -0
  319. package/ccw/dist/tools/cli-output-converter.js +1047 -0
  320. package/ccw/dist/tools/cli-output-converter.js.map +1 -0
  321. package/ccw/dist/tools/cli-prompt-builder.d.ts +113 -0
  322. package/ccw/dist/tools/cli-prompt-builder.d.ts.map +1 -0
  323. package/ccw/dist/tools/cli-prompt-builder.js +363 -0
  324. package/ccw/dist/tools/cli-prompt-builder.js.map +1 -0
  325. package/ccw/dist/tools/codex-lens.d.ts +15 -1
  326. package/ccw/dist/tools/codex-lens.d.ts.map +1 -1
  327. package/ccw/dist/tools/codex-lens.js +289 -55
  328. package/ccw/dist/tools/codex-lens.js.map +1 -1
  329. package/ccw/dist/tools/detect-changed-modules.d.ts.map +1 -1
  330. package/ccw/dist/tools/detect-changed-modules.js +22 -4
  331. package/ccw/dist/tools/detect-changed-modules.js.map +1 -1
  332. package/ccw/dist/tools/index.d.ts.map +1 -1
  333. package/ccw/dist/tools/index.js +2 -0
  334. package/ccw/dist/tools/index.js.map +1 -1
  335. package/ccw/dist/tools/litellm-client.d.ts.map +1 -1
  336. package/ccw/dist/tools/litellm-client.js +10 -4
  337. package/ccw/dist/tools/litellm-client.js.map +1 -1
  338. package/ccw/dist/tools/litellm-executor.d.ts +2 -4
  339. package/ccw/dist/tools/litellm-executor.d.ts.map +1 -1
  340. package/ccw/dist/tools/litellm-executor.js +39 -8
  341. package/ccw/dist/tools/litellm-executor.js.map +1 -1
  342. package/ccw/dist/tools/native-session-discovery.d.ts +2 -0
  343. package/ccw/dist/tools/native-session-discovery.d.ts.map +1 -1
  344. package/ccw/dist/tools/native-session-discovery.js +197 -1
  345. package/ccw/dist/tools/native-session-discovery.js.map +1 -1
  346. package/ccw/dist/tools/session-manager.d.ts.map +1 -1
  347. package/ccw/dist/tools/session-manager.js +79 -0
  348. package/ccw/dist/tools/session-manager.js.map +1 -1
  349. package/ccw/dist/tools/skill-context-loader.d.ts +15 -0
  350. package/ccw/dist/tools/skill-context-loader.d.ts.map +1 -0
  351. package/ccw/dist/tools/skill-context-loader.js +198 -0
  352. package/ccw/dist/tools/skill-context-loader.js.map +1 -0
  353. package/ccw/dist/tools/smart-search.d.ts +8 -3
  354. package/ccw/dist/tools/smart-search.d.ts.map +1 -1
  355. package/ccw/dist/tools/smart-search.js +378 -75
  356. package/ccw/dist/tools/smart-search.js.map +1 -1
  357. package/ccw/dist/types/cli-settings.d.ts +86 -0
  358. package/ccw/dist/types/cli-settings.d.ts.map +1 -0
  359. package/ccw/dist/types/cli-settings.js +54 -0
  360. package/ccw/dist/types/cli-settings.js.map +1 -0
  361. package/ccw/dist/types/litellm-api-config.d.ts +40 -1
  362. package/ccw/dist/types/litellm-api-config.d.ts.map +1 -1
  363. package/ccw/dist/utils/exec-constants.d.ts +25 -0
  364. package/ccw/dist/utils/exec-constants.d.ts.map +1 -0
  365. package/ccw/dist/utils/exec-constants.js +25 -0
  366. package/ccw/dist/utils/exec-constants.js.map +1 -0
  367. package/ccw/dist/utils/path-resolver.d.ts +1 -0
  368. package/ccw/dist/utils/path-resolver.d.ts.map +1 -1
  369. package/ccw/dist/utils/path-resolver.js +48 -3
  370. package/ccw/dist/utils/path-resolver.js.map +1 -1
  371. package/ccw/dist/utils/path-validator.d.ts.map +1 -1
  372. package/ccw/dist/utils/path-validator.js +25 -6
  373. package/ccw/dist/utils/path-validator.js.map +1 -1
  374. package/ccw/dist/utils/python-utils.d.ts.map +1 -1
  375. package/ccw/dist/utils/python-utils.js +27 -7
  376. package/ccw/dist/utils/python-utils.js.map +1 -1
  377. package/ccw/dist/utils/shell-escape.d.ts +8 -0
  378. package/ccw/dist/utils/shell-escape.d.ts.map +1 -0
  379. package/ccw/dist/utils/shell-escape.js +24 -0
  380. package/ccw/dist/utils/shell-escape.js.map +1 -0
  381. package/ccw/dist/utils/uv-manager.d.ts +167 -0
  382. package/ccw/dist/utils/uv-manager.d.ts.map +1 -0
  383. package/ccw/dist/utils/uv-manager.js +644 -0
  384. package/ccw/dist/utils/uv-manager.js.map +1 -0
  385. package/ccw/src/cli.ts +4 -1
  386. package/ccw/src/commands/cli.ts +132 -34
  387. package/ccw/src/commands/issue.ts +605 -91
  388. package/ccw/src/commands/serve.ts +15 -5
  389. package/ccw/src/commands/stop.ts +32 -5
  390. package/ccw/src/commands/tool.ts +17 -2
  391. package/ccw/src/commands/view.ts +13 -3
  392. package/ccw/src/config/cli-settings-manager.ts +460 -0
  393. package/ccw/src/config/litellm-api-config-manager.ts +392 -57
  394. package/ccw/src/core/auth/csrf-manager.ts +104 -0
  395. package/ccw/src/core/auth/csrf-middleware.ts +159 -0
  396. package/ccw/src/core/auth/middleware.ts +94 -0
  397. package/ccw/src/core/auth/token-manager.ts +219 -0
  398. package/ccw/src/core/cache-manager.ts +64 -52
  399. package/ccw/src/core/claude-freshness.ts +26 -6
  400. package/ccw/src/core/core-memory-store.ts +2 -1
  401. package/ccw/src/core/cors.ts +10 -0
  402. package/ccw/src/core/dashboard-generator-patch.ts +47 -48
  403. package/ccw/src/core/dashboard-generator.ts +797 -744
  404. package/ccw/src/core/data-aggregator.ts +667 -667
  405. package/ccw/src/core/lite-scanner.ts +156 -140
  406. package/ccw/src/core/routes/auth-routes.ts +98 -0
  407. package/ccw/src/core/routes/ccw-routes.ts +10 -20
  408. package/ccw/src/core/routes/claude-routes.ts +101 -51
  409. package/ccw/src/core/routes/cli-routes.ts +152 -55
  410. package/ccw/src/core/routes/cli-settings-routes.ts +232 -0
  411. package/ccw/src/core/routes/codexlens/README.md +37 -0
  412. package/ccw/src/core/routes/codexlens/config-handlers.ts +1269 -0
  413. package/ccw/src/core/routes/codexlens/index-handlers.ts +354 -0
  414. package/ccw/src/core/routes/codexlens/semantic-handlers.ts +931 -0
  415. package/ccw/src/core/routes/codexlens/utils.ts +96 -0
  416. package/ccw/src/core/routes/codexlens/watcher-handlers.ts +265 -0
  417. package/ccw/src/core/routes/codexlens-routes.ts +11 -1044
  418. package/ccw/src/core/routes/discovery-routes.ts +1 -12
  419. package/ccw/src/core/routes/files-routes.ts +112 -40
  420. package/ccw/src/core/routes/graph-routes.ts +39 -46
  421. package/ccw/src/core/routes/help-routes.ts +2 -12
  422. package/ccw/src/core/routes/hooks-routes.ts +83 -44
  423. package/ccw/src/core/routes/issue-routes.ts +1 -12
  424. package/ccw/src/core/routes/litellm-api-routes.ts +566 -60
  425. package/ccw/src/core/routes/litellm-routes.ts +35 -27
  426. package/ccw/src/core/routes/mcp-routes.ts +157 -60
  427. package/ccw/src/core/routes/mcp-routes.ts.backup +549 -550
  428. package/ccw/src/core/routes/mcp-templates-db.ts +267 -268
  429. package/ccw/src/core/routes/memory-routes.ts +76 -22
  430. package/ccw/src/core/routes/nav-status-routes.ts +231 -0
  431. package/ccw/src/core/routes/rules-routes.ts +600 -81
  432. package/ccw/src/core/routes/session-routes.ts +28 -22
  433. package/ccw/src/core/routes/skills-routes.ts +452 -132
  434. package/ccw/src/core/routes/status-routes.ts +1 -12
  435. package/ccw/src/core/routes/system-routes.ts +15 -22
  436. package/ccw/src/core/routes/types.ts +25 -0
  437. package/ccw/src/core/server.ts +651 -468
  438. package/ccw/src/core/services/api-key-tester.ts +137 -0
  439. package/ccw/src/core/services/health-check-service.ts +340 -0
  440. package/ccw/src/core/websocket.ts +20 -12
  441. package/ccw/src/templates/dashboard-css/01-base.css +109 -0
  442. package/ccw/src/templates/dashboard-css/10-cli-status.css +202 -0
  443. package/ccw/src/templates/dashboard-css/21-cli-toolmgmt.css +308 -0
  444. package/ccw/src/templates/dashboard-css/30-core-memory.css +20 -0
  445. package/ccw/src/templates/dashboard-css/31-api-settings.css +751 -14
  446. package/ccw/src/templates/dashboard-css/33-cli-stream-viewer.css +230 -2
  447. package/ccw/src/templates/dashboard-js/api.js +5 -0
  448. package/ccw/src/templates/dashboard-js/components/cli-status.js +279 -107
  449. package/ccw/src/templates/dashboard-js/components/cli-stream-viewer.js +262 -20
  450. package/ccw/src/templates/dashboard-js/components/hook-manager.js +105 -5
  451. package/ccw/src/templates/dashboard-js/components/mcp-manager.js +317 -0
  452. package/ccw/src/templates/dashboard-js/components/navigation.js +45 -0
  453. package/ccw/src/templates/dashboard-js/components/notifications.js +128 -0
  454. package/ccw/src/templates/dashboard-js/i18n.js +4438 -3983
  455. package/ccw/src/templates/dashboard-js/main.js +71 -0
  456. package/ccw/src/templates/dashboard-js/services.js +289 -0
  457. package/ccw/src/templates/dashboard-js/views/api-settings.js +5613 -3361
  458. package/ccw/src/templates/dashboard-js/views/claude-manager.js +1 -7
  459. package/ccw/src/templates/dashboard-js/views/cli-manager.js +581 -87
  460. package/ccw/src/templates/dashboard-js/views/codexlens-manager.js +6091 -1965
  461. package/ccw/src/templates/dashboard-js/views/core-memory.js +129 -20
  462. package/ccw/src/templates/dashboard-js/views/hook-manager.js +17 -3
  463. package/ccw/src/templates/dashboard-js/views/mcp-manager.js +63 -0
  464. package/ccw/src/templates/dashboard-js/views/project-overview.js +182 -37
  465. package/ccw/src/templates/dashboard-js/views/rules-manager.js +26 -3
  466. package/ccw/src/templates/dashboard-js/views/skills-manager.js +2 -42
  467. package/ccw/src/templates/dashboard.html +6 -0
  468. package/ccw/src/tools/README.md +29 -0
  469. package/ccw/src/tools/claude-cli-tools.ts +640 -125
  470. package/ccw/src/tools/cli-config-manager.ts +102 -172
  471. package/ccw/src/tools/cli-executor-core.ts +1533 -0
  472. package/ccw/src/tools/cli-executor-state.ts +560 -0
  473. package/ccw/src/tools/cli-executor-utils.ts +349 -0
  474. package/ccw/src/tools/cli-executor.ts +3 -2309
  475. package/ccw/src/tools/cli-history-store.ts +2 -0
  476. package/ccw/src/tools/cli-output-converter.ts +1237 -0
  477. package/ccw/src/tools/cli-prompt-builder.ts +487 -0
  478. package/ccw/src/tools/codex-lens.ts +324 -59
  479. package/ccw/src/tools/detect-changed-modules.ts +24 -6
  480. package/ccw/src/tools/index.ts +2 -0
  481. package/ccw/src/tools/litellm-client.ts +10 -4
  482. package/ccw/src/tools/litellm-executor.ts +146 -114
  483. package/ccw/src/tools/native-session-discovery.ts +209 -1
  484. package/ccw/src/tools/session-manager.ts +88 -0
  485. package/ccw/src/tools/skill-context-loader.ts +213 -0
  486. package/ccw/src/tools/smart-search.ts +427 -76
  487. package/ccw/src/types/cli-settings.ts +137 -0
  488. package/ccw/src/types/litellm-api-config.ts +55 -1
  489. package/ccw/src/utils/exec-constants.ts +24 -0
  490. package/ccw/src/utils/path-resolver.ts +49 -3
  491. package/ccw/src/utils/path-validator.ts +28 -6
  492. package/ccw/src/utils/python-utils.ts +140 -121
  493. package/ccw/src/utils/shell-escape.ts +30 -0
  494. package/ccw/src/utils/uv-manager.ts +796 -0
  495. package/ccw-litellm/src/ccw_litellm/__pycache__/__init__.cpython-310.pyc +0 -0
  496. package/ccw-litellm/src/ccw_litellm/__pycache__/__init__.cpython-312.pyc +0 -0
  497. package/ccw-litellm/src/ccw_litellm/clients/__pycache__/__init__.cpython-310.pyc +0 -0
  498. package/ccw-litellm/src/ccw_litellm/clients/__pycache__/__init__.cpython-312.pyc +0 -0
  499. package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_embedder.cpython-310.pyc +0 -0
  500. package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_embedder.cpython-312.pyc +0 -0
  501. package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_embedder.cpython-313.pyc +0 -0
  502. package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_llm.cpython-310.pyc +0 -0
  503. package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_llm.cpython-312.pyc +0 -0
  504. package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_llm.cpython-313.pyc +0 -0
  505. package/ccw-litellm/src/ccw_litellm/clients/litellm_embedder.py +270 -251
  506. package/ccw-litellm/src/ccw_litellm/clients/litellm_llm.py +33 -0
  507. package/ccw-litellm/src/ccw_litellm/config/__pycache__/__init__.cpython-310.pyc +0 -0
  508. package/ccw-litellm/src/ccw_litellm/config/__pycache__/__init__.cpython-312.pyc +0 -0
  509. package/ccw-litellm/src/ccw_litellm/config/__pycache__/loader.cpython-310.pyc +0 -0
  510. package/ccw-litellm/src/ccw_litellm/config/__pycache__/loader.cpython-312.pyc +0 -0
  511. package/ccw-litellm/src/ccw_litellm/config/__pycache__/loader.cpython-313.pyc +0 -0
  512. package/ccw-litellm/src/ccw_litellm/config/__pycache__/models.cpython-310.pyc +0 -0
  513. package/ccw-litellm/src/ccw_litellm/config/__pycache__/models.cpython-312.pyc +0 -0
  514. package/ccw-litellm/src/ccw_litellm/config/__pycache__/models.cpython-313.pyc +0 -0
  515. package/ccw-litellm/src/ccw_litellm/config/loader.py +343 -316
  516. package/ccw-litellm/src/ccw_litellm/config/models.py +162 -130
  517. package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/__init__.cpython-310.pyc +0 -0
  518. package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/__init__.cpython-312.pyc +0 -0
  519. package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/embedder.cpython-310.pyc +0 -0
  520. package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/embedder.cpython-312.pyc +0 -0
  521. package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/llm.cpython-310.pyc +0 -0
  522. package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/llm.cpython-312.pyc +0 -0
  523. package/codex-lens/pyproject.toml +43 -0
  524. package/codex-lens/src/codexlens/__pycache__/__init__.cpython-310.pyc +0 -0
  525. package/codex-lens/src/codexlens/__pycache__/__init__.cpython-312.pyc +0 -0
  526. package/codex-lens/src/codexlens/__pycache__/__main__.cpython-310.pyc +0 -0
  527. package/codex-lens/src/codexlens/__pycache__/__main__.cpython-312.pyc +0 -0
  528. package/codex-lens/src/codexlens/__pycache__/config.cpython-310.pyc +0 -0
  529. package/codex-lens/src/codexlens/__pycache__/config.cpython-312.pyc +0 -0
  530. package/codex-lens/src/codexlens/__pycache__/config.cpython-313.pyc +0 -0
  531. package/codex-lens/src/codexlens/__pycache__/entities.cpython-310.pyc +0 -0
  532. package/codex-lens/src/codexlens/__pycache__/entities.cpython-312.pyc +0 -0
  533. package/codex-lens/src/codexlens/__pycache__/entities.cpython-313.pyc +0 -0
  534. package/codex-lens/src/codexlens/__pycache__/env_config.cpython-310.pyc +0 -0
  535. package/codex-lens/src/codexlens/__pycache__/env_config.cpython-312.pyc +0 -0
  536. package/codex-lens/src/codexlens/__pycache__/env_config.cpython-313.pyc +0 -0
  537. package/codex-lens/src/codexlens/__pycache__/errors.cpython-310.pyc +0 -0
  538. package/codex-lens/src/codexlens/__pycache__/errors.cpython-312.pyc +0 -0
  539. package/codex-lens/src/codexlens/cli/__pycache__/__init__.cpython-310.pyc +0 -0
  540. package/codex-lens/src/codexlens/cli/__pycache__/__init__.cpython-312.pyc +0 -0
  541. package/codex-lens/src/codexlens/cli/__pycache__/commands.cpython-310.pyc +0 -0
  542. package/codex-lens/src/codexlens/cli/__pycache__/commands.cpython-312.pyc +0 -0
  543. package/codex-lens/src/codexlens/cli/__pycache__/commands.cpython-313.pyc +0 -0
  544. package/codex-lens/src/codexlens/cli/__pycache__/embedding_manager.cpython-310.pyc +0 -0
  545. package/codex-lens/src/codexlens/cli/__pycache__/embedding_manager.cpython-312.pyc +0 -0
  546. package/codex-lens/src/codexlens/cli/__pycache__/embedding_manager.cpython-313.pyc +0 -0
  547. package/codex-lens/src/codexlens/cli/__pycache__/model_manager.cpython-310.pyc +0 -0
  548. package/codex-lens/src/codexlens/cli/__pycache__/model_manager.cpython-312.pyc +0 -0
  549. package/codex-lens/src/codexlens/cli/__pycache__/model_manager.cpython-313.pyc +0 -0
  550. package/codex-lens/src/codexlens/cli/__pycache__/output.cpython-310.pyc +0 -0
  551. package/codex-lens/src/codexlens/cli/__pycache__/output.cpython-312.pyc +0 -0
  552. package/codex-lens/src/codexlens/cli/commands.py +4416 -2295
  553. package/codex-lens/src/codexlens/cli/embedding_manager.py +767 -14
  554. package/codex-lens/src/codexlens/cli/model_manager.py +676 -0
  555. package/codex-lens/src/codexlens/config.py +321 -12
  556. package/codex-lens/src/codexlens/entities.py +4 -1
  557. package/codex-lens/src/codexlens/env_config.py +298 -0
  558. package/codex-lens/src/codexlens/indexing/__init__.py +23 -1
  559. package/codex-lens/src/codexlens/indexing/__pycache__/__init__.cpython-313.pyc +0 -0
  560. package/codex-lens/src/codexlens/indexing/__pycache__/embedding.cpython-313.pyc +0 -0
  561. package/codex-lens/src/codexlens/indexing/__pycache__/symbol_extractor.cpython-313.pyc +0 -0
  562. package/codex-lens/src/codexlens/indexing/embedding.py +582 -0
  563. package/codex-lens/src/codexlens/indexing/symbol_extractor.py +62 -28
  564. package/codex-lens/src/codexlens/parsers/__pycache__/__init__.cpython-310.pyc +0 -0
  565. package/codex-lens/src/codexlens/parsers/__pycache__/__init__.cpython-312.pyc +0 -0
  566. package/codex-lens/src/codexlens/parsers/__pycache__/factory.cpython-310.pyc +0 -0
  567. package/codex-lens/src/codexlens/parsers/__pycache__/factory.cpython-312.pyc +0 -0
  568. package/codex-lens/src/codexlens/parsers/__pycache__/factory.cpython-313.pyc +0 -0
  569. package/codex-lens/src/codexlens/parsers/__pycache__/tokenizer.cpython-310.pyc +0 -0
  570. package/codex-lens/src/codexlens/parsers/__pycache__/tokenizer.cpython-312.pyc +0 -0
  571. package/codex-lens/src/codexlens/parsers/__pycache__/treesitter_parser.cpython-310.pyc +0 -0
  572. package/codex-lens/src/codexlens/parsers/__pycache__/treesitter_parser.cpython-312.pyc +0 -0
  573. package/codex-lens/src/codexlens/parsers/__pycache__/treesitter_parser.cpython-313.pyc +0 -0
  574. package/codex-lens/src/codexlens/parsers/factory.py +139 -10
  575. package/codex-lens/src/codexlens/parsers/treesitter_parser.py +487 -13
  576. package/codex-lens/src/codexlens/search/__pycache__/__init__.cpython-310.pyc +0 -0
  577. package/codex-lens/src/codexlens/search/__pycache__/__init__.cpython-312.pyc +0 -0
  578. package/codex-lens/src/codexlens/search/__pycache__/binary_searcher.cpython-313.pyc +0 -0
  579. package/codex-lens/src/codexlens/search/__pycache__/chain_search.cpython-310.pyc +0 -0
  580. package/codex-lens/src/codexlens/search/__pycache__/chain_search.cpython-312.pyc +0 -0
  581. package/codex-lens/src/codexlens/search/__pycache__/chain_search.cpython-313.pyc +0 -0
  582. package/codex-lens/src/codexlens/search/__pycache__/enrichment.cpython-313.pyc +0 -0
  583. package/codex-lens/src/codexlens/search/__pycache__/graph_expander.cpython-313.pyc +0 -0
  584. package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-310.pyc +0 -0
  585. package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-312.pyc +0 -0
  586. package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-313.pyc +0 -0
  587. package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-310.pyc +0 -0
  588. package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-312.pyc +0 -0
  589. package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-313.pyc +0 -0
  590. package/codex-lens/src/codexlens/search/binary_searcher.py +277 -0
  591. package/codex-lens/src/codexlens/search/chain_search.py +1642 -8
  592. package/codex-lens/src/codexlens/search/enrichment.py +21 -0
  593. package/codex-lens/src/codexlens/search/graph_expander.py +264 -0
  594. package/codex-lens/src/codexlens/search/hybrid_search.py +772 -37
  595. package/codex-lens/src/codexlens/search/ranking.py +347 -8
  596. package/codex-lens/src/codexlens/semantic/SPLADE_IMPLEMENTATION.md +225 -0
  597. package/codex-lens/src/codexlens/semantic/__pycache__/__init__.cpython-310.pyc +0 -0
  598. package/codex-lens/src/codexlens/semantic/__pycache__/__init__.cpython-312.pyc +0 -0
  599. package/codex-lens/src/codexlens/semantic/__pycache__/ann_index.cpython-310.pyc +0 -0
  600. package/codex-lens/src/codexlens/semantic/__pycache__/ann_index.cpython-312.pyc +0 -0
  601. package/codex-lens/src/codexlens/semantic/__pycache__/ann_index.cpython-313.pyc +0 -0
  602. package/codex-lens/src/codexlens/semantic/__pycache__/base.cpython-310.pyc +0 -0
  603. package/codex-lens/src/codexlens/semantic/__pycache__/base.cpython-312.pyc +0 -0
  604. package/codex-lens/src/codexlens/semantic/__pycache__/chunker.cpython-310.pyc +0 -0
  605. package/codex-lens/src/codexlens/semantic/__pycache__/chunker.cpython-312.pyc +0 -0
  606. package/codex-lens/src/codexlens/semantic/__pycache__/embedder.cpython-310.pyc +0 -0
  607. package/codex-lens/src/codexlens/semantic/__pycache__/embedder.cpython-312.pyc +0 -0
  608. package/codex-lens/src/codexlens/semantic/__pycache__/factory.cpython-310.pyc +0 -0
  609. package/codex-lens/src/codexlens/semantic/__pycache__/factory.cpython-312.pyc +0 -0
  610. package/codex-lens/src/codexlens/semantic/__pycache__/factory.cpython-313.pyc +0 -0
  611. package/codex-lens/src/codexlens/semantic/__pycache__/gpu_support.cpython-310.pyc +0 -0
  612. package/codex-lens/src/codexlens/semantic/__pycache__/gpu_support.cpython-312.pyc +0 -0
  613. package/codex-lens/src/codexlens/semantic/__pycache__/gpu_support.cpython-313.pyc +0 -0
  614. package/codex-lens/src/codexlens/semantic/__pycache__/litellm_embedder.cpython-310.pyc +0 -0
  615. package/codex-lens/src/codexlens/semantic/__pycache__/litellm_embedder.cpython-312.pyc +0 -0
  616. package/codex-lens/src/codexlens/semantic/__pycache__/litellm_embedder.cpython-313.pyc +0 -0
  617. package/codex-lens/src/codexlens/semantic/__pycache__/reranker.cpython-313.pyc +0 -0
  618. package/codex-lens/src/codexlens/semantic/__pycache__/splade_encoder.cpython-310.pyc +0 -0
  619. package/codex-lens/src/codexlens/semantic/__pycache__/splade_encoder.cpython-312.pyc +0 -0
  620. package/codex-lens/src/codexlens/semantic/__pycache__/splade_encoder.cpython-313.pyc +0 -0
  621. package/codex-lens/src/codexlens/semantic/__pycache__/vector_store.cpython-310.pyc +0 -0
  622. package/codex-lens/src/codexlens/semantic/__pycache__/vector_store.cpython-312.pyc +0 -0
  623. package/codex-lens/src/codexlens/semantic/__pycache__/vector_store.cpython-313.pyc +0 -0
  624. package/codex-lens/src/codexlens/semantic/ann_index.py +654 -0
  625. package/codex-lens/src/codexlens/semantic/factory.py +63 -3
  626. package/codex-lens/src/codexlens/semantic/gpu_support.py +19 -2
  627. package/codex-lens/src/codexlens/semantic/litellm_embedder.py +144 -144
  628. package/codex-lens/src/codexlens/semantic/reranker/__init__.py +25 -0
  629. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/__init__.cpython-310.pyc +0 -0
  630. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/__init__.cpython-313.pyc +0 -0
  631. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/api_reranker.cpython-310.pyc +0 -0
  632. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/api_reranker.cpython-313.pyc +0 -0
  633. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/base.cpython-310.pyc +0 -0
  634. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/base.cpython-313.pyc +0 -0
  635. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/factory.cpython-310.pyc +0 -0
  636. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/factory.cpython-313.pyc +0 -0
  637. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/fastembed_reranker.cpython-310.pyc +0 -0
  638. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/fastembed_reranker.cpython-313.pyc +0 -0
  639. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/legacy.cpython-310.pyc +0 -0
  640. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/legacy.cpython-313.pyc +0 -0
  641. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/litellm_reranker.cpython-313.pyc +0 -0
  642. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/onnx_reranker.cpython-310.pyc +0 -0
  643. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/onnx_reranker.cpython-313.pyc +0 -0
  644. package/codex-lens/src/codexlens/semantic/reranker/api_reranker.py +403 -0
  645. package/codex-lens/src/codexlens/semantic/reranker/base.py +46 -0
  646. package/codex-lens/src/codexlens/semantic/reranker/factory.py +159 -0
  647. package/codex-lens/src/codexlens/semantic/reranker/fastembed_reranker.py +257 -0
  648. package/codex-lens/src/codexlens/semantic/reranker/legacy.py +91 -0
  649. package/codex-lens/src/codexlens/semantic/reranker/litellm_reranker.py +214 -0
  650. package/codex-lens/src/codexlens/semantic/reranker/onnx_reranker.py +268 -0
  651. package/codex-lens/src/codexlens/semantic/splade_encoder.py +567 -0
  652. package/codex-lens/src/codexlens/semantic/vector_store.py +472 -352
  653. package/codex-lens/src/codexlens/storage/__init__.py +3 -0
  654. package/codex-lens/src/codexlens/storage/__pycache__/__init__.cpython-310.pyc +0 -0
  655. package/codex-lens/src/codexlens/storage/__pycache__/__init__.cpython-312.pyc +0 -0
  656. package/codex-lens/src/codexlens/storage/__pycache__/__init__.cpython-313.pyc +0 -0
  657. package/codex-lens/src/codexlens/storage/__pycache__/dir_index.cpython-310.pyc +0 -0
  658. package/codex-lens/src/codexlens/storage/__pycache__/dir_index.cpython-312.pyc +0 -0
  659. package/codex-lens/src/codexlens/storage/__pycache__/dir_index.cpython-313.pyc +0 -0
  660. package/codex-lens/src/codexlens/storage/__pycache__/global_index.cpython-310.pyc +0 -0
  661. package/codex-lens/src/codexlens/storage/__pycache__/global_index.cpython-312.pyc +0 -0
  662. package/codex-lens/src/codexlens/storage/__pycache__/index_tree.cpython-310.pyc +0 -0
  663. package/codex-lens/src/codexlens/storage/__pycache__/index_tree.cpython-312.pyc +0 -0
  664. package/codex-lens/src/codexlens/storage/__pycache__/index_tree.cpython-313.pyc +0 -0
  665. package/codex-lens/src/codexlens/storage/__pycache__/merkle_tree.cpython-313.pyc +0 -0
  666. package/codex-lens/src/codexlens/storage/__pycache__/path_mapper.cpython-310.pyc +0 -0
  667. package/codex-lens/src/codexlens/storage/__pycache__/path_mapper.cpython-312.pyc +0 -0
  668. package/codex-lens/src/codexlens/storage/__pycache__/registry.cpython-310.pyc +0 -0
  669. package/codex-lens/src/codexlens/storage/__pycache__/registry.cpython-312.pyc +0 -0
  670. package/codex-lens/src/codexlens/storage/__pycache__/splade_index.cpython-310.pyc +0 -0
  671. package/codex-lens/src/codexlens/storage/__pycache__/splade_index.cpython-312.pyc +0 -0
  672. package/codex-lens/src/codexlens/storage/__pycache__/splade_index.cpython-313.pyc +0 -0
  673. package/codex-lens/src/codexlens/storage/__pycache__/sqlite_store.cpython-310.pyc +0 -0
  674. package/codex-lens/src/codexlens/storage/__pycache__/sqlite_store.cpython-312.pyc +0 -0
  675. package/codex-lens/src/codexlens/storage/__pycache__/sqlite_store.cpython-313.pyc +0 -0
  676. package/codex-lens/src/codexlens/storage/__pycache__/sqlite_utils.cpython-310.pyc +0 -0
  677. package/codex-lens/src/codexlens/storage/__pycache__/sqlite_utils.cpython-312.pyc +0 -0
  678. package/codex-lens/src/codexlens/storage/__pycache__/vector_meta_store.cpython-310.pyc +0 -0
  679. package/codex-lens/src/codexlens/storage/__pycache__/vector_meta_store.cpython-312.pyc +0 -0
  680. package/codex-lens/src/codexlens/storage/__pycache__/vector_meta_store.cpython-313.pyc +0 -0
  681. package/codex-lens/src/codexlens/storage/dir_index.py +310 -12
  682. package/codex-lens/src/codexlens/storage/index_tree.py +194 -23
  683. package/codex-lens/src/codexlens/storage/merkle_tree.py +136 -0
  684. package/codex-lens/src/codexlens/storage/migrations/__pycache__/__init__.cpython-310.pyc +0 -0
  685. package/codex-lens/src/codexlens/storage/migrations/__pycache__/__init__.cpython-312.pyc +0 -0
  686. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_006_enhance_relationships.cpython-313.pyc +0 -0
  687. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_007_add_graph_neighbors.cpython-310.pyc +0 -0
  688. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_007_add_graph_neighbors.cpython-312.pyc +0 -0
  689. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_007_add_graph_neighbors.cpython-313.pyc +0 -0
  690. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_008_add_merkle_hashes.cpython-313.pyc +0 -0
  691. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_009_add_splade.cpython-313.pyc +0 -0
  692. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_010_add_multi_vector_chunks.cpython-313.pyc +0 -0
  693. package/codex-lens/src/codexlens/storage/migrations/migration_006_enhance_relationships.py +37 -0
  694. package/codex-lens/src/codexlens/storage/migrations/migration_007_add_graph_neighbors.py +47 -0
  695. package/codex-lens/src/codexlens/storage/migrations/migration_008_add_merkle_hashes.py +81 -0
  696. package/codex-lens/src/codexlens/storage/migrations/migration_009_add_splade.py +103 -0
  697. package/codex-lens/src/codexlens/storage/migrations/migration_010_add_multi_vector_chunks.py +162 -0
  698. package/codex-lens/src/codexlens/storage/splade_index.py +578 -0
  699. package/codex-lens/src/codexlens/storage/sqlite_store.py +508 -184
  700. package/codex-lens/src/codexlens/storage/vector_meta_store.py +415 -0
  701. package/codex-lens/src/codexlens/watcher/__init__.py +17 -0
  702. package/codex-lens/src/codexlens/watcher/__pycache__/__init__.cpython-310.pyc +0 -0
  703. package/codex-lens/src/codexlens/watcher/__pycache__/__init__.cpython-312.pyc +0 -0
  704. package/codex-lens/src/codexlens/watcher/__pycache__/__init__.cpython-313.pyc +0 -0
  705. package/codex-lens/src/codexlens/watcher/__pycache__/events.cpython-310.pyc +0 -0
  706. package/codex-lens/src/codexlens/watcher/__pycache__/events.cpython-312.pyc +0 -0
  707. package/codex-lens/src/codexlens/watcher/__pycache__/events.cpython-313.pyc +0 -0
  708. package/codex-lens/src/codexlens/watcher/__pycache__/file_watcher.cpython-310.pyc +0 -0
  709. package/codex-lens/src/codexlens/watcher/__pycache__/file_watcher.cpython-312.pyc +0 -0
  710. package/codex-lens/src/codexlens/watcher/__pycache__/file_watcher.cpython-313.pyc +0 -0
  711. package/codex-lens/src/codexlens/watcher/__pycache__/incremental_indexer.cpython-310.pyc +0 -0
  712. package/codex-lens/src/codexlens/watcher/__pycache__/incremental_indexer.cpython-312.pyc +0 -0
  713. package/codex-lens/src/codexlens/watcher/__pycache__/incremental_indexer.cpython-313.pyc +0 -0
  714. package/codex-lens/src/codexlens/watcher/__pycache__/manager.cpython-310.pyc +0 -0
  715. package/codex-lens/src/codexlens/watcher/__pycache__/manager.cpython-312.pyc +0 -0
  716. package/codex-lens/src/codexlens/watcher/__pycache__/manager.cpython-313.pyc +0 -0
  717. package/codex-lens/src/codexlens/watcher/events.py +82 -0
  718. package/codex-lens/src/codexlens/watcher/file_watcher.py +347 -0
  719. package/codex-lens/src/codexlens/watcher/incremental_indexer.py +369 -0
  720. package/codex-lens/src/codexlens/watcher/manager.py +255 -0
  721. package/package.json +4 -1
  722. package/.claude/commands/workflow/docs/analyze.md +0 -1467
  723. package/.claude/commands/workflow/docs/copyright.md +0 -1265
  724. package/.claude/skills/command-guide/SKILL.md +0 -388
  725. package/.claude/skills/command-guide/UPDATE-GUIDELINE.md +0 -592
  726. package/.claude/skills/command-guide/guides/cli-tools-guide.md +0 -410
  727. package/.claude/skills/command-guide/guides/examples.md +0 -537
  728. package/.claude/skills/command-guide/guides/getting-started.md +0 -242
  729. package/.claude/skills/command-guide/guides/implementation-details.md +0 -1010
  730. package/.claude/skills/command-guide/guides/index-structure.md +0 -326
  731. package/.claude/skills/command-guide/guides/troubleshooting.md +0 -92
  732. package/.claude/skills/command-guide/guides/ui-design-workflow-guide.md +0 -316
  733. package/.claude/skills/command-guide/guides/workflow-patterns.md +0 -662
  734. package/.claude/skills/command-guide/reference/agents/action-planning-agent.md +0 -855
  735. package/.claude/skills/command-guide/reference/agents/cli-execution-agent.md +0 -267
  736. package/.claude/skills/command-guide/reference/agents/cli-explore-agent.md +0 -182
  737. package/.claude/skills/command-guide/reference/agents/cli-lite-planning-agent.md +0 -446
  738. package/.claude/skills/command-guide/reference/agents/cli-planning-agent.md +0 -558
  739. package/.claude/skills/command-guide/reference/agents/code-developer.md +0 -311
  740. package/.claude/skills/command-guide/reference/agents/conceptual-planning-agent.md +0 -308
  741. package/.claude/skills/command-guide/reference/agents/context-search-agent.md +0 -581
  742. package/.claude/skills/command-guide/reference/agents/doc-generator.md +0 -330
  743. package/.claude/skills/command-guide/reference/agents/memory-bridge.md +0 -94
  744. package/.claude/skills/command-guide/reference/agents/test-context-search-agent.md +0 -400
  745. package/.claude/skills/command-guide/reference/agents/test-fix-agent.md +0 -344
  746. package/.claude/skills/command-guide/reference/agents/ui-design-agent.md +0 -593
  747. package/.claude/skills/command-guide/reference/agents/universal-executor.md +0 -131
  748. package/.claude/skills/command-guide/reference/commands/cli/cli-init.md +0 -440
  749. package/.claude/skills/command-guide/reference/commands/enhance-prompt.md +0 -93
  750. package/.claude/skills/command-guide/reference/commands/memory/code-map-memory.md +0 -687
  751. package/.claude/skills/command-guide/reference/commands/memory/docs-full-cli.md +0 -471
  752. package/.claude/skills/command-guide/reference/commands/memory/docs-related-cli.md +0 -386
  753. package/.claude/skills/command-guide/reference/commands/memory/docs.md +0 -616
  754. package/.claude/skills/command-guide/reference/commands/memory/load-skill-memory.md +0 -182
  755. package/.claude/skills/command-guide/reference/commands/memory/load.md +0 -240
  756. package/.claude/skills/command-guide/reference/commands/memory/skill-memory.md +0 -525
  757. package/.claude/skills/command-guide/reference/commands/memory/style-skill-memory.md +0 -396
  758. package/.claude/skills/command-guide/reference/commands/memory/tech-research.md +0 -314
  759. package/.claude/skills/command-guide/reference/commands/memory/update-full.md +0 -332
  760. package/.claude/skills/command-guide/reference/commands/memory/update-related.md +0 -332
  761. package/.claude/skills/command-guide/reference/commands/memory/workflow-skill-memory.md +0 -517
  762. package/.claude/skills/command-guide/reference/commands/task/breakdown.md +0 -204
  763. package/.claude/skills/command-guide/reference/commands/task/create.md +0 -152
  764. package/.claude/skills/command-guide/reference/commands/task/execute.md +0 -270
  765. package/.claude/skills/command-guide/reference/commands/task/replan.md +0 -437
  766. package/.claude/skills/command-guide/reference/commands/version.md +0 -254
  767. package/.claude/skills/command-guide/reference/commands/workflow/action-plan-verify.md +0 -447
  768. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/api-designer.md +0 -585
  769. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/artifacts.md +0 -452
  770. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/auto-parallel.md +0 -443
  771. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/data-architect.md +0 -220
  772. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/product-manager.md +0 -200
  773. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/product-owner.md +0 -200
  774. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/scrum-master.md +0 -200
  775. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/subject-matter-expert.md +0 -200
  776. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/synthesis.md +0 -398
  777. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/system-architect.md +0 -387
  778. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/ui-designer.md +0 -221
  779. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/ux-expert.md +0 -221
  780. package/.claude/skills/command-guide/reference/commands/workflow/execute.md +0 -465
  781. package/.claude/skills/command-guide/reference/commands/workflow/init.md +0 -164
  782. package/.claude/skills/command-guide/reference/commands/workflow/lite-execute.md +0 -748
  783. package/.claude/skills/command-guide/reference/commands/workflow/lite-fix.md +0 -664
  784. package/.claude/skills/command-guide/reference/commands/workflow/lite-plan.md +0 -645
  785. package/.claude/skills/command-guide/reference/commands/workflow/plan.md +0 -551
  786. package/.claude/skills/command-guide/reference/commands/workflow/replan.md +0 -515
  787. package/.claude/skills/command-guide/reference/commands/workflow/review-fix.md +0 -606
  788. package/.claude/skills/command-guide/reference/commands/workflow/review-module-cycle.md +0 -765
  789. package/.claude/skills/command-guide/reference/commands/workflow/review-session-cycle.md +0 -776
  790. package/.claude/skills/command-guide/reference/commands/workflow/review.md +0 -298
  791. package/.claude/skills/command-guide/reference/commands/workflow/session/complete.md +0 -547
  792. package/.claude/skills/command-guide/reference/commands/workflow/session/list.md +0 -114
  793. package/.claude/skills/command-guide/reference/commands/workflow/session/resume.md +0 -77
  794. package/.claude/skills/command-guide/reference/commands/workflow/session/start.md +0 -257
  795. package/.claude/skills/command-guide/reference/commands/workflow/tdd-plan.md +0 -460
  796. package/.claude/skills/command-guide/reference/commands/workflow/tdd-verify.md +0 -400
  797. package/.claude/skills/command-guide/reference/commands/workflow/test-cycle-execute.md +0 -498
  798. package/.claude/skills/command-guide/reference/commands/workflow/test-fix-gen.md +0 -699
  799. package/.claude/skills/command-guide/reference/commands/workflow/test-gen.md +0 -529
  800. package/.claude/skills/command-guide/reference/commands/workflow/tools/conflict-resolution.md +0 -766
  801. package/.claude/skills/command-guide/reference/commands/workflow/tools/context-gather.md +0 -433
  802. package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-agent.md +0 -487
  803. package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-tdd.md +0 -518
  804. package/.claude/skills/command-guide/reference/commands/workflow/tools/tdd-coverage-analysis.md +0 -309
  805. package/.claude/skills/command-guide/reference/commands/workflow/tools/test-concept-enhanced.md +0 -163
  806. package/.claude/skills/command-guide/reference/commands/workflow/tools/test-context-gather.md +0 -232
  807. package/.claude/skills/command-guide/reference/commands/workflow/tools/test-task-generate.md +0 -254
  808. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/animation-extract.md +0 -1150
  809. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/codify-style.md +0 -652
  810. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/design-sync.md +0 -454
  811. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/explore-auto.md +0 -678
  812. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/generate.md +0 -504
  813. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/imitate-auto.md +0 -745
  814. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/import-from-code.md +0 -537
  815. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/layout-extract.md +0 -788
  816. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/reference-page-generator.md +0 -356
  817. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/style-extract.md +0 -773
  818. package/.claude/skills/command-guide/scripts/analyze_commands.py +0 -502
  819. package/.claude/skills/command-guide/scripts/update-index.sh +0 -130
  820. package/.claude/skills/command-guide/templates/issue-bug.md +0 -104
  821. package/.claude/skills/command-guide/templates/issue-diagnosis.md +0 -275
  822. package/.claude/skills/command-guide/templates/issue-feature.md +0 -97
  823. package/.claude/skills/command-guide/templates/issue-question.md +0 -141
package/ccw/src/cli.ts CHANGED
@@ -83,6 +83,7 @@ export function run(argv: string[]): void {
83
83
  .description('Open workflow dashboard server with live path switching')
84
84
  .option('-p, --path <path>', 'Path to project directory', '.')
85
85
  .option('--port <port>', 'Server port', '3456')
86
+ .option('--host <host>', 'Server host to bind', '127.0.0.1')
86
87
  .option('--no-browser', 'Start server without opening browser')
87
88
  .action(viewCommand);
88
89
 
@@ -92,6 +93,7 @@ export function run(argv: string[]): void {
92
93
  .description('Alias for view command')
93
94
  .option('-p, --path <path>', 'Initial project directory')
94
95
  .option('--port <port>', 'Server port', '3456')
96
+ .option('--host <host>', 'Server host to bind', '127.0.0.1')
95
97
  .option('--no-browser', 'Start server without opening browser')
96
98
  .action(serveCommand);
97
99
 
@@ -175,7 +177,7 @@ export function run(argv: string[]): void {
175
177
  .option('--model <model>', 'Model override')
176
178
  .option('--cd <path>', 'Working directory')
177
179
  .option('--includeDirs <dirs>', 'Additional directories (--include-directories for gemini/qwen, --add-dir for codex/claude)')
178
- .option('--timeout <ms>', 'Timeout in milliseconds', '300000')
180
+ .option('--timeout <ms>', 'Timeout in milliseconds (0=disabled, controlled by external caller)', '0')
179
181
  .option('--stream', 'Enable streaming output (default: non-streaming with caching)')
180
182
  .option('--limit <n>', 'History limit')
181
183
  .option('--status <status>', 'Filter by status')
@@ -288,6 +290,7 @@ export function run(argv: string[]): void {
288
290
  .option('--reason <text>', 'Failure reason')
289
291
  .option('--fail', 'Mark task as failed')
290
292
  .option('--from-queue [queue-id]', 'Sync issue statuses from queue (default: active queue)')
293
+ .option('--queue <queue-id>', 'Target queue ID for multi-queue operations')
291
294
  .action((subcommand, args, options) => issueCommand(subcommand, args, options));
292
295
 
293
296
  program.parse(argv);
@@ -5,6 +5,9 @@
5
5
 
6
6
  import chalk from 'chalk';
7
7
  import http from 'http';
8
+ import inquirer from 'inquirer';
9
+ import type { CliOutputUnit } from '../tools/cli-output-converter.js';
10
+ import { SmartContentFormatter } from '../tools/cli-output-converter.js';
8
11
  import {
9
12
  cliExecutorTool,
10
13
  getCliToolsStatus,
@@ -26,6 +29,7 @@ import {
26
29
  getStorageLocationInstructions
27
30
  } from '../tools/storage-manager.js';
28
31
  import { getHistoryStore } from '../tools/cli-history-store.js';
32
+ import { createSpinner } from '../utils/ui.js';
29
33
 
30
34
  // Dashboard notification settings
31
35
  const DASHBOARD_PORT = process.env.CCW_PORT || 3456;
@@ -280,12 +284,17 @@ async function cleanStorage(options: StorageOptions): Promise<void> {
280
284
  }
281
285
 
282
286
  if (!force) {
283
- console.log(chalk.bold.yellow('\n Warning: This will delete ALL CCW storage:'));
284
- console.log(` Location: ${stats.rootPath}`);
285
- console.log(` Projects: ${stats.projectCount}`);
286
- console.log(` Size: ${formatBytes(stats.totalSize)}`);
287
- console.log(chalk.gray('\n Use --force to confirm deletion.\n'));
288
- return;
287
+ const { proceed } = await inquirer.prompt([{
288
+ type: 'confirm',
289
+ name: 'proceed',
290
+ message: `Delete ALL CCW storage? This will remove ${stats.projectCount} projects (${formatBytes(stats.totalSize)}). This action cannot be undone.`,
291
+ default: false
292
+ }]);
293
+
294
+ if (!proceed) {
295
+ console.log(chalk.yellow('\n Storage clean cancelled.\n'));
296
+ return;
297
+ }
289
298
  }
290
299
 
291
300
  console.log(chalk.bold.cyan('\n Cleaning all storage...\n'));
@@ -705,7 +714,6 @@ async function execAction(positionalPrompt: string | undefined, options: CliExec
705
714
  }
706
715
  const nativeMode = noNative ? ' (prompt-concat)' : '';
707
716
  const idInfo = id ? ` [${id}]` : '';
708
- console.log(chalk.cyan(`\n Executing ${tool} (${mode} mode${resumeInfo}${nativeMode})${idInfo}...\n`));
709
717
 
710
718
  // Show merge details
711
719
  if (isMerge) {
@@ -719,11 +727,32 @@ async function execAction(positionalPrompt: string | undefined, options: CliExec
719
727
  // Generate execution ID for streaming (use custom ID or timestamp-based)
720
728
  const executionId = id || `${Date.now()}-${tool}`;
721
729
  const startTime = Date.now();
730
+ const modelInfo = model ? ` @${model}` : '';
731
+ const spinnerBaseText = `Executing ${tool}${modelInfo} (${mode} mode${resumeInfo}${nativeMode})${idInfo}...`;
732
+ console.log();
733
+
734
+ const spinner = stream ? null : createSpinner(` ${spinnerBaseText}`).start();
735
+ const elapsedInterval = spinner
736
+ ? setInterval(() => {
737
+ const elapsedSeconds = Math.floor((Date.now() - startTime) / 1000);
738
+ spinner.text = ` ${spinnerBaseText} (${elapsedSeconds}s elapsed)`;
739
+ }, 1000)
740
+ : null;
741
+ elapsedInterval?.unref?.();
742
+
743
+ if (!spinner) {
744
+ console.log(chalk.cyan(` ${spinnerBaseText}\n`));
745
+ }
722
746
 
723
747
  // Handle process interruption (SIGINT/SIGTERM) to notify dashboard
724
748
  const handleInterrupt = (signal: string) => {
725
749
  const duration = Date.now() - startTime;
726
- console.log(chalk.yellow(`\n Interrupted by ${signal}`));
750
+ if (elapsedInterval) clearInterval(elapsedInterval);
751
+ if (spinner) {
752
+ spinner.warn(`Interrupted by ${signal} (${Math.floor(duration / 1000)}s elapsed)`);
753
+ } else {
754
+ console.log(chalk.yellow(`\n Interrupted by ${signal}`));
755
+ }
727
756
 
728
757
  // Kill child process (gemini/codex/qwen CLI) if running
729
758
  killCurrentCliProcess();
@@ -761,20 +790,50 @@ async function execAction(positionalPrompt: string | undefined, options: CliExec
761
790
  });
762
791
 
763
792
  // Streaming output handler - broadcasts to dashboard AND writes to stdout
764
- const onOutput = (chunk: any) => {
793
+ const onOutput = (unit: CliOutputUnit) => {
765
794
  // Always broadcast to dashboard for real-time viewing
766
795
  // Note: /api/hook wraps extraData into payload, so send fields directly
796
+ // Maintain backward compatibility with frontend expecting { chunkType, data }
797
+ // Use SmartContentFormatter for intelligent content formatting (never returns null)
798
+ const content = SmartContentFormatter.format(unit.content, unit.type);
767
799
  broadcastStreamEvent('CLI_OUTPUT', {
768
800
  executionId,
769
- chunkType: chunk.type,
770
- data: chunk.data
801
+ chunkType: unit.type, // For backward compatibility
802
+ data: content, // For backward compatibility (now formatted)
803
+ unit // New structured format
771
804
  });
805
+
772
806
  // Write to terminal only when --stream flag is passed
773
807
  if (stream) {
774
- process.stdout.write(chunk.data);
808
+ switch (unit.type) {
809
+ case 'stdout':
810
+ case 'code':
811
+ process.stdout.write(typeof unit.content === 'string' ? unit.content : JSON.stringify(unit.content));
812
+ break;
813
+ case 'stderr':
814
+ process.stderr.write(typeof unit.content === 'string' ? unit.content : JSON.stringify(unit.content));
815
+ break;
816
+ case 'thought':
817
+ // Optional: display thinking process with different color
818
+ // For now, skip to reduce noise
819
+ break;
820
+ case 'progress':
821
+ // Optional: update progress bar
822
+ // For now, skip
823
+ break;
824
+ default:
825
+ // Other types: output content if available
826
+ if (unit.content) {
827
+ process.stdout.write(typeof unit.content === 'string' ? unit.content : '');
828
+ }
829
+ }
775
830
  }
776
831
  };
777
832
 
833
+ // Use JSON-lines parsing by default to enable type badges (thought, code, file_diff, etc.)
834
+ // All CLI tools may output structured JSON that can be parsed for richer UI
835
+ const outputFormat = 'json-lines';
836
+
778
837
  try {
779
838
  const result = await cliExecutorTool.execute({
780
839
  tool,
@@ -783,25 +842,45 @@ async function execAction(positionalPrompt: string | undefined, options: CliExec
783
842
  model,
784
843
  cd,
785
844
  includeDirs,
786
- timeout: timeout ? parseInt(timeout, 10) : 300000,
845
+ timeout: timeout ? parseInt(timeout, 10) : 0, // 0 = no internal timeout, controlled by external caller
787
846
  resume,
788
847
  id, // custom execution ID
789
848
  noNative,
790
- stream: !!stream // stream=true → streaming enabled (no cache), stream=false → cache output (default)
849
+ stream: !!stream, // stream=true → streaming enabled (no cache), stream=false → cache output (default)
850
+ outputFormat // Enable JSONL parsing for tools that support it
791
851
  }, onOutput); // Always pass onOutput for real-time dashboard streaming
792
852
 
853
+ if (elapsedInterval) clearInterval(elapsedInterval);
854
+ if (spinner) {
855
+ const durationSeconds = (result.execution.duration_ms / 1000).toFixed(1);
856
+ const turnInfo = result.success && result.conversation.turn_count > 1
857
+ ? ` (turn ${result.conversation.turn_count})`
858
+ : '';
859
+ if (result.success) {
860
+ spinner.succeed(`Completed in ${durationSeconds}s${turnInfo}`);
861
+ } else {
862
+ spinner.fail(`Failed after ${durationSeconds}s`);
863
+ }
864
+ }
865
+
793
866
  // If not streaming (default), print output now
794
- if (!stream && result.stdout) {
795
- console.log(result.stdout);
867
+ // Prefer parsedOutput (from stream parser) over raw stdout for better formatting
868
+ if (!stream) {
869
+ const output = result.parsedOutput || result.stdout;
870
+ if (output) {
871
+ console.log(output);
872
+ }
796
873
  }
797
874
 
798
875
  // Print summary with execution ID and turn info
799
876
  console.log();
800
877
  if (result.success) {
801
- const turnInfo = result.conversation.turn_count > 1
802
- ? ` (turn ${result.conversation.turn_count})`
803
- : '';
804
- console.log(chalk.green(` ✓ Completed in ${(result.execution.duration_ms / 1000).toFixed(1)}s${turnInfo}`));
878
+ if (!spinner) {
879
+ const turnInfo = result.conversation.turn_count > 1
880
+ ? ` (turn ${result.conversation.turn_count})`
881
+ : '';
882
+ console.log(chalk.green(` ✓ Completed in ${(result.execution.duration_ms / 1000).toFixed(1)}s${turnInfo}`));
883
+ }
805
884
  console.log(chalk.gray(` ID: ${result.execution.id}`));
806
885
  if (isMerge && !id) {
807
886
  // Merge without custom ID: updated all source conversations
@@ -840,7 +919,9 @@ async function execAction(positionalPrompt: string | undefined, options: CliExec
840
919
  // Delay to allow HTTP request to complete
841
920
  setTimeout(() => process.exit(0), 150);
842
921
  } else {
843
- console.log(chalk.red(` ✗ Failed (${result.execution.status})`));
922
+ if (!spinner) {
923
+ console.log(chalk.red(` ✗ Failed (${result.execution.status})`));
924
+ }
844
925
  console.log(chalk.gray(` ID: ${result.execution.id}`));
845
926
  console.log(chalk.gray(` Duration: ${(result.execution.duration_ms / 1000).toFixed(1)}s`));
846
927
  console.log(chalk.gray(` Exit Code: ${result.execution.exit_code}`));
@@ -857,6 +938,8 @@ async function execAction(positionalPrompt: string | undefined, options: CliExec
857
938
  }
858
939
  if (stderrLines.length > 30) {
859
940
  console.log(chalk.yellow(` ... ${stderrLines.length - 30} more lines`));
941
+ console.log(chalk.cyan(` 💡 View full output: ccw cli output ${result.execution.id}`));
942
+ console.log();
860
943
  }
861
944
  console.log(chalk.gray(' ' + '─'.repeat(60)));
862
945
  }
@@ -866,7 +949,6 @@ async function execAction(positionalPrompt: string | undefined, options: CliExec
866
949
  console.log(chalk.yellow.bold(' Troubleshooting:'));
867
950
  console.log(chalk.gray(` • Check if ${tool} is properly installed: ccw cli status`));
868
951
  console.log(chalk.gray(` • Enable debug mode: DEBUG=true ccw cli -p "..." or set DEBUG=true && ccw cli -p "..."`));
869
- console.log(chalk.gray(` • View full output: ccw cli output ${result.execution.id}`));
870
952
  if (result.stderr?.includes('API key') || result.stderr?.includes('Authentication')) {
871
953
  console.log(chalk.gray(` • Check API key configuration for ${tool}`));
872
954
  }
@@ -897,6 +979,8 @@ async function execAction(positionalPrompt: string | undefined, options: CliExec
897
979
  }
898
980
  } catch (error) {
899
981
  const err = error as Error;
982
+ if (elapsedInterval) clearInterval(elapsedInterval);
983
+ if (spinner) spinner.fail('Execution error');
900
984
  console.error(chalk.red.bold(`\n ✗ Execution Error\n`));
901
985
  console.error(chalk.red(` ${err.message}`));
902
986
 
@@ -1117,8 +1201,8 @@ export async function cliCommand(
1117
1201
  console.log(chalk.bold.cyan('\n CCW CLI Tool Executor\n'));
1118
1202
  console.log(' Unified interface for Gemini, Qwen, and Codex CLI tools.\n');
1119
1203
  console.log(' Usage:');
1120
- console.log(chalk.gray(' ccw cli -p "<prompt>" --tool <tool> Execute with prompt'));
1121
- console.log(chalk.gray(' ccw cli -f prompt.txt --tool <tool> Execute from file'));
1204
+ console.log(chalk.gray(' ccw cli -f prompt.txt --tool <tool> Execute from file (recommended for multi-line)'));
1205
+ console.log(chalk.gray(' ccw cli -p "<prompt>" --tool <tool> Execute with prompt (single-line)'));
1122
1206
  console.log();
1123
1207
  console.log(' Subcommands:');
1124
1208
  console.log(chalk.gray(' status Check CLI tools availability'));
@@ -1129,8 +1213,8 @@ export async function cliCommand(
1129
1213
  console.log(chalk.gray(' test-parse [args] Debug CLI argument parsing'));
1130
1214
  console.log();
1131
1215
  console.log(' Options:');
1132
- console.log(chalk.gray(' -p, --prompt <text> Prompt text'));
1133
- console.log(chalk.gray(' -f, --file <file> Read prompt from file'));
1216
+ console.log(chalk.gray(' -f, --file <file> Read prompt from file (recommended for multi-line prompts)'));
1217
+ console.log(chalk.gray(' -p, --prompt <text> Prompt text (single-line)'));
1134
1218
  console.log(chalk.gray(' --tool <tool> Tool: gemini, qwen, codex (default: gemini)'));
1135
1219
  console.log(chalk.gray(' --mode <mode> Mode: analysis, write, auto (default: analysis)'));
1136
1220
  console.log(chalk.gray(' -d, --debug Enable debug logging for troubleshooting'));
@@ -1142,6 +1226,27 @@ export async function cliCommand(
1142
1226
  console.log(chalk.gray(' --cache <items> Cache: comma-separated @patterns and text'));
1143
1227
  console.log(chalk.gray(' --inject-mode <m> Inject mode: none, full, progressive'));
1144
1228
  console.log();
1229
+ console.log(' Examples:');
1230
+ console.log(chalk.gray(' ccw cli -f my-prompt.txt --tool gemini'));
1231
+ console.log();
1232
+ console.log(chalk.gray(' # Bash/Linux heredoc'));
1233
+ console.log(chalk.gray(" ccw cli -f <(cat <<'EOF'"));
1234
+ console.log(chalk.gray(' PURPOSE: Multi-line prompt'));
1235
+ console.log(chalk.gray(' TASK: Example task'));
1236
+ console.log(chalk.gray(' EOF'));
1237
+ console.log(chalk.gray(' ) --tool gemini'));
1238
+ console.log();
1239
+ console.log(chalk.gray(' # PowerShell multi-line'));
1240
+ console.log(chalk.gray(" @'"));
1241
+ console.log(chalk.gray(' PURPOSE: Multi-line prompt'));
1242
+ console.log(chalk.gray(' TASK: Example task'));
1243
+ console.log(chalk.gray(" '@ | Out-File -Encoding utf8 prompt.tmp; ccw cli -f prompt.tmp --tool gemini"));
1244
+ console.log();
1245
+ console.log(chalk.gray(' ccw cli --resume --tool gemini'));
1246
+ console.log(chalk.gray(' ccw cli -p "..." --cache "@src/**/*.ts" --tool codex'));
1247
+ console.log(chalk.gray(' ccw cli -p "..." --cache "@src/**/*" --inject-mode progressive --tool gemini'));
1248
+ console.log(chalk.gray(' ccw cli output <id> --final # View result with usage hint'));
1249
+ console.log();
1145
1250
  console.log(' Cache format:');
1146
1251
  console.log(chalk.gray(' --cache "@src/**/*.ts,@CLAUDE.md" # @patterns to pack'));
1147
1252
  console.log(chalk.gray(' --cache "@src/**/*,extra context" # patterns + text content'));
@@ -1158,14 +1263,7 @@ export async function cliCommand(
1158
1263
  console.log(chalk.gray(' --offset <n> Start from byte offset'));
1159
1264
  console.log(chalk.gray(' --limit <n> Limit output bytes'));
1160
1265
  console.log();
1161
- console.log(' Examples:');
1162
- console.log(chalk.gray(' ccw cli -p "Analyze auth module" --tool gemini'));
1163
- console.log(chalk.gray(' ccw cli -f prompt.txt --tool codex --mode write'));
1164
- console.log(chalk.gray(' ccw cli -p "$(cat template.md)" --tool gemini'));
1165
- console.log(chalk.gray(' ccw cli --resume --tool gemini'));
1166
- console.log(chalk.gray(' ccw cli -p "..." --cache "@src/**/*.ts" --tool codex'));
1167
- console.log(chalk.gray(' ccw cli -p "..." --cache "@src/**/*" --inject-mode progressive --tool gemini'));
1168
- console.log(chalk.gray(' ccw cli output <id> --final # View result with usage hint'));
1266
+ console.log(chalk.dim(' Tip: For complex prompts, use --file to avoid shell escaping issues'));
1169
1267
  console.log();
1170
1268
  }
1171
1269
  }