aimodels 0.3.9 → 0.3.11

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.mjs CHANGED
@@ -12,6 +12,48 @@ var ModelCollection = class _ModelCollection extends Array {
12
12
  can(...capabilities) {
13
13
  return this.filter((model) => capabilities.every((cap) => model.can.includes(cap)));
14
14
  }
15
+ /**
16
+ * Fluent capability filters for better readability
17
+ * Each method filters models by a specific capability
18
+ */
19
+ // Basic capabilities
20
+ canChat() {
21
+ return this.can("chat");
22
+ }
23
+ canReason() {
24
+ return this.can("reason");
25
+ }
26
+ // Text capabilities
27
+ canRead() {
28
+ return this.can("txt-in");
29
+ }
30
+ canWrite() {
31
+ return this.can("txt-out");
32
+ }
33
+ // Image capabilities
34
+ canSee() {
35
+ return this.can("img-in");
36
+ }
37
+ canGenerateImages() {
38
+ return this.can("img-out");
39
+ }
40
+ // Audio capabilities
41
+ canHear() {
42
+ return this.can("audio-in");
43
+ }
44
+ canSpeak() {
45
+ return this.can("audio-out");
46
+ }
47
+ // Output capabilities
48
+ canOutputJSON() {
49
+ return this.can("json-out");
50
+ }
51
+ canCallFunctions() {
52
+ return this.can("fn-out");
53
+ }
54
+ canGenerateEmbeddings() {
55
+ return this.can("vec-out");
56
+ }
15
57
  /** Filter models by one or more languages (all must be supported) */
16
58
  know(...languages) {
17
59
  return this.filter((model) => languages.every((lang) => model.languages?.includes(lang)));
@@ -55,6 +97,13 @@ var ModelCollection = class _ModelCollection extends Array {
55
97
  return context.total >= tokens;
56
98
  });
57
99
  }
100
+ /** Get all providers from all models in the collection deduplicated */
101
+ getProviders() {
102
+ return [...new Set(this.flatMap((model) => model.providers))];
103
+ }
104
+ getCreators() {
105
+ return [...new Set(this.map((model) => model.creator))];
106
+ }
58
107
  };
59
108
 
60
109
  // src/data/models/openai-models.json
@@ -71,10 +120,10 @@ var openai_models_default = {
71
120
  ],
72
121
  can: [
73
122
  "chat",
74
- "text-in",
75
- "text-out",
123
+ "txt-in",
124
+ "txt-out",
76
125
  "json-out",
77
- "function-out"
126
+ "fn-out"
78
127
  ],
79
128
  context: {
80
129
  type: "token",
@@ -104,10 +153,10 @@ var openai_models_default = {
104
153
  ],
105
154
  can: [
106
155
  "chat",
107
- "text-in",
108
- "text-out",
156
+ "txt-in",
157
+ "txt-out",
109
158
  "json-out",
110
- "function-out"
159
+ "fn-out"
111
160
  ],
112
161
  context: {
113
162
  type: "token",
@@ -136,8 +185,8 @@ var openai_models_default = {
136
185
  "azure"
137
186
  ],
138
187
  can: [
139
- "text-in",
140
- "text-out"
188
+ "txt-in",
189
+ "txt-out"
141
190
  ],
142
191
  context: {
143
192
  type: "token",
@@ -155,11 +204,11 @@ var openai_models_default = {
155
204
  ],
156
205
  can: [
157
206
  "chat",
158
- "text-in",
159
- "text-out",
207
+ "txt-in",
208
+ "txt-out",
160
209
  "img-in",
161
210
  "json-out",
162
- "function-out"
211
+ "fn-out"
163
212
  ],
164
213
  context: {
165
214
  type: "token",
@@ -219,11 +268,11 @@ var openai_models_default = {
219
268
  name: "GPT-4o Audio",
220
269
  can: [
221
270
  "chat",
222
- "text-in",
223
- "text-out",
224
- "sound-in",
271
+ "txt-in",
272
+ "txt-out",
273
+ "audio-in",
225
274
  "json-out",
226
- "function-out"
275
+ "fn-out"
227
276
  ],
228
277
  context: {
229
278
  type: "token",
@@ -253,12 +302,12 @@ var openai_models_default = {
253
302
  name: "GPT-4o Mini Audio",
254
303
  can: [
255
304
  "chat",
256
- "text-in",
257
- "text-out",
258
- "sound-in",
259
- "sound-out",
305
+ "txt-in",
306
+ "txt-out",
307
+ "audio-in",
308
+ "audio-out",
260
309
  "json-out",
261
- "function-out"
310
+ "fn-out"
262
311
  ],
263
312
  context: {
264
313
  type: "token",
@@ -281,11 +330,11 @@ var openai_models_default = {
281
330
  name: "GPT-4o Realtime",
282
331
  can: [
283
332
  "chat",
284
- "text-in",
285
- "text-out",
286
- "sound-in",
333
+ "txt-in",
334
+ "txt-out",
335
+ "audio-in",
287
336
  "json-out",
288
- "function-out"
337
+ "fn-out"
289
338
  ],
290
339
  context: {
291
340
  type: "token",
@@ -315,11 +364,11 @@ var openai_models_default = {
315
364
  name: "GPT-4o Mini Realtime",
316
365
  can: [
317
366
  "chat",
318
- "text-in",
319
- "text-out",
320
- "sound-in",
367
+ "txt-in",
368
+ "txt-out",
369
+ "audio-in",
321
370
  "json-out",
322
- "function-out"
371
+ "fn-out"
323
372
  ],
324
373
  context: {
325
374
  type: "token",
@@ -345,11 +394,11 @@ var openai_models_default = {
345
394
  ],
346
395
  can: [
347
396
  "chat",
348
- "text-in",
349
- "text-out",
397
+ "txt-in",
398
+ "txt-out",
350
399
  "img-in",
351
400
  "json-out",
352
- "function-out",
401
+ "fn-out",
353
402
  "reason"
354
403
  ],
355
404
  context: {
@@ -372,10 +421,10 @@ var openai_models_default = {
372
421
  name: "OpenAI O1 Mini",
373
422
  can: [
374
423
  "chat",
375
- "text-in",
376
- "text-out",
424
+ "txt-in",
425
+ "txt-out",
377
426
  "json-out",
378
- "function-out",
427
+ "fn-out",
379
428
  "reason"
380
429
  ],
381
430
  context: {
@@ -421,10 +470,10 @@ var openai_models_default = {
421
470
  ],
422
471
  can: [
423
472
  "chat",
424
- "text-in",
425
- "text-out",
473
+ "txt-in",
474
+ "txt-out",
426
475
  "json-out",
427
- "function-out",
476
+ "fn-out",
428
477
  "reason"
429
478
  ],
430
479
  context: {
@@ -449,8 +498,8 @@ var openai_models_default = {
449
498
  "azure"
450
499
  ],
451
500
  can: [
452
- "sound-in",
453
- "text-out"
501
+ "audio-in",
502
+ "txt-out"
454
503
  ],
455
504
  context: {
456
505
  type: "audio-in",
@@ -467,8 +516,8 @@ var openai_models_default = {
467
516
  "azure"
468
517
  ],
469
518
  can: [
470
- "text-in",
471
- "sound-out"
519
+ "txt-in",
520
+ "audio-out"
472
521
  ],
473
522
  context: {
474
523
  type: "audio-out",
@@ -515,7 +564,7 @@ var openai_models_default = {
515
564
  "azure"
516
565
  ],
517
566
  can: [
518
- "text-in",
567
+ "txt-in",
519
568
  "img-out"
520
569
  ],
521
570
  context: {
@@ -540,8 +589,8 @@ var openai_models_default = {
540
589
  "azure"
541
590
  ],
542
591
  can: [
543
- "text-in",
544
- "vectors-out"
592
+ "txt-in",
593
+ "vec-out"
545
594
  ],
546
595
  context: {
547
596
  type: "embedding",
@@ -561,8 +610,8 @@ var openai_models_default = {
561
610
  "azure"
562
611
  ],
563
612
  can: [
564
- "text-in",
565
- "vectors-out"
613
+ "txt-in",
614
+ "vec-out"
566
615
  ],
567
616
  context: {
568
617
  type: "embedding",
@@ -582,8 +631,8 @@ var openai_models_default = {
582
631
  "azure"
583
632
  ],
584
633
  can: [
585
- "text-in",
586
- "vectors-out"
634
+ "txt-in",
635
+ "vec-out"
587
636
  ],
588
637
  context: {
589
638
  type: "embedding",
@@ -608,11 +657,11 @@ var anthropic_models_default = {
608
657
  providers: ["anthropic", "aws", "google"],
609
658
  can: [
610
659
  "chat",
611
- "text-in",
612
- "text-out",
660
+ "txt-in",
661
+ "txt-out",
613
662
  "img-in",
614
663
  "json-out",
615
- "function-out"
664
+ "fn-out"
616
665
  ],
617
666
  context: {
618
667
  type: "token",
@@ -629,11 +678,11 @@ var anthropic_models_default = {
629
678
  providers: ["anthropic", "aws", "google"],
630
679
  can: [
631
680
  "chat",
632
- "text-in",
633
- "text-out",
681
+ "txt-in",
682
+ "txt-out",
634
683
  "img-in",
635
684
  "json-out",
636
- "function-out"
685
+ "fn-out"
637
686
  ],
638
687
  context: {
639
688
  type: "token",
@@ -650,11 +699,11 @@ var anthropic_models_default = {
650
699
  providers: ["anthropic", "aws", "google"],
651
700
  can: [
652
701
  "chat",
653
- "text-in",
654
- "text-out",
702
+ "txt-in",
703
+ "txt-out",
655
704
  "img-in",
656
705
  "json-out",
657
- "function-out"
706
+ "fn-out"
658
707
  ],
659
708
  context: {
660
709
  type: "token",
@@ -671,11 +720,11 @@ var anthropic_models_default = {
671
720
  providers: ["anthropic", "aws", "google"],
672
721
  can: [
673
722
  "chat",
674
- "text-in",
675
- "text-out",
723
+ "txt-in",
724
+ "txt-out",
676
725
  "img-in",
677
726
  "json-out",
678
- "function-out"
727
+ "fn-out"
679
728
  ],
680
729
  context: {
681
730
  type: "token",
@@ -692,11 +741,11 @@ var anthropic_models_default = {
692
741
  providers: ["anthropic", "aws", "google"],
693
742
  can: [
694
743
  "chat",
695
- "text-in",
696
- "text-out",
744
+ "txt-in",
745
+ "txt-out",
697
746
  "img-in",
698
747
  "json-out",
699
- "function-out"
748
+ "fn-out"
700
749
  ],
701
750
  context: {
702
751
  type: "token",
@@ -712,10 +761,10 @@ var anthropic_models_default = {
712
761
  providers: ["anthropic", "aws", "google"],
713
762
  can: [
714
763
  "chat",
715
- "text-in",
716
- "text-out",
764
+ "txt-in",
765
+ "txt-out",
717
766
  "json-out",
718
- "function-out"
767
+ "fn-out"
719
768
  ],
720
769
  context: {
721
770
  type: "token",
@@ -732,11 +781,11 @@ var anthropic_models_default = {
732
781
  providers: ["anthropic", "aws", "google"],
733
782
  can: [
734
783
  "chat",
735
- "text-in",
736
- "text-out",
784
+ "txt-in",
785
+ "txt-out",
737
786
  "img-in",
738
787
  "json-out",
739
- "function-out",
788
+ "fn-out",
740
789
  "reason"
741
790
  ],
742
791
  context: {
@@ -767,7 +816,7 @@ var meta_models_default = {
767
816
  name: "Llama 3 70B",
768
817
  license: "llama-3-community",
769
818
  providers: ["groq"],
770
- can: ["chat", "text-in", "text-out", "json-out", "function-out"],
819
+ can: ["chat", "txt-in", "txt-out", "json-out", "fn-out"],
771
820
  context: {
772
821
  type: "token",
773
822
  total: 8192,
@@ -779,7 +828,7 @@ var meta_models_default = {
779
828
  name: "Llama 3 8B",
780
829
  license: "llama-3-community",
781
830
  providers: ["groq"],
782
- can: ["chat", "text-in", "text-out", "json-out", "function-out"],
831
+ can: ["chat", "txt-in", "txt-out", "json-out", "fn-out"],
783
832
  context: {
784
833
  type: "token",
785
834
  total: 8192,
@@ -791,7 +840,7 @@ var meta_models_default = {
791
840
  name: "Llama 3.2 11B Vision",
792
841
  license: "llama-3-community",
793
842
  providers: ["groq"],
794
- can: ["chat", "text-in", "text-out", "img-in"],
843
+ can: ["chat", "txt-in", "txt-out", "img-in"],
795
844
  context: {
796
845
  type: "token",
797
846
  total: 4096,
@@ -803,7 +852,7 @@ var meta_models_default = {
803
852
  name: "Llama 3.2 90B Vision",
804
853
  license: "llama-3-community",
805
854
  providers: ["groq"],
806
- can: ["chat", "text-in", "text-out", "img-in"],
855
+ can: ["chat", "txt-in", "txt-out", "img-in"],
807
856
  context: {
808
857
  type: "token",
809
858
  total: 4096,
@@ -815,7 +864,7 @@ var meta_models_default = {
815
864
  name: "LlamaGuard 3 8B",
816
865
  license: "llama-3-community",
817
866
  providers: ["groq"],
818
- can: ["chat", "text-in", "text-out"],
867
+ can: ["chat", "txt-in", "txt-out"],
819
868
  context: {
820
869
  type: "token",
821
870
  total: 4096,
@@ -836,10 +885,10 @@ var mistral_models_default = {
836
885
  providers: ["mistral", "azure"],
837
886
  can: [
838
887
  "chat",
839
- "text-in",
840
- "text-out",
888
+ "txt-in",
889
+ "txt-out",
841
890
  "json-out",
842
- "function-out"
891
+ "fn-out"
843
892
  ],
844
893
  context: {
845
894
  type: "token",
@@ -854,10 +903,10 @@ var mistral_models_default = {
854
903
  providers: ["mistral", "azure"],
855
904
  can: [
856
905
  "chat",
857
- "text-in",
858
- "text-out",
906
+ "txt-in",
907
+ "txt-out",
859
908
  "json-out",
860
- "function-out"
909
+ "fn-out"
861
910
  ],
862
911
  context: {
863
912
  type: "token",
@@ -872,8 +921,8 @@ var mistral_models_default = {
872
921
  providers: ["mistral"],
873
922
  can: [
874
923
  "chat",
875
- "text-in",
876
- "text-out"
924
+ "txt-in",
925
+ "txt-out"
877
926
  ],
878
927
  context: {
879
928
  type: "token",
@@ -888,8 +937,8 @@ var mistral_models_default = {
888
937
  providers: ["mistral", "groq"],
889
938
  can: [
890
939
  "chat",
891
- "text-in",
892
- "text-out"
940
+ "txt-in",
941
+ "txt-out"
893
942
  ],
894
943
  context: {
895
944
  type: "token",
@@ -904,8 +953,8 @@ var mistral_models_default = {
904
953
  providers: ["mistral", "groq"],
905
954
  can: [
906
955
  "chat",
907
- "text-in",
908
- "text-out"
956
+ "txt-in",
957
+ "txt-out"
909
958
  ],
910
959
  context: {
911
960
  type: "token",
@@ -925,7 +974,7 @@ var google_models_default = {
925
974
  name: "Gemini 2.0 Flash",
926
975
  license: "proprietary",
927
976
  providers: ["google"],
928
- can: ["chat", "text-in", "text-out", "json-out", "function-out", "img-in", "sound-in", "reason"],
977
+ can: ["chat", "txt-in", "txt-out", "json-out", "fn-out", "img-in", "audio-in", "reason"],
929
978
  context: {
930
979
  type: "token",
931
980
  total: 1048576,
@@ -938,7 +987,7 @@ var google_models_default = {
938
987
  name: "Gemini 2.0 Flash Lite",
939
988
  license: "proprietary",
940
989
  providers: ["google"],
941
- can: ["chat", "text-in", "text-out", "json-out", "function-out", "img-in", "sound-in"],
990
+ can: ["chat", "txt-in", "txt-out", "json-out", "fn-out", "img-in", "audio-in"],
942
991
  context: {
943
992
  type: "token",
944
993
  total: 1048576,
@@ -951,7 +1000,7 @@ var google_models_default = {
951
1000
  name: "Gemini 1.5 Flash",
952
1001
  license: "proprietary",
953
1002
  providers: ["google"],
954
- can: ["chat", "text-in", "text-out", "json-out", "function-out", "img-in", "sound-in"],
1003
+ can: ["chat", "txt-in", "txt-out", "json-out", "fn-out", "img-in", "audio-in"],
955
1004
  context: {
956
1005
  type: "token",
957
1006
  total: 2097152,
@@ -963,7 +1012,7 @@ var google_models_default = {
963
1012
  name: "Gemini 1.5 Flash 8B",
964
1013
  license: "proprietary",
965
1014
  providers: ["google"],
966
- can: ["chat", "text-in", "text-out", "json-out", "function-out", "img-in", "sound-in"],
1015
+ can: ["chat", "txt-in", "txt-out", "json-out", "fn-out", "img-in", "audio-in"],
967
1016
  context: {
968
1017
  type: "token",
969
1018
  total: 2097152,
@@ -975,7 +1024,7 @@ var google_models_default = {
975
1024
  name: "Gemini 1.5 Pro",
976
1025
  license: "proprietary",
977
1026
  providers: ["google"],
978
- can: ["chat", "text-in", "text-out", "json-out", "function-out", "img-in", "sound-in", "reason"],
1027
+ can: ["chat", "txt-in", "txt-out", "json-out", "fn-out", "img-in", "audio-in", "reason"],
979
1028
  context: {
980
1029
  type: "token",
981
1030
  total: 2097152,
@@ -988,7 +1037,7 @@ var google_models_default = {
988
1037
  name: "Text Embedding 004",
989
1038
  license: "proprietary",
990
1039
  providers: ["google"],
991
- can: ["text-in", "vectors-out"],
1040
+ can: ["txt-in", "vec-out"],
992
1041
  context: {
993
1042
  type: "token",
994
1043
  total: 2048,
@@ -1000,7 +1049,7 @@ var google_models_default = {
1000
1049
  name: "Gemma 7B Instruct",
1001
1050
  license: "apache-2.0",
1002
1051
  providers: ["google"],
1003
- can: ["chat", "text-in", "text-out", "json-out", "function-out"],
1052
+ can: ["chat", "txt-in", "txt-out", "json-out", "fn-out"],
1004
1053
  context: {
1005
1054
  type: "token",
1006
1055
  total: 8192,
@@ -1012,7 +1061,7 @@ var google_models_default = {
1012
1061
  name: "Gemma 2B Instruct",
1013
1062
  license: "apache-2.0",
1014
1063
  providers: ["google"],
1015
- can: ["chat", "text-in", "text-out", "json-out", "function-out"],
1064
+ can: ["chat", "txt-in", "txt-out", "json-out", "fn-out"],
1016
1065
  context: {
1017
1066
  type: "token",
1018
1067
  total: 8192,
@@ -1033,10 +1082,10 @@ var deepseek_models_default = {
1033
1082
  providers: ["deepseek"],
1034
1083
  can: [
1035
1084
  "chat",
1036
- "text-in",
1037
- "text-out",
1085
+ "txt-in",
1086
+ "txt-out",
1038
1087
  "json-out",
1039
- "function-out"
1088
+ "fn-out"
1040
1089
  ],
1041
1090
  context: {
1042
1091
  type: "token",
@@ -1051,10 +1100,10 @@ var deepseek_models_default = {
1051
1100
  providers: ["deepseek"],
1052
1101
  can: [
1053
1102
  "chat",
1054
- "text-in",
1055
- "text-out",
1103
+ "txt-in",
1104
+ "txt-out",
1056
1105
  "json-out",
1057
- "function-out",
1106
+ "fn-out",
1058
1107
  "reason"
1059
1108
  ],
1060
1109
  context: {
@@ -1076,7 +1125,7 @@ var xai_models_default = {
1076
1125
  creator: "xai",
1077
1126
  license: "proprietary",
1078
1127
  providers: ["xai"],
1079
- can: ["chat", "text-in", "text-out", "img-in"],
1128
+ can: ["chat", "txt-in", "txt-out", "img-in"],
1080
1129
  context: {
1081
1130
  type: "token",
1082
1131
  total: 32768,
@@ -1090,7 +1139,7 @@ var xai_models_default = {
1090
1139
  creator: "xai",
1091
1140
  license: "proprietary",
1092
1141
  providers: ["xai"],
1093
- can: ["chat", "text-in", "text-out"],
1142
+ can: ["chat", "txt-in", "txt-out"],
1094
1143
  context: {
1095
1144
  type: "token",
1096
1145
  total: 131072,
@@ -1104,7 +1153,7 @@ var xai_models_default = {
1104
1153
  creator: "xai",
1105
1154
  license: "proprietary",
1106
1155
  providers: ["xai"],
1107
- can: ["chat", "text-in", "text-out", "img-in"],
1156
+ can: ["chat", "txt-in", "txt-out", "img-in"],
1108
1157
  context: {
1109
1158
  type: "token",
1110
1159
  total: 8192,
@@ -1117,7 +1166,7 @@ var xai_models_default = {
1117
1166
  creator: "xai",
1118
1167
  license: "proprietary",
1119
1168
  providers: ["xai"],
1120
- can: ["chat", "text-in", "text-out"],
1169
+ can: ["chat", "txt-in", "txt-out"],
1121
1170
  context: {
1122
1171
  type: "token",
1123
1172
  total: 131072,
@@ -1141,9 +1190,10 @@ var cohere_models_default = {
1141
1190
  ],
1142
1191
  can: [
1143
1192
  "chat",
1144
- "text-in",
1145
- "text-out",
1146
- "function-out"
1193
+ "txt-in",
1194
+ "txt-out",
1195
+ "json-out",
1196
+ "fn-out"
1147
1197
  ],
1148
1198
  context: {
1149
1199
  type: "token",
@@ -1164,10 +1214,10 @@ var cohere_models_default = {
1164
1214
  ],
1165
1215
  can: [
1166
1216
  "chat",
1167
- "text-in",
1168
- "text-out",
1169
- "reason",
1170
- "function-out"
1217
+ "txt-in",
1218
+ "txt-out",
1219
+ "json-out",
1220
+ "fn-out"
1171
1221
  ],
1172
1222
  context: {
1173
1223
  type: "token",
@@ -1191,10 +1241,11 @@ var cohere_models_default = {
1191
1241
  ],
1192
1242
  can: [
1193
1243
  "chat",
1194
- "text-in",
1195
- "text-out",
1244
+ "txt-in",
1245
+ "txt-out",
1196
1246
  "reason",
1197
- "function-out"
1247
+ "json-out",
1248
+ "fn-out"
1198
1249
  ],
1199
1250
  context: {
1200
1251
  type: "token",
@@ -1217,8 +1268,8 @@ var cohere_models_default = {
1217
1268
  ],
1218
1269
  can: [
1219
1270
  "chat",
1220
- "text-in",
1221
- "text-out"
1271
+ "txt-in",
1272
+ "txt-out"
1222
1273
  ],
1223
1274
  context: {
1224
1275
  type: "token",
@@ -1238,8 +1289,8 @@ var cohere_models_default = {
1238
1289
  ],
1239
1290
  can: [
1240
1291
  "chat",
1241
- "text-in",
1242
- "text-out"
1292
+ "txt-in",
1293
+ "txt-out"
1243
1294
  ],
1244
1295
  context: {
1245
1296
  type: "token",
@@ -1259,9 +1310,9 @@ var cohere_models_default = {
1259
1310
  "oracle"
1260
1311
  ],
1261
1312
  can: [
1262
- "text-in",
1313
+ "txt-in",
1263
1314
  "img-in",
1264
- "vectors-out"
1315
+ "vec-out"
1265
1316
  ],
1266
1317
  context: {
1267
1318
  type: "token",
@@ -1279,9 +1330,9 @@ var cohere_models_default = {
1279
1330
  "oracle"
1280
1331
  ],
1281
1332
  can: [
1282
- "text-in",
1333
+ "txt-in",
1283
1334
  "img-in",
1284
- "vectors-out"
1335
+ "vec-out"
1285
1336
  ],
1286
1337
  context: {
1287
1338
  type: "token",
@@ -1301,9 +1352,9 @@ var cohere_models_default = {
1301
1352
  "oracle"
1302
1353
  ],
1303
1354
  can: [
1304
- "text-in",
1355
+ "txt-in",
1305
1356
  "img-in",
1306
- "vectors-out"
1357
+ "vec-out"
1307
1358
  ],
1308
1359
  context: {
1309
1360
  type: "token",
@@ -1321,9 +1372,9 @@ var cohere_models_default = {
1321
1372
  "oracle"
1322
1373
  ],
1323
1374
  can: [
1324
- "text-in",
1375
+ "txt-in",
1325
1376
  "img-in",
1326
- "vectors-out"
1377
+ "vec-out"
1327
1378
  ],
1328
1379
  context: {
1329
1380
  type: "token",
@@ -1342,8 +1393,8 @@ var cohere_models_default = {
1342
1393
  "azure"
1343
1394
  ],
1344
1395
  can: [
1345
- "text-in",
1346
- "text-out"
1396
+ "txt-in",
1397
+ "txt-out"
1347
1398
  ],
1348
1399
  context: {
1349
1400
  type: "token",
@@ -1361,8 +1412,8 @@ var cohere_models_default = {
1361
1412
  "azure"
1362
1413
  ],
1363
1414
  can: [
1364
- "text-in",
1365
- "text-out"
1415
+ "txt-in",
1416
+ "txt-out"
1366
1417
  ],
1367
1418
  context: {
1368
1419
  type: "token",
@@ -1380,8 +1431,8 @@ var cohere_models_default = {
1380
1431
  "azure"
1381
1432
  ],
1382
1433
  can: [
1383
- "text-in",
1384
- "text-out"
1434
+ "txt-in",
1435
+ "txt-out"
1385
1436
  ],
1386
1437
  context: {
1387
1438
  type: "token",
@@ -1429,15 +1480,15 @@ function validateModel(raw) {
1429
1480
  const validCapabilities = [
1430
1481
  "chat",
1431
1482
  "reason",
1432
- "text-in",
1433
- "text-out",
1483
+ "txt-in",
1484
+ "txt-out",
1434
1485
  "img-in",
1435
1486
  "img-out",
1436
- "sound-in",
1437
- "sound-out",
1487
+ "audio-in",
1488
+ "audio-out",
1438
1489
  "json-out",
1439
- "function-out",
1440
- "vectors-out"
1490
+ "fn-out",
1491
+ "vec-out"
1441
1492
  ];
1442
1493
  if (!model.can.every((c) => validCapabilities.includes(c))) {
1443
1494
  throw new Error(`Model has invalid capabilities: ${model.can.join(", ")}`);