hippo-memory 1.72.0 → 2.1.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 (995) hide show
  1. package/README.md +6 -4
  2. package/dist/agent-memories/apply.d.ts +7 -5
  3. package/dist/agent-memories/apply.js +66 -39
  4. package/dist/agent-memories/claude-code.d.ts +8 -2
  5. package/dist/agent-memories/claude-code.js +26 -7
  6. package/dist/agent-memories/copilot.js +2 -1
  7. package/dist/agent-memories/files.js +2 -1
  8. package/dist/agent-memories/legacy.d.ts +6 -3
  9. package/dist/agent-memories/legacy.js +35 -14
  10. package/dist/agent-memories/markdown.d.ts +3 -1
  11. package/dist/agent-memories/markdown.js +3 -1
  12. package/dist/agent-memories/openclaw.js +5 -2
  13. package/dist/agent-memories/plan.js +11 -1
  14. package/dist/agent-memories/project-folds.js +2 -1
  15. package/dist/agent-memories/report.d.ts +4 -1
  16. package/dist/agent-memories/report.js +43 -9
  17. package/dist/agent-memories/source.d.ts +8 -2
  18. package/dist/agent-memories/source.js +11 -3
  19. package/dist/agent-memories/sync.d.ts +7 -2
  20. package/dist/agent-memories/sync.js +141 -101
  21. package/dist/api/assemble.d.ts +6 -4
  22. package/dist/api/assemble.js +11 -5
  23. package/dist/api/{audit.d.ts → auth/audit.d.ts} +18 -16
  24. package/dist/api/auth/audit.js +58 -0
  25. package/dist/api/{auth.d.ts → auth/auth.d.ts} +19 -16
  26. package/dist/api/{auth.js → auth/auth.js} +66 -54
  27. package/dist/api/{quarantine.d.ts → auth/quarantine.d.ts} +8 -7
  28. package/dist/api/{quarantine.js → auth/quarantine.js} +8 -7
  29. package/dist/api/auth/session-owners.d.ts +10 -0
  30. package/dist/api/auth/session-owners.js +35 -0
  31. package/dist/api/availability.d.ts +3 -1
  32. package/dist/api/availability.js +3 -1
  33. package/dist/api/busy.d.ts +2 -0
  34. package/dist/api/busy.js +2 -0
  35. package/dist/api/cli-surface.d.ts +6 -0
  36. package/dist/api/cli-surface.js +6 -0
  37. package/dist/api/config-of.d.ts +5 -0
  38. package/dist/api/config-of.js +6 -0
  39. package/dist/api/context-auto.d.ts +4 -1
  40. package/dist/api/context-auto.js +14 -4
  41. package/dist/api/context-render.js +14 -7
  42. package/dist/api/context-select.d.ts +4 -1
  43. package/dist/api/context-select.js +31 -34
  44. package/dist/api/context-types.d.ts +38 -12
  45. package/dist/api/context.d.ts +8 -5
  46. package/dist/api/context.js +120 -63
  47. package/dist/api/continuity.d.ts +24 -21
  48. package/dist/api/continuity.js +18 -20
  49. package/dist/api/correction-latency.d.ts +3 -1
  50. package/dist/api/correction-latency.js +3 -1
  51. package/dist/api/error-reply.d.ts +4 -1
  52. package/dist/api/error-reply.js +12 -3
  53. package/dist/api/index.d.ts +39 -23
  54. package/dist/api/index.js +21 -23
  55. package/dist/api/instruction-detect.d.ts +4 -1
  56. package/dist/api/instruction-detect.js +75 -20
  57. package/dist/api/ledger-db.d.ts +15 -11
  58. package/dist/api/ledger-db.js +21 -23
  59. package/dist/api/memories/conflicts.d.ts +33 -0
  60. package/dist/api/memories/conflicts.js +67 -0
  61. package/dist/api/{forget.d.ts → memories/forget.d.ts} +11 -9
  62. package/dist/api/{forget.js → memories/forget.js} +23 -17
  63. package/dist/api/memories/memories.d.ts +27 -0
  64. package/dist/api/memories/memories.js +52 -0
  65. package/dist/api/memories/outcome.d.ts +22 -0
  66. package/dist/api/memories/outcome.js +28 -0
  67. package/dist/api/memories/promote.d.ts +40 -0
  68. package/dist/api/memories/promote.js +76 -0
  69. package/dist/api/memories/refine.d.ts +10 -0
  70. package/dist/api/memories/refine.js +12 -0
  71. package/dist/api/{remember-local.d.ts → memories/remember-local.d.ts} +17 -9
  72. package/dist/api/{remember-local.js → memories/remember-local.js} +46 -24
  73. package/dist/api/{remember.d.ts → memories/remember.d.ts} +22 -13
  74. package/dist/api/{remember.js → memories/remember.js} +50 -32
  75. package/dist/api/objects/cards.d.ts +39 -0
  76. package/dist/api/{cards.js → objects/cards.js} +12 -14
  77. package/dist/api/{drill-down.d.ts → objects/drill-down.d.ts} +12 -10
  78. package/dist/api/{drill-down.js → objects/drill-down.js} +7 -7
  79. package/dist/api/objects/goals.d.ts +18 -0
  80. package/dist/api/{goals.js → objects/goals.js} +12 -12
  81. package/dist/api/objects/graph.d.ts +11 -0
  82. package/dist/api/objects/graph.js +16 -0
  83. package/dist/api/objects/objects.d.ts +9 -0
  84. package/dist/api/{objects.js → objects/objects.js} +2 -3
  85. package/dist/api/objects/predictions.d.ts +11 -0
  86. package/dist/api/{predictions.js → objects/predictions.js} +7 -5
  87. package/dist/api/{projects.d.ts → objects/projects.d.ts} +8 -5
  88. package/dist/api/{projects.js → objects/projects.js} +8 -4
  89. package/dist/api/pilot-arm.d.ts +8 -4
  90. package/dist/api/pilot-arm.js +5 -4
  91. package/dist/api/prompt-hook.d.ts +35 -20
  92. package/dist/api/prompt-hook.js +66 -44
  93. package/dist/api/provenance-coverage.d.ts +3 -1
  94. package/dist/api/provenance-coverage.js +3 -1
  95. package/dist/api/recall/finish.d.ts +185 -0
  96. package/dist/api/recall/finish.js +301 -0
  97. package/dist/api/{recall-pipeline.d.ts → recall/pipeline.d.ts} +12 -8
  98. package/dist/api/{recall-pipeline.js → recall/pipeline.js} +185 -101
  99. package/dist/api/recall/recall.d.ts +6 -0
  100. package/dist/api/{recall.js → recall/recall.js} +116 -72
  101. package/dist/api/recall/render.d.ts +39 -0
  102. package/dist/api/recall/render.js +60 -0
  103. package/dist/api/{recall-request.d.ts → recall/request.d.ts} +7 -5
  104. package/dist/api/recall/request.js +261 -0
  105. package/dist/api/{recall-cli.d.ts → recall/rows.d.ts} +18 -12
  106. package/dist/api/{recall-cli.js → recall/rows.js} +28 -27
  107. package/dist/api/{recall-types.d.ts → recall/types.d.ts} +95 -68
  108. package/dist/api/{recall-types.js → recall/types.js} +1 -1
  109. package/dist/api/session-end.d.ts +36 -8
  110. package/dist/api/session-end.js +71 -25
  111. package/dist/api/{auto-sleep.d.ts → sleep/auto-sleep.d.ts} +9 -5
  112. package/dist/api/{auto-sleep.js → sleep/auto-sleep.js} +7 -12
  113. package/dist/api/sleep/dormant.d.ts +25 -0
  114. package/dist/api/sleep/dormant.js +64 -0
  115. package/dist/api/{learn.d.ts → sleep/learn.d.ts} +5 -4
  116. package/dist/api/sleep/learn.js +138 -0
  117. package/dist/api/sleep/sleep-run.d.ts +38 -0
  118. package/dist/api/{sleep-run.js → sleep/sleep-run.js} +54 -45
  119. package/dist/api/{sleep.d.ts → sleep/sleep.d.ts} +17 -11
  120. package/dist/api/sleep/sleep.js +9 -0
  121. package/dist/api/status.d.ts +3 -1
  122. package/dist/api/status.js +3 -1
  123. package/dist/api/store-init.d.ts +4 -1
  124. package/dist/api/store-init.js +4 -1
  125. package/dist/api/tokens.d.ts +10 -9
  126. package/dist/api/tokens.js +9 -10
  127. package/dist/api/types.d.ts +27 -12
  128. package/dist/api/types.js +13 -4
  129. package/dist/capture/caller-session.d.ts +8 -2
  130. package/dist/capture/caller-session.js +16 -6
  131. package/dist/capture/capture-error.d.ts +3 -1
  132. package/dist/capture/capture-error.js +3 -1
  133. package/dist/capture/codex-patch.js +7 -2
  134. package/dist/capture/command.d.ts +4 -2
  135. package/dist/capture/command.js +34 -15
  136. package/dist/capture/compact-resume-caller.js +15 -8
  137. package/dist/capture/compact.d.ts +8 -5
  138. package/dist/capture/compact.js +34 -23
  139. package/dist/capture/compaction-items-caller.js +9 -3
  140. package/dist/capture/compaction-record.d.ts +4 -3
  141. package/dist/capture/compaction-record.js +20 -12
  142. package/dist/capture/compaction-spool.d.ts +18 -9
  143. package/dist/capture/compaction-spool.js +105 -63
  144. package/dist/capture/copilot-transcript.d.ts +11 -3
  145. package/dist/capture/copilot-transcript.js +16 -6
  146. package/dist/capture/extract.js +20 -8
  147. package/dist/capture/failure-caller.js +23 -12
  148. package/dist/capture/failure-reading.d.ts +10 -3
  149. package/dist/capture/failure-reading.js +24 -7
  150. package/dist/capture/pre-compact-caller.js +11 -4
  151. package/dist/capture/session-digest.d.ts +15 -4
  152. package/dist/capture/session-digest.js +39 -13
  153. package/dist/capture/session-end-caller.d.ts +4 -1
  154. package/dist/capture/session-end-caller.js +20 -8
  155. package/dist/capture/session-texts.d.ts +6 -2
  156. package/dist/capture/session-texts.js +22 -7
  157. package/dist/capture/session-worker.d.ts +4 -2
  158. package/dist/capture/session-worker.js +58 -17
  159. package/dist/capture/transcript.d.ts +13 -4
  160. package/dist/capture/transcript.js +32 -10
  161. package/dist/capture/working-state.d.ts +13 -4
  162. package/dist/capture/working-state.js +50 -56
  163. package/dist/cli/api-context.d.ts +14 -2
  164. package/dist/cli/api-context.js +45 -2
  165. package/dist/cli/audit.js +33 -33
  166. package/dist/cli/auth.js +23 -31
  167. package/dist/cli/briefs.d.ts +1 -1
  168. package/dist/cli/briefs.js +20 -15
  169. package/dist/cli/card.d.ts +1 -1
  170. package/dist/cli/card.js +56 -73
  171. package/dist/cli/client.d.ts +12 -5
  172. package/dist/cli/client.js +53 -23
  173. package/dist/cli/compact-resume-payload.d.ts +4 -1
  174. package/dist/cli/compact-resume-payload.js +12 -5
  175. package/dist/cli/context.js +43 -18
  176. package/dist/cli/continuity.d.ts +5 -5
  177. package/dist/cli/continuity.js +90 -107
  178. package/dist/cli/curate.d.ts +5 -4
  179. package/dist/cli/curate.js +55 -77
  180. package/dist/cli/dag.d.ts +1 -1
  181. package/dist/cli/dag.js +14 -17
  182. package/dist/cli/decisions.js +30 -30
  183. package/dist/cli/eval.js +16 -21
  184. package/dist/cli/exit.d.ts +4 -1
  185. package/dist/cli/exit.js +10 -2
  186. package/dist/cli/explain.js +12 -11
  187. package/dist/cli/flag-values.d.ts +1 -1
  188. package/dist/cli/flag-values.js +9 -18
  189. package/dist/cli/github.d.ts +6 -0
  190. package/dist/cli/github.js +25 -13
  191. package/dist/cli/goals.d.ts +1 -1
  192. package/dist/cli/goals.js +39 -56
  193. package/dist/cli/graph.d.ts +1 -1
  194. package/dist/cli/graph.js +15 -11
  195. package/dist/cli/hook-runtime.d.ts +34 -10
  196. package/dist/cli/hook-runtime.js +41 -16
  197. package/dist/cli/incidents.d.ts +1 -1
  198. package/dist/cli/incidents.js +25 -25
  199. package/dist/cli/init.d.ts +1 -1
  200. package/dist/cli/init.js +35 -20
  201. package/dist/cli/install-steps.d.ts +12 -3
  202. package/dist/cli/install-steps.js +42 -18
  203. package/dist/cli/last-sleep.d.ts +4 -1
  204. package/dist/cli/last-sleep.js +9 -4
  205. package/dist/cli/maintenance.d.ts +1 -1
  206. package/dist/cli/maintenance.js +11 -12
  207. package/dist/cli/notes.d.ts +1 -1
  208. package/dist/cli/notes.js +8 -5
  209. package/dist/cli/object-verbs.d.ts +5 -5
  210. package/dist/cli/object-verbs.js +13 -16
  211. package/dist/cli/open-browser.js +11 -2
  212. package/dist/cli/playbooks.d.ts +3 -3
  213. package/dist/cli/playbooks.js +40 -32
  214. package/dist/cli/predictions.js +17 -22
  215. package/dist/cli/print.js +4 -2
  216. package/dist/cli/projects.js +21 -11
  217. package/dist/cli/quality-repair-once.d.ts +1 -1
  218. package/dist/cli/quality-repair-once.js +7 -6
  219. package/dist/cli/recall.js +129 -93
  220. package/dist/cli/refine-llm.d.ts +15 -4
  221. package/dist/cli/refine-llm.js +17 -7
  222. package/dist/cli/remember.js +51 -55
  223. package/dist/cli/scheduler.d.ts +4 -1
  224. package/dist/cli/scheduler.js +9 -5
  225. package/dist/cli/serve.js +28 -18
  226. package/dist/cli/session-hooks.d.ts +2 -6
  227. package/dist/cli/session-hooks.js +140 -112
  228. package/dist/cli/setup.d.ts +1 -1
  229. package/dist/cli/setup.js +56 -34
  230. package/dist/cli/shared.d.ts +4 -2
  231. package/dist/cli/shared.js +26 -11
  232. package/dist/cli/slack.js +15 -24
  233. package/dist/cli/sleep-render.d.ts +3 -1
  234. package/dist/cli/sleep-render.js +8 -5
  235. package/dist/cli/sleep.js +16 -8
  236. package/dist/cli/status.d.ts +4 -4
  237. package/dist/cli/status.js +32 -27
  238. package/dist/cli/stdin.d.ts +10 -3
  239. package/dist/cli/stdin.js +10 -3
  240. package/dist/cli/transfer.d.ts +4 -4
  241. package/dist/cli/transfer.js +97 -82
  242. package/dist/cli/usage.d.ts +1 -1
  243. package/dist/cli/usage.js +1 -1
  244. package/dist/cli/verb-row.d.ts +2 -0
  245. package/dist/cli/verbs/health.js +2 -0
  246. package/dist/cli/verbs/memory.js +47 -53
  247. package/dist/cli/verbs/objects.js +16 -7
  248. package/dist/cli/verbs/sessions.js +4 -2
  249. package/dist/cli/versioned-verbs.d.ts +8 -7
  250. package/dist/cli/versioned-verbs.js +31 -21
  251. package/dist/cli.js +14 -18
  252. package/dist/connectors/dlq.d.ts +6 -6
  253. package/dist/connectors/dlq.js +12 -7
  254. package/dist/connectors/github/backfill.d.ts +4 -4
  255. package/dist/connectors/github/backfill.js +6 -4
  256. package/dist/connectors/github/deletion.d.ts +6 -4
  257. package/dist/connectors/github/deletion.js +5 -4
  258. package/dist/connectors/github/dlq.d.ts +8 -6
  259. package/dist/connectors/github/dlq.js +11 -5
  260. package/dist/connectors/github/ingest.d.ts +2 -2
  261. package/dist/connectors/github/ingest.js +9 -5
  262. package/dist/connectors/github/octokit-client.d.ts +3 -1
  263. package/dist/connectors/github/octokit-client.js +7 -2
  264. package/dist/connectors/github/ratelimit.d.ts +6 -2
  265. package/dist/connectors/github/ratelimit.js +6 -2
  266. package/dist/connectors/github/signature.d.ts +14 -3
  267. package/dist/connectors/github/signature.js +17 -3
  268. package/dist/connectors/github/tenant-routing.d.ts +6 -4
  269. package/dist/connectors/github/tenant-routing.js +6 -5
  270. package/dist/connectors/github/transform.js +50 -67
  271. package/dist/connectors/github/types.d.ts +10 -3
  272. package/dist/connectors/github/types.js +6 -2
  273. package/dist/connectors/github/webhook.d.ts +5 -5
  274. package/dist/connectors/github/webhook.js +36 -23
  275. package/dist/connectors/ingest.d.ts +5 -3
  276. package/dist/connectors/ingest.js +3 -3
  277. package/dist/connectors/slack/backfill.d.ts +5 -5
  278. package/dist/connectors/slack/backfill.js +3 -3
  279. package/dist/connectors/slack/deletion.d.ts +4 -4
  280. package/dist/connectors/slack/deletion.js +6 -5
  281. package/dist/connectors/slack/dlq.d.ts +4 -4
  282. package/dist/connectors/slack/dlq.js +6 -6
  283. package/dist/connectors/slack/ingest.d.ts +6 -4
  284. package/dist/connectors/slack/ingest.js +5 -4
  285. package/dist/connectors/slack/signature.d.ts +4 -1
  286. package/dist/connectors/slack/tenant-routing.d.ts +6 -4
  287. package/dist/connectors/slack/tenant-routing.js +6 -5
  288. package/dist/connectors/slack/transform.d.ts +6 -2
  289. package/dist/connectors/slack/transform.js +6 -2
  290. package/dist/connectors/slack/types.d.ts +3 -1
  291. package/dist/connectors/slack/web-client.js +8 -3
  292. package/dist/connectors/slack/webhook.d.ts +5 -5
  293. package/dist/connectors/slack/webhook.js +19 -11
  294. package/dist/connectors/slack/workspaces.d.ts +7 -3
  295. package/dist/connectors/slack/workspaces.js +7 -3
  296. package/dist/connectors/store.d.ts +8 -0
  297. package/dist/connectors/store.js +2 -0
  298. package/dist/consolidate/conflicts.js +24 -10
  299. package/dist/consolidate/dag-summary.js +2 -1
  300. package/dist/consolidate/dag.d.ts +10 -5
  301. package/dist/consolidate/dag.js +45 -39
  302. package/dist/consolidate/decay.js +19 -6
  303. package/dist/consolidate/dedupe.d.ts +14 -5
  304. package/dist/consolidate/dedupe.js +28 -17
  305. package/dist/consolidate/flush-units.d.ts +4 -1
  306. package/dist/consolidate/flush-units.js +4 -1
  307. package/dist/consolidate/half-life-migration.d.ts +18 -8
  308. package/dist/consolidate/half-life-migration.js +48 -18
  309. package/dist/consolidate/llm-passes.js +27 -11
  310. package/dist/consolidate/memory-value-weights.d.ts +6 -2
  311. package/dist/consolidate/memory-value-weights.js +6 -2
  312. package/dist/consolidate/memory-value.d.ts +30 -10
  313. package/dist/consolidate/memory-value.js +37 -14
  314. package/dist/consolidate/merge.d.ts +4 -1
  315. package/dist/consolidate/merge.js +47 -37
  316. package/dist/consolidate/overlap-index.d.ts +8 -2
  317. package/dist/consolidate/overlap-index.js +11 -4
  318. package/dist/consolidate/physics-pass.d.ts +3 -1
  319. package/dist/consolidate/physics-pass.js +10 -7
  320. package/dist/consolidate/replay.d.ts +11 -4
  321. package/dist/consolidate/replay.js +19 -7
  322. package/dist/consolidate/run.d.ts +13 -5
  323. package/dist/consolidate/run.js +4 -4
  324. package/dist/consolidate/sleep.d.ts +14 -6
  325. package/dist/consolidate/sleep.js +42 -39
  326. package/dist/consolidate/trace.d.ts +7 -2
  327. package/dist/consolidate/trace.js +7 -2
  328. package/dist/consolidate/traces.js +27 -30
  329. package/dist/core/ablation.d.ts +9 -3
  330. package/dist/core/ablation.js +14 -4
  331. package/dist/core/active-scope.d.ts +3 -1
  332. package/dist/core/active-scope.js +3 -1
  333. package/dist/core/agent-memory-tools.d.ts +2 -0
  334. package/dist/core/agent-memory-tools.js +2 -0
  335. package/dist/core/ambient.d.ts +4 -3
  336. package/dist/core/ambient.js +8 -6
  337. package/dist/core/api-errors.d.ts +9 -3
  338. package/dist/core/api-errors.js +9 -3
  339. package/dist/core/capture-contract.d.ts +4 -1
  340. package/dist/core/capture-contract.js +27 -8
  341. package/dist/core/compare.d.ts +24 -8
  342. package/dist/core/compare.js +24 -8
  343. package/dist/core/config.d.ts +18 -9
  344. package/dist/core/config.js +38 -29
  345. package/dist/core/cosine.d.ts +4 -1
  346. package/dist/core/cosine.js +4 -1
  347. package/dist/core/handoff.d.ts +7 -2
  348. package/dist/core/handoff.js +4 -1
  349. package/dist/core/markdown.js +22 -17
  350. package/dist/core/memory-audit.js +14 -3
  351. package/dist/core/memory-quality.d.ts +12 -3
  352. package/dist/core/memory-quality.js +57 -21
  353. package/dist/core/memory.d.ts +87 -30
  354. package/dist/core/memory.js +82 -33
  355. package/dist/core/merged-row.d.ts +8 -2
  356. package/dist/core/merged-row.js +10 -3
  357. package/dist/core/package-root.d.ts +3 -1
  358. package/dist/core/package-root.js +3 -1
  359. package/dist/core/particle-refresh.d.ts +8 -0
  360. package/dist/core/particle-refresh.js +22 -0
  361. package/dist/core/physics-config.d.ts +4 -1
  362. package/dist/core/physics-config.js +6 -2
  363. package/dist/core/physics.d.ts +39 -11
  364. package/dist/core/physics.js +71 -21
  365. package/dist/core/project-identity.d.ts +34 -17
  366. package/dist/core/project-identity.js +35 -18
  367. package/dist/core/project-remote.d.ts +8 -4
  368. package/dist/core/project-remote.js +31 -14
  369. package/dist/core/recall-scope.d.ts +33 -11
  370. package/dist/core/recall-scope.js +42 -15
  371. package/dist/core/rejection-digest.d.ts +7 -0
  372. package/dist/core/rejection-digest.js +13 -0
  373. package/dist/core/salience.d.ts +3 -1
  374. package/dist/core/salience.js +10 -4
  375. package/dist/core/search-types.d.ts +15 -2
  376. package/dist/core/search-types.js +11 -0
  377. package/dist/dashboard/dashboard-actions.d.ts +2 -2
  378. package/dist/dashboard/dashboard-actions.js +18 -7
  379. package/dist/dashboard/dashboard-queries.js +2 -7
  380. package/dist/dashboard/dashboard-snapshot.d.ts +2 -2
  381. package/dist/dashboard/dashboard-snapshot.js +5 -7
  382. package/dist/dashboard/dashboard.js +22 -8
  383. package/dist/db/backup.js +2 -2
  384. package/dist/db/busy.d.ts +10 -3
  385. package/dist/db/busy.js +27 -5
  386. package/dist/db/connect.d.ts +10 -2
  387. package/dist/db/connect.js +8 -2
  388. package/dist/db/continuity.d.ts +1 -1
  389. package/dist/db/continuity.js +27 -11
  390. package/dist/db/meta.d.ts +4 -1
  391. package/dist/db/meta.js +4 -1
  392. package/dist/db/migrate.d.ts +10 -5
  393. package/dist/db/migrate.js +40 -20
  394. package/dist/db/migrations/index.d.ts +1 -1
  395. package/dist/db/migrations/index.js +3 -1
  396. package/dist/db/migrations/types.d.ts +2 -1
  397. package/dist/db/migrations/v11.js +1 -0
  398. package/dist/db/migrations/v12.js +2 -1
  399. package/dist/db/migrations/v14.js +2 -0
  400. package/dist/db/migrations/v15.js +4 -2
  401. package/dist/db/migrations/v16.js +6 -3
  402. package/dist/db/migrations/v17.js +2 -1
  403. package/dist/db/migrations/v19.js +4 -2
  404. package/dist/db/migrations/v20.js +2 -1
  405. package/dist/db/migrations/v22.js +12 -6
  406. package/dist/db/migrations/v23.js +6 -3
  407. package/dist/db/migrations/v24.js +6 -3
  408. package/dist/db/migrations/v25.js +4 -2
  409. package/dist/db/migrations/v26.js +4 -2
  410. package/dist/db/migrations/v27.js +6 -3
  411. package/dist/db/migrations/v28.js +4 -2
  412. package/dist/db/migrations/v29.js +4 -2
  413. package/dist/db/migrations/v30.js +6 -3
  414. package/dist/db/migrations/v31.js +4 -2
  415. package/dist/db/migrations/v32.js +6 -3
  416. package/dist/db/migrations/v33.js +4 -2
  417. package/dist/db/migrations/v34.js +2 -1
  418. package/dist/db/migrations/v35.js +2 -1
  419. package/dist/db/migrations/v36.js +2 -1
  420. package/dist/db/migrations/v37.js +10 -5
  421. package/dist/db/migrations/v38.js +10 -5
  422. package/dist/db/migrations/v39.js +14 -6
  423. package/dist/db/migrations/v40.js +4 -2
  424. package/dist/db/migrations/v41.js +4 -2
  425. package/dist/db/migrations/v42.js +2 -1
  426. package/dist/db/migrations/v44.js +4 -2
  427. package/dist/db/migrations/v45.js +4 -2
  428. package/dist/db/migrations/v49.js +2 -1
  429. package/dist/db/migrations/v50.js +4 -2
  430. package/dist/db/migrations/v51.js +4 -2
  431. package/dist/db/migrations/v52.js +2 -1
  432. package/dist/db/migrations/v53.js +8 -4
  433. package/dist/db/migrations/v54.js +2 -1
  434. package/dist/db/migrations/v55.js +4 -2
  435. package/dist/db/migrations/v56.d.ts +3 -0
  436. package/dist/db/migrations/v56.js +28 -0
  437. package/dist/db/open.d.ts +24 -12
  438. package/dist/db/open.js +25 -13
  439. package/dist/db/physics-state.d.ts +8 -8
  440. package/dist/db/physics-state.js +17 -50
  441. package/dist/db/raw-archive-mirror-cleanup.d.ts +4 -2
  442. package/dist/db/raw-archive-mirror-cleanup.js +6 -4
  443. package/dist/db/request-stores.d.ts +20 -5
  444. package/dist/db/request-stores.js +15 -5
  445. package/dist/db/tables.d.ts +2 -1
  446. package/dist/db/tables.js +12 -4
  447. package/dist/db/vector-store.d.ts +13 -4
  448. package/dist/db/vector-store.js +35 -14
  449. package/dist/db/wal-checkpointer.d.ts +2 -1
  450. package/dist/db/wal-checkpointer.js +19 -7
  451. package/dist/doctor.d.ts +7 -1
  452. package/dist/doctor.js +128 -46
  453. package/dist/embeddings/local.d.ts +8 -4
  454. package/dist/embeddings/local.js +11 -7
  455. package/dist/embeddings/provider.d.ts +19 -10
  456. package/dist/embeddings/provider.js +32 -27
  457. package/dist/embeddings/transformers.d.ts +16 -4
  458. package/dist/embeddings/transformers.js +32 -15
  459. package/dist/entry/json-hooks.d.ts +1 -1
  460. package/dist/entry/json-hooks.js +1 -1
  461. package/dist/entry/project-identity.js +2 -1
  462. package/dist/entry/session-text.d.ts +1 -1
  463. package/dist/entry/session-text.js +1 -1
  464. package/dist/entry/sqlite-handles.d.ts +10 -0
  465. package/dist/entry/sqlite-handles.js +9 -0
  466. package/dist/entry/store-kit.d.ts +50 -0
  467. package/dist/entry/store-kit.js +27 -0
  468. package/dist/entry/testing.d.ts +6 -0
  469. package/dist/entry/testing.js +7 -0
  470. package/dist/eval/eval-stats.d.ts +27 -8
  471. package/dist/eval/eval-stats.js +17 -5
  472. package/dist/eval/eval-suite.d.ts +3 -1
  473. package/dist/eval/eval-suite.js +409 -187
  474. package/dist/eval/eval.d.ts +8 -2
  475. package/dist/eval/eval.js +8 -2
  476. package/dist/eval/judgment.js +17 -7
  477. package/dist/graph/delta.d.ts +9 -42
  478. package/dist/graph/delta.js +17 -11
  479. package/dist/graph/extract.d.ts +10 -7
  480. package/dist/graph/extract.js +57 -25
  481. package/dist/graph/recall.d.ts +12 -4
  482. package/dist/graph/recall.js +30 -13
  483. package/dist/graph/stream.d.ts +18 -6
  484. package/dist/graph/stream.js +32 -10
  485. package/dist/graph/view.d.ts +19 -6
  486. package/dist/graph/view.js +42 -17
  487. package/dist/hooks/codex-session.js +2 -2
  488. package/dist/hooks/codex-wrapper.d.ts +3 -1
  489. package/dist/hooks/codex-wrapper.js +9 -4
  490. package/dist/hooks/copilot.d.ts +19 -5
  491. package/dist/hooks/copilot.js +54 -15
  492. package/dist/hooks/hook-blocks.d.ts +4 -1
  493. package/dist/hooks/hook-blocks.js +8 -3
  494. package/dist/hooks/json-hooks.d.ts +9 -5
  495. package/dist/hooks/json-hooks.js +72 -33
  496. package/dist/hooks/opencode.js +15 -5
  497. package/dist/hooks/shared.d.ts +27 -8
  498. package/dist/hooks/shared.js +57 -16
  499. package/dist/importers/core.d.ts +12 -4
  500. package/dist/importers/core.js +11 -10
  501. package/dist/importers/markdown-parse.d.ts +15 -5
  502. package/dist/importers/markdown-parse.js +16 -7
  503. package/dist/importers/markdown.js +6 -9
  504. package/dist/importers/sources.js +10 -23
  505. package/dist/importers/vault.d.ts +3 -3
  506. package/dist/importers/vault.js +61 -45
  507. package/dist/index.d.ts +33 -7
  508. package/dist/index.js +26 -8
  509. package/dist/learn/autolearn.d.ts +21 -6
  510. package/dist/learn/autolearn.js +57 -26
  511. package/dist/learn/churn-git.d.ts +4 -1
  512. package/dist/learn/churn-git.js +29 -5
  513. package/dist/learn/extract.d.ts +4 -1
  514. package/dist/learn/extract.js +17 -10
  515. package/dist/learn/forward-claim-detector.d.ts +17 -5
  516. package/dist/learn/forward-claim-detector.js +34 -15
  517. package/dist/learn/invalidation.d.ts +12 -6
  518. package/dist/learn/invalidation.js +62 -28
  519. package/dist/learn/roots.d.ts +3 -0
  520. package/dist/learn/roots.js +5 -0
  521. package/dist/mcp/admin-tools.d.ts +5 -5
  522. package/dist/mcp/admin-tools.js +28 -23
  523. package/dist/mcp/format.d.ts +1 -1
  524. package/dist/mcp/format.js +4 -2
  525. package/dist/mcp/framing.d.ts +3 -1
  526. package/dist/mcp/framing.js +20 -8
  527. package/dist/mcp/memory-tools.d.ts +3 -3
  528. package/dist/mcp/memory-tools.js +21 -20
  529. package/dist/mcp/protocol.d.ts +32 -16
  530. package/dist/mcp/protocol.js +12 -9
  531. package/dist/mcp/recall-tools.d.ts +3 -3
  532. package/dist/mcp/recall-tools.js +62 -74
  533. package/dist/mcp/request.d.ts +7 -5
  534. package/dist/mcp/request.js +61 -77
  535. package/dist/mcp/server.d.ts +3 -1
  536. package/dist/mcp/server.js +8 -3
  537. package/dist/mcp/session-state.d.ts +1 -1
  538. package/dist/mcp/session-state.js +4 -3
  539. package/dist/mcp/shared-gate.d.ts +3 -2
  540. package/dist/mcp/shared-gate.js +3 -2
  541. package/dist/mcp/stdio.d.ts +6 -3
  542. package/dist/mcp/stdio.js +59 -23
  543. package/dist/mcp/tool-args.d.ts +4 -1
  544. package/dist/mcp/tool-args.js +8 -3
  545. package/dist/mcp/tools.js +76 -32
  546. package/dist/objects/customer-notes.d.ts +12 -10
  547. package/dist/objects/customer-notes.js +21 -15
  548. package/dist/objects/decisions.d.ts +18 -10
  549. package/dist/objects/decisions.js +23 -17
  550. package/dist/objects/descriptor.js +2 -1
  551. package/dist/objects/fields.d.ts +4 -1
  552. package/dist/objects/fields.js +6 -2
  553. package/dist/objects/incidents.d.ts +14 -16
  554. package/dist/objects/incidents.js +29 -30
  555. package/dist/objects/lifecycle.d.ts +0 -4
  556. package/dist/objects/lifecycle.js +21 -24
  557. package/dist/objects/policies.d.ts +12 -16
  558. package/dist/objects/policies.js +17 -21
  559. package/dist/objects/processes.d.ts +16 -10
  560. package/dist/objects/processes.js +20 -15
  561. package/dist/objects/project-briefs.d.ts +13 -14
  562. package/dist/objects/project-briefs.js +33 -39
  563. package/dist/objects/skills.d.ts +10 -12
  564. package/dist/objects/skills.js +17 -22
  565. package/dist/postinstall.js +15 -7
  566. package/dist/predictions/planning-fallacy.d.ts +19 -6
  567. package/dist/predictions/planning-fallacy.js +4 -2
  568. package/dist/rerankers/clef.d.ts +8 -2
  569. package/dist/rerankers/clef.js +14 -9
  570. package/dist/rerankers/cross-encoder.d.ts +2 -1
  571. package/dist/rerankers/cross-encoder.js +19 -9
  572. package/dist/rerankers/index.js +2 -1
  573. package/dist/rerankers/jev.js +2 -1
  574. package/dist/rerankers/llm.d.ts +6 -2
  575. package/dist/rerankers/llm.js +8 -3
  576. package/dist/rerankers/remote.d.ts +3 -1
  577. package/dist/rerankers/remote.js +5 -2
  578. package/dist/rerankers/types.d.ts +6 -2
  579. package/dist/search/bm25-search.d.ts +3 -1
  580. package/dist/search/bm25-search.js +15 -2
  581. package/dist/search/boosts.js +4 -3
  582. package/dist/search/embed-memories.d.ts +12 -4
  583. package/dist/search/embed-memories.js +96 -58
  584. package/dist/search/engine.d.ts +11 -0
  585. package/dist/search/engine.js +14 -0
  586. package/dist/search/goal-boost.d.ts +10 -3
  587. package/dist/search/goal-boost.js +13 -6
  588. package/dist/search/hybrid-score.d.ts +4 -1
  589. package/dist/search/hybrid-score.js +4 -1
  590. package/dist/search/hybrid.d.ts +23 -8
  591. package/dist/search/hybrid.js +12 -7
  592. package/dist/search/multihop.js +14 -13
  593. package/dist/search/path-context.d.ts +10 -3
  594. package/dist/search/path-context.js +10 -3
  595. package/dist/search/physics-search.d.ts +9 -4
  596. package/dist/search/physics-search.js +38 -14
  597. package/dist/search/rerank.d.ts +2 -1
  598. package/dist/search/rerank.js +2 -1
  599. package/dist/search/rrf.d.ts +14 -5
  600. package/dist/search/rrf.js +11 -4
  601. package/dist/search/vector.d.ts +8 -2
  602. package/dist/search/vector.js +14 -8
  603. package/dist/server/auth.d.ts +19 -15
  604. package/dist/server/auth.js +68 -38
  605. package/dist/server/boot.d.ts +4 -1
  606. package/dist/server/boot.js +115 -67
  607. package/dist/server/client-ip.d.ts +17 -5
  608. package/dist/server/client-ip.js +56 -21
  609. package/dist/server/cursor.d.ts +10 -3
  610. package/dist/server/cursor.js +10 -3
  611. package/dist/server/deadline.d.ts +5 -2
  612. package/dist/server/deadline.js +10 -3
  613. package/dist/server/key-check-bounds.js +12 -4
  614. package/dist/server/lifecycle.d.ts +4 -1
  615. package/dist/server/lifecycle.js +10 -4
  616. package/dist/server/mcp-http.d.ts +2 -1
  617. package/dist/server/mcp-http.js +37 -22
  618. package/dist/server/rate-limit.d.ts +17 -5
  619. package/dist/server/rate-limit.js +55 -26
  620. package/dist/server/ready.js +7 -4
  621. package/dist/server/request.d.ts +15 -4
  622. package/dist/server/request.js +42 -15
  623. package/dist/server/route-checks.d.ts +4 -1
  624. package/dist/server/route-checks.js +8 -3
  625. package/dist/server/route-table.d.ts +8 -6
  626. package/dist/server/route-table.js +550 -97
  627. package/dist/server/routes/admin.d.ts +7 -7
  628. package/dist/server/routes/admin.js +36 -15
  629. package/dist/server/routes/customer-notes.d.ts +5 -5
  630. package/dist/server/routes/customer-notes.js +5 -4
  631. package/dist/server/routes/decisions.d.ts +5 -5
  632. package/dist/server/routes/decisions.js +12 -6
  633. package/dist/server/routes/incidents.d.ts +5 -5
  634. package/dist/server/routes/incidents.js +10 -4
  635. package/dist/server/routes/memories.d.ts +8 -8
  636. package/dist/server/routes/memories.js +12 -17
  637. package/dist/server/routes/object-routes.d.ts +8 -5
  638. package/dist/server/routes/object-routes.js +4 -2
  639. package/dist/server/routes/policies.d.ts +6 -6
  640. package/dist/server/routes/policies.js +11 -4
  641. package/dist/server/routes/predictions.d.ts +5 -5
  642. package/dist/server/routes/predictions.js +9 -4
  643. package/dist/server/routes/processes.d.ts +5 -5
  644. package/dist/server/routes/processes.js +15 -6
  645. package/dist/server/routes/project-briefs.d.ts +6 -6
  646. package/dist/server/routes/project-briefs.js +3 -2
  647. package/dist/server/routes/recall.d.ts +3 -3
  648. package/dist/server/routes/recall.js +21 -10
  649. package/dist/server/routes/skills.d.ts +6 -6
  650. package/dist/server/routes/skills.js +12 -4
  651. package/dist/server/server-detect.d.ts +24 -8
  652. package/dist/server/server-detect.js +57 -22
  653. package/dist/server/sleep-child.js +16 -10
  654. package/dist/server/sleep-offload.d.ts +8 -5
  655. package/dist/server/sleep-offload.js +40 -18
  656. package/dist/server/tls.d.ts +10 -2
  657. package/dist/server/tls.js +25 -5
  658. package/dist/server/types.d.ts +41 -24
  659. package/dist/server/validation.d.ts +4 -1
  660. package/dist/server/validation.js +22 -9
  661. package/dist/server.d.ts +17 -49
  662. package/dist/server.js +33 -40
  663. package/dist/sharing/global-store.d.ts +6 -12
  664. package/dist/sharing/global-store.js +8 -48
  665. package/dist/sharing/global-sync.d.ts +3 -1
  666. package/dist/sharing/global-sync.js +17 -7
  667. package/dist/sharing/project-merge.d.ts +25 -7
  668. package/dist/sharing/project-merge.js +49 -17
  669. package/dist/sharing/search-both.d.ts +8 -4
  670. package/dist/sharing/search-both.js +28 -14
  671. package/dist/sharing/share.d.ts +8 -4
  672. package/dist/sharing/share.js +40 -18
  673. package/dist/store/ambient.js +10 -5
  674. package/dist/store/audit-event.d.ts +2 -2
  675. package/dist/store/audit-event.js +8 -3
  676. package/dist/store/audit.d.ts +6 -3
  677. package/dist/store/audit.js +16 -6
  678. package/dist/store/auth.d.ts +4 -2
  679. package/dist/store/auth.js +63 -20
  680. package/dist/store/busy.d.ts +9 -0
  681. package/dist/store/busy.js +16 -0
  682. package/dist/store/candidates.d.ts +12 -5
  683. package/dist/store/candidates.js +90 -41
  684. package/dist/store/capture-write.d.ts +2 -1
  685. package/dist/store/capture-write.js +2 -1
  686. package/dist/store/card-detail.d.ts +4 -4
  687. package/dist/store/card-detail.js +15 -8
  688. package/dist/store/cards.d.ts +24 -10
  689. package/dist/store/cards.js +97 -63
  690. package/dist/store/compaction-caller.d.ts +2 -1
  691. package/dist/store/compaction-caller.js +2 -1
  692. package/dist/store/compactions-record.d.ts +14 -8
  693. package/dist/store/compactions-record.js +101 -37
  694. package/dist/store/compactions.js +35 -15
  695. package/dist/store/conflicts.d.ts +16 -5
  696. package/dist/store/conflicts.js +104 -48
  697. package/dist/store/connectors/dlq.d.ts +17 -5
  698. package/dist/store/connectors/dlq.js +58 -6
  699. package/dist/store/connectors/event-log.d.ts +122 -0
  700. package/dist/store/connectors/event-log.js +25 -0
  701. package/dist/store/connectors/github.d.ts +6 -3
  702. package/dist/store/connectors/github.js +30 -48
  703. package/dist/store/connectors/slack.d.ts +2 -1
  704. package/dist/store/connectors/slack.js +31 -47
  705. package/dist/store/dashboard-reads.d.ts +7 -3
  706. package/dist/store/dashboard-reads.js +32 -10
  707. package/dist/store/delete-and-batch.d.ts +17 -11
  708. package/dist/store/delete-and-batch.js +70 -28
  709. package/dist/store/delivery-recorder.d.ts +10 -7
  710. package/dist/store/delivery-recorder.js +70 -37
  711. package/dist/store/descendant-page.d.ts +2 -1
  712. package/dist/store/descendant-page.js +26 -10
  713. package/dist/store/diagnostics.d.ts +2 -1
  714. package/dist/store/diagnostics.js +2 -1
  715. package/dist/store/doctor-reads.d.ts +2 -1
  716. package/dist/store/doctor-reads.js +13 -5
  717. package/dist/store/dormant.d.ts +19 -11
  718. package/dist/store/dormant.js +45 -19
  719. package/dist/store/embeddings/index.d.ts +13 -9
  720. package/dist/store/embeddings/index.js +19 -12
  721. package/dist/store/entry-reads.d.ts +72 -21
  722. package/dist/store/entry-reads.js +215 -69
  723. package/dist/store/entry-row.d.ts +10 -6
  724. package/dist/store/entry-row.js +26 -14
  725. package/dist/store/entry-writes.d.ts +28 -13
  726. package/dist/store/entry-writes.js +61 -22
  727. package/dist/store/failure-log-at.js +1 -1
  728. package/dist/store/failure-log.d.ts +4 -2
  729. package/dist/store/failure-log.js +13 -6
  730. package/dist/store/gated-write.d.ts +3 -3
  731. package/dist/store/gated-write.js +3 -3
  732. package/dist/store/goals.d.ts +5 -4
  733. package/dist/store/goals.js +11 -12
  734. package/dist/store/graph-apply.d.ts +21 -0
  735. package/dist/{graph/write.js → store/graph-apply.js} +31 -11
  736. package/dist/store/graph-queue.d.ts +9 -6
  737. package/dist/store/graph-queue.js +15 -10
  738. package/dist/store/graph-reads.d.ts +16 -11
  739. package/dist/store/graph-reads.js +29 -19
  740. package/dist/store/graph-rows.d.ts +41 -3
  741. package/dist/store/graph-rows.js +10 -7
  742. package/dist/store/graph-view-rows.js +15 -7
  743. package/dist/store/graph-writes.d.ts +16 -10
  744. package/dist/store/graph-writes.js +59 -36
  745. package/dist/store/half-life.js +2 -2
  746. package/dist/store/handoffs.d.ts +13 -7
  747. package/dist/store/handoffs.js +44 -22
  748. package/dist/store/index-and-stats.d.ts +2 -2
  749. package/dist/store/index-and-stats.js +6 -5
  750. package/dist/store/index.d.ts +4 -2
  751. package/dist/store/index.js +2 -1
  752. package/dist/store/key-audit.d.ts +2 -1
  753. package/dist/store/key-audit.js +2 -1
  754. package/dist/store/key-writes.d.ts +2 -1
  755. package/dist/store/key-writes.js +9 -2
  756. package/dist/store/ledger-turn.d.ts +4 -1
  757. package/dist/store/ledger-turn.js +7 -2
  758. package/dist/store/mirrors.d.ts +11 -4
  759. package/dist/store/mirrors.js +96 -19
  760. package/dist/store/narrow.d.ts +6 -0
  761. package/dist/store/narrow.js +11 -0
  762. package/dist/store/open.d.ts +6 -3
  763. package/dist/store/open.js +20 -10
  764. package/dist/store/pilot-arm.d.ts +2 -1
  765. package/dist/store/pilot-arm.js +18 -6
  766. package/dist/store/planning-fallacy-evidence.d.ts +2 -2
  767. package/dist/store/planning-fallacy-evidence.js +8 -5
  768. package/dist/store/port/agent-import.d.ts +62 -0
  769. package/dist/store/port/agent-import.js +2 -0
  770. package/dist/store/port/consolidation.d.ts +129 -0
  771. package/dist/store/port/consolidation.js +2 -0
  772. package/dist/store/port/learning.d.ts +19 -0
  773. package/dist/store/port/learning.js +2 -0
  774. package/dist/store/port/local-files.d.ts +18 -0
  775. package/dist/store/port/local-files.js +2 -0
  776. package/dist/store/port/promotion.d.ts +20 -0
  777. package/dist/store/port/promotion.js +3 -0
  778. package/dist/store/port-groups.d.ts +160 -0
  779. package/dist/store/port-groups.js +2 -0
  780. package/dist/store/port.d.ts +261 -219
  781. package/dist/store/port.js +3 -9
  782. package/dist/store/predictions.d.ts +14 -10
  783. package/dist/store/predictions.js +37 -17
  784. package/dist/store/project-tags.d.ts +4 -1
  785. package/dist/store/project-tags.js +16 -5
  786. package/dist/store/quality-repair.d.ts +8 -4
  787. package/dist/store/quality-repair.js +53 -20
  788. package/dist/store/quarantine.d.ts +1 -0
  789. package/dist/store/quarantine.js +23 -9
  790. package/dist/store/raw-archive.d.ts +5 -4
  791. package/dist/store/raw-archive.js +11 -10
  792. package/dist/store/recall-trace.d.ts +22 -17
  793. package/dist/store/recall-trace.js +128 -64
  794. package/dist/store/rejected-values.d.ts +15 -10
  795. package/dist/store/rejected-values.js +46 -20
  796. package/dist/store/rejection.d.ts +12 -11
  797. package/dist/store/rejection.js +18 -19
  798. package/dist/store/report-reads.d.ts +2 -1
  799. package/dist/store/report-reads.js +2 -1
  800. package/dist/store/rows.d.ts +7 -5
  801. package/dist/store/rows.js +20 -13
  802. package/dist/store/rule-sql.d.ts +7 -3
  803. package/dist/store/rule-sql.js +26 -13
  804. package/dist/store/search-rows.d.ts +16 -11
  805. package/dist/store/search-rows.js +54 -32
  806. package/dist/store/sessions.d.ts +12 -10
  807. package/dist/store/sessions.js +40 -21
  808. package/dist/store/set-aside.d.ts +2 -2
  809. package/dist/store/set-aside.js +18 -5
  810. package/dist/store/sqlite/agent-import.d.ts +3 -0
  811. package/dist/store/sqlite/agent-import.js +77 -0
  812. package/dist/store/sqlite/cards-group.d.ts +6 -0
  813. package/dist/store/sqlite/cards-group.js +37 -0
  814. package/dist/store/sqlite/conflicts-group.d.ts +6 -0
  815. package/dist/store/sqlite/conflicts-group.js +18 -0
  816. package/dist/store/sqlite/connector-events-group.d.ts +2 -1
  817. package/dist/store/sqlite/connector-events-group.js +17 -6
  818. package/dist/store/sqlite/connector-writes-group.d.ts +2 -1
  819. package/dist/store/sqlite/connector-writes-group.js +12 -5
  820. package/dist/store/sqlite/consolidation-group.d.ts +4 -0
  821. package/dist/store/sqlite/consolidation-group.js +64 -0
  822. package/dist/store/sqlite/dag-reads-group.js +1 -1
  823. package/dist/store/sqlite/dormant-group.d.ts +6 -0
  824. package/dist/store/sqlite/dormant-group.js +29 -0
  825. package/dist/store/sqlite/entry-writes-group.d.ts +9 -6
  826. package/dist/store/sqlite/entry-writes-group.js +37 -14
  827. package/dist/store/sqlite/error-codec.d.ts +4 -2
  828. package/dist/store/sqlite/error-codec.js +32 -10
  829. package/dist/store/sqlite/executor-counts.js +2 -1
  830. package/dist/store/sqlite/executor.d.ts +8 -3
  831. package/dist/store/sqlite/executor.js +56 -18
  832. package/dist/store/sqlite/global-promote.d.ts +5 -0
  833. package/dist/store/sqlite/global-promote.js +48 -0
  834. package/dist/store/sqlite/goals-group.d.ts +6 -0
  835. package/dist/store/sqlite/goals-group.js +23 -0
  836. package/dist/store/sqlite/graph-reads-group.d.ts +2 -1
  837. package/dist/store/sqlite/graph-reads-group.js +2 -1
  838. package/dist/store/sqlite/held-connection.d.ts +8 -0
  839. package/dist/store/sqlite/held-connection.js +34 -7
  840. package/dist/store/sqlite/last-recall-group.d.ts +15 -0
  841. package/dist/store/sqlite/last-recall-group.js +62 -0
  842. package/dist/store/sqlite/learning-group.d.ts +4 -0
  843. package/dist/store/sqlite/learning-group.js +17 -0
  844. package/dist/store/sqlite/maintenance-groups.d.ts +6 -0
  845. package/dist/store/sqlite/maintenance-groups.js +61 -0
  846. package/dist/store/sqlite/object-rows.d.ts +6 -3
  847. package/dist/store/sqlite/object-rows.js +34 -5
  848. package/dist/store/sqlite/objects-group.d.ts +5 -4
  849. package/dist/store/sqlite/objects-group.js +97 -38
  850. package/dist/store/sqlite/predictions-group.d.ts +2 -1
  851. package/dist/store/sqlite/predictions-group.js +4 -2
  852. package/dist/store/sqlite/promotion-group.d.ts +3 -0
  853. package/dist/store/sqlite/promotion-group.js +10 -0
  854. package/dist/store/sqlite/quarantine-group.d.ts +2 -1
  855. package/dist/store/sqlite/quarantine-group.js +4 -2
  856. package/dist/store/sqlite/reports-group.d.ts +6 -0
  857. package/dist/store/sqlite/reports-group.js +33 -0
  858. package/dist/store/sqlite/request-scope.d.ts +6 -0
  859. package/dist/store/sqlite/request-scope.js +18 -0
  860. package/dist/store/sqlite/sessions-group.d.ts +6 -0
  861. package/dist/store/sqlite/sessions-group.js +46 -0
  862. package/dist/store/sqlite/store.d.ts +22 -18
  863. package/dist/store/sqlite/store.js +95 -33
  864. package/dist/store/sqlite/vector-pack.js +2 -1
  865. package/dist/store/sqlite/vector-reads-group.js +2 -1
  866. package/dist/store/sqlite/worker-jobs.d.ts +2 -1
  867. package/dist/store/sqlite/worker-jobs.js +19 -7
  868. package/dist/store/sqlite/worker-ops.d.ts +10 -5
  869. package/dist/store/sqlite/worker-ops.js +6 -3
  870. package/dist/store/sqlite/worker-store.d.ts +4 -3
  871. package/dist/store/sqlite/worker-store.js +24 -14
  872. package/dist/store/summaries.d.ts +25 -11
  873. package/dist/store/summaries.js +84 -27
  874. package/dist/store/summary-dirty.d.ts +2 -1
  875. package/dist/store/summary-dirty.js +2 -1
  876. package/dist/store/tenant.d.ts +3 -2
  877. package/dist/store/tenant.js +5 -4
  878. package/dist/store/token-ledger-rows.js +8 -4
  879. package/dist/store/token-ledger.d.ts +19 -13
  880. package/dist/store/token-ledger.js +27 -14
  881. package/dist/store/tombstone-checks.d.ts +4 -1
  882. package/dist/store/tombstone-checks.js +10 -1
  883. package/dist/store/usage-reports.js +2 -1
  884. package/dist/store/vector-index.d.ts +8 -5
  885. package/dist/store/vector-index.js +28 -11
  886. package/dist/store/working-memory.d.ts +6 -4
  887. package/dist/store/working-memory.js +14 -9
  888. package/dist/support-bundle.js +10 -5
  889. package/dist/trust/quarantine.d.ts +1 -2
  890. package/dist/trust/quarantine.js +1 -5
  891. package/dist/trust/reject-flow.d.ts +12 -3
  892. package/dist/trust/reject-flow.js +12 -4
  893. package/dist/util/anthropic-messages.d.ts +7 -2
  894. package/dist/util/anthropic-messages.js +18 -7
  895. package/dist/util/atomic-write.d.ts +8 -3
  896. package/dist/util/atomic-write.js +36 -21
  897. package/dist/util/compaction-items.d.ts +4 -1
  898. package/dist/util/compaction-items.js +8 -2
  899. package/dist/util/crash-handlers.d.ts +7 -2
  900. package/dist/util/crash-handlers.js +13 -4
  901. package/dist/util/env.d.ts +26 -5
  902. package/dist/util/env.js +87 -25
  903. package/dist/util/format.d.ts +2 -0
  904. package/dist/util/format.js +4 -0
  905. package/dist/util/home-path.js +12 -6
  906. package/dist/util/hook-payload.d.ts +3 -1
  907. package/dist/util/hook-payload.js +3 -1
  908. package/dist/util/http-retry.d.ts +12 -6
  909. package/dist/util/http-retry.js +16 -6
  910. package/dist/util/http-util.d.ts +20 -5
  911. package/dist/util/http-util.js +28 -9
  912. package/dist/util/json.d.ts +4 -1
  913. package/dist/util/json.js +4 -1
  914. package/dist/util/keyset.js +2 -1
  915. package/dist/util/limits.js +4 -2
  916. package/dist/util/log.d.ts +13 -5
  917. package/dist/util/log.js +29 -6
  918. package/dist/util/net.d.ts +5 -0
  919. package/dist/util/net.js +19 -0
  920. package/dist/util/real-path.d.ts +2 -1
  921. package/dist/util/real-path.js +4 -3
  922. package/dist/util/request-scope.d.ts +16 -4
  923. package/dist/util/request-scope.js +19 -6
  924. package/dist/util/same-text.d.ts +10 -3
  925. package/dist/util/same-text.js +10 -3
  926. package/dist/util/secret-detect.d.ts +24 -7
  927. package/dist/util/secret-detect.js +49 -14
  928. package/dist/util/spawn-argv.d.ts +11 -0
  929. package/dist/util/spawn-argv.js +66 -0
  930. package/dist/util/sql.d.ts +3 -0
  931. package/dist/util/sql.js +6 -0
  932. package/dist/util/sqlite-blocked.d.ts +15 -4
  933. package/dist/util/sqlite-blocked.js +19 -6
  934. package/dist/util/stored-json.d.ts +4 -1
  935. package/dist/util/stored-json.js +6 -2
  936. package/dist/util/stream-tee.d.ts +2 -1
  937. package/dist/util/stream-tee.js +8 -5
  938. package/dist/util/transcript-tail.d.ts +4 -1
  939. package/dist/util/transcript-tail.js +4 -1
  940. package/dist/util/vector-codec.d.ts +4 -0
  941. package/dist/util/vector-codec.js +15 -0
  942. package/dist/util/version.d.ts +8 -3
  943. package/dist/util/version.js +8 -3
  944. package/dist/util/write-budget.d.ts +7 -2
  945. package/dist/util/write-budget.js +5 -2
  946. package/dist/util/yaml.d.ts +4 -1
  947. package/dist/util/yaml.js +4 -1
  948. package/extensions/openclaw-plugin/openclaw.plugin.json +1 -1
  949. package/extensions/openclaw-plugin/package.json +1 -1
  950. package/openclaw.plugin.json +1 -1
  951. package/package.json +4 -1
  952. package/scripts/postinstall.cjs +3 -1
  953. package/dist/api/audit.js +0 -56
  954. package/dist/api/cards.d.ts +0 -42
  955. package/dist/api/conflicts.d.ts +0 -28
  956. package/dist/api/conflicts.js +0 -61
  957. package/dist/api/dormant.d.ts +0 -14
  958. package/dist/api/dormant.js +0 -58
  959. package/dist/api/goals.d.ts +0 -18
  960. package/dist/api/graph.d.ts +0 -8
  961. package/dist/api/graph.js +0 -7
  962. package/dist/api/learn.js +0 -124
  963. package/dist/api/memories.d.ts +0 -23
  964. package/dist/api/memories.js +0 -46
  965. package/dist/api/objects.d.ts +0 -9
  966. package/dist/api/on-store.d.ts +0 -16
  967. package/dist/api/on-store.js +0 -38
  968. package/dist/api/outcome.d.ts +0 -19
  969. package/dist/api/outcome.js +0 -21
  970. package/dist/api/predictions.d.ts +0 -11
  971. package/dist/api/promote.d.ts +0 -36
  972. package/dist/api/promote.js +0 -65
  973. package/dist/api/recall-core.d.ts +0 -4
  974. package/dist/api/recall-core.js +0 -120
  975. package/dist/api/recall-finish.d.ts +0 -53
  976. package/dist/api/recall-finish.js +0 -30
  977. package/dist/api/recall-history.d.ts +0 -64
  978. package/dist/api/recall-history.js +0 -159
  979. package/dist/api/recall-record.d.ts +0 -43
  980. package/dist/api/recall-record.js +0 -78
  981. package/dist/api/recall-request.js +0 -121
  982. package/dist/api/recall.d.ts +0 -6
  983. package/dist/api/refine.d.ts +0 -7
  984. package/dist/api/refine.js +0 -10
  985. package/dist/api/session-owners.d.ts +0 -4
  986. package/dist/api/session-owners.js +0 -17
  987. package/dist/api/sleep-run.d.ts +0 -26
  988. package/dist/api/sleep.js +0 -10
  989. package/dist/cli/lenient-id.d.ts +0 -2
  990. package/dist/cli/lenient-id.js +0 -13
  991. package/dist/graph/write.d.ts +0 -14
  992. package/dist/store/sqlite/busy.d.ts +0 -3
  993. package/dist/store/sqlite/busy.js +0 -8
  994. package/dist/store/sqlite/local.d.ts +0 -21
  995. package/dist/store/sqlite/local.js +0 -39
@@ -9,7 +9,10 @@ export interface CompactionItemRows {
9
9
  tooLong: number;
10
10
  capped: number;
11
11
  }
12
- /** The <summary> body of a PostCompact compact_summary with any <analysis> block removed; the whole text trimmed when there is no <summary> tag. */
12
+ /**
13
+ * The <summary> body of a PostCompact compact_summary with any <analysis> block removed; the whole text trimmed when
14
+ * there is no <summary> tag.
15
+ */
13
16
  export declare function compactSummaryBody(compactSummary: string): string;
14
17
  /** found=false when no "Memories for hippo" heading; items in order, "none" dropped, never cut. */
15
18
  export declare function parseCompactionItems(summaryBody: string): ParsedCompactionItems;
@@ -20,14 +20,20 @@ function withoutAnalysis(text) {
20
20
  from = close + ANALYSIS_CLOSE.length;
21
21
  }
22
22
  }
23
- /** `text` minus its trailing run of `*`, `:` and spaces; read from the end, as a `+$` pattern retries the run from each character. */
23
+ /**
24
+ * `text` minus its trailing run of `*`, `:` and spaces; read from the end, as a `+$` pattern retries the run from each
25
+ * character.
26
+ */
24
27
  function withoutHeadingTrailer(text) {
25
28
  let end = text.length;
26
29
  while (end > 0 && HEADING_TRAILER.test(text[end - 1]))
27
30
  end--;
28
31
  return text.slice(0, end);
29
32
  }
30
- /** The <summary> body of a PostCompact compact_summary with any <analysis> block removed; the whole text trimmed when there is no <summary> tag. */
33
+ /**
34
+ * The <summary> body of a PostCompact compact_summary with any <analysis> block removed; the whole text trimmed when
35
+ * there is no <summary> tag.
36
+ */
31
37
  export function compactSummaryBody(compactSummary) {
32
38
  const text = withoutAnalysis(compactSummary);
33
39
  const open = text.lastIndexOf('<summary>');
@@ -3,10 +3,15 @@ export interface Shutdown {
3
3
  readonly run: () => void | Promise<void>;
4
4
  readonly boundMs: number;
5
5
  }
6
- /** Exit once stdout and stderr have drained, so the last reply and the last log line reach their reader; capped at 1 s. */
6
+ /**
7
+ * Exit once stdout and stderr have drained, so the last reply and the last log line reach their reader; capped at 1 s.
8
+ */
7
9
  export declare function exitAfterFlush(code: number): void;
8
10
  /** On SIGTERM or SIGINT: runs `shutdown` once, then exits 0. */
9
11
  export declare function installSignalHandlers(name: string, shutdown: Shutdown): void;
10
- /** After an uncaught throw the process state is unknown: log the cause, run `shutdown` once, then exit 1 for the supervisor or client to restart it. */
12
+ /**
13
+ * After an uncaught throw the process state is unknown: log the cause, run `shutdown` once, then exit 1 for the
14
+ * supervisor or client to restart it.
15
+ */
11
16
  export declare function installCrashHandlers(name: string, shutdown?: Shutdown): void;
12
17
  //# sourceMappingURL=crash-handlers.d.ts.map
@@ -8,16 +8,22 @@ function afterFlush(leave) {
8
8
  process.stderr.write('', done);
9
9
  setTimeout(leave, 1000).unref();
10
10
  }
11
- /** Exit once stdout and stderr have drained, so the last reply and the last log line reach their reader; capped at 1 s. */
11
+ /**
12
+ * Exit once stdout and stderr have drained, so the last reply and the last log line reach their reader; capped at 1 s.
13
+ */
12
14
  export function exitAfterFlush(code) {
13
15
  process.exitCode = code;
14
16
  afterFlush(() => process.exit(code));
15
17
  }
16
- // process.exit joins every worker thread, so one stuck in a synchronous statement would hold the exit open; a kill cannot be held.
18
+ // process.exit joins every worker thread, so one stuck in a synchronous statement would hold the exit open; a kill
19
+ // cannot be held.
17
20
  function killSelf() {
18
21
  process.kill(process.pid, 'SIGKILL');
19
22
  }
20
- /** Runs `shutdown` for `cause`, then exits with `code`, or 1 when it threw. One still running after its bound is logged and the process ended without it. */
23
+ /**
24
+ * Runs `shutdown` for `cause`, then exits with `code`, or 1 when it threw. One still running after its bound is logged
25
+ * and the process ended without it.
26
+ */
21
27
  function exitAfterShutdown(name, cause, shutdown, code) {
22
28
  let ended = false;
23
29
  // Referenced on purpose: a shutdown that never settles must end at the bound, not when the loop happens to empty.
@@ -52,7 +58,10 @@ export function installSignalHandlers(name, shutdown) {
52
58
  process.once('SIGTERM', () => stopFor('SIGTERM'));
53
59
  process.once('SIGINT', () => stopFor('SIGINT'));
54
60
  }
55
- /** After an uncaught throw the process state is unknown: log the cause, run `shutdown` once, then exit 1 for the supervisor or client to restart it. */
61
+ /**
62
+ * After an uncaught throw the process state is unknown: log the cause, run `shutdown` once, then exit 1 for the
63
+ * supervisor or client to restart it.
64
+ */
56
65
  export function installCrashHandlers(name, shutdown) {
57
66
  let crashing = false;
58
67
  const crash = (kind, err) => {
@@ -1,4 +1,7 @@
1
- /** The whole environment, for code that takes it as an injectable map (agent-memory machines, owner checks, support bundles). */
1
+ /**
2
+ * The whole environment, for code that takes it as an injectable map (agent-memory machines, owner checks, support
3
+ * bundles).
4
+ */
2
5
  export declare function processEnv(): NodeJS.ProcessEnv;
3
6
  /** A variable whose name comes from configuration, such as an embedding provider's key variable. */
4
7
  export declare function envByName(name: string): string | undefined;
@@ -22,6 +25,8 @@ export declare function envHippoHome(): string | undefined;
22
25
  export declare function envXdgDataHome(): string | undefined;
23
26
  export declare function envHomeDir(): string | undefined;
24
27
  export declare function envPath(): string | undefined;
28
+ /** The extensions win32 tries on a bare command name, in order. */
29
+ export declare function envPathExt(): string | undefined;
25
30
  export declare function envModelCache(): string | undefined;
26
31
  export declare function envHippoSessionId(): string | undefined;
27
32
  export declare function envClaudeCodeSessionId(): string | undefined;
@@ -44,12 +49,21 @@ export declare function envLogLevel(): string;
44
49
  /** `HIPPO_LOG_FORMAT=json` writes each log line as one JSON object; anything else keeps the text line. */
45
50
  export declare function envLogJson(): boolean;
46
51
  export declare function envPort(): string | undefined;
47
- /** How long a client waits for a running server's /health before writing to the store directly; server-detect.ts holds the default. */
52
+ /**
53
+ * How long a client waits for a running server's /health before writing to the store directly; server-detect.ts holds
54
+ * the default.
55
+ */
48
56
  export declare function envHealthProbeMs(): number | undefined;
49
57
  export declare function envRequireAuth(): boolean;
50
- /** `1` lets a request made on this machine in with no key, as host admin; HIPPO_REQUIRE_AUTH=1 wins over it. */
58
+ /** `1` lets a request made on this machine in with no key; HIPPO_REQUIRE_AUTH=1 wins over it. */
51
59
  export declare function envAllowKeylessLocal(): boolean;
60
+ /** The role a keyless local request gets: `admin` (host admin) only when asked for by name, else `member`. */
61
+ export declare function envKeylessLocalRole(): 'admin' | 'member';
62
+ /** `1` lets a non-loopback bind start without TLS, for TLS that ends at a proxy in front. */
63
+ export declare function envAllowCleartext(): boolean;
52
64
  export declare function envV1Rps(): string | undefined;
65
+ /** Requests per second each authenticated caller may make; `0` turns the per-caller limit off. */
66
+ export declare function envCallerRps(): string | undefined;
53
67
  /** How long a request body may take to arrive; http-util.ts holds the default. */
54
68
  export declare function envBodyTimeoutMs(): number | undefined;
55
69
  /** How long POST /v1/sleep lets its consolidation run; server/sleep-offload.ts holds the default. */
@@ -57,12 +71,16 @@ export declare function envSleepTimeoutMs(): number | undefined;
57
71
  /** How long a /v1 or /mcp request may run before the server answers 504, and a stdio MCP
58
72
  * request before its timeout error; 0 for no deadline; util/request-scope.ts holds the default. */
59
73
  export declare function envRequestDeadlineMs(): number | undefined;
60
- /** How many store calls may wait for one worker thread before the next is refused; store/sqlite/executor.ts holds the default. */
74
+ /**
75
+ * How many store calls may wait for one worker thread before the next is refused; store/sqlite/executor.ts holds the
76
+ * default.
77
+ */
61
78
  export declare function envStoreQueueMax(): number | undefined;
62
79
  /** How long the daily runner lets one child `hippo` step run; cli/setup.ts holds the default. */
63
80
  export declare function envDailyStepTimeoutMs(): number | undefined;
64
81
  export declare function envApiKey(): string | undefined;
65
82
  export declare function envClientIpHeader(): string | undefined;
83
+ /** The peers whose HIPPO_CLIENT_IP_HEADER is believed: IPs or CIDRs, or `*` for any peer. */
66
84
  export declare function envTrustedProxies(): string | undefined;
67
85
  /** Paths to the PEM certificate and key `hippo serve` answers HTTPS with; the --tls-cert and --tls-key flags win. */
68
86
  export declare function envTlsCert(): string | undefined;
@@ -75,7 +93,10 @@ export declare function envLlmTimeoutMs(): number | undefined;
75
93
  export declare function envTypesafeApiKey(): string | undefined;
76
94
  export declare function envJevTimeoutMs(): number | undefined;
77
95
  export declare function envJevModel(): string | undefined;
78
- /** How long a recall waits for an API provider to embed its query before ranking on BM25 alone; search/vector.ts holds the default. */
96
+ /**
97
+ * How long a recall waits for an API provider to embed its query before ranking on BM25 alone; search/vector.ts holds
98
+ * the default.
99
+ */
79
100
  export declare function envQueryEmbedTimeoutMs(): number | undefined;
80
101
  export declare function envLlmRerankerUrl(): string | undefined;
81
102
  export declare function envLlmRerankerKey(): string | undefined;
package/dist/util/env.js CHANGED
@@ -1,5 +1,6 @@
1
1
  // The one module in src/ that reads process.env; scripts/check-env-reads.mjs fails CI on any other read.
2
- // Accessors read at call time, so a test that sets a variable between cases, or a HIPPO_HOME switch mid-process, still holds.
2
+ // Accessors read at call time, so a test that sets a variable between cases, or a HIPPO_HOME switch mid-process, still
3
+ // holds.
3
4
  function raw(name) {
4
5
  return process.env[name];
5
6
  }
@@ -24,7 +25,10 @@ function nonNegativeInt(name) {
24
25
  function trimmed(name) {
25
26
  return raw(name)?.trim() || undefined;
26
27
  }
27
- /** The whole environment, for code that takes it as an injectable map (agent-memory machines, owner checks, support bundles). */
28
+ /**
29
+ * The whole environment, for code that takes it as an injectable map (agent-memory machines, owner checks, support
30
+ * bundles).
31
+ */
28
32
  export function processEnv() {
29
33
  return process.env;
30
34
  }
@@ -64,6 +68,8 @@ export function envHippoHome() { return raw('HIPPO_HOME')?.trim(); }
64
68
  export function envXdgDataHome() { return raw('XDG_DATA_HOME')?.trim(); }
65
69
  export function envHomeDir() { return raw('HOME') || raw('USERPROFILE'); }
66
70
  export function envPath() { return raw('PATH'); }
71
+ /** The extensions win32 tries on a bare command name, in order. */
72
+ export function envPathExt() { return raw('PATHEXT'); }
67
73
  export function envModelCache() { return trimmed('HIPPO_MODEL_CACHE'); }
68
74
  // Session, scope and tenant.
69
75
  export function envHippoSessionId() { return trimmed('HIPPO_SESSION_ID'); }
@@ -91,12 +97,23 @@ export function envLogLevel() { return raw('HIPPO_LOG')?.trim().toLowerCase() ??
91
97
  export function envLogJson() { return raw('HIPPO_LOG_FORMAT')?.trim().toLowerCase() === 'json'; }
92
98
  // Server.
93
99
  export function envPort() { return raw('HIPPO_PORT'); }
94
- /** How long a client waits for a running server's /health before writing to the store directly; server-detect.ts holds the default. */
100
+ /**
101
+ * How long a client waits for a running server's /health before writing to the store directly; server-detect.ts holds
102
+ * the default.
103
+ */
95
104
  export function envHealthProbeMs() { return positiveInt('HIPPO_HEALTH_PROBE_MS'); }
96
105
  export function envRequireAuth() { return isOne('HIPPO_REQUIRE_AUTH'); }
97
- /** `1` lets a request made on this machine in with no key, as host admin; HIPPO_REQUIRE_AUTH=1 wins over it. */
106
+ /** `1` lets a request made on this machine in with no key; HIPPO_REQUIRE_AUTH=1 wins over it. */
98
107
  export function envAllowKeylessLocal() { return isOne('HIPPO_ALLOW_KEYLESS_LOCAL'); }
108
+ /** The role a keyless local request gets: `admin` (host admin) only when asked for by name, else `member`. */
109
+ export function envKeylessLocalRole() {
110
+ return trimmed('HIPPO_KEYLESS_LOCAL_ROLE')?.toLowerCase() === 'admin' ? 'admin' : 'member';
111
+ }
112
+ /** `1` lets a non-loopback bind start without TLS, for TLS that ends at a proxy in front. */
113
+ export function envAllowCleartext() { return isOne('HIPPO_ALLOW_CLEARTEXT'); }
99
114
  export function envV1Rps() { return raw('HIPPO_V1_RPS'); }
115
+ /** Requests per second each authenticated caller may make; `0` turns the per-caller limit off. */
116
+ export function envCallerRps() { return trimmed('HIPPO_CALLER_RPS'); }
100
117
  /** How long a request body may take to arrive; http-util.ts holds the default. */
101
118
  export function envBodyTimeoutMs() { return positiveInt('HIPPO_BODY_TIMEOUT_MS'); }
102
119
  /** How long POST /v1/sleep lets its consolidation run; server/sleep-offload.ts holds the default. */
@@ -104,12 +121,16 @@ export function envSleepTimeoutMs() { return positiveInt('HIPPO_SLEEP_TIMEOUT_MS
104
121
  /** How long a /v1 or /mcp request may run before the server answers 504, and a stdio MCP
105
122
  * request before its timeout error; 0 for no deadline; util/request-scope.ts holds the default. */
106
123
  export function envRequestDeadlineMs() { return nonNegativeInt('HIPPO_REQUEST_DEADLINE_MS'); }
107
- /** How many store calls may wait for one worker thread before the next is refused; store/sqlite/executor.ts holds the default. */
124
+ /**
125
+ * How many store calls may wait for one worker thread before the next is refused; store/sqlite/executor.ts holds the
126
+ * default.
127
+ */
108
128
  export function envStoreQueueMax() { return positiveInt('HIPPO_STORE_QUEUE_MAX'); }
109
129
  /** How long the daily runner lets one child `hippo` step run; cli/setup.ts holds the default. */
110
130
  export function envDailyStepTimeoutMs() { return positiveInt('HIPPO_DAILY_STEP_TIMEOUT_MS'); }
111
131
  export function envApiKey() { return raw('HIPPO_API_KEY'); }
112
132
  export function envClientIpHeader() { return raw('HIPPO_CLIENT_IP_HEADER')?.trim().toLowerCase(); }
133
+ /** The peers whose HIPPO_CLIENT_IP_HEADER is believed: IPs or CIDRs, or `*` for any peer. */
113
134
  export function envTrustedProxies() { return raw('HIPPO_TRUSTED_PROXIES'); }
114
135
  /** Paths to the PEM certificate and key `hippo serve` answers HTTPS with; the --tls-cert and --tls-key flags win. */
115
136
  export function envTlsCert() { return trimmed('HIPPO_TLS_CERT'); }
@@ -123,25 +144,66 @@ export function envLlmTimeoutMs() { return positiveInt('HIPPO_LLM_TIMEOUT_MS');
123
144
  export function envTypesafeApiKey() { return trimmed('TYPESAFE_API_KEY'); }
124
145
  export function envJevTimeoutMs() { return positiveInt('HIPPO_JEV_TIMEOUT_MS'); }
125
146
  export function envJevModel() { return raw('HIPPO_JEV_MODEL'); }
126
- /** How long a recall waits for an API provider to embed its query before ranking on BM25 alone; search/vector.ts holds the default. */
127
- export function envQueryEmbedTimeoutMs() { return positiveInt('HIPPO_QUERY_EMBED_TIMEOUT_MS'); }
128
- export function envLlmRerankerUrl() { return raw('HIPPO_LLM_RERANKER_URL'); }
129
- export function envLlmRerankerKey() { return raw('HIPPO_LLM_RERANKER_KEY'); }
130
- export function envLlmRerankerModel() { return raw('HIPPO_LLM_RERANKER_MODEL'); }
131
- export function envLlmRerankerTimeoutMs() { return positiveInt('HIPPO_LLM_RERANKER_TIMEOUT_MS'); }
132
- export function envClefEndpoint() { return raw('HIPPO_CLEF_ENDPOINT')?.trim(); }
133
- export function envClefEndpointToken() { return raw('HIPPO_CLEF_ENDPOINT_TOKEN')?.trim() || undefined; }
134
- export function envClefTimeoutMs() { return raw('HIPPO_CLEF_TIMEOUT_MS'); }
135
- export function envCloudflareAccountId() { return raw('CLOUDFLARE_ACCOUNT_ID')?.trim() ?? ''; }
136
- export function envCloudflareApiToken() { return raw('CLOUDFLARE_API_TOKEN')?.trim() ?? ''; }
147
+ /**
148
+ * How long a recall waits for an API provider to embed its query before ranking on BM25 alone; search/vector.ts holds
149
+ * the default.
150
+ */
151
+ export function envQueryEmbedTimeoutMs() {
152
+ return positiveInt('HIPPO_QUERY_EMBED_TIMEOUT_MS');
153
+ }
154
+ export function envLlmRerankerUrl() {
155
+ return raw('HIPPO_LLM_RERANKER_URL');
156
+ }
157
+ export function envLlmRerankerKey() {
158
+ return raw('HIPPO_LLM_RERANKER_KEY');
159
+ }
160
+ export function envLlmRerankerModel() {
161
+ return raw('HIPPO_LLM_RERANKER_MODEL');
162
+ }
163
+ export function envLlmRerankerTimeoutMs() {
164
+ return positiveInt('HIPPO_LLM_RERANKER_TIMEOUT_MS');
165
+ }
166
+ export function envClefEndpoint() {
167
+ return raw('HIPPO_CLEF_ENDPOINT')?.trim();
168
+ }
169
+ export function envClefEndpointToken() {
170
+ return raw('HIPPO_CLEF_ENDPOINT_TOKEN')?.trim() || undefined;
171
+ }
172
+ export function envClefTimeoutMs() {
173
+ return raw('HIPPO_CLEF_TIMEOUT_MS');
174
+ }
175
+ export function envCloudflareAccountId() {
176
+ return raw('CLOUDFLARE_ACCOUNT_ID')?.trim() ?? '';
177
+ }
178
+ export function envCloudflareApiToken() {
179
+ return raw('CLOUDFLARE_API_TOKEN')?.trim() ?? '';
180
+ }
137
181
  // Connectors.
138
- export function envSlackBotToken() { return raw('SLACK_BOT_TOKEN'); }
139
- export function envSlackTeamId() { return raw('SLACK_TEAM_ID'); }
140
- export function envSlackSigningSecret() { return raw('SLACK_SIGNING_SECRET'); }
141
- export function envSlackSigningSecretPrevious() { return raw('SLACK_SIGNING_SECRET_PREVIOUS'); }
142
- export function envSlackAllowUnknownTeamFallback() { return isOne('SLACK_ALLOW_UNKNOWN_TEAM_FALLBACK'); }
143
- export function envGitHubToken() { return raw('GITHUB_TOKEN'); }
144
- export function envGitHubWebhookSecret() { return raw('GITHUB_WEBHOOK_SECRET'); }
145
- export function envGitHubWebhookSecretPrevious() { return raw('GITHUB_WEBHOOK_SECRET_PREVIOUS'); }
146
- export function envGitHubAllowUnknownInstallationFallback() { return isOne('GITHUB_ALLOW_UNKNOWN_INSTALLATION_FALLBACK'); }
182
+ export function envSlackBotToken() {
183
+ return raw('SLACK_BOT_TOKEN');
184
+ }
185
+ export function envSlackTeamId() {
186
+ return raw('SLACK_TEAM_ID');
187
+ }
188
+ export function envSlackSigningSecret() {
189
+ return raw('SLACK_SIGNING_SECRET');
190
+ }
191
+ export function envSlackSigningSecretPrevious() {
192
+ return raw('SLACK_SIGNING_SECRET_PREVIOUS');
193
+ }
194
+ export function envSlackAllowUnknownTeamFallback() {
195
+ return isOne('SLACK_ALLOW_UNKNOWN_TEAM_FALLBACK');
196
+ }
197
+ export function envGitHubToken() {
198
+ return raw('GITHUB_TOKEN');
199
+ }
200
+ export function envGitHubWebhookSecret() {
201
+ return raw('GITHUB_WEBHOOK_SECRET');
202
+ }
203
+ export function envGitHubWebhookSecretPrevious() {
204
+ return raw('GITHUB_WEBHOOK_SECRET_PREVIOUS');
205
+ }
206
+ export function envGitHubAllowUnknownInstallationFallback() {
207
+ return isOne('GITHUB_ALLOW_UNKNOWN_INSTALLATION_FALLBACK');
208
+ }
147
209
  //# sourceMappingURL=env.js.map
@@ -1,3 +1,5 @@
1
1
  /** A 0..1 fraction as a percentage with one decimal, e.g. 0.256 -> "25.6%". */
2
2
  export declare function pct(fraction: number): string;
3
+ /** Rounds to one decimal place. */
4
+ export declare function round1(value: number): number;
3
5
  //# sourceMappingURL=format.d.ts.map
@@ -3,4 +3,8 @@
3
3
  export function pct(fraction) {
4
4
  return (fraction * 100).toFixed(1) + '%';
5
5
  }
6
+ /** Rounds to one decimal place. */
7
+ export function round1(value) {
8
+ return Math.round(value * 10) / 10;
9
+ }
6
10
  //# sourceMappingURL=format.js.map
@@ -1,11 +1,14 @@
1
- // Home-directory paths name their user, so text bound for a shared store tests or masks them here; no imports keep it light.
1
+ // Home-directory paths name their user, so text bound for a shared
2
+ // store tests or masks them here; no imports keep it light.
2
3
  // VS Code writes file links URL-encoded, so a separator may be %5C or %2F.
3
4
  const WIN_SEP = String.raw `(?:[\\/]|%5[Cc]|%2[Ff])`;
4
5
  const WIN_CHAR = String.raw `(?:(?!%5[Cc]|%2[Ff])[^\\/:*?"<>|\s])`;
5
6
  // A Windows name never holds a quote, so JSON stops it; one with spaces runs to a separator, quote,
6
7
  // closing mark or line end, leaving the mark, as stopping at its first word leaks the surname.
7
- const WIN_USER = String.raw `(?:${WIN_CHAR}+(?: ${WIN_CHAR}+){0,3}(?=${WIN_SEP}|["'\`)\]>,;]|\.(?=\s|$)|(?<!\.)(?:[^\S ]|$))(?<![\`)\],;'])|${WIN_CHAR}+)`;
8
- // Slash-led homes with their case spelled out and no flag, so one pattern can hold all four: Git Bash and WSL mounts, Linux, root and macOS.
8
+ const WIN_USER = String.raw `(?:${WIN_CHAR}+(?: ${WIN_CHAR}+){0,3}(?=${WIN_SEP}|["'\`)\]>,;]|\.(?=\s|$)|` +
9
+ String.raw `(?<!\.)(?:[^\S ]|$))(?<![\`)\],;'])|${WIN_CHAR}+)`;
10
+ // Slash-led homes with their case spelled out and no flag, so one pattern can hold all four: Git Bash and WSL mounts,
11
+ // Linux, root and macOS.
9
12
  const MOUNT_HOME = String.raw `(?:\/[Mm][Nn][Tt])?\/[A-Za-z]\/[Uu][Ss][Ee][Rr][Ss]\/${WIN_USER}`;
10
13
  const LINUX_HOME = String.raw `(?:\/var)?\/home\/[^/\s]+`;
11
14
  const ROOT_HOME = String.raw `(?:\/var)?\/root(?![\w.-])`;
@@ -35,8 +38,10 @@ const MASK = '[home]';
35
38
  // Global copies, so the shared test patterns keep their lastIndex at 0.
36
39
  const allOf = (re) => new RegExp(re.source, `${re.flags}g`);
37
40
  const [DRIVE_HOMES, LONG_PATHS, SHARE_HOMES, SHORT_NAMES] = [DRIVE_HOME, LONG_PATH, SHARE_HOME, SHORT_NAME].map(allOf);
38
- // A home glued after another starts where a mask will end, which no guard refuses: one match takes the whole run, as masking one a pass costs a pass per home.
39
- // A run holds only shapes whose own step is not still to come, so a later step meets the same text it would without the run.
41
+ // A home glued after another starts where a mask will end, which no guard
42
+ // refuses: one match takes the whole run, as masking one a pass costs a
43
+ // pass per home. A run holds only shapes whose own step is not still to
44
+ // come, so a later step meets the same text it would without the run.
40
45
  const runFrom = (start, ...glued) => new RegExp(`${start}(?:${glued.join('|')})*`, 'g');
41
46
  const MOUNT_RUNS = runFrom(MOUNT_START, MOUNT_HOME);
42
47
  const LINUX_RUNS = runFrom(LINUX_START, MOUNT_HOME, LINUX_HOME);
@@ -59,7 +64,8 @@ function maskOnce(text) {
59
64
  export function maskHomePaths(text) {
60
65
  let out = text;
61
66
  let next = maskOnce(out);
62
- // A mask can uncover a home path its text was hiding, so passes repeat until one changes nothing; each takes a separator out, so they end.
67
+ // A mask can uncover a home path its text was hiding, so passes repeat until one changes nothing; each takes a
68
+ // separator out, so they end.
63
69
  while (next !== out) {
64
70
  out = next;
65
71
  next = maskOnce(out);
@@ -2,7 +2,9 @@
2
2
  export declare function hookPayloadSessionId(stdinText: string | undefined, requiredSource?: string | null): string | null;
3
3
  /** A hook payload's string `field` as sent, or null when the payload or the field is missing or not a string. */
4
4
  export declare function hookPayloadString(stdinText: string | undefined, field: string): string | null;
5
- /** Whether a hook fired inside a sub-agent, the only payload with `agent_id` (https://code.claude.com/docs/en/hooks#common-input-fields).
5
+ /**
6
+ * Whether a hook fired inside a sub-agent, the only payload with `agent_id`
7
+ * (https://code.claude.com/docs/en/hooks#common-input-fields).
6
8
  * Its `session_id` is the parent's, so a sub-agent's blocks and compactions must not count as the parent's. */
7
9
  export declare function isSubagentPayload(stdinText: string | undefined): boolean;
8
10
  //# sourceMappingURL=hook-payload.d.ts.map
@@ -28,7 +28,9 @@ export function hookPayloadString(stdinText, field) {
28
28
  const value = parseHookPayload(stdinText)?.[field];
29
29
  return isJsonString(value) ? value : null;
30
30
  }
31
- /** Whether a hook fired inside a sub-agent, the only payload with `agent_id` (https://code.claude.com/docs/en/hooks#common-input-fields).
31
+ /**
32
+ * Whether a hook fired inside a sub-agent, the only payload with `agent_id`
33
+ * (https://code.claude.com/docs/en/hooks#common-input-fields).
32
34
  * Its `session_id` is the parent's, so a sub-agent's blocks and compactions must not count as the parent's. */
33
35
  export function isSubagentPayload(stdinText) {
34
36
  const agentId = parseHookPayload(stdinText)?.agent_id;
@@ -1,17 +1,20 @@
1
- /** One retry policy for outbound HTTP: a timeout on every attempt, backoff on 429 and 5xx, and on a dropped connection where a replay is safe. */
1
+ /** One retry policy for outbound HTTP: a timeout on every attempt, backoff on 429 and 5xx, and on a dropped
2
+ * connection where a replay is safe. */
2
3
  export interface RetryPolicy {
3
4
  /** Per-attempt limit; a stalled peer ends as a thrown `TimeoutError`, never a hang. */
4
5
  timeoutMs: number;
5
6
  /** Total attempts including the first. */
6
7
  attempts?: number;
7
- /** Limit on the whole call, waits included: an attempt is cut short at it and no retry starts whose wait would reach it. */
8
+ /** Limit on the whole call, waits included: an attempt is cut short at it and no retry starts whose wait would
9
+ * reach it. */
8
10
  totalMs?: number;
9
11
  baseDelayMs?: number;
10
12
  /** A Retry-After longer than this hands the response back, so a caller with its own long pause keeps it. */
11
13
  maxDelayMs?: number;
12
14
  /** Which responses to retry; defaults to 429 and 5xx. A write narrows it to answers that prove nothing committed. */
13
15
  retryOn?: (res: Response) => boolean;
14
- /** Also retry a dropped connection or a timed-out attempt. On for GET and HEAD; any other method turns it on only when a replay cannot commit twice. */
16
+ /** Also retry a dropped connection or a timed-out attempt. On for GET and HEAD; any other method turns it on only
17
+ * when a replay cannot commit twice. */
15
18
  retryTransport?: boolean;
16
19
  fetchFn?: typeof fetch;
17
20
  /** Replaces the timer between attempts. A caller `signal` that aborts still ends the wait at once. */
@@ -20,14 +23,17 @@ export interface RetryPolicy {
20
23
  /** Replaces the clock `totalMs` is measured on. */
21
24
  now?: () => number;
22
25
  }
23
- /** LLM calls (consolidation refine, DAG summaries, fact extraction) share one budget; `HIPPO_LLM_TIMEOUT_MS` overrides it. */
26
+ /** LLM calls (consolidation refine, DAG summaries, fact extraction) share one budget; `HIPPO_LLM_TIMEOUT_MS`
27
+ * overrides it. */
24
28
  export declare function llmTimeoutMs(): number;
25
- /** One LLM call with its retries: two full attempts and the longest wait between them, where three slow failures would hold a sleep for 3x the timeout. */
29
+ /** One LLM call with its retries: two full attempts and the longest wait between them, where three slow failures
30
+ * would hold a sleep for 3x the timeout. */
26
31
  export declare function llmTotalMs(): number;
27
32
  export declare function isRetryableStatus(status: number): boolean;
28
33
  /** Retry-After as milliseconds: delta-seconds or an HTTP date; null when absent or unreadable. */
29
34
  export declare function parseRetryAfterMs(header: string | null, now?: number): number | null;
30
- /** A dropped connection, a DNS hiccup or a timed-out attempt: faults a second try can clear. A refused connection is not one. */
35
+ /** A dropped connection, a DNS hiccup or a timed-out attempt: faults a second try can clear. A refused connection is
36
+ * not one. */
31
37
  export declare function isTransientTransportError<E>(err: E): boolean;
32
38
  /** `fetch` with a per-attempt timeout and up to `attempts` tries on 429, 5xx and (see
33
39
  * `retryTransport`) transport faults; the last response or error comes back as is. */
@@ -1,4 +1,5 @@
1
- /** One retry policy for outbound HTTP: a timeout on every attempt, backoff on 429 and 5xx, and on a dropped connection where a replay is safe. */
1
+ /** One retry policy for outbound HTTP: a timeout on every attempt, backoff on 429 and 5xx, and on a dropped
2
+ * connection where a replay is safe. */
2
3
  import { MINUTE_MS } from './time.js';
3
4
  import { envLlmTimeoutMs } from './env.js';
4
5
  import { errorCode, errorFields, log } from './log.js';
@@ -6,11 +7,13 @@ const DEFAULT_ATTEMPTS = 3;
6
7
  const DEFAULT_BASE_DELAY_MS = 250;
7
8
  const DEFAULT_MAX_DELAY_MS = 8_000;
8
9
  const DEFAULT_LLM_TIMEOUT_MS = MINUTE_MS;
9
- /** LLM calls (consolidation refine, DAG summaries, fact extraction) share one budget; `HIPPO_LLM_TIMEOUT_MS` overrides it. */
10
+ /** LLM calls (consolidation refine, DAG summaries, fact extraction) share one budget; `HIPPO_LLM_TIMEOUT_MS`
11
+ * overrides it. */
10
12
  export function llmTimeoutMs() {
11
13
  return envLlmTimeoutMs() ?? DEFAULT_LLM_TIMEOUT_MS;
12
14
  }
13
- /** One LLM call with its retries: two full attempts and the longest wait between them, where three slow failures would hold a sleep for 3x the timeout. */
15
+ /** One LLM call with its retries: two full attempts and the longest wait between them, where three slow failures
16
+ * would hold a sleep for 3x the timeout. */
14
17
  export function llmTotalMs() {
15
18
  return 2 * llmTimeoutMs() + DEFAULT_MAX_DELAY_MS;
16
19
  }
@@ -31,7 +34,8 @@ export function parseRetryAfterMs(header, now = Date.now()) {
31
34
  const TRANSIENT_CODES = new Set([
32
35
  'ECONNRESET', 'ETIMEDOUT', 'EAI_AGAIN', 'UND_ERR_SOCKET', 'UND_ERR_CONNECT_TIMEOUT', 'UND_ERR_HEADERS_TIMEOUT',
33
36
  ]);
34
- /** A dropped connection, a DNS hiccup or a timed-out attempt: faults a second try can clear. A refused connection is not one. */
37
+ /** A dropped connection, a DNS hiccup or a timed-out attempt: faults a second try can clear. A refused connection is
38
+ * not one. */
35
39
  export function isTransientTransportError(err) {
36
40
  if (!(err instanceof Error))
37
41
  return false;
@@ -58,7 +62,11 @@ function redactedTarget(url) {
58
62
  function logRetry(init, url, reason, attempt, attempts, delayMs) {
59
63
  // Debug: an attempt that may still succeed is not a warning, and the caller reports the final failure.
60
64
  log.debug('http retry', {
61
- method: (init.method ?? 'GET').toUpperCase(), target: redactedTarget(url), reason, attempt: `${attempt}/${attempts}`, delayMs: Math.round(delayMs),
65
+ method: (init.method ?? 'GET').toUpperCase(),
66
+ target: redactedTarget(url),
67
+ reason,
68
+ attempt: `${attempt}/${attempts}`,
69
+ delayMs: Math.round(delayMs),
62
70
  });
63
71
  }
64
72
  // `cancel` clears the timer, so a wait the caller left does not keep the process alive.
@@ -66,7 +74,8 @@ const timerSleep = (ms, cancel) => new Promise((resolve) => {
66
74
  const timer = setTimeout(resolve, ms);
67
75
  cancel?.addEventListener('abort', () => clearTimeout(timer), { once: true });
68
76
  });
69
- /** The wait between attempts. With a caller signal it ends the moment that signal aborts and rejects with its reason, so no further attempt starts. */
77
+ /** The wait between attempts. With a caller signal it ends the moment that signal aborts and rejects with its
78
+ * reason, so no further attempt starts. */
70
79
  async function backoffWait(ms, sleep, signal) {
71
80
  if (!signal)
72
81
  return (sleep ?? timerSleep)(ms);
@@ -132,6 +141,7 @@ export async function fetchWithRetry(url, init, policy) {
132
141
  await res.body?.cancel();
133
142
  }
134
143
  catch (err) {
144
+ // Best-effort: the response is spent either way, so a failed cancel only leaves the socket to idle out.
135
145
  log.debug('http retry: body cancel failed', errorFields(err));
136
146
  }
137
147
  logRetry(init, url, `status ${res.status}`, attempt, attempts, delay);
@@ -10,7 +10,10 @@ export declare class HttpError extends Error {
10
10
  readonly retryAfterSec: number | undefined;
11
11
  constructor(status: number, message: string, retryAfterSec?: number);
12
12
  }
13
- /** A request, or a store call it waited on, ran past the request's deadline; the reply carries `code` so a client branches without parsing prose. */
13
+ /**
14
+ * A request, or a store call it waited on, ran past the request's deadline; the reply carries `code` so a client
15
+ * branches without parsing prose.
16
+ */
14
17
  export declare class DeadlineExceededError extends HttpError {
15
18
  readonly code = "deadline_exceeded";
16
19
  constructor(message: string);
@@ -25,7 +28,10 @@ export declare const INTERNAL_ERROR_MESSAGE = "internal server error";
25
28
  export declare const STORE_NOT_PORTED_MESSAGE = "store_not_ported";
26
29
  /** Serialises before the head goes out, so a body that is not JSON still reaches the caller's error reply. */
27
30
  export declare function sendJson<T>(res: ServerResponse, status: number, body: T): void;
28
- /** How long any route waits for a request body, so a client that sends headers and then stalls cannot hold a request open: 30 s, or HIPPO_BODY_TIMEOUT_MS. */
31
+ /**
32
+ * How long any route waits for a request body, so a client that sends headers and then stalls cannot hold a request
33
+ * open: 30 s, or HIPPO_BODY_TIMEOUT_MS.
34
+ */
29
35
  export declare function bodyDeadlineMs(): number;
30
36
  export interface ReadBodyOpts {
31
37
  /** Defaults to 1 MB. */
@@ -33,7 +39,10 @@ export interface ReadBodyOpts {
33
39
  /** Fails with BodyTimeoutError when the whole body has not arrived by then; defaults to bodyDeadlineMs(). */
34
40
  deadlineMs?: number;
35
41
  }
36
- /** The body as text, refused mid-stream past maxBytes and past deadlineMs, so an oversized or slow sender cannot tie up the server. */
42
+ /**
43
+ * The body as text, refused mid-stream past maxBytes and past deadlineMs, so an oversized or slow sender cannot tie up
44
+ * the server.
45
+ */
37
46
  export declare function readBody(req: IncomingMessage, { maxBytes, deadlineMs }?: ReadBodyOpts): Promise<string>;
38
47
  export declare function closeAfterReply(req: IncomingMessage): void;
39
48
  export declare const LOOPBACK_HOST_HEADER: RegExp;
@@ -48,8 +57,14 @@ export interface WebhookRequest {
48
57
  webhookBodyDeadlineMs?: number;
49
58
  };
50
59
  }
51
- /** Call before refusing a webhook unread: a caller still sending its body loses the socket once the reply is out, as it does after a 413. */
60
+ /**
61
+ * Call before refusing a webhook unread: a caller still sending its body loses the socket once the reply is out, as it
62
+ * does after a 413.
63
+ */
52
64
  export declare function closeIfBodyUnread({ req, res }: WebhookRequest): void;
53
- /** A webhook's raw body, exactly as sent, for the receiver's HMAC check; call it only once a secret is configured and the signature headers are present. */
65
+ /**
66
+ * A webhook's raw body, exactly as sent, for the receiver's HMAC check; call it only once a secret is configured and
67
+ * the signature headers are present.
68
+ */
54
69
  export declare function readWebhookBody({ req, opts }: WebhookRequest): Promise<string>;
55
70
  //# sourceMappingURL=http-util.d.ts.map