nexus-agents 2.138.1 → 2.139.1

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 (133) hide show
  1. package/dist/{child-mcp-config-LCWPKOYE.js → child-mcp-config-CFK5AQ7R.js} +2 -2
  2. package/dist/{chunk-DOCEHXLQ.js → chunk-32UWWRXB.js} +3 -3
  3. package/dist/{chunk-NYSOJBF5.js → chunk-3FCPA5DN.js} +3 -3
  4. package/dist/{chunk-H4ATQPGQ.js → chunk-3YEJZV4U.js} +2 -2
  5. package/dist/{chunk-ZJ3WGARD.js → chunk-4G4QBUQU.js} +3 -3
  6. package/dist/{chunk-NWW7HLRL.js → chunk-4VMHBSXR.js} +48 -12
  7. package/dist/chunk-4VMHBSXR.js.map +1 -0
  8. package/dist/{chunk-K62WRHHK.js → chunk-6YLZ67I3.js} +2 -2
  9. package/dist/{chunk-AYA7K5F5.js → chunk-AVZYFQ6W.js} +4 -4
  10. package/dist/{chunk-D5FEGFJM.js → chunk-AZFA6PUQ.js} +57 -46
  11. package/dist/{chunk-D5FEGFJM.js.map → chunk-AZFA6PUQ.js.map} +1 -1
  12. package/dist/{chunk-PLKWH53F.js → chunk-CE7PBWNO.js} +5 -5
  13. package/dist/{chunk-RTBVZCLD.js → chunk-DIMJZBPS.js} +2 -2
  14. package/dist/{chunk-H3B7H67H.js → chunk-DLKW47FE.js} +4 -4
  15. package/dist/{chunk-2SWMXQZF.js → chunk-FP3VURZ6.js} +4 -4
  16. package/dist/{chunk-Q3EZN3Z2.js → chunk-FU6YWRLJ.js} +2 -2
  17. package/dist/{chunk-7XCQJXN4.js → chunk-FVQP3TSQ.js} +17 -7
  18. package/dist/chunk-FVQP3TSQ.js.map +1 -0
  19. package/dist/{chunk-XUH2UFSG.js → chunk-GHN4BA6W.js} +2 -2
  20. package/dist/{chunk-MXDMJGVG.js → chunk-JMLKKPNQ.js} +4 -4
  21. package/dist/{chunk-AL7ZYHAF.js → chunk-JXGECDYU.js} +3 -3
  22. package/dist/{chunk-YPGTIJEW.js → chunk-KEFQSK6F.js} +2 -2
  23. package/dist/{chunk-2XRPKJKX.js → chunk-KSQSWEFH.js} +7 -1
  24. package/dist/chunk-KSQSWEFH.js.map +1 -0
  25. package/dist/{chunk-HIVGUKLG.js → chunk-LZNNZ2UV.js} +5 -5
  26. package/dist/{chunk-7QR2RTA4.js → chunk-M6F36P7I.js} +7 -7
  27. package/dist/{chunk-D2XWKFZ2.js → chunk-MZQ66FRR.js} +2 -2
  28. package/dist/{chunk-MNXLJ2VX.js → chunk-OCHI2CH6.js} +2 -2
  29. package/dist/{chunk-DTHMBYSV.js → chunk-P2CQ7FAJ.js} +2 -2
  30. package/dist/{chunk-J2HWO3J3.js → chunk-PGU54WKA.js} +8 -8
  31. package/dist/{chunk-J2HWO3J3.js.map → chunk-PGU54WKA.js.map} +1 -1
  32. package/dist/{chunk-RER74KD6.js → chunk-PINS44XA.js} +2 -2
  33. package/dist/{chunk-BQA5LM72.js → chunk-PIUN4IV6.js} +7 -7
  34. package/dist/{chunk-5MMHH5WK.js → chunk-PUUISVYP.js} +3 -3
  35. package/dist/{chunk-MNHNQC7R.js → chunk-RAJYPBWW.js} +2 -2
  36. package/dist/{chunk-JFKNUEZ7.js → chunk-RYTZS6LC.js} +2 -2
  37. package/dist/{chunk-KWZC5LFC.js → chunk-VJK3JMES.js} +127 -94
  38. package/dist/{chunk-KWZC5LFC.js.map → chunk-VJK3JMES.js.map} +1 -1
  39. package/dist/{chunk-DKU7O4V2.js → chunk-XEUA3DFO.js} +2 -2
  40. package/dist/{chunk-LMMLLGZZ.js → chunk-Y3KYULHA.js} +2 -2
  41. package/dist/{chunk-NJW5GQUF.js → chunk-YGNZJ34U.js} +2 -2
  42. package/dist/{chunk-7QEGSYSU.js → chunk-Z66BBUV5.js} +2 -2
  43. package/dist/{cli-circuit-breaker-TNV2PBLS.js → cli-circuit-breaker-IZOZPMV2.js} +4 -4
  44. package/dist/cli.d.ts +1 -1
  45. package/dist/cli.js +57 -45
  46. package/dist/cli.js.map +1 -1
  47. package/dist/{composite-router-KM4BPVY4.js → composite-router-APYPRRD3.js} +2 -2
  48. package/dist/{consensus-vote-PCIFXILX.js → consensus-vote-YAZETFK7.js} +16 -16
  49. package/dist/{consensus-vote-types-Qx_LRxt1.d.ts → consensus-vote-types-DotaODdb.d.ts} +18 -1
  50. package/dist/{context-retriever-MAZKHYRD.js → context-retriever-574IHE26.js} +10 -10
  51. package/dist/{dist-KGTVHDVC.js → dist-IKZ53APZ.js} +2 -2
  52. package/dist/{doctor-deep-XCMFGGJ3.js → doctor-deep-7FRWVFNN.js} +3 -3
  53. package/dist/{expert-bridge-EA3U3GKU.js → expert-bridge-UMDMU35J.js} +4 -4
  54. package/dist/{factory-Y5WCLQDB.js → factory-HRWPCNB4.js} +5 -5
  55. package/dist/{factory-FACKN4IN.js → factory-ONFBKIVO.js} +8 -8
  56. package/dist/{improvement-review-F7TKX4LQ.js → improvement-review-N6XUP52M.js} +4 -4
  57. package/dist/index.d.ts +14 -13
  58. package/dist/index.js +32 -32
  59. package/dist/index.js.map +1 -1
  60. package/dist/{init-opencode-ZYGGEUZN.js → init-opencode-2U5OAOT4.js} +6 -6
  61. package/dist/{issue-triage-NI2ZDVTB.js → issue-triage-YQG3VAU4.js} +5 -5
  62. package/dist/{pr-reviewer-helpers-L7L6O3VQ.js → pr-reviewer-helpers-67NWPB5I.js} +4 -4
  63. package/dist/{registry-command-K2KWID5D.js → registry-command-NHLPDNXK.js} +2 -2
  64. package/dist/{repo-security-plan-PCGHBEGZ.js → repo-security-plan-ZTK4HLZ4.js} +3 -3
  65. package/dist/{research-helpers-synthesize-R45KXXNH.js → research-helpers-synthesize-OSM5ABJM.js} +4 -4
  66. package/dist/{routing-memory-TLB5EY7J.js → routing-memory-7PRJVK76.js} +2 -2
  67. package/dist/{session-memory-PUEUWVIN.js → session-memory-Q7NLONZL.js} +3 -3
  68. package/dist/{setup-command-I3WAJY2X.js → setup-command-EP42HL4U.js} +11 -11
  69. package/dist/{setup-config-SLFGQ5F2.js → setup-config-IF66XDMZ.js} +3 -3
  70. package/dist/{setup-custom-api-SVCRCSKY.js → setup-custom-api-UZKTOZNS.js} +3 -3
  71. package/dist/{tool-memory-COQWIFB6.js → tool-memory-JCSX3UB6.js} +7 -7
  72. package/dist/{tool-memory-registry-adapters-DLSE4SQH.js → tool-memory-registry-adapters-PMMKJQF5.js} +3 -3
  73. package/dist/{unified-registry-44DIG4XK.js → unified-registry-7ET2QC3Y.js} +9 -9
  74. package/dist/{weather-report-WK7TJPMM.js → weather-report-BFY7E6ZT.js} +2 -2
  75. package/package.json +2 -2
  76. package/dist/chunk-2XRPKJKX.js.map +0 -1
  77. package/dist/chunk-7XCQJXN4.js.map +0 -1
  78. package/dist/chunk-NWW7HLRL.js.map +0 -1
  79. /package/dist/{child-mcp-config-LCWPKOYE.js.map → child-mcp-config-CFK5AQ7R.js.map} +0 -0
  80. /package/dist/{chunk-DOCEHXLQ.js.map → chunk-32UWWRXB.js.map} +0 -0
  81. /package/dist/{chunk-NYSOJBF5.js.map → chunk-3FCPA5DN.js.map} +0 -0
  82. /package/dist/{chunk-H4ATQPGQ.js.map → chunk-3YEJZV4U.js.map} +0 -0
  83. /package/dist/{chunk-ZJ3WGARD.js.map → chunk-4G4QBUQU.js.map} +0 -0
  84. /package/dist/{chunk-K62WRHHK.js.map → chunk-6YLZ67I3.js.map} +0 -0
  85. /package/dist/{chunk-AYA7K5F5.js.map → chunk-AVZYFQ6W.js.map} +0 -0
  86. /package/dist/{chunk-PLKWH53F.js.map → chunk-CE7PBWNO.js.map} +0 -0
  87. /package/dist/{chunk-RTBVZCLD.js.map → chunk-DIMJZBPS.js.map} +0 -0
  88. /package/dist/{chunk-H3B7H67H.js.map → chunk-DLKW47FE.js.map} +0 -0
  89. /package/dist/{chunk-2SWMXQZF.js.map → chunk-FP3VURZ6.js.map} +0 -0
  90. /package/dist/{chunk-Q3EZN3Z2.js.map → chunk-FU6YWRLJ.js.map} +0 -0
  91. /package/dist/{chunk-XUH2UFSG.js.map → chunk-GHN4BA6W.js.map} +0 -0
  92. /package/dist/{chunk-MXDMJGVG.js.map → chunk-JMLKKPNQ.js.map} +0 -0
  93. /package/dist/{chunk-AL7ZYHAF.js.map → chunk-JXGECDYU.js.map} +0 -0
  94. /package/dist/{chunk-YPGTIJEW.js.map → chunk-KEFQSK6F.js.map} +0 -0
  95. /package/dist/{chunk-HIVGUKLG.js.map → chunk-LZNNZ2UV.js.map} +0 -0
  96. /package/dist/{chunk-7QR2RTA4.js.map → chunk-M6F36P7I.js.map} +0 -0
  97. /package/dist/{chunk-D2XWKFZ2.js.map → chunk-MZQ66FRR.js.map} +0 -0
  98. /package/dist/{chunk-MNXLJ2VX.js.map → chunk-OCHI2CH6.js.map} +0 -0
  99. /package/dist/{chunk-DTHMBYSV.js.map → chunk-P2CQ7FAJ.js.map} +0 -0
  100. /package/dist/{chunk-RER74KD6.js.map → chunk-PINS44XA.js.map} +0 -0
  101. /package/dist/{chunk-BQA5LM72.js.map → chunk-PIUN4IV6.js.map} +0 -0
  102. /package/dist/{chunk-5MMHH5WK.js.map → chunk-PUUISVYP.js.map} +0 -0
  103. /package/dist/{chunk-MNHNQC7R.js.map → chunk-RAJYPBWW.js.map} +0 -0
  104. /package/dist/{chunk-JFKNUEZ7.js.map → chunk-RYTZS6LC.js.map} +0 -0
  105. /package/dist/{chunk-DKU7O4V2.js.map → chunk-XEUA3DFO.js.map} +0 -0
  106. /package/dist/{chunk-LMMLLGZZ.js.map → chunk-Y3KYULHA.js.map} +0 -0
  107. /package/dist/{chunk-NJW5GQUF.js.map → chunk-YGNZJ34U.js.map} +0 -0
  108. /package/dist/{chunk-7QEGSYSU.js.map → chunk-Z66BBUV5.js.map} +0 -0
  109. /package/dist/{cli-circuit-breaker-TNV2PBLS.js.map → cli-circuit-breaker-IZOZPMV2.js.map} +0 -0
  110. /package/dist/{composite-router-KM4BPVY4.js.map → composite-router-APYPRRD3.js.map} +0 -0
  111. /package/dist/{consensus-vote-PCIFXILX.js.map → consensus-vote-YAZETFK7.js.map} +0 -0
  112. /package/dist/{context-retriever-MAZKHYRD.js.map → context-retriever-574IHE26.js.map} +0 -0
  113. /package/dist/{dist-KGTVHDVC.js.map → dist-IKZ53APZ.js.map} +0 -0
  114. /package/dist/{doctor-deep-XCMFGGJ3.js.map → doctor-deep-7FRWVFNN.js.map} +0 -0
  115. /package/dist/{expert-bridge-EA3U3GKU.js.map → expert-bridge-UMDMU35J.js.map} +0 -0
  116. /package/dist/{factory-FACKN4IN.js.map → factory-HRWPCNB4.js.map} +0 -0
  117. /package/dist/{factory-Y5WCLQDB.js.map → factory-ONFBKIVO.js.map} +0 -0
  118. /package/dist/{improvement-review-F7TKX4LQ.js.map → improvement-review-N6XUP52M.js.map} +0 -0
  119. /package/dist/{init-opencode-ZYGGEUZN.js.map → init-opencode-2U5OAOT4.js.map} +0 -0
  120. /package/dist/{issue-triage-NI2ZDVTB.js.map → issue-triage-YQG3VAU4.js.map} +0 -0
  121. /package/dist/{pr-reviewer-helpers-L7L6O3VQ.js.map → pr-reviewer-helpers-67NWPB5I.js.map} +0 -0
  122. /package/dist/{registry-command-K2KWID5D.js.map → registry-command-NHLPDNXK.js.map} +0 -0
  123. /package/dist/{repo-security-plan-PCGHBEGZ.js.map → repo-security-plan-ZTK4HLZ4.js.map} +0 -0
  124. /package/dist/{research-helpers-synthesize-R45KXXNH.js.map → research-helpers-synthesize-OSM5ABJM.js.map} +0 -0
  125. /package/dist/{routing-memory-TLB5EY7J.js.map → routing-memory-7PRJVK76.js.map} +0 -0
  126. /package/dist/{session-memory-PUEUWVIN.js.map → session-memory-Q7NLONZL.js.map} +0 -0
  127. /package/dist/{setup-command-I3WAJY2X.js.map → setup-command-EP42HL4U.js.map} +0 -0
  128. /package/dist/{setup-config-SLFGQ5F2.js.map → setup-config-IF66XDMZ.js.map} +0 -0
  129. /package/dist/{setup-custom-api-SVCRCSKY.js.map → setup-custom-api-UZKTOZNS.js.map} +0 -0
  130. /package/dist/{tool-memory-COQWIFB6.js.map → tool-memory-JCSX3UB6.js.map} +0 -0
  131. /package/dist/{tool-memory-registry-adapters-DLSE4SQH.js.map → tool-memory-registry-adapters-PMMKJQF5.js.map} +0 -0
  132. /package/dist/{unified-registry-44DIG4XK.js.map → unified-registry-7ET2QC3Y.js.map} +0 -0
  133. /package/dist/{weather-report-WK7TJPMM.js.map → weather-report-BFY7E6ZT.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createLogger
3
- } from "./chunk-KWZC5LFC.js";
3
+ } from "./chunk-VJK3JMES.js";
4
4
  import "./chunk-NL7SZQPW.js";
5
5
  import "./chunk-DHVMSIT5.js";
6
6
  import "./chunk-ZPWHCABL.js";
@@ -60,4 +60,4 @@ export {
60
60
  generateMcpConfig,
61
61
  getDefaultAllowedTools
62
62
  };
63
- //# sourceMappingURL=child-mcp-config-LCWPKOYE.js.map
63
+ //# sourceMappingURL=child-mcp-config-CFK5AQ7R.js.map
@@ -9,11 +9,11 @@ import {
9
9
  gateWithReputation,
10
10
  resolveReputationGatingMode,
11
11
  sanitizeInput
12
- } from "./chunk-MNXLJ2VX.js";
12
+ } from "./chunk-OCHI2CH6.js";
13
13
  import {
14
14
  createLogger,
15
15
  getTimeProvider
16
- } from "./chunk-KWZC5LFC.js";
16
+ } from "./chunk-VJK3JMES.js";
17
17
 
18
18
  // src/dogfooding/pr-reviewer-helpers.ts
19
19
  import { randomUUID } from "crypto";
@@ -288,4 +288,4 @@ export {
288
288
  formatReviewComment,
289
289
  createFailedReview
290
290
  };
291
- //# sourceMappingURL=chunk-DOCEHXLQ.js.map
291
+ //# sourceMappingURL=chunk-32UWWRXB.js.map
@@ -2,14 +2,14 @@ import {
2
2
  CircuitBreakerRegistry,
3
3
  CircuitError,
4
4
  mapCliErrorToCategory
5
- } from "./chunk-H4ATQPGQ.js";
5
+ } from "./chunk-3YEJZV4U.js";
6
6
  import {
7
7
  createLogger,
8
8
  err,
9
9
  getFallbackChainForCategory,
10
10
  getTimeProvider,
11
11
  ok
12
- } from "./chunk-KWZC5LFC.js";
12
+ } from "./chunk-VJK3JMES.js";
13
13
 
14
14
  // src/cli-adapters/cli-circuit-breaker.ts
15
15
  var CATEGORY_TO_FALLBACK = {
@@ -152,4 +152,4 @@ export {
152
152
  CliCircuitBreakerIntegration,
153
153
  createCliCircuitBreakerIntegration
154
154
  };
155
- //# sourceMappingURL=chunk-NYSOJBF5.js.map
155
+ //# sourceMappingURL=chunk-3FCPA5DN.js.map
@@ -5,7 +5,7 @@ import {
5
5
  getErrorMessage,
6
6
  getTimeProvider,
7
7
  ok
8
- } from "./chunk-KWZC5LFC.js";
8
+ } from "./chunk-VJK3JMES.js";
9
9
 
10
10
  // src/cli-adapters/circuit-breaker-types.ts
11
11
  var CircuitErrorCode = {
@@ -375,4 +375,4 @@ export {
375
375
  mapCliErrorToCategory,
376
376
  mapModelErrorToCategory
377
377
  };
378
- //# sourceMappingURL=chunk-H4ATQPGQ.js.map
378
+ //# sourceMappingURL=chunk-3YEJZV4U.js.map
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  loadPapersRegistry
3
- } from "./chunk-JFKNUEZ7.js";
3
+ } from "./chunk-RYTZS6LC.js";
4
4
  import {
5
5
  getErrorMessage
6
- } from "./chunk-KWZC5LFC.js";
6
+ } from "./chunk-VJK3JMES.js";
7
7
 
8
8
  // src/cli/research-helpers-synthesize.ts
9
9
  import { z } from "zod";
@@ -876,4 +876,4 @@ export {
876
876
  AttributedInsightSchema,
877
877
  synthesizeResearch
878
878
  };
879
- //# sourceMappingURL=chunk-ZJ3WGARD.js.map
879
+ //# sourceMappingURL=chunk-4G4QBUQU.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  computeCostUSD
3
- } from "./chunk-MNHNQC7R.js";
3
+ } from "./chunk-RAJYPBWW.js";
4
4
  import {
5
5
  DEFAULT_CONSENSUS_CONFIG,
6
6
  DEFAULT_INCREMENTAL_QUORUM_CONFIG,
@@ -18,25 +18,26 @@ import {
18
18
  toolSuccess,
19
19
  withProgressHeartbeat,
20
20
  wrapToolWithTimeout
21
- } from "./chunk-NJW5GQUF.js";
21
+ } from "./chunk-YGNZJ34U.js";
22
22
  import {
23
23
  getToolMemory
24
- } from "./chunk-J2HWO3J3.js";
24
+ } from "./chunk-PGU54WKA.js";
25
25
  import {
26
26
  createEvent,
27
27
  getGlobalRegistry
28
- } from "./chunk-H3B7H67H.js";
28
+ } from "./chunk-DLKW47FE.js";
29
29
  import {
30
30
  authRemediation,
31
31
  delay,
32
32
  getAvailableClis,
33
33
  withTimeout
34
- } from "./chunk-7XCQJXN4.js";
34
+ } from "./chunk-FVQP3TSQ.js";
35
35
  import {
36
36
  AgentError,
37
37
  CLI_NAMES,
38
38
  DEFAULT_CLI,
39
39
  DecisionCostStore,
40
+ DecisionCostSummarySchema,
40
41
  OPERATION_CLASSES,
41
42
  OutcomeStore,
42
43
  TaskOutcomeSchema,
@@ -58,7 +59,7 @@ import {
58
59
  registerPersistentOutcomeStoreFactory,
59
60
  resolveClassGuardMs,
60
61
  resolveVoteTimeout
61
- } from "./chunk-KWZC5LFC.js";
62
+ } from "./chunk-VJK3JMES.js";
62
63
  import {
63
64
  ensureLearningDir,
64
65
  getOutcomesFile
@@ -4208,6 +4209,13 @@ var ConsensusVoteInputSchema = z6.object({
4208
4209
  "Authority-tier ratification subject (#4004) \u2014 the loop/strategy id this vote ratifies for an authority-ladder promotion. Bound into the authentic vote record so the promotion gate can verify it. Omit for ordinary votes."
4209
4210
  )
4210
4211
  });
4212
+ var VoteDecisionStatusSchema = z6.enum([
4213
+ "approved",
4214
+ "rejected",
4215
+ "pending",
4216
+ "timeout",
4217
+ "no_quorum"
4218
+ ]);
4211
4219
  function toAgentVoteSummary(result) {
4212
4220
  const roleName = VOTER_ROLES[result.role].split(" - ")[0] ?? result.role;
4213
4221
  return {
@@ -4998,12 +5006,20 @@ function writeJobPending(jobId, toolName) {
4998
5006
  logger7.debug("Wrote pending job record", { jobId, toolName });
4999
5007
  }
5000
5008
  function writeJobComplete(jobId, toolName, result) {
5009
+ const existing = readJobResult(jobId);
5010
+ if (existing?.status === "cancelled") {
5011
+ logger7.debug("Skipping complete write \u2014 job already cancelled (preserving cancellation)", {
5012
+ jobId,
5013
+ toolName
5014
+ });
5015
+ return;
5016
+ }
5001
5017
  const record = {
5002
5018
  v: 1,
5003
5019
  jobId,
5004
5020
  toolName,
5005
5021
  status: "complete",
5006
- createdAt: readJobResult(jobId)?.createdAt ?? (/* @__PURE__ */ new Date()).toISOString(),
5022
+ createdAt: existing?.createdAt ?? (/* @__PURE__ */ new Date()).toISOString(),
5007
5023
  completedAt: (/* @__PURE__ */ new Date()).toISOString(),
5008
5024
  result
5009
5025
  };
@@ -5011,12 +5027,20 @@ function writeJobComplete(jobId, toolName, result) {
5011
5027
  logger7.debug("Wrote complete job record", { jobId, toolName });
5012
5028
  }
5013
5029
  function writeJobFailed(jobId, toolName, error) {
5030
+ const existing = readJobResult(jobId);
5031
+ if (existing?.status === "cancelled") {
5032
+ logger7.debug("Skipping failed write \u2014 job already cancelled (preserving cancellation)", {
5033
+ jobId,
5034
+ toolName
5035
+ });
5036
+ return;
5037
+ }
5014
5038
  const record = {
5015
5039
  v: 1,
5016
5040
  jobId,
5017
5041
  toolName,
5018
5042
  status: "failed",
5019
- createdAt: readJobResult(jobId)?.createdAt ?? (/* @__PURE__ */ new Date()).toISOString(),
5043
+ createdAt: existing?.createdAt ?? (/* @__PURE__ */ new Date()).toISOString(),
5020
5044
  completedAt: (/* @__PURE__ */ new Date()).toISOString(),
5021
5045
  error
5022
5046
  };
@@ -5599,7 +5623,7 @@ async function processVotesWithCascade(engineVotes, opts) {
5599
5623
  var CONTRARIAN_ESCALATION_THRESHOLD = 0.8;
5600
5624
  async function runContrarianCheck(proposal, log) {
5601
5625
  try {
5602
- const { executeExpert } = await import("./expert-bridge-EA3U3GKU.js");
5626
+ const { executeExpert } = await import("./expert-bridge-UMDMU35J.js");
5603
5627
  const prompt = [
5604
5628
  "You are a contrarian analyst. Your job is to find reasons this proposal should be REJECTED.",
5605
5629
  "Look for: YAGNI (not needed), MISALIGNED (wrong tech/architecture), SECURITY_RISK, SCOPE_CREEP.",
@@ -5890,7 +5914,10 @@ function createConsensusVoteHandler(deps) {
5890
5914
  var CONSENSUS_VOTE_OUTPUT_SCHEMA = {
5891
5915
  proposal: z10.string(),
5892
5916
  strategy: VotingStrategySchema,
5893
- decision: z10.enum(["approved", "rejected", "no_quorum"]),
5917
+ // Reuses the canonical VoteDecisionStatusSchema (single source) — a hand-listed
5918
+ // subset here (was ['approved','rejected','no_quorum']) omitted the reachable
5919
+ // 'timeout'/'pending' outcomes and made strict clients reject those votes (#4032).
5920
+ decision: VoteDecisionStatusSchema,
5894
5921
  approvalPercentage: z10.number(),
5895
5922
  voteCounts: z10.object({
5896
5923
  approve: z10.number(),
@@ -5942,7 +5969,16 @@ var CONSENSUS_VOTE_OUTPUT_SCHEMA = {
5942
5969
  // (data dir unwritable) — voteRecordNote carries the actionable reason. Makes
5943
5970
  // a previously WARN-only skip visible to MCP callers.
5944
5971
  voteRecordPersisted: z10.boolean(),
5945
- voteRecordNote: z10.string().max(500).optional()
5972
+ voteRecordNote: z10.string().max(500).optional(),
5973
+ // #3587: set when the panel DEGRADED (some voters errored), so the decision
5974
+ // rests on fewer voters than requested. Part of the response since #3587 but
5975
+ // omitted from this schema until #4032 — its absence made a strict MCP client
5976
+ // reject any degraded-panel vote (`-32602 additional properties`).
5977
+ panelWarning: z10.string().optional(),
5978
+ // #3855: per-decision cost rollup. Same omission as panelWarning (#4032) — it
5979
+ // is present on the response whenever cost recording succeeds (common in `api`
5980
+ // billing mode). Shared schema lives with the type (single source of truth).
5981
+ costSummary: DecisionCostSummarySchema.optional()
5946
5982
  };
5947
5983
  var CONSENSUS_VOTE_TOOL_SCHEMA = {
5948
5984
  proposal: z10.string().min(1).max(MAX_PROPOSAL_LENGTH).describe("Proposal text to vote on"),
@@ -6058,4 +6094,4 @@ export {
6058
6094
  CONSENSUS_VOTE_OUTPUT_SCHEMA,
6059
6095
  registerConsensusVoteTool
6060
6096
  };
6061
- //# sourceMappingURL=chunk-NWW7HLRL.js.map
6097
+ //# sourceMappingURL=chunk-4VMHBSXR.js.map