nexus-agents 11.2.2 → 11.3.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.
@@ -7,7 +7,7 @@ import {
7
7
  VERSION,
8
8
  isNodeVersionSupported,
9
9
  recordServerTransport
10
- } from "./chunk-KEX53NTU.js";
10
+ } from "./chunk-VMU25QVH.js";
11
11
  import {
12
12
  checkGatewayHealth,
13
13
  cliFailsVerdict,
@@ -2263,7 +2263,7 @@ async function runDoctorFix(result) {
2263
2263
  writeLine2("\u2500".repeat(40));
2264
2264
  let fixCount = 0;
2265
2265
  if (!result.dataDirectory.rootExists || result.dataDirectory.subdirectories.some((d) => !d.exists || !d.writable)) {
2266
- const { initDataDirectories: initDataDirectories2, describeDataDirFix: describeDataDirFix2 } = await import("./setup-data-dir-YMN6RWGU.js");
2266
+ const { initDataDirectories: initDataDirectories2, describeDataDirFix: describeDataDirFix2 } = await import("./setup-data-dir-R2XY27IM.js");
2267
2267
  const outcome = describeDataDirFix2(initDataDirectories2());
2268
2268
  writeLine2(outcome.line);
2269
2269
  if (outcome.counted) fixCount++;
@@ -2383,4 +2383,4 @@ export {
2383
2383
  startStdioServer,
2384
2384
  closeServer
2385
2385
  };
2386
- //# sourceMappingURL=chunk-KEVCUXSC.js.map
2386
+ //# sourceMappingURL=chunk-R3O4NJYH.js.map
@@ -4,7 +4,7 @@ import {
4
4
 
5
5
  // src/version.ts
6
6
  import semver from "semver";
7
- var VERSION = true ? "11.2.2" : "dev";
7
+ var VERSION = true ? "11.3.1" : "dev";
8
8
  var NODE_ENGINE_RANGE = ">=24";
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-KEX53NTU.js.map
109
+ //# sourceMappingURL=chunk-VMU25QVH.js.map
package/dist/cli.js CHANGED
@@ -173,7 +173,7 @@ import {
173
173
  validateWorkflow,
174
174
  withPanelWorkspace,
175
175
  wrapInMarkdownFence
176
- } from "./chunk-UGHLWL65.js";
176
+ } from "./chunk-FW7QME5N.js";
177
177
  import "./chunk-RGTJML3H.js";
178
178
  import "./chunk-WDAND5YU.js";
179
179
  import {
@@ -198,7 +198,7 @@ import {
198
198
  seatFallbacks,
199
199
  servedSubstitutions,
200
200
  toRecordDecision
201
- } from "./chunk-BYUMXEEW.js";
201
+ } from "./chunk-6P7CCAQH.js";
202
202
  import {
203
203
  synthesizeResearch
204
204
  } from "./chunk-YEWHPFMD.js";
@@ -236,14 +236,14 @@ import {
236
236
  renderPlanAsResearch,
237
237
  runImprovementReview,
238
238
  scanForSecrets
239
- } from "./chunk-CVNYJRYT.js";
239
+ } from "./chunk-AKLRGCFR.js";
240
240
  import {
241
241
  getGlobalExecutionMode,
242
242
  setGlobalExecutionMode,
243
243
  setGlobalPolicyFirewall,
244
244
  setSecureHandlerAuditLogger,
245
245
  stagePolicyFirewallForRollout
246
- } from "./chunk-MHXLLJ3F.js";
246
+ } from "./chunk-3KA7JCK3.js";
247
247
  import "./chunk-6ZTMMN2N.js";
248
248
  import "./chunk-4GDMHCKX.js";
249
249
  import "./chunk-I2THTVA4.js";
@@ -315,7 +315,7 @@ import {
315
315
  loadConfig,
316
316
  printDoctorSummary,
317
317
  runDoctor
318
- } from "./chunk-KEVCUXSC.js";
318
+ } from "./chunk-R3O4NJYH.js";
319
319
  import {
320
320
  allOf,
321
321
  anyOf
@@ -324,7 +324,7 @@ import {
324
324
  NODE_ENGINE_RANGE,
325
325
  VERSION,
326
326
  isNodeVersionSupported
327
- } from "./chunk-KEX53NTU.js";
327
+ } from "./chunk-VMU25QVH.js";
328
328
  import "./chunk-R4ZN6AQO.js";
329
329
  import {
330
330
  claimGlobalRegistry,
@@ -12185,8 +12185,19 @@ function computeBanditProgress(banditStats, explorationStats) {
12185
12185
  };
12186
12186
  }
12187
12187
  function computeRewardTrend(routingMetrics) {
12188
- const current = routingMetrics?.avgReward ?? 0;
12189
- const trendChange = routingMetrics?.avgRewardTrend ?? 0;
12188
+ const sampleCount = routingMetrics?.totalOutcomes ?? 0;
12189
+ if (routingMetrics === void 0 || sampleCount === 0) {
12190
+ return {
12191
+ current: 0,
12192
+ previous: 0,
12193
+ direction: "stable",
12194
+ changePercent: 0,
12195
+ sampleCount: 0,
12196
+ measurementStatus: "unmeasured"
12197
+ };
12198
+ }
12199
+ const current = routingMetrics.avgReward;
12200
+ const trendChange = routingMetrics.avgRewardTrend;
12190
12201
  const previous = current - trendChange;
12191
12202
  let direction;
12192
12203
  if (trendChange > 0.05) {
@@ -12197,7 +12208,14 @@ function computeRewardTrend(routingMetrics) {
12197
12208
  direction = "stable";
12198
12209
  }
12199
12210
  const changePercent = previous !== 0 ? trendChange / Math.abs(previous) * 100 : 0;
12200
- return { current, previous, direction, changePercent };
12211
+ return {
12212
+ current,
12213
+ previous,
12214
+ direction,
12215
+ changePercent,
12216
+ sampleCount,
12217
+ measurementStatus: "measured"
12218
+ };
12201
12219
  }
12202
12220
  function extractOutcomeDistribution(outcomesByClass) {
12203
12221
  const classes = outcomesByClass ?? {};
@@ -12346,9 +12364,14 @@ function formatFeatureImportance(features) {
12346
12364
  lines.push(color("\u251C" + horizontalLine() + "\u2524", ANSI3.cyan));
12347
12365
  return lines;
12348
12366
  }
12349
- function formatRewardTrend(trend) {
12367
+ function formatRewardTrend(trend, sampleCount) {
12350
12368
  const lines = [];
12351
12369
  lines.push(boxLine(color(" Reward Trend:", ANSI3.bold)));
12370
+ if (sampleCount === 0) {
12371
+ lines.push(boxLine(" unmeasured (0 routing outcomes)"));
12372
+ lines.push(color("\u251C" + horizontalLine() + "\u2524", ANSI3.cyan));
12373
+ return lines;
12374
+ }
12352
12375
  const currentReward = trend.current.toFixed(3);
12353
12376
  const previousReward = trend.previous.toFixed(3);
12354
12377
  lines.push(boxLine(` Current: ${currentReward} | Previous: ${previousReward}`));
@@ -12399,15 +12422,31 @@ function formatAsciiOutput2(result, options) {
12399
12422
  lines.push(...formatFeatureImportance(result.banditProgress.topFeatures));
12400
12423
  }
12401
12424
  if (options.showTrends) {
12402
- lines.push(...formatRewardTrend(result.rewardTrend));
12425
+ lines.push(...formatRewardTrend(result.rewardTrend, trendSampleCount(result)));
12403
12426
  }
12404
12427
  lines.push(...formatFeedbackLoop(result.feedbackLoop));
12405
12428
  return lines.join("\n");
12406
12429
  }
12407
12430
  function formatJsonOutput2(result) {
12431
+ const noRoutings = result.summary.totalRoutings === 0;
12432
+ const sampleCount = trendSampleCount(result);
12408
12433
  return JSON.stringify(
12409
12434
  {
12410
12435
  ...result,
12436
+ summary: {
12437
+ ...result.summary,
12438
+ overallSuccessRate: noRoutings ? null : result.summary.overallSuccessRate,
12439
+ avgReward: noRoutings ? null : result.summary.avgReward
12440
+ },
12441
+ models: result.models.map(jsonModelStats),
12442
+ rewardTrend: sampleCount === 0 ? {
12443
+ current: null,
12444
+ previous: null,
12445
+ direction: "unmeasured",
12446
+ changePercent: null,
12447
+ sampleCount: 0,
12448
+ measurementStatus: "unmeasured"
12449
+ } : { ...result.rewardTrend, sampleCount, measurementStatus: "measured" },
12411
12450
  ...result.banditReconstruction === void 0 ? {} : {
12412
12451
  banditStateDescription: formatBanditReconstruction(result.banditReconstruction).join(
12413
12452
  " "
@@ -12418,6 +12457,22 @@ function formatJsonOutput2(result) {
12418
12457
  2
12419
12458
  );
12420
12459
  }
12460
+ function trendSampleCount(result) {
12461
+ return result.rewardTrend.sampleCount ?? result.summary.totalRoutings;
12462
+ }
12463
+ function jsonModelStats(model) {
12464
+ const noRoutings = model.routingSelectionCount === 0;
12465
+ const noRewardSamples = model.pullCount === 0;
12466
+ return {
12467
+ ...model,
12468
+ successRate: noRoutings ? null : model.successRate,
12469
+ selectionPercent: noRoutings ? null : model.selectionPercent,
12470
+ avgQuality: noRoutings ? null : model.avgQuality,
12471
+ avgLatencyMs: noRoutings ? null : model.avgLatencyMs,
12472
+ avgReward: noRewardSamples ? null : model.avgReward,
12473
+ cumulativeReward: noRewardSamples ? null : model.cumulativeReward
12474
+ };
12475
+ }
12421
12476
 
12422
12477
  // src/cli/learning-metrics-command.ts
12423
12478
  var logger15 = createLogger({ component: "learning-metrics" });
@@ -19222,7 +19277,7 @@ function startImprovementReviewScheduler(options) {
19222
19277
  let running = false;
19223
19278
  const runOnce = async () => {
19224
19279
  try {
19225
- const { runImprovementReview: runImprovementReview2, ImprovementReviewInputSchema: ImprovementReviewInputSchema2 } = await import("./improvement-review-DFCYFQ34.js");
19280
+ const { runImprovementReview: runImprovementReview2, ImprovementReviewInputSchema: ImprovementReviewInputSchema2 } = await import("./improvement-review-ILGECXTE.js");
19226
19281
  const input = ImprovementReviewInputSchema2.parse({ fileIssues });
19227
19282
  const result = await runImprovementReview2(input, { logger: logger22 });
19228
19283
  logger22.info("Scheduled improvement_review complete", {