@axlsdk/studio 0.17.9 → 0.18.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.
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  createServer,
3
3
  handleWsMessage
4
- } from "./chunk-WUCCIBQ6.js";
4
+ } from "./chunk-RLG3DDQZ.js";
5
5
 
6
6
  // src/middleware.ts
7
7
  import { resolve as resolve2, dirname } from "path";
@@ -137,7 +137,10 @@ function redactEvalItem(item) {
137
137
  detailsOut[name] = {
138
138
  score: detail.score,
139
139
  ...detail.duration !== void 0 ? { duration: detail.duration } : {},
140
- ...detail.cost !== void 0 ? { cost: detail.cost } : {}
140
+ ...detail.cost !== void 0 ? { cost: detail.cost } : {},
141
+ // `skipped` is a structural boolean (the `applies` predicate verdict),
142
+ // not user/LLM content — preserve it so the client's N/A chip renders.
143
+ ...detail.skipped !== void 0 ? { skipped: detail.skipped } : {}
141
144
  // metadata deliberately omitted — may contain LLM scorer reasoning
142
145
  };
143
146
  }
@@ -1831,8 +1834,13 @@ function createEvalRoutes(connMgr, evalLoader) {
1831
1834
  const first = results[0];
1832
1835
  const partial2 = results.length < runs;
1833
1836
  const failureMsg = runFailure ? redactErrorMessage(runFailure, redactOn) || String(runFailure) || void 0 : void 0;
1837
+ const aggDegraded = unionDegradedScorers(results);
1834
1838
  const result = {
1835
1839
  ...first,
1840
+ summary: {
1841
+ ...first.summary,
1842
+ ...aggDegraded.length > 0 ? { degraded: aggDegraded } : {}
1843
+ },
1836
1844
  _multiRun: {
1837
1845
  aggregate,
1838
1846
  allRuns: results,
@@ -2090,6 +2098,23 @@ function createEvalRoutes(connMgr, evalLoader) {
2090
2098
  }
2091
2099
  return { app: app5, closeActiveRuns };
2092
2100
  }
2101
+ function unionDegradedScorers(results) {
2102
+ const byScorer = /* @__PURE__ */ new Map();
2103
+ for (const run of results) {
2104
+ const degraded = run.summary?.degraded;
2105
+ if (!Array.isArray(degraded)) continue;
2106
+ for (const d of degraded) {
2107
+ const existing = byScorer.get(d.scorer);
2108
+ if (!existing) {
2109
+ byScorer.set(d.scorer, { ...d, runsAffected: 1 });
2110
+ } else {
2111
+ const worse = d.rate > existing.rate ? d : existing;
2112
+ byScorer.set(d.scorer, { ...worse, runsAffected: existing.runsAffected + 1 });
2113
+ }
2114
+ }
2115
+ }
2116
+ return [...byScorer.values()];
2117
+ }
2093
2118
 
2094
2119
  // src/server/routes/playground.ts
2095
2120
  var import_hono11 = require("hono");