@pcircle/memesh 2.10.1 → 3.0.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 (818) hide show
  1. package/.mcp.json +2 -5
  2. package/README.md +122 -221
  3. package/dist/cli/assets/d3.v7.min.js +2 -0
  4. package/dist/cli/view.d.ts +4 -0
  5. package/dist/cli/view.d.ts.map +1 -0
  6. package/dist/cli/view.js +2672 -0
  7. package/dist/cli/view.js.map +1 -0
  8. package/dist/core/config.d.ts +33 -0
  9. package/dist/core/config.d.ts.map +1 -0
  10. package/dist/core/config.js +70 -0
  11. package/dist/core/config.js.map +1 -0
  12. package/dist/core/extractor.d.ts +26 -0
  13. package/dist/core/extractor.d.ts.map +1 -0
  14. package/dist/core/extractor.js +106 -0
  15. package/dist/core/extractor.js.map +1 -0
  16. package/dist/core/lifecycle.d.ts +9 -0
  17. package/dist/core/lifecycle.d.ts.map +1 -0
  18. package/dist/core/lifecycle.js +51 -0
  19. package/dist/core/lifecycle.js.map +1 -0
  20. package/dist/core/operations.d.ts +9 -0
  21. package/dist/core/operations.d.ts.map +1 -0
  22. package/dist/core/operations.js +342 -0
  23. package/dist/core/operations.js.map +1 -0
  24. package/dist/core/query-expander.d.ts +4 -0
  25. package/dist/core/query-expander.d.ts.map +1 -0
  26. package/dist/core/query-expander.js +114 -0
  27. package/dist/core/query-expander.js.map +1 -0
  28. package/dist/core/schema-export.d.ts +2 -0
  29. package/dist/core/schema-export.d.ts.map +1 -0
  30. package/dist/core/schema-export.js +67 -0
  31. package/dist/core/schema-export.js.map +1 -0
  32. package/dist/core/scoring.d.ts +25 -0
  33. package/dist/core/scoring.d.ts.map +1 -0
  34. package/dist/core/scoring.js +40 -0
  35. package/dist/core/scoring.js.map +1 -0
  36. package/dist/core/types.d.ts +116 -58
  37. package/dist/core/types.d.ts.map +1 -1
  38. package/dist/core/types.js +1 -10
  39. package/dist/core/types.js.map +1 -1
  40. package/dist/core/version-check.d.ts +10 -0
  41. package/dist/core/version-check.d.ts.map +1 -0
  42. package/dist/core/version-check.js +44 -0
  43. package/dist/core/version-check.js.map +1 -0
  44. package/dist/db.d.ts +5 -0
  45. package/dist/db.d.ts.map +1 -0
  46. package/dist/db.js +113 -0
  47. package/dist/db.js.map +1 -0
  48. package/dist/index.d.ts +3 -6
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +2 -33
  51. package/dist/index.js.map +1 -1
  52. package/dist/knowledge-graph.d.ts +34 -0
  53. package/dist/knowledge-graph.d.ts.map +1 -0
  54. package/dist/knowledge-graph.js +367 -0
  55. package/dist/knowledge-graph.js.map +1 -0
  56. package/dist/mcp/server.d.ts +1 -25
  57. package/dist/mcp/server.d.ts.map +1 -1
  58. package/dist/mcp/server.js +39 -318
  59. package/dist/mcp/server.js.map +1 -1
  60. package/dist/mcp/tools.d.ts +2 -0
  61. package/dist/mcp/tools.d.ts.map +1 -0
  62. package/dist/mcp/tools.js +2 -0
  63. package/dist/mcp/tools.js.map +1 -0
  64. package/dist/transports/cli/cli.d.ts +3 -0
  65. package/dist/transports/cli/cli.d.ts.map +1 -0
  66. package/dist/transports/cli/cli.js +378 -0
  67. package/dist/transports/cli/cli.js.map +1 -0
  68. package/dist/transports/http/server.d.ts +5 -0
  69. package/dist/transports/http/server.d.ts.map +1 -0
  70. package/dist/transports/http/server.js +314 -0
  71. package/dist/transports/http/server.js.map +1 -0
  72. package/dist/transports/mcp/handlers.d.ts +184 -0
  73. package/dist/transports/mcp/handlers.d.ts.map +1 -0
  74. package/dist/transports/mcp/handlers.js +271 -0
  75. package/dist/transports/mcp/handlers.js.map +1 -0
  76. package/hooks/hooks.json +8 -24
  77. package/package.json +26 -90
  78. package/plugin.json +7 -10
  79. package/scripts/hooks/post-commit.js +160 -298
  80. package/scripts/hooks/pre-compact.js +198 -0
  81. package/scripts/hooks/session-start.js +130 -627
  82. package/scripts/hooks/session-summary.js +255 -0
  83. package/README.de.md +0 -212
  84. package/README.es.md +0 -212
  85. package/README.fr.md +0 -212
  86. package/README.id.md +0 -212
  87. package/README.ja.md +0 -212
  88. package/README.ko.md +0 -212
  89. package/README.th.md +0 -212
  90. package/README.vi.md +0 -212
  91. package/README.zh-CN.md +0 -212
  92. package/README.zh-TW.md +0 -286
  93. package/dist/cli/config.d.ts +0 -36
  94. package/dist/cli/config.d.ts.map +0 -1
  95. package/dist/cli/config.js +0 -398
  96. package/dist/cli/config.js.map +0 -1
  97. package/dist/cli/credentials.d.ts +0 -12
  98. package/dist/cli/credentials.d.ts.map +0 -1
  99. package/dist/cli/credentials.js +0 -44
  100. package/dist/cli/credentials.js.map +0 -1
  101. package/dist/cli/daemon.d.ts +0 -3
  102. package/dist/cli/daemon.d.ts.map +0 -1
  103. package/dist/cli/daemon.js +0 -413
  104. package/dist/cli/daemon.js.map +0 -1
  105. package/dist/cli/dashboard.d.ts +0 -2
  106. package/dist/cli/dashboard.d.ts.map +0 -1
  107. package/dist/cli/dashboard.js +0 -300
  108. package/dist/cli/dashboard.js.map +0 -1
  109. package/dist/cli/index.d.ts +0 -3
  110. package/dist/cli/index.d.ts.map +0 -1
  111. package/dist/cli/index.js +0 -188
  112. package/dist/cli/index.js.map +0 -1
  113. package/dist/cli/login.d.ts +0 -4
  114. package/dist/cli/login.d.ts.map +0 -1
  115. package/dist/cli/login.js +0 -230
  116. package/dist/cli/login.js.map +0 -1
  117. package/dist/cli/logout.d.ts +0 -3
  118. package/dist/cli/logout.d.ts.map +0 -1
  119. package/dist/cli/logout.js +0 -23
  120. package/dist/cli/logout.js.map +0 -1
  121. package/dist/cli/setup-wizard.d.ts +0 -18
  122. package/dist/cli/setup-wizard.d.ts.map +0 -1
  123. package/dist/cli/setup-wizard.js +0 -267
  124. package/dist/cli/setup-wizard.js.map +0 -1
  125. package/dist/cli/stats.d.ts +0 -34
  126. package/dist/cli/stats.d.ts.map +0 -1
  127. package/dist/cli/stats.js +0 -479
  128. package/dist/cli/stats.js.map +0 -1
  129. package/dist/cli/tutorial.d.ts +0 -27
  130. package/dist/cli/tutorial.d.ts.map +0 -1
  131. package/dist/cli/tutorial.js +0 -430
  132. package/dist/cli/tutorial.js.map +0 -1
  133. package/dist/cloud/MeMeshCloudClient.d.ts +0 -88
  134. package/dist/cloud/MeMeshCloudClient.d.ts.map +0 -1
  135. package/dist/cloud/MeMeshCloudClient.js +0 -177
  136. package/dist/cloud/MeMeshCloudClient.js.map +0 -1
  137. package/dist/cloud/index.d.ts +0 -3
  138. package/dist/cloud/index.d.ts.map +0 -1
  139. package/dist/cloud/index.js +0 -2
  140. package/dist/cloud/index.js.map +0 -1
  141. package/dist/config/index.d.ts +0 -61
  142. package/dist/config/index.d.ts.map +0 -1
  143. package/dist/config/index.js +0 -105
  144. package/dist/config/index.js.map +0 -1
  145. package/dist/config/models.d.ts +0 -47
  146. package/dist/config/models.d.ts.map +0 -1
  147. package/dist/config/models.js +0 -57
  148. package/dist/config/models.js.map +0 -1
  149. package/dist/config/simple-config.d.ts +0 -35
  150. package/dist/config/simple-config.d.ts.map +0 -1
  151. package/dist/config/simple-config.js +0 -246
  152. package/dist/config/simple-config.js.map +0 -1
  153. package/dist/core/AgentRegistry.d.ts +0 -31
  154. package/dist/core/AgentRegistry.d.ts.map +0 -1
  155. package/dist/core/AgentRegistry.js +0 -281
  156. package/dist/core/AgentRegistry.js.map +0 -1
  157. package/dist/core/CheckpointDetector.d.ts +0 -25
  158. package/dist/core/CheckpointDetector.d.ts.map +0 -1
  159. package/dist/core/CheckpointDetector.js +0 -67
  160. package/dist/core/CheckpointDetector.js.map +0 -1
  161. package/dist/core/GitCommandParser.d.ts +0 -11
  162. package/dist/core/GitCommandParser.d.ts.map +0 -1
  163. package/dist/core/GitCommandParser.js +0 -43
  164. package/dist/core/GitCommandParser.js.map +0 -1
  165. package/dist/core/HealthCheck.d.ts +0 -39
  166. package/dist/core/HealthCheck.d.ts.map +0 -1
  167. package/dist/core/HealthCheck.js +0 -219
  168. package/dist/core/HealthCheck.js.map +0 -1
  169. package/dist/core/HookIntegration.d.ts +0 -47
  170. package/dist/core/HookIntegration.d.ts.map +0 -1
  171. package/dist/core/HookIntegration.js +0 -275
  172. package/dist/core/HookIntegration.js.map +0 -1
  173. package/dist/core/MCPToolInterface.d.ts +0 -120
  174. package/dist/core/MCPToolInterface.d.ts.map +0 -1
  175. package/dist/core/MCPToolInterface.js +0 -376
  176. package/dist/core/MCPToolInterface.js.map +0 -1
  177. package/dist/core/MistakePatternManager.d.ts +0 -31
  178. package/dist/core/MistakePatternManager.d.ts.map +0 -1
  179. package/dist/core/MistakePatternManager.js +0 -137
  180. package/dist/core/MistakePatternManager.js.map +0 -1
  181. package/dist/core/ResourceMonitor.d.ts +0 -32
  182. package/dist/core/ResourceMonitor.d.ts.map +0 -1
  183. package/dist/core/ResourceMonitor.js +0 -243
  184. package/dist/core/ResourceMonitor.js.map +0 -1
  185. package/dist/core/ServiceLocator.d.ts +0 -10
  186. package/dist/core/ServiceLocator.d.ts.map +0 -1
  187. package/dist/core/ServiceLocator.js +0 -30
  188. package/dist/core/ServiceLocator.js.map +0 -1
  189. package/dist/core/TestOutputParser.d.ts +0 -20
  190. package/dist/core/TestOutputParser.d.ts.map +0 -1
  191. package/dist/core/TestOutputParser.js +0 -144
  192. package/dist/core/TestOutputParser.js.map +0 -1
  193. package/dist/db/ConnectionPool.d.ts +0 -50
  194. package/dist/db/ConnectionPool.d.ts.map +0 -1
  195. package/dist/db/ConnectionPool.js +0 -569
  196. package/dist/db/ConnectionPool.js.map +0 -1
  197. package/dist/db/IDatabaseAdapter.d.ts +0 -25
  198. package/dist/db/IDatabaseAdapter.d.ts.map +0 -1
  199. package/dist/db/IDatabaseAdapter.js +0 -2
  200. package/dist/db/IDatabaseAdapter.js.map +0 -1
  201. package/dist/db/QueryCache.d.ts +0 -46
  202. package/dist/db/QueryCache.d.ts.map +0 -1
  203. package/dist/db/QueryCache.js +0 -232
  204. package/dist/db/QueryCache.js.map +0 -1
  205. package/dist/db/adapters/BetterSqlite3Adapter.d.ts +0 -15
  206. package/dist/db/adapters/BetterSqlite3Adapter.d.ts.map +0 -1
  207. package/dist/db/adapters/BetterSqlite3Adapter.js +0 -127
  208. package/dist/db/adapters/BetterSqlite3Adapter.js.map +0 -1
  209. package/dist/embeddings/EmbeddingService.d.ts +0 -23
  210. package/dist/embeddings/EmbeddingService.d.ts.map +0 -1
  211. package/dist/embeddings/EmbeddingService.js +0 -131
  212. package/dist/embeddings/EmbeddingService.js.map +0 -1
  213. package/dist/embeddings/InMemoryVectorAdapter.d.ts +0 -15
  214. package/dist/embeddings/InMemoryVectorAdapter.d.ts.map +0 -1
  215. package/dist/embeddings/InMemoryVectorAdapter.js +0 -58
  216. package/dist/embeddings/InMemoryVectorAdapter.js.map +0 -1
  217. package/dist/embeddings/ModelManager.d.ts +0 -18
  218. package/dist/embeddings/ModelManager.d.ts.map +0 -1
  219. package/dist/embeddings/ModelManager.js +0 -84
  220. package/dist/embeddings/ModelManager.js.map +0 -1
  221. package/dist/embeddings/SqliteVecAdapter.d.ts +0 -15
  222. package/dist/embeddings/SqliteVecAdapter.d.ts.map +0 -1
  223. package/dist/embeddings/SqliteVecAdapter.js +0 -107
  224. package/dist/embeddings/SqliteVecAdapter.js.map +0 -1
  225. package/dist/embeddings/VectorExtension.d.ts +0 -17
  226. package/dist/embeddings/VectorExtension.d.ts.map +0 -1
  227. package/dist/embeddings/VectorExtension.js +0 -107
  228. package/dist/embeddings/VectorExtension.js.map +0 -1
  229. package/dist/embeddings/VectorSearchAdapter.d.ts +0 -17
  230. package/dist/embeddings/VectorSearchAdapter.d.ts.map +0 -1
  231. package/dist/embeddings/VectorSearchAdapter.js +0 -2
  232. package/dist/embeddings/VectorSearchAdapter.js.map +0 -1
  233. package/dist/embeddings/index.d.ts +0 -9
  234. package/dist/embeddings/index.d.ts.map +0 -1
  235. package/dist/embeddings/index.js +0 -7
  236. package/dist/embeddings/index.js.map +0 -1
  237. package/dist/errors/ErrorClassifier.d.ts +0 -60
  238. package/dist/errors/ErrorClassifier.d.ts.map +0 -1
  239. package/dist/errors/ErrorClassifier.js +0 -415
  240. package/dist/errors/ErrorClassifier.js.map +0 -1
  241. package/dist/errors/index.d.ts +0 -63
  242. package/dist/errors/index.d.ts.map +0 -1
  243. package/dist/errors/index.js +0 -127
  244. package/dist/errors/index.js.map +0 -1
  245. package/dist/i18n/index.d.ts +0 -9
  246. package/dist/i18n/index.d.ts.map +0 -1
  247. package/dist/i18n/index.js +0 -78
  248. package/dist/i18n/index.js.map +0 -1
  249. package/dist/i18n/locales/en.d.ts +0 -3
  250. package/dist/i18n/locales/en.d.ts.map +0 -1
  251. package/dist/i18n/locales/en.js +0 -32
  252. package/dist/i18n/locales/en.js.map +0 -1
  253. package/dist/i18n/locales/index.d.ts +0 -5
  254. package/dist/i18n/locales/index.d.ts.map +0 -1
  255. package/dist/i18n/locales/index.js +0 -5
  256. package/dist/i18n/locales/index.js.map +0 -1
  257. package/dist/i18n/locales/ja.d.ts +0 -3
  258. package/dist/i18n/locales/ja.d.ts.map +0 -1
  259. package/dist/i18n/locales/ja.js +0 -30
  260. package/dist/i18n/locales/ja.js.map +0 -1
  261. package/dist/i18n/locales/zh-CN.d.ts +0 -3
  262. package/dist/i18n/locales/zh-CN.d.ts.map +0 -1
  263. package/dist/i18n/locales/zh-CN.js +0 -30
  264. package/dist/i18n/locales/zh-CN.js.map +0 -1
  265. package/dist/i18n/locales/zh-TW.d.ts +0 -3
  266. package/dist/i18n/locales/zh-TW.d.ts.map +0 -1
  267. package/dist/i18n/locales/zh-TW.js +0 -30
  268. package/dist/i18n/locales/zh-TW.js.map +0 -1
  269. package/dist/i18n/types.d.ts +0 -11
  270. package/dist/i18n/types.d.ts.map +0 -1
  271. package/dist/i18n/types.js +0 -3
  272. package/dist/i18n/types.js.map +0 -1
  273. package/dist/integrations/session-memory/SessionContextInjector.d.ts +0 -30
  274. package/dist/integrations/session-memory/SessionContextInjector.d.ts.map +0 -1
  275. package/dist/integrations/session-memory/SessionContextInjector.js +0 -192
  276. package/dist/integrations/session-memory/SessionContextInjector.js.map +0 -1
  277. package/dist/integrations/session-memory/SessionMemoryIngester.d.ts +0 -15
  278. package/dist/integrations/session-memory/SessionMemoryIngester.d.ts.map +0 -1
  279. package/dist/integrations/session-memory/SessionMemoryIngester.js +0 -229
  280. package/dist/integrations/session-memory/SessionMemoryIngester.js.map +0 -1
  281. package/dist/integrations/session-memory/SessionMemoryParser.d.ts +0 -16
  282. package/dist/integrations/session-memory/SessionMemoryParser.d.ts.map +0 -1
  283. package/dist/integrations/session-memory/SessionMemoryParser.js +0 -271
  284. package/dist/integrations/session-memory/SessionMemoryParser.js.map +0 -1
  285. package/dist/integrations/session-memory/SessionMemoryPipeline.d.ts +0 -20
  286. package/dist/integrations/session-memory/SessionMemoryPipeline.d.ts.map +0 -1
  287. package/dist/integrations/session-memory/SessionMemoryPipeline.js +0 -60
  288. package/dist/integrations/session-memory/SessionMemoryPipeline.js.map +0 -1
  289. package/dist/integrations/session-memory/SessionMemoryWatcher.d.ts +0 -27
  290. package/dist/integrations/session-memory/SessionMemoryWatcher.d.ts.map +0 -1
  291. package/dist/integrations/session-memory/SessionMemoryWatcher.js +0 -145
  292. package/dist/integrations/session-memory/SessionMemoryWatcher.js.map +0 -1
  293. package/dist/integrations/session-memory/index.d.ts +0 -9
  294. package/dist/integrations/session-memory/index.d.ts.map +0 -1
  295. package/dist/integrations/session-memory/index.js +0 -6
  296. package/dist/integrations/session-memory/index.js.map +0 -1
  297. package/dist/integrations/session-memory/types.d.ts +0 -74
  298. package/dist/integrations/session-memory/types.d.ts.map +0 -1
  299. package/dist/integrations/session-memory/types.js +0 -22
  300. package/dist/integrations/session-memory/types.js.map +0 -1
  301. package/dist/knowledge-graph/ContentHasher.d.ts +0 -4
  302. package/dist/knowledge-graph/ContentHasher.d.ts.map +0 -1
  303. package/dist/knowledge-graph/ContentHasher.js +0 -8
  304. package/dist/knowledge-graph/ContentHasher.js.map +0 -1
  305. package/dist/knowledge-graph/KGSearchEngine.d.ts +0 -37
  306. package/dist/knowledge-graph/KGSearchEngine.d.ts.map +0 -1
  307. package/dist/knowledge-graph/KGSearchEngine.js +0 -257
  308. package/dist/knowledge-graph/KGSearchEngine.js.map +0 -1
  309. package/dist/knowledge-graph/index.d.ts +0 -64
  310. package/dist/knowledge-graph/index.d.ts.map +0 -1
  311. package/dist/knowledge-graph/index.js +0 -681
  312. package/dist/knowledge-graph/index.js.map +0 -1
  313. package/dist/knowledge-graph/types.d.ts +0 -38
  314. package/dist/knowledge-graph/types.d.ts.map +0 -1
  315. package/dist/knowledge-graph/types.js +0 -2
  316. package/dist/knowledge-graph/types.js.map +0 -1
  317. package/dist/management/UninstallManager.d.ts +0 -23
  318. package/dist/management/UninstallManager.d.ts.map +0 -1
  319. package/dist/management/UninstallManager.js +0 -186
  320. package/dist/management/UninstallManager.js.map +0 -1
  321. package/dist/management/index.d.ts +0 -3
  322. package/dist/management/index.d.ts.map +0 -1
  323. package/dist/management/index.js +0 -2
  324. package/dist/management/index.js.map +0 -1
  325. package/dist/mcp/BuddyCommands.d.ts +0 -24
  326. package/dist/mcp/BuddyCommands.d.ts.map +0 -1
  327. package/dist/mcp/BuddyCommands.js +0 -423
  328. package/dist/mcp/BuddyCommands.js.map +0 -1
  329. package/dist/mcp/ClaudeMdReloader.d.ts +0 -37
  330. package/dist/mcp/ClaudeMdReloader.d.ts.map +0 -1
  331. package/dist/mcp/ClaudeMdReloader.js +0 -92
  332. package/dist/mcp/ClaudeMdReloader.js.map +0 -1
  333. package/dist/mcp/HumanInLoopUI.d.ts +0 -23
  334. package/dist/mcp/HumanInLoopUI.d.ts.map +0 -1
  335. package/dist/mcp/HumanInLoopUI.js +0 -92
  336. package/dist/mcp/HumanInLoopUI.js.map +0 -1
  337. package/dist/mcp/ProgressReporter.d.ts +0 -14
  338. package/dist/mcp/ProgressReporter.d.ts.map +0 -1
  339. package/dist/mcp/ProgressReporter.js +0 -22
  340. package/dist/mcp/ProgressReporter.js.map +0 -1
  341. package/dist/mcp/SamplingClient.d.ts +0 -32
  342. package/dist/mcp/SamplingClient.d.ts.map +0 -1
  343. package/dist/mcp/SamplingClient.js +0 -63
  344. package/dist/mcp/SamplingClient.js.map +0 -1
  345. package/dist/mcp/ServerInitializer.d.ts +0 -40
  346. package/dist/mcp/ServerInitializer.d.ts.map +0 -1
  347. package/dist/mcp/ServerInitializer.js +0 -147
  348. package/dist/mcp/ServerInitializer.js.map +0 -1
  349. package/dist/mcp/SessionBootstrapper.d.ts +0 -13
  350. package/dist/mcp/SessionBootstrapper.d.ts.map +0 -1
  351. package/dist/mcp/SessionBootstrapper.js +0 -82
  352. package/dist/mcp/SessionBootstrapper.js.map +0 -1
  353. package/dist/mcp/StdinBufferManager.d.ts +0 -11
  354. package/dist/mcp/StdinBufferManager.d.ts.map +0 -1
  355. package/dist/mcp/StdinBufferManager.js +0 -62
  356. package/dist/mcp/StdinBufferManager.js.map +0 -1
  357. package/dist/mcp/ToolDefinitions.d.ts +0 -44
  358. package/dist/mcp/ToolDefinitions.d.ts.map +0 -1
  359. package/dist/mcp/ToolDefinitions.js +0 -445
  360. package/dist/mcp/ToolDefinitions.js.map +0 -1
  361. package/dist/mcp/ToolRouter.d.ts +0 -27
  362. package/dist/mcp/ToolRouter.d.ts.map +0 -1
  363. package/dist/mcp/ToolRouter.js +0 -179
  364. package/dist/mcp/ToolRouter.js.map +0 -1
  365. package/dist/mcp/daemon/DaemonBootstrap.d.ts +0 -33
  366. package/dist/mcp/daemon/DaemonBootstrap.d.ts.map +0 -1
  367. package/dist/mcp/daemon/DaemonBootstrap.js +0 -155
  368. package/dist/mcp/daemon/DaemonBootstrap.js.map +0 -1
  369. package/dist/mcp/daemon/DaemonLockManager.d.ts +0 -47
  370. package/dist/mcp/daemon/DaemonLockManager.d.ts.map +0 -1
  371. package/dist/mcp/daemon/DaemonLockManager.js +0 -417
  372. package/dist/mcp/daemon/DaemonLockManager.js.map +0 -1
  373. package/dist/mcp/daemon/DaemonProtocol.d.ts +0 -127
  374. package/dist/mcp/daemon/DaemonProtocol.d.ts.map +0 -1
  375. package/dist/mcp/daemon/DaemonProtocol.js +0 -452
  376. package/dist/mcp/daemon/DaemonProtocol.js.map +0 -1
  377. package/dist/mcp/daemon/DaemonSocketServer.d.ts +0 -71
  378. package/dist/mcp/daemon/DaemonSocketServer.d.ts.map +0 -1
  379. package/dist/mcp/daemon/DaemonSocketServer.js +0 -384
  380. package/dist/mcp/daemon/DaemonSocketServer.js.map +0 -1
  381. package/dist/mcp/daemon/GracefulShutdownCoordinator.d.ts +0 -67
  382. package/dist/mcp/daemon/GracefulShutdownCoordinator.d.ts.map +0 -1
  383. package/dist/mcp/daemon/GracefulShutdownCoordinator.js +0 -206
  384. package/dist/mcp/daemon/GracefulShutdownCoordinator.js.map +0 -1
  385. package/dist/mcp/daemon/IpcTransport.d.ts +0 -42
  386. package/dist/mcp/daemon/IpcTransport.d.ts.map +0 -1
  387. package/dist/mcp/daemon/IpcTransport.js +0 -231
  388. package/dist/mcp/daemon/IpcTransport.js.map +0 -1
  389. package/dist/mcp/daemon/StdioProxyClient.d.ts +0 -84
  390. package/dist/mcp/daemon/StdioProxyClient.d.ts.map +0 -1
  391. package/dist/mcp/daemon/StdioProxyClient.js +0 -574
  392. package/dist/mcp/daemon/StdioProxyClient.js.map +0 -1
  393. package/dist/mcp/daemon/VersionManager.d.ts +0 -35
  394. package/dist/mcp/daemon/VersionManager.d.ts.map +0 -1
  395. package/dist/mcp/daemon/VersionManager.js +0 -169
  396. package/dist/mcp/daemon/VersionManager.js.map +0 -1
  397. package/dist/mcp/daemon/index.d.ts +0 -9
  398. package/dist/mcp/daemon/index.d.ts.map +0 -1
  399. package/dist/mcp/daemon/index.js +0 -9
  400. package/dist/mcp/daemon/index.js.map +0 -1
  401. package/dist/mcp/handlers/BuddyHandlers.d.ts +0 -18
  402. package/dist/mcp/handlers/BuddyHandlers.d.ts.map +0 -1
  403. package/dist/mcp/handlers/BuddyHandlers.js +0 -179
  404. package/dist/mcp/handlers/BuddyHandlers.js.map +0 -1
  405. package/dist/mcp/handlers/BuddyRecordMistake.d.ts +0 -17
  406. package/dist/mcp/handlers/BuddyRecordMistake.d.ts.map +0 -1
  407. package/dist/mcp/handlers/BuddyRecordMistake.js +0 -147
  408. package/dist/mcp/handlers/BuddyRecordMistake.js.map +0 -1
  409. package/dist/mcp/handlers/HookToolHandler.d.ts +0 -10
  410. package/dist/mcp/handlers/HookToolHandler.d.ts.map +0 -1
  411. package/dist/mcp/handlers/HookToolHandler.js +0 -92
  412. package/dist/mcp/handlers/HookToolHandler.js.map +0 -1
  413. package/dist/mcp/handlers/MemoryToolHandler.d.ts +0 -21
  414. package/dist/mcp/handlers/MemoryToolHandler.d.ts.map +0 -1
  415. package/dist/mcp/handlers/MemoryToolHandler.js +0 -433
  416. package/dist/mcp/handlers/MemoryToolHandler.js.map +0 -1
  417. package/dist/mcp/handlers/ResourceHandlers.d.ts +0 -3
  418. package/dist/mcp/handlers/ResourceHandlers.d.ts.map +0 -1
  419. package/dist/mcp/handlers/ResourceHandlers.js +0 -133
  420. package/dist/mcp/handlers/ResourceHandlers.js.map +0 -1
  421. package/dist/mcp/handlers/SystemToolHandler.d.ts +0 -14
  422. package/dist/mcp/handlers/SystemToolHandler.d.ts.map +0 -1
  423. package/dist/mcp/handlers/SystemToolHandler.js +0 -224
  424. package/dist/mcp/handlers/SystemToolHandler.js.map +0 -1
  425. package/dist/mcp/handlers/ToolHandlers.d.ts +0 -26
  426. package/dist/mcp/handlers/ToolHandlers.d.ts.map +0 -1
  427. package/dist/mcp/handlers/ToolHandlers.js +0 -41
  428. package/dist/mcp/handlers/ToolHandlers.js.map +0 -1
  429. package/dist/mcp/handlers/index.d.ts +0 -7
  430. package/dist/mcp/handlers/index.d.ts.map +0 -1
  431. package/dist/mcp/handlers/index.js +0 -7
  432. package/dist/mcp/handlers/index.js.map +0 -1
  433. package/dist/mcp/index.d.ts +0 -5
  434. package/dist/mcp/index.d.ts.map +0 -1
  435. package/dist/mcp/index.js +0 -3
  436. package/dist/mcp/index.js.map +0 -1
  437. package/dist/mcp/resources/ResourceRegistry.d.ts +0 -23
  438. package/dist/mcp/resources/ResourceRegistry.d.ts.map +0 -1
  439. package/dist/mcp/resources/ResourceRegistry.js +0 -26
  440. package/dist/mcp/resources/ResourceRegistry.js.map +0 -1
  441. package/dist/mcp/resources/URITemplateHandler.d.ts +0 -8
  442. package/dist/mcp/resources/URITemplateHandler.d.ts.map +0 -1
  443. package/dist/mcp/resources/URITemplateHandler.js +0 -29
  444. package/dist/mcp/resources/URITemplateHandler.js.map +0 -1
  445. package/dist/mcp/resources/best-practices.md +0 -53
  446. package/dist/mcp/resources/buddy-do-skill.md +0 -84
  447. package/dist/mcp/resources/ccb-complete-guide.md +0 -247
  448. package/dist/mcp/resources/examples.md +0 -47
  449. package/dist/mcp/resources/handlers/AgentStatusHandler.d.ts +0 -7
  450. package/dist/mcp/resources/handlers/AgentStatusHandler.d.ts.map +0 -1
  451. package/dist/mcp/resources/handlers/AgentStatusHandler.js +0 -41
  452. package/dist/mcp/resources/handlers/AgentStatusHandler.js.map +0 -1
  453. package/dist/mcp/resources/handlers/TaskLogsHandler.d.ts +0 -7
  454. package/dist/mcp/resources/handlers/TaskLogsHandler.d.ts.map +0 -1
  455. package/dist/mcp/resources/handlers/TaskLogsHandler.js +0 -35
  456. package/dist/mcp/resources/handlers/TaskLogsHandler.js.map +0 -1
  457. package/dist/mcp/resources/quick-reference.md +0 -71
  458. package/dist/mcp/resources/usage-guide.md +0 -74
  459. package/dist/mcp/schemas/OutputSchemas.d.ts +0 -437
  460. package/dist/mcp/schemas/OutputSchemas.d.ts.map +0 -1
  461. package/dist/mcp/schemas/OutputSchemas.js +0 -215
  462. package/dist/mcp/schemas/OutputSchemas.js.map +0 -1
  463. package/dist/mcp/server-bootstrap.d.ts +0 -3
  464. package/dist/mcp/server-bootstrap.d.ts.map +0 -1
  465. package/dist/mcp/server-bootstrap.js +0 -391
  466. package/dist/mcp/server-bootstrap.js.map +0 -1
  467. package/dist/mcp/tools/add-observations.d.ts +0 -48
  468. package/dist/mcp/tools/add-observations.d.ts.map +0 -1
  469. package/dist/mcp/tools/add-observations.js +0 -64
  470. package/dist/mcp/tools/add-observations.js.map +0 -1
  471. package/dist/mcp/tools/buddy-do.d.ts +0 -15
  472. package/dist/mcp/tools/buddy-do.d.ts.map +0 -1
  473. package/dist/mcp/tools/buddy-do.js +0 -191
  474. package/dist/mcp/tools/buddy-do.js.map +0 -1
  475. package/dist/mcp/tools/buddy-help.d.ts +0 -13
  476. package/dist/mcp/tools/buddy-help.d.ts.map +0 -1
  477. package/dist/mcp/tools/buddy-help.js +0 -44
  478. package/dist/mcp/tools/buddy-help.js.map +0 -1
  479. package/dist/mcp/tools/buddy-remember.d.ts +0 -24
  480. package/dist/mcp/tools/buddy-remember.d.ts.map +0 -1
  481. package/dist/mcp/tools/buddy-remember.js +0 -304
  482. package/dist/mcp/tools/buddy-remember.js.map +0 -1
  483. package/dist/mcp/tools/create-entities.d.ts +0 -66
  484. package/dist/mcp/tools/create-entities.d.ts.map +0 -1
  485. package/dist/mcp/tools/create-entities.js +0 -224
  486. package/dist/mcp/tools/create-entities.js.map +0 -1
  487. package/dist/mcp/tools/create-relations.d.ts +0 -60
  488. package/dist/mcp/tools/create-relations.d.ts.map +0 -1
  489. package/dist/mcp/tools/create-relations.js +0 -84
  490. package/dist/mcp/tools/create-relations.js.map +0 -1
  491. package/dist/mcp/tools/generate-tests.d.ts +0 -11
  492. package/dist/mcp/tools/generate-tests.d.ts.map +0 -1
  493. package/dist/mcp/tools/generate-tests.js +0 -19
  494. package/dist/mcp/tools/generate-tests.js.map +0 -1
  495. package/dist/mcp/tools/health-check.d.ts +0 -10
  496. package/dist/mcp/tools/health-check.d.ts.map +0 -1
  497. package/dist/mcp/tools/health-check.js +0 -37
  498. package/dist/mcp/tools/health-check.js.map +0 -1
  499. package/dist/mcp/tools/memesh-agent-register.d.ts +0 -20
  500. package/dist/mcp/tools/memesh-agent-register.d.ts.map +0 -1
  501. package/dist/mcp/tools/memesh-agent-register.js +0 -80
  502. package/dist/mcp/tools/memesh-agent-register.js.map +0 -1
  503. package/dist/mcp/tools/memesh-cloud-sync.d.ts +0 -30
  504. package/dist/mcp/tools/memesh-cloud-sync.d.ts.map +0 -1
  505. package/dist/mcp/tools/memesh-cloud-sync.js +0 -257
  506. package/dist/mcp/tools/memesh-cloud-sync.js.map +0 -1
  507. package/dist/mcp/tools/memesh-metrics.d.ts +0 -13
  508. package/dist/mcp/tools/memesh-metrics.d.ts.map +0 -1
  509. package/dist/mcp/tools/memesh-metrics.js +0 -193
  510. package/dist/mcp/tools/memesh-metrics.js.map +0 -1
  511. package/dist/mcp/tools/recall-memory.d.ts +0 -31
  512. package/dist/mcp/tools/recall-memory.d.ts.map +0 -1
  513. package/dist/mcp/tools/recall-memory.js +0 -31
  514. package/dist/mcp/tools/recall-memory.js.map +0 -1
  515. package/dist/mcp/validation.d.ts +0 -76
  516. package/dist/mcp/validation.d.ts.map +0 -1
  517. package/dist/mcp/validation.js +0 -106
  518. package/dist/mcp/validation.js.map +0 -1
  519. package/dist/memory/AutoMemoryRecorder.d.ts +0 -35
  520. package/dist/memory/AutoMemoryRecorder.d.ts.map +0 -1
  521. package/dist/memory/AutoMemoryRecorder.js +0 -164
  522. package/dist/memory/AutoMemoryRecorder.js.map +0 -1
  523. package/dist/memory/AutoTagger.d.ts +0 -9
  524. package/dist/memory/AutoTagger.d.ts.map +0 -1
  525. package/dist/memory/AutoTagger.js +0 -149
  526. package/dist/memory/AutoTagger.js.map +0 -1
  527. package/dist/memory/BuiltInRules.d.ts +0 -54
  528. package/dist/memory/BuiltInRules.d.ts.map +0 -1
  529. package/dist/memory/BuiltInRules.js +0 -161
  530. package/dist/memory/BuiltInRules.js.map +0 -1
  531. package/dist/memory/EnhancedRetrieval.d.ts +0 -22
  532. package/dist/memory/EnhancedRetrieval.d.ts.map +0 -1
  533. package/dist/memory/EnhancedRetrieval.js +0 -63
  534. package/dist/memory/EnhancedRetrieval.js.map +0 -1
  535. package/dist/memory/EntityTypes.d.ts +0 -14
  536. package/dist/memory/EntityTypes.d.ts.map +0 -1
  537. package/dist/memory/EntityTypes.js +0 -19
  538. package/dist/memory/EntityTypes.js.map +0 -1
  539. package/dist/memory/MemorySearchEngine.d.ts +0 -17
  540. package/dist/memory/MemorySearchEngine.d.ts.map +0 -1
  541. package/dist/memory/MemorySearchEngine.js +0 -88
  542. package/dist/memory/MemorySearchEngine.js.map +0 -1
  543. package/dist/memory/MistakePatternEngine.d.ts +0 -15
  544. package/dist/memory/MistakePatternEngine.d.ts.map +0 -1
  545. package/dist/memory/MistakePatternEngine.js +0 -99
  546. package/dist/memory/MistakePatternEngine.js.map +0 -1
  547. package/dist/memory/PreventionHook.d.ts +0 -28
  548. package/dist/memory/PreventionHook.d.ts.map +0 -1
  549. package/dist/memory/PreventionHook.js +0 -21
  550. package/dist/memory/PreventionHook.js.map +0 -1
  551. package/dist/memory/ProactiveRecaller.d.ts +0 -26
  552. package/dist/memory/ProactiveRecaller.d.ts.map +0 -1
  553. package/dist/memory/ProactiveRecaller.js +0 -96
  554. package/dist/memory/ProactiveRecaller.js.map +0 -1
  555. package/dist/memory/ProjectAutoTracker.d.ts +0 -80
  556. package/dist/memory/ProjectAutoTracker.d.ts.map +0 -1
  557. package/dist/memory/ProjectAutoTracker.js +0 -386
  558. package/dist/memory/ProjectAutoTracker.js.map +0 -1
  559. package/dist/memory/ProjectMemoryCleanup.d.ts +0 -17
  560. package/dist/memory/ProjectMemoryCleanup.d.ts.map +0 -1
  561. package/dist/memory/ProjectMemoryCleanup.js +0 -57
  562. package/dist/memory/ProjectMemoryCleanup.js.map +0 -1
  563. package/dist/memory/ProjectMemoryManager.d.ts +0 -19
  564. package/dist/memory/ProjectMemoryManager.d.ts.map +0 -1
  565. package/dist/memory/ProjectMemoryManager.js +0 -62
  566. package/dist/memory/ProjectMemoryManager.js.map +0 -1
  567. package/dist/memory/SmartMemoryQuery.d.ts +0 -9
  568. package/dist/memory/SmartMemoryQuery.d.ts.map +0 -1
  569. package/dist/memory/SmartMemoryQuery.js +0 -66
  570. package/dist/memory/SmartMemoryQuery.js.map +0 -1
  571. package/dist/memory/UnifiedMemoryStore.d.ts +0 -27
  572. package/dist/memory/UnifiedMemoryStore.d.ts.map +0 -1
  573. package/dist/memory/UnifiedMemoryStore.js +0 -536
  574. package/dist/memory/UnifiedMemoryStore.js.map +0 -1
  575. package/dist/memory/UserPreferenceEngine.d.ts +0 -18
  576. package/dist/memory/UserPreferenceEngine.d.ts.map +0 -1
  577. package/dist/memory/UserPreferenceEngine.js +0 -117
  578. package/dist/memory/UserPreferenceEngine.js.map +0 -1
  579. package/dist/memory/config/semantic-groups.d.ts +0 -9
  580. package/dist/memory/config/semantic-groups.d.ts.map +0 -1
  581. package/dist/memory/config/semantic-groups.js +0 -22
  582. package/dist/memory/config/semantic-groups.js.map +0 -1
  583. package/dist/memory/index.d.ts +0 -16
  584. package/dist/memory/index.d.ts.map +0 -1
  585. package/dist/memory/index.js +0 -12
  586. package/dist/memory/index.js.map +0 -1
  587. package/dist/memory/types/index.d.ts +0 -7
  588. package/dist/memory/types/index.d.ts.map +0 -1
  589. package/dist/memory/types/index.js +0 -4
  590. package/dist/memory/types/index.js.map +0 -1
  591. package/dist/memory/types/memory-scope.d.ts +0 -27
  592. package/dist/memory/types/memory-scope.d.ts.map +0 -1
  593. package/dist/memory/types/memory-scope.js +0 -67
  594. package/dist/memory/types/memory-scope.js.map +0 -1
  595. package/dist/memory/types/pattern-types.d.ts +0 -66
  596. package/dist/memory/types/pattern-types.d.ts.map +0 -1
  597. package/dist/memory/types/pattern-types.js +0 -2
  598. package/dist/memory/types/pattern-types.js.map +0 -1
  599. package/dist/memory/types/preference-types.d.ts +0 -28
  600. package/dist/memory/types/preference-types.d.ts.map +0 -1
  601. package/dist/memory/types/preference-types.js +0 -2
  602. package/dist/memory/types/preference-types.js.map +0 -1
  603. package/dist/memory/types/unified-memory.d.ts +0 -29
  604. package/dist/memory/types/unified-memory.d.ts.map +0 -1
  605. package/dist/memory/types/unified-memory.js +0 -21
  606. package/dist/memory/types/unified-memory.js.map +0 -1
  607. package/dist/prompts/templates/PromptTemplates.d.ts +0 -11
  608. package/dist/prompts/templates/PromptTemplates.d.ts.map +0 -1
  609. package/dist/prompts/templates/PromptTemplates.js +0 -942
  610. package/dist/prompts/templates/PromptTemplates.js.map +0 -1
  611. package/dist/prompts/templates/index.d.ts +0 -2
  612. package/dist/prompts/templates/index.d.ts.map +0 -1
  613. package/dist/prompts/templates/index.js +0 -2
  614. package/dist/prompts/templates/index.js.map +0 -1
  615. package/dist/skills/SkillManager.d.ts +0 -33
  616. package/dist/skills/SkillManager.d.ts.map +0 -1
  617. package/dist/skills/SkillManager.js +0 -153
  618. package/dist/skills/SkillManager.js.map +0 -1
  619. package/dist/skills/index.d.ts +0 -3
  620. package/dist/skills/index.d.ts.map +0 -1
  621. package/dist/skills/index.js +0 -2
  622. package/dist/skills/index.js.map +0 -1
  623. package/dist/telemetry/TelemetryCollector.d.ts +0 -19
  624. package/dist/telemetry/TelemetryCollector.d.ts.map +0 -1
  625. package/dist/telemetry/TelemetryCollector.js +0 -62
  626. package/dist/telemetry/TelemetryCollector.js.map +0 -1
  627. package/dist/telemetry/TelemetryStore.d.ts +0 -20
  628. package/dist/telemetry/TelemetryStore.d.ts.map +0 -1
  629. package/dist/telemetry/TelemetryStore.js +0 -127
  630. package/dist/telemetry/TelemetryStore.js.map +0 -1
  631. package/dist/telemetry/index.d.ts +0 -8
  632. package/dist/telemetry/index.d.ts.map +0 -1
  633. package/dist/telemetry/index.js +0 -33
  634. package/dist/telemetry/index.js.map +0 -1
  635. package/dist/telemetry/sanitization.d.ts +0 -6
  636. package/dist/telemetry/sanitization.d.ts.map +0 -1
  637. package/dist/telemetry/sanitization.js +0 -180
  638. package/dist/telemetry/sanitization.js.map +0 -1
  639. package/dist/telemetry/types.d.ts +0 -73
  640. package/dist/telemetry/types.d.ts.map +0 -1
  641. package/dist/telemetry/types.js +0 -16
  642. package/dist/telemetry/types.js.map +0 -1
  643. package/dist/tools/TestGenerator.d.ts +0 -8
  644. package/dist/tools/TestGenerator.d.ts.map +0 -1
  645. package/dist/tools/TestGenerator.js +0 -54
  646. package/dist/tools/TestGenerator.js.map +0 -1
  647. package/dist/types/AgentClassification.d.ts +0 -30
  648. package/dist/types/AgentClassification.d.ts.map +0 -1
  649. package/dist/types/AgentClassification.js +0 -19
  650. package/dist/types/AgentClassification.js.map +0 -1
  651. package/dist/types/Checkpoint.d.ts +0 -12
  652. package/dist/types/Checkpoint.d.ts.map +0 -1
  653. package/dist/types/Checkpoint.js +0 -13
  654. package/dist/types/Checkpoint.js.map +0 -1
  655. package/dist/types/toonify.d.ts +0 -91
  656. package/dist/types/toonify.d.ts.map +0 -1
  657. package/dist/types/toonify.js +0 -18
  658. package/dist/types/toonify.js.map +0 -1
  659. package/dist/ui/AsciiProgressBar.d.ts +0 -29
  660. package/dist/ui/AsciiProgressBar.d.ts.map +0 -1
  661. package/dist/ui/AsciiProgressBar.js +0 -130
  662. package/dist/ui/AsciiProgressBar.js.map +0 -1
  663. package/dist/ui/AttributionManager.d.ts +0 -19
  664. package/dist/ui/AttributionManager.d.ts.map +0 -1
  665. package/dist/ui/AttributionManager.js +0 -107
  666. package/dist/ui/AttributionManager.js.map +0 -1
  667. package/dist/ui/Dashboard.d.ts +0 -24
  668. package/dist/ui/Dashboard.d.ts.map +0 -1
  669. package/dist/ui/Dashboard.js +0 -135
  670. package/dist/ui/Dashboard.js.map +0 -1
  671. package/dist/ui/LoadingIndicator.d.ts +0 -53
  672. package/dist/ui/LoadingIndicator.d.ts.map +0 -1
  673. package/dist/ui/LoadingIndicator.js +0 -211
  674. package/dist/ui/LoadingIndicator.js.map +0 -1
  675. package/dist/ui/MetricsStore.d.ts +0 -15
  676. package/dist/ui/MetricsStore.d.ts.map +0 -1
  677. package/dist/ui/MetricsStore.js +0 -131
  678. package/dist/ui/MetricsStore.js.map +0 -1
  679. package/dist/ui/ProgressIndicator.d.ts +0 -35
  680. package/dist/ui/ProgressIndicator.d.ts.map +0 -1
  681. package/dist/ui/ProgressIndicator.js +0 -177
  682. package/dist/ui/ProgressIndicator.js.map +0 -1
  683. package/dist/ui/ProgressRenderer.d.ts +0 -24
  684. package/dist/ui/ProgressRenderer.d.ts.map +0 -1
  685. package/dist/ui/ProgressRenderer.js +0 -143
  686. package/dist/ui/ProgressRenderer.js.map +0 -1
  687. package/dist/ui/ResponseFormatter.d.ts +0 -57
  688. package/dist/ui/ResponseFormatter.d.ts.map +0 -1
  689. package/dist/ui/ResponseFormatter.js +0 -513
  690. package/dist/ui/ResponseFormatter.js.map +0 -1
  691. package/dist/ui/UIEventBus.d.ts +0 -38
  692. package/dist/ui/UIEventBus.d.ts.map +0 -1
  693. package/dist/ui/UIEventBus.js +0 -173
  694. package/dist/ui/UIEventBus.js.map +0 -1
  695. package/dist/ui/accessibility.d.ts +0 -28
  696. package/dist/ui/accessibility.d.ts.map +0 -1
  697. package/dist/ui/accessibility.js +0 -97
  698. package/dist/ui/accessibility.js.map +0 -1
  699. package/dist/ui/design-tokens.d.ts +0 -36
  700. package/dist/ui/design-tokens.d.ts.map +0 -1
  701. package/dist/ui/design-tokens.js +0 -94
  702. package/dist/ui/design-tokens.js.map +0 -1
  703. package/dist/ui/index.d.ts +0 -8
  704. package/dist/ui/index.d.ts.map +0 -1
  705. package/dist/ui/index.js +0 -6
  706. package/dist/ui/index.js.map +0 -1
  707. package/dist/ui/theme.d.ts +0 -313
  708. package/dist/ui/theme.d.ts.map +0 -1
  709. package/dist/ui/theme.js +0 -198
  710. package/dist/ui/theme.js.map +0 -1
  711. package/dist/ui/types.d.ts +0 -146
  712. package/dist/ui/types.d.ts.map +0 -1
  713. package/dist/ui/types.js +0 -16
  714. package/dist/ui/types.js.map +0 -1
  715. package/dist/utils/ILogger.d.ts +0 -7
  716. package/dist/utils/ILogger.d.ts.map +0 -1
  717. package/dist/utils/ILogger.js +0 -2
  718. package/dist/utils/ILogger.js.map +0 -1
  719. package/dist/utils/MinHeap.d.ts +0 -15
  720. package/dist/utils/MinHeap.d.ts.map +0 -1
  721. package/dist/utils/MinHeap.js +0 -69
  722. package/dist/utils/MinHeap.js.map +0 -1
  723. package/dist/utils/PathResolver.d.ts +0 -13
  724. package/dist/utils/PathResolver.d.ts.map +0 -1
  725. package/dist/utils/PathResolver.js +0 -77
  726. package/dist/utils/PathResolver.js.map +0 -1
  727. package/dist/utils/RateLimiter.d.ts +0 -28
  728. package/dist/utils/RateLimiter.d.ts.map +0 -1
  729. package/dist/utils/RateLimiter.js +0 -115
  730. package/dist/utils/RateLimiter.js.map +0 -1
  731. package/dist/utils/SystemResources.d.ts +0 -40
  732. package/dist/utils/SystemResources.d.ts.map +0 -1
  733. package/dist/utils/SystemResources.js +0 -216
  734. package/dist/utils/SystemResources.js.map +0 -1
  735. package/dist/utils/errorHandler.d.ts +0 -49
  736. package/dist/utils/errorHandler.d.ts.map +0 -1
  737. package/dist/utils/errorHandler.js +0 -397
  738. package/dist/utils/errorHandler.js.map +0 -1
  739. package/dist/utils/index.d.ts +0 -17
  740. package/dist/utils/index.d.ts.map +0 -1
  741. package/dist/utils/index.js +0 -15
  742. package/dist/utils/index.js.map +0 -1
  743. package/dist/utils/json.d.ts +0 -13
  744. package/dist/utils/json.d.ts.map +0 -1
  745. package/dist/utils/json.js +0 -95
  746. package/dist/utils/json.js.map +0 -1
  747. package/dist/utils/logger.d.ts +0 -16
  748. package/dist/utils/logger.d.ts.map +0 -1
  749. package/dist/utils/logger.js +0 -125
  750. package/dist/utils/logger.js.map +0 -1
  751. package/dist/utils/lru-cache.d.ts +0 -47
  752. package/dist/utils/lru-cache.d.ts.map +0 -1
  753. package/dist/utils/lru-cache.js +0 -239
  754. package/dist/utils/lru-cache.js.map +0 -1
  755. package/dist/utils/memory.d.ts +0 -20
  756. package/dist/utils/memory.d.ts.map +0 -1
  757. package/dist/utils/memory.js +0 -53
  758. package/dist/utils/memory.js.map +0 -1
  759. package/dist/utils/money.d.ts +0 -10
  760. package/dist/utils/money.d.ts.map +0 -1
  761. package/dist/utils/money.js +0 -25
  762. package/dist/utils/money.js.map +0 -1
  763. package/dist/utils/pathValidation.d.ts +0 -2
  764. package/dist/utils/pathValidation.d.ts.map +0 -1
  765. package/dist/utils/pathValidation.js +0 -62
  766. package/dist/utils/pathValidation.js.map +0 -1
  767. package/dist/utils/paths.d.ts +0 -4
  768. package/dist/utils/paths.d.ts.map +0 -1
  769. package/dist/utils/paths.js +0 -28
  770. package/dist/utils/paths.js.map +0 -1
  771. package/dist/utils/requestId.d.ts +0 -4
  772. package/dist/utils/requestId.d.ts.map +0 -1
  773. package/dist/utils/requestId.js +0 -17
  774. package/dist/utils/requestId.js.map +0 -1
  775. package/dist/utils/retry.d.ts +0 -20
  776. package/dist/utils/retry.d.ts.map +0 -1
  777. package/dist/utils/retry.js +0 -226
  778. package/dist/utils/retry.js.map +0 -1
  779. package/dist/utils/safeMath.d.ts +0 -11
  780. package/dist/utils/safeMath.d.ts.map +0 -1
  781. package/dist/utils/safeMath.js +0 -92
  782. package/dist/utils/safeMath.js.map +0 -1
  783. package/dist/utils/toonify-adapter.d.ts +0 -77
  784. package/dist/utils/toonify-adapter.d.ts.map +0 -1
  785. package/dist/utils/toonify-adapter.js +0 -282
  786. package/dist/utils/toonify-adapter.js.map +0 -1
  787. package/dist/utils/tracing/TraceContext.d.ts +0 -23
  788. package/dist/utils/tracing/TraceContext.d.ts.map +0 -1
  789. package/dist/utils/tracing/TraceContext.js +0 -127
  790. package/dist/utils/tracing/TraceContext.js.map +0 -1
  791. package/dist/utils/tracing/index.d.ts +0 -2
  792. package/dist/utils/tracing/index.d.ts.map +0 -1
  793. package/dist/utils/tracing/index.js +0 -2
  794. package/dist/utils/tracing/index.js.map +0 -1
  795. package/dist/utils/tracing/middleware.d.ts +0 -15
  796. package/dist/utils/tracing/middleware.d.ts.map +0 -1
  797. package/dist/utils/tracing/middleware.js +0 -49
  798. package/dist/utils/tracing/middleware.js.map +0 -1
  799. package/dist/utils/validation.d.ts +0 -12
  800. package/dist/utils/validation.d.ts.map +0 -1
  801. package/dist/utils/validation.js +0 -87
  802. package/dist/utils/validation.js.map +0 -1
  803. package/scripts/health-check.js +0 -331
  804. package/scripts/hooks/README.md +0 -230
  805. package/scripts/hooks/__tests__/hook-test-harness.js +0 -218
  806. package/scripts/hooks/__tests__/hooks.test.js +0 -267
  807. package/scripts/hooks/__tests__/post-tool-use-recall.test.js +0 -192
  808. package/scripts/hooks/__tests__/session-start-recall.test.js +0 -86
  809. package/scripts/hooks/hook-utils.js +0 -899
  810. package/scripts/hooks/post-tool-use-recall-utils.js +0 -74
  811. package/scripts/hooks/post-tool-use.js +0 -895
  812. package/scripts/hooks/pre-tool-use.js +0 -491
  813. package/scripts/hooks/session-start-recall-utils.js +0 -40
  814. package/scripts/hooks/stop.js +0 -673
  815. package/scripts/hooks/subagent-stop.js +0 -184
  816. package/scripts/postinstall-lib.js +0 -242
  817. package/scripts/postinstall-new.js +0 -191
  818. package/scripts/skills/comprehensive-code-review/SKILL.md +0 -276
@@ -1,647 +1,150 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- /**
4
- * SessionStart Hook - Claude Code Event-Driven Hooks
5
- *
6
- * Triggered at the start of each Claude Code session.
7
- *
8
- * Features:
9
- * - Checks MeMesh MCP server availability
10
- * - Auto-recalls last session key points from MeMesh
11
- * - Reads recommendations from last session
12
- * - Displays suggested skills to load
13
- * - Shows warnings (quota, slow tools, etc.)
14
- * - Initializes current session state
15
- */
3
+ import { createRequire } from 'module';
4
+ import { homedir } from 'os';
5
+ import { join, basename } from 'path';
6
+ import { existsSync } from 'fs';
16
7
 
17
- import {
18
- HOME_DIR,
19
- STATE_DIR,
20
- MEMESH_DB_PATH,
21
- THRESHOLDS,
22
- readJSONFile,
23
- writeJSONFile,
24
- sqliteQueryJSON,
25
- getTimeAgo,
26
- logError,
27
- queryActivePlans,
28
- renderTimelineCompact,
29
- } from './hook-utils.js';
30
- import { buildSessionRecallQuery, formatRecallOutput } from './session-start-recall-utils.js';
31
- import fs from 'fs';
32
- import path from 'path';
33
- import { execFileSync } from 'child_process';
8
+ const require = createRequire(import.meta.url);
34
9
 
35
- // ============================================================================
36
- // File Paths
37
- // ============================================================================
38
-
39
- const CCB_HEARTBEAT_FILE = path.join(STATE_DIR, 'ccb-heartbeat.json');
40
- const MCP_SETTINGS_FILE = path.join(HOME_DIR, '.claude', 'mcp_settings.json');
41
- const RECOMMENDATIONS_FILE = path.join(STATE_DIR, 'recommendations.json');
42
- const SESSION_CONTEXT_FILE = path.join(STATE_DIR, 'session-context.json');
43
- const CURRENT_SESSION_FILE = path.join(STATE_DIR, 'current-session.json');
44
- const LAST_SESSION_CACHE_FILE = path.join(STATE_DIR, 'last-session-summary.json');
45
-
46
- /** Maximum cache age: 7 days */
47
- const CACHE_MAX_AGE_MS = 7 * 24 * 60 * 60 * 1000;
48
-
49
- // ============================================================================
50
- // MeMesh Status Check
51
- // ============================================================================
52
-
53
- /**
54
- * Check MeMesh MCP Server availability
55
- * @returns {{ configured: boolean, running: boolean, lastHeartbeat: string|null, serverPath: string|null }}
56
- */
57
- function checkCCBAvailability() {
58
- const result = {
59
- configured: false,
60
- running: false,
61
- lastHeartbeat: null,
62
- serverPath: null,
63
- };
64
-
65
- // Check if MeMesh is configured in MCP settings
66
- try {
67
- if (fs.existsSync(MCP_SETTINGS_FILE)) {
68
- const mcpSettings = JSON.parse(fs.readFileSync(MCP_SETTINGS_FILE, 'utf-8'));
69
-
70
- // Check for MeMesh and legacy names (backward compatibility)
71
- const ccbNames = [
72
- 'memesh',
73
- '@pcircle/memesh',
74
- '@pcircle/claude-code-buddy-mcp',
75
- 'claude-code-buddy',
76
- 'ccb',
77
- ];
78
-
79
- for (const name of ccbNames) {
80
- if (mcpSettings.mcpServers && mcpSettings.mcpServers[name]) {
81
- result.configured = true;
82
- result.serverPath = mcpSettings.mcpServers[name].args?.[0] || 'configured';
83
- break;
84
- }
85
- }
86
- }
87
- } catch (err) {
88
- logError('checkCCBAvailability:mcp_settings', err);
89
- }
90
-
91
- // Check heartbeat file (MeMesh writes this when running)
92
- try {
93
- if (fs.existsSync(CCB_HEARTBEAT_FILE)) {
94
- const heartbeat = JSON.parse(fs.readFileSync(CCB_HEARTBEAT_FILE, 'utf-8'));
95
- result.lastHeartbeat = heartbeat.timestamp;
96
-
97
- const heartbeatTime = new Date(heartbeat.timestamp).getTime();
98
- const now = Date.now();
99
-
100
- if (now - heartbeatTime < THRESHOLDS.HEARTBEAT_VALIDITY) {
101
- result.running = true;
102
- }
103
- }
104
- } catch (err) {
105
- logError('checkCCBAvailability:heartbeat', err);
106
- }
107
-
108
- return result;
109
- }
110
-
111
- /**
112
- * Display MeMesh status and reminder
113
- */
114
- function displayCCBStatus(ccbStatus) {
115
- console.log('═'.repeat(60));
116
- console.log(' 🤖 MeMesh Status');
117
- console.log('═'.repeat(60));
118
-
119
- if (!ccbStatus.configured) {
120
- console.log('');
121
- console.log(' ⚠️ MeMesh MCP Server is NOT configured!');
122
- console.log('');
123
- console.log(' MeMesh provides memory management and knowledge graph tools.');
124
- console.log(' To configure MeMesh, add it to ~/.claude/mcp_settings.json');
125
- console.log('');
126
- console.log(' Available MeMesh tools when connected:');
127
- console.log(' • buddy-remember: Query past knowledge');
128
- console.log(' • buddy-do: Execute common operations');
129
- console.log(' • memesh-create-entities: Store new knowledge to graph');
130
- console.log('');
131
- } else if (!ccbStatus.running) {
132
- console.log('');
133
- console.log(' ℹ️ MeMesh is configured but status unknown');
134
- console.log(` Path: ${ccbStatus.serverPath}`);
135
- console.log('');
136
- console.log(' 📝 REMINDER: Use MeMesh tools for memory management:');
137
- console.log('');
138
- console.log(' Before starting work:');
139
- console.log(' buddy-remember "relevant topic" - Query past experiences');
140
- console.log('');
141
- console.log(' After completing work:');
142
- console.log(' memesh-create-entities - Store new learnings');
143
- console.log(' memesh-record-mistake - Record errors for future reference');
144
- console.log('');
145
- console.log(' 💡 If MeMesh tools fail, check MCP server status.');
146
- console.log('');
147
- } else {
148
- console.log('');
149
- console.log(' ✅ MeMesh MCP Server is running');
150
- console.log(` Last heartbeat: ${ccbStatus.lastHeartbeat}`);
151
- console.log('');
152
- console.log(' 📋 Session Start Checklist:');
153
- console.log(' ☐ buddy-remember - Query relevant past knowledge');
154
- console.log('');
155
- console.log(' 📋 Session End Checklist:');
156
- console.log(' ☐ memesh-create-entities - Store new learnings');
157
- console.log(' ☐ memesh-record-mistake - Record any errors');
158
- console.log('');
159
- }
160
-
161
- console.log('═'.repeat(60));
162
- console.log('');
163
- }
164
-
165
- // ============================================================================
166
- // Memory Recall
167
- // ============================================================================
168
-
169
- /**
170
- * Try to read session summary from cache file (fast path).
171
- * Cache is written by stop.js on session end.
172
- * @returns {{ entityName: string, createdAt: string, metadata: object, keyPoints: string[] } | null}
173
- */
174
- function recallFromCache() {
10
+ let input = '';
11
+ process.stdin.setEncoding('utf8');
12
+ process.stdin.on('data', (chunk) => { input += chunk; });
13
+ process.stdin.on('end', () => {
175
14
  try {
176
- if (!fs.existsSync(LAST_SESSION_CACHE_FILE)) {
177
- return null;
178
- }
179
-
180
- const cache = readJSONFile(LAST_SESSION_CACHE_FILE, null);
181
- if (!cache || !cache.savedAt || !cache.keyPoints) {
182
- return null;
183
- }
184
-
185
- // Check staleness
186
- const cacheAge = Date.now() - new Date(cache.savedAt).getTime();
187
- if (cacheAge > CACHE_MAX_AGE_MS) {
188
- // Stale cache — delete it
189
- try { fs.unlinkSync(LAST_SESSION_CACHE_FILE); } catch { /* ignore */ }
190
- return null;
191
- }
192
-
193
- return {
194
- entityName: 'session_cache',
195
- createdAt: cache.savedAt,
196
- metadata: {
197
- duration: cache.duration,
198
- toolCount: cache.toolCount,
199
- },
200
- keyPoints: cache.keyPoints,
201
- };
202
- } catch (error) {
203
- logError('recallFromCache', error);
204
- return null;
205
- }
206
- }
207
-
208
- /**
209
- * Recall recent session key points from MeMesh (slow path — SQLite query).
210
- * Used as fallback when cache is not available.
211
- * @returns {{ entityName: string, createdAt: string, metadata: object, keyPoints: string[] } | null}
212
- */
213
- function recallFromSQLite() {
214
- try {
215
- if (!fs.existsSync(MEMESH_DB_PATH)) {
216
- return null;
217
- }
218
-
219
- const cutoffDate = new Date();
220
- cutoffDate.setDate(cutoffDate.getDate() - THRESHOLDS.RECALL_DAYS);
221
- const cutoffISO = cutoffDate.toISOString();
222
-
223
- const query = `
224
- SELECT id, name, metadata, created_at
225
- FROM entities
226
- WHERE type = ? AND created_at > ?
227
- ORDER BY created_at DESC
228
- LIMIT 1
229
- `.replace(/\n/g, ' ');
230
-
231
- // Use JSON mode to avoid pipe-split issues with | in metadata
232
- const entityRows = sqliteQueryJSON(
233
- MEMESH_DB_PATH,
234
- query,
235
- ['session_keypoint', cutoffISO]
236
- );
237
-
238
- if (!entityRows || entityRows.length === 0) {
239
- return null;
240
- }
241
-
242
- const row = entityRows[0];
243
- const entityId = row.id;
244
- const entityName = row.name;
245
- const createdAt = row.created_at;
246
-
247
- // Observations also use JSON mode for safety
248
- const obsRows = sqliteQueryJSON(
249
- MEMESH_DB_PATH,
250
- 'SELECT content FROM observations WHERE entity_id = ? ORDER BY created_at ASC',
251
- [entityId]
252
- );
253
-
254
- const keyPoints = (obsRows || []).map(r => r.content).filter(Boolean);
255
-
256
- let parsedMetadata = {};
257
- try {
258
- parsedMetadata = JSON.parse(row.metadata || '{}');
259
- } catch (parseErr) {
260
- logError('recallFromSQLite:metadata-parse', parseErr);
261
- }
262
-
263
- return {
264
- entityName,
265
- createdAt,
266
- metadata: parsedMetadata,
267
- keyPoints,
268
- };
269
- } catch (error) {
270
- logError('recallFromSQLite', error);
271
- return null;
272
- }
273
- }
274
-
275
- /**
276
- * Recall recent session key points — cache-first, SQLite fallback.
277
- * @returns {{ entityName: string, createdAt: string, metadata: object, keyPoints: string[] } | null}
278
- */
279
- function recallRecentKeyPoints() {
280
- // Fast path: read from cache file (no sqlite3 spawn)
281
- const cached = recallFromCache();
282
- if (cached) {
283
- return cached;
284
- }
285
-
286
- // Slow path: query SQLite
287
- return recallFromSQLite();
288
- }
289
-
290
- /**
291
- * Display recalled key points from last session
292
- */
293
- function displayRecalledMemory(recalledData) {
294
- console.log('═'.repeat(60));
295
- console.log(' 🧠 MeMesh Memory Recall');
296
- console.log('═'.repeat(60));
297
-
298
- if (!recalledData || !recalledData.keyPoints || recalledData.keyPoints.length === 0) {
299
- console.log('');
300
- console.log(' ℹ️ No recent memories found (last 30 days)');
301
- console.log(' 💡 Memories will be auto-saved when this session ends');
302
- console.log('');
303
- console.log('═'.repeat(60));
304
- console.log('');
305
- return;
306
- }
307
-
308
- console.log('');
309
-
310
- // Display timestamp
311
- const savedTime = new Date(recalledData.createdAt);
312
- const timeAgo = getTimeAgo(savedTime);
313
- console.log(` 🕐 Saved: ${timeAgo}`);
314
-
315
- // Display metadata if available
316
- if (recalledData.metadata) {
317
- const meta = recalledData.metadata;
318
- if (meta.duration) {
319
- console.log(` ⏱️ Last session duration: ${meta.duration}`);
320
- }
321
- if (meta.toolCount) {
322
- console.log(` 🛠️ Tools used: ${meta.toolCount}`);
323
- }
324
- }
325
-
326
- console.log('');
327
- console.log(' 📋 Key Points:');
328
-
329
- // Display key points with formatting
330
- recalledData.keyPoints.forEach(point => {
331
- if (point.startsWith('[SESSION]')) {
332
- console.log(` 📊 ${point.replace('[SESSION] ', '')}`);
333
- } else if (point.startsWith('[WORK]')) {
334
- console.log(` 📁 ${point.replace('[WORK] ', '')}`);
335
- } else if (point.startsWith('[COMMIT]')) {
336
- console.log(` ✅ ${point.replace('[COMMIT] ', '')}`);
337
- } else if (point.startsWith('[ISSUE]') || point.startsWith('[PROBLEM]')) {
338
- console.log(` ⚠️ ${point.replace(/\[(ISSUE|PROBLEM)\] /, '')}`);
339
- } else if (point.startsWith('[LEARN]')) {
340
- console.log(` 💡 ${point.replace('[LEARN] ', '')}`);
341
- } else if (point.startsWith('[TASK]')) {
342
- console.log(` 📝 ${point.replace('[TASK] ', '')}`);
343
- } else if (point.startsWith('[DECISION]')) {
344
- console.log(` 🎯 ${point.replace('[DECISION] ', '')}`);
345
- } else if (point.startsWith('[PATTERN]')) {
346
- console.log(` 🔄 ${point.replace('[PATTERN] ', '')}`);
347
- } else if (point.startsWith('[SCOPE]') || point.startsWith('[FOCUS]')) {
348
- console.log(` 🎯 ${point.replace(/\[(SCOPE|FOCUS)\] /, '')}`);
349
- } else if (point.startsWith('[NOTE]')) {
350
- console.log(` 📌 ${point.replace('[NOTE] ', '')}`);
351
- } else {
352
- console.log(` • ${point}`);
15
+ const data = JSON.parse(input);
16
+ const projectName = basename(data.cwd || process.cwd());
17
+
18
+ // Find database
19
+ const dbPath = process.env.MEMESH_DB_PATH || join(homedir(), '.memesh', 'knowledge-graph.db');
20
+ if (!existsSync(dbPath)) {
21
+ output('MeMesh: No database found. Memories will be created as you work.');
22
+ return;
353
23
  }
354
- });
355
-
356
- console.log('');
357
- console.log('═'.repeat(60));
358
- console.log('');
359
- }
360
24
 
361
- // ============================================================================
362
- // CLAUDE.md Reload
363
- // ============================================================================
364
-
365
- /**
366
- * Find and display project CLAUDE.md content on session start.
367
- * This ensures instructions are fresh in context even after compaction.
368
- * Searches: CWD/.claude/CLAUDE.md, CWD/CLAUDE.md
369
- */
370
- function reloadClaudeMd() {
371
- const cwd = process.cwd();
372
- const candidates = [
373
- path.join(cwd, '.claude', 'CLAUDE.md'),
374
- path.join(cwd, 'CLAUDE.md'),
375
- ];
376
-
377
- for (const candidate of candidates) {
25
+ const Database = require('better-sqlite3');
26
+ const db = new Database(dbPath, { readonly: true });
378
27
  try {
379
- if (fs.existsSync(candidate)) {
380
- const content = fs.readFileSync(candidate, 'utf-8');
381
- const lineCount = content.split('\n').length;
382
- const relativePath = path.relative(cwd, candidate);
383
-
384
- console.log('═'.repeat(60));
385
- console.log(' 📋 CLAUDE.md Reloaded');
386
- console.log(''.repeat(60));
387
- console.log('');
388
- console.log(` Source: ${relativePath} (${lineCount} lines)`);
389
- console.log('');
390
- console.log(content);
391
- console.log('');
392
- console.log('═'.repeat(60));
393
- console.log('');
28
+ db.pragma('journal_mode = WAL');
29
+
30
+ // Check if tables exist (db may exist but be empty)
31
+ const tableCheck = db.prepare(
32
+ "SELECT name FROM sqlite_master WHERE type='table' AND name='entities'"
33
+ ).get();
34
+ if (!tableCheck) {
35
+ output('MeMesh: Database exists but no memories stored yet.');
394
36
  return;
395
37
  }
396
- } catch (readErr) {
397
- logError(`reloadClaudeMd:${candidate}`, readErr);
398
- }
399
- }
400
- }
401
-
402
- // ============================================================================
403
- // Main Session Start Logic
404
- // ============================================================================
405
-
406
- // ============================================================================
407
- // Active Plans Display (Beta)
408
- // ============================================================================
409
-
410
- /**
411
- * Display active plans with compact timeline.
412
- * Also warns about stale plans (no progress for 7+ days).
413
- */
414
- function displayActivePlans() {
415
- try {
416
- if (!fs.existsSync(MEMESH_DB_PATH)) return;
417
-
418
- const activePlans = queryActivePlans(MEMESH_DB_PATH);
419
- if (activePlans.length === 0) return;
420
-
421
- console.log('═'.repeat(60));
422
- console.log(' 📋 Active Plans');
423
- console.log('═'.repeat(60));
424
- console.log('');
425
38
 
426
- for (const plan of activePlans) {
427
- console.log(renderTimelineCompact(plan));
39
+ // Inspect available columns for backward compat
40
+ const columns = db.prepare("PRAGMA table_info(entities)").all();
41
+ const colNames = new Set(columns.map(col => col.name));
42
+
43
+ const hasStatus = colNames.has('status');
44
+ const hasScoringCols = colNames.has('access_count') && colNames.has('last_accessed_at') && colNames.has('confidence');
45
+
46
+ const statusFilter = hasStatus ? "AND e.status = 'active'" : '';
47
+ const recentStatusFilter = hasStatus ? "WHERE status = 'active'" : '';
48
+
49
+ // Configurable limit: how many top-N entities to load per section
50
+ const sessionLimit = parseInt(process.env.MEMESH_SESSION_LIMIT || '10', 10);
51
+
52
+ // Build scoring ORDER BY clause (or fallback to insertion order)
53
+ const scoringOrderBy = hasScoringCols
54
+ ? `ORDER BY
55
+ CASE WHEN e.confidence IS NULL THEN 0.5 ELSE e.confidence END * 0.4
56
+ + CASE WHEN e.access_count IS NULL THEN 0
57
+ ELSE MIN(CAST(e.access_count AS REAL) / 50.0, 1.0) END * 0.3
58
+ + CASE WHEN e.last_accessed_at IS NULL THEN 0.3
59
+ ELSE MIN(1.0, 1.0 / (1.0 + (julianday('now') - julianday(e.last_accessed_at)) / 30.0)) END * 0.3
60
+ DESC`
61
+ : 'ORDER BY e.id DESC';
62
+
63
+ const recentScoringOrderBy = hasScoringCols
64
+ ? `ORDER BY
65
+ CASE WHEN confidence IS NULL THEN 0.5 ELSE confidence END * 0.4
66
+ + CASE WHEN access_count IS NULL THEN 0
67
+ ELSE MIN(CAST(access_count AS REAL) / 50.0, 1.0) END * 0.3
68
+ + CASE WHEN last_accessed_at IS NULL THEN 0.3
69
+ ELSE MIN(1.0, 1.0 / (1.0 + (julianday('now') - julianday(last_accessed_at)) / 30.0)) END * 0.3
70
+ DESC`
71
+ : 'ORDER BY id DESC';
72
+
73
+ // Query project-specific top-N entities by relevance score
74
+ const projectTag = `project:${projectName}`;
75
+ const projectEntities = db.prepare(`
76
+ SELECT DISTINCT e.id, e.name, e.type, e.created_at
77
+ FROM entities e
78
+ JOIN tags t ON t.entity_id = e.id
79
+ WHERE t.tag = ?
80
+ ${statusFilter}
81
+ ${scoringOrderBy}
82
+ LIMIT ?
83
+ `).all(projectTag, sessionLimit);
84
+
85
+ // Fetch the first observation for each entity (for concise summary)
86
+ const getFirstObservation = db.prepare(
87
+ 'SELECT content FROM observations WHERE entity_id = ? ORDER BY id ASC LIMIT 1'
88
+ );
89
+
90
+ // Query global recent/top entities (exclude project-tagged ones for this project)
91
+ const recentEntities = db.prepare(`
92
+ SELECT id, name, type, created_at
93
+ FROM entities
94
+ ${recentStatusFilter}
95
+ ${recentScoringOrderBy}
96
+ LIMIT 5
97
+ `).all();
98
+
99
+ // Format entity as concise bullet: "• name (type): first observation (truncated)"
100
+ function formatEntity(entity) {
101
+ const obs = getFirstObservation.get(entity.id);
102
+ const snippet = obs ? obs.content.slice(0, 100) : '';
103
+ return snippet
104
+ ? `• ${entity.name} (${entity.type}): ${snippet}`
105
+ : `• ${entity.name} (${entity.type})`;
106
+ }
428
107
 
429
- // Stale plan warning (7+ days since last progress)
430
- const lastStep = plan.metadata.stepsDetail
431
- ?.filter(s => s.completed && s.date)
432
- .sort((a, b) => b.date.localeCompare(a.date))[0];
433
- if (lastStep && lastStep.date) {
434
- const daysSince = Math.floor((Date.now() - new Date(lastStep.date).getTime()) / (1000 * 60 * 60 * 24));
435
- if (daysSince >= 7) {
436
- console.log(` ⚠️ No progress for ${daysSince} days`);
108
+ // Build recall message
109
+ const lines = [];
110
+ if (projectEntities.length > 0) {
111
+ const label = hasScoringCols ? `top ${projectEntities.length} by relevance` : `${projectEntities.length}`;
112
+ lines.push(`Project "${projectName}" memories (${label}):`);
113
+ for (const e of projectEntities) {
114
+ lines.push(formatEntity(e));
437
115
  }
438
116
  }
439
- console.log('');
440
- }
441
-
442
- console.log('═'.repeat(60));
443
- console.log('');
444
- } catch (error) {
445
- logError('displayActivePlans', error);
446
- }
447
- }
448
-
449
- /**
450
- * Proactive memory recall — queries KG for memories related to current project.
451
- * Uses project name + last 3 git commits as search query.
452
- */
453
- function recallProactiveMemories() {
454
- try {
455
- const projectName = path.basename(process.cwd());
456
-
457
- let recentCommits = [];
458
- try {
459
- const gitOutput = execFileSync('git', ['log', '--oneline', '-3', '--format=%s'], {
460
- timeout: 3000,
461
- encoding: 'utf-8',
462
- cwd: process.cwd(),
463
- });
464
- recentCommits = gitOutput.trim().split('\n').filter(Boolean);
465
- } catch {
466
- // Not a git repo or no commits
467
- }
468
-
469
- const query = buildSessionRecallQuery(projectName, recentCommits);
470
- if (!query) return;
471
-
472
- // Build FTS5 tokens
473
- const ftsTokens = query.split(/\s+/)
474
- .filter(t => t.length > 2)
475
- .slice(0, 10)
476
- .map(t => `"${t.replace(/"/g, '""')}"*`)
477
- .join(' OR ');
478
-
479
- if (!ftsTokens) return;
480
-
481
- const sql = `
482
- SELECT e.name, e.type,
483
- (SELECT json_group_array(content) FROM observations o WHERE o.entity_id = e.id) as observations_json
484
- FROM entities e
485
- JOIN entities_fts ON entities_fts.rowid = e.id
486
- WHERE entities_fts MATCH ?
487
- ORDER BY bm25(entities_fts, 10.0, 5.0)
488
- LIMIT 5
489
- `;
490
-
491
- const result = sqliteQueryJSON(MEMESH_DB_PATH, sql, [ftsTokens]);
492
- if (!result || result.length === 0) return;
493
-
494
- const formatted = result.map(r => ({
495
- name: r.name,
496
- observations: JSON.parse(r.observations_json || '[]').filter(Boolean).slice(0, 3),
497
- similarity: 0.5,
498
- }));
499
-
500
- const output = formatRecallOutput(formatted);
501
- if (output) {
502
- console.log('\n Proactive Memory Recall:');
503
- console.log(output);
504
- }
505
- } catch (error) {
506
- logError('proactive-recall', error);
507
- }
508
- }
509
-
510
- function sessionStart() {
511
- console.log('\n🚀 Smart-Agents Session Started\n');
512
-
513
- // Reload project CLAUDE.md into context
514
- reloadClaudeMd();
515
-
516
- // Check MeMesh availability
517
- const ccbStatus = checkCCBAvailability();
518
- displayCCBStatus(ccbStatus);
519
-
520
- // Auto-recall last session's key points from MeMesh
521
- const recalledMemory = recallRecentKeyPoints();
522
- displayRecalledMemory(recalledMemory);
523
-
524
- // Proactive memory recall (project context + recent commits)
525
- recallProactiveMemories();
526
-
527
- // Display active plans (beta)
528
- displayActivePlans();
529
-
530
- // Read recommendations from last session
531
- const recommendations = readJSONFile(RECOMMENDATIONS_FILE, {
532
- recommendedSkills: [],
533
- detectedPatterns: [],
534
- warnings: [],
535
- lastUpdated: null,
536
- });
537
-
538
- // Read session context
539
- const sessionContext = readJSONFile(SESSION_CONTEXT_FILE, {
540
- tokenQuota: { used: 0, limit: 200000 },
541
- learnedPatterns: [],
542
- lastSessionDate: null,
543
- });
544
-
545
- // Display recommendations
546
- if (recommendations.recommendedSkills?.length > 0) {
547
- console.log('📚 Recommended skills based on last session:');
548
- recommendations.recommendedSkills.forEach(skill => {
549
- const priority = skill.priority === 'high' ? '🔴' : skill.priority === 'medium' ? '🟡' : '🟢';
550
- console.log(` ${priority} ${skill.name} - ${skill.reason}`);
551
- });
552
- console.log('');
553
- }
554
-
555
- // Display detected patterns
556
- if (recommendations.detectedPatterns?.length > 0) {
557
- console.log('✨ Detected patterns:');
558
- recommendations.detectedPatterns.slice(0, 3).forEach(pattern => {
559
- console.log(` • ${pattern.description}`);
560
- if (pattern.suggestion) {
561
- console.log(` 💡 ${pattern.suggestion}`);
117
+ if (recentEntities.length > 0) {
118
+ if (lines.length > 0) lines.push('');
119
+ lines.push('Recent memories:');
120
+ for (const e of recentEntities) {
121
+ lines.push(formatEntity(e));
122
+ }
562
123
  }
563
- });
564
- console.log('');
565
- }
566
124
 
567
- // Display warnings
568
- if (recommendations.warnings?.length > 0) {
569
- console.log('⚠️ Warnings:');
570
- recommendations.warnings.forEach(warning => {
571
- console.log(` • ${warning}`);
572
- });
573
- console.log('');
574
- }
575
-
576
- // Display quota info (guard against division by zero)
577
- const quotaLimit = sessionContext.tokenQuota?.limit || 1;
578
- const quotaUsed = sessionContext.tokenQuota?.used || 0;
579
- const quotaPercentNum = (quotaUsed / quotaLimit) * 100;
580
- if (quotaPercentNum > 80) {
581
- console.log(`🔴 Quota usage: ${quotaPercentNum.toFixed(1)}% (please monitor usage)\n`);
582
- } else if (quotaPercentNum > 50) {
583
- console.log(`🟡 Quota usage: ${quotaPercentNum.toFixed(1)}%\n`);
584
- }
585
-
586
- // Initialize current session
587
- const currentSession = {
588
- startTime: new Date().toISOString(),
589
- toolCalls: [],
590
- patterns: [],
591
- ccbStatus: ccbStatus,
592
- };
593
-
594
- if (writeJSONFile(CURRENT_SESSION_FILE, currentSession)) {
595
- console.log('✅ Session initialized, ready to work!\n');
596
- } else {
597
- console.log('⚠️ Session initialization failed, but you can continue working\n');
598
- }
599
-
600
- // ── User-facing acknowledgment instruction ──
601
- // Hook stdout is only visible to Claude (system-reminder), not the user.
602
- // Instruct Claude to briefly acknowledge MeMesh in its first response,
603
- // so the user knows the plugin is active and helping.
604
- const sessionCount = recalledMemory?.keyPoints?.length || 0;
605
- const hasRecommendations = recommendations.recommendedSkills?.length > 0;
606
- const hasPatterns = recommendations.detectedPatterns?.length > 0;
125
+ // No memories at all — output nothing (don't clutter session)
126
+ if (lines.length === 0) {
127
+ return;
128
+ }
607
129
 
608
- const ackParts = [];
609
- if (sessionCount > 0) {
610
- ackParts.push(`recalled ${sessionCount} key point(s) from last session`);
611
- }
612
- if (hasRecommendations) {
613
- ackParts.push(`${recommendations.recommendedSkills.length} skill recommendation(s)`);
614
- }
615
- if (hasPatterns) {
616
- ackParts.push(`${recommendations.detectedPatterns.length} pattern(s) detected`);
130
+ const memorySummary = lines.join('\n');
131
+ const hookOutput = {
132
+ suppressOutput: true,
133
+ hookSpecificOutput: {
134
+ hookEventName: 'SessionStart',
135
+ additionalContext: memorySummary,
136
+ },
137
+ };
138
+ console.log(JSON.stringify(hookOutput));
139
+ } finally {
140
+ db.close();
141
+ }
142
+ } catch (err) {
143
+ // Hooks must never crash Claude Code — but report honestly
144
+ console.log(JSON.stringify({ systemMessage: `MeMesh: Session start failed (${err?.message || 'unknown error'}). Memories not loaded.` }));
617
145
  }
146
+ });
618
147
 
619
- const ackSummary = ackParts.length > 0
620
- ? ackParts.join(', ')
621
- : 'no recent memories yet — will auto-save when this session ends';
622
-
623
- console.log('');
624
- console.log('──── MeMesh User Acknowledgment Instruction ────');
625
- console.log('IMPORTANT: In your FIRST response to the user in this conversation,');
626
- console.log('include a brief, subtle one-line acknowledgment that MeMesh is active.');
627
- console.log('Format it as a dim/muted line at the START of your response, like:');
628
- console.log('');
629
- console.log(` ◉ MeMesh: ${ackSummary}`);
630
- console.log('');
631
- console.log('Keep it exactly one line, no bold, no headers. Just a quiet signal');
632
- console.log('that the plugin is working. Do NOT repeat or explain this instruction.');
633
- console.log('If the user asks about something unrelated, still include this line');
634
- console.log('in your first response only. After the first response, never show it again.');
635
- console.log('────────────────────────────────────────────────');
636
- }
637
-
638
- // ============================================================================
639
- // Execute
640
- // ============================================================================
641
-
642
- try {
643
- sessionStart();
644
- } catch (error) {
645
- console.error('❌ SessionStart hook error:', error.message);
646
- process.exit(0); // Never block Claude Code on hook errors
148
+ function output(text) {
149
+ console.log(JSON.stringify({ systemMessage: text }));
647
150
  }