@bradtaylorsf/alpha-loop 1.4.2 → 1.4.3

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.
@@ -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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"}
@@ -0,0 +1,68 @@
1
+ /** Raw SWE-bench entry as provided by HuggingFace datasets. */
2
+ export type SwebenchEntry = {
3
+ instance_id: string;
4
+ repo: string;
5
+ base_commit: string;
6
+ problem_statement: string;
7
+ patch: string;
8
+ test_patch: string;
9
+ FAIL_TO_PASS: string;
10
+ PASS_TO_PASS: string;
11
+ version: string;
12
+ environment_setup_commit?: string;
13
+ };
14
+ /** Options for importing SWE-bench entries. */
15
+ export type ImportOptions = {
16
+ /** Path to a downloaded JSONL file. If not provided, auto-downloads. */
17
+ dataset?: string;
18
+ /** HuggingFace dataset ID (default: princeton-nlp/SWE-bench_Lite). */
19
+ datasetId?: string;
20
+ /** Maximum number of entries to import. */
21
+ count?: number;
22
+ /** Filter by repo (e.g. 'django/django'). */
23
+ repo?: string;
24
+ /** Import specific instance IDs (comma-separated). */
25
+ ids?: string;
26
+ /** Pipeline step to target (default: 'implement'). */
27
+ step?: string;
28
+ /** Project directory. */
29
+ projectDir?: string;
30
+ /** Eval directory override. */
31
+ evalDir?: string;
32
+ };
33
+ /**
34
+ * Download a SWE-bench dataset from HuggingFace and save as JSONL.
35
+ * Requires Python with the `datasets` library installed.
36
+ */
37
+ export declare function downloadDataset(datasetId: string, outputPath: string): void;
38
+ /**
39
+ * Read a JSONL file and parse SWE-bench entries.
40
+ * Supports filtering by repo, instance IDs, and count.
41
+ */
42
+ export declare function importFromJsonl(datasetPath: string, options?: Pick<ImportOptions, 'count' | 'repo' | 'ids'>): SwebenchEntry[];
43
+ /**
44
+ * Convert a SWE-bench entry into a directory-based eval case.
45
+ *
46
+ * Creates:
47
+ * .alpha-loop/evals/cases/e2e/swe-{sanitized-id}/
48
+ * ├── issue.md # From problem_statement
49
+ * ├── checks.yaml # FAIL_TO_PASS tests as acceptance criteria
50
+ * ├── metadata.yaml # repo, base_commit, instance_id, source: swe-bench
51
+ * └── reference.patch # The validated fix (for comparison, not shown to agent)
52
+ *
53
+ * Returns the path to the created case directory.
54
+ */
55
+ export declare function convertToEvalCase(entry: SwebenchEntry, projectDir?: string, evalDirOverride?: string, step?: string): string;
56
+ /**
57
+ * Update eval config.yaml with SWE-bench repo base commits.
58
+ */
59
+ export declare function updateEvalConfig(evalDirPath: string, entries: SwebenchEntry[]): void;
60
+ /**
61
+ * Run the full SWE-bench import pipeline.
62
+ * Returns the number of cases imported.
63
+ */
64
+ export declare function importSwebench(options: ImportOptions): number;
65
+ /**
66
+ * List available SWE-bench cases that have been imported.
67
+ */
68
+ export declare function listImportedSwebenchCases(projectDir?: string, evalDirOverride?: string): string[];
@@ -0,0 +1,274 @@
1
+ /**
2
+ * SWE-bench Importer — download and convert SWE-bench entries to eval cases.
3
+ *
4
+ * SWE-bench provides real GitHub issues from real Python repos, frozen at the
5
+ * exact commit where the bug existed. Each entry includes a validated fix (patch)
6
+ * and tests that verify the fix (FAIL_TO_PASS).
7
+ *
8
+ * Supported datasets:
9
+ * - princeton-nlp/SWE-bench_Lite (300 curated issues)
10
+ * - princeton-nlp/SWE-bench_Verified (500 human-verified issues)
11
+ */
12
+ import { existsSync, mkdirSync, readFileSync, writeFileSync, readdirSync, rmSync } from 'node:fs';
13
+ import { join, basename } from 'node:path';
14
+ import { parse as parseYaml, stringify as stringifyYaml } from 'yaml';
15
+ import { exec } from './shell.js';
16
+ import { log } from './logger.js';
17
+ import { evalsDir } from './eval.js';
18
+ import { loadEvalConfig } from './eval-fixtures.js';
19
+ /**
20
+ * Download a SWE-bench dataset from HuggingFace and save as JSONL.
21
+ * Requires Python with the `datasets` library installed.
22
+ */
23
+ export function downloadDataset(datasetId, outputPath) {
24
+ const dir = join(outputPath, '..');
25
+ mkdirSync(dir, { recursive: true });
26
+ // Validate datasetId to prevent injection (must be owner/dataset format)
27
+ if (!/^[\w.-]+\/[\w._-]+$/.test(datasetId)) {
28
+ throw new Error(`Invalid dataset ID: ${datasetId}. Expected format: owner/dataset-name`);
29
+ }
30
+ // Use a temp Python script file instead of inline -c to avoid shell escaping issues
31
+ const scriptPath = join(dir, '_download_dataset.py');
32
+ const scriptContent = [
33
+ 'import json, sys, os',
34
+ 'from datasets import load_dataset',
35
+ `ds = load_dataset(${JSON.stringify(datasetId)}, split="test")`,
36
+ `output_path = ${JSON.stringify(outputPath)}`,
37
+ 'with open(output_path, "w") as f:',
38
+ ' for entry in ds:',
39
+ ' f.write(json.dumps(entry) + "\\n")',
40
+ 'print(f"Downloaded {len(ds)} entries to {output_path}")',
41
+ ].join('\n');
42
+ writeFileSync(scriptPath, scriptContent);
43
+ log.info(`Downloading ${datasetId} from HuggingFace...`);
44
+ const result = exec(`python3 "${scriptPath}"`, { timeout: 300_000 });
45
+ // Clean up temp script
46
+ try {
47
+ rmSync(scriptPath);
48
+ }
49
+ catch { /* non-fatal */ }
50
+ if (result.exitCode !== 0) {
51
+ throw new Error(`Failed to download dataset. Ensure Python and 'datasets' are installed:\n` +
52
+ ` pip install datasets\n\n${result.stderr}`);
53
+ }
54
+ log.info(result.stdout);
55
+ }
56
+ /**
57
+ * Read a JSONL file and parse SWE-bench entries.
58
+ * Supports filtering by repo, instance IDs, and count.
59
+ */
60
+ export function importFromJsonl(datasetPath, options) {
61
+ if (!existsSync(datasetPath)) {
62
+ throw new Error(`Dataset file not found: ${datasetPath}`);
63
+ }
64
+ const content = readFileSync(datasetPath, 'utf-8');
65
+ const lines = content.trim().split('\n').filter(Boolean);
66
+ let entries = lines.map((line) => {
67
+ const parsed = JSON.parse(line);
68
+ return parsed;
69
+ });
70
+ // Filter by specific instance IDs
71
+ if (options?.ids) {
72
+ const idSet = new Set(options.ids.split(',').map((s) => s.trim()));
73
+ entries = entries.filter((e) => idSet.has(e.instance_id));
74
+ }
75
+ // Filter by repo
76
+ if (options?.repo) {
77
+ entries = entries.filter((e) => e.repo === options.repo);
78
+ }
79
+ // Limit count
80
+ if (options?.count && options.count > 0) {
81
+ entries = entries.slice(0, options.count);
82
+ }
83
+ return entries;
84
+ }
85
+ /**
86
+ * Convert a SWE-bench entry into a directory-based eval case.
87
+ *
88
+ * Creates:
89
+ * .alpha-loop/evals/cases/e2e/swe-{sanitized-id}/
90
+ * ├── issue.md # From problem_statement
91
+ * ├── checks.yaml # FAIL_TO_PASS tests as acceptance criteria
92
+ * ├── metadata.yaml # repo, base_commit, instance_id, source: swe-bench
93
+ * └── reference.patch # The validated fix (for comparison, not shown to agent)
94
+ *
95
+ * Returns the path to the created case directory.
96
+ */
97
+ export function convertToEvalCase(entry, projectDir, evalDirOverride, step) {
98
+ const dir = evalsDir(projectDir, evalDirOverride);
99
+ const sanitizedId = entry.instance_id.replace(/[^a-zA-Z0-9_-]/g, '-').toLowerCase();
100
+ const caseId = `swe-${sanitizedId}`;
101
+ const targetStep = step ?? 'implement';
102
+ // e2e cases go under cases/e2e/
103
+ const casePath = join(dir, 'cases', 'e2e', caseId);
104
+ mkdirSync(casePath, { recursive: true });
105
+ // Parse FAIL_TO_PASS — it's a JSON string containing a list of test identifiers
106
+ let failToPass = [];
107
+ try {
108
+ failToPass = JSON.parse(entry.FAIL_TO_PASS);
109
+ if (!Array.isArray(failToPass))
110
+ failToPass = [String(entry.FAIL_TO_PASS)];
111
+ }
112
+ catch {
113
+ failToPass = entry.FAIL_TO_PASS ? [entry.FAIL_TO_PASS] : [];
114
+ }
115
+ // Parse PASS_TO_PASS
116
+ let passToPass = [];
117
+ try {
118
+ passToPass = JSON.parse(entry.PASS_TO_PASS);
119
+ if (!Array.isArray(passToPass))
120
+ passToPass = [];
121
+ }
122
+ catch {
123
+ passToPass = [];
124
+ }
125
+ // metadata.yaml
126
+ const metadata = stringifyYaml({
127
+ id: caseId,
128
+ description: `SWE-bench: ${entry.instance_id}`,
129
+ tags: ['swe-bench', entry.repo.replace('/', '-'), targetStep],
130
+ source: 'swe-bench',
131
+ swebench: {
132
+ instance_id: entry.instance_id,
133
+ repo: entry.repo,
134
+ base_commit: entry.base_commit,
135
+ version: entry.version || undefined,
136
+ },
137
+ });
138
+ writeFileSync(join(casePath, 'metadata.yaml'), metadata);
139
+ // checks.yaml — FAIL_TO_PASS tests as test_pass checks
140
+ const checks = [];
141
+ // Primary check: the tests that must go from failing to passing
142
+ if (failToPass.length > 0) {
143
+ checks.push({
144
+ type: 'test_pass',
145
+ command: buildTestCommand(entry.repo, failToPass),
146
+ });
147
+ }
148
+ // Keyword checks: ensure key test identifiers appear in output
149
+ if (failToPass.length > 0) {
150
+ checks.push({
151
+ type: 'keyword_present',
152
+ keywords: failToPass.slice(0, 5), // Limit to avoid overly long checks
153
+ });
154
+ }
155
+ const checksYaml = stringifyYaml({
156
+ type: 'full',
157
+ step: targetStep,
158
+ eval_method: 'checks',
159
+ status: 'ready',
160
+ repo: entry.repo,
161
+ fixture_ref: entry.base_commit,
162
+ fail_to_pass: failToPass,
163
+ pass_to_pass: passToPass.slice(0, 10), // Keep manageable
164
+ checks,
165
+ });
166
+ writeFileSync(join(casePath, 'checks.yaml'), checksYaml);
167
+ // issue.md — the problem statement
168
+ const title = extractTitle(entry.instance_id, entry.problem_statement);
169
+ const issueContent = `# ${title}\n\n${entry.problem_statement}\n`;
170
+ writeFileSync(join(casePath, 'issue.md'), issueContent);
171
+ // reference.patch — validated fix for comparison
172
+ if (entry.patch) {
173
+ writeFileSync(join(casePath, 'reference.patch'), entry.patch);
174
+ }
175
+ // test.patch — test changes for verification
176
+ if (entry.test_patch) {
177
+ writeFileSync(join(casePath, 'test.patch'), entry.test_patch);
178
+ }
179
+ return casePath;
180
+ }
181
+ /**
182
+ * Update eval config.yaml with SWE-bench repo base commits.
183
+ */
184
+ export function updateEvalConfig(evalDirPath, entries) {
185
+ const config = loadEvalConfig(evalDirPath);
186
+ const repos = config.swebench_repos ?? {};
187
+ for (const entry of entries) {
188
+ if (!repos[entry.repo]) {
189
+ repos[entry.repo] = { base_commits: {} };
190
+ }
191
+ repos[entry.repo].base_commits[entry.instance_id] = entry.base_commit;
192
+ }
193
+ // Read existing config and update swebench_repos section
194
+ const configPath = join(evalDirPath, 'config.yaml');
195
+ let existing = {};
196
+ if (existsSync(configPath)) {
197
+ try {
198
+ existing = parseYaml(readFileSync(configPath, 'utf-8'));
199
+ }
200
+ catch { /* start fresh */ }
201
+ }
202
+ existing.swebench_repos = repos;
203
+ writeFileSync(configPath, stringifyYaml(existing));
204
+ }
205
+ /**
206
+ * Run the full SWE-bench import pipeline.
207
+ * Returns the number of cases imported.
208
+ */
209
+ export function importSwebench(options) {
210
+ const projectDir = options.projectDir ?? process.cwd();
211
+ const evalDirPath = evalsDir(projectDir, options.evalDir);
212
+ // Determine dataset path
213
+ let datasetPath = options.dataset;
214
+ if (!datasetPath) {
215
+ const datasetId = options.datasetId ?? 'princeton-nlp/SWE-bench_Lite';
216
+ datasetPath = join(evalDirPath, 'datasets', `${datasetId.replace(/\//g, '_')}.jsonl`);
217
+ if (!existsSync(datasetPath)) {
218
+ downloadDataset(datasetId, datasetPath);
219
+ }
220
+ else {
221
+ log.info(`Using cached dataset: ${datasetPath}`);
222
+ }
223
+ }
224
+ // Parse and filter entries
225
+ const entries = importFromJsonl(datasetPath, {
226
+ count: options.count,
227
+ repo: options.repo,
228
+ ids: options.ids,
229
+ });
230
+ if (entries.length === 0) {
231
+ log.warn('No matching SWE-bench entries found.');
232
+ return 0;
233
+ }
234
+ log.info(`Importing ${entries.length} SWE-bench case(s)...`);
235
+ // Convert each entry to an eval case
236
+ const created = [];
237
+ for (const entry of entries) {
238
+ const casePath = convertToEvalCase(entry, projectDir, options.evalDir, options.step);
239
+ created.push(casePath);
240
+ log.info(` Created: ${basename(casePath)}`);
241
+ }
242
+ // Update config.yaml with repo mappings
243
+ updateEvalConfig(evalDirPath, entries);
244
+ return created.length;
245
+ }
246
+ /** Extract a title from instance_id or first line of problem_statement. */
247
+ function extractTitle(instanceId, problemStatement) {
248
+ // Try to extract from first line of problem statement
249
+ const firstLine = problemStatement.split('\n')[0].trim();
250
+ if (firstLine && firstLine.length > 10 && firstLine.length < 200) {
251
+ return firstLine;
252
+ }
253
+ // Fall back to instance_id formatted as title
254
+ return instanceId.replace(/__/g, ': ').replace(/-/g, ' ');
255
+ }
256
+ /** Build a test command for a SWE-bench repo. */
257
+ function buildTestCommand(repo, tests) {
258
+ // Most SWE-bench repos are Python — use pytest
259
+ const testArgs = tests.slice(0, 3).join(' ');
260
+ return `python -m pytest ${testArgs}`;
261
+ }
262
+ /**
263
+ * List available SWE-bench cases that have been imported.
264
+ */
265
+ export function listImportedSwebenchCases(projectDir, evalDirOverride) {
266
+ const dir = evalsDir(projectDir, evalDirOverride);
267
+ const e2eDir = join(dir, 'cases', 'e2e');
268
+ if (!existsSync(e2eDir))
269
+ return [];
270
+ return readdirSync(e2eDir, { withFileTypes: true })
271
+ .filter((d) => d.isDirectory() && d.name.startsWith('swe-'))
272
+ .map((d) => d.name);
273
+ }
274
+ //# sourceMappingURL=eval-swebench.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eval-swebench.js","sourceRoot":"","sources":["../../src/lib/eval-swebench.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import type { CheckDefinition } from './eval-checks.js';
4
4
  /** Status of a captured eval case. */
5
5
  export type CapturedCaseStatus = 'needs-annotation' | 'ready';
6
6
  /** The pipeline step that a step-level eval targets. */
7
- export type PipelineStep = 'plan' | 'implement' | 'test' | 'review' | 'verify';
7
+ export type PipelineStep = 'plan' | 'implement' | 'test' | 'review' | 'verify' | 'learn' | 'skill' | 'test-fix';
8
8
  /** Expected outcome for an eval case. */
9
9
  export type ExpectedOutcome = {
10
10
  /** Should the pipeline succeed? */
@@ -61,6 +61,12 @@ export type EvalResult = {
61
61
  retries: number;
62
62
  duration: number;
63
63
  error?: string;
64
+ /** Cost in USD for this case (from agent token usage). */
65
+ costUsd?: number;
66
+ /** Input tokens consumed by this case. */
67
+ inputTokens?: number;
68
+ /** Output tokens generated by this case. */
69
+ outputTokens?: number;
64
70
  details: {
65
71
  successMatch: boolean;
66
72
  filesMatch: boolean;
@@ -74,6 +80,8 @@ export type EvalSuiteResult = {
74
80
  cases: EvalResult[];
75
81
  composite: number;
76
82
  totalDuration: number;
83
+ /** Total cost in USD across all cases (from agent token usage). */
84
+ totalCost: number;
77
85
  passCount: number;
78
86
  failCount: number;
79
87
  };
package/dist/lib/eval.js CHANGED
@@ -97,13 +97,23 @@ export function loadEvalCaseDir(dirPath) {
97
97
  const captureStatus = checksRaw.status === 'needs-annotation' ? 'needs-annotation'
98
98
  : checksRaw.status === 'ready' ? 'ready'
99
99
  : undefined;
100
+ // Resolve fixture repo — support SWE-bench metadata with nested swebench.repo
101
+ const swebench = metadata.swebench;
102
+ let fixtureRepo = String(checksRaw.repo ?? metadata.repo ?? '');
103
+ let fixtureRef = String(checksRaw.fixture_ref ?? metadata.fixture_ref ?? 'main');
104
+ if (swebench && typeof swebench === 'object') {
105
+ if (!fixtureRepo && swebench.repo)
106
+ fixtureRepo = String(swebench.repo);
107
+ if (fixtureRef === 'main' && swebench.base_commit)
108
+ fixtureRef = String(swebench.base_commit);
109
+ }
100
110
  return {
101
111
  id,
102
112
  description: String(metadata.description ?? (issueTitle || id)),
103
113
  type: evalType,
104
114
  step: checksRaw.step ? String(checksRaw.step) : undefined,
105
- fixtureRepo: String(checksRaw.repo ?? metadata.repo ?? ''),
106
- fixtureRef: String(checksRaw.fixture_ref ?? metadata.fixture_ref ?? 'main'),
115
+ fixtureRepo,
116
+ fixtureRef,
107
117
  issueTitle,
108
118
  issueBody: issueBody || inputText || '',
109
119
  expected: {
@@ -323,7 +333,7 @@ export function recordEvalResults(results, config, cost, projectDir) {
323
333
  const passCount = results.filter((r) => r.passed).length;
324
334
  const failCount = results.length - passCount;
325
335
  const totalDuration = results.reduce((sum, r) => sum + r.duration, 0);
326
- return { cases: results, composite, totalDuration, passCount, failCount };
336
+ return { cases: results, composite, totalDuration, totalCost: cost, passCount, failCount };
327
337
  }
328
338
  /**
329
339
  * Format eval case for display.
@@ -493,15 +503,25 @@ export function annotateCapturedCase(casePath, annotation) {
493
503
  }
494
504
  }
495
505
  }
506
+ /** Common stopwords to exclude from keyword extraction. */
507
+ const STOPWORDS = new Set([
508
+ 'should', 'would', 'could', 'have', 'been', 'were', 'they', 'them',
509
+ 'their', 'this', 'that', 'with', 'from', 'into', 'also', 'then',
510
+ 'than', 'when', 'what', 'which', 'where', 'there', 'here', 'some',
511
+ 'will', 'does', 'done', 'each', 'make', 'made', 'like', 'just',
512
+ 'only', 'very', 'more', 'most', 'such', 'other', 'about', 'after',
513
+ 'before', 'being', 'between', 'both', 'same', 'because', 'need',
514
+ 'needs', 'instead', 'still', 'already',
515
+ ]);
496
516
  /**
497
517
  * Extract meaningful keywords from annotation text for keyword_present checks.
518
+ * Filters common stopwords to produce higher-quality check terms.
498
519
  */
499
520
  function extractKeywords(text) {
500
- // Split on common delimiters and take meaningful words (>3 chars)
501
521
  return text
502
- .split(/[\s,;.!?]+/)
503
- .filter((w) => w.length > 3)
504
- .map((w) => w.toLowerCase())
522
+ .split(/[\s,;.!?()[\]{}:]+/)
523
+ .map((w) => w.toLowerCase().replace(/[^a-z0-9_-]/g, ''))
524
+ .filter((w) => w.length > 3 && !STOPWORDS.has(w))
505
525
  .slice(0, 5);
506
526
  }
507
527
  //# sourceMappingURL=eval.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/lib/eval.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/lib/eval.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC1F,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAY,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,MAAM,CAAC;AACtE,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAGlC,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE5E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AA6F/C,MAAM,SAAS,GAAG,mBAAmB,CAAC;AAEtC,wFAAwF;AACxF,MAAM,UAAU,QAAQ,CAAC,UAAmB,EAAE,OAAgB;IAC5D,OAAO,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,IAAI,SAAS,CAAC,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,QAAgB;IAC3C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAA4B,CAAC;QACzD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;QAEvD,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAA4B,CAAC;QAEpE,OAAO;YACL,EAAE;YACF,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;YAC7C,IAAI,EAAE,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YAC9C,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAiB,CAAC,CAAC,CAAC,SAAS;YACnE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC;YACpE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC;YACrE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;YACjE,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;YAC9D,QAAQ,EAAE;gBACR,OAAO,EAAE,QAAQ,CAAC,OAAO,KAAK,KAAK;gBACnC,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;gBACpG,YAAY,EAAE,OAAO,QAAQ,CAAC,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS;gBAC9F,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;gBACpG,eAAe,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC/G,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS;aAC3G;YACD,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;YAC/D,OAAO,EAAE,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAChE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,QAAQ,CAAC;SAC1C,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,iCAAiC,QAAQ,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACnG,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAE5C,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;YAAE,OAAO,IAAI,CAAC;QAEtE,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAA4B,CAAC;QAC3F,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAA4B,CAAC;QAE1F,yEAAyE;QACzE,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YACtD,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACrD,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,SAAS,GAAG,UAAU;gBACpB,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,KAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;gBACrE,CAAC,CAAC,YAAY,CAAC;QACnB,CAAC;QAED,gCAAgC;QAChC,IAAI,SAA6B,CAAC;QAClC,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,SAAS,GAAG,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,EAAE,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,IAAI,KAAK,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAEnD,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;QAEtC,oFAAoF;QACpF,MAAM,aAAa,GAAG,SAAS,CAAC,MAAM,KAAK,kBAAkB,CAAC,CAAC,CAAC,kBAAwC;YACtG,CAAC,CAAC,SAAS,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,OAA6B;gBAC9D,CAAC,CAAC,SAAS,CAAC;QAEd,8EAA8E;QAC9E,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAA+C,CAAC;QAC1E,IAAI,WAAW,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAChE,IAAI,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,IAAI,MAAM,CAAC,CAAC;QAEjF,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC7C,IAAI,CAAC,WAAW,IAAI,QAAQ,CAAC,IAAI;gBAAE,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACvE,IAAI,UAAU,KAAK,MAAM,IAAI,QAAQ,CAAC,WAAW;gBAAE,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC/F,CAAC;QAED,OAAO;YACL,EAAE;YACF,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;YAC/D,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAiB,CAAC,CAAC,CAAC,SAAS;YACzE,WAAW;YACX,UAAU;YACV,UAAU;YACV,SAAS,EAAE,SAAS,IAAI,SAAS,IAAI,EAAE;YACvC,QAAQ,EAAE;gBACR,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;aAC5E;YACD,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;YACnE,OAAO,EAAE,OAAO,SAAS,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YAClI,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC;YAC3C,MAAM;YACN,SAAS;YACT,aAAa;SACd,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,IAAI,CAAC,gCAAgC,OAAO,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACjG,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,OAQ7B;IACC,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAEhC,MAAM,KAAK,GAAe,EAAE,CAAC;IAE7B,gDAAgD;IAChD,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3F,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QAC/C,IAAI,QAAQ;YAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,qDAAqD;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACpC,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,SAAS,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;YACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC3C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,SAAS;YAEpC,uEAAuE;YACvE,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;gBACzB,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;qBAC5D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;gBAClC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;oBAC9C,iDAAiD;oBACjD,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC;wBAChD,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;wBAC3C,IAAI,QAAQ;4BAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACrC,CAAC;yBAAM,CAAC;wBACN,qCAAqC;wBACrC,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;6BAC5D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;wBAClC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;4BAC/B,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;4BAC/D,IAAI,QAAQ;gCAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACrC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;qBAC5D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;gBAClC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC/B,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC/D,IAAI,QAAQ;wBAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,gBAAgB;IAChB,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;QACzC,0DAA0D;QAC1D,IAAI,QAAQ,CAAC,aAAa,KAAK,kBAAkB,IAAI,CAAC,OAAO,EAAE,kBAAkB;YAAE,OAAO,KAAK,CAAC;QAEhG,2BAA2B;QAC3B,IAAI,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QAE7E,kDAAkD;QAClD,IAAI,OAAO,EAAE,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QAElE,iBAAiB;QACjB,IAAI,OAAO,EAAE,IAAI,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QAElE,6BAA6B;QAC7B,IAAI,OAAO,EAAE,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YACnE,IAAI,CAAC,MAAM;gBAAE,OAAO,KAAK,CAAC;QAC5B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,QAAkB,EAAE,UAAmB,EAAE,eAAwB;IAC5F,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAClD,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEpC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,QAAQ,CAAC,EAAE,OAAO,CAAC,CAAC;IAEvD,MAAM,QAAQ,GAA4B;QACxC,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC7C,YAAY,EAAE,QAAQ,CAAC,WAAW;QAClC,WAAW,EAAE,QAAQ,CAAC,UAAU;QAChC,WAAW,EAAE,QAAQ,CAAC,UAAU;QAChC,UAAU,EAAE,QAAQ,CAAC,SAAS;QAC9B,QAAQ,EAAE;YACR,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO;YAClC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;YACxF,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;YACtG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;YACxF,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,IAAI,EAAE,iBAAiB,EAAE,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;YAClG,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,IAAI,EAAE,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;SAC/F;QACD,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,MAAM,EAAE,QAAQ,CAAC,MAAM;KACxB,CAAC;IAEF,aAAa,CAAC,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAC5B,QAAkB,EAClB,MAQC;IAED,MAAM,MAAM,GAAG;QACb,YAAY,EAAE,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,QAAQ,CAAC,OAAO;QAC1D,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,IAAI;KAClB,CAAC;IAEF,sBAAsB;IACtB,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChF,MAAM,CAAC,UAAU,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,CACnE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAC9E,CAAC;IACJ,CAAC;IAED,sBAAsB;IACtB,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;QACjD,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC;IAC7E,CAAC;IAED,sBAAsB;IACtB,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QACnC,MAAM,CAAC,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1F,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC;QACtC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS;YACjC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7E,CAAC;IAED,yCAAyC;IACzC,IAAI,QAAQ,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QACrC,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC;IAED,+BAA+B;IAC/B,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IAC9E,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAE1C,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,EAAE;QACnB,MAAM;QACN,aAAa;QACb,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,OAAO,EAAE,MAAM;KAChB,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,SAAS,CAAC,GAAW,EAAE,OAAe;IAC7C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;IAC7D,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;IACvF,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,OAAqB,EACrB,MAAc,EACd,IAAY,EACZ,UAAmB;IAEnB,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;IAErD,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;KAChC,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,EAAE,IAAI;KAChB,CAAC;IAEF,WAAW,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;IAEzD,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,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;AAC7F,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,QAAkB;IAC/C,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9E,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,OAAO,GAAG,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,WAAW,MAAM,QAAQ,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;AACpF,CAAC;AAiBD;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAsB;IACtD,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;QACzB,0EAA0E;QAC1E,mDAAmD;QACnD,OAAO,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC;IAC5D,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,aAAa;QAAE,OAAO,QAAQ,CAAC;IACpE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,OAAO,CAAC,KAAa;IAC5B,OAAO,KAAK;SACT,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAoD;IACnF,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,MAAM,WAAW,GAAG,YAAY,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IACjF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAEpE,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEzC,gBAAgB;IAChB,MAAM,QAAQ,GAAG,aAAa,CAAC;QAC7B,EAAE,EAAE,WAAW;QACf,WAAW,EAAE,IAAI,CAAC,KAAK;QACvB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;QACrB,MAAM,EAAE,eAAe;QACvB,aAAa,EAAE;YACb,KAAK,EAAE,IAAI,CAAC,QAAQ;YACpB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAC7C;KACF,CAAC,CAAC;IACH,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,EAAE,QAAQ,CAAC,CAAC;IAEzD,sDAAsD;IACtD,MAAM,MAAM,GAAG,aAAa,CAAC;QAC3B,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,WAAW,EAAE,SAAS;QACtB,MAAM,EAAE,kBAAkB;QAC1B,MAAM,EAAE,eAAe;QACvB,aAAa,EAAE;YACb,KAAK,EAAE,IAAI,CAAC,QAAQ;YACpB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAC7C;QACD,MAAM,EAAE,EAAE;KACX,CAAC,CAAC;IACH,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE,MAAM,CAAC,CAAC;IAErD,WAAW;IACX,MAAM,YAAY,GAAG,KAAK,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,SAAS,IAAI,wBAAwB,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC;IACzG,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,CAAC;IAExD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,UAAmB,EAAE,eAAwB;IAChF,MAAM,KAAK,GAAG,aAAa,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;IAChG,OAAO,KAAK;SACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,kBAAkB,CAAC;SACrD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACT,kDAAkD;QAClD,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QAClD,gCAAgC;QAChC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACxC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC;IACzC,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,OAAe,EAAE,MAAc;IAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACxC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,EAAE,CAAC;IAErC,KAAK,MAAM,SAAS,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,SAAS;QAEpC,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;iBAC5D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YAClC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBACvD,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;oBACxE,OAAO,SAAS,CAAC;gBACnB,CAAC;gBACD,oBAAoB;gBACpB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBACvB,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;yBACzD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;oBACvD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;wBAAE,OAAO,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACzC,IAAI,UAAU,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;gBACxE,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC;AASD;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,QAAgB,EAAE,UAA0B;IAC/E,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,2BAA2B,QAAQ,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,SAAS,GAAG,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAA4B,CAAC;IAE1F,SAAS,CAAC,MAAM,GAAG,OAAO,CAAC;IAC3B,SAAS,CAAC,WAAW,GAAG,WAAW,CAAC;IACpC,SAAS,CAAC,mBAAmB,GAAG,UAAU,CAAC,aAAa,CAAC;IACzD,SAAS,CAAC,iBAAiB,GAAG,UAAU,CAAC,sBAAsB,CAAC;IAEhE,6CAA6C;IAC7C,MAAM,MAAM,GAAmC,EAAE,CAAC;IAClD,IAAI,UAAU,CAAC,sBAAsB,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,iBAAiB;YACvB,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC,sBAAsB,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;IAC5B,CAAC;IAED,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;IAEpD,mCAAmC;IACnC,IAAI,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QACrD,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAA4B,CAAC;YAC3F,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnF,QAAQ,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACpE,aAAa,CAAC,YAAY,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;AACH,CAAC;AAED,2DAA2D;AAC3D,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;IACxB,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAClE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC/D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IACjE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAC9D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IACjE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAC/D,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS;CACvC,CAAC,CAAC;AAEH;;;GAGG;AACH,SAAS,eAAe,CAAC,IAAY;IACnC,OAAO,IAAI;SACR,KAAK,CAAC,oBAAoB,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;SACvD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAChD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACjB,CAAC"}
@@ -26,6 +26,7 @@ export declare function scoresPath(evalsDir: string): string;
26
26
  export declare function computeCompositeScore(cases: CaseResult[]): number;
27
27
  /**
28
28
  * Hash a config object to create a stable identifier for comparison.
29
+ * Deep-sorts all nested objects for deterministic serialization.
29
30
  */
30
31
  export declare function hashConfig(config: Record<string, unknown>): string;
31
32
  /**
@@ -49,11 +50,32 @@ export declare function scoresByConfig(evalsDir: string): Array<{
49
50
  config: Record<string, unknown>;
50
51
  scores: ScoreEntry[];
51
52
  }>;
53
+ /**
54
+ * Derive a human-readable label from a config object.
55
+ * Looks for model names across pipeline steps and combines unique short names.
56
+ */
57
+ export declare function deriveConfigLabel(config: Record<string, unknown>): string;
52
58
  /**
53
59
  * Compute the Pareto frontier of score vs cost.
54
- * Returns entries where no other entry has both higher score AND lower cost.
60
+ * Returns ParetoEntry[] where no other entry has both higher score AND lower cost.
61
+ */
62
+ export declare function paretoFrontier(evalsDir: string): ParetoEntry[];
63
+ /**
64
+ * Build Pareto entries from a pre-loaded array of ScoreEntry (no filesystem).
55
65
  */
56
- export declare function paretoFrontier(evalsDir: string): ScoreEntry[];
66
+ export declare function buildParetoFrontier(entries: ScoreEntry[]): ParetoEntry[];
67
+ /**
68
+ * Format the Pareto frontier as an ASCII score-vs-cost chart.
69
+ * Optionally marks one entry as the current config (★).
70
+ */
71
+ export declare function formatParetoTable(frontier: ParetoEntry[], currentConfigHash?: string): string;
72
+ /** A Pareto entry with computed efficiency metric and label. */
73
+ export type ParetoEntry = ScoreEntry & {
74
+ /** Efficiency = score / cost_usd. Infinity if cost is 0. */
75
+ efficiency: number;
76
+ /** Human-readable label for the config (e.g. "sonnet+haiku"). */
77
+ configLabel: string;
78
+ };
57
79
  /** Comparison of two eval runs showing per-case changes. */
58
80
  export type RunComparison = {
59
81
  run1: ScoreEntry;