nexus-agents 8.42.7 → 8.42.9
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-RXEQG3NK.js → chunk-IVAWIOCS.js} +44 -13
- package/dist/chunk-IVAWIOCS.js.map +1 -0
- package/dist/{chunk-E4RL4FT6.js → chunk-JPE77J4Q.js} +2 -2
- package/dist/{chunk-5FTZPRLT.js → chunk-KJDCFQ6X.js} +3 -3
- package/dist/{chunk-THNKDI4A.js → chunk-QYB34SJZ.js} +3 -3
- package/dist/{chunk-LRZBQX6I.js → chunk-VS4R3N7K.js} +2 -2
- package/dist/{chunk-VXPLA32M.js → chunk-YSWFDYTA.js} +2 -2
- package/dist/cli.js +7 -7
- package/dist/{consensus-vote-QWJY7IE4.js → consensus-vote-XNC7NRAJ.js} +4 -4
- package/dist/{improvement-review-LTW4WSG2.js → improvement-review-NNGKVIM6.js} +4 -4
- package/dist/index.d.ts +11 -0
- package/dist/index.js +6 -6
- package/dist/{setup-data-dir-26DDW66H.js → setup-data-dir-CBRVDJSC.js} +3 -3
- package/package.json +1 -1
- package/dist/chunk-RXEQG3NK.js.map +0 -1
- /package/dist/{chunk-E4RL4FT6.js.map → chunk-JPE77J4Q.js.map} +0 -0
- /package/dist/{chunk-5FTZPRLT.js.map → chunk-KJDCFQ6X.js.map} +0 -0
- /package/dist/{chunk-THNKDI4A.js.map → chunk-QYB34SJZ.js.map} +0 -0
- /package/dist/{chunk-LRZBQX6I.js.map → chunk-VS4R3N7K.js.map} +0 -0
- /package/dist/{chunk-VXPLA32M.js.map → chunk-YSWFDYTA.js.map} +0 -0
- /package/dist/{consensus-vote-QWJY7IE4.js.map → consensus-vote-XNC7NRAJ.js.map} +0 -0
- /package/dist/{improvement-review-LTW4WSG2.js.map → improvement-review-NNGKVIM6.js.map} +0 -0
- /package/dist/{setup-data-dir-26DDW66H.js.map → setup-data-dir-CBRVDJSC.js.map} +0 -0
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
import {
|
|
22
22
|
DEFAULT_TASK_TTL_MS,
|
|
23
23
|
clampTaskTtl
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-KJDCFQ6X.js";
|
|
25
25
|
import {
|
|
26
26
|
executeExpert
|
|
27
27
|
} from "./chunk-HTSKUXUY.js";
|
|
@@ -55,7 +55,7 @@ import {
|
|
|
55
55
|
toJobSummary,
|
|
56
56
|
updateStage,
|
|
57
57
|
writeJobCancelled
|
|
58
|
-
} from "./chunk-
|
|
58
|
+
} from "./chunk-QYB34SJZ.js";
|
|
59
59
|
import {
|
|
60
60
|
allOf,
|
|
61
61
|
anyOf
|
|
@@ -75,7 +75,7 @@ import {
|
|
|
75
75
|
} from "./chunk-NQXISQVW.js";
|
|
76
76
|
import {
|
|
77
77
|
withPrerequisite
|
|
78
|
-
} from "./chunk-
|
|
78
|
+
} from "./chunk-YSWFDYTA.js";
|
|
79
79
|
import {
|
|
80
80
|
NOOP_NOTIFIER,
|
|
81
81
|
RateLimiter,
|
|
@@ -100,7 +100,7 @@ import {
|
|
|
100
100
|
withAuditTrail,
|
|
101
101
|
withProgressHeartbeat,
|
|
102
102
|
wrapToolWithTimeout
|
|
103
|
-
} from "./chunk-
|
|
103
|
+
} from "./chunk-JPE77J4Q.js";
|
|
104
104
|
import {
|
|
105
105
|
createAuditTrail,
|
|
106
106
|
createGraphAuditBridge,
|
|
@@ -12144,6 +12144,13 @@ function scoreFor(suppliedScore, coverage, validVulns, calculateScore2) {
|
|
|
12144
12144
|
if (coverage === "partial") return calculateScore2(validVulns);
|
|
12145
12145
|
return typeof suppliedScore === "number" && suppliedScore >= 0 && suppliedScore <= 100 ? suppliedScore : calculateScore2(validVulns);
|
|
12146
12146
|
}
|
|
12147
|
+
function heuristicSecurityOutcome(vulnerabilities, calculateScore2 = calculateSecurityScore) {
|
|
12148
|
+
const findingsCoverage = vulnerabilities.length > 0 ? "partial" : "unmeasured";
|
|
12149
|
+
return {
|
|
12150
|
+
findingsCoverage,
|
|
12151
|
+
securityScore: scoreFor(void 0, findingsCoverage, vulnerabilities, calculateScore2)
|
|
12152
|
+
};
|
|
12153
|
+
}
|
|
12147
12154
|
function buildSecurityCore(p, validVulns, rejectedFindings, calculateScore2) {
|
|
12148
12155
|
const conf = p["confidence"];
|
|
12149
12156
|
const findingsCoverage = coverageFor(rejectedFindings, validVulns.length);
|
|
@@ -12172,12 +12179,12 @@ function parseSecurityResult(text, calculateScore2, validator) {
|
|
|
12172
12179
|
return result;
|
|
12173
12180
|
} catch {
|
|
12174
12181
|
const heuristicVulns = detectHeuristicVulnerabilities(text);
|
|
12175
|
-
const
|
|
12182
|
+
const outcome = heuristicSecurityOutcome(heuristicVulns, calculateScore2);
|
|
12176
12183
|
return {
|
|
12177
12184
|
content: text,
|
|
12178
12185
|
vulnerabilities: heuristicVulns,
|
|
12179
|
-
securityScore:
|
|
12180
|
-
findingsCoverage,
|
|
12186
|
+
securityScore: outcome.securityScore,
|
|
12187
|
+
findingsCoverage: outcome.findingsCoverage,
|
|
12181
12188
|
confidence: heuristicVulns.length > 0 ? 0.5 : 0.3
|
|
12182
12189
|
};
|
|
12183
12190
|
}
|
|
@@ -12230,12 +12237,12 @@ Analyze for security vulnerabilities and provide findings in the specified JSON
|
|
|
12230
12237
|
enableCweMapping: this.expertOptions.enableCweMapping,
|
|
12231
12238
|
minSeverity: this.expertOptions.minSeverity
|
|
12232
12239
|
});
|
|
12233
|
-
const securityScore =
|
|
12240
|
+
const { findingsCoverage, securityScore } = heuristicSecurityOutcome(vulnerabilities);
|
|
12234
12241
|
const result = {
|
|
12235
12242
|
content: "Heuristic security analysis. Model adapter required for comprehensive review.",
|
|
12236
12243
|
vulnerabilities,
|
|
12237
12244
|
securityScore,
|
|
12238
|
-
findingsCoverage
|
|
12245
|
+
findingsCoverage,
|
|
12239
12246
|
recommendations: generateHeuristicRecommendations2(vulnerabilities),
|
|
12240
12247
|
warnings: generateSecurityWarnings(vulnerabilities),
|
|
12241
12248
|
confidence: vulnerabilities.length > 0 ? 0.6 : 0.4
|
|
@@ -45950,7 +45957,7 @@ function buildVotingInput(plan, config) {
|
|
|
45950
45957
|
}
|
|
45951
45958
|
async function executeSingleVote(plan, config, log) {
|
|
45952
45959
|
try {
|
|
45953
|
-
const { executeVoting } = await import("./consensus-vote-
|
|
45960
|
+
const { executeVoting } = await import("./consensus-vote-XNC7NRAJ.js");
|
|
45954
45961
|
const input = buildVotingInput(plan, config);
|
|
45955
45962
|
const result = await executeVoting(input, log);
|
|
45956
45963
|
return parseVotingResult(result);
|
|
@@ -46332,6 +46339,9 @@ async function runPlanningPhase(task, stages, prior, options) {
|
|
|
46332
46339
|
function buildHarnessResult(planResult, tasks) {
|
|
46333
46340
|
return {
|
|
46334
46341
|
completed: false,
|
|
46342
|
+
// Says WHY completion is false: by request, not by fault (#5888) — the
|
|
46343
|
+
// same role `dryRun` plays for the other deliberate stop.
|
|
46344
|
+
harnessMode: true,
|
|
46335
46345
|
plan: planResult.plan,
|
|
46336
46346
|
tasks,
|
|
46337
46347
|
voteIterations: planResult.iterations,
|
|
@@ -47742,7 +47752,7 @@ ${contextBlock}`;
|
|
|
47742
47752
|
const strategy = config.votingStrategy ?? "higher_order";
|
|
47743
47753
|
await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
|
|
47744
47754
|
try {
|
|
47745
|
-
const { executeVoting } = await import("./consensus-vote-
|
|
47755
|
+
const { executeVoting } = await import("./consensus-vote-XNC7NRAJ.js");
|
|
47746
47756
|
const votingResult = await executeVoting(
|
|
47747
47757
|
{
|
|
47748
47758
|
proposal: buildVoteProposal(plan, research),
|
|
@@ -51743,6 +51753,7 @@ function buildStructuredOutput(result, simulated) {
|
|
|
51743
51753
|
// security rejection from a gate that never ran — which is the whole point
|
|
51744
51754
|
// of the fields. They were added to DevPipelineResult and then not listed
|
|
51745
51755
|
// here, so they never reached the MCP surface.
|
|
51756
|
+
...result.harnessMode !== void 0 ? { harnessMode: result.harnessMode } : {},
|
|
51746
51757
|
...result.securityRan !== void 0 ? { securityRan: result.securityRan } : {},
|
|
51747
51758
|
...result.planStatus !== void 0 ? { planStatus: result.planStatus } : {},
|
|
51748
51759
|
...result.planVoteReason !== void 0 ? { planVoteReason: result.planVoteReason } : {},
|
|
@@ -51787,7 +51798,27 @@ function buildPipelineOptions(input, trustTier, auditLogger) {
|
|
|
51787
51798
|
async function executeDevPipelineBody(taskText, stages, pipelineOptions, simulated) {
|
|
51788
51799
|
const result = await runDevPipeline(taskText, stages, pipelineOptions);
|
|
51789
51800
|
flushPipelineMemory();
|
|
51790
|
-
|
|
51801
|
+
const output2 = buildStructuredOutput(result, simulated);
|
|
51802
|
+
if (!result.completed && result.dryRun !== true && result.harnessMode !== true) {
|
|
51803
|
+
return toolStructuredError({
|
|
51804
|
+
errorCategory: "business",
|
|
51805
|
+
message: describeIncompleteRun(result),
|
|
51806
|
+
detail: output2
|
|
51807
|
+
});
|
|
51808
|
+
}
|
|
51809
|
+
return toolSuccessStructured(output2);
|
|
51810
|
+
}
|
|
51811
|
+
function describeIncompleteRun(result) {
|
|
51812
|
+
if (result.planStatus !== void 0) {
|
|
51813
|
+
return `Pipeline stopped at the planning gate (planStatus: ${result.planStatus})`;
|
|
51814
|
+
}
|
|
51815
|
+
if (result.securityRan === true && !result.securityPassed) {
|
|
51816
|
+
return "Pipeline did not complete: the security gate rejected the change";
|
|
51817
|
+
}
|
|
51818
|
+
if (result.taskStatus !== void 0 && result.taskStatus !== "all_done") {
|
|
51819
|
+
return `Pipeline did not complete: tasks ${result.taskStatus}`;
|
|
51820
|
+
}
|
|
51821
|
+
return "Pipeline did not complete";
|
|
51791
51822
|
}
|
|
51792
51823
|
async function runDevPipelineHandler(args, logger55, trustTier, auditLogger) {
|
|
51793
51824
|
const parsed = DevPipelineInputSchema.safeParse(args);
|
|
@@ -56423,4 +56454,4 @@ export {
|
|
|
56423
56454
|
startPipelineEventBridge,
|
|
56424
56455
|
shutdownPipelineEventBridge
|
|
56425
56456
|
};
|
|
56426
|
-
//# sourceMappingURL=chunk-
|
|
56457
|
+
//# sourceMappingURL=chunk-IVAWIOCS.js.map
|