sensorium-mcp 3.0.103 → 3.1.0-refactor.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (563) hide show
  1. package/README.md +25 -0
  2. package/dist/config/agent-settings.d.ts +69 -0
  3. package/dist/config/agent-settings.d.ts.map +1 -0
  4. package/dist/config/agent-settings.js +225 -0
  5. package/dist/config/agent-settings.js.map +1 -0
  6. package/dist/config/agent-templates.d.ts +39 -0
  7. package/dist/config/agent-templates.d.ts.map +1 -0
  8. package/dist/config/agent-templates.js +105 -0
  9. package/dist/config/agent-templates.js.map +1 -0
  10. package/dist/config/index.d.ts +16 -0
  11. package/dist/config/index.d.ts.map +1 -0
  12. package/dist/config/index.js +58 -0
  13. package/dist/config/index.js.map +1 -0
  14. package/dist/config/keep-alive-settings.d.ts +29 -0
  15. package/dist/config/keep-alive-settings.d.ts.map +1 -0
  16. package/dist/config/keep-alive-settings.js +100 -0
  17. package/dist/config/keep-alive-settings.js.map +1 -0
  18. package/dist/config/mcp-settings.d.ts +59 -0
  19. package/dist/config/mcp-settings.d.ts.map +1 -0
  20. package/dist/config/mcp-settings.js +196 -0
  21. package/dist/config/mcp-settings.js.map +1 -0
  22. package/dist/config/misc-settings.d.ts +46 -0
  23. package/dist/config/misc-settings.d.ts.map +1 -0
  24. package/dist/config/misc-settings.js +146 -0
  25. package/dist/config/misc-settings.js.map +1 -0
  26. package/dist/config/settings-store.d.ts +10 -0
  27. package/dist/config/settings-store.d.ts.map +1 -0
  28. package/dist/config/settings-store.js +65 -0
  29. package/dist/config/settings-store.js.map +1 -0
  30. package/dist/dashboard/log-parser.d.ts.map +1 -1
  31. package/dist/dashboard/log-parser.js +12 -2
  32. package/dist/dashboard/log-parser.js.map +1 -1
  33. package/dist/dashboard/presets.d.ts +1 -1
  34. package/dist/dashboard/presets.d.ts.map +1 -1
  35. package/dist/dashboard/presets.js +1 -1
  36. package/dist/dashboard/presets.js.map +1 -1
  37. package/dist/dashboard/routes/agent-templates.d.ts.map +1 -1
  38. package/dist/dashboard/routes/agent-templates.js +13 -8
  39. package/dist/dashboard/routes/agent-templates.js.map +1 -1
  40. package/dist/dashboard/routes/claude.d.ts.map +1 -1
  41. package/dist/dashboard/routes/claude.js +6 -3
  42. package/dist/dashboard/routes/claude.js.map +1 -1
  43. package/dist/dashboard/routes/copilot.d.ts.map +1 -1
  44. package/dist/dashboard/routes/copilot.js +16 -7
  45. package/dist/dashboard/routes/copilot.js.map +1 -1
  46. package/dist/dashboard/routes/data.d.ts.map +1 -1
  47. package/dist/dashboard/routes/data.js +43 -15
  48. package/dist/dashboard/routes/data.js.map +1 -1
  49. package/dist/dashboard/routes/env-vars.d.ts.map +1 -1
  50. package/dist/dashboard/routes/env-vars.js.map +1 -1
  51. package/dist/dashboard/routes/mcp-servers.d.ts.map +1 -1
  52. package/dist/dashboard/routes/mcp-servers.js +11 -5
  53. package/dist/dashboard/routes/mcp-servers.js.map +1 -1
  54. package/dist/dashboard/routes/prompts.d.ts.map +1 -1
  55. package/dist/dashboard/routes/prompts.js +2 -2
  56. package/dist/dashboard/routes/prompts.js.map +1 -1
  57. package/dist/dashboard/routes/settings.d.ts.map +1 -1
  58. package/dist/dashboard/routes/settings.js +5 -3
  59. package/dist/dashboard/routes/settings.js.map +1 -1
  60. package/dist/dashboard/routes/skills.d.ts.map +1 -1
  61. package/dist/dashboard/routes/skills.js +4 -4
  62. package/dist/dashboard/routes/skills.js.map +1 -1
  63. package/dist/dashboard/routes/snapshots.d.ts.map +1 -1
  64. package/dist/dashboard/routes/snapshots.js +18 -11
  65. package/dist/dashboard/routes/snapshots.js.map +1 -1
  66. package/dist/dashboard/routes/templates.d.ts.map +1 -1
  67. package/dist/dashboard/routes/templates.js +6 -3
  68. package/dist/dashboard/routes/templates.js.map +1 -1
  69. package/dist/dashboard/routes/threads-create.d.ts +22 -0
  70. package/dist/dashboard/routes/threads-create.d.ts.map +1 -0
  71. package/dist/dashboard/routes/threads-create.js +225 -0
  72. package/dist/dashboard/routes/threads-create.js.map +1 -0
  73. package/dist/dashboard/routes/threads-helpers.d.ts +28 -0
  74. package/dist/dashboard/routes/threads-helpers.d.ts.map +1 -0
  75. package/dist/dashboard/routes/threads-helpers.js +138 -0
  76. package/dist/dashboard/routes/threads-helpers.js.map +1 -0
  77. package/dist/dashboard/routes/threads-read.d.ts +26 -0
  78. package/dist/dashboard/routes/threads-read.d.ts.map +1 -0
  79. package/dist/dashboard/routes/threads-read.js +118 -0
  80. package/dist/dashboard/routes/threads-read.js.map +1 -0
  81. package/dist/dashboard/routes/threads.d.ts +5 -44
  82. package/dist/dashboard/routes/threads.d.ts.map +1 -1
  83. package/dist/dashboard/routes/threads.js +40 -496
  84. package/dist/dashboard/routes/threads.js.map +1 -1
  85. package/dist/dashboard/routes/types.d.ts.map +1 -1
  86. package/dist/dashboard/routes/types.js.map +1 -1
  87. package/dist/dashboard/routes.d.ts.map +1 -1
  88. package/dist/dashboard/routes.js +9 -5
  89. package/dist/dashboard/routes.js.map +1 -1
  90. package/dist/data/daily-marker.d.ts.map +1 -1
  91. package/dist/data/daily-marker.js +1 -1
  92. package/dist/data/daily-marker.js.map +1 -1
  93. package/dist/data/file-storage.d.ts.map +1 -1
  94. package/dist/data/file-storage.js +40 -16
  95. package/dist/data/file-storage.js.map +1 -1
  96. package/dist/data/interfaces.d.ts +23 -2
  97. package/dist/data/interfaces.d.ts.map +1 -1
  98. package/dist/data/memory/bootstrap.d.ts +1 -1
  99. package/dist/data/memory/bootstrap.d.ts.map +1 -1
  100. package/dist/data/memory/bootstrap.js +32 -13
  101. package/dist/data/memory/bootstrap.js.map +1 -1
  102. package/dist/data/memory/consolidation.d.ts.map +1 -1
  103. package/dist/data/memory/consolidation.js +17 -8
  104. package/dist/data/memory/consolidation.js.map +1 -1
  105. package/dist/data/memory/db-types.d.ts +4 -0
  106. package/dist/data/memory/db-types.d.ts.map +1 -0
  107. package/dist/data/memory/db-types.js +2 -0
  108. package/dist/data/memory/db-types.js.map +1 -0
  109. package/dist/data/memory/episodes.d.ts.map +1 -1
  110. package/dist/data/memory/episodes.js +3 -5
  111. package/dist/data/memory/episodes.js.map +1 -1
  112. package/dist/data/memory/index.d.ts +28 -14
  113. package/dist/data/memory/index.d.ts.map +1 -1
  114. package/dist/data/memory/index.js +28 -14
  115. package/dist/data/memory/index.js.map +1 -1
  116. package/dist/data/memory/migration-runner.d.ts +1 -1
  117. package/dist/data/memory/migration-runner.d.ts.map +1 -1
  118. package/dist/data/memory/migration-runner.js +23 -15
  119. package/dist/data/memory/migration-runner.js.map +1 -1
  120. package/dist/data/memory/narrative-lint.d.ts +12 -0
  121. package/dist/data/memory/narrative-lint.d.ts.map +1 -0
  122. package/dist/data/memory/narrative-lint.js +117 -0
  123. package/dist/data/memory/narrative-lint.js.map +1 -0
  124. package/dist/data/memory/narrative-resolutions.d.ts +26 -0
  125. package/dist/data/memory/narrative-resolutions.d.ts.map +1 -0
  126. package/dist/data/memory/narrative-resolutions.js +81 -0
  127. package/dist/data/memory/narrative-resolutions.js.map +1 -0
  128. package/dist/data/memory/narrative-sources.d.ts +19 -0
  129. package/dist/data/memory/narrative-sources.d.ts.map +1 -0
  130. package/dist/data/memory/narrative-sources.js +150 -0
  131. package/dist/data/memory/narrative-sources.js.map +1 -0
  132. package/dist/data/memory/narrative-store.d.ts +11 -0
  133. package/dist/data/memory/narrative-store.d.ts.map +1 -0
  134. package/dist/data/memory/narrative-store.js +80 -0
  135. package/dist/data/memory/narrative-store.js.map +1 -0
  136. package/dist/data/memory/narrative-types.d.ts +15 -0
  137. package/dist/data/memory/narrative-types.d.ts.map +1 -0
  138. package/dist/data/memory/narrative-types.js +3 -0
  139. package/dist/data/memory/narrative-types.js.map +1 -0
  140. package/dist/data/memory/narrative.d.ts +5 -2
  141. package/dist/data/memory/narrative.d.ts.map +1 -1
  142. package/dist/data/memory/narrative.js +31 -521
  143. package/dist/data/memory/narrative.js.map +1 -1
  144. package/dist/data/memory/note-archival.d.ts +17 -0
  145. package/dist/data/memory/note-archival.d.ts.map +1 -0
  146. package/dist/data/memory/note-archival.js +48 -0
  147. package/dist/data/memory/note-archival.js.map +1 -0
  148. package/dist/data/memory/note-embeddings.d.ts +27 -0
  149. package/dist/data/memory/note-embeddings.d.ts.map +1 -0
  150. package/dist/data/memory/note-embeddings.js +98 -0
  151. package/dist/data/memory/note-embeddings.js.map +1 -0
  152. package/dist/data/memory/reflection-dedup.d.ts +17 -0
  153. package/dist/data/memory/reflection-dedup.d.ts.map +1 -0
  154. package/dist/data/memory/reflection-dedup.js +55 -0
  155. package/dist/data/memory/reflection-dedup.js.map +1 -0
  156. package/dist/data/memory/reflection-gates.d.ts +40 -0
  157. package/dist/data/memory/reflection-gates.d.ts.map +1 -0
  158. package/dist/data/memory/reflection-gates.js +220 -0
  159. package/dist/data/memory/reflection-gates.js.map +1 -0
  160. package/dist/data/memory/reflection-sources.d.ts +13 -0
  161. package/dist/data/memory/reflection-sources.d.ts.map +1 -0
  162. package/dist/data/memory/reflection-sources.js +115 -0
  163. package/dist/data/memory/reflection-sources.js.map +1 -0
  164. package/dist/data/memory/reflection.d.ts +5 -35
  165. package/dist/data/memory/reflection.d.ts.map +1 -1
  166. package/dist/data/memory/reflection.js +25 -329
  167. package/dist/data/memory/reflection.js.map +1 -1
  168. package/dist/data/memory/schema-ddl.d.ts +1 -1
  169. package/dist/data/memory/schema-ddl.d.ts.map +1 -1
  170. package/dist/data/memory/schema-ddl.js +5 -3
  171. package/dist/data/memory/schema-ddl.js.map +1 -1
  172. package/dist/data/memory/schema-guard.d.ts +1 -1
  173. package/dist/data/memory/schema-guard.d.ts.map +1 -1
  174. package/dist/data/memory/schema-guard.js +5 -4
  175. package/dist/data/memory/schema-guard.js.map +1 -1
  176. package/dist/data/memory/schema.d.ts +2 -2
  177. package/dist/data/memory/schema.d.ts.map +1 -1
  178. package/dist/data/memory/schema.js +4 -2
  179. package/dist/data/memory/schema.js.map +1 -1
  180. package/dist/data/memory/{semantic.d.ts → semantic-notes.d.ts} +6 -72
  181. package/dist/data/memory/semantic-notes.d.ts.map +1 -0
  182. package/dist/data/memory/semantic-notes.js +249 -0
  183. package/dist/data/memory/semantic-notes.js.map +1 -0
  184. package/dist/data/memory/semantic-search.d.ts +29 -0
  185. package/dist/data/memory/semantic-search.d.ts.map +1 -0
  186. package/dist/data/memory/semantic-search.js +156 -0
  187. package/dist/data/memory/semantic-search.js.map +1 -0
  188. package/dist/data/memory/synthesis.d.ts.map +1 -1
  189. package/dist/data/memory/synthesis.js +15 -7
  190. package/dist/data/memory/synthesis.js.map +1 -1
  191. package/dist/data/memory/thread-registry.d.ts +2 -2
  192. package/dist/data/memory/thread-registry.d.ts.map +1 -1
  193. package/dist/data/memory/thread-registry.js +74 -36
  194. package/dist/data/memory/thread-registry.js.map +1 -1
  195. package/dist/data/memory/topic-index.d.ts +20 -0
  196. package/dist/data/memory/topic-index.d.ts.map +1 -0
  197. package/dist/data/memory/topic-index.js +91 -0
  198. package/dist/data/memory/topic-index.js.map +1 -0
  199. package/dist/data/memory/topic-shift.js +1 -1
  200. package/dist/data/memory/topic-shift.js.map +1 -1
  201. package/dist/data/memory/utils.d.ts +0 -5
  202. package/dist/data/memory/utils.d.ts.map +1 -1
  203. package/dist/data/memory/utils.js +0 -94
  204. package/dist/data/memory/utils.js.map +1 -1
  205. package/dist/data/sent-message.repository.js +2 -2
  206. package/dist/data/sent-message.repository.js.map +1 -1
  207. package/dist/data/templates.js +2 -2
  208. package/dist/data/templates.js.map +1 -1
  209. package/dist/index.js +21 -19
  210. package/dist/index.js.map +1 -1
  211. package/dist/integrations/openai/chat.d.ts.map +1 -1
  212. package/dist/integrations/openai/chat.js +5 -5
  213. package/dist/integrations/openai/chat.js.map +1 -1
  214. package/dist/integrations/openai/speech.d.ts +1 -1
  215. package/dist/integrations/openai/speech.d.ts.map +1 -1
  216. package/dist/integrations/openai/speech.js +1 -3
  217. package/dist/integrations/openai/speech.js.map +1 -1
  218. package/dist/integrations/openai/video.d.ts.map +1 -1
  219. package/dist/integrations/openai/video.js +21 -10
  220. package/dist/integrations/openai/video.js.map +1 -1
  221. package/dist/integrations/openai/vision.d.ts.map +1 -1
  222. package/dist/integrations/openai/vision.js.map +1 -1
  223. package/dist/integrations/openai/voice-emotion.d.ts.map +1 -1
  224. package/dist/integrations/openai/voice-emotion.js +2 -2
  225. package/dist/integrations/openai/voice-emotion.js.map +1 -1
  226. package/dist/lib/logger.d.ts.map +1 -0
  227. package/dist/{logger.js → lib/logger.js} +77 -50
  228. package/dist/lib/logger.js.map +1 -0
  229. package/dist/lib/markdown.d.ts.map +1 -0
  230. package/dist/{markdown.js → lib/markdown.js} +13 -5
  231. package/dist/lib/markdown.js.map +1 -0
  232. package/dist/{types.d.ts → lib/types.d.ts} +0 -1
  233. package/dist/lib/types.d.ts.map +1 -0
  234. package/dist/lib/types.js.map +1 -0
  235. package/dist/lib/utils.d.ts.map +1 -0
  236. package/dist/{utils.js → lib/utils.js} +29 -9
  237. package/dist/lib/utils.js.map +1 -0
  238. package/dist/llm/json.d.ts +14 -0
  239. package/dist/llm/json.d.ts.map +1 -0
  240. package/dist/llm/json.js +112 -0
  241. package/dist/llm/json.js.map +1 -0
  242. package/dist/llm/prompts/narrative.d.ts +7 -0
  243. package/dist/llm/prompts/narrative.d.ts.map +1 -0
  244. package/dist/llm/prompts/narrative.js +124 -0
  245. package/dist/llm/prompts/narrative.js.map +1 -0
  246. package/dist/llm/prompts/reflection.d.ts +6 -0
  247. package/dist/llm/prompts/reflection.d.ts.map +1 -0
  248. package/dist/llm/prompts/reflection.js +77 -0
  249. package/dist/llm/prompts/reflection.js.map +1 -0
  250. package/dist/server/factory.d.ts +2 -2
  251. package/dist/server/factory.d.ts.map +1 -1
  252. package/dist/server/factory.js +152 -73
  253. package/dist/server/factory.js.map +1 -1
  254. package/dist/{http-server.d.ts → server/http-server.d.ts} +2 -2
  255. package/dist/server/http-server.d.ts.map +1 -0
  256. package/dist/{http-server.js → server/http-server.js} +38 -17
  257. package/dist/server/http-server.js.map +1 -0
  258. package/dist/{stdio-server.d.ts → server/stdio-server.d.ts} +1 -1
  259. package/dist/server/stdio-server.d.ts.map +1 -0
  260. package/dist/{stdio-server.js → server/stdio-server.js} +25 -11
  261. package/dist/server/stdio-server.js.map +1 -0
  262. package/dist/services/agent-spawn.service.d.ts +1 -1
  263. package/dist/services/agent-spawn.service.d.ts.map +1 -1
  264. package/dist/services/agent-spawn.service.js +17 -7
  265. package/dist/services/agent-spawn.service.js.map +1 -1
  266. package/dist/services/background-runner.d.ts +2 -2
  267. package/dist/services/background-runner.d.ts.map +1 -1
  268. package/dist/services/background-runner.js +8 -3
  269. package/dist/services/background-runner.js.map +1 -1
  270. package/dist/services/claude-spawn.service.d.ts.map +1 -1
  271. package/dist/services/claude-spawn.service.js +61 -52
  272. package/dist/services/claude-spawn.service.js.map +1 -1
  273. package/dist/services/codex-spawn.service.d.ts.map +1 -1
  274. package/dist/services/codex-spawn.service.js +52 -40
  275. package/dist/services/codex-spawn.service.js.map +1 -1
  276. package/dist/services/consolidation-prompts.d.ts +26 -0
  277. package/dist/services/consolidation-prompts.d.ts.map +1 -0
  278. package/dist/services/consolidation-prompts.js +144 -0
  279. package/dist/services/consolidation-prompts.js.map +1 -0
  280. package/dist/services/consolidation.service.d.ts +1 -5
  281. package/dist/services/consolidation.service.d.ts.map +1 -1
  282. package/dist/services/consolidation.service.js +53 -322
  283. package/dist/services/consolidation.service.js.map +1 -1
  284. package/dist/services/copilot-spawn.service.d.ts.map +1 -1
  285. package/dist/services/copilot-spawn.service.js +47 -57
  286. package/dist/services/copilot-spawn.service.js.map +1 -1
  287. package/dist/{daily-session.d.ts → services/daily-session.d.ts} +1 -1
  288. package/dist/services/daily-session.d.ts.map +1 -0
  289. package/dist/{daily-session.js → services/daily-session.js} +15 -14
  290. package/dist/services/daily-session.js.map +1 -0
  291. package/dist/services/dispatcher/broker.d.ts +0 -6
  292. package/dist/services/dispatcher/broker.d.ts.map +1 -1
  293. package/dist/services/dispatcher/broker.js +46 -38
  294. package/dist/services/dispatcher/broker.js.map +1 -1
  295. package/dist/services/dispatcher/index.d.ts +1 -1
  296. package/dist/services/dispatcher/index.d.ts.map +1 -1
  297. package/dist/services/dispatcher/index.js +1 -1
  298. package/dist/services/dispatcher/index.js.map +1 -1
  299. package/dist/services/dispatcher/lock.d.ts.map +1 -1
  300. package/dist/services/dispatcher/lock.js +24 -9
  301. package/dist/services/dispatcher/lock.js.map +1 -1
  302. package/dist/services/dispatcher/poller.d.ts +1 -1
  303. package/dist/services/dispatcher/poller.d.ts.map +1 -1
  304. package/dist/services/dispatcher/poller.js +74 -49
  305. package/dist/services/dispatcher/poller.js.map +1 -1
  306. package/dist/services/drive.d.ts.map +1 -0
  307. package/dist/{drive.js → services/drive.js} +1 -1
  308. package/dist/services/drive.js.map +1 -0
  309. package/dist/services/intent.d.ts.map +1 -0
  310. package/dist/{intent.js → services/intent.js} +78 -23
  311. package/dist/services/intent.js.map +1 -0
  312. package/dist/services/keep-alive-sync.service.d.ts +11 -0
  313. package/dist/services/keep-alive-sync.service.d.ts.map +1 -0
  314. package/dist/services/keep-alive-sync.service.js +47 -0
  315. package/dist/services/keep-alive-sync.service.js.map +1 -0
  316. package/dist/services/keeper.service.d.ts +1 -1
  317. package/dist/services/keeper.service.d.ts.map +1 -1
  318. package/dist/services/keeper.service.js +31 -18
  319. package/dist/services/keeper.service.js.map +1 -1
  320. package/dist/services/maintenance-signal.js +1 -1
  321. package/dist/services/maintenance-signal.js.map +1 -1
  322. package/dist/services/mcp-config.service.d.ts.map +1 -1
  323. package/dist/services/mcp-config.service.js +19 -6
  324. package/dist/services/mcp-config.service.js.map +1 -1
  325. package/dist/services/memory-briefing.service.d.ts.map +1 -1
  326. package/dist/services/memory-briefing.service.js +13 -7
  327. package/dist/services/memory-briefing.service.js.map +1 -1
  328. package/dist/services/memory-pruning.service.d.ts +12 -0
  329. package/dist/services/memory-pruning.service.d.ts.map +1 -0
  330. package/dist/services/memory-pruning.service.js +177 -0
  331. package/dist/services/memory-pruning.service.js.map +1 -0
  332. package/dist/services/process.service.d.ts +7 -2
  333. package/dist/services/process.service.d.ts.map +1 -1
  334. package/dist/services/process.service.js +233 -103
  335. package/dist/services/process.service.js.map +1 -1
  336. package/dist/services/reconnect-snapshot.service.d.ts.map +1 -1
  337. package/dist/services/reconnect-snapshot.service.js +3 -3
  338. package/dist/services/reconnect-snapshot.service.js.map +1 -1
  339. package/dist/{scheduler.d.ts → services/scheduler.d.ts} +1 -23
  340. package/dist/services/scheduler.d.ts.map +1 -0
  341. package/dist/{scheduler.js → services/scheduler.js} +6 -8
  342. package/dist/services/scheduler.js.map +1 -0
  343. package/dist/services/self-update.service.d.ts +15 -5
  344. package/dist/services/self-update.service.d.ts.map +1 -1
  345. package/dist/services/self-update.service.js +85 -41
  346. package/dist/services/self-update.service.js.map +1 -1
  347. package/dist/services/spawn-common.d.ts +40 -16
  348. package/dist/services/spawn-common.d.ts.map +1 -1
  349. package/dist/services/spawn-common.js +163 -36
  350. package/dist/services/spawn-common.js.map +1 -1
  351. package/dist/{telegram.d.ts → services/telegram.d.ts} +3 -3
  352. package/dist/services/telegram.d.ts.map +1 -0
  353. package/dist/{telegram.js → services/telegram.js} +16 -8
  354. package/dist/services/telegram.js.map +1 -0
  355. package/dist/services/thread-config.service.d.ts +25 -0
  356. package/dist/services/thread-config.service.d.ts.map +1 -0
  357. package/dist/services/thread-config.service.js +73 -0
  358. package/dist/services/thread-config.service.js.map +1 -0
  359. package/dist/services/thread-health.service.d.ts.map +1 -1
  360. package/dist/services/thread-health.service.js +23 -9
  361. package/dist/services/thread-health.service.js.map +1 -1
  362. package/dist/services/thread-lifecycle.service.d.ts.map +1 -1
  363. package/dist/services/thread-lifecycle.service.js +21 -7
  364. package/dist/services/thread-lifecycle.service.js.map +1 -1
  365. package/dist/services/topic.service.d.ts.map +1 -1
  366. package/dist/services/topic.service.js +17 -6
  367. package/dist/services/topic.service.js.map +1 -1
  368. package/dist/services/worker-cleanup.service.d.ts +3 -2
  369. package/dist/services/worker-cleanup.service.d.ts.map +1 -1
  370. package/dist/services/worker-cleanup.service.js +31 -19
  371. package/dist/services/worker-cleanup.service.js.map +1 -1
  372. package/dist/sessions/dashboard-registry.d.ts +38 -0
  373. package/dist/sessions/dashboard-registry.d.ts.map +1 -0
  374. package/dist/sessions/dashboard-registry.js +84 -0
  375. package/dist/sessions/dashboard-registry.js.map +1 -0
  376. package/dist/{sessions.d.ts → sessions/mcp-registry.d.ts} +3 -60
  377. package/dist/sessions/mcp-registry.d.ts.map +1 -0
  378. package/dist/{sessions.js → sessions/mcp-registry.js} +5 -214
  379. package/dist/sessions/mcp-registry.js.map +1 -0
  380. package/dist/sessions/session-store.d.ts +17 -0
  381. package/dist/sessions/session-store.d.ts.map +1 -0
  382. package/dist/sessions/session-store.js +69 -0
  383. package/dist/sessions/session-store.js.map +1 -0
  384. package/dist/sessions/topic-registry.d.ts +14 -0
  385. package/dist/sessions/topic-registry.d.ts.map +1 -0
  386. package/dist/sessions/topic-registry.js +67 -0
  387. package/dist/sessions/topic-registry.js.map +1 -0
  388. package/dist/tools/definitions.d.ts +1 -9
  389. package/dist/tools/definitions.d.ts.map +1 -1
  390. package/dist/tools/definitions.js.map +1 -1
  391. package/dist/tools/defs/memory-defs.d.ts +1 -1
  392. package/dist/tools/defs/memory-defs.d.ts.map +1 -1
  393. package/dist/tools/defs/memory-defs.js +1 -1
  394. package/dist/tools/defs/memory-defs.js.map +1 -1
  395. package/dist/tools/defs/session-defs.d.ts +1 -1
  396. package/dist/tools/defs/session-defs.d.ts.map +1 -1
  397. package/dist/tools/defs/session-defs.js +3 -14
  398. package/dist/tools/defs/session-defs.js.map +1 -1
  399. package/dist/tools/defs/skill-defs.d.ts +1 -1
  400. package/dist/tools/defs/skill-defs.d.ts.map +1 -1
  401. package/dist/tools/defs/types.d.ts +11 -0
  402. package/dist/tools/defs/types.d.ts.map +1 -0
  403. package/dist/{chat-ui/src → tools/defs}/types.js.map +1 -1
  404. package/dist/tools/defs/utility-defs.d.ts +1 -1
  405. package/dist/tools/defs/utility-defs.d.ts.map +1 -1
  406. package/dist/tools/defs/utility-defs.js.map +1 -1
  407. package/dist/tools/defs/wait-defs.d.ts +1 -1
  408. package/dist/tools/defs/wait-defs.d.ts.map +1 -1
  409. package/dist/tools/delegate-tool.d.ts +2 -2
  410. package/dist/tools/delegate-tool.d.ts.map +1 -1
  411. package/dist/tools/delegate-tool.js +57 -37
  412. package/dist/tools/delegate-tool.js.map +1 -1
  413. package/dist/tools/memory-tools.d.ts +2 -2
  414. package/dist/tools/memory-tools.d.ts.map +1 -1
  415. package/dist/tools/memory-tools.js +108 -37
  416. package/dist/tools/memory-tools.js.map +1 -1
  417. package/dist/{response-builders.d.ts → tools/response-builders.d.ts} +2 -2
  418. package/dist/tools/response-builders.d.ts.map +1 -0
  419. package/dist/{response-builders.js → tools/response-builders.js} +151 -30
  420. package/dist/tools/response-builders.js.map +1 -0
  421. package/dist/tools/session-tools.d.ts +5 -14
  422. package/dist/tools/session-tools.d.ts.map +1 -1
  423. package/dist/tools/session-tools.js +17 -12
  424. package/dist/tools/session-tools.js.map +1 -1
  425. package/dist/tools/shared-agent-utils.d.ts +1 -1
  426. package/dist/tools/shared-agent-utils.d.ts.map +1 -1
  427. package/dist/tools/shared-agent-utils.js +2 -4
  428. package/dist/tools/shared-agent-utils.js.map +1 -1
  429. package/dist/tools/skill-tools.d.ts +1 -1
  430. package/dist/tools/skill-tools.d.ts.map +1 -1
  431. package/dist/tools/skill-tools.js +12 -7
  432. package/dist/tools/skill-tools.js.map +1 -1
  433. package/dist/tools/start-session-tool.d.ts +3 -3
  434. package/dist/tools/start-session-tool.d.ts.map +1 -1
  435. package/dist/tools/start-session-tool.js +35 -25
  436. package/dist/tools/start-session-tool.js.map +1 -1
  437. package/dist/tools/utility-tools.d.ts +3 -3
  438. package/dist/tools/utility-tools.d.ts.map +1 -1
  439. package/dist/tools/utility-tools.js +46 -28
  440. package/dist/tools/utility-tools.js.map +1 -1
  441. package/dist/tools/wait/auto-forward.d.ts +1 -1
  442. package/dist/tools/wait/auto-forward.d.ts.map +1 -1
  443. package/dist/tools/wait/auto-forward.js +6 -4
  444. package/dist/tools/wait/auto-forward.js.map +1 -1
  445. package/dist/tools/wait/context.d.ts +45 -0
  446. package/dist/tools/wait/context.d.ts.map +1 -0
  447. package/dist/tools/wait/context.js +5 -0
  448. package/dist/tools/wait/context.js.map +1 -0
  449. package/dist/tools/wait/drive-handler.d.ts +2 -2
  450. package/dist/tools/wait/drive-handler.d.ts.map +1 -1
  451. package/dist/tools/wait/drive-handler.js +24 -12
  452. package/dist/tools/wait/drive-handler.js.map +1 -1
  453. package/dist/tools/wait/index.d.ts +2 -1
  454. package/dist/tools/wait/index.d.ts.map +1 -1
  455. package/dist/tools/wait/index.js.map +1 -1
  456. package/dist/tools/wait/media-processor.d.ts +4 -4
  457. package/dist/tools/wait/media-processor.d.ts.map +1 -1
  458. package/dist/tools/wait/media-processor.js +17 -8
  459. package/dist/tools/wait/media-processor.js.map +1 -1
  460. package/dist/tools/wait/message-delivery.d.ts +5 -5
  461. package/dist/tools/wait/message-delivery.d.ts.map +1 -1
  462. package/dist/tools/wait/message-delivery.js +78 -37
  463. package/dist/tools/wait/message-delivery.js.map +1 -1
  464. package/dist/tools/wait/message-processing.d.ts +2 -2
  465. package/dist/tools/wait/message-processing.d.ts.map +1 -1
  466. package/dist/tools/wait/message-processing.js +95 -37
  467. package/dist/tools/wait/message-processing.js.map +1 -1
  468. package/dist/tools/wait/poll-loop.d.ts +2 -41
  469. package/dist/tools/wait/poll-loop.d.ts.map +1 -1
  470. package/dist/tools/wait/poll-loop.js +75 -23
  471. package/dist/tools/wait/poll-loop.js.map +1 -1
  472. package/dist/tools/wait/reaction-handler.d.ts +3 -3
  473. package/dist/tools/wait/reaction-handler.d.ts.map +1 -1
  474. package/dist/tools/wait/reaction-handler.js +6 -6
  475. package/dist/tools/wait/reaction-handler.js.map +1 -1
  476. package/dist/tools/wait/task-handler.d.ts +1 -1
  477. package/dist/tools/wait/task-handler.d.ts.map +1 -1
  478. package/dist/tools/wait/task-handler.js +5 -4
  479. package/dist/tools/wait/task-handler.js.map +1 -1
  480. package/package.json +11 -2
  481. package/templates/code-review.default.md +1 -1
  482. package/templates/fire-and-forget.default.md +1 -1
  483. package/templates/handoff.default.md +1 -1
  484. package/templates/sensorium-repair.default.md +1 -1
  485. package/templates/sleep.default.md +1 -1
  486. package/dist/chat-ui/src/main.d.ts +0 -2
  487. package/dist/chat-ui/src/main.d.ts.map +0 -1
  488. package/dist/chat-ui/src/main.js +0 -4
  489. package/dist/chat-ui/src/main.js.map +0 -1
  490. package/dist/chat-ui/src/markdown.d.ts +0 -2
  491. package/dist/chat-ui/src/markdown.d.ts.map +0 -1
  492. package/dist/chat-ui/src/markdown.js +0 -39
  493. package/dist/chat-ui/src/markdown.js.map +0 -1
  494. package/dist/chat-ui/src/mock-data.d.ts +0 -4
  495. package/dist/chat-ui/src/mock-data.d.ts.map +0 -1
  496. package/dist/chat-ui/src/mock-data.js +0 -230
  497. package/dist/chat-ui/src/mock-data.js.map +0 -1
  498. package/dist/chat-ui/src/types.d.ts +0 -47
  499. package/dist/chat-ui/src/types.d.ts.map +0 -1
  500. package/dist/chat-ui/vite.config.d.ts +0 -3
  501. package/dist/chat-ui/vite.config.d.ts.map +0 -1
  502. package/dist/chat-ui/vite.config.js +0 -14
  503. package/dist/chat-ui/vite.config.js.map +0 -1
  504. package/dist/config.d.ts +0 -228
  505. package/dist/config.d.ts.map +0 -1
  506. package/dist/config.js +0 -841
  507. package/dist/config.js.map +0 -1
  508. package/dist/daily-session.d.ts.map +0 -1
  509. package/dist/daily-session.js.map +0 -1
  510. package/dist/dashboard.d.ts +0 -10
  511. package/dist/dashboard.d.ts.map +0 -1
  512. package/dist/dashboard.js +0 -10
  513. package/dist/dashboard.js.map +0 -1
  514. package/dist/data/memory/semantic.d.ts.map +0 -1
  515. package/dist/data/memory/semantic.js +0 -588
  516. package/dist/data/memory/semantic.js.map +0 -1
  517. package/dist/dispatcher.d.ts +0 -9
  518. package/dist/dispatcher.d.ts.map +0 -1
  519. package/dist/dispatcher.js +0 -9
  520. package/dist/dispatcher.js.map +0 -1
  521. package/dist/drive.d.ts.map +0 -1
  522. package/dist/drive.js.map +0 -1
  523. package/dist/http-server.d.ts.map +0 -1
  524. package/dist/http-server.js.map +0 -1
  525. package/dist/intent.d.ts.map +0 -1
  526. package/dist/intent.js.map +0 -1
  527. package/dist/logger.d.ts.map +0 -1
  528. package/dist/logger.js.map +0 -1
  529. package/dist/markdown.d.ts.map +0 -1
  530. package/dist/markdown.js.map +0 -1
  531. package/dist/memory.d.ts +0 -9
  532. package/dist/memory.d.ts.map +0 -1
  533. package/dist/memory.js +0 -9
  534. package/dist/memory.js.map +0 -1
  535. package/dist/openai.d.ts +0 -13
  536. package/dist/openai.d.ts.map +0 -1
  537. package/dist/openai.js +0 -17
  538. package/dist/openai.js.map +0 -1
  539. package/dist/response-builders.d.ts.map +0 -1
  540. package/dist/response-builders.js.map +0 -1
  541. package/dist/scheduler.d.ts.map +0 -1
  542. package/dist/scheduler.js.map +0 -1
  543. package/dist/sessions.d.ts.map +0 -1
  544. package/dist/sessions.js.map +0 -1
  545. package/dist/stdio-server.d.ts.map +0 -1
  546. package/dist/stdio-server.js.map +0 -1
  547. package/dist/telegram.d.ts.map +0 -1
  548. package/dist/telegram.js.map +0 -1
  549. package/dist/tool-definitions.d.ts +0 -2
  550. package/dist/tool-definitions.d.ts.map +0 -1
  551. package/dist/tool-definitions.js +0 -2
  552. package/dist/tool-definitions.js.map +0 -1
  553. package/dist/types.d.ts.map +0 -1
  554. package/dist/types.js.map +0 -1
  555. package/dist/utils.d.ts.map +0 -1
  556. package/dist/utils.js.map +0 -1
  557. /package/dist/{logger.d.ts → lib/logger.d.ts} +0 -0
  558. /package/dist/{markdown.d.ts → lib/markdown.d.ts} +0 -0
  559. /package/dist/{types.js → lib/types.js} +0 -0
  560. /package/dist/{utils.d.ts → lib/utils.d.ts} +0 -0
  561. /package/dist/{drive.d.ts → services/drive.d.ts} +0 -0
  562. /package/dist/{intent.d.ts → services/intent.d.ts} +0 -0
  563. /package/dist/{chat-ui/src → tools/defs}/types.js +0 -0
@@ -1,151 +1,22 @@
1
1
  import { getUnconsolidatedEpisodes, markConsolidated } from "../data/memory/episodes.js";
2
- import { saveSemanticNote, searchByEmbedding, saveNoteEmbedding, supersedeNote, updateSemanticNote, rebuildTopicIndex, } from "../data/memory/semantic.js";
3
- import { cleanupConsolidationHousekeeping, getCandidateNotesForPruning, getUnconsolidatedThreadIds, getActiveNoteContent, hasActiveNote, expireNote, logConsolidation, mergeDuplicateNote, sweepOrphanedNotes, sweepOrphanedEmbeddings, } from "../data/memory/consolidation.js";
4
- import { passesStructuralGate, passesQualityGate, parseReflectionFields } from "../data/memory/reflection.js";
2
+ import { saveSemanticNote, supersedeNote, updateSemanticNote, } from "../data/memory/semantic-notes.js";
3
+ import { searchByEmbedding, saveNoteEmbedding } from "../data/memory/note-embeddings.js";
4
+ import { rebuildTopicIndex } from "../data/memory/topic-index.js";
5
+ import { cleanupConsolidationHousekeeping, getUnconsolidatedThreadIds, hasActiveNote, expireNote, logConsolidation, sweepOrphanedNotes, sweepOrphanedEmbeddings, } from "../data/memory/consolidation.js";
6
+ import { passesStructuralGate, passesQualityGate, parseReflectionFields, } from "../data/memory/reflection-gates.js";
7
+ import { buildExtractionPrompt, buildSupersedePrompt, buildLinkingPrompt, } from "./consolidation-prompts.js";
8
+ import { runMemoryPruning } from "./memory-pruning.service.js";
5
9
  import { getThread } from "../data/memory/thread-registry.js";
6
- import { chatCompletion, generateEmbedding } from "../integrations/openai/chat.js";
7
- import { log } from "../logger.js";
8
- import { nowISO, repairAndParseJSON } from "../data/memory/utils.js";
9
- import { errorMessage } from "../utils.js";
10
+ import { generateEmbedding } from "../integrations/openai/chat.js";
11
+ import { chatCompletionJson } from "../llm/json.js";
12
+ import { log } from "../lib/logger.js";
13
+ import { nowISO } from "../data/memory/utils.js";
14
+ import { errorMessage } from "../lib/utils.js";
10
15
  const CONSOLIDATION_DEDUP_THRESHOLD = 0.88;
11
16
  /** Higher similarity floor required before an obsolescence (non-contradiction) supersede is honored. */
12
- const OBSOLESCENCE_SIM_THRESHOLD = 0.60;
17
+ const OBSOLESCENCE_SIM_THRESHOLD = 0.6;
13
18
  const VALID_NOTE_TYPES = ["fact", "preference", "pattern", "entity", "relationship"];
14
19
  let consolidationInProgress = false;
15
- function extractEpisodeText(episodes) {
16
- return episodes
17
- .map((episode, index) => {
18
- const contentRecord = episode.content;
19
- let content;
20
- if (contentRecord && typeof contentRecord === "object") {
21
- content = contentRecord.text ?? contentRecord.caption ?? JSON.stringify(contentRecord);
22
- }
23
- else {
24
- content = JSON.stringify(episode.content);
25
- }
26
- return `[${index + 1}] (${episode.type}/${episode.modality}, ${episode.timestamp}) ${content}`;
27
- })
28
- .join("\n");
29
- }
30
- function buildExtractionPrompt(episodes) {
31
- const episodesText = extractEpisodeText(episodes);
32
- return `You are a memory consolidation agent. Extract ONLY actionable, durable knowledge from these episodes. Quality over quantity — fewer, better notes.
33
-
34
- Episodes:
35
- ${episodesText}
36
-
37
- Output a JSON object with:
38
- {
39
- "notes": [
40
- {
41
- "type": "fact" | "preference" | "pattern" | "entity",
42
- "content": "One clear, actionable sentence",
43
- "keywords": ["keyword1", "keyword2", "keyword3"],
44
- "confidence": 0.0-1.0,
45
- "priority": 0 | 1 | 2,
46
- "quality_score": 1-5
47
- }
48
- ]
49
- }
50
-
51
- ACTIONABILITY TEST — apply to every note before including it:
52
- - Facts must answer: "What should the agent DO with this information?" If a fact is just "X was discussed" or "Y happened" with no implication for future behavior, do NOT extract it.
53
- - Preferences must be testable: "Given situation X, the operator wants Y." Vague preferences like "prefers quality" are useless — specify the concrete behavior.
54
- - If a note doesn't change how the agent acts in a future session, it's not worth saving. Prefer zero notes over low-quality notes.
55
-
56
- BANNED content — do NOT extract:
57
- - Notes about the memory system, consolidation, audits, reflection quality, or memory management
58
- - Self-assessments or meta-observations about the agent's own behavior ("I tend to...", "I regularly...")
59
- - Passive observations that don't inform decisions ("a discussion occurred", "code was reviewed")
60
- - Transient status ("currently working on X", "PR is open", "tests passing")
61
- - Point-in-time state / counters / metrics: "audio ingested with 789 transcriptions", "monthly cost ~$33", "42 files processed", any note whose value is a snapshot number that will be different next week. If the number is a live counter or balance rather than a fixed decision/threshold, do NOT extract it.
62
- - Future-tense plans / intentions: "will implement", "plans to", "going to", "intends to", "is about to". Plans belong in tasks, not durable memory. Only extract an action after it happened and had an outcome.
63
- - Reconstructable git history: commit hashes, "commit df10c39 added…", "the fix was implemented in <sha>", "PR #123 merged". Git log/blame is authoritative — never store what a commit hash would tell you. Store the durable decision or constraint, not the commit event.
64
-
65
- EXCEPTION: If the operator explicitly corrected the agent's behavior, extract that correction as a preference.
66
-
67
- TYPE RULES:
68
- - fact: Durable knowledge about the project, codebase, architecture, people, or external world
69
- - preference: Operator's explicit or strongly implied preference for how things should be done
70
- - pattern: Recurring behavior or decision pattern that predicts future situations
71
- - entity: Named entity (person, project, service) with identifying attributes
72
-
73
- PRIORITY DETECTION:
74
- - priority 2: operator says "important", "crucial", "don't forget", shows strong emotional investment
75
- - priority 1: operator says "would be nice", "should", mentions something repeatedly
76
- - priority 0: default for routine facts
77
-
78
- QUALITY SCORE (quality_score):
79
- - 1: Vague or useless — generic statement with no actionable implication
80
- - 2: Weak — some value but missing context or specificity
81
- - 3: Acceptable — actionable but not particularly memorable
82
- - 4: Good — specific, actionable, with context or motivation
83
- - 5: Highly actionable — captures a decision, constraint, or pattern with full context and clear behavioral implication
84
- Assign honestly. A score below 3 flags the note for monitoring — do NOT use this to suppress extraction; assign a low score and let the system decide.
85
-
86
- CONTENT QUALITY:
87
- - Name specific components, features, versions, or decisions — never "a bug fix was completed"
88
- - Capture WHY (motivation/context), not just WHAT. Include outcome if known
89
- - If neither WHY nor outcome is available, the note is probably not worth extracting
90
- - Include dates when they pin a decision (e.g. "On April 15 the operator chose X"). Dates that anchor a durable decision stay; dates that merely log that an event happened do not.
91
- - Return {"notes": []} if nothing actionable
92
-
93
- SPECIFICITY GATE — apply to every note before including it:
94
- - Every note MUST contain at least one specific anchor: a file name, component, person name, config key, or fixed threshold value. A commit hash does NOT count as specificity. If you cannot name something specific, do not create the note.
95
- - Do NOT create notes that merely say "X was completed" or "Y was done." If something was completed, state WHAT specifically was done — which files changed, what bug was fixed, what the outcome was. Headlines without substance are useless.`;
96
- }
97
- function buildSupersedePrompt(batch) {
98
- const notesSection = batch
99
- .map((item) => `[${item.noteIndex}] New: "${item.content}"\n` +
100
- (item.candidates.length > 0
101
- ? ` Candidates:\n${item.candidates.map((c) => ` [${c.noteId}] (${c.type}, conf: ${c.confidence}) ${c.content}`).join("\n")}`
102
- : ` Candidates: none`))
103
- .join("\n\n");
104
- return `You are a memory-freshness detector. For each new note, decide whether it makes any of its candidate existing notes stale.
105
-
106
- ${notesSection}
107
-
108
- Output a JSON object:
109
- {
110
- "results": [
111
- { "noteIndex": 0, "verdict": "contradict", "targetNoteId": "sn_xxx", "reason": "Why the candidate is now outdated" },
112
- { "noteIndex": 1, "verdict": "obsolete", "targetNoteId": "sn_yyy", "reason": "Same subject, but the new note reflects a later reality" },
113
- { "noteIndex": 2, "verdict": "keep" }
114
- ]
115
- }
116
-
117
- Verdicts (choose exactly one per note index):
118
- - "contradict": the new note explicitly contradicts, updates, or replaces a candidate (e.g., newer value, completed/abandoned project, changed preference, updated version). The new note is MORE RECENT than the candidate.
119
- - "obsolete": the new note does not directly contradict a candidate, but makes it OUTDATED — same subject, and the new note reflects a later reality that supersedes the candidate's still-true-sounding claim.
120
- - "keep": the new note adds different information without invalidating any candidate, OR no candidates are listed.
121
-
122
- Rules:
123
- - Output exactly one result per note index, in ascending order.
124
- - For "contradict" and "obsolete" you MUST include targetNoteId and reason.
125
- - Only one candidate can be targeted per new note (the most directly affected one).
126
- - When unsure, prefer "keep".`;
127
- }
128
- function buildLinkingPrompt(newNote, neighbors) {
129
- const neighborsSection = neighbors.map((n) => `[${n.noteId}] (${n.type}) ${n.content}`).join("\n");
130
- return `You are a causal link detector for a memory system. Determine if any of these existing notes are causally related to the new note.
131
-
132
- New note: "${newNote.content}"
133
-
134
- Existing notes to compare:
135
- ${neighborsSection}
136
-
137
- Output a JSON object:
138
- {
139
- "links": [
140
- { "noteId": "sn_xxx", "reason": "Brief causal relationship — one caused the other, or they are part of the same chain" }
141
- ]
142
- }
143
-
144
- Rules:
145
- - Only include notes where there is a CLEAR causal or sequential relationship (one caused the other, one is a consequence of the other, or they are part of the same decision chain)
146
- - Do NOT link notes that are merely on the same topic or share keywords — the relationship must be directional and causal
147
- - If no causal relationships exist, output { "links": [] }`;
148
- }
149
20
  async function checkConsolidationDuplicate(db, content, apiKey, threadId) {
150
21
  try {
151
22
  const embedding = await generateEmbedding(content, apiKey);
@@ -257,7 +128,12 @@ export async function runIntelligentConsolidation(db, threadId, options) {
257
128
  const threadEntry = getThread(db, threadId);
258
129
  if (threadEntry?.type === "worker") {
259
130
  log.info(`[consolidation] Skipping — thread ${threadId} is a worker thread`);
260
- return { episodesProcessed: 0, notesCreated: 0, durationMs: 0, details: ["Skipped — worker thread."] };
131
+ return {
132
+ episodesProcessed: 0,
133
+ notesCreated: 0,
134
+ durationMs: 0,
135
+ details: ["Skipped — worker thread."],
136
+ };
261
137
  }
262
138
  const skipLock = options?._skipLock ?? false;
263
139
  if (!skipLock && consolidationInProgress) {
@@ -280,8 +156,10 @@ export async function runIntelligentConsolidation(db, threadId, options) {
280
156
  // shadow — evaluate + log what WOULD be superseded, but do NOT mutate (default).
281
157
  // active — actually supersede obsolete notes via the soft supersedeNote path.
282
158
  const supersedeObsolescenceRaw = (process.env.SUPERSEDE_OBSOLESCENCE ?? "shadow").toLowerCase();
283
- const supersedeObsolescenceMode = supersedeObsolescenceRaw === "off" ? "off"
284
- : supersedeObsolescenceRaw === "active" ? "active"
159
+ const supersedeObsolescenceMode = supersedeObsolescenceRaw === "off"
160
+ ? "off"
161
+ : supersedeObsolescenceRaw === "active"
162
+ ? "active"
285
163
  : "shadow";
286
164
  const episodes = getUnconsolidatedEpisodes(db, threadId, maxEpisodes);
287
165
  if (episodes.length === 0) {
@@ -304,19 +182,20 @@ export async function runIntelligentConsolidation(db, threadId, options) {
304
182
  { role: "system", content: buildExtractionPrompt(episodes) },
305
183
  { role: "user", content: "Extract knowledge from the episodes above." },
306
184
  ];
307
- const extractRaw = await chatCompletion(extractMessages, apiKey, {
185
+ const extractParsed = (await chatCompletionJson(extractMessages, apiKey, {
308
186
  model: process.env.CONSOLIDATION_MODEL ?? "gpt-4o",
309
187
  maxTokens: 4096,
310
188
  responseFormat: { type: "json_object" },
311
189
  timeoutMs: 60_000,
312
- });
313
- const extractParsed = repairAndParseJSON(extractRaw);
190
+ }));
314
191
  const extractedNotes = extractParsed.notes ?? [];
315
192
  const episodeIds = episodes.map((episode) => episode.episodeId);
316
193
  if (!dryRun) {
317
194
  const noteWrites = [];
318
195
  for (const note of extractedNotes) {
319
- if (typeof note.content !== "string" || note.content.length === 0 || note.content.length >= 2000) {
196
+ if (typeof note.content !== "string" ||
197
+ note.content.length === 0 ||
198
+ note.content.length >= 2000) {
320
199
  log.warn(`[consolidation] Skipping note with invalid content (type=${typeof note.content}, len=${typeof note.content === "string" ? note.content.length : "N/A"})`);
321
200
  continue;
322
201
  }
@@ -363,7 +242,7 @@ export async function runIntelligentConsolidation(db, threadId, options) {
363
242
  })),
364
243
  }));
365
244
  try {
366
- const supersedeRaw = await chatCompletion([
245
+ const supersedeParsed = (await chatCompletionJson([
367
246
  { role: "system", content: buildSupersedePrompt(batch) },
368
247
  { role: "user", content: "Check for contradictions." },
369
248
  ], apiKey, {
@@ -371,12 +250,13 @@ export async function runIntelligentConsolidation(db, threadId, options) {
371
250
  maxTokens: 1024,
372
251
  responseFormat: { type: "json_object" },
373
252
  timeoutMs: 30_000,
374
- });
375
- const supersedeParsed = repairAndParseJSON(supersedeRaw);
253
+ }));
376
254
  for (const result of supersedeParsed.results ?? []) {
377
255
  // Back-compat: a legacy {supersede:true} is a contradiction verdict.
378
256
  const verdict = result.verdict ?? (result.supersede ? "contradict" : "keep");
379
- if ((verdict !== "contradict" && verdict !== "obsolete") || !result.targetNoteId || typeof result.noteIndex !== "number") {
257
+ if ((verdict !== "contradict" && verdict !== "obsolete") ||
258
+ !result.targetNoteId ||
259
+ typeof result.noteIndex !== "number") {
380
260
  continue;
381
261
  }
382
262
  const item = chunk[result.noteIndex];
@@ -406,11 +286,21 @@ export async function runIntelligentConsolidation(db, threadId, options) {
406
286
  log.debug(`[consolidation] Obsolescence rejected: non-fact (new=${item.nw.type}, candidate=${candidate.type})`);
407
287
  continue;
408
288
  }
409
- item.nw.supersede = { targetNoteId: candidate.noteId, reason: result.reason ?? "", verdict: "obsolete", similarity: candidate.similarity };
289
+ item.nw.supersede = {
290
+ targetNoteId: candidate.noteId,
291
+ reason: result.reason ?? "",
292
+ verdict: "obsolete",
293
+ similarity: candidate.similarity,
294
+ };
410
295
  }
411
296
  else {
412
297
  // Contradiction path — unchanged behavior for any non-guardrail/pinned candidate.
413
- item.nw.supersede = { targetNoteId: candidate.noteId, reason: result.reason ?? "", verdict: "contradict", similarity: candidate.similarity };
298
+ item.nw.supersede = {
299
+ targetNoteId: candidate.noteId,
300
+ reason: result.reason ?? "",
301
+ verdict: "contradict",
302
+ similarity: candidate.similarity,
303
+ };
414
304
  }
415
305
  }
416
306
  }
@@ -486,10 +376,12 @@ export async function runIntelligentConsolidation(db, threadId, options) {
486
376
  minSimilarity: 0.4,
487
377
  skipAccessTracking: true,
488
378
  threadId: knowledgeThreadId,
489
- }).filter((n) => n.noteId !== saved.noteId).slice(0, 5);
379
+ })
380
+ .filter((n) => n.noteId !== saved.noteId)
381
+ .slice(0, 5);
490
382
  if (neighbors.length === 0)
491
383
  continue;
492
- const linkRaw = await chatCompletion([
384
+ const linkParsed = (await chatCompletionJson([
493
385
  {
494
386
  role: "system",
495
387
  content: buildLinkingPrompt({ noteId: saved.noteId, content: saved.content }, neighbors.map((n) => ({ noteId: n.noteId, type: n.type, content: n.content }))),
@@ -500,10 +392,11 @@ export async function runIntelligentConsolidation(db, threadId, options) {
500
392
  maxTokens: 512,
501
393
  responseFormat: { type: "json_object" },
502
394
  timeoutMs: 20_000,
503
- });
504
- const linkParsed = repairAndParseJSON(linkRaw);
395
+ }));
505
396
  const neighborIds = new Set(neighbors.map((n) => n.noteId));
506
- const links = (linkParsed.links ?? []).filter((l) => typeof l.noteId === "string" && typeof l.reason === "string" && neighborIds.has(l.noteId));
397
+ const links = (linkParsed.links ?? []).filter((l) => typeof l.noteId === "string" &&
398
+ typeof l.reason === "string" &&
399
+ neighborIds.has(l.noteId));
507
400
  if (links.length > 0) {
508
401
  const linkedNotes = links.map((l) => l.noteId);
509
402
  const linkReasons = {};
@@ -593,166 +486,4 @@ export async function runIntelligentConsolidation(db, threadId, options) {
593
486
  consolidationInProgress = false;
594
487
  }
595
488
  }
596
- export async function runMemoryPruning(db, options) {
597
- const pruningEnabled = process.env.PRUNING_ENABLED;
598
- if (pruningEnabled === "false" || pruningEnabled === "0") {
599
- return {
600
- notesScanned: 0,
601
- notesExpired: 0,
602
- notesMerged: 0,
603
- durationMs: 0,
604
- details: ["Pruning disabled via PRUNING_ENABLED env var."],
605
- };
606
- }
607
- const apiKey = process.env.OPENAI_API_KEY;
608
- if (!apiKey) {
609
- return {
610
- notesScanned: 0,
611
- notesExpired: 0,
612
- notesMerged: 0,
613
- durationMs: 0,
614
- details: ["Pruning skipped — OPENAI_API_KEY not set."],
615
- };
616
- }
617
- const startMs = Date.now();
618
- const envSampleSize = parseInt(process.env.PRUNING_SAMPLE_SIZE ?? "", 10);
619
- const maxNotes = options?.maxNotes ?? (Number.isFinite(envSampleSize) && envSampleSize > 0 ? envSampleSize : 60);
620
- const dryRun = options?.dryRun ?? false;
621
- const details = [];
622
- const candidates = getCandidateNotesForPruning(db, maxNotes);
623
- if (candidates.length < 5) {
624
- return {
625
- notesScanned: 0,
626
- notesExpired: 0,
627
- notesMerged: 0,
628
- durationMs: Date.now() - startMs,
629
- details: ["Too few candidate notes for pruning (< 5)."],
630
- };
631
- }
632
- const now = new Date();
633
- const notesText = candidates
634
- .map((row) => {
635
- const ageMs = now.getTime() - new Date(row.created_at).getTime();
636
- const ageDays = Math.round(ageMs / (1000 * 60 * 60 * 24));
637
- return `[${row.note_id}] (${row.type}, conf: ${row.confidence}, accesses: ${row.access_count}, age: ${ageDays}d) ${row.content}`;
638
- })
639
- .join("\n");
640
- const systemPrompt = `You are a memory quality manager. Review these semantic notes and identify problems.
641
-
642
- Notes to review:
643
- ${notesText}
644
-
645
- Output a JSON object:
646
- {
647
- "expire": [
648
- { "noteId": "sn_xxx", "reason": "Brief explanation" }
649
- ],
650
- "merge": [
651
- { "keepId": "sn_xxx", "expireId": "sn_yyy", "mergedContent": "Best combined version", "reason": "Brief explanation" }
652
- ]
653
- }
654
-
655
- Decision criteria:
656
- - EXPIRE if: the note is vague/non-actionable ("the system has issues"), trivially obvious, or clearly outdated (references old versions, completed tasks still marked pending)
657
- - MERGE if: two or more notes convey the same information — keep the more specific/accurate one. Provide mergedContent combining the best of both when useful.
658
- - KEEP (omit from output) if: the note contains unique, specific, actionable information
659
-
660
- Be conservative — when in doubt, keep the note. Only expire notes you are confident are low-value.
661
- Do NOT expire preferences or guardrails unless they clearly contradict each other.
662
- Return {"expire": [], "merge": []} if nothing needs pruning.`;
663
- try {
664
- const messages = [
665
- { role: "system", content: systemPrompt },
666
- { role: "user", content: "Review the notes above and identify any that should be expired or merged." },
667
- ];
668
- const raw = await chatCompletion(messages, apiKey, {
669
- model: process.env.CONSOLIDATION_MODEL ?? "gpt-4o",
670
- maxTokens: 4096,
671
- responseFormat: { type: "json_object" },
672
- timeoutMs: 60_000,
673
- });
674
- const parsed = repairAndParseJSON(raw);
675
- if (parsed == null || typeof parsed !== "object" || Array.isArray(parsed)) {
676
- throw new Error(`LLM returned non-object response: ${typeof parsed}`);
677
- }
678
- const result = parsed;
679
- const expireActions = (Array.isArray(result.expire) ? result.expire : []);
680
- const mergeActions = (Array.isArray(result.merge) ? result.merge : []);
681
- const candidateIds = new Set(candidates.map((candidate) => candidate.note_id));
682
- let expired = 0;
683
- let merged = 0;
684
- const nowStr = nowISO();
685
- if (!dryRun) {
686
- db.transaction(() => {
687
- for (const action of expireActions) {
688
- if (!action.noteId)
689
- continue;
690
- if (!candidateIds.has(action.noteId)) {
691
- details.push(`[skip-expire] ${action.noteId} not in candidate set`);
692
- continue;
693
- }
694
- if (!hasActiveNote(db, action.noteId)) {
695
- details.push(`[skip-expire] ${action.noteId} not found or already expired`);
696
- continue;
697
- }
698
- expireNote(db, action.noteId, nowStr);
699
- expired++;
700
- details.push(`[pruned] ${action.noteId}: ${action.reason}`);
701
- }
702
- for (const action of mergeActions) {
703
- if (!action.keepId || !action.expireId)
704
- continue;
705
- if (action.keepId === action.expireId) {
706
- details.push(`[skip-merge] ${action.keepId}: keepId === expireId`);
707
- continue;
708
- }
709
- if (!candidateIds.has(action.keepId) || !candidateIds.has(action.expireId)) {
710
- details.push(`[skip-merge] ${action.keepId}/${action.expireId} not in candidate set`);
711
- continue;
712
- }
713
- const keepNote = getActiveNoteContent(db, action.keepId);
714
- const expireNoteRow = getActiveNoteContent(db, action.expireId);
715
- if (!keepNote || !expireNoteRow) {
716
- details.push(`[skip-merge] ${action.keepId}/${action.expireId} not found`);
717
- continue;
718
- }
719
- mergeDuplicateNote(db, keepNote.noteId, expireNoteRow.noteId, nowStr, action.mergedContent && action.mergedContent !== keepNote.content ? action.mergedContent : undefined);
720
- merged++;
721
- details.push(`[merged] ${action.expireId} → ${action.keepId}: ${action.reason}`);
722
- }
723
- })();
724
- }
725
- else {
726
- for (const action of expireActions) {
727
- details.push(`[dry-run] [prune] ${action.noteId}: ${action.reason}`);
728
- expired++;
729
- }
730
- for (const action of mergeActions) {
731
- details.push(`[dry-run] [merge] ${action.expireId} → ${action.keepId}: ${action.reason}`);
732
- merged++;
733
- }
734
- }
735
- if (expired + merged > 0) {
736
- log.info(`[memory] Pruning: expired ${expired}, merged ${merged} note(s)`);
737
- }
738
- return {
739
- notesScanned: candidates.length,
740
- notesExpired: expired,
741
- notesMerged: merged,
742
- durationMs: Date.now() - startMs,
743
- details,
744
- };
745
- }
746
- catch (err) {
747
- const msg = errorMessage(err);
748
- log.error(`[memory] Pruning failed: ${msg}`);
749
- return {
750
- notesScanned: candidates.length,
751
- notesExpired: 0,
752
- notesMerged: 0,
753
- durationMs: Date.now() - startMs,
754
- details: [`Pruning failed: ${msg}`],
755
- };
756
- }
757
- }
758
489
  //# sourceMappingURL=consolidation.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consolidation.service.js","sourceRoot":"","sources":["../../src/services/consolidation.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consolidation.service.js","sourceRoot":"","sources":["../../src/services/consolidation.service.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"copilot-spawn.service.d.ts","sourceRoot":"","sources":["../../src/services/copilot-spawn.service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EASL,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AA8B3B,eAAO,MAAM,kBAAkB,QAAO,MAAM,GAAG,IACyD,CAAC;AAEzG,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,sBAAsB,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,oBAAoB,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,WAAW,CAyCzO"}
1
+ {"version":3,"file":"copilot-spawn.service.d.ts","sourceRoot":"","sources":["../../src/services/copilot-spawn.service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAWL,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAgC3B,eAAO,MAAM,kBAAkB,QAAO,MAAM,GAAG,IAGL,CAAC;AAE3C,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,sBAAsB,EACvC,gBAAgB,CAAC,EAAE,MAAM,EACzB,oBAAoB,CAAC,EAAE,MAAM,EAC7B,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAC/B,WAAW,CAgDb"}