nexus-agents 2.103.2 → 2.105.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 (115) 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-3VMTQCEH.js → chunk-3TZUEGNB.js} +2 -2
  4. package/dist/{chunk-7P3FALEV.js → chunk-46GXDOWQ.js} +2 -2
  5. package/dist/{chunk-NNJLOPGX.js → chunk-75BXDWVG.js} +5 -5
  6. package/dist/{chunk-Y5D6P5JV.js → chunk-7RE2S46N.js} +3 -3
  7. package/dist/{chunk-KSMYBMM6.js → chunk-A5UJBVCQ.js} +2 -2
  8. package/dist/{chunk-U3GOPZIA.js → chunk-ABNHZEKO.js} +2 -2
  9. package/dist/{chunk-FXPDPPYR.js → chunk-BLMWODJG.js} +2 -2
  10. package/dist/{chunk-Z35RTR2B.js → chunk-BMM6OX2K.js} +24 -9
  11. package/dist/chunk-BMM6OX2K.js.map +1 -0
  12. package/dist/{chunk-6E6MOJYY.js → chunk-E6FIVDNH.js} +2 -2
  13. package/dist/{chunk-4PWBF3NC.js → chunk-ETGNZ6H2.js} +2 -2
  14. package/dist/{chunk-O74KAIGB.js → chunk-FTFFYAY6.js} +74 -39
  15. package/dist/{chunk-O74KAIGB.js.map → chunk-FTFFYAY6.js.map} +1 -1
  16. package/dist/{chunk-MHVGM6NQ.js → chunk-FVJ2LM2G.js} +2 -2
  17. package/dist/{chunk-VPPZ45IZ.js → chunk-I5QZ3PVT.js} +2 -2
  18. package/dist/{chunk-MMZ5IKQ3.js → chunk-I7UDM43R.js} +2 -2
  19. package/dist/{chunk-N35KBA5P.js → chunk-IFO52GSQ.js} +3 -3
  20. package/dist/{chunk-4VTJA7FE.js → chunk-K7OKFTCH.js} +2 -2
  21. package/dist/{chunk-DAOUGMA5.js → chunk-M54LGBTY.js} +4 -4
  22. package/dist/{chunk-3I5UBNXA.js → chunk-MKSP4M55.js} +9 -9
  23. package/dist/{chunk-DOINBQCP.js → chunk-OESO6AQL.js} +7 -7
  24. package/dist/{chunk-3UOFGQ2K.js → chunk-P5XUYJBO.js} +3 -3
  25. package/dist/{chunk-WORMJT4K.js → chunk-PGSXRUH5.js} +3 -3
  26. package/dist/{chunk-3GUCNISD.js → chunk-RZ4A2RRN.js} +2 -2
  27. package/dist/{chunk-XISM6YBY.js → chunk-TFRXRKU5.js} +4 -4
  28. package/dist/{chunk-QQNM4YAL.js → chunk-UFTQXDUA.js} +2 -2
  29. package/dist/{chunk-5L5REFGE.js → chunk-VCLQMXVJ.js} +3 -3
  30. package/dist/{chunk-UB5S4II3.js → chunk-VGHPMNDR.js} +2 -2
  31. package/dist/{chunk-AGQU7XWB.js → chunk-VIHUOFIT.js} +5 -5
  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-WBO7Y24Y.js → consensus-vote-VUNGPXXS.js} +13 -13
  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-TF6C6XPV.js → expert-bridge-MQURDKJI.js} +6 -4
  44. package/dist/{factory-3CNPIFWT.js → factory-UZQ3RGFQ.js} +6 -6
  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 +21 -0
  48. package/dist/index.js +27 -27
  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-ZQPW7LPQ.js → setup-command-KTMIAEU6.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/chunk-Z35RTR2B.js.map +0 -1
  65. /package/dist/{child-mcp-config-I7VKSEW2.js.map → child-mcp-config-XOIMNU6R.js.map} +0 -0
  66. /package/dist/{chunk-5ZK25ZWD.js.map → chunk-2B7332HE.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-NNJLOPGX.js.map → chunk-75BXDWVG.js.map} +0 -0
  70. /package/dist/{chunk-Y5D6P5JV.js.map → chunk-7RE2S46N.js.map} +0 -0
  71. /package/dist/{chunk-KSMYBMM6.js.map → chunk-A5UJBVCQ.js.map} +0 -0
  72. /package/dist/{chunk-U3GOPZIA.js.map → chunk-ABNHZEKO.js.map} +0 -0
  73. /package/dist/{chunk-FXPDPPYR.js.map → chunk-BLMWODJG.js.map} +0 -0
  74. /package/dist/{chunk-6E6MOJYY.js.map → chunk-E6FIVDNH.js.map} +0 -0
  75. /package/dist/{chunk-4PWBF3NC.js.map → chunk-ETGNZ6H2.js.map} +0 -0
  76. /package/dist/{chunk-MHVGM6NQ.js.map → chunk-FVJ2LM2G.js.map} +0 -0
  77. /package/dist/{chunk-VPPZ45IZ.js.map → chunk-I5QZ3PVT.js.map} +0 -0
  78. /package/dist/{chunk-MMZ5IKQ3.js.map → chunk-I7UDM43R.js.map} +0 -0
  79. /package/dist/{chunk-N35KBA5P.js.map → chunk-IFO52GSQ.js.map} +0 -0
  80. /package/dist/{chunk-4VTJA7FE.js.map → chunk-K7OKFTCH.js.map} +0 -0
  81. /package/dist/{chunk-DAOUGMA5.js.map → chunk-M54LGBTY.js.map} +0 -0
  82. /package/dist/{chunk-3I5UBNXA.js.map → chunk-MKSP4M55.js.map} +0 -0
  83. /package/dist/{chunk-DOINBQCP.js.map → chunk-OESO6AQL.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-AGQU7XWB.js.map → chunk-VIHUOFIT.js.map} +0 -0
  92. /package/dist/{chunk-L32OQDWK.js.map → chunk-WT46JLBD.js.map} +0 -0
  93. /package/dist/{chunk-RWSRBLSA.js.map → chunk-XWOLOXKN.js.map} +0 -0
  94. /package/dist/{cli-circuit-breaker-M4LZW4RB.js.map → cli-circuit-breaker-QMCG6JGV.js.map} +0 -0
  95. /package/dist/{composite-router-CYGVTMW6.js.map → composite-router-ZX64CEVG.js.map} +0 -0
  96. /package/dist/{consensus-vote-WBO7Y24Y.js.map → consensus-vote-VUNGPXXS.js.map} +0 -0
  97. /package/dist/{context-retriever-VZ5HKPWX.js.map → context-retriever-J7DIPQUO.js.map} +0 -0
  98. /package/dist/{doctor-deep-A3FHG7A7.js.map → doctor-deep-ITSJV2RH.js.map} +0 -0
  99. /package/dist/{expert-bridge-TF6C6XPV.js.map → expert-bridge-MQURDKJI.js.map} +0 -0
  100. /package/dist/{factory-3CNPIFWT.js.map → factory-UZQ3RGFQ.js.map} +0 -0
  101. /package/dist/{factory-7ENY4JOE.js.map → factory-Y2RF33UB.js.map} +0 -0
  102. /package/dist/{improvement-review-6377XBPE.js.map → improvement-review-NBVWPFXR.js.map} +0 -0
  103. /package/dist/{init-opencode-6UJPLOHE.js.map → init-opencode-QPHX4KVI.js.map} +0 -0
  104. /package/dist/{issue-triage-YOFAEUGC.js.map → issue-triage-D5ADEG3V.js.map} +0 -0
  105. /package/dist/{pr-reviewer-helpers-MK2ZFEEI.js.map → pr-reviewer-helpers-R7U4EI2P.js.map} +0 -0
  106. /package/dist/{registry-command-JLAE6RAW.js.map → registry-command-CFNNKJ5S.js.map} +0 -0
  107. /package/dist/{repo-security-plan-IGX7AS5P.js.map → repo-security-plan-2AXFDREW.js.map} +0 -0
  108. /package/dist/{research-helpers-synthesize-B5KL3S4T.js.map → research-helpers-synthesize-YTIDNKBF.js.map} +0 -0
  109. /package/dist/{routing-memory-7RKYQEHM.js.map → routing-memory-YLX6QNY2.js.map} +0 -0
  110. /package/dist/{session-memory-S4SBPBP4.js.map → session-memory-Y5MUOY56.js.map} +0 -0
  111. /package/dist/{setup-command-ZQPW7LPQ.js.map → setup-command-KTMIAEU6.js.map} +0 -0
  112. /package/dist/{setup-config-2DS2V65J.js.map → setup-config-5J3R7RET.js.map} +0 -0
  113. /package/dist/{setup-custom-api-JVYDKH6Y.js.map → setup-custom-api-MJ24PJA7.js.map} +0 -0
  114. /package/dist/{tool-memory-4LVVNSVD.js.map → tool-memory-YNMRI3PZ.js.map} +0 -0
  115. /package/dist/{weather-report-FUVJJPE4.js.map → weather-report-GZRODMYW.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getErrorMessage
3
- } from "./chunk-GA2ZZERU.js";
3
+ } from "./chunk-WDVUKSIQ.js";
4
4
 
5
5
  // src/cli/setup-config.ts
6
6
  import { copyFileSync, existsSync, mkdirSync, writeFileSync } from "fs";
@@ -77,4 +77,4 @@ function ensureBackup(outputPath) {
77
77
  export {
78
78
  runConfigInitSync
79
79
  };
80
- //# sourceMappingURL=chunk-MHVGM6NQ.js.map
80
+ //# sourceMappingURL=chunk-FVJ2LM2G.js.map
@@ -2,7 +2,7 @@ import {
2
2
  CACHE_TIMEOUTS,
3
3
  createLogger,
4
4
  getTimeProvider
5
- } from "./chunk-GA2ZZERU.js";
5
+ } from "./chunk-WDVUKSIQ.js";
6
6
 
7
7
  // src/security/trust-types.ts
8
8
  import { z } from "zod";
@@ -560,4 +560,4 @@ export {
560
560
  resolveReputationGatingMode,
561
561
  gateWithReputation
562
562
  };
563
- //# sourceMappingURL=chunk-VPPZ45IZ.js.map
563
+ //# sourceMappingURL=chunk-I5QZ3PVT.js.map
@@ -11,7 +11,7 @@ import {
11
11
  createGetRetryConfig,
12
12
  createGetTimeout,
13
13
  createGetToolRateLimit
14
- } from "./chunk-GA2ZZERU.js";
14
+ } from "./chunk-WDVUKSIQ.js";
15
15
 
16
16
  // src/config/defaults.ts
17
17
  var CUSTOM_API_DEFAULT_MODEL = "gpt-4o";
@@ -230,4 +230,4 @@ export {
230
230
  CUSTOM_API_DEFAULT_MODEL,
231
231
  DEFAULTS
232
232
  };
233
- //# sourceMappingURL=chunk-MMZ5IKQ3.js.map
233
+ //# sourceMappingURL=chunk-I7UDM43R.js.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  getToolMemory
3
- } from "./chunk-DAOUGMA5.js";
3
+ } from "./chunk-M54LGBTY.js";
4
4
  import {
5
5
  CLI_NAMES,
6
6
  StrategyDistiller,
7
7
  createLogger,
8
8
  getOutcomeStore,
9
9
  registerPersistentDistillerFactory
10
- } from "./chunk-GA2ZZERU.js";
10
+ } from "./chunk-WDVUKSIQ.js";
11
11
  import {
12
12
  ensureLearningDir,
13
13
  getRulesFile
@@ -273,4 +273,4 @@ export {
273
273
  inferTaskCategory,
274
274
  summarizeContextForPrompt
275
275
  };
276
- //# sourceMappingURL=chunk-N35KBA5P.js.map
276
+ //# sourceMappingURL=chunk-IFO52GSQ.js.map
@@ -2,7 +2,7 @@ import {
2
2
  TASK_CATEGORIES,
3
3
  getAdaptiveBonus,
4
4
  getOutcomeStore
5
- } from "./chunk-GA2ZZERU.js";
5
+ } from "./chunk-WDVUKSIQ.js";
6
6
 
7
7
  // src/cli/doctor-deep.ts
8
8
  var CLI_NAMES = ["claude", "gemini", "codex", "opencode"];
@@ -106,4 +106,4 @@ export {
106
106
  runDeepDiagnostics,
107
107
  formatDeepDiagnostics
108
108
  };
109
- //# sourceMappingURL=chunk-4VTJA7FE.js.map
109
+ //# sourceMappingURL=chunk-K7OKFTCH.js.map
@@ -5,13 +5,13 @@ import {
5
5
  } from "./chunk-6T3EPABN.js";
6
6
  import {
7
7
  generateId
8
- } from "./chunk-KSMYBMM6.js";
8
+ } from "./chunk-A5UJBVCQ.js";
9
9
  import {
10
10
  getMemoryRegistry
11
11
  } from "./chunk-PQHVC4BD.js";
12
12
  import {
13
13
  SessionMemory
14
- } from "./chunk-QQNM4YAL.js";
14
+ } from "./chunk-UFTQXDUA.js";
15
15
  import {
16
16
  ErrorCode,
17
17
  NexusError,
@@ -24,7 +24,7 @@ import {
24
24
  getTimeProvider,
25
25
  ok,
26
26
  setSharedMobiMemDbPathResolver
27
- } from "./chunk-GA2ZZERU.js";
27
+ } from "./chunk-WDVUKSIQ.js";
28
28
  import {
29
29
  nexusDataPath
30
30
  } from "./chunk-CH7QIDHQ.js";
@@ -5612,4 +5612,4 @@ export {
5612
5612
  reinitializeMemoryBackends,
5613
5613
  ToolMemoryManager
5614
5614
  };
5615
- //# sourceMappingURL=chunk-DAOUGMA5.js.map
5615
+ //# sourceMappingURL=chunk-M54LGBTY.js.map
@@ -4,12 +4,12 @@ import {
4
4
  createStream,
5
5
  requireApiKey,
6
6
  validateApiKeyPresence
7
- } from "./chunk-U3GOPZIA.js";
7
+ } from "./chunk-ABNHZEKO.js";
8
8
  import {
9
9
  CUSTOM_API_BASE_URL_ENV,
10
10
  PROVIDER_ENV_KEYS,
11
11
  validateCustomApiBaseUrl
12
- } from "./chunk-FXPDPPYR.js";
12
+ } from "./chunk-BLMWODJG.js";
13
13
  import {
14
14
  NOOP_NOTIFIER,
15
15
  createMcpNotifier,
@@ -21,13 +21,13 @@ import {
21
21
  toolSuccess,
22
22
  withProgressHeartbeat,
23
23
  wrapToolWithTimeout
24
- } from "./chunk-RWSRBLSA.js";
24
+ } from "./chunk-XWOLOXKN.js";
25
25
  import {
26
26
  getToolMemory
27
- } from "./chunk-DAOUGMA5.js";
27
+ } from "./chunk-M54LGBTY.js";
28
28
  import {
29
29
  CUSTOM_API_DEFAULT_MODEL
30
- } from "./chunk-MMZ5IKQ3.js";
30
+ } from "./chunk-I7UDM43R.js";
31
31
  import {
32
32
  authRemediation,
33
33
  createCliAdapter,
@@ -37,7 +37,7 @@ import {
37
37
  isCliAvailable,
38
38
  sanitizeOutput,
39
39
  withTimeout
40
- } from "./chunk-AGQU7XWB.js";
40
+ } from "./chunk-VIHUOFIT.js";
41
41
  import {
42
42
  AgentError,
43
43
  CLI_NAMES,
@@ -77,7 +77,7 @@ import {
77
77
  resolveCliAlias,
78
78
  resolveVoteTimeout,
79
79
  toRateLimitError
80
- } from "./chunk-GA2ZZERU.js";
80
+ } from "./chunk-WDVUKSIQ.js";
81
81
  import {
82
82
  ensureLearningDir,
83
83
  getOutcomesFile,
@@ -7003,7 +7003,7 @@ async function processVotesWithCascade(engineVotes, opts) {
7003
7003
  var CONTRARIAN_ESCALATION_THRESHOLD = 0.8;
7004
7004
  async function runContrarianCheck(proposal, log) {
7005
7005
  try {
7006
- const { executeExpert } = await import("./expert-bridge-TF6C6XPV.js");
7006
+ const { executeExpert } = await import("./expert-bridge-MQURDKJI.js");
7007
7007
  const prompt = [
7008
7008
  "You are a contrarian analyst. Your job is to find reasons this proposal should be REJECTED.",
7009
7009
  "Look for: YAGNI (not needed), MISALIGNED (wrong tech/architecture), SECURITY_RISK, SCOPE_CREEP.",
@@ -7496,4 +7496,4 @@ export {
7496
7496
  CONSENSUS_VOTE_OUTPUT_SCHEMA,
7497
7497
  registerConsensusVoteTool
7498
7498
  };
7499
- //# sourceMappingURL=chunk-3I5UBNXA.js.map
7499
+ //# sourceMappingURL=chunk-MKSP4M55.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DEFAULTS
3
- } from "./chunk-MMZ5IKQ3.js";
3
+ } from "./chunk-I7UDM43R.js";
4
4
  import {
5
5
  resolveInsideRoot
6
6
  } from "./chunk-NUBSJGQZ.js";
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  createAllAdapters,
12
12
  probeCli
13
- } from "./chunk-AGQU7XWB.js";
13
+ } from "./chunk-VIHUOFIT.js";
14
14
  import {
15
15
  CliNameSchema,
16
16
  DEFAULT_CAPABILITIES,
@@ -26,7 +26,7 @@ import {
26
26
  ok,
27
27
  symbols,
28
28
  writeLine
29
- } from "./chunk-GA2ZZERU.js";
29
+ } from "./chunk-WDVUKSIQ.js";
30
30
  import {
31
31
  detectSandbox,
32
32
  getLearningDir,
@@ -40,7 +40,7 @@ import {
40
40
  } from "./chunk-CH7QIDHQ.js";
41
41
 
42
42
  // src/version.ts
43
- var VERSION = true ? "2.103.2" : "dev";
43
+ var VERSION = true ? "2.105.0" : "dev";
44
44
 
45
45
  // src/config/schemas-core.ts
46
46
  import { z } from "zod";
@@ -2096,7 +2096,7 @@ async function runDoctorFix(result) {
2096
2096
  writeLine2("\u2500".repeat(40));
2097
2097
  let fixCount = 0;
2098
2098
  if (!result.dataDirectory.rootExists || result.dataDirectory.subdirectories.some((d) => !d.exists || !d.writable)) {
2099
- const { runSetup } = await import("./setup-command-ZQPW7LPQ.js");
2099
+ const { runSetup } = await import("./setup-command-KTMIAEU6.js");
2100
2100
  const setupResult = runSetup({
2101
2101
  skipMcp: true,
2102
2102
  skipRules: true,
@@ -2110,7 +2110,7 @@ async function runDoctorFix(result) {
2110
2110
  }
2111
2111
  }
2112
2112
  if (!result.configFile.found) {
2113
- const { runConfigInitSync } = await import("./setup-config-2DS2V65J.js");
2113
+ const { runConfigInitSync } = await import("./setup-config-5J3R7RET.js");
2114
2114
  const configResult = runConfigInitSync(process.cwd(), false, false);
2115
2115
  if (configResult.success && configResult.created) {
2116
2116
  writeLine2(`\u2713 Generated config: ${configResult.path}`);
@@ -2208,4 +2208,4 @@ export {
2208
2208
  startStdioServer,
2209
2209
  closeServer
2210
2210
  };
2211
- //# sourceMappingURL=chunk-DOINBQCP.js.map
2211
+ //# sourceMappingURL=chunk-OESO6AQL.js.map
@@ -2,14 +2,14 @@ import {
2
2
  CircuitBreakerRegistry,
3
3
  CircuitError,
4
4
  mapCliErrorToCategory
5
- } from "./chunk-4PWBF3NC.js";
5
+ } from "./chunk-ETGNZ6H2.js";
6
6
  import {
7
7
  createLogger,
8
8
  err,
9
9
  getFallbackChainForCategory,
10
10
  getTimeProvider,
11
11
  ok
12
- } from "./chunk-GA2ZZERU.js";
12
+ } from "./chunk-WDVUKSIQ.js";
13
13
 
14
14
  // src/cli-adapters/cli-circuit-breaker.ts
15
15
  var CATEGORY_TO_FALLBACK = {
@@ -152,4 +152,4 @@ export {
152
152
  CliCircuitBreakerIntegration,
153
153
  createCliCircuitBreakerIntegration
154
154
  };
155
- //# sourceMappingURL=chunk-3UOFGQ2K.js.map
155
+ //# sourceMappingURL=chunk-P5XUYJBO.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  OpenAIAdapter
3
- } from "./chunk-Y5D6P5JV.js";
3
+ } from "./chunk-7RE2S46N.js";
4
4
  import {
5
5
  ConfigError,
6
6
  createLogger,
@@ -9,7 +9,7 @@ import {
9
9
  getTimeProvider,
10
10
  lookupInTreeCapability,
11
11
  ok
12
- } from "./chunk-GA2ZZERU.js";
12
+ } from "./chunk-WDVUKSIQ.js";
13
13
  import {
14
14
  getNexusDataDir
15
15
  } from "./chunk-CH7QIDHQ.js";
@@ -307,4 +307,4 @@ export {
307
307
  discoverModels,
308
308
  buildOpenAICompatAdapters
309
309
  };
310
- //# sourceMappingURL=chunk-WORMJT4K.js.map
310
+ //# sourceMappingURL=chunk-PGSXRUH5.js.map
@@ -3,7 +3,7 @@ import {
3
3
  MODEL_IDS,
4
4
  getTimeProvider,
5
5
  resolveModelIdentitySync
6
- } from "./chunk-GA2ZZERU.js";
6
+ } from "./chunk-WDVUKSIQ.js";
7
7
 
8
8
  // src/config/model-availability.ts
9
9
  var DEFAULT_TTL_MS = 6e4;
@@ -150,4 +150,4 @@ export {
150
150
  resetAvailabilityCache,
151
151
  filterAvailableModels
152
152
  };
153
- //# sourceMappingURL=chunk-3GUCNISD.js.map
153
+ //# sourceMappingURL=chunk-RZ4A2RRN.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  GitHubProvider,
3
3
  ScmError
4
- } from "./chunk-3VMTQCEH.js";
4
+ } from "./chunk-3TZUEGNB.js";
5
5
  import {
6
6
  ROLE_DEFAULT_TRUST,
7
7
  ReputationCache,
@@ -11,13 +11,13 @@ import {
11
11
  gateWithReputation,
12
12
  resolveReputationGatingMode,
13
13
  sanitizeInput
14
- } from "./chunk-VPPZ45IZ.js";
14
+ } from "./chunk-I5QZ3PVT.js";
15
15
  import {
16
16
  createLogger,
17
17
  err,
18
18
  getTimeProvider,
19
19
  ok
20
- } from "./chunk-GA2ZZERU.js";
20
+ } from "./chunk-WDVUKSIQ.js";
21
21
 
22
22
  // src/security/trust-classifier.ts
23
23
  function mapAuthorAssociation(association) {
@@ -1390,4 +1390,4 @@ export {
1390
1390
  IssueTriage,
1391
1391
  createIssueTriage
1392
1392
  };
1393
- //# sourceMappingURL=chunk-XISM6YBY.js.map
1393
+ //# sourceMappingURL=chunk-TFRXRKU5.js.map
@@ -4,7 +4,7 @@ import {
4
4
  getErrorMessage,
5
5
  getTimeProvider,
6
6
  ok
7
- } from "./chunk-GA2ZZERU.js";
7
+ } from "./chunk-WDVUKSIQ.js";
8
8
 
9
9
  // src/context/session-memory.ts
10
10
  import * as fs from "fs";
@@ -351,4 +351,4 @@ export {
351
351
  SessionMemory,
352
352
  createSessionMemory
353
353
  };
354
- //# sourceMappingURL=chunk-QQNM4YAL.js.map
354
+ //# sourceMappingURL=chunk-UFTQXDUA.js.map
@@ -6,7 +6,7 @@ import {
6
6
  toolStructuredError,
7
7
  toolSuccessStructured,
8
8
  wrapToolWithTimeout
9
- } from "./chunk-RWSRBLSA.js";
9
+ } from "./chunk-XWOLOXKN.js";
10
10
  import {
11
11
  createLogger,
12
12
  formatZodError,
@@ -14,7 +14,7 @@ import {
14
14
  getOutcomeStore,
15
15
  getPipelineEventBus,
16
16
  getTimeProvider
17
- } from "./chunk-GA2ZZERU.js";
17
+ } from "./chunk-WDVUKSIQ.js";
18
18
  import {
19
19
  getNexusDataDir
20
20
  } from "./chunk-CH7QIDHQ.js";
@@ -1092,4 +1092,4 @@ export {
1092
1092
  runImprovementReview,
1093
1093
  registerImprovementReviewTool
1094
1094
  };
1095
- //# sourceMappingURL=chunk-5L5REFGE.js.map
1095
+ //# sourceMappingURL=chunk-VCLQMXVJ.js.map
@@ -8,7 +8,7 @@ import {
8
8
  getErrorMessage,
9
9
  ok,
10
10
  parseBoolEnv
11
- } from "./chunk-GA2ZZERU.js";
11
+ } from "./chunk-WDVUKSIQ.js";
12
12
 
13
13
  // src/cli/research-helpers-synthesize.ts
14
14
  import { z } from "zod";
@@ -1015,4 +1015,4 @@ export {
1015
1015
  AttributedInsightSchema,
1016
1016
  synthesizeResearch
1017
1017
  };
1018
- //# sourceMappingURL=chunk-UB5S4II3.js.map
1018
+ //# sourceMappingURL=chunk-VGHPMNDR.js.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  CliCircuitBreaker,
3
3
  DEFAULT_CIRCUIT_BREAKER_CONFIG
4
- } from "./chunk-4PWBF3NC.js";
4
+ } from "./chunk-ETGNZ6H2.js";
5
5
  import {
6
6
  getAvailabilityCache
7
- } from "./chunk-3GUCNISD.js";
7
+ } from "./chunk-RZ4A2RRN.js";
8
8
  import {
9
9
  generateHyphenId
10
- } from "./chunk-KSMYBMM6.js";
10
+ } from "./chunk-A5UJBVCQ.js";
11
11
  import {
12
12
  CLI_SUBPROCESS_TIMEOUTS,
13
13
  CLI_TIMEOUTS,
@@ -32,7 +32,7 @@ import {
32
32
  isRateLimitText,
33
33
  loadModelsDevSnapshot,
34
34
  ok
35
- } from "./chunk-GA2ZZERU.js";
35
+ } from "./chunk-WDVUKSIQ.js";
36
36
 
37
37
  // src/cli-adapters/subprocess-adapter.ts
38
38
  import { spawn } from "child_process";
@@ -3445,4 +3445,4 @@ export {
3445
3445
  isCliAvailable,
3446
3446
  getAvailableClis
3447
3447
  };
3448
- //# sourceMappingURL=chunk-AGQU7XWB.js.map
3448
+ //# sourceMappingURL=chunk-VIHUOFIT.js.map
@@ -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