nexus-agents 8.76.2 → 8.77.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 (132) hide show
  1. package/dist/{ast-rule-runner-BXBBL5G7.js → ast-rule-runner-U5N43D4U.js} +3 -3
  2. package/dist/{child-mcp-config-3IELNFHI.js → child-mcp-config-IRZHH2TU.js} +2 -2
  3. package/dist/{chunk-UF3BNMOV.js → chunk-33HHRRKZ.js} +34 -31
  4. package/dist/chunk-33HHRRKZ.js.map +1 -0
  5. package/dist/{chunk-A6QRKIGL.js → chunk-4FDESAVV.js} +3 -3
  6. package/dist/{chunk-WFHUSSKZ.js → chunk-5CIP4EWI.js} +21 -5
  7. package/dist/chunk-5CIP4EWI.js.map +1 -0
  8. package/dist/{chunk-PE4QQAAY.js → chunk-5XAJU5ZV.js} +44 -36
  9. package/dist/chunk-5XAJU5ZV.js.map +1 -0
  10. package/dist/{chunk-IDPA4X6J.js → chunk-6IUAMO5M.js} +3 -3
  11. package/dist/{chunk-T52Y554H.js → chunk-7RCC7WGS.js} +2 -2
  12. package/dist/{chunk-CAIJB3CO.js → chunk-ACXBBUW3.js} +72 -5
  13. package/dist/chunk-ACXBBUW3.js.map +1 -0
  14. package/dist/{chunk-NBTG2OQC.js → chunk-AE2U6NUZ.js} +2 -2
  15. package/dist/{chunk-ZVQ2Q7OM.js → chunk-AVEDKF3J.js} +2 -2
  16. package/dist/{chunk-IPI4I2UW.js → chunk-CMZPHXDH.js} +2 -2
  17. package/dist/{chunk-MSPYAOAU.js → chunk-DWQ7TG5L.js} +2 -2
  18. package/dist/{chunk-6E3DFUYA.js → chunk-EMWRUQQS.js} +5 -5
  19. package/dist/{chunk-T6W3N3N3.js → chunk-F7R2E74V.js} +2 -2
  20. package/dist/{chunk-PJZQQYLJ.js → chunk-GHNHZSDW.js} +7 -7
  21. package/dist/{chunk-BAGUYKZL.js → chunk-GS5OJHJJ.js} +34 -12
  22. package/dist/chunk-GS5OJHJJ.js.map +1 -0
  23. package/dist/{chunk-F76Y5QXV.js → chunk-I2MSRFXZ.js} +9 -9
  24. package/dist/{chunk-VFTP7WSH.js → chunk-J76ZM6QF.js} +2 -2
  25. package/dist/{chunk-AONC4VYB.js → chunk-LIVTFARG.js} +2 -2
  26. package/dist/{chunk-J527NA52.js → chunk-LZGSWYDX.js} +3 -3
  27. package/dist/{chunk-MRGBENPM.js → chunk-NEIPHVTA.js} +2 -2
  28. package/dist/{chunk-CMG3P6OI.js → chunk-PSCY6MSD.js} +4 -4
  29. package/dist/{chunk-RC4ZQ4ZE.js → chunk-Q6JZQWQB.js} +28 -31
  30. package/dist/chunk-Q6JZQWQB.js.map +1 -0
  31. package/dist/{chunk-EVBLCOEN.js → chunk-QBZ6DBJL.js} +2 -2
  32. package/dist/{chunk-AWCSYKUR.js → chunk-QNRB5U7W.js} +2 -2
  33. package/dist/{chunk-FRHYZJGC.js → chunk-SKAPTWVH.js} +3 -3
  34. package/dist/{chunk-2P4HP2A6.js → chunk-T63EIQYI.js} +2 -2
  35. package/dist/{chunk-FMAJIIXZ.js → chunk-UNPDTD6N.js} +2 -2
  36. package/dist/{chunk-GOXBEH6M.js → chunk-VFFG3HIY.js} +2 -2
  37. package/dist/{chunk-G744HQMZ.js → chunk-VIVM7X76.js} +5 -5
  38. package/dist/{chunk-MCRMY7K7.js → chunk-WABZQ477.js} +4 -4
  39. package/dist/{chunk-VKLUJZQV.js → chunk-WUN3IB3T.js} +2 -2
  40. package/dist/{chunk-MSSRXYMZ.js → chunk-XQ34WJOM.js} +2 -2
  41. package/dist/{chunk-NOSQXAW3.js → chunk-YUDJV6JF.js} +4 -4
  42. package/dist/{cli-circuit-breaker-H5CESPLC.js → cli-circuit-breaker-DJU6WTWT.js} +3 -3
  43. package/dist/cli.js +48 -44
  44. package/dist/cli.js.map +1 -1
  45. package/dist/{composite-router-DSYVXQ7C.js → composite-router-F3D2QRHI.js} +2 -2
  46. package/dist/{consensus-vote-OKA2PL74.js → consensus-vote-7JRI7YF6.js} +16 -16
  47. package/dist/{context-retriever-C5KY23EG.js → context-retriever-J24ZMIZG.js} +8 -8
  48. package/dist/{doctor-deep-LBPZXYN4.js → doctor-deep-WWOPRJJS.js} +3 -3
  49. package/dist/{doctor-live-QAT3FLUJ.js → doctor-live-55CKYQ6V.js} +10 -10
  50. package/dist/{expert-bridge-F7V2AXUD.js → expert-bridge-5MFBN4ZW.js} +4 -4
  51. package/dist/{factory-MZTDIMCP.js → factory-3ZA63QDH.js} +9 -9
  52. package/dist/{factory-ECJNRE2W.js → factory-TXEYHBQV.js} +5 -5
  53. package/dist/{improvement-review-UEVIATKC.js → improvement-review-JVI3RM7I.js} +5 -5
  54. package/dist/index.d.ts +55 -2
  55. package/dist/index.js +30 -30
  56. package/dist/{init-opencode-WXEXOV6X.js → init-opencode-R5JTQZG5.js} +5 -5
  57. package/dist/issue-triage-6KIGFUFJ.js +16 -0
  58. package/dist/{pr-reviewer-helpers-VRPD3CNI.js → pr-reviewer-helpers-HRM74BLX.js} +4 -4
  59. package/dist/{registry-command-JZLWVBLG.js → registry-command-ZPKPR6WV.js} +2 -2
  60. package/dist/{repo-security-plan-IS65FSZF.js → repo-security-plan-LXKTNEGB.js} +3 -3
  61. package/dist/{research-helpers-synthesize-TLZPEOAU.js → research-helpers-synthesize-FZLLZSJM.js} +4 -4
  62. package/dist/{routing-memory-YHEH7ULH.js → routing-memory-35Z7UVYC.js} +2 -2
  63. package/dist/{session-memory-5MD3ZFJX.js → session-memory-G7VGV2SC.js} +3 -3
  64. package/dist/{setup-config-RFOBGXUH.js → setup-config-KLKXB2LM.js} +3 -3
  65. package/dist/{setup-custom-api-DKXRZY4C.js → setup-custom-api-TJMRUQFK.js} +14 -11
  66. package/dist/setup-custom-api-TJMRUQFK.js.map +1 -0
  67. package/dist/setup-data-dir-VCSQTZ6L.js +30 -0
  68. package/dist/{tool-memory-HCCMGPVI.js → tool-memory-65MWYDEP.js} +5 -5
  69. package/dist/{unified-registry-3TWHRO5L.js → unified-registry-2HCLBGWM.js} +10 -10
  70. package/dist/{weather-report-MGOA7OOC.js → weather-report-RMRBC6LH.js} +2 -2
  71. package/package.json +1 -1
  72. package/dist/chunk-BAGUYKZL.js.map +0 -1
  73. package/dist/chunk-CAIJB3CO.js.map +0 -1
  74. package/dist/chunk-PE4QQAAY.js.map +0 -1
  75. package/dist/chunk-RC4ZQ4ZE.js.map +0 -1
  76. package/dist/chunk-UF3BNMOV.js.map +0 -1
  77. package/dist/chunk-WFHUSSKZ.js.map +0 -1
  78. package/dist/issue-triage-OJZ275JY.js +0 -16
  79. package/dist/setup-custom-api-DKXRZY4C.js.map +0 -1
  80. package/dist/setup-data-dir-JXSO4FDY.js +0 -30
  81. /package/dist/{ast-rule-runner-BXBBL5G7.js.map → ast-rule-runner-U5N43D4U.js.map} +0 -0
  82. /package/dist/{child-mcp-config-3IELNFHI.js.map → child-mcp-config-IRZHH2TU.js.map} +0 -0
  83. /package/dist/{chunk-A6QRKIGL.js.map → chunk-4FDESAVV.js.map} +0 -0
  84. /package/dist/{chunk-IDPA4X6J.js.map → chunk-6IUAMO5M.js.map} +0 -0
  85. /package/dist/{chunk-T52Y554H.js.map → chunk-7RCC7WGS.js.map} +0 -0
  86. /package/dist/{chunk-NBTG2OQC.js.map → chunk-AE2U6NUZ.js.map} +0 -0
  87. /package/dist/{chunk-ZVQ2Q7OM.js.map → chunk-AVEDKF3J.js.map} +0 -0
  88. /package/dist/{chunk-IPI4I2UW.js.map → chunk-CMZPHXDH.js.map} +0 -0
  89. /package/dist/{chunk-MSPYAOAU.js.map → chunk-DWQ7TG5L.js.map} +0 -0
  90. /package/dist/{chunk-6E3DFUYA.js.map → chunk-EMWRUQQS.js.map} +0 -0
  91. /package/dist/{chunk-T6W3N3N3.js.map → chunk-F7R2E74V.js.map} +0 -0
  92. /package/dist/{chunk-PJZQQYLJ.js.map → chunk-GHNHZSDW.js.map} +0 -0
  93. /package/dist/{chunk-F76Y5QXV.js.map → chunk-I2MSRFXZ.js.map} +0 -0
  94. /package/dist/{chunk-VFTP7WSH.js.map → chunk-J76ZM6QF.js.map} +0 -0
  95. /package/dist/{chunk-AONC4VYB.js.map → chunk-LIVTFARG.js.map} +0 -0
  96. /package/dist/{chunk-J527NA52.js.map → chunk-LZGSWYDX.js.map} +0 -0
  97. /package/dist/{chunk-MRGBENPM.js.map → chunk-NEIPHVTA.js.map} +0 -0
  98. /package/dist/{chunk-CMG3P6OI.js.map → chunk-PSCY6MSD.js.map} +0 -0
  99. /package/dist/{chunk-EVBLCOEN.js.map → chunk-QBZ6DBJL.js.map} +0 -0
  100. /package/dist/{chunk-AWCSYKUR.js.map → chunk-QNRB5U7W.js.map} +0 -0
  101. /package/dist/{chunk-FRHYZJGC.js.map → chunk-SKAPTWVH.js.map} +0 -0
  102. /package/dist/{chunk-2P4HP2A6.js.map → chunk-T63EIQYI.js.map} +0 -0
  103. /package/dist/{chunk-FMAJIIXZ.js.map → chunk-UNPDTD6N.js.map} +0 -0
  104. /package/dist/{chunk-GOXBEH6M.js.map → chunk-VFFG3HIY.js.map} +0 -0
  105. /package/dist/{chunk-G744HQMZ.js.map → chunk-VIVM7X76.js.map} +0 -0
  106. /package/dist/{chunk-MCRMY7K7.js.map → chunk-WABZQ477.js.map} +0 -0
  107. /package/dist/{chunk-VKLUJZQV.js.map → chunk-WUN3IB3T.js.map} +0 -0
  108. /package/dist/{chunk-MSSRXYMZ.js.map → chunk-XQ34WJOM.js.map} +0 -0
  109. /package/dist/{chunk-NOSQXAW3.js.map → chunk-YUDJV6JF.js.map} +0 -0
  110. /package/dist/{cli-circuit-breaker-H5CESPLC.js.map → cli-circuit-breaker-DJU6WTWT.js.map} +0 -0
  111. /package/dist/{composite-router-DSYVXQ7C.js.map → composite-router-F3D2QRHI.js.map} +0 -0
  112. /package/dist/{consensus-vote-OKA2PL74.js.map → consensus-vote-7JRI7YF6.js.map} +0 -0
  113. /package/dist/{context-retriever-C5KY23EG.js.map → context-retriever-J24ZMIZG.js.map} +0 -0
  114. /package/dist/{doctor-deep-LBPZXYN4.js.map → doctor-deep-WWOPRJJS.js.map} +0 -0
  115. /package/dist/{doctor-live-QAT3FLUJ.js.map → doctor-live-55CKYQ6V.js.map} +0 -0
  116. /package/dist/{expert-bridge-F7V2AXUD.js.map → expert-bridge-5MFBN4ZW.js.map} +0 -0
  117. /package/dist/{factory-ECJNRE2W.js.map → factory-3ZA63QDH.js.map} +0 -0
  118. /package/dist/{factory-MZTDIMCP.js.map → factory-TXEYHBQV.js.map} +0 -0
  119. /package/dist/{improvement-review-UEVIATKC.js.map → improvement-review-JVI3RM7I.js.map} +0 -0
  120. /package/dist/{init-opencode-WXEXOV6X.js.map → init-opencode-R5JTQZG5.js.map} +0 -0
  121. /package/dist/{issue-triage-OJZ275JY.js.map → issue-triage-6KIGFUFJ.js.map} +0 -0
  122. /package/dist/{pr-reviewer-helpers-VRPD3CNI.js.map → pr-reviewer-helpers-HRM74BLX.js.map} +0 -0
  123. /package/dist/{registry-command-JZLWVBLG.js.map → registry-command-ZPKPR6WV.js.map} +0 -0
  124. /package/dist/{repo-security-plan-IS65FSZF.js.map → repo-security-plan-LXKTNEGB.js.map} +0 -0
  125. /package/dist/{research-helpers-synthesize-TLZPEOAU.js.map → research-helpers-synthesize-FZLLZSJM.js.map} +0 -0
  126. /package/dist/{routing-memory-YHEH7ULH.js.map → routing-memory-35Z7UVYC.js.map} +0 -0
  127. /package/dist/{session-memory-5MD3ZFJX.js.map → session-memory-G7VGV2SC.js.map} +0 -0
  128. /package/dist/{setup-config-RFOBGXUH.js.map → setup-config-KLKXB2LM.js.map} +0 -0
  129. /package/dist/{setup-data-dir-JXSO4FDY.js.map → setup-data-dir-VCSQTZ6L.js.map} +0 -0
  130. /package/dist/{tool-memory-HCCMGPVI.js.map → tool-memory-65MWYDEP.js.map} +0 -0
  131. /package/dist/{unified-registry-3TWHRO5L.js.map → unified-registry-2HCLBGWM.js.map} +0 -0
  132. /package/dist/{weather-report-MGOA7OOC.js.map → weather-report-RMRBC6LH.js.map} +0 -0
@@ -9,8 +9,8 @@ import {
9
9
  getBuiltInAstRulesPath,
10
10
  loadRules,
11
11
  runAstQaRules
12
- } from "./chunk-AONC4VYB.js";
13
- import "./chunk-WFHUSSKZ.js";
12
+ } from "./chunk-LIVTFARG.js";
13
+ import "./chunk-5CIP4EWI.js";
14
14
  import "./chunk-4UHDDCRB.js";
15
15
  import "./chunk-RNDHNRSX.js";
16
16
  import "./chunk-PX6F3LHL.js";
@@ -26,4 +26,4 @@ export {
26
26
  loadRules,
27
27
  runAstQaRules
28
28
  };
29
- //# sourceMappingURL=ast-rule-runner-BXBBL5G7.js.map
29
+ //# sourceMappingURL=ast-rule-runner-U5N43D4U.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-HERI7LXN.js";
4
4
  import {
5
5
  createLogger
6
- } from "./chunk-WFHUSSKZ.js";
6
+ } from "./chunk-5CIP4EWI.js";
7
7
  import "./chunk-4UHDDCRB.js";
8
8
  import "./chunk-RNDHNRSX.js";
9
9
  import "./chunk-PX6F3LHL.js";
@@ -60,4 +60,4 @@ export {
60
60
  generateMcpConfig,
61
61
  getDefaultAllowedTools
62
62
  };
63
- //# sourceMappingURL=child-mcp-config-3IELNFHI.js.map
63
+ //# sourceMappingURL=child-mcp-config-IRZHH2TU.js.map
@@ -5,38 +5,40 @@ import {
5
5
  planOptionalParams,
6
6
  requireApiKey,
7
7
  validateApiKeyPresence
8
- } from "./chunk-MSSRXYMZ.js";
8
+ } from "./chunk-XQ34WJOM.js";
9
9
  import {
10
10
  CUSTOM_API_DEFAULT_MODEL
11
- } from "./chunk-VKLUJZQV.js";
11
+ } from "./chunk-WUN3IB3T.js";
12
12
  import {
13
13
  assertCustomApiHostResolvesPublic,
14
+ hostnameOf,
15
+ readGatewayEnv,
16
+ redactApiKey,
14
17
  validateCustomApiBaseUrl
15
- } from "./chunk-CAIJB3CO.js";
18
+ } from "./chunk-ACXBBUW3.js";
16
19
  import {
17
20
  nexusMkdtempSync
18
21
  } from "./chunk-HERI7LXN.js";
19
22
  import {
20
23
  getAvailabilityCache
21
- } from "./chunk-VFTP7WSH.js";
24
+ } from "./chunk-J76ZM6QF.js";
22
25
  import {
23
26
  extractSystemPrompt
24
27
  } from "./chunk-QZUG667L.js";
25
28
  import {
26
29
  generateHyphenId
27
- } from "./chunk-AWCSYKUR.js";
30
+ } from "./chunk-QNRB5U7W.js";
28
31
  import {
29
32
  CliCircuitBreaker,
30
33
  DEFAULT_CIRCUIT_BREAKER_CONFIG,
31
34
  getCliCircuitBreakerSnapshot,
32
35
  getDefaultCliCircuitBreakerRegistry
33
- } from "./chunk-T52Y554H.js";
36
+ } from "./chunk-7RCC7WGS.js";
34
37
  import {
35
38
  CLI_SUBPROCESS_TIMEOUTS,
36
39
  CLI_TIMEOUTS,
37
40
  CLI_VERSION_REQUIREMENTS,
38
41
  CODEX_MCP_TIMEOUTS,
39
- CUSTOM_API_BASE_URL_ENV,
40
42
  DEFAULT_CAPABILITIES,
41
43
  ErrorCode,
42
44
  FALLBACK_CONTEXT_WINDOW,
@@ -76,7 +78,7 @@ import {
76
78
  resolveRetryAfterMs,
77
79
  retryAfterMsFromContext,
78
80
  warnIfGatewayCostUndeclared
79
- } from "./chunk-WFHUSSKZ.js";
81
+ } from "./chunk-5CIP4EWI.js";
80
82
  import {
81
83
  parseBoolValue
82
84
  } from "./chunk-RNDHNRSX.js";
@@ -1154,12 +1156,12 @@ function isGenerateObjectResult(value) {
1154
1156
  }
1155
1157
  function resolveApiKey(providerId, configKey) {
1156
1158
  if (configKey !== void 0) return configKey;
1157
- const envVar = PROVIDER_ENV_KEYS[providerId];
1158
- return process.env[envVar];
1159
+ if (providerId === "custom-openai") return readGatewayEnv().apiKey;
1160
+ return process.env[PROVIDER_ENV_KEYS[providerId]];
1159
1161
  }
1160
1162
  function resolveAndValidateCustomBaseUrl(config) {
1161
1163
  if (config.providerId !== "custom-openai") return void 0;
1162
- const raw = config.baseUrl ?? process.env[CUSTOM_API_BASE_URL_ENV];
1164
+ const raw = config.baseUrl ?? readGatewayEnv().baseUrl;
1163
1165
  const validated = validateCustomApiBaseUrl(raw);
1164
1166
  if (!validated.ok) throw validated.error;
1165
1167
  return validated.value.toString();
@@ -1433,9 +1435,10 @@ var SdkAdapter = class extends BaseAdapter {
1433
1435
  * Converts a caught error into a Result error with categorized ErrorCode.
1434
1436
  */
1435
1437
  toErrorResult(error, code) {
1436
- const message = getErrorMessage(error);
1437
- const safeMessage = sanitizeOutput(message);
1438
- const errorObj = error instanceof Error ? error : new Error(safeMessage);
1438
+ const apiKey = resolveApiKey(this.sdkProviderId, this.sdkConfig.apiKey);
1439
+ const safeMessage = sanitizeOutput(redactApiKey(getErrorMessage(error), apiKey));
1440
+ const errorObj = new Error(safeMessage);
1441
+ if (error instanceof Error) errorObj.name = error.name;
1439
1442
  this.logger.error(`SDK adapter error (${this.sdkProviderId})`, errorObj);
1440
1443
  const retryAfterMs = code === ErrorCode.MODEL_RATE_LIMITED ? resolveRetryAfterMs(error, safeMessage) : void 0;
1441
1444
  const modelError = new AdapterModelError(`${this.sdkProviderId} SDK error: ${safeMessage}`, {
@@ -1671,26 +1674,26 @@ function tryApiAdapter(config, logger6) {
1671
1674
  return null;
1672
1675
  }
1673
1676
  function tryCustomOpenAiAdapter(logger6) {
1674
- const customKey = resolveApiKeyFromEnv(void 0, "NEXUS_CUSTOM_API_KEY");
1675
- const customBaseUrl = process.env["NEXUS_CUSTOM_API_BASE_URL"];
1676
- if (customKey === void 0 || customBaseUrl === void 0 || customBaseUrl === "") {
1677
- return null;
1678
- }
1677
+ const { baseUrl: customBaseUrl, apiKey: customKey } = readGatewayEnv(process.env, logger6);
1678
+ if (customKey === void 0 || customBaseUrl === void 0) return null;
1679
1679
  const customModelId = process.env["NEXUS_CUSTOM_MODEL"] ?? CUSTOM_API_DEFAULT_MODEL;
1680
- logger6.info("Using custom-openai SDK adapter", {
1681
- model: customModelId,
1682
- baseUrl: customBaseUrl
1683
- });
1680
+ const host = hostnameOf(customBaseUrl);
1681
+ logger6.info("Using custom-openai SDK adapter", { model: customModelId, host });
1684
1682
  return {
1685
- adapter: new SdkAdapter({
1686
- providerId: "custom-openai",
1687
- modelId: customModelId,
1688
- apiKey: customKey,
1689
- baseUrl: customBaseUrl
1690
- }),
1683
+ // The caller's logger reaches the adapter, so what it logs on a failed
1684
+ // call is observable where the selection was made (#4392 inc 3 review).
1685
+ adapter: new SdkAdapter(
1686
+ {
1687
+ providerId: "custom-openai",
1688
+ modelId: customModelId,
1689
+ apiKey: customKey,
1690
+ baseUrl: customBaseUrl
1691
+ },
1692
+ logger6
1693
+ ),
1691
1694
  source: "api",
1692
1695
  name: "custom-openai",
1693
- reason: `Using custom OpenAI-compatible gateway at ${customBaseUrl} (model: ${customModelId})`
1696
+ reason: `Using custom OpenAI-compatible gateway at ${host} (model: ${customModelId})`
1694
1697
  };
1695
1698
  }
1696
1699
  function resolveApiVendor(name) {
@@ -5266,4 +5269,4 @@ export {
5266
5269
  SdkAdapter,
5267
5270
  createAutoAdapter
5268
5271
  };
5269
- //# sourceMappingURL=chunk-UF3BNMOV.js.map
5272
+ //# sourceMappingURL=chunk-33HHRRKZ.js.map