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
package/dist/cli/audit.js CHANGED
@@ -1,19 +1,17 @@
1
1
  // `hippo audit`: list and prune the audit log.
2
- import { loadAllEntries } from '../store/entry-reads.js';
3
- import { deleteEntry, memoriesBackingObjects } from '../store/delete-and-batch.js';
4
- import { auditMemories, AUDIT_OPS } from '../store/audit.js';
2
+ import { truncateWithEllipsis } from '../util/ellipsize.js';
3
+ import { DEFAULT_LIST_LIMIT } from '../util/limits.js';
4
+ import { AUDIT_OPS } from '../store/audit.js';
5
5
  import * as api from '../api/index.js';
6
- import { resolveTenantId } from '../store/tenant.js';
7
- import { pruneAuditLog, parseOlderThanFlag } from './audit-prune.js';
6
+ import { parseOlderThanFlag } from './audit-prune.js';
8
7
  import { printError } from './output.js';
9
- import { boolFlag, flagIsTrue, stringFlag } from './flag-values.js';
8
+ import { cliApiContext } from './api-context.js';
9
+ import { boolFlag, flagIsTrue, isBooleanFlag, stringFlag } from './flag-values.js';
10
10
  import { requireInit, resolveAuthRoot } from './shared.js';
11
- import { repairAutomaticMemories } from './quality-repair.js';
12
- import { getGlobalRoot } from '../sharing/shared.js';
11
+ import { getGlobalRoot } from '../sharing/global-store.js';
13
12
  import { errorMessage } from '../util/log.js';
14
- // ---------------------------------------------------------------------------
13
+ import { CliExit } from './exit.js';
15
14
  // Audit log subcommands (`hippo audit list`)
16
- // ---------------------------------------------------------------------------
17
15
  const VALID_AUDIT_OPS = new Set(AUDIT_OPS);
18
16
  function formatAuditRow(ev) {
19
17
  const target = ev.targetId ?? '-';
@@ -22,40 +20,41 @@ function formatAuditRow(ev) {
22
20
  }
23
21
  function readAuditOp(flags) {
24
22
  const opFlag = stringFlag(flags, 'op');
23
+ // SAFETY: Set.has only compares by value, so a string outside the audit ops is a plain miss.
25
24
  if (opFlag && !VALID_AUDIT_OPS.has(opFlag)) {
26
25
  // Built from the Set so the message cannot drift from the valid ops.
27
26
  const expected = Array.from(VALID_AUDIT_OPS).join(' | ');
28
27
  printError(`Unknown --op value: ${opFlag}. Expected one of: ${expected}.`);
29
- process.exit(1);
28
+ throw new CliExit(1);
30
29
  }
30
+ // SAFETY: the exit above rejects every non-empty opFlag outside VALID_AUDIT_OPS, and an empty one is returned as given.
31
31
  return opFlag;
32
32
  }
33
33
  function readAuditLimit(flags) {
34
34
  const limitRaw = flags['limit'];
35
- let limit = 100;
36
- if (limitRaw !== undefined && typeof limitRaw !== 'boolean') {
35
+ let limit = DEFAULT_LIST_LIMIT;
36
+ if (limitRaw !== undefined && !isBooleanFlag(limitRaw)) {
37
37
  const parsed = parseInt(String(limitRaw), 10);
38
38
  if (!Number.isFinite(parsed)) {
39
39
  printError(`Invalid --limit value: ${String(limitRaw)} (expected a positive integer).`);
40
- process.exit(1);
40
+ throw new CliExit(1);
41
41
  }
42
42
  limit = parsed;
43
43
  }
44
44
  if (limit < 1 || limit > 10000) {
45
45
  printError(`--limit must be between 1 and 10000 (got ${limit}).`);
46
- process.exit(1);
46
+ throw new CliExit(1);
47
47
  }
48
48
  return limit;
49
49
  }
50
- async function cmdAuditList(hippoRoot, flags) {
50
+ async function cmdAuditList(hippoRoot, tenantId, flags) {
51
51
  const root = resolveAuthRoot(hippoRoot, flags);
52
52
  const asJson = boolFlag(flags, 'json');
53
- const tenantId = resolveTenantId({});
54
53
  const op = readAuditOp(flags);
55
54
  const since = stringFlag(flags, 'since');
56
55
  if (since !== undefined && !Number.isFinite(new Date(since).getTime())) {
57
56
  printError(`Invalid --since: ${since} (expected an ISO timestamp like 2026-04-22 or 2026-04-22T12:00:00Z).`);
58
- process.exit(1);
57
+ throw new CliExit(1);
59
58
  }
60
59
  const limit = readAuditLimit(flags);
61
60
  const ctx = { hippoRoot: root, tenantId, actor: { subject: 'cli', role: 'admin' } };
@@ -73,11 +72,11 @@ async function cmdAuditList(hippoRoot, flags) {
73
72
  console.log(formatAuditRow(ev));
74
73
  }
75
74
  }
76
- function cmdAuditPrune(hippoRoot, flags) {
75
+ function cmdAuditPrune(hippoRoot, ctxTenantId, flags) {
77
76
  const olderThanRaw = stringFlag(flags, 'older-than') ?? '';
78
77
  if (!olderThanRaw) {
79
78
  printError('Usage: hippo audit prune --older-than <Nd> [--dry-run] [--tenant <t>]');
80
- process.exit(1);
79
+ throw new CliExit(1);
81
80
  }
82
81
  let olderThanDays;
83
82
  try {
@@ -85,12 +84,12 @@ function cmdAuditPrune(hippoRoot, flags) {
85
84
  }
86
85
  catch (e) {
87
86
  printError(errorMessage(e));
88
- process.exit(1);
87
+ throw new CliExit(1);
89
88
  }
90
- const tenantId = stringFlag(flags, 'tenant')?.trim() || resolveTenantId({});
89
+ const tenantId = stringFlag(flags, 'tenant')?.trim() || ctxTenantId;
91
90
  const dryRun = flagIsTrue(flags, 'dry-run');
92
91
  const asJson = boolFlag(flags, 'json');
93
- const result = pruneAuditLog(hippoRoot, { olderThanDays, tenantId, dryRun, actor: 'cli' });
92
+ const result = api.pruneAuditLog(cliApiContext(hippoRoot, tenantId), { olderThanDays, dryRun });
94
93
  if (asJson) {
95
94
  console.log(JSON.stringify(result));
96
95
  return;
@@ -101,22 +100,22 @@ function cmdAuditPrune(hippoRoot, flags) {
101
100
  console.log('(dry-run; re-run without --dry-run to actually delete)');
102
101
  }
103
102
  }
104
- async function cmdAuditLog(hippoRoot, args, flags) {
103
+ async function cmdAuditLog(hippoRoot, tenantId, args, flags) {
105
104
  const sub = args[0];
106
105
  if (sub === 'list') {
107
- await cmdAuditList(hippoRoot, flags);
106
+ await cmdAuditList(hippoRoot, tenantId, flags);
108
107
  return;
109
108
  }
110
109
  if (sub === 'prune') {
111
- cmdAuditPrune(hippoRoot, flags);
110
+ cmdAuditPrune(hippoRoot, tenantId, flags);
112
111
  return;
113
112
  }
114
113
  printError(`Unknown audit subcommand: ${sub}. Expected: list | prune.`);
115
- process.exit(1);
114
+ throw new CliExit(1);
116
115
  }
117
- function auditRepair(hippoRoot, flags) {
116
+ function auditRepair(hippoRoot, tenantId, flags) {
118
117
  const apply = flagIsTrue(flags, 'apply') && flags['dry-run'] !== true;
119
- const result = repairAutomaticMemories(flags['global'] ? getGlobalRoot() : hippoRoot, { tenantId: resolveTenantId({}), apply });
118
+ const result = api.repairMemoryQuality(cliApiContext(flags['global'] ? getGlobalRoot() : hippoRoot, tenantId), apply);
120
119
  if (flags['json']) {
121
120
  console.log(JSON.stringify(result));
122
121
  return;
@@ -124,8 +123,10 @@ function auditRepair(hippoRoot, flags) {
124
123
  console.log(`Quality repair ${apply ? 'apply' : 'preview'}: ${result.issues.length} issue(s) across ${result.total} memories.`);
125
124
  for (const issue of result.issues)
126
125
  console.log(` [${issue.disposition}] ${issue.id}: ${issue.reason}${issue.protection ? ` (${issue.protection})` : ''}`);
127
- for (const blocker of result.blockers)
128
- console.log(` Blocked: ${blocker}. Repair never upgrades a store; any other hippo command does, then run repair again.`);
126
+ for (const blocker of result.blockers) {
127
+ console.log(` Blocked: ${blocker}. Repair never upgrades a store; ` +
128
+ 'any other hippo command does, then run repair again.');
129
+ }
129
130
  const restore = `hippo dormant restore <id>${flags['global'] ? ' --global' : ''}`;
130
131
  if (result.backup)
131
132
  console.log(`Backup: ${result.backup}\nMoved ${result.appliedIds.length} memories to dormant storage. Recovery: ${restore}.`);
@@ -136,14 +137,15 @@ function auditRepair(hippoRoot, flags) {
136
137
  if (!apply)
137
138
  console.log('Preview only. Add --apply to move set-aside memories to dormant storage. Pin a review memory to keep it.');
138
139
  }
139
- function fixAuditErrors(hippoRoot, result, flags) {
140
+ function fixAuditErrors(hippoRoot, tenantId, result, flags) {
140
141
  const errors = result.issues.filter(i => i.severity === 'error');
141
142
  if (errors.length > 0 && flagIsTrue(flags, 'dry-run')) {
142
143
  console.log(`\nWould remove ${errors.length} error-severity memories (dry run, nothing deleted).`);
143
144
  console.log(`${result.issues.length - errors.length} warnings would remain (review manually).`);
144
145
  }
145
146
  else if (errors.length > 0) {
146
- const removedCount = errors.filter((issue) => deleteEntry(hippoRoot, issue.memoryId, { reason: `audit --fix: ${issue.reason}`, automatic: true })).length;
147
+ const ctx = cliApiContext(hippoRoot, tenantId);
148
+ const removedCount = api.removeAuditErrors(ctx, 'audit --fix', errors).length;
147
149
  console.log(`\nRemoved ${removedCount} error-severity memories.`);
148
150
  console.log(`${result.issues.length - errors.length} warnings remain (review manually).`);
149
151
  }
@@ -151,21 +153,18 @@ function fixAuditErrors(hippoRoot, result, flags) {
151
153
  console.log(`\nNo error-severity issues. Warnings require manual review.`);
152
154
  }
153
155
  }
154
- export async function handleAudit({ hippoRoot, args, flags }) {
156
+ export async function handleAudit({ hippoRoot, tenantId, args, flags }) {
155
157
  if (args[0] === 'repair') {
156
- auditRepair(hippoRoot, flags);
158
+ auditRepair(hippoRoot, tenantId, flags);
157
159
  return;
158
160
  }
159
- // `audit list` and `audit prune` -> audit-log subcommands.
160
- // Other forms (no sub, --fix) keep the existing memory-quality auditor
161
- // for backwards compatibility.
161
+ // `audit list` and `audit prune` are the audit-log subcommands; other forms (no sub, --fix) keep the memory-quality auditor.
162
162
  if (args[0] === 'list' || args[0] === 'prune') {
163
- await cmdAuditLog(hippoRoot, args, flags);
163
+ await cmdAuditLog(hippoRoot, tenantId, args, flags);
164
164
  return;
165
165
  }
166
166
  requireInit(hippoRoot);
167
- const entries = loadAllEntries(hippoRoot, resolveTenantId({}));
168
- const result = auditMemories(entries, memoriesBackingObjects(hippoRoot));
167
+ const result = api.auditMemoryQuality(cliApiContext(hippoRoot, tenantId));
169
168
  const shouldFix = boolFlag(flags, 'fix');
170
169
  if (result.issues.length === 0) {
171
170
  console.log(`All ${result.total} memories passed quality checks.`);
@@ -175,10 +174,10 @@ export async function handleAudit({ hippoRoot, args, flags }) {
175
174
  for (const issue of result.issues) {
176
175
  const icon = issue.severity === 'error' ? 'ERR' : 'WARN';
177
176
  console.log(` [${icon}] ${issue.memoryId}: ${issue.reason}`);
178
- console.log(` "${issue.content.slice(0, 80)}${issue.content.length > 80 ? '...' : ''}"`);
177
+ console.log(` "${truncateWithEllipsis(issue.content, 80)}"`);
179
178
  }
180
179
  if (shouldFix) {
181
- fixAuditErrors(hippoRoot, result, flags);
180
+ fixAuditErrors(hippoRoot, tenantId, result, flags);
182
181
  }
183
182
  else {
184
183
  console.log(`\nRun with --fix to auto-remove error-severity issues.`);
@@ -1,3 +1,3 @@
1
- import { type CliFlags } from './flag-values.js';
2
- export declare function cmdAuth(hippoRoot: string, args: string[], flags: CliFlags): void;
1
+ import { type CommandContext } from './flag-values.js';
2
+ export declare function handleAuth({ hippoRoot, tenantId, args, flags }: CommandContext): Promise<void>;
3
3
  //# sourceMappingURL=auth.d.ts.map
package/dist/cli/auth.js CHANGED
@@ -1,44 +1,59 @@
1
1
  // `hippo auth`: create, list, revoke and scope API keys.
2
- import { listApiKeys } from '../store/auth.js';
3
2
  import * as api from '../api/index.js';
4
- import { resolveTenantId } from '../store/tenant.js';
3
+ import { cliApiContext } from './api-context.js';
5
4
  import { printError } from './output.js';
6
5
  import { boolFlag, stringFlag } from './flag-values.js';
7
6
  import { resolveAuthRoot } from './shared.js';
8
7
  import { errorMessage } from '../util/log.js';
8
+ import { CliExit } from './exit.js';
9
9
  // ---------------------------------------------------------------------------
10
10
  // Auth subcommands
11
11
  // ---------------------------------------------------------------------------
12
- function cmdAuthCreate(hippoRoot, flags) {
12
+ /** --role as given, or undefined for the default; anything else exits 1, so a typo never picks a role. */
13
+ function roleFlagOrExit(flags) {
14
+ const roleFlag = stringFlag(flags, 'role');
15
+ if (roleFlag !== undefined && roleFlag !== 'admin' && roleFlag !== 'member') {
16
+ printError(`Invalid --role value: '${roleFlag}'. Use 'admin' or 'member'.`);
17
+ throw new CliExit(1);
18
+ }
19
+ return roleFlag;
20
+ }
21
+ /** Says which defaults a mint took and how to ask for the wider key. Stderr keeps --json output clean. */
22
+ function noteMintDefaults(roleGiven, expiryGiven) {
23
+ const notes = [];
24
+ if (!roleGiven)
25
+ notes.push('no --role given, so this is a member key (pass --role admin for an admin key)');
26
+ if (!expiryGiven)
27
+ notes.push('no --ttl-days or --no-expiry given, so it expires in 90 days');
28
+ if (notes.length > 0)
29
+ printError(`hippo auth create: ${notes.join('; ')}.`);
30
+ }
31
+ function cmdAuthCreate(hippoRoot, defaultTenantId, flags) {
13
32
  const root = resolveAuthRoot(hippoRoot, flags);
14
33
  const tenantFlag = stringFlag(flags, 'tenant');
15
34
  const labelFlag = stringFlag(flags, 'label');
16
35
  const asJson = boolFlag(flags, 'json');
17
- // Accepts 'admin' | 'member' only; anything else exits 1 so a typo doesn't silently default to admin.
18
- const roleFlag = stringFlag(flags, 'role');
19
- let role = 'admin';
20
- if (roleFlag !== undefined) {
21
- if (roleFlag !== 'admin' && roleFlag !== 'member') {
22
- printError(`Invalid --role value: '${roleFlag}'. Use 'admin' or 'member'.`);
23
- process.exit(1);
24
- }
25
- role = roleFlag;
26
- }
27
- else {
28
- // The default is the widest key hippo mints, so the operator is told at the moment of choosing. Stderr keeps --json output clean.
29
- printError('hippo auth create: no --role given, so this is an admin key, and it never expires. Pass --role member for a narrower key; revoke either with `hippo auth revoke <key_id>`.');
30
- }
36
+ const role = roleFlagOrExit(flags);
37
+ const ttlFlag = stringFlag(flags, 'ttl-days');
38
+ const ttlDays = ttlFlag === undefined ? undefined : Number(ttlFlag);
39
+ const noExpiry = boolFlag(flags, 'no-expiry');
31
40
  // The CLI's --tenant flag is the only legitimate cross-tenant override
32
41
  // (admin minting a key for another tenant from the local machine). It
33
42
  // flows through ctx.tenantId, NOT through opts — authCreate's opts no
34
43
  // longer accepts a tenantId field, so the HTTP layer cannot smuggle a
35
44
  // body.tenantId across.
36
- const ctx = {
37
- hippoRoot: root,
38
- tenantId: tenantFlag ?? resolveTenantId({}),
39
- actor: api.adminActor('cli'),
40
- };
41
- const result = api.authCreate(ctx, { label: labelFlag, role });
45
+ const ctx = cliApiContext(root, tenantFlag ?? defaultTenantId);
46
+ let result;
47
+ try {
48
+ result = api.authCreate(ctx, { label: labelFlag, role, ttlDays, noExpiry: noExpiry || undefined });
49
+ }
50
+ catch (err) {
51
+ if (!(err instanceof api.BadRequestError))
52
+ throw err;
53
+ printError(`hippo auth create: ${err.message} (--ttl-days, --no-expiry).`);
54
+ throw new CliExit(1);
55
+ }
56
+ noteMintDefaults(role !== undefined, ttlFlag !== undefined || noExpiry);
42
57
  if (asJson) {
43
58
  console.log(JSON.stringify({
44
59
  keyId: result.keyId,
@@ -46,12 +61,14 @@ function cmdAuthCreate(hippoRoot, flags) {
46
61
  tenantId: result.tenantId,
47
62
  label: labelFlag ?? null,
48
63
  role: result.role,
64
+ expiresAt: result.expiresAt,
49
65
  }));
50
66
  return;
51
67
  }
52
68
  console.log(`key_id: ${result.keyId}`);
53
69
  console.log(`plaintext: ${result.plaintext}`);
54
70
  console.log(`role: ${result.role}`);
71
+ console.log(`expires: ${result.expiresAt ?? 'never'}`);
55
72
  console.log('');
56
73
  console.log('!! WARNING: this is the ONLY time the plaintext key will be shown. !!');
57
74
  console.log('!! Copy it now. Hippo stores only a scrypt hash and cannot recover it. !!');
@@ -63,11 +80,11 @@ function formatKeyRow(item) {
63
80
  const revoked = item.revokedAt ?? '-';
64
81
  return `${item.keyId} ${item.tenantId} ${item.role} ${label} ${created} ${expires} ${revoked}`;
65
82
  }
66
- function cmdAuthList(hippoRoot, flags) {
83
+ function cmdAuthList(hippoRoot, tenantId, flags) {
67
84
  const root = resolveAuthRoot(hippoRoot, flags);
68
85
  const includeRevoked = boolFlag(flags, 'all');
69
86
  const asJson = boolFlag(flags, 'json');
70
- const items = listApiKeys(root, { active: !includeRevoked });
87
+ const items = api.authListAllTenants(cliApiContext(root, tenantId), !includeRevoked);
71
88
  if (asJson) {
72
89
  console.log(JSON.stringify(items));
73
90
  return;
@@ -82,24 +99,24 @@ function cmdAuthList(hippoRoot, flags) {
82
99
  }
83
100
  }
84
101
  // The local CLI owns every tenant, so revoke and grant run in the key's own tenant.
85
- function keyContext(root, keyId) {
86
- const hostCtx = { hippoRoot: root, tenantId: resolveTenantId({}), actor: api.adminActor('cli') };
87
- const keyTenant = api.authKeyTenant(hostCtx, keyId);
102
+ async function keyContext(root, tenantId, keyId) {
103
+ const hostCtx = cliApiContext(root, tenantId);
104
+ const keyTenant = await api.authKeyTenant(hostCtx, keyId);
88
105
  if (keyTenant === undefined) {
89
106
  printError(`Unknown key_id: ${keyId}`);
90
- process.exit(1);
107
+ throw new CliExit(1);
91
108
  }
92
109
  return { ...hostCtx, tenantId: keyTenant };
93
110
  }
94
- function cmdAuthRevoke(hippoRoot, keyId, flags) {
95
- const ctx = keyContext(resolveAuthRoot(hippoRoot, flags), keyId);
111
+ async function cmdAuthRevoke(hippoRoot, tenantId, keyId, flags) {
112
+ const ctx = await keyContext(resolveAuthRoot(hippoRoot, flags), tenantId, keyId);
96
113
  let revokedAt;
97
114
  try {
98
115
  revokedAt = api.authRevoke(ctx, keyId).revokedAt;
99
116
  }
100
117
  catch (err) {
101
118
  printError(`Error: ${errorMessage(err)}`);
102
- process.exit(1);
119
+ throw new CliExit(1);
103
120
  }
104
121
  if (flags['json']) {
105
122
  console.log(JSON.stringify({ keyId, revokedAt }));
@@ -108,8 +125,8 @@ function cmdAuthRevoke(hippoRoot, keyId, flags) {
108
125
  console.log(`Revoked ${keyId} at ${revokedAt}`);
109
126
  }
110
127
  /** `hippo auth grant|ungrant <key_id> <scope>`, routed through api so the tenant, restricted-scope and audit checks live in one place. */
111
- function cmdAuthScopeGrant(hippoRoot, keyId, scope, grant, flags) {
112
- const ctx = keyContext(resolveAuthRoot(hippoRoot, flags), keyId);
128
+ async function cmdAuthScopeGrant(hippoRoot, tenantId, keyId, scope, grant, flags) {
129
+ const ctx = await keyContext(resolveAuthRoot(hippoRoot, flags), tenantId, keyId);
113
130
  try {
114
131
  if (grant)
115
132
  api.authGrant(ctx, keyId, scope);
@@ -118,7 +135,7 @@ function cmdAuthScopeGrant(hippoRoot, keyId, scope, grant, flags) {
118
135
  }
119
136
  catch (err) {
120
137
  printError(`Error: ${errorMessage(err)}`);
121
- process.exit(1);
138
+ throw new CliExit(1);
122
139
  }
123
140
  if (flags['json']) {
124
141
  console.log(JSON.stringify({ keyId, scope, granted: grant }));
@@ -126,27 +143,27 @@ function cmdAuthScopeGrant(hippoRoot, keyId, scope, grant, flags) {
126
143
  }
127
144
  console.log(grant ? `Granted ${keyId} read access to ${scope}` : `Removed ${keyId}'s grant on ${scope}`);
128
145
  }
129
- export function cmdAuth(hippoRoot, args, flags) {
146
+ export async function handleAuth({ hippoRoot, tenantId, args, flags }) {
130
147
  const sub = args[0];
131
148
  if (!sub) {
132
149
  printError('Usage: hippo auth <create|list|revoke|grant|ungrant> [options]');
133
- process.exit(1);
150
+ throw new CliExit(1);
134
151
  }
135
152
  const subArgs = args.slice(1);
136
153
  switch (sub) {
137
154
  case 'create':
138
- cmdAuthCreate(hippoRoot, flags);
155
+ cmdAuthCreate(hippoRoot, tenantId, flags);
139
156
  return;
140
157
  case 'list':
141
- cmdAuthList(hippoRoot, flags);
158
+ cmdAuthList(hippoRoot, tenantId, flags);
142
159
  return;
143
160
  case 'revoke': {
144
161
  const keyId = subArgs[0];
145
162
  if (!keyId) {
146
163
  printError('Usage: hippo auth revoke <key_id>');
147
- process.exit(1);
164
+ throw new CliExit(1);
148
165
  }
149
- cmdAuthRevoke(hippoRoot, keyId, flags);
166
+ await cmdAuthRevoke(hippoRoot, tenantId, keyId, flags);
150
167
  return;
151
168
  }
152
169
  case 'grant':
@@ -154,14 +171,14 @@ export function cmdAuth(hippoRoot, args, flags) {
154
171
  const [keyId, scope] = subArgs;
155
172
  if (!keyId || !scope) {
156
173
  printError(`Usage: hippo auth ${sub} <key_id> <scope>`);
157
- process.exit(1);
174
+ throw new CliExit(1);
158
175
  }
159
- cmdAuthScopeGrant(hippoRoot, keyId, scope, sub === 'grant', flags);
176
+ await cmdAuthScopeGrant(hippoRoot, tenantId, keyId, scope, sub === 'grant', flags);
160
177
  return;
161
178
  }
162
179
  default:
163
180
  printError(`Unknown auth subcommand: ${sub}. Expected: create | list | revoke | grant | ungrant.`);
164
- process.exit(1);
181
+ throw new CliExit(1);
165
182
  }
166
183
  }
167
184
  //# sourceMappingURL=auth.js.map
@@ -1,5 +1,2 @@
1
- import { type CliFlags } from './flag-values.js';
2
- export declare function cmdProjectBrief(hippoRoot: string, args: string[], flags: CliFlags): void;
3
- export declare function cmdGraph(hippoRoot: string, args: string[], flags: CliFlags): void;
4
- export declare function cmdCustomerNote(hippoRoot: string, args: string[], flags: CliFlags): void;
1
+ export declare const handleProjectBrief: (ctx: import("./flag-values.js").CommandContext) => void;
5
2
  //# sourceMappingURL=briefs.d.ts.map