@remnic/core 9.28.0 → 9.29.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 (425) hide show
  1. package/dist/access-admin-ops-surface.d.ts +10 -10
  2. package/dist/access-admin-ops-surface.js +32 -32
  3. package/dist/access-authorization-probe.d.ts +10 -10
  4. package/dist/access-authorization-probe.js +33 -33
  5. package/dist/access-boundary.d.ts +10 -10
  6. package/dist/access-boundary.js +32 -32
  7. package/dist/access-cli.js +101 -98
  8. package/dist/access-cli.js.map +1 -1
  9. package/dist/access-health-types.d.ts +1 -1
  10. package/dist/access-http-lcm-compaction.d.ts +10 -10
  11. package/dist/access-http.d.ts +10 -10
  12. package/dist/access-http.js +43 -43
  13. package/dist/access-identity-continuity-surface.d.ts +8 -8
  14. package/dist/access-identity-continuity-surface.js +32 -32
  15. package/dist/access-lcm-surface.d.ts +10 -10
  16. package/dist/access-lcm-surface.js +32 -32
  17. package/dist/access-mcp.d.ts +10 -10
  18. package/dist/access-mcp.js +38 -38
  19. package/dist/access-memory-search-fanout.d.ts +2 -2
  20. package/dist/access-memory-search-fanout.js +3 -3
  21. package/dist/{access-namespace-preflight-BiQ_-iUJ.d.ts → access-namespace-preflight-DCXBkDp0.d.ts} +1 -1
  22. package/dist/access-namespace-preflight.d.ts +3 -3
  23. package/dist/access-namespace-preflight.js +32 -32
  24. package/dist/access-observe-write-surface.d.ts +10 -10
  25. package/dist/access-observe-write-surface.js +32 -32
  26. package/dist/access-operations-batch.js +35 -35
  27. package/dist/access-operations.d.ts +10 -10
  28. package/dist/access-operations.js +37 -37
  29. package/dist/access-recall-concurrency.d.ts +10 -10
  30. package/dist/access-recall-concurrency.js +32 -32
  31. package/dist/access-recall-response.d.ts +10 -10
  32. package/dist/access-recall-response.js +32 -32
  33. package/dist/access-recall-surface.d.ts +10 -10
  34. package/dist/access-recall-surface.js +32 -32
  35. package/dist/access-schema.js +4 -4
  36. package/dist/{access-service-CXkIgcGh.d.ts → access-service-DvPW_M5j.d.ts} +7 -7
  37. package/dist/access-service.d.ts +10 -10
  38. package/dist/access-service.js +32 -32
  39. package/dist/access-surface-catalog.d.ts +10 -10
  40. package/dist/access-wearables-meetings-surface.d.ts +3 -3
  41. package/dist/action-confidence.d.ts +1 -1
  42. package/dist/active-memory-bridge.d.ts +1 -1
  43. package/dist/active-memory-bridge.js +3 -3
  44. package/dist/active-recall.d.ts +1 -1
  45. package/dist/active-recall.js +1 -1
  46. package/dist/adapters/index.js +4 -4
  47. package/dist/adapters/registry.js +2 -2
  48. package/dist/behavior-learner.d.ts +1 -1
  49. package/dist/behavior-signals.d.ts +1 -1
  50. package/dist/bootstrap.d.ts +8 -8
  51. package/dist/briefing.d.ts +2 -2
  52. package/dist/briefing.js +8 -8
  53. package/dist/buffer-surprise-report.d.ts +1 -1
  54. package/dist/buffer.d.ts +2 -2
  55. package/dist/buffer.js +2 -2
  56. package/dist/bulk-import/index.d.ts +3 -3
  57. package/dist/calibration.d.ts +1 -1
  58. package/dist/capabilities.d.ts +3 -2
  59. package/dist/capabilities.js +1 -1
  60. package/dist/{capsule-crypto-7FJQINUR.js → capsule-crypto-GWVG7LGC.js} +2 -2
  61. package/dist/{catalog-Bouj8Gfg.d.ts → catalog-BIVgftWu.d.ts} +1 -1
  62. package/dist/causal-behavior.d.ts +1 -1
  63. package/dist/causal-consolidation.d.ts +1 -1
  64. package/dist/causal-consolidation.js +9 -9
  65. package/dist/causal-trajectory-graph.d.ts +1 -1
  66. package/dist/{chunk-GQSMYXKL.js → chunk-2HNUMF5V.js} +2 -2
  67. package/dist/{chunk-UR5SIN7H.js → chunk-2XC73SHY.js} +30 -30
  68. package/dist/{chunk-RDQGLJRR.js → chunk-2XRE6FLM.js} +2 -1
  69. package/dist/{chunk-RDQGLJRR.js.map → chunk-2XRE6FLM.js.map} +1 -1
  70. package/dist/{chunk-2H7OEVPO.js → chunk-3GD2HFR6.js} +2 -2
  71. package/dist/{chunk-4TFIRMTE.js → chunk-4A6YGWQN.js} +2 -2
  72. package/dist/{chunk-VFNI3RPT.js → chunk-4PBVXX7L.js} +2 -2
  73. package/dist/{chunk-IKMAO55B.js → chunk-55MDBZLC.js} +2 -2
  74. package/dist/{chunk-IPLYGWQF.js → chunk-5W7CTZ2E.js} +6 -6
  75. package/dist/{chunk-B7GROTXD.js → chunk-6LKEUCEM.js} +2 -2
  76. package/dist/{chunk-2AJ72VVS.js → chunk-7BZOBA5J.js} +3 -3
  77. package/dist/{chunk-44DUJETW.js → chunk-7HXCF4RE.js} +2 -2
  78. package/dist/{chunk-R372P2EH.js → chunk-ACXPX4AG.js} +2 -2
  79. package/dist/{chunk-7CPOZH6Y.js → chunk-ALSGMEJR.js} +5 -5
  80. package/dist/{chunk-JGUXPJUQ.js → chunk-AS7YMSL6.js} +2 -2
  81. package/dist/{chunk-EZWWCN7I.js → chunk-CMRQ34J5.js} +2 -2
  82. package/dist/{chunk-YOBNCD3Z.js → chunk-CSMCNOPH.js} +10 -10
  83. package/dist/{chunk-ZN4UZWMT.js → chunk-D2ANTDGO.js} +3 -3
  84. package/dist/{chunk-3UOSVTFR.js → chunk-D3LMYTBV.js} +9 -9
  85. package/dist/{chunk-FOCEI3TN.js → chunk-DRBXHRXE.js} +2 -1
  86. package/dist/chunk-DRBXHRXE.js.map +1 -0
  87. package/dist/{chunk-XY7QPJDA.js → chunk-E6EE5B67.js} +2 -2
  88. package/dist/{chunk-TBMRQZDY.js → chunk-EP5BVCRI.js} +2 -2
  89. package/dist/{chunk-DKQM5Q6Q.js → chunk-ESBQWC3U.js} +4 -4
  90. package/dist/{chunk-KKBTBUVT.js → chunk-EVX44I7C.js} +5 -5
  91. package/dist/{chunk-Q5VJUNXA.js → chunk-FCDWWCLX.js} +18 -18
  92. package/dist/{chunk-X6ROIHFE.js → chunk-G5R3D5UP.js} +2 -2
  93. package/dist/{chunk-MXJ3VP6S.js → chunk-G6LBWZRF.js} +7 -7
  94. package/dist/{chunk-TKBDJTXG.js → chunk-GBJ4RDFR.js} +94 -20
  95. package/dist/chunk-GBJ4RDFR.js.map +1 -0
  96. package/dist/{chunk-GJPCP5CA.js → chunk-GGUBDXRR.js} +2 -2
  97. package/dist/{chunk-QH6CS6XJ.js → chunk-H24WNPA2.js} +2 -2
  98. package/dist/{chunk-JQ7T5VDC.js → chunk-HUHX2OCX.js} +1 -1
  99. package/dist/chunk-HUHX2OCX.js.map +1 -0
  100. package/dist/{chunk-2FYNLDKJ.js → chunk-IMA2EWLV.js} +2 -2
  101. package/dist/{chunk-MQVINOJQ.js → chunk-IYZ5K7MU.js} +3 -3
  102. package/dist/{chunk-3BSJBIZ3.js → chunk-JDZRYH2N.js} +2 -2
  103. package/dist/{chunk-P2CLYN6H.js → chunk-K5GB36ME.js} +2 -2
  104. package/dist/{chunk-2BEJ4XCF.js → chunk-KUJQHXPH.js} +2 -2
  105. package/dist/{chunk-227UFSEQ.js → chunk-LEPOP46W.js} +4 -4
  106. package/dist/{chunk-VYYNBJXH.js → chunk-NBDCZWP4.js} +6 -6
  107. package/dist/{chunk-FBZTWUK5.js → chunk-OFHFH655.js} +8 -8
  108. package/dist/{chunk-FGBJBYWP.js → chunk-OVRQLAYR.js} +3 -3
  109. package/dist/{chunk-2NLLXCJG.js → chunk-OWHERGF2.js} +2 -2
  110. package/dist/chunk-P2BM76KT.js +528 -0
  111. package/dist/chunk-P2BM76KT.js.map +1 -0
  112. package/dist/{chunk-ALTP3MFS.js → chunk-P3MH72CI.js} +2 -2
  113. package/dist/{chunk-P2OZKKYP.js → chunk-PHWUFPCO.js} +2 -2
  114. package/dist/{chunk-Q6YJW6KE.js → chunk-PKRIQL3V.js} +2 -2
  115. package/dist/{chunk-PXQM2HOG.js → chunk-Q6VFVAKZ.js} +2 -2
  116. package/dist/{chunk-RKXZ7P4V.js → chunk-QAOGGNE3.js} +3 -3
  117. package/dist/{chunk-MJPV4LBH.js → chunk-QMBNMPQM.js} +83 -83
  118. package/dist/{chunk-JBPKEARU.js → chunk-RKNJBZ55.js} +4 -4
  119. package/dist/{chunk-FCCMFVS6.js → chunk-RPSYDM6C.js} +2 -2
  120. package/dist/chunk-RPW2NOU6.js +33 -0
  121. package/dist/chunk-RPW2NOU6.js.map +1 -0
  122. package/dist/{chunk-JIF3VRKQ.js → chunk-SG265CVF.js} +10 -10
  123. package/dist/{chunk-MWTMTW2T.js → chunk-SH6YO3LT.js} +3 -3
  124. package/dist/{chunk-S24E4MBQ.js → chunk-T3GCXULH.js} +9 -9
  125. package/dist/{chunk-BJJAX3IZ.js → chunk-UTRO5UJU.js} +2 -2
  126. package/dist/{chunk-X7Y7WX73.js → chunk-UVYI6VIX.js} +1 -1
  127. package/dist/{chunk-WVVK2RFM.js → chunk-VVIW3PTA.js} +14 -14
  128. package/dist/chunk-WOCNN776.js +742 -0
  129. package/dist/chunk-WOCNN776.js.map +1 -0
  130. package/dist/{chunk-BR4UFMLO.js → chunk-WONS4RZ2.js} +3 -3
  131. package/dist/{chunk-2TQ2UFKH.js → chunk-WZ7UB7XQ.js} +57 -57
  132. package/dist/{chunk-AHFZXUZM.js → chunk-XEQ7OT7U.js} +3 -3
  133. package/dist/{chunk-EG64LXKL.js → chunk-XOZ4ALGB.js} +3 -3
  134. package/dist/{chunk-NBNDVNJ2.js → chunk-YGHMSDLK.js} +3 -3
  135. package/dist/{chunk-2PHX3I5C.js → chunk-Z54EM5YZ.js} +10 -10
  136. package/dist/{chunk-IYT632D5.js → chunk-ZGOQTOYA.js} +3 -3
  137. package/dist/{chunk-LIHC3T43.js → chunk-ZXAGJFHJ.js} +4 -4
  138. package/dist/{cli-DJbkaZBU.d.ts → cli-CxoSOiG0.d.ts} +5 -5
  139. package/dist/cli.d.ts +12 -12
  140. package/dist/cli.js +65 -65
  141. package/dist/compounding/engine.d.ts +2 -2
  142. package/dist/compounding/engine.js +9 -9
  143. package/dist/compounding/preference-consolidator.d.ts +1 -1
  144. package/dist/compression-optimizer.d.ts +1 -1
  145. package/dist/config.d.ts +1 -1
  146. package/dist/config.js +1 -1
  147. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  148. package/dist/connectors/codex-materialize-runner.js +8 -8
  149. package/dist/connectors/codex-materialize.d.ts +1 -1
  150. package/dist/connectors/index.d.ts +1 -1
  151. package/dist/connectors/index.js +9 -9
  152. package/dist/consolidation-provenance-check.d.ts +2 -2
  153. package/dist/consolidation-undo.d.ts +2 -2
  154. package/dist/contradiction/index.d.ts +2 -2
  155. package/dist/contradiction/index.js +6 -6
  156. package/dist/{contradiction-scan-HMF7CNKD.js → contradiction-scan-HYLIRMJ2.js} +3 -3
  157. package/dist/conversation-index/backend.d.ts +1 -1
  158. package/dist/conversation-index/backend.js +2 -2
  159. package/dist/conversation-index/chunker.d.ts +1 -1
  160. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  161. package/dist/conversation-index/indexer.d.ts +1 -1
  162. package/dist/conversation-index/search.d.ts +1 -1
  163. package/dist/corpus-watermark.d.ts +1 -1
  164. package/dist/corpus-watermark.js +16 -16
  165. package/dist/day-summary.d.ts +1 -1
  166. package/dist/day-summary.js +2 -2
  167. package/dist/delinearize.d.ts +1 -1
  168. package/dist/direct-answer-wiring.d.ts +1 -1
  169. package/dist/direct-answer.d.ts +1 -1
  170. package/dist/embedding-fallback.d.ts +1 -1
  171. package/dist/embedding-fallback.js +2 -2
  172. package/dist/enrichment/index.d.ts +1 -1
  173. package/dist/entity-retrieval.d.ts +2 -2
  174. package/dist/entity-retrieval.js +8 -8
  175. package/dist/entity-schema.d.ts +1 -1
  176. package/dist/explicit-capture.d.ts +8 -8
  177. package/dist/explicit-capture.js +2 -2
  178. package/dist/extraction-error-classification.d.ts +1 -1
  179. package/dist/extraction-faithfulness.d.ts +1 -1
  180. package/dist/extraction-judge-telemetry.d.ts +1 -1
  181. package/dist/extraction-judge-training.d.ts +1 -1
  182. package/dist/extraction-judge.d.ts +1 -1
  183. package/dist/extraction-liveness.d.ts +1 -1
  184. package/dist/extraction-source-grounding-helpers.d.ts +34 -0
  185. package/dist/extraction-source-grounding-helpers.js +62 -0
  186. package/dist/extraction-source-grounding-helpers.js.map +1 -0
  187. package/dist/extraction-source-grounding-rules.d.ts +18 -0
  188. package/dist/extraction-source-grounding-rules.js +12 -0
  189. package/dist/extraction-source-grounding-rules.js.map +1 -0
  190. package/dist/extraction-source-grounding.d.ts +11 -0
  191. package/dist/extraction-source-grounding.js +13 -0
  192. package/dist/extraction-source-grounding.js.map +1 -0
  193. package/dist/extraction.d.ts +3 -1
  194. package/dist/extraction.js +7 -4
  195. package/dist/fallback-llm.d.ts +1 -1
  196. package/dist/{first-start-migration-BKNGOFED.js → first-start-migration-F2QJD66E.js} +5 -5
  197. package/dist/graph-dashboard-diff.d.ts +1 -1
  198. package/dist/graph-dashboard-key.d.ts +1 -1
  199. package/dist/graph-dashboard-parser.d.ts +1 -1
  200. package/dist/graph-edge-reinforcement.d.ts +1 -1
  201. package/dist/graph-snapshot.d.ts +1 -1
  202. package/dist/graph.d.ts +1 -1
  203. package/dist/importance.d.ts +1 -1
  204. package/dist/importers/index.d.ts +1 -1
  205. package/dist/in-flight-reads.d.ts +1 -1
  206. package/dist/index.d.ts +21 -21
  207. package/dist/index.js +156 -153
  208. package/dist/intent.d.ts +1 -1
  209. package/dist/lcm/engine.d.ts +1 -1
  210. package/dist/lcm/engine.js +4 -4
  211. package/dist/lcm/index.d.ts +1 -1
  212. package/dist/lcm/index.js +10 -10
  213. package/dist/lcm/tools.d.ts +1 -1
  214. package/dist/lifecycle.d.ts +1 -1
  215. package/dist/live-connectors-runner.d.ts +1 -1
  216. package/dist/local-llm.d.ts +1 -1
  217. package/dist/local-llm.js +2 -2
  218. package/dist/local-model-endpoint.d.ts +1 -1
  219. package/dist/maintenance/memory-governance.d.ts +1 -1
  220. package/dist/maintenance/memory-governance.js +8 -8
  221. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +2 -2
  222. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +8 -8
  223. package/dist/maintenance/rebuild-memory-projection.d.ts +2 -2
  224. package/dist/maintenance/rebuild-memory-projection.js +9 -9
  225. package/dist/{maintenance-DveW6azo.d.ts → maintenance-Cb-PjxQd.d.ts} +3 -3
  226. package/dist/mcp-memory-inspector-app.d.ts +10 -10
  227. package/dist/memory-action-policy.d.ts +1 -1
  228. package/dist/memory-cache.d.ts +1 -1
  229. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  230. package/dist/memory-projection-store.d.ts +1 -1
  231. package/dist/memory-provenance.d.ts +1 -1
  232. package/dist/memory-worth-outcomes.d.ts +2 -2
  233. package/dist/models-json.d.ts +1 -1
  234. package/dist/namespaces/migrate.d.ts +3 -3
  235. package/dist/namespaces/migrate.js +15 -15
  236. package/dist/namespaces/principal.d.ts +1 -1
  237. package/dist/namespaces/principal.js +2 -2
  238. package/dist/namespaces/search.d.ts +1 -1
  239. package/dist/namespaces/search.js +7 -7
  240. package/dist/namespaces/storage.d.ts +3 -3
  241. package/dist/namespaces/storage.js +8 -8
  242. package/dist/native-knowledge.d.ts +1 -1
  243. package/dist/offline-sync-impression-drain.d.ts +1 -1
  244. package/dist/offline-sync-impression-drain.js +6 -6
  245. package/dist/operator-doctor-corpus.d.ts +1 -1
  246. package/dist/operator-doctor-corpus.js +17 -17
  247. package/dist/operator-doctor-replica.d.ts +1 -1
  248. package/dist/operator-toolkit.d.ts +3 -3
  249. package/dist/operator-toolkit.js +23 -23
  250. package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -2
  251. package/dist/orchestration/compression-guideline-coordinator.js +2 -2
  252. package/dist/orchestration/maintenance.d.ts +4 -4
  253. package/dist/orchestration/maintenance.js +15 -15
  254. package/dist/{orchestrator-Cvlgpe6I.d.ts → orchestrator-5GKqb_HL.d.ts} +7 -7
  255. package/dist/orchestrator.d.ts +8 -8
  256. package/dist/orchestrator.js +103 -100
  257. package/dist/patterns-cli.d.ts +1 -1
  258. package/dist/{pipeline-BveYVaz7.d.ts → pipeline-3Qi1TpRo.d.ts} +1 -1
  259. package/dist/policy-runtime.d.ts +1 -1
  260. package/dist/proactive-contention.d.ts +1 -1
  261. package/dist/provenance.d.ts +1 -1
  262. package/dist/{qmd-CLWDsbYR.d.ts → qmd-D9JqzzRX.d.ts} +1 -1
  263. package/dist/qmd-preflight.d.ts +2 -2
  264. package/dist/qmd-recall-cache.d.ts +1 -1
  265. package/dist/qmd.d.ts +2 -2
  266. package/dist/recall-concurrency-config.d.ts +1 -1
  267. package/dist/recall-disclosure-escalation.d.ts +1 -1
  268. package/dist/recall-explain-renderer.d.ts +1 -1
  269. package/dist/recall-explain-renderer.js +3 -3
  270. package/dist/recall-memory-map.d.ts +1 -1
  271. package/dist/recall-planner-llm.d.ts +1 -1
  272. package/dist/recall-state.d.ts +1 -1
  273. package/dist/recall-tag-filter.d.ts +1 -1
  274. package/dist/recall-timings.d.ts +1 -1
  275. package/dist/recall-xray-cli.d.ts +1 -1
  276. package/dist/recall-xray-cli.js +4 -4
  277. package/dist/recall-xray-renderer.d.ts +1 -1
  278. package/dist/recall-xray-renderer.js +3 -3
  279. package/dist/recall-xray.d.ts +1 -1
  280. package/dist/recall-xray.js +2 -2
  281. package/dist/replay/normalizers/chatgpt.d.ts +1 -1
  282. package/dist/replay/normalizers/claude.d.ts +1 -1
  283. package/dist/replay/normalizers/openclaw.d.ts +1 -1
  284. package/dist/replay/normalizers/shared.d.ts +1 -1
  285. package/dist/replay/runner.d.ts +1 -1
  286. package/dist/replay/types.d.ts +1 -1
  287. package/dist/replica-divergence.d.ts +1 -1
  288. package/dist/replica-peers-config.d.ts +1 -1
  289. package/dist/resolve-auth-token.d.ts +1 -1
  290. package/dist/resume-bundles.js +2 -2
  291. package/dist/retrieval-agents.d.ts +2 -2
  292. package/dist/retrieval-tiers.d.ts +1 -1
  293. package/dist/routing/engine.d.ts +1 -1
  294. package/dist/routing/store.d.ts +1 -1
  295. package/dist/salvage-envelope.d.ts +1 -1
  296. package/dist/schemas.d.ts +22 -22
  297. package/dist/{scope-profiles-BVf3DZ7z.d.ts → scope-profiles-C4g6_UdP.d.ts} +1 -1
  298. package/dist/search/embed-helper.d.ts +1 -1
  299. package/dist/search/embed-helper.js +2 -2
  300. package/dist/search/factory.d.ts +1 -1
  301. package/dist/search/factory.js +6 -6
  302. package/dist/search/index.d.ts +1 -1
  303. package/dist/search/index.js +10 -10
  304. package/dist/search/lancedb-backend.d.ts +1 -1
  305. package/dist/search/meilisearch-backend.d.ts +1 -1
  306. package/dist/search/noop-backend.d.ts +1 -1
  307. package/dist/search/orama-backend.d.ts +1 -1
  308. package/dist/search/port.d.ts +1 -1
  309. package/dist/search/remote-backend.d.ts +1 -1
  310. package/dist/{semantic-consolidation-DXLV47y2.d.ts → semantic-consolidation-BrxqnzTW.d.ts} +1 -1
  311. package/dist/semantic-consolidation.d.ts +2 -2
  312. package/dist/semantic-consolidation.js +9 -9
  313. package/dist/semantic-rule-promotion.js +8 -8
  314. package/dist/semantic-rule-verifier.d.ts +1 -1
  315. package/dist/semantic-rule-verifier.js +8 -8
  316. package/dist/{service-DbgPTeMJ.d.ts → service-Bi1JgxdP.d.ts} +2 -2
  317. package/dist/session-observer-bands.d.ts +1 -1
  318. package/dist/session-observer-state.d.ts +1 -1
  319. package/dist/shared-context/manager.d.ts +1 -1
  320. package/dist/shared-context/manager.js +2 -2
  321. package/dist/signal.d.ts +1 -1
  322. package/dist/{storage-DOzTm8wG.d.ts → storage-CcH6yPk2.d.ts} +1 -1
  323. package/dist/storage.d.ts +2 -2
  324. package/dist/storage.js +7 -7
  325. package/dist/summarizer.d.ts +1 -1
  326. package/dist/summarizer.js +3 -3
  327. package/dist/summary-snapshot.d.ts +1 -1
  328. package/dist/temporal-supersession.d.ts +2 -2
  329. package/dist/temporal-timeline-recall.d.ts +1 -1
  330. package/dist/temporal-validity.d.ts +1 -1
  331. package/dist/threading.d.ts +1 -1
  332. package/dist/tier-migration.d.ts +2 -2
  333. package/dist/tier-routing.d.ts +1 -1
  334. package/dist/{tier-stats-XKD7SXYY.js → tier-stats-OPTSBNRH.js} +2 -2
  335. package/dist/topics.d.ts +1 -1
  336. package/dist/transcript.d.ts +1 -1
  337. package/dist/transfer/autodetect.js +1 -1
  338. package/dist/transfer/backup.js +2 -2
  339. package/dist/transfer/capsule-export.js +3 -3
  340. package/dist/transfer/capsule-import.js +2 -2
  341. package/dist/transfer/types.d.ts +12 -12
  342. package/dist/trust-score-stage.d.ts +1 -1
  343. package/dist/trust-score.d.ts +1 -1
  344. package/dist/{types-BA7W-_xy.d.ts → types-Dg0w9ADr.d.ts} +1 -0
  345. package/dist/types.d.ts +1 -1
  346. package/dist/types.js +1 -1
  347. package/dist/utility-runtime.d.ts +1 -1
  348. package/dist/verified-recall.js +8 -8
  349. package/dist/write-envelope.d.ts +1 -1
  350. package/package.json +2 -2
  351. package/src/capabilities.test.ts +1 -0
  352. package/src/capabilities.ts +7 -7
  353. package/src/config.test.ts +5 -0
  354. package/src/config.ts +1 -1
  355. package/src/extraction-source-grounding-helpers.ts +603 -0
  356. package/src/extraction-source-grounding-rules.ts +1031 -0
  357. package/src/extraction-source-grounding.test.ts +2337 -0
  358. package/src/extraction-source-grounding.ts +50 -0
  359. package/src/extraction.ts +120 -15
  360. package/src/types.ts +2 -2
  361. package/dist/chunk-FOCEI3TN.js.map +0 -1
  362. package/dist/chunk-JQ7T5VDC.js.map +0 -1
  363. package/dist/chunk-TKBDJTXG.js.map +0 -1
  364. /package/dist/{capsule-crypto-7FJQINUR.js.map → capsule-crypto-GWVG7LGC.js.map} +0 -0
  365. /package/dist/{chunk-GQSMYXKL.js.map → chunk-2HNUMF5V.js.map} +0 -0
  366. /package/dist/{chunk-UR5SIN7H.js.map → chunk-2XC73SHY.js.map} +0 -0
  367. /package/dist/{chunk-2H7OEVPO.js.map → chunk-3GD2HFR6.js.map} +0 -0
  368. /package/dist/{chunk-4TFIRMTE.js.map → chunk-4A6YGWQN.js.map} +0 -0
  369. /package/dist/{chunk-VFNI3RPT.js.map → chunk-4PBVXX7L.js.map} +0 -0
  370. /package/dist/{chunk-IKMAO55B.js.map → chunk-55MDBZLC.js.map} +0 -0
  371. /package/dist/{chunk-IPLYGWQF.js.map → chunk-5W7CTZ2E.js.map} +0 -0
  372. /package/dist/{chunk-B7GROTXD.js.map → chunk-6LKEUCEM.js.map} +0 -0
  373. /package/dist/{chunk-2AJ72VVS.js.map → chunk-7BZOBA5J.js.map} +0 -0
  374. /package/dist/{chunk-44DUJETW.js.map → chunk-7HXCF4RE.js.map} +0 -0
  375. /package/dist/{chunk-R372P2EH.js.map → chunk-ACXPX4AG.js.map} +0 -0
  376. /package/dist/{chunk-7CPOZH6Y.js.map → chunk-ALSGMEJR.js.map} +0 -0
  377. /package/dist/{chunk-JGUXPJUQ.js.map → chunk-AS7YMSL6.js.map} +0 -0
  378. /package/dist/{chunk-EZWWCN7I.js.map → chunk-CMRQ34J5.js.map} +0 -0
  379. /package/dist/{chunk-YOBNCD3Z.js.map → chunk-CSMCNOPH.js.map} +0 -0
  380. /package/dist/{chunk-ZN4UZWMT.js.map → chunk-D2ANTDGO.js.map} +0 -0
  381. /package/dist/{chunk-3UOSVTFR.js.map → chunk-D3LMYTBV.js.map} +0 -0
  382. /package/dist/{chunk-XY7QPJDA.js.map → chunk-E6EE5B67.js.map} +0 -0
  383. /package/dist/{chunk-TBMRQZDY.js.map → chunk-EP5BVCRI.js.map} +0 -0
  384. /package/dist/{chunk-DKQM5Q6Q.js.map → chunk-ESBQWC3U.js.map} +0 -0
  385. /package/dist/{chunk-KKBTBUVT.js.map → chunk-EVX44I7C.js.map} +0 -0
  386. /package/dist/{chunk-Q5VJUNXA.js.map → chunk-FCDWWCLX.js.map} +0 -0
  387. /package/dist/{chunk-X6ROIHFE.js.map → chunk-G5R3D5UP.js.map} +0 -0
  388. /package/dist/{chunk-MXJ3VP6S.js.map → chunk-G6LBWZRF.js.map} +0 -0
  389. /package/dist/{chunk-GJPCP5CA.js.map → chunk-GGUBDXRR.js.map} +0 -0
  390. /package/dist/{chunk-QH6CS6XJ.js.map → chunk-H24WNPA2.js.map} +0 -0
  391. /package/dist/{chunk-2FYNLDKJ.js.map → chunk-IMA2EWLV.js.map} +0 -0
  392. /package/dist/{chunk-MQVINOJQ.js.map → chunk-IYZ5K7MU.js.map} +0 -0
  393. /package/dist/{chunk-3BSJBIZ3.js.map → chunk-JDZRYH2N.js.map} +0 -0
  394. /package/dist/{chunk-P2CLYN6H.js.map → chunk-K5GB36ME.js.map} +0 -0
  395. /package/dist/{chunk-2BEJ4XCF.js.map → chunk-KUJQHXPH.js.map} +0 -0
  396. /package/dist/{chunk-227UFSEQ.js.map → chunk-LEPOP46W.js.map} +0 -0
  397. /package/dist/{chunk-VYYNBJXH.js.map → chunk-NBDCZWP4.js.map} +0 -0
  398. /package/dist/{chunk-FBZTWUK5.js.map → chunk-OFHFH655.js.map} +0 -0
  399. /package/dist/{chunk-FGBJBYWP.js.map → chunk-OVRQLAYR.js.map} +0 -0
  400. /package/dist/{chunk-2NLLXCJG.js.map → chunk-OWHERGF2.js.map} +0 -0
  401. /package/dist/{chunk-ALTP3MFS.js.map → chunk-P3MH72CI.js.map} +0 -0
  402. /package/dist/{chunk-P2OZKKYP.js.map → chunk-PHWUFPCO.js.map} +0 -0
  403. /package/dist/{chunk-Q6YJW6KE.js.map → chunk-PKRIQL3V.js.map} +0 -0
  404. /package/dist/{chunk-PXQM2HOG.js.map → chunk-Q6VFVAKZ.js.map} +0 -0
  405. /package/dist/{chunk-RKXZ7P4V.js.map → chunk-QAOGGNE3.js.map} +0 -0
  406. /package/dist/{chunk-MJPV4LBH.js.map → chunk-QMBNMPQM.js.map} +0 -0
  407. /package/dist/{chunk-JBPKEARU.js.map → chunk-RKNJBZ55.js.map} +0 -0
  408. /package/dist/{chunk-FCCMFVS6.js.map → chunk-RPSYDM6C.js.map} +0 -0
  409. /package/dist/{chunk-JIF3VRKQ.js.map → chunk-SG265CVF.js.map} +0 -0
  410. /package/dist/{chunk-MWTMTW2T.js.map → chunk-SH6YO3LT.js.map} +0 -0
  411. /package/dist/{chunk-S24E4MBQ.js.map → chunk-T3GCXULH.js.map} +0 -0
  412. /package/dist/{chunk-BJJAX3IZ.js.map → chunk-UTRO5UJU.js.map} +0 -0
  413. /package/dist/{chunk-X7Y7WX73.js.map → chunk-UVYI6VIX.js.map} +0 -0
  414. /package/dist/{chunk-WVVK2RFM.js.map → chunk-VVIW3PTA.js.map} +0 -0
  415. /package/dist/{chunk-BR4UFMLO.js.map → chunk-WONS4RZ2.js.map} +0 -0
  416. /package/dist/{chunk-2TQ2UFKH.js.map → chunk-WZ7UB7XQ.js.map} +0 -0
  417. /package/dist/{chunk-AHFZXUZM.js.map → chunk-XEQ7OT7U.js.map} +0 -0
  418. /package/dist/{chunk-EG64LXKL.js.map → chunk-XOZ4ALGB.js.map} +0 -0
  419. /package/dist/{chunk-NBNDVNJ2.js.map → chunk-YGHMSDLK.js.map} +0 -0
  420. /package/dist/{chunk-2PHX3I5C.js.map → chunk-Z54EM5YZ.js.map} +0 -0
  421. /package/dist/{chunk-IYT632D5.js.map → chunk-ZGOQTOYA.js.map} +0 -0
  422. /package/dist/{chunk-LIHC3T43.js.map → chunk-ZXAGJFHJ.js.map} +0 -0
  423. /package/dist/{contradiction-scan-HMF7CNKD.js.map → contradiction-scan-HYLIRMJ2.js.map} +0 -0
  424. /package/dist/{first-start-migration-BKNGOFED.js.map → first-start-migration-F2QJD66E.js.map} +0 -0
  425. /package/dist/{tier-stats-XKD7SXYY.js.map → tier-stats-OPTSBNRH.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/extraction-source-grounding-rules.ts"],"sourcesContent":["import type { ExtractionResult } from \"./types.js\";\nimport { anchorTemporalExpressions } from \"./delinearize.js\";\nimport {\n GROUNDING_AUXILIARY_TOKENS,\n GROUNDING_COPULAR_FORMS,\n GROUNDING_ENTITY_TYPE_PREFIXES,\n GROUNDING_MIN_COVERAGE,\n GROUNDING_MIN_SHARED_TOKENS,\n GROUNDING_STOPWORDS,\n areGroundingTokensCompatible,\n containsContiguousGroundingTokens,\n containsExactTokenSequence,\n groundingLexemes,\n groundingTokenSequence,\n hasContradictoryPolarity,\n hasExplicitRoleSubjectToken,\n isAttachedNegatedAuxiliary,\n isInterrogativeSourceSentence,\n normalizeForExactMatch,\n normalizedGroundingAlignmentTokenSequence,\n normalizedGroundingTokenSequence,\n sourceSentences,\n splitGroundingClauses,\n stemToken,\n tokenize,\n tokenSequence,\n} from \"./extraction-source-grounding-helpers.js\";\n\nexport interface ExtractionSourceGroundingOptions {\n sourceGrounding: boolean;\n anchorTemporalExpressions: boolean;\n}\n\nexport function applyExtractionSourceGrounding(\n result: ExtractionResult,\n sourceText: string,\n assertionSourceText: string = sourceText,\n roleAssertionSources: ExtractionGroundingRoleSources | undefined,\n messageTimestamp: Date | undefined,\n options: ExtractionSourceGroundingOptions,\n): ExtractionResult {\n if (!options.sourceGrounding) return result;\n const anchorSource = (source: string): string =>\n options.anchorTemporalExpressions\n ? anchorTemporalExpressions(source, messageTimestamp ?? new Date())\n : source;\n const anchoredRoleSources = roleAssertionSources === undefined\n ? undefined\n : {\n profile: roleAssertionSources.profile === undefined\n ? undefined\n : anchorSource(roleAssertionSources.profile),\n identity: roleAssertionSources.identity === undefined\n ? undefined\n : anchorSource(roleAssertionSources.identity),\n };\n return filterExtractionResultBySource(\n result,\n anchorSource(sourceText),\n anchorSource(assertionSourceText),\n anchoredRoleSources,\n options.anchorTemporalExpressions ? anchorSource : undefined,\n );\n}\n\nexport interface ExtractionGroundingRoleSources {\n profile?: string;\n identity?: string;\n}\n\n\n\ninterface GroundingCopularClaim {\n subject: string;\n predicate: string;\n}\n\nfunction groundingCopularClaim(text: string): GroundingCopularClaim | undefined {\n const lexemes = groundingLexemes(text);\n const copulaIndex = lexemes.findIndex(({ token }) => GROUNDING_COPULAR_FORMS.has(token));\n if (copulaIndex <= 0) return undefined;\n\n let subjectIndex = copulaIndex - 1;\n while (\n subjectIndex >= 0\n && GROUNDING_AUXILIARY_TOKENS.has(lexemes[subjectIndex]!.token)\n ) {\n subjectIndex -= 1;\n }\n const subjectLexeme = lexemes[subjectIndex];\n const predicateLexeme = lexemes\n .slice(copulaIndex + 1)\n .find(({ token }) => GROUNDING_STOPWORDS[token] !== true);\n if (subjectLexeme === undefined || predicateLexeme === undefined) return undefined;\n\n return {\n subject: stemToken(subjectLexeme.token, subjectLexeme.preserveTerminalS),\n predicate: stemToken(predicateLexeme.token, predicateLexeme.preserveTerminalS),\n };\n}\n\nfunction hasCopularPredicateEvidence(candidate: string, source: string): boolean {\n const candidateClaim = groundingCopularClaim(candidate);\n if (candidateClaim === undefined) return true;\n const sourceClaim = groundingCopularClaim(source);\n return sourceClaim !== undefined\n && areGroundingTokensCompatible(candidateClaim.subject, sourceClaim.subject)\n && areGroundingTokensCompatible(candidateClaim.predicate, sourceClaim.predicate);\n}\nconst GROUNDING_ALIGNMENT_MODIFIERS = new Set([\n \"actively\",\n \"again\",\n \"already\",\n \"currently\",\n \"eventually\",\n \"finally\",\n \"generally\",\n \"mainly\",\n \"newly\",\n \"now\",\n \"often\",\n \"previously\",\n \"primarily\",\n \"quickly\",\n \"recently\",\n \"repeatedly\",\n \"simply\",\n \"slowly\",\n \"sometimes\",\n \"still\",\n \"successfully\",\n \"typically\",\n \"usually\",\n]);\n\nfunction isGroundingAlignmentModifier(token: string): boolean {\n return GROUNDING_ALIGNMENT_MODIFIERS.has(token);\n}\n\n\nfunction hasAlignedSubjectPredicateOverlap(candidate: string, source: string): boolean {\n const candidateTokens = normalizedGroundingAlignmentTokenSequence(candidate);\n const sourceTokens = normalizedGroundingAlignmentTokenSequence(source);\n if (candidateTokens.length < 3 || sourceTokens.length < 3) {\n return hasCopularPredicateEvidence(candidate, source);\n }\n\n const candidateSubject = candidateTokens[0];\n if (candidateSubject === undefined) return false;\n const hasCorrectionReordering = /\\b(?:rather\\s+than|instead\\s+of)\\b/iu.test(candidate)\n && /\\b(?:not|rather\\s+than|instead\\s+of)\\b/iu.test(source);\n for (let sourceSubjectIndex = 0; sourceSubjectIndex < sourceTokens.length; sourceSubjectIndex += 1) {\n if (!areGroundingTokensCompatible(candidateSubject, sourceTokens[sourceSubjectIndex]!)) continue;\n let sourceCursor = sourceSubjectIndex + 1;\n let foundAlignedToken = false;\n let aligned = true;\n for (let candidateIndex = 1; candidateIndex < candidateTokens.length; candidateIndex += 1) {\n const candidateToken = candidateTokens[candidateIndex]!;\n const sourceIndex = sourceTokens.findIndex(\n (sourceToken, index) =>\n index >= sourceCursor && areGroundingTokensCompatible(candidateToken, sourceToken),\n );\n if (sourceIndex === -1) {\n if (hasCorrectionReordering) continue;\n aligned = false;\n break;\n }\n foundAlignedToken = true;\n const candidateNext = candidateTokens[candidateIndex + 1];\n const sourceNext = sourceTokens[sourceIndex + 1];\n if (\n candidateNext !== undefined\n && sourceNext !== undefined\n && !hasCorrectionReordering\n && !areGroundingTokensCompatible(candidateNext, sourceNext)\n && !isGroundingAlignmentModifier(sourceNext)\n ) {\n aligned = false;\n break;\n }\n sourceCursor = sourceIndex + 1;\n }\n if (aligned && foundAlignedToken) return true;\n }\n return false;\n}\n\nfunction groundedTokenScore(\n candidate: string,\n source: string,\n requireAlignedArguments = true,\n requireAllCandidateTokensGrounded = true,\n): number {\n const candidateTokens = tokenize(candidate);\n if (candidateTokens.size === 0) return 0;\n const sourceTokens = tokenize(source);\n const allowCorrectionReordering = /\\b(?:rather\\s+than|instead\\s+of)\\b/iu.test(candidate);\n let sharedTokens = 0;\n let allCandidateTokensGrounded = true;\n for (const token of candidateTokens) {\n if ([...sourceTokens].some((sourceToken) => areGroundingTokensCompatible(token, sourceToken))) {\n sharedTokens += 1;\n } else if (!allowCorrectionReordering && token !== \"rather\" && token !== \"instead\") {\n allCandidateTokensGrounded = false;\n }\n }\n if (\n (requireAllCandidateTokensGrounded && !allCandidateTokensGrounded)\n || sharedTokens < GROUNDING_MIN_SHARED_TOKENS\n || sharedTokens / candidateTokens.size < GROUNDING_MIN_COVERAGE\n ) {\n return 0;\n }\n if (requireAlignedArguments && !hasAlignedSubjectPredicateOverlap(candidate, source)) return 0;\n return sharedTokens / candidateTokens.size;\n}\n\nfunction candidateClauses(candidate: string): string[] {\n return splitGroundingClauses(sourceSentences(candidate));\n}\n\nfunction isSourceGroundedClause(\n candidate: string,\n source: string,\n includeInterrogativeSource = false,\n): boolean {\n let bestSupportedScore = 0;\n let bestContradictedScore = 0;\n const sentences = sourceSentences(source);\n for (let index = 0; index < sentences.length; index += 1) {\n const sentence = sentences[index];\n if (isYesNoAnswer(sentence)) {\n const precedingSentence = sentences[index - 1];\n const answerToken = tokenSequence(sentence)[0];\n const contradictoryPolarity = precedingSentence !== undefined\n ? hasContradictoryPolarity(candidate, precedingSentence)\n : false;\n if (\n precedingSentence !== undefined\n && isInterrogativeSourceSentence(precedingSentence)\n && groundedTokenScore(candidate, precedingSentence) === 1\n && (\n (answerToken === \"yes\" && !contradictoryPolarity)\n || (answerToken === \"no\" && contradictoryPolarity)\n )\n ) {\n return true;\n }\n continue;\n }\n const sentenceText = normalizeForExactMatch(sentence);\n const isExplanatoryLabel = sentenceText.startsWith(`${normalizeForExactMatch(candidate)}:`)\n && !sentence.trim().endsWith(\"?\");\n if (!includeInterrogativeSource && isInterrogativeSourceSentence(sentence) && !isExplanatoryLabel) {\n continue;\n }\n const sourceSpans = /\\b(?:rather\\s+than|instead\\s+of)\\b/iu.test(candidate)\n ? [sentence]\n : splitGroundingClauses([sentence]);\n for (const sourceSpan of sourceSpans) {\n const sourceSpanText = normalizeForExactMatch(sourceSpan);\n if (containsExactTokenSequence(candidate, sourceSpanText)) {\n if (!hasContradictoryPolarity(candidate, sourceSpan)) return true;\n bestContradictedScore = Math.max(bestContradictedScore, 1);\n continue;\n }\n const score = groundedTokenScore(\n candidate,\n sourceSpan,\n !includeInterrogativeSource,\n !includeInterrogativeSource,\n );\n if (score === 0) continue;\n if (hasContradictoryPolarity(candidate, sourceSpan)) {\n bestContradictedScore = Math.max(bestContradictedScore, score);\n } else {\n bestSupportedScore = Math.max(bestSupportedScore, score);\n }\n }\n }\n return bestSupportedScore > bestContradictedScore;\n}\nfunction isSourceGrounded(\n candidate: string,\n source: string,\n includeInterrogativeSource = false,\n): boolean {\n const candidateText = normalizeForExactMatch(candidate);\n const sourceText = source.normalize(\"NFKC\").trim();\n if (candidateText.length === 0 || sourceText.length === 0) return false;\n const hasSupportedExactMatch = sourceSentences(sourceText).some((sentence) => {\n const sentenceText = normalizeForExactMatch(sentence);\n const isExplanatoryLabel = sentenceText.startsWith(`${candidateText}:`)\n && !sentence.trim().endsWith(\"?\");\n if (!includeInterrogativeSource && isInterrogativeSourceSentence(sentence) && !isExplanatoryLabel) return false;\n return containsExactTokenSequence(candidateText, sentenceText)\n && !hasContradictoryPolarity(candidateText, sentenceText);\n });\n if (hasSupportedExactMatch) return true;\n\n const clauses = candidateClauses(candidateText);\n if (clauses.length > 1) {\n return clauses.every((clause) =>\n isSourceGroundedClause(clause, sourceText, includeInterrogativeSource));\n }\n return isSourceGroundedClause(candidateText, sourceText, includeInterrogativeSource);\n}\n\nfunction normalizedEntityIdentifierTokens(name: string): string[] {\n const identifier = normalizeForExactMatch(name).replace(/[-_]+/gu, \" \");\n const tokens = groundingLexemes(identifier)\n .filter(({ token }) => GROUNDING_STOPWORDS[token] !== true)\n .map(({ token }) => stemToken(token, true));\n return tokens.length > 1 && GROUNDING_ENTITY_TYPE_PREFIXES.has(tokens[0] ?? \"\")\n ? tokens.slice(1)\n : tokens;\n}\n\nfunction isGroundedEntityName(name: string, source: string): boolean {\n const nameTokens = normalizedEntityIdentifierTokens(name);\n return nameTokens.length > 0 && sourceSentences(source).some((sentence) => {\n const sentenceTokens = groundingLexemes(sentence)\n .filter(({ token }) => GROUNDING_STOPWORDS[token] !== true)\n .map(({ token, preserveTerminalS }) => stemToken(token, preserveTerminalS));\n return containsContiguousGroundingTokens(nameTokens, sentenceTokens);\n });\n}\nfunction buildEntitySupportSource(name: string, source: string): string {\n const nameTokens = normalizedEntityIdentifierTokens(name);\n if (nameTokens.length === 0) return \"\";\n return sourceSentences(source)\n .filter((sentence) => {\n const sentenceTokens = groundingLexemes(sentence)\n .filter(({ token }) => GROUNDING_STOPWORDS[token] !== true)\n .map(({ token, preserveTerminalS }) => stemToken(token, preserveTerminalS));\n return containsContiguousGroundingTokens(nameTokens, sentenceTokens);\n })\n .join(\" \");\n}\n\nfunction hasGroundedPredicateAnchor(candidate: string, sentence: string): boolean {\n const candidateTokens = normalizedGroundingTokenSequence(candidate);\n const sourceTokens = normalizedGroundingTokenSequence(sentence);\n const comparableCandidateTokens = GROUNDING_ROLE_SUBJECT_TOKENS.has(candidateTokens[0] ?? \"\")\n ? candidateTokens.slice(1)\n : candidateTokens;\n if (comparableCandidateTokens.length < 2) return false;\n const subjectToken = comparableCandidateTokens[0];\n if (subjectToken === undefined || !sourceTokens.includes(subjectToken)) {\n return false;\n }\n const candidatePredicateTokens = comparableCandidateTokens.slice(1);\n const sourceTokenSet = new Set(sourceTokens);\n const sharedPredicateTokens = candidatePredicateTokens.filter((token) => sourceTokenSet.has(token));\n const requiredSharedTokens = Math.min(2, candidatePredicateTokens.length);\n return sharedPredicateTokens.length >= requiredSharedTokens;\n}\nfunction hasGroundingAnchor(\n candidate: string,\n assertionSource: string,\n includeInterrogativeSource = false,\n requirePredicateSupport = false,\n): boolean {\n return sourceSentences(assertionSource).some((sentence) => {\n if (!includeInterrogativeSource && isInterrogativeSourceSentence(sentence)) return false;\n const sourceSpans = /\\b(?:rather\\s+than|instead\\s+of)\\b/iu.test(candidate)\n ? [sentence]\n : splitGroundingClauses([sentence]);\n return sourceSpans.some((sourceSpan) => {\n const exactMatch = containsExactTokenSequence(candidate, sourceSpan)\n && !hasContradictoryPolarity(candidate, sourceSpan);\n if (exactMatch) return true;\n if (requirePredicateSupport && !hasGroundedPredicateAnchor(candidate, sourceSpan)) return false;\n return groundedTokenScore(candidate, sourceSpan) > 0\n || hasRoleNormalizedGrounding(candidate, sourceSpan);\n });\n });\n}\n\nfunction hasAnswerSupport(\n candidate: string,\n source: string,\n assertionSource: string,\n): boolean {\n const assertedAnswerSentences = new Set(\n sourceSentences(assertionSource)\n .filter((sentence) => {\n const answerToken = tokenSequence(sentence)[0];\n return answerToken === \"yes\" || answerToken === \"no\";\n })\n .map((sentence) => normalizeForExactMatch(sentence)),\n );\n if (assertedAnswerSentences.size === 0) return false;\n const sentences = sourceSentences(source);\n return sentences.some((sentence, index) => {\n const answerToken = tokenSequence(sentence)[0];\n if (answerToken !== \"yes\" && answerToken !== \"no\") return false;\n if (!assertedAnswerSentences.has(normalizeForExactMatch(sentence))) return false;\n const precedingSentence = sentences[index - 1];\n if (\n precedingSentence === undefined\n || !isInterrogativeSourceSentence(precedingSentence)\n || groundedTokenScore(candidate, precedingSentence) !== 1\n ) {\n return false;\n }\n const contradictoryPolarity = hasContradictoryPolarity(candidate, precedingSentence);\n return answerToken === \"yes\" ? !contradictoryPolarity : contradictoryPolarity;\n });\n}\n\nconst GROUNDING_ROLE_SUBJECT_TOKENS = new Set([\"assistant\", \"user\"]);\n\nfunction hasRoleNormalizedGrounding(candidate: string, source: string): boolean {\n const candidateTokens = groundingTokenSequence(candidate);\n if (!GROUNDING_ROLE_SUBJECT_TOKENS.has(candidateTokens[0] ?? \"\")) return false;\n const claimTokens = candidateTokens.slice(1);\n if (claimTokens.length === 0) return false;\n\n return sourceSentences(source).some((sentence) => {\n if (isInterrogativeSourceSentence(sentence)) return false;\n const sourceTokens = groundingTokenSequence(sentence);\n const requiredSharedTokens = Math.min(GROUNDING_MIN_SHARED_TOKENS, claimTokens.length);\n let sourceIndex = 0;\n let sharedTokens = 0;\n for (const claimToken of claimTokens) {\n const matchingIndex = sourceTokens.indexOf(claimToken, sourceIndex);\n if (matchingIndex === -1) continue;\n sharedTokens += 1;\n sourceIndex = matchingIndex + 1;\n }\n return sharedTokens >= requiredSharedTokens\n && !hasContradictoryPolarity(candidate, sentence);\n });\n}\n\ninterface GroundingContext {\n source: string;\n assertionSource: string | undefined;\n allowRoleNormalization: boolean;\n fallbackSource?: string;\n fallbackAssertionSource?: string;\n}\n\nfunction resolveGroundingContext(\n candidate: string,\n source: string,\n assertionSource: string | undefined,\n roleAssertionSources: ExtractionGroundingRoleSources | undefined,\n): GroundingContext {\n const candidateRole = groundingTokenSequence(candidate)[0];\n if (!GROUNDING_ROLE_SUBJECT_TOKENS.has(candidateRole ?? \"\")) {\n return { source, assertionSource, allowRoleNormalization: false };\n }\n if (roleAssertionSources === undefined) {\n return { source, assertionSource, allowRoleNormalization: true };\n }\n const roleSource = candidateRole === \"user\"\n ? roleAssertionSources.profile\n : roleAssertionSources.identity;\n return {\n source: roleSource ?? \"\",\n assertionSource: roleSource ?? \"\",\n allowRoleNormalization: true,\n fallbackSource: source,\n fallbackAssertionSource: assertionSource,\n };\n}\n\nfunction selectGroundingContext(candidate: string, context: GroundingContext): GroundingContext {\n if (isGroundedCandidate(\n candidate,\n context.source,\n context.assertionSource,\n false,\n context.allowRoleNormalization,\n )) {\n return context;\n }\n if (\n context.fallbackSource === undefined\n || !hasExplicitRoleSubjectToken(\n groundingTokenSequence(candidate)[0],\n sourceSentences(context.fallbackSource).map((sentence) => groundingTokenSequence(sentence)),\n )\n ) return context;\n const fallbackContext: GroundingContext = {\n source: context.fallbackSource,\n assertionSource: context.fallbackAssertionSource,\n allowRoleNormalization: false,\n };\n return isGroundedCandidate(\n candidate,\n fallbackContext.source,\n fallbackContext.assertionSource,\n false,\n fallbackContext.allowRoleNormalization,\n )\n ? fallbackContext\n : context;\n}\n\nfunction isGroundedCandidate(\n candidate: string,\n source: string,\n assertionSource: string | undefined,\n includeInterrogativeSource = false,\n allowRoleNormalization = false,\n): boolean {\n const allowInterrogativeSource = includeInterrogativeSource\n || (\n assertionSource !== undefined\n && normalizeForExactMatch(assertionSource) !== normalizeForExactMatch(source)\n );\n const sourceGrounded = isSourceGrounded(candidate, source, allowInterrogativeSource);\n const roleGrounded = allowRoleNormalization && hasRoleNormalizedGrounding(candidate, source);\n const candidateTokens = groundingTokenSequence(candidate);\n const roleNormalizedCandidate = allowRoleNormalization\n && GROUNDING_ROLE_SUBJECT_TOKENS.has(candidateTokens[0] ?? \"\");\n if (roleNormalizedCandidate && !roleGrounded) return false;\n if (!sourceGrounded && !roleGrounded) return false;\n if (assertionSource === undefined) return true;\n const clauses = candidateClauses(candidate);\n const requirePredicateSupport = !includeInterrogativeSource\n && assertionSource !== undefined\n && normalizeForExactMatch(assertionSource) !== normalizeForExactMatch(source);\n return clauses.length > 0\n && (\n clauses.every((clause) =>\n hasGroundingAnchor(clause, assertionSource, includeInterrogativeSource, requirePredicateSupport))\n || hasAnswerSupport(candidate, source, assertionSource)\n );\n}\n\nfunction buildFactSupportSource(\n source: string,\n supportingSentences: ReadonlyArray<string>,\n): string {\n const sentences = sourceSentences(source);\n const selectedIndices = new Set<number>();\n for (const supportingSentence of supportingSentences) {\n const supportIndex = sentences.indexOf(supportingSentence);\n if (supportIndex < 0) continue;\n let endIndex = supportIndex;\n while (\n endIndex < sentences.length - 1\n && sentences[endIndex]!.trimEnd().endsWith(\";\")\n && /^(?:its|their|this|that|these|those)\\b/iu.test(\n sentences[endIndex + 1]!.trimStart(),\n )\n ) {\n endIndex += 1;\n }\n for (let index = supportIndex; index <= endIndex; index += 1) {\n selectedIndices.add(index);\n }\n }\n return [...selectedIndices]\n .sort((left, right) => left - right)\n .map((index) => sentences[index]!)\n .join(\" \");\n}\nfunction buildProcedureSupportSource(\n fact: ExtractionResult[\"facts\"][number],\n source: string,\n factSupportSource: string,\n): string {\n if (fact.category !== \"procedure\" || fact.procedureSteps === undefined) return factSupportSource;\n const parentSupportSentences = new Set(\n sourceSentences(factSupportSource).map((sentence) => normalizeForExactMatch(sentence)),\n );\n const parentGroundedSteps = fact.procedureSteps.filter((step) =>\n isGroundedCandidate(step.intent, factSupportSource, undefined, false),\n );\n if (parentGroundedSteps.length === 0) return factSupportSource;\n return sourceSentences(source)\n .filter((sentence) => {\n if (parentSupportSentences.has(normalizeForExactMatch(sentence))) return true;\n const sentenceTokens = tokenize(sentence);\n return parentGroundedSteps.some((step) =>\n [...tokenize(step.intent)].some((token) =>\n [...sentenceTokens].some((sourceToken) => areGroundingTokensCompatible(token, sourceToken)),\n ),\n );\n })\n .join(\" \");\n}\nfunction filterGroundedFact(\n fact: ExtractionResult[\"facts\"][number],\n source: string,\n assertionSource: string | undefined,\n roleAssertionSources: ExtractionGroundingRoleSources | undefined,\n eventTimeNormalizer: ((eventTime: string) => string) | undefined,\n): ExtractionResult[\"facts\"][number] | undefined {\n const factContext = selectGroundingContext(\n fact.content,\n resolveGroundingContext(fact.content, source, assertionSource, roleAssertionSources),\n );\n if (!isGroundedCandidate(\n fact.content,\n factContext.source,\n factContext.assertionSource,\n false,\n factContext.allowRoleNormalization,\n )) return undefined;\n const factEventTime = fact.eventTime;\n const groundedFactEventTime = factEventTime === undefined\n ? undefined\n : eventTimeNormalizer?.(factEventTime) ?? factEventTime;\n const factSupportingSentences = sourceSentences(factContext.assertionSource ?? factContext.source).filter(\n (sentence) =>\n isGroundedCandidate(\n fact.content,\n sentence,\n undefined,\n false,\n factContext.allowRoleNormalization,\n ),\n );\n const factSupportingSource = factEventTime === undefined\n ? factSupportingSentences[0]\n : factSupportingSentences.find((sentence) =>\n isGroundedCandidate(\n groundedFactEventTime ?? factEventTime,\n sentence,\n undefined,\n false,\n factContext.allowRoleNormalization,\n ),\n ) ?? factSupportingSentences[0];\n const eventTimeSource = factSupportingSource ?? factContext.source;\n const eventTimeAssertionSource = factSupportingSource === undefined\n ? factContext.assertionSource\n : undefined;\n\n const factSupportSource = buildFactSupportSource(\n factContext.assertionSource ?? factContext.source,\n factSupportingSentences,\n );\n const groundedAttributes = fact.structuredAttributes\n ? Object.fromEntries(\n Object.entries(fact.structuredAttributes)\n .filter(([key, value]) =>\n isGroundedCandidate(\n `${key}: ${value}`,\n factSupportSource,\n undefined,\n false,\n factContext.allowRoleNormalization,\n ),\n ),\n )\n : undefined;\n const procedureGroundingSource = buildProcedureSupportSource(\n fact,\n factContext.assertionSource ?? factContext.source,\n factSupportSource,\n );\n const groundedProcedureSteps = fact.procedureSteps\n ? fact.procedureSteps.flatMap((step) => {\n if (!isGroundedCandidate(step.intent, procedureGroundingSource, undefined, false)) return [];\n const expectedOutcome = step.expectedOutcome\n && isGroundedCandidate(step.expectedOutcome, procedureGroundingSource, undefined, false)\n ? step.expectedOutcome\n : undefined;\n const toolCall = step.toolCall\n && isGroundedCandidate(step.toolCall.signature, procedureGroundingSource, undefined, false)\n ? step.toolCall\n : undefined;\n const {\n expectedOutcome: _expectedOutcome,\n toolCall: _toolCall,\n ...stepWithoutOptionalFields\n } = step;\n return [{\n ...stepWithoutOptionalFields,\n ...(expectedOutcome !== undefined ? { expectedOutcome } : {}),\n ...(toolCall !== undefined ? { toolCall } : {}),\n }];\n })\n : undefined;\n const groundedReasoningTrace = fact.reasoningTrace\n && fact.reasoningTrace.steps.length > 0\n && isGroundedCandidate(\n fact.reasoningTrace.finalAnswer,\n factContext.source,\n factContext.assertionSource,\n false,\n factContext.allowRoleNormalization,\n )\n && fact.reasoningTrace.steps.every((step) =>\n isGroundedCandidate(\n step.description,\n factContext.source,\n factContext.assertionSource,\n false,\n factContext.allowRoleNormalization,\n ),\n )\n ? {\n steps: fact.reasoningTrace.steps,\n finalAnswer: fact.reasoningTrace.finalAnswer,\n ...(fact.reasoningTrace.observedOutcome\n && isGroundedCandidate(\n fact.reasoningTrace.observedOutcome,\n factContext.source,\n factContext.assertionSource,\n false,\n factContext.allowRoleNormalization,\n )\n ? { observedOutcome: fact.reasoningTrace.observedOutcome }\n : {}),\n }\n : undefined;\n const groundedEventTime = groundedFactEventTime\n && isGroundedCandidate(groundedFactEventTime, eventTimeSource, eventTimeAssertionSource)\n ? factEventTime\n : undefined;\n const groundedEntityRef = fact.entityRef !== undefined\n && isGroundedEntityName(fact.entityRef, factSupportSource)\n ? fact.entityRef\n : undefined;\n const {\n entityRef: _entityRef,\n structuredAttributes: _structuredAttributes,\n procedureSteps: _procedureSteps,\n reasoningTrace: _reasoningTrace,\n eventTime: _eventTime,\n ...factWithoutGroundingFields\n } = fact;\n return {\n ...factWithoutGroundingFields,\n ...(groundedEntityRef !== undefined ? { entityRef: groundedEntityRef } : {}),\n ...(groundedAttributes && Object.keys(groundedAttributes).length > 0\n ? { structuredAttributes: groundedAttributes }\n : {}),\n ...(groundedProcedureSteps && groundedProcedureSteps.length > 0\n ? { procedureSteps: groundedProcedureSteps }\n : {}),\n ...(groundedReasoningTrace !== undefined ? { reasoningTrace: groundedReasoningTrace } : {}),\n ...(groundedEventTime !== undefined ? { eventTime: groundedEventTime } : {}),\n };\n}\n\nfunction filterGroundedEntity(\n entity: ExtractionResult[\"entities\"][number],\n source: string,\n assertionSource: string | undefined,\n): ExtractionResult[\"entities\"][number] | undefined {\n if (!isGroundedEntityName(entity.name, source)) return undefined;\n const entitySource = buildEntitySupportSource(entity.name, source);\n const entityAssertionSource = assertionSource === undefined\n ? undefined\n : buildEntitySupportSource(entity.name, assertionSource);\n const facts = entity.facts.filter((fact) =>\n isGroundedCandidate(fact, entitySource, entityAssertionSource),\n );\n const structuredSections = entity.structuredSections\n ?.flatMap((section) => {\n const groundedFacts = section.facts.filter((fact) =>\n isGroundedCandidate(fact, entitySource, entityAssertionSource),\n );\n return groundedFacts.length > 0\n ? [{ ...section, facts: groundedFacts }]\n : [];\n });\n if (facts.length === 0 && (structuredSections === undefined || structuredSections.length === 0)) {\n return undefined;\n }\n const { structuredSections: _structuredSections, ...entityWithoutSections } = entity;\n return {\n ...entityWithoutSections,\n facts,\n ...(structuredSections && structuredSections.length > 0 ? { structuredSections } : {}),\n };\n}\n\nfunction normalizedEntitySourceText(name: string): string {\n return normalizedEntityIdentifierTokens(name).join(\" \");\n}\n\nfunction isGroundedRelationship(\n relationship: NonNullable<ExtractionResult[\"relationships\"]>[number],\n source: string,\n assertionSource: string | undefined,\n): boolean {\n const sourceName = normalizedEntitySourceText(relationship.source);\n const targetName = normalizedEntitySourceText(relationship.target);\n const labelTokens = tokenize(relationship.label);\n if (sourceName.length === 0 || targetName.length === 0 || labelTokens.size === 0) return false;\n const relationText = `${sourceName} ${relationship.label} ${targetName}`;\n const hasCoherentSourceSpan = sourceSentences(source).some((sentence) => {\n if (isInterrogativeSourceSentence(sentence)) return false;\n return groundedTokenScore(relationText, sentence) === 1\n && !hasContradictoryPolarity(relationText, sentence);\n });\n return hasCoherentSourceSpan\n && isGroundedCandidate(relationText, source, assertionSource);\n}\nconst GROUNDING_TEMPORAL_WORDS = new Set([\n \"today\",\n \"yesterday\",\n \"tomorrow\",\n \"now\",\n \"recently\",\n \"earlier\",\n \"later\",\n \"soon\",\n \"morning\",\n \"afternoon\",\n \"evening\",\n \"tonight\",\n \"night\",\n \"noon\",\n \"midnight\",\n \"monday\",\n \"tuesday\",\n \"wednesday\",\n \"thursday\",\n \"friday\",\n \"saturday\",\n \"sunday\",\n \"january\",\n \"february\",\n \"march\",\n \"april\",\n \"may\",\n \"june\",\n \"july\",\n \"august\",\n \"september\",\n \"october\",\n \"november\",\n \"december\",\n \"q1\",\n \"q2\",\n \"q3\",\n \"q4\",\n]);\nconst GROUNDING_TEMPORAL_CLOCK_PATTERN = /\\b\\d{1,2}:\\d{2}(?:\\s*[ap]\\.?m\\.?)?\\b/iu;\nconst GROUNDING_TEMPORAL_DURATION_PATTERN = new RegExp(\n \"\\\\b(?:\\\\d+|one|two|three|four|five|six|seven|eight|nine|ten)\\\\s+\"\n + \"(?:seconds?|minutes?|hours?|days?|weeks?|months?|quarters?|years?)\\\\b\",\n \"iu\",\n);\n\nfunction isWhenQuestion(question: string): boolean {\n return /^(?:when|what\\s+(?:time|date)|which\\s+day)\\b/iu.test(question.trim());\n}\nfunction isWhyQuestion(question: string): boolean {\n return /^why\\b/iu.test(question.trim());\n}\n\nfunction hasCausalAnswerEvidence(question: string, sentence: string): boolean {\n if (!isWhyQuestion(question)) return true;\n return /\\b(?:because|since|due\\s+to|owing\\s+to|thanks\\s+to|therefore|thus|hence|so)\\b/iu.test(\n sentence,\n );\n}\n\nfunction hasTemporalAnswerEvidence(question: string, sentence: string): boolean {\n if (!isWhenQuestion(question)) return true;\n return groundingLexemes(sentence).some(({ token }) =>\n GROUNDING_TEMPORAL_WORDS.has(token) || /^(?:19|20)\\d{2}$/u.test(token),\n )\n || GROUNDING_TEMPORAL_CLOCK_PATTERN.test(sentence)\n || GROUNDING_TEMPORAL_DURATION_PATTERN.test(sentence);\n}\n\n\nfunction isUnknownAnswerSentence(sentence: string): boolean {\n return /\\b(?:unknown|unclear|unsure|unresolved|unanswered|not\\s+(?:known|sure|available)|don't\\s+know|do\\s+not\\s+know|no\\s+idea|pending)\\b/iu\n .test(sentence);\n}\n\nfunction isYesNoAnswer(sentence: string): boolean {\n return /^(?:yes|no)(?:[.!?]|,\\s*(?:absolutely|definitely|indeed|exactly|correct|of\\s+course|use\\s+that|do\\s+that)[.!?]?)?$/iu\n .test(sentence.trim());\n}\n\nfunction hasWhAnswerRoleAlignment(question: string, sentence: string): boolean {\n const normalizedQuestion = question.trim();\n const objectQuestionMatch = /^(?:what|which)\\s+.+?\\s+(?:is|are|was|were|do|does|did|can|could|will|would|should|has|have|had)\\s+(.+?)\\s+([^\\s?]+)\\??$/iu\n .exec(normalizedQuestion);\n const sourceTokens = normalizedGroundingTokenSequence(sentence);\n if (objectQuestionMatch !== null) {\n const subjectTokens = groundingTokenSequence(objectQuestionMatch[1] ?? \"\");\n const predicateTokens = groundingTokenSequence(objectQuestionMatch[2] ?? \"\");\n if (subjectTokens.length === 0 || predicateTokens.length === 0) return true;\n let sourceIndex = 0;\n for (const token of [...subjectTokens, ...predicateTokens]) {\n const matchedIndex = sourceTokens.indexOf(token, sourceIndex);\n if (matchedIndex === -1) return false;\n sourceIndex = matchedIndex + 1;\n }\n return true;\n }\n\n const subjectQuestionMatch = /^(?:who|what)\\s+([^\\s?]+)\\s+(.+?)\\??$/iu.exec(normalizedQuestion);\n if (subjectQuestionMatch === null) return true;\n const predicateTokens = groundingTokenSequence(subjectQuestionMatch[1] ?? \"\");\n const objectTokens = groundingTokenSequence(subjectQuestionMatch[2] ?? \"\");\n if (predicateTokens.length === 0 || objectTokens.length === 0) return true;\n const predicateStart = sourceTokens.indexOf(predicateTokens[0]!);\n if (predicateStart === -1) return false;\n let sourceIndex = predicateStart + predicateTokens.length;\n for (const objectToken of objectTokens) {\n const objectIndex = sourceTokens.indexOf(objectToken, sourceIndex);\n if (objectIndex === -1) return false;\n sourceIndex = objectIndex + 1;\n }\n return true;\n}\n\nfunction isQuestionAnsweredBySource(\n question: string,\n source: string,\n assertionSource: string | undefined,\n): boolean {\n const questionTokens = tokenize(question);\n if (questionTokens.size === 0) return false;\n const isYesNoQuestion = /^(?:is|are|am|was|were|do|does|did|can|could|will|would|should|has|have|had)\\b/iu\n .test(question.trim());\n const assertedSentences = new Set(sourceSentences(assertionSource ?? source).map((sentence) => normalizeForExactMatch(sentence)));\n const sentences = sourceSentences(source);\n return sentences.some((sentence, index) => {\n if (!assertedSentences.has(normalizeForExactMatch(sentence))) return false;\n if (isInterrogativeSourceSentence(sentence)) return false;\n if (isYesNoAnswer(sentence)) {\n const precedingSentence = sentences[index - 1];\n return precedingSentence !== undefined\n && isInterrogativeSourceSentence(precedingSentence)\n && groundedTokenScore(question, precedingSentence) === 1;\n }\n if (isUnknownAnswerSentence(sentence)) return false;\n const score = groundedTokenScore(question, sentence, false);\n if (score !== 1) return false;\n const sentenceTokens = tokenize(sentence);\n const hasAnswerToken = [...sentenceTokens].some((token) => !questionTokens.has(token));\n return (isYesNoQuestion || hasAnswerToken)\n && hasTemporalAnswerEvidence(question, sentence)\n && hasCausalAnswerEvidence(question, sentence)\n && hasWhAnswerRoleAlignment(question, sentence);\n });\n}\n\nfunction groundQuestion(\n question: ExtractionResult[\"questions\"][number],\n source: string,\n assertionSource: string | undefined,\n): ExtractionResult[\"questions\"][number] | undefined {\n if (isQuestionAnsweredBySource(question.question, source, assertionSource)) return undefined;\n if (!isGroundedCandidate(question.question, source, assertionSource, true)) return undefined;\n const normalizedContext = question.context.trim();\n if (\n normalizedContext.length > 0\n && !isGroundedCandidate(normalizedContext, assertionSource ?? source, undefined, false)\n ) {\n return { ...question, context: \"\" };\n }\n return question;\n}\n\nexport function filterExtractionResultBySource(\n result: ExtractionResult,\n source: string,\n assertionSource?: string,\n roleAssertionSources?: ExtractionGroundingRoleSources,\n eventTimeNormalizer?: (eventTime: string) => string,\n): ExtractionResult {\n if (source.trim().length === 0) {\n return {\n ...result,\n facts: [],\n profileUpdates: [],\n entities: [],\n questions: [],\n ...(result.relationships !== undefined ? { relationships: [] } : {}),\n identityReflection: undefined,\n };\n }\n\n const facts = result.facts.flatMap((fact) => {\n const grounded = filterGroundedFact(\n fact,\n source,\n assertionSource,\n roleAssertionSources,\n eventTimeNormalizer,\n );\n return grounded === undefined ? [] : [grounded];\n });\n const profileGroundingSource = roleAssertionSources?.profile ?? source;\n const profileAssertionSource = roleAssertionSources?.profile ?? assertionSource;\n const profileUpdates = result.profileUpdates.filter((update) =>\n isGroundedCandidate(update, profileGroundingSource, profileAssertionSource, false, true),\n );\n const entities = result.entities.flatMap((entity) => {\n const grounded = filterGroundedEntity(entity, source, assertionSource);\n return grounded === undefined ? [] : [grounded];\n });\n const questions = result.questions.flatMap((question) => {\n const grounded = groundQuestion(question, source, assertionSource);\n return grounded === undefined ? [] : [grounded];\n });\n const relationships = result.relationships?.filter((relationship) =>\n isGroundedRelationship(relationship, source, assertionSource),\n );\n const identityGroundingSource = roleAssertionSources?.identity ?? source;\n const identityAssertionSource = roleAssertionSources?.identity ?? assertionSource;\n const identityReflection = result.identityReflection\n && isGroundedCandidate(\n result.identityReflection,\n identityGroundingSource,\n identityAssertionSource,\n false,\n true,\n )\n ? result.identityReflection\n : undefined;\n\n return {\n ...result,\n facts,\n profileUpdates,\n entities,\n questions,\n ...(result.relationships !== undefined ? { relationships } : {}),\n ...(identityReflection !== undefined ? { identityReflection } : { identityReflection: undefined }),\n };\n}\n"],"mappings":"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","names":["predicateTokens","sourceIndex"]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  runPostConsolidationMaterialize
3
- } from "./chunk-3BSJBIZ3.js";
3
+ } from "./chunk-JDZRYH2N.js";
4
4
  import {
5
5
  discoverMemoryExtensions,
6
6
  renderExtensionsBlock,
@@ -15,7 +15,7 @@ import {
15
15
  } from "./chunk-ZBJMUXZH.js";
16
16
  import {
17
17
  resolvePipelineProcessingCapabilities
18
- } from "./chunk-RDQGLJRR.js";
18
+ } from "./chunk-2XRE6FLM.js";
19
19
  import {
20
20
  log
21
21
  } from "./chunk-3WCASNQZ.js";
@@ -220,4 +220,4 @@ export {
220
220
  buildExtensionsBlockForConsolidation,
221
221
  materializeAfterSemanticConsolidation
222
222
  };
223
- //# sourceMappingURL=chunk-BR4UFMLO.js.map
223
+ //# sourceMappingURL=chunk-WONS4RZ2.js.map
@@ -7,30 +7,39 @@ import {
7
7
  import {
8
8
  openclawReplayNormalizer
9
9
  } from "./chunk-H4CKS5B2.js";
10
- import {
11
- exportJsonBundle
12
- } from "./chunk-UP6MOYCB.js";
13
- import {
14
- exportSqlite
15
- } from "./chunk-BV2TIZ4F.js";
16
10
  import {
17
11
  importMarkdownBundle
18
12
  } from "./chunk-HDDRVXX4.js";
19
13
  import {
20
14
  importSqlite
21
15
  } from "./chunk-PYHOAXTI.js";
16
+ import {
17
+ backupMemoryDir
18
+ } from "./chunk-OWHERGF2.js";
19
+ import {
20
+ exportJsonBundle
21
+ } from "./chunk-UP6MOYCB.js";
22
+ import {
23
+ exportSqlite
24
+ } from "./chunk-BV2TIZ4F.js";
22
25
  import {
23
26
  detectImportFormat
24
27
  } from "./chunk-OZKVVUJB.js";
25
28
  import {
26
29
  importJsonBundle
27
30
  } from "./chunk-2DL3OFLD.js";
28
- import {
29
- backupMemoryDir
30
- } from "./chunk-2NLLXCJG.js";
31
31
  import {
32
32
  exportMarkdownBundle
33
33
  } from "./chunk-765K3SAT.js";
34
+ import {
35
+ buildReplayNormalizerRegistry,
36
+ clampBatchSize,
37
+ runReplay
38
+ } from "./chunk-FGDKJJZS.js";
39
+ import {
40
+ isReplaySource,
41
+ normalizeReplaySessionKey
42
+ } from "./chunk-AJVLDJU6.js";
34
43
  import {
35
44
  RoutingRulesStore
36
45
  } from "./chunk-XL24QQ63.js";
@@ -41,22 +50,16 @@ import {
41
50
  WebDavServer
42
51
  } from "./chunk-PYIFUBRK.js";
43
52
  import {
44
- buildReplayNormalizerRegistry,
45
- clampBatchSize,
46
- runReplay
47
- } from "./chunk-FGDKJJZS.js";
48
- import {
49
- isReplaySource,
50
- normalizeReplaySessionKey
51
- } from "./chunk-AJVLDJU6.js";
53
+ migrateObservations
54
+ } from "./chunk-MNB5RMAY.js";
52
55
  import {
53
56
  rebuildMemoryLifecycleLedger
54
- } from "./chunk-KKBTBUVT.js";
57
+ } from "./chunk-EVX44I7C.js";
55
58
  import {
56
59
  rebuildMemoryProjection,
57
60
  repairMemoryProjection,
58
61
  verifyMemoryProjection
59
- } from "./chunk-WVVK2RFM.js";
62
+ } from "./chunk-VVIW3PTA.js";
60
63
  import {
61
64
  rebuildObservations
62
65
  } from "./chunk-DX3XRGLH.js";
@@ -64,8 +67,8 @@ import {
64
67
  archiveObservations
65
68
  } from "./chunk-MC6XO7T4.js";
66
69
  import {
67
- migrateObservations
68
- } from "./chunk-MNB5RMAY.js";
70
+ runCompatChecks
71
+ } from "./chunk-GQL52GQ5.js";
69
72
  import {
70
73
  getBulkImportSource,
71
74
  listBulkImportSources,
@@ -73,8 +76,8 @@ import {
73
76
  runBulkImportPipeline
74
77
  } from "./chunk-HSSERO3E.js";
75
78
  import {
76
- runCompatChecks
77
- } from "./chunk-GQL52GQ5.js";
79
+ searchVerifiedEpisodes
80
+ } from "./chunk-KUJQHXPH.js";
78
81
  import {
79
82
  getUtilityLearningStatus,
80
83
  learnUtilityPromotionWeights
@@ -83,23 +86,20 @@ import {
83
86
  getUtilityTelemetryStatus,
84
87
  recordUtilityTelemetryEvent
85
88
  } from "./chunk-TERNBNJB.js";
86
- import {
87
- searchVerifiedEpisodes
88
- } from "./chunk-2BEJ4XCF.js";
89
89
  import {
90
90
  ThreadingManager
91
91
  } from "./chunk-OJP3N7UK.js";
92
92
  import {
93
93
  promoteSemanticRuleFromMemory
94
- } from "./chunk-EZWWCN7I.js";
94
+ } from "./chunk-CMRQ34J5.js";
95
95
  import {
96
96
  searchVerifiedSemanticRules
97
- } from "./chunk-VFNI3RPT.js";
97
+ } from "./chunk-4PBVXX7L.js";
98
98
  import {
99
99
  buildResumeBundleFromState,
100
100
  getResumeBundleStatus,
101
101
  recordResumeBundle
102
- } from "./chunk-TBMRQZDY.js";
102
+ } from "./chunk-EP5BVCRI.js";
103
103
  import {
104
104
  getWorkProductLedgerStatus,
105
105
  recordWorkProductLedgerEntry,
@@ -110,7 +110,16 @@ import {
110
110
  } from "./chunk-HYQJQGD3.js";
111
111
  import {
112
112
  parseXrayCliOptions
113
- } from "./chunk-EG64LXKL.js";
113
+ } from "./chunk-XOZ4ALGB.js";
114
+ import {
115
+ collectPatternMemories,
116
+ explainPatternMemory,
117
+ parsePatternsExplainOptions,
118
+ parsePatternsListOptions,
119
+ parseStrictCliDate,
120
+ renderPatternExplain,
121
+ renderPatternsList
122
+ } from "./chunk-3T74IZB3.js";
114
123
  import {
115
124
  readRuntimePolicySnapshot,
116
125
  sanitizeRuntimePolicyValues
@@ -123,21 +132,12 @@ import {
123
132
  runOperatorInventory,
124
133
  runOperatorRepair,
125
134
  runOperatorSetup
126
- } from "./chunk-S24E4MBQ.js";
135
+ } from "./chunk-T3GCXULH.js";
127
136
  import {
128
137
  analyzeSessionIntegrity,
129
138
  applySessionRepair,
130
139
  planSessionRepair
131
140
  } from "./chunk-KFY3SGN7.js";
132
- import {
133
- collectPatternMemories,
134
- explainPatternMemory,
135
- parsePatternsExplainOptions,
136
- parsePatternsListOptions,
137
- parseStrictCliDate,
138
- renderPatternExplain,
139
- renderPatternsList
140
- } from "./chunk-3T74IZB3.js";
141
141
  import {
142
142
  GITHUB_CONNECTOR_ID,
143
143
  GMAIL_CONNECTOR_ID,
@@ -199,11 +199,11 @@ import {
199
199
  } from "./chunk-UQ7RN5HK.js";
200
200
  import {
201
201
  parseConfig
202
- } from "./chunk-FOCEI3TN.js";
202
+ } from "./chunk-DRBXHRXE.js";
203
203
  import {
204
204
  EngramAccessHttpServer,
205
205
  MeetingsInputError
206
- } from "./chunk-JIF3VRKQ.js";
206
+ } from "./chunk-SG265CVF.js";
207
207
  import {
208
208
  WearablesInputError
209
209
  } from "./chunk-V7IZKJI3.js";
@@ -216,13 +216,13 @@ import {
216
216
  createProductionChatLlmAdapter,
217
217
  loadChatSession,
218
218
  sessionBelongsToPrincipal
219
- } from "./chunk-IYT632D5.js";
219
+ } from "./chunk-ZGOQTOYA.js";
220
220
  import {
221
221
  getAbstractionNodeStoreStatus
222
222
  } from "./chunk-OADWQ5CR.js";
223
223
  import {
224
224
  EngramAccessService
225
- } from "./chunk-UR5SIN7H.js";
225
+ } from "./chunk-2XC73SHY.js";
226
226
  import {
227
227
  WorkStorage
228
228
  } from "./chunk-GDB4J2H3.js";
@@ -239,13 +239,13 @@ import {
239
239
  parseRecallExplainFormat,
240
240
  renderRecallExplain,
241
241
  renderXray
242
- } from "./chunk-P2CLYN6H.js";
242
+ } from "./chunk-K5GB36ME.js";
243
243
  import {
244
244
  listMemoryGovernanceRuns,
245
245
  readMemoryGovernanceRunArtifact,
246
246
  restoreMemoryGovernanceRun,
247
247
  runMemoryGovernance
248
- } from "./chunk-GJPCP5CA.js";
248
+ } from "./chunk-GGUBDXRR.js";
249
249
  import {
250
250
  getObjectiveStateStoreStatus
251
251
  } from "./chunk-6HMYUWXR.js";
@@ -253,7 +253,7 @@ import {
253
253
  listNamespaces,
254
254
  runNamespaceMigration,
255
255
  verifyNamespaces
256
- } from "./chunk-VYYNBJXH.js";
256
+ } from "./chunk-NBDCZWP4.js";
257
257
  import {
258
258
  renderQmdBacklogStatus
259
259
  } from "./chunk-IUM3VSHI.js";
@@ -262,17 +262,17 @@ import {
262
262
  } from "./chunk-L2DPF4DF.js";
263
263
  import {
264
264
  meetingIdDate
265
- } from "./chunk-Q5VJUNXA.js";
265
+ } from "./chunk-FCDWWCLX.js";
266
266
  import {
267
267
  isValidTranscriptDate
268
268
  } from "./chunk-UHVXE24Y.js";
269
269
  import {
270
270
  RECALL_DISCLOSURE_LEVELS,
271
271
  isRecallDisclosure
272
- } from "./chunk-JQ7T5VDC.js";
272
+ } from "./chunk-HUHX2OCX.js";
273
273
  import {
274
274
  STATE_FILE_MAX_DECRYPT_BYTES
275
- } from "./chunk-FBZTWUK5.js";
275
+ } from "./chunk-OFHFH655.js";
276
276
  import {
277
277
  assertPathInsideRoot
278
278
  } from "./chunk-GCASGYIO.js";
@@ -321,7 +321,7 @@ import {
321
321
  resolveRecallEnhancementCapabilities,
322
322
  resolveSecurityCapabilities,
323
323
  resolveUtilityLearningCapabilities
324
- } from "./chunk-RDQGLJRR.js";
324
+ } from "./chunk-2XRE6FLM.js";
325
325
  import {
326
326
  SECURE_STORE_ENVELOPE_OVERHEAD_BYTES,
327
327
  probeEncryptedRegularFileHeader
@@ -3973,7 +3973,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
3973
3973
  );
3974
3974
  tierCmd.command("list").description("Summarize tier distribution across all memories").option("--json", "Emit machine-readable JSON only").action(async (...args) => {
3975
3975
  const options = args[0] ?? {};
3976
- const { summarizeTiers, formatTierSummaryText } = await import("./tier-stats-XKD7SXYY.js");
3976
+ const { summarizeTiers, formatTierSummaryText } = await import("./tier-stats-OPTSBNRH.js");
3977
3977
  const summary = await summarizeTiers(orchestrator.storage);
3978
3978
  if (reportHasMachineReadableOutput(options)) {
3979
3979
  console.log(JSON.stringify(summary, null, 2));
@@ -3984,7 +3984,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
3984
3984
  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) => {
3985
3985
  const idArg = typeof args[0] === "string" ? args[0] : "";
3986
3986
  const options = args[1] ?? {};
3987
- const { explainTierForMemory, formatTierExplainText } = await import("./tier-stats-XKD7SXYY.js");
3987
+ const { explainTierForMemory, formatTierExplainText } = await import("./tier-stats-OPTSBNRH.js");
3988
3988
  try {
3989
3989
  const explain = await explainTierForMemory(
3990
3990
  orchestrator.storage,
@@ -4575,7 +4575,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
4575
4575
  }
4576
4576
  }
4577
4577
  if (sourceArchive.endsWith(".enc")) {
4578
- const { isEncryptedCapsuleFile } = await import("./capsule-crypto-7FJQINUR.js");
4578
+ const { isEncryptedCapsuleFile } = await import("./capsule-crypto-GWVG7LGC.js");
4579
4579
  const encDetected = await isEncryptedCapsuleFile(sourceArchive).catch(() => true);
4580
4580
  if (encDetected) {
4581
4581
  throw new Error(
@@ -4738,7 +4738,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
4738
4738
  const { parseExportBundle } = await import("./transfer/types.js");
4739
4739
  let decryptedBuf;
4740
4740
  try {
4741
- const { decryptCapsuleFileInMemory } = await import("./capsule-crypto-7FJQINUR.js");
4741
+ const { decryptCapsuleFileInMemory } = await import("./capsule-crypto-GWVG7LGC.js");
4742
4742
  decryptedBuf = await decryptCapsuleFileInMemory(archivePath, memoryDir);
4743
4743
  } catch (decErr) {
4744
4744
  const msg = decErr instanceof Error ? decErr.message : String(decErr);
@@ -7254,7 +7254,7 @@ Semantic consolidation complete. clusters=${result.clustersFound}, consolidated=
7254
7254
  });
7255
7255
  reviewCmd.command("scan").description("Run an on-demand contradiction scan").option("--namespace <ns>", "Namespace to scan").action(async (...args) => {
7256
7256
  const options = args[0] ?? {};
7257
- const { runContradictionScan } = await import("./contradiction-scan-HMF7CNKD.js");
7257
+ const { runContradictionScan } = await import("./contradiction-scan-HYLIRMJ2.js");
7258
7258
  console.log("Running contradiction scan...");
7259
7259
  const result = await runContradictionScan({
7260
7260
  storage: orchestrator.storage,
@@ -7981,4 +7981,4 @@ export {
7981
7981
  listMemoryMarkdownFilePaths,
7982
7982
  registerCli
7983
7983
  };
7984
- //# sourceMappingURL=chunk-2TQ2UFKH.js.map
7984
+ //# sourceMappingURL=chunk-WZ7UB7XQ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  StorageManager
3
- } from "./chunk-Q5VJUNXA.js";
3
+ } from "./chunk-FCDWWCLX.js";
4
4
  import {
5
5
  namespaceIdentityToken,
6
6
  normalizeNamespaceIdentity
@@ -18,7 +18,7 @@ import {
18
18
  import {
19
19
  resolveNamespaceCapabilities,
20
20
  resolveRecallAuxiliaryCapabilities
21
- } from "./chunk-RDQGLJRR.js";
21
+ } from "./chunk-2XRE6FLM.js";
22
22
  import {
23
23
  ALL_CATEGORY_DIRS
24
24
  } from "./chunk-VS2IYZRU.js";
@@ -388,4 +388,4 @@ export {
388
388
  resolveNamespaceStorageRoot,
389
389
  NamespaceStorageRouter
390
390
  };
391
- //# sourceMappingURL=chunk-AHFZXUZM.js.map
391
+ //# sourceMappingURL=chunk-XEQ7OT7U.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  parseXrayFormat
3
- } from "./chunk-P2CLYN6H.js";
3
+ } from "./chunk-K5GB36ME.js";
4
4
  import {
5
5
  RECALL_DISCLOSURE_LEVELS,
6
6
  isRecallDisclosure
7
- } from "./chunk-JQ7T5VDC.js";
7
+ } from "./chunk-HUHX2OCX.js";
8
8
 
9
9
  // src/recall-xray-cli.ts
10
10
  function parseXrayDisclosureFlag(value) {
@@ -50,4 +50,4 @@ export {
50
50
  parseXrayBudgetFlag,
51
51
  parseXrayCliOptions
52
52
  };
53
- //# sourceMappingURL=chunk-EG64LXKL.js.map
53
+ //# sourceMappingURL=chunk-XOZ4ALGB.js.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-2DQ2XREU.js";
7
7
  import {
8
8
  compareEntityTimestamps
9
- } from "./chunk-Q5VJUNXA.js";
9
+ } from "./chunk-FCDWWCLX.js";
10
10
  import {
11
11
  normalizeEntityName
12
12
  } from "./chunk-YXZG5TVN.js";
@@ -19,7 +19,7 @@ import {
19
19
  } from "./chunk-5GKPFL3S.js";
20
20
  import {
21
21
  resolveNamespaceCapabilities
22
- } from "./chunk-RDQGLJRR.js";
22
+ } from "./chunk-2XRE6FLM.js";
23
23
 
24
24
  // src/entity-retrieval.ts
25
25
  import { createHash } from "crypto";
@@ -843,4 +843,4 @@ export {
843
843
  entityIndexVersion,
844
844
  entityRecentTranscriptLookbackHours
845
845
  };
846
- //# sourceMappingURL=chunk-NBNDVNJ2.js.map
846
+ //# sourceMappingURL=chunk-YGHMSDLK.js.map
@@ -1,12 +1,3 @@
1
- import {
2
- LcmSummarizer
3
- } from "./chunk-PBGWYM3H.js";
4
- import {
5
- LcmArchive
6
- } from "./chunk-LTAVSOZW.js";
7
- import {
8
- LcmDag
9
- } from "./chunk-7N4KAIGN.js";
10
1
  import {
11
2
  LcmWorkQueue
12
3
  } from "./chunk-TPDBFYEG.js";
@@ -17,6 +8,15 @@ import {
17
8
  ensureLcmStateDir,
18
9
  openLcmDatabase
19
10
  } from "./chunk-DDA47TES.js";
11
+ import {
12
+ LcmSummarizer
13
+ } from "./chunk-PBGWYM3H.js";
14
+ import {
15
+ LcmArchive
16
+ } from "./chunk-LTAVSOZW.js";
17
+ import {
18
+ LcmDag
19
+ } from "./chunk-7N4KAIGN.js";
20
20
  import {
21
21
  log
22
22
  } from "./chunk-3WCASNQZ.js";
@@ -526,4 +526,4 @@ export {
526
526
  extractLcmConfig,
527
527
  LcmEngine
528
528
  };
529
- //# sourceMappingURL=chunk-2PHX3I5C.js.map
529
+ //# sourceMappingURL=chunk-Z54EM5YZ.js.map
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-B6JDYXL7.js";
14
14
  import {
15
15
  validateRequest
16
- } from "./chunk-Q6YJW6KE.js";
16
+ } from "./chunk-PKRIQL3V.js";
17
17
  import {
18
18
  REMNIC_CHATGPT_MEMORY_INSPECTOR_MIME_TYPE,
19
19
  REMNIC_CHATGPT_MEMORY_INSPECTOR_TOOL,
@@ -22,7 +22,7 @@ import {
22
22
  } from "./chunk-T4WDJPEZ.js";
23
23
  import {
24
24
  getOperation
25
- } from "./chunk-UR5SIN7H.js";
25
+ } from "./chunk-2XC73SHY.js";
26
26
  import {
27
27
  readEnvVar
28
28
  } from "./chunk-JUC24CTX.js";
@@ -3732,4 +3732,4 @@ export {
3732
3732
  MCP_SUPPORTED_PROTOCOL_VERSIONS,
3733
3733
  EngramMcpServer
3734
3734
  };
3735
- //# sourceMappingURL=chunk-IYT632D5.js.map
3735
+ //# sourceMappingURL=chunk-ZGOQTOYA.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  getConfiguredNamespaces
3
- } from "./chunk-MQVINOJQ.js";
3
+ } from "./chunk-IYZ5K7MU.js";
4
4
  import {
5
5
  resolveDefaultNamespaceRoot,
6
6
  resolveNamespaceStorageRoot
7
- } from "./chunk-AHFZXUZM.js";
7
+ } from "./chunk-XEQ7OT7U.js";
8
8
  import {
9
9
  namespaceIdentityFromToken,
10
10
  namespaceIdentityToken,
@@ -23,7 +23,7 @@ import {
23
23
  import {
24
24
  resolveConversationContextCapabilities,
25
25
  resolveNamespaceCapabilities
26
- } from "./chunk-RDQGLJRR.js";
26
+ } from "./chunk-2XRE6FLM.js";
27
27
  import {
28
28
  ALL_CATEGORY_DIRS
29
29
  } from "./chunk-VS2IYZRU.js";
@@ -2204,4 +2204,4 @@ export {
2204
2204
  runNamespaceMaintenancePlan,
2205
2205
  runNamespaceMaintenanceBatchPlan
2206
2206
  };
2207
- //# sourceMappingURL=chunk-LIHC3T43.js.map
2207
+ //# sourceMappingURL=chunk-ZXAGJFHJ.js.map
@@ -2,22 +2,22 @@ import { CompoundingPromotionReport } from './compounding/engine.js';
2
2
  import { ConversationIndexBackendInspection } from './conversation-index/backend.js';
3
3
  import { MigrateObservationsResult } from './maintenance/migrate-observations.js';
4
4
  import { MemoryGovernanceRunResult, MemoryGovernanceSummary, MemoryGovernanceMetrics, MemoryGovernanceQualityScore, MemoryGovernanceReviewQueueEntry, MemoryGovernanceAppliedAction, MemoryGovernanceTransitionReport, MemoryGovernanceManifest, MemoryGovernanceRestoreManifest, RestoreMemoryGovernanceRunResult } from './maintenance/memory-governance.js';
5
- import { w as MemoryStatus, M as MemoryFile, a5 as BehaviorSignalEvent, Q as QmdSearchResult, aa as BulkImportResult, af as MemoryActionEvent, y as MemoryLifecycleEvent } from './types-BA7W-_xy.js';
5
+ import { w as MemoryStatus, M as MemoryFile, a5 as BehaviorSignalEvent, Q as QmdSearchResult, aa as BulkImportResult, af as MemoryActionEvent, y as MemoryLifecycleEvent } from './types-Dg0w9ADr.js';
6
6
  import { RebuildMemoryProjectionResult, RepairMemoryProjectionResult, VerifyMemoryProjectionResult } from './maintenance/rebuild-memory-projection.js';
7
7
  import { RebuildObservationsResult } from './maintenance/rebuild-observations.js';
8
8
  import { ArchiveObservationsResult } from './maintenance/archive-observations.js';
9
9
  import { Writable, Readable } from 'node:stream';
10
- import { C as ConversationIndexCoordinator, T as TierMigrationCoordinator, O as Orchestrator } from './orchestrator-Cvlgpe6I.js';
10
+ import { C as ConversationIndexCoordinator, T as TierMigrationCoordinator, O as Orchestrator } from './orchestrator-5GKqb_HL.js';
11
11
  import { ReplayRunSummary } from './replay/runner.js';
12
12
  import { ReplaySource, ReplayTurn } from './replay/types.js';
13
- import { P as ProcessBatchFn } from './pipeline-BveYVaz7.js';
14
- import { S as StorageManager } from './storage-DOzTm8wG.js';
13
+ import { P as ProcessBatchFn } from './pipeline-3Qi1TpRo.js';
14
+ import { S as StorageManager } from './storage-CcH6yPk2.js';
15
15
  import { RebuildMemoryLifecycleLedgerResult } from './maintenance/rebuild-memory-lifecycle-ledger.js';
16
16
  import { WorkProjectStatus, WorkTaskStatus, WorkTaskPriority } from './work/types.js';
17
17
  import { RoutePatternType } from './routing/engine.js';
18
18
  import { TailscaleSyncOptions } from './network/tailscale.js';
19
19
  import { DashboardStatus } from './dashboard-runtime.js';
20
- import { d as EngramAccessService } from './access-service-CXkIgcGh.js';
20
+ import { d as EngramAccessService } from './access-service-DvPW_M5j.js';
21
21
  import { ResolveSecretRefFn } from './resolve-auth-token.js';
22
22
  import { CompatRunner, CompatReport } from './compat/types.js';
23
23
  import { EvalBaselineDeltaReport, EvalBaselineSnapshot, EvalCiGateReport, EvalBenchmarkPackSummary, EvalHarnessStatus, EvalStoredBaselineCiGateReport } from './evals.js';