claude-code-workflow 6.2.1 → 6.2.2

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 (927) hide show
  1. package/.claude/CLAUDE.md +10 -0
  2. package/.claude/agents/action-planning-agent.md +857 -0
  3. package/.claude/agents/cli-execution-agent.md +267 -0
  4. package/.claude/agents/cli-explore-agent.md +182 -0
  5. package/.claude/agents/cli-lite-planning-agent.md +446 -0
  6. package/.claude/agents/cli-planning-agent.md +558 -0
  7. package/.claude/agents/code-developer.md +311 -0
  8. package/.claude/agents/conceptual-planning-agent.md +308 -0
  9. package/.claude/agents/context-search-agent.md +581 -0
  10. package/.claude/agents/doc-generator.md +330 -0
  11. package/.claude/agents/memory-bridge.md +94 -0
  12. package/.claude/agents/test-context-search-agent.md +400 -0
  13. package/.claude/agents/test-fix-agent.md +344 -0
  14. package/.claude/agents/ui-design-agent.md +593 -0
  15. package/.claude/agents/universal-executor.md +131 -0
  16. package/.claude/commands/clean.md +516 -0
  17. package/.claude/commands/cli/cli-init.md +440 -0
  18. package/.claude/commands/enhance-prompt.md +93 -0
  19. package/.claude/commands/memory/code-map-memory.md +687 -0
  20. package/.claude/commands/memory/compact.md +383 -0
  21. package/.claude/commands/memory/docs-full-cli.md +471 -0
  22. package/.claude/commands/memory/docs-related-cli.md +386 -0
  23. package/.claude/commands/memory/docs.md +615 -0
  24. package/.claude/commands/memory/load-skill-memory.md +182 -0
  25. package/.claude/commands/memory/load.md +240 -0
  26. package/.claude/commands/memory/skill-memory.md +525 -0
  27. package/.claude/commands/memory/style-skill-memory.md +396 -0
  28. package/.claude/commands/memory/tech-research-rules.md +310 -0
  29. package/.claude/commands/memory/update-full.md +332 -0
  30. package/.claude/commands/memory/update-related.md +332 -0
  31. package/.claude/commands/memory/workflow-skill-memory.md +517 -0
  32. package/.claude/commands/task/breakdown.md +204 -0
  33. package/.claude/commands/task/create.md +152 -0
  34. package/.claude/commands/task/execute.md +270 -0
  35. package/.claude/commands/task/replan.md +437 -0
  36. package/.claude/commands/version.md +254 -0
  37. package/.claude/commands/workflow/action-plan-verify.md +447 -0
  38. package/.claude/commands/workflow/brainstorm/api-designer.md +587 -0
  39. package/.claude/commands/workflow/brainstorm/artifacts.md +453 -0
  40. package/.claude/commands/workflow/brainstorm/auto-parallel.md +443 -0
  41. package/.claude/commands/workflow/brainstorm/data-architect.md +220 -0
  42. package/.claude/commands/workflow/brainstorm/product-manager.md +200 -0
  43. package/.claude/commands/workflow/brainstorm/product-owner.md +200 -0
  44. package/.claude/commands/workflow/brainstorm/scrum-master.md +200 -0
  45. package/.claude/commands/workflow/brainstorm/subject-matter-expert.md +200 -0
  46. package/.claude/commands/workflow/brainstorm/synthesis.md +398 -0
  47. package/.claude/commands/workflow/brainstorm/system-architect.md +389 -0
  48. package/.claude/commands/workflow/brainstorm/ui-designer.md +221 -0
  49. package/.claude/commands/workflow/brainstorm/ux-expert.md +221 -0
  50. package/.claude/commands/workflow/debug.md +321 -0
  51. package/.claude/commands/workflow/execute.md +475 -0
  52. package/.claude/commands/workflow/init.md +165 -0
  53. package/.claude/commands/workflow/lite-execute.md +792 -0
  54. package/.claude/commands/workflow/lite-fix.md +623 -0
  55. package/.claude/commands/workflow/lite-plan.md +610 -0
  56. package/.claude/commands/workflow/plan.md +551 -0
  57. package/.claude/commands/workflow/replan.md +515 -0
  58. package/.claude/commands/workflow/review-fix.md +606 -0
  59. package/.claude/commands/workflow/review-module-cycle.md +767 -0
  60. package/.claude/commands/workflow/review-session-cycle.md +778 -0
  61. package/.claude/commands/workflow/review.md +297 -0
  62. package/.claude/commands/workflow/session/complete.md +153 -0
  63. package/.claude/commands/workflow/session/list.md +96 -0
  64. package/.claude/commands/workflow/session/resume.md +61 -0
  65. package/.claude/commands/workflow/session/start.md +200 -0
  66. package/.claude/commands/workflow/tdd-plan.md +460 -0
  67. package/.claude/commands/workflow/tdd-verify.md +400 -0
  68. package/.claude/commands/workflow/test-cycle-execute.md +500 -0
  69. package/.claude/commands/workflow/test-fix-gen.md +699 -0
  70. package/.claude/commands/workflow/test-gen.md +529 -0
  71. package/.claude/commands/workflow/tools/conflict-resolution.md +766 -0
  72. package/.claude/commands/workflow/tools/context-gather.md +436 -0
  73. package/.claude/commands/workflow/tools/task-generate-agent.md +490 -0
  74. package/.claude/commands/workflow/tools/task-generate-tdd.md +526 -0
  75. package/.claude/commands/workflow/tools/tdd-coverage-analysis.md +309 -0
  76. package/.claude/commands/workflow/tools/test-concept-enhanced.md +164 -0
  77. package/.claude/commands/workflow/tools/test-context-gather.md +236 -0
  78. package/.claude/commands/workflow/tools/test-task-generate.md +257 -0
  79. package/.claude/commands/workflow/ui-design/animation-extract.md +1150 -0
  80. package/.claude/commands/workflow/ui-design/codify-style.md +652 -0
  81. package/.claude/commands/workflow/ui-design/design-sync.md +454 -0
  82. package/.claude/commands/workflow/ui-design/explore-auto.md +678 -0
  83. package/.claude/commands/workflow/ui-design/generate.md +504 -0
  84. package/.claude/commands/workflow/ui-design/imitate-auto.md +745 -0
  85. package/.claude/commands/workflow/ui-design/import-from-code.md +540 -0
  86. package/.claude/commands/workflow/ui-design/layout-extract.md +788 -0
  87. package/.claude/commands/workflow/ui-design/reference-page-generator.md +356 -0
  88. package/.claude/commands/workflow/ui-design/style-extract.md +773 -0
  89. package/.claude/skills/command-guide/SKILL.md +388 -0
  90. package/.claude/skills/command-guide/UPDATE-GUIDELINE.md +592 -0
  91. package/.claude/skills/command-guide/guides/cli-tools-guide.md +410 -0
  92. package/.claude/skills/command-guide/guides/examples.md +537 -0
  93. package/.claude/skills/command-guide/guides/getting-started.md +242 -0
  94. package/.claude/skills/command-guide/guides/implementation-details.md +1010 -0
  95. package/.claude/skills/command-guide/guides/index-structure.md +326 -0
  96. package/.claude/skills/command-guide/guides/troubleshooting.md +92 -0
  97. package/.claude/skills/command-guide/guides/ui-design-workflow-guide.md +316 -0
  98. package/.claude/skills/command-guide/guides/workflow-patterns.md +662 -0
  99. package/.claude/skills/command-guide/index/all-commands.json +772 -0
  100. package/.claude/skills/command-guide/index/by-category.json +800 -0
  101. package/.claude/skills/command-guide/index/by-use-case.json +786 -0
  102. package/.claude/skills/command-guide/index/command-relationships.json +307 -0
  103. package/.claude/skills/command-guide/index/essential-commands.json +112 -0
  104. package/.claude/skills/command-guide/reference/agents/action-planning-agent.md +857 -0
  105. package/.claude/skills/command-guide/reference/agents/cli-execution-agent.md +267 -0
  106. package/.claude/skills/command-guide/reference/agents/cli-explore-agent.md +182 -0
  107. package/.claude/skills/command-guide/reference/agents/cli-lite-planning-agent.md +446 -0
  108. package/.claude/skills/command-guide/reference/agents/cli-planning-agent.md +558 -0
  109. package/.claude/skills/command-guide/reference/agents/code-developer.md +311 -0
  110. package/.claude/skills/command-guide/reference/agents/conceptual-planning-agent.md +308 -0
  111. package/.claude/skills/command-guide/reference/agents/context-search-agent.md +581 -0
  112. package/.claude/skills/command-guide/reference/agents/doc-generator.md +330 -0
  113. package/.claude/skills/command-guide/reference/agents/memory-bridge.md +94 -0
  114. package/.claude/skills/command-guide/reference/agents/test-context-search-agent.md +400 -0
  115. package/.claude/skills/command-guide/reference/agents/test-fix-agent.md +344 -0
  116. package/.claude/skills/command-guide/reference/agents/ui-design-agent.md +593 -0
  117. package/.claude/skills/command-guide/reference/agents/universal-executor.md +131 -0
  118. package/.claude/skills/command-guide/reference/commands/cli/cli-init.md +440 -0
  119. package/.claude/skills/command-guide/reference/commands/enhance-prompt.md +93 -0
  120. package/.claude/skills/command-guide/reference/commands/memory/code-map-memory.md +687 -0
  121. package/.claude/skills/command-guide/reference/commands/memory/docs-full-cli.md +471 -0
  122. package/.claude/skills/command-guide/reference/commands/memory/docs-related-cli.md +386 -0
  123. package/.claude/skills/command-guide/reference/commands/memory/docs.md +616 -0
  124. package/.claude/skills/command-guide/reference/commands/memory/load-skill-memory.md +182 -0
  125. package/.claude/skills/command-guide/reference/commands/memory/load.md +240 -0
  126. package/.claude/skills/command-guide/reference/commands/memory/skill-memory.md +525 -0
  127. package/.claude/skills/command-guide/reference/commands/memory/style-skill-memory.md +396 -0
  128. package/.claude/skills/command-guide/reference/commands/memory/tech-research.md +314 -0
  129. package/.claude/skills/command-guide/reference/commands/memory/update-full.md +332 -0
  130. package/.claude/skills/command-guide/reference/commands/memory/update-related.md +332 -0
  131. package/.claude/skills/command-guide/reference/commands/memory/workflow-skill-memory.md +517 -0
  132. package/.claude/skills/command-guide/reference/commands/task/breakdown.md +204 -0
  133. package/.claude/skills/command-guide/reference/commands/task/create.md +152 -0
  134. package/.claude/skills/command-guide/reference/commands/task/execute.md +270 -0
  135. package/.claude/skills/command-guide/reference/commands/task/replan.md +437 -0
  136. package/.claude/skills/command-guide/reference/commands/version.md +254 -0
  137. package/.claude/skills/command-guide/reference/commands/workflow/action-plan-verify.md +447 -0
  138. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/api-designer.md +585 -0
  139. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/artifacts.md +452 -0
  140. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/auto-parallel.md +443 -0
  141. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/data-architect.md +220 -0
  142. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/product-manager.md +200 -0
  143. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/product-owner.md +200 -0
  144. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/scrum-master.md +200 -0
  145. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/subject-matter-expert.md +200 -0
  146. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/synthesis.md +398 -0
  147. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/system-architect.md +387 -0
  148. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/ui-designer.md +221 -0
  149. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/ux-expert.md +221 -0
  150. package/.claude/skills/command-guide/reference/commands/workflow/execute.md +465 -0
  151. package/.claude/skills/command-guide/reference/commands/workflow/init.md +164 -0
  152. package/.claude/skills/command-guide/reference/commands/workflow/lite-execute.md +748 -0
  153. package/.claude/skills/command-guide/reference/commands/workflow/lite-fix.md +664 -0
  154. package/.claude/skills/command-guide/reference/commands/workflow/lite-plan.md +645 -0
  155. package/.claude/skills/command-guide/reference/commands/workflow/plan.md +551 -0
  156. package/.claude/skills/command-guide/reference/commands/workflow/replan.md +515 -0
  157. package/.claude/skills/command-guide/reference/commands/workflow/review-fix.md +606 -0
  158. package/.claude/skills/command-guide/reference/commands/workflow/review-module-cycle.md +765 -0
  159. package/.claude/skills/command-guide/reference/commands/workflow/review-session-cycle.md +776 -0
  160. package/.claude/skills/command-guide/reference/commands/workflow/review.md +298 -0
  161. package/.claude/skills/command-guide/reference/commands/workflow/session/complete.md +547 -0
  162. package/.claude/skills/command-guide/reference/commands/workflow/session/list.md +114 -0
  163. package/.claude/skills/command-guide/reference/commands/workflow/session/resume.md +77 -0
  164. package/.claude/skills/command-guide/reference/commands/workflow/session/start.md +257 -0
  165. package/.claude/skills/command-guide/reference/commands/workflow/tdd-plan.md +460 -0
  166. package/.claude/skills/command-guide/reference/commands/workflow/tdd-verify.md +400 -0
  167. package/.claude/skills/command-guide/reference/commands/workflow/test-cycle-execute.md +498 -0
  168. package/.claude/skills/command-guide/reference/commands/workflow/test-fix-gen.md +699 -0
  169. package/.claude/skills/command-guide/reference/commands/workflow/test-gen.md +529 -0
  170. package/.claude/skills/command-guide/reference/commands/workflow/tools/conflict-resolution.md +766 -0
  171. package/.claude/skills/command-guide/reference/commands/workflow/tools/context-gather.md +434 -0
  172. package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-agent.md +487 -0
  173. package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-tdd.md +525 -0
  174. package/.claude/skills/command-guide/reference/commands/workflow/tools/tdd-coverage-analysis.md +309 -0
  175. package/.claude/skills/command-guide/reference/commands/workflow/tools/test-concept-enhanced.md +163 -0
  176. package/.claude/skills/command-guide/reference/commands/workflow/tools/test-context-gather.md +235 -0
  177. package/.claude/skills/command-guide/reference/commands/workflow/tools/test-task-generate.md +256 -0
  178. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/animation-extract.md +1150 -0
  179. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/codify-style.md +652 -0
  180. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/design-sync.md +454 -0
  181. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/explore-auto.md +678 -0
  182. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/generate.md +504 -0
  183. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/imitate-auto.md +745 -0
  184. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/import-from-code.md +537 -0
  185. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/layout-extract.md +788 -0
  186. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/reference-page-generator.md +356 -0
  187. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/style-extract.md +773 -0
  188. package/.claude/skills/command-guide/scripts/analyze_commands.py +502 -0
  189. package/.claude/skills/command-guide/scripts/update-index.sh +130 -0
  190. package/.claude/skills/command-guide/templates/issue-bug.md +104 -0
  191. package/.claude/skills/command-guide/templates/issue-diagnosis.md +275 -0
  192. package/.claude/skills/command-guide/templates/issue-feature.md +97 -0
  193. package/.claude/skills/command-guide/templates/issue-question.md +141 -0
  194. package/.claude/skills/prompt-enhancer/SKILL.md +124 -0
  195. package/.claude/workflows/_template-compare-matrix.html +692 -0
  196. package/.claude/workflows/chinese-response.md +38 -0
  197. package/.claude/workflows/cli-templates/fix-plan-template.json +75 -0
  198. package/.claude/workflows/cli-templates/fix-progress-template.json +48 -0
  199. package/.claude/workflows/cli-templates/memory/style-skill-memory/skill-md-template.md +299 -0
  200. package/.claude/workflows/cli-templates/planning-roles/data-architect.md +120 -0
  201. package/.claude/workflows/cli-templates/planning-roles/product-manager.md +119 -0
  202. package/.claude/workflows/cli-templates/planning-roles/product-owner.md +261 -0
  203. package/.claude/workflows/cli-templates/planning-roles/scrum-master.md +186 -0
  204. package/.claude/workflows/cli-templates/planning-roles/subject-matter-expert.md +281 -0
  205. package/.claude/workflows/cli-templates/planning-roles/synthesis-role.md +414 -0
  206. package/.claude/workflows/cli-templates/planning-roles/system-architect.md +106 -0
  207. package/.claude/workflows/cli-templates/planning-roles/test-strategist.md +124 -0
  208. package/.claude/workflows/cli-templates/planning-roles/ui-designer.md +379 -0
  209. package/.claude/workflows/cli-templates/planning-roles/ux-expert.md +240 -0
  210. package/.claude/workflows/cli-templates/prompts/analysis/01-diagnose-bug-root-cause.txt +127 -0
  211. package/.claude/workflows/cli-templates/prompts/analysis/01-trace-code-execution.txt +115 -0
  212. package/.claude/workflows/cli-templates/prompts/analysis/02-analyze-code-patterns.txt +37 -0
  213. package/.claude/workflows/cli-templates/prompts/analysis/02-analyze-technical-document.txt +33 -0
  214. package/.claude/workflows/cli-templates/prompts/analysis/02-review-architecture.txt +29 -0
  215. package/.claude/workflows/cli-templates/prompts/analysis/02-review-code-quality.txt +28 -0
  216. package/.claude/workflows/cli-templates/prompts/analysis/03-analyze-performance.txt +29 -0
  217. package/.claude/workflows/cli-templates/prompts/analysis/03-assess-security-risks.txt +29 -0
  218. package/.claude/workflows/cli-templates/prompts/analysis/03-review-quality-standards.txt +29 -0
  219. package/.claude/workflows/cli-templates/prompts/development/02-generate-tests.txt +70 -0
  220. package/.claude/workflows/cli-templates/prompts/development/02-implement-component-ui.txt +55 -0
  221. package/.claude/workflows/cli-templates/prompts/development/02-implement-feature.txt +58 -0
  222. package/.claude/workflows/cli-templates/prompts/development/02-refactor-codebase.txt +55 -0
  223. package/.claude/workflows/cli-templates/prompts/development/03-debug-runtime-issues.txt +55 -0
  224. package/.claude/workflows/cli-templates/prompts/documentation/api.txt +15 -0
  225. package/.claude/workflows/cli-templates/prompts/documentation/folder-navigation.txt +27 -0
  226. package/.claude/workflows/cli-templates/prompts/documentation/module-readme.txt +49 -0
  227. package/.claude/workflows/cli-templates/prompts/documentation/project-architecture.txt +41 -0
  228. package/.claude/workflows/cli-templates/prompts/documentation/project-examples.txt +35 -0
  229. package/.claude/workflows/cli-templates/prompts/documentation/project-readme.txt +35 -0
  230. package/.claude/workflows/cli-templates/prompts/memory/02-document-module-structure.txt +165 -0
  231. package/.claude/workflows/cli-templates/prompts/planning/01-plan-architecture-design.txt +109 -0
  232. package/.claude/workflows/cli-templates/prompts/planning/02-breakdown-task-steps.txt +30 -0
  233. package/.claude/workflows/cli-templates/prompts/planning/02-design-component-spec.txt +28 -0
  234. package/.claude/workflows/cli-templates/prompts/planning/03-evaluate-concept-feasibility.txt +127 -0
  235. package/.claude/workflows/cli-templates/prompts/planning/03-plan-migration-strategy.txt +30 -0
  236. package/.claude/workflows/cli-templates/prompts/rules/rule-api.txt +122 -0
  237. package/.claude/workflows/cli-templates/prompts/rules/rule-components.txt +122 -0
  238. package/.claude/workflows/cli-templates/prompts/rules/rule-config.txt +89 -0
  239. package/.claude/workflows/cli-templates/prompts/rules/rule-core.txt +60 -0
  240. package/.claude/workflows/cli-templates/prompts/rules/rule-patterns.txt +70 -0
  241. package/.claude/workflows/cli-templates/prompts/rules/rule-testing.txt +81 -0
  242. package/.claude/workflows/cli-templates/prompts/rules/tech-rules-agent-prompt.txt +89 -0
  243. package/.claude/workflows/cli-templates/prompts/tech/tech-module-format.txt +359 -0
  244. package/.claude/workflows/cli-templates/prompts/tech/tech-skill-index.txt +185 -0
  245. package/.claude/workflows/cli-templates/prompts/test/test-concept-analysis.txt +179 -0
  246. package/.claude/workflows/cli-templates/prompts/universal/00-universal-creative-style.txt +95 -0
  247. package/.claude/workflows/cli-templates/prompts/universal/00-universal-rigorous-style.txt +92 -0
  248. package/.claude/workflows/cli-templates/prompts/verification/codex-technical.txt +28 -0
  249. package/.claude/workflows/cli-templates/prompts/verification/cross-validation.txt +28 -0
  250. package/.claude/workflows/cli-templates/prompts/verification/gemini-strategic.txt +27 -0
  251. package/.claude/workflows/cli-templates/prompts/workflow/analysis-results-structure.txt +224 -0
  252. package/.claude/workflows/cli-templates/prompts/workflow/codex-feasibility-validation.txt +176 -0
  253. package/.claude/workflows/cli-templates/prompts/workflow/gemini-solution-design.txt +131 -0
  254. package/.claude/workflows/cli-templates/prompts/workflow/impl-plan-template.txt +286 -0
  255. package/.claude/workflows/cli-templates/prompts/workflow/skill-aggregation.txt +172 -0
  256. package/.claude/workflows/cli-templates/prompts/workflow/skill-conflict-patterns.txt +94 -0
  257. package/.claude/workflows/cli-templates/prompts/workflow/skill-index.txt +224 -0
  258. package/.claude/workflows/cli-templates/prompts/workflow/skill-lessons-learned.txt +94 -0
  259. package/.claude/workflows/cli-templates/prompts/workflow/skill-sessions-timeline.txt +53 -0
  260. package/.claude/workflows/cli-templates/prompts/workflow/task-json-agent-mode.txt +123 -0
  261. package/.claude/workflows/cli-templates/prompts/workflow/task-json-cli-mode.txt +182 -0
  262. package/.claude/workflows/cli-templates/protocols/analysis-protocol.md +112 -0
  263. package/.claude/workflows/cli-templates/protocols/write-protocol.md +201 -0
  264. package/.claude/workflows/cli-templates/schemas/conflict-resolution-schema.json +137 -0
  265. package/.claude/workflows/cli-templates/schemas/debug-log-json-schema.json +127 -0
  266. package/.claude/workflows/cli-templates/schemas/diagnosis-json-schema.json +234 -0
  267. package/.claude/workflows/cli-templates/schemas/explore-json-schema.json +124 -0
  268. package/.claude/workflows/cli-templates/schemas/fix-plan-json-schema.json +298 -0
  269. package/.claude/workflows/cli-templates/schemas/plan-json-schema.json +244 -0
  270. package/.claude/workflows/cli-templates/schemas/project-json-schema.json +221 -0
  271. package/.claude/workflows/cli-templates/schemas/review-deep-dive-results-schema.json +82 -0
  272. package/.claude/workflows/cli-templates/schemas/review-dimension-results-schema.json +51 -0
  273. package/.claude/workflows/cli-templates/tech-stacks/go-dev.md +91 -0
  274. package/.claude/workflows/cli-templates/tech-stacks/java-dev.md +107 -0
  275. package/.claude/workflows/cli-templates/tech-stacks/javascript-dev.md +58 -0
  276. package/.claude/workflows/cli-templates/tech-stacks/python-dev.md +79 -0
  277. package/.claude/workflows/cli-templates/tech-stacks/react-dev.md +103 -0
  278. package/.claude/workflows/cli-templates/tech-stacks/typescript-dev.md +83 -0
  279. package/.claude/workflows/cli-templates/ui-design/systems/animation-tokens.json +247 -0
  280. package/.claude/workflows/cli-templates/ui-design/systems/design-tokens.json +342 -0
  281. package/.claude/workflows/cli-templates/ui-design/systems/layout-templates.json +145 -0
  282. package/.claude/workflows/cli-tools-usage.md +526 -0
  283. package/.claude/workflows/coding-philosophy.md +70 -0
  284. package/.claude/workflows/context-tools.md +84 -0
  285. package/.claude/workflows/file-modification.md +64 -0
  286. package/.claude/workflows/review-directory-specification.md +336 -0
  287. package/.claude/workflows/task-core.md +214 -0
  288. package/.claude/workflows/tool-strategy.md +216 -0
  289. package/.claude/workflows/windows-platform.md +16 -0
  290. package/.claude/workflows/workflow-architecture.md +942 -0
  291. package/.codex/AGENTS.md +63 -0
  292. package/.codex/prompts/debug.md +318 -0
  293. package/.codex/prompts/execute.md +273 -0
  294. package/.codex/prompts/lite-execute.md +164 -0
  295. package/.codex/prompts/lite-plan.md +469 -0
  296. package/.codex/prompts.zip +0 -0
  297. package/.gemini/GEMINI.md +25 -0
  298. package/.qwen/QWEN.md +25 -0
  299. package/LICENSE +21 -0
  300. package/README.md +294 -145
  301. package/ccw/README.md +145 -0
  302. package/ccw/package.json +65 -0
  303. package/codex-lens/pyproject.toml +48 -0
  304. package/codex-lens/src/codexlens/.workflow/.cli-history/history.db +0 -0
  305. package/codex-lens/src/codexlens/__init__.py +28 -0
  306. package/codex-lens/src/codexlens/__main__.py +14 -0
  307. package/codex-lens/src/codexlens/__pycache__/__init__.cpython-313.pyc +0 -0
  308. package/codex-lens/src/codexlens/__pycache__/__main__.cpython-313.pyc +0 -0
  309. package/codex-lens/src/codexlens/__pycache__/config.cpython-313.pyc +0 -0
  310. package/codex-lens/src/codexlens/__pycache__/entities.cpython-313.pyc +0 -0
  311. package/codex-lens/src/codexlens/__pycache__/errors.cpython-313.pyc +0 -0
  312. package/codex-lens/src/codexlens/cli/__init__.py +27 -0
  313. package/codex-lens/src/codexlens/cli/__pycache__/__init__.cpython-313.pyc +0 -0
  314. package/codex-lens/src/codexlens/cli/__pycache__/commands.cpython-313.pyc +0 -0
  315. package/codex-lens/src/codexlens/cli/__pycache__/embedding_manager.cpython-313.pyc +0 -0
  316. package/codex-lens/src/codexlens/cli/__pycache__/model_manager.cpython-313.pyc +0 -0
  317. package/codex-lens/src/codexlens/cli/__pycache__/output.cpython-313.pyc +0 -0
  318. package/codex-lens/src/codexlens/cli/commands.py +1931 -0
  319. package/codex-lens/src/codexlens/cli/embedding_manager.py +620 -0
  320. package/codex-lens/src/codexlens/cli/model_manager.py +289 -0
  321. package/codex-lens/src/codexlens/cli/output.py +124 -0
  322. package/codex-lens/src/codexlens/config.py +201 -0
  323. package/codex-lens/src/codexlens/entities.py +121 -0
  324. package/codex-lens/src/codexlens/errors.py +55 -0
  325. package/codex-lens/src/codexlens/indexing/README.md +77 -0
  326. package/codex-lens/src/codexlens/indexing/__init__.py +4 -0
  327. package/codex-lens/src/codexlens/indexing/__pycache__/__init__.cpython-313.pyc +0 -0
  328. package/codex-lens/src/codexlens/indexing/__pycache__/symbol_extractor.cpython-313.pyc +0 -0
  329. package/codex-lens/src/codexlens/indexing/symbol_extractor.py +243 -0
  330. package/codex-lens/src/codexlens/parsers/__init__.py +8 -0
  331. package/codex-lens/src/codexlens/parsers/__pycache__/__init__.cpython-313.pyc +0 -0
  332. package/codex-lens/src/codexlens/parsers/__pycache__/encoding.cpython-313.pyc +0 -0
  333. package/codex-lens/src/codexlens/parsers/__pycache__/factory.cpython-313.pyc +0 -0
  334. package/codex-lens/src/codexlens/parsers/__pycache__/tokenizer.cpython-313.pyc +0 -0
  335. package/codex-lens/src/codexlens/parsers/__pycache__/treesitter_parser.cpython-313.pyc +0 -0
  336. package/codex-lens/src/codexlens/parsers/encoding.py +202 -0
  337. package/codex-lens/src/codexlens/parsers/factory.py +256 -0
  338. package/codex-lens/src/codexlens/parsers/tokenizer.py +98 -0
  339. package/codex-lens/src/codexlens/parsers/treesitter_parser.py +335 -0
  340. package/codex-lens/src/codexlens/search/__init__.py +15 -0
  341. package/codex-lens/src/codexlens/search/__pycache__/__init__.cpython-313.pyc +0 -0
  342. package/codex-lens/src/codexlens/search/__pycache__/chain_search.cpython-313.pyc +0 -0
  343. package/codex-lens/src/codexlens/search/__pycache__/enrichment.cpython-313.pyc +0 -0
  344. package/codex-lens/src/codexlens/search/__pycache__/hybrid_search.cpython-313.pyc +0 -0
  345. package/codex-lens/src/codexlens/search/__pycache__/query_parser.cpython-313.pyc +0 -0
  346. package/codex-lens/src/codexlens/search/__pycache__/ranking.cpython-313.pyc +0 -0
  347. package/codex-lens/src/codexlens/search/chain_search.py +647 -0
  348. package/codex-lens/src/codexlens/search/enrichment.py +150 -0
  349. package/codex-lens/src/codexlens/search/hybrid_search.py +313 -0
  350. package/codex-lens/src/codexlens/search/query_parser.py +242 -0
  351. package/codex-lens/src/codexlens/search/ranking.py +274 -0
  352. package/codex-lens/src/codexlens/semantic/__init__.py +39 -0
  353. package/codex-lens/src/codexlens/semantic/__pycache__/__init__.cpython-313.pyc +0 -0
  354. package/codex-lens/src/codexlens/semantic/__pycache__/ann_index.cpython-313.pyc +0 -0
  355. package/codex-lens/src/codexlens/semantic/__pycache__/chunker.cpython-313.pyc +0 -0
  356. package/codex-lens/src/codexlens/semantic/__pycache__/code_extractor.cpython-313.pyc +0 -0
  357. package/codex-lens/src/codexlens/semantic/__pycache__/embedder.cpython-313.pyc +0 -0
  358. package/codex-lens/src/codexlens/semantic/__pycache__/graph_analyzer.cpython-313.pyc +0 -0
  359. package/codex-lens/src/codexlens/semantic/__pycache__/llm_enhancer.cpython-313.pyc +0 -0
  360. package/codex-lens/src/codexlens/semantic/__pycache__/vector_store.cpython-313.pyc +0 -0
  361. package/codex-lens/src/codexlens/semantic/ann_index.py +414 -0
  362. package/codex-lens/src/codexlens/semantic/chunker.py +448 -0
  363. package/codex-lens/src/codexlens/semantic/code_extractor.py +274 -0
  364. package/codex-lens/src/codexlens/semantic/embedder.py +185 -0
  365. package/codex-lens/src/codexlens/semantic/vector_store.py +955 -0
  366. package/codex-lens/src/codexlens/storage/__init__.py +29 -0
  367. package/codex-lens/src/codexlens/storage/__pycache__/__init__.cpython-313.pyc +0 -0
  368. package/codex-lens/src/codexlens/storage/__pycache__/dir_index.cpython-313.pyc +0 -0
  369. package/codex-lens/src/codexlens/storage/__pycache__/file_cache.cpython-313.pyc +0 -0
  370. package/codex-lens/src/codexlens/storage/__pycache__/index_tree.cpython-313.pyc +0 -0
  371. package/codex-lens/src/codexlens/storage/__pycache__/migration_manager.cpython-313.pyc +0 -0
  372. package/codex-lens/src/codexlens/storage/__pycache__/path_mapper.cpython-313.pyc +0 -0
  373. package/codex-lens/src/codexlens/storage/__pycache__/registry.cpython-313.pyc +0 -0
  374. package/codex-lens/src/codexlens/storage/__pycache__/sqlite_store.cpython-313.pyc +0 -0
  375. package/codex-lens/src/codexlens/storage/__pycache__/sqlite_utils.cpython-313.pyc +0 -0
  376. package/codex-lens/src/codexlens/storage/dir_index.py +1850 -0
  377. package/codex-lens/src/codexlens/storage/file_cache.py +32 -0
  378. package/codex-lens/src/codexlens/storage/index_tree.py +776 -0
  379. package/codex-lens/src/codexlens/storage/migration_manager.py +154 -0
  380. package/codex-lens/src/codexlens/storage/migrations/__init__.py +1 -0
  381. package/codex-lens/src/codexlens/storage/migrations/__pycache__/__init__.cpython-313.pyc +0 -0
  382. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_001_normalize_keywords.cpython-313.pyc +0 -0
  383. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_002_add_token_metadata.cpython-313.pyc +0 -0
  384. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_003_code_relationships.cpython-313.pyc +0 -0
  385. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_004_dual_fts.cpython-313.pyc +0 -0
  386. package/codex-lens/src/codexlens/storage/migrations/__pycache__/migration_005_cleanup_unused_fields.cpython-313.pyc +0 -0
  387. package/codex-lens/src/codexlens/storage/migrations/migration_001_normalize_keywords.py +123 -0
  388. package/codex-lens/src/codexlens/storage/migrations/migration_002_add_token_metadata.py +48 -0
  389. package/codex-lens/src/codexlens/storage/migrations/migration_004_dual_fts.py +232 -0
  390. package/codex-lens/src/codexlens/storage/migrations/migration_005_cleanup_unused_fields.py +196 -0
  391. package/codex-lens/src/codexlens/storage/path_mapper.py +274 -0
  392. package/codex-lens/src/codexlens/storage/registry.py +670 -0
  393. package/codex-lens/src/codexlens/storage/sqlite_store.py +576 -0
  394. package/codex-lens/src/codexlens/storage/sqlite_utils.py +64 -0
  395. package/package.json +37 -32
  396. package/dist/cli.d.ts +0 -2
  397. package/dist/cli.d.ts.map +0 -1
  398. package/dist/cli.js +0 -219
  399. package/dist/cli.js.map +0 -1
  400. package/dist/commands/cli.d.ts +0 -32
  401. package/dist/commands/cli.d.ts.map +0 -1
  402. package/dist/commands/cli.js +0 -619
  403. package/dist/commands/cli.js.map +0 -1
  404. package/dist/commands/core-memory.d.ts +0 -32
  405. package/dist/commands/core-memory.d.ts.map +0 -1
  406. package/dist/commands/core-memory.js +0 -640
  407. package/dist/commands/core-memory.js.map +0 -1
  408. package/dist/commands/hook.d.ts +0 -16
  409. package/dist/commands/hook.d.ts.map +0 -1
  410. package/dist/commands/hook.js +0 -276
  411. package/dist/commands/hook.js.map +0 -1
  412. package/dist/commands/install.d.ts +0 -12
  413. package/dist/commands/install.d.ts.map +0 -1
  414. package/dist/commands/install.js +0 -443
  415. package/dist/commands/install.js.map +0 -1
  416. package/dist/commands/list.d.ts +0 -5
  417. package/dist/commands/list.d.ts.map +0 -1
  418. package/dist/commands/list.js +0 -32
  419. package/dist/commands/list.js.map +0 -1
  420. package/dist/commands/memory.d.ts +0 -57
  421. package/dist/commands/memory.d.ts.map +0 -1
  422. package/dist/commands/memory.js +0 -890
  423. package/dist/commands/memory.js.map +0 -1
  424. package/dist/commands/serve.d.ts +0 -12
  425. package/dist/commands/serve.d.ts.map +0 -1
  426. package/dist/commands/serve.js +0 -63
  427. package/dist/commands/serve.js.map +0 -1
  428. package/dist/commands/session-path-resolver.d.ts +0 -45
  429. package/dist/commands/session-path-resolver.d.ts.map +0 -1
  430. package/dist/commands/session-path-resolver.js +0 -302
  431. package/dist/commands/session-path-resolver.js.map +0 -1
  432. package/dist/commands/session.d.ts +0 -12
  433. package/dist/commands/session.d.ts.map +0 -1
  434. package/dist/commands/session.js +0 -954
  435. package/dist/commands/session.js.map +0 -1
  436. package/dist/commands/stop.d.ts +0 -11
  437. package/dist/commands/stop.d.ts.map +0 -1
  438. package/dist/commands/stop.js +0 -96
  439. package/dist/commands/stop.js.map +0 -1
  440. package/dist/commands/tool.d.ts +0 -29
  441. package/dist/commands/tool.d.ts.map +0 -1
  442. package/dist/commands/tool.js +0 -173
  443. package/dist/commands/tool.js.map +0 -1
  444. package/dist/commands/uninstall.d.ts +0 -9
  445. package/dist/commands/uninstall.d.ts.map +0 -1
  446. package/dist/commands/uninstall.js +0 -239
  447. package/dist/commands/uninstall.js.map +0 -1
  448. package/dist/commands/upgrade.d.ts +0 -10
  449. package/dist/commands/upgrade.d.ts.map +0 -1
  450. package/dist/commands/upgrade.js +0 -288
  451. package/dist/commands/upgrade.js.map +0 -1
  452. package/dist/commands/view.d.ts +0 -14
  453. package/dist/commands/view.d.ts.map +0 -1
  454. package/dist/commands/view.js +0 -100
  455. package/dist/commands/view.js.map +0 -1
  456. package/dist/config/storage-paths.d.ts +0 -184
  457. package/dist/config/storage-paths.d.ts.map +0 -1
  458. package/dist/config/storage-paths.js +0 -536
  459. package/dist/config/storage-paths.js.map +0 -1
  460. package/dist/core/cache-manager.d.ts +0 -80
  461. package/dist/core/cache-manager.d.ts.map +0 -1
  462. package/dist/core/cache-manager.js +0 -260
  463. package/dist/core/cache-manager.js.map +0 -1
  464. package/dist/core/claude-freshness.d.ts +0 -53
  465. package/dist/core/claude-freshness.d.ts.map +0 -1
  466. package/dist/core/claude-freshness.js +0 -232
  467. package/dist/core/claude-freshness.js.map +0 -1
  468. package/dist/core/core-memory-store.d.ts +0 -320
  469. package/dist/core/core-memory-store.d.ts.map +0 -1
  470. package/dist/core/core-memory-store.js +0 -1177
  471. package/dist/core/core-memory-store.js.map +0 -1
  472. package/dist/core/dashboard-generator-patch.d.ts +0 -2
  473. package/dist/core/dashboard-generator-patch.d.ts.map +0 -1
  474. package/dist/core/dashboard-generator-patch.js +0 -48
  475. package/dist/core/dashboard-generator-patch.js.map +0 -1
  476. package/dist/core/dashboard-generator.d.ts +0 -8
  477. package/dist/core/dashboard-generator.d.ts.map +0 -1
  478. package/dist/core/dashboard-generator.js +0 -695
  479. package/dist/core/dashboard-generator.js.map +0 -1
  480. package/dist/core/data-aggregator.d.ts +0 -145
  481. package/dist/core/data-aggregator.d.ts.map +0 -1
  482. package/dist/core/data-aggregator.js +0 -416
  483. package/dist/core/data-aggregator.js.map +0 -1
  484. package/dist/core/history-importer.d.ts +0 -102
  485. package/dist/core/history-importer.d.ts.map +0 -1
  486. package/dist/core/history-importer.js +0 -493
  487. package/dist/core/history-importer.js.map +0 -1
  488. package/dist/core/lite-scanner-complete.d.ts +0 -81
  489. package/dist/core/lite-scanner-complete.d.ts.map +0 -1
  490. package/dist/core/lite-scanner-complete.js +0 -368
  491. package/dist/core/lite-scanner-complete.js.map +0 -1
  492. package/dist/core/lite-scanner.d.ts +0 -81
  493. package/dist/core/lite-scanner.d.ts.map +0 -1
  494. package/dist/core/lite-scanner.js +0 -368
  495. package/dist/core/lite-scanner.js.map +0 -1
  496. package/dist/core/manifest.d.ts +0 -88
  497. package/dist/core/manifest.d.ts.map +0 -1
  498. package/dist/core/manifest.js +0 -214
  499. package/dist/core/manifest.js.map +0 -1
  500. package/dist/core/memory-embedder-bridge.d.ts +0 -83
  501. package/dist/core/memory-embedder-bridge.d.ts.map +0 -1
  502. package/dist/core/memory-embedder-bridge.js +0 -181
  503. package/dist/core/memory-embedder-bridge.js.map +0 -1
  504. package/dist/core/memory-store.d.ts +0 -249
  505. package/dist/core/memory-store.d.ts.map +0 -1
  506. package/dist/core/memory-store.js +0 -781
  507. package/dist/core/memory-store.js.map +0 -1
  508. package/dist/core/routes/ccw-routes.d.ts +0 -20
  509. package/dist/core/routes/ccw-routes.d.ts.map +0 -1
  510. package/dist/core/routes/ccw-routes.js +0 -70
  511. package/dist/core/routes/ccw-routes.js.map +0 -1
  512. package/dist/core/routes/claude-routes.d.ts +0 -19
  513. package/dist/core/routes/claude-routes.d.ts.map +0 -1
  514. package/dist/core/routes/claude-routes.js +0 -1017
  515. package/dist/core/routes/claude-routes.js.map +0 -1
  516. package/dist/core/routes/cli-routes.d.ts +0 -20
  517. package/dist/core/routes/cli-routes.d.ts.map +0 -1
  518. package/dist/core/routes/cli-routes.js +0 -468
  519. package/dist/core/routes/cli-routes.js.map +0 -1
  520. package/dist/core/routes/codexlens-routes.d.ts +0 -20
  521. package/dist/core/routes/codexlens-routes.d.ts.map +0 -1
  522. package/dist/core/routes/codexlens-routes.js +0 -754
  523. package/dist/core/routes/codexlens-routes.js.map +0 -1
  524. package/dist/core/routes/core-memory-routes.d.ts +0 -21
  525. package/dist/core/routes/core-memory-routes.d.ts.map +0 -1
  526. package/dist/core/routes/core-memory-routes.js +0 -520
  527. package/dist/core/routes/core-memory-routes.js.map +0 -1
  528. package/dist/core/routes/files-routes.d.ts +0 -20
  529. package/dist/core/routes/files-routes.d.ts.map +0 -1
  530. package/dist/core/routes/files-routes.js +0 -374
  531. package/dist/core/routes/files-routes.js.map +0 -1
  532. package/dist/core/routes/graph-routes.d.ts +0 -20
  533. package/dist/core/routes/graph-routes.d.ts.map +0 -1
  534. package/dist/core/routes/graph-routes.js +0 -517
  535. package/dist/core/routes/graph-routes.js.map +0 -1
  536. package/dist/core/routes/help-routes.d.ts +0 -20
  537. package/dist/core/routes/help-routes.d.ts.map +0 -1
  538. package/dist/core/routes/help-routes.js +0 -250
  539. package/dist/core/routes/help-routes.js.map +0 -1
  540. package/dist/core/routes/hooks-routes.d.ts +0 -21
  541. package/dist/core/routes/hooks-routes.d.ts.map +0 -1
  542. package/dist/core/routes/hooks-routes.js +0 -346
  543. package/dist/core/routes/hooks-routes.js.map +0 -1
  544. package/dist/core/routes/mcp-routes.d.ts +0 -20
  545. package/dist/core/routes/mcp-routes.d.ts.map +0 -1
  546. package/dist/core/routes/mcp-routes.js +0 -1129
  547. package/dist/core/routes/mcp-routes.js.map +0 -1
  548. package/dist/core/routes/mcp-templates-db.d.ts +0 -54
  549. package/dist/core/routes/mcp-templates-db.d.ts.map +0 -1
  550. package/dist/core/routes/mcp-templates-db.js +0 -226
  551. package/dist/core/routes/mcp-templates-db.js.map +0 -1
  552. package/dist/core/routes/memory-routes.d.ts +0 -21
  553. package/dist/core/routes/memory-routes.d.ts.map +0 -1
  554. package/dist/core/routes/memory-routes.js +0 -1095
  555. package/dist/core/routes/memory-routes.js.map +0 -1
  556. package/dist/core/routes/rules-routes.d.ts +0 -20
  557. package/dist/core/routes/rules-routes.d.ts.map +0 -1
  558. package/dist/core/routes/rules-routes.js +0 -442
  559. package/dist/core/routes/rules-routes.js.map +0 -1
  560. package/dist/core/routes/session-routes.d.ts +0 -20
  561. package/dist/core/routes/session-routes.d.ts.map +0 -1
  562. package/dist/core/routes/session-routes.js +0 -423
  563. package/dist/core/routes/session-routes.js.map +0 -1
  564. package/dist/core/routes/skills-routes.d.ts +0 -20
  565. package/dist/core/routes/skills-routes.d.ts.map +0 -1
  566. package/dist/core/routes/skills-routes.js +0 -533
  567. package/dist/core/routes/skills-routes.js.map +0 -1
  568. package/dist/core/routes/status-routes.d.ts +0 -20
  569. package/dist/core/routes/status-routes.d.ts.map +0 -1
  570. package/dist/core/routes/status-routes.js +0 -38
  571. package/dist/core/routes/status-routes.js.map +0 -1
  572. package/dist/core/routes/system-routes.d.ts +0 -22
  573. package/dist/core/routes/system-routes.d.ts.map +0 -1
  574. package/dist/core/routes/system-routes.js +0 -354
  575. package/dist/core/routes/system-routes.js.map +0 -1
  576. package/dist/core/server.d.ts +0 -17
  577. package/dist/core/server.d.ts.map +0 -1
  578. package/dist/core/server.js +0 -386
  579. package/dist/core/server.js.map +0 -1
  580. package/dist/core/session-clustering-service.d.ts +0 -153
  581. package/dist/core/session-clustering-service.d.ts.map +0 -1
  582. package/dist/core/session-clustering-service.js +0 -1065
  583. package/dist/core/session-clustering-service.js.map +0 -1
  584. package/dist/core/session-scanner.d.ts +0 -32
  585. package/dist/core/session-scanner.d.ts.map +0 -1
  586. package/dist/core/session-scanner.js +0 -253
  587. package/dist/core/session-scanner.js.map +0 -1
  588. package/dist/core/websocket.d.ts +0 -23
  589. package/dist/core/websocket.d.ts.map +0 -1
  590. package/dist/core/websocket.js +0 -168
  591. package/dist/core/websocket.js.map +0 -1
  592. package/dist/index.d.ts +0 -10
  593. package/dist/index.d.ts.map +0 -1
  594. package/dist/index.js +0 -10
  595. package/dist/index.js.map +0 -1
  596. package/dist/mcp-server/index.d.ts +0 -7
  597. package/dist/mcp-server/index.d.ts.map +0 -1
  598. package/dist/mcp-server/index.js +0 -157
  599. package/dist/mcp-server/index.js.map +0 -1
  600. package/dist/tools/classify-folders.d.ts +0 -26
  601. package/dist/tools/classify-folders.d.ts.map +0 -1
  602. package/dist/tools/classify-folders.js +0 -201
  603. package/dist/tools/classify-folders.js.map +0 -1
  604. package/dist/tools/cli-config-manager.d.ts +0 -62
  605. package/dist/tools/cli-config-manager.d.ts.map +0 -1
  606. package/dist/tools/cli-config-manager.js +0 -221
  607. package/dist/tools/cli-config-manager.js.map +0 -1
  608. package/dist/tools/cli-executor.d.ts +0 -373
  609. package/dist/tools/cli-executor.d.ts.map +0 -1
  610. package/dist/tools/cli-executor.js +0 -1625
  611. package/dist/tools/cli-executor.js.map +0 -1
  612. package/dist/tools/cli-history-store.d.ts +0 -330
  613. package/dist/tools/cli-history-store.d.ts.map +0 -1
  614. package/dist/tools/cli-history-store.js +0 -916
  615. package/dist/tools/cli-history-store.js.map +0 -1
  616. package/dist/tools/codex-lens.d.ts +0 -118
  617. package/dist/tools/codex-lens.d.ts.map +0 -1
  618. package/dist/tools/codex-lens.js +0 -962
  619. package/dist/tools/codex-lens.js.map +0 -1
  620. package/dist/tools/convert-tokens-to-css.d.ts +0 -14
  621. package/dist/tools/convert-tokens-to-css.d.ts.map +0 -1
  622. package/dist/tools/convert-tokens-to-css.js +0 -244
  623. package/dist/tools/convert-tokens-to-css.js.map +0 -1
  624. package/dist/tools/core-memory.d.ts +0 -66
  625. package/dist/tools/core-memory.d.ts.map +0 -1
  626. package/dist/tools/core-memory.js +0 -324
  627. package/dist/tools/core-memory.js.map +0 -1
  628. package/dist/tools/detect-changed-modules.d.ts +0 -24
  629. package/dist/tools/detect-changed-modules.d.ts.map +0 -1
  630. package/dist/tools/detect-changed-modules.js +0 -277
  631. package/dist/tools/detect-changed-modules.js.map +0 -1
  632. package/dist/tools/discover-design-files.d.ts +0 -36
  633. package/dist/tools/discover-design-files.d.ts.map +0 -1
  634. package/dist/tools/discover-design-files.js +0 -147
  635. package/dist/tools/discover-design-files.js.map +0 -1
  636. package/dist/tools/edit-file.d.ts +0 -28
  637. package/dist/tools/edit-file.d.ts.map +0 -1
  638. package/dist/tools/edit-file.js +0 -479
  639. package/dist/tools/edit-file.js.map +0 -1
  640. package/dist/tools/generate-module-docs.d.ts +0 -22
  641. package/dist/tools/generate-module-docs.d.ts.map +0 -1
  642. package/dist/tools/generate-module-docs.js +0 -379
  643. package/dist/tools/generate-module-docs.js.map +0 -1
  644. package/dist/tools/get-modules-by-depth.d.ts +0 -15
  645. package/dist/tools/get-modules-by-depth.d.ts.map +0 -1
  646. package/dist/tools/get-modules-by-depth.js +0 -296
  647. package/dist/tools/get-modules-by-depth.js.map +0 -1
  648. package/dist/tools/index.d.ts +0 -55
  649. package/dist/tools/index.d.ts.map +0 -1
  650. package/dist/tools/index.js +0 -304
  651. package/dist/tools/index.js.map +0 -1
  652. package/dist/tools/native-session-discovery.d.ts +0 -97
  653. package/dist/tools/native-session-discovery.d.ts.map +0 -1
  654. package/dist/tools/native-session-discovery.js +0 -700
  655. package/dist/tools/native-session-discovery.js.map +0 -1
  656. package/dist/tools/notifier.d.ts +0 -50
  657. package/dist/tools/notifier.d.ts.map +0 -1
  658. package/dist/tools/notifier.js +0 -90
  659. package/dist/tools/notifier.js.map +0 -1
  660. package/dist/tools/read-file.d.ts +0 -32
  661. package/dist/tools/read-file.d.ts.map +0 -1
  662. package/dist/tools/read-file.js +0 -329
  663. package/dist/tools/read-file.js.map +0 -1
  664. package/dist/tools/resume-strategy.d.ts +0 -48
  665. package/dist/tools/resume-strategy.d.ts.map +0 -1
  666. package/dist/tools/resume-strategy.js +0 -248
  667. package/dist/tools/resume-strategy.js.map +0 -1
  668. package/dist/tools/session-content-parser.d.ts +0 -58
  669. package/dist/tools/session-content-parser.d.ts.map +0 -1
  670. package/dist/tools/session-content-parser.js +0 -420
  671. package/dist/tools/session-content-parser.js.map +0 -1
  672. package/dist/tools/session-manager.d.ts +0 -9
  673. package/dist/tools/session-manager.d.ts.map +0 -1
  674. package/dist/tools/session-manager.js +0 -834
  675. package/dist/tools/session-manager.js.map +0 -1
  676. package/dist/tools/smart-context.d.ts +0 -35
  677. package/dist/tools/smart-context.d.ts.map +0 -1
  678. package/dist/tools/smart-context.js +0 -182
  679. package/dist/tools/smart-context.js.map +0 -1
  680. package/dist/tools/smart-search.d.ts +0 -105
  681. package/dist/tools/smart-search.d.ts.map +0 -1
  682. package/dist/tools/smart-search.js +0 -1753
  683. package/dist/tools/smart-search.js.map +0 -1
  684. package/dist/tools/storage-manager.d.ts +0 -114
  685. package/dist/tools/storage-manager.d.ts.map +0 -1
  686. package/dist/tools/storage-manager.js +0 -392
  687. package/dist/tools/storage-manager.js.map +0 -1
  688. package/dist/tools/ui-generate-preview.d.ts +0 -39
  689. package/dist/tools/ui-generate-preview.d.ts.map +0 -1
  690. package/dist/tools/ui-generate-preview.js +0 -300
  691. package/dist/tools/ui-generate-preview.js.map +0 -1
  692. package/dist/tools/ui-instantiate-prototypes.d.ts +0 -75
  693. package/dist/tools/ui-instantiate-prototypes.d.ts.map +0 -1
  694. package/dist/tools/ui-instantiate-prototypes.js +0 -256
  695. package/dist/tools/ui-instantiate-prototypes.js.map +0 -1
  696. package/dist/tools/update-module-claude.d.ts +0 -80
  697. package/dist/tools/update-module-claude.d.ts.map +0 -1
  698. package/dist/tools/update-module-claude.js +0 -351
  699. package/dist/tools/update-module-claude.js.map +0 -1
  700. package/dist/tools/write-file.d.ts +0 -19
  701. package/dist/tools/write-file.d.ts.map +0 -1
  702. package/dist/tools/write-file.js +0 -193
  703. package/dist/tools/write-file.js.map +0 -1
  704. package/dist/types/config.d.ts +0 -11
  705. package/dist/types/config.d.ts.map +0 -1
  706. package/dist/types/config.js +0 -2
  707. package/dist/types/config.js.map +0 -1
  708. package/dist/types/index.d.ts +0 -4
  709. package/dist/types/index.d.ts.map +0 -1
  710. package/dist/types/index.js +0 -4
  711. package/dist/types/index.js.map +0 -1
  712. package/dist/types/session.d.ts +0 -20
  713. package/dist/types/session.d.ts.map +0 -1
  714. package/dist/types/session.js +0 -2
  715. package/dist/types/session.js.map +0 -1
  716. package/dist/types/tool.d.ts +0 -36
  717. package/dist/types/tool.d.ts.map +0 -1
  718. package/dist/types/tool.js +0 -11
  719. package/dist/types/tool.js.map +0 -1
  720. package/dist/utils/browser-launcher.d.ts +0 -13
  721. package/dist/utils/browser-launcher.d.ts.map +0 -1
  722. package/dist/utils/browser-launcher.js +0 -60
  723. package/dist/utils/browser-launcher.js.map +0 -1
  724. package/dist/utils/file-utils.d.ts +0 -25
  725. package/dist/utils/file-utils.d.ts.map +0 -1
  726. package/dist/utils/file-utils.js +0 -48
  727. package/dist/utils/file-utils.js.map +0 -1
  728. package/dist/utils/path-resolver.d.ts +0 -80
  729. package/dist/utils/path-resolver.d.ts.map +0 -1
  730. package/dist/utils/path-resolver.js +0 -260
  731. package/dist/utils/path-resolver.js.map +0 -1
  732. package/dist/utils/path-validator.d.ts +0 -49
  733. package/dist/utils/path-validator.d.ts.map +0 -1
  734. package/dist/utils/path-validator.js +0 -123
  735. package/dist/utils/path-validator.js.map +0 -1
  736. package/dist/utils/ui.d.ts +0 -62
  737. package/dist/utils/ui.d.ts.map +0 -1
  738. package/dist/utils/ui.js +0 -129
  739. package/dist/utils/ui.js.map +0 -1
  740. /package/{bin → ccw/bin}/ccw-mcp.js +0 -0
  741. /package/{bin → ccw/bin}/ccw.js +0 -0
  742. /package/{src → ccw/src}/.workflow/.cli-history/history.db +0 -0
  743. /package/{src → ccw/src}/.workflow/.cli-history/history.db-shm +0 -0
  744. /package/{src → ccw/src}/.workflow/.cli-history/history.db-wal +0 -0
  745. /package/{src → ccw/src}/cli.ts +0 -0
  746. /package/{src → ccw/src}/commands/cli.ts +0 -0
  747. /package/{src → ccw/src}/commands/core-memory.ts +0 -0
  748. /package/{src → ccw/src}/commands/hook.ts +0 -0
  749. /package/{src → ccw/src}/commands/install.ts +0 -0
  750. /package/{src → ccw/src}/commands/list.ts +0 -0
  751. /package/{src → ccw/src}/commands/memory.ts +0 -0
  752. /package/{src → ccw/src}/commands/serve.ts +0 -0
  753. /package/{src → ccw/src}/commands/session-path-resolver.ts +0 -0
  754. /package/{src → ccw/src}/commands/session.ts +0 -0
  755. /package/{src → ccw/src}/commands/stop.ts +0 -0
  756. /package/{src → ccw/src}/commands/tool.ts +0 -0
  757. /package/{src → ccw/src}/commands/uninstall.ts +0 -0
  758. /package/{src → ccw/src}/commands/upgrade.ts +0 -0
  759. /package/{src → ccw/src}/commands/view.ts +0 -0
  760. /package/{src → ccw/src}/config/storage-paths.ts +0 -0
  761. /package/{src → ccw/src}/core/cache-manager.ts +0 -0
  762. /package/{src → ccw/src}/core/claude-freshness.ts +0 -0
  763. /package/{src → ccw/src}/core/core-memory-store.ts +0 -0
  764. /package/{src → ccw/src}/core/dashboard-generator-patch.ts +0 -0
  765. /package/{src → ccw/src}/core/dashboard-generator.ts +0 -0
  766. /package/{src → ccw/src}/core/data-aggregator.ts +0 -0
  767. /package/{src → ccw/src}/core/history-importer.ts +0 -0
  768. /package/{src → ccw/src}/core/lite-scanner-complete.ts +0 -0
  769. /package/{src → ccw/src}/core/lite-scanner.ts +0 -0
  770. /package/{src → ccw/src}/core/manifest.ts +0 -0
  771. /package/{src → ccw/src}/core/memory-embedder-bridge.ts +0 -0
  772. /package/{src → ccw/src}/core/memory-store.ts +0 -0
  773. /package/{src → ccw/src}/core/routes/ccw-routes.ts +0 -0
  774. /package/{src → ccw/src}/core/routes/claude-routes.ts +0 -0
  775. /package/{src → ccw/src}/core/routes/cli-routes.ts +0 -0
  776. /package/{src → ccw/src}/core/routes/codexlens-routes.ts +0 -0
  777. /package/{src → ccw/src}/core/routes/core-memory-routes.ts +0 -0
  778. /package/{src → ccw/src}/core/routes/files-routes.ts +0 -0
  779. /package/{src → ccw/src}/core/routes/graph-routes.md +0 -0
  780. /package/{src → ccw/src}/core/routes/graph-routes.ts +0 -0
  781. /package/{src → ccw/src}/core/routes/help-routes.ts +0 -0
  782. /package/{src → ccw/src}/core/routes/hooks-routes.ts +0 -0
  783. /package/{src → ccw/src}/core/routes/mcp-routes.ts +0 -0
  784. /package/{src → ccw/src}/core/routes/mcp-routes.ts.backup +0 -0
  785. /package/{src → ccw/src}/core/routes/mcp-templates-db.ts +0 -0
  786. /package/{src → ccw/src}/core/routes/memory-routes.ts +0 -0
  787. /package/{src → ccw/src}/core/routes/rules-routes.ts +0 -0
  788. /package/{src → ccw/src}/core/routes/session-routes.ts +0 -0
  789. /package/{src → ccw/src}/core/routes/skills-routes.ts +0 -0
  790. /package/{src → ccw/src}/core/routes/status-routes.ts +0 -0
  791. /package/{src → ccw/src}/core/routes/system-routes.ts +0 -0
  792. /package/{src → ccw/src}/core/server.ts +0 -0
  793. /package/{src → ccw/src}/core/session-clustering-service.ts +0 -0
  794. /package/{src → ccw/src}/core/session-scanner.ts +0 -0
  795. /package/{src → ccw/src}/core/websocket.ts +0 -0
  796. /package/{src → ccw/src}/index.ts +0 -0
  797. /package/{src → ccw/src}/mcp-server/index.ts +0 -0
  798. /package/{src → ccw/src}/templates/assets/css/github-dark.min.css +0 -0
  799. /package/{src → ccw/src}/templates/assets/css/github.min.css +0 -0
  800. /package/{src → ccw/src}/templates/assets/js/cytoscape.min.js +0 -0
  801. /package/{src → ccw/src}/templates/assets/js/d3.min.js +0 -0
  802. /package/{src → ccw/src}/templates/assets/js/highlight.min.js +0 -0
  803. /package/{src → ccw/src}/templates/assets/js/lucide.min.js +0 -0
  804. /package/{src → ccw/src}/templates/assets/js/marked.min.js +0 -0
  805. /package/{src → ccw/src}/templates/assets/js/tailwind.js +0 -0
  806. /package/{src → ccw/src}/templates/dashboard-css/01-base.css +0 -0
  807. /package/{src → ccw/src}/templates/dashboard-css/02-session.css +0 -0
  808. /package/{src → ccw/src}/templates/dashboard-css/03-tasks.css +0 -0
  809. /package/{src → ccw/src}/templates/dashboard-css/04-lite-tasks.css +0 -0
  810. /package/{src → ccw/src}/templates/dashboard-css/05-context.css +0 -0
  811. /package/{src → ccw/src}/templates/dashboard-css/06-cards.css +0 -0
  812. /package/{src → ccw/src}/templates/dashboard-css/07-managers.css +0 -0
  813. /package/{src → ccw/src}/templates/dashboard-css/08-review.css +0 -0
  814. /package/{src → ccw/src}/templates/dashboard-css/09-explorer.css +0 -0
  815. /package/{src → ccw/src}/templates/dashboard-css/10-cli-status.css +0 -0
  816. /package/{src → ccw/src}/templates/dashboard-css/11-cli-history.css +0 -0
  817. /package/{src → ccw/src}/templates/dashboard-css/12-cli-legacy.css +0 -0
  818. /package/{src → ccw/src}/templates/dashboard-css/13-cli-ccw.css +0 -0
  819. /package/{src → ccw/src}/templates/dashboard-css/14-cli-modals.css +0 -0
  820. /package/{src → ccw/src}/templates/dashboard-css/15-cli-endpoints.css +0 -0
  821. /package/{src → ccw/src}/templates/dashboard-css/16-cli-session.css +0 -0
  822. /package/{src → ccw/src}/templates/dashboard-css/17-cli-conversation.css +0 -0
  823. /package/{src → ccw/src}/templates/dashboard-css/18-cli-settings.css +0 -0
  824. /package/{src → ccw/src}/templates/dashboard-css/19-cli-native-session.css +0 -0
  825. /package/{src → ccw/src}/templates/dashboard-css/20-cli-taskqueue.css +0 -0
  826. /package/{src → ccw/src}/templates/dashboard-css/21-cli-toolmgmt.css +0 -0
  827. /package/{src → ccw/src}/templates/dashboard-css/22-cli-semantic.css +0 -0
  828. /package/{src → ccw/src}/templates/dashboard-css/23-memory.css +0 -0
  829. /package/{src → ccw/src}/templates/dashboard-css/24-prompt-history.css +0 -0
  830. /package/{src → ccw/src}/templates/dashboard-css/25-skills-rules.css +0 -0
  831. /package/{src → ccw/src}/templates/dashboard-css/26-claude-manager.css +0 -0
  832. /package/{src → ccw/src}/templates/dashboard-css/27-graph-explorer.css +0 -0
  833. /package/{src → ccw/src}/templates/dashboard-css/28-mcp-manager.css +0 -0
  834. /package/{src → ccw/src}/templates/dashboard-css/29-help.css +0 -0
  835. /package/{src → ccw/src}/templates/dashboard-css/30-core-memory.css +0 -0
  836. /package/{src → ccw/src}/templates/dashboard-js/api.js +0 -0
  837. /package/{src → ccw/src}/templates/dashboard-js/components/_conflict_tab.js +0 -0
  838. /package/{src → ccw/src}/templates/dashboard-js/components/_exp_helpers.js +0 -0
  839. /package/{src → ccw/src}/templates/dashboard-js/components/_review_tab.js +0 -0
  840. /package/{src → ccw/src}/templates/dashboard-js/components/carousel.js +0 -0
  841. /package/{src → ccw/src}/templates/dashboard-js/components/cli-history.js +0 -0
  842. /package/{src → ccw/src}/templates/dashboard-js/components/cli-status.js +0 -0
  843. /package/{src → ccw/src}/templates/dashboard-js/components/flowchart.js +0 -0
  844. /package/{src → ccw/src}/templates/dashboard-js/components/global-notifications.js +0 -0
  845. /package/{src → ccw/src}/templates/dashboard-js/components/hook-manager.js +0 -0
  846. /package/{src → ccw/src}/templates/dashboard-js/components/index-manager.js +0 -0
  847. /package/{src → ccw/src}/templates/dashboard-js/components/mcp-manager.js +0 -0
  848. /package/{src → ccw/src}/templates/dashboard-js/components/modals.js +0 -0
  849. /package/{src → ccw/src}/templates/dashboard-js/components/navigation.js +0 -0
  850. /package/{src → ccw/src}/templates/dashboard-js/components/notifications.js +0 -0
  851. /package/{src → ccw/src}/templates/dashboard-js/components/sidebar.js +0 -0
  852. /package/{src → ccw/src}/templates/dashboard-js/components/storage-manager.js +0 -0
  853. /package/{src → ccw/src}/templates/dashboard-js/components/tabs-context.js +0 -0
  854. /package/{src → ccw/src}/templates/dashboard-js/components/tabs-other.js +0 -0
  855. /package/{src → ccw/src}/templates/dashboard-js/components/task-drawer-core.js +0 -0
  856. /package/{src → ccw/src}/templates/dashboard-js/components/task-drawer-renderers.js +0 -0
  857. /package/{src → ccw/src}/templates/dashboard-js/components/task-queue-sidebar.js +0 -0
  858. /package/{src → ccw/src}/templates/dashboard-js/components/theme.js +0 -0
  859. /package/{src → ccw/src}/templates/dashboard-js/components/version-check.js +0 -0
  860. /package/{src → ccw/src}/templates/dashboard-js/help-i18n.js +0 -0
  861. /package/{src → ccw/src}/templates/dashboard-js/i18n.js +0 -0
  862. /package/{src → ccw/src}/templates/dashboard-js/main.js +0 -0
  863. /package/{src → ccw/src}/templates/dashboard-js/state.js +0 -0
  864. /package/{src → ccw/src}/templates/dashboard-js/utils.js +0 -0
  865. /package/{src → ccw/src}/templates/dashboard-js/views/claude-manager.js +0 -0
  866. /package/{src → ccw/src}/templates/dashboard-js/views/cli-manager.js +0 -0
  867. /package/{src → ccw/src}/templates/dashboard-js/views/codexlens-manager.js +0 -0
  868. /package/{src → ccw/src}/templates/dashboard-js/views/core-memory-clusters.js +0 -0
  869. /package/{src → ccw/src}/templates/dashboard-js/views/core-memory.js +0 -0
  870. /package/{src → ccw/src}/templates/dashboard-js/views/explorer.js +0 -0
  871. /package/{src → ccw/src}/templates/dashboard-js/views/fix-session.js +0 -0
  872. /package/{src → ccw/src}/templates/dashboard-js/views/graph-explorer.js +0 -0
  873. /package/{src → ccw/src}/templates/dashboard-js/views/help.js +0 -0
  874. /package/{src → ccw/src}/templates/dashboard-js/views/history.js +0 -0
  875. /package/{src → ccw/src}/templates/dashboard-js/views/home.js +0 -0
  876. /package/{src → ccw/src}/templates/dashboard-js/views/hook-manager.js +0 -0
  877. /package/{src → ccw/src}/templates/dashboard-js/views/lite-tasks.js +0 -0
  878. /package/{src → ccw/src}/templates/dashboard-js/views/mcp-manager.js +0 -0
  879. /package/{src → ccw/src}/templates/dashboard-js/views/mcp-manager.js.backup +0 -0
  880. /package/{src → ccw/src}/templates/dashboard-js/views/mcp-manager.js.new +0 -0
  881. /package/{src → ccw/src}/templates/dashboard-js/views/memory.js +0 -0
  882. /package/{src → ccw/src}/templates/dashboard-js/views/project-overview.js +0 -0
  883. /package/{src → ccw/src}/templates/dashboard-js/views/prompt-history.js +0 -0
  884. /package/{src → ccw/src}/templates/dashboard-js/views/review-session.js +0 -0
  885. /package/{src → ccw/src}/templates/dashboard-js/views/rules-manager.js +0 -0
  886. /package/{src → ccw/src}/templates/dashboard-js/views/session-detail.js +0 -0
  887. /package/{src → ccw/src}/templates/dashboard-js/views/skills-manager.js +0 -0
  888. /package/{src → ccw/src}/templates/dashboard.html +0 -0
  889. /package/{src → ccw/src}/templates/hooks-config-example.json +0 -0
  890. /package/{src → ccw/src}/templates/review-cycle-dashboard.html +0 -0
  891. /package/{src → ccw/src}/templates/workflow-dashboard.html +0 -0
  892. /package/{src → ccw/src}/tools/classify-folders.ts +0 -0
  893. /package/{src → ccw/src}/tools/cli-config-manager.ts +0 -0
  894. /package/{src → ccw/src}/tools/cli-executor.ts +0 -0
  895. /package/{src → ccw/src}/tools/cli-history-store.ts +0 -0
  896. /package/{src → ccw/src}/tools/codex-lens.ts +0 -0
  897. /package/{src → ccw/src}/tools/convert-tokens-to-css.ts +0 -0
  898. /package/{src → ccw/src}/tools/core-memory.ts +0 -0
  899. /package/{src → ccw/src}/tools/detect-changed-modules.ts +0 -0
  900. /package/{src → ccw/src}/tools/discover-design-files.ts +0 -0
  901. /package/{src → ccw/src}/tools/edit-file.ts +0 -0
  902. /package/{src → ccw/src}/tools/generate-module-docs.ts +0 -0
  903. /package/{src → ccw/src}/tools/get-modules-by-depth.ts +0 -0
  904. /package/{src → ccw/src}/tools/index.ts +0 -0
  905. /package/{src → ccw/src}/tools/native-session-discovery.ts +0 -0
  906. /package/{src → ccw/src}/tools/notifier.ts +0 -0
  907. /package/{src → ccw/src}/tools/read-file.ts +0 -0
  908. /package/{src → ccw/src}/tools/resume-strategy.ts +0 -0
  909. /package/{src → ccw/src}/tools/session-content-parser.ts +0 -0
  910. /package/{src → ccw/src}/tools/session-manager.ts +0 -0
  911. /package/{src → ccw/src}/tools/smart-context.ts +0 -0
  912. /package/{src → ccw/src}/tools/smart-search.ts +0 -0
  913. /package/{src → ccw/src}/tools/smart-search.ts.backup +0 -0
  914. /package/{src → ccw/src}/tools/storage-manager.ts +0 -0
  915. /package/{src → ccw/src}/tools/ui-generate-preview.js +0 -0
  916. /package/{src → ccw/src}/tools/ui-instantiate-prototypes.js +0 -0
  917. /package/{src → ccw/src}/tools/update-module-claude.js +0 -0
  918. /package/{src → ccw/src}/tools/write-file.ts +0 -0
  919. /package/{src → ccw/src}/types/config.ts +0 -0
  920. /package/{src → ccw/src}/types/index.ts +0 -0
  921. /package/{src → ccw/src}/types/session.ts +0 -0
  922. /package/{src → ccw/src}/types/tool.ts +0 -0
  923. /package/{src → ccw/src}/utils/browser-launcher.ts +0 -0
  924. /package/{src → ccw/src}/utils/file-utils.ts +0 -0
  925. /package/{src → ccw/src}/utils/path-resolver.ts +0 -0
  926. /package/{src → ccw/src}/utils/path-validator.ts +0 -0
  927. /package/{src → ccw/src}/utils/ui.ts +0 -0
@@ -1,700 +0,0 @@
1
- /**
2
- * Native Session Discovery - Discovers and tracks native CLI tool sessions
3
- * Supports Gemini, Qwen, and Codex session formats
4
- */
5
- import { existsSync, readdirSync, readFileSync, statSync } from 'fs';
6
- import { join, basename, resolve } from 'path';
7
- // basename is used for extracting session ID from filename
8
- import { createHash } from 'crypto';
9
- import { homedir } from 'os';
10
- /**
11
- * Calculate project hash (same algorithm as Gemini/Qwen)
12
- * Note: Gemini/Qwen use the absolute path AS-IS without normalization
13
- * On Windows, this means using backslashes and original case
14
- */
15
- export function calculateProjectHash(projectDir) {
16
- // resolve() returns absolute path with native separators (backslash on Windows)
17
- const absolutePath = resolve(projectDir);
18
- return createHash('sha256').update(absolutePath).digest('hex');
19
- }
20
- /**
21
- * Get home directory path
22
- */
23
- function getHomePath() {
24
- return homedir().replace(/\\/g, '/');
25
- }
26
- /**
27
- * Base session discoverer interface
28
- */
29
- class SessionDiscoverer {
30
- /**
31
- * Get the latest session
32
- */
33
- getLatestSession(options) {
34
- const sessions = this.getSessions({ ...options, limit: 1 });
35
- return sessions.length > 0 ? sessions[0] : null;
36
- }
37
- /**
38
- * Track new session created during execution
39
- * @param beforeTimestamp - Filter sessions created after this time
40
- * @param workingDir - Project working directory
41
- * @param prompt - Optional prompt content for precise matching (fallback)
42
- */
43
- async trackNewSession(beforeTimestamp, workingDir, prompt) {
44
- const sessions = this.getSessions({
45
- workingDir,
46
- afterTimestamp: beforeTimestamp,
47
- limit: 10 // Get more candidates for prompt matching
48
- });
49
- if (sessions.length === 0)
50
- return null;
51
- // If only one session or no prompt provided, return the latest
52
- if (sessions.length === 1 || !prompt) {
53
- return sessions[0];
54
- }
55
- // Try to match by prompt content (fallback for parallel execution)
56
- const matched = this.matchSessionByPrompt(sessions, prompt);
57
- return matched || sessions[0]; // Fallback to latest if no match
58
- }
59
- /**
60
- * Match session by prompt content
61
- * Searches for the prompt in session's user messages
62
- */
63
- matchSessionByPrompt(sessions, prompt) {
64
- // Normalize prompt for comparison (first 200 chars)
65
- const promptPrefix = prompt.substring(0, 200).trim();
66
- if (!promptPrefix)
67
- return null;
68
- for (const session of sessions) {
69
- try {
70
- const userMessage = this.extractFirstUserMessage(session.filePath);
71
- if (userMessage && userMessage.includes(promptPrefix)) {
72
- return session;
73
- }
74
- }
75
- catch {
76
- // Skip sessions that can't be read
77
- }
78
- }
79
- return null;
80
- }
81
- }
82
- /**
83
- * Gemini Session Discoverer
84
- * Path: ~/.gemini/tmp/<projectHash>/chats/session-*.json
85
- */
86
- class GeminiSessionDiscoverer extends SessionDiscoverer {
87
- tool = 'gemini';
88
- basePath = join(getHomePath(), '.gemini', 'tmp');
89
- getSessions(options = {}) {
90
- const { workingDir, limit, afterTimestamp } = options;
91
- const sessions = [];
92
- try {
93
- if (!existsSync(this.basePath))
94
- return [];
95
- // If workingDir provided, only look in that project's folder
96
- let projectDirs;
97
- if (workingDir) {
98
- const projectHash = calculateProjectHash(workingDir);
99
- const projectPath = join(this.basePath, projectHash);
100
- projectDirs = existsSync(projectPath) ? [projectHash] : [];
101
- }
102
- else {
103
- projectDirs = readdirSync(this.basePath).filter(d => {
104
- const fullPath = join(this.basePath, d);
105
- return statSync(fullPath).isDirectory();
106
- });
107
- }
108
- for (const projectHash of projectDirs) {
109
- const chatsDir = join(this.basePath, projectHash, 'chats');
110
- if (!existsSync(chatsDir))
111
- continue;
112
- const sessionFiles = readdirSync(chatsDir)
113
- .filter(f => f.startsWith('session-') && f.endsWith('.json'))
114
- .map(f => ({
115
- name: f,
116
- path: join(chatsDir, f),
117
- stat: statSync(join(chatsDir, f))
118
- }))
119
- .sort((a, b) => b.stat.mtimeMs - a.stat.mtimeMs);
120
- for (const file of sessionFiles) {
121
- if (afterTimestamp && file.stat.mtime <= afterTimestamp)
122
- continue;
123
- try {
124
- const content = JSON.parse(readFileSync(file.path, 'utf8'));
125
- sessions.push({
126
- sessionId: content.sessionId,
127
- tool: this.tool,
128
- filePath: file.path,
129
- projectHash,
130
- createdAt: new Date(content.startTime || file.stat.birthtime),
131
- updatedAt: new Date(content.lastUpdated || file.stat.mtime)
132
- });
133
- }
134
- catch {
135
- // Skip invalid files
136
- }
137
- }
138
- }
139
- // Sort by updatedAt descending
140
- sessions.sort((a, b) => b.updatedAt.getTime() - a.updatedAt.getTime());
141
- return limit ? sessions.slice(0, limit) : sessions;
142
- }
143
- catch {
144
- return [];
145
- }
146
- }
147
- findSessionById(sessionId) {
148
- const sessions = this.getSessions();
149
- return sessions.find(s => s.sessionId === sessionId) || null;
150
- }
151
- /**
152
- * Extract first user message from Gemini session file
153
- * Format: { "messages": [{ "type": "user", "content": "..." }] }
154
- */
155
- extractFirstUserMessage(filePath) {
156
- try {
157
- const content = JSON.parse(readFileSync(filePath, 'utf8'));
158
- if (content.messages && Array.isArray(content.messages)) {
159
- const userMsg = content.messages.find((m) => m.type === 'user');
160
- return userMsg?.content || null;
161
- }
162
- return null;
163
- }
164
- catch {
165
- return null;
166
- }
167
- }
168
- }
169
- /**
170
- * Encode a path to Qwen's project folder name format
171
- * D:\Claude_dms3 -> D--Claude-dms3
172
- * Rules: : -> -, \ -> -, _ -> -
173
- */
174
- function encodeQwenProjectPath(projectDir) {
175
- const absolutePath = resolve(projectDir);
176
- // Replace : -> -, \ -> -, _ -> -
177
- return absolutePath
178
- .replace(/:/g, '-')
179
- .replace(/\\/g, '-')
180
- .replace(/_/g, '-');
181
- }
182
- /**
183
- * Qwen Session Discoverer
184
- * New path: ~/.qwen/projects/<path-encoded>/chats/<uuid>.jsonl
185
- * Old path: ~/.qwen/tmp/<projectHash>/chats/session-*.json (deprecated, fallback)
186
- */
187
- class QwenSessionDiscoverer extends SessionDiscoverer {
188
- tool = 'qwen';
189
- basePath = join(getHomePath(), '.qwen', 'projects');
190
- legacyBasePath = join(getHomePath(), '.qwen', 'tmp');
191
- getSessions(options = {}) {
192
- const { workingDir, limit, afterTimestamp } = options;
193
- const sessions = [];
194
- // Try new format first (projects folder)
195
- try {
196
- if (existsSync(this.basePath)) {
197
- let projectDirs;
198
- if (workingDir) {
199
- const encodedPath = encodeQwenProjectPath(workingDir);
200
- const projectPath = join(this.basePath, encodedPath);
201
- projectDirs = existsSync(projectPath) ? [encodedPath] : [];
202
- }
203
- else {
204
- projectDirs = readdirSync(this.basePath).filter(d => {
205
- const fullPath = join(this.basePath, d);
206
- return statSync(fullPath).isDirectory();
207
- });
208
- }
209
- for (const projectFolder of projectDirs) {
210
- const chatsDir = join(this.basePath, projectFolder, 'chats');
211
- if (!existsSync(chatsDir))
212
- continue;
213
- // New format: <uuid>.jsonl files
214
- const sessionFiles = readdirSync(chatsDir)
215
- .filter(f => f.endsWith('.jsonl'))
216
- .map(f => ({
217
- name: f,
218
- path: join(chatsDir, f),
219
- stat: statSync(join(chatsDir, f))
220
- }))
221
- .sort((a, b) => b.stat.mtimeMs - a.stat.mtimeMs);
222
- for (const file of sessionFiles) {
223
- if (afterTimestamp && file.stat.mtime <= afterTimestamp)
224
- continue;
225
- try {
226
- // Parse JSONL - read first line for session info
227
- const content = readFileSync(file.path, 'utf8');
228
- const firstLine = content.split('\n')[0];
229
- const firstEntry = JSON.parse(firstLine);
230
- // Session ID is in the filename or first entry
231
- const sessionId = firstEntry.sessionId || basename(file.name, '.jsonl');
232
- // Find timestamp from entries
233
- let createdAt = file.stat.birthtime;
234
- let updatedAt = file.stat.mtime;
235
- if (firstEntry.timestamp) {
236
- createdAt = new Date(firstEntry.timestamp);
237
- }
238
- // Get last entry for updatedAt
239
- const lines = content.trim().split('\n').filter(l => l.trim());
240
- if (lines.length > 0) {
241
- try {
242
- const lastEntry = JSON.parse(lines[lines.length - 1]);
243
- if (lastEntry.timestamp) {
244
- updatedAt = new Date(lastEntry.timestamp);
245
- }
246
- }
247
- catch { /* ignore */ }
248
- }
249
- sessions.push({
250
- sessionId,
251
- tool: this.tool,
252
- filePath: file.path,
253
- projectHash: projectFolder, // Using encoded path as project identifier
254
- createdAt,
255
- updatedAt
256
- });
257
- }
258
- catch {
259
- // Skip invalid files
260
- }
261
- }
262
- }
263
- }
264
- }
265
- catch { /* ignore errors */ }
266
- // Fallback to legacy format (tmp folder with hash)
267
- try {
268
- if (existsSync(this.legacyBasePath)) {
269
- let projectDirs;
270
- if (workingDir) {
271
- const projectHash = calculateProjectHash(workingDir);
272
- const projectPath = join(this.legacyBasePath, projectHash);
273
- projectDirs = existsSync(projectPath) ? [projectHash] : [];
274
- }
275
- else {
276
- projectDirs = readdirSync(this.legacyBasePath).filter(d => {
277
- const fullPath = join(this.legacyBasePath, d);
278
- return statSync(fullPath).isDirectory();
279
- });
280
- }
281
- for (const projectHash of projectDirs) {
282
- const chatsDir = join(this.legacyBasePath, projectHash, 'chats');
283
- if (!existsSync(chatsDir))
284
- continue;
285
- const sessionFiles = readdirSync(chatsDir)
286
- .filter(f => f.startsWith('session-') && f.endsWith('.json'))
287
- .map(f => ({
288
- name: f,
289
- path: join(chatsDir, f),
290
- stat: statSync(join(chatsDir, f))
291
- }))
292
- .sort((a, b) => b.stat.mtimeMs - a.stat.mtimeMs);
293
- for (const file of sessionFiles) {
294
- if (afterTimestamp && file.stat.mtime <= afterTimestamp)
295
- continue;
296
- try {
297
- const content = JSON.parse(readFileSync(file.path, 'utf8'));
298
- sessions.push({
299
- sessionId: content.sessionId,
300
- tool: this.tool,
301
- filePath: file.path,
302
- projectHash,
303
- createdAt: new Date(content.startTime || file.stat.birthtime),
304
- updatedAt: new Date(content.lastUpdated || file.stat.mtime)
305
- });
306
- }
307
- catch {
308
- // Skip invalid files
309
- }
310
- }
311
- }
312
- }
313
- }
314
- catch { /* ignore errors */ }
315
- // Sort by updatedAt descending and dedupe by sessionId
316
- sessions.sort((a, b) => b.updatedAt.getTime() - a.updatedAt.getTime());
317
- // Dedupe (new format takes precedence as it's checked first)
318
- const seen = new Set();
319
- const uniqueSessions = sessions.filter(s => {
320
- if (seen.has(s.sessionId))
321
- return false;
322
- seen.add(s.sessionId);
323
- return true;
324
- });
325
- return limit ? uniqueSessions.slice(0, limit) : uniqueSessions;
326
- }
327
- findSessionById(sessionId) {
328
- const sessions = this.getSessions();
329
- return sessions.find(s => s.sessionId === sessionId) || null;
330
- }
331
- /**
332
- * Extract first user message from Qwen session file
333
- * New format (.jsonl): { type: "user", message: { role: "user", parts: [{ text: "..." }] } }
334
- * Legacy format (.json): { "messages": [{ "type": "user", "content": "..." }] }
335
- */
336
- extractFirstUserMessage(filePath) {
337
- try {
338
- const content = readFileSync(filePath, 'utf8');
339
- // Check if JSONL (new format) or JSON (legacy)
340
- if (filePath.endsWith('.jsonl')) {
341
- // JSONL format - find first user message
342
- const lines = content.split('\n').filter(l => l.trim());
343
- for (const line of lines) {
344
- try {
345
- const entry = JSON.parse(line);
346
- // New Qwen format: { type: "user", message: { parts: [{ text: "..." }] } }
347
- if (entry.type === 'user' && entry.message?.parts?.[0]?.text) {
348
- return entry.message.parts[0].text;
349
- }
350
- // Alternative format
351
- if (entry.role === 'user' && entry.content) {
352
- return entry.content;
353
- }
354
- }
355
- catch { /* skip invalid lines */ }
356
- }
357
- }
358
- else {
359
- // Legacy JSON format
360
- const data = JSON.parse(content);
361
- if (data.messages && Array.isArray(data.messages)) {
362
- const userMsg = data.messages.find((m) => m.type === 'user');
363
- return userMsg?.content || null;
364
- }
365
- }
366
- return null;
367
- }
368
- catch {
369
- return null;
370
- }
371
- }
372
- }
373
- /**
374
- * Codex Session Discoverer
375
- * Path: ~/.codex/sessions/YYYY/MM/DD/rollout-*-<uuid>.jsonl
376
- */
377
- class CodexSessionDiscoverer extends SessionDiscoverer {
378
- tool = 'codex';
379
- basePath = join(getHomePath(), '.codex', 'sessions');
380
- getSessions(options = {}) {
381
- const { limit, afterTimestamp } = options;
382
- const sessions = [];
383
- try {
384
- if (!existsSync(this.basePath))
385
- return [];
386
- // Get year directories (e.g., 2025)
387
- const yearDirs = readdirSync(this.basePath)
388
- .filter(d => /^\d{4}$/.test(d))
389
- .sort((a, b) => b.localeCompare(a)); // Descending
390
- for (const year of yearDirs) {
391
- const yearPath = join(this.basePath, year);
392
- if (!statSync(yearPath).isDirectory())
393
- continue;
394
- // Get month directories
395
- const monthDirs = readdirSync(yearPath)
396
- .filter(d => /^\d{2}$/.test(d))
397
- .sort((a, b) => b.localeCompare(a));
398
- for (const month of monthDirs) {
399
- const monthPath = join(yearPath, month);
400
- if (!statSync(monthPath).isDirectory())
401
- continue;
402
- // Get day directories
403
- const dayDirs = readdirSync(monthPath)
404
- .filter(d => /^\d{2}$/.test(d))
405
- .sort((a, b) => b.localeCompare(a));
406
- for (const day of dayDirs) {
407
- const dayPath = join(monthPath, day);
408
- if (!statSync(dayPath).isDirectory())
409
- continue;
410
- // Get session files
411
- const sessionFiles = readdirSync(dayPath)
412
- .filter(f => f.startsWith('rollout-') && f.endsWith('.jsonl'))
413
- .map(f => ({
414
- name: f,
415
- path: join(dayPath, f),
416
- stat: statSync(join(dayPath, f))
417
- }))
418
- .sort((a, b) => b.stat.mtimeMs - a.stat.mtimeMs);
419
- for (const file of sessionFiles) {
420
- if (afterTimestamp && file.stat.mtime <= afterTimestamp)
421
- continue;
422
- try {
423
- // Parse first line for session_meta
424
- const firstLine = readFileSync(file.path, 'utf8').split('\n')[0];
425
- const meta = JSON.parse(firstLine);
426
- if (meta.type === 'session_meta' && meta.payload?.id) {
427
- sessions.push({
428
- sessionId: meta.payload.id,
429
- tool: this.tool,
430
- filePath: file.path,
431
- createdAt: new Date(meta.payload.timestamp || file.stat.birthtime),
432
- updatedAt: file.stat.mtime
433
- });
434
- }
435
- }
436
- catch {
437
- // Try extracting UUID from filename
438
- const uuidMatch = file.name.match(/([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\.jsonl$/i);
439
- if (uuidMatch) {
440
- sessions.push({
441
- sessionId: uuidMatch[1],
442
- tool: this.tool,
443
- filePath: file.path,
444
- createdAt: file.stat.birthtime,
445
- updatedAt: file.stat.mtime
446
- });
447
- }
448
- }
449
- }
450
- }
451
- }
452
- }
453
- sessions.sort((a, b) => b.updatedAt.getTime() - a.updatedAt.getTime());
454
- return limit ? sessions.slice(0, limit) : sessions;
455
- }
456
- catch {
457
- return [];
458
- }
459
- }
460
- findSessionById(sessionId) {
461
- const sessions = this.getSessions();
462
- return sessions.find(s => s.sessionId === sessionId) || null;
463
- }
464
- /**
465
- * Extract first user message from Codex session file (.jsonl)
466
- * Format: {"type":"event_msg","payload":{"type":"user_message","message":"..."}}
467
- */
468
- extractFirstUserMessage(filePath) {
469
- try {
470
- const content = readFileSync(filePath, 'utf8');
471
- const lines = content.split('\n').filter(l => l.trim());
472
- for (const line of lines) {
473
- try {
474
- const entry = JSON.parse(line);
475
- // Look for user_message event
476
- if (entry.type === 'event_msg' &&
477
- entry.payload?.type === 'user_message' &&
478
- entry.payload?.message) {
479
- return entry.payload.message;
480
- }
481
- }
482
- catch { /* skip invalid lines */ }
483
- }
484
- return null;
485
- }
486
- catch {
487
- return null;
488
- }
489
- }
490
- }
491
- /**
492
- * Claude Code Session Discoverer
493
- * Path: ~/.claude/projects/<projectHash>/sessions/*.jsonl
494
- * Claude Code stores sessions with UUID-based session IDs
495
- */
496
- class ClaudeSessionDiscoverer extends SessionDiscoverer {
497
- tool = 'claude';
498
- basePath = join(getHomePath(), '.claude', 'projects');
499
- getSessions(options = {}) {
500
- const { workingDir, limit, afterTimestamp } = options;
501
- const sessions = [];
502
- try {
503
- if (!existsSync(this.basePath))
504
- return [];
505
- // If workingDir provided, only look in that project's folder
506
- let projectDirs;
507
- if (workingDir) {
508
- const projectHash = calculateProjectHash(workingDir);
509
- const projectPath = join(this.basePath, projectHash);
510
- projectDirs = existsSync(projectPath) ? [projectHash] : [];
511
- }
512
- else {
513
- projectDirs = readdirSync(this.basePath).filter(d => {
514
- const fullPath = join(this.basePath, d);
515
- return statSync(fullPath).isDirectory();
516
- });
517
- }
518
- for (const projectHash of projectDirs) {
519
- // Claude Code stores session files directly in project folder (not in 'sessions' subdirectory)
520
- // e.g., ~/.claude/projects/D--Claude-dms3/<uuid>.jsonl
521
- const projectDir = join(this.basePath, projectHash);
522
- if (!existsSync(projectDir))
523
- continue;
524
- const sessionFiles = readdirSync(projectDir)
525
- .filter(f => f.endsWith('.jsonl') || f.endsWith('.json'))
526
- .map(f => ({
527
- name: f,
528
- path: join(projectDir, f),
529
- stat: statSync(join(projectDir, f))
530
- }))
531
- .sort((a, b) => b.stat.mtimeMs - a.stat.mtimeMs);
532
- for (const file of sessionFiles) {
533
- if (afterTimestamp && file.stat.mtime <= afterTimestamp)
534
- continue;
535
- try {
536
- // Extract session ID from filename or content
537
- const uuidMatch = file.name.match(/([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})/i);
538
- if (uuidMatch) {
539
- sessions.push({
540
- sessionId: uuidMatch[1],
541
- tool: this.tool,
542
- filePath: file.path,
543
- projectHash,
544
- createdAt: file.stat.birthtime,
545
- updatedAt: file.stat.mtime
546
- });
547
- }
548
- else {
549
- // Try reading first line for session metadata
550
- const firstLine = readFileSync(file.path, 'utf8').split('\n')[0];
551
- const meta = JSON.parse(firstLine);
552
- if (meta.session_id) {
553
- sessions.push({
554
- sessionId: meta.session_id,
555
- tool: this.tool,
556
- filePath: file.path,
557
- projectHash,
558
- createdAt: new Date(meta.timestamp || file.stat.birthtime),
559
- updatedAt: file.stat.mtime
560
- });
561
- }
562
- }
563
- }
564
- catch {
565
- // Skip invalid files
566
- }
567
- }
568
- }
569
- sessions.sort((a, b) => b.updatedAt.getTime() - a.updatedAt.getTime());
570
- return limit ? sessions.slice(0, limit) : sessions;
571
- }
572
- catch {
573
- return [];
574
- }
575
- }
576
- findSessionById(sessionId) {
577
- const sessions = this.getSessions();
578
- return sessions.find(s => s.sessionId === sessionId) || null;
579
- }
580
- /**
581
- * Extract first user message from Claude Code session file (.jsonl)
582
- * Format: {"type":"user","message":{"role":"user","content":"..."},"isMeta":false,...}
583
- */
584
- extractFirstUserMessage(filePath) {
585
- try {
586
- const content = readFileSync(filePath, 'utf8');
587
- const lines = content.split('\n').filter(l => l.trim());
588
- for (const line of lines) {
589
- try {
590
- const entry = JSON.parse(line);
591
- // Claude Code format: type="user", message.role="user", message.content="..."
592
- // Skip meta messages and command messages
593
- if (entry.type === 'user' &&
594
- entry.message?.role === 'user' &&
595
- entry.message?.content &&
596
- !entry.isMeta &&
597
- !entry.message.content.startsWith('<command-')) {
598
- return entry.message.content;
599
- }
600
- }
601
- catch { /* skip invalid lines */ }
602
- }
603
- return null;
604
- }
605
- catch {
606
- return null;
607
- }
608
- }
609
- }
610
- // Singleton discoverers
611
- const discoverers = {
612
- gemini: new GeminiSessionDiscoverer(),
613
- qwen: new QwenSessionDiscoverer(),
614
- codex: new CodexSessionDiscoverer(),
615
- claude: new ClaudeSessionDiscoverer()
616
- };
617
- /**
618
- * Get session discoverer for a tool
619
- */
620
- export function getDiscoverer(tool) {
621
- return discoverers[tool] || null;
622
- }
623
- /**
624
- * Get latest native session for a tool
625
- */
626
- export function getLatestNativeSession(tool, workingDir) {
627
- const discoverer = discoverers[tool];
628
- if (!discoverer)
629
- return null;
630
- return discoverer.getLatestSession({ workingDir });
631
- }
632
- /**
633
- * Find native session by ID
634
- */
635
- export function findNativeSessionById(tool, sessionId) {
636
- const discoverer = discoverers[tool];
637
- if (!discoverer)
638
- return null;
639
- return discoverer.findSessionById(sessionId);
640
- }
641
- /**
642
- * Track new session created during execution
643
- * @param tool - CLI tool name (gemini, qwen, codex, claude)
644
- * @param beforeTimestamp - Filter sessions created after this time
645
- * @param workingDir - Project working directory
646
- * @param prompt - Optional prompt for precise matching in parallel execution
647
- */
648
- export async function trackNewSession(tool, beforeTimestamp, workingDir, prompt) {
649
- const discoverer = discoverers[tool];
650
- if (!discoverer)
651
- return null;
652
- return discoverer.trackNewSession(beforeTimestamp, workingDir, prompt);
653
- }
654
- /**
655
- * Get all sessions for a tool
656
- */
657
- export function getNativeSessions(tool, options) {
658
- const discoverer = discoverers[tool];
659
- if (!discoverer)
660
- return [];
661
- return discoverer.getSessions(options);
662
- }
663
- /**
664
- * Check if a tool supports native resume
665
- */
666
- export function supportsNativeResume(tool) {
667
- return tool in discoverers;
668
- }
669
- /**
670
- * Get native resume command arguments for a tool
671
- */
672
- export function getNativeResumeArgs(tool, sessionId) {
673
- switch (tool) {
674
- case 'gemini':
675
- // gemini -r <uuid> or -r latest
676
- return ['-r', sessionId];
677
- case 'qwen':
678
- // qwen --continue (latest) or --resume <uuid>
679
- if (sessionId === 'latest') {
680
- return ['--continue'];
681
- }
682
- return ['--resume', sessionId];
683
- case 'codex':
684
- // codex resume <uuid> or codex resume --last
685
- if (sessionId === 'latest') {
686
- return ['resume', '--last'];
687
- }
688
- return ['resume', sessionId];
689
- default:
690
- return [];
691
- }
692
- }
693
- /**
694
- * Get base path for a tool's sessions
695
- */
696
- export function getToolSessionPath(tool) {
697
- const discoverer = discoverers[tool];
698
- return discoverer?.basePath || null;
699
- }
700
- //# sourceMappingURL=native-session-discovery.js.map