hankweave 0.5.7 → 0.6.2

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 (79) hide show
  1. package/README.md +12 -11
  2. package/dist/base-process-manager.d.ts +30 -0
  3. package/dist/budget.d.ts +315 -0
  4. package/dist/checkpoint-git.d.ts +98 -0
  5. package/dist/claude-agent-sdk-manager.d.ts +144 -0
  6. package/dist/claude-log-parser.d.ts +63 -0
  7. package/dist/claude-runtime-extractor.d.ts +73 -0
  8. package/dist/codex-runtime-extractor.d.ts +107 -0
  9. package/dist/codon-runner.d.ts +278 -0
  10. package/dist/config-validation/model-validator.d.ts +16 -0
  11. package/dist/config-validation/sentinel.schema.d.ts +6967 -0
  12. package/dist/config.d.ts +40815 -0
  13. package/dist/cost-tracker.d.ts +72 -0
  14. package/dist/execution-planner.d.ts +62 -0
  15. package/dist/execution-thread.d.ts +71 -0
  16. package/dist/exports/schemas.d.ts +9 -0
  17. package/dist/exports/schemas.js +1019 -0
  18. package/dist/exports/types.d.ts +15 -0
  19. package/dist/exports/types.js +60 -0
  20. package/dist/file-resolver.d.ts +33 -0
  21. package/dist/index.js +380 -293
  22. package/dist/index.js.map +33 -29
  23. package/dist/llm/llm-provider-registry.d.ts +207 -0
  24. package/dist/llm/models-dev-schema.d.ts +679 -0
  25. package/dist/llm/provider-config.d.ts +30 -0
  26. package/dist/prompt-builder.d.ts +75 -0
  27. package/dist/prompt-frontmatter.d.ts +61 -0
  28. package/dist/replay-process-manager.d.ts +82 -0
  29. package/dist/runtime-extractor-base.d.ts +120 -0
  30. package/dist/schemas/event-schemas.d.ts +8389 -0
  31. package/dist/schemas/websocket-log-schemas.d.ts +4502 -0
  32. package/dist/shim-process-manager.d.ts +98 -0
  33. package/dist/shim-runtime-extractor.d.ts +51 -0
  34. package/dist/shims/codex/README.md +129 -0
  35. package/dist/shims/codex/THIRDPARTY.md +18 -0
  36. package/dist/shims/codex/VERSION +1 -0
  37. package/dist/shims/codex/common/package.json +24 -0
  38. package/dist/shims/codex/index.js +1154 -970
  39. package/dist/shims/codex/package.json +46 -0
  40. package/dist/shims/codex/tsup.config.ts +16 -0
  41. package/dist/shims/gemini/README.md +59 -0
  42. package/dist/shims/gemini/THIRDPARTY.md +32 -0
  43. package/dist/shims/gemini/VERSION +1 -0
  44. package/dist/shims/gemini/common/package.json +24 -0
  45. package/dist/shims/gemini/index.js +1359 -30
  46. package/dist/shims/gemini/package.json +37 -0
  47. package/dist/shims/opencode/README.md +82 -0
  48. package/dist/shims/opencode/THIRDPARTY.md +32 -0
  49. package/dist/shims/opencode/VERSION +1 -0
  50. package/dist/shims/opencode/common/package.json +24 -0
  51. package/dist/shims/opencode/index.js +1476 -0
  52. package/dist/shims/opencode/package.json +38 -0
  53. package/dist/shims/pi/README.md +87 -0
  54. package/dist/shims/pi/THIRDPARTY.md +24 -0
  55. package/dist/shims/pi/VERSION +1 -0
  56. package/dist/shims/pi/common/package.json +24 -0
  57. package/dist/shims/pi/index.js +249832 -0
  58. package/dist/shims/pi/package.json +53 -0
  59. package/dist/state-manager.d.ts +161 -0
  60. package/dist/state-transition-guards.d.ts +37 -0
  61. package/dist/telemetry/telemetry-types.d.ts +206 -0
  62. package/dist/typed-event-emitter.d.ts +57 -0
  63. package/dist/types/branded-types.d.ts +15 -0
  64. package/dist/types/budget-types.d.ts +82 -0
  65. package/dist/types/claude-session-schema.d.ts +2430 -0
  66. package/dist/types/error-types.d.ts +44 -0
  67. package/dist/types/input-ai-types.d.ts +1070 -0
  68. package/dist/types/llm-call-types.d.ts +3829 -0
  69. package/dist/types/sentinel-types.d.ts +66 -0
  70. package/dist/types/state-types.d.ts +1099 -0
  71. package/dist/types/tool-types.d.ts +86 -0
  72. package/dist/types/types.d.ts +367 -0
  73. package/dist/types/websocket-log-types.d.ts +7 -0
  74. package/dist/utils.d.ts +452 -0
  75. package/package.json +15 -2
  76. package/schemas/hank.schema.json +158 -3
  77. package/schemas/hankweave.schema.json +17 -1
  78. package/shims/codex/index.js +0 -1583
  79. package/shims/gemini/index.js +0 -31
@@ -0,0 +1,679 @@
1
+ import { z } from "zod";
2
+ export declare const modelCostSchema: z.ZodOptional<z.ZodObject<{
3
+ input: z.ZodOptional<z.ZodNumber>;
4
+ output: z.ZodOptional<z.ZodNumber>;
5
+ cache_read: z.ZodOptional<z.ZodNumber>;
6
+ cache_write: z.ZodOptional<z.ZodNumber>;
7
+ }, "strip", z.ZodTypeAny, {
8
+ input?: number | undefined;
9
+ output?: number | undefined;
10
+ cache_read?: number | undefined;
11
+ cache_write?: number | undefined;
12
+ }, {
13
+ input?: number | undefined;
14
+ output?: number | undefined;
15
+ cache_read?: number | undefined;
16
+ cache_write?: number | undefined;
17
+ }>>;
18
+ export declare const modelLimitsSchema: z.ZodObject<{
19
+ context: z.ZodNumber;
20
+ output: z.ZodNumber;
21
+ }, "strip", z.ZodTypeAny, {
22
+ output: number;
23
+ context: number;
24
+ }, {
25
+ output: number;
26
+ context: number;
27
+ }>;
28
+ export declare const modalitiesSchema: z.ZodObject<{
29
+ input: z.ZodArray<z.ZodString, "many">;
30
+ output: z.ZodArray<z.ZodString, "many">;
31
+ }, "strip", z.ZodTypeAny, {
32
+ input: string[];
33
+ output: string[];
34
+ }, {
35
+ input: string[];
36
+ output: string[];
37
+ }>;
38
+ export declare const modelInfoSchema: z.ZodObject<{
39
+ providerId: z.ZodString;
40
+ modelId: z.ZodString;
41
+ name: z.ZodString;
42
+ attachment: z.ZodBoolean;
43
+ reasoning: z.ZodBoolean;
44
+ tool_call: z.ZodBoolean;
45
+ temperature: z.ZodOptional<z.ZodBoolean>;
46
+ cost: z.ZodOptional<z.ZodObject<{
47
+ input: z.ZodOptional<z.ZodNumber>;
48
+ output: z.ZodOptional<z.ZodNumber>;
49
+ cache_read: z.ZodOptional<z.ZodNumber>;
50
+ cache_write: z.ZodOptional<z.ZodNumber>;
51
+ }, "strip", z.ZodTypeAny, {
52
+ input?: number | undefined;
53
+ output?: number | undefined;
54
+ cache_read?: number | undefined;
55
+ cache_write?: number | undefined;
56
+ }, {
57
+ input?: number | undefined;
58
+ output?: number | undefined;
59
+ cache_read?: number | undefined;
60
+ cache_write?: number | undefined;
61
+ }>>;
62
+ limit: z.ZodObject<{
63
+ context: z.ZodNumber;
64
+ output: z.ZodNumber;
65
+ }, "strip", z.ZodTypeAny, {
66
+ output: number;
67
+ context: number;
68
+ }, {
69
+ output: number;
70
+ context: number;
71
+ }>;
72
+ modalities: z.ZodObject<{
73
+ input: z.ZodArray<z.ZodString, "many">;
74
+ output: z.ZodArray<z.ZodString, "many">;
75
+ }, "strip", z.ZodTypeAny, {
76
+ input: string[];
77
+ output: string[];
78
+ }, {
79
+ input: string[];
80
+ output: string[];
81
+ }>;
82
+ knowledge: z.ZodOptional<z.ZodString>;
83
+ release_date: z.ZodString;
84
+ last_updated: z.ZodString;
85
+ }, "strip", z.ZodTypeAny, {
86
+ name: string;
87
+ limit: {
88
+ output: number;
89
+ context: number;
90
+ };
91
+ modelId: string;
92
+ providerId: string;
93
+ attachment: boolean;
94
+ reasoning: boolean;
95
+ tool_call: boolean;
96
+ modalities: {
97
+ input: string[];
98
+ output: string[];
99
+ };
100
+ release_date: string;
101
+ last_updated: string;
102
+ cost?: {
103
+ input?: number | undefined;
104
+ output?: number | undefined;
105
+ cache_read?: number | undefined;
106
+ cache_write?: number | undefined;
107
+ } | undefined;
108
+ temperature?: boolean | undefined;
109
+ knowledge?: string | undefined;
110
+ }, {
111
+ name: string;
112
+ limit: {
113
+ output: number;
114
+ context: number;
115
+ };
116
+ modelId: string;
117
+ providerId: string;
118
+ attachment: boolean;
119
+ reasoning: boolean;
120
+ tool_call: boolean;
121
+ modalities: {
122
+ input: string[];
123
+ output: string[];
124
+ };
125
+ release_date: string;
126
+ last_updated: string;
127
+ cost?: {
128
+ input?: number | undefined;
129
+ output?: number | undefined;
130
+ cache_read?: number | undefined;
131
+ cache_write?: number | undefined;
132
+ } | undefined;
133
+ temperature?: boolean | undefined;
134
+ knowledge?: string | undefined;
135
+ }>;
136
+ export declare const providerInfoSchema: z.ZodObject<{
137
+ id: z.ZodString;
138
+ name: z.ZodString;
139
+ models: z.ZodArray<z.ZodObject<{
140
+ providerId: z.ZodString;
141
+ modelId: z.ZodString;
142
+ name: z.ZodString;
143
+ attachment: z.ZodBoolean;
144
+ reasoning: z.ZodBoolean;
145
+ tool_call: z.ZodBoolean;
146
+ temperature: z.ZodOptional<z.ZodBoolean>;
147
+ cost: z.ZodOptional<z.ZodObject<{
148
+ input: z.ZodOptional<z.ZodNumber>;
149
+ output: z.ZodOptional<z.ZodNumber>;
150
+ cache_read: z.ZodOptional<z.ZodNumber>;
151
+ cache_write: z.ZodOptional<z.ZodNumber>;
152
+ }, "strip", z.ZodTypeAny, {
153
+ input?: number | undefined;
154
+ output?: number | undefined;
155
+ cache_read?: number | undefined;
156
+ cache_write?: number | undefined;
157
+ }, {
158
+ input?: number | undefined;
159
+ output?: number | undefined;
160
+ cache_read?: number | undefined;
161
+ cache_write?: number | undefined;
162
+ }>>;
163
+ limit: z.ZodObject<{
164
+ context: z.ZodNumber;
165
+ output: z.ZodNumber;
166
+ }, "strip", z.ZodTypeAny, {
167
+ output: number;
168
+ context: number;
169
+ }, {
170
+ output: number;
171
+ context: number;
172
+ }>;
173
+ modalities: z.ZodObject<{
174
+ input: z.ZodArray<z.ZodString, "many">;
175
+ output: z.ZodArray<z.ZodString, "many">;
176
+ }, "strip", z.ZodTypeAny, {
177
+ input: string[];
178
+ output: string[];
179
+ }, {
180
+ input: string[];
181
+ output: string[];
182
+ }>;
183
+ knowledge: z.ZodOptional<z.ZodString>;
184
+ release_date: z.ZodString;
185
+ last_updated: z.ZodString;
186
+ }, "strip", z.ZodTypeAny, {
187
+ name: string;
188
+ limit: {
189
+ output: number;
190
+ context: number;
191
+ };
192
+ modelId: string;
193
+ providerId: string;
194
+ attachment: boolean;
195
+ reasoning: boolean;
196
+ tool_call: boolean;
197
+ modalities: {
198
+ input: string[];
199
+ output: string[];
200
+ };
201
+ release_date: string;
202
+ last_updated: string;
203
+ cost?: {
204
+ input?: number | undefined;
205
+ output?: number | undefined;
206
+ cache_read?: number | undefined;
207
+ cache_write?: number | undefined;
208
+ } | undefined;
209
+ temperature?: boolean | undefined;
210
+ knowledge?: string | undefined;
211
+ }, {
212
+ name: string;
213
+ limit: {
214
+ output: number;
215
+ context: number;
216
+ };
217
+ modelId: string;
218
+ providerId: string;
219
+ attachment: boolean;
220
+ reasoning: boolean;
221
+ tool_call: boolean;
222
+ modalities: {
223
+ input: string[];
224
+ output: string[];
225
+ };
226
+ release_date: string;
227
+ last_updated: string;
228
+ cost?: {
229
+ input?: number | undefined;
230
+ output?: number | undefined;
231
+ cache_read?: number | undefined;
232
+ cache_write?: number | undefined;
233
+ } | undefined;
234
+ temperature?: boolean | undefined;
235
+ knowledge?: string | undefined;
236
+ }>, "many">;
237
+ }, "strip", z.ZodTypeAny, {
238
+ id: string;
239
+ name: string;
240
+ models: {
241
+ name: string;
242
+ limit: {
243
+ output: number;
244
+ context: number;
245
+ };
246
+ modelId: string;
247
+ providerId: string;
248
+ attachment: boolean;
249
+ reasoning: boolean;
250
+ tool_call: boolean;
251
+ modalities: {
252
+ input: string[];
253
+ output: string[];
254
+ };
255
+ release_date: string;
256
+ last_updated: string;
257
+ cost?: {
258
+ input?: number | undefined;
259
+ output?: number | undefined;
260
+ cache_read?: number | undefined;
261
+ cache_write?: number | undefined;
262
+ } | undefined;
263
+ temperature?: boolean | undefined;
264
+ knowledge?: string | undefined;
265
+ }[];
266
+ }, {
267
+ id: string;
268
+ name: string;
269
+ models: {
270
+ name: string;
271
+ limit: {
272
+ output: number;
273
+ context: number;
274
+ };
275
+ modelId: string;
276
+ providerId: string;
277
+ attachment: boolean;
278
+ reasoning: boolean;
279
+ tool_call: boolean;
280
+ modalities: {
281
+ input: string[];
282
+ output: string[];
283
+ };
284
+ release_date: string;
285
+ last_updated: string;
286
+ cost?: {
287
+ input?: number | undefined;
288
+ output?: number | undefined;
289
+ cache_read?: number | undefined;
290
+ cache_write?: number | undefined;
291
+ } | undefined;
292
+ temperature?: boolean | undefined;
293
+ knowledge?: string | undefined;
294
+ }[];
295
+ }>;
296
+ export declare const modelsDevApiResponseSchema: z.ZodRecord<z.ZodString, z.ZodObject<{
297
+ name: z.ZodString;
298
+ models: z.ZodRecord<z.ZodString, z.ZodObject<{
299
+ name: z.ZodString;
300
+ attachment: z.ZodBoolean;
301
+ reasoning: z.ZodBoolean;
302
+ tool_call: z.ZodBoolean;
303
+ temperature: z.ZodOptional<z.ZodBoolean>;
304
+ knowledge: z.ZodOptional<z.ZodString>;
305
+ release_date: z.ZodString;
306
+ last_updated: z.ZodString;
307
+ cost: z.ZodOptional<z.ZodObject<{
308
+ input: z.ZodOptional<z.ZodNumber>;
309
+ output: z.ZodOptional<z.ZodNumber>;
310
+ cache_read: z.ZodOptional<z.ZodNumber>;
311
+ cache_write: z.ZodOptional<z.ZodNumber>;
312
+ }, "strip", z.ZodTypeAny, {
313
+ input?: number | undefined;
314
+ output?: number | undefined;
315
+ cache_read?: number | undefined;
316
+ cache_write?: number | undefined;
317
+ }, {
318
+ input?: number | undefined;
319
+ output?: number | undefined;
320
+ cache_read?: number | undefined;
321
+ cache_write?: number | undefined;
322
+ }>>;
323
+ limit: z.ZodObject<{
324
+ context: z.ZodNumber;
325
+ output: z.ZodNumber;
326
+ }, "strip", z.ZodTypeAny, {
327
+ output: number;
328
+ context: number;
329
+ }, {
330
+ output: number;
331
+ context: number;
332
+ }>;
333
+ modalities: z.ZodObject<{
334
+ input: z.ZodArray<z.ZodString, "many">;
335
+ output: z.ZodArray<z.ZodString, "many">;
336
+ }, "strip", z.ZodTypeAny, {
337
+ input: string[];
338
+ output: string[];
339
+ }, {
340
+ input: string[];
341
+ output: string[];
342
+ }>;
343
+ }, "strip", z.ZodTypeAny, {
344
+ name: string;
345
+ limit: {
346
+ output: number;
347
+ context: number;
348
+ };
349
+ attachment: boolean;
350
+ reasoning: boolean;
351
+ tool_call: boolean;
352
+ modalities: {
353
+ input: string[];
354
+ output: string[];
355
+ };
356
+ release_date: string;
357
+ last_updated: string;
358
+ cost?: {
359
+ input?: number | undefined;
360
+ output?: number | undefined;
361
+ cache_read?: number | undefined;
362
+ cache_write?: number | undefined;
363
+ } | undefined;
364
+ temperature?: boolean | undefined;
365
+ knowledge?: string | undefined;
366
+ }, {
367
+ name: string;
368
+ limit: {
369
+ output: number;
370
+ context: number;
371
+ };
372
+ attachment: boolean;
373
+ reasoning: boolean;
374
+ tool_call: boolean;
375
+ modalities: {
376
+ input: string[];
377
+ output: string[];
378
+ };
379
+ release_date: string;
380
+ last_updated: string;
381
+ cost?: {
382
+ input?: number | undefined;
383
+ output?: number | undefined;
384
+ cache_read?: number | undefined;
385
+ cache_write?: number | undefined;
386
+ } | undefined;
387
+ temperature?: boolean | undefined;
388
+ knowledge?: string | undefined;
389
+ }>>;
390
+ }, "strip", z.ZodTypeAny, {
391
+ name: string;
392
+ models: Record<string, {
393
+ name: string;
394
+ limit: {
395
+ output: number;
396
+ context: number;
397
+ };
398
+ attachment: boolean;
399
+ reasoning: boolean;
400
+ tool_call: boolean;
401
+ modalities: {
402
+ input: string[];
403
+ output: string[];
404
+ };
405
+ release_date: string;
406
+ last_updated: string;
407
+ cost?: {
408
+ input?: number | undefined;
409
+ output?: number | undefined;
410
+ cache_read?: number | undefined;
411
+ cache_write?: number | undefined;
412
+ } | undefined;
413
+ temperature?: boolean | undefined;
414
+ knowledge?: string | undefined;
415
+ }>;
416
+ }, {
417
+ name: string;
418
+ models: Record<string, {
419
+ name: string;
420
+ limit: {
421
+ output: number;
422
+ context: number;
423
+ };
424
+ attachment: boolean;
425
+ reasoning: boolean;
426
+ tool_call: boolean;
427
+ modalities: {
428
+ input: string[];
429
+ output: string[];
430
+ };
431
+ release_date: string;
432
+ last_updated: string;
433
+ cost?: {
434
+ input?: number | undefined;
435
+ output?: number | undefined;
436
+ cache_read?: number | undefined;
437
+ cache_write?: number | undefined;
438
+ } | undefined;
439
+ temperature?: boolean | undefined;
440
+ knowledge?: string | undefined;
441
+ }>;
442
+ }>>;
443
+ export declare const modelsDataSchema: z.ZodObject<{
444
+ version: z.ZodString;
445
+ lastUpdated: z.ZodString;
446
+ providers: z.ZodArray<z.ZodObject<{
447
+ id: z.ZodString;
448
+ name: z.ZodString;
449
+ models: z.ZodArray<z.ZodObject<{
450
+ providerId: z.ZodString;
451
+ modelId: z.ZodString;
452
+ name: z.ZodString;
453
+ attachment: z.ZodBoolean;
454
+ reasoning: z.ZodBoolean;
455
+ tool_call: z.ZodBoolean;
456
+ temperature: z.ZodOptional<z.ZodBoolean>;
457
+ cost: z.ZodOptional<z.ZodObject<{
458
+ input: z.ZodOptional<z.ZodNumber>;
459
+ output: z.ZodOptional<z.ZodNumber>;
460
+ cache_read: z.ZodOptional<z.ZodNumber>;
461
+ cache_write: z.ZodOptional<z.ZodNumber>;
462
+ }, "strip", z.ZodTypeAny, {
463
+ input?: number | undefined;
464
+ output?: number | undefined;
465
+ cache_read?: number | undefined;
466
+ cache_write?: number | undefined;
467
+ }, {
468
+ input?: number | undefined;
469
+ output?: number | undefined;
470
+ cache_read?: number | undefined;
471
+ cache_write?: number | undefined;
472
+ }>>;
473
+ limit: z.ZodObject<{
474
+ context: z.ZodNumber;
475
+ output: z.ZodNumber;
476
+ }, "strip", z.ZodTypeAny, {
477
+ output: number;
478
+ context: number;
479
+ }, {
480
+ output: number;
481
+ context: number;
482
+ }>;
483
+ modalities: z.ZodObject<{
484
+ input: z.ZodArray<z.ZodString, "many">;
485
+ output: z.ZodArray<z.ZodString, "many">;
486
+ }, "strip", z.ZodTypeAny, {
487
+ input: string[];
488
+ output: string[];
489
+ }, {
490
+ input: string[];
491
+ output: string[];
492
+ }>;
493
+ knowledge: z.ZodOptional<z.ZodString>;
494
+ release_date: z.ZodString;
495
+ last_updated: z.ZodString;
496
+ }, "strip", z.ZodTypeAny, {
497
+ name: string;
498
+ limit: {
499
+ output: number;
500
+ context: number;
501
+ };
502
+ modelId: string;
503
+ providerId: string;
504
+ attachment: boolean;
505
+ reasoning: boolean;
506
+ tool_call: boolean;
507
+ modalities: {
508
+ input: string[];
509
+ output: string[];
510
+ };
511
+ release_date: string;
512
+ last_updated: string;
513
+ cost?: {
514
+ input?: number | undefined;
515
+ output?: number | undefined;
516
+ cache_read?: number | undefined;
517
+ cache_write?: number | undefined;
518
+ } | undefined;
519
+ temperature?: boolean | undefined;
520
+ knowledge?: string | undefined;
521
+ }, {
522
+ name: string;
523
+ limit: {
524
+ output: number;
525
+ context: number;
526
+ };
527
+ modelId: string;
528
+ providerId: string;
529
+ attachment: boolean;
530
+ reasoning: boolean;
531
+ tool_call: boolean;
532
+ modalities: {
533
+ input: string[];
534
+ output: string[];
535
+ };
536
+ release_date: string;
537
+ last_updated: string;
538
+ cost?: {
539
+ input?: number | undefined;
540
+ output?: number | undefined;
541
+ cache_read?: number | undefined;
542
+ cache_write?: number | undefined;
543
+ } | undefined;
544
+ temperature?: boolean | undefined;
545
+ knowledge?: string | undefined;
546
+ }>, "many">;
547
+ }, "strip", z.ZodTypeAny, {
548
+ id: string;
549
+ name: string;
550
+ models: {
551
+ name: string;
552
+ limit: {
553
+ output: number;
554
+ context: number;
555
+ };
556
+ modelId: string;
557
+ providerId: string;
558
+ attachment: boolean;
559
+ reasoning: boolean;
560
+ tool_call: boolean;
561
+ modalities: {
562
+ input: string[];
563
+ output: string[];
564
+ };
565
+ release_date: string;
566
+ last_updated: string;
567
+ cost?: {
568
+ input?: number | undefined;
569
+ output?: number | undefined;
570
+ cache_read?: number | undefined;
571
+ cache_write?: number | undefined;
572
+ } | undefined;
573
+ temperature?: boolean | undefined;
574
+ knowledge?: string | undefined;
575
+ }[];
576
+ }, {
577
+ id: string;
578
+ name: string;
579
+ models: {
580
+ name: string;
581
+ limit: {
582
+ output: number;
583
+ context: number;
584
+ };
585
+ modelId: string;
586
+ providerId: string;
587
+ attachment: boolean;
588
+ reasoning: boolean;
589
+ tool_call: boolean;
590
+ modalities: {
591
+ input: string[];
592
+ output: string[];
593
+ };
594
+ release_date: string;
595
+ last_updated: string;
596
+ cost?: {
597
+ input?: number | undefined;
598
+ output?: number | undefined;
599
+ cache_read?: number | undefined;
600
+ cache_write?: number | undefined;
601
+ } | undefined;
602
+ temperature?: boolean | undefined;
603
+ knowledge?: string | undefined;
604
+ }[];
605
+ }>, "many">;
606
+ }, "strip", z.ZodTypeAny, {
607
+ version: string;
608
+ lastUpdated: string;
609
+ providers: {
610
+ id: string;
611
+ name: string;
612
+ models: {
613
+ name: string;
614
+ limit: {
615
+ output: number;
616
+ context: number;
617
+ };
618
+ modelId: string;
619
+ providerId: string;
620
+ attachment: boolean;
621
+ reasoning: boolean;
622
+ tool_call: boolean;
623
+ modalities: {
624
+ input: string[];
625
+ output: string[];
626
+ };
627
+ release_date: string;
628
+ last_updated: string;
629
+ cost?: {
630
+ input?: number | undefined;
631
+ output?: number | undefined;
632
+ cache_read?: number | undefined;
633
+ cache_write?: number | undefined;
634
+ } | undefined;
635
+ temperature?: boolean | undefined;
636
+ knowledge?: string | undefined;
637
+ }[];
638
+ }[];
639
+ }, {
640
+ version: string;
641
+ lastUpdated: string;
642
+ providers: {
643
+ id: string;
644
+ name: string;
645
+ models: {
646
+ name: string;
647
+ limit: {
648
+ output: number;
649
+ context: number;
650
+ };
651
+ modelId: string;
652
+ providerId: string;
653
+ attachment: boolean;
654
+ reasoning: boolean;
655
+ tool_call: boolean;
656
+ modalities: {
657
+ input: string[];
658
+ output: string[];
659
+ };
660
+ release_date: string;
661
+ last_updated: string;
662
+ cost?: {
663
+ input?: number | undefined;
664
+ output?: number | undefined;
665
+ cache_read?: number | undefined;
666
+ cache_write?: number | undefined;
667
+ } | undefined;
668
+ temperature?: boolean | undefined;
669
+ knowledge?: string | undefined;
670
+ }[];
671
+ }[];
672
+ }>;
673
+ export type ModelCost = z.infer<typeof modelCostSchema>;
674
+ export type ModelLimits = z.infer<typeof modelLimitsSchema>;
675
+ export type Modalities = z.infer<typeof modalitiesSchema>;
676
+ export type ModelInfo = z.infer<typeof modelInfoSchema>;
677
+ export type ProviderInfo = z.infer<typeof providerInfoSchema>;
678
+ export type ModelsData = z.infer<typeof modelsDataSchema>;
679
+ export type ModelsDevApiResponse = z.infer<typeof modelsDevApiResponseSchema>;
@@ -0,0 +1,30 @@
1
+ import type { Provider } from "ai";
2
+ export interface ProviderDefinition {
3
+ id: string;
4
+ apiKeyEnvVar: string;
5
+ createProvider: (apiKey: string) => Provider;
6
+ defaultHeaders?: Record<string, string>;
7
+ /**
8
+ * Preferred models for health checks, tried in order before falling back
9
+ * to findCheapestModel. Use stable, non-preview model IDs that the
10
+ * provider is unlikely to deprecate.
11
+ */
12
+ healthCheckModels?: string[];
13
+ }
14
+ /**
15
+ * Provider definitions for all supported LLM providers.
16
+ * Each provider definition includes:
17
+ * - id: Unique identifier matching the providerId in models data
18
+ * - apiKeyEnvVar: Environment variable name for the API key
19
+ * - createProvider: Factory function to create the provider instance
20
+ * - defaultHeaders: Optional default headers to include with requests
21
+ */
22
+ export declare const PROVIDER_DEFINITIONS: ProviderDefinition[];
23
+ /**
24
+ * Get provider definition by ID
25
+ */
26
+ export declare function getProviderDefinition(providerId: string): ProviderDefinition | undefined;
27
+ /**
28
+ * Get all supported provider IDs
29
+ */
30
+ export declare function getSupportedProviderIds(): string[];