@hasna/mementos 0.14.86 → 0.14.87

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 (565) hide show
  1. package/dist/cli/__fixtures__/clean-fallback-stub-server.d.ts +2 -0
  2. package/dist/cli/__fixtures__/clean-fallback-stub-server.d.ts.map +1 -0
  3. package/dist/cli/__fixtures__/io-restore-stub-server.d.ts +2 -0
  4. package/dist/cli/__fixtures__/io-restore-stub-server.d.ts.map +1 -0
  5. package/dist/cli/brains.d.ts +3 -0
  6. package/dist/cli/brains.d.ts.map +1 -0
  7. package/dist/cli/commands/agent.d.ts +3 -0
  8. package/dist/cli/commands/agent.d.ts.map +1 -0
  9. package/dist/cli/commands/consolidation.d.ts +3 -0
  10. package/dist/cli/commands/consolidation.d.ts.map +1 -0
  11. package/dist/cli/commands/entity.d.ts +3 -0
  12. package/dist/cli/commands/entity.d.ts.map +1 -0
  13. package/dist/cli/commands/graph.d.ts +3 -0
  14. package/dist/cli/commands/graph.d.ts.map +1 -0
  15. package/dist/cli/commands/info-context.d.ts +3 -0
  16. package/dist/cli/commands/info-context.d.ts.map +1 -0
  17. package/dist/cli/commands/info-history.d.ts +3 -0
  18. package/dist/cli/commands/info-history.d.ts.map +1 -0
  19. package/dist/cli/commands/info-report.d.ts +3 -0
  20. package/dist/cli/commands/info-report.d.ts.map +1 -0
  21. package/dist/cli/commands/info-stale.d.ts +3 -0
  22. package/dist/cli/commands/info-stale.d.ts.map +1 -0
  23. package/dist/cli/commands/info-stats.d.ts +3 -0
  24. package/dist/cli/commands/info-stats.d.ts.map +1 -0
  25. package/dist/cli/commands/info.d.ts +12 -0
  26. package/dist/cli/commands/info.d.ts.map +1 -0
  27. package/dist/cli/commands/init.d.ts +3 -0
  28. package/dist/cli/commands/init.d.ts.map +1 -0
  29. package/dist/cli/commands/io-backup.d.ts +3 -0
  30. package/dist/cli/commands/io-backup.d.ts.map +1 -0
  31. package/dist/cli/commands/io-clean.d.ts +3 -0
  32. package/dist/cli/commands/io-clean.d.ts.map +1 -0
  33. package/dist/cli/commands/io-export.d.ts +3 -0
  34. package/dist/cli/commands/io-export.d.ts.map +1 -0
  35. package/dist/cli/commands/io-import.d.ts +3 -0
  36. package/dist/cli/commands/io-import.d.ts.map +1 -0
  37. package/dist/cli/commands/io-restore.d.ts +3 -0
  38. package/dist/cli/commands/io-restore.d.ts.map +1 -0
  39. package/dist/cli/commands/io.d.ts +12 -0
  40. package/dist/cli/commands/io.d.ts.map +1 -0
  41. package/dist/cli/commands/memory-cmd-bulk.d.ts +3 -0
  42. package/dist/cli/commands/memory-cmd-bulk.d.ts.map +1 -0
  43. package/dist/cli/commands/memory-cmd-chain.d.ts +3 -0
  44. package/dist/cli/commands/memory-cmd-chain.d.ts.map +1 -0
  45. package/dist/cli/commands/memory-cmd-crud.d.ts +3 -0
  46. package/dist/cli/commands/memory-cmd-crud.d.ts.map +1 -0
  47. package/dist/cli/commands/memory-cmd-diff.d.ts +3 -0
  48. package/dist/cli/commands/memory-cmd-diff.d.ts.map +1 -0
  49. package/dist/cli/commands/memory-cmd-list.d.ts +3 -0
  50. package/dist/cli/commands/memory-cmd-list.d.ts.map +1 -0
  51. package/dist/cli/commands/memory-cmd-recall-exit.d.ts +3 -0
  52. package/dist/cli/commands/memory-cmd-recall-exit.d.ts.map +1 -0
  53. package/dist/cli/commands/memory-cmd-recall.d.ts +3 -0
  54. package/dist/cli/commands/memory-cmd-recall.d.ts.map +1 -0
  55. package/dist/cli/commands/memory-cmd-remove.d.ts +3 -0
  56. package/dist/cli/commands/memory-cmd-remove.d.ts.map +1 -0
  57. package/dist/cli/commands/memory-cmd-search.d.ts +3 -0
  58. package/dist/cli/commands/memory-cmd-search.d.ts.map +1 -0
  59. package/dist/cli/commands/memory-cmd-tail.d.ts +3 -0
  60. package/dist/cli/commands/memory-cmd-tail.d.ts.map +1 -0
  61. package/dist/cli/commands/memory-cmd-util.d.ts +3 -0
  62. package/dist/cli/commands/memory-cmd-util.d.ts.map +1 -0
  63. package/dist/cli/commands/memory-cmd-view.d.ts +3 -0
  64. package/dist/cli/commands/memory-cmd-view.d.ts.map +1 -0
  65. package/dist/cli/commands/memory-cmd-watch.d.ts +3 -0
  66. package/dist/cli/commands/memory-cmd-watch.d.ts.map +1 -0
  67. package/dist/cli/commands/memory-cmd-when-to-use.d.ts +3 -0
  68. package/dist/cli/commands/memory-cmd-when-to-use.d.ts.map +1 -0
  69. package/dist/cli/commands/memory.d.ts +3 -0
  70. package/dist/cli/commands/memory.d.ts.map +1 -0
  71. package/dist/cli/commands/project-panel.d.ts +3 -0
  72. package/dist/cli/commands/project-panel.d.ts.map +1 -0
  73. package/dist/cli/commands/project.d.ts +3 -0
  74. package/dist/cli/commands/project.d.ts.map +1 -0
  75. package/dist/cli/commands/relation.d.ts +3 -0
  76. package/dist/cli/commands/relation.d.ts.map +1 -0
  77. package/dist/cli/commands/storage.d.ts +3 -0
  78. package/dist/cli/commands/storage.d.ts.map +1 -0
  79. package/dist/cli/commands/system-auto-memory.d.ts +3 -0
  80. package/dist/cli/commands/system-auto-memory.d.ts.map +1 -0
  81. package/dist/cli/commands/system-completions.d.ts +13 -0
  82. package/dist/cli/commands/system-completions.d.ts.map +1 -0
  83. package/dist/cli/commands/system-config.d.ts +3 -0
  84. package/dist/cli/commands/system-config.d.ts.map +1 -0
  85. package/dist/cli/commands/system-doctor.d.ts +3 -0
  86. package/dist/cli/commands/system-doctor.d.ts.map +1 -0
  87. package/dist/cli/commands/system-hooks.d.ts +3 -0
  88. package/dist/cli/commands/system-hooks.d.ts.map +1 -0
  89. package/dist/cli/commands/system-mcp.d.ts +3 -0
  90. package/dist/cli/commands/system-mcp.d.ts.map +1 -0
  91. package/dist/cli/commands/system-misc.d.ts +3 -0
  92. package/dist/cli/commands/system-misc.d.ts.map +1 -0
  93. package/dist/cli/commands/system-profile.d.ts +3 -0
  94. package/dist/cli/commands/system-profile.d.ts.map +1 -0
  95. package/dist/cli/commands/system-session.d.ts +3 -0
  96. package/dist/cli/commands/system-session.d.ts.map +1 -0
  97. package/dist/cli/commands/system-sessions.d.ts +3 -0
  98. package/dist/cli/commands/system-sessions.d.ts.map +1 -0
  99. package/dist/cli/commands/system-synthesis.d.ts +3 -0
  100. package/dist/cli/commands/system-synthesis.d.ts.map +1 -0
  101. package/dist/cli/commands/system-synthesized-profile.d.ts +3 -0
  102. package/dist/cli/commands/system-synthesized-profile.d.ts.map +1 -0
  103. package/dist/cli/commands/system-tools.d.ts +3 -0
  104. package/dist/cli/commands/system-tools.d.ts.map +1 -0
  105. package/dist/cli/commands/system-watch.d.ts +3 -0
  106. package/dist/cli/commands/system-watch.d.ts.map +1 -0
  107. package/dist/cli/commands/system.d.ts +3 -0
  108. package/dist/cli/commands/system.d.ts.map +1 -0
  109. package/dist/cli/exit-codes.d.ts +13 -0
  110. package/dist/cli/exit-codes.d.ts.map +1 -0
  111. package/dist/cli/global-options.d.ts +27 -0
  112. package/dist/cli/global-options.d.ts.map +1 -0
  113. package/dist/cli/helpers.d.ts +150 -0
  114. package/dist/cli/helpers.d.ts.map +1 -0
  115. package/dist/cli/index.d.ts +3 -0
  116. package/dist/cli/index.d.ts.map +1 -0
  117. package/dist/cli/index.js +204 -20
  118. package/dist/cli/register-all.d.ts +17 -0
  119. package/dist/cli/register-all.d.ts.map +1 -0
  120. package/dist/cli/startup-side-effects.d.ts +9 -0
  121. package/dist/cli/startup-side-effects.d.ts.map +1 -0
  122. package/dist/db/__fixtures__/fail-closed-stub-server.d.ts +2 -0
  123. package/dist/db/__fixtures__/fail-closed-stub-server.d.ts.map +1 -0
  124. package/dist/db/__fixtures__/list-filter-capture-server.d.ts +2 -0
  125. package/dist/db/__fixtures__/list-filter-capture-server.d.ts.map +1 -0
  126. package/dist/db/__fixtures__/list-filter-client-runner.d.ts +2 -0
  127. package/dist/db/__fixtures__/list-filter-client-runner.d.ts.map +1 -0
  128. package/dist/db/acl.d.ts +34 -0
  129. package/dist/db/acl.d.ts.map +1 -0
  130. package/dist/db/agents.d.ts +35 -0
  131. package/dist/db/agents.d.ts.map +1 -0
  132. package/dist/db/analytics.d.ts +124 -0
  133. package/dist/db/analytics.d.ts.map +1 -0
  134. package/dist/db/api-mode.d.ts +127 -0
  135. package/dist/db/api-mode.d.ts.map +1 -0
  136. package/dist/db/audit.d.ts +53 -0
  137. package/dist/db/audit.d.ts.map +1 -0
  138. package/dist/db/database.d.ts +26 -0
  139. package/dist/db/database.d.ts.map +1 -0
  140. package/dist/db/entities.d.ts +62 -0
  141. package/dist/db/entities.d.ts.map +1 -0
  142. package/dist/db/entity-memories.d.ts +34 -0
  143. package/dist/db/entity-memories.d.ts.map +1 -0
  144. package/dist/db/feedback.d.ts +9 -0
  145. package/dist/db/feedback.d.ts.map +1 -0
  146. package/dist/db/locks.d.ts +63 -0
  147. package/dist/db/locks.d.ts.map +1 -0
  148. package/dist/db/machines.d.ts +23 -0
  149. package/dist/db/machines.d.ts.map +1 -0
  150. package/dist/db/memories.d.ts +199 -0
  151. package/dist/db/memories.d.ts.map +1 -0
  152. package/dist/db/memory-links.d.ts +21 -0
  153. package/dist/db/memory-links.d.ts.map +1 -0
  154. package/dist/db/memory-project-link.d.ts +13 -0
  155. package/dist/db/memory-project-link.d.ts.map +1 -0
  156. package/dist/db/migrations.d.ts +3 -0
  157. package/dist/db/migrations.d.ts.map +1 -0
  158. package/dist/db/pg-migrate.d.ts +27 -0
  159. package/dist/db/pg-migrate.d.ts.map +1 -0
  160. package/dist/db/pg-migrations.d.ts +2 -0
  161. package/dist/db/pg-migrations.d.ts.map +1 -0
  162. package/dist/db/projects.d.ts +27 -0
  163. package/dist/db/projects.d.ts.map +1 -0
  164. package/dist/db/ratings.d.ts +23 -0
  165. package/dist/db/ratings.d.ts.map +1 -0
  166. package/dist/db/relations.d.ts +49 -0
  167. package/dist/db/relations.d.ts.map +1 -0
  168. package/dist/db/session-jobs.d.ts +67 -0
  169. package/dist/db/session-jobs.d.ts.map +1 -0
  170. package/dist/db/store-backend.d.ts +42 -0
  171. package/dist/db/store-backend.d.ts.map +1 -0
  172. package/dist/db/subscriptions.d.ts +24 -0
  173. package/dist/db/subscriptions.d.ts.map +1 -0
  174. package/dist/db/synthesis.d.ts +101 -0
  175. package/dist/db/synthesis.d.ts.map +1 -0
  176. package/dist/db/tasks.d.ts +89 -0
  177. package/dist/db/tasks.d.ts.map +1 -0
  178. package/dist/db/tool-events.d.ts +27 -0
  179. package/dist/db/tool-events.d.ts.map +1 -0
  180. package/dist/db/webhook_hooks.d.ts +48 -0
  181. package/dist/db/webhook_hooks.d.ts.map +1 -0
  182. package/dist/diagnostics/historical-project-registration-receipt.d.ts +39 -0
  183. package/dist/diagnostics/historical-project-registration-receipt.d.ts.map +1 -0
  184. package/dist/generated/storage-kit/backend.d.ts +20 -0
  185. package/dist/generated/storage-kit/backend.d.ts.map +1 -0
  186. package/dist/generated/storage-kit/health.d.ts +20 -0
  187. package/dist/generated/storage-kit/health.d.ts.map +1 -0
  188. package/dist/generated/storage-kit/index.d.ts +8 -0
  189. package/dist/generated/storage-kit/index.d.ts.map +1 -0
  190. package/dist/generated/storage-kit/migrations.d.ts +48 -0
  191. package/dist/generated/storage-kit/migrations.d.ts.map +1 -0
  192. package/dist/generated/storage-kit/own.d.ts +11 -0
  193. package/dist/generated/storage-kit/own.d.ts.map +1 -0
  194. package/dist/generated/storage-kit/pool.d.ts +35 -0
  195. package/dist/generated/storage-kit/pool.d.ts.map +1 -0
  196. package/dist/generated/storage-kit/query.d.ts +36 -0
  197. package/dist/generated/storage-kit/query.d.ts.map +1 -0
  198. package/dist/generated/storage-kit/tls.d.ts +53 -0
  199. package/dist/generated/storage-kit/tls.d.ts.map +1 -0
  200. package/dist/index.d.ts +45 -0
  201. package/dist/index.d.ts.map +1 -0
  202. package/dist/index.js +2 -2
  203. package/dist/lib/activation-matcher.d.ts +17 -0
  204. package/dist/lib/activation-matcher.d.ts.map +1 -0
  205. package/dist/lib/asmr/categorizer.d.ts +31 -0
  206. package/dist/lib/asmr/categorizer.d.ts.map +1 -0
  207. package/dist/lib/asmr/context-agent.d.ts +4 -0
  208. package/dist/lib/asmr/context-agent.d.ts.map +1 -0
  209. package/dist/lib/asmr/ensemble.d.ts +23 -0
  210. package/dist/lib/asmr/ensemble.d.ts.map +1 -0
  211. package/dist/lib/asmr/fact-agent.d.ts +4 -0
  212. package/dist/lib/asmr/fact-agent.d.ts.map +1 -0
  213. package/dist/lib/asmr/index.d.ts +7 -0
  214. package/dist/lib/asmr/index.d.ts.map +1 -0
  215. package/dist/lib/asmr/orchestrator.d.ts +4 -0
  216. package/dist/lib/asmr/orchestrator.d.ts.map +1 -0
  217. package/dist/lib/asmr/recall.d.ts +3 -0
  218. package/dist/lib/asmr/recall.d.ts.map +1 -0
  219. package/dist/lib/asmr/temporal-agent.d.ts +4 -0
  220. package/dist/lib/asmr/temporal-agent.d.ts.map +1 -0
  221. package/dist/lib/asmr/types.d.ts +27 -0
  222. package/dist/lib/asmr/types.d.ts.map +1 -0
  223. package/dist/lib/auto-inject-orchestrator.d.ts +57 -0
  224. package/dist/lib/auto-inject-orchestrator.d.ts.map +1 -0
  225. package/dist/lib/auto-memory-queue.d.ts +48 -0
  226. package/dist/lib/auto-memory-queue.d.ts.map +1 -0
  227. package/dist/lib/auto-memory.d.ts +19 -0
  228. package/dist/lib/auto-memory.d.ts.map +1 -0
  229. package/dist/lib/bench.d.ts +20 -0
  230. package/dist/lib/bench.d.ts.map +1 -0
  231. package/dist/lib/built-in-hooks.d.ts +32 -0
  232. package/dist/lib/built-in-hooks.d.ts.map +1 -0
  233. package/dist/lib/channel-pusher.d.ts +39 -0
  234. package/dist/lib/channel-pusher.d.ts.map +1 -0
  235. package/dist/lib/config.d.ts +9 -0
  236. package/dist/lib/config.d.ts.map +1 -0
  237. package/dist/lib/connectors/files.d.ts +8 -0
  238. package/dist/lib/connectors/files.d.ts.map +1 -0
  239. package/dist/lib/connectors/github.d.ts +7 -0
  240. package/dist/lib/connectors/github.d.ts.map +1 -0
  241. package/dist/lib/connectors/index.d.ts +12 -0
  242. package/dist/lib/connectors/index.d.ts.map +1 -0
  243. package/dist/lib/connectors/notion.d.ts +7 -0
  244. package/dist/lib/connectors/notion.d.ts.map +1 -0
  245. package/dist/lib/connectors/types.d.ts +27 -0
  246. package/dist/lib/connectors/types.d.ts.map +1 -0
  247. package/dist/lib/consolidation.d.ts +52 -0
  248. package/dist/lib/consolidation.d.ts.map +1 -0
  249. package/dist/lib/context-extractor.d.ts +14 -0
  250. package/dist/lib/context-extractor.d.ts.map +1 -0
  251. package/dist/lib/context.d.ts +36 -0
  252. package/dist/lib/context.d.ts.map +1 -0
  253. package/dist/lib/contradiction.d.ts +50 -0
  254. package/dist/lib/contradiction.d.ts.map +1 -0
  255. package/dist/lib/decay.d.ts +35 -0
  256. package/dist/lib/decay.d.ts.map +1 -0
  257. package/dist/lib/dedup.d.ts +33 -0
  258. package/dist/lib/dedup.d.ts.map +1 -0
  259. package/dist/lib/duration.d.ts +28 -0
  260. package/dist/lib/duration.d.ts.map +1 -0
  261. package/dist/lib/embeddings.d.ts +20 -0
  262. package/dist/lib/embeddings.d.ts.map +1 -0
  263. package/dist/lib/enum-validation.d.ts +20 -0
  264. package/dist/lib/enum-validation.d.ts.map +1 -0
  265. package/dist/lib/export-v1.d.ts +30 -0
  266. package/dist/lib/export-v1.d.ts.map +1 -0
  267. package/dist/lib/extractor.d.ts +9 -0
  268. package/dist/lib/extractor.d.ts.map +1 -0
  269. package/dist/lib/extractors/audio.d.ts +8 -0
  270. package/dist/lib/extractors/audio.d.ts.map +1 -0
  271. package/dist/lib/extractors/index.d.ts +12 -0
  272. package/dist/lib/extractors/index.d.ts.map +1 -0
  273. package/dist/lib/extractors/ocr.d.ts +7 -0
  274. package/dist/lib/extractors/ocr.d.ts.map +1 -0
  275. package/dist/lib/extractors/pdf.d.ts +7 -0
  276. package/dist/lib/extractors/pdf.d.ts.map +1 -0
  277. package/dist/lib/extractors/types.d.ts +12 -0
  278. package/dist/lib/extractors/types.d.ts.map +1 -0
  279. package/dist/lib/file-deps.d.ts +27 -0
  280. package/dist/lib/file-deps.d.ts.map +1 -0
  281. package/dist/lib/focus.d.ts +58 -0
  282. package/dist/lib/focus.d.ts.map +1 -0
  283. package/dist/lib/gatherer.d.ts +16 -0
  284. package/dist/lib/gatherer.d.ts.map +1 -0
  285. package/dist/lib/gdpr.d.ts +39 -0
  286. package/dist/lib/gdpr.d.ts.map +1 -0
  287. package/dist/lib/hooks.d.ts +50 -0
  288. package/dist/lib/hooks.d.ts.map +1 -0
  289. package/dist/lib/importers/index.d.ts +38 -0
  290. package/dist/lib/importers/index.d.ts.map +1 -0
  291. package/dist/lib/injector.d.ts +89 -0
  292. package/dist/lib/injector.d.ts.map +1 -0
  293. package/dist/lib/machine-visibility.d.ts +6 -0
  294. package/dist/lib/machine-visibility.d.ts.map +1 -0
  295. package/dist/lib/matryoshka.d.ts +50 -0
  296. package/dist/lib/matryoshka.d.ts.map +1 -0
  297. package/dist/lib/memory-lock.d.ts +58 -0
  298. package/dist/lib/memory-lock.d.ts.map +1 -0
  299. package/dist/lib/model-config.d.ts +14 -0
  300. package/dist/lib/model-config.d.ts.map +1 -0
  301. package/dist/lib/open-sessions-connector.d.ts +60 -0
  302. package/dist/lib/open-sessions-connector.d.ts.map +1 -0
  303. package/dist/lib/package-version.d.ts +3 -0
  304. package/dist/lib/package-version.d.ts.map +1 -0
  305. package/dist/lib/poisoning.d.ts +19 -0
  306. package/dist/lib/poisoning.d.ts.map +1 -0
  307. package/dist/lib/poll.d.ts +17 -0
  308. package/dist/lib/poll.d.ts.map +1 -0
  309. package/dist/lib/procedural-extractor.d.ts +21 -0
  310. package/dist/lib/procedural-extractor.d.ts.map +1 -0
  311. package/dist/lib/profile-sync.d.ts +20 -0
  312. package/dist/lib/profile-sync.d.ts.map +1 -0
  313. package/dist/lib/profile-synthesizer.d.ts +20 -0
  314. package/dist/lib/profile-synthesizer.d.ts.map +1 -0
  315. package/dist/lib/project-detect.d.ts +18 -0
  316. package/dist/lib/project-detect.d.ts.map +1 -0
  317. package/dist/lib/project-panel.d.ts +7 -0
  318. package/dist/lib/project-panel.d.ts.map +1 -0
  319. package/dist/lib/providers/anthropic.d.ts +21 -0
  320. package/dist/lib/providers/anthropic.d.ts.map +1 -0
  321. package/dist/lib/providers/base.d.ts +96 -0
  322. package/dist/lib/providers/base.d.ts.map +1 -0
  323. package/dist/lib/providers/cerebras.d.ts +20 -0
  324. package/dist/lib/providers/cerebras.d.ts.map +1 -0
  325. package/dist/lib/providers/grok.d.ts +19 -0
  326. package/dist/lib/providers/grok.d.ts.map +1 -0
  327. package/dist/lib/providers/index.d.ts +7 -0
  328. package/dist/lib/providers/index.d.ts.map +1 -0
  329. package/dist/lib/providers/openai-compat.d.ts +18 -0
  330. package/dist/lib/providers/openai-compat.d.ts.map +1 -0
  331. package/dist/lib/providers/openai.d.ts +20 -0
  332. package/dist/lib/providers/openai.d.ts.map +1 -0
  333. package/dist/lib/providers/registry.d.ts +38 -0
  334. package/dist/lib/providers/registry.d.ts.map +1 -0
  335. package/dist/lib/quality.d.ts +16 -0
  336. package/dist/lib/quality.d.ts.map +1 -0
  337. package/dist/lib/redact.d.ts +26 -0
  338. package/dist/lib/redact.d.ts.map +1 -0
  339. package/dist/lib/reflection.d.ts +83 -0
  340. package/dist/lib/reflection.d.ts.map +1 -0
  341. package/dist/lib/retention.d.ts +17 -0
  342. package/dist/lib/retention.d.ts.map +1 -0
  343. package/dist/lib/retired-storage-mode.d.ts +11 -0
  344. package/dist/lib/retired-storage-mode.d.ts.map +1 -0
  345. package/dist/lib/search.d.ts +52 -0
  346. package/dist/lib/search.d.ts.map +1 -0
  347. package/dist/lib/session-auto-resolve.d.ts +28 -0
  348. package/dist/lib/session-auto-resolve.d.ts.map +1 -0
  349. package/dist/lib/session-processor.d.ts +38 -0
  350. package/dist/lib/session-processor.d.ts.map +1 -0
  351. package/dist/lib/session-queue.d.ts +28 -0
  352. package/dist/lib/session-queue.d.ts.map +1 -0
  353. package/dist/lib/session-registry.d.ts +47 -0
  354. package/dist/lib/session-registry.d.ts.map +1 -0
  355. package/dist/lib/session-start-briefing.d.ts +10 -0
  356. package/dist/lib/session-start-briefing.d.ts.map +1 -0
  357. package/dist/lib/session-watcher.d.ts +30 -0
  358. package/dist/lib/session-watcher.d.ts.map +1 -0
  359. package/dist/lib/storage-sync.d.ts +45 -0
  360. package/dist/lib/storage-sync.d.ts.map +1 -0
  361. package/dist/lib/sync.d.ts +10 -0
  362. package/dist/lib/sync.d.ts.map +1 -0
  363. package/dist/lib/synthesis/corpus-builder.d.ts +30 -0
  364. package/dist/lib/synthesis/corpus-builder.d.ts.map +1 -0
  365. package/dist/lib/synthesis/executor.d.ts +14 -0
  366. package/dist/lib/synthesis/executor.d.ts.map +1 -0
  367. package/dist/lib/synthesis/index.d.ts +37 -0
  368. package/dist/lib/synthesis/index.d.ts.map +1 -0
  369. package/dist/lib/synthesis/llm-analyzer.d.ts +18 -0
  370. package/dist/lib/synthesis/llm-analyzer.d.ts.map +1 -0
  371. package/dist/lib/synthesis/metrics.d.ts +13 -0
  372. package/dist/lib/synthesis/metrics.d.ts.map +1 -0
  373. package/dist/lib/synthesis/scheduler.d.ts +18 -0
  374. package/dist/lib/synthesis/scheduler.d.ts.map +1 -0
  375. package/dist/lib/synthesis/validator.d.ts +19 -0
  376. package/dist/lib/synthesis/validator.d.ts.map +1 -0
  377. package/dist/lib/task-runner.d.ts +37 -0
  378. package/dist/lib/task-runner.d.ts.map +1 -0
  379. package/dist/lib/tool-lesson-extractor.d.ts +24 -0
  380. package/dist/lib/tool-lesson-extractor.d.ts.map +1 -0
  381. package/dist/lib/tool-memory-synthesizer.d.ts +28 -0
  382. package/dist/lib/tool-memory-synthesizer.d.ts.map +1 -0
  383. package/dist/lib/topic-clusterer.d.ts +21 -0
  384. package/dist/lib/topic-clusterer.d.ts.map +1 -0
  385. package/dist/lib/when-to-use-generator.d.ts +22 -0
  386. package/dist/lib/when-to-use-generator.d.ts.map +1 -0
  387. package/dist/mcp/http.d.ts +17 -0
  388. package/dist/mcp/http.d.ts.map +1 -0
  389. package/dist/mcp/index.d.ts +6 -0
  390. package/dist/mcp/index.d.ts.map +1 -0
  391. package/dist/mcp/index.js +167 -10
  392. package/dist/mcp/memory-broadcast.d.ts +12 -0
  393. package/dist/mcp/memory-broadcast.d.ts.map +1 -0
  394. package/dist/mcp/tools/agent-tools.d.ts +3 -0
  395. package/dist/mcp/tools/agent-tools.d.ts.map +1 -0
  396. package/dist/mcp/tools/auto-memory-tools.d.ts +5 -0
  397. package/dist/mcp/tools/auto-memory-tools.d.ts.map +1 -0
  398. package/dist/mcp/tools/bulk-tools.d.ts +3 -0
  399. package/dist/mcp/tools/bulk-tools.d.ts.map +1 -0
  400. package/dist/mcp/tools/consolidation-tools.d.ts +3 -0
  401. package/dist/mcp/tools/consolidation-tools.d.ts.map +1 -0
  402. package/dist/mcp/tools/focus-tools.d.ts +3 -0
  403. package/dist/mcp/tools/focus-tools.d.ts.map +1 -0
  404. package/dist/mcp/tools/graph-entity-tools.d.ts +3 -0
  405. package/dist/mcp/tools/graph-entity-tools.d.ts.map +1 -0
  406. package/dist/mcp/tools/graph-query-tools.d.ts +3 -0
  407. package/dist/mcp/tools/graph-query-tools.d.ts.map +1 -0
  408. package/dist/mcp/tools/graph-relation-tools.d.ts +3 -0
  409. package/dist/mcp/tools/graph-relation-tools.d.ts.map +1 -0
  410. package/dist/mcp/tools/graph-tools.d.ts +3 -0
  411. package/dist/mcp/tools/graph-tools.d.ts.map +1 -0
  412. package/dist/mcp/tools/graph-utils.d.ts +5 -0
  413. package/dist/mcp/tools/graph-utils.d.ts.map +1 -0
  414. package/dist/mcp/tools/hook-tools.d.ts +3 -0
  415. package/dist/mcp/tools/hook-tools.d.ts.map +1 -0
  416. package/dist/mcp/tools/lock-tools.d.ts +3 -0
  417. package/dist/mcp/tools/lock-tools.d.ts.map +1 -0
  418. package/dist/mcp/tools/memory-audit.d.ts +3 -0
  419. package/dist/mcp/tools/memory-audit.d.ts.map +1 -0
  420. package/dist/mcp/tools/memory-crud.d.ts +3 -0
  421. package/dist/mcp/tools/memory-crud.d.ts.map +1 -0
  422. package/dist/mcp/tools/memory-health.d.ts +3 -0
  423. package/dist/mcp/tools/memory-health.d.ts.map +1 -0
  424. package/dist/mcp/tools/memory-history.d.ts +3 -0
  425. package/dist/mcp/tools/memory-history.d.ts.map +1 -0
  426. package/dist/mcp/tools/memory-inject.d.ts +3 -0
  427. package/dist/mcp/tools/memory-inject.d.ts.map +1 -0
  428. package/dist/mcp/tools/memory-io.d.ts +3 -0
  429. package/dist/mcp/tools/memory-io.d.ts.map +1 -0
  430. package/dist/mcp/tools/memory-lifecycle.d.ts +3 -0
  431. package/dist/mcp/tools/memory-lifecycle.d.ts.map +1 -0
  432. package/dist/mcp/tools/memory-search.d.ts +3 -0
  433. package/dist/mcp/tools/memory-search.d.ts.map +1 -0
  434. package/dist/mcp/tools/memory-stats.d.ts +3 -0
  435. package/dist/mcp/tools/memory-stats.d.ts.map +1 -0
  436. package/dist/mcp/tools/memory-tools.d.ts +17 -0
  437. package/dist/mcp/tools/memory-tools.d.ts.map +1 -0
  438. package/dist/mcp/tools/memory-utils.d.ts +27 -0
  439. package/dist/mcp/tools/memory-utils.d.ts.map +1 -0
  440. package/dist/mcp/tools/memory-validation.d.ts +3 -0
  441. package/dist/mcp/tools/memory-validation.d.ts.map +1 -0
  442. package/dist/mcp/tools/project-tools.d.ts +3 -0
  443. package/dist/mcp/tools/project-tools.d.ts.map +1 -0
  444. package/dist/mcp/tools/session-tools.d.ts +3 -0
  445. package/dist/mcp/tools/session-tools.d.ts.map +1 -0
  446. package/dist/mcp/tools/storage-tools.d.ts +3 -0
  447. package/dist/mcp/tools/storage-tools.d.ts.map +1 -0
  448. package/dist/mcp/tools/synthesis-tools.d.ts +3 -0
  449. package/dist/mcp/tools/synthesis-tools.d.ts.map +1 -0
  450. package/dist/mcp/tools/system-tools-events.d.ts +3 -0
  451. package/dist/mcp/tools/system-tools-events.d.ts.map +1 -0
  452. package/dist/mcp/tools/system-tools-memory-admin.d.ts +3 -0
  453. package/dist/mcp/tools/system-tools-memory-admin.d.ts.map +1 -0
  454. package/dist/mcp/tools/system-tools-shared.d.ts +23 -0
  455. package/dist/mcp/tools/system-tools-shared.d.ts.map +1 -0
  456. package/dist/mcp/tools/system-tools.d.ts +3 -0
  457. package/dist/mcp/tools/system-tools.d.ts.map +1 -0
  458. package/dist/mcp/tools/tool-registry.d.ts +30 -0
  459. package/dist/mcp/tools/tool-registry.d.ts.map +1 -0
  460. package/dist/mcp/tools/utility-tools.d.ts +3 -0
  461. package/dist/mcp/tools/utility-tools.d.ts.map +1 -0
  462. package/dist/memory-project-link/index.d.ts +2 -0
  463. package/dist/memory-project-link/index.d.ts.map +1 -0
  464. package/dist/memory-project-link/schema.d.ts +5 -0
  465. package/dist/memory-project-link/schema.d.ts.map +1 -0
  466. package/dist/pg-sync-worker.d.ts +2 -0
  467. package/dist/pg-sync-worker.d.ts.map +1 -0
  468. package/dist/project-registration/authority.d.ts +43 -0
  469. package/dist/project-registration/authority.d.ts.map +1 -0
  470. package/dist/project-registration/historical-receipt.d.ts +38 -0
  471. package/dist/project-registration/historical-receipt.d.ts.map +1 -0
  472. package/dist/project-registration/http.d.ts +32 -0
  473. package/dist/project-registration/http.d.ts.map +1 -0
  474. package/dist/project-registration/identity.d.ts +20 -0
  475. package/dist/project-registration/identity.d.ts.map +1 -0
  476. package/dist/project-registration/index.d.ts +11 -0
  477. package/dist/project-registration/index.d.ts.map +1 -0
  478. package/dist/project-registration/project-references.d.ts +71 -0
  479. package/dist/project-registration/project-references.d.ts.map +1 -0
  480. package/dist/project-registration/project-resources.d.ts +22 -0
  481. package/dist/project-registration/project-resources.d.ts.map +1 -0
  482. package/dist/project-registration/schema.d.ts +5 -0
  483. package/dist/project-registration/schema.d.ts.map +1 -0
  484. package/dist/project-registration/types.d.ts +319 -0
  485. package/dist/project-registration/types.d.ts.map +1 -0
  486. package/dist/project-registration.d.ts +2 -0
  487. package/dist/project-registration.d.ts.map +1 -0
  488. package/dist/sdk/index.d.ts +987 -0
  489. package/dist/sdk/index.d.ts.map +1 -0
  490. package/dist/server/auth.d.ts +11 -0
  491. package/dist/server/auth.d.ts.map +1 -0
  492. package/dist/server/helpers.d.ts +22 -0
  493. package/dist/server/helpers.d.ts.map +1 -0
  494. package/dist/server/index.d.ts +14 -0
  495. package/dist/server/index.d.ts.map +1 -0
  496. package/dist/server/index.js +179 -19
  497. package/dist/server/openapi.d.ts +2 -0
  498. package/dist/server/openapi.d.ts.map +1 -0
  499. package/dist/server/router.d.ts +17 -0
  500. package/dist/server/router.d.ts.map +1 -0
  501. package/dist/server/routes/agents.d.ts +2 -0
  502. package/dist/server/routes/agents.d.ts.map +1 -0
  503. package/dist/server/routes/entities.d.ts +2 -0
  504. package/dist/server/routes/entities.d.ts.map +1 -0
  505. package/dist/server/routes/memories-bulk.d.ts +2 -0
  506. package/dist/server/routes/memories-bulk.d.ts.map +1 -0
  507. package/dist/server/routes/memories-crud.d.ts +2 -0
  508. package/dist/server/routes/memories-crud.d.ts.map +1 -0
  509. package/dist/server/routes/memories-io.d.ts +2 -0
  510. package/dist/server/routes/memories-io.d.ts.map +1 -0
  511. package/dist/server/routes/memories-misc.d.ts +2 -0
  512. package/dist/server/routes/memories-misc.d.ts.map +1 -0
  513. package/dist/server/routes/memories-search.d.ts +2 -0
  514. package/dist/server/routes/memories-search.d.ts.map +1 -0
  515. package/dist/server/routes/memories-stats.d.ts +2 -0
  516. package/dist/server/routes/memories-stats.d.ts.map +1 -0
  517. package/dist/server/routes/memories.d.ts +19 -0
  518. package/dist/server/routes/memories.d.ts.map +1 -0
  519. package/dist/server/routes/memory-project-link.d.ts +2 -0
  520. package/dist/server/routes/memory-project-link.d.ts.map +1 -0
  521. package/dist/server/routes/project-registration.d.ts +2 -0
  522. package/dist/server/routes/project-registration.d.ts.map +1 -0
  523. package/dist/server/routes/projects.d.ts +2 -0
  524. package/dist/server/routes/projects.d.ts.map +1 -0
  525. package/dist/server/routes/system-auto-memory.d.ts +2 -0
  526. package/dist/server/routes/system-auto-memory.d.ts.map +1 -0
  527. package/dist/server/routes/system-chain.d.ts +2 -0
  528. package/dist/server/routes/system-chain.d.ts.map +1 -0
  529. package/dist/server/routes/system-consolidation.d.ts +2 -0
  530. package/dist/server/routes/system-consolidation.d.ts.map +1 -0
  531. package/dist/server/routes/system-hooks.d.ts +2 -0
  532. package/dist/server/routes/system-hooks.d.ts.map +1 -0
  533. package/dist/server/routes/system-sessions.d.ts +2 -0
  534. package/dist/server/routes/system-sessions.d.ts.map +1 -0
  535. package/dist/server/routes/system-subscriptions.d.ts +2 -0
  536. package/dist/server/routes/system-subscriptions.d.ts.map +1 -0
  537. package/dist/server/routes/system-synthesis.d.ts +2 -0
  538. package/dist/server/routes/system-synthesis.d.ts.map +1 -0
  539. package/dist/server/routes/system-tools.d.ts +2 -0
  540. package/dist/server/routes/system-tools.d.ts.map +1 -0
  541. package/dist/server/routes/system.d.ts +2 -0
  542. package/dist/server/routes/system.d.ts.map +1 -0
  543. package/dist/server/routes/tasks.d.ts +2 -0
  544. package/dist/server/routes/tasks.d.ts.map +1 -0
  545. package/dist/storage.d.ts +280 -0
  546. package/dist/storage.d.ts.map +1 -0
  547. package/dist/test-support/memories-page-stub-server.d.ts +2 -0
  548. package/dist/test-support/memories-page-stub-server.d.ts.map +1 -0
  549. package/dist/test-support/memories-page-stub.d.ts +28 -0
  550. package/dist/test-support/memories-page-stub.d.ts.map +1 -0
  551. package/dist/test-support/pg-sync-stub-worker.d.ts +2 -0
  552. package/dist/test-support/pg-sync-stub-worker.d.ts.map +1 -0
  553. package/dist/test-support/preload-local-store.d.ts +2 -0
  554. package/dist/test-support/preload-local-store.d.ts.map +1 -0
  555. package/dist/test-support/project-authority-identity.d.ts +8 -0
  556. package/dist/test-support/project-authority-identity.d.ts.map +1 -0
  557. package/dist/test-support/store-isolation.d.ts +108 -0
  558. package/dist/test-support/store-isolation.d.ts.map +1 -0
  559. package/dist/test-support/strip-ansi.d.ts +3 -0
  560. package/dist/test-support/strip-ansi.d.ts.map +1 -0
  561. package/dist/types/hooks.d.ts +136 -0
  562. package/dist/types/hooks.d.ts.map +1 -0
  563. package/dist/types/index.d.ts +482 -0
  564. package/dist/types/index.d.ts.map +1 -0
  565. package/package.json +2 -2
@@ -0,0 +1,280 @@
1
+ import { Database } from "bun:sqlite";
2
+ import type { Pool, PoolClient } from "pg";
3
+ import { type ServerDataBackend } from "./generated/storage-kit/backend.js";
4
+ /** Called once by the mementos-serve entrypoint; enables the server-only DSN path. */
5
+ export declare function markServerContext(): void;
6
+ export declare function resetServerContextForTests(): void;
7
+ /** True only inside the `mementos-serve` server process. */
8
+ export declare function isServerContext(): boolean;
9
+ export interface RunResult {
10
+ changes: number;
11
+ lastInsertRowid: number | bigint;
12
+ }
13
+ export interface PreparedStatement {
14
+ run(...params: any[]): RunResult;
15
+ get(...params: any[]): any;
16
+ all(...params: any[]): any[];
17
+ finalize(): void;
18
+ }
19
+ export interface DbAdapter {
20
+ run(sql: string, ...params: any[]): RunResult;
21
+ get(sql: string, ...params: any[]): any;
22
+ all(sql: string, ...params: any[]): any[];
23
+ exec(sql: string): void;
24
+ prepare(sql: string): PreparedStatement;
25
+ close(): void;
26
+ transaction<T>(fn: () => T): T;
27
+ }
28
+ export declare class SqliteAdapter implements DbAdapter {
29
+ private readonly db;
30
+ constructor(path: string);
31
+ run(sql: string, ...params: any[]): RunResult;
32
+ get(sql: string, ...params: any[]): any;
33
+ all(sql: string, ...params: any[]): any[];
34
+ exec(sql: string): void;
35
+ query(sql: string): import("bun:sqlite").Statement<unknown, import("bun:sqlite").SQLQueryBindings[] | [null] | [string] | [number] | [bigint] | [false] | [true] | [Uint8Array<ArrayBufferLike>] | [Uint8ClampedArray<ArrayBufferLike>] | [Uint16Array<ArrayBufferLike>] | [Uint32Array<ArrayBufferLike>] | [Int8Array<ArrayBufferLike>] | [Int16Array<ArrayBufferLike>] | [Int32Array<ArrayBufferLike>] | [BigUint64Array<ArrayBufferLike>] | [BigInt64Array<ArrayBufferLike>] | [Float16Array<ArrayBufferLike>] | [Float32Array<ArrayBufferLike>] | [Float64Array<ArrayBufferLike>] | [Record<string, string | number | bigint | boolean | NodeJS.TypedArray<ArrayBufferLike> | null>]>;
36
+ prepare(sql: string): PreparedStatement;
37
+ close(): void;
38
+ transaction<T>(fn: () => T): T;
39
+ get raw(): Database;
40
+ }
41
+ export declare function translateSql(sql: string): string;
42
+ export declare function shouldUsePgSsl(connectionString: string): boolean;
43
+ /** Build a pg Pool with adapter-controlled SSL from a connection string. */
44
+ export declare function makePool(connectionString: string): Pool;
45
+ interface SyncQueryResult {
46
+ rows: any[];
47
+ rowCount: number;
48
+ }
49
+ /**
50
+ * Synchronous Postgres access backed by a worker thread (see
51
+ * `pg-sync-worker.ts`). The worker owns one long-lived `pg.Client` and runs
52
+ * queries on its own event loop; the main thread blocks on `Atomics.wait`
53
+ * against a SharedArrayBuffer until the worker writes the response. This is the
54
+ * only way to expose a truly synchronous API (which the entire mementos data
55
+ * layer requires) over async pg I/O without deadlocking the main event loop.
56
+ *
57
+ * Every query carries a monotonic generation that the worker echoes back in
58
+ * the status word when the response is ready. When a query times out it is
59
+ * ABANDONED, not cancelled — the worker still finishes it and writes its
60
+ * response later — and the generation is what lets the caller tell that late
61
+ * response apart from the response to the query currently waiting, so a stale
62
+ * payload can never be consumed by a newer query (todos 027d17e9).
63
+ */
64
+ export declare class PgSyncPool {
65
+ private readonly worker;
66
+ private readonly status;
67
+ private readonly data;
68
+ private closed;
69
+ private lastError;
70
+ private generation;
71
+ private static readonly DATA_BYTES;
72
+ /**
73
+ * Per-query timeout in milliseconds, overridable via
74
+ * `MEMENTOS_PGSYNC_QUERY_TIMEOUT_MS` (default 60_000). Read on every query()
75
+ * call so tests can shrink it without import-order games — the regression
76
+ * test in `pg-sync-race.test.ts` relies on this being a live read.
77
+ */
78
+ private static queryTimeoutMs;
79
+ /**
80
+ * Resolve the worker entry file. `storage` is bundled into several entry
81
+ * points at different depths (dist/cli, dist/mcp, dist/server) as well as run
82
+ * directly from source, so probe candidate locations relative to this module.
83
+ */
84
+ private static resolveWorkerPath;
85
+ constructor(connectionString: string, workerPath?: string);
86
+ query(sql: string, params: any[]): SyncQueryResult;
87
+ end(): void;
88
+ }
89
+ export declare class PgAdapter implements DbAdapter {
90
+ private readonly pool;
91
+ constructor(connectionString: string);
92
+ constructor(pool: PgSyncPool);
93
+ run(sql: string, ...params: any[]): RunResult;
94
+ get(sql: string, ...params: any[]): any;
95
+ all(sql: string, ...params: any[]): any[];
96
+ exec(sql: string): void;
97
+ prepare(sql: string): PreparedStatement;
98
+ /**
99
+ * Bun-sqlite-style `query()` shim so the CLI/MCP/server call sites that do
100
+ * `db.query(sql).get(...)` / `.all(...)` / `.run(...)` work unchanged against
101
+ * Postgres in the postgresql backend. Behaves like {@link prepare}.
102
+ */
103
+ query(sql: string): PreparedStatement;
104
+ close(): void;
105
+ transaction<T>(fn: () => T): T;
106
+ get raw(): PgSyncPool;
107
+ }
108
+ export declare class PgAdapterAsync {
109
+ private readonly pool;
110
+ constructor(connectionString: string);
111
+ constructor(pool: Pool);
112
+ run(sql: string, ...params: any[]): Promise<RunResult>;
113
+ get(sql: string, ...params: any[]): Promise<any>;
114
+ all(sql: string, ...params: any[]): Promise<any[]>;
115
+ exec(sql: string): Promise<void>;
116
+ close(): Promise<void>;
117
+ transaction<T>(fn: (client: PoolClient) => Promise<T>): Promise<T>;
118
+ get raw(): Pool;
119
+ }
120
+ export declare const MEMENTOS_STORAGE_TABLES: readonly ["projects", "agents", "machines", "sessions", "entities", "memories", "relations", "entity_memories", "memory_tags", "memory_versions", "memory_embeddings", "tool_events", "resource_locks", "memory_ratings"];
121
+ export declare const STORAGE_TABLES: readonly ["projects", "agents", "machines", "sessions", "entities", "memories", "relations", "entity_memories", "memory_tags", "memory_versions", "memory_embeddings", "tool_events", "resource_locks", "memory_ratings"];
122
+ export type MementosStorageTable = (typeof MEMENTOS_STORAGE_TABLES)[number];
123
+ export declare const MEMENTOS_STORAGE_ENV: {
124
+ readonly databaseUrl: "HASNA_MEMENTOS_DATABASE_URL";
125
+ };
126
+ export declare const MEMENTOS_STORAGE_FALLBACK_ENV: {
127
+ readonly databaseUrl: "MEMENTOS_DATABASE_URL";
128
+ };
129
+ export interface StorageConfig {
130
+ rds: {
131
+ host: string;
132
+ port: number;
133
+ username: string;
134
+ password_env: string;
135
+ ssl: boolean;
136
+ };
137
+ auto_sync_interval_minutes: number;
138
+ feedback_endpoint: string;
139
+ sync: {
140
+ schedule_minutes: number;
141
+ };
142
+ }
143
+ export interface StorageEnv {
144
+ name: string;
145
+ deprecated: boolean;
146
+ }
147
+ export interface StorageEnvStatus {
148
+ name: string;
149
+ active_name: string;
150
+ configured: boolean;
151
+ }
152
+ /** The server data backend, from the shared storage kit: `sqlite | postgresql`. */
153
+ export type StorageRuntimeKind = ServerDataBackend;
154
+ export interface StorageRuntimeContract {
155
+ contract: "mementos-storage-runtime-v1";
156
+ kind: StorageRuntimeKind;
157
+ fail_closed: boolean;
158
+ local: {
159
+ adapter: "sqlite";
160
+ primary_runtime: boolean;
161
+ data_dir: string;
162
+ config_path: string;
163
+ local_file_sync: {
164
+ supported: false;
165
+ reason: string;
166
+ };
167
+ };
168
+ backend: {
169
+ adapter: "sqlite" | "postgres";
170
+ requested: boolean;
171
+ configured: boolean;
172
+ source: "env" | "config-file" | "none";
173
+ env_name: string | null;
174
+ redacted_url: string | null;
175
+ rds_compatible: boolean;
176
+ fail_closed: boolean;
177
+ missing: string[];
178
+ };
179
+ migrations: {
180
+ target: "postgres-rds-compatible";
181
+ command: "mementos storage migrate";
182
+ dry_run_command: "mementos storage migrate --dry-run";
183
+ configured: boolean;
184
+ mutates_remote_on_apply: true;
185
+ requires_approval_for_live_run: true;
186
+ };
187
+ }
188
+ export interface SafeStorageConfigSummary {
189
+ auto_sync_interval_minutes: number;
190
+ feedback_endpoint_configured: boolean;
191
+ sync: StorageConfig["sync"];
192
+ rds: {
193
+ host_configured: boolean;
194
+ port: number;
195
+ username_configured: boolean;
196
+ password_env: string;
197
+ password_configured: boolean;
198
+ ssl: boolean;
199
+ };
200
+ }
201
+ export interface NativeStorageStatus {
202
+ ok: boolean;
203
+ service: "mementos";
204
+ backend: StorageRuntimeKind;
205
+ local_default: boolean;
206
+ runtime: StorageRuntimeContract;
207
+ database: {
208
+ configured: boolean;
209
+ redacted_url: string | null;
210
+ source: "env" | "config-file" | "none";
211
+ env_name: string | null;
212
+ rds_compatible: boolean;
213
+ };
214
+ tables: readonly MementosStorageTable[];
215
+ env: {
216
+ databaseUrl: StorageEnvStatus;
217
+ };
218
+ issues: string[];
219
+ warnings: string[];
220
+ no_network: true;
221
+ }
222
+ export declare function getConfigDir(): string;
223
+ export declare function getConfigPath(): string;
224
+ export declare function getStorageDatabaseEnv(): StorageEnv | null;
225
+ export declare function getStorageDatabaseUrl(): string | null;
226
+ export declare function getStorageDatabaseEnvName(): string;
227
+ /**
228
+ * The server data backend selected by the environment: `postgresql` when
229
+ * HASNA_MEMENTOS_DATABASE_URL is set, `sqlite` otherwise. Runs the fail-loud
230
+ * ratchet first, so a retired storage-mode variable throws here rather than
231
+ * being silently ignored. Delegated to the vendored storage kit so the key
232
+ * spec and the ratchet cannot drift from the shared contract.
233
+ */
234
+ export declare function getStorageBackend(env?: NodeJS.ProcessEnv): ServerDataBackend;
235
+ /** The database URL for the selected server backend, or `null` when sqlite. */
236
+ export declare function getStorageBackendDatabaseUrl(env?: NodeJS.ProcessEnv): string | null;
237
+ export declare function getStorageConfig(): StorageConfig;
238
+ export declare function redactDatabaseUrl(value: string | null): string | null;
239
+ export interface PostgresConnectionStringValidation {
240
+ ok: boolean;
241
+ redacted_url: string | null;
242
+ issues: string[];
243
+ }
244
+ export declare function validatePostgresConnectionString(value: string | null): PostgresConnectionStringValidation;
245
+ export declare function getSafeStorageConfigSummary(config?: StorageConfig): SafeStorageConfigSummary;
246
+ export declare function getStorageStatus(): NativeStorageStatus;
247
+ export declare const getMementosStorageStatus: typeof getStorageStatus;
248
+ export declare function saveStorageConfig(config: StorageConfig): void;
249
+ export declare function getStorageConnectionString(dbName?: string): string;
250
+ export declare const SYNC_EXCLUDED_TABLE_PATTERNS: RegExp[];
251
+ export declare function isSyncExcludedTable(table: string): boolean;
252
+ export declare function listSqliteTables(db: DbAdapter): string[];
253
+ export interface IncrementalSyncStats {
254
+ table: string;
255
+ total_rows: number;
256
+ synced_rows: number;
257
+ skipped_rows: number;
258
+ errors: string[];
259
+ first_sync: boolean;
260
+ }
261
+ export interface SyncMeta {
262
+ table_name: string;
263
+ last_synced_at: string;
264
+ last_synced_row_count: number;
265
+ direction: "push" | "pull";
266
+ }
267
+ export interface IncrementalSyncOptions {
268
+ primaryKey?: string;
269
+ conflictColumn?: string;
270
+ batchSize?: number;
271
+ }
272
+ export declare function ensureSyncMetaTable(db: DbAdapter): void;
273
+ export declare function incrementalSyncPush(local: DbAdapter, remote: DbAdapter, tables: string[], options?: IncrementalSyncOptions): IncrementalSyncStats[];
274
+ export declare function incrementalSyncPull(remote: DbAdapter, local: DbAdapter, tables: string[], options?: IncrementalSyncOptions): IncrementalSyncStats[];
275
+ export declare function getSyncMetaAll(db: DbAdapter): SyncMeta[];
276
+ export declare function getSyncMetaForTable(db: DbAdapter, table: string): SyncMeta | null;
277
+ export declare function resetSyncMeta(db: DbAdapter, table: string): void;
278
+ export declare function resetAllSyncMeta(db: DbAdapter): void;
279
+ export {};
280
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=memories-page-stub-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memories-page-stub-server.d.ts","sourceRoot":"","sources":["../../src/test-support/memories-page-stub-server.ts"],"names":[],"mappings":"AA8CA,OAAO,EAAE,CAAC"}
@@ -0,0 +1,28 @@
1
+ export interface MemoriesPageStub {
2
+ server: ReturnType<typeof Bun.serve>;
3
+ baseUrl: string;
4
+ stop(): void;
5
+ }
6
+ /** Start a stub GET /v1/memories serving `rowCount` rows on capped pages. */
7
+ export declare function startMemoriesPageStub(rowCount: number): MemoriesPageStub;
8
+ /**
9
+ * A process env for API mode pointed at a loopback stub. All store selectors
10
+ * are stripped first (the ambient environment on fleet machines carries the
11
+ * production API selectors), then the stub URL + a dummy key are set.
12
+ */
13
+ export declare function apiModeTestEnv(baseUrl: string): Record<string, string>;
14
+ export interface MemoriesPageStubProcess {
15
+ port: number;
16
+ baseUrl: string;
17
+ stop(): void;
18
+ }
19
+ /**
20
+ * Start the stub as a SEPARATE process. Required whenever the caller under
21
+ * test runs in the same process that would host the stub: the CLI's cloud
22
+ * reads are SYNCHRONOUS curl children (Bun.spawnSync), which deadlock against
23
+ * an in-process server whose event loop the spawn blocks.
24
+ */
25
+ export declare function startMemoriesPageStubProcess(rowCount: number): MemoriesPageStubProcess;
26
+ /** Poll the stub until it serves a page, or throw after ~5s. */
27
+ export declare function waitForMemoriesPageStub(baseUrl: string): Promise<void>;
28
+ //# sourceMappingURL=memories-page-stub.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memories-page-stub.d.ts","sourceRoot":"","sources":["../../src/test-support/memories-page-stub.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,UAAU,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,IAAI,IAAI,CAAC;CACd;AAED,6EAA6E;AAC7E,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAqCxE;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CActE;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,IAAI,IAAI,CAAC;CACd;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,MAAM,GACf,uBAAuB,CAuBzB;AAED,gEAAgE;AAChE,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAW5E"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pg-sync-stub-worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pg-sync-stub-worker.d.ts","sourceRoot":"","sources":["../../src/test-support/pg-sync-stub-worker.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=preload-local-store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preload-local-store.d.ts","sourceRoot":"","sources":["../../src/test-support/preload-local-store.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ export declare const TEST_MEMENTOS_PROJECT_AUTHORITY_IDENTITY: {
2
+ readonly authority_id: "mementos";
3
+ readonly tenant_id: "default";
4
+ readonly corpus_id: "default";
5
+ };
6
+ export declare function projectAuthorityTestEnv(): Record<string, string>;
7
+ export declare function configureProjectAuthorityTestIdentity(): void;
8
+ //# sourceMappingURL=project-authority-identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-authority-identity.d.ts","sourceRoot":"","sources":["../../src/test-support/project-authority-identity.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,wCAAwC;;;;CAI3C,CAAC;AAEX,wBAAgB,uBAAuB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAShE;AAED,wBAAgB,qCAAqC,IAAI,IAAI,CAE5D"}
@@ -0,0 +1,108 @@
1
+ import type { StoreBackendReport } from "../db/store-backend.js";
2
+ /**
3
+ * Every env var that can move the store off local SQLite, plus the store
4
+ * credential. Derived from the resolver's own exported key lists rather than
5
+ * retyped, so adding a selector in src/db/api-mode.ts or src/storage.ts
6
+ * automatically widens what the harnesses neutralize.
7
+ *
8
+ * The retired storage-mode keys stay in the set even though the ratchet turns
9
+ * them into errors: a harness child that inherits a stale variable from the
10
+ * operator shell must have it DELETED (a blank value would still throw), and
11
+ * the preload must keep the suite runnable on a machine that still exports one.
12
+ *
13
+ * `MEMENTOS_DATABASE_PASSWORD` is not a selector but is the store credential;
14
+ * removing it can only make the child more local, never less.
15
+ */
16
+ export declare const STORE_SELECTOR_ENV_KEYS: readonly string[];
17
+ /** The two env vars that point the CLI at a specific SQLite file. */
18
+ export declare const DB_PATH_ENV_KEYS: readonly ["MEMENTOS_DB_PATH", "HASNA_MEMENTOS_DB_PATH"];
19
+ export interface IsolatedStoreEnvOptions {
20
+ /**
21
+ * Extra vars to set in the child, applied last. Harnesses use this to blank
22
+ * LLM provider keys so no test can make a billed call. Kept opt-in because
23
+ * blanking them changes what commands like `doctor` report.
24
+ */
25
+ extra?: Record<string, string>;
26
+ }
27
+ /**
28
+ * Build a child-process env that is pinned to a local SQLite file at `dbPath`.
29
+ *
30
+ * Selectors are DELETED rather than set to `""` — the resolver treats empty as
31
+ * unset either way, but deleting leaves no ambiguity for a human reading the
32
+ * child's environment during a postmortem.
33
+ *
34
+ * Building the env is necessary but NOT sufficient: pair it with
35
+ * {@link assertLocalStoreBackend} before the suite performs any write.
36
+ */
37
+ export declare function isolatedStoreEnv(dbPath: string, options?: IsolatedStoreEnvOptions): Record<string, string>;
38
+ export interface StubApiEnvOptions {
39
+ /** Stub bearer token. Never a real credential — the stub does not check it. */
40
+ apiKey?: string;
41
+ }
42
+ /**
43
+ * Build a child env for a suite that *deliberately* runs in API mode against a
44
+ * local stub server.
45
+ *
46
+ * Such a suite still must not inherit the operator's production API URL or key:
47
+ * it overrides the URL, but if that override were ever empty or renamed, the
48
+ * ambient value would take over and the suite would drive the real store. So
49
+ * start from a fully de-selected env and add back only the stub's own values.
50
+ *
51
+ * @param baseUrl the stub's origin, e.g. `http://127.0.0.1:<port>/<mode>`
52
+ */
53
+ export declare function stubApiEnv(baseUrl: string, options?: StubApiEnvOptions): Record<string, string>;
54
+ /**
55
+ * Build a child env that DOES resolve to the cloud API — the negative case the
56
+ * isolation guards are proved against.
57
+ *
58
+ * This exists because of the 2026-08-03 precedence-1 fix. Before it, a cloud
59
+ * case could be built by taking any env and adding an API url+key, and several
60
+ * tests did exactly that on top of {@link isolatedStoreEnv}. An explicit
61
+ * `MEMENTOS_DB_PATH` now DEFEATS the API selectors (see getApiConfig in
62
+ * src/db/api-mode.ts), so that recipe silently produces a LOCAL backend — which
63
+ * would leave the isolation guards' positive controls unable to observe the bad
64
+ * state they exist to detect, and `assertLocalStoreBackend`'s own self-test
65
+ * unable to fail. Both would still be green.
66
+ *
67
+ * So the DB_PATH keys are removed here explicitly, and that removal is the
68
+ * load-bearing line rather than an afterthought: it is the only way to reach the
69
+ * cloud backend now. They are NOT in STORE_SELECTOR_ENV_KEYS because that set
70
+ * means "moves the store OFF local SQLite", and DB_PATH does the opposite.
71
+ *
72
+ * @param baseUrl point this at a closed loopback port, never a real endpoint
73
+ * @param apiKey never a real credential
74
+ */
75
+ export declare function cloudSelectingEnv(baseUrl: string, apiKey?: string): Record<string, string>;
76
+ /** LLM provider keys most harnesses blank so no test can make a billed call. */
77
+ export declare const LLM_PROVIDER_ENV_KEYS: readonly ["ANTHROPIC_API_KEY", "OPENAI_API_KEY", "CEREBRAS_API_KEY", "XAI_API_KEY"];
78
+ /** `{ ANTHROPIC_API_KEY: "", ... }` — pass as `extra` to blank LLM providers. */
79
+ export declare function blankLlmProviderEnv(): Record<string, string>;
80
+ /**
81
+ * Ask the child process which store it resolved, and THROW if it is not local.
82
+ *
83
+ * This is the guard that turns an unknown future selector into a red suite
84
+ * rather than a silent production write. It asks the CLI itself
85
+ * (`storage mode --json`) rather than recomputing the answer here, so the
86
+ * verdict comes from the same resolution code the writes will use — and it runs
87
+ * as a real child process with the real env, so an env var that fails to cross
88
+ * the process boundary is caught rather than assumed away.
89
+ *
90
+ * `storage mode` opens no database and makes no network request, so this is
91
+ * safe to call even when the ambient env points at production.
92
+ *
93
+ * @param cliPath path to src/cli/index.tsx
94
+ * @param env the env produced by {@link isolatedStoreEnv}
95
+ * @param expectedDbPath when given, also assert the child resolved this path
96
+ */
97
+ export declare function assertLocalStoreBackend(cliPath: string, env: Record<string, string>, expectedDbPath?: string): Promise<StoreBackendReport>;
98
+ /**
99
+ * Assert the scratch SQLite file now exists on disk.
100
+ *
101
+ * This is the second half of the proof and it is not redundant with
102
+ * {@link assertLocalStoreBackend}: the mode report says where the child INTENDS
103
+ * to write, whereas this says a write actually landed there. The reported
104
+ * incident's signature was precisely a correct-looking path with no file ever
105
+ * created, so call this AFTER the suite's first write.
106
+ */
107
+ export declare function assertScratchDbCreated(dbPath: string, context?: string): void;
108
+ //# sourceMappingURL=store-isolation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store-isolation.d.ts","sourceRoot":"","sources":["../../src/test-support/store-isolation.ts"],"names":[],"mappings":"AAmDA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAIjE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAUpD,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,gBAAgB,yDAA0D,CAAC;AAExF,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,uBAA4B,GACpC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAKxB;AASD,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;CAUjB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAQnG;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,MAAM,EACf,MAAM,SAAmB,GACxB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMxB;AAED,gFAAgF;AAChF,eAAO,MAAM,qBAAqB,qFAKxB,CAAC;AAEX,iFAAiF;AACjF,wBAAgB,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE5D;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,kBAAkB,CAAC,CAsD7B;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,SAA0B,GAAG,IAAI,CAQ9F"}
@@ -0,0 +1,3 @@
1
+ /** Remove ANSI/VT100 SGR escape sequences from CLI output before asserting on content. */
2
+ export declare function stripAnsi(input: string): string;
3
+ //# sourceMappingURL=strip-ansi.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strip-ansi.d.ts","sourceRoot":"","sources":["../../src/test-support/strip-ansi.ts"],"names":[],"mappings":"AAyBA,0FAA0F;AAC1F,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE/C"}
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Hook system types for mementos lifecycle events.
3
+ *
4
+ * Blocking hooks: handler returns false → operation is cancelled.
5
+ * Non-blocking hooks: fire-and-forget, never delay the caller.
6
+ */
7
+ import type { Memory, CreateMemoryInput, UpdateMemoryInput } from "./index.js";
8
+ export type HookType = "PreMemorySave" | "PostMemorySave" | "PreMemoryUpdate" | "PostMemoryUpdate" | "PreMemoryDelete" | "PostMemoryDelete" | "PreEntityCreate" | "PostEntityCreate" | "PreRelationCreate" | "PostRelationCreate" | "OnSessionStart" | "OnSessionEnd" | "PreMemoryInject" | "PostMemoryInject";
9
+ export interface BaseHookContext {
10
+ agentId?: string;
11
+ projectId?: string;
12
+ sessionId?: string;
13
+ timestamp: number;
14
+ }
15
+ export interface PreMemorySaveContext extends BaseHookContext {
16
+ input: CreateMemoryInput;
17
+ }
18
+ export interface PostMemorySaveContext extends BaseHookContext {
19
+ memory: Memory;
20
+ wasUpdated: boolean;
21
+ }
22
+ export interface PreMemoryUpdateContext extends BaseHookContext {
23
+ memoryId: string;
24
+ input: UpdateMemoryInput;
25
+ existing: Memory;
26
+ }
27
+ export interface PostMemoryUpdateContext extends BaseHookContext {
28
+ memory: Memory;
29
+ previousValue: string;
30
+ }
31
+ export interface PreMemoryDeleteContext extends BaseHookContext {
32
+ memoryId: string;
33
+ memory: Memory;
34
+ }
35
+ export interface PostMemoryDeleteContext extends BaseHookContext {
36
+ memoryId: string;
37
+ }
38
+ export interface PreEntityCreateContext extends BaseHookContext {
39
+ name: string;
40
+ entityType: string;
41
+ }
42
+ export interface PostEntityCreateContext extends BaseHookContext {
43
+ entityId: string;
44
+ name: string;
45
+ entityType: string;
46
+ }
47
+ export interface PreRelationCreateContext extends BaseHookContext {
48
+ sourceEntityId: string;
49
+ targetEntityId: string;
50
+ relationType: string;
51
+ }
52
+ export interface PostRelationCreateContext extends BaseHookContext {
53
+ relationId: string;
54
+ sourceEntityId: string;
55
+ targetEntityId: string;
56
+ relationType: string;
57
+ }
58
+ export interface OnSessionStartContext extends BaseHookContext {
59
+ agentId: string;
60
+ projectId?: string;
61
+ }
62
+ export interface OnSessionEndContext extends BaseHookContext {
63
+ agentId: string;
64
+ projectId?: string;
65
+ /** Optional session summary for memory extraction */
66
+ summary?: string;
67
+ }
68
+ export interface PreMemoryInjectContext extends BaseHookContext {
69
+ /** Memories about to be injected — hook can mutate this array */
70
+ memories: Memory[];
71
+ format: string;
72
+ }
73
+ export interface PostMemoryInjectContext extends BaseHookContext {
74
+ memoriesCount: number;
75
+ format: string;
76
+ contextLength: number;
77
+ }
78
+ /** Union of all hook contexts keyed by type */
79
+ export type HookContextMap = {
80
+ PreMemorySave: PreMemorySaveContext;
81
+ PostMemorySave: PostMemorySaveContext;
82
+ PreMemoryUpdate: PreMemoryUpdateContext;
83
+ PostMemoryUpdate: PostMemoryUpdateContext;
84
+ PreMemoryDelete: PreMemoryDeleteContext;
85
+ PostMemoryDelete: PostMemoryDeleteContext;
86
+ PreEntityCreate: PreEntityCreateContext;
87
+ PostEntityCreate: PostEntityCreateContext;
88
+ PreRelationCreate: PreRelationCreateContext;
89
+ PostRelationCreate: PostRelationCreateContext;
90
+ OnSessionStart: OnSessionStartContext;
91
+ OnSessionEnd: OnSessionEndContext;
92
+ PreMemoryInject: PreMemoryInjectContext;
93
+ PostMemoryInject: PostMemoryInjectContext;
94
+ };
95
+ /**
96
+ * Blocking hook: return false to cancel the operation.
97
+ * Non-blocking hook: return value is ignored.
98
+ */
99
+ export type HookHandler<T extends HookType = HookType> = (context: HookContextMap[T]) => Promise<boolean | void>;
100
+ export interface Hook<T extends HookType = HookType> {
101
+ id: string;
102
+ type: T;
103
+ handler: HookHandler<T>;
104
+ /** Lower number = runs first. Default: 50 */
105
+ priority: number;
106
+ /**
107
+ * If true: operation waits for handler result. Return false = cancel.
108
+ * If false: runs async in background, return value ignored.
109
+ */
110
+ blocking: boolean;
111
+ /** Scope: only fire for this agent (undefined = all agents) */
112
+ agentId?: string;
113
+ /** Scope: only fire for this project (undefined = all projects) */
114
+ projectId?: string;
115
+ /** Human-readable description */
116
+ description?: string;
117
+ /** Whether this is a built-in system hook (can't be unregistered) */
118
+ builtin?: boolean;
119
+ }
120
+ export type HookRegistration<T extends HookType = HookType> = Omit<Hook<T>, "id">;
121
+ export interface WebhookHook {
122
+ id: string;
123
+ type: HookType;
124
+ /** HTTP endpoint to POST the context to */
125
+ handlerUrl: string;
126
+ priority: number;
127
+ blocking: boolean;
128
+ agentId?: string;
129
+ projectId?: string;
130
+ description?: string;
131
+ enabled: boolean;
132
+ createdAt: string;
133
+ invocationCount: number;
134
+ failureCount: number;
135
+ }
136
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/types/hooks.ts"],"names":[],"mappings":"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"}