nexus-agents 2.97.0 → 2.98.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 (117) hide show
  1. package/dist/{child-mcp-config-WVPJIK2J.js → child-mcp-config-OWCVT4NN.js} +2 -2
  2. package/dist/{chunk-D3OT7TOA.js → chunk-3XSEFOI5.js} +3 -3
  3. package/dist/{chunk-KKVH3PDK.js → chunk-5T6S6HFY.js} +4 -4
  4. package/dist/{chunk-T5TYWM5S.js → chunk-5WY3N7VX.js} +2 -2
  5. package/dist/{chunk-6IN4MKDA.js → chunk-6IHEDRKI.js} +7 -7
  6. package/dist/{chunk-APLZRTYC.js → chunk-6ZXNMJEX.js} +7 -7
  7. package/dist/{chunk-674NONPG.js → chunk-A7XUXJWL.js} +2 -2
  8. package/dist/{chunk-HZGHPBTV.js → chunk-AH67WRET.js} +2 -2
  9. package/dist/{chunk-WXDWDGVL.js → chunk-BKUKBOGV.js} +2 -2
  10. package/dist/{chunk-GERVGPTF.js → chunk-BO6QUVXI.js} +2 -2
  11. package/dist/{chunk-OSHCOBDK.js → chunk-CJODZY4U.js} +2 -2
  12. package/dist/{chunk-76FTBRUS.js → chunk-DE3J2HYT.js} +30 -30
  13. package/dist/{chunk-HIWO2WWP.js → chunk-DLNCQO6L.js} +2 -2
  14. package/dist/{chunk-ML4IF3PS.js → chunk-EM7NUGMG.js} +22 -5
  15. package/dist/{chunk-ML4IF3PS.js.map → chunk-EM7NUGMG.js.map} +1 -1
  16. package/dist/{chunk-5LGAPYX7.js → chunk-G4A7SSML.js} +2 -2
  17. package/dist/{chunk-N5656LE3.js → chunk-HBZUXO4Q.js} +2 -2
  18. package/dist/{chunk-NTBVUWU4.js → chunk-HFNHJZOK.js} +2 -2
  19. package/dist/{chunk-EY7LL4F4.js → chunk-J545CO5K.js} +2 -2
  20. package/dist/{chunk-65LE457J.js → chunk-J76KHBF3.js} +2 -2
  21. package/dist/{chunk-JTQLV374.js → chunk-M774MKHE.js} +3 -2
  22. package/dist/chunk-M774MKHE.js.map +1 -0
  23. package/dist/{chunk-P2BKWVKF.js → chunk-MKFLI5DK.js} +3 -3
  24. package/dist/{chunk-SWNOQW7Y.js → chunk-PK4TTHXW.js} +5 -5
  25. package/dist/{chunk-SAUBPHQ7.js → chunk-Q3IFS7UA.js} +4 -4
  26. package/dist/{chunk-GAIUXYF4.js → chunk-RCKLAJ2H.js} +38 -13
  27. package/dist/chunk-RCKLAJ2H.js.map +1 -0
  28. package/dist/{chunk-HWCMNFIS.js → chunk-SU7RKNIZ.js} +3 -3
  29. package/dist/{chunk-7BLBXITB.js → chunk-T5KDRR2I.js} +3 -3
  30. package/dist/{chunk-FDTIRCSL.js → chunk-UWQ3BALH.js} +2 -2
  31. package/dist/{chunk-E43RUPLP.js → chunk-V2C2MC6H.js} +3 -3
  32. package/dist/{chunk-SZNNT2DH.js → chunk-VD4TXDMR.js} +2 -2
  33. package/dist/{chunk-JX6VL7JF.js → chunk-WYDK6V7W.js} +3 -3
  34. package/dist/{chunk-UNOOL6EN.js → chunk-XO25FS24.js} +2 -2
  35. package/dist/{chunk-IHKPGTF3.js → chunk-ZOBDTJNG.js} +4 -4
  36. package/dist/{chunk-OKRTOMKX.js → chunk-ZPCDZMLK.js} +2 -2
  37. package/dist/{cli-circuit-breaker-STKW4DTL.js → cli-circuit-breaker-IPNNNVIT.js} +4 -4
  38. package/dist/cli.js +39 -39
  39. package/dist/{composite-router-POFAM7T4.js → composite-router-JJNQIHX6.js} +2 -2
  40. package/dist/{consensus-vote-EQAYX53Z.js → consensus-vote-Z3BWJLRE.js} +13 -13
  41. package/dist/{context-retriever-H22L3WFV.js → context-retriever-2MOJ446P.js} +6 -6
  42. package/dist/{doctor-deep-HGAC6N5Y.js → doctor-deep-D6E5IWXB.js} +3 -3
  43. package/dist/{expert-bridge-IAQPOJAQ.js → expert-bridge-EOVHUCJ4.js} +4 -4
  44. package/dist/{factory-ZIZYUDKH.js → factory-NJRJAZKK.js} +5 -5
  45. package/dist/{factory-P2SQS7UM.js → factory-UCRIJY6Y.js} +5 -5
  46. package/dist/{improvement-review-G2HAMGZP.js → improvement-review-Q4LBTVQP.js} +4 -4
  47. package/dist/index.js +28 -28
  48. package/dist/index.js.map +1 -1
  49. package/dist/{init-opencode-RHCYZDZW.js → init-opencode-PB4G7RJR.js} +5 -5
  50. package/dist/{issue-triage-VVNQIQW5.js → issue-triage-EMYHDDTR.js} +5 -5
  51. package/dist/{pr-reviewer-helpers-UN7RDPDN.js → pr-reviewer-helpers-DZQDKMMF.js} +4 -4
  52. package/dist/{registry-command-OVRRKYHO.js → registry-command-AX7Z4K4W.js} +47 -243
  53. package/dist/registry-command-AX7Z4K4W.js.map +1 -0
  54. package/dist/{repo-security-plan-X74TBYOV.js → repo-security-plan-N2GNWFER.js} +3 -3
  55. package/dist/{research-helpers-synthesize-OSP6FGNV.js → research-helpers-synthesize-OKNU245Z.js} +3 -3
  56. package/dist/{routing-memory-5T5QJF47.js → routing-memory-3QXWGWB5.js} +2 -2
  57. package/dist/{session-memory-X7CJ6X4A.js → session-memory-AK4AJXGI.js} +3 -3
  58. package/dist/{setup-command-ZWJCGPJ5.js → setup-command-JVJ2PNL6.js} +11 -11
  59. package/dist/{setup-config-YVIKUNOB.js → setup-config-ANAFKZGE.js} +3 -3
  60. package/dist/{setup-custom-api-FLV4SELI.js → setup-custom-api-FUA2ZUDD.js} +4 -4
  61. package/dist/{tool-memory-QNEAKRKV.js → tool-memory-ZP3EMUP5.js} +5 -5
  62. package/dist/{weather-report-SUVIXWKI.js → weather-report-54XDO6GO.js} +2 -2
  63. package/package.json +1 -1
  64. package/dist/chunk-GAIUXYF4.js.map +0 -1
  65. package/dist/chunk-JTQLV374.js.map +0 -1
  66. package/dist/registry-command-OVRRKYHO.js.map +0 -1
  67. /package/dist/{child-mcp-config-WVPJIK2J.js.map → child-mcp-config-OWCVT4NN.js.map} +0 -0
  68. /package/dist/{chunk-D3OT7TOA.js.map → chunk-3XSEFOI5.js.map} +0 -0
  69. /package/dist/{chunk-KKVH3PDK.js.map → chunk-5T6S6HFY.js.map} +0 -0
  70. /package/dist/{chunk-T5TYWM5S.js.map → chunk-5WY3N7VX.js.map} +0 -0
  71. /package/dist/{chunk-6IN4MKDA.js.map → chunk-6IHEDRKI.js.map} +0 -0
  72. /package/dist/{chunk-APLZRTYC.js.map → chunk-6ZXNMJEX.js.map} +0 -0
  73. /package/dist/{chunk-674NONPG.js.map → chunk-A7XUXJWL.js.map} +0 -0
  74. /package/dist/{chunk-HZGHPBTV.js.map → chunk-AH67WRET.js.map} +0 -0
  75. /package/dist/{chunk-WXDWDGVL.js.map → chunk-BKUKBOGV.js.map} +0 -0
  76. /package/dist/{chunk-GERVGPTF.js.map → chunk-BO6QUVXI.js.map} +0 -0
  77. /package/dist/{chunk-OSHCOBDK.js.map → chunk-CJODZY4U.js.map} +0 -0
  78. /package/dist/{chunk-76FTBRUS.js.map → chunk-DE3J2HYT.js.map} +0 -0
  79. /package/dist/{chunk-HIWO2WWP.js.map → chunk-DLNCQO6L.js.map} +0 -0
  80. /package/dist/{chunk-5LGAPYX7.js.map → chunk-G4A7SSML.js.map} +0 -0
  81. /package/dist/{chunk-N5656LE3.js.map → chunk-HBZUXO4Q.js.map} +0 -0
  82. /package/dist/{chunk-NTBVUWU4.js.map → chunk-HFNHJZOK.js.map} +0 -0
  83. /package/dist/{chunk-EY7LL4F4.js.map → chunk-J545CO5K.js.map} +0 -0
  84. /package/dist/{chunk-65LE457J.js.map → chunk-J76KHBF3.js.map} +0 -0
  85. /package/dist/{chunk-P2BKWVKF.js.map → chunk-MKFLI5DK.js.map} +0 -0
  86. /package/dist/{chunk-SWNOQW7Y.js.map → chunk-PK4TTHXW.js.map} +0 -0
  87. /package/dist/{chunk-SAUBPHQ7.js.map → chunk-Q3IFS7UA.js.map} +0 -0
  88. /package/dist/{chunk-HWCMNFIS.js.map → chunk-SU7RKNIZ.js.map} +0 -0
  89. /package/dist/{chunk-7BLBXITB.js.map → chunk-T5KDRR2I.js.map} +0 -0
  90. /package/dist/{chunk-FDTIRCSL.js.map → chunk-UWQ3BALH.js.map} +0 -0
  91. /package/dist/{chunk-E43RUPLP.js.map → chunk-V2C2MC6H.js.map} +0 -0
  92. /package/dist/{chunk-SZNNT2DH.js.map → chunk-VD4TXDMR.js.map} +0 -0
  93. /package/dist/{chunk-JX6VL7JF.js.map → chunk-WYDK6V7W.js.map} +0 -0
  94. /package/dist/{chunk-UNOOL6EN.js.map → chunk-XO25FS24.js.map} +0 -0
  95. /package/dist/{chunk-IHKPGTF3.js.map → chunk-ZOBDTJNG.js.map} +0 -0
  96. /package/dist/{chunk-OKRTOMKX.js.map → chunk-ZPCDZMLK.js.map} +0 -0
  97. /package/dist/{cli-circuit-breaker-STKW4DTL.js.map → cli-circuit-breaker-IPNNNVIT.js.map} +0 -0
  98. /package/dist/{composite-router-POFAM7T4.js.map → composite-router-JJNQIHX6.js.map} +0 -0
  99. /package/dist/{consensus-vote-EQAYX53Z.js.map → consensus-vote-Z3BWJLRE.js.map} +0 -0
  100. /package/dist/{context-retriever-H22L3WFV.js.map → context-retriever-2MOJ446P.js.map} +0 -0
  101. /package/dist/{doctor-deep-HGAC6N5Y.js.map → doctor-deep-D6E5IWXB.js.map} +0 -0
  102. /package/dist/{expert-bridge-IAQPOJAQ.js.map → expert-bridge-EOVHUCJ4.js.map} +0 -0
  103. /package/dist/{factory-P2SQS7UM.js.map → factory-NJRJAZKK.js.map} +0 -0
  104. /package/dist/{factory-ZIZYUDKH.js.map → factory-UCRIJY6Y.js.map} +0 -0
  105. /package/dist/{improvement-review-G2HAMGZP.js.map → improvement-review-Q4LBTVQP.js.map} +0 -0
  106. /package/dist/{init-opencode-RHCYZDZW.js.map → init-opencode-PB4G7RJR.js.map} +0 -0
  107. /package/dist/{issue-triage-VVNQIQW5.js.map → issue-triage-EMYHDDTR.js.map} +0 -0
  108. /package/dist/{pr-reviewer-helpers-UN7RDPDN.js.map → pr-reviewer-helpers-DZQDKMMF.js.map} +0 -0
  109. /package/dist/{repo-security-plan-X74TBYOV.js.map → repo-security-plan-N2GNWFER.js.map} +0 -0
  110. /package/dist/{research-helpers-synthesize-OSP6FGNV.js.map → research-helpers-synthesize-OKNU245Z.js.map} +0 -0
  111. /package/dist/{routing-memory-5T5QJF47.js.map → routing-memory-3QXWGWB5.js.map} +0 -0
  112. /package/dist/{session-memory-X7CJ6X4A.js.map → session-memory-AK4AJXGI.js.map} +0 -0
  113. /package/dist/{setup-command-ZWJCGPJ5.js.map → setup-command-JVJ2PNL6.js.map} +0 -0
  114. /package/dist/{setup-config-YVIKUNOB.js.map → setup-config-ANAFKZGE.js.map} +0 -0
  115. /package/dist/{setup-custom-api-FLV4SELI.js.map → setup-custom-api-FUA2ZUDD.js.map} +0 -0
  116. /package/dist/{tool-memory-QNEAKRKV.js.map → tool-memory-ZP3EMUP5.js.map} +0 -0
  117. /package/dist/{weather-report-SUVIXWKI.js.map → weather-report-54XDO6GO.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createLogger
3
- } from "./chunk-JTQLV374.js";
3
+ } from "./chunk-M774MKHE.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-WVPJIK2J.js.map
62
+ //# sourceMappingURL=child-mcp-config-OWCVT4NN.js.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  getToolMemory
3
- } from "./chunk-IHKPGTF3.js";
3
+ } from "./chunk-ZOBDTJNG.js";
4
4
  import {
5
5
  CLI_NAMES,
6
6
  StrategyDistiller,
7
7
  createLogger,
8
8
  getOutcomeStore,
9
9
  registerPersistentDistillerFactory
10
- } from "./chunk-JTQLV374.js";
10
+ } from "./chunk-M774MKHE.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-D3OT7TOA.js.map
276
+ //# sourceMappingURL=chunk-3XSEFOI5.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  GitHubProvider,
3
3
  ScmError
4
- } from "./chunk-EY7LL4F4.js";
4
+ } from "./chunk-J545CO5K.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-SZNNT2DH.js";
14
+ } from "./chunk-VD4TXDMR.js";
15
15
  import {
16
16
  createLogger,
17
17
  err,
18
18
  getTimeProvider,
19
19
  ok
20
- } from "./chunk-JTQLV374.js";
20
+ } from "./chunk-M774MKHE.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-KKVH3PDK.js.map
1371
+ //# sourceMappingURL=chunk-5T6S6HFY.js.map
@@ -8,7 +8,7 @@ import {
8
8
  getErrorMessage,
9
9
  ok,
10
10
  parseBoolEnv
11
- } from "./chunk-JTQLV374.js";
11
+ } from "./chunk-M774MKHE.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-T5TYWM5S.js.map
1018
+ //# sourceMappingURL=chunk-5WY3N7VX.js.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  resolveCliSlot
3
- } from "./chunk-N5656LE3.js";
3
+ } from "./chunk-HBZUXO4Q.js";
4
4
  import {
5
5
  createLogger,
6
6
  getTimeProvider,
7
7
  isRateLimitText
8
- } from "./chunk-JTQLV374.js";
8
+ } from "./chunk-M774MKHE.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-WVPJIK2J.js");
24
+ const { generateMcpConfig } = await import("./child-mcp-config-OWCVT4NN.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-ZIZYUDKH.js");
75
- const { createCompositeRouter } = await import("./composite-router-POFAM7T4.js");
74
+ const { createAllAdapters } = await import("./factory-NJRJAZKK.js");
75
+ const { createCompositeRouter } = await import("./composite-router-JJNQIHX6.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-STKW4DTL.js");
83
+ const { createCliCircuitBreakerIntegration } = await import("./cli-circuit-breaker-IPNNNVIT.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-6IN4MKDA.js.map
188
+ //# sourceMappingURL=chunk-6IHEDRKI.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DEFAULTS
3
- } from "./chunk-UNOOL6EN.js";
3
+ } from "./chunk-XO25FS24.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-ML4IF3PS.js";
13
+ } from "./chunk-EM7NUGMG.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-JTQLV374.js";
29
+ } from "./chunk-M774MKHE.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.97.0" : "dev";
43
+ var VERSION = true ? "2.98.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-ZWJCGPJ5.js");
2099
+ const { runSetup } = await import("./setup-command-JVJ2PNL6.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-YVIKUNOB.js");
2113
+ const { runConfigInitSync } = await import("./setup-config-ANAFKZGE.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-APLZRTYC.js.map
2211
+ //# sourceMappingURL=chunk-6ZXNMJEX.js.map
@@ -5,7 +5,7 @@ import {
5
5
  getErrorMessage,
6
6
  getTimeProvider,
7
7
  ok
8
- } from "./chunk-JTQLV374.js";
8
+ } from "./chunk-M774MKHE.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-674NONPG.js.map
357
+ //# sourceMappingURL=chunk-A7XUXJWL.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  getRandomProvider,
3
3
  getTimeProvider
4
- } from "./chunk-JTQLV374.js";
4
+ } from "./chunk-M774MKHE.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-HZGHPBTV.js.map
27
+ //# sourceMappingURL=chunk-AH67WRET.js.map
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  createLogger,
6
6
  getTimeProvider
7
- } from "./chunk-JTQLV374.js";
7
+ } from "./chunk-M774MKHE.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-WXDWDGVL.js.map
724
+ //# sourceMappingURL=chunk-BKUKBOGV.js.map
@@ -10,7 +10,7 @@ import {
10
10
  getTokenEstimator,
11
11
  isRateLimitLikeError,
12
12
  ok
13
- } from "./chunk-JTQLV374.js";
13
+ } from "./chunk-M774MKHE.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-GERVGPTF.js.map
710
+ //# sourceMappingURL=chunk-BO6QUVXI.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createLogger
3
- } from "./chunk-JTQLV374.js";
3
+ } from "./chunk-M774MKHE.js";
4
4
 
5
5
  // src/config/available-models-cache.ts
6
6
  var logger = createLogger({ component: "available-models-cache" });
@@ -150,4 +150,4 @@ export {
150
150
  getDefaultAvailableModelsCache,
151
151
  setDefaultAvailableModelsCache
152
152
  };
153
- //# sourceMappingURL=chunk-OSHCOBDK.js.map
153
+ //# sourceMappingURL=chunk-CJODZY4U.js.map
@@ -6,10 +6,10 @@ import {
6
6
  import {
7
7
  getTokenEnvVars,
8
8
  resolveToken
9
- } from "./chunk-FDTIRCSL.js";
9
+ } from "./chunk-UWQ3BALH.js";
10
10
  import {
11
11
  executeExpert
12
- } from "./chunk-6IN4MKDA.js";
12
+ } from "./chunk-6IHEDRKI.js";
13
13
  import {
14
14
  EventTopics,
15
15
  JobStatusSchema,
@@ -30,7 +30,7 @@ import {
30
30
  writeJobComplete,
31
31
  writeJobFailed,
32
32
  writeJobPending
33
- } from "./chunk-GAIUXYF4.js";
33
+ } from "./chunk-RCKLAJ2H.js";
34
34
  import {
35
35
  REGISTRY_PATH,
36
36
  getProjectRoot,
@@ -39,19 +39,19 @@ import {
39
39
  normalizeTopicToCanonical,
40
40
  savePapersRegistry,
41
41
  synthesizeResearch
42
- } from "./chunk-T5TYWM5S.js";
42
+ } from "./chunk-5WY3N7VX.js";
43
43
  import {
44
44
  IssueTriage,
45
45
  createAuditTrail,
46
46
  createGraphAuditBridge
47
- } from "./chunk-KKVH3PDK.js";
47
+ } from "./chunk-5T6S6HFY.js";
48
48
  import {
49
49
  resolveEnvMode,
50
50
  sanitizeInput
51
- } from "./chunk-SZNNT2DH.js";
51
+ } from "./chunk-VD4TXDMR.js";
52
52
  import {
53
53
  withPrerequisite
54
- } from "./chunk-P2BKWVKF.js";
54
+ } from "./chunk-MKFLI5DK.js";
55
55
  import {
56
56
  NOOP_NOTIFIER,
57
57
  RateLimiter,
@@ -70,10 +70,10 @@ import {
70
70
  withAccessPolicy,
71
71
  withProgressHeartbeat,
72
72
  wrapToolWithTimeout
73
- } from "./chunk-5LGAPYX7.js";
73
+ } from "./chunk-G4A7SSML.js";
74
74
  import {
75
75
  generateSecurityPlan
76
- } from "./chunk-WXDWDGVL.js";
76
+ } from "./chunk-BKUKBOGV.js";
77
77
  import {
78
78
  analyzeGitHubRepo
79
79
  } from "./chunk-HFOQKCD2.js";
@@ -81,26 +81,26 @@ import {
81
81
  getContextForTask,
82
82
  inferTaskCategory,
83
83
  summarizeContextForPrompt
84
- } from "./chunk-D3OT7TOA.js";
84
+ } from "./chunk-3XSEFOI5.js";
85
85
  import {
86
86
  DEFAULT_RELEVANCE_CONFIG,
87
87
  MemoryImportance,
88
88
  calculateTextJaccardSimilarity,
89
89
  getToolMemory
90
- } from "./chunk-IHKPGTF3.js";
90
+ } from "./chunk-ZOBDTJNG.js";
91
91
  import {
92
92
  DEFAULT_TASK_TTL_MS,
93
93
  DEFAULT_TOOL_RATE_LIMITS,
94
94
  clampTaskTtl
95
- } from "./chunk-APLZRTYC.js";
95
+ } from "./chunk-6ZXNMJEX.js";
96
96
  import {
97
97
  getAvailabilityCache,
98
98
  getCliForModelId,
99
99
  resolveFallback
100
- } from "./chunk-N5656LE3.js";
100
+ } from "./chunk-HBZUXO4Q.js";
101
101
  import {
102
102
  DEFAULTS
103
- } from "./chunk-UNOOL6EN.js";
103
+ } from "./chunk-XO25FS24.js";
104
104
  import {
105
105
  resolveInsideRoot
106
106
  } from "./chunk-NUBSJGQZ.js";
@@ -116,11 +116,11 @@ import {
116
116
  getAvailableClis,
117
117
  sleep,
118
118
  withTimeout
119
- } from "./chunk-ML4IF3PS.js";
119
+ } from "./chunk-EM7NUGMG.js";
120
120
  import {
121
121
  generateHyphenId,
122
122
  generateUUID
123
- } from "./chunk-HZGHPBTV.js";
123
+ } from "./chunk-AH67WRET.js";
124
124
  import {
125
125
  BUILT_IN_EXPERTS,
126
126
  BuiltInExpertTypeSchema,
@@ -132,7 +132,7 @@ import {
132
132
  } from "./chunk-PQHVC4BD.js";
133
133
  import {
134
134
  createSessionMemory
135
- } from "./chunk-HIWO2WWP.js";
135
+ } from "./chunk-DLNCQO6L.js";
136
136
  import {
137
137
  AGENT_ROUTER_TIMEOUTS,
138
138
  API_TIMEOUTS,
@@ -204,7 +204,7 @@ import {
204
204
  resolveModelIdentitySync,
205
205
  toExpertTaskAnalysisResult,
206
206
  withStep
207
- } from "./chunk-JTQLV374.js";
207
+ } from "./chunk-M774MKHE.js";
208
208
  import {
209
209
  nexusDataPath,
210
210
  nexusDataPathEnsure
@@ -27005,7 +27005,7 @@ async function populateUnifiedContextOnState(state) {
27005
27005
  try {
27006
27006
  const taskCandidate = state["task"];
27007
27007
  if (typeof taskCandidate !== "string" || taskCandidate === "") return;
27008
- const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-H22L3WFV.js");
27008
+ const { getContextForTask: getContextForTask2, inferTaskCategory: inferTaskCategory2 } = await import("./context-retriever-2MOJ446P.js");
27009
27009
  const ctx = await getContextForTask2({
27010
27010
  task: taskCandidate,
27011
27011
  category: inferTaskCategory2(taskCandidate),
@@ -42408,7 +42408,7 @@ async function tryIssueTriage(task) {
42408
42408
  try {
42409
42409
  const issueMatch = task.match(/github\.com\/([^/]+\/[^/]+)\/issues\/(\d+)/);
42410
42410
  if (issueMatch === null) return null;
42411
- const { createIssueTriage } = await import("./issue-triage-VVNQIQW5.js");
42411
+ const { createIssueTriage } = await import("./issue-triage-EMYHDDTR.js");
42412
42412
  const triage = createIssueTriage();
42413
42413
  const owner = issueMatch[1] ?? "";
42414
42414
  const num = issueMatch[2] ?? "";
@@ -42436,7 +42436,7 @@ var VALID_TEMPLATES = /* @__PURE__ */ new Set([
42436
42436
  ]);
42437
42437
  async function classifyWithLLM(task) {
42438
42438
  try {
42439
- const { executeExpert: executeExpert2 } = await import("./expert-bridge-IAQPOJAQ.js");
42439
+ const { executeExpert: executeExpert2 } = await import("./expert-bridge-EOVHUCJ4.js");
42440
42440
  const prompt = [
42441
42441
  "Classify this task into exactly one pipeline template.",
42442
42442
  "Templates: dev (implementation/bug fix/refactor), research (investigate/evaluate/compare),",
@@ -43218,7 +43218,7 @@ var memoryInitPromise = null;
43218
43218
  async function initPipelineMemory() {
43219
43219
  if (cachedMemory !== null) return cachedMemory;
43220
43220
  try {
43221
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-X7CJ6X4A.js");
43221
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-AK4AJXGI.js");
43222
43222
  const { getLearningDir } = await import("./learning-persistence-UKPO7RYK.js");
43223
43223
  const mem = createSessionMemory2(getLearningDir());
43224
43224
  mem.startSession(`pipeline-${String(getTimeProvider().now())}`);
@@ -43275,7 +43275,7 @@ function recordRoutingExperience(category, success, durationMs) {
43275
43275
  callRecord(routingMemoryCache);
43276
43276
  return;
43277
43277
  }
43278
- routingMemoryInitPromise ??= import("./routing-memory-5T5QJF47.js").then(({ createRoutingMemory }) => {
43278
+ routingMemoryInitPromise ??= import("./routing-memory-3QXWGWB5.js").then(({ createRoutingMemory }) => {
43279
43279
  routingMemoryCache ??= createRoutingMemory();
43280
43280
  return routingMemoryCache;
43281
43281
  }).catch((error) => {
@@ -43309,7 +43309,7 @@ ${text}` : "";
43309
43309
  }
43310
43310
  async function getWeatherContext() {
43311
43311
  try {
43312
- const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-SUVIXWKI.js");
43312
+ const { generateWeatherReport: generateWeatherReport2 } = await import("./weather-report-54XDO6GO.js");
43313
43313
  const report = generateWeatherReport2({ includeAdaptive: true });
43314
43314
  const mappings = "recommendedMappings" in report ? report.recommendedMappings : [];
43315
43315
  if (!Array.isArray(mappings) || mappings.length === 0) return "";
@@ -43327,7 +43327,7 @@ ${lines}
43327
43327
  }
43328
43328
  async function getMemoryContext(task) {
43329
43329
  try {
43330
- const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-X7CJ6X4A.js");
43330
+ const { createSessionMemory: createSessionMemory2 } = await import("./session-memory-AK4AJXGI.js");
43331
43331
  const { getLearningDir } = await import("./learning-persistence-UKPO7RYK.js");
43332
43332
  const memory = createSessionMemory2(getLearningDir(), { maxLearningsInContext: 10 });
43333
43333
  const learnings = memory.searchLearnings(task.slice(0, 200));
@@ -43433,7 +43433,7 @@ ${contextBlock}`;
43433
43433
  const strategy = config.votingStrategy ?? "higher_order";
43434
43434
  await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
43435
43435
  try {
43436
- const { executeVoting } = await import("./consensus-vote-EQAYX53Z.js");
43436
+ const { executeVoting } = await import("./consensus-vote-Z3BWJLRE.js");
43437
43437
  const votingResult = await executeVoting(
43438
43438
  {
43439
43439
  proposal: plan.slice(0, 4e3),
@@ -44360,7 +44360,7 @@ async function searchCodebaseForTask(task) {
44360
44360
  }
44361
44361
  async function queryResearchRegistry(task) {
44362
44362
  try {
44363
- const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-OSP6FGNV.js");
44363
+ const { synthesizeResearch: synthesizeResearch2 } = await import("./research-helpers-synthesize-OKNU245Z.js");
44364
44364
  const topic = task.split(/[.!?\n]/).filter((s) => s.trim().length > 10)[0]?.trim();
44365
44365
  if (topic === void 0) return null;
44366
44366
  const result = await synthesizeResearch2(topic.slice(0, 50));
@@ -44431,7 +44431,7 @@ function createScanStageWrapper() {
44431
44431
  try {
44432
44432
  const slug = ctx.task.match(/([a-zA-Z0-9._-]+\/[a-zA-Z0-9._-]+)/)?.[1];
44433
44433
  if (slug !== void 0) {
44434
- const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-X74TBYOV.js");
44434
+ const { generateSecurityPlan: generateSecurityPlan2 } = await import("./repo-security-plan-N2GNWFER.js");
44435
44435
  const plan = await generateSecurityPlan2({ repo: slug, maxScanners: 10 });
44436
44436
  const recs = plan.recommendations.slice(0, 5).map((r) => `${r.priority}: ${r.displayName} (${r.category})`).join("; ");
44437
44437
  return output(PIPELINE_STATE_KEYS.FINDINGS, recs, getTimeProvider().now() - start, true);
@@ -50161,7 +50161,7 @@ var GitHubTaskTracker = class {
50161
50161
  cachedProvider = null;
50162
50162
  async getProvider() {
50163
50163
  if (this.cachedProvider !== null) return this.cachedProvider;
50164
- const { createScmProvider } = await import("./factory-P2SQS7UM.js");
50164
+ const { createScmProvider } = await import("./factory-UCRIJY6Y.js");
50165
50165
  const result = await createScmProvider({ repo: this.config.repo ?? "" });
50166
50166
  if (!result.ok) throw new Error(`SCM provider error: ${result.error.message}`);
50167
50167
  this.cachedProvider = result.value;
@@ -50864,4 +50864,4 @@ export {
50864
50864
  detectBackend,
50865
50865
  createTaskTracker
50866
50866
  };
50867
- //# sourceMappingURL=chunk-76FTBRUS.js.map
50867
+ //# sourceMappingURL=chunk-DE3J2HYT.js.map
@@ -4,7 +4,7 @@ import {
4
4
  getErrorMessage,
5
5
  getTimeProvider,
6
6
  ok
7
- } from "./chunk-JTQLV374.js";
7
+ } from "./chunk-M774MKHE.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-HIWO2WWP.js.map
354
+ //# sourceMappingURL=chunk-DLNCQO6L.js.map
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  CliCircuitBreaker,
3
3
  DEFAULT_CIRCUIT_BREAKER_CONFIG
4
- } from "./chunk-674NONPG.js";
4
+ } from "./chunk-A7XUXJWL.js";
5
5
  import {
6
6
  generateHyphenId
7
- } from "./chunk-HZGHPBTV.js";
7
+ } from "./chunk-AH67WRET.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-JTQLV374.js";
30
+ } from "./chunk-M774MKHE.js";
31
31
 
32
32
  // src/cli-adapters/subprocess-adapter.ts
33
33
  import { spawn } from "child_process";
@@ -2153,6 +2153,21 @@ var DEFAULT_CODEX_MCP_OPTIONS = {
2153
2153
  trackUsage: true,
2154
2154
  onProgress: void 0
2155
2155
  };
2156
+ var NEXUS_MCP_DEPTH_ENV = "NEXUS_MCP_DEPTH";
2157
+ var MAX_CODEX_MCP_SPAWN_DEPTH = 0;
2158
+ function readMcpDepth(env = process.env) {
2159
+ const raw = Number.parseInt(env[NEXUS_MCP_DEPTH_ENV] ?? "0", 10);
2160
+ return Number.isFinite(raw) && raw > 0 ? raw : 0;
2161
+ }
2162
+ function nextCodexMcpDepthOrThrow(env = process.env) {
2163
+ const depth = readMcpDepth(env);
2164
+ if (depth > MAX_CODEX_MCP_SPAWN_DEPTH) {
2165
+ throw new Error(
2166
+ `Refusing to spawn 'codex mcp-server': already nested inside a nexus-spawned codex MCP context (${NEXUS_MCP_DEPTH_ENV}=${String(depth)}). This breaks the recursive codex\u2194nexus MCP spawn loop (#3350). If you intentionally configured codex to launch nexus-agents as an MCP server, remove that '[mcp_servers.nexus-agents]' entry from ~/.codex/config.toml.`
2167
+ );
2168
+ }
2169
+ return String(depth + 1);
2170
+ }
2156
2171
  function extractTextFromContent(content) {
2157
2172
  if (content === void 0 || content.length === 0) {
2158
2173
  return null;
@@ -2217,11 +2232,13 @@ var CodexMcpAdapter = class extends BaseCliAdapter {
2217
2232
  }
2218
2233
  this.initCapacityTracker();
2219
2234
  this.logger.debug("Initializing Codex MCP connection");
2235
+ const childDepth = nextCodexMcpDepthOrThrow();
2220
2236
  try {
2221
2237
  this.mcpTransport = new StdioClientTransport({
2222
2238
  command: "codex",
2223
2239
  args: ["mcp-server"],
2224
- stderr: "pipe"
2240
+ stderr: "pipe",
2241
+ env: { [NEXUS_MCP_DEPTH_ENV]: childDepth }
2225
2242
  });
2226
2243
  this.client = new Client({ name: "nexus-agents", version: "2.0.0" }, { capabilities: {} });
2227
2244
  await this.client.connect(this.mcpTransport);
@@ -3291,4 +3308,4 @@ export {
3291
3308
  isCliAvailable,
3292
3309
  getAvailableClis
3293
3310
  };
3294
- //# sourceMappingURL=chunk-ML4IF3PS.js.map
3311
+ //# sourceMappingURL=chunk-EM7NUGMG.js.map