nexus-agents 8.131.4 → 8.131.6

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 (136) hide show
  1. package/dist/{ast-rule-runner-SMEE7RYS.js → ast-rule-runner-DCAXFGPG.js} +3 -3
  2. package/dist/{child-mcp-config-EGYYY7H5.js → child-mcp-config-46PI4CDD.js} +2 -2
  3. package/dist/{chunk-XUPZ5LUK.js → chunk-3446TBB7.js} +4 -4
  4. package/dist/{chunk-GAZRHKPI.js → chunk-3KQJUD4J.js} +3 -3
  5. package/dist/{chunk-24J3GS2G.js → chunk-4MUBZFRJ.js} +2 -2
  6. package/dist/{chunk-RT2RZ2N3.js → chunk-5FML33AZ.js} +3 -3
  7. package/dist/{chunk-4I3GJWP7.js → chunk-733FNXLT.js} +5 -5
  8. package/dist/{chunk-2H6SOV56.js → chunk-ABRG2C4Q.js} +4 -4
  9. package/dist/{chunk-TK7GELG7.js → chunk-BJUFLV25.js} +4 -4
  10. package/dist/{chunk-SWM3UQVB.js → chunk-CGGKU72Q.js} +2 -2
  11. package/dist/{chunk-OPIP264O.js → chunk-CL6PLSGC.js} +3 -3
  12. package/dist/{chunk-PWVXFZC6.js → chunk-CS2Z4U44.js} +4 -4
  13. package/dist/{chunk-VIBLSP2T.js → chunk-DFRCMAGB.js} +57 -44
  14. package/dist/{chunk-VIBLSP2T.js.map → chunk-DFRCMAGB.js.map} +1 -1
  15. package/dist/{chunk-IX4T2OZK.js → chunk-DJKUORAD.js} +3 -3
  16. package/dist/{chunk-4EDCJTGY.js → chunk-EZ5T4NKW.js} +2 -2
  17. package/dist/{chunk-Z6O7SWLZ.js → chunk-FPSMQBJD.js} +9 -9
  18. package/dist/{chunk-UC2QFHD3.js → chunk-FRZSCLHF.js} +7 -7
  19. package/dist/{chunk-UAGNX4MV.js → chunk-GC3UWE32.js} +2 -2
  20. package/dist/{chunk-JCKH5Q3G.js → chunk-HDANGHKN.js} +2 -2
  21. package/dist/{chunk-JPEDMS2W.js → chunk-ILDOTFTF.js} +2 -2
  22. package/dist/{chunk-ILXLX2QB.js → chunk-KT5ZLKZ3.js} +2 -2
  23. package/dist/{chunk-ZYKJCJGF.js → chunk-MONAUBHI.js} +11 -11
  24. package/dist/{chunk-AW7OAZP5.js → chunk-MRBD2WNF.js} +2 -2
  25. package/dist/{chunk-WG3R5JFJ.js → chunk-NANNGTSF.js} +5 -5
  26. package/dist/{chunk-CEPCDDL6.js → chunk-NJW2PXCF.js} +2 -2
  27. package/dist/{chunk-53SE2SML.js → chunk-NM5MOHXO.js} +5 -5
  28. package/dist/{chunk-XMI6V44P.js → chunk-PNVKGNAB.js} +3 -3
  29. package/dist/{chunk-JYCRKUFW.js → chunk-QMDAAVBN.js} +6 -6
  30. package/dist/{chunk-45LK6KOK.js → chunk-REFGTW22.js} +12 -12
  31. package/dist/{chunk-4566OBYW.js → chunk-TGJ4MLBI.js} +7 -6
  32. package/dist/chunk-TGJ4MLBI.js.map +1 -0
  33. package/dist/{chunk-3U5CO6JR.js → chunk-TQAZKT7M.js} +2 -2
  34. package/dist/{chunk-QWSLDY4R.js → chunk-U5SGPCPU.js} +95 -63
  35. package/dist/chunk-U5SGPCPU.js.map +1 -0
  36. package/dist/{chunk-RJJWQFTK.js → chunk-UQNPJK6J.js} +2 -2
  37. package/dist/{chunk-3YC4DKBY.js → chunk-VYGYBX3C.js} +2 -2
  38. package/dist/{chunk-EIKL76VP.js → chunk-WT6HQEWS.js} +2 -2
  39. package/dist/{chunk-FHOAHIYC.js → chunk-YBX6XYRL.js} +2 -2
  40. package/dist/{chunk-NSTKD4T6.js → chunk-ZA77RUTM.js} +2 -2
  41. package/dist/{cli-circuit-breaker-LLCVUTDD.js → cli-circuit-breaker-PTXRXBG6.js} +3 -3
  42. package/dist/cli.js +119 -57
  43. package/dist/cli.js.map +1 -1
  44. package/dist/{composite-router-H4SCUKNA.js → composite-router-4HQZMR2Z.js} +2 -2
  45. package/dist/{consensus-vote-WRQVPISJ.js → consensus-vote-36ELETID.js} +17 -17
  46. package/dist/{context-retriever-P4ALBDH6.js → context-retriever-OA2CWQ75.js} +8 -8
  47. package/dist/{doctor-deep-BNHOYTGK.js → doctor-deep-K5KXYVQ7.js} +3 -3
  48. package/dist/{doctor-gateway-report-EJHJKEE7.js → doctor-gateway-report-O7YPYHE7.js} +8 -8
  49. package/dist/{doctor-live-WABLQ7IF.js → doctor-live-MRRVM7HO.js} +11 -11
  50. package/dist/{expert-bridge-UBJJ7VA6.js → expert-bridge-PMQSUIQW.js} +4 -4
  51. package/dist/{factory-AZOYPTG3.js → factory-776CIKXP.js} +5 -5
  52. package/dist/{factory-2P7VOA4W.js → factory-ZKLNQNR3.js} +10 -10
  53. package/dist/{improvement-review-VUCSKH24.js → improvement-review-V6YSSFDO.js} +6 -6
  54. package/dist/index.d.ts +3 -7
  55. package/dist/index.js +32 -32
  56. package/dist/{init-opencode-UVQVMCHG.js → init-opencode-LPWAYYR4.js} +6 -6
  57. package/dist/{issue-triage-HBM6RK3H.js → issue-triage-B3BRDZT6.js} +6 -6
  58. package/dist/{openai-compat-adapter-DOOGDW43.js → openai-compat-adapter-U54LJ7TJ.js} +6 -6
  59. package/dist/{outcome-store-adapter-UJPQYAUW.js → outcome-store-adapter-3EWXP7PY.js} +2 -2
  60. package/dist/{pr-reviewer-helpers-2YO45CBX.js → pr-reviewer-helpers-57TM7TCL.js} +4 -4
  61. package/dist/{registry-command-VGINIZAE.js → registry-command-4FIKBK5L.js} +2 -2
  62. package/dist/{repo-security-plan-EVDIUHDI.js → repo-security-plan-VGSGRZFE.js} +3 -3
  63. package/dist/{research-helpers-synthesize-BMVACM2N.js → research-helpers-synthesize-APUBTQMC.js} +4 -4
  64. package/dist/{routing-memory-E5WQ2YDY.js → routing-memory-EAI3JQ4W.js} +2 -2
  65. package/dist/{session-memory-RRFETFXN.js → session-memory-HTPPZPBQ.js} +3 -3
  66. package/dist/{setup-config-46VZEAJM.js → setup-config-4IL6HB2E.js} +3 -3
  67. package/dist/{setup-custom-api-YMDQK6YW.js → setup-custom-api-VCQ6SC2E.js} +4 -4
  68. package/dist/setup-data-dir-S4Q3RKX2.js +33 -0
  69. package/dist/{tool-memory-HXZQYP4L.js → tool-memory-ZEUMMKUC.js} +5 -5
  70. package/dist/{unified-registry-SAUDS2DQ.js → unified-registry-ATH2UJ2Y.js} +11 -11
  71. package/dist/{weather-report-C2M3EEXG.js → weather-report-VK5UMXSF.js} +2 -2
  72. package/package.json +1 -1
  73. package/dist/chunk-4566OBYW.js.map +0 -1
  74. package/dist/chunk-QWSLDY4R.js.map +0 -1
  75. package/dist/setup-data-dir-MDGUHYYP.js +0 -33
  76. /package/dist/{ast-rule-runner-SMEE7RYS.js.map → ast-rule-runner-DCAXFGPG.js.map} +0 -0
  77. /package/dist/{child-mcp-config-EGYYY7H5.js.map → child-mcp-config-46PI4CDD.js.map} +0 -0
  78. /package/dist/{chunk-XUPZ5LUK.js.map → chunk-3446TBB7.js.map} +0 -0
  79. /package/dist/{chunk-GAZRHKPI.js.map → chunk-3KQJUD4J.js.map} +0 -0
  80. /package/dist/{chunk-24J3GS2G.js.map → chunk-4MUBZFRJ.js.map} +0 -0
  81. /package/dist/{chunk-RT2RZ2N3.js.map → chunk-5FML33AZ.js.map} +0 -0
  82. /package/dist/{chunk-4I3GJWP7.js.map → chunk-733FNXLT.js.map} +0 -0
  83. /package/dist/{chunk-2H6SOV56.js.map → chunk-ABRG2C4Q.js.map} +0 -0
  84. /package/dist/{chunk-TK7GELG7.js.map → chunk-BJUFLV25.js.map} +0 -0
  85. /package/dist/{chunk-SWM3UQVB.js.map → chunk-CGGKU72Q.js.map} +0 -0
  86. /package/dist/{chunk-OPIP264O.js.map → chunk-CL6PLSGC.js.map} +0 -0
  87. /package/dist/{chunk-PWVXFZC6.js.map → chunk-CS2Z4U44.js.map} +0 -0
  88. /package/dist/{chunk-IX4T2OZK.js.map → chunk-DJKUORAD.js.map} +0 -0
  89. /package/dist/{chunk-4EDCJTGY.js.map → chunk-EZ5T4NKW.js.map} +0 -0
  90. /package/dist/{chunk-Z6O7SWLZ.js.map → chunk-FPSMQBJD.js.map} +0 -0
  91. /package/dist/{chunk-UC2QFHD3.js.map → chunk-FRZSCLHF.js.map} +0 -0
  92. /package/dist/{chunk-UAGNX4MV.js.map → chunk-GC3UWE32.js.map} +0 -0
  93. /package/dist/{chunk-JCKH5Q3G.js.map → chunk-HDANGHKN.js.map} +0 -0
  94. /package/dist/{chunk-JPEDMS2W.js.map → chunk-ILDOTFTF.js.map} +0 -0
  95. /package/dist/{chunk-ILXLX2QB.js.map → chunk-KT5ZLKZ3.js.map} +0 -0
  96. /package/dist/{chunk-ZYKJCJGF.js.map → chunk-MONAUBHI.js.map} +0 -0
  97. /package/dist/{chunk-AW7OAZP5.js.map → chunk-MRBD2WNF.js.map} +0 -0
  98. /package/dist/{chunk-WG3R5JFJ.js.map → chunk-NANNGTSF.js.map} +0 -0
  99. /package/dist/{chunk-CEPCDDL6.js.map → chunk-NJW2PXCF.js.map} +0 -0
  100. /package/dist/{chunk-53SE2SML.js.map → chunk-NM5MOHXO.js.map} +0 -0
  101. /package/dist/{chunk-XMI6V44P.js.map → chunk-PNVKGNAB.js.map} +0 -0
  102. /package/dist/{chunk-JYCRKUFW.js.map → chunk-QMDAAVBN.js.map} +0 -0
  103. /package/dist/{chunk-45LK6KOK.js.map → chunk-REFGTW22.js.map} +0 -0
  104. /package/dist/{chunk-3U5CO6JR.js.map → chunk-TQAZKT7M.js.map} +0 -0
  105. /package/dist/{chunk-RJJWQFTK.js.map → chunk-UQNPJK6J.js.map} +0 -0
  106. /package/dist/{chunk-3YC4DKBY.js.map → chunk-VYGYBX3C.js.map} +0 -0
  107. /package/dist/{chunk-EIKL76VP.js.map → chunk-WT6HQEWS.js.map} +0 -0
  108. /package/dist/{chunk-FHOAHIYC.js.map → chunk-YBX6XYRL.js.map} +0 -0
  109. /package/dist/{chunk-NSTKD4T6.js.map → chunk-ZA77RUTM.js.map} +0 -0
  110. /package/dist/{cli-circuit-breaker-LLCVUTDD.js.map → cli-circuit-breaker-PTXRXBG6.js.map} +0 -0
  111. /package/dist/{composite-router-H4SCUKNA.js.map → composite-router-4HQZMR2Z.js.map} +0 -0
  112. /package/dist/{consensus-vote-WRQVPISJ.js.map → consensus-vote-36ELETID.js.map} +0 -0
  113. /package/dist/{context-retriever-P4ALBDH6.js.map → context-retriever-OA2CWQ75.js.map} +0 -0
  114. /package/dist/{doctor-deep-BNHOYTGK.js.map → doctor-deep-K5KXYVQ7.js.map} +0 -0
  115. /package/dist/{doctor-gateway-report-EJHJKEE7.js.map → doctor-gateway-report-O7YPYHE7.js.map} +0 -0
  116. /package/dist/{doctor-live-WABLQ7IF.js.map → doctor-live-MRRVM7HO.js.map} +0 -0
  117. /package/dist/{expert-bridge-UBJJ7VA6.js.map → expert-bridge-PMQSUIQW.js.map} +0 -0
  118. /package/dist/{factory-2P7VOA4W.js.map → factory-776CIKXP.js.map} +0 -0
  119. /package/dist/{factory-AZOYPTG3.js.map → factory-ZKLNQNR3.js.map} +0 -0
  120. /package/dist/{improvement-review-VUCSKH24.js.map → improvement-review-V6YSSFDO.js.map} +0 -0
  121. /package/dist/{init-opencode-UVQVMCHG.js.map → init-opencode-LPWAYYR4.js.map} +0 -0
  122. /package/dist/{issue-triage-HBM6RK3H.js.map → issue-triage-B3BRDZT6.js.map} +0 -0
  123. /package/dist/{openai-compat-adapter-DOOGDW43.js.map → openai-compat-adapter-U54LJ7TJ.js.map} +0 -0
  124. /package/dist/{outcome-store-adapter-UJPQYAUW.js.map → outcome-store-adapter-3EWXP7PY.js.map} +0 -0
  125. /package/dist/{pr-reviewer-helpers-2YO45CBX.js.map → pr-reviewer-helpers-57TM7TCL.js.map} +0 -0
  126. /package/dist/{registry-command-VGINIZAE.js.map → registry-command-4FIKBK5L.js.map} +0 -0
  127. /package/dist/{repo-security-plan-EVDIUHDI.js.map → repo-security-plan-VGSGRZFE.js.map} +0 -0
  128. /package/dist/{research-helpers-synthesize-BMVACM2N.js.map → research-helpers-synthesize-APUBTQMC.js.map} +0 -0
  129. /package/dist/{routing-memory-E5WQ2YDY.js.map → routing-memory-EAI3JQ4W.js.map} +0 -0
  130. /package/dist/{session-memory-RRFETFXN.js.map → session-memory-HTPPZPBQ.js.map} +0 -0
  131. /package/dist/{setup-config-46VZEAJM.js.map → setup-config-4IL6HB2E.js.map} +0 -0
  132. /package/dist/{setup-custom-api-YMDQK6YW.js.map → setup-custom-api-VCQ6SC2E.js.map} +0 -0
  133. /package/dist/{setup-data-dir-MDGUHYYP.js.map → setup-data-dir-S4Q3RKX2.js.map} +0 -0
  134. /package/dist/{tool-memory-HXZQYP4L.js.map → tool-memory-ZEUMMKUC.js.map} +0 -0
  135. /package/dist/{unified-registry-SAUDS2DQ.js.map → unified-registry-ATH2UJ2Y.js.map} +0 -0
  136. /package/dist/{weather-report-C2M3EEXG.js.map → weather-report-VK5UMXSF.js.map} +0 -0
@@ -7,7 +7,7 @@ import {
7
7
  CACHE_TIMEOUTS,
8
8
  createLogger,
9
9
  getTimeProvider
10
- } from "./chunk-QWSLDY4R.js";
10
+ } from "./chunk-U5SGPCPU.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-RJJWQFTK.js.map
512
+ //# sourceMappingURL=chunk-UQNPJK6J.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getErrorMessage
3
- } from "./chunk-QWSLDY4R.js";
3
+ } from "./chunk-U5SGPCPU.js";
4
4
 
5
5
  // src/cli/setup-config.ts
6
6
  import { copyFileSync, existsSync, mkdirSync, writeFileSync } from "node:fs";
@@ -77,4 +77,4 @@ function ensureBackup(outputPath) {
77
77
  export {
78
78
  runConfigInitSync
79
79
  };
80
- //# sourceMappingURL=chunk-3YC4DKBY.js.map
80
+ //# sourceMappingURL=chunk-VYGYBX3C.js.map
@@ -2,7 +2,7 @@ import {
2
2
  createLogger,
3
3
  err,
4
4
  ok
5
- } from "./chunk-QWSLDY4R.js";
5
+ } from "./chunk-U5SGPCPU.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-EIKL76VP.js.map
90
+ //# sourceMappingURL=chunk-WT6HQEWS.js.map
@@ -16,7 +16,7 @@ import {
16
16
  ok,
17
17
  recordUsageEvent,
18
18
  resolveRetryAfterMs
19
- } from "./chunk-QWSLDY4R.js";
19
+ } from "./chunk-U5SGPCPU.js";
20
20
 
21
21
  // src/adapters/base-adapter.ts
22
22
  var AdapterModelError = class extends ModelError {
@@ -1113,4 +1113,4 @@ export {
1113
1113
  gatewayAiSdkOptions,
1114
1114
  withGatewayUsageRecording
1115
1115
  };
1116
- //# sourceMappingURL=chunk-FHOAHIYC.js.map
1116
+ //# sourceMappingURL=chunk-YBX6XYRL.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  redactCredentialShapes
3
- } from "./chunk-QWSLDY4R.js";
3
+ } from "./chunk-U5SGPCPU.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-NSTKD4T6.js.map
57
+ //# sourceMappingURL=chunk-ZA77RUTM.js.map
@@ -3,8 +3,8 @@ import {
3
3
  createCliCircuitBreakerIntegration,
4
4
  getCliCircuitBreakerSnapshot,
5
5
  getDefaultCliCircuitBreakerRegistry
6
- } from "./chunk-24J3GS2G.js";
7
- import "./chunk-QWSLDY4R.js";
6
+ } from "./chunk-4MUBZFRJ.js";
7
+ import "./chunk-U5SGPCPU.js";
8
8
  import "./chunk-XBEKMUTO.js";
9
9
  import "./chunk-UE7A2XHM.js";
10
10
  import "./chunk-LWOX65CP.js";
@@ -15,4 +15,4 @@ export {
15
15
  getCliCircuitBreakerSnapshot,
16
16
  getDefaultCliCircuitBreakerRegistry
17
17
  };
18
- //# sourceMappingURL=cli-circuit-breaker-LLCVUTDD.js.map
18
+ //# sourceMappingURL=cli-circuit-breaker-PTXRXBG6.js.map
package/dist/cli.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import "./chunk-AW7OAZP5.js";
2
+ import "./chunk-MRBD2WNF.js";
3
3
  import {
4
4
  detectCliBinary,
5
5
  detectionRecoveryHint,
@@ -26,10 +26,10 @@ import {
26
26
  parseExpertReview,
27
27
  reviewPostingBlock,
28
28
  sumFindings
29
- } from "./chunk-RT2RZ2N3.js";
29
+ } from "./chunk-5FML33AZ.js";
30
30
  import {
31
31
  runConfigInitSync
32
- } from "./chunk-3YC4DKBY.js";
32
+ } from "./chunk-VYGYBX3C.js";
33
33
  import {
34
34
  AuthHandler,
35
35
  CustomExpertDefinitionSchema,
@@ -165,7 +165,7 @@ import {
165
165
  validateWorkflow,
166
166
  withPanelWorkspace,
167
167
  wrapInMarkdownFence
168
- } from "./chunk-VIBLSP2T.js";
168
+ } from "./chunk-DFRCMAGB.js";
169
169
  import {
170
170
  DRAFT_REPLY_BODY_MAX_LENGTH,
171
171
  configureUntrustedInputFirewall,
@@ -176,7 +176,7 @@ import {
176
176
  runUntrustedInputFirewall,
177
177
  validateActionCorroboration,
178
178
  validateAgentAction
179
- } from "./chunk-WG3R5JFJ.js";
179
+ } from "./chunk-NANNGTSF.js";
180
180
  import {
181
181
  CapabilityLedger,
182
182
  ImprovementReviewInputSchema,
@@ -195,17 +195,17 @@ import {
195
195
  renderPlanAsResearch,
196
196
  runImprovementReview,
197
197
  scanForSecrets
198
- } from "./chunk-OPIP264O.js";
199
- import "./chunk-3U5CO6JR.js";
198
+ } from "./chunk-CL6PLSGC.js";
199
+ import "./chunk-TQAZKT7M.js";
200
200
  import "./chunk-4GDMHCKX.js";
201
201
  import "./chunk-3UWT434E.js";
202
- import "./chunk-CEPCDDL6.js";
203
- import "./chunk-JCKH5Q3G.js";
202
+ import "./chunk-NJW2PXCF.js";
203
+ import "./chunk-HDANGHKN.js";
204
204
  import "./chunk-WDAND5YU.js";
205
205
  import {
206
206
  ReputationCache,
207
207
  sanitizeInput
208
- } from "./chunk-RJJWQFTK.js";
208
+ } from "./chunk-UQNPJK6J.js";
209
209
  import {
210
210
  BUILT_IN_EXPERTS
211
211
  } from "./chunk-AHI43IQB.js";
@@ -223,12 +223,12 @@ import {
223
223
  initDataDirectories,
224
224
  printDoctorSummary,
225
225
  runDoctor
226
- } from "./chunk-45LK6KOK.js";
227
- import "./chunk-2H6SOV56.js";
228
- import "./chunk-JYCRKUFW.js";
226
+ } from "./chunk-REFGTW22.js";
227
+ import "./chunk-ABRG2C4Q.js";
228
+ import "./chunk-QMDAAVBN.js";
229
229
  import {
230
230
  shutdownExpertBridge
231
- } from "./chunk-UC2QFHD3.js";
231
+ } from "./chunk-FRZSCLHF.js";
232
232
  import {
233
233
  ConsensusVoteInputSchema,
234
234
  DEFAULT_VOTE_TIMEOUT_MS,
@@ -246,26 +246,26 @@ import {
246
246
  registerConsensusVoteTool,
247
247
  seatFallbacks,
248
248
  toRecordDecision
249
- } from "./chunk-ZYKJCJGF.js";
249
+ } from "./chunk-MONAUBHI.js";
250
250
  import {
251
251
  getGlobalExecutionMode,
252
252
  setGlobalExecutionMode,
253
253
  setGlobalPolicyFirewall,
254
254
  setSecureHandlerAuditLogger,
255
255
  stagePolicyFirewallForRollout
256
- } from "./chunk-XUPZ5LUK.js";
256
+ } from "./chunk-3446TBB7.js";
257
257
  import {
258
258
  NODE_ENGINE_RANGE,
259
259
  VERSION,
260
260
  isNodeVersionSupported
261
- } from "./chunk-XMI6V44P.js";
261
+ } from "./chunk-PNVKGNAB.js";
262
262
  import {
263
263
  allOf,
264
264
  anyOf
265
265
  } from "./chunk-EZNIYU5T.js";
266
266
  import {
267
267
  synthesizeResearch
268
- } from "./chunk-GAZRHKPI.js";
268
+ } from "./chunk-3KQJUD4J.js";
269
269
  import {
270
270
  GatewayHostRefusedError,
271
271
  buildOpenAICompatAdapters,
@@ -273,12 +273,12 @@ import {
273
273
  discoverModels,
274
274
  readOpenAICompatEndpoint,
275
275
  readOpenAICompatEnv
276
- } from "./chunk-4I3GJWP7.js";
276
+ } from "./chunk-733FNXLT.js";
277
277
  import {
278
278
  claimGlobalRegistry,
279
279
  createUnifiedRegistry,
280
280
  getGlobalRegistry
281
- } from "./chunk-53SE2SML.js";
281
+ } from "./chunk-NM5MOHXO.js";
282
282
  import {
283
283
  CodebaseIndexSchema,
284
284
  PaperStatusSchema,
@@ -305,25 +305,25 @@ import {
305
305
  loadSourcesRegistry,
306
306
  rankDiscoveredItems,
307
307
  saveSourcesRegistry
308
- } from "./chunk-4566OBYW.js";
308
+ } from "./chunk-TGJ4MLBI.js";
309
309
  import {
310
310
  getTsMorph
311
311
  } from "./chunk-W654ME6B.js";
312
312
  import {
313
313
  resolveToken
314
- } from "./chunk-EIKL76VP.js";
314
+ } from "./chunk-WT6HQEWS.js";
315
315
  import {
316
316
  loadPapersRegistry,
317
317
  loadTechniquesRegistry,
318
318
  savePapersRegistry
319
- } from "./chunk-ILXLX2QB.js";
319
+ } from "./chunk-KT5ZLKZ3.js";
320
320
  import {
321
321
  MemoryError,
322
322
  configureToolMemory,
323
323
  shutdownToolMemory
324
- } from "./chunk-PWVXFZC6.js";
324
+ } from "./chunk-CS2Z4U44.js";
325
325
  import "./chunk-ZO6ZKR7L.js";
326
- import "./chunk-4EDCJTGY.js";
326
+ import "./chunk-EZ5T4NKW.js";
327
327
  import "./chunk-CJKHQ6MV.js";
328
328
  import "./chunk-RIYFVDYN.js";
329
329
  import "./chunk-RARMDUSM.js";
@@ -337,10 +337,10 @@ import {
337
337
  probeAllClis,
338
338
  readSubprocessDepth,
339
339
  signalTrackedProcessTreesAsync
340
- } from "./chunk-Z6O7SWLZ.js";
340
+ } from "./chunk-FPSMQBJD.js";
341
341
  import {
342
342
  DEFAULTS
343
- } from "./chunk-SWM3UQVB.js";
343
+ } from "./chunk-CGGKU72Q.js";
344
344
  import "./chunk-ECJ52NSK.js";
345
345
  import {
346
346
  nexusMkdtempSync
@@ -350,19 +350,19 @@ import {
350
350
  discoverGatewayOnce,
351
351
  ensureGatewayDiscovered,
352
352
  setGatewayRediscovery
353
- } from "./chunk-IX4T2OZK.js";
354
- import "./chunk-FHOAHIYC.js";
353
+ } from "./chunk-DJKUORAD.js";
354
+ import "./chunk-YBX6XYRL.js";
355
355
  import {
356
356
  hostnameOf,
357
357
  warnDeprecatedGatewayEnvOnce
358
- } from "./chunk-JPEDMS2W.js";
359
- import "./chunk-NSTKD4T6.js";
358
+ } from "./chunk-ILDOTFTF.js";
359
+ import "./chunk-ZA77RUTM.js";
360
360
  import "./chunk-QZUG667L.js";
361
- import "./chunk-UAGNX4MV.js";
361
+ import "./chunk-GC3UWE32.js";
362
362
  import {
363
363
  getDefaultCliCircuitBreakerRegistry,
364
364
  mapModelErrorToCategory
365
- } from "./chunk-24J3GS2G.js";
365
+ } from "./chunk-4MUBZFRJ.js";
366
366
  import {
367
367
  API_TIMEOUTS,
368
368
  AgentCapability,
@@ -478,9 +478,10 @@ import {
478
478
  toRateLimitError,
479
479
  truncateText,
480
480
  validateTimeout,
481
+ warmStartBandit,
481
482
  writeEmptyLine,
482
483
  writeLine
483
- } from "./chunk-QWSLDY4R.js";
484
+ } from "./chunk-U5SGPCPU.js";
484
485
  import "./chunk-XBEKMUTO.js";
485
486
  import "./chunk-UE7A2XHM.js";
486
487
  import {
@@ -4647,7 +4648,7 @@ Provide a structured review with:
4647
4648
  * (Source: Issue #828 — Wire policy gate into production pipeline)
4648
4649
  */
4649
4650
  async postReviewToGitHub(provider, pr, result, context) {
4650
- const { formatReviewComment: formatReviewComment2 } = await import("./pr-reviewer-helpers-2YO45CBX.js");
4651
+ const { formatReviewComment: formatReviewComment2 } = await import("./pr-reviewer-helpers-57TM7TCL.js");
4651
4652
  const formattedBody = formatReviewComment2(result);
4652
4653
  const body = truncateText(formattedBody, DRAFT_REPLY_BODY_MAX_LENGTH, "\u2026[review truncated]");
4653
4654
  const sources = buildReviewCitations(pr.files);
@@ -5475,6 +5476,7 @@ function auditRouting(options) {
5475
5476
  const eligibleClis = budgetResults.filter((r) => r.withinBudget).map((r) => r.cliName);
5476
5477
  const topsisResult = runTopsisRanking(taskProfile);
5477
5478
  const bandit = new LinUCBBandit(eligibleClis);
5479
+ const banditReconstruction = warmStartBandit(bandit, logger8, { persist: false });
5478
5480
  const context = taskProfileToBanditContext(taskProfile);
5479
5481
  const linucbDetails = computeLinUCBDetails(bandit, context);
5480
5482
  const selection = bandit.select(context);
@@ -5492,6 +5494,7 @@ function auditRouting(options) {
5492
5494
  budgetResults,
5493
5495
  topsisResult,
5494
5496
  linucbDetails,
5497
+ banditReconstruction,
5495
5498
  selectedCli,
5496
5499
  selectionReason,
5497
5500
  isExploration
@@ -5499,6 +5502,33 @@ function auditRouting(options) {
5499
5502
  return includeBanditStats === true ? { ...baseResult, banditStats: computeBanditStats(bandit) } : baseResult;
5500
5503
  }
5501
5504
 
5505
+ // src/cli/bandit-reconstruction-format.ts
5506
+ function formatBanditReconstruction(reconstruction) {
5507
+ const lines = [
5508
+ reconstruction.status === "failed" ? "reconstruction failed at" : "reconstructed from the outcome store at",
5509
+ reconstruction.reconstructedAt,
5510
+ `(${String(reconstruction.outcomesReplayed)} outcomes replayed, window ${String(reconstruction.lookbackDays)}d; ${String(reconstruction.empiricalOutcomesReplayed)} empirical)`,
5511
+ "\u2014 not the live router's in-memory state; see #7057",
5512
+ reconstruction.status === "failed" ? "Specialization priors unavailable or partial." : "Specialization priors included (synthetic)."
5513
+ ];
5514
+ if (reconstruction.empiricalOutcomesReplayed === 0) {
5515
+ lines.push("no empirical outcomes replayed in the recent window");
5516
+ } else {
5517
+ lines.push(
5518
+ `${String(reconstruction.empiricalOutcomesReplayed)} empirical outcomes replayed in the recent window`
5519
+ );
5520
+ }
5521
+ if (reconstruction.fallbackUsed) {
5522
+ lines.push(
5523
+ `Legacy all-time fallback replay: ${String(reconstruction.fallbackOutcomesReplayed)} outcomes`,
5524
+ "(may include generated synthetic outcomes)"
5525
+ );
5526
+ }
5527
+ if (reconstruction.status === "failed")
5528
+ lines.push("Partial state only; reconstruction is unmeasured.");
5529
+ return lines;
5530
+ }
5531
+
5502
5532
  // src/cli/ansi-width.ts
5503
5533
  var ANSI_SGR = /\u001b\[[0-9;]*m/g;
5504
5534
  function visibleWidth(s) {
@@ -5593,7 +5623,8 @@ function formatTopsisRanking(result) {
5593
5623
  function formatLinUCBSelection(result) {
5594
5624
  const lines = [];
5595
5625
  lines.push(boxLine(color(" LinUCB Selection:", ANSI.bold)));
5596
- lines.push(boxLine(color(" [cold bandit \u2014 not the router's live state]", ANSI.dim)));
5626
+ const provenance = result.banditReconstruction === void 0 ? ["Bandit reconstruction provenance unavailable"] : formatBanditReconstruction(result.banditReconstruction);
5627
+ for (const line of provenance) lines.push(boxLine(color(` ${line}`, ANSI.dim)));
5597
5628
  for (const arm of result.linucbDetails) {
5598
5629
  const marker = arm.cliName === result.selectedCli ? arm.isExploration ? color("\u2190 explore", ANSI.yellow) : color("\u2190 exploit", ANSI.green) : "";
5599
5630
  const ucb = arm.ucbScore.toFixed(2);
@@ -5692,7 +5723,8 @@ function formatAsciiOutput(result, options) {
5692
5723
  return lines.join("\n");
5693
5724
  }
5694
5725
  function formatJsonOutput(result) {
5695
- return JSON.stringify(result, null, 2);
5726
+ const banditStateDescription = result.banditReconstruction === void 0 ? "Bandit reconstruction provenance unavailable" : formatBanditReconstruction(result.banditReconstruction).join(" ");
5727
+ return JSON.stringify({ ...result, banditStateDescription }, null, 2);
5696
5728
  }
5697
5729
 
5698
5730
  // src/cli/routing-audit.ts
@@ -12367,7 +12399,7 @@ function probeGrammars(register, parse6, probes = GRAMMAR_PROBES) {
12367
12399
  }
12368
12400
  async function loadGrammarModules() {
12369
12401
  const [{ ensurePolyglotLangs }, napi] = await Promise.all([
12370
- import("./ast-rule-runner-SMEE7RYS.js"),
12402
+ import("./ast-rule-runner-DCAXFGPG.js"),
12371
12403
  import("@ast-grep/napi")
12372
12404
  ]);
12373
12405
  return { register: ensurePolyglotLangs, parse: napi.parse };
@@ -13081,7 +13113,7 @@ function formatSummary2(result) {
13081
13113
  const lines = [];
13082
13114
  lines.push(boxLine(color(" Summary:", ANSI3.bold)));
13083
13115
  const statusEmoji = result.summary.learningStatus === "unmeasured" ? color("?", ANSI3.dim) : result.summary.learningStatus === "exploring" ? color("\u26A1", ANSI3.yellow) : result.summary.learningStatus === "exploiting" ? color("\u2713", ANSI3.green) : color("\u25CE", ANSI3.blue);
13084
- const statusText = result.summary.learningStatus === "unmeasured" ? "unmeasured (no routing decisions recorded)" : result.summary.learningStatus;
13116
+ const statusText = result.summary.learningStatus === "unmeasured" ? result.banditReconstruction === void 0 ? "unmeasured (no routing decisions recorded)" : result.banditReconstruction.status === "failed" ? "unmeasured (reconstruction failed)" : "unmeasured (no empirical replay)" : result.summary.learningStatus;
13085
13117
  lines.push(boxLine(` ${statusEmoji} Learning Status: ${statusText}`));
13086
13118
  const routings = result.summary.totalRoutings.toLocaleString();
13087
13119
  lines.push(boxLine(` Total Routings: ${routings}`));
@@ -13112,13 +13144,13 @@ function formatModelStats(models) {
13112
13144
  lines.push(color("\u251C" + horizontalLine() + "\u2524", ANSI3.cyan));
13113
13145
  return lines;
13114
13146
  }
13115
- function formatBanditProgress(bandit) {
13147
+ function formatBanditProgress(bandit, unmeasured3) {
13116
13148
  const lines = [];
13117
13149
  lines.push(boxLine(color(" LinUCB Bandit Progress:", ANSI3.bold)));
13118
13150
  const pulls = bandit.totalPulls.toLocaleString();
13119
13151
  lines.push(boxLine(` Total Pulls: ${pulls}`));
13120
13152
  const expRatio = formatPercentage(bandit.explorationRatio, 1);
13121
- const expStatus = bandit.explorationRatio >= 0.1 && bandit.explorationRatio <= 0.3 ? color("(healthy)", ANSI3.green) : color("(adjust)", ANSI3.yellow);
13153
+ const expStatus = unmeasured3 ? color("(unmeasured)", ANSI3.dim) : bandit.explorationRatio >= 0.1 && bandit.explorationRatio <= 0.3 ? color("(healthy)", ANSI3.green) : color("(adjust)", ANSI3.yellow);
13122
13154
  lines.push(boxLine(` Exploration Ratio: ${expRatio} ${expStatus}`));
13123
13155
  if (bandit.armDistribution.length > 0) {
13124
13156
  lines.push(boxLine(" Arm Distribution:"));
@@ -13189,12 +13221,15 @@ function formatFeedbackLoop(feedback) {
13189
13221
  }
13190
13222
  function formatAsciiOutput2(result, options) {
13191
13223
  const lines = [
13224
+ ...result.banditReconstruction === void 0 ? [] : formatBanditReconstruction(result.banditReconstruction),
13192
13225
  ...formatHeader3(result),
13193
13226
  ...formatSummary2(result),
13194
13227
  ...formatModelStats(result.models)
13195
13228
  ];
13196
13229
  if (options.banditStats) {
13197
- lines.push(...formatBanditProgress(result.banditProgress));
13230
+ lines.push(
13231
+ ...formatBanditProgress(result.banditProgress, result.summary.learningStatus === "unmeasured")
13232
+ );
13198
13233
  lines.push(...formatFeatureImportance(result.banditProgress.topFeatures));
13199
13234
  }
13200
13235
  if (options.showTrends) {
@@ -13204,19 +13239,25 @@ function formatAsciiOutput2(result, options) {
13204
13239
  return lines.join("\n");
13205
13240
  }
13206
13241
  function formatJsonOutput2(result) {
13207
- return JSON.stringify(result, null, 2);
13242
+ return JSON.stringify(
13243
+ {
13244
+ ...result,
13245
+ ...result.banditReconstruction === void 0 ? {} : {
13246
+ banditStateDescription: formatBanditReconstruction(result.banditReconstruction).join(
13247
+ " "
13248
+ )
13249
+ }
13250
+ },
13251
+ null,
13252
+ 2
13253
+ );
13208
13254
  }
13209
13255
 
13210
13256
  // src/cli/learning-metrics-command.ts
13211
13257
  var logger16 = createLogger({ component: "learning-metrics" });
13212
13258
  function learningMetricsCommand(options, context) {
13213
13259
  try {
13214
- const result = gatherLearningMetrics(
13215
- context?.bandit,
13216
- context?.metricsCollector,
13217
- context?.feedbackIntegration,
13218
- options
13219
- );
13260
+ const result = gatherContextMetrics(context, options);
13220
13261
  const output2 = options.format === "json" ? formatJsonOutput2(result) : formatAsciiOutput2(result, options);
13221
13262
  if (options.exportPath !== void 0) {
13222
13263
  writeFileSync5(options.exportPath, output2, "utf8");
@@ -13234,6 +13275,27 @@ function learningMetricsCommand(options, context) {
13234
13275
  return 1;
13235
13276
  }
13236
13277
  }
13278
+ function gatherContextMetrics(context, options) {
13279
+ const bandit = context?.bandit ?? new LinUCBBandit(DEFAULT_MODEL_PROFILES.map((p) => p.cliName));
13280
+ const reconstruction = context?.bandit === void 0 ? warmStartBandit(bandit, logger16, { persist: false }) : void 0;
13281
+ const result = gatherLearningMetrics(
13282
+ bandit,
13283
+ context?.metricsCollector,
13284
+ context?.feedbackIntegration,
13285
+ options
13286
+ );
13287
+ if (reconstruction === void 0) return result;
13288
+ const summary = { ...result.summary, learningStatus: "unmeasured" };
13289
+ if (reconstruction.status === "failed" || reconstruction.empiricalOutcomesReplayed === 0) {
13290
+ return {
13291
+ ...result,
13292
+ banditReconstruction: reconstruction,
13293
+ summary,
13294
+ banditProgress: { ...result.banditProgress, topFeatures: [], interceptFeatures: [] }
13295
+ };
13296
+ }
13297
+ return { ...result, banditReconstruction: reconstruction, summary };
13298
+ }
13237
13299
 
13238
13300
  // src/cli/setup-command.ts
13239
13301
  import { existsSync as existsSync13 } from "node:fs";
@@ -20024,7 +20086,7 @@ function startImprovementReviewScheduler(options) {
20024
20086
  let running = false;
20025
20087
  const runOnce = async () => {
20026
20088
  try {
20027
- const { runImprovementReview: runImprovementReview2, ImprovementReviewInputSchema: ImprovementReviewInputSchema2 } = await import("./improvement-review-VUCSKH24.js");
20089
+ const { runImprovementReview: runImprovementReview2, ImprovementReviewInputSchema: ImprovementReviewInputSchema2 } = await import("./improvement-review-V6YSSFDO.js");
20028
20090
  const input = ImprovementReviewInputSchema2.parse({ fileIssues });
20029
20091
  const result = await runImprovementReview2(input, { logger: logger23 });
20030
20092
  logger23.info("Scheduled improvement_review complete", {
@@ -22380,7 +22442,7 @@ function adaptConfigToLibrary(config) {
22380
22442
  }
22381
22443
  function createBeliefPromoter() {
22382
22444
  return async (event) => {
22383
- const { getToolMemory } = await import("./tool-memory-HXZQYP4L.js");
22445
+ const { getToolMemory } = await import("./tool-memory-ZEUMMKUC.js");
22384
22446
  const tm = getToolMemory();
22385
22447
  await tm.recordBelief(
22386
22448
  `skill:${event.name}`,
@@ -23506,7 +23568,7 @@ async function handleResearchCommand(args) {
23506
23568
  }
23507
23569
  }
23508
23570
  async function handleRegistryCommand(args) {
23509
- const { registryCommand, isValidRegistrySubcommand, formatRegistryUsage } = await import("./registry-command-VGINIZAE.js");
23571
+ const { registryCommand, isValidRegistrySubcommand, formatRegistryUsage } = await import("./registry-command-4FIKBK5L.js");
23510
23572
  const subcommand = args.subcommand;
23511
23573
  if (!isValidRegistrySubcommand(subcommand)) {
23512
23574
  process.stdout.write(`${formatRegistryUsage()}
@@ -23574,12 +23636,12 @@ async function handleDoctorCommand(args) {
23574
23636
  }
23575
23637
  });
23576
23638
  if (args.options.deep) {
23577
- const { runDeepDiagnostics: runDeepDiagnostics2, formatDeepDiagnostics: formatDeepDiagnostics2 } = await import("./doctor-deep-BNHOYTGK.js");
23639
+ const { runDeepDiagnostics: runDeepDiagnostics2, formatDeepDiagnostics: formatDeepDiagnostics2 } = await import("./doctor-deep-K5KXYVQ7.js");
23578
23640
  const diag = runDeepDiagnostics2();
23579
23641
  process.stdout.write(formatDeepDiagnostics2(diag) + "\n");
23580
23642
  }
23581
23643
  if (args.options.live) {
23582
- const { runLiveReadiness, formatLiveReadiness } = await import("./doctor-live-WABLQ7IF.js");
23644
+ const { runLiveReadiness, formatLiveReadiness } = await import("./doctor-live-MRRVM7HO.js");
23583
23645
  const report = await runLiveReadiness(cliListAdmits !== void 0 ? { cliListAdmits } : {});
23584
23646
  process.stdout.write(formatLiveReadiness(report) + "\n");
23585
23647
  if (doctorResult !== void 0) {
@@ -24326,7 +24388,7 @@ async function runInitPortableFlow(args) {
24326
24388
  return cliExit(result.success ? EXIT_CODES.SUCCESS : EXIT_CODES.SERVER_START_FAILED);
24327
24389
  }
24328
24390
  async function runInitOpencodeFlow(args) {
24329
- const { runInitOpencode } = await import("./init-opencode-UVQVMCHG.js");
24391
+ const { runInitOpencode } = await import("./init-opencode-LPWAYYR4.js");
24330
24392
  const opencodePath = args.options.opencode;
24331
24393
  if (opencodePath === void 0 || opencodePath === "") {
24332
24394
  process.stderr.write("Error: --opencode requires a path argument.\n");
@@ -24352,7 +24414,7 @@ async function runInitOpencodeFlow(args) {
24352
24414
  return cliExit(EXIT_CODES.SUCCESS);
24353
24415
  }
24354
24416
  async function renderOpencodeValidate(opencodePath) {
24355
- const { runOpencodeValidate } = await import("./init-opencode-UVQVMCHG.js");
24417
+ const { runOpencodeValidate } = await import("./init-opencode-LPWAYYR4.js");
24356
24418
  const result = await runOpencodeValidate(opencodePath);
24357
24419
  if (!result.ok) {
24358
24420
  process.stderr.write(`init --opencode --validate: ${result.reason ?? "failed"}
@@ -24391,7 +24453,7 @@ async function handleSetupCommandAsync(args) {
24391
24453
  return cliExitFromStatus(exitCode);
24392
24454
  }
24393
24455
  async function runCustomApiSetup(args) {
24394
- const { configureCustomApi } = await import("./setup-custom-api-YMDQK6YW.js");
24456
+ const { configureCustomApi } = await import("./setup-custom-api-VCQ6SC2E.js");
24395
24457
  const baseUrl = args.options.customApi;
24396
24458
  if (baseUrl === void 0) return EXIT_CODES.SERVER_START_FAILED;
24397
24459
  const input = {