@remnic/core 10.0.84 → 10.0.85

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 (399) hide show
  1. package/dist/access-admin-ops-surface.js +67 -66
  2. package/dist/access-authorization-probe.js +68 -67
  3. package/dist/access-boundary.js +67 -66
  4. package/dist/access-cli.js +146 -144
  5. package/dist/access-cli.js.map +1 -1
  6. package/dist/access-extraction-force-flush.js +67 -66
  7. package/dist/access-http-briefing.js +68 -67
  8. package/dist/access-http-query.js +69 -68
  9. package/dist/access-http.js +91 -89
  10. package/dist/access-identity-continuity-surface.js +67 -66
  11. package/dist/access-lcm-surface.js +67 -66
  12. package/dist/access-mcp-frames.d.ts +29 -0
  13. package/dist/access-mcp-frames.d.ts.map +1 -0
  14. package/dist/access-mcp-frames.js +10 -0
  15. package/dist/access-mcp.d.ts +1 -1
  16. package/dist/access-mcp.d.ts.map +1 -1
  17. package/dist/access-mcp.js +82 -80
  18. package/dist/access-namespace-preflight.js +67 -66
  19. package/dist/access-observe-write-category.js +9 -9
  20. package/dist/access-observe-write-surface.d.ts.map +1 -1
  21. package/dist/access-observe-write-surface.js +67 -66
  22. package/dist/access-offline-manifest.js +3 -3
  23. package/dist/access-operations-batch.js +71 -70
  24. package/dist/access-operations.js +78 -77
  25. package/dist/access-recall-concurrency.js +67 -66
  26. package/dist/access-recall-response.js +67 -66
  27. package/dist/access-recall-surface.js +67 -66
  28. package/dist/access-schema.js +4 -4
  29. package/dist/access-service.js +67 -66
  30. package/dist/access-surface-catalog.js +69 -68
  31. package/dist/access-surface-catalog.js.map +1 -1
  32. package/dist/active-recall.js +31 -31
  33. package/dist/{auto-sync-C7E6G7Y2.js → auto-sync-3AZW7MXI.js} +6 -6
  34. package/dist/briefing.js +25 -25
  35. package/dist/buffer-persistence.d.ts +8 -4
  36. package/dist/buffer-persistence.d.ts.map +1 -1
  37. package/dist/buffer-persistence.js +1 -1
  38. package/dist/buffer-turn-helpers.d.ts +5 -0
  39. package/dist/buffer-turn-helpers.d.ts.map +1 -1
  40. package/dist/buffer-turn-helpers.js +1 -1
  41. package/dist/buffer.d.ts +4 -1
  42. package/dist/buffer.d.ts.map +1 -1
  43. package/dist/buffer.js +9 -9
  44. package/dist/calibration.js +2 -2
  45. package/dist/{capsule-crypto-YO5QJ6L3.js → capsule-crypto-GWVG7LGC.js} +2 -2
  46. package/dist/capsule-gunzip-KGBDGF7P.js +11 -0
  47. package/dist/{capsule-merge-XVTQJJ6R.js → capsule-merge-2IIXFXN5.js} +5 -11
  48. package/dist/capsule-merge-2IIXFXN5.js.map +1 -0
  49. package/dist/causal-behavior.js +2 -2
  50. package/dist/causal-chain.js +2 -2
  51. package/dist/causal-consolidation.js +32 -32
  52. package/dist/causal-retrieval.js +2 -2
  53. package/dist/causal-trajectory-graph.js +2 -2
  54. package/dist/causal-trajectory.js +1 -1
  55. package/dist/{chunk-T6T2RMWW.js → chunk-23B4HLWG.js} +5 -5
  56. package/dist/{chunk-LECSS7EE.js → chunk-2ASEDFOA.js} +2 -2
  57. package/dist/{chunk-TPX7XXY4.js → chunk-2JAT4S7N.js} +2 -2
  58. package/dist/{chunk-XRBHIR7Q.js → chunk-2URKYLMK.js} +2 -2
  59. package/dist/{chunk-IN4OFAHX.js → chunk-2XYDL2FG.js} +2 -2
  60. package/dist/{chunk-HQGATKG2.js → chunk-3KGCHTTK.js} +2 -2
  61. package/dist/{chunk-YAUHSNPB.js → chunk-3LHPTBWG.js} +2 -2
  62. package/dist/{chunk-7PMOCQOL.js → chunk-3ODZLCHC.js} +192 -63
  63. package/dist/chunk-3ODZLCHC.js.map +1 -0
  64. package/dist/{chunk-XT45WCKX.js → chunk-3VU2FDTU.js} +8 -8
  65. package/dist/{chunk-CIIHIAJ2.js → chunk-433EXTC4.js} +3 -3
  66. package/dist/{chunk-QZSIDSB2.js → chunk-44FQCC5D.js} +2 -2
  67. package/dist/{chunk-YUTT4ZTI.js → chunk-45VUHDV2.js} +2 -2
  68. package/dist/{chunk-54FDG7K7.js → chunk-4DPLCYEK.js} +2 -2
  69. package/dist/{chunk-KO3YBHOV.js → chunk-4IWEPQEV.js} +2 -2
  70. package/dist/{chunk-H7BZBSP6.js → chunk-52II7PB6.js} +4 -4
  71. package/dist/{chunk-K6RTQZA4.js → chunk-6DANGCMO.js} +2 -2
  72. package/dist/{chunk-2IW5PT7U.js → chunk-6KFFRMPQ.js} +2 -2
  73. package/dist/{chunk-MSIRVXQ3.js → chunk-73YVMZ7D.js} +4 -4
  74. package/dist/{chunk-A7BM2JTH.js → chunk-AJHNXIQU.js} +2 -2
  75. package/dist/{chunk-2D7BTSDW.js → chunk-ANZZLRUX.js} +2 -2
  76. package/dist/{chunk-YOEYL6CH.js → chunk-AP3TSV6S.js} +2 -2
  77. package/dist/{chunk-GQZSGXR6.js → chunk-BATPQNRG.js} +2 -2
  78. package/dist/{chunk-D5SSBCYY.js → chunk-BLGQUZFB.js} +2 -2
  79. package/dist/{chunk-BDN3TDGV.js → chunk-BLMTOIBK.js} +2 -2
  80. package/dist/{chunk-B74NPUHT.js → chunk-BMIM6ESC.js} +43 -43
  81. package/dist/chunk-BMIM6ESC.js.map +1 -0
  82. package/dist/{chunk-R45L4TV6.js → chunk-BUKK5SWA.js} +6 -6
  83. package/dist/{chunk-TFLPDNQV.js → chunk-CCU7URRP.js} +2 -2
  84. package/dist/{chunk-2XJZLSXE.js → chunk-CMRHXPLQ.js} +20 -20
  85. package/dist/{chunk-BK4FBHZ3.js → chunk-D6THW7PA.js} +3 -3
  86. package/dist/{chunk-BFBS7OFQ.js → chunk-DC55RIEZ.js} +4 -4
  87. package/dist/{chunk-VKDAJJQP.js → chunk-DI5ET2IE.js} +5 -5
  88. package/dist/{chunk-QZBTIYKD.js → chunk-DM4RRTN7.js} +3 -3
  89. package/dist/{chunk-EBOHFZI4.js → chunk-E5QEF3JO.js} +2 -2
  90. package/dist/{chunk-K3B72DKJ.js → chunk-E7V5AK7I.js} +2 -2
  91. package/dist/{chunk-WAD32CZG.js → chunk-ELWI2R6H.js} +26 -13
  92. package/dist/chunk-ELWI2R6H.js.map +1 -0
  93. package/dist/{chunk-BV2BRHD4.js → chunk-FHGWKODN.js} +2 -2
  94. package/dist/{chunk-HPFVZPRH.js → chunk-FK4WC6VK.js} +3 -3
  95. package/dist/{chunk-VLMBSGQF.js → chunk-FRM4UTDR.js} +6 -6
  96. package/dist/{chunk-LTDLJCMQ.js → chunk-FZPDRCOB.js} +2 -2
  97. package/dist/{chunk-ZJJFUEPO.js → chunk-GBOYOL5L.js} +2 -2
  98. package/dist/{chunk-YUTG35M4.js → chunk-GJVGFKOU.js} +2 -2
  99. package/dist/{chunk-77R7BQZ2.js → chunk-GKYIRTNX.js} +33 -11
  100. package/dist/{chunk-77R7BQZ2.js.map → chunk-GKYIRTNX.js.map} +1 -1
  101. package/dist/{chunk-K36RMINQ.js → chunk-GOZXQNIM.js} +3 -3
  102. package/dist/{chunk-HWHNQVRV.js → chunk-GYNRNKMW.js} +2 -2
  103. package/dist/{chunk-LU66I56Q.js → chunk-H34INI3P.js} +29 -3
  104. package/dist/chunk-H34INI3P.js.map +1 -0
  105. package/dist/{chunk-HLKUZW42.js → chunk-H4D5YURJ.js} +80 -94
  106. package/dist/chunk-H4D5YURJ.js.map +1 -0
  107. package/dist/{chunk-6LCWKS62.js → chunk-HVFX2N2G.js} +60 -59
  108. package/dist/chunk-HVFX2N2G.js.map +1 -0
  109. package/dist/chunk-IGLJNHOX.js +62 -0
  110. package/dist/chunk-IGLJNHOX.js.map +1 -0
  111. package/dist/{chunk-KFLD7ZZG.js → chunk-IUKYFTGW.js} +3 -3
  112. package/dist/{chunk-YK7GOPIE.js → chunk-JFH6JAGY.js} +6 -4
  113. package/dist/chunk-JFH6JAGY.js.map +1 -0
  114. package/dist/{chunk-BNQJKWWZ.js → chunk-K3FH3LAQ.js} +4 -4
  115. package/dist/{chunk-FJ2VJTGA.js → chunk-KHZVAISH.js} +2 -2
  116. package/dist/{chunk-WHQXWFH7.js → chunk-LT3CMO65.js} +2 -2
  117. package/dist/{chunk-NUSAAN75.js → chunk-MHSBOEH7.js} +2 -2
  118. package/dist/{chunk-KJCL2FZO.js → chunk-MNYQVYJ4.js} +2 -2
  119. package/dist/{chunk-RZH5RVJC.js → chunk-MTTYIXSU.js} +2 -2
  120. package/dist/{chunk-FVRTCYZ3.js → chunk-MVOJDLXS.js} +2 -2
  121. package/dist/{chunk-KESJ5XX3.js → chunk-MYCCO6AA.js} +2 -2
  122. package/dist/{chunk-66JOLMWS.js → chunk-MZCGHPIJ.js} +2 -2
  123. package/dist/{chunk-B4ZU34JQ.js → chunk-N6II66E5.js} +3 -3
  124. package/dist/{chunk-BK7AJUWB.js → chunk-NIV7RPWQ.js} +6 -6
  125. package/dist/{chunk-TLHF75OR.js → chunk-O55AGDTI.js} +10 -10
  126. package/dist/{chunk-GGJFRVRD.js → chunk-OMYRPMQC.js} +2 -2
  127. package/dist/{chunk-3JPTUCD7.js → chunk-ONN2E5QD.js} +32 -23
  128. package/dist/chunk-ONN2E5QD.js.map +1 -0
  129. package/dist/{chunk-XHGYZRVW.js → chunk-OSTFDWZJ.js} +4 -4
  130. package/dist/{chunk-BXLOS5AJ.js → chunk-OWHERGF2.js} +2 -2
  131. package/dist/{chunk-WC475JOG.js → chunk-P225W4RQ.js} +6 -6
  132. package/dist/{chunk-TFA6HPOA.js → chunk-QCP75JGO.js} +5 -5
  133. package/dist/{chunk-JRVMCZE3.js → chunk-QEYTRFR3.js} +2 -2
  134. package/dist/chunk-QV2VZKD5.js +31 -0
  135. package/dist/chunk-QV2VZKD5.js.map +1 -0
  136. package/dist/{chunk-IZJQNDGI.js → chunk-R6HMAIKM.js} +2 -2
  137. package/dist/{chunk-VUROWXFL.js → chunk-RNGDKFY2.js} +2 -2
  138. package/dist/{chunk-FF6N7BXC.js → chunk-S45INSV3.js} +4 -4
  139. package/dist/{chunk-2RUTN7PR.js → chunk-S7GJNA3K.js} +2 -2
  140. package/dist/{chunk-XYP5WBDO.js → chunk-SGHV6LZ7.js} +13 -13
  141. package/dist/chunk-SGHV6LZ7.js.map +1 -0
  142. package/dist/{chunk-RJWL3RHB.js → chunk-TFEHSPGQ.js} +2 -2
  143. package/dist/{chunk-T77AX6DG.js → chunk-TQVECGUQ.js} +4 -4
  144. package/dist/{chunk-OQSSQOKQ.js → chunk-TV65NR7L.js} +2 -2
  145. package/dist/{chunk-KQUSP6LB.js → chunk-UDKWFDV2.js} +1 -1
  146. package/dist/chunk-UDKWFDV2.js.map +1 -0
  147. package/dist/{chunk-HQPFACXO.js → chunk-UH3FPX3L.js} +2 -2
  148. package/dist/{chunk-4EACCIPO.js → chunk-UHPHH74F.js} +2 -2
  149. package/dist/{chunk-DQEMWVMT.js → chunk-UVYI6VIX.js} +1 -1
  150. package/dist/{chunk-6QYPL6NI.js → chunk-V45TEVDA.js} +3 -3
  151. package/dist/{chunk-GCAQ3VUJ.js → chunk-VCVEMQJK.js} +2 -2
  152. package/dist/{chunk-6L63IN3M.js → chunk-VEFGHRKV.js} +1 -1
  153. package/dist/{chunk-E33UJHY3.js → chunk-WFDWLWDK.js} +2 -2
  154. package/dist/{chunk-4KLQI3L2.js → chunk-WLNWFHX3.js} +1 -1
  155. package/dist/chunk-WLNWFHX3.js.map +1 -0
  156. package/dist/{chunk-KQLBXUUQ.js → chunk-WYG5UNDY.js} +2 -2
  157. package/dist/{chunk-MPGLM2VU.js → chunk-X7REO4CH.js} +2 -2
  158. package/dist/{chunk-MPDLLLOG.js → chunk-XO23OKMK.js} +9 -5
  159. package/dist/chunk-XO23OKMK.js.map +1 -0
  160. package/dist/{chunk-Z3DDQXM4.js → chunk-XSFQN7TP.js} +35 -36
  161. package/dist/chunk-XSFQN7TP.js.map +1 -0
  162. package/dist/{chunk-FZVROZKC.js → chunk-XVZA6VXC.js} +4 -4
  163. package/dist/{chunk-WV254W4V.js → chunk-Y3IYKNBY.js} +2 -2
  164. package/dist/{chunk-FUOAIJKQ.js → chunk-Y43X3E24.js} +2 -2
  165. package/dist/{chunk-3T3VHXUH.js → chunk-YAAKVTZA.js} +2 -2
  166. package/dist/{chunk-VPEIWMUT.js → chunk-YLTU2DC4.js} +2 -2
  167. package/dist/{chunk-65SKM4BF.js → chunk-YNBMBL4C.js} +2 -2
  168. package/dist/{chunk-PJYK7HH2.js → chunk-ZWTHVUT5.js} +2 -2
  169. package/dist/cli.js +110 -108
  170. package/dist/coding/export-okf-codegraph.js +25 -25
  171. package/dist/coding/pre-action-gate.js +2 -2
  172. package/dist/compounding/engine.js +27 -27
  173. package/dist/config.js +28 -28
  174. package/dist/connectors/codex-materialize-runner.js +25 -25
  175. package/dist/connectors/index.js +25 -25
  176. package/dist/contradiction/index.js +4 -4
  177. package/dist/convergence-refresh.js +27 -27
  178. package/dist/conversation-index/backend.js +2 -2
  179. package/dist/corpus-watermark.js +27 -27
  180. package/dist/deep-recall-http-glue.js +5 -5
  181. package/dist/entity-retrieval.js +25 -25
  182. package/dist/event-order-recall.js +2 -2
  183. package/dist/explicit-capture.js +5 -5
  184. package/dist/external-wiki-access.js +68 -67
  185. package/dist/extraction-evidence-class.js +2 -2
  186. package/dist/extraction-quote-grounding.d.ts.map +1 -1
  187. package/dist/extraction-quote-grounding.js +1 -1
  188. package/dist/extraction-source-grounding-rules.js +2 -2
  189. package/dist/extraction-source-grounding.js +5 -5
  190. package/dist/extraction-span-materialize.js +2 -2
  191. package/dist/extraction.js +40 -40
  192. package/dist/{first-start-migration-QVD22WWS.js → first-start-migration-A6PHIBUQ.js} +4 -4
  193. package/dist/{graph-edge-decay-CXTNJ7IQ.js → graph-edge-decay-EKWXRBWF.js} +5 -5
  194. package/dist/graph-edge-decay-EKWXRBWF.js.map +1 -0
  195. package/dist/graph-jsonl.js +3 -3
  196. package/dist/graph-snapshot.js +3 -3
  197. package/dist/graph.js +2 -2
  198. package/dist/harmonic-retrieval.js +25 -25
  199. package/dist/index.js +195 -193
  200. package/dist/lcm/engine.js +2 -2
  201. package/dist/lcm/index.js +2 -2
  202. package/dist/local-llm.js +2 -2
  203. package/dist/location/index.js +28 -28
  204. package/dist/maintenance/memory-governance.js +25 -25
  205. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +25 -25
  206. package/dist/maintenance/rebuild-memory-projection-runner.js +27 -27
  207. package/dist/maintenance/rebuild-memory-projection.js +26 -26
  208. package/dist/memory-browse-operations.js +68 -67
  209. package/dist/memory-subject.js +2 -2
  210. package/dist/namespaces/migrate.js +26 -26
  211. package/dist/namespaces/search.d.ts +8 -0
  212. package/dist/namespaces/search.d.ts.map +1 -1
  213. package/dist/namespaces/search.js +10 -6
  214. package/dist/namespaces/storage.js +25 -25
  215. package/dist/operator-doctor-corpus.js +28 -28
  216. package/dist/operator-toolkit.js +39 -39
  217. package/dist/orchestration/backlog-scheduler.d.ts +3 -2
  218. package/dist/orchestration/backlog-scheduler.d.ts.map +1 -1
  219. package/dist/orchestration/backlog-scheduler.js +157 -155
  220. package/dist/orchestration/backlog-scheduler.js.map +1 -1
  221. package/dist/orchestration/buffer-drain-runner.d.ts +6 -1
  222. package/dist/orchestration/buffer-drain-runner.d.ts.map +1 -1
  223. package/dist/orchestration/buffer-drain-runner.js +147 -145
  224. package/dist/orchestration/extraction-persist.d.ts.map +1 -1
  225. package/dist/orchestration/fact-dedup-window.d.ts +1 -4
  226. package/dist/orchestration/fact-dedup-window.d.ts.map +1 -1
  227. package/dist/orchestration/maintenance.js +39 -39
  228. package/dist/orchestrator.js +146 -144
  229. package/dist/provenance.js +2 -2
  230. package/dist/recall-navigation-operations.js +68 -67
  231. package/dist/recall-navigation.js +67 -66
  232. package/dist/reconcile/manifest.js +2 -2
  233. package/dist/{resolution-BNWE5Y25.js → resolution-23ZBDM6A.js} +5 -5
  234. package/dist/resolution-23ZBDM6A.js.map +1 -0
  235. package/dist/resume-bundles.js +29 -29
  236. package/dist/salvage-envelope.js +4 -4
  237. package/dist/search/factory.js +5 -5
  238. package/dist/search/index.js +9 -9
  239. package/dist/semantic-consolidation.js +26 -26
  240. package/dist/semantic-rule-promotion.js +25 -25
  241. package/dist/semantic-rule-verifier.js +25 -25
  242. package/dist/source-agent-qualifier.js +31 -31
  243. package/dist/standup/build.js +25 -25
  244. package/dist/storage/buffer-drain-claims.d.ts +18 -6
  245. package/dist/storage/buffer-drain-claims.d.ts.map +1 -1
  246. package/dist/storage/buffer-drain-claims.js +2 -2
  247. package/dist/storage/buffer-session-files.js +2 -2
  248. package/dist/storage/content-hash-index.d.ts +8 -0
  249. package/dist/storage/content-hash-index.d.ts.map +1 -1
  250. package/dist/storage.d.ts +10 -1
  251. package/dist/storage.d.ts.map +1 -1
  252. package/dist/storage.js +24 -24
  253. package/dist/subject-config.js +3 -3
  254. package/dist/summarizer.js +3 -3
  255. package/dist/support-passport/index.js +70 -69
  256. package/dist/transfer/autodetect.js +1 -1
  257. package/dist/transfer/backup.js +2 -2
  258. package/dist/transfer/capsule-export.js +3 -3
  259. package/dist/transfer/capsule-gunzip.d.ts +14 -0
  260. package/dist/transfer/capsule-gunzip.d.ts.map +1 -0
  261. package/dist/transfer/capsule-import.d.ts.map +1 -1
  262. package/dist/transfer/capsule-import.js +3 -2
  263. package/dist/transfer/capsule-merge.d.ts.map +1 -1
  264. package/dist/transfer/export-okf.js +25 -25
  265. package/dist/verified-recall.js +25 -25
  266. package/dist/who-knows-cli.js +26 -26
  267. package/dist/who-knows.js +25 -25
  268. package/dist/write-envelope.js +3 -3
  269. package/package.json +2 -2
  270. package/src/access-mcp-frames.test.ts +47 -0
  271. package/src/access-mcp-frames.ts +74 -0
  272. package/src/access-mcp.test.ts +146 -0
  273. package/src/access-mcp.ts +30 -30
  274. package/src/access-observe-write-surface.ts +4 -4
  275. package/src/backlog-scheduler.test.ts +443 -3
  276. package/src/buffer-persistence.ts +15 -6
  277. package/src/buffer-turn-helpers.ts +6 -0
  278. package/src/buffer.ts +6 -6
  279. package/src/cli.ts +4 -4
  280. package/src/extraction-quote-grounding.test.ts +49 -0
  281. package/src/extraction-quote-grounding.ts +50 -12
  282. package/src/fact-dedup-window.test.ts +103 -20
  283. package/src/namespaces/search.test.ts +339 -0
  284. package/src/namespaces/search.ts +54 -1
  285. package/src/orchestration/backlog-scheduler.ts +13 -12
  286. package/src/orchestration/buffer-drain-runner.ts +40 -16
  287. package/src/orchestration/extraction-persist.ts +2 -10
  288. package/src/orchestration/fact-dedup-window.ts +5 -12
  289. package/src/storage/buffer-drain-claims.test.ts +330 -6
  290. package/src/storage/buffer-drain-claims.ts +226 -80
  291. package/src/storage/buffer-session-files.ts +2 -2
  292. package/src/storage/content-hash-index.ts +9 -0
  293. package/src/storage.ts +15 -0
  294. package/src/transfer/capsule-gunzip.ts +39 -0
  295. package/src/transfer/capsule-import.test.ts +73 -0
  296. package/src/transfer/capsule-import.ts +2 -2
  297. package/src/transfer/capsule-merge.test.ts +34 -0
  298. package/src/transfer/capsule-merge.ts +2 -10
  299. package/dist/capsule-merge-XVTQJJ6R.js.map +0 -1
  300. package/dist/chunk-3JPTUCD7.js.map +0 -1
  301. package/dist/chunk-4KLQI3L2.js.map +0 -1
  302. package/dist/chunk-6LCWKS62.js.map +0 -1
  303. package/dist/chunk-7PMOCQOL.js.map +0 -1
  304. package/dist/chunk-B74NPUHT.js.map +0 -1
  305. package/dist/chunk-HLKUZW42.js.map +0 -1
  306. package/dist/chunk-KQUSP6LB.js.map +0 -1
  307. package/dist/chunk-LU66I56Q.js.map +0 -1
  308. package/dist/chunk-MPDLLLOG.js.map +0 -1
  309. package/dist/chunk-WAD32CZG.js.map +0 -1
  310. package/dist/chunk-XYP5WBDO.js.map +0 -1
  311. package/dist/chunk-YK7GOPIE.js.map +0 -1
  312. package/dist/chunk-Z3DDQXM4.js.map +0 -1
  313. /package/dist/{capsule-crypto-YO5QJ6L3.js.map → access-mcp-frames.js.map} +0 -0
  314. /package/dist/{auto-sync-C7E6G7Y2.js.map → auto-sync-3AZW7MXI.js.map} +0 -0
  315. /package/dist/{graph-edge-decay-CXTNJ7IQ.js.map → capsule-crypto-GWVG7LGC.js.map} +0 -0
  316. /package/dist/{resolution-BNWE5Y25.js.map → capsule-gunzip-KGBDGF7P.js.map} +0 -0
  317. /package/dist/{chunk-T6T2RMWW.js.map → chunk-23B4HLWG.js.map} +0 -0
  318. /package/dist/{chunk-LECSS7EE.js.map → chunk-2ASEDFOA.js.map} +0 -0
  319. /package/dist/{chunk-TPX7XXY4.js.map → chunk-2JAT4S7N.js.map} +0 -0
  320. /package/dist/{chunk-XRBHIR7Q.js.map → chunk-2URKYLMK.js.map} +0 -0
  321. /package/dist/{chunk-IN4OFAHX.js.map → chunk-2XYDL2FG.js.map} +0 -0
  322. /package/dist/{chunk-HQGATKG2.js.map → chunk-3KGCHTTK.js.map} +0 -0
  323. /package/dist/{chunk-YAUHSNPB.js.map → chunk-3LHPTBWG.js.map} +0 -0
  324. /package/dist/{chunk-XT45WCKX.js.map → chunk-3VU2FDTU.js.map} +0 -0
  325. /package/dist/{chunk-CIIHIAJ2.js.map → chunk-433EXTC4.js.map} +0 -0
  326. /package/dist/{chunk-QZSIDSB2.js.map → chunk-44FQCC5D.js.map} +0 -0
  327. /package/dist/{chunk-YUTT4ZTI.js.map → chunk-45VUHDV2.js.map} +0 -0
  328. /package/dist/{chunk-54FDG7K7.js.map → chunk-4DPLCYEK.js.map} +0 -0
  329. /package/dist/{chunk-KO3YBHOV.js.map → chunk-4IWEPQEV.js.map} +0 -0
  330. /package/dist/{chunk-H7BZBSP6.js.map → chunk-52II7PB6.js.map} +0 -0
  331. /package/dist/{chunk-K6RTQZA4.js.map → chunk-6DANGCMO.js.map} +0 -0
  332. /package/dist/{chunk-2IW5PT7U.js.map → chunk-6KFFRMPQ.js.map} +0 -0
  333. /package/dist/{chunk-MSIRVXQ3.js.map → chunk-73YVMZ7D.js.map} +0 -0
  334. /package/dist/{chunk-A7BM2JTH.js.map → chunk-AJHNXIQU.js.map} +0 -0
  335. /package/dist/{chunk-2D7BTSDW.js.map → chunk-ANZZLRUX.js.map} +0 -0
  336. /package/dist/{chunk-YOEYL6CH.js.map → chunk-AP3TSV6S.js.map} +0 -0
  337. /package/dist/{chunk-GQZSGXR6.js.map → chunk-BATPQNRG.js.map} +0 -0
  338. /package/dist/{chunk-D5SSBCYY.js.map → chunk-BLGQUZFB.js.map} +0 -0
  339. /package/dist/{chunk-BDN3TDGV.js.map → chunk-BLMTOIBK.js.map} +0 -0
  340. /package/dist/{chunk-R45L4TV6.js.map → chunk-BUKK5SWA.js.map} +0 -0
  341. /package/dist/{chunk-TFLPDNQV.js.map → chunk-CCU7URRP.js.map} +0 -0
  342. /package/dist/{chunk-2XJZLSXE.js.map → chunk-CMRHXPLQ.js.map} +0 -0
  343. /package/dist/{chunk-BK4FBHZ3.js.map → chunk-D6THW7PA.js.map} +0 -0
  344. /package/dist/{chunk-BFBS7OFQ.js.map → chunk-DC55RIEZ.js.map} +0 -0
  345. /package/dist/{chunk-VKDAJJQP.js.map → chunk-DI5ET2IE.js.map} +0 -0
  346. /package/dist/{chunk-QZBTIYKD.js.map → chunk-DM4RRTN7.js.map} +0 -0
  347. /package/dist/{chunk-EBOHFZI4.js.map → chunk-E5QEF3JO.js.map} +0 -0
  348. /package/dist/{chunk-K3B72DKJ.js.map → chunk-E7V5AK7I.js.map} +0 -0
  349. /package/dist/{chunk-BV2BRHD4.js.map → chunk-FHGWKODN.js.map} +0 -0
  350. /package/dist/{chunk-HPFVZPRH.js.map → chunk-FK4WC6VK.js.map} +0 -0
  351. /package/dist/{chunk-VLMBSGQF.js.map → chunk-FRM4UTDR.js.map} +0 -0
  352. /package/dist/{chunk-LTDLJCMQ.js.map → chunk-FZPDRCOB.js.map} +0 -0
  353. /package/dist/{chunk-ZJJFUEPO.js.map → chunk-GBOYOL5L.js.map} +0 -0
  354. /package/dist/{chunk-YUTG35M4.js.map → chunk-GJVGFKOU.js.map} +0 -0
  355. /package/dist/{chunk-K36RMINQ.js.map → chunk-GOZXQNIM.js.map} +0 -0
  356. /package/dist/{chunk-HWHNQVRV.js.map → chunk-GYNRNKMW.js.map} +0 -0
  357. /package/dist/{chunk-KFLD7ZZG.js.map → chunk-IUKYFTGW.js.map} +0 -0
  358. /package/dist/{chunk-BNQJKWWZ.js.map → chunk-K3FH3LAQ.js.map} +0 -0
  359. /package/dist/{chunk-FJ2VJTGA.js.map → chunk-KHZVAISH.js.map} +0 -0
  360. /package/dist/{chunk-WHQXWFH7.js.map → chunk-LT3CMO65.js.map} +0 -0
  361. /package/dist/{chunk-NUSAAN75.js.map → chunk-MHSBOEH7.js.map} +0 -0
  362. /package/dist/{chunk-KJCL2FZO.js.map → chunk-MNYQVYJ4.js.map} +0 -0
  363. /package/dist/{chunk-RZH5RVJC.js.map → chunk-MTTYIXSU.js.map} +0 -0
  364. /package/dist/{chunk-FVRTCYZ3.js.map → chunk-MVOJDLXS.js.map} +0 -0
  365. /package/dist/{chunk-KESJ5XX3.js.map → chunk-MYCCO6AA.js.map} +0 -0
  366. /package/dist/{chunk-66JOLMWS.js.map → chunk-MZCGHPIJ.js.map} +0 -0
  367. /package/dist/{chunk-B4ZU34JQ.js.map → chunk-N6II66E5.js.map} +0 -0
  368. /package/dist/{chunk-BK7AJUWB.js.map → chunk-NIV7RPWQ.js.map} +0 -0
  369. /package/dist/{chunk-TLHF75OR.js.map → chunk-O55AGDTI.js.map} +0 -0
  370. /package/dist/{chunk-GGJFRVRD.js.map → chunk-OMYRPMQC.js.map} +0 -0
  371. /package/dist/{chunk-XHGYZRVW.js.map → chunk-OSTFDWZJ.js.map} +0 -0
  372. /package/dist/{chunk-BXLOS5AJ.js.map → chunk-OWHERGF2.js.map} +0 -0
  373. /package/dist/{chunk-WC475JOG.js.map → chunk-P225W4RQ.js.map} +0 -0
  374. /package/dist/{chunk-TFA6HPOA.js.map → chunk-QCP75JGO.js.map} +0 -0
  375. /package/dist/{chunk-JRVMCZE3.js.map → chunk-QEYTRFR3.js.map} +0 -0
  376. /package/dist/{chunk-IZJQNDGI.js.map → chunk-R6HMAIKM.js.map} +0 -0
  377. /package/dist/{chunk-VUROWXFL.js.map → chunk-RNGDKFY2.js.map} +0 -0
  378. /package/dist/{chunk-FF6N7BXC.js.map → chunk-S45INSV3.js.map} +0 -0
  379. /package/dist/{chunk-2RUTN7PR.js.map → chunk-S7GJNA3K.js.map} +0 -0
  380. /package/dist/{chunk-RJWL3RHB.js.map → chunk-TFEHSPGQ.js.map} +0 -0
  381. /package/dist/{chunk-T77AX6DG.js.map → chunk-TQVECGUQ.js.map} +0 -0
  382. /package/dist/{chunk-OQSSQOKQ.js.map → chunk-TV65NR7L.js.map} +0 -0
  383. /package/dist/{chunk-HQPFACXO.js.map → chunk-UH3FPX3L.js.map} +0 -0
  384. /package/dist/{chunk-4EACCIPO.js.map → chunk-UHPHH74F.js.map} +0 -0
  385. /package/dist/{chunk-DQEMWVMT.js.map → chunk-UVYI6VIX.js.map} +0 -0
  386. /package/dist/{chunk-6QYPL6NI.js.map → chunk-V45TEVDA.js.map} +0 -0
  387. /package/dist/{chunk-GCAQ3VUJ.js.map → chunk-VCVEMQJK.js.map} +0 -0
  388. /package/dist/{chunk-6L63IN3M.js.map → chunk-VEFGHRKV.js.map} +0 -0
  389. /package/dist/{chunk-E33UJHY3.js.map → chunk-WFDWLWDK.js.map} +0 -0
  390. /package/dist/{chunk-KQLBXUUQ.js.map → chunk-WYG5UNDY.js.map} +0 -0
  391. /package/dist/{chunk-MPGLM2VU.js.map → chunk-X7REO4CH.js.map} +0 -0
  392. /package/dist/{chunk-FZVROZKC.js.map → chunk-XVZA6VXC.js.map} +0 -0
  393. /package/dist/{chunk-WV254W4V.js.map → chunk-Y3IYKNBY.js.map} +0 -0
  394. /package/dist/{chunk-FUOAIJKQ.js.map → chunk-Y43X3E24.js.map} +0 -0
  395. /package/dist/{chunk-3T3VHXUH.js.map → chunk-YAAKVTZA.js.map} +0 -0
  396. /package/dist/{chunk-VPEIWMUT.js.map → chunk-YLTU2DC4.js.map} +0 -0
  397. /package/dist/{chunk-65SKM4BF.js.map → chunk-YNBMBL4C.js.map} +0 -0
  398. /package/dist/{chunk-PJYK7HH2.js.map → chunk-ZWTHVUT5.js.map} +0 -0
  399. /package/dist/{first-start-migration-QVD22WWS.js.map → first-start-migration-A6PHIBUQ.js.map} +0 -0
@@ -1,44 +1,44 @@
1
1
  import {
2
2
  compareVerifiedEpisodeResults,
3
3
  searchVerifiedEpisodes
4
- } from "./chunk-2IW5PT7U.js";
4
+ } from "./chunk-6KFFRMPQ.js";
5
5
  import "./chunk-B7RWBZXW.js";
6
- import "./chunk-WAD32CZG.js";
6
+ import "./chunk-ELWI2R6H.js";
7
7
  import "./chunk-UHVXE24Y.js";
8
8
  import "./chunk-QGVCFVX6.js";
9
9
  import "./chunk-IGOW4TJE.js";
10
10
  import "./chunk-G6OFEGUR.js";
11
- import "./chunk-7PMOCQOL.js";
12
- import "./chunk-LU66I56Q.js";
13
- import "./chunk-VKDAJJQP.js";
11
+ import "./chunk-3ODZLCHC.js";
12
+ import "./chunk-H34INI3P.js";
13
+ import "./chunk-DI5ET2IE.js";
14
+ import "./chunk-DLZGSZVC.js";
14
15
  import "./chunk-OVZIYLBZ.js";
15
16
  import "./chunk-EXYT52NR.js";
16
17
  import "./chunk-DOJBV6WR.js";
17
18
  import "./chunk-PFUXPTBT.js";
18
- import "./chunk-CYEPCZN5.js";
19
- import "./chunk-DLZGSZVC.js";
20
19
  import "./chunk-WNEVEMJ3.js";
21
20
  import "./chunk-Y5NLBXPV.js";
22
- import "./chunk-TFA6HPOA.js";
21
+ import "./chunk-CYEPCZN5.js";
22
+ import "./chunk-QCP75JGO.js";
23
+ import "./chunk-A7Q43EUZ.js";
23
24
  import "./chunk-F4TWWUMP.js";
24
25
  import "./chunk-72A4L5JJ.js";
25
- import "./chunk-A7Q43EUZ.js";
26
26
  import "./chunk-S2V7RUCL.js";
27
27
  import "./chunk-PPUNC7UX.js";
28
28
  import "./chunk-X3724WL4.js";
29
- import "./chunk-MRPOZBJC.js";
30
29
  import "./chunk-S2HLHAZ4.js";
30
+ import "./chunk-MRPOZBJC.js";
31
31
  import "./chunk-DM2T26WE.js";
32
32
  import "./chunk-LDXUBPMO.js";
33
- import "./chunk-FF6N7BXC.js";
33
+ import "./chunk-S45INSV3.js";
34
34
  import "./chunk-QFEDITXM.js";
35
35
  import "./chunk-AAD2ZS6P.js";
36
- import "./chunk-BV2BRHD4.js";
36
+ import "./chunk-FHGWKODN.js";
37
37
  import "./chunk-ZIKENA2C.js";
38
- import "./chunk-3ONXXHQO.js";
39
- import "./chunk-YXZG5TVN.js";
40
38
  import "./chunk-3OUGSOJP.js";
41
39
  import "./chunk-SCU65EZI.js";
40
+ import "./chunk-3ONXXHQO.js";
41
+ import "./chunk-YXZG5TVN.js";
42
42
  import "./chunk-P4GUQSK3.js";
43
43
  import "./chunk-4LZ7SVKM.js";
44
44
  import "./chunk-YHTG64XV.js";
@@ -51,6 +51,12 @@ import "./chunk-IAYUTGF2.js";
51
51
  import "./chunk-5WITETWU.js";
52
52
  import "./chunk-6CIAGZ6X.js";
53
53
  import "./chunk-7CT3AI52.js";
54
+ import "./chunk-ZU5JDLOH.js";
55
+ import "./chunk-I55KAVET.js";
56
+ import "./chunk-L2EXJQJP.js";
57
+ import "./chunk-45GF7Y3V.js";
58
+ import "./chunk-ZU3NJNO7.js";
59
+ import "./chunk-E2AWJ7KQ.js";
54
60
  import "./chunk-7VLBZKNB.js";
55
61
  import "./chunk-Y33KJ556.js";
56
62
  import "./chunk-WBN66HPI.js";
@@ -62,24 +68,18 @@ import "./chunk-IUM3VSHI.js";
62
68
  import "./chunk-C64XATK7.js";
63
69
  import "./chunk-42JKGUFJ.js";
64
70
  import "./chunk-23G5P7TA.js";
65
- import "./chunk-4KLQI3L2.js";
66
- import "./chunk-ZU5JDLOH.js";
67
- import "./chunk-I55KAVET.js";
68
- import "./chunk-L2EXJQJP.js";
69
- import "./chunk-45GF7Y3V.js";
70
- import "./chunk-ZU3NJNO7.js";
71
- import "./chunk-E2AWJ7KQ.js";
71
+ import "./chunk-WLNWFHX3.js";
72
+ import "./chunk-PJKTFXE2.js";
72
73
  import "./chunk-W5BIQOAJ.js";
73
74
  import "./chunk-HADD45AR.js";
74
75
  import "./chunk-RNFMFC37.js";
75
76
  import "./chunk-YCVB7X56.js";
76
77
  import "./chunk-PQVCH2AE.js";
77
- import "./chunk-PJKTFXE2.js";
78
78
  import "./chunk-V4XE263I.js";
79
79
  import "./chunk-YBA52OKG.js";
80
- import "./chunk-JRVMCZE3.js";
80
+ import "./chunk-QEYTRFR3.js";
81
81
  import "./chunk-BT7NVCML.js";
82
- import "./chunk-IZJQNDGI.js";
82
+ import "./chunk-R6HMAIKM.js";
83
83
  import "./chunk-BJMBJZ2Y.js";
84
84
  import "./chunk-UKJAGEXH.js";
85
85
  import "./chunk-FP2373TW.js";
@@ -91,7 +91,7 @@ import "./chunk-AL3UYZ5N.js";
91
91
  import "./chunk-RL6NEVXT.js";
92
92
  import "./chunk-YET735EZ.js";
93
93
  import "./chunk-PWPIERBM.js";
94
- import "./chunk-KQUSP6LB.js";
94
+ import "./chunk-UDKWFDV2.js";
95
95
  import "./chunk-5FVVY2EB.js";
96
96
  import "./chunk-BTNNL7ZW.js";
97
97
  import "./chunk-JDSVLVCG.js";
@@ -4,44 +4,44 @@ import {
4
4
  renderWhoKnows,
5
5
  renderWhoKnowsJson,
6
6
  renderWhoKnowsText
7
- } from "./chunk-KJCL2FZO.js";
8
- import "./chunk-FUOAIJKQ.js";
9
- import "./chunk-WAD32CZG.js";
7
+ } from "./chunk-MNYQVYJ4.js";
8
+ import "./chunk-Y43X3E24.js";
9
+ import "./chunk-ELWI2R6H.js";
10
10
  import "./chunk-UHVXE24Y.js";
11
11
  import "./chunk-QGVCFVX6.js";
12
12
  import "./chunk-IGOW4TJE.js";
13
13
  import "./chunk-G6OFEGUR.js";
14
- import "./chunk-7PMOCQOL.js";
15
- import "./chunk-LU66I56Q.js";
16
- import "./chunk-VKDAJJQP.js";
14
+ import "./chunk-3ODZLCHC.js";
15
+ import "./chunk-H34INI3P.js";
16
+ import "./chunk-DI5ET2IE.js";
17
+ import "./chunk-DLZGSZVC.js";
17
18
  import "./chunk-OVZIYLBZ.js";
18
19
  import "./chunk-EXYT52NR.js";
19
20
  import "./chunk-DOJBV6WR.js";
20
21
  import "./chunk-PFUXPTBT.js";
21
- import "./chunk-CYEPCZN5.js";
22
- import "./chunk-DLZGSZVC.js";
23
22
  import "./chunk-WNEVEMJ3.js";
24
23
  import "./chunk-Y5NLBXPV.js";
25
- import "./chunk-TFA6HPOA.js";
24
+ import "./chunk-CYEPCZN5.js";
25
+ import "./chunk-QCP75JGO.js";
26
+ import "./chunk-A7Q43EUZ.js";
26
27
  import "./chunk-F4TWWUMP.js";
27
28
  import "./chunk-72A4L5JJ.js";
28
- import "./chunk-A7Q43EUZ.js";
29
29
  import "./chunk-S2V7RUCL.js";
30
30
  import "./chunk-PPUNC7UX.js";
31
31
  import "./chunk-X3724WL4.js";
32
- import "./chunk-MRPOZBJC.js";
33
32
  import "./chunk-S2HLHAZ4.js";
33
+ import "./chunk-MRPOZBJC.js";
34
34
  import "./chunk-DM2T26WE.js";
35
35
  import "./chunk-LDXUBPMO.js";
36
- import "./chunk-FF6N7BXC.js";
36
+ import "./chunk-S45INSV3.js";
37
37
  import "./chunk-QFEDITXM.js";
38
38
  import "./chunk-AAD2ZS6P.js";
39
- import "./chunk-BV2BRHD4.js";
39
+ import "./chunk-FHGWKODN.js";
40
40
  import "./chunk-ZIKENA2C.js";
41
- import "./chunk-3ONXXHQO.js";
42
- import "./chunk-YXZG5TVN.js";
43
41
  import "./chunk-3OUGSOJP.js";
44
42
  import "./chunk-SCU65EZI.js";
43
+ import "./chunk-3ONXXHQO.js";
44
+ import "./chunk-YXZG5TVN.js";
45
45
  import "./chunk-P4GUQSK3.js";
46
46
  import "./chunk-4LZ7SVKM.js";
47
47
  import "./chunk-YHTG64XV.js";
@@ -54,6 +54,12 @@ import "./chunk-IAYUTGF2.js";
54
54
  import "./chunk-5WITETWU.js";
55
55
  import "./chunk-6CIAGZ6X.js";
56
56
  import "./chunk-7CT3AI52.js";
57
+ import "./chunk-ZU5JDLOH.js";
58
+ import "./chunk-I55KAVET.js";
59
+ import "./chunk-L2EXJQJP.js";
60
+ import "./chunk-45GF7Y3V.js";
61
+ import "./chunk-ZU3NJNO7.js";
62
+ import "./chunk-E2AWJ7KQ.js";
57
63
  import "./chunk-7VLBZKNB.js";
58
64
  import "./chunk-Y33KJ556.js";
59
65
  import "./chunk-WBN66HPI.js";
@@ -65,24 +71,18 @@ import "./chunk-IUM3VSHI.js";
65
71
  import "./chunk-C64XATK7.js";
66
72
  import "./chunk-42JKGUFJ.js";
67
73
  import "./chunk-23G5P7TA.js";
68
- import "./chunk-4KLQI3L2.js";
69
- import "./chunk-ZU5JDLOH.js";
70
- import "./chunk-I55KAVET.js";
71
- import "./chunk-L2EXJQJP.js";
72
- import "./chunk-45GF7Y3V.js";
73
- import "./chunk-ZU3NJNO7.js";
74
- import "./chunk-E2AWJ7KQ.js";
74
+ import "./chunk-WLNWFHX3.js";
75
+ import "./chunk-PJKTFXE2.js";
75
76
  import "./chunk-W5BIQOAJ.js";
76
77
  import "./chunk-HADD45AR.js";
77
78
  import "./chunk-RNFMFC37.js";
78
79
  import "./chunk-YCVB7X56.js";
79
80
  import "./chunk-PQVCH2AE.js";
80
- import "./chunk-PJKTFXE2.js";
81
81
  import "./chunk-V4XE263I.js";
82
82
  import "./chunk-YBA52OKG.js";
83
- import "./chunk-JRVMCZE3.js";
83
+ import "./chunk-QEYTRFR3.js";
84
84
  import "./chunk-BT7NVCML.js";
85
- import "./chunk-IZJQNDGI.js";
85
+ import "./chunk-R6HMAIKM.js";
86
86
  import "./chunk-BJMBJZ2Y.js";
87
87
  import "./chunk-UKJAGEXH.js";
88
88
  import "./chunk-FP2373TW.js";
@@ -94,7 +94,7 @@ import "./chunk-AL3UYZ5N.js";
94
94
  import "./chunk-RL6NEVXT.js";
95
95
  import "./chunk-YET735EZ.js";
96
96
  import "./chunk-PWPIERBM.js";
97
- import "./chunk-KQUSP6LB.js";
97
+ import "./chunk-UDKWFDV2.js";
98
98
  import "./chunk-5FVVY2EB.js";
99
99
  import "./chunk-BTNNL7ZW.js";
100
100
  import "./chunk-JDSVLVCG.js";
package/dist/who-knows.js CHANGED
@@ -9,43 +9,43 @@ import {
9
9
  loadWhoKnowsEntities,
10
10
  tokenizeTopic,
11
11
  validateWhoKnowsInput
12
- } from "./chunk-FUOAIJKQ.js";
13
- import "./chunk-WAD32CZG.js";
12
+ } from "./chunk-Y43X3E24.js";
13
+ import "./chunk-ELWI2R6H.js";
14
14
  import "./chunk-UHVXE24Y.js";
15
15
  import "./chunk-QGVCFVX6.js";
16
16
  import "./chunk-IGOW4TJE.js";
17
17
  import "./chunk-G6OFEGUR.js";
18
- import "./chunk-7PMOCQOL.js";
19
- import "./chunk-LU66I56Q.js";
20
- import "./chunk-VKDAJJQP.js";
18
+ import "./chunk-3ODZLCHC.js";
19
+ import "./chunk-H34INI3P.js";
20
+ import "./chunk-DI5ET2IE.js";
21
+ import "./chunk-DLZGSZVC.js";
21
22
  import "./chunk-OVZIYLBZ.js";
22
23
  import "./chunk-EXYT52NR.js";
23
24
  import "./chunk-DOJBV6WR.js";
24
25
  import "./chunk-PFUXPTBT.js";
25
- import "./chunk-CYEPCZN5.js";
26
- import "./chunk-DLZGSZVC.js";
27
26
  import "./chunk-WNEVEMJ3.js";
28
27
  import "./chunk-Y5NLBXPV.js";
29
- import "./chunk-TFA6HPOA.js";
28
+ import "./chunk-CYEPCZN5.js";
29
+ import "./chunk-QCP75JGO.js";
30
+ import "./chunk-A7Q43EUZ.js";
30
31
  import "./chunk-F4TWWUMP.js";
31
32
  import "./chunk-72A4L5JJ.js";
32
- import "./chunk-A7Q43EUZ.js";
33
33
  import "./chunk-S2V7RUCL.js";
34
34
  import "./chunk-PPUNC7UX.js";
35
35
  import "./chunk-X3724WL4.js";
36
- import "./chunk-MRPOZBJC.js";
37
36
  import "./chunk-S2HLHAZ4.js";
37
+ import "./chunk-MRPOZBJC.js";
38
38
  import "./chunk-DM2T26WE.js";
39
39
  import "./chunk-LDXUBPMO.js";
40
- import "./chunk-FF6N7BXC.js";
40
+ import "./chunk-S45INSV3.js";
41
41
  import "./chunk-QFEDITXM.js";
42
42
  import "./chunk-AAD2ZS6P.js";
43
- import "./chunk-BV2BRHD4.js";
43
+ import "./chunk-FHGWKODN.js";
44
44
  import "./chunk-ZIKENA2C.js";
45
- import "./chunk-3ONXXHQO.js";
46
- import "./chunk-YXZG5TVN.js";
47
45
  import "./chunk-3OUGSOJP.js";
48
46
  import "./chunk-SCU65EZI.js";
47
+ import "./chunk-3ONXXHQO.js";
48
+ import "./chunk-YXZG5TVN.js";
49
49
  import "./chunk-P4GUQSK3.js";
50
50
  import "./chunk-4LZ7SVKM.js";
51
51
  import "./chunk-YHTG64XV.js";
@@ -58,6 +58,12 @@ import "./chunk-IAYUTGF2.js";
58
58
  import "./chunk-5WITETWU.js";
59
59
  import "./chunk-6CIAGZ6X.js";
60
60
  import "./chunk-7CT3AI52.js";
61
+ import "./chunk-ZU5JDLOH.js";
62
+ import "./chunk-I55KAVET.js";
63
+ import "./chunk-L2EXJQJP.js";
64
+ import "./chunk-45GF7Y3V.js";
65
+ import "./chunk-ZU3NJNO7.js";
66
+ import "./chunk-E2AWJ7KQ.js";
61
67
  import "./chunk-7VLBZKNB.js";
62
68
  import "./chunk-Y33KJ556.js";
63
69
  import "./chunk-WBN66HPI.js";
@@ -69,24 +75,18 @@ import "./chunk-IUM3VSHI.js";
69
75
  import "./chunk-C64XATK7.js";
70
76
  import "./chunk-42JKGUFJ.js";
71
77
  import "./chunk-23G5P7TA.js";
72
- import "./chunk-4KLQI3L2.js";
73
- import "./chunk-ZU5JDLOH.js";
74
- import "./chunk-I55KAVET.js";
75
- import "./chunk-L2EXJQJP.js";
76
- import "./chunk-45GF7Y3V.js";
77
- import "./chunk-ZU3NJNO7.js";
78
- import "./chunk-E2AWJ7KQ.js";
78
+ import "./chunk-WLNWFHX3.js";
79
+ import "./chunk-PJKTFXE2.js";
79
80
  import "./chunk-W5BIQOAJ.js";
80
81
  import "./chunk-HADD45AR.js";
81
82
  import "./chunk-RNFMFC37.js";
82
83
  import "./chunk-YCVB7X56.js";
83
84
  import "./chunk-PQVCH2AE.js";
84
- import "./chunk-PJKTFXE2.js";
85
85
  import "./chunk-V4XE263I.js";
86
86
  import "./chunk-YBA52OKG.js";
87
- import "./chunk-JRVMCZE3.js";
87
+ import "./chunk-QEYTRFR3.js";
88
88
  import "./chunk-BT7NVCML.js";
89
- import "./chunk-IZJQNDGI.js";
89
+ import "./chunk-R6HMAIKM.js";
90
90
  import "./chunk-BJMBJZ2Y.js";
91
91
  import "./chunk-UKJAGEXH.js";
92
92
  import "./chunk-FP2373TW.js";
@@ -98,7 +98,7 @@ import "./chunk-AL3UYZ5N.js";
98
98
  import "./chunk-RL6NEVXT.js";
99
99
  import "./chunk-YET735EZ.js";
100
100
  import "./chunk-PWPIERBM.js";
101
- import "./chunk-KQUSP6LB.js";
101
+ import "./chunk-UDKWFDV2.js";
102
102
  import "./chunk-5FVVY2EB.js";
103
103
  import "./chunk-BTNNL7ZW.js";
104
104
  import "./chunk-JDSVLVCG.js";
@@ -12,10 +12,10 @@ import {
12
12
  isMemoryCategory,
13
13
  isSealedMemoryEnvelope,
14
14
  sealedWriteToLegacyArgs
15
- } from "./chunk-JRVMCZE3.js";
15
+ } from "./chunk-QEYTRFR3.js";
16
16
  import "./chunk-BT7NVCML.js";
17
- import "./chunk-IZJQNDGI.js";
18
- import "./chunk-KQUSP6LB.js";
17
+ import "./chunk-R6HMAIKM.js";
18
+ import "./chunk-UDKWFDV2.js";
19
19
  import "./chunk-5FVVY2EB.js";
20
20
  import "./chunk-JDSVLVCG.js";
21
21
  import "./chunk-5GKPFL3S.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnic/core",
3
- "version": "10.0.84",
3
+ "version": "10.0.85",
4
4
  "description": "Framework-agnostic Remnic memory engine — orchestrator, storage, extraction, search, trust zones",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -3386,7 +3386,7 @@
3386
3386
  "core"
3387
3387
  ],
3388
3388
  "peerDependencies": {
3389
- "@remnic/coding-graph": "^10.0.84"
3389
+ "@remnic/coding-graph": "^10.0.85"
3390
3390
  },
3391
3391
  "peerDependenciesMeta": {
3392
3392
  "@remnic/coding-graph": {
@@ -0,0 +1,47 @@
1
+ import assert from "node:assert/strict";
2
+ import test from "node:test";
3
+
4
+ import { MCP_STDIO_MAX_FRAME_BYTES, McpFrameReader } from "./access-mcp-frames.js";
5
+
6
+ function frame(body: string): Buffer {
7
+ return Buffer.from(`Content-Length: ${Buffer.byteLength(body, "utf-8")}\r\n\r\n${body}`, "utf-8");
8
+ }
9
+
10
+ test("a frame that arrives in two reads is returned once, without re-reading the partial buffer", () => {
11
+ const reader = new McpFrameReader();
12
+ const whole = frame('{"id":1}');
13
+ reader.push(whole.subarray(0, 10));
14
+ assert.equal(reader.next(), null);
15
+ assert.equal(reader.hasUnread(), false);
16
+
17
+ reader.push(whole.subarray(10));
18
+ assert.equal(reader.hasUnread(), true);
19
+ assert.deepEqual(reader.next(), { kind: "body", text: '{"id":1}' });
20
+ assert.equal(reader.next(), null);
21
+ });
22
+
23
+ test("bytes that arrive after the reader stopped on an empty buffer are unread", () => {
24
+ const reader = new McpFrameReader();
25
+ reader.push(frame("first"));
26
+ assert.deepEqual(reader.next(), { kind: "body", text: "first" });
27
+ assert.equal(reader.next(), null);
28
+ assert.equal(reader.hasUnread(), false);
29
+
30
+ reader.push(frame("second"));
31
+ assert.equal(reader.hasUnread(), true);
32
+ assert.deepEqual(reader.next(), { kind: "body", text: "second" });
33
+ });
34
+
35
+ test("the body of an oversized frame is dropped across reads and the next frame is read", () => {
36
+ const reader = new McpFrameReader();
37
+ const declared = MCP_STDIO_MAX_FRAME_BYTES + 5;
38
+ reader.push(Buffer.from(`Content-Length: ${declared}\r\n\r\n${"A".repeat(100)}`, "utf-8"));
39
+ assert.deepEqual(reader.next(), { kind: "too-large" });
40
+ assert.equal(reader.next(), null);
41
+
42
+ reader.push(Buffer.from("B".repeat(declared - 100), "utf-8"));
43
+ assert.equal(reader.hasUnread(), false);
44
+
45
+ reader.push(frame("after"));
46
+ assert.deepEqual(reader.next(), { kind: "body", text: "after" });
47
+ });
@@ -0,0 +1,74 @@
1
+ /**
2
+ * Content-Length framing for the MCP stdio transport.
3
+ *
4
+ * `push` appends raw bytes. `next` returns one frame at a time and `null` when
5
+ * the buffered bytes hold no complete frame yet. The header and the body are
6
+ * each bounded to MCP_STDIO_MAX_FRAME_BYTES, which matches the HTTP access
7
+ * default `maxBodyBytes`, so a peer cannot grow the buffer without limit.
8
+ */
9
+ export const MCP_STDIO_MAX_FRAME_BYTES = 131072;
10
+
11
+ export type McpFrame = { kind: "body"; text: string } | { kind: "too-large" };
12
+
13
+ const TOO_LARGE: McpFrame = { kind: "too-large" };
14
+
15
+ export class McpFrameReader {
16
+ private buffer = Buffer.alloc(0);
17
+ /** Body bytes of a refused oversized frame that have not arrived yet. */
18
+ private skipBytes = 0;
19
+ /** Buffer length when `next` last stopped on an incomplete frame. */
20
+ private waitingBytes = 0;
21
+
22
+ push(chunk: Buffer): void {
23
+ const dropped = Math.min(this.skipBytes, chunk.length);
24
+ this.skipBytes -= dropped;
25
+ const kept = chunk.subarray(dropped);
26
+ if (kept.length > 0) this.buffer = Buffer.concat([this.buffer, kept]);
27
+ }
28
+
29
+ /** True when bytes arrived after `next` last examined the buffer. */
30
+ hasUnread(): boolean {
31
+ return this.buffer.length > this.waitingBytes;
32
+ }
33
+
34
+ next(): McpFrame | null {
35
+ this.waitingBytes = 0;
36
+ const headerEnd = this.buffer.indexOf("\r\n\r\n");
37
+ if (headerEnd < 0) {
38
+ if (this.buffer.length <= MCP_STDIO_MAX_FRAME_BYTES) return this.wait();
39
+ return this.discardBuffer();
40
+ }
41
+ if (headerEnd > MCP_STDIO_MAX_FRAME_BYTES) return this.discardBuffer();
42
+
43
+ const headers = this.buffer.subarray(0, headerEnd).toString("utf-8").split("\r\n");
44
+ const lengthHeader = headers.find((line) => line.toLowerCase().startsWith("content-length:"));
45
+ const contentLength = lengthHeader ? Number.parseInt(lengthHeader.split(":")[1]?.trim() ?? "0", 10) : NaN;
46
+ if (!Number.isFinite(contentLength) || contentLength < 0) {
47
+ this.buffer = Buffer.alloc(0);
48
+ return null;
49
+ }
50
+
51
+ const bodyStart = headerEnd + 4;
52
+ if (contentLength > MCP_STDIO_MAX_FRAME_BYTES) {
53
+ const rest = this.buffer.subarray(bodyStart);
54
+ this.skipBytes = Math.max(0, contentLength - rest.length);
55
+ this.buffer = rest.subarray(Math.min(contentLength, rest.length));
56
+ return TOO_LARGE;
57
+ }
58
+ const bodyEnd = bodyStart + contentLength;
59
+ if (this.buffer.length < bodyEnd) return this.wait();
60
+ const text = this.buffer.subarray(bodyStart, bodyEnd).toString("utf-8");
61
+ this.buffer = this.buffer.subarray(bodyEnd);
62
+ return { kind: "body", text };
63
+ }
64
+
65
+ private wait(): null {
66
+ this.waitingBytes = this.buffer.length;
67
+ return null;
68
+ }
69
+
70
+ private discardBuffer(): McpFrame {
71
+ this.buffer = Buffer.alloc(0);
72
+ return TOO_LARGE;
73
+ }
74
+ }
@@ -10,12 +10,16 @@ import assert from "node:assert/strict";
10
10
  import { mkdir, mkdtemp, rm, writeFile } from "node:fs/promises";
11
11
  import os from "node:os";
12
12
  import path from "node:path";
13
+ import { PassThrough } from "node:stream";
13
14
  import test from "node:test";
14
15
 
15
16
  import { EngramMcpServer } from "./access-mcp.js";
17
+ import { MCP_STDIO_MAX_FRAME_BYTES } from "./access-mcp-frames.js";
18
+ import { EngramAccessForbiddenError } from "./access-errors.js";
16
19
  import { tokenCapabilityStore } from "./access-token-capabilities.js";
17
20
  import { EngramAccessInputError, type EngramAccessService } from "./access-service.js";
18
21
  import { parseConfig } from "./config.js";
22
+ import { initLogger, resetLogger } from "./logger.js";
19
23
  import { readPair, writePair } from "./contradiction/contradiction-review.js";
20
24
  import type { StorageManager } from "./storage.js";
21
25
 
@@ -1451,3 +1455,145 @@ test("MCP external_wiki_search rejects an empty query before service dispatch",
1451
1455
  assert.equal(readMcpResult(response).isError, true);
1452
1456
  assert.equal(configRead, false);
1453
1457
  });
1458
+
1459
+ // ===========================================================================
1460
+ // Issue #3225 C5 — tools/call catch-all must not leak unexpected Error.message
1461
+ // (paths from fs/backend). Intended typed access errors stay readable.
1462
+ // ===========================================================================
1463
+
1464
+ function serviceWithRecallThrow(error: Error): EngramAccessService {
1465
+ const service = makeMockService();
1466
+ service.recall = async () => {
1467
+ throw error;
1468
+ };
1469
+ return service;
1470
+ }
1471
+
1472
+ test("MCP tools/call hides unexpected Error.message paths behind internal error", async () => {
1473
+ const secretPath = "/home/secret/vault/token.pem";
1474
+ const service = serviceWithRecallThrow(
1475
+ new Error(`ENOENT: no such file or directory, open '${secretPath}'`),
1476
+ );
1477
+
1478
+ const logLines: string[] = [];
1479
+ initLogger(
1480
+ {
1481
+ info() {},
1482
+ warn() {},
1483
+ error(msg: string) {
1484
+ logLines.push(msg);
1485
+ },
1486
+ },
1487
+ false,
1488
+ { timestamps: false },
1489
+ );
1490
+ try {
1491
+ const server = new EngramMcpServer(service);
1492
+ const outcome = readCallToolOutcome(
1493
+ await server.handleRequest(makeToolRequest("engram.recall", { query: "anything" })),
1494
+ );
1495
+ assert.equal(outcome.isError, true);
1496
+ assert.equal(outcome.text, "internal error");
1497
+ assert.equal(outcome.text.includes(secretPath), false);
1498
+ assert.ok(
1499
+ logLines.some((line) => line.includes(secretPath)),
1500
+ "server log must retain the unexpected detail",
1501
+ );
1502
+ } finally {
1503
+ resetLogger();
1504
+ }
1505
+ });
1506
+
1507
+ test("MCP tools/call keeps intended EngramAccessInputError and ForbiddenError messages", async () => {
1508
+ const inputOutcome = readCallToolOutcome(
1509
+ await new EngramMcpServer(serviceWithRecallThrow(new EngramAccessInputError("memory not found: mem-42"))).handleRequest(
1510
+ makeToolRequest("engram.recall", { query: "anything" }),
1511
+ ),
1512
+ );
1513
+ assert.equal(inputOutcome.isError, true);
1514
+ assert.equal(inputOutcome.text, "memory not found: mem-42");
1515
+
1516
+ const forbiddenOutcome = readCallToolOutcome(
1517
+ await new EngramMcpServer(
1518
+ serviceWithRecallThrow(new EngramAccessForbiddenError("token is not permitted to call operation: recall")),
1519
+ ).handleRequest(makeToolRequest("engram.recall", { query: "anything" })),
1520
+ );
1521
+ assert.equal(forbiddenOutcome.isError, true);
1522
+ assert.equal(forbiddenOutcome.text, "token is not permitted to call operation: recall");
1523
+ });
1524
+
1525
+ // ===========================================================================
1526
+ // Issue #3225 N1 — stdio framing is bounded, refuses an oversized frame,
1527
+ // and keeps answering the frames that follow it.
1528
+ // ===========================================================================
1529
+
1530
+ type StdioMessage = { id?: number | null; result?: object; error?: { message: string } };
1531
+ type StdioRequest = { jsonrpc: "2.0"; id: number; method: string };
1532
+
1533
+ function stdioFrame(payload: StdioRequest): string {
1534
+ const body = JSON.stringify(payload);
1535
+ return `Content-Length: ${Buffer.byteLength(body, "utf-8")}\r\n\r\n${body}`;
1536
+ }
1537
+
1538
+ function readStdioMessages(raw: string): StdioMessage[] {
1539
+ const messages: StdioMessage[] = [];
1540
+ let rest = raw;
1541
+ while (rest.length > 0) {
1542
+ const headerEnd = rest.indexOf("\r\n\r\n");
1543
+ assert.ok(headerEnd >= 0, "server output must be Content-Length framed");
1544
+ const length = Number.parseInt(rest.slice(0, headerEnd).split(":")[1] ?? "", 10);
1545
+ const message: StdioMessage = JSON.parse(rest.slice(headerEnd + 4, headerEnd + 4 + length));
1546
+ messages.push(message);
1547
+ rest = rest.slice(headerEnd + 4 + length);
1548
+ }
1549
+ return messages;
1550
+ }
1551
+
1552
+ /** Feeds each chunk in its own tick so the server sees separate data events. */
1553
+ async function runStdioChunks(chunks: string[]): Promise<StdioMessage[]> {
1554
+ const input = new PassThrough();
1555
+ const output = new PassThrough();
1556
+ output.setEncoding("utf8");
1557
+ let raw = "";
1558
+ output.on("data", (chunk: string) => {
1559
+ raw += chunk;
1560
+ });
1561
+ const running = new EngramMcpServer(makeMockService()).runStdio(input, output);
1562
+ for (const chunk of chunks) {
1563
+ input.write(chunk);
1564
+ await new Promise<void>((resolve) => setImmediate(resolve));
1565
+ }
1566
+ input.end();
1567
+ await running;
1568
+ return readStdioMessages(raw);
1569
+ }
1570
+
1571
+ const stdioPing = (id: number) => stdioFrame({ jsonrpc: "2.0", id, method: "ping" });
1572
+
1573
+ test("MCP stdio refuses an oversized Content-Length, discards its body, and answers the next frame", async () => {
1574
+ const declared = MCP_STDIO_MAX_FRAME_BYTES + 1;
1575
+ const messages = await runStdioChunks([
1576
+ `Content-Length: ${declared}\r\n\r\n`,
1577
+ "x".repeat(1000),
1578
+ "x".repeat(declared - 1000),
1579
+ stdioPing(7),
1580
+ ]);
1581
+ assert.equal(messages.length, 2);
1582
+ assert.match(messages[0]?.error?.message ?? "", /frame too large/);
1583
+ assert.equal(messages[1]?.id, 7);
1584
+ assert.ok(messages[1]?.result, "the frame after the refused one is answered normally");
1585
+ });
1586
+
1587
+ test("MCP stdio refuses a header that never terminates and answers the next frame", async () => {
1588
+ const messages = await runStdioChunks(["A".repeat(MCP_STDIO_MAX_FRAME_BYTES + 1), stdioPing(8)]);
1589
+ assert.equal(messages.length, 2);
1590
+ assert.match(messages[0]?.error?.message ?? "", /frame too large/);
1591
+ assert.equal(messages[1]?.id, 8);
1592
+ });
1593
+
1594
+ test("MCP stdio reassembles a frame split inside its header and inside its body", async () => {
1595
+ const frame = stdioPing(9);
1596
+ const messages = await runStdioChunks([frame.slice(0, 6), frame.slice(6, frame.length - 4), frame.slice(frame.length - 4)]);
1597
+ assert.equal(messages.length, 1);
1598
+ assert.equal(messages[0]?.id, 9);
1599
+ });