hippo-memory 2.0.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 (965) hide show
  1. package/dist/agent-memories/apply.d.ts +7 -5
  2. package/dist/agent-memories/apply.js +66 -39
  3. package/dist/agent-memories/claude-code.d.ts +8 -2
  4. package/dist/agent-memories/claude-code.js +26 -7
  5. package/dist/agent-memories/copilot.js +2 -1
  6. package/dist/agent-memories/files.js +2 -1
  7. package/dist/agent-memories/legacy.d.ts +6 -3
  8. package/dist/agent-memories/legacy.js +35 -14
  9. package/dist/agent-memories/markdown.d.ts +3 -1
  10. package/dist/agent-memories/markdown.js +3 -1
  11. package/dist/agent-memories/openclaw.js +5 -2
  12. package/dist/agent-memories/plan.js +11 -1
  13. package/dist/agent-memories/project-folds.js +2 -1
  14. package/dist/agent-memories/report.d.ts +4 -1
  15. package/dist/agent-memories/report.js +43 -9
  16. package/dist/agent-memories/source.d.ts +8 -2
  17. package/dist/agent-memories/source.js +11 -3
  18. package/dist/agent-memories/sync.d.ts +7 -2
  19. package/dist/agent-memories/sync.js +141 -101
  20. package/dist/api/assemble.d.ts +6 -4
  21. package/dist/api/assemble.js +11 -6
  22. package/dist/api/{audit.d.ts → auth/audit.d.ts} +18 -16
  23. package/dist/api/{audit.js → auth/audit.js} +11 -11
  24. package/dist/api/{auth.d.ts → auth/auth.d.ts} +19 -15
  25. package/dist/api/{auth.js → auth/auth.js} +46 -29
  26. package/dist/api/{quarantine.d.ts → auth/quarantine.d.ts} +8 -7
  27. package/dist/api/{quarantine.js → auth/quarantine.js} +8 -8
  28. package/dist/api/auth/session-owners.d.ts +10 -0
  29. package/dist/api/auth/session-owners.js +35 -0
  30. package/dist/api/availability.d.ts +3 -1
  31. package/dist/api/availability.js +3 -1
  32. package/dist/api/busy.d.ts +2 -0
  33. package/dist/api/busy.js +2 -0
  34. package/dist/api/cli-surface.d.ts +6 -0
  35. package/dist/api/cli-surface.js +6 -0
  36. package/dist/api/config-of.d.ts +5 -0
  37. package/dist/api/config-of.js +6 -0
  38. package/dist/api/context-auto.d.ts +4 -1
  39. package/dist/api/context-auto.js +10 -2
  40. package/dist/api/context-render.js +14 -7
  41. package/dist/api/context-select.d.ts +4 -1
  42. package/dist/api/context-select.js +23 -14
  43. package/dist/api/context-types.d.ts +38 -12
  44. package/dist/api/context.d.ts +8 -5
  45. package/dist/api/context.js +112 -57
  46. package/dist/api/continuity.d.ts +24 -21
  47. package/dist/api/continuity.js +18 -20
  48. package/dist/api/correction-latency.d.ts +3 -1
  49. package/dist/api/correction-latency.js +3 -1
  50. package/dist/api/error-reply.d.ts +4 -1
  51. package/dist/api/error-reply.js +12 -3
  52. package/dist/api/index.d.ts +39 -23
  53. package/dist/api/index.js +21 -23
  54. package/dist/api/instruction-detect.d.ts +4 -1
  55. package/dist/api/instruction-detect.js +75 -20
  56. package/dist/api/ledger-db.d.ts +15 -11
  57. package/dist/api/ledger-db.js +21 -23
  58. package/dist/api/memories/conflicts.d.ts +33 -0
  59. package/dist/api/memories/conflicts.js +67 -0
  60. package/dist/api/{forget.d.ts → memories/forget.d.ts} +11 -9
  61. package/dist/api/{forget.js → memories/forget.js} +22 -15
  62. package/dist/api/memories/memories.d.ts +27 -0
  63. package/dist/api/{memories.js → memories/memories.js} +16 -21
  64. package/dist/api/memories/outcome.d.ts +22 -0
  65. package/dist/api/{outcome.js → memories/outcome.js} +14 -8
  66. package/dist/api/memories/promote.d.ts +40 -0
  67. package/dist/api/{promote.js → memories/promote.js} +35 -22
  68. package/dist/api/memories/refine.d.ts +10 -0
  69. package/dist/api/memories/refine.js +12 -0
  70. package/dist/api/{remember-local.d.ts → memories/remember-local.d.ts} +16 -11
  71. package/dist/api/{remember-local.js → memories/remember-local.js} +34 -20
  72. package/dist/api/{remember.d.ts → memories/remember.d.ts} +19 -13
  73. package/dist/api/{remember.js → memories/remember.js} +42 -26
  74. package/dist/api/objects/cards.d.ts +39 -0
  75. package/dist/api/{cards.js → objects/cards.js} +12 -14
  76. package/dist/api/{drill-down.d.ts → objects/drill-down.d.ts} +12 -10
  77. package/dist/api/{drill-down.js → objects/drill-down.js} +7 -8
  78. package/dist/api/objects/goals.d.ts +18 -0
  79. package/dist/api/{goals.js → objects/goals.js} +12 -12
  80. package/dist/api/objects/graph.d.ts +11 -0
  81. package/dist/api/objects/graph.js +16 -0
  82. package/dist/api/objects/objects.d.ts +9 -0
  83. package/dist/api/{objects.js → objects/objects.js} +2 -4
  84. package/dist/api/objects/predictions.d.ts +11 -0
  85. package/dist/api/{predictions.js → objects/predictions.js} +7 -6
  86. package/dist/api/{projects.d.ts → objects/projects.d.ts} +8 -5
  87. package/dist/api/{projects.js → objects/projects.js} +8 -4
  88. package/dist/api/pilot-arm.d.ts +8 -4
  89. package/dist/api/pilot-arm.js +5 -4
  90. package/dist/api/prompt-hook.d.ts +32 -19
  91. package/dist/api/prompt-hook.js +65 -44
  92. package/dist/api/provenance-coverage.d.ts +3 -1
  93. package/dist/api/provenance-coverage.js +3 -1
  94. package/dist/api/recall/finish.d.ts +185 -0
  95. package/dist/api/recall/finish.js +301 -0
  96. package/dist/api/{recall-pipeline.d.ts → recall/pipeline.d.ts} +12 -8
  97. package/dist/api/{recall-pipeline.js → recall/pipeline.js} +176 -92
  98. package/dist/api/recall/recall.d.ts +6 -0
  99. package/dist/api/{recall.js → recall/recall.js} +101 -60
  100. package/dist/api/recall/render.d.ts +39 -0
  101. package/dist/api/recall/render.js +60 -0
  102. package/dist/api/{recall-request.d.ts → recall/request.d.ts} +7 -5
  103. package/dist/api/recall/request.js +261 -0
  104. package/dist/api/{recall-cli.d.ts → recall/rows.d.ts} +18 -12
  105. package/dist/api/{recall-cli.js → recall/rows.js} +28 -27
  106. package/dist/api/{recall-types.d.ts → recall/types.d.ts} +95 -70
  107. package/dist/api/{recall-types.js → recall/types.js} +1 -1
  108. package/dist/api/session-end.d.ts +16 -12
  109. package/dist/api/session-end.js +46 -30
  110. package/dist/api/{auto-sleep.d.ts → sleep/auto-sleep.d.ts} +9 -5
  111. package/dist/api/{auto-sleep.js → sleep/auto-sleep.js} +7 -12
  112. package/dist/api/sleep/dormant.d.ts +25 -0
  113. package/dist/api/sleep/dormant.js +64 -0
  114. package/dist/api/{learn.d.ts → sleep/learn.d.ts} +5 -4
  115. package/dist/api/sleep/learn.js +138 -0
  116. package/dist/api/sleep/sleep-run.d.ts +38 -0
  117. package/dist/api/{sleep-run.js → sleep/sleep-run.js} +51 -43
  118. package/dist/api/{sleep.d.ts → sleep/sleep.d.ts} +17 -11
  119. package/dist/api/sleep/sleep.js +9 -0
  120. package/dist/api/status.d.ts +3 -1
  121. package/dist/api/status.js +3 -1
  122. package/dist/api/store-init.d.ts +4 -1
  123. package/dist/api/store-init.js +4 -1
  124. package/dist/api/tokens.d.ts +10 -9
  125. package/dist/api/tokens.js +9 -10
  126. package/dist/api/types.d.ts +28 -7
  127. package/dist/api/types.js +13 -4
  128. package/dist/capture/caller-session.d.ts +8 -2
  129. package/dist/capture/caller-session.js +16 -6
  130. package/dist/capture/capture-error.d.ts +3 -1
  131. package/dist/capture/capture-error.js +3 -1
  132. package/dist/capture/codex-patch.js +7 -2
  133. package/dist/capture/command.d.ts +4 -2
  134. package/dist/capture/command.js +33 -14
  135. package/dist/capture/compact-resume-caller.js +15 -8
  136. package/dist/capture/compact.d.ts +8 -5
  137. package/dist/capture/compact.js +34 -23
  138. package/dist/capture/compaction-items-caller.js +9 -3
  139. package/dist/capture/compaction-record.d.ts +4 -3
  140. package/dist/capture/compaction-record.js +20 -12
  141. package/dist/capture/compaction-spool.d.ts +15 -4
  142. package/dist/capture/compaction-spool.js +64 -17
  143. package/dist/capture/copilot-transcript.d.ts +11 -3
  144. package/dist/capture/copilot-transcript.js +16 -6
  145. package/dist/capture/extract.js +20 -8
  146. package/dist/capture/failure-caller.js +23 -12
  147. package/dist/capture/failure-reading.d.ts +10 -3
  148. package/dist/capture/failure-reading.js +24 -7
  149. package/dist/capture/pre-compact-caller.js +11 -4
  150. package/dist/capture/session-digest.d.ts +15 -4
  151. package/dist/capture/session-digest.js +39 -13
  152. package/dist/capture/session-end-caller.d.ts +4 -1
  153. package/dist/capture/session-end-caller.js +20 -8
  154. package/dist/capture/session-texts.d.ts +6 -2
  155. package/dist/capture/session-texts.js +22 -7
  156. package/dist/capture/session-worker.d.ts +4 -2
  157. package/dist/capture/session-worker.js +45 -17
  158. package/dist/capture/transcript.d.ts +13 -4
  159. package/dist/capture/transcript.js +32 -10
  160. package/dist/capture/working-state.d.ts +13 -4
  161. package/dist/capture/working-state.js +50 -56
  162. package/dist/cli/api-context.d.ts +14 -2
  163. package/dist/cli/api-context.js +45 -2
  164. package/dist/cli/audit.js +23 -23
  165. package/dist/cli/auth.js +19 -27
  166. package/dist/cli/briefs.d.ts +1 -1
  167. package/dist/cli/briefs.js +20 -15
  168. package/dist/cli/card.d.ts +1 -1
  169. package/dist/cli/card.js +56 -73
  170. package/dist/cli/client.d.ts +12 -4
  171. package/dist/cli/client.js +43 -13
  172. package/dist/cli/compact-resume-payload.d.ts +4 -1
  173. package/dist/cli/compact-resume-payload.js +12 -5
  174. package/dist/cli/context.js +42 -17
  175. package/dist/cli/continuity.d.ts +5 -5
  176. package/dist/cli/continuity.js +90 -107
  177. package/dist/cli/curate.d.ts +4 -3
  178. package/dist/cli/curate.js +46 -68
  179. package/dist/cli/dag.d.ts +1 -1
  180. package/dist/cli/dag.js +14 -17
  181. package/dist/cli/decisions.js +27 -26
  182. package/dist/cli/eval.js +16 -21
  183. package/dist/cli/exit.d.ts +4 -1
  184. package/dist/cli/exit.js +10 -2
  185. package/dist/cli/explain.js +12 -11
  186. package/dist/cli/flag-values.d.ts +1 -1
  187. package/dist/cli/flag-values.js +9 -18
  188. package/dist/cli/github.d.ts +6 -0
  189. package/dist/cli/github.js +25 -13
  190. package/dist/cli/goals.d.ts +1 -1
  191. package/dist/cli/goals.js +39 -56
  192. package/dist/cli/graph.d.ts +1 -1
  193. package/dist/cli/graph.js +15 -11
  194. package/dist/cli/hook-runtime.d.ts +31 -9
  195. package/dist/cli/hook-runtime.js +40 -15
  196. package/dist/cli/incidents.d.ts +1 -1
  197. package/dist/cli/incidents.js +25 -25
  198. package/dist/cli/init.js +26 -11
  199. package/dist/cli/install-steps.d.ts +12 -3
  200. package/dist/cli/install-steps.js +42 -18
  201. package/dist/cli/last-sleep.d.ts +4 -1
  202. package/dist/cli/last-sleep.js +9 -4
  203. package/dist/cli/maintenance.d.ts +1 -1
  204. package/dist/cli/maintenance.js +11 -12
  205. package/dist/cli/notes.d.ts +1 -1
  206. package/dist/cli/notes.js +8 -5
  207. package/dist/cli/object-verbs.d.ts +4 -4
  208. package/dist/cli/object-verbs.js +10 -13
  209. package/dist/cli/open-browser.js +11 -2
  210. package/dist/cli/playbooks.d.ts +3 -3
  211. package/dist/cli/playbooks.js +40 -32
  212. package/dist/cli/predictions.js +15 -19
  213. package/dist/cli/print.js +4 -2
  214. package/dist/cli/projects.js +21 -11
  215. package/dist/cli/quality-repair-once.js +5 -4
  216. package/dist/cli/recall.js +129 -93
  217. package/dist/cli/refine-llm.d.ts +15 -4
  218. package/dist/cli/refine-llm.js +16 -7
  219. package/dist/cli/remember.js +46 -50
  220. package/dist/cli/scheduler.d.ts +4 -1
  221. package/dist/cli/scheduler.js +9 -5
  222. package/dist/cli/serve.js +22 -17
  223. package/dist/cli/session-hooks.d.ts +2 -2
  224. package/dist/cli/session-hooks.js +87 -50
  225. package/dist/cli/setup.js +54 -32
  226. package/dist/cli/shared.d.ts +3 -1
  227. package/dist/cli/shared.js +24 -9
  228. package/dist/cli/slack.js +15 -24
  229. package/dist/cli/sleep-render.d.ts +3 -1
  230. package/dist/cli/sleep-render.js +8 -5
  231. package/dist/cli/sleep.js +14 -6
  232. package/dist/cli/status.d.ts +4 -4
  233. package/dist/cli/status.js +32 -27
  234. package/dist/cli/stdin.d.ts +10 -3
  235. package/dist/cli/stdin.js +10 -3
  236. package/dist/cli/transfer.d.ts +1 -1
  237. package/dist/cli/transfer.js +71 -75
  238. package/dist/cli/verbs/memory.js +8 -6
  239. package/dist/cli/verbs/objects.js +10 -4
  240. package/dist/cli/versioned-verbs.d.ts +8 -7
  241. package/dist/cli/versioned-verbs.js +31 -21
  242. package/dist/cli.js +13 -16
  243. package/dist/connectors/dlq.d.ts +6 -6
  244. package/dist/connectors/dlq.js +12 -8
  245. package/dist/connectors/github/backfill.d.ts +4 -4
  246. package/dist/connectors/github/backfill.js +6 -4
  247. package/dist/connectors/github/deletion.d.ts +6 -4
  248. package/dist/connectors/github/deletion.js +5 -5
  249. package/dist/connectors/github/dlq.d.ts +8 -6
  250. package/dist/connectors/github/dlq.js +11 -5
  251. package/dist/connectors/github/ingest.d.ts +2 -2
  252. package/dist/connectors/github/ingest.js +9 -6
  253. package/dist/connectors/github/octokit-client.d.ts +3 -1
  254. package/dist/connectors/github/octokit-client.js +7 -2
  255. package/dist/connectors/github/ratelimit.d.ts +6 -2
  256. package/dist/connectors/github/ratelimit.js +6 -2
  257. package/dist/connectors/github/signature.d.ts +14 -3
  258. package/dist/connectors/github/signature.js +17 -3
  259. package/dist/connectors/github/tenant-routing.d.ts +6 -4
  260. package/dist/connectors/github/tenant-routing.js +6 -6
  261. package/dist/connectors/github/transform.js +50 -67
  262. package/dist/connectors/github/types.d.ts +10 -3
  263. package/dist/connectors/github/types.js +6 -2
  264. package/dist/connectors/github/webhook.d.ts +5 -5
  265. package/dist/connectors/github/webhook.js +34 -23
  266. package/dist/connectors/ingest.d.ts +5 -3
  267. package/dist/connectors/ingest.js +3 -4
  268. package/dist/connectors/slack/backfill.d.ts +5 -5
  269. package/dist/connectors/slack/backfill.js +3 -3
  270. package/dist/connectors/slack/deletion.d.ts +4 -4
  271. package/dist/connectors/slack/deletion.js +6 -6
  272. package/dist/connectors/slack/dlq.d.ts +4 -4
  273. package/dist/connectors/slack/dlq.js +6 -6
  274. package/dist/connectors/slack/ingest.d.ts +6 -4
  275. package/dist/connectors/slack/ingest.js +5 -5
  276. package/dist/connectors/slack/signature.d.ts +4 -1
  277. package/dist/connectors/slack/tenant-routing.d.ts +6 -4
  278. package/dist/connectors/slack/tenant-routing.js +6 -6
  279. package/dist/connectors/slack/transform.d.ts +6 -2
  280. package/dist/connectors/slack/transform.js +6 -2
  281. package/dist/connectors/slack/types.d.ts +3 -1
  282. package/dist/connectors/slack/web-client.js +8 -3
  283. package/dist/connectors/slack/webhook.d.ts +5 -5
  284. package/dist/connectors/slack/webhook.js +19 -11
  285. package/dist/connectors/slack/workspaces.d.ts +7 -3
  286. package/dist/connectors/slack/workspaces.js +7 -3
  287. package/dist/connectors/store.d.ts +8 -0
  288. package/dist/connectors/store.js +2 -0
  289. package/dist/consolidate/conflicts.js +23 -9
  290. package/dist/consolidate/dag-summary.js +2 -1
  291. package/dist/consolidate/dag.d.ts +10 -5
  292. package/dist/consolidate/dag.js +37 -36
  293. package/dist/consolidate/decay.js +19 -6
  294. package/dist/consolidate/dedupe.d.ts +14 -5
  295. package/dist/consolidate/dedupe.js +27 -16
  296. package/dist/consolidate/flush-units.d.ts +4 -1
  297. package/dist/consolidate/flush-units.js +4 -1
  298. package/dist/consolidate/half-life-migration.d.ts +18 -8
  299. package/dist/consolidate/half-life-migration.js +48 -18
  300. package/dist/consolidate/llm-passes.js +27 -11
  301. package/dist/consolidate/memory-value-weights.d.ts +6 -2
  302. package/dist/consolidate/memory-value-weights.js +6 -2
  303. package/dist/consolidate/memory-value.d.ts +30 -10
  304. package/dist/consolidate/memory-value.js +36 -13
  305. package/dist/consolidate/merge.d.ts +4 -1
  306. package/dist/consolidate/merge.js +42 -32
  307. package/dist/consolidate/overlap-index.d.ts +8 -2
  308. package/dist/consolidate/overlap-index.js +11 -4
  309. package/dist/consolidate/physics-pass.d.ts +3 -1
  310. package/dist/consolidate/physics-pass.js +10 -7
  311. package/dist/consolidate/replay.d.ts +11 -4
  312. package/dist/consolidate/replay.js +19 -7
  313. package/dist/consolidate/run.d.ts +13 -5
  314. package/dist/consolidate/run.js +4 -4
  315. package/dist/consolidate/sleep.d.ts +14 -6
  316. package/dist/consolidate/sleep.js +41 -38
  317. package/dist/consolidate/trace.d.ts +7 -2
  318. package/dist/consolidate/trace.js +7 -2
  319. package/dist/consolidate/traces.js +26 -29
  320. package/dist/core/ablation.d.ts +9 -3
  321. package/dist/core/ablation.js +14 -4
  322. package/dist/core/active-scope.d.ts +3 -1
  323. package/dist/core/active-scope.js +3 -1
  324. package/dist/core/agent-memory-tools.d.ts +2 -0
  325. package/dist/core/agent-memory-tools.js +2 -0
  326. package/dist/core/ambient.d.ts +4 -3
  327. package/dist/core/ambient.js +8 -6
  328. package/dist/core/api-errors.d.ts +9 -3
  329. package/dist/core/api-errors.js +9 -3
  330. package/dist/core/capture-contract.d.ts +4 -1
  331. package/dist/core/capture-contract.js +27 -8
  332. package/dist/core/compare.d.ts +24 -8
  333. package/dist/core/compare.js +24 -8
  334. package/dist/core/config.d.ts +18 -9
  335. package/dist/core/config.js +24 -14
  336. package/dist/core/cosine.d.ts +4 -1
  337. package/dist/core/cosine.js +4 -1
  338. package/dist/core/handoff.d.ts +7 -2
  339. package/dist/core/handoff.js +4 -1
  340. package/dist/core/markdown.js +21 -16
  341. package/dist/core/memory-audit.js +14 -3
  342. package/dist/core/memory-quality.d.ts +12 -3
  343. package/dist/core/memory-quality.js +57 -21
  344. package/dist/core/memory.d.ts +84 -27
  345. package/dist/core/memory.js +73 -29
  346. package/dist/core/merged-row.d.ts +8 -2
  347. package/dist/core/merged-row.js +10 -3
  348. package/dist/core/package-root.d.ts +3 -1
  349. package/dist/core/package-root.js +3 -1
  350. package/dist/core/particle-refresh.d.ts +8 -0
  351. package/dist/core/particle-refresh.js +22 -0
  352. package/dist/core/physics-config.d.ts +4 -1
  353. package/dist/core/physics-config.js +6 -2
  354. package/dist/core/physics.d.ts +37 -11
  355. package/dist/core/physics.js +55 -20
  356. package/dist/core/project-identity.d.ts +34 -17
  357. package/dist/core/project-identity.js +33 -17
  358. package/dist/core/project-remote.d.ts +8 -4
  359. package/dist/core/project-remote.js +31 -14
  360. package/dist/core/recall-scope.d.ts +33 -11
  361. package/dist/core/recall-scope.js +42 -15
  362. package/dist/core/rejection-digest.d.ts +7 -0
  363. package/dist/core/rejection-digest.js +13 -0
  364. package/dist/core/salience.d.ts +3 -1
  365. package/dist/core/salience.js +10 -4
  366. package/dist/core/search-types.d.ts +15 -2
  367. package/dist/core/search-types.js +11 -0
  368. package/dist/dashboard/dashboard-actions.js +13 -2
  369. package/dist/dashboard/dashboard-snapshot.d.ts +2 -2
  370. package/dist/dashboard/dashboard-snapshot.js +4 -4
  371. package/dist/dashboard/dashboard.js +6 -3
  372. package/dist/db/backup.js +2 -2
  373. package/dist/db/busy.d.ts +10 -3
  374. package/dist/db/busy.js +27 -5
  375. package/dist/db/connect.d.ts +10 -3
  376. package/dist/db/connect.js +8 -3
  377. package/dist/db/continuity.d.ts +1 -1
  378. package/dist/db/continuity.js +27 -11
  379. package/dist/db/meta.d.ts +4 -1
  380. package/dist/db/meta.js +4 -1
  381. package/dist/db/migrate.d.ts +10 -5
  382. package/dist/db/migrate.js +26 -13
  383. package/dist/db/migrations/index.d.ts +1 -1
  384. package/dist/db/migrations/index.js +3 -1
  385. package/dist/db/migrations/types.d.ts +2 -1
  386. package/dist/db/migrations/v12.js +2 -1
  387. package/dist/db/migrations/v14.js +2 -1
  388. package/dist/db/migrations/v15.js +4 -2
  389. package/dist/db/migrations/v16.js +6 -3
  390. package/dist/db/migrations/v17.js +2 -1
  391. package/dist/db/migrations/v19.js +4 -2
  392. package/dist/db/migrations/v20.js +2 -1
  393. package/dist/db/migrations/v22.js +12 -6
  394. package/dist/db/migrations/v23.js +6 -3
  395. package/dist/db/migrations/v24.js +6 -3
  396. package/dist/db/migrations/v25.js +4 -2
  397. package/dist/db/migrations/v26.js +4 -2
  398. package/dist/db/migrations/v27.js +6 -3
  399. package/dist/db/migrations/v28.js +4 -2
  400. package/dist/db/migrations/v29.js +4 -2
  401. package/dist/db/migrations/v30.js +6 -3
  402. package/dist/db/migrations/v31.js +4 -2
  403. package/dist/db/migrations/v32.js +6 -3
  404. package/dist/db/migrations/v33.js +4 -2
  405. package/dist/db/migrations/v34.js +2 -1
  406. package/dist/db/migrations/v35.js +2 -1
  407. package/dist/db/migrations/v36.js +2 -1
  408. package/dist/db/migrations/v37.js +10 -5
  409. package/dist/db/migrations/v38.js +10 -5
  410. package/dist/db/migrations/v39.js +14 -6
  411. package/dist/db/migrations/v40.js +4 -2
  412. package/dist/db/migrations/v41.js +4 -2
  413. package/dist/db/migrations/v42.js +2 -1
  414. package/dist/db/migrations/v44.js +4 -2
  415. package/dist/db/migrations/v45.js +4 -2
  416. package/dist/db/migrations/v49.js +2 -1
  417. package/dist/db/migrations/v50.js +4 -2
  418. package/dist/db/migrations/v51.js +4 -2
  419. package/dist/db/migrations/v52.js +2 -1
  420. package/dist/db/migrations/v53.js +8 -4
  421. package/dist/db/migrations/v54.js +2 -1
  422. package/dist/db/migrations/v55.js +4 -2
  423. package/dist/db/migrations/v56.d.ts +3 -0
  424. package/dist/db/migrations/v56.js +28 -0
  425. package/dist/db/open.d.ts +24 -12
  426. package/dist/db/open.js +25 -13
  427. package/dist/db/physics-state.d.ts +8 -4
  428. package/dist/db/physics-state.js +13 -20
  429. package/dist/db/raw-archive-mirror-cleanup.d.ts +4 -2
  430. package/dist/db/raw-archive-mirror-cleanup.js +6 -4
  431. package/dist/db/request-stores.d.ts +19 -5
  432. package/dist/db/request-stores.js +14 -5
  433. package/dist/db/tables.d.ts +2 -1
  434. package/dist/db/tables.js +12 -4
  435. package/dist/db/vector-store.d.ts +13 -4
  436. package/dist/db/vector-store.js +34 -14
  437. package/dist/db/wal-checkpointer.d.ts +2 -1
  438. package/dist/db/wal-checkpointer.js +19 -7
  439. package/dist/doctor.d.ts +4 -1
  440. package/dist/doctor.js +121 -39
  441. package/dist/embeddings/local.d.ts +8 -4
  442. package/dist/embeddings/local.js +9 -5
  443. package/dist/embeddings/provider.d.ts +19 -10
  444. package/dist/embeddings/provider.js +31 -17
  445. package/dist/embeddings/transformers.d.ts +16 -4
  446. package/dist/embeddings/transformers.js +32 -15
  447. package/dist/entry/json-hooks.d.ts +1 -1
  448. package/dist/entry/json-hooks.js +1 -1
  449. package/dist/entry/project-identity.js +2 -1
  450. package/dist/entry/session-text.d.ts +1 -1
  451. package/dist/entry/session-text.js +1 -1
  452. package/dist/entry/sqlite-handles.d.ts +10 -0
  453. package/dist/entry/sqlite-handles.js +9 -0
  454. package/dist/entry/store-kit.d.ts +19 -6
  455. package/dist/entry/store-kit.js +6 -4
  456. package/dist/eval/eval-stats.d.ts +27 -8
  457. package/dist/eval/eval-stats.js +17 -5
  458. package/dist/eval/eval-suite.d.ts +3 -1
  459. package/dist/eval/eval-suite.js +409 -187
  460. package/dist/eval/eval.d.ts +8 -2
  461. package/dist/eval/eval.js +8 -2
  462. package/dist/eval/judgment.js +16 -6
  463. package/dist/graph/delta.d.ts +9 -42
  464. package/dist/graph/delta.js +17 -11
  465. package/dist/graph/extract.d.ts +10 -7
  466. package/dist/graph/extract.js +57 -25
  467. package/dist/graph/recall.d.ts +12 -4
  468. package/dist/graph/recall.js +30 -13
  469. package/dist/graph/stream.d.ts +18 -6
  470. package/dist/graph/stream.js +32 -10
  471. package/dist/graph/view.d.ts +19 -6
  472. package/dist/graph/view.js +42 -17
  473. package/dist/hooks/codex-session.js +2 -2
  474. package/dist/hooks/codex-wrapper.d.ts +3 -1
  475. package/dist/hooks/codex-wrapper.js +9 -4
  476. package/dist/hooks/copilot.d.ts +19 -5
  477. package/dist/hooks/copilot.js +54 -15
  478. package/dist/hooks/hook-blocks.d.ts +4 -1
  479. package/dist/hooks/hook-blocks.js +8 -3
  480. package/dist/hooks/json-hooks.d.ts +9 -5
  481. package/dist/hooks/json-hooks.js +69 -34
  482. package/dist/hooks/opencode.js +15 -5
  483. package/dist/hooks/shared.d.ts +27 -8
  484. package/dist/hooks/shared.js +57 -16
  485. package/dist/importers/core.d.ts +12 -4
  486. package/dist/importers/core.js +8 -7
  487. package/dist/importers/markdown-parse.d.ts +15 -5
  488. package/dist/importers/markdown-parse.js +16 -7
  489. package/dist/importers/markdown.js +6 -9
  490. package/dist/importers/sources.js +10 -23
  491. package/dist/importers/vault.d.ts +2 -2
  492. package/dist/importers/vault.js +43 -27
  493. package/dist/index.d.ts +32 -6
  494. package/dist/index.js +25 -7
  495. package/dist/learn/autolearn.d.ts +17 -6
  496. package/dist/learn/autolearn.js +53 -24
  497. package/dist/learn/churn-git.d.ts +4 -1
  498. package/dist/learn/churn-git.js +29 -5
  499. package/dist/learn/extract.d.ts +4 -1
  500. package/dist/learn/extract.js +16 -9
  501. package/dist/learn/forward-claim-detector.d.ts +17 -5
  502. package/dist/learn/forward-claim-detector.js +34 -15
  503. package/dist/learn/invalidation.d.ts +12 -7
  504. package/dist/learn/invalidation.js +56 -27
  505. package/dist/learn/roots.d.ts +3 -0
  506. package/dist/learn/roots.js +5 -0
  507. package/dist/mcp/admin-tools.d.ts +5 -5
  508. package/dist/mcp/admin-tools.js +28 -23
  509. package/dist/mcp/format.d.ts +1 -1
  510. package/dist/mcp/format.js +4 -2
  511. package/dist/mcp/framing.d.ts +3 -1
  512. package/dist/mcp/framing.js +20 -8
  513. package/dist/mcp/memory-tools.d.ts +3 -3
  514. package/dist/mcp/memory-tools.js +18 -14
  515. package/dist/mcp/protocol.d.ts +32 -16
  516. package/dist/mcp/protocol.js +12 -9
  517. package/dist/mcp/recall-tools.d.ts +3 -3
  518. package/dist/mcp/recall-tools.js +62 -74
  519. package/dist/mcp/request.d.ts +7 -5
  520. package/dist/mcp/request.js +57 -74
  521. package/dist/mcp/server.d.ts +3 -1
  522. package/dist/mcp/server.js +8 -3
  523. package/dist/mcp/session-state.d.ts +1 -1
  524. package/dist/mcp/session-state.js +4 -3
  525. package/dist/mcp/shared-gate.d.ts +3 -2
  526. package/dist/mcp/shared-gate.js +3 -2
  527. package/dist/mcp/stdio.d.ts +6 -3
  528. package/dist/mcp/stdio.js +52 -21
  529. package/dist/mcp/tool-args.d.ts +4 -1
  530. package/dist/mcp/tool-args.js +8 -3
  531. package/dist/mcp/tools.js +76 -32
  532. package/dist/objects/customer-notes.d.ts +12 -10
  533. package/dist/objects/customer-notes.js +21 -15
  534. package/dist/objects/decisions.d.ts +18 -10
  535. package/dist/objects/decisions.js +23 -17
  536. package/dist/objects/descriptor.js +2 -1
  537. package/dist/objects/fields.d.ts +4 -1
  538. package/dist/objects/fields.js +6 -2
  539. package/dist/objects/incidents.d.ts +14 -16
  540. package/dist/objects/incidents.js +29 -30
  541. package/dist/objects/lifecycle.d.ts +0 -4
  542. package/dist/objects/lifecycle.js +21 -24
  543. package/dist/objects/policies.d.ts +12 -16
  544. package/dist/objects/policies.js +17 -21
  545. package/dist/objects/processes.d.ts +16 -10
  546. package/dist/objects/processes.js +20 -15
  547. package/dist/objects/project-briefs.d.ts +13 -14
  548. package/dist/objects/project-briefs.js +33 -39
  549. package/dist/objects/skills.d.ts +10 -12
  550. package/dist/objects/skills.js +17 -22
  551. package/dist/postinstall.js +15 -7
  552. package/dist/predictions/planning-fallacy.d.ts +19 -6
  553. package/dist/predictions/planning-fallacy.js +4 -2
  554. package/dist/rerankers/clef.d.ts +8 -2
  555. package/dist/rerankers/clef.js +14 -9
  556. package/dist/rerankers/cross-encoder.d.ts +2 -1
  557. package/dist/rerankers/cross-encoder.js +9 -6
  558. package/dist/rerankers/index.js +2 -1
  559. package/dist/rerankers/jev.js +2 -1
  560. package/dist/rerankers/llm.d.ts +6 -2
  561. package/dist/rerankers/llm.js +8 -3
  562. package/dist/rerankers/remote.d.ts +3 -1
  563. package/dist/rerankers/remote.js +5 -2
  564. package/dist/rerankers/types.d.ts +6 -2
  565. package/dist/search/bm25-search.d.ts +3 -1
  566. package/dist/search/bm25-search.js +15 -2
  567. package/dist/search/boosts.js +4 -3
  568. package/dist/search/embed-memories.d.ts +10 -5
  569. package/dist/search/embed-memories.js +62 -36
  570. package/dist/search/engine.d.ts +4 -1
  571. package/dist/search/engine.js +6 -2
  572. package/dist/search/goal-boost.d.ts +10 -3
  573. package/dist/search/goal-boost.js +13 -6
  574. package/dist/search/hybrid-score.d.ts +4 -1
  575. package/dist/search/hybrid-score.js +4 -1
  576. package/dist/search/hybrid.d.ts +23 -8
  577. package/dist/search/hybrid.js +12 -7
  578. package/dist/search/multihop.js +14 -13
  579. package/dist/search/path-context.d.ts +10 -3
  580. package/dist/search/path-context.js +10 -3
  581. package/dist/search/physics-search.d.ts +9 -4
  582. package/dist/search/physics-search.js +38 -14
  583. package/dist/search/rerank.d.ts +2 -1
  584. package/dist/search/rerank.js +2 -1
  585. package/dist/search/rrf.d.ts +14 -5
  586. package/dist/search/rrf.js +11 -4
  587. package/dist/search/vector.d.ts +8 -2
  588. package/dist/search/vector.js +9 -3
  589. package/dist/server/auth.d.ts +18 -14
  590. package/dist/server/auth.js +69 -38
  591. package/dist/server/boot.d.ts +3 -1
  592. package/dist/server/boot.js +95 -56
  593. package/dist/server/client-ip.d.ts +11 -4
  594. package/dist/server/client-ip.js +27 -10
  595. package/dist/server/cursor.d.ts +10 -3
  596. package/dist/server/cursor.js +10 -3
  597. package/dist/server/deadline.d.ts +5 -2
  598. package/dist/server/deadline.js +10 -3
  599. package/dist/server/key-check-bounds.js +12 -4
  600. package/dist/server/lifecycle.d.ts +4 -1
  601. package/dist/server/lifecycle.js +10 -4
  602. package/dist/server/mcp-http.d.ts +2 -1
  603. package/dist/server/mcp-http.js +37 -22
  604. package/dist/server/rate-limit.d.ts +17 -5
  605. package/dist/server/rate-limit.js +55 -26
  606. package/dist/server/ready.js +7 -4
  607. package/dist/server/request.d.ts +15 -4
  608. package/dist/server/request.js +42 -15
  609. package/dist/server/route-checks.d.ts +4 -1
  610. package/dist/server/route-checks.js +8 -3
  611. package/dist/server/route-table.d.ts +8 -6
  612. package/dist/server/route-table.js +547 -93
  613. package/dist/server/routes/admin.d.ts +7 -7
  614. package/dist/server/routes/admin.js +36 -15
  615. package/dist/server/routes/customer-notes.d.ts +5 -5
  616. package/dist/server/routes/customer-notes.js +5 -4
  617. package/dist/server/routes/decisions.d.ts +5 -5
  618. package/dist/server/routes/decisions.js +12 -6
  619. package/dist/server/routes/incidents.d.ts +5 -5
  620. package/dist/server/routes/incidents.js +10 -4
  621. package/dist/server/routes/memories.d.ts +8 -8
  622. package/dist/server/routes/memories.js +12 -19
  623. package/dist/server/routes/object-routes.d.ts +8 -5
  624. package/dist/server/routes/object-routes.js +4 -2
  625. package/dist/server/routes/policies.d.ts +6 -6
  626. package/dist/server/routes/policies.js +11 -4
  627. package/dist/server/routes/predictions.d.ts +5 -5
  628. package/dist/server/routes/predictions.js +9 -4
  629. package/dist/server/routes/processes.d.ts +5 -5
  630. package/dist/server/routes/processes.js +15 -6
  631. package/dist/server/routes/project-briefs.d.ts +6 -6
  632. package/dist/server/routes/project-briefs.js +3 -2
  633. package/dist/server/routes/recall.d.ts +3 -3
  634. package/dist/server/routes/recall.js +21 -10
  635. package/dist/server/routes/skills.d.ts +6 -6
  636. package/dist/server/routes/skills.js +12 -4
  637. package/dist/server/server-detect.d.ts +24 -8
  638. package/dist/server/server-detect.js +57 -22
  639. package/dist/server/sleep-child.js +16 -10
  640. package/dist/server/sleep-offload.d.ts +8 -5
  641. package/dist/server/sleep-offload.js +41 -19
  642. package/dist/server/tls.d.ts +4 -1
  643. package/dist/server/tls.js +13 -5
  644. package/dist/server/types.d.ts +38 -26
  645. package/dist/server/validation.d.ts +4 -1
  646. package/dist/server/validation.js +22 -9
  647. package/dist/server.d.ts +15 -10
  648. package/dist/server.js +32 -12
  649. package/dist/sharing/global-store.d.ts +5 -10
  650. package/dist/sharing/global-store.js +8 -43
  651. package/dist/sharing/global-sync.d.ts +3 -1
  652. package/dist/sharing/global-sync.js +16 -6
  653. package/dist/sharing/project-merge.d.ts +25 -7
  654. package/dist/sharing/project-merge.js +49 -17
  655. package/dist/sharing/search-both.d.ts +8 -4
  656. package/dist/sharing/search-both.js +19 -12
  657. package/dist/sharing/share.d.ts +8 -4
  658. package/dist/sharing/share.js +39 -15
  659. package/dist/store/ambient.js +9 -5
  660. package/dist/store/audit-event.d.ts +2 -2
  661. package/dist/store/audit-event.js +8 -3
  662. package/dist/store/audit.d.ts +6 -3
  663. package/dist/store/audit.js +16 -6
  664. package/dist/store/auth.d.ts +4 -2
  665. package/dist/store/auth.js +63 -20
  666. package/dist/store/busy.d.ts +9 -0
  667. package/dist/store/busy.js +16 -0
  668. package/dist/store/candidates.d.ts +12 -5
  669. package/dist/store/candidates.js +75 -36
  670. package/dist/store/capture-write.d.ts +2 -1
  671. package/dist/store/capture-write.js +2 -1
  672. package/dist/store/card-detail.d.ts +4 -4
  673. package/dist/store/card-detail.js +15 -8
  674. package/dist/store/cards.d.ts +24 -10
  675. package/dist/store/cards.js +93 -60
  676. package/dist/store/compaction-caller.d.ts +2 -1
  677. package/dist/store/compaction-caller.js +2 -1
  678. package/dist/store/compactions-record.d.ts +14 -8
  679. package/dist/store/compactions-record.js +95 -32
  680. package/dist/store/compactions.js +35 -15
  681. package/dist/store/conflicts.d.ts +9 -4
  682. package/dist/store/conflicts.js +100 -45
  683. package/dist/store/connectors/dlq.d.ts +17 -5
  684. package/dist/store/connectors/dlq.js +56 -5
  685. package/dist/store/connectors/event-log.d.ts +111 -2
  686. package/dist/store/connectors/event-log.js +2 -1
  687. package/dist/store/connectors/github.d.ts +6 -3
  688. package/dist/store/connectors/github.js +24 -40
  689. package/dist/store/connectors/slack.d.ts +2 -1
  690. package/dist/store/connectors/slack.js +25 -37
  691. package/dist/store/dashboard-reads.d.ts +7 -3
  692. package/dist/store/dashboard-reads.js +32 -11
  693. package/dist/store/delete-and-batch.d.ts +17 -11
  694. package/dist/store/delete-and-batch.js +67 -26
  695. package/dist/store/delivery-recorder.d.ts +8 -5
  696. package/dist/store/delivery-recorder.js +70 -32
  697. package/dist/store/descendant-page.d.ts +2 -1
  698. package/dist/store/descendant-page.js +24 -9
  699. package/dist/store/diagnostics.d.ts +2 -1
  700. package/dist/store/diagnostics.js +2 -1
  701. package/dist/store/doctor-reads.d.ts +2 -1
  702. package/dist/store/doctor-reads.js +13 -5
  703. package/dist/store/dormant.d.ts +19 -11
  704. package/dist/store/dormant.js +40 -18
  705. package/dist/store/embeddings/index.d.ts +13 -9
  706. package/dist/store/embeddings/index.js +19 -12
  707. package/dist/store/entry-reads.d.ts +49 -20
  708. package/dist/store/entry-reads.js +181 -66
  709. package/dist/store/entry-row.d.ts +10 -6
  710. package/dist/store/entry-row.js +17 -12
  711. package/dist/store/entry-writes.d.ts +22 -10
  712. package/dist/store/entry-writes.js +41 -14
  713. package/dist/store/failure-log-at.js +1 -1
  714. package/dist/store/failure-log.d.ts +4 -2
  715. package/dist/store/failure-log.js +13 -6
  716. package/dist/store/gated-write.d.ts +3 -3
  717. package/dist/store/gated-write.js +3 -3
  718. package/dist/store/goals.d.ts +5 -4
  719. package/dist/store/goals.js +8 -10
  720. package/dist/store/graph-apply.d.ts +21 -0
  721. package/dist/{graph/write.js → store/graph-apply.js} +31 -11
  722. package/dist/store/graph-queue.d.ts +9 -6
  723. package/dist/store/graph-queue.js +15 -10
  724. package/dist/store/graph-reads.d.ts +16 -11
  725. package/dist/store/graph-reads.js +24 -15
  726. package/dist/store/graph-rows.d.ts +41 -3
  727. package/dist/store/graph-rows.js +10 -7
  728. package/dist/store/graph-view-rows.js +14 -7
  729. package/dist/store/graph-writes.d.ts +16 -10
  730. package/dist/store/graph-writes.js +59 -36
  731. package/dist/store/handoffs.d.ts +4 -4
  732. package/dist/store/handoffs.js +40 -19
  733. package/dist/store/index-and-stats.d.ts +2 -2
  734. package/dist/store/index-and-stats.js +6 -5
  735. package/dist/store/index.d.ts +3 -1
  736. package/dist/store/index.js +1 -0
  737. package/dist/store/key-audit.d.ts +2 -1
  738. package/dist/store/key-audit.js +2 -1
  739. package/dist/store/key-writes.d.ts +2 -1
  740. package/dist/store/key-writes.js +9 -2
  741. package/dist/store/ledger-turn.d.ts +4 -1
  742. package/dist/store/ledger-turn.js +7 -2
  743. package/dist/store/mirrors.d.ts +11 -4
  744. package/dist/store/mirrors.js +88 -16
  745. package/dist/store/narrow.d.ts +6 -0
  746. package/dist/store/narrow.js +11 -0
  747. package/dist/store/open.d.ts +4 -2
  748. package/dist/store/open.js +18 -9
  749. package/dist/store/pilot-arm.d.ts +2 -1
  750. package/dist/store/pilot-arm.js +18 -6
  751. package/dist/store/planning-fallacy-evidence.d.ts +2 -2
  752. package/dist/store/planning-fallacy-evidence.js +8 -5
  753. package/dist/store/port/agent-import.d.ts +62 -0
  754. package/dist/store/port/agent-import.js +2 -0
  755. package/dist/store/port/consolidation.d.ts +129 -0
  756. package/dist/store/port/consolidation.js +2 -0
  757. package/dist/store/port/learning.d.ts +19 -0
  758. package/dist/store/port/learning.js +2 -0
  759. package/dist/store/port/local-files.d.ts +18 -0
  760. package/dist/store/port/local-files.js +2 -0
  761. package/dist/store/port/promotion.d.ts +20 -0
  762. package/dist/store/port/promotion.js +3 -0
  763. package/dist/store/port-groups.d.ts +160 -0
  764. package/dist/store/port-groups.js +2 -0
  765. package/dist/store/port.d.ts +215 -229
  766. package/dist/store/port.js +3 -9
  767. package/dist/store/predictions.d.ts +14 -10
  768. package/dist/store/predictions.js +37 -17
  769. package/dist/store/project-tags.d.ts +4 -1
  770. package/dist/store/project-tags.js +16 -5
  771. package/dist/store/quality-repair.d.ts +8 -4
  772. package/dist/store/quality-repair.js +53 -20
  773. package/dist/store/quarantine.d.ts +1 -0
  774. package/dist/store/quarantine.js +23 -9
  775. package/dist/store/raw-archive.d.ts +5 -4
  776. package/dist/store/raw-archive.js +11 -10
  777. package/dist/store/recall-trace.d.ts +22 -17
  778. package/dist/store/recall-trace.js +126 -63
  779. package/dist/store/rejected-values.d.ts +15 -10
  780. package/dist/store/rejected-values.js +33 -12
  781. package/dist/store/rejection.d.ts +12 -11
  782. package/dist/store/rejection.js +18 -19
  783. package/dist/store/report-reads.d.ts +2 -1
  784. package/dist/store/report-reads.js +2 -1
  785. package/dist/store/rows.d.ts +7 -5
  786. package/dist/store/rows.js +18 -11
  787. package/dist/store/rule-sql.d.ts +6 -4
  788. package/dist/store/rule-sql.js +16 -9
  789. package/dist/store/search-rows.d.ts +14 -9
  790. package/dist/store/search-rows.js +48 -23
  791. package/dist/store/sessions.d.ts +12 -10
  792. package/dist/store/sessions.js +40 -21
  793. package/dist/store/set-aside.d.ts +2 -2
  794. package/dist/store/set-aside.js +18 -5
  795. package/dist/store/sqlite/agent-import.d.ts +3 -0
  796. package/dist/store/sqlite/agent-import.js +77 -0
  797. package/dist/store/sqlite/cards-group.d.ts +6 -0
  798. package/dist/store/sqlite/cards-group.js +37 -0
  799. package/dist/store/sqlite/conflicts-group.d.ts +6 -0
  800. package/dist/store/sqlite/conflicts-group.js +18 -0
  801. package/dist/store/sqlite/connector-events-group.d.ts +2 -1
  802. package/dist/store/sqlite/connector-events-group.js +17 -6
  803. package/dist/store/sqlite/connector-writes-group.d.ts +2 -1
  804. package/dist/store/sqlite/connector-writes-group.js +9 -4
  805. package/dist/store/sqlite/consolidation-group.d.ts +4 -0
  806. package/dist/store/sqlite/consolidation-group.js +64 -0
  807. package/dist/store/sqlite/dag-reads-group.js +1 -1
  808. package/dist/store/sqlite/dormant-group.d.ts +6 -0
  809. package/dist/store/sqlite/dormant-group.js +29 -0
  810. package/dist/store/sqlite/entry-writes-group.d.ts +6 -3
  811. package/dist/store/sqlite/entry-writes-group.js +37 -14
  812. package/dist/store/sqlite/error-codec.d.ts +4 -2
  813. package/dist/store/sqlite/error-codec.js +32 -10
  814. package/dist/store/sqlite/executor-counts.js +2 -1
  815. package/dist/store/sqlite/executor.d.ts +8 -3
  816. package/dist/store/sqlite/executor.js +56 -18
  817. package/dist/store/sqlite/global-promote.d.ts +5 -0
  818. package/dist/store/sqlite/global-promote.js +48 -0
  819. package/dist/store/sqlite/goals-group.d.ts +6 -0
  820. package/dist/store/sqlite/goals-group.js +23 -0
  821. package/dist/store/sqlite/graph-reads-group.d.ts +2 -1
  822. package/dist/store/sqlite/graph-reads-group.js +2 -1
  823. package/dist/store/sqlite/held-connection.d.ts +7 -1
  824. package/dist/store/sqlite/held-connection.js +34 -7
  825. package/dist/store/sqlite/last-recall-group.d.ts +4 -2
  826. package/dist/store/sqlite/last-recall-group.js +9 -4
  827. package/dist/store/sqlite/learning-group.d.ts +4 -0
  828. package/dist/store/sqlite/learning-group.js +17 -0
  829. package/dist/store/sqlite/maintenance-groups.js +2 -1
  830. package/dist/store/sqlite/object-rows.d.ts +6 -3
  831. package/dist/store/sqlite/object-rows.js +34 -5
  832. package/dist/store/sqlite/objects-group.d.ts +5 -4
  833. package/dist/store/sqlite/objects-group.js +84 -33
  834. package/dist/store/sqlite/predictions-group.d.ts +2 -1
  835. package/dist/store/sqlite/predictions-group.js +4 -2
  836. package/dist/store/sqlite/promotion-group.d.ts +3 -0
  837. package/dist/store/sqlite/promotion-group.js +10 -0
  838. package/dist/store/sqlite/quarantine-group.d.ts +2 -1
  839. package/dist/store/sqlite/quarantine-group.js +4 -2
  840. package/dist/store/sqlite/reports-group.d.ts +6 -0
  841. package/dist/store/sqlite/reports-group.js +33 -0
  842. package/dist/store/sqlite/request-scope.d.ts +6 -0
  843. package/dist/store/sqlite/request-scope.js +18 -0
  844. package/dist/store/sqlite/sessions-group.d.ts +6 -0
  845. package/dist/store/sqlite/sessions-group.js +46 -0
  846. package/dist/store/sqlite/store.d.ts +22 -11
  847. package/dist/store/sqlite/store.js +84 -11
  848. package/dist/store/sqlite/vector-pack.js +2 -1
  849. package/dist/store/sqlite/vector-reads-group.js +2 -1
  850. package/dist/store/sqlite/worker-jobs.d.ts +2 -1
  851. package/dist/store/sqlite/worker-jobs.js +19 -7
  852. package/dist/store/sqlite/worker-ops.d.ts +10 -5
  853. package/dist/store/sqlite/worker-ops.js +6 -3
  854. package/dist/store/sqlite/worker-store.d.ts +4 -3
  855. package/dist/store/sqlite/worker-store.js +24 -14
  856. package/dist/store/summaries.d.ts +19 -12
  857. package/dist/store/summaries.js +36 -21
  858. package/dist/store/summary-dirty.d.ts +2 -1
  859. package/dist/store/summary-dirty.js +2 -1
  860. package/dist/store/tenant.d.ts +3 -2
  861. package/dist/store/tenant.js +5 -4
  862. package/dist/store/token-ledger-rows.js +6 -3
  863. package/dist/store/token-ledger.d.ts +19 -13
  864. package/dist/store/token-ledger.js +27 -14
  865. package/dist/store/tombstone-checks.d.ts +4 -1
  866. package/dist/store/tombstone-checks.js +10 -1
  867. package/dist/store/usage-reports.js +2 -1
  868. package/dist/store/vector-index.d.ts +8 -5
  869. package/dist/store/vector-index.js +24 -10
  870. package/dist/store/working-memory.d.ts +6 -4
  871. package/dist/store/working-memory.js +14 -9
  872. package/dist/support-bundle.js +10 -5
  873. package/dist/trust/quarantine.d.ts +1 -2
  874. package/dist/trust/quarantine.js +1 -5
  875. package/dist/trust/reject-flow.d.ts +12 -3
  876. package/dist/trust/reject-flow.js +12 -4
  877. package/dist/util/anthropic-messages.d.ts +4 -1
  878. package/dist/util/anthropic-messages.js +14 -5
  879. package/dist/util/atomic-write.d.ts +4 -2
  880. package/dist/util/atomic-write.js +25 -14
  881. package/dist/util/compaction-items.d.ts +4 -1
  882. package/dist/util/compaction-items.js +8 -2
  883. package/dist/util/crash-handlers.d.ts +7 -2
  884. package/dist/util/crash-handlers.js +13 -4
  885. package/dist/util/env.d.ts +16 -4
  886. package/dist/util/env.js +78 -25
  887. package/dist/util/home-path.js +12 -6
  888. package/dist/util/hook-payload.d.ts +3 -1
  889. package/dist/util/hook-payload.js +3 -1
  890. package/dist/util/http-retry.d.ts +12 -6
  891. package/dist/util/http-retry.js +16 -6
  892. package/dist/util/http-util.d.ts +20 -5
  893. package/dist/util/http-util.js +28 -9
  894. package/dist/util/json.d.ts +4 -1
  895. package/dist/util/json.js +4 -1
  896. package/dist/util/keyset.js +2 -1
  897. package/dist/util/limits.js +4 -2
  898. package/dist/util/log.d.ts +13 -5
  899. package/dist/util/log.js +29 -6
  900. package/dist/util/net.d.ts +5 -0
  901. package/dist/util/net.js +19 -0
  902. package/dist/util/real-path.d.ts +2 -1
  903. package/dist/util/real-path.js +4 -3
  904. package/dist/util/request-scope.d.ts +11 -3
  905. package/dist/util/request-scope.js +13 -4
  906. package/dist/util/same-text.d.ts +10 -3
  907. package/dist/util/same-text.js +10 -3
  908. package/dist/util/secret-detect.d.ts +24 -7
  909. package/dist/util/secret-detect.js +49 -14
  910. package/dist/util/spawn-argv.d.ts +3 -1
  911. package/dist/util/spawn-argv.js +13 -4
  912. package/dist/util/sqlite-blocked.d.ts +15 -4
  913. package/dist/util/sqlite-blocked.js +19 -6
  914. package/dist/util/stored-json.d.ts +4 -1
  915. package/dist/util/stored-json.js +6 -2
  916. package/dist/util/stream-tee.d.ts +2 -1
  917. package/dist/util/stream-tee.js +8 -5
  918. package/dist/util/transcript-tail.d.ts +4 -1
  919. package/dist/util/transcript-tail.js +4 -1
  920. package/dist/util/version.d.ts +8 -3
  921. package/dist/util/version.js +8 -3
  922. package/dist/util/write-budget.d.ts +7 -2
  923. package/dist/util/write-budget.js +5 -2
  924. package/dist/util/yaml.d.ts +4 -1
  925. package/dist/util/yaml.js +4 -1
  926. package/extensions/openclaw-plugin/openclaw.plugin.json +1 -1
  927. package/extensions/openclaw-plugin/package.json +1 -1
  928. package/openclaw.plugin.json +1 -1
  929. package/package.json +2 -1
  930. package/scripts/postinstall.cjs +3 -1
  931. package/dist/api/cards.d.ts +0 -42
  932. package/dist/api/conflicts.d.ts +0 -28
  933. package/dist/api/conflicts.js +0 -61
  934. package/dist/api/dormant.d.ts +0 -14
  935. package/dist/api/dormant.js +0 -58
  936. package/dist/api/goals.d.ts +0 -18
  937. package/dist/api/graph.d.ts +0 -8
  938. package/dist/api/graph.js +0 -8
  939. package/dist/api/learn.js +0 -125
  940. package/dist/api/memories.d.ts +0 -25
  941. package/dist/api/objects.d.ts +0 -9
  942. package/dist/api/outcome.d.ts +0 -19
  943. package/dist/api/predictions.d.ts +0 -11
  944. package/dist/api/promote.d.ts +0 -36
  945. package/dist/api/recall-core.d.ts +0 -4
  946. package/dist/api/recall-core.js +0 -125
  947. package/dist/api/recall-finish.d.ts +0 -53
  948. package/dist/api/recall-finish.js +0 -30
  949. package/dist/api/recall-history.d.ts +0 -64
  950. package/dist/api/recall-history.js +0 -159
  951. package/dist/api/recall-record.d.ts +0 -43
  952. package/dist/api/recall-record.js +0 -78
  953. package/dist/api/recall-request.js +0 -121
  954. package/dist/api/recall.d.ts +0 -6
  955. package/dist/api/refine.d.ts +0 -7
  956. package/dist/api/refine.js +0 -10
  957. package/dist/api/session-owners.d.ts +0 -4
  958. package/dist/api/session-owners.js +0 -17
  959. package/dist/api/sleep-run.d.ts +0 -26
  960. package/dist/api/sleep.js +0 -11
  961. package/dist/graph/write.d.ts +0 -14
  962. package/dist/store/sqlite/busy.d.ts +0 -3
  963. package/dist/store/sqlite/busy.js +0 -8
  964. package/dist/store/sqlite/local.d.ts +0 -4
  965. package/dist/store/sqlite/local.js +0 -8
@@ -1,4 +1,5 @@
1
- /** The one call this file makes on a Transformers.js feature-extraction pipeline, and the part of its tensor it reads. */
1
+ /** The one call this file makes on a Transformers.js feature-extraction pipeline, and the part of its tensor it
2
+ * reads. */
2
3
  interface EmbeddingPipeline {
3
4
  (input: string, options: {
4
5
  pooling: 'cls' | 'mean';
@@ -25,7 +26,8 @@ interface TransformersModule {
25
26
  };
26
27
  }
27
28
  export declare const DEFAULT_EMBEDDING_MODEL = "Xenova/all-MiniLM-L6-v2";
28
- /** BGE was trained with CLS pooling; everything else gets mean, the sentence-transformers default, since CLS degrades mean-trained models. */
29
+ /** BGE was trained with CLS pooling; everything else gets mean, the sentence-transformers default, since CLS
30
+ * degrades mean-trained models. */
29
31
  export declare function poolingFor(model: string): 'cls' | 'mean';
30
32
  /** `query` is search input, `passage` is a document being indexed; no role means no prefix on any model. */
31
33
  export type EmbeddingRole = 'query' | 'passage';
@@ -44,7 +46,8 @@ export interface LocalTransformers {
44
46
  export interface LocalEmbedder {
45
47
  isAvailable(): boolean;
46
48
  /** Throws, with the reason, when the model's pipeline cannot load: a provider-level failure, not a per-item skip.
47
- * `signal` ends the wait, never the load, and only once the load is downloading: a load from disk ends soon on its own, a download may not. */
49
+ * `signal` ends the wait, never the load, and only once the load is downloading: a load from disk ends soon on its
50
+ * own, a download may not. */
48
51
  requirePipeline(model: string, signal?: AbortSignal): Promise<void>;
49
52
  /** `text`'s vector, or `[]` when the model is missing or fails; `role` adds e5-style prefixes. */
50
53
  embed(text: string, model: string, role?: EmbeddingRole): Promise<number[]>;
@@ -56,7 +59,8 @@ export declare const sharedLocalEmbedder: LocalEmbedder;
56
59
  /** Check (synchronously) if @xenova/transformers or @huggingface/transformers is installed. */
57
60
  export declare function isEmbeddingAvailable(): boolean;
58
61
  export declare function resolveEmbeddingModel(hippoRoot: string, explicitModel?: string): string;
59
- /** Embeds `text` with the local model, or returns `[]` when Transformers.js is missing or fails; `role` adds e5-style prefixes. */
62
+ /** Embeds `text` with the local model, or returns `[]` when Transformers.js is missing or fails; `role` adds
63
+ * e5-style prefixes. */
60
64
  export declare function getEmbedding(text: string, model?: string, role?: EmbeddingRole): Promise<number[]>;
61
65
  export {};
62
66
  //# sourceMappingURL=local.d.ts.map
@@ -7,7 +7,8 @@ import { loadConfig } from '../core/config.js';
7
7
  import { errorFields, errorMessage, log } from '../util/log.js';
8
8
  import { createModelLoads, importTransformers, MODEL_LOAD_POLICY, resolveTransformersPackage } from './transformers.js';
9
9
  export const DEFAULT_EMBEDDING_MODEL = 'Xenova/all-MiniLM-L6-v2';
10
- /** BGE was trained with CLS pooling; everything else gets mean, the sentence-transformers default, since CLS degrades mean-trained models. */
10
+ /** BGE was trained with CLS pooling; everything else gets mean, the sentence-transformers default, since CLS
11
+ * degrades mean-trained models. */
11
12
  export function poolingFor(model) {
12
13
  return /\bbge\b/i.test(model) ? 'cls' : 'mean';
13
14
  }
@@ -57,7 +58,8 @@ function warnLoadFailure(model, err) {
57
58
  }
58
59
  /** The model's pipeline; throws the reason it cannot load. */
59
60
  async function createPipeline(transformers, model, gates) {
60
- // The package is an optional peer, so the dynamic import is typed by what this file reads; a missing export throws below.
61
+ // The package is an optional peer, so the dynamic import is typed by what this file reads; a missing export throws
62
+ // below.
61
63
  const imported = await transformers.load();
62
64
  if (!imported)
63
65
  throw new Error('no transformers package is installed');
@@ -82,7 +84,8 @@ async function createPipeline(transformers, model, gates) {
82
84
  gates.delete(model);
83
85
  }
84
86
  }
85
- /** Whether the load will download: remote models are allowed and no folder the package reads holds the model's ONNX files. */
87
+ /** Whether the load will download: remote models are allowed and no folder the package reads holds the model's ONNX
88
+ * files. */
86
89
  function fetchesWeights(env, model) {
87
90
  if (env?.allowRemoteModels === false)
88
91
  return false;
@@ -135,11 +138,12 @@ export function resolveEmbeddingModel(hippoRoot, explicitModel) {
135
138
  return configured;
136
139
  }
137
140
  catch (err) {
138
- log.warn(`embedding model config unreadable, using the default model: ${errorMessage(err)}`);
141
+ log.warn(`embedding model config unreadable, using the default model: ${errorMessage(err)}`, errorFields(err));
139
142
  }
140
143
  return DEFAULT_EMBEDDING_MODEL;
141
144
  }
142
- /** Embeds `text` with the local model, or returns `[]` when Transformers.js is missing or fails; `role` adds e5-style prefixes. */
145
+ /** Embeds `text` with the local model, or returns `[]` when Transformers.js is missing or fails; `role` adds
146
+ * e5-style prefixes. */
143
147
  export function getEmbedding(text, model = DEFAULT_EMBEDDING_MODEL, role) {
144
148
  return sharedLocalEmbedder.embed(text, model, role);
145
149
  }
@@ -1,18 +1,23 @@
1
- /** Pluggable embedding providers; local `@huggingface/transformers` is the zero-dependency default, OpenAI / Voyage / Cohere are opt-in via native `fetch`.
2
- * Local `id` is the bare model string, API `id` is `${kind}:${model}`; the stored identity adds `#t<N>` (`embeddingIndexIdentity`), so changes reindex.
3
- * `embed()` MAY throw on hard transport/auth failure so a reindex aborts atomically; hot paths wrap it and fall back to BM25. */
1
+ /** Pluggable embedding providers; local `@huggingface/transformers` is the
2
+ * zero-dependency default, OpenAI / Voyage / Cohere are opt-in via native
3
+ * `fetch`. Local `id` is the bare model string, API `id` is `${kind}:${model}`;
4
+ * the stored identity adds `#t<N>` (`embeddingIndexIdentity`), so changes
5
+ * reindex. `embed()` MAY throw on hard transport/auth failure so a reindex
6
+ * aborts atomically; hot paths wrap it and fall back to BM25. */
4
7
  import { type EmbeddingRole, type LocalTransformers } from './local.js';
5
8
  export type EmbeddingProviderKind = 'local' | 'openai' | 'voyage' | 'cohere';
6
9
  export declare const API_PROVIDER_KINDS: readonly EmbeddingProviderKind[];
7
10
  export interface EmbedCallOptions {
8
- /** Ends the whole call when it aborts, every batch and retry included. The local provider stops waiting only on a model download,
11
+ /** Ends the whole call when it aborts, every batch and retry included. The local provider stops waiting only on a
12
+ * model download,
9
13
  * since nothing stops a load from disk or an in-process inference. */
10
14
  signal?: AbortSignal;
11
15
  }
12
16
  export interface EmbeddingProvider {
13
17
  readonly kind: EmbeddingProviderKind;
14
18
  readonly model: string;
15
- /** Identity recorded in DB meta to drive reindex-on-change: bare model string for local, `${kind}:${model}` for api. */
19
+ /** Identity recorded in DB meta to drive reindex-on-change:
20
+ * bare model string for local, `${kind}:${model}` for api. */
16
21
  readonly id: string;
17
22
  /** Known fixed output dimension, if any (undefined for local / unknown). */
18
23
  readonly dimensions?: number;
@@ -29,15 +34,19 @@ export interface ResolveProviderOptions {
29
34
  model?: string;
30
35
  /** Explicit provider override (mainly for tests). */
31
36
  provider?: EmbeddingProviderKind;
32
- /** The Transformers.js package a local provider loads from, with its own models; the process's shared embedder when unset. */
37
+ /** The Transformers.js package a local provider loads from, with
38
+ * its own models; the process's shared embedder when unset. */
33
39
  transformers?: LocalTransformers;
34
40
  }
35
- /** Build the active embedding provider from config (or an explicit override). A missing key never throws here (it surfaces via `isAvailable()`);
41
+ /** Build the active embedding provider from config (or an explicit override). A missing key never throws here (it
42
+ * surfaces via `isAvailable()`);
36
43
  * only an invalid config (e.g. insecure apiBaseUrl) throws, deliberately loud, so hot-path callers wrap it. */
37
44
  export declare function resolveEmbeddingProvider(hippoRoot: string, opts?: ResolveProviderOptions): EmbeddingProvider;
38
- /** The reindex identity for the active provider; use it, NOT resolveEmbeddingModel, wherever `embeddingModelRequiresReindex` / stored-model comparisons
39
- * happen. */
45
+ /** The reindex identity for the active provider; use it, NOT
46
+ * resolveEmbeddingModel, wherever `embeddingModelRequiresReindex`
47
+ * / stored-model comparisons happen. */
40
48
  export declare function resolveEmbeddingIdentity(hippoRoot: string, opts?: ResolveProviderOptions): string;
41
- /** Provider-aware availability for a store (local: dependency installed; api: key present); use where the decision to embed is made. */
49
+ /** Provider-aware availability for a store (local: dependency installed; api: key present); use where the decision
50
+ * to embed is made. */
42
51
  export declare function isEmbeddingConfigured(hippoRoot: string): boolean;
43
52
  //# sourceMappingURL=provider.d.ts.map
@@ -1,10 +1,13 @@
1
- /** Pluggable embedding providers; local `@huggingface/transformers` is the zero-dependency default, OpenAI / Voyage / Cohere are opt-in via native `fetch`.
2
- * Local `id` is the bare model string, API `id` is `${kind}:${model}`; the stored identity adds `#t<N>` (`embeddingIndexIdentity`), so changes reindex.
3
- * `embed()` MAY throw on hard transport/auth failure so a reindex aborts atomically; hot paths wrap it and fall back to BM25. */
1
+ /** Pluggable embedding providers; local `@huggingface/transformers` is the
2
+ * zero-dependency default, OpenAI / Voyage / Cohere are opt-in via native
3
+ * `fetch`. Local `id` is the bare model string, API `id` is `${kind}:${model}`;
4
+ * the stored identity adds `#t<N>` (`embeddingIndexIdentity`), so changes
5
+ * reindex. `embed()` MAY throw on hard transport/auth failure so a reindex
6
+ * aborts atomically; hot paths wrap it and fall back to BM25. */
4
7
  import { envByName } from '../util/env.js';
5
8
  import { createLocalEmbedder, resolveEmbeddingModel, sharedLocalEmbedder, DEFAULT_EMBEDDING_MODEL, } from './local.js';
6
9
  import { loadConfig } from '../core/config.js';
7
- import { errorMessage, log } from '../util/log.js';
10
+ import { errorMessage, log, errorFields } from '../util/log.js';
8
11
  import { redactSecretsStrict } from '../util/secret-detect.js';
9
12
  import { fetchWithRetry } from '../util/http-retry.js';
10
13
  import { readCappedJson, readCappedText } from '../util/capped-json.js';
@@ -41,7 +44,8 @@ class LocalEmbeddingProvider {
41
44
  return this.enabled && this.embedder.isAvailable();
42
45
  }
43
46
  async embed(texts, role, call = {}) {
44
- // A model that cannot load fails the call, as an API outage does; items then run one at a time on the shared pipeline.
47
+ // A model that cannot load fails the call, as an API outage
48
+ // does; items then run one at a time on the shared pipeline.
45
49
  if (texts.length > 0)
46
50
  await this.embedder.requirePipeline(this.model, call.signal);
47
51
  const out = [];
@@ -97,7 +101,8 @@ const API_PROVIDER_SPECS = {
97
101
  }),
98
102
  extractVectors: (json) => {
99
103
  // Cohere v2 shape: { embeddings: { float: number[][] } }
100
- // SAFETY: documented v2 envelope; embedChunk validates the vectors afterward, so a malformed response degrades to [] here and throws there.
104
+ // SAFETY: documented v2 envelope; embedChunk validates the vectors afterward, so a malformed response degrades to
105
+ // [] here and throws there.
101
106
  const emb = json.embeddings;
102
107
  return emb?.float ?? [];
103
108
  },
@@ -170,7 +175,8 @@ class ApiEmbeddingProvider {
170
175
  const resp = await this.postChunk(chunk, key, role, signal);
171
176
  const json = await this.responseJson(resp, key, chunk.length);
172
177
  const vectors = spec.extractVectors(json);
173
- // A 200 with the wrong vector count (or any empty/malformed vector) is a provider contract violation, not a per-item miss:
178
+ // A 200 with the wrong vector count (or any empty/malformed vector) is a provider contract violation, not a
179
+ // per-item miss:
174
180
  // throw so a reindex aborts atomically and the explicit backfill surfaces it, instead of saving []-padded rows.
175
181
  if (vectors.length !== chunk.length) {
176
182
  throw new Error(redact(`${this.kind} embeddings returned ${vectors.length} vectors for ${chunk.length} inputs`, key));
@@ -196,14 +202,17 @@ class ApiEmbeddingProvider {
196
202
  signal,
197
203
  }, {
198
204
  timeoutMs: REQUEST_TIMEOUT_MS,
199
- // Embedding the same text twice changes nothing on the far side, so a dropped connection or a stalled attempt is replayed.
205
+ // Embedding the same text twice changes nothing on the far side,
206
+ // so a dropped connection or a stalled attempt is replayed.
200
207
  retryTransport: true,
201
208
  maxDelayMs: signal ? DEADLINE_RETRY_WAIT_CAP_MS : undefined,
202
209
  });
203
210
  }
204
211
  catch (err) {
205
212
  const msg = errorMessage(err);
206
- throw new Error(redact(`embedding request to ${this.kind} failed: ${msg}`, key), { cause: redactedCause(err, key) });
213
+ throw new Error(redact(`embedding request to ${this.kind} failed: ${msg}`, key), {
214
+ cause: redactedCause(err, key),
215
+ });
207
216
  }
208
217
  }
209
218
  /** The body of an OK reply; any other status, or a body that is not JSON, throws with the key cut out. */
@@ -214,7 +223,8 @@ class ApiEmbeddingProvider {
214
223
  detail = await readCappedText(resp, ERROR_BODY_MAX_BYTES);
215
224
  }
216
225
  catch (err) {
217
- log.debug(`${this.kind} embeddings error body unreadable: ${errorMessage(err)}`);
226
+ // The error thrown below already carries the status; the body is only extra detail.
227
+ log.debug(`${this.kind} embeddings error body unreadable: ${errorMessage(err)}`, errorFields(err));
218
228
  }
219
229
  throw new Error(redact(`${this.kind} embeddings HTTP ${resp.status}: ${detail.slice(0, ERROR_DETAIL_CHARS)}`, key));
220
230
  }
@@ -224,7 +234,7 @@ class ApiEmbeddingProvider {
224
234
  catch (err) {
225
235
  const msg = errorMessage(err);
226
236
  throw new Error(redact(`${this.kind} embeddings returned invalid JSON: ${msg}`, key), {
227
- cause: redactedCause(err instanceof Error && err.cause ? err.cause : err, key)
237
+ cause: redactedCause(err instanceof Error && err.cause ? err.cause : err, key),
228
238
  });
229
239
  }
230
240
  }
@@ -248,7 +258,8 @@ function validateBaseUrl(url, fallback) {
248
258
  }
249
259
  return candidate;
250
260
  }
251
- /** Build the active embedding provider from config (or an explicit override). A missing key never throws here (it surfaces via `isAvailable()`);
261
+ /** Build the active embedding provider from config (or an explicit override). A missing key never throws here (it
262
+ * surfaces via `isAvailable()`);
252
263
  * only an invalid config (e.g. insecure apiBaseUrl) throws, deliberately loud, so hot-path callers wrap it. */
253
264
  export function resolveEmbeddingProvider(hippoRoot, opts = {}) {
254
265
  const cfg = loadConfig(hippoRoot).embeddings;
@@ -263,7 +274,8 @@ export function resolveEmbeddingProvider(hippoRoot, opts = {}) {
263
274
  if (!isApiProviderKind(requested)) {
264
275
  // Fail loud on a typo'd provider rather than silently using local (which
265
276
  // would reindex with the local model and clobber the intended identity).
266
- throw new Error(`Unknown embeddings.provider '${requested}'. Valid values: local, ${API_PROVIDER_KINDS.filter((k) => k !== 'local').join(', ')}.`);
277
+ throw new Error(`Unknown embeddings.provider '${requested}'. Valid values: local, ` +
278
+ `${API_PROVIDER_KINDS.filter((k) => k !== 'local').join(', ')}.`);
267
279
  }
268
280
  const kind = requested;
269
281
  const spec = API_PROVIDER_SPECS[kind];
@@ -277,19 +289,21 @@ export function resolveEmbeddingProvider(hippoRoot, opts = {}) {
277
289
  : DEFAULT_API_BATCH_SIZE;
278
290
  return new ApiEmbeddingProvider(kind, model, baseUrl, batchSize, enabled);
279
291
  }
280
- /** The reindex identity for the active provider; use it, NOT resolveEmbeddingModel, wherever `embeddingModelRequiresReindex` / stored-model comparisons
281
- * happen. */
292
+ /** The reindex identity for the active provider; use it, NOT
293
+ * resolveEmbeddingModel, wherever `embeddingModelRequiresReindex`
294
+ * / stored-model comparisons happen. */
282
295
  export function resolveEmbeddingIdentity(hippoRoot, opts = {}) {
283
296
  return resolveEmbeddingProvider(hippoRoot, opts).id;
284
297
  }
285
- /** Provider-aware availability for a store (local: dependency installed; api: key present); use where the decision to embed is made. */
298
+ /** Provider-aware availability for a store (local: dependency installed; api: key present); use where the decision
299
+ * to embed is made. */
286
300
  export function isEmbeddingConfigured(hippoRoot) {
287
301
  try {
288
302
  return resolveEmbeddingProvider(hippoRoot).isAvailable();
289
303
  }
290
304
  catch (err) {
291
305
  // An invalid embedding config must not crash the best-effort ingestion guard, so it reads as not configured.
292
- log.debug(`embedding config unusable: ${errorMessage(err)}`);
306
+ log.warnThenDebug(`embedding-config-unusable:${hippoRoot}`, `embedding config unusable: ${errorMessage(err)}`, errorFields(err));
293
307
  return false;
294
308
  }
295
309
  }
@@ -1,6 +1,9 @@
1
1
  export interface TransformersPackage {
2
2
  readonly name: string;
3
- /** The ESM entry; a require-style import picks the CommonJS build and puts a second copy of the library, with its own ONNX sessions, in the process. */
3
+ /**
4
+ * The ESM entry; a require-style import picks the CommonJS build and puts a second copy of the library, with its own
5
+ * ONNX sessions, in the process.
6
+ */
4
7
  readonly url: string;
5
8
  }
6
9
  /** The installed package to import, or null when neither is installed. */
@@ -11,16 +14,25 @@ export declare function importTransformers<M>(): Promise<{
11
14
  readonly mod: M;
12
15
  } | null>;
13
16
  export interface ModelLoadPolicy {
14
- /** How long one load may run before it counts as failed; nothing can cancel it, so it keeps running and a late model is still kept. */
17
+ /**
18
+ * How long one load may run before it counts as failed; nothing can cancel it, so it keeps running and a late model
19
+ * is still kept.
20
+ */
15
21
  readonly timeoutMs: number;
16
22
  /** How long a failure is answered from memory before the next call loads again. */
17
23
  readonly backoffMs: number;
18
24
  }
19
25
  export declare const MODEL_LOAD_POLICY: ModelLoadPolicy;
20
26
  export interface ModelLoads<T> {
21
- /** The model under `key`: the loaded one, the load in flight, the failure inside its backoff window, or a new `start()`. */
27
+ /**
28
+ * The model under `key`: the loaded one, the load in flight, the failure inside its backoff window, or a new
29
+ * `start()`.
30
+ */
22
31
  load(key: string, start: () => Promise<T>): Promise<T>;
23
32
  }
24
- /** One load per key at a time, bounded by the policy's timeout; `onFailure` hears each failed attempt, so once per backoff window. */
33
+ /**
34
+ * One load per key at a time, bounded by the policy's timeout; `onFailure` hears each failed attempt, so once per
35
+ * backoff window.
36
+ */
25
37
  export declare function createModelLoads<T>(policy: ModelLoadPolicy, onFailure?: (key: string, err: Error) => void): ModelLoads<T>;
26
38
  //# sourceMappingURL=transformers.d.ts.map
@@ -1,4 +1,5 @@
1
- // The optional Transformers.js package, and a bounded load of a model from it, shared by the local embedder and the cross-encoder.
1
+ // The optional Transformers.js package, and a bounded load of a model from it, shared by the local embedder and the
2
+ // cross-encoder.
2
3
  import { MINUTE_MS } from '../util/time.js';
3
4
  import { createRequire } from 'node:module';
4
5
  import { pathToFileURL } from 'node:url';
@@ -21,7 +22,8 @@ function entryUrl(name) {
21
22
  return import.meta.resolve(name);
22
23
  }
23
24
  catch {
24
- // import.meta.resolve is missing under some module runners (vitest's included), so the require-based resolve stands in there.
25
+ // import.meta.resolve is missing under some module runners (vitest's included), so the require-based resolve stands
26
+ // in there.
25
27
  try {
26
28
  return pathToFileURL(_require.resolve(name)).href;
27
29
  }
@@ -41,30 +43,43 @@ export async function importTransformers() {
41
43
  catch (err) {
42
44
  // A Node error's code (ERR_MODULE_NOT_FOUND and the like) says more than its message alone.
43
45
  const code = errorCode(err);
44
- throw new Error(`transformers import failed (${pkg.name}): ${code ? `${code} ` : ''}${errorMessage(err)}`, { cause: err });
46
+ throw new Error(`transformers import failed (${pkg.name}): ${code ? `${code} ` : ''}${errorMessage(err)}`, {
47
+ cause: err,
48
+ });
45
49
  }
46
50
  }
47
51
  // A quantized MiniLM is about 23 MB, so two minutes is a 1.5 Mbit/s link; a load from disk takes about a second.
48
52
  // The backoff matches the reranker outage warning's repeat window, so each window has one attempt and one warning.
49
53
  export const MODEL_LOAD_POLICY = { timeoutMs: 2 * MINUTE_MS, backoffMs: 5 * MINUTE_MS };
50
- /** One load per key at a time, bounded by the policy's timeout; `onFailure` hears each failed attempt, so once per backoff window. */
51
- export function createModelLoads(policy, onFailure) {
52
- const loaded = new Map();
53
- const inFlight = new Map();
54
- const failed = new Map();
55
- const attempt = (key, start) => new Promise((resolve, reject) => {
56
- const timer = setTimeout(() => reject(new Error(`${key} did not load within ${policy.timeoutMs / 1000} s`)), policy.timeoutMs);
54
+ /** Runs `start` under a timeout; a model that arrives after the timeout is still handed to `onLoaded`. */
55
+ function loadWithTimeout(key, start, timeoutMs, onLoaded) {
56
+ return new Promise((resolve, reject) => {
57
+ const timer = setTimeout(() => reject(new Error(`${key} did not load within ${timeoutMs / 1000} s`)), timeoutMs);
57
58
  timer.unref();
58
- Promise.resolve().then(start).then((model) => {
59
+ Promise.resolve()
60
+ .then(start)
61
+ .then((model) => {
59
62
  clearTimeout(timer);
60
- loaded.set(key, model);
61
- failed.delete(key);
63
+ onLoaded(model);
62
64
  resolve(model);
63
65
  }, (err) => {
64
66
  clearTimeout(timer);
65
67
  reject(err instanceof Error ? err : new Error(errorMessage(err)));
66
68
  });
67
69
  });
70
+ }
71
+ /**
72
+ * One load per key at a time, bounded by the policy's timeout; `onFailure` hears each failed attempt, so once per
73
+ * backoff window.
74
+ */
75
+ export function createModelLoads(policy, onFailure) {
76
+ const loaded = new Map();
77
+ const inFlight = new Map();
78
+ const failed = new Map();
79
+ const attempt = (key, start) => loadWithTimeout(key, start, policy.timeoutMs, (model) => {
80
+ loaded.set(key, model);
81
+ failed.delete(key);
82
+ });
68
83
  return {
69
84
  load(key, start) {
70
85
  const model = loaded.get(key);
@@ -76,11 +91,13 @@ export function createModelLoads(policy, onFailure) {
76
91
  const failure = failed.get(key);
77
92
  if (failure && Date.now() < failure.until)
78
93
  return Promise.reject(failure.error);
79
- const next = attempt(key, start).catch((err) => {
94
+ const next = attempt(key, start)
95
+ .catch((err) => {
80
96
  failed.set(key, { error: err, until: Date.now() + policy.backoffMs });
81
97
  onFailure?.(key, err);
82
98
  throw err;
83
- }).finally(() => inFlight.delete(key));
99
+ })
100
+ .finally(() => inFlight.delete(key));
84
101
  inFlight.set(key, next);
85
102
  return next;
86
103
  },
@@ -1,3 +1,3 @@
1
- export { installJsonHooks, resolveJsonHookPaths, uninstallJsonHooks, writeSettingsFile, type InstallResult, type JsonHookPaths } from '../hooks/json-hooks.js';
1
+ export { installJsonHooks, resolveJsonHookPaths, uninstallJsonHooks, writeSettingsFile, type InstallResult, type JsonHookPaths, } from '../hooks/json-hooks.js';
2
2
  export { readJsonFile } from '../util/json.js';
3
3
  //# sourceMappingURL=json-hooks.d.ts.map
@@ -1,4 +1,4 @@
1
1
  // The hippo-memory/json-hooks subpath: only what the changelog publishes, so the module's other exports stay internal.
2
- export { installJsonHooks, resolveJsonHookPaths, uninstallJsonHooks, writeSettingsFile } from '../hooks/json-hooks.js';
2
+ export { installJsonHooks, resolveJsonHookPaths, uninstallJsonHooks, writeSettingsFile, } from '../hooks/json-hooks.js';
3
3
  export { readJsonFile } from '../util/json.js';
4
4
  //# sourceMappingURL=json-hooks.js.map
@@ -1,3 +1,4 @@
1
- // The hippo-memory/project-identity subpath: only what the changelog publishes, so the module's other exports stay internal.
1
+ // The hippo-memory/project-identity subpath: only what the changelog publishes, so the module's other exports stay
2
+ // internal.
2
3
  export { MAX_PROJECT_ALIASES, MCP_PROJECT_SCOPED_HEADER, resolveProjectIdentity } from '../core/project-identity.js';
3
4
  //# sourceMappingURL=project-identity.js.map
@@ -3,5 +3,5 @@ export { scrubForSharing } from '../capture/share-scrub.js';
3
3
  export { transcriptWorkingState, WORKING_STATE_CAPS } from '../capture/working-state.js';
4
4
  export { lessonFromFailure, failureReport, type FailureReport } from '../capture/failure-reading.js';
5
5
  export { collectHandoffEvidence } from '../capture/handoff-evidence.js';
6
- export { compactSummaryBody, parseCompactionItems, COMPACTION_ITEM_MAX_CHARS, COMPACTION_ITEM_ROW_CAP } from '../util/compaction-items.js';
6
+ export { compactSummaryBody, parseCompactionItems, COMPACTION_ITEM_MAX_CHARS, COMPACTION_ITEM_ROW_CAP, } from '../util/compaction-items.js';
7
7
  //# sourceMappingURL=session-text.d.ts.map
@@ -5,5 +5,5 @@ export { scrubForSharing } from '../capture/share-scrub.js';
5
5
  export { transcriptWorkingState, WORKING_STATE_CAPS } from '../capture/working-state.js';
6
6
  export { lessonFromFailure, failureReport } from '../capture/failure-reading.js';
7
7
  export { collectHandoffEvidence } from '../capture/handoff-evidence.js';
8
- export { compactSummaryBody, parseCompactionItems, COMPACTION_ITEM_MAX_CHARS, COMPACTION_ITEM_ROW_CAP } from '../util/compaction-items.js';
8
+ export { compactSummaryBody, parseCompactionItems, COMPACTION_ITEM_MAX_CHARS, COMPACTION_ITEM_ROW_CAP, } from '../util/compaction-items.js';
9
9
  //# sourceMappingURL=session-text.js.map
@@ -0,0 +1,10 @@
1
+ import { closeHippoDb as closeHandle, type DatabaseSyncLike as HandleType, openHippoDb as openHandle, openHippoDbReadOnly as openHandleReadOnly } from '../db/index.js';
2
+ /** @deprecated The package root stops exporting this in 3.0. */
3
+ export declare const openHippoDb: typeof openHandle;
4
+ /** @deprecated The package root stops exporting this in 3.0. */
5
+ export declare const openHippoDbReadOnly: typeof openHandleReadOnly;
6
+ /** @deprecated The package root stops exporting this in 3.0. */
7
+ export declare const closeHippoDb: typeof closeHandle;
8
+ /** @deprecated The package root stops exporting this in 3.0. */
9
+ export type DatabaseSyncLike = HandleType;
10
+ //# sourceMappingURL=sqlite-handles.d.ts.map
@@ -0,0 +1,9 @@
1
+ // The SQLite handle helpers the 2.x package root still exports; the root drops them in 3.0.
2
+ import { closeHippoDb as closeHandle, openHippoDb as openHandle, openHippoDbReadOnly as openHandleReadOnly, } from '../db/index.js';
3
+ /** @deprecated The package root stops exporting this in 3.0. */
4
+ export const openHippoDb = openHandle;
5
+ /** @deprecated The package root stops exporting this in 3.0. */
6
+ export const openHippoDbReadOnly = openHandleReadOnly;
7
+ /** @deprecated The package root stops exporting this in 3.0. */
8
+ export const closeHippoDb = closeHandle;
9
+ //# sourceMappingURL=sqlite-handles.js.map
@@ -1,13 +1,13 @@
1
- export { hasGroup, sqliteStore, type AmbientCandidateRequest, type ContextReads, type EntryRemoval, type EntryTarget, type EntryWrite, type EntryWrites, type HippoStore, type KeyAudit, type KeyListQuery, type KeyMint, type KeyRevoke, type KeyWrites, type LastRecall, type LastRecallWrites, type OutcomeWrite, type RawArchive, type RecallSearchArgs, type RecallWrites, type SelfKeyMint, type StoreGroup, type StoreGroups, type SupersedeWrite, type VectorReads, type VectorBackfillQuery, type VectorRowWrite, type VectorWrite, type VectorWriteResult, type VectorWrites, } from '../store/index.js';
1
+ export { hasGroup, narrowStore, sqliteStore, type AmbientCandidateRequest, type CardCreate, type Cards, type Conflicts, type ContextReads, type Dormant, type DormantRestoreRequest, type EntryRemoval, type EntryTarget, type EntryWrite, type EntryWrites, type Goals, type HippoStore, type KeyAudit, type KeyListQuery, type KeyMint, type KeyRevoke, type KeyWrites, type LastRecall, type LastRecallWrites, type OutcomeWrite, type RawArchive, type RecallSearchArgs, type RecallWrites, type Reports, type SelfKeyMint, type Sessions, type StoreGroup, type StoreGroups, type StoreWith, type SupersedeWrite, type VectorReads, type VectorBackfillQuery, type VectorRowWrite, type VectorWrite, type VectorWriteResult, type VectorWrites, type WorkingMemoryFilter, type WorkingMemoryPush, } from '../store/index.js';
2
2
  export { entryAfterOutcome } from '../core/memory.js';
3
3
  export { rejectionDigest } from '../store/rejection.js';
4
4
  export { RejectedValueError } from '../core/api-errors.js';
5
5
  export { ownScopeTouches } from '../core/recall-scope.js';
6
- export type { HippoDbContext } from '../api/types.js';
6
+ export type { ContextWith, HippoDbContext } from '../api/types.js';
7
7
  export type { ApiKeyListItem, ApiKeyListRow, ApiKeyRecord, ListApiKeysOpts, NewApiKey } from '../store/auth.js';
8
8
  export type { KeysetPosition } from '../util/keyset.js';
9
9
  export type { AppendAuditOpts, AuditEvent, ListAuditAfterOpts } from '../store/audit.js';
10
- export type { ContinuityBlock } from '../api/recall-types.js';
10
+ export type { ContinuityBlock } from '../api/recall/types.js';
11
11
  export type { ActiveGoals, GetActiveGoalsOpts, Goal, GoalRecallLogRow, RetrievalPolicy } from '../store/goals.js';
12
12
  export type { MemoryEntry } from '../core/memory.js';
13
13
  export type { ClassResolution, PlanningFallacyEvidence } from '../store/planning-fallacy-evidence.js';
@@ -17,15 +17,28 @@ export type { StrengthenOptions } from '../store/entry-writes.js';
17
17
  export type { OriginFilter, RecallScopeFilter, VectorCandidateSpec } from '../store/search-rows.js';
18
18
  export type { ContinuityKey } from '../store/sessions.js';
19
19
  export type { SessionEvent, TaskSnapshot } from '../store/rows.js';
20
- export type { SessionHandoff } from '../core/handoff.js';
21
- export type { AmbientLoadResult, AmbientRecallRequest, ContextCandidateFilter, RecentOrigins } from '../store/candidates.js';
20
+ export type { HandoffOutcome, SessionHandoff } from '../core/handoff.js';
21
+ export type { Card, CardComment, CardRun, CardStatus } from '../core/card.js';
22
+ export type { CardDetail } from '../store/card-detail.js';
23
+ export type { CompleteGoalOpts, PushGoalOpts } from '../store/goals.js';
24
+ export type { HandoffFilter, SessionEndHandoffRequest } from '../store/handoffs.js';
25
+ export type { ResolveConflictOpts, ResolveConflictRequest } from '../store/conflicts.js';
26
+ export type { DormantMemory, DormantRestoreOutcome, DormantSnapshot, ListDormantOpts } from '../store/dormant.js';
27
+ export type { EntryCursor, EntryPage } from '../store/entry-reads.js';
28
+ export type { FailureSummary } from '../store/failure-log.js';
29
+ export type { MemoryConflict } from '../store/rows.js';
30
+ export type { SessionEventInput, SnapshotInput } from '../store/sessions.js';
31
+ export type { StrengthTallies } from '../store/candidates.js';
32
+ export type { TokenSummary } from '../store/token-ledger.js';
33
+ export type { WorkingMemoryItem } from '../store/working-memory.js';
34
+ export type { AmbientLoadResult, AmbientRecallRequest, ContextCandidateFilter, RecentOrigins, } from '../store/candidates.js';
22
35
  export type { AmbientStoreFilter } from '../store/ambient.js';
23
36
  export type { AmbientTallies } from '../core/ambient.js';
24
37
  export type { TokenUse } from '../store/token-ledger.js';
25
38
  export type { EmbeddingIndexState } from '../store/vector-index.js';
26
39
  export type { PhysicsParticle } from '../core/physics.js';
27
40
  export { StoreBusyError } from '../store/port.js';
28
- export { decodeVector, EMBEDDING_MODEL_META_KEY, encodeVector, rankVectorRows, type VectorMatch, type VectorRow } from '../db/vector-store.js';
41
+ export { decodeVector, EMBEDDING_MODEL_META_KEY, encodeVector, rankVectorRows, type VectorMatch, type VectorRow, } from '../db/vector-store.js';
29
42
  export { bufferToFloat32, float32ToBuffer } from '../util/vector-codec.js';
30
43
  export { replacesIndex } from '../store/vector-index.js';
31
44
  export { passesScopeFilterForRecall, RECALL_DEFAULT_DENY_SCOPES } from '../core/recall-scope.js';
@@ -1,16 +1,18 @@
1
- // The hippo-memory/store-kit subpath: the contract for a second HippoStore (port types, row types, hippo.db's rule helpers),
1
+ // The hippo-memory/store-kit subpath: the contract for a second HippoStore (port types, row types, hippo.db's rule
2
+ // helpers),
2
3
  // so a store built on it applies hippo.db's rules with the same code.
3
4
  // An add-on serves from another database by passing serve() its own HippoStore.
4
- export { hasGroup, sqliteStore, } from '../store/index.js';
5
+ export { hasGroup, narrowStore, sqliteStore, } from '../store/index.js';
5
6
  // An add-on store's entry writes apply an outcome, guard tombstones and check reach exactly as hippo.db does.
6
7
  export { entryAfterOutcome } from '../core/memory.js';
7
8
  export { rejectionDigest } from '../store/rejection.js';
8
9
  export { RejectedValueError } from '../core/api-errors.js';
9
10
  export { ownScopeTouches } from '../core/recall-scope.js';
10
11
  export { StoreBusyError } from '../store/port.js';
11
- // An add-on store encodes, decodes and ranks vectors and particles with hippo.db's own code, and drops the index by its rule,
12
+ // An add-on store encodes, decodes and ranks vectors and particles with hippo.db's own code, and drops the index by its
13
+ // rule,
12
14
  // so both stores keep the same bytes and return the same ids in the same order.
13
- export { decodeVector, EMBEDDING_MODEL_META_KEY, encodeVector, rankVectorRows } from '../db/vector-store.js';
15
+ export { decodeVector, EMBEDDING_MODEL_META_KEY, encodeVector, rankVectorRows, } from '../db/vector-store.js';
14
16
  export { bufferToFloat32, float32ToBuffer } from '../util/vector-codec.js';
15
17
  export { replacesIndex } from '../store/vector-index.js';
16
18
  // An add-on's ContextReads applies hippo.db's scope, secret, tally and rarest-term rules with the same code.
@@ -1,5 +1,9 @@
1
- /** Statistics and cost accounting for the token-efficiency evals: cost is priced over four buckets (uncached input, cache write, cache read, output).
2
- * Uncertainty uses paired, cluster (same-repository tasks are not independent) and paired-ratio bootstraps; every resampler takes a seed. */
1
+ /**
2
+ * Statistics and cost accounting for the token-efficiency evals: cost is priced over four buckets (uncached input,
3
+ * cache write, cache read, output).
4
+ * Uncertainty uses paired, cluster (same-repository tasks are not independent) and paired-ratio bootstraps; every
5
+ * resampler takes a seed.
6
+ */
3
7
  /** Token usage for one model call or one whole task, split by how it is billed. */
4
8
  export interface Usage {
5
9
  /** Input tokens billed at the base input price (not read from or written to a cache). */
@@ -11,7 +15,10 @@ export interface Usage {
11
15
  /** Output tokens, including any reasoning tokens the provider bills as output. */
12
16
  outputTokens: number;
13
17
  }
14
- /** Prices in dollars per million tokens, taken from the provider's current price page for the exact model; this module has no built-in prices. */
18
+ /**
19
+ * Prices in dollars per million tokens, taken from the provider's current price page for the exact model; this module
20
+ * has no built-in prices.
21
+ */
15
22
  export interface Prices {
16
23
  inputPerMTok: number;
17
24
  cacheWritePerMTok: number;
@@ -22,8 +29,12 @@ export interface Prices {
22
29
  export declare function addUsage(...usages: Usage[]): Usage;
23
30
  /** Dollar cost of `usage` at `prices`. */
24
31
  export declare function priceUsage(usage: Usage, prices: Prices): number;
25
- /** Relative cache-bucket prices against the base input price, for cost in "uncached-equivalent tokens" when no dollar prices are given.
26
- * Defaults follow Anthropic's ratios (5-minute cache write 1.25x, cache read 0.1x); pass another provider's ratios when needed. */
32
+ /**
33
+ * Relative cache-bucket prices against the base input price, for cost in "uncached-equivalent tokens" when no dollar
34
+ * prices are given.
35
+ * Defaults follow Anthropic's ratios (5-minute cache write 1.25x, cache read 0.1x); pass another provider's ratios when
36
+ * needed.
37
+ */
27
38
  export interface CacheRatios {
28
39
  write: number;
29
40
  read: number;
@@ -52,9 +63,15 @@ export interface BootstrapOpts {
52
63
  /** PRNG seed. Default 1. */
53
64
  seed?: number;
54
65
  }
55
- /** Paired bootstrap for the mean of per-task differences (treatment minus control, same task); an interval excluding zero is the bar for a real difference. */
66
+ /**
67
+ * Paired bootstrap for the mean of per-task differences (treatment minus control, same task); an interval excluding
68
+ * zero is the bar for a real difference.
69
+ */
56
70
  export declare function pairedBootstrap(diffs: number[], opts?: BootstrapOpts): Estimate;
57
- /** Cluster bootstrap for the mean of per-task differences: resamples whole clusters (e.g. one repository), because tasks in a cluster are not independent. */
71
+ /**
72
+ * Cluster bootstrap for the mean of per-task differences: resamples whole clusters (e.g. one repository), because tasks
73
+ * in a cluster are not independent.
74
+ */
58
75
  export declare function clusteredPairedBootstrap(diffsByCluster: ReadonlyMap<string, number[]>, opts?: BootstrapOpts): Estimate;
59
76
  /** One task's outcome in one arm, for {@link costPerResolvedDelta}. */
60
77
  export interface ArmOutcome {
@@ -72,7 +89,9 @@ export interface CostPerResolvedDelta {
72
89
  /** (treatment minus control) / control, with its interval. Negative is a saving. */
73
90
  relative: Estimate;
74
91
  }
75
- /** Cost per resolved task in two arms on the same tasks, with a paired bootstrap (`control[i]` and `treatment[i]` must be the same task).
92
+ /**
93
+ * Cost per resolved task in two arms on the same tasks, with a paired bootstrap (`control[i]` and `treatment[i]` must
94
+ * be the same task).
76
95
  * Resamples in which an arm resolves nothing are dropped; `iterations` reports how many were kept. */
77
96
  export declare function costPerResolvedDelta(control: ArmOutcome[], treatment: ArmOutcome[], opts?: BootstrapOpts): CostPerResolvedDelta;
78
97
  /** pass@k: share of tasks with at least one success in their first k runs.