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,248 @@
1
+ /**
2
+ * Resume Strategy Engine - Determines optimal resume approach
3
+ * Supports native resume, prompt concatenation, and hybrid modes
4
+ */
5
+ /**
6
+ * Determine the optimal resume strategy based on scenario
7
+ *
8
+ * Scenarios:
9
+ * 1. Single append (no customId) → native if mapping exists
10
+ * 2. Fork (customId provided) → prompt-concat (new conversation)
11
+ * 3. Merge multiple → hybrid (primary native + others as context)
12
+ * 4. Cross-tool → prompt-concat (tools differ)
13
+ * 5. resume=true (latest) → native with isLatest flag
14
+ */
15
+ export function determineResumeStrategy(options) {
16
+ const { tool, resumeIds, customId, forceNative, forcePromptConcat, getNativeSessionId, getConversation, getConversationTool } = options;
17
+ // Force prompt concatenation
18
+ if (forcePromptConcat) {
19
+ return buildPromptConcatDecision(resumeIds, getConversation);
20
+ }
21
+ // No resume IDs - new conversation
22
+ if (resumeIds.length === 0) {
23
+ return { strategy: 'prompt-concat' };
24
+ }
25
+ // Scenario 5: resume=true (latest) - use native latest
26
+ // This is handled before this function is called, but included for completeness
27
+ // Scenario 2: Fork (customId provided) → always prompt-concat
28
+ if (customId) {
29
+ return buildPromptConcatDecision(resumeIds, getConversation);
30
+ }
31
+ // Scenario 4: Check for cross-tool resume
32
+ const crossTool = resumeIds.some(id => {
33
+ const convTool = getConversationTool(id);
34
+ return convTool && convTool !== tool;
35
+ });
36
+ if (crossTool) {
37
+ return buildPromptConcatDecision(resumeIds, getConversation);
38
+ }
39
+ // Scenario 1: Single append
40
+ if (resumeIds.length === 1) {
41
+ const nativeId = getNativeSessionId(resumeIds[0]);
42
+ if (nativeId || forceNative) {
43
+ return {
44
+ strategy: 'native',
45
+ nativeSessionId: nativeId || undefined,
46
+ primaryConversationId: resumeIds[0]
47
+ };
48
+ }
49
+ // No native mapping, fall back to prompt-concat
50
+ return buildPromptConcatDecision(resumeIds, getConversation);
51
+ }
52
+ // Scenario 3: Merge multiple conversations → hybrid mode
53
+ return buildHybridDecision(resumeIds, tool, getNativeSessionId, getConversation);
54
+ }
55
+ /**
56
+ * Build prompt-concat decision with all turns loaded
57
+ */
58
+ function buildPromptConcatDecision(resumeIds, getConversation) {
59
+ const allTurns = [];
60
+ for (const id of resumeIds) {
61
+ const conversation = getConversation(id);
62
+ if (conversation) {
63
+ // Add source ID to each turn for tracking
64
+ const turnsWithSource = conversation.turns.map(turn => ({
65
+ ...turn,
66
+ _sourceId: id
67
+ }));
68
+ allTurns.push(...turnsWithSource);
69
+ }
70
+ }
71
+ // Sort by timestamp
72
+ allTurns.sort((a, b) => new Date(a.timestamp).getTime() - new Date(b.timestamp).getTime());
73
+ return {
74
+ strategy: 'prompt-concat',
75
+ contextTurns: allTurns,
76
+ primaryConversationId: resumeIds[0]
77
+ };
78
+ }
79
+ /**
80
+ * Build hybrid decision: primary uses native, others as context prefix
81
+ */
82
+ function buildHybridDecision(resumeIds, tool, getNativeSessionId, getConversation) {
83
+ // Find the first ID with native session mapping
84
+ let primaryId = null;
85
+ let nativeId = null;
86
+ for (const id of resumeIds) {
87
+ const native = getNativeSessionId(id);
88
+ if (native) {
89
+ primaryId = id;
90
+ nativeId = native;
91
+ break;
92
+ }
93
+ }
94
+ // If no native mapping found, use first as primary
95
+ if (!primaryId) {
96
+ primaryId = resumeIds[0];
97
+ }
98
+ // Collect context turns from non-primary conversations
99
+ const contextTurns = [];
100
+ for (const id of resumeIds) {
101
+ if (id === primaryId && nativeId) {
102
+ // Skip primary if using native - its context is handled natively
103
+ continue;
104
+ }
105
+ const conversation = getConversation(id);
106
+ if (conversation) {
107
+ const turnsWithSource = conversation.turns.map(turn => ({
108
+ ...turn,
109
+ _sourceId: id
110
+ }));
111
+ contextTurns.push(...turnsWithSource);
112
+ }
113
+ }
114
+ // Sort context turns by timestamp
115
+ contextTurns.sort((a, b) => new Date(a.timestamp).getTime() - new Date(b.timestamp).getTime());
116
+ // If we have native ID, use hybrid; otherwise fall back to prompt-concat
117
+ if (nativeId) {
118
+ return {
119
+ strategy: 'hybrid',
120
+ nativeSessionId: nativeId,
121
+ contextTurns: contextTurns.length > 0 ? contextTurns : undefined,
122
+ primaryConversationId: primaryId
123
+ };
124
+ }
125
+ // No native mapping, use full prompt-concat
126
+ return buildPromptConcatDecision(resumeIds, getConversation);
127
+ }
128
+ /**
129
+ * Build context prefix for hybrid mode
130
+ * Formats non-primary conversation turns as context
131
+ */
132
+ export function buildContextPrefix(contextTurns, format = 'plain') {
133
+ if (!contextTurns || contextTurns.length === 0) {
134
+ return '';
135
+ }
136
+ const maxOutputLength = 4096; // Truncate long outputs
137
+ switch (format) {
138
+ case 'yaml':
139
+ return buildYamlContext(contextTurns, maxOutputLength);
140
+ case 'json':
141
+ return buildJsonContext(contextTurns, maxOutputLength);
142
+ default:
143
+ return buildPlainContext(contextTurns, maxOutputLength);
144
+ }
145
+ }
146
+ function buildPlainContext(turns, maxLength) {
147
+ const lines = [
148
+ '=== MERGED CONTEXT FROM OTHER CONVERSATIONS ===',
149
+ ''
150
+ ];
151
+ for (const turn of turns) {
152
+ const sourceId = turn._sourceId || 'unknown';
153
+ lines.push(`--- Turn ${turn.turn} [${sourceId}] ---`);
154
+ lines.push(`USER:`);
155
+ lines.push(turn.prompt);
156
+ lines.push('');
157
+ lines.push(`ASSISTANT:`);
158
+ const output = turn.output.stdout || '';
159
+ lines.push(output.length > maxLength ? output.substring(0, maxLength) + '\n[truncated]' : output);
160
+ lines.push('');
161
+ }
162
+ lines.push('=== END MERGED CONTEXT ===');
163
+ lines.push('');
164
+ return lines.join('\n');
165
+ }
166
+ function buildYamlContext(turns, maxLength) {
167
+ const lines = [
168
+ 'merged_context:',
169
+ ' source: "other_conversations"',
170
+ ' turns:'
171
+ ];
172
+ for (const turn of turns) {
173
+ const sourceId = turn._sourceId || 'unknown';
174
+ const output = turn.output.stdout || '';
175
+ const truncatedOutput = output.length > maxLength
176
+ ? output.substring(0, maxLength) + '\n[truncated]'
177
+ : output;
178
+ lines.push(` - turn: ${turn.turn}`);
179
+ lines.push(` source: "${sourceId}"`);
180
+ lines.push(` user: |`);
181
+ lines.push(turn.prompt.split('\n').map(l => ` ${l}`).join('\n'));
182
+ lines.push(` assistant: |`);
183
+ lines.push(truncatedOutput.split('\n').map(l => ` ${l}`).join('\n'));
184
+ }
185
+ lines.push('');
186
+ return lines.join('\n');
187
+ }
188
+ function buildJsonContext(turns, maxLength) {
189
+ const context = {
190
+ merged_context: {
191
+ source: 'other_conversations',
192
+ turns: turns.map(turn => {
193
+ const output = turn.output.stdout || '';
194
+ return {
195
+ turn: turn.turn,
196
+ source: turn._sourceId || 'unknown',
197
+ user: turn.prompt,
198
+ assistant: output.length > maxLength
199
+ ? output.substring(0, maxLength) + '\n[truncated]'
200
+ : output
201
+ };
202
+ })
203
+ }
204
+ };
205
+ return JSON.stringify(context, null, 2) + '\n\n';
206
+ }
207
+ /**
208
+ * Check if a resume scenario requires native resume
209
+ */
210
+ export function shouldUseNativeResume(tool, resumeIds, customId, getNativeSessionId, getConversationTool) {
211
+ // Fork always uses prompt-concat
212
+ if (customId)
213
+ return false;
214
+ // No resume IDs
215
+ if (resumeIds.length === 0)
216
+ return false;
217
+ // Cross-tool not supported natively
218
+ const crossTool = resumeIds.some(id => {
219
+ const convTool = getConversationTool(id);
220
+ return convTool && convTool !== tool;
221
+ });
222
+ if (crossTool)
223
+ return false;
224
+ // Single resume with native mapping
225
+ if (resumeIds.length === 1) {
226
+ return !!getNativeSessionId(resumeIds[0]);
227
+ }
228
+ // Merge: at least one needs native mapping for hybrid
229
+ return resumeIds.some(id => !!getNativeSessionId(id));
230
+ }
231
+ /**
232
+ * Get resume mode description for logging
233
+ */
234
+ export function getResumeModeDescription(decision) {
235
+ switch (decision.strategy) {
236
+ case 'native':
237
+ return `Native resume (session: ${decision.nativeSessionId || 'latest'})`;
238
+ case 'hybrid':
239
+ const contextCount = decision.contextTurns?.length || 0;
240
+ return `Hybrid (native + ${contextCount} context turns)`;
241
+ case 'prompt-concat':
242
+ const turnCount = decision.contextTurns?.length || 0;
243
+ return `Prompt concat (${turnCount} turns)`;
244
+ default:
245
+ return 'Unknown';
246
+ }
247
+ }
248
+ //# sourceMappingURL=resume-strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resume-strategy.js","sourceRoot":"","sources":["../../src/tools/resume-strategy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Session Content Parser - Parses native CLI tool session files
3
+ * Supports Gemini/Qwen JSON and Codex JSONL formats
4
+ */
5
+ export interface ParsedTurn {
6
+ turnNumber: number;
7
+ timestamp: string;
8
+ role: 'user' | 'assistant';
9
+ content: string;
10
+ thoughts?: string[];
11
+ toolCalls?: ToolCallInfo[];
12
+ tokens?: TokenInfo;
13
+ }
14
+ export interface ToolCallInfo {
15
+ name: string;
16
+ arguments?: string;
17
+ output?: string;
18
+ }
19
+ export interface TokenInfo {
20
+ input?: number;
21
+ output?: number;
22
+ cached?: number;
23
+ total?: number;
24
+ }
25
+ export interface ParsedSession {
26
+ sessionId: string;
27
+ tool: string;
28
+ projectHash?: string;
29
+ workingDir?: string;
30
+ startTime: string;
31
+ lastUpdated: string;
32
+ turns: ParsedTurn[];
33
+ totalTokens?: TokenInfo;
34
+ model?: string;
35
+ }
36
+ /**
37
+ * Parse a native session file and return standardized conversation data
38
+ */
39
+ export declare function parseSessionFile(filePath: string, tool: string): ParsedSession | null;
40
+ /**
41
+ * Get conversation as formatted text
42
+ */
43
+ export declare function formatConversation(session: ParsedSession, options?: {
44
+ includeThoughts?: boolean;
45
+ includeToolCalls?: boolean;
46
+ includeTokens?: boolean;
47
+ maxContentLength?: number;
48
+ }): string;
49
+ /**
50
+ * Extract just user prompts and assistant responses as simple pairs
51
+ */
52
+ export declare function extractConversationPairs(session: ParsedSession): Array<{
53
+ turn: number;
54
+ userPrompt: string;
55
+ assistantResponse: string;
56
+ timestamp: string;
57
+ }>;
58
+ //# sourceMappingURL=session-content-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session-content-parser.d.ts","sourceRoot":"","sources":["../../src/tools/session-content-parser.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;IAC3B,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAGD,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAuID;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CA0BrF;AAmTD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,EAAE;IACnE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,GAAG,MAAM,CA8DT;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,aAAa,GAAG,KAAK,CAAC;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,CAyBD"}