nexus-agents 2.103.1 → 2.104.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 (114) hide show
  1. package/dist/{child-mcp-config-I7VKSEW2.js → child-mcp-config-XOIMNU6R.js} +2 -2
  2. package/dist/{chunk-5ZK25ZWD.js → chunk-2B7332HE.js} +4 -4
  3. package/dist/{chunk-TZ2YMIQV.js → chunk-2MM5MC45.js} +9 -9
  4. package/dist/{chunk-3VMTQCEH.js → chunk-3TZUEGNB.js} +2 -2
  5. package/dist/{chunk-7P3FALEV.js → chunk-46GXDOWQ.js} +2 -2
  6. package/dist/{chunk-RDNEALPS.js → chunk-47FQ3BU7.js} +7 -7
  7. package/dist/{chunk-ULKXWKNZ.js → chunk-4KTPDSFZ.js} +5 -5
  8. package/dist/{chunk-OMFKL3FZ.js → chunk-5YMSKNUG.js} +7 -7
  9. package/dist/{chunk-Y5D6P5JV.js → chunk-7RE2S46N.js} +3 -3
  10. package/dist/{chunk-KSMYBMM6.js → chunk-A5UJBVCQ.js} +2 -2
  11. package/dist/{chunk-U3GOPZIA.js → chunk-ABNHZEKO.js} +2 -2
  12. package/dist/{chunk-FXPDPPYR.js → chunk-BLMWODJG.js} +2 -2
  13. package/dist/{chunk-6E6MOJYY.js → chunk-E6FIVDNH.js} +2 -2
  14. package/dist/{chunk-4PWBF3NC.js → chunk-ETGNZ6H2.js} +2 -2
  15. package/dist/{chunk-MHVGM6NQ.js → chunk-FVJ2LM2G.js} +2 -2
  16. package/dist/{chunk-VPPZ45IZ.js → chunk-I5QZ3PVT.js} +2 -2
  17. package/dist/{chunk-MMZ5IKQ3.js → chunk-I7UDM43R.js} +2 -2
  18. package/dist/{chunk-N35KBA5P.js → chunk-IFO52GSQ.js} +3 -3
  19. package/dist/{chunk-4VTJA7FE.js → chunk-K7OKFTCH.js} +2 -2
  20. package/dist/{chunk-CB66XOZQ.js → chunk-LM3BH55G.js} +36 -36
  21. package/dist/{chunk-CB66XOZQ.js.map → chunk-LM3BH55G.js.map} +1 -1
  22. package/dist/{chunk-DAOUGMA5.js → chunk-M54LGBTY.js} +4 -4
  23. package/dist/{chunk-3UOFGQ2K.js → chunk-P5XUYJBO.js} +3 -3
  24. package/dist/{chunk-WORMJT4K.js → chunk-PGSXRUH5.js} +3 -3
  25. package/dist/{chunk-3GUCNISD.js → chunk-RZ4A2RRN.js} +2 -2
  26. package/dist/{chunk-XISM6YBY.js → chunk-TFRXRKU5.js} +4 -4
  27. package/dist/{chunk-QQNM4YAL.js → chunk-UFTQXDUA.js} +2 -2
  28. package/dist/{chunk-5L5REFGE.js → chunk-VCLQMXVJ.js} +3 -3
  29. package/dist/{chunk-UB5S4II3.js → chunk-VGHPMNDR.js} +2 -2
  30. package/dist/{chunk-G2FTEZDY.js → chunk-VIHUOFIT.js} +37 -10
  31. package/dist/{chunk-G2FTEZDY.js.map → chunk-VIHUOFIT.js.map} +1 -1
  32. package/dist/{chunk-GA2ZZERU.js → chunk-WDVUKSIQ.js} +38 -2
  33. package/dist/chunk-WDVUKSIQ.js.map +1 -0
  34. package/dist/{chunk-L32OQDWK.js → chunk-WT46JLBD.js} +3 -3
  35. package/dist/{chunk-RWSRBLSA.js → chunk-XWOLOXKN.js} +2 -2
  36. package/dist/{cli-circuit-breaker-M4LZW4RB.js → cli-circuit-breaker-QMCG6JGV.js} +4 -4
  37. package/dist/cli.js +41 -40
  38. package/dist/cli.js.map +1 -1
  39. package/dist/{composite-router-CYGVTMW6.js → composite-router-ZX64CEVG.js} +2 -2
  40. package/dist/{consensus-vote-2ODNLCSS.js → consensus-vote-7HEHHH5S.js} +13 -12
  41. package/dist/{context-retriever-VZ5HKPWX.js → context-retriever-J7DIPQUO.js} +6 -6
  42. package/dist/{doctor-deep-A3FHG7A7.js → doctor-deep-ITSJV2RH.js} +3 -3
  43. package/dist/{expert-bridge-GNHXRQEZ.js → expert-bridge-7R4AU4DE.js} +4 -4
  44. package/dist/{factory-6PU24HFM.js → factory-UZQ3RGFQ.js} +6 -5
  45. package/dist/{factory-7ENY4JOE.js → factory-Y2RF33UB.js} +5 -5
  46. package/dist/{improvement-review-6377XBPE.js → improvement-review-NBVWPFXR.js} +4 -4
  47. package/dist/index.d.ts +18 -1
  48. package/dist/index.js +35 -35
  49. package/dist/{init-opencode-6UJPLOHE.js → init-opencode-QPHX4KVI.js} +5 -5
  50. package/dist/{issue-triage-YOFAEUGC.js → issue-triage-D5ADEG3V.js} +5 -5
  51. package/dist/{pr-reviewer-helpers-MK2ZFEEI.js → pr-reviewer-helpers-R7U4EI2P.js} +4 -4
  52. package/dist/{registry-command-JLAE6RAW.js → registry-command-CFNNKJ5S.js} +2 -2
  53. package/dist/{repo-security-plan-IGX7AS5P.js → repo-security-plan-2AXFDREW.js} +3 -3
  54. package/dist/{research-helpers-synthesize-B5KL3S4T.js → research-helpers-synthesize-YTIDNKBF.js} +3 -3
  55. package/dist/{routing-memory-7RKYQEHM.js → routing-memory-YLX6QNY2.js} +2 -2
  56. package/dist/{session-memory-S4SBPBP4.js → session-memory-Y5MUOY56.js} +3 -3
  57. package/dist/{setup-command-KMGJM4V4.js → setup-command-AS65DYIU.js} +10 -10
  58. package/dist/{setup-config-2DS2V65J.js → setup-config-5J3R7RET.js} +3 -3
  59. package/dist/{setup-custom-api-JVYDKH6Y.js → setup-custom-api-MJ24PJA7.js} +4 -4
  60. package/dist/{tool-memory-4LVVNSVD.js → tool-memory-YNMRI3PZ.js} +5 -5
  61. package/dist/{weather-report-FUVJJPE4.js → weather-report-GZRODMYW.js} +2 -2
  62. package/package.json +1 -1
  63. package/dist/chunk-GA2ZZERU.js.map +0 -1
  64. /package/dist/{child-mcp-config-I7VKSEW2.js.map → child-mcp-config-XOIMNU6R.js.map} +0 -0
  65. /package/dist/{chunk-5ZK25ZWD.js.map → chunk-2B7332HE.js.map} +0 -0
  66. /package/dist/{chunk-TZ2YMIQV.js.map → chunk-2MM5MC45.js.map} +0 -0
  67. /package/dist/{chunk-3VMTQCEH.js.map → chunk-3TZUEGNB.js.map} +0 -0
  68. /package/dist/{chunk-7P3FALEV.js.map → chunk-46GXDOWQ.js.map} +0 -0
  69. /package/dist/{chunk-RDNEALPS.js.map → chunk-47FQ3BU7.js.map} +0 -0
  70. /package/dist/{chunk-ULKXWKNZ.js.map → chunk-4KTPDSFZ.js.map} +0 -0
  71. /package/dist/{chunk-OMFKL3FZ.js.map → chunk-5YMSKNUG.js.map} +0 -0
  72. /package/dist/{chunk-Y5D6P5JV.js.map → chunk-7RE2S46N.js.map} +0 -0
  73. /package/dist/{chunk-KSMYBMM6.js.map → chunk-A5UJBVCQ.js.map} +0 -0
  74. /package/dist/{chunk-U3GOPZIA.js.map → chunk-ABNHZEKO.js.map} +0 -0
  75. /package/dist/{chunk-FXPDPPYR.js.map → chunk-BLMWODJG.js.map} +0 -0
  76. /package/dist/{chunk-6E6MOJYY.js.map → chunk-E6FIVDNH.js.map} +0 -0
  77. /package/dist/{chunk-4PWBF3NC.js.map → chunk-ETGNZ6H2.js.map} +0 -0
  78. /package/dist/{chunk-MHVGM6NQ.js.map → chunk-FVJ2LM2G.js.map} +0 -0
  79. /package/dist/{chunk-VPPZ45IZ.js.map → chunk-I5QZ3PVT.js.map} +0 -0
  80. /package/dist/{chunk-MMZ5IKQ3.js.map → chunk-I7UDM43R.js.map} +0 -0
  81. /package/dist/{chunk-N35KBA5P.js.map → chunk-IFO52GSQ.js.map} +0 -0
  82. /package/dist/{chunk-4VTJA7FE.js.map → chunk-K7OKFTCH.js.map} +0 -0
  83. /package/dist/{chunk-DAOUGMA5.js.map → chunk-M54LGBTY.js.map} +0 -0
  84. /package/dist/{chunk-3UOFGQ2K.js.map → chunk-P5XUYJBO.js.map} +0 -0
  85. /package/dist/{chunk-WORMJT4K.js.map → chunk-PGSXRUH5.js.map} +0 -0
  86. /package/dist/{chunk-3GUCNISD.js.map → chunk-RZ4A2RRN.js.map} +0 -0
  87. /package/dist/{chunk-XISM6YBY.js.map → chunk-TFRXRKU5.js.map} +0 -0
  88. /package/dist/{chunk-QQNM4YAL.js.map → chunk-UFTQXDUA.js.map} +0 -0
  89. /package/dist/{chunk-5L5REFGE.js.map → chunk-VCLQMXVJ.js.map} +0 -0
  90. /package/dist/{chunk-UB5S4II3.js.map → chunk-VGHPMNDR.js.map} +0 -0
  91. /package/dist/{chunk-L32OQDWK.js.map → chunk-WT46JLBD.js.map} +0 -0
  92. /package/dist/{chunk-RWSRBLSA.js.map → chunk-XWOLOXKN.js.map} +0 -0
  93. /package/dist/{cli-circuit-breaker-M4LZW4RB.js.map → cli-circuit-breaker-QMCG6JGV.js.map} +0 -0
  94. /package/dist/{composite-router-CYGVTMW6.js.map → composite-router-ZX64CEVG.js.map} +0 -0
  95. /package/dist/{consensus-vote-2ODNLCSS.js.map → consensus-vote-7HEHHH5S.js.map} +0 -0
  96. /package/dist/{context-retriever-VZ5HKPWX.js.map → context-retriever-J7DIPQUO.js.map} +0 -0
  97. /package/dist/{doctor-deep-A3FHG7A7.js.map → doctor-deep-ITSJV2RH.js.map} +0 -0
  98. /package/dist/{expert-bridge-GNHXRQEZ.js.map → expert-bridge-7R4AU4DE.js.map} +0 -0
  99. /package/dist/{factory-6PU24HFM.js.map → factory-UZQ3RGFQ.js.map} +0 -0
  100. /package/dist/{factory-7ENY4JOE.js.map → factory-Y2RF33UB.js.map} +0 -0
  101. /package/dist/{improvement-review-6377XBPE.js.map → improvement-review-NBVWPFXR.js.map} +0 -0
  102. /package/dist/{init-opencode-6UJPLOHE.js.map → init-opencode-QPHX4KVI.js.map} +0 -0
  103. /package/dist/{issue-triage-YOFAEUGC.js.map → issue-triage-D5ADEG3V.js.map} +0 -0
  104. /package/dist/{pr-reviewer-helpers-MK2ZFEEI.js.map → pr-reviewer-helpers-R7U4EI2P.js.map} +0 -0
  105. /package/dist/{registry-command-JLAE6RAW.js.map → registry-command-CFNNKJ5S.js.map} +0 -0
  106. /package/dist/{repo-security-plan-IGX7AS5P.js.map → repo-security-plan-2AXFDREW.js.map} +0 -0
  107. /package/dist/{research-helpers-synthesize-B5KL3S4T.js.map → research-helpers-synthesize-YTIDNKBF.js.map} +0 -0
  108. /package/dist/{routing-memory-7RKYQEHM.js.map → routing-memory-YLX6QNY2.js.map} +0 -0
  109. /package/dist/{session-memory-S4SBPBP4.js.map → session-memory-Y5MUOY56.js.map} +0 -0
  110. /package/dist/{setup-command-KMGJM4V4.js.map → setup-command-AS65DYIU.js.map} +0 -0
  111. /package/dist/{setup-config-2DS2V65J.js.map → setup-config-5J3R7RET.js.map} +0 -0
  112. /package/dist/{setup-custom-api-JVYDKH6Y.js.map → setup-custom-api-MJ24PJA7.js.map} +0 -0
  113. /package/dist/{tool-memory-4LVVNSVD.js.map → tool-memory-YNMRI3PZ.js.map} +0 -0
  114. /package/dist/{weather-report-FUVJJPE4.js.map → weather-report-GZRODMYW.js.map} +0 -0
@@ -11391,6 +11391,40 @@ function registerDefaultModelSources(cache, adapters, opts = {}) {
11391
11391
  }
11392
11392
  }
11393
11393
 
11394
+ // src/cli-adapters/resolve-model-for-tier.ts
11395
+ function isRouteModelSelectionEnabled() {
11396
+ return process.env["NEXUS_ROUTE_MODEL_SELECTION"] === "true";
11397
+ }
11398
+ var TIER_QUALITY_DIMENSION = {
11399
+ powerful: "reasoning",
11400
+ balanced: "codeGeneration",
11401
+ fast: "speed"
11402
+ };
11403
+ function isEligible(m, live) {
11404
+ return live === void 0 || live.has(m.id) || live.has(m.cliModelName ?? "");
11405
+ }
11406
+ function compareScored(a, b) {
11407
+ if (b.score !== a.score) return b.score - a.score;
11408
+ if (b.cost !== a.cost) return b.cost - a.cost;
11409
+ return a.id < b.id ? -1 : a.id > b.id ? 1 : 0;
11410
+ }
11411
+ function collectScored(cliName, dimension, live) {
11412
+ const scored = [];
11413
+ for (const m of findInTreeByCli(cliName)) {
11414
+ if (!isEligible(m, live)) continue;
11415
+ const score = m.qualityScores?.[dimension];
11416
+ if (typeof score !== "number") continue;
11417
+ scored.push({ id: m.id, score, cost: m.qualityScores?.cost ?? 0 });
11418
+ }
11419
+ return scored;
11420
+ }
11421
+ function resolveModelForTier(cliName, tier, opts = {}) {
11422
+ const scored = collectScored(cliName, TIER_QUALITY_DIMENSION[tier], opts.liveModelIds);
11423
+ if (scored.length === 0) return getDefaultModelForCli(cliName);
11424
+ scored.sort(compareScored);
11425
+ return scored[0]?.id ?? getDefaultModelForCli(cliName);
11426
+ }
11427
+
11394
11428
  // src/cli-adapters/composite-router-outcome.ts
11395
11429
  var sharedAnalyzer3 = createSharedTaskAnalyzer();
11396
11430
  function recordBanditOutcome(cliName, task, reward, deps) {
@@ -11772,7 +11806,7 @@ var CompositeRouter = class _CompositeRouter {
11772
11806
  */
11773
11807
  async consultUnifiedContext(task) {
11774
11808
  try {
11775
- const { getContextForTask, inferTaskCategory } = await import("./context-retriever-VZ5HKPWX.js");
11809
+ const { getContextForTask, inferTaskCategory } = await import("./context-retriever-J7DIPQUO.js");
11776
11810
  const ctx = await getContextForTask({
11777
11811
  task: task.content,
11778
11812
  category: inferTaskCategory(task.content),
@@ -11978,9 +12012,11 @@ var CompositeRouter = class _CompositeRouter {
11978
12012
  const decisionTimeMs = getTimeProvider().now() - params.startTime;
11979
12013
  this.updateStats(params.selectedCli, decisionTimeMs);
11980
12014
  const { confidence, reason, alternatives } = buildDecisionFields({ ...params, decisionTimeMs });
12015
+ const model = isRouteModelSelectionEnabled() && params.difficultyTier !== void 0 ? resolveModelForTier(params.selectedCli, params.difficultyTier) : void 0;
11981
12016
  return ok({
11982
12017
  adapter: selectedAdapter,
11983
12018
  cliName: params.selectedCli,
12019
+ ...model !== void 0 ? { model } : {},
11984
12020
  confidence,
11985
12021
  reason,
11986
12022
  stagesExecuted: params.stagesExecuted,
@@ -13120,4 +13156,4 @@ export {
13120
13156
  ParseError,
13121
13157
  OrchestratorError
13122
13158
  };
13123
- //# sourceMappingURL=chunk-GA2ZZERU.js.map
13159
+ //# sourceMappingURL=chunk-WDVUKSIQ.js.map