aimodels 0.3.10 → 0.3.12

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/index.js CHANGED
@@ -41,6 +41,48 @@ var ModelCollection = class _ModelCollection extends Array {
41
41
  can(...capabilities) {
42
42
  return this.filter((model) => capabilities.every((cap) => model.can.includes(cap)));
43
43
  }
44
+ /**
45
+ * Fluent capability filters for better readability
46
+ * Each method filters models by a specific capability
47
+ */
48
+ // Basic capabilities
49
+ canChat() {
50
+ return this.can("chat");
51
+ }
52
+ canReason() {
53
+ return this.can("reason");
54
+ }
55
+ // Text capabilities
56
+ canRead() {
57
+ return this.can("txt-in");
58
+ }
59
+ canWrite() {
60
+ return this.can("txt-out");
61
+ }
62
+ // Image capabilities
63
+ canSee() {
64
+ return this.can("img-in");
65
+ }
66
+ canGenerateImages() {
67
+ return this.can("img-out");
68
+ }
69
+ // Audio capabilities
70
+ canHear() {
71
+ return this.can("audio-in");
72
+ }
73
+ canSpeak() {
74
+ return this.can("audio-out");
75
+ }
76
+ // Output capabilities
77
+ canOutputJSON() {
78
+ return this.can("json-out");
79
+ }
80
+ canCallFunctions() {
81
+ return this.can("fn-out");
82
+ }
83
+ canGenerateEmbeddings() {
84
+ return this.can("vec-out");
85
+ }
44
86
  /** Filter models by one or more languages (all must be supported) */
45
87
  know(...languages) {
46
88
  return this.filter((model) => languages.every((lang) => model.languages?.includes(lang)));
@@ -88,6 +130,9 @@ var ModelCollection = class _ModelCollection extends Array {
88
130
  getProviders() {
89
131
  return [...new Set(this.flatMap((model) => model.providers))];
90
132
  }
133
+ getCreators() {
134
+ return [...new Set(this.map((model) => model.creator))];
135
+ }
91
136
  };
92
137
 
93
138
  // src/data/models/openai-models.json
@@ -104,10 +149,10 @@ var openai_models_default = {
104
149
  ],
105
150
  can: [
106
151
  "chat",
107
- "text-in",
108
- "text-out",
152
+ "txt-in",
153
+ "txt-out",
109
154
  "json-out",
110
- "function-out"
155
+ "fn-out"
111
156
  ],
112
157
  context: {
113
158
  type: "token",
@@ -137,10 +182,10 @@ var openai_models_default = {
137
182
  ],
138
183
  can: [
139
184
  "chat",
140
- "text-in",
141
- "text-out",
185
+ "txt-in",
186
+ "txt-out",
142
187
  "json-out",
143
- "function-out"
188
+ "fn-out"
144
189
  ],
145
190
  context: {
146
191
  type: "token",
@@ -169,8 +214,8 @@ var openai_models_default = {
169
214
  "azure"
170
215
  ],
171
216
  can: [
172
- "text-in",
173
- "text-out"
217
+ "txt-in",
218
+ "txt-out"
174
219
  ],
175
220
  context: {
176
221
  type: "token",
@@ -188,11 +233,11 @@ var openai_models_default = {
188
233
  ],
189
234
  can: [
190
235
  "chat",
191
- "text-in",
192
- "text-out",
236
+ "txt-in",
237
+ "txt-out",
193
238
  "img-in",
194
239
  "json-out",
195
- "function-out"
240
+ "fn-out"
196
241
  ],
197
242
  context: {
198
243
  type: "token",
@@ -252,11 +297,11 @@ var openai_models_default = {
252
297
  name: "GPT-4o Audio",
253
298
  can: [
254
299
  "chat",
255
- "text-in",
256
- "text-out",
257
- "sound-in",
300
+ "txt-in",
301
+ "txt-out",
302
+ "audio-in",
258
303
  "json-out",
259
- "function-out"
304
+ "fn-out"
260
305
  ],
261
306
  context: {
262
307
  type: "token",
@@ -286,12 +331,12 @@ var openai_models_default = {
286
331
  name: "GPT-4o Mini Audio",
287
332
  can: [
288
333
  "chat",
289
- "text-in",
290
- "text-out",
291
- "sound-in",
292
- "sound-out",
334
+ "txt-in",
335
+ "txt-out",
336
+ "audio-in",
337
+ "audio-out",
293
338
  "json-out",
294
- "function-out"
339
+ "fn-out"
295
340
  ],
296
341
  context: {
297
342
  type: "token",
@@ -314,11 +359,11 @@ var openai_models_default = {
314
359
  name: "GPT-4o Realtime",
315
360
  can: [
316
361
  "chat",
317
- "text-in",
318
- "text-out",
319
- "sound-in",
362
+ "txt-in",
363
+ "txt-out",
364
+ "audio-in",
320
365
  "json-out",
321
- "function-out"
366
+ "fn-out"
322
367
  ],
323
368
  context: {
324
369
  type: "token",
@@ -348,11 +393,11 @@ var openai_models_default = {
348
393
  name: "GPT-4o Mini Realtime",
349
394
  can: [
350
395
  "chat",
351
- "text-in",
352
- "text-out",
353
- "sound-in",
396
+ "txt-in",
397
+ "txt-out",
398
+ "audio-in",
354
399
  "json-out",
355
- "function-out"
400
+ "fn-out"
356
401
  ],
357
402
  context: {
358
403
  type: "token",
@@ -378,11 +423,11 @@ var openai_models_default = {
378
423
  ],
379
424
  can: [
380
425
  "chat",
381
- "text-in",
382
- "text-out",
426
+ "txt-in",
427
+ "txt-out",
383
428
  "img-in",
384
429
  "json-out",
385
- "function-out",
430
+ "fn-out",
386
431
  "reason"
387
432
  ],
388
433
  context: {
@@ -405,10 +450,10 @@ var openai_models_default = {
405
450
  name: "OpenAI O1 Mini",
406
451
  can: [
407
452
  "chat",
408
- "text-in",
409
- "text-out",
453
+ "txt-in",
454
+ "txt-out",
410
455
  "json-out",
411
- "function-out",
456
+ "fn-out",
412
457
  "reason"
413
458
  ],
414
459
  context: {
@@ -454,10 +499,10 @@ var openai_models_default = {
454
499
  ],
455
500
  can: [
456
501
  "chat",
457
- "text-in",
458
- "text-out",
502
+ "txt-in",
503
+ "txt-out",
459
504
  "json-out",
460
- "function-out",
505
+ "fn-out",
461
506
  "reason"
462
507
  ],
463
508
  context: {
@@ -482,8 +527,8 @@ var openai_models_default = {
482
527
  "azure"
483
528
  ],
484
529
  can: [
485
- "sound-in",
486
- "text-out"
530
+ "audio-in",
531
+ "txt-out"
487
532
  ],
488
533
  context: {
489
534
  type: "audio-in",
@@ -500,8 +545,8 @@ var openai_models_default = {
500
545
  "azure"
501
546
  ],
502
547
  can: [
503
- "text-in",
504
- "sound-out"
548
+ "txt-in",
549
+ "audio-out"
505
550
  ],
506
551
  context: {
507
552
  type: "audio-out",
@@ -548,7 +593,7 @@ var openai_models_default = {
548
593
  "azure"
549
594
  ],
550
595
  can: [
551
- "text-in",
596
+ "txt-in",
552
597
  "img-out"
553
598
  ],
554
599
  context: {
@@ -573,8 +618,8 @@ var openai_models_default = {
573
618
  "azure"
574
619
  ],
575
620
  can: [
576
- "text-in",
577
- "vectors-out"
621
+ "txt-in",
622
+ "vec-out"
578
623
  ],
579
624
  context: {
580
625
  type: "embedding",
@@ -594,8 +639,8 @@ var openai_models_default = {
594
639
  "azure"
595
640
  ],
596
641
  can: [
597
- "text-in",
598
- "vectors-out"
642
+ "txt-in",
643
+ "vec-out"
599
644
  ],
600
645
  context: {
601
646
  type: "embedding",
@@ -615,8 +660,8 @@ var openai_models_default = {
615
660
  "azure"
616
661
  ],
617
662
  can: [
618
- "text-in",
619
- "vectors-out"
663
+ "txt-in",
664
+ "vec-out"
620
665
  ],
621
666
  context: {
622
667
  type: "embedding",
@@ -641,11 +686,11 @@ var anthropic_models_default = {
641
686
  providers: ["anthropic", "aws", "google"],
642
687
  can: [
643
688
  "chat",
644
- "text-in",
645
- "text-out",
689
+ "txt-in",
690
+ "txt-out",
646
691
  "img-in",
647
692
  "json-out",
648
- "function-out"
693
+ "fn-out"
649
694
  ],
650
695
  context: {
651
696
  type: "token",
@@ -662,11 +707,11 @@ var anthropic_models_default = {
662
707
  providers: ["anthropic", "aws", "google"],
663
708
  can: [
664
709
  "chat",
665
- "text-in",
666
- "text-out",
710
+ "txt-in",
711
+ "txt-out",
667
712
  "img-in",
668
713
  "json-out",
669
- "function-out"
714
+ "fn-out"
670
715
  ],
671
716
  context: {
672
717
  type: "token",
@@ -683,11 +728,11 @@ var anthropic_models_default = {
683
728
  providers: ["anthropic", "aws", "google"],
684
729
  can: [
685
730
  "chat",
686
- "text-in",
687
- "text-out",
731
+ "txt-in",
732
+ "txt-out",
688
733
  "img-in",
689
734
  "json-out",
690
- "function-out"
735
+ "fn-out"
691
736
  ],
692
737
  context: {
693
738
  type: "token",
@@ -704,11 +749,11 @@ var anthropic_models_default = {
704
749
  providers: ["anthropic", "aws", "google"],
705
750
  can: [
706
751
  "chat",
707
- "text-in",
708
- "text-out",
752
+ "txt-in",
753
+ "txt-out",
709
754
  "img-in",
710
755
  "json-out",
711
- "function-out"
756
+ "fn-out"
712
757
  ],
713
758
  context: {
714
759
  type: "token",
@@ -725,11 +770,11 @@ var anthropic_models_default = {
725
770
  providers: ["anthropic", "aws", "google"],
726
771
  can: [
727
772
  "chat",
728
- "text-in",
729
- "text-out",
773
+ "txt-in",
774
+ "txt-out",
730
775
  "img-in",
731
776
  "json-out",
732
- "function-out"
777
+ "fn-out"
733
778
  ],
734
779
  context: {
735
780
  type: "token",
@@ -745,10 +790,10 @@ var anthropic_models_default = {
745
790
  providers: ["anthropic", "aws", "google"],
746
791
  can: [
747
792
  "chat",
748
- "text-in",
749
- "text-out",
793
+ "txt-in",
794
+ "txt-out",
750
795
  "json-out",
751
- "function-out"
796
+ "fn-out"
752
797
  ],
753
798
  context: {
754
799
  type: "token",
@@ -765,11 +810,11 @@ var anthropic_models_default = {
765
810
  providers: ["anthropic", "aws", "google"],
766
811
  can: [
767
812
  "chat",
768
- "text-in",
769
- "text-out",
813
+ "txt-in",
814
+ "txt-out",
770
815
  "img-in",
771
816
  "json-out",
772
- "function-out",
817
+ "fn-out",
773
818
  "reason"
774
819
  ],
775
820
  context: {
@@ -800,7 +845,7 @@ var meta_models_default = {
800
845
  name: "Llama 3 70B",
801
846
  license: "llama-3-community",
802
847
  providers: ["groq"],
803
- can: ["chat", "text-in", "text-out", "json-out", "function-out"],
848
+ can: ["chat", "txt-in", "txt-out", "json-out", "fn-out"],
804
849
  context: {
805
850
  type: "token",
806
851
  total: 8192,
@@ -812,7 +857,7 @@ var meta_models_default = {
812
857
  name: "Llama 3 8B",
813
858
  license: "llama-3-community",
814
859
  providers: ["groq"],
815
- can: ["chat", "text-in", "text-out", "json-out", "function-out"],
860
+ can: ["chat", "txt-in", "txt-out", "json-out", "fn-out"],
816
861
  context: {
817
862
  type: "token",
818
863
  total: 8192,
@@ -824,7 +869,7 @@ var meta_models_default = {
824
869
  name: "Llama 3.2 11B Vision",
825
870
  license: "llama-3-community",
826
871
  providers: ["groq"],
827
- can: ["chat", "text-in", "text-out", "img-in"],
872
+ can: ["chat", "txt-in", "txt-out", "img-in"],
828
873
  context: {
829
874
  type: "token",
830
875
  total: 4096,
@@ -836,7 +881,7 @@ var meta_models_default = {
836
881
  name: "Llama 3.2 90B Vision",
837
882
  license: "llama-3-community",
838
883
  providers: ["groq"],
839
- can: ["chat", "text-in", "text-out", "img-in"],
884
+ can: ["chat", "txt-in", "txt-out", "img-in"],
840
885
  context: {
841
886
  type: "token",
842
887
  total: 4096,
@@ -848,7 +893,7 @@ var meta_models_default = {
848
893
  name: "LlamaGuard 3 8B",
849
894
  license: "llama-3-community",
850
895
  providers: ["groq"],
851
- can: ["chat", "text-in", "text-out"],
896
+ can: ["chat", "txt-in", "txt-out"],
852
897
  context: {
853
898
  type: "token",
854
899
  total: 4096,
@@ -869,10 +914,10 @@ var mistral_models_default = {
869
914
  providers: ["mistral", "azure"],
870
915
  can: [
871
916
  "chat",
872
- "text-in",
873
- "text-out",
917
+ "txt-in",
918
+ "txt-out",
874
919
  "json-out",
875
- "function-out"
920
+ "fn-out"
876
921
  ],
877
922
  context: {
878
923
  type: "token",
@@ -887,10 +932,10 @@ var mistral_models_default = {
887
932
  providers: ["mistral", "azure"],
888
933
  can: [
889
934
  "chat",
890
- "text-in",
891
- "text-out",
935
+ "txt-in",
936
+ "txt-out",
892
937
  "json-out",
893
- "function-out"
938
+ "fn-out"
894
939
  ],
895
940
  context: {
896
941
  type: "token",
@@ -905,8 +950,8 @@ var mistral_models_default = {
905
950
  providers: ["mistral"],
906
951
  can: [
907
952
  "chat",
908
- "text-in",
909
- "text-out"
953
+ "txt-in",
954
+ "txt-out"
910
955
  ],
911
956
  context: {
912
957
  type: "token",
@@ -921,8 +966,8 @@ var mistral_models_default = {
921
966
  providers: ["mistral", "groq"],
922
967
  can: [
923
968
  "chat",
924
- "text-in",
925
- "text-out"
969
+ "txt-in",
970
+ "txt-out"
926
971
  ],
927
972
  context: {
928
973
  type: "token",
@@ -937,8 +982,8 @@ var mistral_models_default = {
937
982
  providers: ["mistral", "groq"],
938
983
  can: [
939
984
  "chat",
940
- "text-in",
941
- "text-out"
985
+ "txt-in",
986
+ "txt-out"
942
987
  ],
943
988
  context: {
944
989
  type: "token",
@@ -958,7 +1003,7 @@ var google_models_default = {
958
1003
  name: "Gemini 2.0 Flash",
959
1004
  license: "proprietary",
960
1005
  providers: ["google"],
961
- can: ["chat", "text-in", "text-out", "json-out", "function-out", "img-in", "sound-in", "reason"],
1006
+ can: ["chat", "txt-in", "txt-out", "json-out", "fn-out", "img-in", "audio-in", "reason"],
962
1007
  context: {
963
1008
  type: "token",
964
1009
  total: 1048576,
@@ -971,7 +1016,7 @@ var google_models_default = {
971
1016
  name: "Gemini 2.0 Flash Lite",
972
1017
  license: "proprietary",
973
1018
  providers: ["google"],
974
- can: ["chat", "text-in", "text-out", "json-out", "function-out", "img-in", "sound-in"],
1019
+ can: ["chat", "txt-in", "txt-out", "json-out", "fn-out", "img-in", "audio-in"],
975
1020
  context: {
976
1021
  type: "token",
977
1022
  total: 1048576,
@@ -984,7 +1029,7 @@ var google_models_default = {
984
1029
  name: "Gemini 1.5 Flash",
985
1030
  license: "proprietary",
986
1031
  providers: ["google"],
987
- can: ["chat", "text-in", "text-out", "json-out", "function-out", "img-in", "sound-in"],
1032
+ can: ["chat", "txt-in", "txt-out", "json-out", "fn-out", "img-in", "audio-in"],
988
1033
  context: {
989
1034
  type: "token",
990
1035
  total: 2097152,
@@ -996,7 +1041,7 @@ var google_models_default = {
996
1041
  name: "Gemini 1.5 Flash 8B",
997
1042
  license: "proprietary",
998
1043
  providers: ["google"],
999
- can: ["chat", "text-in", "text-out", "json-out", "function-out", "img-in", "sound-in"],
1044
+ can: ["chat", "txt-in", "txt-out", "json-out", "fn-out", "img-in", "audio-in"],
1000
1045
  context: {
1001
1046
  type: "token",
1002
1047
  total: 2097152,
@@ -1008,7 +1053,7 @@ var google_models_default = {
1008
1053
  name: "Gemini 1.5 Pro",
1009
1054
  license: "proprietary",
1010
1055
  providers: ["google"],
1011
- can: ["chat", "text-in", "text-out", "json-out", "function-out", "img-in", "sound-in", "reason"],
1056
+ can: ["chat", "txt-in", "txt-out", "json-out", "fn-out", "img-in", "audio-in", "reason"],
1012
1057
  context: {
1013
1058
  type: "token",
1014
1059
  total: 2097152,
@@ -1021,7 +1066,7 @@ var google_models_default = {
1021
1066
  name: "Text Embedding 004",
1022
1067
  license: "proprietary",
1023
1068
  providers: ["google"],
1024
- can: ["text-in", "vectors-out"],
1069
+ can: ["txt-in", "vec-out"],
1025
1070
  context: {
1026
1071
  type: "token",
1027
1072
  total: 2048,
@@ -1033,7 +1078,7 @@ var google_models_default = {
1033
1078
  name: "Gemma 7B Instruct",
1034
1079
  license: "apache-2.0",
1035
1080
  providers: ["google"],
1036
- can: ["chat", "text-in", "text-out", "json-out", "function-out"],
1081
+ can: ["chat", "txt-in", "txt-out", "json-out", "fn-out"],
1037
1082
  context: {
1038
1083
  type: "token",
1039
1084
  total: 8192,
@@ -1045,7 +1090,7 @@ var google_models_default = {
1045
1090
  name: "Gemma 2B Instruct",
1046
1091
  license: "apache-2.0",
1047
1092
  providers: ["google"],
1048
- can: ["chat", "text-in", "text-out", "json-out", "function-out"],
1093
+ can: ["chat", "txt-in", "txt-out", "json-out", "fn-out"],
1049
1094
  context: {
1050
1095
  type: "token",
1051
1096
  total: 8192,
@@ -1066,10 +1111,10 @@ var deepseek_models_default = {
1066
1111
  providers: ["deepseek"],
1067
1112
  can: [
1068
1113
  "chat",
1069
- "text-in",
1070
- "text-out",
1114
+ "txt-in",
1115
+ "txt-out",
1071
1116
  "json-out",
1072
- "function-out"
1117
+ "fn-out"
1073
1118
  ],
1074
1119
  context: {
1075
1120
  type: "token",
@@ -1084,10 +1129,10 @@ var deepseek_models_default = {
1084
1129
  providers: ["deepseek"],
1085
1130
  can: [
1086
1131
  "chat",
1087
- "text-in",
1088
- "text-out",
1132
+ "txt-in",
1133
+ "txt-out",
1089
1134
  "json-out",
1090
- "function-out",
1135
+ "fn-out",
1091
1136
  "reason"
1092
1137
  ],
1093
1138
  context: {
@@ -1109,7 +1154,7 @@ var xai_models_default = {
1109
1154
  creator: "xai",
1110
1155
  license: "proprietary",
1111
1156
  providers: ["xai"],
1112
- can: ["chat", "text-in", "text-out", "img-in"],
1157
+ can: ["chat", "txt-in", "txt-out", "img-in"],
1113
1158
  context: {
1114
1159
  type: "token",
1115
1160
  total: 32768,
@@ -1123,7 +1168,7 @@ var xai_models_default = {
1123
1168
  creator: "xai",
1124
1169
  license: "proprietary",
1125
1170
  providers: ["xai"],
1126
- can: ["chat", "text-in", "text-out"],
1171
+ can: ["chat", "txt-in", "txt-out"],
1127
1172
  context: {
1128
1173
  type: "token",
1129
1174
  total: 131072,
@@ -1137,7 +1182,7 @@ var xai_models_default = {
1137
1182
  creator: "xai",
1138
1183
  license: "proprietary",
1139
1184
  providers: ["xai"],
1140
- can: ["chat", "text-in", "text-out", "img-in"],
1185
+ can: ["chat", "txt-in", "txt-out", "img-in"],
1141
1186
  context: {
1142
1187
  type: "token",
1143
1188
  total: 8192,
@@ -1150,7 +1195,7 @@ var xai_models_default = {
1150
1195
  creator: "xai",
1151
1196
  license: "proprietary",
1152
1197
  providers: ["xai"],
1153
- can: ["chat", "text-in", "text-out"],
1198
+ can: ["chat", "txt-in", "txt-out"],
1154
1199
  context: {
1155
1200
  type: "token",
1156
1201
  total: 131072,
@@ -1174,9 +1219,10 @@ var cohere_models_default = {
1174
1219
  ],
1175
1220
  can: [
1176
1221
  "chat",
1177
- "text-in",
1178
- "text-out",
1179
- "function-out"
1222
+ "txt-in",
1223
+ "txt-out",
1224
+ "json-out",
1225
+ "fn-out"
1180
1226
  ],
1181
1227
  context: {
1182
1228
  type: "token",
@@ -1197,9 +1243,10 @@ var cohere_models_default = {
1197
1243
  ],
1198
1244
  can: [
1199
1245
  "chat",
1200
- "text-in",
1201
- "text-out",
1202
- "function-out"
1246
+ "txt-in",
1247
+ "txt-out",
1248
+ "json-out",
1249
+ "fn-out"
1203
1250
  ],
1204
1251
  context: {
1205
1252
  type: "token",
@@ -1223,10 +1270,11 @@ var cohere_models_default = {
1223
1270
  ],
1224
1271
  can: [
1225
1272
  "chat",
1226
- "text-in",
1227
- "text-out",
1273
+ "txt-in",
1274
+ "txt-out",
1228
1275
  "reason",
1229
- "function-out"
1276
+ "json-out",
1277
+ "fn-out"
1230
1278
  ],
1231
1279
  context: {
1232
1280
  type: "token",
@@ -1249,8 +1297,8 @@ var cohere_models_default = {
1249
1297
  ],
1250
1298
  can: [
1251
1299
  "chat",
1252
- "text-in",
1253
- "text-out"
1300
+ "txt-in",
1301
+ "txt-out"
1254
1302
  ],
1255
1303
  context: {
1256
1304
  type: "token",
@@ -1270,8 +1318,8 @@ var cohere_models_default = {
1270
1318
  ],
1271
1319
  can: [
1272
1320
  "chat",
1273
- "text-in",
1274
- "text-out"
1321
+ "txt-in",
1322
+ "txt-out"
1275
1323
  ],
1276
1324
  context: {
1277
1325
  type: "token",
@@ -1291,9 +1339,9 @@ var cohere_models_default = {
1291
1339
  "oracle"
1292
1340
  ],
1293
1341
  can: [
1294
- "text-in",
1342
+ "txt-in",
1295
1343
  "img-in",
1296
- "vectors-out"
1344
+ "vec-out"
1297
1345
  ],
1298
1346
  context: {
1299
1347
  type: "token",
@@ -1311,9 +1359,9 @@ var cohere_models_default = {
1311
1359
  "oracle"
1312
1360
  ],
1313
1361
  can: [
1314
- "text-in",
1362
+ "txt-in",
1315
1363
  "img-in",
1316
- "vectors-out"
1364
+ "vec-out"
1317
1365
  ],
1318
1366
  context: {
1319
1367
  type: "token",
@@ -1333,9 +1381,9 @@ var cohere_models_default = {
1333
1381
  "oracle"
1334
1382
  ],
1335
1383
  can: [
1336
- "text-in",
1384
+ "txt-in",
1337
1385
  "img-in",
1338
- "vectors-out"
1386
+ "vec-out"
1339
1387
  ],
1340
1388
  context: {
1341
1389
  type: "token",
@@ -1353,9 +1401,9 @@ var cohere_models_default = {
1353
1401
  "oracle"
1354
1402
  ],
1355
1403
  can: [
1356
- "text-in",
1404
+ "txt-in",
1357
1405
  "img-in",
1358
- "vectors-out"
1406
+ "vec-out"
1359
1407
  ],
1360
1408
  context: {
1361
1409
  type: "token",
@@ -1374,8 +1422,8 @@ var cohere_models_default = {
1374
1422
  "azure"
1375
1423
  ],
1376
1424
  can: [
1377
- "text-in",
1378
- "text-out"
1425
+ "txt-in",
1426
+ "txt-out"
1379
1427
  ],
1380
1428
  context: {
1381
1429
  type: "token",
@@ -1393,8 +1441,8 @@ var cohere_models_default = {
1393
1441
  "azure"
1394
1442
  ],
1395
1443
  can: [
1396
- "text-in",
1397
- "text-out"
1444
+ "txt-in",
1445
+ "txt-out"
1398
1446
  ],
1399
1447
  context: {
1400
1448
  type: "token",
@@ -1412,8 +1460,8 @@ var cohere_models_default = {
1412
1460
  "azure"
1413
1461
  ],
1414
1462
  can: [
1415
- "text-in",
1416
- "text-out"
1463
+ "txt-in",
1464
+ "txt-out"
1417
1465
  ],
1418
1466
  context: {
1419
1467
  type: "token",
@@ -1461,15 +1509,15 @@ function validateModel(raw) {
1461
1509
  const validCapabilities = [
1462
1510
  "chat",
1463
1511
  "reason",
1464
- "text-in",
1465
- "text-out",
1512
+ "txt-in",
1513
+ "txt-out",
1466
1514
  "img-in",
1467
1515
  "img-out",
1468
- "sound-in",
1469
- "sound-out",
1516
+ "audio-in",
1517
+ "audio-out",
1470
1518
  "json-out",
1471
- "function-out",
1472
- "vectors-out"
1519
+ "fn-out",
1520
+ "vec-out"
1473
1521
  ];
1474
1522
  if (!model.can.every((c) => validCapabilities.includes(c))) {
1475
1523
  throw new Error(`Model has invalid capabilities: ${model.can.join(", ")}`);
@@ -2069,6 +2117,62 @@ var groq_provider_default = {
2069
2117
  }
2070
2118
  };
2071
2119
 
2120
+ // src/data/providers/azure-provider.json
2121
+ var azure_provider_default = {
2122
+ id: "azure",
2123
+ name: "Azure OpenAI",
2124
+ websiteUrl: "https://azure.microsoft.com/en-us/products/ai-services/openai-service",
2125
+ apiUrl: "https://learn.microsoft.com/en-us/azure/ai-services/openai/reference",
2126
+ defaultModel: "gpt-4",
2127
+ models: {
2128
+ "gpt-4": {
2129
+ type: "token",
2130
+ input: 0,
2131
+ output: 0
2132
+ },
2133
+ "gpt-4-32k": {
2134
+ type: "token",
2135
+ input: 0,
2136
+ output: 0
2137
+ },
2138
+ "gpt-4-vision": {
2139
+ type: "token",
2140
+ input: 0,
2141
+ output: 0
2142
+ },
2143
+ "gpt-4o": {
2144
+ type: "token",
2145
+ input: 0,
2146
+ output: 0
2147
+ },
2148
+ "gpt-3.5-turbo": {
2149
+ type: "token",
2150
+ input: 0,
2151
+ output: 0
2152
+ },
2153
+ "gpt-3.5-turbo-16k": {
2154
+ type: "token",
2155
+ input: 0,
2156
+ output: 0
2157
+ },
2158
+ "text-embedding-ada-002": {
2159
+ type: "token",
2160
+ input: 0,
2161
+ output: 0
2162
+ },
2163
+ whisper: {
2164
+ type: "minute",
2165
+ price: 0
2166
+ },
2167
+ "dall-e-3": {
2168
+ type: "image",
2169
+ price: 0,
2170
+ size: "1024x1024",
2171
+ unit: "per_image"
2172
+ }
2173
+ }
2174
+ };
2175
+
2072
2176
  // src/builders/providers.ts
2073
2177
  function isTokenPrice(price) {
2074
2178
  return typeof price === "object" && price !== null && "type" in price && price.type === "token" && "input" in price && typeof price.input === "number" && "output" in price && typeof price.output === "number";
@@ -2128,7 +2232,8 @@ function buildAllProviders() {
2128
2232
  validateProvider(xai_provider_default),
2129
2233
  validateProvider(google_provider_default),
2130
2234
  validateProvider(deepseek_provider_default),
2131
- validateProvider(groq_provider_default)
2235
+ validateProvider(groq_provider_default),
2236
+ validateProvider(azure_provider_default)
2132
2237
  ];
2133
2238
  }
2134
2239
  function buildProvidersData() {