nexus-agents 8.119.0 → 8.121.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 (139) hide show
  1. package/dist/{ast-rule-runner-FYYKLLPP.js → ast-rule-runner-SDHMWTXU.js} +3 -3
  2. package/dist/{child-mcp-config-XPFSENYA.js → child-mcp-config-NPZCRCIF.js} +2 -2
  3. package/dist/{chunk-DSS3IZBD.js → chunk-2R4VI2T3.js} +2 -2
  4. package/dist/{chunk-VTQP7NEX.js → chunk-5KGJP263.js} +3 -3
  5. package/dist/{chunk-GMJ64YRZ.js → chunk-6K5OU3EA.js} +2 -2
  6. package/dist/{chunk-7UJMX3NX.js → chunk-74NOCE4H.js} +4 -4
  7. package/dist/{chunk-FKRWRXLE.js → chunk-7LAGIDPY.js} +2 -2
  8. package/dist/{chunk-BDOGS7WG.js → chunk-ASFX3JAO.js} +3 -3
  9. package/dist/{chunk-W4QXKXZ5.js → chunk-AVJ6AMGT.js} +2 -2
  10. package/dist/{chunk-IUZAW2QV.js → chunk-B3GWSR2R.js} +5 -5
  11. package/dist/{chunk-BQJDVBCK.js → chunk-BBPMYYAT.js} +6 -6
  12. package/dist/{chunk-KUAUYG5I.js → chunk-BGLJOUVX.js} +3 -3
  13. package/dist/{chunk-NVVDC4JB.js → chunk-CW5UVJGN.js} +69 -52
  14. package/dist/chunk-CW5UVJGN.js.map +1 -0
  15. package/dist/{chunk-AGLJ5HC6.js → chunk-DIEZXS7C.js} +7 -4
  16. package/dist/chunk-DIEZXS7C.js.map +1 -0
  17. package/dist/{chunk-UKUJAE64.js → chunk-E6Y4GTFQ.js} +2 -2
  18. package/dist/{chunk-QNXGQREW.js → chunk-GBLWLDLH.js} +7 -6
  19. package/dist/chunk-GBLWLDLH.js.map +1 -0
  20. package/dist/{chunk-BIQCMERC.js → chunk-IEEMHPCM.js} +2 -2
  21. package/dist/{chunk-5A4XYGR7.js → chunk-IGXQ7FFW.js} +4 -4
  22. package/dist/{chunk-O6NT3KJP.js → chunk-IJEWUAYY.js} +2 -2
  23. package/dist/{chunk-SXEDI4V5.js → chunk-JOPVATLZ.js} +2 -2
  24. package/dist/{chunk-ED4IXZTH.js → chunk-KN3C2YSG.js} +2 -2
  25. package/dist/{chunk-IPFOCGD3.js → chunk-L62HZGHO.js} +4 -4
  26. package/dist/{chunk-RN2DZBMV.js → chunk-L7WTUJKJ.js} +3 -3
  27. package/dist/{chunk-RZ3MSWEF.js → chunk-LHW5WPNB.js} +2 -2
  28. package/dist/{chunk-YLC3B4ID.js → chunk-NN2QGK4F.js} +12 -12
  29. package/dist/{chunk-OTPXA2UT.js → chunk-P5H2WLPA.js} +2 -2
  30. package/dist/{chunk-SIY2AUF6.js → chunk-P7GJRX2R.js} +70 -3
  31. package/dist/chunk-P7GJRX2R.js.map +1 -0
  32. package/dist/{chunk-F5J6FQOK.js → chunk-Q3XDDRZ5.js} +3 -3
  33. package/dist/{chunk-XHRLBVAY.js → chunk-Q4F4BEZ2.js} +5 -5
  34. package/dist/{chunk-YGM44KWX.js → chunk-QSNMA5UG.js} +2 -2
  35. package/dist/{chunk-Q6KRNF54.js → chunk-RFR3EIDL.js} +15 -71
  36. package/dist/chunk-RFR3EIDL.js.map +1 -0
  37. package/dist/{chunk-U34Z2LUI.js → chunk-RQHOB4FJ.js} +2 -2
  38. package/dist/{chunk-PAM2AOIT.js → chunk-RYR4HAE6.js} +7 -7
  39. package/dist/{chunk-UFRUE44X.js → chunk-TKV6IYJ4.js} +2 -2
  40. package/dist/{chunk-P4BDYN6U.js → chunk-TP5G2REY.js} +106 -90
  41. package/dist/chunk-TP5G2REY.js.map +1 -0
  42. package/dist/{chunk-WBUQN5RD.js → chunk-V7LZT5KN.js} +2 -2
  43. package/dist/{chunk-Z27YLRRK.js → chunk-VJUP6ANF.js} +46 -42
  44. package/dist/{chunk-Z27YLRRK.js.map → chunk-VJUP6ANF.js.map} +1 -1
  45. package/dist/{cli-circuit-breaker-7M754FZ5.js → cli-circuit-breaker-UQCA23HV.js} +3 -3
  46. package/dist/cli.js +44 -44
  47. package/dist/{composite-router-44JHBDFZ.js → composite-router-VZSC3YPJ.js} +2 -2
  48. package/dist/{consensus-vote-C5TMM2YF.js → consensus-vote-P5GGH75Q.js} +17 -17
  49. package/dist/{context-retriever-LJYV5PSB.js → context-retriever-3VZU2JKX.js} +8 -8
  50. package/dist/{doctor-deep-7JXMJQEH.js → doctor-deep-ZMEHZ22N.js} +3 -3
  51. package/dist/doctor-gateway-report-VICDW4L4.js +19 -0
  52. package/dist/{doctor-live-4VARLB5G.js → doctor-live-75S6X63S.js} +11 -11
  53. package/dist/{expert-bridge-2W4IVE6E.js → expert-bridge-X6XYUYC6.js} +4 -4
  54. package/dist/{factory-DXTY7YH5.js → factory-GUCG7D3U.js} +5 -5
  55. package/dist/{factory-JPY5EGAJ.js → factory-WAWARUUU.js} +10 -10
  56. package/dist/{improvement-review-QKNPX6PT.js → improvement-review-TJPNSEGI.js} +6 -6
  57. package/dist/index.d.ts +9 -0
  58. package/dist/index.js +32 -32
  59. package/dist/{init-opencode-E637NEIA.js → init-opencode-7K6SSBIP.js} +6 -6
  60. package/dist/{issue-triage-KVLQP4GT.js → issue-triage-ASH3KV4J.js} +6 -6
  61. package/dist/model-registry.generated.json +2971 -2219
  62. package/dist/{openai-compat-adapter-DCSJTDO2.js → openai-compat-adapter-OLYLE4LK.js} +6 -6
  63. package/dist/{pr-reviewer-helpers-U2QJTGW7.js → pr-reviewer-helpers-PKM3ZVEQ.js} +4 -4
  64. package/dist/{registry-command-EPUOBQFP.js → registry-command-TTBLNE3U.js} +2 -2
  65. package/dist/{repo-security-plan-EXJDN5KR.js → repo-security-plan-QY2VH6WZ.js} +3 -3
  66. package/dist/{research-helpers-synthesize-POE5BH56.js → research-helpers-synthesize-7M6H3TL2.js} +4 -4
  67. package/dist/{routing-memory-EUDFKSV7.js → routing-memory-TXGG7UR4.js} +2 -2
  68. package/dist/{session-memory-DMTMHHEZ.js → session-memory-UK6IZEZK.js} +3 -3
  69. package/dist/{setup-config-O237G4KM.js → setup-config-SF6KY6KS.js} +3 -3
  70. package/dist/{setup-custom-api-HUFZHJ3O.js → setup-custom-api-V3KZWC52.js} +4 -4
  71. package/dist/setup-data-dir-T7UGGB54.js +33 -0
  72. package/dist/{tool-memory-34GG3W3Q.js → tool-memory-774G3LQK.js} +5 -5
  73. package/dist/{unified-registry-FGNMCXPR.js → unified-registry-DTENT7NN.js} +11 -11
  74. package/dist/{weather-report-A26ACFXI.js → weather-report-6P3YYPQT.js} +2 -2
  75. package/package.json +1 -1
  76. package/dist/chunk-AGLJ5HC6.js.map +0 -1
  77. package/dist/chunk-NVVDC4JB.js.map +0 -1
  78. package/dist/chunk-P4BDYN6U.js.map +0 -1
  79. package/dist/chunk-Q6KRNF54.js.map +0 -1
  80. package/dist/chunk-QNXGQREW.js.map +0 -1
  81. package/dist/chunk-SIY2AUF6.js.map +0 -1
  82. package/dist/doctor-gateway-report-V3DCTMIK.js +0 -19
  83. package/dist/setup-data-dir-HCZZDAU7.js +0 -33
  84. /package/dist/{ast-rule-runner-FYYKLLPP.js.map → ast-rule-runner-SDHMWTXU.js.map} +0 -0
  85. /package/dist/{child-mcp-config-XPFSENYA.js.map → child-mcp-config-NPZCRCIF.js.map} +0 -0
  86. /package/dist/{chunk-DSS3IZBD.js.map → chunk-2R4VI2T3.js.map} +0 -0
  87. /package/dist/{chunk-VTQP7NEX.js.map → chunk-5KGJP263.js.map} +0 -0
  88. /package/dist/{chunk-GMJ64YRZ.js.map → chunk-6K5OU3EA.js.map} +0 -0
  89. /package/dist/{chunk-7UJMX3NX.js.map → chunk-74NOCE4H.js.map} +0 -0
  90. /package/dist/{chunk-FKRWRXLE.js.map → chunk-7LAGIDPY.js.map} +0 -0
  91. /package/dist/{chunk-BDOGS7WG.js.map → chunk-ASFX3JAO.js.map} +0 -0
  92. /package/dist/{chunk-W4QXKXZ5.js.map → chunk-AVJ6AMGT.js.map} +0 -0
  93. /package/dist/{chunk-IUZAW2QV.js.map → chunk-B3GWSR2R.js.map} +0 -0
  94. /package/dist/{chunk-BQJDVBCK.js.map → chunk-BBPMYYAT.js.map} +0 -0
  95. /package/dist/{chunk-KUAUYG5I.js.map → chunk-BGLJOUVX.js.map} +0 -0
  96. /package/dist/{chunk-UKUJAE64.js.map → chunk-E6Y4GTFQ.js.map} +0 -0
  97. /package/dist/{chunk-BIQCMERC.js.map → chunk-IEEMHPCM.js.map} +0 -0
  98. /package/dist/{chunk-5A4XYGR7.js.map → chunk-IGXQ7FFW.js.map} +0 -0
  99. /package/dist/{chunk-O6NT3KJP.js.map → chunk-IJEWUAYY.js.map} +0 -0
  100. /package/dist/{chunk-SXEDI4V5.js.map → chunk-JOPVATLZ.js.map} +0 -0
  101. /package/dist/{chunk-ED4IXZTH.js.map → chunk-KN3C2YSG.js.map} +0 -0
  102. /package/dist/{chunk-IPFOCGD3.js.map → chunk-L62HZGHO.js.map} +0 -0
  103. /package/dist/{chunk-RN2DZBMV.js.map → chunk-L7WTUJKJ.js.map} +0 -0
  104. /package/dist/{chunk-RZ3MSWEF.js.map → chunk-LHW5WPNB.js.map} +0 -0
  105. /package/dist/{chunk-YLC3B4ID.js.map → chunk-NN2QGK4F.js.map} +0 -0
  106. /package/dist/{chunk-OTPXA2UT.js.map → chunk-P5H2WLPA.js.map} +0 -0
  107. /package/dist/{chunk-F5J6FQOK.js.map → chunk-Q3XDDRZ5.js.map} +0 -0
  108. /package/dist/{chunk-XHRLBVAY.js.map → chunk-Q4F4BEZ2.js.map} +0 -0
  109. /package/dist/{chunk-YGM44KWX.js.map → chunk-QSNMA5UG.js.map} +0 -0
  110. /package/dist/{chunk-U34Z2LUI.js.map → chunk-RQHOB4FJ.js.map} +0 -0
  111. /package/dist/{chunk-PAM2AOIT.js.map → chunk-RYR4HAE6.js.map} +0 -0
  112. /package/dist/{chunk-UFRUE44X.js.map → chunk-TKV6IYJ4.js.map} +0 -0
  113. /package/dist/{chunk-WBUQN5RD.js.map → chunk-V7LZT5KN.js.map} +0 -0
  114. /package/dist/{cli-circuit-breaker-7M754FZ5.js.map → cli-circuit-breaker-UQCA23HV.js.map} +0 -0
  115. /package/dist/{composite-router-44JHBDFZ.js.map → composite-router-VZSC3YPJ.js.map} +0 -0
  116. /package/dist/{consensus-vote-C5TMM2YF.js.map → consensus-vote-P5GGH75Q.js.map} +0 -0
  117. /package/dist/{context-retriever-LJYV5PSB.js.map → context-retriever-3VZU2JKX.js.map} +0 -0
  118. /package/dist/{doctor-deep-7JXMJQEH.js.map → doctor-deep-ZMEHZ22N.js.map} +0 -0
  119. /package/dist/{doctor-gateway-report-V3DCTMIK.js.map → doctor-gateway-report-VICDW4L4.js.map} +0 -0
  120. /package/dist/{doctor-live-4VARLB5G.js.map → doctor-live-75S6X63S.js.map} +0 -0
  121. /package/dist/{expert-bridge-2W4IVE6E.js.map → expert-bridge-X6XYUYC6.js.map} +0 -0
  122. /package/dist/{factory-DXTY7YH5.js.map → factory-GUCG7D3U.js.map} +0 -0
  123. /package/dist/{factory-JPY5EGAJ.js.map → factory-WAWARUUU.js.map} +0 -0
  124. /package/dist/{improvement-review-QKNPX6PT.js.map → improvement-review-TJPNSEGI.js.map} +0 -0
  125. /package/dist/{init-opencode-E637NEIA.js.map → init-opencode-7K6SSBIP.js.map} +0 -0
  126. /package/dist/{issue-triage-KVLQP4GT.js.map → issue-triage-ASH3KV4J.js.map} +0 -0
  127. /package/dist/{openai-compat-adapter-DCSJTDO2.js.map → openai-compat-adapter-OLYLE4LK.js.map} +0 -0
  128. /package/dist/{pr-reviewer-helpers-U2QJTGW7.js.map → pr-reviewer-helpers-PKM3ZVEQ.js.map} +0 -0
  129. /package/dist/{registry-command-EPUOBQFP.js.map → registry-command-TTBLNE3U.js.map} +0 -0
  130. /package/dist/{repo-security-plan-EXJDN5KR.js.map → repo-security-plan-QY2VH6WZ.js.map} +0 -0
  131. /package/dist/{research-helpers-synthesize-POE5BH56.js.map → research-helpers-synthesize-7M6H3TL2.js.map} +0 -0
  132. /package/dist/{routing-memory-EUDFKSV7.js.map → routing-memory-TXGG7UR4.js.map} +0 -0
  133. /package/dist/{session-memory-DMTMHHEZ.js.map → session-memory-UK6IZEZK.js.map} +0 -0
  134. /package/dist/{setup-config-O237G4KM.js.map → setup-config-SF6KY6KS.js.map} +0 -0
  135. /package/dist/{setup-custom-api-HUFZHJ3O.js.map → setup-custom-api-V3KZWC52.js.map} +0 -0
  136. /package/dist/{setup-data-dir-HCZZDAU7.js.map → setup-data-dir-T7UGGB54.js.map} +0 -0
  137. /package/dist/{tool-memory-34GG3W3Q.js.map → tool-memory-774G3LQK.js.map} +0 -0
  138. /package/dist/{unified-registry-FGNMCXPR.js.map → unified-registry-DTENT7NN.js.map} +0 -0
  139. /package/dist/{weather-report-A26ACFXI.js.map → weather-report-6P3YYPQT.js.map} +0 -0
@@ -9,9 +9,9 @@ import {
9
9
  getBuiltInAstRulesPath,
10
10
  loadRules,
11
11
  runAstQaRules
12
- } from "./chunk-YGM44KWX.js";
12
+ } from "./chunk-QSNMA5UG.js";
13
13
  import "./chunk-XEPZSDN5.js";
14
- import "./chunk-AGLJ5HC6.js";
14
+ import "./chunk-DIEZXS7C.js";
15
15
  import "./chunk-UE7A2XHM.js";
16
16
  import "./chunk-LWOX65CP.js";
17
17
  import "./chunk-PX6F3LHL.js";
@@ -27,4 +27,4 @@ export {
27
27
  loadRules,
28
28
  runAstQaRules
29
29
  };
30
- //# sourceMappingURL=ast-rule-runner-FYYKLLPP.js.map
30
+ //# sourceMappingURL=ast-rule-runner-SDHMWTXU.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-OITVVSWO.js";
4
4
  import {
5
5
  createLogger
6
- } from "./chunk-AGLJ5HC6.js";
6
+ } from "./chunk-DIEZXS7C.js";
7
7
  import "./chunk-UE7A2XHM.js";
8
8
  import "./chunk-LWOX65CP.js";
9
9
  import "./chunk-PX6F3LHL.js";
@@ -49,4 +49,4 @@ async function generateMcpConfig(options) {
49
49
  export {
50
50
  generateMcpConfig
51
51
  };
52
- //# sourceMappingURL=child-mcp-config-XPFSENYA.js.map
52
+ //# sourceMappingURL=child-mcp-config-NPZCRCIF.js.map
@@ -12,7 +12,7 @@ import {
12
12
  isRateLimitText,
13
13
  observedArmDisplaySlot,
14
14
  ok
15
- } from "./chunk-AGLJ5HC6.js";
15
+ } from "./chunk-DIEZXS7C.js";
16
16
 
17
17
  // src/cli-adapters/circuit-breaker-types.ts
18
18
  var CircuitErrorCode = {
@@ -614,4 +614,4 @@ export {
614
614
  CliCircuitBreakerIntegration,
615
615
  createCliCircuitBreakerIntegration
616
616
  };
617
- //# sourceMappingURL=chunk-DSS3IZBD.js.map
617
+ //# sourceMappingURL=chunk-2R4VI2T3.js.map
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  assessReputation,
6
6
  sanitizeInput
7
- } from "./chunk-W4QXKXZ5.js";
7
+ } from "./chunk-AVJ6AMGT.js";
8
8
  import {
9
9
  allOf
10
10
  } from "./chunk-EZNIYU5T.js";
@@ -13,7 +13,7 @@ import {
13
13
  err,
14
14
  getTimeProvider,
15
15
  ok
16
- } from "./chunk-AGLJ5HC6.js";
16
+ } from "./chunk-DIEZXS7C.js";
17
17
 
18
18
  // src/dogfooding/pr-reviewer-helpers.ts
19
19
  import { randomUUID } from "node:crypto";
@@ -477,4 +477,4 @@ export {
477
477
  createFailedReview,
478
478
  reviewPostingBlock
479
479
  };
480
- //# sourceMappingURL=chunk-VTQP7NEX.js.map
480
+ //# sourceMappingURL=chunk-5KGJP263.js.map
@@ -7,7 +7,7 @@ import {
7
7
  createLogger,
8
8
  err,
9
9
  ok
10
- } from "./chunk-AGLJ5HC6.js";
10
+ } from "./chunk-DIEZXS7C.js";
11
11
 
12
12
  // src/adapters/gateway-redaction.ts
13
13
  var GATEWAY_REDACTED = "<redacted>";
@@ -341,4 +341,4 @@ export {
341
341
  validateCustomApiBaseUrl,
342
342
  assertCustomApiHostResolvesPublic
343
343
  };
344
- //# sourceMappingURL=chunk-GMJ64YRZ.js.map
344
+ //# sourceMappingURL=chunk-6K5OU3EA.js.map
@@ -8,7 +8,7 @@ import {
8
8
  } from "./chunk-SX5DB6UR.js";
9
9
  import {
10
10
  SessionMemory
11
- } from "./chunk-ED4IXZTH.js";
11
+ } from "./chunk-KN3C2YSG.js";
12
12
  import {
13
13
  TRUST_TIER_NUMERIC,
14
14
  TrustTierSchema
@@ -22,7 +22,7 @@ import {
22
22
  } from "./chunk-MUJCGBZW.js";
23
23
  import {
24
24
  generateId
25
- } from "./chunk-UFRUE44X.js";
25
+ } from "./chunk-TKV6IYJ4.js";
26
26
  import {
27
27
  ErrorCode,
28
28
  NexusError,
@@ -36,7 +36,7 @@ import {
36
36
  ok,
37
37
  openSqliteDatabase,
38
38
  setSharedMobiMemDbPathResolver
39
- } from "./chunk-AGLJ5HC6.js";
39
+ } from "./chunk-DIEZXS7C.js";
40
40
  import {
41
41
  nexusDataPath
42
42
  } from "./chunk-LWOX65CP.js";
@@ -5843,4 +5843,4 @@ export {
5843
5843
  shutdownToolMemory,
5844
5844
  ToolMemoryManager
5845
5845
  };
5846
- //# sourceMappingURL=chunk-7UJMX3NX.js.map
5846
+ //# sourceMappingURL=chunk-74NOCE4H.js.map
@@ -2,7 +2,7 @@ import {
2
2
  createLogger,
3
3
  err,
4
4
  ok
5
- } from "./chunk-AGLJ5HC6.js";
5
+ } from "./chunk-DIEZXS7C.js";
6
6
 
7
7
  // src/scm/token-resolver.ts
8
8
  import { execFile } from "node:child_process";
@@ -87,4 +87,4 @@ export {
87
87
  hasToken,
88
88
  getTokenEnvVars
89
89
  };
90
- //# sourceMappingURL=chunk-FKRWRXLE.js.map
90
+ //# sourceMappingURL=chunk-7LAGIDPY.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  getTimeProvider
3
- } from "./chunk-AGLJ5HC6.js";
3
+ } from "./chunk-DIEZXS7C.js";
4
4
 
5
5
  // src/version.ts
6
6
  import semver from "semver";
7
- var VERSION = true ? "8.119.0" : "dev";
7
+ var VERSION = true ? "8.121.0" : "dev";
8
8
  var NODE_ENGINE_RANGE = ">=22.5.0";
9
9
  function isNodeVersionSupported(version) {
10
10
  return semver.satisfies(version, NODE_ENGINE_RANGE);
@@ -106,4 +106,4 @@ export {
106
106
  contextForLogging,
107
107
  measuredTrustTier
108
108
  };
109
- //# sourceMappingURL=chunk-BDOGS7WG.js.map
109
+ //# sourceMappingURL=chunk-ASFX3JAO.js.map
@@ -7,7 +7,7 @@ import {
7
7
  CACHE_TIMEOUTS,
8
8
  createLogger,
9
9
  getTimeProvider
10
- } from "./chunk-AGLJ5HC6.js";
10
+ } from "./chunk-DIEZXS7C.js";
11
11
 
12
12
  // src/security/input-sanitizer.ts
13
13
  var DANGEROUS_HTML_PATTERN = /<(picture|source|img)\b[^>]*>[\s\S]*?<\/\1>|<(picture|source|img)\b[^>]*\/?>/gi;
@@ -509,4 +509,4 @@ export {
509
509
  resolveReputationGatingMode,
510
510
  gateWithReputation
511
511
  };
512
- //# sourceMappingURL=chunk-W4QXKXZ5.js.map
512
+ //# sourceMappingURL=chunk-AVJ6AMGT.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  GitHubProvider,
3
3
  ScmError
4
- } from "./chunk-WBUQN5RD.js";
4
+ } from "./chunk-V7LZT5KN.js";
5
5
  import {
6
6
  ReputationCache,
7
7
  assessReputation,
@@ -9,10 +9,10 @@ import {
9
9
  resolveEnvMode,
10
10
  resolveReputationGatingMode,
11
11
  sanitizeInput
12
- } from "./chunk-W4QXKXZ5.js";
12
+ } from "./chunk-AVJ6AMGT.js";
13
13
  import {
14
14
  hasToken
15
- } from "./chunk-FKRWRXLE.js";
15
+ } from "./chunk-7LAGIDPY.js";
16
16
  import {
17
17
  toContentTrustProvenanceRecord
18
18
  } from "./chunk-ZO6ZKR7L.js";
@@ -28,7 +28,7 @@ import {
28
28
  getErrorMessage,
29
29
  getTimeProvider,
30
30
  ok
31
- } from "./chunk-AGLJ5HC6.js";
31
+ } from "./chunk-DIEZXS7C.js";
32
32
 
33
33
  // src/security/firewall/firewall-policy-mode.ts
34
34
  import { z } from "zod";
@@ -2661,4 +2661,4 @@ export {
2661
2661
  IssueTriage,
2662
2662
  createIssueTriage
2663
2663
  };
2664
- //# sourceMappingURL=chunk-IUZAW2QV.js.map
2664
+ //# sourceMappingURL=chunk-B3GWSR2R.js.map
@@ -4,16 +4,16 @@ import {
4
4
  createOpenAICompatAdapter,
5
5
  discoverGatewayCatalog,
6
6
  readOpenAICompatEnv
7
- } from "./chunk-Q6KRNF54.js";
7
+ } from "./chunk-RFR3EIDL.js";
8
8
  import {
9
9
  CUSTOM_API_DEFAULT_MODEL
10
- } from "./chunk-SXEDI4V5.js";
10
+ } from "./chunk-JOPVATLZ.js";
11
11
  import {
12
12
  gatewayProxyUrl
13
- } from "./chunk-SIY2AUF6.js";
13
+ } from "./chunk-P7GJRX2R.js";
14
14
  import {
15
15
  redactGatewaySecrets
16
- } from "./chunk-GMJ64YRZ.js";
16
+ } from "./chunk-6K5OU3EA.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-AGLJ5HC6.js";
34
+ } from "./chunk-DIEZXS7C.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-BQJDVBCK.js.map
401
+ //# sourceMappingURL=chunk-BBPMYYAT.js.map
@@ -9,7 +9,7 @@ import {
9
9
  logGatewaySlotMapping,
10
10
  resolveModelIdentitySync,
11
11
  setGatewaySlotCatalog
12
- } from "./chunk-AGLJ5HC6.js";
12
+ } from "./chunk-DIEZXS7C.js";
13
13
 
14
14
  // src/config/model-availability.ts
15
15
  var DEFAULT_TTL_MS = 6e4;
@@ -160,7 +160,7 @@ function discoverGatewayOnce(logger = defaultLogger) {
160
160
  }
161
161
  async function runProbe(logger) {
162
162
  try {
163
- const { buildOpenAICompatAdapters: build } = await import("./openai-compat-adapter-DCSJTDO2.js");
163
+ const { buildOpenAICompatAdapters: build } = await import("./openai-compat-adapter-OLYLE4LK.js");
164
164
  return await build(logger);
165
165
  } catch (error) {
166
166
  return err(new ConfigError(`Gateway discovery threw: ${getErrorMessage(error)}`));
@@ -291,4 +291,4 @@ export {
291
291
  setGatewayRediscovery,
292
292
  ensureGatewayDiscovered
293
293
  };
294
- //# sourceMappingURL=chunk-KUAUYG5I.js.map
294
+ //# sourceMappingURL=chunk-BGLJOUVX.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  CUSTOM_API_DEFAULT_MODEL
3
- } from "./chunk-SXEDI4V5.js";
3
+ } from "./chunk-JOPVATLZ.js";
4
4
  import {
5
5
  nexusMkdtempSync
6
6
  } from "./chunk-OITVVSWO.js";
@@ -8,7 +8,7 @@ import {
8
8
  ensureGatewayDiscovered,
9
9
  gatewayDiscoveryStatus,
10
10
  getAvailabilityCache
11
- } from "./chunk-KUAUYG5I.js";
11
+ } from "./chunk-BGLJOUVX.js";
12
12
  import {
13
13
  AdapterModelError,
14
14
  BaseAdapter,
@@ -17,8 +17,9 @@ import {
17
17
  planOptionalParams,
18
18
  readGatewayTransport,
19
19
  requireApiKey,
20
- validateApiKeyPresence
21
- } from "./chunk-SIY2AUF6.js";
20
+ validateApiKeyPresence,
21
+ withGatewayUsageRecording
22
+ } from "./chunk-P7GJRX2R.js";
22
23
  import {
23
24
  assertCustomApiHostResolvesPublic,
24
25
  hostnameOf,
@@ -27,22 +28,22 @@ import {
27
28
  readGatewayEnv,
28
29
  redactApiKey,
29
30
  validateCustomApiBaseUrl
30
- } from "./chunk-GMJ64YRZ.js";
31
+ } from "./chunk-6K5OU3EA.js";
31
32
  import {
32
33
  sanitizeOutput
33
- } from "./chunk-OTPXA2UT.js";
34
+ } from "./chunk-P5H2WLPA.js";
34
35
  import {
35
36
  extractSystemPrompt
36
37
  } from "./chunk-QZUG667L.js";
37
38
  import {
38
39
  generateHyphenId
39
- } from "./chunk-UFRUE44X.js";
40
+ } from "./chunk-TKV6IYJ4.js";
40
41
  import {
41
42
  CliCircuitBreaker,
42
43
  DEFAULT_CIRCUIT_BREAKER_CONFIG,
43
44
  getCliCircuitBreakerSnapshot,
44
45
  getDefaultCliCircuitBreakerRegistry
45
- } from "./chunk-DSS3IZBD.js";
46
+ } from "./chunk-2R4VI2T3.js";
46
47
  import {
47
48
  CLI_NAMES,
48
49
  CLI_SUBPROCESS_TIMEOUTS,
@@ -114,7 +115,7 @@ import {
114
115
  unenforcedAccessModeRefusal,
115
116
  warnIfGatewayCostUndeclared,
116
117
  withEnforcedAccessMode
117
- } from "./chunk-AGLJ5HC6.js";
118
+ } from "./chunk-DIEZXS7C.js";
118
119
  import {
119
120
  parseBoolValue
120
121
  } from "./chunk-LWOX65CP.js";
@@ -1308,6 +1309,62 @@ function createCliDetectionCache(config) {
1308
1309
  return new CliDetectionCache(config);
1309
1310
  }
1310
1311
 
1312
+ // src/adapters/auto-adapter-gateway.ts
1313
+ function tryCustomOpenAiAdapter(logger7) {
1314
+ const {
1315
+ baseUrl: customBaseUrl,
1316
+ apiKey: customKey,
1317
+ deprecated
1318
+ } = readGatewayEnv(process.env, logger7);
1319
+ if (customKey === void 0 || customBaseUrl === void 0) return null;
1320
+ const choice = customModelChoice(logger7);
1321
+ if (choice === null) return null;
1322
+ const { modelId: customModelId, note } = choice;
1323
+ const modelVerified = deprecated.some((use) => !use.shadowed) ? void 0 : choice.modelVerified;
1324
+ const host = hostnameOf(customBaseUrl);
1325
+ logger7.info("Using custom-openai SDK adapter", { model: customModelId, host });
1326
+ const adapter = new SdkAdapter(
1327
+ {
1328
+ providerId: "custom-openai",
1329
+ modelId: customModelId,
1330
+ apiKey: customKey,
1331
+ baseUrl: customBaseUrl
1332
+ },
1333
+ logger7
1334
+ );
1335
+ return {
1336
+ // Snapshot the selection on the call's adapter, rather than reading the
1337
+ // resilient proxy's mutable health after a refresh/failover (#6862).
1338
+ // Always wrapped, so pricing never depends on whether discovery measured
1339
+ // the choice: every custom-openai call is priced by the gateway declaration.
1340
+ adapter: withGatewayUsageRecording(adapter, "api:custom-openai", modelVerified),
1341
+ source: "api",
1342
+ name: "custom-openai",
1343
+ reason: `Using custom OpenAI-compatible gateway at ${host} (model: ${customModelId}${note})`,
1344
+ ...modelVerified !== void 0 && { modelVerified }
1345
+ };
1346
+ }
1347
+ function customModelChoice(logger7) {
1348
+ const d = resolveGatewayDefault(process.env, logger7);
1349
+ if (d.kind === "inactive") {
1350
+ const modelId = process.env["NEXUS_CUSTOM_MODEL"] ?? CUSTOM_API_DEFAULT_MODEL;
1351
+ if (gatewayDiscoveryStatus() !== "failed") return { modelId, note: "" };
1352
+ logger7.warn(
1353
+ `Gateway discovery failed, so the custom-openai model '${modelId}' is sent unverified; set NEXUS_CUSTOM_MODEL to a model the gateway serves, or run \`nexus-agents doctor --gateway\``,
1354
+ { model: modelId }
1355
+ );
1356
+ return { modelId, note: "; unverified: gateway discovery failed", modelVerified: false };
1357
+ }
1358
+ if (d.kind === "resolved")
1359
+ return {
1360
+ modelId: d.adapter.modelId,
1361
+ note: `; gateway default by ${d.via}`,
1362
+ modelVerified: true
1363
+ };
1364
+ logger7.warn("Gateway catalogue has no chat model; the custom-openai default is unavailable");
1365
+ return null;
1366
+ }
1367
+
1311
1368
  // src/adapters/auto-adapter.ts
1312
1369
  var defaultLogger = createLogger({ component: "auto-adapter" });
1313
1370
  function resolveCache(config, logger7) {
@@ -1396,7 +1453,8 @@ function tryGatewaySlot(config, logger7) {
1396
1453
  adapter: createGatewaySlotAdapter(preferredCli, slot.adapter),
1397
1454
  source: "api",
1398
1455
  name: preferredCli,
1399
- reason: `CLI '${preferredCli}' is not available; gateway ${slot.family} model '${modelId}' serves the slot (${slot.via})`
1456
+ reason: `CLI '${preferredCli}' is not available; gateway ${slot.family} model '${modelId}' serves the slot (${slot.via})`,
1457
+ modelVerified: true
1400
1458
  };
1401
1459
  }
1402
1460
  function resolveApiKeyFromEnv(configKey, envVar) {
@@ -1446,47 +1504,6 @@ function tryApiAdapter(config, logger7) {
1446
1504
  logger7.info("No API keys available for any provider");
1447
1505
  return null;
1448
1506
  }
1449
- function tryCustomOpenAiAdapter(logger7) {
1450
- const { baseUrl: customBaseUrl, apiKey: customKey } = readGatewayEnv(process.env, logger7);
1451
- if (customKey === void 0 || customBaseUrl === void 0) return null;
1452
- const choice = customModelChoice(logger7);
1453
- if (choice === null) return null;
1454
- const { modelId: customModelId, note } = choice;
1455
- const host = hostnameOf(customBaseUrl);
1456
- logger7.info("Using custom-openai SDK adapter", { model: customModelId, host });
1457
- return {
1458
- // The caller's logger reaches the adapter, so what it logs on a failed
1459
- // call is observable where the selection was made (#4392 inc 3 review).
1460
- adapter: new SdkAdapter(
1461
- {
1462
- providerId: "custom-openai",
1463
- modelId: customModelId,
1464
- apiKey: customKey,
1465
- baseUrl: customBaseUrl
1466
- },
1467
- logger7
1468
- ),
1469
- source: "api",
1470
- name: "custom-openai",
1471
- reason: `Using custom OpenAI-compatible gateway at ${host} (model: ${customModelId}${note})`
1472
- };
1473
- }
1474
- function customModelChoice(logger7) {
1475
- const d = resolveGatewayDefault(process.env, logger7);
1476
- if (d.kind === "inactive") {
1477
- const modelId = process.env["NEXUS_CUSTOM_MODEL"] ?? CUSTOM_API_DEFAULT_MODEL;
1478
- if (gatewayDiscoveryStatus() !== "failed") return { modelId, note: "" };
1479
- logger7.warn(
1480
- `Gateway discovery failed, so the custom-openai model '${modelId}' is sent unverified; set NEXUS_CUSTOM_MODEL to a model the gateway serves, or run \`nexus-agents doctor --gateway\``,
1481
- { model: modelId }
1482
- );
1483
- return { modelId, note: "; unverified: gateway discovery failed" };
1484
- }
1485
- if (d.kind === "resolved")
1486
- return { modelId: d.adapter.modelId, note: `; gateway default by ${d.via}` };
1487
- logger7.warn("Gateway catalogue has no chat model; the custom-openai default is unavailable");
1488
- return null;
1489
- }
1490
1507
  function resolveApiVendor(name) {
1491
1508
  switch (name) {
1492
1509
  case "anthropic":
@@ -5573,4 +5590,4 @@ export {
5573
5590
  SdkAdapter,
5574
5591
  createAutoAdapter
5575
5592
  };
5576
- //# sourceMappingURL=chunk-NVVDC4JB.js.map
5593
+ //# sourceMappingURL=chunk-CW5UVJGN.js.map