nexus-agents 2.138.0 → 2.139.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 (129) hide show
  1. package/README.md +24 -22
  2. package/dist/{child-mcp-config-LCWPKOYE.js → child-mcp-config-3WBDH4XF.js} +2 -2
  3. package/dist/{chunk-ZJ3WGARD.js → chunk-2CPGV7OB.js} +3 -3
  4. package/dist/{chunk-DKU7O4V2.js → chunk-2GYETCPK.js} +2 -2
  5. package/dist/{chunk-MXDMJGVG.js → chunk-2ML4HOUH.js} +4 -4
  6. package/dist/{chunk-Q3EZN3Z2.js → chunk-4YCIRCEJ.js} +2 -2
  7. package/dist/{chunk-J2HWO3J3.js → chunk-63XGRODH.js} +8 -8
  8. package/dist/{chunk-J2HWO3J3.js.map → chunk-63XGRODH.js.map} +1 -1
  9. package/dist/{chunk-KWZC5LFC.js → chunk-ALYAJ7UB.js} +5 -5
  10. package/dist/{chunk-DTHMBYSV.js → chunk-EUHUAF3A.js} +2 -2
  11. package/dist/{chunk-7QR2RTA4.js → chunk-F76DNKNK.js} +7 -7
  12. package/dist/{chunk-AL7ZYHAF.js → chunk-FNIZRYYU.js} +3 -3
  13. package/dist/{chunk-XUH2UFSG.js → chunk-FSVDHN6X.js} +2 -2
  14. package/dist/{chunk-H3B7H67H.js → chunk-GSVXKPFP.js} +4 -4
  15. package/dist/{chunk-YPGTIJEW.js → chunk-H3AWLMZC.js} +2 -2
  16. package/dist/{chunk-NWW7HLRL.js → chunk-HMAS4ODR.js} +26 -10
  17. package/dist/{chunk-NWW7HLRL.js.map → chunk-HMAS4ODR.js.map} +1 -1
  18. package/dist/{chunk-D2XWKFZ2.js → chunk-IVUFSLFJ.js} +2 -2
  19. package/dist/{chunk-LMMLLGZZ.js → chunk-JHURIWZJ.js} +2 -2
  20. package/dist/{chunk-2XRPKJKX.js → chunk-KSQSWEFH.js} +7 -1
  21. package/dist/chunk-KSQSWEFH.js.map +1 -0
  22. package/dist/{chunk-NJW5GQUF.js → chunk-M7SLG5LO.js} +2 -2
  23. package/dist/{chunk-JFKNUEZ7.js → chunk-MGOCRAXF.js} +2 -2
  24. package/dist/{chunk-DOCEHXLQ.js → chunk-MVS4DQCD.js} +3 -3
  25. package/dist/{chunk-7QEGSYSU.js → chunk-MWM5HCZ5.js} +2 -2
  26. package/dist/{chunk-MNXLJ2VX.js → chunk-NHHSBKFL.js} +2 -2
  27. package/dist/{chunk-7KFI6R2M.js → chunk-PA4G74YQ.js} +7 -7
  28. package/dist/{chunk-MNHNQC7R.js → chunk-PDMNB5CN.js} +2 -2
  29. package/dist/{chunk-K62WRHHK.js → chunk-PI5QEJ54.js} +2 -2
  30. package/dist/{chunk-RER74KD6.js → chunk-PINS44XA.js} +2 -2
  31. package/dist/{chunk-RTBVZCLD.js → chunk-POET73HP.js} +2 -2
  32. package/dist/{chunk-7XCQJXN4.js → chunk-PYFCJRBU.js} +7 -7
  33. package/dist/{chunk-2SWMXQZF.js → chunk-QMFKL7Q4.js} +4 -4
  34. package/dist/{chunk-52JN2RFG.js → chunk-RVWUVJBM.js} +5 -5
  35. package/dist/{chunk-AYA7K5F5.js → chunk-SVKRAEAV.js} +4 -4
  36. package/dist/{chunk-R5ZQCA37.js → chunk-TMQ2LTJ4.js} +57 -46
  37. package/dist/{chunk-R5ZQCA37.js.map → chunk-TMQ2LTJ4.js.map} +1 -1
  38. package/dist/{chunk-5MMHH5WK.js → chunk-V74TPGPR.js} +3 -3
  39. package/dist/{chunk-NYSOJBF5.js → chunk-VIXE4WGC.js} +3 -3
  40. package/dist/{chunk-H4ATQPGQ.js → chunk-WWDMH5XY.js} +2 -2
  41. package/dist/{chunk-PLKWH53F.js → chunk-X5RS3KA7.js} +5 -5
  42. package/dist/{cli-circuit-breaker-TNV2PBLS.js → cli-circuit-breaker-OXUQUXYG.js} +4 -4
  43. package/dist/cli.js +42 -42
  44. package/dist/{composite-router-KM4BPVY4.js → composite-router-LTNI6OM2.js} +2 -2
  45. package/dist/{consensus-vote-PCIFXILX.js → consensus-vote-WA5YOGKF.js} +16 -16
  46. package/dist/{context-retriever-MAZKHYRD.js → context-retriever-XHXGVUEY.js} +10 -10
  47. package/dist/{dist-KGTVHDVC.js → dist-IKZ53APZ.js} +2 -2
  48. package/dist/{doctor-deep-XCMFGGJ3.js → doctor-deep-XQP74G25.js} +3 -3
  49. package/dist/{expert-bridge-EA3U3GKU.js → expert-bridge-EFMCUNQF.js} +4 -4
  50. package/dist/{factory-Y5WCLQDB.js → factory-BKQHRDBD.js} +5 -5
  51. package/dist/{factory-FACKN4IN.js → factory-CVQP6NRC.js} +8 -8
  52. package/dist/{improvement-review-F7TKX4LQ.js → improvement-review-QYSR3EFV.js} +4 -4
  53. package/dist/index.d.ts +12 -11
  54. package/dist/index.js +32 -32
  55. package/dist/index.js.map +1 -1
  56. package/dist/{init-opencode-ZYGGEUZN.js → init-opencode-T4IS2ZL3.js} +6 -6
  57. package/dist/{issue-triage-NI2ZDVTB.js → issue-triage-XZOIGUH6.js} +5 -5
  58. package/dist/{pr-reviewer-helpers-L7L6O3VQ.js → pr-reviewer-helpers-QL7AQV2B.js} +4 -4
  59. package/dist/{registry-command-K2KWID5D.js → registry-command-7ZVOCZDS.js} +2 -2
  60. package/dist/{repo-security-plan-PCGHBEGZ.js → repo-security-plan-QE6FKLP3.js} +3 -3
  61. package/dist/{research-helpers-synthesize-R45KXXNH.js → research-helpers-synthesize-TUZZ2RKT.js} +4 -4
  62. package/dist/{routing-memory-TLB5EY7J.js → routing-memory-UR4FTNY2.js} +2 -2
  63. package/dist/{session-memory-PUEUWVIN.js → session-memory-FHNRO6NH.js} +3 -3
  64. package/dist/{setup-command-OHM6K4FM.js → setup-command-PY7K5NAV.js} +11 -11
  65. package/dist/{setup-config-SLFGQ5F2.js → setup-config-XZXECJIV.js} +3 -3
  66. package/dist/{setup-custom-api-SVCRCSKY.js → setup-custom-api-IFMSGLN4.js} +3 -3
  67. package/dist/{tool-memory-COQWIFB6.js → tool-memory-2SMXZCRS.js} +7 -7
  68. package/dist/{tool-memory-registry-adapters-DLSE4SQH.js → tool-memory-registry-adapters-PMMKJQF5.js} +3 -3
  69. package/dist/{unified-registry-44DIG4XK.js → unified-registry-5BEYTFNN.js} +9 -9
  70. package/dist/{weather-report-WK7TJPMM.js → weather-report-MN2FK2RG.js} +2 -2
  71. package/package.json +2 -2
  72. package/dist/chunk-2XRPKJKX.js.map +0 -1
  73. /package/dist/{child-mcp-config-LCWPKOYE.js.map → child-mcp-config-3WBDH4XF.js.map} +0 -0
  74. /package/dist/{chunk-ZJ3WGARD.js.map → chunk-2CPGV7OB.js.map} +0 -0
  75. /package/dist/{chunk-DKU7O4V2.js.map → chunk-2GYETCPK.js.map} +0 -0
  76. /package/dist/{chunk-MXDMJGVG.js.map → chunk-2ML4HOUH.js.map} +0 -0
  77. /package/dist/{chunk-Q3EZN3Z2.js.map → chunk-4YCIRCEJ.js.map} +0 -0
  78. /package/dist/{chunk-KWZC5LFC.js.map → chunk-ALYAJ7UB.js.map} +0 -0
  79. /package/dist/{chunk-DTHMBYSV.js.map → chunk-EUHUAF3A.js.map} +0 -0
  80. /package/dist/{chunk-7QR2RTA4.js.map → chunk-F76DNKNK.js.map} +0 -0
  81. /package/dist/{chunk-AL7ZYHAF.js.map → chunk-FNIZRYYU.js.map} +0 -0
  82. /package/dist/{chunk-XUH2UFSG.js.map → chunk-FSVDHN6X.js.map} +0 -0
  83. /package/dist/{chunk-H3B7H67H.js.map → chunk-GSVXKPFP.js.map} +0 -0
  84. /package/dist/{chunk-YPGTIJEW.js.map → chunk-H3AWLMZC.js.map} +0 -0
  85. /package/dist/{chunk-D2XWKFZ2.js.map → chunk-IVUFSLFJ.js.map} +0 -0
  86. /package/dist/{chunk-LMMLLGZZ.js.map → chunk-JHURIWZJ.js.map} +0 -0
  87. /package/dist/{chunk-NJW5GQUF.js.map → chunk-M7SLG5LO.js.map} +0 -0
  88. /package/dist/{chunk-JFKNUEZ7.js.map → chunk-MGOCRAXF.js.map} +0 -0
  89. /package/dist/{chunk-DOCEHXLQ.js.map → chunk-MVS4DQCD.js.map} +0 -0
  90. /package/dist/{chunk-7QEGSYSU.js.map → chunk-MWM5HCZ5.js.map} +0 -0
  91. /package/dist/{chunk-MNXLJ2VX.js.map → chunk-NHHSBKFL.js.map} +0 -0
  92. /package/dist/{chunk-7KFI6R2M.js.map → chunk-PA4G74YQ.js.map} +0 -0
  93. /package/dist/{chunk-MNHNQC7R.js.map → chunk-PDMNB5CN.js.map} +0 -0
  94. /package/dist/{chunk-K62WRHHK.js.map → chunk-PI5QEJ54.js.map} +0 -0
  95. /package/dist/{chunk-RER74KD6.js.map → chunk-PINS44XA.js.map} +0 -0
  96. /package/dist/{chunk-RTBVZCLD.js.map → chunk-POET73HP.js.map} +0 -0
  97. /package/dist/{chunk-7XCQJXN4.js.map → chunk-PYFCJRBU.js.map} +0 -0
  98. /package/dist/{chunk-2SWMXQZF.js.map → chunk-QMFKL7Q4.js.map} +0 -0
  99. /package/dist/{chunk-52JN2RFG.js.map → chunk-RVWUVJBM.js.map} +0 -0
  100. /package/dist/{chunk-AYA7K5F5.js.map → chunk-SVKRAEAV.js.map} +0 -0
  101. /package/dist/{chunk-5MMHH5WK.js.map → chunk-V74TPGPR.js.map} +0 -0
  102. /package/dist/{chunk-NYSOJBF5.js.map → chunk-VIXE4WGC.js.map} +0 -0
  103. /package/dist/{chunk-H4ATQPGQ.js.map → chunk-WWDMH5XY.js.map} +0 -0
  104. /package/dist/{chunk-PLKWH53F.js.map → chunk-X5RS3KA7.js.map} +0 -0
  105. /package/dist/{cli-circuit-breaker-TNV2PBLS.js.map → cli-circuit-breaker-OXUQUXYG.js.map} +0 -0
  106. /package/dist/{composite-router-KM4BPVY4.js.map → composite-router-LTNI6OM2.js.map} +0 -0
  107. /package/dist/{consensus-vote-PCIFXILX.js.map → consensus-vote-WA5YOGKF.js.map} +0 -0
  108. /package/dist/{context-retriever-MAZKHYRD.js.map → context-retriever-XHXGVUEY.js.map} +0 -0
  109. /package/dist/{dist-KGTVHDVC.js.map → dist-IKZ53APZ.js.map} +0 -0
  110. /package/dist/{doctor-deep-XCMFGGJ3.js.map → doctor-deep-XQP74G25.js.map} +0 -0
  111. /package/dist/{expert-bridge-EA3U3GKU.js.map → expert-bridge-EFMCUNQF.js.map} +0 -0
  112. /package/dist/{factory-FACKN4IN.js.map → factory-BKQHRDBD.js.map} +0 -0
  113. /package/dist/{factory-Y5WCLQDB.js.map → factory-CVQP6NRC.js.map} +0 -0
  114. /package/dist/{improvement-review-F7TKX4LQ.js.map → improvement-review-QYSR3EFV.js.map} +0 -0
  115. /package/dist/{init-opencode-ZYGGEUZN.js.map → init-opencode-T4IS2ZL3.js.map} +0 -0
  116. /package/dist/{issue-triage-NI2ZDVTB.js.map → issue-triage-XZOIGUH6.js.map} +0 -0
  117. /package/dist/{pr-reviewer-helpers-L7L6O3VQ.js.map → pr-reviewer-helpers-QL7AQV2B.js.map} +0 -0
  118. /package/dist/{registry-command-K2KWID5D.js.map → registry-command-7ZVOCZDS.js.map} +0 -0
  119. /package/dist/{repo-security-plan-PCGHBEGZ.js.map → repo-security-plan-QE6FKLP3.js.map} +0 -0
  120. /package/dist/{research-helpers-synthesize-R45KXXNH.js.map → research-helpers-synthesize-TUZZ2RKT.js.map} +0 -0
  121. /package/dist/{routing-memory-TLB5EY7J.js.map → routing-memory-UR4FTNY2.js.map} +0 -0
  122. /package/dist/{session-memory-PUEUWVIN.js.map → session-memory-FHNRO6NH.js.map} +0 -0
  123. /package/dist/{setup-command-OHM6K4FM.js.map → setup-command-PY7K5NAV.js.map} +0 -0
  124. /package/dist/{setup-config-SLFGQ5F2.js.map → setup-config-XZXECJIV.js.map} +0 -0
  125. /package/dist/{setup-custom-api-SVCRCSKY.js.map → setup-custom-api-IFMSGLN4.js.map} +0 -0
  126. /package/dist/{tool-memory-COQWIFB6.js.map → tool-memory-2SMXZCRS.js.map} +0 -0
  127. /package/dist/{tool-memory-registry-adapters-DLSE4SQH.js.map → tool-memory-registry-adapters-PMMKJQF5.js.map} +0 -0
  128. /package/dist/{unified-registry-44DIG4XK.js.map → unified-registry-5BEYTFNN.js.map} +0 -0
  129. /package/dist/{weather-report-WK7TJPMM.js.map → weather-report-MN2FK2RG.js.map} +0 -0
@@ -2341,7 +2341,7 @@ function setDefaultRegistry(registry) {
2341
2341
  }
2342
2342
  async function reloadDefaultRegistry() {
2343
2343
  globalRegistry = buildDefaultRegistry();
2344
- const { resetGlobalRegistry } = await import("./unified-registry-44DIG4XK.js");
2344
+ const { resetGlobalRegistry } = await import("./unified-registry-5BEYTFNN.js");
2345
2345
  resetGlobalRegistry();
2346
2346
  return globalRegistry;
2347
2347
  }
@@ -9317,9 +9317,9 @@ function getOutcomeStore() {
9317
9317
  }
9318
9318
  async function attachOutcomeStoreToRegistry(store) {
9319
9319
  try {
9320
- const { getMemoryRegistry } = await import("./dist-KGTVHDVC.js");
9320
+ const { getMemoryRegistry } = await import("./dist-IKZ53APZ.js");
9321
9321
  const { OutcomeStoreAdapter } = await import("./outcome-store-adapter-K4L3RUJE.js");
9322
- const { ensureSharedMemoryRegistry } = await import("./tool-memory-registry-adapters-DLSE4SQH.js");
9322
+ const { ensureSharedMemoryRegistry } = await import("./tool-memory-registry-adapters-PMMKJQF5.js");
9323
9323
  ensureSharedMemoryRegistry();
9324
9324
  getMemoryRegistry().attach("outcomes", new OutcomeStoreAdapter(store));
9325
9325
  } catch {
@@ -13577,7 +13577,7 @@ var CompositeRouter = class _CompositeRouter {
13577
13577
  */
13578
13578
  async consultUnifiedContext(task) {
13579
13579
  try {
13580
- const { getContextForTask, inferTaskCategory } = await import("./context-retriever-MAZKHYRD.js");
13580
+ const { getContextForTask, inferTaskCategory } = await import("./context-retriever-XHXGVUEY.js");
13581
13581
  const ctx = await getContextForTask({
13582
13582
  task: task.content,
13583
13583
  category: inferTaskCategory(task.content),
@@ -15079,4 +15079,4 @@ export {
15079
15079
  AgentCapability,
15080
15080
  OrchestratorError
15081
15081
  };
15082
- //# sourceMappingURL=chunk-KWZC5LFC.js.map
15082
+ //# sourceMappingURL=chunk-ALYAJ7UB.js.map
@@ -3,7 +3,7 @@ import {
3
3
  MODEL_IDS,
4
4
  getTimeProvider,
5
5
  resolveModelIdentitySync
6
- } from "./chunk-KWZC5LFC.js";
6
+ } from "./chunk-ALYAJ7UB.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-DTHMBYSV.js.map
153
+ //# sourceMappingURL=chunk-EUHUAF3A.js.map
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  resolveCliSlot
3
- } from "./chunk-DTHMBYSV.js";
3
+ } from "./chunk-EUHUAF3A.js";
4
4
  import {
5
5
  createLogger,
6
6
  getTimeProvider,
7
7
  isRateLimitText
8
- } from "./chunk-KWZC5LFC.js";
8
+ } from "./chunk-ALYAJ7UB.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-LCWPKOYE.js");
24
+ const { generateMcpConfig } = await import("./child-mcp-config-3WBDH4XF.js");
25
25
  const config = await generateMcpConfig();
26
26
  cachedMcpConfigPath = config.configPath;
27
27
  cachedMcpConfigCleanup = config.cleanup;
@@ -93,8 +93,8 @@ var routerInitPromise = null;
93
93
  async function getRouter() {
94
94
  if (cachedRouter !== null) return cachedRouter;
95
95
  routerInitPromise ??= (async () => {
96
- const { createAllAdapters } = await import("./factory-FACKN4IN.js");
97
- const { createCompositeRouter } = await import("./composite-router-KM4BPVY4.js");
96
+ const { createAllAdapters } = await import("./factory-CVQP6NRC.js");
97
+ const { createCompositeRouter } = await import("./composite-router-LTNI6OM2.js");
98
98
  const adapters = createAllAdapters();
99
99
  if (adapters.size === 0) {
100
100
  routerInitPromise = null;
@@ -102,7 +102,7 @@ async function getRouter() {
102
102
  }
103
103
  cachedRouter = adaptCompositeRouter(createCompositeRouter(adapters));
104
104
  try {
105
- const { createCliCircuitBreakerIntegration } = await import("./cli-circuit-breaker-TNV2PBLS.js");
105
+ const { createCliCircuitBreakerIntegration } = await import("./cli-circuit-breaker-OXUQUXYG.js");
106
106
  cachedCircuitBreaker = createCliCircuitBreakerIntegration([...adapters.values()]);
107
107
  } catch (error) {
108
108
  const msg = error instanceof Error ? error.message : String(error);
@@ -213,4 +213,4 @@ export {
213
213
  tokenSplitFromUsage,
214
214
  executeExpert
215
215
  };
216
- //# sourceMappingURL=chunk-7QR2RTA4.js.map
216
+ //# sourceMappingURL=chunk-F76DNKNK.js.map
@@ -7,7 +7,7 @@ import {
7
7
  toolStructuredError,
8
8
  toolSuccessStructured,
9
9
  wrapToolWithTimeout
10
- } from "./chunk-NJW5GQUF.js";
10
+ } from "./chunk-M7SLG5LO.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-KWZC5LFC.js";
22
+ } from "./chunk-ALYAJ7UB.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-AL7ZYHAF.js.map
2135
+ //# sourceMappingURL=chunk-FNIZRYYU.js.map
@@ -4,7 +4,7 @@ import {
4
4
  err,
5
5
  getErrorMessage,
6
6
  ok
7
- } from "./chunk-KWZC5LFC.js";
7
+ } from "./chunk-ALYAJ7UB.js";
8
8
 
9
9
  // src/scm/types.ts
10
10
  var ScmError = class extends Error {
@@ -263,4 +263,4 @@ export {
263
263
  ScmError,
264
264
  GitHubProvider
265
265
  };
266
- //# sourceMappingURL=chunk-XUH2UFSG.js.map
266
+ //# sourceMappingURL=chunk-FSVDHN6X.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  createAutoAdapter
3
- } from "./chunk-7XCQJXN4.js";
3
+ } from "./chunk-PYFCJRBU.js";
4
4
  import {
5
5
  mapModelErrorToCategory
6
- } from "./chunk-H4ATQPGQ.js";
6
+ } from "./chunk-WWDMH5XY.js";
7
7
  import {
8
8
  CLI_NAMES,
9
9
  CircularBuffer,
@@ -24,7 +24,7 @@ import {
24
24
  ok,
25
25
  recordRateLimitEvent,
26
26
  toRateLimitError
27
- } from "./chunk-KWZC5LFC.js";
27
+ } from "./chunk-ALYAJ7UB.js";
28
28
 
29
29
  // src/agents/collaboration/event-bus-helpers.ts
30
30
  import { randomUUID } from "crypto";
@@ -1041,4 +1041,4 @@ export {
1041
1041
  getGlobalRegistry,
1042
1042
  resetGlobalRegistry
1043
1043
  };
1044
- //# sourceMappingURL=chunk-H3B7H67H.js.map
1044
+ //# sourceMappingURL=chunk-GSVXKPFP.js.map
@@ -10,7 +10,7 @@ import {
10
10
  getTokenEstimator,
11
11
  isRateLimitLikeError,
12
12
  ok
13
- } from "./chunk-KWZC5LFC.js";
13
+ } from "./chunk-ALYAJ7UB.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-YPGTIJEW.js.map
710
+ //# sourceMappingURL=chunk-H3AWLMZC.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  computeCostUSD
3
- } from "./chunk-MNHNQC7R.js";
3
+ } from "./chunk-PDMNB5CN.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-NJW5GQUF.js";
21
+ } from "./chunk-M7SLG5LO.js";
22
22
  import {
23
23
  getToolMemory
24
- } from "./chunk-J2HWO3J3.js";
24
+ } from "./chunk-63XGRODH.js";
25
25
  import {
26
26
  createEvent,
27
27
  getGlobalRegistry
28
- } from "./chunk-H3B7H67H.js";
28
+ } from "./chunk-GSVXKPFP.js";
29
29
  import {
30
30
  authRemediation,
31
31
  delay,
32
32
  getAvailableClis,
33
33
  withTimeout
34
- } from "./chunk-7XCQJXN4.js";
34
+ } from "./chunk-PYFCJRBU.js";
35
35
  import {
36
36
  AgentError,
37
37
  CLI_NAMES,
@@ -58,7 +58,7 @@ import {
58
58
  registerPersistentOutcomeStoreFactory,
59
59
  resolveClassGuardMs,
60
60
  resolveVoteTimeout
61
- } from "./chunk-KWZC5LFC.js";
61
+ } from "./chunk-ALYAJ7UB.js";
62
62
  import {
63
63
  ensureLearningDir,
64
64
  getOutcomesFile
@@ -4998,12 +4998,20 @@ function writeJobPending(jobId, toolName) {
4998
4998
  logger7.debug("Wrote pending job record", { jobId, toolName });
4999
4999
  }
5000
5000
  function writeJobComplete(jobId, toolName, result) {
5001
+ const existing = readJobResult(jobId);
5002
+ if (existing?.status === "cancelled") {
5003
+ logger7.debug("Skipping complete write \u2014 job already cancelled (preserving cancellation)", {
5004
+ jobId,
5005
+ toolName
5006
+ });
5007
+ return;
5008
+ }
5001
5009
  const record = {
5002
5010
  v: 1,
5003
5011
  jobId,
5004
5012
  toolName,
5005
5013
  status: "complete",
5006
- createdAt: readJobResult(jobId)?.createdAt ?? (/* @__PURE__ */ new Date()).toISOString(),
5014
+ createdAt: existing?.createdAt ?? (/* @__PURE__ */ new Date()).toISOString(),
5007
5015
  completedAt: (/* @__PURE__ */ new Date()).toISOString(),
5008
5016
  result
5009
5017
  };
@@ -5011,12 +5019,20 @@ function writeJobComplete(jobId, toolName, result) {
5011
5019
  logger7.debug("Wrote complete job record", { jobId, toolName });
5012
5020
  }
5013
5021
  function writeJobFailed(jobId, toolName, error) {
5022
+ const existing = readJobResult(jobId);
5023
+ if (existing?.status === "cancelled") {
5024
+ logger7.debug("Skipping failed write \u2014 job already cancelled (preserving cancellation)", {
5025
+ jobId,
5026
+ toolName
5027
+ });
5028
+ return;
5029
+ }
5014
5030
  const record = {
5015
5031
  v: 1,
5016
5032
  jobId,
5017
5033
  toolName,
5018
5034
  status: "failed",
5019
- createdAt: readJobResult(jobId)?.createdAt ?? (/* @__PURE__ */ new Date()).toISOString(),
5035
+ createdAt: existing?.createdAt ?? (/* @__PURE__ */ new Date()).toISOString(),
5020
5036
  completedAt: (/* @__PURE__ */ new Date()).toISOString(),
5021
5037
  error
5022
5038
  };
@@ -5599,7 +5615,7 @@ async function processVotesWithCascade(engineVotes, opts) {
5599
5615
  var CONTRARIAN_ESCALATION_THRESHOLD = 0.8;
5600
5616
  async function runContrarianCheck(proposal, log) {
5601
5617
  try {
5602
- const { executeExpert } = await import("./expert-bridge-EA3U3GKU.js");
5618
+ const { executeExpert } = await import("./expert-bridge-EFMCUNQF.js");
5603
5619
  const prompt = [
5604
5620
  "You are a contrarian analyst. Your job is to find reasons this proposal should be REJECTED.",
5605
5621
  "Look for: YAGNI (not needed), MISALIGNED (wrong tech/architecture), SECURITY_RISK, SCOPE_CREEP.",
@@ -6058,4 +6074,4 @@ export {
6058
6074
  CONSENSUS_VOTE_OUTPUT_SCHEMA,
6059
6075
  registerConsensusVoteTool
6060
6076
  };
6061
- //# sourceMappingURL=chunk-NWW7HLRL.js.map
6077
+ //# sourceMappingURL=chunk-HMAS4ODR.js.map