@pcircle/memesh 2.10.0 → 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 (773) 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 -91
  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/.claude-plugin/plugin.json +0 -15
  33. package/README.de.md +0 -212
  34. package/README.es.md +0 -212
  35. package/README.fr.md +0 -212
  36. package/README.id.md +0 -212
  37. package/README.ja.md +0 -212
  38. package/README.ko.md +0 -212
  39. package/README.th.md +0 -212
  40. package/README.vi.md +0 -212
  41. package/README.zh-CN.md +0 -212
  42. package/README.zh-TW.md +0 -286
  43. package/dist/cli/config.d.ts +0 -36
  44. package/dist/cli/config.d.ts.map +0 -1
  45. package/dist/cli/config.js +0 -398
  46. package/dist/cli/config.js.map +0 -1
  47. package/dist/cli/credentials.d.ts +0 -12
  48. package/dist/cli/credentials.d.ts.map +0 -1
  49. package/dist/cli/credentials.js +0 -44
  50. package/dist/cli/credentials.js.map +0 -1
  51. package/dist/cli/daemon.d.ts +0 -3
  52. package/dist/cli/daemon.d.ts.map +0 -1
  53. package/dist/cli/daemon.js +0 -413
  54. package/dist/cli/daemon.js.map +0 -1
  55. package/dist/cli/dashboard.d.ts +0 -2
  56. package/dist/cli/dashboard.d.ts.map +0 -1
  57. package/dist/cli/dashboard.js +0 -300
  58. package/dist/cli/dashboard.js.map +0 -1
  59. package/dist/cli/index.d.ts +0 -3
  60. package/dist/cli/index.d.ts.map +0 -1
  61. package/dist/cli/index.js +0 -188
  62. package/dist/cli/index.js.map +0 -1
  63. package/dist/cli/login.d.ts +0 -4
  64. package/dist/cli/login.d.ts.map +0 -1
  65. package/dist/cli/login.js +0 -230
  66. package/dist/cli/login.js.map +0 -1
  67. package/dist/cli/logout.d.ts +0 -3
  68. package/dist/cli/logout.d.ts.map +0 -1
  69. package/dist/cli/logout.js +0 -23
  70. package/dist/cli/logout.js.map +0 -1
  71. package/dist/cli/setup-wizard.d.ts +0 -18
  72. package/dist/cli/setup-wizard.d.ts.map +0 -1
  73. package/dist/cli/setup-wizard.js +0 -267
  74. package/dist/cli/setup-wizard.js.map +0 -1
  75. package/dist/cli/stats.d.ts +0 -34
  76. package/dist/cli/stats.d.ts.map +0 -1
  77. package/dist/cli/stats.js +0 -479
  78. package/dist/cli/stats.js.map +0 -1
  79. package/dist/cli/tutorial.d.ts +0 -27
  80. package/dist/cli/tutorial.d.ts.map +0 -1
  81. package/dist/cli/tutorial.js +0 -430
  82. package/dist/cli/tutorial.js.map +0 -1
  83. package/dist/cloud/MeMeshCloudClient.d.ts +0 -88
  84. package/dist/cloud/MeMeshCloudClient.d.ts.map +0 -1
  85. package/dist/cloud/MeMeshCloudClient.js +0 -177
  86. package/dist/cloud/MeMeshCloudClient.js.map +0 -1
  87. package/dist/cloud/index.d.ts +0 -3
  88. package/dist/cloud/index.d.ts.map +0 -1
  89. package/dist/cloud/index.js +0 -2
  90. package/dist/cloud/index.js.map +0 -1
  91. package/dist/config/index.d.ts +0 -61
  92. package/dist/config/index.d.ts.map +0 -1
  93. package/dist/config/index.js +0 -105
  94. package/dist/config/index.js.map +0 -1
  95. package/dist/config/models.d.ts +0 -47
  96. package/dist/config/models.d.ts.map +0 -1
  97. package/dist/config/models.js +0 -57
  98. package/dist/config/models.js.map +0 -1
  99. package/dist/config/simple-config.d.ts +0 -35
  100. package/dist/config/simple-config.d.ts.map +0 -1
  101. package/dist/config/simple-config.js +0 -246
  102. package/dist/config/simple-config.js.map +0 -1
  103. package/dist/core/AgentRegistry.d.ts +0 -31
  104. package/dist/core/AgentRegistry.d.ts.map +0 -1
  105. package/dist/core/AgentRegistry.js +0 -281
  106. package/dist/core/AgentRegistry.js.map +0 -1
  107. package/dist/core/CheckpointDetector.d.ts +0 -25
  108. package/dist/core/CheckpointDetector.d.ts.map +0 -1
  109. package/dist/core/CheckpointDetector.js +0 -67
  110. package/dist/core/CheckpointDetector.js.map +0 -1
  111. package/dist/core/GitCommandParser.d.ts +0 -11
  112. package/dist/core/GitCommandParser.d.ts.map +0 -1
  113. package/dist/core/GitCommandParser.js +0 -43
  114. package/dist/core/GitCommandParser.js.map +0 -1
  115. package/dist/core/HealthCheck.d.ts +0 -39
  116. package/dist/core/HealthCheck.d.ts.map +0 -1
  117. package/dist/core/HealthCheck.js +0 -219
  118. package/dist/core/HealthCheck.js.map +0 -1
  119. package/dist/core/HookIntegration.d.ts +0 -47
  120. package/dist/core/HookIntegration.d.ts.map +0 -1
  121. package/dist/core/HookIntegration.js +0 -275
  122. package/dist/core/HookIntegration.js.map +0 -1
  123. package/dist/core/MCPToolInterface.d.ts +0 -120
  124. package/dist/core/MCPToolInterface.d.ts.map +0 -1
  125. package/dist/core/MCPToolInterface.js +0 -376
  126. package/dist/core/MCPToolInterface.js.map +0 -1
  127. package/dist/core/MistakePatternManager.d.ts +0 -31
  128. package/dist/core/MistakePatternManager.d.ts.map +0 -1
  129. package/dist/core/MistakePatternManager.js +0 -137
  130. package/dist/core/MistakePatternManager.js.map +0 -1
  131. package/dist/core/ResourceMonitor.d.ts +0 -32
  132. package/dist/core/ResourceMonitor.d.ts.map +0 -1
  133. package/dist/core/ResourceMonitor.js +0 -243
  134. package/dist/core/ResourceMonitor.js.map +0 -1
  135. package/dist/core/ServiceLocator.d.ts +0 -10
  136. package/dist/core/ServiceLocator.d.ts.map +0 -1
  137. package/dist/core/ServiceLocator.js +0 -30
  138. package/dist/core/ServiceLocator.js.map +0 -1
  139. package/dist/core/TestOutputParser.d.ts +0 -20
  140. package/dist/core/TestOutputParser.d.ts.map +0 -1
  141. package/dist/core/TestOutputParser.js +0 -144
  142. package/dist/core/TestOutputParser.js.map +0 -1
  143. package/dist/core/types.d.ts +0 -66
  144. package/dist/core/types.d.ts.map +0 -1
  145. package/dist/core/types.js +0 -11
  146. package/dist/core/types.js.map +0 -1
  147. package/dist/db/ConnectionPool.d.ts +0 -50
  148. package/dist/db/ConnectionPool.d.ts.map +0 -1
  149. package/dist/db/ConnectionPool.js +0 -569
  150. package/dist/db/ConnectionPool.js.map +0 -1
  151. package/dist/db/IDatabaseAdapter.d.ts +0 -25
  152. package/dist/db/IDatabaseAdapter.d.ts.map +0 -1
  153. package/dist/db/IDatabaseAdapter.js +0 -2
  154. package/dist/db/IDatabaseAdapter.js.map +0 -1
  155. package/dist/db/QueryCache.d.ts +0 -46
  156. package/dist/db/QueryCache.d.ts.map +0 -1
  157. package/dist/db/QueryCache.js +0 -232
  158. package/dist/db/QueryCache.js.map +0 -1
  159. package/dist/db/adapters/BetterSqlite3Adapter.d.ts +0 -15
  160. package/dist/db/adapters/BetterSqlite3Adapter.d.ts.map +0 -1
  161. package/dist/db/adapters/BetterSqlite3Adapter.js +0 -127
  162. package/dist/db/adapters/BetterSqlite3Adapter.js.map +0 -1
  163. package/dist/embeddings/EmbeddingService.d.ts +0 -23
  164. package/dist/embeddings/EmbeddingService.d.ts.map +0 -1
  165. package/dist/embeddings/EmbeddingService.js +0 -131
  166. package/dist/embeddings/EmbeddingService.js.map +0 -1
  167. package/dist/embeddings/InMemoryVectorAdapter.d.ts +0 -15
  168. package/dist/embeddings/InMemoryVectorAdapter.d.ts.map +0 -1
  169. package/dist/embeddings/InMemoryVectorAdapter.js +0 -58
  170. package/dist/embeddings/InMemoryVectorAdapter.js.map +0 -1
  171. package/dist/embeddings/ModelManager.d.ts +0 -18
  172. package/dist/embeddings/ModelManager.d.ts.map +0 -1
  173. package/dist/embeddings/ModelManager.js +0 -84
  174. package/dist/embeddings/ModelManager.js.map +0 -1
  175. package/dist/embeddings/SqliteVecAdapter.d.ts +0 -15
  176. package/dist/embeddings/SqliteVecAdapter.d.ts.map +0 -1
  177. package/dist/embeddings/SqliteVecAdapter.js +0 -107
  178. package/dist/embeddings/SqliteVecAdapter.js.map +0 -1
  179. package/dist/embeddings/VectorExtension.d.ts +0 -17
  180. package/dist/embeddings/VectorExtension.d.ts.map +0 -1
  181. package/dist/embeddings/VectorExtension.js +0 -107
  182. package/dist/embeddings/VectorExtension.js.map +0 -1
  183. package/dist/embeddings/VectorSearchAdapter.d.ts +0 -17
  184. package/dist/embeddings/VectorSearchAdapter.d.ts.map +0 -1
  185. package/dist/embeddings/VectorSearchAdapter.js +0 -2
  186. package/dist/embeddings/VectorSearchAdapter.js.map +0 -1
  187. package/dist/embeddings/index.d.ts +0 -9
  188. package/dist/embeddings/index.d.ts.map +0 -1
  189. package/dist/embeddings/index.js +0 -7
  190. package/dist/embeddings/index.js.map +0 -1
  191. package/dist/errors/ErrorClassifier.d.ts +0 -60
  192. package/dist/errors/ErrorClassifier.d.ts.map +0 -1
  193. package/dist/errors/ErrorClassifier.js +0 -415
  194. package/dist/errors/ErrorClassifier.js.map +0 -1
  195. package/dist/errors/index.d.ts +0 -63
  196. package/dist/errors/index.d.ts.map +0 -1
  197. package/dist/errors/index.js +0 -127
  198. package/dist/errors/index.js.map +0 -1
  199. package/dist/i18n/index.d.ts +0 -9
  200. package/dist/i18n/index.d.ts.map +0 -1
  201. package/dist/i18n/index.js +0 -78
  202. package/dist/i18n/index.js.map +0 -1
  203. package/dist/i18n/locales/en.d.ts +0 -3
  204. package/dist/i18n/locales/en.d.ts.map +0 -1
  205. package/dist/i18n/locales/en.js +0 -32
  206. package/dist/i18n/locales/en.js.map +0 -1
  207. package/dist/i18n/locales/index.d.ts +0 -5
  208. package/dist/i18n/locales/index.d.ts.map +0 -1
  209. package/dist/i18n/locales/index.js +0 -5
  210. package/dist/i18n/locales/index.js.map +0 -1
  211. package/dist/i18n/locales/ja.d.ts +0 -3
  212. package/dist/i18n/locales/ja.d.ts.map +0 -1
  213. package/dist/i18n/locales/ja.js +0 -30
  214. package/dist/i18n/locales/ja.js.map +0 -1
  215. package/dist/i18n/locales/zh-CN.d.ts +0 -3
  216. package/dist/i18n/locales/zh-CN.d.ts.map +0 -1
  217. package/dist/i18n/locales/zh-CN.js +0 -30
  218. package/dist/i18n/locales/zh-CN.js.map +0 -1
  219. package/dist/i18n/locales/zh-TW.d.ts +0 -3
  220. package/dist/i18n/locales/zh-TW.d.ts.map +0 -1
  221. package/dist/i18n/locales/zh-TW.js +0 -30
  222. package/dist/i18n/locales/zh-TW.js.map +0 -1
  223. package/dist/i18n/types.d.ts +0 -11
  224. package/dist/i18n/types.d.ts.map +0 -1
  225. package/dist/i18n/types.js +0 -3
  226. package/dist/i18n/types.js.map +0 -1
  227. package/dist/integrations/session-memory/SessionContextInjector.d.ts +0 -30
  228. package/dist/integrations/session-memory/SessionContextInjector.d.ts.map +0 -1
  229. package/dist/integrations/session-memory/SessionContextInjector.js +0 -192
  230. package/dist/integrations/session-memory/SessionContextInjector.js.map +0 -1
  231. package/dist/integrations/session-memory/SessionMemoryIngester.d.ts +0 -15
  232. package/dist/integrations/session-memory/SessionMemoryIngester.d.ts.map +0 -1
  233. package/dist/integrations/session-memory/SessionMemoryIngester.js +0 -229
  234. package/dist/integrations/session-memory/SessionMemoryIngester.js.map +0 -1
  235. package/dist/integrations/session-memory/SessionMemoryParser.d.ts +0 -16
  236. package/dist/integrations/session-memory/SessionMemoryParser.d.ts.map +0 -1
  237. package/dist/integrations/session-memory/SessionMemoryParser.js +0 -271
  238. package/dist/integrations/session-memory/SessionMemoryParser.js.map +0 -1
  239. package/dist/integrations/session-memory/SessionMemoryPipeline.d.ts +0 -20
  240. package/dist/integrations/session-memory/SessionMemoryPipeline.d.ts.map +0 -1
  241. package/dist/integrations/session-memory/SessionMemoryPipeline.js +0 -60
  242. package/dist/integrations/session-memory/SessionMemoryPipeline.js.map +0 -1
  243. package/dist/integrations/session-memory/SessionMemoryWatcher.d.ts +0 -27
  244. package/dist/integrations/session-memory/SessionMemoryWatcher.d.ts.map +0 -1
  245. package/dist/integrations/session-memory/SessionMemoryWatcher.js +0 -145
  246. package/dist/integrations/session-memory/SessionMemoryWatcher.js.map +0 -1
  247. package/dist/integrations/session-memory/index.d.ts +0 -9
  248. package/dist/integrations/session-memory/index.d.ts.map +0 -1
  249. package/dist/integrations/session-memory/index.js +0 -6
  250. package/dist/integrations/session-memory/index.js.map +0 -1
  251. package/dist/integrations/session-memory/types.d.ts +0 -74
  252. package/dist/integrations/session-memory/types.d.ts.map +0 -1
  253. package/dist/integrations/session-memory/types.js +0 -22
  254. package/dist/integrations/session-memory/types.js.map +0 -1
  255. package/dist/knowledge-graph/ContentHasher.d.ts +0 -4
  256. package/dist/knowledge-graph/ContentHasher.d.ts.map +0 -1
  257. package/dist/knowledge-graph/ContentHasher.js +0 -8
  258. package/dist/knowledge-graph/ContentHasher.js.map +0 -1
  259. package/dist/knowledge-graph/KGSearchEngine.d.ts +0 -37
  260. package/dist/knowledge-graph/KGSearchEngine.d.ts.map +0 -1
  261. package/dist/knowledge-graph/KGSearchEngine.js +0 -257
  262. package/dist/knowledge-graph/KGSearchEngine.js.map +0 -1
  263. package/dist/knowledge-graph/index.d.ts +0 -64
  264. package/dist/knowledge-graph/index.d.ts.map +0 -1
  265. package/dist/knowledge-graph/index.js +0 -681
  266. package/dist/knowledge-graph/index.js.map +0 -1
  267. package/dist/knowledge-graph/types.d.ts +0 -38
  268. package/dist/knowledge-graph/types.d.ts.map +0 -1
  269. package/dist/knowledge-graph/types.js +0 -2
  270. package/dist/knowledge-graph/types.js.map +0 -1
  271. package/dist/management/UninstallManager.d.ts +0 -23
  272. package/dist/management/UninstallManager.d.ts.map +0 -1
  273. package/dist/management/UninstallManager.js +0 -186
  274. package/dist/management/UninstallManager.js.map +0 -1
  275. package/dist/management/index.d.ts +0 -3
  276. package/dist/management/index.d.ts.map +0 -1
  277. package/dist/management/index.js +0 -2
  278. package/dist/management/index.js.map +0 -1
  279. package/dist/mcp/BuddyCommands.d.ts +0 -24
  280. package/dist/mcp/BuddyCommands.d.ts.map +0 -1
  281. package/dist/mcp/BuddyCommands.js +0 -423
  282. package/dist/mcp/BuddyCommands.js.map +0 -1
  283. package/dist/mcp/ClaudeMdReloader.d.ts +0 -37
  284. package/dist/mcp/ClaudeMdReloader.d.ts.map +0 -1
  285. package/dist/mcp/ClaudeMdReloader.js +0 -92
  286. package/dist/mcp/ClaudeMdReloader.js.map +0 -1
  287. package/dist/mcp/HumanInLoopUI.d.ts +0 -23
  288. package/dist/mcp/HumanInLoopUI.d.ts.map +0 -1
  289. package/dist/mcp/HumanInLoopUI.js +0 -92
  290. package/dist/mcp/HumanInLoopUI.js.map +0 -1
  291. package/dist/mcp/ProgressReporter.d.ts +0 -14
  292. package/dist/mcp/ProgressReporter.d.ts.map +0 -1
  293. package/dist/mcp/ProgressReporter.js +0 -22
  294. package/dist/mcp/ProgressReporter.js.map +0 -1
  295. package/dist/mcp/SamplingClient.d.ts +0 -32
  296. package/dist/mcp/SamplingClient.d.ts.map +0 -1
  297. package/dist/mcp/SamplingClient.js +0 -63
  298. package/dist/mcp/SamplingClient.js.map +0 -1
  299. package/dist/mcp/ServerInitializer.d.ts +0 -40
  300. package/dist/mcp/ServerInitializer.d.ts.map +0 -1
  301. package/dist/mcp/ServerInitializer.js +0 -147
  302. package/dist/mcp/ServerInitializer.js.map +0 -1
  303. package/dist/mcp/SessionBootstrapper.d.ts +0 -13
  304. package/dist/mcp/SessionBootstrapper.d.ts.map +0 -1
  305. package/dist/mcp/SessionBootstrapper.js +0 -82
  306. package/dist/mcp/SessionBootstrapper.js.map +0 -1
  307. package/dist/mcp/StdinBufferManager.d.ts +0 -11
  308. package/dist/mcp/StdinBufferManager.d.ts.map +0 -1
  309. package/dist/mcp/StdinBufferManager.js +0 -62
  310. package/dist/mcp/StdinBufferManager.js.map +0 -1
  311. package/dist/mcp/ToolDefinitions.d.ts +0 -44
  312. package/dist/mcp/ToolDefinitions.d.ts.map +0 -1
  313. package/dist/mcp/ToolDefinitions.js +0 -445
  314. package/dist/mcp/ToolDefinitions.js.map +0 -1
  315. package/dist/mcp/ToolRouter.d.ts +0 -27
  316. package/dist/mcp/ToolRouter.d.ts.map +0 -1
  317. package/dist/mcp/ToolRouter.js +0 -179
  318. package/dist/mcp/ToolRouter.js.map +0 -1
  319. package/dist/mcp/daemon/DaemonBootstrap.d.ts +0 -33
  320. package/dist/mcp/daemon/DaemonBootstrap.d.ts.map +0 -1
  321. package/dist/mcp/daemon/DaemonBootstrap.js +0 -155
  322. package/dist/mcp/daemon/DaemonBootstrap.js.map +0 -1
  323. package/dist/mcp/daemon/DaemonLockManager.d.ts +0 -47
  324. package/dist/mcp/daemon/DaemonLockManager.d.ts.map +0 -1
  325. package/dist/mcp/daemon/DaemonLockManager.js +0 -417
  326. package/dist/mcp/daemon/DaemonLockManager.js.map +0 -1
  327. package/dist/mcp/daemon/DaemonProtocol.d.ts +0 -127
  328. package/dist/mcp/daemon/DaemonProtocol.d.ts.map +0 -1
  329. package/dist/mcp/daemon/DaemonProtocol.js +0 -452
  330. package/dist/mcp/daemon/DaemonProtocol.js.map +0 -1
  331. package/dist/mcp/daemon/DaemonSocketServer.d.ts +0 -71
  332. package/dist/mcp/daemon/DaemonSocketServer.d.ts.map +0 -1
  333. package/dist/mcp/daemon/DaemonSocketServer.js +0 -384
  334. package/dist/mcp/daemon/DaemonSocketServer.js.map +0 -1
  335. package/dist/mcp/daemon/GracefulShutdownCoordinator.d.ts +0 -67
  336. package/dist/mcp/daemon/GracefulShutdownCoordinator.d.ts.map +0 -1
  337. package/dist/mcp/daemon/GracefulShutdownCoordinator.js +0 -206
  338. package/dist/mcp/daemon/GracefulShutdownCoordinator.js.map +0 -1
  339. package/dist/mcp/daemon/IpcTransport.d.ts +0 -42
  340. package/dist/mcp/daemon/IpcTransport.d.ts.map +0 -1
  341. package/dist/mcp/daemon/IpcTransport.js +0 -231
  342. package/dist/mcp/daemon/IpcTransport.js.map +0 -1
  343. package/dist/mcp/daemon/StdioProxyClient.d.ts +0 -84
  344. package/dist/mcp/daemon/StdioProxyClient.d.ts.map +0 -1
  345. package/dist/mcp/daemon/StdioProxyClient.js +0 -574
  346. package/dist/mcp/daemon/StdioProxyClient.js.map +0 -1
  347. package/dist/mcp/daemon/VersionManager.d.ts +0 -35
  348. package/dist/mcp/daemon/VersionManager.d.ts.map +0 -1
  349. package/dist/mcp/daemon/VersionManager.js +0 -169
  350. package/dist/mcp/daemon/VersionManager.js.map +0 -1
  351. package/dist/mcp/daemon/index.d.ts +0 -9
  352. package/dist/mcp/daemon/index.d.ts.map +0 -1
  353. package/dist/mcp/daemon/index.js +0 -9
  354. package/dist/mcp/daemon/index.js.map +0 -1
  355. package/dist/mcp/handlers/BuddyHandlers.d.ts +0 -18
  356. package/dist/mcp/handlers/BuddyHandlers.d.ts.map +0 -1
  357. package/dist/mcp/handlers/BuddyHandlers.js +0 -179
  358. package/dist/mcp/handlers/BuddyHandlers.js.map +0 -1
  359. package/dist/mcp/handlers/BuddyRecordMistake.d.ts +0 -17
  360. package/dist/mcp/handlers/BuddyRecordMistake.d.ts.map +0 -1
  361. package/dist/mcp/handlers/BuddyRecordMistake.js +0 -147
  362. package/dist/mcp/handlers/BuddyRecordMistake.js.map +0 -1
  363. package/dist/mcp/handlers/HookToolHandler.d.ts +0 -10
  364. package/dist/mcp/handlers/HookToolHandler.d.ts.map +0 -1
  365. package/dist/mcp/handlers/HookToolHandler.js +0 -92
  366. package/dist/mcp/handlers/HookToolHandler.js.map +0 -1
  367. package/dist/mcp/handlers/MemoryToolHandler.d.ts +0 -21
  368. package/dist/mcp/handlers/MemoryToolHandler.d.ts.map +0 -1
  369. package/dist/mcp/handlers/MemoryToolHandler.js +0 -433
  370. package/dist/mcp/handlers/MemoryToolHandler.js.map +0 -1
  371. package/dist/mcp/handlers/ResourceHandlers.d.ts +0 -3
  372. package/dist/mcp/handlers/ResourceHandlers.d.ts.map +0 -1
  373. package/dist/mcp/handlers/ResourceHandlers.js +0 -133
  374. package/dist/mcp/handlers/ResourceHandlers.js.map +0 -1
  375. package/dist/mcp/handlers/SystemToolHandler.d.ts +0 -14
  376. package/dist/mcp/handlers/SystemToolHandler.d.ts.map +0 -1
  377. package/dist/mcp/handlers/SystemToolHandler.js +0 -224
  378. package/dist/mcp/handlers/SystemToolHandler.js.map +0 -1
  379. package/dist/mcp/handlers/ToolHandlers.d.ts +0 -26
  380. package/dist/mcp/handlers/ToolHandlers.d.ts.map +0 -1
  381. package/dist/mcp/handlers/ToolHandlers.js +0 -41
  382. package/dist/mcp/handlers/ToolHandlers.js.map +0 -1
  383. package/dist/mcp/handlers/index.d.ts +0 -7
  384. package/dist/mcp/handlers/index.d.ts.map +0 -1
  385. package/dist/mcp/handlers/index.js +0 -7
  386. package/dist/mcp/handlers/index.js.map +0 -1
  387. package/dist/mcp/index.d.ts +0 -5
  388. package/dist/mcp/index.d.ts.map +0 -1
  389. package/dist/mcp/index.js +0 -3
  390. package/dist/mcp/index.js.map +0 -1
  391. package/dist/mcp/resources/ResourceRegistry.d.ts +0 -23
  392. package/dist/mcp/resources/ResourceRegistry.d.ts.map +0 -1
  393. package/dist/mcp/resources/ResourceRegistry.js +0 -26
  394. package/dist/mcp/resources/ResourceRegistry.js.map +0 -1
  395. package/dist/mcp/resources/URITemplateHandler.d.ts +0 -8
  396. package/dist/mcp/resources/URITemplateHandler.d.ts.map +0 -1
  397. package/dist/mcp/resources/URITemplateHandler.js +0 -29
  398. package/dist/mcp/resources/URITemplateHandler.js.map +0 -1
  399. package/dist/mcp/resources/best-practices.md +0 -53
  400. package/dist/mcp/resources/buddy-do-skill.md +0 -84
  401. package/dist/mcp/resources/ccb-complete-guide.md +0 -247
  402. package/dist/mcp/resources/examples.md +0 -47
  403. package/dist/mcp/resources/handlers/AgentStatusHandler.d.ts +0 -7
  404. package/dist/mcp/resources/handlers/AgentStatusHandler.d.ts.map +0 -1
  405. package/dist/mcp/resources/handlers/AgentStatusHandler.js +0 -41
  406. package/dist/mcp/resources/handlers/AgentStatusHandler.js.map +0 -1
  407. package/dist/mcp/resources/handlers/TaskLogsHandler.d.ts +0 -7
  408. package/dist/mcp/resources/handlers/TaskLogsHandler.d.ts.map +0 -1
  409. package/dist/mcp/resources/handlers/TaskLogsHandler.js +0 -35
  410. package/dist/mcp/resources/handlers/TaskLogsHandler.js.map +0 -1
  411. package/dist/mcp/resources/quick-reference.md +0 -71
  412. package/dist/mcp/resources/usage-guide.md +0 -74
  413. package/dist/mcp/schemas/OutputSchemas.d.ts +0 -437
  414. package/dist/mcp/schemas/OutputSchemas.d.ts.map +0 -1
  415. package/dist/mcp/schemas/OutputSchemas.js +0 -215
  416. package/dist/mcp/schemas/OutputSchemas.js.map +0 -1
  417. package/dist/mcp/server-bootstrap.d.ts +0 -3
  418. package/dist/mcp/server-bootstrap.d.ts.map +0 -1
  419. package/dist/mcp/server-bootstrap.js +0 -391
  420. package/dist/mcp/server-bootstrap.js.map +0 -1
  421. package/dist/mcp/tools/add-observations.d.ts +0 -48
  422. package/dist/mcp/tools/add-observations.d.ts.map +0 -1
  423. package/dist/mcp/tools/add-observations.js +0 -64
  424. package/dist/mcp/tools/add-observations.js.map +0 -1
  425. package/dist/mcp/tools/buddy-do.d.ts +0 -15
  426. package/dist/mcp/tools/buddy-do.d.ts.map +0 -1
  427. package/dist/mcp/tools/buddy-do.js +0 -191
  428. package/dist/mcp/tools/buddy-do.js.map +0 -1
  429. package/dist/mcp/tools/buddy-help.d.ts +0 -13
  430. package/dist/mcp/tools/buddy-help.d.ts.map +0 -1
  431. package/dist/mcp/tools/buddy-help.js +0 -44
  432. package/dist/mcp/tools/buddy-help.js.map +0 -1
  433. package/dist/mcp/tools/buddy-remember.d.ts +0 -24
  434. package/dist/mcp/tools/buddy-remember.d.ts.map +0 -1
  435. package/dist/mcp/tools/buddy-remember.js +0 -304
  436. package/dist/mcp/tools/buddy-remember.js.map +0 -1
  437. package/dist/mcp/tools/create-entities.d.ts +0 -66
  438. package/dist/mcp/tools/create-entities.d.ts.map +0 -1
  439. package/dist/mcp/tools/create-entities.js +0 -224
  440. package/dist/mcp/tools/create-entities.js.map +0 -1
  441. package/dist/mcp/tools/create-relations.d.ts +0 -60
  442. package/dist/mcp/tools/create-relations.d.ts.map +0 -1
  443. package/dist/mcp/tools/create-relations.js +0 -84
  444. package/dist/mcp/tools/create-relations.js.map +0 -1
  445. package/dist/mcp/tools/generate-tests.d.ts +0 -11
  446. package/dist/mcp/tools/generate-tests.d.ts.map +0 -1
  447. package/dist/mcp/tools/generate-tests.js +0 -19
  448. package/dist/mcp/tools/generate-tests.js.map +0 -1
  449. package/dist/mcp/tools/health-check.d.ts +0 -10
  450. package/dist/mcp/tools/health-check.d.ts.map +0 -1
  451. package/dist/mcp/tools/health-check.js +0 -37
  452. package/dist/mcp/tools/health-check.js.map +0 -1
  453. package/dist/mcp/tools/memesh-agent-register.d.ts +0 -20
  454. package/dist/mcp/tools/memesh-agent-register.d.ts.map +0 -1
  455. package/dist/mcp/tools/memesh-agent-register.js +0 -80
  456. package/dist/mcp/tools/memesh-agent-register.js.map +0 -1
  457. package/dist/mcp/tools/memesh-cloud-sync.d.ts +0 -30
  458. package/dist/mcp/tools/memesh-cloud-sync.d.ts.map +0 -1
  459. package/dist/mcp/tools/memesh-cloud-sync.js +0 -257
  460. package/dist/mcp/tools/memesh-cloud-sync.js.map +0 -1
  461. package/dist/mcp/tools/memesh-metrics.d.ts +0 -13
  462. package/dist/mcp/tools/memesh-metrics.d.ts.map +0 -1
  463. package/dist/mcp/tools/memesh-metrics.js +0 -193
  464. package/dist/mcp/tools/memesh-metrics.js.map +0 -1
  465. package/dist/mcp/tools/recall-memory.d.ts +0 -31
  466. package/dist/mcp/tools/recall-memory.d.ts.map +0 -1
  467. package/dist/mcp/tools/recall-memory.js +0 -31
  468. package/dist/mcp/tools/recall-memory.js.map +0 -1
  469. package/dist/mcp/validation.d.ts +0 -76
  470. package/dist/mcp/validation.d.ts.map +0 -1
  471. package/dist/mcp/validation.js +0 -106
  472. package/dist/mcp/validation.js.map +0 -1
  473. package/dist/memory/AutoMemoryRecorder.d.ts +0 -35
  474. package/dist/memory/AutoMemoryRecorder.d.ts.map +0 -1
  475. package/dist/memory/AutoMemoryRecorder.js +0 -164
  476. package/dist/memory/AutoMemoryRecorder.js.map +0 -1
  477. package/dist/memory/AutoTagger.d.ts +0 -9
  478. package/dist/memory/AutoTagger.d.ts.map +0 -1
  479. package/dist/memory/AutoTagger.js +0 -149
  480. package/dist/memory/AutoTagger.js.map +0 -1
  481. package/dist/memory/BuiltInRules.d.ts +0 -54
  482. package/dist/memory/BuiltInRules.d.ts.map +0 -1
  483. package/dist/memory/BuiltInRules.js +0 -161
  484. package/dist/memory/BuiltInRules.js.map +0 -1
  485. package/dist/memory/EnhancedRetrieval.d.ts +0 -22
  486. package/dist/memory/EnhancedRetrieval.d.ts.map +0 -1
  487. package/dist/memory/EnhancedRetrieval.js +0 -63
  488. package/dist/memory/EnhancedRetrieval.js.map +0 -1
  489. package/dist/memory/EntityTypes.d.ts +0 -14
  490. package/dist/memory/EntityTypes.d.ts.map +0 -1
  491. package/dist/memory/EntityTypes.js +0 -19
  492. package/dist/memory/EntityTypes.js.map +0 -1
  493. package/dist/memory/MemorySearchEngine.d.ts +0 -17
  494. package/dist/memory/MemorySearchEngine.d.ts.map +0 -1
  495. package/dist/memory/MemorySearchEngine.js +0 -88
  496. package/dist/memory/MemorySearchEngine.js.map +0 -1
  497. package/dist/memory/MistakePatternEngine.d.ts +0 -15
  498. package/dist/memory/MistakePatternEngine.d.ts.map +0 -1
  499. package/dist/memory/MistakePatternEngine.js +0 -99
  500. package/dist/memory/MistakePatternEngine.js.map +0 -1
  501. package/dist/memory/PreventionHook.d.ts +0 -28
  502. package/dist/memory/PreventionHook.d.ts.map +0 -1
  503. package/dist/memory/PreventionHook.js +0 -21
  504. package/dist/memory/PreventionHook.js.map +0 -1
  505. package/dist/memory/ProactiveRecaller.d.ts +0 -26
  506. package/dist/memory/ProactiveRecaller.d.ts.map +0 -1
  507. package/dist/memory/ProactiveRecaller.js +0 -96
  508. package/dist/memory/ProactiveRecaller.js.map +0 -1
  509. package/dist/memory/ProjectAutoTracker.d.ts +0 -80
  510. package/dist/memory/ProjectAutoTracker.d.ts.map +0 -1
  511. package/dist/memory/ProjectAutoTracker.js +0 -386
  512. package/dist/memory/ProjectAutoTracker.js.map +0 -1
  513. package/dist/memory/ProjectMemoryCleanup.d.ts +0 -17
  514. package/dist/memory/ProjectMemoryCleanup.d.ts.map +0 -1
  515. package/dist/memory/ProjectMemoryCleanup.js +0 -57
  516. package/dist/memory/ProjectMemoryCleanup.js.map +0 -1
  517. package/dist/memory/ProjectMemoryManager.d.ts +0 -19
  518. package/dist/memory/ProjectMemoryManager.d.ts.map +0 -1
  519. package/dist/memory/ProjectMemoryManager.js +0 -62
  520. package/dist/memory/ProjectMemoryManager.js.map +0 -1
  521. package/dist/memory/SmartMemoryQuery.d.ts +0 -9
  522. package/dist/memory/SmartMemoryQuery.d.ts.map +0 -1
  523. package/dist/memory/SmartMemoryQuery.js +0 -66
  524. package/dist/memory/SmartMemoryQuery.js.map +0 -1
  525. package/dist/memory/UnifiedMemoryStore.d.ts +0 -27
  526. package/dist/memory/UnifiedMemoryStore.d.ts.map +0 -1
  527. package/dist/memory/UnifiedMemoryStore.js +0 -536
  528. package/dist/memory/UnifiedMemoryStore.js.map +0 -1
  529. package/dist/memory/UserPreferenceEngine.d.ts +0 -18
  530. package/dist/memory/UserPreferenceEngine.d.ts.map +0 -1
  531. package/dist/memory/UserPreferenceEngine.js +0 -117
  532. package/dist/memory/UserPreferenceEngine.js.map +0 -1
  533. package/dist/memory/config/semantic-groups.d.ts +0 -9
  534. package/dist/memory/config/semantic-groups.d.ts.map +0 -1
  535. package/dist/memory/config/semantic-groups.js +0 -22
  536. package/dist/memory/config/semantic-groups.js.map +0 -1
  537. package/dist/memory/index.d.ts +0 -16
  538. package/dist/memory/index.d.ts.map +0 -1
  539. package/dist/memory/index.js +0 -12
  540. package/dist/memory/index.js.map +0 -1
  541. package/dist/memory/types/index.d.ts +0 -7
  542. package/dist/memory/types/index.d.ts.map +0 -1
  543. package/dist/memory/types/index.js +0 -4
  544. package/dist/memory/types/index.js.map +0 -1
  545. package/dist/memory/types/memory-scope.d.ts +0 -27
  546. package/dist/memory/types/memory-scope.d.ts.map +0 -1
  547. package/dist/memory/types/memory-scope.js +0 -67
  548. package/dist/memory/types/memory-scope.js.map +0 -1
  549. package/dist/memory/types/pattern-types.d.ts +0 -66
  550. package/dist/memory/types/pattern-types.d.ts.map +0 -1
  551. package/dist/memory/types/pattern-types.js +0 -2
  552. package/dist/memory/types/pattern-types.js.map +0 -1
  553. package/dist/memory/types/preference-types.d.ts +0 -28
  554. package/dist/memory/types/preference-types.d.ts.map +0 -1
  555. package/dist/memory/types/preference-types.js +0 -2
  556. package/dist/memory/types/preference-types.js.map +0 -1
  557. package/dist/memory/types/unified-memory.d.ts +0 -29
  558. package/dist/memory/types/unified-memory.d.ts.map +0 -1
  559. package/dist/memory/types/unified-memory.js +0 -21
  560. package/dist/memory/types/unified-memory.js.map +0 -1
  561. package/dist/prompts/templates/PromptTemplates.d.ts +0 -11
  562. package/dist/prompts/templates/PromptTemplates.d.ts.map +0 -1
  563. package/dist/prompts/templates/PromptTemplates.js +0 -942
  564. package/dist/prompts/templates/PromptTemplates.js.map +0 -1
  565. package/dist/prompts/templates/index.d.ts +0 -2
  566. package/dist/prompts/templates/index.d.ts.map +0 -1
  567. package/dist/prompts/templates/index.js +0 -2
  568. package/dist/prompts/templates/index.js.map +0 -1
  569. package/dist/skills/SkillManager.d.ts +0 -33
  570. package/dist/skills/SkillManager.d.ts.map +0 -1
  571. package/dist/skills/SkillManager.js +0 -153
  572. package/dist/skills/SkillManager.js.map +0 -1
  573. package/dist/skills/index.d.ts +0 -3
  574. package/dist/skills/index.d.ts.map +0 -1
  575. package/dist/skills/index.js +0 -2
  576. package/dist/skills/index.js.map +0 -1
  577. package/dist/telemetry/TelemetryCollector.d.ts +0 -19
  578. package/dist/telemetry/TelemetryCollector.d.ts.map +0 -1
  579. package/dist/telemetry/TelemetryCollector.js +0 -62
  580. package/dist/telemetry/TelemetryCollector.js.map +0 -1
  581. package/dist/telemetry/TelemetryStore.d.ts +0 -20
  582. package/dist/telemetry/TelemetryStore.d.ts.map +0 -1
  583. package/dist/telemetry/TelemetryStore.js +0 -127
  584. package/dist/telemetry/TelemetryStore.js.map +0 -1
  585. package/dist/telemetry/index.d.ts +0 -8
  586. package/dist/telemetry/index.d.ts.map +0 -1
  587. package/dist/telemetry/index.js +0 -33
  588. package/dist/telemetry/index.js.map +0 -1
  589. package/dist/telemetry/sanitization.d.ts +0 -6
  590. package/dist/telemetry/sanitization.d.ts.map +0 -1
  591. package/dist/telemetry/sanitization.js +0 -180
  592. package/dist/telemetry/sanitization.js.map +0 -1
  593. package/dist/telemetry/types.d.ts +0 -73
  594. package/dist/telemetry/types.d.ts.map +0 -1
  595. package/dist/telemetry/types.js +0 -16
  596. package/dist/telemetry/types.js.map +0 -1
  597. package/dist/tools/TestGenerator.d.ts +0 -8
  598. package/dist/tools/TestGenerator.d.ts.map +0 -1
  599. package/dist/tools/TestGenerator.js +0 -54
  600. package/dist/tools/TestGenerator.js.map +0 -1
  601. package/dist/types/AgentClassification.d.ts +0 -30
  602. package/dist/types/AgentClassification.d.ts.map +0 -1
  603. package/dist/types/AgentClassification.js +0 -19
  604. package/dist/types/AgentClassification.js.map +0 -1
  605. package/dist/types/Checkpoint.d.ts +0 -12
  606. package/dist/types/Checkpoint.d.ts.map +0 -1
  607. package/dist/types/Checkpoint.js +0 -13
  608. package/dist/types/Checkpoint.js.map +0 -1
  609. package/dist/types/toonify.d.ts +0 -91
  610. package/dist/types/toonify.d.ts.map +0 -1
  611. package/dist/types/toonify.js +0 -18
  612. package/dist/types/toonify.js.map +0 -1
  613. package/dist/ui/AsciiProgressBar.d.ts +0 -29
  614. package/dist/ui/AsciiProgressBar.d.ts.map +0 -1
  615. package/dist/ui/AsciiProgressBar.js +0 -130
  616. package/dist/ui/AsciiProgressBar.js.map +0 -1
  617. package/dist/ui/AttributionManager.d.ts +0 -19
  618. package/dist/ui/AttributionManager.d.ts.map +0 -1
  619. package/dist/ui/AttributionManager.js +0 -107
  620. package/dist/ui/AttributionManager.js.map +0 -1
  621. package/dist/ui/Dashboard.d.ts +0 -24
  622. package/dist/ui/Dashboard.d.ts.map +0 -1
  623. package/dist/ui/Dashboard.js +0 -135
  624. package/dist/ui/Dashboard.js.map +0 -1
  625. package/dist/ui/LoadingIndicator.d.ts +0 -53
  626. package/dist/ui/LoadingIndicator.d.ts.map +0 -1
  627. package/dist/ui/LoadingIndicator.js +0 -211
  628. package/dist/ui/LoadingIndicator.js.map +0 -1
  629. package/dist/ui/MetricsStore.d.ts +0 -15
  630. package/dist/ui/MetricsStore.d.ts.map +0 -1
  631. package/dist/ui/MetricsStore.js +0 -131
  632. package/dist/ui/MetricsStore.js.map +0 -1
  633. package/dist/ui/ProgressIndicator.d.ts +0 -35
  634. package/dist/ui/ProgressIndicator.d.ts.map +0 -1
  635. package/dist/ui/ProgressIndicator.js +0 -177
  636. package/dist/ui/ProgressIndicator.js.map +0 -1
  637. package/dist/ui/ProgressRenderer.d.ts +0 -24
  638. package/dist/ui/ProgressRenderer.d.ts.map +0 -1
  639. package/dist/ui/ProgressRenderer.js +0 -143
  640. package/dist/ui/ProgressRenderer.js.map +0 -1
  641. package/dist/ui/ResponseFormatter.d.ts +0 -57
  642. package/dist/ui/ResponseFormatter.d.ts.map +0 -1
  643. package/dist/ui/ResponseFormatter.js +0 -513
  644. package/dist/ui/ResponseFormatter.js.map +0 -1
  645. package/dist/ui/UIEventBus.d.ts +0 -38
  646. package/dist/ui/UIEventBus.d.ts.map +0 -1
  647. package/dist/ui/UIEventBus.js +0 -173
  648. package/dist/ui/UIEventBus.js.map +0 -1
  649. package/dist/ui/accessibility.d.ts +0 -28
  650. package/dist/ui/accessibility.d.ts.map +0 -1
  651. package/dist/ui/accessibility.js +0 -97
  652. package/dist/ui/accessibility.js.map +0 -1
  653. package/dist/ui/design-tokens.d.ts +0 -36
  654. package/dist/ui/design-tokens.d.ts.map +0 -1
  655. package/dist/ui/design-tokens.js +0 -94
  656. package/dist/ui/design-tokens.js.map +0 -1
  657. package/dist/ui/index.d.ts +0 -8
  658. package/dist/ui/index.d.ts.map +0 -1
  659. package/dist/ui/index.js +0 -6
  660. package/dist/ui/index.js.map +0 -1
  661. package/dist/ui/theme.d.ts +0 -313
  662. package/dist/ui/theme.d.ts.map +0 -1
  663. package/dist/ui/theme.js +0 -198
  664. package/dist/ui/theme.js.map +0 -1
  665. package/dist/ui/types.d.ts +0 -146
  666. package/dist/ui/types.d.ts.map +0 -1
  667. package/dist/ui/types.js +0 -16
  668. package/dist/ui/types.js.map +0 -1
  669. package/dist/utils/ILogger.d.ts +0 -7
  670. package/dist/utils/ILogger.d.ts.map +0 -1
  671. package/dist/utils/ILogger.js +0 -2
  672. package/dist/utils/ILogger.js.map +0 -1
  673. package/dist/utils/MinHeap.d.ts +0 -15
  674. package/dist/utils/MinHeap.d.ts.map +0 -1
  675. package/dist/utils/MinHeap.js +0 -69
  676. package/dist/utils/MinHeap.js.map +0 -1
  677. package/dist/utils/PathResolver.d.ts +0 -13
  678. package/dist/utils/PathResolver.d.ts.map +0 -1
  679. package/dist/utils/PathResolver.js +0 -77
  680. package/dist/utils/PathResolver.js.map +0 -1
  681. package/dist/utils/RateLimiter.d.ts +0 -28
  682. package/dist/utils/RateLimiter.d.ts.map +0 -1
  683. package/dist/utils/RateLimiter.js +0 -115
  684. package/dist/utils/RateLimiter.js.map +0 -1
  685. package/dist/utils/SystemResources.d.ts +0 -40
  686. package/dist/utils/SystemResources.d.ts.map +0 -1
  687. package/dist/utils/SystemResources.js +0 -216
  688. package/dist/utils/SystemResources.js.map +0 -1
  689. package/dist/utils/errorHandler.d.ts +0 -49
  690. package/dist/utils/errorHandler.d.ts.map +0 -1
  691. package/dist/utils/errorHandler.js +0 -397
  692. package/dist/utils/errorHandler.js.map +0 -1
  693. package/dist/utils/index.d.ts +0 -17
  694. package/dist/utils/index.d.ts.map +0 -1
  695. package/dist/utils/index.js +0 -15
  696. package/dist/utils/index.js.map +0 -1
  697. package/dist/utils/json.d.ts +0 -13
  698. package/dist/utils/json.d.ts.map +0 -1
  699. package/dist/utils/json.js +0 -95
  700. package/dist/utils/json.js.map +0 -1
  701. package/dist/utils/logger.d.ts +0 -16
  702. package/dist/utils/logger.d.ts.map +0 -1
  703. package/dist/utils/logger.js +0 -125
  704. package/dist/utils/logger.js.map +0 -1
  705. package/dist/utils/lru-cache.d.ts +0 -47
  706. package/dist/utils/lru-cache.d.ts.map +0 -1
  707. package/dist/utils/lru-cache.js +0 -239
  708. package/dist/utils/lru-cache.js.map +0 -1
  709. package/dist/utils/memory.d.ts +0 -20
  710. package/dist/utils/memory.d.ts.map +0 -1
  711. package/dist/utils/memory.js +0 -53
  712. package/dist/utils/memory.js.map +0 -1
  713. package/dist/utils/money.d.ts +0 -10
  714. package/dist/utils/money.d.ts.map +0 -1
  715. package/dist/utils/money.js +0 -25
  716. package/dist/utils/money.js.map +0 -1
  717. package/dist/utils/pathValidation.d.ts +0 -2
  718. package/dist/utils/pathValidation.d.ts.map +0 -1
  719. package/dist/utils/pathValidation.js +0 -62
  720. package/dist/utils/pathValidation.js.map +0 -1
  721. package/dist/utils/paths.d.ts +0 -4
  722. package/dist/utils/paths.d.ts.map +0 -1
  723. package/dist/utils/paths.js +0 -28
  724. package/dist/utils/paths.js.map +0 -1
  725. package/dist/utils/requestId.d.ts +0 -4
  726. package/dist/utils/requestId.d.ts.map +0 -1
  727. package/dist/utils/requestId.js +0 -17
  728. package/dist/utils/requestId.js.map +0 -1
  729. package/dist/utils/retry.d.ts +0 -20
  730. package/dist/utils/retry.d.ts.map +0 -1
  731. package/dist/utils/retry.js +0 -226
  732. package/dist/utils/retry.js.map +0 -1
  733. package/dist/utils/safeMath.d.ts +0 -11
  734. package/dist/utils/safeMath.d.ts.map +0 -1
  735. package/dist/utils/safeMath.js +0 -92
  736. package/dist/utils/safeMath.js.map +0 -1
  737. package/dist/utils/toonify-adapter.d.ts +0 -77
  738. package/dist/utils/toonify-adapter.d.ts.map +0 -1
  739. package/dist/utils/toonify-adapter.js +0 -282
  740. package/dist/utils/toonify-adapter.js.map +0 -1
  741. package/dist/utils/tracing/TraceContext.d.ts +0 -23
  742. package/dist/utils/tracing/TraceContext.d.ts.map +0 -1
  743. package/dist/utils/tracing/TraceContext.js +0 -127
  744. package/dist/utils/tracing/TraceContext.js.map +0 -1
  745. package/dist/utils/tracing/index.d.ts +0 -2
  746. package/dist/utils/tracing/index.d.ts.map +0 -1
  747. package/dist/utils/tracing/index.js +0 -2
  748. package/dist/utils/tracing/index.js.map +0 -1
  749. package/dist/utils/tracing/middleware.d.ts +0 -15
  750. package/dist/utils/tracing/middleware.d.ts.map +0 -1
  751. package/dist/utils/tracing/middleware.js +0 -49
  752. package/dist/utils/tracing/middleware.js.map +0 -1
  753. package/dist/utils/validation.d.ts +0 -12
  754. package/dist/utils/validation.d.ts.map +0 -1
  755. package/dist/utils/validation.js +0 -87
  756. package/dist/utils/validation.js.map +0 -1
  757. package/scripts/health-check.js +0 -255
  758. package/scripts/hooks/README.md +0 -230
  759. package/scripts/hooks/__tests__/hook-test-harness.js +0 -218
  760. package/scripts/hooks/__tests__/hooks.test.js +0 -267
  761. package/scripts/hooks/__tests__/post-tool-use-recall.test.js +0 -192
  762. package/scripts/hooks/__tests__/session-start-recall.test.js +0 -86
  763. package/scripts/hooks/hook-utils.js +0 -899
  764. package/scripts/hooks/post-tool-use-recall-utils.js +0 -74
  765. package/scripts/hooks/post-tool-use.js +0 -895
  766. package/scripts/hooks/pre-tool-use.js +0 -491
  767. package/scripts/hooks/session-start-recall-utils.js +0 -40
  768. package/scripts/hooks/stop.js +0 -673
  769. package/scripts/hooks/subagent-stop.js +0 -184
  770. package/scripts/hooks/templates/planning-template.md +0 -46
  771. package/scripts/postinstall-lib.js +0 -242
  772. package/scripts/postinstall-new.js +0 -191
  773. package/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
- }