@moda-ai/cli 1.41.0 → 1.41.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.
package/dist/cli.js CHANGED
@@ -1799,7 +1799,8 @@ function gateFindings(fix) {
1799
1799
  function formatGateScoreboard(gate) {
1800
1800
  const holdout = gate.holdout ?? {};
1801
1801
  const repair = gate.repair ?? {};
1802
- return `holdout: candidate ${holdout.candidate ?? 0}/${holdout.n ?? 0} vs baseline ${holdout.baseline ?? 0}/${holdout.n ?? 0} ` + `(wins ${holdout.wins ?? 0}, losses ${holdout.losses ?? 0}); ` + `training cases (repair): candidate ${repair.candidate ?? 0}/${repair.n ?? 0} vs baseline ${repair.baseline ?? 0}/${repair.n ?? 0}; ` + `noise floor ${gate.noiseFloor ?? 0}; abstained ${gate.abstained ?? 0}`;
1802
+ const guard = gate.byScope?.regression_guard;
1803
+ return `${gate.byScope ? "in-problem holdout" : "holdout"}: candidate ${holdout.candidate ?? 0}/${holdout.n ?? 0} vs baseline ${holdout.baseline ?? 0}/${holdout.n ?? 0} ` + `(wins ${holdout.wins ?? 0}, losses ${holdout.losses ?? 0}); ` + (guard ? `regression guards: candidate ${guard.candidate ?? 0}/${guard.n ?? 0} vs baseline ${guard.baseline ?? 0}/${guard.n ?? 0} ` + `(losses ${guard.losses ?? 0}, noise floor ${guard.noiseFloor ?? 0}); ` : "") + `training cases (repair): candidate ${repair.candidate ?? 0}/${repair.n ?? 0} vs baseline ${repair.baseline ?? 0}/${repair.n ?? 0}; ` + `noise floor ${gate.noiseFloor ?? 0}; abstained ${gate.abstained ?? 0}`;
1803
1804
  }
1804
1805
  function printHumanGateVerdict(fix, gateRunId, gateResult, cases) {
1805
1806
  const w = (line) => process.stderr.write(`${line}
@@ -2195,6 +2196,9 @@ async function pushRegistry(context) {
2195
2196
  const detail = section.status === "error" ? ` — ${section.error}` : describeActions(section.response);
2196
2197
  console.error(` ${section.section}: ${section.status} (${section.count})${detail}`);
2197
2198
  }
2199
+ if (sections.some((section) => section.section === "tools" && section.status === "synced")) {
2200
+ console.error(" Replays now give your agent these tools with their real schemas and descriptions.");
2201
+ }
2198
2202
  }
2199
2203
  context.output.writeData({
2200
2204
  schema: REGISTRY_SCHEMA,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moda-ai/cli",
3
- "version": "1.41.0",
3
+ "version": "1.41.2",
4
4
  "description": "CLI for Moda - AI agent analytics and observability",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schema_version": "moda.skill_index.v1",
3
- "bundled_at": "2026-10-09T01:07:28.008Z",
4
- "cli_version": "1.41.0",
3
+ "bundled_at": "2026-10-09T01:27:15.161Z",
4
+ "cli_version": "1.41.2",
5
5
  "skills": [
6
6
  {
7
7
  "id": "integration-cloudflare-think",