nexus-agents 2.100.2 → 2.101.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-OWCVT4NN.js → child-mcp-config-NBELOYYZ.js} +2 -2
  2. package/dist/{chunk-JW4JGJEU.js → chunk-2ETX4XQW.js} +10 -10
  3. package/dist/{chunk-P453545L.js → chunk-3GF52QPA.js} +4 -4
  4. package/dist/{chunk-AH67WRET.js → chunk-3QFQG5QT.js} +2 -2
  5. package/dist/{chunk-5T6S6HFY.js → chunk-4IWHFMCN.js} +4 -4
  6. package/dist/{chunk-HFNHJZOK.js → chunk-4L7FH53H.js} +2 -2
  7. package/dist/{chunk-A7XUXJWL.js → chunk-4RW6OONY.js} +2 -2
  8. package/dist/{chunk-WYDK6V7W.js → chunk-5PZIMHNA.js} +3 -3
  9. package/dist/{chunk-Q3IFS7UA.js → chunk-ABGRFLJ6.js} +4 -4
  10. package/dist/{chunk-EWJRZNDC.js → chunk-CCWPDHBN.js} +7 -7
  11. package/dist/{chunk-ZPCDZMLK.js → chunk-E47LOV6Y.js} +2 -2
  12. package/dist/{chunk-SU7RKNIZ.js → chunk-EKO6XAAZ.js} +3 -3
  13. package/dist/{chunk-HBZUXO4Q.js → chunk-FLUC27DF.js} +2 -2
  14. package/dist/{chunk-BO6QUVXI.js → chunk-FVWKAEYH.js} +2 -2
  15. package/dist/{chunk-BKUKBOGV.js → chunk-FZCB2P3F.js} +2 -2
  16. package/dist/{chunk-VD4TXDMR.js → chunk-GDY23NDK.js} +2 -2
  17. package/dist/{chunk-3OCQKZLC.js → chunk-KAJPY6YZ.js} +2 -2
  18. package/dist/{chunk-H4LBBFCO.js → chunk-KHEQIB6P.js} +7 -7
  19. package/dist/{chunk-M774MKHE.js → chunk-KLYBJUTK.js} +43 -4
  20. package/dist/chunk-KLYBJUTK.js.map +1 -0
  21. package/dist/{chunk-D7FORQJJ.js → chunk-KYONCTIL.js} +3 -3
  22. package/dist/{chunk-CJODZY4U.js → chunk-L2NPJRZZ.js} +2 -2
  23. package/dist/{chunk-XO25FS24.js → chunk-LVGYWJDX.js} +2 -2
  24. package/dist/{chunk-T5KDRR2I.js → chunk-LXBWH5XP.js} +3 -3
  25. package/dist/{chunk-DLNCQO6L.js → chunk-MNFEZIRI.js} +2 -2
  26. package/dist/{chunk-J545CO5K.js → chunk-MNWYIYEZ.js} +2 -2
  27. package/dist/{chunk-LRM5NZ2I.js → chunk-MUVRUSQD.js} +30 -30
  28. package/dist/{chunk-V2C2MC6H.js → chunk-NAKDVIXS.js} +3 -3
  29. package/dist/{chunk-UWQ3BALH.js → chunk-S7R72HUB.js} +2 -2
  30. package/dist/{chunk-ZOBDTJNG.js → chunk-TDXLS2TY.js} +4 -4
  31. package/dist/{chunk-DQ2YK2PI.js → chunk-UVN6QKCG.js} +5 -5
  32. package/dist/{chunk-3XSEFOI5.js → chunk-VJR46M7L.js} +3 -3
  33. package/dist/{chunk-J76KHBF3.js → chunk-W65C5VVJ.js} +2 -2
  34. package/dist/{chunk-5WY3N7VX.js → chunk-Z7IQUUTZ.js} +2 -2
  35. package/dist/{cli-circuit-breaker-IPNNNVIT.js → cli-circuit-breaker-L647V6BR.js} +4 -4
  36. package/dist/cli.js +39 -39
  37. package/dist/{composite-router-JJNQIHX6.js → composite-router-NOTUOXFI.js} +2 -2
  38. package/dist/{consensus-vote-W6MIUFZK.js → consensus-vote-F5FEDUSU.js} +13 -13
  39. package/dist/{context-retriever-2MOJ446P.js → context-retriever-SHT7J6BT.js} +6 -6
  40. package/dist/{doctor-deep-D6E5IWXB.js → doctor-deep-REMLGFXP.js} +3 -3
  41. package/dist/{expert-bridge-L25WFHQF.js → expert-bridge-Z7XZ7ED5.js} +4 -4
  42. package/dist/{factory-UCRIJY6Y.js → factory-CYUNYEMU.js} +5 -5
  43. package/dist/{factory-PVN7DDNZ.js → factory-PPAK3TVG.js} +5 -5
  44. package/dist/{improvement-review-7OWJBTOC.js → improvement-review-BGFCQV4I.js} +4 -4
  45. package/dist/index.js +28 -28
  46. package/dist/{init-opencode-PB4G7RJR.js → init-opencode-WXY4DUFU.js} +5 -5
  47. package/dist/{issue-triage-EMYHDDTR.js → issue-triage-KGLNAJKH.js} +5 -5
  48. package/dist/{pr-reviewer-helpers-DZQDKMMF.js → pr-reviewer-helpers-2YJG6XJM.js} +4 -4
  49. package/dist/{registry-command-5L7I44JA.js → registry-command-ZFOGLBKF.js} +12 -172
  50. package/dist/registry-command-ZFOGLBKF.js.map +1 -0
  51. package/dist/{repo-security-plan-N2GNWFER.js → repo-security-plan-L47DDTAU.js} +3 -3
  52. package/dist/{research-helpers-synthesize-OKNU245Z.js → research-helpers-synthesize-IABO7LB4.js} +3 -3
  53. package/dist/{routing-memory-3QXWGWB5.js → routing-memory-2YWEWRMQ.js} +2 -2
  54. package/dist/{session-memory-AK4AJXGI.js → session-memory-YWOMPCLZ.js} +3 -3
  55. package/dist/{setup-command-V7M6BX2X.js → setup-command-IQK73FJ4.js} +11 -11
  56. package/dist/{setup-config-ANAFKZGE.js → setup-config-PYFK2GIC.js} +3 -3
  57. package/dist/{setup-custom-api-FUA2ZUDD.js → setup-custom-api-A4IZQ2Q4.js} +4 -4
  58. package/dist/{tool-memory-ZP3EMUP5.js → tool-memory-ABPSCFIH.js} +5 -5
  59. package/dist/{weather-report-54XDO6GO.js → weather-report-GXD6KGDS.js} +2 -2
  60. package/package.json +1 -1
  61. package/dist/chunk-M774MKHE.js.map +0 -1
  62. package/dist/registry-command-5L7I44JA.js.map +0 -1
  63. /package/dist/{child-mcp-config-OWCVT4NN.js.map → child-mcp-config-NBELOYYZ.js.map} +0 -0
  64. /package/dist/{chunk-JW4JGJEU.js.map → chunk-2ETX4XQW.js.map} +0 -0
  65. /package/dist/{chunk-P453545L.js.map → chunk-3GF52QPA.js.map} +0 -0
  66. /package/dist/{chunk-AH67WRET.js.map → chunk-3QFQG5QT.js.map} +0 -0
  67. /package/dist/{chunk-5T6S6HFY.js.map → chunk-4IWHFMCN.js.map} +0 -0
  68. /package/dist/{chunk-HFNHJZOK.js.map → chunk-4L7FH53H.js.map} +0 -0
  69. /package/dist/{chunk-A7XUXJWL.js.map → chunk-4RW6OONY.js.map} +0 -0
  70. /package/dist/{chunk-WYDK6V7W.js.map → chunk-5PZIMHNA.js.map} +0 -0
  71. /package/dist/{chunk-Q3IFS7UA.js.map → chunk-ABGRFLJ6.js.map} +0 -0
  72. /package/dist/{chunk-EWJRZNDC.js.map → chunk-CCWPDHBN.js.map} +0 -0
  73. /package/dist/{chunk-ZPCDZMLK.js.map → chunk-E47LOV6Y.js.map} +0 -0
  74. /package/dist/{chunk-SU7RKNIZ.js.map → chunk-EKO6XAAZ.js.map} +0 -0
  75. /package/dist/{chunk-HBZUXO4Q.js.map → chunk-FLUC27DF.js.map} +0 -0
  76. /package/dist/{chunk-BO6QUVXI.js.map → chunk-FVWKAEYH.js.map} +0 -0
  77. /package/dist/{chunk-BKUKBOGV.js.map → chunk-FZCB2P3F.js.map} +0 -0
  78. /package/dist/{chunk-VD4TXDMR.js.map → chunk-GDY23NDK.js.map} +0 -0
  79. /package/dist/{chunk-3OCQKZLC.js.map → chunk-KAJPY6YZ.js.map} +0 -0
  80. /package/dist/{chunk-H4LBBFCO.js.map → chunk-KHEQIB6P.js.map} +0 -0
  81. /package/dist/{chunk-D7FORQJJ.js.map → chunk-KYONCTIL.js.map} +0 -0
  82. /package/dist/{chunk-CJODZY4U.js.map → chunk-L2NPJRZZ.js.map} +0 -0
  83. /package/dist/{chunk-XO25FS24.js.map → chunk-LVGYWJDX.js.map} +0 -0
  84. /package/dist/{chunk-T5KDRR2I.js.map → chunk-LXBWH5XP.js.map} +0 -0
  85. /package/dist/{chunk-DLNCQO6L.js.map → chunk-MNFEZIRI.js.map} +0 -0
  86. /package/dist/{chunk-J545CO5K.js.map → chunk-MNWYIYEZ.js.map} +0 -0
  87. /package/dist/{chunk-LRM5NZ2I.js.map → chunk-MUVRUSQD.js.map} +0 -0
  88. /package/dist/{chunk-V2C2MC6H.js.map → chunk-NAKDVIXS.js.map} +0 -0
  89. /package/dist/{chunk-UWQ3BALH.js.map → chunk-S7R72HUB.js.map} +0 -0
  90. /package/dist/{chunk-ZOBDTJNG.js.map → chunk-TDXLS2TY.js.map} +0 -0
  91. /package/dist/{chunk-DQ2YK2PI.js.map → chunk-UVN6QKCG.js.map} +0 -0
  92. /package/dist/{chunk-3XSEFOI5.js.map → chunk-VJR46M7L.js.map} +0 -0
  93. /package/dist/{chunk-J76KHBF3.js.map → chunk-W65C5VVJ.js.map} +0 -0
  94. /package/dist/{chunk-5WY3N7VX.js.map → chunk-Z7IQUUTZ.js.map} +0 -0
  95. /package/dist/{cli-circuit-breaker-IPNNNVIT.js.map → cli-circuit-breaker-L647V6BR.js.map} +0 -0
  96. /package/dist/{composite-router-JJNQIHX6.js.map → composite-router-NOTUOXFI.js.map} +0 -0
  97. /package/dist/{consensus-vote-W6MIUFZK.js.map → consensus-vote-F5FEDUSU.js.map} +0 -0
  98. /package/dist/{context-retriever-2MOJ446P.js.map → context-retriever-SHT7J6BT.js.map} +0 -0
  99. /package/dist/{doctor-deep-D6E5IWXB.js.map → doctor-deep-REMLGFXP.js.map} +0 -0
  100. /package/dist/{expert-bridge-L25WFHQF.js.map → expert-bridge-Z7XZ7ED5.js.map} +0 -0
  101. /package/dist/{factory-PVN7DDNZ.js.map → factory-CYUNYEMU.js.map} +0 -0
  102. /package/dist/{factory-UCRIJY6Y.js.map → factory-PPAK3TVG.js.map} +0 -0
  103. /package/dist/{improvement-review-7OWJBTOC.js.map → improvement-review-BGFCQV4I.js.map} +0 -0
  104. /package/dist/{init-opencode-PB4G7RJR.js.map → init-opencode-WXY4DUFU.js.map} +0 -0
  105. /package/dist/{issue-triage-EMYHDDTR.js.map → issue-triage-KGLNAJKH.js.map} +0 -0
  106. /package/dist/{pr-reviewer-helpers-DZQDKMMF.js.map → pr-reviewer-helpers-2YJG6XJM.js.map} +0 -0
  107. /package/dist/{repo-security-plan-N2GNWFER.js.map → repo-security-plan-L47DDTAU.js.map} +0 -0
  108. /package/dist/{research-helpers-synthesize-OKNU245Z.js.map → research-helpers-synthesize-IABO7LB4.js.map} +0 -0
  109. /package/dist/{routing-memory-3QXWGWB5.js.map → routing-memory-2YWEWRMQ.js.map} +0 -0
  110. /package/dist/{session-memory-AK4AJXGI.js.map → session-memory-YWOMPCLZ.js.map} +0 -0
  111. /package/dist/{setup-command-V7M6BX2X.js.map → setup-command-IQK73FJ4.js.map} +0 -0
  112. /package/dist/{setup-config-ANAFKZGE.js.map → setup-config-PYFK2GIC.js.map} +0 -0
  113. /package/dist/{setup-custom-api-FUA2ZUDD.js.map → setup-custom-api-A4IZQ2Q4.js.map} +0 -0
  114. /package/dist/{tool-memory-ZP3EMUP5.js.map → tool-memory-ABPSCFIH.js.map} +0 -0
  115. /package/dist/{weather-report-54XDO6GO.js.map → weather-report-GXD6KGDS.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createLogger
3
- } from "./chunk-M774MKHE.js";
3
+ } from "./chunk-KLYBJUTK.js";
4
4
  import "./chunk-CH7QIDHQ.js";
5
5
  import "./chunk-PR4QN5HX.js";
6
6
 
@@ -59,4 +59,4 @@ export {
59
59
  generateMcpConfig,
60
60
  getDefaultAllowedTools
61
61
  };
62
- //# sourceMappingURL=child-mcp-config-OWCVT4NN.js.map
62
+ //# sourceMappingURL=child-mcp-config-NBELOYYZ.js.map
@@ -4,12 +4,12 @@ import {
4
4
  createStream,
5
5
  requireApiKey,
6
6
  validateApiKeyPresence
7
- } from "./chunk-BO6QUVXI.js";
7
+ } from "./chunk-FVWKAEYH.js";
8
8
  import {
9
9
  CUSTOM_API_BASE_URL_ENV,
10
10
  PROVIDER_ENV_KEYS,
11
11
  validateCustomApiBaseUrl
12
- } from "./chunk-J76KHBF3.js";
12
+ } from "./chunk-W65C5VVJ.js";
13
13
  import {
14
14
  NOOP_NOTIFIER,
15
15
  createMcpNotifier,
@@ -21,16 +21,16 @@ import {
21
21
  toolSuccess,
22
22
  withProgressHeartbeat,
23
23
  wrapToolWithTimeout
24
- } from "./chunk-3OCQKZLC.js";
24
+ } from "./chunk-KAJPY6YZ.js";
25
25
  import {
26
26
  getToolMemory
27
- } from "./chunk-ZOBDTJNG.js";
27
+ } from "./chunk-TDXLS2TY.js";
28
28
  import {
29
29
  getDefaultAvailableModelsCache
30
- } from "./chunk-CJODZY4U.js";
30
+ } from "./chunk-L2NPJRZZ.js";
31
31
  import {
32
32
  CUSTOM_API_DEFAULT_MODEL
33
- } from "./chunk-XO25FS24.js";
33
+ } from "./chunk-LVGYWJDX.js";
34
34
  import {
35
35
  authRemediation,
36
36
  createCliAdapter,
@@ -40,7 +40,7 @@ import {
40
40
  isCliAvailable,
41
41
  sanitizeOutput,
42
42
  withTimeout
43
- } from "./chunk-P453545L.js";
43
+ } from "./chunk-3GF52QPA.js";
44
44
  import {
45
45
  AgentError,
46
46
  CLI_NAMES,
@@ -79,7 +79,7 @@ import {
79
79
  resolveCliAlias,
80
80
  resolveVoteTimeout,
81
81
  toRateLimitError
82
- } from "./chunk-M774MKHE.js";
82
+ } from "./chunk-KLYBJUTK.js";
83
83
  import {
84
84
  ensureLearningDir,
85
85
  getOutcomesFile,
@@ -7001,7 +7001,7 @@ async function processVotesWithCascade(engineVotes, opts) {
7001
7001
  var CONTRARIAN_ESCALATION_THRESHOLD = 0.8;
7002
7002
  async function runContrarianCheck(proposal, log) {
7003
7003
  try {
7004
- const { executeExpert } = await import("./expert-bridge-L25WFHQF.js");
7004
+ const { executeExpert } = await import("./expert-bridge-Z7XZ7ED5.js");
7005
7005
  const prompt = [
7006
7006
  "You are a contrarian analyst. Your job is to find reasons this proposal should be REJECTED.",
7007
7007
  "Look for: YAGNI (not needed), MISALIGNED (wrong tech/architecture), SECURITY_RISK, SCOPE_CREEP.",
@@ -7492,4 +7492,4 @@ export {
7492
7492
  CONSENSUS_VOTE_OUTPUT_SCHEMA,
7493
7493
  registerConsensusVoteTool
7494
7494
  };
7495
- //# sourceMappingURL=chunk-JW4JGJEU.js.map
7495
+ //# sourceMappingURL=chunk-2ETX4XQW.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  CliCircuitBreaker,
3
3
  DEFAULT_CIRCUIT_BREAKER_CONFIG
4
- } from "./chunk-A7XUXJWL.js";
4
+ } from "./chunk-4RW6OONY.js";
5
5
  import {
6
6
  generateHyphenId
7
- } from "./chunk-AH67WRET.js";
7
+ } from "./chunk-3QFQG5QT.js";
8
8
  import {
9
9
  CLI_SUBPROCESS_TIMEOUTS,
10
10
  CLI_TIMEOUTS,
@@ -27,7 +27,7 @@ import {
27
27
  getTimeProvider,
28
28
  isRateLimitText,
29
29
  ok
30
- } from "./chunk-M774MKHE.js";
30
+ } from "./chunk-KLYBJUTK.js";
31
31
 
32
32
  // src/cli-adapters/subprocess-adapter.ts
33
33
  import { spawn } from "child_process";
@@ -3327,4 +3327,4 @@ export {
3327
3327
  isCliAvailable,
3328
3328
  getAvailableClis
3329
3329
  };
3330
- //# sourceMappingURL=chunk-P453545L.js.map
3330
+ //# sourceMappingURL=chunk-3GF52QPA.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getRandomProvider,
3
3
  getTimeProvider
4
- } from "./chunk-M774MKHE.js";
4
+ } from "./chunk-KLYBJUTK.js";
5
5
 
6
6
  // src/utils/id-utils.ts
7
7
  import { randomUUID } from "crypto";
@@ -24,4 +24,4 @@ export {
24
24
  generateHyphenId,
25
25
  generateUUID
26
26
  };
27
- //# sourceMappingURL=chunk-AH67WRET.js.map
27
+ //# sourceMappingURL=chunk-3QFQG5QT.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  GitHubProvider,
3
3
  ScmError
4
- } from "./chunk-J545CO5K.js";
4
+ } from "./chunk-MNWYIYEZ.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-VD4TXDMR.js";
14
+ } from "./chunk-GDY23NDK.js";
15
15
  import {
16
16
  createLogger,
17
17
  err,
18
18
  getTimeProvider,
19
19
  ok
20
- } from "./chunk-M774MKHE.js";
20
+ } from "./chunk-KLYBJUTK.js";
21
21
 
22
22
  // src/security/trust-classifier.ts
23
23
  function mapAuthorAssociation(association) {
@@ -1368,4 +1368,4 @@ export {
1368
1368
  IssueTriage,
1369
1369
  createIssueTriage
1370
1370
  };
1371
- //# sourceMappingURL=chunk-5T6S6HFY.js.map
1371
+ //# sourceMappingURL=chunk-4IWHFMCN.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getErrorMessage
3
- } from "./chunk-M774MKHE.js";
3
+ } from "./chunk-KLYBJUTK.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-HFNHJZOK.js.map
80
+ //# sourceMappingURL=chunk-4L7FH53H.js.map
@@ -5,7 +5,7 @@ import {
5
5
  getErrorMessage,
6
6
  getTimeProvider,
7
7
  ok
8
- } from "./chunk-M774MKHE.js";
8
+ } from "./chunk-KLYBJUTK.js";
9
9
 
10
10
  // src/cli-adapters/circuit-breaker-types.ts
11
11
  var CircuitErrorCode = {
@@ -354,4 +354,4 @@ export {
354
354
  CircuitBreakerRegistry,
355
355
  mapCliErrorToCategory
356
356
  };
357
- //# sourceMappingURL=chunk-A7XUXJWL.js.map
357
+ //# sourceMappingURL=chunk-4RW6OONY.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  OpenAIAdapter
3
- } from "./chunk-SU7RKNIZ.js";
3
+ } from "./chunk-EKO6XAAZ.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-M774MKHE.js";
12
+ } from "./chunk-KLYBJUTK.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-WYDK6V7W.js.map
310
+ //# sourceMappingURL=chunk-5PZIMHNA.js.map
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  resolveToken
3
- } from "./chunk-UWQ3BALH.js";
3
+ } from "./chunk-S7R72HUB.js";
4
4
  import {
5
5
  GitHubProvider,
6
6
  ScmError
7
- } from "./chunk-J545CO5K.js";
7
+ } from "./chunk-MNWYIYEZ.js";
8
8
  import {
9
9
  err,
10
10
  ok
11
- } from "./chunk-M774MKHE.js";
11
+ } from "./chunk-KLYBJUTK.js";
12
12
 
13
13
  // src/scm/factory.ts
14
14
  async function createScmProvider(config) {
@@ -41,4 +41,4 @@ export {
41
41
  createScmProvider,
42
42
  createGitHubProvider
43
43
  };
44
- //# sourceMappingURL=chunk-Q3IFS7UA.js.map
44
+ //# sourceMappingURL=chunk-ABGRFLJ6.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DEFAULTS
3
- } from "./chunk-XO25FS24.js";
3
+ } from "./chunk-LVGYWJDX.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-P453545L.js";
13
+ } from "./chunk-3GF52QPA.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-M774MKHE.js";
29
+ } from "./chunk-KLYBJUTK.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.100.2" : "dev";
43
+ var VERSION = true ? "2.101.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-V7M6BX2X.js");
2099
+ const { runSetup } = await import("./setup-command-IQK73FJ4.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-ANAFKZGE.js");
2113
+ const { runConfigInitSync } = await import("./setup-config-PYFK2GIC.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-EWJRZNDC.js.map
2211
+ //# sourceMappingURL=chunk-CCWPDHBN.js.map
@@ -2,7 +2,7 @@ import {
2
2
  TASK_CATEGORIES,
3
3
  getAdaptiveBonus,
4
4
  getOutcomeStore
5
- } from "./chunk-M774MKHE.js";
5
+ } from "./chunk-KLYBJUTK.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-ZPCDZMLK.js.map
109
+ //# sourceMappingURL=chunk-E47LOV6Y.js.map
@@ -3,14 +3,14 @@ import {
3
3
  createStream,
4
4
  requireApiKey,
5
5
  validateApiKeyPresence
6
- } from "./chunk-BO6QUVXI.js";
6
+ } from "./chunk-FVWKAEYH.js";
7
7
  import {
8
8
  ModelCapability,
9
9
  err,
10
10
  getCliModelName,
11
11
  getTokenEstimator,
12
12
  ok
13
- } from "./chunk-M774MKHE.js";
13
+ } from "./chunk-KLYBJUTK.js";
14
14
 
15
15
  // src/adapters/openai-types.ts
16
16
  var OPENAI_MODELS = {
@@ -553,4 +553,4 @@ export {
553
553
  OpenAIAdapter,
554
554
  createOpenAIAdapter
555
555
  };
556
- //# sourceMappingURL=chunk-SU7RKNIZ.js.map
556
+ //# sourceMappingURL=chunk-EKO6XAAZ.js.map
@@ -3,7 +3,7 @@ import {
3
3
  MODEL_IDS,
4
4
  getTimeProvider,
5
5
  resolveModelIdentitySync
6
- } from "./chunk-M774MKHE.js";
6
+ } from "./chunk-KLYBJUTK.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-HBZUXO4Q.js.map
153
+ //# sourceMappingURL=chunk-FLUC27DF.js.map
@@ -10,7 +10,7 @@ import {
10
10
  getTokenEstimator,
11
11
  isRateLimitLikeError,
12
12
  ok
13
- } from "./chunk-M774MKHE.js";
13
+ } from "./chunk-KLYBJUTK.js";
14
14
 
15
15
  // src/adapters/base-adapter.ts
16
16
  var AdapterModelError = class extends ModelError {
@@ -707,4 +707,4 @@ export {
707
707
  DEFAULT_COLLECT_STREAM_MAX_CHUNKS,
708
708
  collectStream
709
709
  };
710
- //# sourceMappingURL=chunk-BO6QUVXI.js.map
710
+ //# sourceMappingURL=chunk-FVWKAEYH.js.map
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  createLogger,
6
6
  getTimeProvider
7
- } from "./chunk-M774MKHE.js";
7
+ } from "./chunk-KLYBJUTK.js";
8
8
 
9
9
  // src/mcp/tools/scanner-registry-fetcher.ts
10
10
  import { z } from "zod";
@@ -721,4 +721,4 @@ export {
721
721
  generateSecurityPlan,
722
722
  buildPlanFromAnalysis
723
723
  };
724
- //# sourceMappingURL=chunk-BKUKBOGV.js.map
724
+ //# sourceMappingURL=chunk-FZCB2P3F.js.map
@@ -2,7 +2,7 @@ import {
2
2
  CACHE_TIMEOUTS,
3
3
  createLogger,
4
4
  getTimeProvider
5
- } from "./chunk-M774MKHE.js";
5
+ } from "./chunk-KLYBJUTK.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-VD4TXDMR.js.map
563
+ //# sourceMappingURL=chunk-GDY23NDK.js.map
@@ -11,7 +11,7 @@ import {
11
11
  getErrorMessage,
12
12
  getTimeProvider,
13
13
  ok
14
- } from "./chunk-M774MKHE.js";
14
+ } from "./chunk-KLYBJUTK.js";
15
15
  import {
16
16
  getNexusDataDir
17
17
  } from "./chunk-CH7QIDHQ.js";
@@ -2390,4 +2390,4 @@ export {
2390
2390
  getMcpAnnotations,
2391
2391
  getToolAnnotations
2392
2392
  };
2393
- //# sourceMappingURL=chunk-3OCQKZLC.js.map
2393
+ //# sourceMappingURL=chunk-KAJPY6YZ.js.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  resolveCliSlot
3
- } from "./chunk-HBZUXO4Q.js";
3
+ } from "./chunk-FLUC27DF.js";
4
4
  import {
5
5
  createLogger,
6
6
  getTimeProvider,
7
7
  isRateLimitText
8
- } from "./chunk-M774MKHE.js";
8
+ } from "./chunk-KLYBJUTK.js";
9
9
 
10
10
  // src/pipeline/expert-bridge.ts
11
11
  function resolveCliFromModelString(model) {
@@ -21,7 +21,7 @@ async function getMcpConfigPath() {
21
21
  if (cachedMcpConfigPath !== null) return cachedMcpConfigPath;
22
22
  mcpConfigInitPromise ??= (async () => {
23
23
  try {
24
- const { generateMcpConfig } = await import("./child-mcp-config-OWCVT4NN.js");
24
+ const { generateMcpConfig } = await import("./child-mcp-config-NBELOYYZ.js");
25
25
  const config = await generateMcpConfig();
26
26
  cachedMcpConfigPath = config.configPath;
27
27
  cachedMcpConfigCleanup = config.cleanup;
@@ -71,8 +71,8 @@ var routerInitPromise = null;
71
71
  async function getRouter() {
72
72
  if (cachedRouter !== null) return cachedRouter;
73
73
  routerInitPromise ??= (async () => {
74
- const { createAllAdapters } = await import("./factory-PVN7DDNZ.js");
75
- const { createCompositeRouter } = await import("./composite-router-JJNQIHX6.js");
74
+ const { createAllAdapters } = await import("./factory-PPAK3TVG.js");
75
+ const { createCompositeRouter } = await import("./composite-router-NOTUOXFI.js");
76
76
  const adapters = createAllAdapters();
77
77
  if (adapters.size === 0) {
78
78
  routerInitPromise = null;
@@ -80,7 +80,7 @@ async function getRouter() {
80
80
  }
81
81
  cachedRouter = adaptCompositeRouter(createCompositeRouter(adapters));
82
82
  try {
83
- const { createCliCircuitBreakerIntegration } = await import("./cli-circuit-breaker-IPNNNVIT.js");
83
+ const { createCliCircuitBreakerIntegration } = await import("./cli-circuit-breaker-L647V6BR.js");
84
84
  cachedCircuitBreaker = createCliCircuitBreakerIntegration([...adapters.values()]);
85
85
  } catch (error) {
86
86
  const msg = error instanceof Error ? error.message : String(error);
@@ -185,4 +185,4 @@ export {
185
185
  shutdownExpertBridge,
186
186
  executeExpert
187
187
  };
188
- //# sourceMappingURL=chunk-H4LBBFCO.js.map
188
+ //# sourceMappingURL=chunk-KHEQIB6P.js.map
@@ -1832,15 +1832,24 @@ var ModelCapabilitiesMatrixSchema = z.object({
1832
1832
 
1833
1833
  // src/config/manifest-overlay.ts
1834
1834
  var MANIFEST_ENV_VAR = "NEXUS_MODELS_OVERLAY_PATH";
1835
+ var USER_MANIFEST_ENV_VAR = "NEXUS_MODEL_REGISTRY_OVERLAY";
1835
1836
  var MANIFEST_MAX_BYTES = 1 * 1024 * 1024;
1836
1837
  function defaultManifestPath() {
1837
1838
  return nexusDataPath("models-manifest.yaml");
1838
1839
  }
1840
+ function defaultUserManifestPath() {
1841
+ return nexusDataPath("models.yaml");
1842
+ }
1839
1843
  function resolveManifestPath(env = process.env) {
1840
1844
  const override = env[MANIFEST_ENV_VAR];
1841
1845
  if (override !== void 0 && override !== "") return override;
1842
1846
  return defaultManifestPath();
1843
1847
  }
1848
+ function resolveUserManifestPath(env = process.env) {
1849
+ const override = env[USER_MANIFEST_ENV_VAR];
1850
+ if (override !== void 0 && override !== "") return override;
1851
+ return defaultUserManifestPath();
1852
+ }
1844
1853
  var ModelVendorSchema = z2.enum([
1845
1854
  "anthropic",
1846
1855
  "openai",
@@ -1899,7 +1908,34 @@ var ManifestSchema = z2.object({
1899
1908
  });
1900
1909
  function loadManifestOverlay(options) {
1901
1910
  const logger11 = options?.logger ?? createLogger({ component: "manifest-overlay" });
1902
- const path2 = options?.path ?? resolveManifestPath(options?.env);
1911
+ if (options?.path !== void 0) {
1912
+ return loadManifestFile(options.path, logger11);
1913
+ }
1914
+ const userPath = resolveUserManifestPath(options?.env);
1915
+ const operatorPath = resolveManifestPath(options?.env);
1916
+ const user = loadManifestFile(userPath, logger11);
1917
+ const operator = loadManifestFile(operatorPath, logger11);
1918
+ return mergeOverlays(user, operator);
1919
+ }
1920
+ function mergeOverlays(lower, higher) {
1921
+ const byId = /* @__PURE__ */ new Map();
1922
+ for (const entry of lower.entries) byId.set(entry.id, entry);
1923
+ for (const entry of higher.entries) byId.set(entry.id, entry);
1924
+ const entries = [...byId.values()];
1925
+ const merged = {
1926
+ entries,
1927
+ rejections: [...lower.rejections, ...higher.rejections],
1928
+ path: higher.path,
1929
+ status: entries.length > 0 ? "loaded" : higher.status
1930
+ };
1931
+ return merged;
1932
+ }
1933
+ function loadUserManifestOverlay(options) {
1934
+ const logger11 = options?.logger ?? createLogger({ component: "manifest-overlay" });
1935
+ const path2 = options?.path ?? resolveUserManifestPath(options?.env);
1936
+ return loadManifestFile(path2, logger11);
1937
+ }
1938
+ function loadManifestFile(path2, logger11) {
1903
1939
  let exists = false;
1904
1940
  try {
1905
1941
  exists = existsSync(path2);
@@ -11486,7 +11522,7 @@ var CompositeRouter = class _CompositeRouter {
11486
11522
  */
11487
11523
  async consultUnifiedContext(task) {
11488
11524
  try {
11489
- const { getContextForTask, inferTaskCategory } = await import("./context-retriever-2MOJ446P.js");
11525
+ const { getContextForTask, inferTaskCategory } = await import("./context-retriever-SHT7J6BT.js");
11490
11526
  const ctx = await getContextForTask({
11491
11527
  task: task.content,
11492
11528
  category: inferTaskCategory(task.content),
@@ -12667,7 +12703,10 @@ export {
12667
12703
  CliNameSchema,
12668
12704
  DEFAULT_CLI,
12669
12705
  MODEL_IDS,
12670
- ModelCapabilitySchema,
12706
+ USER_MANIFEST_ENV_VAR,
12707
+ MANIFEST_MAX_BYTES,
12708
+ defaultUserManifestPath,
12709
+ loadUserManifestOverlay,
12671
12710
  loadGeneratedRegistryEntries,
12672
12711
  ModelRegistry,
12673
12712
  getDefaultRegistry,
@@ -12819,4 +12858,4 @@ export {
12819
12858
  ParseError,
12820
12859
  OrchestratorError
12821
12860
  };
12822
- //# sourceMappingURL=chunk-M774MKHE.js.map
12861
+ //# sourceMappingURL=chunk-KLYBJUTK.js.map