@tashiscool/providers 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.
package/dist/models.js ADDED
@@ -0,0 +1,620 @@
1
+ /**
2
+ * Model Definitions
3
+ * Comprehensive model metadata for major LLM providers
4
+ */
5
+ /**
6
+ * Default capabilities (all false)
7
+ */
8
+ const defaultCapabilities = {
9
+ chat: false,
10
+ vision: false,
11
+ toolCalling: false,
12
+ jsonMode: false,
13
+ structuredOutput: false,
14
+ streaming: false,
15
+ embeddings: false,
16
+ imageGeneration: false,
17
+ audio: false,
18
+ };
19
+ /**
20
+ * Helper to create capabilities with overrides
21
+ */
22
+ function capabilities(overrides) {
23
+ return { ...defaultCapabilities, ...overrides };
24
+ }
25
+ /**
26
+ * OpenAI Models
27
+ */
28
+ export const openaiModels = [
29
+ {
30
+ id: 'gpt-4o',
31
+ name: 'GPT-4o',
32
+ provider: 'openai',
33
+ contextWindow: 128000,
34
+ maxOutputTokens: 16384,
35
+ capabilities: capabilities({
36
+ chat: true,
37
+ vision: true,
38
+ toolCalling: true,
39
+ jsonMode: true,
40
+ structuredOutput: true,
41
+ streaming: true,
42
+ audio: true,
43
+ }),
44
+ pricing: {
45
+ inputPerMillion: 2.5,
46
+ outputPerMillion: 10,
47
+ cachedInputPerMillion: 1.25,
48
+ },
49
+ releaseDate: '2024-05-13',
50
+ },
51
+ {
52
+ id: 'gpt-4o-mini',
53
+ name: 'GPT-4o Mini',
54
+ provider: 'openai',
55
+ contextWindow: 128000,
56
+ maxOutputTokens: 16384,
57
+ capabilities: capabilities({
58
+ chat: true,
59
+ vision: true,
60
+ toolCalling: true,
61
+ jsonMode: true,
62
+ structuredOutput: true,
63
+ streaming: true,
64
+ }),
65
+ pricing: {
66
+ inputPerMillion: 0.15,
67
+ outputPerMillion: 0.6,
68
+ cachedInputPerMillion: 0.075,
69
+ },
70
+ releaseDate: '2024-07-18',
71
+ },
72
+ {
73
+ id: 'gpt-4-turbo',
74
+ name: 'GPT-4 Turbo',
75
+ provider: 'openai',
76
+ contextWindow: 128000,
77
+ maxOutputTokens: 4096,
78
+ capabilities: capabilities({
79
+ chat: true,
80
+ vision: true,
81
+ toolCalling: true,
82
+ jsonMode: true,
83
+ streaming: true,
84
+ }),
85
+ pricing: {
86
+ inputPerMillion: 10,
87
+ outputPerMillion: 30,
88
+ },
89
+ releaseDate: '2024-04-09',
90
+ },
91
+ {
92
+ id: 'gpt-4',
93
+ name: 'GPT-4',
94
+ provider: 'openai',
95
+ contextWindow: 8192,
96
+ maxOutputTokens: 8192,
97
+ capabilities: capabilities({
98
+ chat: true,
99
+ toolCalling: true,
100
+ streaming: true,
101
+ }),
102
+ pricing: {
103
+ inputPerMillion: 30,
104
+ outputPerMillion: 60,
105
+ },
106
+ releaseDate: '2023-03-14',
107
+ },
108
+ {
109
+ id: 'gpt-3.5-turbo',
110
+ name: 'GPT-3.5 Turbo',
111
+ provider: 'openai',
112
+ contextWindow: 16385,
113
+ maxOutputTokens: 4096,
114
+ capabilities: capabilities({
115
+ chat: true,
116
+ toolCalling: true,
117
+ jsonMode: true,
118
+ streaming: true,
119
+ }),
120
+ pricing: {
121
+ inputPerMillion: 0.5,
122
+ outputPerMillion: 1.5,
123
+ },
124
+ releaseDate: '2023-11-06',
125
+ },
126
+ {
127
+ id: 'o1',
128
+ name: 'o1',
129
+ provider: 'openai',
130
+ contextWindow: 200000,
131
+ maxOutputTokens: 100000,
132
+ capabilities: capabilities({
133
+ chat: true,
134
+ vision: true,
135
+ toolCalling: true,
136
+ structuredOutput: true,
137
+ streaming: true,
138
+ }),
139
+ pricing: {
140
+ inputPerMillion: 15,
141
+ outputPerMillion: 60,
142
+ cachedInputPerMillion: 7.5,
143
+ },
144
+ releaseDate: '2024-12-17',
145
+ },
146
+ {
147
+ id: 'o1-mini',
148
+ name: 'o1 Mini',
149
+ provider: 'openai',
150
+ contextWindow: 128000,
151
+ maxOutputTokens: 65536,
152
+ capabilities: capabilities({
153
+ chat: true,
154
+ streaming: true,
155
+ }),
156
+ pricing: {
157
+ inputPerMillion: 3,
158
+ outputPerMillion: 12,
159
+ cachedInputPerMillion: 1.5,
160
+ },
161
+ releaseDate: '2024-09-12',
162
+ },
163
+ {
164
+ id: 'text-embedding-3-large',
165
+ name: 'Text Embedding 3 Large',
166
+ provider: 'openai',
167
+ contextWindow: 8191,
168
+ capabilities: capabilities({
169
+ embeddings: true,
170
+ }),
171
+ pricing: {
172
+ inputPerMillion: 0.13,
173
+ outputPerMillion: 0,
174
+ },
175
+ },
176
+ {
177
+ id: 'text-embedding-3-small',
178
+ name: 'Text Embedding 3 Small',
179
+ provider: 'openai',
180
+ contextWindow: 8191,
181
+ capabilities: capabilities({
182
+ embeddings: true,
183
+ }),
184
+ pricing: {
185
+ inputPerMillion: 0.02,
186
+ outputPerMillion: 0,
187
+ },
188
+ },
189
+ {
190
+ id: 'dall-e-3',
191
+ name: 'DALL-E 3',
192
+ provider: 'openai',
193
+ contextWindow: 4000,
194
+ capabilities: capabilities({
195
+ imageGeneration: true,
196
+ }),
197
+ },
198
+ ];
199
+ /**
200
+ * Anthropic Models
201
+ */
202
+ export const anthropicModels = [
203
+ {
204
+ id: 'claude-3-5-sonnet-20241022',
205
+ name: 'Claude 3.5 Sonnet',
206
+ provider: 'anthropic',
207
+ contextWindow: 200000,
208
+ maxOutputTokens: 8192,
209
+ capabilities: capabilities({
210
+ chat: true,
211
+ vision: true,
212
+ toolCalling: true,
213
+ streaming: true,
214
+ }),
215
+ pricing: {
216
+ inputPerMillion: 3,
217
+ outputPerMillion: 15,
218
+ cachedInputPerMillion: 0.3,
219
+ },
220
+ releaseDate: '2024-10-22',
221
+ },
222
+ {
223
+ id: 'claude-3-5-haiku-20241022',
224
+ name: 'Claude 3.5 Haiku',
225
+ provider: 'anthropic',
226
+ contextWindow: 200000,
227
+ maxOutputTokens: 8192,
228
+ capabilities: capabilities({
229
+ chat: true,
230
+ vision: true,
231
+ toolCalling: true,
232
+ streaming: true,
233
+ }),
234
+ pricing: {
235
+ inputPerMillion: 0.8,
236
+ outputPerMillion: 4,
237
+ cachedInputPerMillion: 0.08,
238
+ },
239
+ releaseDate: '2024-10-22',
240
+ },
241
+ {
242
+ id: 'claude-3-opus-20240229',
243
+ name: 'Claude 3 Opus',
244
+ provider: 'anthropic',
245
+ contextWindow: 200000,
246
+ maxOutputTokens: 4096,
247
+ capabilities: capabilities({
248
+ chat: true,
249
+ vision: true,
250
+ toolCalling: true,
251
+ streaming: true,
252
+ }),
253
+ pricing: {
254
+ inputPerMillion: 15,
255
+ outputPerMillion: 75,
256
+ cachedInputPerMillion: 1.5,
257
+ },
258
+ releaseDate: '2024-02-29',
259
+ },
260
+ {
261
+ id: 'claude-3-sonnet-20240229',
262
+ name: 'Claude 3 Sonnet',
263
+ provider: 'anthropic',
264
+ contextWindow: 200000,
265
+ maxOutputTokens: 4096,
266
+ capabilities: capabilities({
267
+ chat: true,
268
+ vision: true,
269
+ toolCalling: true,
270
+ streaming: true,
271
+ }),
272
+ pricing: {
273
+ inputPerMillion: 3,
274
+ outputPerMillion: 15,
275
+ },
276
+ releaseDate: '2024-02-29',
277
+ },
278
+ {
279
+ id: 'claude-3-haiku-20240307',
280
+ name: 'Claude 3 Haiku',
281
+ provider: 'anthropic',
282
+ contextWindow: 200000,
283
+ maxOutputTokens: 4096,
284
+ capabilities: capabilities({
285
+ chat: true,
286
+ vision: true,
287
+ toolCalling: true,
288
+ streaming: true,
289
+ }),
290
+ pricing: {
291
+ inputPerMillion: 0.25,
292
+ outputPerMillion: 1.25,
293
+ cachedInputPerMillion: 0.03,
294
+ },
295
+ releaseDate: '2024-03-07',
296
+ },
297
+ ];
298
+ /**
299
+ * Google Models
300
+ */
301
+ export const googleModels = [
302
+ {
303
+ id: 'gemini-2.0-flash-exp',
304
+ name: 'Gemini 2.0 Flash',
305
+ provider: 'google',
306
+ contextWindow: 1048576,
307
+ maxOutputTokens: 8192,
308
+ capabilities: capabilities({
309
+ chat: true,
310
+ vision: true,
311
+ toolCalling: true,
312
+ jsonMode: true,
313
+ structuredOutput: true,
314
+ streaming: true,
315
+ audio: true,
316
+ }),
317
+ releaseDate: '2024-12-11',
318
+ },
319
+ {
320
+ id: 'gemini-1.5-pro',
321
+ name: 'Gemini 1.5 Pro',
322
+ provider: 'google',
323
+ contextWindow: 2097152,
324
+ maxOutputTokens: 8192,
325
+ capabilities: capabilities({
326
+ chat: true,
327
+ vision: true,
328
+ toolCalling: true,
329
+ jsonMode: true,
330
+ structuredOutput: true,
331
+ streaming: true,
332
+ audio: true,
333
+ }),
334
+ pricing: {
335
+ inputPerMillion: 1.25,
336
+ outputPerMillion: 5,
337
+ },
338
+ releaseDate: '2024-02-15',
339
+ },
340
+ {
341
+ id: 'gemini-1.5-flash',
342
+ name: 'Gemini 1.5 Flash',
343
+ provider: 'google',
344
+ contextWindow: 1048576,
345
+ maxOutputTokens: 8192,
346
+ capabilities: capabilities({
347
+ chat: true,
348
+ vision: true,
349
+ toolCalling: true,
350
+ jsonMode: true,
351
+ structuredOutput: true,
352
+ streaming: true,
353
+ audio: true,
354
+ }),
355
+ pricing: {
356
+ inputPerMillion: 0.075,
357
+ outputPerMillion: 0.3,
358
+ },
359
+ releaseDate: '2024-05-14',
360
+ },
361
+ {
362
+ id: 'gemini-1.0-pro',
363
+ name: 'Gemini 1.0 Pro',
364
+ provider: 'google',
365
+ contextWindow: 32760,
366
+ maxOutputTokens: 8192,
367
+ capabilities: capabilities({
368
+ chat: true,
369
+ toolCalling: true,
370
+ streaming: true,
371
+ }),
372
+ pricing: {
373
+ inputPerMillion: 0.5,
374
+ outputPerMillion: 1.5,
375
+ },
376
+ releaseDate: '2023-12-06',
377
+ },
378
+ ];
379
+ /**
380
+ * Mistral Models
381
+ */
382
+ export const mistralModels = [
383
+ {
384
+ id: 'mistral-large-latest',
385
+ name: 'Mistral Large',
386
+ provider: 'mistral',
387
+ contextWindow: 128000,
388
+ capabilities: capabilities({
389
+ chat: true,
390
+ vision: true,
391
+ toolCalling: true,
392
+ jsonMode: true,
393
+ streaming: true,
394
+ }),
395
+ pricing: {
396
+ inputPerMillion: 2,
397
+ outputPerMillion: 6,
398
+ },
399
+ },
400
+ {
401
+ id: 'mistral-small-latest',
402
+ name: 'Mistral Small',
403
+ provider: 'mistral',
404
+ contextWindow: 32000,
405
+ capabilities: capabilities({
406
+ chat: true,
407
+ toolCalling: true,
408
+ jsonMode: true,
409
+ streaming: true,
410
+ }),
411
+ pricing: {
412
+ inputPerMillion: 0.2,
413
+ outputPerMillion: 0.6,
414
+ },
415
+ },
416
+ {
417
+ id: 'codestral-latest',
418
+ name: 'Codestral',
419
+ provider: 'mistral',
420
+ contextWindow: 32000,
421
+ capabilities: capabilities({
422
+ chat: true,
423
+ streaming: true,
424
+ }),
425
+ pricing: {
426
+ inputPerMillion: 0.2,
427
+ outputPerMillion: 0.6,
428
+ },
429
+ },
430
+ {
431
+ id: 'open-mistral-nemo',
432
+ name: 'Mistral Nemo',
433
+ provider: 'mistral',
434
+ contextWindow: 128000,
435
+ capabilities: capabilities({
436
+ chat: true,
437
+ toolCalling: true,
438
+ jsonMode: true,
439
+ streaming: true,
440
+ }),
441
+ pricing: {
442
+ inputPerMillion: 0.15,
443
+ outputPerMillion: 0.15,
444
+ },
445
+ },
446
+ ];
447
+ /**
448
+ * Groq Models
449
+ */
450
+ export const groqModels = [
451
+ {
452
+ id: 'llama-3.3-70b-versatile',
453
+ name: 'Llama 3.3 70B',
454
+ provider: 'groq',
455
+ contextWindow: 128000,
456
+ maxOutputTokens: 32768,
457
+ capabilities: capabilities({
458
+ chat: true,
459
+ toolCalling: true,
460
+ jsonMode: true,
461
+ streaming: true,
462
+ }),
463
+ pricing: {
464
+ inputPerMillion: 0.59,
465
+ outputPerMillion: 0.79,
466
+ },
467
+ },
468
+ {
469
+ id: 'llama-3.1-8b-instant',
470
+ name: 'Llama 3.1 8B',
471
+ provider: 'groq',
472
+ contextWindow: 128000,
473
+ maxOutputTokens: 8000,
474
+ capabilities: capabilities({
475
+ chat: true,
476
+ toolCalling: true,
477
+ jsonMode: true,
478
+ streaming: true,
479
+ }),
480
+ pricing: {
481
+ inputPerMillion: 0.05,
482
+ outputPerMillion: 0.08,
483
+ },
484
+ },
485
+ {
486
+ id: 'mixtral-8x7b-32768',
487
+ name: 'Mixtral 8x7B',
488
+ provider: 'groq',
489
+ contextWindow: 32768,
490
+ capabilities: capabilities({
491
+ chat: true,
492
+ streaming: true,
493
+ }),
494
+ pricing: {
495
+ inputPerMillion: 0.24,
496
+ outputPerMillion: 0.24,
497
+ },
498
+ },
499
+ {
500
+ id: 'gemma2-9b-it',
501
+ name: 'Gemma 2 9B',
502
+ provider: 'groq',
503
+ contextWindow: 8192,
504
+ capabilities: capabilities({
505
+ chat: true,
506
+ streaming: true,
507
+ }),
508
+ pricing: {
509
+ inputPerMillion: 0.2,
510
+ outputPerMillion: 0.2,
511
+ },
512
+ },
513
+ ];
514
+ /**
515
+ * DeepSeek Models
516
+ */
517
+ export const deepseekModels = [
518
+ {
519
+ id: 'deepseek-chat',
520
+ name: 'DeepSeek V3',
521
+ provider: 'deepseek',
522
+ contextWindow: 64000,
523
+ maxOutputTokens: 8192,
524
+ capabilities: capabilities({
525
+ chat: true,
526
+ toolCalling: true,
527
+ jsonMode: true,
528
+ streaming: true,
529
+ }),
530
+ pricing: {
531
+ inputPerMillion: 0.27,
532
+ outputPerMillion: 1.1,
533
+ cachedInputPerMillion: 0.07,
534
+ },
535
+ },
536
+ {
537
+ id: 'deepseek-reasoner',
538
+ name: 'DeepSeek R1',
539
+ provider: 'deepseek',
540
+ contextWindow: 64000,
541
+ maxOutputTokens: 8192,
542
+ capabilities: capabilities({
543
+ chat: true,
544
+ streaming: true,
545
+ }),
546
+ pricing: {
547
+ inputPerMillion: 0.55,
548
+ outputPerMillion: 2.19,
549
+ cachedInputPerMillion: 0.14,
550
+ },
551
+ },
552
+ ];
553
+ /**
554
+ * xAI Models
555
+ */
556
+ export const xaiModels = [
557
+ {
558
+ id: 'grok-2-latest',
559
+ name: 'Grok 2',
560
+ provider: 'xai',
561
+ contextWindow: 131072,
562
+ capabilities: capabilities({
563
+ chat: true,
564
+ vision: true,
565
+ toolCalling: true,
566
+ streaming: true,
567
+ }),
568
+ pricing: {
569
+ inputPerMillion: 2,
570
+ outputPerMillion: 10,
571
+ },
572
+ },
573
+ {
574
+ id: 'grok-2-vision-latest',
575
+ name: 'Grok 2 Vision',
576
+ provider: 'xai',
577
+ contextWindow: 32768,
578
+ capabilities: capabilities({
579
+ chat: true,
580
+ vision: true,
581
+ toolCalling: true,
582
+ streaming: true,
583
+ }),
584
+ pricing: {
585
+ inputPerMillion: 2,
586
+ outputPerMillion: 10,
587
+ },
588
+ },
589
+ ];
590
+ /**
591
+ * All models combined
592
+ */
593
+ export const allModels = [
594
+ ...openaiModels,
595
+ ...anthropicModels,
596
+ ...googleModels,
597
+ ...mistralModels,
598
+ ...groqModels,
599
+ ...deepseekModels,
600
+ ...xaiModels,
601
+ ];
602
+ /**
603
+ * Get models by provider
604
+ */
605
+ export function getModelsByProvider(provider) {
606
+ return allModels.filter((m) => m.provider === provider);
607
+ }
608
+ /**
609
+ * Get model by ID
610
+ */
611
+ export function getModelById(id) {
612
+ return allModels.find((m) => m.id === id);
613
+ }
614
+ /**
615
+ * Get models with specific capability
616
+ */
617
+ export function getModelsWithCapability(capability) {
618
+ return allModels.filter((m) => m.capabilities[capability]);
619
+ }
620
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../src/models.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Provider Registry
3
+ * Central registry for managing LLM providers and their configurations
4
+ */
5
+ import type { ProviderId, ProviderConfig, ProviderCredentials, ProviderInstance, ModelMetadata, ModelCapabilities } from './types.js';
6
+ /**
7
+ * Get provider configuration by ID
8
+ */
9
+ export declare function getProvider(id: ProviderId): ProviderConfig;
10
+ /**
11
+ * Get all provider configurations
12
+ */
13
+ export declare function getAllProviders(): ProviderConfig[];
14
+ /**
15
+ * Check if provider credentials are configured from environment
16
+ */
17
+ export declare function isProviderConfigured(id: ProviderId): boolean;
18
+ /**
19
+ * Get credentials from environment for a provider
20
+ */
21
+ export declare function getCredentialsFromEnv(id: ProviderId): ProviderCredentials;
22
+ /**
23
+ * Create a provider instance with credentials
24
+ */
25
+ export declare function createProviderInstance(id: ProviderId, credentials?: ProviderCredentials): ProviderInstance;
26
+ /**
27
+ * Provider registry class for managing multiple providers
28
+ */
29
+ export declare class ProviderRegistry {
30
+ private instances;
31
+ /**
32
+ * Register a provider with credentials
33
+ */
34
+ register(id: ProviderId, credentials?: ProviderCredentials): void;
35
+ /**
36
+ * Register all providers with credentials from environment
37
+ */
38
+ registerFromEnv(): void;
39
+ /**
40
+ * Get a provider instance
41
+ */
42
+ get(id: ProviderId): ProviderInstance | undefined;
43
+ /**
44
+ * Get all registered providers
45
+ */
46
+ getAll(): ProviderInstance[];
47
+ /**
48
+ * Check if a provider is registered
49
+ */
50
+ has(id: ProviderId): boolean;
51
+ /**
52
+ * Find models across all providers with a capability
53
+ */
54
+ findModelsWithCapability(capability: keyof ModelCapabilities): ModelMetadata[];
55
+ /**
56
+ * Find a model by ID across all providers
57
+ */
58
+ findModel(modelId: string): ModelMetadata | undefined;
59
+ }
60
+ /**
61
+ * Default global registry instance
62
+ */
63
+ export declare const defaultRegistry: ProviderRegistry;
64
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAsJpB;;GAEG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,UAAU,GAAG,cAAc,CAM1D;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,cAAc,EAAE,CAKlD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO,CAG5D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,EAAE,EAAE,UAAU,GAAG,mBAAmB,CA0BzE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,UAAU,EACd,WAAW,CAAC,EAAE,mBAAmB,GAChC,gBAAgB,CA0BlB;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAA2C;IAE5D;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,mBAAmB,GAAG,IAAI;IAIjE;;OAEG;IACH,eAAe,IAAI,IAAI;IAQvB;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,UAAU,GAAG,gBAAgB,GAAG,SAAS;IAIjD;;OAEG;IACH,MAAM,IAAI,gBAAgB,EAAE;IAI5B;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,UAAU,GAAG,OAAO;IAI5B;;OAEG;IACH,wBAAwB,CACtB,UAAU,EAAE,MAAM,iBAAiB,GAClC,aAAa,EAAE;IAQlB;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;CAOtD;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,kBAAyB,CAAC"}