@bradtaylorsf/alpha-loop 1.4.2 → 1.5.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 (58) hide show
  1. package/README.md +136 -3
  2. package/dist/cli.js +73 -6
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/eval.d.ts +59 -4
  5. package/dist/commands/eval.js +370 -55
  6. package/dist/commands/eval.js.map +1 -1
  7. package/dist/commands/evolve.d.ts +43 -4
  8. package/dist/commands/evolve.js +444 -66
  9. package/dist/commands/evolve.js.map +1 -1
  10. package/dist/commands/init.js +3 -7
  11. package/dist/commands/init.js.map +1 -1
  12. package/dist/commands/plan.d.ts +11 -0
  13. package/dist/commands/plan.js +298 -0
  14. package/dist/commands/plan.js.map +1 -0
  15. package/dist/commands/roadmap.d.ts +9 -0
  16. package/dist/commands/roadmap.js +202 -0
  17. package/dist/commands/roadmap.js.map +1 -0
  18. package/dist/commands/triage.d.ts +9 -0
  19. package/dist/commands/triage.js +226 -0
  20. package/dist/commands/triage.js.map +1 -0
  21. package/dist/commands/vision.js +1 -0
  22. package/dist/commands/vision.js.map +1 -1
  23. package/dist/lib/config.d.ts +20 -0
  24. package/dist/lib/config.js +55 -0
  25. package/dist/lib/config.js.map +1 -1
  26. package/dist/lib/eval-checks.d.ts +11 -1
  27. package/dist/lib/eval-checks.js +39 -0
  28. package/dist/lib/eval-checks.js.map +1 -1
  29. package/dist/lib/eval-fixtures.d.ts +55 -0
  30. package/dist/lib/eval-fixtures.js +172 -0
  31. package/dist/lib/eval-fixtures.js.map +1 -0
  32. package/dist/lib/eval-runner.d.ts +26 -2
  33. package/dist/lib/eval-runner.js +202 -17
  34. package/dist/lib/eval-runner.js.map +1 -1
  35. package/dist/lib/eval-skill-bridge.d.ts +53 -0
  36. package/dist/lib/eval-skill-bridge.js +121 -0
  37. package/dist/lib/eval-skill-bridge.js.map +1 -0
  38. package/dist/lib/eval-swebench.d.ts +68 -0
  39. package/dist/lib/eval-swebench.js +274 -0
  40. package/dist/lib/eval-swebench.js.map +1 -0
  41. package/dist/lib/eval.d.ts +9 -1
  42. package/dist/lib/eval.js +27 -7
  43. package/dist/lib/eval.js.map +1 -1
  44. package/dist/lib/github.d.ts +46 -0
  45. package/dist/lib/github.js +179 -0
  46. package/dist/lib/github.js.map +1 -1
  47. package/dist/lib/pipeline.js +44 -2
  48. package/dist/lib/pipeline.js.map +1 -1
  49. package/dist/lib/planning.d.ts +91 -0
  50. package/dist/lib/planning.js +315 -0
  51. package/dist/lib/planning.js.map +1 -0
  52. package/dist/lib/prompts.d.ts +79 -0
  53. package/dist/lib/prompts.js +151 -2
  54. package/dist/lib/prompts.js.map +1 -1
  55. package/dist/lib/score.d.ts +24 -2
  56. package/dist/lib/score.js +162 -3
  57. package/dist/lib/score.js.map +1 -1
  58. package/package.json +2 -1
@@ -10,18 +10,30 @@ import { createHash } from 'node:crypto';
10
10
  import { log } from './logger.js';
11
11
  import { exec } from './shell.js';
12
12
  import { spawnAgent } from './agent.js';
13
- import { buildImplementPrompt, buildReviewPrompt } from './prompts.js';
13
+ import { buildImplementPrompt, buildReviewPrompt, buildLearnPrompt } from './prompts.js';
14
14
  import { processIssue } from './pipeline.js';
15
15
  import { runChecks } from './eval-checks.js';
16
16
  import { computeCompositeScore, appendScore, hashConfig } from './score.js';
17
17
  import { writeRunManifest, writeConfigSnapshot, writeScores as writeTraceScores, computeScores as computeTraceScores, } from './traces.js';
18
+ import { loadEvalConfig, cloneOrCacheFixtureRepo, extractFixture, setupFixture as runFixtureSetup, } from './eval-fixtures.js';
19
+ import { estimateCost, resolveStepConfig } from './config.js';
18
20
  /**
19
21
  * Run a full eval suite: iterate over cases, execute, collect results.
20
22
  */
21
23
  export async function runEvalSuite(cases, config, options = {}) {
24
+ // Apply pipeline config overrides if provided
25
+ if (options.configOverrides) {
26
+ const mergedPipeline = { ...config.pipeline };
27
+ for (const [step, override] of Object.entries(options.configOverrides)) {
28
+ mergedPipeline[step] = {
29
+ ...(mergedPipeline[step] ?? {}),
30
+ ...override,
31
+ };
32
+ }
33
+ config = { ...config, pipeline: mergedPipeline };
34
+ }
22
35
  const session = `eval-${new Date().toISOString().replace(/[:.]/g, '-').slice(0, 19)}`;
23
36
  const results = [];
24
- let totalCost = 0;
25
37
  // Snapshot harness for tracking
26
38
  const harnessHash = snapshotHarness(config);
27
39
  log.step(`Eval run: ${session} (${cases.length} cases, harness=${harnessHash})`);
@@ -72,6 +84,8 @@ export async function runEvalSuite(cases, config, options = {}) {
72
84
  const passCount = results.filter((r) => r.passed).length;
73
85
  const failCount = results.length - passCount;
74
86
  const totalDuration = results.reduce((sum, r) => sum + r.duration, 0);
87
+ // Accumulate real costs from agent token usage
88
+ const totalCost = results.reduce((sum, r) => sum + (r.costUsd ?? 0), 0);
75
89
  // Record to score history
76
90
  const configObj = {
77
91
  agent: config.agent,
@@ -80,6 +94,7 @@ export async function runEvalSuite(cases, config, options = {}) {
80
94
  maxTestRetries: config.maxTestRetries,
81
95
  testCommand: config.testCommand,
82
96
  harnessHash,
97
+ pipeline: config.pipeline,
83
98
  };
84
99
  const entry = {
85
100
  timestamp: new Date().toISOString(),
@@ -129,7 +144,7 @@ export async function runEvalSuite(cases, config, options = {}) {
129
144
  });
130
145
  }
131
146
  catch { /* non-fatal */ }
132
- return { cases: results, composite, totalDuration, passCount, failCount };
147
+ return { cases: results, composite, totalDuration, totalCost, passCount, failCount };
133
148
  }
134
149
  /**
135
150
  * Run a single e2e eval case.
@@ -218,19 +233,47 @@ async function runStepEval(evalCase, config, session, options) {
218
233
  const startTime = Date.now();
219
234
  const input = evalCase.inputText ?? evalCase.issueBody;
220
235
  const step = evalCase.step ?? 'review';
236
+ // Map eval step names to PipelineStepName for resolveStepConfig
237
+ const pipelineStepMap = {
238
+ plan: 'plan',
239
+ implement: 'implement',
240
+ 'test-fix': 'test_fix',
241
+ review: 'review',
242
+ verify: 'verify',
243
+ learn: 'learn',
244
+ };
245
+ // Resolve per-step agent/model from pipeline config (falls back to top-level)
246
+ const pipelineStep = pipelineStepMap[step];
247
+ const resolved = pipelineStep
248
+ ? resolveStepConfig(config, pipelineStep)
249
+ : { agent: config.agent, model: config.model };
250
+ const resolvedAgent = resolved.agent;
221
251
  let output = '';
252
+ // Accumulate cost/token data from agent invocations
253
+ let caseCostUsd = 0;
254
+ let caseInputTokens = 0;
255
+ let caseOutputTokens = 0;
256
+ const trackCost = (result) => {
257
+ if (result.costUsd)
258
+ caseCostUsd += result.costUsd;
259
+ if (result.inputTokens)
260
+ caseInputTokens += result.inputTokens;
261
+ if (result.outputTokens)
262
+ caseOutputTokens += result.outputTokens;
263
+ };
222
264
  try {
223
265
  // Run the targeted pipeline step
224
266
  switch (step) {
225
267
  case 'plan': {
226
268
  const result = await spawnAgent({
227
- agent: config.agent,
228
- model: config.model,
269
+ agent: resolvedAgent,
270
+ model: resolved.model,
229
271
  prompt: `Plan the implementation for the following issue:\n\n${input}`,
230
272
  cwd: process.cwd(),
231
273
  timeout: (evalCase.timeout || 60) * 1000,
232
274
  });
233
275
  output = result.output;
276
+ trackCost(result);
234
277
  break;
235
278
  }
236
279
  case 'implement': {
@@ -240,13 +283,14 @@ async function runStepEval(evalCase, config, session, options) {
240
283
  body: input,
241
284
  });
242
285
  const result = await spawnAgent({
243
- agent: config.agent,
244
- model: config.model,
286
+ agent: resolvedAgent,
287
+ model: resolved.model,
245
288
  prompt,
246
289
  cwd: process.cwd(),
247
290
  timeout: (evalCase.timeout || 120) * 1000,
248
291
  });
249
292
  output = result.output;
293
+ trackCost(result);
250
294
  break;
251
295
  }
252
296
  case 'review': {
@@ -257,13 +301,14 @@ async function runStepEval(evalCase, config, session, options) {
257
301
  baseBranch: config.baseBranch,
258
302
  });
259
303
  const result = await spawnAgent({
260
- agent: config.agent,
261
- model: config.reviewModel || config.model,
304
+ agent: resolvedAgent,
305
+ model: resolved.model,
262
306
  prompt,
263
307
  cwd: process.cwd(),
264
308
  timeout: (evalCase.timeout || 60) * 1000,
265
309
  });
266
310
  output = result.output;
311
+ trackCost(result);
267
312
  break;
268
313
  }
269
314
  case 'test': {
@@ -278,6 +323,58 @@ async function runStepEval(evalCase, config, session, options) {
278
323
  output = 'Verify step eval not yet supported';
279
324
  break;
280
325
  }
326
+ case 'learn': {
327
+ const prompt = buildLearnPrompt({
328
+ issueNum: 0,
329
+ title: evalCase.issueTitle || 'Eval learn case',
330
+ status: 'failure',
331
+ retries: 0,
332
+ duration: 0,
333
+ diff: '',
334
+ testOutput: '',
335
+ reviewOutput: '',
336
+ verifyOutput: '',
337
+ body: input,
338
+ });
339
+ const result = await spawnAgent({
340
+ agent: resolvedAgent,
341
+ model: config.evalModel || resolved.model,
342
+ prompt,
343
+ cwd: process.cwd(),
344
+ timeout: (evalCase.timeout || 60) * 1000,
345
+ maxTurns: 1,
346
+ });
347
+ output = result.output;
348
+ trackCost(result);
349
+ break;
350
+ }
351
+ case 'skill': {
352
+ // Skill evals: spawn agent with the skill context from input
353
+ const result = await spawnAgent({
354
+ agent: config.agent,
355
+ model: config.evalModel || config.model,
356
+ prompt: input,
357
+ cwd: process.cwd(),
358
+ timeout: (evalCase.timeout || 60) * 1000,
359
+ });
360
+ output = result.output;
361
+ trackCost(result);
362
+ break;
363
+ }
364
+ case 'test-fix': {
365
+ // Test-fix evals: provide failing test output + code, ask agent to fix
366
+ const prompt = `The following test is failing. Diagnose the root cause and fix it.\n\n${input}`;
367
+ const result = await spawnAgent({
368
+ agent: resolvedAgent,
369
+ model: resolved.model,
370
+ prompt,
371
+ cwd: process.cwd(),
372
+ timeout: (evalCase.timeout || 120) * 1000,
373
+ });
374
+ output = result.output;
375
+ trackCost(result);
376
+ break;
377
+ }
281
378
  }
282
379
  }
283
380
  catch (err) {
@@ -297,6 +394,9 @@ async function runStepEval(evalCase, config, session, options) {
297
394
  partialCredit: checkResults.avgScore,
298
395
  retries: 0,
299
396
  duration,
397
+ costUsd: caseCostUsd || undefined,
398
+ inputTokens: caseInputTokens || undefined,
399
+ outputTokens: caseOutputTokens || undefined,
300
400
  details: {
301
401
  successMatch: true,
302
402
  filesMatch: true,
@@ -316,6 +416,9 @@ async function runStepEval(evalCase, config, session, options) {
316
416
  partialCredit: outputMatch ? 1 : 0,
317
417
  retries: 0,
318
418
  duration,
419
+ costUsd: caseCostUsd || undefined,
420
+ inputTokens: caseInputTokens || undefined,
421
+ outputTokens: caseOutputTokens || undefined,
319
422
  details: {
320
423
  successMatch: true,
321
424
  filesMatch: true,
@@ -327,10 +430,16 @@ async function runStepEval(evalCase, config, session, options) {
327
430
  }
328
431
  /**
329
432
  * Prepare a fixture directory for an e2e eval case.
330
- * Clones the repo at the specified ref into a worktree.
433
+ *
434
+ * Supports three modes:
435
+ * 1. Monorepo fixture — fixtureRepo matches a name in config.yaml fixture_repo.fixtures
436
+ * 2. Remote/local repo — fixtureRepo is a GitHub owner/repo or local path
437
+ * 3. Current project — fixtureRepo is empty, uses the current project as fixture
331
438
  */
332
439
  export function prepareFixture(evalCase, projectDir) {
333
440
  const fixtureDir = resolve(projectDir, '.worktrees', `eval-${evalCase.id}`);
441
+ const evalDir = join(projectDir, '.alpha-loop', 'evals');
442
+ const evalConfig = loadEvalConfig(evalDir);
334
443
  // Clean up any existing fixture
335
444
  if (existsSync(fixtureDir)) {
336
445
  rmSync(fixtureDir, { recursive: true, force: true });
@@ -338,38 +447,77 @@ export function prepareFixture(evalCase, projectDir) {
338
447
  mkdirSync(fixtureDir, { recursive: true });
339
448
  const repo = evalCase.fixtureRepo;
340
449
  const ref = evalCase.fixtureRef || 'main';
450
+ // Mode 1: Monorepo fixture — repo name matches a configured fixture
451
+ if (evalConfig.fixture_repo && evalConfig.fixture_repo.fixtures[repo]) {
452
+ const repoDir = cloneOrCacheFixtureRepo(evalConfig.fixture_repo, projectDir);
453
+ extractFixture(repoDir, repo, evalConfig.fixture_repo, fixtureDir);
454
+ const entry = evalConfig.fixture_repo.fixtures[repo];
455
+ runFixtureSetup(fixtureDir, entry);
456
+ return fixtureDir;
457
+ }
458
+ // Mode 1b: SWE-bench repo — look up base_commit from config
459
+ if (evalConfig.swebench_repos && evalCase.source === 'swe-bench') {
460
+ const repoConfig = evalConfig.swebench_repos[repo];
461
+ if (repoConfig) {
462
+ // Clone the repo at the base commit
463
+ const url = `https://github.com/${repo}.git`;
464
+ log.info(`Cloning SWE-bench repo ${repo}...`);
465
+ const cloneResult = exec(`git clone "${url}" "${fixtureDir}"`, { timeout: 120_000 });
466
+ if (cloneResult.exitCode !== 0) {
467
+ throw new Error(`Failed to clone SWE-bench repo ${repo}: ${cloneResult.stderr}`);
468
+ }
469
+ // Checkout base commit
470
+ const checkout = exec(`git checkout "${ref}"`, { cwd: fixtureDir, timeout: 30_000 });
471
+ if (checkout.exitCode !== 0) {
472
+ throw new Error(`Failed to checkout ${ref}: ${checkout.stderr}`);
473
+ }
474
+ return fixtureDir;
475
+ }
476
+ }
477
+ // Mode 2: Remote or local repo
341
478
  if (repo.includes('/') && !existsSync(repo)) {
342
479
  // Remote repo — clone it
343
- const cloneResult = exec(`git clone --depth 1 --branch ${ref} https://github.com/${repo}.git ${fixtureDir}`, { timeout: 120_000 });
480
+ const cloneResult = exec(`git clone --depth 1 --branch "${ref}" "https://github.com/${repo}.git" "${fixtureDir}"`, { timeout: 120_000 });
344
481
  if (cloneResult.exitCode !== 0) {
345
482
  throw new Error(`Failed to clone fixture repo ${repo}: ${cloneResult.stderr}`);
346
483
  }
347
484
  }
348
485
  else if (existsSync(repo)) {
349
486
  // Local repo — copy via git worktree or clone
350
- const cloneResult = exec(`git clone --local --branch ${ref} ${repo} ${fixtureDir}`, { timeout: 30_000 });
487
+ const cloneResult = exec(`git clone --local --branch "${ref}" "${repo}" "${fixtureDir}"`, { timeout: 30_000 });
351
488
  if (cloneResult.exitCode !== 0) {
352
489
  throw new Error(`Failed to clone local fixture ${repo}: ${cloneResult.stderr}`);
353
490
  }
354
491
  }
355
492
  else {
356
- // Use current project as fixture
357
- const result = exec(`git worktree add ${fixtureDir} ${ref} --detach`, {
493
+ // Mode 3: Use current project as fixture
494
+ const result = exec(`git worktree add "${fixtureDir}" "${ref}" --detach`, {
358
495
  cwd: projectDir,
359
496
  timeout: 30_000,
360
497
  });
361
498
  if (result.exitCode !== 0) {
362
499
  // Worktree might already exist, try direct clone
363
- exec(`git clone --local --branch ${ref} ${projectDir} ${fixtureDir}`, { timeout: 30_000 });
500
+ exec(`git clone --local --branch "${ref}" "${projectDir}" "${fixtureDir}"`, { timeout: 30_000 });
364
501
  }
365
502
  }
366
503
  return fixtureDir;
367
504
  }
368
- /** Read all files in a directory recursively, sorted, and concatenate contents. */
505
+ /** Extensions to include when hashing template directories. */
506
+ const TEXT_EXTENSIONS = new Set(['.md', '.yaml', '.yml', '.txt', '.json', '.ts', '.js']);
507
+ /** Read text files in a directory recursively, sorted, and concatenate contents. */
369
508
  function readDirContentsSorted(dirPath) {
370
509
  const entries = readdirSync(dirPath, { recursive: true, withFileTypes: true });
371
510
  const files = entries
372
- .filter((d) => d.isFile())
511
+ .filter((d) => {
512
+ if (!d.isFile())
513
+ return false;
514
+ // Skip dotfiles (.DS_Store, .gitkeep, etc.)
515
+ if (d.name.startsWith('.'))
516
+ return false;
517
+ // Only include known text extensions
518
+ const ext = d.name.slice(d.name.lastIndexOf('.'));
519
+ return TEXT_EXTENSIONS.has(ext);
520
+ })
373
521
  .map((d) => join(d.parentPath ?? d.path, d.name))
374
522
  .sort();
375
523
  return files.map((f) => readFileSync(f, 'utf-8')).join('\n');
@@ -436,4 +584,41 @@ function getGitState() {
436
584
  return { branch: 'unknown', commit: 'unknown' };
437
585
  }
438
586
  }
587
+ /** Default average token estimates per pipeline step (input, output). */
588
+ const DEFAULT_TOKEN_ESTIMATES = {
589
+ plan: { input: 5000, output: 2000 },
590
+ implement: { input: 30000, output: 15000 },
591
+ test_fix: { input: 20000, output: 10000 },
592
+ review: { input: 25000, output: 5000 },
593
+ verify: { input: 15000, output: 3000 },
594
+ learn: { input: 10000, output: 3000 },
595
+ };
596
+ /**
597
+ * Estimate the cost of running an eval suite with a given config.
598
+ * Uses average token counts from previous runs if available,
599
+ * otherwise falls back to default estimates.
600
+ */
601
+ export function estimateRunCost(caseCount, config) {
602
+ const steps = [];
603
+ const pipelineSteps = ['plan', 'implement', 'test_fix', 'review', 'verify', 'learn'];
604
+ for (const step of pipelineSteps) {
605
+ const { model } = resolveStepConfig(config, step);
606
+ const tokens = DEFAULT_TOKEN_ESTIMATES[step];
607
+ const costPerCase = estimateCost(model, tokens.input, tokens.output, config.pricing);
608
+ steps.push({
609
+ step,
610
+ model,
611
+ inputTokens: tokens.input,
612
+ outputTokens: tokens.output,
613
+ costPerCase,
614
+ });
615
+ }
616
+ const totalPerCase = steps.reduce((sum, s) => sum + s.costPerCase, 0);
617
+ return {
618
+ steps,
619
+ totalPerCase,
620
+ totalForSuite: totalPerCase * caseCount,
621
+ caseCount,
622
+ };
623
+ }
439
624
  //# sourceMappingURL=eval-runner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eval-runner.js","sourceRoot":"","sources":["../../src/lib/eval-runner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACnF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC5E,OAAO,EAGL,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,IAAI,gBAAgB,EAC/B,aAAa,IAAI,kBAAkB,GACpC,MAAM,aAAa,CAAC;AAuBrB;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,KAA2B,EAC3B,MAAc,EACd,UAA0B,EAAE;IAE5B,MAAM,OAAO,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;IACtF,MAAM,OAAO,GAAiB,EAAE,CAAC;IACjC,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,gCAAgC;IAChC,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAE5C,GAAG,CAAC,IAAI,CAAC,aAAa,OAAO,KAAK,KAAK,CAAC,MAAM,mBAAmB,WAAW,GAAG,CAAC,CAAC;IAEjF,kCAAkC;IAClC,IAAI,CAAC;QACH,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;IAE3B,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE,CAAC;QAC7B,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,SAAS;QAExE,GAAG,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,EAAE,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,KAAK,MAAM;gBACrC,CAAC,CAAC,MAAM,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC;gBACvD,CAAC,CAAC,MAAM,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAEzD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACrB,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACpB,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC7C,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,KAAK,QAAQ,CAAC,EAAE,KAAK,MAAM,CAAC,QAAQ,aAAa,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;YAC7D,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM,EAAE,QAAQ,CAAC,EAAE;gBACnB,MAAM,EAAE,KAAK;gBACb,aAAa,EAAE,CAAC;gBAChB,OAAO,EAAE,CAAC;gBACV,QAAQ;gBACR,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBACvD,OAAO,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE;aAC7G,CAAC,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,YAAY,QAAQ,CAAC,EAAE,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3F,CAAC;IACH,CAAC;IAED,0BAA0B;IAC1B,MAAM,WAAW,GAAiB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,MAAM,EAAE,CAAC,CAAC,MAAM;QAChB,aAAa,EAAE,CAAC,CAAC,aAAa;QAC9B,OAAO,EAAE,CAAC,CAAC,OAAO;QAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;QACpB,KAAK,EAAE,CAAC,CAAC,KAAK;KACf,CAAC,CAAC,CAAC;IAEJ,MAAM,SAAS,GAAG,qBAAqB,CAAC,WAAW,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IACzD,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAC7C,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IAEtE,0BAA0B;IAC1B,MAAM,SAAS,GAA4B;QACzC,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,cAAc,EAAE,MAAM,CAAC,cAAc;QACrC,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,WAAW;KACZ,CAAC;IAEF,MAAM,KAAK,GAAe;QACxB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC;QACjC,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,WAAW;QAClB,SAAS;QACT,SAAS;KACV,CAAC;IAEF,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;IAExD,qBAAqB;IACrB,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC;YAC1D,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAkB,CAAC,CAAC,CAAC,SAAkB;YAC1D,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU;YAClC,aAAa,EAAE,KAAK;YACpB,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,YAAY,EAAE,CAAC;YACf,cAAc,EAAE,EAAE;SACnB,CAAC,CAAC,CAAC;QACJ,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;IAE3B,qBAAqB;IACrB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;QAC/B,gBAAgB,CAAC,OAAO,EAAE;YACxB,KAAK,EAAE,OAAO;YACd,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE;YACpE,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACrC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YACtE,MAAM,EAAE;gBACN,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC3B,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;gBACvC,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC;gBACvC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;aACtC;YACD,QAAQ,EAAE;gBACR,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,MAAM,EAAE,QAAQ,CAAC,MAAM;aACxB;YACD,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;IAE3B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAC5E,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,UAAU,CACvB,QAA4B,EAC5B,MAAc,EACd,OAAe,EACf,OAAuB;IAEvB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACjC,MAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAExD,IAAI,CAAC;QACH,oDAAoD;QACpD,MAAM,WAAW,GAAmB;YAClC,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,QAAQ,QAAQ,CAAC,EAAE,EAAE;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC;YAChE,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC;YACrE,OAAO,EAAE,EAAE;SACZ,CAAC;QACF,SAAS,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,SAAS,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpD,mCAAmC;QACnC,MAAM,UAAU,GAAW;YACzB,GAAG,MAAM;YACT,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,SAAS,EAAE,KAAK;YAChB,WAAW,EAAE,QAAQ,CAAC,OAAO,IAAI,MAAM,CAAC,WAAW;SACpD,CAAC;QAEF,mBAAmB;QACnB,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC;QAClE,MAAM,cAAc,GAAG,MAAM,YAAY,CACvC,QAAQ,EACR,QAAQ,CAAC,UAAU,EACnB,QAAQ,CAAC,SAAS,EAClB,UAAU,EACV,WAAW,CACZ,CAAC;QAEF,wCAAwC;QACxC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACjC,MAAM,YAAY,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;QAE7D,wBAAwB;QACxB,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE;gBACpD,GAAG,EAAE,UAAU;gBACf,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,IAAI;gBACJ,YAAY;gBACZ,MAAM,EAAE,EAAE;aACX,CAAC,CAAC;YAEH,OAAO;gBACL,MAAM,EAAE,QAAQ,CAAC,EAAE;gBACnB,MAAM,EAAE,YAAY,CAAC,SAAS;gBAC9B,aAAa,EAAE,YAAY,CAAC,QAAQ;gBACpC,OAAO,EAAE,CAAC;gBACV,QAAQ;gBACR,OAAO,EAAE;oBACP,YAAY,EAAE,cAAc,CAAC,MAAM,KAAK,SAAS,KAAK,QAAQ,CAAC,QAAQ,CAAC,OAAO;oBAC/E,UAAU,EAAE,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;oBACtD,UAAU,EAAE,cAAc,CAAC,YAAY,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,IAAI,IAAI,CAAC;oBACpF,SAAS,EAAE,YAAY,CAAC,SAAS;oBACjC,WAAW,EAAE,IAAI;iBAClB;aACF,CAAC;QACJ,CAAC;QAED,iCAAiC;QACjC,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;QACrD,OAAO,cAAc,CAAC,QAAQ,EAAE;YAC9B,OAAO,EAAE,cAAc,CAAC,MAAM,KAAK,SAAS;YAC5C,YAAY,EAAE,cAAc,CAAC,YAAY;YACzC,IAAI;YACJ,YAAY;YACZ,MAAM,EAAE,EAAE;YACV,OAAO,EAAE,CAAC;YACV,QAAQ;SACT,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,mBAAmB;QACnB,IAAI,CAAC;YACH,IAAI,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBAC5C,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,WAAW,CACxB,QAA4B,EAC5B,MAAc,EACd,OAAe,EACf,OAAuB;IAEvB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC;IACvD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC;IAEvC,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,CAAC;QACH,iCAAiC;QACjC,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;oBAC9B,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM,EAAE,uDAAuD,KAAK,EAAE;oBACtE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;oBAClB,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,IAAI;iBACzC,CAAC,CAAC;gBACH,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBACvB,MAAM;YACR,CAAC;YACD,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,MAAM,GAAG,oBAAoB,CAAC;oBAClC,QAAQ,EAAE,CAAC;oBACX,KAAK,EAAE,QAAQ,CAAC,UAAU;oBAC1B,IAAI,EAAE,KAAK;iBACZ,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;oBAC9B,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM;oBACN,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;oBAClB,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,IAAI;iBAC1C,CAAC,CAAC;gBACH,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBACvB,MAAM;YACR,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,MAAM,GAAG,iBAAiB,CAAC;oBAC/B,QAAQ,EAAE,CAAC;oBACX,KAAK,EAAE,QAAQ,CAAC,UAAU;oBAC1B,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,MAAM,CAAC,UAAU;iBAC9B,CAAC,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;oBAC9B,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,KAAK,EAAE,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,KAAK;oBACzC,MAAM;oBACN,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;oBAClB,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,GAAG,IAAI;iBACzC,CAAC,CAAC;gBACH,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBACvB,MAAM;YACR,CAAC;YACD,KAAK,MAAM,CAAC,CAAC,CAAC;gBACZ,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,UAAU,EAAE;oBACpD,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;oBAClB,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,IAAI;iBAC1C,CAAC,CAAC;gBACH,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC9C,MAAM;YACR,CAAC;YACD,KAAK,QAAQ,CAAC,CAAC,CAAC;gBACd,MAAM,GAAG,oCAAoC,CAAC;gBAC9C,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,QAAQ,IAAI,YAAY,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;IACtF,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;IAE7D,aAAa;IACb,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,YAAY,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE;YACpD,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;YAClB,MAAM;YACN,UAAU,EAAE,MAAM,CAAC,SAAS,IAAI,SAAS;SAC1C,CAAC,CAAC;QAEH,OAAO;YACL,MAAM,EAAE,QAAQ,CAAC,EAAE;YACnB,MAAM,EAAE,YAAY,CAAC,SAAS;YAC9B,aAAa,EAAE,YAAY,CAAC,QAAQ;YACpC,OAAO,EAAE,CAAC;YACV,QAAQ;YACR,OAAO,EAAE;gBACP,YAAY,EAAE,IAAI;gBAClB,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,IAAI;gBAChB,SAAS,EAAE,YAAY,CAAC,SAAS;gBACjC,WAAW,EAAE,IAAI;aAClB;SACF,CAAC;IACJ,CAAC;IAED,4CAA4C;IAC5C,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,cAAc;QAClD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACnE,CAAC,CAAC,IAAI,CAAC;IAET,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,EAAE;QACnB,MAAM,EAAE,WAAW;QACnB,aAAa,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,OAAO,EAAE,CAAC;QACV,QAAQ;QACR,OAAO,EAAE;YACP,YAAY,EAAE,IAAI;YAClB,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,IAAI;YAChB,SAAS,EAAE,IAAI;YACf,WAAW;SACZ;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,QAAkB,EAAE,UAAkB;IACnE,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,EAAE,YAAY,EAAE,QAAQ,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;IAE5E,gCAAgC;IAChC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3C,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC;IAClC,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,IAAI,MAAM,CAAC;IAE1C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,yBAAyB;QACzB,MAAM,WAAW,GAAG,IAAI,CACtB,gCAAgC,GAAG,uBAAuB,IAAI,QAAQ,UAAU,EAAE,EAClF,EAAE,OAAO,EAAE,OAAO,EAAE,CACrB,CAAC;QACF,IAAI,WAAW,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;SAAM,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,8CAA8C;QAC9C,MAAM,WAAW,GAAG,IAAI,CACtB,8BAA8B,GAAG,IAAI,IAAI,IAAI,UAAU,EAAE,EACzD,EAAE,OAAO,EAAE,MAAM,EAAE,CACpB,CAAC;QACF,IAAI,WAAW,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,iCAAiC,IAAI,KAAK,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;SAAM,CAAC;QACN,iCAAiC;QACjC,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,UAAU,IAAI,GAAG,WAAW,EAAE;YACpE,GAAG,EAAE,UAAU;YACf,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC1B,iDAAiD;YACjD,IAAI,CAAC,8BAA8B,GAAG,IAAI,UAAU,IAAI,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,mFAAmF;AACnF,SAAS,qBAAqB,CAAC,OAAe;IAC5C,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/E,MAAM,KAAK,GAAG,OAAO;SAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACzB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;SAChD,IAAI,EAAE,CAAC;IACV,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,cAAc;IACd,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,cAAc,EAAE,MAAM,CAAC,cAAc;KACtC,CAAC,CAAC,CAAC;IAEJ,wBAAwB;IACxB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC5E,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;IAC7B,CAAC;IAED,qBAAqB;IACrB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAC5E,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClF,CAAC;AAED,+CAA+C;AAC/C,SAAS,OAAO,CAAC,GAAW;IAC1B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC/D,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,gDAAgD;AAChD,SAAS,eAAe,CAAC,GAAW;IAClC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,2BAA2B,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3E,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,0CAA0C;AAC1C,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,iCAAiC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACxF,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAClD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"eval-runner.js","sourceRoot":"","sources":["../../src/lib/eval-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Eval Skill Bridge — convert between AlphaLoop eval format (checks.yaml)
3
+ * and skill-creator eval format (evals.json).
4
+ *
5
+ * The skill-creator skill (.claude/skills/skill-creator/) uses its own eval format
6
+ * with assertions, grading agents, and benchmarking. This bridge allows:
7
+ * - Captured eval cases to be converted to skill-creator format for skill testing
8
+ * - Skill-creator evals to be loaded as AlphaLoop step-level cases
9
+ */
10
+ import type { EvalCase } from './eval.js';
11
+ /** A single assertion in skill-creator format. */
12
+ export type SkillCreatorAssertion = {
13
+ type: 'contains' | 'contains_any' | 'not_contains' | 'output_contains';
14
+ value?: string;
15
+ values?: string[];
16
+ };
17
+ /** A single eval case in skill-creator format. */
18
+ export type SkillCreatorEvalCase = {
19
+ id: number;
20
+ prompt: string;
21
+ expected_output: string;
22
+ assertions: SkillCreatorAssertion[];
23
+ files: string[];
24
+ };
25
+ /** The top-level skill-creator eval format (evals.json). */
26
+ export type SkillCreatorEval = {
27
+ skill_name: string;
28
+ evals: SkillCreatorEvalCase[];
29
+ };
30
+ /**
31
+ * Convert an AlphaLoop EvalCase to skill-creator eval format.
32
+ *
33
+ * Maps:
34
+ * - keyword_present checks → contains assertions
35
+ * - keyword_absent checks → not_contains assertions
36
+ * - contains_any checks → contains_any assertions
37
+ * - llm_judge rubric → expected_output description
38
+ */
39
+ export declare function toSkillCreatorEval(evalCase: EvalCase): SkillCreatorEval;
40
+ /**
41
+ * Convert a skill-creator eval back to an AlphaLoop EvalCase.
42
+ *
43
+ * Maps:
44
+ * - contains/output_contains assertions → keyword_present checks
45
+ * - contains_any assertions → contains_any checks
46
+ * - not_contains assertions → keyword_absent checks
47
+ * - expected_output → llm_judge rubric
48
+ */
49
+ export declare function fromSkillCreatorEval(skillEval: SkillCreatorEval, caseIndex?: number): EvalCase;
50
+ /**
51
+ * Convert multiple skill-creator eval cases to AlphaLoop format.
52
+ */
53
+ export declare function fromSkillCreatorEvalAll(skillEval: SkillCreatorEval): EvalCase[];
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Convert an AlphaLoop EvalCase to skill-creator eval format.
3
+ *
4
+ * Maps:
5
+ * - keyword_present checks → contains assertions
6
+ * - keyword_absent checks → not_contains assertions
7
+ * - contains_any checks → contains_any assertions
8
+ * - llm_judge rubric → expected_output description
9
+ */
10
+ export function toSkillCreatorEval(evalCase) {
11
+ const skillName = evalCase.tags.find((t) => t.startsWith('skill:'))?.slice(6)
12
+ ?? evalCase.step
13
+ ?? 'unknown';
14
+ const assertions = [];
15
+ let expectedOutput = evalCase.description;
16
+ if (evalCase.checks) {
17
+ for (const check of evalCase.checks) {
18
+ switch (check.type) {
19
+ case 'keyword_present':
20
+ assertions.push({ type: 'contains', values: check.keywords });
21
+ break;
22
+ case 'keyword_absent':
23
+ assertions.push({ type: 'not_contains', values: check.keywords });
24
+ break;
25
+ case 'contains_any':
26
+ assertions.push({ type: 'contains_any', values: check.values });
27
+ break;
28
+ case 'llm_judge':
29
+ expectedOutput = check.rubric;
30
+ break;
31
+ }
32
+ }
33
+ }
34
+ return {
35
+ skill_name: skillName,
36
+ evals: [{
37
+ id: parseInt(evalCase.id.replace(/\D/g, '')) || 1,
38
+ prompt: evalCase.inputText ?? evalCase.issueBody,
39
+ expected_output: expectedOutput,
40
+ assertions,
41
+ files: [],
42
+ }],
43
+ };
44
+ }
45
+ /**
46
+ * Convert a skill-creator eval back to an AlphaLoop EvalCase.
47
+ *
48
+ * Maps:
49
+ * - contains/output_contains assertions → keyword_present checks
50
+ * - contains_any assertions → contains_any checks
51
+ * - not_contains assertions → keyword_absent checks
52
+ * - expected_output → llm_judge rubric
53
+ */
54
+ export function fromSkillCreatorEval(skillEval, caseIndex) {
55
+ const evalEntry = skillEval.evals[caseIndex ?? 0];
56
+ if (!evalEntry) {
57
+ throw new Error(`No eval case at index ${caseIndex ?? 0} in skill ${skillEval.skill_name}`);
58
+ }
59
+ const checks = [];
60
+ for (const assertion of evalEntry.assertions) {
61
+ switch (assertion.type) {
62
+ case 'contains':
63
+ case 'output_contains': {
64
+ const keywords = assertion.values
65
+ ?? (assertion.value ? [assertion.value] : []);
66
+ if (keywords.length > 0) {
67
+ checks.push({ type: 'keyword_present', keywords });
68
+ }
69
+ break;
70
+ }
71
+ case 'contains_any': {
72
+ const values = assertion.values
73
+ ?? (assertion.value ? [assertion.value] : []);
74
+ if (values.length > 0) {
75
+ checks.push({ type: 'contains_any', values });
76
+ }
77
+ break;
78
+ }
79
+ case 'not_contains': {
80
+ const keywords = assertion.values
81
+ ?? (assertion.value ? [assertion.value] : []);
82
+ if (keywords.length > 0) {
83
+ checks.push({ type: 'keyword_absent', keywords });
84
+ }
85
+ break;
86
+ }
87
+ }
88
+ }
89
+ // Add llm_judge if there's an expected_output description
90
+ if (evalEntry.expected_output) {
91
+ checks.push({
92
+ type: 'llm_judge',
93
+ model: 'claude-haiku-4-5',
94
+ rubric: `Does the output match this expectation?\n\n${evalEntry.expected_output}\n\n5 = Fully matches\n3 = Partially matches\n1 = Does not match`,
95
+ min_score: 4,
96
+ });
97
+ }
98
+ return {
99
+ id: `skill-${skillEval.skill_name}-${evalEntry.id}`,
100
+ description: evalEntry.expected_output.slice(0, 100),
101
+ type: 'step',
102
+ step: 'skill',
103
+ fixtureRepo: '',
104
+ fixtureRef: 'main',
105
+ issueTitle: `Skill eval: ${skillEval.skill_name}`,
106
+ issueBody: evalEntry.prompt,
107
+ expected: { success: true },
108
+ tags: [`skill:${skillEval.skill_name}`],
109
+ timeout: 60,
110
+ source: 'skill-creator',
111
+ checks,
112
+ inputText: evalEntry.prompt,
113
+ };
114
+ }
115
+ /**
116
+ * Convert multiple skill-creator eval cases to AlphaLoop format.
117
+ */
118
+ export function fromSkillCreatorEvalAll(skillEval) {
119
+ return skillEval.evals.map((_, i) => fromSkillCreatorEval(skillEval, i));
120
+ }
121
+ //# sourceMappingURL=eval-skill-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eval-skill-bridge.js","sourceRoot":"","sources":["../../src/lib/eval-skill-bridge.ts"],"names":[],"mappings":"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"}