@deepthonk/core 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 (51) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +293 -0
  3. package/dist/artifacts.d.ts +36 -0
  4. package/dist/artifacts.js +211 -0
  5. package/dist/artifacts.js.map +1 -0
  6. package/dist/bradleyTerry.d.ts +2 -0
  7. package/dist/bradleyTerry.js +204 -0
  8. package/dist/bradleyTerry.js.map +1 -0
  9. package/dist/budget.d.ts +14 -0
  10. package/dist/budget.js +41 -0
  11. package/dist/budget.js.map +1 -0
  12. package/dist/budgetTracker.d.ts +16 -0
  13. package/dist/budgetTracker.js +137 -0
  14. package/dist/budgetTracker.js.map +1 -0
  15. package/dist/critique.d.ts +2 -0
  16. package/dist/critique.js +52 -0
  17. package/dist/critique.js.map +1 -0
  18. package/dist/errors.d.ts +24 -0
  19. package/dist/errors.js +27 -0
  20. package/dist/errors.js.map +1 -0
  21. package/dist/index.d.ts +15 -0
  22. package/dist/index.js +16 -0
  23. package/dist/index.js.map +1 -0
  24. package/dist/json.d.ts +1 -0
  25. package/dist/json.js +28 -0
  26. package/dist/json.js.map +1 -0
  27. package/dist/lifecycle.d.ts +63 -0
  28. package/dist/lifecycle.js +45 -0
  29. package/dist/lifecycle.js.map +1 -0
  30. package/dist/pairScheduler.d.ts +6 -0
  31. package/dist/pairScheduler.js +79 -0
  32. package/dist/pairScheduler.js.map +1 -0
  33. package/dist/prompts.d.ts +15 -0
  34. package/dist/prompts.js +200 -0
  35. package/dist/prompts.js.map +1 -0
  36. package/dist/rng.d.ts +8 -0
  37. package/dist/rng.js +31 -0
  38. package/dist/rng.js.map +1 -0
  39. package/dist/runner.d.ts +11 -0
  40. package/dist/runner.js +518 -0
  41. package/dist/runner.js.map +1 -0
  42. package/dist/schemas.d.ts +648 -0
  43. package/dist/schemas.js +119 -0
  44. package/dist/schemas.js.map +1 -0
  45. package/dist/services.d.ts +40 -0
  46. package/dist/services.js +104 -0
  47. package/dist/services.js.map +1 -0
  48. package/dist/traceStore.d.ts +22 -0
  49. package/dist/traceStore.js +105 -0
  50. package/dist/traceStore.js.map +1 -0
  51. package/package.json +42 -0
@@ -0,0 +1,648 @@
1
+ import { z } from "zod";
2
+ export declare const candidateStatusSchema: z.ZodEnum<["generated", "mutated", "elite", "discarded"]>;
3
+ export type CandidateStatus = z.infer<typeof candidateStatusSchema>;
4
+ export declare const profileSchema: z.ZodObject<{
5
+ n: z.ZodNumber;
6
+ k: z.ZodNumber;
7
+ t: z.ZodNumber;
8
+ m: z.ZodNumber;
9
+ lambda: z.ZodDefault<z.ZodNumber>;
10
+ sampleTemperature: z.ZodDefault<z.ZodNumber>;
11
+ mutateTemperature: z.ZodDefault<z.ZodNumber>;
12
+ judgeTemperature: z.ZodDefault<z.ZodNumber>;
13
+ }, "strip", z.ZodTypeAny, {
14
+ n: number;
15
+ k: number;
16
+ t: number;
17
+ m: number;
18
+ lambda: number;
19
+ sampleTemperature: number;
20
+ mutateTemperature: number;
21
+ judgeTemperature: number;
22
+ }, {
23
+ n: number;
24
+ k: number;
25
+ t: number;
26
+ m: number;
27
+ lambda?: number | undefined;
28
+ sampleTemperature?: number | undefined;
29
+ mutateTemperature?: number | undefined;
30
+ judgeTemperature?: number | undefined;
31
+ }>;
32
+ export type Profile = z.infer<typeof profileSchema>;
33
+ export declare const builtInProfiles: {
34
+ readonly quick: {
35
+ readonly n: 4;
36
+ readonly k: 2;
37
+ readonly t: 1;
38
+ readonly m: 2;
39
+ readonly lambda: 0.01;
40
+ readonly sampleTemperature: 1;
41
+ readonly mutateTemperature: 1;
42
+ readonly judgeTemperature: 0;
43
+ };
44
+ readonly balanced: {
45
+ readonly n: 8;
46
+ readonly k: 3;
47
+ readonly t: 2;
48
+ readonly m: 4;
49
+ readonly lambda: 0.01;
50
+ readonly sampleTemperature: 1;
51
+ readonly mutateTemperature: 1;
52
+ readonly judgeTemperature: 0;
53
+ };
54
+ readonly paper: {
55
+ readonly n: 20;
56
+ readonly k: 4;
57
+ readonly t: 3;
58
+ readonly m: 10;
59
+ readonly lambda: 0.01;
60
+ readonly sampleTemperature: 1;
61
+ readonly mutateTemperature: 1;
62
+ readonly judgeTemperature: 0;
63
+ };
64
+ };
65
+ export type BuiltInProfileName = keyof typeof builtInProfiles;
66
+ export interface Candidate {
67
+ id: string;
68
+ generation: number;
69
+ parentId?: string;
70
+ kind: "initial" | "mutation" | "elite-copy" | "user-supplied";
71
+ content: string;
72
+ status?: CandidateStatus;
73
+ metadata: {
74
+ model?: string;
75
+ provider?: string;
76
+ promptTokens?: number;
77
+ completionTokens?: number;
78
+ totalTokens?: number;
79
+ latencyMs?: number;
80
+ createdAt: string;
81
+ [key: string]: unknown;
82
+ };
83
+ }
84
+ export interface Comparison {
85
+ id: string;
86
+ runId: string;
87
+ generation: number | "final";
88
+ candidateAId: string;
89
+ candidateBId: string;
90
+ presentedAOriginalId: string;
91
+ presentedBOriginalId: string;
92
+ winner: "A" | "B" | "tie";
93
+ confidence?: number;
94
+ critiqueForA: string;
95
+ critiqueForB: string;
96
+ selectionReason: string;
97
+ rawOutput?: unknown;
98
+ model?: string;
99
+ provider?: string;
100
+ metadata?: Record<string, unknown>;
101
+ }
102
+ export interface BtScore {
103
+ candidateId: string;
104
+ generation: number | "final";
105
+ score: number;
106
+ rank: number;
107
+ wins: number;
108
+ losses: number;
109
+ ties: number;
110
+ comparisons: number;
111
+ }
112
+ declare const promptOverrideSchema: z.ZodObject<{
113
+ system: z.ZodOptional<z.ZodString>;
114
+ user: z.ZodOptional<z.ZodString>;
115
+ }, "strip", z.ZodTypeAny, {
116
+ system?: string | undefined;
117
+ user?: string | undefined;
118
+ }, {
119
+ system?: string | undefined;
120
+ user?: string | undefined;
121
+ }>;
122
+ declare const promptOverridesSchema: z.ZodObject<{
123
+ generate: z.ZodOptional<z.ZodObject<{
124
+ system: z.ZodOptional<z.ZodString>;
125
+ user: z.ZodOptional<z.ZodString>;
126
+ }, "strip", z.ZodTypeAny, {
127
+ system?: string | undefined;
128
+ user?: string | undefined;
129
+ }, {
130
+ system?: string | undefined;
131
+ user?: string | undefined;
132
+ }>>;
133
+ compare: z.ZodOptional<z.ZodObject<{
134
+ system: z.ZodOptional<z.ZodString>;
135
+ user: z.ZodOptional<z.ZodString>;
136
+ }, "strip", z.ZodTypeAny, {
137
+ system?: string | undefined;
138
+ user?: string | undefined;
139
+ }, {
140
+ system?: string | undefined;
141
+ user?: string | undefined;
142
+ }>>;
143
+ mutate: z.ZodOptional<z.ZodObject<{
144
+ system: z.ZodOptional<z.ZodString>;
145
+ user: z.ZodOptional<z.ZodString>;
146
+ }, "strip", z.ZodTypeAny, {
147
+ system?: string | undefined;
148
+ user?: string | undefined;
149
+ }, {
150
+ system?: string | undefined;
151
+ user?: string | undefined;
152
+ }>>;
153
+ finalize: z.ZodOptional<z.ZodObject<{
154
+ system: z.ZodOptional<z.ZodString>;
155
+ user: z.ZodOptional<z.ZodString>;
156
+ }, "strip", z.ZodTypeAny, {
157
+ system?: string | undefined;
158
+ user?: string | undefined;
159
+ }, {
160
+ system?: string | undefined;
161
+ user?: string | undefined;
162
+ }>>;
163
+ }, "strip", z.ZodTypeAny, {
164
+ generate?: {
165
+ system?: string | undefined;
166
+ user?: string | undefined;
167
+ } | undefined;
168
+ compare?: {
169
+ system?: string | undefined;
170
+ user?: string | undefined;
171
+ } | undefined;
172
+ mutate?: {
173
+ system?: string | undefined;
174
+ user?: string | undefined;
175
+ } | undefined;
176
+ finalize?: {
177
+ system?: string | undefined;
178
+ user?: string | undefined;
179
+ } | undefined;
180
+ }, {
181
+ generate?: {
182
+ system?: string | undefined;
183
+ user?: string | undefined;
184
+ } | undefined;
185
+ compare?: {
186
+ system?: string | undefined;
187
+ user?: string | undefined;
188
+ } | undefined;
189
+ mutate?: {
190
+ system?: string | undefined;
191
+ user?: string | undefined;
192
+ } | undefined;
193
+ finalize?: {
194
+ system?: string | undefined;
195
+ user?: string | undefined;
196
+ } | undefined;
197
+ }>;
198
+ export type PromptOverride = z.infer<typeof promptOverrideSchema>;
199
+ export type PromptOverrides = z.infer<typeof promptOverridesSchema>;
200
+ export declare const runConfigSchema: z.ZodObject<{
201
+ task: z.ZodString;
202
+ rubric: z.ZodOptional<z.ZodString>;
203
+ promptStyle: z.ZodDefault<z.ZodEnum<["general", "paper-programming"]>>;
204
+ promptOverrides: z.ZodOptional<z.ZodObject<{
205
+ generate: z.ZodOptional<z.ZodObject<{
206
+ system: z.ZodOptional<z.ZodString>;
207
+ user: z.ZodOptional<z.ZodString>;
208
+ }, "strip", z.ZodTypeAny, {
209
+ system?: string | undefined;
210
+ user?: string | undefined;
211
+ }, {
212
+ system?: string | undefined;
213
+ user?: string | undefined;
214
+ }>>;
215
+ compare: z.ZodOptional<z.ZodObject<{
216
+ system: z.ZodOptional<z.ZodString>;
217
+ user: z.ZodOptional<z.ZodString>;
218
+ }, "strip", z.ZodTypeAny, {
219
+ system?: string | undefined;
220
+ user?: string | undefined;
221
+ }, {
222
+ system?: string | undefined;
223
+ user?: string | undefined;
224
+ }>>;
225
+ mutate: z.ZodOptional<z.ZodObject<{
226
+ system: z.ZodOptional<z.ZodString>;
227
+ user: z.ZodOptional<z.ZodString>;
228
+ }, "strip", z.ZodTypeAny, {
229
+ system?: string | undefined;
230
+ user?: string | undefined;
231
+ }, {
232
+ system?: string | undefined;
233
+ user?: string | undefined;
234
+ }>>;
235
+ finalize: z.ZodOptional<z.ZodObject<{
236
+ system: z.ZodOptional<z.ZodString>;
237
+ user: z.ZodOptional<z.ZodString>;
238
+ }, "strip", z.ZodTypeAny, {
239
+ system?: string | undefined;
240
+ user?: string | undefined;
241
+ }, {
242
+ system?: string | undefined;
243
+ user?: string | undefined;
244
+ }>>;
245
+ }, "strip", z.ZodTypeAny, {
246
+ generate?: {
247
+ system?: string | undefined;
248
+ user?: string | undefined;
249
+ } | undefined;
250
+ compare?: {
251
+ system?: string | undefined;
252
+ user?: string | undefined;
253
+ } | undefined;
254
+ mutate?: {
255
+ system?: string | undefined;
256
+ user?: string | undefined;
257
+ } | undefined;
258
+ finalize?: {
259
+ system?: string | undefined;
260
+ user?: string | undefined;
261
+ } | undefined;
262
+ }, {
263
+ generate?: {
264
+ system?: string | undefined;
265
+ user?: string | undefined;
266
+ } | undefined;
267
+ compare?: {
268
+ system?: string | undefined;
269
+ user?: string | undefined;
270
+ } | undefined;
271
+ mutate?: {
272
+ system?: string | undefined;
273
+ user?: string | undefined;
274
+ } | undefined;
275
+ finalize?: {
276
+ system?: string | undefined;
277
+ user?: string | undefined;
278
+ } | undefined;
279
+ }>>;
280
+ profile: z.ZodObject<{
281
+ n: z.ZodNumber;
282
+ k: z.ZodNumber;
283
+ t: z.ZodNumber;
284
+ m: z.ZodNumber;
285
+ lambda: z.ZodDefault<z.ZodNumber>;
286
+ sampleTemperature: z.ZodDefault<z.ZodNumber>;
287
+ mutateTemperature: z.ZodDefault<z.ZodNumber>;
288
+ judgeTemperature: z.ZodDefault<z.ZodNumber>;
289
+ }, "strip", z.ZodTypeAny, {
290
+ n: number;
291
+ k: number;
292
+ t: number;
293
+ m: number;
294
+ lambda: number;
295
+ sampleTemperature: number;
296
+ mutateTemperature: number;
297
+ judgeTemperature: number;
298
+ }, {
299
+ n: number;
300
+ k: number;
301
+ t: number;
302
+ m: number;
303
+ lambda?: number | undefined;
304
+ sampleTemperature?: number | undefined;
305
+ mutateTemperature?: number | undefined;
306
+ judgeTemperature?: number | undefined;
307
+ }>;
308
+ runDir: z.ZodString;
309
+ seed: z.ZodNumber;
310
+ provider: z.ZodString;
311
+ generatorModel: z.ZodString;
312
+ mutatorModel: z.ZodString;
313
+ judgeModel: z.ZodString;
314
+ finalizerModel: z.ZodOptional<z.ZodString>;
315
+ concurrency: z.ZodObject<{
316
+ generate: z.ZodNumber;
317
+ judge: z.ZodNumber;
318
+ mutate: z.ZodNumber;
319
+ }, "strip", z.ZodTypeAny, {
320
+ generate: number;
321
+ mutate: number;
322
+ judge: number;
323
+ }, {
324
+ generate: number;
325
+ mutate: number;
326
+ judge: number;
327
+ }>;
328
+ retry: z.ZodObject<{
329
+ httpRetries: z.ZodDefault<z.ZodNumber>;
330
+ invalidJsonRetries: z.ZodDefault<z.ZodNumber>;
331
+ requestTimeoutMs: z.ZodOptional<z.ZodNumber>;
332
+ }, "strip", z.ZodTypeAny, {
333
+ httpRetries: number;
334
+ invalidJsonRetries: number;
335
+ requestTimeoutMs?: number | undefined;
336
+ }, {
337
+ httpRetries?: number | undefined;
338
+ invalidJsonRetries?: number | undefined;
339
+ requestTimeoutMs?: number | undefined;
340
+ }>;
341
+ budget: z.ZodOptional<z.ZodObject<{
342
+ maxCalls: z.ZodOptional<z.ZodNumber>;
343
+ maxInputTokens: z.ZodOptional<z.ZodNumber>;
344
+ maxOutputTokens: z.ZodOptional<z.ZodNumber>;
345
+ maxUsd: z.ZodOptional<z.ZodNumber>;
346
+ prices: z.ZodOptional<z.ZodArray<z.ZodEffects<z.ZodObject<{
347
+ provider: z.ZodString;
348
+ model: z.ZodString;
349
+ inputUsdPerMillion: z.ZodOptional<z.ZodNumber>;
350
+ inputCacheHitUsdPerMillion: z.ZodOptional<z.ZodNumber>;
351
+ inputCacheMissUsdPerMillion: z.ZodOptional<z.ZodNumber>;
352
+ outputUsdPerMillion: z.ZodOptional<z.ZodNumber>;
353
+ longContextThresholdTokens: z.ZodOptional<z.ZodNumber>;
354
+ inputUsdPerMillionLong: z.ZodOptional<z.ZodNumber>;
355
+ outputUsdPerMillionLong: z.ZodOptional<z.ZodNumber>;
356
+ }, "strip", z.ZodTypeAny, {
357
+ model: string;
358
+ provider: string;
359
+ inputUsdPerMillion?: number | undefined;
360
+ inputCacheHitUsdPerMillion?: number | undefined;
361
+ inputCacheMissUsdPerMillion?: number | undefined;
362
+ outputUsdPerMillion?: number | undefined;
363
+ longContextThresholdTokens?: number | undefined;
364
+ inputUsdPerMillionLong?: number | undefined;
365
+ outputUsdPerMillionLong?: number | undefined;
366
+ }, {
367
+ model: string;
368
+ provider: string;
369
+ inputUsdPerMillion?: number | undefined;
370
+ inputCacheHitUsdPerMillion?: number | undefined;
371
+ inputCacheMissUsdPerMillion?: number | undefined;
372
+ outputUsdPerMillion?: number | undefined;
373
+ longContextThresholdTokens?: number | undefined;
374
+ inputUsdPerMillionLong?: number | undefined;
375
+ outputUsdPerMillionLong?: number | undefined;
376
+ }>, {
377
+ model: string;
378
+ provider: string;
379
+ inputUsdPerMillion?: number | undefined;
380
+ inputCacheHitUsdPerMillion?: number | undefined;
381
+ inputCacheMissUsdPerMillion?: number | undefined;
382
+ outputUsdPerMillion?: number | undefined;
383
+ longContextThresholdTokens?: number | undefined;
384
+ inputUsdPerMillionLong?: number | undefined;
385
+ outputUsdPerMillionLong?: number | undefined;
386
+ }, {
387
+ model: string;
388
+ provider: string;
389
+ inputUsdPerMillion?: number | undefined;
390
+ inputCacheHitUsdPerMillion?: number | undefined;
391
+ inputCacheMissUsdPerMillion?: number | undefined;
392
+ outputUsdPerMillion?: number | undefined;
393
+ longContextThresholdTokens?: number | undefined;
394
+ inputUsdPerMillionLong?: number | undefined;
395
+ outputUsdPerMillionLong?: number | undefined;
396
+ }>, "many">>;
397
+ }, "strip", z.ZodTypeAny, {
398
+ maxCalls?: number | undefined;
399
+ maxInputTokens?: number | undefined;
400
+ maxOutputTokens?: number | undefined;
401
+ maxUsd?: number | undefined;
402
+ prices?: {
403
+ model: string;
404
+ provider: string;
405
+ inputUsdPerMillion?: number | undefined;
406
+ inputCacheHitUsdPerMillion?: number | undefined;
407
+ inputCacheMissUsdPerMillion?: number | undefined;
408
+ outputUsdPerMillion?: number | undefined;
409
+ longContextThresholdTokens?: number | undefined;
410
+ inputUsdPerMillionLong?: number | undefined;
411
+ outputUsdPerMillionLong?: number | undefined;
412
+ }[] | undefined;
413
+ }, {
414
+ maxCalls?: number | undefined;
415
+ maxInputTokens?: number | undefined;
416
+ maxOutputTokens?: number | undefined;
417
+ maxUsd?: number | undefined;
418
+ prices?: {
419
+ model: string;
420
+ provider: string;
421
+ inputUsdPerMillion?: number | undefined;
422
+ inputCacheHitUsdPerMillion?: number | undefined;
423
+ inputCacheMissUsdPerMillion?: number | undefined;
424
+ outputUsdPerMillion?: number | undefined;
425
+ longContextThresholdTokens?: number | undefined;
426
+ inputUsdPerMillionLong?: number | undefined;
427
+ outputUsdPerMillionLong?: number | undefined;
428
+ }[] | undefined;
429
+ }>>;
430
+ output: z.ZodDefault<z.ZodObject<{
431
+ includeRawModelOutputs: z.ZodDefault<z.ZodBoolean>;
432
+ includePrompts: z.ZodDefault<z.ZodBoolean>;
433
+ }, "strip", z.ZodTypeAny, {
434
+ includeRawModelOutputs: boolean;
435
+ includePrompts: boolean;
436
+ }, {
437
+ includeRawModelOutputs?: boolean | undefined;
438
+ includePrompts?: boolean | undefined;
439
+ }>>;
440
+ }, "strip", z.ZodTypeAny, {
441
+ provider: string;
442
+ task: string;
443
+ promptStyle: "general" | "paper-programming";
444
+ profile: {
445
+ n: number;
446
+ k: number;
447
+ t: number;
448
+ m: number;
449
+ lambda: number;
450
+ sampleTemperature: number;
451
+ mutateTemperature: number;
452
+ judgeTemperature: number;
453
+ };
454
+ runDir: string;
455
+ seed: number;
456
+ generatorModel: string;
457
+ mutatorModel: string;
458
+ judgeModel: string;
459
+ concurrency: {
460
+ generate: number;
461
+ mutate: number;
462
+ judge: number;
463
+ };
464
+ retry: {
465
+ httpRetries: number;
466
+ invalidJsonRetries: number;
467
+ requestTimeoutMs?: number | undefined;
468
+ };
469
+ output: {
470
+ includeRawModelOutputs: boolean;
471
+ includePrompts: boolean;
472
+ };
473
+ rubric?: string | undefined;
474
+ promptOverrides?: {
475
+ generate?: {
476
+ system?: string | undefined;
477
+ user?: string | undefined;
478
+ } | undefined;
479
+ compare?: {
480
+ system?: string | undefined;
481
+ user?: string | undefined;
482
+ } | undefined;
483
+ mutate?: {
484
+ system?: string | undefined;
485
+ user?: string | undefined;
486
+ } | undefined;
487
+ finalize?: {
488
+ system?: string | undefined;
489
+ user?: string | undefined;
490
+ } | undefined;
491
+ } | undefined;
492
+ finalizerModel?: string | undefined;
493
+ budget?: {
494
+ maxCalls?: number | undefined;
495
+ maxInputTokens?: number | undefined;
496
+ maxOutputTokens?: number | undefined;
497
+ maxUsd?: number | undefined;
498
+ prices?: {
499
+ model: string;
500
+ provider: string;
501
+ inputUsdPerMillion?: number | undefined;
502
+ inputCacheHitUsdPerMillion?: number | undefined;
503
+ inputCacheMissUsdPerMillion?: number | undefined;
504
+ outputUsdPerMillion?: number | undefined;
505
+ longContextThresholdTokens?: number | undefined;
506
+ inputUsdPerMillionLong?: number | undefined;
507
+ outputUsdPerMillionLong?: number | undefined;
508
+ }[] | undefined;
509
+ } | undefined;
510
+ }, {
511
+ provider: string;
512
+ task: string;
513
+ profile: {
514
+ n: number;
515
+ k: number;
516
+ t: number;
517
+ m: number;
518
+ lambda?: number | undefined;
519
+ sampleTemperature?: number | undefined;
520
+ mutateTemperature?: number | undefined;
521
+ judgeTemperature?: number | undefined;
522
+ };
523
+ runDir: string;
524
+ seed: number;
525
+ generatorModel: string;
526
+ mutatorModel: string;
527
+ judgeModel: string;
528
+ concurrency: {
529
+ generate: number;
530
+ mutate: number;
531
+ judge: number;
532
+ };
533
+ retry: {
534
+ httpRetries?: number | undefined;
535
+ invalidJsonRetries?: number | undefined;
536
+ requestTimeoutMs?: number | undefined;
537
+ };
538
+ rubric?: string | undefined;
539
+ promptStyle?: "general" | "paper-programming" | undefined;
540
+ promptOverrides?: {
541
+ generate?: {
542
+ system?: string | undefined;
543
+ user?: string | undefined;
544
+ } | undefined;
545
+ compare?: {
546
+ system?: string | undefined;
547
+ user?: string | undefined;
548
+ } | undefined;
549
+ mutate?: {
550
+ system?: string | undefined;
551
+ user?: string | undefined;
552
+ } | undefined;
553
+ finalize?: {
554
+ system?: string | undefined;
555
+ user?: string | undefined;
556
+ } | undefined;
557
+ } | undefined;
558
+ finalizerModel?: string | undefined;
559
+ budget?: {
560
+ maxCalls?: number | undefined;
561
+ maxInputTokens?: number | undefined;
562
+ maxOutputTokens?: number | undefined;
563
+ maxUsd?: number | undefined;
564
+ prices?: {
565
+ model: string;
566
+ provider: string;
567
+ inputUsdPerMillion?: number | undefined;
568
+ inputCacheHitUsdPerMillion?: number | undefined;
569
+ inputCacheMissUsdPerMillion?: number | undefined;
570
+ outputUsdPerMillion?: number | undefined;
571
+ longContextThresholdTokens?: number | undefined;
572
+ inputUsdPerMillionLong?: number | undefined;
573
+ outputUsdPerMillionLong?: number | undefined;
574
+ }[] | undefined;
575
+ } | undefined;
576
+ output?: {
577
+ includeRawModelOutputs?: boolean | undefined;
578
+ includePrompts?: boolean | undefined;
579
+ } | undefined;
580
+ }>;
581
+ export type RunConfig = z.infer<typeof runConfigSchema>;
582
+ export interface ModelTextResult {
583
+ text: string;
584
+ model?: string;
585
+ provider?: string;
586
+ usage?: {
587
+ inputTokens?: number;
588
+ inputCacheHitTokens?: number;
589
+ inputCacheMissTokens?: number;
590
+ outputTokens?: number;
591
+ totalTokens?: number;
592
+ };
593
+ latencyMs?: number;
594
+ retryCount?: number;
595
+ raw?: unknown;
596
+ }
597
+ export interface GenerateInput {
598
+ task: string;
599
+ rubric?: string;
600
+ model: string;
601
+ temperature: number;
602
+ candidateIndex?: number;
603
+ prompt?: PromptMessages;
604
+ }
605
+ export interface CompareInput {
606
+ task: string;
607
+ rubric?: string;
608
+ model: string;
609
+ temperature: number;
610
+ candidateA: Candidate;
611
+ candidateB: Candidate;
612
+ prompt?: PromptMessages;
613
+ }
614
+ export interface MutateInput {
615
+ task: string;
616
+ rubric?: string;
617
+ model: string;
618
+ temperature: number;
619
+ candidate: Candidate;
620
+ critique: string;
621
+ prompt?: PromptMessages;
622
+ }
623
+ export interface FinalizeInput {
624
+ task: string;
625
+ rubric?: string;
626
+ model: string;
627
+ candidate: Candidate;
628
+ prompt?: PromptMessages;
629
+ }
630
+ export interface PromptMessages {
631
+ system: string;
632
+ user: string;
633
+ }
634
+ export interface ModelDriver {
635
+ generate(input: GenerateInput): Promise<ModelTextResult>;
636
+ compare(input: CompareInput): Promise<ModelTextResult>;
637
+ mutate(input: MutateInput): Promise<ModelTextResult>;
638
+ finalize?(input: FinalizeInput): Promise<ModelTextResult>;
639
+ }
640
+ export interface RunResult {
641
+ runId: string;
642
+ runDir: string;
643
+ winner: Candidate;
644
+ finalAnswer: string;
645
+ finalScores: BtScore[];
646
+ calls: number;
647
+ }
648
+ export {};