hippo-memory 1.60.0 → 1.61.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 (585) hide show
  1. package/README.md +1 -1
  2. package/dist/ablation.js +9 -27
  3. package/dist/agent-memories/apply.js +4 -1
  4. package/dist/agent-memories/claude-code.js +1 -1
  5. package/dist/agent-memories/codex.js +1 -1
  6. package/dist/agent-memories/gemini.js +1 -1
  7. package/dist/agent-memories/legacy.js +1 -1
  8. package/dist/agent-memories/source.js +1 -1
  9. package/dist/agent-memories/sync.js +8 -3
  10. package/dist/ambient-store.d.ts +14 -0
  11. package/dist/ambient-store.js +90 -0
  12. package/dist/ambient.d.ts +23 -0
  13. package/dist/ambient.js +72 -50
  14. package/dist/api/assemble.d.ts +93 -0
  15. package/dist/api/assemble.js +152 -0
  16. package/dist/api/audit.d.ts +17 -0
  17. package/dist/api/audit.js +23 -0
  18. package/dist/api/auth.d.ts +79 -0
  19. package/dist/api/auth.js +178 -0
  20. package/dist/api/context-types.d.ts +105 -0
  21. package/dist/api/context-types.js +3 -0
  22. package/dist/api/context.d.ts +31 -0
  23. package/dist/api/context.js +705 -0
  24. package/dist/api/dormant.d.ts +30 -0
  25. package/dist/api/dormant.js +140 -0
  26. package/dist/api/drill-down.d.ts +84 -0
  27. package/dist/api/drill-down.js +123 -0
  28. package/dist/api/forget.d.ts +57 -0
  29. package/dist/api/forget.js +87 -0
  30. package/dist/api/goals.d.ts +18 -0
  31. package/dist/api/goals.js +33 -0
  32. package/dist/api/learn.d.ts +31 -0
  33. package/dist/api/learn.js +88 -0
  34. package/dist/api/outcome.d.ts +61 -0
  35. package/dist/api/outcome.js +66 -0
  36. package/dist/api/promote.d.ts +54 -0
  37. package/dist/api/promote.js +203 -0
  38. package/dist/api/quarantine.d.ts +24 -0
  39. package/dist/api/quarantine.js +121 -0
  40. package/dist/api/recall-types.d.ts +390 -0
  41. package/dist/api/recall-types.js +3 -0
  42. package/dist/api/recall.d.ts +36 -0
  43. package/dist/api/recall.js +634 -0
  44. package/dist/api/remember.d.ts +35 -0
  45. package/dist/api/remember.js +43 -0
  46. package/dist/api/sleep.d.ts +136 -0
  47. package/dist/api/sleep.js +271 -0
  48. package/dist/api/tokens.d.ts +26 -0
  49. package/dist/api/tokens.js +60 -0
  50. package/dist/api/types.d.ts +56 -0
  51. package/dist/api/types.js +38 -0
  52. package/dist/api.d.ts +20 -1262
  53. package/dist/api.js +25 -2727
  54. package/dist/audit.d.ts +3 -0
  55. package/dist/audit.js +6 -3
  56. package/dist/auth.d.ts +45 -4
  57. package/dist/auth.js +125 -48
  58. package/dist/autolearn.js +2 -2
  59. package/dist/capture/command.d.ts +33 -0
  60. package/dist/capture/command.js +264 -0
  61. package/dist/capture/compact.d.ts +44 -0
  62. package/dist/capture/compact.js +354 -0
  63. package/dist/capture/extract.d.ts +21 -0
  64. package/dist/capture/extract.js +464 -0
  65. package/dist/capture/transcript.d.ts +40 -0
  66. package/dist/capture/transcript.js +193 -0
  67. package/dist/capture-error.js +2 -1
  68. package/dist/churn-git.js +4 -2
  69. package/dist/cli/audit.d.ts +3 -0
  70. package/dist/cli/audit.js +159 -0
  71. package/dist/cli/auth.d.ts +2 -0
  72. package/dist/cli/auth.js +171 -0
  73. package/dist/cli/briefs.d.ts +4 -0
  74. package/dist/cli/briefs.js +435 -0
  75. package/dist/cli/card.d.ts +3 -0
  76. package/dist/cli/card.js +333 -0
  77. package/dist/cli/context.d.ts +15 -0
  78. package/dist/cli/context.js +366 -0
  79. package/dist/cli/continuity.d.ts +6 -0
  80. package/dist/cli/continuity.js +445 -0
  81. package/dist/cli/curate.d.ts +19 -0
  82. package/dist/cli/curate.js +555 -0
  83. package/dist/cli/dag.d.ts +5 -0
  84. package/dist/cli/dag.js +177 -0
  85. package/dist/cli/decisions.d.ts +4 -0
  86. package/dist/cli/decisions.js +528 -0
  87. package/dist/cli/eval.d.ts +5 -0
  88. package/dist/cli/eval.js +213 -0
  89. package/dist/cli/explain.d.ts +4 -0
  90. package/dist/cli/explain.js +150 -0
  91. package/dist/cli/goals.d.ts +2 -0
  92. package/dist/cli/goals.js +196 -0
  93. package/dist/cli/hook-blocks.d.ts +18 -0
  94. package/dist/cli/hook-blocks.js +233 -0
  95. package/dist/cli/init.d.ts +2 -0
  96. package/dist/cli/init.js +305 -0
  97. package/dist/cli/maintenance.d.ts +4 -0
  98. package/dist/cli/maintenance.js +179 -0
  99. package/dist/cli/playbooks.d.ts +4 -0
  100. package/dist/cli/playbooks.js +556 -0
  101. package/dist/cli/projects.js +1 -1
  102. package/dist/cli/recall.d.ts +7 -0
  103. package/dist/cli/recall.js +597 -0
  104. package/dist/cli/remember.d.ts +5 -0
  105. package/dist/cli/remember.js +442 -0
  106. package/dist/cli/serve.d.ts +5 -0
  107. package/dist/cli/serve.js +40 -0
  108. package/dist/cli/session-hooks.d.ts +29 -0
  109. package/dist/cli/session-hooks.js +637 -0
  110. package/dist/cli/setup.d.ts +4 -0
  111. package/dist/cli/setup.js +376 -0
  112. package/dist/cli/shared.d.ts +15 -19
  113. package/dist/cli/shared.js +50 -341
  114. package/dist/cli/slack.d.ts +2 -0
  115. package/dist/cli/slack.js +171 -0
  116. package/dist/cli/status.d.ts +18 -0
  117. package/dist/cli/status.js +400 -0
  118. package/dist/cli/transfer.d.ts +10 -0
  119. package/dist/cli/transfer.js +438 -0
  120. package/dist/cli/usage.d.ts +85 -0
  121. package/dist/cli/usage.js +741 -0
  122. package/dist/cli.d.ts +71 -120
  123. package/dist/cli.js +170 -8469
  124. package/dist/client.js +15 -8
  125. package/dist/compaction-record.js +6 -4
  126. package/dist/connectors/github/backfill.js +94 -87
  127. package/dist/connectors/github/cli-impl.js +4 -3
  128. package/dist/connectors/github/dlq.js +67 -54
  129. package/dist/connectors/github/ingest.js +34 -35
  130. package/dist/connectors/github/tenant-routing.js +3 -2
  131. package/dist/connectors/github/webhook.js +135 -216
  132. package/dist/connectors/slack/dlq.js +49 -61
  133. package/dist/connectors/slack/ingest.js +55 -48
  134. package/dist/connectors/slack/tenant-routing.js +4 -3
  135. package/dist/connectors/slack/webhook.js +72 -74
  136. package/dist/consolidate/conflicts.d.ts +10 -0
  137. package/dist/consolidate/conflicts.js +178 -0
  138. package/dist/consolidate/decay.d.ts +12 -0
  139. package/dist/consolidate/decay.js +145 -0
  140. package/dist/consolidate/llm-passes.d.ts +3 -0
  141. package/dist/consolidate/llm-passes.js +141 -0
  142. package/dist/consolidate/merge.d.ts +7 -0
  143. package/dist/consolidate/merge.js +251 -0
  144. package/dist/consolidate/physics-pass.d.ts +3 -0
  145. package/dist/consolidate/physics-pass.js +60 -0
  146. package/dist/consolidate/run.d.ts +69 -0
  147. package/dist/consolidate/run.js +76 -0
  148. package/dist/consolidate/sleep.d.ts +18 -0
  149. package/dist/consolidate/sleep.js +209 -0
  150. package/dist/consolidate/traces.d.ts +4 -0
  151. package/dist/consolidate/traces.js +178 -0
  152. package/dist/context-auto.js +7 -11
  153. package/dist/context-render.d.ts +1 -1
  154. package/dist/context-render.js +1 -1
  155. package/dist/customer-notes.d.ts +3 -0
  156. package/dist/customer-notes.js +6 -4
  157. package/dist/dag.js +6 -5
  158. package/dist/dashboard-actions.d.ts +20 -0
  159. package/dist/dashboard-actions.js +88 -0
  160. package/dist/dashboard-params.d.ts +45 -0
  161. package/dist/dashboard-params.js +127 -0
  162. package/dist/dashboard-queries.d.ts +15 -0
  163. package/dist/dashboard-queries.js +355 -0
  164. package/dist/dashboard-snapshot.d.ts +138 -0
  165. package/dist/dashboard-snapshot.js +308 -0
  166. package/dist/dashboard-types.d.ts +163 -0
  167. package/dist/dashboard-types.js +3 -0
  168. package/dist/dashboard.d.ts +6 -7
  169. package/dist/dashboard.js +228 -202
  170. package/dist/db/busy.d.ts +5 -0
  171. package/dist/db/busy.js +24 -0
  172. package/dist/db/continuity.d.ts +5 -0
  173. package/dist/db/continuity.js +145 -0
  174. package/dist/db/meta.d.ts +8 -0
  175. package/dist/db/meta.js +35 -0
  176. package/dist/db/migrate.d.ts +9 -0
  177. package/dist/db/migrate.js +138 -0
  178. package/dist/db/migrations/index.d.ts +5 -0
  179. package/dist/db/migrations/index.js +109 -0
  180. package/dist/db/migrations/types.d.ts +14 -0
  181. package/dist/db/migrations/types.js +2 -0
  182. package/dist/db/migrations/v01.d.ts +3 -0
  183. package/dist/db/migrations/v01.js +38 -0
  184. package/dist/db/migrations/v02.d.ts +3 -0
  185. package/dist/db/migrations/v02.js +21 -0
  186. package/dist/db/migrations/v03.d.ts +3 -0
  187. package/dist/db/migrations/v03.js +22 -0
  188. package/dist/db/migrations/v04.d.ts +3 -0
  189. package/dist/db/migrations/v04.js +28 -0
  190. package/dist/db/migrations/v05.d.ts +3 -0
  191. package/dist/db/migrations/v05.js +21 -0
  192. package/dist/db/migrations/v06.d.ts +3 -0
  193. package/dist/db/migrations/v06.js +25 -0
  194. package/dist/db/migrations/v07.d.ts +3 -0
  195. package/dist/db/migrations/v07.js +13 -0
  196. package/dist/db/migrations/v08.d.ts +3 -0
  197. package/dist/db/migrations/v08.js +8 -0
  198. package/dist/db/migrations/v09.d.ts +3 -0
  199. package/dist/db/migrations/v09.js +13 -0
  200. package/dist/db/migrations/v10.d.ts +3 -0
  201. package/dist/db/migrations/v10.js +17 -0
  202. package/dist/db/migrations/v11.d.ts +3 -0
  203. package/dist/db/migrations/v11.js +15 -0
  204. package/dist/db/migrations/v12.d.ts +3 -0
  205. package/dist/db/migrations/v12.js +11 -0
  206. package/dist/db/migrations/v13.d.ts +3 -0
  207. package/dist/db/migrations/v13.js +15 -0
  208. package/dist/db/migrations/v14.d.ts +3 -0
  209. package/dist/db/migrations/v14.js +66 -0
  210. package/dist/db/migrations/v15.d.ts +3 -0
  211. package/dist/db/migrations/v15.js +42 -0
  212. package/dist/db/migrations/v16.d.ts +3 -0
  213. package/dist/db/migrations/v16.js +61 -0
  214. package/dist/db/migrations/v17.d.ts +3 -0
  215. package/dist/db/migrations/v17.js +46 -0
  216. package/dist/db/migrations/v18.d.ts +3 -0
  217. package/dist/db/migrations/v18.js +60 -0
  218. package/dist/db/migrations/v19.d.ts +3 -0
  219. package/dist/db/migrations/v19.js +28 -0
  220. package/dist/db/migrations/v20.d.ts +3 -0
  221. package/dist/db/migrations/v20.js +42 -0
  222. package/dist/db/migrations/v21.d.ts +3 -0
  223. package/dist/db/migrations/v21.js +16 -0
  224. package/dist/db/migrations/v22.d.ts +3 -0
  225. package/dist/db/migrations/v22.js +82 -0
  226. package/dist/db/migrations/v23.d.ts +3 -0
  227. package/dist/db/migrations/v23.js +48 -0
  228. package/dist/db/migrations/v24.d.ts +3 -0
  229. package/dist/db/migrations/v24.js +72 -0
  230. package/dist/db/migrations/v25.d.ts +3 -0
  231. package/dist/db/migrations/v25.js +46 -0
  232. package/dist/db/migrations/v26.d.ts +3 -0
  233. package/dist/db/migrations/v26.js +23 -0
  234. package/dist/db/migrations/v27.d.ts +3 -0
  235. package/dist/db/migrations/v27.js +57 -0
  236. package/dist/db/migrations/v28.d.ts +3 -0
  237. package/dist/db/migrations/v28.js +38 -0
  238. package/dist/db/migrations/v29.d.ts +3 -0
  239. package/dist/db/migrations/v29.js +78 -0
  240. package/dist/db/migrations/v30.d.ts +3 -0
  241. package/dist/db/migrations/v30.js +92 -0
  242. package/dist/db/migrations/v31.d.ts +3 -0
  243. package/dist/db/migrations/v31.js +74 -0
  244. package/dist/db/migrations/v32.d.ts +3 -0
  245. package/dist/db/migrations/v32.js +102 -0
  246. package/dist/db/migrations/v33.d.ts +3 -0
  247. package/dist/db/migrations/v33.js +104 -0
  248. package/dist/db/migrations/v34.d.ts +3 -0
  249. package/dist/db/migrations/v34.js +93 -0
  250. package/dist/db/migrations/v35.d.ts +3 -0
  251. package/dist/db/migrations/v35.js +98 -0
  252. package/dist/db/migrations/v36.d.ts +3 -0
  253. package/dist/db/migrations/v36.js +98 -0
  254. package/dist/db/migrations/v37.d.ts +3 -0
  255. package/dist/db/migrations/v37.js +219 -0
  256. package/dist/db/migrations/v38.d.ts +3 -0
  257. package/dist/db/migrations/v38.js +277 -0
  258. package/dist/db/migrations/v39.d.ts +3 -0
  259. package/dist/db/migrations/v39.js +59 -0
  260. package/dist/db/migrations/v40.d.ts +3 -0
  261. package/dist/db/migrations/v40.js +74 -0
  262. package/dist/db/migrations/v41.d.ts +3 -0
  263. package/dist/db/migrations/v41.js +43 -0
  264. package/dist/db/migrations/v42.d.ts +3 -0
  265. package/dist/db/migrations/v42.js +41 -0
  266. package/dist/db/migrations/v43.d.ts +3 -0
  267. package/dist/db/migrations/v43.js +67 -0
  268. package/dist/db/migrations/v44.d.ts +3 -0
  269. package/dist/db/migrations/v44.js +28 -0
  270. package/dist/db/migrations/v45.d.ts +3 -0
  271. package/dist/db/migrations/v45.js +30 -0
  272. package/dist/db/migrations/v46.d.ts +3 -0
  273. package/dist/db/migrations/v46.js +25 -0
  274. package/dist/db/migrations/v47.d.ts +3 -0
  275. package/dist/db/migrations/v47.js +17 -0
  276. package/dist/db/migrations/v48.d.ts +3 -0
  277. package/dist/db/migrations/v48.js +10 -0
  278. package/dist/db/migrations/v49.d.ts +3 -0
  279. package/dist/db/migrations/v49.js +31 -0
  280. package/dist/db/migrations/v50.d.ts +3 -0
  281. package/dist/db/migrations/v50.js +67 -0
  282. package/dist/db/migrations/v51.d.ts +3 -0
  283. package/dist/db/migrations/v51.js +14 -0
  284. package/dist/db/migrations/v52.d.ts +3 -0
  285. package/dist/db/migrations/v52.js +7 -0
  286. package/dist/db/open.d.ts +23 -0
  287. package/dist/db/open.js +146 -0
  288. package/dist/db/sqlite.d.ts +21 -0
  289. package/dist/db/sqlite.js +8 -0
  290. package/dist/db/tables.d.ts +7 -0
  291. package/dist/db/tables.js +38 -0
  292. package/dist/db.d.ts +6 -46
  293. package/dist/db.js +5 -3049
  294. package/dist/decisions.d.ts +4 -1
  295. package/dist/decisions.js +9 -7
  296. package/dist/dedupe.js +3 -2
  297. package/dist/delivery-recorder.js +4 -1
  298. package/dist/doctor.js +3 -3
  299. package/dist/embedding-provider.d.ts +1 -1
  300. package/dist/embedding-provider.js +4 -3
  301. package/dist/embeddings.d.ts +9 -52
  302. package/dist/embeddings.js +43 -297
  303. package/dist/env.d.ts +75 -0
  304. package/dist/env.js +119 -0
  305. package/dist/eval-suite.js +1 -1
  306. package/dist/eval.js +2 -2
  307. package/dist/extract.js +1 -1
  308. package/dist/gated-write.js +3 -1
  309. package/dist/goals.d.ts +3 -1
  310. package/dist/goals.js +18 -0
  311. package/dist/graph/read.d.ts +73 -0
  312. package/dist/graph/read.js +325 -0
  313. package/dist/graph/rows.d.ts +45 -0
  314. package/dist/graph/rows.js +51 -0
  315. package/dist/graph/types.d.ts +83 -0
  316. package/dist/graph/types.js +11 -0
  317. package/dist/graph/write.d.ts +93 -0
  318. package/dist/{graph.js → graph/write.js} +6 -384
  319. package/dist/graph-extract.js +2 -1
  320. package/dist/graph-recall.d.ts +1 -1
  321. package/dist/graph-recall.js +2 -2
  322. package/dist/graph-stream.js +1 -1
  323. package/dist/graph-view.d.ts +1 -1
  324. package/dist/graph-view.js +1 -1
  325. package/dist/half-life-migration.d.ts +1 -1
  326. package/dist/half-life-migration.js +2 -1
  327. package/dist/hooks/codex-session.d.ts +8 -0
  328. package/dist/hooks/codex-session.js +76 -0
  329. package/dist/hooks/codex-wrapper.d.ts +55 -0
  330. package/dist/hooks/codex-wrapper.js +288 -0
  331. package/dist/hooks/json-hooks.d.ts +63 -0
  332. package/dist/hooks/json-hooks.js +356 -0
  333. package/dist/hooks/opencode.d.ts +50 -0
  334. package/dist/hooks/opencode.js +202 -0
  335. package/dist/hooks/shared.d.ts +54 -0
  336. package/dist/hooks/shared.js +77 -0
  337. package/dist/http-retry.d.ts +2 -0
  338. package/dist/http-retry.js +4 -3
  339. package/dist/http-util.d.ts +3 -0
  340. package/dist/http-util.js +10 -0
  341. package/dist/{importers.d.ts → importers/core.d.ts} +13 -17
  342. package/dist/importers/core.js +141 -0
  343. package/dist/importers/markdown-parse.d.ts +41 -0
  344. package/dist/importers/markdown-parse.js +132 -0
  345. package/dist/importers/markdown.d.ts +3 -0
  346. package/dist/importers/markdown.js +92 -0
  347. package/dist/importers/sources.d.ts +7 -0
  348. package/dist/importers/sources.js +229 -0
  349. package/dist/importers/vault.d.ts +11 -0
  350. package/dist/importers/vault.js +352 -0
  351. package/dist/incidents.d.ts +3 -0
  352. package/dist/incidents.js +7 -5
  353. package/dist/index.d.ts +25 -6
  354. package/dist/index.js +23 -6
  355. package/dist/invalidation.js +2 -1
  356. package/dist/judgment.js +2 -1
  357. package/dist/keyset.d.ts +13 -0
  358. package/dist/keyset.js +8 -0
  359. package/dist/local-embedding.d.ts +13 -0
  360. package/dist/local-embedding.js +165 -0
  361. package/dist/log.d.ts +7 -0
  362. package/dist/log.js +19 -1
  363. package/dist/mcp/admin-tools.d.ts +8 -0
  364. package/dist/mcp/admin-tools.js +116 -0
  365. package/dist/mcp/format.d.ts +27 -0
  366. package/dist/mcp/format.js +135 -0
  367. package/dist/mcp/memory-tools.d.ts +5 -0
  368. package/dist/mcp/memory-tools.js +83 -0
  369. package/dist/mcp/protocol.d.ts +83 -0
  370. package/dist/mcp/protocol.js +55 -0
  371. package/dist/mcp/recall-tools.d.ts +6 -0
  372. package/dist/mcp/recall-tools.js +320 -0
  373. package/dist/mcp/request.d.ts +10 -0
  374. package/dist/mcp/request.js +163 -0
  375. package/dist/mcp/server.d.ts +4 -75
  376. package/dist/mcp/server.js +7 -1190
  377. package/dist/mcp/session-state.d.ts +11 -0
  378. package/dist/mcp/session-state.js +28 -0
  379. package/dist/mcp/stdio.d.ts +8 -0
  380. package/dist/mcp/stdio.js +79 -0
  381. package/dist/mcp/tools.d.ts +11 -0
  382. package/dist/mcp/tools.js +247 -0
  383. package/dist/memory.d.ts +3 -0
  384. package/dist/memory.js +27 -1
  385. package/dist/multihop.d.ts +1 -1
  386. package/dist/multihop.js +2 -1
  387. package/dist/owner-validation.js +2 -1
  388. package/dist/physics-state.js +10 -7
  389. package/dist/policies.d.ts +3 -0
  390. package/dist/policies.js +8 -6
  391. package/dist/postinstall.js +3 -2
  392. package/dist/predictions/planning-fallacy.d.ts +100 -0
  393. package/dist/predictions/planning-fallacy.js +190 -0
  394. package/dist/{predictions.d.ts → predictions/store.d.ts} +7 -102
  395. package/dist/predictions/store.js +434 -0
  396. package/dist/processes.d.ts +3 -0
  397. package/dist/processes.js +7 -5
  398. package/dist/project-briefs.d.ts +3 -0
  399. package/dist/project-briefs.js +7 -5
  400. package/dist/project-identity.js +3 -2
  401. package/dist/project-merge.js +3 -1
  402. package/dist/quarantine.d.ts +2 -1
  403. package/dist/quarantine.js +8 -5
  404. package/dist/raw-archive.js +1 -1
  405. package/dist/recall-history.js +3 -2
  406. package/dist/recall-pipeline.d.ts +2 -2
  407. package/dist/recall-pipeline.js +16 -8
  408. package/dist/recall-scope.js +1 -1
  409. package/dist/recall-trace.d.ts +1 -1
  410. package/dist/refine-llm.js +2 -1
  411. package/dist/reject-flow.js +6 -1
  412. package/dist/rerankers/clef.js +6 -5
  413. package/dist/rerankers/jev.d.ts +1 -1
  414. package/dist/rerankers/jev.js +4 -4
  415. package/dist/rerankers/llm.d.ts +4 -2
  416. package/dist/rerankers/llm.js +58 -38
  417. package/dist/rerankers/types.d.ts +1 -1
  418. package/dist/salience.js +1 -1
  419. package/dist/scheduler.d.ts +1 -0
  420. package/dist/scheduler.js +26 -4
  421. package/dist/scope.js +4 -3
  422. package/dist/search/as-of.d.ts +10 -0
  423. package/dist/search/as-of.js +22 -0
  424. package/dist/search/bm25-search.d.ts +14 -0
  425. package/dist/search/bm25-search.js +43 -0
  426. package/dist/search/bm25.d.ts +15 -0
  427. package/dist/search/bm25.js +54 -0
  428. package/dist/search/boosts.d.ts +54 -0
  429. package/dist/search/boosts.js +94 -0
  430. package/dist/search/breakdown.d.ts +7 -0
  431. package/dist/search/breakdown.js +20 -0
  432. package/dist/search/explain.d.ts +25 -0
  433. package/dist/search/explain.js +31 -0
  434. package/dist/search/finalize.d.ts +8 -0
  435. package/dist/search/finalize.js +52 -0
  436. package/dist/search/fusion.d.ts +27 -0
  437. package/dist/search/fusion.js +42 -0
  438. package/dist/search/hybrid-score.d.ts +20 -0
  439. package/dist/search/hybrid-score.js +73 -0
  440. package/dist/search/hybrid.d.ts +46 -0
  441. package/dist/search/hybrid.js +64 -0
  442. package/dist/search/physics-search.d.ts +29 -0
  443. package/dist/search/physics-search.js +162 -0
  444. package/dist/search/rerank.d.ts +10 -0
  445. package/dist/search/rerank.js +72 -0
  446. package/dist/search/temporal.d.ts +15 -0
  447. package/dist/search/temporal.js +45 -0
  448. package/dist/search/types.d.ts +91 -0
  449. package/dist/search/types.js +2 -0
  450. package/dist/search/vector.d.ts +30 -0
  451. package/dist/search/vector.js +71 -0
  452. package/dist/secret-detect.d.ts +2 -0
  453. package/dist/secret-detect.js +2 -1
  454. package/dist/server/auth.d.ts +52 -0
  455. package/dist/server/auth.js +221 -0
  456. package/dist/server/client-ip.d.ts +25 -0
  457. package/dist/server/client-ip.js +92 -0
  458. package/dist/server/cursor.d.ts +23 -0
  459. package/dist/server/cursor.js +58 -0
  460. package/dist/server/lifecycle.d.ts +7 -0
  461. package/dist/server/lifecycle.js +29 -0
  462. package/dist/server/mcp-http.d.ts +5 -0
  463. package/dist/server/mcp-http.js +199 -0
  464. package/dist/server/request.d.ts +33 -0
  465. package/dist/server/request.js +103 -0
  466. package/dist/server/routes/admin.d.ts +9 -0
  467. package/dist/server/routes/admin.js +158 -0
  468. package/dist/server/routes/customer-notes.d.ts +7 -0
  469. package/dist/server/routes/customer-notes.js +112 -0
  470. package/dist/server/routes/decisions.d.ts +7 -0
  471. package/dist/server/routes/decisions.js +133 -0
  472. package/dist/server/routes/incidents.d.ts +7 -0
  473. package/dist/server/routes/incidents.js +126 -0
  474. package/dist/server/routes/memories.d.ts +10 -0
  475. package/dist/server/routes/memories.js +179 -0
  476. package/dist/server/routes/policies.d.ts +8 -0
  477. package/dist/server/routes/policies.js +151 -0
  478. package/dist/server/routes/predictions.d.ts +7 -0
  479. package/dist/server/routes/predictions.js +164 -0
  480. package/dist/server/routes/processes.d.ts +7 -0
  481. package/dist/server/routes/processes.js +161 -0
  482. package/dist/server/routes/project-briefs.d.ts +8 -0
  483. package/dist/server/routes/project-briefs.js +136 -0
  484. package/dist/server/routes/recall.d.ts +8 -0
  485. package/dist/server/routes/recall.js +340 -0
  486. package/dist/server/routes/skills.d.ts +8 -0
  487. package/dist/server/routes/skills.js +150 -0
  488. package/dist/server/types.d.ts +56 -0
  489. package/dist/server/types.js +2 -0
  490. package/dist/server/validation.d.ts +14 -0
  491. package/dist/server/validation.js +91 -0
  492. package/dist/server.d.ts +7 -61
  493. package/dist/server.js +69 -2362
  494. package/dist/session-digest.d.ts +1 -1
  495. package/dist/session-digest.js +9 -2
  496. package/dist/shared.d.ts +3 -1
  497. package/dist/shared.js +26 -22
  498. package/dist/skills.d.ts +3 -0
  499. package/dist/skills.js +7 -5
  500. package/dist/stdin.js +2 -2
  501. package/dist/store/audit-event.d.ts +19 -0
  502. package/dist/store/audit-event.js +33 -0
  503. package/dist/store/candidates.d.ts +42 -0
  504. package/dist/store/candidates.js +152 -0
  505. package/dist/store/conflicts.d.ts +44 -0
  506. package/dist/store/conflicts.js +444 -0
  507. package/dist/store/delete-and-batch.d.ts +63 -0
  508. package/dist/store/delete-and-batch.js +310 -0
  509. package/dist/store/entry-reads.d.ts +92 -0
  510. package/dist/store/entry-reads.js +255 -0
  511. package/dist/store/entry-row.d.ts +67 -0
  512. package/dist/store/entry-row.js +208 -0
  513. package/dist/store/entry-writes.d.ts +46 -0
  514. package/dist/store/entry-writes.js +148 -0
  515. package/dist/store/handoffs.d.ts +26 -0
  516. package/dist/store/handoffs.js +184 -0
  517. package/dist/store/index-and-stats.d.ts +52 -0
  518. package/dist/store/index-and-stats.js +214 -0
  519. package/dist/store/markdown.d.ts +10 -0
  520. package/dist/store/markdown.js +108 -0
  521. package/dist/store/mirrors.d.ts +49 -0
  522. package/dist/store/mirrors.js +312 -0
  523. package/dist/store/open.d.ts +15 -0
  524. package/dist/store/open.js +223 -0
  525. package/dist/store/rows.d.ts +178 -0
  526. package/dist/store/rows.js +158 -0
  527. package/dist/store/search-rows.d.ts +86 -0
  528. package/dist/store/search-rows.js +254 -0
  529. package/dist/store/sessions.d.ts +83 -0
  530. package/dist/store/sessions.js +272 -0
  531. package/dist/store/summaries.d.ts +94 -0
  532. package/dist/store/summaries.js +377 -0
  533. package/dist/store/tenant-lookup.d.ts +12 -0
  534. package/dist/store/tenant-lookup.js +16 -0
  535. package/dist/store-cards.js +2 -1
  536. package/dist/summary-dirty.d.ts +4 -0
  537. package/dist/summary-dirty.js +32 -0
  538. package/dist/support-bundle.js +4 -3
  539. package/dist/tenant.js +2 -2
  540. package/dist/tokenize.d.ts +2 -0
  541. package/dist/tokenize.js +16 -0
  542. package/dist/transcript-tail.d.ts +7 -0
  543. package/dist/transcript-tail.js +48 -0
  544. package/dist/vector-store.d.ts +27 -0
  545. package/dist/vector-store.js +210 -0
  546. package/dist/version.d.ts +2 -2
  547. package/dist/version.js +2 -2
  548. package/dist/working-memory.js +1 -1
  549. package/dist/yaml.js +36 -11
  550. package/dist-ui/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff +0 -0
  551. package/dist-ui/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2 +0 -0
  552. package/dist-ui/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff +0 -0
  553. package/dist-ui/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2 +0 -0
  554. package/dist-ui/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2 +0 -0
  555. package/dist-ui/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff +0 -0
  556. package/dist-ui/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2 +0 -0
  557. package/dist-ui/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff +0 -0
  558. package/dist-ui/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2 +0 -0
  559. package/dist-ui/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff +0 -0
  560. package/dist-ui/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff +0 -0
  561. package/dist-ui/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2 +0 -0
  562. package/dist-ui/assets/index-DPN7cP19.js +33 -0
  563. package/dist-ui/assets/index-dFloKRVr.css +1 -0
  564. package/dist-ui/index.html +3 -25
  565. package/extensions/openclaw-plugin/openclaw.plugin.json +1 -1
  566. package/extensions/openclaw-plugin/package.json +1 -1
  567. package/openclaw.plugin.json +1 -1
  568. package/package.json +1 -1
  569. package/dist/capture.d.ts +0 -155
  570. package/dist/capture.js +0 -1295
  571. package/dist/consolidate.d.ts +0 -58
  572. package/dist/consolidate.js +0 -1124
  573. package/dist/graph.d.ts +0 -245
  574. package/dist/hooks.d.ts +0 -208
  575. package/dist/hooks.js +0 -1076
  576. package/dist/importers.js +0 -900
  577. package/dist/predictions.js +0 -620
  578. package/dist/search.d.ts +0 -320
  579. package/dist/search.js +0 -970
  580. package/dist/store.d.ts +0 -776
  581. package/dist/store.js +0 -3473
  582. package/dist-ui/assets/d3-BiWEKnn4.js +0 -1
  583. package/dist-ui/assets/index-BhT8RvO6.js +0 -61
  584. package/dist-ui/assets/index-RoXXJ5dq.css +0 -1
  585. package/dist-ui/assets/three-BDgTxR1l.js +0 -4112
package/dist/search.d.ts DELETED
@@ -1,320 +0,0 @@
1
- /**
2
- * BM25 search + optional embedding hybrid search for Hippo.
3
- * Zero external dependencies when embeddings are not available.
4
- */
5
- import { estimateTokens } from './token-ledger.js';
6
- import { MemoryEntry } from './memory.js';
7
- import type { PhysicsConfig } from './physics-config.js';
8
- export declare const CHURN_STALE_RANK_MULTIPLIER = 0.5;
9
- export declare function churnStaleFactor(entry: MemoryEntry): number;
10
- /**
11
- * Tokenized BM25 corpus. Callers can pre-build this with `buildCorpus` once
12
- * and reuse across many `hybridSearch` calls on the same entry set — the
13
- * tokenization work is the bulk of per-query cost on large stores.
14
- */
15
- export interface BM25Corpus {
16
- docs: string[][];
17
- avgLen: number;
18
- df: Map<string, number>;
19
- N: number;
20
- }
21
- export declare function buildCorpus(texts: string[]): BM25Corpus;
22
- export { estimateTokens };
23
- /** Retrieval-time outcome nudge in [0.85, 1.15]; the E1 bm25-outcome baseline ranks with it too. */
24
- export declare function outcomeMultiplier(entry: MemoryEntry): number;
25
- export declare function detectTemporalDirection(query: string): 'recent' | 'oldest' | null;
26
- export interface TemporalRange {
27
- minTime: number;
28
- maxTime: number;
29
- }
30
- export declare function computeTemporalRange(entries: MemoryEntry[]): TemporalRange;
31
- export declare function temporalBoost(entry: MemoryEntry, direction: 'recent' | 'oldest' | null, range: TemporalRange): number;
32
- /**
33
- * A7 recall-trace: one lifecycle re-ranking step. Records a single score
34
- * mutation applied AFTER candidate generation (interference, value, OFC
35
- * utility, reranker, goal-boost, retrieval-count-downweight).
36
- *
37
- * Defined here (NOT in api.ts) so both `SearchResult` (the CLI carrier) and
38
- * `RecallResultItem` (the api/HTTP carrier in api.ts) can reference it without
39
- * a circular import: api.ts already imports from search.ts, and goals.ts imports
40
- * the type from here too — search.ts imports neither, so the dependency stays
41
- * acyclic.
42
- *
43
- * Pure side-channel: a `RerankStep[]` is only ever populated under an explicit
44
- * opt-in (`recall --why` on the CLI, `RecallOpts.explain` on the api). The
45
- * default path never allocates one (byte-identical guarantee).
46
- */
47
- export interface RerankStep {
48
- /** One of: interference, value, utility, reranker, goal-boost, retrieval-count-downweight. */
49
- stage: string;
50
- /** The score multiplier applied at this stage, when the transform is a scalar multiply. */
51
- multiplier?: number;
52
- /** Score before this stage ran. */
53
- scoreBefore: number;
54
- /** Score after this stage ran. */
55
- scoreAfter: number;
56
- /** Optional human-readable detail (e.g. the matched goal tags). */
57
- note?: string;
58
- }
59
- export interface SearchResult {
60
- entry: MemoryEntry;
61
- score: number;
62
- bm25: number;
63
- cosine: number;
64
- tokens: number;
65
- /** Populated when search is called with options.explain === true. */
66
- breakdown?: ScoreBreakdown;
67
- /**
68
- * A7 recall-trace: the ordered lifecycle re-ranking steps that mutated
69
- * `score` after candidate generation. Populated by `cmdRecall` ONLY when
70
- * `recall --why` is set; undefined on the default path (zero allocation).
71
- */
72
- rerankTrace?: RerankStep[];
73
- /** Populated when a reranker ran. Replaces `score` for ordering;
74
- * original `score` preserved here. See src/rerankers/types.ts. */
75
- rerankScore?: number;
76
- preRerankRank?: number;
77
- postRerankRank?: number;
78
- /** Populated for results surfaced by E3.2 graph traversal (`recall --hops N`): how
79
- * the memory was reached from a lexical seed. Absent on normal lexical hits. */
80
- graphVia?: {
81
- hops: number;
82
- relType: string;
83
- direction: 'from' | 'to';
84
- };
85
- }
86
- /** What a result costs against a budget: the tokens of the text it prints as. */
87
- export type ResultCost = (r: SearchResult) => number;
88
- export declare function fitBudget<T extends SearchResult>(ordered: T[], budget: number, minResults: number, cost?: ResultCost): T[];
89
- export interface ScoreBreakdown {
90
- /**
91
- * - `hybrid`: BM25 blended with a non-zero cosine from a cached doc vector.
92
- * - `hybrid-no-vec`: Query was embedded but this doc had no cached vector,
93
- * so the effective score came from BM25 alone even though weights say
94
- * otherwise. Usually means `hippo embed` hasn't run on this memory.
95
- * - `bm25-only`: Embedding pipeline unavailable or the model requires re-index.
96
- * - `physics`: Scored by the physics engine (gravity + momentum + cluster).
97
- */
98
- mode: 'hybrid' | 'hybrid-no-vec' | 'bm25-only' | 'physics';
99
- /** BM25 score after normalization by max-in-corpus (0..1). */
100
- normBm25: number;
101
- /** Weight applied to BM25 in the hybrid blend. */
102
- bm25Weight: number;
103
- /** Weight applied to cosine in the hybrid blend. */
104
- embeddingWeight: number;
105
- /** Cosine similarity (0 when embeddings not used). */
106
- cosine: number;
107
- /** Blended base score before multipliers. */
108
- base: number;
109
- /** Multiplier from memory strength: 0.5 + 0.5*strength. */
110
- strengthMultiplier: number;
111
- /** Multiplier from age: 0.8 + 0.2*recencyBoost. */
112
- recencyMultiplier: number;
113
- /** 1.2 if tagged 'decision', else 1.0. */
114
- decisionBoost: number;
115
- /** 1.0..1.3 based on cwd path tag overlap. */
116
- pathBoost: number;
117
- /** 1.5 if scope matches, 0.5 if scope mismatches, 1.0 if neutral. */
118
- scopeBoost: number;
119
- /** Extra multiplier applied post-hybrid (e.g. 1.2x for local hits in a
120
- * local+global merged search). 1.0 when not applicable. */
121
- sourceBump: number;
122
- /** Retrieval-time outcome personalization: 1 + 0.15*tanh(pos - neg), clipped
123
- * to [0.85, 1.15]. Immediate nudge from `hippo outcome --good/--bad`.
124
- * Separate from the slow strength-via-reward-factor path. */
125
- outcomeBoost: number;
126
- /** FE2: CHURN_STALE_RANK_MULTIPLIER if tagged 'churn-stale', else 1.0. */
127
- churnStaleMultiplier: number;
128
- /** Pre-MMR rank (1-indexed). Only set when MMR re-ranking ran. */
129
- preMmrRank?: number;
130
- /** Post-MMR rank (1-indexed). Only set when MMR re-ranking ran. */
131
- postMmrRank?: number;
132
- /** Query terms that appeared verbatim in the doc. */
133
- matchedTerms: string[];
134
- /** Final composite score (= base * multipliers). */
135
- final: number;
136
- /** Age of the memory in whole days, at scoring time. */
137
- ageDays: number;
138
- /** v0.30 / E4 — entry.dag_level (0=raw, 1=extracted, 2=topic, 3=entity). */
139
- dagLevel?: number;
140
- /** v0.30 / E4 — descendant_count column (refreshed by E3 rebuild). */
141
- descendantCount?: number;
142
- /** v0.30 / E4 — last_rebuilt_at ISO; null if never rebuilt. L2 only. */
143
- lastRebuiltAt?: string | null;
144
- /** v0.30 / E4 — cumulative rebuild_count from E3. L2 only. */
145
- rebuildCount?: number;
146
- /** v0.30 / E4 — deboost applied (1.0 for non-summaries; default 0.85 for L2). */
147
- summaryDeboost?: number;
148
- /** v0.30 / E4 — 1.05 if L2 + rebuilt within 7 days; 1.0 otherwise. */
149
- summaryFreshnessBoost?: number;
150
- }
151
- /**
152
- * v0.30 / E4-E5 — single source of truth for "is this a DAG summary".
153
- * E4 originally checked dag_level === 2; E5 widens to L2 + L3 since L3
154
- * entity profiles also get the same deboost factor. Differentiated
155
- * deboost (e.g. 0.7 for L3) is flagged as follow-up.
156
- *
157
- * Existing drill-down at search.ts:506-529/923-946 uses tag check
158
- * ('dag-summary'); structural truth is dag_level === 2 || === 3. New
159
- * E4/E5 code uses this helper; existing drill-down NOT modified.
160
- */
161
- export declare function isDagSummary(entry: MemoryEntry): boolean;
162
- /**
163
- * Hybrid search: BM25 + cosine similarity (when embeddings are available).
164
- * score = 0.4 * bm25_norm + 0.6 * cosine_sim (with embeddings)
165
- * score = bm25_norm * strength * recency (BM25-only fallback)
166
- *
167
- * embeddingWeight: weight for the cosine similarity component (0.0 to 1.0).
168
- */
169
- export declare function hybridSearch(query: string, entries: MemoryEntry[], options?: {
170
- budget?: number;
171
- now?: Date;
172
- hippoRoot?: string;
173
- embeddingWeight?: number;
174
- explain?: boolean;
175
- /** Disable MMR re-ranking even when embeddings are available. */
176
- mmr?: boolean;
177
- /** MMR balance: 1.0 = pure relevance, 0.0 = pure diversity. Default 0.7. */
178
- mmrLambda?: number;
179
- /** Scoring mode: 'blend' (weighted sum of BM25+cosine, default) or
180
- * 'rrf' (reciprocal rank fusion - combines BM25 and cosine ranks
181
- * instead of scores, more robust for long documents). */
182
- scoring?: 'blend' | 'rrf';
183
- /** Pre-built BM25 corpus from `buildCorpus`. Pass this across many
184
- * queries on the same entry set to skip ~O(N*docLen) tokenization
185
- * work per call. Must be built from the same `entries` in the same
186
- * order (content + tags.join(' ')). */
187
- preparedCorpus?: BM25Corpus;
188
- /** Minimum number of results to return regardless of budget.
189
- * Prevents budget saturation when memories are large. Default 1. */
190
- minResults?: number;
191
- /** Budget cost per result; the caller that prints passes the cost of its printed text. */
192
- cost?: ResultCost;
193
- /** Active scope for scope-boost scoring. Auto-detected if not provided. */
194
- scope?: string | null;
195
- /** Include superseded memories in results. Default false. */
196
- includeSuperseded?: boolean;
197
- /** Filter to memories current at this ISO date string. */
198
- asOf?: string;
199
- /** Optional reranker. Runs after MMR, before budget filtering.
200
- * See src/rerankers/types.ts. */
201
- reranker?: import('./rerankers/types.js').RerankerFn;
202
- /** Options passed through to the reranker. */
203
- rerankerOptions?: import('./rerankers/types.js').RerankerOptions;
204
- /** v0.30 / E4 — multiplier on L2 summary composite scores. Default 0.85
205
- * (env HIPPO_SUMMARY_DEBOOST overrides). Per-call wins. Use 1.0 to disable. */
206
- summaryDeboost?: number;
207
- /** v0.30 / E4 — enable rebuilt-within-7-days micro-boost (1.05) on L2
208
- * summaries with fresh last_rebuilt_at. Default true. */
209
- summaryFreshness?: boolean;
210
- /** L1 — graph-retrieval stream (opt-in): adds a 3rd RRF input ranking in-pool
211
- * candidates by graph proximity to the strong lexical seeds. Active ONLY in
212
- * `scoring:'rrf'` mode with embeddings + a `hippoRoot`. Absent/`weight<=0`/empty
213
- * graph -> the byte-identical 2-list (BM25 + dense) fusion. See src/graph-stream.ts. */
214
- graphStream?: {
215
- /** RRF weight for the graph list. Required (opt-in is explicit; no implicit default). */
216
- weight: number;
217
- tenantId: string;
218
- /** Global store root, when distinct (where global seeds' graph lives). */
219
- globalRoot?: string;
220
- hops?: number;
221
- decay?: number;
222
- maxNeighbors?: number;
223
- /** # of top lexical seeds to expand from. Default DEFAULT_GRAPH_SEED_COUNT. */
224
- seedCount?: number;
225
- };
226
- }): Promise<SearchResult[]>;
227
- /**
228
- * MMR (Maximal Marginal Relevance) re-ranking.
229
- *
230
- * Iteratively picks the candidate that maximises
231
- * lambda * relevance - (1 - lambda) * max(cos(cand, picked))
232
- *
233
- * Inputs must already be sorted by relevance descending. When `explain` is
234
- * true, attaches `preMmrRank` / `postMmrRank` to each result's breakdown.
235
- * Exported for unit tests; production callers go through hybridSearch.
236
- *
237
- * Determinism note (T2): the picking loop below uses strict `mmr > bestMmr`
238
- * (first-wins on ties), so it is already deterministic GIVEN a
239
- * deterministic `scored` input order — no comparator change needed here;
240
- * the tiebreak lives upstream, in how `scored` was sorted before this runs.
241
- */
242
- export declare function mmrRerank(scored: SearchResult[], embeddingIndex: Record<string, number[]>, lambda: number, explain: boolean): SearchResult[];
243
- /**
244
- * Physics-based search: scores memories using gravitational force, momentum,
245
- * and cluster amplification. Falls back to classic hybrid for memories
246
- * without physics state.
247
- */
248
- export declare function physicsSearch(query: string, entries: MemoryEntry[], options?: {
249
- budget?: number;
250
- now?: Date;
251
- hippoRoot?: string;
252
- physicsConfig?: PhysicsConfig;
253
- queryEmbedding?: number[];
254
- explain?: boolean;
255
- minResults?: number;
256
- cost?: ResultCost;
257
- /** Active scope for scope-boost scoring. Auto-detected if not provided. */
258
- scope?: string | null;
259
- /** Include superseded memories. Default false. Must be threaded through
260
- * from the CLI so `recall --include-superseded` reaches the inner
261
- * bi-temporal filter at line ~844; otherwise the superseded entries are
262
- * re-filtered out here even when the caller deliberately retained them. */
263
- includeSuperseded?: boolean;
264
- /** Bi-temporal filter: memories current at this ISO date string. */
265
- asOf?: string;
266
- /** v0.30 / E4 — same deboost as hybridSearch. Inherited via options spread
267
- * when physicsSearch falls back to hybridSearch (L685/689/693/707). */
268
- summaryDeboost?: number;
269
- /** v0.30 / E4 — same freshness boost as hybridSearch. */
270
- summaryFreshness?: boolean;
271
- }): Promise<SearchResult[]>;
272
- /**
273
- * Search entries using BM25 + strength + recency composite score.
274
- * When embeddings are available and hippoRoot is provided, uses hybrid scoring.
275
- * Returns results sorted by score, capped at token budget.
276
- *
277
- * Also updates retrieval metadata on returned entries (side effect: caller
278
- * must persist the updated entries).
279
- */
280
- export declare function search(query: string, entries: MemoryEntry[], options?: {
281
- budget?: number;
282
- now?: Date;
283
- hippoRoot?: string;
284
- minResults?: number;
285
- cost?: ResultCost;
286
- includeSuperseded?: boolean;
287
- asOf?: string;
288
- }): SearchResult[];
289
- export interface MatchExplanation {
290
- /** Human-readable reason string */
291
- reason: string;
292
- /** Which query terms matched in the document (BM25 component) */
293
- matchedTerms: string[];
294
- /** Whether BM25 contributed to the score */
295
- hasBm25: boolean;
296
- /** Whether embedding similarity contributed to the score */
297
- hasEmbedding: boolean;
298
- /** Raw cosine similarity (0 when embeddings not used) */
299
- cosineSimilarity: number;
300
- /** A3 provenance envelope (kind, scope, owner, artifact_ref, session_id, confidence) */
301
- envelope?: {
302
- kind: string;
303
- scope: string | null;
304
- owner: string | null;
305
- artifact_ref: string | null;
306
- session_id: string | null;
307
- confidence: string;
308
- };
309
- }
310
- /**
311
- * Explain why a search result matched a query.
312
- * Computes which query terms overlapped with the document and whether
313
- * BM25 and/or embedding similarity contributed to the composite score.
314
- */
315
- export declare function explainMatch(query: string, result: SearchResult): MatchExplanation;
316
- /**
317
- * Compute text overlap ratio between two strings (Jaccard on token sets).
318
- */
319
- export declare function textOverlap(a: string, b: string): number;
320
- //# sourceMappingURL=search.d.ts.map