@doidor/agentrig 0.9.0 → 0.10.0

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 (77) hide show
  1. package/README.md +62 -27
  2. package/dist/agent/copilot.js +46 -5
  3. package/dist/agent/copilot.js.map +1 -1
  4. package/dist/cli.js +30 -5
  5. package/dist/cli.js.map +1 -1
  6. package/dist/commands/doctor.js +53 -8
  7. package/dist/commands/doctor.js.map +1 -1
  8. package/dist/commands/eval-dynamic.js +316 -0
  9. package/dist/commands/eval-dynamic.js.map +1 -0
  10. package/dist/commands/eval-scaffold.js +173 -0
  11. package/dist/commands/eval-scaffold.js.map +1 -0
  12. package/dist/commands/eval.js +184 -55
  13. package/dist/commands/eval.js.map +1 -1
  14. package/dist/core/audit.js +237 -9
  15. package/dist/core/audit.js.map +1 -1
  16. package/dist/core/model-family.js +31 -0
  17. package/dist/core/model-family.js.map +1 -0
  18. package/dist/core/scenario-runner.js +298 -0
  19. package/dist/core/scenario-runner.js.map +1 -0
  20. package/dist/prompts/index.js +121 -30
  21. package/dist/prompts/index.js.map +1 -1
  22. package/knowledge/PRINCIPLES.md +2 -2
  23. package/knowledge/manifest.json +16 -1
  24. package/knowledge/templates/AGENTS.md +7 -6
  25. package/knowledge/templates/agents/README.md +4 -4
  26. package/knowledge/templates/agents/developer.yml +1 -1
  27. package/knowledge/templates/agents/judge.yml +1 -1
  28. package/knowledge/templates/agents/reviewer.yml +1 -1
  29. package/knowledge/templates/agents/triager.yml +5 -4
  30. package/knowledge/templates/dashboard/dashboard.mjs +12 -5
  31. package/knowledge/templates/eval/RUBRIC.md +87 -64
  32. package/knowledge/templates/eval/axes.json +25 -25
  33. package/knowledge/templates/eval/calibration/README.md +54 -0
  34. package/knowledge/templates/eval/calibration/review/seed-correct.yml +43 -0
  35. package/knowledge/templates/eval/calibration/run/seed-correct.yml +35 -0
  36. package/knowledge/templates/eval/calibration/run/seed-no-verify.yml +34 -0
  37. package/knowledge/templates/eval/checks.json +88 -11
  38. package/knowledge/templates/eval/scenarios/add-small-feature/README.md +17 -0
  39. package/knowledge/templates/eval/scenarios/add-small-feature/fixture/SPEC.md +25 -0
  40. package/knowledge/templates/eval/scenarios/add-small-feature/fixture/package.json +9 -0
  41. package/knowledge/templates/eval/scenarios/add-small-feature/fixture/src/slugify.js +5 -0
  42. package/knowledge/templates/eval/scenarios/add-small-feature/fixture/tests/feature.test.js +31 -0
  43. package/knowledge/templates/eval/scenarios/add-small-feature/judge_brief.md +25 -0
  44. package/knowledge/templates/eval/scenarios/add-small-feature/oracle.yml +41 -0
  45. package/knowledge/templates/eval/scenarios/add-small-feature/prompt.md +17 -0
  46. package/knowledge/templates/eval/scenarios/add-small-feature/scenario.yml +22 -0
  47. package/knowledge/templates/eval/scenarios/fix-failing-test/README.md +18 -0
  48. package/knowledge/templates/eval/scenarios/fix-failing-test/fixture/package.json +9 -0
  49. package/knowledge/templates/eval/scenarios/fix-failing-test/fixture/src/math.js +13 -0
  50. package/knowledge/templates/eval/scenarios/fix-failing-test/fixture/tests/add.test.js +7 -0
  51. package/knowledge/templates/eval/scenarios/fix-failing-test/fixture/tests/divide.test.js +11 -0
  52. package/knowledge/templates/eval/scenarios/fix-failing-test/fixture/tests/multiply.test.js +7 -0
  53. package/knowledge/templates/eval/scenarios/fix-failing-test/judge_brief.md +20 -0
  54. package/knowledge/templates/eval/scenarios/fix-failing-test/oracle.yml +33 -0
  55. package/knowledge/templates/eval/scenarios/fix-failing-test/prompt.md +12 -0
  56. package/knowledge/templates/eval/scenarios/fix-failing-test/scenario.yml +23 -0
  57. package/knowledge/templates/eval/scenarios/review-catches-bug/README.md +17 -0
  58. package/knowledge/templates/eval/scenarios/review-catches-bug/fixture/baseline/package.json +6 -0
  59. package/knowledge/templates/eval/scenarios/review-catches-bug/fixture/baseline/src/format.js +4 -0
  60. package/knowledge/templates/eval/scenarios/review-catches-bug/fixture/baseline/src/pagination.js +7 -0
  61. package/knowledge/templates/eval/scenarios/review-catches-bug/fixture/change/src/format.js +6 -0
  62. package/knowledge/templates/eval/scenarios/review-catches-bug/fixture/change/src/pagination.js +7 -0
  63. package/knowledge/templates/eval/scenarios/review-catches-bug/judge_brief.md +38 -0
  64. package/knowledge/templates/eval/scenarios/review-catches-bug/oracle.yml +29 -0
  65. package/knowledge/templates/eval/scenarios/review-catches-bug/prompt.md +33 -0
  66. package/knowledge/templates/eval/scenarios/review-catches-bug/scenario.yml +23 -0
  67. package/knowledge/templates/eval/score.mjs +368 -42
  68. package/knowledge/templates/eval/static-audit.mjs +204 -17
  69. package/knowledge/templates/harness/state-machine.yml +18 -12
  70. package/knowledge/templates/skills/harness-eval/SKILL.md +59 -54
  71. package/knowledge/templates/skills/log-gotcha/SKILL.md +68 -0
  72. package/knowledge/templates/skills/self-verify/SKILL.md +32 -8
  73. package/package.json +4 -3
  74. package/knowledge/templates/eval/scenarios/README.md +0 -24
  75. package/knowledge/templates/eval/scenarios/add-small-feature.md +0 -28
  76. package/knowledge/templates/eval/scenarios/fix-failing-test.md +0 -27
  77. package/knowledge/templates/eval/scenarios/review-catches-bug.md +0 -30
@@ -4,47 +4,91 @@ import { auditHarness } from "../core/audit.js";
4
4
  import { join } from "../core/fsutil.js";
5
5
  import { isInstalled } from "../core/state.js";
6
6
  import { color, log } from "../core/logger.js";
7
- import { ActivityMonitor } from "../core/activity.js";
8
7
  import { getProvider } from "../agent/index.js";
9
8
  import { AgentTimeoutError } from "../agent/provider.js";
10
- import { buildDynamicEvalPrompt, SYSTEM_MESSAGE } from "../prompts/index.js";
9
+ import { listScenarios, locateScenario, loadScenario } from "../core/scenario-runner.js";
10
+ import { runDynamicEval } from "./eval-dynamic.js";
11
+ import { scaffoldScenarios } from "./eval-scaffold.js";
12
+ /** Pick the first non-empty model in the precedence chain. */
13
+ function resolveModel(chain) {
14
+ for (const c of chain) {
15
+ if (c.value && c.value.trim())
16
+ return { src: c.src, value: c.value.trim() };
17
+ }
18
+ return null;
19
+ }
20
+ /** Read the `model:` key from each role yaml in the roster. Best-effort + tolerant of missing
21
+ * roles so a partially-installed harness doesn't crash the eval. */
22
+ function readRosterModels(repoRoot) {
23
+ const readModel = (relPath) => {
24
+ const abs = join(repoRoot, relPath);
25
+ if (!existsSync(abs))
26
+ return null;
27
+ const text = readFileSync(abs, "utf8");
28
+ const m = text.match(/^\s*model\s*:\s*(.+?)\s*$/m);
29
+ return m ? m[1].trim() : null;
30
+ };
31
+ return {
32
+ developer: readModel(".agentrig/agents/developer.yml"),
33
+ reviewer: readModel(".agentrig/agents/reviewer.yml"),
34
+ judge: readModel(".agentrig/agents/judge.yml"),
35
+ };
36
+ }
11
37
  /** Print what the dynamic eval measures: rubric types/axes/issue-codes + installed scenarios. */
12
38
  export function renderRubric(repoRoot, asJson) {
13
39
  const axesPath = join(repoRoot, ".agentrig", "eval", "axes.json");
14
- const scenariosDir = join(repoRoot, ".agentrig", "eval", "scenarios");
15
40
  if (!existsSync(axesPath)) {
16
41
  log.error("No rubric found (.agentrig/eval/axes.json). Run `agentrig init` first.");
17
42
  return 1;
18
43
  }
19
44
  const axes = JSON.parse(readFileSync(axesPath, "utf8"));
45
+ // Use the scenario-runner discovery so we pick up the new directory layout.
20
46
  const scenarios = [];
21
- if (existsSync(scenariosDir)) {
22
- for (const f of readdirSync(scenariosDir)) {
23
- if (!f.endsWith(".md") || f === "README.md")
24
- continue;
25
- const fm = readFileSync(join(scenariosDir, f), "utf8");
26
- const get = (k) => (fm.match(new RegExp(`^${k}:\\s*(.+)$`, "m")) || [])[1]?.trim() ?? "";
27
- scenarios.push({ id: get("id") || f.replace(/\.md$/, ""), type: get("type") || "run", scope: get("scope") || "" });
47
+ for (const id of listScenarios(repoRoot)) {
48
+ const paths = locateScenario(repoRoot, id);
49
+ if (!paths)
50
+ continue;
51
+ try {
52
+ const fm = loadScenario(paths);
53
+ scenarios.push({ id: fm.id, type: fm.type, scope: fm.scope ?? "" });
54
+ }
55
+ catch {
56
+ scenarios.push({ id, type: "run", scope: "" });
28
57
  }
29
58
  }
30
59
  if (asJson) {
31
60
  console.log(JSON.stringify({ passThreshold: axes.passThreshold, tiers: axes.tiers, types: axes.types, scenarios }, null, 2));
32
61
  return 0;
33
62
  }
63
+ // Helper to render codes from either v1 (["CODE",...]) or v2 ({codes,...}) axis shape.
64
+ const renderCodes = (spec) => {
65
+ if (Array.isArray(spec))
66
+ return spec.join(", ");
67
+ if (spec && typeof spec === "object" && Array.isArray(spec.codes)) {
68
+ const meta = spec;
69
+ const flags = [];
70
+ if (meta.weight != null && meta.weight !== 1)
71
+ flags.push(`weight=${meta.weight}`);
72
+ if (meta.veto)
73
+ flags.push("VETO");
74
+ return meta.codes.join(", ") + (flags.length ? ` [${flags.join(", ")}]` : "");
75
+ }
76
+ return "";
77
+ };
34
78
  log.info(color.bold("AgentRig — what the dynamic eval measures\n"));
35
79
  log.info(color.dim(` Source of truth: .agentrig/eval/axes.json + RUBRIC.md + scenarios/. Tiers ${(axes.tiers || [0, 0.5, 1]).join("/")}, pass ≥ ${axes.passThreshold}.\n`));
36
80
  for (const [type, def] of Object.entries(axes.types)) {
37
81
  log.info(` ${color.bold(type.toUpperCase())} — ${def.label}`);
38
82
  for (const [cat, axesMap] of Object.entries(def.categories)) {
39
83
  log.info(` ${color.cyan(cat)}`);
40
- for (const [axis, codes] of Object.entries(axesMap)) {
41
- log.info(` ${axis.padEnd(20)} ${color.dim(`codes: ${codes.join(", ")}`)}`);
84
+ for (const [axis, spec] of Object.entries(axesMap)) {
85
+ log.info(` ${axis.padEnd(20)} ${color.dim(`codes: ${renderCodes(spec)}`)}`);
42
86
  }
43
87
  }
44
88
  }
45
89
  log.info(`\n ${color.bold("Scenarios")} (.agentrig/eval/scenarios/):`);
46
90
  for (const s of scenarios)
47
- log.info(` ${s.id.padEnd(22)} ${color.dim(`[${s.type}${s.scope ? ", " + s.scope : ""}]`)}`);
91
+ log.info(` ${s.id.padEnd(28)} ${color.dim(`[${s.type}${s.scope ? ", " + s.scope : ""}]`)}`);
48
92
  log.info(color.dim("\n Run them: agentrig eval --dynamic [--scenario <id>]"));
49
93
  return 0;
50
94
  }
@@ -54,22 +98,63 @@ function gitHead(repoRoot) {
54
98
  return res.status === 0 ? res.stdout.trim() : null;
55
99
  }
56
100
  export function renderAudit(report) {
57
- log.info(color.bold("AgentRig — harness audit"));
58
- log.info(color.dim(` checks source: ${report.source}\n`));
59
- for (const r of [...report.results].sort((a, b) => a.principle - b.principle || a.id.localeCompare(b.id))) {
60
- const tag = r.score === 1 ? color.green("PASS") : r.score === 0.5 ? color.yellow("PART") : color.red("FAIL");
61
- log.info(` [${tag}] P${r.principle} ${r.title}`);
101
+ log.info(color.bold("AgentRig — install completeness audit"));
102
+ log.info(color.dim(` checks source: ${report.source}`));
103
+ log.info(color.dim(" what this proves: every canonical artifact is present and minimally well-formed."));
104
+ log.info(color.dim(" what this does NOT prove: that those artifacts work, or that agents respect them.\n"));
105
+ const sortFn = (a, b) => a.principle - b.principle || a.id.localeCompare(b.id);
106
+ const completeness = report.results.filter((r) => r.layer === "completeness").sort(sortFn);
107
+ const quality = report.results.filter((r) => r.layer === "quality").sort(sortFn);
108
+ const tagFor = (s) => s === 1 ? color.green("PASS") : s === 0.5 ? color.yellow("PART") : color.red("FAIL");
109
+ const printOne = (r) => {
110
+ log.info(` [${tagFor(r.score)}] P${r.principle} ${r.title}`);
62
111
  if (r.evidence)
63
112
  log.info(color.dim(` ↳ ${r.evidence}`));
113
+ };
114
+ if (completeness.length) {
115
+ log.info(color.bold(" Layer A1 — structural completeness"));
116
+ for (const r of completeness)
117
+ printOne(r);
118
+ }
119
+ if (quality.length) {
120
+ log.info("");
121
+ log.info(color.bold(" Layer A2 — quality probes"));
122
+ for (const r of quality)
123
+ printOne(r);
124
+ }
125
+ const fullC = completeness.filter((r) => r.score === 1).length;
126
+ const fullQ = quality.filter((r) => r.score === 1).length;
127
+ const colorFor = (pct) => (pct >= 80 ? color.green : pct >= 50 ? color.yellow : color.red);
128
+ log.info("");
129
+ log.info(` ${color.bold("Install Completeness")}: ${colorFor(report.harnessScore)(`${report.harnessScore}%`)} (${fullC}/${completeness.length} full credit)`);
130
+ if (quality.length) {
131
+ log.info(` ${color.bold("Quality Probes")}: ${colorFor(report.qualityScore)(`${report.qualityScore}%`)} (${fullQ}/${quality.length} full credit)`);
64
132
  }
65
- const full = report.results.filter((r) => r.score === 1).length;
66
- const scoreColor = report.harnessScore >= 80 ? color.green : report.harnessScore >= 50 ? color.yellow : color.red;
67
- log.info(`\n ${color.bold("Harness Score")}: ${scoreColor(`${report.harnessScore}%`)} (${full}/${report.results.length} full credit)`);
68
133
  }
69
134
  export async function evalCommand(repoRoot, options) {
70
135
  if (options.rubric) {
71
136
  return renderRubric(repoRoot, Boolean(options.json));
72
137
  }
138
+ if (options.scaffold) {
139
+ if (!isInstalled(repoRoot)) {
140
+ log.error("No harness installed. Run `agentrig init` before `agentrig eval --scaffold`.");
141
+ return 1;
142
+ }
143
+ try {
144
+ const res = await scaffoldScenarios(repoRoot, {
145
+ count: options.scaffoldCount ?? 2,
146
+ ...(options.producerModel ?? options.model ? { producerModel: options.producerModel ?? options.model } : {}),
147
+ ...(options.timeoutMinutes ? { timeoutMinutes: options.timeoutMinutes } : {}),
148
+ });
149
+ if (options.json)
150
+ console.log(JSON.stringify(res, null, 2));
151
+ return res.invalid.length === 0 ? 0 : 1;
152
+ }
153
+ catch (err) {
154
+ log.error(`scaffold failed: ${err.message}`);
155
+ return 1;
156
+ }
157
+ }
73
158
  if (options.mode === "static") {
74
159
  const report = auditHarness(repoRoot);
75
160
  if (options.json) {
@@ -83,7 +168,7 @@ export async function evalCommand(repoRoot, options) {
83
168
  renderAudit(report);
84
169
  }
85
170
  if (options.min != null && report.harnessScore < options.min) {
86
- log.error(`Harness Score ${report.harnessScore}% is below required ${options.min}%`);
171
+ log.error(`Install Completeness ${report.harnessScore}% is below required ${options.min}%`);
87
172
  return 1;
88
173
  }
89
174
  return 0;
@@ -100,9 +185,33 @@ export async function evalCommand(repoRoot, options) {
100
185
  return 1;
101
186
  }
102
187
  log.ok(`agent ready (${pre.detail})`);
103
- const scopeLabel = options.scenario ? `scenario "${options.scenario}"` : "all scenarios";
104
188
  const variant = options.variant ?? "harness";
105
- // Create a per-run artifacts directory + meta.json (CLI-owned; the agent fills diff/output).
189
+ // Default trial count: 1 for single-scenario, 5 when running A/B against a variant (so
190
+ // harness-lift comparisons are never single-trial coin flips).
191
+ const trials = options.trials ?? (variant === "harness" && options.scenario ? 1 : variant === "baseline" ? 5 : 1);
192
+ // Producer/judge model resolution chain (highest precedence first):
193
+ // 1. explicit --producer-model / --judge-model
194
+ // 2. AGENTRIG_PRODUCER_MODEL / AGENTRIG_JUDGE_MODEL env vars (same vars score.mjs reads)
195
+ // 3. --model flag (legacy back-compat — only sets the producer)
196
+ // 4. .agentrig/agents/developer.yml model → producer
197
+ // .agentrig/agents/reviewer.yml model → judge
198
+ // (the roster already enforces these are different families via the install-audit check)
199
+ // 5. nothing → provider falls back to its own default
200
+ const rosterModels = readRosterModels(repoRoot);
201
+ const producerResolved = resolveModel([
202
+ { src: "--producer-model", value: options.producerModel },
203
+ { src: "AGENTRIG_PRODUCER_MODEL", value: process.env.AGENTRIG_PRODUCER_MODEL },
204
+ { src: "--model", value: options.model },
205
+ { src: ".agentrig/agents/developer.yml", value: rosterModels.developer },
206
+ ]);
207
+ const judgeResolved = resolveModel([
208
+ { src: "--judge-model", value: options.judgeModel },
209
+ { src: "AGENTRIG_JUDGE_MODEL", value: process.env.AGENTRIG_JUDGE_MODEL },
210
+ { src: ".agentrig/agents/reviewer.yml", value: rosterModels.reviewer },
211
+ ]);
212
+ const producerModel = producerResolved?.value;
213
+ const judgeModel = judgeResolved?.value;
214
+ // Per-run artifacts directory + meta.json.
106
215
  const runId = `run-${new Date().toISOString().replace(/[:.]/g, "-")}`;
107
216
  const artifactsDirAbs = join(repoRoot, ".agentrig", "eval", "results", "runs", runId);
108
217
  const artifactsDirRel = join(".agentrig", "eval", "results", "runs", runId);
@@ -111,46 +220,64 @@ export async function evalCommand(repoRoot, options) {
111
220
  const meta = {
112
221
  runId,
113
222
  startedAt,
114
- provider: provider.name,
115
- model: options.model ?? null,
223
+ producerProvider: provider.name,
224
+ producerModel: producerModel ?? null,
225
+ producerModelSource: producerResolved?.src ?? null,
226
+ judgeProvider: provider.name,
227
+ judgeModel: judgeModel ?? null,
228
+ judgeModelSource: judgeResolved?.src ?? null,
229
+ allowSameFamily: Boolean(options.allowSameFamily),
230
+ trials,
231
+ seed: options.seed ?? null,
116
232
  scenario: options.scenario ?? "all",
117
233
  variant,
118
234
  gitHead: gitHead(repoRoot),
119
235
  };
120
236
  writeFileSync(join(artifactsDirAbs, "meta.json"), JSON.stringify(meta, null, 2));
121
- log.step(`running dynamic harness evaluation — ${scopeLabel}${variant ? ` [variant: ${variant}]` : ""} (this calls the model)…`);
237
+ const scopeLabel = options.scenario ? `scenario "${options.scenario}"` : "all scenarios";
238
+ log.step(`running dynamic harness evaluation — ${scopeLabel} [variant: ${variant}, n=${trials}]…`);
122
239
  log.info(color.dim(` Run ${runId}; scores + artifacts under ${artifactsDirRel}/`));
123
- log.info(color.dim(" Live activity below; this can take many minutes.\n"));
124
- const monitor = new ActivityMonitor().start();
125
- const conversationOptions = {
126
- cwd: repoRoot,
127
- systemMessage: SYSTEM_MESSAGE,
128
- onEvent: monitor.handle,
129
- ...(options.model ? { model: options.model } : {}),
130
- ...(options.timeoutMinutes ? { maxMs: options.timeoutMinutes * 60 * 1000 } : {}),
131
- };
132
- const convo = await provider.startConversation(conversationOptions);
240
+ if (producerModel) {
241
+ log.info(color.dim(` Producer: ${producerModel} ← ${producerResolved.src}`));
242
+ }
243
+ else {
244
+ log.info(color.dim(" Producer: (provider default — no producer-model resolved)"));
245
+ }
246
+ if (judgeModel) {
247
+ log.info(color.dim(` Judge: ${judgeModel} ${judgeResolved.src}`));
248
+ }
249
+ else {
250
+ log.info(color.dim(" Judge: (not set — soft axes will be recorded as na)"));
251
+ }
133
252
  let timedOut = false;
134
253
  try {
135
- const summary = await convo.send(buildDynamicEvalPrompt(options.scenario, { runId, artifactsDir: artifactsDirRel, ...(variant ? { variant } : {}) }));
136
- monitor.stop();
137
- log.info("\n" + summary);
254
+ const outcomes = await runDynamicEval(repoRoot, {
255
+ variant,
256
+ trials,
257
+ artifactsDir: artifactsDirAbs,
258
+ artifactsDirRel,
259
+ runId,
260
+ ...(options.scenario ? { scenario: options.scenario } : {}),
261
+ ...(producerModel ? { producerModel } : {}),
262
+ ...(judgeModel ? { judgeModel } : {}),
263
+ ...(options.allowSameFamily ? { allowSameFamily: true } : {}),
264
+ ...(options.includeBundled ? { includeBundled: true } : {}),
265
+ ...(options.timeoutMinutes ? { timeoutMinutes: options.timeoutMinutes } : {}),
266
+ ...(options.seed != null ? { seed: options.seed } : {}),
267
+ });
268
+ const passed = outcomes.filter((o) => o.oraclePassed).length;
269
+ log.ok(`completed ${outcomes.length} trial outcome(s); ${passed} oracle-passing.`);
138
270
  }
139
271
  catch (err) {
140
- monitor.stop();
141
272
  if (err instanceof AgentTimeoutError) {
142
273
  timedOut = true;
143
274
  log.warn(`agent stopped: ${err.message}.`);
144
- log.warn("Any scenarios that finished were still saved — showing them below.");
145
275
  }
146
276
  else {
147
- throw err;
277
+ log.error(`dynamic eval failed: ${err.message}`);
278
+ return 1;
148
279
  }
149
280
  }
150
- finally {
151
- monitor.stop();
152
- await convo.end();
153
- }
154
281
  // Finalize the run metadata.
155
282
  const finishedAt = new Date().toISOString();
156
283
  meta.finishedAt = finishedAt;
@@ -158,20 +285,22 @@ export async function evalCommand(repoRoot, options) {
158
285
  meta.timedOut = timedOut;
159
286
  meta.artifacts = readdirSync(artifactsDirAbs).filter((f) => f !== "meta.json");
160
287
  writeFileSync(join(artifactsDirAbs, "meta.json"), JSON.stringify(meta, null, 2));
161
- // Always surface whatever was saved, even on timeout.
288
+ // Surface saved results from THIS run only (otherwise stale records from earlier
289
+ // invocations leak into the report — what looked like "5 scenarios ran" but only 2 actually did).
162
290
  log.info("");
163
- renderSavedDynamicResults(repoRoot);
164
- log.info(color.dim(`\n Run artifacts: ${artifactsDirRel}/ (meta.json + any diff/output the run saved)`));
165
- log.info(color.dim(" Re-run a single scenario with: agentrig eval --dynamic --scenario <id>"));
166
- log.info(color.dim(" Raise the cap with: --timeout <minutes>"));
291
+ renderSavedDynamicResults(repoRoot, runId);
292
+ log.info(color.dim(`\n Run artifacts: ${artifactsDirRel}/`));
293
+ log.info(color.dim(" Compare with baseline: `agentrig eval --dynamic --variant baseline --n 5`, then `node .agentrig/eval/score.mjs compare --scenario <id> --baseline baseline`"));
167
294
  return timedOut ? 1 : 0;
168
295
  }
169
- /** Run the installed score.mjs aggregator and print its report (best-effort). */
170
- function renderSavedDynamicResults(repoRoot) {
296
+ /** Run the installed score.mjs aggregator and print its report, scoped to a specific run id
297
+ * so old saved results from earlier invocations don't leak into the current report. */
298
+ function renderSavedDynamicResults(repoRoot, runId) {
171
299
  const scoreScript = join(repoRoot, ".agentrig", "eval", "score.mjs");
172
300
  if (!existsSync(scoreScript))
173
301
  return;
174
- const res = spawnSync(process.execPath, [scoreScript, "report"], { encoding: "utf8" });
302
+ const args = [scoreScript, "report", ...(runId ? ["--run", runId] : [])];
303
+ const res = spawnSync(process.execPath, args, { encoding: "utf8" });
175
304
  if (res.stdout)
176
305
  process.stdout.write(res.stdout);
177
306
  }
@@ -1 +1 @@
1
- {"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/commands/eval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC1F,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAoB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE7E,iGAAiG;AACjG,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,MAAe;IAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IAClE,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACtE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,GAAG,CAAC,KAAK,CAAC,wEAAwE,CAAC,CAAC;QACpF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IACxD,MAAM,SAAS,GAAkD,EAAE,CAAC;IACpE,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,IAAI,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW;gBAAE,SAAS;YACtD,MAAM,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YACvD,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;YACjG,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACrH,CAAC;IACH,CAAC;IAED,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7H,OAAO,CAAC,CAAC;IACX,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC,CAAC;IACpE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,+EAA+E,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC;IAC7K,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAA0E,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9H,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/D,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5D,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACnC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACpD,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;IACH,CAAC;IACD,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;IACxE,KAAK,MAAM,CAAC,IAAI,SAAS;QAAE,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC1H,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC,CAAC;IAC/E,OAAO,CAAC,CAAC;AACX,CAAC;AAED,kFAAkF;AAClF,SAAS,OAAO,CAAC,QAAgB;IAC/B,MAAM,GAAG,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1F,OAAO,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAmB;IAC7C,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACjD,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IAC3D,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAC1G,MAAM,GAAG,GACP,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACnG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAClD,IAAI,CAAC,CAAC,QAAQ;YAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;IAChE,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;IAClH,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,UAAU,CAAC,GAAG,MAAM,CAAC,YAAY,GAAG,CAAC,MAAM,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,eAAe,CAAC,CAAC;AAC3I,CAAC;AAcD,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAgB,EAAE,OAAoB;IACtE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QACtC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC3B,GAAG,CAAC,IAAI,CAAC,+EAA+E,CAAC,CAAC;gBAC1F,GAAG,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;YACpD,CAAC;YACD,WAAW,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QACD,IAAI,OAAO,CAAC,GAAG,IAAI,IAAI,IAAI,MAAM,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAC7D,GAAG,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,YAAY,uBAAuB,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC;YACrF,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,gEAAgE;IAChE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,KAAK,CAAC,6EAA6E,CAAC,CAAC;QACzF,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,CAAC;IACvC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,GAAG,CAAC,KAAK,CAAC,sBAAsB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,CAAC;IACX,CAAC;IACD,GAAG,CAAC,EAAE,CAAC,gBAAgB,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC;IACzF,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,SAAS,CAAC;IAE7C,6FAA6F;IAC7F,MAAM,KAAK,GAAG,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;IACtE,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACtF,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5E,SAAS,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,MAAM,IAAI,GAA4B;QACpC,KAAK;QACL,SAAS;QACT,QAAQ,EAAE,QAAQ,CAAC,IAAI;QACvB,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,IAAI;QAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK;QACnC,OAAO;QACP,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC;KAC3B,CAAC;IACF,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAEjF,GAAG,CAAC,IAAI,CAAC,wCAAwC,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,cAAc,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,0BAA0B,CAAC,CAAC;IACjI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,KAAK,8BAA8B,eAAe,GAAG,CAAC,CAAC,CAAC;IACpF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC,CAAC;IAE5E,MAAM,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC,KAAK,EAAE,CAAC;IAC9C,MAAM,mBAAmB,GAAG;QAC1B,GAAG,EAAE,QAAQ;QACb,aAAa,EAAE,cAAc;QAC7B,OAAO,EAAE,OAAO,CAAC,MAAM;QACvB,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClD,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,cAAc,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACjF,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,CAAC;IACpE,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACtJ,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,IAAI,GAAG,YAAY,iBAAiB,EAAE,CAAC;YACrC,QAAQ,GAAG,IAAI,CAAC;YAChB,GAAG,CAAC,IAAI,CAAC,kBAAkB,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC;YAC3C,GAAG,CAAC,IAAI,CAAC,oEAAoE,CAAC,CAAC;QACjF,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,6BAA6B;IAC7B,MAAM,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC7B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACjE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACzB,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC;IAC/E,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAEjF,sDAAsD;IACtD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACb,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IACpC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,sBAAsB,eAAe,+CAA+C,CAAC,CAAC,CAAC;IAC1G,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,0EAA0E,CAAC,CAAC,CAAC;IAChG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC,CAAC;IACjE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC1B,CAAC;AAED,iFAAiF;AACjF,SAAS,yBAAyB,CAAC,QAAgB;IACjD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;IACrE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;QAAE,OAAO;IACrC,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACvF,IAAI,GAAG,CAAC,MAAM;QAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/commands/eval.ts"],"names":[],"mappings":"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"}