nexus-agents 8.4.0 → 8.5.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.
- package/dist/{chunk-2LQROHUE.js → chunk-2DRZS743.js} +3 -3
- package/dist/{chunk-CFGJGRVF.js → chunk-3SKIHGZV.js} +37 -3
- package/dist/chunk-3SKIHGZV.js.map +1 -0
- package/dist/chunk-KIQLNY6S.js +7 -0
- package/dist/{chunk-FBAEBGQ3.js → chunk-PBWVYWJ3.js} +2 -2
- package/dist/{chunk-HVPF7BBS.js → chunk-VXKWGJ36.js} +2 -2
- package/dist/{chunk-FURVUS67.js → chunk-YCY6QINI.js} +6 -6
- package/dist/cli.js +7 -7
- package/dist/{consensus-vote-R5GXCSXV.js → consensus-vote-ETFQMPDA.js} +4 -4
- package/dist/{improvement-review-UBDVNB55.js → improvement-review-LDNJHDQ3.js} +4 -4
- package/dist/index.js +7 -7
- package/dist/{setup-data-dir-EYIPKPGP.js → setup-data-dir-4P6HKDAD.js} +3 -3
- package/package.json +1 -1
- package/dist/chunk-CFGJGRVF.js.map +0 -1
- package/dist/chunk-M5DIGZIM.js +0 -7
- /package/dist/{chunk-2LQROHUE.js.map → chunk-2DRZS743.js.map} +0 -0
- /package/dist/{chunk-M5DIGZIM.js.map → chunk-KIQLNY6S.js.map} +0 -0
- /package/dist/{chunk-FBAEBGQ3.js.map → chunk-PBWVYWJ3.js.map} +0 -0
- /package/dist/{chunk-HVPF7BBS.js.map → chunk-VXKWGJ36.js.map} +0 -0
- /package/dist/{chunk-FURVUS67.js.map → chunk-YCY6QINI.js.map} +0 -0
- /package/dist/{consensus-vote-R5GXCSXV.js.map → consensus-vote-ETFQMPDA.js.map} +0 -0
- /package/dist/{improvement-review-UBDVNB55.js.map → improvement-review-LDNJHDQ3.js.map} +0 -0
- /package/dist/{setup-data-dir-EYIPKPGP.js.map → setup-data-dir-4P6HKDAD.js.map} +0 -0
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
} from "./chunk-OQB3XC5O.js";
|
|
7
7
|
import {
|
|
8
8
|
VERSION
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-KIQLNY6S.js";
|
|
10
10
|
import {
|
|
11
11
|
capitalize
|
|
12
12
|
} from "./chunk-6T3EPABN.js";
|
|
@@ -1201,7 +1201,7 @@ async function runDoctorFix(result) {
|
|
|
1201
1201
|
writeLine2("\u2500".repeat(40));
|
|
1202
1202
|
let fixCount = 0;
|
|
1203
1203
|
if (!result.dataDirectory.rootExists || result.dataDirectory.subdirectories.some((d) => !d.exists || !d.writable)) {
|
|
1204
|
-
const { initDataDirectories: initDataDirectories2, describeDataDirFix: describeDataDirFix2 } = await import("./setup-data-dir-
|
|
1204
|
+
const { initDataDirectories: initDataDirectories2, describeDataDirFix: describeDataDirFix2 } = await import("./setup-data-dir-4P6HKDAD.js");
|
|
1205
1205
|
const outcome = describeDataDirFix2(initDataDirectories2());
|
|
1206
1206
|
writeLine2(outcome.line);
|
|
1207
1207
|
if (outcome.counted) fixCount++;
|
|
@@ -1303,4 +1303,4 @@ export {
|
|
|
1303
1303
|
startStdioServer,
|
|
1304
1304
|
closeServer
|
|
1305
1305
|
};
|
|
1306
|
-
//# sourceMappingURL=chunk-
|
|
1306
|
+
//# sourceMappingURL=chunk-2DRZS743.js.map
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
toolSuccessStructured,
|
|
24
24
|
withProgressHeartbeat,
|
|
25
25
|
wrapToolWithTimeout
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-VXKWGJ36.js";
|
|
27
27
|
import {
|
|
28
28
|
assessPanelIndependence,
|
|
29
29
|
countDistinctModels,
|
|
@@ -4497,6 +4497,31 @@ function createPersistedProposal(proposalId, votes, outcome) {
|
|
|
4497
4497
|
|
|
4498
4498
|
// src/mcp/tools/consensus-vote-types.ts
|
|
4499
4499
|
import { z as z6 } from "zod";
|
|
4500
|
+
|
|
4501
|
+
// src/mcp/tools/consensus-vote-option-detection.ts
|
|
4502
|
+
var MULTI_OPTION_PATTERNS = Object.freeze([
|
|
4503
|
+
// `Option A` and `OPTION A`, but NOT `option a` — the lowercase form appears
|
|
4504
|
+
// in ordinary prose ("there is no option a caller can set"), the capitalised
|
|
4505
|
+
// form is a heading. The motivating proposal used `Option A`; an
|
|
4506
|
+
// uppercase-only pattern would have missed the instance this exists for.
|
|
4507
|
+
/\b(?:Option|OPTION) [A-Z0-9]\b/,
|
|
4508
|
+
/\bchoose between\b/i,
|
|
4509
|
+
/\bwhich of (?:the )?(?:these|those|the following)\b/i,
|
|
4510
|
+
/\bpick exactly one\b/i,
|
|
4511
|
+
/\bvote for exactly one\b/i
|
|
4512
|
+
]);
|
|
4513
|
+
function checkUndeclaredOptions(proposal, declaredOptions, allEngagedApproved) {
|
|
4514
|
+
if (declaredOptions !== void 0 && declaredOptions.length > 0) return { flagged: false };
|
|
4515
|
+
if (proposal === "") return { flagged: false };
|
|
4516
|
+
if (!MULTI_OPTION_PATTERNS.some((p) => p.test(proposal))) return { flagged: false };
|
|
4517
|
+
const base = "This proposal appears to name alternatives, but `options` was not declared, so the tally records approve/reject only and cannot say WHICH alternative won (#4452, #5360). Re-run with `options` to record the option tally.";
|
|
4518
|
+
return {
|
|
4519
|
+
flagged: true,
|
|
4520
|
+
warning: allEngagedApproved === true ? `${base} Every non-errored voter returned \`approve\`, which is the signature of this defect.` : base
|
|
4521
|
+
};
|
|
4522
|
+
}
|
|
4523
|
+
|
|
4524
|
+
// src/mcp/tools/consensus-vote-types.ts
|
|
4500
4525
|
var MAX_PROPOSAL_LENGTH = 4e3;
|
|
4501
4526
|
var VotingStrategySchema = z6.enum([
|
|
4502
4527
|
"simple_majority",
|
|
@@ -4529,7 +4554,7 @@ function getDefaultErrorPolicy(strategy) {
|
|
|
4529
4554
|
}
|
|
4530
4555
|
var ConsensusVoteInputSchema = z6.object({
|
|
4531
4556
|
proposal: z6.string().min(1).max(MAX_PROPOSAL_LENGTH).describe(
|
|
4532
|
-
|
|
4557
|
+
'Proposal text to vote on. If the proposal asks voters to choose among named alternatives, declare them in `options` (#4472) \u2014 otherwise the tally records 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). This is ENFORCED AS A WARNING, not a refusal: a heuristic over the proposal text flags an apparent multi-option proposal with no `options` and says so on `panelWarning` (#5360). The wording says "declare", not "MUST", because the warning is what the code actually holds \u2014 it is tightened back only in the same change that promotes the warning to a refusal.'
|
|
4533
4558
|
),
|
|
4534
4559
|
options: z6.array(z6.string().min(1).max(200)).min(2).max(10).optional().describe(
|
|
4535
4560
|
"Named alternatives for a multi-option proposal (#4472). When present, the threshold must ALSO be cleared by the leading option, in addition to the ordinary approve/reject bar: `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 \u2014 behaviour is then unchanged."
|
|
@@ -4755,6 +4780,15 @@ function applyOptionalResponseFields(response, input, result, errorCount, costSu
|
|
|
4755
4780
|
if (panelWarning !== void 0) {
|
|
4756
4781
|
response.panelWarning = panelWarning;
|
|
4757
4782
|
}
|
|
4783
|
+
const engaged = result.votes.length - errorCount;
|
|
4784
|
+
const undeclared = checkUndeclaredOptions(
|
|
4785
|
+
input.proposal,
|
|
4786
|
+
input.options,
|
|
4787
|
+
engaged > 0 && response.voteCounts.reject === 0 && response.voteCounts.abstain === 0
|
|
4788
|
+
);
|
|
4789
|
+
if (undeclared.flagged) {
|
|
4790
|
+
response.panelWarning = response.panelWarning === void 0 ? undeclared.warning : `${response.panelWarning} ${undeclared.warning}`;
|
|
4791
|
+
}
|
|
4758
4792
|
if (isHigherOrderStrategy(result.strategy) && result.higherOrderResult) {
|
|
4759
4793
|
response.higherOrderMetadata = toHigherOrderMetadata(result.higherOrderResult);
|
|
4760
4794
|
}
|
|
@@ -6905,4 +6939,4 @@ export {
|
|
|
6905
6939
|
CONSENSUS_VOTE_TOOL_SCHEMA,
|
|
6906
6940
|
registerConsensusVoteTool
|
|
6907
6941
|
};
|
|
6908
|
-
//# sourceMappingURL=chunk-
|
|
6942
|
+
//# sourceMappingURL=chunk-3SKIHGZV.js.map
|