@hasna/mementos 0.14.85 → 0.14.86

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 (564) hide show
  1. package/bun.lock +63 -4
  2. package/dist/cli/index.js +419 -188
  3. package/dist/diagnostics/historical-project-registration-receipt.js +36 -17
  4. package/dist/index.js +139 -50
  5. package/dist/mcp/index.js +181 -60
  6. package/dist/pg-sync-worker.js +7 -5
  7. package/dist/project-registration.js +108 -36
  8. package/dist/sdk/index.js +1 -0
  9. package/dist/server/index.js +384 -280
  10. package/dist/storage.js +63 -26
  11. package/hasna.contract.json +5 -4
  12. package/package.json +4 -3
  13. package/dist/cli/__fixtures__/clean-fallback-stub-server.d.ts +0 -2
  14. package/dist/cli/__fixtures__/clean-fallback-stub-server.d.ts.map +0 -1
  15. package/dist/cli/brains.d.ts +0 -3
  16. package/dist/cli/brains.d.ts.map +0 -1
  17. package/dist/cli/commands/agent.d.ts +0 -3
  18. package/dist/cli/commands/agent.d.ts.map +0 -1
  19. package/dist/cli/commands/consolidation.d.ts +0 -3
  20. package/dist/cli/commands/consolidation.d.ts.map +0 -1
  21. package/dist/cli/commands/entity.d.ts +0 -3
  22. package/dist/cli/commands/entity.d.ts.map +0 -1
  23. package/dist/cli/commands/graph.d.ts +0 -3
  24. package/dist/cli/commands/graph.d.ts.map +0 -1
  25. package/dist/cli/commands/info-context.d.ts +0 -3
  26. package/dist/cli/commands/info-context.d.ts.map +0 -1
  27. package/dist/cli/commands/info-history.d.ts +0 -3
  28. package/dist/cli/commands/info-history.d.ts.map +0 -1
  29. package/dist/cli/commands/info-report.d.ts +0 -3
  30. package/dist/cli/commands/info-report.d.ts.map +0 -1
  31. package/dist/cli/commands/info-stale.d.ts +0 -3
  32. package/dist/cli/commands/info-stale.d.ts.map +0 -1
  33. package/dist/cli/commands/info-stats.d.ts +0 -3
  34. package/dist/cli/commands/info-stats.d.ts.map +0 -1
  35. package/dist/cli/commands/info.d.ts +0 -12
  36. package/dist/cli/commands/info.d.ts.map +0 -1
  37. package/dist/cli/commands/init.d.ts +0 -3
  38. package/dist/cli/commands/init.d.ts.map +0 -1
  39. package/dist/cli/commands/io-backup.d.ts +0 -3
  40. package/dist/cli/commands/io-backup.d.ts.map +0 -1
  41. package/dist/cli/commands/io-clean.d.ts +0 -3
  42. package/dist/cli/commands/io-clean.d.ts.map +0 -1
  43. package/dist/cli/commands/io-export.d.ts +0 -3
  44. package/dist/cli/commands/io-export.d.ts.map +0 -1
  45. package/dist/cli/commands/io-import.d.ts +0 -3
  46. package/dist/cli/commands/io-import.d.ts.map +0 -1
  47. package/dist/cli/commands/io-restore.d.ts +0 -3
  48. package/dist/cli/commands/io-restore.d.ts.map +0 -1
  49. package/dist/cli/commands/io.d.ts +0 -12
  50. package/dist/cli/commands/io.d.ts.map +0 -1
  51. package/dist/cli/commands/memory-cmd-bulk.d.ts +0 -3
  52. package/dist/cli/commands/memory-cmd-bulk.d.ts.map +0 -1
  53. package/dist/cli/commands/memory-cmd-chain.d.ts +0 -3
  54. package/dist/cli/commands/memory-cmd-chain.d.ts.map +0 -1
  55. package/dist/cli/commands/memory-cmd-crud.d.ts +0 -3
  56. package/dist/cli/commands/memory-cmd-crud.d.ts.map +0 -1
  57. package/dist/cli/commands/memory-cmd-diff.d.ts +0 -3
  58. package/dist/cli/commands/memory-cmd-diff.d.ts.map +0 -1
  59. package/dist/cli/commands/memory-cmd-list.d.ts +0 -3
  60. package/dist/cli/commands/memory-cmd-list.d.ts.map +0 -1
  61. package/dist/cli/commands/memory-cmd-recall-exit.d.ts +0 -3
  62. package/dist/cli/commands/memory-cmd-recall-exit.d.ts.map +0 -1
  63. package/dist/cli/commands/memory-cmd-recall.d.ts +0 -3
  64. package/dist/cli/commands/memory-cmd-recall.d.ts.map +0 -1
  65. package/dist/cli/commands/memory-cmd-remove.d.ts +0 -3
  66. package/dist/cli/commands/memory-cmd-remove.d.ts.map +0 -1
  67. package/dist/cli/commands/memory-cmd-search.d.ts +0 -3
  68. package/dist/cli/commands/memory-cmd-search.d.ts.map +0 -1
  69. package/dist/cli/commands/memory-cmd-tail.d.ts +0 -3
  70. package/dist/cli/commands/memory-cmd-tail.d.ts.map +0 -1
  71. package/dist/cli/commands/memory-cmd-util.d.ts +0 -3
  72. package/dist/cli/commands/memory-cmd-util.d.ts.map +0 -1
  73. package/dist/cli/commands/memory-cmd-view.d.ts +0 -3
  74. package/dist/cli/commands/memory-cmd-view.d.ts.map +0 -1
  75. package/dist/cli/commands/memory-cmd-watch.d.ts +0 -3
  76. package/dist/cli/commands/memory-cmd-watch.d.ts.map +0 -1
  77. package/dist/cli/commands/memory-cmd-when-to-use.d.ts +0 -3
  78. package/dist/cli/commands/memory-cmd-when-to-use.d.ts.map +0 -1
  79. package/dist/cli/commands/memory.d.ts +0 -3
  80. package/dist/cli/commands/memory.d.ts.map +0 -1
  81. package/dist/cli/commands/project-panel.d.ts +0 -3
  82. package/dist/cli/commands/project-panel.d.ts.map +0 -1
  83. package/dist/cli/commands/project.d.ts +0 -3
  84. package/dist/cli/commands/project.d.ts.map +0 -1
  85. package/dist/cli/commands/relation.d.ts +0 -3
  86. package/dist/cli/commands/relation.d.ts.map +0 -1
  87. package/dist/cli/commands/storage.d.ts +0 -3
  88. package/dist/cli/commands/storage.d.ts.map +0 -1
  89. package/dist/cli/commands/system-auto-memory.d.ts +0 -3
  90. package/dist/cli/commands/system-auto-memory.d.ts.map +0 -1
  91. package/dist/cli/commands/system-completions.d.ts +0 -13
  92. package/dist/cli/commands/system-completions.d.ts.map +0 -1
  93. package/dist/cli/commands/system-config.d.ts +0 -3
  94. package/dist/cli/commands/system-config.d.ts.map +0 -1
  95. package/dist/cli/commands/system-doctor.d.ts +0 -3
  96. package/dist/cli/commands/system-doctor.d.ts.map +0 -1
  97. package/dist/cli/commands/system-hooks.d.ts +0 -3
  98. package/dist/cli/commands/system-hooks.d.ts.map +0 -1
  99. package/dist/cli/commands/system-mcp.d.ts +0 -3
  100. package/dist/cli/commands/system-mcp.d.ts.map +0 -1
  101. package/dist/cli/commands/system-misc.d.ts +0 -3
  102. package/dist/cli/commands/system-misc.d.ts.map +0 -1
  103. package/dist/cli/commands/system-profile.d.ts +0 -3
  104. package/dist/cli/commands/system-profile.d.ts.map +0 -1
  105. package/dist/cli/commands/system-session.d.ts +0 -3
  106. package/dist/cli/commands/system-session.d.ts.map +0 -1
  107. package/dist/cli/commands/system-sessions.d.ts +0 -3
  108. package/dist/cli/commands/system-sessions.d.ts.map +0 -1
  109. package/dist/cli/commands/system-synthesis.d.ts +0 -3
  110. package/dist/cli/commands/system-synthesis.d.ts.map +0 -1
  111. package/dist/cli/commands/system-synthesized-profile.d.ts +0 -3
  112. package/dist/cli/commands/system-synthesized-profile.d.ts.map +0 -1
  113. package/dist/cli/commands/system-tools.d.ts +0 -3
  114. package/dist/cli/commands/system-tools.d.ts.map +0 -1
  115. package/dist/cli/commands/system-watch.d.ts +0 -3
  116. package/dist/cli/commands/system-watch.d.ts.map +0 -1
  117. package/dist/cli/commands/system.d.ts +0 -3
  118. package/dist/cli/commands/system.d.ts.map +0 -1
  119. package/dist/cli/exit-codes.d.ts +0 -13
  120. package/dist/cli/exit-codes.d.ts.map +0 -1
  121. package/dist/cli/global-options.d.ts +0 -27
  122. package/dist/cli/global-options.d.ts.map +0 -1
  123. package/dist/cli/helpers.d.ts +0 -150
  124. package/dist/cli/helpers.d.ts.map +0 -1
  125. package/dist/cli/index.d.ts +0 -3
  126. package/dist/cli/index.d.ts.map +0 -1
  127. package/dist/cli/register-all.d.ts +0 -17
  128. package/dist/cli/register-all.d.ts.map +0 -1
  129. package/dist/cli/startup-side-effects.d.ts +0 -9
  130. package/dist/cli/startup-side-effects.d.ts.map +0 -1
  131. package/dist/db/__fixtures__/fail-closed-stub-server.d.ts +0 -2
  132. package/dist/db/__fixtures__/fail-closed-stub-server.d.ts.map +0 -1
  133. package/dist/db/acl.d.ts +0 -34
  134. package/dist/db/acl.d.ts.map +0 -1
  135. package/dist/db/agents.d.ts +0 -21
  136. package/dist/db/agents.d.ts.map +0 -1
  137. package/dist/db/analytics.d.ts +0 -120
  138. package/dist/db/analytics.d.ts.map +0 -1
  139. package/dist/db/api-mode.d.ts +0 -127
  140. package/dist/db/api-mode.d.ts.map +0 -1
  141. package/dist/db/audit.d.ts +0 -53
  142. package/dist/db/audit.d.ts.map +0 -1
  143. package/dist/db/database.d.ts +0 -26
  144. package/dist/db/database.d.ts.map +0 -1
  145. package/dist/db/entities.d.ts +0 -62
  146. package/dist/db/entities.d.ts.map +0 -1
  147. package/dist/db/entity-memories.d.ts +0 -34
  148. package/dist/db/entity-memories.d.ts.map +0 -1
  149. package/dist/db/feedback.d.ts +0 -9
  150. package/dist/db/feedback.d.ts.map +0 -1
  151. package/dist/db/locks.d.ts +0 -63
  152. package/dist/db/locks.d.ts.map +0 -1
  153. package/dist/db/machines.d.ts +0 -23
  154. package/dist/db/machines.d.ts.map +0 -1
  155. package/dist/db/memories.d.ts +0 -193
  156. package/dist/db/memories.d.ts.map +0 -1
  157. package/dist/db/memory-links.d.ts +0 -21
  158. package/dist/db/memory-links.d.ts.map +0 -1
  159. package/dist/db/memory-project-link.d.ts +0 -13
  160. package/dist/db/memory-project-link.d.ts.map +0 -1
  161. package/dist/db/migrations.d.ts +0 -3
  162. package/dist/db/migrations.d.ts.map +0 -1
  163. package/dist/db/pg-migrate.d.ts +0 -27
  164. package/dist/db/pg-migrate.d.ts.map +0 -1
  165. package/dist/db/pg-migrations.d.ts +0 -2
  166. package/dist/db/pg-migrations.d.ts.map +0 -1
  167. package/dist/db/projects.d.ts +0 -27
  168. package/dist/db/projects.d.ts.map +0 -1
  169. package/dist/db/ratings.d.ts +0 -23
  170. package/dist/db/ratings.d.ts.map +0 -1
  171. package/dist/db/relations.d.ts +0 -49
  172. package/dist/db/relations.d.ts.map +0 -1
  173. package/dist/db/session-jobs.d.ts +0 -49
  174. package/dist/db/session-jobs.d.ts.map +0 -1
  175. package/dist/db/store-backend.d.ts +0 -42
  176. package/dist/db/store-backend.d.ts.map +0 -1
  177. package/dist/db/subscriptions.d.ts +0 -24
  178. package/dist/db/subscriptions.d.ts.map +0 -1
  179. package/dist/db/synthesis.d.ts +0 -101
  180. package/dist/db/synthesis.d.ts.map +0 -1
  181. package/dist/db/tasks.d.ts +0 -89
  182. package/dist/db/tasks.d.ts.map +0 -1
  183. package/dist/db/tool-events.d.ts +0 -27
  184. package/dist/db/tool-events.d.ts.map +0 -1
  185. package/dist/db/webhook_hooks.d.ts +0 -25
  186. package/dist/db/webhook_hooks.d.ts.map +0 -1
  187. package/dist/diagnostics/historical-project-registration-receipt.d.ts +0 -39
  188. package/dist/diagnostics/historical-project-registration-receipt.d.ts.map +0 -1
  189. package/dist/generated/storage-kit/backend.d.ts +0 -20
  190. package/dist/generated/storage-kit/backend.d.ts.map +0 -1
  191. package/dist/generated/storage-kit/health.d.ts +0 -20
  192. package/dist/generated/storage-kit/health.d.ts.map +0 -1
  193. package/dist/generated/storage-kit/index.d.ts +0 -8
  194. package/dist/generated/storage-kit/index.d.ts.map +0 -1
  195. package/dist/generated/storage-kit/migrations.d.ts +0 -48
  196. package/dist/generated/storage-kit/migrations.d.ts.map +0 -1
  197. package/dist/generated/storage-kit/own.d.ts +0 -11
  198. package/dist/generated/storage-kit/own.d.ts.map +0 -1
  199. package/dist/generated/storage-kit/pool.d.ts +0 -35
  200. package/dist/generated/storage-kit/pool.d.ts.map +0 -1
  201. package/dist/generated/storage-kit/query.d.ts +0 -36
  202. package/dist/generated/storage-kit/query.d.ts.map +0 -1
  203. package/dist/generated/storage-kit/tls.d.ts +0 -53
  204. package/dist/generated/storage-kit/tls.d.ts.map +0 -1
  205. package/dist/index.d.ts +0 -45
  206. package/dist/index.d.ts.map +0 -1
  207. package/dist/lib/activation-matcher.d.ts +0 -17
  208. package/dist/lib/activation-matcher.d.ts.map +0 -1
  209. package/dist/lib/asmr/categorizer.d.ts +0 -31
  210. package/dist/lib/asmr/categorizer.d.ts.map +0 -1
  211. package/dist/lib/asmr/context-agent.d.ts +0 -4
  212. package/dist/lib/asmr/context-agent.d.ts.map +0 -1
  213. package/dist/lib/asmr/ensemble.d.ts +0 -23
  214. package/dist/lib/asmr/ensemble.d.ts.map +0 -1
  215. package/dist/lib/asmr/fact-agent.d.ts +0 -4
  216. package/dist/lib/asmr/fact-agent.d.ts.map +0 -1
  217. package/dist/lib/asmr/index.d.ts +0 -7
  218. package/dist/lib/asmr/index.d.ts.map +0 -1
  219. package/dist/lib/asmr/orchestrator.d.ts +0 -4
  220. package/dist/lib/asmr/orchestrator.d.ts.map +0 -1
  221. package/dist/lib/asmr/recall.d.ts +0 -3
  222. package/dist/lib/asmr/recall.d.ts.map +0 -1
  223. package/dist/lib/asmr/temporal-agent.d.ts +0 -4
  224. package/dist/lib/asmr/temporal-agent.d.ts.map +0 -1
  225. package/dist/lib/asmr/types.d.ts +0 -27
  226. package/dist/lib/asmr/types.d.ts.map +0 -1
  227. package/dist/lib/auto-inject-orchestrator.d.ts +0 -57
  228. package/dist/lib/auto-inject-orchestrator.d.ts.map +0 -1
  229. package/dist/lib/auto-memory-queue.d.ts +0 -48
  230. package/dist/lib/auto-memory-queue.d.ts.map +0 -1
  231. package/dist/lib/auto-memory.d.ts +0 -19
  232. package/dist/lib/auto-memory.d.ts.map +0 -1
  233. package/dist/lib/bench.d.ts +0 -20
  234. package/dist/lib/bench.d.ts.map +0 -1
  235. package/dist/lib/built-in-hooks.d.ts +0 -12
  236. package/dist/lib/built-in-hooks.d.ts.map +0 -1
  237. package/dist/lib/channel-pusher.d.ts +0 -39
  238. package/dist/lib/channel-pusher.d.ts.map +0 -1
  239. package/dist/lib/config.d.ts +0 -9
  240. package/dist/lib/config.d.ts.map +0 -1
  241. package/dist/lib/connectors/files.d.ts +0 -8
  242. package/dist/lib/connectors/files.d.ts.map +0 -1
  243. package/dist/lib/connectors/github.d.ts +0 -7
  244. package/dist/lib/connectors/github.d.ts.map +0 -1
  245. package/dist/lib/connectors/index.d.ts +0 -12
  246. package/dist/lib/connectors/index.d.ts.map +0 -1
  247. package/dist/lib/connectors/notion.d.ts +0 -7
  248. package/dist/lib/connectors/notion.d.ts.map +0 -1
  249. package/dist/lib/connectors/types.d.ts +0 -27
  250. package/dist/lib/connectors/types.d.ts.map +0 -1
  251. package/dist/lib/consolidation.d.ts +0 -52
  252. package/dist/lib/consolidation.d.ts.map +0 -1
  253. package/dist/lib/context-extractor.d.ts +0 -14
  254. package/dist/lib/context-extractor.d.ts.map +0 -1
  255. package/dist/lib/context.d.ts +0 -36
  256. package/dist/lib/context.d.ts.map +0 -1
  257. package/dist/lib/contradiction.d.ts +0 -50
  258. package/dist/lib/contradiction.d.ts.map +0 -1
  259. package/dist/lib/decay.d.ts +0 -35
  260. package/dist/lib/decay.d.ts.map +0 -1
  261. package/dist/lib/dedup.d.ts +0 -33
  262. package/dist/lib/dedup.d.ts.map +0 -1
  263. package/dist/lib/duration.d.ts +0 -28
  264. package/dist/lib/duration.d.ts.map +0 -1
  265. package/dist/lib/embeddings.d.ts +0 -20
  266. package/dist/lib/embeddings.d.ts.map +0 -1
  267. package/dist/lib/enum-validation.d.ts +0 -20
  268. package/dist/lib/enum-validation.d.ts.map +0 -1
  269. package/dist/lib/export-v1.d.ts +0 -30
  270. package/dist/lib/export-v1.d.ts.map +0 -1
  271. package/dist/lib/extractor.d.ts +0 -9
  272. package/dist/lib/extractor.d.ts.map +0 -1
  273. package/dist/lib/extractors/audio.d.ts +0 -8
  274. package/dist/lib/extractors/audio.d.ts.map +0 -1
  275. package/dist/lib/extractors/index.d.ts +0 -12
  276. package/dist/lib/extractors/index.d.ts.map +0 -1
  277. package/dist/lib/extractors/ocr.d.ts +0 -7
  278. package/dist/lib/extractors/ocr.d.ts.map +0 -1
  279. package/dist/lib/extractors/pdf.d.ts +0 -7
  280. package/dist/lib/extractors/pdf.d.ts.map +0 -1
  281. package/dist/lib/extractors/types.d.ts +0 -12
  282. package/dist/lib/extractors/types.d.ts.map +0 -1
  283. package/dist/lib/file-deps.d.ts +0 -27
  284. package/dist/lib/file-deps.d.ts.map +0 -1
  285. package/dist/lib/focus.d.ts +0 -58
  286. package/dist/lib/focus.d.ts.map +0 -1
  287. package/dist/lib/gatherer.d.ts +0 -16
  288. package/dist/lib/gatherer.d.ts.map +0 -1
  289. package/dist/lib/gdpr.d.ts +0 -39
  290. package/dist/lib/gdpr.d.ts.map +0 -1
  291. package/dist/lib/hooks.d.ts +0 -50
  292. package/dist/lib/hooks.d.ts.map +0 -1
  293. package/dist/lib/importers/index.d.ts +0 -38
  294. package/dist/lib/importers/index.d.ts.map +0 -1
  295. package/dist/lib/injector.d.ts +0 -89
  296. package/dist/lib/injector.d.ts.map +0 -1
  297. package/dist/lib/machine-visibility.d.ts +0 -6
  298. package/dist/lib/machine-visibility.d.ts.map +0 -1
  299. package/dist/lib/matryoshka.d.ts +0 -50
  300. package/dist/lib/matryoshka.d.ts.map +0 -1
  301. package/dist/lib/memory-lock.d.ts +0 -58
  302. package/dist/lib/memory-lock.d.ts.map +0 -1
  303. package/dist/lib/model-config.d.ts +0 -14
  304. package/dist/lib/model-config.d.ts.map +0 -1
  305. package/dist/lib/open-sessions-connector.d.ts +0 -60
  306. package/dist/lib/open-sessions-connector.d.ts.map +0 -1
  307. package/dist/lib/package-version.d.ts +0 -3
  308. package/dist/lib/package-version.d.ts.map +0 -1
  309. package/dist/lib/poisoning.d.ts +0 -19
  310. package/dist/lib/poisoning.d.ts.map +0 -1
  311. package/dist/lib/poll.d.ts +0 -17
  312. package/dist/lib/poll.d.ts.map +0 -1
  313. package/dist/lib/procedural-extractor.d.ts +0 -21
  314. package/dist/lib/procedural-extractor.d.ts.map +0 -1
  315. package/dist/lib/profile-sync.d.ts +0 -20
  316. package/dist/lib/profile-sync.d.ts.map +0 -1
  317. package/dist/lib/profile-synthesizer.d.ts +0 -20
  318. package/dist/lib/profile-synthesizer.d.ts.map +0 -1
  319. package/dist/lib/project-detect.d.ts +0 -18
  320. package/dist/lib/project-detect.d.ts.map +0 -1
  321. package/dist/lib/project-panel.d.ts +0 -7
  322. package/dist/lib/project-panel.d.ts.map +0 -1
  323. package/dist/lib/providers/anthropic.d.ts +0 -21
  324. package/dist/lib/providers/anthropic.d.ts.map +0 -1
  325. package/dist/lib/providers/base.d.ts +0 -96
  326. package/dist/lib/providers/base.d.ts.map +0 -1
  327. package/dist/lib/providers/cerebras.d.ts +0 -20
  328. package/dist/lib/providers/cerebras.d.ts.map +0 -1
  329. package/dist/lib/providers/grok.d.ts +0 -19
  330. package/dist/lib/providers/grok.d.ts.map +0 -1
  331. package/dist/lib/providers/index.d.ts +0 -7
  332. package/dist/lib/providers/index.d.ts.map +0 -1
  333. package/dist/lib/providers/openai-compat.d.ts +0 -18
  334. package/dist/lib/providers/openai-compat.d.ts.map +0 -1
  335. package/dist/lib/providers/openai.d.ts +0 -20
  336. package/dist/lib/providers/openai.d.ts.map +0 -1
  337. package/dist/lib/providers/registry.d.ts +0 -38
  338. package/dist/lib/providers/registry.d.ts.map +0 -1
  339. package/dist/lib/quality.d.ts +0 -16
  340. package/dist/lib/quality.d.ts.map +0 -1
  341. package/dist/lib/redact.d.ts +0 -10
  342. package/dist/lib/redact.d.ts.map +0 -1
  343. package/dist/lib/reflection.d.ts +0 -83
  344. package/dist/lib/reflection.d.ts.map +0 -1
  345. package/dist/lib/retention.d.ts +0 -17
  346. package/dist/lib/retention.d.ts.map +0 -1
  347. package/dist/lib/retired-storage-mode.d.ts +0 -11
  348. package/dist/lib/retired-storage-mode.d.ts.map +0 -1
  349. package/dist/lib/search.d.ts +0 -52
  350. package/dist/lib/search.d.ts.map +0 -1
  351. package/dist/lib/session-auto-resolve.d.ts +0 -28
  352. package/dist/lib/session-auto-resolve.d.ts.map +0 -1
  353. package/dist/lib/session-processor.d.ts +0 -38
  354. package/dist/lib/session-processor.d.ts.map +0 -1
  355. package/dist/lib/session-queue.d.ts +0 -28
  356. package/dist/lib/session-queue.d.ts.map +0 -1
  357. package/dist/lib/session-registry.d.ts +0 -47
  358. package/dist/lib/session-registry.d.ts.map +0 -1
  359. package/dist/lib/session-start-briefing.d.ts +0 -10
  360. package/dist/lib/session-start-briefing.d.ts.map +0 -1
  361. package/dist/lib/session-watcher.d.ts +0 -30
  362. package/dist/lib/session-watcher.d.ts.map +0 -1
  363. package/dist/lib/storage-sync.d.ts +0 -45
  364. package/dist/lib/storage-sync.d.ts.map +0 -1
  365. package/dist/lib/sync.d.ts +0 -10
  366. package/dist/lib/sync.d.ts.map +0 -1
  367. package/dist/lib/synthesis/corpus-builder.d.ts +0 -30
  368. package/dist/lib/synthesis/corpus-builder.d.ts.map +0 -1
  369. package/dist/lib/synthesis/executor.d.ts +0 -14
  370. package/dist/lib/synthesis/executor.d.ts.map +0 -1
  371. package/dist/lib/synthesis/index.d.ts +0 -37
  372. package/dist/lib/synthesis/index.d.ts.map +0 -1
  373. package/dist/lib/synthesis/llm-analyzer.d.ts +0 -18
  374. package/dist/lib/synthesis/llm-analyzer.d.ts.map +0 -1
  375. package/dist/lib/synthesis/metrics.d.ts +0 -13
  376. package/dist/lib/synthesis/metrics.d.ts.map +0 -1
  377. package/dist/lib/synthesis/scheduler.d.ts +0 -18
  378. package/dist/lib/synthesis/scheduler.d.ts.map +0 -1
  379. package/dist/lib/synthesis/validator.d.ts +0 -19
  380. package/dist/lib/synthesis/validator.d.ts.map +0 -1
  381. package/dist/lib/task-runner.d.ts +0 -37
  382. package/dist/lib/task-runner.d.ts.map +0 -1
  383. package/dist/lib/tool-lesson-extractor.d.ts +0 -24
  384. package/dist/lib/tool-lesson-extractor.d.ts.map +0 -1
  385. package/dist/lib/tool-memory-synthesizer.d.ts +0 -28
  386. package/dist/lib/tool-memory-synthesizer.d.ts.map +0 -1
  387. package/dist/lib/topic-clusterer.d.ts +0 -21
  388. package/dist/lib/topic-clusterer.d.ts.map +0 -1
  389. package/dist/lib/when-to-use-generator.d.ts +0 -22
  390. package/dist/lib/when-to-use-generator.d.ts.map +0 -1
  391. package/dist/mcp/http.d.ts +0 -17
  392. package/dist/mcp/http.d.ts.map +0 -1
  393. package/dist/mcp/index.d.ts +0 -6
  394. package/dist/mcp/index.d.ts.map +0 -1
  395. package/dist/mcp/memory-broadcast.d.ts +0 -12
  396. package/dist/mcp/memory-broadcast.d.ts.map +0 -1
  397. package/dist/mcp/tools/agent-tools.d.ts +0 -3
  398. package/dist/mcp/tools/agent-tools.d.ts.map +0 -1
  399. package/dist/mcp/tools/auto-memory-tools.d.ts +0 -5
  400. package/dist/mcp/tools/auto-memory-tools.d.ts.map +0 -1
  401. package/dist/mcp/tools/bulk-tools.d.ts +0 -3
  402. package/dist/mcp/tools/bulk-tools.d.ts.map +0 -1
  403. package/dist/mcp/tools/consolidation-tools.d.ts +0 -3
  404. package/dist/mcp/tools/consolidation-tools.d.ts.map +0 -1
  405. package/dist/mcp/tools/focus-tools.d.ts +0 -3
  406. package/dist/mcp/tools/focus-tools.d.ts.map +0 -1
  407. package/dist/mcp/tools/graph-entity-tools.d.ts +0 -3
  408. package/dist/mcp/tools/graph-entity-tools.d.ts.map +0 -1
  409. package/dist/mcp/tools/graph-query-tools.d.ts +0 -3
  410. package/dist/mcp/tools/graph-query-tools.d.ts.map +0 -1
  411. package/dist/mcp/tools/graph-relation-tools.d.ts +0 -3
  412. package/dist/mcp/tools/graph-relation-tools.d.ts.map +0 -1
  413. package/dist/mcp/tools/graph-tools.d.ts +0 -3
  414. package/dist/mcp/tools/graph-tools.d.ts.map +0 -1
  415. package/dist/mcp/tools/graph-utils.d.ts +0 -5
  416. package/dist/mcp/tools/graph-utils.d.ts.map +0 -1
  417. package/dist/mcp/tools/hook-tools.d.ts +0 -3
  418. package/dist/mcp/tools/hook-tools.d.ts.map +0 -1
  419. package/dist/mcp/tools/lock-tools.d.ts +0 -3
  420. package/dist/mcp/tools/lock-tools.d.ts.map +0 -1
  421. package/dist/mcp/tools/memory-audit.d.ts +0 -3
  422. package/dist/mcp/tools/memory-audit.d.ts.map +0 -1
  423. package/dist/mcp/tools/memory-crud.d.ts +0 -3
  424. package/dist/mcp/tools/memory-crud.d.ts.map +0 -1
  425. package/dist/mcp/tools/memory-health.d.ts +0 -3
  426. package/dist/mcp/tools/memory-health.d.ts.map +0 -1
  427. package/dist/mcp/tools/memory-history.d.ts +0 -3
  428. package/dist/mcp/tools/memory-history.d.ts.map +0 -1
  429. package/dist/mcp/tools/memory-inject.d.ts +0 -3
  430. package/dist/mcp/tools/memory-inject.d.ts.map +0 -1
  431. package/dist/mcp/tools/memory-io.d.ts +0 -3
  432. package/dist/mcp/tools/memory-io.d.ts.map +0 -1
  433. package/dist/mcp/tools/memory-lifecycle.d.ts +0 -3
  434. package/dist/mcp/tools/memory-lifecycle.d.ts.map +0 -1
  435. package/dist/mcp/tools/memory-search.d.ts +0 -3
  436. package/dist/mcp/tools/memory-search.d.ts.map +0 -1
  437. package/dist/mcp/tools/memory-stats.d.ts +0 -3
  438. package/dist/mcp/tools/memory-stats.d.ts.map +0 -1
  439. package/dist/mcp/tools/memory-tools.d.ts +0 -17
  440. package/dist/mcp/tools/memory-tools.d.ts.map +0 -1
  441. package/dist/mcp/tools/memory-utils.d.ts +0 -27
  442. package/dist/mcp/tools/memory-utils.d.ts.map +0 -1
  443. package/dist/mcp/tools/memory-validation.d.ts +0 -3
  444. package/dist/mcp/tools/memory-validation.d.ts.map +0 -1
  445. package/dist/mcp/tools/project-tools.d.ts +0 -3
  446. package/dist/mcp/tools/project-tools.d.ts.map +0 -1
  447. package/dist/mcp/tools/session-tools.d.ts +0 -3
  448. package/dist/mcp/tools/session-tools.d.ts.map +0 -1
  449. package/dist/mcp/tools/storage-tools.d.ts +0 -3
  450. package/dist/mcp/tools/storage-tools.d.ts.map +0 -1
  451. package/dist/mcp/tools/synthesis-tools.d.ts +0 -3
  452. package/dist/mcp/tools/synthesis-tools.d.ts.map +0 -1
  453. package/dist/mcp/tools/system-tools-events.d.ts +0 -3
  454. package/dist/mcp/tools/system-tools-events.d.ts.map +0 -1
  455. package/dist/mcp/tools/system-tools-memory-admin.d.ts +0 -3
  456. package/dist/mcp/tools/system-tools-memory-admin.d.ts.map +0 -1
  457. package/dist/mcp/tools/system-tools-shared.d.ts +0 -23
  458. package/dist/mcp/tools/system-tools-shared.d.ts.map +0 -1
  459. package/dist/mcp/tools/system-tools.d.ts +0 -3
  460. package/dist/mcp/tools/system-tools.d.ts.map +0 -1
  461. package/dist/mcp/tools/tool-registry.d.ts +0 -30
  462. package/dist/mcp/tools/tool-registry.d.ts.map +0 -1
  463. package/dist/mcp/tools/utility-tools.d.ts +0 -3
  464. package/dist/mcp/tools/utility-tools.d.ts.map +0 -1
  465. package/dist/memory-project-link/index.d.ts +0 -2
  466. package/dist/memory-project-link/index.d.ts.map +0 -1
  467. package/dist/memory-project-link/schema.d.ts +0 -5
  468. package/dist/memory-project-link/schema.d.ts.map +0 -1
  469. package/dist/pg-sync-worker.d.ts +0 -2
  470. package/dist/pg-sync-worker.d.ts.map +0 -1
  471. package/dist/project-registration/authority.d.ts +0 -43
  472. package/dist/project-registration/authority.d.ts.map +0 -1
  473. package/dist/project-registration/historical-receipt.d.ts +0 -38
  474. package/dist/project-registration/historical-receipt.d.ts.map +0 -1
  475. package/dist/project-registration/http.d.ts +0 -32
  476. package/dist/project-registration/http.d.ts.map +0 -1
  477. package/dist/project-registration/identity.d.ts +0 -20
  478. package/dist/project-registration/identity.d.ts.map +0 -1
  479. package/dist/project-registration/index.d.ts +0 -11
  480. package/dist/project-registration/index.d.ts.map +0 -1
  481. package/dist/project-registration/project-references.d.ts +0 -71
  482. package/dist/project-registration/project-references.d.ts.map +0 -1
  483. package/dist/project-registration/project-resources.d.ts +0 -22
  484. package/dist/project-registration/project-resources.d.ts.map +0 -1
  485. package/dist/project-registration/schema.d.ts +0 -5
  486. package/dist/project-registration/schema.d.ts.map +0 -1
  487. package/dist/project-registration/types.d.ts +0 -319
  488. package/dist/project-registration/types.d.ts.map +0 -1
  489. package/dist/project-registration.d.ts +0 -2
  490. package/dist/project-registration.d.ts.map +0 -1
  491. package/dist/sdk/index.d.ts +0 -978
  492. package/dist/sdk/index.d.ts.map +0 -1
  493. package/dist/server/auth.d.ts +0 -11
  494. package/dist/server/auth.d.ts.map +0 -1
  495. package/dist/server/helpers.d.ts +0 -22
  496. package/dist/server/helpers.d.ts.map +0 -1
  497. package/dist/server/index.d.ts +0 -14
  498. package/dist/server/index.d.ts.map +0 -1
  499. package/dist/server/openapi.d.ts +0 -2
  500. package/dist/server/openapi.d.ts.map +0 -1
  501. package/dist/server/router.d.ts +0 -17
  502. package/dist/server/router.d.ts.map +0 -1
  503. package/dist/server/routes/agents.d.ts +0 -2
  504. package/dist/server/routes/agents.d.ts.map +0 -1
  505. package/dist/server/routes/entities.d.ts +0 -2
  506. package/dist/server/routes/entities.d.ts.map +0 -1
  507. package/dist/server/routes/memories-bulk.d.ts +0 -2
  508. package/dist/server/routes/memories-bulk.d.ts.map +0 -1
  509. package/dist/server/routes/memories-crud.d.ts +0 -2
  510. package/dist/server/routes/memories-crud.d.ts.map +0 -1
  511. package/dist/server/routes/memories-io.d.ts +0 -2
  512. package/dist/server/routes/memories-io.d.ts.map +0 -1
  513. package/dist/server/routes/memories-misc.d.ts +0 -2
  514. package/dist/server/routes/memories-misc.d.ts.map +0 -1
  515. package/dist/server/routes/memories-search.d.ts +0 -2
  516. package/dist/server/routes/memories-search.d.ts.map +0 -1
  517. package/dist/server/routes/memories-stats.d.ts +0 -2
  518. package/dist/server/routes/memories-stats.d.ts.map +0 -1
  519. package/dist/server/routes/memories.d.ts +0 -19
  520. package/dist/server/routes/memories.d.ts.map +0 -1
  521. package/dist/server/routes/memory-project-link.d.ts +0 -2
  522. package/dist/server/routes/memory-project-link.d.ts.map +0 -1
  523. package/dist/server/routes/project-registration.d.ts +0 -2
  524. package/dist/server/routes/project-registration.d.ts.map +0 -1
  525. package/dist/server/routes/projects.d.ts +0 -2
  526. package/dist/server/routes/projects.d.ts.map +0 -1
  527. package/dist/server/routes/system-auto-memory.d.ts +0 -2
  528. package/dist/server/routes/system-auto-memory.d.ts.map +0 -1
  529. package/dist/server/routes/system-chain.d.ts +0 -2
  530. package/dist/server/routes/system-chain.d.ts.map +0 -1
  531. package/dist/server/routes/system-consolidation.d.ts +0 -2
  532. package/dist/server/routes/system-consolidation.d.ts.map +0 -1
  533. package/dist/server/routes/system-hooks.d.ts +0 -2
  534. package/dist/server/routes/system-hooks.d.ts.map +0 -1
  535. package/dist/server/routes/system-sessions.d.ts +0 -2
  536. package/dist/server/routes/system-sessions.d.ts.map +0 -1
  537. package/dist/server/routes/system-subscriptions.d.ts +0 -2
  538. package/dist/server/routes/system-subscriptions.d.ts.map +0 -1
  539. package/dist/server/routes/system-synthesis.d.ts +0 -2
  540. package/dist/server/routes/system-synthesis.d.ts.map +0 -1
  541. package/dist/server/routes/system-tools.d.ts +0 -2
  542. package/dist/server/routes/system-tools.d.ts.map +0 -1
  543. package/dist/server/routes/system.d.ts +0 -2
  544. package/dist/server/routes/system.d.ts.map +0 -1
  545. package/dist/server/routes/tasks.d.ts +0 -2
  546. package/dist/server/routes/tasks.d.ts.map +0 -1
  547. package/dist/storage.d.ts +0 -266
  548. package/dist/storage.d.ts.map +0 -1
  549. package/dist/test-support/memories-page-stub-server.d.ts +0 -2
  550. package/dist/test-support/memories-page-stub-server.d.ts.map +0 -1
  551. package/dist/test-support/memories-page-stub.d.ts +0 -28
  552. package/dist/test-support/memories-page-stub.d.ts.map +0 -1
  553. package/dist/test-support/preload-local-store.d.ts +0 -2
  554. package/dist/test-support/preload-local-store.d.ts.map +0 -1
  555. package/dist/test-support/project-authority-identity.d.ts +0 -8
  556. package/dist/test-support/project-authority-identity.d.ts.map +0 -1
  557. package/dist/test-support/store-isolation.d.ts +0 -108
  558. package/dist/test-support/store-isolation.d.ts.map +0 -1
  559. package/dist/test-support/strip-ansi.d.ts +0 -3
  560. package/dist/test-support/strip-ansi.d.ts.map +0 -1
  561. package/dist/types/hooks.d.ts +0 -136
  562. package/dist/types/hooks.d.ts.map +0 -1
  563. package/dist/types/index.d.ts +0 -472
  564. package/dist/types/index.d.ts.map +0 -1
@@ -235,6 +235,7 @@ function translateSql(sql) {
235
235
  let translated = sql.replace(/\?/g, () => `$${++parameterIndex}`);
236
236
  const ISO_FMT = `'YYYY-MM-DD"T"HH24:MI:SS.MS"Z"'`;
237
237
  translated = translated.replace(/datetime\s*\(\s*'now'\s*\)/gi, `to_char(now() AT TIME ZONE 'UTC', ${ISO_FMT})`);
238
+ translated = translated.replace(/strftime\s*\(\s*'%Y-%m-%dT%H:%M:%fZ'\s*,\s*'now'\s*\)/gi, `to_char(now() AT TIME ZONE 'UTC', ${ISO_FMT})`);
238
239
  translated = translated.replace(/datetime\s*\(\s*'now'\s*,\s*'(-?\d+)\s+(minutes?|hours?|days?|seconds?)'\s*\)/gi, (_match, amount, unit) => {
239
240
  const parsed = parseInt(String(amount), 10);
240
241
  const absolute = Math.abs(parsed);
@@ -736,16 +737,24 @@ function transferRows(target, table, rows, options) {
736
737
  const conflictColumn = options.conflictColumn ?? "updated_at";
737
738
  let written = 0;
738
739
  let skipped = 0;
740
+ let maxSyncedAt = null;
739
741
  const errors = [];
742
+ const bumpMaxSyncedAt = (row) => {
743
+ const value = row[conflictColumn];
744
+ if (typeof value === "string" && (maxSyncedAt === null || value > maxSyncedAt)) {
745
+ maxSyncedAt = value;
746
+ }
747
+ };
740
748
  if (rows.length === 0) {
741
- return { written, skipped, errors };
749
+ return { written, skipped, errors, maxSyncedAt };
742
750
  }
743
751
  const columns = Object.keys(rows[0] ?? {});
744
752
  if (!columns.includes(primaryKey)) {
745
753
  return {
746
754
  written,
747
755
  skipped,
748
- errors: [`Table "${table}" has no "${primaryKey}" column; skipping`]
756
+ errors: [`Table "${table}" has no "${primaryKey}" column; skipping`],
757
+ maxSyncedAt
749
758
  };
750
759
  }
751
760
  const hasConflictColumn = columns.includes(conflictColumn);
@@ -758,6 +767,7 @@ function transferRows(target, table, rows, options) {
758
767
  const incomingTime = Date.parse(String(row[conflictColumn]));
759
768
  if (Number.isFinite(existingTime) && Number.isFinite(incomingTime) && existingTime >= incomingTime) {
760
769
  skipped++;
770
+ bumpMaxSyncedAt(row);
761
771
  continue;
762
772
  }
763
773
  }
@@ -770,11 +780,12 @@ function transferRows(target, table, rows, options) {
770
780
  target.run(`INSERT INTO "${table}" (${columnList}) VALUES (${placeholders})`, ...columns.map((column) => row[column]));
771
781
  }
772
782
  written++;
783
+ bumpMaxSyncedAt(row);
773
784
  } catch (error) {
774
785
  errors.push(`Row ${String(row[primaryKey] ?? "unknown")}: ${error instanceof Error ? error.message : String(error)}`);
775
786
  }
776
787
  }
777
- return { written, skipped, errors };
788
+ return { written, skipped, errors, maxSyncedAt };
778
789
  }
779
790
  function incrementalSyncPush(local, remote, tables, options = {}) {
780
791
  return runIncrementalSync("push", local, remote, local, tables, options);
@@ -812,22 +823,29 @@ function runIncrementalSync(direction, source, target, metaDb, tables, options)
812
823
  rows = source.all(`SELECT * FROM "${table}"`);
813
824
  stat.first_sync = true;
814
825
  }
826
+ let maxSyncedAt = null;
815
827
  for (let offset = 0;offset < rows.length; offset += batchSize) {
816
828
  const batch = rows.slice(offset, offset + batchSize);
817
829
  const result = transferRows(target, table, batch, options);
818
830
  stat.synced_rows += result.written;
819
831
  stat.skipped_rows += result.skipped;
820
832
  stat.errors.push(...result.errors);
833
+ if (result.maxSyncedAt !== null && (maxSyncedAt === null || result.maxSyncedAt > maxSyncedAt)) {
834
+ maxSyncedAt = result.maxSyncedAt;
835
+ }
821
836
  }
822
837
  if (rows.length === 0) {
823
838
  stat.skipped_rows = stat.total_rows;
824
839
  }
825
- upsertSyncMeta(metaDb, {
826
- table_name: table,
827
- last_synced_at: new Date().toISOString(),
828
- last_synced_row_count: stat.synced_rows,
829
- direction
830
- });
840
+ const nextCursor = maxSyncedAt ?? meta?.last_synced_at ?? null;
841
+ if (rows.length > 0 && stat.errors.length === 0 && nextCursor !== null) {
842
+ upsertSyncMeta(metaDb, {
843
+ table_name: table,
844
+ last_synced_at: nextCursor,
845
+ last_synced_row_count: stat.synced_rows,
846
+ direction
847
+ });
848
+ }
831
849
  } catch (error) {
832
850
  stat.errors.push(`Table "${table}": ${error instanceof Error ? error.message : String(error)}`);
833
851
  }
@@ -866,8 +884,13 @@ var init_storage = __esm(() => {
866
884
  data;
867
885
  closed = false;
868
886
  lastError = null;
887
+ generation = 0;
869
888
  static DATA_BYTES = 128 * 1024 * 1024;
870
- static QUERY_TIMEOUT_MS = 60000;
889
+ static queryTimeoutMs() {
890
+ const raw = process.env["MEMENTOS_PGSYNC_QUERY_TIMEOUT_MS"]?.trim();
891
+ const parsed = raw ? Number(raw) : Number.NaN;
892
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : 60000;
893
+ }
871
894
  static resolveWorkerPath() {
872
895
  const ext = import.meta.url.endsWith(".ts") ? ".ts" : ".js";
873
896
  const here = fileURLToPath(new URL(".", import.meta.url));
@@ -882,12 +905,12 @@ var init_storage = __esm(() => {
882
905
  }
883
906
  return candidates[0];
884
907
  }
885
- constructor(connectionString) {
886
- const control = new SharedArrayBuffer(8);
908
+ constructor(connectionString, workerPath) {
909
+ const control = new SharedArrayBuffer(12);
887
910
  const dataSab = new SharedArrayBuffer(PgSyncPool.DATA_BYTES);
888
911
  this.status = new Int32Array(control);
889
912
  this.data = new Uint8Array(dataSab);
890
- this.worker = new Worker(PgSyncPool.resolveWorkerPath(), {
913
+ this.worker = new Worker(workerPath ?? PgSyncPool.resolveWorkerPath(), {
891
914
  workerData: {
892
915
  dsn: stripSslParams(connectionString),
893
916
  ssl: sslConfigFor(connectionString),
@@ -905,21 +928,35 @@ var init_storage = __esm(() => {
905
928
  throw new Error("PgSyncPool is closed");
906
929
  if (this.lastError)
907
930
  throw this.lastError;
931
+ const timeoutMs = PgSyncPool.queryTimeoutMs();
932
+ const gen = ++this.generation;
908
933
  Atomics.store(this.status, 0, 0);
909
- this.worker.postMessage({ sql, params });
910
- const waitResult = Atomics.wait(this.status, 0, 0, PgSyncPool.QUERY_TIMEOUT_MS);
911
- const code = Atomics.load(this.status, 0);
912
- if (code === 0 || waitResult === "timed-out") {
913
- if (this.lastError)
914
- throw this.lastError;
915
- throw new Error("PostgreSQL query timed out after 60s");
916
- }
917
- const len = Atomics.load(this.status, 1);
918
- const payload = JSON.parse(new TextDecoder().decode(this.data.subarray(0, len)));
919
- if (code === 2) {
920
- throw new Error(payload.message ?? "PostgreSQL error");
934
+ Atomics.store(this.status, 2, 0);
935
+ this.worker.postMessage({ sql, params, gen });
936
+ const deadline = Date.now() + timeoutMs;
937
+ for (;; ) {
938
+ const remaining = deadline - Date.now();
939
+ const responding = Atomics.load(this.status, 0);
940
+ if (responding === gen) {
941
+ const code = Atomics.load(this.status, 2);
942
+ const len = Atomics.load(this.status, 1);
943
+ const payload = JSON.parse(new TextDecoder().decode(this.data.subarray(0, len)));
944
+ if (code === 2) {
945
+ throw new Error(payload.message ?? "PostgreSQL error");
946
+ }
947
+ return payload;
948
+ }
949
+ if (responding !== 0) {
950
+ Atomics.compareExchange(this.status, 0, responding, 0);
951
+ continue;
952
+ }
953
+ if (remaining <= 0) {
954
+ if (this.lastError)
955
+ throw this.lastError;
956
+ throw new Error(`PostgreSQL query timed out after ${timeoutMs}ms`);
957
+ }
958
+ Atomics.wait(this.status, 0, 0, remaining);
921
959
  }
922
- return payload;
923
960
  }
924
961
  end() {
925
962
  if (this.closed)
@@ -5355,7 +5392,26 @@ function parseMemoryRow(row) {
5355
5392
  accessed_at: row["accessed_at"] || null
5356
5393
  };
5357
5394
  }
5395
+ var RESERVED_AGENT_IDS = new Set([
5396
+ "agent-a",
5397
+ "agent-x",
5398
+ "agent-z",
5399
+ "nonexistent-agent"
5400
+ ]);
5401
+ function reservedAgentIdViolation(agentId) {
5402
+ if (!agentId)
5403
+ return null;
5404
+ const normalized = agentId.trim().toLowerCase();
5405
+ if (RESERVED_AGENT_IDS.has(normalized)) {
5406
+ return `Reserved placeholder agent id "${agentId}" cannot own a memory. ` + `Refusing to write: test harnesses must not write memories under placeholder agent ` + `identities. Register a real agent (mementos register-agent <name>) and pass its id.`;
5407
+ }
5408
+ return null;
5409
+ }
5358
5410
  function createMemory(input, dedupeMode = "merge", db) {
5411
+ const reservedViolation = reservedAgentIdViolation(input.agent_id);
5412
+ if (reservedViolation) {
5413
+ throw new Error(reservedViolation);
5414
+ }
5359
5415
  if (!db && isApiMode()) {
5360
5416
  const { status, data } = apiJson("POST", "/memories", { ...input, dedupe: dedupeMode });
5361
5417
  if (!data || !data.id) {
@@ -5405,7 +5461,8 @@ function createMemory(input, dedupeMode = "merge", db) {
5405
5461
  importance = ?, metadata = ?, expires_at = ?,
5406
5462
  when_to_use = ?,
5407
5463
  pinned = COALESCE(pinned, 0),
5408
- version = version + 1, updated_at = ?
5464
+ version = version + 1, updated_at = ?,
5465
+ updated_by_agent = ?
5409
5466
  WHERE id = ?`, [
5410
5467
  safeValue,
5411
5468
  input.category || "knowledge",
@@ -5416,6 +5473,7 @@ function createMemory(input, dedupeMode = "merge", db) {
5416
5473
  expiresAt,
5417
5474
  input.when_to_use || null,
5418
5475
  timestamp,
5476
+ input.agent_id || null,
5419
5477
  existing.id
5420
5478
  ]);
5421
5479
  d.run("DELETE FROM memory_tags WHERE memory_id = ?", [existing.id]);
@@ -5717,6 +5775,11 @@ function listMemoriesPage(filter, db) {
5717
5775
  agent_id: f.agent_id,
5718
5776
  project_id: f.project_id,
5719
5777
  session_id: f.session_id,
5778
+ machine_id: f.machine_id,
5779
+ visible_to_machine_id: f.visible_to_machine_id,
5780
+ search: f.search,
5781
+ source: f.source,
5782
+ flag: f.flag,
5720
5783
  namespace: f.namespace,
5721
5784
  as_of: f.as_of,
5722
5785
  limit: f.limit,
@@ -5859,20 +5922,29 @@ function updateMemory(id, input, db) {
5859
5922
  sets.push("when_to_use = ?");
5860
5923
  params.push(input.when_to_use ?? null);
5861
5924
  }
5925
+ if (input.updated_by_agent !== undefined) {
5926
+ sets.push("updated_by_agent = ?");
5927
+ params.push(input.updated_by_agent ?? null);
5928
+ }
5862
5929
  if (input.tags !== undefined) {
5863
5930
  sets.push("tags = ?");
5864
5931
  params.push(JSON.stringify(input.tags));
5865
- d.run("DELETE FROM memory_tags WHERE memory_id = ?", [memoryId]);
5866
- const insertTag = d.prepare("INSERT OR IGNORE INTO memory_tags (memory_id, tag) VALUES (?, ?)");
5867
- for (const tag of input.tags) {
5868
- insertTag.run(memoryId, tag);
5869
- }
5870
5932
  }
5871
5933
  params.push(memoryId);
5872
- const result = d.run(`UPDATE memories SET ${sets.join(", ")} WHERE id = ?`, params);
5873
- if (result.changes === 0) {
5874
- throw new Error(`Update affected no rows for memory ${memoryId}: the record was read but not written. ` + `This is a bug in @hasna/mementos, not a bad argument \u2014 please report it.`);
5875
- }
5934
+ d.transaction(() => {
5935
+ const res = d.run(`UPDATE memories SET ${sets.join(", ")} WHERE id = ?`, params);
5936
+ if (res.changes === 0) {
5937
+ throw new Error(`Update affected no rows for memory ${memoryId}: the record was read but not written. ` + `This is a bug in @hasna/mementos, not a bad argument \u2014 please report it.`);
5938
+ }
5939
+ if (input.tags !== undefined) {
5940
+ d.run("DELETE FROM memory_tags WHERE memory_id = ?", [memoryId]);
5941
+ const insertTag = d.prepare("INSERT OR IGNORE INTO memory_tags (memory_id, tag) VALUES (?, ?)");
5942
+ for (const tag of input.tags) {
5943
+ insertTag.run(memoryId, tag);
5944
+ }
5945
+ }
5946
+ return res;
5947
+ });
5876
5948
  const updated = getMemory(memoryId, d);
5877
5949
  if (input.value !== undefined) {
5878
5950
  try {
package/dist/sdk/index.js CHANGED
@@ -181,6 +181,7 @@ class MementosClient {
181
181
  const limit = Math.min(want === undefined ? pageSize : want - memories.length, pageSize);
182
182
  const page = await this.get("/api/memories/stale", {
183
183
  days: options?.days,
184
+ pinned: options?.pinned,
184
185
  project_id: options?.project_id,
185
186
  agent_id: options?.agent_id,
186
187
  limit,