nexus-agents 9.3.0 → 9.4.0

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 (142) hide show
  1. package/dist/{ast-rule-runner-YFDXXHJU.js → ast-rule-runner-5U6TE6YJ.js} +3 -3
  2. package/dist/{child-mcp-config-44M5EAYD.js → child-mcp-config-IR7LRMIK.js} +2 -2
  3. package/dist/{chunk-6JLDPMMU.js → chunk-2AN5NGCQ.js} +4 -4
  4. package/dist/{chunk-4HUCHMSX.js → chunk-2AW2VHMK.js} +2 -2
  5. package/dist/{chunk-AQ5KQTXW.js → chunk-6H4NUU7G.js} +5 -5
  6. package/dist/{chunk-BH6J6WCC.js → chunk-6WPXQTQY.js} +2 -2
  7. package/dist/{chunk-FDHT3TG7.js → chunk-6Z3MAHAC.js} +2 -2
  8. package/dist/{chunk-4IJII2WG.js → chunk-7XJZTSHW.js} +108 -61
  9. package/dist/chunk-7XJZTSHW.js.map +1 -0
  10. package/dist/{chunk-R67NA3Q5.js → chunk-AFAM6GK3.js} +7 -7
  11. package/dist/{chunk-WJDNQVQF.js → chunk-AI6LKFGU.js} +3 -3
  12. package/dist/{chunk-OQNKPJPJ.js → chunk-AYBOQE2Y.js} +2 -2
  13. package/dist/{chunk-B3LT4L5R.js → chunk-C5WECFBR.js} +5 -5
  14. package/dist/{chunk-ZGSQFG4D.js → chunk-DEQRRCHK.js} +2 -2
  15. package/dist/{chunk-CUWTKYFP.js → chunk-DG2UY5QU.js} +2 -2
  16. package/dist/{chunk-BO46P4XJ.js → chunk-DYTB2XW2.js} +5 -5
  17. package/dist/{chunk-FWZVZME3.js → chunk-EPCR2GOE.js} +2 -2
  18. package/dist/{chunk-P2LYE2KA.js → chunk-ETGNAHY3.js} +4 -4
  19. package/dist/{chunk-QCNZMRJ7.js → chunk-FKMBZ53Y.js} +2 -2
  20. package/dist/{chunk-EUKJXKXD.js → chunk-FTUBCD52.js} +3 -3
  21. package/dist/{chunk-5O4NXKPR.js → chunk-FWSAYHGV.js} +4 -4
  22. package/dist/{chunk-65XXRWUH.js → chunk-H4ACPMJS.js} +4 -4
  23. package/dist/{chunk-HM37AAFX.js → chunk-HESQ746B.js} +2 -2
  24. package/dist/{chunk-L54COYAN.js → chunk-HK4LBUYY.js} +2 -2
  25. package/dist/{chunk-QLUGDQUK.js → chunk-II4XITQ6.js} +13 -13
  26. package/dist/{chunk-KQJ2GAER.js → chunk-JNRDNE26.js} +2 -2
  27. package/dist/{chunk-Q4L5XROB.js → chunk-LWLFWWA7.js} +3 -3
  28. package/dist/{chunk-RKSJ26NV.js → chunk-ONWH4UGD.js} +81 -64
  29. package/dist/chunk-ONWH4UGD.js.map +1 -0
  30. package/dist/{chunk-Y3OBX752.js → chunk-ONYCBTOH.js} +10 -9
  31. package/dist/chunk-ONYCBTOH.js.map +1 -0
  32. package/dist/{chunk-RQ3C6QEH.js → chunk-P7327767.js} +2 -2
  33. package/dist/{chunk-GYMILOWC.js → chunk-Q5F4OBOK.js} +2 -2
  34. package/dist/{chunk-4CTDO2Z2.js → chunk-Q7RFJSR5.js} +3 -3
  35. package/dist/{chunk-IZS66Q5F.js → chunk-RI4IXOZT.js} +2 -2
  36. package/dist/{chunk-NM7YEKQM.js → chunk-TFQMVUWQ.js} +5 -5
  37. package/dist/{chunk-A34ANV7R.js → chunk-TMHCN5EY.js} +5 -5
  38. package/dist/{chunk-LHOB5YF3.js → chunk-TQEXRC5C.js} +41 -41
  39. package/dist/{chunk-5T33FILA.js → chunk-VQGHQVD2.js} +3 -3
  40. package/dist/{chunk-TCKP5S3P.js → chunk-XJ65J3O5.js} +5 -5
  41. package/dist/{cli-circuit-breaker-6V7RJMMF.js → cli-circuit-breaker-AZHN2TMH.js} +3 -3
  42. package/dist/{cli-readiness-XNJQCKIH.js → cli-readiness-H4JTTKKU.js} +7 -7
  43. package/dist/cli.d.ts +1 -1
  44. package/dist/cli.js +44 -44
  45. package/dist/{composite-router-43L52IUP.js → composite-router-WCTNVMSX.js} +2 -2
  46. package/dist/{consensus-vote-6HBLVWTW.js → consensus-vote-RD3SME3K.js} +17 -17
  47. package/dist/{consensus-vote-types-q8io4acj.d.ts → consensus-vote-types-G7Lnj3B3.d.ts} +26 -32
  48. package/dist/{context-retriever-WPSI4STY.js → context-retriever-YM2PPNSY.js} +8 -8
  49. package/dist/{doctor-deep-6D6FG3SZ.js → doctor-deep-6P23G7PN.js} +3 -3
  50. package/dist/{doctor-gateway-report-2JOSIARQ.js → doctor-gateway-report-4TXHTWUM.js} +7 -7
  51. package/dist/{doctor-live-BVXUT36N.js → doctor-live-MYXZCBSP.js} +11 -11
  52. package/dist/{expert-bridge-E6HHFKGF.js → expert-bridge-CXHYMQRL.js} +4 -4
  53. package/dist/{factory-ZPOHG4M7.js → factory-3Z46455N.js} +10 -10
  54. package/dist/{factory-WCUQHBSG.js → factory-KH2MJQ5U.js} +5 -5
  55. package/dist/{improvement-review-33VU5DAX.js → improvement-review-RAISKC3W.js} +6 -6
  56. package/dist/index.d.ts +2 -2
  57. package/dist/index.js +32 -32
  58. package/dist/{init-opencode-NQW7NG5Z.js → init-opencode-WXRTDPFP.js} +6 -6
  59. package/dist/{issue-triage-RFV3YR66.js → issue-triage-KF47ZHU7.js} +6 -6
  60. package/dist/{model-config-helpers-KTLFA734.js → model-config-helpers-ZH2QAFVR.js} +2 -2
  61. package/dist/{openai-compat-adapter-7CITWSBH.js → openai-compat-adapter-PQ3JKWPZ.js} +6 -6
  62. package/dist/{outcome-store-adapter-WCY3FBQM.js → outcome-store-adapter-NTYEZXLH.js} +2 -2
  63. package/dist/{pr-reviewer-helpers-KJFNRS6R.js → pr-reviewer-helpers-AQNGDRQT.js} +4 -4
  64. package/dist/{registry-command-OZLB3KYN.js → registry-command-6EHIJ3PJ.js} +2 -2
  65. package/dist/{repo-security-plan-MOHGBKLA.js → repo-security-plan-AP3QEWJ5.js} +3 -3
  66. package/dist/{research-helpers-synthesize-CKC67RSM.js → research-helpers-synthesize-XE3RMFQT.js} +4 -4
  67. package/dist/{routing-memory-FOMKUKKF.js → routing-memory-PBZIE5NX.js} +2 -2
  68. package/dist/{session-memory-KRK2HQUF.js → session-memory-6NUK6ZAG.js} +3 -3
  69. package/dist/{setup-config-A7MFKDN7.js → setup-config-KEPU4NTT.js} +3 -3
  70. package/dist/{setup-custom-api-YJ4DICAK.js → setup-custom-api-XY455LVS.js} +3 -3
  71. package/dist/setup-data-dir-5MRGQD2G.js +36 -0
  72. package/dist/{tool-memory-ZUQSBR3O.js → tool-memory-MO2KOJJ7.js} +5 -5
  73. package/dist/{unified-registry-JG3QCJ5O.js → unified-registry-JE22THXP.js} +11 -11
  74. package/dist/{weather-report-2MBDI7G2.js → weather-report-TQ6KM2F2.js} +2 -2
  75. package/package.json +1 -1
  76. package/dist/chunk-4IJII2WG.js.map +0 -1
  77. package/dist/chunk-RKSJ26NV.js.map +0 -1
  78. package/dist/chunk-Y3OBX752.js.map +0 -1
  79. package/dist/setup-data-dir-VNGT3GM4.js +0 -36
  80. /package/dist/{ast-rule-runner-YFDXXHJU.js.map → ast-rule-runner-5U6TE6YJ.js.map} +0 -0
  81. /package/dist/{child-mcp-config-44M5EAYD.js.map → child-mcp-config-IR7LRMIK.js.map} +0 -0
  82. /package/dist/{chunk-6JLDPMMU.js.map → chunk-2AN5NGCQ.js.map} +0 -0
  83. /package/dist/{chunk-4HUCHMSX.js.map → chunk-2AW2VHMK.js.map} +0 -0
  84. /package/dist/{chunk-AQ5KQTXW.js.map → chunk-6H4NUU7G.js.map} +0 -0
  85. /package/dist/{chunk-BH6J6WCC.js.map → chunk-6WPXQTQY.js.map} +0 -0
  86. /package/dist/{chunk-FDHT3TG7.js.map → chunk-6Z3MAHAC.js.map} +0 -0
  87. /package/dist/{chunk-R67NA3Q5.js.map → chunk-AFAM6GK3.js.map} +0 -0
  88. /package/dist/{chunk-WJDNQVQF.js.map → chunk-AI6LKFGU.js.map} +0 -0
  89. /package/dist/{chunk-OQNKPJPJ.js.map → chunk-AYBOQE2Y.js.map} +0 -0
  90. /package/dist/{chunk-B3LT4L5R.js.map → chunk-C5WECFBR.js.map} +0 -0
  91. /package/dist/{chunk-ZGSQFG4D.js.map → chunk-DEQRRCHK.js.map} +0 -0
  92. /package/dist/{chunk-CUWTKYFP.js.map → chunk-DG2UY5QU.js.map} +0 -0
  93. /package/dist/{chunk-BO46P4XJ.js.map → chunk-DYTB2XW2.js.map} +0 -0
  94. /package/dist/{chunk-FWZVZME3.js.map → chunk-EPCR2GOE.js.map} +0 -0
  95. /package/dist/{chunk-P2LYE2KA.js.map → chunk-ETGNAHY3.js.map} +0 -0
  96. /package/dist/{chunk-QCNZMRJ7.js.map → chunk-FKMBZ53Y.js.map} +0 -0
  97. /package/dist/{chunk-EUKJXKXD.js.map → chunk-FTUBCD52.js.map} +0 -0
  98. /package/dist/{chunk-5O4NXKPR.js.map → chunk-FWSAYHGV.js.map} +0 -0
  99. /package/dist/{chunk-65XXRWUH.js.map → chunk-H4ACPMJS.js.map} +0 -0
  100. /package/dist/{chunk-HM37AAFX.js.map → chunk-HESQ746B.js.map} +0 -0
  101. /package/dist/{chunk-L54COYAN.js.map → chunk-HK4LBUYY.js.map} +0 -0
  102. /package/dist/{chunk-QLUGDQUK.js.map → chunk-II4XITQ6.js.map} +0 -0
  103. /package/dist/{chunk-KQJ2GAER.js.map → chunk-JNRDNE26.js.map} +0 -0
  104. /package/dist/{chunk-Q4L5XROB.js.map → chunk-LWLFWWA7.js.map} +0 -0
  105. /package/dist/{chunk-RQ3C6QEH.js.map → chunk-P7327767.js.map} +0 -0
  106. /package/dist/{chunk-GYMILOWC.js.map → chunk-Q5F4OBOK.js.map} +0 -0
  107. /package/dist/{chunk-4CTDO2Z2.js.map → chunk-Q7RFJSR5.js.map} +0 -0
  108. /package/dist/{chunk-IZS66Q5F.js.map → chunk-RI4IXOZT.js.map} +0 -0
  109. /package/dist/{chunk-NM7YEKQM.js.map → chunk-TFQMVUWQ.js.map} +0 -0
  110. /package/dist/{chunk-A34ANV7R.js.map → chunk-TMHCN5EY.js.map} +0 -0
  111. /package/dist/{chunk-LHOB5YF3.js.map → chunk-TQEXRC5C.js.map} +0 -0
  112. /package/dist/{chunk-5T33FILA.js.map → chunk-VQGHQVD2.js.map} +0 -0
  113. /package/dist/{chunk-TCKP5S3P.js.map → chunk-XJ65J3O5.js.map} +0 -0
  114. /package/dist/{cli-circuit-breaker-6V7RJMMF.js.map → cli-circuit-breaker-AZHN2TMH.js.map} +0 -0
  115. /package/dist/{cli-readiness-XNJQCKIH.js.map → cli-readiness-H4JTTKKU.js.map} +0 -0
  116. /package/dist/{composite-router-43L52IUP.js.map → composite-router-WCTNVMSX.js.map} +0 -0
  117. /package/dist/{consensus-vote-6HBLVWTW.js.map → consensus-vote-RD3SME3K.js.map} +0 -0
  118. /package/dist/{context-retriever-WPSI4STY.js.map → context-retriever-YM2PPNSY.js.map} +0 -0
  119. /package/dist/{doctor-deep-6D6FG3SZ.js.map → doctor-deep-6P23G7PN.js.map} +0 -0
  120. /package/dist/{doctor-gateway-report-2JOSIARQ.js.map → doctor-gateway-report-4TXHTWUM.js.map} +0 -0
  121. /package/dist/{doctor-live-BVXUT36N.js.map → doctor-live-MYXZCBSP.js.map} +0 -0
  122. /package/dist/{expert-bridge-E6HHFKGF.js.map → expert-bridge-CXHYMQRL.js.map} +0 -0
  123. /package/dist/{factory-WCUQHBSG.js.map → factory-3Z46455N.js.map} +0 -0
  124. /package/dist/{factory-ZPOHG4M7.js.map → factory-KH2MJQ5U.js.map} +0 -0
  125. /package/dist/{improvement-review-33VU5DAX.js.map → improvement-review-RAISKC3W.js.map} +0 -0
  126. /package/dist/{init-opencode-NQW7NG5Z.js.map → init-opencode-WXRTDPFP.js.map} +0 -0
  127. /package/dist/{issue-triage-RFV3YR66.js.map → issue-triage-KF47ZHU7.js.map} +0 -0
  128. /package/dist/{model-config-helpers-KTLFA734.js.map → model-config-helpers-ZH2QAFVR.js.map} +0 -0
  129. /package/dist/{openai-compat-adapter-7CITWSBH.js.map → openai-compat-adapter-PQ3JKWPZ.js.map} +0 -0
  130. /package/dist/{outcome-store-adapter-WCY3FBQM.js.map → outcome-store-adapter-NTYEZXLH.js.map} +0 -0
  131. /package/dist/{pr-reviewer-helpers-KJFNRS6R.js.map → pr-reviewer-helpers-AQNGDRQT.js.map} +0 -0
  132. /package/dist/{registry-command-OZLB3KYN.js.map → registry-command-6EHIJ3PJ.js.map} +0 -0
  133. /package/dist/{repo-security-plan-MOHGBKLA.js.map → repo-security-plan-AP3QEWJ5.js.map} +0 -0
  134. /package/dist/{research-helpers-synthesize-CKC67RSM.js.map → research-helpers-synthesize-XE3RMFQT.js.map} +0 -0
  135. /package/dist/{routing-memory-FOMKUKKF.js.map → routing-memory-PBZIE5NX.js.map} +0 -0
  136. /package/dist/{session-memory-KRK2HQUF.js.map → session-memory-6NUK6ZAG.js.map} +0 -0
  137. /package/dist/{setup-config-A7MFKDN7.js.map → setup-config-KEPU4NTT.js.map} +0 -0
  138. /package/dist/{setup-custom-api-YJ4DICAK.js.map → setup-custom-api-XY455LVS.js.map} +0 -0
  139. /package/dist/{setup-data-dir-VNGT3GM4.js.map → setup-data-dir-5MRGQD2G.js.map} +0 -0
  140. /package/dist/{tool-memory-ZUQSBR3O.js.map → tool-memory-MO2KOJJ7.js.map} +0 -0
  141. /package/dist/{unified-registry-JG3QCJ5O.js.map → unified-registry-JE22THXP.js.map} +0 -0
  142. /package/dist/{weather-report-2MBDI7G2.js.map → weather-report-TQ6KM2F2.js.map} +0 -0
@@ -9,8 +9,8 @@ import {
9
9
  getBuiltInAstRulesPath,
10
10
  loadRules,
11
11
  runAstQaRules
12
- } from "./chunk-FDHT3TG7.js";
13
- import "./chunk-4IJII2WG.js";
12
+ } from "./chunk-6Z3MAHAC.js";
13
+ import "./chunk-7XJZTSHW.js";
14
14
  import "./chunk-XBEKMUTO.js";
15
15
  import "./chunk-UE7A2XHM.js";
16
16
  import "./chunk-LWOX65CP.js";
@@ -28,4 +28,4 @@ export {
28
28
  loadRules,
29
29
  runAstQaRules
30
30
  };
31
- //# sourceMappingURL=ast-rule-runner-YFDXXHJU.js.map
31
+ //# sourceMappingURL=ast-rule-runner-5U6TE6YJ.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-JPFRRNRR.js";
4
4
  import {
5
5
  createLogger
6
- } from "./chunk-4IJII2WG.js";
6
+ } from "./chunk-7XJZTSHW.js";
7
7
  import "./chunk-XBEKMUTO.js";
8
8
  import "./chunk-UE7A2XHM.js";
9
9
  import "./chunk-LWOX65CP.js";
@@ -75,4 +75,4 @@ async function generateMcpConfig(options) {
75
75
  export {
76
76
  generateMcpConfig
77
77
  };
78
- //# sourceMappingURL=child-mcp-config-44M5EAYD.js.map
78
+ //# sourceMappingURL=child-mcp-config-IR7LRMIK.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-ZO6ZKR7L.js";
4
4
  import {
5
5
  SessionMemory
6
- } from "./chunk-QCNZMRJ7.js";
6
+ } from "./chunk-FKMBZ53Y.js";
7
7
  import {
8
8
  TRUST_TIER_NUMERIC,
9
9
  TrustTierSchema
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-ROYGBFVE.js";
18
18
  import {
19
19
  generateId
20
- } from "./chunk-ZGSQFG4D.js";
20
+ } from "./chunk-DEQRRCHK.js";
21
21
  import {
22
22
  ErrorCode,
23
23
  NexusError,
@@ -34,7 +34,7 @@ import {
34
34
  stringifyValue,
35
35
  tokenize,
36
36
  tokenizeFiltered
37
- } from "./chunk-4IJII2WG.js";
37
+ } from "./chunk-7XJZTSHW.js";
38
38
  import {
39
39
  nexusDataPath
40
40
  } from "./chunk-LWOX65CP.js";
@@ -5841,4 +5841,4 @@ export {
5841
5841
  shutdownToolMemory,
5842
5842
  ToolMemoryManager
5843
5843
  };
5844
- //# sourceMappingURL=chunk-6JLDPMMU.js.map
5844
+ //# sourceMappingURL=chunk-2AN5NGCQ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  redactCredentialShapes
3
- } from "./chunk-4IJII2WG.js";
3
+ } from "./chunk-7XJZTSHW.js";
4
4
 
5
5
  // src/security/output-sanitizer.ts
6
6
  var REDACTED_KEY_PLACEHOLDER = "[REDACTED_KEY]";
@@ -54,4 +54,4 @@ export {
54
54
  sanitizeErrorDetails,
55
55
  sanitizeStringLeaves
56
56
  };
57
- //# sourceMappingURL=chunk-4HUCHMSX.js.map
57
+ //# sourceMappingURL=chunk-2AW2VHMK.js.map
@@ -4,16 +4,16 @@ import {
4
4
  createOpenAICompatAdapter,
5
5
  discoverGatewayCatalog,
6
6
  readOpenAICompatEnv
7
- } from "./chunk-B3LT4L5R.js";
7
+ } from "./chunk-C5WECFBR.js";
8
8
  import {
9
9
  CUSTOM_API_DEFAULT_MODEL
10
10
  } from "./chunk-PRX4ERTK.js";
11
11
  import {
12
12
  gatewayProxyUrl
13
- } from "./chunk-L54COYAN.js";
13
+ } from "./chunk-HK4LBUYY.js";
14
14
  import {
15
15
  redactGatewaySecrets
16
- } from "./chunk-GYMILOWC.js";
16
+ } from "./chunk-Q5F4OBOK.js";
17
17
  import {
18
18
  DEFAULT_OPENAI_COMPAT_ENDPOINT,
19
19
  GATEWAY_COST_ENV,
@@ -31,7 +31,7 @@ import {
31
31
  isCliDisabled,
32
32
  symbols,
33
33
  writeLine
34
- } from "./chunk-4IJII2WG.js";
34
+ } from "./chunk-7XJZTSHW.js";
35
35
 
36
36
  // src/cli/doctor-gateway-slots.ts
37
37
  var FAMILY_SLOTS = [
@@ -398,4 +398,4 @@ export {
398
398
  formatGatewayReport,
399
399
  formatGatewaySlotWarnings
400
400
  };
401
- //# sourceMappingURL=chunk-AQ5KQTXW.js.map
401
+ //# sourceMappingURL=chunk-6H4NUU7G.js.map
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  createLogger,
6
6
  getTimeProvider
7
- } from "./chunk-4IJII2WG.js";
7
+ } from "./chunk-7XJZTSHW.js";
8
8
 
9
9
  // src/mcp/tools/scanner-registry-fetcher.ts
10
10
  import { z } from "zod";
@@ -740,4 +740,4 @@ export {
740
740
  generateSecurityPlan,
741
741
  buildPlanFromAnalysis
742
742
  };
743
- //# sourceMappingURL=chunk-BH6J6WCC.js.map
743
+ //# sourceMappingURL=chunk-6WPXQTQY.js.map
@@ -4,7 +4,7 @@ import {
4
4
  createLogger,
5
5
  formatZodError,
6
6
  resolveInsideRoot
7
- } from "./chunk-4IJII2WG.js";
7
+ } from "./chunk-7XJZTSHW.js";
8
8
 
9
9
  // src/security/ast-rule-runner.ts
10
10
  import { existsSync } from "node:fs";
@@ -241,4 +241,4 @@ export {
241
241
  collectAstQaFindings,
242
242
  runAstQaRules
243
243
  };
244
- //# sourceMappingURL=chunk-FDHT3TG7.js.map
244
+ //# sourceMappingURL=chunk-6Z3MAHAC.js.map
@@ -2151,7 +2151,7 @@ function priceBasisCaveat(basis) {
2151
2151
  case "list":
2152
2152
  return "Estimated from public list prices \u2014 your contract, gateway or free-tier rate may differ.";
2153
2153
  case "declared":
2154
- return "Based on the operator\u2019s NEXUS_GATEWAY_COST declaration, not a published rate.";
2154
+ return "Based on an operator-declared rate, not a verified published price.";
2155
2155
  case "unknown":
2156
2156
  return void 0;
2157
2157
  default: {
@@ -2175,17 +2175,24 @@ function isPrefixMatch(entry, query) {
2175
2175
  return id.length > 0 && query.startsWith(id) || cliName.length > 0 && query.startsWith(cliName);
2176
2176
  }
2177
2177
  function lookupCanonicalPricing(model) {
2178
+ const registry = getDefaultRegistry();
2178
2179
  const models = getInTreeCapabilitiesMatrix().models;
2179
- for (const m of models) {
2180
- if (isExactMatch(m, model)) return toPricing(m.pricing);
2181
- }
2182
- for (const m of models) {
2183
- if (m.pricing !== void 0 && isPrefixMatch(m, model)) return toPricing(m.pricing);
2180
+ const matched = models.find((m) => isExactMatch(m, model)) ?? models.find((m) => m.pricing !== void 0 && isPrefixMatch(m, model));
2181
+ if (matched !== void 0) {
2182
+ const entry2 = registry.getEntry(matched.id);
2183
+ return {
2184
+ pricing: toPricing(matched.pricing),
2185
+ source: entry2.pricing === void 0 ? "in-tree" : entry2.source
2186
+ };
2184
2187
  }
2185
- return toPricing(getDefaultRegistry().getEntry(model).pricing);
2188
+ const entry = registry.getEntry(model);
2189
+ return {
2190
+ pricing: toPricing(entry.pricing),
2191
+ source: registry.getEntry(entry.resolvedFrom ?? entry.id).source
2192
+ };
2186
2193
  }
2187
2194
  function calculateCost(model, inputTokens, outputTokens) {
2188
- const pricing = lookupCanonicalPricing(model);
2195
+ const { pricing } = lookupCanonicalPricing(model);
2189
2196
  if (pricing === void 0) {
2190
2197
  return void 0;
2191
2198
  }
@@ -5824,6 +5831,7 @@ function computeCostDetail(modelId, inputTokens, outputTokens) {
5824
5831
  return {
5825
5832
  costUsd: roundToMicroUsd(costUsd),
5826
5833
  priced: true,
5834
+ ...getDefaultRegistry().getEntry(entry.resolvedFrom ?? entry.id).source === "manifest" ? { declared: true } : {},
5827
5835
  resolvedId,
5828
5836
  ...provenance,
5829
5837
  ...entry.pricingProvenance !== void 0 ? { pricingProvenance: entry.pricingProvenance } : {}
@@ -6080,7 +6088,7 @@ function adapterReadiness(adapter, options) {
6080
6088
  const ceiling = resolveClassGuardMs("interactive");
6081
6089
  const requested = options.timeoutMs ?? ceiling;
6082
6090
  const timeoutMs = Number.isFinite(requested) && requested > 0 ? Math.min(requested, ceiling) : ceiling;
6083
- const flight = import("./cli-readiness-XNJQCKIH.js").then(({ probeServes }) => probeServes(adapter, timeoutMs)).finally(() => readinessFlights.delete(adapter));
6091
+ const flight = import("./cli-readiness-H4JTTKKU.js").then(({ probeServes }) => probeServes(adapter, timeoutMs)).finally(() => readinessFlights.delete(adapter));
6084
6092
  readinessFlights.set(adapter, flight);
6085
6093
  return flight;
6086
6094
  }
@@ -6090,7 +6098,7 @@ async function servesListedModel(adapter, modelId, cli) {
6090
6098
  const models = await adapter.listModels();
6091
6099
  if (models.length === 0) return "unknown";
6092
6100
  const requestedKey = canonicalModelKey(modelId);
6093
- const findCanonicalModel2 = cli === "codex" ? (await import("./model-config-helpers-KTLFA734.js")).findCanonicalModel : void 0;
6101
+ const findCanonicalModel2 = cli === "codex" ? (await import("./model-config-helpers-ZH2QAFVR.js")).findCanonicalModel : void 0;
6094
6102
  const requestedEntry = requestedKey === null ? findCanonicalModel2?.("codex", modelId) : void 0;
6095
6103
  const listed = models.some((model) => {
6096
6104
  const listedEntry = findCanonicalModel2?.("codex", model.id);
@@ -7549,7 +7557,7 @@ var ModelToCliAdapter = class {
7549
7557
  }
7550
7558
  async execute(task, options) {
7551
7559
  const gatewayArm = this.gatewayArmField().gatewayArm;
7552
- const breaker = gatewayArm !== void 0 && this.modelAdapter.providerId === `cli-${this.name}` ? (await import("./cli-circuit-breaker-6V7RJMMF.js")).getDefaultCliCircuitBreakerRegistry().getArmBreaker(breakerKeys.forArm({ name: this.name, gatewayArm })) : void 0;
7560
+ const breaker = gatewayArm !== void 0 && this.modelAdapter.providerId === `cli-${this.name}` ? (await import("./cli-circuit-breaker-AZHN2TMH.js")).getDefaultCliCircuitBreakerRegistry().getArmBreaker(breakerKeys.forArm({ name: this.name, gatewayArm })) : void 0;
7553
7561
  const result = await this.modelAdapter.complete(this.toCompletionRequest(task, options));
7554
7562
  if (!result.ok) {
7555
7563
  const cliError = this.toCliError(result.error);
@@ -7899,7 +7907,12 @@ function ceilingPriceBasis(target, costUsd, env) {
7899
7907
  const arm = served === void 0 ? target.arm : served.arm;
7900
7908
  const declaration = arm !== void 0 && isGatewayArmId(arm) ? resolveGatewayCostDeclaration(arm, env) : void 0;
7901
7909
  const declared = declaration !== void 0 && gatewayCostRates(declaration) !== "registry";
7902
- return declared ? "declared" : "list";
7910
+ if (declared) return "declared";
7911
+ return registryCeilingBasis(target, served, arm, env);
7912
+ }
7913
+ function registryCeilingBasis(target, served, arm, env) {
7914
+ const model = arm !== void 0 && isGatewayArmId(arm) ? gatewayPricingModel(arm, served?.modelId ?? sentModelOf(target.adapter), env) : getDefaultModelForCli(observedArmDisplaySlot(target.arm));
7915
+ return model === void 0 ? "unknown" : priceBasisOf(computeCostDetail(model, 0, 0));
7903
7916
  }
7904
7917
  function recordCeilingCostOfArm(target, inputTokens, outputTokens, ceiling, env = process.env) {
7905
7918
  const costUsd = ceilingCostOfArm(target, inputTokens, outputTokens, env);
@@ -12750,8 +12763,9 @@ var TaskOutcomeSchema = z13.object({
12750
12763
  */
12751
12764
  costUsd: z13.number().nonnegative().optional(),
12752
12765
  /**
12753
- * What `costUsd` rests on (#6624): `'list'` for a registry-chain rate,
12754
- * `'declared'` for an explicit gateway rate (including free/local), and
12766
+ * What `costUsd` rests on (#6624): `'list'` for an assumed published
12767
+ * registry-chain rate, `'declared'` for a manifest-overlay price (user or
12768
+ * operator tier) or an explicit gateway rate (including free/local), and
12755
12769
  * `'unknown'` when pricing was attempted but none resolved. Absent when no
12756
12770
  * lookup was made because the adapter reported no token usage.
12757
12771
  */
@@ -13585,7 +13599,7 @@ function getOutcomeStore() {
13585
13599
  async function attachOutcomeStoreToRegistry(store) {
13586
13600
  try {
13587
13601
  const { getMemoryRegistry } = await import("./dist-RRRU2OKU.js");
13588
- const { OutcomeStoreAdapter } = await import("./outcome-store-adapter-WCY3FBQM.js");
13602
+ const { OutcomeStoreAdapter } = await import("./outcome-store-adapter-NTYEZXLH.js");
13589
13603
  const { ensureSharedMemoryRegistry } = await import("./tool-memory-registry-adapters-FO6JVQSX.js");
13590
13604
  ensureSharedMemoryRegistry();
13591
13605
  getMemoryRegistry().attach("outcomes", new OutcomeStoreAdapter(store));
@@ -15869,10 +15883,29 @@ function mintReasoningNonce() {
15869
15883
  function computeReasoningDigest(reasoningNonce, reasoning) {
15870
15884
  return crypto.createHash("sha256").update(reasoningNonce).update(reasoning).digest("hex");
15871
15885
  }
15872
- var REASONING_DIGEST_TIERS = /* @__PURE__ */ new Set(["1.13", "1.14"]);
15886
+ function reasoningCommitmentText(version, reasoning, conditions) {
15887
+ return version === "1.15" ? JSON.stringify({ reasoning, conditions }) : reasoning;
15888
+ }
15889
+ var REASONING_DIGEST_TIERS = /* @__PURE__ */ new Set(["1.13", "1.14", "1.15"]);
15873
15890
  function isReasoningDigestTier(version) {
15874
15891
  return REASONING_DIGEST_TIERS.has(version);
15875
15892
  }
15893
+ function buildReasoningCommitment(clipped, version, conditions) {
15894
+ const reasoningNonce = mintReasoningNonce();
15895
+ return {
15896
+ reasoning: clipped.text,
15897
+ ...clipped.truncated === true ? { reasoningTruncated: true } : {},
15898
+ reasoningNonce,
15899
+ reasoningDigest: computeReasoningDigest(
15900
+ reasoningNonce,
15901
+ reasoningCommitmentText(version, clipped.text, conditions)
15902
+ )
15903
+ };
15904
+ }
15905
+ function isUnhashedReasoningField(version, key) {
15906
+ if (!isReasoningDigestTier(version)) return key === "reasoningNonce" || key === "reasoningDigest";
15907
+ return key === "reasoning" || key === "reasoningNonce" || version === "1.15" && key === "conditions";
15908
+ }
15876
15909
  function textTierShapeDefect(v) {
15877
15910
  if (v.reasoningNonce !== void 0) {
15878
15911
  return { key: "reasoningNonce", message: "reasoningNonce is a 1.13 key" };
@@ -15896,14 +15929,17 @@ function digestTierShapeDefect(v) {
15896
15929
  }
15897
15930
  return null;
15898
15931
  }
15899
- function reasoningCommitmentShapeDefect(digestTier, v) {
15932
+ function reasoningCommitmentShapeDefect(digestTier, v, conditionsTier = false) {
15933
+ if (conditionsTier && v.conditions !== void 0 && v.reasoning === void 0) {
15934
+ return { key: "conditions", message: "conditions without the reasoning opening they share" };
15935
+ }
15900
15936
  return digestTier ? digestTierShapeDefect(v) : textTierShapeDefect(v);
15901
15937
  }
15902
15938
  function findReasoningCommitmentDefect(record, redactedRoles) {
15903
15939
  const digestTier = isReasoningDigestTier(record.version);
15904
15940
  for (const [i, v] of record.voters.entries()) {
15905
15941
  const where = `voters[${String(i)}] (${v.role})`;
15906
- const shape = reasoningCommitmentShapeDefect(digestTier, v);
15942
+ const shape = reasoningCommitmentShapeDefect(digestTier, v, record.version === "1.15");
15907
15943
  if (shape !== null) return `${where}: ${shape.message}`;
15908
15944
  if (v.reasoningNonce === void 0 || v.reasoning === void 0) {
15909
15945
  if (v.reasoningDigest !== void 0 && !redactedRoles.has(v.role)) {
@@ -15911,9 +15947,12 @@ function findReasoningCommitmentDefect(record, redactedRoles) {
15911
15947
  }
15912
15948
  continue;
15913
15949
  }
15914
- const recomputed = computeReasoningDigest(v.reasoningNonce, v.reasoning);
15950
+ const recomputed = computeReasoningDigest(
15951
+ v.reasoningNonce,
15952
+ reasoningCommitmentText(record.version, v.reasoning, v.conditions)
15953
+ );
15915
15954
  if (recomputed !== v.reasoningDigest) {
15916
- return `${where}: stored reasoningDigest=${String(v.reasoningDigest)} does not match sha256(reasoningNonce \u2016 reasoning)=${recomputed} \u2014 the reasoning was edited without re-committing`;
15955
+ return `${where}: stored reasoningDigest=${String(v.reasoningDigest)} does not match sha256(reasoningNonce \u2016 opening)=${recomputed} \u2014 the opening was edited without re-committing`;
15917
15956
  }
15918
15957
  }
15919
15958
  return null;
@@ -15982,6 +16021,9 @@ function redactedRolesByTarget(redactions) {
15982
16021
  }
15983
16022
  return byTarget;
15984
16023
  }
16024
+ function hasOpening(v, version) {
16025
+ return v.reasoning !== void 0 || v.reasoningNonce !== void 0 || version === "1.15" && v.conditions !== void 0;
16026
+ }
15985
16027
  function redactionBindingDefect(r, targets) {
15986
16028
  const matched = targets.filter((t) => t.id === r.targetId);
15987
16029
  if (matched.length === 0) return `targetId '${r.targetId}' matches no record in the set`;
@@ -15998,7 +16040,7 @@ function redactionBindingDefect(r, targets) {
15998
16040
  if (v.reasoningDigest === void 0) {
15999
16041
  return `names role '${role}' on '${target.id}', which carries no reasoning commitment`;
16000
16042
  }
16001
- if (v.reasoning !== void 0 || v.reasoningNonce !== void 0) {
16043
+ if (hasOpening(v, target.version)) {
16002
16044
  return `names role '${role}' on '${target.id}' whose opening is still present \u2014 the redaction is recorded but not applied`;
16003
16045
  }
16004
16046
  }
@@ -16101,6 +16143,8 @@ var VoteRecordPanelCoverageSchema = z20.object({
16101
16143
  erroredRoles: z20.array(z20.string().min(1).max(100))
16102
16144
  }).strict();
16103
16145
  var MAX_VOTER_REASONING_CHARS = 2e4;
16146
+ var MAX_VOTER_CONDITIONS = 20;
16147
+ var MAX_VOTER_CONDITION_CHARS = 2e3;
16104
16148
  function clipForRecord(text) {
16105
16149
  if (text.length <= MAX_VOTER_REASONING_CHARS) return { text };
16106
16150
  return { text: text.slice(0, MAX_VOTER_REASONING_CHARS), truncated: true };
@@ -16252,7 +16296,8 @@ var VoterSummarySchema = z20.object({
16252
16296
  reasoningNonce: z20.string().regex(HEX_256_PATTERN).optional(),
16253
16297
  /**
16254
16298
  * `sha256(reasoningNonce ‖ reasoning)` as lowercase hex (#6263, schema
16255
- * 1.13) — see `computeReasoningDigest` in reasoning-commitment.ts. The
16299
+ * 1.13) — see `computeReasoningDigest` in reasoning-commitment.ts. On
16300
+ * 1.15 the preimage bundles reasoning and conditions via reasoningCommitmentText. The
16256
16301
  * commitment to the text: {@link verifyVoteRecordSet} re-opens it
16257
16302
  * whenever nonce and text are both present, so a text edited without
16258
16303
  * re-committing is a `hash_mismatch` exactly as it was when the text
@@ -16263,7 +16308,17 @@ var VoterSummarySchema = z20.object({
16263
16308
  /** Declared option selected by this seat (#4495, schema 1.14). */
16264
16309
  selectedOption: z20.string().min(1).optional(),
16265
16310
  /** Present only when the approving seat was re-asked once (#4495). */
16266
- optionReask: z20.object({ resolved: z20.boolean() }).strict().optional()
16311
+ optionReask: z20.object({ resolved: z20.boolean() }).strict().optional(),
16312
+ /**
16313
+ * Voter-sent approval conditions (#7134, schema 1.15). Advisory and
16314
+ * unenforced: they do not change the tally. Absent means not supplied;
16315
+ * an empty array means explicitly no conditions. Preserve prose, including
16316
+ * Unicode, within the caps: at most 20 strings of 2,000 UTF-16 code units
16317
+ * each. The response parser visibly marks clipped strings and dropped items.
16318
+ * On 1.15 they share the reasoningNonce/reasoningDigest commitment and
16319
+ * are removed with reasoning and nonce at sanctioned redaction.
16320
+ */
16321
+ conditions: z20.array(z20.string().max(MAX_VOTER_CONDITION_CHARS)).max(MAX_VOTER_CONDITIONS).optional()
16267
16322
  }).strict();
16268
16323
  function defineVoterKeys(keys) {
16269
16324
  return keys;
@@ -16302,15 +16357,9 @@ var VOTER_SUMMARY_KEYS = defineVoterKeys([
16302
16357
  "servedModel",
16303
16358
  // 1.14 (#4495): appended, present-only; historical hashes stay unchanged.
16304
16359
  "selectedOption",
16305
- "optionReask"
16306
- ]);
16307
- var REASONING_TIER_KEYS = /* @__PURE__ */ new Set([
16308
- "reasoningNonce",
16309
- "reasoningDigest"
16310
- ]);
16311
- var REASONING_OPENING_KEYS = /* @__PURE__ */ new Set([
16312
- "reasoning",
16313
- "reasoningNonce"
16360
+ "optionReask",
16361
+ // 1.15 (#7134): conditions join the commitment opening; never folded on 1.15.
16362
+ "conditions"
16314
16363
  ]);
16315
16364
  function noUnprojectedKeys(rest) {
16316
16365
  return rest;
@@ -16333,8 +16382,8 @@ function projectRetriedFrom(r) {
16333
16382
  ...errorTruncated !== void 0 ? { errorTruncated } : {}
16334
16383
  };
16335
16384
  }
16336
- function projectVoterField(v, key, digestTier) {
16337
- if (digestTier ? REASONING_OPENING_KEYS.has(key) : REASONING_TIER_KEYS.has(key)) return void 0;
16385
+ function projectVoterField(v, key, version) {
16386
+ if (isUnhashedReasoningField(version, key)) return void 0;
16338
16387
  if (key === "fallback") {
16339
16388
  return v.fallback === void 0 ? void 0 : projectSeatFallback(v.fallback);
16340
16389
  }
@@ -16347,10 +16396,10 @@ function projectVoterField(v, key, digestTier) {
16347
16396
  }
16348
16397
  return v[key];
16349
16398
  }
16350
- function projectVoterSummary(v, digestTier) {
16399
+ function projectVoterSummary(v, version) {
16351
16400
  const out = {};
16352
16401
  for (const key of VOTER_SUMMARY_KEYS) {
16353
- const value = projectVoterField(v, key, digestTier);
16402
+ const value = projectVoterField(v, key, version);
16354
16403
  if (value !== void 0) out[key] = value;
16355
16404
  }
16356
16405
  return out;
@@ -16391,7 +16440,8 @@ var VoteRecordSchema = z20.object({
16391
16440
  * and — the one tier that changes what an EXISTING key means to the
16392
16441
  * hash — folds those instead of `reasoning` (#6263; the clip marker
16393
16442
  * `reasoningTruncated` stays folded). '1.14' adds per-seat selections and
16394
- * re-ask outcomes (#4495), keeping the digest fold. Every tier is accepted — a 1.1 record
16443
+ * re-ask outcomes (#4495), keeping the digest fold. '1.15' adds advisory
16444
+ * voter conditions (#7134), also keeping the digest fold. Every tier is accepted — a 1.1 record
16395
16445
  * (no `ratifies`) verifies unchanged because each optional is folded into
16396
16446
  * the self-hash ONLY when present (see {@link computeVoteRecordHash}).
16397
16447
  * Tiers are labels, not ordered numbers: '1.10' follows '1.9' by
@@ -16411,7 +16461,8 @@ var VoteRecordSchema = z20.object({
16411
16461
  "1.11",
16412
16462
  "1.12",
16413
16463
  "1.13",
16414
- "1.14"
16464
+ "1.14",
16465
+ "1.15"
16415
16466
  ]),
16416
16467
  /** Unique record id (also usable as a `ratificationVoteRef`). */
16417
16468
  id: z20.string().min(1),
@@ -16571,7 +16622,7 @@ var VoteRecordSchema = z20.object({
16571
16622
  }).strict().superRefine((record, ctx) => {
16572
16623
  const digestTier = isReasoningDigestTier(record.version);
16573
16624
  for (const [i, v] of record.voters.entries()) {
16574
- const defect = reasoningCommitmentShapeDefect(digestTier, v);
16625
+ const defect = reasoningCommitmentShapeDefect(digestTier, v, record.version === "1.15");
16575
16626
  if (defect !== null) {
16576
16627
  ctx.addIssue({ code: "custom", path: ["voters", i, defect.key], message: defect.message });
16577
16628
  }
@@ -16631,9 +16682,7 @@ function computeVoteRecordHash(payload) {
16631
16682
  // `reasoningNonce` stays outside the hash with the text (the clip marker
16632
16683
  // stays folded); the text is bound by the digest, which
16633
16684
  // `verifyVoteRecordSet` re-opens with the nonce.
16634
- voters: payload.voters.map(
16635
- (v) => projectVoterSummary(v, isReasoningDigestTier(payload.version))
16636
- ),
16685
+ voters: payload.voters.map((v) => projectVoterSummary(v, payload.version)),
16637
16686
  correlationId: payload.correlationId ?? null
16638
16687
  };
16639
16688
  const canonical = JSON.stringify(foldOptionalFields(base, payload));
@@ -16765,13 +16814,19 @@ function servedModelField(v, logger16) {
16765
16814
  });
16766
16815
  return {};
16767
16816
  }
16768
- function optionEvidence(v) {
16817
+ function voterEvidence(v) {
16769
16818
  return {
16770
16819
  ...v.vote.decision === "approve" && v.selectedOption !== void 0 ? { selectedOption: v.selectedOption } : {},
16771
- ...v.optionReask !== void 0 ? { optionReask: { resolved: v.optionReask.resolved } } : {}
16820
+ ...v.optionReask !== void 0 ? { optionReask: { resolved: v.optionReask.resolved } } : {},
16821
+ // ParsedVote -> result.vote carries visibly bounded conditions. Preserve [].
16822
+ ...v.vote.conditions !== void 0 ? { conditions: [...v.vote.conditions] } : {}
16772
16823
  };
16773
16824
  }
16825
+ function voterCommitmentVersion(votes) {
16826
+ return votes.some((v) => v.source !== "error" && v.vote.conditions !== void 0) ? "1.15" : "1.13";
16827
+ }
16774
16828
  function toVoterSummaries(votes, logger16) {
16829
+ const version = voterCommitmentVersion(votes);
16775
16830
  const summaries = [];
16776
16831
  for (const v of votes) {
16777
16832
  if (v.source === "error") continue;
@@ -16780,7 +16835,7 @@ function toVoterSummaries(votes, logger16) {
16780
16835
  role: v.role,
16781
16836
  decision: vote.decision,
16782
16837
  confidence: vote.confidence,
16783
- ...reasoningFields(vote.reasoning),
16838
+ ...buildReasoningCommitment(clipForRecord(vote.reasoning), version, vote.conditions),
16784
16839
  // #6050: carried, not dropped. `voter-retry.ts` has set this on every
16785
16840
  // recovered seat since it was written and nothing read it, so the record
16786
16841
  // said "7 of 7 answered cleanly" for a panel that needed a retry.
@@ -16804,21 +16859,11 @@ function toVoterSummaries(votes, logger16) {
16804
16859
  // #6967: the hash projection (`VOTER_SUMMARY_KEYS`) appends it last, so
16805
16860
  // its position here does not change any hash.
16806
16861
  ...servedModelField(v, logger16),
16807
- ...optionEvidence(v)
16862
+ ...voterEvidence(v)
16808
16863
  });
16809
16864
  }
16810
16865
  return summaries;
16811
16866
  }
16812
- function reasoningFields(reasoning) {
16813
- const { text, truncated } = clipForRecord(reasoning);
16814
- const reasoningNonce = mintReasoningNonce();
16815
- return {
16816
- reasoning: text,
16817
- ...truncated === true ? { reasoningTruncated: true } : {},
16818
- reasoningNonce,
16819
- reasoningDigest: computeReasoningDigest(reasoningNonce, text)
16820
- };
16821
- }
16822
16867
  function recordDecisionFor(input) {
16823
16868
  return input.resolvedDecision ?? outcomeToDecision(input.result, input.votes, input.errorVoided ?? false);
16824
16869
  }
@@ -16832,8 +16877,7 @@ function deriveOptionFields(votes, declaredOptions) {
16832
16877
  }
16833
16878
  function recordVersion(optionTally, optionCoverage, panelCoverage, voters, recordLevel) {
16834
16879
  const voterTier = voterTierOf(voters);
16835
- if (voterTier === "1.14") return "1.14";
16836
- if (voterTier === "1.13") return "1.13";
16880
+ if (voterTier !== void 0 && isReasoningDigestTier(voterTier)) return voterTier;
16837
16881
  if (voterTier === "1.12") return "1.12";
16838
16882
  if (recordLevel.errorPolicy !== void 0) return "1.11";
16839
16883
  if (recordLevel.ratifiesPr !== void 0) return "1.10";
@@ -16843,6 +16887,7 @@ function recordVersion(optionTally, optionCoverage, panelCoverage, voters, recor
16843
16887
  return optionTally !== void 0 ? "1.3" : "1.2";
16844
16888
  }
16845
16889
  function voterTierOf(voters) {
16890
+ if (voters.some((v) => v.conditions !== void 0)) return "1.15";
16846
16891
  if (voters.some((v) => v.selectedOption !== void 0 || v.optionReask !== void 0))
16847
16892
  return "1.14";
16848
16893
  if (voters.some((v) => v.reasoningDigest !== void 0)) return "1.13";
@@ -19930,7 +19975,7 @@ var CompositeRouter = class _CompositeRouter {
19930
19975
  */
19931
19976
  async consultUnifiedContext(task) {
19932
19977
  try {
19933
- const { getContextForTask, inferTaskCategory } = await import("./context-retriever-WPSI4STY.js");
19978
+ const { getContextForTask, inferTaskCategory } = await import("./context-retriever-YM2PPNSY.js");
19934
19979
  const ctx = await getContextForTask({
19935
19980
  task: task.content,
19936
19981
  category: inferTaskCategory(task.content),
@@ -21012,7 +21057,7 @@ function setDefaultRegistry(registry) {
21012
21057
  }
21013
21058
  async function reloadDefaultRegistry() {
21014
21059
  globalRegistry = buildDefaultRegistry();
21015
- const { resetGlobalRegistry } = await import("./unified-registry-JG3QCJ5O.js");
21060
+ const { resetGlobalRegistry } = await import("./unified-registry-JE22THXP.js");
21016
21061
  resetGlobalRegistry();
21017
21062
  return globalRegistry;
21018
21063
  }
@@ -21646,6 +21691,8 @@ export {
21646
21691
  DecisionGateSchema,
21647
21692
  DecisionCostStore,
21648
21693
  pipelineRunId,
21694
+ MAX_VOTER_CONDITIONS,
21695
+ MAX_VOTER_CONDITION_CHARS,
21649
21696
  clipForRecord,
21650
21697
  VoteRecordPrBindingSchema,
21651
21698
  computeVoteRecordHash,
@@ -21679,4 +21726,4 @@ export {
21679
21726
  AgentCapability,
21680
21727
  OrchestratorError
21681
21728
  };
21682
- //# sourceMappingURL=chunk-4IJII2WG.js.map
21729
+ //# sourceMappingURL=chunk-7XJZTSHW.js.map