nexus-agents 7.0.1 → 7.0.2

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.
@@ -23,7 +23,7 @@ import {
23
23
  toolSuccessStructured,
24
24
  withProgressHeartbeat,
25
25
  wrapToolWithTimeout
26
- } from "./chunk-PDMWQ2NK.js";
26
+ } from "./chunk-GAYSJGKD.js";
27
27
  import {
28
28
  assessPanelIndependence,
29
29
  countDistinctModels,
@@ -6892,4 +6892,4 @@ export {
6892
6892
  CONSENSUS_VOTE_TOOL_SCHEMA,
6893
6893
  registerConsensusVoteTool
6894
6894
  };
6895
- //# sourceMappingURL=chunk-SS5FADQN.js.map
6895
+ //# sourceMappingURL=chunk-OHULIRP6.js.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-OQB3XC5O.js";
7
7
  import {
8
8
  VERSION
9
- } from "./chunk-MNG6VKJP.js";
9
+ } from "./chunk-37JIYDVH.js";
10
10
  import {
11
11
  capitalize
12
12
  } from "./chunk-6T3EPABN.js";
@@ -1201,7 +1201,7 @@ async function runDoctorFix(result) {
1201
1201
  writeLine2("\u2500".repeat(40));
1202
1202
  let fixCount = 0;
1203
1203
  if (!result.dataDirectory.rootExists || result.dataDirectory.subdirectories.some((d) => !d.exists || !d.writable)) {
1204
- const { initDataDirectories: initDataDirectories2, describeDataDirFix: describeDataDirFix2 } = await import("./setup-data-dir-O2EABCPO.js");
1204
+ const { initDataDirectories: initDataDirectories2, describeDataDirFix: describeDataDirFix2 } = await import("./setup-data-dir-ZEH7TFA6.js");
1205
1205
  const outcome = describeDataDirFix2(initDataDirectories2());
1206
1206
  writeLine2(outcome.line);
1207
1207
  if (outcome.counted) fixCount++;
@@ -1303,4 +1303,4 @@ export {
1303
1303
  startStdioServer,
1304
1304
  closeServer
1305
1305
  };
1306
- //# sourceMappingURL=chunk-UJPVBDYG.js.map
1306
+ //# sourceMappingURL=chunk-WLIXCNZ6.js.map
package/dist/cli.js CHANGED
@@ -153,7 +153,7 @@ import {
153
153
  validateNexusEnv,
154
154
  validateWorkflow,
155
155
  wrapInMarkdownFence
156
- } from "./chunk-HA2MM4C2.js";
156
+ } from "./chunk-KUYKSKPV.js";
157
157
  import "./chunk-VYAXMVI5.js";
158
158
  import "./chunk-HFOQKCD2.js";
159
159
  import "./chunk-RSMG2DPB.js";
@@ -172,7 +172,7 @@ import {
172
172
  doctorCommand,
173
173
  initDataDirectories,
174
174
  runDoctor
175
- } from "./chunk-UJPVBDYG.js";
175
+ } from "./chunk-WLIXCNZ6.js";
176
176
  import {
177
177
  buildOpenAICompatAdapters,
178
178
  readOpenAICompatEnv
@@ -191,7 +191,7 @@ import {
191
191
  recordAuthenticVote,
192
192
  registerConsensusVoteTool,
193
193
  toRecordDecision
194
- } from "./chunk-SS5FADQN.js";
194
+ } from "./chunk-OHULIRP6.js";
195
195
  import {
196
196
  loadUsageEvents,
197
197
  rollupByModel
@@ -227,15 +227,15 @@ import {
227
227
  registerImprovementReviewTool,
228
228
  runImprovementReview,
229
229
  scanForSecrets
230
- } from "./chunk-6E2M3P5A.js";
230
+ } from "./chunk-AGFXJUTS.js";
231
231
  import {
232
232
  createDefaultPolicyFirewall,
233
233
  setGlobalPolicyFirewall,
234
234
  stagePolicyFirewallForRollout
235
- } from "./chunk-PDMWQ2NK.js";
235
+ } from "./chunk-GAYSJGKD.js";
236
236
  import {
237
237
  VERSION
238
- } from "./chunk-MNG6VKJP.js";
238
+ } from "./chunk-37JIYDVH.js";
239
239
  import "./chunk-6Q3KSZVI.js";
240
240
  import {
241
241
  createUnifiedRegistry,
@@ -19587,7 +19587,7 @@ function startImprovementReviewScheduler(options) {
19587
19587
  let running = false;
19588
19588
  const runOnce = async () => {
19589
19589
  try {
19590
- const { runImprovementReview: runImprovementReview2, ImprovementReviewInputSchema: ImprovementReviewInputSchema2 } = await import("./improvement-review-PO4LS6GO.js");
19590
+ const { runImprovementReview: runImprovementReview2, ImprovementReviewInputSchema: ImprovementReviewInputSchema2 } = await import("./improvement-review-QUU5HR7Z.js");
19591
19591
  const input = ImprovementReviewInputSchema2.parse({ fileIssues });
19592
19592
  const result = await runImprovementReview2(input, { logger: logger22 });
19593
19593
  logger22.info("Scheduled improvement_review complete", {
@@ -11,11 +11,11 @@ import {
11
11
  resetCorrelationTracker,
12
12
  runConsensusForGoal,
13
13
  unwrapVoteOrThrow
14
- } from "./chunk-SS5FADQN.js";
14
+ } from "./chunk-OHULIRP6.js";
15
15
  import "./chunk-RBF64DXJ.js";
16
16
  import "./chunk-OQB3XC5O.js";
17
- import "./chunk-PDMWQ2NK.js";
18
- import "./chunk-MNG6VKJP.js";
17
+ import "./chunk-GAYSJGKD.js";
18
+ import "./chunk-37JIYDVH.js";
19
19
  import "./chunk-6Q3KSZVI.js";
20
20
  import "./chunk-D6TL5GZV.js";
21
21
  import "./chunk-7U7HAYPB.js";
@@ -50,4 +50,4 @@ export {
50
50
  runConsensusForGoal,
51
51
  unwrapVoteOrThrow
52
52
  };
53
- //# sourceMappingURL=consensus-vote-355WNDBN.js.map
53
+ //# sourceMappingURL=consensus-vote-62FAN4ZN.js.map
@@ -11,9 +11,9 @@ import {
11
11
  loadSelfEvalSignals,
12
12
  registerImprovementReviewTool,
13
13
  runImprovementReview
14
- } from "./chunk-6E2M3P5A.js";
15
- import "./chunk-PDMWQ2NK.js";
16
- import "./chunk-MNG6VKJP.js";
14
+ } from "./chunk-AGFXJUTS.js";
15
+ import "./chunk-GAYSJGKD.js";
16
+ import "./chunk-37JIYDVH.js";
17
17
  import "./chunk-6Q3KSZVI.js";
18
18
  import "./chunk-Y742U2YM.js";
19
19
  import "./chunk-GBHJ37V3.js";
@@ -33,4 +33,4 @@ export {
33
33
  registerImprovementReviewTool,
34
34
  runImprovementReview
35
35
  };
36
- //# sourceMappingURL=improvement-review-PO4LS6GO.js.map
36
+ //# sourceMappingURL=improvement-review-QUU5HR7Z.js.map
package/dist/index.d.ts CHANGED
@@ -27419,7 +27419,23 @@ declare function aggregatePrDecisions(reviews: readonly PrReviewVote[], errorPol
27419
27419
  /** Builds the proposal text passed to voters. The voters are designed for
27420
27420
  * yes/no proposals — by framing the diff as "should this PR be merged?" we
27421
27421
  * get usable output without needing new system prompts (Child 3 will add
27422
- * those). */
27422
+ * those).
27423
+ *
27424
+ * **Sanitization lives HERE, not at the tool boundary (#5258 item B).** The
27425
+ * `securityTier: 'external'` declared on the registered tool only protects the
27426
+ * MCP path, because the middleware is constructed inside `registerPrReviewTool`.
27427
+ * Three other callers reach the voters without it — `.github/workflows/
27428
+ * pr-review.yml`, `scripts/pr-review-local.ts` (the documented default path)
27429
+ * and `scripts/pr-review-eval-run.ts` — each importing this builder directly
27430
+ * from `dist/index.js`. On those paths a hostile PR body reached five voters
27431
+ * unfenced, next to the words "should it be merged as-is?".
27432
+ *
27433
+ * This function is the one chokepoint all four callers pass through, so the
27434
+ * protection is attached to the data rather than to one entry point. The MCP
27435
+ * tier check still runs earlier and still refuses; this is the floor beneath
27436
+ * it, and it strips rather than refuses so the script paths degrade instead of
27437
+ * failing shut. Double-sanitizing on the MCP path is idempotent and harmless.
27438
+ */
27423
27439
  declare function buildPrReviewProposal(input: Pick<PrReviewInput, 'prTitle' | 'prDescription' | 'prDiff' | 'repoContext' | 'baseRef' | 'headRef'>): string;
27424
27440
  /** @category MCP */
27425
27441
  declare function registerPrReviewTool(server: McpServer, deps: PrReviewDeps): void;
package/dist/index.js CHANGED
@@ -553,7 +553,7 @@ import {
553
553
  withLogging,
554
554
  withRetry,
555
555
  withRetryWrapper
556
- } from "./chunk-HA2MM4C2.js";
556
+ } from "./chunk-KUYKSKPV.js";
557
557
  import {
558
558
  FALLBACK_SCANNER_DATA,
559
559
  buildPlanFromAnalysis,
@@ -574,7 +574,7 @@ import {
574
574
  connectTransport,
575
575
  createServer,
576
576
  startStdioServer
577
- } from "./chunk-UJPVBDYG.js";
577
+ } from "./chunk-WLIXCNZ6.js";
578
578
  import {
579
579
  OPENAI_MODELS,
580
580
  OPENAI_MODEL_ALIASES,
@@ -632,7 +632,7 @@ import {
632
632
  generateProposalId,
633
633
  parseAgentPairKey,
634
634
  registerConsensusVoteTool
635
- } from "./chunk-SS5FADQN.js";
635
+ } from "./chunk-OHULIRP6.js";
636
636
  import "./chunk-RBF64DXJ.js";
637
637
  import {
638
638
  allOf
@@ -683,7 +683,7 @@ import {
683
683
  import {
684
684
  ImprovementReviewInputSchema,
685
685
  registerImprovementReviewTool
686
- } from "./chunk-6E2M3P5A.js";
686
+ } from "./chunk-AGFXJUTS.js";
687
687
  import {
688
688
  AgentPerformanceSchema,
689
689
  ConsensusAlgorithmSchema,
@@ -719,10 +719,10 @@ import {
719
719
  toolSuccess,
720
720
  toolSuccessStructured,
721
721
  validateToolInput
722
- } from "./chunk-PDMWQ2NK.js";
722
+ } from "./chunk-GAYSJGKD.js";
723
723
  import {
724
724
  VERSION
725
- } from "./chunk-MNG6VKJP.js";
725
+ } from "./chunk-37JIYDVH.js";
726
726
  import {
727
727
  AuditTrail,
728
728
  MAX_STRIPPED_ELEMENTS_PER_EVENT,
@@ -4755,7 +4755,7 @@ function buildVotingInput(plan, config) {
4755
4755
  }
4756
4756
  async function executeSingleVote(plan, config, log) {
4757
4757
  try {
4758
- const { executeVoting } = await import("./consensus-vote-355WNDBN.js");
4758
+ const { executeVoting } = await import("./consensus-vote-62FAN4ZN.js");
4759
4759
  const input = buildVotingInput(plan, config);
4760
4760
  const result = await executeVoting(input, log);
4761
4761
  return parseVotingResult(result);
@@ -2,11 +2,11 @@ import {
2
2
  NEXUS_DATA_DIR,
3
3
  describeDataDirFix,
4
4
  initDataDirectories
5
- } from "./chunk-UJPVBDYG.js";
5
+ } from "./chunk-WLIXCNZ6.js";
6
6
  import "./chunk-VVXHIUFQ.js";
7
7
  import "./chunk-RBF64DXJ.js";
8
8
  import "./chunk-OQB3XC5O.js";
9
- import "./chunk-MNG6VKJP.js";
9
+ import "./chunk-37JIYDVH.js";
10
10
  import "./chunk-6T3EPABN.js";
11
11
  import "./chunk-BTWKDT4F.js";
12
12
  import "./chunk-LVYRGNOC.js";
@@ -26,4 +26,4 @@ export {
26
26
  describeDataDirFix,
27
27
  initDataDirectories
28
28
  };
29
- //# sourceMappingURL=setup-data-dir-O2EABCPO.js.map
29
+ //# sourceMappingURL=setup-data-dir-ZEH7TFA6.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nexus-agents",
3
- "version": "7.0.1",
3
+ "version": "7.0.2",
4
4
  "description": "Governance substrate for AI coding agents — adversarial PR review, drift-detected rules, tamper-evident audit, and closed-loop outcome routing for Claude, Codex, Gemini, and OpenCode",
5
5
  "mcpName": "io.github.nexus-substrate/nexus-agents",
6
6
  "license": "MIT",
@@ -1,7 +0,0 @@
1
- // src/version.ts
2
- var VERSION = true ? "7.0.1" : "dev";
3
-
4
- export {
5
- VERSION
6
- };
7
- //# sourceMappingURL=chunk-MNG6VKJP.js.map