@remnic/core 9.69.39 → 9.69.41

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 (774) hide show
  1. package/dist/access-admin-ops-surface.d.ts +16 -14
  2. package/dist/access-admin-ops-surface.js +75 -74
  3. package/dist/access-audit.js +2 -2
  4. package/dist/access-authorization-probe.d.ts +16 -14
  5. package/dist/access-authorization-probe.js +76 -75
  6. package/dist/access-boundary.d.ts +16 -14
  7. package/dist/access-boundary.js +75 -74
  8. package/dist/access-cli.js +173 -170
  9. package/dist/access-cli.js.map +1 -1
  10. package/dist/access-coding-context-resolution.d.ts +1 -1
  11. package/dist/access-extraction-force-flush.d.ts +16 -14
  12. package/dist/access-extraction-force-flush.js +75 -74
  13. package/dist/access-health-types.d.ts +1 -1
  14. package/dist/access-http-briefing.d.ts +16 -14
  15. package/dist/access-http-briefing.js +76 -75
  16. package/dist/access-http-lcm-compaction.d.ts +16 -14
  17. package/dist/access-http-lifecycle-flush.d.ts +16 -14
  18. package/dist/access-http-offline-stream.d.ts +16 -14
  19. package/dist/access-http-query.d.ts +2 -2
  20. package/dist/access-http-query.js +77 -76
  21. package/dist/access-http.d.ts +17 -15
  22. package/dist/access-http.js +95 -92
  23. package/dist/access-identity-continuity-surface.d.ts +13 -12
  24. package/dist/access-identity-continuity-surface.js +75 -74
  25. package/dist/access-lcm-surface.d.ts +16 -14
  26. package/dist/access-lcm-surface.js +75 -74
  27. package/dist/access-mcp-shared-context-tools.d.ts +156 -0
  28. package/dist/access-mcp-shared-context-tools.js +8 -0
  29. package/dist/access-mcp.d.ts +16 -14
  30. package/dist/access-mcp.js +86 -83
  31. package/dist/access-memory-search-fanout.d.ts +2 -2
  32. package/dist/{access-namespace-preflight-DY4z6L5X.d.ts → access-namespace-preflight-DWsMc9Dh.d.ts} +1 -1
  33. package/dist/access-namespace-preflight.d.ts +3 -3
  34. package/dist/access-namespace-preflight.js +75 -74
  35. package/dist/access-observe-transcript.d.ts +13 -12
  36. package/dist/access-observe-write-category.d.ts +1 -1
  37. package/dist/access-observe-write-category.js +4 -4
  38. package/dist/access-observe-write-surface.d.ts +16 -14
  39. package/dist/access-observe-write-surface.js +75 -74
  40. package/dist/access-offline-manifest.d.ts +37 -13
  41. package/dist/access-offline-manifest.js +15 -11
  42. package/dist/access-operations-batch.js +79 -77
  43. package/dist/access-operations.d.ts +16 -14
  44. package/dist/access-operations.js +84 -82
  45. package/dist/access-recall-concurrency.d.ts +16 -14
  46. package/dist/access-recall-concurrency.js +75 -74
  47. package/dist/access-recall-response.d.ts +16 -14
  48. package/dist/access-recall-response.js +75 -74
  49. package/dist/access-recall-surface.d.ts +16 -14
  50. package/dist/access-recall-surface.js +75 -74
  51. package/dist/access-schema.d.ts +5 -3
  52. package/dist/access-schema.js +3 -3
  53. package/dist/{access-service-MY4bsr_Q.d.ts → access-service-Cisy5YDq.d.ts} +14 -9
  54. package/dist/access-service-helpers.d.ts +16 -14
  55. package/dist/access-service.d.ts +16 -14
  56. package/dist/access-service.js +75 -74
  57. package/dist/access-surface-catalog.d.ts +16 -14
  58. package/dist/access-surface-catalog.js +77 -76
  59. package/dist/access-surface-catalog.js.map +1 -1
  60. package/dist/access-wearables-meetings-surface.d.ts +6 -5
  61. package/dist/action-confidence.d.ts +1 -1
  62. package/dist/active-memory-bridge.d.ts +1 -1
  63. package/dist/active-memory-bridge.js +3 -3
  64. package/dist/active-recall.d.ts +1 -1
  65. package/dist/active-recall.js +10 -9
  66. package/dist/active-recall.js.map +1 -1
  67. package/dist/activity/digest.d.ts +1 -1
  68. package/dist/ambient-provenance.d.ts +1 -1
  69. package/dist/artifact-search.d.ts +1 -1
  70. package/dist/{auto-sync-RP4C6ZPF.js → auto-sync-7PGUFY7U.js} +7 -7
  71. package/dist/background-generation-config.d.ts +1 -1
  72. package/dist/background-generation-config.js +3 -1
  73. package/dist/background-generation.d.ts +1 -1
  74. package/dist/behavior-learner.d.ts +1 -1
  75. package/dist/behavior-signals.d.ts +1 -1
  76. package/dist/bootstrap.d.ts +13 -12
  77. package/dist/briefing-window.d.ts +2 -2
  78. package/dist/briefing.d.ts +2 -2
  79. package/dist/briefing.js +23 -23
  80. package/dist/buffer-surprise-report.d.ts +1 -1
  81. package/dist/buffer-turn-helpers.d.ts +1 -1
  82. package/dist/buffer.d.ts +2 -2
  83. package/dist/buffer.js +7 -7
  84. package/dist/bulk-import/index.d.ts +3 -3
  85. package/dist/calibration.d.ts +3 -2
  86. package/dist/calibration.js +2 -2
  87. package/dist/capabilities.d.ts +1 -1
  88. package/dist/{capsule-crypto-7FJQINUR.js → capsule-crypto-YO5QJ6L3.js} +2 -2
  89. package/dist/{capsule-merge-IPG4IOFP.js → capsule-merge-3MNURAQ3.js} +2 -2
  90. package/dist/{catalog-CW87xGx8.d.ts → catalog-wcX1QhtQ.d.ts} +1 -1
  91. package/dist/causal-behavior.d.ts +1 -1
  92. package/dist/causal-consolidation.d.ts +1 -1
  93. package/dist/causal-consolidation.js +29 -28
  94. package/dist/causal-consolidation.js.map +1 -1
  95. package/dist/causal-trajectory-graph.d.ts +1 -1
  96. package/dist/{chunk-YFTNZMGR.js → chunk-27NO2KVB.js} +31 -8
  97. package/dist/chunk-27NO2KVB.js.map +1 -0
  98. package/dist/{chunk-M6RORUO5.js → chunk-2EYZ32LH.js} +24 -2
  99. package/dist/{chunk-M6RORUO5.js.map → chunk-2EYZ32LH.js.map} +1 -1
  100. package/dist/{chunk-XH3HGI2N.js → chunk-2HQPE2NM.js} +2 -2
  101. package/dist/{chunk-3EKVN2OP.js → chunk-2ZG2LLZT.js} +2 -2
  102. package/dist/{chunk-6EHM2AV7.js → chunk-3BLHPQHT.js} +5 -5
  103. package/dist/{chunk-YKREX63Z.js → chunk-3D75XIYO.js} +5 -3
  104. package/dist/chunk-3D75XIYO.js.map +1 -0
  105. package/dist/{chunk-J272ODKJ.js → chunk-42DJ235G.js} +2 -2
  106. package/dist/{chunk-F4EHXVP7.js → chunk-46RII65S.js} +2 -2
  107. package/dist/{chunk-YUW66UAH.js → chunk-4AX5OYKC.js} +2 -2
  108. package/dist/{chunk-AECJY3GJ.js → chunk-4IGOLIWM.js} +2 -2
  109. package/dist/{chunk-2ZTDRNCS.js → chunk-54QPOE45.js} +2 -2
  110. package/dist/{chunk-O4M4BDIJ.js → chunk-563X6JJX.js} +2 -2
  111. package/dist/{chunk-IL6ODG6M.js → chunk-5EQT62HH.js} +2 -2
  112. package/dist/{chunk-JKKII6GX.js → chunk-6MQMYXSQ.js} +2 -2
  113. package/dist/{chunk-TVVEYCNW.js → chunk-7K5Q6COX.js} +4 -4
  114. package/dist/{chunk-BV4ZKIZH.js → chunk-7ZLC4DTZ.js} +5 -4
  115. package/dist/{chunk-WBM2MVBK.js → chunk-A4OIJYCV.js} +2 -2
  116. package/dist/{chunk-RLJHJQUY.js → chunk-AFJHNHAM.js} +8 -8
  117. package/dist/{chunk-6YAIN5XJ.js → chunk-AIVRD66I.js} +44 -6
  118. package/dist/chunk-AIVRD66I.js.map +1 -0
  119. package/dist/{chunk-OEDW4ER7.js → chunk-AJBWVDRV.js} +2 -1
  120. package/dist/chunk-AJBWVDRV.js.map +1 -0
  121. package/dist/{chunk-4RZLTZVM.js → chunk-AKABVXFS.js} +2 -2
  122. package/dist/{chunk-M6HBPLBA.js → chunk-AUSRUOMQ.js} +2 -2
  123. package/dist/{chunk-QHT7MOUF.js → chunk-BTPCP535.js} +25 -14
  124. package/dist/chunk-BTPCP535.js.map +1 -0
  125. package/dist/{chunk-2NLLXCJG.js → chunk-BXLOS5AJ.js} +2 -2
  126. package/dist/{chunk-Q7CLGFA7.js → chunk-C3G6MW4W.js} +3 -3
  127. package/dist/{chunk-O76F5QPP.js → chunk-D6PY63OM.js} +2 -2
  128. package/dist/{chunk-BD7JTBYP.js → chunk-D7MAYFQP.js} +2 -2
  129. package/dist/{chunk-LMLGBG6H.js → chunk-DBB5JPSL.js} +2 -2
  130. package/dist/{chunk-TSP5WH72.js → chunk-DIXZQTGY.js} +2 -2
  131. package/dist/{chunk-P4ZAEYKG.js → chunk-DM5CU5J7.js} +7 -4
  132. package/dist/chunk-DM5CU5J7.js.map +1 -0
  133. package/dist/{chunk-X7Y7WX73.js → chunk-DQEMWVMT.js} +1 -1
  134. package/dist/{chunk-UHRZ324M.js → chunk-E3I3NDUP.js} +4 -4
  135. package/dist/{chunk-AENM6GKU.js → chunk-E4LMQTST.js} +2 -2
  136. package/dist/{chunk-YDVAM7S4.js → chunk-EH3HNCAM.js} +13 -8
  137. package/dist/chunk-EH3HNCAM.js.map +1 -0
  138. package/dist/{chunk-MUTVRKKY.js → chunk-EMSYMYXO.js} +14 -14
  139. package/dist/{chunk-YNDLCWXS.js → chunk-EZ25VE3G.js} +4 -4
  140. package/dist/{chunk-FXHOZGSE.js → chunk-F5H6YG5P.js} +2 -2
  141. package/dist/{chunk-TRLOFIQC.js → chunk-FGFC2EFR.js} +14 -13
  142. package/dist/chunk-FGFC2EFR.js.map +1 -0
  143. package/dist/{chunk-TNSCIPBQ.js → chunk-G6NQ3L4T.js} +2 -2
  144. package/dist/{chunk-ZMWSYUUL.js → chunk-GCBIXUPT.js} +2 -2
  145. package/dist/{chunk-EYKIDK33.js → chunk-GMH5QPUU.js} +22 -22
  146. package/dist/chunk-GMH5QPUU.js.map +1 -0
  147. package/dist/{chunk-4BCHFSC7.js → chunk-GWNSKQDA.js} +3 -3
  148. package/dist/{chunk-JDX2OA4R.js → chunk-HNHIHXSD.js} +2 -2
  149. package/dist/{chunk-GG5FHZJJ.js → chunk-I33QYUAF.js} +6 -6
  150. package/dist/{chunk-LPYYY4AP.js → chunk-I46BYY7U.js} +653 -328
  151. package/dist/chunk-I46BYY7U.js.map +1 -0
  152. package/dist/{chunk-CZTPU65V.js → chunk-ICN37XHG.js} +74 -27
  153. package/dist/chunk-ICN37XHG.js.map +1 -0
  154. package/dist/chunk-IFBSZGW3.js +42 -0
  155. package/dist/chunk-IFBSZGW3.js.map +1 -0
  156. package/dist/{chunk-AAZEKXUP.js → chunk-IYIPXAIJ.js} +2 -2
  157. package/dist/{chunk-ACY4ZPF7.js → chunk-J2MGTGKC.js} +10 -5
  158. package/dist/chunk-J2MGTGKC.js.map +1 -0
  159. package/dist/chunk-JATHBCAV.js +94 -0
  160. package/dist/chunk-JATHBCAV.js.map +1 -0
  161. package/dist/{chunk-5U7K4W6K.js → chunk-JDOBQPJY.js} +3 -3
  162. package/dist/{chunk-TG3FAM2S.js → chunk-JL4TQYM5.js} +48 -1
  163. package/dist/{chunk-TG3FAM2S.js.map → chunk-JL4TQYM5.js.map} +1 -1
  164. package/dist/{chunk-UZZ7SQT3.js → chunk-JMWUPUE6.js} +2 -2
  165. package/dist/{chunk-ENBPQEVU.js → chunk-JSD7Q7LD.js} +2 -2
  166. package/dist/{chunk-QTQ6XKGT.js → chunk-K5D2XVNN.js} +4 -4
  167. package/dist/chunk-K5D2XVNN.js.map +1 -0
  168. package/dist/{chunk-3CBI2ZSA.js → chunk-KG2OOAFF.js} +20 -12
  169. package/dist/chunk-KG2OOAFF.js.map +1 -0
  170. package/dist/{chunk-Q432REND.js → chunk-KJLLPG26.js} +2 -2
  171. package/dist/{chunk-JTQR6L2N.js → chunk-KLUC2GSG.js} +6 -6
  172. package/dist/{chunk-OB3XMWX5.js → chunk-KVO2BTA4.js} +2 -2
  173. package/dist/{chunk-PCOVEDPK.js → chunk-KZJM7R4F.js} +3 -3
  174. package/dist/{chunk-X4TD4O2F.js → chunk-LE2KZ72G.js} +3 -3
  175. package/dist/{chunk-HIP6DKJJ.js → chunk-LQVXSRAJ.js} +2 -2
  176. package/dist/{chunk-A7GQBJP5.js → chunk-LVFI5LG7.js} +7 -7
  177. package/dist/{chunk-FWWWUPOE.js → chunk-MCMS4VUK.js} +25 -15
  178. package/dist/chunk-MCMS4VUK.js.map +1 -0
  179. package/dist/{chunk-5SPCMAUC.js → chunk-N6XTC56E.js} +13 -81
  180. package/dist/chunk-N6XTC56E.js.map +1 -0
  181. package/dist/{chunk-VBSNUH4J.js → chunk-ND7MAIJC.js} +2 -2
  182. package/dist/{chunk-TNZNSMVJ.js → chunk-NYWCFC3K.js} +301 -348
  183. package/dist/chunk-NYWCFC3K.js.map +1 -0
  184. package/dist/{chunk-54NX5EG4.js → chunk-P66QH6R6.js} +2 -2
  185. package/dist/{chunk-62D2PAAM.js → chunk-PAAJWQH5.js} +4 -4
  186. package/dist/{chunk-TA4C3XB7.js → chunk-PFKIOYJH.js} +2 -2
  187. package/dist/{chunk-WIWLX65T.js → chunk-PGGPRF6J.js} +2 -2
  188. package/dist/{chunk-V6EGNVUT.js → chunk-PIWFNPQT.js} +4 -4
  189. package/dist/{chunk-BLDBT6HZ.js → chunk-PJRKLB4Z.js} +18 -2
  190. package/dist/chunk-PJRKLB4Z.js.map +1 -0
  191. package/dist/{chunk-4JVQRFZD.js → chunk-PLJ2MQFT.js} +11 -11
  192. package/dist/{chunk-4RX5O34R.js → chunk-PQ42DJNG.js} +2 -2
  193. package/dist/{chunk-37CAEC7E.js → chunk-PWPIERBM.js} +4 -4
  194. package/dist/{chunk-ZEGL7YCC.js → chunk-Q62GA5U2.js} +2 -2
  195. package/dist/{chunk-CC37E3QM.js → chunk-QKCXRS5A.js} +16 -1
  196. package/dist/chunk-QKCXRS5A.js.map +1 -0
  197. package/dist/{chunk-WKDFJXW5.js → chunk-QM2SPLKQ.js} +1 -1
  198. package/dist/chunk-QM2SPLKQ.js.map +1 -0
  199. package/dist/{chunk-GAS7KYC7.js → chunk-RQQO3ORQ.js} +2 -2
  200. package/dist/{chunk-UZEHHXYC.js → chunk-S4MJTIPG.js} +85 -81
  201. package/dist/chunk-S4MJTIPG.js.map +1 -0
  202. package/dist/chunk-SK7D34OL.js +68 -0
  203. package/dist/chunk-SK7D34OL.js.map +1 -0
  204. package/dist/{chunk-LQNRVPTV.js → chunk-TRTLWUDD.js} +164 -130
  205. package/dist/chunk-TRTLWUDD.js.map +1 -0
  206. package/dist/{chunk-JXN77SGO.js → chunk-U2VDCFXW.js} +1 -1
  207. package/dist/chunk-U2VDCFXW.js.map +1 -0
  208. package/dist/{chunk-CWTCMZGE.js → chunk-UHSOPTNB.js} +132 -6
  209. package/dist/chunk-UHSOPTNB.js.map +1 -0
  210. package/dist/{chunk-3NPNBVFR.js → chunk-UZGHKD3T.js} +2 -2
  211. package/dist/{chunk-IQEJIOEU.js → chunk-V2EXYQEQ.js} +20 -12
  212. package/dist/chunk-V2EXYQEQ.js.map +1 -0
  213. package/dist/{chunk-OPBFP4TF.js → chunk-V2TOGJPM.js} +46 -13
  214. package/dist/chunk-V2TOGJPM.js.map +1 -0
  215. package/dist/{chunk-VJIE4D2I.js → chunk-V62YYBBY.js} +4 -4
  216. package/dist/{chunk-KQAFEZQX.js → chunk-VDX2J7OX.js} +2 -2
  217. package/dist/{chunk-6H2G7RFT.js → chunk-VNQRRUNS.js} +11 -10
  218. package/dist/chunk-VNQRRUNS.js.map +1 -0
  219. package/dist/{chunk-6AGWBKQU.js → chunk-VSN2DMQK.js} +2 -2
  220. package/dist/{chunk-ZHXSOMYH.js → chunk-VVX5PZFS.js} +2 -2
  221. package/dist/{chunk-GI4ZBWPQ.js → chunk-W7UV2ZCA.js} +3 -3
  222. package/dist/{chunk-GMIQV6DD.js → chunk-WBQ4ONQJ.js} +2 -2
  223. package/dist/{chunk-FNHLI2RE.js → chunk-WFMQN7JE.js} +3 -3
  224. package/dist/{chunk-MVAQ2WM3.js → chunk-WGZHSQDV.js} +9 -5
  225. package/dist/chunk-WGZHSQDV.js.map +1 -0
  226. package/dist/{chunk-IYKZJVL5.js → chunk-WN2OXGGH.js} +1 -1
  227. package/dist/chunk-WN2OXGGH.js.map +1 -0
  228. package/dist/{chunk-ZBW7A667.js → chunk-WPGA4RYI.js} +2 -2
  229. package/dist/{chunk-YQNNHLCG.js → chunk-WPGR3RW4.js} +2 -2
  230. package/dist/{chunk-SV4Z2S67.js → chunk-WUUGE7QC.js} +54 -21
  231. package/dist/chunk-WUUGE7QC.js.map +1 -0
  232. package/dist/{chunk-NXGSONWM.js → chunk-WZIO3TW6.js} +2 -2
  233. package/dist/{chunk-ZZUVBZL2.js → chunk-X2QPKLPL.js} +2 -2
  234. package/dist/{chunk-5HYUUFMQ.js → chunk-XCPNH2MG.js} +259 -10
  235. package/dist/chunk-XCPNH2MG.js.map +1 -0
  236. package/dist/{chunk-VSL63CFJ.js → chunk-XRS65T4O.js} +9 -9
  237. package/dist/{chunk-5N4MZLEH.js → chunk-YFXAWGMR.js} +2 -2
  238. package/dist/{chunk-KQW3YGEN.js → chunk-YR5QT4SR.js} +32 -9
  239. package/dist/chunk-YR5QT4SR.js.map +1 -0
  240. package/dist/{chunk-CARRTDKC.js → chunk-Z22M4JCY.js} +4 -3
  241. package/dist/chunk-Z22M4JCY.js.map +1 -0
  242. package/dist/{chunk-D545Z7UH.js → chunk-Z535ADTC.js} +3 -3
  243. package/dist/{chunk-B36GUU6T.js → chunk-Z7NBT6AK.js} +38 -5
  244. package/dist/chunk-Z7NBT6AK.js.map +1 -0
  245. package/dist/{chunk-5YCNDC3C.js → chunk-ZX6NNFSY.js} +3 -3
  246. package/dist/{chunk-3N3PBBEH.js → chunk-ZYSOT6HD.js} +2 -2
  247. package/dist/{chunk-MCRVQ5YQ.js → chunk-ZZEIL3MI.js} +2 -2
  248. package/dist/{cli-DGq0MNpO.d.ts → cli-CUlMlS2N.d.ts} +5 -5
  249. package/dist/cli.d.ts +18 -16
  250. package/dist/cli.js +129 -126
  251. package/dist/coding/export-okf-codegraph.d.ts +1 -1
  252. package/dist/coding/export-okf-codegraph.js +22 -22
  253. package/dist/coding/pre-action-gate.d.ts +1 -1
  254. package/dist/compounding/engine.d.ts +2 -2
  255. package/dist/compounding/engine.js +25 -25
  256. package/dist/compounding/preference-consolidator.d.ts +1 -1
  257. package/dist/compression-optimizer.d.ts +1 -1
  258. package/dist/config.d.ts +1 -1
  259. package/dist/config.js +10 -9
  260. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  261. package/dist/connectors/codex-materialize-runner.js +25 -25
  262. package/dist/connectors/codex-materialize.d.ts +1 -1
  263. package/dist/connectors/codex-materialize.js +2 -2
  264. package/dist/connectors/index.d.ts +1 -1
  265. package/dist/connectors/index.js +25 -25
  266. package/dist/consolidation-provenance-check.d.ts +2 -2
  267. package/dist/consolidation-undo.d.ts +2 -2
  268. package/dist/contradiction/index.d.ts +6 -5
  269. package/dist/contradiction/index.js +4 -4
  270. package/dist/{contradiction-scan-BSGKZHYJ.js → contradiction-scan-GVD4JJ7B.js} +4 -4
  271. package/dist/converge-config.d.ts +1 -1
  272. package/dist/convergence-refresh.d.ts +2 -2
  273. package/dist/convergence-refresh.js +26 -26
  274. package/dist/conversation-index/backend.d.ts +1 -1
  275. package/dist/conversation-index/chunker.d.ts +1 -1
  276. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  277. package/dist/conversation-index/indexer.d.ts +1 -1
  278. package/dist/conversation-index/search.d.ts +1 -1
  279. package/dist/corpus-watermark.d.ts +1 -1
  280. package/dist/corpus-watermark.js +25 -25
  281. package/dist/cross-lingual-recall.d.ts +1 -1
  282. package/dist/dashboard-runtime.js +2 -2
  283. package/dist/day-summary.d.ts +1 -1
  284. package/dist/deep-recall-config.d.ts +12 -1
  285. package/dist/deep-recall-config.js +5 -3
  286. package/dist/deep-recall-http-glue.d.ts +19 -15
  287. package/dist/deep-recall-http-glue.js +7 -4
  288. package/dist/deep-recall-mcp-tools.d.ts +16 -14
  289. package/dist/deep-recall-policy-llm.d.ts +14 -3
  290. package/dist/deep-recall-policy-llm.js +3 -3
  291. package/dist/deep-recall-seeds.d.ts +4 -1
  292. package/dist/deep-recall-seeds.js +1 -1
  293. package/dist/deep-recall.d.ts +12 -1
  294. package/dist/deep-recall.js +3 -2
  295. package/dist/delinearize.d.ts +1 -1
  296. package/dist/dependency-propagation-config.d.ts +1 -1
  297. package/dist/{dependency-propagation-delivery-Cq1ekOwV.d.ts → dependency-propagation-delivery-BDDjImQn.d.ts} +1 -1
  298. package/dist/direct-answer-wiring.d.ts +1 -1
  299. package/dist/direct-answer.d.ts +1 -1
  300. package/dist/embedding-fallback.d.ts +1 -1
  301. package/dist/enrichment/index.d.ts +1 -1
  302. package/dist/entity-origin-fields.d.ts +1 -1
  303. package/dist/entity-retrieval.d.ts +2 -2
  304. package/dist/entity-retrieval.js +24 -24
  305. package/dist/entity-schema.d.ts +1 -1
  306. package/dist/episodic-context.d.ts +1 -1
  307. package/dist/eval-trajectory-contracts.d.ts +1 -1
  308. package/dist/eval-trajectory-store.d.ts +1 -1
  309. package/dist/eval-trajectory.d.ts +1 -1
  310. package/dist/explicit-capture.d.ts +13 -12
  311. package/dist/explicit-capture.js +3 -3
  312. package/dist/external-wiki-access.d.ts +16 -14
  313. package/dist/external-wiki-access.js +76 -75
  314. package/dist/external-wiki-collection-registration.d.ts +1 -1
  315. package/dist/external-wiki-collection.d.ts +1 -1
  316. package/dist/external-wiki-mcp-tools.d.ts +16 -14
  317. package/dist/extraction-error-classification.d.ts +14 -3
  318. package/dist/extraction-error-classification.js +5 -3
  319. package/dist/extraction-faithfulness.d.ts +4 -3
  320. package/dist/extraction-faithfulness.js +3 -3
  321. package/dist/extraction-judge-telemetry.d.ts +4 -3
  322. package/dist/extraction-judge-training.d.ts +4 -3
  323. package/dist/extraction-judge.d.ts +4 -3
  324. package/dist/extraction-judge.js +3 -3
  325. package/dist/extraction-liveness.d.ts +1 -1
  326. package/dist/extraction-normalization.d.ts +1 -1
  327. package/dist/extraction-prompt.d.ts +1 -1
  328. package/dist/extraction-source-grounding-rules.d.ts +1 -1
  329. package/dist/extraction-source-grounding.d.ts +1 -1
  330. package/dist/extraction-span-config.d.ts +1 -1
  331. package/dist/extraction-span-materialize.d.ts +1 -1
  332. package/dist/extraction.d.ts +4 -4
  333. package/dist/extraction.js +40 -38
  334. package/dist/fallback-llm-codex-subscription.d.ts +65 -10
  335. package/dist/fallback-llm-codex-subscription.js +19 -1
  336. package/dist/fallback-llm.d.ts +25 -28
  337. package/dist/fallback-llm.js +4 -3
  338. package/dist/{first-start-migration-ZWMV5CX4.js → first-start-migration-L3UFX5CU.js} +4 -4
  339. package/dist/{generic-recall-paths-BcySh_f9.d.ts → generic-recall-paths-CpDzNO_I.d.ts} +1 -1
  340. package/dist/graph-append-error.d.ts +1 -1
  341. package/dist/graph-dashboard-diff.d.ts +1 -1
  342. package/dist/graph-dashboard-key.d.ts +1 -1
  343. package/dist/graph-dashboard-parser.d.ts +1 -1
  344. package/dist/graph-edge-reinforcement.d.ts +1 -1
  345. package/dist/graph-jsonl.d.ts +1 -1
  346. package/dist/graph-path-reconstruction.d.ts +1 -1
  347. package/dist/graph-path-scoring.d.ts +1 -1
  348. package/dist/graph-snapshot.d.ts +1 -1
  349. package/dist/graph.d.ts +1 -1
  350. package/dist/harmonic-retrieval.js +3 -3
  351. package/dist/importance.d.ts +1 -1
  352. package/dist/importers/index.d.ts +1 -1
  353. package/dist/importers/test-utils.d.ts +1 -1
  354. package/dist/in-flight-reads.d.ts +1 -1
  355. package/dist/{index-DWOb4wz9.d.ts → index-CtmmCJoo.d.ts} +3 -3
  356. package/dist/index.d.ts +80 -40
  357. package/dist/index.js +316 -296
  358. package/dist/intent.d.ts +1 -1
  359. package/dist/lcm/engine.d.ts +1 -1
  360. package/dist/lcm/engine.js +3 -3
  361. package/dist/lcm/index.d.ts +1 -1
  362. package/dist/lcm/index.js +11 -11
  363. package/dist/lcm/tools.d.ts +1 -1
  364. package/dist/lifecycle.d.ts +1 -1
  365. package/dist/live-connectors-runner.d.ts +1 -1
  366. package/dist/local-llm-DpXIvm6F.d.ts +247 -0
  367. package/dist/local-llm-config.d.ts +4 -1
  368. package/dist/local-llm-config.js +4 -2
  369. package/dist/local-llm-helpers.d.ts +18 -69
  370. package/dist/local-llm-helpers.js +1 -1
  371. package/dist/local-llm.d.ts +3 -170
  372. package/dist/local-llm.js +2 -2
  373. package/dist/local-model-endpoint.d.ts +1 -1
  374. package/dist/location/index.d.ts +3 -3
  375. package/dist/location/index.js +25 -25
  376. package/dist/maintenance/memory-governance.d.ts +1 -1
  377. package/dist/maintenance/memory-governance.js +24 -24
  378. package/dist/maintenance/rebuild-memory-lifecycle-ledger.d.ts +2 -2
  379. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +23 -23
  380. package/dist/maintenance/rebuild-memory-projection.d.ts +2 -2
  381. package/dist/maintenance/rebuild-memory-projection.js +25 -25
  382. package/dist/{maintenance-CW9wCzMP.d.ts → maintenance-CNgoLsoM.d.ts} +13 -6
  383. package/dist/mcp-memory-inspector-app.d.ts +16 -14
  384. package/dist/memory-action-policy.d.ts +1 -1
  385. package/dist/memory-cache.d.ts +1 -1
  386. package/dist/memory-controller.d.ts +1 -1
  387. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  388. package/dist/memory-projection-store.d.ts +1 -1
  389. package/dist/memory-provenance.d.ts +1 -1
  390. package/dist/memory-snapshot.d.ts +1 -1
  391. package/dist/memory-subject-cli.d.ts +16 -14
  392. package/dist/memory-subject.d.ts +16 -14
  393. package/dist/memory-worth-outcomes.d.ts +2 -2
  394. package/dist/models-json.d.ts +1 -1
  395. package/dist/namespaces/migrate.d.ts +3 -3
  396. package/dist/namespaces/migrate.js +24 -24
  397. package/dist/namespaces/principal.d.ts +1 -1
  398. package/dist/namespaces/search.d.ts +12 -1
  399. package/dist/namespaces/search.js +9 -9
  400. package/dist/namespaces/storage.d.ts +3 -3
  401. package/dist/namespaces/storage.js +23 -23
  402. package/dist/native-knowledge.d.ts +1 -1
  403. package/dist/offline-sync-impression-drain.d.ts +1 -1
  404. package/dist/operator-doctor-corpus.d.ts +1 -1
  405. package/dist/operator-doctor-corpus.js +26 -26
  406. package/dist/operator-doctor-replica.d.ts +1 -1
  407. package/dist/operator-toolkit.d.ts +3 -3
  408. package/dist/operator-toolkit.js +45 -44
  409. package/dist/orchestration/compression-guideline-coordinator.d.ts +2 -2
  410. package/dist/orchestration/maintenance.d.ts +4 -4
  411. package/dist/orchestration/maintenance.js +36 -36
  412. package/dist/{orchestrator-ComHLm49.d.ts → orchestrator-DT7ybIFz.d.ts} +32 -11
  413. package/dist/orchestrator.d.ts +13 -12
  414. package/dist/orchestrator.js +176 -171
  415. package/dist/patterns-cli.d.ts +1 -1
  416. package/dist/{pipeline-CiYcqqhl.d.ts → pipeline-CgBEmHcz.d.ts} +1 -1
  417. package/dist/policy-runtime.d.ts +1 -1
  418. package/dist/proactive-contention.d.ts +2 -2
  419. package/dist/provenance.d.ts +1 -1
  420. package/dist/{public-http-CuK4_Cb1.d.ts → public-http-C8P8fyiO.d.ts} +1 -1
  421. package/dist/{qmd-qXD4vatU.d.ts → qmd-BkY8KpCh.d.ts} +2 -2
  422. package/dist/qmd-preflight.d.ts +2 -2
  423. package/dist/qmd-recall-cache.d.ts +1 -1
  424. package/dist/qmd.d.ts +2 -2
  425. package/dist/qmd.js +2 -2
  426. package/dist/recall-concurrency-config.d.ts +1 -1
  427. package/dist/recall-disclosure-escalation.d.ts +1 -1
  428. package/dist/recall-explain-renderer.d.ts +1 -1
  429. package/dist/recall-explain-renderer.js +3 -3
  430. package/dist/recall-memory-map.d.ts +1 -1
  431. package/dist/recall-navigate-access.d.ts +1 -1
  432. package/dist/recall-navigate-access.js +2 -2
  433. package/dist/recall-navigate-disclosure.d.ts +1 -1
  434. package/dist/recall-navigate-disclosure.js +1 -1
  435. package/dist/recall-navigate.d.ts +1 -1
  436. package/dist/recall-navigate.js +2 -2
  437. package/dist/recall-planner-llm.d.ts +3 -2
  438. package/dist/recall-planner-llm.js +4 -3
  439. package/dist/recall-planner-llm.js.map +1 -1
  440. package/dist/recall-state-view-admission.d.ts +13 -3
  441. package/dist/recall-state-view-admission.js +9 -9
  442. package/dist/recall-state-view-anchors.d.ts +1 -1
  443. package/dist/recall-state-view-anchors.js +2 -2
  444. package/dist/recall-state-view-inject.js +2 -2
  445. package/dist/recall-state-view-render.js +2 -2
  446. package/dist/recall-state-view-widen.js +2 -2
  447. package/dist/recall-state-view-wire.js +3 -3
  448. package/dist/recall-state-view.d.ts +10 -1
  449. package/dist/recall-state-view.js +5 -3
  450. package/dist/recall-state.d.ts +1 -1
  451. package/dist/recall-tag-filter.d.ts +1 -1
  452. package/dist/recall-timings.d.ts +1 -1
  453. package/dist/recall-xray-cli.d.ts +1 -1
  454. package/dist/recall-xray-cli.js +4 -4
  455. package/dist/recall-xray-renderer.d.ts +1 -1
  456. package/dist/recall-xray-renderer.js +3 -3
  457. package/dist/recall-xray.d.ts +1 -1
  458. package/dist/recall-xray.js +2 -2
  459. package/dist/reconcile/cursor.d.ts +1 -1
  460. package/dist/reconcile/cursor.js +2 -2
  461. package/dist/reconcile/manifest.d.ts +1 -1
  462. package/dist/reconcile/manifest.js +4 -4
  463. package/dist/reconcile/plan.d.ts +1 -1
  464. package/dist/reconcile/plan.js +2 -2
  465. package/dist/replay/normalizers/chatgpt.d.ts +1 -1
  466. package/dist/replay/normalizers/claude.d.ts +1 -1
  467. package/dist/replay/normalizers/openclaw.d.ts +1 -1
  468. package/dist/replay/normalizers/shared.d.ts +1 -1
  469. package/dist/replay/runner.d.ts +1 -1
  470. package/dist/replay/types.d.ts +1 -1
  471. package/dist/replica-divergence.d.ts +1 -1
  472. package/dist/replica-peers-config.d.ts +1 -1
  473. package/dist/{resolution-4GG3QZRJ.js → resolution-LXFQQ4AE.js} +5 -5
  474. package/dist/resolution-LXFQQ4AE.js.map +1 -0
  475. package/dist/resolve-auth-token.d.ts +1 -1
  476. package/dist/resume-bundles.js +12 -11
  477. package/dist/retrieval-agents.d.ts +2 -2
  478. package/dist/retrieval-tiers.d.ts +1 -1
  479. package/dist/routing/engine.d.ts +1 -1
  480. package/dist/routing/store.d.ts +1 -1
  481. package/dist/salvage-envelope.d.ts +1 -1
  482. package/dist/{scope-profiles-BT9rqC3w.d.ts → scope-profiles-BBPjZ9jb.d.ts} +1 -1
  483. package/dist/search/embed-helper.d.ts +1 -1
  484. package/dist/search/factory.d.ts +1 -1
  485. package/dist/search/factory.js +8 -8
  486. package/dist/search/index.d.ts +1 -1
  487. package/dist/search/index.js +12 -12
  488. package/dist/search/lancedb-backend.d.ts +1 -1
  489. package/dist/search/lancedb-backend.js +2 -2
  490. package/dist/search/meilisearch-backend.d.ts +1 -1
  491. package/dist/search/meilisearch-backend.js +2 -2
  492. package/dist/search/noop-backend.d.ts +1 -1
  493. package/dist/search/orama-backend.d.ts +1 -1
  494. package/dist/search/orama-backend.js +2 -2
  495. package/dist/search/port.d.ts +2 -2
  496. package/dist/search/port.js +1 -1
  497. package/dist/search/remote-backend.d.ts +1 -1
  498. package/dist/search/remote-backend.js +2 -2
  499. package/dist/{semantic-consolidation-CmZi7thY.d.ts → semantic-consolidation-BPFFVO84.d.ts} +1 -1
  500. package/dist/semantic-consolidation.d.ts +2 -2
  501. package/dist/semantic-consolidation.js +26 -26
  502. package/dist/semantic-rule-promotion.js +23 -23
  503. package/dist/semantic-rule-verifier.d.ts +1 -1
  504. package/dist/semantic-rule-verifier.js +23 -23
  505. package/dist/{service-CLkA7AQB.d.ts → service-jKcr6Jvr.d.ts} +2 -2
  506. package/dist/session-observer-bands.d.ts +1 -1
  507. package/dist/session-observer-state.d.ts +1 -1
  508. package/dist/shared-context/manager.d.ts +1 -1
  509. package/dist/shared-context/manager.js +2 -2
  510. package/dist/shared-context/write-output-controls.d.ts +34 -0
  511. package/dist/shared-context/write-output-controls.js +10 -0
  512. package/dist/shared-context/write-output-controls.js.map +1 -0
  513. package/dist/signal.d.ts +1 -1
  514. package/dist/source-agent-qualifier.d.ts +1 -1
  515. package/dist/source-agent-qualifier.js +31 -31
  516. package/dist/source-attribution.d.ts +23 -1
  517. package/dist/source-attribution.js +13 -3
  518. package/dist/standup/build.js +23 -23
  519. package/dist/{storage-wvX01lht.d.ts → storage-C-0Ah5OY.d.ts} +2 -1
  520. package/dist/storage.d.ts +2 -2
  521. package/dist/storage.js +22 -22
  522. package/dist/subject-config.d.ts +1 -1
  523. package/dist/summarizer.d.ts +1 -1
  524. package/dist/summarizer.js +6 -6
  525. package/dist/summary-snapshot.d.ts +1 -1
  526. package/dist/support-passport/index.d.ts +18 -17
  527. package/dist/support-passport/index.js +78 -77
  528. package/dist/task-llm-config.d.ts +16 -0
  529. package/dist/task-llm-config.js +12 -0
  530. package/dist/task-llm-config.js.map +1 -0
  531. package/dist/temporal-supersession.d.ts +2 -2
  532. package/dist/temporal-timeline-recall.d.ts +1 -1
  533. package/dist/temporal-validity.d.ts +1 -1
  534. package/dist/threading.d.ts +1 -1
  535. package/dist/tier-migration.d.ts +2 -2
  536. package/dist/tier-routing.d.ts +1 -1
  537. package/dist/tier-routing.js +3 -3
  538. package/dist/{tier-stats-LUSUUNU6.js → tier-stats-VK5PCO2L.js} +4 -4
  539. package/dist/topics.d.ts +1 -1
  540. package/dist/transcript.d.ts +1 -1
  541. package/dist/transfer/backup.js +2 -2
  542. package/dist/transfer/capsule-export.js +2 -2
  543. package/dist/transfer/capsule-import.js +3 -3
  544. package/dist/transfer/export-okf.d.ts +1 -1
  545. package/dist/transfer/export-okf.js +23 -23
  546. package/dist/trust-score-stage.d.ts +1 -1
  547. package/dist/trust-score.d.ts +1 -1
  548. package/dist/{types-Cyr32ABj.d.ts → types-cK5LydjL.d.ts} +6 -1
  549. package/dist/types.d.ts +1 -1
  550. package/dist/types.js +1 -1
  551. package/dist/utility-runtime.d.ts +1 -1
  552. package/dist/verified-recall.js +23 -23
  553. package/dist/who-knows-cli.d.ts +16 -14
  554. package/dist/who-knows-cli.js +24 -24
  555. package/dist/who-knows.d.ts +16 -14
  556. package/dist/who-knows.js +23 -23
  557. package/dist/write-envelope.d.ts +1 -1
  558. package/package.json +12 -2
  559. package/src/access-category-alias.test.ts +93 -0
  560. package/src/access-http.ts +1 -1
  561. package/src/access-mcp-shared-context-tools.ts +103 -0
  562. package/src/access-mcp.ts +4 -74
  563. package/src/access-offline-manifest.ts +52 -2
  564. package/src/access-operations-batch.ts +45 -2
  565. package/src/access-schema.ts +9 -4
  566. package/src/access-service.ts +14 -7
  567. package/src/activity/config.test.ts +61 -0
  568. package/src/activity/config.ts +40 -1
  569. package/src/activity/timeline/analysis-provider.ts +8 -2
  570. package/src/activity/timeline/analysis-run.test.ts +82 -0
  571. package/src/activity/timeline/publish-cli.test.ts +30 -0
  572. package/src/activity/timeline/publish-cli.ts +7 -0
  573. package/src/activity/timeline/query.ts +8 -1
  574. package/src/activity/timeline/regenerate.test.ts +130 -2
  575. package/src/activity/timeline/regenerate.ts +14 -6
  576. package/src/activity/vault-frontmatter.test.ts +99 -1
  577. package/src/activity/vault-frontmatter.ts +131 -0
  578. package/src/activity/vault-publish.ts +6 -0
  579. package/src/activity/vault-publisher.test.ts +172 -0
  580. package/src/activity/vault-publisher.ts +69 -15
  581. package/src/activity/vault-region.test.ts +7 -2
  582. package/src/activity/vault-region.ts +7 -3
  583. package/src/background-generation-config.ts +32 -6
  584. package/src/background-generation.test.ts +10 -1
  585. package/src/cli/deep-recall-commands.ts +22 -10
  586. package/src/cli/timeline-publish-commands.ts +9 -0
  587. package/src/config.test.ts +170 -43
  588. package/src/config.ts +22 -5
  589. package/src/dedup/merge.test.ts +283 -0
  590. package/src/deep-recall-boundary.test.ts +66 -0
  591. package/src/deep-recall-cli.test.ts +82 -0
  592. package/src/deep-recall-config.test.ts +56 -0
  593. package/src/deep-recall-config.ts +32 -0
  594. package/src/deep-recall-http-glue.ts +10 -10
  595. package/src/deep-recall-policy-llm.test.ts +242 -0
  596. package/src/deep-recall-policy-llm.ts +37 -7
  597. package/src/deep-recall-seeds.test.ts +53 -0
  598. package/src/deep-recall-seeds.ts +7 -1
  599. package/src/deep-recall-surface.test.ts +93 -0
  600. package/src/deep-recall.test.ts +121 -0
  601. package/src/deep-recall.ts +88 -28
  602. package/src/extraction-error-classification.ts +36 -1
  603. package/src/extraction-timeout.test.ts +110 -1
  604. package/src/extraction.test.ts +19 -1
  605. package/src/extraction.ts +23 -21
  606. package/src/fallback-llm-codex-subscription.ts +220 -12
  607. package/src/fallback-llm-parse-failure.test.ts +156 -0
  608. package/src/fallback-llm.test.ts +178 -0
  609. package/src/fallback-llm.ts +200 -198
  610. package/src/index.ts +1 -0
  611. package/src/local-llm-config.ts +11 -10
  612. package/src/local-llm-headers-timeout.test.ts +30 -0
  613. package/src/local-llm-helpers.ts +28 -0
  614. package/src/local-llm.ts +8 -19
  615. package/src/meetings/config.test.ts +58 -0
  616. package/src/namespaces/search.test.ts +51 -1
  617. package/src/namespaces/search.ts +48 -3
  618. package/src/orchestration/extraction-persist-promotion.test.ts +228 -2
  619. package/src/orchestration/extraction-persist-promotion.ts +17 -14
  620. package/src/orchestration/extraction-persist.ts +1 -1
  621. package/src/orchestration/orchestrator-helpers.test.ts +104 -0
  622. package/src/orchestration/orchestrator-init.ts +366 -106
  623. package/src/orchestration/recall-entry.ts +15 -1
  624. package/src/orchestration/recall-internal.ts +6 -11
  625. package/src/orchestration/recall-section-coordinator.ts +65 -28
  626. package/src/orchestration/recall-state-view-pipeline.test.ts +8 -2
  627. package/src/orchestration/semantic-merge-commit-effects.ts +45 -16
  628. package/src/orchestration/semantic-merge-persist.ts +23 -36
  629. package/src/orchestration/semantic-merge-promotion-payload.ts +62 -6
  630. package/src/orchestration/startup-collection-checks.ts +85 -0
  631. package/src/orchestrator-flush.test.ts +7 -0
  632. package/src/orchestrator-init.test.ts +1539 -0
  633. package/src/orchestrator.ts +7 -0
  634. package/src/providers/codex-subscription.test.ts +127 -0
  635. package/src/providers/codex-subscription.ts +1 -1
  636. package/src/qmd.ts +21 -10
  637. package/src/recall-state-view-admission.ts +11 -1
  638. package/src/recall-state-view-budget.test.ts +424 -0
  639. package/src/recall-state-view-cron-intent.test.ts +268 -0
  640. package/src/recall-state-view-widen.test.ts +14 -5
  641. package/src/recall-state-view-widen.ts +8 -1
  642. package/src/recall-state-view.ts +35 -18
  643. package/src/reconcile-identity-cache.test.ts +82 -1
  644. package/src/search/port.ts +1 -1
  645. package/src/shared-context/envelope-io.ts +25 -0
  646. package/src/shared-context/envelope-wiring.test.ts +4 -2
  647. package/src/shared-context/manager.ts +1 -0
  648. package/src/shared-context/write-output-controls.test.ts +192 -0
  649. package/src/shared-context/write-output-controls.ts +72 -0
  650. package/src/source-attribution.test.ts +39 -0
  651. package/src/source-attribution.ts +72 -0
  652. package/src/storage/cas-revision-store.test.ts +4 -0
  653. package/src/storage/cas-revision-store.ts +104 -12
  654. package/src/storage-frontmatter-cas.test.ts +19 -17
  655. package/src/summarizer.ts +5 -1
  656. package/src/task-llm-config.test.ts +124 -0
  657. package/src/task-llm-config.ts +88 -0
  658. package/src/testing/subjects/startup-discovery-lifecycle.test.ts +273 -0
  659. package/src/types.ts +6 -0
  660. package/dist/chunk-3CBI2ZSA.js.map +0 -1
  661. package/dist/chunk-5HYUUFMQ.js.map +0 -1
  662. package/dist/chunk-5SPCMAUC.js.map +0 -1
  663. package/dist/chunk-6H2G7RFT.js.map +0 -1
  664. package/dist/chunk-6YAIN5XJ.js.map +0 -1
  665. package/dist/chunk-ACY4ZPF7.js.map +0 -1
  666. package/dist/chunk-B36GUU6T.js.map +0 -1
  667. package/dist/chunk-BLDBT6HZ.js.map +0 -1
  668. package/dist/chunk-CARRTDKC.js.map +0 -1
  669. package/dist/chunk-CC37E3QM.js.map +0 -1
  670. package/dist/chunk-CWTCMZGE.js.map +0 -1
  671. package/dist/chunk-CZTPU65V.js.map +0 -1
  672. package/dist/chunk-EYKIDK33.js.map +0 -1
  673. package/dist/chunk-FWWWUPOE.js.map +0 -1
  674. package/dist/chunk-IQEJIOEU.js.map +0 -1
  675. package/dist/chunk-IYKZJVL5.js.map +0 -1
  676. package/dist/chunk-JXN77SGO.js.map +0 -1
  677. package/dist/chunk-KQW3YGEN.js.map +0 -1
  678. package/dist/chunk-LPYYY4AP.js.map +0 -1
  679. package/dist/chunk-LQNRVPTV.js.map +0 -1
  680. package/dist/chunk-MVAQ2WM3.js.map +0 -1
  681. package/dist/chunk-OEDW4ER7.js.map +0 -1
  682. package/dist/chunk-OPBFP4TF.js.map +0 -1
  683. package/dist/chunk-P4ZAEYKG.js.map +0 -1
  684. package/dist/chunk-QHT7MOUF.js.map +0 -1
  685. package/dist/chunk-QTQ6XKGT.js.map +0 -1
  686. package/dist/chunk-SV4Z2S67.js.map +0 -1
  687. package/dist/chunk-TNZNSMVJ.js.map +0 -1
  688. package/dist/chunk-TRLOFIQC.js.map +0 -1
  689. package/dist/chunk-UZEHHXYC.js.map +0 -1
  690. package/dist/chunk-WKDFJXW5.js.map +0 -1
  691. package/dist/chunk-YDVAM7S4.js.map +0 -1
  692. package/dist/chunk-YFTNZMGR.js.map +0 -1
  693. package/dist/chunk-YKREX63Z.js.map +0 -1
  694. /package/dist/{capsule-crypto-7FJQINUR.js.map → access-mcp-shared-context-tools.js.map} +0 -0
  695. /package/dist/{auto-sync-RP4C6ZPF.js.map → auto-sync-7PGUFY7U.js.map} +0 -0
  696. /package/dist/{contradiction-scan-BSGKZHYJ.js.map → capsule-crypto-YO5QJ6L3.js.map} +0 -0
  697. /package/dist/{capsule-merge-IPG4IOFP.js.map → capsule-merge-3MNURAQ3.js.map} +0 -0
  698. /package/dist/{chunk-XH3HGI2N.js.map → chunk-2HQPE2NM.js.map} +0 -0
  699. /package/dist/{chunk-3EKVN2OP.js.map → chunk-2ZG2LLZT.js.map} +0 -0
  700. /package/dist/{chunk-6EHM2AV7.js.map → chunk-3BLHPQHT.js.map} +0 -0
  701. /package/dist/{chunk-J272ODKJ.js.map → chunk-42DJ235G.js.map} +0 -0
  702. /package/dist/{chunk-F4EHXVP7.js.map → chunk-46RII65S.js.map} +0 -0
  703. /package/dist/{chunk-YUW66UAH.js.map → chunk-4AX5OYKC.js.map} +0 -0
  704. /package/dist/{chunk-AECJY3GJ.js.map → chunk-4IGOLIWM.js.map} +0 -0
  705. /package/dist/{chunk-2ZTDRNCS.js.map → chunk-54QPOE45.js.map} +0 -0
  706. /package/dist/{chunk-O4M4BDIJ.js.map → chunk-563X6JJX.js.map} +0 -0
  707. /package/dist/{chunk-IL6ODG6M.js.map → chunk-5EQT62HH.js.map} +0 -0
  708. /package/dist/{chunk-JKKII6GX.js.map → chunk-6MQMYXSQ.js.map} +0 -0
  709. /package/dist/{chunk-TVVEYCNW.js.map → chunk-7K5Q6COX.js.map} +0 -0
  710. /package/dist/{chunk-BV4ZKIZH.js.map → chunk-7ZLC4DTZ.js.map} +0 -0
  711. /package/dist/{chunk-WBM2MVBK.js.map → chunk-A4OIJYCV.js.map} +0 -0
  712. /package/dist/{chunk-RLJHJQUY.js.map → chunk-AFJHNHAM.js.map} +0 -0
  713. /package/dist/{chunk-4RZLTZVM.js.map → chunk-AKABVXFS.js.map} +0 -0
  714. /package/dist/{chunk-M6HBPLBA.js.map → chunk-AUSRUOMQ.js.map} +0 -0
  715. /package/dist/{chunk-2NLLXCJG.js.map → chunk-BXLOS5AJ.js.map} +0 -0
  716. /package/dist/{chunk-Q7CLGFA7.js.map → chunk-C3G6MW4W.js.map} +0 -0
  717. /package/dist/{chunk-O76F5QPP.js.map → chunk-D6PY63OM.js.map} +0 -0
  718. /package/dist/{chunk-BD7JTBYP.js.map → chunk-D7MAYFQP.js.map} +0 -0
  719. /package/dist/{chunk-LMLGBG6H.js.map → chunk-DBB5JPSL.js.map} +0 -0
  720. /package/dist/{chunk-TSP5WH72.js.map → chunk-DIXZQTGY.js.map} +0 -0
  721. /package/dist/{chunk-X7Y7WX73.js.map → chunk-DQEMWVMT.js.map} +0 -0
  722. /package/dist/{chunk-UHRZ324M.js.map → chunk-E3I3NDUP.js.map} +0 -0
  723. /package/dist/{chunk-AENM6GKU.js.map → chunk-E4LMQTST.js.map} +0 -0
  724. /package/dist/{chunk-MUTVRKKY.js.map → chunk-EMSYMYXO.js.map} +0 -0
  725. /package/dist/{chunk-YNDLCWXS.js.map → chunk-EZ25VE3G.js.map} +0 -0
  726. /package/dist/{chunk-FXHOZGSE.js.map → chunk-F5H6YG5P.js.map} +0 -0
  727. /package/dist/{chunk-TNSCIPBQ.js.map → chunk-G6NQ3L4T.js.map} +0 -0
  728. /package/dist/{chunk-ZMWSYUUL.js.map → chunk-GCBIXUPT.js.map} +0 -0
  729. /package/dist/{chunk-4BCHFSC7.js.map → chunk-GWNSKQDA.js.map} +0 -0
  730. /package/dist/{chunk-JDX2OA4R.js.map → chunk-HNHIHXSD.js.map} +0 -0
  731. /package/dist/{chunk-GG5FHZJJ.js.map → chunk-I33QYUAF.js.map} +0 -0
  732. /package/dist/{chunk-AAZEKXUP.js.map → chunk-IYIPXAIJ.js.map} +0 -0
  733. /package/dist/{chunk-5U7K4W6K.js.map → chunk-JDOBQPJY.js.map} +0 -0
  734. /package/dist/{chunk-UZZ7SQT3.js.map → chunk-JMWUPUE6.js.map} +0 -0
  735. /package/dist/{chunk-ENBPQEVU.js.map → chunk-JSD7Q7LD.js.map} +0 -0
  736. /package/dist/{chunk-Q432REND.js.map → chunk-KJLLPG26.js.map} +0 -0
  737. /package/dist/{chunk-JTQR6L2N.js.map → chunk-KLUC2GSG.js.map} +0 -0
  738. /package/dist/{chunk-OB3XMWX5.js.map → chunk-KVO2BTA4.js.map} +0 -0
  739. /package/dist/{chunk-PCOVEDPK.js.map → chunk-KZJM7R4F.js.map} +0 -0
  740. /package/dist/{chunk-X4TD4O2F.js.map → chunk-LE2KZ72G.js.map} +0 -0
  741. /package/dist/{chunk-HIP6DKJJ.js.map → chunk-LQVXSRAJ.js.map} +0 -0
  742. /package/dist/{chunk-A7GQBJP5.js.map → chunk-LVFI5LG7.js.map} +0 -0
  743. /package/dist/{chunk-VBSNUH4J.js.map → chunk-ND7MAIJC.js.map} +0 -0
  744. /package/dist/{chunk-54NX5EG4.js.map → chunk-P66QH6R6.js.map} +0 -0
  745. /package/dist/{chunk-62D2PAAM.js.map → chunk-PAAJWQH5.js.map} +0 -0
  746. /package/dist/{chunk-TA4C3XB7.js.map → chunk-PFKIOYJH.js.map} +0 -0
  747. /package/dist/{chunk-WIWLX65T.js.map → chunk-PGGPRF6J.js.map} +0 -0
  748. /package/dist/{chunk-V6EGNVUT.js.map → chunk-PIWFNPQT.js.map} +0 -0
  749. /package/dist/{chunk-4JVQRFZD.js.map → chunk-PLJ2MQFT.js.map} +0 -0
  750. /package/dist/{chunk-4RX5O34R.js.map → chunk-PQ42DJNG.js.map} +0 -0
  751. /package/dist/{chunk-37CAEC7E.js.map → chunk-PWPIERBM.js.map} +0 -0
  752. /package/dist/{chunk-ZEGL7YCC.js.map → chunk-Q62GA5U2.js.map} +0 -0
  753. /package/dist/{chunk-GAS7KYC7.js.map → chunk-RQQO3ORQ.js.map} +0 -0
  754. /package/dist/{chunk-3NPNBVFR.js.map → chunk-UZGHKD3T.js.map} +0 -0
  755. /package/dist/{chunk-VJIE4D2I.js.map → chunk-V62YYBBY.js.map} +0 -0
  756. /package/dist/{chunk-KQAFEZQX.js.map → chunk-VDX2J7OX.js.map} +0 -0
  757. /package/dist/{chunk-6AGWBKQU.js.map → chunk-VSN2DMQK.js.map} +0 -0
  758. /package/dist/{chunk-ZHXSOMYH.js.map → chunk-VVX5PZFS.js.map} +0 -0
  759. /package/dist/{chunk-GI4ZBWPQ.js.map → chunk-W7UV2ZCA.js.map} +0 -0
  760. /package/dist/{chunk-GMIQV6DD.js.map → chunk-WBQ4ONQJ.js.map} +0 -0
  761. /package/dist/{chunk-FNHLI2RE.js.map → chunk-WFMQN7JE.js.map} +0 -0
  762. /package/dist/{chunk-ZBW7A667.js.map → chunk-WPGA4RYI.js.map} +0 -0
  763. /package/dist/{chunk-YQNNHLCG.js.map → chunk-WPGR3RW4.js.map} +0 -0
  764. /package/dist/{chunk-NXGSONWM.js.map → chunk-WZIO3TW6.js.map} +0 -0
  765. /package/dist/{chunk-ZZUVBZL2.js.map → chunk-X2QPKLPL.js.map} +0 -0
  766. /package/dist/{chunk-VSL63CFJ.js.map → chunk-XRS65T4O.js.map} +0 -0
  767. /package/dist/{chunk-5N4MZLEH.js.map → chunk-YFXAWGMR.js.map} +0 -0
  768. /package/dist/{chunk-D545Z7UH.js.map → chunk-Z535ADTC.js.map} +0 -0
  769. /package/dist/{chunk-5YCNDC3C.js.map → chunk-ZX6NNFSY.js.map} +0 -0
  770. /package/dist/{chunk-3N3PBBEH.js.map → chunk-ZYSOT6HD.js.map} +0 -0
  771. /package/dist/{chunk-MCRVQ5YQ.js.map → chunk-ZZEIL3MI.js.map} +0 -0
  772. /package/dist/{resolution-4GG3QZRJ.js.map → contradiction-scan-GVD4JJ7B.js.map} +0 -0
  773. /package/dist/{first-start-migration-ZWMV5CX4.js.map → first-start-migration-L3UFX5CU.js.map} +0 -0
  774. /package/dist/{tier-stats-LUSUUNU6.js.map → tier-stats-VK5PCO2L.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  resolveDefaultNamespaceRoot,
3
3
  resolveNamespaceStorageRoot
4
- } from "./chunk-GG5FHZJJ.js";
4
+ } from "./chunk-I33QYUAF.js";
5
5
  import {
6
6
  MutationSerializer,
7
7
  withHeldFileLock
@@ -1473,4 +1473,4 @@ export {
1473
1473
  isNamespaceKind,
1474
1474
  NamespaceCatalog
1475
1475
  };
1476
- //# sourceMappingURL=chunk-54NX5EG4.js.map
1476
+ //# sourceMappingURL=chunk-P66QH6R6.js.map
@@ -2,9 +2,6 @@ import {
2
2
  CONVERGE_CONFLICT_POLICIES,
3
3
  DEFAULT_CONVERGE_CONFLICT_POLICY
4
4
  } from "./chunk-6MINUTGJ.js";
5
- import {
6
- normalizeNamespaceIdentity
7
- } from "./chunk-VUFL7X3H.js";
8
5
  import {
9
6
  validateArchiveRelativePath
10
7
  } from "./chunk-GCGJW34D.js";
@@ -13,6 +10,9 @@ import {
13
10
  isCensusMtimeMs,
14
11
  isSha256Hex
15
12
  } from "./chunk-LQWOFU6L.js";
13
+ import {
14
+ normalizeNamespaceIdentity
15
+ } from "./chunk-VUFL7X3H.js";
16
16
 
17
17
  // src/reconcile/plan.ts
18
18
  var ReconcilePlanInputError = class extends Error {
@@ -435,4 +435,4 @@ export {
435
435
  summarizeReconcilePlan,
436
436
  planReconciliation
437
437
  };
438
- //# sourceMappingURL=chunk-62D2PAAM.js.map
438
+ //# sourceMappingURL=chunk-PAAJWQH5.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-KJTKLXTH.js";
4
4
  import {
5
5
  StorageManager
6
- } from "./chunk-CZTPU65V.js";
6
+ } from "./chunk-ICN37XHG.js";
7
7
  import {
8
8
  copyExistingFileToBackup,
9
9
  writeFileAtomically
@@ -260,4 +260,4 @@ export {
260
260
  backupExistingLedger,
261
261
  rebuildMemoryLifecycleLedger
262
262
  };
263
- //# sourceMappingURL=chunk-TA4C3XB7.js.map
263
+ //# sourceMappingURL=chunk-PFKIOYJH.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  runLocationSync
3
- } from "./chunk-PCOVEDPK.js";
3
+ } from "./chunk-KZJM7R4F.js";
4
4
  import {
5
5
  log
6
6
  } from "./chunk-3WCASNQZ.js";
@@ -58,4 +58,4 @@ export {
58
58
  LOCATION_SYNC_DEFAULT_INTERVAL_MS,
59
59
  startLocationAutoSync
60
60
  };
61
- //# sourceMappingURL=chunk-WIWLX65T.js.map
61
+ //# sourceMappingURL=chunk-PGGPRF6J.js.map
@@ -1,3 +1,6 @@
1
+ import {
2
+ estimateTokenCount
3
+ } from "./chunk-TOTT6S2V.js";
1
4
  import {
2
5
  SKILL_FILE_NAME,
3
6
  renderSkillBundle
@@ -5,9 +8,6 @@ import {
5
8
  import {
6
9
  isValidSkillSlug
7
10
  } from "./chunk-ZCUTSMR2.js";
8
- import {
9
- estimateTokenCount
10
- } from "./chunk-TOTT6S2V.js";
11
11
  import {
12
12
  pathIsInside
13
13
  } from "./chunk-C7HJ3NEI.js";
@@ -800,4 +800,4 @@ export {
800
800
  truncateToTokenBudget,
801
801
  describeMemoriesDir
802
802
  };
803
- //# sourceMappingURL=chunk-V6EGNVUT.js.map
803
+ //# sourceMappingURL=chunk-PIWFNPQT.js.map
@@ -26,14 +26,30 @@ function classifyFallbackParseFailure(reason) {
26
26
  case "no_models":
27
27
  return "auth_config";
28
28
  case "http_error":
29
+ case "timeout":
29
30
  return "provider_retryable";
30
31
  case "empty":
32
+ case "schema_rejection":
31
33
  return "parse_empty";
32
34
  }
33
35
  }
36
+ function formatExtractionParseFailureLog(input) {
37
+ const modelUsed = typeof input.attemptedModel === "string" && input.attemptedModel.length > 0 ? input.attemptedModel : "unknown";
38
+ const errorClass = typeof input.errorClass === "string" && input.errorClass.length > 0 ? input.errorClass : "none";
39
+ const httpStatus = typeof input.httpStatus === "number" && Number.isFinite(input.httpStatus) ? String(input.httpStatus) : "none";
40
+ return [
41
+ "extraction fallback returned no parsed output",
42
+ `failureReason=${input.failureReason}`,
43
+ `modelUsed=${modelUsed}`,
44
+ `errorClass=${errorClass}`,
45
+ `httpStatus=${httpStatus}`,
46
+ `traceId=${input.traceId}`
47
+ ].join(" ");
48
+ }
34
49
 
35
50
  export {
36
51
  classifyExtractionThrownError,
37
- classifyFallbackParseFailure
52
+ classifyFallbackParseFailure,
53
+ formatExtractionParseFailureLog
38
54
  };
39
- //# sourceMappingURL=chunk-BLDBT6HZ.js.map
55
+ //# sourceMappingURL=chunk-PJRKLB4Z.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/extraction-error-classification.ts"],"sourcesContent":["import type { ExtractionFailureClass } from \"./types.js\";\nimport { isTransientHttpError } from \"./connectors/live/transient-errors.js\";\n\n/**\n * Read a numeric HTTP status off a thrown error without re-implementing the\n * shared transient classifier. Uses `in`/typeof narrowing (no inline casts).\n */\nfunction httpStatusFromError(err: unknown): number | undefined {\n if (!err || typeof err !== \"object\") return undefined;\n if (\"status\" in err && typeof err.status === \"number\" && Number.isFinite(err.status)) return err.status;\n if (\"statusCode\" in err && typeof err.statusCode === \"number\" && Number.isFinite(err.statusCode)) {\n return err.statusCode;\n }\n return undefined;\n}\n\n/**\n * Map a thrown extraction error to a coarse failure class for the retry/breaker\n * layer. 401/403 → `auth_config` (misconfigured provider, open the breaker);\n * transient (429/5xx/network, per the shared `isTransientHttpError`) → back off;\n * anything else defaults to `provider_retryable` (fail-open toward retry, but\n * capped by the per-fingerprint attempt budget). Never throws.\n */\nexport function classifyExtractionThrownError(err: unknown): ExtractionFailureClass {\n try {\n const status = httpStatusFromError(err);\n if (status === 401 || status === 403) return \"auth_config\";\n if (isTransientHttpError(err)) return \"provider_retryable\";\n return \"provider_retryable\";\n } catch {\n return \"provider_retryable\";\n }\n}\n\n/**\n * Map the gateway fallback's discriminated parse-failure reason to a coarse\n * extraction failure class. \"no models configured\" is an auth/config problem;\n * an HTTP/transport failure backs off; an unparseable-but-present response is a\n * genuine empty-parse.\n */\nexport function classifyFallbackParseFailure(\n reason: \"no_models\" | \"empty\" | \"http_error\" | \"schema_rejection\" | \"timeout\",\n): ExtractionFailureClass {\n switch (reason) {\n case \"no_models\":\n return \"auth_config\";\n case \"http_error\":\n case \"timeout\":\n return \"provider_retryable\";\n case \"empty\":\n case \"schema_rejection\":\n return \"parse_empty\";\n }\n}\n\n/**\n * Operator-visible extraction parse-failure line. Keeps the historical\n * greppable prefix and appends the fields that used to live only at debug.\n */\nexport function formatExtractionParseFailureLog(input: {\n failureReason: string;\n attemptedModel?: string;\n httpStatus?: number;\n errorClass?: string;\n traceId: string;\n}): string {\n const modelUsed =\n typeof input.attemptedModel === \"string\" && input.attemptedModel.length > 0\n ? input.attemptedModel\n : \"unknown\";\n const errorClass =\n typeof input.errorClass === \"string\" && input.errorClass.length > 0\n ? input.errorClass\n : \"none\";\n const httpStatus =\n typeof input.httpStatus === \"number\" && Number.isFinite(input.httpStatus)\n ? String(input.httpStatus)\n : \"none\";\n return [\n \"extraction fallback returned no parsed output\",\n `failureReason=${input.failureReason}`,\n `modelUsed=${modelUsed}`,\n `errorClass=${errorClass}`,\n `httpStatus=${httpStatus}`,\n `traceId=${input.traceId}`,\n ].join(\" \");\n}\n"],"mappings":";;;;;AAOA,SAAS,oBAAoB,KAAkC;AAC7D,MAAI,CAAC,OAAO,OAAO,QAAQ,SAAU,QAAO;AAC5C,MAAI,YAAY,OAAO,OAAO,IAAI,WAAW,YAAY,OAAO,SAAS,IAAI,MAAM,EAAG,QAAO,IAAI;AACjG,MAAI,gBAAgB,OAAO,OAAO,IAAI,eAAe,YAAY,OAAO,SAAS,IAAI,UAAU,GAAG;AAChG,WAAO,IAAI;AAAA,EACb;AACA,SAAO;AACT;AASO,SAAS,8BAA8B,KAAsC;AAClF,MAAI;AACF,UAAM,SAAS,oBAAoB,GAAG;AACtC,QAAI,WAAW,OAAO,WAAW,IAAK,QAAO;AAC7C,QAAI,qBAAqB,GAAG,EAAG,QAAO;AACtC,WAAO;AAAA,EACT,QAAQ;AACN,WAAO;AAAA,EACT;AACF;AAQO,SAAS,6BACd,QACwB;AACxB,UAAQ,QAAQ;AAAA,IACd,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AAAA,IACL,KAAK;AACH,aAAO;AAAA,EACX;AACF;AAMO,SAAS,gCAAgC,OAMrC;AACT,QAAM,YACJ,OAAO,MAAM,mBAAmB,YAAY,MAAM,eAAe,SAAS,IACtE,MAAM,iBACN;AACN,QAAM,aACJ,OAAO,MAAM,eAAe,YAAY,MAAM,WAAW,SAAS,IAC9D,MAAM,aACN;AACN,QAAM,aACJ,OAAO,MAAM,eAAe,YAAY,OAAO,SAAS,MAAM,UAAU,IACpE,OAAO,MAAM,UAAU,IACvB;AACN,SAAO;AAAA,IACL;AAAA,IACA,iBAAiB,MAAM,aAAa;AAAA,IACpC,aAAa,SAAS;AAAA,IACtB,cAAc,UAAU;AAAA,IACxB,cAAc,UAAU;AAAA,IACxB,WAAW,MAAM,OAAO;AAAA,EAC1B,EAAE,KAAK,GAAG;AACZ;","names":[]}
@@ -1,21 +1,21 @@
1
+ import {
2
+ MeilisearchBackend
3
+ } from "./chunk-KVO2BTA4.js";
4
+ import {
5
+ NoopSearchBackend
6
+ } from "./chunk-CYEPCZN5.js";
1
7
  import {
2
8
  OramaBackend
3
- } from "./chunk-TNSCIPBQ.js";
9
+ } from "./chunk-G6NQ3L4T.js";
4
10
  import {
5
11
  RemoteSearchBackend
6
- } from "./chunk-YQNNHLCG.js";
12
+ } from "./chunk-WPGR3RW4.js";
7
13
  import {
8
14
  EmbedHelper
9
15
  } from "./chunk-6KTXE6A3.js";
10
16
  import {
11
17
  LanceDbBackend
12
- } from "./chunk-BD7JTBYP.js";
13
- import {
14
- MeilisearchBackend
15
- } from "./chunk-OB3XMWX5.js";
16
- import {
17
- NoopSearchBackend
18
- } from "./chunk-CYEPCZN5.js";
18
+ } from "./chunk-D7MAYFQP.js";
19
19
  import {
20
20
  createConversationIndexBackend
21
21
  } from "./chunk-TFA6HPOA.js";
@@ -24,7 +24,7 @@ import {
24
24
  } from "./chunk-F4TWWUMP.js";
25
25
  import {
26
26
  QmdClient
27
- } from "./chunk-3CBI2ZSA.js";
27
+ } from "./chunk-KG2OOAFF.js";
28
28
  import {
29
29
  resolveIndexingCapabilities,
30
30
  resolvePipelineProcessingCapabilities,
@@ -179,4 +179,4 @@ export {
179
179
  createConversationSearchBackend,
180
180
  createConversationIndexRuntime
181
181
  };
182
- //# sourceMappingURL=chunk-4JVQRFZD.js.map
182
+ //# sourceMappingURL=chunk-PLJ2MQFT.js.map
@@ -13,7 +13,7 @@ import {
13
13
  } from "./chunk-H3FZVNRN.js";
14
14
  import {
15
15
  ExtractionDeadlineError
16
- } from "./chunk-6EHM2AV7.js";
16
+ } from "./chunk-3BLHPQHT.js";
17
17
  import {
18
18
  resolvePrincipal
19
19
  } from "./chunk-MRV7VSQK.js";
@@ -798,4 +798,4 @@ var SmartBuffer = class {
798
798
  export {
799
799
  SmartBuffer
800
800
  };
801
- //# sourceMappingURL=chunk-4RX5O34R.js.map
801
+ //# sourceMappingURL=chunk-PQ42DJNG.js.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  stripAttributesSuffix
3
3
  } from "./chunk-JDSVLVCG.js";
4
- import {
5
- normalizeNamespaceIdentity
6
- } from "./chunk-VUFL7X3H.js";
7
4
  import {
8
5
  parseIsoOffsetTimestamp
9
6
  } from "./chunk-P7FMDTKL.js";
7
+ import {
8
+ normalizeNamespaceIdentity
9
+ } from "./chunk-VUFL7X3H.js";
10
10
 
11
11
  // src/support-passport/contracts.ts
12
12
  import { createHash } from "crypto";
@@ -400,4 +400,4 @@ export {
400
400
  hasLiveSupportPassportCard,
401
401
  projectSupportPassportCard
402
402
  };
403
- //# sourceMappingURL=chunk-37CAEC7E.js.map
403
+ //# sourceMappingURL=chunk-PWPIERBM.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isRecallDisclosure
3
- } from "./chunk-IYKZJVL5.js";
3
+ } from "./chunk-WN2OXGGH.js";
4
4
  import {
5
5
  estimateTokenCount
6
6
  } from "./chunk-TOTT6S2V.js";
@@ -306,4 +306,4 @@ export {
306
306
  RecallXrayBuilder,
307
307
  summarizeDisclosureTokens
308
308
  };
309
- //# sourceMappingURL=chunk-ZEGL7YCC.js.map
309
+ //# sourceMappingURL=chunk-Q62GA5U2.js.map
@@ -121,6 +121,18 @@ function optionalEnvelopeAt(expiresAt) {
121
121
  }
122
122
  return parsed.at;
123
123
  }
124
+ var MAX_WRITE_EXPIRES_AT_TTL_MS = 3650 * 24 * 60 * 60 * 1e3;
125
+ function assertBoundedFutureExpiry(expiresAt, nowMs) {
126
+ const expiresAtMs = Date.parse(expiresAt);
127
+ if (expiresAtMs <= nowMs) {
128
+ throw new Error("composeWriteEnvelope: expiresAt must be an instant strictly after the write time");
129
+ }
130
+ if (expiresAtMs - nowMs > MAX_WRITE_EXPIRES_AT_TTL_MS) {
131
+ throw new Error(
132
+ `composeWriteEnvelope: expiresAt exceeds the maximum TTL of ${MAX_WRITE_EXPIRES_AT_TTL_MS}ms`
133
+ );
134
+ }
135
+ }
124
136
  function optionalEnvelopeId(supersedes) {
125
137
  if (supersedes === void 0) return void 0;
126
138
  const parsed = parseEnvelopeId(supersedes);
@@ -162,6 +174,9 @@ function requireProducer(value) {
162
174
  function composeWriteEnvelope(input) {
163
175
  const sharedBy = requireEnvelopeActor(input.origin);
164
176
  const expiresAt = optionalEnvelopeAt(input.expiresAt);
177
+ if (expiresAt !== void 0 && Number.isFinite(input.nowMs ?? Number.NaN)) {
178
+ assertBoundedFutureExpiry(expiresAt, input.nowMs);
179
+ }
165
180
  const supersedes = optionalEnvelopeId(input.supersedes);
166
181
  return applyDefaultEnvelope(
167
182
  { sharedBy, authority: input.authority, expiresAt, supersedes },
@@ -195,4 +210,4 @@ export {
195
210
  envelopeFromScalars,
196
211
  resolveReadAuthority
197
212
  };
198
- //# sourceMappingURL=chunk-CC37E3QM.js.map
213
+ //# sourceMappingURL=chunk-QKCXRS5A.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/shared-context/governance.ts","../src/shared-context/authority-precedence.ts","../src/shared-context/envelope-actor.ts","../src/shared-context/iso-instant.ts","../src/shared-context/envelope-at.ts","../src/shared-context/envelope-id.ts","../src/shared-context/envelope-io.ts"],"sourcesContent":["/**\n * Shared-item authority envelope (issue #1957).\n *\n * Pure parse/default/expiry helpers over the authority classes. Binding is\n * never inferred, and the authority token is validated exactly as supplied\n * or stored — a padded value never resolves to a privileged class.\n */\n\nexport const SHARED_AUTHORITIES = [\"informational\", \"advisory\", \"binding\"] as const;\nexport type SharedAuthority = (typeof SHARED_AUTHORITIES)[number];\n\nexport interface SharedEnvelope {\n sharedBy?: string;\n authority: SharedAuthority;\n expiresAt?: string;\n supersedes?: string;\n}\n\nexport interface SharedEnvelopeInput {\n sharedBy?: string;\n authority?: string;\n expiresAt?: string;\n supersedes?: string;\n}\n\nexport interface ApplyDefaultEnvelopeOptions {\n binding?: boolean;\n}\n\nfunction isSharedAuthority(value: string): value is SharedAuthority {\n return (SHARED_AUTHORITIES as readonly string[]).includes(value);\n}\n\nfunction optionalString(value: unknown): string | undefined {\n if (typeof value !== \"string\") return undefined;\n const trimmed = value.trim();\n return trimmed.length > 0 ? trimmed : undefined;\n}\n\ntype AuthorityToken =\n | { kind: \"absent\" }\n | { kind: \"invalid\"; raw: string }\n | { kind: \"valid\"; authority: SharedAuthority };\n\n/**\n * Read the authority token EXACTLY as supplied or stored. A padded value\n * such as `\" binding \"` is malformed data, never a normalized match for a\n * privileged class: trimming first would let stored whitespace resolve as\n * binding/advisory (AGENTS.md rule 45). Only the empty string counts as\n * \"unspecified\"; whitespace-only is invalid.\n */\nfunction readExactAuthority(value: unknown): AuthorityToken {\n if (typeof value !== \"string\" || value.length === 0) return { kind: \"absent\" };\n if (!isSharedAuthority(value)) return { kind: \"invalid\", raw: value };\n return { kind: \"valid\", authority: value };\n}\n\nfunction withOptionalFields(\n authority: SharedAuthority,\n source: { sharedBy?: unknown; expiresAt?: unknown; supersedes?: unknown },\n): SharedEnvelope {\n const envelope: SharedEnvelope = { authority };\n const sharedBy = optionalString(source.sharedBy);\n const expiresAt = optionalString(source.expiresAt);\n const supersedes = optionalString(source.supersedes);\n if (sharedBy) envelope.sharedBy = sharedBy;\n if (expiresAt) envelope.expiresAt = expiresAt;\n if (supersedes) envelope.supersedes = supersedes;\n return envelope;\n}\n\nexport function applyDefaultEnvelope(\n input: SharedEnvelopeInput = {},\n options: ApplyDefaultEnvelopeOptions = {},\n): SharedEnvelope {\n const requested = readExactAuthority(input.authority);\n if (requested.kind === \"invalid\") {\n throw new Error(\n `applyDefaultEnvelope: authority must be informational, advisory, or binding; got ${JSON.stringify(requested.raw)}`,\n );\n }\n if (requested.kind === \"valid\" && requested.authority === \"binding\" && options.binding !== true) {\n throw new Error(\"applyDefaultEnvelope: authority \\\"binding\\\" requires an explicit binding flag\");\n }\n return withOptionalFields(requested.kind === \"valid\" ? requested.authority : \"informational\", input);\n}\n\nexport function parseSharedEnvelope(raw: unknown): SharedEnvelope {\n if (typeof raw !== \"object\" || raw === null || Array.isArray(raw)) {\n return { authority: \"informational\" };\n }\n const record = raw as Record<string, unknown>;\n const requested = readExactAuthority(record.authority);\n const authority = requested.kind === \"valid\" ? requested.authority : \"informational\";\n return withOptionalFields(authority, record);\n}\n\nexport function isExpired(envelope: Pick<SharedEnvelope, \"expiresAt\">, nowMs: number): boolean {\n if (!Number.isFinite(nowMs)) return false;\n const expiresAt = envelope.expiresAt?.trim();\n if (!expiresAt) return false;\n const expiresAtMs = Date.parse(expiresAt);\n if (!Number.isFinite(expiresAtMs)) return false;\n return expiresAtMs <= nowMs;\n}\n","/**\n * Shared-item authority precedence (issue #1957).\n *\n * Pure helpers over the authority classes owned by `governance.ts`\n * (`SHARED_AUTHORITIES`). Resolution is least-privilege: an absent,\n * malformed, or unrecognized authority never resolves above\n * `informational`, and `binding` additionally requires the explicit\n * `allowBinding` flag. The helpers are exported for callers; wiring them\n * into the shared-context read and write paths is a later slice.\n */\n\nimport { SHARED_AUTHORITIES, type SharedAuthority } from \"./governance.js\";\n\nexport { SHARED_AUTHORITIES as SHARED_AUTHORITY_CLASSES };\nexport type { SharedAuthority as SharedAuthorityClass };\n\nexport interface ResolveSharedAuthorityInput {\n /** Raw authority value from an item's envelope, if any. */\n authority?: unknown;\n /** Explicit opt-in required before \"binding\" is honored. */\n allowBinding?: boolean;\n}\n\nconst AUTHORITY_RANK: Readonly<Record<SharedAuthority, number>> = {\n informational: 0,\n advisory: 1,\n binding: 2,\n};\n\nfunction isKnownAuthority(value: string): value is SharedAuthority {\n return (SHARED_AUTHORITIES as readonly string[]).includes(value);\n}\n\n\nexport function resolveSharedAuthority(input: ResolveSharedAuthorityInput): SharedAuthority {\n // Read the security switch ONCE. A getter (or a Proxy) can return undefined\n // during validation and true at the decision, which would let binding\n // through without a validated opt-in.\n const allowBinding = input.allowBinding;\n if (allowBinding !== undefined && typeof allowBinding !== \"boolean\") {\n // The flag is the security switch, so a truthy string or number must\n // not enable binding: reject it instead of coercing.\n throw new TypeError(\n `resolveSharedAuthority: allowBinding must be a boolean when supplied, got ${typeof allowBinding}`,\n );\n }\n const authority = input.authority;\n // Absent (missing key, undefined, null) and present-but-invalid both land\n // on informational — the least-privileged class — so an unmarked or\n // malformed legacy item can never be treated as binding. Validate the\n // exact value: no trim, no case-fold, because \" binding\" and \"BINDING\"\n // are unrecognized data, not normalized matches for a known class.\n if (typeof authority !== \"string\") return \"informational\";\n if (!isKnownAuthority(authority)) return \"informational\";\n if (authority === \"binding\" && allowBinding !== true) {\n // Downgrade rather than throw: a legacy item already carrying \"binding\"\n // is stored data, not a caller bug, so it resolves to the highest class\n // that does not require the explicit opt-in.\n return \"advisory\";\n }\n return authority;\n}\n\nexport function compareSharedAuthority(a: string, b: string): number {\n const rankA = isKnownAuthority(a) ? AUTHORITY_RANK[a] : AUTHORITY_RANK.informational;\n const rankB = isKnownAuthority(b) ? AUTHORITY_RANK[b] : AUTHORITY_RANK.informational;\n return Math.sign(rankA - rankB);\n}\n","/**\n * Shared-item envelope actor parse (issue #1957 leftover).\n *\n * Pure. Empty is missing_actor. Newline is invalid_actor.\n */\n\nexport type ParseEnvelopeActorResult =\n | { ok: true; actor: string }\n | { ok: false; error: \"missing_actor\" | \"invalid_actor\" };\n\nexport function parseEnvelopeActor(value: string): ParseEnvelopeActorResult {\n const actor = value.trim();\n if (actor.length === 0) return { ok: false, error: \"missing_actor\" };\n if (actor.includes(\"\\n\")) return { ok: false, error: \"invalid_actor\" };\n return { ok: true, actor };\n}\n","/**\n * Strict ISO-8601 instant validation for shared-context envelopes\n * (issue #1957 review round 3).\n *\n * `Date.parse` is permissive: under the supported Node runtime it reads\n * `\"2026-02-30\"` as March 2 and `\"1\"` as January 1 2001. A caller-supplied\n * expiry would therefore be silently reinterpreted into a governance deadline\n * the caller never asked for. Validate the ISO shape AND the calendar\n * components against the exact input, and reject rather than normalize.\n *\n * Extracted from `provenance.ts` so the envelope write path and the\n * provenance stamp share one validator instead of two copies.\n */\n\n// Linear ISO instant. No nested quantifiers.\nconst ISO_INSTANT =\n /^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})(?:\\.\\d+)?(?:Z|[+-]\\d{2}:\\d{2})$/;\n\n/**\n * True only for a calendar-valid ISO-8601 instant carrying an explicit zone.\n * Non-strings and non-finite parses are rejected explicitly, never coerced.\n */\nexport function isStrictIsoInstant(value: unknown): boolean {\n if (typeof value !== \"string\") return false;\n const match = ISO_INSTANT.exec(value);\n if (!match) return false;\n const year = Number(match[1]);\n const month = Number(match[2]);\n const day = Number(match[3]);\n const hour = Number(match[4]);\n const minute = Number(match[5]);\n const second = Number(match[6]);\n const utc = new Date(Date.UTC(year, month - 1, day, hour, minute, second));\n return (\n Number.isFinite(Date.parse(value)) &&\n utc.getUTCFullYear() === year &&\n utc.getUTCMonth() === month - 1 &&\n utc.getUTCDate() === day &&\n utc.getUTCHours() === hour &&\n utc.getUTCMinutes() === minute &&\n utc.getUTCSeconds() === second\n );\n}\n","/**\n * Shared-item envelope at parse (issue #1957 leftover).\n *\n * Pure. Blank is missing_at. Anything that is not a calendar-valid ISO-8601\n * instant is invalid_at — including values permissive `Date.parse` would\n * silently reinterpret (`\"2026-02-30\"` -> March 2, `\"1\"` -> January 1 2001),\n * a whitespace-padded timestamp, and any non-string or non-finite input\n * (review round 3). `trim()` only detects blankness; validation reads the\n * exact value, so normalization can never widen what passes.\n */\n\nimport { isStrictIsoInstant } from \"./iso-instant.js\";\n\nexport type ParseEnvelopeAtResult =\n | { ok: true; at: string }\n | { ok: false; error: \"missing_at\" | \"invalid_at\" };\n\nexport function parseEnvelopeAt(value: string): ParseEnvelopeAtResult {\n if (typeof value !== \"string\") return { ok: false, error: \"invalid_at\" };\n if (value.trim().length === 0) return { ok: false, error: \"missing_at\" };\n if (!isStrictIsoInstant(value)) return { ok: false, error: \"invalid_at\" };\n return { ok: true, at: new Date(Date.parse(value)).toISOString() };\n}\n","/**\n * Shared-item envelope id parse (issue #1957 leftover).\n *\n * Pure. Empty is missing_id. Newline is invalid_id.\n */\n\nexport type ParseEnvelopeIdResult =\n | { ok: true; id: string }\n | { ok: false; error: \"missing_id\" | \"invalid_id\" };\n\nexport function parseEnvelopeId(value: string): ParseEnvelopeIdResult {\n const id = value.trim();\n if (id.length === 0) return { ok: false, error: \"missing_id\" };\n if (id.includes(\"\\n\")) return { ok: false, error: \"invalid_id\" };\n return { ok: true, id };\n}\n","/**\n * Shared-item envelope wiring (issue #1957, control 1: origin + authority).\n *\n * Bridges the pure envelope helpers onto the markdown frontmatter the\n * shared-context manager reads and writes.\n *\n * Write side rejects invalid input (an unrecognized authority or a binding\n * request without the config opt-in throws — never silently reinterpreted).\n * Read side resolves least privilege: a missing, malformed, or unrecognized\n * authority never resolves above informational, and stored binding\n * downgrades to advisory unless config opted in.\n */\n\nimport { applyDefaultEnvelope, parseSharedEnvelope, type SharedEnvelope } from \"./governance.js\";\nimport { resolveSharedAuthority } from \"./authority-precedence.js\";\nimport type { SharedAuthority } from \"./governance.js\";\nimport { parseEnvelopeActor } from \"./envelope-actor.js\";\nimport { parseEnvelopeAt } from \"./envelope-at.js\";\nimport { parseEnvelopeId } from \"./envelope-id.js\";\n\nexport interface ComposeWriteEnvelopeInput {\n /** Governance origin. Becomes the envelope's `sharedBy`. */\n origin: string;\n /** Requested authority class. Unrecognized values throw. */\n authority?: string;\n /** Optional ISO-8601 expiry. Invalid timestamps throw. */\n expiresAt?: string;\n /** Optional id of the item this one supersedes. */\n supersedes?: string;\n /** Config opt-in (`sharedContextAllowBindingAuthority`). Binding throws without it. */\n allowBinding: boolean;\n /**\n * Write instant for the expiry TTL policy (issue #2920). When finite, an\n * `expiresAt` must land strictly after it and within the maximum TTL —\n * a past or effectively-immortal expiry is a client input error, never a\n * silently accepted stamp.\n */\n nowMs?: number;\n}\n\nfunction requireEnvelopeActor(agentId: string): string {\n const parsed = parseEnvelopeActor(agentId);\n if (!parsed.ok) {\n throw new Error(`composeWriteEnvelope: agentId must be a non-blank single-line string (${parsed.error})`);\n }\n return parsed.actor;\n}\n\nfunction optionalEnvelopeAt(expiresAt: string | undefined): string | undefined {\n if (expiresAt === undefined) return undefined;\n const parsed = parseEnvelopeAt(expiresAt);\n if (!parsed.ok) {\n throw new Error(`composeWriteEnvelope: expiresAt must be a valid ISO-8601 timestamp (${parsed.error})`);\n }\n return parsed.at;\n}\n\n/** Maximum write-side TTL: 10 years. A farther `expiresAt` is rejected. */\nexport const MAX_WRITE_EXPIRES_AT_TTL_MS = 3650 * 24 * 60 * 60 * 1000;\n\nfunction assertBoundedFutureExpiry(expiresAt: string, nowMs: number): void {\n const expiresAtMs = Date.parse(expiresAt);\n if (expiresAtMs <= nowMs) {\n throw new Error(\"composeWriteEnvelope: expiresAt must be an instant strictly after the write time\");\n }\n if (expiresAtMs - nowMs > MAX_WRITE_EXPIRES_AT_TTL_MS) {\n throw new Error(\n `composeWriteEnvelope: expiresAt exceeds the maximum TTL of ${MAX_WRITE_EXPIRES_AT_TTL_MS}ms`,\n );\n }\n}\n\nfunction optionalEnvelopeId(supersedes: string | undefined): string | undefined {\n if (supersedes === undefined) return undefined;\n const parsed = parseEnvelopeId(supersedes);\n if (!parsed.ok) {\n throw new Error(`composeWriteEnvelope: supersedes must be a non-blank single-line id (${parsed.error})`);\n }\n return parsed.id;\n}\n\n/**\n * Reserved governance origin for an authenticated external access write that\n * resolved no principal (`agentAccessHttp.principal` unset, no adapter\n * identity). Server-owned: the caller cannot mint or influence it, and the\n * caller-supplied `agentId` never becomes audit metadata on that path.\n */\nexport const UNATTRIBUTED_ACCESS_WRITE_ORIGIN = \"unattributed:access-surface\";\n\nexport interface ResolvedWriteIdentity {\n /**\n * Producer identity: frontmatter `agent`, on-disk segment, and the\n * cross-signals grouping key. Self-declared by the caller only on\n * surfaces that resolved no server identity; never decides authority.\n */\n agent: string;\n /** Governance origin stamped as the envelope's `sharedBy`. */\n origin: string;\n}\n\n/**\n * Resolve the producer identity and governance origin for a shared-context\n * write. They are different fields with different trust requirements:\n *\n * - The origin (`sharedBy`) is audit metadata and is always server-derived.\n * When the surface resolved an authenticated identity, that identity IS the\n * origin; when it resolved none but the write crosses an external\n * boundary, the caller-supplied `unattributedOrigin` token is stamped\n * instead — never the caller's value. Only a trusted in-process caller\n * (no identity, no token) may stamp its own id as the origin.\n * - The producer (`agent`) drives grouping and display only. When an\n * authenticated identity exists it is also the producer, and a\n * caller-supplied `agentId` naming a different agent is REJECTED, so a\n * caller can never publish an item attributed to another agent. Without a\n * server identity the caller's label stands as the producer — collapsing\n * it instead would merge every writer into one agent and erase\n * multi-agent overlaps from `synthesizeCrossSignals`.\n */\nexport function resolveWriteOrigin(input: {\n agentId: string;\n authenticatedIdentity?: string;\n unattributedOrigin?: string;\n}): ResolvedWriteIdentity {\n const identity = input.authenticatedIdentity?.trim() ?? \"\";\n if (identity.length > 0) {\n const requested = input.agentId.trim();\n if (requested.length > 0 && requested !== identity) {\n throw new Error(\n `shared-context write origin mismatch: authenticated identity ${JSON.stringify(identity)} cannot publish as ${JSON.stringify(requested)}`,\n );\n }\n return { agent: identity, origin: identity };\n }\n const unattributed = input.unattributedOrigin?.trim() ?? \"\";\n if (unattributed.length > 0) {\n const label = input.agentId.trim();\n return {\n agent: label.length > 0 ? requireProducer(label) : requireProducer(unattributed),\n origin: requireProducer(unattributed),\n };\n }\n const actor = requireProducer(input.agentId);\n return { agent: actor, origin: actor };\n}\n\nfunction requireProducer(value: string): string {\n const parsed = parseEnvelopeActor(value);\n if (!parsed.ok) {\n throw new Error(`shared-context write producer must be a non-blank single-line string (${parsed.error})`);\n }\n return parsed.actor;\n}\n\n/**\n * Validate and compose the envelope for a shared-context write.\n * `sharedBy` is stamped from the server-derived origin — provenance is\n * never injected through item content or the caller's producer label.\n */\nexport function composeWriteEnvelope(input: ComposeWriteEnvelopeInput): SharedEnvelope {\n const sharedBy = requireEnvelopeActor(input.origin);\n const expiresAt = optionalEnvelopeAt(input.expiresAt);\n if (expiresAt !== undefined && Number.isFinite(input.nowMs ?? Number.NaN)) {\n assertBoundedFutureExpiry(expiresAt, input.nowMs as number);\n }\n const supersedes = optionalEnvelopeId(input.supersedes);\n return applyDefaultEnvelope(\n { sharedBy, authority: input.authority, expiresAt, supersedes },\n { binding: input.allowBinding },\n );\n}\n\n/** Serialize an envelope into frontmatter lines (caller adds the `---` fences). */\nexport function envelopeToFrontmatterLines(envelope: SharedEnvelope): string[] {\n const line = (key: string, value: string) => `${key}: ${JSON.stringify(value)}`;\n const lines = [line(\"sharedBy\", envelope.sharedBy ?? \"\"), line(\"authority\", envelope.authority)];\n if (envelope.expiresAt !== undefined) lines.push(line(\"expiresAt\", envelope.expiresAt));\n if (envelope.supersedes !== undefined) lines.push(line(\"supersedes\", envelope.supersedes));\n return lines;\n}\n\n/**\n * Build an envelope from frontmatter scalars already read off a stored item.\n * Missing scalars (legacy items) compose to informational with no expiry.\n */\nexport function envelopeFromScalars(scalars: {\n sharedBy: string | null;\n authority: string | null;\n expiresAt: string | null;\n supersedes: string | null;\n}): SharedEnvelope {\n const record: Record<string, string> = {};\n if (scalars.sharedBy !== null) record.sharedBy = scalars.sharedBy;\n if (scalars.authority !== null) record.authority = scalars.authority;\n if (scalars.expiresAt !== null) record.expiresAt = scalars.expiresAt;\n if (scalars.supersedes !== null) record.supersedes = scalars.supersedes;\n return parseSharedEnvelope(record);\n}\n\n/**\n * Resolve a stored envelope's authority for read-side consumption.\n * Least privilege: unrecognized/missing stays informational; binding\n * requires the config opt-in or downgrades to advisory.\n */\nexport function resolveReadAuthority(\n envelope: Pick<SharedEnvelope, \"authority\">,\n allowBinding: boolean,\n): SharedAuthority {\n return resolveSharedAuthority({ authority: envelope.authority, allowBinding });\n}\n"],"mappings":"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","names":[]}
@@ -155,4 +155,4 @@ export {
155
155
  probeFetch,
156
156
  SingleFlightProbe
157
157
  };
158
- //# sourceMappingURL=chunk-WKDFJXW5.js.map
158
+ //# sourceMappingURL=chunk-QM2SPLKQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/local-llm-helpers.ts"],"sourcesContent":["import { log } from \"./logger.js\";\nimport type { LocalLlmRequestPriority } from \"./local-llm.js\";\n\nexport interface LocalLlmChatCompletionOptions {\n temperature?: number;\n maxTokens?: number;\n responseFormat?: { type: string };\n timeoutMs?: number;\n operation?: string;\n forceDisableThinking?: boolean;\n disableThinking?: boolean;\n priority?: LocalLlmRequestPriority;\n signal?: AbortSignal;\n redactProviderErrors?: boolean;\n /** Per-request model; defaults to config.localLlmModel. */\n model?: string;\n /**\n * Optional out-box for the terminal failure cause (issue #2891): on a\n * failed request the client records the last provider error here so\n * callers can classify it (e.g. HTTP 429 → rate-limited) in memory\n * instead of seeing only null. Never logged.\n */\n failureDiag?: { lastError?: unknown };\n}\n\nexport interface LocalLlmChatCompletionResult {\n content: string;\n usage?: { promptTokens: number; completionTokens: number; totalTokens: number };\n}\nexport function isAbortError(err: unknown): boolean {\n if (!err || typeof err !== \"object\") return false;\n const maybe = err as { name?: string; message?: string };\n return (\n maybe.name === \"AbortError\" ||\n maybe.message === \"This operation was aborted\" ||\n maybe.message === \"The operation was aborted\"\n );\n}\n\nexport function waitForRetryBackoff(backoffMs: number, signal?: AbortSignal): Promise<boolean> {\n return new Promise((resolve) => {\n let settled = false;\n let timer: NodeJS.Timeout | undefined;\n const onAbort = (): void => {\n if (settled) return;\n settled = true;\n if (timer) clearTimeout(timer);\n signal?.removeEventListener(\"abort\", onAbort);\n resolve(false);\n };\n const onTimer = (): void => {\n if (settled) return;\n settled = true;\n signal?.removeEventListener(\"abort\", onAbort);\n resolve(true);\n };\n timer = setTimeout(onTimer, backoffMs);\n if (signal) {\n if (signal.aborted) onAbort();\n else signal.addEventListener(\"abort\", onAbort, { once: true });\n }\n });\n}\n\nexport function normalizeBackendTripReason(reason: string): string {\n const cleaned = reason.replace(/\\s+/g, \" \").replace(/^[-:–—\\s]+/, \"\").trim();\n if (!cleaned) return \"unknown local backend failure\";\n return cleaned.length > 160 ? `${cleaned.slice(0, 157)}...` : cleaned;\n}\n\nexport function extractNonRecoverableBackendReason(reason: string): string | null {\n const match = reason.match(\n /Failed to load model|Library not loaded|different Team IDs|code signature|llm_engine_mlx_amphibian/i,\n );\n return match?.[0] ?? null;\n}\n\nexport function extractNonRecoverableBackendReasonFromErrorText(errorText: string): string | null {\n const directReason = extractNonRecoverableBackendReason(errorText);\n if (directReason) return directReason;\n try {\n const parsed = JSON.parse(errorText) as { error?: { message?: string } };\n return extractNonRecoverableBackendReason(parsed?.error?.message ?? \"\");\n } catch {\n return null;\n }\n}\n\n/**\n * Flatten a fetch rejection into one line, including the `cause` undici hides\n * the real reason behind (`fetch failed` alone says nothing).\n */\nexport function describeFetchFailure(err: unknown): string {\n const name = err instanceof Error ? err.name : \"\";\n const message = err instanceof Error ? err.message : String(err);\n const cause: unknown = err instanceof Error ? (err as Error & { cause?: unknown }).cause : undefined;\n const causeText = cause instanceof Error\n ? ` (cause: ${cause.name}: ${cause.message}${\n typeof (cause as Error & { code?: unknown }).code === \"string\"\n ? ` [${String((cause as Error & { code?: unknown }).code)}]`\n : \"\"\n })`\n : cause === undefined\n ? \"\"\n : ` (cause: ${String(cause)})`;\n return `${name ? `${name}: ` : \"\"}${message}${causeText}`;\n}\n\n/**\n * What to record when every availability probe failed.\n *\n * A probe that TIMED OUT is not evidence the backend is down: the budget is a\n * fixed 2s and a busy event loop can burn it before the socket is scheduled,\n * so the backend looks dead while it answers other callers in single-digit ms.\n * Caching that verdict took extraction offline for a whole health-check\n * interval at a time (issue #2210), so a timeout leaves availability UNKNOWN —\n * this call fails, the next one re-probes instead of reading a stale false.\n *\n * A backend that ANSWERED and said no is a real verdict and stays cached, or\n * the daemon re-probes a known-bad endpoint on every request.\n */\nexport function resolveUnavailableVerdict(args: {\n baseUrl: string;\n sawAbortedProbe: boolean;\n wasAvailable: boolean | null;\n}): { cacheVerdict: boolean; warning: string | null } {\n if (args.sawAbortedProbe) {\n return {\n cacheVerdict: false,\n warning:\n `local LLM availability probe timed out at ${args.baseUrl} (event loop busy?); treating availability as ` +\n \"unknown and re-probing on the next request rather than marking the backend down\",\n };\n }\n return {\n cacheVerdict: true,\n // Surfaced at warn, not debug: extraction stops silently when this flips,\n // and the daemon emits no debug at all unless configured for it.\n warning: args.wasAvailable !== false ? `local LLM became unavailable at ${args.baseUrl}` : null,\n };\n}\n\nexport interface ProbeFetchResult {\n ok: boolean;\n data: unknown;\n status: number | null;\n /** The probe hit its own budget rather than getting an answer. */\n aborted?: boolean;\n}\n\n/**\n * One health-probe request.\n *\n * Every failure is logged with its cause: a transport error and a 404 both\n * returned `ok: false` with nothing recorded, so an unreachable backend was\n * indistinguishable from a wrong path and an availability failure had no\n * diagnosable reason at all (§22, issue #2210).\n */\nexport async function probeFetch(\n url: string,\n options: { timeoutMs: number; headers: Record<string, string>; signal?: AbortSignal },\n): Promise<ProbeFetchResult> {\n const controller = new AbortController();\n const requestSignal = options.signal\n ? AbortSignal.any([options.signal, controller.signal])\n : controller.signal;\n const timeout = setTimeout(() => controller.abort(), options.timeoutMs);\n try {\n const response = await fetch(url, { signal: requestSignal, headers: options.headers });\n clearTimeout(timeout);\n if (!response.ok) {\n log.debug(`local LLM probe: ${url} returned HTTP ${response.status}`);\n return { ok: false, data: null, status: response.status };\n }\n const contentType = response.headers.get(\"content-type\");\n const data = contentType?.includes(\"application/json\") ? await response.json() : await response.text();\n return { ok: true, data, status: response.status };\n } catch (err) {\n clearTimeout(timeout);\n const aborted = isAbortError(err);\n log.debug(\n `local LLM probe: ${url} ${aborted ? `timed out after ${options.timeoutMs}ms` : \"failed\"}: ${describeFetchFailure(err)}`,\n );\n return { ok: false, data: null, status: null, aborted };\n }\n}\n\ninterface PendingProbe {\n promise: Promise<boolean>;\n controller: AbortController;\n /** Callers still awaiting this sequence; at zero the sequence is aborted. */\n waiters: number;\n}\n\n/**\n * Collapses concurrent probe sequences onto one in-flight run.\n *\n * A timed-out availability probe deliberately caches nothing (issue #2210),\n * which removed the false verdict that used to absorb concurrent callers:\n * every queued request would then run its own full probe sequence, on a host\n * already slow enough to blow the probe budget.\n *\n * Cancellation is refcounted rather than shared: one caller walking away must\n * not abort a sequence the others are still waiting on, so the underlying task\n * is aborted only once every waiter has gone.\n */\nexport class SingleFlightProbe {\n private pending: PendingProbe | null = null;\n\n run(task: (signal: AbortSignal) => Promise<boolean>, signal?: AbortSignal): Promise<boolean> {\n let active = this.pending;\n if (!active) {\n const controller = new AbortController();\n const created: PendingProbe = { promise: Promise.resolve(false), controller, waiters: 0 };\n created.promise = task(controller.signal).finally(() => {\n if (this.pending === created) this.pending = null;\n });\n this.pending = created;\n active = created;\n }\n const entry = active;\n entry.waiters += 1;\n let released = false;\n const release = () => {\n if (released) return;\n released = true;\n entry.waiters -= 1;\n if (entry.waiters > 0) return;\n // Detach BEFORE aborting. `pending` would otherwise still point at this\n // doomed entry until the task's own `finally` runs a microtask later, and\n // a caller arriving in that window would join an aborted sequence and\n // read its `false` as a verdict.\n if (this.pending === entry) this.pending = null;\n entry.controller.abort();\n };\n if (!signal) return entry.promise.finally(release);\n return new Promise<boolean>((resolve, reject) => {\n const onAbort = () => {\n release();\n resolve(false);\n };\n signal.addEventListener(\"abort\", onAbort, { once: true });\n entry.promise.then(\n (value) => {\n signal.removeEventListener(\"abort\", onAbort);\n release();\n resolve(value);\n },\n (err: unknown) => {\n signal.removeEventListener(\"abort\", onAbort);\n release();\n reject(err instanceof Error ? err : new Error(String(err)));\n },\n );\n });\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getVerdictKind
3
- } from "./chunk-YUW66UAH.js";
3
+ } from "./chunk-4AX5OYKC.js";
4
4
  import {
5
5
  scoreImportance
6
6
  } from "./chunk-UOBPK2OS.js";
@@ -1320,4 +1320,4 @@ export {
1320
1320
  syncWearableSource,
1321
1321
  defaultTimezone
1322
1322
  };
1323
- //# sourceMappingURL=chunk-GAS7KYC7.js.map
1323
+ //# sourceMappingURL=chunk-RQQO3ORQ.js.map