@remnic/core 9.45.2 → 9.45.4

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 (749) hide show
  1. package/dist/abort-error.d.ts +2 -1
  2. package/dist/abort-error.js +3 -1
  3. package/dist/access-admin-ops-surface.d.ts +14 -10
  4. package/dist/access-admin-ops-surface.js +84 -76
  5. package/dist/access-audit.js +2 -2
  6. package/dist/access-authorization-probe.d.ts +14 -10
  7. package/dist/access-authorization-probe.js +85 -77
  8. package/dist/access-boundary.d.ts +15 -11
  9. package/dist/access-boundary.js +84 -76
  10. package/dist/access-citation-namespace.js +2 -2
  11. package/dist/access-cli.js +193 -181
  12. package/dist/access-cli.js.map +1 -1
  13. package/dist/access-coding-context-resolution.d.ts +16 -0
  14. package/dist/access-coding-context-resolution.js +13 -0
  15. package/dist/access-coding-context-resolution.js.map +1 -0
  16. package/dist/access-extraction-force-flush.d.ts +14 -10
  17. package/dist/access-extraction-force-flush.js +84 -76
  18. package/dist/access-health-types.d.ts +2 -1
  19. package/dist/access-http-lcm-compaction.d.ts +16 -12
  20. package/dist/access-http-lcm-compaction.js +3 -3
  21. package/dist/access-http-lifecycle-flush.d.ts +14 -10
  22. package/dist/access-http-lifecycle-flush.js +2 -2
  23. package/dist/access-http-offline-stream.d.ts +123 -0
  24. package/dist/access-http-offline-stream.js +10 -0
  25. package/dist/access-http-offline-stream.js.map +1 -0
  26. package/dist/access-http-query.js +84 -76
  27. package/dist/access-http.d.ts +15 -10
  28. package/dist/access-http.js +105 -92
  29. package/dist/access-identity-continuity-surface.d.ts +9 -8
  30. package/dist/access-identity-continuity-surface.js +84 -76
  31. package/dist/access-lcm-surface.d.ts +14 -10
  32. package/dist/access-lcm-surface.js +84 -76
  33. package/dist/access-mcp-output-schemas.js +1 -1
  34. package/dist/access-mcp.d.ts +14 -10
  35. package/dist/access-mcp.js +95 -83
  36. package/dist/access-memory-search-fanout.d.ts +3 -2
  37. package/dist/{access-namespace-preflight-5yZ4g6F8.d.ts → access-namespace-preflight-CWUDwB4M.d.ts} +1 -1
  38. package/dist/access-namespace-preflight.d.ts +4 -3
  39. package/dist/access-namespace-preflight.js +84 -76
  40. package/dist/access-observe-helpers.d.ts +1 -0
  41. package/dist/access-observe-helpers.js +1 -1
  42. package/dist/access-observe-write-surface.d.ts +16 -10
  43. package/dist/access-observe-write-surface.js +84 -76
  44. package/dist/access-offline-manifest.d.ts +104 -0
  45. package/dist/access-offline-manifest.js +45 -0
  46. package/dist/access-offline-manifest.js.map +1 -0
  47. package/dist/access-operations-batch.js +86 -78
  48. package/dist/access-operations.d.ts +18 -14
  49. package/dist/access-operations.js +91 -80
  50. package/dist/access-recall-concurrency.d.ts +16 -26
  51. package/dist/access-recall-concurrency.js +86 -77
  52. package/dist/access-recall-response.d.ts +18 -14
  53. package/dist/access-recall-response.js +84 -76
  54. package/dist/access-recall-surface.d.ts +29 -24
  55. package/dist/access-recall-surface.js +84 -76
  56. package/dist/access-schema.d.ts +84 -84
  57. package/dist/access-schema.js +3 -3
  58. package/dist/{access-service-CiJRsgAB.d.ts → access-service-CsU-ljFD.d.ts} +25 -16
  59. package/dist/access-service-helpers.d.ts +14 -10
  60. package/dist/access-service.d.ts +14 -10
  61. package/dist/access-service.js +84 -76
  62. package/dist/access-surface-catalog.d.ts +14 -10
  63. package/dist/access-surface-catalog.js +4 -0
  64. package/dist/access-surface-catalog.js.map +1 -1
  65. package/dist/access-wearables-meetings-surface.d.ts +4 -3
  66. package/dist/action-confidence.d.ts +2 -1
  67. package/dist/active-memory-bridge.d.ts +2 -1
  68. package/dist/active-recall.d.ts +2 -1
  69. package/dist/active-recall.js +10 -8
  70. package/dist/active-recall.js.map +1 -1
  71. package/dist/adapters/index.js +7 -7
  72. package/dist/adapters/registry.js +3 -3
  73. package/dist/{auto-sync-5OE5QOZB.js → auto-sync-UPTUVE4X.js} +6 -6
  74. package/dist/behavior-learner.d.ts +2 -1
  75. package/dist/behavior-learner.js +1 -1
  76. package/dist/behavior-signals.d.ts +2 -1
  77. package/dist/bootstrap.d.ts +9 -8
  78. package/dist/briefing.d.ts +3 -2
  79. package/dist/briefing.js +23 -22
  80. package/dist/buffer-surprise-report.d.ts +2 -1
  81. package/dist/buffer-turn-helpers.d.ts +2 -1
  82. package/dist/buffer.d.ts +3 -2
  83. package/dist/buffer.js +12 -11
  84. package/dist/bulk-import/index.d.ts +4 -3
  85. package/dist/calibration.d.ts +2 -1
  86. package/dist/capabilities.d.ts +2 -1
  87. package/dist/{capsule-merge-IDWJPCWK.js → capsule-merge-Q6AR3XL7.js} +67 -54
  88. package/dist/capsule-merge-Q6AR3XL7.js.map +1 -0
  89. package/dist/{catalog-scBmy0sO.d.ts → catalog-bctMURhN.d.ts} +1 -1
  90. package/dist/causal-behavior.d.ts +2 -1
  91. package/dist/causal-behavior.js +2 -2
  92. package/dist/causal-chain.js +2 -2
  93. package/dist/causal-consolidation.d.ts +2 -1
  94. package/dist/causal-consolidation.js +27 -26
  95. package/dist/causal-consolidation.js.map +1 -1
  96. package/dist/causal-retrieval.js +2 -2
  97. package/dist/causal-trajectory-graph.d.ts +2 -1
  98. package/dist/causal-trajectory.js +1 -1
  99. package/dist/{chunk-VUPTKTDV.js → chunk-2MRHJNWL.js} +3 -3
  100. package/dist/{chunk-JBPKEARU.js → chunk-2QSZNTDO.js} +7 -7
  101. package/dist/{chunk-5IVLTFOV.js → chunk-44N6ESJ4.js} +2 -2
  102. package/dist/{chunk-WOCNN776.js → chunk-4POAMKV6.js} +100 -41
  103. package/dist/chunk-4POAMKV6.js.map +1 -0
  104. package/dist/{chunk-HO3QBJEY.js → chunk-5546W5SI.js} +2 -2
  105. package/dist/{chunk-U7GW7NE7.js → chunk-5CEECY6P.js} +10 -10
  106. package/dist/{chunk-4UH4BTGK.js → chunk-5SNZSWWR.js} +82 -82
  107. package/dist/{chunk-6CZPDBJS.js → chunk-5U7ID3EZ.js} +3 -3
  108. package/dist/{chunk-GF22HWS2.js → chunk-6NNNURLK.js} +7 -7
  109. package/dist/chunk-773TRRGT.js +36 -0
  110. package/dist/chunk-773TRRGT.js.map +1 -0
  111. package/dist/chunk-7CITSYSH.js +242 -0
  112. package/dist/chunk-7CITSYSH.js.map +1 -0
  113. package/dist/{chunk-227UFSEQ.js → chunk-7RZJWZ46.js} +5 -5
  114. package/dist/{chunk-E5UK4VPE.js → chunk-7SHJHPTY.js} +5 -5
  115. package/dist/{chunk-UVIKWC7M.js → chunk-7YERSTN7.js} +17 -17
  116. package/dist/{chunk-DLVPUX7U.js → chunk-7YKVM5H3.js} +8 -6
  117. package/dist/chunk-7YKVM5H3.js.map +1 -0
  118. package/dist/{chunk-3CE77VAP.js → chunk-A4JMGKCD.js} +87 -74
  119. package/dist/chunk-A4JMGKCD.js.map +1 -0
  120. package/dist/chunk-A5KNZSNA.js +26 -0
  121. package/dist/chunk-A5KNZSNA.js.map +1 -0
  122. package/dist/{chunk-S2NCTZGJ.js → chunk-AJQ57VV3.js} +15 -15
  123. package/dist/chunk-AJQ57VV3.js.map +1 -0
  124. package/dist/{chunk-CUM2BBPN.js → chunk-AUMWZSE7.js} +19 -10
  125. package/dist/chunk-AUMWZSE7.js.map +1 -0
  126. package/dist/{chunk-XYTOI63Z.js → chunk-BGHFOD5A.js} +19 -11
  127. package/dist/chunk-BGHFOD5A.js.map +1 -0
  128. package/dist/{chunk-BUE5E2HL.js → chunk-BGLY7EEM.js} +5 -314
  129. package/dist/chunk-BGLY7EEM.js.map +1 -0
  130. package/dist/chunk-BIPBQQFI.js +44 -0
  131. package/dist/chunk-BIPBQQFI.js.map +1 -0
  132. package/dist/{chunk-S5SLVSVY.js → chunk-BQIFZ2MP.js} +5 -5
  133. package/dist/chunk-BTTPKDIL.js +34 -0
  134. package/dist/{chunk-PVGDJXVK.js.map → chunk-BTTPKDIL.js.map} +1 -1
  135. package/dist/{chunk-E53DSZEN.js → chunk-C26TE27X.js} +3 -3
  136. package/dist/{chunk-LZ4LDKHZ.js → chunk-CLB32OHM.js} +6 -6
  137. package/dist/{chunk-Q6IP2ARR.js → chunk-CSOYVTRX.js} +2 -2
  138. package/dist/{chunk-XOQSEF7X.js → chunk-CVILPI77.js} +6 -6
  139. package/dist/chunk-D3I2MCN7.js +29 -0
  140. package/dist/chunk-D3I2MCN7.js.map +1 -0
  141. package/dist/{chunk-A5OJCXZL.js → chunk-DSUAAZZX.js} +15 -4
  142. package/dist/chunk-DSUAAZZX.js.map +1 -0
  143. package/dist/{chunk-HREE4JHI.js → chunk-DYVMXPCF.js} +486 -287
  144. package/dist/chunk-DYVMXPCF.js.map +1 -0
  145. package/dist/{chunk-J7VGGECD.js → chunk-DZPFMQZ7.js} +1 -1
  146. package/dist/chunk-DZPFMQZ7.js.map +1 -0
  147. package/dist/{chunk-PDLBLTOK.js → chunk-EITZHSX6.js} +9 -9
  148. package/dist/{chunk-D3J5SLQK.js → chunk-EJHEWCGQ.js} +81 -20
  149. package/dist/chunk-EJHEWCGQ.js.map +1 -0
  150. package/dist/{chunk-WUNIWKY4.js → chunk-ELIL2A37.js} +6 -6
  151. package/dist/{chunk-E6PNLPGJ.js → chunk-FZP32336.js} +806 -470
  152. package/dist/chunk-FZP32336.js.map +1 -0
  153. package/dist/{chunk-4L6HUREQ.js → chunk-G7A5HLUS.js} +23 -17
  154. package/dist/chunk-G7A5HLUS.js.map +1 -0
  155. package/dist/{chunk-CINZGPSJ.js → chunk-GUMZC2BO.js} +2 -2
  156. package/dist/{chunk-H24WNPA2.js → chunk-GWFSVJ4P.js} +3 -3
  157. package/dist/{chunk-7XC2HX75.js → chunk-GYPQL6XN.js} +157 -16
  158. package/dist/chunk-GYPQL6XN.js.map +1 -0
  159. package/dist/{chunk-TSH56VPU.js → chunk-HAYSYUAB.js} +2 -2
  160. package/dist/{chunk-TDHTVMPG.js → chunk-HFPASSFV.js} +7 -2
  161. package/dist/chunk-HFPASSFV.js.map +1 -0
  162. package/dist/chunk-J2WC5LF4.js +395 -0
  163. package/dist/chunk-J2WC5LF4.js.map +1 -0
  164. package/dist/{chunk-PKNLM44P.js → chunk-JH6BPLOP.js} +9 -9
  165. package/dist/{chunk-KXB4VXHY.js → chunk-JIYDRBVZ.js} +2 -2
  166. package/dist/chunk-JV3C2MNQ.js +74 -0
  167. package/dist/chunk-JV3C2MNQ.js.map +1 -0
  168. package/dist/{chunk-AV5ZEH4M.js → chunk-KVJRXN2E.js} +2 -2
  169. package/dist/{chunk-JVLCVFQ4.js → chunk-KXEFRMCF.js} +3 -3
  170. package/dist/{chunk-WFTIGIIS.js → chunk-L6CQ7WIW.js} +5 -5
  171. package/dist/{chunk-EJUEXZHX.js → chunk-LLJMAULE.js} +2 -2
  172. package/dist/{chunk-N5Z4EVOR.js → chunk-LNEWDF2A.js} +36 -11
  173. package/dist/chunk-LNEWDF2A.js.map +1 -0
  174. package/dist/{chunk-AS7YMSL6.js → chunk-M23RF3LJ.js} +4 -4
  175. package/dist/{chunk-UYLMNVY6.js → chunk-MDISBSYA.js} +16 -9
  176. package/dist/chunk-MDISBSYA.js.map +1 -0
  177. package/dist/{chunk-3F2LKUMU.js → chunk-NIS256NW.js} +2 -2
  178. package/dist/{chunk-YIAA2X3D.js → chunk-NK5RGJ65.js} +3 -3
  179. package/dist/chunk-NLDVVWCL.js +84 -0
  180. package/dist/chunk-NLDVVWCL.js.map +1 -0
  181. package/dist/{chunk-OQ5PRDDS.js → chunk-NTOIP2E6.js} +6 -6
  182. package/dist/{chunk-HLPD7B7P.js → chunk-NUEQKLNB.js} +2 -2
  183. package/dist/{chunk-4J7G5SY4.js → chunk-NZBZ7IS2.js} +72 -24
  184. package/dist/chunk-NZBZ7IS2.js.map +1 -0
  185. package/dist/{chunk-3TBLDMJA.js → chunk-O4KMGRXE.js} +5 -2
  186. package/dist/chunk-O4KMGRXE.js.map +1 -0
  187. package/dist/{chunk-33PLLLL7.js → chunk-P7NGM24P.js} +6 -6
  188. package/dist/{chunk-7TWUCYER.js → chunk-PNRA7FAD.js} +7 -7
  189. package/dist/{chunk-5I4M26Q7.js → chunk-QBSFOKY6.js} +4 -4
  190. package/dist/{chunk-QJAQNXWI.js → chunk-QCECHYZL.js} +76 -79
  191. package/dist/chunk-QCECHYZL.js.map +1 -0
  192. package/dist/{chunk-P4DRWEYC.js → chunk-QVSBTCVP.js} +2 -2
  193. package/dist/{chunk-AAIUERNB.js → chunk-R5RFK3CB.js} +6 -6
  194. package/dist/{chunk-WDISJRMG.js → chunk-RMMVQQA6.js} +2 -2
  195. package/dist/{chunk-KWMXR7XS.js → chunk-S2V7RUCL.js} +8 -1
  196. package/dist/{chunk-KWMXR7XS.js.map → chunk-S2V7RUCL.js.map} +1 -1
  197. package/dist/{chunk-5SM35XZR.js → chunk-S5NZBKKQ.js} +2 -2
  198. package/dist/{chunk-VNA7W7QF.js → chunk-SVH57F5Z.js} +12 -4
  199. package/dist/chunk-SVH57F5Z.js.map +1 -0
  200. package/dist/{chunk-WIPEXG6R.js → chunk-SXIMQLGV.js} +2 -2
  201. package/dist/{chunk-RVLJEII5.js → chunk-SYUBB3WM.js} +256 -187
  202. package/dist/chunk-SYUBB3WM.js.map +1 -0
  203. package/dist/{chunk-OAEQLRCY.js → chunk-TN76AKO3.js} +5 -5
  204. package/dist/{chunk-QN25OCUF.js → chunk-TQ4GD737.js} +5 -5
  205. package/dist/{chunk-VCD4PSK2.js → chunk-TQZ4DVBC.js} +7 -4
  206. package/dist/chunk-TQZ4DVBC.js.map +1 -0
  207. package/dist/{chunk-7K5Q6COX.js → chunk-TVVEYCNW.js} +4 -4
  208. package/dist/{chunk-DNWXFTLD.js → chunk-TYISDI6B.js} +2 -2
  209. package/dist/{chunk-4LMA77JH.js → chunk-U2VLVBBH.js} +3 -3
  210. package/dist/{chunk-5ZE7QHTK.js → chunk-ULVR5KG7.js} +5 -5
  211. package/dist/{chunk-NVRYW264.js → chunk-UQWIKLQK.js} +18 -15
  212. package/dist/chunk-UQWIKLQK.js.map +1 -0
  213. package/dist/{chunk-YV32N67O.js → chunk-URS5GSM7.js} +1 -1
  214. package/dist/chunk-URS5GSM7.js.map +1 -0
  215. package/dist/{chunk-4B77XSG5.js → chunk-UV72DEZD.js} +5 -5
  216. package/dist/{chunk-S2BBISHU.js → chunk-VANZKHTN.js} +3 -3
  217. package/dist/chunk-VHFXP27N.js +250 -0
  218. package/dist/chunk-VHFXP27N.js.map +1 -0
  219. package/dist/{chunk-3Y224NYC.js → chunk-VYISFWVX.js} +2 -2
  220. package/dist/{chunk-TIHMZFIV.js → chunk-W3IC7QOY.js} +3 -3
  221. package/dist/{chunk-NRV4Y3PM.js → chunk-W4FBGYGK.js} +1 -1
  222. package/dist/{chunk-P2BM76KT.js → chunk-WAS4HV46.js} +174 -43
  223. package/dist/chunk-WAS4HV46.js.map +1 -0
  224. package/dist/{chunk-57QKLRBV.js → chunk-WB7JSQCP.js} +2 -1
  225. package/dist/chunk-WB7JSQCP.js.map +1 -0
  226. package/dist/chunk-WGP57SR3.js +68 -0
  227. package/dist/chunk-WGP57SR3.js.map +1 -0
  228. package/dist/{chunk-ECK75GDJ.js → chunk-WQIHRA5F.js} +43 -24
  229. package/dist/chunk-WQIHRA5F.js.map +1 -0
  230. package/dist/{chunk-MU7ZHSZE.js → chunk-WZFAPHIK.js} +2 -2
  231. package/dist/{chunk-T2TTP3KU.js → chunk-X4IDNPOS.js} +2 -2
  232. package/dist/{chunk-BLAKS3CP.js → chunk-XL3TATMJ.js} +3 -3
  233. package/dist/{chunk-W4XJFLAL.js → chunk-XPRJSHNI.js} +2 -2
  234. package/dist/{chunk-5TFP4CUL.js → chunk-XQ3HXAQH.js} +14 -11
  235. package/dist/chunk-XQ3HXAQH.js.map +1 -0
  236. package/dist/{chunk-VWAXN2BN.js → chunk-XSFHWBQO.js} +93 -31
  237. package/dist/chunk-XSFHWBQO.js.map +1 -0
  238. package/dist/{chunk-DL7ZD3JH.js → chunk-XTAUXTDO.js} +14 -9
  239. package/dist/chunk-XTAUXTDO.js.map +1 -0
  240. package/dist/{chunk-JE7EK33X.js → chunk-Y7HRYCNW.js} +2 -2
  241. package/dist/{chunk-E6EE5B67.js → chunk-YK6BDDHP.js} +4 -4
  242. package/dist/{chunk-ES36HTSC.js → chunk-YLHM5BQQ.js} +3 -3
  243. package/dist/{chunk-RN7DY3FC.js → chunk-YMAQDHQM.js} +31 -12
  244. package/dist/chunk-YMAQDHQM.js.map +1 -0
  245. package/dist/{chunk-ULARSG5Z.js → chunk-YN6ASZUG.js} +10 -8
  246. package/dist/{chunk-ULARSG5Z.js.map → chunk-YN6ASZUG.js.map} +1 -1
  247. package/dist/{chunk-IKKWIPYN.js → chunk-YYQAKIDJ.js} +37 -1
  248. package/dist/chunk-YYQAKIDJ.js.map +1 -0
  249. package/dist/{chunk-BJKPPZ6Z.js → chunk-ZFGZ6PZ2.js} +2 -2
  250. package/dist/{chunk-CJ2ZR7UA.js → chunk-ZI32MKDW.js} +267 -214
  251. package/dist/chunk-ZI32MKDW.js.map +1 -0
  252. package/dist/{chunk-64UDOIMI.js → chunk-ZLQ37WJX.js} +2 -2
  253. package/dist/chunk-ZMAYKGPN.js +351 -0
  254. package/dist/chunk-ZMAYKGPN.js.map +1 -0
  255. package/dist/{cli-BUGN3d6_.d.ts → cli-BBHDtG36.d.ts} +5 -5
  256. package/dist/cli.d.ts +16 -12
  257. package/dist/cli.js +138 -124
  258. package/dist/compounding/engine.d.ts +3 -2
  259. package/dist/compounding/engine.js +24 -23
  260. package/dist/compounding/preference-consolidator.d.ts +2 -1
  261. package/dist/compression-optimizer.d.ts +2 -1
  262. package/dist/config.d.ts +2 -1
  263. package/dist/config.js +10 -8
  264. package/dist/connectors/codex-materialize-runner.d.ts +2 -1
  265. package/dist/connectors/codex-materialize-runner.js +23 -22
  266. package/dist/connectors/codex-materialize.d.ts +2 -1
  267. package/dist/connectors/index.d.ts +2 -1
  268. package/dist/connectors/index.js +26 -25
  269. package/dist/consolidation-provenance-check.d.ts +3 -2
  270. package/dist/consolidation-provenance-check.js +4 -4
  271. package/dist/consolidation-undo.d.ts +3 -2
  272. package/dist/consolidation-undo.js +10 -7
  273. package/dist/consolidation-undo.js.map +1 -1
  274. package/dist/contradiction/index.d.ts +3 -2
  275. package/dist/converge-config.d.ts +2 -1
  276. package/dist/convergence-refresh.d.ts +4 -3
  277. package/dist/convergence-refresh.js +27 -26
  278. package/dist/conversation-index/backend.d.ts +2 -1
  279. package/dist/conversation-index/backend.js +2 -2
  280. package/dist/conversation-index/chunker.d.ts +2 -1
  281. package/dist/conversation-index/faiss-adapter.d.ts +2 -1
  282. package/dist/conversation-index/indexer.d.ts +2 -1
  283. package/dist/conversation-index/search.d.ts +2 -1
  284. package/dist/corpus-watermark.d.ts +2 -1
  285. package/dist/corpus-watermark.js +42 -41
  286. package/dist/day-summary.d.ts +2 -1
  287. package/dist/delinearize.d.ts +2 -1
  288. package/dist/direct-answer-wiring.d.ts +2 -1
  289. package/dist/direct-answer-wiring.js +2 -2
  290. package/dist/direct-answer.d.ts +2 -1
  291. package/dist/embedding-fallback.d.ts +2 -1
  292. package/dist/embedding-fallback.js +2 -2
  293. package/dist/enrichment/index.d.ts +2 -1
  294. package/dist/entity-retrieval-boundaries.js +1 -1
  295. package/dist/entity-retrieval.d.ts +3 -2
  296. package/dist/entity-retrieval.js +24 -23
  297. package/dist/entity-schema.d.ts +2 -1
  298. package/dist/explicit-capture.d.ts +9 -8
  299. package/dist/explicit-capture.js +11 -9
  300. package/dist/external-wiki-access.d.ts +127 -0
  301. package/dist/external-wiki-access.js +186 -0
  302. package/dist/external-wiki-access.js.map +1 -0
  303. package/dist/external-wiki-cli.d.ts +13 -0
  304. package/dist/external-wiki-cli.js +96 -0
  305. package/dist/external-wiki-cli.js.map +1 -0
  306. package/dist/external-wiki-collection-registration.d.ts +39 -0
  307. package/dist/external-wiki-collection-registration.js +79 -0
  308. package/dist/external-wiki-collection-registration.js.map +1 -0
  309. package/dist/external-wiki-collection.d.ts +50 -0
  310. package/dist/external-wiki-collection.js +387 -0
  311. package/dist/external-wiki-collection.js.map +1 -0
  312. package/dist/external-wiki-config.d.ts +13 -0
  313. package/dist/external-wiki-config.js +13 -0
  314. package/dist/external-wiki-config.js.map +1 -0
  315. package/dist/external-wiki-guard.d.ts +11 -0
  316. package/dist/external-wiki-guard.js +18 -0
  317. package/dist/external-wiki-guard.js.map +1 -0
  318. package/dist/external-wiki-mcp-tools.d.ts +123 -0
  319. package/dist/external-wiki-mcp-tools.js +8 -0
  320. package/dist/external-wiki-mcp-tools.js.map +1 -0
  321. package/dist/external-wiki-search.d.ts +42 -0
  322. package/dist/external-wiki-search.js +11 -0
  323. package/dist/external-wiki-search.js.map +1 -0
  324. package/dist/external-wiki.d.ts +43 -0
  325. package/dist/external-wiki.js +16 -0
  326. package/dist/external-wiki.js.map +1 -0
  327. package/dist/extraction-error-classification.d.ts +2 -1
  328. package/dist/extraction-faithfulness.d.ts +2 -1
  329. package/dist/extraction-judge-telemetry.d.ts +2 -1
  330. package/dist/extraction-judge-training.d.ts +2 -1
  331. package/dist/extraction-judge.d.ts +2 -1
  332. package/dist/extraction-liveness.d.ts +2 -1
  333. package/dist/extraction-source-grounding-helpers.d.ts +5 -3
  334. package/dist/extraction-source-grounding-helpers.js +1 -1
  335. package/dist/extraction-source-grounding-rules.d.ts +2 -1
  336. package/dist/extraction-source-grounding-rules.js +2 -2
  337. package/dist/extraction-source-grounding.d.ts +2 -1
  338. package/dist/extraction-source-grounding.js +5 -5
  339. package/dist/extraction.d.ts +2 -1
  340. package/dist/extraction.js +45 -43
  341. package/dist/fallback-llm.d.ts +2 -1
  342. package/dist/graph-dashboard-diff.d.ts +2 -1
  343. package/dist/graph-dashboard-key.d.ts +2 -1
  344. package/dist/graph-dashboard-parser.d.ts +2 -1
  345. package/dist/graph-edge-reinforcement.d.ts +2 -1
  346. package/dist/graph-snapshot.d.ts +2 -1
  347. package/dist/graph.d.ts +2 -1
  348. package/dist/harmonic-retrieval.js +2 -2
  349. package/dist/importance.d.ts +2 -1
  350. package/dist/importers/index.d.ts +2 -1
  351. package/dist/in-flight-reads.d.ts +2 -1
  352. package/dist/index.d.ts +732 -720
  353. package/dist/index.js +291 -259
  354. package/dist/intent.d.ts +2 -1
  355. package/dist/lcm/engine.d.ts +2 -1
  356. package/dist/lcm/engine.js +3 -3
  357. package/dist/lcm/index.d.ts +2 -1
  358. package/dist/lcm/index.js +8 -8
  359. package/dist/lcm/tools.d.ts +2 -1
  360. package/dist/lifecycle.d.ts +2 -1
  361. package/dist/live-connectors-runner.d.ts +2 -1
  362. package/dist/local-llm.d.ts +2 -1
  363. package/dist/local-llm.js +2 -2
  364. package/dist/local-model-endpoint.d.ts +2 -1
  365. package/dist/maintenance/memory-governance.d.ts +2 -1
  366. package/dist/maintenance/memory-governance.js +24 -23
  367. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +3 -2
  368. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +24 -23
  369. package/dist/maintenance/rebuild-memory-projection.d.ts +3 -2
  370. package/dist/maintenance/rebuild-memory-projection.js +26 -25
  371. package/dist/{maintenance-LbuS2rUA.d.ts → maintenance-D2mveyCd.d.ts} +3 -3
  372. package/dist/mcp-memory-inspector-app.d.ts +14 -10
  373. package/dist/mcp-read-only-tools.js +1 -1
  374. package/dist/memory-action-policy.d.ts +2 -1
  375. package/dist/memory-cache.d.ts +2 -1
  376. package/dist/memory-lifecycle-ledger-utils.d.ts +2 -1
  377. package/dist/memory-projection-store.d.ts +2 -1
  378. package/dist/memory-provenance.d.ts +2 -1
  379. package/dist/memory-worth-outcomes.d.ts +3 -2
  380. package/dist/models-json.d.ts +2 -1
  381. package/dist/namespaces/migrate.d.ts +4 -3
  382. package/dist/namespaces/migrate.js +40 -39
  383. package/dist/namespaces/principal.d.ts +2 -1
  384. package/dist/namespaces/search.d.ts +2 -1
  385. package/dist/namespaces/search.js +18 -18
  386. package/dist/namespaces/storage.d.ts +4 -3
  387. package/dist/namespaces/storage.js +23 -22
  388. package/dist/native-knowledge.d.ts +2 -1
  389. package/dist/offline-sync-impression-drain.d.ts +2 -1
  390. package/dist/offline-sync-impression-drain.js +11 -9
  391. package/dist/offline-sync.d.ts +29 -3
  392. package/dist/offline-sync.js +6 -2
  393. package/dist/operator-doctor-corpus.d.ts +2 -1
  394. package/dist/operator-doctor-corpus.js +45 -44
  395. package/dist/operator-doctor-replica.d.ts +2 -1
  396. package/dist/operator-doctor-replica.js +3 -3
  397. package/dist/operator-toolkit.d.ts +4 -3
  398. package/dist/operator-toolkit.js +59 -55
  399. package/dist/orchestration/compression-guideline-coordinator.d.ts +3 -2
  400. package/dist/orchestration/maintenance.d.ts +5 -4
  401. package/dist/orchestration/maintenance.js +36 -33
  402. package/dist/{orchestrator-rHiWt32X.d.ts → orchestrator-DJYlwiUv.d.ts} +14 -7
  403. package/dist/orchestrator.d.ts +9 -8
  404. package/dist/orchestrator.js +201 -189
  405. package/dist/page-versioning.js +3 -3
  406. package/dist/patterns-cli.d.ts +2 -1
  407. package/dist/{pipeline-W_97O8BV.d.ts → pipeline-CNjY4wk3.d.ts} +1 -1
  408. package/dist/policy-runtime.d.ts +2 -1
  409. package/dist/policy-runtime.js +1 -1
  410. package/dist/proactive-contention.d.ts +2 -1
  411. package/dist/provenance.d.ts +2 -1
  412. package/dist/provenance.js +2 -2
  413. package/dist/{qmd-LWtMofAf.d.ts → qmd-C0UDZidt.d.ts} +9 -7
  414. package/dist/qmd-preflight.d.ts +5 -4
  415. package/dist/qmd-preflight.js +2 -2
  416. package/dist/qmd-recall-cache.d.ts +2 -1
  417. package/dist/qmd.d.ts +4 -3
  418. package/dist/qmd.js +5 -5
  419. package/dist/recall-concurrency-config.d.ts +2 -1
  420. package/dist/recall-disclosure-escalation.d.ts +2 -1
  421. package/dist/recall-explain-renderer.d.ts +2 -1
  422. package/dist/recall-explain-renderer.js +3 -3
  423. package/dist/recall-memory-map.d.ts +2 -1
  424. package/dist/recall-planner-llm.d.ts +2 -1
  425. package/dist/recall-state.d.ts +2 -1
  426. package/dist/recall-tag-filter.d.ts +2 -1
  427. package/dist/recall-timings.d.ts +2 -1
  428. package/dist/recall-xray-cli.d.ts +2 -1
  429. package/dist/recall-xray-cli.js +4 -4
  430. package/dist/recall-xray-renderer.d.ts +2 -1
  431. package/dist/recall-xray-renderer.js +3 -3
  432. package/dist/recall-xray.d.ts +8 -1
  433. package/dist/recall-xray.js +2 -2
  434. package/dist/reconcile/cursor.d.ts +12 -2
  435. package/dist/reconcile/cursor.js +46 -7
  436. package/dist/reconcile/cursor.js.map +1 -1
  437. package/dist/reconcile/manifest.d.ts +9 -2
  438. package/dist/reconcile/manifest.js +15 -268
  439. package/dist/reconcile/manifest.js.map +1 -1
  440. package/dist/reconcile/plan.d.ts +6 -2
  441. package/dist/reconcile/plan.js +4 -4
  442. package/dist/replay/normalizers/chatgpt.d.ts +2 -1
  443. package/dist/replay/normalizers/claude.d.ts +2 -1
  444. package/dist/replay/normalizers/openclaw.d.ts +2 -1
  445. package/dist/replay/normalizers/shared.d.ts +2 -1
  446. package/dist/replay/runner.d.ts +2 -1
  447. package/dist/replay/types.d.ts +2 -1
  448. package/dist/replica-divergence.d.ts +2 -1
  449. package/dist/replica-divergence.js +2 -2
  450. package/dist/replica-peers-config.d.ts +2 -1
  451. package/dist/resolve-auth-token.d.ts +2 -1
  452. package/dist/resume-bundles.js +12 -10
  453. package/dist/retrieval-agents.d.ts +4 -3
  454. package/dist/retrieval-agents.js +2 -2
  455. package/dist/retrieval-tiers.d.ts +2 -1
  456. package/dist/routing/engine.d.ts +2 -1
  457. package/dist/routing/store.d.ts +2 -1
  458. package/dist/salvage-envelope.d.ts +2 -1
  459. package/dist/schemas.d.ts +76 -76
  460. package/dist/{scope-profiles-BiQKOE-p.d.ts → scope-profiles-BJzp2F5A.d.ts} +1 -1
  461. package/dist/search/embed-helper.d.ts +2 -1
  462. package/dist/search/embed-helper.js +3 -3
  463. package/dist/search/factory.d.ts +4 -2
  464. package/dist/search/factory.js +20 -18
  465. package/dist/search/index.d.ts +2 -1
  466. package/dist/search/index.js +22 -22
  467. package/dist/search/lancedb-backend.d.ts +2 -1
  468. package/dist/search/lancedb-backend.js +4 -4
  469. package/dist/search/meilisearch-backend.d.ts +2 -1
  470. package/dist/search/meilisearch-backend.js +4 -4
  471. package/dist/search/noop-backend.d.ts +2 -1
  472. package/dist/search/orama-backend.d.ts +2 -1
  473. package/dist/search/orama-backend.js +4 -4
  474. package/dist/search/port.d.ts +18 -1
  475. package/dist/search/port.js +1 -1
  476. package/dist/search/remote-backend.d.ts +2 -1
  477. package/dist/search/remote-backend.js +2 -2
  478. package/dist/secure-store/index.js +2 -2
  479. package/dist/{semantic-consolidation-dHYCyqgh.d.ts → semantic-consolidation-D4KAZO2G.d.ts} +1 -1
  480. package/dist/semantic-consolidation.d.ts +3 -2
  481. package/dist/semantic-consolidation.js +25 -24
  482. package/dist/semantic-rule-promotion.js +23 -22
  483. package/dist/semantic-rule-verifier.d.ts +2 -1
  484. package/dist/semantic-rule-verifier.js +24 -23
  485. package/dist/{service-DJG3KCQ4.d.ts → service-BeDxSqE-.d.ts} +2 -2
  486. package/dist/session-observer-bands.d.ts +2 -1
  487. package/dist/session-observer-state.d.ts +2 -1
  488. package/dist/shared-context/manager.d.ts +10 -9
  489. package/dist/shared-context/manager.js +2 -2
  490. package/dist/signal.d.ts +2 -1
  491. package/dist/source-agent-qualifier.d.ts +2 -1
  492. package/dist/source-agent-qualifier.js +42 -40
  493. package/dist/{storage-F9FVh-w9.d.ts → storage-DfjxusTE.d.ts} +24 -12
  494. package/dist/storage.d.ts +3 -2
  495. package/dist/storage.js +25 -24
  496. package/dist/summarizer.d.ts +2 -1
  497. package/dist/summarizer.js +5 -5
  498. package/dist/summary-snapshot.d.ts +2 -1
  499. package/dist/temporal-supersession.d.ts +3 -2
  500. package/dist/temporal-timeline-recall.d.ts +2 -1
  501. package/dist/temporal-validity.d.ts +2 -1
  502. package/dist/threading.d.ts +2 -1
  503. package/dist/tier-migration.d.ts +3 -2
  504. package/dist/tier-routing.d.ts +2 -1
  505. package/dist/tool-scoped-memory.d.ts +5 -1
  506. package/dist/tool-scoped-memory.js +3 -1
  507. package/dist/topics.d.ts +2 -1
  508. package/dist/transcript.d.ts +2 -1
  509. package/dist/transfer/capsule-import.js +4 -4
  510. package/dist/transfer/types.d.ts +66 -66
  511. package/dist/trust-score-stage.d.ts +2 -1
  512. package/dist/trust-score.d.ts +2 -1
  513. package/dist/{types-rEwubvim.d.ts → types-yX_FwERf.d.ts} +8 -1
  514. package/dist/types.d.ts +2 -1
  515. package/dist/types.js +1 -1
  516. package/dist/utility-runtime.d.ts +2 -1
  517. package/dist/verified-recall.js +24 -23
  518. package/dist/write-envelope.d.ts +2 -1
  519. package/package.json +2 -2
  520. package/src/abort-error.ts +17 -0
  521. package/src/access-admin-ops-surface.ts +1 -0
  522. package/src/access-boundary.ts +1 -0
  523. package/src/access-coding-context-resolution.ts +42 -0
  524. package/src/access-extraction-force-flush.ts +38 -2
  525. package/src/access-http-lcm-compaction.ts +5 -2
  526. package/src/access-http-offline-stream.ts +79 -0
  527. package/src/access-http.test.ts +310 -3
  528. package/src/access-http.ts +85 -21
  529. package/src/access-mcp-output-schemas.ts +36 -0
  530. package/src/access-mcp.test.ts +95 -1
  531. package/src/access-mcp.ts +7 -9
  532. package/src/access-observe-helpers.ts +64 -22
  533. package/src/access-observe-write-surface.ts +8 -0
  534. package/src/access-offline-manifest.ts +54 -0
  535. package/src/access-operations-batch.ts +3 -3
  536. package/src/access-operations.ts +13 -7
  537. package/src/access-recall-concurrency.ts +3 -27
  538. package/src/access-recall-surface.ts +3 -0
  539. package/src/access-service-health.test.ts +32 -7
  540. package/src/access-service-namespace.test.ts +55 -0
  541. package/src/access-service-observe-idempotency.test.ts +34 -2
  542. package/src/access-service-observe-lcm-parity.test.ts +138 -3
  543. package/src/access-service-observe-scope.test.ts +160 -1
  544. package/src/access-service-offline-file-content.test.ts +345 -1
  545. package/src/access-service.ts +86 -59
  546. package/src/access-surface-catalog.ts +4 -0
  547. package/src/admin/admin-surfaces.ts +2 -0
  548. package/src/binary-lifecycle/pipeline.test.ts +106 -1
  549. package/src/binary-lifecycle/pipeline.ts +3 -0
  550. package/src/coding/git-context.test.ts +47 -0
  551. package/src/coding/git-context.ts +129 -27
  552. package/src/config.test.ts +24 -0
  553. package/src/config.ts +9 -12
  554. package/src/connector-provenance.test.ts +101 -0
  555. package/src/consolidation-undo.ts +3 -0
  556. package/src/converge-conflict-policy-type.test.ts +15 -0
  557. package/src/convergence-refresh.ts +14 -2
  558. package/src/correction/correction-access-wiring.ts +9 -7
  559. package/src/correction/correction-executor.test.ts +206 -2
  560. package/src/correction/correction-executor.ts +29 -20
  561. package/src/correction/correction-planner.test.ts +36 -0
  562. package/src/correction/correction-planner.ts +9 -15
  563. package/src/correction/correction-service.ts +3 -1
  564. package/src/correction/correction-storage-integration.test.ts +77 -0
  565. package/src/correction/correction-surfaces.test.ts +41 -28
  566. package/src/correction/passive-capture.test.ts +59 -0
  567. package/src/correction/passive-capture.ts +4 -1
  568. package/src/entity-retrieval-boundaries.ts +17 -4
  569. package/src/entity-retrieval.ts +27 -6
  570. package/src/external-wiki-access.test.ts +65 -0
  571. package/src/external-wiki-access.ts +31 -0
  572. package/src/external-wiki-cli.ts +92 -0
  573. package/src/external-wiki-collection-registration.test.ts +163 -0
  574. package/src/external-wiki-collection-registration.ts +101 -0
  575. package/src/external-wiki-collection.test.ts +502 -0
  576. package/src/external-wiki-collection.ts +503 -0
  577. package/src/external-wiki-config.test.ts +135 -0
  578. package/src/external-wiki-config.ts +100 -0
  579. package/src/external-wiki-guard.ts +83 -0
  580. package/src/external-wiki-mcp-tools.ts +23 -0
  581. package/src/external-wiki-search.test.ts +301 -0
  582. package/src/external-wiki-search.ts +362 -0
  583. package/src/external-wiki.test.ts +240 -0
  584. package/src/external-wiki.ts +453 -0
  585. package/src/extraction-scope-source-agent.test.ts +21 -0
  586. package/src/extraction-source-grounding-helpers.ts +243 -53
  587. package/src/extraction-source-grounding-rules.ts +133 -39
  588. package/src/extraction-source-grounding.test.ts +363 -33
  589. package/src/extraction-timeout.test.ts +1 -0
  590. package/src/extraction-watermark.test.ts +150 -7
  591. package/src/extraction.ts +8 -1
  592. package/src/index.ts +8 -0
  593. package/src/mcp-read-only-tools.ts +1 -0
  594. package/src/offline-sync.test.ts +194 -0
  595. package/src/offline-sync.ts +217 -13
  596. package/src/orchestration/external-wiki-recall-guard.test.ts +94 -0
  597. package/src/orchestration/extraction-persist.ts +19 -2
  598. package/src/orchestration/extraction-run-helpers.ts +37 -19
  599. package/src/orchestration/extraction-run.test.ts +171 -2
  600. package/src/orchestration/extraction-run.ts +11 -13
  601. package/src/orchestration/extraction-watermark.ts +106 -17
  602. package/src/orchestration/generic-recall-paths.ts +14 -0
  603. package/src/orchestration/orchestrator-helpers.ts +2 -0
  604. package/src/orchestration/orchestrator-init.ts +9 -0
  605. package/src/orchestration/recall-internal-deps.ts +6 -0
  606. package/src/orchestration/recall-internal.ts +154 -33
  607. package/src/orchestration/recall-rerank-coordinator.ts +60 -25
  608. package/src/orchestration/recall-search-pipeline.test.ts +75 -1
  609. package/src/orchestration/recall-search-pipeline.ts +50 -10
  610. package/src/orchestrator-convergence-refresh.test.ts +36 -2
  611. package/src/orchestrator.ts +13 -3
  612. package/src/page-versioning.ts +5 -19
  613. package/src/procedural/procedure-recall.ts +5 -1
  614. package/src/provenance-surfaces.test.ts +3 -0
  615. package/src/qmd-client.test.ts +78 -17
  616. package/src/qmd.test.ts +24 -0
  617. package/src/qmd.ts +224 -315
  618. package/src/recall-explain-renderer.ts +3 -0
  619. package/src/recall-rerank-coordinator.test.ts +61 -0
  620. package/src/recall-xray-renderer.test.ts +6 -0
  621. package/src/recall-xray.test.ts +88 -1
  622. package/src/recall-xray.ts +15 -0
  623. package/src/reconcile/cursor.test.ts +48 -0
  624. package/src/reconcile/cursor.ts +58 -11
  625. package/src/reconcile/manifest.test.ts +4 -0
  626. package/src/reconcile/manifest.ts +41 -51
  627. package/src/reconcile/plan.test.ts +4 -0
  628. package/src/reconcile/plan.ts +29 -16
  629. package/src/search/factory.ts +6 -6
  630. package/src/search/port.ts +25 -9
  631. package/src/secure-store/secure-fs.ts +20 -12
  632. package/src/secure-store/secure-store.test.ts +41 -2
  633. package/src/spaces/index.test.ts +61 -2
  634. package/src/spaces/index.ts +44 -18
  635. package/src/storage/entity-alias-config.ts +97 -0
  636. package/src/storage/entity-canonical-id-lock.ts +53 -23
  637. package/src/storage/entity-canonical-id-migration.ts +53 -22
  638. package/src/storage/entity-canonical-id-references.ts +3 -0
  639. package/src/storage/entity-id-safety.ts +7 -0
  640. package/src/storage/entity-store.ts +6 -2
  641. package/src/storage/memory-frontmatter-metadata.ts +4 -9
  642. package/src/storage/memory-migration-serialization.ts +10 -15
  643. package/src/storage/tombstone-blocked-capture-mutation.ts +52 -64
  644. package/src/storage/tombstone-blocked-capture-sync.ts +244 -199
  645. package/src/storage-deletion-revisions.test.ts +91 -0
  646. package/src/storage-fact-hash-index-defer.test.ts +446 -163
  647. package/src/storage.ts +534 -245
  648. package/src/tool-scoped-memory.ts +10 -0
  649. package/src/transfer/capsule-import.ts +13 -0
  650. package/src/transfer/capsule-merge.ts +13 -0
  651. package/src/trust-score-recall-paths.test.ts +75 -1
  652. package/src/types.ts +7 -3
  653. package/dist/capsule-merge-IDWJPCWK.js.map +0 -1
  654. package/dist/chunk-3CE77VAP.js.map +0 -1
  655. package/dist/chunk-3TBLDMJA.js.map +0 -1
  656. package/dist/chunk-4J7G5SY4.js.map +0 -1
  657. package/dist/chunk-4L6HUREQ.js.map +0 -1
  658. package/dist/chunk-57QKLRBV.js.map +0 -1
  659. package/dist/chunk-5TFP4CUL.js.map +0 -1
  660. package/dist/chunk-7XC2HX75.js.map +0 -1
  661. package/dist/chunk-A5OJCXZL.js.map +0 -1
  662. package/dist/chunk-BUE5E2HL.js.map +0 -1
  663. package/dist/chunk-CJ2ZR7UA.js.map +0 -1
  664. package/dist/chunk-CUM2BBPN.js.map +0 -1
  665. package/dist/chunk-D3J5SLQK.js.map +0 -1
  666. package/dist/chunk-DL7ZD3JH.js.map +0 -1
  667. package/dist/chunk-DLVPUX7U.js.map +0 -1
  668. package/dist/chunk-E6PNLPGJ.js.map +0 -1
  669. package/dist/chunk-ECK75GDJ.js.map +0 -1
  670. package/dist/chunk-HREE4JHI.js.map +0 -1
  671. package/dist/chunk-IKKWIPYN.js.map +0 -1
  672. package/dist/chunk-J7VGGECD.js.map +0 -1
  673. package/dist/chunk-N5Z4EVOR.js.map +0 -1
  674. package/dist/chunk-NVRYW264.js.map +0 -1
  675. package/dist/chunk-P2BM76KT.js.map +0 -1
  676. package/dist/chunk-PVGDJXVK.js +0 -21
  677. package/dist/chunk-QJAQNXWI.js.map +0 -1
  678. package/dist/chunk-RN7DY3FC.js.map +0 -1
  679. package/dist/chunk-RVLJEII5.js.map +0 -1
  680. package/dist/chunk-S2NCTZGJ.js.map +0 -1
  681. package/dist/chunk-TDHTVMPG.js.map +0 -1
  682. package/dist/chunk-UYLMNVY6.js.map +0 -1
  683. package/dist/chunk-VCD4PSK2.js.map +0 -1
  684. package/dist/chunk-VNA7W7QF.js.map +0 -1
  685. package/dist/chunk-VWAXN2BN.js.map +0 -1
  686. package/dist/chunk-WOCNN776.js.map +0 -1
  687. package/dist/chunk-XYTOI63Z.js.map +0 -1
  688. package/dist/chunk-YV32N67O.js.map +0 -1
  689. /package/dist/{auto-sync-5OE5QOZB.js.map → auto-sync-UPTUVE4X.js.map} +0 -0
  690. /package/dist/{chunk-VUPTKTDV.js.map → chunk-2MRHJNWL.js.map} +0 -0
  691. /package/dist/{chunk-JBPKEARU.js.map → chunk-2QSZNTDO.js.map} +0 -0
  692. /package/dist/{chunk-5IVLTFOV.js.map → chunk-44N6ESJ4.js.map} +0 -0
  693. /package/dist/{chunk-HO3QBJEY.js.map → chunk-5546W5SI.js.map} +0 -0
  694. /package/dist/{chunk-U7GW7NE7.js.map → chunk-5CEECY6P.js.map} +0 -0
  695. /package/dist/{chunk-4UH4BTGK.js.map → chunk-5SNZSWWR.js.map} +0 -0
  696. /package/dist/{chunk-6CZPDBJS.js.map → chunk-5U7ID3EZ.js.map} +0 -0
  697. /package/dist/{chunk-GF22HWS2.js.map → chunk-6NNNURLK.js.map} +0 -0
  698. /package/dist/{chunk-227UFSEQ.js.map → chunk-7RZJWZ46.js.map} +0 -0
  699. /package/dist/{chunk-E5UK4VPE.js.map → chunk-7SHJHPTY.js.map} +0 -0
  700. /package/dist/{chunk-UVIKWC7M.js.map → chunk-7YERSTN7.js.map} +0 -0
  701. /package/dist/{chunk-S5SLVSVY.js.map → chunk-BQIFZ2MP.js.map} +0 -0
  702. /package/dist/{chunk-E53DSZEN.js.map → chunk-C26TE27X.js.map} +0 -0
  703. /package/dist/{chunk-LZ4LDKHZ.js.map → chunk-CLB32OHM.js.map} +0 -0
  704. /package/dist/{chunk-Q6IP2ARR.js.map → chunk-CSOYVTRX.js.map} +0 -0
  705. /package/dist/{chunk-XOQSEF7X.js.map → chunk-CVILPI77.js.map} +0 -0
  706. /package/dist/{chunk-PDLBLTOK.js.map → chunk-EITZHSX6.js.map} +0 -0
  707. /package/dist/{chunk-WUNIWKY4.js.map → chunk-ELIL2A37.js.map} +0 -0
  708. /package/dist/{chunk-CINZGPSJ.js.map → chunk-GUMZC2BO.js.map} +0 -0
  709. /package/dist/{chunk-H24WNPA2.js.map → chunk-GWFSVJ4P.js.map} +0 -0
  710. /package/dist/{chunk-TSH56VPU.js.map → chunk-HAYSYUAB.js.map} +0 -0
  711. /package/dist/{chunk-PKNLM44P.js.map → chunk-JH6BPLOP.js.map} +0 -0
  712. /package/dist/{chunk-KXB4VXHY.js.map → chunk-JIYDRBVZ.js.map} +0 -0
  713. /package/dist/{chunk-AV5ZEH4M.js.map → chunk-KVJRXN2E.js.map} +0 -0
  714. /package/dist/{chunk-JVLCVFQ4.js.map → chunk-KXEFRMCF.js.map} +0 -0
  715. /package/dist/{chunk-WFTIGIIS.js.map → chunk-L6CQ7WIW.js.map} +0 -0
  716. /package/dist/{chunk-EJUEXZHX.js.map → chunk-LLJMAULE.js.map} +0 -0
  717. /package/dist/{chunk-AS7YMSL6.js.map → chunk-M23RF3LJ.js.map} +0 -0
  718. /package/dist/{chunk-3F2LKUMU.js.map → chunk-NIS256NW.js.map} +0 -0
  719. /package/dist/{chunk-YIAA2X3D.js.map → chunk-NK5RGJ65.js.map} +0 -0
  720. /package/dist/{chunk-OQ5PRDDS.js.map → chunk-NTOIP2E6.js.map} +0 -0
  721. /package/dist/{chunk-HLPD7B7P.js.map → chunk-NUEQKLNB.js.map} +0 -0
  722. /package/dist/{chunk-33PLLLL7.js.map → chunk-P7NGM24P.js.map} +0 -0
  723. /package/dist/{chunk-7TWUCYER.js.map → chunk-PNRA7FAD.js.map} +0 -0
  724. /package/dist/{chunk-5I4M26Q7.js.map → chunk-QBSFOKY6.js.map} +0 -0
  725. /package/dist/{chunk-P4DRWEYC.js.map → chunk-QVSBTCVP.js.map} +0 -0
  726. /package/dist/{chunk-AAIUERNB.js.map → chunk-R5RFK3CB.js.map} +0 -0
  727. /package/dist/{chunk-WDISJRMG.js.map → chunk-RMMVQQA6.js.map} +0 -0
  728. /package/dist/{chunk-5SM35XZR.js.map → chunk-S5NZBKKQ.js.map} +0 -0
  729. /package/dist/{chunk-WIPEXG6R.js.map → chunk-SXIMQLGV.js.map} +0 -0
  730. /package/dist/{chunk-OAEQLRCY.js.map → chunk-TN76AKO3.js.map} +0 -0
  731. /package/dist/{chunk-QN25OCUF.js.map → chunk-TQ4GD737.js.map} +0 -0
  732. /package/dist/{chunk-7K5Q6COX.js.map → chunk-TVVEYCNW.js.map} +0 -0
  733. /package/dist/{chunk-DNWXFTLD.js.map → chunk-TYISDI6B.js.map} +0 -0
  734. /package/dist/{chunk-4LMA77JH.js.map → chunk-U2VLVBBH.js.map} +0 -0
  735. /package/dist/{chunk-5ZE7QHTK.js.map → chunk-ULVR5KG7.js.map} +0 -0
  736. /package/dist/{chunk-4B77XSG5.js.map → chunk-UV72DEZD.js.map} +0 -0
  737. /package/dist/{chunk-S2BBISHU.js.map → chunk-VANZKHTN.js.map} +0 -0
  738. /package/dist/{chunk-3Y224NYC.js.map → chunk-VYISFWVX.js.map} +0 -0
  739. /package/dist/{chunk-TIHMZFIV.js.map → chunk-W3IC7QOY.js.map} +0 -0
  740. /package/dist/{chunk-NRV4Y3PM.js.map → chunk-W4FBGYGK.js.map} +0 -0
  741. /package/dist/{chunk-MU7ZHSZE.js.map → chunk-WZFAPHIK.js.map} +0 -0
  742. /package/dist/{chunk-T2TTP3KU.js.map → chunk-X4IDNPOS.js.map} +0 -0
  743. /package/dist/{chunk-BLAKS3CP.js.map → chunk-XL3TATMJ.js.map} +0 -0
  744. /package/dist/{chunk-W4XJFLAL.js.map → chunk-XPRJSHNI.js.map} +0 -0
  745. /package/dist/{chunk-JE7EK33X.js.map → chunk-Y7HRYCNW.js.map} +0 -0
  746. /package/dist/{chunk-E6EE5B67.js.map → chunk-YK6BDDHP.js.map} +0 -0
  747. /package/dist/{chunk-ES36HTSC.js.map → chunk-YLHM5BQQ.js.map} +0 -0
  748. /package/dist/{chunk-BJKPPZ6Z.js.map → chunk-ZFGZ6PZ2.js.map} +0 -0
  749. /package/dist/{chunk-64UDOIMI.js.map → chunk-ZLQ37WJX.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/extraction-source-grounding-helpers.ts"],"sourcesContent":["export function isInterrogativeSourceSentence(sentence: string): boolean {\n const normalized = sentence.trim();\n const embeddedQuestionVerbIndex = normalized.search(\n /\\b(?:determine|know|wonder|ask(?:ed)?|question|decide|check|confirm|find|figure|understand|unclear)\\b/iu,\n );\n const embeddedQuestionMarkerIndex = normalized.search(/\\b(?:whether|if)\\b/iu);\n const hasEmbeddedQuestion = embeddedQuestionVerbIndex >= 0\n && embeddedQuestionMarkerIndex > embeddedQuestionVerbIndex;\n return normalized.endsWith(\"?\")\n || hasEmbeddedQuestion\n || (\n !normalized.includes(\":\")\n && /^(?: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|whom)\\b/iu.test(\n normalized,\n )\n );\n}\n\nexport function containsContiguousGroundingTokens(\n candidateTokens: ReadonlyArray<string>,\n sourceTokens: ReadonlyArray<string>,\n): boolean {\n if (candidateTokens.length === 0 || candidateTokens.length > sourceTokens.length) return false;\n return sourceTokens.some((_, start) =>\n candidateTokens.every((token, offset) => sourceTokens[start + offset] === token),\n );\n}\n\nexport function hasExplicitRoleSubjectToken(\n candidateRole: string | undefined,\n sourceTokensBySentence: ReadonlyArray<ReadonlyArray<string>>,\n): boolean {\n return candidateRole !== undefined\n && sourceTokensBySentence.some((tokens) =>\n tokens.some((token) => token.replace(/^[\\u0000\\u0001]/u, \"\") === candidateRole));\n}\n\nexport function splitGroundingClauses(\n sentences: ReadonlyArray<string>,\n inheritCoordinatedSubjects = false,\n): string[] {\n return sentences.flatMap((sentence) => {\n const clauses = sentence\n .split(/,\\s+(?=[\\p{L}][\\p{L}\\p{N}'’-]*\\s+\\S)/gu)\n .flatMap((commaClause) =>\n commaClause\n .split(/\\s*(?::|[—–])\\s+|\\s+\\/\\s+/u)\n .flatMap((delimiterClause) =>\n delimiterClause\n .split(/\\s+(?:and|but|or|while|although|because)\\s+/gu)\n .map((clause) => clause.trim())\n .filter((clause) => clause.length > 0),\n ),\n );\n if (!inheritCoordinatedSubjects || clauses.length < 2) return clauses;\n\n const firstLexemes = groundingLexemes(clauses[0]!)\n .filter(({ token }) => GROUNDING_STOPWORDS[token] !== true);\n const firstPredicateIndex = firstLexemes.findIndex(({ isPredicate }) => isPredicate);\n let subjectLexemes = firstLexemes\n .slice(0, firstPredicateIndex < 1 ? 1 : firstPredicateIndex)\n .filter(({ token }) => !token.endsWith(\"ly\"));\n let subject = subjectLexemes.map(({ surface }) => surface).join(\" \");\n let predicate = firstLexemes[firstPredicateIndex < 1 ? 1 : firstPredicateIndex]?.surface;\n if (subject.length === 0 || predicate === undefined) return clauses;\n\n const sourceSpans = [clauses[0]!];\n for (const clause of clauses.slice(1)) {\n const clauseLexemes = groundingLexemes(clause)\n .filter(({ token }) => GROUNDING_STOPWORDS[token] !== true);\n const clausePredicateIndex = clauseLexemes.findIndex(({ isPredicate }) => isPredicate);\n const clauseSubjectLexemes = clausePredicateIndex > 0\n ? clauseLexemes\n .slice(0, clausePredicateIndex)\n .filter(({ token }) => !token.endsWith(\"ly\"))\n : [];\n const repeatsSubject = clauseSubjectLexemes.length === subjectLexemes.length\n && subjectLexemes.every(\n ({ token }, index) => clauseSubjectLexemes[index]?.token === token,\n );\n if (repeatsSubject) {\n sourceSpans.push(clause);\n continue;\n }\n if (clauseSubjectLexemes.length > 0) {\n subjectLexemes = clauseSubjectLexemes;\n subject = subjectLexemes.map(({ surface }) => surface).join(\" \");\n predicate = clauseLexemes[clausePredicateIndex]?.surface;\n sourceSpans.push(clause);\n continue;\n }\n const prefix = clausePredicateIndex === -1 ? `${subject} ${predicate}` : subject;\n sourceSpans.push(clause, `${prefix} ${clause}`);\n }\n return sourceSpans;\n });\n}\n\nexport const GROUNDING_STOPWORDS: Record<string, true> = {\n a: true,\n an: true,\n and: true,\n are: true,\n as: true,\n at: true,\n be: true,\n been: true,\n being: true,\n but: true,\n by: true,\n can: true,\n could: true,\n did: true,\n do: true,\n does: true,\n for: true,\n from: true,\n had: true,\n has: true,\n have: true,\n he: true,\n her: true,\n here: true,\n hers: true,\n him: true,\n his: true,\n how: true,\n i: true,\n if: true,\n in: true,\n into: true,\n is: true,\n it: true,\n its: true,\n just: true,\n me: true,\n my: true,\n no: true,\n not: true,\n of: true,\n on: true,\n only: true,\n or: true,\n our: true,\n ours: true,\n she: true,\n so: true,\n than: true,\n that: true,\n the: true,\n their: true,\n them: true,\n then: true,\n there: true,\n these: true,\n they: true,\n this: true,\n those: true,\n to: true,\n too: true,\n under: true,\n up: true,\n us: true,\n very: true,\n was: true,\n we: true,\n were: true,\n what: true,\n when: true,\n why: true,\n where: true,\n which: true,\n who: true,\n whom: true,\n will: true,\n with: true,\n would: true,\n you: true,\n your: true,\n};\n\nexport const GROUNDING_NEGATION_TOKENS = new Set([\n \"no\",\n \"not\",\n \"false\",\n \"untrue\",\n \"incorrect\",\n \"wrong\",\n \"never\",\n \"without\",\n \"neither\",\n \"nor\",\n \"none\",\n \"cannot\",\n \"cant\",\n \"can't\",\n \"don't\",\n \"doesn't\",\n \"didn't\",\n \"isn't\",\n \"aren't\",\n \"wasn't\",\n \"weren't\",\n \"won't\",\n \"wouldn't\",\n \"couldn't\",\n \"shouldn't\",\n \"haven't\",\n \"hasn't\",\n \"hadn't\",\n]);\n\nexport const GROUNDING_AUXILIARY_TOKENS = new Set([\n \"am\",\n \"are\",\n \"be\",\n \"been\",\n \"being\",\n \"can\",\n \"could\",\n \"did\",\n \"do\",\n \"does\",\n \"had\",\n \"has\",\n \"have\",\n \"is\",\n \"was\",\n \"were\",\n \"will\",\n \"would\",\n \"should\",\n]);\n\nexport const GROUNDING_COPULAR_FORMS = new Set([\n \"am\",\n \"are\",\n \"be\",\n \"been\",\n \"being\",\n \"is\",\n \"was\",\n \"were\",\n]);\n\nexport const GROUNDING_SUBJECT_PRONOUNS = new Set([\n \"he\",\n \"she\",\n \"they\",\n \"it\",\n \"i\",\n \"we\",\n \"you\",\n]);\nexport const GROUNDING_ENTITY_TYPE_PREFIXES = new Set([\n \"person\",\n \"project\",\n \"tool\",\n \"company\",\n \"place\",\n \"other\",\n]);\n\nexport const GROUNDING_COMMON_VERB_FORMS: Record<string, true> = {\n add: true,\n adds: true,\n call: true,\n calls: true,\n contain: true,\n contains: true,\n employ: true,\n deploy: true,\n deploys: true,\n design: true,\n designs: true,\n employs: true,\n fill: true,\n fills: true,\n go: true,\n goes: true,\n gone: true,\n went: true,\n give: true,\n gives: true,\n has: true,\n host: true,\n hosts: true,\n like: true,\n likes: true,\n manage: true,\n manages: true,\n make: true,\n makes: true,\n need: true,\n needs: true,\n own: true,\n owns: true,\n plan: true,\n plans: true,\n prefer: true,\n prefers: true,\n require: true,\n requires: true,\n run: true,\n runs: true,\n sleep: true,\n sleeps: true,\n stop: true,\n stops: true,\n swim: true,\n swims: true,\n share: true,\n shares: true,\n support: true,\n supports: true,\n take: true,\n takes: true,\n try: true,\n tries: true,\n use: true,\n uses: true,\n want: true,\n wants: true,\n work: true,\n works: true,\n};\n\n\nexport interface GroundingLexeme {\n token: string;\n surface: string;\n isPredicate: boolean;\n preserveTerminalS: boolean;\n}\n\nexport function groundingLexemes(text: string): GroundingLexeme[] {\n const rawTokens = text.normalize(\"NFKC\").match(\n /[\\p{L}\\p{N}]+(?:['’][\\p{L}\\p{N}]+)?(?:\\+\\+[\\p{L}\\p{N}]*|#[\\p{L}\\p{N}]*)?/gu,\n ) ?? [];\n const tokens = rawTokens.map((rawToken) =>\n rawToken.replaceAll(\"’\", \"'\").toLocaleLowerCase());\n let predicateIndex = tokens.findIndex((token, index) => {\n const previousToken = tokens[index - 1];\n const followsAuxiliary = previousToken !== undefined\n && GROUNDING_AUXILIARY_TOKENS.has(previousToken);\n let previousMeaningfulIndex = index - 1;\n while (\n previousMeaningfulIndex >= 0\n && !GROUNDING_COPULAR_FORMS.has(tokens[previousMeaningfulIndex] ?? \"\")\n && (\n GROUNDING_STOPWORDS[tokens[previousMeaningfulIndex] ?? \"\"] === true\n || (tokens[previousMeaningfulIndex] ?? \"\").endsWith(\"ly\")\n )\n ) {\n previousMeaningfulIndex -= 1;\n }\n const followsCopularAuxiliary = GROUNDING_COPULAR_FORMS.has(\n tokens[previousMeaningfulIndex] ?? \"\",\n );\n const capitalized = /^\\p{Lu}/u.test(rawTokens[index] ?? \"\");\n const terminalSInflection = index > 0\n && token.endsWith(\"s\")\n && !token.endsWith(\"ss\")\n && !GROUNDING_AUXILIARY_TOKENS.has(token);\n const capitalizedSubjectHasLaterPredicate = index === 0\n && tokens.some((laterToken, laterIndex) =>\n laterIndex > 0\n && !/^\\p{Lu}/u.test(rawTokens[laterIndex] ?? \"\")\n && (\n GROUNDING_AUXILIARY_TOKENS.has(laterToken)\n || GROUNDING_COMMON_VERB_FORMS[laterToken] === true\n || laterToken.endsWith(\"ed\")\n || laterToken.endsWith(\"ing\")\n ));\n if (capitalized && (index !== 0 || capitalizedSubjectHasLaterPredicate)) return false;\n if (followsCopularAuxiliary && terminalSInflection) return false;\n return GROUNDING_COMMON_VERB_FORMS[token] === true\n || token.endsWith(\"ed\")\n || token.endsWith(\"ing\")\n || (followsAuxiliary && !followsCopularAuxiliary)\n || terminalSInflection;\n });\n if (predicateIndex === -1) {\n const leadingSubjectLength = rawTokens.findIndex((rawToken) => !/^\\p{Lu}/u.test(rawToken));\n if (leadingSubjectLength > 0) {\n predicateIndex = tokens.findIndex((token, index) =>\n index >= leadingSubjectLength\n && (\n GROUNDING_AUXILIARY_TOKENS.has(token)\n || (\n GROUNDING_STOPWORDS[token] !== true\n && !/^\\p{Lu}/u.test(rawTokens[index] ?? \"\")\n )\n ));\n }\n }\n return rawTokens.map((rawToken, index) => {\n const token = tokens[index]!;\n const isPredicate = index === predicateIndex;\n return {\n token,\n surface: rawToken,\n preserveTerminalS: !isPredicate && (\n /^\\p{Lu}/u.test(rawToken)\n || token.endsWith(\"s\")\n ),\n isPredicate,\n };\n });\n}\n\nexport function tokenSequence(text: string): string[] {\n return groundingLexemes(text).map(({ token }) => token);\n}\n\nexport function containsExactTokenSequence(candidate: string, source: string): boolean {\n const candidateTokens = tokenSequence(candidate);\n const sourceTokens = tokenSequence(source);\n if (candidateTokens.length === 0 || candidateTokens.length > sourceTokens.length) return false;\n return sourceTokens.some((_, index) =>\n candidateTokens.every((token, offset) => sourceTokens[index + offset] === token),\n );\n\n}\n\nexport function isNegationCue(token: string): boolean {\n return GROUNDING_NEGATION_TOKENS.has(token) || token.endsWith(\"n't\");\n}\n\nexport function isAttachedNegatedAuxiliary(token: string): boolean {\n return token.endsWith(\"n't\")\n || token === \"cannot\"\n || token === \"cant\"\n || token === \"can't\";\n}\n\nexport function isNegatedAt(tokens: ReadonlyArray<string>, index: number): boolean {\n if (tokens[index - 1] === \"only\" && tokens[index - 2] === \"not\") return false;\n const previousStart = Math.max(0, index - 2);\n for (let i = previousStart; i < index; i += 1) {\n if (isNegationCue(tokens[i])) return true;\n }\n\n if (tokens[index - 1] === \"than\" && tokens[index - 2] === \"rather\") return true;\n if (tokens[index - 1] === \"of\" && tokens[index - 2] === \"instead\") return true;\n\n const next = tokens[index + 1];\n if (next !== undefined && isAttachedNegatedAuxiliary(next)) return true;\n const nextNext = tokens[index + 2];\n return next !== undefined\n && nextNext !== undefined\n && GROUNDING_AUXILIARY_TOKENS.has(next)\n && isNegationCue(nextNext);\n}\n\nexport const GROUNDING_MIN_SHARED_TOKENS = 2;\nexport const GROUNDING_MIN_COVERAGE = 0.5;\n\nconst STRICT_GROUNDING_TOKEN_PREFIX = \"\\u0000\";\nconst INFLECTED_GROUNDING_TOKEN_PREFIX = \"\\u0001\";\n\nexport function stemToken(\n token: string,\n preserveTerminalS = false,\n markExact = false,\n): string {\n if (token.endsWith(\"'s\")) return token.slice(0, -2);\n if (preserveTerminalS) {\n if (!markExact) return token;\n return `${STRICT_GROUNDING_TOKEN_PREFIX}${token}`;\n }\n if (token.length > 5 && token.endsWith(\"ing\")) {\n const stem = token.slice(0, -3);\n const inflectionDoubled = /(.)\\1$/u.test(stem) && stem.length > 3 && !/[lsz]$/u.test(stem);\n const normalized = inflectionDoubled ? stem.slice(0, -1) : stem;\n return markExact ? `${INFLECTED_GROUNDING_TOKEN_PREFIX}${normalized}` : normalized;\n }\n if (token.length > 4 && token.endsWith(\"ied\")) {\n const normalized = `${token.slice(0, -3)}y`;\n return markExact ? `${INFLECTED_GROUNDING_TOKEN_PREFIX}${normalized}` : normalized;\n }\n if (token.length > 4 && token.endsWith(\"ed\")) {\n const stem = token.slice(0, -2);\n const inflectionDoubled = /(.)\\1$/u.test(stem) && stem.length > 3 && !/[lsz]$/u.test(stem);\n const normalized = inflectionDoubled ? stem.slice(0, -1) : stem;\n return markExact ? `${INFLECTED_GROUNDING_TOKEN_PREFIX}${normalized}` : normalized;\n }\n if (token.length > 3 && token.endsWith(\"s\") && !token.endsWith(\"ss\")) {\n return token.endsWith(\"ies\") ? `${token.slice(0, -3)}y` : token.slice(0, -1);\n }\n return token;\n}\n\n\nexport function tokenize(text: string): Set<string> {\n const tokens = new Set<string>();\n for (const { token, preserveTerminalS } of groundingLexemes(text)) {\n if (GROUNDING_STOPWORDS[token] !== true) tokens.add(stemToken(token, preserveTerminalS, true));\n }\n return tokens;\n}\n\nexport function normalizeForExactMatch(text: string): string {\n return text.normalize(\"NFKC\").toLocaleLowerCase().replace(/\\s+/gu, \" \").trim();\n}\n\nexport function sourceSentences(source: string): string[] {\n const sentences: string[] = [];\n let sentenceStart = 0;\n for (let index = 0; index < source.length; index += 1) {\n const character = source[index];\n const nextCharacter = source[index + 1];\n const boundary = character === \"!\"\n || character === \"?\"\n || character === \";\"\n || character === \"\\n\"\n || (character === \".\" && (\n nextCharacter === undefined\n || /\\s/u.test(nextCharacter)\n || /[\"')\\]}]/u.test(nextCharacter)\n ));\n if (!boundary) continue;\n let sentenceEnd = character === \"\\n\" ? index : index + 1;\n while (/[.!?;\\n]/u.test(source[sentenceEnd] ?? \"\")) sentenceEnd += 1;\n const sentence = source.slice(sentenceStart, sentenceEnd).trim();\n if (sentence.length > 0) sentences.push(sentence);\n sentenceStart = sentenceEnd;\n index = sentenceEnd - 1;\n }\n const trailingSentence = source.slice(sentenceStart).trim();\n if (trailingSentence.length > 0) sentences.push(trailingSentence);\n return sentences.length > 0 ? sentences : [source];\n}\n\n\nexport function groundingTokenSequence(text: string): string[] {\n let lexemes = groundingLexemes(text);\n while (lexemes.length > 0 && GROUNDING_AUXILIARY_TOKENS.has(lexemes[0]!.token)) {\n lexemes = lexemes.slice(1);\n }\n return lexemes\n .filter(({ token }) => GROUNDING_STOPWORDS[token] !== true)\n .map(({ token, preserveTerminalS }) => stemToken(token, preserveTerminalS, true));\n}\nexport function normalizedGroundingAlignmentTokenSequence(text: string): string[] {\n const normalized = normalizedGroundingTokenSequence(text);\n const firstLexeme = groundingLexemes(text)[0];\n if (firstLexeme === undefined || !GROUNDING_SUBJECT_PRONOUNS.has(firstLexeme.token)) {\n return normalized;\n }\n return [stemToken(firstLexeme.token, firstLexeme.preserveTerminalS, true), ...normalized];\n}\n\n\nexport function normalizedGroundingTokenSequence(text: string): string[] {\n return groundingTokenSequence(text).map((token) => token.replace(/'$/u, \"\"));\n}\n\nexport function areGroundingTokensCompatible(left: string, right: string): boolean {\n const leftPrefix = left[0];\n const rightPrefix = right[0];\n const leftMarked = leftPrefix === STRICT_GROUNDING_TOKEN_PREFIX\n || leftPrefix === INFLECTED_GROUNDING_TOKEN_PREFIX;\n const rightMarked = rightPrefix === STRICT_GROUNDING_TOKEN_PREFIX\n || rightPrefix === INFLECTED_GROUNDING_TOKEN_PREFIX;\n const leftToken = leftMarked ? left.slice(1) : left;\n const rightToken = rightMarked ? right.slice(1) : right;\n if (leftToken === rightToken) {\n const strictToInflected = (\n leftPrefix === STRICT_GROUNDING_TOKEN_PREFIX\n && rightPrefix === INFLECTED_GROUNDING_TOKEN_PREFIX\n ) || (\n rightPrefix === STRICT_GROUNDING_TOKEN_PREFIX\n && leftPrefix === INFLECTED_GROUNDING_TOKEN_PREFIX\n );\n return !strictToInflected;\n }\n if (leftPrefix === STRICT_GROUNDING_TOKEN_PREFIX || rightPrefix === STRICT_GROUNDING_TOKEN_PREFIX) {\n return false;\n }\n return `${leftToken}e` === rightToken || leftToken === `${rightToken}e`;\n}\nconst GROUNDING_DENIAL_REPORTING_VERBS = new Set([\n \"deny\",\n \"denied\",\n \"denies\",\n \"denying\",\n \"dispute\",\n \"disputed\",\n \"disputes\",\n \"disputing\",\n \"reject\",\n \"rejected\",\n \"rejects\",\n \"rejecting\",\n \"refute\",\n \"refuted\",\n \"refutes\",\n \"refuting\",\n \"contradict\",\n \"contradicted\",\n \"contradicts\",\n \"contradicting\",\n \"disprove\",\n \"disproved\",\n \"disproves\",\n \"disproving\",\n]);\n\nfunction isDenialReportingVerb(token: string): boolean {\n return GROUNDING_DENIAL_REPORTING_VERBS.has(token);\n}\nconst GROUNDING_NON_ASSERTIVE_REPORTING_VERBS = new Set([\n \"allege\",\n \"alleged\",\n \"alleges\",\n \"alleging\",\n \"allegedly\",\n \"assert\",\n \"asserted\",\n \"asserts\",\n \"asserting\",\n \"believe\",\n \"believed\",\n \"believes\",\n \"believing\",\n \"claim\",\n \"claimed\",\n \"claims\",\n \"claiming\",\n \"doubt\",\n \"doubted\",\n \"doubts\",\n \"doubting\",\n \"uncertain\",\n \"unsure\",\n \"unclear\",\n \"unknown\",\n \"possibly\",\n \"probably\",\n \"imagine\",\n \"imagined\",\n \"imagines\",\n \"imagining\",\n \"report\",\n \"reported\",\n \"reports\",\n \"reporting\",\n \"reportedly\",\n \"say\",\n \"said\",\n \"says\",\n \"saying\",\n \"speculate\",\n \"speculated\",\n \"speculates\",\n \"speculating\",\n \"suspect\",\n \"suspected\",\n \"suspects\",\n \"suspecting\",\n \"suppose\",\n \"supposed\",\n \"supposes\",\n \"supposing\",\n \"supposedly\",\n \"think\",\n \"thought\",\n \"thinks\",\n \"thinking\",\n]);\n\nfunction isNonAssertiveReportingVerb(token: string): boolean {\n return GROUNDING_NON_ASSERTIVE_REPORTING_VERBS.has(token);\n}\n\nfunction isGroundingClauseBoundary(token: string): boolean {\n return token === \"and\"\n || token === \"but\"\n || token === \"or\"\n || token === \"while\"\n || token === \"although\"\n || token === \"because\";\n}\n\nfunction isNonAssertiveReportingAt(tokens: ReadonlyArray<string>, index: number): boolean {\n let boundary = 0;\n for (let cursor = 0; cursor < index; cursor += 1) {\n if (isGroundingClauseBoundary(tokens[cursor]!)) boundary = cursor + 1;\n }\n for (let cursor = index - 1; cursor >= boundary; cursor -= 1) {\n if (\n tokens[cursor] === \"that\"\n && cursor > boundary\n && isNonAssertiveReportingVerb(tokens[cursor - 1]!)\n ) {\n return true;\n }\n if (isNonAssertiveReportingVerb(tokens[cursor]!) && index - cursor <= 5) return true;\n }\n return false;\n}\n\nfunction isDeniedAt(tokens: ReadonlyArray<string>, index: number): boolean {\n let boundary = 0;\n for (let cursor = 0; cursor < index; cursor += 1) {\n if (isGroundingClauseBoundary(tokens[cursor]!)) boundary = cursor + 1;\n }\n for (let cursor = index - 1; cursor >= boundary; cursor -= 1) {\n const token = tokens[cursor];\n if (token === \"that\" && cursor > boundary && isDenialReportingVerb(tokens[cursor - 1]!)) {\n return true;\n }\n if (isDenialReportingVerb(token) && index - cursor <= 5) return true;\n }\n return false;\n}\n\nexport function hasContradictoryPolarity(candidate: string, source: string): boolean {\n const candidateLexemes = groundingLexemes(candidate);\n const candidateTokens = candidateLexemes.map(({ token }) => token);\n let coherentContradiction = false;\n for (const clause of sourceSentences(source).flatMap((sentence) =>\n sentence.split(/\\s+(?:and|but|or|while|although|because)\\s+/gu))) {\n const sourceLexemes = groundingLexemes(clause);\n const sourceTokens = sourceLexemes.map(({ token }) => token);\n let sourceCursor = 0;\n let allTokensFound = true;\n let contradiction = false;\n for (const [candidateIndex, candidateToken] of candidateTokens.entries()) {\n if (GROUNDING_STOPWORDS[candidateToken] === true) continue;\n const sourceIndex = sourceTokens.findIndex(\n (sourceToken, index) =>\n index >= sourceCursor\n && stemToken(sourceToken, sourceLexemes[index]?.preserveTerminalS === true)\n === stemToken(candidateToken, candidateLexemes[candidateIndex]?.preserveTerminalS === true),\n );\n if (sourceIndex === -1) {\n allTokensFound = false;\n break;\n }\n const candidateNegated = isNegatedAt(candidateTokens, candidateIndex)\n || isDeniedAt(candidateTokens, candidateIndex);\n const sourceNegated = isNegatedAt(sourceTokens, sourceIndex)\n || isDeniedAt(sourceTokens, sourceIndex);\n const candidateNonAssertive = isNonAssertiveReportingAt(candidateTokens, candidateIndex);\n const sourceNonAssertive = isNonAssertiveReportingAt(sourceTokens, sourceIndex);\n if (\n candidateNegated !== sourceNegated\n || candidateNonAssertive !== sourceNonAssertive\n ) {\n contradiction = true;\n }\n sourceCursor = sourceIndex + 1;\n }\n if (allTokensFound) {\n if (!contradiction) return false;\n coherentContradiction = true;\n }\n }\n if (coherentContradiction) return true;\n\n const sourceLexemes = groundingLexemes(source);\n const sourceTokens = sourceLexemes.map(({ token }) => token);\n const sourcePositions = new Map<string, number[]>();\n sourceLexemes.forEach(({ token, preserveTerminalS }, index) => {\n const key = stemToken(token, preserveTerminalS);\n const positions = sourcePositions.get(key);\n if (positions) positions.push(index);\n else sourcePositions.set(key, [index]);\n });\n for (const [candidateIndex, token] of candidateTokens.entries()) {\n if (GROUNDING_STOPWORDS[token] === true) continue;\n const positions = sourcePositions.get(\n stemToken(token, candidateLexemes[candidateIndex]?.preserveTerminalS === true),\n );\n if (!positions || positions.length === 0) continue;\n const sourceIndex = positions[positions.length - 1];\n const candidateNegated = isNegatedAt(candidateTokens, candidateIndex)\n || isDeniedAt(candidateTokens, candidateIndex);\n const sourceNegated = isNegatedAt(sourceTokens, sourceIndex)\n || isDeniedAt(sourceTokens, sourceIndex);\n const candidateNonAssertive = isNonAssertiveReportingAt(candidateTokens, candidateIndex);\n const sourceNonAssertive = isNonAssertiveReportingAt(sourceTokens, sourceIndex);\n if (\n candidateNegated !== sourceNegated\n || candidateNonAssertive !== sourceNonAssertive\n ) {\n return true;\n }\n }\n return false;\n}\n"],"mappings":"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","names":["sourceLexemes","sourceTokens"]}
@@ -23,6 +23,7 @@ var MCP_READ_ONLY_TOOL_SUFFIXES = {
23
23
  identity_anchor_get: true,
24
24
  memory_identity: true,
25
25
  memory_search: true,
26
+ external_wiki_search: true,
26
27
  memory_profile: true,
27
28
  memory_entities_list: true,
28
29
  memory_questions: true,
@@ -53,4 +54,4 @@ var MCP_READ_ONLY_TOOL_SUFFIXES = {
53
54
  export {
54
55
  MCP_READ_ONLY_TOOL_SUFFIXES
55
56
  };
56
- //# sourceMappingURL=chunk-57QKLRBV.js.map
57
+ //# sourceMappingURL=chunk-WB7JSQCP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/mcp-read-only-tools.ts"],"sourcesContent":["/**\n * Conservative allowlist of canonical MCP tool suffixes that are\n * unambiguously read-only. Tools in this set are tagged with\n * `annotations: { readOnlyHint: true }` so ChatGPT (and other MCP\n * clients that honor the hint) can skip per-call confirmation.\n *\n * The list is suffix-based so it covers both the `remnic.*` and\n * `engram.*` naming forms. Anything not on it stays unannotated:\n * uncertainty is resolved as \"might mutate\".\n *\n * Excluded by construction: anything that writes, runs a pipeline,\n * flushes, applies, records, imports, or destructively deletes.\n */\nexport const MCP_READ_ONLY_TOOL_SUFFIXES: Readonly<Record<string, true>> = {\n recall: true,\n recall_explain: true,\n recall_tier_explain: true,\n recall_xray: true,\n briefing: true,\n wearables_status: true,\n transcript_day: true,\n transcript_search: true,\n transcript_memories: true,\n meetings_list: true,\n meetings_get: true,\n action_confidence: true,\n capsule_list: true,\n procedural_stats: true,\n memory_get: true,\n memory_timeline: true,\n entity_get: true,\n review_queue_list: true,\n lcm_search: true,\n continuity_incident_list: true,\n identity_anchor_get: true,\n memory_identity: true,\n memory_search: true,\n external_wiki_search: true,\n memory_profile: true,\n memory_entities_list: true,\n memory_questions: true,\n memory_last_recall: true,\n memory_intent_debug: true,\n memory_qmd_debug: true,\n memory_graph_explain: true,\n graph_snapshot: true,\n review_list: true,\n profiling_report: true,\n peer_list: true,\n peer_get: true,\n peer_profile_get: true,\n console_state: true,\n dreams_status: true,\n codegraph_list_projects: true,\n codegraph_index_status: true,\n codegraph_search_graph: true,\n codegraph_trace_path: true,\n codegraph_detect_changes: true,\n codegraph_query_graph: true,\n codegraph_get_schema: true,\n codegraph_get_snippet: true,\n codegraph_get_architecture: true,\n codegraph_search_code: true,\n};\n"],"mappings":";AAaO,IAAM,8BAA8D;AAAA,EACzE,QAAQ;AAAA,EACR,gBAAgB;AAAA,EAChB,qBAAqB;AAAA,EACrB,aAAa;AAAA,EACb,UAAU;AAAA,EACV,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,mBAAmB;AAAA,EACnB,qBAAqB;AAAA,EACrB,eAAe;AAAA,EACf,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB,cAAc;AAAA,EACd,kBAAkB;AAAA,EAClB,YAAY;AAAA,EACZ,iBAAiB;AAAA,EACjB,YAAY;AAAA,EACZ,mBAAmB;AAAA,EACnB,YAAY;AAAA,EACZ,0BAA0B;AAAA,EAC1B,qBAAqB;AAAA,EACrB,iBAAiB;AAAA,EACjB,eAAe;AAAA,EACf,sBAAsB;AAAA,EACtB,gBAAgB;AAAA,EAChB,sBAAsB;AAAA,EACtB,kBAAkB;AAAA,EAClB,oBAAoB;AAAA,EACpB,qBAAqB;AAAA,EACrB,kBAAkB;AAAA,EAClB,sBAAsB;AAAA,EACtB,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,kBAAkB;AAAA,EAClB,WAAW;AAAA,EACX,UAAU;AAAA,EACV,kBAAkB;AAAA,EAClB,eAAe;AAAA,EACf,eAAe;AAAA,EACf,yBAAyB;AAAA,EACzB,wBAAwB;AAAA,EACxB,wBAAwB;AAAA,EACxB,sBAAsB;AAAA,EACtB,0BAA0B;AAAA,EAC1B,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,uBAAuB;AAAA,EACvB,4BAA4B;AAAA,EAC5B,uBAAuB;AACzB;","names":[]}
@@ -0,0 +1,68 @@
1
+ // src/access-http-offline-stream.ts
2
+ async function respondOfflineNdjsonStream(response, header, files, requestId) {
3
+ response.statusCode = 200;
4
+ response.setHeader("content-type", "application/x-ndjson; charset=utf-8");
5
+ response.setHeader("cache-control", "no-store");
6
+ if (requestId) response.setHeader("x-request-id", requestId);
7
+ const waitForDrainOrClose = async () => {
8
+ const { promise, resolve, reject } = Promise.withResolvers();
9
+ const cleanup = () => {
10
+ response.off("drain", onDrain);
11
+ response.off("close", onClose);
12
+ response.off("error", onError);
13
+ };
14
+ const onDrain = () => {
15
+ cleanup();
16
+ resolve(true);
17
+ };
18
+ const onClose = () => {
19
+ cleanup();
20
+ resolve(false);
21
+ };
22
+ const onError = (error) => {
23
+ cleanup();
24
+ reject(error);
25
+ };
26
+ response.once("drain", onDrain);
27
+ response.once("close", onClose);
28
+ response.once("error", onError);
29
+ return promise;
30
+ };
31
+ const writeLine = async (payload) => {
32
+ if (response.destroyed || response.writableEnded) return false;
33
+ if (response.write(`${JSON.stringify(payload)}
34
+ `)) return true;
35
+ if (response.destroyed || response.writableEnded) return false;
36
+ return waitForDrainOrClose();
37
+ };
38
+ if (!await writeLine(header)) return;
39
+ for await (const file of files) {
40
+ if (!await writeLine({ type: "file", file })) return;
41
+ }
42
+ if (!response.destroyed && !response.writableEnded) response.end();
43
+ }
44
+ async function respondOfflineSnapshotStream(response, snapshot, requestId) {
45
+ await respondOfflineNdjsonStream(response, {
46
+ type: "snapshot",
47
+ namespace: snapshot.namespace,
48
+ format: snapshot.format,
49
+ schemaVersion: snapshot.schemaVersion,
50
+ createdAt: snapshot.createdAt,
51
+ sourceId: snapshot.sourceId,
52
+ includeTranscripts: snapshot.includeTranscripts
53
+ }, snapshot.files, requestId);
54
+ }
55
+ async function respondOfflineManifestStream(response, manifest, requestId) {
56
+ await respondOfflineNdjsonStream(response, {
57
+ type: "manifest",
58
+ namespace: manifest.namespace,
59
+ format: manifest.format,
60
+ schemaVersion: manifest.schemaVersion
61
+ }, manifest.files, requestId);
62
+ }
63
+
64
+ export {
65
+ respondOfflineSnapshotStream,
66
+ respondOfflineManifestStream
67
+ };
68
+ //# sourceMappingURL=chunk-WGP57SR3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/access-http-offline-stream.ts"],"sourcesContent":["import type { ServerResponse } from \"node:http\";\nimport type { OfflineSyncManifestStreamResponse } from \"./access-offline-manifest.js\";\nimport type { EngramAccessOfflineSyncSnapshotStreamResponse } from \"./access-service.js\";\n\nasync function respondOfflineNdjsonStream(\n response: ServerResponse,\n header: unknown,\n files: AsyncIterable<unknown>,\n requestId?: string,\n): Promise<void> {\n response.statusCode = 200;\n response.setHeader(\"content-type\", \"application/x-ndjson; charset=utf-8\");\n response.setHeader(\"cache-control\", \"no-store\");\n if (requestId) response.setHeader(\"x-request-id\", requestId);\n const waitForDrainOrClose = async (): Promise<boolean> => {\n const { promise, resolve, reject } = Promise.withResolvers<boolean>();\n const cleanup = () => {\n response.off(\"drain\", onDrain);\n response.off(\"close\", onClose);\n response.off(\"error\", onError);\n };\n const onDrain = () => {\n cleanup();\n resolve(true);\n };\n const onClose = () => {\n cleanup();\n resolve(false);\n };\n const onError = (error: Error) => {\n cleanup();\n reject(error);\n };\n response.once(\"drain\", onDrain);\n response.once(\"close\", onClose);\n response.once(\"error\", onError);\n return promise;\n };\n const writeLine = async (payload: unknown): Promise<boolean> => {\n if (response.destroyed || response.writableEnded) return false;\n if (response.write(`${JSON.stringify(payload)}\\n`)) return true;\n if (response.destroyed || response.writableEnded) return false;\n return waitForDrainOrClose();\n };\n if (!await writeLine(header)) return;\n for await (const file of files) {\n if (!await writeLine({ type: \"file\", file })) return;\n }\n if (!response.destroyed && !response.writableEnded) response.end();\n}\n\nexport async function respondOfflineSnapshotStream(\n response: ServerResponse,\n snapshot: EngramAccessOfflineSyncSnapshotStreamResponse,\n requestId?: string,\n): Promise<void> {\n await respondOfflineNdjsonStream(response, {\n type: \"snapshot\",\n namespace: snapshot.namespace,\n format: snapshot.format,\n schemaVersion: snapshot.schemaVersion,\n createdAt: snapshot.createdAt,\n sourceId: snapshot.sourceId,\n includeTranscripts: snapshot.includeTranscripts,\n }, snapshot.files, requestId);\n}\n\nexport async function respondOfflineManifestStream(\n response: ServerResponse,\n manifest: OfflineSyncManifestStreamResponse,\n requestId?: string,\n): Promise<void> {\n await respondOfflineNdjsonStream(response, {\n type: \"manifest\",\n namespace: manifest.namespace,\n format: manifest.format,\n schemaVersion: manifest.schemaVersion,\n }, manifest.files, requestId);\n}\n"],"mappings":";AAIA,eAAe,2BACb,UACA,QACA,OACA,WACe;AACf,WAAS,aAAa;AACtB,WAAS,UAAU,gBAAgB,qCAAqC;AACxE,WAAS,UAAU,iBAAiB,UAAU;AAC9C,MAAI,UAAW,UAAS,UAAU,gBAAgB,SAAS;AAC3D,QAAM,sBAAsB,YAA8B;AACxD,UAAM,EAAE,SAAS,SAAS,OAAO,IAAI,QAAQ,cAAuB;AACpE,UAAM,UAAU,MAAM;AACpB,eAAS,IAAI,SAAS,OAAO;AAC7B,eAAS,IAAI,SAAS,OAAO;AAC7B,eAAS,IAAI,SAAS,OAAO;AAAA,IAC/B;AACA,UAAM,UAAU,MAAM;AACpB,cAAQ;AACR,cAAQ,IAAI;AAAA,IACd;AACA,UAAM,UAAU,MAAM;AACpB,cAAQ;AACR,cAAQ,KAAK;AAAA,IACf;AACA,UAAM,UAAU,CAAC,UAAiB;AAChC,cAAQ;AACR,aAAO,KAAK;AAAA,IACd;AACA,aAAS,KAAK,SAAS,OAAO;AAC9B,aAAS,KAAK,SAAS,OAAO;AAC9B,aAAS,KAAK,SAAS,OAAO;AAC9B,WAAO;AAAA,EACT;AACA,QAAM,YAAY,OAAO,YAAuC;AAC9D,QAAI,SAAS,aAAa,SAAS,cAAe,QAAO;AACzD,QAAI,SAAS,MAAM,GAAG,KAAK,UAAU,OAAO,CAAC;AAAA,CAAI,EAAG,QAAO;AAC3D,QAAI,SAAS,aAAa,SAAS,cAAe,QAAO;AACzD,WAAO,oBAAoB;AAAA,EAC7B;AACA,MAAI,CAAC,MAAM,UAAU,MAAM,EAAG;AAC9B,mBAAiB,QAAQ,OAAO;AAC9B,QAAI,CAAC,MAAM,UAAU,EAAE,MAAM,QAAQ,KAAK,CAAC,EAAG;AAAA,EAChD;AACA,MAAI,CAAC,SAAS,aAAa,CAAC,SAAS,cAAe,UAAS,IAAI;AACnE;AAEA,eAAsB,6BACpB,UACA,UACA,WACe;AACf,QAAM,2BAA2B,UAAU;AAAA,IACzC,MAAM;AAAA,IACN,WAAW,SAAS;AAAA,IACpB,QAAQ,SAAS;AAAA,IACjB,eAAe,SAAS;AAAA,IACxB,WAAW,SAAS;AAAA,IACpB,UAAU,SAAS;AAAA,IACnB,oBAAoB,SAAS;AAAA,EAC/B,GAAG,SAAS,OAAO,SAAS;AAC9B;AAEA,eAAsB,6BACpB,UACA,UACA,WACe;AACf,QAAM,2BAA2B,UAAU;AAAA,IACzC,MAAM;AAAA,IACN,WAAW,SAAS;AAAA,IACpB,QAAQ,SAAS;AAAA,IACjB,eAAe,SAAS;AAAA,EAC1B,GAAG,SAAS,OAAO,SAAS;AAC9B;","names":[]}
@@ -1,20 +1,19 @@
1
- import {
2
- resolveCodingNamespaceOverlay,
3
- resolveScopeProfilePlan
4
- } from "./chunk-BUE5E2HL.js";
5
1
  import {
6
2
  hasBroadGraphIntent,
7
3
  planRecallMode
8
4
  } from "./chunk-PD6O7AXF.js";
9
5
  import {
10
6
  parseQmdExplain
11
- } from "./chunk-QJAQNXWI.js";
7
+ } from "./chunk-QCECHYZL.js";
12
8
  import {
13
9
  buildCompressionGuidelinesMarkdown
14
10
  } from "./chunk-OD4FM2U7.js";
15
11
  import {
16
12
  resolveLifecycleState
17
13
  } from "./chunk-TBBDFYXW.js";
14
+ import {
15
+ resolveScopeProfilePlan
16
+ } from "./chunk-BGLY7EEM.js";
18
17
  import {
19
18
  parseFlexibleIsoTimestamp
20
19
  } from "./chunk-P7FMDTKL.js";
@@ -26,10 +25,13 @@ import {
26
25
  resolveMemoryLifecycleCapabilities,
27
26
  resolvePresentationCapabilities
28
27
  } from "./chunk-2XRE6FLM.js";
28
+ import {
29
+ resolveCodingNamespaceOverlay
30
+ } from "./chunk-J2WC5LF4.js";
29
31
  import {
30
32
  abortError,
31
33
  throwIfAborted
32
- } from "./chunk-PVGDJXVK.js";
34
+ } from "./chunk-BTTPKDIL.js";
33
35
  import {
34
36
  categoryDirName
35
37
  } from "./chunk-VS2IYZRU.js";
@@ -781,27 +783,37 @@ async function commitEmptySuccessExtraction(args) {
781
783
  extractionFingerprint,
782
784
  shouldPersistProcessedFingerprint,
783
785
  hasExtractionFailure,
786
+ extractionSkippedReason,
784
787
  recordProcessedExtractionFingerprint,
785
788
  runDeadlineAware,
786
789
  isDeadlineError
787
790
  } = args;
788
- let meta = existingMeta;
789
- if (extractionFingerprint && shouldPersistProcessedFingerprint && !hasExtractionFailure) {
790
- meta ??= await storage.loadMeta();
791
- await recordProcessedExtractionFingerprint(storage, extractionFingerprint, meta);
792
- }
793
- if (!hasExtractionFailure) {
794
- const livenessStampFatal = shouldPersistProcessedFingerprint;
795
- try {
796
- meta ??= await runDeadlineAware(() => storage.loadMeta(), "during_empty_success_liveness_load", false);
791
+ const shouldRecordFingerprint = extractionFingerprint !== null && shouldPersistProcessedFingerprint && !hasExtractionFailure;
792
+ const shouldStampLiveness = !hasExtractionFailure && extractionSkippedReason === void 0;
793
+ if (!shouldRecordFingerprint && !shouldStampLiveness) return;
794
+ const metadataFailureIsFatal = shouldRecordFingerprint;
795
+ try {
796
+ const meta = existingMeta ?? await runDeadlineAware(
797
+ () => storage.loadMeta(),
798
+ "during_empty_success_liveness_load",
799
+ false
800
+ );
801
+ if (shouldRecordFingerprint) {
802
+ await recordProcessedExtractionFingerprint(storage, extractionFingerprint, meta);
803
+ }
804
+ if (shouldStampLiveness) {
797
805
  meta.extractionCount += 1;
798
806
  meta.lastExtractionAt = (/* @__PURE__ */ new Date()).toISOString();
799
- await runDeadlineAware(() => storage.saveMeta(meta), "during_empty_success_liveness_save", false);
800
- } catch (err) {
801
- if (isDeadlineError(err)) throw err;
802
- if (livenessStampFatal) throw err;
803
- log.warn("runExtraction: failed to stamp empty-success liveness watermark (non-fatal)", err);
804
807
  }
808
+ await runDeadlineAware(
809
+ () => storage.saveMeta(meta),
810
+ "during_empty_success_liveness_save",
811
+ false
812
+ );
813
+ } catch (err) {
814
+ if (isDeadlineError(err)) throw err;
815
+ if (metadataFailureIsFatal) throw err;
816
+ log.warn("runExtraction: failed to stamp empty-success liveness watermark (non-fatal)", err);
805
817
  }
806
818
  }
807
819
 
@@ -1417,7 +1429,7 @@ ${normalized}`).digest("hex");
1417
1429
  if (err instanceof ExtractionDeadlineError) throw err;
1418
1430
  log.warn("runExtraction: failed to load meta for retry bookkeeping (non-fatal)", err);
1419
1431
  }
1420
- } else {
1432
+ } else if (result.extractionSkippedReason === void 0) {
1421
1433
  this.resetProviderBreakerOnSuccess();
1422
1434
  try {
1423
1435
  meta ??= await runDeadlineAware(() => storage.loadMeta(), "during_retry_bookkeeping_load", false);
@@ -1442,16 +1454,20 @@ ${normalized}`).digest("hex");
1442
1454
  { extractionFailure }
1443
1455
  );
1444
1456
  }
1445
- await commitEmptySuccessExtraction({
1457
+ const emptySuccessCommit = {
1446
1458
  storage,
1447
1459
  meta,
1448
1460
  extractionFingerprint,
1449
1461
  shouldPersistProcessedFingerprint,
1450
1462
  hasExtractionFailure: Boolean(extractionFailure),
1463
+ extractionSkippedReason: result.extractionSkippedReason,
1451
1464
  recordProcessedExtractionFingerprint: this.deps.recordProcessedExtractionFingerprint,
1452
1465
  runDeadlineAware,
1453
1466
  isDeadlineError: (error) => error instanceof ExtractionDeadlineError
1454
- });
1467
+ };
1468
+ if (shouldPersistProcessedFingerprint) {
1469
+ await commitEmptySuccessExtraction(emptySuccessCommit);
1470
+ }
1455
1471
  await runPassiveCapture(normalizedTurns, {
1456
1472
  sessionKey,
1457
1473
  principal,
@@ -1464,6 +1480,9 @@ ${normalized}`).digest("hex");
1464
1480
  } else {
1465
1481
  await clearBuffer();
1466
1482
  }
1483
+ if (!shouldPersistProcessedFingerprint) {
1484
+ await commitEmptySuccessExtraction(emptySuccessCommit);
1485
+ }
1467
1486
  return { status: "skipped", reason: "empty_extraction_result", persistedCount: 0, durableOutputCount: 0 };
1468
1487
  }
1469
1488
  let threadIdForExtraction = null;
@@ -1635,4 +1654,4 @@ export {
1635
1654
  ExtractionDeadlineError,
1636
1655
  ExtractionRunCoordinator
1637
1656
  };
1638
- //# sourceMappingURL=chunk-ECK75GDJ.js.map
1657
+ //# sourceMappingURL=chunk-WQIHRA5F.js.map