@remnic/core 9.69.85 → 9.69.87

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 (336) hide show
  1. package/dist/access-admin-ops-surface.js +45 -44
  2. package/dist/access-authorization-probe.js +46 -45
  3. package/dist/access-boundary.js +45 -44
  4. package/dist/access-cli.js +111 -110
  5. package/dist/access-cli.js.map +1 -1
  6. package/dist/access-extraction-force-flush.d.ts.map +1 -1
  7. package/dist/access-extraction-force-flush.js +45 -44
  8. package/dist/access-http-briefing.js +46 -45
  9. package/dist/access-http-query.js +47 -46
  10. package/dist/access-http.js +67 -66
  11. package/dist/access-identity-continuity-surface.js +45 -44
  12. package/dist/access-lcm-surface.js +45 -44
  13. package/dist/access-mcp.d.ts.map +1 -1
  14. package/dist/access-mcp.js +59 -58
  15. package/dist/access-namespace-preflight.js +45 -44
  16. package/dist/access-observe-write-category.js +4 -4
  17. package/dist/access-observe-write-surface.js +45 -44
  18. package/dist/access-operations-batch.js +49 -48
  19. package/dist/access-operations.js +56 -55
  20. package/dist/access-recall-concurrency.js +45 -44
  21. package/dist/access-recall-diagnostics.js +4 -4
  22. package/dist/access-recall-response.js +45 -44
  23. package/dist/access-recall-surface.js +45 -44
  24. package/dist/access-schema.js +3 -3
  25. package/dist/access-service-helpers.d.ts +1 -0
  26. package/dist/access-service-helpers.d.ts.map +1 -1
  27. package/dist/access-service-helpers.js +1 -1
  28. package/dist/access-service.js +45 -44
  29. package/dist/access-surface-catalog.js +47 -46
  30. package/dist/access-surface-catalog.js.map +1 -1
  31. package/dist/active-recall.js +13 -12
  32. package/dist/active-recall.js.map +1 -1
  33. package/dist/{auto-sync-WEUDMXUW.js → auto-sync-6IPX2BAC.js} +5 -5
  34. package/dist/background-generation.js +2 -2
  35. package/dist/briefing.js +7 -7
  36. package/dist/buffer.js +4 -3
  37. package/dist/calibration.js +2 -2
  38. package/dist/{capsule-crypto-GWVG7LGC.js → capsule-crypto-7FJQINUR.js} +2 -2
  39. package/dist/causal-behavior.js +2 -2
  40. package/dist/causal-chain.js +2 -2
  41. package/dist/causal-consolidation.js +10 -10
  42. package/dist/causal-retrieval.js +2 -2
  43. package/dist/causal-trajectory-graph.js +3 -3
  44. package/dist/causal-trajectory.js +1 -1
  45. package/dist/{chunk-J3IWHCMF.js → chunk-2DT7PIDZ.js} +3 -3
  46. package/dist/{chunk-OWHERGF2.js → chunk-2NLLXCJG.js} +2 -2
  47. package/dist/{chunk-MFZACYZ6.js → chunk-37S3IMYB.js} +2 -2
  48. package/dist/{chunk-IBGEHKQ6.js → chunk-3C3J243X.js} +2 -2
  49. package/dist/{chunk-55FCXCXJ.js → chunk-3GQC3NMB.js} +4 -4
  50. package/dist/{chunk-QOPB6KE3.js → chunk-3TB2XQ3C.js} +2 -2
  51. package/dist/{chunk-3XQYM4RE.js → chunk-4BZP2B4U.js} +2 -2
  52. package/dist/{chunk-FYAU4S6E.js → chunk-4CDYONWO.js} +3 -3
  53. package/dist/{chunk-CRKWSSS4.js → chunk-4IEOGIPB.js} +2 -2
  54. package/dist/{chunk-W75BBBSY.js → chunk-4IIMMZZK.js} +11 -11
  55. package/dist/{chunk-Q3THVX75.js → chunk-4RL3JOB3.js} +2 -2
  56. package/dist/{chunk-7G6WUOLB.js → chunk-66DKTOBY.js} +2 -2
  57. package/dist/{chunk-IP5VLSLO.js → chunk-6L3PBSAR.js} +2 -2
  58. package/dist/{chunk-AZ2X5LNA.js → chunk-6LYAEM54.js} +2 -2
  59. package/dist/{chunk-RCQKAOOB.js → chunk-6NQ4LSMS.js} +40 -40
  60. package/dist/{chunk-WB2I2EQK.js → chunk-6TT6HRE4.js} +2 -2
  61. package/dist/{chunk-JX6USXZR.js → chunk-72JNNJJJ.js} +2 -2
  62. package/dist/{chunk-BUKK5SWA.js → chunk-7LCGFUMB.js} +4 -4
  63. package/dist/{chunk-OEBLZZKK.js → chunk-7XG7KMIW.js} +2 -2
  64. package/dist/{chunk-3GN2PEOT.js → chunk-AQK54Q7O.js} +2 -2
  65. package/dist/{chunk-3SG4FGDV.js → chunk-AWD36R4D.js} +5 -2
  66. package/dist/chunk-AWD36R4D.js.map +1 -0
  67. package/dist/{chunk-BOUFVFV2.js → chunk-AZSGSRIM.js} +2 -2
  68. package/dist/{chunk-N3MNDVJO.js → chunk-BFO3IR56.js} +2 -2
  69. package/dist/{chunk-2UPTRDGM.js → chunk-BJRAELDH.js} +3 -3
  70. package/dist/{chunk-IMAP236M.js → chunk-CS52MFDV.js} +2 -2
  71. package/dist/{chunk-UNJOB4DY.js → chunk-CUCWX3MO.js} +2 -2
  72. package/dist/{chunk-QB75LKQQ.js → chunk-CWHV574S.js} +32 -13
  73. package/dist/chunk-CWHV574S.js.map +1 -0
  74. package/dist/{chunk-DQISIT63.js → chunk-DZ42MDZE.js} +3 -3
  75. package/dist/{chunk-ML2MVAEZ.js → chunk-DZ525SNQ.js} +1 -1
  76. package/dist/{chunk-5ELENZTA.js → chunk-EDIH6X2P.js} +2 -2
  77. package/dist/{chunk-S42HZILI.js → chunk-EHS5MJEF.js} +2 -2
  78. package/dist/{chunk-IA3X2Y4K.js → chunk-EQ6YOIKO.js} +2 -2
  79. package/dist/{chunk-4V44AA7O.js → chunk-FAN73COB.js} +2 -2
  80. package/dist/{chunk-KERNN6BC.js → chunk-FB64XE3R.js} +2 -2
  81. package/dist/{chunk-SVZWVZ7E.js → chunk-FOH7AMMI.js} +72 -55
  82. package/dist/chunk-FOH7AMMI.js.map +1 -0
  83. package/dist/{chunk-S55WTPFJ.js → chunk-FRCESVV6.js} +7 -7
  84. package/dist/{chunk-GEX5NI36.js → chunk-HBBHL4YF.js} +2 -2
  85. package/dist/{chunk-2I6VHX6Q.js → chunk-HESDNYRB.js} +2 -2
  86. package/dist/{chunk-2U3R3DDH.js → chunk-ICZQG4XE.js} +9 -9
  87. package/dist/{chunk-DGAWEJVI.js → chunk-JGSQ6P4D.js} +2 -2
  88. package/dist/{chunk-TIQZNDZ5.js → chunk-JKMHZF3Q.js} +2 -2
  89. package/dist/{chunk-NAFPHFDM.js → chunk-JNLEJE4A.js} +2 -2
  90. package/dist/{chunk-IFCKHPY4.js → chunk-K4J4E7WV.js} +2 -2
  91. package/dist/{chunk-2QG4SLZI.js → chunk-KF7PQ7G2.js} +2 -2
  92. package/dist/{chunk-JXMECXMF.js → chunk-KFCMMDHH.js} +2 -2
  93. package/dist/{chunk-SQDKX4RW.js → chunk-KP7SANCF.js} +2 -2
  94. package/dist/{chunk-OM5BIPBR.js → chunk-L6UZEAID.js} +2 -2
  95. package/dist/{chunk-TEV2JGU5.js → chunk-LF5IGOOD.js} +15 -15
  96. package/dist/{chunk-QWUJWBZ5.js → chunk-LQG5O5EP.js} +2 -2
  97. package/dist/{chunk-NKFLHW7J.js → chunk-LS3XH3UE.js} +2 -2
  98. package/dist/{chunk-BJX3VQWZ.js → chunk-M536WNTQ.js} +2 -2
  99. package/dist/{chunk-EU3N5MK3.js → chunk-MQJL6CDZ.js} +3 -3
  100. package/dist/{chunk-VZBW6CDG.js → chunk-N4S4NUX5.js} +1 -1
  101. package/dist/{chunk-L2LBMKSI.js → chunk-NE6PHPLG.js} +10 -10
  102. package/dist/{chunk-VTPASHTO.js → chunk-NE7I2RCT.js} +2 -2
  103. package/dist/{chunk-OAOBL6OY.js → chunk-NR2ASHBL.js} +5 -5
  104. package/dist/{chunk-7UUKRS3J.js → chunk-P2WZHLUF.js} +3 -3
  105. package/dist/{chunk-IVH7INFM.js → chunk-P6WFK4ZJ.js} +6 -6
  106. package/dist/{chunk-CHDGJJV6.js → chunk-PUKTBULQ.js} +2 -2
  107. package/dist/{chunk-NAYBHNGN.js → chunk-QEV26L2F.js} +2 -2
  108. package/dist/{chunk-I4G4UWQA.js → chunk-QI2E6ISQ.js} +1 -1
  109. package/dist/{chunk-CK5U7JGH.js → chunk-QVS22WTO.js} +2 -2
  110. package/dist/{chunk-B47OHVFT.js → chunk-QWW2JDDX.js} +7 -7
  111. package/dist/{chunk-EJPF6XDQ.js → chunk-RDJ6C7NZ.js} +3 -3
  112. package/dist/{chunk-C2WWQ4OR.js → chunk-RMMA44HE.js} +1 -1
  113. package/dist/chunk-RMMA44HE.js.map +1 -0
  114. package/dist/{chunk-I53NAHZ4.js → chunk-S7GCT7NU.js} +3 -2
  115. package/dist/chunk-S7GCT7NU.js.map +1 -0
  116. package/dist/{chunk-RDEUG2M2.js → chunk-SOZUJCME.js} +6 -6
  117. package/dist/{chunk-T4QGUXCV.js → chunk-SPSRGEDQ.js} +2 -2
  118. package/dist/{chunk-TY446V34.js → chunk-SRZW7FNU.js} +2 -2
  119. package/dist/{chunk-SV72F4DS.js → chunk-SY5KDWGU.js} +2 -2
  120. package/dist/{chunk-H36X4NRH.js → chunk-TDYAIXHK.js} +5 -5
  121. package/dist/{chunk-ZTHGFTMW.js → chunk-TKC5LZ43.js} +2 -2
  122. package/dist/{chunk-6DTJBTHL.js → chunk-TM3RXL4G.js} +14 -2
  123. package/dist/chunk-TM3RXL4G.js.map +1 -0
  124. package/dist/{chunk-AXDOF4VI.js → chunk-UA5DX5C3.js} +2 -2
  125. package/dist/{chunk-JS3S2HVG.js → chunk-V2ES4WCZ.js} +2 -2
  126. package/dist/{chunk-5FNZ3G6X.js → chunk-VKQI47DJ.js} +4 -4
  127. package/dist/{chunk-JVY556FW.js → chunk-VLLD4TOB.js} +2 -2
  128. package/dist/{chunk-NMBX4D7P.js → chunk-VQNONC4E.js} +2 -2
  129. package/dist/{chunk-GZAGLCQH.js → chunk-VVDWZRZG.js} +2 -2
  130. package/dist/{chunk-T4BE5KJM.js → chunk-VX6GCKBS.js} +3 -3
  131. package/dist/{chunk-RIEX7NOZ.js → chunk-W4AOR52H.js} +2 -2
  132. package/dist/{chunk-UVYI6VIX.js → chunk-X7Y7WX73.js} +1 -1
  133. package/dist/{chunk-BNPLDVM6.js → chunk-XTYX6V52.js} +2 -2
  134. package/dist/{chunk-FZVROZKC.js → chunk-XVZA6VXC.js} +4 -4
  135. package/dist/{chunk-RGMVMVMF.js → chunk-YBA52OKG.js} +2 -1
  136. package/dist/chunk-YBA52OKG.js.map +1 -0
  137. package/dist/{chunk-C7JAUNFC.js → chunk-YITN5WXI.js} +2 -2
  138. package/dist/{chunk-HS75MCQF.js → chunk-YRULQW5J.js} +2 -2
  139. package/dist/{chunk-DINRT75P.js → chunk-YSBL7VPO.js} +2 -2
  140. package/dist/{chunk-7QK5TUTW.js → chunk-YSJTCOHR.js} +2 -2
  141. package/dist/{chunk-QC56VZXC.js → chunk-YTQGGO3K.js} +67 -67
  142. package/dist/{chunk-HKFJ3PF3.js → chunk-ZI7QA4MK.js} +2 -2
  143. package/dist/chunk-ZJP66Q4I.js +48 -0
  144. package/dist/chunk-ZJP66Q4I.js.map +1 -0
  145. package/dist/cli.js +86 -85
  146. package/dist/coding/export-okf-codegraph.js +6 -6
  147. package/dist/coding/pre-action-gate.js +2 -2
  148. package/dist/compounding/engine.js +7 -7
  149. package/dist/config.js +13 -12
  150. package/dist/connectors/codex-materialize-runner.js +7 -7
  151. package/dist/connectors/index.js +7 -7
  152. package/dist/contradiction/index.js +3 -3
  153. package/dist/{contradiction-scan-5EJYRKD3.js → contradiction-scan-TAGMOUQ2.js} +3 -3
  154. package/dist/convergence-refresh.js +9 -9
  155. package/dist/corpus-watermark.js +9 -9
  156. package/dist/correction/correction-access-wiring.d.ts.map +1 -1
  157. package/dist/deep-recall-http-glue.js +4 -4
  158. package/dist/deep-recall-policy-llm.js +3 -3
  159. package/dist/deep-recall.js +2 -2
  160. package/dist/entity-retrieval.js +7 -7
  161. package/dist/external-wiki-access.js +46 -45
  162. package/dist/extraction-faithfulness.js +3 -3
  163. package/dist/extraction-judge.js +3 -3
  164. package/dist/extraction-liveness.d.ts +9 -0
  165. package/dist/extraction-liveness.d.ts.map +1 -1
  166. package/dist/extraction-liveness.js +2 -1
  167. package/dist/extraction-llm-health.d.ts +32 -0
  168. package/dist/extraction-llm-health.d.ts.map +1 -0
  169. package/dist/extraction-llm-health.js +17 -0
  170. package/dist/extraction-span-config.js +3 -2
  171. package/dist/extraction-span-materialize.js +2 -2
  172. package/dist/extraction.js +16 -15
  173. package/dist/fallback-llm.js +2 -2
  174. package/dist/{first-start-migration-GAT7G733.js → first-start-migration-7OATHJKB.js} +4 -4
  175. package/dist/{graph-edge-decay-PVKDKLQK.js → graph-edge-decay-KQGS3L3B.js} +6 -6
  176. package/dist/graph-jsonl.js +4 -4
  177. package/dist/graph-snapshot.js +4 -4
  178. package/dist/graph.js +5 -5
  179. package/dist/harmonic-retrieval.js +1 -1
  180. package/dist/index.js +136 -135
  181. package/dist/json-extract.d.ts.map +1 -1
  182. package/dist/json-extract.js +1 -1
  183. package/dist/lcm/engine.js +2 -2
  184. package/dist/lcm/index.js +5 -5
  185. package/dist/local-llm.d.ts.map +1 -1
  186. package/dist/local-llm.js +1 -1
  187. package/dist/location/index.js +9 -9
  188. package/dist/maintenance/memory-governance.js +7 -7
  189. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +7 -7
  190. package/dist/maintenance/rebuild-memory-projection.js +8 -8
  191. package/dist/memory-browse-operations.js +46 -45
  192. package/dist/memory-browse.js +3 -3
  193. package/dist/namespaces/migrate.js +8 -8
  194. package/dist/namespaces/storage.js +7 -7
  195. package/dist/operator-doctor-corpus.js +10 -10
  196. package/dist/operator-toolkit.js +25 -24
  197. package/dist/orchestration/extraction-run.d.ts.map +1 -1
  198. package/dist/orchestration/maintenance.js +17 -17
  199. package/dist/orchestrator.js +111 -110
  200. package/dist/recall-navigation-operations.js +46 -45
  201. package/dist/recall-navigation.js +45 -44
  202. package/dist/recall-planner-llm.js +2 -2
  203. package/dist/recall-state-view-admission.js +3 -3
  204. package/dist/recall-why-service.js +6 -6
  205. package/dist/recall-why.js +3 -3
  206. package/dist/{resolution-UYJU5JUA.js → resolution-DNX7FO7A.js} +4 -4
  207. package/dist/resolution-DNX7FO7A.js.map +1 -0
  208. package/dist/resume-bundles.js +14 -13
  209. package/dist/semantic-consolidation.js +8 -8
  210. package/dist/semantic-rule-promotion.js +7 -7
  211. package/dist/semantic-rule-verifier.js +7 -7
  212. package/dist/source-agent-qualifier.js +11 -10
  213. package/dist/standup/build.js +7 -7
  214. package/dist/storage.js +6 -6
  215. package/dist/summarizer.js +5 -5
  216. package/dist/support-passport/index.js +48 -47
  217. package/dist/transfer/backup.js +2 -2
  218. package/dist/transfer/capsule-export.js +2 -2
  219. package/dist/transfer/capsule-import.js +2 -2
  220. package/dist/transfer/export-okf.js +7 -7
  221. package/dist/verified-recall.js +7 -7
  222. package/dist/who-knows-cli.js +8 -8
  223. package/dist/who-knows.js +7 -7
  224. package/package.json +2 -2
  225. package/src/access-extraction-force-flush.ts +15 -7
  226. package/src/access-mcp.ts +90 -28
  227. package/src/access-service-health.test.ts +41 -5
  228. package/src/access-service-helpers.ts +1 -0
  229. package/src/access-service-observe-lcm-parity.test.ts +56 -24
  230. package/src/correction/correction-access-wiring.ts +36 -8
  231. package/src/correction/correction-classify-parse.test.ts +178 -0
  232. package/src/extraction-liveness.ts +13 -1
  233. package/src/extraction-llm-health.test.ts +103 -0
  234. package/src/extraction-llm-health.ts +71 -0
  235. package/src/json-extract.ts +6 -0
  236. package/src/local-llm-thinking.test.ts +12 -0
  237. package/src/local-llm.ts +1 -0
  238. package/src/orchestration/extraction-run.test.ts +55 -1
  239. package/src/orchestration/extraction-run.ts +13 -0
  240. package/dist/chunk-3SG4FGDV.js.map +0 -1
  241. package/dist/chunk-6DTJBTHL.js.map +0 -1
  242. package/dist/chunk-C2WWQ4OR.js.map +0 -1
  243. package/dist/chunk-I53NAHZ4.js.map +0 -1
  244. package/dist/chunk-QB75LKQQ.js.map +0 -1
  245. package/dist/chunk-RGMVMVMF.js.map +0 -1
  246. package/dist/chunk-SVZWVZ7E.js.map +0 -1
  247. /package/dist/{auto-sync-WEUDMXUW.js.map → auto-sync-6IPX2BAC.js.map} +0 -0
  248. /package/dist/{capsule-crypto-GWVG7LGC.js.map → capsule-crypto-7FJQINUR.js.map} +0 -0
  249. /package/dist/{chunk-J3IWHCMF.js.map → chunk-2DT7PIDZ.js.map} +0 -0
  250. /package/dist/{chunk-OWHERGF2.js.map → chunk-2NLLXCJG.js.map} +0 -0
  251. /package/dist/{chunk-MFZACYZ6.js.map → chunk-37S3IMYB.js.map} +0 -0
  252. /package/dist/{chunk-IBGEHKQ6.js.map → chunk-3C3J243X.js.map} +0 -0
  253. /package/dist/{chunk-55FCXCXJ.js.map → chunk-3GQC3NMB.js.map} +0 -0
  254. /package/dist/{chunk-QOPB6KE3.js.map → chunk-3TB2XQ3C.js.map} +0 -0
  255. /package/dist/{chunk-3XQYM4RE.js.map → chunk-4BZP2B4U.js.map} +0 -0
  256. /package/dist/{chunk-FYAU4S6E.js.map → chunk-4CDYONWO.js.map} +0 -0
  257. /package/dist/{chunk-CRKWSSS4.js.map → chunk-4IEOGIPB.js.map} +0 -0
  258. /package/dist/{chunk-W75BBBSY.js.map → chunk-4IIMMZZK.js.map} +0 -0
  259. /package/dist/{chunk-Q3THVX75.js.map → chunk-4RL3JOB3.js.map} +0 -0
  260. /package/dist/{chunk-7G6WUOLB.js.map → chunk-66DKTOBY.js.map} +0 -0
  261. /package/dist/{chunk-IP5VLSLO.js.map → chunk-6L3PBSAR.js.map} +0 -0
  262. /package/dist/{chunk-AZ2X5LNA.js.map → chunk-6LYAEM54.js.map} +0 -0
  263. /package/dist/{chunk-RCQKAOOB.js.map → chunk-6NQ4LSMS.js.map} +0 -0
  264. /package/dist/{chunk-WB2I2EQK.js.map → chunk-6TT6HRE4.js.map} +0 -0
  265. /package/dist/{chunk-JX6USXZR.js.map → chunk-72JNNJJJ.js.map} +0 -0
  266. /package/dist/{chunk-BUKK5SWA.js.map → chunk-7LCGFUMB.js.map} +0 -0
  267. /package/dist/{chunk-OEBLZZKK.js.map → chunk-7XG7KMIW.js.map} +0 -0
  268. /package/dist/{chunk-3GN2PEOT.js.map → chunk-AQK54Q7O.js.map} +0 -0
  269. /package/dist/{chunk-BOUFVFV2.js.map → chunk-AZSGSRIM.js.map} +0 -0
  270. /package/dist/{chunk-N3MNDVJO.js.map → chunk-BFO3IR56.js.map} +0 -0
  271. /package/dist/{chunk-2UPTRDGM.js.map → chunk-BJRAELDH.js.map} +0 -0
  272. /package/dist/{chunk-IMAP236M.js.map → chunk-CS52MFDV.js.map} +0 -0
  273. /package/dist/{chunk-UNJOB4DY.js.map → chunk-CUCWX3MO.js.map} +0 -0
  274. /package/dist/{chunk-DQISIT63.js.map → chunk-DZ42MDZE.js.map} +0 -0
  275. /package/dist/{chunk-ML2MVAEZ.js.map → chunk-DZ525SNQ.js.map} +0 -0
  276. /package/dist/{chunk-5ELENZTA.js.map → chunk-EDIH6X2P.js.map} +0 -0
  277. /package/dist/{chunk-S42HZILI.js.map → chunk-EHS5MJEF.js.map} +0 -0
  278. /package/dist/{chunk-IA3X2Y4K.js.map → chunk-EQ6YOIKO.js.map} +0 -0
  279. /package/dist/{chunk-4V44AA7O.js.map → chunk-FAN73COB.js.map} +0 -0
  280. /package/dist/{chunk-KERNN6BC.js.map → chunk-FB64XE3R.js.map} +0 -0
  281. /package/dist/{chunk-S55WTPFJ.js.map → chunk-FRCESVV6.js.map} +0 -0
  282. /package/dist/{chunk-GEX5NI36.js.map → chunk-HBBHL4YF.js.map} +0 -0
  283. /package/dist/{chunk-2I6VHX6Q.js.map → chunk-HESDNYRB.js.map} +0 -0
  284. /package/dist/{chunk-2U3R3DDH.js.map → chunk-ICZQG4XE.js.map} +0 -0
  285. /package/dist/{chunk-DGAWEJVI.js.map → chunk-JGSQ6P4D.js.map} +0 -0
  286. /package/dist/{chunk-TIQZNDZ5.js.map → chunk-JKMHZF3Q.js.map} +0 -0
  287. /package/dist/{chunk-NAFPHFDM.js.map → chunk-JNLEJE4A.js.map} +0 -0
  288. /package/dist/{chunk-IFCKHPY4.js.map → chunk-K4J4E7WV.js.map} +0 -0
  289. /package/dist/{chunk-2QG4SLZI.js.map → chunk-KF7PQ7G2.js.map} +0 -0
  290. /package/dist/{chunk-JXMECXMF.js.map → chunk-KFCMMDHH.js.map} +0 -0
  291. /package/dist/{chunk-SQDKX4RW.js.map → chunk-KP7SANCF.js.map} +0 -0
  292. /package/dist/{chunk-OM5BIPBR.js.map → chunk-L6UZEAID.js.map} +0 -0
  293. /package/dist/{chunk-TEV2JGU5.js.map → chunk-LF5IGOOD.js.map} +0 -0
  294. /package/dist/{chunk-QWUJWBZ5.js.map → chunk-LQG5O5EP.js.map} +0 -0
  295. /package/dist/{chunk-NKFLHW7J.js.map → chunk-LS3XH3UE.js.map} +0 -0
  296. /package/dist/{chunk-BJX3VQWZ.js.map → chunk-M536WNTQ.js.map} +0 -0
  297. /package/dist/{chunk-EU3N5MK3.js.map → chunk-MQJL6CDZ.js.map} +0 -0
  298. /package/dist/{chunk-VZBW6CDG.js.map → chunk-N4S4NUX5.js.map} +0 -0
  299. /package/dist/{chunk-L2LBMKSI.js.map → chunk-NE6PHPLG.js.map} +0 -0
  300. /package/dist/{chunk-VTPASHTO.js.map → chunk-NE7I2RCT.js.map} +0 -0
  301. /package/dist/{chunk-OAOBL6OY.js.map → chunk-NR2ASHBL.js.map} +0 -0
  302. /package/dist/{chunk-7UUKRS3J.js.map → chunk-P2WZHLUF.js.map} +0 -0
  303. /package/dist/{chunk-IVH7INFM.js.map → chunk-P6WFK4ZJ.js.map} +0 -0
  304. /package/dist/{chunk-CHDGJJV6.js.map → chunk-PUKTBULQ.js.map} +0 -0
  305. /package/dist/{chunk-NAYBHNGN.js.map → chunk-QEV26L2F.js.map} +0 -0
  306. /package/dist/{chunk-I4G4UWQA.js.map → chunk-QI2E6ISQ.js.map} +0 -0
  307. /package/dist/{chunk-CK5U7JGH.js.map → chunk-QVS22WTO.js.map} +0 -0
  308. /package/dist/{chunk-B47OHVFT.js.map → chunk-QWW2JDDX.js.map} +0 -0
  309. /package/dist/{chunk-EJPF6XDQ.js.map → chunk-RDJ6C7NZ.js.map} +0 -0
  310. /package/dist/{chunk-RDEUG2M2.js.map → chunk-SOZUJCME.js.map} +0 -0
  311. /package/dist/{chunk-T4QGUXCV.js.map → chunk-SPSRGEDQ.js.map} +0 -0
  312. /package/dist/{chunk-TY446V34.js.map → chunk-SRZW7FNU.js.map} +0 -0
  313. /package/dist/{chunk-SV72F4DS.js.map → chunk-SY5KDWGU.js.map} +0 -0
  314. /package/dist/{chunk-H36X4NRH.js.map → chunk-TDYAIXHK.js.map} +0 -0
  315. /package/dist/{chunk-ZTHGFTMW.js.map → chunk-TKC5LZ43.js.map} +0 -0
  316. /package/dist/{chunk-AXDOF4VI.js.map → chunk-UA5DX5C3.js.map} +0 -0
  317. /package/dist/{chunk-JS3S2HVG.js.map → chunk-V2ES4WCZ.js.map} +0 -0
  318. /package/dist/{chunk-5FNZ3G6X.js.map → chunk-VKQI47DJ.js.map} +0 -0
  319. /package/dist/{chunk-JVY556FW.js.map → chunk-VLLD4TOB.js.map} +0 -0
  320. /package/dist/{chunk-NMBX4D7P.js.map → chunk-VQNONC4E.js.map} +0 -0
  321. /package/dist/{chunk-GZAGLCQH.js.map → chunk-VVDWZRZG.js.map} +0 -0
  322. /package/dist/{chunk-T4BE5KJM.js.map → chunk-VX6GCKBS.js.map} +0 -0
  323. /package/dist/{chunk-RIEX7NOZ.js.map → chunk-W4AOR52H.js.map} +0 -0
  324. /package/dist/{chunk-UVYI6VIX.js.map → chunk-X7Y7WX73.js.map} +0 -0
  325. /package/dist/{chunk-BNPLDVM6.js.map → chunk-XTYX6V52.js.map} +0 -0
  326. /package/dist/{chunk-FZVROZKC.js.map → chunk-XVZA6VXC.js.map} +0 -0
  327. /package/dist/{chunk-C7JAUNFC.js.map → chunk-YITN5WXI.js.map} +0 -0
  328. /package/dist/{chunk-HS75MCQF.js.map → chunk-YRULQW5J.js.map} +0 -0
  329. /package/dist/{chunk-DINRT75P.js.map → chunk-YSBL7VPO.js.map} +0 -0
  330. /package/dist/{chunk-7QK5TUTW.js.map → chunk-YSJTCOHR.js.map} +0 -0
  331. /package/dist/{chunk-QC56VZXC.js.map → chunk-YTQGGO3K.js.map} +0 -0
  332. /package/dist/{chunk-HKFJ3PF3.js.map → chunk-ZI7QA4MK.js.map} +0 -0
  333. /package/dist/{contradiction-scan-5EJYRKD3.js.map → contradiction-scan-TAGMOUQ2.js.map} +0 -0
  334. /package/dist/{graph-edge-decay-PVKDKLQK.js.map → extraction-llm-health.js.map} +0 -0
  335. /package/dist/{first-start-migration-GAT7G733.js.map → first-start-migration-7OATHJKB.js.map} +0 -0
  336. /package/dist/{resolution-UYJU5JUA.js.map → graph-edge-decay-KQGS3L3B.js.map} +0 -0
@@ -6,23 +6,23 @@ import {
6
6
  loadSyncState,
7
7
  syncWearableSource,
8
8
  wearableSourceLabel
9
- } from "./chunk-JX6USXZR.js";
10
- import {
11
- runPeerProfileReasoner
12
- } from "./chunk-I74SUMNI.js";
13
- import {
14
- CompressionGuidelineCoordinator
15
- } from "./chunk-IW3RMBPB.js";
9
+ } from "./chunk-72JNNJJJ.js";
16
10
  import {
17
11
  ActivityStore,
18
12
  MaintenanceScheduler
19
- } from "./chunk-L2LBMKSI.js";
13
+ } from "./chunk-NE6PHPLG.js";
14
+ import {
15
+ runPeerProfileReasoner
16
+ } from "./chunk-I74SUMNI.js";
20
17
  import {
21
18
  migrateFromEngram
22
19
  } from "./chunk-VZAKYDMJ.js";
20
+ import {
21
+ CompressionGuidelineCoordinator
22
+ } from "./chunk-IW3RMBPB.js";
23
23
  import {
24
24
  LcmEngine
25
- } from "./chunk-5FNZ3G6X.js";
25
+ } from "./chunk-VKQI47DJ.js";
26
26
  import {
27
27
  chunkTranscriptEntries
28
28
  } from "./chunk-TECVW3JP.js";
@@ -32,18 +32,21 @@ import {
32
32
  import {
33
33
  CompoundingEngine,
34
34
  defaultTierMigrationCycleBudget
35
- } from "./chunk-GZAGLCQH.js";
35
+ } from "./chunk-VVDWZRZG.js";
36
36
  import {
37
37
  SharedContextManager
38
38
  } from "./chunk-7CRUDH7G.js";
39
- import {
40
- cleanArchivedUserMessage
41
- } from "./chunk-47DU4SGJ.js";
42
39
  import {
43
40
  applyUtilityPromotionRuntimePolicy,
44
41
  applyUtilityRankingRuntimeDelta,
45
42
  loadUtilityRuntimeValues
46
43
  } from "./chunk-SWIKABKI.js";
44
+ import {
45
+ cleanArchivedUserMessage
46
+ } from "./chunk-47DU4SGJ.js";
47
+ import {
48
+ TierMigrationExecutor
49
+ } from "./chunk-YRFAYOFQ.js";
47
50
  import {
48
51
  decideTierTransition
49
52
  } from "./chunk-GCBIXUPT.js";
@@ -59,9 +62,6 @@ import {
59
62
  import {
60
63
  CODEX_THREAD_KEY_PREFIX
61
64
  } from "./chunk-4EX5WZ4M.js";
62
- import {
63
- TierMigrationExecutor
64
- } from "./chunk-YRFAYOFQ.js";
65
65
  import {
66
66
  buildTargetedFactRecallSection,
67
67
  shouldRecallTargetedFactEvidence
@@ -113,18 +113,18 @@ import {
113
113
  reorderByRankedKeys,
114
114
  rerankLocalOrNoop
115
115
  } from "./chunk-LUDXM7MD.js";
116
- import {
117
- StateViewAnchorTracker,
118
- filterRecentScanMemories,
119
- stateViewPacketActive
120
- } from "./chunk-G2DF5MI7.js";
121
116
  import {
122
117
  indexStateViewAnnotatedResults,
123
118
  resolveRecallStateViewActive
124
- } from "./chunk-AZ2X5LNA.js";
119
+ } from "./chunk-6LYAEM54.js";
125
120
  import {
126
121
  applyRecallStateViews
127
122
  } from "./chunk-DBB5JPSL.js";
123
+ import {
124
+ StateViewAnchorTracker,
125
+ filterRecentScanMemories,
126
+ stateViewPacketActive
127
+ } from "./chunk-G2DF5MI7.js";
128
128
  import {
129
129
  dedupeResultsByNamespace,
130
130
  hasMemoryForResult,
@@ -181,7 +181,7 @@ import {
181
181
  } from "./chunk-OH7QLI6W.js";
182
182
  import {
183
183
  ExtractionEngine
184
- } from "./chunk-IVH7INFM.js";
184
+ } from "./chunk-P6WFK4ZJ.js";
185
185
  import {
186
186
  parseMemoryActionEligibilityContext
187
187
  } from "./chunk-JHU4EYDV.js";
@@ -194,7 +194,7 @@ import {
194
194
  getVerdictKind,
195
195
  judgeFactDurability,
196
196
  validateProcedureExtraction
197
- } from "./chunk-DQISIT63.js";
197
+ } from "./chunk-DZ42MDZE.js";
198
198
  import {
199
199
  pickFactEventTimeAnchor,
200
200
  resolveFactEventTime
@@ -218,7 +218,7 @@ import {
218
218
  buildEntityRecallSection,
219
219
  entityRecentTranscriptLookbackHours,
220
220
  readRecentEntityTranscriptEntries
221
- } from "./chunk-T4QGUXCV.js";
221
+ } from "./chunk-SPSRGEDQ.js";
222
222
  import {
223
223
  tryDirectAnswer
224
224
  } from "./chunk-VY47VI2T.js";
@@ -227,7 +227,7 @@ import {
227
227
  } from "./chunk-65I2LZEK.js";
228
228
  import {
229
229
  refreshConvergedNamespaces
230
- } from "./chunk-JS3S2HVG.js";
230
+ } from "./chunk-V2ES4WCZ.js";
231
231
  import {
232
232
  builtInConnectorPackageSpecifier,
233
233
  ensureBuiltInWearableConnectors,
@@ -236,40 +236,40 @@ import {
236
236
  runTimelinePublishCli,
237
237
  screenCandidateFact,
238
238
  summarizeVaultPublish
239
- } from "./chunk-RCQKAOOB.js";
240
- import {
241
- normalizeReplaySessionKey
242
- } from "./chunk-AJVLDJU6.js";
239
+ } from "./chunk-6NQ4LSMS.js";
243
240
  import {
244
241
  RoutingRulesStore
245
242
  } from "./chunk-TBUEE7XF.js";
243
+ import {
244
+ normalizeReplaySessionKey
245
+ } from "./chunk-AJVLDJU6.js";
246
246
  import {
247
247
  compareVerifiedEpisodeResults,
248
248
  searchVerifiedEpisodes
249
- } from "./chunk-TIQZNDZ5.js";
249
+ } from "./chunk-JKMHZF3Q.js";
250
250
  import {
251
251
  ThreadingManager
252
252
  } from "./chunk-OJP3N7UK.js";
253
253
  import {
254
254
  compareVerifiedSemanticRuleResults,
255
255
  searchVerifiedSemanticRules
256
- } from "./chunk-NKFLHW7J.js";
256
+ } from "./chunk-LS3XH3UE.js";
257
257
  import {
258
258
  searchWorkProductLedgerEntries
259
259
  } from "./chunk-G7NYVKD6.js";
260
260
  import {
261
261
  TranscriptManager
262
262
  } from "./chunk-AM4T6CHX.js";
263
+ import {
264
+ PolicyRuntimeManager
265
+ } from "./chunk-2LA3H54D.js";
263
266
  import {
264
267
  runNamespaceMaintenanceFanout,
265
268
  summarizeNamespaceMaintenanceHealth
266
- } from "./chunk-W75BBBSY.js";
269
+ } from "./chunk-4IIMMZZK.js";
267
270
  import {
268
271
  planNamespaceMaintenance
269
- } from "./chunk-FYAU4S6E.js";
270
- import {
271
- PolicyRuntimeManager
272
- } from "./chunk-2LA3H54D.js";
272
+ } from "./chunk-4CDYONWO.js";
273
273
  import {
274
274
  isAboveImportanceThreshold,
275
275
  scoreImportance
@@ -298,7 +298,7 @@ import {
298
298
  materializeAfterSemanticConsolidation,
299
299
  parseConsolidationResponse,
300
300
  parseOperatorAwareConsolidationResponse
301
- } from "./chunk-3XQYM4RE.js";
301
+ } from "./chunk-4BZP2B4U.js";
302
302
  import {
303
303
  semanticChunkContent
304
304
  } from "./chunk-2GBFKHBZ.js";
@@ -307,7 +307,7 @@ import {
307
307
  } from "./chunk-6TBIWIAG.js";
308
308
  import {
309
309
  SmartBuffer
310
- } from "./chunk-BNPLDVM6.js";
310
+ } from "./chunk-XTYX6V52.js";
311
311
  import {
312
312
  buildRecallQueryPolicy
313
313
  } from "./chunk-C6WMSXCJ.js";
@@ -337,7 +337,7 @@ import {
337
337
  embeddingsFromCosineHits,
338
338
  normalizeConnectorScope,
339
339
  runSeedGraduationPass
340
- } from "./chunk-55FCXCXJ.js";
340
+ } from "./chunk-3GQC3NMB.js";
341
341
  import {
342
342
  compileCorrectionRule,
343
343
  correctionsFilePath,
@@ -348,7 +348,7 @@ import {
348
348
  isAnalysisFailureKind,
349
349
  resolveJournalSource,
350
350
  resolveVaultNotePath
351
- } from "./chunk-QOPB6KE3.js";
351
+ } from "./chunk-3TB2XQ3C.js";
352
352
  import {
353
353
  buildRecognitionIndex,
354
354
  decideRecognitionTier,
@@ -363,7 +363,7 @@ import {
363
363
  } from "./chunk-QW27DOHG.js";
364
364
  import {
365
365
  MeetingsInputError
366
- } from "./chunk-TEV2JGU5.js";
366
+ } from "./chunk-LF5IGOOD.js";
367
367
  import {
368
368
  WearablesInputError,
369
369
  describeErrorForOperator
@@ -378,10 +378,10 @@ import {
378
378
  import {
379
379
  removeNodeEdgesForRewrite,
380
380
  rollbackNodeEdgeRewrite
381
- } from "./chunk-MFZACYZ6.js";
381
+ } from "./chunk-37S3IMYB.js";
382
382
  import {
383
383
  NamespaceCatalog
384
- } from "./chunk-WB2I2EQK.js";
384
+ } from "./chunk-6TT6HRE4.js";
385
385
  import {
386
386
  RecallResultFormatter,
387
387
  SessionContextCoordinator,
@@ -390,17 +390,13 @@ import {
390
390
  detectPassiveCorrections,
391
391
  renderSessionExperiencePreview,
392
392
  scoreSessionExperienceForPrompt
393
- } from "./chunk-SVZWVZ7E.js";
393
+ } from "./chunk-FOH7AMMI.js";
394
394
  import {
395
395
  importCapsule
396
- } from "./chunk-H36X4NRH.js";
396
+ } from "./chunk-TDYAIXHK.js";
397
397
  import {
398
398
  isCodingGraphInstalled
399
399
  } from "./chunk-VQ7B2Q6M.js";
400
- import {
401
- listTrustZoneRecords,
402
- searchTrustZoneRecords
403
- } from "./chunk-ROBHL3GL.js";
404
400
  import {
405
401
  applyTrustScoreStage,
406
402
  buildTrustSignalsForRerank,
@@ -408,9 +404,13 @@ import {
408
404
  trustResultFor,
409
405
  trustResultKey
410
406
  } from "./chunk-GNVZQ5JN.js";
407
+ import {
408
+ listTrustZoneRecords,
409
+ searchTrustZoneRecords
410
+ } from "./chunk-ROBHL3GL.js";
411
411
  import {
412
412
  HourlySummarizer
413
- } from "./chunk-OAOBL6OY.js";
413
+ } from "./chunk-NR2ASHBL.js";
414
414
  import {
415
415
  LastRecallStore,
416
416
  RecallHandleHistoryStore,
@@ -430,10 +430,10 @@ import {
430
430
  isTopLevelArchivePath,
431
431
  journalPath,
432
432
  writeJournalFile
433
- } from "./chunk-7G6WUOLB.js";
433
+ } from "./chunk-66DKTOBY.js";
434
434
  import {
435
435
  searchHarmonicRetrieval
436
- } from "./chunk-ML2MVAEZ.js";
436
+ } from "./chunk-DZ525SNQ.js";
437
437
  import {
438
438
  ProfilingCollector
439
439
  } from "./chunk-BLVHDY2U.js";
@@ -442,7 +442,7 @@ import {
442
442
  } from "./chunk-5MA7ZLPD.js";
443
443
  import {
444
444
  LocalLlmClient
445
- } from "./chunk-I53NAHZ4.js";
445
+ } from "./chunk-S7GCT7NU.js";
446
446
  import {
447
447
  contentMatchesRedactionRules,
448
448
  loadRedactionRules
@@ -462,21 +462,21 @@ import {
462
462
  } from "./chunk-BMWN7B3Y.js";
463
463
  import {
464
464
  NamespaceStorageRouter
465
- } from "./chunk-N3MNDVJO.js";
465
+ } from "./chunk-BFO3IR56.js";
466
466
  import {
467
467
  GraphIndex
468
- } from "./chunk-2U3R3DDH.js";
468
+ } from "./chunk-ICZQG4XE.js";
469
469
  import {
470
470
  GraphEdgeAppendError
471
471
  } from "./chunk-GKCXTSFF.js";
472
472
  import {
473
473
  buildChainFollowupGenerator
474
- } from "./chunk-7UUKRS3J.js";
474
+ } from "./chunk-P2WZHLUF.js";
475
475
  import {
476
476
  ExtractionDeadlineError,
477
477
  ExtractionRunCoordinator,
478
478
  classifyExtractionOrigin
479
- } from "./chunk-6DTJBTHL.js";
479
+ } from "./chunk-TM3RXL4G.js";
480
480
  import {
481
481
  ARTIFACT_STATUS_CACHE_TTL_MS,
482
482
  BulkImportBatchPartialFailureError,
@@ -516,7 +516,7 @@ import {
516
516
  throwIfRecallAborted,
517
517
  tokenizeRecallQuery,
518
518
  utcDateKeysForLocalDay
519
- } from "./chunk-I4G4UWQA.js";
519
+ } from "./chunk-QI2E6ISQ.js";
520
520
  import {
521
521
  inferIntentFromText,
522
522
  intentCompatibilityScore,
@@ -547,7 +547,7 @@ import {
547
547
  } from "./chunk-QDW3E4RD.js";
548
548
  import {
549
549
  searchCausalTrajectories
550
- } from "./chunk-VZBW6CDG.js";
550
+ } from "./chunk-N4S4NUX5.js";
551
551
  import {
552
552
  QmdResultResolver,
553
553
  StorageManager,
@@ -566,7 +566,7 @@ import {
566
566
  reconstructFusionInputs,
567
567
  selfDeps,
568
568
  serializeFusionDay
569
- } from "./chunk-S55WTPFJ.js";
569
+ } from "./chunk-FRCESVV6.js";
570
570
  import {
571
571
  bodyIsEscaped,
572
572
  decodeTranscriptBody,
@@ -608,7 +608,7 @@ import {
608
608
  applyFaithfulnessVerdict,
609
609
  createFaithfulnessCounters,
610
610
  runFaithfulnessGateBatch
611
- } from "./chunk-J3IWHCMF.js";
611
+ } from "./chunk-2DT7PIDZ.js";
612
612
  import {
613
613
  canonicalSemanticFileText,
614
614
  casCommittedRevisionOf
@@ -670,7 +670,7 @@ import {
670
670
  import {
671
671
  FallbackLlmClient,
672
672
  gatewayTaskChainOptions
673
- } from "./chunk-ZTHGFTMW.js";
673
+ } from "./chunk-TKC5LZ43.js";
674
674
  import {
675
675
  fallbackLlmRuntimeContextFromConfig
676
676
  } from "./chunk-EP6BA7VV.js";
@@ -760,7 +760,7 @@ import {
760
760
  } from "./chunk-PWF4JXKD.js";
761
761
  import {
762
762
  extractJsonCandidates
763
- } from "./chunk-RGMVMVMF.js";
763
+ } from "./chunk-YBA52OKG.js";
764
764
  import {
765
765
  excludeSupportPassportPrivateMemories,
766
766
  isSupportPassportPrivateMemory
@@ -17371,7 +17371,7 @@ var OrchestratorInitCoordinator = class {
17371
17371
  if (signal.aborted || !this.isCurrentStartupEpoch(epoch)) return;
17372
17372
  if (lifecycleCaps.lifecyclePolicy && resolveQmdCapabilities(this.deps.config).qmdTierMigration) {
17373
17373
  try {
17374
- const { runFirstStartMigration } = await import("./first-start-migration-GAT7G733.js");
17374
+ const { runFirstStartMigration } = await import("./first-start-migration-7OATHJKB.js");
17375
17375
  if (signal.aborted || !this.isCurrentStartupEpoch(epoch)) return;
17376
17376
  const result = await runFirstStartMigration({
17377
17377
  storage: this.deps.storage,
@@ -17395,7 +17395,7 @@ var OrchestratorInitCoordinator = class {
17395
17395
  if (signal.aborted || !this.isCurrentStartupEpoch(epoch)) return;
17396
17396
  if (!this.deps.wearablesAutoSyncHandle && this.deps.config.wearables.enabled && this.deps.config.wearables.autoSyncEnabled && Object.values(this.deps.config.wearables.sources).some((source) => source.enabled)) {
17397
17397
  try {
17398
- const { startWearablesAutoSync } = await import("./auto-sync-WEUDMXUW.js");
17398
+ const { startWearablesAutoSync } = await import("./auto-sync-6IPX2BAC.js");
17399
17399
  if (signal.aborted || !this.isCurrentStartupEpoch(epoch)) return;
17400
17400
  this.deps.wearablesAutoSyncHandle = startWearablesAutoSync(
17401
17401
  {
@@ -31080,4 +31080,4 @@ export {
31080
31080
  qmdStartupCollectionChecksWithTimeout,
31081
31081
  Orchestrator
31082
31082
  };
31083
- //# sourceMappingURL=chunk-QC56VZXC.js.map
31083
+ //# sourceMappingURL=chunk-YTQGGO3K.js.map
@@ -2,7 +2,7 @@ import {
2
2
  SupportPassportError,
3
3
  SupportPassportOwnerCreateGrantRequestSchema,
4
4
  getOperation
5
- } from "./chunk-SVZWVZ7E.js";
5
+ } from "./chunk-FOH7AMMI.js";
6
6
 
7
7
  // src/support-passport/access-http.ts
8
8
  var OWNER_ROOT = "/engram/v1/support-passport";
@@ -137,4 +137,4 @@ export {
137
137
  SUPPORT_PASSPORT_OWNER_HTTP_ROUTES,
138
138
  handleSupportPassportOwnerHttp
139
139
  };
140
- //# sourceMappingURL=chunk-HKFJ3PF3.js.map
140
+ //# sourceMappingURL=chunk-ZI7QA4MK.js.map
@@ -0,0 +1,48 @@
1
+ import {
2
+ log
3
+ } from "./chunk-3WCASNQZ.js";
4
+
5
+ // src/extraction-llm-health.ts
6
+ var DEDUP_WINDOW_MS = 36e5;
7
+ var lastFailureReason = null;
8
+ var lastFailureAtMs = null;
9
+ var lastErrorEmitByReason = /* @__PURE__ */ new Map();
10
+ function recordExtractionLlmSuccess() {
11
+ lastFailureReason = null;
12
+ lastFailureAtMs = null;
13
+ }
14
+ function recordExtractionLlmFailure(reason, atMs = Date.now()) {
15
+ lastFailureReason = reason;
16
+ lastFailureAtMs = atMs;
17
+ }
18
+ function getExtractionLlmHealth() {
19
+ return {
20
+ llmReachable: lastFailureReason === null,
21
+ lastFailureReason,
22
+ lastFailureAt: lastFailureAtMs === null ? null : new Date(lastFailureAtMs).toISOString()
23
+ };
24
+ }
25
+ function emitExtractionLlmFailureError(reason, detail, nowMs = Date.now()) {
26
+ const suffix = detail ? `: ${detail}` : "";
27
+ const last = lastErrorEmitByReason.get(reason);
28
+ if (last !== void 0 && nowMs - last < DEDUP_WINDOW_MS) {
29
+ log.debug(`extraction failure repeat suppressed for ${DEDUP_WINDOW_MS / 6e4}m: ${reason}${suffix}`);
30
+ return false;
31
+ }
32
+ lastErrorEmitByReason.set(reason, nowMs);
33
+ log.error(`extraction failed with no durable outputs (buffer retained for retry): ${reason}${suffix}`);
34
+ return true;
35
+ }
36
+ function resetExtractionLlmHealthForTests() {
37
+ recordExtractionLlmSuccess();
38
+ lastErrorEmitByReason.clear();
39
+ }
40
+
41
+ export {
42
+ recordExtractionLlmSuccess,
43
+ recordExtractionLlmFailure,
44
+ getExtractionLlmHealth,
45
+ emitExtractionLlmFailureError,
46
+ resetExtractionLlmHealthForTests
47
+ };
48
+ //# sourceMappingURL=chunk-ZJP66Q4I.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/extraction-llm-health.ts"],"sourcesContent":["/**\n * Extraction-LLM availability tracking surfaced on `/health` (issue #3140).\n *\n * A failing extraction LLM (unreachable endpoint, gateway with no models)\n * used to surface only as debug-level lines while extraction silently skipped\n * persistence and the buffer grew for days. The extraction run records every\n * attempt outcome here; the access `/health` payload reads the last outcome so\n * an unavailable extractor is visible without debug logs, and each distinct\n * failure reason logs at ERROR level at most once per window instead of once\n * per failed flush.\n */\n\nimport { log } from \"./logger.js\";\n\nexport interface ExtractionLlmHealth {\n /** Whether the LAST extraction attempt completed without a failure marker. */\n llmReachable: boolean;\n /** `failureReason` of the last failed attempt; null while reachable. */\n lastFailureReason: string | null;\n /** ISO timestamp of the last failed attempt; null while reachable. */\n lastFailureAt: string | null;\n}\n\n/** One ERROR line per distinct reason per window; repeats stay at debug. */\nconst DEDUP_WINDOW_MS = 3_600_000;\n\nlet lastFailureReason: string | null = null;\nlet lastFailureAtMs: number | null = null;\nconst lastErrorEmitByReason = new Map<string, number>();\n\nexport function recordExtractionLlmSuccess(): void {\n lastFailureReason = null;\n lastFailureAtMs = null;\n}\n\nexport function recordExtractionLlmFailure(reason: string, atMs: number = Date.now()): void {\n lastFailureReason = reason;\n lastFailureAtMs = atMs;\n}\n\nexport function getExtractionLlmHealth(): ExtractionLlmHealth {\n return {\n llmReachable: lastFailureReason === null,\n lastFailureReason,\n lastFailureAt: lastFailureAtMs === null ? null : new Date(lastFailureAtMs).toISOString(),\n };\n}\n\n/**\n * ERROR-level, deduplicated failure event (issue #3140): the first failure of\n * a given reason inside the window logs at error level; repeats inside the\n * window log at debug so the backoff retry loop cannot flood the transcript\n * while the outage stays visible. Returns whether the error line was emitted.\n */\nexport function emitExtractionLlmFailureError(reason: string, detail?: string, nowMs: number = Date.now()): boolean {\n const suffix = detail ? `: ${detail}` : \"\";\n const last = lastErrorEmitByReason.get(reason);\n if (last !== undefined && nowMs - last < DEDUP_WINDOW_MS) {\n log.debug(`extraction failure repeat suppressed for ${DEDUP_WINDOW_MS / 60_000}m: ${reason}${suffix}`);\n return false;\n }\n lastErrorEmitByReason.set(reason, nowMs);\n log.error(`extraction failed with no durable outputs (buffer retained for retry): ${reason}${suffix}`);\n return true;\n}\n\n/** Test seam: restore pristine singleton state. */\nexport function resetExtractionLlmHealthForTests(): void {\n recordExtractionLlmSuccess();\n lastErrorEmitByReason.clear();\n}\n"],"mappings":";;;;;AAwBA,IAAM,kBAAkB;AAExB,IAAI,oBAAmC;AACvC,IAAI,kBAAiC;AACrC,IAAM,wBAAwB,oBAAI,IAAoB;AAE/C,SAAS,6BAAmC;AACjD,sBAAoB;AACpB,oBAAkB;AACpB;AAEO,SAAS,2BAA2B,QAAgB,OAAe,KAAK,IAAI,GAAS;AAC1F,sBAAoB;AACpB,oBAAkB;AACpB;AAEO,SAAS,yBAA8C;AAC5D,SAAO;AAAA,IACL,cAAc,sBAAsB;AAAA,IACpC;AAAA,IACA,eAAe,oBAAoB,OAAO,OAAO,IAAI,KAAK,eAAe,EAAE,YAAY;AAAA,EACzF;AACF;AAQO,SAAS,8BAA8B,QAAgB,QAAiB,QAAgB,KAAK,IAAI,GAAY;AAClH,QAAM,SAAS,SAAS,KAAK,MAAM,KAAK;AACxC,QAAM,OAAO,sBAAsB,IAAI,MAAM;AAC7C,MAAI,SAAS,UAAa,QAAQ,OAAO,iBAAiB;AACxD,QAAI,MAAM,4CAA4C,kBAAkB,GAAM,MAAM,MAAM,GAAG,MAAM,EAAE;AACrG,WAAO;AAAA,EACT;AACA,wBAAsB,IAAI,QAAQ,KAAK;AACvC,MAAI,MAAM,0EAA0E,MAAM,GAAG,MAAM,EAAE;AACrG,SAAO;AACT;AAGO,SAAS,mCAAyC;AACvD,6BAA2B;AAC3B,wBAAsB,MAAM;AAC9B;","names":[]}