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,368 @@
1
+ import { existsSync, readdirSync, readFileSync, statSync } from 'fs';
2
+ import { join } from 'path';
3
+ /**
4
+ * Scan lite-plan and lite-fix directories for task sessions
5
+ * @param workflowDir - Path to .workflow directory
6
+ * @returns Lite tasks data
7
+ */
8
+ export async function scanLiteTasks(workflowDir) {
9
+ const litePlanDir = join(workflowDir, '.lite-plan');
10
+ const liteFixDir = join(workflowDir, '.lite-fix');
11
+ return {
12
+ litePlan: scanLiteDir(litePlanDir, 'lite-plan'),
13
+ liteFix: scanLiteDir(liteFixDir, 'lite-fix')
14
+ };
15
+ }
16
+ /**
17
+ * Scan a lite task directory
18
+ * @param dir - Directory path
19
+ * @param type - Task type ('lite-plan' or 'lite-fix')
20
+ * @returns Array of lite task sessions
21
+ */
22
+ function scanLiteDir(dir, type) {
23
+ if (!existsSync(dir))
24
+ return [];
25
+ try {
26
+ const sessions = readdirSync(dir, { withFileTypes: true })
27
+ .filter(d => d.isDirectory())
28
+ .map(d => {
29
+ const sessionPath = join(dir, d.name);
30
+ const session = {
31
+ id: d.name,
32
+ type,
33
+ path: sessionPath,
34
+ createdAt: getCreatedTime(sessionPath),
35
+ plan: loadPlanJson(sessionPath),
36
+ tasks: loadTaskJsons(sessionPath),
37
+ progress: { total: 0, completed: 0, percentage: 0 }
38
+ };
39
+ // For lite-fix sessions, also load diagnoses separately
40
+ if (type === 'lite-fix') {
41
+ session.diagnoses = loadDiagnoses(sessionPath);
42
+ }
43
+ // Calculate progress
44
+ session.progress = calculateProgress(session.tasks);
45
+ return session;
46
+ })
47
+ .sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime());
48
+ return sessions;
49
+ }
50
+ catch (err) {
51
+ console.error(`Error scanning ${dir}:`, err.message);
52
+ return [];
53
+ }
54
+ }
55
+ /**
56
+ * Load plan.json or fix-plan.json from session directory
57
+ * @param sessionPath - Session directory path
58
+ * @returns Plan data or null
59
+ */
60
+ function loadPlanJson(sessionPath) {
61
+ // Try fix-plan.json first (for lite-fix), then plan.json (for lite-plan)
62
+ const fixPlanPath = join(sessionPath, 'fix-plan.json');
63
+ const planPath = join(sessionPath, 'plan.json');
64
+ // Try fix-plan.json first
65
+ if (existsSync(fixPlanPath)) {
66
+ try {
67
+ const content = readFileSync(fixPlanPath, 'utf8');
68
+ return JSON.parse(content);
69
+ }
70
+ catch {
71
+ // Continue to try plan.json
72
+ }
73
+ }
74
+ // Fallback to plan.json
75
+ if (existsSync(planPath)) {
76
+ try {
77
+ const content = readFileSync(planPath, 'utf8');
78
+ return JSON.parse(content);
79
+ }
80
+ catch {
81
+ return null;
82
+ }
83
+ }
84
+ return null;
85
+ }
86
+ /**
87
+ * Load all task JSON files from session directory
88
+ * Supports multiple task formats:
89
+ * 1. .task/IMPL-*.json files
90
+ * 2. tasks array in plan.json
91
+ * 3. task-*.json files in session root
92
+ * @param sessionPath - Session directory path
93
+ * @returns Array of task objects
94
+ */
95
+ function loadTaskJsons(sessionPath) {
96
+ let tasks = [];
97
+ // Method 1: Check .task/IMPL-*.json files
98
+ const taskDir = join(sessionPath, '.task');
99
+ if (existsSync(taskDir)) {
100
+ try {
101
+ const implTasks = readdirSync(taskDir)
102
+ .filter(f => f.endsWith('.json') && (f.startsWith('IMPL-') ||
103
+ f.startsWith('TASK-') ||
104
+ f.startsWith('task-') ||
105
+ f.startsWith('diagnosis-') ||
106
+ /^T\d+\.json$/i.test(f)))
107
+ .map(f => {
108
+ const taskPath = join(taskDir, f);
109
+ try {
110
+ const content = readFileSync(taskPath, 'utf8');
111
+ return normalizeTask(JSON.parse(content));
112
+ }
113
+ catch {
114
+ return null;
115
+ }
116
+ })
117
+ .filter((t) => t !== null);
118
+ tasks = tasks.concat(implTasks);
119
+ }
120
+ catch {
121
+ // Continue to other methods
122
+ }
123
+ }
124
+ // Method 2: Check plan.json or fix-plan.json for embedded tasks array
125
+ if (tasks.length === 0) {
126
+ // Try fix-plan.json first (for lite-fix), then plan.json (for lite-plan)
127
+ const fixPlanPath = join(sessionPath, 'fix-plan.json');
128
+ const planPath = join(sessionPath, 'plan.json');
129
+ const planFile = existsSync(fixPlanPath) ? fixPlanPath :
130
+ existsSync(planPath) ? planPath : null;
131
+ if (planFile) {
132
+ try {
133
+ const plan = JSON.parse(readFileSync(planFile, 'utf8'));
134
+ if (Array.isArray(plan.tasks)) {
135
+ tasks = plan.tasks.map(t => normalizeTask(t)).filter((t) => t !== null);
136
+ }
137
+ }
138
+ catch {
139
+ // Continue to other methods
140
+ }
141
+ }
142
+ }
143
+ // Method 3: Check for task-*.json and diagnosis-*.json files in session root
144
+ if (tasks.length === 0) {
145
+ try {
146
+ const rootTasks = readdirSync(sessionPath)
147
+ .filter(f => f.endsWith('.json') && (f.startsWith('task-') ||
148
+ f.startsWith('TASK-') ||
149
+ f.startsWith('diagnosis-') ||
150
+ /^T\d+\.json$/i.test(f)))
151
+ .map(f => {
152
+ const taskPath = join(sessionPath, f);
153
+ try {
154
+ const content = readFileSync(taskPath, 'utf8');
155
+ return normalizeTask(JSON.parse(content));
156
+ }
157
+ catch {
158
+ return null;
159
+ }
160
+ })
161
+ .filter((t) => t !== null);
162
+ tasks = tasks.concat(rootTasks);
163
+ }
164
+ catch {
165
+ // No tasks found
166
+ }
167
+ }
168
+ // Sort tasks by ID
169
+ return tasks.sort((a, b) => {
170
+ const aNum = parseInt(a.id?.replace(/\D/g, '') || '0');
171
+ const bNum = parseInt(b.id?.replace(/\D/g, '') || '0');
172
+ return aNum - bNum;
173
+ });
174
+ }
175
+ /**
176
+ * Normalize task object to consistent structure
177
+ * @param task - Raw task object
178
+ * @returns Normalized task
179
+ */
180
+ function normalizeTask(task) {
181
+ if (!task || typeof task !== 'object')
182
+ return null;
183
+ const taskObj = task;
184
+ // Determine status - support various status formats
185
+ let status = taskObj.status || 'pending';
186
+ if (typeof status === 'object') {
187
+ status = status.state || status.value || 'pending';
188
+ }
189
+ const meta = taskObj.meta;
190
+ const context = taskObj.context;
191
+ const flowControl = taskObj.flow_control;
192
+ const implementation = taskObj.implementation;
193
+ const modificationPoints = taskObj.modification_points;
194
+ return {
195
+ id: taskObj.id || taskObj.task_id || 'unknown',
196
+ title: taskObj.title || taskObj.name || taskObj.summary || 'Untitled Task',
197
+ status: status.toLowerCase(),
198
+ // Preserve original fields for flexible rendering
199
+ meta: meta ? {
200
+ type: meta.type || taskObj.type || taskObj.action || 'task',
201
+ agent: meta.agent || taskObj.agent || null,
202
+ scope: meta.scope || taskObj.scope || null,
203
+ module: meta.module || taskObj.module || null
204
+ } : {
205
+ type: taskObj.type || taskObj.action || 'task',
206
+ agent: taskObj.agent || null,
207
+ scope: taskObj.scope || null,
208
+ module: taskObj.module || null
209
+ },
210
+ context: context ? {
211
+ requirements: context.requirements || [],
212
+ focus_paths: context.focus_paths || [],
213
+ acceptance: context.acceptance || [],
214
+ depends_on: context.depends_on || []
215
+ } : {
216
+ requirements: taskObj.requirements || (taskObj.description ? [taskObj.description] : []),
217
+ focus_paths: taskObj.focus_paths || modificationPoints?.map(m => m.file).filter((f) => !!f) || [],
218
+ acceptance: taskObj.acceptance || [],
219
+ depends_on: taskObj.depends_on || []
220
+ },
221
+ flow_control: flowControl ? {
222
+ implementation_approach: flowControl.implementation_approach || []
223
+ } : {
224
+ implementation_approach: implementation?.map((step, i) => ({
225
+ step: `Step ${i + 1}`,
226
+ action: step
227
+ })) || []
228
+ },
229
+ // Keep all original fields for raw JSON view
230
+ _raw: task
231
+ };
232
+ }
233
+ /**
234
+ * Get directory creation time
235
+ * @param dirPath - Directory path
236
+ * @returns ISO date string
237
+ */
238
+ function getCreatedTime(dirPath) {
239
+ try {
240
+ const stat = statSync(dirPath);
241
+ return stat.birthtime.toISOString();
242
+ }
243
+ catch {
244
+ return new Date().toISOString();
245
+ }
246
+ }
247
+ /**
248
+ * Calculate progress from tasks
249
+ * @param tasks - Array of task objects
250
+ * @returns Progress info
251
+ */
252
+ function calculateProgress(tasks) {
253
+ if (!tasks || tasks.length === 0) {
254
+ return { total: 0, completed: 0, percentage: 0 };
255
+ }
256
+ const total = tasks.length;
257
+ const completed = tasks.filter(t => t.status === 'completed').length;
258
+ const percentage = Math.round((completed / total) * 100);
259
+ return { total, completed, percentage };
260
+ }
261
+ /**
262
+ * Get detailed lite task info
263
+ * @param workflowDir - Workflow directory
264
+ * @param type - 'lite-plan' or 'lite-fix'
265
+ * @param sessionId - Session ID
266
+ * @returns Detailed task info
267
+ */
268
+ export function getLiteTaskDetail(workflowDir, type, sessionId) {
269
+ const dir = type === 'lite-plan'
270
+ ? join(workflowDir, '.lite-plan', sessionId)
271
+ : join(workflowDir, '.lite-fix', sessionId);
272
+ if (!existsSync(dir))
273
+ return null;
274
+ const detail = {
275
+ id: sessionId,
276
+ type,
277
+ path: dir,
278
+ plan: loadPlanJson(dir),
279
+ tasks: loadTaskJsons(dir),
280
+ explorations: loadExplorations(dir),
281
+ clarifications: loadClarifications(dir)
282
+ };
283
+ // For lite-fix sessions, also load diagnoses
284
+ if (type === 'lite-fix') {
285
+ detail.diagnoses = loadDiagnoses(dir);
286
+ }
287
+ return detail;
288
+ }
289
+ /**
290
+ * Load exploration results
291
+ * @param sessionPath - Session directory path
292
+ * @returns Exploration results
293
+ */
294
+ function loadExplorations(sessionPath) {
295
+ const explorePath = join(sessionPath, 'explorations.json');
296
+ if (!existsSync(explorePath))
297
+ return [];
298
+ try {
299
+ const content = readFileSync(explorePath, 'utf8');
300
+ return JSON.parse(content);
301
+ }
302
+ catch {
303
+ return [];
304
+ }
305
+ }
306
+ /**
307
+ * Load clarification data
308
+ * @param sessionPath - Session directory path
309
+ * @returns Clarification data
310
+ */
311
+ function loadClarifications(sessionPath) {
312
+ const clarifyPath = join(sessionPath, 'clarifications.json');
313
+ if (!existsSync(clarifyPath))
314
+ return null;
315
+ try {
316
+ const content = readFileSync(clarifyPath, 'utf8');
317
+ return JSON.parse(content);
318
+ }
319
+ catch {
320
+ return null;
321
+ }
322
+ }
323
+ /**
324
+ * Load diagnosis files for lite-fix sessions
325
+ * Loads diagnosis-*.json files from session root directory
326
+ * @param sessionPath - Session directory path
327
+ * @returns Diagnoses data with manifest and items
328
+ */
329
+ function loadDiagnoses(sessionPath) {
330
+ const result = {
331
+ manifest: null,
332
+ items: []
333
+ };
334
+ // Try to load diagnoses-manifest.json first
335
+ const manifestPath = join(sessionPath, 'diagnoses-manifest.json');
336
+ if (existsSync(manifestPath)) {
337
+ try {
338
+ result.manifest = JSON.parse(readFileSync(manifestPath, 'utf8'));
339
+ }
340
+ catch {
341
+ // Continue without manifest
342
+ }
343
+ }
344
+ // Load all diagnosis-*.json files from session root
345
+ try {
346
+ const diagnosisFiles = readdirSync(sessionPath)
347
+ .filter(f => f.startsWith('diagnosis-') && f.endsWith('.json'));
348
+ for (const file of diagnosisFiles) {
349
+ const filePath = join(sessionPath, file);
350
+ try {
351
+ const content = JSON.parse(readFileSync(filePath, 'utf8'));
352
+ result.items.push({
353
+ id: file.replace('diagnosis-', '').replace('.json', ''),
354
+ filename: file,
355
+ ...content
356
+ });
357
+ }
358
+ catch {
359
+ // Skip invalid files
360
+ }
361
+ }
362
+ }
363
+ catch {
364
+ // Return empty items if directory read fails
365
+ }
366
+ return result;
367
+ }
368
+ //# sourceMappingURL=lite-scanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lite-scanner.js","sourceRoot":"","sources":["../../src/core/lite-scanner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ export interface ManifestFileEntry {
2
+ path: string;
3
+ type: 'File';
4
+ timestamp: string;
5
+ }
6
+ export interface ManifestDirectoryEntry {
7
+ path: string;
8
+ type: 'Directory';
9
+ timestamp: string;
10
+ }
11
+ export interface Manifest {
12
+ manifest_id: string;
13
+ version: string;
14
+ installation_mode: string;
15
+ installation_path: string;
16
+ installation_date: string;
17
+ installer_version: string;
18
+ files: ManifestFileEntry[];
19
+ directories: ManifestDirectoryEntry[];
20
+ }
21
+ export interface ManifestWithMetadata extends Manifest {
22
+ manifest_file: string;
23
+ application_version: string;
24
+ files_count: number;
25
+ directories_count: number;
26
+ }
27
+ /**
28
+ * Create a new installation manifest
29
+ * @param mode - Installation mode (Global/Path)
30
+ * @param installPath - Installation path
31
+ * @returns New manifest object
32
+ */
33
+ export declare function createManifest(mode: string, installPath: string): Manifest;
34
+ /**
35
+ * Add file entry to manifest
36
+ * @param manifest - Manifest object
37
+ * @param filePath - File path
38
+ */
39
+ export declare function addFileEntry(manifest: Manifest, filePath: string): void;
40
+ /**
41
+ * Add directory entry to manifest
42
+ * @param manifest - Manifest object
43
+ * @param dirPath - Directory path
44
+ */
45
+ export declare function addDirectoryEntry(manifest: Manifest, dirPath: string): void;
46
+ /**
47
+ * Save manifest to disk
48
+ * @param manifest - Manifest object
49
+ * @returns Path to saved manifest
50
+ */
51
+ export declare function saveManifest(manifest: Manifest): string;
52
+ /**
53
+ * Get all installation manifests
54
+ * @returns Array of manifest objects
55
+ */
56
+ export declare function getAllManifests(): ManifestWithMetadata[];
57
+ /**
58
+ * Find manifest for a specific path and mode
59
+ * @param installPath - Installation path
60
+ * @param mode - Installation mode
61
+ * @returns Manifest or null
62
+ */
63
+ export declare function findManifest(installPath: string, mode: string): ManifestWithMetadata | null;
64
+ /**
65
+ * Delete a manifest file
66
+ * @param manifestFile - Path to manifest file
67
+ */
68
+ export declare function deleteManifest(manifestFile: string): void;
69
+ /**
70
+ * Get manifest directory path
71
+ * @returns Manifest directory path
72
+ */
73
+ export declare function getManifestDir(): string;
74
+ /**
75
+ * Get file reference counts across all manifests
76
+ * Returns a map of file path -> array of manifest IDs that reference it
77
+ * @param excludeManifestId - Optional manifest ID to exclude from counting
78
+ * @returns Map of file paths to referencing manifest IDs
79
+ */
80
+ export declare function getFileReferenceCounts(excludeManifestId?: string): Map<string, string[]>;
81
+ /**
82
+ * Check if a file is referenced by other installations
83
+ * @param filePath - File path to check
84
+ * @param excludeManifestId - Manifest ID to exclude from checking
85
+ * @returns True if file is referenced by other installations
86
+ */
87
+ export declare function isFileReferencedByOthers(filePath: string, excludeManifestId: string): boolean;
88
+ //# sourceMappingURL=manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../src/core/manifest.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,QAAQ;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B,WAAW,EAAE,sBAAsB,EAAE,CAAC;CACvC;AAED,MAAM,WAAW,oBAAqB,SAAQ,QAAQ;IACpD,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAWD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,QAAQ,CAiB1E;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAMvE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAM3E;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAUvD;AAmCD;;;GAGG;AACH,wBAAgB,eAAe,IAAI,oBAAoB,EAAE,CA6CxD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAQ3F;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAIzD;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,iBAAiB,CAAC,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAmBxF;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAK7F"}