@tuned-tensor/local 0.1.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 (53) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/LICENSE +161 -0
  3. package/README.md +242 -0
  4. package/dist/artifacts.d.ts +35 -0
  5. package/dist/artifacts.js +56 -0
  6. package/dist/artifacts.js.map +1 -0
  7. package/dist/contracts.d.ts +471 -0
  8. package/dist/contracts.js +253 -0
  9. package/dist/contracts.js.map +1 -0
  10. package/dist/dataset.d.ts +12 -0
  11. package/dist/dataset.js +60 -0
  12. package/dist/dataset.js.map +1 -0
  13. package/dist/docker-training.d.ts +8 -0
  14. package/dist/docker-training.js +123 -0
  15. package/dist/docker-training.js.map +1 -0
  16. package/dist/doctor.d.ts +7 -0
  17. package/dist/doctor.js +74 -0
  18. package/dist/doctor.js.map +1 -0
  19. package/dist/evaluation.d.ts +23 -0
  20. package/dist/evaluation.js +318 -0
  21. package/dist/evaluation.js.map +1 -0
  22. package/dist/index.d.ts +14 -0
  23. package/dist/index.js +316 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/local-project.d.ts +22 -0
  26. package/dist/local-project.js +74 -0
  27. package/dist/local-project.js.map +1 -0
  28. package/dist/model-registry.d.ts +18 -0
  29. package/dist/model-registry.js +151 -0
  30. package/dist/model-registry.js.map +1 -0
  31. package/dist/openrouter.d.ts +16 -0
  32. package/dist/openrouter.js +39 -0
  33. package/dist/openrouter.js.map +1 -0
  34. package/dist/orchestrator.d.ts +14 -0
  35. package/dist/orchestrator.js +151 -0
  36. package/dist/orchestrator.js.map +1 -0
  37. package/dist/process-training.d.ts +8 -0
  38. package/dist/process-training.js +135 -0
  39. package/dist/process-training.js.map +1 -0
  40. package/dist/server.d.ts +9 -0
  41. package/dist/server.js +211 -0
  42. package/dist/server.js.map +1 -0
  43. package/dist/store.d.ts +98 -0
  44. package/dist/store.js +327 -0
  45. package/dist/store.js.map +1 -0
  46. package/docs/architecture.md +109 -0
  47. package/docs/spark.md +86 -0
  48. package/examples/local-runner.json +14 -0
  49. package/examples/smoke-run-request.json +34 -0
  50. package/package.json +40 -0
  51. package/training/sft-local/pyproject.toml +24 -0
  52. package/training/sft-local/src/evaluate.py +177 -0
  53. package/training/sft-local/src/train.py +233 -0
@@ -0,0 +1,471 @@
1
+ import { z } from "zod";
2
+ export declare const documentInputAssetSchema: z.ZodObject<{
3
+ type: z.ZodDefault<z.ZodLiteral<"image">>;
4
+ mime_type: z.ZodOptional<z.ZodString>;
5
+ image: z.ZodOptional<z.ZodString>;
6
+ data_uri: z.ZodOptional<z.ZodString>;
7
+ uri: z.ZodOptional<z.ZodString>;
8
+ path: z.ZodOptional<z.ZodString>;
9
+ page: z.ZodOptional<z.ZodNumber>;
10
+ }, z.core.$strip>;
11
+ export declare const behaviorSpecExampleSchema: z.ZodObject<{
12
+ input: z.ZodString;
13
+ output: z.ZodString;
14
+ input_assets: z.ZodOptional<z.ZodArray<z.ZodObject<{
15
+ type: z.ZodDefault<z.ZodLiteral<"image">>;
16
+ mime_type: z.ZodOptional<z.ZodString>;
17
+ image: z.ZodOptional<z.ZodString>;
18
+ data_uri: z.ZodOptional<z.ZodString>;
19
+ uri: z.ZodOptional<z.ZodString>;
20
+ path: z.ZodOptional<z.ZodString>;
21
+ page: z.ZodOptional<z.ZodNumber>;
22
+ }, z.core.$strip>>>;
23
+ modality: z.ZodOptional<z.ZodLiteral<"document_ocr">>;
24
+ }, z.core.$strip>;
25
+ export declare const specSnapshotSchema: z.ZodObject<{
26
+ name: z.ZodString;
27
+ description: z.ZodDefault<z.ZodString>;
28
+ system_prompt: z.ZodDefault<z.ZodString>;
29
+ guidelines: z.ZodDefault<z.ZodArray<z.ZodString>>;
30
+ examples: z.ZodDefault<z.ZodArray<z.ZodObject<{
31
+ input: z.ZodString;
32
+ output: z.ZodString;
33
+ input_assets: z.ZodOptional<z.ZodArray<z.ZodObject<{
34
+ type: z.ZodDefault<z.ZodLiteral<"image">>;
35
+ mime_type: z.ZodOptional<z.ZodString>;
36
+ image: z.ZodOptional<z.ZodString>;
37
+ data_uri: z.ZodOptional<z.ZodString>;
38
+ uri: z.ZodOptional<z.ZodString>;
39
+ path: z.ZodOptional<z.ZodString>;
40
+ page: z.ZodOptional<z.ZodNumber>;
41
+ }, z.core.$strip>>>;
42
+ modality: z.ZodOptional<z.ZodLiteral<"document_ocr">>;
43
+ }, z.core.$strip>>>;
44
+ constraints: z.ZodDefault<z.ZodArray<z.ZodString>>;
45
+ base_model: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
46
+ }, z.core.$strip>;
47
+ export declare const datasetPrebuiltSchema: z.ZodObject<{
48
+ training: z.ZodString;
49
+ validation: z.ZodOptional<z.ZodString>;
50
+ test: z.ZodOptional<z.ZodString>;
51
+ format: z.ZodOptional<z.ZodEnum<{
52
+ chat_jsonl: "chat_jsonl";
53
+ document_ocr_chat_jsonl: "document_ocr_chat_jsonl";
54
+ }>>;
55
+ }, z.core.$strip>;
56
+ export declare const fineTuneHyperparametersSchema: z.ZodObject<{
57
+ n_epochs: z.ZodDefault<z.ZodNumber>;
58
+ learning_rate: z.ZodOptional<z.ZodNumber>;
59
+ batch_size: z.ZodOptional<z.ZodNumber>;
60
+ lora_rank: z.ZodOptional<z.ZodNumber>;
61
+ lora_alpha: z.ZodOptional<z.ZodNumber>;
62
+ lora_dropout: z.ZodOptional<z.ZodNumber>;
63
+ max_seq_length: z.ZodOptional<z.ZodNumber>;
64
+ gradient_accumulation_steps: z.ZodOptional<z.ZodNumber>;
65
+ save_adapter_only: z.ZodDefault<z.ZodBoolean>;
66
+ augment: z.ZodDefault<z.ZodBoolean>;
67
+ use_llm_judge: z.ZodDefault<z.ZodBoolean>;
68
+ max_eval_examples: z.ZodOptional<z.ZodNumber>;
69
+ }, z.core.$strip>;
70
+ export declare const localArtifactsSchema: z.ZodObject<{
71
+ prefix: z.ZodOptional<z.ZodString>;
72
+ }, z.core.$strip>;
73
+ export declare const fineTuneRunRequestSchema: z.ZodObject<{
74
+ run_id: z.ZodString;
75
+ user_id: z.ZodString;
76
+ behavior_spec_id: z.ZodString;
77
+ run_number: z.ZodNumber;
78
+ spec_snapshot: z.ZodObject<{
79
+ name: z.ZodString;
80
+ description: z.ZodDefault<z.ZodString>;
81
+ system_prompt: z.ZodDefault<z.ZodString>;
82
+ guidelines: z.ZodDefault<z.ZodArray<z.ZodString>>;
83
+ examples: z.ZodDefault<z.ZodArray<z.ZodObject<{
84
+ input: z.ZodString;
85
+ output: z.ZodString;
86
+ input_assets: z.ZodOptional<z.ZodArray<z.ZodObject<{
87
+ type: z.ZodDefault<z.ZodLiteral<"image">>;
88
+ mime_type: z.ZodOptional<z.ZodString>;
89
+ image: z.ZodOptional<z.ZodString>;
90
+ data_uri: z.ZodOptional<z.ZodString>;
91
+ uri: z.ZodOptional<z.ZodString>;
92
+ path: z.ZodOptional<z.ZodString>;
93
+ page: z.ZodOptional<z.ZodNumber>;
94
+ }, z.core.$strip>>>;
95
+ modality: z.ZodOptional<z.ZodLiteral<"document_ocr">>;
96
+ }, z.core.$strip>>>;
97
+ constraints: z.ZodDefault<z.ZodArray<z.ZodString>>;
98
+ base_model: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
99
+ }, z.core.$strip>;
100
+ hyperparameters: z.ZodDefault<z.ZodObject<{
101
+ n_epochs: z.ZodDefault<z.ZodNumber>;
102
+ learning_rate: z.ZodOptional<z.ZodNumber>;
103
+ batch_size: z.ZodOptional<z.ZodNumber>;
104
+ lora_rank: z.ZodOptional<z.ZodNumber>;
105
+ lora_alpha: z.ZodOptional<z.ZodNumber>;
106
+ lora_dropout: z.ZodOptional<z.ZodNumber>;
107
+ max_seq_length: z.ZodOptional<z.ZodNumber>;
108
+ gradient_accumulation_steps: z.ZodOptional<z.ZodNumber>;
109
+ save_adapter_only: z.ZodDefault<z.ZodBoolean>;
110
+ augment: z.ZodDefault<z.ZodBoolean>;
111
+ use_llm_judge: z.ZodDefault<z.ZodBoolean>;
112
+ max_eval_examples: z.ZodOptional<z.ZodNumber>;
113
+ }, z.core.$strip>>;
114
+ artifacts: z.ZodOptional<z.ZodObject<{
115
+ prefix: z.ZodOptional<z.ZodString>;
116
+ }, z.core.$strip>>;
117
+ dataset_prebuilt: z.ZodOptional<z.ZodObject<{
118
+ training: z.ZodString;
119
+ validation: z.ZodOptional<z.ZodString>;
120
+ test: z.ZodOptional<z.ZodString>;
121
+ format: z.ZodOptional<z.ZodEnum<{
122
+ chat_jsonl: "chat_jsonl";
123
+ document_ocr_chat_jsonl: "document_ocr_chat_jsonl";
124
+ }>>;
125
+ }, z.core.$strip>>;
126
+ }, z.core.$strip>;
127
+ export declare const localBehaviorSpecFileSchema: z.ZodObject<{
128
+ name: z.ZodString;
129
+ description: z.ZodDefault<z.ZodString>;
130
+ system_prompt: z.ZodDefault<z.ZodString>;
131
+ guidelines: z.ZodDefault<z.ZodArray<z.ZodString>>;
132
+ examples: z.ZodDefault<z.ZodArray<z.ZodObject<{
133
+ input: z.ZodString;
134
+ output: z.ZodString;
135
+ input_assets: z.ZodOptional<z.ZodArray<z.ZodObject<{
136
+ type: z.ZodDefault<z.ZodLiteral<"image">>;
137
+ mime_type: z.ZodOptional<z.ZodString>;
138
+ image: z.ZodOptional<z.ZodString>;
139
+ data_uri: z.ZodOptional<z.ZodString>;
140
+ uri: z.ZodOptional<z.ZodString>;
141
+ path: z.ZodOptional<z.ZodString>;
142
+ page: z.ZodOptional<z.ZodNumber>;
143
+ }, z.core.$strip>>>;
144
+ modality: z.ZodOptional<z.ZodLiteral<"document_ocr">>;
145
+ }, z.core.$strip>>>;
146
+ constraints: z.ZodDefault<z.ZodArray<z.ZodString>>;
147
+ base_model: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
148
+ id: z.ZodOptional<z.ZodString>;
149
+ user_id: z.ZodDefault<z.ZodString>;
150
+ run_number: z.ZodDefault<z.ZodNumber>;
151
+ hyperparameters: z.ZodOptional<z.ZodObject<{
152
+ n_epochs: z.ZodDefault<z.ZodNumber>;
153
+ learning_rate: z.ZodOptional<z.ZodNumber>;
154
+ batch_size: z.ZodOptional<z.ZodNumber>;
155
+ lora_rank: z.ZodOptional<z.ZodNumber>;
156
+ lora_alpha: z.ZodOptional<z.ZodNumber>;
157
+ lora_dropout: z.ZodOptional<z.ZodNumber>;
158
+ max_seq_length: z.ZodOptional<z.ZodNumber>;
159
+ gradient_accumulation_steps: z.ZodOptional<z.ZodNumber>;
160
+ save_adapter_only: z.ZodDefault<z.ZodBoolean>;
161
+ augment: z.ZodDefault<z.ZodBoolean>;
162
+ use_llm_judge: z.ZodDefault<z.ZodBoolean>;
163
+ max_eval_examples: z.ZodOptional<z.ZodNumber>;
164
+ }, z.core.$strip>>;
165
+ artifacts: z.ZodOptional<z.ZodObject<{
166
+ prefix: z.ZodOptional<z.ZodString>;
167
+ }, z.core.$strip>>;
168
+ dataset_prebuilt: z.ZodOptional<z.ZodObject<{
169
+ training: z.ZodString;
170
+ validation: z.ZodOptional<z.ZodString>;
171
+ test: z.ZodOptional<z.ZodString>;
172
+ format: z.ZodOptional<z.ZodEnum<{
173
+ chat_jsonl: "chat_jsonl";
174
+ document_ocr_chat_jsonl: "document_ocr_chat_jsonl";
175
+ }>>;
176
+ }, z.core.$strip>>;
177
+ }, z.core.$strip>;
178
+ export declare const evalExampleResultSchema: z.ZodObject<{
179
+ prompt: z.ZodString;
180
+ expected: z.ZodString;
181
+ actual: z.ZodString;
182
+ passed: z.ZodBoolean;
183
+ score: z.ZodNumber;
184
+ reasoning: z.ZodNullable<z.ZodString>;
185
+ latency_ms: z.ZodNumber;
186
+ }, z.core.$strip>;
187
+ export declare const evalReportSchema: z.ZodObject<{
188
+ kind: z.ZodEnum<{
189
+ candidate: "candidate";
190
+ baseline: "baseline";
191
+ }>;
192
+ model_id: z.ZodString;
193
+ total: z.ZodNumber;
194
+ eval_examples_total: z.ZodNumber;
195
+ eval_examples_used: z.ZodNumber;
196
+ eval_truncated: z.ZodBoolean;
197
+ avg_score: z.ZodNumber;
198
+ pass_rate: z.ZodNumber;
199
+ exact_match_rate: z.ZodNumber;
200
+ avg_latency_ms: z.ZodNumber;
201
+ results: z.ZodArray<z.ZodObject<{
202
+ prompt: z.ZodString;
203
+ expected: z.ZodString;
204
+ actual: z.ZodString;
205
+ passed: z.ZodBoolean;
206
+ score: z.ZodNumber;
207
+ reasoning: z.ZodNullable<z.ZodString>;
208
+ latency_ms: z.ZodNumber;
209
+ }, z.core.$strip>>;
210
+ artifact_uri: z.ZodString;
211
+ scoring_method: z.ZodEnum<{
212
+ command: "command";
213
+ heuristic: "heuristic";
214
+ llm_judge: "llm_judge";
215
+ exact_match: "exact_match";
216
+ }>;
217
+ judge_model_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
218
+ inference_provider: z.ZodOptional<z.ZodEnum<{
219
+ command: "command";
220
+ none: "none";
221
+ transformers: "transformers";
222
+ }>>;
223
+ scoring_mode: z.ZodOptional<z.ZodEnum<{
224
+ llm_judge: "llm_judge";
225
+ exact_match: "exact_match";
226
+ }>>;
227
+ generation_config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
228
+ }, z.core.$strip>;
229
+ export declare const comparisonReportSchema: z.ZodObject<{
230
+ avg_score_delta: z.ZodNumber;
231
+ pass_rate_delta: z.ZodNumber;
232
+ exact_match_rate_delta: z.ZodNumber;
233
+ regressions: z.ZodNumber;
234
+ improvements: z.ZodNumber;
235
+ regressed_examples: z.ZodArray<z.ZodObject<{
236
+ prompt: z.ZodString;
237
+ old_score: z.ZodNumber;
238
+ new_score: z.ZodNumber;
239
+ }, z.core.$strip>>;
240
+ }, z.core.$strip>;
241
+ export declare const trainingReportSchema: z.ZodObject<{
242
+ provider: z.ZodLiteral<"local-uv">;
243
+ training_job_name: z.ZodString;
244
+ model_artifact_uri: z.ZodOptional<z.ZodString>;
245
+ base_model_artifact_uri: z.ZodOptional<z.ZodString>;
246
+ metrics: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
247
+ exit_code: z.ZodNullable<z.ZodNumber>;
248
+ log_uri: z.ZodString;
249
+ command: z.ZodOptional<z.ZodArray<z.ZodString>>;
250
+ }, z.core.$strip>;
251
+ export declare const runReportSchema: z.ZodObject<{
252
+ run_id: z.ZodString;
253
+ behavior_spec_id: z.ZodString;
254
+ user_id: z.ZodString;
255
+ run_number: z.ZodNumber;
256
+ base_model: z.ZodString;
257
+ fine_tuned_model_id: z.ZodString;
258
+ status: z.ZodEnum<{
259
+ failed: "failed";
260
+ completed: "completed";
261
+ }>;
262
+ baseline: z.ZodObject<{
263
+ kind: z.ZodEnum<{
264
+ candidate: "candidate";
265
+ baseline: "baseline";
266
+ }>;
267
+ model_id: z.ZodString;
268
+ total: z.ZodNumber;
269
+ eval_examples_total: z.ZodNumber;
270
+ eval_examples_used: z.ZodNumber;
271
+ eval_truncated: z.ZodBoolean;
272
+ avg_score: z.ZodNumber;
273
+ pass_rate: z.ZodNumber;
274
+ exact_match_rate: z.ZodNumber;
275
+ avg_latency_ms: z.ZodNumber;
276
+ results: z.ZodArray<z.ZodObject<{
277
+ prompt: z.ZodString;
278
+ expected: z.ZodString;
279
+ actual: z.ZodString;
280
+ passed: z.ZodBoolean;
281
+ score: z.ZodNumber;
282
+ reasoning: z.ZodNullable<z.ZodString>;
283
+ latency_ms: z.ZodNumber;
284
+ }, z.core.$strip>>;
285
+ artifact_uri: z.ZodString;
286
+ scoring_method: z.ZodEnum<{
287
+ command: "command";
288
+ heuristic: "heuristic";
289
+ llm_judge: "llm_judge";
290
+ exact_match: "exact_match";
291
+ }>;
292
+ judge_model_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
293
+ inference_provider: z.ZodOptional<z.ZodEnum<{
294
+ command: "command";
295
+ none: "none";
296
+ transformers: "transformers";
297
+ }>>;
298
+ scoring_mode: z.ZodOptional<z.ZodEnum<{
299
+ llm_judge: "llm_judge";
300
+ exact_match: "exact_match";
301
+ }>>;
302
+ generation_config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
303
+ }, z.core.$strip>;
304
+ candidate: z.ZodObject<{
305
+ kind: z.ZodEnum<{
306
+ candidate: "candidate";
307
+ baseline: "baseline";
308
+ }>;
309
+ model_id: z.ZodString;
310
+ total: z.ZodNumber;
311
+ eval_examples_total: z.ZodNumber;
312
+ eval_examples_used: z.ZodNumber;
313
+ eval_truncated: z.ZodBoolean;
314
+ avg_score: z.ZodNumber;
315
+ pass_rate: z.ZodNumber;
316
+ exact_match_rate: z.ZodNumber;
317
+ avg_latency_ms: z.ZodNumber;
318
+ results: z.ZodArray<z.ZodObject<{
319
+ prompt: z.ZodString;
320
+ expected: z.ZodString;
321
+ actual: z.ZodString;
322
+ passed: z.ZodBoolean;
323
+ score: z.ZodNumber;
324
+ reasoning: z.ZodNullable<z.ZodString>;
325
+ latency_ms: z.ZodNumber;
326
+ }, z.core.$strip>>;
327
+ artifact_uri: z.ZodString;
328
+ scoring_method: z.ZodEnum<{
329
+ command: "command";
330
+ heuristic: "heuristic";
331
+ llm_judge: "llm_judge";
332
+ exact_match: "exact_match";
333
+ }>;
334
+ judge_model_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
335
+ inference_provider: z.ZodOptional<z.ZodEnum<{
336
+ command: "command";
337
+ none: "none";
338
+ transformers: "transformers";
339
+ }>>;
340
+ scoring_mode: z.ZodOptional<z.ZodEnum<{
341
+ llm_judge: "llm_judge";
342
+ exact_match: "exact_match";
343
+ }>>;
344
+ generation_config: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
345
+ }, z.core.$strip>;
346
+ comparison: z.ZodObject<{
347
+ avg_score_delta: z.ZodNumber;
348
+ pass_rate_delta: z.ZodNumber;
349
+ exact_match_rate_delta: z.ZodNumber;
350
+ regressions: z.ZodNumber;
351
+ improvements: z.ZodNumber;
352
+ regressed_examples: z.ZodArray<z.ZodObject<{
353
+ prompt: z.ZodString;
354
+ old_score: z.ZodNumber;
355
+ new_score: z.ZodNumber;
356
+ }, z.core.$strip>>;
357
+ }, z.core.$strip>;
358
+ training: z.ZodObject<{
359
+ provider: z.ZodLiteral<"local-uv">;
360
+ training_job_name: z.ZodString;
361
+ model_artifact_uri: z.ZodOptional<z.ZodString>;
362
+ base_model_artifact_uri: z.ZodOptional<z.ZodString>;
363
+ metrics: z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
364
+ exit_code: z.ZodNullable<z.ZodNumber>;
365
+ log_uri: z.ZodString;
366
+ command: z.ZodOptional<z.ZodArray<z.ZodString>>;
367
+ }, z.core.$strip>;
368
+ artifact_uris: z.ZodObject<{
369
+ dataset: z.ZodString;
370
+ baseline_eval: z.ZodString;
371
+ candidate_eval: z.ZodString;
372
+ report: z.ZodString;
373
+ }, z.core.$strip>;
374
+ run_metadata: z.ZodObject<{
375
+ base_model: z.ZodString;
376
+ fine_tuned_model_id: z.ZodString;
377
+ dataset_prebuilt: z.ZodBoolean;
378
+ dataset_uri: z.ZodString;
379
+ spec_example_count: z.ZodNumber;
380
+ training_example_count: z.ZodNullable<z.ZodNumber>;
381
+ eval_examples_total: z.ZodNumber;
382
+ eval_examples_used: z.ZodNumber;
383
+ started_at: z.ZodString;
384
+ completed_at: z.ZodString;
385
+ elapsed_ms: z.ZodNumber;
386
+ elapsed_seconds: z.ZodNumber;
387
+ }, z.core.$strip>;
388
+ created_at: z.ZodString;
389
+ }, z.core.$strip>;
390
+ export declare const commandSchema: z.ZodArray<z.ZodString>;
391
+ export declare const localRunnerConfigSchema: z.ZodObject<{
392
+ storeRoot: z.ZodOptional<z.ZodString>;
393
+ artifactRoot: z.ZodDefault<z.ZodString>;
394
+ dryRun: z.ZodDefault<z.ZodBoolean>;
395
+ training: z.ZodDefault<z.ZodObject<{
396
+ backend: z.ZodDefault<z.ZodLiteral<"uv">>;
397
+ project: z.ZodOptional<z.ZodString>;
398
+ cwd: z.ZodOptional<z.ZodString>;
399
+ module: z.ZodOptional<z.ZodString>;
400
+ script: z.ZodOptional<z.ZodString>;
401
+ args: z.ZodDefault<z.ZodArray<z.ZodString>>;
402
+ with: z.ZodDefault<z.ZodArray<z.ZodString>>;
403
+ env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
404
+ }, z.core.$strip>>;
405
+ paths: z.ZodDefault<z.ZodObject<{
406
+ baseModel: z.ZodOptional<z.ZodString>;
407
+ modelCache: z.ZodOptional<z.ZodString>;
408
+ }, z.core.$strip>>;
409
+ evaluation: z.ZodDefault<z.ZodObject<{
410
+ mode: z.ZodDefault<z.ZodEnum<{
411
+ command: "command";
412
+ heuristic: "heuristic";
413
+ llm_judge: "llm_judge";
414
+ }>>;
415
+ baselineCommand: z.ZodOptional<z.ZodArray<z.ZodString>>;
416
+ candidateCommand: z.ZodOptional<z.ZodArray<z.ZodString>>;
417
+ inference: z.ZodDefault<z.ZodObject<{
418
+ provider: z.ZodDefault<z.ZodEnum<{
419
+ none: "none";
420
+ transformers: "transformers";
421
+ }>>;
422
+ project: z.ZodOptional<z.ZodString>;
423
+ cwd: z.ZodOptional<z.ZodString>;
424
+ module: z.ZodOptional<z.ZodString>;
425
+ script: z.ZodDefault<z.ZodString>;
426
+ with: z.ZodDefault<z.ZodArray<z.ZodString>>;
427
+ env: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
428
+ maxNewTokens: z.ZodDefault<z.ZodNumber>;
429
+ temperature: z.ZodDefault<z.ZodNumber>;
430
+ topP: z.ZodDefault<z.ZodNumber>;
431
+ trustRemoteCode: z.ZodDefault<z.ZodBoolean>;
432
+ device: z.ZodDefault<z.ZodEnum<{
433
+ auto: "auto";
434
+ cpu: "cpu";
435
+ cuda: "cuda";
436
+ mps: "mps";
437
+ }>>;
438
+ }, z.core.$strip>>;
439
+ scoring: z.ZodDefault<z.ZodObject<{
440
+ mode: z.ZodDefault<z.ZodEnum<{
441
+ llm_judge: "llm_judge";
442
+ exact_match: "exact_match";
443
+ }>>;
444
+ fallback: z.ZodDefault<z.ZodEnum<{
445
+ fail: "fail";
446
+ exact_match: "exact_match";
447
+ }>>;
448
+ }, z.core.$strip>>;
449
+ timeoutMs: z.ZodDefault<z.ZodNumber>;
450
+ maxExamples: z.ZodOptional<z.ZodNumber>;
451
+ }, z.core.$strip>>;
452
+ llm: z.ZodOptional<z.ZodObject<{
453
+ provider: z.ZodDefault<z.ZodLiteral<"openrouter">>;
454
+ model: z.ZodDefault<z.ZodString>;
455
+ apiKeyEnv: z.ZodDefault<z.ZodString>;
456
+ appName: z.ZodOptional<z.ZodString>;
457
+ siteUrl: z.ZodOptional<z.ZodString>;
458
+ }, z.core.$strip>>;
459
+ }, z.core.$strip>;
460
+ export type DocumentInputAsset = z.infer<typeof documentInputAssetSchema>;
461
+ export type BehaviorSpecExample = z.infer<typeof behaviorSpecExampleSchema>;
462
+ export type SpecSnapshot = z.infer<typeof specSnapshotSchema>;
463
+ export type FineTuneHyperparameters = z.infer<typeof fineTuneHyperparametersSchema>;
464
+ export type FineTuneRunRequest = z.infer<typeof fineTuneRunRequestSchema>;
465
+ export type LocalBehaviorSpecFile = z.infer<typeof localBehaviorSpecFileSchema>;
466
+ export type EvalExampleResult = z.infer<typeof evalExampleResultSchema>;
467
+ export type EvalReport = z.infer<typeof evalReportSchema>;
468
+ export type ComparisonReport = z.infer<typeof comparisonReportSchema>;
469
+ export type TrainingReport = z.infer<typeof trainingReportSchema>;
470
+ export type RunReport = z.infer<typeof runReportSchema>;
471
+ export type LocalRunnerConfig = z.infer<typeof localRunnerConfigSchema>;