@remnic/core 9.54.5 → 9.54.6

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 (550) hide show
  1. package/dist/access-admin-ops-surface.d.ts +24 -24
  2. package/dist/access-admin-ops-surface.js +32 -29
  3. package/dist/access-authorization-probe.d.ts +25 -23
  4. package/dist/access-authorization-probe.js +35 -30
  5. package/dist/access-boundary.d.ts +26 -24
  6. package/dist/access-boundary.js +36 -31
  7. package/dist/access-cli.js +86 -80
  8. package/dist/access-cli.js.map +1 -1
  9. package/dist/access-coding-context-resolution.d.ts +1 -1
  10. package/dist/access-extraction-force-flush.d.ts +19 -19
  11. package/dist/access-extraction-force-flush.js +32 -29
  12. package/dist/access-health-types.d.ts +1 -1
  13. package/dist/access-http-lcm-compaction.d.ts +22 -22
  14. package/dist/access-http-lifecycle-flush.d.ts +22 -22
  15. package/dist/access-http-offline-stream.d.ts +18 -18
  16. package/dist/access-http-query.js +32 -29
  17. package/dist/access-http.d.ts +55 -37
  18. package/dist/access-http.js +52 -43
  19. package/dist/access-identity-continuity-surface.d.ts +9 -9
  20. package/dist/access-identity-continuity-surface.js +32 -29
  21. package/dist/access-lcm-surface.d.ts +21 -21
  22. package/dist/access-lcm-surface.js +32 -29
  23. package/dist/access-mcp.d.ts +22 -22
  24. package/dist/access-mcp.js +40 -36
  25. package/dist/access-memory-search-fanout.d.ts +2 -2
  26. package/dist/{access-namespace-preflight-BdHlGd_T.d.ts → access-namespace-preflight-CCNn_6NE.d.ts} +1 -1
  27. package/dist/access-namespace-preflight.d.ts +3 -3
  28. package/dist/access-namespace-preflight.js +32 -29
  29. package/dist/access-observe-write-surface.d.ts +22 -22
  30. package/dist/access-observe-write-surface.js +32 -29
  31. package/dist/access-offline-manifest.d.ts +9 -9
  32. package/dist/access-offline-manifest.js +2 -2
  33. package/dist/access-operations-batch.js +34 -31
  34. package/dist/access-operations.d.ts +26 -26
  35. package/dist/access-operations.js +38 -34
  36. package/dist/access-recall-concurrency.d.ts +21 -21
  37. package/dist/access-recall-concurrency.js +32 -29
  38. package/dist/access-recall-response.d.ts +19 -19
  39. package/dist/access-recall-response.js +32 -29
  40. package/dist/access-recall-surface.d.ts +19 -19
  41. package/dist/access-recall-surface.js +32 -29
  42. package/dist/access-schema.d.ts +88 -88
  43. package/dist/access-schema.js +3 -3
  44. package/dist/{access-service-DL7X9hrg.d.ts → access-service-DkSdXK4S.d.ts} +1314 -83
  45. package/dist/access-service-helpers.d.ts +22 -22
  46. package/dist/access-service.d.ts +31 -31
  47. package/dist/access-service.js +32 -29
  48. package/dist/access-surface-catalog.d.ts +22 -22
  49. package/dist/access-surface-catalog.js +209 -2
  50. package/dist/access-surface-catalog.js.map +1 -1
  51. package/dist/access-wearables-meetings-surface.d.ts +3 -3
  52. package/dist/action-confidence.d.ts +1 -1
  53. package/dist/active-memory-bridge.d.ts +6 -5
  54. package/dist/active-memory-bridge.js +2 -2
  55. package/dist/active-recall.d.ts +1 -1
  56. package/dist/active-recall.js +2 -1
  57. package/dist/active-recall.js.map +1 -1
  58. package/dist/adapters/index.js +4 -4
  59. package/dist/adapters/registry.js +2 -2
  60. package/dist/admin-console/public/what-helps-me/app.js +1594 -0
  61. package/dist/admin-console/public/what-helps-me/index.html +339 -0
  62. package/dist/admin-console/public/what-helps-me/model.js +685 -0
  63. package/dist/admin-console/public/what-helps-me/what-helps-me.css +1296 -0
  64. package/dist/ambient-provenance.d.ts +1 -1
  65. package/dist/artifact-search.d.ts +1 -1
  66. package/dist/{auto-sync-TDHLZPVP.js → auto-sync-NR3GPCOA.js} +4 -4
  67. package/dist/behavior-learner.d.ts +1 -1
  68. package/dist/behavior-signals.d.ts +1 -1
  69. package/dist/bootstrap.d.ts +9 -9
  70. package/dist/briefing.d.ts +2 -2
  71. package/dist/briefing.js +14 -14
  72. package/dist/buffer-surprise-report.d.ts +1 -1
  73. package/dist/buffer-turn-helpers.d.ts +1 -1
  74. package/dist/buffer.d.ts +2 -2
  75. package/dist/buffer.js +2 -2
  76. package/dist/bulk-import/index.d.ts +3 -3
  77. package/dist/calibration.d.ts +1 -1
  78. package/dist/calibration.js +1 -1
  79. package/dist/capabilities.d.ts +1 -1
  80. package/dist/{catalog-B90is4d8.d.ts → catalog-DGFf8mD9.d.ts} +1 -1
  81. package/dist/causal-behavior.d.ts +1 -1
  82. package/dist/causal-consolidation.d.ts +1 -1
  83. package/dist/causal-consolidation.js +15 -15
  84. package/dist/causal-trajectory-graph.d.ts +1 -1
  85. package/dist/{chunk-CSY44OKU.js → chunk-26ZXBTYN.js} +4 -4
  86. package/dist/chunk-26ZXBTYN.js.map +1 -0
  87. package/dist/{chunk-LLJMAULE.js → chunk-2FKEIPIT.js} +5 -5
  88. package/dist/{chunk-AU7Q3LSC.js → chunk-2QSZNTDO.js} +4 -4
  89. package/dist/chunk-37DZZFFM.js +502 -0
  90. package/dist/chunk-37DZZFFM.js.map +1 -0
  91. package/dist/chunk-3HSRWJTC.js +9 -0
  92. package/dist/chunk-3HSRWJTC.js.map +1 -0
  93. package/dist/{chunk-TKFGFDPJ.js → chunk-3TIZPSJC.js} +4 -4
  94. package/dist/{chunk-B4T3FQMT.js → chunk-43SEBY2M.js} +1 -1
  95. package/dist/{chunk-LVKYLMSM.js → chunk-46SZBVDS.js} +2 -2
  96. package/dist/{chunk-YKZLOPTC.js → chunk-5FD7JMTX.js} +2 -2
  97. package/dist/{chunk-2PNXOQ4P.js → chunk-5NB726GV.js} +3 -7
  98. package/dist/chunk-5NB726GV.js.map +1 -0
  99. package/dist/chunk-62OKGIJA.js +39 -0
  100. package/dist/chunk-62OKGIJA.js.map +1 -0
  101. package/dist/{chunk-WM5LD6AT.js → chunk-6CYHUWCO.js} +2 -2
  102. package/dist/{chunk-BIF4SHMD.js → chunk-76JJSXK7.js} +1 -1
  103. package/dist/chunk-76JJSXK7.js.map +1 -0
  104. package/dist/{chunk-3SXLD5T3.js → chunk-7BD6O7ZV.js} +189 -4
  105. package/dist/chunk-7BD6O7ZV.js.map +1 -0
  106. package/dist/chunk-7TBXNYLO.js +346 -0
  107. package/dist/chunk-7TBXNYLO.js.map +1 -0
  108. package/dist/{chunk-YR65W7BV.js → chunk-BRR5EUTF.js} +3 -3
  109. package/dist/{chunk-JKW663ZN.js → chunk-CIAI24TQ.js} +2 -2
  110. package/dist/{chunk-3WGI7F4V.js → chunk-D3LBIUWV.js} +9219 -5233
  111. package/dist/chunk-D3LBIUWV.js.map +1 -0
  112. package/dist/{chunk-YDWPYDML.js → chunk-EKTP7MNS.js} +4 -4
  113. package/dist/{chunk-6LEIWWAF.js → chunk-F2JRDPON.js} +2 -2
  114. package/dist/{chunk-VYQ4URQB.js → chunk-FFRTNF3L.js} +2 -2
  115. package/dist/{chunk-TY6MKIWP.js → chunk-FONWBCVY.js} +3 -3
  116. package/dist/{chunk-XSV2YDCJ.js → chunk-FPLM2TKD.js} +2 -2
  117. package/dist/{chunk-VTU5IEKY.js → chunk-FTPONF6B.js} +2 -2
  118. package/dist/{chunk-6PZGKGAO.js → chunk-FWX7W5PM.js} +2 -2
  119. package/dist/{chunk-QPW3PAIH.js → chunk-G6DFSS6A.js} +2 -2
  120. package/dist/{chunk-2DD6ZHOM.js → chunk-GJ776BC2.js} +3 -3
  121. package/dist/{chunk-XKAR4RF6.js → chunk-GN3WRFJY.js} +6 -6
  122. package/dist/{chunk-RG426DJO.js → chunk-H7NAZ3UB.js} +2 -2
  123. package/dist/{chunk-BSXGTDVJ.js → chunk-HBUFQRIM.js} +2 -2
  124. package/dist/{chunk-FFEBSFVT.js → chunk-HGJ6NJ4E.js} +2 -2
  125. package/dist/{chunk-WB7JSQCP.js → chunk-HIEWDJ2O.js} +5 -2
  126. package/dist/{chunk-WB7JSQCP.js.map → chunk-HIEWDJ2O.js.map} +1 -1
  127. package/dist/{chunk-QTO6BMQZ.js → chunk-I3MSGFGD.js} +17 -6
  128. package/dist/chunk-I3MSGFGD.js.map +1 -0
  129. package/dist/{chunk-5JKUSBMX.js → chunk-IKP5OYQQ.js} +2 -2
  130. package/dist/{chunk-KQAFEZQX.js → chunk-IPLYGWQF.js} +5 -5
  131. package/dist/{chunk-DBY26JJJ.js → chunk-IQ4NVWEF.js} +2 -2
  132. package/dist/{chunk-7Q7JWLQ4.js → chunk-JYG4OLWH.js} +2 -2
  133. package/dist/{chunk-3OTSVCPK.js → chunk-K26NWEOC.js} +4 -4
  134. package/dist/{chunk-WZWZRZ2V.js → chunk-K2UGPTYY.js} +484 -43
  135. package/dist/chunk-K2UGPTYY.js.map +1 -0
  136. package/dist/{chunk-L6CQ7WIW.js → chunk-KFBOPMF6.js} +11 -11
  137. package/dist/chunk-KFBOPMF6.js.map +1 -0
  138. package/dist/{chunk-HOIRB77A.js → chunk-L6Z5OAS4.js} +2 -2
  139. package/dist/{chunk-7RZJWZ46.js → chunk-LEPOP46W.js} +5 -5
  140. package/dist/{chunk-QQXWFDRD.js → chunk-M4YHAODQ.js} +270 -684
  141. package/dist/chunk-M4YHAODQ.js.map +1 -0
  142. package/dist/{chunk-NGT35IGQ.js → chunk-MIH3CJPN.js} +3 -3
  143. package/dist/{chunk-QPAQSG3F.js → chunk-MK5VEWCR.js} +2 -2
  144. package/dist/chunk-NISZQW72.js +140 -0
  145. package/dist/chunk-NISZQW72.js.map +1 -0
  146. package/dist/{chunk-L7RTUEDG.js → chunk-OCIP6YMD.js} +2 -2
  147. package/dist/{chunk-2INWPC6E.js → chunk-PG4QBPVG.js} +20 -10
  148. package/dist/chunk-PG4QBPVG.js.map +1 -0
  149. package/dist/{chunk-DDA55IVB.js → chunk-PT54WISF.js} +189 -55
  150. package/dist/chunk-PT54WISF.js.map +1 -0
  151. package/dist/{chunk-UWJNKGBA.js → chunk-QZLDRQ4I.js} +5 -5
  152. package/dist/{chunk-UYOXFFEY.js → chunk-RUNORG2P.js} +3 -3
  153. package/dist/{chunk-LC3FD4BV.js → chunk-RZQ6W2W4.js} +39 -39
  154. package/dist/{chunk-MRGJZ75M.js → chunk-SMNYAMJD.js} +3 -3
  155. package/dist/{chunk-MKQBXQKU.js → chunk-TB6CBZ5V.js} +22 -15
  156. package/dist/chunk-TB6CBZ5V.js.map +1 -0
  157. package/dist/{chunk-DN2IDKI5.js → chunk-TO7ZTWJW.js} +2 -2
  158. package/dist/{chunk-K2TDK7GG.js → chunk-TWTUGCTY.js} +2 -2
  159. package/dist/{chunk-CUTFSLSD.js → chunk-UCTS3DDH.js} +2 -2
  160. package/dist/{chunk-JYIJNNN3.js → chunk-UG6VXIOK.js} +2 -2
  161. package/dist/{chunk-QOQQMVR2.js → chunk-UKYS3NU5.js} +2 -2
  162. package/dist/{chunk-VZRFGJCH.js → chunk-UPLZNJKN.js} +2 -2
  163. package/dist/{chunk-C23BYTJV.js → chunk-UW5NPZJ2.js} +40 -12
  164. package/dist/chunk-UW5NPZJ2.js.map +1 -0
  165. package/dist/{chunk-DOOWFDWN.js → chunk-V6ERBR7U.js} +2 -2
  166. package/dist/{chunk-7HG7MGAP.js → chunk-W5ZKPI34.js} +462 -2673
  167. package/dist/chunk-W5ZKPI34.js.map +1 -0
  168. package/dist/{chunk-HNDIND7P.js → chunk-XX4HPFFM.js} +54 -15
  169. package/dist/chunk-XX4HPFFM.js.map +1 -0
  170. package/dist/{chunk-N7CXQ5TA.js → chunk-XZHE2DEN.js} +1 -1
  171. package/dist/chunk-YXQEKCZM.js +223 -0
  172. package/dist/chunk-YXQEKCZM.js.map +1 -0
  173. package/dist/{chunk-6NNNURLK.js → chunk-Z54EM5YZ.js} +4 -4
  174. package/dist/{chunk-F2Y6I74C.js → chunk-ZRZVLB7O.js} +2 -2
  175. package/dist/{chunk-CLKBV3Z3.js → chunk-ZUKIUXHQ.js} +9 -9
  176. package/dist/{cli-jfuZXixq.d.ts → cli-Bze8S0Qs.d.ts} +5 -5
  177. package/dist/cli.d.ts +22 -22
  178. package/dist/cli.js +66 -58
  179. package/dist/coding/pre-action-gate.d.ts +1 -1
  180. package/dist/compounding/engine.d.ts +2 -2
  181. package/dist/compounding/engine.js +14 -14
  182. package/dist/compounding/preference-consolidator.d.ts +1 -1
  183. package/dist/compression-optimizer.d.ts +1 -1
  184. package/dist/config.d.ts +1 -1
  185. package/dist/config.js +2 -1
  186. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  187. package/dist/connectors/codex-materialize-runner.js +14 -14
  188. package/dist/connectors/codex-materialize.d.ts +1 -1
  189. package/dist/connectors/index.d.ts +1 -1
  190. package/dist/connectors/index.js +14 -14
  191. package/dist/consolidation-provenance-check.d.ts +2 -2
  192. package/dist/consolidation-undo.d.ts +2 -2
  193. package/dist/contradiction/index.d.ts +2 -2
  194. package/dist/contradiction/index.js +2 -2
  195. package/dist/{contradiction-scan-KCADHXPE.js → contradiction-scan-JDTBXRGW.js} +3 -3
  196. package/dist/converge-config.d.ts +1 -1
  197. package/dist/convergence-refresh.d.ts +2 -2
  198. package/dist/convergence-refresh.js +16 -16
  199. package/dist/conversation-index/backend.d.ts +1 -1
  200. package/dist/conversation-index/backend.js +2 -2
  201. package/dist/conversation-index/chunker.d.ts +1 -1
  202. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  203. package/dist/conversation-index/indexer.d.ts +1 -1
  204. package/dist/conversation-index/search.d.ts +1 -1
  205. package/dist/corpus-watermark.d.ts +1 -1
  206. package/dist/corpus-watermark.js +16 -16
  207. package/dist/day-summary.d.ts +1 -1
  208. package/dist/delinearize.d.ts +1 -1
  209. package/dist/dependency-propagation-config.d.ts +1 -1
  210. package/dist/{dependency-propagation-delivery-CTDuAVJc.d.ts → dependency-propagation-delivery-CzEfB31P.d.ts} +1 -1
  211. package/dist/direct-answer-wiring.d.ts +1 -1
  212. package/dist/direct-answer.d.ts +1 -1
  213. package/dist/embedding-fallback.d.ts +1 -1
  214. package/dist/enrichment/index.d.ts +1 -1
  215. package/dist/entity-retrieval.d.ts +2 -2
  216. package/dist/entity-retrieval.js +14 -14
  217. package/dist/entity-schema.d.ts +1 -1
  218. package/dist/explicit-capture.d.ts +9 -9
  219. package/dist/explicit-capture.js +4 -3
  220. package/dist/external-wiki-access.d.ts +22 -22
  221. package/dist/external-wiki-access.js +33 -30
  222. package/dist/external-wiki-collection-registration.d.ts +1 -1
  223. package/dist/external-wiki-collection.d.ts +1 -1
  224. package/dist/external-wiki-mcp-tools.d.ts +22 -22
  225. package/dist/extraction-error-classification.d.ts +1 -1
  226. package/dist/extraction-faithfulness.d.ts +1 -1
  227. package/dist/extraction-faithfulness.js +2 -2
  228. package/dist/extraction-judge-telemetry.d.ts +1 -1
  229. package/dist/extraction-judge-training.d.ts +1 -1
  230. package/dist/extraction-judge.d.ts +1 -1
  231. package/dist/extraction-judge.js +2 -2
  232. package/dist/extraction-liveness.d.ts +1 -1
  233. package/dist/extraction-normalization.d.ts +1 -1
  234. package/dist/extraction-prompt.d.ts +1 -1
  235. package/dist/extraction-source-grounding-rules.d.ts +1 -1
  236. package/dist/extraction-source-grounding.d.ts +1 -1
  237. package/dist/extraction.d.ts +1 -1
  238. package/dist/extraction.js +20 -20
  239. package/dist/fallback-llm.d.ts +14 -1
  240. package/dist/fallback-llm.js +1 -1
  241. package/dist/{first-start-migration-LMMZFLKK.js → first-start-migration-CRZCZAJN.js} +5 -5
  242. package/dist/graph-dashboard-diff.d.ts +1 -1
  243. package/dist/graph-dashboard-key.d.ts +1 -1
  244. package/dist/graph-dashboard-parser.d.ts +1 -1
  245. package/dist/graph-edge-reinforcement.d.ts +1 -1
  246. package/dist/graph-path-reconstruction.d.ts +1 -1
  247. package/dist/graph-path-scoring.d.ts +1 -1
  248. package/dist/graph-snapshot.d.ts +1 -1
  249. package/dist/graph.d.ts +1 -1
  250. package/dist/harmonic-retrieval.js +1 -1
  251. package/dist/importance.d.ts +1 -1
  252. package/dist/importers/index.d.ts +1 -1
  253. package/dist/in-flight-reads.d.ts +1 -1
  254. package/dist/index.d.ts +704 -1421
  255. package/dist/index.js +203 -118
  256. package/dist/inline-script.d.ts +3 -0
  257. package/dist/inline-script.js +8 -0
  258. package/dist/inline-script.js.map +1 -0
  259. package/dist/intent.d.ts +1 -1
  260. package/dist/lcm/engine.d.ts +1 -1
  261. package/dist/lcm/engine.js +2 -2
  262. package/dist/lcm/index.d.ts +1 -1
  263. package/dist/lcm/index.js +2 -2
  264. package/dist/lcm/tools.d.ts +1 -1
  265. package/dist/lifecycle.d.ts +1 -1
  266. package/dist/live-connectors-runner.d.ts +1 -1
  267. package/dist/local-llm.d.ts +2 -1
  268. package/dist/local-llm.js +2 -2
  269. package/dist/local-model-endpoint.d.ts +1 -1
  270. package/dist/maintenance/memory-governance.d.ts +1 -1
  271. package/dist/maintenance/memory-governance.js +14 -14
  272. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +2 -2
  273. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +14 -14
  274. package/dist/maintenance/rebuild-memory-projection.d.ts +2 -2
  275. package/dist/maintenance/rebuild-memory-projection.js +15 -15
  276. package/dist/{maintenance-heMZSq7G.d.ts → maintenance-C8aRWfhq.d.ts} +3 -3
  277. package/dist/mcp-memory-inspector-app.d.ts +22 -22
  278. package/dist/mcp-read-only-tools.js +1 -1
  279. package/dist/memory-action-policy.d.ts +1 -1
  280. package/dist/memory-cache.d.ts +1 -1
  281. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  282. package/dist/memory-projection-store.d.ts +1 -1
  283. package/dist/memory-provenance.d.ts +1 -1
  284. package/dist/memory-snapshot.d.ts +1 -1
  285. package/dist/memory-worth-outcomes.d.ts +2 -2
  286. package/dist/models-json.d.ts +1 -1
  287. package/dist/namespaces/migrate.d.ts +3 -3
  288. package/dist/namespaces/migrate.js +15 -15
  289. package/dist/namespaces/principal.d.ts +1 -1
  290. package/dist/namespaces/search.d.ts +1 -1
  291. package/dist/namespaces/search.js +6 -6
  292. package/dist/namespaces/storage.d.ts +3 -3
  293. package/dist/namespaces/storage.js +14 -14
  294. package/dist/native-knowledge.d.ts +1 -1
  295. package/dist/offline-sync-impression-drain.d.ts +1 -1
  296. package/dist/operator-doctor-corpus.d.ts +1 -1
  297. package/dist/operator-doctor-corpus.js +17 -17
  298. package/dist/operator-doctor-replica.d.ts +1 -1
  299. package/dist/operator-toolkit.d.ts +3 -3
  300. package/dist/operator-toolkit.js +23 -22
  301. package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -2
  302. package/dist/orchestration/maintenance.d.ts +4 -4
  303. package/dist/orchestration/maintenance.js +19 -19
  304. package/dist/{orchestrator-BQQPsSjs.d.ts → orchestrator-D85CzDDY.d.ts} +8 -8
  305. package/dist/orchestrator.d.ts +9 -9
  306. package/dist/orchestrator.js +86 -80
  307. package/dist/patterns-cli.d.ts +1 -1
  308. package/dist/{pipeline-DFfmsnGk.d.ts → pipeline-DPcUifCO.d.ts} +1 -1
  309. package/dist/policy-runtime.d.ts +1 -1
  310. package/dist/proactive-contention.d.ts +1 -1
  311. package/dist/provenance.d.ts +1 -1
  312. package/dist/public-http-D-SyWNj6.d.ts +25 -0
  313. package/dist/{qmd-BF5bcVRs.d.ts → qmd-dFCHp1r0.d.ts} +1 -1
  314. package/dist/qmd-preflight.d.ts +2 -2
  315. package/dist/qmd-recall-cache.d.ts +1 -1
  316. package/dist/qmd.d.ts +2 -2
  317. package/dist/recall-concurrency-config.d.ts +1 -1
  318. package/dist/recall-disclosure-escalation.d.ts +1 -1
  319. package/dist/recall-explain-renderer.d.ts +1 -1
  320. package/dist/recall-explain-renderer.js +3 -3
  321. package/dist/recall-memory-map.d.ts +1 -1
  322. package/dist/recall-planner-llm.d.ts +1 -1
  323. package/dist/recall-planner-llm.js +1 -1
  324. package/dist/recall-state.d.ts +1 -1
  325. package/dist/recall-tag-filter.d.ts +1 -1
  326. package/dist/recall-timings.d.ts +1 -1
  327. package/dist/recall-xray-cli.d.ts +1 -1
  328. package/dist/recall-xray-cli.js +4 -4
  329. package/dist/recall-xray-renderer.d.ts +1 -1
  330. package/dist/recall-xray-renderer.js +3 -3
  331. package/dist/recall-xray.d.ts +1 -1
  332. package/dist/recall-xray.js +2 -2
  333. package/dist/reconcile/cursor.d.ts +1 -1
  334. package/dist/reconcile/manifest.d.ts +1 -1
  335. package/dist/reconcile/plan.d.ts +1 -1
  336. package/dist/replay/normalizers/chatgpt.d.ts +1 -1
  337. package/dist/replay/normalizers/claude.d.ts +1 -1
  338. package/dist/replay/normalizers/openclaw.d.ts +1 -1
  339. package/dist/replay/normalizers/shared.d.ts +1 -1
  340. package/dist/replay/runner.d.ts +1 -1
  341. package/dist/replay/types.d.ts +1 -1
  342. package/dist/replica-divergence.d.ts +1 -1
  343. package/dist/replica-peers-config.d.ts +1 -1
  344. package/dist/resolve-auth-token.d.ts +1 -1
  345. package/dist/resume-bundles.js +3 -2
  346. package/dist/retrieval-agents.d.ts +2 -2
  347. package/dist/retrieval-tiers.d.ts +1 -1
  348. package/dist/routing/engine.d.ts +1 -1
  349. package/dist/routing/store.d.ts +1 -1
  350. package/dist/salvage-envelope.d.ts +1 -1
  351. package/dist/schemas.d.ts +116 -116
  352. package/dist/{scope-profiles-CbUOsE_E.d.ts → scope-profiles-DICK7GtN.d.ts} +1 -1
  353. package/dist/search/embed-helper.d.ts +1 -1
  354. package/dist/search/factory.d.ts +1 -1
  355. package/dist/search/factory.js +5 -5
  356. package/dist/search/index.d.ts +1 -1
  357. package/dist/search/index.js +9 -9
  358. package/dist/search/lancedb-backend.d.ts +1 -1
  359. package/dist/search/meilisearch-backend.d.ts +1 -1
  360. package/dist/search/noop-backend.d.ts +1 -1
  361. package/dist/search/orama-backend.d.ts +1 -1
  362. package/dist/search/port.d.ts +1 -1
  363. package/dist/search/remote-backend.d.ts +1 -1
  364. package/dist/{semantic-consolidation-DAB3xdKM.d.ts → semantic-consolidation-BP7NAX0N.d.ts} +1 -1
  365. package/dist/semantic-consolidation.d.ts +2 -2
  366. package/dist/semantic-consolidation.js +15 -15
  367. package/dist/semantic-rule-promotion.js +14 -14
  368. package/dist/semantic-rule-verifier.d.ts +1 -1
  369. package/dist/semantic-rule-verifier.js +14 -14
  370. package/dist/{service-DGKg2O6r.d.ts → service-DT-pJyda.d.ts} +660 -660
  371. package/dist/session-observer-bands.d.ts +1 -1
  372. package/dist/session-observer-state.d.ts +1 -1
  373. package/dist/shared-context/manager.d.ts +9 -9
  374. package/dist/signal.d.ts +1 -1
  375. package/dist/source-agent-qualifier.d.ts +1 -1
  376. package/dist/source-agent-qualifier.js +16 -16
  377. package/dist/{storage-CC1jKcWg.d.ts → storage-qOnaJ1Lw.d.ts} +4 -1
  378. package/dist/storage.d.ts +2 -2
  379. package/dist/storage.js +13 -13
  380. package/dist/summarizer.d.ts +1 -1
  381. package/dist/summarizer.js +5 -5
  382. package/dist/summary-snapshot.d.ts +1 -1
  383. package/dist/support-passport/index.d.ts +518 -0
  384. package/dist/support-passport/index.js +357 -0
  385. package/dist/support-passport/index.js.map +1 -0
  386. package/dist/temporal-supersession.d.ts +2 -2
  387. package/dist/temporal-timeline-recall.d.ts +1 -1
  388. package/dist/temporal-validity.d.ts +1 -1
  389. package/dist/threading.d.ts +1 -1
  390. package/dist/tier-migration.d.ts +2 -2
  391. package/dist/tier-routing.d.ts +1 -1
  392. package/dist/tier-routing.js +2 -2
  393. package/dist/{tier-stats-JDN6HRNT.js → tier-stats-EXYSKSVN.js} +3 -3
  394. package/dist/topics.d.ts +1 -1
  395. package/dist/transcript.d.ts +1 -1
  396. package/dist/transfer/autodetect.js +1 -1
  397. package/dist/transfer/backup.js +1 -1
  398. package/dist/transfer/capsule-export.js +2 -2
  399. package/dist/transfer/types.d.ts +90 -90
  400. package/dist/trust-score-stage.d.ts +1 -1
  401. package/dist/trust-score.d.ts +1 -1
  402. package/dist/{types-BnQza1y8.d.ts → types-ed-SvS2t.d.ts} +7 -1
  403. package/dist/types.d.ts +1 -1
  404. package/dist/types.js +1 -1
  405. package/dist/utility-runtime.d.ts +1 -1
  406. package/dist/verified-recall.js +14 -14
  407. package/dist/write-envelope.d.ts +1 -1
  408. package/dist/write-rate-limiter.d.ts +11 -5
  409. package/dist/write-rate-limiter.js +1 -1
  410. package/package.json +12 -2
  411. package/scripts/build-with-heap.mjs +11 -1
  412. package/src/access-authorization-probe.ts +20 -2
  413. package/src/access-boundary.ts +32 -0
  414. package/src/access-http.test.ts +1940 -643
  415. package/src/access-http.ts +81 -74
  416. package/src/access-mcp.ts +3 -1
  417. package/src/access-operations.ts +2 -0
  418. package/src/access-service.ts +612 -845
  419. package/src/access-surface-catalog.test.ts +40 -10
  420. package/src/access-surface-catalog.ts +15 -0
  421. package/src/active-memory-bridge.ts +17 -19
  422. package/src/config.ts +18 -9
  423. package/src/fallback-llm.test.ts +54 -0
  424. package/src/fallback-llm.ts +54 -9
  425. package/src/inline-script.ts +6 -0
  426. package/src/local-llm-headers-timeout.test.ts +42 -0
  427. package/src/local-llm.ts +8 -8
  428. package/src/mcp-read-only-tools.ts +3 -0
  429. package/src/relay/mission-access.test.ts +11 -11
  430. package/src/relay/mission-ui.test.ts +3 -1
  431. package/src/storage/tombstone-blocked-capture-sync.ts +31 -0
  432. package/src/storage-contract/failure-semantics.test.ts +102 -0
  433. package/src/support-passport/access-http-base.ts +143 -0
  434. package/src/support-passport/access-http.ts +172 -0
  435. package/src/support-passport/access-operations.ts +272 -0
  436. package/src/support-passport/access-service-base.test.ts +193 -0
  437. package/src/support-passport/access-service-base.ts +176 -0
  438. package/src/support-passport/access-surface.test.ts +283 -0
  439. package/src/support-passport/access-surface.ts +286 -0
  440. package/src/support-passport/card-projection.test.ts +8 -0
  441. package/src/support-passport/card-projection.ts +77 -16
  442. package/src/support-passport/card-replacement.ts +126 -0
  443. package/src/support-passport/card-service-commit-forwarding.test.ts +160 -0
  444. package/src/support-passport/card-service.test.ts +533 -31
  445. package/src/support-passport/card-service.ts +506 -364
  446. package/src/support-passport/card-state.ts +158 -0
  447. package/src/support-passport/config-model-routing.test.ts +37 -0
  448. package/src/support-passport/config.test.ts +34 -0
  449. package/src/support-passport/config.ts +41 -0
  450. package/src/support-passport/contracts.test.ts +15 -2
  451. package/src/support-passport/contracts.ts +13 -0
  452. package/src/support-passport/errors.ts +6 -0
  453. package/src/support-passport/generated-batch.test.ts +185 -0
  454. package/src/support-passport/generated-batch.ts +338 -0
  455. package/src/support-passport/grant-contracts.ts +45 -1
  456. package/src/support-passport/grant-generated-batch-scope.test.ts +201 -0
  457. package/src/support-passport/grant-service-cache.test.ts +2 -2
  458. package/src/support-passport/grant-service-cancellation.test.ts +2 -0
  459. package/src/support-passport/grant-service-marker-cache.test.ts +62 -0
  460. package/src/support-passport/grant-service.test.ts +853 -239
  461. package/src/support-passport/grant-service.ts +206 -57
  462. package/src/support-passport/grant-store.ts +7 -3
  463. package/src/support-passport/index.ts +10 -0
  464. package/src/support-passport/mcp-tools.test.ts +222 -0
  465. package/src/support-passport/mcp-tools.ts +187 -0
  466. package/src/support-passport/model-adapter.test.ts +840 -0
  467. package/src/support-passport/model-adapter.ts +602 -0
  468. package/src/support-passport/model-audit-pinned-write.test.ts +59 -0
  469. package/src/support-passport/model-audit.ts +152 -0
  470. package/src/support-passport/model-bridge.test.ts +456 -0
  471. package/src/support-passport/model-bridge.ts +439 -0
  472. package/src/support-passport/model-contracts.ts +124 -0
  473. package/src/support-passport/model-service.test.ts +1731 -0
  474. package/src/support-passport/model-service.ts +399 -0
  475. package/src/support-passport/owner-http.test.ts +671 -0
  476. package/src/support-passport/owner-lock.ts +26 -9
  477. package/src/support-passport/private-file.test.ts +99 -0
  478. package/src/support-passport/private-file.ts +139 -12
  479. package/src/support-passport/public-http.test.ts +476 -0
  480. package/src/support-passport/public-http.ts +601 -0
  481. package/src/support-passport/ui.test.ts +181 -0
  482. package/src/types.ts +7 -0
  483. package/src/write-rate-limiter.test.ts +30 -6
  484. package/src/write-rate-limiter.ts +29 -18
  485. package/dist/chunk-2INWPC6E.js.map +0 -1
  486. package/dist/chunk-2PNXOQ4P.js.map +0 -1
  487. package/dist/chunk-3SXLD5T3.js.map +0 -1
  488. package/dist/chunk-3WGI7F4V.js.map +0 -1
  489. package/dist/chunk-7HG7MGAP.js.map +0 -1
  490. package/dist/chunk-BIF4SHMD.js.map +0 -1
  491. package/dist/chunk-C23BYTJV.js.map +0 -1
  492. package/dist/chunk-CSY44OKU.js.map +0 -1
  493. package/dist/chunk-DDA55IVB.js.map +0 -1
  494. package/dist/chunk-HNDIND7P.js.map +0 -1
  495. package/dist/chunk-L6CQ7WIW.js.map +0 -1
  496. package/dist/chunk-MKQBXQKU.js.map +0 -1
  497. package/dist/chunk-QQXWFDRD.js.map +0 -1
  498. package/dist/chunk-QTO6BMQZ.js.map +0 -1
  499. package/dist/chunk-WZWZRZ2V.js.map +0 -1
  500. /package/dist/{auto-sync-TDHLZPVP.js.map → auto-sync-NR3GPCOA.js.map} +0 -0
  501. /package/dist/{chunk-LLJMAULE.js.map → chunk-2FKEIPIT.js.map} +0 -0
  502. /package/dist/{chunk-AU7Q3LSC.js.map → chunk-2QSZNTDO.js.map} +0 -0
  503. /package/dist/{chunk-TKFGFDPJ.js.map → chunk-3TIZPSJC.js.map} +0 -0
  504. /package/dist/{chunk-B4T3FQMT.js.map → chunk-43SEBY2M.js.map} +0 -0
  505. /package/dist/{chunk-LVKYLMSM.js.map → chunk-46SZBVDS.js.map} +0 -0
  506. /package/dist/{chunk-YKZLOPTC.js.map → chunk-5FD7JMTX.js.map} +0 -0
  507. /package/dist/{chunk-WM5LD6AT.js.map → chunk-6CYHUWCO.js.map} +0 -0
  508. /package/dist/{chunk-YR65W7BV.js.map → chunk-BRR5EUTF.js.map} +0 -0
  509. /package/dist/{chunk-JKW663ZN.js.map → chunk-CIAI24TQ.js.map} +0 -0
  510. /package/dist/{chunk-YDWPYDML.js.map → chunk-EKTP7MNS.js.map} +0 -0
  511. /package/dist/{chunk-6LEIWWAF.js.map → chunk-F2JRDPON.js.map} +0 -0
  512. /package/dist/{chunk-VYQ4URQB.js.map → chunk-FFRTNF3L.js.map} +0 -0
  513. /package/dist/{chunk-TY6MKIWP.js.map → chunk-FONWBCVY.js.map} +0 -0
  514. /package/dist/{chunk-XSV2YDCJ.js.map → chunk-FPLM2TKD.js.map} +0 -0
  515. /package/dist/{chunk-VTU5IEKY.js.map → chunk-FTPONF6B.js.map} +0 -0
  516. /package/dist/{chunk-6PZGKGAO.js.map → chunk-FWX7W5PM.js.map} +0 -0
  517. /package/dist/{chunk-QPW3PAIH.js.map → chunk-G6DFSS6A.js.map} +0 -0
  518. /package/dist/{chunk-2DD6ZHOM.js.map → chunk-GJ776BC2.js.map} +0 -0
  519. /package/dist/{chunk-XKAR4RF6.js.map → chunk-GN3WRFJY.js.map} +0 -0
  520. /package/dist/{chunk-RG426DJO.js.map → chunk-H7NAZ3UB.js.map} +0 -0
  521. /package/dist/{chunk-BSXGTDVJ.js.map → chunk-HBUFQRIM.js.map} +0 -0
  522. /package/dist/{chunk-FFEBSFVT.js.map → chunk-HGJ6NJ4E.js.map} +0 -0
  523. /package/dist/{chunk-5JKUSBMX.js.map → chunk-IKP5OYQQ.js.map} +0 -0
  524. /package/dist/{chunk-KQAFEZQX.js.map → chunk-IPLYGWQF.js.map} +0 -0
  525. /package/dist/{chunk-DBY26JJJ.js.map → chunk-IQ4NVWEF.js.map} +0 -0
  526. /package/dist/{chunk-7Q7JWLQ4.js.map → chunk-JYG4OLWH.js.map} +0 -0
  527. /package/dist/{chunk-3OTSVCPK.js.map → chunk-K26NWEOC.js.map} +0 -0
  528. /package/dist/{chunk-HOIRB77A.js.map → chunk-L6Z5OAS4.js.map} +0 -0
  529. /package/dist/{chunk-7RZJWZ46.js.map → chunk-LEPOP46W.js.map} +0 -0
  530. /package/dist/{chunk-NGT35IGQ.js.map → chunk-MIH3CJPN.js.map} +0 -0
  531. /package/dist/{chunk-QPAQSG3F.js.map → chunk-MK5VEWCR.js.map} +0 -0
  532. /package/dist/{chunk-L7RTUEDG.js.map → chunk-OCIP6YMD.js.map} +0 -0
  533. /package/dist/{chunk-UWJNKGBA.js.map → chunk-QZLDRQ4I.js.map} +0 -0
  534. /package/dist/{chunk-UYOXFFEY.js.map → chunk-RUNORG2P.js.map} +0 -0
  535. /package/dist/{chunk-LC3FD4BV.js.map → chunk-RZQ6W2W4.js.map} +0 -0
  536. /package/dist/{chunk-MRGJZ75M.js.map → chunk-SMNYAMJD.js.map} +0 -0
  537. /package/dist/{chunk-DN2IDKI5.js.map → chunk-TO7ZTWJW.js.map} +0 -0
  538. /package/dist/{chunk-K2TDK7GG.js.map → chunk-TWTUGCTY.js.map} +0 -0
  539. /package/dist/{chunk-CUTFSLSD.js.map → chunk-UCTS3DDH.js.map} +0 -0
  540. /package/dist/{chunk-JYIJNNN3.js.map → chunk-UG6VXIOK.js.map} +0 -0
  541. /package/dist/{chunk-QOQQMVR2.js.map → chunk-UKYS3NU5.js.map} +0 -0
  542. /package/dist/{chunk-VZRFGJCH.js.map → chunk-UPLZNJKN.js.map} +0 -0
  543. /package/dist/{chunk-DOOWFDWN.js.map → chunk-V6ERBR7U.js.map} +0 -0
  544. /package/dist/{chunk-N7CXQ5TA.js.map → chunk-XZHE2DEN.js.map} +0 -0
  545. /package/dist/{chunk-6NNNURLK.js.map → chunk-Z54EM5YZ.js.map} +0 -0
  546. /package/dist/{chunk-F2Y6I74C.js.map → chunk-ZRZVLB7O.js.map} +0 -0
  547. /package/dist/{chunk-CLKBV3Z3.js.map → chunk-ZUKIUXHQ.js.map} +0 -0
  548. /package/dist/{contradiction-scan-KCADHXPE.js.map → contradiction-scan-JDTBXRGW.js.map} +0 -0
  549. /package/dist/{first-start-migration-LMMZFLKK.js.map → first-start-migration-CRZCZAJN.js.map} +0 -0
  550. /package/dist/{tier-stats-JDN6HRNT.js.map → tier-stats-EXYSKSVN.js.map} +0 -0
@@ -1,3 +1,6 @@
1
+ import {
2
+ LanceDbBackend
3
+ } from "./chunk-XL3TATMJ.js";
1
4
  import {
2
5
  MeilisearchBackend
3
6
  } from "./chunk-VANZKHTN.js";
@@ -13,12 +16,9 @@ import {
13
16
  import {
14
17
  EmbedHelper
15
18
  } from "./chunk-GWFSVJ4P.js";
16
- import {
17
- LanceDbBackend
18
- } from "./chunk-XL3TATMJ.js";
19
19
  import {
20
20
  createConversationIndexBackend
21
- } from "./chunk-7RZJWZ46.js";
21
+ } from "./chunk-LEPOP46W.js";
22
22
  import {
23
23
  FaissConversationIndexAdapter
24
24
  } from "./chunk-ET356KSB.js";
@@ -178,4 +178,4 @@ export {
178
178
  createConversationSearchBackend,
179
179
  createConversationIndexRuntime
180
180
  };
181
- //# sourceMappingURL=chunk-UWJNKGBA.js.map
181
+ //# sourceMappingURL=chunk-QZLDRQ4I.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  StorageManager
3
- } from "./chunk-QQXWFDRD.js";
3
+ } from "./chunk-M4YHAODQ.js";
4
4
  import {
5
5
  normalizeEntityName
6
6
  } from "./chunk-YXZG5TVN.js";
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-FFAZ2XFU.js";
13
13
  import {
14
14
  excludeSupportPassportPrivateMemories
15
- } from "./chunk-HNDIND7P.js";
15
+ } from "./chunk-XX4HPFFM.js";
16
16
  import {
17
17
  readEnvVar,
18
18
  resolveHomeDir
@@ -961,4 +961,4 @@ export {
961
961
  resolveBriefingSaveDir,
962
962
  briefingFilename
963
963
  };
964
- //# sourceMappingURL=chunk-UYOXFFEY.js.map
964
+ //# sourceMappingURL=chunk-RUNORG2P.js.map
@@ -1,12 +1,15 @@
1
- import {
2
- openclawReplayNormalizer
3
- } from "./chunk-H4CKS5B2.js";
4
1
  import {
5
2
  chatgptReplayNormalizer
6
3
  } from "./chunk-MMACM5G2.js";
7
4
  import {
8
5
  claudeReplayNormalizer
9
6
  } from "./chunk-54BGIBCR.js";
7
+ import {
8
+ openclawReplayNormalizer
9
+ } from "./chunk-H4CKS5B2.js";
10
+ import {
11
+ exportJsonBundle
12
+ } from "./chunk-UP6MOYCB.js";
10
13
  import {
11
14
  exportSqlite
12
15
  } from "./chunk-BV2TIZ4F.js";
@@ -29,8 +32,8 @@ import {
29
32
  exportMarkdownBundle
30
33
  } from "./chunk-765K3SAT.js";
31
34
  import {
32
- exportJsonBundle
33
- } from "./chunk-UP6MOYCB.js";
35
+ RoutingRulesStore
36
+ } from "./chunk-XL24QQ63.js";
34
37
  import {
35
38
  buildReplayNormalizerRegistry,
36
39
  clampBatchSize,
@@ -40,9 +43,6 @@ import {
40
43
  isReplaySource,
41
44
  normalizeReplaySessionKey
42
45
  } from "./chunk-AJVLDJU6.js";
43
- import {
44
- RoutingRulesStore
45
- } from "./chunk-XL24QQ63.js";
46
46
  import {
47
47
  TailscaleHelper
48
48
  } from "./chunk-EEC4PCG5.js";
@@ -54,7 +54,7 @@ import {
54
54
  } from "./chunk-IIFFC3RL.js";
55
55
  import {
56
56
  rebuildMemoryLifecycleLedger
57
- } from "./chunk-LVKYLMSM.js";
57
+ } from "./chunk-46SZBVDS.js";
58
58
  import {
59
59
  rebuildObservations
60
60
  } from "./chunk-DQTCGVFK.js";
@@ -70,6 +70,9 @@ import {
70
70
  registerBulkImportSource,
71
71
  runBulkImportPipeline
72
72
  } from "./chunk-HSSERO3E.js";
73
+ import {
74
+ searchVerifiedEpisodes
75
+ } from "./chunk-5FD7JMTX.js";
73
76
  import {
74
77
  getUtilityLearningStatus,
75
78
  learnUtilityPromotionWeights
@@ -78,23 +81,20 @@ import {
78
81
  getUtilityTelemetryStatus,
79
82
  recordUtilityTelemetryEvent
80
83
  } from "./chunk-6FC3IZ26.js";
81
- import {
82
- searchVerifiedEpisodes
83
- } from "./chunk-YKZLOPTC.js";
84
84
  import {
85
85
  ThreadingManager
86
86
  } from "./chunk-OJP3N7UK.js";
87
87
  import {
88
88
  promoteSemanticRuleFromMemory
89
- } from "./chunk-DBY26JJJ.js";
89
+ } from "./chunk-IQ4NVWEF.js";
90
90
  import {
91
91
  searchVerifiedSemanticRules
92
- } from "./chunk-6PZGKGAO.js";
92
+ } from "./chunk-FWX7W5PM.js";
93
93
  import {
94
94
  buildResumeBundleFromState,
95
95
  getResumeBundleStatus,
96
96
  recordResumeBundle
97
- } from "./chunk-FFEBSFVT.js";
97
+ } from "./chunk-HGJ6NJ4E.js";
98
98
  import {
99
99
  getWorkProductLedgerStatus,
100
100
  recordWorkProductLedgerEntry,
@@ -105,7 +105,11 @@ import {
105
105
  } from "./chunk-HYQJQGD3.js";
106
106
  import {
107
107
  parseXrayCliOptions
108
- } from "./chunk-TY6MKIWP.js";
108
+ } from "./chunk-FONWBCVY.js";
109
+ import {
110
+ readRuntimePolicySnapshot,
111
+ sanitizeRuntimePolicyValues
112
+ } from "./chunk-33JBK2XP.js";
109
113
  import {
110
114
  formatNamespaceMaintenanceHealthText,
111
115
  runBenchmarkRecall,
@@ -114,7 +118,7 @@ import {
114
118
  runOperatorInventory,
115
119
  runOperatorRepair,
116
120
  runOperatorSetup
117
- } from "./chunk-CLKBV3Z3.js";
121
+ } from "./chunk-ZUKIUXHQ.js";
118
122
  import {
119
123
  analyzeSessionIntegrity,
120
124
  applySessionRepair,
@@ -129,10 +133,6 @@ import {
129
133
  renderPatternExplain,
130
134
  renderPatternsList
131
135
  } from "./chunk-3T74IZB3.js";
132
- import {
133
- readRuntimePolicySnapshot,
134
- sanitizeRuntimePolicyValues
135
- } from "./chunk-33JBK2XP.js";
136
136
  import {
137
137
  GITHUB_CONNECTOR_ID,
138
138
  GMAIL_CONNECTOR_ID,
@@ -152,7 +152,7 @@ import {
152
152
  } from "./chunk-6GUG4YNM.js";
153
153
  import {
154
154
  searchHarmonicRetrieval
155
- } from "./chunk-B4T3FQMT.js";
155
+ } from "./chunk-43SEBY2M.js";
156
156
  import {
157
157
  rescoreMemoryImportance
158
158
  } from "./chunk-JXS5PDQ7.js";
@@ -169,7 +169,7 @@ import {
169
169
  rebuildMemoryProjection,
170
170
  repairMemoryProjection,
171
171
  verifyMemoryProjection
172
- } from "./chunk-TKFGFDPJ.js";
172
+ } from "./chunk-3TIZPSJC.js";
173
173
  import {
174
174
  getCueAnchorStoreStatus
175
175
  } from "./chunk-ACPCA4NO.js";
@@ -196,11 +196,11 @@ import {
196
196
  } from "./chunk-UQ7RN5HK.js";
197
197
  import {
198
198
  parseConfig
199
- } from "./chunk-2INWPC6E.js";
199
+ } from "./chunk-PG4QBPVG.js";
200
200
  import {
201
201
  EngramAccessHttpServer,
202
202
  MeetingsInputError
203
- } from "./chunk-DDA55IVB.js";
203
+ } from "./chunk-PT54WISF.js";
204
204
  import {
205
205
  WearablesInputError
206
206
  } from "./chunk-V7IZKJI3.js";
@@ -213,13 +213,13 @@ import {
213
213
  createProductionChatLlmAdapter,
214
214
  loadChatSession,
215
215
  sessionBelongsToPrincipal
216
- } from "./chunk-3SXLD5T3.js";
216
+ } from "./chunk-7BD6O7ZV.js";
217
217
  import {
218
218
  getAbstractionNodeStoreStatus
219
219
  } from "./chunk-DJUKBGAD.js";
220
220
  import {
221
221
  EngramAccessService
222
- } from "./chunk-3WGI7F4V.js";
222
+ } from "./chunk-D3LBIUWV.js";
223
223
  import {
224
224
  WorkStorage
225
225
  } from "./chunk-GDB4J2H3.js";
@@ -236,10 +236,10 @@ import {
236
236
  parseRecallExplainFormat,
237
237
  renderRecallExplain,
238
238
  renderXray
239
- } from "./chunk-RG426DJO.js";
239
+ } from "./chunk-H7NAZ3UB.js";
240
240
  import {
241
241
  readAggregateExtractionWatermark
242
- } from "./chunk-7Q7JWLQ4.js";
242
+ } from "./chunk-JYG4OLWH.js";
243
243
  import {
244
244
  getObjectiveStateStoreStatus
245
245
  } from "./chunk-HTP6XRUI.js";
@@ -248,15 +248,15 @@ import {
248
248
  readMemoryGovernanceRunArtifact,
249
249
  restoreMemoryGovernanceRun,
250
250
  runMemoryGovernance
251
- } from "./chunk-2DD6ZHOM.js";
251
+ } from "./chunk-GJ776BC2.js";
252
252
  import {
253
253
  listNamespaces,
254
254
  runNamespaceMigration,
255
255
  verifyNamespaces
256
- } from "./chunk-NGT35IGQ.js";
256
+ } from "./chunk-MIH3CJPN.js";
257
257
  import {
258
258
  resolveNamespaceChildRoot
259
- } from "./chunk-YR65W7BV.js";
259
+ } from "./chunk-BRR5EUTF.js";
260
260
  import {
261
261
  getCausalTrajectoryStoreStatus
262
262
  } from "./chunk-AHZOMHWN.js";
@@ -265,14 +265,14 @@ import {
265
265
  } from "./chunk-BIJAWZYW.js";
266
266
  import {
267
267
  meetingIdDate
268
- } from "./chunk-QQXWFDRD.js";
268
+ } from "./chunk-M4YHAODQ.js";
269
269
  import {
270
270
  isValidTranscriptDate
271
271
  } from "./chunk-UHVXE24Y.js";
272
272
  import {
273
273
  RECALL_DISCLOSURE_LEVELS,
274
274
  isRecallDisclosure
275
- } from "./chunk-BIF4SHMD.js";
275
+ } from "./chunk-76JJSXK7.js";
276
276
  import {
277
277
  bumpMemoryCorpusVersionForDir
278
278
  } from "./chunk-KMAP7SNQ.js";
@@ -300,7 +300,7 @@ import {
300
300
  } from "./chunk-GCASGYIO.js";
301
301
  import {
302
302
  isSupportPassportPrivateMemory
303
- } from "./chunk-HNDIND7P.js";
303
+ } from "./chunk-XX4HPFFM.js";
304
304
  import {
305
305
  selectRouteRule,
306
306
  validateRouteTarget
@@ -3987,7 +3987,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
3987
3987
  );
3988
3988
  tierCmd.command("list").description("Summarize tier distribution across all memories").option("--json", "Emit machine-readable JSON only").action(async (...args) => {
3989
3989
  const options = args[0] ?? {};
3990
- const { summarizeTiers, formatTierSummaryText } = await import("./tier-stats-JDN6HRNT.js");
3990
+ const { summarizeTiers, formatTierSummaryText } = await import("./tier-stats-EXYSKSVN.js");
3991
3991
  const summary = await summarizeTiers(orchestrator.storage);
3992
3992
  if (reportHasMachineReadableOutput(options)) {
3993
3993
  console.log(JSON.stringify(summary, null, 2));
@@ -3998,7 +3998,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
3998
3998
  tierCmd.command("explain").description("Explain the tier-transition decision for a single memory").argument("<id>", "Memory id to explain").option("--json", "Emit machine-readable JSON only").action(async (...args) => {
3999
3999
  const idArg = typeof args[0] === "string" ? args[0] : "";
4000
4000
  const options = args[1] ?? {};
4001
- const { explainTierForMemory, formatTierExplainText } = await import("./tier-stats-JDN6HRNT.js");
4001
+ const { explainTierForMemory, formatTierExplainText } = await import("./tier-stats-EXYSKSVN.js");
4002
4002
  try {
4003
4003
  const explain = await explainTierForMemory(
4004
4004
  orchestrator.storage,
@@ -7268,7 +7268,7 @@ Semantic consolidation complete. clusters=${result.clustersFound}, consolidated=
7268
7268
  });
7269
7269
  reviewCmd.command("scan").description("Run an on-demand contradiction scan").option("--namespace <ns>", "Namespace to scan").action(async (...args) => {
7270
7270
  const options = args[0] ?? {};
7271
- const { runContradictionScan } = await import("./contradiction-scan-KCADHXPE.js");
7271
+ const { runContradictionScan } = await import("./contradiction-scan-JDTBXRGW.js");
7272
7272
  console.log("Running contradiction scan...");
7273
7273
  const result = await runContradictionScan({
7274
7274
  storage: orchestrator.storage,
@@ -7995,4 +7995,4 @@ export {
7995
7995
  listMemoryMarkdownFilePaths,
7996
7996
  registerCli
7997
7997
  };
7998
- //# sourceMappingURL=chunk-LC3FD4BV.js.map
7998
+ //# sourceMappingURL=chunk-RZQ6W2W4.js.map
@@ -2,14 +2,14 @@ import {
2
2
  buildExplicitCaptureDedupKey,
3
3
  isTombstoneBlockedCaptureWriteLockBusy,
4
4
  normalizeExplicitCaptureContent
5
- } from "./chunk-WZWZRZ2V.js";
5
+ } from "./chunk-K2UGPTYY.js";
6
6
  import {
7
7
  TAG_LIMITS,
8
8
  composeMemoryEnvelope
9
9
  } from "./chunk-NSVDUN76.js";
10
10
  import {
11
11
  isSupportPassportPrivateMemory
12
- } from "./chunk-HNDIND7P.js";
12
+ } from "./chunk-XX4HPFFM.js";
13
13
  import {
14
14
  sanitizeMemoryContent
15
15
  } from "./chunk-5GKPFL3S.js";
@@ -787,4 +787,4 @@ export {
787
787
  shouldProcessInlineExplicitCapture,
788
788
  InlineExplicitCaptureProcessor
789
789
  };
790
- //# sourceMappingURL=chunk-MRGJZ75M.js.map
790
+ //# sourceMappingURL=chunk-SMNYAMJD.js.map
@@ -16,6 +16,7 @@ var WriteRateLimiter = class {
16
16
  // One rolling window per principal. Empty buckets are pruned so the map does
17
17
  // not grow without bound.
18
18
  buckets = /* @__PURE__ */ new Map();
19
+ inFlight = /* @__PURE__ */ new Map();
19
20
  lastLogAt = 0;
20
21
  suppressed = 0;
21
22
  constructor(maxRequests, windowMs) {
@@ -37,15 +38,19 @@ var WriteRateLimiter = class {
37
38
  if (slots.length === 0) this.buckets.delete(key);
38
39
  }
39
40
  }
40
- /** Live reservation/record count for a principal (test/introspection). */
41
+ /** Committed slots for a principal (test/introspection). */
41
42
  slotsFor(principal) {
42
43
  return this.buckets.get(this.key(principal)) ?? [];
43
44
  }
45
+ inFlightFor(principal) {
46
+ return this.inFlight.get(this.key(principal)) ?? 0;
47
+ }
44
48
  /** Total live reservations across all principals (test/introspection). */
45
49
  totalSlots() {
46
50
  this.sweep(Date.now());
47
51
  let total = 0;
48
52
  for (const slots of this.buckets.values()) total += slots.length;
53
+ for (const count of this.inFlight.values()) total += count;
49
54
  return total;
50
55
  }
51
56
  /** True if a write may proceed for the principal. Logs (sampled) when not. */
@@ -53,7 +58,7 @@ var WriteRateLimiter = class {
53
58
  this.sweep(Date.now());
54
59
  const key = this.key(principal);
55
60
  const slots = this.buckets.get(key);
56
- if (slots && slots.length >= this.maxRequests) {
61
+ if ((slots?.length ?? 0) + (this.inFlight.get(key) ?? 0) >= this.maxRequests) {
57
62
  this.logRejected(key);
58
63
  return false;
59
64
  }
@@ -63,29 +68,31 @@ var WriteRateLimiter = class {
63
68
  record(principal) {
64
69
  this.sweep(Date.now());
65
70
  const key = this.key(principal);
66
- const slots = this.buckets.get(key) ?? this.buckets.set(key, []).get(key);
71
+ let slots = this.buckets.get(key);
72
+ if (!slots) {
73
+ slots = [];
74
+ this.buckets.set(key, slots);
75
+ }
67
76
  slots.push({ recordedAt: Date.now() });
68
77
  }
69
78
  /**
70
- * Reserve a slot for an in-flight write. Returns a release function, or
71
- * `null` when the principal is already at the limit (caller raises its 429).
79
+ * Reserve a slot for an in-flight write. Commit starts the rolling window
80
+ * when persistence finishes. Release restores capacity after a failed write.
72
81
  */
73
82
  reserve(principal) {
74
83
  if (!this.hasCapacity(principal)) return null;
75
84
  const key = this.key(principal);
76
- const slots = this.buckets.get(key) ?? this.buckets.set(key, []).get(key);
77
- const slot = { recordedAt: Date.now() };
78
- slots.push(slot);
85
+ this.inFlight.set(key, (this.inFlight.get(key) ?? 0) + 1);
79
86
  let active = true;
80
- return () => {
87
+ const finish = (committed) => {
81
88
  if (!active) return;
82
89
  active = false;
83
- const current = this.buckets.get(key);
84
- if (!current) return;
85
- const index = current.indexOf(slot);
86
- if (index >= 0) current.splice(index, 1);
87
- if (current.length === 0) this.buckets.delete(key);
90
+ const count = this.inFlight.get(key) ?? 0;
91
+ if (count <= 1) this.inFlight.delete(key);
92
+ else this.inFlight.set(key, count - 1);
93
+ if (committed) this.record(principal);
88
94
  };
95
+ return { commit: () => finish(true), release: () => finish(false) };
89
96
  }
90
97
  logRejected(principal) {
91
98
  const now = Date.now();
@@ -104,4 +111,4 @@ var WriteRateLimiter = class {
104
111
  export {
105
112
  WriteRateLimiter
106
113
  };
107
- //# sourceMappingURL=chunk-MKQBXQKU.js.map
114
+ //# sourceMappingURL=chunk-TB6CBZ5V.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/write-rate-limiter.ts"],"sourcesContent":["/**\n * Per-principal write rate limiter for the access HTTP surface\n * (issues #1937 / #2029).\n *\n * Extracted from access-http.ts so the limiter is a cohesive unit. Each\n * principal (authenticated caller identity) gets its own rolling-window\n * bucket, so one chatty connector cannot starve writes for the others;\n * requests with no resolved principal share a single global bucket.\n *\n * Deliberately transport-agnostic: it never throws `HttpError` — callers\n * translate a refusal into their own 429. It logs a sampled warning when it\n * refuses a write, so a sustained limit condition is diagnosable server-side\n * (previously the refusal was a bare throw with no trace).\n */\n\nimport { log } from \"./logger.js\";\n\n// Defaults; overridable per instance via the constructor (config/env feed these\n// through the server's `writeRateLimit*` settings).\nconst DEFAULT_WINDOW_MS = 60_000;\nconst DEFAULT_MAX_REQUESTS = 30;\n// At most one rejection warning per this interval, carrying a rejected-count,\n// so a storm is visible without flooding the log.\nconst LOG_INTERVAL_MS = 10_000;\n// Bucket key for requests with no resolved principal.\nconst GLOBAL_BUCKET = \"\";\n\ntype Slot = { readonly recordedAt: number };\n\nexport interface WriteRateLimitReservation {\n commit(): void;\n release(): void;\n}\n\nfunction sanitizePositiveInteger(value: number | undefined, fallback: number): number {\n return typeof value === \"number\" && Number.isInteger(value) && value >= 1 ? value : fallback;\n}\n\nexport class WriteRateLimiter {\n readonly maxRequests: number;\n readonly windowMs: number;\n // One rolling window per principal. Empty buckets are pruned so the map does\n // not grow without bound.\n private readonly buckets = new Map<string, Slot[]>();\n private readonly inFlight = new Map<string, number>();\n private lastLogAt = 0;\n private suppressed = 0;\n\n constructor(maxRequests?: number, windowMs?: number) {\n this.maxRequests = sanitizePositiveInteger(maxRequests, DEFAULT_MAX_REQUESTS);\n this.windowMs = sanitizePositiveInteger(windowMs, DEFAULT_WINDOW_MS);\n }\n\n private key(principal?: string): string {\n return principal?.trim() ? principal.trim() : GLOBAL_BUCKET;\n }\n\n private prune(slots: Slot[], now: number): void {\n while (slots.length > 0 && now - (slots[0]?.recordedAt ?? 0) >= this.windowMs) {\n slots.shift();\n }\n }\n\n /** Prune every bucket to the current window; drop buckets that go empty. */\n private sweep(now: number): void {\n for (const [key, slots] of this.buckets) {\n this.prune(slots, now);\n if (slots.length === 0) this.buckets.delete(key);\n }\n }\n\n /** Committed slots for a principal (test/introspection). */\n slotsFor(principal?: string): ReadonlyArray<Slot> {\n return this.buckets.get(this.key(principal)) ?? [];\n }\n\n inFlightFor(principal?: string): number {\n return this.inFlight.get(this.key(principal)) ?? 0;\n }\n\n /** Total live reservations across all principals (test/introspection). */\n totalSlots(): number {\n this.sweep(Date.now());\n let total = 0;\n for (const slots of this.buckets.values()) total += slots.length;\n for (const count of this.inFlight.values()) total += count;\n return total;\n }\n\n /** True if a write may proceed for the principal. Logs (sampled) when not. */\n hasCapacity(principal?: string): boolean {\n this.sweep(Date.now());\n const key = this.key(principal);\n const slots = this.buckets.get(key);\n if ((slots?.length ?? 0) + (this.inFlight.get(key) ?? 0) >= this.maxRequests) {\n this.logRejected(key);\n return false;\n }\n return true;\n }\n\n /** Record a committed write against the principal's rolling window. */\n record(principal?: string): void {\n this.sweep(Date.now());\n const key = this.key(principal);\n let slots = this.buckets.get(key);\n if (!slots) {\n slots = [];\n this.buckets.set(key, slots);\n }\n slots.push({ recordedAt: Date.now() });\n }\n\n /**\n * Reserve a slot for an in-flight write. Commit starts the rolling window\n * when persistence finishes. Release restores capacity after a failed write.\n */\n reserve(principal?: string): WriteRateLimitReservation | null {\n if (!this.hasCapacity(principal)) return null;\n const key = this.key(principal);\n this.inFlight.set(key, (this.inFlight.get(key) ?? 0) + 1);\n let active = true;\n const finish = (committed: boolean) => {\n if (!active) return;\n active = false;\n const count = this.inFlight.get(key) ?? 0;\n if (count <= 1) this.inFlight.delete(key);\n else this.inFlight.set(key, count - 1);\n if (committed) this.record(principal);\n };\n return { commit: () => finish(true), release: () => finish(false) };\n }\n\n private logRejected(principal: string): void {\n const now = Date.now();\n this.suppressed += 1;\n if (now - this.lastLogAt < LOG_INTERVAL_MS) return;\n const rejected = this.suppressed;\n this.suppressed = 0;\n this.lastLogAt = now;\n const who = principal === GLOBAL_BUCKET ? \"(no principal)\" : principal;\n log.warn(\n `write_rate_limited: rejected ${rejected} write(s) for principal ${who}; per-principal limit is ${this.maxRequests} per ${this.windowMs}ms. Raise server.writeRateLimitMaxRequests (or REMNIC_WRITE_RATE_LIMIT_MAX_REQUESTS) if sustained.`\n );\n }\n}\n"],"mappings":";;;;;AAmBA,IAAM,oBAAoB;AAC1B,IAAM,uBAAuB;AAG7B,IAAM,kBAAkB;AAExB,IAAM,gBAAgB;AAStB,SAAS,wBAAwB,OAA2B,UAA0B;AACpF,SAAO,OAAO,UAAU,YAAY,OAAO,UAAU,KAAK,KAAK,SAAS,IAAI,QAAQ;AACtF;AAEO,IAAM,mBAAN,MAAuB;AAAA,EACnB;AAAA,EACA;AAAA;AAAA;AAAA,EAGQ,UAAU,oBAAI,IAAoB;AAAA,EAClC,WAAW,oBAAI,IAAoB;AAAA,EAC5C,YAAY;AAAA,EACZ,aAAa;AAAA,EAErB,YAAY,aAAsB,UAAmB;AACnD,SAAK,cAAc,wBAAwB,aAAa,oBAAoB;AAC5E,SAAK,WAAW,wBAAwB,UAAU,iBAAiB;AAAA,EACrE;AAAA,EAEQ,IAAI,WAA4B;AACtC,WAAO,WAAW,KAAK,IAAI,UAAU,KAAK,IAAI;AAAA,EAChD;AAAA,EAEQ,MAAM,OAAe,KAAmB;AAC9C,WAAO,MAAM,SAAS,KAAK,OAAO,MAAM,CAAC,GAAG,cAAc,MAAM,KAAK,UAAU;AAC7E,YAAM,MAAM;AAAA,IACd;AAAA,EACF;AAAA;AAAA,EAGQ,MAAM,KAAmB;AAC/B,eAAW,CAAC,KAAK,KAAK,KAAK,KAAK,SAAS;AACvC,WAAK,MAAM,OAAO,GAAG;AACrB,UAAI,MAAM,WAAW,EAAG,MAAK,QAAQ,OAAO,GAAG;AAAA,IACjD;AAAA,EACF;AAAA;AAAA,EAGA,SAAS,WAAyC;AAChD,WAAO,KAAK,QAAQ,IAAI,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC;AAAA,EACnD;AAAA,EAEA,YAAY,WAA4B;AACtC,WAAO,KAAK,SAAS,IAAI,KAAK,IAAI,SAAS,CAAC,KAAK;AAAA,EACnD;AAAA;AAAA,EAGA,aAAqB;AACnB,SAAK,MAAM,KAAK,IAAI,CAAC;AACrB,QAAI,QAAQ;AACZ,eAAW,SAAS,KAAK,QAAQ,OAAO,EAAG,UAAS,MAAM;AAC1D,eAAW,SAAS,KAAK,SAAS,OAAO,EAAG,UAAS;AACrD,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,YAAY,WAA6B;AACvC,SAAK,MAAM,KAAK,IAAI,CAAC;AACrB,UAAM,MAAM,KAAK,IAAI,SAAS;AAC9B,UAAM,QAAQ,KAAK,QAAQ,IAAI,GAAG;AAClC,SAAK,OAAO,UAAU,MAAM,KAAK,SAAS,IAAI,GAAG,KAAK,MAAM,KAAK,aAAa;AAC5E,WAAK,YAAY,GAAG;AACpB,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AAAA;AAAA,EAGA,OAAO,WAA0B;AAC/B,SAAK,MAAM,KAAK,IAAI,CAAC;AACrB,UAAM,MAAM,KAAK,IAAI,SAAS;AAC9B,QAAI,QAAQ,KAAK,QAAQ,IAAI,GAAG;AAChC,QAAI,CAAC,OAAO;AACV,cAAQ,CAAC;AACT,WAAK,QAAQ,IAAI,KAAK,KAAK;AAAA,IAC7B;AACA,UAAM,KAAK,EAAE,YAAY,KAAK,IAAI,EAAE,CAAC;AAAA,EACvC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,QAAQ,WAAsD;AAC5D,QAAI,CAAC,KAAK,YAAY,SAAS,EAAG,QAAO;AACzC,UAAM,MAAM,KAAK,IAAI,SAAS;AAC9B,SAAK,SAAS,IAAI,MAAM,KAAK,SAAS,IAAI,GAAG,KAAK,KAAK,CAAC;AACxD,QAAI,SAAS;AACb,UAAM,SAAS,CAAC,cAAuB;AACrC,UAAI,CAAC,OAAQ;AACb,eAAS;AACT,YAAM,QAAQ,KAAK,SAAS,IAAI,GAAG,KAAK;AACxC,UAAI,SAAS,EAAG,MAAK,SAAS,OAAO,GAAG;AAAA,UACnC,MAAK,SAAS,IAAI,KAAK,QAAQ,CAAC;AACrC,UAAI,UAAW,MAAK,OAAO,SAAS;AAAA,IACtC;AACA,WAAO,EAAE,QAAQ,MAAM,OAAO,IAAI,GAAG,SAAS,MAAM,OAAO,KAAK,EAAE;AAAA,EACpE;AAAA,EAEQ,YAAY,WAAyB;AAC3C,UAAM,MAAM,KAAK,IAAI;AACrB,SAAK,cAAc;AACnB,QAAI,MAAM,KAAK,YAAY,gBAAiB;AAC5C,UAAM,WAAW,KAAK;AACtB,SAAK,aAAa;AAClB,SAAK,YAAY;AACjB,UAAM,MAAM,cAAc,gBAAgB,mBAAmB;AAC7D,QAAI;AAAA,MACF,gCAAgC,QAAQ,2BAA2B,GAAG,4BAA4B,KAAK,WAAW,QAAQ,KAAK,QAAQ;AAAA,IACzI;AAAA,EACF;AACF;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createSearchBackend
3
- } from "./chunk-UWJNKGBA.js";
3
+ } from "./chunk-QZLDRQ4I.js";
4
4
  import {
5
5
  namespaceIdentityToken,
6
6
  normalizeNamespaceIdentity
@@ -470,4 +470,4 @@ export {
470
470
  NamespaceSearchRouter,
471
471
  normalizeQmdResultPath
472
472
  };
473
- //# sourceMappingURL=chunk-DN2IDKI5.js.map
473
+ //# sourceMappingURL=chunk-TO7ZTWJW.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-QDW3E4RD.js";
4
4
  import {
5
5
  gatewayTaskChainOptions
6
- } from "./chunk-C23BYTJV.js";
6
+ } from "./chunk-UW5NPZJ2.js";
7
7
  import {
8
8
  extractJsonCandidates
9
9
  } from "./chunk-RGMVMVMF.js";
@@ -486,4 +486,4 @@ export {
486
486
  createVerdictCache,
487
487
  createDeferCountMap
488
488
  };
489
- //# sourceMappingURL=chunk-K2TDK7GG.js.map
489
+ //# sourceMappingURL=chunk-TWTUGCTY.js.map
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-2AD5SXO4.js";
14
14
  import {
15
15
  ExtractionDeadlineError
16
- } from "./chunk-N7CXQ5TA.js";
16
+ } from "./chunk-XZHE2DEN.js";
17
17
  import {
18
18
  resolvePrincipal
19
19
  } from "./chunk-3GD2HFR6.js";
@@ -792,4 +792,4 @@ var SmartBuffer = class {
792
792
  export {
793
793
  SmartBuffer
794
794
  };
795
- //# sourceMappingURL=chunk-CUTFSLSD.js.map
795
+ //# sourceMappingURL=chunk-UCTS3DDH.js.map
@@ -4,7 +4,7 @@ import {
4
4
  } from "./chunk-AAD2ZS6P.js";
5
5
  import {
6
6
  gatewayTaskChainOptions
7
- } from "./chunk-C23BYTJV.js";
7
+ } from "./chunk-UW5NPZJ2.js";
8
8
  import {
9
9
  extractJsonCandidates
10
10
  } from "./chunk-RGMVMVMF.js";
@@ -685,4 +685,4 @@ export {
685
685
  serializeFaithfulnessFields,
686
686
  parseFaithfulnessField
687
687
  };
688
- //# sourceMappingURL=chunk-JYIJNNN3.js.map
688
+ //# sourceMappingURL=chunk-UG6VXIOK.js.map
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-JLNBQWZ2.js";
6
6
  import {
7
7
  runPostConsolidationMaterialize
8
- } from "./chunk-YR65W7BV.js";
8
+ } from "./chunk-BRR5EUTF.js";
9
9
  import {
10
10
  isSemanticConsolidationLlmOperator
11
11
  } from "./chunk-G7D6GZ5J.js";
@@ -220,4 +220,4 @@ export {
220
220
  buildExtensionsBlockForConsolidation,
221
221
  materializeAfterSemanticConsolidation
222
222
  };
223
- //# sourceMappingURL=chunk-QOQQMVR2.js.map
223
+ //# sourceMappingURL=chunk-UKYS3NU5.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  StorageManager
3
- } from "./chunk-QQXWFDRD.js";
3
+ } from "./chunk-M4YHAODQ.js";
4
4
  import {
5
5
  keyring_exports,
6
6
  secureStoreDir
@@ -388,4 +388,4 @@ export {
388
388
  resolveNamespaceStorageRoot,
389
389
  NamespaceStorageRouter
390
390
  };
391
- //# sourceMappingURL=chunk-VZRFGJCH.js.map
391
+ //# sourceMappingURL=chunk-UPLZNJKN.js.map
@@ -87,12 +87,18 @@ var FallbackLlmClient = class {
87
87
  * When agentId is provided, uses that agent persona's model chain instead of defaults.
88
88
  */
89
89
  async chatCompletion(messages, options = {}) {
90
- const models = this.getModelChain(options.agentId, options.model, options.modelChain);
90
+ const models = this.getModelChain(
91
+ options.agentId,
92
+ options.model,
93
+ options.modelChain,
94
+ options.includeDefaultModelFallback
95
+ );
91
96
  if (models.length === 0) {
92
97
  log.warn("fallback LLM: no models configured in gateway");
93
98
  return null;
94
99
  }
95
100
  const runChain = async (runOptions) => {
101
+ let lastRejectedResponse = null;
96
102
  for (let i = 0; i < models.length; i++) {
97
103
  if (runOptions.signal?.aborted) {
98
104
  throw abortReason(runOptions.signal);
@@ -102,25 +108,31 @@ var FallbackLlmClient = class {
102
108
  try {
103
109
  const result = await this.tryModel(model, messages, runOptions);
104
110
  if (result) {
105
- if (isFallback) {
106
- log.debug(`fallback LLM: succeeded using ${model.modelString} (fallback ${i})`);
107
- }
108
- return {
111
+ const response = {
109
112
  content: result.content,
110
113
  modelUsed: model.modelString,
111
114
  usage: result.usage
112
115
  };
116
+ if (runOptions.acceptResponse && !runOptions.acceptResponse(response)) {
117
+ lastRejectedResponse = response;
118
+ log.debug(`fallback LLM: ${model.modelString} returned rejected output, trying next...`);
119
+ continue;
120
+ }
121
+ if (isFallback) {
122
+ log.debug(`fallback LLM: succeeded using ${model.modelString} (fallback ${i})`);
123
+ }
124
+ return response;
113
125
  }
114
126
  } catch (err) {
115
127
  if (runOptions.signal?.aborted) {
116
128
  throw abortReason(runOptions.signal);
117
129
  }
118
- const errorMsg = err instanceof Error ? err.message : String(err);
130
+ const errorMsg = runOptions.redactProviderErrors ? "provider error details redacted" : err instanceof Error ? err.message : String(err);
119
131
  log.debug(`fallback LLM: ${model.modelString} failed (${errorMsg}), trying next...`);
120
132
  }
121
133
  }
122
134
  log.warn(`fallback LLM: all ${models.length} models in chain failed`);
123
- return null;
135
+ return lastRejectedResponse;
124
136
  };
125
137
  if (typeof options.timeoutMs === "number") {
126
138
  if (options.timeoutMs <= 0) {
@@ -182,7 +194,12 @@ var FallbackLlmClient = class {
182
194
  return { result: null, failureReason: "http_error" };
183
195
  }
184
196
  if (!response?.content) {
185
- const hasModels = this.getModelChain(options.agentId, options.model, options.modelChain).length > 0;
197
+ const hasModels = this.getModelChain(
198
+ options.agentId,
199
+ options.model,
200
+ options.modelChain,
201
+ options.includeDefaultModelFallback
202
+ ).length > 0;
186
203
  return { result: null, failureReason: hasModels ? "http_error" : "no_models" };
187
204
  }
188
205
  try {
@@ -209,7 +226,7 @@ var FallbackLlmClient = class {
209
226
  * matching entry in agents.list[] and uses that persona's model chain.
210
227
  * Falls back to agents.defaults.model if agentId is not found or not provided.
211
228
  */
212
- getModelChain(agentId, modelOverride, modelChainOverride) {
229
+ getModelChain(agentId, modelOverride, modelChainOverride, includeDefaultModelFallback = true) {
213
230
  const chain = [];
214
231
  const providers = this.gatewayConfig?.models?.providers ?? {};
215
232
  let modelConfig;
@@ -256,7 +273,7 @@ var FallbackLlmClient = class {
256
273
  chain.push(modelRef);
257
274
  }
258
275
  }
259
- if (modelChainOverride?.primary && modelStrings.length > 0) {
276
+ if (includeDefaultModelFallback && modelChainOverride?.primary && modelStrings.length > 0) {
260
277
  const defaults = this.gatewayConfig?.agents?.defaults?.model;
261
278
  const defaultStrings = [
262
279
  ...typeof defaults?.primary === "string" ? [defaults.primary] : [],
@@ -584,7 +601,18 @@ var FallbackLlmClient = class {
584
601
  max_output_tokens: Math.max(0, Math.floor(options.maxTokens ?? 4096)),
585
602
  ...buildChatCompletionTemperature(modelId, options.temperature ?? 0.3, {
586
603
  assumeOpenAI: shouldAssumeOpenAiChatCompletions(config.baseUrl)
587
- })
604
+ }),
605
+ ...options.store === void 0 ? {} : { store: options.store },
606
+ ...options.responsesJsonSchema ? {
607
+ text: {
608
+ format: {
609
+ type: "json_schema",
610
+ name: options.responsesJsonSchema.name,
611
+ strict: true,
612
+ schema: options.responsesJsonSchema.schema
613
+ }
614
+ }
615
+ } : {}
588
616
  };
589
617
  if (instructions.length > 0) {
590
618
  body.instructions = instructions;
@@ -708,4 +736,4 @@ export {
708
736
  fallbackLlmRuntimeContextFromConfig,
709
737
  FallbackLlmClient
710
738
  };
711
- //# sourceMappingURL=chunk-C23BYTJV.js.map
739
+ //# sourceMappingURL=chunk-UW5NPZJ2.js.map