claude-code-workflow 6.2.4 → 6.2.5

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 (930) hide show
  1. package/README.md +145 -294
  2. package/{ccw/dist → dist}/core/routes/codexlens-routes.d.ts.map +1 -1
  3. package/{ccw/dist → dist}/core/routes/codexlens-routes.js +31 -6
  4. package/dist/core/routes/codexlens-routes.js.map +1 -0
  5. package/{ccw/dist → dist}/tools/codex-lens.d.ts +20 -3
  6. package/dist/tools/codex-lens.d.ts.map +1 -0
  7. package/{ccw/dist → dist}/tools/codex-lens.js +166 -37
  8. package/dist/tools/codex-lens.js.map +1 -0
  9. package/package.json +28 -36
  10. package/{ccw/src → src}/core/routes/codexlens-routes.ts +34 -6
  11. package/{ccw/src → src}/templates/dashboard-js/components/mcp-manager.js +7 -12
  12. package/{ccw/src → src}/templates/dashboard-js/i18n.js +157 -1
  13. package/{ccw/src → src}/templates/dashboard-js/views/codexlens-manager.js +790 -25
  14. package/{ccw/src → src}/tools/codex-lens.ts +183 -35
  15. package/.claude/CLAUDE.md +0 -10
  16. package/.claude/agents/action-planning-agent.md +0 -857
  17. package/.claude/agents/cli-execution-agent.md +0 -267
  18. package/.claude/agents/cli-explore-agent.md +0 -182
  19. package/.claude/agents/cli-lite-planning-agent.md +0 -446
  20. package/.claude/agents/cli-planning-agent.md +0 -558
  21. package/.claude/agents/code-developer.md +0 -311
  22. package/.claude/agents/conceptual-planning-agent.md +0 -308
  23. package/.claude/agents/context-search-agent.md +0 -581
  24. package/.claude/agents/doc-generator.md +0 -330
  25. package/.claude/agents/memory-bridge.md +0 -94
  26. package/.claude/agents/test-context-search-agent.md +0 -400
  27. package/.claude/agents/test-fix-agent.md +0 -344
  28. package/.claude/agents/ui-design-agent.md +0 -593
  29. package/.claude/agents/universal-executor.md +0 -131
  30. package/.claude/commands/clean.md +0 -516
  31. package/.claude/commands/cli/cli-init.md +0 -440
  32. package/.claude/commands/enhance-prompt.md +0 -93
  33. package/.claude/commands/memory/code-map-memory.md +0 -687
  34. package/.claude/commands/memory/compact.md +0 -383
  35. package/.claude/commands/memory/docs-full-cli.md +0 -471
  36. package/.claude/commands/memory/docs-related-cli.md +0 -386
  37. package/.claude/commands/memory/docs.md +0 -615
  38. package/.claude/commands/memory/load-skill-memory.md +0 -182
  39. package/.claude/commands/memory/load.md +0 -240
  40. package/.claude/commands/memory/skill-memory.md +0 -525
  41. package/.claude/commands/memory/style-skill-memory.md +0 -396
  42. package/.claude/commands/memory/tech-research-rules.md +0 -310
  43. package/.claude/commands/memory/update-full.md +0 -332
  44. package/.claude/commands/memory/update-related.md +0 -332
  45. package/.claude/commands/memory/workflow-skill-memory.md +0 -517
  46. package/.claude/commands/task/breakdown.md +0 -204
  47. package/.claude/commands/task/create.md +0 -152
  48. package/.claude/commands/task/execute.md +0 -270
  49. package/.claude/commands/task/replan.md +0 -437
  50. package/.claude/commands/version.md +0 -254
  51. package/.claude/commands/workflow/action-plan-verify.md +0 -447
  52. package/.claude/commands/workflow/brainstorm/api-designer.md +0 -587
  53. package/.claude/commands/workflow/brainstorm/artifacts.md +0 -453
  54. package/.claude/commands/workflow/brainstorm/auto-parallel.md +0 -443
  55. package/.claude/commands/workflow/brainstorm/data-architect.md +0 -220
  56. package/.claude/commands/workflow/brainstorm/product-manager.md +0 -200
  57. package/.claude/commands/workflow/brainstorm/product-owner.md +0 -200
  58. package/.claude/commands/workflow/brainstorm/scrum-master.md +0 -200
  59. package/.claude/commands/workflow/brainstorm/subject-matter-expert.md +0 -200
  60. package/.claude/commands/workflow/brainstorm/synthesis.md +0 -398
  61. package/.claude/commands/workflow/brainstorm/system-architect.md +0 -389
  62. package/.claude/commands/workflow/brainstorm/ui-designer.md +0 -221
  63. package/.claude/commands/workflow/brainstorm/ux-expert.md +0 -221
  64. package/.claude/commands/workflow/debug.md +0 -321
  65. package/.claude/commands/workflow/execute.md +0 -475
  66. package/.claude/commands/workflow/init.md +0 -165
  67. package/.claude/commands/workflow/lite-execute.md +0 -792
  68. package/.claude/commands/workflow/lite-fix.md +0 -623
  69. package/.claude/commands/workflow/lite-plan.md +0 -610
  70. package/.claude/commands/workflow/plan.md +0 -551
  71. package/.claude/commands/workflow/replan.md +0 -515
  72. package/.claude/commands/workflow/review-fix.md +0 -606
  73. package/.claude/commands/workflow/review-module-cycle.md +0 -767
  74. package/.claude/commands/workflow/review-session-cycle.md +0 -778
  75. package/.claude/commands/workflow/review.md +0 -297
  76. package/.claude/commands/workflow/session/complete.md +0 -153
  77. package/.claude/commands/workflow/session/list.md +0 -96
  78. package/.claude/commands/workflow/session/resume.md +0 -61
  79. package/.claude/commands/workflow/session/start.md +0 -200
  80. package/.claude/commands/workflow/tdd-plan.md +0 -460
  81. package/.claude/commands/workflow/tdd-verify.md +0 -400
  82. package/.claude/commands/workflow/test-cycle-execute.md +0 -500
  83. package/.claude/commands/workflow/test-fix-gen.md +0 -699
  84. package/.claude/commands/workflow/test-gen.md +0 -529
  85. package/.claude/commands/workflow/tools/conflict-resolution.md +0 -766
  86. package/.claude/commands/workflow/tools/context-gather.md +0 -436
  87. package/.claude/commands/workflow/tools/task-generate-agent.md +0 -490
  88. package/.claude/commands/workflow/tools/task-generate-tdd.md +0 -526
  89. package/.claude/commands/workflow/tools/tdd-coverage-analysis.md +0 -309
  90. package/.claude/commands/workflow/tools/test-concept-enhanced.md +0 -164
  91. package/.claude/commands/workflow/tools/test-context-gather.md +0 -236
  92. package/.claude/commands/workflow/tools/test-task-generate.md +0 -257
  93. package/.claude/commands/workflow/ui-design/animation-extract.md +0 -1150
  94. package/.claude/commands/workflow/ui-design/codify-style.md +0 -652
  95. package/.claude/commands/workflow/ui-design/design-sync.md +0 -454
  96. package/.claude/commands/workflow/ui-design/explore-auto.md +0 -678
  97. package/.claude/commands/workflow/ui-design/generate.md +0 -504
  98. package/.claude/commands/workflow/ui-design/imitate-auto.md +0 -745
  99. package/.claude/commands/workflow/ui-design/import-from-code.md +0 -540
  100. package/.claude/commands/workflow/ui-design/layout-extract.md +0 -788
  101. package/.claude/commands/workflow/ui-design/reference-page-generator.md +0 -356
  102. package/.claude/commands/workflow/ui-design/style-extract.md +0 -773
  103. package/.claude/skills/command-guide/SKILL.md +0 -388
  104. package/.claude/skills/command-guide/UPDATE-GUIDELINE.md +0 -592
  105. package/.claude/skills/command-guide/guides/cli-tools-guide.md +0 -410
  106. package/.claude/skills/command-guide/guides/examples.md +0 -537
  107. package/.claude/skills/command-guide/guides/getting-started.md +0 -242
  108. package/.claude/skills/command-guide/guides/implementation-details.md +0 -1010
  109. package/.claude/skills/command-guide/guides/index-structure.md +0 -326
  110. package/.claude/skills/command-guide/guides/troubleshooting.md +0 -92
  111. package/.claude/skills/command-guide/guides/ui-design-workflow-guide.md +0 -316
  112. package/.claude/skills/command-guide/guides/workflow-patterns.md +0 -662
  113. package/.claude/skills/command-guide/index/all-commands.json +0 -772
  114. package/.claude/skills/command-guide/index/by-category.json +0 -800
  115. package/.claude/skills/command-guide/index/by-use-case.json +0 -786
  116. package/.claude/skills/command-guide/index/command-relationships.json +0 -307
  117. package/.claude/skills/command-guide/index/essential-commands.json +0 -112
  118. package/.claude/skills/command-guide/reference/agents/action-planning-agent.md +0 -857
  119. package/.claude/skills/command-guide/reference/agents/cli-execution-agent.md +0 -267
  120. package/.claude/skills/command-guide/reference/agents/cli-explore-agent.md +0 -182
  121. package/.claude/skills/command-guide/reference/agents/cli-lite-planning-agent.md +0 -446
  122. package/.claude/skills/command-guide/reference/agents/cli-planning-agent.md +0 -558
  123. package/.claude/skills/command-guide/reference/agents/code-developer.md +0 -311
  124. package/.claude/skills/command-guide/reference/agents/conceptual-planning-agent.md +0 -308
  125. package/.claude/skills/command-guide/reference/agents/context-search-agent.md +0 -581
  126. package/.claude/skills/command-guide/reference/agents/doc-generator.md +0 -330
  127. package/.claude/skills/command-guide/reference/agents/memory-bridge.md +0 -94
  128. package/.claude/skills/command-guide/reference/agents/test-context-search-agent.md +0 -400
  129. package/.claude/skills/command-guide/reference/agents/test-fix-agent.md +0 -344
  130. package/.claude/skills/command-guide/reference/agents/ui-design-agent.md +0 -593
  131. package/.claude/skills/command-guide/reference/agents/universal-executor.md +0 -131
  132. package/.claude/skills/command-guide/reference/commands/cli/cli-init.md +0 -440
  133. package/.claude/skills/command-guide/reference/commands/enhance-prompt.md +0 -93
  134. package/.claude/skills/command-guide/reference/commands/memory/code-map-memory.md +0 -687
  135. package/.claude/skills/command-guide/reference/commands/memory/docs-full-cli.md +0 -471
  136. package/.claude/skills/command-guide/reference/commands/memory/docs-related-cli.md +0 -386
  137. package/.claude/skills/command-guide/reference/commands/memory/docs.md +0 -616
  138. package/.claude/skills/command-guide/reference/commands/memory/load-skill-memory.md +0 -182
  139. package/.claude/skills/command-guide/reference/commands/memory/load.md +0 -240
  140. package/.claude/skills/command-guide/reference/commands/memory/skill-memory.md +0 -525
  141. package/.claude/skills/command-guide/reference/commands/memory/style-skill-memory.md +0 -396
  142. package/.claude/skills/command-guide/reference/commands/memory/tech-research.md +0 -314
  143. package/.claude/skills/command-guide/reference/commands/memory/update-full.md +0 -332
  144. package/.claude/skills/command-guide/reference/commands/memory/update-related.md +0 -332
  145. package/.claude/skills/command-guide/reference/commands/memory/workflow-skill-memory.md +0 -517
  146. package/.claude/skills/command-guide/reference/commands/task/breakdown.md +0 -204
  147. package/.claude/skills/command-guide/reference/commands/task/create.md +0 -152
  148. package/.claude/skills/command-guide/reference/commands/task/execute.md +0 -270
  149. package/.claude/skills/command-guide/reference/commands/task/replan.md +0 -437
  150. package/.claude/skills/command-guide/reference/commands/version.md +0 -254
  151. package/.claude/skills/command-guide/reference/commands/workflow/action-plan-verify.md +0 -447
  152. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/api-designer.md +0 -585
  153. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/artifacts.md +0 -452
  154. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/auto-parallel.md +0 -443
  155. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/data-architect.md +0 -220
  156. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/product-manager.md +0 -200
  157. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/product-owner.md +0 -200
  158. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/scrum-master.md +0 -200
  159. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/subject-matter-expert.md +0 -200
  160. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/synthesis.md +0 -398
  161. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/system-architect.md +0 -387
  162. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/ui-designer.md +0 -221
  163. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/ux-expert.md +0 -221
  164. package/.claude/skills/command-guide/reference/commands/workflow/execute.md +0 -465
  165. package/.claude/skills/command-guide/reference/commands/workflow/init.md +0 -164
  166. package/.claude/skills/command-guide/reference/commands/workflow/lite-execute.md +0 -748
  167. package/.claude/skills/command-guide/reference/commands/workflow/lite-fix.md +0 -664
  168. package/.claude/skills/command-guide/reference/commands/workflow/lite-plan.md +0 -645
  169. package/.claude/skills/command-guide/reference/commands/workflow/plan.md +0 -551
  170. package/.claude/skills/command-guide/reference/commands/workflow/replan.md +0 -515
  171. package/.claude/skills/command-guide/reference/commands/workflow/review-fix.md +0 -606
  172. package/.claude/skills/command-guide/reference/commands/workflow/review-module-cycle.md +0 -765
  173. package/.claude/skills/command-guide/reference/commands/workflow/review-session-cycle.md +0 -776
  174. package/.claude/skills/command-guide/reference/commands/workflow/review.md +0 -298
  175. package/.claude/skills/command-guide/reference/commands/workflow/session/complete.md +0 -547
  176. package/.claude/skills/command-guide/reference/commands/workflow/session/list.md +0 -114
  177. package/.claude/skills/command-guide/reference/commands/workflow/session/resume.md +0 -77
  178. package/.claude/skills/command-guide/reference/commands/workflow/session/start.md +0 -257
  179. package/.claude/skills/command-guide/reference/commands/workflow/tdd-plan.md +0 -460
  180. package/.claude/skills/command-guide/reference/commands/workflow/tdd-verify.md +0 -400
  181. package/.claude/skills/command-guide/reference/commands/workflow/test-cycle-execute.md +0 -498
  182. package/.claude/skills/command-guide/reference/commands/workflow/test-fix-gen.md +0 -699
  183. package/.claude/skills/command-guide/reference/commands/workflow/test-gen.md +0 -529
  184. package/.claude/skills/command-guide/reference/commands/workflow/tools/conflict-resolution.md +0 -766
  185. package/.claude/skills/command-guide/reference/commands/workflow/tools/context-gather.md +0 -434
  186. package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-agent.md +0 -487
  187. package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-tdd.md +0 -525
  188. package/.claude/skills/command-guide/reference/commands/workflow/tools/tdd-coverage-analysis.md +0 -309
  189. package/.claude/skills/command-guide/reference/commands/workflow/tools/test-concept-enhanced.md +0 -163
  190. package/.claude/skills/command-guide/reference/commands/workflow/tools/test-context-gather.md +0 -235
  191. package/.claude/skills/command-guide/reference/commands/workflow/tools/test-task-generate.md +0 -256
  192. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/animation-extract.md +0 -1150
  193. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/codify-style.md +0 -652
  194. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/design-sync.md +0 -454
  195. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/explore-auto.md +0 -678
  196. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/generate.md +0 -504
  197. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/imitate-auto.md +0 -745
  198. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/import-from-code.md +0 -537
  199. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/layout-extract.md +0 -788
  200. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/reference-page-generator.md +0 -356
  201. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/style-extract.md +0 -773
  202. package/.claude/skills/command-guide/scripts/analyze_commands.py +0 -502
  203. package/.claude/skills/command-guide/scripts/update-index.sh +0 -130
  204. package/.claude/skills/command-guide/templates/issue-bug.md +0 -104
  205. package/.claude/skills/command-guide/templates/issue-diagnosis.md +0 -275
  206. package/.claude/skills/command-guide/templates/issue-feature.md +0 -97
  207. package/.claude/skills/command-guide/templates/issue-question.md +0 -141
  208. package/.claude/skills/prompt-enhancer/SKILL.md +0 -124
  209. package/.claude/workflows/_template-compare-matrix.html +0 -692
  210. package/.claude/workflows/chinese-response.md +0 -38
  211. package/.claude/workflows/cli-templates/fix-plan-template.json +0 -75
  212. package/.claude/workflows/cli-templates/fix-progress-template.json +0 -48
  213. package/.claude/workflows/cli-templates/memory/style-skill-memory/skill-md-template.md +0 -299
  214. package/.claude/workflows/cli-templates/planning-roles/data-architect.md +0 -120
  215. package/.claude/workflows/cli-templates/planning-roles/product-manager.md +0 -119
  216. package/.claude/workflows/cli-templates/planning-roles/product-owner.md +0 -261
  217. package/.claude/workflows/cli-templates/planning-roles/scrum-master.md +0 -186
  218. package/.claude/workflows/cli-templates/planning-roles/subject-matter-expert.md +0 -281
  219. package/.claude/workflows/cli-templates/planning-roles/synthesis-role.md +0 -414
  220. package/.claude/workflows/cli-templates/planning-roles/system-architect.md +0 -106
  221. package/.claude/workflows/cli-templates/planning-roles/test-strategist.md +0 -124
  222. package/.claude/workflows/cli-templates/planning-roles/ui-designer.md +0 -379
  223. package/.claude/workflows/cli-templates/planning-roles/ux-expert.md +0 -240
  224. package/.claude/workflows/cli-templates/prompts/analysis/01-diagnose-bug-root-cause.txt +0 -127
  225. package/.claude/workflows/cli-templates/prompts/analysis/01-trace-code-execution.txt +0 -115
  226. package/.claude/workflows/cli-templates/prompts/analysis/02-analyze-code-patterns.txt +0 -37
  227. package/.claude/workflows/cli-templates/prompts/analysis/02-analyze-technical-document.txt +0 -33
  228. package/.claude/workflows/cli-templates/prompts/analysis/02-review-architecture.txt +0 -29
  229. package/.claude/workflows/cli-templates/prompts/analysis/02-review-code-quality.txt +0 -28
  230. package/.claude/workflows/cli-templates/prompts/analysis/03-analyze-performance.txt +0 -29
  231. package/.claude/workflows/cli-templates/prompts/analysis/03-assess-security-risks.txt +0 -29
  232. package/.claude/workflows/cli-templates/prompts/analysis/03-review-quality-standards.txt +0 -29
  233. package/.claude/workflows/cli-templates/prompts/development/02-generate-tests.txt +0 -70
  234. package/.claude/workflows/cli-templates/prompts/development/02-implement-component-ui.txt +0 -55
  235. package/.claude/workflows/cli-templates/prompts/development/02-implement-feature.txt +0 -58
  236. package/.claude/workflows/cli-templates/prompts/development/02-refactor-codebase.txt +0 -55
  237. package/.claude/workflows/cli-templates/prompts/development/03-debug-runtime-issues.txt +0 -55
  238. package/.claude/workflows/cli-templates/prompts/documentation/api.txt +0 -15
  239. package/.claude/workflows/cli-templates/prompts/documentation/folder-navigation.txt +0 -27
  240. package/.claude/workflows/cli-templates/prompts/documentation/module-readme.txt +0 -49
  241. package/.claude/workflows/cli-templates/prompts/documentation/project-architecture.txt +0 -41
  242. package/.claude/workflows/cli-templates/prompts/documentation/project-examples.txt +0 -35
  243. package/.claude/workflows/cli-templates/prompts/documentation/project-readme.txt +0 -35
  244. package/.claude/workflows/cli-templates/prompts/memory/02-document-module-structure.txt +0 -165
  245. package/.claude/workflows/cli-templates/prompts/planning/01-plan-architecture-design.txt +0 -109
  246. package/.claude/workflows/cli-templates/prompts/planning/02-breakdown-task-steps.txt +0 -30
  247. package/.claude/workflows/cli-templates/prompts/planning/02-design-component-spec.txt +0 -28
  248. package/.claude/workflows/cli-templates/prompts/planning/03-evaluate-concept-feasibility.txt +0 -127
  249. package/.claude/workflows/cli-templates/prompts/planning/03-plan-migration-strategy.txt +0 -30
  250. package/.claude/workflows/cli-templates/prompts/rules/rule-api.txt +0 -122
  251. package/.claude/workflows/cli-templates/prompts/rules/rule-components.txt +0 -122
  252. package/.claude/workflows/cli-templates/prompts/rules/rule-config.txt +0 -89
  253. package/.claude/workflows/cli-templates/prompts/rules/rule-core.txt +0 -60
  254. package/.claude/workflows/cli-templates/prompts/rules/rule-patterns.txt +0 -70
  255. package/.claude/workflows/cli-templates/prompts/rules/rule-testing.txt +0 -81
  256. package/.claude/workflows/cli-templates/prompts/rules/tech-rules-agent-prompt.txt +0 -89
  257. package/.claude/workflows/cli-templates/prompts/tech/tech-module-format.txt +0 -359
  258. package/.claude/workflows/cli-templates/prompts/tech/tech-skill-index.txt +0 -185
  259. package/.claude/workflows/cli-templates/prompts/test/test-concept-analysis.txt +0 -179
  260. package/.claude/workflows/cli-templates/prompts/universal/00-universal-creative-style.txt +0 -95
  261. package/.claude/workflows/cli-templates/prompts/universal/00-universal-rigorous-style.txt +0 -92
  262. package/.claude/workflows/cli-templates/prompts/verification/codex-technical.txt +0 -28
  263. package/.claude/workflows/cli-templates/prompts/verification/cross-validation.txt +0 -28
  264. package/.claude/workflows/cli-templates/prompts/verification/gemini-strategic.txt +0 -27
  265. package/.claude/workflows/cli-templates/prompts/workflow/analysis-results-structure.txt +0 -224
  266. package/.claude/workflows/cli-templates/prompts/workflow/codex-feasibility-validation.txt +0 -176
  267. package/.claude/workflows/cli-templates/prompts/workflow/gemini-solution-design.txt +0 -131
  268. package/.claude/workflows/cli-templates/prompts/workflow/impl-plan-template.txt +0 -286
  269. package/.claude/workflows/cli-templates/prompts/workflow/skill-aggregation.txt +0 -172
  270. package/.claude/workflows/cli-templates/prompts/workflow/skill-conflict-patterns.txt +0 -94
  271. package/.claude/workflows/cli-templates/prompts/workflow/skill-index.txt +0 -224
  272. package/.claude/workflows/cli-templates/prompts/workflow/skill-lessons-learned.txt +0 -94
  273. package/.claude/workflows/cli-templates/prompts/workflow/skill-sessions-timeline.txt +0 -53
  274. package/.claude/workflows/cli-templates/prompts/workflow/task-json-agent-mode.txt +0 -123
  275. package/.claude/workflows/cli-templates/prompts/workflow/task-json-cli-mode.txt +0 -182
  276. package/.claude/workflows/cli-templates/protocols/analysis-protocol.md +0 -112
  277. package/.claude/workflows/cli-templates/protocols/write-protocol.md +0 -201
  278. package/.claude/workflows/cli-templates/schemas/conflict-resolution-schema.json +0 -137
  279. package/.claude/workflows/cli-templates/schemas/debug-log-json-schema.json +0 -127
  280. package/.claude/workflows/cli-templates/schemas/diagnosis-json-schema.json +0 -234
  281. package/.claude/workflows/cli-templates/schemas/explore-json-schema.json +0 -124
  282. package/.claude/workflows/cli-templates/schemas/fix-plan-json-schema.json +0 -298
  283. package/.claude/workflows/cli-templates/schemas/plan-json-schema.json +0 -244
  284. package/.claude/workflows/cli-templates/schemas/project-json-schema.json +0 -221
  285. package/.claude/workflows/cli-templates/schemas/review-deep-dive-results-schema.json +0 -82
  286. package/.claude/workflows/cli-templates/schemas/review-dimension-results-schema.json +0 -51
  287. package/.claude/workflows/cli-templates/tech-stacks/go-dev.md +0 -91
  288. package/.claude/workflows/cli-templates/tech-stacks/java-dev.md +0 -107
  289. package/.claude/workflows/cli-templates/tech-stacks/javascript-dev.md +0 -58
  290. package/.claude/workflows/cli-templates/tech-stacks/python-dev.md +0 -79
  291. package/.claude/workflows/cli-templates/tech-stacks/react-dev.md +0 -103
  292. package/.claude/workflows/cli-templates/tech-stacks/typescript-dev.md +0 -83
  293. package/.claude/workflows/cli-templates/ui-design/systems/animation-tokens.json +0 -247
  294. package/.claude/workflows/cli-templates/ui-design/systems/design-tokens.json +0 -342
  295. package/.claude/workflows/cli-templates/ui-design/systems/layout-templates.json +0 -145
  296. package/.claude/workflows/cli-tools-usage.md +0 -526
  297. package/.claude/workflows/coding-philosophy.md +0 -70
  298. package/.claude/workflows/context-tools.md +0 -84
  299. package/.claude/workflows/file-modification.md +0 -64
  300. package/.claude/workflows/review-directory-specification.md +0 -336
  301. package/.claude/workflows/task-core.md +0 -214
  302. package/.claude/workflows/tool-strategy.md +0 -216
  303. package/.claude/workflows/windows-platform.md +0 -16
  304. package/.claude/workflows/workflow-architecture.md +0 -942
  305. package/.codex/AGENTS.md +0 -63
  306. package/.codex/prompts/debug.md +0 -318
  307. package/.codex/prompts/execute.md +0 -273
  308. package/.codex/prompts/lite-execute.md +0 -164
  309. package/.codex/prompts/lite-plan.md +0 -469
  310. package/.codex/prompts.zip +0 -0
  311. package/.gemini/GEMINI.md +0 -25
  312. package/.qwen/QWEN.md +0 -25
  313. package/LICENSE +0 -21
  314. package/ccw/README.md +0 -145
  315. package/ccw/dist/core/routes/codexlens-routes.js.map +0 -1
  316. package/ccw/dist/tools/codex-lens.d.ts.map +0 -1
  317. package/ccw/dist/tools/codex-lens.js.map +0 -1
  318. package/ccw/package.json +0 -65
  319. package/codex-lens/pyproject.toml +0 -48
  320. package/codex-lens/src/codexlens/.workflow/.cli-history/history.db +0 -0
  321. package/codex-lens/src/codexlens/__init__.py +0 -28
  322. package/codex-lens/src/codexlens/__main__.py +0 -14
  323. package/codex-lens/src/codexlens/__pycache__/__init__.cpython-313.pyc +0 -0
  324. package/codex-lens/src/codexlens/__pycache__/__main__.cpython-313.pyc +0 -0
  325. package/codex-lens/src/codexlens/__pycache__/config.cpython-313.pyc +0 -0
  326. package/codex-lens/src/codexlens/__pycache__/entities.cpython-313.pyc +0 -0
  327. package/codex-lens/src/codexlens/__pycache__/errors.cpython-313.pyc +0 -0
  328. package/codex-lens/src/codexlens/cli/__init__.py +0 -27
  329. package/codex-lens/src/codexlens/cli/__pycache__/__init__.cpython-313.pyc +0 -0
  330. package/codex-lens/src/codexlens/cli/__pycache__/commands.cpython-313.pyc +0 -0
  331. package/codex-lens/src/codexlens/cli/__pycache__/embedding_manager.cpython-313.pyc +0 -0
  332. package/codex-lens/src/codexlens/cli/__pycache__/model_manager.cpython-313.pyc +0 -0
  333. package/codex-lens/src/codexlens/cli/__pycache__/output.cpython-313.pyc +0 -0
  334. package/codex-lens/src/codexlens/cli/commands.py +0 -1931
  335. package/codex-lens/src/codexlens/cli/embedding_manager.py +0 -620
  336. package/codex-lens/src/codexlens/cli/model_manager.py +0 -289
  337. package/codex-lens/src/codexlens/cli/output.py +0 -124
  338. package/codex-lens/src/codexlens/config.py +0 -201
  339. package/codex-lens/src/codexlens/entities.py +0 -121
  340. package/codex-lens/src/codexlens/errors.py +0 -55
  341. package/codex-lens/src/codexlens/indexing/README.md +0 -77
  342. package/codex-lens/src/codexlens/indexing/__init__.py +0 -4
  343. package/codex-lens/src/codexlens/indexing/__pycache__/__init__.cpython-313.pyc +0 -0
  344. package/codex-lens/src/codexlens/indexing/__pycache__/symbol_extractor.cpython-313.pyc +0 -0
  345. package/codex-lens/src/codexlens/indexing/symbol_extractor.py +0 -243
  346. package/codex-lens/src/codexlens/parsers/__init__.py +0 -8
  347. package/codex-lens/src/codexlens/parsers/__pycache__/__init__.cpython-313.pyc +0 -0
  348. package/codex-lens/src/codexlens/parsers/__pycache__/encoding.cpython-313.pyc +0 -0
  349. package/codex-lens/src/codexlens/parsers/__pycache__/factory.cpython-313.pyc +0 -0
  350. package/codex-lens/src/codexlens/parsers/__pycache__/tokenizer.cpython-313.pyc +0 -0
  351. package/codex-lens/src/codexlens/parsers/__pycache__/treesitter_parser.cpython-313.pyc +0 -0
  352. package/codex-lens/src/codexlens/parsers/encoding.py +0 -202
  353. package/codex-lens/src/codexlens/parsers/factory.py +0 -256
  354. package/codex-lens/src/codexlens/parsers/tokenizer.py +0 -98
  355. package/codex-lens/src/codexlens/parsers/treesitter_parser.py +0 -335
  356. package/codex-lens/src/codexlens/search/__init__.py +0 -15
  357. package/codex-lens/src/codexlens/search/__pycache__/__init__.cpython-313.pyc +0 -0
  358. package/codex-lens/src/codexlens/search/__pycache__/chain_search.cpython-313.pyc +0 -0
  359. package/codex-lens/src/codexlens/search/__pycache__/enrichment.cpython-313.pyc +0 -0
  360. package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-313.pyc +0 -0
  361. package/codex-lens/src/codexlens/search/__pycache__/query_parser.cpython-313.pyc +0 -0
  362. package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-313.pyc +0 -0
  363. package/codex-lens/src/codexlens/search/chain_search.py +0 -647
  364. package/codex-lens/src/codexlens/search/enrichment.py +0 -150
  365. package/codex-lens/src/codexlens/search/hybrid_search.py +0 -313
  366. package/codex-lens/src/codexlens/search/query_parser.py +0 -242
  367. package/codex-lens/src/codexlens/search/ranking.py +0 -274
  368. package/codex-lens/src/codexlens/semantic/__init__.py +0 -39
  369. package/codex-lens/src/codexlens/semantic/__pycache__/__init__.cpython-313.pyc +0 -0
  370. package/codex-lens/src/codexlens/semantic/__pycache__/ann_index.cpython-313.pyc +0 -0
  371. package/codex-lens/src/codexlens/semantic/__pycache__/chunker.cpython-313.pyc +0 -0
  372. package/codex-lens/src/codexlens/semantic/__pycache__/code_extractor.cpython-313.pyc +0 -0
  373. package/codex-lens/src/codexlens/semantic/__pycache__/embedder.cpython-313.pyc +0 -0
  374. package/codex-lens/src/codexlens/semantic/__pycache__/graph_analyzer.cpython-313.pyc +0 -0
  375. package/codex-lens/src/codexlens/semantic/__pycache__/llm_enhancer.cpython-313.pyc +0 -0
  376. package/codex-lens/src/codexlens/semantic/__pycache__/vector_store.cpython-313.pyc +0 -0
  377. package/codex-lens/src/codexlens/semantic/ann_index.py +0 -414
  378. package/codex-lens/src/codexlens/semantic/chunker.py +0 -448
  379. package/codex-lens/src/codexlens/semantic/code_extractor.py +0 -274
  380. package/codex-lens/src/codexlens/semantic/embedder.py +0 -185
  381. package/codex-lens/src/codexlens/semantic/vector_store.py +0 -955
  382. package/codex-lens/src/codexlens/storage/__init__.py +0 -29
  383. package/codex-lens/src/codexlens/storage/__pycache__/__init__.cpython-313.pyc +0 -0
  384. package/codex-lens/src/codexlens/storage/__pycache__/dir_index.cpython-313.pyc +0 -0
  385. package/codex-lens/src/codexlens/storage/__pycache__/file_cache.cpython-313.pyc +0 -0
  386. package/codex-lens/src/codexlens/storage/__pycache__/index_tree.cpython-313.pyc +0 -0
  387. package/codex-lens/src/codexlens/storage/__pycache__/migration_manager.cpython-313.pyc +0 -0
  388. package/codex-lens/src/codexlens/storage/__pycache__/path_mapper.cpython-313.pyc +0 -0
  389. package/codex-lens/src/codexlens/storage/__pycache__/registry.cpython-313.pyc +0 -0
  390. package/codex-lens/src/codexlens/storage/__pycache__/sqlite_store.cpython-313.pyc +0 -0
  391. package/codex-lens/src/codexlens/storage/__pycache__/sqlite_utils.cpython-313.pyc +0 -0
  392. package/codex-lens/src/codexlens/storage/dir_index.py +0 -1850
  393. package/codex-lens/src/codexlens/storage/file_cache.py +0 -32
  394. package/codex-lens/src/codexlens/storage/index_tree.py +0 -776
  395. package/codex-lens/src/codexlens/storage/migration_manager.py +0 -154
  396. package/codex-lens/src/codexlens/storage/migrations/__init__.py +0 -1
  397. package/codex-lens/src/codexlens/storage/migrations/__pycache__/__init__.cpython-313.pyc +0 -0
  398. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_001_normalize_keywords.cpython-313.pyc +0 -0
  399. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_002_add_token_metadata.cpython-313.pyc +0 -0
  400. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_003_code_relationships.cpython-313.pyc +0 -0
  401. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_004_dual_fts.cpython-313.pyc +0 -0
  402. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_005_cleanup_unused_fields.cpython-313.pyc +0 -0
  403. package/codex-lens/src/codexlens/storage/migrations/migration_001_normalize_keywords.py +0 -123
  404. package/codex-lens/src/codexlens/storage/migrations/migration_002_add_token_metadata.py +0 -48
  405. package/codex-lens/src/codexlens/storage/migrations/migration_004_dual_fts.py +0 -232
  406. package/codex-lens/src/codexlens/storage/migrations/migration_005_cleanup_unused_fields.py +0 -196
  407. package/codex-lens/src/codexlens/storage/path_mapper.py +0 -274
  408. package/codex-lens/src/codexlens/storage/registry.py +0 -670
  409. package/codex-lens/src/codexlens/storage/sqlite_store.py +0 -576
  410. package/codex-lens/src/codexlens/storage/sqlite_utils.py +0 -64
  411. /package/{ccw/bin → bin}/ccw-mcp.js +0 -0
  412. /package/{ccw/bin → bin}/ccw.js +0 -0
  413. /package/{ccw/dist → dist}/cli.d.ts +0 -0
  414. /package/{ccw/dist → dist}/cli.d.ts.map +0 -0
  415. /package/{ccw/dist → dist}/cli.js +0 -0
  416. /package/{ccw/dist → dist}/cli.js.map +0 -0
  417. /package/{ccw/dist → dist}/commands/cli.d.ts +0 -0
  418. /package/{ccw/dist → dist}/commands/cli.d.ts.map +0 -0
  419. /package/{ccw/dist → dist}/commands/cli.js +0 -0
  420. /package/{ccw/dist → dist}/commands/cli.js.map +0 -0
  421. /package/{ccw/dist → dist}/commands/core-memory.d.ts +0 -0
  422. /package/{ccw/dist → dist}/commands/core-memory.d.ts.map +0 -0
  423. /package/{ccw/dist → dist}/commands/core-memory.js +0 -0
  424. /package/{ccw/dist → dist}/commands/core-memory.js.map +0 -0
  425. /package/{ccw/dist → dist}/commands/hook.d.ts +0 -0
  426. /package/{ccw/dist → dist}/commands/hook.d.ts.map +0 -0
  427. /package/{ccw/dist → dist}/commands/hook.js +0 -0
  428. /package/{ccw/dist → dist}/commands/hook.js.map +0 -0
  429. /package/{ccw/dist → dist}/commands/install.d.ts +0 -0
  430. /package/{ccw/dist → dist}/commands/install.d.ts.map +0 -0
  431. /package/{ccw/dist → dist}/commands/install.js +0 -0
  432. /package/{ccw/dist → dist}/commands/install.js.map +0 -0
  433. /package/{ccw/dist → dist}/commands/list.d.ts +0 -0
  434. /package/{ccw/dist → dist}/commands/list.d.ts.map +0 -0
  435. /package/{ccw/dist → dist}/commands/list.js +0 -0
  436. /package/{ccw/dist → dist}/commands/list.js.map +0 -0
  437. /package/{ccw/dist → dist}/commands/memory.d.ts +0 -0
  438. /package/{ccw/dist → dist}/commands/memory.d.ts.map +0 -0
  439. /package/{ccw/dist → dist}/commands/memory.js +0 -0
  440. /package/{ccw/dist → dist}/commands/memory.js.map +0 -0
  441. /package/{ccw/dist → dist}/commands/serve.d.ts +0 -0
  442. /package/{ccw/dist → dist}/commands/serve.d.ts.map +0 -0
  443. /package/{ccw/dist → dist}/commands/serve.js +0 -0
  444. /package/{ccw/dist → dist}/commands/serve.js.map +0 -0
  445. /package/{ccw/dist → dist}/commands/session-path-resolver.d.ts +0 -0
  446. /package/{ccw/dist → dist}/commands/session-path-resolver.d.ts.map +0 -0
  447. /package/{ccw/dist → dist}/commands/session-path-resolver.js +0 -0
  448. /package/{ccw/dist → dist}/commands/session-path-resolver.js.map +0 -0
  449. /package/{ccw/dist → dist}/commands/session.d.ts +0 -0
  450. /package/{ccw/dist → dist}/commands/session.d.ts.map +0 -0
  451. /package/{ccw/dist → dist}/commands/session.js +0 -0
  452. /package/{ccw/dist → dist}/commands/session.js.map +0 -0
  453. /package/{ccw/dist → dist}/commands/stop.d.ts +0 -0
  454. /package/{ccw/dist → dist}/commands/stop.d.ts.map +0 -0
  455. /package/{ccw/dist → dist}/commands/stop.js +0 -0
  456. /package/{ccw/dist → dist}/commands/stop.js.map +0 -0
  457. /package/{ccw/dist → dist}/commands/tool.d.ts +0 -0
  458. /package/{ccw/dist → dist}/commands/tool.d.ts.map +0 -0
  459. /package/{ccw/dist → dist}/commands/tool.js +0 -0
  460. /package/{ccw/dist → dist}/commands/tool.js.map +0 -0
  461. /package/{ccw/dist → dist}/commands/uninstall.d.ts +0 -0
  462. /package/{ccw/dist → dist}/commands/uninstall.d.ts.map +0 -0
  463. /package/{ccw/dist → dist}/commands/uninstall.js +0 -0
  464. /package/{ccw/dist → dist}/commands/uninstall.js.map +0 -0
  465. /package/{ccw/dist → dist}/commands/upgrade.d.ts +0 -0
  466. /package/{ccw/dist → dist}/commands/upgrade.d.ts.map +0 -0
  467. /package/{ccw/dist → dist}/commands/upgrade.js +0 -0
  468. /package/{ccw/dist → dist}/commands/upgrade.js.map +0 -0
  469. /package/{ccw/dist → dist}/commands/view.d.ts +0 -0
  470. /package/{ccw/dist → dist}/commands/view.d.ts.map +0 -0
  471. /package/{ccw/dist → dist}/commands/view.js +0 -0
  472. /package/{ccw/dist → dist}/commands/view.js.map +0 -0
  473. /package/{ccw/dist → dist}/config/storage-paths.d.ts +0 -0
  474. /package/{ccw/dist → dist}/config/storage-paths.d.ts.map +0 -0
  475. /package/{ccw/dist → dist}/config/storage-paths.js +0 -0
  476. /package/{ccw/dist → dist}/config/storage-paths.js.map +0 -0
  477. /package/{ccw/dist → dist}/core/cache-manager.d.ts +0 -0
  478. /package/{ccw/dist → dist}/core/cache-manager.d.ts.map +0 -0
  479. /package/{ccw/dist → dist}/core/cache-manager.js +0 -0
  480. /package/{ccw/dist → dist}/core/cache-manager.js.map +0 -0
  481. /package/{ccw/dist → dist}/core/claude-freshness.d.ts +0 -0
  482. /package/{ccw/dist → dist}/core/claude-freshness.d.ts.map +0 -0
  483. /package/{ccw/dist → dist}/core/claude-freshness.js +0 -0
  484. /package/{ccw/dist → dist}/core/claude-freshness.js.map +0 -0
  485. /package/{ccw/dist → dist}/core/core-memory-store.d.ts +0 -0
  486. /package/{ccw/dist → dist}/core/core-memory-store.d.ts.map +0 -0
  487. /package/{ccw/dist → dist}/core/core-memory-store.js +0 -0
  488. /package/{ccw/dist → dist}/core/core-memory-store.js.map +0 -0
  489. /package/{ccw/dist → dist}/core/dashboard-generator-patch.d.ts +0 -0
  490. /package/{ccw/dist → dist}/core/dashboard-generator-patch.d.ts.map +0 -0
  491. /package/{ccw/dist → dist}/core/dashboard-generator-patch.js +0 -0
  492. /package/{ccw/dist → dist}/core/dashboard-generator-patch.js.map +0 -0
  493. /package/{ccw/dist → dist}/core/dashboard-generator.d.ts +0 -0
  494. /package/{ccw/dist → dist}/core/dashboard-generator.d.ts.map +0 -0
  495. /package/{ccw/dist → dist}/core/dashboard-generator.js +0 -0
  496. /package/{ccw/dist → dist}/core/dashboard-generator.js.map +0 -0
  497. /package/{ccw/dist → dist}/core/data-aggregator.d.ts +0 -0
  498. /package/{ccw/dist → dist}/core/data-aggregator.d.ts.map +0 -0
  499. /package/{ccw/dist → dist}/core/data-aggregator.js +0 -0
  500. /package/{ccw/dist → dist}/core/data-aggregator.js.map +0 -0
  501. /package/{ccw/dist → dist}/core/history-importer.d.ts +0 -0
  502. /package/{ccw/dist → dist}/core/history-importer.d.ts.map +0 -0
  503. /package/{ccw/dist → dist}/core/history-importer.js +0 -0
  504. /package/{ccw/dist → dist}/core/history-importer.js.map +0 -0
  505. /package/{ccw/dist → dist}/core/lite-scanner-complete.d.ts +0 -0
  506. /package/{ccw/dist → dist}/core/lite-scanner-complete.d.ts.map +0 -0
  507. /package/{ccw/dist → dist}/core/lite-scanner-complete.js +0 -0
  508. /package/{ccw/dist → dist}/core/lite-scanner-complete.js.map +0 -0
  509. /package/{ccw/dist → dist}/core/lite-scanner.d.ts +0 -0
  510. /package/{ccw/dist → dist}/core/lite-scanner.d.ts.map +0 -0
  511. /package/{ccw/dist → dist}/core/lite-scanner.js +0 -0
  512. /package/{ccw/dist → dist}/core/lite-scanner.js.map +0 -0
  513. /package/{ccw/dist → dist}/core/manifest.d.ts +0 -0
  514. /package/{ccw/dist → dist}/core/manifest.d.ts.map +0 -0
  515. /package/{ccw/dist → dist}/core/manifest.js +0 -0
  516. /package/{ccw/dist → dist}/core/manifest.js.map +0 -0
  517. /package/{ccw/dist → dist}/core/memory-embedder-bridge.d.ts +0 -0
  518. /package/{ccw/dist → dist}/core/memory-embedder-bridge.d.ts.map +0 -0
  519. /package/{ccw/dist → dist}/core/memory-embedder-bridge.js +0 -0
  520. /package/{ccw/dist → dist}/core/memory-embedder-bridge.js.map +0 -0
  521. /package/{ccw/dist → dist}/core/memory-store.d.ts +0 -0
  522. /package/{ccw/dist → dist}/core/memory-store.d.ts.map +0 -0
  523. /package/{ccw/dist → dist}/core/memory-store.js +0 -0
  524. /package/{ccw/dist → dist}/core/memory-store.js.map +0 -0
  525. /package/{ccw/dist → dist}/core/routes/ccw-routes.d.ts +0 -0
  526. /package/{ccw/dist → dist}/core/routes/ccw-routes.d.ts.map +0 -0
  527. /package/{ccw/dist → dist}/core/routes/ccw-routes.js +0 -0
  528. /package/{ccw/dist → dist}/core/routes/ccw-routes.js.map +0 -0
  529. /package/{ccw/dist → dist}/core/routes/claude-routes.d.ts +0 -0
  530. /package/{ccw/dist → dist}/core/routes/claude-routes.d.ts.map +0 -0
  531. /package/{ccw/dist → dist}/core/routes/claude-routes.js +0 -0
  532. /package/{ccw/dist → dist}/core/routes/claude-routes.js.map +0 -0
  533. /package/{ccw/dist → dist}/core/routes/cli-routes.d.ts +0 -0
  534. /package/{ccw/dist → dist}/core/routes/cli-routes.d.ts.map +0 -0
  535. /package/{ccw/dist → dist}/core/routes/cli-routes.js +0 -0
  536. /package/{ccw/dist → dist}/core/routes/cli-routes.js.map +0 -0
  537. /package/{ccw/dist → dist}/core/routes/codexlens-routes.d.ts +0 -0
  538. /package/{ccw/dist → dist}/core/routes/core-memory-routes.d.ts +0 -0
  539. /package/{ccw/dist → dist}/core/routes/core-memory-routes.d.ts.map +0 -0
  540. /package/{ccw/dist → dist}/core/routes/core-memory-routes.js +0 -0
  541. /package/{ccw/dist → dist}/core/routes/core-memory-routes.js.map +0 -0
  542. /package/{ccw/dist → dist}/core/routes/files-routes.d.ts +0 -0
  543. /package/{ccw/dist → dist}/core/routes/files-routes.d.ts.map +0 -0
  544. /package/{ccw/dist → dist}/core/routes/files-routes.js +0 -0
  545. /package/{ccw/dist → dist}/core/routes/files-routes.js.map +0 -0
  546. /package/{ccw/dist → dist}/core/routes/graph-routes.d.ts +0 -0
  547. /package/{ccw/dist → dist}/core/routes/graph-routes.d.ts.map +0 -0
  548. /package/{ccw/dist → dist}/core/routes/graph-routes.js +0 -0
  549. /package/{ccw/dist → dist}/core/routes/graph-routes.js.map +0 -0
  550. /package/{ccw/dist → dist}/core/routes/help-routes.d.ts +0 -0
  551. /package/{ccw/dist → dist}/core/routes/help-routes.d.ts.map +0 -0
  552. /package/{ccw/dist → dist}/core/routes/help-routes.js +0 -0
  553. /package/{ccw/dist → dist}/core/routes/help-routes.js.map +0 -0
  554. /package/{ccw/dist → dist}/core/routes/hooks-routes.d.ts +0 -0
  555. /package/{ccw/dist → dist}/core/routes/hooks-routes.d.ts.map +0 -0
  556. /package/{ccw/dist → dist}/core/routes/hooks-routes.js +0 -0
  557. /package/{ccw/dist → dist}/core/routes/hooks-routes.js.map +0 -0
  558. /package/{ccw/dist → dist}/core/routes/mcp-routes.d.ts +0 -0
  559. /package/{ccw/dist → dist}/core/routes/mcp-routes.d.ts.map +0 -0
  560. /package/{ccw/dist → dist}/core/routes/mcp-routes.js +0 -0
  561. /package/{ccw/dist → dist}/core/routes/mcp-routes.js.map +0 -0
  562. /package/{ccw/dist → dist}/core/routes/mcp-templates-db.d.ts +0 -0
  563. /package/{ccw/dist → dist}/core/routes/mcp-templates-db.d.ts.map +0 -0
  564. /package/{ccw/dist → dist}/core/routes/mcp-templates-db.js +0 -0
  565. /package/{ccw/dist → dist}/core/routes/mcp-templates-db.js.map +0 -0
  566. /package/{ccw/dist → dist}/core/routes/memory-routes.d.ts +0 -0
  567. /package/{ccw/dist → dist}/core/routes/memory-routes.d.ts.map +0 -0
  568. /package/{ccw/dist → dist}/core/routes/memory-routes.js +0 -0
  569. /package/{ccw/dist → dist}/core/routes/memory-routes.js.map +0 -0
  570. /package/{ccw/dist → dist}/core/routes/rules-routes.d.ts +0 -0
  571. /package/{ccw/dist → dist}/core/routes/rules-routes.d.ts.map +0 -0
  572. /package/{ccw/dist → dist}/core/routes/rules-routes.js +0 -0
  573. /package/{ccw/dist → dist}/core/routes/rules-routes.js.map +0 -0
  574. /package/{ccw/dist → dist}/core/routes/session-routes.d.ts +0 -0
  575. /package/{ccw/dist → dist}/core/routes/session-routes.d.ts.map +0 -0
  576. /package/{ccw/dist → dist}/core/routes/session-routes.js +0 -0
  577. /package/{ccw/dist → dist}/core/routes/session-routes.js.map +0 -0
  578. /package/{ccw/dist → dist}/core/routes/skills-routes.d.ts +0 -0
  579. /package/{ccw/dist → dist}/core/routes/skills-routes.d.ts.map +0 -0
  580. /package/{ccw/dist → dist}/core/routes/skills-routes.js +0 -0
  581. /package/{ccw/dist → dist}/core/routes/skills-routes.js.map +0 -0
  582. /package/{ccw/dist → dist}/core/routes/status-routes.d.ts +0 -0
  583. /package/{ccw/dist → dist}/core/routes/status-routes.d.ts.map +0 -0
  584. /package/{ccw/dist → dist}/core/routes/status-routes.js +0 -0
  585. /package/{ccw/dist → dist}/core/routes/status-routes.js.map +0 -0
  586. /package/{ccw/dist → dist}/core/routes/system-routes.d.ts +0 -0
  587. /package/{ccw/dist → dist}/core/routes/system-routes.d.ts.map +0 -0
  588. /package/{ccw/dist → dist}/core/routes/system-routes.js +0 -0
  589. /package/{ccw/dist → dist}/core/routes/system-routes.js.map +0 -0
  590. /package/{ccw/dist → dist}/core/server.d.ts +0 -0
  591. /package/{ccw/dist → dist}/core/server.d.ts.map +0 -0
  592. /package/{ccw/dist → dist}/core/server.js +0 -0
  593. /package/{ccw/dist → dist}/core/server.js.map +0 -0
  594. /package/{ccw/dist → dist}/core/session-clustering-service.d.ts +0 -0
  595. /package/{ccw/dist → dist}/core/session-clustering-service.d.ts.map +0 -0
  596. /package/{ccw/dist → dist}/core/session-clustering-service.js +0 -0
  597. /package/{ccw/dist → dist}/core/session-clustering-service.js.map +0 -0
  598. /package/{ccw/dist → dist}/core/session-scanner.d.ts +0 -0
  599. /package/{ccw/dist → dist}/core/session-scanner.d.ts.map +0 -0
  600. /package/{ccw/dist → dist}/core/session-scanner.js +0 -0
  601. /package/{ccw/dist → dist}/core/session-scanner.js.map +0 -0
  602. /package/{ccw/dist → dist}/core/websocket.d.ts +0 -0
  603. /package/{ccw/dist → dist}/core/websocket.d.ts.map +0 -0
  604. /package/{ccw/dist → dist}/core/websocket.js +0 -0
  605. /package/{ccw/dist → dist}/core/websocket.js.map +0 -0
  606. /package/{ccw/dist → dist}/index.d.ts +0 -0
  607. /package/{ccw/dist → dist}/index.d.ts.map +0 -0
  608. /package/{ccw/dist → dist}/index.js +0 -0
  609. /package/{ccw/dist → dist}/index.js.map +0 -0
  610. /package/{ccw/dist → dist}/mcp-server/index.d.ts +0 -0
  611. /package/{ccw/dist → dist}/mcp-server/index.d.ts.map +0 -0
  612. /package/{ccw/dist → dist}/mcp-server/index.js +0 -0
  613. /package/{ccw/dist → dist}/mcp-server/index.js.map +0 -0
  614. /package/{ccw/dist → dist}/tools/classify-folders.d.ts +0 -0
  615. /package/{ccw/dist → dist}/tools/classify-folders.d.ts.map +0 -0
  616. /package/{ccw/dist → dist}/tools/classify-folders.js +0 -0
  617. /package/{ccw/dist → dist}/tools/classify-folders.js.map +0 -0
  618. /package/{ccw/dist → dist}/tools/cli-config-manager.d.ts +0 -0
  619. /package/{ccw/dist → dist}/tools/cli-config-manager.d.ts.map +0 -0
  620. /package/{ccw/dist → dist}/tools/cli-config-manager.js +0 -0
  621. /package/{ccw/dist → dist}/tools/cli-config-manager.js.map +0 -0
  622. /package/{ccw/dist → dist}/tools/cli-executor.d.ts +0 -0
  623. /package/{ccw/dist → dist}/tools/cli-executor.d.ts.map +0 -0
  624. /package/{ccw/dist → dist}/tools/cli-executor.js +0 -0
  625. /package/{ccw/dist → dist}/tools/cli-executor.js.map +0 -0
  626. /package/{ccw/dist → dist}/tools/cli-history-store.d.ts +0 -0
  627. /package/{ccw/dist → dist}/tools/cli-history-store.d.ts.map +0 -0
  628. /package/{ccw/dist → dist}/tools/cli-history-store.js +0 -0
  629. /package/{ccw/dist → dist}/tools/cli-history-store.js.map +0 -0
  630. /package/{ccw/dist → dist}/tools/convert-tokens-to-css.d.ts +0 -0
  631. /package/{ccw/dist → dist}/tools/convert-tokens-to-css.d.ts.map +0 -0
  632. /package/{ccw/dist → dist}/tools/convert-tokens-to-css.js +0 -0
  633. /package/{ccw/dist → dist}/tools/convert-tokens-to-css.js.map +0 -0
  634. /package/{ccw/dist → dist}/tools/core-memory.d.ts +0 -0
  635. /package/{ccw/dist → dist}/tools/core-memory.d.ts.map +0 -0
  636. /package/{ccw/dist → dist}/tools/core-memory.js +0 -0
  637. /package/{ccw/dist → dist}/tools/core-memory.js.map +0 -0
  638. /package/{ccw/dist → dist}/tools/detect-changed-modules.d.ts +0 -0
  639. /package/{ccw/dist → dist}/tools/detect-changed-modules.d.ts.map +0 -0
  640. /package/{ccw/dist → dist}/tools/detect-changed-modules.js +0 -0
  641. /package/{ccw/dist → dist}/tools/detect-changed-modules.js.map +0 -0
  642. /package/{ccw/dist → dist}/tools/discover-design-files.d.ts +0 -0
  643. /package/{ccw/dist → dist}/tools/discover-design-files.d.ts.map +0 -0
  644. /package/{ccw/dist → dist}/tools/discover-design-files.js +0 -0
  645. /package/{ccw/dist → dist}/tools/discover-design-files.js.map +0 -0
  646. /package/{ccw/dist → dist}/tools/edit-file.d.ts +0 -0
  647. /package/{ccw/dist → dist}/tools/edit-file.d.ts.map +0 -0
  648. /package/{ccw/dist → dist}/tools/edit-file.js +0 -0
  649. /package/{ccw/dist → dist}/tools/edit-file.js.map +0 -0
  650. /package/{ccw/dist → dist}/tools/generate-module-docs.d.ts +0 -0
  651. /package/{ccw/dist → dist}/tools/generate-module-docs.d.ts.map +0 -0
  652. /package/{ccw/dist → dist}/tools/generate-module-docs.js +0 -0
  653. /package/{ccw/dist → dist}/tools/generate-module-docs.js.map +0 -0
  654. /package/{ccw/dist → dist}/tools/get-modules-by-depth.d.ts +0 -0
  655. /package/{ccw/dist → dist}/tools/get-modules-by-depth.d.ts.map +0 -0
  656. /package/{ccw/dist → dist}/tools/get-modules-by-depth.js +0 -0
  657. /package/{ccw/dist → dist}/tools/get-modules-by-depth.js.map +0 -0
  658. /package/{ccw/dist → dist}/tools/index.d.ts +0 -0
  659. /package/{ccw/dist → dist}/tools/index.d.ts.map +0 -0
  660. /package/{ccw/dist → dist}/tools/index.js +0 -0
  661. /package/{ccw/dist → dist}/tools/index.js.map +0 -0
  662. /package/{ccw/dist → dist}/tools/native-session-discovery.d.ts +0 -0
  663. /package/{ccw/dist → dist}/tools/native-session-discovery.d.ts.map +0 -0
  664. /package/{ccw/dist → dist}/tools/native-session-discovery.js +0 -0
  665. /package/{ccw/dist → dist}/tools/native-session-discovery.js.map +0 -0
  666. /package/{ccw/dist → dist}/tools/notifier.d.ts +0 -0
  667. /package/{ccw/dist → dist}/tools/notifier.d.ts.map +0 -0
  668. /package/{ccw/dist → dist}/tools/notifier.js +0 -0
  669. /package/{ccw/dist → dist}/tools/notifier.js.map +0 -0
  670. /package/{ccw/dist → dist}/tools/read-file.d.ts +0 -0
  671. /package/{ccw/dist → dist}/tools/read-file.d.ts.map +0 -0
  672. /package/{ccw/dist → dist}/tools/read-file.js +0 -0
  673. /package/{ccw/dist → dist}/tools/read-file.js.map +0 -0
  674. /package/{ccw/dist → dist}/tools/resume-strategy.d.ts +0 -0
  675. /package/{ccw/dist → dist}/tools/resume-strategy.d.ts.map +0 -0
  676. /package/{ccw/dist → dist}/tools/resume-strategy.js +0 -0
  677. /package/{ccw/dist → dist}/tools/resume-strategy.js.map +0 -0
  678. /package/{ccw/dist → dist}/tools/session-content-parser.d.ts +0 -0
  679. /package/{ccw/dist → dist}/tools/session-content-parser.d.ts.map +0 -0
  680. /package/{ccw/dist → dist}/tools/session-content-parser.js +0 -0
  681. /package/{ccw/dist → dist}/tools/session-content-parser.js.map +0 -0
  682. /package/{ccw/dist → dist}/tools/session-manager.d.ts +0 -0
  683. /package/{ccw/dist → dist}/tools/session-manager.d.ts.map +0 -0
  684. /package/{ccw/dist → dist}/tools/session-manager.js +0 -0
  685. /package/{ccw/dist → dist}/tools/session-manager.js.map +0 -0
  686. /package/{ccw/dist → dist}/tools/smart-context.d.ts +0 -0
  687. /package/{ccw/dist → dist}/tools/smart-context.d.ts.map +0 -0
  688. /package/{ccw/dist → dist}/tools/smart-context.js +0 -0
  689. /package/{ccw/dist → dist}/tools/smart-context.js.map +0 -0
  690. /package/{ccw/dist → dist}/tools/smart-search.d.ts +0 -0
  691. /package/{ccw/dist → dist}/tools/smart-search.d.ts.map +0 -0
  692. /package/{ccw/dist → dist}/tools/smart-search.js +0 -0
  693. /package/{ccw/dist → dist}/tools/smart-search.js.map +0 -0
  694. /package/{ccw/dist → dist}/tools/storage-manager.d.ts +0 -0
  695. /package/{ccw/dist → dist}/tools/storage-manager.d.ts.map +0 -0
  696. /package/{ccw/dist → dist}/tools/storage-manager.js +0 -0
  697. /package/{ccw/dist → dist}/tools/storage-manager.js.map +0 -0
  698. /package/{ccw/dist → dist}/tools/ui-generate-preview.d.ts +0 -0
  699. /package/{ccw/dist → dist}/tools/ui-generate-preview.d.ts.map +0 -0
  700. /package/{ccw/dist → dist}/tools/ui-generate-preview.js +0 -0
  701. /package/{ccw/dist → dist}/tools/ui-generate-preview.js.map +0 -0
  702. /package/{ccw/dist → dist}/tools/ui-instantiate-prototypes.d.ts +0 -0
  703. /package/{ccw/dist → dist}/tools/ui-instantiate-prototypes.d.ts.map +0 -0
  704. /package/{ccw/dist → dist}/tools/ui-instantiate-prototypes.js +0 -0
  705. /package/{ccw/dist → dist}/tools/ui-instantiate-prototypes.js.map +0 -0
  706. /package/{ccw/dist → dist}/tools/update-module-claude.d.ts +0 -0
  707. /package/{ccw/dist → dist}/tools/update-module-claude.d.ts.map +0 -0
  708. /package/{ccw/dist → dist}/tools/update-module-claude.js +0 -0
  709. /package/{ccw/dist → dist}/tools/update-module-claude.js.map +0 -0
  710. /package/{ccw/dist → dist}/tools/write-file.d.ts +0 -0
  711. /package/{ccw/dist → dist}/tools/write-file.d.ts.map +0 -0
  712. /package/{ccw/dist → dist}/tools/write-file.js +0 -0
  713. /package/{ccw/dist → dist}/tools/write-file.js.map +0 -0
  714. /package/{ccw/dist → dist}/types/config.d.ts +0 -0
  715. /package/{ccw/dist → dist}/types/config.d.ts.map +0 -0
  716. /package/{ccw/dist → dist}/types/config.js +0 -0
  717. /package/{ccw/dist → dist}/types/config.js.map +0 -0
  718. /package/{ccw/dist → dist}/types/index.d.ts +0 -0
  719. /package/{ccw/dist → dist}/types/index.d.ts.map +0 -0
  720. /package/{ccw/dist → dist}/types/index.js +0 -0
  721. /package/{ccw/dist → dist}/types/index.js.map +0 -0
  722. /package/{ccw/dist → dist}/types/session.d.ts +0 -0
  723. /package/{ccw/dist → dist}/types/session.d.ts.map +0 -0
  724. /package/{ccw/dist → dist}/types/session.js +0 -0
  725. /package/{ccw/dist → dist}/types/session.js.map +0 -0
  726. /package/{ccw/dist → dist}/types/tool.d.ts +0 -0
  727. /package/{ccw/dist → dist}/types/tool.d.ts.map +0 -0
  728. /package/{ccw/dist → dist}/types/tool.js +0 -0
  729. /package/{ccw/dist → dist}/types/tool.js.map +0 -0
  730. /package/{ccw/dist → dist}/utils/browser-launcher.d.ts +0 -0
  731. /package/{ccw/dist → dist}/utils/browser-launcher.d.ts.map +0 -0
  732. /package/{ccw/dist → dist}/utils/browser-launcher.js +0 -0
  733. /package/{ccw/dist → dist}/utils/browser-launcher.js.map +0 -0
  734. /package/{ccw/dist → dist}/utils/file-utils.d.ts +0 -0
  735. /package/{ccw/dist → dist}/utils/file-utils.d.ts.map +0 -0
  736. /package/{ccw/dist → dist}/utils/file-utils.js +0 -0
  737. /package/{ccw/dist → dist}/utils/file-utils.js.map +0 -0
  738. /package/{ccw/dist → dist}/utils/path-resolver.d.ts +0 -0
  739. /package/{ccw/dist → dist}/utils/path-resolver.d.ts.map +0 -0
  740. /package/{ccw/dist → dist}/utils/path-resolver.js +0 -0
  741. /package/{ccw/dist → dist}/utils/path-resolver.js.map +0 -0
  742. /package/{ccw/dist → dist}/utils/path-validator.d.ts +0 -0
  743. /package/{ccw/dist → dist}/utils/path-validator.d.ts.map +0 -0
  744. /package/{ccw/dist → dist}/utils/path-validator.js +0 -0
  745. /package/{ccw/dist → dist}/utils/path-validator.js.map +0 -0
  746. /package/{ccw/dist → dist}/utils/ui.d.ts +0 -0
  747. /package/{ccw/dist → dist}/utils/ui.d.ts.map +0 -0
  748. /package/{ccw/dist → dist}/utils/ui.js +0 -0
  749. /package/{ccw/dist → dist}/utils/ui.js.map +0 -0
  750. /package/{ccw/src → src}/.workflow/.cli-history/history.db +0 -0
  751. /package/{ccw/src → src}/.workflow/.cli-history/history.db-shm +0 -0
  752. /package/{ccw/src → src}/.workflow/.cli-history/history.db-wal +0 -0
  753. /package/{ccw/src → src}/cli.ts +0 -0
  754. /package/{ccw/src → src}/commands/cli.ts +0 -0
  755. /package/{ccw/src → src}/commands/core-memory.ts +0 -0
  756. /package/{ccw/src → src}/commands/hook.ts +0 -0
  757. /package/{ccw/src → src}/commands/install.ts +0 -0
  758. /package/{ccw/src → src}/commands/list.ts +0 -0
  759. /package/{ccw/src → src}/commands/memory.ts +0 -0
  760. /package/{ccw/src → src}/commands/serve.ts +0 -0
  761. /package/{ccw/src → src}/commands/session-path-resolver.ts +0 -0
  762. /package/{ccw/src → src}/commands/session.ts +0 -0
  763. /package/{ccw/src → src}/commands/stop.ts +0 -0
  764. /package/{ccw/src → src}/commands/tool.ts +0 -0
  765. /package/{ccw/src → src}/commands/uninstall.ts +0 -0
  766. /package/{ccw/src → src}/commands/upgrade.ts +0 -0
  767. /package/{ccw/src → src}/commands/view.ts +0 -0
  768. /package/{ccw/src → src}/config/storage-paths.ts +0 -0
  769. /package/{ccw/src → src}/core/cache-manager.ts +0 -0
  770. /package/{ccw/src → src}/core/claude-freshness.ts +0 -0
  771. /package/{ccw/src → src}/core/core-memory-store.ts +0 -0
  772. /package/{ccw/src → src}/core/dashboard-generator-patch.ts +0 -0
  773. /package/{ccw/src → src}/core/dashboard-generator.ts +0 -0
  774. /package/{ccw/src → src}/core/data-aggregator.ts +0 -0
  775. /package/{ccw/src → src}/core/history-importer.ts +0 -0
  776. /package/{ccw/src → src}/core/lite-scanner-complete.ts +0 -0
  777. /package/{ccw/src → src}/core/lite-scanner.ts +0 -0
  778. /package/{ccw/src → src}/core/manifest.ts +0 -0
  779. /package/{ccw/src → src}/core/memory-embedder-bridge.ts +0 -0
  780. /package/{ccw/src → src}/core/memory-store.ts +0 -0
  781. /package/{ccw/src → src}/core/routes/ccw-routes.ts +0 -0
  782. /package/{ccw/src → src}/core/routes/claude-routes.ts +0 -0
  783. /package/{ccw/src → src}/core/routes/cli-routes.ts +0 -0
  784. /package/{ccw/src → src}/core/routes/core-memory-routes.ts +0 -0
  785. /package/{ccw/src → src}/core/routes/files-routes.ts +0 -0
  786. /package/{ccw/src → src}/core/routes/graph-routes.md +0 -0
  787. /package/{ccw/src → src}/core/routes/graph-routes.ts +0 -0
  788. /package/{ccw/src → src}/core/routes/help-routes.ts +0 -0
  789. /package/{ccw/src → src}/core/routes/hooks-routes.ts +0 -0
  790. /package/{ccw/src → src}/core/routes/mcp-routes.ts +0 -0
  791. /package/{ccw/src → src}/core/routes/mcp-routes.ts.backup +0 -0
  792. /package/{ccw/src → src}/core/routes/mcp-templates-db.ts +0 -0
  793. /package/{ccw/src → src}/core/routes/memory-routes.ts +0 -0
  794. /package/{ccw/src → src}/core/routes/rules-routes.ts +0 -0
  795. /package/{ccw/src → src}/core/routes/session-routes.ts +0 -0
  796. /package/{ccw/src → src}/core/routes/skills-routes.ts +0 -0
  797. /package/{ccw/src → src}/core/routes/status-routes.ts +0 -0
  798. /package/{ccw/src → src}/core/routes/system-routes.ts +0 -0
  799. /package/{ccw/src → src}/core/server.ts +0 -0
  800. /package/{ccw/src → src}/core/session-clustering-service.ts +0 -0
  801. /package/{ccw/src → src}/core/session-scanner.ts +0 -0
  802. /package/{ccw/src → src}/core/websocket.ts +0 -0
  803. /package/{ccw/src → src}/index.ts +0 -0
  804. /package/{ccw/src → src}/mcp-server/index.ts +0 -0
  805. /package/{ccw/src → src}/templates/assets/css/github-dark.min.css +0 -0
  806. /package/{ccw/src → src}/templates/assets/css/github.min.css +0 -0
  807. /package/{ccw/src → src}/templates/assets/js/cytoscape.min.js +0 -0
  808. /package/{ccw/src → src}/templates/assets/js/d3.min.js +0 -0
  809. /package/{ccw/src → src}/templates/assets/js/highlight.min.js +0 -0
  810. /package/{ccw/src → src}/templates/assets/js/lucide.min.js +0 -0
  811. /package/{ccw/src → src}/templates/assets/js/marked.min.js +0 -0
  812. /package/{ccw/src → src}/templates/assets/js/tailwind.js +0 -0
  813. /package/{ccw/src → src}/templates/dashboard-css/01-base.css +0 -0
  814. /package/{ccw/src → src}/templates/dashboard-css/02-session.css +0 -0
  815. /package/{ccw/src → src}/templates/dashboard-css/03-tasks.css +0 -0
  816. /package/{ccw/src → src}/templates/dashboard-css/04-lite-tasks.css +0 -0
  817. /package/{ccw/src → src}/templates/dashboard-css/05-context.css +0 -0
  818. /package/{ccw/src → src}/templates/dashboard-css/06-cards.css +0 -0
  819. /package/{ccw/src → src}/templates/dashboard-css/07-managers.css +0 -0
  820. /package/{ccw/src → src}/templates/dashboard-css/08-review.css +0 -0
  821. /package/{ccw/src → src}/templates/dashboard-css/09-explorer.css +0 -0
  822. /package/{ccw/src → src}/templates/dashboard-css/10-cli-status.css +0 -0
  823. /package/{ccw/src → src}/templates/dashboard-css/11-cli-history.css +0 -0
  824. /package/{ccw/src → src}/templates/dashboard-css/12-cli-legacy.css +0 -0
  825. /package/{ccw/src → src}/templates/dashboard-css/13-cli-ccw.css +0 -0
  826. /package/{ccw/src → src}/templates/dashboard-css/14-cli-modals.css +0 -0
  827. /package/{ccw/src → src}/templates/dashboard-css/15-cli-endpoints.css +0 -0
  828. /package/{ccw/src → src}/templates/dashboard-css/16-cli-session.css +0 -0
  829. /package/{ccw/src → src}/templates/dashboard-css/17-cli-conversation.css +0 -0
  830. /package/{ccw/src → src}/templates/dashboard-css/18-cli-settings.css +0 -0
  831. /package/{ccw/src → src}/templates/dashboard-css/19-cli-native-session.css +0 -0
  832. /package/{ccw/src → src}/templates/dashboard-css/20-cli-taskqueue.css +0 -0
  833. /package/{ccw/src → src}/templates/dashboard-css/21-cli-toolmgmt.css +0 -0
  834. /package/{ccw/src → src}/templates/dashboard-css/22-cli-semantic.css +0 -0
  835. /package/{ccw/src → src}/templates/dashboard-css/23-memory.css +0 -0
  836. /package/{ccw/src → src}/templates/dashboard-css/24-prompt-history.css +0 -0
  837. /package/{ccw/src → src}/templates/dashboard-css/25-skills-rules.css +0 -0
  838. /package/{ccw/src → src}/templates/dashboard-css/26-claude-manager.css +0 -0
  839. /package/{ccw/src → src}/templates/dashboard-css/27-graph-explorer.css +0 -0
  840. /package/{ccw/src → src}/templates/dashboard-css/28-mcp-manager.css +0 -0
  841. /package/{ccw/src → src}/templates/dashboard-css/29-help.css +0 -0
  842. /package/{ccw/src → src}/templates/dashboard-css/30-core-memory.css +0 -0
  843. /package/{ccw/src → src}/templates/dashboard-js/api.js +0 -0
  844. /package/{ccw/src → src}/templates/dashboard-js/components/_conflict_tab.js +0 -0
  845. /package/{ccw/src → src}/templates/dashboard-js/components/_exp_helpers.js +0 -0
  846. /package/{ccw/src → src}/templates/dashboard-js/components/_review_tab.js +0 -0
  847. /package/{ccw/src → src}/templates/dashboard-js/components/carousel.js +0 -0
  848. /package/{ccw/src → src}/templates/dashboard-js/components/cli-history.js +0 -0
  849. /package/{ccw/src → src}/templates/dashboard-js/components/cli-status.js +0 -0
  850. /package/{ccw/src → src}/templates/dashboard-js/components/flowchart.js +0 -0
  851. /package/{ccw/src → src}/templates/dashboard-js/components/global-notifications.js +0 -0
  852. /package/{ccw/src → src}/templates/dashboard-js/components/hook-manager.js +0 -0
  853. /package/{ccw/src → src}/templates/dashboard-js/components/index-manager.js +0 -0
  854. /package/{ccw/src → src}/templates/dashboard-js/components/modals.js +0 -0
  855. /package/{ccw/src → src}/templates/dashboard-js/components/navigation.js +0 -0
  856. /package/{ccw/src → src}/templates/dashboard-js/components/notifications.js +0 -0
  857. /package/{ccw/src → src}/templates/dashboard-js/components/sidebar.js +0 -0
  858. /package/{ccw/src → src}/templates/dashboard-js/components/storage-manager.js +0 -0
  859. /package/{ccw/src → src}/templates/dashboard-js/components/tabs-context.js +0 -0
  860. /package/{ccw/src → src}/templates/dashboard-js/components/tabs-other.js +0 -0
  861. /package/{ccw/src → src}/templates/dashboard-js/components/task-drawer-core.js +0 -0
  862. /package/{ccw/src → src}/templates/dashboard-js/components/task-drawer-renderers.js +0 -0
  863. /package/{ccw/src → src}/templates/dashboard-js/components/task-queue-sidebar.js +0 -0
  864. /package/{ccw/src → src}/templates/dashboard-js/components/theme.js +0 -0
  865. /package/{ccw/src → src}/templates/dashboard-js/components/version-check.js +0 -0
  866. /package/{ccw/src → src}/templates/dashboard-js/help-i18n.js +0 -0
  867. /package/{ccw/src → src}/templates/dashboard-js/main.js +0 -0
  868. /package/{ccw/src → src}/templates/dashboard-js/state.js +0 -0
  869. /package/{ccw/src → src}/templates/dashboard-js/utils.js +0 -0
  870. /package/{ccw/src → src}/templates/dashboard-js/views/claude-manager.js +0 -0
  871. /package/{ccw/src → src}/templates/dashboard-js/views/cli-manager.js +0 -0
  872. /package/{ccw/src → src}/templates/dashboard-js/views/core-memory-clusters.js +0 -0
  873. /package/{ccw/src → src}/templates/dashboard-js/views/core-memory.js +0 -0
  874. /package/{ccw/src → src}/templates/dashboard-js/views/explorer.js +0 -0
  875. /package/{ccw/src → src}/templates/dashboard-js/views/fix-session.js +0 -0
  876. /package/{ccw/src → src}/templates/dashboard-js/views/graph-explorer.js +0 -0
  877. /package/{ccw/src → src}/templates/dashboard-js/views/help.js +0 -0
  878. /package/{ccw/src → src}/templates/dashboard-js/views/history.js +0 -0
  879. /package/{ccw/src → src}/templates/dashboard-js/views/home.js +0 -0
  880. /package/{ccw/src → src}/templates/dashboard-js/views/hook-manager.js +0 -0
  881. /package/{ccw/src → src}/templates/dashboard-js/views/lite-tasks.js +0 -0
  882. /package/{ccw/src → src}/templates/dashboard-js/views/mcp-manager.js +0 -0
  883. /package/{ccw/src → src}/templates/dashboard-js/views/mcp-manager.js.backup +0 -0
  884. /package/{ccw/src → src}/templates/dashboard-js/views/mcp-manager.js.new +0 -0
  885. /package/{ccw/src → src}/templates/dashboard-js/views/memory.js +0 -0
  886. /package/{ccw/src → src}/templates/dashboard-js/views/project-overview.js +0 -0
  887. /package/{ccw/src → src}/templates/dashboard-js/views/prompt-history.js +0 -0
  888. /package/{ccw/src → src}/templates/dashboard-js/views/review-session.js +0 -0
  889. /package/{ccw/src → src}/templates/dashboard-js/views/rules-manager.js +0 -0
  890. /package/{ccw/src → src}/templates/dashboard-js/views/session-detail.js +0 -0
  891. /package/{ccw/src → src}/templates/dashboard-js/views/skills-manager.js +0 -0
  892. /package/{ccw/src → src}/templates/dashboard.html +0 -0
  893. /package/{ccw/src → src}/templates/hooks-config-example.json +0 -0
  894. /package/{ccw/src → src}/templates/review-cycle-dashboard.html +0 -0
  895. /package/{ccw/src → src}/templates/workflow-dashboard.html +0 -0
  896. /package/{ccw/src → src}/tools/classify-folders.ts +0 -0
  897. /package/{ccw/src → src}/tools/cli-config-manager.ts +0 -0
  898. /package/{ccw/src → src}/tools/cli-executor.ts +0 -0
  899. /package/{ccw/src → src}/tools/cli-history-store.ts +0 -0
  900. /package/{ccw/src → src}/tools/convert-tokens-to-css.ts +0 -0
  901. /package/{ccw/src → src}/tools/core-memory.ts +0 -0
  902. /package/{ccw/src → src}/tools/detect-changed-modules.ts +0 -0
  903. /package/{ccw/src → src}/tools/discover-design-files.ts +0 -0
  904. /package/{ccw/src → src}/tools/edit-file.ts +0 -0
  905. /package/{ccw/src → src}/tools/generate-module-docs.ts +0 -0
  906. /package/{ccw/src → src}/tools/get-modules-by-depth.ts +0 -0
  907. /package/{ccw/src → src}/tools/index.ts +0 -0
  908. /package/{ccw/src → src}/tools/native-session-discovery.ts +0 -0
  909. /package/{ccw/src → src}/tools/notifier.ts +0 -0
  910. /package/{ccw/src → src}/tools/read-file.ts +0 -0
  911. /package/{ccw/src → src}/tools/resume-strategy.ts +0 -0
  912. /package/{ccw/src → src}/tools/session-content-parser.ts +0 -0
  913. /package/{ccw/src → src}/tools/session-manager.ts +0 -0
  914. /package/{ccw/src → src}/tools/smart-context.ts +0 -0
  915. /package/{ccw/src → src}/tools/smart-search.ts +0 -0
  916. /package/{ccw/src → src}/tools/smart-search.ts.backup +0 -0
  917. /package/{ccw/src → src}/tools/storage-manager.ts +0 -0
  918. /package/{ccw/src → src}/tools/ui-generate-preview.js +0 -0
  919. /package/{ccw/src → src}/tools/ui-instantiate-prototypes.js +0 -0
  920. /package/{ccw/src → src}/tools/update-module-claude.js +0 -0
  921. /package/{ccw/src → src}/tools/write-file.ts +0 -0
  922. /package/{ccw/src → src}/types/config.ts +0 -0
  923. /package/{ccw/src → src}/types/index.ts +0 -0
  924. /package/{ccw/src → src}/types/session.ts +0 -0
  925. /package/{ccw/src → src}/types/tool.ts +0 -0
  926. /package/{ccw/src → src}/utils/browser-launcher.ts +0 -0
  927. /package/{ccw/src → src}/utils/file-utils.ts +0 -0
  928. /package/{ccw/src → src}/utils/path-resolver.ts +0 -0
  929. /package/{ccw/src → src}/utils/path-validator.ts +0 -0
  930. /package/{ccw/src → src}/utils/ui.ts +0 -0
@@ -1,776 +0,0 @@
1
- """Hierarchical index tree builder for CodexLens.
2
-
3
- Constructs a bottom-up directory index tree with parallel processing support.
4
- Each directory maintains its own _index.db with files and subdirectory links.
5
- """
6
-
7
- from __future__ import annotations
8
-
9
- import logging
10
- import os
11
- import time
12
- from concurrent.futures import ProcessPoolExecutor, as_completed
13
- from dataclasses import dataclass
14
- from pathlib import Path
15
- from typing import Dict, List, Optional, Set
16
-
17
- from codexlens.config import Config
18
- from codexlens.parsers.factory import ParserFactory
19
- from codexlens.storage.dir_index import DirIndexStore
20
- from codexlens.storage.path_mapper import PathMapper
21
- from codexlens.storage.registry import ProjectInfo, RegistryStore
22
-
23
-
24
- @dataclass
25
- class BuildResult:
26
- """Complete build operation result."""
27
-
28
- project_id: int
29
- source_root: Path
30
- index_root: Path
31
- total_files: int
32
- total_dirs: int
33
- errors: List[str]
34
-
35
-
36
- @dataclass
37
- class DirBuildResult:
38
- """Single directory build result."""
39
-
40
- source_path: Path
41
- index_path: Path
42
- files_count: int
43
- symbols_count: int
44
- subdirs: List[str] # Subdirectory names
45
- error: Optional[str] = None
46
-
47
-
48
- class IndexTreeBuilder:
49
- """Hierarchical index tree builder with parallel processing.
50
-
51
- Builds directory indexes bottom-up to enable proper subdirectory linking.
52
- Each directory gets its own _index.db containing:
53
- - Files in that directory
54
- - Links to child directory indexes
55
- - Symbols and FTS5 search
56
-
57
- Attributes:
58
- registry: Global project registry
59
- mapper: Path mapping between source and index
60
- config: CodexLens configuration
61
- parser_factory: Parser factory for symbol extraction
62
- logger: Logger instance
63
- IGNORE_DIRS: Set of directory names to skip during indexing
64
- """
65
-
66
- # Directories to skip during indexing
67
- IGNORE_DIRS: Set[str] = {
68
- ".git",
69
- ".venv",
70
- "venv",
71
- "node_modules",
72
- "__pycache__",
73
- ".codexlens",
74
- ".idea",
75
- ".vscode",
76
- }
77
-
78
- def __init__(
79
- self, registry: RegistryStore, mapper: PathMapper, config: Config = None, incremental: bool = True
80
- ):
81
- """Initialize the index tree builder.
82
-
83
- Args:
84
- registry: Global registry store for project tracking
85
- mapper: Path mapper for source to index conversions
86
- config: CodexLens configuration (uses defaults if None)
87
- incremental: Enable incremental indexing (default True)
88
- """
89
- self.registry = registry
90
- self.mapper = mapper
91
- self.config = config or Config()
92
- self.parser_factory = ParserFactory(self.config)
93
- self.logger = logging.getLogger(__name__)
94
- self.incremental = incremental
95
-
96
- def build(
97
- self,
98
- source_root: Path,
99
- languages: List[str] = None,
100
- workers: int = None,
101
- force_full: bool = False,
102
- ) -> BuildResult:
103
- """Build complete index tree for a project.
104
-
105
- Process:
106
- 1. Register project in registry
107
- 2. Collect all directories grouped by depth
108
- 3. Build indexes bottom-up (deepest first)
109
- 4. Link subdirectories to parents
110
- 5. Update project statistics
111
- 6. Cleanup deleted files (if incremental mode)
112
-
113
- Args:
114
- source_root: Project root directory to index
115
- languages: Optional list of language IDs to limit indexing
116
- workers: Number of parallel worker processes
117
- force_full: Force full reindex (override incremental mode)
118
-
119
- Returns:
120
- BuildResult with statistics and errors
121
-
122
- Raises:
123
- ValueError: If source_root doesn't exist
124
- """
125
- source_root = source_root.resolve()
126
- if not source_root.exists():
127
- raise ValueError(f"Source root does not exist: {source_root}")
128
-
129
- # Auto-detect optimal worker count if not specified
130
- if workers is None:
131
- workers = min(os.cpu_count() or 4, 16) # Cap at 16 workers
132
- self.logger.debug("Auto-detected %d workers for parallel indexing", workers)
133
-
134
- # Override incremental mode if force_full is True
135
- use_incremental = self.incremental and not force_full
136
- if force_full:
137
- self.logger.info("Building index tree for %s (FULL reindex)", source_root)
138
- else:
139
- self.logger.info("Building index tree for %s (incremental=%s)", source_root, use_incremental)
140
-
141
- # Register project
142
- index_root = self.mapper.source_to_index_dir(source_root)
143
- project_info = self.registry.register_project(source_root, index_root)
144
-
145
- # Report progress: discovering files (5%)
146
- print("Discovering files...", flush=True)
147
-
148
- # Collect directories by depth
149
- dirs_by_depth = self._collect_dirs_by_depth(source_root, languages)
150
-
151
- if not dirs_by_depth:
152
- self.logger.warning("No indexable directories found in %s", source_root)
153
- return BuildResult(
154
- project_id=project_info.id,
155
- source_root=source_root,
156
- index_root=index_root,
157
- total_files=0,
158
- total_dirs=0,
159
- errors=["No indexable directories found"],
160
- )
161
-
162
- # Calculate total directories for progress tracking
163
- total_dirs_to_process = sum(len(dirs) for dirs in dirs_by_depth.values())
164
- processed_dirs = 0
165
-
166
- # Report progress: building index (10%)
167
- print("Building index...", flush=True)
168
-
169
- total_files = 0
170
- total_dirs = 0
171
- all_errors: List[str] = []
172
- all_results: List[DirBuildResult] = [] # Store all results for subdir linking
173
-
174
- # Build bottom-up (highest depth first)
175
- max_depth = max(dirs_by_depth.keys())
176
- for depth in range(max_depth, -1, -1):
177
- if depth not in dirs_by_depth:
178
- continue
179
-
180
- dirs = dirs_by_depth[depth]
181
- self.logger.info("Building %d directories at depth %d", len(dirs), depth)
182
-
183
- # Build directories at this level in parallel
184
- results = self._build_level_parallel(dirs, languages, workers)
185
- all_results.extend(results)
186
-
187
- # Process results
188
- for result in results:
189
- if result.error:
190
- all_errors.append(f"{result.source_path}: {result.error}")
191
- processed_dirs += 1
192
- continue
193
-
194
- total_files += result.files_count
195
- total_dirs += 1
196
- processed_dirs += 1
197
-
198
- # Report progress for each processed directory (10-80%)
199
- # Use "Processing file" format for frontend parser compatibility
200
- progress_percent = 10 + int((processed_dirs / total_dirs_to_process) * 70)
201
- print(f"Processing file {processed_dirs}/{total_dirs_to_process}: {result.source_path.name}", flush=True)
202
-
203
- # Register directory in registry
204
- self.registry.register_dir(
205
- project_id=project_info.id,
206
- source_path=result.source_path,
207
- index_path=result.index_path,
208
- depth=self.mapper.get_relative_depth(result.source_path, source_root),
209
- files_count=result.files_count,
210
- )
211
-
212
- # Report progress: linking subdirectories (80%)
213
- print("Linking subdirectories...", flush=True)
214
-
215
- # After building all directories, link subdirectories to parents
216
- # This needs to happen after all indexes exist
217
- for result in all_results:
218
- if result.error:
219
- continue
220
- # Link children to this directory
221
- self._link_children_to_parent(result.source_path, all_results)
222
-
223
- # Cleanup deleted files if in incremental mode
224
- if use_incremental:
225
- # Report progress: cleaning up (90%)
226
- print("Cleaning up deleted files...", flush=True)
227
- self.logger.info("Cleaning up deleted files...")
228
- total_deleted = 0
229
- for result in all_results:
230
- if result.error:
231
- continue
232
- try:
233
- with DirIndexStore(result.index_path) as store:
234
- deleted_count = store.cleanup_deleted_files(result.source_path)
235
- total_deleted += deleted_count
236
- if deleted_count > 0:
237
- self.logger.debug("Removed %d deleted files from %s", deleted_count, result.source_path)
238
- except Exception as exc:
239
- self.logger.warning("Cleanup failed for %s: %s", result.source_path, exc)
240
-
241
- if total_deleted > 0:
242
- self.logger.info("Removed %d deleted files from index", total_deleted)
243
-
244
- # Report progress: finalizing (95%)
245
- print("Finalizing...", flush=True)
246
-
247
- # Update project statistics
248
- self.registry.update_project_stats(source_root, total_files, total_dirs)
249
-
250
- # Report completion (100%)
251
- print(f"Indexed {total_files} files", flush=True)
252
-
253
- self.logger.info(
254
- "Index build complete: %d files, %d directories, %d errors",
255
- total_files,
256
- total_dirs,
257
- len(all_errors),
258
- )
259
-
260
- return BuildResult(
261
- project_id=project_info.id,
262
- source_root=source_root,
263
- index_root=index_root,
264
- total_files=total_files,
265
- total_dirs=total_dirs,
266
- errors=all_errors,
267
- )
268
-
269
- def update_subtree(
270
- self,
271
- source_path: Path,
272
- languages: List[str] = None,
273
- workers: int = None,
274
- ) -> BuildResult:
275
- """Incrementally update a subtree.
276
-
277
- Rebuilds indexes for the specified directory and all subdirectories.
278
- Useful for incremental updates when only part of the tree changed.
279
-
280
- Args:
281
- source_path: Root of subtree to update
282
- languages: Optional list of language IDs to limit indexing
283
- workers: Number of parallel worker processes
284
-
285
- Returns:
286
- BuildResult for the subtree
287
-
288
- Raises:
289
- ValueError: If source_path is not indexed
290
- """
291
- source_path = source_path.resolve()
292
- project_root = self.mapper.get_project_root(source_path)
293
-
294
- # Get project info
295
- project_info = self.registry.get_project(project_root)
296
- if not project_info:
297
- raise ValueError(f"Directory not indexed: {source_path}")
298
-
299
- self.logger.info("Updating subtree at %s", source_path)
300
-
301
- # Use build logic but start from source_path
302
- return self.build(source_path, languages, workers)
303
-
304
- def rebuild_dir(self, source_path: Path) -> DirBuildResult:
305
- """Rebuild index for a single directory.
306
-
307
- Only rebuilds the specified directory, does not touch subdirectories.
308
- Useful for updating a single directory after file changes.
309
-
310
- Args:
311
- source_path: Directory to rebuild
312
-
313
- Returns:
314
- DirBuildResult for the directory
315
- """
316
- source_path = source_path.resolve()
317
- self.logger.info("Rebuilding directory %s", source_path)
318
- return self._build_single_dir(source_path)
319
-
320
- # === Internal Methods ===
321
-
322
- def _collect_dirs_by_depth(
323
- self, source_root: Path, languages: List[str] = None
324
- ) -> Dict[int, List[Path]]:
325
- """Collect all indexable directories grouped by depth.
326
-
327
- Walks the directory tree and groups directories by their depth
328
- relative to source_root. Depth 0 is the root itself.
329
-
330
- Args:
331
- source_root: Root directory to start from
332
- languages: Optional language filter
333
-
334
- Returns:
335
- Dictionary mapping depth to list of directory paths
336
- Example: {0: [root], 1: [src, tests], 2: [src/api, src/utils]}
337
- """
338
- source_root = source_root.resolve()
339
- dirs_by_depth: Dict[int, List[Path]] = {}
340
-
341
- # Always include the root directory at depth 0 for chain search entry point
342
- dirs_by_depth[0] = [source_root]
343
-
344
- for root, dirnames, _ in os.walk(source_root):
345
- # Filter out ignored directories
346
- dirnames[:] = [
347
- d
348
- for d in dirnames
349
- if d not in self.IGNORE_DIRS and not d.startswith(".")
350
- ]
351
-
352
- root_path = Path(root)
353
-
354
- # Skip root (already added)
355
- if root_path == source_root:
356
- continue
357
-
358
- # Check if this directory should be indexed
359
- if not self._should_index_dir(root_path, languages):
360
- continue
361
-
362
- # Calculate depth relative to source_root
363
- try:
364
- depth = len(root_path.relative_to(source_root).parts)
365
- except ValueError:
366
- continue
367
-
368
- if depth not in dirs_by_depth:
369
- dirs_by_depth[depth] = []
370
-
371
- dirs_by_depth[depth].append(root_path)
372
-
373
- return dirs_by_depth
374
-
375
- def _should_index_dir(self, dir_path: Path, languages: List[str] = None) -> bool:
376
- """Check if directory should be indexed.
377
-
378
- A directory is indexed if:
379
- 1. It's not in IGNORE_DIRS
380
- 2. It doesn't start with '.'
381
- 3. It contains at least one supported language file
382
-
383
- Args:
384
- dir_path: Directory to check
385
- languages: Optional language filter
386
-
387
- Returns:
388
- True if directory should be indexed
389
- """
390
- # Check directory name
391
- if dir_path.name in self.IGNORE_DIRS or dir_path.name.startswith("."):
392
- return False
393
-
394
- # Check for supported files in this directory
395
- source_files = self._iter_source_files(dir_path, languages)
396
- return len(source_files) > 0
397
-
398
- def _build_level_parallel(
399
- self, dirs: List[Path], languages: List[str], workers: int
400
- ) -> List[DirBuildResult]:
401
- """Build multiple directories in parallel.
402
-
403
- Uses ProcessPoolExecutor to build directories concurrently.
404
- All directories at the same level are independent and can be
405
- processed in parallel.
406
-
407
- Args:
408
- dirs: List of directories to build
409
- languages: Language filter
410
- workers: Number of worker processes
411
-
412
- Returns:
413
- List of DirBuildResult objects
414
- """
415
- results: List[DirBuildResult] = []
416
-
417
- if not dirs:
418
- return results
419
-
420
- # For single directory, avoid overhead of process pool
421
- if len(dirs) == 1:
422
- result = self._build_single_dir(dirs[0], languages)
423
- return [result]
424
-
425
- # Prepare arguments for worker processes
426
- config_dict = {
427
- "data_dir": str(self.config.data_dir),
428
- "supported_languages": self.config.supported_languages,
429
- "parsing_rules": self.config.parsing_rules,
430
- }
431
-
432
- worker_args = [
433
- (
434
- dir_path,
435
- self.mapper.source_to_index_db(dir_path),
436
- languages,
437
- config_dict,
438
- )
439
- for dir_path in dirs
440
- ]
441
-
442
- # Execute in parallel
443
- with ProcessPoolExecutor(max_workers=workers) as executor:
444
- futures = {
445
- executor.submit(_build_dir_worker, args): args[0]
446
- for args in worker_args
447
- }
448
-
449
- for future in as_completed(futures):
450
- try:
451
- result = future.result()
452
- results.append(result)
453
- except Exception as exc:
454
- dir_path = futures[future]
455
- self.logger.error("Failed to build %s: %s", dir_path, exc)
456
- results.append(
457
- DirBuildResult(
458
- source_path=dir_path,
459
- index_path=self.mapper.source_to_index_db(dir_path),
460
- files_count=0,
461
- symbols_count=0,
462
- subdirs=[],
463
- error=str(exc),
464
- )
465
- )
466
-
467
- return results
468
-
469
- def _build_single_dir(
470
- self, dir_path: Path, languages: List[str] = None
471
- ) -> DirBuildResult:
472
- """Build index for a single directory.
473
-
474
- Creates _index.db and indexes all files in the directory.
475
- Does not recurse into subdirectories.
476
-
477
- Args:
478
- dir_path: Directory to index
479
- languages: Optional language filter
480
-
481
- Returns:
482
- DirBuildResult with statistics and subdirectory list
483
- """
484
- dir_path = dir_path.resolve()
485
- index_db_path = self.mapper.source_to_index_db(dir_path)
486
-
487
- try:
488
- # Ensure index directory exists
489
- index_db_path.parent.mkdir(parents=True, exist_ok=True)
490
-
491
- # Create directory index
492
- store = DirIndexStore(index_db_path)
493
- store.initialize()
494
-
495
- # Get source files in this directory only
496
- source_files = self._iter_source_files(dir_path, languages)
497
-
498
- files_count = 0
499
- symbols_count = 0
500
- skipped_count = 0
501
-
502
- for file_path in source_files:
503
- try:
504
- # Check if file needs reindexing (incremental mode)
505
- if self.incremental and not store.needs_reindex(file_path):
506
- skipped_count += 1
507
- continue
508
-
509
- # Read and parse file
510
- text = file_path.read_text(encoding="utf-8", errors="ignore")
511
- language_id = self.config.language_for_path(file_path)
512
- if not language_id:
513
- continue
514
-
515
- parser = self.parser_factory.get_parser(language_id)
516
- indexed_file = parser.parse(text, file_path)
517
-
518
- # Add to directory index
519
- store.add_file(
520
- name=file_path.name,
521
- full_path=file_path,
522
- content=text,
523
- language=language_id,
524
- symbols=indexed_file.symbols,
525
- )
526
-
527
- files_count += 1
528
- symbols_count += len(indexed_file.symbols)
529
-
530
- except Exception as exc:
531
- self.logger.debug("Failed to index %s: %s", file_path, exc)
532
- continue
533
-
534
- # Get list of subdirectories
535
- subdirs = [
536
- d.name
537
- for d in dir_path.iterdir()
538
- if d.is_dir()
539
- and d.name not in self.IGNORE_DIRS
540
- and not d.name.startswith(".")
541
- ]
542
-
543
- store.close()
544
-
545
- if skipped_count > 0:
546
- self.logger.debug(
547
- "Built %s: %d files indexed, %d skipped (unchanged), %d symbols, %d subdirs",
548
- dir_path,
549
- files_count,
550
- skipped_count,
551
- symbols_count,
552
- len(subdirs),
553
- )
554
- else:
555
- self.logger.debug(
556
- "Built %s: %d files, %d symbols, %d subdirs",
557
- dir_path,
558
- files_count,
559
- symbols_count,
560
- len(subdirs),
561
- )
562
-
563
- return DirBuildResult(
564
- source_path=dir_path,
565
- index_path=index_db_path,
566
- files_count=files_count,
567
- symbols_count=symbols_count,
568
- subdirs=subdirs,
569
- )
570
-
571
- except Exception as exc:
572
- self.logger.error("Failed to build directory %s: %s", dir_path, exc)
573
- return DirBuildResult(
574
- source_path=dir_path,
575
- index_path=index_db_path,
576
- files_count=0,
577
- symbols_count=0,
578
- subdirs=[],
579
- error=str(exc),
580
- )
581
-
582
- def _link_children_to_parent(
583
- self, parent_path: Path, all_results: List[DirBuildResult]
584
- ) -> None:
585
- """Link child directory indexes to parent's subdirs table.
586
-
587
- Finds all direct children of parent_path in all_results and
588
- registers them as subdirectories in the parent's index.
589
-
590
- Args:
591
- parent_path: Parent directory path
592
- all_results: List of all build results
593
- """
594
- parent_index_db = self.mapper.source_to_index_db(parent_path)
595
-
596
- try:
597
- store = DirIndexStore(parent_index_db)
598
- store.initialize()
599
-
600
- for result in all_results:
601
- # Only register direct children (parent is one level up)
602
- if result.source_path.parent != parent_path:
603
- continue
604
-
605
- if result.error:
606
- continue
607
-
608
- # Register subdirectory link
609
- store.register_subdir(
610
- name=result.source_path.name,
611
- index_path=result.index_path,
612
- files_count=result.files_count,
613
- direct_files=result.files_count,
614
- )
615
- self.logger.debug(
616
- "Linked %s to parent %s",
617
- result.source_path.name,
618
- parent_path,
619
- )
620
-
621
- store.close()
622
-
623
- except Exception as exc:
624
- self.logger.error(
625
- "Failed to link children to %s: %s", parent_path, exc
626
- )
627
-
628
- def _iter_source_files(
629
- self, dir_path: Path, languages: List[str] = None
630
- ) -> List[Path]:
631
- """Iterate source files in directory (non-recursive).
632
-
633
- Returns files in the specified directory that match language filters.
634
- Does not recurse into subdirectories.
635
-
636
- Args:
637
- dir_path: Directory to scan
638
- languages: Optional language filter
639
-
640
- Returns:
641
- List of source file paths
642
- """
643
- files: List[Path] = []
644
-
645
- if not dir_path.is_dir():
646
- return files
647
-
648
- for item in dir_path.iterdir():
649
- if not item.is_file():
650
- continue
651
-
652
- if item.name.startswith("."):
653
- continue
654
-
655
- # Check language support
656
- language_id = self.config.language_for_path(item)
657
- if not language_id:
658
- continue
659
-
660
- # Apply language filter
661
- if languages and language_id not in languages:
662
- continue
663
-
664
- files.append(item)
665
-
666
- return files
667
-
668
-
669
- # === Worker Function for ProcessPoolExecutor ===
670
-
671
-
672
- def _build_dir_worker(args: tuple) -> DirBuildResult:
673
- """Worker function for parallel directory building.
674
-
675
- Must be at module level for ProcessPoolExecutor pickling.
676
- Reconstructs necessary objects from serializable arguments.
677
-
678
- Args:
679
- args: Tuple of (dir_path, index_db_path, languages, config_dict)
680
-
681
- Returns:
682
- DirBuildResult for the directory
683
- """
684
- dir_path, index_db_path, languages, config_dict = args
685
-
686
- # Reconstruct config
687
- config = Config(
688
- data_dir=Path(config_dict["data_dir"]),
689
- supported_languages=config_dict["supported_languages"],
690
- parsing_rules=config_dict["parsing_rules"],
691
- )
692
-
693
- parser_factory = ParserFactory(config)
694
-
695
- try:
696
- # Ensure index directory exists
697
- index_db_path.parent.mkdir(parents=True, exist_ok=True)
698
-
699
- # Create directory index
700
- store = DirIndexStore(index_db_path)
701
- store.initialize()
702
-
703
- files_count = 0
704
- symbols_count = 0
705
-
706
- # Index files in this directory
707
- for item in dir_path.iterdir():
708
- if not item.is_file():
709
- continue
710
-
711
- if item.name.startswith("."):
712
- continue
713
-
714
- language_id = config.language_for_path(item)
715
- if not language_id:
716
- continue
717
-
718
- if languages and language_id not in languages:
719
- continue
720
-
721
- try:
722
- text = item.read_text(encoding="utf-8", errors="ignore")
723
- parser = parser_factory.get_parser(language_id)
724
- indexed_file = parser.parse(text, item)
725
-
726
- store.add_file(
727
- name=item.name,
728
- full_path=item,
729
- content=text,
730
- language=language_id,
731
- symbols=indexed_file.symbols,
732
- )
733
-
734
- files_count += 1
735
- symbols_count += len(indexed_file.symbols)
736
-
737
- except Exception:
738
- continue
739
-
740
- # Get subdirectories
741
- ignore_dirs = {
742
- ".git",
743
- ".venv",
744
- "venv",
745
- "node_modules",
746
- "__pycache__",
747
- ".codexlens",
748
- ".idea",
749
- ".vscode",
750
- }
751
-
752
- subdirs = [
753
- d.name
754
- for d in dir_path.iterdir()
755
- if d.is_dir() and d.name not in ignore_dirs and not d.name.startswith(".")
756
- ]
757
-
758
- store.close()
759
-
760
- return DirBuildResult(
761
- source_path=dir_path,
762
- index_path=index_db_path,
763
- files_count=files_count,
764
- symbols_count=symbols_count,
765
- subdirs=subdirs,
766
- )
767
-
768
- except Exception as exc:
769
- return DirBuildResult(
770
- source_path=dir_path,
771
- index_path=index_db_path,
772
- files_count=0,
773
- symbols_count=0,
774
- subdirs=[],
775
- error=str(exc),
776
- )