nexus-agents 8.55.7 → 8.55.8

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.
@@ -25,10 +25,10 @@ import {
25
25
  toolSuccessStructured,
26
26
  withProgressHeartbeat,
27
27
  wrapToolWithTimeout
28
- } from "./chunk-WJRD5RYE.js";
28
+ } from "./chunk-MUSPT4J4.js";
29
29
  import {
30
30
  VERSION
31
- } from "./chunk-YJPKZHKU.js";
31
+ } from "./chunk-ZBZSSNRB.js";
32
32
  import {
33
33
  UNRESOLVED_MODEL_ID,
34
34
  assessPanelIndependence,
@@ -8630,4 +8630,4 @@ export {
8630
8630
  CONSENSUS_VOTE_TOOL_SCHEMA,
8631
8631
  registerConsensusVoteTool
8632
8632
  };
8633
- //# sourceMappingURL=chunk-7KVII2DY.js.map
8633
+ //# sourceMappingURL=chunk-4XRGCSFR.js.map
@@ -21,7 +21,7 @@ import {
21
21
  import {
22
22
  DEFAULT_TASK_TTL_MS,
23
23
  clampTaskTtl
24
- } from "./chunk-2CD7UKWG.js";
24
+ } from "./chunk-IEF3YTEH.js";
25
25
  import {
26
26
  executeExpert
27
27
  } from "./chunk-QMGMD6JB.js";
@@ -62,7 +62,7 @@ import {
62
62
  toJobSummary,
63
63
  updateStage,
64
64
  writeJobCancelled
65
- } from "./chunk-7KVII2DY.js";
65
+ } from "./chunk-4XRGCSFR.js";
66
66
  import {
67
67
  allOf,
68
68
  anyOf
@@ -82,7 +82,7 @@ import {
82
82
  } from "./chunk-RNWUIQTZ.js";
83
83
  import {
84
84
  withPrerequisite
85
- } from "./chunk-FNL43KEP.js";
85
+ } from "./chunk-WL336Y4R.js";
86
86
  import {
87
87
  NOOP_NOTIFIER,
88
88
  RateLimiter,
@@ -107,7 +107,7 @@ import {
107
107
  withAuditTrail,
108
108
  withProgressHeartbeat,
109
109
  wrapToolWithTimeout
110
- } from "./chunk-WJRD5RYE.js";
110
+ } from "./chunk-MUSPT4J4.js";
111
111
  import {
112
112
  createAuditTrail,
113
113
  createGraphAuditBridge,
@@ -46182,7 +46182,7 @@ function buildVotingInput(plan, config) {
46182
46182
  }
46183
46183
  async function executeSingleVote(plan, config, log) {
46184
46184
  try {
46185
- const { executeVoting } = await import("./consensus-vote-X5C5PLII.js");
46185
+ const { executeVoting } = await import("./consensus-vote-CJKMBM47.js");
46186
46186
  const input = buildVotingInput(plan, config);
46187
46187
  const result = await executeVoting(input, log);
46188
46188
  return parseVotingResult(result);
@@ -47980,7 +47980,7 @@ ${contextBlock}`;
47980
47980
  const strategy = config.votingStrategy ?? "higher_order";
47981
47981
  await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
47982
47982
  try {
47983
- const { executeVoting } = await import("./consensus-vote-X5C5PLII.js");
47983
+ const { executeVoting } = await import("./consensus-vote-CJKMBM47.js");
47984
47984
  const votingResult = await executeVoting(
47985
47985
  {
47986
47986
  proposal: buildVoteProposal(plan, research),
@@ -49272,20 +49272,21 @@ function wholeDiffFileCoverage(prDiff) {
49272
49272
  strategy: "budget"
49273
49273
  };
49274
49274
  }
49275
- function packDiffForPanelAndBinding(prDiff, budgets) {
49275
+ function packDiffForPanelAndBinding(prDiff, budgets, binding) {
49276
49276
  const totalBytes = byteLen(prDiff);
49277
- const binding = totalBytes > budgets.bindingCapBytes ? "prefix" : "full";
49278
- const boundBytes = Math.min(totalBytes, budgets.bindingCapBytes);
49277
+ const bindingKind = binding.totalBytes > budgets.bindingCapBytes ? "prefix" : "full";
49278
+ const boundBytes = Math.min(binding.totalBytes, budgets.bindingCapBytes);
49279
49279
  const panel = packDiffForReview(prDiff, budgets.panelReadBudgetBytes);
49280
49280
  const panelRead = panel.coverage?.partial === true ? "partial" : "full";
49281
- if (panelRead === "full" && binding === "full") {
49281
+ if (panelRead === "full" && bindingKind === "full") {
49282
49282
  return { coverage: void 0, packedDiff: prDiff, note: "" };
49283
49283
  }
49284
49284
  const fileCoverage = panel.coverage ?? wholeDiffFileCoverage(prDiff);
49285
49285
  const coverage = {
49286
49286
  ...fileCoverage,
49287
49287
  panelRead,
49288
- binding,
49288
+ binding: bindingKind,
49289
+ bindingSource: binding.source,
49289
49290
  reviewedBytes: byteLen(panel.packedDiff),
49290
49291
  boundBytes,
49291
49292
  totalBytes,
@@ -49306,12 +49307,56 @@ function applyPartialCoverageGate(aggregate, coverage) {
49306
49307
  return aggregate;
49307
49308
  }
49308
49309
 
49310
+ // src/mcp/tools/pr-review-sanitization-view.ts
49311
+ function sanitizationViewOf(ctx) {
49312
+ const rawDiffBytes = ctx.sanitization.rawFieldBytes["prDiff"];
49313
+ return {
49314
+ rawDiffHash: ctx.sanitization.rawFieldHashes["prDiff"],
49315
+ rawDiffBytes,
49316
+ // #6177: the same UTF-8 test `reviewedDiffWasTruncated` applies to the raw
49317
+ // string, over the length the middleware measured beside the hash — the
49318
+ // raw text itself never reaches the handler (sanitize-before-dispatch).
49319
+ // `undefined` when the length is: a missing number is not "not truncated".
49320
+ rawTruncated: rawDiffBytes === void 0 ? void 0 : rawDiffBytes > MAX_REVIEWED_DIFF_BYTES,
49321
+ commentsRemoved: ctx.sanitization.commentsRemoved,
49322
+ fieldsModified: ctx.sanitization.fieldsModified,
49323
+ tagsRemoved: ctx.sanitization.tagsRemoved
49324
+ };
49325
+ }
49326
+ function measuredAsHanded(prDiff, source) {
49327
+ return {
49328
+ totalBytes: Buffer.byteLength(prDiff, "utf-8"),
49329
+ truncated: reviewedDiffWasTruncated(prDiff),
49330
+ source
49331
+ };
49332
+ }
49333
+ function resolveBindingMeasurement(prDiff, sanitization) {
49334
+ if (sanitization === void 0) return measuredAsHanded(prDiff, "input");
49335
+ const { rawDiffBytes, rawTruncated } = sanitization;
49336
+ if (rawDiffBytes === void 0 || rawTruncated === void 0) {
49337
+ return measuredAsHanded(prDiff, "sanitized-fallback");
49338
+ }
49339
+ return { totalBytes: rawDiffBytes, truncated: rawTruncated, source: "raw" };
49340
+ }
49341
+ function removalsBefore(sanitization) {
49342
+ return {
49343
+ comments: sanitization?.commentsRemoved ?? 0,
49344
+ fields: sanitization?.fieldsModified ?? 0,
49345
+ tags: sanitization?.tagsRemoved ?? 0
49346
+ };
49347
+ }
49348
+
49309
49349
  // src/mcp/tools/pr-review-record-producer.ts
49310
49350
  function bytes(n) {
49311
49351
  return n.toLocaleString("en-US");
49312
49352
  }
49353
+ function bindingSourceClause(source) {
49354
+ if (source === "raw") return " (raw)";
49355
+ if (source === "sanitized-fallback") return " (sanitized; raw length not supplied)";
49356
+ return "";
49357
+ }
49313
49358
  function bindingStamp(coverage) {
49314
- const binding = coverage.binding === "prefix" ? `binding covers first ${bytes(coverage.boundBytes)} bytes` : `binding covers all ${bytes(coverage.boundBytes)} bytes`;
49359
+ const binding = (coverage.binding === "prefix" ? `binding covers first ${bytes(coverage.boundBytes)} bytes` : `binding covers all ${bytes(coverage.boundBytes)} bytes`) + bindingSourceClause(coverage.bindingSource);
49315
49360
  return `[panel read ${bytes(coverage.reviewedBytes)}/${bytes(coverage.totalBytes)} bytes; ${binding}; budget: ${coverage.budgetSource} (${coverage.budgetDetail})]`;
49316
49361
  }
49317
49362
  var SUMMARY_DROPPED_FILES_LISTED = 3;
@@ -49341,11 +49386,17 @@ function coverageFieldsOf(coverage) {
49341
49386
  bindingBounds: { kind: coverage.binding, boundBytes: coverage.boundBytes }
49342
49387
  };
49343
49388
  }
49344
- function warnIfDiffTruncated(diff, prNumber, logger57) {
49345
- if (!reviewedDiffWasTruncated(diff)) return;
49389
+ function warnIfDiffTruncated(binding, prNumber, logger57) {
49390
+ if (binding.source === "sanitized-fallback") {
49391
+ logger57.warn(
49392
+ "Binding bounds measured over the SANITIZED diff: the sanitizer supplied no raw byte length, so a prefix binding can be under-stated (#6177)",
49393
+ { prNumber, sanitizedBytes: binding.totalBytes }
49394
+ );
49395
+ }
49396
+ if (!binding.truncated) return;
49346
49397
  logger57.warn(
49347
49398
  "Reviewed diff exceeds the hash byte cap; content past it is unbound in reviewedDiffHash",
49348
- { prNumber }
49399
+ { prNumber, measuredOver: binding.source, totalBytes: binding.totalBytes }
49349
49400
  );
49350
49401
  }
49351
49402
  function diffProvenanceOf(source, diff) {
@@ -49373,7 +49424,7 @@ function buildAndPersist(prNumber, baseSha, args) {
49373
49424
  const stamps = coverageStamps(coverage);
49374
49425
  const coverageFields = coverageFieldsOf(coverage);
49375
49426
  const disclosure = sanitizationDisclosureOf(sanitization, input.prDiff);
49376
- warnIfDiffTruncated(input.prDiff, prNumber, logger57);
49427
+ warnIfDiffTruncated(resolveBindingMeasurement(input.prDiff, sanitization), prNumber, logger57);
49377
49428
  const record = persistPrReviewRecord({
49378
49429
  prNumber,
49379
49430
  baseSha,
@@ -49463,23 +49514,6 @@ function persistReviewRecord(args) {
49463
49514
  }
49464
49515
  }
49465
49516
 
49466
- // src/mcp/tools/pr-review-sanitization-view.ts
49467
- function sanitizationViewOf(ctx) {
49468
- return {
49469
- rawDiffHash: ctx.sanitization.rawFieldHashes["prDiff"],
49470
- commentsRemoved: ctx.sanitization.commentsRemoved,
49471
- fieldsModified: ctx.sanitization.fieldsModified,
49472
- tagsRemoved: ctx.sanitization.tagsRemoved
49473
- };
49474
- }
49475
- function removalsBefore(sanitization) {
49476
- return {
49477
- comments: sanitization?.commentsRemoved ?? 0,
49478
- fields: sanitization?.fieldsModified ?? 0,
49479
- tags: sanitization?.tagsRemoved ?? 0
49480
- };
49481
- }
49482
-
49483
49517
  // src/mcp/tools/pr-review-panel-budget.ts
49484
49518
  var PANEL_PROMPT_OVERHEAD_TOKENS = 16e3;
49485
49519
  function conservativeBytesPerToken() {
@@ -49571,9 +49605,11 @@ function resolvePrReviewPanelBudget(panel, logger57, registry = getDefaultRegist
49571
49605
  }
49572
49606
  return budget;
49573
49607
  }
49574
- function preparePanelProposal(input, panel, removedBefore, logger57, registry = getDefaultRegistry()) {
49608
+ function preparePanelProposal(input, panel, sanitization, logger57, registry = getDefaultRegistry()) {
49575
49609
  const budgets = resolvePrReviewPanelBudget(panel, logger57, registry);
49576
- const { coverage, packedDiff, note } = packDiffForPanelAndBinding(input.prDiff, budgets);
49610
+ const binding = resolveBindingMeasurement(input.prDiff, sanitization);
49611
+ const { coverage, packedDiff, note } = packDiffForPanelAndBinding(input.prDiff, budgets, binding);
49612
+ const removedBefore = removalsBefore(sanitization);
49577
49613
  const body = coverage === void 0 ? input : { ...input, prDiff: packedDiff };
49578
49614
  if (coverage?.partial === true) {
49579
49615
  logger57.warn(
@@ -49583,6 +49619,8 @@ function preparePanelProposal(input, panel, removedBefore, logger57, registry =
49583
49619
  logger57.info("pr_review panel read the whole diff; the audit hash binds a prefix (#6003)", {
49584
49620
  totalBytes: coverage.totalBytes,
49585
49621
  boundBytes: coverage.boundBytes,
49622
+ bindingSource: coverage.bindingSource,
49623
+ bindingTotalBytes: binding.totalBytes,
49586
49624
  budgetSource: coverage.budgetSource
49587
49625
  });
49588
49626
  }
@@ -49591,7 +49629,7 @@ function preparePanelProposal(input, panel, removedBefore, logger57, registry =
49591
49629
  async function preparePanelForReview(input, roles, opts, logger57) {
49592
49630
  const seats = input.simulate ? void 0 : await resolvePanelSeats(roles, opts.gatewayAdapters, logger57);
49593
49631
  const panel = { seats, simulate: input.simulate };
49594
- const packed = preparePanelProposal(input, panel, removalsBefore(opts.sanitization), logger57);
49632
+ const packed = preparePanelProposal(input, panel, opts.sanitization, logger57);
49595
49633
  return { ...packed, seats };
49596
49634
  }
49597
49635
 
@@ -57141,4 +57179,4 @@ export {
57141
57179
  startPipelineEventBridge,
57142
57180
  shutdownPipelineEventBridge
57143
57181
  };
57144
- //# sourceMappingURL=chunk-LAUGODMA.js.map
57182
+ //# sourceMappingURL=chunk-DZHGR5UO.js.map