nexus-agents 2.162.1 → 2.164.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 (130) hide show
  1. package/dist/{child-mcp-config-VXXBVJY3.js → child-mcp-config-Q3XDLAVG.js} +3 -3
  2. package/dist/{chunk-EZHYOWWO.js → chunk-2O4TMKUN.js} +2 -2
  3. package/dist/{chunk-DXEYJAGO.js → chunk-4WZWUONK.js} +2 -2
  4. package/dist/{chunk-HJZ3RES7.js → chunk-5HLHFSTH.js} +2 -2
  5. package/dist/{chunk-MJOHZFJP.js → chunk-6RIGFUZF.js} +15 -8
  6. package/dist/chunk-6RIGFUZF.js.map +1 -0
  7. package/dist/{chunk-7QWGLBCE.js → chunk-A57TGFAC.js} +5 -5
  8. package/dist/{chunk-NL7SZQPW.js → chunk-AXTD4TFK.js} +5 -1
  9. package/dist/{chunk-NL7SZQPW.js.map → chunk-AXTD4TFK.js.map} +1 -1
  10. package/dist/{chunk-RN5ISNYK.js → chunk-BE7MNC7B.js} +3 -3
  11. package/dist/{chunk-V7CIVDNO.js → chunk-BOE7RCND.js} +3 -3
  12. package/dist/{chunk-6ILEOLNW.js → chunk-FQNXEOL3.js} +2 -2
  13. package/dist/{chunk-FFH35IKD.js → chunk-FTYO3F2S.js} +3 -3
  14. package/dist/{chunk-23ZSFBBM.js → chunk-GATA7PDR.js} +9 -9
  15. package/dist/{chunk-YUAQRJRF.js → chunk-GMLPL5P2.js} +4 -4
  16. package/dist/{chunk-JB37LBSG.js → chunk-HLP36YBZ.js} +7 -7
  17. package/dist/{chunk-WP6L2PTV.js → chunk-IH7A6MNH.js} +7 -7
  18. package/dist/{chunk-ZGSAYLPE.js → chunk-JAGAZMUT.js} +2 -2
  19. package/dist/{chunk-DBHK6EDT.js → chunk-K54QBTB6.js} +2 -2
  20. package/dist/{chunk-THUX4X43.js → chunk-K6II2MEP.js} +3 -3
  21. package/dist/{chunk-EQJR6WMY.js → chunk-KCVJPSZF.js} +2 -2
  22. package/dist/{chunk-JYR6SBUB.js → chunk-KWYMR424.js} +4 -4
  23. package/dist/{chunk-TJJW4BGX.js → chunk-M2BRITA3.js} +4 -4
  24. package/dist/{chunk-XWAV3UC2.js → chunk-M5LNQ6DM.js} +5 -5
  25. package/dist/{chunk-WGDZFYP3.js → chunk-N6WRMZYA.js} +297 -38
  26. package/dist/chunk-N6WRMZYA.js.map +1 -0
  27. package/dist/{chunk-W3ZTVYZN.js → chunk-NSZVUPZH.js} +2 -2
  28. package/dist/{chunk-GJSJRJ6Y.js → chunk-NWIN6KOK.js} +2 -2
  29. package/dist/{chunk-VWV34IMA.js → chunk-P2BP7MJS.js} +2 -2
  30. package/dist/{chunk-754RDQAS.js → chunk-P67JWFPG.js} +2 -2
  31. package/dist/{chunk-RDYGX6MQ.js → chunk-RYUMBYYR.js} +2 -2
  32. package/dist/{chunk-JIXCOX7D.js → chunk-SOWWAZ5C.js} +3 -3
  33. package/dist/{chunk-MJLN336B.js → chunk-UFWFHXDP.js} +3 -3
  34. package/dist/{chunk-ZIPTXCET.js → chunk-UGNUHVZP.js} +37 -37
  35. package/dist/{chunk-N67NSSQT.js → chunk-V2PFGYOM.js} +2 -2
  36. package/dist/{chunk-EVYIQ6N5.js → chunk-VGOPIPDV.js} +6 -6
  37. package/dist/{chunk-GMSYKYFA.js → chunk-WEIYBIV3.js} +2 -2
  38. package/dist/{chunk-U4KMGGGF.js → chunk-XYA7W5IQ.js} +2 -2
  39. package/dist/{chunk-6FWMNTPO.js → chunk-YLA7NOSK.js} +4 -4
  40. package/dist/{cli-circuit-breaker-B4RH2ELX.js → cli-circuit-breaker-G2P42V3H.js} +5 -5
  41. package/dist/cli.js +42 -42
  42. package/dist/{composite-router-4PYFIB2G.js → composite-router-NZPVPGSN.js} +3 -3
  43. package/dist/{consensus-vote-MM5YG3A5.js → consensus-vote-BTN37MRV.js} +16 -16
  44. package/dist/{context-retriever-YGPEAEPO.js → context-retriever-4SWGSINU.js} +9 -9
  45. package/dist/{doctor-deep-N576AXQE.js → doctor-deep-SYEDHAPX.js} +4 -4
  46. package/dist/{expert-bridge-YEE7F6TA.js → expert-bridge-6I34TGL7.js} +5 -5
  47. package/dist/factory-2BGHWTMC.js +15 -0
  48. package/dist/factory-KKRPWZ2A.js +22 -0
  49. package/dist/{improvement-review-5CZJIOEH.js → improvement-review-4RX6YUVD.js} +6 -6
  50. package/dist/index.d.ts +33 -0
  51. package/dist/index.js +31 -31
  52. package/dist/{init-opencode-R3PEVUUI.js → init-opencode-CXUIMAUP.js} +7 -7
  53. package/dist/issue-triage-4VXHABBD.js +18 -0
  54. package/dist/{learning-persistence-M3OTCCNI.js → learning-persistence-6D5GGT7D.js} +4 -2
  55. package/dist/{pr-reviewer-helpers-TOMMTISB.js → pr-reviewer-helpers-5BOB2KK4.js} +5 -5
  56. package/dist/{registry-command-EBGQHFT3.js → registry-command-4PDAF4XP.js} +3 -3
  57. package/dist/{repo-security-plan-CWJ3Z4CC.js → repo-security-plan-UMNW5FP6.js} +4 -4
  58. package/dist/{research-helpers-synthesize-UNLGVEND.js → research-helpers-synthesize-WYFSSCKX.js} +5 -5
  59. package/dist/{routing-memory-MTGIZZUO.js → routing-memory-IMJPZUKI.js} +3 -3
  60. package/dist/{session-memory-QGUF5TNU.js → session-memory-XKJFKI6R.js} +4 -4
  61. package/dist/{setup-command-6QSWQMBJ.js → setup-command-BPNKRJB2.js} +12 -12
  62. package/dist/setup-config-DHGAMWSI.js +11 -0
  63. package/dist/{setup-custom-api-QON4YKJ3.js → setup-custom-api-ESPG7XTX.js} +4 -4
  64. package/dist/{tool-memory-SNH4B5Q7.js → tool-memory-VGEHRRGE.js} +6 -6
  65. package/dist/{unified-registry-XEA2GEOZ.js → unified-registry-GLVZZGSC.js} +10 -10
  66. package/dist/{weather-report-QQ42WBNZ.js → weather-report-ITGCNNPJ.js} +3 -3
  67. package/package.json +1 -1
  68. package/dist/chunk-MJOHZFJP.js.map +0 -1
  69. package/dist/chunk-WGDZFYP3.js.map +0 -1
  70. package/dist/factory-NQEQY7NV.js +0 -15
  71. package/dist/factory-TWK2UKNH.js +0 -22
  72. package/dist/issue-triage-Y35K4BUV.js +0 -18
  73. package/dist/setup-config-4TGGV7AQ.js +0 -11
  74. /package/dist/{child-mcp-config-VXXBVJY3.js.map → child-mcp-config-Q3XDLAVG.js.map} +0 -0
  75. /package/dist/{chunk-EZHYOWWO.js.map → chunk-2O4TMKUN.js.map} +0 -0
  76. /package/dist/{chunk-DXEYJAGO.js.map → chunk-4WZWUONK.js.map} +0 -0
  77. /package/dist/{chunk-HJZ3RES7.js.map → chunk-5HLHFSTH.js.map} +0 -0
  78. /package/dist/{chunk-7QWGLBCE.js.map → chunk-A57TGFAC.js.map} +0 -0
  79. /package/dist/{chunk-RN5ISNYK.js.map → chunk-BE7MNC7B.js.map} +0 -0
  80. /package/dist/{chunk-V7CIVDNO.js.map → chunk-BOE7RCND.js.map} +0 -0
  81. /package/dist/{chunk-6ILEOLNW.js.map → chunk-FQNXEOL3.js.map} +0 -0
  82. /package/dist/{chunk-FFH35IKD.js.map → chunk-FTYO3F2S.js.map} +0 -0
  83. /package/dist/{chunk-23ZSFBBM.js.map → chunk-GATA7PDR.js.map} +0 -0
  84. /package/dist/{chunk-YUAQRJRF.js.map → chunk-GMLPL5P2.js.map} +0 -0
  85. /package/dist/{chunk-JB37LBSG.js.map → chunk-HLP36YBZ.js.map} +0 -0
  86. /package/dist/{chunk-WP6L2PTV.js.map → chunk-IH7A6MNH.js.map} +0 -0
  87. /package/dist/{chunk-ZGSAYLPE.js.map → chunk-JAGAZMUT.js.map} +0 -0
  88. /package/dist/{chunk-DBHK6EDT.js.map → chunk-K54QBTB6.js.map} +0 -0
  89. /package/dist/{chunk-THUX4X43.js.map → chunk-K6II2MEP.js.map} +0 -0
  90. /package/dist/{chunk-EQJR6WMY.js.map → chunk-KCVJPSZF.js.map} +0 -0
  91. /package/dist/{chunk-JYR6SBUB.js.map → chunk-KWYMR424.js.map} +0 -0
  92. /package/dist/{chunk-TJJW4BGX.js.map → chunk-M2BRITA3.js.map} +0 -0
  93. /package/dist/{chunk-XWAV3UC2.js.map → chunk-M5LNQ6DM.js.map} +0 -0
  94. /package/dist/{chunk-W3ZTVYZN.js.map → chunk-NSZVUPZH.js.map} +0 -0
  95. /package/dist/{chunk-GJSJRJ6Y.js.map → chunk-NWIN6KOK.js.map} +0 -0
  96. /package/dist/{chunk-VWV34IMA.js.map → chunk-P2BP7MJS.js.map} +0 -0
  97. /package/dist/{chunk-754RDQAS.js.map → chunk-P67JWFPG.js.map} +0 -0
  98. /package/dist/{chunk-RDYGX6MQ.js.map → chunk-RYUMBYYR.js.map} +0 -0
  99. /package/dist/{chunk-JIXCOX7D.js.map → chunk-SOWWAZ5C.js.map} +0 -0
  100. /package/dist/{chunk-MJLN336B.js.map → chunk-UFWFHXDP.js.map} +0 -0
  101. /package/dist/{chunk-ZIPTXCET.js.map → chunk-UGNUHVZP.js.map} +0 -0
  102. /package/dist/{chunk-N67NSSQT.js.map → chunk-V2PFGYOM.js.map} +0 -0
  103. /package/dist/{chunk-EVYIQ6N5.js.map → chunk-VGOPIPDV.js.map} +0 -0
  104. /package/dist/{chunk-GMSYKYFA.js.map → chunk-WEIYBIV3.js.map} +0 -0
  105. /package/dist/{chunk-U4KMGGGF.js.map → chunk-XYA7W5IQ.js.map} +0 -0
  106. /package/dist/{chunk-6FWMNTPO.js.map → chunk-YLA7NOSK.js.map} +0 -0
  107. /package/dist/{cli-circuit-breaker-B4RH2ELX.js.map → cli-circuit-breaker-G2P42V3H.js.map} +0 -0
  108. /package/dist/{composite-router-4PYFIB2G.js.map → composite-router-NZPVPGSN.js.map} +0 -0
  109. /package/dist/{consensus-vote-MM5YG3A5.js.map → consensus-vote-BTN37MRV.js.map} +0 -0
  110. /package/dist/{context-retriever-YGPEAEPO.js.map → context-retriever-4SWGSINU.js.map} +0 -0
  111. /package/dist/{doctor-deep-N576AXQE.js.map → doctor-deep-SYEDHAPX.js.map} +0 -0
  112. /package/dist/{expert-bridge-YEE7F6TA.js.map → expert-bridge-6I34TGL7.js.map} +0 -0
  113. /package/dist/{factory-NQEQY7NV.js.map → factory-2BGHWTMC.js.map} +0 -0
  114. /package/dist/{factory-TWK2UKNH.js.map → factory-KKRPWZ2A.js.map} +0 -0
  115. /package/dist/{improvement-review-5CZJIOEH.js.map → improvement-review-4RX6YUVD.js.map} +0 -0
  116. /package/dist/{init-opencode-R3PEVUUI.js.map → init-opencode-CXUIMAUP.js.map} +0 -0
  117. /package/dist/{issue-triage-Y35K4BUV.js.map → issue-triage-4VXHABBD.js.map} +0 -0
  118. /package/dist/{learning-persistence-M3OTCCNI.js.map → learning-persistence-6D5GGT7D.js.map} +0 -0
  119. /package/dist/{pr-reviewer-helpers-TOMMTISB.js.map → pr-reviewer-helpers-5BOB2KK4.js.map} +0 -0
  120. /package/dist/{registry-command-EBGQHFT3.js.map → registry-command-4PDAF4XP.js.map} +0 -0
  121. /package/dist/{repo-security-plan-CWJ3Z4CC.js.map → repo-security-plan-UMNW5FP6.js.map} +0 -0
  122. /package/dist/{research-helpers-synthesize-UNLGVEND.js.map → research-helpers-synthesize-WYFSSCKX.js.map} +0 -0
  123. /package/dist/{routing-memory-MTGIZZUO.js.map → routing-memory-IMJPZUKI.js.map} +0 -0
  124. /package/dist/{session-memory-QGUF5TNU.js.map → session-memory-XKJFKI6R.js.map} +0 -0
  125. /package/dist/{setup-command-6QSWQMBJ.js.map → setup-command-BPNKRJB2.js.map} +0 -0
  126. /package/dist/{setup-config-4TGGV7AQ.js.map → setup-config-DHGAMWSI.js.map} +0 -0
  127. /package/dist/{setup-custom-api-QON4YKJ3.js.map → setup-custom-api-ESPG7XTX.js.map} +0 -0
  128. /package/dist/{tool-memory-SNH4B5Q7.js.map → tool-memory-VGEHRRGE.js.map} +0 -0
  129. /package/dist/{unified-registry-XEA2GEOZ.js.map → unified-registry-GLVZZGSC.js.map} +0 -0
  130. /package/dist/{weather-report-QQ42WBNZ.js.map → weather-report-ITGCNNPJ.js.map} +0 -0
package/dist/cli.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  buildOpenAICompatAdapters,
4
4
  readOpenAICompatEnv
5
- } from "./chunk-JYR6SBUB.js";
5
+ } from "./chunk-KWYMR424.js";
6
6
  import {
7
7
  calculateConsensus,
8
8
  countByCategory,
@@ -17,13 +17,13 @@ import {
17
17
  generateSummary,
18
18
  parseFindings,
19
19
  sumFindings
20
- } from "./chunk-RN5ISNYK.js";
21
- import "./chunk-EQJR6WMY.js";
20
+ } from "./chunk-BE7MNC7B.js";
21
+ import "./chunk-KCVJPSZF.js";
22
22
  import {
23
23
  setupCommandAsync,
24
24
  verifyCommand
25
- } from "./chunk-7QWGLBCE.js";
26
- import "./chunk-W3ZTVYZN.js";
25
+ } from "./chunk-A57TGFAC.js";
26
+ import "./chunk-NSZVUPZH.js";
27
27
  import {
28
28
  AuthHandler,
29
29
  DEFAULT_EXPERTS,
@@ -142,9 +142,9 @@ import {
142
142
  validateCommand,
143
143
  validateWorkflow,
144
144
  wrapInMarkdownFence
145
- } from "./chunk-ZIPTXCET.js";
146
- import "./chunk-JIXCOX7D.js";
147
- import "./chunk-VWV34IMA.js";
145
+ } from "./chunk-UGNUHVZP.js";
146
+ import "./chunk-SOWWAZ5C.js";
147
+ import "./chunk-P2BP7MJS.js";
148
148
  import "./chunk-HFOQKCD2.js";
149
149
  import "./chunk-3ACDP4E6.js";
150
150
  import {
@@ -170,11 +170,11 @@ import {
170
170
  loadConfig,
171
171
  runDoctor,
172
172
  validateNexusEnv
173
- } from "./chunk-MJOHZFJP.js";
174
- import "./chunk-V7CIVDNO.js";
173
+ } from "./chunk-6RIGFUZF.js";
174
+ import "./chunk-BOE7RCND.js";
175
175
  import {
176
176
  shutdownExpertBridge
177
- } from "./chunk-JB37LBSG.js";
177
+ } from "./chunk-HLP36YBZ.js";
178
178
  import {
179
179
  ConsensusVoteInputSchema,
180
180
  DEFAULT_VOTE_TIMEOUT_MS,
@@ -184,25 +184,25 @@ import {
184
184
  executeVoting,
185
185
  mapOutcomeToDecision,
186
186
  registerConsensusVoteTool
187
- } from "./chunk-23ZSFBBM.js";
187
+ } from "./chunk-GATA7PDR.js";
188
188
  import {
189
189
  loadUsageEvents,
190
190
  rollupByModel
191
- } from "./chunk-6ILEOLNW.js";
191
+ } from "./chunk-FQNXEOL3.js";
192
192
  import {
193
193
  synthesizeResearch
194
- } from "./chunk-THUX4X43.js";
194
+ } from "./chunk-K6II2MEP.js";
195
195
  import {
196
196
  classifyTrust,
197
197
  createFullGitHubProvider,
198
198
  evaluatePolicy,
199
199
  parsePRUrl
200
- } from "./chunk-XWAV3UC2.js";
201
- import "./chunk-GJSJRJ6Y.js";
200
+ } from "./chunk-M5LNQ6DM.js";
201
+ import "./chunk-NWIN6KOK.js";
202
202
  import {
203
203
  ReputationCache,
204
204
  sanitizeInput
205
- } from "./chunk-GMSYKYFA.js";
205
+ } from "./chunk-WEIYBIV3.js";
206
206
  import {
207
207
  ImprovementReviewInputSchema,
208
208
  calculateFitnessScore,
@@ -216,11 +216,11 @@ import {
216
216
  registerImprovementReviewTool,
217
217
  runImprovementReview,
218
218
  scanForSecrets
219
- } from "./chunk-MJLN336B.js";
219
+ } from "./chunk-UFWFHXDP.js";
220
220
  import {
221
221
  createDefaultPolicyFirewall
222
- } from "./chunk-FFH35IKD.js";
223
- import "./chunk-N67NSSQT.js";
222
+ } from "./chunk-FTYO3F2S.js";
223
+ import "./chunk-V2PFGYOM.js";
224
224
  import {
225
225
  PaperStatusSchema,
226
226
  createResearchIssue,
@@ -243,32 +243,32 @@ import {
243
243
  loadSourcesRegistry,
244
244
  rankDiscoveredItems,
245
245
  saveSourcesRegistry
246
- } from "./chunk-EVYIQ6N5.js";
246
+ } from "./chunk-VGOPIPDV.js";
247
247
  import {
248
248
  resolveToken
249
- } from "./chunk-ZGSAYLPE.js";
249
+ } from "./chunk-JAGAZMUT.js";
250
250
  import {
251
251
  loadPapersRegistry,
252
252
  loadTechniquesRegistry,
253
253
  savePapersRegistry
254
- } from "./chunk-754RDQAS.js";
254
+ } from "./chunk-P67JWFPG.js";
255
255
  import "./chunk-NUBSJGQZ.js";
256
256
  import {
257
257
  MemoryError,
258
258
  shutdownToolMemory
259
- } from "./chunk-TJJW4BGX.js";
259
+ } from "./chunk-M2BRITA3.js";
260
260
  import {
261
261
  capitalize,
262
262
  capitalizeKebab,
263
263
  truncateSentence
264
264
  } from "./chunk-6T3EPABN.js";
265
- import "./chunk-U4KMGGGF.js";
265
+ import "./chunk-XYA7W5IQ.js";
266
266
  import "./chunk-ZM4O442V.js";
267
267
  import "./chunk-PINS44XA.js";
268
268
  import "./chunk-KSQSWEFH.js";
269
269
  import {
270
270
  createUnifiedRegistry
271
- } from "./chunk-YUAQRJRF.js";
271
+ } from "./chunk-GMLPL5P2.js";
272
272
  import {
273
273
  NEXUS_SUBPROCESS_DEPTH_ENV,
274
274
  createAllAdapters,
@@ -276,14 +276,14 @@ import {
276
276
  isRecord,
277
277
  probeAllClis,
278
278
  readSubprocessDepth
279
- } from "./chunk-WP6L2PTV.js";
280
- import "./chunk-DBHK6EDT.js";
279
+ } from "./chunk-IH7A6MNH.js";
280
+ import "./chunk-K54QBTB6.js";
281
281
  import {
282
282
  DEFAULTS
283
- } from "./chunk-RDYGX6MQ.js";
284
- import "./chunk-HJZ3RES7.js";
285
- import "./chunk-EZHYOWWO.js";
286
- import "./chunk-DXEYJAGO.js";
283
+ } from "./chunk-RYUMBYYR.js";
284
+ import "./chunk-5HLHFSTH.js";
285
+ import "./chunk-2O4TMKUN.js";
286
+ import "./chunk-4WZWUONK.js";
287
287
  import {
288
288
  API_TIMEOUTS,
289
289
  AgentCapability,
@@ -357,8 +357,8 @@ import {
357
357
  validateTimeout,
358
358
  writeEmptyLine,
359
359
  writeLine
360
- } from "./chunk-WGDZFYP3.js";
361
- import "./chunk-NL7SZQPW.js";
360
+ } from "./chunk-N6WRMZYA.js";
361
+ import "./chunk-AXTD4TFK.js";
362
362
  import {
363
363
  applyPortableMode,
364
364
  detectSandbox,
@@ -4035,7 +4035,7 @@ ${file.patch}
4035
4035
  violations: policyResult.violations
4036
4036
  });
4037
4037
  }
4038
- const { formatReviewComment: formatReviewComment2 } = await import("./pr-reviewer-helpers-TOMMTISB.js");
4038
+ const { formatReviewComment: formatReviewComment2 } = await import("./pr-reviewer-helpers-5BOB2KK4.js");
4039
4039
  const body = formatReviewComment2(result);
4040
4040
  const postResult = await provider.createReview(pr.prNumber, body, result.decision);
4041
4041
  if (!postResult.ok) {
@@ -17859,7 +17859,7 @@ function startImprovementReviewScheduler(options) {
17859
17859
  let running = false;
17860
17860
  const runOnce = async () => {
17861
17861
  try {
17862
- const { runImprovementReview: runImprovementReview2, ImprovementReviewInputSchema: ImprovementReviewInputSchema2 } = await import("./improvement-review-5CZJIOEH.js");
17862
+ const { runImprovementReview: runImprovementReview2, ImprovementReviewInputSchema: ImprovementReviewInputSchema2 } = await import("./improvement-review-4RX6YUVD.js");
17863
17863
  const input = ImprovementReviewInputSchema2.parse({ fileIssues });
17864
17864
  const result = await runImprovementReview2(input, { logger: logger19 });
17865
17865
  logger19.info("Scheduled improvement_review complete", {
@@ -19898,7 +19898,7 @@ function adaptConfigToLibrary(config) {
19898
19898
  }
19899
19899
  function createBeliefPromoter() {
19900
19900
  return async (event) => {
19901
- const { getToolMemory } = await import("./tool-memory-SNH4B5Q7.js");
19901
+ const { getToolMemory } = await import("./tool-memory-VGEHRRGE.js");
19902
19902
  const tm = getToolMemory();
19903
19903
  await tm.recordBelief(
19904
19904
  `skill:${event.name}`,
@@ -21010,7 +21010,7 @@ async function handleResearchCommand(args) {
21010
21010
  }
21011
21011
  }
21012
21012
  async function handleRegistryCommand(args) {
21013
- const { registryCommand, isValidRegistrySubcommand, formatRegistryUsage } = await import("./registry-command-EBGQHFT3.js");
21013
+ const { registryCommand, isValidRegistrySubcommand, formatRegistryUsage } = await import("./registry-command-4PDAF4XP.js");
21014
21014
  const subcommand = args.subcommand;
21015
21015
  if (!isValidRegistrySubcommand(subcommand)) {
21016
21016
  process.stdout.write(`${formatRegistryUsage()}
@@ -21058,7 +21058,7 @@ async function handleVerifyCommand(args) {
21058
21058
  async function handleDoctorCommand(args) {
21059
21059
  const exitCode = await doctorCommand({ fix: args.options.fix });
21060
21060
  if (args.options.deep) {
21061
- const { runDeepDiagnostics: runDeepDiagnostics2, formatDeepDiagnostics: formatDeepDiagnostics2 } = await import("./doctor-deep-N576AXQE.js");
21061
+ const { runDeepDiagnostics: runDeepDiagnostics2, formatDeepDiagnostics: formatDeepDiagnostics2 } = await import("./doctor-deep-SYEDHAPX.js");
21062
21062
  const diag = runDeepDiagnostics2();
21063
21063
  process.stdout.write(formatDeepDiagnostics2(diag) + "\n");
21064
21064
  }
@@ -21108,7 +21108,7 @@ async function runInitPortableFlow(args) {
21108
21108
  return cliExit(result.success ? EXIT_CODES.SUCCESS : EXIT_CODES.SERVER_START_FAILED);
21109
21109
  }
21110
21110
  async function runInitOpencodeFlow(args) {
21111
- const { runInitOpencode } = await import("./init-opencode-R3PEVUUI.js");
21111
+ const { runInitOpencode } = await import("./init-opencode-CXUIMAUP.js");
21112
21112
  const opencodePath = args.options.opencode;
21113
21113
  if (opencodePath === void 0 || opencodePath === "") {
21114
21114
  process.stderr.write("Error: --opencode requires a path argument.\n");
@@ -21134,7 +21134,7 @@ async function runInitOpencodeFlow(args) {
21134
21134
  return cliExit(EXIT_CODES.SUCCESS);
21135
21135
  }
21136
21136
  async function renderOpencodeValidate(opencodePath) {
21137
- const { runOpencodeValidate } = await import("./init-opencode-R3PEVUUI.js");
21137
+ const { runOpencodeValidate } = await import("./init-opencode-CXUIMAUP.js");
21138
21138
  const result = await runOpencodeValidate(opencodePath);
21139
21139
  if (!result.ok) {
21140
21140
  process.stderr.write(`init --opencode --validate: ${result.reason ?? "failed"}
@@ -21173,7 +21173,7 @@ async function handleSetupCommandAsync(args) {
21173
21173
  return cliExitFromStatus(exitCode);
21174
21174
  }
21175
21175
  async function runCustomApiSetup(args) {
21176
- const { configureCustomApi } = await import("./setup-custom-api-QON4YKJ3.js");
21176
+ const { configureCustomApi } = await import("./setup-custom-api-ESPG7XTX.js");
21177
21177
  const baseUrl = args.options.customApi;
21178
21178
  if (baseUrl === void 0) return EXIT_CODES.SERVER_START_FAILED;
21179
21179
  const input = {
@@ -4,8 +4,8 @@ import {
4
4
  CompositeRoutingError,
5
5
  DEFAULT_COMPOSITE_CONFIG,
6
6
  createCompositeRouter
7
- } from "./chunk-WGDZFYP3.js";
8
- import "./chunk-NL7SZQPW.js";
7
+ } from "./chunk-N6WRMZYA.js";
8
+ import "./chunk-AXTD4TFK.js";
9
9
  import "./chunk-DHVMSIT5.js";
10
10
  import "./chunk-ZPWHCABL.js";
11
11
  export {
@@ -15,4 +15,4 @@ export {
15
15
  DEFAULT_COMPOSITE_CONFIG,
16
16
  createCompositeRouter
17
17
  };
18
- //# sourceMappingURL=composite-router-4PYFIB2G.js.map
18
+ //# sourceMappingURL=composite-router-NZPVPGSN.js.map
@@ -8,24 +8,24 @@ import {
8
8
  registerConsensusVoteTool,
9
9
  resetCorrelationTracker,
10
10
  runConsensusForGoal
11
- } from "./chunk-23ZSFBBM.js";
12
- import "./chunk-6ILEOLNW.js";
13
- import "./chunk-FFH35IKD.js";
14
- import "./chunk-N67NSSQT.js";
15
- import "./chunk-TJJW4BGX.js";
11
+ } from "./chunk-GATA7PDR.js";
12
+ import "./chunk-FQNXEOL3.js";
13
+ import "./chunk-FTYO3F2S.js";
14
+ import "./chunk-V2PFGYOM.js";
15
+ import "./chunk-M2BRITA3.js";
16
16
  import "./chunk-6T3EPABN.js";
17
- import "./chunk-U4KMGGGF.js";
17
+ import "./chunk-XYA7W5IQ.js";
18
18
  import "./chunk-PINS44XA.js";
19
19
  import "./chunk-KSQSWEFH.js";
20
- import "./chunk-YUAQRJRF.js";
21
- import "./chunk-WP6L2PTV.js";
22
- import "./chunk-DBHK6EDT.js";
23
- import "./chunk-RDYGX6MQ.js";
24
- import "./chunk-HJZ3RES7.js";
25
- import "./chunk-EZHYOWWO.js";
26
- import "./chunk-DXEYJAGO.js";
27
- import "./chunk-WGDZFYP3.js";
28
- import "./chunk-NL7SZQPW.js";
20
+ import "./chunk-GMLPL5P2.js";
21
+ import "./chunk-IH7A6MNH.js";
22
+ import "./chunk-K54QBTB6.js";
23
+ import "./chunk-RYUMBYYR.js";
24
+ import "./chunk-5HLHFSTH.js";
25
+ import "./chunk-2O4TMKUN.js";
26
+ import "./chunk-4WZWUONK.js";
27
+ import "./chunk-N6WRMZYA.js";
28
+ import "./chunk-AXTD4TFK.js";
29
29
  import "./chunk-DHVMSIT5.js";
30
30
  import "./chunk-ZPWHCABL.js";
31
31
  export {
@@ -39,4 +39,4 @@ export {
39
39
  resetCorrelationTracker,
40
40
  runConsensusForGoal
41
41
  };
42
- //# sourceMappingURL=consensus-vote-MM5YG3A5.js.map
42
+ //# sourceMappingURL=consensus-vote-BTN37MRV.js.map
@@ -5,18 +5,18 @@ import {
5
5
  inferTaskCategory,
6
6
  selectRelevantResearch,
7
7
  summarizeContextForPrompt
8
- } from "./chunk-EVYIQ6N5.js";
9
- import "./chunk-ZGSAYLPE.js";
10
- import "./chunk-754RDQAS.js";
8
+ } from "./chunk-VGOPIPDV.js";
9
+ import "./chunk-JAGAZMUT.js";
10
+ import "./chunk-P67JWFPG.js";
11
11
  import "./chunk-NUBSJGQZ.js";
12
- import "./chunk-TJJW4BGX.js";
12
+ import "./chunk-M2BRITA3.js";
13
13
  import "./chunk-6T3EPABN.js";
14
- import "./chunk-U4KMGGGF.js";
14
+ import "./chunk-XYA7W5IQ.js";
15
15
  import "./chunk-PINS44XA.js";
16
16
  import "./chunk-KSQSWEFH.js";
17
- import "./chunk-DXEYJAGO.js";
18
- import "./chunk-WGDZFYP3.js";
19
- import "./chunk-NL7SZQPW.js";
17
+ import "./chunk-4WZWUONK.js";
18
+ import "./chunk-N6WRMZYA.js";
19
+ import "./chunk-AXTD4TFK.js";
20
20
  import "./chunk-DHVMSIT5.js";
21
21
  import "./chunk-ZPWHCABL.js";
22
22
  export {
@@ -27,4 +27,4 @@ export {
27
27
  selectRelevantResearch,
28
28
  summarizeContextForPrompt
29
29
  };
30
- //# sourceMappingURL=context-retriever-YGPEAEPO.js.map
30
+ //# sourceMappingURL=context-retriever-4SWGSINU.js.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  formatDeepDiagnostics,
3
3
  runDeepDiagnostics
4
- } from "./chunk-EQJR6WMY.js";
5
- import "./chunk-WGDZFYP3.js";
6
- import "./chunk-NL7SZQPW.js";
4
+ } from "./chunk-KCVJPSZF.js";
5
+ import "./chunk-N6WRMZYA.js";
6
+ import "./chunk-AXTD4TFK.js";
7
7
  import "./chunk-DHVMSIT5.js";
8
8
  import "./chunk-ZPWHCABL.js";
9
9
  export {
10
10
  formatDeepDiagnostics,
11
11
  runDeepDiagnostics
12
12
  };
13
- //# sourceMappingURL=doctor-deep-N576AXQE.js.map
13
+ //# sourceMappingURL=doctor-deep-SYEDHAPX.js.map
@@ -3,10 +3,10 @@ import {
3
3
  shutdownExpertBridge,
4
4
  tokenSplitFromUsage,
5
5
  totalTokensFromUsage
6
- } from "./chunk-JB37LBSG.js";
7
- import "./chunk-EZHYOWWO.js";
8
- import "./chunk-WGDZFYP3.js";
9
- import "./chunk-NL7SZQPW.js";
6
+ } from "./chunk-HLP36YBZ.js";
7
+ import "./chunk-2O4TMKUN.js";
8
+ import "./chunk-N6WRMZYA.js";
9
+ import "./chunk-AXTD4TFK.js";
10
10
  import "./chunk-DHVMSIT5.js";
11
11
  import "./chunk-ZPWHCABL.js";
12
12
  export {
@@ -15,4 +15,4 @@ export {
15
15
  tokenSplitFromUsage,
16
16
  totalTokensFromUsage
17
17
  };
18
- //# sourceMappingURL=expert-bridge-YEE7F6TA.js.map
18
+ //# sourceMappingURL=expert-bridge-6I34TGL7.js.map
@@ -0,0 +1,15 @@
1
+ import {
2
+ createGitHubProvider,
3
+ createScmProvider
4
+ } from "./chunk-YLA7NOSK.js";
5
+ import "./chunk-NWIN6KOK.js";
6
+ import "./chunk-JAGAZMUT.js";
7
+ import "./chunk-N6WRMZYA.js";
8
+ import "./chunk-AXTD4TFK.js";
9
+ import "./chunk-DHVMSIT5.js";
10
+ import "./chunk-ZPWHCABL.js";
11
+ export {
12
+ createGitHubProvider,
13
+ createScmProvider
14
+ };
15
+ //# sourceMappingURL=factory-2BGHWTMC.js.map
@@ -0,0 +1,22 @@
1
+ import {
2
+ createAllAdapters,
3
+ createCliAdapter,
4
+ getAvailableClis,
5
+ isCliAvailable
6
+ } from "./chunk-IH7A6MNH.js";
7
+ import "./chunk-K54QBTB6.js";
8
+ import "./chunk-RYUMBYYR.js";
9
+ import "./chunk-5HLHFSTH.js";
10
+ import "./chunk-2O4TMKUN.js";
11
+ import "./chunk-4WZWUONK.js";
12
+ import "./chunk-N6WRMZYA.js";
13
+ import "./chunk-AXTD4TFK.js";
14
+ import "./chunk-DHVMSIT5.js";
15
+ import "./chunk-ZPWHCABL.js";
16
+ export {
17
+ createAllAdapters,
18
+ createCliAdapter,
19
+ getAvailableClis,
20
+ isCliAvailable
21
+ };
22
+ //# sourceMappingURL=factory-KKRPWZ2A.js.map
@@ -11,11 +11,11 @@ import {
11
11
  loadSelfEvalSignals,
12
12
  registerImprovementReviewTool,
13
13
  runImprovementReview
14
- } from "./chunk-MJLN336B.js";
15
- import "./chunk-FFH35IKD.js";
16
- import "./chunk-N67NSSQT.js";
17
- import "./chunk-WGDZFYP3.js";
18
- import "./chunk-NL7SZQPW.js";
14
+ } from "./chunk-UFWFHXDP.js";
15
+ import "./chunk-FTYO3F2S.js";
16
+ import "./chunk-V2PFGYOM.js";
17
+ import "./chunk-N6WRMZYA.js";
18
+ import "./chunk-AXTD4TFK.js";
19
19
  import "./chunk-DHVMSIT5.js";
20
20
  import "./chunk-ZPWHCABL.js";
21
21
  export {
@@ -32,4 +32,4 @@ export {
32
32
  registerImprovementReviewTool,
33
33
  runImprovementReview
34
34
  };
35
- //# sourceMappingURL=improvement-review-5CZJIOEH.js.map
35
+ //# sourceMappingURL=improvement-review-4RX6YUVD.js.map
package/dist/index.d.ts CHANGED
@@ -4842,6 +4842,13 @@ declare class CompositeRouter implements ICompositeRouter {
4842
4842
  private budgetRejections;
4843
4843
  private lastRoutedTask?;
4844
4844
  private lastTraceId?;
4845
+ /**
4846
+ * Pending model-selection shadow comparison awaiting its outcome join
4847
+ * (#4197). Keyed by task content like {@link lastRoutedTask}; persisted with
4848
+ * `success` when `recordDifficultyOutcome` reports the matching outcome.
4849
+ * The task content itself is never persisted.
4850
+ */
4851
+ private pendingModelShadow?;
4845
4852
  constructor(adapters: Map<RoutingArmId, ICliAdapter>, config?: Partial<CompositeRouterConfigWithPreference>, logger?: ILogger);
4846
4853
  private initializeCoreRouters;
4847
4854
  /** #4196: plumb per-task-class cost ceilings into the BudgetRouter.
@@ -4898,6 +4905,32 @@ declare class CompositeRouter implements ICompositeRouter {
4898
4905
  getAvailableModelsCache(): AvailableModelsCache | undefined;
4899
4906
  private getStageDependencies;
4900
4907
  private trackLastRoutedTask;
4908
+ /**
4909
+ * Compute the model-selection SHADOW comparison for a routed decision
4910
+ * (#4197): what `resolveModelForTier` WOULD have picked vs the model the
4911
+ * decision actually carries (or the CLI default the adapter will resolve).
4912
+ * Held pending until `recordDifficultyOutcome` supplies the outcome, then
4913
+ * persisted to the dedicated shadow log. Gated behind
4914
+ * `NEXUS_ROUTE_MODEL_SHADOW=1` (default OFF). NEVER affects the live
4915
+ * decision — any failure increments the shadow-failure counter and is
4916
+ * logged, not thrown into the routing path.
4917
+ *
4918
+ * Tasks with a PINNED model (`CliTask.model`) are SKIPPED entirely: the
4919
+ * adapter executes the pinned model (base-adapter), not the CLI default the
4920
+ * comparison would otherwise assume, so a pinned run says nothing about the
4921
+ * tier selector — sampling it would mislabel the agree/diverge cohorts and
4922
+ * pad the volume criterion with garbage (#4218 review).
4923
+ */
4924
+ private trackModelSelectionShadow;
4925
+ /**
4926
+ * Join a pending model-selection shadow comparison with its task outcome and
4927
+ * persist the completed record (#4197). Matches by task content, mirroring
4928
+ * {@link getDifficultyInfo}'s lastRoutedTask join. `costUsd` is deliberately
4929
+ * absent: the routing outcome path measures no per-decision cost today, and
4930
+ * the readiness gate's cost criterion stays fail-closed until it does.
4931
+ * Exception-guarded — an outcome-join failure never breaks outcome recording.
4932
+ */
4933
+ private joinModelSelectionShadowOutcome;
4901
4934
  private buildRoutingDecision;
4902
4935
  private updateStats;
4903
4936
  /**