@netlify/axis 0.3.1 → 1.1.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 (56) hide show
  1. package/README.md +3 -5
  2. package/dist/baselines/{diff.d.ts → compare.d.ts} +3 -3
  3. package/dist/baselines/compare.d.ts.map +1 -0
  4. package/dist/baselines/{diff.js → compare.js} +2 -2
  5. package/dist/baselines/compare.js.map +1 -0
  6. package/dist/baselines/index.d.ts +1 -1
  7. package/dist/baselines/index.d.ts.map +1 -1
  8. package/dist/baselines/index.js +1 -1
  9. package/dist/baselines/index.js.map +1 -1
  10. package/dist/cli.js +16 -12
  11. package/dist/cli.js.map +1 -1
  12. package/dist/config/validator.js +4 -4
  13. package/dist/index.d.ts +4 -2
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +3 -2
  16. package/dist/index.js.map +1 -1
  17. package/dist/report-ui/index.html +49 -46
  18. package/dist/reports/writer.d.ts +28 -7
  19. package/dist/reports/writer.d.ts.map +1 -1
  20. package/dist/reports/writer.js +69 -30
  21. package/dist/reports/writer.js.map +1 -1
  22. package/dist/scoring/deep-eval.d.ts +27 -7
  23. package/dist/scoring/deep-eval.d.ts.map +1 -1
  24. package/dist/scoring/deep-eval.js +242 -147
  25. package/dist/scoring/deep-eval.js.map +1 -1
  26. package/dist/scoring/goal-achievement.d.ts.map +1 -1
  27. package/dist/scoring/goal-achievement.js +26 -102
  28. package/dist/scoring/goal-achievement.js.map +1 -1
  29. package/dist/scoring/index.d.ts +1 -1
  30. package/dist/scoring/index.d.ts.map +1 -1
  31. package/dist/scoring/index.js +12 -7
  32. package/dist/scoring/index.js.map +1 -1
  33. package/dist/scoring/judge.d.ts +14 -0
  34. package/dist/scoring/judge.d.ts.map +1 -0
  35. package/dist/scoring/judge.js +36 -0
  36. package/dist/scoring/judge.js.map +1 -0
  37. package/dist/scoring/prompt-templates.d.ts +50 -0
  38. package/dist/scoring/prompt-templates.d.ts.map +1 -0
  39. package/dist/scoring/prompt-templates.js +252 -0
  40. package/dist/scoring/prompt-templates.js.map +1 -0
  41. package/dist/types/baseline.d.ts +4 -4
  42. package/dist/types/baseline.d.ts.map +1 -1
  43. package/dist/types/config.d.ts +2 -2
  44. package/dist/types/scoring.d.ts +25 -26
  45. package/dist/types/scoring.d.ts.map +1 -1
  46. package/dist/ui/format.d.ts +2 -2
  47. package/dist/ui/format.d.ts.map +1 -1
  48. package/dist/ui/format.js +1 -1
  49. package/dist/ui/format.js.map +1 -1
  50. package/package.json +1 -1
  51. package/dist/baselines/diff.d.ts.map +0 -1
  52. package/dist/baselines/diff.js.map +0 -1
  53. package/dist/scoring/triage.d.ts +0 -15
  54. package/dist/scoring/triage.d.ts.map +0 -1
  55. package/dist/scoring/triage.js +0 -204
  56. package/dist/scoring/triage.js.map +0 -1
@@ -1,9 +1,7 @@
1
- import * as fs from "node:fs";
2
- import * as os from "node:os";
3
- import * as path from "node:path";
4
- import { getAdapter } from "../adapters/registry.js";
5
1
  import { DEFAULT_AUDIT_SCORES } from "./category-score.js";
2
+ import { callJudge } from "./judge.js";
6
3
  import { parseJsonFromText } from "./parse-json.js";
4
+ import { CATEGORY_GUIDANCE, getPromptTemplates, interpolate } from "./prompt-templates.js";
7
5
  /** Max characters of full content to include per interaction. */
8
6
  const MAX_CONTENT_PER_INTERACTION = 3_000;
9
7
  /** Max total content characters to send to the judge. */
@@ -11,29 +9,40 @@ const MAX_TOTAL_CONTENT = 40_000;
11
9
  /** Max characters for the sparse index in the evaluation prompt. */
12
10
  const MAX_SPARSE_INDEX_CHARS = 60_000;
13
11
  /**
14
- * Run the deep evaluation LLM pass.
12
+ * Run the deep evaluation as parallel per-category judge calls.
15
13
  *
14
+ * Each category (environment, service, agent) gets its own focused LLM judge.
15
+ * Categories with no interactions or zero weight are skipped (default scores used).
16
16
  * Speed is always computed heuristically from interaction timing data (no LLM needed).
17
- * The LLM evaluates ALL interactions for success, weight, contextRelevance,
18
- * and necessity per category.
19
17
  */
20
- export async function runDeepEval(result, sparseIndex, triage, normalized) {
18
+ export async function runDeepEval(result, sparseIndex, normalized, options) {
21
19
  // If there are no interactions at all, return defaults
22
20
  if (sparseIndex.interactions.length === 0) {
23
21
  return buildDefaultResult(sparseIndex);
24
22
  }
25
- // Always call LLM to evaluate all interactions
26
- const prompt = buildDeepEvalPrompt(result, sparseIndex, triage, normalized);
27
- const responseText = await callJudge(result, prompt);
28
- const deepResult = parseDeepEvalResponse(responseText, sparseIndex);
23
+ const categories = ["environment", "service", "agent"];
24
+ // Run per-category judges in parallel
25
+ const categoryResults = await Promise.all(categories.map(async (category) => {
26
+ // Skip categories with no interactions
27
+ if (sparseIndex.stats.byCategory[category] === 0) {
28
+ return buildDefaultCategoryResult(category);
29
+ }
30
+ // Skip categories with zero weight
31
+ if (options?.weights && options.weights[category] === 0) {
32
+ return buildDefaultCategoryResult(category);
33
+ }
34
+ return runCategoryEval(result, sparseIndex, normalized, category, options?.reportDir);
35
+ }));
36
+ // Merge per-category results into a single DeepEvalResult
37
+ const merged = mergeCategoryResults(categoryResults, sparseIndex);
29
38
  // Inject heuristic speed into ALL audits — speed is always deterministic
30
- for (const audit of deepResult.audits) {
39
+ for (const audit of merged.audits) {
31
40
  const interaction = sparseIndex.interactions.find((i) => i.id === audit.id);
32
41
  if (interaction) {
33
42
  audit.speed = computeHeuristicSpeed(interaction);
34
43
  }
35
44
  }
36
- return deepResult;
45
+ return merged;
37
46
  }
38
47
  /**
39
48
  * Compute a heuristic speed score (0-1) for an interaction based on
@@ -83,105 +92,57 @@ export function computeHeuristicSpeed(interaction) {
83
92
  return 0.6;
84
93
  return 0.4;
85
94
  }
86
- function buildDeepEvalPrompt(result, sparseIndex, triage, normalized) {
95
+ // --- Per-category judge ---
96
+ async function runCategoryEval(result, sparseIndex, normalized, category, reportDir) {
97
+ const prompt = buildCategoryEvalPrompt(result, sparseIndex, normalized, category, reportDir);
98
+ const responseText = await callJudge(result, prompt, {
99
+ scenarioKey: `__${category}_eval__`,
100
+ scenarioName: `AXIS ${category} Evaluation`,
101
+ });
102
+ return parseCategoryEvalResponse(responseText, category, sparseIndex);
103
+ }
104
+ function buildCategoryEvalPrompt(result, sparseIndex, normalized, category, reportDir) {
87
105
  const { stats } = sparseIndex;
88
- // Always include the full sparse index
89
106
  const sparseLines = truncateSparseLines(sparseIndex.lines);
90
- // Include full content for ALL interactions (within budget)
91
- const interactionContent = buildInteractionContent(sparseIndex, triage, normalized);
92
- // Include triage context when available
93
- let triageSection = "";
94
- if (triage.patterns.length > 0 || Object.values(triage.categoryNotes).some((n) => n)) {
95
- const patternsText = triage.patterns
96
- .map((p) => `- ${p.description} (severity: ${p.severity}, interactions: #${p.interactionIds.join(", #")})`)
97
- .join("\n");
98
- const categories = ["environment", "service", "agent"];
99
- const categoryNotesText = categories
100
- .filter((c) => triage.categoryNotes[c])
101
- .map((c) => `${c}: ${triage.categoryNotes[c]}`)
102
- .join("\n");
103
- triageSection = `
104
- TRIAGE ANALYSIS:
105
- ${categoryNotesText || "(none)"}
106
- ${patternsText ? `\nPATTERNS:\n${patternsText}` : ""}
107
- `;
108
- }
109
- return `You are an expert evaluator for AXIS, an AI agent testing framework.
110
-
111
- You are performing a comprehensive evaluation of ALL interactions from an agent execution.
112
-
113
- SCENARIO: ${result.scenarioName}
114
-
115
- TASK GIVEN TO AGENT:
116
- ${result.prompt}
117
- ${triageSection}
118
- COMPLETE SPARSE INDEX (${stats.totalInteractions} interactions):
119
- ${sparseLines}
120
-
121
- STATS:
122
- - Environment interactions: ${stats.byCategory.environment}
123
- - Service interactions: ${stats.byCategory.service}
124
- - Agent interactions: ${stats.byCategory.agent}
125
- - Errors: ${stats.totalErrors}
126
- - Total duration: ${stats.totalDurationMs}ms
127
-
128
- FULL INTERACTION CONTENT:
129
- ${interactionContent}
130
-
131
- NOTE: Content shown above may be truncated for evaluation purposes. This does NOT mean the agent's actual tool results were truncated — evaluate based on the quality and structure of what is shown, not on apparent truncation boundaries.
132
-
133
- EVALUATION DIMENSIONS (score each 0.0 to 1.0):
134
- - success: Did the interaction complete without errors? Were the results correct and usable? Evaluate based on the actual content returned, not assumptions about what a "complete" result should look like. For service calls (API requests, web fetches), if the call returned structured, usable content and the agent used it successfully, score success high — do not speculate about content that might be missing or hypothesize about JS-gated pages or truncation.
135
- - weight: Was the tool invocation right-sized for the operation? Evaluate whether the agent sent an appropriate amount of data to the tool and received a proportionate response. For environment tools (file writes, edits, shell commands), judge the tool operation — not the semantic quality of the content the agent chose to write. A 2KB file write is right-sized if the agent intended to write 2KB of content. For service calls, if the call returned the data the agent needed, it is right-sized — do not penalize because a page returned fewer bytes than expected. (1.0 = right-sized, 0.3 = bloated/wasteful)
136
- - contextRelevance: Was the tool's output relevant and usable for the task? If the tool succeeded and the agent used the output to make progress, score 1.0. Only reduce this score if the output was genuinely irrelevant noise that the agent could not use. Do NOT reduce this score for content quality judgments (e.g., whether a summary was condensed enough, whether fetched content was comprehensive enough) — those are evaluated by goal achievement, not here. Agent-internal operations (tool discovery, planning) are necessary infrastructure — score based on whether they were needed. (1.0 = all useful/necessary, 0.0 = all noise)
137
-
138
- For each CATEGORY present, also evaluate necessity:
139
- - necessity (0.0 to 1.0): Were the interactions that the agent performed in this category necessary? Evaluate only what the agent actually did — do not penalize for hypothetical steps it could have taken. 1.0 = all interactions were necessary, 0.0 = all were unnecessary.
140
- - List any interaction IDs that were unnecessary.
141
-
142
- CONTEXT FOR EVALUATION:
143
- - Tool discovery (e.g., ToolSearch, ListTools) and agent configuration reads are required infrastructure — do not flag as unnecessary unless genuinely redundant (same query repeated).
144
- - Byte counts in sparse lines show total I/O transferred, not file content size. Small results are normal for write/edit confirmations.
145
- - If a service call (API request, web fetch) returned structured, usable content and the agent used it to complete the task, do not flag it for concerns about hypothetical missing content or page size.
146
-
147
- Respond with ONLY valid JSON:
148
- {
149
- "audits": [
150
- {"id": 1, "category": "environment", "success": 0.9, "weight": 0.8, "contextRelevance": 0.6, "rationale": "brief explanation"},
151
- ...
152
- ],
153
- "necessity": [
154
- {"category": "environment", "score": 0.85, "unnecessaryIds": [4], "rationale": "brief explanation"},
155
- {"category": "service", "score": 0.7, "unnecessaryIds": [5, 6], "rationale": "brief explanation"},
156
- {"category": "agent", "score": 0.95, "unnecessaryIds": [], "rationale": "brief explanation"}
157
- ]
158
- }
159
-
160
- Include an audit for EVERY interaction listed above.`;
107
+ // Filter interactions to this category and build content
108
+ const categoryInteractions = sparseIndex.interactions.filter((i) => i.categories.includes(category));
109
+ const interactionContent = buildCategoryInteractionContent(categoryInteractions, normalized);
110
+ // Build data dir reference
111
+ const dataDir = reportDir
112
+ ? `${reportDir}/scenarios/${result.scenarioKey}`
113
+ : "(not available)";
114
+ const { category_eval } = getPromptTemplates();
115
+ return interpolate(category_eval.template, {
116
+ scenarioName: result.scenarioName,
117
+ prompt: result.prompt,
118
+ categoryName: category,
119
+ totalInteractions: stats.totalInteractions,
120
+ categoryInteractionCount: categoryInteractions.length,
121
+ sparseLines,
122
+ categoryGuidance: CATEGORY_GUIDANCE[category] ?? "",
123
+ interactionContent,
124
+ dataDir,
125
+ });
161
126
  }
162
127
  /**
163
- * Build the full content section for ALL interactions.
128
+ * Build the full content section for interactions in a specific category.
164
129
  * Includes as much content as fits within the total budget.
165
130
  */
166
- function buildInteractionContent(sparseIndex, triage, normalized) {
131
+ function buildCategoryInteractionContent(interactions, normalized) {
167
132
  const sections = [];
168
133
  let totalChars = 0;
169
- const flagMap = new Map(triage.flaggedInteractions.map((f) => [f.id, f]));
170
- for (let idx = 0; idx < sparseIndex.interactions.length; idx++) {
171
- const interaction = sparseIndex.interactions[idx];
172
- // Build full content from the normalized entries
134
+ for (let idx = 0; idx < interactions.length; idx++) {
135
+ const interaction = interactions[idx];
173
136
  const fullContent = interaction.entryIndices.map((i) => formatFullEntry(normalized.entries[i])).join("\n");
174
137
  const truncatedContent = fullContent.length > MAX_CONTENT_PER_INTERACTION
175
138
  ? fullContent.slice(0, MAX_CONTENT_PER_INTERACTION) + "\n... (truncated)"
176
139
  : fullContent;
177
140
  if (totalChars + truncatedContent.length > MAX_TOTAL_CONTENT) {
178
- sections.push(`\n... (remaining ${sparseIndex.interactions.length - idx} interactions shown only in sparse index above)`);
141
+ sections.push(`\n... (remaining ${interactions.length - idx} interactions shown only in sparse index above)`);
179
142
  break;
180
143
  }
181
- const flag = flagMap.get(interaction.id);
182
- const triageNote = flag ? ` | Triage: ${flag.reason}` : "";
183
144
  sections.push(`---
184
- #${interaction.id} | Category: ${interaction.categories.join(", ")}${triageNote}
145
+ #${interaction.id} | Category: ${interaction.categories.join(", ")}
185
146
  ${truncatedContent}
186
147
  ---`);
187
148
  totalChars += truncatedContent.length;
@@ -206,8 +167,8 @@ function formatFullEntry(entry) {
206
167
  case "tool_result":
207
168
  parts.push(`[TOOL_RESULT]`);
208
169
  if (entry.toolResultText) {
209
- const result = entry.toolResultText.length > 2000 ? entry.toolResultText.slice(0, 2000) + "..." : entry.toolResultText;
210
- parts.push(` Result: ${result}`);
170
+ const resultText = entry.toolResultText.length > 2000 ? entry.toolResultText.slice(0, 2000) + "..." : entry.toolResultText;
171
+ parts.push(` Result: ${resultText}`);
211
172
  }
212
173
  break;
213
174
  case "error":
@@ -218,44 +179,53 @@ function formatFullEntry(entry) {
218
179
  }
219
180
  return parts.join("\n");
220
181
  }
221
- async function callJudge(runResult, prompt) {
222
- const adapter = getAdapter(runResult.agentConfig.adapter);
223
- const workspace = fs.mkdtempSync(path.join(os.tmpdir(), "axis-deep-eval-"));
224
- try {
225
- const output = await adapter.run({
226
- prompt,
227
- config: runResult.agentConfig,
228
- scenario: {
229
- key: "__deep_eval__",
230
- name: "AXIS Deep Evaluation",
231
- prompt,
232
- rubric: [],
233
- },
234
- workingDirectory: workspace,
235
- });
236
- return output.result ?? "";
237
- }
238
- finally {
239
- try {
240
- fs.rmSync(workspace, { recursive: true, force: true });
241
- }
242
- catch {
243
- /* ignore */
244
- }
182
+ // --- Response parsing ---
183
+ /**
184
+ * Parse a per-category judge response into a CategoryEvalResult.
185
+ * Fills in default audits for interactions the LLM missed.
186
+ */
187
+ export function parseCategoryEvalResponse(responseText, category, sparseIndex) {
188
+ const parsed = parseJsonFromText(responseText);
189
+ const categoryInteractions = sparseIndex.interactions.filter((i) => i.categories.includes(category));
190
+ if (!parsed) {
191
+ return buildDefaultCategoryResult(category, categoryInteractions);
245
192
  }
193
+ // Parse audits
194
+ const llmAudits = parseCategoryAudits(parsed.audits, category, sparseIndex);
195
+ const auditMap = new Map(llmAudits.map((a) => [a.id, a]));
196
+ const allAudits = categoryInteractions.map((interaction) => {
197
+ const existing = auditMap.get(interaction.id);
198
+ if (existing)
199
+ return existing;
200
+ return {
201
+ id: interaction.id,
202
+ categories: interaction.categories,
203
+ success: interaction.hasError ? 0.3 : DEFAULT_AUDIT_SCORES.success,
204
+ speed: DEFAULT_AUDIT_SCORES.speed,
205
+ weight: DEFAULT_AUDIT_SCORES.weight,
206
+ contextRelevance: DEFAULT_AUDIT_SCORES.contextRelevance,
207
+ rationale: "default",
208
+ };
209
+ });
210
+ // Parse necessity (single object, not array)
211
+ const necessity = parseSingleNecessity(parsed.necessity, category);
212
+ // Parse patterns
213
+ const patterns = parsePatterns(parsed.patterns);
214
+ return { category, audits: allAudits, necessity, patterns };
246
215
  }
247
- // --- Response parsing ---
248
216
  /**
249
- * Parse the deep eval LLM response.
250
- * Fills in default audits for interactions the LLM missed and default necessity for missing categories.
217
+ * Parse the legacy deep eval LLM response (all categories in one call).
218
+ * Kept for backward compatibility with existing tests and any code that uses it.
251
219
  */
252
220
  export function parseDeepEvalResponse(responseText, sparseIndex) {
253
221
  const parsed = parseJsonFromText(responseText);
254
222
  let llmAudits = [];
255
223
  let llmNecessity = [];
224
+ let llmPatterns = [];
256
225
  if (parsed) {
257
226
  llmAudits = parseAudits(parsed.audits, sparseIndex);
258
- llmNecessity = parseNecessity(parsed.necessity);
227
+ llmNecessity = parseNecessityArray(parsed.necessity);
228
+ llmPatterns = parsePatterns(parsed.patterns);
259
229
  }
260
230
  // Build complete audit list: LLM-scored where available, defaults for any the LLM missed
261
231
  const auditMap = new Map(llmAudits.map((a) => [a.id, a]));
@@ -291,8 +261,130 @@ export function parseDeepEvalResponse(responseText, sparseIndex) {
291
261
  rationale: "default",
292
262
  };
293
263
  });
294
- return { audits: allAudits, necessity: allNecessity };
264
+ return { audits: allAudits, necessity: allNecessity, patterns: llmPatterns };
265
+ }
266
+ // --- Merge per-category results ---
267
+ /**
268
+ * Merge per-category results into a single DeepEvalResult.
269
+ * Interactions that appear in multiple categories get the audit from the first
270
+ * category that evaluated them (multi-category interactions are rare).
271
+ */
272
+ export function mergeCategoryResults(categoryResults, sparseIndex) {
273
+ const auditMap = new Map();
274
+ // Collect all audits, first-write-wins for multi-category interactions
275
+ for (const catResult of categoryResults) {
276
+ for (const audit of catResult.audits) {
277
+ if (!auditMap.has(audit.id)) {
278
+ auditMap.set(audit.id, audit);
279
+ }
280
+ }
281
+ }
282
+ // Ensure every interaction has an audit (some may be uncategorized or missed)
283
+ const allAudits = sparseIndex.interactions.map((interaction) => {
284
+ const existing = auditMap.get(interaction.id);
285
+ if (existing)
286
+ return existing;
287
+ return {
288
+ id: interaction.id,
289
+ categories: interaction.categories,
290
+ success: interaction.hasError ? 0.3 : DEFAULT_AUDIT_SCORES.success,
291
+ speed: DEFAULT_AUDIT_SCORES.speed,
292
+ weight: DEFAULT_AUDIT_SCORES.weight,
293
+ contextRelevance: DEFAULT_AUDIT_SCORES.contextRelevance,
294
+ rationale: "default",
295
+ };
296
+ });
297
+ // Collect necessity and patterns from each category
298
+ const necessity = categoryResults.map((r) => r.necessity);
299
+ const patterns = categoryResults.flatMap((r) => r.patterns);
300
+ return { audits: allAudits, necessity, patterns };
301
+ }
302
+ // --- Default builders ---
303
+ function buildDefaultResult(sparseIndex) {
304
+ const audits = sparseIndex.interactions.map((interaction) => ({
305
+ id: interaction.id,
306
+ categories: interaction.categories,
307
+ success: interaction.hasError ? 0.3 : DEFAULT_AUDIT_SCORES.success,
308
+ speed: DEFAULT_AUDIT_SCORES.speed,
309
+ weight: DEFAULT_AUDIT_SCORES.weight,
310
+ contextRelevance: DEFAULT_AUDIT_SCORES.contextRelevance,
311
+ rationale: "default",
312
+ }));
313
+ const categories = ["environment", "service", "agent"];
314
+ const necessity = categories.map((cat) => ({
315
+ category: cat,
316
+ score: 0.8,
317
+ unnecessaryIds: [],
318
+ rationale: "default",
319
+ }));
320
+ return { audits, necessity, patterns: [] };
321
+ }
322
+ export function buildDefaultCategoryResult(category, interactions) {
323
+ const audits = (interactions ?? []).map((interaction) => ({
324
+ id: interaction.id,
325
+ categories: interaction.categories,
326
+ success: interaction.hasError ? 0.3 : DEFAULT_AUDIT_SCORES.success,
327
+ speed: DEFAULT_AUDIT_SCORES.speed,
328
+ weight: DEFAULT_AUDIT_SCORES.weight,
329
+ contextRelevance: DEFAULT_AUDIT_SCORES.contextRelevance,
330
+ rationale: "default",
331
+ }));
332
+ return {
333
+ category,
334
+ audits,
335
+ necessity: {
336
+ category,
337
+ score: 0.8,
338
+ unnecessaryIds: [],
339
+ rationale: "default",
340
+ },
341
+ patterns: [],
342
+ };
295
343
  }
344
+ // --- Parsing helpers ---
345
+ function parseCategoryAudits(raw, category, sparseIndex) {
346
+ if (!Array.isArray(raw))
347
+ return [];
348
+ const categoryInteractions = sparseIndex.interactions.filter((i) => i.categories.includes(category));
349
+ const interactionMap = new Map(categoryInteractions.map((i) => [i.id, i]));
350
+ const audits = [];
351
+ for (const item of raw) {
352
+ if (!item || typeof item !== "object")
353
+ continue;
354
+ const obj = item;
355
+ if (typeof obj.id !== "number")
356
+ continue;
357
+ const interaction = interactionMap.get(obj.id);
358
+ if (!interaction)
359
+ continue;
360
+ audits.push({
361
+ id: obj.id,
362
+ categories: interaction.categories,
363
+ success: clamp01(obj.success),
364
+ speed: DEFAULT_AUDIT_SCORES.speed, // placeholder — overridden by heuristic
365
+ weight: clamp01(obj.weight),
366
+ contextRelevance: clamp01(obj.contextRelevance),
367
+ rationale: typeof obj.rationale === "string" ? obj.rationale : "",
368
+ });
369
+ }
370
+ return audits;
371
+ }
372
+ function parseSingleNecessity(raw, category) {
373
+ if (!raw || typeof raw !== "object") {
374
+ return { category, score: 1.0, unnecessaryIds: [], rationale: "default" };
375
+ }
376
+ const obj = raw;
377
+ const unnecessaryIds = Array.isArray(obj.unnecessaryIds)
378
+ ? obj.unnecessaryIds.filter((id) => typeof id === "number")
379
+ : [];
380
+ return {
381
+ category,
382
+ score: clamp01(obj.score),
383
+ unnecessaryIds,
384
+ rationale: typeof obj.rationale === "string" ? obj.rationale : "",
385
+ };
386
+ }
387
+ /** Parse audits from legacy all-in-one deep eval response. */
296
388
  function parseAudits(raw, sparseIndex) {
297
389
  if (!Array.isArray(raw))
298
390
  return [];
@@ -319,7 +411,8 @@ function parseAudits(raw, sparseIndex) {
319
411
  }
320
412
  return audits;
321
413
  }
322
- function parseNecessity(raw) {
414
+ /** Parse necessity array from legacy all-in-one deep eval response. */
415
+ function parseNecessityArray(raw) {
323
416
  if (!Array.isArray(raw))
324
417
  return [];
325
418
  const validCategories = new Set(["environment", "service", "agent"]);
@@ -342,24 +435,26 @@ function parseNecessity(raw) {
342
435
  }
343
436
  return judgments;
344
437
  }
345
- function buildDefaultResult(sparseIndex) {
346
- const audits = sparseIndex.interactions.map((interaction) => ({
347
- id: interaction.id,
348
- categories: interaction.categories,
349
- success: interaction.hasError ? 0.3 : DEFAULT_AUDIT_SCORES.success,
350
- speed: DEFAULT_AUDIT_SCORES.speed,
351
- weight: DEFAULT_AUDIT_SCORES.weight,
352
- contextRelevance: DEFAULT_AUDIT_SCORES.contextRelevance,
353
- rationale: "default",
354
- }));
355
- const categories = ["environment", "service", "agent"];
356
- const necessity = categories.map((cat) => ({
357
- category: cat,
358
- score: 0.8,
359
- unnecessaryIds: [],
360
- rationale: "default",
361
- }));
362
- return { audits, necessity };
438
+ function parsePatterns(raw) {
439
+ if (!Array.isArray(raw))
440
+ return [];
441
+ const validSeverities = new Set(["low", "medium", "high"]);
442
+ const patterns = [];
443
+ for (const item of raw) {
444
+ if (!item || typeof item !== "object")
445
+ continue;
446
+ const obj = item;
447
+ if (typeof obj.description !== "string")
448
+ continue;
449
+ const interactionIds = Array.isArray(obj.interactionIds)
450
+ ? obj.interactionIds.filter((id) => typeof id === "number")
451
+ : [];
452
+ const severity = typeof obj.severity === "string" && validSeverities.has(obj.severity)
453
+ ? obj.severity
454
+ : "medium";
455
+ patterns.push({ description: obj.description, interactionIds, severity });
456
+ }
457
+ return patterns;
363
458
  }
364
459
  function truncateSparseLines(lines) {
365
460
  let totalChars = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"deep-eval.js","sourceRoot":"","sources":["../../src/scoring/deep-eval.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deep-eval.js","sourceRoot":"","sources":["../../src/scoring/deep-eval.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"goal-achievement.d.ts","sourceRoot":"","sources":["../../src/scoring/goal-achievement.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAkB,MAAM,qBAAqB,CAAC;AAGhF,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,SAAS,EACjB,iBAAiB,EAAE,eAAe,EAAE,GACnC,OAAO,CAAC,oBAAoB,CAAC,CAa/B"}
1
+ {"version":3,"file":"goal-achievement.d.ts","sourceRoot":"","sources":["../../src/scoring/goal-achievement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAkB,MAAM,qBAAqB,CAAC;AAKhF,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,SAAS,EACjB,iBAAiB,EAAE,eAAe,EAAE,GACnC,OAAO,CAAC,oBAAoB,CAAC,CAa/B"}