@tuned-tensor/local 0.1.3 → 0.1.5

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.
@@ -4,6 +4,7 @@ import { mkdir, readFile, writeFile } from "node:fs/promises";
4
4
  import { dirname, resolve } from "node:path";
5
5
  import { performance } from "node:perf_hooks";
6
6
  import { writeJson, fileUri } from "./artifacts.js";
7
+ import { resolveTrainingModel } from "./model-registry.js";
7
8
  import { openRouterChat } from "./openrouter.js";
8
9
  import { forwardStreamLines } from "./run-reporter.js";
9
10
  function normalize(value) {
@@ -12,6 +13,95 @@ function normalize(value) {
12
13
  function scoreActual(expected, actual) {
13
14
  return normalize(expected) === normalize(actual) ? 1 : 0;
14
15
  }
16
+ /**
17
+ * Token-overlap F1 between expected and actual output (bag-of-words, case and
18
+ * whitespace insensitive). This is a cheap deterministic reference-similarity
19
+ * signal for free-text tasks where exact match is always 0 and an LLM judge
20
+ * can be noisy; both scoring paths keep working unchanged alongside it.
21
+ */
22
+ export function tokenF1(expected, actual) {
23
+ const tokenize = (value) => normalize(value).match(/[\p{L}\p{N}]+/gu) ?? [];
24
+ const expectedTokens = tokenize(expected);
25
+ const actualTokens = tokenize(actual);
26
+ if (expectedTokens.length === 0 || actualTokens.length === 0) {
27
+ return expectedTokens.length === actualTokens.length ? 1 : 0;
28
+ }
29
+ const counts = new Map();
30
+ for (const token of expectedTokens)
31
+ counts.set(token, (counts.get(token) ?? 0) + 1);
32
+ let overlap = 0;
33
+ for (const token of actualTokens) {
34
+ const remaining = counts.get(token) ?? 0;
35
+ if (remaining > 0) {
36
+ overlap += 1;
37
+ counts.set(token, remaining - 1);
38
+ }
39
+ }
40
+ if (overlap === 0)
41
+ return 0;
42
+ const precision = overlap / actualTokens.length;
43
+ const recall = overlap / expectedTokens.length;
44
+ return (2 * precision * recall) / (precision + recall);
45
+ }
46
+ /** Derives a deterministic 32-bit seed from an arbitrary string (FNV-1a). */
47
+ export function deriveSampleSeed(value) {
48
+ let hash = 0x811c9dc5;
49
+ for (let index = 0; index < value.length; index += 1) {
50
+ hash ^= value.charCodeAt(index);
51
+ hash = Math.imul(hash, 0x01000193);
52
+ }
53
+ return hash >>> 0;
54
+ }
55
+ function mulberry32(seed) {
56
+ let state = seed >>> 0;
57
+ return () => {
58
+ state = (state + 0x6d2b79f5) | 0;
59
+ let t = Math.imul(state ^ (state >>> 15), 1 | state);
60
+ t = (t + Math.imul(t ^ (t >>> 7), 61 | t)) ^ t;
61
+ return ((t ^ (t >>> 14)) >>> 0) / 4294967296;
62
+ };
63
+ }
64
+ /**
65
+ * Selects `count` examples with a seeded shuffle so that truncated evaluation
66
+ * is a deterministic random sample instead of a dataset-order prefix. The
67
+ * selected examples keep their original relative order, so baseline and
68
+ * candidate evaluations that use the same seed score identical examples.
69
+ */
70
+ export function sampleExamples(examples, count, seed) {
71
+ if (count >= examples.length)
72
+ return examples;
73
+ const indices = examples.map((_, index) => index);
74
+ const random = mulberry32(seed);
75
+ for (let index = indices.length - 1; index > 0; index -= 1) {
76
+ const swap = Math.floor(random() * (index + 1));
77
+ [indices[index], indices[swap]] = [indices[swap], indices[index]];
78
+ }
79
+ return indices.slice(0, count).sort((left, right) => left - right).map((index) => examples[index]);
80
+ }
81
+ /**
82
+ * Deterministically splits spec examples into a training split and an eval
83
+ * holdout so that default spec runs do not evaluate on their own training
84
+ * data. The holdout is a seeded random sample of about `holdoutRatio` of the
85
+ * examples, with at least 1 holdout and at least 1 training example. Both
86
+ * splits preserve the original example order. With fewer than 2 examples the
87
+ * holdout is empty and callers should fall back to training-set evaluation.
88
+ */
89
+ export function splitSpecExamples(examples, seed, holdoutRatio = 0.2) {
90
+ if (examples.length < 2)
91
+ return { train: examples, holdout: [] };
92
+ const holdoutCount = Math.min(examples.length - 1, Math.max(1, Math.round(examples.length * holdoutRatio)));
93
+ const indices = examples.map((_, index) => index);
94
+ const random = mulberry32(seed);
95
+ for (let index = indices.length - 1; index > 0; index -= 1) {
96
+ const swap = Math.floor(random() * (index + 1));
97
+ [indices[index], indices[swap]] = [indices[swap], indices[index]];
98
+ }
99
+ const holdoutIndices = new Set(indices.slice(0, holdoutCount));
100
+ return {
101
+ train: examples.filter((_, index) => !holdoutIndices.has(index)),
102
+ holdout: examples.filter((_, index) => holdoutIndices.has(index)),
103
+ };
104
+ }
15
105
  function extractJsonObject(value) {
16
106
  const trimmed = value.trim();
17
107
  const candidates = [trimmed];
@@ -71,18 +161,29 @@ function scoreJsonFields(expected, actual, configuredFields) {
71
161
  && expectedKeys.length === actualKeys.length
72
162
  && expectedKeys.every((key, index) => key === actualKeys[index]);
73
163
  const fieldResults = {};
164
+ const missingExpectedFields = [];
74
165
  for (const field of fields) {
166
+ // A configured field that the expected output does not define cannot be
167
+ // verified, so it must never count as correct.
168
+ if (!Object.prototype.hasOwnProperty.call(expectedJson, field)) {
169
+ missingExpectedFields.push(field);
170
+ fieldResults[field] = false;
171
+ continue;
172
+ }
75
173
  fieldResults[field] = actualJson ? jsonValuesEqual(expectedJson[field], actualJson[field]) : false;
76
174
  }
77
175
  const correct = Object.values(fieldResults).filter(Boolean).length;
78
176
  const score = fields.length > 0 ? correct / fields.length : 0;
79
177
  const passed = fields.length > 0 && correct === fields.length;
178
+ const missingNote = missingExpectedFields.length > 0
179
+ ? ` Configured fields missing from expected output scored as incorrect: ${missingExpectedFields.join(", ")}.`
180
+ : "";
80
181
  return {
81
182
  score,
82
183
  passed,
83
- reasoning: actualJson
184
+ reasoning: (actualJson
84
185
  ? `JSON field score: ${correct}/${fields.length} configured fields matched.`
85
- : "Actual output is not a JSON object.",
186
+ : "Actual output is not a JSON object.") + missingNote,
86
187
  actualJsonValid: Boolean(actualJson),
87
188
  schemaMatch,
88
189
  fields,
@@ -189,10 +290,18 @@ async function runTransformersInference(args) {
189
290
  const outputPath = `${args.outputPath}.inference-output.json`;
190
291
  const logPath = `${args.outputPath}.inference.log`;
191
292
  await mkdir(dirname(inputPath), { recursive: true });
293
+ let modelLoader;
294
+ try {
295
+ modelLoader = resolveTrainingModel(args.baseModelId).loader;
296
+ }
297
+ catch {
298
+ modelLoader = undefined;
299
+ }
192
300
  await writeFile(inputPath, `${JSON.stringify({
193
301
  kind: args.kind,
194
302
  model_id: args.modelId,
195
303
  base_model: args.baseModelId,
304
+ model_loader: modelLoader,
196
305
  adapter_path: fileUriToPath(args.adapterPath),
197
306
  system: args.system,
198
307
  examples: args.examples,
@@ -272,31 +381,51 @@ async function runTransformersInference(args) {
272
381
  });
273
382
  return JSON.parse(await readFile(outputPath, "utf8"));
274
383
  }
275
- async function judgeWithOpenRouter(args) {
276
- if (!args.config.llm) {
277
- throw new Error("evaluation.mode=llm_judge requires llm OpenRouter config");
278
- }
279
- const result = await openRouterChat([
384
+ /**
385
+ * Builds the judge messages. The spec's compiled system message (system
386
+ * prompt, guidelines, and constraints) is forwarded as task_instructions so
387
+ * the judge scores conformance to the task, not just similarity to the
388
+ * reference. Without it, a judge treats `expected` as a fact checklist and
389
+ * systematically penalizes outputs trained toward a different style (for
390
+ * example concise summaries) even when they follow the spec.
391
+ */
392
+ export function buildJudgeMessages(args) {
393
+ return [
280
394
  {
281
395
  role: "system",
282
- content: "You are a strict evaluator. Return JSON only with keys score (0 to 1), passed (boolean), and reasoning (string).",
396
+ content: "You are a strict evaluator. Score how well the actual output fulfills the task instructions "
397
+ + "for the given prompt. The expected output is a reference answer showing the desired style, length, "
398
+ + "and content; treat it as one correct answer, not an exhaustive checklist. Penalize factual errors, "
399
+ + "contradictions of the prompt, and violations of the task instructions. Do not penalize an output "
400
+ + "merely for omitting secondary reference details when the task instructions call for that brevity. "
401
+ + "Return JSON only with keys score (0 to 1), passed (boolean), and reasoning (string).",
283
402
  },
284
403
  {
285
404
  role: "user",
286
405
  content: JSON.stringify({
406
+ ...(args.taskInstructions ? { task_instructions: args.taskInstructions } : {}),
287
407
  prompt: args.prompt,
288
408
  expected: args.expected,
289
409
  actual: args.actual,
290
410
  }),
291
411
  },
292
- ], {
412
+ ];
413
+ }
414
+ async function judgeWithOpenRouter(args) {
415
+ if (!args.config.llm) {
416
+ throw new Error("evaluation.mode=llm_judge requires llm OpenRouter config");
417
+ }
418
+ const result = await openRouterChat(buildJudgeMessages(args), {
293
419
  model: args.config.llm.model,
294
420
  apiKeyEnv: args.config.llm.apiKeyEnv,
295
421
  appName: args.config.llm.appName,
296
422
  siteUrl: args.config.llm.siteUrl,
297
423
  timeoutMs: args.config.evaluation.timeoutMs,
298
424
  });
299
- const parsed = JSON.parse(result.content);
425
+ const parsed = extractJsonObject(result.content);
426
+ if (!parsed) {
427
+ throw new Error(`OpenRouter judge returned malformed JSON: ${result.content.slice(0, 200)}`);
428
+ }
300
429
  const score = typeof parsed.score === "number"
301
430
  ? Math.max(0, Math.min(1, parsed.score))
302
431
  : 0;
@@ -311,8 +440,19 @@ function canUseOpenRouterJudge(config) {
311
440
  return Boolean(config.llm && process.env[config.llm.apiKeyEnv]);
312
441
  }
313
442
  export async function evaluateExamples(args) {
314
- const maxExamples = args.config.evaluation.maxExamples ?? args.examples.length;
315
- const selected = args.examples.slice(0, maxExamples);
443
+ // Explicit config takes precedence over the per-run request hyperparameter
444
+ // (passed by the orchestrator via args.maxExamples).
445
+ const maxExamples = args.config.evaluation.maxExamples
446
+ ?? args.maxExamples
447
+ ?? args.examples.length;
448
+ const truncated = args.examples.length > maxExamples;
449
+ // When truncating, take a deterministic seeded sample (not a prefix) so a
450
+ // sorted or grouped eval file does not bias the evaluated subset. Baseline
451
+ // and candidate runs receive the same seed and therefore identical examples.
452
+ const sampleSeed = args.config.evaluation.sampleSeed ?? args.sampleSeed ?? 0;
453
+ const selected = truncated
454
+ ? sampleExamples(args.examples, maxExamples, sampleSeed)
455
+ : args.examples;
316
456
  const command = args.kind === "baseline"
317
457
  ? args.config.evaluation.baselineCommand
318
458
  : args.config.evaluation.candidateCommand;
@@ -372,14 +512,32 @@ export async function evaluateExamples(args) {
372
512
  details: { model: args.config.llm?.model, examples: selected.length },
373
513
  });
374
514
  }
375
- const judged = shouldJudge
376
- ? await judgeWithOpenRouter({
377
- prompt: example.input,
378
- expected: example.output,
379
- actual,
380
- config: args.config,
381
- })
382
- : null;
515
+ let judged = null;
516
+ if (shouldJudge) {
517
+ try {
518
+ judged = await judgeWithOpenRouter({
519
+ prompt: example.input,
520
+ expected: example.output,
521
+ actual,
522
+ taskInstructions: args.system.trim() || undefined,
523
+ config: args.config,
524
+ });
525
+ }
526
+ catch (error) {
527
+ // Judge request failed or returned malformed output. With
528
+ // fallback=exact_match, score this example by exact match instead of
529
+ // failing the whole run; with fallback=fail, surface the error.
530
+ if (args.config.evaluation.scoring.fallback === "fail")
531
+ throw error;
532
+ const message = error instanceof Error ? error.message : String(error);
533
+ judged = {
534
+ score: exactScore,
535
+ passed: exactScore === 1,
536
+ reasoning: `LLM judge failed (${message.slice(0, 300)}); scored by normalized exact match.`,
537
+ model: null,
538
+ };
539
+ }
540
+ }
383
541
  if (judged?.model)
384
542
  judgeModelId = judged.model;
385
543
  const latencyMs = inferredResult?.latency_ms ?? Math.max(0, Math.round(performance.now() - started));
@@ -413,6 +571,9 @@ export async function evaluateExamples(args) {
413
571
  const exactMatchRate = total > 0
414
572
  ? results.filter((result) => scoreActual(result.expected, result.actual) === 1).length / total
415
573
  : 0;
574
+ const avgTokenF1 = total > 0
575
+ ? results.reduce((sum, result) => sum + tokenF1(result.expected, result.actual), 0) / total
576
+ : 0;
416
577
  const avgLatency = total > 0
417
578
  ? Math.round(results.reduce((sum, result) => sum + result.latency_ms, 0) / total)
418
579
  : 0;
@@ -432,9 +593,12 @@ export async function evaluateExamples(args) {
432
593
  eval_examples_total: args.examples.length,
433
594
  eval_examples_used: total,
434
595
  eval_truncated: args.examples.length > total,
596
+ eval_split: args.evalSplit,
597
+ eval_sample_seed: truncated ? sampleSeed : null,
435
598
  avg_score: avgScore,
436
599
  pass_rate: passRate,
437
600
  exact_match_rate: exactMatchRate,
601
+ avg_token_f1: avgTokenF1,
438
602
  avg_latency_ms: avgLatency,
439
603
  results,
440
604
  artifact_uri: fileUri(args.outputPath),
@@ -475,6 +639,7 @@ export function compareEvalReports(baseline, candidate) {
475
639
  avg_score_delta: candidate.avg_score - baseline.avg_score,
476
640
  pass_rate_delta: candidate.pass_rate - baseline.pass_rate,
477
641
  exact_match_rate_delta: candidate.exact_match_rate - baseline.exact_match_rate,
642
+ token_f1_delta: (candidate.avg_token_f1 ?? 0) - (baseline.avg_token_f1 ?? 0),
478
643
  regressions,
479
644
  improvements,
480
645
  regressed_examples: regressedExamples,
@@ -1 +1 @@
1
- {"version":3,"file":"evaluation.js","sourceRoot":"","sources":["../src/evaluation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAO9C,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAyB,MAAM,mBAAmB,CAAC;AAE9E,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AACzD,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB,EAAE,MAAc;IACnD,OAAO,SAAS,CAAC,QAAQ,CAAC,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,MAAM,UAAU,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACjE,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAChD,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC;QAAE,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAY,CAAC;YAChD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACnE,OAAO,MAAiC,CAAC;YAC3C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,0BAA0B;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/E,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC;aAC7C,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aACpD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,CACzD,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,eAAe,CAAC,IAAa,EAAE,KAAc;IACpD,OAAO,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;AAChG,CAAC;AAYD,SAAS,eAAe,CAAC,QAAgB,EAAE,MAAc,EAAE,gBAA2B;IACpF,MAAM,YAAY,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACjD,OAAO;YACL,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,UAAU,KAAK,CAAC;YACxB,SAAS,EAAE,4EAA4E;YACvF,eAAe,EAAE,OAAO,CAAC,UAAU,CAAC;YACpC,WAAW,EAAE,KAAK;YAClB,MAAM,EAAE,EAAE;YACV,YAAY,EAAE,EAAE;SACjB,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,gBAAgB,EAAE,MAAM;QACrC,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;IACtD,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,MAAM,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;WAClC,YAAY,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM;WACzC,YAAY,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IACnE,MAAM,YAAY,GAA4B,EAAE,CAAC;IAEjD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,YAAY,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACrG,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;IACnE,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,KAAK,MAAM,CAAC,MAAM,CAAC;IAC9D,OAAO;QACL,KAAK;QACL,MAAM;QACN,SAAS,EAAE,UAAU;YACnB,CAAC,CAAC,qBAAqB,OAAO,IAAI,MAAM,CAAC,MAAM,6BAA6B;YAC5E,CAAC,CAAC,qCAAqC;QACzC,eAAe,EAAE,OAAO,CAAC,UAAU,CAAC;QACpC,WAAW;QACX,MAAM;QACN,YAAY;KACb,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAAC,MAAwB,EAAE,KAAa;IACxE,IAAI,KAAK,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACzD,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5E,MAAM,cAAc,GAAyE,EAAE,CAAC;IAChG,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC;QAC3E,cAAc,CAAC,KAAK,CAAC,GAAG;YACtB,OAAO;YACP,KAAK,EAAE,MAAM,CAAC,MAAM;YACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SAC1D,CAAC;IACJ,CAAC;IACD,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC;IAC9E,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC;IAC5E,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IAC1E,OAAO;QACL,MAAM;QACN,gBAAgB,EAAE,cAAc;QAChC,eAAe,EAAE,cAAc,GAAG,KAAK;QACvC,kBAAkB,EAAE,gBAAgB;QACpC,iBAAiB,EAAE,gBAAgB,GAAG,KAAK;QAC3C,sBAAsB,EAAE,mBAAmB;QAC3C,qBAAqB,EAAE,mBAAmB,GAAG,KAAK;QAClD,cAAc;KACf,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,OAAO,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC7E,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,IAMlC;IACC,MAAM,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC;QAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC,CAAC;IAEH,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,OAAO,EAAE;YAChC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;YAC/B,GAAG,EAAE,OAAO,CAAC,GAAG;SACjB,CAAC,CAAC;QACH,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,MAAM,CAAC,IAAI,KAAK,CAAC,qCAAqC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;QAC7E,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAEnB,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACjC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACjC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACzD,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC1B,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;gBACf,MAAM,CAAC,IAAI,KAAK,CAAC,4BAA4B,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChF,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;YAC9B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA8D,CAAC;gBAChG,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;gBACjE,OAAO,CAAC,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;YAC3D,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,OAAO,CAAC,CAAC;YACnB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC;AAgBD,SAAS,oBAAoB,CAAC,MAAyB,EAAE,SAAiB,EAAE,UAAkB;IAC5F,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;IAC9C,MAAM,IAAI,GAAa,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,SAAS,CAAC,OAAO;QAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IACjE,KAAK,MAAM,UAAU,IAAI,SAAS,CAAC,IAAI,IAAI,EAAE;QAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC/E,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpB,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;IACxD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,wBAAwB,CAAC,IAUvC;IACC,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,UAAU,uBAAuB,CAAC;IAC5D,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,UAAU,wBAAwB,CAAC;IAC9D,MAAM,OAAO,GAAG,GAAG,IAAI,CAAC,UAAU,gBAAgB,CAAC;IACnD,MAAM,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,SAAS,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAC3C,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,OAAO;QACtB,UAAU,EAAE,IAAI,CAAC,WAAW;QAC5B,YAAY,EAAE,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC;QAC7C,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS;QAC7F,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,eAAe;QACnE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM;QAC/C,UAAU,EAAE;YACV,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,YAAY;YAC7D,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,WAAW;YACzD,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI;SAC7C;KACF,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEzB,MAAM,MAAM,GAAG,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC;IAClC,MAAM,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;QAC7B,KAAK,EAAE,cAAc,IAAI,CAAC,IAAI,EAAE;QAChC,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,YAAY,IAAI,CAAC,IAAI,0BAA0B;QACxD,OAAO,EAAE;YACP,QAAQ,EAAE,IAAI,CAAC,OAAO;YACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAC9B,OAAO;YACP,QAAQ,EAAE,OAAO;SAClB;KACF,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,iBAAiB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7D,IAAI,CAAC;QACH,MAAM,IAAI,OAAO,CAAO,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE;YACjD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE;gBAChC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBACzG,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC;gBACjC,GAAG,EAAE;oBACH,GAAG,OAAO,CAAC,GAAG;oBACd,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG;iBACxC;aACF,CAAC,CAAC;YACH,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACtB,MAAM,CAAC,IAAI,KAAK,CAAC,0CAA0C,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;YACpG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YACrC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7C,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;YAC7C,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACxC,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO;oBAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAChI,CAAC,CAAC,CAAC;YACH,kBAAkB,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACxC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC;gBACtB,IAAI,IAAI,CAAC,QAAQ,EAAE,OAAO;oBAAE,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,cAAc,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAChI,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBAC1B,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,MAAM,CAAC,KAAK,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACf,MAAM,CAAC,IAAI,KAAK,CAAC,iCAAiC,IAAI,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;oBACrF,OAAO;gBACT,CAAC;gBACD,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;YAAS,CAAC;QACT,MAAM,IAAI,OAAO,CAAO,CAAC,UAAU,EAAE,EAAE;YACrC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5B,CAAC,CAAC,CAAC;IACL,CAAC;IACD,MAAM,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;QAC7B,KAAK,EAAE,cAAc,IAAI,CAAC,IAAI,EAAE;QAChC,MAAM,EAAE,SAAS;QACjB,OAAO,EAAE,YAAY,IAAI,CAAC,IAAI,0BAA0B;QACxD,OAAO,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE;KACxD,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAgC,CAAC;AACvF,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,IAKlC;IACC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;QAClC;YACE,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,kHAAkH;SAC5H;QACD;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;gBACtB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC;SACH;KACF,EAAE;QACD,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK;QAC5B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS;QACpC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO;QAChC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO;QAChC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS;KAC5C,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAA+D,CAAC;IACxG,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;QAC5C,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC,CAAC;IACN,OAAO;QACL,KAAK;QACL,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC;QACxE,SAAS,EAAE,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,yCAAyC;QAC9G,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK;KAC7C,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,MAAyB;IACtD,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAUtC;IACC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC/E,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,UAAU;QACtC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe;QACxC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC;IAC5C,MAAM,iBAAiB,GACrB,IAAI,CAAC,MAAM,CAAC,MAAM;QAChB,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,KAAK,SAAS,IAAI,OAAO;YACpD,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,QAAQ,CAAC;IAClD,MAAM,qBAAqB,GACzB,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,KAAK,WAAW;QACzC,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC;IAC1C,MAAM,WAAW,GACf,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,iBAAiB,KAAK,MAAM,CAAC,IAAI,qBAAqB,KAAK,WAAW;QAC3F,CAAC,CAAC,aAAa;QACf,CAAC,CAAC,qBAAqB,CAAC;IAC5B,MAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,MAAM,eAAe,GAAqB,EAAE,CAAC;IAC7C,IAAI,YAAY,GAAkB,IAAI,CAAC;IACvC,IAAI,gBAAqD,CAAC;IAE1D,MAAM,QAAQ,GAAG,iBAAiB,KAAK,cAAc;QACnD,CAAC,CAAC,MAAM,wBAAwB,CAAC;YAC7B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,OAAO;YAC7C,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;QACJ,CAAC,CAAC,IAAI,CAAC;IACT,gBAAgB,GAAG,QAAQ,EAAE,iBAAiB,CAAC;IAE/C,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;QAClD,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,aAAa,GAAG,iBAAiB,KAAK,SAAS,IAAI,OAAO;YAC9D,CAAC,CAAC,MAAM,mBAAmB,CAAC;gBACxB,OAAO;gBACP,MAAM,EAAE,OAAO,CAAC,KAAK;gBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,QAAQ,EAAE,OAAO,CAAC,MAAM;gBACxB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS;aAC5C,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,cAAc,GAAG,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,MAAM,GAAG,aAAa,IAAI,cAAc,EAAE,MAAM,IAAI,EAAE,CAAC;QAC7D,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,WAAW,KAAK,WAAW,IAAI,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtF,IAAI,WAAW,KAAK,WAAW,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YACtG,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,IAAI,oBAAoB,CAAC;YACnE,MAAM,IAAI,KAAK,CAAC,8CAA8C,OAAO,kCAAkC,CAAC,CAAC;QAC3G,CAAC;QACD,IAAI,WAAW,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;gBAC7B,KAAK,EAAE,cAAc,IAAI,CAAC,IAAI,EAAE;gBAChC,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,WAAW,IAAI,CAAC,IAAI,iCAAiC;gBAC9D,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC,MAAM,EAAE;aACtE,CAAC,CAAC;QACL,CAAC;QACD,MAAM,MAAM,GAAG,WAAW;YACxB,CAAC,CAAC,MAAM,mBAAmB,CAAC;gBACxB,MAAM,EAAE,OAAO,CAAC,KAAK;gBACrB,QAAQ,EAAE,OAAO,CAAC,MAAM;gBACxB,MAAM;gBACN,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC;YACJ,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,MAAM,EAAE,KAAK;YAAE,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC;QAC/C,MAAM,SAAS,GAAG,cAAc,EAAE,UAAU,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;QACrG,MAAM,cAAc,GAAG,WAAW,KAAK,aAAa;YAClD,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC;YAChF,CAAC,CAAC,IAAI,CAAC;QACT,IAAI,cAAc;YAAE,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACzD,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,cAAc,EAAE,KAAK,IAAI,UAAU,CAAC;QACnE,OAAO,CAAC,IAAI,CAAC;YACX,MAAM,EAAE,OAAO,CAAC,KAAK;YACrB,QAAQ,EAAE,OAAO,CAAC,MAAM;YACxB,MAAM;YACN,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,IAAI,KAAK,KAAK,CAAC;YAC/D,KAAK;YACL,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,cAAc,EAAE,SAAS,IAAI,CAAC,iBAAiB,KAAK,MAAM;gBACxF,CAAC,CAAC,oEAAoE;gBACtE,CAAC,CAAC,WAAW,KAAK,WAAW;oBAC3B,CAAC,CAAC,oEAAoE;oBACtE,CAAC,CAAC,mCAAmC,CAAC;YAC1C,UAAU,EAAE,SAAS;SACtB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAC7B,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC;QACxB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,GAAG,KAAK;QAChE,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC;QACxB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,KAAK;QAC1D,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,cAAc,GAAG,KAAK,GAAG,CAAC;QAC9B,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK;QAC9F,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,UAAU,GAAG,KAAK,GAAG,CAAC;QAC1B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;QACjF,CAAC,CAAC,CAAC,CAAC;IACN,MAAM,aAAa,GAAG,YAAY;QAChC,CAAC,CAAC,WAAW;QACb,CAAC,CAAC,WAAW,KAAK,aAAa;YAC7B,CAAC,CAAC,aAAa;YACjB,CAAC,CAAC,iBAAiB,KAAK,SAAS;gBAC/B,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,iBAAiB,KAAK,MAAM;oBAC5B,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,aAAa,CAAC;IACtB,MAAM,MAAM,GAAe;QACzB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,QAAQ,EAAE,IAAI,CAAC,OAAO;QACtB,KAAK;QACL,mBAAmB,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;QACzC,kBAAkB,EAAE,KAAK;QACzB,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK;QAC5C,SAAS,EAAE,QAAQ;QACnB,SAAS,EAAE,QAAQ;QACnB,gBAAgB,EAAE,cAAc;QAChC,cAAc,EAAE,UAAU;QAC1B,OAAO;QACP,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC;QACtC,cAAc,EAAE,aAAa;QAC7B,cAAc,EAAE,YAAY;QAC5B,kBAAkB,EAAE,iBAAiB;QACrC,YAAY,EAAE,WAAW;QACzB,kBAAkB,EAAE,WAAW,KAAK,aAAa;YAC/C,CAAC,CAAC,yBAAyB,CAAC,eAAe,EAAE,KAAK,CAAC;YACnD,CAAC,CAAC,SAAS;QACb,iBAAiB,EAAE,gBAAgB;QACnC,OAAO,EAAE,iBAAiB,KAAK,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS;KACxG,CAAC;IACF,MAAM,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IACzC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAoB,EAAE,SAAqB;IAC5E,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,MAAM,iBAAiB,GAAG,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1E,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;QACtD,IAAI,QAAQ,GAAG,QAAQ,EAAE,CAAC;YACxB,WAAW,IAAI,CAAC,CAAC;YACjB,iBAAiB,CAAC,IAAI,CAAC;gBACrB,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,EAAE;gBAC7C,SAAS,EAAE,QAAQ;gBACnB,SAAS,EAAE,QAAQ;aACpB,CAAC,CAAC;QACL,CAAC;aAAM,IAAI,QAAQ,GAAG,QAAQ,EAAE,CAAC;YAC/B,YAAY,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO;QACL,eAAe,EAAE,SAAS,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS;QACzD,eAAe,EAAE,SAAS,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS;QACzD,sBAAsB,EAAE,SAAS,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB;QAC9E,WAAW;QACX,YAAY;QACZ,kBAAkB,EAAE,iBAAiB;KACtC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"evaluation.js","sourceRoot":"","sources":["../src/evaluation.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -13,3 +13,9 @@ export interface LocalRunnerInfo {
13
13
  description: string;
14
14
  }
15
15
  export declare function getLocalRunnerInfo(): LocalRunnerInfo;
16
+ /**
17
+ * Parses simple KEY=VALUE lines from .env content. Supports comments, blank
18
+ * lines, an optional `export ` prefix, and single/double quoted values. Does
19
+ * not support multiline values or variable expansion.
20
+ */
21
+ export declare function parseDotEnv(content: string): Record<string, string>;
package/dist/index.js CHANGED
@@ -2,6 +2,7 @@
2
2
  import { realpathSync } from "node:fs";
3
3
  import { readFile } from "node:fs/promises";
4
4
  import { resolve } from "node:path";
5
+ import { cwd } from "node:process";
5
6
  import { fileURLToPath } from "node:url";
6
7
  import { fineTuneRunRequestSchema, localBehaviorSpecFileSchema, localRunnerConfigSchema, specSnapshotSchema } from "./contracts.js";
7
8
  import { loadLocalRunnerConfig, runLocalFineTune, } from "./orchestrator.js";
@@ -25,6 +26,50 @@ export function getLocalRunnerInfo() {
25
26
  description: "Local fine-tuning runner for single-GPU uv/Python hosts.",
26
27
  };
27
28
  }
29
+ /**
30
+ * Parses simple KEY=VALUE lines from .env content. Supports comments, blank
31
+ * lines, an optional `export ` prefix, and single/double quoted values. Does
32
+ * not support multiline values or variable expansion.
33
+ */
34
+ export function parseDotEnv(content) {
35
+ const values = {};
36
+ for (const rawLine of content.split(/\r?\n/)) {
37
+ const line = rawLine.trim();
38
+ if (!line || line.startsWith("#"))
39
+ continue;
40
+ const match = line.match(/^(?:export\s+)?([A-Za-z_][A-Za-z0-9_]*)\s*=\s*(.*)$/);
41
+ if (!match)
42
+ continue;
43
+ let value = match[2].trim();
44
+ if ((value.startsWith("\"") && value.endsWith("\"")) || (value.startsWith("'") && value.endsWith("'"))) {
45
+ value = value.slice(1, -1);
46
+ }
47
+ values[match[1]] = value;
48
+ }
49
+ return values;
50
+ }
51
+ /**
52
+ * Loads .env from the working directory into process.env without overriding
53
+ * variables that are already set, so `OPENROUTER_API_KEY` and friends work
54
+ * out of the box in project directories. Returns the names that were loaded.
55
+ */
56
+ async function loadDotEnvFromCwd() {
57
+ let content;
58
+ try {
59
+ content = await readFile(resolve(cwd(), ".env"), "utf8");
60
+ }
61
+ catch {
62
+ return [];
63
+ }
64
+ const loaded = [];
65
+ for (const [key, value] of Object.entries(parseDotEnv(content))) {
66
+ if (process.env[key] === undefined) {
67
+ process.env[key] = value;
68
+ loaded.push(key);
69
+ }
70
+ }
71
+ return loaded;
72
+ }
28
73
  function readOption(argv, name) {
29
74
  const index = argv.indexOf(name);
30
75
  if (index === -1)
@@ -118,13 +163,20 @@ function formatEvent(event) {
118
163
  function createConsoleReporter(options) {
119
164
  if (options.quiet)
120
165
  return undefined;
166
+ let lastLogLine = "";
121
167
  return {
122
168
  verbose: options.verbose,
123
169
  onEvent(event) {
124
170
  process.stderr.write(`${formatEvent(event)}\n`);
125
171
  },
126
172
  onLog(log) {
127
- process.stderr.write(sanitizeLogLine(`[tt-local] ${log.stage}${log.stream ? ` ${log.stream}` : ""}: ${log.message}`) + "\n");
173
+ const line = sanitizeLogLine(`[tt-local] ${log.stage}${log.stream ? ` ${log.stream}` : ""}: ${log.message}`);
174
+ // tqdm redraws the same progress line several times per step; collapse
175
+ // consecutive duplicates so --verbose output stays readable.
176
+ if (line === lastLogLine)
177
+ return;
178
+ lastLogLine = line;
179
+ process.stderr.write(`${line}\n`);
128
180
  },
129
181
  };
130
182
  }
@@ -136,6 +188,10 @@ function isTerminalStatus(status) {
136
188
  }
137
189
  async function main(argv) {
138
190
  const command = argv[2] ?? "info";
191
+ const loadedEnv = await loadDotEnvFromCwd();
192
+ if (loadedEnv.length > 0 && !hasFlag(argv, "--quiet")) {
193
+ process.stderr.write(`[tt-local] loaded ${loadedEnv.join(", ")} from .env\n`);
194
+ }
139
195
  if (command === "info" || command === "--help" || command === "-h") {
140
196
  const info = getLocalRunnerInfo();
141
197
  console.log(`${info.name}: ${info.description}`);
@@ -188,6 +244,7 @@ async function main(argv) {
188
244
  artifact_root: config.artifactRoot,
189
245
  store_root: config.storeRoot,
190
246
  dry_run: config.dryRun,
247
+ ...(input.warnings.length > 0 ? { warnings: input.warnings } : {}),
191
248
  });
192
249
  return;
193
250
  }
@@ -202,6 +259,11 @@ async function main(argv) {
202
259
  userId: readOption(argv, "--user-id"),
203
260
  runNumber: readNumberOption(argv, "--run-number"),
204
261
  });
262
+ if (!hasFlag(argv, "--quiet")) {
263
+ for (const warning of input.warnings) {
264
+ process.stderr.write(`[tt-local] warning: ${warning}\n`);
265
+ }
266
+ }
205
267
  const request = input.request;
206
268
  const result = await runLocalFineTune({
207
269
  request,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,15 @@ export interface LocalRunInput {
16
16
  path: string;
17
17
  request: FineTuneRunRequest;
18
18
  spec?: LocalBehaviorSpecFile;
19
+ warnings: string[];
19
20
  }
21
+ /**
22
+ * Zod strips unrecognized hyperparameter keys, so a typo like
23
+ * `per_device_train_batch_size` (instead of `batch_size`) is silently ignored
24
+ * and the run trains with defaults. Surface those keys as warnings so
25
+ * `validate` and `run` can flag them instead of dropping them without a trace.
26
+ */
27
+ export declare function unknownHyperparameterWarnings(raw: unknown): string[];
20
28
  export declare function initLocalSpecFile(args: CreateLocalSpecArgs): Promise<LocalBehaviorSpecFile>;
21
29
  export declare function runRequestFromLocalSpec(spec: LocalBehaviorSpecFile, options?: RunRequestFromSpecOptions): FineTuneRunRequest;
22
30
  export declare function loadLocalRunInput(path: string, options?: RunRequestFromSpecOptions): Promise<LocalRunInput>;