@remnic/core 9.27.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 (515) hide show
  1. package/dist/access-admin-ops-surface.d.ts +13 -10
  2. package/dist/access-admin-ops-surface.js +46 -41
  3. package/dist/access-audit.js +2 -2
  4. package/dist/access-authorization-probe.d.ts +13 -10
  5. package/dist/access-authorization-probe.js +47 -42
  6. package/dist/access-boundary.d.ts +13 -10
  7. package/dist/access-boundary.js +46 -41
  8. package/dist/access-cli.js +105 -96
  9. package/dist/access-cli.js.map +1 -1
  10. package/dist/access-health-types.d.ts +10 -1
  11. package/dist/access-http-lcm-compaction.d.ts +13 -10
  12. package/dist/access-http.d.ts +13 -10
  13. package/dist/access-http.js +56 -51
  14. package/dist/access-identity-continuity-surface.d.ts +9 -8
  15. package/dist/access-identity-continuity-surface.js +46 -41
  16. package/dist/access-lcm-surface.d.ts +13 -10
  17. package/dist/access-lcm-surface.js +46 -41
  18. package/dist/access-mcp.d.ts +13 -10
  19. package/dist/access-mcp.js +51 -46
  20. package/dist/access-memory-search-fanout.d.ts +2 -2
  21. package/dist/access-memory-search-fanout.js +3 -3
  22. package/dist/{access-namespace-preflight-wRSZEO5V.d.ts → access-namespace-preflight-DCXBkDp0.d.ts} +1 -1
  23. package/dist/access-namespace-preflight.d.ts +3 -3
  24. package/dist/access-namespace-preflight.js +46 -41
  25. package/dist/access-observe-write-surface.d.ts +13 -10
  26. package/dist/access-observe-write-surface.js +46 -41
  27. package/dist/access-operations-batch.js +48 -43
  28. package/dist/access-operations.d.ts +16 -13
  29. package/dist/access-operations.js +50 -45
  30. package/dist/access-recall-concurrency.d.ts +13 -10
  31. package/dist/access-recall-concurrency.js +46 -41
  32. package/dist/access-recall-response.d.ts +13 -10
  33. package/dist/access-recall-response.js +46 -41
  34. package/dist/access-recall-surface.d.ts +13 -10
  35. package/dist/access-recall-surface.js +46 -41
  36. package/dist/access-schema.d.ts +80 -80
  37. package/dist/access-schema.js +3 -3
  38. package/dist/{access-service-B4-Fu9x2.d.ts → access-service-DvPW_M5j.d.ts} +12 -8
  39. package/dist/access-service.d.ts +13 -10
  40. package/dist/access-service.js +46 -41
  41. package/dist/access-surface-catalog.d.ts +13 -10
  42. package/dist/access-wearables-meetings-surface.d.ts +4 -3
  43. package/dist/action-confidence.d.ts +1 -1
  44. package/dist/active-memory-bridge.d.ts +1 -1
  45. package/dist/active-memory-bridge.js +3 -3
  46. package/dist/active-recall.d.ts +1 -1
  47. package/dist/active-recall.js +4 -2
  48. package/dist/active-recall.js.map +1 -1
  49. package/dist/adapters/index.js +4 -4
  50. package/dist/adapters/registry.js +2 -2
  51. package/dist/behavior-learner.d.ts +1 -1
  52. package/dist/behavior-signals.d.ts +1 -1
  53. package/dist/bootstrap.d.ts +9 -8
  54. package/dist/briefing.d.ts +3 -2
  55. package/dist/briefing.js +14 -12
  56. package/dist/buffer-surprise-report.d.ts +1 -1
  57. package/dist/buffer.d.ts +3 -2
  58. package/dist/buffer.js +2 -2
  59. package/dist/bulk-import/index.d.ts +3 -3
  60. package/dist/calibration.d.ts +1 -1
  61. package/dist/capabilities.d.ts +3 -2
  62. package/dist/capabilities.js +1 -1
  63. package/dist/{capsule-crypto-YO5QJ6L3.js → capsule-crypto-GWVG7LGC.js} +2 -2
  64. package/dist/{catalog-BLLxZ5L5.d.ts → catalog-BIVgftWu.d.ts} +1 -1
  65. package/dist/causal-behavior.d.ts +1 -1
  66. package/dist/causal-consolidation.d.ts +1 -1
  67. package/dist/causal-consolidation.js +15 -13
  68. package/dist/causal-consolidation.js.map +1 -1
  69. package/dist/causal-trajectory-graph.d.ts +1 -1
  70. package/dist/{chunk-CI26JDZA.js → chunk-2HNUMF5V.js} +6 -4
  71. package/dist/{chunk-CI26JDZA.js.map → chunk-2HNUMF5V.js.map} +1 -1
  72. package/dist/{chunk-NUWMZIYZ.js → chunk-2XC73SHY.js} +61 -43
  73. package/dist/chunk-2XC73SHY.js.map +1 -0
  74. package/dist/{chunk-RDQGLJRR.js → chunk-2XRE6FLM.js} +2 -1
  75. package/dist/{chunk-RDQGLJRR.js.map → chunk-2XRE6FLM.js.map} +1 -1
  76. package/dist/{chunk-2H7OEVPO.js → chunk-3GD2HFR6.js} +2 -2
  77. package/dist/{chunk-4TFIRMTE.js → chunk-4A6YGWQN.js} +2 -2
  78. package/dist/{chunk-JDOJZTFF.js → chunk-4PBVXX7L.js} +2 -2
  79. package/dist/{chunk-IKMAO55B.js → chunk-55MDBZLC.js} +2 -2
  80. package/dist/{chunk-VDX2J7OX.js → chunk-5W7CTZ2E.js} +4 -4
  81. package/dist/{chunk-B7GROTXD.js → chunk-6LKEUCEM.js} +2 -2
  82. package/dist/{chunk-2AJ72VVS.js → chunk-7BZOBA5J.js} +3 -3
  83. package/dist/{chunk-44DUJETW.js → chunk-7HXCF4RE.js} +2 -2
  84. package/dist/{chunk-X3SQYAPP.js → chunk-ACXPX4AG.js} +2 -2
  85. package/dist/{chunk-AJ7QCSIS.js → chunk-ALSGMEJR.js} +5 -5
  86. package/dist/{chunk-JGUXPJUQ.js → chunk-AS7YMSL6.js} +2 -2
  87. package/dist/{chunk-77CNV7DY.js → chunk-BLAKS3CP.js} +4 -4
  88. package/dist/{chunk-5BRT4Z2I.js → chunk-CMRQ34J5.js} +2 -2
  89. package/dist/{chunk-HEXSNYJD.js → chunk-CSMCNOPH.js} +8 -8
  90. package/dist/chunk-CVILPI77.js +432 -0
  91. package/dist/chunk-CVILPI77.js.map +1 -0
  92. package/dist/{chunk-SK3EYPKC.js → chunk-D2ANTDGO.js} +3 -3
  93. package/dist/{chunk-JCVQV6QX.js → chunk-D3LMYTBV.js} +7 -7
  94. package/dist/{chunk-GJJBPI6I.js → chunk-DRBXHRXE.js} +7 -3
  95. package/dist/chunk-DRBXHRXE.js.map +1 -0
  96. package/dist/{chunk-XY7QPJDA.js → chunk-E6EE5B67.js} +2 -2
  97. package/dist/{chunk-LLISELSY.js → chunk-EP5BVCRI.js} +2 -2
  98. package/dist/{chunk-PTN6UAUA.js → chunk-ES36HTSC.js} +4 -4
  99. package/dist/{chunk-WEAO45M4.js → chunk-ESBQWC3U.js} +4 -4
  100. package/dist/{chunk-EUSLKI4X.js → chunk-EVX44I7C.js} +5 -5
  101. package/dist/{chunk-CIQXI47W.js → chunk-FCDWWCLX.js} +1195 -271
  102. package/dist/chunk-FCDWWCLX.js.map +1 -0
  103. package/dist/{chunk-X6ROIHFE.js → chunk-G5R3D5UP.js} +2 -2
  104. package/dist/{chunk-MG6MNSP4.js → chunk-G6LBWZRF.js} +7 -7
  105. package/dist/{chunk-TKBDJTXG.js → chunk-GBJ4RDFR.js} +94 -20
  106. package/dist/chunk-GBJ4RDFR.js.map +1 -0
  107. package/dist/{chunk-FRVTCCGD.js → chunk-GGUBDXRR.js} +2 -2
  108. package/dist/{chunk-QH6CS6XJ.js → chunk-H24WNPA2.js} +2 -2
  109. package/dist/{chunk-V25OWXAC.js → chunk-HUHX2OCX.js} +1 -1
  110. package/dist/chunk-HUHX2OCX.js.map +1 -0
  111. package/dist/{chunk-TGQ2NTWH.js → chunk-IJ6WHMFB.js} +16 -2
  112. package/dist/{chunk-TGQ2NTWH.js.map → chunk-IJ6WHMFB.js.map} +1 -1
  113. package/dist/{chunk-EOLC6EXV.js → chunk-IMA2EWLV.js} +24 -3
  114. package/dist/chunk-IMA2EWLV.js.map +1 -0
  115. package/dist/{chunk-MQVINOJQ.js → chunk-IYZ5K7MU.js} +3 -3
  116. package/dist/{chunk-RPA2RX5P.js → chunk-JDZRYH2N.js} +2 -2
  117. package/dist/{chunk-M5EPMNS4.js → chunk-K5GB36ME.js} +2 -2
  118. package/dist/{chunk-UT3OQPFA.js → chunk-KUJQHXPH.js} +2 -2
  119. package/dist/{chunk-7RZJWZ46.js → chunk-LEPOP46W.js} +5 -5
  120. package/dist/{chunk-EYJSW2RV.js → chunk-NBDCZWP4.js} +4 -4
  121. package/dist/{chunk-XKGPIWGI.js → chunk-OFHFH655.js} +6 -6
  122. package/dist/{chunk-FGBJBYWP.js → chunk-OVRQLAYR.js} +3 -3
  123. package/dist/{chunk-BXLOS5AJ.js → chunk-OWHERGF2.js} +2 -2
  124. package/dist/chunk-P2BM76KT.js +528 -0
  125. package/dist/chunk-P2BM76KT.js.map +1 -0
  126. package/dist/{chunk-U3TH5Q2Q.js → chunk-P3MH72CI.js} +2 -2
  127. package/dist/{chunk-P2OZKKYP.js → chunk-PHWUFPCO.js} +2 -2
  128. package/dist/{chunk-KGTD2KZJ.js → chunk-PKRIQL3V.js} +2 -2
  129. package/dist/{chunk-BNGPHGVZ.js → chunk-Q6VFVAKZ.js} +13 -6
  130. package/dist/{chunk-BNGPHGVZ.js.map → chunk-Q6VFVAKZ.js.map} +1 -1
  131. package/dist/{chunk-4MJZTF42.js → chunk-QAOGGNE3.js} +3 -3
  132. package/dist/{chunk-RGJBM7Z3.js → chunk-QMBNMPQM.js} +84 -84
  133. package/dist/{chunk-RGJBM7Z3.js.map → chunk-QMBNMPQM.js.map} +1 -1
  134. package/dist/{chunk-2QSZNTDO.js → chunk-RKNJBZ55.js} +4 -4
  135. package/dist/chunk-RMMVQQA6.js +70 -0
  136. package/dist/chunk-RMMVQQA6.js.map +1 -0
  137. package/dist/{chunk-FCCMFVS6.js → chunk-RPSYDM6C.js} +2 -2
  138. package/dist/chunk-RPW2NOU6.js +33 -0
  139. package/dist/chunk-RPW2NOU6.js.map +1 -0
  140. package/dist/{chunk-RYHWZ52A.js → chunk-S2BBISHU.js} +4 -4
  141. package/dist/{chunk-RSYJV25N.js → chunk-SG265CVF.js} +10 -10
  142. package/dist/{chunk-UGH6VPPO.js → chunk-SH6YO3LT.js} +3 -3
  143. package/dist/{chunk-2RAC4JIG.js → chunk-T3GCXULH.js} +16 -16
  144. package/dist/chunk-T3GCXULH.js.map +1 -0
  145. package/dist/{chunk-FMLKOL2Z.js → chunk-TC3VNKGX.js} +4 -4
  146. package/dist/{chunk-7K5Q6COX.js → chunk-TVVEYCNW.js} +4 -4
  147. package/dist/{chunk-BJJAX3IZ.js → chunk-UTRO5UJU.js} +2 -2
  148. package/dist/{chunk-DQEMWVMT.js → chunk-UVYI6VIX.js} +1 -1
  149. package/dist/chunk-VNA7W7QF.js +134 -0
  150. package/dist/chunk-VNA7W7QF.js.map +1 -0
  151. package/dist/{chunk-BHLN7L7M.js → chunk-VVIW3PTA.js} +17 -17
  152. package/dist/chunk-WNIUPHWV.js +152 -0
  153. package/dist/chunk-WNIUPHWV.js.map +1 -0
  154. package/dist/chunk-WOCNN776.js +742 -0
  155. package/dist/chunk-WOCNN776.js.map +1 -0
  156. package/dist/{chunk-XQ4EH6DI.js → chunk-WONS4RZ2.js} +3 -3
  157. package/dist/chunk-WRJVB3C2.js +118 -0
  158. package/dist/chunk-WRJVB3C2.js.map +1 -0
  159. package/dist/{chunk-HORJVJ6K.js → chunk-WZ7UB7XQ.js} +42 -37
  160. package/dist/chunk-WZ7UB7XQ.js.map +1 -0
  161. package/dist/{chunk-MEBQFQ26.js → chunk-XEQ7OT7U.js} +8 -6
  162. package/dist/chunk-XEQ7OT7U.js.map +1 -0
  163. package/dist/{chunk-CSXHRAJJ.js → chunk-XOZ4ALGB.js} +3 -3
  164. package/dist/{chunk-XKO7BM2C.js → chunk-YGHMSDLK.js} +187 -26
  165. package/dist/chunk-YGHMSDLK.js.map +1 -0
  166. package/dist/chunk-YXZG5TVN.js +40 -0
  167. package/dist/chunk-YXZG5TVN.js.map +1 -0
  168. package/dist/{chunk-6NNNURLK.js → chunk-Z54EM5YZ.js} +4 -4
  169. package/dist/{chunk-YSGBD3QN.js → chunk-ZGOQTOYA.js} +3 -3
  170. package/dist/{chunk-4DJQYKMN.js → chunk-ZIKENA2C.js} +2 -2
  171. package/dist/chunk-ZIKENA2C.js.map +1 -0
  172. package/dist/{chunk-RNY3BO35.js → chunk-ZXAGJFHJ.js} +4 -4
  173. package/dist/{cli-Bz7X7dGx.d.ts → cli-CxoSOiG0.d.ts} +5 -5
  174. package/dist/cli.d.ts +14 -12
  175. package/dist/cli.js +73 -68
  176. package/dist/compounding/engine.d.ts +3 -2
  177. package/dist/compounding/engine.js +15 -13
  178. package/dist/compounding/preference-consolidator.d.ts +1 -1
  179. package/dist/compression-optimizer.d.ts +1 -1
  180. package/dist/config.d.ts +1 -1
  181. package/dist/config.js +4 -2
  182. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  183. package/dist/connectors/codex-materialize-runner.js +14 -12
  184. package/dist/connectors/codex-materialize.d.ts +1 -1
  185. package/dist/connectors/index.d.ts +1 -1
  186. package/dist/connectors/index.js +15 -13
  187. package/dist/consolidation-provenance-check.d.ts +3 -2
  188. package/dist/consolidation-undo.d.ts +3 -2
  189. package/dist/contradiction/index.d.ts +3 -2
  190. package/dist/contradiction/index.js +6 -6
  191. package/dist/{contradiction-scan-HMF7CNKD.js → contradiction-scan-HYLIRMJ2.js} +3 -3
  192. package/dist/conversation-index/backend.d.ts +1 -1
  193. package/dist/conversation-index/backend.js +2 -2
  194. package/dist/conversation-index/chunker.d.ts +1 -1
  195. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  196. package/dist/conversation-index/indexer.d.ts +1 -1
  197. package/dist/conversation-index/search.d.ts +1 -1
  198. package/dist/corpus-watermark.d.ts +15 -2
  199. package/dist/corpus-watermark.js +27 -23
  200. package/dist/day-summary.d.ts +1 -1
  201. package/dist/day-summary.js +2 -2
  202. package/dist/delinearize.d.ts +1 -1
  203. package/dist/direct-answer-wiring.d.ts +1 -1
  204. package/dist/direct-answer.d.ts +1 -1
  205. package/dist/embedding-fallback.d.ts +1 -1
  206. package/dist/embedding-fallback.js +2 -2
  207. package/dist/enrichment/index.d.ts +1 -1
  208. package/dist/entity-id-normalization.d.ts +4 -0
  209. package/dist/entity-id-normalization.js +10 -0
  210. package/dist/entity-id-normalization.js.map +1 -0
  211. package/dist/entity-retrieval-boundaries.d.ts +3 -0
  212. package/dist/entity-retrieval-boundaries.js +8 -0
  213. package/dist/entity-retrieval-boundaries.js.map +1 -0
  214. package/dist/entity-retrieval.d.ts +3 -2
  215. package/dist/entity-retrieval.js +15 -12
  216. package/dist/entity-schema.d.ts +1 -1
  217. package/dist/entity-schema.js +1 -1
  218. package/dist/explicit-capture.d.ts +9 -8
  219. package/dist/explicit-capture.js +2 -2
  220. package/dist/extraction-error-classification.d.ts +1 -1
  221. package/dist/extraction-faithfulness.d.ts +1 -1
  222. package/dist/extraction-judge-telemetry.d.ts +1 -1
  223. package/dist/extraction-judge-training.d.ts +1 -1
  224. package/dist/extraction-judge.d.ts +1 -1
  225. package/dist/extraction-liveness.d.ts +1 -1
  226. package/dist/extraction-source-grounding-helpers.d.ts +34 -0
  227. package/dist/extraction-source-grounding-helpers.js +62 -0
  228. package/dist/extraction-source-grounding-helpers.js.map +1 -0
  229. package/dist/extraction-source-grounding-rules.d.ts +18 -0
  230. package/dist/extraction-source-grounding-rules.js +12 -0
  231. package/dist/extraction-source-grounding-rules.js.map +1 -0
  232. package/dist/extraction-source-grounding.d.ts +11 -0
  233. package/dist/extraction-source-grounding.js +13 -0
  234. package/dist/extraction-source-grounding.js.map +1 -0
  235. package/dist/extraction.d.ts +3 -1
  236. package/dist/extraction.js +7 -4
  237. package/dist/fallback-llm.d.ts +1 -1
  238. package/dist/{first-start-migration-LEXL3XYL.js → first-start-migration-F2QJD66E.js} +2 -2
  239. package/dist/graph-dashboard-diff.d.ts +1 -1
  240. package/dist/graph-dashboard-key.d.ts +1 -1
  241. package/dist/graph-dashboard-parser.d.ts +1 -1
  242. package/dist/graph-edge-reinforcement.d.ts +1 -1
  243. package/dist/graph-snapshot.d.ts +1 -1
  244. package/dist/graph.d.ts +1 -1
  245. package/dist/importance.d.ts +1 -1
  246. package/dist/importers/index.d.ts +1 -1
  247. package/dist/in-flight-reads.d.ts +1 -1
  248. package/dist/index.d.ts +407 -405
  249. package/dist/index.js +154 -145
  250. package/dist/intent.d.ts +1 -1
  251. package/dist/lcm/engine.d.ts +1 -1
  252. package/dist/lcm/engine.js +2 -2
  253. package/dist/lcm/index.d.ts +1 -1
  254. package/dist/lcm/index.js +2 -2
  255. package/dist/lcm/tools.d.ts +1 -1
  256. package/dist/lifecycle.d.ts +1 -1
  257. package/dist/live-connectors-runner.d.ts +1 -1
  258. package/dist/local-llm.d.ts +1 -1
  259. package/dist/local-llm.js +2 -2
  260. package/dist/local-model-endpoint.d.ts +1 -1
  261. package/dist/maintenance/memory-governance.d.ts +1 -1
  262. package/dist/maintenance/memory-governance.js +14 -12
  263. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +3 -2
  264. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +14 -12
  265. package/dist/maintenance/rebuild-memory-projection.d.ts +3 -2
  266. package/dist/maintenance/rebuild-memory-projection.js +15 -13
  267. package/dist/{maintenance-DgnD2z8S.d.ts → maintenance-Cb-PjxQd.d.ts} +3 -3
  268. package/dist/mcp-memory-inspector-app.d.ts +13 -10
  269. package/dist/memory-action-policy.d.ts +1 -1
  270. package/dist/memory-cache.d.ts +1 -1
  271. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  272. package/dist/memory-projection-mutations.d.ts +4 -0
  273. package/dist/memory-projection-mutations.js +15 -0
  274. package/dist/memory-projection-mutations.js.map +1 -0
  275. package/dist/memory-projection-store.d.ts +1 -1
  276. package/dist/memory-provenance.d.ts +1 -1
  277. package/dist/memory-worth-outcomes.d.ts +3 -2
  278. package/dist/models-json.d.ts +1 -1
  279. package/dist/namespaces/migrate.d.ts +4 -3
  280. package/dist/namespaces/migrate.js +24 -22
  281. package/dist/namespaces/principal.d.ts +1 -1
  282. package/dist/namespaces/principal.js +2 -2
  283. package/dist/namespaces/search.d.ts +1 -1
  284. package/dist/namespaces/search.js +10 -10
  285. package/dist/namespaces/storage.d.ts +4 -3
  286. package/dist/namespaces/storage.js +14 -12
  287. package/dist/native-knowledge.d.ts +1 -1
  288. package/dist/offline-sync-impression-drain.d.ts +1 -1
  289. package/dist/offline-sync-impression-drain.js +7 -7
  290. package/dist/operator-doctor-corpus.d.ts +22 -3
  291. package/dist/operator-doctor-corpus.js +34 -24
  292. package/dist/operator-doctor-replica.d.ts +52 -0
  293. package/dist/operator-doctor-replica.js +15 -0
  294. package/dist/operator-doctor-replica.js.map +1 -0
  295. package/dist/operator-toolkit.d.ts +7 -3
  296. package/dist/operator-toolkit.js +37 -31
  297. package/dist/orchestration/compression-guideline-coordinator.d.ts +3 -2
  298. package/dist/orchestration/compression-guideline-coordinator.js +2 -2
  299. package/dist/orchestration/maintenance.d.ts +5 -4
  300. package/dist/orchestration/maintenance.js +21 -19
  301. package/dist/{orchestrator-rIHmHpv1.d.ts → orchestrator-5GKqb_HL.d.ts} +7 -7
  302. package/dist/orchestrator.d.ts +9 -8
  303. package/dist/orchestrator.js +105 -96
  304. package/dist/patterns-cli.d.ts +1 -1
  305. package/dist/{pipeline-Bq5zU6Bp.d.ts → pipeline-3Qi1TpRo.d.ts} +1 -1
  306. package/dist/policy-runtime.d.ts +1 -1
  307. package/dist/proactive-contention.d.ts +1 -1
  308. package/dist/provenance.d.ts +1 -1
  309. package/dist/{qmd-3ILJkC70.d.ts → qmd-D9JqzzRX.d.ts} +1 -1
  310. package/dist/qmd-preflight.d.ts +2 -2
  311. package/dist/qmd-recall-cache.d.ts +1 -1
  312. package/dist/qmd.d.ts +2 -2
  313. package/dist/recall-concurrency-config.d.ts +1 -1
  314. package/dist/recall-disclosure-escalation.d.ts +1 -1
  315. package/dist/recall-explain-renderer.d.ts +1 -1
  316. package/dist/recall-explain-renderer.js +3 -3
  317. package/dist/recall-memory-map.d.ts +1 -1
  318. package/dist/recall-planner-llm.d.ts +1 -1
  319. package/dist/recall-state.d.ts +1 -1
  320. package/dist/recall-state.js +2 -2
  321. package/dist/recall-tag-filter.d.ts +1 -1
  322. package/dist/recall-timings.d.ts +1 -1
  323. package/dist/recall-xray-cli.d.ts +1 -1
  324. package/dist/recall-xray-cli.js +4 -4
  325. package/dist/recall-xray-renderer.d.ts +1 -1
  326. package/dist/recall-xray-renderer.js +3 -3
  327. package/dist/recall-xray.d.ts +1 -1
  328. package/dist/recall-xray.js +2 -2
  329. package/dist/replay/normalizers/chatgpt.d.ts +1 -1
  330. package/dist/replay/normalizers/claude.d.ts +1 -1
  331. package/dist/replay/normalizers/openclaw.d.ts +1 -1
  332. package/dist/replay/normalizers/shared.d.ts +1 -1
  333. package/dist/replay/runner.d.ts +1 -1
  334. package/dist/replay/types.d.ts +1 -1
  335. package/dist/replica-divergence.d.ts +279 -0
  336. package/dist/replica-divergence.js +28 -0
  337. package/dist/replica-divergence.js.map +1 -0
  338. package/dist/replica-peers-config.d.ts +5 -0
  339. package/dist/replica-peers-config.js +13 -0
  340. package/dist/replica-peers-config.js.map +1 -0
  341. package/dist/resolve-auth-token.d.ts +21 -2
  342. package/dist/resolve-auth-token.js +5 -1
  343. package/dist/resume-bundles.js +5 -3
  344. package/dist/retrieval-agents.d.ts +2 -2
  345. package/dist/retrieval-tiers.d.ts +1 -1
  346. package/dist/routing/engine.d.ts +1 -1
  347. package/dist/routing/store.d.ts +1 -1
  348. package/dist/salvage-envelope.d.ts +1 -1
  349. package/dist/schemas.d.ts +54 -54
  350. package/dist/{scope-profiles-D0-ff4xT.d.ts → scope-profiles-C4g6_UdP.d.ts} +1 -1
  351. package/dist/search/embed-helper.d.ts +1 -1
  352. package/dist/search/embed-helper.js +2 -2
  353. package/dist/search/factory.d.ts +1 -1
  354. package/dist/search/factory.js +9 -9
  355. package/dist/search/index.d.ts +1 -1
  356. package/dist/search/index.js +9 -9
  357. package/dist/search/lancedb-backend.d.ts +1 -1
  358. package/dist/search/lancedb-backend.js +2 -2
  359. package/dist/search/meilisearch-backend.d.ts +1 -1
  360. package/dist/search/meilisearch-backend.js +2 -2
  361. package/dist/search/noop-backend.d.ts +1 -1
  362. package/dist/search/orama-backend.d.ts +1 -1
  363. package/dist/search/orama-backend.js +2 -2
  364. package/dist/search/port.d.ts +1 -1
  365. package/dist/search/remote-backend.d.ts +1 -1
  366. package/dist/{semantic-consolidation-4Tfh7c1g.d.ts → semantic-consolidation-BrxqnzTW.d.ts} +1 -1
  367. package/dist/semantic-consolidation.d.ts +2 -2
  368. package/dist/semantic-consolidation.js +15 -13
  369. package/dist/semantic-rule-promotion.js +14 -12
  370. package/dist/semantic-rule-verifier.d.ts +1 -1
  371. package/dist/semantic-rule-verifier.js +14 -12
  372. package/dist/{service-cTvil7D_.d.ts → service-Bi1JgxdP.d.ts} +2 -2
  373. package/dist/session-observer-bands.d.ts +1 -1
  374. package/dist/session-observer-state.d.ts +1 -1
  375. package/dist/shared-context/manager.d.ts +9 -9
  376. package/dist/shared-context/manager.js +2 -2
  377. package/dist/signal.d.ts +1 -1
  378. package/dist/{storage-C9ibpTme.d.ts → storage-CcH6yPk2.d.ts} +13 -19
  379. package/dist/storage.d.ts +3 -2
  380. package/dist/storage.js +15 -12
  381. package/dist/summarizer.d.ts +1 -1
  382. package/dist/summarizer.js +3 -3
  383. package/dist/summary-snapshot.d.ts +1 -1
  384. package/dist/temporal-supersession.d.ts +3 -2
  385. package/dist/temporal-timeline-recall.d.ts +1 -1
  386. package/dist/temporal-validity.d.ts +1 -1
  387. package/dist/threading.d.ts +1 -1
  388. package/dist/tier-migration.d.ts +3 -2
  389. package/dist/tier-routing.d.ts +1 -1
  390. package/dist/{tier-stats-XKD7SXYY.js → tier-stats-OPTSBNRH.js} +2 -2
  391. package/dist/topics.d.ts +1 -1
  392. package/dist/transcript.d.ts +1 -1
  393. package/dist/transfer/backup.js +2 -2
  394. package/dist/transfer/capsule-export.js +2 -2
  395. package/dist/transfer/capsule-import.js +2 -2
  396. package/dist/transfer/types.d.ts +66 -66
  397. package/dist/trust-score-stage.d.ts +1 -1
  398. package/dist/trust-score.d.ts +1 -1
  399. package/dist/{types-DHBxIF0s.d.ts → types-Dg0w9ADr.d.ts} +54 -4
  400. package/dist/types.d.ts +1 -1
  401. package/dist/types.js +1 -1
  402. package/dist/utility-runtime.d.ts +1 -1
  403. package/dist/verified-recall.js +14 -12
  404. package/dist/write-envelope.d.ts +1 -1
  405. package/package.json +2 -2
  406. package/src/access-health-types.ts +8 -0
  407. package/src/access-http.test.ts +4 -0
  408. package/src/access-service-health.test.ts +23 -0
  409. package/src/access-service.ts +27 -4
  410. package/src/capabilities.test.ts +1 -0
  411. package/src/capabilities.ts +7 -7
  412. package/src/cli.ts +9 -7
  413. package/src/config.test.ts +5 -0
  414. package/src/config.ts +3 -2
  415. package/src/corpus-watermark.test.ts +21 -0
  416. package/src/corpus-watermark.ts +25 -3
  417. package/src/entity-id-normalization.ts +55 -0
  418. package/src/entity-retrieval-boundaries.ts +134 -0
  419. package/src/entity-retrieval.ts +253 -27
  420. package/src/entity-schema.ts +2 -1
  421. package/src/extraction-source-grounding-helpers.ts +603 -0
  422. package/src/extraction-source-grounding-rules.ts +1031 -0
  423. package/src/extraction-source-grounding.test.ts +2337 -0
  424. package/src/extraction-source-grounding.ts +50 -0
  425. package/src/extraction.ts +120 -15
  426. package/src/memory-projection-mutations.ts +132 -0
  427. package/src/namespaces/storage.ts +5 -3
  428. package/src/operator-doctor-corpus.ts +41 -0
  429. package/src/operator-doctor-replica.test.ts +261 -0
  430. package/src/operator-doctor-replica.ts +129 -0
  431. package/src/operator-toolkit.ts +5 -4
  432. package/src/orchestration/orchestrator-init.ts +2 -2
  433. package/src/replica-divergence.test.ts +1475 -0
  434. package/src/replica-divergence.ts +910 -0
  435. package/src/replica-peers-config.ts +250 -0
  436. package/src/resolve-auth-token.ts +38 -0
  437. package/src/storage/entity-canonical-id-migration-adapter.ts +72 -0
  438. package/src/storage/entity-canonical-id-migration-runner.ts +68 -0
  439. package/src/storage/entity-canonical-id-migration.ts +904 -0
  440. package/src/storage/entity-store.ts +44 -0
  441. package/src/storage/memory-frontmatter-metadata.ts +17 -0
  442. package/src/storage/memory-migration-serialization.ts +37 -0
  443. package/src/storage/memory-read-store.ts +3 -2
  444. package/src/storage/profile-header.ts +8 -7
  445. package/src/storage-profile-timestamp.test.ts +68 -0
  446. package/src/storage.ts +68 -69
  447. package/src/types.ts +5 -5
  448. package/dist/chunk-2RAC4JIG.js.map +0 -1
  449. package/dist/chunk-4DJQYKMN.js.map +0 -1
  450. package/dist/chunk-CIQXI47W.js.map +0 -1
  451. package/dist/chunk-EOLC6EXV.js.map +0 -1
  452. package/dist/chunk-GJJBPI6I.js.map +0 -1
  453. package/dist/chunk-HORJVJ6K.js.map +0 -1
  454. package/dist/chunk-MEBQFQ26.js.map +0 -1
  455. package/dist/chunk-NUWMZIYZ.js.map +0 -1
  456. package/dist/chunk-TKBDJTXG.js.map +0 -1
  457. package/dist/chunk-V25OWXAC.js.map +0 -1
  458. package/dist/chunk-XKO7BM2C.js.map +0 -1
  459. /package/dist/{capsule-crypto-YO5QJ6L3.js.map → capsule-crypto-GWVG7LGC.js.map} +0 -0
  460. /package/dist/{chunk-2H7OEVPO.js.map → chunk-3GD2HFR6.js.map} +0 -0
  461. /package/dist/{chunk-4TFIRMTE.js.map → chunk-4A6YGWQN.js.map} +0 -0
  462. /package/dist/{chunk-JDOJZTFF.js.map → chunk-4PBVXX7L.js.map} +0 -0
  463. /package/dist/{chunk-IKMAO55B.js.map → chunk-55MDBZLC.js.map} +0 -0
  464. /package/dist/{chunk-VDX2J7OX.js.map → chunk-5W7CTZ2E.js.map} +0 -0
  465. /package/dist/{chunk-B7GROTXD.js.map → chunk-6LKEUCEM.js.map} +0 -0
  466. /package/dist/{chunk-2AJ72VVS.js.map → chunk-7BZOBA5J.js.map} +0 -0
  467. /package/dist/{chunk-44DUJETW.js.map → chunk-7HXCF4RE.js.map} +0 -0
  468. /package/dist/{chunk-X3SQYAPP.js.map → chunk-ACXPX4AG.js.map} +0 -0
  469. /package/dist/{chunk-AJ7QCSIS.js.map → chunk-ALSGMEJR.js.map} +0 -0
  470. /package/dist/{chunk-JGUXPJUQ.js.map → chunk-AS7YMSL6.js.map} +0 -0
  471. /package/dist/{chunk-77CNV7DY.js.map → chunk-BLAKS3CP.js.map} +0 -0
  472. /package/dist/{chunk-5BRT4Z2I.js.map → chunk-CMRQ34J5.js.map} +0 -0
  473. /package/dist/{chunk-HEXSNYJD.js.map → chunk-CSMCNOPH.js.map} +0 -0
  474. /package/dist/{chunk-SK3EYPKC.js.map → chunk-D2ANTDGO.js.map} +0 -0
  475. /package/dist/{chunk-JCVQV6QX.js.map → chunk-D3LMYTBV.js.map} +0 -0
  476. /package/dist/{chunk-XY7QPJDA.js.map → chunk-E6EE5B67.js.map} +0 -0
  477. /package/dist/{chunk-LLISELSY.js.map → chunk-EP5BVCRI.js.map} +0 -0
  478. /package/dist/{chunk-PTN6UAUA.js.map → chunk-ES36HTSC.js.map} +0 -0
  479. /package/dist/{chunk-WEAO45M4.js.map → chunk-ESBQWC3U.js.map} +0 -0
  480. /package/dist/{chunk-EUSLKI4X.js.map → chunk-EVX44I7C.js.map} +0 -0
  481. /package/dist/{chunk-X6ROIHFE.js.map → chunk-G5R3D5UP.js.map} +0 -0
  482. /package/dist/{chunk-MG6MNSP4.js.map → chunk-G6LBWZRF.js.map} +0 -0
  483. /package/dist/{chunk-FRVTCCGD.js.map → chunk-GGUBDXRR.js.map} +0 -0
  484. /package/dist/{chunk-QH6CS6XJ.js.map → chunk-H24WNPA2.js.map} +0 -0
  485. /package/dist/{chunk-MQVINOJQ.js.map → chunk-IYZ5K7MU.js.map} +0 -0
  486. /package/dist/{chunk-RPA2RX5P.js.map → chunk-JDZRYH2N.js.map} +0 -0
  487. /package/dist/{chunk-M5EPMNS4.js.map → chunk-K5GB36ME.js.map} +0 -0
  488. /package/dist/{chunk-UT3OQPFA.js.map → chunk-KUJQHXPH.js.map} +0 -0
  489. /package/dist/{chunk-7RZJWZ46.js.map → chunk-LEPOP46W.js.map} +0 -0
  490. /package/dist/{chunk-EYJSW2RV.js.map → chunk-NBDCZWP4.js.map} +0 -0
  491. /package/dist/{chunk-XKGPIWGI.js.map → chunk-OFHFH655.js.map} +0 -0
  492. /package/dist/{chunk-FGBJBYWP.js.map → chunk-OVRQLAYR.js.map} +0 -0
  493. /package/dist/{chunk-BXLOS5AJ.js.map → chunk-OWHERGF2.js.map} +0 -0
  494. /package/dist/{chunk-U3TH5Q2Q.js.map → chunk-P3MH72CI.js.map} +0 -0
  495. /package/dist/{chunk-P2OZKKYP.js.map → chunk-PHWUFPCO.js.map} +0 -0
  496. /package/dist/{chunk-KGTD2KZJ.js.map → chunk-PKRIQL3V.js.map} +0 -0
  497. /package/dist/{chunk-4MJZTF42.js.map → chunk-QAOGGNE3.js.map} +0 -0
  498. /package/dist/{chunk-2QSZNTDO.js.map → chunk-RKNJBZ55.js.map} +0 -0
  499. /package/dist/{chunk-FCCMFVS6.js.map → chunk-RPSYDM6C.js.map} +0 -0
  500. /package/dist/{chunk-RYHWZ52A.js.map → chunk-S2BBISHU.js.map} +0 -0
  501. /package/dist/{chunk-RSYJV25N.js.map → chunk-SG265CVF.js.map} +0 -0
  502. /package/dist/{chunk-UGH6VPPO.js.map → chunk-SH6YO3LT.js.map} +0 -0
  503. /package/dist/{chunk-FMLKOL2Z.js.map → chunk-TC3VNKGX.js.map} +0 -0
  504. /package/dist/{chunk-7K5Q6COX.js.map → chunk-TVVEYCNW.js.map} +0 -0
  505. /package/dist/{chunk-BJJAX3IZ.js.map → chunk-UTRO5UJU.js.map} +0 -0
  506. /package/dist/{chunk-DQEMWVMT.js.map → chunk-UVYI6VIX.js.map} +0 -0
  507. /package/dist/{chunk-BHLN7L7M.js.map → chunk-VVIW3PTA.js.map} +0 -0
  508. /package/dist/{chunk-XQ4EH6DI.js.map → chunk-WONS4RZ2.js.map} +0 -0
  509. /package/dist/{chunk-CSXHRAJJ.js.map → chunk-XOZ4ALGB.js.map} +0 -0
  510. /package/dist/{chunk-6NNNURLK.js.map → chunk-Z54EM5YZ.js.map} +0 -0
  511. /package/dist/{chunk-YSGBD3QN.js.map → chunk-ZGOQTOYA.js.map} +0 -0
  512. /package/dist/{chunk-RNY3BO35.js.map → chunk-ZXAGJFHJ.js.map} +0 -0
  513. /package/dist/{contradiction-scan-HMF7CNKD.js.map → contradiction-scan-HYLIRMJ2.js.map} +0 -0
  514. /package/dist/{first-start-migration-LEXL3XYL.js.map → first-start-migration-F2QJD66E.js.map} +0 -0
  515. /package/dist/{tier-stats-XKD7SXYY.js.map → tier-stats-OPTSBNRH.js.map} +0 -0
@@ -1,3 +1,7 @@
1
+ import {
2
+ rebuildConversationChunksFailOpen,
3
+ upsertConversationChunksFailOpen
4
+ } from "./chunk-72A4L5JJ.js";
1
5
  import {
2
6
  searchConversationIndex,
3
7
  searchConversationIndexFaissFailOpen
@@ -5,10 +9,6 @@ import {
5
9
  import {
6
10
  failOpenFaissHealth
7
11
  } from "./chunk-ET356KSB.js";
8
- import {
9
- rebuildConversationChunksFailOpen,
10
- upsertConversationChunksFailOpen
11
- } from "./chunk-72A4L5JJ.js";
12
12
 
13
13
  // src/conversation-index/backend.ts
14
14
  function createConversationIndexBackend(options) {
@@ -235,4 +235,4 @@ function createFaissBackend(getFaiss) {
235
235
  export {
236
236
  createConversationIndexBackend
237
237
  };
238
- //# sourceMappingURL=chunk-7RZJWZ46.js.map
238
+ //# sourceMappingURL=chunk-LEPOP46W.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  namespaceCollectionName
3
- } from "./chunk-SK3EYPKC.js";
3
+ } from "./chunk-D2ANTDGO.js";
4
4
  import {
5
5
  NamespaceStorageRouter
6
- } from "./chunk-MEBQFQ26.js";
6
+ } from "./chunk-XEQ7OT7U.js";
7
7
  import {
8
8
  namespaceIdentityFromToken,
9
9
  namespaceIdentityToken
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-U3PN77QT.js";
14
14
  import {
15
15
  resolveNamespaceCapabilities
16
- } from "./chunk-RDQGLJRR.js";
16
+ } from "./chunk-2XRE6FLM.js";
17
17
  import {
18
18
  ALL_CATEGORY_DIRS
19
19
  } from "./chunk-VS2IYZRU.js";
@@ -207,4 +207,4 @@ export {
207
207
  verifyNamespaces,
208
208
  runNamespaceMigration
209
209
  };
210
- //# sourceMappingURL=chunk-EYJSW2RV.js.map
210
+ //# sourceMappingURL=chunk-NBDCZWP4.js.map
@@ -1,10 +1,13 @@
1
+ import {
2
+ withHeldFileLock
3
+ } from "./chunk-WL5EBRDH.js";
1
4
  import {
2
5
  ensureContainedSpillDir,
3
6
  listContainedSpillFiles
4
7
  } from "./chunk-GCASGYIO.js";
5
8
  import {
6
- withHeldFileLock
7
- } from "./chunk-WL5EBRDH.js";
9
+ displayErrorDetail
10
+ } from "./chunk-RL6NEVXT.js";
8
11
  import {
9
12
  MEMORY_LIFECYCLE_LEDGER_APPEND_LOCK_MAX_WAIT_MS,
10
13
  MEMORY_LIFECYCLE_LEDGER_LOCK_STALE_MS,
@@ -12,9 +15,6 @@ import {
12
15
  memoryLifecycleLedgerLockPath,
13
16
  sortMemoryLifecycleEvents
14
17
  } from "./chunk-ILGC6JH6.js";
15
- import {
16
- displayErrorDetail
17
- } from "./chunk-RL6NEVXT.js";
18
18
  import {
19
19
  MAGIC_HEADER_SIZE,
20
20
  SecureStoreLockedError,
@@ -445,4 +445,4 @@ export {
445
445
  drainPendingLifecycleLedgerForSync,
446
446
  drainPendingLifecycleForSyncOrThrow
447
447
  };
448
- //# sourceMappingURL=chunk-XKGPIWGI.js.map
448
+ //# sourceMappingURL=chunk-OFHFH655.js.map
@@ -8,7 +8,7 @@ import {
8
8
  } from "./chunk-WLZYGLJ4.js";
9
9
  import {
10
10
  LocalLlmClient
11
- } from "./chunk-P2OZKKYP.js";
11
+ } from "./chunk-PHWUFPCO.js";
12
12
  import {
13
13
  sessionStoragePaths
14
14
  } from "./chunk-S4DDLTPX.js";
@@ -23,7 +23,7 @@ import {
23
23
  import {
24
24
  resolveLocalLlmCapabilities,
25
25
  resolvePipelineProcessingCapabilities
26
- } from "./chunk-RDQGLJRR.js";
26
+ } from "./chunk-2XRE6FLM.js";
27
27
  import {
28
28
  encodeStoragePathSegment,
29
29
  resolveSafeStoragePath
@@ -690,4 +690,4 @@ ${truncatedConversation}`;
690
690
  export {
691
691
  HourlySummarizer
692
692
  };
693
- //# sourceMappingURL=chunk-FGBJBYWP.js.map
693
+ //# sourceMappingURL=chunk-OVRQLAYR.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-765K3SAT.js";
4
4
  import {
5
5
  encryptCapsuleFile
6
- } from "./chunk-DQEMWVMT.js";
6
+ } from "./chunk-UVYI6VIX.js";
7
7
  import {
8
8
  computeTransferOutputRel,
9
9
  isTransferPathExcluded
@@ -109,4 +109,4 @@ async function enforceRetention(outDirAbs, retentionDays) {
109
109
  export {
110
110
  backupMemoryDir
111
111
  };
112
- //# sourceMappingURL=chunk-BXLOS5AJ.js.map
112
+ //# sourceMappingURL=chunk-OWHERGF2.js.map
@@ -0,0 +1,528 @@
1
+ // src/extraction-source-grounding-helpers.ts
2
+ function isInterrogativeSourceSentence(sentence) {
3
+ const normalized = sentence.trim();
4
+ const embeddedQuestionVerbIndex = normalized.search(
5
+ /\b(?:determine|know|wonder|ask(?:ed)?|question|decide|check|confirm|find|figure|understand|unclear)\b/iu
6
+ );
7
+ const embeddedQuestionMarkerIndex = normalized.search(/\b(?:whether|if)\b/iu);
8
+ const hasEmbeddedQuestion = embeddedQuestionVerbIndex >= 0 && embeddedQuestionMarkerIndex > embeddedQuestionVerbIndex;
9
+ return normalized.endsWith("?") || hasEmbeddedQuestion || !normalized.includes(":") && /^(?:suppose|assuming|assume|maybe|perhaps|hypothetically|if|whether|imagine|imagining|presume|presuming|supposing|is|are|am|was|were|do|does|did|can|could|will|would|should|has|have|had|what|which|when|where|why|how|who)\b/iu.test(
10
+ normalized
11
+ );
12
+ }
13
+ function containsContiguousGroundingTokens(candidateTokens, sourceTokens) {
14
+ if (candidateTokens.length === 0 || candidateTokens.length > sourceTokens.length) return false;
15
+ return sourceTokens.some(
16
+ (_, start) => candidateTokens.every((token, offset) => sourceTokens[start + offset] === token)
17
+ );
18
+ }
19
+ function hasExplicitRoleSubjectToken(candidateRole, sourceTokensBySentence) {
20
+ return candidateRole !== void 0 && sourceTokensBySentence.some((tokens) => tokens.includes(candidateRole));
21
+ }
22
+ function splitGroundingClauses(sentences) {
23
+ return sentences.flatMap(
24
+ (sentence) => sentence.split(/,\s+(?=[\p{L}][\p{L}\p{N}'’-]*\s+\S)/gu).flatMap(
25
+ (commaClause) => commaClause.split(/\s*(?::|[—–])\s+|\s+\/\s+/u).flatMap(
26
+ (delimiterClause) => delimiterClause.split(/\s+(?:and|but|or|while|although|because)\s+/gu).map((clause) => clause.trim()).filter((clause) => clause.length > 0)
27
+ )
28
+ )
29
+ );
30
+ }
31
+ var GROUNDING_STOPWORDS = {
32
+ a: true,
33
+ an: true,
34
+ and: true,
35
+ are: true,
36
+ as: true,
37
+ at: true,
38
+ be: true,
39
+ been: true,
40
+ being: true,
41
+ but: true,
42
+ by: true,
43
+ can: true,
44
+ could: true,
45
+ did: true,
46
+ do: true,
47
+ does: true,
48
+ for: true,
49
+ from: true,
50
+ had: true,
51
+ has: true,
52
+ have: true,
53
+ he: true,
54
+ her: true,
55
+ here: true,
56
+ hers: true,
57
+ him: true,
58
+ his: true,
59
+ how: true,
60
+ i: true,
61
+ if: true,
62
+ in: true,
63
+ into: true,
64
+ is: true,
65
+ it: true,
66
+ its: true,
67
+ just: true,
68
+ me: true,
69
+ my: true,
70
+ no: true,
71
+ not: true,
72
+ of: true,
73
+ on: true,
74
+ only: true,
75
+ or: true,
76
+ our: true,
77
+ ours: true,
78
+ she: true,
79
+ so: true,
80
+ than: true,
81
+ that: true,
82
+ the: true,
83
+ their: true,
84
+ them: true,
85
+ then: true,
86
+ there: true,
87
+ these: true,
88
+ they: true,
89
+ this: true,
90
+ those: true,
91
+ to: true,
92
+ too: true,
93
+ under: true,
94
+ up: true,
95
+ us: true,
96
+ very: true,
97
+ was: true,
98
+ we: true,
99
+ were: true,
100
+ what: true,
101
+ when: true,
102
+ why: true,
103
+ where: true,
104
+ which: true,
105
+ who: true,
106
+ will: true,
107
+ with: true,
108
+ would: true,
109
+ you: true,
110
+ your: true
111
+ };
112
+ var GROUNDING_NEGATION_TOKENS = /* @__PURE__ */ new Set([
113
+ "no",
114
+ "not",
115
+ "false",
116
+ "untrue",
117
+ "incorrect",
118
+ "wrong",
119
+ "never",
120
+ "without",
121
+ "neither",
122
+ "nor",
123
+ "none",
124
+ "cannot",
125
+ "cant",
126
+ "can't",
127
+ "don't",
128
+ "doesn't",
129
+ "didn't",
130
+ "isn't",
131
+ "aren't",
132
+ "wasn't",
133
+ "weren't",
134
+ "won't",
135
+ "wouldn't",
136
+ "couldn't",
137
+ "shouldn't",
138
+ "haven't",
139
+ "hasn't",
140
+ "hadn't"
141
+ ]);
142
+ var GROUNDING_AUXILIARY_TOKENS = /* @__PURE__ */ new Set([
143
+ "am",
144
+ "are",
145
+ "be",
146
+ "been",
147
+ "being",
148
+ "can",
149
+ "could",
150
+ "did",
151
+ "do",
152
+ "does",
153
+ "had",
154
+ "has",
155
+ "have",
156
+ "is",
157
+ "was",
158
+ "were",
159
+ "will",
160
+ "would",
161
+ "should"
162
+ ]);
163
+ var GROUNDING_COPULAR_FORMS = /* @__PURE__ */ new Set([
164
+ "am",
165
+ "are",
166
+ "be",
167
+ "been",
168
+ "being",
169
+ "is",
170
+ "was",
171
+ "were"
172
+ ]);
173
+ var GROUNDING_SUBJECT_PRONOUNS = /* @__PURE__ */ new Set([
174
+ "he",
175
+ "she",
176
+ "they",
177
+ "it",
178
+ "i",
179
+ "we",
180
+ "you"
181
+ ]);
182
+ var GROUNDING_ENTITY_TYPE_PREFIXES = /* @__PURE__ */ new Set([
183
+ "person",
184
+ "project",
185
+ "tool",
186
+ "company",
187
+ "place",
188
+ "other"
189
+ ]);
190
+ var GROUNDING_COMMON_VERB_FORMS = /* @__PURE__ */ new Set([
191
+ "contains",
192
+ "employs",
193
+ "gives",
194
+ "has",
195
+ "hosts",
196
+ "likes",
197
+ "makes",
198
+ "needs",
199
+ "owns",
200
+ "prefers",
201
+ "requires",
202
+ "runs",
203
+ "shares",
204
+ "supports",
205
+ "takes",
206
+ "uses",
207
+ "wants",
208
+ "works"
209
+ ]);
210
+ function groundingLexemes(text) {
211
+ return text.normalize("NFKC").match(
212
+ /[\p{L}\p{N}]+(?:['’][\p{L}\p{N}]+)?(?:\+\+[\p{L}\p{N}]*|#[\p{L}\p{N}]*)?/gu
213
+ )?.map((rawToken) => {
214
+ const token = rawToken.replaceAll("\u2019", "'").toLocaleLowerCase();
215
+ return {
216
+ token,
217
+ preserveTerminalS: /^\p{Lu}/u.test(rawToken) && !GROUNDING_COMMON_VERB_FORMS.has(token)
218
+ };
219
+ }) ?? [];
220
+ }
221
+ function tokenSequence(text) {
222
+ return groundingLexemes(text).map(({ token }) => token);
223
+ }
224
+ function containsExactTokenSequence(candidate, source) {
225
+ const candidateTokens = tokenSequence(candidate);
226
+ const sourceTokens = tokenSequence(source);
227
+ if (candidateTokens.length === 0 || candidateTokens.length > sourceTokens.length) return false;
228
+ return sourceTokens.some(
229
+ (_, index) => candidateTokens.every((token, offset) => sourceTokens[index + offset] === token)
230
+ );
231
+ }
232
+ function isNegationCue(token) {
233
+ return GROUNDING_NEGATION_TOKENS.has(token) || token.endsWith("n't");
234
+ }
235
+ function isAttachedNegatedAuxiliary(token) {
236
+ return token.endsWith("n't") || token === "cannot" || token === "cant" || token === "can't";
237
+ }
238
+ function isNegatedAt(tokens, index) {
239
+ if (tokens[index - 1] === "only" && tokens[index - 2] === "not") return false;
240
+ const previousStart = Math.max(0, index - 2);
241
+ for (let i = previousStart; i < index; i += 1) {
242
+ if (isNegationCue(tokens[i])) return true;
243
+ }
244
+ if (tokens[index - 1] === "than" && tokens[index - 2] === "rather") return true;
245
+ if (tokens[index - 1] === "of" && tokens[index - 2] === "instead") return true;
246
+ const next = tokens[index + 1];
247
+ if (next !== void 0 && isAttachedNegatedAuxiliary(next)) return true;
248
+ const nextNext = tokens[index + 2];
249
+ return next !== void 0 && nextNext !== void 0 && GROUNDING_AUXILIARY_TOKENS.has(next) && isNegationCue(nextNext);
250
+ }
251
+ var GROUNDING_MIN_SHARED_TOKENS = 2;
252
+ var GROUNDING_MIN_COVERAGE = 0.5;
253
+ function stemToken(token, preserveTerminalS = false) {
254
+ if (token.endsWith("'s")) return token.slice(0, -2);
255
+ if (preserveTerminalS) return token;
256
+ if (token.length > 5 && token.endsWith("ing")) {
257
+ const stem = token.slice(0, -3);
258
+ return /(.)\1$/u.test(stem) ? stem.slice(0, -1) : stem;
259
+ }
260
+ if (token.length > 4 && token.endsWith("ed")) return token.slice(0, -2);
261
+ if (!preserveTerminalS && token.length > 3 && token.endsWith("s") && !token.endsWith("ss") && GROUNDING_COMMON_VERB_FORMS.has(token)) {
262
+ return token.slice(0, -1);
263
+ }
264
+ return token;
265
+ }
266
+ function tokenize(text) {
267
+ const tokens = /* @__PURE__ */ new Set();
268
+ for (const { token, preserveTerminalS } of groundingLexemes(text)) {
269
+ if (GROUNDING_STOPWORDS[token] !== true) tokens.add(stemToken(token, preserveTerminalS));
270
+ }
271
+ return tokens;
272
+ }
273
+ function normalizeForExactMatch(text) {
274
+ return text.normalize("NFKC").toLocaleLowerCase().replace(/\s+/gu, " ").trim();
275
+ }
276
+ function sourceSentences(source) {
277
+ const sentences = [];
278
+ let sentenceStart = 0;
279
+ for (let index = 0; index < source.length; index += 1) {
280
+ const character = source[index];
281
+ const nextCharacter = source[index + 1];
282
+ const boundary = character === "!" || character === "?" || character === ";" || character === "\n" || character === "." && (nextCharacter === void 0 || /\s/u.test(nextCharacter) || /["')\]}]/u.test(nextCharacter));
283
+ if (!boundary) continue;
284
+ let sentenceEnd = character === "\n" ? index : index + 1;
285
+ while (/[.!?;\n]/u.test(source[sentenceEnd] ?? "")) sentenceEnd += 1;
286
+ const sentence = source.slice(sentenceStart, sentenceEnd).trim();
287
+ if (sentence.length > 0) sentences.push(sentence);
288
+ sentenceStart = sentenceEnd;
289
+ index = sentenceEnd - 1;
290
+ }
291
+ const trailingSentence = source.slice(sentenceStart).trim();
292
+ if (trailingSentence.length > 0) sentences.push(trailingSentence);
293
+ return sentences.length > 0 ? sentences : [source];
294
+ }
295
+ function groundingTokenSequence(text) {
296
+ let lexemes = groundingLexemes(text);
297
+ while (lexemes.length > 0 && GROUNDING_AUXILIARY_TOKENS.has(lexemes[0].token)) {
298
+ lexemes = lexemes.slice(1);
299
+ }
300
+ return lexemes.filter(({ token }) => GROUNDING_STOPWORDS[token] !== true).map(({ token, preserveTerminalS }) => stemToken(token, preserveTerminalS));
301
+ }
302
+ function normalizedGroundingAlignmentTokenSequence(text) {
303
+ const normalized = normalizedGroundingTokenSequence(text);
304
+ const firstLexeme = groundingLexemes(text)[0];
305
+ if (firstLexeme === void 0 || !GROUNDING_SUBJECT_PRONOUNS.has(firstLexeme.token)) {
306
+ return normalized;
307
+ }
308
+ return [stemToken(firstLexeme.token, firstLexeme.preserveTerminalS), ...normalized];
309
+ }
310
+ function normalizedGroundingTokenSequence(text) {
311
+ return groundingTokenSequence(text).map((token) => token.replace(/'$/u, ""));
312
+ }
313
+ function areGroundingTokensCompatible(left, right) {
314
+ return left === right || `${left}e` === right || left === `${right}e`;
315
+ }
316
+ var GROUNDING_DENIAL_REPORTING_VERBS = /* @__PURE__ */ new Set([
317
+ "deny",
318
+ "denied",
319
+ "denies",
320
+ "denying",
321
+ "dispute",
322
+ "disputed",
323
+ "disputes",
324
+ "disputing",
325
+ "reject",
326
+ "rejected",
327
+ "rejects",
328
+ "rejecting",
329
+ "refute",
330
+ "refuted",
331
+ "refutes",
332
+ "refuting",
333
+ "contradict",
334
+ "contradicted",
335
+ "contradicts",
336
+ "contradicting",
337
+ "disprove",
338
+ "disproved",
339
+ "disproves",
340
+ "disproving"
341
+ ]);
342
+ function isDenialReportingVerb(token) {
343
+ return GROUNDING_DENIAL_REPORTING_VERBS.has(token);
344
+ }
345
+ var GROUNDING_NON_ASSERTIVE_REPORTING_VERBS = /* @__PURE__ */ new Set([
346
+ "allege",
347
+ "alleged",
348
+ "alleges",
349
+ "alleging",
350
+ "allegedly",
351
+ "assert",
352
+ "asserted",
353
+ "asserts",
354
+ "asserting",
355
+ "believe",
356
+ "believed",
357
+ "believes",
358
+ "believing",
359
+ "claim",
360
+ "claimed",
361
+ "claims",
362
+ "claiming",
363
+ "doubt",
364
+ "doubted",
365
+ "doubts",
366
+ "doubting",
367
+ "uncertain",
368
+ "unsure",
369
+ "unclear",
370
+ "unknown",
371
+ "possibly",
372
+ "probably",
373
+ "imagine",
374
+ "imagined",
375
+ "imagines",
376
+ "imagining",
377
+ "report",
378
+ "reported",
379
+ "reports",
380
+ "reporting",
381
+ "reportedly",
382
+ "say",
383
+ "said",
384
+ "says",
385
+ "saying",
386
+ "speculate",
387
+ "speculated",
388
+ "speculates",
389
+ "speculating",
390
+ "suspect",
391
+ "suspected",
392
+ "suspects",
393
+ "suspecting",
394
+ "suppose",
395
+ "supposed",
396
+ "supposes",
397
+ "supposing",
398
+ "supposedly",
399
+ "think",
400
+ "thought",
401
+ "thinks",
402
+ "thinking"
403
+ ]);
404
+ function isNonAssertiveReportingVerb(token) {
405
+ return GROUNDING_NON_ASSERTIVE_REPORTING_VERBS.has(token);
406
+ }
407
+ function isGroundingClauseBoundary(token) {
408
+ return token === "and" || token === "but" || token === "or" || token === "while" || token === "although" || token === "because";
409
+ }
410
+ function isNonAssertiveReportingAt(tokens, index) {
411
+ let boundary = 0;
412
+ for (let cursor = 0; cursor < index; cursor += 1) {
413
+ if (isGroundingClauseBoundary(tokens[cursor])) boundary = cursor + 1;
414
+ }
415
+ for (let cursor = index - 1; cursor >= boundary; cursor -= 1) {
416
+ if (tokens[cursor] === "that" && cursor > boundary && isNonAssertiveReportingVerb(tokens[cursor - 1])) {
417
+ return true;
418
+ }
419
+ if (isNonAssertiveReportingVerb(tokens[cursor]) && index - cursor <= 5) return true;
420
+ }
421
+ return false;
422
+ }
423
+ function isDeniedAt(tokens, index) {
424
+ let boundary = 0;
425
+ for (let cursor = 0; cursor < index; cursor += 1) {
426
+ if (isGroundingClauseBoundary(tokens[cursor])) boundary = cursor + 1;
427
+ }
428
+ for (let cursor = index - 1; cursor >= boundary; cursor -= 1) {
429
+ const token = tokens[cursor];
430
+ if (token === "that" && cursor > boundary && isDenialReportingVerb(tokens[cursor - 1])) {
431
+ return true;
432
+ }
433
+ if (isDenialReportingVerb(token) && index - cursor <= 5) return true;
434
+ }
435
+ return false;
436
+ }
437
+ function hasContradictoryPolarity(candidate, source) {
438
+ const candidateLexemes = groundingLexemes(candidate);
439
+ const candidateTokens = candidateLexemes.map(({ token }) => token);
440
+ let coherentContradiction = false;
441
+ for (const clause of sourceSentences(source).flatMap((sentence) => sentence.split(/\s+(?:and|but|or|while|although|because)\s+/gu))) {
442
+ const sourceLexemes2 = groundingLexemes(clause);
443
+ const sourceTokens2 = sourceLexemes2.map(({ token }) => token);
444
+ let sourceCursor = 0;
445
+ let allTokensFound = true;
446
+ let contradiction = false;
447
+ for (const [candidateIndex, candidateToken] of candidateTokens.entries()) {
448
+ if (GROUNDING_STOPWORDS[candidateToken] === true) continue;
449
+ const sourceIndex = sourceTokens2.findIndex(
450
+ (sourceToken, index) => index >= sourceCursor && stemToken(sourceToken, sourceLexemes2[index]?.preserveTerminalS === true) === stemToken(candidateToken, candidateLexemes[candidateIndex]?.preserveTerminalS === true)
451
+ );
452
+ if (sourceIndex === -1) {
453
+ allTokensFound = false;
454
+ break;
455
+ }
456
+ const candidateNegated = isNegatedAt(candidateTokens, candidateIndex) || isDeniedAt(candidateTokens, candidateIndex);
457
+ const sourceNegated = isNegatedAt(sourceTokens2, sourceIndex) || isDeniedAt(sourceTokens2, sourceIndex);
458
+ const candidateNonAssertive = isNonAssertiveReportingAt(candidateTokens, candidateIndex);
459
+ const sourceNonAssertive = isNonAssertiveReportingAt(sourceTokens2, sourceIndex);
460
+ if (candidateNegated !== sourceNegated || candidateNonAssertive !== sourceNonAssertive) {
461
+ contradiction = true;
462
+ }
463
+ sourceCursor = sourceIndex + 1;
464
+ }
465
+ if (allTokensFound) {
466
+ if (!contradiction) return false;
467
+ coherentContradiction = true;
468
+ }
469
+ }
470
+ if (coherentContradiction) return true;
471
+ const sourceLexemes = groundingLexemes(source);
472
+ const sourceTokens = sourceLexemes.map(({ token }) => token);
473
+ const sourcePositions = /* @__PURE__ */ new Map();
474
+ sourceLexemes.forEach(({ token, preserveTerminalS }, index) => {
475
+ const key = stemToken(token, preserveTerminalS);
476
+ const positions = sourcePositions.get(key);
477
+ if (positions) positions.push(index);
478
+ else sourcePositions.set(key, [index]);
479
+ });
480
+ for (const [candidateIndex, token] of candidateTokens.entries()) {
481
+ if (GROUNDING_STOPWORDS[token] === true) continue;
482
+ const positions = sourcePositions.get(
483
+ stemToken(token, candidateLexemes[candidateIndex]?.preserveTerminalS === true)
484
+ );
485
+ if (!positions || positions.length === 0) continue;
486
+ const sourceIndex = positions[positions.length - 1];
487
+ const candidateNegated = isNegatedAt(candidateTokens, candidateIndex) || isDeniedAt(candidateTokens, candidateIndex);
488
+ const sourceNegated = isNegatedAt(sourceTokens, sourceIndex) || isDeniedAt(sourceTokens, sourceIndex);
489
+ const candidateNonAssertive = isNonAssertiveReportingAt(candidateTokens, candidateIndex);
490
+ const sourceNonAssertive = isNonAssertiveReportingAt(sourceTokens, sourceIndex);
491
+ if (candidateNegated !== sourceNegated || candidateNonAssertive !== sourceNonAssertive) {
492
+ return true;
493
+ }
494
+ }
495
+ return false;
496
+ }
497
+
498
+ export {
499
+ isInterrogativeSourceSentence,
500
+ containsContiguousGroundingTokens,
501
+ hasExplicitRoleSubjectToken,
502
+ splitGroundingClauses,
503
+ GROUNDING_STOPWORDS,
504
+ GROUNDING_NEGATION_TOKENS,
505
+ GROUNDING_AUXILIARY_TOKENS,
506
+ GROUNDING_COPULAR_FORMS,
507
+ GROUNDING_SUBJECT_PRONOUNS,
508
+ GROUNDING_ENTITY_TYPE_PREFIXES,
509
+ GROUNDING_COMMON_VERB_FORMS,
510
+ groundingLexemes,
511
+ tokenSequence,
512
+ containsExactTokenSequence,
513
+ isNegationCue,
514
+ isAttachedNegatedAuxiliary,
515
+ isNegatedAt,
516
+ GROUNDING_MIN_SHARED_TOKENS,
517
+ GROUNDING_MIN_COVERAGE,
518
+ stemToken,
519
+ tokenize,
520
+ normalizeForExactMatch,
521
+ sourceSentences,
522
+ groundingTokenSequence,
523
+ normalizedGroundingAlignmentTokenSequence,
524
+ normalizedGroundingTokenSequence,
525
+ areGroundingTokensCompatible,
526
+ hasContradictoryPolarity
527
+ };
528
+ //# sourceMappingURL=chunk-P2BM76KT.js.map