claude-code-workflow 6.1.3 → 6.2.1

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 (879) hide show
  1. package/README.md +145 -274
  2. package/bin/ccw-mcp.js +7 -0
  3. package/bin/ccw.js +10 -0
  4. package/dist/cli.d.ts +2 -0
  5. package/dist/cli.d.ts.map +1 -0
  6. package/dist/cli.js +219 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/commands/cli.d.ts +32 -0
  9. package/dist/commands/cli.d.ts.map +1 -0
  10. package/dist/commands/cli.js +619 -0
  11. package/dist/commands/cli.js.map +1 -0
  12. package/dist/commands/core-memory.d.ts +32 -0
  13. package/dist/commands/core-memory.d.ts.map +1 -0
  14. package/dist/commands/core-memory.js +640 -0
  15. package/dist/commands/core-memory.js.map +1 -0
  16. package/dist/commands/hook.d.ts +16 -0
  17. package/dist/commands/hook.d.ts.map +1 -0
  18. package/dist/commands/hook.js +276 -0
  19. package/dist/commands/hook.js.map +1 -0
  20. package/dist/commands/install.d.ts +12 -0
  21. package/dist/commands/install.d.ts.map +1 -0
  22. package/dist/commands/install.js +443 -0
  23. package/dist/commands/install.js.map +1 -0
  24. package/dist/commands/list.d.ts +5 -0
  25. package/dist/commands/list.d.ts.map +1 -0
  26. package/dist/commands/list.js +32 -0
  27. package/dist/commands/list.js.map +1 -0
  28. package/dist/commands/memory.d.ts +57 -0
  29. package/dist/commands/memory.d.ts.map +1 -0
  30. package/dist/commands/memory.js +890 -0
  31. package/dist/commands/memory.js.map +1 -0
  32. package/dist/commands/serve.d.ts +12 -0
  33. package/dist/commands/serve.d.ts.map +1 -0
  34. package/dist/commands/serve.js +63 -0
  35. package/dist/commands/serve.js.map +1 -0
  36. package/dist/commands/session-path-resolver.d.ts +45 -0
  37. package/dist/commands/session-path-resolver.d.ts.map +1 -0
  38. package/dist/commands/session-path-resolver.js +302 -0
  39. package/dist/commands/session-path-resolver.js.map +1 -0
  40. package/dist/commands/session.d.ts +12 -0
  41. package/dist/commands/session.d.ts.map +1 -0
  42. package/dist/commands/session.js +954 -0
  43. package/dist/commands/session.js.map +1 -0
  44. package/dist/commands/stop.d.ts +11 -0
  45. package/dist/commands/stop.d.ts.map +1 -0
  46. package/dist/commands/stop.js +96 -0
  47. package/dist/commands/stop.js.map +1 -0
  48. package/dist/commands/tool.d.ts +29 -0
  49. package/dist/commands/tool.d.ts.map +1 -0
  50. package/dist/commands/tool.js +173 -0
  51. package/dist/commands/tool.js.map +1 -0
  52. package/dist/commands/uninstall.d.ts +9 -0
  53. package/dist/commands/uninstall.d.ts.map +1 -0
  54. package/dist/commands/uninstall.js +239 -0
  55. package/dist/commands/uninstall.js.map +1 -0
  56. package/dist/commands/upgrade.d.ts +10 -0
  57. package/dist/commands/upgrade.d.ts.map +1 -0
  58. package/dist/commands/upgrade.js +288 -0
  59. package/dist/commands/upgrade.js.map +1 -0
  60. package/dist/commands/view.d.ts +14 -0
  61. package/dist/commands/view.d.ts.map +1 -0
  62. package/dist/commands/view.js +100 -0
  63. package/dist/commands/view.js.map +1 -0
  64. package/dist/config/storage-paths.d.ts +184 -0
  65. package/dist/config/storage-paths.d.ts.map +1 -0
  66. package/dist/config/storage-paths.js +536 -0
  67. package/dist/config/storage-paths.js.map +1 -0
  68. package/dist/core/cache-manager.d.ts +80 -0
  69. package/dist/core/cache-manager.d.ts.map +1 -0
  70. package/dist/core/cache-manager.js +260 -0
  71. package/dist/core/cache-manager.js.map +1 -0
  72. package/dist/core/claude-freshness.d.ts +53 -0
  73. package/dist/core/claude-freshness.d.ts.map +1 -0
  74. package/dist/core/claude-freshness.js +232 -0
  75. package/dist/core/claude-freshness.js.map +1 -0
  76. package/dist/core/core-memory-store.d.ts +320 -0
  77. package/dist/core/core-memory-store.d.ts.map +1 -0
  78. package/dist/core/core-memory-store.js +1177 -0
  79. package/dist/core/core-memory-store.js.map +1 -0
  80. package/dist/core/dashboard-generator-patch.d.ts +2 -0
  81. package/dist/core/dashboard-generator-patch.d.ts.map +1 -0
  82. package/dist/core/dashboard-generator-patch.js +48 -0
  83. package/dist/core/dashboard-generator-patch.js.map +1 -0
  84. package/dist/core/dashboard-generator.d.ts +8 -0
  85. package/dist/core/dashboard-generator.d.ts.map +1 -0
  86. package/dist/core/dashboard-generator.js +695 -0
  87. package/dist/core/dashboard-generator.js.map +1 -0
  88. package/dist/core/data-aggregator.d.ts +145 -0
  89. package/dist/core/data-aggregator.d.ts.map +1 -0
  90. package/dist/core/data-aggregator.js +416 -0
  91. package/dist/core/data-aggregator.js.map +1 -0
  92. package/dist/core/history-importer.d.ts +102 -0
  93. package/dist/core/history-importer.d.ts.map +1 -0
  94. package/dist/core/history-importer.js +493 -0
  95. package/dist/core/history-importer.js.map +1 -0
  96. package/dist/core/lite-scanner-complete.d.ts +81 -0
  97. package/dist/core/lite-scanner-complete.d.ts.map +1 -0
  98. package/dist/core/lite-scanner-complete.js +368 -0
  99. package/dist/core/lite-scanner-complete.js.map +1 -0
  100. package/dist/core/lite-scanner.d.ts +81 -0
  101. package/dist/core/lite-scanner.d.ts.map +1 -0
  102. package/dist/core/lite-scanner.js +368 -0
  103. package/dist/core/lite-scanner.js.map +1 -0
  104. package/dist/core/manifest.d.ts +88 -0
  105. package/dist/core/manifest.d.ts.map +1 -0
  106. package/dist/core/manifest.js +214 -0
  107. package/dist/core/manifest.js.map +1 -0
  108. package/dist/core/memory-embedder-bridge.d.ts +83 -0
  109. package/dist/core/memory-embedder-bridge.d.ts.map +1 -0
  110. package/dist/core/memory-embedder-bridge.js +181 -0
  111. package/dist/core/memory-embedder-bridge.js.map +1 -0
  112. package/dist/core/memory-store.d.ts +249 -0
  113. package/dist/core/memory-store.d.ts.map +1 -0
  114. package/dist/core/memory-store.js +781 -0
  115. package/dist/core/memory-store.js.map +1 -0
  116. package/dist/core/routes/ccw-routes.d.ts +20 -0
  117. package/dist/core/routes/ccw-routes.d.ts.map +1 -0
  118. package/dist/core/routes/ccw-routes.js +70 -0
  119. package/dist/core/routes/ccw-routes.js.map +1 -0
  120. package/dist/core/routes/claude-routes.d.ts +19 -0
  121. package/dist/core/routes/claude-routes.d.ts.map +1 -0
  122. package/dist/core/routes/claude-routes.js +1017 -0
  123. package/dist/core/routes/claude-routes.js.map +1 -0
  124. package/dist/core/routes/cli-routes.d.ts +20 -0
  125. package/dist/core/routes/cli-routes.d.ts.map +1 -0
  126. package/dist/core/routes/cli-routes.js +468 -0
  127. package/dist/core/routes/cli-routes.js.map +1 -0
  128. package/dist/core/routes/codexlens-routes.d.ts +20 -0
  129. package/dist/core/routes/codexlens-routes.d.ts.map +1 -0
  130. package/dist/core/routes/codexlens-routes.js +754 -0
  131. package/dist/core/routes/codexlens-routes.js.map +1 -0
  132. package/dist/core/routes/core-memory-routes.d.ts +21 -0
  133. package/dist/core/routes/core-memory-routes.d.ts.map +1 -0
  134. package/dist/core/routes/core-memory-routes.js +520 -0
  135. package/dist/core/routes/core-memory-routes.js.map +1 -0
  136. package/dist/core/routes/files-routes.d.ts +20 -0
  137. package/dist/core/routes/files-routes.d.ts.map +1 -0
  138. package/dist/core/routes/files-routes.js +374 -0
  139. package/dist/core/routes/files-routes.js.map +1 -0
  140. package/dist/core/routes/graph-routes.d.ts +20 -0
  141. package/dist/core/routes/graph-routes.d.ts.map +1 -0
  142. package/dist/core/routes/graph-routes.js +517 -0
  143. package/dist/core/routes/graph-routes.js.map +1 -0
  144. package/dist/core/routes/help-routes.d.ts +20 -0
  145. package/dist/core/routes/help-routes.d.ts.map +1 -0
  146. package/dist/core/routes/help-routes.js +250 -0
  147. package/dist/core/routes/help-routes.js.map +1 -0
  148. package/dist/core/routes/hooks-routes.d.ts +21 -0
  149. package/dist/core/routes/hooks-routes.d.ts.map +1 -0
  150. package/dist/core/routes/hooks-routes.js +346 -0
  151. package/dist/core/routes/hooks-routes.js.map +1 -0
  152. package/dist/core/routes/mcp-routes.d.ts +20 -0
  153. package/dist/core/routes/mcp-routes.d.ts.map +1 -0
  154. package/dist/core/routes/mcp-routes.js +1129 -0
  155. package/dist/core/routes/mcp-routes.js.map +1 -0
  156. package/dist/core/routes/mcp-templates-db.d.ts +54 -0
  157. package/dist/core/routes/mcp-templates-db.d.ts.map +1 -0
  158. package/dist/core/routes/mcp-templates-db.js +226 -0
  159. package/dist/core/routes/mcp-templates-db.js.map +1 -0
  160. package/dist/core/routes/memory-routes.d.ts +21 -0
  161. package/dist/core/routes/memory-routes.d.ts.map +1 -0
  162. package/dist/core/routes/memory-routes.js +1095 -0
  163. package/dist/core/routes/memory-routes.js.map +1 -0
  164. package/dist/core/routes/rules-routes.d.ts +20 -0
  165. package/dist/core/routes/rules-routes.d.ts.map +1 -0
  166. package/dist/core/routes/rules-routes.js +442 -0
  167. package/dist/core/routes/rules-routes.js.map +1 -0
  168. package/dist/core/routes/session-routes.d.ts +20 -0
  169. package/dist/core/routes/session-routes.d.ts.map +1 -0
  170. package/dist/core/routes/session-routes.js +423 -0
  171. package/dist/core/routes/session-routes.js.map +1 -0
  172. package/dist/core/routes/skills-routes.d.ts +20 -0
  173. package/dist/core/routes/skills-routes.d.ts.map +1 -0
  174. package/dist/core/routes/skills-routes.js +533 -0
  175. package/dist/core/routes/skills-routes.js.map +1 -0
  176. package/dist/core/routes/status-routes.d.ts +20 -0
  177. package/dist/core/routes/status-routes.d.ts.map +1 -0
  178. package/dist/core/routes/status-routes.js +38 -0
  179. package/dist/core/routes/status-routes.js.map +1 -0
  180. package/dist/core/routes/system-routes.d.ts +22 -0
  181. package/dist/core/routes/system-routes.d.ts.map +1 -0
  182. package/dist/core/routes/system-routes.js +354 -0
  183. package/dist/core/routes/system-routes.js.map +1 -0
  184. package/dist/core/server.d.ts +17 -0
  185. package/dist/core/server.d.ts.map +1 -0
  186. package/dist/core/server.js +386 -0
  187. package/dist/core/server.js.map +1 -0
  188. package/dist/core/session-clustering-service.d.ts +153 -0
  189. package/dist/core/session-clustering-service.d.ts.map +1 -0
  190. package/dist/core/session-clustering-service.js +1065 -0
  191. package/dist/core/session-clustering-service.js.map +1 -0
  192. package/dist/core/session-scanner.d.ts +32 -0
  193. package/dist/core/session-scanner.d.ts.map +1 -0
  194. package/dist/core/session-scanner.js +253 -0
  195. package/dist/core/session-scanner.js.map +1 -0
  196. package/dist/core/websocket.d.ts +23 -0
  197. package/dist/core/websocket.d.ts.map +1 -0
  198. package/dist/core/websocket.js +168 -0
  199. package/dist/core/websocket.js.map +1 -0
  200. package/dist/index.d.ts +10 -0
  201. package/dist/index.d.ts.map +1 -0
  202. package/dist/index.js +10 -0
  203. package/dist/index.js.map +1 -0
  204. package/dist/mcp-server/index.d.ts +7 -0
  205. package/dist/mcp-server/index.d.ts.map +1 -0
  206. package/dist/mcp-server/index.js +157 -0
  207. package/dist/mcp-server/index.js.map +1 -0
  208. package/dist/tools/classify-folders.d.ts +26 -0
  209. package/dist/tools/classify-folders.d.ts.map +1 -0
  210. package/dist/tools/classify-folders.js +201 -0
  211. package/dist/tools/classify-folders.js.map +1 -0
  212. package/dist/tools/cli-config-manager.d.ts +62 -0
  213. package/dist/tools/cli-config-manager.d.ts.map +1 -0
  214. package/dist/tools/cli-config-manager.js +221 -0
  215. package/dist/tools/cli-config-manager.js.map +1 -0
  216. package/dist/tools/cli-executor.d.ts +373 -0
  217. package/dist/tools/cli-executor.d.ts.map +1 -0
  218. package/dist/tools/cli-executor.js +1625 -0
  219. package/dist/tools/cli-executor.js.map +1 -0
  220. package/dist/tools/cli-history-store.d.ts +330 -0
  221. package/dist/tools/cli-history-store.d.ts.map +1 -0
  222. package/dist/tools/cli-history-store.js +916 -0
  223. package/dist/tools/cli-history-store.js.map +1 -0
  224. package/dist/tools/codex-lens.d.ts +118 -0
  225. package/dist/tools/codex-lens.d.ts.map +1 -0
  226. package/dist/tools/codex-lens.js +962 -0
  227. package/dist/tools/codex-lens.js.map +1 -0
  228. package/dist/tools/convert-tokens-to-css.d.ts +14 -0
  229. package/dist/tools/convert-tokens-to-css.d.ts.map +1 -0
  230. package/dist/tools/convert-tokens-to-css.js +244 -0
  231. package/dist/tools/convert-tokens-to-css.js.map +1 -0
  232. package/dist/tools/core-memory.d.ts +66 -0
  233. package/dist/tools/core-memory.d.ts.map +1 -0
  234. package/dist/tools/core-memory.js +324 -0
  235. package/dist/tools/core-memory.js.map +1 -0
  236. package/dist/tools/detect-changed-modules.d.ts +24 -0
  237. package/dist/tools/detect-changed-modules.d.ts.map +1 -0
  238. package/dist/tools/detect-changed-modules.js +277 -0
  239. package/dist/tools/detect-changed-modules.js.map +1 -0
  240. package/dist/tools/discover-design-files.d.ts +36 -0
  241. package/dist/tools/discover-design-files.d.ts.map +1 -0
  242. package/dist/tools/discover-design-files.js +147 -0
  243. package/dist/tools/discover-design-files.js.map +1 -0
  244. package/dist/tools/edit-file.d.ts +28 -0
  245. package/dist/tools/edit-file.d.ts.map +1 -0
  246. package/dist/tools/edit-file.js +479 -0
  247. package/dist/tools/edit-file.js.map +1 -0
  248. package/dist/tools/generate-module-docs.d.ts +22 -0
  249. package/dist/tools/generate-module-docs.d.ts.map +1 -0
  250. package/dist/tools/generate-module-docs.js +379 -0
  251. package/dist/tools/generate-module-docs.js.map +1 -0
  252. package/dist/tools/get-modules-by-depth.d.ts +15 -0
  253. package/dist/tools/get-modules-by-depth.d.ts.map +1 -0
  254. package/dist/tools/get-modules-by-depth.js +296 -0
  255. package/dist/tools/get-modules-by-depth.js.map +1 -0
  256. package/dist/tools/index.d.ts +55 -0
  257. package/dist/tools/index.d.ts.map +1 -0
  258. package/dist/tools/index.js +304 -0
  259. package/dist/tools/index.js.map +1 -0
  260. package/dist/tools/native-session-discovery.d.ts +97 -0
  261. package/dist/tools/native-session-discovery.d.ts.map +1 -0
  262. package/dist/tools/native-session-discovery.js +700 -0
  263. package/dist/tools/native-session-discovery.js.map +1 -0
  264. package/dist/tools/notifier.d.ts +50 -0
  265. package/dist/tools/notifier.d.ts.map +1 -0
  266. package/dist/tools/notifier.js +90 -0
  267. package/dist/tools/notifier.js.map +1 -0
  268. package/dist/tools/read-file.d.ts +32 -0
  269. package/dist/tools/read-file.d.ts.map +1 -0
  270. package/dist/tools/read-file.js +329 -0
  271. package/dist/tools/read-file.js.map +1 -0
  272. package/dist/tools/resume-strategy.d.ts +48 -0
  273. package/dist/tools/resume-strategy.d.ts.map +1 -0
  274. package/dist/tools/resume-strategy.js +248 -0
  275. package/dist/tools/resume-strategy.js.map +1 -0
  276. package/dist/tools/session-content-parser.d.ts +58 -0
  277. package/dist/tools/session-content-parser.d.ts.map +1 -0
  278. package/dist/tools/session-content-parser.js +420 -0
  279. package/dist/tools/session-content-parser.js.map +1 -0
  280. package/dist/tools/session-manager.d.ts +9 -0
  281. package/dist/tools/session-manager.d.ts.map +1 -0
  282. package/dist/tools/session-manager.js +834 -0
  283. package/dist/tools/session-manager.js.map +1 -0
  284. package/dist/tools/smart-context.d.ts +35 -0
  285. package/dist/tools/smart-context.d.ts.map +1 -0
  286. package/dist/tools/smart-context.js +182 -0
  287. package/dist/tools/smart-context.js.map +1 -0
  288. package/dist/tools/smart-search.d.ts +105 -0
  289. package/dist/tools/smart-search.d.ts.map +1 -0
  290. package/dist/tools/smart-search.js +1753 -0
  291. package/dist/tools/smart-search.js.map +1 -0
  292. package/dist/tools/storage-manager.d.ts +114 -0
  293. package/dist/tools/storage-manager.d.ts.map +1 -0
  294. package/dist/tools/storage-manager.js +392 -0
  295. package/dist/tools/storage-manager.js.map +1 -0
  296. package/dist/tools/ui-generate-preview.d.ts +39 -0
  297. package/dist/tools/ui-generate-preview.d.ts.map +1 -0
  298. package/dist/tools/ui-generate-preview.js +300 -0
  299. package/dist/tools/ui-generate-preview.js.map +1 -0
  300. package/dist/tools/ui-instantiate-prototypes.d.ts +75 -0
  301. package/dist/tools/ui-instantiate-prototypes.d.ts.map +1 -0
  302. package/dist/tools/ui-instantiate-prototypes.js +256 -0
  303. package/dist/tools/ui-instantiate-prototypes.js.map +1 -0
  304. package/dist/tools/update-module-claude.d.ts +80 -0
  305. package/dist/tools/update-module-claude.d.ts.map +1 -0
  306. package/dist/tools/update-module-claude.js +351 -0
  307. package/dist/tools/update-module-claude.js.map +1 -0
  308. package/dist/tools/write-file.d.ts +19 -0
  309. package/dist/tools/write-file.d.ts.map +1 -0
  310. package/dist/tools/write-file.js +193 -0
  311. package/dist/tools/write-file.js.map +1 -0
  312. package/dist/types/config.d.ts +11 -0
  313. package/dist/types/config.d.ts.map +1 -0
  314. package/dist/types/config.js +2 -0
  315. package/dist/types/config.js.map +1 -0
  316. package/dist/types/index.d.ts +4 -0
  317. package/dist/types/index.d.ts.map +1 -0
  318. package/dist/types/index.js +4 -0
  319. package/dist/types/index.js.map +1 -0
  320. package/dist/types/session.d.ts +20 -0
  321. package/dist/types/session.d.ts.map +1 -0
  322. package/dist/types/session.js +2 -0
  323. package/dist/types/session.js.map +1 -0
  324. package/dist/types/tool.d.ts +36 -0
  325. package/dist/types/tool.d.ts.map +1 -0
  326. package/dist/types/tool.js +11 -0
  327. package/dist/types/tool.js.map +1 -0
  328. package/dist/utils/browser-launcher.d.ts +13 -0
  329. package/dist/utils/browser-launcher.d.ts.map +1 -0
  330. package/dist/utils/browser-launcher.js +60 -0
  331. package/dist/utils/browser-launcher.js.map +1 -0
  332. package/dist/utils/file-utils.d.ts +25 -0
  333. package/dist/utils/file-utils.d.ts.map +1 -0
  334. package/dist/utils/file-utils.js +48 -0
  335. package/dist/utils/file-utils.js.map +1 -0
  336. package/dist/utils/path-resolver.d.ts +80 -0
  337. package/dist/utils/path-resolver.d.ts.map +1 -0
  338. package/dist/utils/path-resolver.js +260 -0
  339. package/dist/utils/path-resolver.js.map +1 -0
  340. package/dist/utils/path-validator.d.ts +49 -0
  341. package/dist/utils/path-validator.d.ts.map +1 -0
  342. package/dist/utils/path-validator.js +123 -0
  343. package/dist/utils/path-validator.js.map +1 -0
  344. package/dist/utils/ui.d.ts +62 -0
  345. package/dist/utils/ui.d.ts.map +1 -0
  346. package/dist/utils/ui.js +129 -0
  347. package/dist/utils/ui.js.map +1 -0
  348. package/package.json +65 -67
  349. package/src/.workflow/.cli-history/history.db +0 -0
  350. package/src/.workflow/.cli-history/history.db-shm +0 -0
  351. package/src/.workflow/.cli-history/history.db-wal +0 -0
  352. package/src/cli.ts +244 -0
  353. package/src/commands/cli.ts +740 -0
  354. package/src/commands/core-memory.ts +770 -0
  355. package/src/commands/hook.ts +315 -0
  356. package/src/commands/install.ts +519 -0
  357. package/src/commands/list.ts +37 -0
  358. package/src/commands/memory.ts +1090 -0
  359. package/src/commands/serve.ts +76 -0
  360. package/src/commands/session-path-resolver.ts +372 -0
  361. package/src/commands/session.ts +1141 -0
  362. package/src/commands/stop.ts +111 -0
  363. package/src/commands/tool.ts +201 -0
  364. package/src/commands/uninstall.ts +287 -0
  365. package/src/commands/upgrade.ts +352 -0
  366. package/src/commands/view.ts +119 -0
  367. package/src/config/storage-paths.ts +670 -0
  368. package/src/core/cache-manager.ts +294 -0
  369. package/src/core/claude-freshness.ts +319 -0
  370. package/src/core/core-memory-store.ts +1528 -0
  371. package/src/core/dashboard-generator-patch.ts +47 -0
  372. package/src/core/dashboard-generator.ts +739 -0
  373. package/src/core/data-aggregator.ts +584 -0
  374. package/src/core/history-importer.ts +625 -0
  375. package/src/core/lite-scanner-complete.ts +469 -0
  376. package/src/core/lite-scanner.ts +469 -0
  377. package/src/core/manifest.ts +271 -0
  378. package/src/core/memory-embedder-bridge.ts +262 -0
  379. package/src/core/memory-store.ts +978 -0
  380. package/src/core/routes/ccw-routes.ts +96 -0
  381. package/src/core/routes/claude-routes.ts +1183 -0
  382. package/src/core/routes/cli-routes.ts +561 -0
  383. package/src/core/routes/codexlens-routes.ts +806 -0
  384. package/src/core/routes/core-memory-routes.ts +605 -0
  385. package/src/core/routes/files-routes.ts +428 -0
  386. package/src/core/routes/graph-routes.md +164 -0
  387. package/src/core/routes/graph-routes.ts +626 -0
  388. package/src/core/routes/help-routes.ts +308 -0
  389. package/src/core/routes/hooks-routes.ts +405 -0
  390. package/src/core/routes/mcp-routes.ts +1271 -0
  391. package/src/core/routes/mcp-routes.ts.backup +550 -0
  392. package/src/core/routes/mcp-templates-db.ts +268 -0
  393. package/src/core/routes/memory-routes.ts +1206 -0
  394. package/src/core/routes/rules-routes.ts +526 -0
  395. package/src/core/routes/session-routes.ts +467 -0
  396. package/src/core/routes/skills-routes.ts +599 -0
  397. package/src/core/routes/status-routes.ts +57 -0
  398. package/src/core/routes/system-routes.ts +427 -0
  399. package/src/core/server.ts +431 -0
  400. package/src/core/session-clustering-service.ts +1258 -0
  401. package/src/core/session-scanner.ts +283 -0
  402. package/src/core/websocket.ts +190 -0
  403. package/src/index.ts +10 -0
  404. package/src/mcp-server/index.ts +186 -0
  405. package/src/templates/assets/css/github-dark.min.css +10 -0
  406. package/src/templates/assets/css/github.min.css +10 -0
  407. package/src/templates/assets/js/cytoscape.min.js +32 -0
  408. package/src/templates/assets/js/d3.min.js +2 -0
  409. package/src/templates/assets/js/highlight.min.js +1244 -0
  410. package/src/templates/assets/js/lucide.min.js +12 -0
  411. package/src/templates/assets/js/marked.min.js +69 -0
  412. package/src/templates/assets/js/tailwind.js +83 -0
  413. package/src/templates/dashboard-css/01-base.css +302 -0
  414. package/src/templates/dashboard-css/02-session.css +748 -0
  415. package/src/templates/dashboard-css/04-lite-tasks.css +1181 -0
  416. package/src/templates/dashboard-css/06-cards.css +1576 -0
  417. package/src/templates/dashboard-css/07-managers.css +2107 -0
  418. package/src/templates/dashboard-css/09-explorer.css +1408 -0
  419. package/src/templates/dashboard-css/10-cli-status.css +337 -0
  420. package/src/templates/dashboard-css/11-cli-history.css +271 -0
  421. package/src/templates/dashboard-css/12-cli-legacy.css +796 -0
  422. package/src/templates/dashboard-css/13-cli-ccw.css +199 -0
  423. package/src/templates/dashboard-css/14-cli-modals.css +258 -0
  424. package/src/templates/dashboard-css/15-cli-endpoints.css +305 -0
  425. package/src/templates/dashboard-css/16-cli-session.css +241 -0
  426. package/src/templates/dashboard-css/17-cli-conversation.css +283 -0
  427. package/src/templates/dashboard-css/18-cli-settings.css +160 -0
  428. package/src/templates/dashboard-css/19-cli-native-session.css +496 -0
  429. package/src/templates/dashboard-css/20-cli-taskqueue.css +188 -0
  430. package/src/templates/dashboard-css/21-cli-toolmgmt.css +310 -0
  431. package/src/templates/dashboard-css/22-cli-semantic.css +240 -0
  432. package/src/templates/dashboard-css/23-memory.css +2390 -0
  433. package/src/templates/dashboard-css/24-prompt-history.css +1089 -0
  434. package/src/templates/dashboard-css/25-skills-rules.css +326 -0
  435. package/src/templates/dashboard-css/26-claude-manager.css +908 -0
  436. package/src/templates/dashboard-css/27-graph-explorer.css +1678 -0
  437. package/src/templates/dashboard-css/28-mcp-manager.css +748 -0
  438. package/src/templates/dashboard-css/29-help.css +264 -0
  439. package/src/templates/dashboard-css/30-core-memory.css +1700 -0
  440. package/src/templates/dashboard-js/api.js +220 -0
  441. package/src/templates/dashboard-js/components/carousel.js +398 -0
  442. package/src/templates/dashboard-js/components/cli-history.js +876 -0
  443. package/src/templates/dashboard-js/components/cli-status.js +978 -0
  444. package/src/templates/dashboard-js/components/global-notifications.js +508 -0
  445. package/src/templates/dashboard-js/components/hook-manager.js +1278 -0
  446. package/src/templates/dashboard-js/components/index-manager.js +302 -0
  447. package/src/templates/dashboard-js/components/mcp-manager.js +1219 -0
  448. package/src/templates/dashboard-js/components/modals.js +326 -0
  449. package/src/templates/dashboard-js/components/navigation.js +313 -0
  450. package/src/templates/dashboard-js/components/notifications.js +758 -0
  451. package/src/templates/dashboard-js/components/storage-manager.js +478 -0
  452. package/src/templates/dashboard-js/components/tabs-other.js +424 -0
  453. package/src/templates/dashboard-js/components/task-queue-sidebar.js +716 -0
  454. package/src/templates/dashboard-js/help-i18n.js +272 -0
  455. package/src/templates/dashboard-js/i18n.js +2807 -0
  456. package/src/templates/dashboard-js/main.js +87 -0
  457. package/src/templates/dashboard-js/state.js +243 -0
  458. package/src/templates/dashboard-js/utils.js +199 -0
  459. package/src/templates/dashboard-js/views/claude-manager.js +912 -0
  460. package/src/templates/dashboard-js/views/cli-manager.js +2272 -0
  461. package/src/templates/dashboard-js/views/codexlens-manager.js +964 -0
  462. package/src/templates/dashboard-js/views/core-memory-clusters.js +503 -0
  463. package/src/templates/dashboard-js/views/core-memory.js +782 -0
  464. package/src/templates/dashboard-js/views/explorer.js +888 -0
  465. package/src/templates/dashboard-js/views/graph-explorer.js +1157 -0
  466. package/src/templates/dashboard-js/views/help.js +856 -0
  467. package/src/templates/dashboard-js/views/history.js +337 -0
  468. package/src/templates/dashboard-js/views/home.js +243 -0
  469. package/src/templates/dashboard-js/views/hook-manager.js +660 -0
  470. package/src/templates/dashboard-js/views/lite-tasks.js +861 -0
  471. package/src/templates/dashboard-js/views/mcp-manager.js +2187 -0
  472. package/src/templates/dashboard-js/views/mcp-manager.js.backup +1729 -0
  473. package/src/templates/dashboard-js/views/mcp-manager.js.new +928 -0
  474. package/src/templates/dashboard-js/views/memory.js +1221 -0
  475. package/src/templates/dashboard-js/views/prompt-history.js +713 -0
  476. package/src/templates/dashboard-js/views/rules-manager.js +828 -0
  477. package/src/templates/dashboard-js/views/session-detail.js +781 -0
  478. package/src/templates/dashboard-js/views/skills-manager.js +819 -0
  479. package/src/templates/dashboard.html +831 -0
  480. package/src/templates/hooks-config-example.json +60 -0
  481. package/src/tools/classify-folders.ts +245 -0
  482. package/src/tools/cli-config-manager.ts +268 -0
  483. package/src/tools/cli-executor.ts +2014 -0
  484. package/src/tools/cli-history-store.ts +1195 -0
  485. package/src/tools/codex-lens.ts +1141 -0
  486. package/src/tools/convert-tokens-to-css.ts +300 -0
  487. package/src/tools/core-memory.ts +444 -0
  488. package/src/tools/detect-changed-modules.ts +325 -0
  489. package/src/tools/discover-design-files.ts +184 -0
  490. package/src/tools/edit-file.ts +568 -0
  491. package/src/tools/generate-module-docs.ts +438 -0
  492. package/src/tools/get-modules-by-depth.ts +349 -0
  493. package/src/tools/index.ts +370 -0
  494. package/src/tools/native-session-discovery.ts +795 -0
  495. package/src/tools/notifier.ts +129 -0
  496. package/src/tools/read-file.ts +410 -0
  497. package/src/tools/resume-strategy.ts +345 -0
  498. package/src/tools/session-content-parser.ts +619 -0
  499. package/src/tools/session-manager.ts +1026 -0
  500. package/src/tools/smart-context.ts +228 -0
  501. package/src/tools/smart-search.ts +2065 -0
  502. package/src/tools/smart-search.ts.backup +1233 -0
  503. package/src/tools/storage-manager.ts +455 -0
  504. package/src/tools/write-file.ts +222 -0
  505. package/src/types/config.ts +11 -0
  506. package/src/types/index.ts +3 -0
  507. package/src/types/session.ts +25 -0
  508. package/src/types/tool.ts +41 -0
  509. package/src/utils/browser-launcher.ts +62 -0
  510. package/src/utils/file-utils.ts +48 -0
  511. package/src/utils/path-resolver.ts +315 -0
  512. package/src/utils/path-validator.ts +153 -0
  513. package/src/utils/ui.ts +155 -0
  514. package/.claude/agents/action-planning-agent.md +0 -778
  515. package/.claude/agents/cli-execution-agent.md +0 -270
  516. package/.claude/agents/cli-explore-agent.md +0 -182
  517. package/.claude/agents/cli-lite-planning-agent.md +0 -396
  518. package/.claude/agents/cli-planning-agent.md +0 -558
  519. package/.claude/agents/code-developer.md +0 -310
  520. package/.claude/agents/conceptual-planning-agent.md +0 -308
  521. package/.claude/agents/context-search-agent.md +0 -582
  522. package/.claude/agents/doc-generator.md +0 -330
  523. package/.claude/agents/memory-bridge.md +0 -94
  524. package/.claude/agents/test-context-search-agent.md +0 -399
  525. package/.claude/agents/test-fix-agent.md +0 -343
  526. package/.claude/agents/ui-design-agent.md +0 -593
  527. package/.claude/agents/universal-executor.md +0 -131
  528. package/.claude/commands/cli/cli-init.md +0 -440
  529. package/.claude/commands/enhance-prompt.md +0 -93
  530. package/.claude/commands/memory/code-map-memory.md +0 -687
  531. package/.claude/commands/memory/docs-full-cli.md +0 -471
  532. package/.claude/commands/memory/docs-related-cli.md +0 -386
  533. package/.claude/commands/memory/docs.md +0 -615
  534. package/.claude/commands/memory/load-skill-memory.md +0 -182
  535. package/.claude/commands/memory/load.md +0 -240
  536. package/.claude/commands/memory/skill-memory.md +0 -525
  537. package/.claude/commands/memory/style-skill-memory.md +0 -396
  538. package/.claude/commands/memory/tech-research.md +0 -477
  539. package/.claude/commands/memory/update-full.md +0 -332
  540. package/.claude/commands/memory/update-related.md +0 -332
  541. package/.claude/commands/memory/workflow-skill-memory.md +0 -517
  542. package/.claude/commands/task/breakdown.md +0 -204
  543. package/.claude/commands/task/create.md +0 -152
  544. package/.claude/commands/task/execute.md +0 -270
  545. package/.claude/commands/task/replan.md +0 -437
  546. package/.claude/commands/version.md +0 -254
  547. package/.claude/commands/workflow/action-plan-verify.md +0 -447
  548. package/.claude/commands/workflow/brainstorm/api-designer.md +0 -585
  549. package/.claude/commands/workflow/brainstorm/artifacts.md +0 -452
  550. package/.claude/commands/workflow/brainstorm/auto-parallel.md +0 -443
  551. package/.claude/commands/workflow/brainstorm/data-architect.md +0 -220
  552. package/.claude/commands/workflow/brainstorm/product-manager.md +0 -200
  553. package/.claude/commands/workflow/brainstorm/product-owner.md +0 -200
  554. package/.claude/commands/workflow/brainstorm/scrum-master.md +0 -200
  555. package/.claude/commands/workflow/brainstorm/subject-matter-expert.md +0 -200
  556. package/.claude/commands/workflow/brainstorm/synthesis.md +0 -398
  557. package/.claude/commands/workflow/brainstorm/system-architect.md +0 -387
  558. package/.claude/commands/workflow/brainstorm/ui-designer.md +0 -221
  559. package/.claude/commands/workflow/brainstorm/ux-expert.md +0 -221
  560. package/.claude/commands/workflow/execute.md +0 -460
  561. package/.claude/commands/workflow/init.md +0 -164
  562. package/.claude/commands/workflow/lite-execute.md +0 -686
  563. package/.claude/commands/workflow/lite-fix.md +0 -621
  564. package/.claude/commands/workflow/lite-plan.md +0 -592
  565. package/.claude/commands/workflow/plan.md +0 -551
  566. package/.claude/commands/workflow/replan.md +0 -515
  567. package/.claude/commands/workflow/review-fix.md +0 -606
  568. package/.claude/commands/workflow/review-module-cycle.md +0 -765
  569. package/.claude/commands/workflow/review-session-cycle.md +0 -776
  570. package/.claude/commands/workflow/review.md +0 -291
  571. package/.claude/commands/workflow/session/complete.md +0 -500
  572. package/.claude/commands/workflow/session/list.md +0 -96
  573. package/.claude/commands/workflow/session/resume.md +0 -61
  574. package/.claude/commands/workflow/session/start.md +0 -200
  575. package/.claude/commands/workflow/tdd-plan.md +0 -460
  576. package/.claude/commands/workflow/tdd-verify.md +0 -386
  577. package/.claude/commands/workflow/test-cycle-execute.md +0 -498
  578. package/.claude/commands/workflow/test-fix-gen.md +0 -699
  579. package/.claude/commands/workflow/test-gen.md +0 -529
  580. package/.claude/commands/workflow/tools/conflict-resolution.md +0 -680
  581. package/.claude/commands/workflow/tools/context-gather.md +0 -434
  582. package/.claude/commands/workflow/tools/task-generate-agent.md +0 -291
  583. package/.claude/commands/workflow/tools/task-generate-tdd.md +0 -518
  584. package/.claude/commands/workflow/tools/tdd-coverage-analysis.md +0 -309
  585. package/.claude/commands/workflow/tools/test-concept-enhanced.md +0 -163
  586. package/.claude/commands/workflow/tools/test-context-gather.md +0 -235
  587. package/.claude/commands/workflow/tools/test-task-generate.md +0 -256
  588. package/.claude/commands/workflow/ui-design/animation-extract.md +0 -1150
  589. package/.claude/commands/workflow/ui-design/codify-style.md +0 -652
  590. package/.claude/commands/workflow/ui-design/design-sync.md +0 -454
  591. package/.claude/commands/workflow/ui-design/explore-auto.md +0 -678
  592. package/.claude/commands/workflow/ui-design/generate.md +0 -504
  593. package/.claude/commands/workflow/ui-design/imitate-auto.md +0 -745
  594. package/.claude/commands/workflow/ui-design/import-from-code.md +0 -537
  595. package/.claude/commands/workflow/ui-design/layout-extract.md +0 -788
  596. package/.claude/commands/workflow/ui-design/reference-page-generator.md +0 -356
  597. package/.claude/commands/workflow/ui-design/style-extract.md +0 -773
  598. package/.claude/scripts/classify-folders.sh +0 -39
  599. package/.claude/scripts/convert_tokens_to_css.sh +0 -229
  600. package/.claude/scripts/detect_changed_modules.sh +0 -161
  601. package/.claude/scripts/discover-design-files.sh +0 -87
  602. package/.claude/scripts/extract-animations.js +0 -243
  603. package/.claude/scripts/extract-computed-styles.js +0 -118
  604. package/.claude/scripts/extract-layout-structure.js +0 -411
  605. package/.claude/scripts/generate_module_docs.sh +0 -717
  606. package/.claude/scripts/get_modules_by_depth.sh +0 -170
  607. package/.claude/scripts/ui-generate-preview.sh +0 -395
  608. package/.claude/scripts/ui-instantiate-prototypes.sh +0 -815
  609. package/.claude/scripts/update_module_claude.sh +0 -337
  610. package/.claude/skills/command-guide/SKILL.md +0 -388
  611. package/.claude/skills/command-guide/UPDATE-GUIDELINE.md +0 -592
  612. package/.claude/skills/command-guide/guides/cli-tools-guide.md +0 -410
  613. package/.claude/skills/command-guide/guides/examples.md +0 -537
  614. package/.claude/skills/command-guide/guides/getting-started.md +0 -242
  615. package/.claude/skills/command-guide/guides/implementation-details.md +0 -1010
  616. package/.claude/skills/command-guide/guides/index-structure.md +0 -326
  617. package/.claude/skills/command-guide/guides/troubleshooting.md +0 -92
  618. package/.claude/skills/command-guide/guides/ui-design-workflow-guide.md +0 -316
  619. package/.claude/skills/command-guide/guides/workflow-patterns.md +0 -662
  620. package/.claude/skills/command-guide/index/all-commands.json +0 -772
  621. package/.claude/skills/command-guide/index/by-category.json +0 -800
  622. package/.claude/skills/command-guide/index/by-use-case.json +0 -786
  623. package/.claude/skills/command-guide/index/command-relationships.json +0 -307
  624. package/.claude/skills/command-guide/index/essential-commands.json +0 -112
  625. package/.claude/skills/command-guide/reference/agents/action-planning-agent.md +0 -778
  626. package/.claude/skills/command-guide/reference/agents/cli-execution-agent.md +0 -270
  627. package/.claude/skills/command-guide/reference/agents/cli-explore-agent.md +0 -182
  628. package/.claude/skills/command-guide/reference/agents/cli-lite-planning-agent.md +0 -396
  629. package/.claude/skills/command-guide/reference/agents/cli-planning-agent.md +0 -558
  630. package/.claude/skills/command-guide/reference/agents/code-developer.md +0 -310
  631. package/.claude/skills/command-guide/reference/agents/conceptual-planning-agent.md +0 -308
  632. package/.claude/skills/command-guide/reference/agents/context-search-agent.md +0 -582
  633. package/.claude/skills/command-guide/reference/agents/doc-generator.md +0 -330
  634. package/.claude/skills/command-guide/reference/agents/memory-bridge.md +0 -94
  635. package/.claude/skills/command-guide/reference/agents/test-context-search-agent.md +0 -399
  636. package/.claude/skills/command-guide/reference/agents/test-fix-agent.md +0 -343
  637. package/.claude/skills/command-guide/reference/agents/ui-design-agent.md +0 -593
  638. package/.claude/skills/command-guide/reference/agents/universal-executor.md +0 -131
  639. package/.claude/skills/command-guide/reference/commands/cli/cli-init.md +0 -440
  640. package/.claude/skills/command-guide/reference/commands/enhance-prompt.md +0 -93
  641. package/.claude/skills/command-guide/reference/commands/memory/code-map-memory.md +0 -687
  642. package/.claude/skills/command-guide/reference/commands/memory/docs-full-cli.md +0 -471
  643. package/.claude/skills/command-guide/reference/commands/memory/docs-related-cli.md +0 -386
  644. package/.claude/skills/command-guide/reference/commands/memory/docs.md +0 -615
  645. package/.claude/skills/command-guide/reference/commands/memory/load-skill-memory.md +0 -182
  646. package/.claude/skills/command-guide/reference/commands/memory/load.md +0 -240
  647. package/.claude/skills/command-guide/reference/commands/memory/skill-memory.md +0 -525
  648. package/.claude/skills/command-guide/reference/commands/memory/style-skill-memory.md +0 -396
  649. package/.claude/skills/command-guide/reference/commands/memory/tech-research.md +0 -477
  650. package/.claude/skills/command-guide/reference/commands/memory/update-full.md +0 -332
  651. package/.claude/skills/command-guide/reference/commands/memory/update-related.md +0 -332
  652. package/.claude/skills/command-guide/reference/commands/memory/workflow-skill-memory.md +0 -517
  653. package/.claude/skills/command-guide/reference/commands/task/breakdown.md +0 -204
  654. package/.claude/skills/command-guide/reference/commands/task/create.md +0 -152
  655. package/.claude/skills/command-guide/reference/commands/task/execute.md +0 -270
  656. package/.claude/skills/command-guide/reference/commands/task/replan.md +0 -437
  657. package/.claude/skills/command-guide/reference/commands/version.md +0 -254
  658. package/.claude/skills/command-guide/reference/commands/workflow/action-plan-verify.md +0 -447
  659. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/api-designer.md +0 -585
  660. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/artifacts.md +0 -452
  661. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/auto-parallel.md +0 -443
  662. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/data-architect.md +0 -220
  663. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/product-manager.md +0 -200
  664. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/product-owner.md +0 -200
  665. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/scrum-master.md +0 -200
  666. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/subject-matter-expert.md +0 -200
  667. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/synthesis.md +0 -398
  668. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/system-architect.md +0 -387
  669. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/ui-designer.md +0 -221
  670. package/.claude/skills/command-guide/reference/commands/workflow/brainstorm/ux-expert.md +0 -221
  671. package/.claude/skills/command-guide/reference/commands/workflow/execute.md +0 -460
  672. package/.claude/skills/command-guide/reference/commands/workflow/init.md +0 -164
  673. package/.claude/skills/command-guide/reference/commands/workflow/lite-execute.md +0 -686
  674. package/.claude/skills/command-guide/reference/commands/workflow/lite-fix.md +0 -621
  675. package/.claude/skills/command-guide/reference/commands/workflow/lite-plan.md +0 -592
  676. package/.claude/skills/command-guide/reference/commands/workflow/plan.md +0 -551
  677. package/.claude/skills/command-guide/reference/commands/workflow/replan.md +0 -515
  678. package/.claude/skills/command-guide/reference/commands/workflow/review-fix.md +0 -606
  679. package/.claude/skills/command-guide/reference/commands/workflow/review-module-cycle.md +0 -765
  680. package/.claude/skills/command-guide/reference/commands/workflow/review-session-cycle.md +0 -776
  681. package/.claude/skills/command-guide/reference/commands/workflow/review.md +0 -291
  682. package/.claude/skills/command-guide/reference/commands/workflow/session/complete.md +0 -500
  683. package/.claude/skills/command-guide/reference/commands/workflow/session/list.md +0 -96
  684. package/.claude/skills/command-guide/reference/commands/workflow/session/resume.md +0 -61
  685. package/.claude/skills/command-guide/reference/commands/workflow/session/start.md +0 -200
  686. package/.claude/skills/command-guide/reference/commands/workflow/tdd-plan.md +0 -460
  687. package/.claude/skills/command-guide/reference/commands/workflow/tdd-verify.md +0 -386
  688. package/.claude/skills/command-guide/reference/commands/workflow/test-cycle-execute.md +0 -498
  689. package/.claude/skills/command-guide/reference/commands/workflow/test-fix-gen.md +0 -699
  690. package/.claude/skills/command-guide/reference/commands/workflow/test-gen.md +0 -529
  691. package/.claude/skills/command-guide/reference/commands/workflow/tools/conflict-resolution.md +0 -680
  692. package/.claude/skills/command-guide/reference/commands/workflow/tools/context-gather.md +0 -434
  693. package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-agent.md +0 -291
  694. package/.claude/skills/command-guide/reference/commands/workflow/tools/task-generate-tdd.md +0 -518
  695. package/.claude/skills/command-guide/reference/commands/workflow/tools/tdd-coverage-analysis.md +0 -309
  696. package/.claude/skills/command-guide/reference/commands/workflow/tools/test-concept-enhanced.md +0 -163
  697. package/.claude/skills/command-guide/reference/commands/workflow/tools/test-context-gather.md +0 -235
  698. package/.claude/skills/command-guide/reference/commands/workflow/tools/test-task-generate.md +0 -256
  699. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/animation-extract.md +0 -1150
  700. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/codify-style.md +0 -652
  701. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/design-sync.md +0 -454
  702. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/explore-auto.md +0 -678
  703. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/generate.md +0 -504
  704. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/imitate-auto.md +0 -745
  705. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/import-from-code.md +0 -537
  706. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/layout-extract.md +0 -788
  707. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/reference-page-generator.md +0 -356
  708. package/.claude/skills/command-guide/reference/commands/workflow/ui-design/style-extract.md +0 -773
  709. package/.claude/skills/command-guide/scripts/analyze_commands.py +0 -502
  710. package/.claude/skills/command-guide/scripts/update-index.sh +0 -130
  711. package/.claude/skills/command-guide/templates/issue-bug.md +0 -104
  712. package/.claude/skills/command-guide/templates/issue-diagnosis.md +0 -275
  713. package/.claude/skills/command-guide/templates/issue-feature.md +0 -97
  714. package/.claude/skills/command-guide/templates/issue-question.md +0 -141
  715. package/.claude/skills/prompt-enhancer/SKILL.md +0 -124
  716. package/.claude/workflows/_template-compare-matrix.html +0 -692
  717. package/.claude/workflows/cli-templates/fix-plan-template.json +0 -75
  718. package/.claude/workflows/cli-templates/fix-progress-template.json +0 -48
  719. package/.claude/workflows/cli-templates/memory/style-skill-memory/skill-md-template.md +0 -299
  720. package/.claude/workflows/cli-templates/planning-roles/data-architect.md +0 -120
  721. package/.claude/workflows/cli-templates/planning-roles/product-manager.md +0 -119
  722. package/.claude/workflows/cli-templates/planning-roles/product-owner.md +0 -261
  723. package/.claude/workflows/cli-templates/planning-roles/scrum-master.md +0 -186
  724. package/.claude/workflows/cli-templates/planning-roles/subject-matter-expert.md +0 -281
  725. package/.claude/workflows/cli-templates/planning-roles/synthesis-role.md +0 -414
  726. package/.claude/workflows/cli-templates/planning-roles/system-architect.md +0 -106
  727. package/.claude/workflows/cli-templates/planning-roles/test-strategist.md +0 -124
  728. package/.claude/workflows/cli-templates/planning-roles/ui-designer.md +0 -379
  729. package/.claude/workflows/cli-templates/planning-roles/ux-expert.md +0 -240
  730. package/.claude/workflows/cli-templates/prompts/analysis/01-diagnose-bug-root-cause.txt +0 -127
  731. package/.claude/workflows/cli-templates/prompts/analysis/01-trace-code-execution.txt +0 -115
  732. package/.claude/workflows/cli-templates/prompts/analysis/02-analyze-code-patterns.txt +0 -37
  733. package/.claude/workflows/cli-templates/prompts/analysis/02-analyze-technical-document.txt +0 -33
  734. package/.claude/workflows/cli-templates/prompts/analysis/02-review-architecture.txt +0 -29
  735. package/.claude/workflows/cli-templates/prompts/analysis/02-review-code-quality.txt +0 -28
  736. package/.claude/workflows/cli-templates/prompts/analysis/03-analyze-performance.txt +0 -29
  737. package/.claude/workflows/cli-templates/prompts/analysis/03-assess-security-risks.txt +0 -29
  738. package/.claude/workflows/cli-templates/prompts/analysis/03-review-quality-standards.txt +0 -29
  739. package/.claude/workflows/cli-templates/prompts/development/02-generate-tests.txt +0 -70
  740. package/.claude/workflows/cli-templates/prompts/development/02-implement-component-ui.txt +0 -55
  741. package/.claude/workflows/cli-templates/prompts/development/02-implement-feature.txt +0 -58
  742. package/.claude/workflows/cli-templates/prompts/development/02-refactor-codebase.txt +0 -55
  743. package/.claude/workflows/cli-templates/prompts/development/03-debug-runtime-issues.txt +0 -55
  744. package/.claude/workflows/cli-templates/prompts/documentation/api.txt +0 -15
  745. package/.claude/workflows/cli-templates/prompts/documentation/folder-navigation.txt +0 -27
  746. package/.claude/workflows/cli-templates/prompts/documentation/module-readme.txt +0 -49
  747. package/.claude/workflows/cli-templates/prompts/documentation/project-architecture.txt +0 -41
  748. package/.claude/workflows/cli-templates/prompts/documentation/project-examples.txt +0 -35
  749. package/.claude/workflows/cli-templates/prompts/documentation/project-readme.txt +0 -35
  750. package/.claude/workflows/cli-templates/prompts/memory/02-document-module-structure.txt +0 -165
  751. package/.claude/workflows/cli-templates/prompts/planning/01-plan-architecture-design.txt +0 -109
  752. package/.claude/workflows/cli-templates/prompts/planning/02-breakdown-task-steps.txt +0 -30
  753. package/.claude/workflows/cli-templates/prompts/planning/02-design-component-spec.txt +0 -28
  754. package/.claude/workflows/cli-templates/prompts/planning/03-evaluate-concept-feasibility.txt +0 -127
  755. package/.claude/workflows/cli-templates/prompts/planning/03-plan-migration-strategy.txt +0 -30
  756. package/.claude/workflows/cli-templates/prompts/tech/tech-module-format.txt +0 -359
  757. package/.claude/workflows/cli-templates/prompts/tech/tech-skill-index.txt +0 -185
  758. package/.claude/workflows/cli-templates/prompts/test/test-concept-analysis.txt +0 -179
  759. package/.claude/workflows/cli-templates/prompts/universal/00-universal-creative-style.txt +0 -95
  760. package/.claude/workflows/cli-templates/prompts/universal/00-universal-rigorous-style.txt +0 -92
  761. package/.claude/workflows/cli-templates/prompts/verification/codex-technical.txt +0 -28
  762. package/.claude/workflows/cli-templates/prompts/verification/cross-validation.txt +0 -28
  763. package/.claude/workflows/cli-templates/prompts/verification/gemini-strategic.txt +0 -27
  764. package/.claude/workflows/cli-templates/prompts/workflow/analysis-results-structure.txt +0 -224
  765. package/.claude/workflows/cli-templates/prompts/workflow/codex-feasibility-validation.txt +0 -176
  766. package/.claude/workflows/cli-templates/prompts/workflow/gemini-solution-design.txt +0 -131
  767. package/.claude/workflows/cli-templates/prompts/workflow/impl-plan-template.txt +0 -286
  768. package/.claude/workflows/cli-templates/prompts/workflow/skill-aggregation.txt +0 -172
  769. package/.claude/workflows/cli-templates/prompts/workflow/skill-conflict-patterns.txt +0 -98
  770. package/.claude/workflows/cli-templates/prompts/workflow/skill-index.txt +0 -224
  771. package/.claude/workflows/cli-templates/prompts/workflow/skill-lessons-learned.txt +0 -98
  772. package/.claude/workflows/cli-templates/prompts/workflow/skill-sessions-timeline.txt +0 -53
  773. package/.claude/workflows/cli-templates/prompts/workflow/task-json-agent-mode.txt +0 -123
  774. package/.claude/workflows/cli-templates/prompts/workflow/task-json-cli-mode.txt +0 -182
  775. package/.claude/workflows/cli-templates/schemas/diagnosis-json-schema.json +0 -234
  776. package/.claude/workflows/cli-templates/schemas/explore-json-schema.json +0 -124
  777. package/.claude/workflows/cli-templates/schemas/fix-plan-json-schema.json +0 -273
  778. package/.claude/workflows/cli-templates/schemas/plan-json-schema.json +0 -219
  779. package/.claude/workflows/cli-templates/schemas/project-json-schema.json +0 -221
  780. package/.claude/workflows/cli-templates/schemas/review-deep-dive-results-schema.json +0 -82
  781. package/.claude/workflows/cli-templates/schemas/review-dimension-results-schema.json +0 -51
  782. package/.claude/workflows/cli-templates/tech-stacks/go-dev.md +0 -91
  783. package/.claude/workflows/cli-templates/tech-stacks/java-dev.md +0 -107
  784. package/.claude/workflows/cli-templates/tech-stacks/javascript-dev.md +0 -58
  785. package/.claude/workflows/cli-templates/tech-stacks/python-dev.md +0 -79
  786. package/.claude/workflows/cli-templates/tech-stacks/react-dev.md +0 -103
  787. package/.claude/workflows/cli-templates/tech-stacks/typescript-dev.md +0 -83
  788. package/.claude/workflows/cli-templates/ui-design/systems/animation-tokens.json +0 -247
  789. package/.claude/workflows/cli-templates/ui-design/systems/design-tokens.json +0 -342
  790. package/.claude/workflows/cli-templates/ui-design/systems/layout-templates.json +0 -145
  791. package/.claude/workflows/context-search-strategy.md +0 -77
  792. package/.claude/workflows/intelligent-tools-strategy.md +0 -662
  793. package/.claude/workflows/review-directory-specification.md +0 -336
  794. package/.claude/workflows/task-core.md +0 -214
  795. package/.claude/workflows/tool-strategy.md +0 -79
  796. package/.claude/workflows/workflow-architecture.md +0 -942
  797. package/.codex/AGENTS.md +0 -330
  798. package/.gemini/GEMINI.md +0 -164
  799. package/.qwen/QWEN.md +0 -164
  800. package/CLAUDE.md +0 -91
  801. package/LICENSE +0 -21
  802. package/ccw/README.md +0 -121
  803. package/ccw/bin/ccw.js +0 -10
  804. package/ccw/package.json +0 -47
  805. package/ccw/src/cli.js +0 -119
  806. package/ccw/src/commands/install.js +0 -324
  807. package/ccw/src/commands/list.js +0 -37
  808. package/ccw/src/commands/serve.js +0 -67
  809. package/ccw/src/commands/stop.js +0 -101
  810. package/ccw/src/commands/tool.js +0 -138
  811. package/ccw/src/commands/uninstall.js +0 -238
  812. package/ccw/src/commands/upgrade.js +0 -307
  813. package/ccw/src/commands/view.js +0 -105
  814. package/ccw/src/core/dashboard-generator-patch.js +0 -29
  815. package/ccw/src/core/dashboard-generator.js +0 -682
  816. package/ccw/src/core/data-aggregator.js +0 -409
  817. package/ccw/src/core/lite-scanner.js +0 -314
  818. package/ccw/src/core/manifest.js +0 -201
  819. package/ccw/src/core/server.js +0 -2063
  820. package/ccw/src/core/session-scanner.js +0 -235
  821. package/ccw/src/index.js +0 -9
  822. package/ccw/src/templates/dashboard-css/01-base.css +0 -291
  823. package/ccw/src/templates/dashboard-css/02-session.css +0 -726
  824. package/ccw/src/templates/dashboard-css/04-lite-tasks.css +0 -843
  825. package/ccw/src/templates/dashboard-css/06-cards.css +0 -1570
  826. package/ccw/src/templates/dashboard-css/07-managers.css +0 -936
  827. package/ccw/src/templates/dashboard-css/09-explorer.css +0 -1397
  828. package/ccw/src/templates/dashboard-js/api.js +0 -200
  829. package/ccw/src/templates/dashboard-js/components/carousel.js +0 -398
  830. package/ccw/src/templates/dashboard-js/components/global-notifications.js +0 -219
  831. package/ccw/src/templates/dashboard-js/components/hook-manager.js +0 -283
  832. package/ccw/src/templates/dashboard-js/components/mcp-manager.js +0 -528
  833. package/ccw/src/templates/dashboard-js/components/modals.js +0 -260
  834. package/ccw/src/templates/dashboard-js/components/navigation.js +0 -245
  835. package/ccw/src/templates/dashboard-js/components/notifications.js +0 -194
  836. package/ccw/src/templates/dashboard-js/components/tabs-other.js +0 -273
  837. package/ccw/src/templates/dashboard-js/main.js +0 -72
  838. package/ccw/src/templates/dashboard-js/state.js +0 -42
  839. package/ccw/src/templates/dashboard-js/utils.js +0 -153
  840. package/ccw/src/templates/dashboard-js/views/explorer.js +0 -852
  841. package/ccw/src/templates/dashboard-js/views/home.js +0 -197
  842. package/ccw/src/templates/dashboard-js/views/hook-manager.js +0 -392
  843. package/ccw/src/templates/dashboard-js/views/lite-tasks.js +0 -395
  844. package/ccw/src/templates/dashboard-js/views/mcp-manager.js +0 -411
  845. package/ccw/src/templates/dashboard-js/views/session-detail.js +0 -780
  846. package/ccw/src/templates/dashboard.html +0 -731
  847. package/ccw/src/tools/classify-folders.js +0 -204
  848. package/ccw/src/tools/convert-tokens-to-css.js +0 -250
  849. package/ccw/src/tools/detect-changed-modules.js +0 -288
  850. package/ccw/src/tools/discover-design-files.js +0 -134
  851. package/ccw/src/tools/edit-file.js +0 -266
  852. package/ccw/src/tools/generate-module-docs.js +0 -416
  853. package/ccw/src/tools/get-modules-by-depth.js +0 -308
  854. package/ccw/src/tools/index.js +0 -176
  855. package/ccw/src/utils/browser-launcher.js +0 -60
  856. package/ccw/src/utils/file-utils.js +0 -48
  857. package/ccw/src/utils/path-resolver.js +0 -279
  858. package/ccw/src/utils/ui.js +0 -148
  859. /package/{ccw/src → src}/templates/dashboard-css/03-tasks.css +0 -0
  860. /package/{ccw/src → src}/templates/dashboard-css/05-context.css +0 -0
  861. /package/{ccw/src → src}/templates/dashboard-css/08-review.css +0 -0
  862. /package/{ccw/src → src}/templates/dashboard-js/components/_conflict_tab.js +0 -0
  863. /package/{ccw/src → src}/templates/dashboard-js/components/_exp_helpers.js +0 -0
  864. /package/{ccw/src → src}/templates/dashboard-js/components/_review_tab.js +0 -0
  865. /package/{ccw/src → src}/templates/dashboard-js/components/flowchart.js +0 -0
  866. /package/{ccw/src → src}/templates/dashboard-js/components/sidebar.js +0 -0
  867. /package/{ccw/src → src}/templates/dashboard-js/components/tabs-context.js +0 -0
  868. /package/{ccw/src → src}/templates/dashboard-js/components/task-drawer-core.js +0 -0
  869. /package/{ccw/src → src}/templates/dashboard-js/components/task-drawer-renderers.js +0 -0
  870. /package/{ccw/src → src}/templates/dashboard-js/components/theme.js +0 -0
  871. /package/{ccw/src → src}/templates/dashboard-js/components/version-check.js +0 -0
  872. /package/{ccw/src → src}/templates/dashboard-js/views/fix-session.js +0 -0
  873. /package/{ccw/src → src}/templates/dashboard-js/views/project-overview.js +0 -0
  874. /package/{ccw/src → src}/templates/dashboard-js/views/review-session.js +0 -0
  875. /package/{ccw/src → src}/templates/review-cycle-dashboard.html +0 -0
  876. /package/{ccw/src → src}/templates/workflow-dashboard.html +0 -0
  877. /package/{ccw/src → src}/tools/ui-generate-preview.js +0 -0
  878. /package/{ccw/src → src}/tools/ui-instantiate-prototypes.js +0 -0
  879. /package/{ccw/src → src}/tools/update-module-claude.js +0 -0
@@ -0,0 +1,2390 @@
1
+ /* ========================================
2
+ * Memory Module Styles
3
+ * Three-column layout: Hotspots | Graph | Context
4
+ * ======================================== */
5
+
6
+ /* ========================================
7
+ * Memory View Layout
8
+ * ======================================== */
9
+ .memory-view {
10
+ height: 100%;
11
+ min-height: 600px;
12
+ max-height: calc(100vh - 150px);
13
+ overflow: hidden;
14
+ display: flex;
15
+ flex-direction: column;
16
+ }
17
+
18
+ .memory-view.loading {
19
+ display: flex;
20
+ flex-direction: column;
21
+ align-items: center;
22
+ justify-content: center;
23
+ }
24
+
25
+ /* Memory Header with Active Memory Toggle */
26
+ .memory-header {
27
+ display: flex;
28
+ align-items: center;
29
+ justify-content: space-between;
30
+ padding: 0.75rem 0;
31
+ margin-bottom: 1rem;
32
+ border-bottom: 1px solid hsl(var(--border));
33
+ flex-shrink: 0;
34
+ }
35
+
36
+ .memory-header-left {
37
+ display: flex;
38
+ align-items: center;
39
+ gap: 0.5rem;
40
+ }
41
+
42
+ .memory-header-left h2 {
43
+ display: flex;
44
+ align-items: center;
45
+ gap: 0.5rem;
46
+ font-size: 1.125rem;
47
+ font-weight: 600;
48
+ color: hsl(var(--foreground));
49
+ margin: 0;
50
+ }
51
+
52
+ .memory-header-right {
53
+ display: flex;
54
+ align-items: center;
55
+ gap: 1rem;
56
+ }
57
+
58
+ /* Active Memory Controls Container */
59
+ .active-memory-controls {
60
+ display: flex;
61
+ align-items: center;
62
+ gap: 1rem;
63
+ }
64
+
65
+ /* Active Memory Toggle */
66
+ .active-memory-toggle {
67
+ display: flex;
68
+ align-items: center;
69
+ gap: 0.75rem;
70
+ }
71
+
72
+ /* Active Memory Config */
73
+ .active-memory-config {
74
+ display: flex;
75
+ align-items: center;
76
+ gap: 0.75rem;
77
+ padding-left: 0.75rem;
78
+ border-left: 1px solid hsl(var(--border));
79
+ }
80
+
81
+ .config-item {
82
+ display: flex;
83
+ align-items: center;
84
+ gap: 0.375rem;
85
+ }
86
+
87
+ .config-item label {
88
+ font-size: 0.75rem;
89
+ color: hsl(var(--muted-foreground));
90
+ white-space: nowrap;
91
+ }
92
+
93
+ .config-item select {
94
+ padding: 0.25rem 0.5rem;
95
+ font-size: 0.75rem;
96
+ color: hsl(var(--foreground));
97
+ background: hsl(var(--background));
98
+ border: 1px solid hsl(var(--border));
99
+ border-radius: 0.25rem;
100
+ cursor: pointer;
101
+ outline: none;
102
+ min-width: 80px;
103
+ }
104
+
105
+ .config-item select:focus {
106
+ border-color: hsl(var(--primary));
107
+ }
108
+
109
+ .config-item select:hover {
110
+ border-color: hsl(var(--primary) / 0.5);
111
+ }
112
+
113
+ /* Active Memory Actions */
114
+ .active-memory-actions {
115
+ display: flex;
116
+ align-items: center;
117
+ gap: 0.5rem;
118
+ padding-left: 0.75rem;
119
+ border-left: 1px solid hsl(var(--border));
120
+ }
121
+
122
+ .last-sync {
123
+ font-size: 0.6875rem;
124
+ color: hsl(var(--muted-foreground));
125
+ white-space: nowrap;
126
+ }
127
+
128
+ .toggle-label {
129
+ font-size: 0.8125rem;
130
+ font-weight: 500;
131
+ color: hsl(var(--muted-foreground));
132
+ }
133
+
134
+ .toggle-switch {
135
+ position: relative;
136
+ display: inline-block;
137
+ width: 44px;
138
+ height: 24px;
139
+ }
140
+
141
+ .toggle-switch input {
142
+ opacity: 0;
143
+ width: 0;
144
+ height: 0;
145
+ }
146
+
147
+ .toggle-slider {
148
+ position: absolute;
149
+ cursor: pointer;
150
+ top: 0;
151
+ left: 0;
152
+ right: 0;
153
+ bottom: 0;
154
+ background-color: hsl(var(--muted));
155
+ border-radius: 24px;
156
+ transition: all 0.3s ease;
157
+ }
158
+
159
+ .toggle-slider::before {
160
+ position: absolute;
161
+ content: "";
162
+ height: 18px;
163
+ width: 18px;
164
+ left: 3px;
165
+ bottom: 3px;
166
+ background-color: white;
167
+ border-radius: 50%;
168
+ transition: all 0.3s ease;
169
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
170
+ }
171
+
172
+ .toggle-switch input:checked + .toggle-slider {
173
+ background-color: hsl(var(--primary));
174
+ }
175
+
176
+ .toggle-switch input:checked + .toggle-slider::before {
177
+ transform: translateX(20px);
178
+ }
179
+
180
+ .toggle-switch input:focus + .toggle-slider {
181
+ box-shadow: 0 0 0 2px hsl(var(--primary) / 0.3);
182
+ }
183
+
184
+ .toggle-status {
185
+ font-size: 0.75rem;
186
+ font-weight: 500;
187
+ color: hsl(var(--muted-foreground));
188
+ padding: 0.25rem 0.5rem;
189
+ border-radius: 0.25rem;
190
+ background: hsl(var(--muted) / 0.5);
191
+ }
192
+
193
+ .toggle-status.active {
194
+ display: flex;
195
+ align-items: center;
196
+ gap: 0.25rem;
197
+ color: hsl(142 76% 36%);
198
+ background: hsl(142 76% 36% / 0.1);
199
+ }
200
+
201
+ /* Auto-sync indicator */
202
+ .auto-sync-indicator {
203
+ display: flex;
204
+ align-items: center;
205
+ gap: 0.25rem;
206
+ font-size: 0.6875rem;
207
+ color: hsl(var(--primary));
208
+ background: hsl(var(--primary) / 0.1);
209
+ padding: 0.25rem 0.5rem;
210
+ border-radius: 0.25rem;
211
+ white-space: nowrap;
212
+ }
213
+
214
+ .auto-sync-indicator svg {
215
+ animation: pulse 2s ease-in-out infinite;
216
+ }
217
+
218
+ @keyframes pulse {
219
+ 0%, 100% { opacity: 1; }
220
+ 50% { opacity: 0.5; }
221
+ }
222
+
223
+ /* Sync Button */
224
+ .btn-sync {
225
+ padding: 0.5rem;
226
+ border-radius: 0.375rem;
227
+ background: hsl(var(--primary) / 0.1);
228
+ border: 1px solid hsl(var(--primary) / 0.3);
229
+ color: hsl(var(--primary));
230
+ cursor: pointer;
231
+ transition: all 0.2s ease;
232
+ }
233
+
234
+ .btn-sync:hover {
235
+ background: hsl(var(--primary) / 0.2);
236
+ border-color: hsl(var(--primary));
237
+ }
238
+
239
+ .btn-sync.syncing {
240
+ opacity: 0.7;
241
+ cursor: not-allowed;
242
+ }
243
+
244
+ .btn-sync.syncing i {
245
+ animation: spin 1s linear infinite;
246
+ }
247
+
248
+ @keyframes spin {
249
+ from { transform: rotate(0deg); }
250
+ to { transform: rotate(360deg); }
251
+ }
252
+
253
+ .memory-columns {
254
+ display: grid;
255
+ grid-template-columns: 280px 1fr 320px;
256
+ gap: 1.5rem;
257
+ flex: 1;
258
+ min-height: 0;
259
+ max-height: calc(100vh - 230px);
260
+ }
261
+
262
+ .memory-column {
263
+ display: flex;
264
+ flex-direction: column;
265
+ background: hsl(var(--card));
266
+ border: 1px solid hsl(var(--border));
267
+ border-radius: 0.75rem;
268
+ overflow: hidden;
269
+ min-width: 0;
270
+ max-height: 100%;
271
+ }
272
+
273
+ /* Memory Section inside columns */
274
+ .memory-section {
275
+ display: flex;
276
+ flex-direction: column;
277
+ height: 100%;
278
+ overflow: hidden;
279
+ }
280
+
281
+ .section-header {
282
+ display: flex;
283
+ align-items: center;
284
+ justify-content: space-between;
285
+ padding: 0.875rem 1rem;
286
+ border-bottom: 1px solid hsl(var(--border));
287
+ background: hsl(var(--muted) / 0.3);
288
+ }
289
+
290
+ .section-header h3 {
291
+ display: flex;
292
+ align-items: center;
293
+ gap: 0.5rem;
294
+ font-size: 0.875rem;
295
+ font-weight: 600;
296
+ color: hsl(var(--foreground));
297
+ margin: 0;
298
+ }
299
+
300
+ .section-header-left {
301
+ display: flex;
302
+ align-items: center;
303
+ gap: 0.5rem;
304
+ }
305
+
306
+ .section-header-actions {
307
+ display: flex;
308
+ align-items: center;
309
+ gap: 0.25rem;
310
+ }
311
+
312
+ /* Memory Filters */
313
+ .memory-filters {
314
+ display: flex;
315
+ gap: 0.25rem;
316
+ padding: 0.75rem 1rem;
317
+ border-bottom: 1px solid hsl(var(--border));
318
+ background: hsl(var(--muted) / 0.15);
319
+ }
320
+
321
+ .filter-btn {
322
+ padding: 0.375rem 0.75rem;
323
+ font-size: 0.75rem;
324
+ font-weight: 500;
325
+ color: hsl(var(--muted-foreground));
326
+ background: transparent;
327
+ border: 1px solid hsl(var(--border));
328
+ border-radius: 0.375rem;
329
+ cursor: pointer;
330
+ transition: all 0.15s ease;
331
+ }
332
+
333
+ .filter-btn:hover {
334
+ background: hsl(var(--hover));
335
+ color: hsl(var(--foreground));
336
+ }
337
+
338
+ .filter-btn.active {
339
+ background: hsl(var(--primary));
340
+ color: hsl(var(--primary-foreground));
341
+ border-color: hsl(var(--primary));
342
+ }
343
+
344
+ /* Hotspot Lists Container */
345
+ .hotspot-lists {
346
+ flex: 1;
347
+ overflow-y: auto;
348
+ padding: 0.75rem;
349
+ display: flex;
350
+ flex-direction: column;
351
+ gap: 0.75rem;
352
+ min-height: 0;
353
+ }
354
+
355
+ .hotspot-list-container {
356
+ display: flex;
357
+ flex-direction: column;
358
+ }
359
+
360
+ .hotspot-list-container:last-child {
361
+ margin-bottom: 0;
362
+ }
363
+
364
+ .hotspot-list-title {
365
+ display: flex;
366
+ align-items: center;
367
+ gap: 0.5rem;
368
+ font-size: 0.75rem;
369
+ font-weight: 600;
370
+ color: hsl(var(--muted-foreground));
371
+ margin: 0 0 0.5rem 0;
372
+ padding-bottom: 0.375rem;
373
+ border-bottom: 1px solid hsl(var(--border));
374
+ flex-shrink: 0;
375
+ }
376
+
377
+ /* Hotspot List Items */
378
+ .hotspot-list {
379
+ display: flex;
380
+ flex-direction: column;
381
+ gap: 0.5rem;
382
+ }
383
+
384
+ .hotspot-item {
385
+ display: flex;
386
+ align-items: center;
387
+ gap: 0.75rem;
388
+ padding: 0.625rem 0.75rem;
389
+ background: hsl(var(--background));
390
+ border: 1px solid hsl(var(--border));
391
+ border-radius: 0.5rem;
392
+ cursor: pointer;
393
+ transition: all 0.15s ease;
394
+ }
395
+
396
+ .hotspot-item:hover {
397
+ background: hsl(var(--hover));
398
+ border-color: hsl(var(--primary) / 0.3);
399
+ }
400
+
401
+ .hotspot-rank {
402
+ display: flex;
403
+ align-items: center;
404
+ justify-content: center;
405
+ width: 1.5rem;
406
+ height: 1.5rem;
407
+ font-size: 0.6875rem;
408
+ font-weight: 700;
409
+ color: hsl(var(--muted-foreground));
410
+ background: hsl(var(--muted));
411
+ border-radius: 0.25rem;
412
+ flex-shrink: 0;
413
+ }
414
+
415
+ .hotspot-info {
416
+ flex: 1;
417
+ min-width: 0;
418
+ }
419
+
420
+ .hotspot-name {
421
+ font-size: 0.8125rem;
422
+ font-weight: 500;
423
+ color: hsl(var(--foreground));
424
+ overflow: hidden;
425
+ text-overflow: ellipsis;
426
+ white-space: nowrap;
427
+ }
428
+
429
+ .hotspot-path {
430
+ font-size: 0.6875rem;
431
+ color: hsl(var(--muted-foreground));
432
+ overflow: hidden;
433
+ text-overflow: ellipsis;
434
+ white-space: nowrap;
435
+ margin-top: 0.125rem;
436
+ }
437
+
438
+ .hotspot-heat {
439
+ display: flex;
440
+ align-items: center;
441
+ gap: 0.375rem;
442
+ flex-shrink: 0;
443
+ }
444
+
445
+ .hotspot-heat .heat-badge {
446
+ padding: 0.25rem 0.5rem;
447
+ font-size: 0.6875rem;
448
+ font-weight: 600;
449
+ border-radius: 0.25rem;
450
+ }
451
+
452
+ .hotspot-heat.high .heat-badge {
453
+ background: hsl(0 84% 92%);
454
+ color: hsl(0 84% 40%);
455
+ }
456
+
457
+ .hotspot-heat.medium .heat-badge {
458
+ background: hsl(38 92% 90%);
459
+ color: hsl(38 92% 30%);
460
+ }
461
+
462
+ .hotspot-heat.low .heat-badge {
463
+ background: hsl(142 71% 90%);
464
+ color: hsl(142 71% 30%);
465
+ }
466
+
467
+ .hotspot-empty {
468
+ display: flex;
469
+ flex-direction: column;
470
+ align-items: center;
471
+ justify-content: center;
472
+ padding: 1.5rem;
473
+ text-align: center;
474
+ color: hsl(var(--muted-foreground));
475
+ }
476
+
477
+ .hotspot-empty i {
478
+ margin-bottom: 0.5rem;
479
+ opacity: 0.5;
480
+ }
481
+
482
+ .hotspot-empty p {
483
+ margin: 0;
484
+ font-size: 0.8125rem;
485
+ }
486
+
487
+ /* Graph Legend */
488
+ .graph-legend {
489
+ display: flex;
490
+ align-items: center;
491
+ gap: 1rem;
492
+ padding: 0.5rem 1rem;
493
+ border-top: 1px solid hsl(var(--border));
494
+ background: hsl(var(--muted) / 0.15);
495
+ font-size: 0.6875rem;
496
+ color: hsl(var(--muted-foreground));
497
+ }
498
+
499
+ .legend-item {
500
+ display: flex;
501
+ align-items: center;
502
+ gap: 0.375rem;
503
+ }
504
+
505
+ .legend-dot {
506
+ width: 8px;
507
+ height: 8px;
508
+ border-radius: 50%;
509
+ }
510
+
511
+ .legend-dot.file { background: hsl(var(--primary)); }
512
+ .legend-dot.module { background: hsl(var(--muted-foreground)); border: 1px dashed hsl(var(--muted-foreground)); }
513
+ .legend-dot.component { background: hsl(142 76% 36%); }
514
+
515
+ /* Graph Container */
516
+ .graph-container,
517
+ .memory-graph-container {
518
+ flex: 1;
519
+ position: relative;
520
+ background: hsl(var(--background));
521
+ min-height: 300px;
522
+ max-height: 100%;
523
+ display: flex;
524
+ align-items: center;
525
+ justify-content: center;
526
+ overflow: hidden;
527
+ }
528
+
529
+ .memory-graph-container svg {
530
+ width: 100%;
531
+ height: 100%;
532
+ }
533
+
534
+ /* Memory Graph Legend */
535
+ .memory-graph-legend {
536
+ display: flex;
537
+ align-items: center;
538
+ gap: 1rem;
539
+ padding: 0.5rem 1rem;
540
+ border-top: 1px solid hsl(var(--border));
541
+ background: hsl(var(--muted) / 0.15);
542
+ font-size: 0.6875rem;
543
+ color: hsl(var(--muted-foreground));
544
+ }
545
+
546
+ /* Graph Empty State */
547
+ .graph-empty-state,
548
+ .graph-error {
549
+ display: flex;
550
+ flex-direction: column;
551
+ align-items: center;
552
+ justify-content: center;
553
+ padding: 2rem;
554
+ text-align: center;
555
+ color: hsl(var(--muted-foreground));
556
+ }
557
+
558
+ .graph-empty-state i,
559
+ .graph-error i {
560
+ margin-bottom: 0.75rem;
561
+ opacity: 0.5;
562
+ }
563
+
564
+ .graph-empty-state p,
565
+ .graph-error p {
566
+ margin: 0;
567
+ font-size: 0.875rem;
568
+ }
569
+
570
+ /* Section Count Badge */
571
+ .section-count {
572
+ font-size: 0.6875rem;
573
+ color: hsl(var(--muted-foreground));
574
+ margin-left: 0.5rem;
575
+ }
576
+
577
+ /* Graph Edge Styles */
578
+ .graph-edge {
579
+ stroke: hsl(var(--border));
580
+ stroke-opacity: 0.6;
581
+ }
582
+
583
+ /* Graph Node Styles */
584
+ .graph-node {
585
+ cursor: pointer;
586
+ transition: all 0.2s ease;
587
+ }
588
+
589
+ .graph-node.file {
590
+ fill: hsl(var(--primary));
591
+ }
592
+
593
+ .graph-node.module {
594
+ fill: hsl(var(--muted-foreground));
595
+ }
596
+
597
+ .graph-node.component {
598
+ fill: hsl(var(--success));
599
+ }
600
+
601
+ .graph-node-label {
602
+ font-size: 10px;
603
+ fill: hsl(var(--foreground));
604
+ pointer-events: none;
605
+ }
606
+
607
+ /* Context Search */
608
+ .context-search {
609
+ position: relative;
610
+ padding: 0.75rem 1rem;
611
+ border-bottom: 1px solid hsl(var(--border));
612
+ }
613
+
614
+ .context-search input,
615
+ .context-search-input {
616
+ width: 100%;
617
+ padding: 0.5rem 0.75rem 0.5rem 2rem;
618
+ font-size: 0.8125rem;
619
+ color: hsl(var(--foreground));
620
+ background: hsl(var(--background));
621
+ border: 1px solid hsl(var(--border));
622
+ border-radius: 0.375rem;
623
+ outline: none;
624
+ transition: border-color 0.15s ease;
625
+ }
626
+
627
+ .context-search input:focus,
628
+ .context-search-input:focus {
629
+ border-color: hsl(var(--primary));
630
+ }
631
+
632
+ .context-search input::placeholder,
633
+ .context-search-input::placeholder {
634
+ color: hsl(var(--muted-foreground));
635
+ }
636
+
637
+ .context-search .search-icon {
638
+ position: absolute;
639
+ left: 1.5rem;
640
+ top: 50%;
641
+ transform: translateY(-50%);
642
+ color: hsl(var(--muted-foreground));
643
+ pointer-events: none;
644
+ }
645
+
646
+ /* Context Empty State */
647
+ .context-empty {
648
+ display: flex;
649
+ flex-direction: column;
650
+ align-items: center;
651
+ justify-content: center;
652
+ padding: 2rem;
653
+ text-align: center;
654
+ color: hsl(var(--muted-foreground));
655
+ }
656
+
657
+ .context-empty i {
658
+ margin-bottom: 0.75rem;
659
+ opacity: 0.5;
660
+ }
661
+
662
+ .context-empty p {
663
+ margin: 0;
664
+ font-size: 0.875rem;
665
+ }
666
+
667
+ /* Context Timeline */
668
+ .context-timeline {
669
+ flex: 1;
670
+ overflow-y: auto;
671
+ padding: 0.75rem;
672
+ min-height: 0;
673
+ }
674
+
675
+ /* Context Timeline Card Style */
676
+ .timeline-item {
677
+ display: flex;
678
+ gap: 0.75rem;
679
+ padding: 0.75rem;
680
+ margin-bottom: 0.5rem;
681
+ background: hsl(var(--background));
682
+ border: 1px solid hsl(var(--border));
683
+ border-radius: 0.5rem;
684
+ transition: all 0.15s ease;
685
+ cursor: pointer;
686
+ min-height: 60px;
687
+ max-height: 120px;
688
+ overflow: hidden;
689
+ }
690
+
691
+ .timeline-item:hover {
692
+ border-color: hsl(var(--primary) / 0.3);
693
+ background: hsl(var(--hover));
694
+ }
695
+
696
+ .timeline-item.expanded {
697
+ max-height: none;
698
+ background: hsl(var(--muted) / 0.3);
699
+ border-color: hsl(var(--primary) / 0.5);
700
+ }
701
+
702
+ .timeline-item:last-child {
703
+ margin-bottom: 0;
704
+ }
705
+
706
+ .timeline-icon {
707
+ display: flex;
708
+ align-items: center;
709
+ justify-content: center;
710
+ width: 1.75rem;
711
+ height: 1.75rem;
712
+ border-radius: 0.375rem;
713
+ flex-shrink: 0;
714
+ }
715
+
716
+ .timeline-icon.read {
717
+ background: hsl(var(--primary-light));
718
+ color: hsl(var(--primary));
719
+ }
720
+
721
+ .timeline-icon.edit {
722
+ background: hsl(var(--warning-light));
723
+ color: hsl(var(--warning));
724
+ }
725
+
726
+ .timeline-icon.prompt,
727
+ .timeline-icon.unknown {
728
+ background: hsl(var(--muted));
729
+ color: hsl(var(--muted-foreground));
730
+ }
731
+
732
+ .timeline-content {
733
+ flex: 1;
734
+ min-width: 0;
735
+ }
736
+
737
+ .timeline-header {
738
+ display: flex;
739
+ align-items: center;
740
+ justify-content: space-between;
741
+ margin-bottom: 0.25rem;
742
+ }
743
+
744
+ .timeline-type {
745
+ font-size: 0.75rem;
746
+ font-weight: 600;
747
+ color: hsl(var(--foreground));
748
+ }
749
+
750
+ .timeline-time {
751
+ font-size: 0.6875rem;
752
+ color: hsl(var(--muted-foreground));
753
+ }
754
+
755
+ .timeline-prompt {
756
+ font-size: 0.8125rem;
757
+ color: hsl(var(--foreground));
758
+ line-height: 1.4;
759
+ overflow: hidden;
760
+ text-overflow: ellipsis;
761
+ display: -webkit-box;
762
+ -webkit-line-clamp: 2;
763
+ -webkit-box-orient: vertical;
764
+ }
765
+
766
+ .timeline-files {
767
+ display: flex;
768
+ flex-wrap: wrap;
769
+ gap: 0.375rem;
770
+ margin-top: 0.5rem;
771
+ }
772
+
773
+ .file-tag {
774
+ display: inline-flex;
775
+ align-items: center;
776
+ gap: 0.25rem;
777
+ padding: 0.125rem 0.5rem;
778
+ font-size: 0.6875rem;
779
+ background: hsl(var(--muted));
780
+ color: hsl(var(--foreground));
781
+ border-radius: 0.25rem;
782
+ cursor: pointer;
783
+ transition: all 0.15s ease;
784
+ }
785
+
786
+ .file-tag:hover {
787
+ background: hsl(var(--primary-light));
788
+ color: hsl(var(--primary));
789
+ }
790
+
791
+ .file-tag.more {
792
+ background: hsl(var(--muted));
793
+ color: hsl(var(--muted-foreground));
794
+ cursor: default;
795
+ }
796
+
797
+ /* Context List */
798
+ .context-list {
799
+ flex: 1;
800
+ overflow-y: auto;
801
+ padding: 0.75rem;
802
+ }
803
+
804
+ .context-item {
805
+ display: flex;
806
+ align-items: flex-start;
807
+ gap: 0.75rem;
808
+ padding: 0.75rem;
809
+ margin-bottom: 0.5rem;
810
+ background: hsl(var(--background));
811
+ border: 1px solid hsl(var(--border));
812
+ border-radius: 0.5rem;
813
+ cursor: pointer;
814
+ transition: all 0.15s ease;
815
+ }
816
+
817
+ .context-item:hover {
818
+ background: hsl(var(--hover));
819
+ border-color: hsl(var(--primary) / 0.3);
820
+ }
821
+
822
+ .context-item:last-child {
823
+ margin-bottom: 0;
824
+ }
825
+
826
+ .context-icon {
827
+ display: flex;
828
+ align-items: center;
829
+ justify-content: center;
830
+ width: 28px;
831
+ height: 28px;
832
+ border-radius: 0.375rem;
833
+ background: hsl(var(--muted));
834
+ color: hsl(var(--muted-foreground));
835
+ flex-shrink: 0;
836
+ }
837
+
838
+ .context-icon.read { background: hsl(var(--primary-light)); color: hsl(var(--primary)); }
839
+ .context-icon.edit { background: hsl(var(--warning-light)); color: hsl(var(--warning)); }
840
+ .context-icon.prompt { background: hsl(var(--success-light)); color: hsl(var(--success)); }
841
+
842
+ .context-info {
843
+ flex: 1;
844
+ min-width: 0;
845
+ }
846
+
847
+ .context-file {
848
+ font-size: 0.8125rem;
849
+ font-weight: 500;
850
+ color: hsl(var(--foreground));
851
+ overflow: hidden;
852
+ text-overflow: ellipsis;
853
+ white-space: nowrap;
854
+ }
855
+
856
+ .context-time {
857
+ font-size: 0.6875rem;
858
+ color: hsl(var(--muted-foreground));
859
+ margin-top: 0.125rem;
860
+ }
861
+
862
+ /* Context Stats Footer */
863
+ .context-stats {
864
+ display: flex;
865
+ justify-content: space-around;
866
+ padding: 0.75rem;
867
+ border-top: 1px solid hsl(var(--border));
868
+ background: hsl(var(--muted) / 0.15);
869
+ }
870
+
871
+ .context-stat {
872
+ display: flex;
873
+ flex-direction: column;
874
+ align-items: center;
875
+ gap: 0.25rem;
876
+ }
877
+
878
+ .context-stat-value {
879
+ font-size: 1.125rem;
880
+ font-weight: 700;
881
+ color: hsl(var(--primary));
882
+ }
883
+
884
+ .context-stat-label {
885
+ font-size: 0.625rem;
886
+ color: hsl(var(--muted-foreground));
887
+ text-transform: uppercase;
888
+ }
889
+
890
+ /* ========== Node Details Panel ========== */
891
+ .node-details {
892
+ padding: 1rem;
893
+ }
894
+
895
+ .node-detail-header {
896
+ display: flex;
897
+ align-items: flex-start;
898
+ gap: 0.75rem;
899
+ padding-bottom: 1rem;
900
+ border-bottom: 1px solid hsl(var(--border));
901
+ margin-bottom: 1rem;
902
+ }
903
+
904
+ .node-detail-icon {
905
+ display: flex;
906
+ align-items: center;
907
+ justify-content: center;
908
+ width: 2.5rem;
909
+ height: 2.5rem;
910
+ border-radius: 0.5rem;
911
+ flex-shrink: 0;
912
+ }
913
+
914
+ .node-detail-icon.file {
915
+ background: hsl(var(--primary) / 0.1);
916
+ color: hsl(var(--primary));
917
+ }
918
+
919
+ .node-detail-icon.module {
920
+ background: hsl(267, 84%, 95%);
921
+ color: hsl(267, 84%, 50%);
922
+ }
923
+
924
+ .node-detail-icon.component {
925
+ background: hsl(142, 71%, 92%);
926
+ color: hsl(142, 71%, 40%);
927
+ }
928
+
929
+ .node-detail-info {
930
+ flex: 1;
931
+ min-width: 0;
932
+ }
933
+
934
+ .node-detail-name {
935
+ font-size: 0.9375rem;
936
+ font-weight: 600;
937
+ color: hsl(var(--foreground));
938
+ margin-bottom: 0.25rem;
939
+ word-break: break-word;
940
+ }
941
+
942
+ .node-detail-path {
943
+ font-size: 0.75rem;
944
+ color: hsl(var(--muted-foreground));
945
+ font-family: monospace;
946
+ word-break: break-all;
947
+ }
948
+
949
+ .node-detail-stats {
950
+ display: grid;
951
+ grid-template-columns: repeat(3, 1fr);
952
+ gap: 0.75rem;
953
+ padding: 0.875rem;
954
+ background: hsl(var(--muted) / 0.3);
955
+ border-radius: 0.5rem;
956
+ margin-bottom: 1rem;
957
+ }
958
+
959
+ .detail-stat {
960
+ display: flex;
961
+ flex-direction: column;
962
+ align-items: center;
963
+ gap: 0.25rem;
964
+ text-align: center;
965
+ }
966
+
967
+ .detail-stat-label {
968
+ font-size: 0.6875rem;
969
+ color: hsl(var(--muted-foreground));
970
+ text-transform: uppercase;
971
+ letter-spacing: 0.025em;
972
+ }
973
+
974
+ .detail-stat-value {
975
+ font-size: 1rem;
976
+ font-weight: 600;
977
+ color: hsl(var(--foreground));
978
+ }
979
+
980
+ .node-associations {
981
+ margin-top: 1rem;
982
+ }
983
+
984
+ .associations-title {
985
+ display: flex;
986
+ align-items: center;
987
+ gap: 0.375rem;
988
+ font-size: 0.8125rem;
989
+ font-weight: 600;
990
+ color: hsl(var(--foreground));
991
+ margin: 0 0 0.75rem 0;
992
+ }
993
+
994
+ .associations-list {
995
+ display: flex;
996
+ flex-direction: column;
997
+ gap: 0.5rem;
998
+ }
999
+
1000
+ .association-item {
1001
+ display: flex;
1002
+ align-items: center;
1003
+ gap: 0.625rem;
1004
+ padding: 0.625rem;
1005
+ background: hsl(var(--background));
1006
+ border: 1px solid hsl(var(--border));
1007
+ border-radius: 0.375rem;
1008
+ cursor: pointer;
1009
+ transition: all 0.15s ease;
1010
+ }
1011
+
1012
+ .association-item:hover {
1013
+ background: hsl(var(--hover));
1014
+ border-color: hsl(var(--primary) / 0.3);
1015
+ }
1016
+
1017
+ .association-node {
1018
+ display: flex;
1019
+ align-items: center;
1020
+ gap: 0.5rem;
1021
+ flex: 1;
1022
+ min-width: 0;
1023
+ }
1024
+
1025
+ .association-node i {
1026
+ color: hsl(var(--muted-foreground));
1027
+ flex-shrink: 0;
1028
+ }
1029
+
1030
+ .association-node span {
1031
+ font-size: 0.8125rem;
1032
+ font-weight: 500;
1033
+ color: hsl(var(--foreground));
1034
+ white-space: nowrap;
1035
+ overflow: hidden;
1036
+ text-overflow: ellipsis;
1037
+ }
1038
+
1039
+ .association-icon {
1040
+ display: flex;
1041
+ align-items: center;
1042
+ justify-content: center;
1043
+ width: 1.75rem;
1044
+ height: 1.75rem;
1045
+ border-radius: 0.375rem;
1046
+ background: hsl(var(--muted));
1047
+ color: hsl(var(--muted-foreground));
1048
+ flex-shrink: 0;
1049
+ }
1050
+
1051
+ .association-icon.file {
1052
+ background: hsl(var(--primary) / 0.1);
1053
+ color: hsl(var(--primary));
1054
+ }
1055
+
1056
+ .association-icon.module {
1057
+ background: hsl(267, 84%, 95%);
1058
+ color: hsl(267, 84%, 50%);
1059
+ }
1060
+
1061
+ .association-info {
1062
+ flex: 1;
1063
+ min-width: 0;
1064
+ }
1065
+
1066
+ .association-name {
1067
+ font-size: 0.8125rem;
1068
+ font-weight: 500;
1069
+ color: hsl(var(--foreground));
1070
+ white-space: nowrap;
1071
+ overflow: hidden;
1072
+ text-overflow: ellipsis;
1073
+ }
1074
+
1075
+ .association-weight {
1076
+ font-size: 0.6875rem;
1077
+ color: hsl(var(--muted-foreground));
1078
+ padding: 0.125rem 0.375rem;
1079
+ background: hsl(var(--muted));
1080
+ border-radius: 0.25rem;
1081
+ flex-shrink: 0;
1082
+ }
1083
+
1084
+ .node-no-associations {
1085
+ padding: 1.5rem;
1086
+ text-align: center;
1087
+ color: hsl(var(--muted-foreground));
1088
+ font-size: 0.875rem;
1089
+ }
1090
+
1091
+ .associations-more {
1092
+ text-align: center;
1093
+ padding: 0.5rem;
1094
+ font-size: 0.75rem;
1095
+ color: hsl(var(--muted-foreground));
1096
+ border-top: 1px solid hsl(var(--border));
1097
+ margin-top: 0.5rem;
1098
+ }
1099
+
1100
+ @media (max-width: 1400px) {
1101
+ .memory-columns {
1102
+ grid-template-columns: 260px 1fr 280px;
1103
+ gap: 1rem;
1104
+ }
1105
+ }
1106
+
1107
+ @media (max-width: 1024px) {
1108
+ .memory-columns {
1109
+ grid-template-columns: 1fr;
1110
+ gap: 1rem;
1111
+ max-height: none;
1112
+ overflow-y: auto;
1113
+ }
1114
+
1115
+ .memory-column {
1116
+ max-height: 500px;
1117
+ }
1118
+ }
1119
+
1120
+ /* ========================================
1121
+ * Hotspot List (Left Column)
1122
+ * ======================================== */
1123
+ .memory-hotspots {
1124
+ display: flex;
1125
+ flex-direction: column;
1126
+ background: hsl(var(--card));
1127
+ border: 1px solid hsl(var(--border));
1128
+ border-radius: 0.75rem;
1129
+ overflow: hidden;
1130
+ max-height: 100%;
1131
+ }
1132
+
1133
+ .hotspots-header {
1134
+ display: flex;
1135
+ align-items: center;
1136
+ justify-content: space-between;
1137
+ padding: 0.875rem 1rem;
1138
+ border-bottom: 1px solid hsl(var(--border));
1139
+ background: hsl(var(--muted) / 0.3);
1140
+ }
1141
+
1142
+ .hotspots-header h3 {
1143
+ display: flex;
1144
+ align-items: center;
1145
+ gap: 0.5rem;
1146
+ font-size: 0.875rem;
1147
+ font-weight: 600;
1148
+ color: hsl(var(--foreground));
1149
+ margin: 0;
1150
+ }
1151
+
1152
+ .hotspots-header h3 i {
1153
+ color: hsl(var(--muted-foreground));
1154
+ }
1155
+
1156
+ .hotspot-list {
1157
+ flex: 1;
1158
+ overflow-y: auto;
1159
+ padding: 0.5rem;
1160
+ min-height: 0;
1161
+ }
1162
+
1163
+ .hotspot-item {
1164
+ display: flex;
1165
+ align-items: center;
1166
+ justify-content: space-between;
1167
+ padding: 0.75rem;
1168
+ margin-bottom: 0.375rem;
1169
+ background: hsl(var(--background));
1170
+ border: 1px solid hsl(var(--border));
1171
+ border-radius: 0.5rem;
1172
+ cursor: pointer;
1173
+ transition: all 0.15s ease;
1174
+ }
1175
+
1176
+ .hotspot-item:last-child {
1177
+ margin-bottom: 0;
1178
+ }
1179
+
1180
+ .hotspot-item:hover {
1181
+ background: hsl(var(--hover));
1182
+ border-color: hsl(var(--primary) / 0.3);
1183
+ box-shadow: 0 2px 8px hsl(var(--foreground) / 0.05);
1184
+ }
1185
+
1186
+ .hotspot-item-left {
1187
+ display: flex;
1188
+ flex-direction: column;
1189
+ gap: 0.25rem;
1190
+ flex: 1;
1191
+ min-width: 0;
1192
+ }
1193
+
1194
+ .hotspot-name {
1195
+ font-size: 0.8125rem;
1196
+ font-weight: 600;
1197
+ color: hsl(var(--foreground));
1198
+ overflow: hidden;
1199
+ text-overflow: ellipsis;
1200
+ white-space: nowrap;
1201
+ }
1202
+
1203
+ .hotspot-path {
1204
+ font-size: 0.6875rem;
1205
+ font-family: var(--font-mono);
1206
+ color: hsl(var(--muted-foreground));
1207
+ overflow: hidden;
1208
+ text-overflow: ellipsis;
1209
+ white-space: nowrap;
1210
+ }
1211
+
1212
+ .hotspot-meta {
1213
+ display: flex;
1214
+ align-items: center;
1215
+ gap: 0.5rem;
1216
+ font-size: 0.625rem;
1217
+ color: hsl(var(--muted-foreground));
1218
+ margin-top: 0.125rem;
1219
+ }
1220
+
1221
+ .hotspot-meta i {
1222
+ width: 12px;
1223
+ }
1224
+
1225
+ /* Heat Badge */
1226
+ .heat-badge {
1227
+ display: flex;
1228
+ align-items: center;
1229
+ justify-content: center;
1230
+ min-width: 3rem;
1231
+ padding: 0.375rem 0.5rem;
1232
+ border-radius: 0.375rem;
1233
+ font-size: 0.75rem;
1234
+ font-weight: 600;
1235
+ flex-shrink: 0;
1236
+ transition: transform 0.15s ease;
1237
+ }
1238
+
1239
+ .hotspot-item:hover .heat-badge {
1240
+ transform: scale(1.05);
1241
+ }
1242
+
1243
+ .heat-high {
1244
+ background: linear-gradient(135deg, hsl(0 84% 60% / 0.2), hsl(0 84% 60% / 0.12));
1245
+ color: hsl(0 84% 45%);
1246
+ border: 1px solid hsl(0 84% 60% / 0.3);
1247
+ }
1248
+
1249
+ .heat-medium {
1250
+ background: linear-gradient(135deg, hsl(38 92% 50% / 0.2), hsl(38 92% 50% / 0.12));
1251
+ color: hsl(38 92% 35%);
1252
+ border: 1px solid hsl(38 92% 50% / 0.3);
1253
+ }
1254
+
1255
+ .heat-low {
1256
+ background: linear-gradient(135deg, hsl(142 76% 36% / 0.2), hsl(142 76% 36% / 0.12));
1257
+ color: hsl(142 76% 30%);
1258
+ border: 1px solid hsl(142 76% 36% / 0.3);
1259
+ }
1260
+
1261
+ /* ========================================
1262
+ * Memory Graph (Center Column - D3 SVG)
1263
+ * ======================================== */
1264
+ .memory-graph-container {
1265
+ display: flex;
1266
+ flex-direction: column;
1267
+ background: hsl(var(--card));
1268
+ border: 1px solid hsl(var(--border));
1269
+ border-radius: 0.75rem;
1270
+ overflow: hidden;
1271
+ max-height: 100%;
1272
+ }
1273
+
1274
+ .graph-header {
1275
+ display: flex;
1276
+ align-items: center;
1277
+ justify-content: space-between;
1278
+ padding: 0.875rem 1rem;
1279
+ border-bottom: 1px solid hsl(var(--border));
1280
+ background: hsl(var(--muted) / 0.3);
1281
+ }
1282
+
1283
+ .graph-header h3 {
1284
+ display: flex;
1285
+ align-items: center;
1286
+ gap: 0.5rem;
1287
+ font-size: 0.875rem;
1288
+ font-weight: 600;
1289
+ color: hsl(var(--foreground));
1290
+ margin: 0;
1291
+ }
1292
+
1293
+ .graph-header h3 i {
1294
+ color: hsl(var(--muted-foreground));
1295
+ }
1296
+
1297
+ .graph-controls {
1298
+ display: flex;
1299
+ align-items: center;
1300
+ gap: 0.25rem;
1301
+ }
1302
+
1303
+ .memory-graph {
1304
+ flex: 1;
1305
+ position: relative;
1306
+ background: hsl(var(--background));
1307
+ min-height: 300px;
1308
+ max-height: 100%;
1309
+ overflow: hidden;
1310
+ }
1311
+
1312
+ /* D3 Graph Elements */
1313
+ .graph-node {
1314
+ cursor: pointer;
1315
+ transition: all 0.2s ease;
1316
+ }
1317
+
1318
+ .graph-node:hover {
1319
+ filter: brightness(1.1);
1320
+ }
1321
+
1322
+ .graph-node-file circle {
1323
+ fill: hsl(var(--primary));
1324
+ stroke: hsl(var(--primary));
1325
+ stroke-width: 2;
1326
+ }
1327
+
1328
+ .graph-node-file.hot circle {
1329
+ fill: hsl(0 84% 60%);
1330
+ stroke: hsl(0 84% 60%);
1331
+ animation: nodePulse 2s infinite;
1332
+ }
1333
+
1334
+ .graph-node-file.warm circle {
1335
+ fill: hsl(38 92% 50%);
1336
+ stroke: hsl(38 92% 50%);
1337
+ }
1338
+
1339
+ .graph-node-file.cool circle {
1340
+ fill: hsl(142 76% 36%);
1341
+ stroke: hsl(142 76% 36%);
1342
+ }
1343
+
1344
+ .graph-node-module circle {
1345
+ fill: hsl(var(--muted));
1346
+ stroke: hsl(var(--muted-foreground));
1347
+ stroke-width: 2;
1348
+ stroke-dasharray: 4 2;
1349
+ }
1350
+
1351
+ .graph-node text {
1352
+ font-family: var(--font-sans);
1353
+ font-size: 11px;
1354
+ fill: hsl(var(--foreground));
1355
+ pointer-events: none;
1356
+ user-select: none;
1357
+ }
1358
+
1359
+ .graph-link {
1360
+ stroke: hsl(var(--border));
1361
+ stroke-width: 1.5;
1362
+ fill: none;
1363
+ opacity: 0.6;
1364
+ transition: all 0.2s ease;
1365
+ }
1366
+
1367
+ .graph-link.strong {
1368
+ stroke: hsl(var(--primary));
1369
+ stroke-width: 2;
1370
+ opacity: 0.8;
1371
+ }
1372
+
1373
+ .graph-link:hover {
1374
+ stroke: hsl(var(--primary));
1375
+ opacity: 1;
1376
+ }
1377
+
1378
+ /* Graph Tooltip */
1379
+ .graph-tooltip {
1380
+ position: absolute;
1381
+ padding: 0.5rem 0.75rem;
1382
+ background: hsl(var(--card));
1383
+ border: 1px solid hsl(var(--border));
1384
+ border-radius: 0.375rem;
1385
+ font-size: 0.75rem;
1386
+ color: hsl(var(--foreground));
1387
+ pointer-events: none;
1388
+ opacity: 0;
1389
+ transition: opacity 0.2s ease;
1390
+ box-shadow: 0 4px 12px hsl(var(--foreground) / 0.15);
1391
+ z-index: 100;
1392
+ max-width: 200px;
1393
+ }
1394
+
1395
+ .graph-tooltip.visible {
1396
+ opacity: 1;
1397
+ }
1398
+
1399
+ .tooltip-title {
1400
+ font-weight: 600;
1401
+ margin-bottom: 0.25rem;
1402
+ }
1403
+
1404
+ .tooltip-meta {
1405
+ display: flex;
1406
+ flex-direction: column;
1407
+ gap: 0.125rem;
1408
+ font-size: 0.6875rem;
1409
+ color: hsl(var(--muted-foreground));
1410
+ }
1411
+
1412
+ /* Node Pulse Animation */
1413
+ @keyframes nodePulse {
1414
+ 0%, 100% {
1415
+ opacity: 1;
1416
+ transform: scale(1);
1417
+ }
1418
+ 50% {
1419
+ opacity: 0.7;
1420
+ transform: scale(1.1);
1421
+ }
1422
+ }
1423
+
1424
+ /* Graph Zoom/Pan Styles */
1425
+ .memory-graph-svg {
1426
+ cursor: grab;
1427
+ }
1428
+
1429
+ .memory-graph-svg:active {
1430
+ cursor: grabbing;
1431
+ }
1432
+
1433
+ .graph-content {
1434
+ transition: transform 0.1s ease-out;
1435
+ }
1436
+
1437
+ /* Graph Node Groups */
1438
+ .graph-node-group {
1439
+ cursor: pointer;
1440
+ }
1441
+
1442
+ .graph-node-group:hover circle {
1443
+ filter: brightness(1.2);
1444
+ }
1445
+
1446
+ .graph-node-group.file circle {
1447
+ fill: hsl(var(--primary));
1448
+ stroke: hsl(var(--primary));
1449
+ stroke-width: 2;
1450
+ }
1451
+
1452
+ .graph-node-group.module circle {
1453
+ fill: hsl(var(--muted));
1454
+ stroke: hsl(var(--muted-foreground));
1455
+ stroke-width: 2;
1456
+ stroke-dasharray: 4 2;
1457
+ }
1458
+
1459
+ .graph-node-group.component circle {
1460
+ fill: hsl(142 76% 36%);
1461
+ stroke: hsl(142 76% 36%);
1462
+ stroke-width: 2;
1463
+ }
1464
+
1465
+ /* Individual graph-node circles (for legacy support) */
1466
+ .graph-node.file {
1467
+ fill: hsl(var(--primary));
1468
+ stroke: hsl(var(--primary));
1469
+ stroke-width: 2;
1470
+ }
1471
+
1472
+ .graph-node.module {
1473
+ fill: hsl(var(--muted));
1474
+ stroke: hsl(var(--muted-foreground));
1475
+ stroke-width: 2;
1476
+ stroke-dasharray: 4 2;
1477
+ }
1478
+
1479
+ .graph-node.component {
1480
+ fill: hsl(142 76% 36%);
1481
+ stroke: hsl(142 76% 36%);
1482
+ stroke-width: 2;
1483
+ }
1484
+
1485
+ /* Selected Node */
1486
+ .graph-node.selected {
1487
+ stroke: hsl(var(--foreground));
1488
+ stroke-width: 3;
1489
+ filter: drop-shadow(0 0 8px hsl(var(--primary)));
1490
+ }
1491
+
1492
+ /* Graph Labels */
1493
+ .graph-label {
1494
+ font-family: var(--font-sans);
1495
+ font-size: 11px;
1496
+ fill: hsl(var(--foreground));
1497
+ pointer-events: none;
1498
+ user-select: none;
1499
+ text-shadow:
1500
+ 1px 1px 2px hsl(var(--background)),
1501
+ -1px -1px 2px hsl(var(--background)),
1502
+ 1px -1px 2px hsl(var(--background)),
1503
+ -1px 1px 2px hsl(var(--background));
1504
+ }
1505
+
1506
+ /* Graph Controls */
1507
+ .graph-controls {
1508
+ display: flex;
1509
+ align-items: center;
1510
+ gap: 0.25rem;
1511
+ }
1512
+
1513
+ .graph-controls .btn-icon {
1514
+ padding: 0.375rem;
1515
+ border-radius: 0.375rem;
1516
+ background: transparent;
1517
+ border: 1px solid transparent;
1518
+ color: hsl(var(--muted-foreground));
1519
+ cursor: pointer;
1520
+ transition: all 0.15s ease;
1521
+ }
1522
+
1523
+ .graph-controls .btn-icon:hover {
1524
+ background: hsl(var(--muted));
1525
+ border-color: hsl(var(--border));
1526
+ color: hsl(var(--foreground));
1527
+ }
1528
+
1529
+ /* ========================================
1530
+ * Context Timeline (Right Column)
1531
+ * ======================================== */
1532
+ .memory-context {
1533
+ display: flex;
1534
+ flex-direction: column;
1535
+ background: hsl(var(--card));
1536
+ border: 1px solid hsl(var(--border));
1537
+ border-radius: 0.75rem;
1538
+ overflow: hidden;
1539
+ max-height: 100%;
1540
+ }
1541
+
1542
+ .context-header {
1543
+ display: flex;
1544
+ align-items: center;
1545
+ justify-content: space-between;
1546
+ padding: 0.875rem 1rem;
1547
+ border-bottom: 1px solid hsl(var(--border));
1548
+ background: hsl(var(--muted) / 0.3);
1549
+ }
1550
+
1551
+ .context-header h3 {
1552
+ display: flex;
1553
+ align-items: center;
1554
+ gap: 0.5rem;
1555
+ font-size: 0.875rem;
1556
+ font-weight: 600;
1557
+ color: hsl(var(--foreground));
1558
+ margin: 0;
1559
+ }
1560
+
1561
+ .context-header h3 i {
1562
+ color: hsl(var(--muted-foreground));
1563
+ }
1564
+
1565
+ .context-timeline {
1566
+ flex: 1;
1567
+ overflow-y: auto;
1568
+ padding: 0.75rem;
1569
+ min-height: 0;
1570
+ }
1571
+
1572
+ /* Timeline item styles moved to Context Timeline Card Style section (line ~445) */
1573
+
1574
+ .timeline-timestamp {
1575
+ font-size: 0.6875rem;
1576
+ color: hsl(var(--muted-foreground));
1577
+ margin-bottom: 0.25rem;
1578
+ }
1579
+
1580
+ .timeline-action {
1581
+ font-size: 0.8125rem;
1582
+ color: hsl(var(--foreground));
1583
+ margin-bottom: 0.375rem;
1584
+ line-height: 1.4;
1585
+ }
1586
+
1587
+ .timeline-detail {
1588
+ font-size: 0.75rem;
1589
+ font-family: var(--font-mono);
1590
+ color: hsl(var(--muted-foreground));
1591
+ background: hsl(var(--muted) / 0.3);
1592
+ padding: 0.375rem 0.5rem;
1593
+ border-radius: 0.25rem;
1594
+ overflow: hidden;
1595
+ text-overflow: ellipsis;
1596
+ white-space: nowrap;
1597
+ }
1598
+
1599
+ @keyframes timelinePulse {
1600
+ 0%, 100% {
1601
+ opacity: 1;
1602
+ }
1603
+ 50% {
1604
+ opacity: 0.5;
1605
+ }
1606
+ }
1607
+
1608
+ /* ========================================
1609
+ * Prompt History View
1610
+ * ======================================== */
1611
+ .prompt-history-view {
1612
+ display: flex;
1613
+ flex-direction: column;
1614
+ gap: 1rem;
1615
+ padding: 1rem;
1616
+ }
1617
+
1618
+ .prompt-list {
1619
+ display: flex;
1620
+ flex-direction: column;
1621
+ gap: 0.75rem;
1622
+ }
1623
+
1624
+ .prompt-item {
1625
+ background: hsl(var(--card));
1626
+ border: 1px solid hsl(var(--border));
1627
+ border-radius: 0.5rem;
1628
+ overflow: hidden;
1629
+ transition: all 0.2s ease;
1630
+ }
1631
+
1632
+ .prompt-item:hover {
1633
+ border-color: hsl(var(--primary) / 0.3);
1634
+ box-shadow: 0 2px 8px hsl(var(--foreground) / 0.05);
1635
+ }
1636
+
1637
+ .prompt-item-header {
1638
+ display: flex;
1639
+ align-items: center;
1640
+ justify-content: space-between;
1641
+ padding: 0.75rem 1rem;
1642
+ background: hsl(var(--muted) / 0.2);
1643
+ cursor: pointer;
1644
+ }
1645
+
1646
+ .prompt-item-info {
1647
+ display: flex;
1648
+ flex-direction: column;
1649
+ gap: 0.25rem;
1650
+ flex: 1;
1651
+ }
1652
+
1653
+ .prompt-item-time {
1654
+ font-size: 0.75rem;
1655
+ font-weight: 600;
1656
+ color: hsl(var(--foreground));
1657
+ }
1658
+
1659
+ .prompt-item-meta {
1660
+ display: flex;
1661
+ align-items: center;
1662
+ gap: 0.75rem;
1663
+ font-size: 0.6875rem;
1664
+ color: hsl(var(--muted-foreground));
1665
+ }
1666
+
1667
+ .prompt-preview {
1668
+ padding: 0.75rem 1rem;
1669
+ font-size: 0.8125rem;
1670
+ color: hsl(var(--foreground));
1671
+ line-height: 1.5;
1672
+ max-height: 4.5em;
1673
+ overflow: hidden;
1674
+ text-overflow: ellipsis;
1675
+ display: -webkit-box;
1676
+ -webkit-line-clamp: 3;
1677
+ -webkit-box-orient: vertical;
1678
+ }
1679
+
1680
+ .prompt-full {
1681
+ display: none;
1682
+ padding: 0.75rem 1rem;
1683
+ font-size: 0.8125rem;
1684
+ font-family: var(--font-mono);
1685
+ color: hsl(var(--foreground));
1686
+ background: hsl(var(--muted) / 0.3);
1687
+ border-top: 1px solid hsl(var(--border));
1688
+ max-height: 300px;
1689
+ overflow-y: auto;
1690
+ white-space: pre-wrap;
1691
+ word-wrap: break-word;
1692
+ line-height: 1.6;
1693
+ }
1694
+
1695
+ .prompt-item-expanded .prompt-preview {
1696
+ display: none;
1697
+ }
1698
+
1699
+ .prompt-item-expanded .prompt-full {
1700
+ display: block;
1701
+ }
1702
+
1703
+ /* ========================================
1704
+ * Insights Panel
1705
+ * ======================================== */
1706
+ .insights-panel {
1707
+ background: hsl(var(--card));
1708
+ border: 1px solid hsl(var(--border));
1709
+ border-radius: 0.75rem;
1710
+ padding: 1rem;
1711
+ }
1712
+
1713
+ .insights-header {
1714
+ display: flex;
1715
+ align-items: center;
1716
+ gap: 0.5rem;
1717
+ margin-bottom: 1rem;
1718
+ padding-bottom: 0.75rem;
1719
+ border-bottom: 1px solid hsl(var(--border));
1720
+ }
1721
+
1722
+ .insights-header h3 {
1723
+ display: flex;
1724
+ align-items: center;
1725
+ gap: 0.5rem;
1726
+ font-size: 0.9375rem;
1727
+ font-weight: 600;
1728
+ color: hsl(var(--foreground));
1729
+ margin: 0;
1730
+ }
1731
+
1732
+ .insights-header h3 i {
1733
+ color: hsl(var(--primary));
1734
+ }
1735
+
1736
+ .insights-grid {
1737
+ display: grid;
1738
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
1739
+ gap: 0.75rem;
1740
+ }
1741
+
1742
+ .pattern-card {
1743
+ padding: 0.875rem;
1744
+ background: hsl(var(--background));
1745
+ border: 1px solid hsl(var(--border));
1746
+ border-left: 3px solid hsl(var(--primary));
1747
+ border-radius: 0.5rem;
1748
+ transition: all 0.15s ease;
1749
+ }
1750
+
1751
+ .pattern-card:hover {
1752
+ background: hsl(var(--hover));
1753
+ border-left-color: hsl(var(--primary));
1754
+ box-shadow: 0 2px 8px hsl(var(--foreground) / 0.05);
1755
+ }
1756
+
1757
+ .pattern-type {
1758
+ font-size: 0.6875rem;
1759
+ font-weight: 600;
1760
+ color: hsl(var(--primary));
1761
+ text-transform: uppercase;
1762
+ letter-spacing: 0.04em;
1763
+ margin-bottom: 0.5rem;
1764
+ }
1765
+
1766
+ .pattern-suggestion {
1767
+ font-size: 0.8125rem;
1768
+ color: hsl(var(--foreground));
1769
+ margin-bottom: 0.625rem;
1770
+ line-height: 1.5;
1771
+ }
1772
+
1773
+ .suggestion-example {
1774
+ font-size: 0.75rem;
1775
+ font-family: var(--font-mono);
1776
+ color: hsl(var(--muted-foreground));
1777
+ background: hsl(var(--muted) / 0.5);
1778
+ padding: 0.5rem;
1779
+ border-radius: 0.25rem;
1780
+ overflow-x: auto;
1781
+ white-space: pre;
1782
+ }
1783
+
1784
+ /* ========================================
1785
+ * Stats Summary
1786
+ * ======================================== */
1787
+ .stats-grid {
1788
+ display: grid;
1789
+ grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
1790
+ gap: 0.75rem;
1791
+ margin-bottom: 1.5rem;
1792
+ }
1793
+
1794
+ .stat-card {
1795
+ display: flex;
1796
+ flex-direction: column;
1797
+ align-items: center;
1798
+ justify-content: center;
1799
+ padding: 1rem;
1800
+ background: hsl(var(--card));
1801
+ border: 1px solid hsl(var(--border));
1802
+ border-radius: 0.5rem;
1803
+ text-align: center;
1804
+ transition: all 0.2s ease;
1805
+ }
1806
+
1807
+ .stat-card:hover {
1808
+ border-color: hsl(var(--primary) / 0.3);
1809
+ box-shadow: 0 2px 8px hsl(var(--foreground) / 0.05);
1810
+ }
1811
+
1812
+ .stat-value {
1813
+ font-size: 1.875rem;
1814
+ font-weight: 700;
1815
+ color: hsl(var(--primary));
1816
+ margin-bottom: 0.25rem;
1817
+ line-height: 1;
1818
+ }
1819
+
1820
+ .stat-label {
1821
+ font-size: 0.75rem;
1822
+ font-weight: 500;
1823
+ color: hsl(var(--muted-foreground));
1824
+ text-transform: uppercase;
1825
+ letter-spacing: 0.05em;
1826
+ }
1827
+
1828
+ .stat-trend {
1829
+ display: flex;
1830
+ align-items: center;
1831
+ gap: 0.25rem;
1832
+ font-size: 0.6875rem;
1833
+ color: hsl(var(--muted-foreground));
1834
+ margin-top: 0.375rem;
1835
+ }
1836
+
1837
+ .stat-trend.up {
1838
+ color: hsl(142 76% 36%);
1839
+ }
1840
+
1841
+ .stat-trend.down {
1842
+ color: hsl(0 84% 60%);
1843
+ }
1844
+
1845
+ .stat-trend i {
1846
+ font-size: 0.75rem;
1847
+ }
1848
+
1849
+ /* ========================================
1850
+ * Animations
1851
+ * ======================================== */
1852
+
1853
+ /* Fade in for new items */
1854
+ @keyframes fadeIn {
1855
+ from {
1856
+ opacity: 0;
1857
+ transform: translateY(8px);
1858
+ }
1859
+ to {
1860
+ opacity: 1;
1861
+ transform: translateY(0);
1862
+ }
1863
+ }
1864
+
1865
+ .timeline-item,
1866
+ .hotspot-item,
1867
+ .pattern-card {
1868
+ animation: fadeIn 0.3s ease;
1869
+ }
1870
+
1871
+ /* ========================================
1872
+ * Empty States
1873
+ * ======================================== */
1874
+ .memory-empty-state {
1875
+ display: flex;
1876
+ flex-direction: column;
1877
+ align-items: center;
1878
+ justify-content: center;
1879
+ padding: 3rem 2rem;
1880
+ text-align: center;
1881
+ color: hsl(var(--muted-foreground));
1882
+ }
1883
+
1884
+ .memory-empty-state i {
1885
+ font-size: 3rem;
1886
+ opacity: 0.3;
1887
+ margin-bottom: 1rem;
1888
+ }
1889
+
1890
+ .memory-empty-state h3 {
1891
+ font-size: 1rem;
1892
+ font-weight: 600;
1893
+ color: hsl(var(--foreground));
1894
+ margin-bottom: 0.5rem;
1895
+ }
1896
+
1897
+ .memory-empty-state p {
1898
+ font-size: 0.875rem;
1899
+ max-width: 300px;
1900
+ }
1901
+
1902
+ /* ========================================
1903
+ * Insights History Cards
1904
+ * ======================================== */
1905
+ .memory-insights-section {
1906
+ margin-top: 1.5rem;
1907
+ }
1908
+
1909
+ .insights-section {
1910
+ background: hsl(var(--card));
1911
+ border: 1px solid hsl(var(--border));
1912
+ border-radius: 0.75rem;
1913
+ overflow: hidden;
1914
+ }
1915
+
1916
+ .insights-section-header {
1917
+ display: flex;
1918
+ align-items: center;
1919
+ justify-content: space-between;
1920
+ padding: 0.875rem 1rem;
1921
+ border-bottom: 1px solid hsl(var(--border));
1922
+ background: hsl(var(--muted) / 0.3);
1923
+ }
1924
+
1925
+ .insights-section-header h3 {
1926
+ display: flex;
1927
+ align-items: center;
1928
+ gap: 0.5rem;
1929
+ font-size: 0.875rem;
1930
+ font-weight: 600;
1931
+ color: hsl(var(--foreground));
1932
+ margin: 0;
1933
+ }
1934
+
1935
+ .insights-section-header h3 i {
1936
+ color: hsl(var(--primary));
1937
+ }
1938
+
1939
+ .insights-section-header .section-count {
1940
+ font-size: 0.6875rem;
1941
+ font-weight: 500;
1942
+ color: hsl(var(--muted-foreground));
1943
+ background: hsl(var(--muted));
1944
+ padding: 0.125rem 0.5rem;
1945
+ border-radius: 0.75rem;
1946
+ margin-left: 0.5rem;
1947
+ }
1948
+
1949
+ .insights-section-actions {
1950
+ display: flex;
1951
+ align-items: center;
1952
+ gap: 0.5rem;
1953
+ }
1954
+
1955
+ /* Insights Cards Container */
1956
+ .insights-cards-container {
1957
+ padding: 1rem;
1958
+ }
1959
+
1960
+ .insights-cards {
1961
+ display: grid;
1962
+ grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
1963
+ gap: 0.75rem;
1964
+ }
1965
+
1966
+ /* Individual Insight Card */
1967
+ .insight-card {
1968
+ display: flex;
1969
+ flex-direction: column;
1970
+ padding: 0.875rem;
1971
+ background: hsl(var(--background));
1972
+ border: 1px solid hsl(var(--border));
1973
+ border-radius: 0.5rem;
1974
+ cursor: pointer;
1975
+ transition: all 0.2s ease;
1976
+ border-left: 3px solid hsl(var(--border));
1977
+ }
1978
+
1979
+ .insight-card:hover {
1980
+ background: hsl(var(--hover));
1981
+ border-color: hsl(var(--primary) / 0.3);
1982
+ box-shadow: 0 2px 8px hsl(var(--foreground) / 0.08);
1983
+ transform: translateY(-1px);
1984
+ }
1985
+
1986
+ /* Severity-based colors */
1987
+ .insight-card.high {
1988
+ border-left-color: hsl(0 84% 60%);
1989
+ }
1990
+
1991
+ .insight-card.high:hover {
1992
+ border-left-color: hsl(0 84% 50%);
1993
+ }
1994
+
1995
+ .insight-card.medium {
1996
+ border-left-color: hsl(38 92% 50%);
1997
+ }
1998
+
1999
+ .insight-card.medium:hover {
2000
+ border-left-color: hsl(38 92% 45%);
2001
+ }
2002
+
2003
+ .insight-card.low {
2004
+ border-left-color: hsl(142 76% 36%);
2005
+ }
2006
+
2007
+ .insight-card.low:hover {
2008
+ border-left-color: hsl(142 76% 30%);
2009
+ }
2010
+
2011
+ /* Insight Card Header */
2012
+ .insight-card-header {
2013
+ display: flex;
2014
+ align-items: center;
2015
+ justify-content: space-between;
2016
+ margin-bottom: 0.625rem;
2017
+ }
2018
+
2019
+ .insight-card-tool {
2020
+ display: flex;
2021
+ align-items: center;
2022
+ gap: 0.375rem;
2023
+ font-size: 0.75rem;
2024
+ font-weight: 600;
2025
+ color: hsl(var(--foreground));
2026
+ }
2027
+
2028
+ .insight-card-tool i {
2029
+ color: hsl(var(--primary));
2030
+ font-size: 0.875rem;
2031
+ }
2032
+
2033
+ .insight-card-time {
2034
+ font-size: 0.6875rem;
2035
+ color: hsl(var(--muted-foreground));
2036
+ }
2037
+
2038
+ /* Insight Card Stats */
2039
+ .insight-card-stats {
2040
+ display: flex;
2041
+ align-items: center;
2042
+ gap: 0.75rem;
2043
+ margin-bottom: 0.625rem;
2044
+ padding-bottom: 0.5rem;
2045
+ border-bottom: 1px solid hsl(var(--border));
2046
+ }
2047
+
2048
+ .insight-stat {
2049
+ display: flex;
2050
+ align-items: center;
2051
+ gap: 0.25rem;
2052
+ font-size: 0.6875rem;
2053
+ color: hsl(var(--muted-foreground));
2054
+ }
2055
+
2056
+ .insight-stat i {
2057
+ font-size: 0.75rem;
2058
+ }
2059
+
2060
+ .insight-stat span {
2061
+ font-weight: 500;
2062
+ }
2063
+
2064
+ /* Insight Card Preview */
2065
+ .insight-card-preview {
2066
+ font-size: 0.8125rem;
2067
+ color: hsl(var(--foreground));
2068
+ line-height: 1.5;
2069
+ overflow: hidden;
2070
+ display: -webkit-box;
2071
+ -webkit-line-clamp: 3;
2072
+ -webkit-box-orient: vertical;
2073
+ }
2074
+
2075
+ .insight-card-preview .preview-item {
2076
+ display: flex;
2077
+ align-items: flex-start;
2078
+ gap: 0.375rem;
2079
+ margin-bottom: 0.25rem;
2080
+ }
2081
+
2082
+ .insight-card-preview .preview-item i {
2083
+ color: hsl(var(--primary));
2084
+ font-size: 0.6875rem;
2085
+ margin-top: 0.25rem;
2086
+ flex-shrink: 0;
2087
+ }
2088
+
2089
+ .insight-card-preview .preview-text {
2090
+ overflow: hidden;
2091
+ text-overflow: ellipsis;
2092
+ white-space: nowrap;
2093
+ }
2094
+
2095
+ /* Insight Detail Panel */
2096
+ .insight-detail-panel {
2097
+ position: fixed;
2098
+ top: 0;
2099
+ right: 0;
2100
+ width: 50vw;
2101
+ min-width: 600px;
2102
+ max-width: 100vw;
2103
+ height: 100vh;
2104
+ background: hsl(var(--card));
2105
+ border-left: 1px solid hsl(var(--border));
2106
+ box-shadow: -4px 0 24px hsl(var(--foreground) / 0.1);
2107
+ z-index: 1000;
2108
+ display: flex;
2109
+ flex-direction: column;
2110
+ animation: slideInRight 0.3s ease;
2111
+ }
2112
+
2113
+ @keyframes slideInRight {
2114
+ from {
2115
+ transform: translateX(100%);
2116
+ opacity: 0;
2117
+ }
2118
+ to {
2119
+ transform: translateX(0);
2120
+ opacity: 1;
2121
+ }
2122
+ }
2123
+
2124
+ .insight-detail {
2125
+ display: flex;
2126
+ flex-direction: column;
2127
+ height: 100%;
2128
+ }
2129
+
2130
+ .insight-detail-header {
2131
+ display: flex;
2132
+ align-items: center;
2133
+ justify-content: space-between;
2134
+ padding: 1rem 1.25rem;
2135
+ border-bottom: 1px solid hsl(var(--border));
2136
+ }
2137
+
2138
+ .insight-detail-header h3 {
2139
+ display: flex;
2140
+ align-items: center;
2141
+ gap: 0.5rem;
2142
+ font-size: 1rem;
2143
+ font-weight: 600;
2144
+ color: hsl(var(--foreground));
2145
+ margin: 0;
2146
+ }
2147
+
2148
+ .insight-detail-header h3 i {
2149
+ color: hsl(var(--primary));
2150
+ }
2151
+
2152
+ .insight-detail-close {
2153
+ padding: 0.5rem;
2154
+ background: transparent;
2155
+ border: none;
2156
+ color: hsl(var(--muted-foreground));
2157
+ cursor: pointer;
2158
+ border-radius: 0.375rem;
2159
+ transition: all 0.15s ease;
2160
+ }
2161
+
2162
+ .insight-detail-close:hover {
2163
+ background: hsl(var(--muted));
2164
+ color: hsl(var(--foreground));
2165
+ }
2166
+
2167
+ .insight-detail-meta {
2168
+ display: flex;
2169
+ flex-wrap: wrap;
2170
+ gap: 0.75rem;
2171
+ padding: 1rem 1.25rem;
2172
+ border-bottom: 1px solid hsl(var(--border));
2173
+ background: hsl(var(--background));
2174
+ }
2175
+
2176
+ .meta-item {
2177
+ display: flex;
2178
+ align-items: center;
2179
+ gap: 0.375rem;
2180
+ font-size: 0.75rem;
2181
+ color: hsl(var(--muted-foreground));
2182
+ }
2183
+
2184
+ .meta-item i {
2185
+ color: hsl(var(--primary));
2186
+ font-size: 0.875rem;
2187
+ }
2188
+
2189
+ .meta-item span {
2190
+ font-weight: 500;
2191
+ color: hsl(var(--foreground));
2192
+ }
2193
+
2194
+ .insight-detail-content {
2195
+ flex: 1;
2196
+ overflow-y: auto;
2197
+ padding: 1.25rem;
2198
+ }
2199
+
2200
+ .insight-detail-section {
2201
+ margin-bottom: 1.5rem;
2202
+ }
2203
+
2204
+ .insight-detail-section:last-child {
2205
+ margin-bottom: 0;
2206
+ }
2207
+
2208
+ .insight-detail-section h4 {
2209
+ display: flex;
2210
+ align-items: center;
2211
+ gap: 0.5rem;
2212
+ font-size: 0.875rem;
2213
+ font-weight: 600;
2214
+ color: hsl(var(--foreground));
2215
+ margin: 0 0 0.75rem 0;
2216
+ padding-bottom: 0.5rem;
2217
+ border-bottom: 1px solid hsl(var(--border));
2218
+ }
2219
+
2220
+ .insight-detail-section h4 i {
2221
+ color: hsl(var(--primary));
2222
+ }
2223
+
2224
+ /* Pattern and Suggestion Items */
2225
+ .pattern-item,
2226
+ .suggestion-item {
2227
+ display: flex;
2228
+ align-items: flex-start;
2229
+ gap: 0.75rem;
2230
+ padding: 0.75rem;
2231
+ background: hsl(var(--background));
2232
+ border: 1px solid hsl(var(--border));
2233
+ border-radius: 0.5rem;
2234
+ margin-bottom: 0.5rem;
2235
+ transition: all 0.15s ease;
2236
+ }
2237
+
2238
+ .pattern-item:hover,
2239
+ .suggestion-item:hover {
2240
+ background: hsl(var(--hover));
2241
+ border-color: hsl(var(--primary) / 0.3);
2242
+ }
2243
+
2244
+ .pattern-item:last-child,
2245
+ .suggestion-item:last-child {
2246
+ margin-bottom: 0;
2247
+ }
2248
+
2249
+ .item-icon {
2250
+ display: flex;
2251
+ align-items: center;
2252
+ justify-content: center;
2253
+ width: 2rem;
2254
+ height: 2rem;
2255
+ border-radius: 0.375rem;
2256
+ flex-shrink: 0;
2257
+ }
2258
+
2259
+ .pattern-item .item-icon {
2260
+ background: hsl(var(--primary) / 0.1);
2261
+ color: hsl(var(--primary));
2262
+ }
2263
+
2264
+ .suggestion-item .item-icon {
2265
+ background: hsl(142 76% 36% / 0.1);
2266
+ color: hsl(142 76% 36%);
2267
+ }
2268
+
2269
+ .item-content {
2270
+ flex: 1;
2271
+ min-width: 0;
2272
+ }
2273
+
2274
+ .item-title {
2275
+ font-size: 0.8125rem;
2276
+ font-weight: 500;
2277
+ color: hsl(var(--foreground));
2278
+ margin-bottom: 0.25rem;
2279
+ }
2280
+
2281
+ .item-description {
2282
+ font-size: 0.75rem;
2283
+ color: hsl(var(--muted-foreground));
2284
+ line-height: 1.5;
2285
+ }
2286
+
2287
+ .item-example {
2288
+ margin-top: 0.5rem;
2289
+ padding: 0.5rem;
2290
+ background: hsl(var(--muted) / 0.5);
2291
+ border-radius: 0.25rem;
2292
+ font-family: var(--font-mono);
2293
+ font-size: 0.6875rem;
2294
+ color: hsl(var(--foreground));
2295
+ overflow-x: auto;
2296
+ white-space: pre-wrap;
2297
+ word-wrap: break-word;
2298
+ }
2299
+
2300
+ /* Detail Actions */
2301
+ .insight-detail-actions {
2302
+ display: flex;
2303
+ align-items: center;
2304
+ justify-content: flex-end;
2305
+ gap: 0.5rem;
2306
+ padding: 1rem 1.25rem;
2307
+ border-top: 1px solid hsl(var(--border));
2308
+ background: hsl(var(--muted) / 0.2);
2309
+ }
2310
+
2311
+ .insight-detail-actions button {
2312
+ display: flex;
2313
+ align-items: center;
2314
+ gap: 0.375rem;
2315
+ padding: 0.5rem 1rem;
2316
+ font-size: 0.8125rem;
2317
+ font-weight: 500;
2318
+ border-radius: 0.375rem;
2319
+ cursor: pointer;
2320
+ transition: all 0.15s ease;
2321
+ }
2322
+
2323
+ .btn-delete-insight {
2324
+ background: hsl(0 84% 60% / 0.1);
2325
+ border: 1px solid hsl(0 84% 60% / 0.3);
2326
+ color: hsl(0 84% 60%);
2327
+ }
2328
+
2329
+ .btn-delete-insight:hover {
2330
+ background: hsl(0 84% 60% / 0.2);
2331
+ border-color: hsl(0 84% 60%);
2332
+ }
2333
+
2334
+ .btn-close-insight {
2335
+ background: hsl(var(--muted));
2336
+ border: 1px solid hsl(var(--border));
2337
+ color: hsl(var(--foreground));
2338
+ }
2339
+
2340
+ .btn-close-insight:hover {
2341
+ background: hsl(var(--hover));
2342
+ border-color: hsl(var(--primary) / 0.3);
2343
+ }
2344
+
2345
+ /* Empty Insights State */
2346
+ .insights-empty {
2347
+ display: flex;
2348
+ flex-direction: column;
2349
+ align-items: center;
2350
+ justify-content: center;
2351
+ padding: 2rem;
2352
+ text-align: center;
2353
+ color: hsl(var(--muted-foreground));
2354
+ }
2355
+
2356
+ .insights-empty i {
2357
+ font-size: 2.5rem;
2358
+ opacity: 0.3;
2359
+ margin-bottom: 0.75rem;
2360
+ }
2361
+
2362
+ .insights-empty p {
2363
+ font-size: 0.875rem;
2364
+ margin: 0;
2365
+ }
2366
+
2367
+ /* ========================================
2368
+ * Responsive Adjustments
2369
+ * ======================================== */
2370
+ @media (max-width: 768px) {
2371
+ .memory-view {
2372
+ grid-template-columns: 1fr;
2373
+ }
2374
+
2375
+ .stats-grid {
2376
+ grid-template-columns: repeat(2, 1fr);
2377
+ }
2378
+
2379
+ .insights-grid {
2380
+ grid-template-columns: 1fr;
2381
+ }
2382
+
2383
+ .insights-cards {
2384
+ grid-template-columns: 1fr;
2385
+ }
2386
+
2387
+ .insight-detail-panel {
2388
+ width: 100%;
2389
+ }
2390
+ }