claude-code-workflow 6.3.53 → 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 (1908) hide show
  1. package/.claude/agents/action-planning-agent.md +358 -188
  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 +666 -0
  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 -904
  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 +102 -92
  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 -691
  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 -667
  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/lite-skill-generator/SKILL.md +0 -650
  1129. package/.claude/skills/lite-skill-generator/templates/simple-skill.md +0 -68
  1130. package/.claude/skills/lite-skill-generator/templates/style-guide.md +0 -64
  1131. package/.claude/skills/project-analyze/SKILL.md +0 -162
  1132. package/.claude/skills/project-analyze/phases/01-requirements-discovery.md +0 -79
  1133. package/.claude/skills/project-analyze/phases/02-project-exploration.md +0 -176
  1134. package/.claude/skills/project-analyze/phases/03-deep-analysis.md +0 -854
  1135. package/.claude/skills/project-analyze/phases/03.5-consolidation.md +0 -233
  1136. package/.claude/skills/project-analyze/phases/04-report-generation.md +0 -217
  1137. package/.claude/skills/project-analyze/phases/05-iterative-refinement.md +0 -124
  1138. package/.claude/skills/project-analyze/specs/quality-standards.md +0 -115
  1139. package/.claude/skills/project-analyze/specs/writing-style.md +0 -152
  1140. package/.claude/skills/prompt-enhancer/SKILL.md +0 -124
  1141. package/.claude/skills/software-manual/SKILL.md +0 -184
  1142. package/.claude/skills/software-manual/phases/01-requirements-discovery.md +0 -162
  1143. package/.claude/skills/software-manual/phases/02-project-exploration.md +0 -101
  1144. package/.claude/skills/software-manual/phases/02.5-api-extraction.md +0 -161
  1145. package/.claude/skills/software-manual/phases/03-parallel-analysis.md +0 -183
  1146. package/.claude/skills/software-manual/phases/03.5-consolidation.md +0 -82
  1147. package/.claude/skills/software-manual/phases/04-screenshot-capture.md +0 -89
  1148. package/.claude/skills/software-manual/phases/05-html-assembly.md +0 -132
  1149. package/.claude/skills/software-manual/phases/06-iterative-refinement.md +0 -259
  1150. package/.claude/skills/software-manual/scripts/api-extractor.md +0 -245
  1151. package/.claude/skills/software-manual/scripts/assemble_docsify.py +0 -584
  1152. package/.claude/skills/software-manual/scripts/bundle-libraries.md +0 -85
  1153. package/.claude/skills/software-manual/scripts/extract_apis.py +0 -270
  1154. package/.claude/skills/software-manual/scripts/screenshot-helper.md +0 -447
  1155. package/.claude/skills/software-manual/scripts/swagger-runner.md +0 -419
  1156. package/.claude/skills/software-manual/scripts/typedoc-runner.md +0 -357
  1157. package/.claude/skills/software-manual/specs/html-template.md +0 -325
  1158. package/.claude/skills/software-manual/specs/quality-standards.md +0 -253
  1159. package/.claude/skills/software-manual/specs/writing-style.md +0 -298
  1160. package/.claude/skills/software-manual/templates/css/docsify-base.css +0 -984
  1161. package/.claude/skills/software-manual/templates/css/wiki-base.css +0 -788
  1162. package/.claude/skills/software-manual/templates/css/wiki-dark.css +0 -278
  1163. package/.claude/skills/software-manual/templates/docsify-shell.html +0 -466
  1164. package/.claude/skills/software-manual/templates/tiddlywiki-shell.html +0 -327
  1165. package/.claude/skills/text-formatter/SKILL.md +0 -196
  1166. package/.claude/skills/text-formatter/phases/01-input-collection.md +0 -111
  1167. package/.claude/skills/text-formatter/phases/02-content-analysis.md +0 -248
  1168. package/.claude/skills/text-formatter/phases/03-format-transform.md +0 -245
  1169. package/.claude/skills/text-formatter/phases/04-output-preview.md +0 -183
  1170. package/.claude/skills/text-formatter/specs/callout-types.md +0 -293
  1171. package/.claude/skills/text-formatter/specs/element-mapping.md +0 -226
  1172. package/.claude/skills/text-formatter/specs/format-rules.md +0 -273
  1173. package/.claude/skills/text-formatter/templates/bbcode-template.md +0 -350
  1174. package/.claude/workflows/_template-compare-matrix.html +0 -692
  1175. package/.claude/workflows/chinese-response.md +0 -25
  1176. package/.claude/workflows/cli-templates/fix-plan-template.json +0 -75
  1177. package/.claude/workflows/cli-templates/fix-progress-template.json +0 -48
  1178. package/.claude/workflows/cli-templates/memory/style-skill-memory/skill-md-template.md +0 -299
  1179. package/.claude/workflows/cli-templates/planning-roles/data-architect.md +0 -120
  1180. package/.claude/workflows/cli-templates/planning-roles/product-manager.md +0 -119
  1181. package/.claude/workflows/cli-templates/planning-roles/product-owner.md +0 -261
  1182. package/.claude/workflows/cli-templates/planning-roles/scrum-master.md +0 -186
  1183. package/.claude/workflows/cli-templates/planning-roles/subject-matter-expert.md +0 -281
  1184. package/.claude/workflows/cli-templates/planning-roles/synthesis-role.md +0 -414
  1185. package/.claude/workflows/cli-templates/planning-roles/system-architect.md +0 -106
  1186. package/.claude/workflows/cli-templates/planning-roles/test-strategist.md +0 -124
  1187. package/.claude/workflows/cli-templates/planning-roles/ui-designer.md +0 -379
  1188. package/.claude/workflows/cli-templates/planning-roles/ux-expert.md +0 -240
  1189. package/.claude/workflows/cli-templates/prompts/analysis-analyze-code-patterns.txt +0 -37
  1190. package/.claude/workflows/cli-templates/prompts/analysis-analyze-performance.txt +0 -29
  1191. package/.claude/workflows/cli-templates/prompts/analysis-analyze-technical-document.txt +0 -33
  1192. package/.claude/workflows/cli-templates/prompts/analysis-assess-security-risks.txt +0 -29
  1193. package/.claude/workflows/cli-templates/prompts/analysis-diagnose-bug-root-cause.txt +0 -127
  1194. package/.claude/workflows/cli-templates/prompts/analysis-review-architecture.txt +0 -29
  1195. package/.claude/workflows/cli-templates/prompts/analysis-review-code-quality.txt +0 -28
  1196. package/.claude/workflows/cli-templates/prompts/analysis-review-quality-standards.txt +0 -29
  1197. package/.claude/workflows/cli-templates/prompts/analysis-trace-code-execution.txt +0 -115
  1198. package/.claude/workflows/cli-templates/prompts/development-debug-runtime-issues.txt +0 -55
  1199. package/.claude/workflows/cli-templates/prompts/development-generate-tests.txt +0 -70
  1200. package/.claude/workflows/cli-templates/prompts/development-implement-component-ui.txt +0 -55
  1201. package/.claude/workflows/cli-templates/prompts/development-implement-feature.txt +0 -58
  1202. package/.claude/workflows/cli-templates/prompts/development-refactor-codebase.txt +0 -55
  1203. package/.claude/workflows/cli-templates/prompts/documentation-api.txt +0 -15
  1204. package/.claude/workflows/cli-templates/prompts/documentation-folder-navigation.txt +0 -27
  1205. package/.claude/workflows/cli-templates/prompts/documentation-module-readme.txt +0 -49
  1206. package/.claude/workflows/cli-templates/prompts/documentation-project-architecture.txt +0 -41
  1207. package/.claude/workflows/cli-templates/prompts/documentation-project-examples.txt +0 -35
  1208. package/.claude/workflows/cli-templates/prompts/documentation-project-readme.txt +0 -35
  1209. package/.claude/workflows/cli-templates/prompts/documentation-swagger-api.txt +0 -266
  1210. package/.claude/workflows/cli-templates/prompts/memory-document-module-structure.txt +0 -165
  1211. package/.claude/workflows/cli-templates/prompts/planning-breakdown-task-steps.txt +0 -30
  1212. package/.claude/workflows/cli-templates/prompts/planning-design-component-spec.txt +0 -28
  1213. package/.claude/workflows/cli-templates/prompts/planning-evaluate-concept-feasibility.txt +0 -127
  1214. package/.claude/workflows/cli-templates/prompts/planning-plan-architecture-design.txt +0 -109
  1215. package/.claude/workflows/cli-templates/prompts/planning-plan-migration-strategy.txt +0 -30
  1216. package/.claude/workflows/cli-templates/prompts/rules-rule-api.txt +0 -122
  1217. package/.claude/workflows/cli-templates/prompts/rules-rule-components.txt +0 -122
  1218. package/.claude/workflows/cli-templates/prompts/rules-rule-config.txt +0 -89
  1219. package/.claude/workflows/cli-templates/prompts/rules-rule-core.txt +0 -60
  1220. package/.claude/workflows/cli-templates/prompts/rules-rule-patterns.txt +0 -70
  1221. package/.claude/workflows/cli-templates/prompts/rules-rule-testing.txt +0 -81
  1222. package/.claude/workflows/cli-templates/prompts/rules-tech-rules-agent-prompt.txt +0 -89
  1223. package/.claude/workflows/cli-templates/prompts/tech-tech-module-format.txt +0 -359
  1224. package/.claude/workflows/cli-templates/prompts/tech-tech-skill-index.txt +0 -185
  1225. package/.claude/workflows/cli-templates/prompts/test-test-concept-analysis.txt +0 -179
  1226. package/.claude/workflows/cli-templates/prompts/universal-universal-creative-style.txt +0 -95
  1227. package/.claude/workflows/cli-templates/prompts/universal-universal-rigorous-style.txt +0 -92
  1228. package/.claude/workflows/cli-templates/prompts/verification-codex-technical.txt +0 -28
  1229. package/.claude/workflows/cli-templates/prompts/verification-cross-validation.txt +0 -28
  1230. package/.claude/workflows/cli-templates/prompts/verification-gemini-strategic.txt +0 -27
  1231. package/.claude/workflows/cli-templates/prompts/workflow-analysis-results-structure.txt +0 -224
  1232. package/.claude/workflows/cli-templates/prompts/workflow-codex-feasibility-validation.txt +0 -176
  1233. package/.claude/workflows/cli-templates/prompts/workflow-gemini-solution-design.txt +0 -131
  1234. package/.claude/workflows/cli-templates/prompts/workflow-impl-plan-template.txt +0 -286
  1235. package/.claude/workflows/cli-templates/prompts/workflow-skill-aggregation.txt +0 -172
  1236. package/.claude/workflows/cli-templates/prompts/workflow-skill-conflict-patterns.txt +0 -94
  1237. package/.claude/workflows/cli-templates/prompts/workflow-skill-index.txt +0 -224
  1238. package/.claude/workflows/cli-templates/prompts/workflow-skill-lessons-learned.txt +0 -94
  1239. package/.claude/workflows/cli-templates/prompts/workflow-skill-sessions-timeline.txt +0 -53
  1240. package/.claude/workflows/cli-templates/prompts/workflow-task-json-agent-mode.txt +0 -123
  1241. package/.claude/workflows/cli-templates/prompts/workflow-task-json-cli-mode.txt +0 -182
  1242. package/.claude/workflows/cli-templates/protocols/analysis-protocol.md +0 -119
  1243. package/.claude/workflows/cli-templates/protocols/write-protocol.md +0 -136
  1244. package/.claude/workflows/cli-templates/schemas/conflict-resolution-schema.json +0 -151
  1245. package/.claude/workflows/cli-templates/schemas/debug-log-json-schema.json +0 -127
  1246. package/.claude/workflows/cli-templates/schemas/diagnosis-json-schema.json +0 -234
  1247. package/.claude/workflows/cli-templates/schemas/discovery-finding-schema.json +0 -219
  1248. package/.claude/workflows/cli-templates/schemas/discovery-state-schema.json +0 -125
  1249. package/.claude/workflows/cli-templates/schemas/explore-json-schema.json +0 -124
  1250. package/.claude/workflows/cli-templates/schemas/fix-plan-json-schema.json +0 -298
  1251. package/.claude/workflows/cli-templates/schemas/issues-jsonl-schema.json +0 -170
  1252. package/.claude/workflows/cli-templates/schemas/multi-cli-discussion-schema.json +0 -421
  1253. package/.claude/workflows/cli-templates/schemas/plan-json-schema.json +0 -444
  1254. package/.claude/workflows/cli-templates/schemas/plan-verify-agent-schema.json +0 -47
  1255. package/.claude/workflows/cli-templates/schemas/project-guidelines-schema.json +0 -141
  1256. package/.claude/workflows/cli-templates/schemas/project-tech-schema.json +0 -221
  1257. package/.claude/workflows/cli-templates/schemas/queue-schema.json +0 -248
  1258. package/.claude/workflows/cli-templates/schemas/registry-schema.json +0 -94
  1259. package/.claude/workflows/cli-templates/schemas/review-deep-dive-results-schema.json +0 -82
  1260. package/.claude/workflows/cli-templates/schemas/review-dimension-results-schema.json +0 -51
  1261. package/.claude/workflows/cli-templates/schemas/solution-schema.json +0 -166
  1262. package/.claude/workflows/cli-templates/schemas/verify-json-schema.json +0 -158
  1263. package/.claude/workflows/cli-templates/tech-stacks/go-dev.md +0 -91
  1264. package/.claude/workflows/cli-templates/tech-stacks/java-dev.md +0 -107
  1265. package/.claude/workflows/cli-templates/tech-stacks/javascript-dev.md +0 -58
  1266. package/.claude/workflows/cli-templates/tech-stacks/python-dev.md +0 -79
  1267. package/.claude/workflows/cli-templates/tech-stacks/react-dev.md +0 -103
  1268. package/.claude/workflows/cli-templates/tech-stacks/typescript-dev.md +0 -83
  1269. package/.claude/workflows/cli-templates/ui-design/systems/animation-tokens.json +0 -247
  1270. package/.claude/workflows/cli-templates/ui-design/systems/design-tokens.json +0 -342
  1271. package/.claude/workflows/cli-templates/ui-design/systems/layout-templates.json +0 -145
  1272. package/.claude/workflows/cli-tools-usage.md +0 -538
  1273. package/.claude/workflows/coding-philosophy.md +0 -70
  1274. package/.claude/workflows/context-tools.md +0 -76
  1275. package/.claude/workflows/file-modification.md +0 -64
  1276. package/.claude/workflows/review-directory-specification.md +0 -336
  1277. package/.claude/workflows/task-core.md +0 -214
  1278. package/.claude/workflows/tool-strategy.md +0 -216
  1279. package/.claude/workflows/windows-platform.md +0 -19
  1280. package/.claude/workflows/workflow-architecture.md +0 -942
  1281. package/.codex/agents/ccw-loop-b-complete.md +0 -227
  1282. package/.codex/agents/ccw-loop-b-debug.md +0 -172
  1283. package/.codex/agents/ccw-loop-b-develop.md +0 -147
  1284. package/.codex/agents/ccw-loop-b-init.md +0 -82
  1285. package/.codex/agents/ccw-loop-b-validate.md +0 -204
  1286. package/.codex/agents/ccw-loop-executor.md +0 -260
  1287. package/.codex/prompts/analyze-with-file.md +0 -610
  1288. package/.codex/prompts/brainstorm-to-cycle.md +0 -456
  1289. package/.codex/prompts/brainstorm-with-file.md +0 -1004
  1290. package/.codex/prompts/clean.md +0 -414
  1291. package/.codex/prompts/compact.md +0 -380
  1292. package/.codex/prompts/debug-with-file.md +0 -608
  1293. package/.codex/prompts/execute.md +0 -277
  1294. package/.codex/prompts/issue-discover-by-prompt.md +0 -364
  1295. package/.codex/prompts/issue-discover.md +0 -261
  1296. package/.codex/prompts/issue-execute.md +0 -768
  1297. package/.codex/prompts/issue-new.md +0 -390
  1298. package/.codex/prompts/issue-plan.md +0 -246
  1299. package/.codex/prompts/issue-queue.md +0 -298
  1300. package/.codex/prompts/lite-execute.md +0 -684
  1301. package/.codex/prompts/lite-fix.md +0 -674
  1302. package/.codex/prompts/lite-plan-a.md +0 -341
  1303. package/.codex/prompts/lite-plan-b.md +0 -489
  1304. package/.codex/prompts/lite-plan-c.md +0 -605
  1305. package/.codex/prompts/merge-plans-with-file.md +0 -530
  1306. package/.codex/prompts/unified-execute-with-file.md +0 -722
  1307. package/.codex/skills/ccw-loop/README.md +0 -171
  1308. package/.codex/skills/ccw-loop/SKILL.md +0 -350
  1309. package/.codex/skills/ccw-loop/phases/actions/action-complete.md +0 -269
  1310. package/.codex/skills/ccw-loop/phases/actions/action-debug.md +0 -286
  1311. package/.codex/skills/ccw-loop/phases/actions/action-develop.md +0 -183
  1312. package/.codex/skills/ccw-loop/phases/actions/action-init.md +0 -164
  1313. package/.codex/skills/ccw-loop/phases/actions/action-menu.md +0 -205
  1314. package/.codex/skills/ccw-loop/phases/actions/action-validate.md +0 -250
  1315. package/.codex/skills/ccw-loop/phases/orchestrator.md +0 -416
  1316. package/.codex/skills/ccw-loop/phases/state-schema.md +0 -388
  1317. package/.codex/skills/ccw-loop/specs/action-catalog.md +0 -182
  1318. package/.codex/skills/ccw-loop-b/README.md +0 -301
  1319. package/.codex/skills/ccw-loop-b/SKILL.md +0 -323
  1320. package/.codex/skills/ccw-loop-b/phases/orchestrator.md +0 -257
  1321. package/.codex/skills/ccw-loop-b/phases/state-schema.md +0 -181
  1322. package/.codex/skills/ccw-loop-b/specs/action-catalog.md +0 -383
  1323. package/.codex/skills/codex-issue-plan-execute/SKILL.md +0 -214
  1324. package/.codex/skills/codex-issue-plan-execute/phases/actions/action-complete.md +0 -173
  1325. package/.codex/skills/codex-issue-plan-execute/phases/actions/action-execute.md +0 -220
  1326. package/.codex/skills/codex-issue-plan-execute/phases/actions/action-init.md +0 -86
  1327. package/.codex/skills/codex-issue-plan-execute/phases/actions/action-list.md +0 -165
  1328. package/.codex/skills/codex-issue-plan-execute/phases/actions/action-plan.md +0 -170
  1329. package/.codex/skills/codex-issue-plan-execute/phases/orchestrator.md +0 -212
  1330. package/.codex/skills/codex-issue-plan-execute/phases/state-schema.md +0 -136
  1331. package/.codex/skills/codex-issue-plan-execute/prompts/execution-agent-system.md +0 -32
  1332. package/.codex/skills/codex-issue-plan-execute/prompts/execution-agent.md +0 -323
  1333. package/.codex/skills/codex-issue-plan-execute/prompts/planning-agent-system.md +0 -32
  1334. package/.codex/skills/codex-issue-plan-execute/prompts/planning-agent.md +0 -224
  1335. package/.codex/skills/codex-issue-plan-execute/specs/agent-roles.md +0 -468
  1336. package/.codex/skills/codex-issue-plan-execute/specs/issue-handling.md +0 -187
  1337. package/.codex/skills/codex-issue-plan-execute/specs/quality-standards.md +0 -231
  1338. package/.codex/skills/codex-issue-plan-execute/specs/solution-schema.md +0 -270
  1339. package/.codex/skills/codex-issue-plan-execute/specs/subagent-roles.md +0 -32
  1340. package/.codex/skills/parallel-dev-cycle/README.md +0 -385
  1341. package/.codex/skills/parallel-dev-cycle/phases/agents/code-developer.md +0 -327
  1342. package/.codex/skills/parallel-dev-cycle/phases/agents/exploration-planner.md +0 -285
  1343. package/.codex/skills/parallel-dev-cycle/phases/agents/requirements-analyst.md +0 -370
  1344. package/.codex/skills/parallel-dev-cycle/phases/agents/validation-archivist.md +0 -381
  1345. package/.codex/skills/parallel-dev-cycle/phases/orchestrator.md +0 -696
  1346. package/.codex/skills/parallel-dev-cycle/phases/state-schema.md +0 -436
  1347. package/.codex/skills/parallel-dev-cycle/skill.md +0 -194
  1348. package/.codex/skills/parallel-dev-cycle/specs/communication-optimization.md +0 -423
  1349. package/.codex/skills/parallel-dev-cycle/specs/coordination-protocol.md +0 -406
  1350. package/.codex/skills/parallel-dev-cycle/specs/versioning-strategy.md +0 -331
  1351. package/ccw/dist/core/dashboard-generator-patch.d.ts +0 -2
  1352. package/ccw/dist/core/dashboard-generator-patch.d.ts.map +0 -1
  1353. package/ccw/dist/core/dashboard-generator-patch.js +0 -48
  1354. package/ccw/dist/core/dashboard-generator-patch.js.map +0 -1
  1355. package/ccw/dist/core/dashboard-generator.d.ts +0 -8
  1356. package/ccw/dist/core/dashboard-generator.d.ts.map +0 -1
  1357. package/ccw/dist/core/dashboard-generator.js +0 -706
  1358. package/ccw/dist/core/dashboard-generator.js.map +0 -1
  1359. package/ccw/dist/core/routes/model-routes.d.ts +0 -11
  1360. package/ccw/dist/core/routes/model-routes.d.ts.map +0 -1
  1361. package/ccw/dist/core/routes/model-routes.js +0 -112
  1362. package/ccw/dist/core/routes/model-routes.js.map +0 -1
  1363. package/ccw/dist/tools/command-registry.test.d.ts +0 -14
  1364. package/ccw/dist/tools/command-registry.test.d.ts.map +0 -1
  1365. package/ccw/dist/tools/command-registry.test.js.map +0 -1
  1366. package/ccw/scripts/__pycache__/memory_embedder.cpython-313.pyc +0 -0
  1367. package/ccw/scripts/__pycache__/test_memory_embedder.cpython-313-pytest-8.4.2.pyc +0 -0
  1368. package/ccw/src/.workflow/.cli-history/history.db +0 -0
  1369. package/ccw/src/.workflow/.cli-history/history.db-shm +0 -0
  1370. package/ccw/src/.workflow/.cli-history/history.db-wal +0 -0
  1371. package/ccw/src/cli.ts +0 -326
  1372. package/ccw/src/commands/cli.ts +0 -1492
  1373. package/ccw/src/commands/core-memory.ts +0 -770
  1374. package/ccw/src/commands/hook.ts +0 -316
  1375. package/ccw/src/commands/install.ts +0 -799
  1376. package/ccw/src/commands/issue.ts +0 -3150
  1377. package/ccw/src/commands/list.ts +0 -37
  1378. package/ccw/src/commands/loop.ts +0 -344
  1379. package/ccw/src/commands/memory.ts +0 -1090
  1380. package/ccw/src/commands/serve.ts +0 -86
  1381. package/ccw/src/commands/session-path-resolver.ts +0 -372
  1382. package/ccw/src/commands/session.ts +0 -1141
  1383. package/ccw/src/commands/stop.ts +0 -138
  1384. package/ccw/src/commands/tool.ts +0 -216
  1385. package/ccw/src/commands/uninstall.ts +0 -309
  1386. package/ccw/src/commands/upgrade.ts +0 -352
  1387. package/ccw/src/commands/view.ts +0 -133
  1388. package/ccw/src/commands/workflow.ts +0 -348
  1389. package/ccw/src/config/.litellm-api-config-manager.ts.2025-12-23T11-57-43-727Z.bak +0 -441
  1390. package/ccw/src/config/cli-settings-manager.ts +0 -460
  1391. package/ccw/src/config/litellm-api-config-manager.ts +0 -1350
  1392. package/ccw/src/config/litellm-provider-models.ts +0 -222
  1393. package/ccw/src/config/provider-models.ts +0 -123
  1394. package/ccw/src/config/storage-paths.ts +0 -685
  1395. package/ccw/src/core/auth/csrf-manager.ts +0 -104
  1396. package/ccw/src/core/auth/csrf-middleware.ts +0 -161
  1397. package/ccw/src/core/auth/middleware.ts +0 -94
  1398. package/ccw/src/core/auth/token-manager.ts +0 -219
  1399. package/ccw/src/core/cache-manager.ts +0 -304
  1400. package/ccw/src/core/claude-freshness.ts +0 -339
  1401. package/ccw/src/core/core-memory-store.ts +0 -1529
  1402. package/ccw/src/core/cors.ts +0 -10
  1403. package/ccw/src/core/dashboard-generator-patch.ts +0 -47
  1404. package/ccw/src/core/dashboard-generator.ts +0 -802
  1405. package/ccw/src/core/data-aggregator.ts +0 -690
  1406. package/ccw/src/core/history-importer.ts +0 -625
  1407. package/ccw/src/core/lite-scanner-complete.ts +0 -473
  1408. package/ccw/src/core/lite-scanner.ts +0 -978
  1409. package/ccw/src/core/manifest.ts +0 -271
  1410. package/ccw/src/core/memory-embedder-bridge.ts +0 -258
  1411. package/ccw/src/core/memory-store.ts +0 -978
  1412. package/ccw/src/core/routes/auth-routes.ts +0 -98
  1413. package/ccw/src/core/routes/ccw-routes.ts +0 -86
  1414. package/ccw/src/core/routes/claude-routes.ts +0 -1512
  1415. package/ccw/src/core/routes/cli-routes.ts +0 -1002
  1416. package/ccw/src/core/routes/cli-settings-routes.ts +0 -279
  1417. package/ccw/src/core/routes/codexlens/README.md +0 -37
  1418. package/ccw/src/core/routes/codexlens/config-handlers.ts +0 -1273
  1419. package/ccw/src/core/routes/codexlens/index-handlers.ts +0 -354
  1420. package/ccw/src/core/routes/codexlens/semantic-handlers.ts +0 -932
  1421. package/ccw/src/core/routes/codexlens/utils.ts +0 -96
  1422. package/ccw/src/core/routes/codexlens/watcher-handlers.ts +0 -265
  1423. package/ccw/src/core/routes/codexlens-routes.ts +0 -23
  1424. package/ccw/src/core/routes/commands-routes.ts +0 -620
  1425. package/ccw/src/core/routes/core-memory-routes.ts +0 -607
  1426. package/ccw/src/core/routes/discovery-routes.ts +0 -664
  1427. package/ccw/src/core/routes/files-routes.ts +0 -502
  1428. package/ccw/src/core/routes/graph-routes.md +0 -164
  1429. package/ccw/src/core/routes/graph-routes.ts +0 -635
  1430. package/ccw/src/core/routes/help-routes.ts +0 -508
  1431. package/ccw/src/core/routes/hooks-routes.ts +0 -473
  1432. package/ccw/src/core/routes/issue-routes.ts +0 -1547
  1433. package/ccw/src/core/routes/litellm-api-routes.ts +0 -1482
  1434. package/ccw/src/core/routes/litellm-routes.ts +0 -115
  1435. package/ccw/src/core/routes/loop-routes.ts +0 -386
  1436. package/ccw/src/core/routes/loop-v2-routes.ts +0 -1470
  1437. package/ccw/src/core/routes/mcp-routes.ts +0 -1372
  1438. package/ccw/src/core/routes/mcp-templates-db.ts +0 -267
  1439. package/ccw/src/core/routes/memory-routes.ts +0 -1345
  1440. package/ccw/src/core/routes/nav-status-routes.ts +0 -325
  1441. package/ccw/src/core/routes/provider-routes.ts +0 -78
  1442. package/ccw/src/core/routes/rules-routes.ts +0 -1064
  1443. package/ccw/src/core/routes/session-routes.ts +0 -649
  1444. package/ccw/src/core/routes/skills-routes.ts +0 -1278
  1445. package/ccw/src/core/routes/status-routes.ts +0 -132
  1446. package/ccw/src/core/routes/system-routes.ts +0 -575
  1447. package/ccw/src/core/routes/task-routes.ts +0 -361
  1448. package/ccw/src/core/routes/test-loop-routes.ts +0 -312
  1449. package/ccw/src/core/routes/types.ts +0 -25
  1450. package/ccw/src/core/server.ts +0 -776
  1451. package/ccw/src/core/services/api-key-tester.ts +0 -166
  1452. package/ccw/src/core/services/health-check-service.ts +0 -366
  1453. package/ccw/src/core/session-clustering-service.ts +0 -1258
  1454. package/ccw/src/core/session-scanner.ts +0 -283
  1455. package/ccw/src/core/websocket.ts +0 -302
  1456. package/ccw/src/index.ts +0 -10
  1457. package/ccw/src/mcp-server/index.ts +0 -191
  1458. package/ccw/src/templates/assets/css/github-dark.min.css +0 -10
  1459. package/ccw/src/templates/assets/css/github.min.css +0 -10
  1460. package/ccw/src/templates/assets/js/cytoscape.min.js +0 -32
  1461. package/ccw/src/templates/assets/js/d3.min.js +0 -2
  1462. package/ccw/src/templates/assets/js/highlight.min.js +0 -1244
  1463. package/ccw/src/templates/assets/js/lucide.min.js +0 -12
  1464. package/ccw/src/templates/assets/js/marked.min.js +0 -69
  1465. package/ccw/src/templates/assets/js/tailwind.js +0 -83
  1466. package/ccw/src/templates/dashboard-css/01-base.css +0 -419
  1467. package/ccw/src/templates/dashboard-css/02-session.css +0 -831
  1468. package/ccw/src/templates/dashboard-css/03-tasks.css +0 -517
  1469. package/ccw/src/templates/dashboard-css/04-lite-tasks.css +0 -4354
  1470. package/ccw/src/templates/dashboard-css/05-context.css +0 -2206
  1471. package/ccw/src/templates/dashboard-css/06-cards.css +0 -1576
  1472. package/ccw/src/templates/dashboard-css/07-managers.css +0 -2107
  1473. package/ccw/src/templates/dashboard-css/08-review.css +0 -1266
  1474. package/ccw/src/templates/dashboard-css/09-explorer.css +0 -1408
  1475. package/ccw/src/templates/dashboard-css/10-cli-status.css +0 -539
  1476. package/ccw/src/templates/dashboard-css/11-cli-history.css +0 -271
  1477. package/ccw/src/templates/dashboard-css/12-cli-legacy.css +0 -896
  1478. package/ccw/src/templates/dashboard-css/13-cli-ccw.css +0 -199
  1479. package/ccw/src/templates/dashboard-css/14-cli-modals.css +0 -258
  1480. package/ccw/src/templates/dashboard-css/15-cli-endpoints.css +0 -305
  1481. package/ccw/src/templates/dashboard-css/16-cli-session.css +0 -241
  1482. package/ccw/src/templates/dashboard-css/17-cli-conversation.css +0 -283
  1483. package/ccw/src/templates/dashboard-css/18-cli-settings.css +0 -229
  1484. package/ccw/src/templates/dashboard-css/19-cli-native-session.css +0 -496
  1485. package/ccw/src/templates/dashboard-css/20-cli-taskqueue.css +0 -188
  1486. package/ccw/src/templates/dashboard-css/21-cli-toolmgmt.css +0 -820
  1487. package/ccw/src/templates/dashboard-css/22-cli-semantic.css +0 -240
  1488. package/ccw/src/templates/dashboard-css/23-memory.css +0 -2390
  1489. package/ccw/src/templates/dashboard-css/24-prompt-history.css +0 -1089
  1490. package/ccw/src/templates/dashboard-css/25-skills-rules.css +0 -326
  1491. package/ccw/src/templates/dashboard-css/26-claude-manager.css +0 -1087
  1492. package/ccw/src/templates/dashboard-css/27-graph-explorer.css +0 -1678
  1493. package/ccw/src/templates/dashboard-css/28-mcp-manager.css +0 -748
  1494. package/ccw/src/templates/dashboard-css/29-help.css +0 -264
  1495. package/ccw/src/templates/dashboard-css/30-core-memory.css +0 -1720
  1496. package/ccw/src/templates/dashboard-css/31-api-settings.css +0 -3002
  1497. package/ccw/src/templates/dashboard-css/32-issue-manager.css +0 -3619
  1498. package/ccw/src/templates/dashboard-css/33-cli-stream-viewer.css +0 -860
  1499. package/ccw/src/templates/dashboard-css/34-discovery.css +0 -783
  1500. package/ccw/src/templates/dashboard-css/36-loop-monitor.css +0 -1896
  1501. package/ccw/src/templates/dashboard-css/36-loop-monitor.css.backup +0 -1877
  1502. package/ccw/src/templates/dashboard-css/37-commands.css +0 -193
  1503. package/ccw/src/templates/dashboard-js/api.js +0 -225
  1504. package/ccw/src/templates/dashboard-js/components/_conflict_tab.js +0 -112
  1505. package/ccw/src/templates/dashboard-js/components/_exp_helpers.js +0 -54
  1506. package/ccw/src/templates/dashboard-js/components/_review_tab.js +0 -640
  1507. package/ccw/src/templates/dashboard-js/components/carousel.js +0 -398
  1508. package/ccw/src/templates/dashboard-js/components/cli-history.js +0 -913
  1509. package/ccw/src/templates/dashboard-js/components/cli-status.js +0 -1617
  1510. package/ccw/src/templates/dashboard-js/components/cli-stream-viewer.js +0 -985
  1511. package/ccw/src/templates/dashboard-js/components/flowchart.js +0 -493
  1512. package/ccw/src/templates/dashboard-js/components/global-notifications.js +0 -508
  1513. package/ccw/src/templates/dashboard-js/components/hook-manager.js +0 -1493
  1514. package/ccw/src/templates/dashboard-js/components/index-manager.js +0 -302
  1515. package/ccw/src/templates/dashboard-js/components/mcp-manager.js +0 -1760
  1516. package/ccw/src/templates/dashboard-js/components/modals.js +0 -326
  1517. package/ccw/src/templates/dashboard-js/components/navigation.js +0 -430
  1518. package/ccw/src/templates/dashboard-js/components/notifications.js +0 -934
  1519. package/ccw/src/templates/dashboard-js/components/sidebar.js +0 -31
  1520. package/ccw/src/templates/dashboard-js/components/storage-manager.js +0 -478
  1521. package/ccw/src/templates/dashboard-js/components/tabs-context.js +0 -1093
  1522. package/ccw/src/templates/dashboard-js/components/tabs-other.js +0 -424
  1523. package/ccw/src/templates/dashboard-js/components/task-drawer-core.js +0 -477
  1524. package/ccw/src/templates/dashboard-js/components/task-drawer-renderers.js +0 -447
  1525. package/ccw/src/templates/dashboard-js/components/task-queue-sidebar.js +0 -716
  1526. package/ccw/src/templates/dashboard-js/components/theme.js +0 -49
  1527. package/ccw/src/templates/dashboard-js/components/version-check.js +0 -339
  1528. package/ccw/src/templates/dashboard-js/help-i18n.js +0 -272
  1529. package/ccw/src/templates/dashboard-js/i18n.js +0 -5558
  1530. package/ccw/src/templates/dashboard-js/main.js +0 -158
  1531. package/ccw/src/templates/dashboard-js/services.js +0 -289
  1532. package/ccw/src/templates/dashboard-js/state.js +0 -245
  1533. package/ccw/src/templates/dashboard-js/utils.js +0 -199
  1534. package/ccw/src/templates/dashboard-js/views/api-settings.js +0 -5646
  1535. package/ccw/src/templates/dashboard-js/views/claude-manager.js +0 -1129
  1536. package/ccw/src/templates/dashboard-js/views/cli-manager.js +0 -3615
  1537. package/ccw/src/templates/dashboard-js/views/codexlens-manager.js +0 -7123
  1538. package/ccw/src/templates/dashboard-js/views/commands-manager.js +0 -503
  1539. package/ccw/src/templates/dashboard-js/views/core-memory-clusters.js +0 -503
  1540. package/ccw/src/templates/dashboard-js/views/core-memory.js +0 -891
  1541. package/ccw/src/templates/dashboard-js/views/explorer.js +0 -888
  1542. package/ccw/src/templates/dashboard-js/views/fix-session.js +0 -180
  1543. package/ccw/src/templates/dashboard-js/views/graph-explorer.js +0 -1157
  1544. package/ccw/src/templates/dashboard-js/views/help.js +0 -1278
  1545. package/ccw/src/templates/dashboard-js/views/history.js +0 -390
  1546. package/ccw/src/templates/dashboard-js/views/home.js +0 -244
  1547. package/ccw/src/templates/dashboard-js/views/hook-manager.js +0 -696
  1548. package/ccw/src/templates/dashboard-js/views/issue-discovery.js +0 -730
  1549. package/ccw/src/templates/dashboard-js/views/issue-manager.js +0 -3248
  1550. package/ccw/src/templates/dashboard-js/views/lite-tasks.js +0 -3546
  1551. package/ccw/src/templates/dashboard-js/views/loop-monitor.js +0 -3345
  1552. package/ccw/src/templates/dashboard-js/views/mcp-manager.js +0 -2261
  1553. package/ccw/src/templates/dashboard-js/views/mcp-manager.js.backup +0 -1729
  1554. package/ccw/src/templates/dashboard-js/views/mcp-manager.js.new +0 -928
  1555. package/ccw/src/templates/dashboard-js/views/memory.js +0 -1221
  1556. package/ccw/src/templates/dashboard-js/views/project-overview.js +0 -548
  1557. package/ccw/src/templates/dashboard-js/views/prompt-history.js +0 -713
  1558. package/ccw/src/templates/dashboard-js/views/review-session.js +0 -1030
  1559. package/ccw/src/templates/dashboard-js/views/rules-manager.js +0 -880
  1560. package/ccw/src/templates/dashboard-js/views/session-detail.js +0 -781
  1561. package/ccw/src/templates/dashboard-js/views/skills-manager.js +0 -1282
  1562. package/ccw/src/templates/dashboard.html +0 -1104
  1563. package/ccw/src/templates/hooks-config-example.json +0 -60
  1564. package/ccw/src/templates/review-cycle-dashboard.html +0 -1930
  1565. package/ccw/src/templates/workflow-dashboard.html +0 -401
  1566. package/ccw/src/tools/README.md +0 -29
  1567. package/ccw/src/tools/classify-folders.ts +0 -245
  1568. package/ccw/src/tools/claude-cli-tools.ts +0 -1271
  1569. package/ccw/src/tools/cli-config-manager.ts +0 -169
  1570. package/ccw/src/tools/cli-executor-core.ts +0 -1665
  1571. package/ccw/src/tools/cli-executor-state.ts +0 -562
  1572. package/ccw/src/tools/cli-executor-utils.ts +0 -394
  1573. package/ccw/src/tools/cli-executor.ts +0 -7
  1574. package/ccw/src/tools/cli-history-store.ts +0 -1498
  1575. package/ccw/src/tools/cli-output-converter.ts +0 -1301
  1576. package/ccw/src/tools/cli-prompt-builder.ts +0 -487
  1577. package/ccw/src/tools/codex-lens-lsp.ts +0 -402
  1578. package/ccw/src/tools/codex-lens.ts +0 -1863
  1579. package/ccw/src/tools/command-registry.test.ts +0 -669
  1580. package/ccw/src/tools/command-registry.ts +0 -323
  1581. package/ccw/src/tools/context-cache-store.ts +0 -368
  1582. package/ccw/src/tools/context-cache.ts +0 -393
  1583. package/ccw/src/tools/convert-tokens-to-css.ts +0 -300
  1584. package/ccw/src/tools/core-memory.ts +0 -458
  1585. package/ccw/src/tools/detect-changed-modules.ts +0 -343
  1586. package/ccw/src/tools/discover-design-files.ts +0 -184
  1587. package/ccw/src/tools/edit-file.ts +0 -568
  1588. package/ccw/src/tools/generate-module-docs.ts +0 -442
  1589. package/ccw/src/tools/get-modules-by-depth.ts +0 -349
  1590. package/ccw/src/tools/index.ts +0 -384
  1591. package/ccw/src/tools/litellm-client.ts +0 -288
  1592. package/ccw/src/tools/litellm-executor.ts +0 -360
  1593. package/ccw/src/tools/loop-manager.ts +0 -519
  1594. package/ccw/src/tools/loop-state-manager.ts +0 -173
  1595. package/ccw/src/tools/loop-task-manager.ts +0 -391
  1596. package/ccw/src/tools/memory-update-queue.js +0 -493
  1597. package/ccw/src/tools/native-session-discovery.ts +0 -1034
  1598. package/ccw/src/tools/notifier.ts +0 -129
  1599. package/ccw/src/tools/pattern-parser.ts +0 -329
  1600. package/ccw/src/tools/read-file.ts +0 -410
  1601. package/ccw/src/tools/resume-strategy.ts +0 -345
  1602. package/ccw/src/tools/session-content-parser.ts +0 -619
  1603. package/ccw/src/tools/session-manager.ts +0 -1114
  1604. package/ccw/src/tools/skill-context-loader.ts +0 -213
  1605. package/ccw/src/tools/smart-context.ts +0 -228
  1606. package/ccw/src/tools/smart-search.ts +0 -2658
  1607. package/ccw/src/tools/smart-search.ts.backup +0 -1233
  1608. package/ccw/src/tools/storage-manager.ts +0 -455
  1609. package/ccw/src/tools/template-discovery.ts +0 -303
  1610. package/ccw/src/tools/ui-generate-preview.js +0 -350
  1611. package/ccw/src/tools/ui-instantiate-prototypes.js +0 -301
  1612. package/ccw/src/tools/update-module-claude.js +0 -380
  1613. package/ccw/src/tools/vscode-lsp.ts +0 -317
  1614. package/ccw/src/tools/write-file.ts +0 -222
  1615. package/ccw/src/types/cli-settings.ts +0 -137
  1616. package/ccw/src/types/config.ts +0 -11
  1617. package/ccw/src/types/index.ts +0 -4
  1618. package/ccw/src/types/litellm-api-config.ts +0 -456
  1619. package/ccw/src/types/loop.ts +0 -316
  1620. package/ccw/src/types/session.ts +0 -25
  1621. package/ccw/src/types/skill-types.ts +0 -99
  1622. package/ccw/src/types/tool.ts +0 -41
  1623. package/ccw/src/utils/browser-launcher.ts +0 -62
  1624. package/ccw/src/utils/codexlens-path.ts +0 -60
  1625. package/ccw/src/utils/exec-constants.ts +0 -24
  1626. package/ccw/src/utils/file-utils.ts +0 -48
  1627. package/ccw/src/utils/path-resolver.ts +0 -392
  1628. package/ccw/src/utils/path-validator.ts +0 -187
  1629. package/ccw/src/utils/project-root.ts +0 -73
  1630. package/ccw/src/utils/python-utils.ts +0 -140
  1631. package/ccw/src/utils/shell-escape.ts +0 -117
  1632. package/ccw/src/utils/ui.ts +0 -155
  1633. package/ccw/src/utils/update-checker.ts +0 -178
  1634. package/ccw/src/utils/uv-manager.ts +0 -797
  1635. package/ccw-litellm/src/ccw_litellm/__pycache__/__init__.cpython-310.pyc +0 -0
  1636. package/ccw-litellm/src/ccw_litellm/__pycache__/__init__.cpython-312.pyc +0 -0
  1637. package/ccw-litellm/src/ccw_litellm/__pycache__/__init__.cpython-313.pyc +0 -0
  1638. package/ccw-litellm/src/ccw_litellm/__pycache__/cli.cpython-313.pyc +0 -0
  1639. package/ccw-litellm/src/ccw_litellm/clients/__pycache__/__init__.cpython-310.pyc +0 -0
  1640. package/ccw-litellm/src/ccw_litellm/clients/__pycache__/__init__.cpython-312.pyc +0 -0
  1641. package/ccw-litellm/src/ccw_litellm/clients/__pycache__/__init__.cpython-313.pyc +0 -0
  1642. package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_embedder.cpython-310.pyc +0 -0
  1643. package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_embedder.cpython-312.pyc +0 -0
  1644. package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_embedder.cpython-313.pyc +0 -0
  1645. package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_llm.cpython-310.pyc +0 -0
  1646. package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_llm.cpython-312.pyc +0 -0
  1647. package/ccw-litellm/src/ccw_litellm/clients/__pycache__/litellm_llm.cpython-313.pyc +0 -0
  1648. package/ccw-litellm/src/ccw_litellm/config/__pycache__/__init__.cpython-310.pyc +0 -0
  1649. package/ccw-litellm/src/ccw_litellm/config/__pycache__/__init__.cpython-312.pyc +0 -0
  1650. package/ccw-litellm/src/ccw_litellm/config/__pycache__/__init__.cpython-313.pyc +0 -0
  1651. package/ccw-litellm/src/ccw_litellm/config/__pycache__/loader.cpython-310.pyc +0 -0
  1652. package/ccw-litellm/src/ccw_litellm/config/__pycache__/loader.cpython-312.pyc +0 -0
  1653. package/ccw-litellm/src/ccw_litellm/config/__pycache__/loader.cpython-313.pyc +0 -0
  1654. package/ccw-litellm/src/ccw_litellm/config/__pycache__/models.cpython-310.pyc +0 -0
  1655. package/ccw-litellm/src/ccw_litellm/config/__pycache__/models.cpython-312.pyc +0 -0
  1656. package/ccw-litellm/src/ccw_litellm/config/__pycache__/models.cpython-313.pyc +0 -0
  1657. package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/__init__.cpython-310.pyc +0 -0
  1658. package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/__init__.cpython-312.pyc +0 -0
  1659. package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/__init__.cpython-313.pyc +0 -0
  1660. package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/embedder.cpython-310.pyc +0 -0
  1661. package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/embedder.cpython-312.pyc +0 -0
  1662. package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/embedder.cpython-313.pyc +0 -0
  1663. package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/llm.cpython-310.pyc +0 -0
  1664. package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/llm.cpython-312.pyc +0 -0
  1665. package/ccw-litellm/src/ccw_litellm/interfaces/__pycache__/llm.cpython-313.pyc +0 -0
  1666. package/codex-lens/src/codexlens/.workflow/.cli-history/history.db +0 -0
  1667. package/codex-lens/src/codexlens/__pycache__/__init__.cpython-310.pyc +0 -0
  1668. package/codex-lens/src/codexlens/__pycache__/__init__.cpython-312.pyc +0 -0
  1669. package/codex-lens/src/codexlens/__pycache__/__init__.cpython-313.pyc +0 -0
  1670. package/codex-lens/src/codexlens/__pycache__/__main__.cpython-310.pyc +0 -0
  1671. package/codex-lens/src/codexlens/__pycache__/__main__.cpython-312.pyc +0 -0
  1672. package/codex-lens/src/codexlens/__pycache__/__main__.cpython-313.pyc +0 -0
  1673. package/codex-lens/src/codexlens/__pycache__/config.cpython-310.pyc +0 -0
  1674. package/codex-lens/src/codexlens/__pycache__/config.cpython-312.pyc +0 -0
  1675. package/codex-lens/src/codexlens/__pycache__/config.cpython-313.pyc +0 -0
  1676. package/codex-lens/src/codexlens/__pycache__/entities.cpython-310.pyc +0 -0
  1677. package/codex-lens/src/codexlens/__pycache__/entities.cpython-312.pyc +0 -0
  1678. package/codex-lens/src/codexlens/__pycache__/entities.cpython-313.pyc +0 -0
  1679. package/codex-lens/src/codexlens/__pycache__/env_config.cpython-310.pyc +0 -0
  1680. package/codex-lens/src/codexlens/__pycache__/env_config.cpython-312.pyc +0 -0
  1681. package/codex-lens/src/codexlens/__pycache__/env_config.cpython-313.pyc +0 -0
  1682. package/codex-lens/src/codexlens/__pycache__/errors.cpython-310.pyc +0 -0
  1683. package/codex-lens/src/codexlens/__pycache__/errors.cpython-312.pyc +0 -0
  1684. package/codex-lens/src/codexlens/__pycache__/errors.cpython-313.pyc +0 -0
  1685. package/codex-lens/src/codexlens/api/__pycache__/__init__.cpython-312.pyc +0 -0
  1686. package/codex-lens/src/codexlens/api/__pycache__/__init__.cpython-313.pyc +0 -0
  1687. package/codex-lens/src/codexlens/api/__pycache__/definition.cpython-312.pyc +0 -0
  1688. package/codex-lens/src/codexlens/api/__pycache__/definition.cpython-313.pyc +0 -0
  1689. package/codex-lens/src/codexlens/api/__pycache__/file_context.cpython-312.pyc +0 -0
  1690. package/codex-lens/src/codexlens/api/__pycache__/file_context.cpython-313.pyc +0 -0
  1691. package/codex-lens/src/codexlens/api/__pycache__/hover.cpython-312.pyc +0 -0
  1692. package/codex-lens/src/codexlens/api/__pycache__/hover.cpython-313.pyc +0 -0
  1693. package/codex-lens/src/codexlens/api/__pycache__/models.cpython-312.pyc +0 -0
  1694. package/codex-lens/src/codexlens/api/__pycache__/models.cpython-313.pyc +0 -0
  1695. package/codex-lens/src/codexlens/api/__pycache__/references.cpython-312.pyc +0 -0
  1696. package/codex-lens/src/codexlens/api/__pycache__/references.cpython-313.pyc +0 -0
  1697. package/codex-lens/src/codexlens/api/__pycache__/semantic.cpython-312.pyc +0 -0
  1698. package/codex-lens/src/codexlens/api/__pycache__/semantic.cpython-313.pyc +0 -0
  1699. package/codex-lens/src/codexlens/api/__pycache__/symbols.cpython-312.pyc +0 -0
  1700. package/codex-lens/src/codexlens/api/__pycache__/symbols.cpython-313.pyc +0 -0
  1701. package/codex-lens/src/codexlens/api/__pycache__/utils.cpython-312.pyc +0 -0
  1702. package/codex-lens/src/codexlens/api/__pycache__/utils.cpython-313.pyc +0 -0
  1703. package/codex-lens/src/codexlens/cli/__pycache__/__init__.cpython-310.pyc +0 -0
  1704. package/codex-lens/src/codexlens/cli/__pycache__/__init__.cpython-312.pyc +0 -0
  1705. package/codex-lens/src/codexlens/cli/__pycache__/__init__.cpython-313.pyc +0 -0
  1706. package/codex-lens/src/codexlens/cli/__pycache__/commands.cpython-310.pyc +0 -0
  1707. package/codex-lens/src/codexlens/cli/__pycache__/commands.cpython-312.pyc +0 -0
  1708. package/codex-lens/src/codexlens/cli/__pycache__/commands.cpython-313.pyc +0 -0
  1709. package/codex-lens/src/codexlens/cli/__pycache__/embedding_manager.cpython-310.pyc +0 -0
  1710. package/codex-lens/src/codexlens/cli/__pycache__/embedding_manager.cpython-312.pyc +0 -0
  1711. package/codex-lens/src/codexlens/cli/__pycache__/embedding_manager.cpython-313.pyc +0 -0
  1712. package/codex-lens/src/codexlens/cli/__pycache__/model_manager.cpython-310.pyc +0 -0
  1713. package/codex-lens/src/codexlens/cli/__pycache__/model_manager.cpython-312.pyc +0 -0
  1714. package/codex-lens/src/codexlens/cli/__pycache__/model_manager.cpython-313.pyc +0 -0
  1715. package/codex-lens/src/codexlens/cli/__pycache__/output.cpython-310.pyc +0 -0
  1716. package/codex-lens/src/codexlens/cli/__pycache__/output.cpython-312.pyc +0 -0
  1717. package/codex-lens/src/codexlens/cli/__pycache__/output.cpython-313.pyc +0 -0
  1718. package/codex-lens/src/codexlens/hybrid_search/__pycache__/__init__.cpython-312.pyc +0 -0
  1719. package/codex-lens/src/codexlens/hybrid_search/__pycache__/__init__.cpython-313.pyc +0 -0
  1720. package/codex-lens/src/codexlens/hybrid_search/__pycache__/data_structures.cpython-312.pyc +0 -0
  1721. package/codex-lens/src/codexlens/hybrid_search/__pycache__/data_structures.cpython-313.pyc +0 -0
  1722. package/codex-lens/src/codexlens/hybrid_search/__pycache__/engine.cpython-313.pyc +0 -0
  1723. package/codex-lens/src/codexlens/indexing/__pycache__/__init__.cpython-313.pyc +0 -0
  1724. package/codex-lens/src/codexlens/indexing/__pycache__/embedding.cpython-313.pyc +0 -0
  1725. package/codex-lens/src/codexlens/indexing/__pycache__/symbol_extractor.cpython-313.pyc +0 -0
  1726. package/codex-lens/src/codexlens/lsp/__pycache__/__init__.cpython-312.pyc +0 -0
  1727. package/codex-lens/src/codexlens/lsp/__pycache__/__init__.cpython-313.pyc +0 -0
  1728. package/codex-lens/src/codexlens/lsp/__pycache__/handlers.cpython-313.pyc +0 -0
  1729. package/codex-lens/src/codexlens/lsp/__pycache__/lsp_bridge.cpython-312.pyc +0 -0
  1730. package/codex-lens/src/codexlens/lsp/__pycache__/lsp_bridge.cpython-313.pyc +0 -0
  1731. package/codex-lens/src/codexlens/lsp/__pycache__/lsp_graph_builder.cpython-312.pyc +0 -0
  1732. package/codex-lens/src/codexlens/lsp/__pycache__/lsp_graph_builder.cpython-313.pyc +0 -0
  1733. package/codex-lens/src/codexlens/lsp/__pycache__/providers.cpython-313.pyc +0 -0
  1734. package/codex-lens/src/codexlens/lsp/__pycache__/server.cpython-313.pyc +0 -0
  1735. package/codex-lens/src/codexlens/lsp/__pycache__/standalone_manager.cpython-313.pyc +0 -0
  1736. package/codex-lens/src/codexlens/mcp/__pycache__/__init__.cpython-313.pyc +0 -0
  1737. package/codex-lens/src/codexlens/mcp/__pycache__/hooks.cpython-313.pyc +0 -0
  1738. package/codex-lens/src/codexlens/mcp/__pycache__/provider.cpython-313.pyc +0 -0
  1739. package/codex-lens/src/codexlens/mcp/__pycache__/schema.cpython-313.pyc +0 -0
  1740. package/codex-lens/src/codexlens/parsers/__pycache__/__init__.cpython-310.pyc +0 -0
  1741. package/codex-lens/src/codexlens/parsers/__pycache__/__init__.cpython-312.pyc +0 -0
  1742. package/codex-lens/src/codexlens/parsers/__pycache__/__init__.cpython-313.pyc +0 -0
  1743. package/codex-lens/src/codexlens/parsers/__pycache__/encoding.cpython-313.pyc +0 -0
  1744. package/codex-lens/src/codexlens/parsers/__pycache__/factory.cpython-310.pyc +0 -0
  1745. package/codex-lens/src/codexlens/parsers/__pycache__/factory.cpython-312.pyc +0 -0
  1746. package/codex-lens/src/codexlens/parsers/__pycache__/factory.cpython-313.pyc +0 -0
  1747. package/codex-lens/src/codexlens/parsers/__pycache__/tokenizer.cpython-310.pyc +0 -0
  1748. package/codex-lens/src/codexlens/parsers/__pycache__/tokenizer.cpython-312.pyc +0 -0
  1749. package/codex-lens/src/codexlens/parsers/__pycache__/tokenizer.cpython-313.pyc +0 -0
  1750. package/codex-lens/src/codexlens/parsers/__pycache__/treesitter_parser.cpython-310.pyc +0 -0
  1751. package/codex-lens/src/codexlens/parsers/__pycache__/treesitter_parser.cpython-312.pyc +0 -0
  1752. package/codex-lens/src/codexlens/parsers/__pycache__/treesitter_parser.cpython-313.pyc +0 -0
  1753. package/codex-lens/src/codexlens/search/__pycache__/__init__.cpython-310.pyc +0 -0
  1754. package/codex-lens/src/codexlens/search/__pycache__/__init__.cpython-312.pyc +0 -0
  1755. package/codex-lens/src/codexlens/search/__pycache__/__init__.cpython-313.pyc +0 -0
  1756. package/codex-lens/src/codexlens/search/__pycache__/binary_searcher.cpython-313.pyc +0 -0
  1757. package/codex-lens/src/codexlens/search/__pycache__/chain_search.cpython-310.pyc +0 -0
  1758. package/codex-lens/src/codexlens/search/__pycache__/chain_search.cpython-312.pyc +0 -0
  1759. package/codex-lens/src/codexlens/search/__pycache__/chain_search.cpython-313.pyc +0 -0
  1760. package/codex-lens/src/codexlens/search/__pycache__/enrichment.cpython-313.pyc +0 -0
  1761. package/codex-lens/src/codexlens/search/__pycache__/graph_expander.cpython-313.pyc +0 -0
  1762. package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-310.pyc +0 -0
  1763. package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-312.pyc +0 -0
  1764. package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-313.pyc +0 -0
  1765. package/codex-lens/src/codexlens/search/__pycache__/query_parser.cpython-313.pyc +0 -0
  1766. package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-310.pyc +0 -0
  1767. package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-312.pyc +0 -0
  1768. package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-313.pyc +0 -0
  1769. package/codex-lens/src/codexlens/search/association_tree/__pycache__/__init__.cpython-313.pyc +0 -0
  1770. package/codex-lens/src/codexlens/search/association_tree/__pycache__/builder.cpython-313.pyc +0 -0
  1771. package/codex-lens/src/codexlens/search/association_tree/__pycache__/data_structures.cpython-313.pyc +0 -0
  1772. package/codex-lens/src/codexlens/search/association_tree/__pycache__/deduplicator.cpython-313.pyc +0 -0
  1773. package/codex-lens/src/codexlens/search/clustering/__pycache__/__init__.cpython-312.pyc +0 -0
  1774. package/codex-lens/src/codexlens/search/clustering/__pycache__/__init__.cpython-313.pyc +0 -0
  1775. package/codex-lens/src/codexlens/search/clustering/__pycache__/base.cpython-312.pyc +0 -0
  1776. package/codex-lens/src/codexlens/search/clustering/__pycache__/base.cpython-313.pyc +0 -0
  1777. package/codex-lens/src/codexlens/search/clustering/__pycache__/dbscan_strategy.cpython-313.pyc +0 -0
  1778. package/codex-lens/src/codexlens/search/clustering/__pycache__/factory.cpython-312.pyc +0 -0
  1779. package/codex-lens/src/codexlens/search/clustering/__pycache__/factory.cpython-313.pyc +0 -0
  1780. package/codex-lens/src/codexlens/search/clustering/__pycache__/frequency_strategy.cpython-312.pyc +0 -0
  1781. package/codex-lens/src/codexlens/search/clustering/__pycache__/frequency_strategy.cpython-313.pyc +0 -0
  1782. package/codex-lens/src/codexlens/search/clustering/__pycache__/hdbscan_strategy.cpython-313.pyc +0 -0
  1783. package/codex-lens/src/codexlens/search/clustering/__pycache__/noop_strategy.cpython-312.pyc +0 -0
  1784. package/codex-lens/src/codexlens/search/clustering/__pycache__/noop_strategy.cpython-313.pyc +0 -0
  1785. package/codex-lens/src/codexlens/semantic/SPLADE_IMPLEMENTATION.md +0 -225
  1786. package/codex-lens/src/codexlens/semantic/__pycache__/__init__.cpython-310.pyc +0 -0
  1787. package/codex-lens/src/codexlens/semantic/__pycache__/__init__.cpython-312.pyc +0 -0
  1788. package/codex-lens/src/codexlens/semantic/__pycache__/__init__.cpython-313.pyc +0 -0
  1789. package/codex-lens/src/codexlens/semantic/__pycache__/ann_index.cpython-310.pyc +0 -0
  1790. package/codex-lens/src/codexlens/semantic/__pycache__/ann_index.cpython-312.pyc +0 -0
  1791. package/codex-lens/src/codexlens/semantic/__pycache__/ann_index.cpython-313.pyc +0 -0
  1792. package/codex-lens/src/codexlens/semantic/__pycache__/base.cpython-310.pyc +0 -0
  1793. package/codex-lens/src/codexlens/semantic/__pycache__/base.cpython-312.pyc +0 -0
  1794. package/codex-lens/src/codexlens/semantic/__pycache__/base.cpython-313.pyc +0 -0
  1795. package/codex-lens/src/codexlens/semantic/__pycache__/chunker.cpython-310.pyc +0 -0
  1796. package/codex-lens/src/codexlens/semantic/__pycache__/chunker.cpython-312.pyc +0 -0
  1797. package/codex-lens/src/codexlens/semantic/__pycache__/chunker.cpython-313.pyc +0 -0
  1798. package/codex-lens/src/codexlens/semantic/__pycache__/code_extractor.cpython-313.pyc +0 -0
  1799. package/codex-lens/src/codexlens/semantic/__pycache__/embedder.cpython-310.pyc +0 -0
  1800. package/codex-lens/src/codexlens/semantic/__pycache__/embedder.cpython-312.pyc +0 -0
  1801. package/codex-lens/src/codexlens/semantic/__pycache__/embedder.cpython-313.pyc +0 -0
  1802. package/codex-lens/src/codexlens/semantic/__pycache__/factory.cpython-310.pyc +0 -0
  1803. package/codex-lens/src/codexlens/semantic/__pycache__/factory.cpython-312.pyc +0 -0
  1804. package/codex-lens/src/codexlens/semantic/__pycache__/factory.cpython-313.pyc +0 -0
  1805. package/codex-lens/src/codexlens/semantic/__pycache__/gpu_support.cpython-310.pyc +0 -0
  1806. package/codex-lens/src/codexlens/semantic/__pycache__/gpu_support.cpython-312.pyc +0 -0
  1807. package/codex-lens/src/codexlens/semantic/__pycache__/gpu_support.cpython-313.pyc +0 -0
  1808. package/codex-lens/src/codexlens/semantic/__pycache__/graph_analyzer.cpython-313.pyc +0 -0
  1809. package/codex-lens/src/codexlens/semantic/__pycache__/litellm_embedder.cpython-310.pyc +0 -0
  1810. package/codex-lens/src/codexlens/semantic/__pycache__/litellm_embedder.cpython-312.pyc +0 -0
  1811. package/codex-lens/src/codexlens/semantic/__pycache__/litellm_embedder.cpython-313.pyc +0 -0
  1812. package/codex-lens/src/codexlens/semantic/__pycache__/llm_enhancer.cpython-313.pyc +0 -0
  1813. package/codex-lens/src/codexlens/semantic/__pycache__/ollama_backend.cpython-313.pyc +0 -0
  1814. package/codex-lens/src/codexlens/semantic/__pycache__/reranker.cpython-313.pyc +0 -0
  1815. package/codex-lens/src/codexlens/semantic/__pycache__/splade_encoder.cpython-310.pyc +0 -0
  1816. package/codex-lens/src/codexlens/semantic/__pycache__/splade_encoder.cpython-312.pyc +0 -0
  1817. package/codex-lens/src/codexlens/semantic/__pycache__/splade_encoder.cpython-313.pyc +0 -0
  1818. package/codex-lens/src/codexlens/semantic/__pycache__/vector_store.cpython-310.pyc +0 -0
  1819. package/codex-lens/src/codexlens/semantic/__pycache__/vector_store.cpython-312.pyc +0 -0
  1820. package/codex-lens/src/codexlens/semantic/__pycache__/vector_store.cpython-313.pyc +0 -0
  1821. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/__init__.cpython-310.pyc +0 -0
  1822. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/__init__.cpython-312.pyc +0 -0
  1823. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/__init__.cpython-313.pyc +0 -0
  1824. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/api_reranker.cpython-310.pyc +0 -0
  1825. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/api_reranker.cpython-312.pyc +0 -0
  1826. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/api_reranker.cpython-313.pyc +0 -0
  1827. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/base.cpython-310.pyc +0 -0
  1828. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/base.cpython-312.pyc +0 -0
  1829. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/base.cpython-313.pyc +0 -0
  1830. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/factory.cpython-310.pyc +0 -0
  1831. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/factory.cpython-312.pyc +0 -0
  1832. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/factory.cpython-313.pyc +0 -0
  1833. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/fastembed_reranker.cpython-310.pyc +0 -0
  1834. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/fastembed_reranker.cpython-312.pyc +0 -0
  1835. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/fastembed_reranker.cpython-313.pyc +0 -0
  1836. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/legacy.cpython-310.pyc +0 -0
  1837. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/legacy.cpython-312.pyc +0 -0
  1838. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/legacy.cpython-313.pyc +0 -0
  1839. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/litellm_reranker.cpython-313.pyc +0 -0
  1840. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/onnx_reranker.cpython-310.pyc +0 -0
  1841. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/onnx_reranker.cpython-312.pyc +0 -0
  1842. package/codex-lens/src/codexlens/semantic/reranker/__pycache__/onnx_reranker.cpython-313.pyc +0 -0
  1843. package/codex-lens/src/codexlens/semantic/splade_encoder.py +0 -567
  1844. package/codex-lens/src/codexlens/storage/__pycache__/__init__.cpython-310.pyc +0 -0
  1845. package/codex-lens/src/codexlens/storage/__pycache__/__init__.cpython-312.pyc +0 -0
  1846. package/codex-lens/src/codexlens/storage/__pycache__/__init__.cpython-313.pyc +0 -0
  1847. package/codex-lens/src/codexlens/storage/__pycache__/dir_index.cpython-310.pyc +0 -0
  1848. package/codex-lens/src/codexlens/storage/__pycache__/dir_index.cpython-312.pyc +0 -0
  1849. package/codex-lens/src/codexlens/storage/__pycache__/dir_index.cpython-313.pyc +0 -0
  1850. package/codex-lens/src/codexlens/storage/__pycache__/file_cache.cpython-313.pyc +0 -0
  1851. package/codex-lens/src/codexlens/storage/__pycache__/global_index.cpython-310.pyc +0 -0
  1852. package/codex-lens/src/codexlens/storage/__pycache__/global_index.cpython-312.pyc +0 -0
  1853. package/codex-lens/src/codexlens/storage/__pycache__/global_index.cpython-313.pyc +0 -0
  1854. package/codex-lens/src/codexlens/storage/__pycache__/index_tree.cpython-310.pyc +0 -0
  1855. package/codex-lens/src/codexlens/storage/__pycache__/index_tree.cpython-312.pyc +0 -0
  1856. package/codex-lens/src/codexlens/storage/__pycache__/index_tree.cpython-313.pyc +0 -0
  1857. package/codex-lens/src/codexlens/storage/__pycache__/merkle_tree.cpython-313.pyc +0 -0
  1858. package/codex-lens/src/codexlens/storage/__pycache__/migration_manager.cpython-313.pyc +0 -0
  1859. package/codex-lens/src/codexlens/storage/__pycache__/path_mapper.cpython-310.pyc +0 -0
  1860. package/codex-lens/src/codexlens/storage/__pycache__/path_mapper.cpython-312.pyc +0 -0
  1861. package/codex-lens/src/codexlens/storage/__pycache__/path_mapper.cpython-313.pyc +0 -0
  1862. package/codex-lens/src/codexlens/storage/__pycache__/registry.cpython-310.pyc +0 -0
  1863. package/codex-lens/src/codexlens/storage/__pycache__/registry.cpython-312.pyc +0 -0
  1864. package/codex-lens/src/codexlens/storage/__pycache__/registry.cpython-313.pyc +0 -0
  1865. package/codex-lens/src/codexlens/storage/__pycache__/splade_index.cpython-310.pyc +0 -0
  1866. package/codex-lens/src/codexlens/storage/__pycache__/splade_index.cpython-312.pyc +0 -0
  1867. package/codex-lens/src/codexlens/storage/__pycache__/splade_index.cpython-313.pyc +0 -0
  1868. package/codex-lens/src/codexlens/storage/__pycache__/sqlite_store.cpython-310.pyc +0 -0
  1869. package/codex-lens/src/codexlens/storage/__pycache__/sqlite_store.cpython-312.pyc +0 -0
  1870. package/codex-lens/src/codexlens/storage/__pycache__/sqlite_store.cpython-313.pyc +0 -0
  1871. package/codex-lens/src/codexlens/storage/__pycache__/sqlite_utils.cpython-310.pyc +0 -0
  1872. package/codex-lens/src/codexlens/storage/__pycache__/sqlite_utils.cpython-312.pyc +0 -0
  1873. package/codex-lens/src/codexlens/storage/__pycache__/sqlite_utils.cpython-313.pyc +0 -0
  1874. package/codex-lens/src/codexlens/storage/__pycache__/vector_meta_store.cpython-310.pyc +0 -0
  1875. package/codex-lens/src/codexlens/storage/__pycache__/vector_meta_store.cpython-312.pyc +0 -0
  1876. package/codex-lens/src/codexlens/storage/__pycache__/vector_meta_store.cpython-313.pyc +0 -0
  1877. package/codex-lens/src/codexlens/storage/migrations/__pycache__/__init__.cpython-310.pyc +0 -0
  1878. package/codex-lens/src/codexlens/storage/migrations/__pycache__/__init__.cpython-312.pyc +0 -0
  1879. package/codex-lens/src/codexlens/storage/migrations/__pycache__/__init__.cpython-313.pyc +0 -0
  1880. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_001_normalize_keywords.cpython-313.pyc +0 -0
  1881. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_002_add_token_metadata.cpython-313.pyc +0 -0
  1882. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_003_code_relationships.cpython-313.pyc +0 -0
  1883. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_004_dual_fts.cpython-313.pyc +0 -0
  1884. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_005_cleanup_unused_fields.cpython-313.pyc +0 -0
  1885. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_006_enhance_relationships.cpython-313.pyc +0 -0
  1886. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_007_add_graph_neighbors.cpython-310.pyc +0 -0
  1887. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_007_add_graph_neighbors.cpython-312.pyc +0 -0
  1888. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_007_add_graph_neighbors.cpython-313.pyc +0 -0
  1889. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_008_add_merkle_hashes.cpython-313.pyc +0 -0
  1890. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_009_add_splade.cpython-313.pyc +0 -0
  1891. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_010_add_multi_vector_chunks.cpython-313.pyc +0 -0
  1892. package/codex-lens/src/codexlens/storage/migrations/migration_009_add_splade.py +0 -103
  1893. package/codex-lens/src/codexlens/storage/splade_index.py +0 -578
  1894. package/codex-lens/src/codexlens/watcher/__pycache__/__init__.cpython-310.pyc +0 -0
  1895. package/codex-lens/src/codexlens/watcher/__pycache__/__init__.cpython-312.pyc +0 -0
  1896. package/codex-lens/src/codexlens/watcher/__pycache__/__init__.cpython-313.pyc +0 -0
  1897. package/codex-lens/src/codexlens/watcher/__pycache__/events.cpython-310.pyc +0 -0
  1898. package/codex-lens/src/codexlens/watcher/__pycache__/events.cpython-312.pyc +0 -0
  1899. package/codex-lens/src/codexlens/watcher/__pycache__/events.cpython-313.pyc +0 -0
  1900. package/codex-lens/src/codexlens/watcher/__pycache__/file_watcher.cpython-310.pyc +0 -0
  1901. package/codex-lens/src/codexlens/watcher/__pycache__/file_watcher.cpython-312.pyc +0 -0
  1902. package/codex-lens/src/codexlens/watcher/__pycache__/file_watcher.cpython-313.pyc +0 -0
  1903. package/codex-lens/src/codexlens/watcher/__pycache__/incremental_indexer.cpython-310.pyc +0 -0
  1904. package/codex-lens/src/codexlens/watcher/__pycache__/incremental_indexer.cpython-312.pyc +0 -0
  1905. package/codex-lens/src/codexlens/watcher/__pycache__/incremental_indexer.cpython-313.pyc +0 -0
  1906. package/codex-lens/src/codexlens/watcher/__pycache__/manager.cpython-310.pyc +0 -0
  1907. package/codex-lens/src/codexlens/watcher/__pycache__/manager.cpython-312.pyc +0 -0
  1908. package/codex-lens/src/codexlens/watcher/__pycache__/manager.cpython-313.pyc +0 -0
@@ -0,0 +1,953 @@
1
+ // ========================================
2
+ // Remote Notification Service
3
+ // ========================================
4
+ // Core service for dispatching notifications to external platforms
5
+ // Non-blocking, best-effort delivery with parallel dispatch
6
+ import http from 'http';
7
+ import https from 'https';
8
+ import { URL } from 'url';
9
+ import { loadConfig, getEnabledPlatformsForEvent, } from '../../config/remote-notification-config.js';
10
+ /**
11
+ * Remote Notification Service
12
+ * Handles dispatching notifications to configured platforms
13
+ */
14
+ class RemoteNotificationService {
15
+ config = null;
16
+ configLoadedAt = 0;
17
+ CONFIG_TTL = 30000; // Reload config every 30 seconds
18
+ /**
19
+ * Get current config (with auto-reload)
20
+ */
21
+ getConfig() {
22
+ const now = Date.now();
23
+ if (!this.config || now - this.configLoadedAt > this.CONFIG_TTL) {
24
+ this.config = loadConfig();
25
+ this.configLoadedAt = now;
26
+ }
27
+ return this.config;
28
+ }
29
+ /**
30
+ * Force reload configuration
31
+ */
32
+ reloadConfig() {
33
+ this.config = loadConfig();
34
+ this.configLoadedAt = Date.now();
35
+ }
36
+ /**
37
+ * Check if notifications are enabled for a given event
38
+ */
39
+ shouldNotify(eventType) {
40
+ const config = this.getConfig();
41
+ if (!config.enabled)
42
+ return false;
43
+ const enabledPlatforms = getEnabledPlatformsForEvent(config, eventType);
44
+ return enabledPlatforms.length > 0;
45
+ }
46
+ /**
47
+ * Send notification to all configured platforms for an event
48
+ * Non-blocking: returns immediately, actual dispatch is async
49
+ */
50
+ sendNotification(eventType, context) {
51
+ const config = this.getConfig();
52
+ // Quick check before async dispatch
53
+ if (!config.enabled)
54
+ return;
55
+ const enabledPlatforms = getEnabledPlatformsForEvent(config, eventType);
56
+ if (enabledPlatforms.length === 0)
57
+ return;
58
+ const fullContext = {
59
+ ...context,
60
+ eventType: eventType,
61
+ timestamp: new Date().toISOString(),
62
+ };
63
+ // Fire-and-forget dispatch
64
+ this.dispatchToPlatforms(enabledPlatforms, fullContext, config).catch((error) => {
65
+ // Silent failure - log only
66
+ console.error('[RemoteNotification] Dispatch failed:', error);
67
+ });
68
+ }
69
+ /**
70
+ * Send notification and wait for results (for testing)
71
+ */
72
+ async sendNotificationAsync(eventType, context) {
73
+ const config = this.getConfig();
74
+ const startTime = Date.now();
75
+ if (!config.enabled) {
76
+ return { success: false, results: [], totalTime: 0 };
77
+ }
78
+ const enabledPlatforms = getEnabledPlatformsForEvent(config, eventType);
79
+ if (enabledPlatforms.length === 0) {
80
+ return { success: false, results: [], totalTime: Date.now() - startTime };
81
+ }
82
+ const fullContext = {
83
+ ...context,
84
+ eventType: eventType,
85
+ timestamp: new Date().toISOString(),
86
+ };
87
+ const results = await this.dispatchToPlatforms(enabledPlatforms, fullContext, config);
88
+ return {
89
+ success: results.some((r) => r.success),
90
+ results,
91
+ totalTime: Date.now() - startTime,
92
+ };
93
+ }
94
+ /**
95
+ * Dispatch to multiple platforms in parallel
96
+ */
97
+ async dispatchToPlatforms(platforms, context, config) {
98
+ const promises = platforms.map((platform) => this.dispatchToPlatform(platform, context, config));
99
+ const results = await Promise.allSettled(promises);
100
+ return results.map((result, index) => {
101
+ if (result.status === 'fulfilled') {
102
+ return result.value;
103
+ }
104
+ return {
105
+ platform: platforms[index],
106
+ success: false,
107
+ error: result.reason?.message || 'Unknown error',
108
+ };
109
+ });
110
+ }
111
+ /**
112
+ * Dispatch to a single platform
113
+ */
114
+ async dispatchToPlatform(platform, context, config) {
115
+ const startTime = Date.now();
116
+ try {
117
+ switch (platform) {
118
+ case 'discord':
119
+ return await this.sendDiscord(context, config.platforms.discord, config.timeout);
120
+ case 'telegram':
121
+ return await this.sendTelegram(context, config.platforms.telegram, config.timeout);
122
+ case 'webhook':
123
+ return await this.sendWebhook(context, config.platforms.webhook, config.timeout);
124
+ case 'feishu':
125
+ return await this.sendFeishu(context, config.platforms.feishu, config.timeout);
126
+ case 'dingtalk':
127
+ return await this.sendDingTalk(context, config.platforms.dingtalk, config.timeout);
128
+ case 'wecom':
129
+ return await this.sendWeCom(context, config.platforms.wecom, config.timeout);
130
+ case 'email':
131
+ return await this.sendEmail(context, config.platforms.email, config.timeout);
132
+ default:
133
+ return {
134
+ platform,
135
+ success: false,
136
+ error: `Unknown platform: ${platform}`,
137
+ };
138
+ }
139
+ }
140
+ catch (error) {
141
+ return {
142
+ platform,
143
+ success: false,
144
+ error: error instanceof Error ? error.message : String(error),
145
+ responseTime: Date.now() - startTime,
146
+ };
147
+ }
148
+ }
149
+ /**
150
+ * Send Discord notification via webhook
151
+ */
152
+ async sendDiscord(context, config, timeout) {
153
+ const startTime = Date.now();
154
+ if (!config.webhookUrl) {
155
+ return { platform: 'discord', success: false, error: 'Webhook URL not configured' };
156
+ }
157
+ const embed = this.buildDiscordEmbed(context);
158
+ const body = {
159
+ username: config.username || 'CCW Notification',
160
+ avatar_url: config.avatarUrl,
161
+ embeds: [embed],
162
+ };
163
+ try {
164
+ await this.httpRequest(config.webhookUrl, body, timeout);
165
+ return {
166
+ platform: 'discord',
167
+ success: true,
168
+ responseTime: Date.now() - startTime,
169
+ };
170
+ }
171
+ catch (error) {
172
+ return {
173
+ platform: 'discord',
174
+ success: false,
175
+ error: error instanceof Error ? error.message : String(error),
176
+ responseTime: Date.now() - startTime,
177
+ };
178
+ }
179
+ }
180
+ /**
181
+ * Build Discord embed from context
182
+ */
183
+ buildDiscordEmbed(context) {
184
+ const eventEmoji = {
185
+ 'ask-user-question': '❓',
186
+ 'session-start': '▶️',
187
+ 'session-end': '⏹️',
188
+ 'task-completed': '✅',
189
+ 'task-failed': '❌',
190
+ };
191
+ const eventColors = {
192
+ 'ask-user-question': 0x3498db, // Blue
193
+ 'session-start': 0x2ecc71, // Green
194
+ 'session-end': 0x95a5a6, // Gray
195
+ 'task-completed': 0x27ae60, // Dark Green
196
+ 'task-failed': 0xe74c3c, // Red
197
+ };
198
+ const fields = [];
199
+ if (context.sessionId) {
200
+ fields.push({ name: 'Session', value: context.sessionId.slice(0, 16) + '...', inline: true });
201
+ }
202
+ if (context.questionText) {
203
+ const truncated = context.questionText.length > 200
204
+ ? context.questionText.slice(0, 200) + '...'
205
+ : context.questionText;
206
+ fields.push({ name: 'Question', value: truncated, inline: false });
207
+ }
208
+ if (context.taskDescription) {
209
+ const truncated = context.taskDescription.length > 200
210
+ ? context.taskDescription.slice(0, 200) + '...'
211
+ : context.taskDescription;
212
+ fields.push({ name: 'Task', value: truncated, inline: false });
213
+ }
214
+ if (context.errorMessage) {
215
+ const truncated = context.errorMessage.length > 200
216
+ ? context.errorMessage.slice(0, 200) + '...'
217
+ : context.errorMessage;
218
+ fields.push({ name: 'Error', value: truncated, inline: false });
219
+ }
220
+ return {
221
+ title: `${eventEmoji[context.eventType] || '📢'} ${this.formatEventName(context.eventType)}`,
222
+ color: eventColors[context.eventType] || 0x9b59b6,
223
+ fields,
224
+ timestamp: context.timestamp,
225
+ footer: { text: 'CCW Remote Notification' },
226
+ };
227
+ }
228
+ /**
229
+ * Send Telegram notification via Bot API
230
+ */
231
+ async sendTelegram(context, config, timeout) {
232
+ const startTime = Date.now();
233
+ if (!config.botToken || !config.chatId) {
234
+ return { platform: 'telegram', success: false, error: 'Bot token or chat ID not configured' };
235
+ }
236
+ const text = this.buildTelegramMessage(context);
237
+ const url = `https://api.telegram.org/bot${config.botToken}/sendMessage`;
238
+ const body = {
239
+ chat_id: config.chatId,
240
+ text,
241
+ parse_mode: config.parseMode || 'HTML',
242
+ };
243
+ try {
244
+ await this.httpRequest(url, body, timeout);
245
+ return {
246
+ platform: 'telegram',
247
+ success: true,
248
+ responseTime: Date.now() - startTime,
249
+ };
250
+ }
251
+ catch (error) {
252
+ return {
253
+ platform: 'telegram',
254
+ success: false,
255
+ error: error instanceof Error ? error.message : String(error),
256
+ responseTime: Date.now() - startTime,
257
+ };
258
+ }
259
+ }
260
+ /**
261
+ * Build Telegram message from context
262
+ */
263
+ buildTelegramMessage(context) {
264
+ const eventEmoji = {
265
+ 'ask-user-question': '❓',
266
+ 'session-start': '▶️',
267
+ 'session-end': '⏹️',
268
+ 'task-completed': '✅',
269
+ 'task-failed': '❌',
270
+ };
271
+ const lines = [];
272
+ lines.push(`<b>${eventEmoji[context.eventType] || '📢'} ${this.formatEventName(context.eventType)}</b>`);
273
+ lines.push('');
274
+ if (context.sessionId) {
275
+ lines.push(`<b>Session:</b> <code>${context.sessionId.slice(0, 16)}...</code>`);
276
+ }
277
+ if (context.questionText) {
278
+ const truncated = context.questionText.length > 300
279
+ ? context.questionText.slice(0, 300) + '...'
280
+ : context.questionText;
281
+ lines.push(`<b>Question:</b> ${this.escapeHtml(truncated)}`);
282
+ }
283
+ if (context.taskDescription) {
284
+ const truncated = context.taskDescription.length > 300
285
+ ? context.taskDescription.slice(0, 300) + '...'
286
+ : context.taskDescription;
287
+ lines.push(`<b>Task:</b> ${this.escapeHtml(truncated)}`);
288
+ }
289
+ if (context.errorMessage) {
290
+ const truncated = context.errorMessage.length > 300
291
+ ? context.errorMessage.slice(0, 300) + '...'
292
+ : context.errorMessage;
293
+ lines.push(`<b>Error:</b> <code>${this.escapeHtml(truncated)}</code>`);
294
+ }
295
+ lines.push('');
296
+ lines.push(`<i>📅 ${new Date(context.timestamp).toLocaleString()}</i>`);
297
+ return lines.join('\n');
298
+ }
299
+ /**
300
+ * Send generic webhook notification
301
+ */
302
+ async sendWebhook(context, config, timeout) {
303
+ const startTime = Date.now();
304
+ if (!config.url) {
305
+ return { platform: 'webhook', success: false, error: 'Webhook URL not configured' };
306
+ }
307
+ const body = {
308
+ event: context.eventType,
309
+ timestamp: context.timestamp,
310
+ sessionId: context.sessionId,
311
+ questionText: context.questionText,
312
+ taskDescription: context.taskDescription,
313
+ errorMessage: context.errorMessage,
314
+ metadata: context.metadata,
315
+ };
316
+ try {
317
+ await this.httpRequest(config.url, body, config.timeout || timeout, config.method, config.headers);
318
+ return {
319
+ platform: 'webhook',
320
+ success: true,
321
+ responseTime: Date.now() - startTime,
322
+ };
323
+ }
324
+ catch (error) {
325
+ return {
326
+ platform: 'webhook',
327
+ success: false,
328
+ error: error instanceof Error ? error.message : String(error),
329
+ responseTime: Date.now() - startTime,
330
+ };
331
+ }
332
+ }
333
+ /**
334
+ * Send Feishu notification via webhook
335
+ * Supports both rich card format and simple text format
336
+ */
337
+ async sendFeishu(context, config, timeout) {
338
+ const startTime = Date.now();
339
+ if (!config.webhookUrl) {
340
+ return { platform: 'feishu', success: false, error: 'Webhook URL not configured' };
341
+ }
342
+ const useCard = config.useCard !== false; // Default to true
343
+ try {
344
+ let body;
345
+ if (useCard) {
346
+ // Rich card format
347
+ const card = this.buildFeishuCard(context, config);
348
+ body = {
349
+ msg_type: 'interactive',
350
+ card,
351
+ };
352
+ }
353
+ else {
354
+ // Simple text format
355
+ const text = this.buildFeishuText(context);
356
+ body = {
357
+ msg_type: 'post',
358
+ content: {
359
+ post: {
360
+ zh_cn: {
361
+ title: config.title || 'CCW Notification',
362
+ content: [[{ tag: 'text', text }]],
363
+ },
364
+ },
365
+ },
366
+ };
367
+ }
368
+ await this.httpRequest(config.webhookUrl, body, timeout);
369
+ return {
370
+ platform: 'feishu',
371
+ success: true,
372
+ responseTime: Date.now() - startTime,
373
+ };
374
+ }
375
+ catch (error) {
376
+ return {
377
+ platform: 'feishu',
378
+ success: false,
379
+ error: error instanceof Error ? error.message : String(error),
380
+ responseTime: Date.now() - startTime,
381
+ };
382
+ }
383
+ }
384
+ /**
385
+ * Build Feishu interactive card from context
386
+ */
387
+ buildFeishuCard(context, config) {
388
+ const elements = [];
389
+ // Add event type as header
390
+ elements.push({
391
+ tag: 'markdown',
392
+ content: `**${this.formatEventName(context.eventType)}**`,
393
+ text_align: 'left',
394
+ text_size: 'normal_v2',
395
+ });
396
+ // Add session info
397
+ if (context.sessionId) {
398
+ elements.push({
399
+ tag: 'markdown',
400
+ content: `**Session:** ${context.sessionId.slice(0, 16)}...`,
401
+ text_align: 'left',
402
+ text_size: 'normal_v2',
403
+ });
404
+ }
405
+ // Add question text
406
+ if (context.questionText) {
407
+ const truncated = context.questionText.length > 300
408
+ ? context.questionText.slice(0, 300) + '...'
409
+ : context.questionText;
410
+ elements.push({
411
+ tag: 'markdown',
412
+ content: `**Question:** ${this.escapeFeishuMarkdown(truncated)}`,
413
+ text_align: 'left',
414
+ text_size: 'normal_v2',
415
+ });
416
+ }
417
+ // Add task description
418
+ if (context.taskDescription) {
419
+ const truncated = context.taskDescription.length > 300
420
+ ? context.taskDescription.slice(0, 300) + '...'
421
+ : context.taskDescription;
422
+ elements.push({
423
+ tag: 'markdown',
424
+ content: `**Task:** ${this.escapeFeishuMarkdown(truncated)}`,
425
+ text_align: 'left',
426
+ text_size: 'normal_v2',
427
+ });
428
+ }
429
+ // Add error message
430
+ if (context.errorMessage) {
431
+ const truncated = context.errorMessage.length > 300
432
+ ? context.errorMessage.slice(0, 300) + '...'
433
+ : context.errorMessage;
434
+ elements.push({
435
+ tag: 'markdown',
436
+ content: `**Error:** ${this.escapeFeishuMarkdown(truncated)}`,
437
+ text_align: 'left',
438
+ text_size: 'normal_v2',
439
+ });
440
+ }
441
+ // Add timestamp
442
+ elements.push({
443
+ tag: 'markdown',
444
+ content: `**Time:** ${new Date(context.timestamp).toLocaleString()}`,
445
+ text_align: 'left',
446
+ text_size: 'normal_v2',
447
+ });
448
+ return {
449
+ schema: '2.0',
450
+ config: {
451
+ update_multi: true,
452
+ style: {
453
+ text_size: {
454
+ normal_v2: {
455
+ default: 'normal',
456
+ pc: 'normal',
457
+ mobile: 'heading',
458
+ },
459
+ },
460
+ },
461
+ },
462
+ header: {
463
+ title: {
464
+ tag: 'plain_text',
465
+ content: config.title || 'CCW Notification',
466
+ },
467
+ template: 'wathet',
468
+ padding: '12px 12px 12px 12px',
469
+ },
470
+ body: {
471
+ direction: 'vertical',
472
+ horizontal_spacing: '8px',
473
+ vertical_spacing: '8px',
474
+ horizontal_align: 'left',
475
+ vertical_align: 'top',
476
+ padding: '12px 12px 12px 12px',
477
+ elements,
478
+ },
479
+ };
480
+ }
481
+ /**
482
+ * Build Feishu simple text message
483
+ */
484
+ buildFeishuText(context) {
485
+ const lines = [];
486
+ lines.push(`Event: ${this.formatEventName(context.eventType)}`);
487
+ if (context.sessionId) {
488
+ lines.push(`Session: ${context.sessionId.slice(0, 16)}...`);
489
+ }
490
+ if (context.questionText) {
491
+ const truncated = context.questionText.length > 200
492
+ ? context.questionText.slice(0, 200) + '...'
493
+ : context.questionText;
494
+ lines.push(`Question: ${truncated}`);
495
+ }
496
+ if (context.taskDescription) {
497
+ const truncated = context.taskDescription.length > 200
498
+ ? context.taskDescription.slice(0, 200) + '...'
499
+ : context.taskDescription;
500
+ lines.push(`Task: ${truncated}`);
501
+ }
502
+ if (context.errorMessage) {
503
+ const truncated = context.errorMessage.length > 200
504
+ ? context.errorMessage.slice(0, 200) + '...'
505
+ : context.errorMessage;
506
+ lines.push(`Error: ${truncated}`);
507
+ }
508
+ lines.push(`Time: ${new Date(context.timestamp).toLocaleString()}`);
509
+ return lines.join('\n');
510
+ }
511
+ /**
512
+ * Escape special characters for Feishu markdown
513
+ */
514
+ escapeFeishuMarkdown(text) {
515
+ return text
516
+ .replace(/</g, '&lt;')
517
+ .replace(/>/g, '&gt;');
518
+ }
519
+ /**
520
+ * Send DingTalk notification via webhook
521
+ */
522
+ async sendDingTalk(context, config, timeout) {
523
+ const startTime = Date.now();
524
+ if (!config.webhookUrl) {
525
+ return { platform: 'dingtalk', success: false, error: 'Webhook URL not configured' };
526
+ }
527
+ const text = this.buildDingTalkText(context, config.keywords);
528
+ const body = {
529
+ msgtype: 'text',
530
+ text: {
531
+ content: text,
532
+ },
533
+ };
534
+ try {
535
+ await this.httpRequest(config.webhookUrl, body, timeout);
536
+ return {
537
+ platform: 'dingtalk',
538
+ success: true,
539
+ responseTime: Date.now() - startTime,
540
+ };
541
+ }
542
+ catch (error) {
543
+ return {
544
+ platform: 'dingtalk',
545
+ success: false,
546
+ error: error instanceof Error ? error.message : String(error),
547
+ responseTime: Date.now() - startTime,
548
+ };
549
+ }
550
+ }
551
+ /**
552
+ * Build DingTalk text message
553
+ */
554
+ buildDingTalkText(context, keywords) {
555
+ const lines = [];
556
+ // Add keywords at the beginning if configured (for security check)
557
+ if (keywords && keywords.length > 0) {
558
+ lines.push(`[${keywords[0]}]`);
559
+ }
560
+ lines.push(`Event: ${this.formatEventName(context.eventType)}`);
561
+ if (context.sessionId) {
562
+ lines.push(`Session: ${context.sessionId.slice(0, 16)}...`);
563
+ }
564
+ if (context.questionText) {
565
+ const truncated = context.questionText.length > 200
566
+ ? context.questionText.slice(0, 200) + '...'
567
+ : context.questionText;
568
+ lines.push(`Question: ${truncated}`);
569
+ }
570
+ if (context.taskDescription) {
571
+ const truncated = context.taskDescription.length > 200
572
+ ? context.taskDescription.slice(0, 200) + '...'
573
+ : context.taskDescription;
574
+ lines.push(`Task: ${truncated}`);
575
+ }
576
+ if (context.errorMessage) {
577
+ const truncated = context.errorMessage.length > 200
578
+ ? context.errorMessage.slice(0, 200) + '...'
579
+ : context.errorMessage;
580
+ lines.push(`Error: ${truncated}`);
581
+ }
582
+ lines.push(`Time: ${new Date(context.timestamp).toLocaleString()}`);
583
+ return lines.join('\n');
584
+ }
585
+ /**
586
+ * Send WeCom (WeChat Work) notification via webhook
587
+ */
588
+ async sendWeCom(context, config, timeout) {
589
+ const startTime = Date.now();
590
+ if (!config.webhookUrl) {
591
+ return { platform: 'wecom', success: false, error: 'Webhook URL not configured' };
592
+ }
593
+ const markdown = this.buildWeComMarkdown(context);
594
+ const body = {
595
+ msgtype: 'markdown',
596
+ markdown: {
597
+ content: markdown,
598
+ },
599
+ };
600
+ // Add mentioned list if configured
601
+ if (config.mentionedList && config.mentionedList.length > 0) {
602
+ body.text = {
603
+ content: markdown,
604
+ mentioned_list: config.mentionedList,
605
+ };
606
+ }
607
+ try {
608
+ await this.httpRequest(config.webhookUrl, body, timeout);
609
+ return {
610
+ platform: 'wecom',
611
+ success: true,
612
+ responseTime: Date.now() - startTime,
613
+ };
614
+ }
615
+ catch (error) {
616
+ return {
617
+ platform: 'wecom',
618
+ success: false,
619
+ error: error instanceof Error ? error.message : String(error),
620
+ responseTime: Date.now() - startTime,
621
+ };
622
+ }
623
+ }
624
+ /**
625
+ * Build WeCom markdown message
626
+ */
627
+ buildWeComMarkdown(context) {
628
+ const lines = [];
629
+ lines.push(`### ${this.formatEventName(context.eventType)}`);
630
+ lines.push('');
631
+ if (context.sessionId) {
632
+ lines.push(`> Session: \`${context.sessionId.slice(0, 16)}...\``);
633
+ }
634
+ if (context.questionText) {
635
+ const truncated = context.questionText.length > 200
636
+ ? context.questionText.slice(0, 200) + '...'
637
+ : context.questionText;
638
+ lines.push(`**Question:** ${truncated}`);
639
+ }
640
+ if (context.taskDescription) {
641
+ const truncated = context.taskDescription.length > 200
642
+ ? context.taskDescription.slice(0, 200) + '...'
643
+ : context.taskDescription;
644
+ lines.push(`**Task:** ${truncated}`);
645
+ }
646
+ if (context.errorMessage) {
647
+ const truncated = context.errorMessage.length > 200
648
+ ? context.errorMessage.slice(0, 200) + '...'
649
+ : context.errorMessage;
650
+ lines.push(`**Error:** <font color="warning">${truncated}</font>`);
651
+ }
652
+ lines.push('');
653
+ lines.push(`Time: ${new Date(context.timestamp).toLocaleString()}`);
654
+ return lines.join('\n');
655
+ }
656
+ /**
657
+ * Send Email notification via SMTP
658
+ */
659
+ async sendEmail(context, config, timeout) {
660
+ const startTime = Date.now();
661
+ if (!config.host || !config.username || !config.password || !config.from || !config.to || config.to.length === 0) {
662
+ return { platform: 'email', success: false, error: 'Email configuration incomplete (host, username, password, from, to required)' };
663
+ }
664
+ try {
665
+ // Dynamic import for nodemailer (optional dependency)
666
+ const nodemailer = await this.loadNodemailer();
667
+ const transporter = nodemailer.createTransport({
668
+ host: config.host,
669
+ port: config.port || 465,
670
+ secure: config.secure !== false, // Default to true for port 465
671
+ auth: {
672
+ user: config.username,
673
+ pass: config.password,
674
+ },
675
+ });
676
+ const { subject, html } = this.buildEmailContent(context);
677
+ // Set timeout for email sending
678
+ await Promise.race([
679
+ transporter.sendMail({
680
+ from: config.from,
681
+ to: config.to.join(', '),
682
+ subject,
683
+ html,
684
+ }),
685
+ new Promise((_, reject) => setTimeout(() => reject(new Error('Email send timeout')), timeout)),
686
+ ]);
687
+ return {
688
+ platform: 'email',
689
+ success: true,
690
+ responseTime: Date.now() - startTime,
691
+ };
692
+ }
693
+ catch (error) {
694
+ return {
695
+ platform: 'email',
696
+ success: false,
697
+ error: error instanceof Error ? error.message : String(error),
698
+ responseTime: Date.now() - startTime,
699
+ };
700
+ }
701
+ }
702
+ /**
703
+ * Load nodemailer module (optional dependency)
704
+ */
705
+ async loadNodemailer() {
706
+ try {
707
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
708
+ return require('nodemailer');
709
+ }
710
+ catch {
711
+ throw new Error('nodemailer not installed. Run: npm install nodemailer');
712
+ }
713
+ }
714
+ /**
715
+ * Build email subject and HTML content
716
+ */
717
+ buildEmailContent(context) {
718
+ const subject = `[CCW] ${this.formatEventName(context.eventType)}`;
719
+ const htmlParts = [];
720
+ htmlParts.push('<!DOCTYPE html>');
721
+ htmlParts.push('<html>');
722
+ htmlParts.push('<head>');
723
+ htmlParts.push('<meta charset="utf-8">');
724
+ htmlParts.push('<style>');
725
+ htmlParts.push('body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; line-height: 1.6; color: #333; }');
726
+ htmlParts.push('.container { max-width: 600px; margin: 0 auto; padding: 20px; }');
727
+ htmlParts.push('.header { background: #4a90d9; color: white; padding: 20px; border-radius: 8px 8px 0 0; }');
728
+ htmlParts.push('.content { background: #f9f9f9; padding: 20px; border: 1px solid #ddd; }');
729
+ htmlParts.push('.field { margin-bottom: 15px; }');
730
+ htmlParts.push('.label { font-weight: bold; color: #555; }');
731
+ htmlParts.push('.value { margin-top: 5px; }');
732
+ htmlParts.push('.error { background: #fff3f3; border-left: 4px solid #e74c3c; padding: 10px; }');
733
+ htmlParts.push('.footer { text-align: center; color: #888; font-size: 12px; margin-top: 20px; }');
734
+ htmlParts.push('</style>');
735
+ htmlParts.push('</head>');
736
+ htmlParts.push('<body>');
737
+ htmlParts.push('<div class="container">');
738
+ // Header
739
+ htmlParts.push('<div class="header">');
740
+ htmlParts.push(`<h2 style="margin: 0;">${this.formatEventName(context.eventType)}</h2>`);
741
+ htmlParts.push('</div>');
742
+ // Content
743
+ htmlParts.push('<div class="content">');
744
+ if (context.sessionId) {
745
+ htmlParts.push('<div class="field">');
746
+ htmlParts.push('<div class="label">Session</div>');
747
+ htmlParts.push(`<div class="value"><code>${context.sessionId}</code></div>`);
748
+ htmlParts.push('</div>');
749
+ }
750
+ if (context.questionText) {
751
+ const truncated = context.questionText.length > 500
752
+ ? context.questionText.slice(0, 500) + '...'
753
+ : context.questionText;
754
+ htmlParts.push('<div class="field">');
755
+ htmlParts.push('<div class="label">Question</div>');
756
+ htmlParts.push(`<div class="value">${this.escapeHtml(truncated).replace(/\n/g, '<br>')}</div>`);
757
+ htmlParts.push('</div>');
758
+ }
759
+ if (context.taskDescription) {
760
+ const truncated = context.taskDescription.length > 500
761
+ ? context.taskDescription.slice(0, 500) + '...'
762
+ : context.taskDescription;
763
+ htmlParts.push('<div class="field">');
764
+ htmlParts.push('<div class="label">Task</div>');
765
+ htmlParts.push(`<div class="value">${this.escapeHtml(truncated).replace(/\n/g, '<br>')}</div>`);
766
+ htmlParts.push('</div>');
767
+ }
768
+ if (context.errorMessage) {
769
+ const truncated = context.errorMessage.length > 500
770
+ ? context.errorMessage.slice(0, 500) + '...'
771
+ : context.errorMessage;
772
+ htmlParts.push('<div class="field">');
773
+ htmlParts.push('<div class="label">Error</div>');
774
+ htmlParts.push(`<div class="value error">${this.escapeHtml(truncated).replace(/\n/g, '<br>')}</div>`);
775
+ htmlParts.push('</div>');
776
+ }
777
+ htmlParts.push('<div class="field">');
778
+ htmlParts.push('<div class="label">Timestamp</div>');
779
+ htmlParts.push(`<div class="value">${new Date(context.timestamp).toLocaleString()}</div>`);
780
+ htmlParts.push('</div>');
781
+ htmlParts.push('</div>'); // content
782
+ // Footer
783
+ htmlParts.push('<div class="footer">');
784
+ htmlParts.push('Sent by CCW Remote Notification System');
785
+ htmlParts.push('</div>');
786
+ htmlParts.push('</div>'); // container
787
+ htmlParts.push('</body>');
788
+ htmlParts.push('</html>');
789
+ return { subject, html: htmlParts.join('\n') };
790
+ }
791
+ /**
792
+ * Check if a URL is safe from SSRF attacks
793
+ * Blocks private IP ranges, loopback, and link-local addresses
794
+ */
795
+ isUrlSafe(urlString) {
796
+ try {
797
+ const parsedUrl = new URL(urlString);
798
+ // Only allow http and https protocols
799
+ if (!['http:', 'https:'].includes(parsedUrl.protocol)) {
800
+ return { safe: false, error: 'Only http and https protocols are allowed' };
801
+ }
802
+ const hostname = parsedUrl.hostname.toLowerCase();
803
+ // Block localhost variants
804
+ if (hostname === 'localhost' || hostname === 'localhost.localdomain' || hostname === '0.0.0.0') {
805
+ return { safe: false, error: 'Localhost addresses are not allowed' };
806
+ }
807
+ // Block IPv4 loopback (127.0.0.0/8)
808
+ if (/^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(hostname)) {
809
+ return { safe: false, error: 'Loopback addresses are not allowed' };
810
+ }
811
+ // Block IPv4 private ranges
812
+ // 10.0.0.0/8
813
+ if (/^10\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(hostname)) {
814
+ return { safe: false, error: 'Private IP addresses are not allowed' };
815
+ }
816
+ // 172.16.0.0/12
817
+ if (/^172\.(1[6-9]|2\d|3[01])\.\d{1,3}\.\d{1,3}$/.test(hostname)) {
818
+ return { safe: false, error: 'Private IP addresses are not allowed' };
819
+ }
820
+ // 192.168.0.0/16
821
+ if (/^192\.168\.\d{1,3}\.\d{1,3}$/.test(hostname)) {
822
+ return { safe: false, error: 'Private IP addresses are not allowed' };
823
+ }
824
+ // Block link-local addresses (169.254.0.0/16)
825
+ if (/^169\.254\.\d{1,3}\.\d{1,3}$/.test(hostname)) {
826
+ return { safe: false, error: 'Link-local addresses are not allowed' };
827
+ }
828
+ // Block IPv6 loopback and private
829
+ if (hostname === '::1' || hostname.startsWith('fc') || hostname.startsWith('fd') || hostname === '::') {
830
+ return { safe: false, error: 'IPv6 private/loopback addresses are not allowed' };
831
+ }
832
+ // Block hostnames that look like IP addresses in various formats
833
+ // (e.g., 0x7f.0.0.1, 2130706433, etc.)
834
+ if (/^0x[0-9a-f]+/i.test(hostname) || /^\d{8,}$/.test(hostname)) {
835
+ return { safe: false, error: 'Suspicious hostname format' };
836
+ }
837
+ // Block cloud metadata endpoints
838
+ if (hostname === '169.254.169.254' || hostname === 'metadata.google.internal' || hostname === 'metadata.azure.internal') {
839
+ return { safe: false, error: 'Cloud metadata endpoints are not allowed' };
840
+ }
841
+ return { safe: true };
842
+ }
843
+ catch (error) {
844
+ return { safe: false, error: 'Invalid URL format' };
845
+ }
846
+ }
847
+ /**
848
+ * Generic HTTP request helper
849
+ */
850
+ httpRequest(url, body, timeout, method = 'POST', headers = {}) {
851
+ return new Promise((resolve, reject) => {
852
+ // SSRF protection: validate URL before making request
853
+ const urlSafety = this.isUrlSafe(url);
854
+ if (!urlSafety.safe) {
855
+ reject(new Error(`URL validation failed: ${urlSafety.error}`));
856
+ return;
857
+ }
858
+ const parsedUrl = new URL(url);
859
+ const isHttps = parsedUrl.protocol === 'https:';
860
+ const client = isHttps ? https : http;
861
+ const requestOptions = {
862
+ hostname: parsedUrl.hostname,
863
+ port: parsedUrl.port || (isHttps ? 443 : 80),
864
+ path: parsedUrl.pathname + parsedUrl.search,
865
+ method,
866
+ headers: {
867
+ 'Content-Type': 'application/json',
868
+ ...headers,
869
+ },
870
+ timeout,
871
+ };
872
+ const req = client.request(requestOptions, (res) => {
873
+ let data = '';
874
+ res.on('data', (chunk) => { data += chunk; });
875
+ res.on('end', () => {
876
+ if (res.statusCode && res.statusCode >= 200 && res.statusCode < 300) {
877
+ resolve();
878
+ }
879
+ else {
880
+ reject(new Error(`HTTP ${res.statusCode}: ${data.slice(0, 200)}`));
881
+ }
882
+ });
883
+ });
884
+ req.on('error', reject);
885
+ req.on('timeout', () => {
886
+ req.destroy();
887
+ reject(new Error('Request timeout'));
888
+ });
889
+ req.write(JSON.stringify(body));
890
+ req.end();
891
+ });
892
+ }
893
+ /**
894
+ * Format event name for display
895
+ */
896
+ formatEventName(eventType) {
897
+ return eventType
898
+ .split('-')
899
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
900
+ .join(' ');
901
+ }
902
+ /**
903
+ * Escape HTML for Telegram messages
904
+ */
905
+ escapeHtml(text) {
906
+ return text
907
+ .replace(/&/g, '&amp;')
908
+ .replace(/</g, '&lt;')
909
+ .replace(/>/g, '&gt;');
910
+ }
911
+ /**
912
+ * Test a platform configuration
913
+ */
914
+ async testPlatform(platform, config) {
915
+ const testContext = {
916
+ eventType: 'task-completed',
917
+ sessionId: 'test-session',
918
+ taskDescription: 'This is a test notification from CCW',
919
+ timestamp: new Date().toISOString(),
920
+ };
921
+ const startTime = Date.now();
922
+ try {
923
+ switch (platform) {
924
+ case 'discord':
925
+ return await this.sendDiscord(testContext, config, 10000);
926
+ case 'telegram':
927
+ return await this.sendTelegram(testContext, config, 10000);
928
+ case 'webhook':
929
+ return await this.sendWebhook(testContext, config, 10000);
930
+ case 'feishu':
931
+ return await this.sendFeishu(testContext, config, 10000);
932
+ case 'dingtalk':
933
+ return await this.sendDingTalk(testContext, config, 10000);
934
+ case 'wecom':
935
+ return await this.sendWeCom(testContext, config, 10000);
936
+ case 'email':
937
+ return await this.sendEmail(testContext, config, 30000); // Longer timeout for email
938
+ default:
939
+ return { success: false, error: `Unknown platform: ${platform}` };
940
+ }
941
+ }
942
+ catch (error) {
943
+ return {
944
+ success: false,
945
+ error: error instanceof Error ? error.message : String(error),
946
+ responseTime: Date.now() - startTime,
947
+ };
948
+ }
949
+ }
950
+ }
951
+ // Singleton instance
952
+ export const remoteNotificationService = new RemoteNotificationService();
953
+ //# sourceMappingURL=remote-notification-service.js.map