nexus-agents 8.127.0 → 8.127.1

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.
Files changed (27) hide show
  1. package/dist/{chunk-CSTOPTU7.js → chunk-2DT55EQ2.js} +8 -8
  2. package/dist/{chunk-CEYK6YQ4.js → chunk-2Z2DH4X5.js} +2 -2
  3. package/dist/{chunk-EMVCKQUR.js → chunk-3PXOJTOL.js} +2 -2
  4. package/dist/{chunk-WBEZP36V.js → chunk-AKYGVTYW.js} +55 -22
  5. package/dist/chunk-AKYGVTYW.js.map +1 -0
  6. package/dist/{chunk-Y6PEPMRA.js → chunk-EMJJ5DLC.js} +2 -2
  7. package/dist/{chunk-GNT2N32Z.js → chunk-VQ4ACSCD.js} +3 -3
  8. package/dist/cli.js +16 -10
  9. package/dist/cli.js.map +1 -1
  10. package/dist/{consensus-vote-U5AY5A4F.js → consensus-vote-S6HGBT7S.js} +4 -4
  11. package/dist/{improvement-review-R4PRRCTJ.js → improvement-review-NMVWZ6D7.js} +4 -4
  12. package/dist/index.js +6 -6
  13. package/dist/{setup-data-dir-QL3UB5CF.js → setup-data-dir-XOFFRGCE.js} +3 -3
  14. package/node_modules/ip-address/README.md +34 -34
  15. package/node_modules/ip-address/dist/ipv4.js +7 -0
  16. package/node_modules/ip-address/dist/ipv4.js.map +1 -1
  17. package/node_modules/ip-address/package.json +1 -1
  18. package/package.json +1 -1
  19. package/dist/chunk-WBEZP36V.js.map +0 -1
  20. /package/dist/{chunk-CSTOPTU7.js.map → chunk-2DT55EQ2.js.map} +0 -0
  21. /package/dist/{chunk-CEYK6YQ4.js.map → chunk-2Z2DH4X5.js.map} +0 -0
  22. /package/dist/{chunk-EMVCKQUR.js.map → chunk-3PXOJTOL.js.map} +0 -0
  23. /package/dist/{chunk-Y6PEPMRA.js.map → chunk-EMJJ5DLC.js.map} +0 -0
  24. /package/dist/{chunk-GNT2N32Z.js.map → chunk-VQ4ACSCD.js.map} +0 -0
  25. /package/dist/{consensus-vote-U5AY5A4F.js.map → consensus-vote-S6HGBT7S.js.map} +0 -0
  26. /package/dist/{improvement-review-R4PRRCTJ.js.map → improvement-review-NMVWZ6D7.js.map} +0 -0
  27. /package/dist/{setup-data-dir-QL3UB5CF.js.map → setup-data-dir-XOFFRGCE.js.map} +0 -0
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-UVQIYBDK.js";
10
10
  import {
11
11
  withPrerequisite
12
- } from "./chunk-Y6PEPMRA.js";
12
+ } from "./chunk-EMJJ5DLC.js";
13
13
  import {
14
14
  generateSecurityPlan
15
15
  } from "./chunk-MBQ7YDWZ.js";
@@ -41,7 +41,7 @@ import {
41
41
  import {
42
42
  DEFAULT_TASK_TTL_MS,
43
43
  clampTaskTtl
44
- } from "./chunk-WBEZP36V.js";
44
+ } from "./chunk-AKYGVTYW.js";
45
45
  import {
46
46
  executeExpert
47
47
  } from "./chunk-SRLSTOJL.js";
@@ -96,7 +96,7 @@ import {
96
96
  withFileLock,
97
97
  withWarnings,
98
98
  writeJobCancelled
99
- } from "./chunk-GNT2N32Z.js";
99
+ } from "./chunk-VQ4ACSCD.js";
100
100
  import {
101
101
  NOOP_NOTIFIER,
102
102
  RateLimiter,
@@ -122,12 +122,12 @@ import {
122
122
  toolSuccessStructured,
123
123
  withProgressHeartbeat,
124
124
  wrapToolWithTimeout
125
- } from "./chunk-CEYK6YQ4.js";
125
+ } from "./chunk-2Z2DH4X5.js";
126
126
  import {
127
127
  VERSION,
128
128
  createRequestContext,
129
129
  measuredTrustTier
130
- } from "./chunk-EMVCKQUR.js";
130
+ } from "./chunk-3PXOJTOL.js";
131
131
  import {
132
132
  allOf,
133
133
  anyOf
@@ -47060,7 +47060,7 @@ function buildVotingInput(plan, config) {
47060
47060
  }
47061
47061
  async function executeSingleVote(plan, config, log) {
47062
47062
  try {
47063
- const { executeVoting } = await import("./consensus-vote-U5AY5A4F.js");
47063
+ const { executeVoting } = await import("./consensus-vote-S6HGBT7S.js");
47064
47064
  const input = buildVotingInput(plan, config);
47065
47065
  const result = await executeVoting(input, log);
47066
47066
  return parseVotingResult(result);
@@ -48207,7 +48207,7 @@ function createVoteStage({ config, startStage }) {
48207
48207
  const strategy = config.votingStrategy ?? "higher_order";
48208
48208
  await postProgress(config, "Vote", `Running consensus with ${strategy} strategy...`);
48209
48209
  try {
48210
- const { executeVoting } = await import("./consensus-vote-U5AY5A4F.js");
48210
+ const { executeVoting } = await import("./consensus-vote-S6HGBT7S.js");
48211
48211
  const proposal = buildVoteProposal(plan, research);
48212
48212
  const votingResult = await executeVoting(
48213
48213
  {
@@ -57918,4 +57918,4 @@ export {
57918
57918
  initializeSandbox,
57919
57919
  getSandboxMode
57920
57920
  };
57921
- //# sourceMappingURL=chunk-CSTOPTU7.js.map
57921
+ //# sourceMappingURL=chunk-2DT55EQ2.js.map
@@ -5,7 +5,7 @@ import {
5
5
  getCurrentRequestContext,
6
6
  runWithRequestContext,
7
7
  serverCallerInfo
8
- } from "./chunk-EMVCKQUR.js";
8
+ } from "./chunk-3PXOJTOL.js";
9
9
  import {
10
10
  DEFAULT_EXECUTION_MODE
11
11
  } from "./chunk-ECJ52NSK.js";
@@ -2253,4 +2253,4 @@ export {
2253
2253
  DEFAULT_CONSENSUS_CONFIG,
2254
2254
  ConsensusMetricsSchema
2255
2255
  };
2256
- //# sourceMappingURL=chunk-CEYK6YQ4.js.map
2256
+ //# sourceMappingURL=chunk-2Z2DH4X5.js.map
@@ -4,7 +4,7 @@ import {
4
4
 
5
5
  // src/version.ts
6
6
  import semver from "semver";
7
- var VERSION = true ? "8.127.0" : "dev";
7
+ var VERSION = true ? "8.127.1" : "dev";
8
8
  var NODE_ENGINE_RANGE = ">=22.5.0";
9
9
  function isNodeVersionSupported(version) {
10
10
  return semver.satisfies(version, NODE_ENGINE_RANGE);
@@ -106,4 +106,4 @@ export {
106
106
  contextForLogging,
107
107
  measuredTrustTier
108
108
  };
109
- //# sourceMappingURL=chunk-EMVCKQUR.js.map
109
+ //# sourceMappingURL=chunk-3PXOJTOL.js.map
@@ -16,7 +16,7 @@ import {
16
16
  VERSION,
17
17
  isNodeVersionSupported,
18
18
  recordServerTransport
19
- } from "./chunk-EMVCKQUR.js";
19
+ } from "./chunk-3PXOJTOL.js";
20
20
  import {
21
21
  allOf,
22
22
  anyOf
@@ -566,7 +566,7 @@ function readGlobalVersion(exec) {
566
566
  }
567
567
 
568
568
  // src/cli/doctor-verdict-terms.ts
569
- function failingVerdictTerms(result) {
569
+ function failingVerdictTerms(result, live) {
570
570
  const gateway = gatewayVerdict(result.gateway);
571
571
  const terms = gatewayTerms(result.gateway, gateway);
572
572
  if (!result.nodeVersion.supported) terms.push("node version");
@@ -575,11 +575,35 @@ function failingVerdictTerms(result) {
575
575
  terms.push("install freshness");
576
576
  }
577
577
  if (!scratchSeverityIsAcceptable(worstSeverity(result.scratchSpace))) terms.push("scratch space");
578
+ terms.push(...cliVerdictTerms(result, gateway, live), ...liveFailureTerms(live));
579
+ return terms;
580
+ }
581
+ function cliVerdictTerms(result, gateway, live) {
582
+ const terms = [];
583
+ const measured = new Set((live ?? []).map((r) => r.cli));
578
584
  const covered = gatewayCoveredClis(result.gateway, result.clis).map((c) => c.cli);
579
585
  for (const c of result.clis) {
586
+ if (measured.has(c.name)) continue;
580
587
  if (cliFailsVerdict(c, gateway, covered.includes(c.name))) terms.push(`CLI ${c.name}`);
581
588
  }
582
- if (result.clis.length === 0 && gateway !== "pass") terms.push("no CLIs detected");
589
+ if (result.clis.length === 0 && gateway !== "pass" && !(live ?? []).some((r) => r.levels.serves.status === "verified"))
590
+ terms.push("no CLIs detected");
591
+ return terms;
592
+ }
593
+ function liveFailureTerms(live) {
594
+ const terms = [];
595
+ for (const r of live ?? []) {
596
+ const serving = r.levels.serves;
597
+ if (serving.status === "failed") {
598
+ const target = r.gateway === void 0 ? `CLI ${r.cli}` : `gateway ${r.gateway.gatewayModel} (${r.cli} slot)`;
599
+ terms.push(`${target}: failed (${serving.errorClass ?? "execution"})`);
600
+ } else if (serving.status === "not-attempted") {
601
+ const failedLevel = ["installed", "authenticated"].find(
602
+ (level) => r.levels[level].status === "failed"
603
+ );
604
+ if (failedLevel !== void 0) terms.push(`CLI ${r.cli}: ${failedLevel} failed`);
605
+ }
606
+ }
583
607
  return terms;
584
608
  }
585
609
  function unmeasuredVerdictSections(result) {
@@ -590,20 +614,32 @@ function unmeasuredVerdictSections(result) {
590
614
  if (scratchSpaceIsUnmeasured(result.scratchSpace)) sections.push("scratch space");
591
615
  return sections;
592
616
  }
593
- function gatewayCoveredCliNotes(result) {
594
- return gatewayCoveredClis(result.gateway, result.clis).map(
595
- (c) => `${c.cli} CLI unhealthy, slot served by gateway`
596
- );
617
+ function gatewayCoveredCliNotes(result, live) {
618
+ return gatewayCoveredClis(result.gateway, result.clis).filter((c) => {
619
+ const measured = live?.find((r) => r.cli === c.cli);
620
+ return measured === void 0 || measured.gateway !== void 0 && measured.levels.serves.status === "verified";
621
+ }).map((c) => `${c.cli} CLI unhealthy, slot served by gateway`);
597
622
  }
598
- function summaryNotes(result) {
623
+ function summaryNotes(result, live) {
599
624
  const unmeasured = unmeasuredVerdictSections(result);
600
- const covered = gatewayCoveredCliNotes(result);
625
+ const covered = gatewayCoveredCliNotes(result, live);
601
626
  return describeInstallFreshnessSummary(result.installFreshness) + (unmeasured.length > 0 ? ` \u2014 unmeasured: ${unmeasured.join(", ")}` : "") + (covered.length > 0 ? ` \u2014 \u26A0 ${covered.join("; ")}` : "");
602
627
  }
603
628
  function gatewayTerms(health, verdict) {
604
629
  return verdict === "fail" && health.state !== "not_configured" ? [`gateway ${health.host}`] : [];
605
630
  }
606
631
 
632
+ // src/cli/doctor-summary.ts
633
+ function printDoctorSummary(result, live) {
634
+ const terms = failingVerdictTerms(result, live);
635
+ const freshnessNote = summaryNotes(result, live);
636
+ const named = terms.length > 0 ? ` (${terms.join(", ")})` : "";
637
+ const ready = live === void 0 ? result.allHealthy : terms.length === 0;
638
+ const summary = live?.length === 0 ? `${colors.yellow}${colors.bold}Summary: live readiness unmeasured \u2014 no adapters probed${colors.reset}${named}${freshnessNote}` : ready ? `${colors.green}${colors.bold}Status: Ready${colors.reset}${freshnessNote}` : `${colors.yellow}${colors.bold}Summary: ${String(terms.length)} issue(s) found${named}${colors.reset}${freshnessNote}`;
639
+ writeLine(`${summary}
640
+ `);
641
+ }
642
+
607
643
  // src/cli/doctor-formatting.ts
608
644
  function formatStatus(healthy, warn = false) {
609
645
  if (healthy) return `${colors.green}${symbols.check}${colors.reset}`;
@@ -849,20 +885,12 @@ function printSandbox(check) {
849
885
  printSandboxWarnings(check);
850
886
  writeLine("");
851
887
  }
852
- function printDoctorSummary(result) {
853
- const terms = failingVerdictTerms(result);
854
- const freshnessNote = summaryNotes(result);
855
- const named = terms.length > 0 ? ` (${terms.join(", ")})` : "";
856
- const summary = result.allHealthy ? `${colors.green}${colors.bold}Status: Ready${colors.reset}${freshnessNote}` : `${colors.yellow}${colors.bold}Summary: ${String(terms.length)} issue(s) found${named}${colors.reset}${freshnessNote}`;
857
- writeLine(`${summary}
858
- `);
859
- }
860
888
  function printMcpModes(result) {
861
889
  const server = result.mcpServerReady ? "Ready" : "Not ready";
862
890
  writeLine(`${formatStatus(result.mcpServerReady)} MCP Server mode: ${server}`);
863
891
  writeLine(formatMcpClientLine(result));
864
892
  }
865
- function printDoctorResults(result) {
893
+ function printDoctorResults(result, live, deferSummary = false) {
866
894
  writeLine("");
867
895
  writeLine(`${colors.bold}Nexus Agents Doctor${colors.reset}`);
868
896
  writeLine("===================");
@@ -905,10 +933,13 @@ function printDoctorResults(result) {
905
933
  printDataDirectory(result.dataDirectory);
906
934
  writeLine(formatScratchFilesystems(result.scratchSpace));
907
935
  writeLine("");
936
+ printDoctorFooter(result, live, deferSummary);
937
+ }
938
+ function printDoctorFooter(result, live, defer) {
908
939
  printSandbox(result.sandbox);
909
940
  printHarnessAlignment(result.harnessAlignment);
910
941
  printInstallFreshness(result.installFreshness);
911
- printDoctorSummary(result);
942
+ if (!defer) printDoctorSummary(result, live);
912
943
  }
913
944
  function printInstallFreshness(check) {
914
945
  writeLine(`${colors.cyan}Checking global install freshness...${colors.reset}
@@ -1503,7 +1534,7 @@ async function doctorCommand(options = {}) {
1503
1534
  skipClaudeModelProbe: options.skipClaudeModelProbe === true
1504
1535
  });
1505
1536
  options.onResult?.(result);
1506
- printDoctorResults(result);
1537
+ printDoctorResults(result, void 0, options.deferSummary === true);
1507
1538
  if (options.gateway === true || options.probe === true) {
1508
1539
  const { formatGatewayReport } = await import("./doctor-gateway-report-TWFVERYJ.js");
1509
1540
  for (const line of formatGatewayReport(result.gateway, result.clis)) {
@@ -1524,7 +1555,7 @@ async function runDoctorFix(result) {
1524
1555
  writeLine2("\u2500".repeat(40));
1525
1556
  let fixCount = 0;
1526
1557
  if (!result.dataDirectory.rootExists || result.dataDirectory.subdirectories.some((d) => !d.exists || !d.writable)) {
1527
- const { initDataDirectories: initDataDirectories2, describeDataDirFix: describeDataDirFix2 } = await import("./setup-data-dir-QL3UB5CF.js");
1558
+ const { initDataDirectories: initDataDirectories2, describeDataDirFix: describeDataDirFix2 } = await import("./setup-data-dir-XOFFRGCE.js");
1528
1559
  const outcome = describeDataDirFix2(initDataDirectories2());
1529
1560
  writeLine2(outcome.line);
1530
1561
  if (outcome.counted) fixCount++;
@@ -1612,6 +1643,8 @@ function describeDataDirFix(result) {
1612
1643
  export {
1613
1644
  DEFAULT_TASK_TTL_MS,
1614
1645
  clampTaskTtl,
1646
+ failingVerdictTerms,
1647
+ printDoctorSummary,
1615
1648
  DATA_SUBDIRECTORIES,
1616
1649
  checkApiKeys,
1617
1650
  checkSqlite,
@@ -1626,4 +1659,4 @@ export {
1626
1659
  startStdioServer,
1627
1660
  closeServer
1628
1661
  };
1629
- //# sourceMappingURL=chunk-WBEZP36V.js.map
1662
+ //# sourceMappingURL=chunk-AKYGVTYW.js.map