@remnic/core 10.0.37 → 10.0.38

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 (245) hide show
  1. package/dist/access-admin-ops-surface.js +24 -24
  2. package/dist/access-authorization-probe.js +25 -25
  3. package/dist/access-boundary.js +24 -24
  4. package/dist/access-cli.js +71 -71
  5. package/dist/access-extraction-force-flush.js +24 -24
  6. package/dist/access-http-briefing.js +25 -25
  7. package/dist/access-http-query.js +26 -26
  8. package/dist/access-http.js +41 -41
  9. package/dist/access-identity-continuity-surface.js +24 -24
  10. package/dist/access-lcm-surface.js +24 -24
  11. package/dist/access-mcp.js +34 -34
  12. package/dist/access-namespace-preflight.js +24 -24
  13. package/dist/access-observe-write-surface.js +24 -24
  14. package/dist/access-operations-batch.js +25 -25
  15. package/dist/access-operations.js +32 -32
  16. package/dist/access-recall-concurrency.js +24 -24
  17. package/dist/access-recall-diagnostics.js +2 -2
  18. package/dist/access-recall-response.js +24 -24
  19. package/dist/access-recall-surface.js +24 -24
  20. package/dist/access-service.js +24 -24
  21. package/dist/access-surface-catalog.js +26 -26
  22. package/dist/active-recall.js +5 -5
  23. package/dist/{auto-sync-R3XGJL5I.js → auto-sync-432USQDH.js} +4 -4
  24. package/dist/briefing.js +5 -5
  25. package/dist/buffer.js +3 -3
  26. package/dist/calibration.js +1 -1
  27. package/dist/causal-consolidation.js +6 -6
  28. package/dist/{chunk-FL6SLVAJ.js → chunk-2AKIVSHP.js} +2 -2
  29. package/dist/{chunk-G6PPA4TH.js → chunk-3AODCBKX.js} +2 -2
  30. package/dist/{chunk-MGXFJOUR.js → chunk-3K5IEJTK.js} +2 -2
  31. package/dist/{chunk-YGYT7S3G.js → chunk-3PLAL2KP.js} +15 -1
  32. package/dist/chunk-3PLAL2KP.js.map +1 -0
  33. package/dist/{chunk-WADPRAZE.js → chunk-3XVBGGF3.js} +2 -2
  34. package/dist/{chunk-BPBUUGAO.js → chunk-4B37KNMP.js} +2 -2
  35. package/dist/{chunk-2RJO7VS4.js → chunk-4IZ6AC2U.js} +2 -2
  36. package/dist/{chunk-RBC4GIZU.js → chunk-53BLBDV6.js} +2 -2
  37. package/dist/{chunk-5UWP5X3T.js → chunk-5ANUG4JZ.js} +2 -2
  38. package/dist/{chunk-Y6Y3TRBN.js → chunk-5DCS4C4S.js} +2 -2
  39. package/dist/{chunk-MH3LC7KB.js → chunk-5K23NQRI.js} +2 -2
  40. package/dist/{chunk-UMFBHYPW.js → chunk-5UPOKIFP.js} +8 -8
  41. package/dist/{chunk-U4JXQCJ3.js → chunk-63YPKHAU.js} +2 -2
  42. package/dist/{chunk-S53WZWGL.js → chunk-6DTIYAAN.js} +2 -2
  43. package/dist/{chunk-RWWYBE7E.js → chunk-6F5BGIAF.js} +2 -2
  44. package/dist/{chunk-Z5AQZRHF.js → chunk-6JEEY42N.js} +2 -2
  45. package/dist/{chunk-HKEK27M4.js → chunk-6SYS5YX3.js} +2 -2
  46. package/dist/{chunk-CCYXCT4B.js → chunk-7HXZOWTR.js} +2 -2
  47. package/dist/{chunk-DGBWPSM6.js → chunk-7VFNGQ4V.js} +2 -2
  48. package/dist/{chunk-ARFT6ZBE.js → chunk-7ZRRJ6RG.js} +2 -2
  49. package/dist/{chunk-GMMZ45C4.js → chunk-AVVCPA7U.js} +6 -8
  50. package/dist/chunk-AVVCPA7U.js.map +1 -0
  51. package/dist/{chunk-LSSCMZQ2.js → chunk-AYBAC2N4.js} +3 -3
  52. package/dist/{chunk-EVVCE7S2.js → chunk-C2KOW2UQ.js} +2 -2
  53. package/dist/{chunk-GCVUBVEN.js → chunk-CVMAOPAH.js} +8 -8
  54. package/dist/{chunk-D2AKUKAQ.js → chunk-DG4H56SK.js} +1 -1
  55. package/dist/{chunk-BQ6DGL6A.js → chunk-DKHX2FHI.js} +2 -2
  56. package/dist/{chunk-HRT2SJPC.js → chunk-E3NBMTTX.js} +2 -2
  57. package/dist/{chunk-V5RJCXLG.js → chunk-EGNONTVT.js} +5 -5
  58. package/dist/{chunk-7PG7QBWD.js → chunk-FGEY2AGV.js} +2 -2
  59. package/dist/{chunk-O6YJI5VX.js → chunk-FKTMWDN2.js} +2 -2
  60. package/dist/{chunk-QIC7YZ3D.js → chunk-FQFMLOAC.js} +12 -12
  61. package/dist/{chunk-ID2PLENW.js → chunk-GGI6FLO6.js} +2 -2
  62. package/dist/{chunk-KC5SVCUJ.js → chunk-I75BWXRZ.js} +2 -2
  63. package/dist/{chunk-ULUX6Q7R.js → chunk-J7G656MY.js} +3 -3
  64. package/dist/{chunk-VKTP3TZB.js → chunk-JF3MEIHO.js} +2 -2
  65. package/dist/{chunk-A23DPFFI.js → chunk-JIA435P3.js} +2 -2
  66. package/dist/{chunk-USOXPN5H.js → chunk-KOAVX2IT.js} +2 -2
  67. package/dist/{chunk-Z5QWUR3Y.js → chunk-L7PGPH4E.js} +2 -2
  68. package/dist/{chunk-5U3NUHMA.js → chunk-LOMSBYNS.js} +33 -33
  69. package/dist/{chunk-FO5AFCRI.js → chunk-MCPSMWUC.js} +4 -4
  70. package/dist/{chunk-64IO6ZEE.js → chunk-MZWHIAOL.js} +2 -2
  71. package/dist/{chunk-LDXS746V.js → chunk-N7DVBHU3.js} +3 -3
  72. package/dist/{chunk-WSLNC5AL.js → chunk-NH6GZEQN.js} +3 -3
  73. package/dist/{chunk-3L5WH6CV.js → chunk-OKKBOTRA.js} +2 -2
  74. package/dist/{chunk-MBMT5FUQ.js → chunk-OLH4XCLU.js} +2 -2
  75. package/dist/{chunk-UXXVOA4D.js → chunk-OLHN4ZNT.js} +2 -2
  76. package/dist/{chunk-LRJKHXU4.js → chunk-POGPI5GR.js} +2 -2
  77. package/dist/{chunk-RVYXSS3Q.js → chunk-QO5KDQGG.js} +3 -3
  78. package/dist/{chunk-7ZBANI3M.js → chunk-QOUKZ2N3.js} +2 -2
  79. package/dist/{chunk-HIMXDRSQ.js → chunk-RGKXF4W3.js} +2 -2
  80. package/dist/{chunk-CNQQNYJ2.js → chunk-RWRHGE75.js} +2 -2
  81. package/dist/{chunk-6R6CU3MR.js → chunk-SWZOAQUM.js} +22 -22
  82. package/dist/{chunk-FBAHBFT5.js → chunk-SZPPCEYT.js} +2 -2
  83. package/dist/{chunk-QEGE5QCL.js → chunk-TAEJ2MRR.js} +19 -19
  84. package/dist/{chunk-BBDASWNT.js → chunk-TJ5YGCPV.js} +81 -76
  85. package/dist/chunk-TJ5YGCPV.js.map +1 -0
  86. package/dist/{chunk-G2SRB62M.js → chunk-TXP7Q7T5.js} +2 -2
  87. package/dist/{chunk-NSQSOLCE.js → chunk-TYLNWE4D.js} +2 -2
  88. package/dist/{chunk-A6PKEU7T.js → chunk-UFM3PJDT.js} +1 -1
  89. package/dist/chunk-UFM3PJDT.js.map +1 -0
  90. package/dist/{chunk-MNDHKZZQ.js → chunk-VC3X7XP3.js} +2 -2
  91. package/dist/{chunk-PTRPOJ7U.js → chunk-VGRM43X6.js} +2 -2
  92. package/dist/{chunk-DK5VMJL3.js → chunk-VSSQIBVU.js} +2 -2
  93. package/dist/{chunk-R6TCM47S.js → chunk-WCBLPKG3.js} +3 -3
  94. package/dist/{chunk-UQWA5QDT.js → chunk-WCIDCJOQ.js} +2 -2
  95. package/dist/{chunk-UFBIOF7C.js → chunk-WEK3OUGO.js} +2 -2
  96. package/dist/{chunk-5EILJ6W2.js → chunk-WXPBDEMW.js} +2 -2
  97. package/dist/{chunk-CU7WDDPV.js → chunk-X247CYL6.js} +3 -3
  98. package/dist/{chunk-JWTUJVIF.js → chunk-XHVO3CGX.js} +2 -2
  99. package/dist/{chunk-3BPMYMPX.js → chunk-XHX67LX6.js} +2 -2
  100. package/dist/{chunk-LAQS5HYU.js → chunk-Y5ZHZKZD.js} +2 -2
  101. package/dist/{chunk-L46Y5FPE.js → chunk-YYGZ4EIY.js} +2 -2
  102. package/dist/{chunk-NQOM6PHO.js → chunk-ZAP7BKTZ.js} +3 -3
  103. package/dist/cli.js +54 -54
  104. package/dist/coding/export-okf-codegraph.js +4 -4
  105. package/dist/compounding/engine.js +6 -6
  106. package/dist/config.d.ts.map +1 -1
  107. package/dist/config.js +5 -5
  108. package/dist/connectors/codex-materialize-runner.js +5 -5
  109. package/dist/connectors/index.js +5 -5
  110. package/dist/convergence-refresh.js +7 -7
  111. package/dist/corpus-watermark.js +7 -7
  112. package/dist/deep-recall-policy-llm.js +2 -2
  113. package/dist/entity-retrieval.js +5 -5
  114. package/dist/external-wiki-access.js +25 -25
  115. package/dist/extraction-faithfulness.js +2 -2
  116. package/dist/extraction-judge.d.ts +42 -2
  117. package/dist/extraction-judge.d.ts.map +1 -1
  118. package/dist/extraction-judge.js +12 -2
  119. package/dist/extraction.js +9 -9
  120. package/dist/fallback-llm.d.ts +1 -0
  121. package/dist/fallback-llm.d.ts.map +1 -1
  122. package/dist/fallback-llm.js +1 -1
  123. package/dist/harmonic-retrieval.js +5 -5
  124. package/dist/index.js +71 -71
  125. package/dist/location/index.js +7 -7
  126. package/dist/maintenance/memory-governance.js +5 -5
  127. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +5 -5
  128. package/dist/maintenance/rebuild-memory-projection-runner.js +7 -7
  129. package/dist/maintenance/rebuild-memory-projection.js +6 -6
  130. package/dist/memory-browse-operations.js +25 -25
  131. package/dist/memory-browse.js +3 -3
  132. package/dist/namespaces/migrate.js +6 -6
  133. package/dist/namespaces/storage.js +5 -5
  134. package/dist/operator-doctor-corpus.js +8 -8
  135. package/dist/operator-toolkit.js +14 -14
  136. package/dist/orchestration/maintenance.js +15 -15
  137. package/dist/orchestrator.js +71 -71
  138. package/dist/recall-explain-renderer.js +3 -3
  139. package/dist/recall-navigate-access.js +2 -2
  140. package/dist/recall-navigate-disclosure.js +2 -2
  141. package/dist/recall-navigate.js +2 -2
  142. package/dist/recall-navigation-operations.js +25 -25
  143. package/dist/recall-navigation.js +24 -24
  144. package/dist/recall-planner-llm.js +1 -1
  145. package/dist/recall-state-view-admission.js +3 -3
  146. package/dist/recall-why-service.js +3 -3
  147. package/dist/recall-xray-cli.js +4 -4
  148. package/dist/recall-xray-renderer.js +3 -3
  149. package/dist/recall-xray.js +2 -2
  150. package/dist/resume-bundles.js +6 -6
  151. package/dist/semantic-consolidation.js +6 -6
  152. package/dist/semantic-rule-promotion.js +5 -5
  153. package/dist/semantic-rule-verifier.js +5 -5
  154. package/dist/source-agent-qualifier.js +8 -8
  155. package/dist/standup/build.js +5 -5
  156. package/dist/storage.js +4 -4
  157. package/dist/summarizer.js +2 -2
  158. package/dist/support-passport/index.js +27 -27
  159. package/dist/transfer/export-okf.js +5 -5
  160. package/dist/types.d.ts +12 -0
  161. package/dist/types.d.ts.map +1 -1
  162. package/dist/types.js +1 -1
  163. package/dist/verified-recall.js +5 -5
  164. package/dist/who-knows-cli.js +6 -6
  165. package/dist/who-knows.js +5 -5
  166. package/package.json +2 -2
  167. package/src/config.test.ts +16 -0
  168. package/src/config.ts +14 -0
  169. package/src/extraction-judge-chain.test.ts +298 -2
  170. package/src/extraction-judge.ts +147 -82
  171. package/src/fallback-llm.test.ts +94 -0
  172. package/src/fallback-llm.ts +7 -7
  173. package/src/types.ts +12 -0
  174. package/dist/chunk-A6PKEU7T.js.map +0 -1
  175. package/dist/chunk-BBDASWNT.js.map +0 -1
  176. package/dist/chunk-GMMZ45C4.js.map +0 -1
  177. package/dist/chunk-YGYT7S3G.js.map +0 -1
  178. /package/dist/{auto-sync-R3XGJL5I.js.map → auto-sync-432USQDH.js.map} +0 -0
  179. /package/dist/{chunk-FL6SLVAJ.js.map → chunk-2AKIVSHP.js.map} +0 -0
  180. /package/dist/{chunk-G6PPA4TH.js.map → chunk-3AODCBKX.js.map} +0 -0
  181. /package/dist/{chunk-MGXFJOUR.js.map → chunk-3K5IEJTK.js.map} +0 -0
  182. /package/dist/{chunk-WADPRAZE.js.map → chunk-3XVBGGF3.js.map} +0 -0
  183. /package/dist/{chunk-BPBUUGAO.js.map → chunk-4B37KNMP.js.map} +0 -0
  184. /package/dist/{chunk-2RJO7VS4.js.map → chunk-4IZ6AC2U.js.map} +0 -0
  185. /package/dist/{chunk-RBC4GIZU.js.map → chunk-53BLBDV6.js.map} +0 -0
  186. /package/dist/{chunk-5UWP5X3T.js.map → chunk-5ANUG4JZ.js.map} +0 -0
  187. /package/dist/{chunk-Y6Y3TRBN.js.map → chunk-5DCS4C4S.js.map} +0 -0
  188. /package/dist/{chunk-MH3LC7KB.js.map → chunk-5K23NQRI.js.map} +0 -0
  189. /package/dist/{chunk-UMFBHYPW.js.map → chunk-5UPOKIFP.js.map} +0 -0
  190. /package/dist/{chunk-U4JXQCJ3.js.map → chunk-63YPKHAU.js.map} +0 -0
  191. /package/dist/{chunk-S53WZWGL.js.map → chunk-6DTIYAAN.js.map} +0 -0
  192. /package/dist/{chunk-RWWYBE7E.js.map → chunk-6F5BGIAF.js.map} +0 -0
  193. /package/dist/{chunk-Z5AQZRHF.js.map → chunk-6JEEY42N.js.map} +0 -0
  194. /package/dist/{chunk-HKEK27M4.js.map → chunk-6SYS5YX3.js.map} +0 -0
  195. /package/dist/{chunk-CCYXCT4B.js.map → chunk-7HXZOWTR.js.map} +0 -0
  196. /package/dist/{chunk-DGBWPSM6.js.map → chunk-7VFNGQ4V.js.map} +0 -0
  197. /package/dist/{chunk-ARFT6ZBE.js.map → chunk-7ZRRJ6RG.js.map} +0 -0
  198. /package/dist/{chunk-LSSCMZQ2.js.map → chunk-AYBAC2N4.js.map} +0 -0
  199. /package/dist/{chunk-EVVCE7S2.js.map → chunk-C2KOW2UQ.js.map} +0 -0
  200. /package/dist/{chunk-GCVUBVEN.js.map → chunk-CVMAOPAH.js.map} +0 -0
  201. /package/dist/{chunk-D2AKUKAQ.js.map → chunk-DG4H56SK.js.map} +0 -0
  202. /package/dist/{chunk-BQ6DGL6A.js.map → chunk-DKHX2FHI.js.map} +0 -0
  203. /package/dist/{chunk-HRT2SJPC.js.map → chunk-E3NBMTTX.js.map} +0 -0
  204. /package/dist/{chunk-V5RJCXLG.js.map → chunk-EGNONTVT.js.map} +0 -0
  205. /package/dist/{chunk-7PG7QBWD.js.map → chunk-FGEY2AGV.js.map} +0 -0
  206. /package/dist/{chunk-O6YJI5VX.js.map → chunk-FKTMWDN2.js.map} +0 -0
  207. /package/dist/{chunk-QIC7YZ3D.js.map → chunk-FQFMLOAC.js.map} +0 -0
  208. /package/dist/{chunk-ID2PLENW.js.map → chunk-GGI6FLO6.js.map} +0 -0
  209. /package/dist/{chunk-KC5SVCUJ.js.map → chunk-I75BWXRZ.js.map} +0 -0
  210. /package/dist/{chunk-ULUX6Q7R.js.map → chunk-J7G656MY.js.map} +0 -0
  211. /package/dist/{chunk-VKTP3TZB.js.map → chunk-JF3MEIHO.js.map} +0 -0
  212. /package/dist/{chunk-A23DPFFI.js.map → chunk-JIA435P3.js.map} +0 -0
  213. /package/dist/{chunk-USOXPN5H.js.map → chunk-KOAVX2IT.js.map} +0 -0
  214. /package/dist/{chunk-Z5QWUR3Y.js.map → chunk-L7PGPH4E.js.map} +0 -0
  215. /package/dist/{chunk-5U3NUHMA.js.map → chunk-LOMSBYNS.js.map} +0 -0
  216. /package/dist/{chunk-FO5AFCRI.js.map → chunk-MCPSMWUC.js.map} +0 -0
  217. /package/dist/{chunk-64IO6ZEE.js.map → chunk-MZWHIAOL.js.map} +0 -0
  218. /package/dist/{chunk-LDXS746V.js.map → chunk-N7DVBHU3.js.map} +0 -0
  219. /package/dist/{chunk-WSLNC5AL.js.map → chunk-NH6GZEQN.js.map} +0 -0
  220. /package/dist/{chunk-3L5WH6CV.js.map → chunk-OKKBOTRA.js.map} +0 -0
  221. /package/dist/{chunk-MBMT5FUQ.js.map → chunk-OLH4XCLU.js.map} +0 -0
  222. /package/dist/{chunk-UXXVOA4D.js.map → chunk-OLHN4ZNT.js.map} +0 -0
  223. /package/dist/{chunk-LRJKHXU4.js.map → chunk-POGPI5GR.js.map} +0 -0
  224. /package/dist/{chunk-RVYXSS3Q.js.map → chunk-QO5KDQGG.js.map} +0 -0
  225. /package/dist/{chunk-7ZBANI3M.js.map → chunk-QOUKZ2N3.js.map} +0 -0
  226. /package/dist/{chunk-HIMXDRSQ.js.map → chunk-RGKXF4W3.js.map} +0 -0
  227. /package/dist/{chunk-CNQQNYJ2.js.map → chunk-RWRHGE75.js.map} +0 -0
  228. /package/dist/{chunk-6R6CU3MR.js.map → chunk-SWZOAQUM.js.map} +0 -0
  229. /package/dist/{chunk-FBAHBFT5.js.map → chunk-SZPPCEYT.js.map} +0 -0
  230. /package/dist/{chunk-QEGE5QCL.js.map → chunk-TAEJ2MRR.js.map} +0 -0
  231. /package/dist/{chunk-G2SRB62M.js.map → chunk-TXP7Q7T5.js.map} +0 -0
  232. /package/dist/{chunk-NSQSOLCE.js.map → chunk-TYLNWE4D.js.map} +0 -0
  233. /package/dist/{chunk-MNDHKZZQ.js.map → chunk-VC3X7XP3.js.map} +0 -0
  234. /package/dist/{chunk-PTRPOJ7U.js.map → chunk-VGRM43X6.js.map} +0 -0
  235. /package/dist/{chunk-DK5VMJL3.js.map → chunk-VSSQIBVU.js.map} +0 -0
  236. /package/dist/{chunk-R6TCM47S.js.map → chunk-WCBLPKG3.js.map} +0 -0
  237. /package/dist/{chunk-UQWA5QDT.js.map → chunk-WCIDCJOQ.js.map} +0 -0
  238. /package/dist/{chunk-UFBIOF7C.js.map → chunk-WEK3OUGO.js.map} +0 -0
  239. /package/dist/{chunk-5EILJ6W2.js.map → chunk-WXPBDEMW.js.map} +0 -0
  240. /package/dist/{chunk-CU7WDDPV.js.map → chunk-X247CYL6.js.map} +0 -0
  241. /package/dist/{chunk-JWTUJVIF.js.map → chunk-XHVO3CGX.js.map} +0 -0
  242. /package/dist/{chunk-3BPMYMPX.js.map → chunk-XHX67LX6.js.map} +0 -0
  243. /package/dist/{chunk-LAQS5HYU.js.map → chunk-Y5ZHZKZD.js.map} +0 -0
  244. /package/dist/{chunk-L46Y5FPE.js.map → chunk-YYGZ4EIY.js.map} +0 -0
  245. /package/dist/{chunk-NQOM6PHO.js.map → chunk-ZAP7BKTZ.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  SUPPORT_PASSPORT_DRAFT_MAX_CONTENT_CHARACTERS,
3
3
  SUPPORT_PASSPORT_DRAFT_MAX_MEMORIES
4
- } from "./chunk-QEGE5QCL.js";
4
+ } from "./chunk-TAEJ2MRR.js";
5
5
  import {
6
6
  SUPPORT_PASSPORT_SOURCE_MEMORY_ID_MAX_LENGTH
7
7
  } from "./chunk-PWPIERBM.js";
@@ -343,4 +343,4 @@ export {
343
343
  parseSupportPassportModelJob,
344
344
  SupportPassportModelBridge
345
345
  };
346
- //# sourceMappingURL=chunk-CNQQNYJ2.js.map
346
+ //# sourceMappingURL=chunk-RWRHGE75.js.map
@@ -13,7 +13,7 @@ import {
13
13
  import {
14
14
  exportOkfBundle,
15
15
  parseIncludeStatus
16
- } from "./chunk-RWWYBE7E.js";
16
+ } from "./chunk-6F5BGIAF.js";
17
17
  import {
18
18
  exportSqlite
19
19
  } from "./chunk-BV2TIZ4F.js";
@@ -64,7 +64,7 @@ import {
64
64
  } from "./chunk-EDR6CVWZ.js";
65
65
  import {
66
66
  rebuildMemoryLifecycleLedger
67
- } from "./chunk-Y6Y3TRBN.js";
67
+ } from "./chunk-5DCS4C4S.js";
68
68
  import {
69
69
  lintOkfDir
70
70
  } from "./chunk-L2JQSG5M.js";
@@ -87,21 +87,21 @@ import {
87
87
  } from "./chunk-EOU6V4IN.js";
88
88
  import {
89
89
  searchVerifiedEpisodes
90
- } from "./chunk-7ZBANI3M.js";
90
+ } from "./chunk-QOUKZ2N3.js";
91
91
  import {
92
92
  ThreadingManager
93
93
  } from "./chunk-R7WYAXPO.js";
94
94
  import {
95
95
  promoteSemanticRuleFromMemory
96
- } from "./chunk-UXXVOA4D.js";
96
+ } from "./chunk-OLHN4ZNT.js";
97
97
  import {
98
98
  searchVerifiedSemanticRules
99
- } from "./chunk-KC5SVCUJ.js";
99
+ } from "./chunk-I75BWXRZ.js";
100
100
  import {
101
101
  buildResumeBundleFromState,
102
102
  getResumeBundleStatus,
103
103
  recordResumeBundle
104
- } from "./chunk-L46Y5FPE.js";
104
+ } from "./chunk-YYGZ4EIY.js";
105
105
  import {
106
106
  getWorkProductLedgerStatus,
107
107
  recordWorkProductLedgerEntry,
@@ -112,7 +112,7 @@ import {
112
112
  } from "./chunk-HDN7IVIO.js";
113
113
  import {
114
114
  parseXrayCliOptions
115
- } from "./chunk-LDXS746V.js";
115
+ } from "./chunk-N7DVBHU3.js";
116
116
  import {
117
117
  collectPatternMemories,
118
118
  explainPatternMemory,
@@ -134,7 +134,7 @@ import {
134
134
  runOperatorInventory,
135
135
  runOperatorRepair,
136
136
  runOperatorSetup
137
- } from "./chunk-GCVUBVEN.js";
137
+ } from "./chunk-CVMAOPAH.js";
138
138
  import {
139
139
  analyzeSessionIntegrity,
140
140
  applySessionRepair,
@@ -176,7 +176,7 @@ import {
176
176
  rebuildMemoryProjection,
177
177
  repairMemoryProjection,
178
178
  verifyMemoryProjection
179
- } from "./chunk-CU7WDDPV.js";
179
+ } from "./chunk-X247CYL6.js";
180
180
  import {
181
181
  buildConnectorRowsFromDefinitions,
182
182
  parseConnectorsListOptions,
@@ -197,7 +197,7 @@ import {
197
197
  } from "./chunk-6TBIWIAG.js";
198
198
  import {
199
199
  parseConfig
200
- } from "./chunk-YGYT7S3G.js";
200
+ } from "./chunk-3PLAL2KP.js";
201
201
  import {
202
202
  applyManagedRegion,
203
203
  expandVaultTemplateTokens,
@@ -210,7 +210,7 @@ import {
210
210
  import {
211
211
  EngramAccessHttpServer,
212
212
  MeetingsInputError
213
- } from "./chunk-QIC7YZ3D.js";
213
+ } from "./chunk-FQFMLOAC.js";
214
214
  import {
215
215
  WearablesInputError
216
216
  } from "./chunk-V7IZKJI3.js";
@@ -220,10 +220,10 @@ import {
220
220
  loadChatSession,
221
221
  processChatMessage,
222
222
  sessionBelongsToPrincipal
223
- } from "./chunk-FO5AFCRI.js";
223
+ } from "./chunk-MCPSMWUC.js";
224
224
  import {
225
225
  EngramAccessService
226
- } from "./chunk-QEGE5QCL.js";
226
+ } from "./chunk-TAEJ2MRR.js";
227
227
  import {
228
228
  WorkStorage
229
229
  } from "./chunk-MPC7TYTZ.js";
@@ -240,30 +240,30 @@ import {
240
240
  parseRecallExplainFormat,
241
241
  renderRecallExplain,
242
242
  renderXray
243
- } from "./chunk-O6YJI5VX.js";
243
+ } from "./chunk-FKTMWDN2.js";
244
244
  import {
245
245
  readAggregateExtractionWatermark
246
- } from "./chunk-MBMT5FUQ.js";
246
+ } from "./chunk-OLH4XCLU.js";
247
247
  import {
248
248
  getObjectiveStateStoreStatus
249
249
  } from "./chunk-4RNBLLZR.js";
250
250
  import {
251
251
  journalPath
252
- } from "./chunk-Z5AQZRHF.js";
252
+ } from "./chunk-6JEEY42N.js";
253
253
  import {
254
254
  searchHarmonicRetrieval
255
- } from "./chunk-VKTP3TZB.js";
255
+ } from "./chunk-JF3MEIHO.js";
256
256
  import {
257
257
  listMemoryGovernanceRuns,
258
258
  readMemoryGovernanceRunArtifact,
259
259
  restoreMemoryGovernanceRun,
260
260
  runMemoryGovernance
261
- } from "./chunk-NSQSOLCE.js";
261
+ } from "./chunk-TYLNWE4D.js";
262
262
  import {
263
263
  listNamespaces,
264
264
  runNamespaceMigration,
265
265
  verifyNamespaces
266
- } from "./chunk-UQWA5QDT.js";
266
+ } from "./chunk-WCIDCJOQ.js";
267
267
  import {
268
268
  getCueAnchorStoreStatus
269
269
  } from "./chunk-LXATZLSC.js";
@@ -303,7 +303,7 @@ import {
303
303
  } from "./chunk-4P4VLPGB.js";
304
304
  import {
305
305
  meetingIdDate
306
- } from "./chunk-R6TCM47S.js";
306
+ } from "./chunk-WCBLPKG3.js";
307
307
  import {
308
308
  isValidTranscriptDate
309
309
  } from "./chunk-UHVXE24Y.js";
@@ -327,7 +327,7 @@ import {
327
327
  import {
328
328
  RECALL_DISCLOSURE_LEVELS,
329
329
  isRecallDisclosure
330
- } from "./chunk-A6PKEU7T.js";
330
+ } from "./chunk-UFM3PJDT.js";
331
331
  import {
332
332
  activityDateInTimezone,
333
333
  isValidActivityDate
@@ -10140,4 +10140,4 @@ export {
10140
10140
  listMemoryMarkdownFilePaths,
10141
10141
  registerCli
10142
10142
  };
10143
- //# sourceMappingURL=chunk-6R6CU3MR.js.map
10143
+ //# sourceMappingURL=chunk-SWZOAQUM.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  StorageManager
3
- } from "./chunk-R6TCM47S.js";
3
+ } from "./chunk-WCBLPKG3.js";
4
4
  import {
5
5
  keyring_exports,
6
6
  secureStoreDir
@@ -416,4 +416,4 @@ export {
416
416
  resolveNamespaceStorageRoot,
417
417
  NamespaceStorageRouter
418
418
  };
419
- //# sourceMappingURL=chunk-FBAHBFT5.js.map
419
+ //# sourceMappingURL=chunk-SZPPCEYT.js.map
@@ -38,7 +38,7 @@ import {
38
38
  computeWhoKnows,
39
39
  loadWhoKnowsEntities,
40
40
  validateWhoKnowsInput
41
- } from "./chunk-DK5VMJL3.js";
41
+ } from "./chunk-VSSQIBVU.js";
42
42
  import {
43
43
  WriteQuarantineStore
44
44
  } from "./chunk-BANSBRNX.js";
@@ -59,7 +59,7 @@ import {
59
59
  } from "./chunk-JWX2Q6HS.js";
60
60
  import {
61
61
  summarizeHourlyStatus
62
- } from "./chunk-FL6SLVAJ.js";
62
+ } from "./chunk-2AKIVSHP.js";
63
63
  import {
64
64
  planSessionTranscriptMigration
65
65
  } from "./chunk-WWDO7ZWM.js";
@@ -68,7 +68,7 @@ import {
68
68
  } from "./chunk-JH2ALMPR.js";
69
69
  import {
70
70
  runRecallWhy
71
- } from "./chunk-ARFT6ZBE.js";
71
+ } from "./chunk-7ZRRJ6RG.js";
72
72
  import {
73
73
  renderNavigationResult
74
74
  } from "./chunk-KIW3OOZE.js";
@@ -84,7 +84,7 @@ import {
84
84
  } from "./chunk-VYDGHJIN.js";
85
85
  import {
86
86
  planDisclosureStep
87
- } from "./chunk-DGBWPSM6.js";
87
+ } from "./chunk-7VFNGQ4V.js";
88
88
  import {
89
89
  parseNavigateLinkType
90
90
  } from "./chunk-7O5EW7KX.js";
@@ -93,17 +93,17 @@ import {
93
93
  } from "./chunk-H7XKCNR6.js";
94
94
  import {
95
95
  toRecallExplainJson
96
- } from "./chunk-O6YJI5VX.js";
96
+ } from "./chunk-FKTMWDN2.js";
97
97
  import {
98
98
  estimateRecallTokens,
99
99
  summarizeDisclosureTokens
100
- } from "./chunk-ID2PLENW.js";
100
+ } from "./chunk-GGI6FLO6.js";
101
101
  import {
102
102
  buildEmbeddingAwareSnapshotStream
103
103
  } from "./chunk-PSQ2P2T3.js";
104
104
  import {
105
105
  readAggregateExtractionWatermark
106
- } from "./chunk-MBMT5FUQ.js";
106
+ } from "./chunk-OLH4XCLU.js";
107
107
  import {
108
108
  ReplicaDivergenceMonitor
109
109
  } from "./chunk-E6UNM67F.js";
@@ -118,16 +118,16 @@ import {
118
118
  } from "./chunk-4RNBLLZR.js";
119
119
  import {
120
120
  runMemoryBrowse
121
- } from "./chunk-A23DPFFI.js";
121
+ } from "./chunk-JIA435P3.js";
122
122
  import {
123
123
  isSearchExcludedPath
124
- } from "./chunk-Z5AQZRHF.js";
124
+ } from "./chunk-6JEEY42N.js";
125
125
  import {
126
126
  coerceIncludedMemories
127
127
  } from "./chunk-2YA5N2BY.js";
128
128
  import {
129
129
  readProjectedHarmonicGraph
130
- } from "./chunk-VKTP3TZB.js";
130
+ } from "./chunk-JF3MEIHO.js";
131
131
  import {
132
132
  buildGraphSnapshot
133
133
  } from "./chunk-MKE5DP3S.js";
@@ -165,7 +165,7 @@ import {
165
165
  } from "./chunk-HXFIILGF.js";
166
166
  import {
167
167
  callDeepRecallPolicyLlm
168
- } from "./chunk-HRT2SJPC.js";
168
+ } from "./chunk-E3NBMTTX.js";
169
169
  import {
170
170
  renderDeepRecallResult
171
171
  } from "./chunk-RF2SMMPP.js";
@@ -179,18 +179,18 @@ import {
179
179
  listMemoryGovernanceRuns,
180
180
  readMemoryGovernanceRunArtifact,
181
181
  runMemoryGovernance
182
- } from "./chunk-NSQSOLCE.js";
182
+ } from "./chunk-TYLNWE4D.js";
183
183
  import {
184
184
  CorpusWatermarkCache,
185
185
  computeServiceCorpusCensus
186
- } from "./chunk-MNDHKZZQ.js";
186
+ } from "./chunk-VC3X7XP3.js";
187
187
  import {
188
188
  CrossNamespaceBudget,
189
189
  toBudgetWarning
190
190
  } from "./chunk-UFGFMWAD.js";
191
191
  import {
192
192
  ExtractionDeadlineError
193
- } from "./chunk-UFBIOF7C.js";
193
+ } from "./chunk-WEK3OUGO.js";
194
194
  import {
195
195
  LocalLlmClient
196
196
  } from "./chunk-74AY3S7U.js";
@@ -203,7 +203,7 @@ import {
203
203
  enqueuePassiveCorrectionNotification,
204
204
  parseBriefingFocus,
205
205
  parseBriefingWindow
206
- } from "./chunk-S53WZWGL.js";
206
+ } from "./chunk-6DTIYAAN.js";
207
207
  import {
208
208
  groupTurnsByExtractionScope,
209
209
  hasPinnedCaptureScope,
@@ -261,7 +261,7 @@ import {
261
261
  qmdCollectionPathParts,
262
262
  qmdResultPathCandidates,
263
263
  selfDeps
264
- } from "./chunk-R6TCM47S.js";
264
+ } from "./chunk-WCBLPKG3.js";
265
265
  import {
266
266
  namespaceCollectionName
267
267
  } from "./chunk-LHBOFROT.js";
@@ -289,14 +289,14 @@ import {
289
289
  import {
290
290
  FallbackLlmClient,
291
291
  gatewayTaskChainOptions
292
- } from "./chunk-GMMZ45C4.js";
292
+ } from "./chunk-AVVCPA7U.js";
293
293
  import {
294
294
  fallbackLlmRuntimeContextFromConfig
295
295
  } from "./chunk-YIJECSIX.js";
296
296
  import {
297
297
  DEFAULT_RECALL_DISCLOSURE,
298
298
  isRecallDisclosure
299
- } from "./chunk-A6PKEU7T.js";
299
+ } from "./chunk-UFM3PJDT.js";
300
300
  import {
301
301
  extractJsonCandidates
302
302
  } from "./chunk-YBA52OKG.js";
@@ -18775,4 +18775,4 @@ export {
18775
18775
  EngramAccessService,
18776
18776
  AccessAdminOpsSurface
18777
18777
  };
18778
- //# sourceMappingURL=chunk-QEGE5QCL.js.map
18778
+ //# sourceMappingURL=chunk-TAEJ2MRR.js.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-QDW3E4RD.js";
7
7
  import {
8
8
  gatewayTaskChainOptions
9
- } from "./chunk-GMMZ45C4.js";
9
+ } from "./chunk-AVVCPA7U.js";
10
10
  import {
11
11
  extractJsonCandidates
12
12
  } from "./chunk-YBA52OKG.js";
@@ -58,48 +58,41 @@ var JUDGE_SYSTEM_PROMPT = `You are a memory curator evaluating whether extracted
58
58
 
59
59
  A fact is **durable** if it will still be useful 30+ days from now and is relevant across multiple sessions, not just the current task.
60
60
 
61
- Return one of three verdicts per candidate:
61
+ The user message is a JSON array of candidates: [{"index": 0, "text": "...", "category": "...", "confidence": 0.5}, ...].
62
62
 
63
- ACCEPT \u2014 the fact is durable, persist it:
64
- - Personal preferences, identities, or relationships
65
- - Decisions with rationale that affect future work
66
- - Corrections to previously held beliefs
67
- - Principles, rules, or constraints the user wants respected
68
- - Stable facts about projects, tools, or workflows
69
- - Commitments, deadlines, or obligations
63
+ Verdicts:
64
+ - "accept" \u2014 durable. Personal preferences, identities, relationships; decisions with rationale that affect future work; corrections to previously held beliefs; principles, rules, or constraints the user wants respected; stable facts about projects, tools, or workflows; commitments, deadlines, or obligations.
65
+ - "reject" \u2014 not durable. Transient task details ("currently debugging line 42"); ephemeral state ("the build is running now"); routine operations ("ran npm install"); conversational filler; anything stale within hours; step-by-step instructions for a one-time task.
66
+ - "defer" \u2014 MIGHT be durable but the candidate alone cannot say: ambiguous referents ("he said they'd follow up"), in-progress statements that may become durable once completed, future commitments with unclear subject or timeline. Defer is NOT a soft reject: use it only when another turn of context would genuinely change the verdict; when torn between accept and reject, lean accept \u2014 losing a useful fact is worse than keeping a marginal one.
70
67
 
71
- REJECT \u2014 the fact is not durable, drop it:
72
- - Transient task details ("currently debugging line 42")
73
- - Ephemeral state ("the build is running now")
74
- - Routine operations ("ran npm install")
75
- - Conversational filler or acknowledgements
76
- - Information that will be stale within hours
77
- - Step-by-step instructions for a one-time task
78
-
79
- DEFER \u2014 the fact MIGHT be durable but needs more context to decide. The candidate will be re-evaluated on a later extraction pass with fresh context; if it cannot be resolved within a small number of re-evaluations it will be rejected.
80
- - Ambiguous referents ("he said they'd follow up on it")
81
- - Partial or in-progress statements that might become durable once completed
82
- - Future-tense commitments whose subject or timeline is unclear
83
- - Facts whose durability hinges on context not present in the candidate text
84
-
85
- Do NOT use defer as a soft reject. Reject facts you are confident are transient. Only defer when another turn of context would genuinely change the verdict.
86
-
87
- Return a JSON array of objects with these fields:
88
- - index: number (the candidate index)
89
- - kind: string \u2014 one of "accept", "reject", "defer"
90
- - reason: string (brief explanation, under 80 characters)
91
-
92
- You may also include durable (boolean) for backwards compatibility: true for accept, false for reject or defer. If kind is omitted, durable determines the verdict.
68
+ Reply with a JSON object with a single "verdicts" key, exactly one object per input candidate:
69
+ {"verdicts": [{"index": <candidate index>, "kind": "accept" | "reject" | "defer"}]}
93
70
 
94
71
  Rules:
95
- 1. Return exactly one verdict per input candidate, matched by index.
96
- 2. When in doubt between accept and reject, lean toward accept \u2014 false negatives (losing a useful fact) are worse than false positives (keeping a marginal one).
97
- 3. Use defer only when another turn of context would genuinely change the verdict.
98
- 4. Output valid JSON only. No markdown fences, no commentary.
72
+ 1. The top level must be one object {"verdicts": [...]} \u2014 JSON mode rejects a bare top-level array.
73
+ 2. Copy each object's "index" from the input candidate. One object per candidate, exactly.
74
+ 3. No other fields \u2014 no "reason", no "durable", no commentary.
75
+ 4. Output valid JSON only. No markdown fences.
99
76
  5. ${OUTPUT_LANGUAGE_POLICY}
100
77
 
101
78
  Example output:
102
- [{"index": 0, "kind": "accept", "durable": true, "reason": "Stable personal preference"}, {"index": 1, "kind": "reject", "durable": false, "reason": "Ephemeral build status"}, {"index": 2, "kind": "defer", "durable": false, "reason": "Ambiguous pronoun"}]`;
79
+ {"verdicts": [{"index": 0, "kind": "accept"}, {"index": 1, "kind": "reject"}, {"index": 2, "kind": "defer"}]}`;
80
+ var JUDGE_TOKENS_PER_CANDIDATE = 24;
81
+ var MAX_JUDGE_TOKENS = 2048;
82
+ var JUDGE_REASONING_HEADROOM_TOKENS = 1024;
83
+ var MAX_JUDGE_BATCH = Math.floor(MAX_JUDGE_TOKENS / JUDGE_TOKENS_PER_CANDIDATE);
84
+ function judgeMaxTokens(batchSize) {
85
+ return Math.min(MAX_JUDGE_TOKENS, Math.max(64, batchSize * JUDGE_TOKENS_PER_CANDIDATE));
86
+ }
87
+ function buildJudgeRequest(entries) {
88
+ return {
89
+ messages: [
90
+ { role: "system", content: JUDGE_SYSTEM_PROMPT },
91
+ { role: "user", content: JSON.stringify(entries) }
92
+ ],
93
+ maxTokens: judgeMaxTokens(entries.length)
94
+ };
95
+ }
103
96
  var VERDICT_CACHE_MAX_SIZE = 1e4;
104
97
  var defaultVerdictCache = /* @__PURE__ */ new Map();
105
98
  var defaultDeferCounts = /* @__PURE__ */ new Map();
@@ -238,32 +231,30 @@ async function judgeFactDurability(candidates, config, localLlm, fallbackLlm, ca
238
231
  deferredCappedToReject
239
232
  };
240
233
  }
241
- const batchSize = config.extractionJudgeBatchSize;
234
+ const batchSize = Math.min(config.extractionJudgeBatchSize, MAX_JUDGE_BATCH);
235
+ const deferredThisCall = /* @__PURE__ */ new Set();
236
+ const priorDefersSeen = /* @__PURE__ */ new Map();
242
237
  for (let batchStart = 0; batchStart < pendingIndices.length; batchStart += batchSize) {
243
238
  const batchIndices = pendingIndices.slice(batchStart, batchStart + batchSize);
244
- const batchPayload = batchIndices.map((idx) => ({
245
- index: idx,
246
- text: candidates[idx].text,
247
- category: candidates[idx].category,
248
- confidence: candidates[idx].confidence
249
- }));
250
- const userPrompt = JSON.stringify(batchPayload);
239
+ const request = buildJudgeRequest(
240
+ batchIndices.map((idx) => ({
241
+ index: idx,
242
+ text: candidates[idx].text,
243
+ category: candidates[idx].category,
244
+ confidence: candidates[idx].confidence
245
+ }))
246
+ );
251
247
  try {
252
- const llmResponse = await callJudgeLlm(
253
- userPrompt,
254
- config,
255
- localLlm,
256
- fallbackLlm
257
- );
248
+ const llmResponse = await callJudgeLlm(request, config, localLlm, fallbackLlm);
258
249
  if (llmResponse) {
259
250
  const parsed = parseJudgeResponse(llmResponse, batchIndices);
260
- const deferredThisBatch = /* @__PURE__ */ new Set();
261
251
  for (const [idx, rawVerdict] of parsed.entries()) {
262
252
  const c = candidates[idx];
263
253
  const key = cacheKey(c.text, c.category);
264
254
  let verdict = rawVerdict;
265
255
  let source = "llm";
266
- const priorDefers = deferCountMap.get(key) ?? 0;
256
+ if (!priorDefersSeen.has(key)) priorDefersSeen.set(key, deferCountMap.get(key) ?? 0);
257
+ const priorDefers = priorDefersSeen.get(key) ?? 0;
267
258
  if (getVerdictKind(verdict) === "defer") {
268
259
  if (priorDefers >= deferCap) {
269
260
  verdict = {
@@ -272,15 +263,15 @@ async function judgeFactDurability(candidates, config, localLlm, fallbackLlm, ca
272
263
  kind: "reject"
273
264
  };
274
265
  source = "llm-cap-rejected";
275
- if (!deferredThisBatch.has(key)) {
266
+ if (!deferredThisCall.has(key)) {
276
267
  deferCountMap.delete(key);
277
268
  deferredCappedToReject++;
278
- deferredThisBatch.add(key);
269
+ deferredThisCall.add(key);
279
270
  }
280
- } else if (!deferredThisBatch.has(key)) {
271
+ } else if (!deferredThisCall.has(key)) {
281
272
  deferCountMap.set(key, priorDefers + 1);
282
273
  deferred++;
283
- deferredThisBatch.add(key);
274
+ deferredThisCall.add(key);
284
275
  if (deferCountMap.size > DEFER_COUNT_MAX_SIZE) {
285
276
  const drop = Math.floor(deferCountMap.size / 2);
286
277
  let dropped = 0;
@@ -293,6 +284,8 @@ async function judgeFactDurability(candidates, config, localLlm, fallbackLlm, ca
293
284
  }
294
285
  } else {
295
286
  deferCountMap.delete(key);
287
+ priorDefersSeen.set(key, 0);
288
+ deferredThisCall.delete(key);
296
289
  }
297
290
  verdicts.set(idx, verdict);
298
291
  judged++;
@@ -321,6 +314,8 @@ async function judgeFactDurability(candidates, config, localLlm, fallbackLlm, ca
321
314
  const hash = cacheKey(c.text, c.category);
322
315
  const priorDefers = deferCountMap.get(hash) ?? 0;
323
316
  deferCountMap.delete(hash);
317
+ priorDefersSeen.set(hash, 0);
318
+ deferredThisCall.delete(hash);
324
319
  const v = {
325
320
  durable: true,
326
321
  reason: "Approved by default (judge unavailable or parse error)"
@@ -348,11 +343,8 @@ async function judgeFactDurability(candidates, config, localLlm, fallbackLlm, ca
348
343
  deferredCappedToReject
349
344
  };
350
345
  }
351
- async function callJudgeLlm(userPrompt, config, localLlm, fallbackLlm) {
352
- const messages = [
353
- { role: "system", content: JUDGE_SYSTEM_PROMPT },
354
- { role: "user", content: userPrompt }
355
- ];
346
+ async function callJudgeLlm(request, config, localLlm, fallbackLlm) {
347
+ const { messages, maxTokens } = request;
356
348
  const modelOverride = config.extractionJudgeModel || void 0;
357
349
  const skipLocal = config.modelSource === "gateway";
358
350
  const gatewayChain = gatewayTaskChainOptions(config);
@@ -360,9 +352,14 @@ async function callJudgeLlm(userPrompt, config, localLlm, fallbackLlm) {
360
352
  try {
361
353
  const result = await localLlm.chatCompletion(messages, {
362
354
  temperature: 0.1,
363
- maxTokens: 2048,
355
+ maxTokens,
356
+ // A verdict needs no reasoning: keep a thinking-capable model from spending the compact budget on it.
357
+ disableThinking: true,
364
358
  responseFormat: { type: "json_object" },
365
- timeoutMs: 1500,
359
+ timeoutMs: config.extractionJudgeTimeoutMs,
360
+ // The client applies timeoutMs per attempt and retries an abort once:
361
+ // one deadline signal bounds the whole call to the configured time.
362
+ signal: AbortSignal.timeout(config.extractionJudgeTimeoutMs),
366
363
  operation: "extraction-judge",
367
364
  ...modelOverride ? { model: modelOverride } : {}
368
365
  });
@@ -381,8 +378,9 @@ async function callJudgeLlm(userPrompt, config, localLlm, fallbackLlm) {
381
378
  messages,
382
379
  {
383
380
  temperature: 0.1,
384
- maxTokens: 2048,
385
- timeoutMs: 1500,
381
+ maxTokens,
382
+ reasoningHeadroomTokens: JUDGE_REASONING_HEADROOM_TOKENS,
383
+ timeoutMs: config.extractionJudgeTimeoutMs,
386
384
  ...modelOverride ? { model: modelOverride } : {},
387
385
  ...gatewayChain
388
386
  }
@@ -398,6 +396,15 @@ async function callJudgeLlm(userPrompt, config, localLlm, fallbackLlm) {
398
396
  }
399
397
  return null;
400
398
  }
399
+ function unwrapJudgeEnvelope(parsed) {
400
+ if (!parsed || Array.isArray(parsed)) return null;
401
+ if (Array.isArray(parsed.verdicts)) return parsed.verdicts;
402
+ if (Number.isInteger(parsed.index)) return [parsed];
403
+ for (const v of Object.values(parsed)) {
404
+ if (Array.isArray(v)) return v;
405
+ }
406
+ return null;
407
+ }
401
408
  function parseJudgeResponse(raw, expectedIndices) {
402
409
  const result = /* @__PURE__ */ new Map();
403
410
  const expectedSet = new Set(expectedIndices);
@@ -412,19 +419,12 @@ function parseJudgeResponse(raw, expectedIndices) {
412
419
  }
413
420
  }
414
421
  if (!Array.isArray(parsed)) {
415
- if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
416
- const values = Object.values(parsed);
417
- for (const v of values) {
418
- if (Array.isArray(v)) {
419
- parsed = v;
420
- break;
421
- }
422
- }
423
- }
424
- if (!Array.isArray(parsed)) {
422
+ const unwrapped = unwrapJudgeEnvelope(parsed);
423
+ if (unwrapped === null) {
425
424
  log.debug("extraction-judge: response is not an array, cannot parse");
426
425
  return result;
427
426
  }
427
+ parsed = unwrapped;
428
428
  }
429
429
  for (const item of parsed) {
430
430
  if (typeof item !== "object" || item === null || typeof item.index !== "number") {
@@ -484,6 +484,11 @@ export {
484
484
  isValidCachedVerdict,
485
485
  normalizeCachedVerdict,
486
486
  JUDGE_SYSTEM_PROMPT,
487
+ MAX_JUDGE_TOKENS,
488
+ JUDGE_REASONING_HEADROOM_TOKENS,
489
+ MAX_JUDGE_BATCH,
490
+ judgeMaxTokens,
491
+ buildJudgeRequest,
487
492
  validateProcedureExtraction,
488
493
  judgeFactDurability,
489
494
  clearVerdictCache,
@@ -491,4 +496,4 @@ export {
491
496
  createVerdictCache,
492
497
  createDeferCountMap
493
498
  };
494
- //# sourceMappingURL=chunk-BBDASWNT.js.map
499
+ //# sourceMappingURL=chunk-TJ5YGCPV.js.map