claude-code-workflow 6.2.2 → 6.2.4

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 (346) hide show
  1. package/ccw/dist/cli.d.ts +2 -0
  2. package/ccw/dist/cli.d.ts.map +1 -0
  3. package/ccw/dist/cli.js +219 -0
  4. package/ccw/dist/cli.js.map +1 -0
  5. package/ccw/dist/commands/cli.d.ts +32 -0
  6. package/ccw/dist/commands/cli.d.ts.map +1 -0
  7. package/ccw/dist/commands/cli.js +619 -0
  8. package/ccw/dist/commands/cli.js.map +1 -0
  9. package/ccw/dist/commands/core-memory.d.ts +32 -0
  10. package/ccw/dist/commands/core-memory.d.ts.map +1 -0
  11. package/ccw/dist/commands/core-memory.js +640 -0
  12. package/ccw/dist/commands/core-memory.js.map +1 -0
  13. package/ccw/dist/commands/hook.d.ts +16 -0
  14. package/ccw/dist/commands/hook.d.ts.map +1 -0
  15. package/ccw/dist/commands/hook.js +276 -0
  16. package/ccw/dist/commands/hook.js.map +1 -0
  17. package/ccw/dist/commands/install.d.ts +12 -0
  18. package/ccw/dist/commands/install.d.ts.map +1 -0
  19. package/ccw/dist/commands/install.js +443 -0
  20. package/ccw/dist/commands/install.js.map +1 -0
  21. package/ccw/dist/commands/list.d.ts +5 -0
  22. package/ccw/dist/commands/list.d.ts.map +1 -0
  23. package/ccw/dist/commands/list.js +32 -0
  24. package/ccw/dist/commands/list.js.map +1 -0
  25. package/ccw/dist/commands/memory.d.ts +57 -0
  26. package/ccw/dist/commands/memory.d.ts.map +1 -0
  27. package/ccw/dist/commands/memory.js +890 -0
  28. package/ccw/dist/commands/memory.js.map +1 -0
  29. package/ccw/dist/commands/serve.d.ts +12 -0
  30. package/ccw/dist/commands/serve.d.ts.map +1 -0
  31. package/ccw/dist/commands/serve.js +63 -0
  32. package/ccw/dist/commands/serve.js.map +1 -0
  33. package/ccw/dist/commands/session-path-resolver.d.ts +45 -0
  34. package/ccw/dist/commands/session-path-resolver.d.ts.map +1 -0
  35. package/ccw/dist/commands/session-path-resolver.js +302 -0
  36. package/ccw/dist/commands/session-path-resolver.js.map +1 -0
  37. package/ccw/dist/commands/session.d.ts +12 -0
  38. package/ccw/dist/commands/session.d.ts.map +1 -0
  39. package/ccw/dist/commands/session.js +954 -0
  40. package/ccw/dist/commands/session.js.map +1 -0
  41. package/ccw/dist/commands/stop.d.ts +11 -0
  42. package/ccw/dist/commands/stop.d.ts.map +1 -0
  43. package/ccw/dist/commands/stop.js +96 -0
  44. package/ccw/dist/commands/stop.js.map +1 -0
  45. package/ccw/dist/commands/tool.d.ts +29 -0
  46. package/ccw/dist/commands/tool.d.ts.map +1 -0
  47. package/ccw/dist/commands/tool.js +173 -0
  48. package/ccw/dist/commands/tool.js.map +1 -0
  49. package/ccw/dist/commands/uninstall.d.ts +9 -0
  50. package/ccw/dist/commands/uninstall.d.ts.map +1 -0
  51. package/ccw/dist/commands/uninstall.js +239 -0
  52. package/ccw/dist/commands/uninstall.js.map +1 -0
  53. package/ccw/dist/commands/upgrade.d.ts +10 -0
  54. package/ccw/dist/commands/upgrade.d.ts.map +1 -0
  55. package/ccw/dist/commands/upgrade.js +288 -0
  56. package/ccw/dist/commands/upgrade.js.map +1 -0
  57. package/ccw/dist/commands/view.d.ts +14 -0
  58. package/ccw/dist/commands/view.d.ts.map +1 -0
  59. package/ccw/dist/commands/view.js +100 -0
  60. package/ccw/dist/commands/view.js.map +1 -0
  61. package/ccw/dist/config/storage-paths.d.ts +184 -0
  62. package/ccw/dist/config/storage-paths.d.ts.map +1 -0
  63. package/ccw/dist/config/storage-paths.js +536 -0
  64. package/ccw/dist/config/storage-paths.js.map +1 -0
  65. package/ccw/dist/core/cache-manager.d.ts +80 -0
  66. package/ccw/dist/core/cache-manager.d.ts.map +1 -0
  67. package/ccw/dist/core/cache-manager.js +260 -0
  68. package/ccw/dist/core/cache-manager.js.map +1 -0
  69. package/ccw/dist/core/claude-freshness.d.ts +53 -0
  70. package/ccw/dist/core/claude-freshness.d.ts.map +1 -0
  71. package/ccw/dist/core/claude-freshness.js +232 -0
  72. package/ccw/dist/core/claude-freshness.js.map +1 -0
  73. package/ccw/dist/core/core-memory-store.d.ts +320 -0
  74. package/ccw/dist/core/core-memory-store.d.ts.map +1 -0
  75. package/ccw/dist/core/core-memory-store.js +1177 -0
  76. package/ccw/dist/core/core-memory-store.js.map +1 -0
  77. package/ccw/dist/core/dashboard-generator-patch.d.ts +2 -0
  78. package/ccw/dist/core/dashboard-generator-patch.d.ts.map +1 -0
  79. package/ccw/dist/core/dashboard-generator-patch.js +48 -0
  80. package/ccw/dist/core/dashboard-generator-patch.js.map +1 -0
  81. package/ccw/dist/core/dashboard-generator.d.ts +8 -0
  82. package/ccw/dist/core/dashboard-generator.d.ts.map +1 -0
  83. package/ccw/dist/core/dashboard-generator.js +695 -0
  84. package/ccw/dist/core/dashboard-generator.js.map +1 -0
  85. package/ccw/dist/core/data-aggregator.d.ts +145 -0
  86. package/ccw/dist/core/data-aggregator.d.ts.map +1 -0
  87. package/ccw/dist/core/data-aggregator.js +416 -0
  88. package/ccw/dist/core/data-aggregator.js.map +1 -0
  89. package/ccw/dist/core/history-importer.d.ts +102 -0
  90. package/ccw/dist/core/history-importer.d.ts.map +1 -0
  91. package/ccw/dist/core/history-importer.js +493 -0
  92. package/ccw/dist/core/history-importer.js.map +1 -0
  93. package/ccw/dist/core/lite-scanner-complete.d.ts +81 -0
  94. package/ccw/dist/core/lite-scanner-complete.d.ts.map +1 -0
  95. package/ccw/dist/core/lite-scanner-complete.js +368 -0
  96. package/ccw/dist/core/lite-scanner-complete.js.map +1 -0
  97. package/ccw/dist/core/lite-scanner.d.ts +81 -0
  98. package/ccw/dist/core/lite-scanner.d.ts.map +1 -0
  99. package/ccw/dist/core/lite-scanner.js +368 -0
  100. package/ccw/dist/core/lite-scanner.js.map +1 -0
  101. package/ccw/dist/core/manifest.d.ts +88 -0
  102. package/ccw/dist/core/manifest.d.ts.map +1 -0
  103. package/ccw/dist/core/manifest.js +214 -0
  104. package/ccw/dist/core/manifest.js.map +1 -0
  105. package/ccw/dist/core/memory-embedder-bridge.d.ts +83 -0
  106. package/ccw/dist/core/memory-embedder-bridge.d.ts.map +1 -0
  107. package/ccw/dist/core/memory-embedder-bridge.js +181 -0
  108. package/ccw/dist/core/memory-embedder-bridge.js.map +1 -0
  109. package/ccw/dist/core/memory-store.d.ts +249 -0
  110. package/ccw/dist/core/memory-store.d.ts.map +1 -0
  111. package/ccw/dist/core/memory-store.js +781 -0
  112. package/ccw/dist/core/memory-store.js.map +1 -0
  113. package/ccw/dist/core/routes/ccw-routes.d.ts +20 -0
  114. package/ccw/dist/core/routes/ccw-routes.d.ts.map +1 -0
  115. package/ccw/dist/core/routes/ccw-routes.js +70 -0
  116. package/ccw/dist/core/routes/ccw-routes.js.map +1 -0
  117. package/ccw/dist/core/routes/claude-routes.d.ts +19 -0
  118. package/ccw/dist/core/routes/claude-routes.d.ts.map +1 -0
  119. package/ccw/dist/core/routes/claude-routes.js +1017 -0
  120. package/ccw/dist/core/routes/claude-routes.js.map +1 -0
  121. package/ccw/dist/core/routes/cli-routes.d.ts +20 -0
  122. package/ccw/dist/core/routes/cli-routes.d.ts.map +1 -0
  123. package/ccw/dist/core/routes/cli-routes.js +468 -0
  124. package/ccw/dist/core/routes/cli-routes.js.map +1 -0
  125. package/ccw/dist/core/routes/codexlens-routes.d.ts +20 -0
  126. package/ccw/dist/core/routes/codexlens-routes.d.ts.map +1 -0
  127. package/ccw/dist/core/routes/codexlens-routes.js +754 -0
  128. package/ccw/dist/core/routes/codexlens-routes.js.map +1 -0
  129. package/ccw/dist/core/routes/core-memory-routes.d.ts +21 -0
  130. package/ccw/dist/core/routes/core-memory-routes.d.ts.map +1 -0
  131. package/ccw/dist/core/routes/core-memory-routes.js +520 -0
  132. package/ccw/dist/core/routes/core-memory-routes.js.map +1 -0
  133. package/ccw/dist/core/routes/files-routes.d.ts +20 -0
  134. package/ccw/dist/core/routes/files-routes.d.ts.map +1 -0
  135. package/ccw/dist/core/routes/files-routes.js +374 -0
  136. package/ccw/dist/core/routes/files-routes.js.map +1 -0
  137. package/ccw/dist/core/routes/graph-routes.d.ts +20 -0
  138. package/ccw/dist/core/routes/graph-routes.d.ts.map +1 -0
  139. package/ccw/dist/core/routes/graph-routes.js +517 -0
  140. package/ccw/dist/core/routes/graph-routes.js.map +1 -0
  141. package/ccw/dist/core/routes/help-routes.d.ts +20 -0
  142. package/ccw/dist/core/routes/help-routes.d.ts.map +1 -0
  143. package/ccw/dist/core/routes/help-routes.js +250 -0
  144. package/ccw/dist/core/routes/help-routes.js.map +1 -0
  145. package/ccw/dist/core/routes/hooks-routes.d.ts +21 -0
  146. package/ccw/dist/core/routes/hooks-routes.d.ts.map +1 -0
  147. package/ccw/dist/core/routes/hooks-routes.js +346 -0
  148. package/ccw/dist/core/routes/hooks-routes.js.map +1 -0
  149. package/ccw/dist/core/routes/mcp-routes.d.ts +20 -0
  150. package/ccw/dist/core/routes/mcp-routes.d.ts.map +1 -0
  151. package/ccw/dist/core/routes/mcp-routes.js +1129 -0
  152. package/ccw/dist/core/routes/mcp-routes.js.map +1 -0
  153. package/ccw/dist/core/routes/mcp-templates-db.d.ts +54 -0
  154. package/ccw/dist/core/routes/mcp-templates-db.d.ts.map +1 -0
  155. package/ccw/dist/core/routes/mcp-templates-db.js +226 -0
  156. package/ccw/dist/core/routes/mcp-templates-db.js.map +1 -0
  157. package/ccw/dist/core/routes/memory-routes.d.ts +21 -0
  158. package/ccw/dist/core/routes/memory-routes.d.ts.map +1 -0
  159. package/ccw/dist/core/routes/memory-routes.js +1095 -0
  160. package/ccw/dist/core/routes/memory-routes.js.map +1 -0
  161. package/ccw/dist/core/routes/rules-routes.d.ts +20 -0
  162. package/ccw/dist/core/routes/rules-routes.d.ts.map +1 -0
  163. package/ccw/dist/core/routes/rules-routes.js +442 -0
  164. package/ccw/dist/core/routes/rules-routes.js.map +1 -0
  165. package/ccw/dist/core/routes/session-routes.d.ts +20 -0
  166. package/ccw/dist/core/routes/session-routes.d.ts.map +1 -0
  167. package/ccw/dist/core/routes/session-routes.js +423 -0
  168. package/ccw/dist/core/routes/session-routes.js.map +1 -0
  169. package/ccw/dist/core/routes/skills-routes.d.ts +20 -0
  170. package/ccw/dist/core/routes/skills-routes.d.ts.map +1 -0
  171. package/ccw/dist/core/routes/skills-routes.js +533 -0
  172. package/ccw/dist/core/routes/skills-routes.js.map +1 -0
  173. package/ccw/dist/core/routes/status-routes.d.ts +20 -0
  174. package/ccw/dist/core/routes/status-routes.d.ts.map +1 -0
  175. package/ccw/dist/core/routes/status-routes.js +38 -0
  176. package/ccw/dist/core/routes/status-routes.js.map +1 -0
  177. package/ccw/dist/core/routes/system-routes.d.ts +22 -0
  178. package/ccw/dist/core/routes/system-routes.d.ts.map +1 -0
  179. package/ccw/dist/core/routes/system-routes.js +354 -0
  180. package/ccw/dist/core/routes/system-routes.js.map +1 -0
  181. package/ccw/dist/core/server.d.ts +17 -0
  182. package/ccw/dist/core/server.d.ts.map +1 -0
  183. package/ccw/dist/core/server.js +386 -0
  184. package/ccw/dist/core/server.js.map +1 -0
  185. package/ccw/dist/core/session-clustering-service.d.ts +153 -0
  186. package/ccw/dist/core/session-clustering-service.d.ts.map +1 -0
  187. package/ccw/dist/core/session-clustering-service.js +1065 -0
  188. package/ccw/dist/core/session-clustering-service.js.map +1 -0
  189. package/ccw/dist/core/session-scanner.d.ts +32 -0
  190. package/ccw/dist/core/session-scanner.d.ts.map +1 -0
  191. package/ccw/dist/core/session-scanner.js +253 -0
  192. package/ccw/dist/core/session-scanner.js.map +1 -0
  193. package/ccw/dist/core/websocket.d.ts +23 -0
  194. package/ccw/dist/core/websocket.d.ts.map +1 -0
  195. package/ccw/dist/core/websocket.js +168 -0
  196. package/ccw/dist/core/websocket.js.map +1 -0
  197. package/ccw/dist/index.d.ts +10 -0
  198. package/ccw/dist/index.d.ts.map +1 -0
  199. package/ccw/dist/index.js +10 -0
  200. package/ccw/dist/index.js.map +1 -0
  201. package/ccw/dist/mcp-server/index.d.ts +7 -0
  202. package/ccw/dist/mcp-server/index.d.ts.map +1 -0
  203. package/ccw/dist/mcp-server/index.js +157 -0
  204. package/ccw/dist/mcp-server/index.js.map +1 -0
  205. package/ccw/dist/tools/classify-folders.d.ts +26 -0
  206. package/ccw/dist/tools/classify-folders.d.ts.map +1 -0
  207. package/ccw/dist/tools/classify-folders.js +201 -0
  208. package/ccw/dist/tools/classify-folders.js.map +1 -0
  209. package/ccw/dist/tools/cli-config-manager.d.ts +62 -0
  210. package/ccw/dist/tools/cli-config-manager.d.ts.map +1 -0
  211. package/ccw/dist/tools/cli-config-manager.js +221 -0
  212. package/ccw/dist/tools/cli-config-manager.js.map +1 -0
  213. package/ccw/dist/tools/cli-executor.d.ts +373 -0
  214. package/ccw/dist/tools/cli-executor.d.ts.map +1 -0
  215. package/ccw/dist/tools/cli-executor.js +1625 -0
  216. package/ccw/dist/tools/cli-executor.js.map +1 -0
  217. package/ccw/dist/tools/cli-history-store.d.ts +330 -0
  218. package/ccw/dist/tools/cli-history-store.d.ts.map +1 -0
  219. package/ccw/dist/tools/cli-history-store.js +916 -0
  220. package/ccw/dist/tools/cli-history-store.js.map +1 -0
  221. package/ccw/dist/tools/codex-lens.d.ts +118 -0
  222. package/ccw/dist/tools/codex-lens.d.ts.map +1 -0
  223. package/ccw/dist/tools/codex-lens.js +962 -0
  224. package/ccw/dist/tools/codex-lens.js.map +1 -0
  225. package/ccw/dist/tools/convert-tokens-to-css.d.ts +14 -0
  226. package/ccw/dist/tools/convert-tokens-to-css.d.ts.map +1 -0
  227. package/ccw/dist/tools/convert-tokens-to-css.js +244 -0
  228. package/ccw/dist/tools/convert-tokens-to-css.js.map +1 -0
  229. package/ccw/dist/tools/core-memory.d.ts +66 -0
  230. package/ccw/dist/tools/core-memory.d.ts.map +1 -0
  231. package/ccw/dist/tools/core-memory.js +324 -0
  232. package/ccw/dist/tools/core-memory.js.map +1 -0
  233. package/ccw/dist/tools/detect-changed-modules.d.ts +24 -0
  234. package/ccw/dist/tools/detect-changed-modules.d.ts.map +1 -0
  235. package/ccw/dist/tools/detect-changed-modules.js +277 -0
  236. package/ccw/dist/tools/detect-changed-modules.js.map +1 -0
  237. package/ccw/dist/tools/discover-design-files.d.ts +36 -0
  238. package/ccw/dist/tools/discover-design-files.d.ts.map +1 -0
  239. package/ccw/dist/tools/discover-design-files.js +147 -0
  240. package/ccw/dist/tools/discover-design-files.js.map +1 -0
  241. package/ccw/dist/tools/edit-file.d.ts +28 -0
  242. package/ccw/dist/tools/edit-file.d.ts.map +1 -0
  243. package/ccw/dist/tools/edit-file.js +479 -0
  244. package/ccw/dist/tools/edit-file.js.map +1 -0
  245. package/ccw/dist/tools/generate-module-docs.d.ts +22 -0
  246. package/ccw/dist/tools/generate-module-docs.d.ts.map +1 -0
  247. package/ccw/dist/tools/generate-module-docs.js +379 -0
  248. package/ccw/dist/tools/generate-module-docs.js.map +1 -0
  249. package/ccw/dist/tools/get-modules-by-depth.d.ts +15 -0
  250. package/ccw/dist/tools/get-modules-by-depth.d.ts.map +1 -0
  251. package/ccw/dist/tools/get-modules-by-depth.js +296 -0
  252. package/ccw/dist/tools/get-modules-by-depth.js.map +1 -0
  253. package/ccw/dist/tools/index.d.ts +55 -0
  254. package/ccw/dist/tools/index.d.ts.map +1 -0
  255. package/ccw/dist/tools/index.js +304 -0
  256. package/ccw/dist/tools/index.js.map +1 -0
  257. package/ccw/dist/tools/native-session-discovery.d.ts +97 -0
  258. package/ccw/dist/tools/native-session-discovery.d.ts.map +1 -0
  259. package/ccw/dist/tools/native-session-discovery.js +700 -0
  260. package/ccw/dist/tools/native-session-discovery.js.map +1 -0
  261. package/ccw/dist/tools/notifier.d.ts +50 -0
  262. package/ccw/dist/tools/notifier.d.ts.map +1 -0
  263. package/ccw/dist/tools/notifier.js +90 -0
  264. package/ccw/dist/tools/notifier.js.map +1 -0
  265. package/ccw/dist/tools/read-file.d.ts +32 -0
  266. package/ccw/dist/tools/read-file.d.ts.map +1 -0
  267. package/ccw/dist/tools/read-file.js +329 -0
  268. package/ccw/dist/tools/read-file.js.map +1 -0
  269. package/ccw/dist/tools/resume-strategy.d.ts +48 -0
  270. package/ccw/dist/tools/resume-strategy.d.ts.map +1 -0
  271. package/ccw/dist/tools/resume-strategy.js +248 -0
  272. package/ccw/dist/tools/resume-strategy.js.map +1 -0
  273. package/ccw/dist/tools/session-content-parser.d.ts +58 -0
  274. package/ccw/dist/tools/session-content-parser.d.ts.map +1 -0
  275. package/ccw/dist/tools/session-content-parser.js +420 -0
  276. package/ccw/dist/tools/session-content-parser.js.map +1 -0
  277. package/ccw/dist/tools/session-manager.d.ts +9 -0
  278. package/ccw/dist/tools/session-manager.d.ts.map +1 -0
  279. package/ccw/dist/tools/session-manager.js +834 -0
  280. package/ccw/dist/tools/session-manager.js.map +1 -0
  281. package/ccw/dist/tools/smart-context.d.ts +35 -0
  282. package/ccw/dist/tools/smart-context.d.ts.map +1 -0
  283. package/ccw/dist/tools/smart-context.js +182 -0
  284. package/ccw/dist/tools/smart-context.js.map +1 -0
  285. package/ccw/dist/tools/smart-search.d.ts +105 -0
  286. package/ccw/dist/tools/smart-search.d.ts.map +1 -0
  287. package/ccw/dist/tools/smart-search.js +1753 -0
  288. package/ccw/dist/tools/smart-search.js.map +1 -0
  289. package/ccw/dist/tools/storage-manager.d.ts +114 -0
  290. package/ccw/dist/tools/storage-manager.d.ts.map +1 -0
  291. package/ccw/dist/tools/storage-manager.js +392 -0
  292. package/ccw/dist/tools/storage-manager.js.map +1 -0
  293. package/ccw/dist/tools/ui-generate-preview.d.ts +39 -0
  294. package/ccw/dist/tools/ui-generate-preview.d.ts.map +1 -0
  295. package/ccw/dist/tools/ui-generate-preview.js +300 -0
  296. package/ccw/dist/tools/ui-generate-preview.js.map +1 -0
  297. package/ccw/dist/tools/ui-instantiate-prototypes.d.ts +75 -0
  298. package/ccw/dist/tools/ui-instantiate-prototypes.d.ts.map +1 -0
  299. package/ccw/dist/tools/ui-instantiate-prototypes.js +256 -0
  300. package/ccw/dist/tools/ui-instantiate-prototypes.js.map +1 -0
  301. package/ccw/dist/tools/update-module-claude.d.ts +80 -0
  302. package/ccw/dist/tools/update-module-claude.d.ts.map +1 -0
  303. package/ccw/dist/tools/update-module-claude.js +351 -0
  304. package/ccw/dist/tools/update-module-claude.js.map +1 -0
  305. package/ccw/dist/tools/write-file.d.ts +19 -0
  306. package/ccw/dist/tools/write-file.d.ts.map +1 -0
  307. package/ccw/dist/tools/write-file.js +193 -0
  308. package/ccw/dist/tools/write-file.js.map +1 -0
  309. package/ccw/dist/types/config.d.ts +11 -0
  310. package/ccw/dist/types/config.d.ts.map +1 -0
  311. package/ccw/dist/types/config.js +2 -0
  312. package/ccw/dist/types/config.js.map +1 -0
  313. package/ccw/dist/types/index.d.ts +4 -0
  314. package/ccw/dist/types/index.d.ts.map +1 -0
  315. package/ccw/dist/types/index.js +4 -0
  316. package/ccw/dist/types/index.js.map +1 -0
  317. package/ccw/dist/types/session.d.ts +20 -0
  318. package/ccw/dist/types/session.d.ts.map +1 -0
  319. package/ccw/dist/types/session.js +2 -0
  320. package/ccw/dist/types/session.js.map +1 -0
  321. package/ccw/dist/types/tool.d.ts +36 -0
  322. package/ccw/dist/types/tool.d.ts.map +1 -0
  323. package/ccw/dist/types/tool.js +11 -0
  324. package/ccw/dist/types/tool.js.map +1 -0
  325. package/ccw/dist/utils/browser-launcher.d.ts +13 -0
  326. package/ccw/dist/utils/browser-launcher.d.ts.map +1 -0
  327. package/ccw/dist/utils/browser-launcher.js +60 -0
  328. package/ccw/dist/utils/browser-launcher.js.map +1 -0
  329. package/ccw/dist/utils/file-utils.d.ts +25 -0
  330. package/ccw/dist/utils/file-utils.d.ts.map +1 -0
  331. package/ccw/dist/utils/file-utils.js +48 -0
  332. package/ccw/dist/utils/file-utils.js.map +1 -0
  333. package/ccw/dist/utils/path-resolver.d.ts +80 -0
  334. package/ccw/dist/utils/path-resolver.d.ts.map +1 -0
  335. package/ccw/dist/utils/path-resolver.js +260 -0
  336. package/ccw/dist/utils/path-resolver.js.map +1 -0
  337. package/ccw/dist/utils/path-validator.d.ts +49 -0
  338. package/ccw/dist/utils/path-validator.d.ts.map +1 -0
  339. package/ccw/dist/utils/path-validator.js +123 -0
  340. package/ccw/dist/utils/path-validator.js.map +1 -0
  341. package/ccw/dist/utils/ui.d.ts +62 -0
  342. package/ccw/dist/utils/ui.d.ts.map +1 -0
  343. package/ccw/dist/utils/ui.js +129 -0
  344. package/ccw/dist/utils/ui.js.map +1 -0
  345. package/ccw/package.json +1 -1
  346. package/package.json +5 -2
@@ -0,0 +1,214 @@
1
+ import { readFileSync, writeFileSync, existsSync, mkdirSync, readdirSync, unlinkSync } from 'fs';
2
+ import { join } from 'path';
3
+ import { homedir } from 'os';
4
+ // Manifest directory location
5
+ const MANIFEST_DIR = join(homedir(), '.claude-manifests');
6
+ /**
7
+ * Ensure manifest directory exists
8
+ */
9
+ function ensureManifestDir() {
10
+ if (!existsSync(MANIFEST_DIR)) {
11
+ mkdirSync(MANIFEST_DIR, { recursive: true });
12
+ }
13
+ }
14
+ /**
15
+ * Create a new installation manifest
16
+ * @param mode - Installation mode (Global/Path)
17
+ * @param installPath - Installation path
18
+ * @returns New manifest object
19
+ */
20
+ export function createManifest(mode, installPath) {
21
+ ensureManifestDir();
22
+ const timestamp = new Date().toISOString().replace(/[-:]/g, '').replace('T', '-').split('.')[0];
23
+ const modePrefix = mode === 'Global' ? 'manifest-global' : 'manifest-path';
24
+ const manifestId = `${modePrefix}-${timestamp}`;
25
+ return {
26
+ manifest_id: manifestId,
27
+ version: '1.0',
28
+ installation_mode: mode,
29
+ installation_path: installPath,
30
+ installation_date: new Date().toISOString(),
31
+ installer_version: '1.0.0',
32
+ files: [],
33
+ directories: []
34
+ };
35
+ }
36
+ /**
37
+ * Add file entry to manifest
38
+ * @param manifest - Manifest object
39
+ * @param filePath - File path
40
+ */
41
+ export function addFileEntry(manifest, filePath) {
42
+ manifest.files.push({
43
+ path: filePath,
44
+ type: 'File',
45
+ timestamp: new Date().toISOString()
46
+ });
47
+ }
48
+ /**
49
+ * Add directory entry to manifest
50
+ * @param manifest - Manifest object
51
+ * @param dirPath - Directory path
52
+ */
53
+ export function addDirectoryEntry(manifest, dirPath) {
54
+ manifest.directories.push({
55
+ path: dirPath,
56
+ type: 'Directory',
57
+ timestamp: new Date().toISOString()
58
+ });
59
+ }
60
+ /**
61
+ * Save manifest to disk
62
+ * @param manifest - Manifest object
63
+ * @returns Path to saved manifest
64
+ */
65
+ export function saveManifest(manifest) {
66
+ ensureManifestDir();
67
+ // Remove old manifests for same path and mode
68
+ removeOldManifests(manifest.installation_path, manifest.installation_mode);
69
+ const manifestPath = join(MANIFEST_DIR, `${manifest.manifest_id}.json`);
70
+ writeFileSync(manifestPath, JSON.stringify(manifest, null, 2), 'utf8');
71
+ return manifestPath;
72
+ }
73
+ /**
74
+ * Remove old manifests for the same installation path and mode
75
+ * @param installPath - Installation path
76
+ * @param mode - Installation mode
77
+ */
78
+ function removeOldManifests(installPath, mode) {
79
+ if (!existsSync(MANIFEST_DIR))
80
+ return;
81
+ const normalizedPath = installPath.toLowerCase().replace(/[\\/]+$/, '');
82
+ try {
83
+ const files = readdirSync(MANIFEST_DIR).filter(f => f.endsWith('.json'));
84
+ for (const file of files) {
85
+ try {
86
+ const filePath = join(MANIFEST_DIR, file);
87
+ const content = JSON.parse(readFileSync(filePath, 'utf8'));
88
+ const manifestPath = (content.installation_path || '').toLowerCase().replace(/[\\/]+$/, '');
89
+ const manifestMode = content.installation_mode || 'Global';
90
+ if (manifestPath === normalizedPath && manifestMode === mode) {
91
+ unlinkSync(filePath);
92
+ }
93
+ }
94
+ catch {
95
+ // Skip invalid manifest files
96
+ }
97
+ }
98
+ }
99
+ catch {
100
+ // Ignore errors
101
+ }
102
+ }
103
+ /**
104
+ * Get all installation manifests
105
+ * @returns Array of manifest objects
106
+ */
107
+ export function getAllManifests() {
108
+ if (!existsSync(MANIFEST_DIR))
109
+ return [];
110
+ const manifests = [];
111
+ try {
112
+ const files = readdirSync(MANIFEST_DIR).filter(f => f.endsWith('.json'));
113
+ for (const file of files) {
114
+ try {
115
+ const filePath = join(MANIFEST_DIR, file);
116
+ const content = JSON.parse(readFileSync(filePath, 'utf8'));
117
+ // Try to read version.json for application version
118
+ let appVersion = 'unknown';
119
+ try {
120
+ const versionPath = join(content.installation_path, '.claude', 'version.json');
121
+ if (existsSync(versionPath)) {
122
+ const versionInfo = JSON.parse(readFileSync(versionPath, 'utf8'));
123
+ appVersion = versionInfo.version || 'unknown';
124
+ }
125
+ }
126
+ catch {
127
+ // Ignore
128
+ }
129
+ manifests.push({
130
+ ...content,
131
+ manifest_file: filePath,
132
+ application_version: appVersion,
133
+ files_count: content.files?.length || 0,
134
+ directories_count: content.directories?.length || 0
135
+ });
136
+ }
137
+ catch {
138
+ // Skip invalid manifest files
139
+ }
140
+ }
141
+ // Sort by installation date (newest first)
142
+ manifests.sort((a, b) => new Date(b.installation_date).getTime() - new Date(a.installation_date).getTime());
143
+ }
144
+ catch {
145
+ // Ignore errors
146
+ }
147
+ return manifests;
148
+ }
149
+ /**
150
+ * Find manifest for a specific path and mode
151
+ * @param installPath - Installation path
152
+ * @param mode - Installation mode
153
+ * @returns Manifest or null
154
+ */
155
+ export function findManifest(installPath, mode) {
156
+ const manifests = getAllManifests();
157
+ const normalizedPath = installPath.toLowerCase().replace(/[\\/]+$/, '');
158
+ return manifests.find(m => {
159
+ const manifestPath = (m.installation_path || '').toLowerCase().replace(/[\\/]+$/, '');
160
+ return manifestPath === normalizedPath && m.installation_mode === mode;
161
+ }) || null;
162
+ }
163
+ /**
164
+ * Delete a manifest file
165
+ * @param manifestFile - Path to manifest file
166
+ */
167
+ export function deleteManifest(manifestFile) {
168
+ if (existsSync(manifestFile)) {
169
+ unlinkSync(manifestFile);
170
+ }
171
+ }
172
+ /**
173
+ * Get manifest directory path
174
+ * @returns Manifest directory path
175
+ */
176
+ export function getManifestDir() {
177
+ return MANIFEST_DIR;
178
+ }
179
+ /**
180
+ * Get file reference counts across all manifests
181
+ * Returns a map of file path -> array of manifest IDs that reference it
182
+ * @param excludeManifestId - Optional manifest ID to exclude from counting
183
+ * @returns Map of file paths to referencing manifest IDs
184
+ */
185
+ export function getFileReferenceCounts(excludeManifestId) {
186
+ const fileRefs = new Map();
187
+ const manifests = getAllManifests();
188
+ for (const manifest of manifests) {
189
+ // Skip the excluded manifest (usually the one being replaced)
190
+ if (excludeManifestId && manifest.manifest_id === excludeManifestId) {
191
+ continue;
192
+ }
193
+ for (const fileEntry of manifest.files || []) {
194
+ const normalizedPath = fileEntry.path.toLowerCase().replace(/\\/g, '/');
195
+ const refs = fileRefs.get(normalizedPath) || [];
196
+ refs.push(manifest.manifest_id);
197
+ fileRefs.set(normalizedPath, refs);
198
+ }
199
+ }
200
+ return fileRefs;
201
+ }
202
+ /**
203
+ * Check if a file is referenced by other installations
204
+ * @param filePath - File path to check
205
+ * @param excludeManifestId - Manifest ID to exclude from checking
206
+ * @returns True if file is referenced by other installations
207
+ */
208
+ export function isFileReferencedByOthers(filePath, excludeManifestId) {
209
+ const fileRefs = getFileReferenceCounts(excludeManifestId);
210
+ const normalizedPath = filePath.toLowerCase().replace(/\\/g, '/');
211
+ const refs = fileRefs.get(normalizedPath) || [];
212
+ return refs.length > 0;
213
+ }
214
+ //# sourceMappingURL=manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/core/manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Memory Embedder Bridge - TypeScript interface to Python memory embedder
3
+ *
4
+ * This module provides a TypeScript bridge to the Python memory_embedder.py script,
5
+ * which generates and searches embeddings for memory chunks using CodexLens's embedder.
6
+ *
7
+ * Features:
8
+ * - Reuses CodexLens venv at ~/.codexlens/venv
9
+ * - JSON protocol communication
10
+ * - Three commands: embed, search, status
11
+ * - Automatic availability checking
12
+ */
13
+ export interface EmbedResult {
14
+ success: boolean;
15
+ chunks_processed: number;
16
+ chunks_failed: number;
17
+ elapsed_time: number;
18
+ error?: string;
19
+ }
20
+ export interface SearchMatch {
21
+ source_id: string;
22
+ source_type: 'core_memory' | 'workflow' | 'cli_history';
23
+ chunk_index: number;
24
+ content: string;
25
+ score: number;
26
+ restore_command: string;
27
+ }
28
+ export interface SearchResult {
29
+ success: boolean;
30
+ matches: SearchMatch[];
31
+ query?: string;
32
+ elapsed_time?: number;
33
+ error?: string;
34
+ }
35
+ export interface EmbeddingStatus {
36
+ success?: boolean;
37
+ total_chunks: number;
38
+ embedded_chunks: number;
39
+ pending_chunks: number;
40
+ by_type: Record<string, {
41
+ total: number;
42
+ embedded: number;
43
+ pending: number;
44
+ }>;
45
+ error?: string;
46
+ }
47
+ export interface EmbedOptions {
48
+ sourceId?: string;
49
+ batchSize?: number;
50
+ force?: boolean;
51
+ }
52
+ export interface SearchOptions {
53
+ topK?: number;
54
+ minScore?: number;
55
+ sourceType?: 'core_memory' | 'workflow' | 'cli_history';
56
+ }
57
+ /**
58
+ * Check if embedder is available (venv and script exist)
59
+ * @returns True if embedder is available
60
+ */
61
+ export declare function isEmbedderAvailable(): boolean;
62
+ /**
63
+ * Generate embeddings for memory chunks
64
+ * @param dbPath - Path to SQLite database
65
+ * @param options - Embedding options
66
+ * @returns Embedding result
67
+ */
68
+ export declare function generateEmbeddings(dbPath: string, options?: EmbedOptions): Promise<EmbedResult>;
69
+ /**
70
+ * Search memory chunks using semantic search
71
+ * @param dbPath - Path to SQLite database
72
+ * @param query - Search query text
73
+ * @param options - Search options
74
+ * @returns Search results
75
+ */
76
+ export declare function searchMemories(dbPath: string, query: string, options?: SearchOptions): Promise<SearchResult>;
77
+ /**
78
+ * Get embedding status statistics
79
+ * @param dbPath - Path to SQLite database
80
+ * @returns Embedding status
81
+ */
82
+ export declare function getEmbeddingStatus(dbPath: string): Promise<EmbeddingStatus>;
83
+ //# sourceMappingURL=memory-embedder-bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-embedder-bridge.d.ts","sourceRoot":"","sources":["../../src/core/memory-embedder-bridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAuBH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,aAAa,GAAG,UAAU,GAAG,aAAa,CAAC;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,aAAa,GAAG,UAAU,GAAG,aAAa,CAAC;CACzD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAY7C;AAuDD;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,CAgCtB;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,YAAY,CAAC,CA8BvB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAmBjF"}
@@ -0,0 +1,181 @@
1
+ /**
2
+ * Memory Embedder Bridge - TypeScript interface to Python memory embedder
3
+ *
4
+ * This module provides a TypeScript bridge to the Python memory_embedder.py script,
5
+ * which generates and searches embeddings for memory chunks using CodexLens's embedder.
6
+ *
7
+ * Features:
8
+ * - Reuses CodexLens venv at ~/.codexlens/venv
9
+ * - JSON protocol communication
10
+ * - Three commands: embed, search, status
11
+ * - Automatic availability checking
12
+ */
13
+ import { spawn } from 'child_process';
14
+ import { join, dirname } from 'path';
15
+ import { homedir } from 'os';
16
+ import { existsSync } from 'fs';
17
+ import { fileURLToPath } from 'url';
18
+ // Get directory of this module
19
+ const __filename = fileURLToPath(import.meta.url);
20
+ const __dirname = dirname(__filename);
21
+ // Venv paths (reuse CodexLens venv)
22
+ const CODEXLENS_VENV = join(homedir(), '.codexlens', 'venv');
23
+ const VENV_PYTHON = process.platform === 'win32'
24
+ ? join(CODEXLENS_VENV, 'Scripts', 'python.exe')
25
+ : join(CODEXLENS_VENV, 'bin', 'python');
26
+ // Script path
27
+ const EMBEDDER_SCRIPT = join(__dirname, '..', '..', 'scripts', 'memory_embedder.py');
28
+ /**
29
+ * Check if embedder is available (venv and script exist)
30
+ * @returns True if embedder is available
31
+ */
32
+ export function isEmbedderAvailable() {
33
+ // Check venv python exists
34
+ if (!existsSync(VENV_PYTHON)) {
35
+ return false;
36
+ }
37
+ // Check script exists
38
+ if (!existsSync(EMBEDDER_SCRIPT)) {
39
+ return false;
40
+ }
41
+ return true;
42
+ }
43
+ /**
44
+ * Run Python script with arguments
45
+ * @param args - Command line arguments
46
+ * @param timeout - Timeout in milliseconds
47
+ * @returns JSON output from script
48
+ */
49
+ function runPython(args, timeout = 300000) {
50
+ return new Promise((resolve, reject) => {
51
+ // Check availability
52
+ if (!isEmbedderAvailable()) {
53
+ reject(new Error('Memory embedder not available. Ensure CodexLens venv exists at ~/.codexlens/venv'));
54
+ return;
55
+ }
56
+ // Spawn Python process
57
+ const child = spawn(VENV_PYTHON, [EMBEDDER_SCRIPT, ...args], {
58
+ stdio: ['ignore', 'pipe', 'pipe'],
59
+ timeout,
60
+ });
61
+ let stdout = '';
62
+ let stderr = '';
63
+ child.stdout.on('data', (data) => {
64
+ stdout += data.toString();
65
+ });
66
+ child.stderr.on('data', (data) => {
67
+ stderr += data.toString();
68
+ });
69
+ child.on('close', (code) => {
70
+ if (code === 0) {
71
+ resolve(stdout.trim());
72
+ }
73
+ else {
74
+ reject(new Error(`Python script failed (exit code ${code}): ${stderr || stdout}`));
75
+ }
76
+ });
77
+ child.on('error', (err) => {
78
+ if (err.code === 'ETIMEDOUT') {
79
+ reject(new Error('Python script timed out'));
80
+ }
81
+ else {
82
+ reject(new Error(`Failed to spawn Python: ${err.message}`));
83
+ }
84
+ });
85
+ });
86
+ }
87
+ /**
88
+ * Generate embeddings for memory chunks
89
+ * @param dbPath - Path to SQLite database
90
+ * @param options - Embedding options
91
+ * @returns Embedding result
92
+ */
93
+ export async function generateEmbeddings(dbPath, options = {}) {
94
+ const { sourceId, batchSize = 8, force = false } = options;
95
+ // Build arguments
96
+ const args = ['embed', dbPath];
97
+ if (sourceId) {
98
+ args.push('--source-id', sourceId);
99
+ }
100
+ if (batchSize !== 8) {
101
+ args.push('--batch-size', batchSize.toString());
102
+ }
103
+ if (force) {
104
+ args.push('--force');
105
+ }
106
+ try {
107
+ // Default timeout: 5 minutes
108
+ const output = await runPython(args, 300000);
109
+ const result = JSON.parse(output);
110
+ return result;
111
+ }
112
+ catch (err) {
113
+ return {
114
+ success: false,
115
+ chunks_processed: 0,
116
+ chunks_failed: 0,
117
+ elapsed_time: 0,
118
+ error: err.message,
119
+ };
120
+ }
121
+ }
122
+ /**
123
+ * Search memory chunks using semantic search
124
+ * @param dbPath - Path to SQLite database
125
+ * @param query - Search query text
126
+ * @param options - Search options
127
+ * @returns Search results
128
+ */
129
+ export async function searchMemories(dbPath, query, options = {}) {
130
+ const { topK = 10, minScore = 0.3, sourceType } = options;
131
+ // Build arguments
132
+ const args = ['search', dbPath, query];
133
+ if (topK !== 10) {
134
+ args.push('--top-k', topK.toString());
135
+ }
136
+ if (minScore !== 0.3) {
137
+ args.push('--min-score', minScore.toString());
138
+ }
139
+ if (sourceType) {
140
+ args.push('--type', sourceType);
141
+ }
142
+ try {
143
+ // Default timeout: 30 seconds
144
+ const output = await runPython(args, 30000);
145
+ const result = JSON.parse(output);
146
+ return result;
147
+ }
148
+ catch (err) {
149
+ return {
150
+ success: false,
151
+ matches: [],
152
+ error: err.message,
153
+ };
154
+ }
155
+ }
156
+ /**
157
+ * Get embedding status statistics
158
+ * @param dbPath - Path to SQLite database
159
+ * @returns Embedding status
160
+ */
161
+ export async function getEmbeddingStatus(dbPath) {
162
+ // Build arguments
163
+ const args = ['status', dbPath];
164
+ try {
165
+ // Default timeout: 30 seconds
166
+ const output = await runPython(args, 30000);
167
+ const result = JSON.parse(output);
168
+ return { ...result, success: true };
169
+ }
170
+ catch (err) {
171
+ return {
172
+ success: false,
173
+ total_chunks: 0,
174
+ embedded_chunks: 0,
175
+ pending_chunks: 0,
176
+ by_type: {},
177
+ error: err.message,
178
+ };
179
+ }
180
+ }
181
+ //# sourceMappingURL=memory-embedder-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-embedder-bridge.js","sourceRoot":"","sources":["../../src/core/memory-embedder-bridge.ts"],"names":[],"mappings":"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"}