hippo-memory 1.44.0 → 1.46.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 (554) hide show
  1. package/README.md +68 -24
  2. package/bin/hippo.js +3 -1
  3. package/dist/ablation.d.ts +10 -1
  4. package/dist/ablation.js +17 -1
  5. package/dist/api.d.ts +81 -22
  6. package/dist/api.js +258 -49
  7. package/dist/audit.d.ts +2 -2
  8. package/dist/audit.js +9 -0
  9. package/dist/autolearn.d.ts +1 -1
  10. package/dist/autolearn.js +2 -1
  11. package/dist/capture-error.d.ts +20 -0
  12. package/dist/capture-error.js +82 -0
  13. package/dist/capture.d.ts +25 -8
  14. package/dist/capture.js +100 -5
  15. package/dist/cli.d.ts +9 -1
  16. package/dist/cli.js +531 -119
  17. package/dist/client.d.ts +4 -21
  18. package/dist/client.js +3 -112
  19. package/dist/config.d.ts +20 -0
  20. package/dist/config.js +37 -1
  21. package/dist/consolidate.d.ts +9 -0
  22. package/dist/consolidate.js +133 -46
  23. package/dist/dag.d.ts +1 -0
  24. package/dist/dag.js +10 -5
  25. package/dist/dashboard.js +7 -3
  26. package/dist/db.js +69 -24
  27. package/dist/dedupe.d.ts +1 -0
  28. package/dist/dedupe.js +4 -7
  29. package/dist/doctor.d.ts +34 -0
  30. package/dist/doctor.js +174 -0
  31. package/dist/dormant.d.ts +91 -0
  32. package/dist/dormant.js +121 -0
  33. package/dist/embedding-provider.js +2 -1
  34. package/dist/embeddings.js +81 -8
  35. package/dist/eval-stats.d.ts +123 -0
  36. package/dist/eval-stats.js +187 -0
  37. package/dist/extract.d.ts +2 -0
  38. package/dist/extract.js +9 -4
  39. package/dist/half-life-migration.d.ts +55 -0
  40. package/dist/half-life-migration.js +111 -0
  41. package/dist/hooks.d.ts +4 -0
  42. package/dist/hooks.js +47 -0
  43. package/dist/mcp/server.d.ts +6 -0
  44. package/dist/mcp/server.js +90 -48
  45. package/dist/memory.d.ts +18 -1
  46. package/dist/memory.js +33 -5
  47. package/dist/physics-config.js +5 -1
  48. package/dist/recall-scope.d.ts +24 -0
  49. package/dist/recall-scope.js +41 -0
  50. package/dist/refine-llm.js +3 -2
  51. package/dist/reject-flow.d.ts +3 -3
  52. package/dist/reject-flow.js +10 -3
  53. package/dist/rerankers/jev.js +3 -2
  54. package/dist/rerankers/llm.js +3 -2
  55. package/dist/search.d.ts +4 -4
  56. package/dist/search.js +26 -21
  57. package/dist/server.d.ts +5 -0
  58. package/dist/server.js +49 -29
  59. package/dist/shared.js +1 -1
  60. package/dist/store.d.ts +29 -11
  61. package/dist/store.js +197 -70
  62. package/dist/token-ledger.d.ts +119 -0
  63. package/dist/token-ledger.js +181 -0
  64. package/dist/version.d.ts +4 -6
  65. package/dist/version.js +4 -7
  66. package/extensions/openclaw-plugin/openclaw.plugin.json +1 -1
  67. package/extensions/openclaw-plugin/package.json +1 -1
  68. package/openclaw.plugin.json +1 -1
  69. package/package.json +7 -3
  70. package/dist/ablation.d.ts.map +0 -1
  71. package/dist/ablation.js.map +0 -1
  72. package/dist/ambient.d.ts.map +0 -1
  73. package/dist/ambient.js.map +0 -1
  74. package/dist/api.d.ts.map +0 -1
  75. package/dist/api.js.map +0 -1
  76. package/dist/audit-prune.d.ts.map +0 -1
  77. package/dist/audit-prune.js.map +0 -1
  78. package/dist/audit.d.ts.map +0 -1
  79. package/dist/audit.js.map +0 -1
  80. package/dist/auth.d.ts.map +0 -1
  81. package/dist/auth.js.map +0 -1
  82. package/dist/autolearn.d.ts.map +0 -1
  83. package/dist/autolearn.js.map +0 -1
  84. package/dist/availability.d.ts.map +0 -1
  85. package/dist/availability.js.map +0 -1
  86. package/dist/benchmarks/e1.3/incident-recall-eval.js +0 -78
  87. package/dist/benchmarks/e1.3/incident-recall-eval.js.map +0 -1
  88. package/dist/benchmarks/e1.3/slack-1000-event-smoke.js +0 -103
  89. package/dist/benchmarks/e1.3/slack-1000-event-smoke.js.map +0 -1
  90. package/dist/capture.d.ts.map +0 -1
  91. package/dist/capture.js.map +0 -1
  92. package/dist/card-detail.d.ts.map +0 -1
  93. package/dist/card-detail.js.map +0 -1
  94. package/dist/card.d.ts.map +0 -1
  95. package/dist/card.js.map +0 -1
  96. package/dist/cli.d.ts.map +0 -1
  97. package/dist/cli.js.map +0 -1
  98. package/dist/client.d.ts.map +0 -1
  99. package/dist/client.js.map +0 -1
  100. package/dist/compare.d.ts.map +0 -1
  101. package/dist/compare.js.map +0 -1
  102. package/dist/config.d.ts.map +0 -1
  103. package/dist/config.js.map +0 -1
  104. package/dist/connectors/github/backfill.d.ts.map +0 -1
  105. package/dist/connectors/github/backfill.js.map +0 -1
  106. package/dist/connectors/github/cli-impl.d.ts.map +0 -1
  107. package/dist/connectors/github/cli-impl.js.map +0 -1
  108. package/dist/connectors/github/deletion.d.ts.map +0 -1
  109. package/dist/connectors/github/deletion.js.map +0 -1
  110. package/dist/connectors/github/dlq.d.ts.map +0 -1
  111. package/dist/connectors/github/dlq.js.map +0 -1
  112. package/dist/connectors/github/idempotency.d.ts.map +0 -1
  113. package/dist/connectors/github/idempotency.js.map +0 -1
  114. package/dist/connectors/github/ingest.d.ts.map +0 -1
  115. package/dist/connectors/github/ingest.js.map +0 -1
  116. package/dist/connectors/github/octokit-client.d.ts.map +0 -1
  117. package/dist/connectors/github/octokit-client.js.map +0 -1
  118. package/dist/connectors/github/ratelimit.d.ts.map +0 -1
  119. package/dist/connectors/github/ratelimit.js.map +0 -1
  120. package/dist/connectors/github/scope.d.ts.map +0 -1
  121. package/dist/connectors/github/scope.js.map +0 -1
  122. package/dist/connectors/github/signature.d.ts.map +0 -1
  123. package/dist/connectors/github/signature.js.map +0 -1
  124. package/dist/connectors/github/tenant-routing.d.ts.map +0 -1
  125. package/dist/connectors/github/tenant-routing.js.map +0 -1
  126. package/dist/connectors/github/transform.d.ts.map +0 -1
  127. package/dist/connectors/github/transform.js.map +0 -1
  128. package/dist/connectors/github/types.d.ts.map +0 -1
  129. package/dist/connectors/github/types.js.map +0 -1
  130. package/dist/connectors/slack/backfill.d.ts.map +0 -1
  131. package/dist/connectors/slack/backfill.js.map +0 -1
  132. package/dist/connectors/slack/deletion.d.ts.map +0 -1
  133. package/dist/connectors/slack/deletion.js.map +0 -1
  134. package/dist/connectors/slack/dlq.d.ts.map +0 -1
  135. package/dist/connectors/slack/dlq.js.map +0 -1
  136. package/dist/connectors/slack/idempotency.d.ts.map +0 -1
  137. package/dist/connectors/slack/idempotency.js.map +0 -1
  138. package/dist/connectors/slack/ingest.d.ts.map +0 -1
  139. package/dist/connectors/slack/ingest.js.map +0 -1
  140. package/dist/connectors/slack/ratelimit.d.ts.map +0 -1
  141. package/dist/connectors/slack/ratelimit.js.map +0 -1
  142. package/dist/connectors/slack/scope.d.ts.map +0 -1
  143. package/dist/connectors/slack/scope.js.map +0 -1
  144. package/dist/connectors/slack/signature.d.ts.map +0 -1
  145. package/dist/connectors/slack/signature.js.map +0 -1
  146. package/dist/connectors/slack/tenant-routing.d.ts.map +0 -1
  147. package/dist/connectors/slack/tenant-routing.js.map +0 -1
  148. package/dist/connectors/slack/transform.d.ts.map +0 -1
  149. package/dist/connectors/slack/transform.js.map +0 -1
  150. package/dist/connectors/slack/types.d.ts.map +0 -1
  151. package/dist/connectors/slack/types.js.map +0 -1
  152. package/dist/connectors/slack/web-client.d.ts.map +0 -1
  153. package/dist/connectors/slack/web-client.js.map +0 -1
  154. package/dist/connectors/slack/workspaces.d.ts.map +0 -1
  155. package/dist/connectors/slack/workspaces.js.map +0 -1
  156. package/dist/consolidate.d.ts.map +0 -1
  157. package/dist/consolidate.js.map +0 -1
  158. package/dist/correction-latency.d.ts.map +0 -1
  159. package/dist/correction-latency.js.map +0 -1
  160. package/dist/customer-notes.d.ts.map +0 -1
  161. package/dist/customer-notes.js.map +0 -1
  162. package/dist/dag.d.ts.map +0 -1
  163. package/dist/dag.js.map +0 -1
  164. package/dist/dashboard.d.ts.map +0 -1
  165. package/dist/dashboard.js.map +0 -1
  166. package/dist/db.d.ts.map +0 -1
  167. package/dist/db.js.map +0 -1
  168. package/dist/decisions.d.ts.map +0 -1
  169. package/dist/decisions.js.map +0 -1
  170. package/dist/dedupe.d.ts.map +0 -1
  171. package/dist/dedupe.js.map +0 -1
  172. package/dist/embedding-provider.d.ts.map +0 -1
  173. package/dist/embedding-provider.js.map +0 -1
  174. package/dist/embeddings.d.ts.map +0 -1
  175. package/dist/embeddings.js.map +0 -1
  176. package/dist/eval-suite.d.ts.map +0 -1
  177. package/dist/eval-suite.js.map +0 -1
  178. package/dist/eval.d.ts.map +0 -1
  179. package/dist/eval.js.map +0 -1
  180. package/dist/extensions/openclaw-plugin/index.js.map +0 -1
  181. package/dist/extract.d.ts.map +0 -1
  182. package/dist/extract.js.map +0 -1
  183. package/dist/forward-claim-detector.d.ts.map +0 -1
  184. package/dist/forward-claim-detector.js.map +0 -1
  185. package/dist/goals.d.ts.map +0 -1
  186. package/dist/goals.js.map +0 -1
  187. package/dist/graph-extract.d.ts.map +0 -1
  188. package/dist/graph-extract.js.map +0 -1
  189. package/dist/graph-recall.d.ts.map +0 -1
  190. package/dist/graph-recall.js.map +0 -1
  191. package/dist/graph-stream.d.ts.map +0 -1
  192. package/dist/graph-stream.js.map +0 -1
  193. package/dist/graph-view.d.ts.map +0 -1
  194. package/dist/graph-view.js.map +0 -1
  195. package/dist/graph.d.ts.map +0 -1
  196. package/dist/graph.js.map +0 -1
  197. package/dist/handoff.d.ts.map +0 -1
  198. package/dist/handoff.js.map +0 -1
  199. package/dist/hooks.d.ts.map +0 -1
  200. package/dist/hooks.js.map +0 -1
  201. package/dist/importers.d.ts.map +0 -1
  202. package/dist/importers.js.map +0 -1
  203. package/dist/incidents.d.ts.map +0 -1
  204. package/dist/incidents.js.map +0 -1
  205. package/dist/index.d.ts.map +0 -1
  206. package/dist/index.js.map +0 -1
  207. package/dist/invalidation.d.ts.map +0 -1
  208. package/dist/invalidation.js.map +0 -1
  209. package/dist/mcp/framing.d.ts.map +0 -1
  210. package/dist/mcp/framing.js.map +0 -1
  211. package/dist/mcp/server.d.ts.map +0 -1
  212. package/dist/mcp/server.js.map +0 -1
  213. package/dist/memory-value-weights.d.ts.map +0 -1
  214. package/dist/memory-value-weights.js.map +0 -1
  215. package/dist/memory-value.d.ts.map +0 -1
  216. package/dist/memory-value.js.map +0 -1
  217. package/dist/memory.d.ts.map +0 -1
  218. package/dist/memory.js.map +0 -1
  219. package/dist/multihop.d.ts.map +0 -1
  220. package/dist/multihop.js.map +0 -1
  221. package/dist/owner-validation.d.ts.map +0 -1
  222. package/dist/owner-validation.js.map +0 -1
  223. package/dist/path-context.d.ts.map +0 -1
  224. package/dist/path-context.js.map +0 -1
  225. package/dist/physics-config.d.ts.map +0 -1
  226. package/dist/physics-config.js.map +0 -1
  227. package/dist/physics-state.d.ts.map +0 -1
  228. package/dist/physics-state.js.map +0 -1
  229. package/dist/physics.d.ts.map +0 -1
  230. package/dist/physics.js.map +0 -1
  231. package/dist/policies.d.ts.map +0 -1
  232. package/dist/policies.js.map +0 -1
  233. package/dist/postinstall.d.ts.map +0 -1
  234. package/dist/postinstall.js.map +0 -1
  235. package/dist/predictions.d.ts.map +0 -1
  236. package/dist/predictions.js.map +0 -1
  237. package/dist/processes.d.ts.map +0 -1
  238. package/dist/processes.js.map +0 -1
  239. package/dist/project-briefs.d.ts.map +0 -1
  240. package/dist/project-briefs.js.map +0 -1
  241. package/dist/project-identity.d.ts.map +0 -1
  242. package/dist/project-identity.js.map +0 -1
  243. package/dist/provenance-coverage.d.ts.map +0 -1
  244. package/dist/provenance-coverage.js.map +0 -1
  245. package/dist/rate-limit.d.ts.map +0 -1
  246. package/dist/rate-limit.js.map +0 -1
  247. package/dist/raw-archive-mirror-cleanup.d.ts.map +0 -1
  248. package/dist/raw-archive-mirror-cleanup.js.map +0 -1
  249. package/dist/raw-archive.d.ts.map +0 -1
  250. package/dist/raw-archive.js.map +0 -1
  251. package/dist/recall-history.d.ts.map +0 -1
  252. package/dist/recall-history.js.map +0 -1
  253. package/dist/recall-scope.d.ts.map +0 -1
  254. package/dist/recall-scope.js.map +0 -1
  255. package/dist/recall-trace.d.ts.map +0 -1
  256. package/dist/recall-trace.js.map +0 -1
  257. package/dist/refine-llm.d.ts.map +0 -1
  258. package/dist/refine-llm.js.map +0 -1
  259. package/dist/reject-flow.d.ts.map +0 -1
  260. package/dist/reject-flow.js.map +0 -1
  261. package/dist/rejection.d.ts.map +0 -1
  262. package/dist/rejection.js.map +0 -1
  263. package/dist/replay.d.ts.map +0 -1
  264. package/dist/replay.js.map +0 -1
  265. package/dist/rerankers/cross-encoder.d.ts.map +0 -1
  266. package/dist/rerankers/cross-encoder.js.map +0 -1
  267. package/dist/rerankers/index.d.ts.map +0 -1
  268. package/dist/rerankers/index.js.map +0 -1
  269. package/dist/rerankers/jev.d.ts.map +0 -1
  270. package/dist/rerankers/jev.js.map +0 -1
  271. package/dist/rerankers/llm.d.ts.map +0 -1
  272. package/dist/rerankers/llm.js.map +0 -1
  273. package/dist/rerankers/types.d.ts.map +0 -1
  274. package/dist/rerankers/types.js.map +0 -1
  275. package/dist/rrf.d.ts.map +0 -1
  276. package/dist/rrf.js.map +0 -1
  277. package/dist/salience.d.ts.map +0 -1
  278. package/dist/salience.js.map +0 -1
  279. package/dist/scheduler.d.ts.map +0 -1
  280. package/dist/scheduler.js.map +0 -1
  281. package/dist/scope.d.ts.map +0 -1
  282. package/dist/scope.js.map +0 -1
  283. package/dist/search.d.ts.map +0 -1
  284. package/dist/search.js.map +0 -1
  285. package/dist/secret-detect.d.ts.map +0 -1
  286. package/dist/secret-detect.js.map +0 -1
  287. package/dist/server-detect.d.ts.map +0 -1
  288. package/dist/server-detect.js.map +0 -1
  289. package/dist/server.d.ts.map +0 -1
  290. package/dist/server.js.map +0 -1
  291. package/dist/shared.d.ts.map +0 -1
  292. package/dist/shared.js.map +0 -1
  293. package/dist/skills.d.ts.map +0 -1
  294. package/dist/skills.js.map +0 -1
  295. package/dist/sleep-redact.d.ts +0 -58
  296. package/dist/sleep-redact.d.ts.map +0 -1
  297. package/dist/sleep-redact.js +0 -80
  298. package/dist/sleep-redact.js.map +0 -1
  299. package/dist/src/ablation.js +0 -138
  300. package/dist/src/ablation.js.map +0 -1
  301. package/dist/src/ambient.js +0 -148
  302. package/dist/src/ambient.js.map +0 -1
  303. package/dist/src/api.js +0 -2109
  304. package/dist/src/api.js.map +0 -1
  305. package/dist/src/audit-prune.js +0 -109
  306. package/dist/src/audit-prune.js.map +0 -1
  307. package/dist/src/audit.js +0 -213
  308. package/dist/src/audit.js.map +0 -1
  309. package/dist/src/auth.js +0 -97
  310. package/dist/src/auth.js.map +0 -1
  311. package/dist/src/autolearn.js +0 -174
  312. package/dist/src/autolearn.js.map +0 -1
  313. package/dist/src/availability.js +0 -94
  314. package/dist/src/availability.js.map +0 -1
  315. package/dist/src/capture.js +0 -1346
  316. package/dist/src/capture.js.map +0 -1
  317. package/dist/src/card-detail.js +0 -15
  318. package/dist/src/card-detail.js.map +0 -1
  319. package/dist/src/card.js +0 -19
  320. package/dist/src/card.js.map +0 -1
  321. package/dist/src/cli.js +0 -9387
  322. package/dist/src/cli.js.map +0 -1
  323. package/dist/src/client.js +0 -237
  324. package/dist/src/client.js.map +0 -1
  325. package/dist/src/compare.js +0 -122
  326. package/dist/src/compare.js.map +0 -1
  327. package/dist/src/config.js +0 -135
  328. package/dist/src/config.js.map +0 -1
  329. package/dist/src/connectors/github/backfill.js +0 -281
  330. package/dist/src/connectors/github/backfill.js.map +0 -1
  331. package/dist/src/connectors/github/cli-impl.js +0 -234
  332. package/dist/src/connectors/github/cli-impl.js.map +0 -1
  333. package/dist/src/connectors/github/deletion.js +0 -85
  334. package/dist/src/connectors/github/deletion.js.map +0 -1
  335. package/dist/src/connectors/github/dlq.js +0 -190
  336. package/dist/src/connectors/github/dlq.js.map +0 -1
  337. package/dist/src/connectors/github/idempotency.js +0 -27
  338. package/dist/src/connectors/github/idempotency.js.map +0 -1
  339. package/dist/src/connectors/github/ingest.js +0 -156
  340. package/dist/src/connectors/github/ingest.js.map +0 -1
  341. package/dist/src/connectors/github/octokit-client.js +0 -70
  342. package/dist/src/connectors/github/octokit-client.js.map +0 -1
  343. package/dist/src/connectors/github/ratelimit.js +0 -31
  344. package/dist/src/connectors/github/ratelimit.js.map +0 -1
  345. package/dist/src/connectors/github/scope.js +0 -13
  346. package/dist/src/connectors/github/scope.js.map +0 -1
  347. package/dist/src/connectors/github/signature.js +0 -81
  348. package/dist/src/connectors/github/signature.js.map +0 -1
  349. package/dist/src/connectors/github/tenant-routing.js +0 -69
  350. package/dist/src/connectors/github/tenant-routing.js.map +0 -1
  351. package/dist/src/connectors/github/transform.js +0 -103
  352. package/dist/src/connectors/github/transform.js.map +0 -1
  353. package/dist/src/connectors/github/types.js +0 -100
  354. package/dist/src/connectors/github/types.js.map +0 -1
  355. package/dist/src/connectors/slack/backfill.js +0 -78
  356. package/dist/src/connectors/slack/backfill.js.map +0 -1
  357. package/dist/src/connectors/slack/deletion.js +0 -59
  358. package/dist/src/connectors/slack/deletion.js.map +0 -1
  359. package/dist/src/connectors/slack/dlq.js +0 -224
  360. package/dist/src/connectors/slack/dlq.js.map +0 -1
  361. package/dist/src/connectors/slack/idempotency.js +0 -31
  362. package/dist/src/connectors/slack/idempotency.js.map +0 -1
  363. package/dist/src/connectors/slack/ingest.js +0 -109
  364. package/dist/src/connectors/slack/ingest.js.map +0 -1
  365. package/dist/src/connectors/slack/ratelimit.js +0 -18
  366. package/dist/src/connectors/slack/ratelimit.js.map +0 -1
  367. package/dist/src/connectors/slack/scope.js +0 -13
  368. package/dist/src/connectors/slack/scope.js.map +0 -1
  369. package/dist/src/connectors/slack/signature.js +0 -27
  370. package/dist/src/connectors/slack/signature.js.map +0 -1
  371. package/dist/src/connectors/slack/tenant-routing.js +0 -41
  372. package/dist/src/connectors/slack/tenant-routing.js.map +0 -1
  373. package/dist/src/connectors/slack/transform.js +0 -47
  374. package/dist/src/connectors/slack/transform.js.map +0 -1
  375. package/dist/src/connectors/slack/types.js +0 -35
  376. package/dist/src/connectors/slack/types.js.map +0 -1
  377. package/dist/src/connectors/slack/web-client.js +0 -43
  378. package/dist/src/connectors/slack/web-client.js.map +0 -1
  379. package/dist/src/connectors/slack/workspaces.js +0 -62
  380. package/dist/src/connectors/slack/workspaces.js.map +0 -1
  381. package/dist/src/consolidate.js +0 -978
  382. package/dist/src/consolidate.js.map +0 -1
  383. package/dist/src/correction-latency.js +0 -74
  384. package/dist/src/correction-latency.js.map +0 -1
  385. package/dist/src/customer-notes.js +0 -325
  386. package/dist/src/customer-notes.js.map +0 -1
  387. package/dist/src/dag.js +0 -352
  388. package/dist/src/dag.js.map +0 -1
  389. package/dist/src/dashboard.js +0 -258
  390. package/dist/src/dashboard.js.map +0 -1
  391. package/dist/src/db.js +0 -2731
  392. package/dist/src/db.js.map +0 -1
  393. package/dist/src/decisions.js +0 -304
  394. package/dist/src/decisions.js.map +0 -1
  395. package/dist/src/dedupe.js +0 -141
  396. package/dist/src/dedupe.js.map +0 -1
  397. package/dist/src/embedding-provider.js +0 -314
  398. package/dist/src/embedding-provider.js.map +0 -1
  399. package/dist/src/embeddings.js +0 -543
  400. package/dist/src/embeddings.js.map +0 -1
  401. package/dist/src/eval-suite.js +0 -294
  402. package/dist/src/eval-suite.js.map +0 -1
  403. package/dist/src/eval.js +0 -187
  404. package/dist/src/eval.js.map +0 -1
  405. package/dist/src/extract.js +0 -117
  406. package/dist/src/extract.js.map +0 -1
  407. package/dist/src/forward-claim-detector.js +0 -117
  408. package/dist/src/forward-claim-detector.js.map +0 -1
  409. package/dist/src/goals.js +0 -399
  410. package/dist/src/goals.js.map +0 -1
  411. package/dist/src/graph-extract.js +0 -314
  412. package/dist/src/graph-extract.js.map +0 -1
  413. package/dist/src/graph-recall.js +0 -277
  414. package/dist/src/graph-recall.js.map +0 -1
  415. package/dist/src/graph-stream.js +0 -176
  416. package/dist/src/graph-stream.js.map +0 -1
  417. package/dist/src/graph-view.js +0 -310
  418. package/dist/src/graph-view.js.map +0 -1
  419. package/dist/src/graph.js +0 -762
  420. package/dist/src/graph.js.map +0 -1
  421. package/dist/src/handoff.js +0 -65
  422. package/dist/src/handoff.js.map +0 -1
  423. package/dist/src/hooks.js +0 -926
  424. package/dist/src/hooks.js.map +0 -1
  425. package/dist/src/importers.js +0 -881
  426. package/dist/src/importers.js.map +0 -1
  427. package/dist/src/incidents.js +0 -336
  428. package/dist/src/incidents.js.map +0 -1
  429. package/dist/src/index.js +0 -32
  430. package/dist/src/index.js.map +0 -1
  431. package/dist/src/invalidation.js +0 -129
  432. package/dist/src/invalidation.js.map +0 -1
  433. package/dist/src/mcp/framing.js +0 -45
  434. package/dist/src/mcp/framing.js.map +0 -1
  435. package/dist/src/mcp/server.js +0 -1298
  436. package/dist/src/mcp/server.js.map +0 -1
  437. package/dist/src/memory-value-weights.js +0 -31
  438. package/dist/src/memory-value-weights.js.map +0 -1
  439. package/dist/src/memory-value.js +0 -261
  440. package/dist/src/memory-value.js.map +0 -1
  441. package/dist/src/memory.js +0 -425
  442. package/dist/src/memory.js.map +0 -1
  443. package/dist/src/multihop.js +0 -35
  444. package/dist/src/multihop.js.map +0 -1
  445. package/dist/src/owner-validation.js +0 -56
  446. package/dist/src/owner-validation.js.map +0 -1
  447. package/dist/src/path-context.js +0 -48
  448. package/dist/src/path-context.js.map +0 -1
  449. package/dist/src/physics-config.js +0 -26
  450. package/dist/src/physics-config.js.map +0 -1
  451. package/dist/src/physics-state.js +0 -172
  452. package/dist/src/physics-state.js.map +0 -1
  453. package/dist/src/physics.js +0 -378
  454. package/dist/src/physics.js.map +0 -1
  455. package/dist/src/policies.js +0 -414
  456. package/dist/src/policies.js.map +0 -1
  457. package/dist/src/postinstall.js +0 -101
  458. package/dist/src/postinstall.js.map +0 -1
  459. package/dist/src/predictions.js +0 -629
  460. package/dist/src/predictions.js.map +0 -1
  461. package/dist/src/processes.js +0 -349
  462. package/dist/src/processes.js.map +0 -1
  463. package/dist/src/project-briefs.js +0 -492
  464. package/dist/src/project-briefs.js.map +0 -1
  465. package/dist/src/project-identity.js +0 -200
  466. package/dist/src/project-identity.js.map +0 -1
  467. package/dist/src/provenance-coverage.js +0 -23
  468. package/dist/src/provenance-coverage.js.map +0 -1
  469. package/dist/src/rate-limit.js +0 -60
  470. package/dist/src/rate-limit.js.map +0 -1
  471. package/dist/src/raw-archive-mirror-cleanup.js +0 -55
  472. package/dist/src/raw-archive-mirror-cleanup.js.map +0 -1
  473. package/dist/src/raw-archive.js +0 -91
  474. package/dist/src/raw-archive.js.map +0 -1
  475. package/dist/src/recall-history.js +0 -235
  476. package/dist/src/recall-history.js.map +0 -1
  477. package/dist/src/recall-scope.js +0 -89
  478. package/dist/src/recall-scope.js.map +0 -1
  479. package/dist/src/recall-trace.js +0 -186
  480. package/dist/src/recall-trace.js.map +0 -1
  481. package/dist/src/refine-llm.js +0 -156
  482. package/dist/src/refine-llm.js.map +0 -1
  483. package/dist/src/reject-flow.js +0 -209
  484. package/dist/src/reject-flow.js.map +0 -1
  485. package/dist/src/rejection.js +0 -160
  486. package/dist/src/rejection.js.map +0 -1
  487. package/dist/src/replay.js +0 -122
  488. package/dist/src/replay.js.map +0 -1
  489. package/dist/src/rerankers/cross-encoder.js +0 -137
  490. package/dist/src/rerankers/cross-encoder.js.map +0 -1
  491. package/dist/src/rerankers/index.js +0 -20
  492. package/dist/src/rerankers/index.js.map +0 -1
  493. package/dist/src/rerankers/jev.js +0 -119
  494. package/dist/src/rerankers/jev.js.map +0 -1
  495. package/dist/src/rerankers/llm.js +0 -80
  496. package/dist/src/rerankers/llm.js.map +0 -1
  497. package/dist/src/rerankers/types.js +0 -2
  498. package/dist/src/rerankers/types.js.map +0 -1
  499. package/dist/src/rrf.js +0 -61
  500. package/dist/src/rrf.js.map +0 -1
  501. package/dist/src/salience.js +0 -74
  502. package/dist/src/salience.js.map +0 -1
  503. package/dist/src/scheduler.js +0 -77
  504. package/dist/src/scheduler.js.map +0 -1
  505. package/dist/src/scope.js +0 -35
  506. package/dist/src/scope.js.map +0 -1
  507. package/dist/src/search.js +0 -1003
  508. package/dist/src/search.js.map +0 -1
  509. package/dist/src/secret-detect.js +0 -95
  510. package/dist/src/secret-detect.js.map +0 -1
  511. package/dist/src/server-detect.js +0 -231
  512. package/dist/src/server-detect.js.map +0 -1
  513. package/dist/src/server.js +0 -3255
  514. package/dist/src/server.js.map +0 -1
  515. package/dist/src/shared.js +0 -502
  516. package/dist/src/shared.js.map +0 -1
  517. package/dist/src/skills.js +0 -346
  518. package/dist/src/skills.js.map +0 -1
  519. package/dist/src/sleep-redact.js +0 -80
  520. package/dist/src/sleep-redact.js.map +0 -1
  521. package/dist/src/sso.js +0 -22
  522. package/dist/src/sso.js.map +0 -1
  523. package/dist/src/stdin.js +0 -41
  524. package/dist/src/stdin.js.map +0 -1
  525. package/dist/src/store.js +0 -3749
  526. package/dist/src/store.js.map +0 -1
  527. package/dist/src/tenant.js +0 -17
  528. package/dist/src/tenant.js.map +0 -1
  529. package/dist/src/trace.js +0 -72
  530. package/dist/src/trace.js.map +0 -1
  531. package/dist/src/version.js +0 -40
  532. package/dist/src/version.js.map +0 -1
  533. package/dist/src/working-memory.js +0 -157
  534. package/dist/src/working-memory.js.map +0 -1
  535. package/dist/src/yaml.js +0 -107
  536. package/dist/src/yaml.js.map +0 -1
  537. package/dist/sso.d.ts +0 -13
  538. package/dist/sso.d.ts.map +0 -1
  539. package/dist/sso.js +0 -22
  540. package/dist/sso.js.map +0 -1
  541. package/dist/stdin.d.ts.map +0 -1
  542. package/dist/stdin.js.map +0 -1
  543. package/dist/store.d.ts.map +0 -1
  544. package/dist/store.js.map +0 -1
  545. package/dist/tenant.d.ts.map +0 -1
  546. package/dist/tenant.js.map +0 -1
  547. package/dist/trace.d.ts.map +0 -1
  548. package/dist/trace.js.map +0 -1
  549. package/dist/version.d.ts.map +0 -1
  550. package/dist/version.js.map +0 -1
  551. package/dist/working-memory.d.ts.map +0 -1
  552. package/dist/working-memory.js.map +0 -1
  553. package/dist/yaml.d.ts.map +0 -1
  554. package/dist/yaml.js.map +0 -1
package/dist/client.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * HTTP client wrapper for `hippo serve`.
3
3
  *
4
- * Mirrors the function signatures in src/api.ts so the CLI can route through
5
- * either path uniformly. Each function takes (serverUrl, apiKey?, ...) and
6
- * returns the same shape that api.ts would.
4
+ * Only the writes the CLI routes (remember, forget, archive, promote), which are
5
+ * also all HIPPO_REQUIRE_SERVER covers; every other command opens the store
6
+ * directly. Each call returns the same shape that api.ts would.
7
7
  *
8
8
  * Errors from the server (4xx/5xx) are mapped back into thrown Errors with
9
9
  * the server's `error` message preserved verbatim so existing CLI handlers
@@ -13,9 +13,7 @@
13
13
  * Network errors (ECONNREFUSED on a stale pidfile, etc.) propagate as the
14
14
  * native fetch failure so the caller can detect them and self-heal.
15
15
  */
16
- import type { AuditEvent } from './audit.js';
17
- import type { ApiKeyListItem } from './auth.js';
18
- import type { RememberOpts, RememberResult, RecallOpts, RecallResult, AuthCreateOpts, AuthCreateResult, AuditListOpts } from './api.js';
16
+ import type { RememberOpts, RememberResult } from './api.js';
19
17
  /** An error the server answered with, not one the transport raised. The
20
18
  * refused-connection classifier sniffs message text, and a server message
21
19
  * quotes the caller's own id or content back verbatim. */
@@ -24,7 +22,6 @@ export declare class HttpResponseError extends Error {
24
22
  constructor(message: string, status: number);
25
23
  }
26
24
  export declare function remember(serverUrl: string, apiKey: string | undefined, opts: RememberOpts): Promise<RememberResult>;
27
- export declare function recall(serverUrl: string, apiKey: string | undefined, opts: RecallOpts): Promise<RecallResult>;
28
25
  export declare function forget(serverUrl: string, apiKey: string | undefined, id: string): Promise<{
29
26
  ok: true;
30
27
  id: string;
@@ -34,24 +31,10 @@ export declare function promote(serverUrl: string, apiKey: string | undefined, i
34
31
  sourceId: string;
35
32
  globalId: string;
36
33
  }>;
37
- export declare function supersede(serverUrl: string, apiKey: string | undefined, oldId: string, newContent: string): Promise<{
38
- ok: true;
39
- oldId: string;
40
- newId: string;
41
- }>;
42
34
  export declare function archiveRaw(serverUrl: string, apiKey: string | undefined, id: string, reason: string): Promise<{
43
35
  ok: true;
44
36
  archivedAt: string;
45
37
  }>;
46
- export declare function authCreate(serverUrl: string, apiKey: string | undefined, opts: AuthCreateOpts): Promise<AuthCreateResult>;
47
- export declare function authList(serverUrl: string, apiKey: string | undefined, opts: {
48
- active: boolean;
49
- }): Promise<ApiKeyListItem[]>;
50
- export declare function authRevoke(serverUrl: string, apiKey: string | undefined, keyId: string): Promise<{
51
- ok: true;
52
- revokedAt: string;
53
- }>;
54
- export declare function auditList(serverUrl: string, apiKey: string | undefined, opts: AuditListOpts): Promise<AuditEvent[]>;
55
38
  /**
56
39
  * How far a request got before the transport failed.
57
40
  *
package/dist/client.js CHANGED
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * HTTP client wrapper for `hippo serve`.
3
3
  *
4
- * Mirrors the function signatures in src/api.ts so the CLI can route through
5
- * either path uniformly. Each function takes (serverUrl, apiKey?, ...) and
6
- * returns the same shape that api.ts would.
4
+ * Only the writes the CLI routes (remember, forget, archive, promote), which are
5
+ * also all HIPPO_REQUIRE_SERVER covers; every other command opens the store
6
+ * directly. Each call returns the same shape that api.ts would.
7
7
  *
8
8
  * Errors from the server (4xx/5xx) are mapped back into thrown Errors with
9
9
  * the server's `error` message preserved verbatim so existing CLI handlers
@@ -65,52 +65,6 @@ export async function remember(serverUrl, apiKey, opts) {
65
65
  const result = await res.json();
66
66
  return result;
67
67
  }
68
- export async function recall(serverUrl, apiKey, opts) {
69
- const params = new URLSearchParams();
70
- params.set('q', opts.query);
71
- if (opts.limit !== undefined)
72
- params.set('limit', String(opts.limit));
73
- if (opts.mode !== undefined)
74
- params.set('mode', opts.mode);
75
- if (opts.scope !== undefined && opts.scope !== '')
76
- params.set('scope', opts.scope);
77
- if (opts.includeContinuity)
78
- params.set('include_continuity', '1');
79
- // v1.7.2 T4 — RecallOpts parity sweep. Pre-v1.7.2 the thin-client only
80
- // serialized the five fields above; the HTTP server already accepted
81
- // fresh_tail_count, fresh_tail_session_id, summarize_overflow. Adding
82
- // scorer_window alone would have perpetuated the drift. Serializing all
83
- // four together. Validation lives in api.recall(); transport just
84
- // forwards.
85
- if (opts.freshTailCount !== undefined)
86
- params.set('fresh_tail_count', String(opts.freshTailCount));
87
- if (opts.freshTailSessionId !== undefined && opts.freshTailSessionId !== '')
88
- params.set('fresh_tail_session_id', opts.freshTailSessionId);
89
- if (opts.summarizeOverflow !== undefined)
90
- params.set('summarize_overflow', opts.summarizeOverflow ? '1' : '0');
91
- if (opts.scorerWindow !== undefined)
92
- params.set('scorer_window', String(opts.scorerWindow));
93
- // v1.7.4 sessionId for dlPFC goal-stack boost + v0.33 / J1 sessionId
94
- // for per-session anchoring ring. Pre-v0.33 the thin-client silently
95
- // dropped opts.sessionId, so HTTP-routed SDK callers got no goal
96
- // boost and (post-J1) the HTTP ring logged recall_anchor_skipped_no_session.
97
- // Codex round-3 P2 catch: align serialization with the RecallOpts type.
98
- // Note: opts.recallHistory is intentionally NOT serialized — it is an
99
- // in-process snapshot only; the HTTP server maintains its own ring per
100
- // sessionId, so passing recallHistory over the wire would be a no-op
101
- // at best and a tenant-leak risk at worst.
102
- if (opts.sessionId !== undefined && opts.sessionId !== '') {
103
- params.set('session_id', opts.sessionId);
104
- }
105
- const res = await fetch(`${serverUrl}/v1/memories?${params.toString()}`, {
106
- method: 'GET',
107
- headers: buildHeaders(apiKey, false),
108
- });
109
- if (!res.ok)
110
- await throwForStatus(res);
111
- const result = await res.json();
112
- return result;
113
- }
114
68
  export async function forget(serverUrl, apiKey, id) {
115
69
  const res = await fetch(`${serverUrl}/v1/memories/${encodeURIComponent(id)}`, {
116
70
  method: 'DELETE',
@@ -131,17 +85,6 @@ export async function promote(serverUrl, apiKey, id) {
131
85
  const result = await res.json();
132
86
  return result;
133
87
  }
134
- export async function supersede(serverUrl, apiKey, oldId, newContent) {
135
- const res = await fetch(`${serverUrl}/v1/memories/${encodeURIComponent(oldId)}/supersede`, {
136
- method: 'POST',
137
- headers: buildHeaders(apiKey, true),
138
- body: JSON.stringify({ content: newContent }),
139
- });
140
- if (!res.ok)
141
- await throwForStatus(res);
142
- const result = await res.json();
143
- return result;
144
- }
145
88
  export async function archiveRaw(serverUrl, apiKey, id, reason) {
146
89
  const res = await fetch(`${serverUrl}/v1/memories/${encodeURIComponent(id)}/archive`, {
147
90
  method: 'POST',
@@ -153,58 +96,6 @@ export async function archiveRaw(serverUrl, apiKey, id, reason) {
153
96
  const result = await res.json();
154
97
  return result;
155
98
  }
156
- export async function authCreate(serverUrl, apiKey, opts) {
157
- const res = await fetch(`${serverUrl}/v1/auth/keys`, {
158
- method: 'POST',
159
- headers: buildHeaders(apiKey, true),
160
- body: JSON.stringify(opts),
161
- });
162
- if (!res.ok)
163
- await throwForStatus(res);
164
- const result = await res.json();
165
- return result;
166
- }
167
- export async function authList(serverUrl, apiKey, opts) {
168
- const params = new URLSearchParams();
169
- params.set('active', opts.active ? 'true' : 'false');
170
- const res = await fetch(`${serverUrl}/v1/auth/keys?${params.toString()}`, {
171
- method: 'GET',
172
- headers: buildHeaders(apiKey, false),
173
- });
174
- if (!res.ok)
175
- await throwForStatus(res);
176
- const result = await res.json();
177
- return result;
178
- }
179
- export async function authRevoke(serverUrl, apiKey, keyId) {
180
- const res = await fetch(`${serverUrl}/v1/auth/keys/${encodeURIComponent(keyId)}`, {
181
- method: 'DELETE',
182
- headers: buildHeaders(apiKey, false),
183
- });
184
- if (!res.ok)
185
- await throwForStatus(res);
186
- const result = await res.json();
187
- return result;
188
- }
189
- export async function auditList(serverUrl, apiKey, opts) {
190
- const params = new URLSearchParams();
191
- if (opts.op !== undefined)
192
- params.set('op', opts.op);
193
- if (opts.since !== undefined)
194
- params.set('since', opts.since);
195
- if (opts.limit !== undefined)
196
- params.set('limit', String(opts.limit));
197
- const qs = params.toString();
198
- const url = qs.length > 0 ? `${serverUrl}/v1/audit?${qs}` : `${serverUrl}/v1/audit`;
199
- const res = await fetch(url, {
200
- method: 'GET',
201
- headers: buildHeaders(apiKey, false),
202
- });
203
- if (!res.ok)
204
- await throwForStatus(res);
205
- const result = await res.json();
206
- return result;
207
- }
208
99
  function hasObjectCause(e) {
209
100
  // Node's fs/net system errors (ECONNREFUSED, ECONNRESET) attach the syscall
210
101
  // code on a non-null object `cause`; the strict-equality checks below
package/dist/config.d.ts CHANGED
@@ -62,6 +62,13 @@ export interface HippoConfig {
62
62
  pinnedInject: {
63
63
  enabled: boolean;
64
64
  budget: number;
65
+ /** Skip a block identical to the one already injected this session
66
+ * (ROADMAP TE2). Default true. Needs a session id from the hook payload. */
67
+ skipUnchanged: boolean;
68
+ /** Resend an unchanged block after this many consecutive skips, so long
69
+ * sessions still see pinned rules near the latest turn. Default 10; 0
70
+ * never resends an unchanged block. */
71
+ refreshTurns: number;
65
72
  };
66
73
  /** Memory scope isolation (v39): when true (default), ambient context
67
74
  * (`hippo context`, the UserPromptSubmit hook, /v1/context, MCP
@@ -96,6 +103,19 @@ export interface HippoConfig {
96
103
  memoryValue: {
97
104
  enabled: boolean;
98
105
  };
106
+ /** Dormant memories (src/dormant.ts): when enabled (the default), the
107
+ * sleep decay pass moves a memory that faded below the threshold into the
108
+ * dormant store instead of deleting it. A dormant memory leaves recall and
109
+ * context like a deleted one, but `hippo dormant restore <id>` brings it
110
+ * back and `hippo dormant forget <id>` deletes it for good. A faded memory
111
+ * the secret detector flags is always deleted, never kept dormant.
112
+ * `{"enabled": false}` restores the old delete-on-fade behaviour. */
113
+ dormant: {
114
+ enabled: boolean;
115
+ /** Days a dormant memory is kept before sleep deletes it for good.
116
+ * Default 180. 0 keeps dormant memories forever. */
117
+ retentionDays: number;
118
+ };
99
119
  }
100
120
  export declare function loadConfig(hippoRoot: string): HippoConfig;
101
121
  export declare function saveConfig(hippoRoot: string, config: HippoConfig): void;
package/dist/config.js CHANGED
@@ -4,8 +4,9 @@
4
4
  import * as fs from 'fs';
5
5
  import * as path from 'path';
6
6
  import { DEFAULT_PHYSICS_CONFIG, mergePhysicsConfig } from './physics-config.js';
7
+ import { DEFAULT_HALF_LIFE_DAYS } from './memory.js';
7
8
  const DEFAULT_CONFIG = {
8
- defaultHalfLifeDays: 7,
9
+ defaultHalfLifeDays: DEFAULT_HALF_LIFE_DAYS,
9
10
  defaultBudget: 4000,
10
11
  defaultContextBudget: 3000,
11
12
  decayBasis: 'adaptive',
@@ -44,6 +45,8 @@ const DEFAULT_CONFIG = {
44
45
  pinnedInject: {
45
46
  enabled: true,
46
47
  budget: 1500,
48
+ skipUnchanged: true,
49
+ refreshTurns: 10,
47
50
  },
48
51
  contextProjectIsolation: true,
49
52
  extraction: {
@@ -66,10 +69,17 @@ const DEFAULT_CONFIG = {
66
69
  memoryValue: {
67
70
  enabled: false,
68
71
  },
72
+ dormant: {
73
+ enabled: true,
74
+ retentionDays: 180,
75
+ },
69
76
  };
70
77
  function isMemoryValueConfig(value) {
71
78
  return typeof value === 'object' && value !== null && !Array.isArray(value);
72
79
  }
80
+ function isDormantConfig(value) {
81
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
82
+ }
73
83
  export function loadConfig(hippoRoot) {
74
84
  const configPath = path.join(hippoRoot, 'config.json');
75
85
  if (!fs.existsSync(configPath))
@@ -92,6 +102,28 @@ export function loadConfig(hippoRoot) {
92
102
  `(got ${JSON.stringify(memoryValueRaw)}) - using defaults.`);
93
103
  }
94
104
  const memoryValueOverride = memoryValueRaw !== undefined && isMemoryValueConfig(memoryValueRaw) ? memoryValueRaw : {};
105
+ // Same rule as memoryValue above: a malformed value never silently
106
+ // changes what sleep does. Anything but a real object / boolean / number
107
+ // warns and falls back to the default, which keeps faded memories.
108
+ const dormantRaw = raw.dormant;
109
+ if (dormantRaw !== undefined && !isDormantConfig(dormantRaw)) {
110
+ console.error(`Warning: config.json's "dormant" must be an object like {"enabled": false} ` +
111
+ `(got ${JSON.stringify(dormantRaw)}) - using the default (faded memories kept dormant).`);
112
+ }
113
+ const dormantOverride = dormantRaw !== undefined && isDormantConfig(dormantRaw) ? dormantRaw : {};
114
+ // Only a real boolean counts: {"enabled": "false"} is a truthy string.
115
+ let dormantEnabled = dormantOverride.enabled ?? DEFAULT_CONFIG.dormant.enabled;
116
+ if (dormantEnabled !== true && dormantEnabled !== false) {
117
+ console.error(`Warning: config.json's "dormant.enabled" must be true or false ` +
118
+ `(got ${JSON.stringify(dormantEnabled)}) - using the default (faded memories kept dormant).`);
119
+ dormantEnabled = DEFAULT_CONFIG.dormant.enabled;
120
+ }
121
+ let dormantRetentionDays = dormantOverride.retentionDays ?? DEFAULT_CONFIG.dormant.retentionDays;
122
+ if (!Number.isFinite(dormantRetentionDays) || dormantRetentionDays < 0) {
123
+ console.error(`Warning: config.json's "dormant.retentionDays" must be a number of days, 0 or more ` +
124
+ `(got ${JSON.stringify(dormantRetentionDays)}) - using ${DEFAULT_CONFIG.dormant.retentionDays}.`);
125
+ dormantRetentionDays = DEFAULT_CONFIG.dormant.retentionDays;
126
+ }
95
127
  return {
96
128
  defaultHalfLifeDays: raw.defaultHalfLifeDays ?? DEFAULT_CONFIG.defaultHalfLifeDays,
97
129
  defaultBudget: raw.defaultBudget ?? DEFAULT_CONFIG.defaultBudget,
@@ -119,6 +151,10 @@ export function loadConfig(hippoRoot) {
119
151
  ...DEFAULT_CONFIG.memoryValue,
120
152
  ...memoryValueOverride,
121
153
  },
154
+ dormant: {
155
+ enabled: dormantEnabled,
156
+ retentionDays: dormantRetentionDays,
157
+ },
122
158
  };
123
159
  }
124
160
  catch (err) {
@@ -9,6 +9,12 @@
9
9
  export interface ConsolidationResult {
10
10
  decayed: number;
11
11
  removed: number;
12
+ /** Faded memories moved to the dormant store instead of deleted (config
13
+ * `dormant.enabled`; src/dormant.ts). Always 0 when that is off. */
14
+ dormant: number;
15
+ /** Dormant memories deleted for good this sleep because they outlived
16
+ * `dormant.retentionDays` without a restore. */
17
+ dormantExpired: number;
12
18
  merged: number;
13
19
  semanticCreated: number;
14
20
  replayed: number;
@@ -26,6 +32,8 @@ export interface ConsolidationResult {
26
32
  dryRun: boolean;
27
33
  details: string[];
28
34
  physicsSimulated: number;
35
+ /** Ids the decay pass removes (or would remove, under dryRun). */
36
+ removedIds?: string[];
29
37
  }
30
38
  /**
31
39
  * Run a full consolidation pass.
@@ -33,5 +41,6 @@ export interface ConsolidationResult {
33
41
  export declare function consolidate(hippoRoot: string, options?: {
34
42
  dryRun?: boolean;
35
43
  now?: Date;
44
+ fetcher?: typeof fetch;
36
45
  }): Promise<ConsolidationResult>;
37
46
  //# sourceMappingURL=consolidate.d.ts.map