nexus-agents 11.0.2 → 11.1.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-YUA3UBXT.js → chunk-2JBWGPU6.js} +2 -2
- package/dist/{chunk-ZBWKLJNT.js → chunk-3RUQILL4.js} +3 -3
- package/dist/{chunk-TGUUUWJO.js → chunk-7HPCEKK7.js} +61 -17
- package/dist/{chunk-TGUUUWJO.js.map → chunk-7HPCEKK7.js.map} +1 -1
- package/dist/{chunk-G667EEZ7.js → chunk-GAMT4NFP.js} +2 -2
- package/dist/{chunk-Y34BCT36.js → chunk-I7S3R5SQ.js} +2 -2
- package/dist/{chunk-LSQ2IFMP.js → chunk-PNYCRRT6.js} +3 -3
- package/dist/cli.js +83 -26
- package/dist/cli.js.map +1 -1
- package/dist/{consensus-vote-O7WRAIMH.js → consensus-vote-YVJGZGGG.js} +4 -4
- package/dist/{improvement-review-UQUJ4ZR5.js → improvement-review-VYT24FPH.js} +4 -4
- package/dist/index.d.ts +25 -2
- package/dist/index.js +6 -6
- package/dist/{setup-data-dir-5YHUK3MZ.js → setup-data-dir-VCH62L7T.js} +3 -3
- package/package.json +1 -1
- /package/dist/{chunk-YUA3UBXT.js.map → chunk-2JBWGPU6.js.map} +0 -0
- /package/dist/{chunk-ZBWKLJNT.js.map → chunk-3RUQILL4.js.map} +0 -0
- /package/dist/{chunk-G667EEZ7.js.map → chunk-GAMT4NFP.js.map} +0 -0
- /package/dist/{chunk-Y34BCT36.js.map → chunk-I7S3R5SQ.js.map} +0 -0
- /package/dist/{chunk-LSQ2IFMP.js.map → chunk-PNYCRRT6.js.map} +0 -0
- /package/dist/{consensus-vote-O7WRAIMH.js.map → consensus-vote-YVJGZGGG.js.map} +0 -0
- /package/dist/{improvement-review-UQUJ4ZR5.js.map → improvement-review-VYT24FPH.js.map} +0 -0
- /package/dist/{setup-data-dir-5YHUK3MZ.js.map → setup-data-dir-VCH62L7T.js.map} +0 -0
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
toSdkCallback,
|
|
8
8
|
toolStructuredError,
|
|
9
9
|
wrapToolWithTimeout
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-GAMT4NFP.js";
|
|
11
11
|
import {
|
|
12
12
|
JsonlStore,
|
|
13
13
|
SECURITY_KEYWORDS,
|
|
@@ -2431,4 +2431,4 @@ export {
|
|
|
2431
2431
|
runImprovementReview,
|
|
2432
2432
|
registerImprovementReviewTool
|
|
2433
2433
|
};
|
|
2434
|
-
//# sourceMappingURL=chunk-
|
|
2434
|
+
//# sourceMappingURL=chunk-2JBWGPU6.js.map
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
VERSION,
|
|
8
8
|
isNodeVersionSupported,
|
|
9
9
|
recordServerTransport
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-I7S3R5SQ.js";
|
|
11
11
|
import {
|
|
12
12
|
checkGatewayHealth,
|
|
13
13
|
cliFailsVerdict,
|
|
@@ -2251,7 +2251,7 @@ async function runDoctorFix(result) {
|
|
|
2251
2251
|
writeLine2("\u2500".repeat(40));
|
|
2252
2252
|
let fixCount = 0;
|
|
2253
2253
|
if (!result.dataDirectory.rootExists || result.dataDirectory.subdirectories.some((d) => !d.exists || !d.writable)) {
|
|
2254
|
-
const { initDataDirectories: initDataDirectories2, describeDataDirFix: describeDataDirFix2 } = await import("./setup-data-dir-
|
|
2254
|
+
const { initDataDirectories: initDataDirectories2, describeDataDirFix: describeDataDirFix2 } = await import("./setup-data-dir-VCH62L7T.js");
|
|
2255
2255
|
const outcome = describeDataDirFix2(initDataDirectories2());
|
|
2256
2256
|
writeLine2(outcome.line);
|
|
2257
2257
|
if (outcome.counted) fixCount++;
|
|
@@ -2371,4 +2371,4 @@ export {
|
|
|
2371
2371
|
startStdioServer,
|
|
2372
2372
|
closeServer
|
|
2373
2373
|
};
|
|
2374
|
-
//# sourceMappingURL=chunk-
|
|
2374
|
+
//# sourceMappingURL=chunk-3RUQILL4.js.map
|
|
@@ -58,7 +58,7 @@ import {
|
|
|
58
58
|
updateStage,
|
|
59
59
|
withFileLock,
|
|
60
60
|
writeJobCancelled
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-PNYCRRT6.js";
|
|
62
62
|
import {
|
|
63
63
|
normalizeTopicToCanonical,
|
|
64
64
|
synthesizeResearch
|
|
@@ -77,7 +77,7 @@ import {
|
|
|
77
77
|
} from "./chunk-NY7IMAG5.js";
|
|
78
78
|
import {
|
|
79
79
|
withPrerequisite
|
|
80
|
-
} from "./chunk-
|
|
80
|
+
} from "./chunk-2JBWGPU6.js";
|
|
81
81
|
import {
|
|
82
82
|
NOOP_NOTIFIER,
|
|
83
83
|
RateLimiter,
|
|
@@ -105,7 +105,7 @@ import {
|
|
|
105
105
|
toolSuccess,
|
|
106
106
|
withProgressHeartbeat,
|
|
107
107
|
wrapToolWithTimeout
|
|
108
|
-
} from "./chunk-
|
|
108
|
+
} from "./chunk-GAMT4NFP.js";
|
|
109
109
|
import {
|
|
110
110
|
generateSecurityPlan
|
|
111
111
|
} from "./chunk-AX5DBV3M.js";
|
|
@@ -187,7 +187,7 @@ import {
|
|
|
187
187
|
import {
|
|
188
188
|
DEFAULT_TASK_TTL_MS,
|
|
189
189
|
clampTaskTtl
|
|
190
|
-
} from "./chunk-
|
|
190
|
+
} from "./chunk-3RUQILL4.js";
|
|
191
191
|
import {
|
|
192
192
|
allOf,
|
|
193
193
|
anyOf
|
|
@@ -196,7 +196,7 @@ import {
|
|
|
196
196
|
VERSION,
|
|
197
197
|
createRequestContext,
|
|
198
198
|
measuredTrustTier
|
|
199
|
-
} from "./chunk-
|
|
199
|
+
} from "./chunk-I7S3R5SQ.js";
|
|
200
200
|
import {
|
|
201
201
|
BWRAP_READ_ONLY_ARGS,
|
|
202
202
|
CliDetectionCache,
|
|
@@ -46657,7 +46657,7 @@ function buildVotingInput(plan, config) {
|
|
|
46657
46657
|
}
|
|
46658
46658
|
async function executeSingleVote(plan, config, log) {
|
|
46659
46659
|
try {
|
|
46660
|
-
const { executeVoting } = await import("./consensus-vote-
|
|
46660
|
+
const { executeVoting } = await import("./consensus-vote-YVJGZGGG.js");
|
|
46661
46661
|
const input = buildVotingInput(plan, config);
|
|
46662
46662
|
const result = await executeVoting(input, log);
|
|
46663
46663
|
return parseVotingResult(result);
|
|
@@ -47758,9 +47758,7 @@ function buildDryRunResult(planResult) {
|
|
|
47758
47758
|
securityPassed: false,
|
|
47759
47759
|
securityRan: false,
|
|
47760
47760
|
...planResult.planStatus !== void 0 ? { planStatus: planResult.planStatus } : {},
|
|
47761
|
-
...planResult
|
|
47762
|
-
...planResult.planVoteApprovalPercentage !== void 0 ? { planVoteApprovalPercentage: planResult.planVoteApprovalPercentage } : {},
|
|
47763
|
-
...planResult.planVoteFeedback !== void 0 ? { planVoteFeedback: planResult.planVoteFeedback } : {}
|
|
47761
|
+
...planVoteEvidence(planResult)
|
|
47764
47762
|
};
|
|
47765
47763
|
}
|
|
47766
47764
|
function buildPlanFailureResult(planResult) {
|
|
@@ -47773,9 +47771,16 @@ function buildPlanFailureResult(planResult) {
|
|
|
47773
47771
|
securityPassed: false,
|
|
47774
47772
|
securityRan: false,
|
|
47775
47773
|
planStatus: planResult.planStatus ?? "unapproved",
|
|
47774
|
+
...planVoteEvidence(planResult)
|
|
47775
|
+
};
|
|
47776
|
+
}
|
|
47777
|
+
function planVoteEvidence(planResult) {
|
|
47778
|
+
return {
|
|
47779
|
+
...planResult.planVoteDecision !== void 0 ? { planVoteDecision: planResult.planVoteDecision } : {},
|
|
47776
47780
|
...planResult.planVoteReason !== void 0 ? { planVoteReason: planResult.planVoteReason } : {},
|
|
47777
47781
|
...planResult.planVoteApprovalPercentage !== void 0 ? { planVoteApprovalPercentage: planResult.planVoteApprovalPercentage } : {},
|
|
47778
|
-
...planResult.planVoteFeedback !== void 0 ? { planVoteFeedback: planResult.planVoteFeedback } : {}
|
|
47782
|
+
...planResult.planVoteFeedback !== void 0 ? { planVoteFeedback: planResult.planVoteFeedback } : {},
|
|
47783
|
+
...planResult.planVoteRecordId !== void 0 ? { planVoteRecordId: planResult.planVoteRecordId } : {}
|
|
47779
47784
|
};
|
|
47780
47785
|
}
|
|
47781
47786
|
async function resolveResearch(prior, task, stages, options) {
|
|
@@ -48044,7 +48049,16 @@ function buildApprovedPlanResult(plan, iterations, vote, sessionId) {
|
|
|
48044
48049
|
approval: vote.approvalPercentage,
|
|
48045
48050
|
sessionId
|
|
48046
48051
|
});
|
|
48047
|
-
return {
|
|
48052
|
+
return {
|
|
48053
|
+
plan,
|
|
48054
|
+
iterations,
|
|
48055
|
+
planVoteDecision: "approved",
|
|
48056
|
+
planVoteApprovalPercentage: vote.approvalPercentage,
|
|
48057
|
+
...recordIdOf(vote)
|
|
48058
|
+
};
|
|
48059
|
+
}
|
|
48060
|
+
function recordIdOf(vote) {
|
|
48061
|
+
return vote?.voteRecordId !== void 0 ? { planVoteRecordId: vote.voteRecordId } : {};
|
|
48048
48062
|
}
|
|
48049
48063
|
async function runPlanVote(plan, research, stages, iteration) {
|
|
48050
48064
|
return withStep({ name: `vote (i=${String(iteration)})`, attrs: { iteration } }, async (ctx) => {
|
|
@@ -48071,8 +48085,10 @@ function buildNoQuorumPlanResult(plan, iterations, vote, retries) {
|
|
|
48071
48085
|
plan,
|
|
48072
48086
|
iterations,
|
|
48073
48087
|
planStatus: "no_quorum",
|
|
48088
|
+
planVoteDecision: "no_quorum",
|
|
48074
48089
|
planVoteReason: vote.reason,
|
|
48075
|
-
planVoteApprovalPercentage: vote.approvalPercentage
|
|
48090
|
+
planVoteApprovalPercentage: vote.approvalPercentage,
|
|
48091
|
+
...recordIdOf(vote)
|
|
48076
48092
|
};
|
|
48077
48093
|
}
|
|
48078
48094
|
function buildUnapprovedPlanResult(plan, iterations, vote, sessionId) {
|
|
@@ -48088,8 +48104,11 @@ function buildUnapprovedPlanResult(plan, iterations, vote, sessionId) {
|
|
|
48088
48104
|
plan,
|
|
48089
48105
|
iterations,
|
|
48090
48106
|
planStatus: "unapproved",
|
|
48107
|
+
// No vote ran at all only when the iteration limit is zero; don't claim one.
|
|
48108
|
+
...vote !== void 0 ? { planVoteDecision: "rejected" } : {},
|
|
48091
48109
|
planVoteApprovalPercentage: approvalPercentage,
|
|
48092
|
-
planVoteFeedback: feedback
|
|
48110
|
+
planVoteFeedback: feedback,
|
|
48111
|
+
...recordIdOf(vote)
|
|
48093
48112
|
};
|
|
48094
48113
|
}
|
|
48095
48114
|
async function implementSingleTask(task, stages, limits) {
|
|
@@ -48433,6 +48452,13 @@ function classifyVoteStageResult(votingResult) {
|
|
|
48433
48452
|
}
|
|
48434
48453
|
return { vote: { kind: "approved", approvalPercentage: pct }, label: "Approved" };
|
|
48435
48454
|
}
|
|
48455
|
+
function withRecordId(classified, recorded) {
|
|
48456
|
+
if (!recorded.voteRecord.persisted) return classified;
|
|
48457
|
+
return {
|
|
48458
|
+
vote: { ...classified.vote, voteRecordId: recorded.voteRecord.record.id },
|
|
48459
|
+
label: classified.label
|
|
48460
|
+
};
|
|
48461
|
+
}
|
|
48436
48462
|
async function failClosedVote(config, start, error) {
|
|
48437
48463
|
const msg = error instanceof Error ? error.message : String(error);
|
|
48438
48464
|
emitStageEvent2("vote", "failed", { error: msg });
|
|
@@ -48463,7 +48489,7 @@ function createVoteStage({ config, startStage }) {
|
|
|
48463
48489
|
const strategy = config.votingStrategy ?? "higher_order";
|
|
48464
48490
|
await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
|
|
48465
48491
|
try {
|
|
48466
|
-
const { executeVoting } = await import("./consensus-vote-
|
|
48492
|
+
const { executeVoting } = await import("./consensus-vote-YVJGZGGG.js");
|
|
48467
48493
|
const proposal = buildVoteProposal(plan, research);
|
|
48468
48494
|
const votingResult = await executeVoting(
|
|
48469
48495
|
{
|
|
@@ -48479,8 +48505,11 @@ function createVoteStage({ config, startStage }) {
|
|
|
48479
48505
|
// stage deadline or a job cancel.
|
|
48480
48506
|
signal !== void 0 ? { signal } : void 0
|
|
48481
48507
|
);
|
|
48482
|
-
await recordCompletedVote(proposal, votingResult, logger46, {
|
|
48483
|
-
|
|
48508
|
+
const recorded = await recordCompletedVote(proposal, votingResult, logger46, {
|
|
48509
|
+
...PIPELINE_VOTE,
|
|
48510
|
+
signal
|
|
48511
|
+
});
|
|
48512
|
+
const { vote, label } = withRecordId(classifyVoteStageResult(votingResult), recorded);
|
|
48484
48513
|
const ms = getTimeProvider().now() - start;
|
|
48485
48514
|
emitStageEvent2("vote", "completed", { durationMs: ms });
|
|
48486
48515
|
recordOutcome({
|
|
@@ -53916,7 +53945,10 @@ function buildStructuredOutput(result, simulated) {
|
|
|
53916
53945
|
...simulated ? { simulated: true } : {},
|
|
53917
53946
|
completed: result.completed,
|
|
53918
53947
|
...changesField(result),
|
|
53948
|
+
// Kept for compatibility: `false` here is NOT a verdict unless `securityRan`
|
|
53949
|
+
// is true. `security` below is the field that cannot misread (#7181).
|
|
53919
53950
|
securityPassed: result.securityPassed,
|
|
53951
|
+
security: securityStatus(result),
|
|
53920
53952
|
// #4772: these two are what make `completed: false` legible. Without them a
|
|
53921
53953
|
// caller cannot tell a failed planner from a successful dry run, or a
|
|
53922
53954
|
// security rejection from a gate that never ran — which is the whole point
|
|
@@ -53928,6 +53960,8 @@ function buildStructuredOutput(result, simulated) {
|
|
|
53928
53960
|
...result.planVoteReason !== void 0 ? { planVoteReason: result.planVoteReason } : {},
|
|
53929
53961
|
...result.planVoteApprovalPercentage !== void 0 ? { planVoteApprovalPercentage: result.planVoteApprovalPercentage } : {},
|
|
53930
53962
|
...result.planVoteFeedback !== void 0 ? { planVoteFeedback: result.planVoteFeedback } : {},
|
|
53963
|
+
// #7181: the dry run's verdict, which otherwise reached only the ledger.
|
|
53964
|
+
...planVoteVerdictFields(result),
|
|
53931
53965
|
// #4993 added `dryRun` to DevPipelineResult for exactly the reason above —
|
|
53932
53966
|
// it says `completed: false` was the request, not a fault — and then did
|
|
53933
53967
|
// not list it here either. Same omission, same function, under the comment
|
|
@@ -53955,6 +53989,16 @@ function changesField(result) {
|
|
|
53955
53989
|
function warningsField(result) {
|
|
53956
53990
|
return result.warnings !== void 0 ? { warnings: result.warnings } : {};
|
|
53957
53991
|
}
|
|
53992
|
+
function securityStatus(result) {
|
|
53993
|
+
if (result.securityRan !== true) return { status: "unmeasured" };
|
|
53994
|
+
return { status: result.securityPassed ? "passed" : "failed" };
|
|
53995
|
+
}
|
|
53996
|
+
function planVoteVerdictFields(result) {
|
|
53997
|
+
return {
|
|
53998
|
+
...result.planVoteDecision !== void 0 ? { planVoteDecision: result.planVoteDecision } : {},
|
|
53999
|
+
...result.planVoteRecordId !== void 0 ? { planVoteRecordId: result.planVoteRecordId } : {}
|
|
54000
|
+
};
|
|
54001
|
+
}
|
|
53958
54002
|
|
|
53959
54003
|
// src/mcp/tools/dev-pipeline-tool.ts
|
|
53960
54004
|
import { resolve as resolve10 } from "node:path";
|
|
@@ -58425,4 +58469,4 @@ export {
|
|
|
58425
58469
|
initializeSandbox,
|
|
58426
58470
|
getSandboxMode
|
|
58427
58471
|
};
|
|
58428
|
-
//# sourceMappingURL=chunk-
|
|
58472
|
+
//# sourceMappingURL=chunk-7HPCEKK7.js.map
|