claude-code-workflow 6.2.3 → 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 +32 -37
  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,670 +0,0 @@
1
- """Global project registry for CodexLens - SQLite storage."""
2
-
3
- from __future__ import annotations
4
-
5
- import sqlite3
6
- import threading
7
- import time
8
- from dataclasses import dataclass
9
- from pathlib import Path
10
- from typing import Any, Dict, List, Optional
11
-
12
- from codexlens.errors import StorageError
13
-
14
-
15
- @dataclass
16
- class ProjectInfo:
17
- """Registered project information."""
18
-
19
- id: int
20
- source_root: Path
21
- index_root: Path
22
- created_at: float
23
- last_indexed: float
24
- total_files: int
25
- total_dirs: int
26
- status: str
27
-
28
-
29
- @dataclass
30
- class DirMapping:
31
- """Directory to index path mapping."""
32
-
33
- id: int
34
- project_id: int
35
- source_path: Path
36
- index_path: Path
37
- depth: int
38
- files_count: int
39
- last_updated: float
40
-
41
-
42
- class RegistryStore:
43
- """Global project registry - SQLite storage.
44
-
45
- Manages indexed projects and directory-to-index path mappings.
46
- Thread-safe with connection pooling.
47
- """
48
-
49
- DEFAULT_DB_PATH = Path.home() / ".codexlens" / "registry.db"
50
-
51
- def __init__(self, db_path: Path | None = None) -> None:
52
- self.db_path = (db_path or self.DEFAULT_DB_PATH).resolve()
53
- self._lock = threading.RLock()
54
- self._local = threading.local()
55
- self._pool_lock = threading.Lock()
56
- self._pool: Dict[int, sqlite3.Connection] = {}
57
- self._pool_generation = 0
58
-
59
- def _get_connection(self) -> sqlite3.Connection:
60
- """Get or create a thread-local database connection."""
61
- thread_id = threading.get_ident()
62
- if getattr(self._local, "generation", None) == self._pool_generation:
63
- conn = getattr(self._local, "conn", None)
64
- if conn is not None:
65
- return conn
66
-
67
- with self._pool_lock:
68
- conn = self._pool.get(thread_id)
69
- if conn is None:
70
- conn = sqlite3.connect(self.db_path, check_same_thread=False)
71
- conn.row_factory = sqlite3.Row
72
- conn.execute("PRAGMA journal_mode=WAL")
73
- conn.execute("PRAGMA synchronous=NORMAL")
74
- conn.execute("PRAGMA foreign_keys=ON")
75
- self._pool[thread_id] = conn
76
-
77
- self._local.conn = conn
78
- self._local.generation = self._pool_generation
79
- return conn
80
-
81
- def close(self) -> None:
82
- """Close all pooled connections."""
83
- with self._lock:
84
- with self._pool_lock:
85
- for conn in self._pool.values():
86
- conn.close()
87
- self._pool.clear()
88
- self._pool_generation += 1
89
-
90
- if hasattr(self._local, "conn"):
91
- self._local.conn = None
92
- if hasattr(self._local, "generation"):
93
- self._local.generation = self._pool_generation
94
-
95
- def __enter__(self) -> RegistryStore:
96
- self.initialize()
97
- return self
98
-
99
- def __exit__(self, exc_type: object, exc: object, tb: object) -> None:
100
- self.close()
101
-
102
- def initialize(self) -> None:
103
- """Create database and schema."""
104
- with self._lock:
105
- self.db_path.parent.mkdir(parents=True, exist_ok=True)
106
- conn = self._get_connection()
107
- self._create_schema(conn)
108
-
109
- def _create_schema(self, conn: sqlite3.Connection) -> None:
110
- """Create database schema."""
111
- try:
112
- conn.execute(
113
- """
114
- CREATE TABLE IF NOT EXISTS projects (
115
- id INTEGER PRIMARY KEY,
116
- source_root TEXT UNIQUE NOT NULL,
117
- index_root TEXT NOT NULL,
118
- created_at REAL,
119
- last_indexed REAL,
120
- total_files INTEGER DEFAULT 0,
121
- total_dirs INTEGER DEFAULT 0,
122
- status TEXT DEFAULT 'active'
123
- )
124
- """
125
- )
126
-
127
- conn.execute(
128
- """
129
- CREATE TABLE IF NOT EXISTS dir_mapping (
130
- id INTEGER PRIMARY KEY,
131
- project_id INTEGER REFERENCES projects(id) ON DELETE CASCADE,
132
- source_path TEXT NOT NULL,
133
- index_path TEXT NOT NULL,
134
- depth INTEGER,
135
- files_count INTEGER DEFAULT 0,
136
- last_updated REAL,
137
- UNIQUE(source_path)
138
- )
139
- """
140
- )
141
-
142
- conn.execute(
143
- "CREATE INDEX IF NOT EXISTS idx_dir_source ON dir_mapping(source_path)"
144
- )
145
- conn.execute(
146
- "CREATE INDEX IF NOT EXISTS idx_dir_project ON dir_mapping(project_id)"
147
- )
148
- conn.execute(
149
- "CREATE INDEX IF NOT EXISTS idx_project_source ON projects(source_root)"
150
- )
151
-
152
- conn.commit()
153
- except sqlite3.DatabaseError as exc:
154
- raise StorageError(f"Failed to initialize registry schema: {exc}") from exc
155
-
156
- # === Project Operations ===
157
-
158
- def register_project(self, source_root: Path, index_root: Path) -> ProjectInfo:
159
- """Register a new project or update existing one.
160
-
161
- Args:
162
- source_root: Source code root directory
163
- index_root: Index storage root directory
164
-
165
- Returns:
166
- ProjectInfo for the registered project
167
- """
168
- with self._lock:
169
- conn = self._get_connection()
170
- source_root_str = str(source_root.resolve())
171
- index_root_str = str(index_root.resolve())
172
- now = time.time()
173
-
174
- conn.execute(
175
- """
176
- INSERT INTO projects(source_root, index_root, created_at, last_indexed)
177
- VALUES(?, ?, ?, ?)
178
- ON CONFLICT(source_root) DO UPDATE SET
179
- index_root=excluded.index_root,
180
- last_indexed=excluded.last_indexed,
181
- status='active'
182
- """,
183
- (source_root_str, index_root_str, now, now),
184
- )
185
-
186
- row = conn.execute(
187
- "SELECT * FROM projects WHERE source_root=?", (source_root_str,)
188
- ).fetchone()
189
-
190
- conn.commit()
191
-
192
- if not row:
193
- raise StorageError(f"Failed to register project: {source_root}")
194
-
195
- return self._row_to_project_info(row)
196
-
197
- def unregister_project(self, source_root: Path) -> bool:
198
- """Remove a project registration (cascades to directory mappings).
199
-
200
- Args:
201
- source_root: Source code root directory
202
-
203
- Returns:
204
- True if project was removed, False if not found
205
- """
206
- with self._lock:
207
- conn = self._get_connection()
208
- source_root_str = str(source_root.resolve())
209
-
210
- row = conn.execute(
211
- "SELECT id FROM projects WHERE source_root=?", (source_root_str,)
212
- ).fetchone()
213
-
214
- if not row:
215
- return False
216
-
217
- conn.execute("DELETE FROM projects WHERE source_root=?", (source_root_str,))
218
- conn.commit()
219
- return True
220
-
221
- def get_project(self, source_root: Path) -> Optional[ProjectInfo]:
222
- """Get project information by source root.
223
-
224
- Args:
225
- source_root: Source code root directory
226
-
227
- Returns:
228
- ProjectInfo if found, None otherwise
229
- """
230
- with self._lock:
231
- conn = self._get_connection()
232
- source_root_str = str(source_root.resolve())
233
-
234
- row = conn.execute(
235
- "SELECT * FROM projects WHERE source_root=?", (source_root_str,)
236
- ).fetchone()
237
-
238
- return self._row_to_project_info(row) if row else None
239
-
240
- def get_project_by_id(self, project_id: int) -> Optional[ProjectInfo]:
241
- """Get project information by ID.
242
-
243
- Args:
244
- project_id: Project database ID
245
-
246
- Returns:
247
- ProjectInfo if found, None otherwise
248
- """
249
- with self._lock:
250
- conn = self._get_connection()
251
-
252
- row = conn.execute(
253
- "SELECT * FROM projects WHERE id=?", (project_id,)
254
- ).fetchone()
255
-
256
- return self._row_to_project_info(row) if row else None
257
-
258
- def list_projects(self, status: Optional[str] = None) -> List[ProjectInfo]:
259
- """List all registered projects.
260
-
261
- Args:
262
- status: Optional status filter ('active', 'stale', 'removed')
263
-
264
- Returns:
265
- List of ProjectInfo objects
266
- """
267
- with self._lock:
268
- conn = self._get_connection()
269
-
270
- if status:
271
- rows = conn.execute(
272
- "SELECT * FROM projects WHERE status=? ORDER BY created_at DESC",
273
- (status,),
274
- ).fetchall()
275
- else:
276
- rows = conn.execute(
277
- "SELECT * FROM projects ORDER BY created_at DESC"
278
- ).fetchall()
279
-
280
- return [self._row_to_project_info(row) for row in rows]
281
-
282
- def update_project_stats(
283
- self, source_root: Path, total_files: int, total_dirs: int
284
- ) -> None:
285
- """Update project statistics.
286
-
287
- Args:
288
- source_root: Source code root directory
289
- total_files: Total number of indexed files
290
- total_dirs: Total number of indexed directories
291
- """
292
- with self._lock:
293
- conn = self._get_connection()
294
- source_root_str = str(source_root.resolve())
295
-
296
- conn.execute(
297
- """
298
- UPDATE projects
299
- SET total_files=?, total_dirs=?, last_indexed=?
300
- WHERE source_root=?
301
- """,
302
- (total_files, total_dirs, time.time(), source_root_str),
303
- )
304
- conn.commit()
305
-
306
- def set_project_status(self, source_root: Path, status: str) -> None:
307
- """Set project status.
308
-
309
- Args:
310
- source_root: Source code root directory
311
- status: Status string ('active', 'stale', 'removed')
312
- """
313
- with self._lock:
314
- conn = self._get_connection()
315
- source_root_str = str(source_root.resolve())
316
-
317
- conn.execute(
318
- "UPDATE projects SET status=? WHERE source_root=?",
319
- (status, source_root_str),
320
- )
321
- conn.commit()
322
-
323
- # === Directory Mapping Operations ===
324
-
325
- def register_dir(
326
- self,
327
- project_id: int,
328
- source_path: Path,
329
- index_path: Path,
330
- depth: int,
331
- files_count: int = 0,
332
- ) -> DirMapping:
333
- """Register a directory mapping.
334
-
335
- Args:
336
- project_id: Project database ID
337
- source_path: Source directory path
338
- index_path: Index database path
339
- depth: Directory depth relative to project root
340
- files_count: Number of files in directory
341
-
342
- Returns:
343
- DirMapping for the registered directory
344
- """
345
- with self._lock:
346
- conn = self._get_connection()
347
- source_path_str = str(source_path.resolve())
348
- index_path_str = str(index_path.resolve())
349
- now = time.time()
350
-
351
- conn.execute(
352
- """
353
- INSERT INTO dir_mapping(
354
- project_id, source_path, index_path, depth, files_count, last_updated
355
- )
356
- VALUES(?, ?, ?, ?, ?, ?)
357
- ON CONFLICT(source_path) DO UPDATE SET
358
- index_path=excluded.index_path,
359
- depth=excluded.depth,
360
- files_count=excluded.files_count,
361
- last_updated=excluded.last_updated
362
- """,
363
- (project_id, source_path_str, index_path_str, depth, files_count, now),
364
- )
365
-
366
- row = conn.execute(
367
- "SELECT * FROM dir_mapping WHERE source_path=?", (source_path_str,)
368
- ).fetchone()
369
-
370
- conn.commit()
371
-
372
- if not row:
373
- raise StorageError(f"Failed to register directory: {source_path}")
374
-
375
- return self._row_to_dir_mapping(row)
376
-
377
- def unregister_dir(self, source_path: Path) -> bool:
378
- """Remove a directory mapping.
379
-
380
- Args:
381
- source_path: Source directory path
382
-
383
- Returns:
384
- True if directory was removed, False if not found
385
- """
386
- with self._lock:
387
- conn = self._get_connection()
388
- source_path_str = str(source_path.resolve())
389
-
390
- row = conn.execute(
391
- "SELECT id FROM dir_mapping WHERE source_path=?", (source_path_str,)
392
- ).fetchone()
393
-
394
- if not row:
395
- return False
396
-
397
- conn.execute("DELETE FROM dir_mapping WHERE source_path=?", (source_path_str,))
398
- conn.commit()
399
- return True
400
-
401
- def find_index_path(self, source_path: Path) -> Optional[Path]:
402
- """Find index path for a source directory (exact match).
403
-
404
- Args:
405
- source_path: Source directory path
406
-
407
- Returns:
408
- Index path if found, None otherwise
409
- """
410
- with self._lock:
411
- conn = self._get_connection()
412
- source_path_str = str(source_path.resolve())
413
-
414
- row = conn.execute(
415
- "SELECT index_path FROM dir_mapping WHERE source_path=?",
416
- (source_path_str,),
417
- ).fetchone()
418
-
419
- return Path(row["index_path"]) if row else None
420
-
421
- def find_nearest_index(self, source_path: Path) -> Optional[DirMapping]:
422
- """Find nearest indexed ancestor directory.
423
-
424
- Searches for the closest parent directory that has an index.
425
- Useful for supporting subdirectory searches.
426
-
427
- Optimized to use single database query instead of iterating through
428
- each parent directory level.
429
-
430
- Args:
431
- source_path: Source directory or file path
432
-
433
- Returns:
434
- DirMapping for nearest ancestor, None if not found
435
- """
436
- with self._lock:
437
- conn = self._get_connection()
438
- source_path_resolved = source_path.resolve()
439
-
440
- # Build list of all parent paths from deepest to shallowest
441
- paths_to_check = []
442
- current = source_path_resolved
443
- while True:
444
- paths_to_check.append(str(current))
445
- parent = current.parent
446
- if parent == current: # Reached filesystem root
447
- break
448
- current = parent
449
-
450
- if not paths_to_check:
451
- return None
452
-
453
- # Single query with WHERE IN, ordered by path length (longest = nearest)
454
- placeholders = ','.join('?' * len(paths_to_check))
455
- query = f"""
456
- SELECT * FROM dir_mapping
457
- WHERE source_path IN ({placeholders})
458
- ORDER BY LENGTH(source_path) DESC
459
- LIMIT 1
460
- """
461
-
462
- row = conn.execute(query, paths_to_check).fetchone()
463
- return self._row_to_dir_mapping(row) if row else None
464
-
465
- def find_by_source_path(self, source_path: str) -> Optional[Dict[str, str]]:
466
- """Find project by source path (exact or nearest match).
467
-
468
- Searches for a project whose source_root matches or contains
469
- the given source_path.
470
-
471
- Args:
472
- source_path: Source directory path as string
473
-
474
- Returns:
475
- Dict with project info including 'index_root', or None if not found
476
- """
477
- with self._lock:
478
- conn = self._get_connection()
479
- source_path_resolved = str(Path(source_path).resolve())
480
-
481
- # First try exact match on projects table
482
- row = conn.execute(
483
- "SELECT * FROM projects WHERE source_root=?", (source_path_resolved,)
484
- ).fetchone()
485
-
486
- if row:
487
- return {
488
- "id": str(row["id"]),
489
- "source_root": row["source_root"],
490
- "index_root": row["index_root"],
491
- "status": row["status"] or "active",
492
- }
493
-
494
- # Try finding project that contains this path
495
- # Build list of all parent paths
496
- paths_to_check = []
497
- current = Path(source_path_resolved)
498
- while True:
499
- paths_to_check.append(str(current))
500
- parent = current.parent
501
- if parent == current:
502
- break
503
- current = parent
504
-
505
- if paths_to_check:
506
- placeholders = ','.join('?' * len(paths_to_check))
507
- query = f"""
508
- SELECT * FROM projects
509
- WHERE source_root IN ({placeholders})
510
- ORDER BY LENGTH(source_root) DESC
511
- LIMIT 1
512
- """
513
- row = conn.execute(query, paths_to_check).fetchone()
514
-
515
- if row:
516
- return {
517
- "id": str(row["id"]),
518
- "source_root": row["source_root"],
519
- "index_root": row["index_root"],
520
- "status": row["status"] or "active",
521
- }
522
-
523
- return None
524
-
525
- def get_project_dirs(self, project_id: int) -> List[DirMapping]:
526
- """Get all directory mappings for a project.
527
-
528
- Args:
529
- project_id: Project database ID
530
-
531
- Returns:
532
- List of DirMapping objects
533
- """
534
- with self._lock:
535
- conn = self._get_connection()
536
-
537
- rows = conn.execute(
538
- "SELECT * FROM dir_mapping WHERE project_id=? ORDER BY depth, source_path",
539
- (project_id,),
540
- ).fetchall()
541
-
542
- return [self._row_to_dir_mapping(row) for row in rows]
543
-
544
- def get_subdirs(self, source_path: Path) -> List[DirMapping]:
545
- """Get direct subdirectory mappings.
546
-
547
- Args:
548
- source_path: Parent directory path
549
-
550
- Returns:
551
- List of DirMapping objects for direct children
552
- """
553
- with self._lock:
554
- conn = self._get_connection()
555
- source_path_str = str(source_path.resolve())
556
-
557
- # First get the parent's depth
558
- parent_row = conn.execute(
559
- "SELECT depth, project_id FROM dir_mapping WHERE source_path=?",
560
- (source_path_str,),
561
- ).fetchone()
562
-
563
- if not parent_row:
564
- return []
565
-
566
- parent_depth = int(parent_row["depth"])
567
- project_id = int(parent_row["project_id"])
568
-
569
- # Get all subdirs with depth = parent_depth + 1 and matching path prefix
570
- rows = conn.execute(
571
- """
572
- SELECT * FROM dir_mapping
573
- WHERE project_id=? AND depth=? AND source_path LIKE ?
574
- ORDER BY source_path
575
- """,
576
- (project_id, parent_depth + 1, f"{source_path_str}%"),
577
- ).fetchall()
578
-
579
- return [self._row_to_dir_mapping(row) for row in rows]
580
-
581
- def update_dir_stats(self, source_path: Path, files_count: int) -> None:
582
- """Update directory statistics.
583
-
584
- Args:
585
- source_path: Source directory path
586
- files_count: Number of files in directory
587
- """
588
- with self._lock:
589
- conn = self._get_connection()
590
- source_path_str = str(source_path.resolve())
591
-
592
- conn.execute(
593
- """
594
- UPDATE dir_mapping
595
- SET files_count=?, last_updated=?
596
- WHERE source_path=?
597
- """,
598
- (files_count, time.time(), source_path_str),
599
- )
600
- conn.commit()
601
-
602
- def update_index_paths(self, old_root: Path, new_root: Path) -> int:
603
- """Update all index paths after migration.
604
-
605
- Replaces old_root prefix with new_root in all stored index paths.
606
-
607
- Args:
608
- old_root: Old index root directory
609
- new_root: New index root directory
610
-
611
- Returns:
612
- Number of paths updated
613
- """
614
- with self._lock:
615
- conn = self._get_connection()
616
- old_root_str = str(old_root.resolve())
617
- new_root_str = str(new_root.resolve())
618
- updated = 0
619
-
620
- # Update projects
621
- conn.execute(
622
- """
623
- UPDATE projects
624
- SET index_root = REPLACE(index_root, ?, ?)
625
- WHERE index_root LIKE ?
626
- """,
627
- (old_root_str, new_root_str, f"{old_root_str}%"),
628
- )
629
- updated += conn.total_changes
630
-
631
- # Update dir_mapping
632
- conn.execute(
633
- """
634
- UPDATE dir_mapping
635
- SET index_path = REPLACE(index_path, ?, ?)
636
- WHERE index_path LIKE ?
637
- """,
638
- (old_root_str, new_root_str, f"{old_root_str}%"),
639
- )
640
- updated += conn.total_changes
641
-
642
- conn.commit()
643
- return updated
644
-
645
- # === Internal Methods ===
646
-
647
- def _row_to_project_info(self, row: sqlite3.Row) -> ProjectInfo:
648
- """Convert database row to ProjectInfo."""
649
- return ProjectInfo(
650
- id=int(row["id"]),
651
- source_root=Path(row["source_root"]),
652
- index_root=Path(row["index_root"]),
653
- created_at=float(row["created_at"]) if row["created_at"] else 0.0,
654
- last_indexed=float(row["last_indexed"]) if row["last_indexed"] else 0.0,
655
- total_files=int(row["total_files"]) if row["total_files"] else 0,
656
- total_dirs=int(row["total_dirs"]) if row["total_dirs"] else 0,
657
- status=str(row["status"]) if row["status"] else "active",
658
- )
659
-
660
- def _row_to_dir_mapping(self, row: sqlite3.Row) -> DirMapping:
661
- """Convert database row to DirMapping."""
662
- return DirMapping(
663
- id=int(row["id"]),
664
- project_id=int(row["project_id"]),
665
- source_path=Path(row["source_path"]),
666
- index_path=Path(row["index_path"]),
667
- depth=int(row["depth"]) if row["depth"] is not None else 0,
668
- files_count=int(row["files_count"]) if row["files_count"] else 0,
669
- last_updated=float(row["last_updated"]) if row["last_updated"] else 0.0,
670
- )