@stackbilt/llm-providers 1.3.0 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,532 @@
1
+ export const PROVIDER_FALLBACK_ORDER = [
2
+ 'cloudflare',
3
+ 'cerebras',
4
+ 'groq',
5
+ 'anthropic',
6
+ 'openai',
7
+ ];
8
+ function entry(provider, model, lifecycle, useCases, capabilities, scores) {
9
+ return {
10
+ provider,
11
+ model,
12
+ lifecycle,
13
+ useCases,
14
+ capabilities,
15
+ speedScore: scores.speed,
16
+ qualityScore: scores.quality,
17
+ costScore: scores.cost,
18
+ };
19
+ }
20
+ export const MODEL_CATALOG = [
21
+ entry('openai', 'gpt-4o', 'retired', ['HIGH_PERFORMANCE', 'TOOL_CALLING'], {
22
+ maxContextLength: 128000,
23
+ supportsStreaming: true,
24
+ supportsTools: true,
25
+ supportsVision: true,
26
+ supportsBatching: false,
27
+ inputTokenCost: 0.005,
28
+ outputTokenCost: 0.015,
29
+ description: 'Retired GPT-4o compatibility entry'
30
+ }, { speed: 4, quality: 5, cost: 2 }),
31
+ entry('openai', 'gpt-4o-mini', 'active', ['COST_EFFECTIVE', 'BALANCED', 'TOOL_CALLING', 'VISION', 'LONG_CONTEXT', 'HIGH_PERFORMANCE'], {
32
+ maxContextLength: 128000,
33
+ supportsStreaming: true,
34
+ supportsTools: true,
35
+ supportsVision: true,
36
+ supportsBatching: false,
37
+ inputTokenCost: 0.00015,
38
+ outputTokenCost: 0.0006,
39
+ description: 'Modern OpenAI baseline'
40
+ }, { speed: 5, quality: 4, cost: 5 }),
41
+ entry('openai', 'gpt-4-turbo', 'compatibility', ['HIGH_PERFORMANCE', 'LONG_CONTEXT'], {
42
+ maxContextLength: 128000,
43
+ supportsStreaming: true,
44
+ supportsTools: true,
45
+ supportsBatching: false,
46
+ inputTokenCost: 0.01,
47
+ outputTokenCost: 0.03,
48
+ description: 'Compatibility OpenAI GPT-4 Turbo'
49
+ }, { speed: 3, quality: 4, cost: 2 }),
50
+ entry('openai', 'gpt-4', 'compatibility', ['HIGH_PERFORMANCE'], {
51
+ maxContextLength: 8192,
52
+ supportsStreaming: true,
53
+ supportsTools: true,
54
+ supportsBatching: false,
55
+ inputTokenCost: 0.03,
56
+ outputTokenCost: 0.06,
57
+ description: 'Compatibility GPT-4'
58
+ }, { speed: 2, quality: 4, cost: 1 }),
59
+ entry('openai', 'gpt-3.5-turbo', 'compatibility', ['COST_EFFECTIVE'], {
60
+ maxContextLength: 16385,
61
+ supportsStreaming: true,
62
+ supportsTools: true,
63
+ supportsBatching: false,
64
+ inputTokenCost: 0.0005,
65
+ outputTokenCost: 0.0015,
66
+ description: 'Compatibility GPT-3.5 Turbo'
67
+ }, { speed: 4, quality: 2, cost: 3 }),
68
+ entry('openai', 'gpt-3.5-turbo-16k', 'compatibility', ['LONG_CONTEXT'], {
69
+ maxContextLength: 16385,
70
+ supportsStreaming: true,
71
+ supportsTools: true,
72
+ supportsBatching: false,
73
+ inputTokenCost: 0.001,
74
+ outputTokenCost: 0.002,
75
+ description: 'Compatibility GPT-3.5 Turbo 16k'
76
+ }, { speed: 3, quality: 2, cost: 3 }),
77
+ entry('anthropic', 'claude-opus-4-6-20250618', 'active', ['HIGH_PERFORMANCE', 'LONG_CONTEXT', 'VISION', 'TOOL_CALLING'], {
78
+ maxContextLength: 200000,
79
+ supportsStreaming: true,
80
+ supportsTools: true,
81
+ supportsVision: true,
82
+ supportsBatching: false,
83
+ inputTokenCost: 0.015,
84
+ outputTokenCost: 0.075,
85
+ description: 'Claude Opus 4.6'
86
+ }, { speed: 2, quality: 5, cost: 1 }),
87
+ entry('anthropic', 'claude-sonnet-4-6-20250618', 'active', ['HIGH_PERFORMANCE', 'LONG_CONTEXT', 'VISION', 'TOOL_CALLING', 'BALANCED'], {
88
+ maxContextLength: 200000,
89
+ supportsStreaming: true,
90
+ supportsTools: true,
91
+ supportsVision: true,
92
+ supportsBatching: false,
93
+ inputTokenCost: 0.003,
94
+ outputTokenCost: 0.015,
95
+ description: 'Claude Sonnet 4.6'
96
+ }, { speed: 3, quality: 5, cost: 3 }),
97
+ entry('anthropic', 'claude-opus-4-20250618', 'compatibility', ['HIGH_PERFORMANCE', 'LONG_CONTEXT'], {
98
+ maxContextLength: 200000,
99
+ supportsStreaming: true,
100
+ supportsTools: true,
101
+ supportsBatching: false,
102
+ inputTokenCost: 0.015,
103
+ outputTokenCost: 0.075,
104
+ description: 'Claude Opus 4'
105
+ }, { speed: 2, quality: 5, cost: 1 }),
106
+ entry('anthropic', 'claude-sonnet-4-20250514', 'active', ['HIGH_PERFORMANCE', 'BALANCED', 'TOOL_CALLING', 'LONG_CONTEXT'], {
107
+ maxContextLength: 200000,
108
+ supportsStreaming: true,
109
+ supportsTools: true,
110
+ supportsBatching: false,
111
+ inputTokenCost: 0.003,
112
+ outputTokenCost: 0.015,
113
+ description: 'Claude Sonnet 4'
114
+ }, { speed: 3, quality: 4, cost: 3 }),
115
+ entry('anthropic', 'claude-haiku-4-5-20251001', 'active', ['COST_EFFECTIVE', 'BALANCED', 'TOOL_CALLING', 'VISION', 'LONG_CONTEXT'], {
116
+ maxContextLength: 200000,
117
+ supportsStreaming: true,
118
+ supportsTools: true,
119
+ supportsVision: true,
120
+ supportsBatching: false,
121
+ inputTokenCost: 0.001,
122
+ outputTokenCost: 0.005,
123
+ description: 'Claude Haiku 4.5'
124
+ }, { speed: 4, quality: 4, cost: 5 }),
125
+ entry('anthropic', 'claude-3-7-sonnet-20250219', 'compatibility', ['HIGH_PERFORMANCE', 'LONG_CONTEXT'], {
126
+ maxContextLength: 200000,
127
+ supportsStreaming: true,
128
+ supportsTools: true,
129
+ supportsBatching: false,
130
+ inputTokenCost: 0.003,
131
+ outputTokenCost: 0.015,
132
+ description: 'Claude 3.7 Sonnet'
133
+ }, { speed: 3, quality: 4, cost: 3 }),
134
+ entry('anthropic', 'claude-3-5-sonnet-20241022', 'compatibility', ['BALANCED', 'LONG_CONTEXT'], {
135
+ maxContextLength: 200000,
136
+ supportsStreaming: true,
137
+ supportsTools: true,
138
+ supportsBatching: false,
139
+ inputTokenCost: 0.003,
140
+ outputTokenCost: 0.015,
141
+ description: 'Claude 3.5 Sonnet'
142
+ }, { speed: 3, quality: 4, cost: 3 }),
143
+ entry('anthropic', 'claude-3-5-haiku-20241022', 'compatibility', ['COST_EFFECTIVE', 'BALANCED'], {
144
+ maxContextLength: 200000,
145
+ supportsStreaming: true,
146
+ supportsTools: true,
147
+ supportsBatching: false,
148
+ inputTokenCost: 0.00025,
149
+ outputTokenCost: 0.00125,
150
+ description: 'Claude 3.5 Haiku'
151
+ }, { speed: 4, quality: 3, cost: 4 }),
152
+ entry('anthropic', 'claude-3-opus-20240229', 'compatibility', ['HIGH_PERFORMANCE'], {
153
+ maxContextLength: 200000,
154
+ supportsStreaming: true,
155
+ supportsTools: true,
156
+ supportsBatching: false,
157
+ inputTokenCost: 0.015,
158
+ outputTokenCost: 0.075,
159
+ description: 'Claude 3 Opus'
160
+ }, { speed: 2, quality: 4, cost: 1 }),
161
+ entry('anthropic', 'claude-3-sonnet-20240229', 'compatibility', ['BALANCED'], {
162
+ maxContextLength: 200000,
163
+ supportsStreaming: true,
164
+ supportsTools: true,
165
+ supportsBatching: false,
166
+ inputTokenCost: 0.003,
167
+ outputTokenCost: 0.015,
168
+ description: 'Claude 3 Sonnet'
169
+ }, { speed: 3, quality: 3, cost: 2 }),
170
+ entry('cloudflare', '@cf/meta/llama-3.1-8b-instruct', 'compatibility', ['COST_EFFECTIVE'], {
171
+ maxContextLength: 8192,
172
+ supportsStreaming: true,
173
+ supportsTools: false,
174
+ supportsBatching: true,
175
+ inputTokenCost: 0.0000001,
176
+ outputTokenCost: 0.0000001,
177
+ description: 'Workers AI Llama 3.1 8B'
178
+ }, { speed: 5, quality: 2, cost: 5 }),
179
+ entry('cloudflare', '@cf/meta/llama-3.1-70b-instruct', 'compatibility', ['HIGH_PERFORMANCE'], {
180
+ maxContextLength: 8192,
181
+ supportsStreaming: true,
182
+ supportsTools: false,
183
+ supportsBatching: true,
184
+ inputTokenCost: 0.0000005,
185
+ outputTokenCost: 0.0000005,
186
+ description: 'Workers AI Llama 3.1 70B'
187
+ }, { speed: 3, quality: 4, cost: 4 }),
188
+ entry('cloudflare', '@cf/meta/llama-3-8b-instruct', 'compatibility', ['COST_EFFECTIVE'], {
189
+ maxContextLength: 8192,
190
+ supportsStreaming: true,
191
+ supportsTools: false,
192
+ supportsBatching: true,
193
+ inputTokenCost: 0.0000001,
194
+ outputTokenCost: 0.0000001,
195
+ description: 'Workers AI Llama 3 8B'
196
+ }, { speed: 4, quality: 2, cost: 5 }),
197
+ entry('cloudflare', '@cf/meta/llama-2-7b-chat-int8', 'compatibility', ['COST_EFFECTIVE'], {
198
+ maxContextLength: 4096,
199
+ supportsStreaming: true,
200
+ supportsTools: false,
201
+ supportsBatching: true,
202
+ inputTokenCost: 0.00000005,
203
+ outputTokenCost: 0.00000005,
204
+ description: 'Workers AI Llama 2 7B'
205
+ }, { speed: 4, quality: 1, cost: 5 }),
206
+ entry('cloudflare', '@cf/microsoft/phi-2', 'compatibility', ['COST_EFFECTIVE'], {
207
+ maxContextLength: 2048,
208
+ supportsStreaming: true,
209
+ supportsTools: false,
210
+ supportsBatching: true,
211
+ inputTokenCost: 0.00000002,
212
+ outputTokenCost: 0.00000002,
213
+ description: 'Workers AI Phi-2'
214
+ }, { speed: 4, quality: 1, cost: 5 }),
215
+ entry('cloudflare', '@cf/mistral/mistral-7b-instruct-v0.1', 'compatibility', ['BALANCED'], {
216
+ maxContextLength: 8192,
217
+ supportsStreaming: true,
218
+ supportsTools: false,
219
+ supportsBatching: true,
220
+ inputTokenCost: 0.0000001,
221
+ outputTokenCost: 0.0000001,
222
+ description: 'Workers AI Mistral 7B'
223
+ }, { speed: 4, quality: 2, cost: 5 }),
224
+ entry('cloudflare', '@cf/openchat/openchat-3.5-0106', 'compatibility', ['BALANCED'], {
225
+ maxContextLength: 8192,
226
+ supportsStreaming: true,
227
+ supportsTools: false,
228
+ supportsBatching: true,
229
+ inputTokenCost: 0.0000001,
230
+ outputTokenCost: 0.0000001,
231
+ description: 'Workers AI OpenChat 3.5'
232
+ }, { speed: 4, quality: 2, cost: 5 }),
233
+ entry('cloudflare', '@cf/openai/gpt-oss-120b', 'active', ['TOOL_CALLING', 'HIGH_PERFORMANCE'], {
234
+ maxContextLength: 128000,
235
+ supportsStreaming: true,
236
+ supportsTools: true,
237
+ toolCalling: true,
238
+ supportsBatching: true,
239
+ inputTokenCost: 0.0000008,
240
+ outputTokenCost: 0.0000008,
241
+ description: 'Workers AI GPT-OSS 120B'
242
+ }, { speed: 4, quality: 5, cost: 4 }),
243
+ entry('cloudflare', '@cf/tinyllama/tinyllama-1.1b-chat-v1.0', 'compatibility', ['COST_EFFECTIVE'], {
244
+ maxContextLength: 2048,
245
+ supportsStreaming: true,
246
+ supportsTools: false,
247
+ supportsBatching: true,
248
+ inputTokenCost: 0.00000001,
249
+ outputTokenCost: 0.00000001,
250
+ description: 'Workers AI TinyLlama'
251
+ }, { speed: 5, quality: 1, cost: 5 }),
252
+ entry('cloudflare', '@cf/qwen/qwen1.5-0.5b-chat', 'compatibility', ['COST_EFFECTIVE'], {
253
+ maxContextLength: 2048,
254
+ supportsStreaming: true,
255
+ supportsTools: false,
256
+ supportsBatching: true,
257
+ inputTokenCost: 0.00000001,
258
+ outputTokenCost: 0.00000001,
259
+ description: 'Workers AI Qwen 1.5 0.5B'
260
+ }, { speed: 5, quality: 1, cost: 5 }),
261
+ entry('cloudflare', '@cf/qwen/qwen1.5-1.8b-chat', 'compatibility', ['COST_EFFECTIVE'], {
262
+ maxContextLength: 4096,
263
+ supportsStreaming: true,
264
+ supportsTools: false,
265
+ supportsBatching: true,
266
+ inputTokenCost: 0.00000002,
267
+ outputTokenCost: 0.00000002,
268
+ description: 'Workers AI Qwen 1.5 1.8B'
269
+ }, { speed: 5, quality: 1, cost: 5 }),
270
+ entry('cloudflare', '@cf/qwen/qwen1.5-14b-chat-awq', 'compatibility', ['BALANCED'], {
271
+ maxContextLength: 8192,
272
+ supportsStreaming: true,
273
+ supportsTools: false,
274
+ supportsBatching: true,
275
+ inputTokenCost: 0.0000002,
276
+ outputTokenCost: 0.0000002,
277
+ description: 'Workers AI Qwen 1.5 14B'
278
+ }, { speed: 4, quality: 3, cost: 4 }),
279
+ entry('cloudflare', '@cf/qwen/qwen1.5-7b-chat-awq', 'compatibility', ['BALANCED'], {
280
+ maxContextLength: 8192,
281
+ supportsStreaming: true,
282
+ supportsTools: false,
283
+ supportsBatching: true,
284
+ inputTokenCost: 0.0000001,
285
+ outputTokenCost: 0.0000001,
286
+ description: 'Workers AI Qwen 1.5 7B'
287
+ }, { speed: 4, quality: 2, cost: 4 }),
288
+ entry('cloudflare', '@cf/google/gemma-4-26b-a4b-it', 'active', ['BALANCED', 'COST_EFFECTIVE', 'VISION', 'TOOL_CALLING', 'LONG_CONTEXT'], {
289
+ maxContextLength: 256000,
290
+ supportsStreaming: true,
291
+ supportsTools: true,
292
+ toolCalling: true,
293
+ supportsVision: true,
294
+ supportsBatching: true,
295
+ inputTokenCost: 0.0000001,
296
+ outputTokenCost: 0.0000003,
297
+ description: 'Workers AI Gemma 4 26B'
298
+ }, { speed: 4, quality: 4, cost: 5 }),
299
+ entry('cloudflare', '@cf/meta/llama-4-scout-17b-16e-instruct', 'active', ['HIGH_PERFORMANCE', 'VISION', 'TOOL_CALLING', 'LONG_CONTEXT'], {
300
+ maxContextLength: 131000,
301
+ supportsStreaming: true,
302
+ supportsTools: true,
303
+ toolCalling: true,
304
+ supportsVision: true,
305
+ supportsBatching: true,
306
+ inputTokenCost: 0.0000003,
307
+ outputTokenCost: 0.0000009,
308
+ description: 'Workers AI Llama 4 Scout'
309
+ }, { speed: 4, quality: 5, cost: 4 }),
310
+ entry('cloudflare', '@cf/meta/llama-3.2-11b-vision-instruct', 'active', ['VISION'], {
311
+ maxContextLength: 128000,
312
+ supportsStreaming: true,
313
+ supportsTools: false,
314
+ supportsVision: true,
315
+ supportsBatching: true,
316
+ inputTokenCost: 0.0000005,
317
+ outputTokenCost: 0.0000005,
318
+ description: 'Workers AI Llama 3.2 Vision'
319
+ }, { speed: 4, quality: 3, cost: 4 }),
320
+ entry('cerebras', 'llama-3.1-8b', 'active', ['COST_EFFECTIVE', 'BALANCED'], {
321
+ maxContextLength: 128000,
322
+ supportsStreaming: true,
323
+ supportsTools: false,
324
+ supportsBatching: false,
325
+ inputTokenCost: 0.0001,
326
+ outputTokenCost: 0.0001,
327
+ description: 'Cerebras Llama 3.1 8B'
328
+ }, { speed: 5, quality: 3, cost: 5 }),
329
+ entry('cerebras', 'llama-3.3-70b', 'active', ['HIGH_PERFORMANCE', 'BALANCED'], {
330
+ maxContextLength: 128000,
331
+ supportsStreaming: true,
332
+ supportsTools: false,
333
+ supportsBatching: false,
334
+ inputTokenCost: 0.0006,
335
+ outputTokenCost: 0.0006,
336
+ description: 'Cerebras Llama 3.3 70B'
337
+ }, { speed: 5, quality: 4, cost: 4 }),
338
+ entry('cerebras', 'zai-glm-4.7', 'active', ['HIGH_PERFORMANCE', 'TOOL_CALLING', 'LONG_CONTEXT'], {
339
+ maxContextLength: 131000,
340
+ supportsStreaming: true,
341
+ supportsTools: true,
342
+ supportsBatching: false,
343
+ inputTokenCost: 0.00225,
344
+ outputTokenCost: 0.00275,
345
+ description: 'Cerebras ZAI-GLM 4.7'
346
+ }, { speed: 4, quality: 5, cost: 2 }),
347
+ entry('cerebras', 'qwen-3-235b-a22b-instruct-2507', 'active', ['TOOL_CALLING', 'BALANCED', 'HIGH_PERFORMANCE', 'LONG_CONTEXT'], {
348
+ maxContextLength: 131000,
349
+ supportsStreaming: true,
350
+ supportsTools: true,
351
+ supportsBatching: false,
352
+ inputTokenCost: 0.0006,
353
+ outputTokenCost: 0.0012,
354
+ description: 'Cerebras Qwen 3 235B MoE'
355
+ }, { speed: 4, quality: 4, cost: 3 }),
356
+ entry('groq', 'llama-3.3-70b-versatile', 'active', ['HIGH_PERFORMANCE', 'TOOL_CALLING', 'BALANCED'], {
357
+ maxContextLength: 128000,
358
+ supportsStreaming: true,
359
+ supportsTools: true,
360
+ supportsBatching: false,
361
+ inputTokenCost: 0.00059,
362
+ outputTokenCost: 0.00079,
363
+ description: 'Groq Llama 3.3 70B Versatile'
364
+ }, { speed: 5, quality: 4, cost: 4 }),
365
+ entry('groq', 'llama-3.1-8b-instant', 'active', ['COST_EFFECTIVE', 'BALANCED'], {
366
+ maxContextLength: 128000,
367
+ supportsStreaming: true,
368
+ supportsTools: false,
369
+ supportsBatching: false,
370
+ inputTokenCost: 0.00005,
371
+ outputTokenCost: 0.00008,
372
+ description: 'Groq Llama 3.1 8B Instant'
373
+ }, { speed: 5, quality: 2, cost: 5 }),
374
+ entry('groq', 'openai/gpt-oss-120b', 'active', ['TOOL_CALLING', 'BALANCED', 'HIGH_PERFORMANCE'], {
375
+ maxContextLength: 128000,
376
+ supportsStreaming: true,
377
+ supportsTools: true,
378
+ supportsBatching: false,
379
+ inputTokenCost: 0.00015,
380
+ outputTokenCost: 0.0006,
381
+ description: 'Groq GPT-OSS 120B'
382
+ }, { speed: 5, quality: 4, cost: 4 }),
383
+ ];
384
+ function isStructuredRequest(request) {
385
+ return request?.response_format?.type === 'json_object';
386
+ }
387
+ function usesTools(request) {
388
+ if (!request)
389
+ return false;
390
+ return (request.tools?.length ?? 0) > 0 || (request.messages ?? []).some(message => (message.toolCalls?.length ?? 0) > 0 || (message.toolResults?.length ?? 0) > 0);
391
+ }
392
+ function usesVision(request) {
393
+ return (request?.images?.length ?? 0) > 0;
394
+ }
395
+ function totalMessageLength(request) {
396
+ return (request?.messages ?? []).reduce((sum, message) => sum + message.content.length, 0);
397
+ }
398
+ function providerRank(provider) {
399
+ const index = PROVIDER_FALLBACK_ORDER.indexOf(provider);
400
+ return index >= 0 ? index : PROVIDER_FALLBACK_ORDER.length;
401
+ }
402
+ function scoreUseCase(entry, useCase) {
403
+ const weights = {
404
+ COST_EFFECTIVE: { cost: 6, speed: 3, quality: 1 },
405
+ HIGH_PERFORMANCE: { cost: 1, speed: 2, quality: 7 },
406
+ BALANCED: { cost: 4, speed: 3, quality: 4 },
407
+ TOOL_CALLING: { cost: 2, speed: 3, quality: 5 },
408
+ LONG_CONTEXT: { cost: 2, speed: 2, quality: 4 },
409
+ VISION: { cost: 2, speed: 2, quality: 4 },
410
+ };
411
+ const weight = weights[useCase];
412
+ let score = entry.costScore * weight.cost +
413
+ entry.speedScore * weight.speed +
414
+ entry.qualityScore * weight.quality;
415
+ if (entry.useCases.includes(useCase)) {
416
+ score += 10;
417
+ }
418
+ if (useCase === 'LONG_CONTEXT') {
419
+ score += entry.capabilities.maxContextLength / 20_000;
420
+ }
421
+ return score;
422
+ }
423
+ function scoreHealth(entry, context) {
424
+ const providerHealth = context.providerHealth?.[entry.provider];
425
+ if (!providerHealth)
426
+ return 0;
427
+ let score = providerHealth.healthy === false ? -15 : 5;
428
+ const breakerState = providerHealth.circuitBreaker?.state;
429
+ if (breakerState === 'OPEN')
430
+ return Number.NEGATIVE_INFINITY;
431
+ if (breakerState === 'DEGRADED')
432
+ score -= 35;
433
+ if (breakerState === 'RECOVERING')
434
+ score -= 15;
435
+ const primaryTrafficPct = providerHealth.circuitBreaker?.primaryTrafficPct;
436
+ if (primaryTrafficPct !== undefined && primaryTrafficPct < 1) {
437
+ score -= (1 - primaryTrafficPct) * 20;
438
+ }
439
+ return score;
440
+ }
441
+ function scoreLedger(entry, context) {
442
+ if (!context.ledger)
443
+ return 0;
444
+ let score = 0;
445
+ const providerUtilization = context.ledger.utilizationPct(entry.provider);
446
+ score -= providerUtilization * 35;
447
+ const estimate = context.ledger.getDepletionEstimate(entry.provider);
448
+ if (estimate?.daysRemaining !== null && estimate?.daysRemaining !== undefined) {
449
+ if (estimate.daysRemaining <= 1)
450
+ score -= 50;
451
+ else if (estimate.daysRemaining <= 3)
452
+ score -= 30;
453
+ else if (estimate.daysRemaining <= 7)
454
+ score -= 15;
455
+ }
456
+ return score;
457
+ }
458
+ function isCompatible(entry, context) {
459
+ const request = context.request;
460
+ if (entry.lifecycle === 'retired')
461
+ return false;
462
+ if (!request)
463
+ return true;
464
+ if (usesVision(request) && !entry.capabilities.supportsVision)
465
+ return false;
466
+ if (usesTools(request) && !entry.capabilities.supportsTools)
467
+ return false;
468
+ if (isStructuredRequest(request) && !entry.capabilities.supportsTools && entry.provider === 'cloudflare') {
469
+ return false;
470
+ }
471
+ return true;
472
+ }
473
+ export function inferUseCaseFromRequest(request) {
474
+ if (usesVision(request))
475
+ return 'VISION';
476
+ if (usesTools(request) || isStructuredRequest(request))
477
+ return 'TOOL_CALLING';
478
+ const messageLength = totalMessageLength(request);
479
+ if ((request.maxTokens ?? 0) >= 4000 || messageLength >= 20_000) {
480
+ return 'LONG_CONTEXT';
481
+ }
482
+ return 'BALANCED';
483
+ }
484
+ export function rankModels(useCase, availableProviders, context = {}) {
485
+ const allowedProviders = new Set(availableProviders);
486
+ const precedencePenalty = useCase === 'COST_EFFECTIVE' ? 2 : 0.01;
487
+ return MODEL_CATALOG
488
+ .filter(entry => allowedProviders.has(entry.provider))
489
+ .filter(entry => isCompatible(entry, context))
490
+ .map(entry => ({
491
+ entry,
492
+ score: scoreUseCase(entry, useCase) +
493
+ scoreHealth(entry, context) +
494
+ scoreLedger(entry, context) -
495
+ providerRank(entry.provider) * precedencePenalty,
496
+ }))
497
+ .filter(result => Number.isFinite(result.score))
498
+ .sort((a, b) => b.score - a.score)
499
+ .map(result => result.entry);
500
+ }
501
+ export function getRecommendedModel(useCase, availableProviders, context = {}) {
502
+ const ranked = rankModels(useCase, availableProviders, context);
503
+ if (ranked.length === 0) {
504
+ throw new Error('No available providers configured');
505
+ }
506
+ return ranked[0].model;
507
+ }
508
+ export function getProviderDefaultModel(provider, request = {}, context = {}) {
509
+ const useCase = inferUseCaseFromRequest(request);
510
+ return getRecommendedModel(useCase, [provider], { ...context, request });
511
+ }
512
+ export function getCatalogEntry(model) {
513
+ return MODEL_CATALOG.find(entry => entry.model === model);
514
+ }
515
+ export function getProviderForCatalogModel(model) {
516
+ const entry = getCatalogEntry(model);
517
+ return entry?.provider ?? null;
518
+ }
519
+ function activeModelsFor(useCase) {
520
+ return rankModels(useCase, PROVIDER_FALLBACK_ORDER)
521
+ .filter(entry => entry.lifecycle === 'active')
522
+ .map(entry => entry.model);
523
+ }
524
+ export const MODEL_RECOMMENDATIONS = {
525
+ COST_EFFECTIVE: activeModelsFor('COST_EFFECTIVE'),
526
+ HIGH_PERFORMANCE: activeModelsFor('HIGH_PERFORMANCE'),
527
+ BALANCED: activeModelsFor('BALANCED'),
528
+ TOOL_CALLING: activeModelsFor('TOOL_CALLING'),
529
+ LONG_CONTEXT: activeModelsFor('LONG_CONTEXT'),
530
+ VISION: activeModelsFor('VISION'),
531
+ };
532
+ //# sourceMappingURL=model-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-catalog.js","sourceRoot":"","sources":["../src/model-catalog.ts"],"names":[],"mappings":"AAmCA,MAAM,CAAC,MAAM,uBAAuB,GAAmB;IACrD,YAAY;IACZ,UAAU;IACV,MAAM;IACN,WAAW;IACX,QAAQ;CACT,CAAC;AAEF,SAAS,KAAK,CACZ,QAAsB,EACtB,KAAa,EACb,SAAyB,EACzB,QAAsC,EACtC,YAA+B,EAC/B,MAAwD;IAExD,OAAO;QACL,QAAQ;QACR,KAAK;QACL,SAAS;QACT,QAAQ;QACR,YAAY;QACZ,UAAU,EAAE,MAAM,CAAC,KAAK;QACxB,YAAY,EAAE,MAAM,CAAC,OAAO;QAC5B,SAAS,EAAE,MAAM,CAAC,IAAI;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAiC;IACzD,KAAK,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,kBAAkB,EAAE,cAAc,CAAC,EAAE;QACzE,gBAAgB,EAAE,MAAM;QACxB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,IAAI;QACnB,cAAc,EAAE,IAAI;QACpB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,KAAK;QACtB,WAAW,EAAE,oCAAoC;KAClD,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,kBAAkB,CAAC,EAAE;QACrI,gBAAgB,EAAE,MAAM;QACxB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,IAAI;QACnB,cAAc,EAAE,IAAI;QACpB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,OAAO;QACvB,eAAe,EAAE,MAAM;QACvB,WAAW,EAAE,wBAAwB;KACtC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,QAAQ,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC,kBAAkB,EAAE,cAAc,CAAC,EAAE;QACpF,gBAAgB,EAAE,MAAM;QACxB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,kCAAkC;KAChD,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,kBAAkB,CAAC,EAAE;QAC9D,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,IAAI;QACpB,eAAe,EAAE,IAAI;QACrB,WAAW,EAAE,qBAAqB;KACnC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC,gBAAgB,CAAC,EAAE;QACpE,gBAAgB,EAAE,KAAK;QACvB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,MAAM;QACtB,eAAe,EAAE,MAAM;QACvB,WAAW,EAAE,6BAA6B;KAC3C,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,QAAQ,EAAE,mBAAmB,EAAE,eAAe,EAAE,CAAC,cAAc,CAAC,EAAE;QACtE,gBAAgB,EAAE,KAAK;QACvB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,KAAK;QACtB,WAAW,EAAE,iCAAiC;KAC/C,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAErC,KAAK,CAAC,WAAW,EAAE,0BAA0B,EAAE,QAAQ,EAAE,CAAC,kBAAkB,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE;QACvH,gBAAgB,EAAE,MAAM;QACxB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,IAAI;QACnB,cAAc,EAAE,IAAI;QACpB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,KAAK;QACtB,WAAW,EAAE,iBAAiB;KAC/B,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,WAAW,EAAE,4BAA4B,EAAE,QAAQ,EAAE,CAAC,kBAAkB,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE;QACrI,gBAAgB,EAAE,MAAM;QACxB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,IAAI;QACnB,cAAc,EAAE,IAAI;QACpB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,KAAK;QACtB,WAAW,EAAE,mBAAmB;KACjC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,WAAW,EAAE,wBAAwB,EAAE,eAAe,EAAE,CAAC,kBAAkB,EAAE,cAAc,CAAC,EAAE;QAClG,gBAAgB,EAAE,MAAM;QACxB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,KAAK;QACtB,WAAW,EAAE,eAAe;KAC7B,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,WAAW,EAAE,0BAA0B,EAAE,QAAQ,EAAE,CAAC,kBAAkB,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,CAAC,EAAE;QACzH,gBAAgB,EAAE,MAAM;QACxB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,KAAK;QACtB,WAAW,EAAE,iBAAiB;KAC/B,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,WAAW,EAAE,2BAA2B,EAAE,QAAQ,EAAE,CAAC,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE;QAClI,gBAAgB,EAAE,MAAM;QACxB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,IAAI;QACnB,cAAc,EAAE,IAAI;QACpB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,KAAK;QACtB,WAAW,EAAE,kBAAkB;KAChC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,WAAW,EAAE,4BAA4B,EAAE,eAAe,EAAE,CAAC,kBAAkB,EAAE,cAAc,CAAC,EAAE;QACtG,gBAAgB,EAAE,MAAM;QACxB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,KAAK;QACtB,WAAW,EAAE,mBAAmB;KACjC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,WAAW,EAAE,4BAA4B,EAAE,eAAe,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE;QAC9F,gBAAgB,EAAE,MAAM;QACxB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,KAAK;QACtB,WAAW,EAAE,mBAAmB;KACjC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,WAAW,EAAE,2BAA2B,EAAE,eAAe,EAAE,CAAC,gBAAgB,EAAE,UAAU,CAAC,EAAE;QAC/F,gBAAgB,EAAE,MAAM;QACxB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,OAAO;QACvB,eAAe,EAAE,OAAO;QACxB,WAAW,EAAE,kBAAkB;KAChC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,WAAW,EAAE,wBAAwB,EAAE,eAAe,EAAE,CAAC,kBAAkB,CAAC,EAAE;QAClF,gBAAgB,EAAE,MAAM;QACxB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,KAAK;QACtB,WAAW,EAAE,eAAe;KAC7B,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,WAAW,EAAE,0BAA0B,EAAE,eAAe,EAAE,CAAC,UAAU,CAAC,EAAE;QAC5E,gBAAgB,EAAE,MAAM;QACxB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,KAAK;QACrB,eAAe,EAAE,KAAK;QACtB,WAAW,EAAE,iBAAiB;KAC/B,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAErC,KAAK,CAAC,YAAY,EAAE,gCAAgC,EAAE,eAAe,EAAE,CAAC,gBAAgB,CAAC,EAAE;QACzF,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,KAAK;QACpB,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,SAAS;QACzB,eAAe,EAAE,SAAS;QAC1B,WAAW,EAAE,yBAAyB;KACvC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,YAAY,EAAE,iCAAiC,EAAE,eAAe,EAAE,CAAC,kBAAkB,CAAC,EAAE;QAC5F,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,KAAK;QACpB,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,SAAS;QACzB,eAAe,EAAE,SAAS;QAC1B,WAAW,EAAE,0BAA0B;KACxC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,YAAY,EAAE,8BAA8B,EAAE,eAAe,EAAE,CAAC,gBAAgB,CAAC,EAAE;QACvF,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,KAAK;QACpB,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,SAAS;QACzB,eAAe,EAAE,SAAS;QAC1B,WAAW,EAAE,uBAAuB;KACrC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,YAAY,EAAE,+BAA+B,EAAE,eAAe,EAAE,CAAC,gBAAgB,CAAC,EAAE;QACxF,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,KAAK;QACpB,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,UAAU;QAC1B,eAAe,EAAE,UAAU;QAC3B,WAAW,EAAE,uBAAuB;KACrC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,YAAY,EAAE,qBAAqB,EAAE,eAAe,EAAE,CAAC,gBAAgB,CAAC,EAAE;QAC9E,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,KAAK;QACpB,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,UAAU;QAC1B,eAAe,EAAE,UAAU;QAC3B,WAAW,EAAE,kBAAkB;KAChC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,YAAY,EAAE,sCAAsC,EAAE,eAAe,EAAE,CAAC,UAAU,CAAC,EAAE;QACzF,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,KAAK;QACpB,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,SAAS;QACzB,eAAe,EAAE,SAAS;QAC1B,WAAW,EAAE,uBAAuB;KACrC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,YAAY,EAAE,gCAAgC,EAAE,eAAe,EAAE,CAAC,UAAU,CAAC,EAAE;QACnF,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,KAAK;QACpB,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,SAAS;QACzB,eAAe,EAAE,SAAS;QAC1B,WAAW,EAAE,yBAAyB;KACvC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,YAAY,EAAE,yBAAyB,EAAE,QAAQ,EAAE,CAAC,cAAc,EAAE,kBAAkB,CAAC,EAAE;QAC7F,gBAAgB,EAAE,MAAM;QACxB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;QACjB,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,SAAS;QACzB,eAAe,EAAE,SAAS;QAC1B,WAAW,EAAE,yBAAyB;KACvC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,YAAY,EAAE,wCAAwC,EAAE,eAAe,EAAE,CAAC,gBAAgB,CAAC,EAAE;QACjG,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,KAAK;QACpB,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,UAAU;QAC1B,eAAe,EAAE,UAAU;QAC3B,WAAW,EAAE,sBAAsB;KACpC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,YAAY,EAAE,4BAA4B,EAAE,eAAe,EAAE,CAAC,gBAAgB,CAAC,EAAE;QACrF,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,KAAK;QACpB,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,UAAU;QAC1B,eAAe,EAAE,UAAU;QAC3B,WAAW,EAAE,0BAA0B;KACxC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,YAAY,EAAE,4BAA4B,EAAE,eAAe,EAAE,CAAC,gBAAgB,CAAC,EAAE;QACrF,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,KAAK;QACpB,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,UAAU;QAC1B,eAAe,EAAE,UAAU;QAC3B,WAAW,EAAE,0BAA0B;KACxC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,YAAY,EAAE,+BAA+B,EAAE,eAAe,EAAE,CAAC,UAAU,CAAC,EAAE;QAClF,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,KAAK;QACpB,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,SAAS;QACzB,eAAe,EAAE,SAAS;QAC1B,WAAW,EAAE,yBAAyB;KACvC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,YAAY,EAAE,8BAA8B,EAAE,eAAe,EAAE,CAAC,UAAU,CAAC,EAAE;QACjF,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,KAAK;QACpB,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,SAAS;QACzB,eAAe,EAAE,SAAS;QAC1B,WAAW,EAAE,wBAAwB;KACtC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,YAAY,EAAE,+BAA+B,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,CAAC,EAAE;QACvI,gBAAgB,EAAE,MAAM;QACxB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;QACjB,cAAc,EAAE,IAAI;QACpB,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,SAAS;QACzB,eAAe,EAAE,SAAS;QAC1B,WAAW,EAAE,wBAAwB;KACtC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,YAAY,EAAE,yCAAyC,EAAE,QAAQ,EAAE,CAAC,kBAAkB,EAAE,QAAQ,EAAE,cAAc,EAAE,cAAc,CAAC,EAAE;QACvI,gBAAgB,EAAE,MAAM;QACxB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;QACjB,cAAc,EAAE,IAAI;QACpB,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,SAAS;QACzB,eAAe,EAAE,SAAS;QAC1B,WAAW,EAAE,0BAA0B;KACxC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,YAAY,EAAE,wCAAwC,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE;QAClF,gBAAgB,EAAE,MAAM;QACxB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,KAAK;QACpB,cAAc,EAAE,IAAI;QACpB,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,SAAS;QACzB,eAAe,EAAE,SAAS;QAC1B,WAAW,EAAE,6BAA6B;KAC3C,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAErC,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAC,gBAAgB,EAAE,UAAU,CAAC,EAAE;QAC1E,gBAAgB,EAAE,MAAM;QACxB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,KAAK;QACpB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,MAAM;QACtB,eAAe,EAAE,MAAM;QACvB,WAAW,EAAE,uBAAuB;KACrC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,kBAAkB,EAAE,UAAU,CAAC,EAAE;QAC7E,gBAAgB,EAAE,MAAM;QACxB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,KAAK;QACpB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,MAAM;QACtB,eAAe,EAAE,MAAM;QACvB,WAAW,EAAE,wBAAwB;KACtC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,UAAU,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,kBAAkB,EAAE,cAAc,EAAE,cAAc,CAAC,EAAE;QAC/F,gBAAgB,EAAE,MAAM;QACxB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,OAAO;QACvB,eAAe,EAAE,OAAO;QACxB,WAAW,EAAE,sBAAsB;KACpC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,UAAU,EAAE,gCAAgC,EAAE,QAAQ,EAAE,CAAC,cAAc,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAc,CAAC,EAAE;QAC9H,gBAAgB,EAAE,MAAM;QACxB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,MAAM;QACtB,eAAe,EAAE,MAAM;QACvB,WAAW,EAAE,0BAA0B;KACxC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAErC,KAAK,CAAC,MAAM,EAAE,yBAAyB,EAAE,QAAQ,EAAE,CAAC,kBAAkB,EAAE,cAAc,EAAE,UAAU,CAAC,EAAE;QACnG,gBAAgB,EAAE,MAAM;QACxB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,OAAO;QACvB,eAAe,EAAE,OAAO;QACxB,WAAW,EAAE,8BAA8B;KAC5C,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,MAAM,EAAE,sBAAsB,EAAE,QAAQ,EAAE,CAAC,gBAAgB,EAAE,UAAU,CAAC,EAAE;QAC9E,gBAAgB,EAAE,MAAM;QACxB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,KAAK;QACpB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,OAAO;QACvB,eAAe,EAAE,OAAO;QACxB,WAAW,EAAE,2BAA2B;KACzC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IACrC,KAAK,CAAC,MAAM,EAAE,qBAAqB,EAAE,QAAQ,EAAE,CAAC,cAAc,EAAE,UAAU,EAAE,kBAAkB,CAAC,EAAE;QAC/F,gBAAgB,EAAE,MAAM;QACxB,iBAAiB,EAAE,IAAI;QACvB,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,KAAK;QACvB,cAAc,EAAE,OAAO;QACvB,eAAe,EAAE,MAAM;QACvB,WAAW,EAAE,mBAAmB;KACjC,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;CAC7B,CAAC;AAEX,SAAS,mBAAmB,CAAC,OAAwC;IACnE,OAAO,OAAO,EAAE,eAAe,EAAE,IAAI,KAAK,aAAa,CAAC;AAC1D,CAAC;AAED,SAAS,SAAS,CAAC,OAAwC;IACzD,IAAI,CAAC,OAAO;QAAE,OAAO,KAAK,CAAC;IAC3B,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CACjF,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAC/E,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,OAAwC;IAC1D,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAwC;IAClE,OAAO,CAAC,OAAO,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,SAAS,YAAY,CAAC,QAAsB;IAC1C,MAAM,KAAK,GAAG,uBAAuB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACxD,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,uBAAuB,CAAC,MAAM,CAAC;AAC7D,CAAC;AAED,SAAS,YAAY,CAAC,KAAwB,EAAE,OAAmC;IACjF,MAAM,OAAO,GAAG;QACd,cAAc,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;QACjD,gBAAgB,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;QACnD,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;QAC3C,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;QAC/C,YAAY,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;QAC/C,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE;KACjC,CAAC;IAEX,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,IAAI,KAAK,GACP,KAAK,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI;QAC7B,KAAK,CAAC,UAAU,GAAG,MAAM,CAAC,KAAK;QAC/B,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;IAEtC,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACrC,KAAK,IAAI,EAAE,CAAC;IACd,CAAC;IAED,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;QAC/B,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC,gBAAgB,GAAG,MAAM,CAAC;IACxD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,KAAwB,EAAE,OAA8B;IAC3E,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAChE,IAAI,CAAC,cAAc;QAAE,OAAO,CAAC,CAAC;IAE9B,IAAI,KAAK,GAAG,cAAc,CAAC,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,MAAM,YAAY,GAAG,cAAc,CAAC,cAAc,EAAE,KAAK,CAAC;IAE1D,IAAI,YAAY,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC,iBAAiB,CAAC;IAC7D,IAAI,YAAY,KAAK,UAAU;QAAE,KAAK,IAAI,EAAE,CAAC;IAC7C,IAAI,YAAY,KAAK,YAAY;QAAE,KAAK,IAAI,EAAE,CAAC;IAE/C,MAAM,iBAAiB,GAAG,cAAc,CAAC,cAAc,EAAE,iBAAiB,CAAC;IAC3E,IAAI,iBAAiB,KAAK,SAAS,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;QAC7D,KAAK,IAAI,CAAC,CAAC,GAAG,iBAAiB,CAAC,GAAG,EAAE,CAAC;IACxC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,KAAwB,EAAE,OAA8B;IAC3E,IAAI,CAAC,OAAO,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC;IAE9B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC1E,KAAK,IAAI,mBAAmB,GAAG,EAAE,CAAC;IAElC,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACrE,IAAI,QAAQ,EAAE,aAAa,KAAK,IAAI,IAAI,QAAQ,EAAE,aAAa,KAAK,SAAS,EAAE,CAAC;QAC9E,IAAI,QAAQ,CAAC,aAAa,IAAI,CAAC;YAAE,KAAK,IAAI,EAAE,CAAC;aACxC,IAAI,QAAQ,CAAC,aAAa,IAAI,CAAC;YAAE,KAAK,IAAI,EAAE,CAAC;aAC7C,IAAI,QAAQ,CAAC,aAAa,IAAI,CAAC;YAAE,KAAK,IAAI,EAAE,CAAC;IACpD,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,KAAwB,EAAE,OAA8B;IAC5E,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAEhC,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IAChD,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc;QAAE,OAAO,KAAK,CAAC;IAC5E,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa;QAAE,OAAO,KAAK,CAAC;IAE1E,IAAI,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,IAAI,KAAK,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;QACzG,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAA4B;IAClE,IAAI,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,QAAQ,CAAC;IACzC,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,mBAAmB,CAAC,OAAO,CAAC;QAAE,OAAO,cAAc,CAAC;IAE9E,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,IAAI,IAAI,IAAI,aAAa,IAAI,MAAM,EAAE,CAAC;QAChE,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,OAAmC,EACnC,kBAA4B,EAC5B,UAAiC,EAAE;IAEnC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,kBAAoC,CAAC,CAAC;IACvE,MAAM,iBAAiB,GAAG,OAAO,KAAK,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAElE,OAAO,aAAa;SACjB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;SACrD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;SAC7C,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACb,KAAK;QACL,KAAK,EACH,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC;YAC5B,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC;YAC3B,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC;YAC3B,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,iBAAiB;KACnD,CAAC,CAAC;SACF,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SAC/C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SACjC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAmC,EACnC,kBAA4B,EAC5B,UAAiC,EAAE;IAEnC,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;IAEhE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,QAAsB,EACtB,UAA+B,EAAE,EACjC,UAAkD,EAAE;IAEpD,MAAM,OAAO,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACjD,OAAO,mBAAmB,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAa;IACtD,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACrC,OAAO,KAAK,EAAE,QAAQ,IAAI,IAAI,CAAC;AACjC,CAAC;AAED,SAAS,eAAe,CAAC,OAAmC;IAC1D,OAAO,UAAU,CAAC,OAAO,EAAE,uBAAuB,CAAC;SAChD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC;SAC7C,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,cAAc,EAAE,eAAe,CAAC,gBAAgB,CAAC;IACjD,gBAAgB,EAAE,eAAe,CAAC,kBAAkB,CAAC;IACrD,QAAQ,EAAE,eAAe,CAAC,UAAU,CAAC;IACrC,YAAY,EAAE,eAAe,CAAC,cAAc,CAAC;IAC7C,YAAY,EAAE,eAAe,CAAC,cAAc,CAAC;IAC7C,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC;CACzB,CAAC"}
@@ -37,5 +37,6 @@ export declare class AnthropicProvider extends BaseProvider {
37
37
  generateWithTools(request: LLMRequest & {
38
38
  tools: Tool[];
39
39
  }): Promise<LLMResponse>;
40
+ private getDefaultModel;
40
41
  }
41
42
  //# sourceMappingURL=anthropic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,IAAI,EAEL,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAyGtC,qBAAa,iBAAkB,SAAQ,YAAY;IACjD,IAAI,SAAe;IACnB,MAAM,WAYJ;IACF,iBAAiB,UAAQ;IACzB,aAAa,UAAQ;IACrB,gBAAgB,UAAS;IACzB,cAAc,UAAQ;IAEtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,eAAe;IAY7B,gBAAgB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IA0CjE,cAAc,IAAI,OAAO;IAIzB,SAAS,IAAI,MAAM,EAAE;IAIrB,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM;IAenC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAW/B,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC;IA6BpD,SAAS,CAAC,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC;YA0GrD,oBAAoB;IAyBlC,OAAO,CAAC,aAAa;IAgFrB,OAAO,CAAC,oBAAoB;IA8B5B,OAAO,CAAC,cAAc;IAuDtB,OAAO,CAAC,aAAa;IAarB;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IA6D1E;;OAEG;IACG,iBAAiB,CACrB,OAAO,EAAE,UAAU,GAAG;QAAE,KAAK,EAAE,IAAI,EAAE,CAAA;KAAE,GACtC,OAAO,CAAC,WAAW,CAAC;CAGxB"}
1
+ {"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/providers/anthropic.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,IAAI,EAEL,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AA0GtC,qBAAa,iBAAkB,SAAQ,YAAY;IACjD,IAAI,SAAe;IACnB,MAAM,WAWJ;IACF,iBAAiB,UAAQ;IACzB,aAAa,UAAQ;IACrB,gBAAgB,UAAS;IACzB,cAAc,UAAQ;IAEtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;gBAEZ,MAAM,EAAE,eAAe;IAY7B,gBAAgB,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IA0CjE,cAAc,IAAI,OAAO;IAIzB,SAAS,IAAI,MAAM,EAAE;IAIrB,YAAY,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM;IAenC,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAW/B,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC;IA6BpD,SAAS,CAAC,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC;YAiGrD,oBAAoB;IAyBlC,OAAO,CAAC,aAAa;IAgFrB,OAAO,CAAC,oBAAoB;IA8B5B,OAAO,CAAC,cAAc;IAuDtB,OAAO,CAAC,aAAa;IAarB;;OAEG;IACG,cAAc,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IA6D1E;;OAEG;IACG,iBAAiB,CACrB,OAAO,EAAE,UAAU,GAAG;QAAE,KAAK,EAAE,IAAI,EAAE,CAAA;KAAE,GACtC,OAAO,CAAC,WAAW,CAAC;IAIvB,OAAO,CAAC,eAAe;CAGxB"}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import { BaseProvider } from './base';
6
6
  import { LLMErrorFactory, AuthenticationError } from '../errors';
7
+ import { getProviderDefaultModel } from '../model-catalog';
7
8
  import { validateSchema } from '../utils/schema-validator';
8
9
  /**
9
10
  * Minimum envelope fields the Anthropic response parser reads. Changing this
@@ -51,8 +52,7 @@ export class AnthropicProvider extends BaseProvider {
51
52
  'claude-3-5-sonnet-20241022',
52
53
  'claude-3-5-haiku-20241022',
53
54
  'claude-3-opus-20240229',
54
- 'claude-3-sonnet-20240229',
55
- 'claude-3-haiku-20240307'
55
+ 'claude-3-sonnet-20240229'
56
56
  ];
57
57
  supportsStreaming = true;
58
58
  supportsTools = true;
@@ -111,7 +111,7 @@ export class AnthropicProvider extends BaseProvider {
111
111
  return [...this.models];
112
112
  }
113
113
  estimateCost(request) {
114
- const model = request.model || 'claude-haiku-4-5-20251001';
114
+ const model = request.model || this.getDefaultModel(request);
115
115
  const capabilities = this.getModelCapabilities()[model];
116
116
  if (!capabilities)
117
117
  return 0;
@@ -252,15 +252,6 @@ export class AnthropicProvider extends BaseProvider {
252
252
  inputTokenCost: 0.003, // $3 per 1M tokens
253
253
  outputTokenCost: 0.015, // $15 per 1M tokens
254
254
  description: 'Claude 3 Sonnet - Balanced performance'
255
- },
256
- 'claude-3-haiku-20240307': {
257
- maxContextLength: 200000,
258
- supportsStreaming: true,
259
- supportsTools: true,
260
- supportsBatching: false,
261
- inputTokenCost: 0.00025, // $0.25 per 1M tokens
262
- outputTokenCost: 0.00125, // $1.25 per 1M tokens
263
- description: 'Claude 3 Haiku - Fast and economical'
264
255
  }
265
256
  };
266
257
  }
@@ -315,7 +306,7 @@ export class AnthropicProvider extends BaseProvider {
315
306
  messages.push({ role: 'assistant', content: '{' });
316
307
  }
317
308
  const anthropicRequest = {
318
- model: request.model || 'claude-haiku-4-5-20251001',
309
+ model: request.model || this.getDefaultModel(request),
319
310
  messages,
320
311
  max_tokens: request.maxTokens || 1000,
321
312
  temperature: request.temperature,
@@ -488,5 +479,8 @@ export class AnthropicProvider extends BaseProvider {
488
479
  async generateWithTools(request) {
489
480
  return this.generateResponse(request);
490
481
  }
482
+ getDefaultModel(request) {
483
+ return getProviderDefaultModel('anthropic', request);
484
+ }
491
485
  }
492
486
  //# sourceMappingURL=anthropic.js.map