nexus-agents 3.2.2 → 3.2.3

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 (120) hide show
  1. package/dist/{child-mcp-config-IGZEHG37.js → child-mcp-config-7TQDBSZF.js} +2 -2
  2. package/dist/{chunk-Z2VEERCP.js → chunk-2VKJO2UG.js} +3 -3
  3. package/dist/{chunk-WKJWUK67.js → chunk-546OAGL3.js} +35 -35
  4. package/dist/{chunk-OKVCJFZM.js → chunk-5PM7O2LO.js} +2 -2
  5. package/dist/{chunk-ZBTEOM3T.js → chunk-5RNS353B.js} +2 -2
  6. package/dist/{chunk-HEZ6VTMO.js → chunk-5XPHOP2H.js} +2 -2
  7. package/dist/{chunk-OVAO5IMR.js → chunk-ABA2463H.js} +2 -2
  8. package/dist/{chunk-D33VCEA6.js → chunk-AFFUBHQE.js} +5 -5
  9. package/dist/{chunk-GTU2GK4H.js → chunk-AJW6TWSE.js} +4 -4
  10. package/dist/{chunk-UBHTXZR6.js → chunk-BJMSMXWF.js} +4 -4
  11. package/dist/{chunk-43YJRZZW.js → chunk-CAFO4H4L.js} +2 -2
  12. package/dist/{chunk-2WRW3MWB.js → chunk-DHNVGWZH.js} +3 -3
  13. package/dist/{chunk-25TDC2C4.js → chunk-FCSXIDDQ.js} +2 -2
  14. package/dist/{chunk-344IEWHJ.js → chunk-FP4C6QYQ.js} +2 -2
  15. package/dist/{chunk-GMJUXSLK.js → chunk-FSLKQEK2.js} +5 -5
  16. package/dist/{chunk-GQ5LHJD2.js → chunk-HC3WUMU5.js} +2 -2
  17. package/dist/{chunk-EL62KWUE.js → chunk-I7D5Z72Y.js} +7 -7
  18. package/dist/{chunk-E6JME6SQ.js → chunk-KEIPV6HI.js} +2 -2
  19. package/dist/{chunk-PE35GMXD.js → chunk-KNIGWMED.js} +5 -5
  20. package/dist/{chunk-ENZ3IWEM.js → chunk-NF4P6SI6.js} +2 -2
  21. package/dist/{chunk-QRZPGTZN.js → chunk-NLRQ2NL3.js} +2 -2
  22. package/dist/{chunk-RHO52DBX.js → chunk-OQAV3JMV.js} +2 -2
  23. package/dist/{chunk-ATNHVLKJ.js → chunk-OYPTT7VJ.js} +3 -3
  24. package/dist/{chunk-TIQXKIIA.js → chunk-PN7GAIXB.js} +2 -2
  25. package/dist/{chunk-T6HI32EC.js → chunk-QFYATFSD.js} +2 -2
  26. package/dist/{chunk-F47KBREM.js → chunk-SVSZBXWM.js} +2 -2
  27. package/dist/{chunk-4AF6CP7P.js → chunk-SX3UV5B6.js} +4 -4
  28. package/dist/{chunk-47WSUCLS.js → chunk-UPRSJALQ.js} +3 -3
  29. package/dist/{chunk-5NRFPUNP.js → chunk-VNPKYYVU.js} +8 -8
  30. package/dist/{chunk-NGFG5TIB.js → chunk-VPYHZVBH.js} +2 -2
  31. package/dist/{chunk-5HG2M5CP.js → chunk-VYYSOP24.js} +8 -8
  32. package/dist/{chunk-VV7KSMMR.js → chunk-WB2K3FHP.js} +3 -3
  33. package/dist/{chunk-SDVDWM3C.js → chunk-YMXYMLBB.js} +5 -5
  34. package/dist/{chunk-A5QBZ5EC.js → chunk-ZNM4GOKK.js} +70 -32
  35. package/dist/chunk-ZNM4GOKK.js.map +1 -0
  36. package/dist/{cli-circuit-breaker-FTN4E7PN.js → cli-circuit-breaker-7J6TXKTA.js} +3 -3
  37. package/dist/cli.js +43 -40
  38. package/dist/cli.js.map +1 -1
  39. package/dist/{composite-router-AHUNMSEQ.js → composite-router-TR75423X.js} +2 -2
  40. package/dist/{consensus-vote-PPZUA3EN.js → consensus-vote-QF4CQ52T.js} +16 -16
  41. package/dist/{context-retriever-UDERFG2L.js → context-retriever-ACPRWATZ.js} +8 -8
  42. package/dist/{doctor-deep-XZX7RNDG.js → doctor-deep-XFUXJS3C.js} +3 -3
  43. package/dist/{expert-bridge-NIYLN24L.js → expert-bridge-MIPRZ6DR.js} +4 -4
  44. package/dist/{factory-2VYANO2Z.js → factory-4HKCUP73.js} +5 -5
  45. package/dist/{factory-KDNW4GTS.js → factory-7Q67BLII.js} +9 -9
  46. package/dist/{improvement-review-Z3BEZS73.js → improvement-review-WAONMFQP.js} +5 -5
  47. package/dist/index.d.ts +21 -0
  48. package/dist/index.js +30 -30
  49. package/dist/{init-opencode-3ENXQJKC.js → init-opencode-HUSDM6DM.js} +6 -6
  50. package/dist/{issue-triage-Q7SYODHT.js → issue-triage-3Z23LPE3.js} +6 -6
  51. package/dist/{pr-reviewer-helpers-CVMB2PRH.js → pr-reviewer-helpers-USGSMJNS.js} +4 -4
  52. package/dist/{registry-command-XPA6LFHZ.js → registry-command-TLFJFRIY.js} +2 -2
  53. package/dist/{repo-security-plan-NUMTKVMR.js → repo-security-plan-QQRQYZJC.js} +3 -3
  54. package/dist/{research-helpers-synthesize-EHDMCB6P.js → research-helpers-synthesize-OOMIPCBC.js} +4 -4
  55. package/dist/{routing-memory-3XURCXXF.js → routing-memory-7IW2EQIY.js} +2 -2
  56. package/dist/{session-memory-QISTJJOX.js → session-memory-ESPPBMXS.js} +3 -3
  57. package/dist/{setup-command-NPGRBUWK.js → setup-command-VHA2K7XL.js} +14 -14
  58. package/dist/{setup-config-D6V7HW6W.js → setup-config-KCR2RA4L.js} +3 -3
  59. package/dist/{setup-custom-api-U2EUVTPO.js → setup-custom-api-SP2XP7GL.js} +4 -4
  60. package/dist/{tool-memory-BR7N6EB6.js → tool-memory-TQGBXSGU.js} +5 -5
  61. package/dist/{unified-registry-K4DRV5PF.js → unified-registry-P6DPCF4Z.js} +10 -10
  62. package/dist/{weather-report-22DR27KY.js → weather-report-35DZVJ5Y.js} +2 -2
  63. package/package.json +1 -1
  64. package/dist/chunk-A5QBZ5EC.js.map +0 -1
  65. /package/dist/{child-mcp-config-IGZEHG37.js.map → child-mcp-config-7TQDBSZF.js.map} +0 -0
  66. /package/dist/{chunk-Z2VEERCP.js.map → chunk-2VKJO2UG.js.map} +0 -0
  67. /package/dist/{chunk-WKJWUK67.js.map → chunk-546OAGL3.js.map} +0 -0
  68. /package/dist/{chunk-OKVCJFZM.js.map → chunk-5PM7O2LO.js.map} +0 -0
  69. /package/dist/{chunk-ZBTEOM3T.js.map → chunk-5RNS353B.js.map} +0 -0
  70. /package/dist/{chunk-HEZ6VTMO.js.map → chunk-5XPHOP2H.js.map} +0 -0
  71. /package/dist/{chunk-OVAO5IMR.js.map → chunk-ABA2463H.js.map} +0 -0
  72. /package/dist/{chunk-D33VCEA6.js.map → chunk-AFFUBHQE.js.map} +0 -0
  73. /package/dist/{chunk-GTU2GK4H.js.map → chunk-AJW6TWSE.js.map} +0 -0
  74. /package/dist/{chunk-UBHTXZR6.js.map → chunk-BJMSMXWF.js.map} +0 -0
  75. /package/dist/{chunk-43YJRZZW.js.map → chunk-CAFO4H4L.js.map} +0 -0
  76. /package/dist/{chunk-2WRW3MWB.js.map → chunk-DHNVGWZH.js.map} +0 -0
  77. /package/dist/{chunk-25TDC2C4.js.map → chunk-FCSXIDDQ.js.map} +0 -0
  78. /package/dist/{chunk-344IEWHJ.js.map → chunk-FP4C6QYQ.js.map} +0 -0
  79. /package/dist/{chunk-GMJUXSLK.js.map → chunk-FSLKQEK2.js.map} +0 -0
  80. /package/dist/{chunk-GQ5LHJD2.js.map → chunk-HC3WUMU5.js.map} +0 -0
  81. /package/dist/{chunk-EL62KWUE.js.map → chunk-I7D5Z72Y.js.map} +0 -0
  82. /package/dist/{chunk-E6JME6SQ.js.map → chunk-KEIPV6HI.js.map} +0 -0
  83. /package/dist/{chunk-PE35GMXD.js.map → chunk-KNIGWMED.js.map} +0 -0
  84. /package/dist/{chunk-ENZ3IWEM.js.map → chunk-NF4P6SI6.js.map} +0 -0
  85. /package/dist/{chunk-QRZPGTZN.js.map → chunk-NLRQ2NL3.js.map} +0 -0
  86. /package/dist/{chunk-RHO52DBX.js.map → chunk-OQAV3JMV.js.map} +0 -0
  87. /package/dist/{chunk-ATNHVLKJ.js.map → chunk-OYPTT7VJ.js.map} +0 -0
  88. /package/dist/{chunk-TIQXKIIA.js.map → chunk-PN7GAIXB.js.map} +0 -0
  89. /package/dist/{chunk-T6HI32EC.js.map → chunk-QFYATFSD.js.map} +0 -0
  90. /package/dist/{chunk-F47KBREM.js.map → chunk-SVSZBXWM.js.map} +0 -0
  91. /package/dist/{chunk-4AF6CP7P.js.map → chunk-SX3UV5B6.js.map} +0 -0
  92. /package/dist/{chunk-47WSUCLS.js.map → chunk-UPRSJALQ.js.map} +0 -0
  93. /package/dist/{chunk-5NRFPUNP.js.map → chunk-VNPKYYVU.js.map} +0 -0
  94. /package/dist/{chunk-NGFG5TIB.js.map → chunk-VPYHZVBH.js.map} +0 -0
  95. /package/dist/{chunk-5HG2M5CP.js.map → chunk-VYYSOP24.js.map} +0 -0
  96. /package/dist/{chunk-VV7KSMMR.js.map → chunk-WB2K3FHP.js.map} +0 -0
  97. /package/dist/{chunk-SDVDWM3C.js.map → chunk-YMXYMLBB.js.map} +0 -0
  98. /package/dist/{cli-circuit-breaker-FTN4E7PN.js.map → cli-circuit-breaker-7J6TXKTA.js.map} +0 -0
  99. /package/dist/{composite-router-AHUNMSEQ.js.map → composite-router-TR75423X.js.map} +0 -0
  100. /package/dist/{consensus-vote-PPZUA3EN.js.map → consensus-vote-QF4CQ52T.js.map} +0 -0
  101. /package/dist/{context-retriever-UDERFG2L.js.map → context-retriever-ACPRWATZ.js.map} +0 -0
  102. /package/dist/{doctor-deep-XZX7RNDG.js.map → doctor-deep-XFUXJS3C.js.map} +0 -0
  103. /package/dist/{expert-bridge-NIYLN24L.js.map → expert-bridge-MIPRZ6DR.js.map} +0 -0
  104. /package/dist/{factory-2VYANO2Z.js.map → factory-4HKCUP73.js.map} +0 -0
  105. /package/dist/{factory-KDNW4GTS.js.map → factory-7Q67BLII.js.map} +0 -0
  106. /package/dist/{improvement-review-Z3BEZS73.js.map → improvement-review-WAONMFQP.js.map} +0 -0
  107. /package/dist/{init-opencode-3ENXQJKC.js.map → init-opencode-HUSDM6DM.js.map} +0 -0
  108. /package/dist/{issue-triage-Q7SYODHT.js.map → issue-triage-3Z23LPE3.js.map} +0 -0
  109. /package/dist/{pr-reviewer-helpers-CVMB2PRH.js.map → pr-reviewer-helpers-USGSMJNS.js.map} +0 -0
  110. /package/dist/{registry-command-XPA6LFHZ.js.map → registry-command-TLFJFRIY.js.map} +0 -0
  111. /package/dist/{repo-security-plan-NUMTKVMR.js.map → repo-security-plan-QQRQYZJC.js.map} +0 -0
  112. /package/dist/{research-helpers-synthesize-EHDMCB6P.js.map → research-helpers-synthesize-OOMIPCBC.js.map} +0 -0
  113. /package/dist/{routing-memory-3XURCXXF.js.map → routing-memory-7IW2EQIY.js.map} +0 -0
  114. /package/dist/{session-memory-QISTJJOX.js.map → session-memory-ESPPBMXS.js.map} +0 -0
  115. /package/dist/{setup-command-NPGRBUWK.js.map → setup-command-VHA2K7XL.js.map} +0 -0
  116. /package/dist/{setup-config-D6V7HW6W.js.map → setup-config-KCR2RA4L.js.map} +0 -0
  117. /package/dist/{setup-custom-api-U2EUVTPO.js.map → setup-custom-api-SP2XP7GL.js.map} +0 -0
  118. /package/dist/{tool-memory-BR7N6EB6.js.map → tool-memory-TQGBXSGU.js.map} +0 -0
  119. /package/dist/{unified-registry-K4DRV5PF.js.map → unified-registry-P6DPCF4Z.js.map} +0 -0
  120. /package/dist/{weather-report-22DR27KY.js.map → weather-report-35DZVJ5Y.js.map} +0 -0
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  createLogger,
6
6
  getTimeProvider
7
- } from "./chunk-ATNHVLKJ.js";
7
+ } from "./chunk-OYPTT7VJ.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-ENZ3IWEM.js.map
724
+ //# sourceMappingURL=chunk-NF4P6SI6.js.map
@@ -4,7 +4,7 @@ import {
4
4
  getErrorMessage,
5
5
  getTimeProvider,
6
6
  ok
7
- } from "./chunk-ATNHVLKJ.js";
7
+ } from "./chunk-OYPTT7VJ.js";
8
8
 
9
9
  // src/context/session-memory.ts
10
10
  import * as fs from "fs";
@@ -352,4 +352,4 @@ export {
352
352
  SessionMemory,
353
353
  createSessionMemory
354
354
  };
355
- //# sourceMappingURL=chunk-QRZPGTZN.js.map
355
+ //# sourceMappingURL=chunk-NLRQ2NL3.js.map
@@ -3,7 +3,7 @@ import {
3
3
  MODEL_IDS,
4
4
  getTimeProvider,
5
5
  resolveModelIdentitySync
6
- } from "./chunk-ATNHVLKJ.js";
6
+ } from "./chunk-OYPTT7VJ.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-RHO52DBX.js.map
153
+ //# sourceMappingURL=chunk-OQAV3JMV.js.map
@@ -2623,7 +2623,7 @@ function setDefaultRegistry(registry) {
2623
2623
  }
2624
2624
  async function reloadDefaultRegistry() {
2625
2625
  globalRegistry = buildDefaultRegistry();
2626
- const { resetGlobalRegistry } = await import("./unified-registry-K4DRV5PF.js");
2626
+ const { resetGlobalRegistry } = await import("./unified-registry-P6DPCF4Z.js");
2627
2627
  resetGlobalRegistry();
2628
2628
  return globalRegistry;
2629
2629
  }
@@ -14627,7 +14627,7 @@ var CompositeRouter = class _CompositeRouter {
14627
14627
  */
14628
14628
  async consultUnifiedContext(task) {
14629
14629
  try {
14630
- const { getContextForTask, inferTaskCategory } = await import("./context-retriever-UDERFG2L.js");
14630
+ const { getContextForTask, inferTaskCategory } = await import("./context-retriever-ACPRWATZ.js");
14631
14631
  const ctx = await getContextForTask({
14632
14632
  task: task.content,
14633
14633
  category: inferTaskCategory(task.content),
@@ -16211,4 +16211,4 @@ export {
16211
16211
  AgentCapability,
16212
16212
  OrchestratorError
16213
16213
  };
16214
- //# sourceMappingURL=chunk-ATNHVLKJ.js.map
16214
+ //# sourceMappingURL=chunk-OYPTT7VJ.js.map
@@ -2,7 +2,7 @@ import {
2
2
  CACHE_TIMEOUTS,
3
3
  createLogger,
4
4
  getTimeProvider
5
- } from "./chunk-ATNHVLKJ.js";
5
+ } from "./chunk-OYPTT7VJ.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-TIQXKIIA.js.map
563
+ //# sourceMappingURL=chunk-PN7GAIXB.js.map
@@ -2,7 +2,7 @@ import {
2
2
  createLogger,
3
3
  err,
4
4
  ok
5
- } from "./chunk-ATNHVLKJ.js";
5
+ } from "./chunk-OYPTT7VJ.js";
6
6
 
7
7
  // src/scm/token-resolver.ts
8
8
  import { execFile } from "child_process";
@@ -87,4 +87,4 @@ export {
87
87
  hasToken,
88
88
  getTokenEnvVars
89
89
  };
90
- //# sourceMappingURL=chunk-T6HI32EC.js.map
90
+ //# sourceMappingURL=chunk-QFYATFSD.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getTimeProvider
3
- } from "./chunk-ATNHVLKJ.js";
3
+ } from "./chunk-OYPTT7VJ.js";
4
4
 
5
5
  // src/security/audit-trail.ts
6
6
  var MAX_EVENTS = 1e4;
@@ -205,4 +205,4 @@ export {
205
205
  createGraphAuditBridge,
206
206
  createAuditTrail
207
207
  };
208
- //# sourceMappingURL=chunk-F47KBREM.js.map
208
+ //# sourceMappingURL=chunk-SVSZBXWM.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  createAutoAdapter
3
- } from "./chunk-A5QBZ5EC.js";
3
+ } from "./chunk-ZNM4GOKK.js";
4
4
  import {
5
5
  mapModelErrorToCategory
6
- } from "./chunk-OKVCJFZM.js";
6
+ } from "./chunk-5PM7O2LO.js";
7
7
  import {
8
8
  CLI_NAMES,
9
9
  CircularBuffer,
@@ -21,7 +21,7 @@ import {
21
21
  ok,
22
22
  recordRateLimitEvent,
23
23
  toRateLimitError
24
- } from "./chunk-ATNHVLKJ.js";
24
+ } from "./chunk-OYPTT7VJ.js";
25
25
 
26
26
  // src/agents/collaboration/event-bus-helpers.ts
27
27
  import { randomUUID } from "crypto";
@@ -833,4 +833,4 @@ export {
833
833
  getGlobalRegistry,
834
834
  resetGlobalRegistry
835
835
  };
836
- //# sourceMappingURL=chunk-4AF6CP7P.js.map
836
+ //# sourceMappingURL=chunk-SX3UV5B6.js.map
@@ -7,7 +7,7 @@ import {
7
7
  toolStructuredError,
8
8
  toolSuccessStructured,
9
9
  wrapToolWithTimeout
10
- } from "./chunk-VV7KSMMR.js";
10
+ } from "./chunk-WB2K3FHP.js";
11
11
  import {
12
12
  JsonlStore,
13
13
  SECURITY_KEYWORDS,
@@ -19,7 +19,7 @@ import {
19
19
  getPipelineEventBus,
20
20
  getTimeProvider,
21
21
  isDeclaredNeverDeprecate
22
- } from "./chunk-ATNHVLKJ.js";
22
+ } from "./chunk-OYPTT7VJ.js";
23
23
  import {
24
24
  getNexusDataDir,
25
25
  nexusDataPath
@@ -2132,4 +2132,4 @@ export {
2132
2132
  runImprovementReview,
2133
2133
  registerImprovementReviewTool
2134
2134
  };
2135
- //# sourceMappingURL=chunk-47WSUCLS.js.map
2135
+ //# sourceMappingURL=chunk-UPRSJALQ.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  computeCostDetail
3
- } from "./chunk-344IEWHJ.js";
3
+ } from "./chunk-FP4C6QYQ.js";
4
4
  import {
5
5
  DEFAULT_CONSENSUS_CONFIG,
6
6
  DEFAULT_INCREMENTAL_QUORUM_CONFIG,
@@ -18,20 +18,20 @@ import {
18
18
  toolSuccess,
19
19
  withProgressHeartbeat,
20
20
  wrapToolWithTimeout
21
- } from "./chunk-VV7KSMMR.js";
21
+ } from "./chunk-WB2K3FHP.js";
22
22
  import {
23
23
  createEvent,
24
24
  getGlobalRegistry
25
- } from "./chunk-4AF6CP7P.js";
25
+ } from "./chunk-SX3UV5B6.js";
26
26
  import {
27
27
  getToolMemory
28
- } from "./chunk-GTU2GK4H.js";
28
+ } from "./chunk-AJW6TWSE.js";
29
29
  import {
30
30
  authRemediation,
31
31
  delay,
32
32
  getAvailableClis,
33
33
  withTimeout
34
- } from "./chunk-A5QBZ5EC.js";
34
+ } from "./chunk-ZNM4GOKK.js";
35
35
  import {
36
36
  AgentError,
37
37
  CLI_NAMES,
@@ -60,7 +60,7 @@ import {
60
60
  resolveClassGuardMs,
61
61
  resolveModelIdentitySync,
62
62
  resolveVoteTimeout
63
- } from "./chunk-ATNHVLKJ.js";
63
+ } from "./chunk-OYPTT7VJ.js";
64
64
  import {
65
65
  ensureLearningDir,
66
66
  getOutcomesFile
@@ -5976,7 +5976,7 @@ async function processVotesWithCascade(engineVotes, opts) {
5976
5976
  var CONTRARIAN_ESCALATION_THRESHOLD = 0.8;
5977
5977
  async function runContrarianCheck(proposal, log) {
5978
5978
  try {
5979
- const { executeExpert } = await import("./expert-bridge-NIYLN24L.js");
5979
+ const { executeExpert } = await import("./expert-bridge-MIPRZ6DR.js");
5980
5980
  const prompt = [
5981
5981
  "You are a contrarian analyst. Your job is to find reasons this proposal should be REJECTED.",
5982
5982
  "Look for: YAGNI (not needed), MISALIGNED (wrong tech/architecture), SECURITY_RISK, SCOPE_CREEP.",
@@ -6503,4 +6503,4 @@ export {
6503
6503
  CONSENSUS_VOTE_OUTPUT_SCHEMA,
6504
6504
  registerConsensusVoteTool
6505
6505
  };
6506
- //# sourceMappingURL=chunk-5NRFPUNP.js.map
6506
+ //# sourceMappingURL=chunk-VNPKYYVU.js.map
@@ -11,7 +11,7 @@ import {
11
11
  createGetRetryConfig,
12
12
  createGetTimeout,
13
13
  createGetToolRateLimit
14
- } from "./chunk-ATNHVLKJ.js";
14
+ } from "./chunk-OYPTT7VJ.js";
15
15
 
16
16
  // src/config/defaults.ts
17
17
  var CUSTOM_API_DEFAULT_MODEL = "gpt-5.5";
@@ -230,4 +230,4 @@ export {
230
230
  CUSTOM_API_DEFAULT_MODEL,
231
231
  DEFAULTS
232
232
  };
233
- //# sourceMappingURL=chunk-NGFG5TIB.js.map
233
+ //# sourceMappingURL=chunk-VPYHZVBH.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  readOpenAICompatEnv
3
- } from "./chunk-GMJUXSLK.js";
3
+ } from "./chunk-FSLKQEK2.js";
4
4
  import {
5
5
  resolveInsideRoot
6
6
  } from "./chunk-NUBSJGQZ.js";
@@ -10,10 +10,10 @@ import {
10
10
  import {
11
11
  createAllAdapters,
12
12
  probeCli
13
- } from "./chunk-A5QBZ5EC.js";
13
+ } from "./chunk-ZNM4GOKK.js";
14
14
  import {
15
15
  DEFAULTS
16
- } from "./chunk-NGFG5TIB.js";
16
+ } from "./chunk-VPYHZVBH.js";
17
17
  import {
18
18
  CliNameSchema,
19
19
  DEFAULT_CAPABILITIES,
@@ -30,7 +30,7 @@ import {
30
30
  ok,
31
31
  symbols,
32
32
  writeLine
33
- } from "./chunk-ATNHVLKJ.js";
33
+ } from "./chunk-OYPTT7VJ.js";
34
34
  import {
35
35
  getLearningDir,
36
36
  getOutcomesFile,
@@ -46,7 +46,7 @@ import {
46
46
  } from "./chunk-OQLFRJCW.js";
47
47
 
48
48
  // src/version.ts
49
- var VERSION = true ? "3.2.2" : "dev";
49
+ var VERSION = true ? "3.2.3" : "dev";
50
50
 
51
51
  // src/config/schemas-core.ts
52
52
  import { z } from "zod";
@@ -2188,7 +2188,7 @@ async function runDoctorFix(result) {
2188
2188
  writeLine2("\u2500".repeat(40));
2189
2189
  let fixCount = 0;
2190
2190
  if (!result.dataDirectory.rootExists || result.dataDirectory.subdirectories.some((d) => !d.exists || !d.writable)) {
2191
- const { runSetup } = await import("./setup-command-NPGRBUWK.js");
2191
+ const { runSetup } = await import("./setup-command-VHA2K7XL.js");
2192
2192
  const setupResult = runSetup({
2193
2193
  skipMcp: true,
2194
2194
  skipRules: true,
@@ -2202,7 +2202,7 @@ async function runDoctorFix(result) {
2202
2202
  }
2203
2203
  }
2204
2204
  if (!result.configFile.found) {
2205
- const { runConfigInitSync } = await import("./setup-config-D6V7HW6W.js");
2205
+ const { runConfigInitSync } = await import("./setup-config-KCR2RA4L.js");
2206
2206
  const configResult = runConfigInitSync(process.cwd(), false, false);
2207
2207
  if (configResult.success && configResult.created) {
2208
2208
  writeLine2(`\u2713 Generated config: ${configResult.path}`);
@@ -2301,4 +2301,4 @@ export {
2301
2301
  startStdioServer,
2302
2302
  closeServer
2303
2303
  };
2304
- //# sourceMappingURL=chunk-5HG2M5CP.js.map
2304
+ //# sourceMappingURL=chunk-VYYSOP24.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  emitClawGuardViolation
3
- } from "./chunk-F47KBREM.js";
3
+ } from "./chunk-SVSZBXWM.js";
4
4
  import {
5
5
  CACHE_TIMEOUTS,
6
6
  MCP_TIMEOUTS,
@@ -16,7 +16,7 @@ import {
16
16
  getTimeProvider,
17
17
  ok,
18
18
  resolveToolClassGuardMs
19
- } from "./chunk-ATNHVLKJ.js";
19
+ } from "./chunk-OYPTT7VJ.js";
20
20
  import {
21
21
  getNexusDataDir
22
22
  } from "./chunk-OQLFRJCW.js";
@@ -2023,4 +2023,4 @@ export {
2023
2023
  VOTING_THRESHOLDS,
2024
2024
  ConsensusMetricsSchema
2025
2025
  };
2026
- //# sourceMappingURL=chunk-VV7KSMMR.js.map
2026
+ //# sourceMappingURL=chunk-WB2K3FHP.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  runConfigInitSync
3
- } from "./chunk-43YJRZZW.js";
3
+ } from "./chunk-CAFO4H4L.js";
4
4
  import {
5
5
  VERSION,
6
6
  checkApiKeys,
@@ -8,13 +8,13 @@ import {
8
8
  checkSqlite,
9
9
  defaultConfig,
10
10
  initDataDirectories
11
- } from "./chunk-5HG2M5CP.js";
11
+ } from "./chunk-VYYSOP24.js";
12
12
  import {
13
13
  BUILT_IN_EXPERTS
14
14
  } from "./chunk-YPNQPT2F.js";
15
15
  import {
16
16
  probeAllClis
17
- } from "./chunk-A5QBZ5EC.js";
17
+ } from "./chunk-ZNM4GOKK.js";
18
18
  import {
19
19
  CLI_SUBPROCESS_TIMEOUTS,
20
20
  colors,
@@ -25,7 +25,7 @@ import {
25
25
  getErrorMessage,
26
26
  getTimeProvider,
27
27
  symbols
28
- } from "./chunk-ATNHVLKJ.js";
28
+ } from "./chunk-OYPTT7VJ.js";
29
29
  import {
30
30
  ensureGitignored,
31
31
  findRepoRoot
@@ -2001,4 +2001,4 @@ export {
2001
2001
  setupCommand,
2002
2002
  setupCommandAsync
2003
2003
  };
2004
- //# sourceMappingURL=chunk-SDVDWM3C.js.map
2004
+ //# sourceMappingURL=chunk-YMXYMLBB.js.map
@@ -5,34 +5,34 @@ import {
5
5
  planOptionalParams,
6
6
  requireApiKey,
7
7
  validateApiKeyPresence
8
- } from "./chunk-HEZ6VTMO.js";
8
+ } from "./chunk-5XPHOP2H.js";
9
9
  import {
10
10
  CUSTOM_API_DEFAULT_MODEL
11
- } from "./chunk-NGFG5TIB.js";
11
+ } from "./chunk-VPYHZVBH.js";
12
12
  import {
13
13
  CUSTOM_API_BASE_URL_ENV,
14
14
  PROVIDER_ENV_KEYS,
15
15
  assertCustomApiHostResolvesPublic,
16
16
  validateCustomApiBaseUrl
17
- } from "./chunk-ZBTEOM3T.js";
17
+ } from "./chunk-5RNS353B.js";
18
18
  import {
19
19
  nexusMkdtempSync
20
20
  } from "./chunk-YAF73ZMR.js";
21
21
  import {
22
22
  getAvailabilityCache
23
- } from "./chunk-RHO52DBX.js";
23
+ } from "./chunk-OQAV3JMV.js";
24
24
  import {
25
25
  extractSystemPrompt
26
26
  } from "./chunk-QZUG667L.js";
27
27
  import {
28
28
  generateHyphenId
29
- } from "./chunk-25TDC2C4.js";
29
+ } from "./chunk-FCSXIDDQ.js";
30
30
  import {
31
31
  CliCircuitBreaker,
32
32
  DEFAULT_CIRCUIT_BREAKER_CONFIG,
33
33
  getCliCircuitBreakerSnapshot,
34
34
  getDefaultCliCircuitBreakerRegistry
35
- } from "./chunk-OKVCJFZM.js";
35
+ } from "./chunk-5PM7O2LO.js";
36
36
  import {
37
37
  CLI_SUBPROCESS_TIMEOUTS,
38
38
  CLI_TIMEOUTS,
@@ -69,7 +69,7 @@ import {
69
69
  ok,
70
70
  parseRetryAfterMs,
71
71
  resolveCliAlias
72
- } from "./chunk-ATNHVLKJ.js";
72
+ } from "./chunk-OYPTT7VJ.js";
73
73
 
74
74
  // src/cli-adapters/cli-to-model-adapter.ts
75
75
  var CliToModelAdapter = class {
@@ -2548,6 +2548,38 @@ var SubprocessCliAdapter = class extends BaseCliAdapter {
2548
2548
  * + model and surface tail-latency outliers") requires a way to
2549
2549
  * disambiguate which timing row belongs to which call.
2550
2550
  */
2551
+ /**
2552
+ * Wraps a command's cleanup in a once-guard (#4488).
2553
+ *
2554
+ * `CommandConfig.cleanup` removes a tempdir the command builder created (e.g.
2555
+ * codex's `nexus-codex-sysprompt-*` holding the system prompt). It must run on
2556
+ * EVERY exit path — a path that skips it leaks a directory per invocation, the
2557
+ * leak codex-adapter's own comment records as having exhausted inodes on
2558
+ * long-running MCP daemons — and exactly ONCE, since a second rm could hit a
2559
+ * path the OS has already handed to someone else.
2560
+ */
2561
+ /**
2562
+ * Result for a synchronous spawn failure (#4488).
2563
+ *
2564
+ * `spawn()` throws synchronously on some failures (EACCES, and ENOENT on
2565
+ * certain platforms), and handler setup can throw too. Those paths never
2566
+ * reach `resolve`, so without catching them the tempdir leaks AND the promise
2567
+ * rejects instead of returning a Result — breaking the never-throws contract
2568
+ * this adapter is supposed to honour.
2569
+ */
2570
+ spawnFailure(command, error) {
2571
+ return err(
2572
+ this.createError("EXECUTION_ERROR", `Failed to spawn ${command}: ${getErrorMessage(error)}`)
2573
+ );
2574
+ }
2575
+ onceCleanup(cleanup) {
2576
+ let done = false;
2577
+ return () => {
2578
+ if (done) return;
2579
+ done = true;
2580
+ this.runSubprocessCleanup(cleanup);
2581
+ };
2582
+ }
2551
2583
  spawnSubprocess(task, options, requestId) {
2552
2584
  const cmdConfig = this.getCommand(task);
2553
2585
  const startTime = getTimeProvider().now();
@@ -2556,32 +2588,38 @@ var SubprocessCliAdapter = class extends BaseCliAdapter {
2556
2588
  return Promise.resolve(err(this.createError("TIMEOUT", "Aborted before spawn")));
2557
2589
  }
2558
2590
  return new Promise((resolveOuter) => {
2559
- const resolve = (result) => {
2560
- this.runSubprocessCleanup(cmdConfig.cleanup);
2561
- resolveOuter(result);
2591
+ const runCleanupOnce = this.onceCleanup(cmdConfig.cleanup);
2592
+ const resolve = (r) => {
2593
+ runCleanupOnce();
2594
+ resolveOuter(r);
2562
2595
  };
2563
- const childEnv = buildChildEnv(this.name);
2564
- const child = spawn(cmdConfig.command, cmdConfig.args, {
2565
- stdio: ["pipe", "pipe", "pipe"],
2566
- env: childEnv
2567
- });
2568
- const onProgress = options.onProgress;
2569
- const state = this.setupChildProcessHandlers({
2570
- child,
2571
- startTime,
2572
- timeoutMs: options.timeoutMs,
2573
- resolve,
2574
- requestId,
2575
- ...onProgress !== void 0 ? { onProgress } : {}
2576
- });
2577
- if (signal !== void 0) {
2578
- this.attachAbortSignal(child, signal, resolve);
2579
- }
2580
- if (cmdConfig.stdin !== void 0) {
2581
- child.stdin.write(cmdConfig.stdin);
2596
+ try {
2597
+ const childEnv = buildChildEnv(this.name);
2598
+ const child = spawn(cmdConfig.command, cmdConfig.args, {
2599
+ stdio: ["pipe", "pipe", "pipe"],
2600
+ env: childEnv
2601
+ });
2602
+ const onProgress = options.onProgress;
2603
+ const state = this.setupChildProcessHandlers({
2604
+ child,
2605
+ startTime,
2606
+ timeoutMs: options.timeoutMs,
2607
+ resolve,
2608
+ requestId,
2609
+ ...onProgress !== void 0 ? { onProgress } : {}
2610
+ });
2611
+ if (signal !== void 0) {
2612
+ this.attachAbortSignal(child, signal, resolve);
2613
+ }
2614
+ if (cmdConfig.stdin !== void 0) {
2615
+ child.stdin.write(cmdConfig.stdin);
2616
+ }
2617
+ child.stdin.end();
2618
+ void state;
2619
+ } catch (error) {
2620
+ runCleanupOnce();
2621
+ resolveOuter(this.spawnFailure(cmdConfig.command, error));
2582
2622
  }
2583
- child.stdin.end();
2584
- void state;
2585
2623
  });
2586
2624
  }
2587
2625
  /**
@@ -4724,4 +4762,4 @@ export {
4724
4762
  SdkAdapter,
4725
4763
  createAutoAdapter
4726
4764
  };
4727
- //# sourceMappingURL=chunk-A5QBZ5EC.js.map
4765
+ //# sourceMappingURL=chunk-ZNM4GOKK.js.map