hippo-memory 1.32.1 → 1.33.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 (372) hide show
  1. package/dist/api.d.ts +24 -17
  2. package/dist/api.d.ts.map +1 -1
  3. package/dist/api.js +78 -142
  4. package/dist/api.js.map +1 -1
  5. package/dist/audit-prune.d.ts.map +1 -1
  6. package/dist/audit-prune.js +7 -1
  7. package/dist/audit-prune.js.map +1 -1
  8. package/dist/audit.d.ts +3 -2
  9. package/dist/audit.d.ts.map +1 -1
  10. package/dist/audit.js +13 -6
  11. package/dist/audit.js.map +1 -1
  12. package/dist/auth.d.ts.map +1 -1
  13. package/dist/auth.js +6 -0
  14. package/dist/auth.js.map +1 -1
  15. package/dist/autolearn.js +4 -4
  16. package/dist/autolearn.js.map +1 -1
  17. package/dist/benchmarks/e1.3/incident-recall-eval.js +4 -0
  18. package/dist/benchmarks/e1.3/incident-recall-eval.js.map +1 -1
  19. package/dist/benchmarks/e1.3/slack-1000-event-smoke.js +2 -2
  20. package/dist/benchmarks/e1.3/slack-1000-event-smoke.js.map +1 -1
  21. package/dist/capture.d.ts.map +1 -1
  22. package/dist/capture.js +93 -66
  23. package/dist/capture.js.map +1 -1
  24. package/dist/client.d.ts +0 -5
  25. package/dist/client.d.ts.map +1 -1
  26. package/dist/client.js +32 -14
  27. package/dist/client.js.map +1 -1
  28. package/dist/config.d.ts.map +1 -1
  29. package/dist/config.js +7 -4
  30. package/dist/config.js.map +1 -1
  31. package/dist/connectors/github/backfill.d.ts.map +1 -1
  32. package/dist/connectors/github/backfill.js +25 -16
  33. package/dist/connectors/github/backfill.js.map +1 -1
  34. package/dist/connectors/github/cli-impl.d.ts +2 -1
  35. package/dist/connectors/github/cli-impl.d.ts.map +1 -1
  36. package/dist/connectors/github/cli-impl.js +20 -4
  37. package/dist/connectors/github/cli-impl.js.map +1 -1
  38. package/dist/connectors/github/deletion.d.ts.map +1 -1
  39. package/dist/connectors/github/deletion.js +2 -0
  40. package/dist/connectors/github/deletion.js.map +1 -1
  41. package/dist/connectors/github/dlq.d.ts.map +1 -1
  42. package/dist/connectors/github/dlq.js +9 -1
  43. package/dist/connectors/github/dlq.js.map +1 -1
  44. package/dist/connectors/github/idempotency.d.ts.map +1 -1
  45. package/dist/connectors/github/idempotency.js +2 -0
  46. package/dist/connectors/github/idempotency.js.map +1 -1
  47. package/dist/connectors/github/octokit-client.d.ts +2 -1
  48. package/dist/connectors/github/octokit-client.d.ts.map +1 -1
  49. package/dist/connectors/github/octokit-client.js +8 -3
  50. package/dist/connectors/github/octokit-client.js.map +1 -1
  51. package/dist/connectors/github/tenant-routing.d.ts.map +1 -1
  52. package/dist/connectors/github/tenant-routing.js +8 -0
  53. package/dist/connectors/github/tenant-routing.js.map +1 -1
  54. package/dist/connectors/github/types.d.ts +14 -5
  55. package/dist/connectors/github/types.d.ts.map +1 -1
  56. package/dist/connectors/github/types.js +35 -29
  57. package/dist/connectors/github/types.js.map +1 -1
  58. package/dist/connectors/slack/backfill.d.ts.map +1 -1
  59. package/dist/connectors/slack/backfill.js +2 -0
  60. package/dist/connectors/slack/backfill.js.map +1 -1
  61. package/dist/connectors/slack/deletion.d.ts.map +1 -1
  62. package/dist/connectors/slack/deletion.js +2 -0
  63. package/dist/connectors/slack/deletion.js.map +1 -1
  64. package/dist/connectors/slack/dlq.d.ts.map +1 -1
  65. package/dist/connectors/slack/dlq.js +3 -1
  66. package/dist/connectors/slack/dlq.js.map +1 -1
  67. package/dist/connectors/slack/idempotency.d.ts.map +1 -1
  68. package/dist/connectors/slack/idempotency.js +2 -0
  69. package/dist/connectors/slack/idempotency.js.map +1 -1
  70. package/dist/connectors/slack/tenant-routing.d.ts.map +1 -1
  71. package/dist/connectors/slack/tenant-routing.js +4 -0
  72. package/dist/connectors/slack/tenant-routing.js.map +1 -1
  73. package/dist/connectors/slack/types.d.ts +8 -3
  74. package/dist/connectors/slack/types.d.ts.map +1 -1
  75. package/dist/connectors/slack/types.js +22 -10
  76. package/dist/connectors/slack/types.js.map +1 -1
  77. package/dist/connectors/slack/web-client.d.ts +0 -9
  78. package/dist/connectors/slack/web-client.d.ts.map +1 -1
  79. package/dist/connectors/slack/web-client.js +11 -11
  80. package/dist/connectors/slack/web-client.js.map +1 -1
  81. package/dist/connectors/slack/workspaces.d.ts.map +1 -1
  82. package/dist/connectors/slack/workspaces.js +2 -0
  83. package/dist/connectors/slack/workspaces.js.map +1 -1
  84. package/dist/consolidate.d.ts.map +1 -1
  85. package/dist/consolidate.js +8 -3
  86. package/dist/consolidate.js.map +1 -1
  87. package/dist/customer-notes.d.ts.map +1 -1
  88. package/dist/customer-notes.js +17 -0
  89. package/dist/customer-notes.js.map +1 -1
  90. package/dist/dag.js +1 -1
  91. package/dist/dag.js.map +1 -1
  92. package/dist/dashboard.d.ts.map +1 -1
  93. package/dist/dashboard.js +5 -2
  94. package/dist/dashboard.js.map +1 -1
  95. package/dist/db.d.ts +1 -1
  96. package/dist/db.d.ts.map +1 -1
  97. package/dist/db.js +24 -0
  98. package/dist/db.js.map +1 -1
  99. package/dist/decisions.d.ts.map +1 -1
  100. package/dist/decisions.js +10 -0
  101. package/dist/decisions.js.map +1 -1
  102. package/dist/dedupe.d.ts +6 -4
  103. package/dist/dedupe.d.ts.map +1 -1
  104. package/dist/dedupe.js.map +1 -1
  105. package/dist/embedding-provider.d.ts.map +1 -1
  106. package/dist/embedding-provider.js +24 -15
  107. package/dist/embedding-provider.js.map +1 -1
  108. package/dist/embeddings.d.ts.map +1 -1
  109. package/dist/embeddings.js +17 -1
  110. package/dist/embeddings.js.map +1 -1
  111. package/dist/eval-suite.d.ts.map +1 -1
  112. package/dist/eval-suite.js +5 -0
  113. package/dist/eval-suite.js.map +1 -1
  114. package/dist/extract.d.ts.map +1 -1
  115. package/dist/extract.js +10 -3
  116. package/dist/extract.js.map +1 -1
  117. package/dist/goals.d.ts.map +1 -1
  118. package/dist/goals.js +26 -12
  119. package/dist/goals.js.map +1 -1
  120. package/dist/graph-extract.d.ts.map +1 -1
  121. package/dist/graph-extract.js +9 -1
  122. package/dist/graph-extract.js.map +1 -1
  123. package/dist/graph-view.d.ts.map +1 -1
  124. package/dist/graph-view.js.map +1 -1
  125. package/dist/graph.d.ts.map +1 -1
  126. package/dist/graph.js +38 -13
  127. package/dist/graph.js.map +1 -1
  128. package/dist/hooks.d.ts.map +1 -1
  129. package/dist/hooks.js +42 -21
  130. package/dist/hooks.js.map +1 -1
  131. package/dist/importers.d.ts.map +1 -1
  132. package/dist/importers.js +23 -42
  133. package/dist/importers.js.map +1 -1
  134. package/dist/incidents.d.ts.map +1 -1
  135. package/dist/incidents.js +14 -0
  136. package/dist/incidents.js.map +1 -1
  137. package/dist/mcp/server.d.ts +4 -1
  138. package/dist/mcp/server.d.ts.map +1 -1
  139. package/dist/mcp/server.js +58 -28
  140. package/dist/mcp/server.js.map +1 -1
  141. package/dist/memory-value.d.ts +0 -10
  142. package/dist/memory-value.d.ts.map +1 -1
  143. package/dist/memory-value.js +8 -2
  144. package/dist/memory-value.js.map +1 -1
  145. package/dist/memory.js.map +1 -1
  146. package/dist/physics-state.d.ts.map +1 -1
  147. package/dist/physics-state.js +5 -0
  148. package/dist/physics-state.js.map +1 -1
  149. package/dist/physics.js.map +1 -1
  150. package/dist/policies.d.ts.map +1 -1
  151. package/dist/policies.js +22 -0
  152. package/dist/policies.js.map +1 -1
  153. package/dist/predictions.d.ts.map +1 -1
  154. package/dist/predictions.js +14 -0
  155. package/dist/predictions.js.map +1 -1
  156. package/dist/processes.d.ts +7 -1
  157. package/dist/processes.d.ts.map +1 -1
  158. package/dist/processes.js +21 -2
  159. package/dist/processes.js.map +1 -1
  160. package/dist/project-briefs.d.ts.map +1 -1
  161. package/dist/project-briefs.js +28 -2
  162. package/dist/project-briefs.js.map +1 -1
  163. package/dist/raw-archive-mirror-cleanup.d.ts.map +1 -1
  164. package/dist/raw-archive-mirror-cleanup.js +2 -0
  165. package/dist/raw-archive-mirror-cleanup.js.map +1 -1
  166. package/dist/raw-archive.d.ts +0 -9
  167. package/dist/raw-archive.d.ts.map +1 -1
  168. package/dist/raw-archive.js +3 -9
  169. package/dist/raw-archive.js.map +1 -1
  170. package/dist/recall-scope.d.ts.map +1 -1
  171. package/dist/recall-scope.js +11 -6
  172. package/dist/recall-scope.js.map +1 -1
  173. package/dist/recall-trace.d.ts.map +1 -1
  174. package/dist/recall-trace.js +7 -3
  175. package/dist/recall-trace.js.map +1 -1
  176. package/dist/refine-llm.d.ts.map +1 -1
  177. package/dist/refine-llm.js +3 -0
  178. package/dist/refine-llm.js.map +1 -1
  179. package/dist/reject-flow.d.ts.map +1 -1
  180. package/dist/reject-flow.js +2 -0
  181. package/dist/reject-flow.js.map +1 -1
  182. package/dist/rejection.d.ts.map +1 -1
  183. package/dist/rejection.js +3 -0
  184. package/dist/rejection.js.map +1 -1
  185. package/dist/replay.js.map +1 -1
  186. package/dist/rerankers/cross-encoder.d.ts.map +1 -1
  187. package/dist/rerankers/cross-encoder.js +11 -4
  188. package/dist/rerankers/cross-encoder.js.map +1 -1
  189. package/dist/rerankers/index.d.ts.map +1 -1
  190. package/dist/rerankers/index.js +5 -3
  191. package/dist/rerankers/index.js.map +1 -1
  192. package/dist/rerankers/llm.d.ts.map +1 -1
  193. package/dist/rerankers/llm.js +8 -5
  194. package/dist/rerankers/llm.js.map +1 -1
  195. package/dist/rerankers/types.d.ts +6 -1
  196. package/dist/rerankers/types.d.ts.map +1 -1
  197. package/dist/scheduler.d.ts +16 -0
  198. package/dist/scheduler.d.ts.map +1 -1
  199. package/dist/scheduler.js +15 -5
  200. package/dist/scheduler.js.map +1 -1
  201. package/dist/search.d.ts +4 -6
  202. package/dist/search.d.ts.map +1 -1
  203. package/dist/search.js.map +1 -1
  204. package/dist/server-detect.d.ts.map +1 -1
  205. package/dist/server-detect.js +2 -0
  206. package/dist/server-detect.js.map +1 -1
  207. package/dist/server.d.ts.map +1 -1
  208. package/dist/server.js +194 -135
  209. package/dist/server.js.map +1 -1
  210. package/dist/skills.d.ts.map +1 -1
  211. package/dist/skills.js +10 -3
  212. package/dist/skills.js.map +1 -1
  213. package/dist/src/api.js +78 -142
  214. package/dist/src/api.js.map +1 -1
  215. package/dist/src/audit-prune.js +7 -1
  216. package/dist/src/audit-prune.js.map +1 -1
  217. package/dist/src/audit.js +13 -6
  218. package/dist/src/audit.js.map +1 -1
  219. package/dist/src/auth.js +6 -0
  220. package/dist/src/auth.js.map +1 -1
  221. package/dist/src/autolearn.js +4 -4
  222. package/dist/src/autolearn.js.map +1 -1
  223. package/dist/src/capture.js +93 -66
  224. package/dist/src/capture.js.map +1 -1
  225. package/dist/src/client.js +32 -14
  226. package/dist/src/client.js.map +1 -1
  227. package/dist/src/config.js +7 -4
  228. package/dist/src/config.js.map +1 -1
  229. package/dist/src/connectors/github/backfill.js +25 -16
  230. package/dist/src/connectors/github/backfill.js.map +1 -1
  231. package/dist/src/connectors/github/cli-impl.js +20 -4
  232. package/dist/src/connectors/github/cli-impl.js.map +1 -1
  233. package/dist/src/connectors/github/deletion.js +2 -0
  234. package/dist/src/connectors/github/deletion.js.map +1 -1
  235. package/dist/src/connectors/github/dlq.js +9 -1
  236. package/dist/src/connectors/github/dlq.js.map +1 -1
  237. package/dist/src/connectors/github/idempotency.js +2 -0
  238. package/dist/src/connectors/github/idempotency.js.map +1 -1
  239. package/dist/src/connectors/github/octokit-client.js +8 -3
  240. package/dist/src/connectors/github/octokit-client.js.map +1 -1
  241. package/dist/src/connectors/github/tenant-routing.js +8 -0
  242. package/dist/src/connectors/github/tenant-routing.js.map +1 -1
  243. package/dist/src/connectors/github/types.js +35 -29
  244. package/dist/src/connectors/github/types.js.map +1 -1
  245. package/dist/src/connectors/slack/backfill.js +2 -0
  246. package/dist/src/connectors/slack/backfill.js.map +1 -1
  247. package/dist/src/connectors/slack/deletion.js +2 -0
  248. package/dist/src/connectors/slack/deletion.js.map +1 -1
  249. package/dist/src/connectors/slack/dlq.js +3 -1
  250. package/dist/src/connectors/slack/dlq.js.map +1 -1
  251. package/dist/src/connectors/slack/idempotency.js +2 -0
  252. package/dist/src/connectors/slack/idempotency.js.map +1 -1
  253. package/dist/src/connectors/slack/tenant-routing.js +4 -0
  254. package/dist/src/connectors/slack/tenant-routing.js.map +1 -1
  255. package/dist/src/connectors/slack/types.js +22 -10
  256. package/dist/src/connectors/slack/types.js.map +1 -1
  257. package/dist/src/connectors/slack/web-client.js +11 -11
  258. package/dist/src/connectors/slack/web-client.js.map +1 -1
  259. package/dist/src/connectors/slack/workspaces.js +2 -0
  260. package/dist/src/connectors/slack/workspaces.js.map +1 -1
  261. package/dist/src/consolidate.js +8 -3
  262. package/dist/src/consolidate.js.map +1 -1
  263. package/dist/src/customer-notes.js +17 -0
  264. package/dist/src/customer-notes.js.map +1 -1
  265. package/dist/src/dag.js +1 -1
  266. package/dist/src/dag.js.map +1 -1
  267. package/dist/src/dashboard.js +5 -2
  268. package/dist/src/dashboard.js.map +1 -1
  269. package/dist/src/db.js +24 -0
  270. package/dist/src/db.js.map +1 -1
  271. package/dist/src/decisions.js +10 -0
  272. package/dist/src/decisions.js.map +1 -1
  273. package/dist/src/dedupe.js.map +1 -1
  274. package/dist/src/embedding-provider.js +24 -15
  275. package/dist/src/embedding-provider.js.map +1 -1
  276. package/dist/src/embeddings.js +17 -1
  277. package/dist/src/embeddings.js.map +1 -1
  278. package/dist/src/eval-suite.js +5 -0
  279. package/dist/src/eval-suite.js.map +1 -1
  280. package/dist/src/extract.js +10 -3
  281. package/dist/src/extract.js.map +1 -1
  282. package/dist/src/goals.js +26 -12
  283. package/dist/src/goals.js.map +1 -1
  284. package/dist/src/graph-extract.js +9 -1
  285. package/dist/src/graph-extract.js.map +1 -1
  286. package/dist/src/graph-view.js.map +1 -1
  287. package/dist/src/graph.js +38 -13
  288. package/dist/src/graph.js.map +1 -1
  289. package/dist/src/hooks.js +42 -21
  290. package/dist/src/hooks.js.map +1 -1
  291. package/dist/src/importers.js +23 -42
  292. package/dist/src/importers.js.map +1 -1
  293. package/dist/src/incidents.js +14 -0
  294. package/dist/src/incidents.js.map +1 -1
  295. package/dist/src/mcp/server.js +58 -28
  296. package/dist/src/mcp/server.js.map +1 -1
  297. package/dist/src/memory-value.js +8 -2
  298. package/dist/src/memory-value.js.map +1 -1
  299. package/dist/src/memory.js.map +1 -1
  300. package/dist/src/physics-state.js +5 -0
  301. package/dist/src/physics-state.js.map +1 -1
  302. package/dist/src/physics.js.map +1 -1
  303. package/dist/src/policies.js +22 -0
  304. package/dist/src/policies.js.map +1 -1
  305. package/dist/src/predictions.js +14 -0
  306. package/dist/src/predictions.js.map +1 -1
  307. package/dist/src/processes.js +21 -2
  308. package/dist/src/processes.js.map +1 -1
  309. package/dist/src/project-briefs.js +28 -2
  310. package/dist/src/project-briefs.js.map +1 -1
  311. package/dist/src/raw-archive-mirror-cleanup.js +2 -0
  312. package/dist/src/raw-archive-mirror-cleanup.js.map +1 -1
  313. package/dist/src/raw-archive.js +3 -9
  314. package/dist/src/raw-archive.js.map +1 -1
  315. package/dist/src/recall-scope.js +11 -6
  316. package/dist/src/recall-scope.js.map +1 -1
  317. package/dist/src/recall-trace.js +7 -3
  318. package/dist/src/recall-trace.js.map +1 -1
  319. package/dist/src/refine-llm.js +3 -0
  320. package/dist/src/refine-llm.js.map +1 -1
  321. package/dist/src/reject-flow.js +2 -0
  322. package/dist/src/reject-flow.js.map +1 -1
  323. package/dist/src/rejection.js +3 -0
  324. package/dist/src/rejection.js.map +1 -1
  325. package/dist/src/replay.js.map +1 -1
  326. package/dist/src/rerankers/cross-encoder.js +11 -4
  327. package/dist/src/rerankers/cross-encoder.js.map +1 -1
  328. package/dist/src/rerankers/index.js +5 -3
  329. package/dist/src/rerankers/index.js.map +1 -1
  330. package/dist/src/rerankers/llm.js +8 -5
  331. package/dist/src/rerankers/llm.js.map +1 -1
  332. package/dist/src/scheduler.js +15 -5
  333. package/dist/src/scheduler.js.map +1 -1
  334. package/dist/src/search.js.map +1 -1
  335. package/dist/src/server-detect.js +2 -0
  336. package/dist/src/server-detect.js.map +1 -1
  337. package/dist/src/server.js +194 -135
  338. package/dist/src/server.js.map +1 -1
  339. package/dist/src/skills.js +10 -3
  340. package/dist/src/skills.js.map +1 -1
  341. package/dist/src/store.js +140 -14
  342. package/dist/src/store.js.map +1 -1
  343. package/dist/src/trace.js +15 -7
  344. package/dist/src/trace.js.map +1 -1
  345. package/dist/src/version.js +1 -1
  346. package/dist/src/working-memory.js +8 -0
  347. package/dist/src/working-memory.js.map +1 -1
  348. package/dist/src/yaml.js +12 -3
  349. package/dist/src/yaml.js.map +1 -1
  350. package/dist/store.d.ts +16 -3
  351. package/dist/store.d.ts.map +1 -1
  352. package/dist/store.js +140 -14
  353. package/dist/store.js.map +1 -1
  354. package/dist/trace.d.ts.map +1 -1
  355. package/dist/trace.js +15 -7
  356. package/dist/trace.js.map +1 -1
  357. package/dist/version.d.ts +1 -1
  358. package/dist/version.js +1 -1
  359. package/dist/working-memory.d.ts +6 -2
  360. package/dist/working-memory.d.ts.map +1 -1
  361. package/dist/working-memory.js +8 -0
  362. package/dist/working-memory.js.map +1 -1
  363. package/dist/yaml.d.ts.map +1 -1
  364. package/dist/yaml.js +12 -3
  365. package/dist/yaml.js.map +1 -1
  366. package/dist-ui/assets/{index-Cxa4RcAh.js → index-DOqenbV2.js} +11 -11
  367. package/dist-ui/index.html +1 -1
  368. package/extensions/openclaw-plugin/index.ts +50 -10
  369. package/extensions/openclaw-plugin/openclaw.plugin.json +1 -1
  370. package/extensions/openclaw-plugin/package.json +1 -1
  371. package/openclaw.plugin.json +1 -1
  372. package/package.json +4 -1
package/dist/api.d.ts CHANGED
@@ -710,12 +710,13 @@ export declare function drillDown(ctx: Context, summaryId: string, opts?: DrillD
710
710
  * (server.ts explicit-ids path, MCP hippo_outcome) omits it and gets no
711
711
  * linkage, which is correct.
712
712
  */
713
- export declare function outcome(ctx: Context, ids: ReadonlyArray<string>, good: boolean, opts?: {
714
- traceId?: number;
715
- }): {
713
+ export interface OutcomeResult {
716
714
  applied: number;
717
715
  appliedIds: string[];
718
- };
716
+ }
717
+ export declare function outcome(ctx: Context, ids: ReadonlyArray<string>, good: boolean, opts?: {
718
+ traceId?: number;
719
+ }): OutcomeResult;
719
720
  /**
720
721
  * Delete a memory by id. `deleteEntry` threads ctx.actor.subject into its internal
721
722
  * audit hook, so exactly one 'forget' event lands with the supplied actor.
@@ -726,10 +727,11 @@ export declare function outcome(ctx: Context, ids: ReadonlyArray<string>, good:
726
727
  * cross-tenant access with a not-found error (no info leak about whether
727
728
  * the id exists in another tenant).
728
729
  */
729
- export declare function forget(ctx: Context, id: string): {
730
+ export interface ForgetResult {
730
731
  ok: true;
731
732
  id: string;
732
- };
733
+ }
734
+ export declare function forget(ctx: Context, id: string): ForgetResult;
733
735
  export interface RejectOpts {
734
736
  /** By-id form: reject the CURRENT content of an existing memory. */
735
737
  memoryId?: string;
@@ -764,7 +766,7 @@ export declare function reject(ctx: Context, opts: RejectOpts): RejectResult;
764
766
  * more than one (use a longer prefix).
765
767
  */
766
768
  export declare function unreject(ctx: Context, digestOrPrefix: string): {
767
- ok: true;
769
+ ok: boolean;
768
770
  digest: string;
769
771
  };
770
772
  /** List every rejected-value tombstone for `ctx.tenantId`, newest first. */
@@ -780,22 +782,24 @@ export declare function listRejections(ctx: Context): RejectedValueRow[];
780
782
  * preserves the entry's existing tenantId on the global side. Task 4 may
781
783
  * tighten this once writeEntry/readEntry thread tenant context.
782
784
  */
783
- export declare function promote(ctx: Context, id: string): {
785
+ export interface PromoteResult {
784
786
  ok: true;
785
787
  sourceId: string;
786
788
  globalId: string;
787
- };
789
+ }
790
+ export declare function promote(ctx: Context, id: string): PromoteResult;
788
791
  /**
789
792
  * Replace an old memory with new content, chaining old.superseded_by = new.id.
790
793
  * Mirrors `cmdSupersede` in cli.ts (without flag-driven layer/tag/pin overrides
791
794
  * — A1 keeps the API minimal; the CLI handler will continue to handle those
792
795
  * flags and pass the resolved values once Task 4 lands).
793
796
  */
794
- export declare function supersede(ctx: Context, oldId: string, newContent: string): {
797
+ export interface SupersedeResult {
795
798
  ok: true;
796
799
  oldId: string;
797
800
  newId: string;
798
- };
801
+ }
802
+ export declare function supersede(ctx: Context, oldId: string, newContent: string): SupersedeResult;
799
803
  /**
800
804
  * Archive a kind='raw' memory: snapshot into raw_archive, mark archived, delete.
801
805
  *
@@ -813,10 +817,11 @@ export interface ArchiveRawOpts {
813
817
  */
814
818
  afterArchive?: (db: DatabaseSyncLike, archivedMemoryId: string) => void;
815
819
  }
816
- export declare function archiveRaw(ctx: Context, id: string, reason: string, opts?: ArchiveRawOpts): {
820
+ export interface ArchiveRawResult {
817
821
  ok: true;
818
822
  archivedAt: string;
819
- };
823
+ }
824
+ export declare function archiveRaw(ctx: Context, id: string, reason: string, opts?: ArchiveRawOpts): ArchiveRawResult;
820
825
  export interface AuthCreateOpts {
821
826
  label?: string;
822
827
  /**
@@ -869,10 +874,11 @@ export declare function authList(ctx: Context, opts: {
869
874
  * (M1 fix from A5 review, mirrors src/cli.ts:cmdAuthRevoke). Skipped on no-op
870
875
  * revoke (already revoked) so re-running doesn't pad the audit log.
871
876
  */
872
- export declare function authRevoke(ctx: Context, keyId: string): {
877
+ export interface AuthRevokeResult {
873
878
  ok: true;
874
879
  revokedAt: string;
875
- };
880
+ }
881
+ export declare function authRevoke(ctx: Context, keyId: string): AuthRevokeResult;
876
882
  export interface AuditListOpts {
877
883
  op?: AuditOp;
878
884
  /** ISO timestamp lower bound. */
@@ -1096,8 +1102,9 @@ export declare function sleep(ctx: Context, opts?: SleepOpts): Promise<SleepResu
1096
1102
  * would break the (correct) cross-tenant-silent-skip behavior covered by
1097
1103
  * the test in `tests/api-outcome-for-last-recall.test.ts`.
1098
1104
  */
1099
- export declare function outcomeForLastRecall(ctx: Context, good: boolean): {
1105
+ export interface OutcomeForLastRecallResult {
1100
1106
  applied: number;
1101
1107
  ids: string[];
1102
- };
1108
+ }
1109
+ export declare function outcomeForLastRecall(ctx: Context, good: boolean): OutcomeForLastRecallResult;
1103
1110
  //# sourceMappingURL=api.d.ts.map
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
package/dist/api.js CHANGED
@@ -283,7 +283,9 @@ export function recall(ctx, opts) {
283
283
  sessionId: opts.sessionId,
284
284
  tenantId: ctx.tenantId,
285
285
  limit,
286
- ...(explainTrace ? { trace: explainTrace } : {}),
286
+ // trace is optional on applyGoalStackBoost; explicitly passing
287
+ // undefined when !explain is identical to omitting the key.
288
+ trace: explainTrace,
287
289
  });
288
290
  baseSlice = baseScored.map((r) => r.entry);
289
291
  }
@@ -361,19 +363,23 @@ export function recall(ctx, opts) {
361
363
  // Substituted summaries land at the end with score = 0.5 (mid-rank), so
362
364
  // they don't outrank top-N strong matches but stay above lowest-rank
363
365
  // leaves on the consumer side. Caller sorts/filters as it sees fit.
364
- const summaryRanked = substituted.map((s) => ({
365
- id: s.entry.id,
366
- content: s.entry.content,
367
- score: 0.5,
368
- layer: s.entry.layer,
369
- strength: s.entry.strength,
370
- isSummary: true,
371
- substitutedFor: s.childIds,
372
- descendantCount: s.entry.descendant_count ?? s.childIds.length,
366
+ const summaryRanked = substituted.map((s) => {
367
+ const item = {
368
+ id: s.entry.id,
369
+ content: s.entry.content,
370
+ score: 0.5,
371
+ layer: s.entry.layer,
372
+ strength: s.entry.strength,
373
+ isSummary: true,
374
+ substitutedFor: s.childIds,
375
+ descendantCount: s.entry.descendant_count ?? s.childIds.length,
376
+ };
373
377
  // A7 recall-trace: summary band runs no re-ranking, but under explain it
374
378
  // still carries the pipeline marker (no steps). Absent when !explain.
375
- ...(opts.explain ? { rerankPipeline: 'api' } : {}),
376
- }));
379
+ if (opts.explain)
380
+ item.rerankPipeline = 'api';
381
+ return item;
382
+ });
377
383
  // v1.5.2 fresh-tail. Surface the last N kind='raw' rows so an agent's
378
384
  // "what did I just see" recall path always covers the recent window even
379
385
  // when the query terms don't match. Tenant + scope filtered.
@@ -405,17 +411,19 @@ export function recall(ctx, opts) {
405
411
  for (const m of recentScoped) {
406
412
  if (seenIds.has(m.id))
407
413
  continue;
408
- freshRanked.push({
414
+ const item = {
409
415
  id: m.id,
410
416
  content: m.content,
411
417
  score: 1.0,
412
418
  layer: m.layer,
413
419
  strength: m.strength,
414
420
  isFreshTail: true,
415
- // A7 recall-trace: fresh-tail band runs no re-ranking; under explain
416
- // it carries the pipeline marker (no steps). Absent when !explain.
417
- ...(opts.explain ? { rerankPipeline: 'api' } : {}),
418
- });
421
+ };
422
+ // A7 recall-trace: fresh-tail band runs no re-ranking; under explain
423
+ // it carries the pipeline marker (no steps). Absent when !explain.
424
+ if (opts.explain)
425
+ item.rerankPipeline = 'api';
426
+ freshRanked.push(item);
419
427
  seenIds.add(m.id);
420
428
  }
421
429
  }
@@ -506,6 +514,9 @@ export function recall(ctx, opts) {
506
514
  return false;
507
515
  // v1.7.2: read from RECALL_DEFAULT_DENY_SCOPES (single source of truth
508
516
  // shared with SQL + passesScopeFilterForRecall).
517
+ // SAFETY: RECALL_DEFAULT_DENY_SCOPES is declared as a readonly tuple of
518
+ // string literals; widening to readonly string[] only relaxes the
519
+ // element type for Array.includes(s: string), it does not change values.
509
520
  if (RECALL_DEFAULT_DENY_SCOPES.includes(s))
510
521
  return false;
511
522
  return true;
@@ -630,7 +641,7 @@ export function recall(ctx, opts) {
630
641
  }
631
642
  }
632
643
  }
633
- return {
644
+ const result = {
634
645
  results: rankedOut,
635
646
  total: totalOut,
636
647
  tokens: tokensOut,
@@ -645,11 +656,16 @@ export function recall(ctx, opts) {
645
656
  freshTailAdded: freshTailAddedCount,
646
657
  suppressedByInterference: suppressedByInterferenceCount,
647
658
  }),
648
- ...(planningFallacyHint ? { planningFallacyHint } : {}),
649
- ...(planningFallacyWatching ? { planningFallacyWatching } : {}),
650
- ...(anchoringHint ? { anchoringHint } : {}),
651
- ...(availabilityHint ? { availabilityHint } : {}),
652
659
  };
660
+ if (planningFallacyHint)
661
+ result.planningFallacyHint = planningFallacyHint;
662
+ if (planningFallacyWatching)
663
+ result.planningFallacyWatching = planningFallacyWatching;
664
+ if (anchoringHint)
665
+ result.anchoringHint = anchoringHint;
666
+ if (availabilityHint)
667
+ result.availabilityHint = availabilityHint;
668
+ return result;
653
669
  }
654
670
  /**
655
671
  * Build a chronologically-ordered context window for a session. Adapts the
@@ -913,34 +929,6 @@ export function drillDown(ctx, summaryId, opts = {}) {
913
929
  truncated,
914
930
  };
915
931
  }
916
- // ---------------------------------------------------------------------------
917
- // outcome
918
- // ---------------------------------------------------------------------------
919
- /**
920
- * Apply a positive/negative outcome to a list of recently-recalled memory ids.
921
- * Used by the MCP `hippo_outcome` tool and the HTTP `POST /v1/outcome` route.
922
- * Tenant-scoped: ids that don't belong to ctx.tenantId are silently skipped
923
- * (matches the prior MCP semantics — a stale id from another tenant doesn't
924
- * crash the call). Each successful outcome emits one audit_log row with
925
- * op='outcome' tagged with ctx.actor.subject.
926
- *
927
- * Returns `{applied, appliedIds}`. `appliedIds` is the tenant-filtered subset
928
- * of input ids that actually had `applyOutcome` run on them (i.e. ids whose
929
- * `readEntry(..., ctx.tenantId)` resolved). Callers that surface the id list
930
- * over a multi-tenant boundary (HTTP /v1/outcome last-recall path, Python SDK)
931
- * MUST return `appliedIds` instead of the raw input list — otherwise the
932
- * non-applied (cross-tenant) ids leak to the caller. Added in v1.11.4 to
933
- * close that disclosure path on POST /v1/outcome.
934
- *
935
- * `opts.traceId` (LC1, docs/plans/2026-08-02-lc1-recall-trace-persistence.md):
936
- * OPTIONAL additive opt so a programmatic caller can link this outcome to
937
- * the recall_traces row it judges. NOT applied unconditionally — an SDK
938
- * caller passing explicit ids with no preceding CLI/context recall would
939
- * otherwise get linked to a stale, unrelated trace. `outcomeForLastRecall`
940
- * supplies this automatically from `last_trace_id`; every other caller
941
- * (server.ts explicit-ids path, MCP hippo_outcome) omits it and gets no
942
- * linkage, which is correct.
943
- */
944
932
  export function outcome(ctx, ids, good, opts) {
945
933
  const appliedIds = [];
946
934
  const db = openHippoDb(ctx.hippoRoot);
@@ -977,22 +965,11 @@ export function outcome(ctx, ids, good, opts) {
977
965
  }
978
966
  return { applied: appliedIds.length, appliedIds };
979
967
  }
980
- // ---------------------------------------------------------------------------
981
- // forget
982
- // ---------------------------------------------------------------------------
983
- /**
984
- * Delete a memory by id. `deleteEntry` threads ctx.actor.subject into its internal
985
- * audit hook, so exactly one 'forget' event lands with the supplied actor.
986
- *
987
- * Tenant scope: deleteEntry looks up the row by id alone, so without an
988
- * explicit tenant guard a Bearer for tenant A could delete tenant B's row
989
- * by guessing or leaking the id. Pre-check the row's tenant_id and deny
990
- * cross-tenant access with a not-found error (no info leak about whether
991
- * the id exists in another tenant).
992
- */
993
968
  export function forget(ctx, id) {
994
969
  const db = openHippoDb(ctx.hippoRoot);
995
970
  try {
971
+ // SAFETY: row's shape matches the single `tenant_id` column named in
972
+ // the SELECT above.
996
973
  const row = db
997
974
  .prepare(`SELECT tenant_id FROM memories WHERE id = ?`)
998
975
  .get(id);
@@ -1030,6 +1007,8 @@ export function reject(ctx, opts) {
1030
1007
  // keeps the error message consistent with the rest of this module.
1031
1008
  const db = openHippoDb(ctx.hippoRoot);
1032
1009
  try {
1010
+ // SAFETY: row's shape matches the single `tenant_id` column named in
1011
+ // the SELECT above.
1033
1012
  const row = db
1034
1013
  .prepare(`SELECT tenant_id FROM memories WHERE id = ?`)
1035
1014
  .get(opts.memoryId);
@@ -1071,20 +1050,6 @@ export function unreject(ctx, digestOrPrefix) {
1071
1050
  export function listRejections(ctx) {
1072
1051
  return listRejectionsForTenant(ctx.hippoRoot, ctx.tenantId);
1073
1052
  }
1074
- // ---------------------------------------------------------------------------
1075
- // promote
1076
- // ---------------------------------------------------------------------------
1077
- /**
1078
- * Copy a local memory into the global store. Mirrors `cmdPromote` in cli.ts:
1079
- * the `writeEntry` inside `promoteToGlobal` emits a 'remember' on the global
1080
- * db; we add a 'promote' audit event on the global db so the user-facing
1081
- * intent stays distinct from the underlying upsert.
1082
- *
1083
- * Note: `promoteToGlobal` does not currently take a tenantId override — it
1084
- * reads the entry from the local root via `readEntry` (no tenant filter) and
1085
- * preserves the entry's existing tenantId on the global side. Task 4 may
1086
- * tighten this once writeEntry/readEntry thread tenant context.
1087
- */
1088
1053
  export function promote(ctx, id) {
1089
1054
  // Tenant scope: promoteToGlobal reads the entry from the local root via
1090
1055
  // readEntry without a tenant filter, so a Bearer for tenant A could
@@ -1094,6 +1059,8 @@ export function promote(ctx, id) {
1094
1059
  // another tenant).
1095
1060
  const ownerDb = openHippoDb(ctx.hippoRoot);
1096
1061
  try {
1062
+ // SAFETY: row's shape matches the single `tenant_id` column named in
1063
+ // the SELECT above.
1097
1064
  const row = ownerDb
1098
1065
  .prepare(`SELECT tenant_id FROM memories WHERE id = ?`)
1099
1066
  .get(id);
@@ -1124,15 +1091,6 @@ export function promote(ctx, id) {
1124
1091
  }
1125
1092
  return { ok: true, sourceId: id, globalId: globalEntry.id };
1126
1093
  }
1127
- // ---------------------------------------------------------------------------
1128
- // supersede
1129
- // ---------------------------------------------------------------------------
1130
- /**
1131
- * Replace an old memory with new content, chaining old.superseded_by = new.id.
1132
- * Mirrors `cmdSupersede` in cli.ts (without flag-driven layer/tag/pin overrides
1133
- * — A1 keeps the API minimal; the CLI handler will continue to handle those
1134
- * flags and pass the resolved values once Task 4 lands).
1135
- */
1136
1094
  export function supersede(ctx, oldId, newContent) {
1137
1095
  // Read old (tenant-scoped). readEntry filters by tenantId, so a Bearer for
1138
1096
  // tenant A on tenant B's id throws "Memory not found" here without any
@@ -1242,6 +1200,8 @@ export function archiveRaw(ctx, id, reason, opts = {}) {
1242
1200
  // pre-check. Deny cross-tenant access with the same not-found message
1243
1201
  // archiveRawMemory itself would throw on a missing row, so we don't
1244
1202
  // leak whether the id exists in another tenant.
1203
+ // SAFETY: row's shape matches the single `tenant_id` column named in
1204
+ // the SELECT above.
1245
1205
  const row = db
1246
1206
  .prepare(`SELECT tenant_id FROM memories WHERE id = ?`)
1247
1207
  .get(id);
@@ -1344,20 +1304,11 @@ export function authList(ctx, opts) {
1344
1304
  closeHippoDb(db);
1345
1305
  }
1346
1306
  }
1347
- /**
1348
- * Revoke an API key.
1349
- *
1350
- * Security: the key must belong to `ctx.tenantId`. Cross-tenant revoke is
1351
- * rejected with the same "not found" message used for missing keys, so that a
1352
- * caller cannot probe which key_ids exist on other tenants.
1353
- *
1354
- * Audit: emits 'auth_revoke' with `tenantId` set to the KEY ROW's tenant_id
1355
- * (M1 fix from A5 review, mirrors src/cli.ts:cmdAuthRevoke). Skipped on no-op
1356
- * revoke (already revoked) so re-running doesn't pad the audit log.
1357
- */
1358
1307
  export function authRevoke(ctx, keyId) {
1359
1308
  const db = openHippoDb(ctx.hippoRoot);
1360
1309
  try {
1310
+ // SAFETY: row's shape matches the three columns named in the SELECT
1311
+ // above.
1361
1312
  const row = db
1362
1313
  .prepare(`SELECT key_id, tenant_id, revoked_at FROM api_keys WHERE key_id = ?`)
1363
1314
  .get(keyId);
@@ -1376,6 +1327,8 @@ export function authRevoke(ctx, keyId) {
1376
1327
  }
1377
1328
  else {
1378
1329
  revokeApiKey(db, keyId);
1330
+ // SAFETY: updated's shape matches the single `revoked_at` column named
1331
+ // in the SELECT above.
1379
1332
  const updated = db
1380
1333
  .prepare(`SELECT revoked_at FROM api_keys WHERE key_id = ?`)
1381
1334
  .get(keyId);
@@ -1834,6 +1787,9 @@ export async function sleep(ctx, opts = {}) {
1834
1787
  dirtyTenants = phases.loadPendingExtractionTenants(ctx.hippoRoot);
1835
1788
  }
1836
1789
  catch (snapErr) {
1790
+ // SAFETY: this is a best-effort log message only; property access on
1791
+ // any JS value is safe (undefined if absent), preserving the existing
1792
+ // lenient formatting even when something non-Error was thrown.
1837
1793
  graphSnapshotError = snapErr.message;
1838
1794
  }
1839
1795
  }
@@ -1950,6 +1906,9 @@ export async function sleep(ctx, opts = {}) {
1950
1906
  markPendingProcessedUpTo(ctx.hippoRoot, tenantId, maxPendingId);
1951
1907
  }
1952
1908
  catch (tenantErr) {
1909
+ // SAFETY: this is a best-effort log message only; property access
1910
+ // on any JS value is safe (undefined if absent), preserving the
1911
+ // existing lenient formatting even when something non-Error was thrown.
1953
1912
  result.details = [
1954
1913
  ...(result.details ?? []),
1955
1914
  `graph: extract failed for a dirty tenant (left pending): ${tenantErr.message}`,
@@ -1961,6 +1920,9 @@ export async function sleep(ctx, opts = {}) {
1961
1920
  }
1962
1921
  }
1963
1922
  catch (graphErr) {
1923
+ // SAFETY: this is a best-effort log message only; property access on
1924
+ // any JS value is safe (undefined if absent), preserving the existing
1925
+ // lenient formatting even when something non-Error was thrown.
1964
1926
  result.details = [
1965
1927
  ...(result.details ?? []),
1966
1928
  `graph: drain phase failed (skipped): ${graphErr.message}`,
@@ -1969,6 +1931,9 @@ export async function sleep(ctx, opts = {}) {
1969
1931
  return result;
1970
1932
  }
1971
1933
  catch (err) {
1934
+ // SAFETY: phaseError is read via phaseError.message / (phaseError !==
1935
+ // null) below, both safe even if a non-Error was thrown; this mirrors
1936
+ // the existing lenient (err as Error) pattern used throughout this catch chain.
1972
1937
  phaseError = err;
1973
1938
  throw err;
1974
1939
  }
@@ -1994,30 +1959,23 @@ export async function sleep(ctx, opts = {}) {
1994
1959
  try {
1995
1960
  const db = openHippoDb(ctx.hippoRoot);
1996
1961
  try {
1997
- // D2 v1.12.10: tag with '__host__' synthetic tenant since api.sleep
1998
- // is host-wide (cross-tenant dedup is intentional). Tagging with
1999
- // ctx.tenantId would mislead tenant-scoped audit queries — a
2000
- // consolidate row labeled tenant=acme is wrong when the underlying
2001
- // work touched all tenants' rows. '__host__' is a system-reserved
2002
- // tenant string for host-wide ops; admins query it explicitly via
2003
- // `hippo audit list --tenant __host__`. The actor field still
2004
- // carries ctx.actor.subject so the operator who triggered the
2005
- // consolidation is traceable.
1962
+ const sleepAuditMetadata = {
1963
+ consolidationCount,
1964
+ dedupCount,
1965
+ auditDeletedCount,
1966
+ ambientTotal,
1967
+ dryRun,
1968
+ noShare: opts.noShare ?? false,
1969
+ partial: phaseError !== null,
1970
+ triggeredByTenant: ctx.tenantId, // preserve for audit forensics
1971
+ };
1972
+ if (phaseError)
1973
+ sleepAuditMetadata.errorMessage = phaseError.message;
2006
1974
  appendAuditEvent(db, {
2007
1975
  tenantId: '__host__',
2008
1976
  actor: ctx.actor.subject,
2009
1977
  op: 'consolidate',
2010
- metadata: {
2011
- consolidationCount,
2012
- dedupCount,
2013
- auditDeletedCount,
2014
- ambientTotal,
2015
- dryRun,
2016
- noShare: opts.noShare ?? false,
2017
- partial: phaseError !== null,
2018
- triggeredByTenant: ctx.tenantId, // preserve for audit forensics
2019
- ...(phaseError ? { errorMessage: phaseError.message } : {}),
2020
- },
1978
+ metadata: { ...sleepAuditMetadata },
2021
1979
  });
2022
1980
  }
2023
1981
  finally {
@@ -2030,36 +1988,14 @@ export async function sleep(ctx, opts = {}) {
2030
1988
  // This guards the case where consolidation AND audit-emit fail in the
2031
1989
  // same invocation against the same DB (correlated: same disk, same
2032
1990
  // schema state) — losing the original error makes diagnosis much harder.
1991
+ // SAFETY: this is a best-effort log message only; property access on
1992
+ // any JS value is safe (undefined if absent), preserving the existing
1993
+ // lenient formatting even when something non-Error was thrown.
2033
1994
  // eslint-disable-next-line no-console
2034
1995
  console.error(`[hippo] api.sleep audit emit failed: ${auditErr.message}`);
2035
1996
  }
2036
1997
  }
2037
1998
  }
2038
- // ---------------------------------------------------------------------------
2039
- // outcomeForLastRecall (last-recall wrapper around outcome — Task 3)
2040
- // ---------------------------------------------------------------------------
2041
- /**
2042
- * Apply an outcome to the ids most recently returned by `recall()`.
2043
- *
2044
- * Reads `loadIndex(ctx.hippoRoot).last_retrieval_ids` (per-hippoRoot local
2045
- * state; not tenant-scoped at the index layer) and forwards to `outcome()`,
2046
- * which DOES tenant-filter via `readEntry(..., ctx.tenantId)`. Cross-tenant
2047
- * ids in `last_retrieval_ids` are silently skipped, matching the MCP
2048
- * `hippo_outcome` semantics.
2049
- *
2050
- * **Tenant-safe response shape (v1.11.4 security fix):** the returned `ids`
2051
- * field contains ONLY the tenant-filtered subset that actually had outcomes
2052
- * applied (i.e. `appliedIds` from the inner `outcome()` call). Earlier
2053
- * versions returned the raw `last_retrieval_ids` regardless of tenant, which
2054
- * leaked cross-tenant memory IDs to the caller via POST /v1/outcome's
2055
- * no-body last-recall response. The fix is at this helper so all callers
2056
- * (CLI cmdOutcome, HTTP /v1/outcome, MCP `hippo_outcome` if added later)
2057
- * inherit the tenant-safe contract.
2058
- *
2059
- * Do NOT tighten `loadIndex` with `tenantId` inside this helper — doing so
2060
- * would break the (correct) cross-tenant-silent-skip behavior covered by
2061
- * the test in `tests/api-outcome-for-last-recall.test.ts`.
2062
- */
2063
1999
  export function outcomeForLastRecall(ctx, good) {
2064
2000
  const idx = loadIndex(ctx.hippoRoot);
2065
2001
  const ids = idx.last_retrieval_ids;