nexus-agents 3.4.0 → 3.4.2

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.
@@ -8,7 +8,7 @@ import {
8
8
  checkSqlite,
9
9
  defaultConfig,
10
10
  initDataDirectories
11
- } from "./chunk-FHTU4BSP.js";
11
+ } from "./chunk-EYZGU4D2.js";
12
12
  import {
13
13
  BUILT_IN_EXPERTS
14
14
  } from "./chunk-YPNQPT2F.js";
@@ -2001,4 +2001,4 @@ export {
2001
2001
  setupCommand,
2002
2002
  setupCommandAsync
2003
2003
  };
2004
- //# sourceMappingURL=chunk-QAEBYGSP.js.map
2004
+ //# sourceMappingURL=chunk-7TOJT6PG.js.map
@@ -49,7 +49,7 @@ import {
49
49
  } from "./chunk-OQLFRJCW.js";
50
50
 
51
51
  // src/version.ts
52
- var VERSION = true ? "3.4.0" : "dev";
52
+ var VERSION = true ? "3.4.2" : "dev";
53
53
 
54
54
  // src/config/schemas-core.ts
55
55
  import { z } from "zod";
@@ -2253,7 +2253,7 @@ async function runDoctorFix(result) {
2253
2253
  writeLine2("\u2500".repeat(40));
2254
2254
  let fixCount = 0;
2255
2255
  if (!result.dataDirectory.rootExists || result.dataDirectory.subdirectories.some((d) => !d.exists || !d.writable)) {
2256
- const { runSetup } = await import("./setup-command-CYZO22RO.js");
2256
+ const { runSetup } = await import("./setup-command-VCFNUKAY.js");
2257
2257
  const setupResult = runSetup({
2258
2258
  skipMcp: true,
2259
2259
  skipRules: true,
@@ -2366,4 +2366,4 @@ export {
2366
2366
  startStdioServer,
2367
2367
  closeServer
2368
2368
  };
2369
- //# sourceMappingURL=chunk-FHTU4BSP.js.map
2369
+ //# sourceMappingURL=chunk-EYZGU4D2.js.map
@@ -21,7 +21,7 @@ import {
21
21
  DEFAULT_TASK_TTL_MS,
22
22
  DEFAULT_TOOL_RATE_LIMITS,
23
23
  clampTaskTtl
24
- } from "./chunk-FHTU4BSP.js";
24
+ } from "./chunk-EYZGU4D2.js";
25
25
  import {
26
26
  executeExpert
27
27
  } from "./chunk-H3B6BSBZ.js";
@@ -45,7 +45,7 @@ import {
45
45
  simulationDeniedResult,
46
46
  toJobSummary,
47
47
  writeJobCancelled
48
- } from "./chunk-XL6T3HTN.js";
48
+ } from "./chunk-USO4TH6J.js";
49
49
  import {
50
50
  normalizeTopicToCanonical,
51
51
  synthesizeResearch
@@ -45787,7 +45787,7 @@ ${contextBlock}`;
45787
45787
  const strategy = config.votingStrategy ?? "higher_order";
45788
45788
  await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
45789
45789
  try {
45790
- const { executeVoting } = await import("./consensus-vote-EIEPPKAD.js");
45790
+ const { executeVoting } = await import("./consensus-vote-OOJ6OWO7.js");
45791
45791
  const votingResult = await executeVoting(
45792
45792
  {
45793
45793
  proposal: buildVoteProposal(plan, research),
@@ -54166,4 +54166,4 @@ export {
54166
54166
  shutdownFeedbackSubscriber,
54167
54167
  createEventBusBridge
54168
54168
  };
54169
- //# sourceMappingURL=chunk-CFK4VK2M.js.map
54169
+ //# sourceMappingURL=chunk-P7O6XZSQ.js.map
@@ -4943,6 +4943,7 @@ function coverageOf(votes) {
4943
4943
  function tallySelectedOptions(votes) {
4944
4944
  const counts = /* @__PURE__ */ new Map();
4945
4945
  for (const v of votes) {
4946
+ if (v.vote.decision !== "approve") continue;
4946
4947
  if (v.selectedOption === void 0) continue;
4947
4948
  counts.set(v.selectedOption, (counts.get(v.selectedOption) ?? 0) + 1);
4948
4949
  }
@@ -6613,6 +6614,9 @@ var CONSENSUS_VOTE_OUTPUT_SCHEMA = {
6613
6614
  };
6614
6615
  var CONSENSUS_VOTE_TOOL_SCHEMA = {
6615
6616
  proposal: z10.string().min(1).max(MAX_PROPOSAL_LENGTH).describe("Proposal text to vote on"),
6617
+ options: z10.array(z10.string().min(1).max(200)).min(2).max(10).optional().describe(
6618
+ "Named alternatives for a multi-option proposal (#4472). When present, the threshold must ALSO be cleared by the leading option: `unanimous` requires every approver to have chosen the SAME option, and `supermajority`/`majority` measure the leading option's share of approvers. An approving voter whose selection is absent or matches no declared option stays in the denominator and credits no option, so a degraded response can only lower the leading share, never raise it. Omit for an ordinary yes/no vote."
6619
+ ),
6616
6620
  threshold: z10.enum(["majority", "supermajority", "unanimous"]).optional().describe("Voting threshold (legacy). Use strategy instead."),
6617
6621
  strategy: VotingStrategySchema.optional().describe(
6618
6622
  "Voting strategy: simple_majority (default), supermajority, unanimous, proof_of_learning, or higher_order"
@@ -6626,7 +6630,7 @@ var CONSENSUS_VOTE_TOOL_SCHEMA = {
6626
6630
  "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."
6627
6631
  )
6628
6632
  };
6629
- var CONSENSUS_VOTE_DESCRIPTION = "Execute multi-model consensus voting on a proposal. Uses 7 roles by default (architect, security, devex, ai_ml, pm, catfish, scope_steward) or 3 with quickMode (architect, security, scope_steward), voting with configurable strategies. Supports higher_order strategy for Bayesian-optimal aggregation with correlation awareness (Issue #514). Supports async mode (mode: 'async') \u2014 returns a jobId to poll via get_job_result. Pass ratifies=<subject> to bind an authority-ladder ratification vote into its authentic record. CAVEAT (#4452): the tally is approve/reject/abstain only. A proposal that asks voters to pick among named options records as unanimous even when they picked DIFFERENT options \u2014 recover the real split from each voter's reasoning, and do not report the percentage as agreement.";
6633
+ var CONSENSUS_VOTE_DESCRIPTION = "Execute multi-model consensus voting on a proposal. Uses 7 roles by default (architect, security, devex, ai_ml, pm, catfish, scope_steward) or 3 with quickMode (architect, security, scope_steward), voting with configurable strategies. Supports higher_order strategy for Bayesian-optimal aggregation with correlation awareness (Issue #514). Supports async mode (mode: 'async') \u2014 returns a jobId to poll via get_job_result. Pass ratifies=<subject> to bind an authority-ladder ratification vote into its authentic record. If your proposal asks voters to choose among named alternatives, you MUST pass them in `options` (#4472) \u2014 the threshold is then measured over WHICH option won, and the record carries the per-option tally plus selection coverage. WITHOUT `options` the tally is approve/reject/abstain only, so every voter who engages returns `approve` and a 6-1 split on which option persists as 7-0, 100% (#4452).";
6630
6634
  function registerConsensusVoteTool(server, deps) {
6631
6635
  const logger10 = deps.logger ?? createLogger({ tool: "consensus_vote" });
6632
6636
  const notifier = deps.notifier ?? createMcpNotifier(server);
@@ -6731,6 +6735,7 @@ export {
6731
6735
  runConsensusForGoal,
6732
6736
  unwrapVoteOrThrow,
6733
6737
  CONSENSUS_VOTE_OUTPUT_SCHEMA,
6738
+ CONSENSUS_VOTE_TOOL_SCHEMA,
6734
6739
  registerConsensusVoteTool
6735
6740
  };
6736
- //# sourceMappingURL=chunk-XL6T3HTN.js.map
6741
+ //# sourceMappingURL=chunk-USO4TH6J.js.map