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
@@ -1,40 +1,36 @@
1
1
  // Verbs that move memories in and out: watch, learn, import, export, promote, sync, share and peers.
2
2
  import * as path from 'path';
3
3
  import * as fs from 'fs';
4
- import { calculateStrength, deriveHalfLife } from '../core/memory.js';
5
- import { isInitialized } from '../store/open.js';
6
- import { writeEntry } from '../store/entry-writes.js';
7
- import { readEntry, loadAllEntries } from '../store/entry-reads.js';
8
- import { schemaFitInStore } from '../store/candidates.js';
9
- import { updateStats } from '../store/index-and-stats.js';
10
- import { RejectedValueError } from '../store/rejection.js';
11
- import { embedAll, embedMemory, loadEmbeddingIndex } from '../store/embeddings/index.js';
12
- import { loadConfig } from '../core/config.js';
4
+ import { isInitialized } from '../core/project-identity.js';
5
+ import { RejectedValueError } from '../core/api-errors.js';
6
+ import { embedCoverage, embedMissingMemories } from '../api/embeddings.js';
13
7
  import { captureError, runWatched } from '../learn/autolearn.js';
14
8
  import { currentMachine, importAtSessionEnd, importForStore } from '../agent-memories/sync.js';
15
9
  import { detailLines } from '../agent-memories/report.js';
16
- import { getGlobalRoot, initGlobal, shareMemory, listPeers, autoShare, transferScore, syncGlobalToLocal, } from '../sharing/shared.js';
10
+ import { getGlobalRoot, initGlobal } from '../sharing/global-store.js';
11
+ import { AUTO_SHARE_MIN_SCORE, shareMemory, listPeers, autoShare, transferScore } from '../sharing/share.js';
12
+ import { syncGlobalToLocal } from '../sharing/global-sync.js';
17
13
  import { importChatGPT, importClaude, importCursor, importGenericFile, } from '../importers/sources.js';
18
14
  import { importMarkdown } from '../importers/markdown.js';
19
15
  import { importVault } from '../importers/vault.js';
20
16
  import * as api from '../api/index.js';
17
+ import { getMemory, listMemories } from '../api/memories.js';
21
18
  import * as client from './client.js';
22
- import { resolveTenantId } from '../store/tenant.js';
19
+ import { cliApiContext } from './api-context.js';
23
20
  import { printError } from './output.js';
24
21
  import { errorMessage, log } from '../util/log.js';
25
22
  import { requireInit, runViaServerIfAvailable, learnFromRepo } from './shared.js';
26
23
  import { fmt } from './print.js';
27
- import { boolFlag, flagIsTrue, nonEmptyStringFlag } from './flag-values.js';
24
+ import { boolFlag, flagIsTrue, isStringFlag, nonEmptyStringFlag, numberFlag } from './flag-values.js';
28
25
  import { CONTENT_PREVIEW_CHARS, DATE_PREFIX_CHARS } from '../util/token-text.js';
26
+ import { CliExit } from './exit.js';
29
27
  const STDERR_PREVIEW_CHARS = 80;
30
28
  const MAX_ENTRIES_SHOWN = 10;
31
- // ---------------------------------------------------------------------------
32
29
  // Watch command
33
- // ---------------------------------------------------------------------------
34
- async function cmdWatch(command, hippoRoot) {
30
+ async function cmdWatch(command, hippoRoot, tenantId) {
35
31
  if (!command) {
36
32
  printError('Usage: hippo watch "<command>"');
37
- process.exit(1);
33
+ throw new CliExit(1);
38
34
  }
39
35
  const { exitCode, stderr } = await runWatched(command);
40
36
  if (exitCode === 0) {
@@ -44,18 +40,21 @@ async function cmdWatch(command, hippoRoot) {
44
40
  // Only create memory if hippo is initialized
45
41
  if (!isInitialized(hippoRoot)) {
46
42
  printError('Command failed but .hippo not initialized. Run `hippo init` to enable auto-learn.');
47
- process.exit(exitCode);
43
+ throw new CliExit(exitCode);
48
44
  }
49
- const entry = captureError(exitCode, stderr, command, resolveTenantId({}));
50
- entry.schema_fit = schemaFitInStore(hippoRoot, entry.tenantId, entry.content, entry.tags);
51
- entry.half_life_days = deriveHalfLife(loadConfig(hippoRoot).defaultHalfLifeDays, entry);
52
- entry.strength = calculateStrength(entry);
45
+ const failure = captureError(exitCode, stderr, command, tenantId);
53
46
  // A rejection-guard refusal of a failed command's output must not crash the watcher:
54
47
  // skip with the message below and still exit with the wrapped command's real exit code.
55
48
  try {
56
- writeEntry(hippoRoot, entry);
57
- updateStats(hippoRoot, { remembered: 1 });
58
- void embedMemory(hippoRoot, entry);
49
+ api.rememberLocally(cliApiContext(hippoRoot, tenantId), {
50
+ content: failure.content,
51
+ tags: failure.tags,
52
+ layer: failure.layer,
53
+ source: failure.source,
54
+ confidence: failure.confidence,
55
+ // A failure is stored each time it happens: watch has never put it to the salience gate.
56
+ force: true,
57
+ });
59
58
  const preview = stderr.trim().slice(0, STDERR_PREVIEW_CHARS);
60
59
  printError(`\nHippo learned from failure: "${preview}"`);
61
60
  }
@@ -67,18 +66,16 @@ async function cmdWatch(command, hippoRoot) {
67
66
  throw err;
68
67
  }
69
68
  }
70
- process.exit(exitCode);
69
+ throw new CliExit(exitCode);
71
70
  }
72
- // ---------------------------------------------------------------------------
73
71
  // Learn command
74
- // ---------------------------------------------------------------------------
75
- export function cmdLearn(hippoRoot, flags) {
72
+ export function handleLearn({ hippoRoot, tenantId, flags }) {
76
73
  requireInit(hippoRoot);
77
74
  if (!flags['git']) {
78
75
  printError('Usage: hippo learn --git [--days <n>] [--repos <paths>]');
79
- process.exit(1);
76
+ throw new CliExit(1);
80
77
  }
81
- const days = parseInt(String(flags['days'] ?? '7'), 10);
78
+ const days = numberFlag(flags, 'days') ?? 7;
82
79
  console.log(`Scanning git log for the last ${days} days...`);
83
80
  const reposFlag = nonEmptyStringFlag(flags, 'repos');
84
81
  if (reposFlag) {
@@ -87,37 +84,41 @@ export function cmdLearn(hippoRoot, flags) {
87
84
  let totalSkipped = 0;
88
85
  for (const repo of repos) {
89
86
  const label = path.basename(repo);
90
- const { added, skipped } = learnFromRepo(hippoRoot, repo, days, label);
87
+ const { added, skipped } = learnFromRepo(hippoRoot, tenantId, repo, days, label);
91
88
  totalAdded += added;
92
89
  totalSkipped += skipped;
93
90
  }
94
91
  console.log(`Git learn complete: ${totalAdded} new lessons added, ${totalSkipped} duplicates skipped across ${repos.length} repos.`);
95
92
  }
96
93
  else {
97
- const { added, skipped } = learnFromRepo(hippoRoot, process.cwd(), days);
94
+ const { added, skipped } = learnFromRepo(hippoRoot, tenantId, process.cwd(), days);
98
95
  console.log(`Git learn complete: ${added} new lessons added, ${skipped} duplicates skipped.`);
99
96
  }
100
97
  }
101
- // ---------------------------------------------------------------------------
102
98
  // Import command
103
- // ---------------------------------------------------------------------------
104
99
  /** The rows are saved either way; a failed backfill only delays vectors, so it warns with how many wait and the command that finishes them. */
105
- function warnBackfillFailed(root, embedCommand, err) {
100
+ function warnBackfillFailed(ctx, embedCommand, err) {
106
101
  let waiting;
107
102
  try {
108
- const vectors = loadEmbeddingIndex(root);
109
- waiting = String(loadAllEntries(root).filter((entry) => !Object.hasOwn(vectors, entry.id)).length);
103
+ const { memoryIds, vectorIds } = embedCoverage(ctx);
104
+ const embedded = new Set(vectorIds);
105
+ waiting = String(memoryIds.filter((id) => !embedded.has(id)).length);
110
106
  }
111
107
  catch (countErr) {
112
108
  waiting = `an unknown number of (count failed: ${errorMessage(countErr)})`;
113
109
  }
114
110
  log.warn(`import: embedding backfill failed (${errorMessage(err)}); ${waiting} rows have no vector; run '${embedCommand}' to backfill`);
115
111
  }
112
+ /** Batch-embed freshly imported rows. The floating promise is deliberate: libuv keeps the process alive until it settles, and awaiting
113
+ * would block the CLI on model load; `hippo embed` is the backstop if interrupted. */
114
+ function backfillVectors(ctx, embedCommand) {
115
+ void embedMissingMemories(ctx).catch((err) => warnBackfillFailed(ctx, embedCommand, err));
116
+ }
116
117
  function warnRedacted(count) {
117
118
  if (count)
118
119
  printError(`Warning: secret-shaped text was redacted from ${count} imported ${count === 1 ? 'entry' : 'entries'} before storing`);
119
120
  }
120
- export function cmdImport(hippoRoot, args, flags) {
121
+ export function handleImport({ hippoRoot, tenantId, args, flags }) {
121
122
  const useGlobal = boolFlag(flags, 'global');
122
123
  const dryRun = boolFlag(flags, 'dry-run');
123
124
  const extraTags = Array.isArray(flags['tag'])
@@ -140,15 +141,11 @@ export function cmdImport(hippoRoot, args, flags) {
140
141
  extraTags,
141
142
  hippoRoot,
142
143
  };
143
- // Vault import: a FOLDER importer that mirrors the connector pattern
144
- // (kind='raw' + tag provenance + archiveRaw deletions), so it dispatches
145
- // separately from the single-file `importer` function-pointer slot below.
146
- // It writes through api.remember/archiveRaw which are tenant-scoped, so we
147
- // resolve the tenant and pass it through. --global is not supported for
148
- // vault import (the connector raw-archive path is tenant-local).
144
+ // Vault import is a FOLDER importer that dispatches apart from the single-file slot below; it writes through tenant-scoped api calls,
145
+ // so the tenant is resolved and passed through. --global is unsupported (the connector raw-archive path is tenant-local).
149
146
  if (flags['vault'])
150
- return importVaultFolder(hippoRoot, flags, importOptions, useGlobal, dryRun);
151
- importFromFile(targetRoot, args, flags, { importOptions, useGlobal, dryRun });
147
+ return importVaultFolder(hippoRoot, tenantId, flags, importOptions, useGlobal, dryRun);
148
+ importFromFile(targetRoot, args, flags, { importOptions, useGlobal, dryRun, tenantId });
152
149
  }
153
150
  // Determine which importer to use based on flag
154
151
  function pickImporter(args, flags) {
@@ -168,25 +165,20 @@ function pickImporter(args, flags) {
168
165
  return { filePath: undefined, importer: undefined, importerName: '' };
169
166
  }
170
167
  function importFromFile(targetRoot, args, flags, options) {
171
- const { importOptions, useGlobal, dryRun } = options;
168
+ const { importOptions, useGlobal, dryRun, tenantId } = options;
172
169
  const { filePath, importer, importerName } = pickImporter(args, flags);
173
170
  if (!filePath || !importer) {
174
171
  printError('Usage: hippo import <--chatgpt|--claude|--cursor|--file|--markdown|--vault> <path>, or hippo import --agents [--dry-run]');
175
- process.exit(1);
172
+ throw new CliExit(1);
176
173
  }
177
174
  if (!fs.existsSync(filePath)) {
178
175
  printError(`File not found: ${filePath}`);
179
- process.exit(1);
176
+ throw new CliExit(1);
180
177
  }
181
178
  const result = importer(filePath, importOptions);
182
- // Batch producer: embed newly-imported rows on targetRoot in one pass
183
- // rather than per-row (importers.ts writeEntry sites don't embed). The
184
- // floating promise is deliberate: libuv keeps the process alive until it
185
- // settles, so it is not dropped on process exit; `hippo embed --global` (or
186
- // a local `hippo embed`) is the backstop if it does get interrupted. Do not
187
- // "fix" this by awaiting it, that would block the CLI on model load/backfill.
179
+ // The importers' writeEntry sites don't embed, so the new rows are embedded here in one pass.
188
180
  if (!dryRun && result.imported >= 1) {
189
- void embedAll(targetRoot).catch((err) => warnBackfillFailed(targetRoot, useGlobal ? 'hippo embed --global' : 'hippo embed', err));
181
+ backfillVectors(cliApiContext(targetRoot, tenantId), useGlobal ? 'hippo embed --global' : 'hippo embed');
190
182
  }
191
183
  const storeLabel = useGlobal ? `global (${getGlobalRoot()})` : targetRoot;
192
184
  printFileImportSummary(result, importerName, filePath, storeLabel, dryRun);
@@ -227,10 +219,9 @@ function importAgentMemories(hippoRoot, useGlobal, dryRun) {
227
219
  for (const warning of report.warnings)
228
220
  printError(`hippo: agent memories: ${warning}`);
229
221
  }
230
- function importVaultFolder(hippoRoot, flags, importOptions, useGlobal, dryRun) {
222
+ function importVaultFolder(hippoRoot, tenantId, flags, importOptions, useGlobal, dryRun) {
231
223
  const folderPath = String(flags['vault']);
232
224
  checkVaultArgs(folderPath, flags, useGlobal);
233
- const tenantId = resolveTenantId({});
234
225
  const vaultOptions = {
235
226
  ...importOptions,
236
227
  tenantId,
@@ -238,32 +229,31 @@ function importVaultFolder(hippoRoot, flags, importOptions, useGlobal, dryRun) {
238
229
  scope: flags['scope'] ? String(flags['scope']) : undefined,
239
230
  };
240
231
  const vaultResult = importVault(folderPath, vaultOptions);
241
- printVaultSummary(vaultResult, folderPath, hippoRoot, dryRun);
232
+ printVaultSummary(vaultResult, folderPath, cliApiContext(hippoRoot, tenantId), dryRun);
242
233
  }
243
234
  function checkVaultArgs(folderPath, flags, useGlobal) {
244
235
  if (!fs.existsSync(folderPath) || !fs.statSync(folderPath).isDirectory()) {
245
236
  printError(`Vault folder not found (or not a directory): ${folderPath}`);
246
- process.exit(1);
237
+ throw new CliExit(1);
247
238
  }
248
239
  if (useGlobal) {
249
240
  printError('hippo import --vault does not support --global (raw rows are tenant-local).');
250
- process.exit(1);
241
+ throw new CliExit(1);
251
242
  }
252
- if (typeof flags['name'] !== 'string' || !flags['name'].trim()) {
243
+ if (!isStringFlag(flags['name']) || !flags['name'].trim()) {
253
244
  // --name keys the destructive source-deletion sync; a folder-basename default lets same-basename vaults clobber
254
245
  // each other, and a valueless `--name` (boolean true) would silently import under vault:true:*.
255
246
  printError('hippo import --vault requires --name <vault> (a non-empty identity key for source-deletion sync).');
256
- process.exit(1);
247
+ throw new CliExit(1);
257
248
  }
258
- if (flags['scope'] !== undefined && (typeof flags['scope'] !== 'string' || !flags['scope'].trim())) {
259
- // Same valueless-flag trap: a bare `--scope` must not become scope "true".
260
- // Example uses the source-prefixed private form, since a bare `private` scope
261
- // is NOT treated as private by recall and importVault rejects it.
249
+ if (flags['scope'] !== undefined && (!isStringFlag(flags['scope']) || !flags['scope'].trim())) {
250
+ // Same valueless-flag trap: a bare `--scope` must not become scope "true". The example uses the source-prefixed private form,
251
+ // since a bare `private` scope is not treated as private by recall and importVault rejects it.
262
252
  printError('hippo import --vault: --scope requires a value (e.g. --scope vault:private:notes).');
263
- process.exit(1);
253
+ throw new CliExit(1);
264
254
  }
265
255
  }
266
- function printVaultSummary(vaultResult, folderPath, hippoRoot, dryRun) {
256
+ function printVaultSummary(vaultResult, folderPath, ctx, dryRun) {
267
257
  console.log(`\nImport Vault: ${folderPath}${dryRun ? ' (dry run - no writes)' : ''}`);
268
258
  console.log(` Notes found: ${vaultResult.total}`);
269
259
  console.log(` ${dryRun ? 'Would import: ' : 'Imported: '}${vaultResult.imported}`);
@@ -273,28 +263,19 @@ function printVaultSummary(vaultResult, folderPath, hippoRoot, dryRun) {
273
263
  }
274
264
  warnRedacted(vaultResult.redacted);
275
265
  console.log(` ${dryRun ? 'Would archive: ' : 'Archived (removed): '}${vaultResult.archived ?? 0}`);
276
- console.log(` Store: ${hippoRoot}`);
277
- // Batch producer, same contract as the single-file import above: vault rows
278
- // write through api.remember (which never embeds), so backfill them here.
279
- // Floating promise is deliberate; see the comment at the single-file site.
280
- if (!dryRun && vaultResult.imported >= 1) {
281
- void embedAll(hippoRoot).catch((err) => warnBackfillFailed(hippoRoot, 'hippo embed', err));
282
- }
266
+ console.log(` Store: ${ctx.hippoRoot}`);
267
+ // Vault rows write through api.remember, which never embeds, so backfill them as the single-file import does.
268
+ if (!dryRun && vaultResult.imported >= 1)
269
+ backfillVectors(ctx, 'hippo embed');
283
270
  }
284
- // ---------------------------------------------------------------------------
285
271
  // Promote command
286
- // ---------------------------------------------------------------------------
287
- function cmdPromote(hippoRoot, id) {
272
+ function cmdPromote(hippoRoot, tenantId, id) {
288
273
  requireInit(hippoRoot);
289
274
  if (!id) {
290
275
  printError('Usage: hippo promote <id>');
291
- process.exit(1);
276
+ throw new CliExit(1);
292
277
  }
293
- const ctx = {
294
- hippoRoot,
295
- tenantId: resolveTenantId({}),
296
- actor: api.adminActor('cli'),
297
- };
278
+ const ctx = cliApiContext(hippoRoot, tenantId);
298
279
  try {
299
280
  const result = api.promote(ctx, id);
300
281
  console.log(`Promoted ${id} to global store as ${result.globalId}`);
@@ -302,13 +283,11 @@ function cmdPromote(hippoRoot, id) {
302
283
  }
303
284
  catch (err) {
304
285
  printError(`Failed to promote: ${errorMessage(err)}`);
305
- process.exit(1);
286
+ throw new CliExit(1);
306
287
  }
307
288
  }
308
- // ---------------------------------------------------------------------------
309
289
  // Sync command
310
- // ---------------------------------------------------------------------------
311
- export function cmdSync(hippoRoot, flags = {}) {
290
+ export function handleSync({ hippoRoot, flags }) {
312
291
  requireInit(hippoRoot);
313
292
  const globalRoot = getGlobalRoot();
314
293
  if (!isInitialized(globalRoot)) {
@@ -318,17 +297,18 @@ export function cmdSync(hippoRoot, flags = {}) {
318
297
  // v39: other-project rows are skipped by default; secrets always are.
319
298
  const includeCrossProject = flagIsTrue(flags, 'cross-project');
320
299
  const count = syncGlobalToLocal(hippoRoot, globalRoot, { includeCrossProject });
321
- console.log(`Synced ${count} global memories into local project.${includeCrossProject ? '' : ' (other-project rows skipped; use --cross-project to include them)'}`);
300
+ console.log(`Synced ${count} global memories into local project.${includeCrossProject ? '' : ' (other-project rows skipped; use --cross-project to ' +
301
+ 'include them)'}`);
322
302
  }
323
- export async function handleWatch({ hippoRoot, args }) {
303
+ export async function handleWatch({ hippoRoot, tenantId, args }) {
324
304
  const watchCmd = args.join(' ').trim();
325
- await cmdWatch(watchCmd, hippoRoot);
305
+ await cmdWatch(watchCmd, hippoRoot, tenantId);
326
306
  }
327
- export async function handlePromote({ hippoRoot, args }) {
307
+ export async function handlePromote({ hippoRoot, tenantId, args }) {
328
308
  const id = args[0];
329
309
  if (!id) {
330
310
  printError('Please provide a memory ID.');
331
- process.exit(1);
311
+ throw new CliExit(1);
332
312
  }
333
313
  const promoted = await runViaServerIfAvailable(hippoRoot, async (info, apiKey) => {
334
314
  try {
@@ -337,21 +317,21 @@ export async function handlePromote({ hippoRoot, args }) {
337
317
  }
338
318
  catch (err) {
339
319
  printError(`Failed to promote: ${errorMessage(err)}`);
340
- process.exit(1);
320
+ throw new CliExit(1);
341
321
  }
342
322
  });
343
323
  if (promoted)
344
324
  return;
345
- cmdPromote(hippoRoot, id);
325
+ cmdPromote(hippoRoot, tenantId, id);
346
326
  }
347
- export function handleShare({ hippoRoot, args, flags }) {
327
+ export async function handleShare({ hippoRoot, tenantId, args, flags }) {
348
328
  const shareId = args[0];
349
329
  if (shareId === '--auto' || flags['auto']) {
350
330
  // Auto-share mode
351
331
  requireInit(hippoRoot);
352
- const minScore = parseFloat(String(flags['min-score'] ?? '0.6'));
332
+ const minScore = numberFlag(flags, 'min-score') ?? AUTO_SHARE_MIN_SCORE;
353
333
  const dryRun = boolFlag(flags, 'dry-run');
354
- const results = autoShare(hippoRoot, { minScore, dryRun, tenantId: resolveTenantId({}) });
334
+ const results = autoShare(hippoRoot, { minScore, dryRun, tenantId });
355
335
  if (results.length === 0) {
356
336
  console.log('No memories meet the sharing threshold.');
357
337
  }
@@ -372,14 +352,13 @@ export function handleShare({ hippoRoot, args, flags }) {
372
352
  else if (shareId) {
373
353
  requireInit(hippoRoot);
374
354
  const force = boolFlag(flags, 'force');
375
- const tenantId = resolveTenantId({});
376
355
  const result = shareMemory(hippoRoot, shareId, { force, tenantId });
377
356
  if (result) {
378
357
  console.log(`Shared [${result.id}] to global store.`);
379
358
  console.log(` Source: ${result.source}`);
380
359
  }
381
360
  else {
382
- const entry = readEntry(hippoRoot, shareId, tenantId);
361
+ const entry = await getMemory(cliApiContext(hippoRoot, tenantId), shareId);
383
362
  if (entry) {
384
363
  const score = transferScore(entry);
385
364
  console.log(`Transfer score too low (${fmt(score)}). This memory looks project-specific.`);
@@ -387,19 +366,19 @@ export function handleShare({ hippoRoot, args, flags }) {
387
366
  }
388
367
  else {
389
368
  printError(`Memory not found: ${shareId}`);
390
- process.exit(1);
369
+ throw new CliExit(1);
391
370
  }
392
371
  }
393
372
  }
394
373
  else {
395
374
  printError('Usage: hippo share <memory_id> [--force] or hippo share --auto [--dry-run]');
396
- process.exit(1);
375
+ throw new CliExit(1);
397
376
  }
398
377
  }
399
- export function handlePeers({ flags }) {
378
+ export function handlePeers({ tenantId, flags }) {
400
379
  // Tenant-scoped by default; --all-tenants gives the host-wide view for cross-tenant peer discovery.
401
380
  const allTenants = flagIsTrue(flags, 'all-tenants');
402
- const tenantScope = allTenants ? undefined : resolveTenantId({});
381
+ const tenantScope = allTenants ? undefined : tenantId;
403
382
  const peers = listPeers(undefined, tenantScope);
404
383
  if (peers.length === 0) {
405
384
  console.log('No peers found. Share memories with: hippo share <id>');
@@ -412,11 +391,11 @@ export function handlePeers({ flags }) {
412
391
  }
413
392
  }
414
393
  }
415
- export function handleExport({ hippoRoot, args, flags }) {
394
+ export function handleExport({ hippoRoot, tenantId, args, flags }) {
416
395
  requireInit(hippoRoot);
417
- const format = (flags['format'] || 'json');
396
+ const format = String(flags['format'] || 'json');
418
397
  const outputPath = args[0] || null;
419
- const entries = loadAllEntries(hippoRoot, resolveTenantId({}));
398
+ const entries = listMemories(cliApiContext(hippoRoot, tenantId));
420
399
  let output;
421
400
  if (format === 'markdown' || format === 'md') {
422
401
  output = entries.map(e => {
@@ -3,83 +3,4 @@ export declare function printSlackBackfillUsage(): void;
3
3
  export declare function printSlackWorkspacesUsage(): void;
4
4
  export declare const USAGE_HEADER = "\nHippo - Make your agent's memory work like a brain. Hippo is long-term memory for coding agents.\n\nUsage: hippo <command> [options]\n\nCommands:";
5
5
  export declare const USAGE_EXAMPLES = "\n\nExamples:\n hippo init\n hippo remember \"FRED cache can silently drop series\" --tag error\n hippo recall \"data pipeline issues\" --budget 2000\n hippo context --auto --budget 1500\n hippo conflicts\n hippo reject mem_abc123 --reason \"leaked credential\"\n hippo reject --value \"never store my key again\" --reason \"secret\"\n hippo rejections\n hippo unreject a1b2c3d4e5f6\n hippo dormant \"staging hostname\"\n hippo dormant restore mem_abc123\n hippo tokens --days 7\n hippo session log --id sess_123 --task \"Ship feature\" --type progress --content \"Build is green, next step is docs\"\n hippo session latest --json\n hippo session resume\n hippo snapshot save --task \"Ship feature\" --summary \"Tests are green\" --next-step \"Open the PR\" --session sess_123\n hippo handoff create --summary \"PR is open, tests green\" --next \"Merge after review\" --session sess_123 --artifact src/foo.ts\n hippo handoff create --summary s --constraint a --constraint b --outcome partial --target-runtime codex --card-id c1 --tests pass\n hippo card create --title \"Add cards table\" --repo hippo --depends-on card_abc\n hippo card claim card_abc --runtime codex\n hippo card complete card_abc --outcome success\n hippo card heartbeat card_abc --run 7\n hippo card reclaim\n hippo embed --status\n hippo watch \"npm run build\"\n hippo learn --git --days 30\n hippo promote mem_abc123\n hippo sync\n hippo setup\n hippo hook install claude-code\n hippo decide \"Use PostgreSQL for new services\" --context \"JSONB support\"\n hippo incident \"Prod outage: DB connection pool exhausted\" --context \"spike at 14:00\"\n hippo process new \"Release\" --step \"run tests\" --step \"bump version\" --step \"publish\"\n hippo policy new \"Data retention\" --text \"Delete logs after 90 days\" --from 2026-01-01\n hippo policy asof 2026-03-01 --name \"Data retention\"\n hippo skill new \"Run tests\" --instructions \"npm test before every commit\" --trigger \"before commit\"\n hippo skill export\n hippo brief new \"hippo\" --summary \"Agent-memory library; E2 first-class objects in progress\"\n hippo brief refresh \"hippo\"\n hippo note new \"Acme Corp\" --text \"Renewal call: wants SSO before Q3; champion is the VP Eng\"\n hippo note list --customer \"Acme Corp\" --status active\n hippo graph extract\n hippo invalidate \"REST API\" --dry-run\n hippo invalidate \"REST API\" --reason \"migrated to GraphQL\"\n hippo invalidate --id mem_a1b2c3d4e5f6 --reason \"superseded by new policy\"\n hippo invalidate --churn --dry-run\n hippo export memories.json\n hippo export --format markdown memories.md\n hippo sleep --dry-run\n hippo outcome --good\n hippo status\n";
6
- /** Each verb's help blocks for the command table, keyed like COMMANDS; a block opens with a newline. */
7
- export declare const VERB_USAGE: {
8
- init: string[];
9
- remember: string[];
10
- recall: string[];
11
- drill: string[];
12
- assemble: string[];
13
- supersede: string[];
14
- explain: string[];
15
- eval: string[];
16
- trace: string[];
17
- refine: string[];
18
- sleep: string[];
19
- 'last-sleep': string[];
20
- 'session-end': string[];
21
- 'pre-compact': string[];
22
- 'post-compact': string[];
23
- 'capture-error': string[];
24
- 'compact-resume': string[];
25
- 'codex-run': string[];
26
- dedup: string[];
27
- dag: string[];
28
- auth: string[];
29
- goal: string[];
30
- slack: string[];
31
- github: string[];
32
- audit: string[];
33
- 'correction-latency': string[];
34
- provenance: string[];
35
- status: string[];
36
- outcome: string[];
37
- conflicts: string[];
38
- resolve: string[];
39
- reject: string[];
40
- rejections: string[];
41
- unreject: string[];
42
- dormant: string[];
43
- projects: string[];
44
- quarantine: string[];
45
- tokens: string[];
46
- failures: string[];
47
- doctor: string[];
48
- 'support-bundle': string[];
49
- snapshot: string[];
50
- session: string[];
51
- handoff: string[];
52
- card: string[];
53
- predict: string[];
54
- current: string[];
55
- forget: string[];
56
- inspect: string[];
57
- context: string[];
58
- hook: string[];
59
- setup: string[];
60
- 'daily-runner': string[];
61
- embed: string[];
62
- watch: string[];
63
- learn: string[];
64
- promote: string[];
65
- sync: string[];
66
- share: string[];
67
- peers: string[];
68
- import: string[];
69
- export: string[];
70
- capture: string[];
71
- dashboard: string[];
72
- wm: string[];
73
- mcp: string[];
74
- serve: string[];
75
- invalidate: string[];
76
- decide: string[];
77
- incident: string[];
78
- process: string[];
79
- policy: string[];
80
- skill: string[];
81
- brief: string[];
82
- note: string[];
83
- graph: string[];
84
- };
85
6
  //# sourceMappingURL=usage.d.ts.map