nexus-agents 8.24.2 → 8.26.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-4DDARPJT.js → chunk-4EZINMIF.js} +3 -3
- package/dist/{chunk-YA3ULAKB.js → chunk-7P2GCEXB.js} +2 -2
- package/dist/{chunk-I4LNM23C.js → chunk-D2EMIL3K.js} +3 -3
- package/dist/{chunk-O2EJO2N5.js → chunk-FETVEDXN.js} +2 -2
- package/dist/{chunk-CKTGOSEL.js → chunk-TDPV3VO5.js} +54 -14
- package/dist/{chunk-CKTGOSEL.js.map → chunk-TDPV3VO5.js.map} +1 -1
- package/dist/{chunk-WGWKS6KS.js → chunk-XR4LCWG2.js} +2 -2
- package/dist/cli.js +7 -7
- package/dist/{consensus-vote-UYC4OKHJ.js → consensus-vote-6WG636MI.js} +4 -4
- package/dist/{improvement-review-DZA7XQCT.js → improvement-review-RIFOUVXG.js} +4 -4
- package/dist/index.d.ts +25 -1
- package/dist/index.js +6 -6
- package/dist/{setup-data-dir-5XI7DMHS.js → setup-data-dir-HAQK23WQ.js} +3 -3
- package/package.json +1 -1
- /package/dist/{chunk-4DDARPJT.js.map → chunk-4EZINMIF.js.map} +0 -0
- /package/dist/{chunk-YA3ULAKB.js.map → chunk-7P2GCEXB.js.map} +0 -0
- /package/dist/{chunk-I4LNM23C.js.map → chunk-D2EMIL3K.js.map} +0 -0
- /package/dist/{chunk-O2EJO2N5.js.map → chunk-FETVEDXN.js.map} +0 -0
- /package/dist/{chunk-WGWKS6KS.js.map → chunk-XR4LCWG2.js.map} +0 -0
- /package/dist/{consensus-vote-UYC4OKHJ.js.map → consensus-vote-6WG636MI.js.map} +0 -0
- /package/dist/{improvement-review-DZA7XQCT.js.map → improvement-review-RIFOUVXG.js.map} +0 -0
- /package/dist/{setup-data-dir-5XI7DMHS.js.map → setup-data-dir-HAQK23WQ.js.map} +0 -0
|
@@ -23,10 +23,10 @@ import {
|
|
|
23
23
|
toolSuccessStructured,
|
|
24
24
|
withProgressHeartbeat,
|
|
25
25
|
wrapToolWithTimeout
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-7P2GCEXB.js";
|
|
27
27
|
import {
|
|
28
28
|
VERSION
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-XR4LCWG2.js";
|
|
30
30
|
import {
|
|
31
31
|
assessPanelIndependence,
|
|
32
32
|
countDistinctModels,
|
|
@@ -7682,4 +7682,4 @@ export {
|
|
|
7682
7682
|
CONSENSUS_VOTE_TOOL_SCHEMA,
|
|
7683
7683
|
registerConsensusVoteTool
|
|
7684
7684
|
};
|
|
7685
|
-
//# sourceMappingURL=chunk-
|
|
7685
|
+
//# sourceMappingURL=chunk-4EZINMIF.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
VERSION
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-XR4LCWG2.js";
|
|
4
4
|
import {
|
|
5
5
|
emitClawGuardViolation
|
|
6
6
|
} from "./chunk-YOT4GWJV.js";
|
|
@@ -2255,4 +2255,4 @@ export {
|
|
|
2255
2255
|
VOTING_THRESHOLDS,
|
|
2256
2256
|
ConsensusMetricsSchema
|
|
2257
2257
|
};
|
|
2258
|
-
//# sourceMappingURL=chunk-
|
|
2258
|
+
//# sourceMappingURL=chunk-7P2GCEXB.js.map
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
NODE_ENGINE_RANGE,
|
|
9
9
|
VERSION,
|
|
10
10
|
isNodeVersionSupported
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-XR4LCWG2.js";
|
|
12
12
|
import {
|
|
13
13
|
capitalize
|
|
14
14
|
} from "./chunk-7LP6VJRP.js";
|
|
@@ -1228,7 +1228,7 @@ async function runDoctorFix(result) {
|
|
|
1228
1228
|
writeLine2("\u2500".repeat(40));
|
|
1229
1229
|
let fixCount = 0;
|
|
1230
1230
|
if (!result.dataDirectory.rootExists || result.dataDirectory.subdirectories.some((d) => !d.exists || !d.writable)) {
|
|
1231
|
-
const { initDataDirectories: initDataDirectories2, describeDataDirFix: describeDataDirFix2 } = await import("./setup-data-dir-
|
|
1231
|
+
const { initDataDirectories: initDataDirectories2, describeDataDirFix: describeDataDirFix2 } = await import("./setup-data-dir-HAQK23WQ.js");
|
|
1232
1232
|
const outcome = describeDataDirFix2(initDataDirectories2());
|
|
1233
1233
|
writeLine2(outcome.line);
|
|
1234
1234
|
if (outcome.counted) fixCount++;
|
|
@@ -1330,4 +1330,4 @@ export {
|
|
|
1330
1330
|
startStdioServer,
|
|
1331
1331
|
closeServer
|
|
1332
1332
|
};
|
|
1333
|
-
//# sourceMappingURL=chunk-
|
|
1333
|
+
//# sourceMappingURL=chunk-D2EMIL3K.js.map
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
toolStructuredError,
|
|
8
8
|
toolSuccessStructured,
|
|
9
9
|
wrapToolWithTimeout
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-7P2GCEXB.js";
|
|
11
11
|
import {
|
|
12
12
|
JsonlStore,
|
|
13
13
|
SECURITY_KEYWORDS,
|
|
@@ -2159,4 +2159,4 @@ export {
|
|
|
2159
2159
|
runImprovementReview,
|
|
2160
2160
|
registerImprovementReviewTool
|
|
2161
2161
|
};
|
|
2162
|
-
//# sourceMappingURL=chunk-
|
|
2162
|
+
//# sourceMappingURL=chunk-FETVEDXN.js.map
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
import {
|
|
22
22
|
DEFAULT_TASK_TTL_MS,
|
|
23
23
|
clampTaskTtl
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-D2EMIL3K.js";
|
|
25
25
|
import {
|
|
26
26
|
executeExpert
|
|
27
27
|
} from "./chunk-CN3VAMQD.js";
|
|
@@ -55,9 +55,10 @@ import {
|
|
|
55
55
|
toJobSummary,
|
|
56
56
|
updateStage,
|
|
57
57
|
writeJobCancelled
|
|
58
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-4EZINMIF.js";
|
|
59
59
|
import {
|
|
60
|
-
allOf
|
|
60
|
+
allOf,
|
|
61
|
+
anyOf
|
|
61
62
|
} from "./chunk-OQB3XC5O.js";
|
|
62
63
|
import {
|
|
63
64
|
normalizeTopicToCanonical,
|
|
@@ -74,7 +75,7 @@ import {
|
|
|
74
75
|
} from "./chunk-OYTRYITB.js";
|
|
75
76
|
import {
|
|
76
77
|
withPrerequisite
|
|
77
|
-
} from "./chunk-
|
|
78
|
+
} from "./chunk-FETVEDXN.js";
|
|
78
79
|
import {
|
|
79
80
|
NOOP_NOTIFIER,
|
|
80
81
|
RateLimiter,
|
|
@@ -99,7 +100,7 @@ import {
|
|
|
99
100
|
withAuditTrail,
|
|
100
101
|
withProgressHeartbeat,
|
|
101
102
|
wrapToolWithTimeout
|
|
102
|
-
} from "./chunk-
|
|
103
|
+
} from "./chunk-7P2GCEXB.js";
|
|
103
104
|
import {
|
|
104
105
|
createAuditTrail,
|
|
105
106
|
createGraphAuditBridge,
|
|
@@ -27448,7 +27449,8 @@ function renderModelPerformance(models, options) {
|
|
|
27448
27449
|
String(mp.n).padStart(6),
|
|
27449
27450
|
successRateStr.padStart(showCI ? 25 : 12),
|
|
27450
27451
|
mp.avgReward.toFixed(3).padStart(10),
|
|
27451
|
-
|
|
27452
|
+
// No comparative outcomes → the win rate was never measured (#5650).
|
|
27453
|
+
(mp.comparableN === 0 ? "-" : `${(mp.winRate * 100).toFixed(0)}%`).padStart(8)
|
|
27452
27454
|
].join(" | ");
|
|
27453
27455
|
lines.push(row);
|
|
27454
27456
|
}
|
|
@@ -27489,8 +27491,12 @@ function renderHealthIndicators(health) {
|
|
|
27489
27491
|
lines.push("-".repeat(60));
|
|
27490
27492
|
const check = (ok2) => ok2 === null ? "?" : ok2 ? "\u2713" : "\u2717";
|
|
27491
27493
|
lines.push(`${check(health.hasMinimumData)} Minimum Data`);
|
|
27492
|
-
lines.push(
|
|
27493
|
-
|
|
27494
|
+
lines.push(
|
|
27495
|
+
`${check(health.isLearning)} Learning Progress${health.isLearning === null ? " (unmeasured)" : ""}`
|
|
27496
|
+
);
|
|
27497
|
+
lines.push(
|
|
27498
|
+
`${check(health.healthyExploration)} Healthy Exploration${health.healthyExploration === null ? " (unmeasured)" : ""}`
|
|
27499
|
+
);
|
|
27494
27500
|
lines.push(`${check(health.noUnderperformers)} No Underperformers`);
|
|
27495
27501
|
lines.push("");
|
|
27496
27502
|
lines.push(
|
|
@@ -27563,6 +27569,7 @@ function calculateModelPerformance(model, outcomes) {
|
|
|
27563
27569
|
avgLatencyMs,
|
|
27564
27570
|
winRate: winLoss.winRate,
|
|
27565
27571
|
winRateCI: winLoss.winRateCI,
|
|
27572
|
+
comparableN: comparableOutcomes.length,
|
|
27566
27573
|
costEfficiency
|
|
27567
27574
|
};
|
|
27568
27575
|
}
|
|
@@ -45665,7 +45672,7 @@ function buildVotingInput(plan, config) {
|
|
|
45665
45672
|
}
|
|
45666
45673
|
async function executeSingleVote(plan, config, log) {
|
|
45667
45674
|
try {
|
|
45668
|
-
const { executeVoting } = await import("./consensus-vote-
|
|
45675
|
+
const { executeVoting } = await import("./consensus-vote-6WG636MI.js");
|
|
45669
45676
|
const input = buildVotingInput(plan, config);
|
|
45670
45677
|
const result = await executeVoting(input, log);
|
|
45671
45678
|
return parseVotingResult(result);
|
|
@@ -46057,11 +46064,29 @@ function buildHarnessResult(planResult, tasks) {
|
|
|
46057
46064
|
securityRan: false
|
|
46058
46065
|
};
|
|
46059
46066
|
}
|
|
46067
|
+
function deriveTaskAggregate(plannedTasks, completedTasks) {
|
|
46068
|
+
const completedById = new Map(completedTasks.map((t) => [t.id, t]));
|
|
46069
|
+
const allTasksDone = allOf(
|
|
46070
|
+
plannedTasks,
|
|
46071
|
+
(task) => completedById.get(task.id)?.status === "done",
|
|
46072
|
+
false
|
|
46073
|
+
);
|
|
46074
|
+
const anyTaskDone = anyOf(
|
|
46075
|
+
plannedTasks,
|
|
46076
|
+
(task) => completedById.get(task.id)?.status === "done",
|
|
46077
|
+
false
|
|
46078
|
+
);
|
|
46079
|
+
return {
|
|
46080
|
+
allTasksDone,
|
|
46081
|
+
taskStatus: allTasksDone ? "all_done" : anyTaskDone ? "partial" : "none"
|
|
46082
|
+
};
|
|
46083
|
+
}
|
|
46060
46084
|
async function runImplSecurityPhase(planResult, tasks, stages, run) {
|
|
46061
46085
|
const { sid, qualityGateMode, limits } = run;
|
|
46062
46086
|
const implResult = await implementQaLoop(tasks, stages, limits);
|
|
46063
46087
|
if (sid !== void 0)
|
|
46064
46088
|
saveStageCheckpoint(sid, "implement", { type: "implement", tasks: implResult.completedTasks });
|
|
46089
|
+
const { allTasksDone, taskStatus } = deriveTaskAggregate(tasks, implResult.completedTasks);
|
|
46065
46090
|
const qaGate = await runQualityGateStage(stages, qualityGateMode);
|
|
46066
46091
|
if (qualityGateMode === "blocking" && !qaGate.passed) {
|
|
46067
46092
|
return {
|
|
@@ -46072,7 +46097,8 @@ async function runImplSecurityPhase(planResult, tasks, stages, run) {
|
|
|
46072
46097
|
qaIterations: implResult.totalIterations,
|
|
46073
46098
|
// The gate short-circuited before the scan — absence, not a verdict.
|
|
46074
46099
|
securityPassed: false,
|
|
46075
|
-
securityRan: false
|
|
46100
|
+
securityRan: false,
|
|
46101
|
+
taskStatus
|
|
46076
46102
|
};
|
|
46077
46103
|
}
|
|
46078
46104
|
const security = await withStep({ name: "security-scan" }, async (ctx) => {
|
|
@@ -46085,13 +46111,14 @@ async function runImplSecurityPhase(planResult, tasks, stages, run) {
|
|
|
46085
46111
|
if (security.passed) cleanupCheckpoint2(sid);
|
|
46086
46112
|
}
|
|
46087
46113
|
return {
|
|
46088
|
-
completed: security.passed,
|
|
46114
|
+
completed: allTasksDone && security.passed,
|
|
46089
46115
|
plan: planResult.plan,
|
|
46090
46116
|
tasks: implResult.completedTasks.length > 0 ? implResult.completedTasks : tasks,
|
|
46091
46117
|
voteIterations: planResult.iterations,
|
|
46092
46118
|
qaIterations: implResult.totalIterations,
|
|
46093
46119
|
securityPassed: security.passed,
|
|
46094
46120
|
securityRan: security.verdict !== "skip",
|
|
46121
|
+
taskStatus,
|
|
46095
46122
|
...security.verdict === "skip" ? { securityNote: security.feedback } : {}
|
|
46096
46123
|
};
|
|
46097
46124
|
}
|
|
@@ -47437,7 +47464,7 @@ ${contextBlock}`;
|
|
|
47437
47464
|
const strategy = config.votingStrategy ?? "higher_order";
|
|
47438
47465
|
await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
|
|
47439
47466
|
try {
|
|
47440
|
-
const { executeVoting } = await import("./consensus-vote-
|
|
47467
|
+
const { executeVoting } = await import("./consensus-vote-6WG636MI.js");
|
|
47441
47468
|
const votingResult = await executeVoting(
|
|
47442
47469
|
{
|
|
47443
47470
|
proposal: buildVoteProposal(plan, research),
|
|
@@ -50453,12 +50480,24 @@ function describePlanFailure(record) {
|
|
|
50453
50480
|
}
|
|
50454
50481
|
return void 0;
|
|
50455
50482
|
}
|
|
50483
|
+
function describeTaskFailure(record) {
|
|
50484
|
+
if (record["taskStatus"] === "none") {
|
|
50485
|
+
return `${FAILURE_PREFIX} no planned tasks completed successfully`;
|
|
50486
|
+
}
|
|
50487
|
+
if (record["taskStatus"] === "partial") {
|
|
50488
|
+
return `${FAILURE_PREFIX} one or more planned tasks did not complete successfully`;
|
|
50489
|
+
}
|
|
50490
|
+
return void 0;
|
|
50491
|
+
}
|
|
50456
50492
|
function describeIncompletePipeline(record) {
|
|
50457
50493
|
const planFailure = describePlanFailure(record);
|
|
50458
50494
|
if (planFailure !== void 0) return planFailure;
|
|
50459
|
-
|
|
50495
|
+
const taskFailure = describeTaskFailure(record);
|
|
50496
|
+
if (taskFailure !== void 0 && record["securityPassed"] !== false) return taskFailure;
|
|
50497
|
+
if (record["securityRan"] === true && record["securityPassed"] !== true) {
|
|
50460
50498
|
return `${FAILURE_PREFIX} the security gate rejected the change`;
|
|
50461
50499
|
}
|
|
50500
|
+
if (taskFailure !== void 0) return taskFailure;
|
|
50462
50501
|
if (record["securityRan"] === false) {
|
|
50463
50502
|
if (typeof record["securityNote"] === "string") {
|
|
50464
50503
|
return `${FAILURE_PREFIX} the security scan did not run (${record["securityNote"]}); the change is blocked until it does`;
|
|
@@ -51433,6 +51472,7 @@ function buildStructuredOutput(result, simulated) {
|
|
|
51433
51472
|
// describing it. A live `run_dev_pipeline({ dryRun: true })` came back with
|
|
51434
51473
|
// no way to tell a successful dry run from a failed pipeline.
|
|
51435
51474
|
...result.dryRun !== void 0 ? { dryRun: result.dryRun } : {},
|
|
51475
|
+
...result.taskStatus !== void 0 ? { taskStatus: result.taskStatus } : {},
|
|
51436
51476
|
voteIterations: result.voteIterations,
|
|
51437
51477
|
qaIterations: result.qaIterations,
|
|
51438
51478
|
plan: result.plan,
|
|
@@ -56140,4 +56180,4 @@ export {
|
|
|
56140
56180
|
shutdownFeedbackSubscriber,
|
|
56141
56181
|
createEventBusBridge
|
|
56142
56182
|
};
|
|
56143
|
-
//# sourceMappingURL=chunk-
|
|
56183
|
+
//# sourceMappingURL=chunk-TDPV3VO5.js.map
|