@pcircle/memesh 2.10.1 → 2.11.0

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 (771) hide show
  1. package/.mcp.json +2 -5
  2. package/README.md +48 -248
  3. package/dist/cli/view.d.ts +3 -0
  4. package/dist/cli/view.d.ts.map +1 -0
  5. package/dist/cli/view.js +484 -0
  6. package/dist/cli/view.js.map +1 -0
  7. package/dist/db.d.ts +5 -0
  8. package/dist/db.d.ts.map +1 -0
  9. package/dist/db.js +80 -0
  10. package/dist/db.js.map +1 -0
  11. package/dist/index.d.ts +3 -6
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.js +2 -33
  14. package/dist/index.js.map +1 -1
  15. package/dist/knowledge-graph.d.ts +48 -0
  16. package/dist/knowledge-graph.d.ts.map +1 -0
  17. package/dist/knowledge-graph.js +186 -0
  18. package/dist/knowledge-graph.js.map +1 -0
  19. package/dist/mcp/server.d.ts +1 -25
  20. package/dist/mcp/server.d.ts.map +1 -1
  21. package/dist/mcp/server.js +33 -319
  22. package/dist/mcp/server.js.map +1 -1
  23. package/dist/mcp/tools.d.ts +93 -0
  24. package/dist/mcp/tools.d.ts.map +1 -0
  25. package/dist/mcp/tools.js +183 -0
  26. package/dist/mcp/tools.js.map +1 -0
  27. package/hooks/hooks.json +1 -41
  28. package/package.json +8 -90
  29. package/plugin.json +5 -8
  30. package/scripts/hooks/post-commit.js +132 -299
  31. package/scripts/hooks/session-start.js +84 -629
  32. package/README.de.md +0 -212
  33. package/README.es.md +0 -212
  34. package/README.fr.md +0 -212
  35. package/README.id.md +0 -212
  36. package/README.ja.md +0 -212
  37. package/README.ko.md +0 -212
  38. package/README.th.md +0 -212
  39. package/README.vi.md +0 -212
  40. package/README.zh-CN.md +0 -212
  41. package/README.zh-TW.md +0 -286
  42. package/dist/cli/config.d.ts +0 -36
  43. package/dist/cli/config.d.ts.map +0 -1
  44. package/dist/cli/config.js +0 -398
  45. package/dist/cli/config.js.map +0 -1
  46. package/dist/cli/credentials.d.ts +0 -12
  47. package/dist/cli/credentials.d.ts.map +0 -1
  48. package/dist/cli/credentials.js +0 -44
  49. package/dist/cli/credentials.js.map +0 -1
  50. package/dist/cli/daemon.d.ts +0 -3
  51. package/dist/cli/daemon.d.ts.map +0 -1
  52. package/dist/cli/daemon.js +0 -413
  53. package/dist/cli/daemon.js.map +0 -1
  54. package/dist/cli/dashboard.d.ts +0 -2
  55. package/dist/cli/dashboard.d.ts.map +0 -1
  56. package/dist/cli/dashboard.js +0 -300
  57. package/dist/cli/dashboard.js.map +0 -1
  58. package/dist/cli/index.d.ts +0 -3
  59. package/dist/cli/index.d.ts.map +0 -1
  60. package/dist/cli/index.js +0 -188
  61. package/dist/cli/index.js.map +0 -1
  62. package/dist/cli/login.d.ts +0 -4
  63. package/dist/cli/login.d.ts.map +0 -1
  64. package/dist/cli/login.js +0 -230
  65. package/dist/cli/login.js.map +0 -1
  66. package/dist/cli/logout.d.ts +0 -3
  67. package/dist/cli/logout.d.ts.map +0 -1
  68. package/dist/cli/logout.js +0 -23
  69. package/dist/cli/logout.js.map +0 -1
  70. package/dist/cli/setup-wizard.d.ts +0 -18
  71. package/dist/cli/setup-wizard.d.ts.map +0 -1
  72. package/dist/cli/setup-wizard.js +0 -267
  73. package/dist/cli/setup-wizard.js.map +0 -1
  74. package/dist/cli/stats.d.ts +0 -34
  75. package/dist/cli/stats.d.ts.map +0 -1
  76. package/dist/cli/stats.js +0 -479
  77. package/dist/cli/stats.js.map +0 -1
  78. package/dist/cli/tutorial.d.ts +0 -27
  79. package/dist/cli/tutorial.d.ts.map +0 -1
  80. package/dist/cli/tutorial.js +0 -430
  81. package/dist/cli/tutorial.js.map +0 -1
  82. package/dist/cloud/MeMeshCloudClient.d.ts +0 -88
  83. package/dist/cloud/MeMeshCloudClient.d.ts.map +0 -1
  84. package/dist/cloud/MeMeshCloudClient.js +0 -177
  85. package/dist/cloud/MeMeshCloudClient.js.map +0 -1
  86. package/dist/cloud/index.d.ts +0 -3
  87. package/dist/cloud/index.d.ts.map +0 -1
  88. package/dist/cloud/index.js +0 -2
  89. package/dist/cloud/index.js.map +0 -1
  90. package/dist/config/index.d.ts +0 -61
  91. package/dist/config/index.d.ts.map +0 -1
  92. package/dist/config/index.js +0 -105
  93. package/dist/config/index.js.map +0 -1
  94. package/dist/config/models.d.ts +0 -47
  95. package/dist/config/models.d.ts.map +0 -1
  96. package/dist/config/models.js +0 -57
  97. package/dist/config/models.js.map +0 -1
  98. package/dist/config/simple-config.d.ts +0 -35
  99. package/dist/config/simple-config.d.ts.map +0 -1
  100. package/dist/config/simple-config.js +0 -246
  101. package/dist/config/simple-config.js.map +0 -1
  102. package/dist/core/AgentRegistry.d.ts +0 -31
  103. package/dist/core/AgentRegistry.d.ts.map +0 -1
  104. package/dist/core/AgentRegistry.js +0 -281
  105. package/dist/core/AgentRegistry.js.map +0 -1
  106. package/dist/core/CheckpointDetector.d.ts +0 -25
  107. package/dist/core/CheckpointDetector.d.ts.map +0 -1
  108. package/dist/core/CheckpointDetector.js +0 -67
  109. package/dist/core/CheckpointDetector.js.map +0 -1
  110. package/dist/core/GitCommandParser.d.ts +0 -11
  111. package/dist/core/GitCommandParser.d.ts.map +0 -1
  112. package/dist/core/GitCommandParser.js +0 -43
  113. package/dist/core/GitCommandParser.js.map +0 -1
  114. package/dist/core/HealthCheck.d.ts +0 -39
  115. package/dist/core/HealthCheck.d.ts.map +0 -1
  116. package/dist/core/HealthCheck.js +0 -219
  117. package/dist/core/HealthCheck.js.map +0 -1
  118. package/dist/core/HookIntegration.d.ts +0 -47
  119. package/dist/core/HookIntegration.d.ts.map +0 -1
  120. package/dist/core/HookIntegration.js +0 -275
  121. package/dist/core/HookIntegration.js.map +0 -1
  122. package/dist/core/MCPToolInterface.d.ts +0 -120
  123. package/dist/core/MCPToolInterface.d.ts.map +0 -1
  124. package/dist/core/MCPToolInterface.js +0 -376
  125. package/dist/core/MCPToolInterface.js.map +0 -1
  126. package/dist/core/MistakePatternManager.d.ts +0 -31
  127. package/dist/core/MistakePatternManager.d.ts.map +0 -1
  128. package/dist/core/MistakePatternManager.js +0 -137
  129. package/dist/core/MistakePatternManager.js.map +0 -1
  130. package/dist/core/ResourceMonitor.d.ts +0 -32
  131. package/dist/core/ResourceMonitor.d.ts.map +0 -1
  132. package/dist/core/ResourceMonitor.js +0 -243
  133. package/dist/core/ResourceMonitor.js.map +0 -1
  134. package/dist/core/ServiceLocator.d.ts +0 -10
  135. package/dist/core/ServiceLocator.d.ts.map +0 -1
  136. package/dist/core/ServiceLocator.js +0 -30
  137. package/dist/core/ServiceLocator.js.map +0 -1
  138. package/dist/core/TestOutputParser.d.ts +0 -20
  139. package/dist/core/TestOutputParser.d.ts.map +0 -1
  140. package/dist/core/TestOutputParser.js +0 -144
  141. package/dist/core/TestOutputParser.js.map +0 -1
  142. package/dist/core/types.d.ts +0 -66
  143. package/dist/core/types.d.ts.map +0 -1
  144. package/dist/core/types.js +0 -11
  145. package/dist/core/types.js.map +0 -1
  146. package/dist/db/ConnectionPool.d.ts +0 -50
  147. package/dist/db/ConnectionPool.d.ts.map +0 -1
  148. package/dist/db/ConnectionPool.js +0 -569
  149. package/dist/db/ConnectionPool.js.map +0 -1
  150. package/dist/db/IDatabaseAdapter.d.ts +0 -25
  151. package/dist/db/IDatabaseAdapter.d.ts.map +0 -1
  152. package/dist/db/IDatabaseAdapter.js +0 -2
  153. package/dist/db/IDatabaseAdapter.js.map +0 -1
  154. package/dist/db/QueryCache.d.ts +0 -46
  155. package/dist/db/QueryCache.d.ts.map +0 -1
  156. package/dist/db/QueryCache.js +0 -232
  157. package/dist/db/QueryCache.js.map +0 -1
  158. package/dist/db/adapters/BetterSqlite3Adapter.d.ts +0 -15
  159. package/dist/db/adapters/BetterSqlite3Adapter.d.ts.map +0 -1
  160. package/dist/db/adapters/BetterSqlite3Adapter.js +0 -127
  161. package/dist/db/adapters/BetterSqlite3Adapter.js.map +0 -1
  162. package/dist/embeddings/EmbeddingService.d.ts +0 -23
  163. package/dist/embeddings/EmbeddingService.d.ts.map +0 -1
  164. package/dist/embeddings/EmbeddingService.js +0 -131
  165. package/dist/embeddings/EmbeddingService.js.map +0 -1
  166. package/dist/embeddings/InMemoryVectorAdapter.d.ts +0 -15
  167. package/dist/embeddings/InMemoryVectorAdapter.d.ts.map +0 -1
  168. package/dist/embeddings/InMemoryVectorAdapter.js +0 -58
  169. package/dist/embeddings/InMemoryVectorAdapter.js.map +0 -1
  170. package/dist/embeddings/ModelManager.d.ts +0 -18
  171. package/dist/embeddings/ModelManager.d.ts.map +0 -1
  172. package/dist/embeddings/ModelManager.js +0 -84
  173. package/dist/embeddings/ModelManager.js.map +0 -1
  174. package/dist/embeddings/SqliteVecAdapter.d.ts +0 -15
  175. package/dist/embeddings/SqliteVecAdapter.d.ts.map +0 -1
  176. package/dist/embeddings/SqliteVecAdapter.js +0 -107
  177. package/dist/embeddings/SqliteVecAdapter.js.map +0 -1
  178. package/dist/embeddings/VectorExtension.d.ts +0 -17
  179. package/dist/embeddings/VectorExtension.d.ts.map +0 -1
  180. package/dist/embeddings/VectorExtension.js +0 -107
  181. package/dist/embeddings/VectorExtension.js.map +0 -1
  182. package/dist/embeddings/VectorSearchAdapter.d.ts +0 -17
  183. package/dist/embeddings/VectorSearchAdapter.d.ts.map +0 -1
  184. package/dist/embeddings/VectorSearchAdapter.js +0 -2
  185. package/dist/embeddings/VectorSearchAdapter.js.map +0 -1
  186. package/dist/embeddings/index.d.ts +0 -9
  187. package/dist/embeddings/index.d.ts.map +0 -1
  188. package/dist/embeddings/index.js +0 -7
  189. package/dist/embeddings/index.js.map +0 -1
  190. package/dist/errors/ErrorClassifier.d.ts +0 -60
  191. package/dist/errors/ErrorClassifier.d.ts.map +0 -1
  192. package/dist/errors/ErrorClassifier.js +0 -415
  193. package/dist/errors/ErrorClassifier.js.map +0 -1
  194. package/dist/errors/index.d.ts +0 -63
  195. package/dist/errors/index.d.ts.map +0 -1
  196. package/dist/errors/index.js +0 -127
  197. package/dist/errors/index.js.map +0 -1
  198. package/dist/i18n/index.d.ts +0 -9
  199. package/dist/i18n/index.d.ts.map +0 -1
  200. package/dist/i18n/index.js +0 -78
  201. package/dist/i18n/index.js.map +0 -1
  202. package/dist/i18n/locales/en.d.ts +0 -3
  203. package/dist/i18n/locales/en.d.ts.map +0 -1
  204. package/dist/i18n/locales/en.js +0 -32
  205. package/dist/i18n/locales/en.js.map +0 -1
  206. package/dist/i18n/locales/index.d.ts +0 -5
  207. package/dist/i18n/locales/index.d.ts.map +0 -1
  208. package/dist/i18n/locales/index.js +0 -5
  209. package/dist/i18n/locales/index.js.map +0 -1
  210. package/dist/i18n/locales/ja.d.ts +0 -3
  211. package/dist/i18n/locales/ja.d.ts.map +0 -1
  212. package/dist/i18n/locales/ja.js +0 -30
  213. package/dist/i18n/locales/ja.js.map +0 -1
  214. package/dist/i18n/locales/zh-CN.d.ts +0 -3
  215. package/dist/i18n/locales/zh-CN.d.ts.map +0 -1
  216. package/dist/i18n/locales/zh-CN.js +0 -30
  217. package/dist/i18n/locales/zh-CN.js.map +0 -1
  218. package/dist/i18n/locales/zh-TW.d.ts +0 -3
  219. package/dist/i18n/locales/zh-TW.d.ts.map +0 -1
  220. package/dist/i18n/locales/zh-TW.js +0 -30
  221. package/dist/i18n/locales/zh-TW.js.map +0 -1
  222. package/dist/i18n/types.d.ts +0 -11
  223. package/dist/i18n/types.d.ts.map +0 -1
  224. package/dist/i18n/types.js +0 -3
  225. package/dist/i18n/types.js.map +0 -1
  226. package/dist/integrations/session-memory/SessionContextInjector.d.ts +0 -30
  227. package/dist/integrations/session-memory/SessionContextInjector.d.ts.map +0 -1
  228. package/dist/integrations/session-memory/SessionContextInjector.js +0 -192
  229. package/dist/integrations/session-memory/SessionContextInjector.js.map +0 -1
  230. package/dist/integrations/session-memory/SessionMemoryIngester.d.ts +0 -15
  231. package/dist/integrations/session-memory/SessionMemoryIngester.d.ts.map +0 -1
  232. package/dist/integrations/session-memory/SessionMemoryIngester.js +0 -229
  233. package/dist/integrations/session-memory/SessionMemoryIngester.js.map +0 -1
  234. package/dist/integrations/session-memory/SessionMemoryParser.d.ts +0 -16
  235. package/dist/integrations/session-memory/SessionMemoryParser.d.ts.map +0 -1
  236. package/dist/integrations/session-memory/SessionMemoryParser.js +0 -271
  237. package/dist/integrations/session-memory/SessionMemoryParser.js.map +0 -1
  238. package/dist/integrations/session-memory/SessionMemoryPipeline.d.ts +0 -20
  239. package/dist/integrations/session-memory/SessionMemoryPipeline.d.ts.map +0 -1
  240. package/dist/integrations/session-memory/SessionMemoryPipeline.js +0 -60
  241. package/dist/integrations/session-memory/SessionMemoryPipeline.js.map +0 -1
  242. package/dist/integrations/session-memory/SessionMemoryWatcher.d.ts +0 -27
  243. package/dist/integrations/session-memory/SessionMemoryWatcher.d.ts.map +0 -1
  244. package/dist/integrations/session-memory/SessionMemoryWatcher.js +0 -145
  245. package/dist/integrations/session-memory/SessionMemoryWatcher.js.map +0 -1
  246. package/dist/integrations/session-memory/index.d.ts +0 -9
  247. package/dist/integrations/session-memory/index.d.ts.map +0 -1
  248. package/dist/integrations/session-memory/index.js +0 -6
  249. package/dist/integrations/session-memory/index.js.map +0 -1
  250. package/dist/integrations/session-memory/types.d.ts +0 -74
  251. package/dist/integrations/session-memory/types.d.ts.map +0 -1
  252. package/dist/integrations/session-memory/types.js +0 -22
  253. package/dist/integrations/session-memory/types.js.map +0 -1
  254. package/dist/knowledge-graph/ContentHasher.d.ts +0 -4
  255. package/dist/knowledge-graph/ContentHasher.d.ts.map +0 -1
  256. package/dist/knowledge-graph/ContentHasher.js +0 -8
  257. package/dist/knowledge-graph/ContentHasher.js.map +0 -1
  258. package/dist/knowledge-graph/KGSearchEngine.d.ts +0 -37
  259. package/dist/knowledge-graph/KGSearchEngine.d.ts.map +0 -1
  260. package/dist/knowledge-graph/KGSearchEngine.js +0 -257
  261. package/dist/knowledge-graph/KGSearchEngine.js.map +0 -1
  262. package/dist/knowledge-graph/index.d.ts +0 -64
  263. package/dist/knowledge-graph/index.d.ts.map +0 -1
  264. package/dist/knowledge-graph/index.js +0 -681
  265. package/dist/knowledge-graph/index.js.map +0 -1
  266. package/dist/knowledge-graph/types.d.ts +0 -38
  267. package/dist/knowledge-graph/types.d.ts.map +0 -1
  268. package/dist/knowledge-graph/types.js +0 -2
  269. package/dist/knowledge-graph/types.js.map +0 -1
  270. package/dist/management/UninstallManager.d.ts +0 -23
  271. package/dist/management/UninstallManager.d.ts.map +0 -1
  272. package/dist/management/UninstallManager.js +0 -186
  273. package/dist/management/UninstallManager.js.map +0 -1
  274. package/dist/management/index.d.ts +0 -3
  275. package/dist/management/index.d.ts.map +0 -1
  276. package/dist/management/index.js +0 -2
  277. package/dist/management/index.js.map +0 -1
  278. package/dist/mcp/BuddyCommands.d.ts +0 -24
  279. package/dist/mcp/BuddyCommands.d.ts.map +0 -1
  280. package/dist/mcp/BuddyCommands.js +0 -423
  281. package/dist/mcp/BuddyCommands.js.map +0 -1
  282. package/dist/mcp/ClaudeMdReloader.d.ts +0 -37
  283. package/dist/mcp/ClaudeMdReloader.d.ts.map +0 -1
  284. package/dist/mcp/ClaudeMdReloader.js +0 -92
  285. package/dist/mcp/ClaudeMdReloader.js.map +0 -1
  286. package/dist/mcp/HumanInLoopUI.d.ts +0 -23
  287. package/dist/mcp/HumanInLoopUI.d.ts.map +0 -1
  288. package/dist/mcp/HumanInLoopUI.js +0 -92
  289. package/dist/mcp/HumanInLoopUI.js.map +0 -1
  290. package/dist/mcp/ProgressReporter.d.ts +0 -14
  291. package/dist/mcp/ProgressReporter.d.ts.map +0 -1
  292. package/dist/mcp/ProgressReporter.js +0 -22
  293. package/dist/mcp/ProgressReporter.js.map +0 -1
  294. package/dist/mcp/SamplingClient.d.ts +0 -32
  295. package/dist/mcp/SamplingClient.d.ts.map +0 -1
  296. package/dist/mcp/SamplingClient.js +0 -63
  297. package/dist/mcp/SamplingClient.js.map +0 -1
  298. package/dist/mcp/ServerInitializer.d.ts +0 -40
  299. package/dist/mcp/ServerInitializer.d.ts.map +0 -1
  300. package/dist/mcp/ServerInitializer.js +0 -147
  301. package/dist/mcp/ServerInitializer.js.map +0 -1
  302. package/dist/mcp/SessionBootstrapper.d.ts +0 -13
  303. package/dist/mcp/SessionBootstrapper.d.ts.map +0 -1
  304. package/dist/mcp/SessionBootstrapper.js +0 -82
  305. package/dist/mcp/SessionBootstrapper.js.map +0 -1
  306. package/dist/mcp/StdinBufferManager.d.ts +0 -11
  307. package/dist/mcp/StdinBufferManager.d.ts.map +0 -1
  308. package/dist/mcp/StdinBufferManager.js +0 -62
  309. package/dist/mcp/StdinBufferManager.js.map +0 -1
  310. package/dist/mcp/ToolDefinitions.d.ts +0 -44
  311. package/dist/mcp/ToolDefinitions.d.ts.map +0 -1
  312. package/dist/mcp/ToolDefinitions.js +0 -445
  313. package/dist/mcp/ToolDefinitions.js.map +0 -1
  314. package/dist/mcp/ToolRouter.d.ts +0 -27
  315. package/dist/mcp/ToolRouter.d.ts.map +0 -1
  316. package/dist/mcp/ToolRouter.js +0 -179
  317. package/dist/mcp/ToolRouter.js.map +0 -1
  318. package/dist/mcp/daemon/DaemonBootstrap.d.ts +0 -33
  319. package/dist/mcp/daemon/DaemonBootstrap.d.ts.map +0 -1
  320. package/dist/mcp/daemon/DaemonBootstrap.js +0 -155
  321. package/dist/mcp/daemon/DaemonBootstrap.js.map +0 -1
  322. package/dist/mcp/daemon/DaemonLockManager.d.ts +0 -47
  323. package/dist/mcp/daemon/DaemonLockManager.d.ts.map +0 -1
  324. package/dist/mcp/daemon/DaemonLockManager.js +0 -417
  325. package/dist/mcp/daemon/DaemonLockManager.js.map +0 -1
  326. package/dist/mcp/daemon/DaemonProtocol.d.ts +0 -127
  327. package/dist/mcp/daemon/DaemonProtocol.d.ts.map +0 -1
  328. package/dist/mcp/daemon/DaemonProtocol.js +0 -452
  329. package/dist/mcp/daemon/DaemonProtocol.js.map +0 -1
  330. package/dist/mcp/daemon/DaemonSocketServer.d.ts +0 -71
  331. package/dist/mcp/daemon/DaemonSocketServer.d.ts.map +0 -1
  332. package/dist/mcp/daemon/DaemonSocketServer.js +0 -384
  333. package/dist/mcp/daemon/DaemonSocketServer.js.map +0 -1
  334. package/dist/mcp/daemon/GracefulShutdownCoordinator.d.ts +0 -67
  335. package/dist/mcp/daemon/GracefulShutdownCoordinator.d.ts.map +0 -1
  336. package/dist/mcp/daemon/GracefulShutdownCoordinator.js +0 -206
  337. package/dist/mcp/daemon/GracefulShutdownCoordinator.js.map +0 -1
  338. package/dist/mcp/daemon/IpcTransport.d.ts +0 -42
  339. package/dist/mcp/daemon/IpcTransport.d.ts.map +0 -1
  340. package/dist/mcp/daemon/IpcTransport.js +0 -231
  341. package/dist/mcp/daemon/IpcTransport.js.map +0 -1
  342. package/dist/mcp/daemon/StdioProxyClient.d.ts +0 -84
  343. package/dist/mcp/daemon/StdioProxyClient.d.ts.map +0 -1
  344. package/dist/mcp/daemon/StdioProxyClient.js +0 -574
  345. package/dist/mcp/daemon/StdioProxyClient.js.map +0 -1
  346. package/dist/mcp/daemon/VersionManager.d.ts +0 -35
  347. package/dist/mcp/daemon/VersionManager.d.ts.map +0 -1
  348. package/dist/mcp/daemon/VersionManager.js +0 -169
  349. package/dist/mcp/daemon/VersionManager.js.map +0 -1
  350. package/dist/mcp/daemon/index.d.ts +0 -9
  351. package/dist/mcp/daemon/index.d.ts.map +0 -1
  352. package/dist/mcp/daemon/index.js +0 -9
  353. package/dist/mcp/daemon/index.js.map +0 -1
  354. package/dist/mcp/handlers/BuddyHandlers.d.ts +0 -18
  355. package/dist/mcp/handlers/BuddyHandlers.d.ts.map +0 -1
  356. package/dist/mcp/handlers/BuddyHandlers.js +0 -179
  357. package/dist/mcp/handlers/BuddyHandlers.js.map +0 -1
  358. package/dist/mcp/handlers/BuddyRecordMistake.d.ts +0 -17
  359. package/dist/mcp/handlers/BuddyRecordMistake.d.ts.map +0 -1
  360. package/dist/mcp/handlers/BuddyRecordMistake.js +0 -147
  361. package/dist/mcp/handlers/BuddyRecordMistake.js.map +0 -1
  362. package/dist/mcp/handlers/HookToolHandler.d.ts +0 -10
  363. package/dist/mcp/handlers/HookToolHandler.d.ts.map +0 -1
  364. package/dist/mcp/handlers/HookToolHandler.js +0 -92
  365. package/dist/mcp/handlers/HookToolHandler.js.map +0 -1
  366. package/dist/mcp/handlers/MemoryToolHandler.d.ts +0 -21
  367. package/dist/mcp/handlers/MemoryToolHandler.d.ts.map +0 -1
  368. package/dist/mcp/handlers/MemoryToolHandler.js +0 -433
  369. package/dist/mcp/handlers/MemoryToolHandler.js.map +0 -1
  370. package/dist/mcp/handlers/ResourceHandlers.d.ts +0 -3
  371. package/dist/mcp/handlers/ResourceHandlers.d.ts.map +0 -1
  372. package/dist/mcp/handlers/ResourceHandlers.js +0 -133
  373. package/dist/mcp/handlers/ResourceHandlers.js.map +0 -1
  374. package/dist/mcp/handlers/SystemToolHandler.d.ts +0 -14
  375. package/dist/mcp/handlers/SystemToolHandler.d.ts.map +0 -1
  376. package/dist/mcp/handlers/SystemToolHandler.js +0 -224
  377. package/dist/mcp/handlers/SystemToolHandler.js.map +0 -1
  378. package/dist/mcp/handlers/ToolHandlers.d.ts +0 -26
  379. package/dist/mcp/handlers/ToolHandlers.d.ts.map +0 -1
  380. package/dist/mcp/handlers/ToolHandlers.js +0 -41
  381. package/dist/mcp/handlers/ToolHandlers.js.map +0 -1
  382. package/dist/mcp/handlers/index.d.ts +0 -7
  383. package/dist/mcp/handlers/index.d.ts.map +0 -1
  384. package/dist/mcp/handlers/index.js +0 -7
  385. package/dist/mcp/handlers/index.js.map +0 -1
  386. package/dist/mcp/index.d.ts +0 -5
  387. package/dist/mcp/index.d.ts.map +0 -1
  388. package/dist/mcp/index.js +0 -3
  389. package/dist/mcp/index.js.map +0 -1
  390. package/dist/mcp/resources/ResourceRegistry.d.ts +0 -23
  391. package/dist/mcp/resources/ResourceRegistry.d.ts.map +0 -1
  392. package/dist/mcp/resources/ResourceRegistry.js +0 -26
  393. package/dist/mcp/resources/ResourceRegistry.js.map +0 -1
  394. package/dist/mcp/resources/URITemplateHandler.d.ts +0 -8
  395. package/dist/mcp/resources/URITemplateHandler.d.ts.map +0 -1
  396. package/dist/mcp/resources/URITemplateHandler.js +0 -29
  397. package/dist/mcp/resources/URITemplateHandler.js.map +0 -1
  398. package/dist/mcp/resources/best-practices.md +0 -53
  399. package/dist/mcp/resources/buddy-do-skill.md +0 -84
  400. package/dist/mcp/resources/ccb-complete-guide.md +0 -247
  401. package/dist/mcp/resources/examples.md +0 -47
  402. package/dist/mcp/resources/handlers/AgentStatusHandler.d.ts +0 -7
  403. package/dist/mcp/resources/handlers/AgentStatusHandler.d.ts.map +0 -1
  404. package/dist/mcp/resources/handlers/AgentStatusHandler.js +0 -41
  405. package/dist/mcp/resources/handlers/AgentStatusHandler.js.map +0 -1
  406. package/dist/mcp/resources/handlers/TaskLogsHandler.d.ts +0 -7
  407. package/dist/mcp/resources/handlers/TaskLogsHandler.d.ts.map +0 -1
  408. package/dist/mcp/resources/handlers/TaskLogsHandler.js +0 -35
  409. package/dist/mcp/resources/handlers/TaskLogsHandler.js.map +0 -1
  410. package/dist/mcp/resources/quick-reference.md +0 -71
  411. package/dist/mcp/resources/usage-guide.md +0 -74
  412. package/dist/mcp/schemas/OutputSchemas.d.ts +0 -437
  413. package/dist/mcp/schemas/OutputSchemas.d.ts.map +0 -1
  414. package/dist/mcp/schemas/OutputSchemas.js +0 -215
  415. package/dist/mcp/schemas/OutputSchemas.js.map +0 -1
  416. package/dist/mcp/server-bootstrap.d.ts +0 -3
  417. package/dist/mcp/server-bootstrap.d.ts.map +0 -1
  418. package/dist/mcp/server-bootstrap.js +0 -391
  419. package/dist/mcp/server-bootstrap.js.map +0 -1
  420. package/dist/mcp/tools/add-observations.d.ts +0 -48
  421. package/dist/mcp/tools/add-observations.d.ts.map +0 -1
  422. package/dist/mcp/tools/add-observations.js +0 -64
  423. package/dist/mcp/tools/add-observations.js.map +0 -1
  424. package/dist/mcp/tools/buddy-do.d.ts +0 -15
  425. package/dist/mcp/tools/buddy-do.d.ts.map +0 -1
  426. package/dist/mcp/tools/buddy-do.js +0 -191
  427. package/dist/mcp/tools/buddy-do.js.map +0 -1
  428. package/dist/mcp/tools/buddy-help.d.ts +0 -13
  429. package/dist/mcp/tools/buddy-help.d.ts.map +0 -1
  430. package/dist/mcp/tools/buddy-help.js +0 -44
  431. package/dist/mcp/tools/buddy-help.js.map +0 -1
  432. package/dist/mcp/tools/buddy-remember.d.ts +0 -24
  433. package/dist/mcp/tools/buddy-remember.d.ts.map +0 -1
  434. package/dist/mcp/tools/buddy-remember.js +0 -304
  435. package/dist/mcp/tools/buddy-remember.js.map +0 -1
  436. package/dist/mcp/tools/create-entities.d.ts +0 -66
  437. package/dist/mcp/tools/create-entities.d.ts.map +0 -1
  438. package/dist/mcp/tools/create-entities.js +0 -224
  439. package/dist/mcp/tools/create-entities.js.map +0 -1
  440. package/dist/mcp/tools/create-relations.d.ts +0 -60
  441. package/dist/mcp/tools/create-relations.d.ts.map +0 -1
  442. package/dist/mcp/tools/create-relations.js +0 -84
  443. package/dist/mcp/tools/create-relations.js.map +0 -1
  444. package/dist/mcp/tools/generate-tests.d.ts +0 -11
  445. package/dist/mcp/tools/generate-tests.d.ts.map +0 -1
  446. package/dist/mcp/tools/generate-tests.js +0 -19
  447. package/dist/mcp/tools/generate-tests.js.map +0 -1
  448. package/dist/mcp/tools/health-check.d.ts +0 -10
  449. package/dist/mcp/tools/health-check.d.ts.map +0 -1
  450. package/dist/mcp/tools/health-check.js +0 -37
  451. package/dist/mcp/tools/health-check.js.map +0 -1
  452. package/dist/mcp/tools/memesh-agent-register.d.ts +0 -20
  453. package/dist/mcp/tools/memesh-agent-register.d.ts.map +0 -1
  454. package/dist/mcp/tools/memesh-agent-register.js +0 -80
  455. package/dist/mcp/tools/memesh-agent-register.js.map +0 -1
  456. package/dist/mcp/tools/memesh-cloud-sync.d.ts +0 -30
  457. package/dist/mcp/tools/memesh-cloud-sync.d.ts.map +0 -1
  458. package/dist/mcp/tools/memesh-cloud-sync.js +0 -257
  459. package/dist/mcp/tools/memesh-cloud-sync.js.map +0 -1
  460. package/dist/mcp/tools/memesh-metrics.d.ts +0 -13
  461. package/dist/mcp/tools/memesh-metrics.d.ts.map +0 -1
  462. package/dist/mcp/tools/memesh-metrics.js +0 -193
  463. package/dist/mcp/tools/memesh-metrics.js.map +0 -1
  464. package/dist/mcp/tools/recall-memory.d.ts +0 -31
  465. package/dist/mcp/tools/recall-memory.d.ts.map +0 -1
  466. package/dist/mcp/tools/recall-memory.js +0 -31
  467. package/dist/mcp/tools/recall-memory.js.map +0 -1
  468. package/dist/mcp/validation.d.ts +0 -76
  469. package/dist/mcp/validation.d.ts.map +0 -1
  470. package/dist/mcp/validation.js +0 -106
  471. package/dist/mcp/validation.js.map +0 -1
  472. package/dist/memory/AutoMemoryRecorder.d.ts +0 -35
  473. package/dist/memory/AutoMemoryRecorder.d.ts.map +0 -1
  474. package/dist/memory/AutoMemoryRecorder.js +0 -164
  475. package/dist/memory/AutoMemoryRecorder.js.map +0 -1
  476. package/dist/memory/AutoTagger.d.ts +0 -9
  477. package/dist/memory/AutoTagger.d.ts.map +0 -1
  478. package/dist/memory/AutoTagger.js +0 -149
  479. package/dist/memory/AutoTagger.js.map +0 -1
  480. package/dist/memory/BuiltInRules.d.ts +0 -54
  481. package/dist/memory/BuiltInRules.d.ts.map +0 -1
  482. package/dist/memory/BuiltInRules.js +0 -161
  483. package/dist/memory/BuiltInRules.js.map +0 -1
  484. package/dist/memory/EnhancedRetrieval.d.ts +0 -22
  485. package/dist/memory/EnhancedRetrieval.d.ts.map +0 -1
  486. package/dist/memory/EnhancedRetrieval.js +0 -63
  487. package/dist/memory/EnhancedRetrieval.js.map +0 -1
  488. package/dist/memory/EntityTypes.d.ts +0 -14
  489. package/dist/memory/EntityTypes.d.ts.map +0 -1
  490. package/dist/memory/EntityTypes.js +0 -19
  491. package/dist/memory/EntityTypes.js.map +0 -1
  492. package/dist/memory/MemorySearchEngine.d.ts +0 -17
  493. package/dist/memory/MemorySearchEngine.d.ts.map +0 -1
  494. package/dist/memory/MemorySearchEngine.js +0 -88
  495. package/dist/memory/MemorySearchEngine.js.map +0 -1
  496. package/dist/memory/MistakePatternEngine.d.ts +0 -15
  497. package/dist/memory/MistakePatternEngine.d.ts.map +0 -1
  498. package/dist/memory/MistakePatternEngine.js +0 -99
  499. package/dist/memory/MistakePatternEngine.js.map +0 -1
  500. package/dist/memory/PreventionHook.d.ts +0 -28
  501. package/dist/memory/PreventionHook.d.ts.map +0 -1
  502. package/dist/memory/PreventionHook.js +0 -21
  503. package/dist/memory/PreventionHook.js.map +0 -1
  504. package/dist/memory/ProactiveRecaller.d.ts +0 -26
  505. package/dist/memory/ProactiveRecaller.d.ts.map +0 -1
  506. package/dist/memory/ProactiveRecaller.js +0 -96
  507. package/dist/memory/ProactiveRecaller.js.map +0 -1
  508. package/dist/memory/ProjectAutoTracker.d.ts +0 -80
  509. package/dist/memory/ProjectAutoTracker.d.ts.map +0 -1
  510. package/dist/memory/ProjectAutoTracker.js +0 -386
  511. package/dist/memory/ProjectAutoTracker.js.map +0 -1
  512. package/dist/memory/ProjectMemoryCleanup.d.ts +0 -17
  513. package/dist/memory/ProjectMemoryCleanup.d.ts.map +0 -1
  514. package/dist/memory/ProjectMemoryCleanup.js +0 -57
  515. package/dist/memory/ProjectMemoryCleanup.js.map +0 -1
  516. package/dist/memory/ProjectMemoryManager.d.ts +0 -19
  517. package/dist/memory/ProjectMemoryManager.d.ts.map +0 -1
  518. package/dist/memory/ProjectMemoryManager.js +0 -62
  519. package/dist/memory/ProjectMemoryManager.js.map +0 -1
  520. package/dist/memory/SmartMemoryQuery.d.ts +0 -9
  521. package/dist/memory/SmartMemoryQuery.d.ts.map +0 -1
  522. package/dist/memory/SmartMemoryQuery.js +0 -66
  523. package/dist/memory/SmartMemoryQuery.js.map +0 -1
  524. package/dist/memory/UnifiedMemoryStore.d.ts +0 -27
  525. package/dist/memory/UnifiedMemoryStore.d.ts.map +0 -1
  526. package/dist/memory/UnifiedMemoryStore.js +0 -536
  527. package/dist/memory/UnifiedMemoryStore.js.map +0 -1
  528. package/dist/memory/UserPreferenceEngine.d.ts +0 -18
  529. package/dist/memory/UserPreferenceEngine.d.ts.map +0 -1
  530. package/dist/memory/UserPreferenceEngine.js +0 -117
  531. package/dist/memory/UserPreferenceEngine.js.map +0 -1
  532. package/dist/memory/config/semantic-groups.d.ts +0 -9
  533. package/dist/memory/config/semantic-groups.d.ts.map +0 -1
  534. package/dist/memory/config/semantic-groups.js +0 -22
  535. package/dist/memory/config/semantic-groups.js.map +0 -1
  536. package/dist/memory/index.d.ts +0 -16
  537. package/dist/memory/index.d.ts.map +0 -1
  538. package/dist/memory/index.js +0 -12
  539. package/dist/memory/index.js.map +0 -1
  540. package/dist/memory/types/index.d.ts +0 -7
  541. package/dist/memory/types/index.d.ts.map +0 -1
  542. package/dist/memory/types/index.js +0 -4
  543. package/dist/memory/types/index.js.map +0 -1
  544. package/dist/memory/types/memory-scope.d.ts +0 -27
  545. package/dist/memory/types/memory-scope.d.ts.map +0 -1
  546. package/dist/memory/types/memory-scope.js +0 -67
  547. package/dist/memory/types/memory-scope.js.map +0 -1
  548. package/dist/memory/types/pattern-types.d.ts +0 -66
  549. package/dist/memory/types/pattern-types.d.ts.map +0 -1
  550. package/dist/memory/types/pattern-types.js +0 -2
  551. package/dist/memory/types/pattern-types.js.map +0 -1
  552. package/dist/memory/types/preference-types.d.ts +0 -28
  553. package/dist/memory/types/preference-types.d.ts.map +0 -1
  554. package/dist/memory/types/preference-types.js +0 -2
  555. package/dist/memory/types/preference-types.js.map +0 -1
  556. package/dist/memory/types/unified-memory.d.ts +0 -29
  557. package/dist/memory/types/unified-memory.d.ts.map +0 -1
  558. package/dist/memory/types/unified-memory.js +0 -21
  559. package/dist/memory/types/unified-memory.js.map +0 -1
  560. package/dist/prompts/templates/PromptTemplates.d.ts +0 -11
  561. package/dist/prompts/templates/PromptTemplates.d.ts.map +0 -1
  562. package/dist/prompts/templates/PromptTemplates.js +0 -942
  563. package/dist/prompts/templates/PromptTemplates.js.map +0 -1
  564. package/dist/prompts/templates/index.d.ts +0 -2
  565. package/dist/prompts/templates/index.d.ts.map +0 -1
  566. package/dist/prompts/templates/index.js +0 -2
  567. package/dist/prompts/templates/index.js.map +0 -1
  568. package/dist/skills/SkillManager.d.ts +0 -33
  569. package/dist/skills/SkillManager.d.ts.map +0 -1
  570. package/dist/skills/SkillManager.js +0 -153
  571. package/dist/skills/SkillManager.js.map +0 -1
  572. package/dist/skills/index.d.ts +0 -3
  573. package/dist/skills/index.d.ts.map +0 -1
  574. package/dist/skills/index.js +0 -2
  575. package/dist/skills/index.js.map +0 -1
  576. package/dist/telemetry/TelemetryCollector.d.ts +0 -19
  577. package/dist/telemetry/TelemetryCollector.d.ts.map +0 -1
  578. package/dist/telemetry/TelemetryCollector.js +0 -62
  579. package/dist/telemetry/TelemetryCollector.js.map +0 -1
  580. package/dist/telemetry/TelemetryStore.d.ts +0 -20
  581. package/dist/telemetry/TelemetryStore.d.ts.map +0 -1
  582. package/dist/telemetry/TelemetryStore.js +0 -127
  583. package/dist/telemetry/TelemetryStore.js.map +0 -1
  584. package/dist/telemetry/index.d.ts +0 -8
  585. package/dist/telemetry/index.d.ts.map +0 -1
  586. package/dist/telemetry/index.js +0 -33
  587. package/dist/telemetry/index.js.map +0 -1
  588. package/dist/telemetry/sanitization.d.ts +0 -6
  589. package/dist/telemetry/sanitization.d.ts.map +0 -1
  590. package/dist/telemetry/sanitization.js +0 -180
  591. package/dist/telemetry/sanitization.js.map +0 -1
  592. package/dist/telemetry/types.d.ts +0 -73
  593. package/dist/telemetry/types.d.ts.map +0 -1
  594. package/dist/telemetry/types.js +0 -16
  595. package/dist/telemetry/types.js.map +0 -1
  596. package/dist/tools/TestGenerator.d.ts +0 -8
  597. package/dist/tools/TestGenerator.d.ts.map +0 -1
  598. package/dist/tools/TestGenerator.js +0 -54
  599. package/dist/tools/TestGenerator.js.map +0 -1
  600. package/dist/types/AgentClassification.d.ts +0 -30
  601. package/dist/types/AgentClassification.d.ts.map +0 -1
  602. package/dist/types/AgentClassification.js +0 -19
  603. package/dist/types/AgentClassification.js.map +0 -1
  604. package/dist/types/Checkpoint.d.ts +0 -12
  605. package/dist/types/Checkpoint.d.ts.map +0 -1
  606. package/dist/types/Checkpoint.js +0 -13
  607. package/dist/types/Checkpoint.js.map +0 -1
  608. package/dist/types/toonify.d.ts +0 -91
  609. package/dist/types/toonify.d.ts.map +0 -1
  610. package/dist/types/toonify.js +0 -18
  611. package/dist/types/toonify.js.map +0 -1
  612. package/dist/ui/AsciiProgressBar.d.ts +0 -29
  613. package/dist/ui/AsciiProgressBar.d.ts.map +0 -1
  614. package/dist/ui/AsciiProgressBar.js +0 -130
  615. package/dist/ui/AsciiProgressBar.js.map +0 -1
  616. package/dist/ui/AttributionManager.d.ts +0 -19
  617. package/dist/ui/AttributionManager.d.ts.map +0 -1
  618. package/dist/ui/AttributionManager.js +0 -107
  619. package/dist/ui/AttributionManager.js.map +0 -1
  620. package/dist/ui/Dashboard.d.ts +0 -24
  621. package/dist/ui/Dashboard.d.ts.map +0 -1
  622. package/dist/ui/Dashboard.js +0 -135
  623. package/dist/ui/Dashboard.js.map +0 -1
  624. package/dist/ui/LoadingIndicator.d.ts +0 -53
  625. package/dist/ui/LoadingIndicator.d.ts.map +0 -1
  626. package/dist/ui/LoadingIndicator.js +0 -211
  627. package/dist/ui/LoadingIndicator.js.map +0 -1
  628. package/dist/ui/MetricsStore.d.ts +0 -15
  629. package/dist/ui/MetricsStore.d.ts.map +0 -1
  630. package/dist/ui/MetricsStore.js +0 -131
  631. package/dist/ui/MetricsStore.js.map +0 -1
  632. package/dist/ui/ProgressIndicator.d.ts +0 -35
  633. package/dist/ui/ProgressIndicator.d.ts.map +0 -1
  634. package/dist/ui/ProgressIndicator.js +0 -177
  635. package/dist/ui/ProgressIndicator.js.map +0 -1
  636. package/dist/ui/ProgressRenderer.d.ts +0 -24
  637. package/dist/ui/ProgressRenderer.d.ts.map +0 -1
  638. package/dist/ui/ProgressRenderer.js +0 -143
  639. package/dist/ui/ProgressRenderer.js.map +0 -1
  640. package/dist/ui/ResponseFormatter.d.ts +0 -57
  641. package/dist/ui/ResponseFormatter.d.ts.map +0 -1
  642. package/dist/ui/ResponseFormatter.js +0 -513
  643. package/dist/ui/ResponseFormatter.js.map +0 -1
  644. package/dist/ui/UIEventBus.d.ts +0 -38
  645. package/dist/ui/UIEventBus.d.ts.map +0 -1
  646. package/dist/ui/UIEventBus.js +0 -173
  647. package/dist/ui/UIEventBus.js.map +0 -1
  648. package/dist/ui/accessibility.d.ts +0 -28
  649. package/dist/ui/accessibility.d.ts.map +0 -1
  650. package/dist/ui/accessibility.js +0 -97
  651. package/dist/ui/accessibility.js.map +0 -1
  652. package/dist/ui/design-tokens.d.ts +0 -36
  653. package/dist/ui/design-tokens.d.ts.map +0 -1
  654. package/dist/ui/design-tokens.js +0 -94
  655. package/dist/ui/design-tokens.js.map +0 -1
  656. package/dist/ui/index.d.ts +0 -8
  657. package/dist/ui/index.d.ts.map +0 -1
  658. package/dist/ui/index.js +0 -6
  659. package/dist/ui/index.js.map +0 -1
  660. package/dist/ui/theme.d.ts +0 -313
  661. package/dist/ui/theme.d.ts.map +0 -1
  662. package/dist/ui/theme.js +0 -198
  663. package/dist/ui/theme.js.map +0 -1
  664. package/dist/ui/types.d.ts +0 -146
  665. package/dist/ui/types.d.ts.map +0 -1
  666. package/dist/ui/types.js +0 -16
  667. package/dist/ui/types.js.map +0 -1
  668. package/dist/utils/ILogger.d.ts +0 -7
  669. package/dist/utils/ILogger.d.ts.map +0 -1
  670. package/dist/utils/ILogger.js +0 -2
  671. package/dist/utils/ILogger.js.map +0 -1
  672. package/dist/utils/MinHeap.d.ts +0 -15
  673. package/dist/utils/MinHeap.d.ts.map +0 -1
  674. package/dist/utils/MinHeap.js +0 -69
  675. package/dist/utils/MinHeap.js.map +0 -1
  676. package/dist/utils/PathResolver.d.ts +0 -13
  677. package/dist/utils/PathResolver.d.ts.map +0 -1
  678. package/dist/utils/PathResolver.js +0 -77
  679. package/dist/utils/PathResolver.js.map +0 -1
  680. package/dist/utils/RateLimiter.d.ts +0 -28
  681. package/dist/utils/RateLimiter.d.ts.map +0 -1
  682. package/dist/utils/RateLimiter.js +0 -115
  683. package/dist/utils/RateLimiter.js.map +0 -1
  684. package/dist/utils/SystemResources.d.ts +0 -40
  685. package/dist/utils/SystemResources.d.ts.map +0 -1
  686. package/dist/utils/SystemResources.js +0 -216
  687. package/dist/utils/SystemResources.js.map +0 -1
  688. package/dist/utils/errorHandler.d.ts +0 -49
  689. package/dist/utils/errorHandler.d.ts.map +0 -1
  690. package/dist/utils/errorHandler.js +0 -397
  691. package/dist/utils/errorHandler.js.map +0 -1
  692. package/dist/utils/index.d.ts +0 -17
  693. package/dist/utils/index.d.ts.map +0 -1
  694. package/dist/utils/index.js +0 -15
  695. package/dist/utils/index.js.map +0 -1
  696. package/dist/utils/json.d.ts +0 -13
  697. package/dist/utils/json.d.ts.map +0 -1
  698. package/dist/utils/json.js +0 -95
  699. package/dist/utils/json.js.map +0 -1
  700. package/dist/utils/logger.d.ts +0 -16
  701. package/dist/utils/logger.d.ts.map +0 -1
  702. package/dist/utils/logger.js +0 -125
  703. package/dist/utils/logger.js.map +0 -1
  704. package/dist/utils/lru-cache.d.ts +0 -47
  705. package/dist/utils/lru-cache.d.ts.map +0 -1
  706. package/dist/utils/lru-cache.js +0 -239
  707. package/dist/utils/lru-cache.js.map +0 -1
  708. package/dist/utils/memory.d.ts +0 -20
  709. package/dist/utils/memory.d.ts.map +0 -1
  710. package/dist/utils/memory.js +0 -53
  711. package/dist/utils/memory.js.map +0 -1
  712. package/dist/utils/money.d.ts +0 -10
  713. package/dist/utils/money.d.ts.map +0 -1
  714. package/dist/utils/money.js +0 -25
  715. package/dist/utils/money.js.map +0 -1
  716. package/dist/utils/pathValidation.d.ts +0 -2
  717. package/dist/utils/pathValidation.d.ts.map +0 -1
  718. package/dist/utils/pathValidation.js +0 -62
  719. package/dist/utils/pathValidation.js.map +0 -1
  720. package/dist/utils/paths.d.ts +0 -4
  721. package/dist/utils/paths.d.ts.map +0 -1
  722. package/dist/utils/paths.js +0 -28
  723. package/dist/utils/paths.js.map +0 -1
  724. package/dist/utils/requestId.d.ts +0 -4
  725. package/dist/utils/requestId.d.ts.map +0 -1
  726. package/dist/utils/requestId.js +0 -17
  727. package/dist/utils/requestId.js.map +0 -1
  728. package/dist/utils/retry.d.ts +0 -20
  729. package/dist/utils/retry.d.ts.map +0 -1
  730. package/dist/utils/retry.js +0 -226
  731. package/dist/utils/retry.js.map +0 -1
  732. package/dist/utils/safeMath.d.ts +0 -11
  733. package/dist/utils/safeMath.d.ts.map +0 -1
  734. package/dist/utils/safeMath.js +0 -92
  735. package/dist/utils/safeMath.js.map +0 -1
  736. package/dist/utils/toonify-adapter.d.ts +0 -77
  737. package/dist/utils/toonify-adapter.d.ts.map +0 -1
  738. package/dist/utils/toonify-adapter.js +0 -282
  739. package/dist/utils/toonify-adapter.js.map +0 -1
  740. package/dist/utils/tracing/TraceContext.d.ts +0 -23
  741. package/dist/utils/tracing/TraceContext.d.ts.map +0 -1
  742. package/dist/utils/tracing/TraceContext.js +0 -127
  743. package/dist/utils/tracing/TraceContext.js.map +0 -1
  744. package/dist/utils/tracing/index.d.ts +0 -2
  745. package/dist/utils/tracing/index.d.ts.map +0 -1
  746. package/dist/utils/tracing/index.js +0 -2
  747. package/dist/utils/tracing/index.js.map +0 -1
  748. package/dist/utils/tracing/middleware.d.ts +0 -15
  749. package/dist/utils/tracing/middleware.d.ts.map +0 -1
  750. package/dist/utils/tracing/middleware.js +0 -49
  751. package/dist/utils/tracing/middleware.js.map +0 -1
  752. package/dist/utils/validation.d.ts +0 -12
  753. package/dist/utils/validation.d.ts.map +0 -1
  754. package/dist/utils/validation.js +0 -87
  755. package/dist/utils/validation.js.map +0 -1
  756. package/scripts/health-check.js +0 -331
  757. package/scripts/hooks/README.md +0 -230
  758. package/scripts/hooks/__tests__/hook-test-harness.js +0 -218
  759. package/scripts/hooks/__tests__/hooks.test.js +0 -267
  760. package/scripts/hooks/__tests__/post-tool-use-recall.test.js +0 -192
  761. package/scripts/hooks/__tests__/session-start-recall.test.js +0 -86
  762. package/scripts/hooks/hook-utils.js +0 -899
  763. package/scripts/hooks/post-tool-use-recall-utils.js +0 -74
  764. package/scripts/hooks/post-tool-use.js +0 -895
  765. package/scripts/hooks/pre-tool-use.js +0 -491
  766. package/scripts/hooks/session-start-recall-utils.js +0 -40
  767. package/scripts/hooks/stop.js +0 -673
  768. package/scripts/hooks/subagent-stop.js +0 -184
  769. package/scripts/postinstall-lib.js +0 -242
  770. package/scripts/postinstall-new.js +0 -191
  771. package/scripts/skills/comprehensive-code-review/SKILL.md +0 -276
@@ -1,673 +0,0 @@
1
- #!/usr/bin/env node
2
-
3
- /**
4
- * Stop Hook - Claude Code Event-Driven Hooks
5
- *
6
- * Triggered when a Claude Code session ends (normal or forced termination).
7
- *
8
- * Features:
9
- * - Analyzes current session's tool patterns and workflows
10
- * - Generates recommendations for next session
11
- * - Updates session context (quota, learned patterns)
12
- * - Saves session key points to MeMesh
13
- * - Cleans up old key points (>30 days retention)
14
- * - Displays session summary with patterns and suggestions
15
- * - Archives current session data
16
- */
17
-
18
- import {
19
- STATE_DIR,
20
- MEMESH_DB_PATH,
21
- THRESHOLDS,
22
- readJSONFile,
23
- writeJSONFile,
24
- sqliteQuery,
25
- sqliteBatch,
26
- sqliteBatchEntity,
27
- calculateDuration,
28
- getDateString,
29
- ensureDir,
30
- logError,
31
- } from './hook-utils.js';
32
- import fs from 'fs';
33
- import path from 'path';
34
-
35
- // ============================================================================
36
- // File Paths
37
- // ============================================================================
38
-
39
- const CURRENT_SESSION_FILE = path.join(STATE_DIR, 'current-session.json');
40
- const RECOMMENDATIONS_FILE = path.join(STATE_DIR, 'recommendations.json');
41
- const SESSION_CONTEXT_FILE = path.join(STATE_DIR, 'session-context.json');
42
- const SESSIONS_ARCHIVE_DIR = path.join(STATE_DIR, 'sessions');
43
- const LAST_SESSION_CACHE_FILE = path.join(STATE_DIR, 'last-session-summary.json');
44
-
45
- // Ensure archive directory exists
46
- if (!fs.existsSync(SESSIONS_ARCHIVE_DIR)) {
47
- fs.mkdirSync(SESSIONS_ARCHIVE_DIR, { recursive: true });
48
- }
49
-
50
- // ============================================================================
51
- // Pattern Analysis
52
- // ============================================================================
53
-
54
- /**
55
- * Analyze tool patterns from session state
56
- * @param {Object} sessionState - Current session state
57
- * @returns {Array} Detected patterns
58
- */
59
- function analyzeToolPatterns(sessionState) {
60
- const patterns = [];
61
-
62
- if (!sessionState.toolCalls || sessionState.toolCalls.length === 0) {
63
- return patterns;
64
- }
65
-
66
- // Count tool frequency
67
- const toolFrequency = {};
68
- sessionState.toolCalls.forEach(tc => {
69
- toolFrequency[tc.toolName] = (toolFrequency[tc.toolName] || 0) + 1;
70
- });
71
-
72
- // Find most used tools
73
- const mostUsedTools = Object.entries(toolFrequency)
74
- .sort((a, b) => b[1] - a[1])
75
- .slice(0, 3);
76
-
77
- if (mostUsedTools.length > 0) {
78
- patterns.push({
79
- type: 'MOST_USED_TOOLS',
80
- description: mostUsedTools.map(([tool, count]) => `${tool} (${count}x)`).join(', '),
81
- severity: 'info',
82
- });
83
- }
84
-
85
- // Check READ_BEFORE_EDIT compliance
86
- let editWithoutRead = 0;
87
- let editWithRead = 0;
88
-
89
- for (let i = 0; i < sessionState.toolCalls.length; i++) {
90
- const tool = sessionState.toolCalls[i];
91
- if (tool.toolName === 'Edit') {
92
- const recentReads = sessionState.toolCalls
93
- .slice(Math.max(0, i - 5), i)
94
- .filter(t => t.toolName === 'Read');
95
-
96
- if (recentReads.length > 0) {
97
- editWithRead++;
98
- } else {
99
- editWithoutRead++;
100
- }
101
- }
102
- }
103
-
104
- if (editWithRead + editWithoutRead > 0) {
105
- const compliance = (editWithRead / (editWithRead + editWithoutRead) * 100).toFixed(0);
106
- patterns.push({
107
- type: 'READ_BEFORE_EDIT_COMPLIANCE',
108
- description: `READ_BEFORE_EDIT compliance: ${compliance}%`,
109
- severity: compliance >= 80 ? 'info' : 'warning',
110
- suggestion: compliance < 80 ? 'Read files before editing to avoid errors' : 'Good practice!',
111
- });
112
- }
113
-
114
- // Detect Git workflow
115
- const gitOps = sessionState.toolCalls.filter(tc =>
116
- tc.toolName === 'Bash' && ['git add', 'git commit', 'git push', 'git branch'].some(cmd =>
117
- tc.arguments?.command?.includes(cmd)
118
- )
119
- );
120
-
121
- if (gitOps.length >= 3) {
122
- patterns.push({
123
- type: 'GIT_WORKFLOW',
124
- description: `Executed ${gitOps.length} Git operations`,
125
- severity: 'info',
126
- suggestion: 'Consider loading devops-git-workflows skill next time',
127
- });
128
- }
129
-
130
- // Detect frontend work
131
- const frontendOps = sessionState.toolCalls.filter(tc =>
132
- ['Edit', 'Write', 'Read'].includes(tc.toolName) &&
133
- ['.tsx', '.jsx', '.vue', '.css'].some(ext => tc.arguments?.file_path?.endsWith(ext))
134
- );
135
-
136
- if (frontendOps.length >= 5) {
137
- patterns.push({
138
- type: 'FRONTEND_WORK',
139
- description: `Modified ${frontendOps.length} frontend files`,
140
- severity: 'info',
141
- suggestion: 'Consider loading frontend-design skill next time',
142
- });
143
- }
144
-
145
- // Detect slow operations
146
- const slowOps = sessionState.toolCalls.filter(tc => tc.duration && tc.duration > THRESHOLDS.SLOW_EXECUTION);
147
- if (slowOps.length > 0) {
148
- patterns.push({
149
- type: 'SLOW_OPERATIONS',
150
- description: `${slowOps.length} tools took >5 seconds`,
151
- severity: 'warning',
152
- suggestion: 'Consider optimizing these operations or using faster alternatives',
153
- });
154
- }
155
-
156
- // Detect failures
157
- const failures = sessionState.toolCalls.filter(tc => tc.success === false);
158
- if (failures.length > 0) {
159
- patterns.push({
160
- type: 'EXECUTION_FAILURES',
161
- description: `${failures.length} tool executions failed`,
162
- severity: 'error',
163
- suggestion: 'Review and fix failure causes',
164
- });
165
- }
166
-
167
- return patterns;
168
- }
169
-
170
- // ============================================================================
171
- // Recommendations
172
- // ============================================================================
173
-
174
- /**
175
- * Save recommendations for next session
176
- * @param {Array} patterns - Detected patterns
177
- * @param {Object} sessionState - Current session state
178
- */
179
- function saveRecommendations(patterns, sessionState) {
180
- const recommendations = readJSONFile(RECOMMENDATIONS_FILE, {
181
- recommendedSkills: [],
182
- detectedPatterns: [],
183
- warnings: [],
184
- lastUpdated: null,
185
- });
186
-
187
- // Add skill recommendations based on patterns
188
- patterns.forEach(pattern => {
189
- if (pattern.suggestion && pattern.suggestion.includes('skill')) {
190
- const skillMatch = pattern.suggestion.match(/loading\s+(.+?)\s+skill/);
191
- if (skillMatch) {
192
- const skillName = skillMatch[1];
193
- const existing = recommendations.recommendedSkills.find(s => s.name === skillName);
194
-
195
- if (!existing) {
196
- recommendations.recommendedSkills.push({
197
- name: skillName,
198
- reason: pattern.description,
199
- priority: pattern.type.includes('GIT') || pattern.type.includes('FRONTEND') ? 'high' : 'medium',
200
- });
201
- }
202
- }
203
- }
204
- });
205
-
206
- // Keep only top 5 skills
207
- recommendations.recommendedSkills = recommendations.recommendedSkills.slice(0, 5);
208
-
209
- // Merge patterns with existing (keep last 10)
210
- patterns.forEach(pattern => {
211
- recommendations.detectedPatterns.unshift({
212
- description: pattern.description,
213
- suggestion: pattern.suggestion || '',
214
- timestamp: new Date().toISOString(),
215
- });
216
- });
217
- recommendations.detectedPatterns = recommendations.detectedPatterns.slice(0, 10);
218
-
219
- // Add warnings from error/warning severity patterns
220
- patterns.filter(p => p.severity === 'warning' || p.severity === 'error').forEach(pattern => {
221
- if (pattern.suggestion) {
222
- recommendations.warnings.unshift(pattern.suggestion);
223
- } else {
224
- recommendations.warnings.unshift(pattern.description);
225
- }
226
- });
227
- recommendations.warnings = recommendations.warnings.slice(0, 5);
228
-
229
- recommendations.lastUpdated = new Date().toISOString();
230
-
231
- writeJSONFile(RECOMMENDATIONS_FILE, recommendations);
232
- }
233
-
234
- // ============================================================================
235
- // Session Context Update
236
- // ============================================================================
237
-
238
- /**
239
- * Update session context (quota, patterns)
240
- * @param {Object} sessionState - Current session state
241
- * @returns {Object} Updated session context
242
- */
243
- function updateSessionContext(sessionState) {
244
- const sessionContext = readJSONFile(SESSION_CONTEXT_FILE, {
245
- tokenQuota: { used: 0, limit: 200000 },
246
- learnedPatterns: [],
247
- lastSessionDate: null,
248
- });
249
-
250
- // Calculate total token usage from session
251
- let totalTokens = 0;
252
- if (sessionState.toolCalls) {
253
- sessionState.toolCalls.forEach(tc => {
254
- if (tc.tokenUsage) {
255
- totalTokens += tc.tokenUsage;
256
- }
257
- });
258
- }
259
-
260
- // Update quota
261
- sessionContext.tokenQuota.used = Math.min(
262
- sessionContext.tokenQuota.used + totalTokens,
263
- sessionContext.tokenQuota.limit
264
- );
265
-
266
- // Add learned patterns
267
- if (sessionState.patterns) {
268
- sessionState.patterns.forEach(pattern => {
269
- const existing = sessionContext.learnedPatterns.find(p => p.type === pattern.type);
270
- if (!existing) {
271
- sessionContext.learnedPatterns.push({
272
- type: pattern.type,
273
- count: pattern.count,
274
- lastSeen: new Date().toISOString(),
275
- });
276
- } else {
277
- existing.count += pattern.count;
278
- existing.lastSeen = new Date().toISOString();
279
- }
280
- });
281
- }
282
-
283
- sessionContext.lastSessionDate = new Date().toISOString();
284
-
285
- writeJSONFile(SESSION_CONTEXT_FILE, sessionContext);
286
-
287
- return sessionContext;
288
- }
289
-
290
- // ============================================================================
291
- // MeMesh Memory Save
292
- // ============================================================================
293
-
294
- /**
295
- * Extract comprehensive key points from session for end summary
296
- * @param {Object} sessionState - Current session state
297
- * @param {Array} patterns - Analyzed patterns
298
- * @returns {Array<string>} Key points
299
- */
300
- function extractSessionKeyPoints(sessionState, patterns) {
301
- const keyPoints = [];
302
-
303
- if (!sessionState) {
304
- return keyPoints;
305
- }
306
-
307
- // 1. Session overview
308
- const duration = calculateDuration(sessionState.startTime);
309
- const toolCount = sessionState.toolCalls?.length || 0;
310
- keyPoints.push(`[SESSION] Duration: ${duration}, Tools used: ${toolCount}`);
311
-
312
- // 2. Files modified (task summary)
313
- if (sessionState.toolCalls) {
314
- const fileOps = {};
315
- sessionState.toolCalls.forEach(tc => {
316
- if (['Edit', 'Write'].includes(tc.toolName) && tc.arguments?.file_path) {
317
- const filePath = tc.arguments.file_path;
318
- fileOps[filePath] = (fileOps[filePath] || 0) + 1;
319
- }
320
- });
321
-
322
- const modifiedFiles = Object.keys(fileOps);
323
- if (modifiedFiles.length > 0) {
324
- // Group by directory
325
- const dirs = {};
326
- modifiedFiles.forEach(f => {
327
- const dir = path.dirname(f);
328
- if (!dirs[dir]) dirs[dir] = [];
329
- dirs[dir].push(path.basename(f));
330
- });
331
-
332
- const summary = Object.entries(dirs)
333
- .map(([dir, files]) => {
334
- const shortDir = dir.split('/').slice(-2).join('/');
335
- return `${shortDir}: ${files.slice(0, 3).join(', ')}${files.length > 3 ? '...' : ''}`;
336
- })
337
- .slice(0, 3)
338
- .join(' | ');
339
-
340
- keyPoints.push(`[WORK] ${modifiedFiles.length} files modified: ${summary}`);
341
- }
342
- }
343
-
344
- // 3. Git operations (commits = completed work)
345
- if (sessionState.toolCalls) {
346
- const gitCommits = sessionState.toolCalls.filter(tc =>
347
- tc.toolName === 'Bash' && tc.arguments?.command?.includes('git commit')
348
- );
349
- if (gitCommits.length > 0) {
350
- keyPoints.push(`[COMMIT] ${gitCommits.length} commit(s) made`);
351
- }
352
- }
353
-
354
- // 4. Problems encountered
355
- if (sessionState.toolCalls) {
356
- const failures = sessionState.toolCalls.filter(tc => tc.success === false);
357
- if (failures.length > 0) {
358
- const failedTools = [...new Set(failures.map(f => f.toolName))];
359
- keyPoints.push(`[ISSUE] ${failures.length} failures: ${failedTools.join(', ')}`);
360
- }
361
- }
362
-
363
- // 5. Detected patterns (learnings)
364
- if (patterns && patterns.length > 0) {
365
- const significantPatterns = patterns
366
- .filter(p => p.severity === 'warning' || p.severity === 'error' || p.suggestion)
367
- .slice(0, 3);
368
-
369
- significantPatterns.forEach(p => {
370
- if (p.suggestion) {
371
- keyPoints.push(`[LEARN] ${p.description} -> ${p.suggestion}`);
372
- } else {
373
- keyPoints.push(`[NOTE] ${p.description}`);
374
- }
375
- });
376
- }
377
-
378
- // 6. Most used tools (work focus)
379
- if (sessionState.toolCalls && sessionState.toolCalls.length > 5) {
380
- const toolCounts = {};
381
- sessionState.toolCalls.forEach(tc => {
382
- toolCounts[tc.toolName] = (toolCounts[tc.toolName] || 0) + 1;
383
- });
384
-
385
- const topTools = Object.entries(toolCounts)
386
- .sort((a, b) => b[1] - a[1])
387
- .slice(0, 3)
388
- .map(([tool, count]) => `${tool}(${count})`)
389
- .join(', ');
390
-
391
- keyPoints.push(`[FOCUS] Top tools: ${topTools}`);
392
- }
393
-
394
- return keyPoints;
395
- }
396
-
397
- /**
398
- * Save session key points to MeMesh on session end.
399
- * Uses sqliteBatchEntity for performance (3 spawns instead of N).
400
- * @param {Object} sessionState - Current session state
401
- * @param {Array} patterns - Analyzed patterns
402
- * @returns {boolean} True if saved successfully
403
- */
404
- function saveSessionKeyPointsOnEnd(sessionState, patterns) {
405
- try {
406
- if (!fs.existsSync(MEMESH_DB_PATH)) {
407
- console.log('🧠 MeMesh: Database not found, skipping memory save');
408
- return false;
409
- }
410
-
411
- const keyPoints = extractSessionKeyPoints(sessionState, patterns);
412
- if (keyPoints.length === 0) {
413
- return false;
414
- }
415
-
416
- const entityName = `session_end_${Date.now()}`;
417
- const startTime = new Date(sessionState.startTime);
418
- const duration = Math.round((Date.now() - startTime.getTime()) / 1000 / 60);
419
-
420
- const metadata = JSON.stringify({
421
- duration: `${duration}m`,
422
- toolCount: sessionState.toolCalls?.length || 0,
423
- saveReason: 'session_end',
424
- patternCount: patterns.length,
425
- });
426
-
427
- const today = getDateString();
428
- const tags = ['session_end', 'auto_saved', today];
429
-
430
- // Batch: entity + observations + tags in 2 process spawns (was ~10)
431
- const entityId = sqliteBatchEntity(
432
- MEMESH_DB_PATH,
433
- { name: entityName, type: 'session_keypoint', metadata },
434
- keyPoints,
435
- tags
436
- );
437
-
438
- if (entityId === null) {
439
- return false;
440
- }
441
-
442
- console.log(`🧠 MeMesh: Saved ${keyPoints.length} key points to memory`);
443
- return true;
444
- } catch (error) {
445
- console.error(`🧠 MeMesh: Failed to save session key points: ${error.message}`);
446
- return false;
447
- }
448
- }
449
-
450
- /**
451
- * Clean up old key points (older than retention period).
452
- * Uses batch delete for performance.
453
- */
454
- function cleanupOldKeyPoints() {
455
- try {
456
- if (!fs.existsSync(MEMESH_DB_PATH)) {
457
- return;
458
- }
459
-
460
- const cutoffDate = new Date();
461
- cutoffDate.setDate(cutoffDate.getDate() - THRESHOLDS.RETENTION_DAYS);
462
- const cutoffISO = cutoffDate.toISOString();
463
-
464
- // Count old entries
465
- const countResult = sqliteQuery(
466
- MEMESH_DB_PATH,
467
- 'SELECT COUNT(*) FROM entities WHERE type = ? AND created_at < ?',
468
- ['session_keypoint', cutoffISO]
469
- );
470
-
471
- const oldCount = parseInt(countResult, 10) || 0;
472
-
473
- if (oldCount > 0) {
474
- // Batch delete: tags + entities in 2 statements (was N+2 spawns)
475
- sqliteBatch(MEMESH_DB_PATH, [
476
- {
477
- query: `DELETE FROM tags WHERE entity_id IN (
478
- SELECT id FROM entities WHERE type = ? AND created_at < ?
479
- )`,
480
- params: ['session_keypoint', cutoffISO],
481
- },
482
- {
483
- query: 'DELETE FROM entities WHERE type = ? AND created_at < ?',
484
- params: ['session_keypoint', cutoffISO],
485
- },
486
- ]);
487
-
488
- console.log(`🧠 MeMesh: Cleaned up ${oldCount} expired memories (>${THRESHOLDS.RETENTION_DAYS} days)`);
489
- }
490
- } catch (error) {
491
- console.error(`🧠 MeMesh: Cleanup failed: ${error.message}`);
492
- }
493
- }
494
-
495
- // ============================================================================
496
- // Session Cache (for fast startup)
497
- // ============================================================================
498
-
499
- /**
500
- * Write session summary cache for fast recall on next startup.
501
- * Session-start.js reads this instead of querying SQLite.
502
- * @param {Object} sessionState - Current session state
503
- * @param {Array} patterns - Analyzed patterns
504
- */
505
- function writeSessionCache(sessionState, patterns) {
506
- try {
507
- const keyPoints = extractSessionKeyPoints(sessionState, patterns);
508
- const startTime = new Date(sessionState.startTime);
509
- const duration = Math.round((Date.now() - startTime.getTime()) / 1000 / 60);
510
-
511
- const cache = {
512
- savedAt: new Date().toISOString(),
513
- duration: `${duration}m`,
514
- toolCount: sessionState.toolCalls?.length || 0,
515
- keyPoints,
516
- };
517
-
518
- writeJSONFile(LAST_SESSION_CACHE_FILE, cache);
519
- } catch (error) {
520
- logError('writeSessionCache', error);
521
- }
522
- }
523
-
524
- // ============================================================================
525
- // Session Archive
526
- // ============================================================================
527
-
528
- /**
529
- * Archive current session
530
- * @param {Object} sessionState - Current session state
531
- */
532
- function archiveSession(sessionState) {
533
- const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
534
- const archiveFile = path.join(SESSIONS_ARCHIVE_DIR, `session-${timestamp}.json`);
535
-
536
- writeJSONFile(archiveFile, sessionState);
537
-
538
- // Keep only last N sessions (configurable via THRESHOLDS)
539
- try {
540
- // Ensure directory exists before reading
541
- ensureDir(SESSIONS_ARCHIVE_DIR);
542
-
543
- const sessions = fs.readdirSync(SESSIONS_ARCHIVE_DIR)
544
- .filter(f => f.startsWith('session-'))
545
- .sort()
546
- .reverse();
547
-
548
- const maxSessions = THRESHOLDS.MAX_ARCHIVED_SESSIONS;
549
- if (sessions.length > maxSessions) {
550
- sessions.slice(maxSessions).forEach(f => {
551
- try {
552
- fs.unlinkSync(path.join(SESSIONS_ARCHIVE_DIR, f));
553
- } catch (error) {
554
- logError('archiveSession.unlink', error);
555
- }
556
- });
557
- }
558
- } catch (error) {
559
- logError('archiveSession.readdir', error);
560
- }
561
- }
562
-
563
- // ============================================================================
564
- // Display Summary
565
- // ============================================================================
566
-
567
- /**
568
- * Display session summary
569
- * @param {Object} sessionState - Current session state
570
- * @param {Array} patterns - Detected patterns
571
- * @param {Object} sessionContext - Session context
572
- */
573
- function displaySessionSummary(sessionState, patterns, sessionContext) {
574
- console.log('\nšŸ“Š Session Summary\n');
575
-
576
- // Duration
577
- const duration = calculateDuration(sessionState.startTime);
578
- console.log(`ā±ļø Duration: ${duration}`);
579
-
580
- // Tool executions
581
- const totalTools = sessionState.toolCalls?.length || 0;
582
- const successTools = sessionState.toolCalls?.filter(t => t.success !== false).length || 0;
583
- const failedTools = totalTools - successTools;
584
-
585
- console.log(`šŸ› ļø Tool executions: ${totalTools} (success: ${successTools}, failed: ${failedTools})`);
586
-
587
- // Detected patterns
588
- if (patterns.length > 0) {
589
- console.log('\n✨ Detected patterns:');
590
- patterns.slice(0, 5).forEach(pattern => {
591
- const emoji = pattern.severity === 'error' ? 'āŒ' : pattern.severity === 'warning' ? 'āš ļø' : 'āœ…';
592
- console.log(` ${emoji} ${pattern.description}`);
593
- if (pattern.suggestion) {
594
- console.log(` šŸ’” ${pattern.suggestion}`);
595
- }
596
- });
597
- }
598
-
599
- // Recommendations for next session
600
- const recommendations = readJSONFile(RECOMMENDATIONS_FILE, { recommendedSkills: [] });
601
- if (recommendations.recommendedSkills?.length > 0) {
602
- console.log('\nšŸ’” Recommended for next session:');
603
- recommendations.recommendedSkills.slice(0, 3).forEach(skill => {
604
- console.log(` • ${skill.name} (${skill.reason})`);
605
- });
606
- }
607
-
608
- // Quota status (guard against division by zero)
609
- const quotaLimit = sessionContext.tokenQuota?.limit || 1;
610
- const quotaUsed = sessionContext.tokenQuota?.used || 0;
611
- const quotaPercentNum = (quotaUsed / quotaLimit) * 100;
612
- const quotaEmoji = quotaPercentNum > 80 ? 'šŸ”“' : quotaPercentNum > 50 ? '🟔' : '🟢';
613
- console.log(`\n${quotaEmoji} Token quota: ${quotaPercentNum.toFixed(1)}% (${quotaUsed.toLocaleString()} / ${quotaLimit.toLocaleString()})`);
614
-
615
- console.log('\nāœ… Session state saved\n');
616
- }
617
-
618
- // ============================================================================
619
- // Main Stop Hook Logic
620
- // ============================================================================
621
-
622
- function stopHook() {
623
- console.log('\nšŸ›‘ Smart-Agents Session Ending...\n');
624
-
625
- // Read current session state
626
- const sessionState = readJSONFile(CURRENT_SESSION_FILE, {
627
- startTime: new Date().toISOString(),
628
- toolCalls: [],
629
- patterns: [],
630
- });
631
-
632
- // Analyze patterns
633
- const patterns = analyzeToolPatterns(sessionState);
634
-
635
- // Save recommendations for next session
636
- saveRecommendations(patterns, sessionState);
637
-
638
- // Update session context
639
- const sessionContext = updateSessionContext(sessionState);
640
-
641
- // Archive session
642
- archiveSession(sessionState);
643
-
644
- // Save session key points to MeMesh
645
- saveSessionKeyPointsOnEnd(sessionState, patterns);
646
-
647
- // Write session cache for fast startup next time (1A.2)
648
- writeSessionCache(sessionState, patterns);
649
-
650
- // Clean up old key points (>30 days)
651
- cleanupOldKeyPoints();
652
-
653
- // Display summary
654
- displaySessionSummary(sessionState, patterns, sessionContext);
655
-
656
- // Clean up current session file
657
- try {
658
- fs.unlinkSync(CURRENT_SESSION_FILE);
659
- } catch {
660
- // Ignore if file doesn't exist
661
- }
662
- }
663
-
664
- // ============================================================================
665
- // Execute
666
- // ============================================================================
667
-
668
- try {
669
- stopHook();
670
- } catch (error) {
671
- console.error('āŒ Stop hook error:', error.message);
672
- process.exit(0); // Never block Claude Code on hook errors
673
- }