hippo-memory 1.70.0 → 1.72.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (855) hide show
  1. package/README.md +2 -2
  2. package/dist/agent-memories/apply.d.ts +0 -11
  3. package/dist/agent-memories/apply.js +6 -21
  4. package/dist/agent-memories/claude-code.d.ts +4 -2
  5. package/dist/agent-memories/claude-code.js +15 -6
  6. package/dist/agent-memories/codex.js +1 -1
  7. package/dist/agent-memories/copilot.d.ts +1 -3
  8. package/dist/agent-memories/copilot.js +1 -17
  9. package/dist/agent-memories/files.js +23 -12
  10. package/dist/agent-memories/markdown.d.ts +1 -3
  11. package/dist/agent-memories/markdown.js +1 -3
  12. package/dist/agent-memories/project-folds.d.ts +10 -0
  13. package/dist/agent-memories/project-folds.js +34 -0
  14. package/dist/agent-memories/report.js +2 -1
  15. package/dist/agent-memories/sync.d.ts +4 -2
  16. package/dist/agent-memories/sync.js +18 -11
  17. package/dist/api/assemble.d.ts +7 -44
  18. package/dist/api/assemble.js +3 -23
  19. package/dist/api/audit.d.ts +33 -1
  20. package/dist/api/audit.js +48 -1
  21. package/dist/api/auth.d.ts +20 -26
  22. package/dist/api/auth.js +43 -29
  23. package/dist/api/auto-sleep.d.ts +5 -2
  24. package/dist/api/auto-sleep.js +9 -5
  25. package/dist/api/availability.d.ts +2 -15
  26. package/dist/api/availability.js +4 -18
  27. package/dist/api/cards.d.ts +42 -0
  28. package/dist/api/cards.js +52 -0
  29. package/dist/api/conflicts.d.ts +28 -0
  30. package/dist/api/conflicts.js +61 -0
  31. package/dist/api/context-render.js +4 -3
  32. package/dist/api/context-select.js +12 -15
  33. package/dist/api/context-types.d.ts +10 -35
  34. package/dist/api/context.d.ts +5 -22
  35. package/dist/api/context.js +38 -46
  36. package/dist/api/continuity.d.ts +47 -0
  37. package/dist/api/continuity.js +66 -0
  38. package/dist/{cli → api}/correction-latency.d.ts +2 -14
  39. package/dist/{cli → api}/correction-latency.js +2 -14
  40. package/dist/api/dormant.d.ts +5 -21
  41. package/dist/api/dormant.js +11 -28
  42. package/dist/api/drill-down.d.ts +7 -46
  43. package/dist/api/drill-down.js +6 -27
  44. package/dist/api/embeddings.d.ts +17 -0
  45. package/dist/api/embeddings.js +28 -0
  46. package/dist/api/error-reply.d.ts +8 -0
  47. package/dist/api/error-reply.js +21 -0
  48. package/dist/api/forget.d.ts +11 -26
  49. package/dist/api/forget.js +23 -35
  50. package/dist/api/goals.d.ts +1 -1
  51. package/dist/api/goals.js +5 -9
  52. package/dist/api/graph.d.ts +8 -0
  53. package/dist/api/graph.js +7 -0
  54. package/dist/api/index.d.ts +6 -2
  55. package/dist/api/index.js +6 -2
  56. package/dist/api/instruction-detect.js +21 -6
  57. package/dist/api/learn.d.ts +4 -0
  58. package/dist/api/learn.js +53 -27
  59. package/dist/api/ledger-db.d.ts +2 -5
  60. package/dist/api/ledger-db.js +5 -35
  61. package/dist/api/memories.d.ts +23 -0
  62. package/dist/api/memories.js +46 -0
  63. package/dist/api/objects.d.ts +9 -0
  64. package/dist/api/objects.js +11 -0
  65. package/dist/api/on-store.js +5 -3
  66. package/dist/api/outcome.js +1 -1
  67. package/dist/api/pilot-arm.d.ts +1 -11
  68. package/dist/api/pilot-arm.js +5 -45
  69. package/dist/api/predictions.d.ts +11 -0
  70. package/dist/api/predictions.js +24 -0
  71. package/dist/api/projects.d.ts +21 -0
  72. package/dist/api/projects.js +24 -0
  73. package/dist/api/promote.d.ts +13 -17
  74. package/dist/api/promote.js +12 -20
  75. package/dist/api/prompt-hook.d.ts +19 -6
  76. package/dist/api/prompt-hook.js +54 -13
  77. package/dist/api/provenance-coverage.d.ts +14 -0
  78. package/dist/{cli → api}/provenance-coverage.js +2 -6
  79. package/dist/api/recall-cli.d.ts +58 -0
  80. package/dist/api/recall-cli.js +103 -0
  81. package/dist/api/recall-core.js +17 -9
  82. package/dist/api/recall-finish.d.ts +53 -0
  83. package/dist/api/recall-finish.js +30 -0
  84. package/dist/api/recall-history.d.ts +17 -84
  85. package/dist/api/recall-history.js +15 -88
  86. package/dist/api/recall-pipeline.d.ts +2 -3
  87. package/dist/api/recall-pipeline.js +21 -15
  88. package/dist/api/recall-request.js +1 -1
  89. package/dist/api/recall-types.d.ts +64 -304
  90. package/dist/api/recall.d.ts +3 -34
  91. package/dist/api/recall.js +63 -89
  92. package/dist/api/refine.d.ts +7 -0
  93. package/dist/api/refine.js +10 -0
  94. package/dist/api/remember-local.d.ts +57 -0
  95. package/dist/api/remember-local.js +90 -0
  96. package/dist/api/remember.d.ts +20 -2
  97. package/dist/api/remember.js +16 -3
  98. package/dist/api/session-end.d.ts +22 -0
  99. package/dist/api/session-end.js +101 -0
  100. package/dist/api/sleep-run.d.ts +2 -4
  101. package/dist/api/sleep-run.js +28 -28
  102. package/dist/api/sleep.d.ts +9 -28
  103. package/dist/api/status.d.ts +24 -0
  104. package/dist/api/status.js +40 -0
  105. package/dist/api/store-init.d.ts +4 -0
  106. package/dist/api/store-init.js +9 -0
  107. package/dist/api/tokens.d.ts +3 -10
  108. package/dist/api/tokens.js +4 -11
  109. package/dist/api/types.d.ts +8 -29
  110. package/dist/api/types.js +10 -23
  111. package/dist/capture/caller-session.d.ts +0 -3
  112. package/dist/capture/caller-session.js +1 -12
  113. package/dist/capture/capture-error.d.ts +2 -2
  114. package/dist/capture/capture-error.js +23 -18
  115. package/dist/capture/codex-patch.js +3 -1
  116. package/dist/capture/command.d.ts +4 -12
  117. package/dist/capture/command.js +39 -114
  118. package/dist/capture/compact.d.ts +4 -15
  119. package/dist/capture/compact.js +26 -30
  120. package/dist/capture/compaction-items-caller.js +11 -20
  121. package/dist/capture/compaction-record.d.ts +7 -93
  122. package/dist/capture/compaction-record.js +34 -399
  123. package/dist/capture/compaction-spool.d.ts +5 -3
  124. package/dist/capture/compaction-spool.js +21 -7
  125. package/dist/capture/copilot-transcript.d.ts +2 -1
  126. package/dist/capture/copilot-transcript.js +2 -1
  127. package/dist/capture/extract.d.ts +5 -2
  128. package/dist/capture/extract.js +4 -3
  129. package/dist/capture/failure-caller.d.ts +1 -1
  130. package/dist/capture/failure-caller.js +21 -16
  131. package/dist/capture/failure-reading.d.ts +2 -1
  132. package/dist/capture/failure-reading.js +7 -9
  133. package/dist/capture/pre-compact-caller.js +5 -4
  134. package/dist/capture/session-digest.d.ts +1 -1
  135. package/dist/capture/session-digest.js +17 -10
  136. package/dist/capture/session-end-caller.js +2 -1
  137. package/dist/capture/session-worker.js +3 -4
  138. package/dist/capture/transcript.d.ts +4 -11
  139. package/dist/capture/transcript.js +10 -21
  140. package/dist/capture/working-state.d.ts +4 -2
  141. package/dist/capture/working-state.js +4 -2
  142. package/dist/cli/api-context.d.ts +3 -0
  143. package/dist/cli/api-context.js +6 -0
  144. package/dist/cli/audit-prune.d.ts +1 -59
  145. package/dist/cli/audit-prune.js +2 -61
  146. package/dist/cli/audit.d.ts +1 -1
  147. package/dist/cli/audit.js +42 -43
  148. package/dist/cli/auth.d.ts +2 -2
  149. package/dist/cli/auth.js +61 -44
  150. package/dist/cli/briefs.d.ts +1 -4
  151. package/dist/cli/briefs.js +42 -301
  152. package/dist/cli/card.d.ts +2 -2
  153. package/dist/cli/card.js +63 -56
  154. package/dist/cli/client.d.ts +12 -27
  155. package/dist/cli/client.js +41 -44
  156. package/dist/cli/compact-resume-payload.js +4 -3
  157. package/dist/cli/context.d.ts +2 -3
  158. package/dist/cli/context.js +22 -18
  159. package/dist/cli/continuity.d.ts +6 -6
  160. package/dist/cli/continuity.js +81 -86
  161. package/dist/cli/curate.d.ts +13 -17
  162. package/dist/cli/curate.js +88 -116
  163. package/dist/cli/dag.d.ts +4 -4
  164. package/dist/cli/dag.js +55 -34
  165. package/dist/cli/decisions.d.ts +2 -4
  166. package/dist/cli/decisions.js +18 -309
  167. package/dist/cli/eval.d.ts +1 -1
  168. package/dist/cli/eval.js +27 -26
  169. package/dist/cli/exit.d.ts +6 -0
  170. package/dist/cli/exit.js +11 -0
  171. package/dist/cli/explain.d.ts +2 -3
  172. package/dist/cli/explain.js +25 -27
  173. package/dist/cli/flag-values.d.ts +6 -1
  174. package/dist/cli/flag-values.js +42 -15
  175. package/dist/cli/flags.d.ts +0 -288
  176. package/dist/cli/flags.js +3 -138
  177. package/dist/cli/github.d.ts +14 -0
  178. package/dist/{connectors/github/cli-impl.js → cli/github.js} +43 -71
  179. package/dist/cli/goals.d.ts +2 -2
  180. package/dist/cli/goals.js +46 -50
  181. package/dist/cli/graph.d.ts +3 -0
  182. package/dist/cli/graph.js +83 -0
  183. package/dist/cli/hook-runtime.d.ts +12 -32
  184. package/dist/cli/hook-runtime.js +21 -64
  185. package/dist/cli/incidents.d.ts +3 -0
  186. package/dist/cli/incidents.js +112 -0
  187. package/dist/cli/init.d.ts +2 -2
  188. package/dist/cli/init.js +33 -30
  189. package/dist/cli/install-steps.d.ts +2 -1
  190. package/dist/cli/install-steps.js +13 -14
  191. package/dist/cli/last-sleep.d.ts +2 -1
  192. package/dist/cli/last-sleep.js +4 -1
  193. package/dist/cli/lenient-id.d.ts +2 -0
  194. package/dist/cli/lenient-id.js +13 -0
  195. package/dist/cli/maintenance.d.ts +5 -5
  196. package/dist/cli/maintenance.js +37 -43
  197. package/dist/cli/notes.d.ts +2 -0
  198. package/dist/cli/notes.js +41 -0
  199. package/dist/cli/object-verbs.js +4 -3
  200. package/dist/cli/open-browser.d.ts +14 -0
  201. package/dist/cli/open-browser.js +26 -0
  202. package/dist/cli/owner-validation.d.ts +5 -28
  203. package/dist/cli/owner-validation.js +5 -28
  204. package/dist/cli/playbooks.d.ts +3 -4
  205. package/dist/cli/playbooks.js +131 -300
  206. package/dist/cli/predictions.d.ts +3 -0
  207. package/dist/cli/predictions.js +175 -0
  208. package/dist/cli/print.d.ts +2 -5
  209. package/dist/cli/print.js +3 -5
  210. package/dist/cli/projects.d.ts +2 -2
  211. package/dist/cli/projects.js +31 -25
  212. package/dist/cli/quality-repair-once.d.ts +1 -1
  213. package/dist/cli/quality-repair-once.js +7 -6
  214. package/dist/cli/recall.d.ts +2 -4
  215. package/dist/cli/recall.js +67 -137
  216. package/dist/cli/refine-llm.d.ts +5 -31
  217. package/dist/cli/refine-llm.js +23 -50
  218. package/dist/cli/remember.d.ts +3 -3
  219. package/dist/cli/remember.js +134 -192
  220. package/dist/cli/scheduler.d.ts +2 -17
  221. package/dist/cli/scheduler.js +14 -19
  222. package/dist/cli/serve.js +23 -14
  223. package/dist/cli/session-hooks.d.ts +11 -19
  224. package/dist/cli/session-hooks.js +143 -214
  225. package/dist/cli/setup.d.ts +4 -4
  226. package/dist/cli/setup.js +35 -30
  227. package/dist/cli/shared.d.ts +7 -25
  228. package/dist/cli/shared.js +17 -60
  229. package/dist/cli/slack.d.ts +2 -2
  230. package/dist/cli/slack.js +19 -23
  231. package/dist/cli/sleep-render.js +6 -3
  232. package/dist/cli/sleep.d.ts +3 -2
  233. package/dist/cli/sleep.js +17 -49
  234. package/dist/cli/status.d.ts +11 -14
  235. package/dist/cli/status.js +74 -120
  236. package/dist/cli/stdin.d.ts +4 -6
  237. package/dist/cli/stdin.js +2 -3
  238. package/dist/cli/transfer.d.ts +9 -9
  239. package/dist/cli/transfer.js +87 -108
  240. package/dist/cli/usage.d.ts +0 -79
  241. package/dist/cli/usage.js +1 -689
  242. package/dist/cli/verb-row.d.ts +32 -0
  243. package/dist/cli/verb-row.js +6 -0
  244. package/dist/cli/verbs/health.d.ts +27 -0
  245. package/dist/cli/verbs/health.js +232 -0
  246. package/dist/cli/verbs/memory.d.ts +16 -0
  247. package/dist/cli/verbs/memory.js +244 -0
  248. package/dist/cli/verbs/objects.d.ts +20 -0
  249. package/dist/cli/verbs/objects.js +254 -0
  250. package/dist/cli/verbs/sessions.d.ts +31 -0
  251. package/dist/cli/verbs/sessions.js +312 -0
  252. package/dist/cli/verbs.d.ts +81 -0
  253. package/dist/cli/verbs.js +7 -0
  254. package/dist/cli/versioned-verbs.d.ts +51 -0
  255. package/dist/cli/versioned-verbs.js +79 -0
  256. package/dist/cli.d.ts +1 -654
  257. package/dist/cli.js +44 -510
  258. package/dist/connectors/dlq.d.ts +39 -3
  259. package/dist/connectors/dlq.js +37 -3
  260. package/dist/connectors/github/backfill.d.ts +5 -25
  261. package/dist/connectors/github/backfill.js +26 -52
  262. package/dist/connectors/github/deletion.d.ts +4 -18
  263. package/dist/connectors/github/deletion.js +2 -15
  264. package/dist/connectors/github/dlq.d.ts +8 -33
  265. package/dist/connectors/github/dlq.js +34 -93
  266. package/dist/connectors/github/ingest.d.ts +4 -12
  267. package/dist/connectors/github/ingest.js +5 -36
  268. package/dist/connectors/github/octokit-client.d.ts +4 -16
  269. package/dist/connectors/github/octokit-client.js +27 -24
  270. package/dist/connectors/github/ratelimit.d.ts +3 -14
  271. package/dist/connectors/github/ratelimit.js +3 -14
  272. package/dist/connectors/github/scope.d.ts +3 -5
  273. package/dist/connectors/github/scope.js +3 -5
  274. package/dist/connectors/github/signature.d.ts +4 -26
  275. package/dist/connectors/github/signature.js +4 -26
  276. package/dist/connectors/github/tenant-routing.d.ts +2 -24
  277. package/dist/connectors/github/tenant-routing.js +4 -26
  278. package/dist/connectors/github/transform.js +2 -16
  279. package/dist/connectors/github/types.d.ts +3 -15
  280. package/dist/connectors/github/types.js +2 -9
  281. package/dist/connectors/github/webhook.d.ts +3 -16
  282. package/dist/connectors/github/webhook.js +38 -23
  283. package/dist/connectors/ingest.d.ts +10 -0
  284. package/dist/connectors/ingest.js +28 -0
  285. package/dist/connectors/slack/backfill.d.ts +4 -17
  286. package/dist/connectors/slack/backfill.js +4 -13
  287. package/dist/connectors/slack/dlq.d.ts +2 -19
  288. package/dist/connectors/slack/dlq.js +51 -90
  289. package/dist/connectors/slack/ingest.d.ts +4 -9
  290. package/dist/connectors/slack/ingest.js +4 -30
  291. package/dist/connectors/slack/scope.d.ts +2 -8
  292. package/dist/connectors/slack/scope.js +2 -8
  293. package/dist/connectors/slack/signature.d.ts +1 -6
  294. package/dist/connectors/slack/tenant-routing.d.ts +2 -19
  295. package/dist/connectors/slack/tenant-routing.js +2 -21
  296. package/dist/connectors/slack/transform.d.ts +2 -18
  297. package/dist/connectors/slack/transform.js +2 -18
  298. package/dist/connectors/slack/types.d.ts +3 -9
  299. package/dist/connectors/slack/types.js +2 -4
  300. package/dist/connectors/slack/web-client.js +33 -27
  301. package/dist/connectors/slack/webhook.d.ts +3 -19
  302. package/dist/connectors/slack/webhook.js +6 -26
  303. package/dist/connectors/slack/workspaces.d.ts +4 -24
  304. package/dist/connectors/slack/workspaces.js +4 -24
  305. package/dist/consolidate/conflicts.js +7 -15
  306. package/dist/consolidate/dag-summary.d.ts +8 -0
  307. package/dist/consolidate/dag-summary.js +41 -0
  308. package/dist/consolidate/dag.d.ts +5 -28
  309. package/dist/consolidate/dag.js +29 -84
  310. package/dist/consolidate/decay.js +7 -19
  311. package/dist/consolidate/dedupe.d.ts +13 -52
  312. package/dist/consolidate/dedupe.js +18 -74
  313. package/dist/consolidate/flush-units.d.ts +3 -4
  314. package/dist/consolidate/flush-units.js +3 -3
  315. package/dist/consolidate/half-life-migration.d.ts +3 -26
  316. package/dist/consolidate/half-life-migration.js +11 -28
  317. package/dist/consolidate/llm-passes.js +49 -40
  318. package/dist/consolidate/memory-value-weights.d.ts +2 -13
  319. package/dist/consolidate/memory-value-weights.js +2 -13
  320. package/dist/consolidate/memory-value.d.ts +11 -84
  321. package/dist/consolidate/memory-value.js +18 -105
  322. package/dist/consolidate/merge.js +12 -33
  323. package/dist/consolidate/physics-pass.d.ts +6 -1
  324. package/dist/consolidate/physics-pass.js +27 -9
  325. package/dist/consolidate/replay.d.ts +6 -38
  326. package/dist/consolidate/replay.js +25 -56
  327. package/dist/consolidate/run.js +1 -1
  328. package/dist/consolidate/sleep.d.ts +1 -8
  329. package/dist/consolidate/sleep.js +13 -22
  330. package/dist/consolidate/trace.d.ts +3 -18
  331. package/dist/consolidate/trace.js +3 -18
  332. package/dist/consolidate/traces.js +9 -25
  333. package/dist/core/ablation.d.ts +14 -91
  334. package/dist/core/ablation.js +16 -91
  335. package/dist/core/active-scope.d.ts +7 -0
  336. package/dist/{sharing/scope.js → core/active-scope.js} +5 -12
  337. package/dist/core/ambient.d.ts +5 -8
  338. package/dist/core/ambient.js +40 -26
  339. package/dist/core/api-errors.d.ts +16 -0
  340. package/dist/core/api-errors.js +20 -0
  341. package/dist/core/capture-contract.d.ts +4 -2
  342. package/dist/core/capture-contract.js +4 -2
  343. package/dist/core/card.d.ts +4 -1
  344. package/dist/core/card.js +11 -1
  345. package/dist/core/compaction-timing.d.ts +7 -0
  346. package/dist/core/compaction-timing.js +9 -0
  347. package/dist/core/compare.d.ts +11 -67
  348. package/dist/core/compare.js +9 -63
  349. package/dist/core/config.d.ts +10 -24
  350. package/dist/core/config.js +20 -16
  351. package/dist/core/cosine.d.ts +3 -0
  352. package/dist/core/cosine.js +19 -0
  353. package/dist/core/handoff.d.ts +1 -7
  354. package/dist/core/handoff.js +1 -7
  355. package/dist/core/markdown.d.ts +6 -0
  356. package/dist/{store → core}/markdown.js +23 -22
  357. package/dist/core/memory-audit.d.ts +17 -0
  358. package/dist/core/memory-audit.js +54 -0
  359. package/dist/core/memory-quality.js +1 -1
  360. package/dist/core/memory.d.ts +51 -168
  361. package/dist/core/memory.js +76 -239
  362. package/dist/{consolidate → core}/merged-row.d.ts +1 -1
  363. package/dist/{consolidate → core}/merged-row.js +3 -2
  364. package/dist/core/package-root.d.ts +3 -0
  365. package/dist/core/package-root.js +5 -0
  366. package/dist/core/physics-config.d.ts +1 -4
  367. package/dist/core/physics-config.js +3 -8
  368. package/dist/core/physics.d.ts +15 -61
  369. package/dist/core/physics.js +65 -138
  370. package/dist/core/prediction.d.ts +3 -0
  371. package/dist/core/prediction.js +6 -0
  372. package/dist/core/project-identity.d.ts +20 -58
  373. package/dist/core/project-identity.js +27 -39
  374. package/dist/core/project-remote.js +13 -2
  375. package/dist/core/raw-append-only.d.ts +5 -0
  376. package/dist/core/raw-append-only.js +7 -0
  377. package/dist/core/recall-scope.d.ts +69 -0
  378. package/dist/core/recall-scope.js +138 -0
  379. package/dist/core/salience.d.ts +1 -7
  380. package/dist/core/salience.js +1 -7
  381. package/dist/dashboard/dashboard-actions.js +2 -2
  382. package/dist/dashboard/dashboard-snapshot.d.ts +2 -1
  383. package/dist/dashboard/dashboard-snapshot.js +11 -2
  384. package/dist/dashboard/dashboard-types.d.ts +2 -1
  385. package/dist/dashboard/dashboard.d.ts +1 -0
  386. package/dist/dashboard/dashboard.js +50 -4
  387. package/dist/db/busy.d.ts +3 -8
  388. package/dist/db/busy.js +37 -33
  389. package/dist/db/connect.js +7 -8
  390. package/dist/db/index.d.ts +3 -3
  391. package/dist/db/index.js +3 -3
  392. package/dist/db/migrate.js +3 -3
  393. package/dist/db/migrations/index.d.ts +1 -1
  394. package/dist/db/migrations/index.js +3 -1
  395. package/dist/db/migrations/types.d.ts +2 -5
  396. package/dist/db/migrations/v14.js +2 -3
  397. package/dist/db/migrations/v15.js +2 -8
  398. package/dist/db/migrations/v16.js +2 -3
  399. package/dist/db/migrations/v17.js +2 -3
  400. package/dist/db/migrations/v19.js +2 -5
  401. package/dist/db/migrations/v20.js +2 -7
  402. package/dist/db/migrations/v22.js +4 -17
  403. package/dist/db/migrations/v23.js +3 -14
  404. package/dist/db/migrations/v24.js +2 -4
  405. package/dist/db/migrations/v25.js +3 -8
  406. package/dist/db/migrations/v26.js +2 -13
  407. package/dist/db/migrations/v27.js +3 -11
  408. package/dist/db/migrations/v28.js +2 -14
  409. package/dist/db/migrations/v29.js +4 -18
  410. package/dist/db/migrations/v30.js +4 -16
  411. package/dist/db/migrations/v31.js +2 -15
  412. package/dist/db/migrations/v32.js +4 -22
  413. package/dist/db/migrations/v33.js +2 -15
  414. package/dist/db/migrations/v34.js +2 -11
  415. package/dist/db/migrations/v35.js +2 -11
  416. package/dist/db/migrations/v36.js +2 -11
  417. package/dist/db/migrations/v37.js +8 -33
  418. package/dist/db/migrations/v38.js +5 -38
  419. package/dist/db/migrations/v39.js +9 -20
  420. package/dist/db/migrations/v40.js +2 -9
  421. package/dist/db/migrations/v41.js +2 -24
  422. package/dist/db/migrations/v43.js +1 -1
  423. package/dist/db/migrations/v44.js +2 -8
  424. package/dist/db/migrations/v45.js +2 -7
  425. package/dist/db/migrations/v47.js +2 -3
  426. package/dist/db/migrations/v51.js +1 -1
  427. package/dist/db/migrations/v55.d.ts +3 -0
  428. package/dist/db/migrations/v55.js +17 -0
  429. package/dist/db/open.d.ts +2 -2
  430. package/dist/db/open.js +21 -9
  431. package/dist/db/physics-state.d.ts +6 -22
  432. package/dist/db/physics-state.js +28 -39
  433. package/dist/db/raw-archive-mirror-cleanup.d.ts +2 -17
  434. package/dist/db/raw-archive-mirror-cleanup.js +2 -17
  435. package/dist/db/tables.d.ts +2 -0
  436. package/dist/db/tables.js +6 -2
  437. package/dist/db/vector-store.d.ts +2 -0
  438. package/dist/db/vector-store.js +25 -5
  439. package/dist/db/wal-checkpointer.js +2 -1
  440. package/dist/doctor.js +85 -27
  441. package/dist/embeddings/local.d.ts +62 -0
  442. package/dist/embeddings/local.js +146 -0
  443. package/dist/embeddings/provider.d.ts +43 -0
  444. package/dist/{store/embeddings → embeddings}/provider.js +58 -83
  445. package/dist/embeddings/transformers.d.ts +26 -0
  446. package/dist/embeddings/transformers.js +89 -0
  447. package/dist/entry/session-text.d.ts +1 -1
  448. package/dist/entry/session-text.js +3 -2
  449. package/dist/eval/eval-stats.d.ts +15 -53
  450. package/dist/eval/eval-stats.js +12 -42
  451. package/dist/eval/eval-suite.d.ts +2 -13
  452. package/dist/eval/eval-suite.js +91 -45
  453. package/dist/eval/eval.d.ts +6 -24
  454. package/dist/eval/eval.js +8 -35
  455. package/dist/eval/judgment.d.ts +0 -3
  456. package/dist/eval/judgment.js +30 -15
  457. package/dist/extensions/openclaw-plugin/index.js +1 -1
  458. package/dist/graph/extract.d.ts +5 -27
  459. package/dist/graph/extract.js +10 -36
  460. package/dist/graph/recall.d.ts +7 -20
  461. package/dist/graph/recall.js +15 -77
  462. package/dist/graph/stream.d.ts +7 -39
  463. package/dist/graph/stream.js +11 -34
  464. package/dist/graph/view.d.ts +9 -35
  465. package/dist/graph/view.js +24 -44
  466. package/dist/graph/write.d.ts +1 -1
  467. package/dist/graph/write.js +9 -9
  468. package/dist/hooks/codex-session.js +3 -2
  469. package/dist/hooks/codex-wrapper.js +4 -3
  470. package/dist/hooks/copilot.js +2 -1
  471. package/dist/hooks/hook-blocks.d.ts +6 -2
  472. package/dist/hooks/hook-blocks.js +37 -124
  473. package/dist/hooks/json-hooks.d.ts +4 -36
  474. package/dist/hooks/json-hooks.js +22 -59
  475. package/dist/hooks/opencode.d.ts +0 -38
  476. package/dist/hooks/opencode.js +17 -81
  477. package/dist/hooks/shared.d.ts +6 -21
  478. package/dist/hooks/shared.js +31 -33
  479. package/dist/importers/core.d.ts +12 -37
  480. package/dist/importers/core.js +10 -28
  481. package/dist/importers/markdown-parse.d.ts +8 -22
  482. package/dist/importers/markdown-parse.js +8 -25
  483. package/dist/importers/markdown.js +3 -12
  484. package/dist/importers/sources.js +12 -39
  485. package/dist/importers/vault.d.ts +2 -8
  486. package/dist/importers/vault.js +31 -85
  487. package/dist/index.d.ts +8 -3
  488. package/dist/index.js +8 -3
  489. package/dist/learn/autolearn.d.ts +23 -42
  490. package/dist/learn/autolearn.js +45 -52
  491. package/dist/learn/churn-git.js +13 -4
  492. package/dist/learn/extract.d.ts +3 -2
  493. package/dist/learn/extract.js +8 -8
  494. package/dist/learn/forward-claim-detector.d.ts +6 -30
  495. package/dist/learn/forward-claim-detector.js +18 -68
  496. package/dist/learn/invalidation.d.ts +6 -18
  497. package/dist/learn/invalidation.js +18 -31
  498. package/dist/mcp/admin-tools.d.ts +2 -2
  499. package/dist/mcp/admin-tools.js +30 -53
  500. package/dist/mcp/format.js +3 -2
  501. package/dist/mcp/framing.d.ts +1 -0
  502. package/dist/mcp/framing.js +1 -1
  503. package/dist/mcp/memory-tools.js +7 -10
  504. package/dist/mcp/protocol.d.ts +15 -29
  505. package/dist/mcp/protocol.js +26 -16
  506. package/dist/mcp/recall-tools.js +14 -11
  507. package/dist/mcp/request.d.ts +3 -11
  508. package/dist/mcp/request.js +12 -27
  509. package/dist/mcp/server.d.ts +3 -9
  510. package/dist/mcp/server.js +5 -16
  511. package/dist/mcp/session-state.d.ts +1 -1
  512. package/dist/mcp/session-state.js +5 -11
  513. package/dist/mcp/stdio.d.ts +2 -6
  514. package/dist/mcp/stdio.js +68 -16
  515. package/dist/mcp/tool-args.js +2 -1
  516. package/dist/mcp/tools.js +47 -22
  517. package/dist/objects/customer-notes.d.ts +9 -44
  518. package/dist/objects/customer-notes.js +7 -48
  519. package/dist/objects/decisions.d.ts +14 -52
  520. package/dist/objects/decisions.js +15 -53
  521. package/dist/objects/descriptor.d.ts +1 -1
  522. package/dist/objects/incidents.d.ts +9 -40
  523. package/dist/objects/incidents.js +7 -41
  524. package/dist/objects/lifecycle.d.ts +1 -1
  525. package/dist/objects/lifecycle.js +2 -1
  526. package/dist/objects/policies.d.ts +13 -91
  527. package/dist/objects/policies.js +13 -99
  528. package/dist/objects/processes.d.ts +9 -54
  529. package/dist/objects/processes.js +7 -61
  530. package/dist/objects/project-briefs.d.ts +13 -57
  531. package/dist/objects/project-briefs.js +16 -78
  532. package/dist/objects/skills.d.ts +9 -44
  533. package/dist/objects/skills.js +8 -54
  534. package/dist/postinstall.js +7 -20
  535. package/dist/predictions/planning-fallacy.d.ts +11 -34
  536. package/dist/rerankers/clef.js +6 -37
  537. package/dist/rerankers/cross-encoder.d.ts +31 -2
  538. package/dist/rerankers/cross-encoder.js +65 -101
  539. package/dist/rerankers/index.js +5 -4
  540. package/dist/rerankers/jev.js +11 -10
  541. package/dist/rerankers/llm.d.ts +2 -11
  542. package/dist/rerankers/llm.js +14 -14
  543. package/dist/rerankers/outage-warning.d.ts +5 -2
  544. package/dist/rerankers/outage-warning.js +7 -4
  545. package/dist/rerankers/remote.d.ts +1 -0
  546. package/dist/rerankers/remote.js +2 -0
  547. package/dist/rerankers/types.d.ts +2 -14
  548. package/dist/search/bm25-search.js +1 -1
  549. package/dist/search/boosts.d.ts +0 -2
  550. package/dist/search/boosts.js +3 -3
  551. package/dist/search/embed-memories.d.ts +9 -0
  552. package/dist/search/embed-memories.js +377 -0
  553. package/dist/search/goal-boost.d.ts +23 -0
  554. package/dist/search/goal-boost.js +93 -0
  555. package/dist/search/hybrid.d.ts +11 -2
  556. package/dist/search/hybrid.js +9 -4
  557. package/dist/search/multihop.js +2 -3
  558. package/dist/search/path-context.d.ts +5 -18
  559. package/dist/search/path-context.js +5 -18
  560. package/dist/search/physics-search.d.ts +6 -3
  561. package/dist/search/physics-search.js +29 -19
  562. package/dist/search/rerank.js +1 -1
  563. package/dist/search/rrf.d.ts +7 -35
  564. package/dist/search/rrf.js +5 -30
  565. package/dist/search/vector.d.ts +13 -4
  566. package/dist/search/vector.js +40 -13
  567. package/dist/server/auth.d.ts +11 -28
  568. package/dist/server/auth.js +49 -32
  569. package/dist/server/boot.d.ts +2 -21
  570. package/dist/server/boot.js +69 -161
  571. package/dist/server/client-ip.d.ts +3 -21
  572. package/dist/server/client-ip.js +8 -30
  573. package/dist/server/deadline.d.ts +0 -2
  574. package/dist/server/deadline.js +1 -7
  575. package/dist/server/defaults.d.ts +4 -0
  576. package/dist/server/defaults.js +5 -0
  577. package/dist/server/key-check-bounds.d.ts +2 -1
  578. package/dist/server/lifecycle.d.ts +5 -4
  579. package/dist/server/lifecycle.js +19 -4
  580. package/dist/server/mcp-http.js +24 -53
  581. package/dist/server/rate-limit.d.ts +5 -18
  582. package/dist/server/rate-limit.js +4 -13
  583. package/dist/server/request.d.ts +4 -8
  584. package/dist/server/request.js +16 -19
  585. package/dist/server/route-checks.d.ts +7 -0
  586. package/dist/server/route-checks.js +42 -0
  587. package/dist/server/route-table.d.ts +9 -8
  588. package/dist/server/route-table.js +127 -139
  589. package/dist/server/routes/admin.d.ts +8 -8
  590. package/dist/server/routes/admin.js +35 -49
  591. package/dist/server/routes/customer-notes.d.ts +6 -6
  592. package/dist/server/routes/customer-notes.js +8 -14
  593. package/dist/server/routes/decisions.d.ts +6 -6
  594. package/dist/server/routes/decisions.js +12 -21
  595. package/dist/server/routes/incidents.d.ts +6 -6
  596. package/dist/server/routes/incidents.js +14 -25
  597. package/dist/server/routes/memories.d.ts +9 -9
  598. package/dist/server/routes/memories.js +20 -63
  599. package/dist/server/routes/object-routes.d.ts +6 -11
  600. package/dist/server/routes/object-routes.js +11 -22
  601. package/dist/server/routes/policies.d.ts +7 -7
  602. package/dist/server/routes/policies.js +12 -22
  603. package/dist/server/routes/predictions.d.ts +6 -6
  604. package/dist/server/routes/predictions.js +22 -38
  605. package/dist/server/routes/processes.d.ts +6 -6
  606. package/dist/server/routes/processes.js +17 -28
  607. package/dist/server/routes/project-briefs.d.ts +7 -7
  608. package/dist/server/routes/project-briefs.js +11 -20
  609. package/dist/server/routes/recall.d.ts +5 -5
  610. package/dist/server/routes/recall.js +16 -45
  611. package/dist/server/routes/skills.d.ts +7 -7
  612. package/dist/server/routes/skills.js +10 -22
  613. package/dist/server/server-detect.d.ts +15 -53
  614. package/dist/server/server-detect.js +55 -96
  615. package/dist/server/sleep-child.js +26 -7
  616. package/dist/server/sleep-offload.d.ts +11 -5
  617. package/dist/server/sleep-offload.js +21 -12
  618. package/dist/server/types.d.ts +32 -18
  619. package/dist/server/validation.d.ts +3 -2
  620. package/dist/server/validation.js +15 -33
  621. package/dist/server.d.ts +7 -6
  622. package/dist/server.js +8 -6
  623. package/dist/sharing/global-store.d.ts +19 -0
  624. package/dist/sharing/global-store.js +75 -0
  625. package/dist/sharing/global-sync.d.ts +6 -0
  626. package/dist/sharing/global-sync.js +73 -0
  627. package/dist/sharing/project-merge.d.ts +11 -19
  628. package/dist/sharing/project-merge.js +63 -125
  629. package/dist/sharing/search-both.d.ts +60 -0
  630. package/dist/sharing/search-both.js +138 -0
  631. package/dist/sharing/share.d.ts +40 -0
  632. package/dist/sharing/share.js +229 -0
  633. package/dist/store/ambient.js +9 -15
  634. package/dist/store/audit-event.d.ts +5 -13
  635. package/dist/store/audit-event.js +4 -12
  636. package/dist/store/audit.d.ts +2 -21
  637. package/dist/store/audit.js +8 -67
  638. package/dist/store/auth.d.ts +10 -8
  639. package/dist/store/auth.js +17 -12
  640. package/dist/store/candidates.d.ts +23 -5
  641. package/dist/store/candidates.js +119 -71
  642. package/dist/store/capture-write.d.ts +17 -0
  643. package/dist/store/capture-write.js +35 -0
  644. package/dist/store/card-detail.d.ts +2 -1
  645. package/dist/store/card-detail.js +2 -1
  646. package/dist/store/cards.d.ts +14 -9
  647. package/dist/store/cards.js +72 -126
  648. package/dist/store/compaction-caller.d.ts +18 -0
  649. package/dist/store/compaction-caller.js +29 -0
  650. package/dist/store/compactions-record.d.ts +115 -0
  651. package/dist/store/compactions-record.js +417 -0
  652. package/dist/store/compactions.js +6 -4
  653. package/dist/store/conflicts.d.ts +4 -21
  654. package/dist/store/conflicts.js +76 -152
  655. package/dist/store/connectors/dlq.d.ts +10 -0
  656. package/dist/store/connectors/dlq.js +32 -0
  657. package/dist/store/connectors/github.d.ts +14 -16
  658. package/dist/store/connectors/github.js +34 -57
  659. package/dist/store/connectors/slack.d.ts +2 -11
  660. package/dist/store/connectors/slack.js +18 -47
  661. package/dist/store/dashboard-reads.js +11 -14
  662. package/dist/store/delete-and-batch.d.ts +17 -31
  663. package/dist/store/delete-and-batch.js +84 -67
  664. package/dist/store/delivery-recorder.d.ts +15 -4
  665. package/dist/store/delivery-recorder.js +34 -17
  666. package/dist/store/descendant-page.js +6 -3
  667. package/dist/store/diagnostics.js +6 -13
  668. package/dist/store/dormant.d.ts +8 -30
  669. package/dist/store/dormant.js +18 -57
  670. package/dist/store/embeddings/index.d.ts +11 -90
  671. package/dist/store/embeddings/index.js +18 -523
  672. package/dist/store/entry-reads.d.ts +34 -61
  673. package/dist/store/entry-reads.js +111 -136
  674. package/dist/store/entry-row.d.ts +6 -35
  675. package/dist/store/entry-row.js +9 -37
  676. package/dist/store/entry-writes.d.ts +12 -18
  677. package/dist/store/entry-writes.js +46 -44
  678. package/dist/store/failure-log-at.d.ts +8 -0
  679. package/dist/store/failure-log-at.js +16 -0
  680. package/dist/store/failure-log.d.ts +2 -2
  681. package/dist/store/failure-log.js +5 -3
  682. package/dist/{trust → store}/gated-write.d.ts +3 -1
  683. package/dist/{trust → store}/gated-write.js +7 -5
  684. package/dist/store/goals.d.ts +3 -40
  685. package/dist/store/goals.js +41 -178
  686. package/dist/store/graph-queue.d.ts +6 -22
  687. package/dist/store/graph-queue.js +14 -45
  688. package/dist/store/graph-reads.d.ts +11 -35
  689. package/dist/store/graph-reads.js +24 -60
  690. package/dist/store/graph-rows.d.ts +3 -6
  691. package/dist/store/graph-rows.js +6 -9
  692. package/dist/store/graph-view-rows.d.ts +2 -1
  693. package/dist/store/graph-view-rows.js +2 -1
  694. package/dist/store/graph-writes.d.ts +10 -35
  695. package/dist/store/graph-writes.js +59 -106
  696. package/dist/store/half-life.d.ts +2 -1
  697. package/dist/store/half-life.js +14 -16
  698. package/dist/store/handoffs.d.ts +6 -12
  699. package/dist/store/handoffs.js +22 -40
  700. package/dist/store/index-and-stats.d.ts +6 -19
  701. package/dist/store/index-and-stats.js +36 -84
  702. package/dist/store/key-writes.js +1 -1
  703. package/dist/store/ledger-turn.d.ts +9 -0
  704. package/dist/store/ledger-turn.js +38 -0
  705. package/dist/store/mirrors.d.ts +2 -6
  706. package/dist/store/mirrors.js +24 -29
  707. package/dist/store/open.d.ts +0 -4
  708. package/dist/store/open.js +42 -62
  709. package/dist/store/pilot-arm.d.ts +12 -0
  710. package/dist/store/pilot-arm.js +42 -0
  711. package/dist/store/planning-fallacy-evidence.d.ts +2 -30
  712. package/dist/store/planning-fallacy-evidence.js +8 -37
  713. package/dist/store/port.d.ts +91 -82
  714. package/dist/store/port.js +8 -0
  715. package/dist/store/predictions.d.ts +12 -53
  716. package/dist/store/predictions.js +41 -125
  717. package/dist/store/project-tags.d.ts +62 -0
  718. package/dist/store/project-tags.js +67 -0
  719. package/dist/{cli → store}/quality-repair.js +15 -31
  720. package/dist/store/quarantine.js +2 -1
  721. package/dist/store/raw-archive.d.ts +4 -16
  722. package/dist/store/raw-archive.js +14 -29
  723. package/dist/store/recall-trace.d.ts +12 -77
  724. package/dist/store/recall-trace.js +37 -97
  725. package/dist/store/rejected-values.js +9 -20
  726. package/dist/store/rejection-probe.d.ts +4 -0
  727. package/dist/store/rejection-probe.js +19 -0
  728. package/dist/store/rejection.d.ts +10 -73
  729. package/dist/store/rejection.js +12 -84
  730. package/dist/store/report-reads.d.ts +6 -0
  731. package/dist/store/report-reads.js +29 -0
  732. package/dist/store/rows.d.ts +9 -19
  733. package/dist/store/rows.js +36 -34
  734. package/dist/store/rule-sql.d.ts +14 -0
  735. package/dist/store/rule-sql.js +56 -0
  736. package/dist/store/search-rows.d.ts +7 -38
  737. package/dist/store/search-rows.js +23 -54
  738. package/dist/store/sessions.d.ts +10 -47
  739. package/dist/store/sessions.js +21 -75
  740. package/dist/store/set-aside.d.ts +14 -0
  741. package/dist/store/set-aside.js +23 -0
  742. package/dist/store/sqlite/busy.d.ts +3 -0
  743. package/dist/store/sqlite/busy.js +8 -0
  744. package/dist/store/sqlite/connector-events-group.js +5 -8
  745. package/dist/store/sqlite/connector-writes-group.js +3 -3
  746. package/dist/store/sqlite/entry-writes-group.js +4 -4
  747. package/dist/store/sqlite/error-codec.js +8 -5
  748. package/dist/store/sqlite/executor.d.ts +2 -1
  749. package/dist/store/sqlite/executor.js +12 -5
  750. package/dist/store/sqlite/graph-reads-group.js +1 -1
  751. package/dist/store/sqlite/held-connection.d.ts +9 -0
  752. package/dist/store/sqlite/held-connection.js +41 -0
  753. package/dist/store/sqlite/local.d.ts +3 -3
  754. package/dist/store/sqlite/local.js +1 -0
  755. package/dist/store/sqlite/object-rows.d.ts +1 -1
  756. package/dist/store/sqlite/object-rows.js +6 -3
  757. package/dist/store/sqlite/objects-group.d.ts +1 -1
  758. package/dist/store/sqlite/objects-group.js +5 -3
  759. package/dist/store/sqlite/quarantine-group.js +2 -2
  760. package/dist/store/sqlite/store.d.ts +1 -4
  761. package/dist/store/sqlite/store.js +16 -15
  762. package/dist/store/sqlite/vector-reads-group.js +2 -2
  763. package/dist/store/sqlite/worker-jobs.js +1 -1
  764. package/dist/store/sqlite/worker-ops.d.ts +13 -2
  765. package/dist/store/sqlite/worker-ops.js +13 -2
  766. package/dist/store/sqlite/worker-store.js +5 -2
  767. package/dist/store/summaries.d.ts +11 -63
  768. package/dist/store/summaries.js +37 -148
  769. package/dist/store/summary-dirty.js +1 -1
  770. package/dist/store/tenant-lookup.d.ts +6 -1
  771. package/dist/store/tenant-lookup.js +7 -0
  772. package/dist/store/tenant.d.ts +2 -16
  773. package/dist/store/tenant.js +4 -19
  774. package/dist/store/token-ledger.d.ts +13 -50
  775. package/dist/store/token-ledger.js +19 -85
  776. package/dist/store/usage-reports.js +5 -13
  777. package/dist/store/vector-index.d.ts +46 -0
  778. package/dist/store/vector-index.js +171 -0
  779. package/dist/store/working-memory.d.ts +6 -25
  780. package/dist/store/working-memory.js +18 -52
  781. package/dist/support-bundle.js +9 -8
  782. package/dist/trust/reject-flow.js +3 -5
  783. package/dist/util/agent-homes.d.ts +15 -0
  784. package/dist/util/agent-homes.js +34 -0
  785. package/dist/util/anthropic-messages.d.ts +3 -0
  786. package/dist/util/anthropic-messages.js +35 -6
  787. package/dist/util/atomic-write.d.ts +2 -1
  788. package/dist/util/atomic-write.js +35 -4
  789. package/dist/util/capped-json.d.ts +6 -0
  790. package/dist/util/capped-json.js +46 -0
  791. package/dist/util/chunked.d.ts +3 -0
  792. package/dist/util/chunked.js +10 -0
  793. package/dist/util/crash-handlers.d.ts +8 -1
  794. package/dist/util/crash-handlers.js +52 -10
  795. package/dist/util/ellipsize.d.ts +3 -0
  796. package/dist/util/ellipsize.js +5 -0
  797. package/dist/util/env.d.ts +14 -6
  798. package/dist/util/env.js +15 -7
  799. package/dist/util/format.d.ts +3 -0
  800. package/dist/util/format.js +6 -0
  801. package/dist/util/home-path.d.ts +2 -1
  802. package/dist/util/home-path.js +4 -2
  803. package/dist/util/hook-payload.d.ts +8 -0
  804. package/dist/util/hook-payload.js +37 -0
  805. package/dist/util/http-retry.d.ts +9 -1
  806. package/dist/util/http-retry.js +67 -8
  807. package/dist/util/http-util.d.ts +0 -8
  808. package/dist/util/http-util.js +10 -21
  809. package/dist/util/limits.d.ts +7 -0
  810. package/dist/util/limits.js +14 -0
  811. package/dist/util/log.d.ts +7 -2
  812. package/dist/util/log.js +34 -9
  813. package/dist/util/request-scope.d.ts +5 -2
  814. package/dist/util/request-scope.js +13 -7
  815. package/dist/util/secret-detect.d.ts +5 -30
  816. package/dist/util/secret-detect.js +19 -40
  817. package/dist/util/sqlite-blocked.d.ts +2 -0
  818. package/dist/util/sqlite-blocked.js +5 -0
  819. package/dist/util/stored-json.d.ts +1 -1
  820. package/dist/util/stored-json.js +1 -1
  821. package/dist/util/stream-tee.d.ts +3 -0
  822. package/dist/util/stream-tee.js +35 -0
  823. package/dist/util/time.d.ts +4 -0
  824. package/dist/util/time.js +4 -0
  825. package/dist/util/token-text.d.ts +1 -4
  826. package/dist/util/token-text.js +1 -4
  827. package/dist/util/transcript-tail.d.ts +2 -0
  828. package/dist/util/transcript-tail.js +24 -23
  829. package/dist/util/version.d.ts +5 -20
  830. package/dist/util/version.js +5 -20
  831. package/dist/{store → util}/yaml.d.ts +1 -5
  832. package/dist/{store → util}/yaml.js +2 -6
  833. package/extensions/openclaw-plugin/index.ts +1 -1
  834. package/extensions/openclaw-plugin/openclaw.plugin.json +1 -1
  835. package/extensions/openclaw-plugin/package.json +1 -1
  836. package/openclaw.plugin.json +1 -1
  837. package/package.json +2 -2
  838. package/dist/cli/provenance-coverage.d.ts +0 -18
  839. package/dist/connectors/github/cli-impl.d.ts +0 -25
  840. package/dist/sharing/scope.d.ts +0 -14
  841. package/dist/sharing/shared.d.ts +0 -187
  842. package/dist/sharing/shared.js +0 -563
  843. package/dist/store/embeddings/local.d.ts +0 -15
  844. package/dist/store/embeddings/local.js +0 -192
  845. package/dist/store/embeddings/provider.d.ts +0 -77
  846. package/dist/store/markdown.d.ts +0 -10
  847. package/dist/store/recall-scope.d.ts +0 -138
  848. package/dist/store/recall-scope.js +0 -216
  849. package/dist/store/vector-writes.d.ts +0 -13
  850. package/dist/store/vector-writes.js +0 -89
  851. /package/dist/{store → core}/object-types.d.ts +0 -0
  852. /package/dist/{store → core}/object-types.js +0 -0
  853. /package/dist/{cli → store}/quality-repair.d.ts +0 -0
  854. /package/dist/{capture → util}/compaction-items.d.ts +0 -0
  855. /package/dist/{capture → util}/compaction-items.js +0 -0
@@ -7,153 +7,53 @@ import type { AvailabilityHint } from './availability.js';
7
7
  import type { AppendAuditOpts } from '../store/audit.js';
8
8
  import type { CallerProject } from './prompt-hook.js';
9
9
  import type { RankRecallOpts, RankRecallResult } from './recall-pipeline.js';
10
+ import type { RecallRecording } from './recall-finish.js';
10
11
  export interface RecallOpts {
11
12
  query: string;
12
13
  limit?: number;
13
- /**
14
- * Scorer-window opt-in. When set, `loadSearchEntries`
15
- * loads up to `scorerWindow` candidates. When undefined (default),
16
- * the store-internal 200-row default applies.
17
- *
18
- * `scorerWindow` lets callers decouple "how many candidates do I want
19
- * the scorer to evaluate" from `limit` ("how many do I want returned").
20
- * Useful when `summarizeOverflow=true` and you want a wider candidate
21
- * pool to detect more level-2 parent clusters.
22
- *
23
- * NOT a hard cap on returned results. Fresh-tail and substituted
24
- * summaries can extend the result count above `limit`. The CLI's
25
- * existing slice in `cmdRecall` (cli.ts) is the CLI hard cap; library
26
- * callers slice themselves if they want one.
27
- *
28
- * Validated as a positive finite integer when set. `scorerWindow: 0`
29
- * or non-finite values throw `RecallContractError` with code
30
- * `invalid_scorer_window`, because 0 would otherwise fall through to an
31
- * uncapped fallback.
32
- *
33
- * **Input is library-only.** HTTP `/v1/memories`, MCP
34
- * `hippo_recall`, and `client.ts` thin-client do NOT serialize this
35
- * INPUT field; remote callers cannot send `scorerWindow` and will see
36
- * the store default applied. The OUTPUT `RecallResult.windowSize` is
37
- * always serialized over the wire (HTTP `sendJson` ships the whole
38
- * RecallResult, so remote callers receive `windowSize: 200` in the
39
- * response).
40
- */
14
+ /** Candidates the scorer loads (default: the store's 200-row window), decoupled from `limit`; NOT a hard cap, as fresh-tail and summaries can exceed `limit`.
15
+ * Must be a positive finite integer (else `RecallContractError`, `invalid_scorer_window`). Library-only: HTTP, MCP and `client.ts` do not serialize it. */
41
16
  scorerWindow?: number;
42
17
  /** Candidate order. `recall` always keeps the BM25 order; `retrieve` honours this. */
43
18
  mode?: 'bm25' | 'hybrid' | 'physics';
44
- /**
45
- * Restrict results to memories whose `scope` equals this value exactly.
46
- *
47
- * When `scope` is undefined or empty, recall applies a DEFAULT-DENY rule:
48
- * any memory whose scope starts with `'slack:private:'` is filtered out so
49
- * a frontend caller passing `undefined` cannot accidentally surface
50
- * private-channel content. Memories with scope=null (the common case for
51
- * non-Slack content) are still returned.
52
- */
19
+ /** Exact-match scope filter; when undefined or empty, default-deny drops `slack:private:*` memories so an unscoped caller cannot surface private channels. */
53
20
  scope?: string;
54
- /**
55
- * DAG-aware recall. When true (default), entries that overflow the
56
- * `limit` and share a level-2 parent summary cause that summary to be
57
- * appended in their place, capped at ceil(limit * 0.3) extra rows. Set to
58
- * false for a strict limit.
59
- */
21
+ /** DAG-aware recall (default true): entries overflowing `limit` that share a level-2 parent get that summary appended instead, capped at ceil(limit 0.3)
22
+ * extra rows. */
60
23
  summarizeOverflow?: boolean;
61
- /**
62
- * Fresh tail. When > 0, prepend the last N kind='raw' rows
63
- * (tenant + scope filtered, dedup against the BM25 hits) so an agent's
64
- * "what did I just see" recall path always covers the recent window
65
- * even when the query terms don't match. Capped at 200. Default 0 = off.
66
- */
24
+ /** Fresh tail (default 0 = off, capped at 200): prepend the last N kind='raw' rows (tenant + scope filtered, deduped against BM25 hits) even when the
25
+ * query terms miss. */
67
26
  freshTailCount?: number;
68
- /**
69
- * Fresh-tail session scope. When set, restricts the fresh-tail
70
- * window to a specific session. Without it, fresh-tail is tenant-wide,
71
- * which surfaces newest rows across ALL sessions — useful for "anything
72
- * new in this tenant", but wrong for "what did I just see in this one
73
- * conversation". Set to ctx-supplied session id for the correct shape.
74
- */
27
+ /** Restricts the fresh-tail window to one session; without it the tail is tenant-wide and surfaces newest rows across ALL sessions. */
75
28
  freshTailSessionId?: string;
76
- /**
77
- * When true, include a continuity block (active task snapshot, latest matching
78
- * session handoff, recent session events) on the result. Default false to keep
79
- * the hot path cheap; agent boot paths should set this to true.
80
- *
81
- * All three lookups are tenant-scoped to ctx.tenantId. On a shared store they are
82
- * the caller's own, keyed by owner and `project`, and empty without a project.
83
- *
84
- * Note: when no active snapshot exists, sessionHandoff is null and
85
- * recentSessionEvents is []. We deliberately do NOT fall back to the latest
86
- * tenant handoff without a session anchor, to avoid resurrecting stale state
87
- * after a session ends. The explicit handoff-without-snapshot path remains
88
- * `hippo session resume`.
89
- */
29
+ /** Include a continuity block (active task snapshot, latest matching handoff, recent session events); default false to keep the hot path cheap.
30
+ * With no active snapshot, sessionHandoff is null and recentSessionEvents is [], so a stale handoff is not resurrected (use `hippo session resume`). */
90
31
  includeContinuity?: boolean;
91
32
  project?: CallerProject;
92
- /**
93
- * When set AND `(ctx.tenantId, sessionId)` has active goals AND
94
- * `goalTag` is unset, `api.recall` applies the dlPFC goal-stack boost lifted
95
- * from CLI cmdRecall. Undefined means no boost.
96
- *
97
- * Why on RecallOpts and not Context: Context is shared by remember/recall/
98
- * assemble/outcome. Goal-stack boost is recall-scoped only.
99
- */
33
+ /** With an active goal stack for `(ctx.tenantId, sessionId)` and `goalTag` unset, `api.recall` applies the goal-stack boost; undefined means no boost.
34
+ * Lives on RecallOpts, not Context, because Context is shared by remember/recall/assemble/outcome and the boost is recall-only. */
100
35
  sessionId?: string;
101
- /**
102
- * Explicit goal-tag override. When set, the goal-stack boost is
103
- * SUPPRESSED (mirrors the CLI's `goalTag === ''` gate). Use to
104
- * pin recall ranking against one specific goal/tag without the multi-goal
105
- * stack interfering.
106
- */
36
+ /** Explicit goal-tag override: when set, the goal-stack boost is SUPPRESSED (mirrors the CLI's `goalTag === ''` gate), pinning ranking to one goal. */
107
37
  goalTag?: string;
108
- /**
109
- * Anchoring detector. Caller-supplied snapshot of the per-
110
- * (tenant, session) recall ring. When present, api.recall computes
111
- * `RecallResult.anchoringHint` against this snapshot + the just-computed
112
- * top-1. When undefined (default), no anchoring detection runs on the
113
- * api.recall surface — but a calling pipeline (CLI cmdRecall, MCP
114
- * hippo_recall) MAY compute its own hint via the shared
115
- * `detectAnchoring()` helper against its own ring + top-1.
116
- *
117
- * Pure read: api.recall NEVER mutates the snapshot or any caller-side
118
- * Map. Caller is responsible for appending to its own ring after the
119
- * recall (passing the resulting hint's memoryId as `anchoredOn` to feed
120
- * the cooldown logic on the NEXT recall).
121
- */
38
+ /** Caller-supplied snapshot of the per-(tenant, session) recall ring; when present, api.recall computes `anchoringHint` from it, else no anchoring runs here.
39
+ * Pure read: api.recall never mutates it; the caller appends to its own ring afterwards, passing the hint's memoryId as `anchoredOn` for the cooldown. */
122
40
  recallHistory?: RecallHistorySnapshot;
123
- /**
124
- * When true, api.recall does NOT compute or emit the
125
- * availabilityHint. Callers that run their OWN per-pipeline availability
126
- * detection over a different result set (the MCP handler computes it over
127
- * physics/hybrid results, not api.recall's BM25 band) pass this to avoid a
128
- * double audit emission and a hint describing a result set the caller never
129
- * surfaces. Mirrors how anchoring only runs when opts.recallHistory
130
- * is supplied. HTTP / direct SDK callers leave this unset and receive the hint.
131
- */
41
+ /** Skip computing and emitting availabilityHint, for callers that run their OWN availability detection over a different result set (e.g. the MCP handler),
42
+ * to avoid a double audit emission and a hint about a set the caller never surfaces. HTTP and direct SDK callers leave it unset. */
132
43
  suppressAvailabilityHint?: boolean;
133
- /**
134
- * Recall trace. When true, api.recall captures the lifecycle re-ranking
135
- * trace (currently the goal-boost step on the primary band) and attaches it
136
- * to each `RecallResultItem` as `rerankTrace`, plus `rerankPipeline:'api'`.
137
- * When undefined/false (default), both fields are absent on EVERY band.
138
- * The api pipeline applies only goal-boost; the richer CLI stages
139
- * (interference/value/utility/reranker/retrieval-count-downweight) are not traced here.
140
- */
44
+ /** Capture the lifecycle re-ranking trace (api applies only goal-boost) as `rerankTrace` plus `rerankPipeline:'api'` on each item; both fields are absent
45
+ * when unset. The richer CLI stages are not traced here. */
141
46
  explain?: boolean;
142
- /**
143
- * When true, api.recall does NOT write a recall_traces row for this call.
144
- * Mirrors `suppressAvailabilityHint`'s pattern: callers that run their OWN
145
- * tracing over a DIFFERENT result set must suppress api.recall's copy so
146
- * the training corpus doesn't get a trace mislabeled as 'api' pipeline
147
- * when the caller's actual user-visible results came from elsewhere. Under
148
- * `showRanked` it also drops the 'mcp' trace of the shown list. HTTP /
149
- * direct SDK callers leave this unset and get the trace.
150
- */
47
+ /** Skip the recall_traces row, for callers that trace their OWN different result set, so the training corpus gets no trace mislabeled 'api'.
48
+ * Under `showRanked` it also drops the 'mcp' trace of the shown list. HTTP and direct SDK callers leave it unset. */
151
49
  suppressRecallTrace?: boolean;
152
50
  /** Set only by the MCP recall tool, which ranks with its own scorer and drops copies from its own final list: this call
153
51
  * then keeps a memory that a merged row in the same result holds word for word. Other callers leave it unset. */
154
52
  keepHeldCopies?: boolean;
155
53
  leadingAudit?: readonly AppendAuditOpts[];
156
- /** MCP recall only: `retrieve` ranks the whole scoped store and strengthens and traces (pipeline 'mcp') just the ids this returns; `results` stays the window band. */
54
+ recordAs?: RecallRecording;
55
+ /** MCP recall only: `retrieve` ranks the whole scoped store and strengthens and traces
56
+ * (pipeline 'mcp') just the ids this returns; `results` stays the window band. */
157
57
  showRanked?: (ranking: StoreRanking, result: RecallResult) => ShownRanking;
158
58
  /** Named ranker: `retrieve` ranks with the CLI ranking core. Unset, it ranks the SQL BM25 band, or the wide hybrid list under `showRanked`. */
159
59
  cliCore?: CliCoreRanker;
@@ -177,13 +77,16 @@ export interface CliCoreRecall extends CliCoreRanking {
177
77
  export interface CliCoreInspection extends CliCoreRanking {
178
78
  inspect: (ranking: RankRecallResult) => void;
179
79
  }
180
- /** The CLI ranking core (`rankRecall`) as a ranker of `retrieve`: host admin only, on hippo.db. Of the other RecallOpts it reads `query`, `sessionId` and `goalTag`. */
80
+ /** The CLI ranking core (`rankRecall`) as a ranker of `retrieve`: host admin only, on
81
+ * hippo.db. Of the other RecallOpts it reads `query`, `sessionId` and `goalTag`. */
181
82
  export type CliCoreRanker = CliCoreRecall | CliCoreInspection;
182
- /** `results`: the rows the caller shows, best first; `audit`: its hint rows, written ahead of the 'recall' row; `tokens`: the text it prints, for the ledger. */
83
+ /** `results`: the rows the caller shows, best first; `audit`: its hint rows, written
84
+ * ahead of the 'recall' row; `tokens`: the text it prints, for the ledger. */
183
85
  export interface ShownCliCore {
184
86
  results: readonly SearchResult[];
185
87
  audit: readonly AppendAuditOpts[];
186
88
  tokens: number;
89
+ anchoredOn?: string;
187
90
  }
188
91
  /** `ids`: what the caller showed; `audit`: its own rows, written after the recall's and in the same transaction, so all land or none. */
189
92
  export interface ShownRanking {
@@ -203,39 +106,18 @@ export interface RecallResultItem {
203
106
  score: number;
204
107
  layer: string;
205
108
  strength: number;
206
- /**
207
- * True when this row is a level-2 topic summary substituted in for
208
- * overflowed children that didn't fit the limit.
209
- */
109
+ /** True for a level-2 topic summary substituted in for overflowed children that did not fit the limit. */
210
110
  isSummary?: boolean;
211
- /**
212
- * IDs of the overflow leaves this summary covers. Caller can drill
213
- * into these via `drillDown` to recover the original detail.
214
- */
111
+ /** IDs of the overflow leaves this summary covers; call `drillDown` on them to recover the detail. */
215
112
  substitutedFor?: string[];
216
113
  /** Cached descendant count from schema v25; non-zero for level-2+ rows. */
217
114
  descendantCount?: number;
218
- /**
219
- * True for rows surfaced via the most-recent-N kind='raw' window, NOT by the
220
- * BM25 query match. Caller can render them in a separate "recent" band.
221
- */
115
+ /** True for rows from the most-recent-N kind='raw' window rather than the BM25 match; render them in a separate "recent" band. */
222
116
  isFreshTail?: boolean;
223
- /**
224
- * Ordered lifecycle re-ranking steps that mutated this
225
- * row's `score` after candidate generation. On the api pipeline this carries
226
- * the goal-boost step (the only re-ranking api.recall applies). Populated
227
- * ONLY when `RecallOpts.explain` is set; absent on the default path
228
- * (additive optional, back-compat per the `windowSize?` precedent;
229
- * `client.ts` deserializes `as RecallResult` so the field rides through).
230
- */
117
+ /** Ordered lifecycle re-ranking steps that mutated this row's `score` after candidate generation (on the api pipeline, only goal-boost).
118
+ * Populated ONLY when `RecallOpts.explain` is set; absent otherwise. */
231
119
  rerankTrace?: RerankStep[];
232
- /**
233
- * Names which pipeline produced `rerankTrace`. `'api'` on
234
- * every band returned by `api.recall` when `explain` is set; the CLI carries
235
- * its trace on `SearchResult` instead and does not set this. Absent on the
236
- * default path. Distinguishes the api pipeline (goal-boost only) from the
237
- * richer CLI pipeline.
238
- */
120
+ /** Pipeline that produced `rerankTrace`: 'api' when api.recall set `explain`; the CLI carries its trace on `SearchResult` and leaves this absent. */
239
121
  rerankPipeline?: 'cli' | 'api';
240
122
  }
241
123
  export interface RecallResult {
@@ -243,170 +125,48 @@ export interface RecallResult {
243
125
  total: number;
244
126
  tokens: number;
245
127
  continuity?: ContinuityBlock;
246
- /**
247
- * Tokens consumed by the continuity block: snapshot (task + summary + next_step)
248
- * + handoff (summary + nextAction + artifacts + constraints + evidence line)
249
- * + every event's full content across the last 5 events. Each measured by Math.ceil(len/4), matching
250
- * the existing `tokens` count and src/search.ts estimateTokens().
251
- * Undefined when continuity not requested. Callers needing a tighter budget
252
- * should truncate event.content themselves before display.
253
- */
128
+ /** Tokens consumed by the continuity block (snapshot, handoff and the last 5 events' full content), each via Math.ceil(len/4) like `tokens`; undefined
129
+ * when not requested. Callers needing a tighter budget should truncate event.content themselves. */
254
130
  continuityTokens?: number;
255
- /**
256
- * Scorer window actually used for this recall. Equals
257
- * `opts.scorerWindow` when set, otherwise the store-internal default
258
- * (200) used by `loadSearchEntries(undefined, ...)`. Reported so
259
- * callers can introspect "did the scorer see enough candidates?"
260
- * without re-deriving the value.
261
- *
262
- * Optional in the type to keep `RecallResult` literal-construction
263
- * back-compatible with test fakes / mocks that predate the field.
264
- * Always present on values returned by `api.recall` itself; consumers
265
- * reading from `api.recall` can treat it as defined.
266
- */
131
+ /** Scorer window used for this recall: `opts.scorerWindow`, else the store default (200). Optional in the type so test fakes built before the field still
132
+ * compile; always present on values returned by `api.recall`. */
267
133
  windowSize?: number;
268
- /**
269
- * WYSIATI cutoff transparency. When present, gives the
270
- * calling agent a per-pipeline breakdown of what was excluded from
271
- * `results[]` and why. Always populated by `api.recall`, `cmdRecall`, and
272
- * the MCP `hippo_recall` handler. Optional in the type for back-compat
273
- * with test fakes / mocks (same pattern as `windowSize?`).
274
- *
275
- * Counters reflect actual filter activity in the pipeline that produced
276
- * THIS specific RecallResult. api.recall counts its own filter sites;
277
- * cmdRecall counts its (richer) filter sites; MCP counts the physics/
278
- * hybrid pipeline's filter sites. Shape is identical across surfaces;
279
- * numbers are honest per-path reports, NOT normalised cross-pipeline
280
- * counts.
281
- */
134
+ /** WYSIATI cutoff transparency: what was excluded from `results[]` and why, always populated by `api.recall`, `cmdRecall` and the MCP `hippo_recall` handler.
135
+ * Counters are per-pipeline reports of that pipeline's own filter sites, not normalised across pipelines. Optional for test fakes. */
282
136
  suppressionSummary?: RecallSuppressionSummary;
283
- /**
284
- * Auto-injected planning-fallacy hint. When the recall
285
- * query carries a forward-prediction phrase ("will take ~3 days", "ship
286
- * by Friday", "ETA in 2 weeks") AND the closest matching prediction
287
- * class has closed historical data, this carries the base-rate stats so
288
- * the calling agent sees its track record at the moment of forecasting
289
- * (Lovallo-Kahneman 2003 inside-vs-outside view).
290
- *
291
- * Populated by `api.recall` itself via `decidePlanningFallacy`.
292
- * Pipeline-invariant: the value depends only on (queryText, tenantId,
293
- * predictions table state) — all three are identical regardless of
294
- * which downstream search pipeline produces the memory list, so MCP
295
- * and CLI both read this field as the single source of truth (unlike
296
- * `suppressionSummary` which is per-pipeline).
297
- *
298
- * Optional in the type so existing test fakes / mocks of RecallResult
299
- * remain valid (same pattern as `windowSize?` / `suppressionSummary?`).
300
- * Disabled by setting `HIPPO_AUTODEBIAS=off`.
301
- */
137
+ /** Planning-fallacy hint: base-rate stats when the query carries a forward-prediction phrase and the closest prediction class has closed data.
138
+ * Pipeline-invariant (depends only on queryText, tenantId, predictions state), so MCP and CLI read it from here. Disabled by `HIPPO_AUTODEBIAS=off`. */
302
139
  planningFallacyHint?: PlanningFallacyHint;
303
- /**
304
- * "Watching" variant emitted when the
305
- * forward-claim regex matched but no baserate could be produced
306
- * (either because no prediction class scored ≥ 1 on token overlap,
307
- * or because ≥2 classes tied at the best score). Mutually exclusive
308
- * with `planningFallacyHint`: at most one of the two is set per
309
- * recall. Natural-language queries rarely share non-stopword tokens
310
- * with class tags, so without it the hint would mostly stay silent. The watching
311
- * variant gives the agent enough signal to either re-tag the
312
- * prediction or pass the suggestion through to the user.
313
- *
314
- * Pipeline-invariant same as `planningFallacyHint`. Honoured by
315
- * api.recall, cmdRecall, and MCP handler render paths.
316
- * Disabled by setting `HIPPO_AUTODEBIAS=off`.
317
- */
140
+ /** "Watching" variant emitted when the forward-claim regex matched but no baserate could be produced (no class overlap, or a tie at the best score).
141
+ * Mutually exclusive with `planningFallacyHint`; pipeline-invariant. Disabled by `HIPPO_AUTODEBIAS=off`. */
318
142
  planningFallacyWatching?: PlanningFallacyWatching;
319
- /**
320
- * Recall-recurrence anchoring hint. Populated
321
- * when api.recall's `opts.recallHistory` snapshot + the just-computed
322
- * top-1 satisfy the query_repeat or memory_dominance rule.
323
- *
324
- * Per-pipeline detection: each pipeline (api.recall, cmdRecall, MCP)
325
- * computes its OWN hint against its OWN top-1. This field reflects
326
- * api.recall's compute ONLY. On CLI-routed call paths cmdRecall does
327
- * NOT thread its ring snapshot through `opts.recallHistory`, so this
328
- * field is null on CLI-routed calls even when CLI's own hint fires
329
- * (the user-visible hint there comes from cmdRecall's parallel
330
- * compute, surfaced via the CLI render path + cmdSuppressionSummary).
331
- * Non-null on direct SDK / HTTP-routed invocations where the caller
332
- * threads its own ring snapshot.
333
- *
334
- * Disabled by setting `HIPPO_ANCHORING=off`.
335
- */
143
+ /** Anchoring hint from api.recall's own compute against `opts.recallHistory` (query_repeat or memory_dominance); each pipeline computes its OWN hint.
144
+ * Null on CLI-routed calls, since cmdRecall does not thread its ring through `opts.recallHistory`. Disabled by `HIPPO_ANCHORING=off`. */
336
145
  anchoringHint?: AnchoringHint;
337
- /**
338
- * Availability/recency-bias hint. Per-pipeline (computed
339
- * against this pipeline's own returned top-K + the matched candidate pool
340
- * it was drawn from), soft-warning ONLY: never filters, reorders, or
341
- * suppresses a result. Fires when the returned slice is recency-dominated
342
- * while substantially older relevant matches in the same pool were passed
343
- * over. Disabled by setting `HIPPO_AVAILABILITY=off`.
344
- */
146
+ /** Availability/recency-bias hint: per-pipeline, soft warning only (never filters or reorders); fires when the returned slice is recency-dominated
147
+ * while older relevant matches in the pool were passed over. Disabled by `HIPPO_AVAILABILITY=off`. */
345
148
  availabilityHint?: AvailabilityHint;
346
149
  }
347
- /**
348
- * WYSIATI cutoff transparency.
349
- *
350
- * Surfaces what the recall pipeline excluded from `results[]` so the calling
351
- * agent does not treat the cutoff as the full picture (Kahneman's "What You
352
- * See Is All There Is" failure mode, TFAS ch. 7). Each counter reflects
353
- * filter activity in the pipeline that produced this RecallResult; counts
354
- * are honest per-path reports, not normalised cross-pipeline numbers.
355
- *
356
- * See `buildSuppressionSummary` for the shared construction helper used by
357
- * all three pipelines (api.recall, cmdRecall, MCP).
358
- */
150
+ /** WYSIATI cutoff transparency: what the pipeline excluded from `results[]`, so the agent does not treat the cutoff as the full picture.
151
+ * Counters are honest per-path reports of the pipeline that produced this RecallResult, not normalised across pipelines. */
359
152
  export interface RecallSuppressionSummary {
360
- /** Total candidates loaded from the store, before any post-load filter or
361
- * limit cut. Per-pipeline source:
362
- * - api.recall: `all.length` immediately after `loadRecallSearchEntries`
363
- * - cmdRecall: candidate count immediately after the initial load
364
- * - MCP physics/hybrid: count of entries passed to physicsSearch/hybridSearch
365
- */
153
+ /** Candidates loaded from the store before any post-load filter or limit cut;
154
+ * each pipeline counts at its own load (api.recall: after `loadRecallSearchEntries`). */
366
155
  totalCandidates: number;
367
- /** Candidates dropped by any non-budget filter site (pre-rank OR post-rank,
368
- * but NOT the final budget cut). Field name retains the `preRank` label
369
- * for the original framing; semantically: any filter drop that is not the
370
- * final limit slice. Per-pipeline source:
371
- * - api.recall: `all.length - entries.length` (private-scope JS filter + scope-mismatch defense; pre-rank)
372
- * - cmdRecall: SUM of drops from `--as-of`, default-drop of superseded (when `--include-superseded` not set), `--filter-conflicts` (`.filter` drop only), `--outcome` (post-rank), `--layer` (post-rank). `--salience-threshold` HARD drops would also land here; current implementation is soft-rebalance only (logged in `ScoreBreakdown`, not here).
373
- * - MCP physics/hybrid: scope-filter drops at the MCP handler before physicsSearch
374
- */
156
+ /** Candidates dropped by any non-budget filter site, pre- or post-rank; the final limit slice is counted in droppedByBudget instead.
157
+ * Each pipeline counts its own filters (cmdRecall: --as-of, superseded, --filter-conflicts, --outcome, --layer; MCP: scope filter before search). */
375
158
  droppedPreRank: number;
376
- /** Candidates loaded but excluded by the final `limit` slice after scoring.
377
- * Per-pipeline source:
378
- * - api.recall: `entries.length - baseSlice.length`
379
- * - cmdRecall: pre-slice candidate count minus final slice count
380
- * - MCP physics/hybrid: pre-slice minus post-slice at the physics/hybrid limit
381
- */
159
+ /** Candidates loaded but cut by the final `limit` slice after scoring (api.recall: `entries.length - baseSlice.length`; other pipelines count pre- minus
160
+ * post-slice). */
382
161
  droppedByBudget: number;
383
- /** Substituted DAG-L2 summaries added back to mitigate overflow.
384
- * Per-pipeline source:
385
- * - api.recall: `substituted.length` after the `summarizeOverflow` block
386
- * - cmdRecall: 0 (CLI does not run summarizeOverflow)
387
- * - MCP physics/hybrid: count of summary rows appended from apiResult.tailOrSummary
388
- */
162
+ /** DAG-L2 summaries substituted back in to mitigate overflow (api.recall: after the `summarizeOverflow` block; cmdRecall: 0; MCP: rows from
163
+ * apiResult.tailOrSummary). */
389
164
  summarySubstitutionsAdded: number;
390
- /** Fresh-tail `kind='raw'` rows prepended.
391
- * Per-pipeline source:
392
- * - api.recall: `freshRanked.length` when `freshTailCount > 0`; else 0
393
- * - cmdRecall: 0 (CLI does not currently expose fresh-tail)
394
- * - MCP physics/hybrid: count of fresh-tail rows appended from apiResult.tailOrSummary
395
- */
165
+ /** Fresh-tail `kind='raw'` rows prepended (api.recall: `freshRanked.length` when `freshTailCount > 0`; cmdRecall: 0; MCP: rows from
166
+ * apiResult.tailOrSummary). */
396
167
  freshTailAdded: number;
397
- /** Counter of memories suppressed by detected interference patterns.
398
- * Incremented by 1 PER PIPELINE when that
399
- * pipeline's own memory_dominance verdict fires (via the
400
- * anchoring detector, see `detectAnchoring()` in src/api/recall-history.ts).
401
- * Each pipeline (api.recall, cmdRecall, MCP physics/hybrid) bumps its
402
- * OWN suppressionSummary independently because each runs its own
403
- * detector against its own top-1 + its own per-(tenant, session) ring
404
- * buffer. The number reflects this-pipeline interference only; not a
405
- * cross-pipeline aggregate.
406
- *
407
- * No `interference_suppression` table exists; the detector uses
408
- * caller-side in-memory rings instead.
409
- */
168
+ /** Memories suppressed by interference: incremented by 1 PER PIPELINE when its own memory_dominance verdict fires (see `detectAnchoring()` in
169
+ * src/api/recall-history.ts). Each pipeline bumps its OWN summary from its own detector and ring buffer, so this is not a cross-pipeline aggregate. */
410
170
  suppressedByInterference: number;
411
171
  }
412
172
  //# sourceMappingURL=recall-types.d.ts.map
@@ -1,37 +1,6 @@
1
- import type { RecallSuppressionSummary, RecallOpts, RecallResult } from './recall-types.js';
1
+ import type { RecallOpts, RecallResult } from './recall-types.js';
2
2
  import { type Context } from './types.js';
3
- /**
4
- * Shared construction helper for `RecallSuppressionSummary`. Used by
5
- * `api.recall`, `cmdRecall`, and the MCP `hippo_recall` handler so all three
6
- * pipelines produce the same shape without duplicating field-construction
7
- * logic. Pass-through identity today; kept as a helper so future field
8
- * additions land at one site.
9
- */
10
- export declare function buildSuppressionSummary(counts: {
11
- totalCandidates: number;
12
- droppedPreRank: number;
13
- droppedByBudget: number;
14
- summarySubstitutionsAdded: number;
15
- freshTailAdded: number;
16
- suppressedByInterference: number;
17
- }): RecallSuppressionSummary;
18
- /**
19
- * Domain-level recall on hippo.db only, never `ctx.store`, since it is synchronous: under another store its first open throws
20
- * `SqliteBlockedError`. Loads BM25-ranked candidates from SQLite scoped to
21
- * `ctx.tenantId` and keeps that order whatever `mode` says; `retrieve` is the
22
- * mode-aware, strengthening variant the HTTP route uses.
23
- *
24
- * **api.recall does NOT mutate `index.last_retrieval_ids`** (contract
25
- * lock). The CLI `cmdRecall` (cli.ts) writes `last_retrieval_ids` because the
26
- * CLI is interactive (user is about to run `hippo outcome --good`). SDK callers
27
- * are programmatic: they either pass explicit ids to `api.outcome` or call
28
- * `api.getContext` first for the context-then-outcome workflow (getContext
29
- * DOES write `last_retrieval_ids`). Adding the side-effect here would change
30
- * `api.recall` from a pure read into a read+write, breaking SDK callers who
31
- * batch recall calls in a row. Locked by
32
- * `tests/api-recall-no-side-effects.test.ts`.
33
- */
34
- export declare function recall(ctx: Context, opts: RecallOpts): RecallResult;
35
- /** The one recall entry: ranks with the ranker `opts` names, then writes the recall. Only the CLI core ranker writes last_retrieval_ids (contract lock). */
3
+ /** The one recall entry: ranks with the ranker `opts` names, then writes the recall, and records it in full for a surface that sets `recordAs`.
4
+ * Only the CLI core ranker writes last_retrieval_ids (contract lock). */
36
5
  export declare function retrieve(ctx: Context, opts: RecallOpts): Promise<RecallResult>;
37
6
  //# sourceMappingURL=recall.d.ts.map