@cliwatch/cli-bench 0.6.3 → 0.7.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 (71) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +3 -0
  3. package/dist/assertions.d.ts +1 -1
  4. package/dist/assertions.d.ts.map +1 -1
  5. package/dist/assertions.js +6 -6
  6. package/dist/assertions.js.map +1 -1
  7. package/dist/ci.d.ts.map +1 -1
  8. package/dist/ci.js +14 -0
  9. package/dist/ci.js.map +1 -1
  10. package/dist/client/index.d.ts +1 -1
  11. package/dist/client/index.d.ts.map +1 -1
  12. package/dist/client/types.gen.d.ts +143 -93
  13. package/dist/client/types.gen.d.ts.map +1 -1
  14. package/dist/client/zod.gen.d.ts +75 -42
  15. package/dist/client/zod.gen.d.ts.map +1 -1
  16. package/dist/client/zod.gen.js +86 -54
  17. package/dist/client/zod.gen.js.map +1 -1
  18. package/dist/config.d.ts +2 -3
  19. package/dist/config.d.ts.map +1 -1
  20. package/dist/config.js +8 -15
  21. package/dist/config.js.map +1 -1
  22. package/dist/exec.d.ts +2 -0
  23. package/dist/exec.d.ts.map +1 -1
  24. package/dist/exec.js +6 -2
  25. package/dist/exec.js.map +1 -1
  26. package/dist/github-comment.d.ts +16 -0
  27. package/dist/github-comment.d.ts.map +1 -0
  28. package/dist/github-comment.js +90 -0
  29. package/dist/github-comment.js.map +1 -0
  30. package/dist/index.d.ts +2 -3
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +31 -36
  33. package/dist/index.js.map +1 -1
  34. package/dist/init.js +1 -1
  35. package/dist/models.d.ts +9 -9
  36. package/dist/models.d.ts.map +1 -1
  37. package/dist/models.js +1 -1
  38. package/dist/models.js.map +1 -1
  39. package/dist/project.d.ts +11 -2
  40. package/dist/project.d.ts.map +1 -1
  41. package/dist/project.js +108 -9
  42. package/dist/project.js.map +1 -1
  43. package/dist/prompt.d.ts +2 -8
  44. package/dist/prompt.d.ts.map +1 -1
  45. package/dist/prompt.js +2 -35
  46. package/dist/prompt.js.map +1 -1
  47. package/dist/providers.d.ts +9 -7
  48. package/dist/providers.d.ts.map +1 -1
  49. package/dist/providers.js +26 -8
  50. package/dist/providers.js.map +1 -1
  51. package/dist/runner.d.ts +32 -4
  52. package/dist/runner.d.ts.map +1 -1
  53. package/dist/runner.js +177 -177
  54. package/dist/runner.js.map +1 -1
  55. package/dist/schemas.d.ts +20 -1
  56. package/dist/schemas.d.ts.map +1 -1
  57. package/dist/schemas.js +8 -1
  58. package/dist/schemas.js.map +1 -1
  59. package/dist/suite-generator.d.ts.map +1 -1
  60. package/dist/suite-generator.js +93 -10
  61. package/dist/suite-generator.js.map +1 -1
  62. package/package.json +2 -2
  63. package/dist/help-loader.d.ts +0 -17
  64. package/dist/help-loader.d.ts.map +0 -1
  65. package/dist/help-loader.js +0 -65
  66. package/dist/help-loader.js.map +0 -1
  67. package/task_suites/curl.yaml +0 -138
  68. package/task_suites/docker.yaml +0 -163
  69. package/task_suites/gh.yaml +0 -118
  70. package/task_suites/jq.yaml +0 -172
  71. package/task_suites/kubectl.yaml +0 -74
package/dist/runner.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Orchestrates the task x model x contextMode matrix with tool-calling agents.
2
+ * Orchestrates the task x model matrix with tool-calling agents.
3
3
  *
4
4
  * For each task:
5
5
  * - Create temp workdir (or use configured one)
@@ -9,7 +9,7 @@
9
9
  * - After maxSteps or completion: run assertions
10
10
  * - Aggregate into GridReport
11
11
  */
12
- import { readFile, readdir, mkdtemp, rm } from 'node:fs/promises';
12
+ import { readFile, mkdtemp, rm, cp } from 'node:fs/promises';
13
13
  import { join } from 'node:path';
14
14
  import { tmpdir } from 'node:os';
15
15
  import { parse as parseYaml } from 'yaml';
@@ -18,7 +18,6 @@ import { z } from 'zod';
18
18
  import { getModel, filterModels } from './providers.js';
19
19
  import { buildSystemMessage, buildUserMessage } from './prompt.js';
20
20
  import { runAssertions } from './assertions.js';
21
- import { loadTopLevelHelp } from './help-loader.js';
22
21
  import { execCommand, runSetup } from './exec.js';
23
22
  import { TaskSuiteSchema } from './schemas.js';
24
23
  import { detectCI, computeTaskSuiteHash } from './ci.js';
@@ -29,21 +28,29 @@ export async function loadTaskSuite(filePath) {
29
28
  const data = TaskSuiteSchema.parse(parsed);
30
29
  return data;
31
30
  }
32
- export async function discoverTaskSuites(suiteDir) {
33
- const suites = new Map();
34
- try {
35
- const files = await readdir(suiteDir);
36
- for (const f of files) {
37
- if (f.endsWith('.yaml') || f.endsWith('.yml')) {
38
- const name = f.replace(/\.ya?ml$/, '');
39
- suites.set(name, join(suiteDir, f));
40
- }
41
- }
42
- }
43
- catch {
44
- // No task suites dir
31
+ /**
32
+ * Replace {{workdir}} in a string with the actual path.
33
+ */
34
+ export function resolveTemplate(s, vars) {
35
+ return s.replace(/\{\{workdir\}\}/g, vars.workdir);
36
+ }
37
+ /**
38
+ * Resolve env var templates: replace {{workdir}} with actual path.
39
+ */
40
+ export function resolveEnv(env, vars) {
41
+ if (!env || Object.keys(env).length === 0)
42
+ return undefined;
43
+ const resolved = {};
44
+ for (const [key, value] of Object.entries(env)) {
45
+ resolved[key] = resolveTemplate(value, vars);
45
46
  }
46
- return suites;
47
+ return resolved;
48
+ }
49
+ /**
50
+ * Resolve {{workdir}} in an array of command strings.
51
+ */
52
+ export function resolveCommands(commands, vars) {
53
+ return commands.map((cmd) => resolveTemplate(cmd, vars));
47
54
  }
48
55
  /**
49
56
  * Simple concurrency limiter.
@@ -86,7 +93,7 @@ async function detectCliVersion(versionCommand) {
86
93
  /**
87
94
  * Run a single task with tool-calling agent, then run assertions.
88
95
  */
89
- async function runAgentTask(model, systemMessage, userMessage, task, workdir) {
96
+ async function runAgentTask(model, systemMessage, userMessage, task, workdir, taskEnv, modelOverride) {
90
97
  const commandsRun = [];
91
98
  let lastStdout = '';
92
99
  let lastStderr = '';
@@ -94,7 +101,7 @@ async function runAgentTask(model, systemMessage, userMessage, task, workdir) {
94
101
  const start = Date.now();
95
102
  try {
96
103
  const result = await generateText({
97
- model: getModel(model.id),
104
+ model: modelOverride ?? getModel(model.id),
98
105
  system: systemMessage,
99
106
  prompt: userMessage,
100
107
  tools: {
@@ -105,7 +112,7 @@ async function runAgentTask(model, systemMessage, userMessage, task, workdir) {
105
112
  }),
106
113
  execute: async (input) => {
107
114
  commandsRun.push(input.command);
108
- const { stdout, stderr, exitCode } = await execCommand(input.command, { cwd: workdir });
115
+ const { stdout, stderr, exitCode } = await execCommand(input.command, { cwd: workdir, env: taskEnv });
109
116
  lastStdout = stdout;
110
117
  lastStderr = stderr;
111
118
  lastExitCode = exitCode;
@@ -123,7 +130,7 @@ async function runAgentTask(model, systemMessage, userMessage, task, workdir) {
123
130
  totalInputTokens += step.usage?.inputTokens ?? 0;
124
131
  totalOutputTokens += step.usage?.outputTokens ?? 0;
125
132
  }
126
- const assertionResults = await runAssertions(task.assert, { commandsRun, lastStdout, lastStderr, lastExitCode }, workdir);
133
+ const assertionResults = await runAssertions(task.assert, { commandsRun, lastStdout, lastStderr, lastExitCode }, workdir, taskEnv);
127
134
  const allPassed = assertionResults.every((r) => r.passed);
128
135
  const failures = assertionResults
129
136
  .filter((r) => !r.passed)
@@ -182,7 +189,7 @@ async function runAgentTask(model, systemMessage, userMessage, task, workdir) {
182
189
  function isInfraError(t) {
183
190
  return t.totalInputTokens + t.totalOutputTokens === 0 && !t.passed;
184
191
  }
185
- function aggregateModelResult(model, taskResults, contextMode) {
192
+ function aggregateModelResult(model, taskResults) {
186
193
  // Exclude infra errors from pass rate — they're not real task failures
187
194
  const scorable = taskResults.filter((t) => !isInfraError(t));
188
195
  const infraErrors = taskResults.length - scorable.length;
@@ -207,7 +214,6 @@ function aggregateModelResult(model, taskResults, contextMode) {
207
214
  provider: model.provider,
208
215
  modelId: model.id,
209
216
  displayName: model.displayName,
210
- contextMode,
211
217
  taskResults,
212
218
  passRate,
213
219
  avgTurnsToSuccess,
@@ -219,97 +225,39 @@ export async function runGrid(opts) {
219
225
  const { config } = opts;
220
226
  const reports = [];
221
227
  const limiter = createLimiter(config.concurrency);
222
- if (opts.tasks && opts.cliName) {
223
- // Config file mode single CLI run
224
- const report = await runCliGrid({
225
- cliName: opts.cliName,
226
- tasks: opts.tasks,
227
- models: opts.models ?? filterModels(config.models),
228
- contextModes: config.contextModes,
229
- limiter,
230
- config,
231
- versionCommand: opts.versionCommand,
232
- workdir: opts.workdir,
233
- globalRepeat: opts.globalRepeat,
234
- systemPrompt: opts.systemPrompt,
235
- displayName: opts.displayName,
236
- category: opts.category,
237
- websiteUrl: opts.websiteUrl,
238
- githubUrl: opts.githubUrl,
239
- taskSuiteContent: opts.taskSuiteContent,
240
- configDir: opts.configDir,
241
- redactEnvVars: opts.redactEnvVars,
242
- redactPatterns: opts.redactPatterns,
243
- });
244
- if (report)
245
- reports.push(report);
246
- return reports;
247
- }
248
- // Legacy task_suites/ discovery mode
249
- const suiteDir = join(new URL('.', import.meta.url).pathname.replace(/\/src\/$/, '').replace(/\/dist\/$/, ''), 'task_suites');
250
- const suiteMap = await discoverTaskSuites(suiteDir);
251
- const models = filterModels(config.models);
252
- const cliFilter = config.filter.length > 0
253
- ? config.filter
254
- : [...suiteMap.keys()];
255
- for (const cliName of cliFilter) {
256
- const suitePath = suiteMap.get(cliName);
257
- if (!suitePath) {
258
- console.error(`No task suite found for CLI: ${cliName}`);
259
- continue;
260
- }
261
- const suite = await loadTaskSuite(suitePath);
262
- const report = await runCliGrid({
263
- cliName,
264
- tasks: suite.tasks,
265
- models,
266
- contextModes: config.contextModes,
267
- limiter,
268
- config,
269
- versionCommand: suite.version_command,
270
- displayName: suite.display_name,
271
- category: suite.category,
272
- websiteUrl: suite.website_url,
273
- githubUrl: suite.github_url,
274
- });
275
- if (report)
276
- reports.push(report);
228
+ if (!opts.tasks || !opts.cliName) {
229
+ throw new Error('tasks and cliName are required');
277
230
  }
231
+ const report = await runCliGrid({
232
+ cliName: opts.cliName,
233
+ tasks: opts.tasks,
234
+ models: opts.models ?? filterModels(config.models),
235
+ limiter,
236
+ config,
237
+ versionCommand: opts.versionCommand,
238
+ workdir: opts.workdir,
239
+ globalRepeat: opts.globalRepeat,
240
+ systemPrompt: opts.systemPrompt,
241
+ displayName: opts.displayName,
242
+ category: opts.category,
243
+ websiteUrl: opts.websiteUrl,
244
+ githubUrl: opts.githubUrl,
245
+ taskSuiteContent: opts.taskSuiteContent,
246
+ redactEnvVars: opts.redactEnvVars,
247
+ redactPatterns: opts.redactPatterns,
248
+ fileEnv: opts.fileEnv,
249
+ fileSetup: opts.fileSetup,
250
+ fileCleanup: opts.fileCleanup,
251
+ fileScaffold: opts.fileScaffold,
252
+ projectFiles: opts.projectFiles,
253
+ modelOverride: opts.modelOverride,
254
+ });
255
+ if (report)
256
+ reports.push(report);
278
257
  return reports;
279
258
  }
280
- /**
281
- * Load context payload for a given mode.
282
- */
283
- async function loadContextPayload(contextMode, cliName, configDir) {
284
- switch (contextMode) {
285
- case 'help': {
286
- const helpText = await loadTopLevelHelp(cliName);
287
- if (!helpText) {
288
- console.warn(` Warning: could not capture --help for ${cliName}, falling back to zero-shot`);
289
- }
290
- return helpText;
291
- }
292
- case 'docs': {
293
- if (!configDir) {
294
- console.warn(` Warning: no config directory for docs mode, falling back to zero-shot`);
295
- return null;
296
- }
297
- try {
298
- const docsPath = join(configDir, 'docs.md');
299
- return await readFile(docsPath, 'utf-8');
300
- }
301
- catch {
302
- console.warn(` Warning: docs.md not found in ${configDir}, falling back to zero-shot`);
303
- return null;
304
- }
305
- }
306
- case 'zero-shot':
307
- default:
308
- return null;
309
- }
310
- }
311
259
  async function runCliGrid(opts) {
312
- const { cliName, tasks, models, contextModes, limiter, config, versionCommand, systemPrompt } = opts;
260
+ const { cliName, tasks, models, limiter, config, versionCommand, systemPrompt } = opts;
313
261
  const redact = buildRedactor({
314
262
  envVarNames: opts.redactEnvVars ?? [],
315
263
  patterns: opts.redactPatterns ?? [],
@@ -326,85 +274,136 @@ async function runCliGrid(opts) {
326
274
  if (config.dryRun) {
327
275
  const firstTask = tasks[0];
328
276
  if (firstTask) {
329
- for (const contextMode of contextModes) {
330
- const contextPayload = await loadContextPayload(contextMode, cliName, opts.configDir);
331
- const sysMsg = buildSystemMessage(systemPrompt);
332
- const userMessage = buildUserMessage(cliName, firstTask, contextMode, contextPayload);
333
- console.log(`\n--- Dry Run: ${cliName} / ${firstTask.id} (${contextMode}) ---`);
334
- console.log(`System: ${sysMsg}\n`);
335
- console.log(`User:\n${userMessage}\n`);
336
- console.log(`--- End Dry Run ---\n`);
277
+ const sysMsg = buildSystemMessage(systemPrompt);
278
+ const userMessage = buildUserMessage(cliName, firstTask);
279
+ const dryEnv = resolveEnv({ ...opts.fileEnv, ...firstTask.env }, { workdir: '/tmp/cli-bench-XXXXXX' });
280
+ const dryScaffold = firstTask.scaffold !== false
281
+ ? (firstTask.scaffold ?? opts.fileScaffold)
282
+ : undefined;
283
+ console.log(`\n--- Dry Run: ${cliName} / ${firstTask.id} ---`);
284
+ console.log(`System: ${sysMsg}\n`);
285
+ console.log(`User:\n${userMessage}\n`);
286
+ if (dryScaffold) {
287
+ console.log(`Scaffold: ${dryScaffold}\n`);
288
+ }
289
+ if (dryEnv) {
290
+ console.log(`Env: ${JSON.stringify(dryEnv, null, 2)}\n`);
337
291
  }
292
+ console.log(`--- End Dry Run ---\n`);
338
293
  }
339
294
  return null;
340
295
  }
341
296
  const modelResults = [];
342
- for (const contextMode of contextModes) {
343
- console.log(`\n Context: ${contextMode}`);
344
- const contextPayload = await loadContextPayload(contextMode, cliName, opts.configDir);
345
- const sysMsg = buildSystemMessage(systemPrompt);
346
- for (const model of models) {
347
- console.log(` Model: ${model.displayName}`);
348
- const taskResults = [];
349
- const workItems = [];
350
- for (const task of tasks) {
351
- const repeatCount = opts.globalRepeat ?? task.repeat ?? 1;
352
- for (let ri = 0; ri < repeatCount; ri++) {
353
- workItems.push({ task, repeatIndex: ri, repeatTotal: repeatCount });
297
+ const sysMsg = buildSystemMessage(systemPrompt);
298
+ for (const model of models) {
299
+ console.log(` Model: ${model.displayName}`);
300
+ const taskResults = [];
301
+ const workItems = [];
302
+ for (const task of tasks) {
303
+ const repeatCount = opts.globalRepeat ?? task.repeat ?? 1;
304
+ for (let ri = 0; ri < repeatCount; ri++) {
305
+ workItems.push({ task, repeatIndex: ri, repeatTotal: repeatCount });
306
+ }
307
+ }
308
+ const taskPromises = workItems.map(({ task, repeatIndex, repeatTotal }) => limiter.run(async () => {
309
+ // Fresh temp workdir per repeat -- critical for independence
310
+ const workdir = opts.workdir ?? config.workdir ?? await mkdtemp(join(tmpdir(), 'cli-bench-'));
311
+ const shouldCleanup = !opts.workdir && !config.workdir;
312
+ // Merge config-level + task-level env, resolve {{workdir}} templates
313
+ const taskEnv = resolveEnv({ ...opts.fileEnv, ...task.env }, { workdir });
314
+ try {
315
+ // Copy scaffold into workdir (task-level overrides config-level, false disables)
316
+ const scaffold = task.scaffold !== false
317
+ ? (task.scaffold ?? opts.fileScaffold)
318
+ : undefined;
319
+ if (scaffold) {
320
+ await cp(scaffold, workdir, { recursive: true });
354
321
  }
322
+ const userMessage = buildUserMessage(cliName, task);
323
+ if (opts.fileSetup && opts.fileSetup.length > 0) {
324
+ await runSetup(resolveCommands(opts.fileSetup, { workdir }), { cwd: workdir, env: taskEnv });
325
+ }
326
+ if (task.setup && task.setup.length > 0) {
327
+ await runSetup(resolveCommands(task.setup, { workdir }), { cwd: workdir, env: taskEnv });
328
+ }
329
+ const agentResult = await runAgentTask(model, sysMsg, userMessage, task, workdir, taskEnv, opts.modelOverride);
330
+ const taskEval = {
331
+ taskId: task.id,
332
+ passed: agentResult.passed,
333
+ failureReason: agentResult.failureReason,
334
+ assertionResults: agentResult.assertionResults,
335
+ turnsUsed: agentResult.turnsUsed,
336
+ totalInputTokens: agentResult.totalInputTokens,
337
+ totalOutputTokens: agentResult.totalOutputTokens,
338
+ totalLatencyMs: agentResult.totalLatencyMs,
339
+ commandsRun: agentResult.commandsRun,
340
+ difficulty: task.difficulty,
341
+ category: task.category,
342
+ conversationTrace: agentResult.conversationTrace,
343
+ taskDefinition: {
344
+ id: task.id,
345
+ intent: task.intent,
346
+ assert: task.assert,
347
+ setup: task.setup,
348
+ max_turns: task.max_turns,
349
+ difficulty: task.difficulty,
350
+ category: task.category,
351
+ },
352
+ repeatIndex: repeatTotal > 1 ? repeatIndex : undefined,
353
+ };
354
+ const totalTokens = agentResult.totalInputTokens + agentResult.totalOutputTokens;
355
+ const icon = agentResult.passed ? '✓' : totalTokens === 0 ? '⚠' : '✗';
356
+ const repeatLabel = repeatTotal > 1 ? ` [${repeatIndex + 1}/${repeatTotal}]` : '';
357
+ console.log(` ${icon} ${task.id}${repeatLabel} (turns=${agentResult.turnsUsed}, tokens=${totalTokens})`);
358
+ return redact(taskEval);
355
359
  }
356
- const taskPromises = workItems.map(({ task, repeatIndex, repeatTotal }) => limiter.run(async () => {
357
- // Fresh temp workdir per repeatcritical for independence
358
- const workdir = opts.workdir ?? config.workdir ?? await mkdtemp(join(tmpdir(), 'cli-bench-'));
359
- const shouldCleanup = !opts.workdir && !config.workdir;
360
- try {
361
- const userMessage = buildUserMessage(cliName, task, contextMode, contextPayload);
362
- if (task.setup && task.setup.length > 0) {
363
- await runSetup(task.setup, { cwd: workdir });
364
- }
365
- const agentResult = await runAgentTask(model, sysMsg, userMessage, task, workdir);
366
- const taskEval = {
367
- taskId: task.id,
368
- passed: agentResult.passed,
369
- failureReason: agentResult.failureReason,
370
- assertionResults: agentResult.assertionResults,
371
- turnsUsed: agentResult.turnsUsed,
372
- totalInputTokens: agentResult.totalInputTokens,
373
- totalOutputTokens: agentResult.totalOutputTokens,
374
- totalLatencyMs: agentResult.totalLatencyMs,
375
- commandsRun: agentResult.commandsRun,
360
+ catch (e) {
361
+ // Scaffold copy or setup failurereturn a failed TaskEval
362
+ // instead of crashing the entire grid
363
+ const repeatLabel = repeatTotal > 1 ? ` [${repeatIndex + 1}/${repeatTotal}]` : '';
364
+ const reason = e instanceof Error ? e.message : String(e);
365
+ console.log(` ⚠ ${task.id}${repeatLabel} (setup error: ${reason})`);
366
+ return redact({
367
+ taskId: task.id,
368
+ passed: false,
369
+ failureReason: reason,
370
+ assertionResults: [],
371
+ turnsUsed: 0,
372
+ totalInputTokens: 0,
373
+ totalOutputTokens: 0,
374
+ totalLatencyMs: 0,
375
+ commandsRun: [],
376
+ difficulty: task.difficulty,
377
+ category: task.category,
378
+ conversationTrace: [{ error: reason }],
379
+ taskDefinition: {
380
+ id: task.id,
381
+ intent: task.intent,
382
+ assert: task.assert,
383
+ setup: task.setup,
384
+ max_turns: task.max_turns,
376
385
  difficulty: task.difficulty,
377
386
  category: task.category,
378
- conversationTrace: agentResult.conversationTrace,
379
- taskDefinition: {
380
- id: task.id,
381
- intent: task.intent,
382
- assert: task.assert,
383
- setup: task.setup,
384
- max_turns: task.max_turns,
385
- difficulty: task.difficulty,
386
- category: task.category,
387
- },
388
- repeatIndex: repeatTotal > 1 ? repeatIndex : undefined,
389
- };
390
- const totalTokens = agentResult.totalInputTokens + agentResult.totalOutputTokens;
391
- const icon = agentResult.passed ? '✓' : totalTokens === 0 ? '⚠' : '✗';
392
- const repeatLabel = repeatTotal > 1 ? ` [${repeatIndex + 1}/${repeatTotal}]` : '';
393
- console.log(` ${icon} ${task.id}${repeatLabel} (turns=${agentResult.turnsUsed}, tokens=${totalTokens})`);
394
- return redact(taskEval);
387
+ },
388
+ repeatIndex: repeatTotal > 1 ? repeatIndex : undefined,
389
+ });
390
+ }
391
+ finally {
392
+ // Run cleanup commands (task-level first, then config-level)
393
+ const cleanup = [...(task.cleanup ?? []), ...(opts.fileCleanup ?? [])];
394
+ if (cleanup.length > 0) {
395
+ await runSetup(resolveCommands(cleanup, { workdir }), { cwd: workdir, env: taskEnv });
395
396
  }
396
- finally {
397
- if (shouldCleanup) {
398
- await rm(workdir, { recursive: true, force: true }).catch(() => { });
399
- }
397
+ if (shouldCleanup) {
398
+ await rm(workdir, { recursive: true, force: true }).catch(() => { });
400
399
  }
401
- }));
402
- const results = await Promise.all(taskPromises);
403
- for (const taskEval of results) {
404
- taskResults.push(taskEval);
405
400
  }
406
- modelResults.push(aggregateModelResult(model, taskResults, contextMode));
401
+ }));
402
+ const results = await Promise.all(taskPromises);
403
+ for (const taskEval of results) {
404
+ taskResults.push(taskEval);
407
405
  }
406
+ modelResults.push(aggregateModelResult(model, taskResults));
408
407
  }
409
408
  const ciMetadata = detectCI();
410
409
  const taskSuiteHash = computeTaskSuiteHash(tasks);
@@ -434,6 +433,7 @@ async function runCliGrid(opts) {
434
433
  ...ciMetadata,
435
434
  taskSuiteHash,
436
435
  taskSuiteContent: opts.taskSuiteContent,
436
+ projectFiles: opts.projectFiles,
437
437
  };
438
438
  printReportSummary(report);
439
439
  const redacted = redact(report);
@@ -447,7 +447,7 @@ function printReportSummary(report) {
447
447
  console.log(`\n--- ${report.cli} Summary ---`);
448
448
  console.log(`Tasks: ${report.taskCount}${report.totalEvals ? `, Evals: ${report.totalEvals}` : ''}`);
449
449
  for (const mr of report.modelResults) {
450
- console.log(` ${mr.displayName} [${mr.contextMode}]: pass=${(mr.passRate * 100).toFixed(0)}% avgTurns=${mr.avgTurnsToSuccess.toFixed(1)} avgTokens=${Math.round(mr.avgTotalTokens)}`);
450
+ console.log(` ${mr.displayName}: pass=${(mr.passRate * 100).toFixed(0)}% avgTurns=${mr.avgTurnsToSuccess.toFixed(1)} avgTokens=${Math.round(mr.avgTotalTokens)}`);
451
451
  // Per-task breakdown when repeats are used
452
452
  if (report.totalEvals && report.totalEvals > report.taskCount) {
453
453
  const byTask = new Map();
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../src/runner.ts"],"names":[],"mappings":"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"}
package/dist/schemas.d.ts CHANGED
@@ -70,6 +70,8 @@ export declare const TaskSchema: z.ZodObject<{
70
70
  }, z.core.$strip>;
71
71
  }, z.core.$strip>]>>;
72
72
  setup: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
73
+ cleanup: z.ZodOptional<z.ZodArray<z.ZodString>>;
74
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
73
75
  max_turns: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
74
76
  difficulty: z.ZodOptional<z.ZodEnum<{
75
77
  easy: "easy";
@@ -78,6 +80,8 @@ export declare const TaskSchema: z.ZodObject<{
78
80
  }>>;
79
81
  category: z.ZodOptional<z.ZodString>;
80
82
  repeat: z.ZodOptional<z.ZodNumber>;
83
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
84
+ scaffold: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<false>]>>;
81
85
  }, z.core.$strip>;
82
86
  export declare const TaskSuiteSchema: z.ZodObject<{
83
87
  cli: z.ZodString;
@@ -122,6 +126,8 @@ export declare const TaskSuiteSchema: z.ZodObject<{
122
126
  }, z.core.$strip>;
123
127
  }, z.core.$strip>]>>;
124
128
  setup: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
129
+ cleanup: z.ZodOptional<z.ZodArray<z.ZodString>>;
130
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
125
131
  max_turns: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
126
132
  difficulty: z.ZodOptional<z.ZodEnum<{
127
133
  easy: "easy";
@@ -130,6 +136,8 @@ export declare const TaskSuiteSchema: z.ZodObject<{
130
136
  }>>;
131
137
  category: z.ZodOptional<z.ZodString>;
132
138
  repeat: z.ZodOptional<z.ZodNumber>;
139
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
140
+ scaffold: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<false>]>>;
133
141
  }, z.core.$strip>>;
134
142
  }, z.core.$strip>;
135
143
  /** Schema for a task file referenced via file:// — plain array of tasks. */
@@ -169,6 +177,8 @@ export declare const TaskFileSchema: z.ZodArray<z.ZodObject<{
169
177
  }, z.core.$strip>;
170
178
  }, z.core.$strip>]>>;
171
179
  setup: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
180
+ cleanup: z.ZodOptional<z.ZodArray<z.ZodString>>;
181
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
172
182
  max_turns: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
173
183
  difficulty: z.ZodOptional<z.ZodEnum<{
174
184
  easy: "easy";
@@ -177,6 +187,8 @@ export declare const TaskFileSchema: z.ZodArray<z.ZodObject<{
177
187
  }>>;
178
188
  category: z.ZodOptional<z.ZodString>;
179
189
  repeat: z.ZodOptional<z.ZodNumber>;
190
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
191
+ scaffold: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<false>]>>;
180
192
  }, z.core.$strip>>;
181
193
  export declare const ThresholdsSchema: z.ZodOptional<z.ZodObject<{
182
194
  default: z.ZodOptional<z.ZodNumber>;
@@ -196,7 +208,6 @@ export declare const ConfigFileSchema: z.ZodObject<{
196
208
  website_url: z.ZodOptional<z.ZodString>;
197
209
  github_url: z.ZodOptional<z.ZodString>;
198
210
  providers: z.ZodOptional<z.ZodArray<z.ZodString>>;
199
- context: z.ZodOptional<z.ZodArray<z.ZodString>>;
200
211
  system_prompt: z.ZodOptional<z.ZodString>;
201
212
  concurrency: z.ZodOptional<z.ZodNumber>;
202
213
  workdir: z.ZodOptional<z.ZodString>;
@@ -218,6 +229,10 @@ export declare const ConfigFileSchema: z.ZodObject<{
218
229
  informational: "informational";
219
230
  }>>>;
220
231
  }, z.core.$strip>>;
232
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
233
+ setup: z.ZodOptional<z.ZodArray<z.ZodString>>;
234
+ scaffold: z.ZodOptional<z.ZodString>;
235
+ cleanup: z.ZodOptional<z.ZodArray<z.ZodString>>;
221
236
  tasks: z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
222
237
  id: z.ZodString;
223
238
  intent: z.ZodString;
@@ -254,6 +269,8 @@ export declare const ConfigFileSchema: z.ZodObject<{
254
269
  }, z.core.$strip>;
255
270
  }, z.core.$strip>]>>;
256
271
  setup: z.ZodDefault<z.ZodOptional<z.ZodArray<z.ZodString>>>;
272
+ cleanup: z.ZodOptional<z.ZodArray<z.ZodString>>;
273
+ env: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
257
274
  max_turns: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
258
275
  difficulty: z.ZodOptional<z.ZodEnum<{
259
276
  easy: "easy";
@@ -262,6 +279,8 @@ export declare const ConfigFileSchema: z.ZodObject<{
262
279
  }>>;
263
280
  category: z.ZodOptional<z.ZodString>;
264
281
  repeat: z.ZodOptional<z.ZodNumber>;
282
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
283
+ scaffold: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodLiteral<false>]>>;
265
284
  }, z.core.$strip>, z.ZodString]>>;
266
285
  }, z.core.$strip>;
267
286
  //# sourceMappingURL=schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAW1B,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBASrB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQ1B,CAAC;AAEH,4EAA4E;AAC5E,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAA6B,CAAC;AAEzD,eAAO,MAAM,gBAAgB;;;;;;;;kBAKhB,CAAC;AAEd,2DAA2D;AAC3D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0B3B,CAAC"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAW1B,CAAC;AAEH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAarB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQ1B,CAAC;AAEH,4EAA4E;AAC5E,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAA6B,CAAC;AAEzD,eAAO,MAAM,gBAAgB;;;;;;;;kBAKhB,CAAC;AAEd,2DAA2D;AAC3D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA6B3B,CAAC"}