nexus-agents 8.48.4 → 8.49.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-OGJN2C5P.js → chunk-BEBLEQ7R.js} +3 -3
- package/dist/{chunk-4RBYWXD4.js → chunk-BUECRU6V.js} +2 -2
- package/dist/{chunk-6TDRAXFS.js → chunk-D3HUY2BI.js} +39 -8
- package/dist/chunk-D3HUY2BI.js.map +1 -0
- package/dist/{chunk-H7QOYRWN.js → chunk-D3SMZMJU.js} +2 -2
- package/dist/{chunk-PFQ7QLNA.js → chunk-IEJ3TVIY.js} +2 -2
- package/dist/{chunk-MM2IIDDY.js → chunk-SGEBIGIV.js} +7 -7
- package/dist/cli.js +7 -7
- package/dist/{consensus-vote-3536ASJE.js → consensus-vote-YZUZONAJ.js} +4 -4
- package/dist/{improvement-review-XE5CNIYF.js → improvement-review-BRHYABLT.js} +4 -4
- package/dist/index.js +6 -6
- package/dist/{setup-data-dir-RAKH2YJK.js → setup-data-dir-23DAGSYQ.js} +3 -3
- package/package.json +1 -1
- package/dist/chunk-6TDRAXFS.js.map +0 -1
- /package/dist/{chunk-OGJN2C5P.js.map → chunk-BEBLEQ7R.js.map} +0 -0
- /package/dist/{chunk-4RBYWXD4.js.map → chunk-BUECRU6V.js.map} +0 -0
- /package/dist/{chunk-H7QOYRWN.js.map → chunk-D3SMZMJU.js.map} +0 -0
- /package/dist/{chunk-PFQ7QLNA.js.map → chunk-IEJ3TVIY.js.map} +0 -0
- /package/dist/{chunk-MM2IIDDY.js.map → chunk-SGEBIGIV.js.map} +0 -0
- /package/dist/{consensus-vote-3536ASJE.js.map → consensus-vote-YZUZONAJ.js.map} +0 -0
- /package/dist/{improvement-review-XE5CNIYF.js.map → improvement-review-BRHYABLT.js.map} +0 -0
- /package/dist/{setup-data-dir-RAKH2YJK.js.map → setup-data-dir-23DAGSYQ.js.map} +0 -0
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
NODE_ENGINE_RANGE,
|
|
9
9
|
VERSION,
|
|
10
10
|
isNodeVersionSupported
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-IEJ3TVIY.js";
|
|
12
12
|
import {
|
|
13
13
|
claimGlobalRegistry
|
|
14
14
|
} from "./chunk-6GKP2RLC.js";
|
|
@@ -1247,7 +1247,7 @@ async function runDoctorFix(result) {
|
|
|
1247
1247
|
writeLine2("\u2500".repeat(40));
|
|
1248
1248
|
let fixCount = 0;
|
|
1249
1249
|
if (!result.dataDirectory.rootExists || result.dataDirectory.subdirectories.some((d) => !d.exists || !d.writable)) {
|
|
1250
|
-
const { initDataDirectories: initDataDirectories2, describeDataDirFix: describeDataDirFix2 } = await import("./setup-data-dir-
|
|
1250
|
+
const { initDataDirectories: initDataDirectories2, describeDataDirFix: describeDataDirFix2 } = await import("./setup-data-dir-23DAGSYQ.js");
|
|
1251
1251
|
const outcome = describeDataDirFix2(initDataDirectories2());
|
|
1252
1252
|
writeLine2(outcome.line);
|
|
1253
1253
|
if (outcome.counted) fixCount++;
|
|
@@ -1349,4 +1349,4 @@ export {
|
|
|
1349
1349
|
startStdioServer,
|
|
1350
1350
|
closeServer
|
|
1351
1351
|
};
|
|
1352
|
-
//# sourceMappingURL=chunk-
|
|
1352
|
+
//# sourceMappingURL=chunk-BEBLEQ7R.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
VERSION
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-IEJ3TVIY.js";
|
|
4
4
|
import {
|
|
5
5
|
emitClawGuardViolation
|
|
6
6
|
} from "./chunk-MOVW4ZFU.js";
|
|
@@ -2360,4 +2360,4 @@ export {
|
|
|
2360
2360
|
VOTING_THRESHOLDS,
|
|
2361
2361
|
ConsensusMetricsSchema
|
|
2362
2362
|
};
|
|
2363
|
-
//# sourceMappingURL=chunk-
|
|
2363
|
+
//# sourceMappingURL=chunk-BUECRU6V.js.map
|
|
@@ -23,10 +23,10 @@ import {
|
|
|
23
23
|
toolSuccessStructured,
|
|
24
24
|
withProgressHeartbeat,
|
|
25
25
|
wrapToolWithTimeout
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-BUECRU6V.js";
|
|
27
27
|
import {
|
|
28
28
|
VERSION
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-IEJ3TVIY.js";
|
|
30
30
|
import {
|
|
31
31
|
assessPanelIndependence,
|
|
32
32
|
countDistinctModels,
|
|
@@ -2813,6 +2813,7 @@ function createConsensusEngine(config, logger11) {
|
|
|
2813
2813
|
}
|
|
2814
2814
|
|
|
2815
2815
|
// src/consensus/quorum-validator.ts
|
|
2816
|
+
var TIE_TOLERANCE = 1e-9;
|
|
2816
2817
|
var QuorumValidator = class {
|
|
2817
2818
|
logger;
|
|
2818
2819
|
constructor(logger11) {
|
|
@@ -2827,6 +2828,9 @@ var QuorumValidator = class {
|
|
|
2827
2828
|
if (!breakdown.quorumReached) {
|
|
2828
2829
|
return this.buildNotReachedResult(breakdown, config);
|
|
2829
2830
|
}
|
|
2831
|
+
if (this.isTie(breakdown)) {
|
|
2832
|
+
return this.buildTieResult(breakdown);
|
|
2833
|
+
}
|
|
2830
2834
|
return this.buildReachedResult(breakdown);
|
|
2831
2835
|
}
|
|
2832
2836
|
getQuorumBreakdown(input) {
|
|
@@ -3016,12 +3020,36 @@ var QuorumValidator = class {
|
|
|
3016
3020
|
details: breakdown.reasoning
|
|
3017
3021
|
};
|
|
3018
3022
|
}
|
|
3019
|
-
|
|
3023
|
+
/** The tallies a decision is drawn from: weighted when weights apply, else headcount. */
|
|
3024
|
+
decisiveTallies(breakdown) {
|
|
3020
3025
|
const { voteCounts, weightedCounts } = breakdown;
|
|
3021
|
-
|
|
3022
|
-
|
|
3023
|
-
|
|
3024
|
-
|
|
3026
|
+
return {
|
|
3027
|
+
approves: weightedCounts?.approve ?? voteCounts.approve,
|
|
3028
|
+
rejects: weightedCounts?.reject ?? voteCounts.reject,
|
|
3029
|
+
total: weightedCounts?.totalWeight ?? voteCounts.total
|
|
3030
|
+
};
|
|
3031
|
+
}
|
|
3032
|
+
isTie(breakdown) {
|
|
3033
|
+
const { approves, rejects } = this.decisiveTallies(breakdown);
|
|
3034
|
+
return Math.abs(approves - rejects) < TIE_TOLERANCE;
|
|
3035
|
+
}
|
|
3036
|
+
/**
|
|
3037
|
+
* A tie reuses the existing `no_consensus` variant rather than a new status
|
|
3038
|
+
* member (a new member is breaking for exhaustive switches downstream). The
|
|
3039
|
+
* tie survives in `details`, which is the only place it can be read from.
|
|
3040
|
+
*/
|
|
3041
|
+
buildTieResult(breakdown) {
|
|
3042
|
+
const { approves, rejects } = this.decisiveTallies(breakdown);
|
|
3043
|
+
const kind = breakdown.weightedCounts === void 0 ? "" : " (weighted)";
|
|
3044
|
+
return {
|
|
3045
|
+
status: "not_reached",
|
|
3046
|
+
reason: "no_consensus",
|
|
3047
|
+
details: `tie: ${formatTally(approves)} approve vs ${formatTally(rejects)} reject${kind}; consensus not reached`
|
|
3048
|
+
};
|
|
3049
|
+
}
|
|
3050
|
+
buildReachedResult(breakdown) {
|
|
3051
|
+
const { approves, rejects, total } = this.decisiveTallies(breakdown);
|
|
3052
|
+
const decision = approves > rejects ? "approve" : "reject";
|
|
3025
3053
|
const confidence = total > 0 ? Math.abs(approves - rejects) / total : 0;
|
|
3026
3054
|
return {
|
|
3027
3055
|
status: "reached",
|
|
@@ -3031,6 +3059,9 @@ var QuorumValidator = class {
|
|
|
3031
3059
|
};
|
|
3032
3060
|
}
|
|
3033
3061
|
};
|
|
3062
|
+
function formatTally(value) {
|
|
3063
|
+
return Number.isInteger(value) ? String(value) : value.toFixed(2);
|
|
3064
|
+
}
|
|
3034
3065
|
function createQuorumValidator(logger11) {
|
|
3035
3066
|
return new QuorumValidator(logger11);
|
|
3036
3067
|
}
|
|
@@ -7958,4 +7989,4 @@ export {
|
|
|
7958
7989
|
CONSENSUS_VOTE_TOOL_SCHEMA,
|
|
7959
7990
|
registerConsensusVoteTool
|
|
7960
7991
|
};
|
|
7961
|
-
//# sourceMappingURL=chunk-
|
|
7992
|
+
//# sourceMappingURL=chunk-D3HUY2BI.js.map
|