@pydantic/genai-prices 0.0.48 → 0.0.49
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/cli.js +959 -379
- package/dist/index.cjs +3 -3
- package/dist/index.js +696 -116
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -912,6 +912,17 @@ const x = [
|
|
|
912
912
|
output_mtok: 0.6
|
|
913
913
|
}
|
|
914
914
|
},
|
|
915
|
+
{
|
|
916
|
+
id: "qwen.qwen3-coder-480b-a35b-v1:0",
|
|
917
|
+
name: "Qwen3-Coder-480B-A35B-Instruct",
|
|
918
|
+
match: {
|
|
919
|
+
contains: "qwen.qwen3-coder-480b-a35b-v1"
|
|
920
|
+
},
|
|
921
|
+
prices: {
|
|
922
|
+
input_mtok: 0.45,
|
|
923
|
+
output_mtok: 1.8
|
|
924
|
+
}
|
|
925
|
+
},
|
|
915
926
|
{
|
|
916
927
|
id: "regional.anthropic.claude-3-5-haiku-20241022-v1:0",
|
|
917
928
|
match: {
|
|
@@ -4091,41 +4102,22 @@ Compared to other leading proprietary and open-weights models Command A delivers
|
|
|
4091
4102
|
}
|
|
4092
4103
|
},
|
|
4093
4104
|
{
|
|
4094
|
-
id: "
|
|
4095
|
-
name: "
|
|
4096
|
-
match: {
|
|
4097
|
-
or: [
|
|
4098
|
-
{
|
|
4099
|
-
equals: "qwen/qwen3-coder-480b-a35b-instruct"
|
|
4100
|
-
},
|
|
4101
|
-
{
|
|
4102
|
-
equals: "qwen/qwen3-coder-480b-a35b-instruct-fast"
|
|
4103
|
-
}
|
|
4104
|
-
]
|
|
4105
|
-
},
|
|
4106
|
-
context_window: 262144,
|
|
4107
|
-
prices: {
|
|
4108
|
-
input_mtok: 0.45,
|
|
4109
|
-
output_mtok: 1.8
|
|
4110
|
-
}
|
|
4111
|
-
},
|
|
4112
|
-
{
|
|
4113
|
-
id: "SentientAGI/Dobby-Unhinged-Llama-3.3-70B",
|
|
4114
|
-
name: "Dobby-Unhinged-Llama-3.3-70B",
|
|
4105
|
+
id: "deepseek-ai/DeepSeek-R1-0528",
|
|
4106
|
+
name: "DeepSeek-R1-0528",
|
|
4115
4107
|
match: {
|
|
4116
4108
|
or: [
|
|
4117
4109
|
{
|
|
4118
|
-
equals: "
|
|
4110
|
+
equals: "deepseek-ai/deepseek-r1-0528"
|
|
4119
4111
|
},
|
|
4120
4112
|
{
|
|
4121
|
-
equals: "
|
|
4113
|
+
equals: "deepseek-ai/deepseek-r1-0528-fast"
|
|
4122
4114
|
}
|
|
4123
4115
|
]
|
|
4124
4116
|
},
|
|
4125
|
-
context_window:
|
|
4117
|
+
context_window: 163840,
|
|
4126
4118
|
prices: {
|
|
4127
|
-
input_mtok:
|
|
4128
|
-
output_mtok:
|
|
4119
|
+
input_mtok: 3,
|
|
4120
|
+
output_mtok: 8
|
|
4129
4121
|
}
|
|
4130
4122
|
},
|
|
4131
4123
|
{
|
|
@@ -5548,8 +5540,8 @@ Compared to other leading proprietary and open-weights models Command A delivers
|
|
|
5548
5540
|
},
|
|
5549
5541
|
context_window: 262144,
|
|
5550
5542
|
prices: {
|
|
5551
|
-
input_mtok: 0.
|
|
5552
|
-
output_mtok: 1.
|
|
5543
|
+
input_mtok: 0.3,
|
|
5544
|
+
output_mtok: 1.3
|
|
5553
5545
|
}
|
|
5554
5546
|
},
|
|
5555
5547
|
{
|
|
@@ -5919,25 +5911,6 @@ Compared to other leading proprietary and open-weights models Command A delivers
|
|
|
5919
5911
|
output_mtok: 0.072
|
|
5920
5912
|
}
|
|
5921
5913
|
},
|
|
5922
|
-
{
|
|
5923
|
-
id: "deepseek-ai/DeepSeek-R1-Distill-Llama-70B",
|
|
5924
|
-
name: "DeepSeek-R1-Distill-Llama-70B",
|
|
5925
|
-
match: {
|
|
5926
|
-
or: [
|
|
5927
|
-
{
|
|
5928
|
-
equals: "deepseek-ai/deepseek-r1-distill-llama-70b"
|
|
5929
|
-
},
|
|
5930
|
-
{
|
|
5931
|
-
equals: "deepseek-ai/deepseek-r1-distill-llama-70b-fast"
|
|
5932
|
-
}
|
|
5933
|
-
]
|
|
5934
|
-
},
|
|
5935
|
-
context_window: 8192,
|
|
5936
|
-
prices: {
|
|
5937
|
-
input_mtok: 0.64,
|
|
5938
|
-
output_mtok: 0.64
|
|
5939
|
-
}
|
|
5940
|
-
},
|
|
5941
5914
|
{
|
|
5942
5915
|
id: "deepseek-ai/DeepSeek-R1-Distill-Qwen-14B",
|
|
5943
5916
|
name: "DeepSeek-R1-Distill-Qwen-14B",
|
|
@@ -6039,6 +6012,25 @@ Compared to other leading proprietary and open-weights models Command A delivers
|
|
|
6039
6012
|
output_mtok: 0.8
|
|
6040
6013
|
}
|
|
6041
6014
|
},
|
|
6015
|
+
{
|
|
6016
|
+
id: "deepseek-ai/DeepSeek-V3.2",
|
|
6017
|
+
name: "DeepSeek-V3.2",
|
|
6018
|
+
match: {
|
|
6019
|
+
or: [
|
|
6020
|
+
{
|
|
6021
|
+
equals: "deepseek-ai/deepseek-v3.2"
|
|
6022
|
+
},
|
|
6023
|
+
{
|
|
6024
|
+
equals: "deepseek-ai/deepseek-v3.2-fast"
|
|
6025
|
+
}
|
|
6026
|
+
]
|
|
6027
|
+
},
|
|
6028
|
+
context_window: 163840,
|
|
6029
|
+
prices: {
|
|
6030
|
+
input_mtok: 0.269,
|
|
6031
|
+
output_mtok: 0.4
|
|
6032
|
+
}
|
|
6033
|
+
},
|
|
6042
6034
|
{
|
|
6043
6035
|
id: "deepseek-ai/DeepSeek-V3.2-Exp",
|
|
6044
6036
|
name: "DeepSeek-V3.2-Exp",
|
|
@@ -6111,8 +6103,8 @@ Compared to other leading proprietary and open-weights models Command A delivers
|
|
|
6111
6103
|
},
|
|
6112
6104
|
context_window: 131072,
|
|
6113
6105
|
prices: {
|
|
6114
|
-
input_mtok: 0.
|
|
6115
|
-
output_mtok: 0.
|
|
6106
|
+
input_mtok: 0.108,
|
|
6107
|
+
output_mtok: 0.32
|
|
6116
6108
|
}
|
|
6117
6109
|
},
|
|
6118
6110
|
{
|
|
@@ -6249,22 +6241,22 @@ Compared to other leading proprietary and open-weights models Command A delivers
|
|
|
6249
6241
|
}
|
|
6250
6242
|
},
|
|
6251
6243
|
{
|
|
6252
|
-
id: "zai-org/
|
|
6253
|
-
name: "
|
|
6244
|
+
id: "zai-org/AutoGLM-Phone-9B-Multilingual",
|
|
6245
|
+
name: "AutoGLM-Phone-9B-Multilingual",
|
|
6254
6246
|
match: {
|
|
6255
6247
|
or: [
|
|
6256
6248
|
{
|
|
6257
|
-
equals: "zai-org/
|
|
6249
|
+
equals: "zai-org/autoglm-phone-9b-multilingual"
|
|
6258
6250
|
},
|
|
6259
6251
|
{
|
|
6260
|
-
equals: "zai-org/
|
|
6252
|
+
equals: "zai-org/autoglm-phone-9b-multilingual-fast"
|
|
6261
6253
|
}
|
|
6262
6254
|
]
|
|
6263
6255
|
},
|
|
6264
|
-
context_window:
|
|
6256
|
+
context_window: 65536,
|
|
6265
6257
|
prices: {
|
|
6266
|
-
input_mtok: 0.
|
|
6267
|
-
output_mtok:
|
|
6258
|
+
input_mtok: 0.035,
|
|
6259
|
+
output_mtok: 0.138
|
|
6268
6260
|
}
|
|
6269
6261
|
},
|
|
6270
6262
|
{
|
|
@@ -6361,6 +6353,25 @@ Compared to other leading proprietary and open-weights models Command A delivers
|
|
|
6361
6353
|
input_mtok: 0.44,
|
|
6362
6354
|
output_mtok: 1.76
|
|
6363
6355
|
}
|
|
6356
|
+
},
|
|
6357
|
+
{
|
|
6358
|
+
id: "zai-org/GLM-4.6V-Flash",
|
|
6359
|
+
name: "GLM-4.6V-Flash",
|
|
6360
|
+
match: {
|
|
6361
|
+
or: [
|
|
6362
|
+
{
|
|
6363
|
+
equals: "zai-org/glm-4.6v-flash"
|
|
6364
|
+
},
|
|
6365
|
+
{
|
|
6366
|
+
equals: "zai-org/glm-4.6v-flash-fast"
|
|
6367
|
+
}
|
|
6368
|
+
]
|
|
6369
|
+
},
|
|
6370
|
+
context_window: 131072,
|
|
6371
|
+
prices: {
|
|
6372
|
+
input_mtok: 0.3,
|
|
6373
|
+
output_mtok: 0.9
|
|
6374
|
+
}
|
|
6364
6375
|
}
|
|
6365
6376
|
]
|
|
6366
6377
|
},
|
|
@@ -6802,6 +6813,96 @@ Compared to other leading proprietary and open-weights models Command A delivers
|
|
|
6802
6813
|
}
|
|
6803
6814
|
]
|
|
6804
6815
|
},
|
|
6816
|
+
{
|
|
6817
|
+
id: "huggingface_ovhcloud",
|
|
6818
|
+
name: "HuggingFace (ovhcloud)",
|
|
6819
|
+
pricing_urls: ["https://router.huggingface.co/v1/models", "https://huggingface.co/inference/models"],
|
|
6820
|
+
api_pattern: "https://router\\.huggingface\\.co/ovhcloud",
|
|
6821
|
+
provider_match: {
|
|
6822
|
+
and: [
|
|
6823
|
+
{
|
|
6824
|
+
contains: "huggingface"
|
|
6825
|
+
},
|
|
6826
|
+
{
|
|
6827
|
+
contains: "ovhcloud"
|
|
6828
|
+
}
|
|
6829
|
+
]
|
|
6830
|
+
},
|
|
6831
|
+
extractors: [
|
|
6832
|
+
{
|
|
6833
|
+
api_flavor: "chat",
|
|
6834
|
+
root: "usage",
|
|
6835
|
+
model_path: "model",
|
|
6836
|
+
mappings: [
|
|
6837
|
+
{
|
|
6838
|
+
path: "prompt_tokens",
|
|
6839
|
+
dest: "input_tokens",
|
|
6840
|
+
required: !0
|
|
6841
|
+
},
|
|
6842
|
+
{
|
|
6843
|
+
path: ["prompt_tokens_details", "cached_tokens"],
|
|
6844
|
+
dest: "cache_read_tokens",
|
|
6845
|
+
required: !1
|
|
6846
|
+
},
|
|
6847
|
+
{
|
|
6848
|
+
path: ["prompt_tokens_details", "audio_tokens"],
|
|
6849
|
+
dest: "input_audio_tokens",
|
|
6850
|
+
required: !1
|
|
6851
|
+
},
|
|
6852
|
+
{
|
|
6853
|
+
path: ["completion_tokens_details", "audio_tokens"],
|
|
6854
|
+
dest: "output_audio_tokens",
|
|
6855
|
+
required: !1
|
|
6856
|
+
},
|
|
6857
|
+
{
|
|
6858
|
+
path: "completion_tokens",
|
|
6859
|
+
dest: "output_tokens",
|
|
6860
|
+
required: !0
|
|
6861
|
+
}
|
|
6862
|
+
]
|
|
6863
|
+
}
|
|
6864
|
+
],
|
|
6865
|
+
models: [
|
|
6866
|
+
{
|
|
6867
|
+
id: "Qwen/Qwen2.5-VL-72B-Instruct",
|
|
6868
|
+
name: "Qwen2.5-VL-72B-Instruct",
|
|
6869
|
+
match: {
|
|
6870
|
+
or: [
|
|
6871
|
+
{
|
|
6872
|
+
equals: "qwen/qwen2.5-vl-72b-instruct"
|
|
6873
|
+
},
|
|
6874
|
+
{
|
|
6875
|
+
equals: "qwen/qwen2.5-vl-72b-instruct-fast"
|
|
6876
|
+
}
|
|
6877
|
+
]
|
|
6878
|
+
},
|
|
6879
|
+
context_window: 32768,
|
|
6880
|
+
prices: {
|
|
6881
|
+
input_mtok: 1.01,
|
|
6882
|
+
output_mtok: 1.01
|
|
6883
|
+
}
|
|
6884
|
+
},
|
|
6885
|
+
{
|
|
6886
|
+
id: "Qwen/Qwen3-Coder-30B-A3B-Instruct",
|
|
6887
|
+
name: "Qwen3-Coder-30B-A3B-Instruct",
|
|
6888
|
+
match: {
|
|
6889
|
+
or: [
|
|
6890
|
+
{
|
|
6891
|
+
equals: "qwen/qwen3-coder-30b-a3b-instruct"
|
|
6892
|
+
},
|
|
6893
|
+
{
|
|
6894
|
+
equals: "qwen/qwen3-coder-30b-a3b-instruct-fast"
|
|
6895
|
+
}
|
|
6896
|
+
]
|
|
6897
|
+
},
|
|
6898
|
+
context_window: 262144,
|
|
6899
|
+
prices: {
|
|
6900
|
+
input_mtok: 0.07,
|
|
6901
|
+
output_mtok: 0.26
|
|
6902
|
+
}
|
|
6903
|
+
}
|
|
6904
|
+
]
|
|
6905
|
+
},
|
|
6805
6906
|
{
|
|
6806
6907
|
id: "huggingface_publicai",
|
|
6807
6908
|
name: "HuggingFace (publicai)",
|
|
@@ -6883,45 +6984,90 @@ Compared to other leading proprietary and open-weights models Command A delivers
|
|
|
6883
6984
|
prices: {}
|
|
6884
6985
|
},
|
|
6885
6986
|
{
|
|
6886
|
-
id: "allenai/Olmo-3-
|
|
6887
|
-
name: "Olmo-3-
|
|
6987
|
+
id: "allenai/Olmo-3-7B-Instruct",
|
|
6988
|
+
name: "Olmo-3-7B-Instruct",
|
|
6888
6989
|
match: {
|
|
6889
6990
|
or: [
|
|
6890
6991
|
{
|
|
6891
|
-
equals: "allenai/olmo-3-
|
|
6992
|
+
equals: "allenai/olmo-3-7b-instruct"
|
|
6892
6993
|
},
|
|
6893
6994
|
{
|
|
6894
|
-
equals: "allenai/olmo-3-
|
|
6995
|
+
equals: "allenai/olmo-3-7b-instruct-fast"
|
|
6895
6996
|
}
|
|
6896
6997
|
]
|
|
6897
6998
|
},
|
|
6898
6999
|
prices: {}
|
|
6899
7000
|
},
|
|
6900
7001
|
{
|
|
6901
|
-
id: "allenai/Olmo-3-7B-
|
|
6902
|
-
name: "Olmo-3-7B-
|
|
7002
|
+
id: "allenai/Olmo-3-7B-Think",
|
|
7003
|
+
name: "Olmo-3-7B-Think",
|
|
6903
7004
|
match: {
|
|
6904
7005
|
or: [
|
|
6905
7006
|
{
|
|
6906
|
-
equals: "allenai/olmo-3-7b-
|
|
7007
|
+
equals: "allenai/olmo-3-7b-think"
|
|
6907
7008
|
},
|
|
6908
7009
|
{
|
|
6909
|
-
equals: "allenai/olmo-3-7b-
|
|
7010
|
+
equals: "allenai/olmo-3-7b-think-fast"
|
|
6910
7011
|
}
|
|
6911
7012
|
]
|
|
6912
7013
|
},
|
|
6913
7014
|
prices: {}
|
|
6914
7015
|
},
|
|
6915
7016
|
{
|
|
6916
|
-
id: "allenai/Olmo-3-
|
|
6917
|
-
name: "Olmo-3-
|
|
7017
|
+
id: "allenai/Olmo-3.1-32B-Instruct",
|
|
7018
|
+
name: "Olmo-3.1-32B-Instruct",
|
|
6918
7019
|
match: {
|
|
6919
7020
|
or: [
|
|
6920
7021
|
{
|
|
6921
|
-
equals: "allenai/olmo-3-
|
|
7022
|
+
equals: "allenai/olmo-3.1-32b-instruct"
|
|
6922
7023
|
},
|
|
6923
7024
|
{
|
|
6924
|
-
equals: "allenai/olmo-3-
|
|
7025
|
+
equals: "allenai/olmo-3.1-32b-instruct-fast"
|
|
7026
|
+
}
|
|
7027
|
+
]
|
|
7028
|
+
},
|
|
7029
|
+
prices: {}
|
|
7030
|
+
},
|
|
7031
|
+
{
|
|
7032
|
+
id: "allenai/Olmo-3.1-32B-Think",
|
|
7033
|
+
name: "Olmo-3.1-32B-Think",
|
|
7034
|
+
match: {
|
|
7035
|
+
or: [
|
|
7036
|
+
{
|
|
7037
|
+
equals: "allenai/olmo-3.1-32b-think"
|
|
7038
|
+
},
|
|
7039
|
+
{
|
|
7040
|
+
equals: "allenai/olmo-3.1-32b-think-fast"
|
|
7041
|
+
}
|
|
7042
|
+
]
|
|
7043
|
+
},
|
|
7044
|
+
prices: {}
|
|
7045
|
+
},
|
|
7046
|
+
{
|
|
7047
|
+
id: "dicta-il/DictaLM-3.0-24B-Thinking",
|
|
7048
|
+
name: "DictaLM-3.0-24B-Thinking",
|
|
7049
|
+
match: {
|
|
7050
|
+
or: [
|
|
7051
|
+
{
|
|
7052
|
+
equals: "dicta-il/dictalm-3.0-24b-thinking"
|
|
7053
|
+
},
|
|
7054
|
+
{
|
|
7055
|
+
equals: "dicta-il/dictalm-3.0-24b-thinking-fast"
|
|
7056
|
+
}
|
|
7057
|
+
]
|
|
7058
|
+
},
|
|
7059
|
+
prices: {}
|
|
7060
|
+
},
|
|
7061
|
+
{
|
|
7062
|
+
id: "swiss-ai/Apertus-70B-Instruct-2509",
|
|
7063
|
+
name: "Apertus-70B-Instruct-2509",
|
|
7064
|
+
match: {
|
|
7065
|
+
or: [
|
|
7066
|
+
{
|
|
7067
|
+
equals: "swiss-ai/apertus-70b-instruct-2509"
|
|
7068
|
+
},
|
|
7069
|
+
{
|
|
7070
|
+
equals: "swiss-ai/apertus-70b-instruct-2509-fast"
|
|
6925
7071
|
}
|
|
6926
7072
|
]
|
|
6927
7073
|
},
|
|
@@ -6941,6 +7087,21 @@ Compared to other leading proprietary and open-weights models Command A delivers
|
|
|
6941
7087
|
]
|
|
6942
7088
|
},
|
|
6943
7089
|
prices: {}
|
|
7090
|
+
},
|
|
7091
|
+
{
|
|
7092
|
+
id: "utter-project/EuroLLM-22B-Instruct-2512",
|
|
7093
|
+
name: "EuroLLM-22B-Instruct-2512",
|
|
7094
|
+
match: {
|
|
7095
|
+
or: [
|
|
7096
|
+
{
|
|
7097
|
+
equals: "utter-project/eurollm-22b-instruct-2512"
|
|
7098
|
+
},
|
|
7099
|
+
{
|
|
7100
|
+
equals: "utter-project/eurollm-22b-instruct-2512-fast"
|
|
7101
|
+
}
|
|
7102
|
+
]
|
|
7103
|
+
},
|
|
7104
|
+
prices: {}
|
|
6944
7105
|
}
|
|
6945
7106
|
]
|
|
6946
7107
|
},
|
|
@@ -7052,27 +7213,46 @@ Compared to other leading proprietary and open-weights models Command A delivers
|
|
|
7052
7213
|
}
|
|
7053
7214
|
},
|
|
7054
7215
|
{
|
|
7055
|
-
id: "
|
|
7056
|
-
name: "
|
|
7216
|
+
id: "deepseek-ai/DeepSeek-V3-0324",
|
|
7217
|
+
name: "DeepSeek-V3-0324",
|
|
7057
7218
|
match: {
|
|
7058
7219
|
or: [
|
|
7059
7220
|
{
|
|
7060
|
-
equals: "
|
|
7221
|
+
equals: "deepseek-ai/deepseek-v3-0324"
|
|
7061
7222
|
},
|
|
7062
7223
|
{
|
|
7063
|
-
equals: "
|
|
7224
|
+
equals: "deepseek-ai/deepseek-v3-0324-fast"
|
|
7064
7225
|
}
|
|
7065
7226
|
]
|
|
7066
7227
|
},
|
|
7067
|
-
context_window:
|
|
7228
|
+
context_window: 131072,
|
|
7068
7229
|
prices: {
|
|
7069
|
-
input_mtok:
|
|
7070
|
-
output_mtok:
|
|
7230
|
+
input_mtok: 3,
|
|
7231
|
+
output_mtok: 4.5
|
|
7071
7232
|
}
|
|
7072
7233
|
},
|
|
7073
7234
|
{
|
|
7074
|
-
id: "meta-llama/Llama-3.
|
|
7075
|
-
name: "Llama-3.
|
|
7235
|
+
id: "meta-llama/Llama-3.1-8B-Instruct",
|
|
7236
|
+
name: "Llama-3.1-8B-Instruct",
|
|
7237
|
+
match: {
|
|
7238
|
+
or: [
|
|
7239
|
+
{
|
|
7240
|
+
equals: "meta-llama/llama-3.1-8b-instruct"
|
|
7241
|
+
},
|
|
7242
|
+
{
|
|
7243
|
+
equals: "meta-llama/llama-3.1-8b-instruct-fast"
|
|
7244
|
+
}
|
|
7245
|
+
]
|
|
7246
|
+
},
|
|
7247
|
+
context_window: 16384,
|
|
7248
|
+
prices: {
|
|
7249
|
+
input_mtok: 0.1,
|
|
7250
|
+
output_mtok: 0.2
|
|
7251
|
+
}
|
|
7252
|
+
},
|
|
7253
|
+
{
|
|
7254
|
+
id: "meta-llama/Llama-3.3-70B-Instruct",
|
|
7255
|
+
name: "Llama-3.3-70B-Instruct",
|
|
7076
7256
|
match: {
|
|
7077
7257
|
or: [
|
|
7078
7258
|
{
|
|
@@ -7179,6 +7359,25 @@ Compared to other leading proprietary and open-weights models Command A delivers
|
|
|
7179
7359
|
}
|
|
7180
7360
|
],
|
|
7181
7361
|
models: [
|
|
7362
|
+
{
|
|
7363
|
+
id: "EssentialAI/rnj-1-instruct",
|
|
7364
|
+
name: "rnj-1-instruct",
|
|
7365
|
+
match: {
|
|
7366
|
+
or: [
|
|
7367
|
+
{
|
|
7368
|
+
equals: "essentialai/rnj-1-instruct"
|
|
7369
|
+
},
|
|
7370
|
+
{
|
|
7371
|
+
equals: "essentialai/rnj-1-instruct-fast"
|
|
7372
|
+
}
|
|
7373
|
+
]
|
|
7374
|
+
},
|
|
7375
|
+
context_window: 32768,
|
|
7376
|
+
prices: {
|
|
7377
|
+
input_mtok: 0.15,
|
|
7378
|
+
output_mtok: 0.15
|
|
7379
|
+
}
|
|
7380
|
+
},
|
|
7182
7381
|
{
|
|
7183
7382
|
id: "Qwen/Qwen2.5-72B-Instruct",
|
|
7184
7383
|
name: "Qwen2.5-72B-Instruct",
|
|
@@ -7311,6 +7510,41 @@ Compared to other leading proprietary and open-weights models Command A delivers
|
|
|
7311
7510
|
output_mtok: 1.5
|
|
7312
7511
|
}
|
|
7313
7512
|
},
|
|
7513
|
+
{
|
|
7514
|
+
id: "Qwen/Qwen3-VL-32B-Instruct",
|
|
7515
|
+
name: "Qwen3-VL-32B-Instruct",
|
|
7516
|
+
match: {
|
|
7517
|
+
or: [
|
|
7518
|
+
{
|
|
7519
|
+
equals: "qwen/qwen3-vl-32b-instruct"
|
|
7520
|
+
},
|
|
7521
|
+
{
|
|
7522
|
+
equals: "qwen/qwen3-vl-32b-instruct-fast"
|
|
7523
|
+
}
|
|
7524
|
+
]
|
|
7525
|
+
},
|
|
7526
|
+
context_window: 262144,
|
|
7527
|
+
prices: {
|
|
7528
|
+
input_mtok: 0.5,
|
|
7529
|
+
output_mtok: 1.5
|
|
7530
|
+
}
|
|
7531
|
+
},
|
|
7532
|
+
{
|
|
7533
|
+
id: "ServiceNow-AI/Apriel-1.6-15b-Thinker",
|
|
7534
|
+
name: "Apriel-1.6-15b-Thinker",
|
|
7535
|
+
match: {
|
|
7536
|
+
or: [
|
|
7537
|
+
{
|
|
7538
|
+
equals: "servicenow-ai/apriel-1.6-15b-thinker"
|
|
7539
|
+
},
|
|
7540
|
+
{
|
|
7541
|
+
equals: "servicenow-ai/apriel-1.6-15b-thinker-fast"
|
|
7542
|
+
}
|
|
7543
|
+
]
|
|
7544
|
+
},
|
|
7545
|
+
context_window: 131072,
|
|
7546
|
+
prices: {}
|
|
7547
|
+
},
|
|
7314
7548
|
{
|
|
7315
7549
|
id: "deepcogito/cogito-671b-v2.1",
|
|
7316
7550
|
name: "cogito-671b-v2.1",
|
|
@@ -15845,6 +16079,352 @@ Compared to other leading proprietary and open-weights models Command A delivers
|
|
|
15845
16079
|
}
|
|
15846
16080
|
]
|
|
15847
16081
|
},
|
|
16082
|
+
{
|
|
16083
|
+
id: "ovhcloud",
|
|
16084
|
+
name: "OVHcloud AI Endpoints",
|
|
16085
|
+
pricing_urls: ["https://oai.endpoints.kepler.ai.cloud.ovh.net/v1/models"],
|
|
16086
|
+
api_pattern: "https://oai\\.endpoints\\.kepler\\.ai\\.cloud\\.ovh\\.net",
|
|
16087
|
+
extractors: [
|
|
16088
|
+
{
|
|
16089
|
+
api_flavor: "chat",
|
|
16090
|
+
root: "usage",
|
|
16091
|
+
model_path: "model",
|
|
16092
|
+
mappings: [
|
|
16093
|
+
{
|
|
16094
|
+
path: "prompt_tokens",
|
|
16095
|
+
dest: "input_tokens",
|
|
16096
|
+
required: !0
|
|
16097
|
+
},
|
|
16098
|
+
{
|
|
16099
|
+
path: ["prompt_tokens_details", "cached_tokens"],
|
|
16100
|
+
dest: "cache_read_tokens",
|
|
16101
|
+
required: !1
|
|
16102
|
+
},
|
|
16103
|
+
{
|
|
16104
|
+
path: ["prompt_tokens_details", "audio_tokens"],
|
|
16105
|
+
dest: "input_audio_tokens",
|
|
16106
|
+
required: !1
|
|
16107
|
+
},
|
|
16108
|
+
{
|
|
16109
|
+
path: ["completion_tokens_details", "audio_tokens"],
|
|
16110
|
+
dest: "output_audio_tokens",
|
|
16111
|
+
required: !1
|
|
16112
|
+
},
|
|
16113
|
+
{
|
|
16114
|
+
path: "completion_tokens",
|
|
16115
|
+
dest: "output_tokens",
|
|
16116
|
+
required: !0
|
|
16117
|
+
}
|
|
16118
|
+
]
|
|
16119
|
+
}
|
|
16120
|
+
],
|
|
16121
|
+
models: [
|
|
16122
|
+
{
|
|
16123
|
+
id: "BGE-M3",
|
|
16124
|
+
name: "BGE-M3",
|
|
16125
|
+
match: {
|
|
16126
|
+
or: [
|
|
16127
|
+
{
|
|
16128
|
+
equals: "BGE-M3"
|
|
16129
|
+
},
|
|
16130
|
+
{
|
|
16131
|
+
equals: "bge-m3"
|
|
16132
|
+
}
|
|
16133
|
+
]
|
|
16134
|
+
},
|
|
16135
|
+
context_window: 8192,
|
|
16136
|
+
prices: {
|
|
16137
|
+
input_mtok: 0.01
|
|
16138
|
+
}
|
|
16139
|
+
},
|
|
16140
|
+
{
|
|
16141
|
+
id: "DeepSeek-R1-Distill-Llama-70B",
|
|
16142
|
+
name: "DeepSeek-R1-Distill-Llama-70B",
|
|
16143
|
+
match: {
|
|
16144
|
+
or: [
|
|
16145
|
+
{
|
|
16146
|
+
equals: "DeepSeek-R1-Distill-Llama-70B"
|
|
16147
|
+
},
|
|
16148
|
+
{
|
|
16149
|
+
equals: "deepseek-r1-distill-llama-70b"
|
|
16150
|
+
}
|
|
16151
|
+
]
|
|
16152
|
+
},
|
|
16153
|
+
context_window: 131072,
|
|
16154
|
+
prices: {
|
|
16155
|
+
input_mtok: 0.74,
|
|
16156
|
+
output_mtok: 0.74
|
|
16157
|
+
}
|
|
16158
|
+
},
|
|
16159
|
+
{
|
|
16160
|
+
id: "Llama-3.1-8B-Instruct",
|
|
16161
|
+
name: "Llama-3.1-8B-Instruct",
|
|
16162
|
+
match: {
|
|
16163
|
+
or: [
|
|
16164
|
+
{
|
|
16165
|
+
equals: "Llama-3.1-8B-Instruct"
|
|
16166
|
+
},
|
|
16167
|
+
{
|
|
16168
|
+
equals: "llama-3.1-8b-instruct"
|
|
16169
|
+
}
|
|
16170
|
+
]
|
|
16171
|
+
},
|
|
16172
|
+
context_window: 131072,
|
|
16173
|
+
prices: {
|
|
16174
|
+
input_mtok: 0.11,
|
|
16175
|
+
output_mtok: 0.11
|
|
16176
|
+
}
|
|
16177
|
+
},
|
|
16178
|
+
{
|
|
16179
|
+
id: "Meta-Llama-3_1-70B-Instruct",
|
|
16180
|
+
name: "Meta-Llama-3_1-70B-Instruct",
|
|
16181
|
+
match: {
|
|
16182
|
+
or: [
|
|
16183
|
+
{
|
|
16184
|
+
equals: "Meta-Llama-3_1-70B-Instruct"
|
|
16185
|
+
},
|
|
16186
|
+
{
|
|
16187
|
+
equals: "meta-llama-3_1-70b-instruct"
|
|
16188
|
+
}
|
|
16189
|
+
]
|
|
16190
|
+
},
|
|
16191
|
+
context_window: 131072,
|
|
16192
|
+
prices: {
|
|
16193
|
+
input_mtok: 0.74,
|
|
16194
|
+
output_mtok: 0.74
|
|
16195
|
+
}
|
|
16196
|
+
},
|
|
16197
|
+
{
|
|
16198
|
+
id: "Meta-Llama-3_3-70B-Instruct",
|
|
16199
|
+
name: "Meta-Llama-3_3-70B-Instruct",
|
|
16200
|
+
match: {
|
|
16201
|
+
or: [
|
|
16202
|
+
{
|
|
16203
|
+
equals: "Meta-Llama-3_3-70B-Instruct"
|
|
16204
|
+
},
|
|
16205
|
+
{
|
|
16206
|
+
equals: "meta-llama-3_3-70b-instruct"
|
|
16207
|
+
}
|
|
16208
|
+
]
|
|
16209
|
+
},
|
|
16210
|
+
context_window: 131072,
|
|
16211
|
+
prices: {
|
|
16212
|
+
input_mtok: 0.74,
|
|
16213
|
+
output_mtok: 0.74
|
|
16214
|
+
}
|
|
16215
|
+
},
|
|
16216
|
+
{
|
|
16217
|
+
id: "Mistral-7B-Instruct-v0.3",
|
|
16218
|
+
name: "Mistral-7B-Instruct-v0.3",
|
|
16219
|
+
match: {
|
|
16220
|
+
or: [
|
|
16221
|
+
{
|
|
16222
|
+
equals: "Mistral-7B-Instruct-v0.3"
|
|
16223
|
+
},
|
|
16224
|
+
{
|
|
16225
|
+
equals: "mistral-7b-instruct-v0.3"
|
|
16226
|
+
}
|
|
16227
|
+
]
|
|
16228
|
+
},
|
|
16229
|
+
context_window: 65536,
|
|
16230
|
+
prices: {
|
|
16231
|
+
input_mtok: 0.11,
|
|
16232
|
+
output_mtok: 0.11
|
|
16233
|
+
}
|
|
16234
|
+
},
|
|
16235
|
+
{
|
|
16236
|
+
id: "Mistral-Nemo-Instruct-2407",
|
|
16237
|
+
name: "Mistral-Nemo-Instruct-2407",
|
|
16238
|
+
match: {
|
|
16239
|
+
or: [
|
|
16240
|
+
{
|
|
16241
|
+
equals: "Mistral-Nemo-Instruct-2407"
|
|
16242
|
+
},
|
|
16243
|
+
{
|
|
16244
|
+
equals: "mistral-nemo-instruct-2407"
|
|
16245
|
+
}
|
|
16246
|
+
]
|
|
16247
|
+
},
|
|
16248
|
+
context_window: 65536,
|
|
16249
|
+
prices: {
|
|
16250
|
+
input_mtok: 0.14,
|
|
16251
|
+
output_mtok: 0.14
|
|
16252
|
+
}
|
|
16253
|
+
},
|
|
16254
|
+
{
|
|
16255
|
+
id: "Mistral-Small-3.2-24B-Instruct-2506",
|
|
16256
|
+
name: "Mistral-Small-3.2-24B-Instruct-2506",
|
|
16257
|
+
match: {
|
|
16258
|
+
or: [
|
|
16259
|
+
{
|
|
16260
|
+
equals: "Mistral-Small-3.2-24B-Instruct-2506"
|
|
16261
|
+
},
|
|
16262
|
+
{
|
|
16263
|
+
equals: "mistral-small-3.2-24b-instruct-2506"
|
|
16264
|
+
}
|
|
16265
|
+
]
|
|
16266
|
+
},
|
|
16267
|
+
context_window: 131072,
|
|
16268
|
+
prices: {
|
|
16269
|
+
input_mtok: 0.1,
|
|
16270
|
+
output_mtok: 0.31
|
|
16271
|
+
}
|
|
16272
|
+
},
|
|
16273
|
+
{
|
|
16274
|
+
id: "Mixtral-8x7B-Instruct-v0.1",
|
|
16275
|
+
name: "Mixtral-8x7B-Instruct-v0.1",
|
|
16276
|
+
match: {
|
|
16277
|
+
or: [
|
|
16278
|
+
{
|
|
16279
|
+
equals: "Mixtral-8x7B-Instruct-v0.1"
|
|
16280
|
+
},
|
|
16281
|
+
{
|
|
16282
|
+
equals: "mixtral-8x7b-instruct-v0.1"
|
|
16283
|
+
}
|
|
16284
|
+
]
|
|
16285
|
+
},
|
|
16286
|
+
context_window: 32768,
|
|
16287
|
+
prices: {
|
|
16288
|
+
input_mtok: 0.7,
|
|
16289
|
+
output_mtok: 0.7
|
|
16290
|
+
}
|
|
16291
|
+
},
|
|
16292
|
+
{
|
|
16293
|
+
id: "Qwen2.5-Coder-32B-Instruct",
|
|
16294
|
+
name: "Qwen2.5-Coder-32B-Instruct",
|
|
16295
|
+
match: {
|
|
16296
|
+
or: [
|
|
16297
|
+
{
|
|
16298
|
+
equals: "Qwen2.5-Coder-32B-Instruct"
|
|
16299
|
+
},
|
|
16300
|
+
{
|
|
16301
|
+
equals: "qwen2.5-coder-32b-instruct"
|
|
16302
|
+
}
|
|
16303
|
+
]
|
|
16304
|
+
},
|
|
16305
|
+
context_window: 32768,
|
|
16306
|
+
prices: {
|
|
16307
|
+
input_mtok: 0.96,
|
|
16308
|
+
output_mtok: 0.96
|
|
16309
|
+
}
|
|
16310
|
+
},
|
|
16311
|
+
{
|
|
16312
|
+
id: "Qwen2.5-VL-72B-Instruct",
|
|
16313
|
+
name: "Qwen2.5-VL-72B-Instruct",
|
|
16314
|
+
match: {
|
|
16315
|
+
or: [
|
|
16316
|
+
{
|
|
16317
|
+
equals: "Qwen2.5-VL-72B-Instruct"
|
|
16318
|
+
},
|
|
16319
|
+
{
|
|
16320
|
+
equals: "qwen2.5-vl-72b-instruct"
|
|
16321
|
+
}
|
|
16322
|
+
]
|
|
16323
|
+
},
|
|
16324
|
+
context_window: 32768,
|
|
16325
|
+
prices: {
|
|
16326
|
+
input_mtok: 1.01,
|
|
16327
|
+
output_mtok: 1.01
|
|
16328
|
+
}
|
|
16329
|
+
},
|
|
16330
|
+
{
|
|
16331
|
+
id: "Qwen3-32B",
|
|
16332
|
+
name: "Qwen3-32B",
|
|
16333
|
+
match: {
|
|
16334
|
+
or: [
|
|
16335
|
+
{
|
|
16336
|
+
equals: "Qwen3-32B"
|
|
16337
|
+
},
|
|
16338
|
+
{
|
|
16339
|
+
equals: "qwen3-32b"
|
|
16340
|
+
}
|
|
16341
|
+
]
|
|
16342
|
+
},
|
|
16343
|
+
context_window: 32768,
|
|
16344
|
+
prices: {
|
|
16345
|
+
input_mtok: 0.09,
|
|
16346
|
+
output_mtok: 0.25
|
|
16347
|
+
}
|
|
16348
|
+
},
|
|
16349
|
+
{
|
|
16350
|
+
id: "Qwen3-Coder-30B-A3B-Instruct",
|
|
16351
|
+
name: "Qwen3-Coder-30B-A3B-Instruct",
|
|
16352
|
+
match: {
|
|
16353
|
+
or: [
|
|
16354
|
+
{
|
|
16355
|
+
equals: "Qwen3-Coder-30B-A3B-Instruct"
|
|
16356
|
+
},
|
|
16357
|
+
{
|
|
16358
|
+
equals: "qwen3-coder-30b-a3b-instruct"
|
|
16359
|
+
}
|
|
16360
|
+
]
|
|
16361
|
+
},
|
|
16362
|
+
context_window: 262144,
|
|
16363
|
+
prices: {
|
|
16364
|
+
input_mtok: 0.07,
|
|
16365
|
+
output_mtok: 0.26
|
|
16366
|
+
}
|
|
16367
|
+
},
|
|
16368
|
+
{
|
|
16369
|
+
id: "bge-base-en-v1.5",
|
|
16370
|
+
name: "bge-base-en-v1.5",
|
|
16371
|
+
match: {
|
|
16372
|
+
equals: "bge-base-en-v1.5"
|
|
16373
|
+
},
|
|
16374
|
+
context_window: 512,
|
|
16375
|
+
prices: {
|
|
16376
|
+
input_mtok: 0.01
|
|
16377
|
+
}
|
|
16378
|
+
},
|
|
16379
|
+
{
|
|
16380
|
+
id: "bge-multilingual-gemma2",
|
|
16381
|
+
name: "bge-multilingual-gemma2",
|
|
16382
|
+
match: {
|
|
16383
|
+
equals: "bge-multilingual-gemma2"
|
|
16384
|
+
},
|
|
16385
|
+
context_window: 8192,
|
|
16386
|
+
prices: {
|
|
16387
|
+
input_mtok: 0.01
|
|
16388
|
+
}
|
|
16389
|
+
},
|
|
16390
|
+
{
|
|
16391
|
+
id: "gpt-oss-120b",
|
|
16392
|
+
name: "gpt-oss-120b",
|
|
16393
|
+
match: {
|
|
16394
|
+
equals: "gpt-oss-120b"
|
|
16395
|
+
},
|
|
16396
|
+
context_window: 131072,
|
|
16397
|
+
prices: {
|
|
16398
|
+
input_mtok: 0.09,
|
|
16399
|
+
output_mtok: 0.47
|
|
16400
|
+
}
|
|
16401
|
+
},
|
|
16402
|
+
{
|
|
16403
|
+
id: "gpt-oss-20b",
|
|
16404
|
+
name: "gpt-oss-20b",
|
|
16405
|
+
match: {
|
|
16406
|
+
equals: "gpt-oss-20b"
|
|
16407
|
+
},
|
|
16408
|
+
context_window: 131072,
|
|
16409
|
+
prices: {
|
|
16410
|
+
input_mtok: 0.05,
|
|
16411
|
+
output_mtok: 0.18
|
|
16412
|
+
}
|
|
16413
|
+
},
|
|
16414
|
+
{
|
|
16415
|
+
id: "llava-next-mistral-7b",
|
|
16416
|
+
name: "llava-next-mistral-7b",
|
|
16417
|
+
match: {
|
|
16418
|
+
equals: "llava-next-mistral-7b"
|
|
16419
|
+
},
|
|
16420
|
+
context_window: 32768,
|
|
16421
|
+
prices: {
|
|
16422
|
+
input_mtok: 0.32,
|
|
16423
|
+
output_mtok: 0.32
|
|
16424
|
+
}
|
|
16425
|
+
}
|
|
16426
|
+
]
|
|
16427
|
+
},
|
|
15848
16428
|
{
|
|
15849
16429
|
id: "perplexity",
|
|
15850
16430
|
name: "Perplexity",
|
|
@@ -16961,33 +17541,33 @@ Compared to other leading proprietary and open-weights models Command A delivers
|
|
|
16961
17541
|
]
|
|
16962
17542
|
}
|
|
16963
17543
|
];
|
|
16964
|
-
function
|
|
17544
|
+
function M(t, e) {
|
|
16965
17545
|
if (e <= 0) return 0;
|
|
16966
17546
|
let a = 0;
|
|
16967
|
-
const i = [...t.tiers].sort((
|
|
16968
|
-
a +=
|
|
16969
|
-
for (let
|
|
16970
|
-
const n = i[
|
|
17547
|
+
const i = [...t.tiers].sort((m, n) => m.start - n.start), o = i[0]?.start ?? e, r = Math.min(e, o);
|
|
17548
|
+
a += r * t.base / 1e6;
|
|
17549
|
+
for (let m = 0; m < i.length; m++) {
|
|
17550
|
+
const n = i[m], s = i[m + 1]?.start ?? 1 / 0, u = Math.max(0, Math.min(e, s) - n.start);
|
|
16971
17551
|
u > 0 && (a += u * n.price / 1e6);
|
|
16972
17552
|
}
|
|
16973
17553
|
return a;
|
|
16974
17554
|
}
|
|
16975
17555
|
function c(t, e, a) {
|
|
16976
|
-
return t === void 0 || e === void 0 ? 0 : typeof t == "number" ? t * e / 1e6 :
|
|
17556
|
+
return t === void 0 || e === void 0 ? 0 : typeof t == "number" ? t * e / 1e6 : M(t, e);
|
|
16977
17557
|
}
|
|
16978
|
-
function
|
|
17558
|
+
function L(t, e) {
|
|
16979
17559
|
let a = 0, i = 0;
|
|
16980
|
-
const o = t.cache_read_tokens ?? 0,
|
|
17560
|
+
const o = t.cache_read_tokens ?? 0, r = t.cache_write_tokens ?? 0, m = t.cache_audio_read_tokens ?? 0, n = t.output_audio_tokens ?? 0;
|
|
16981
17561
|
let s = t.input_audio_tokens ?? 0;
|
|
16982
|
-
if (s -=
|
|
17562
|
+
if (s -= m, s < 0)
|
|
16983
17563
|
throw new Error("cache_audio_read_tokens cannot be greater than input_audio_tokens");
|
|
16984
17564
|
let u = t.input_tokens ?? 0;
|
|
16985
|
-
if (u -= o, u -=
|
|
17565
|
+
if (u -= o, u -= r, u -= s, u < 0)
|
|
16986
17566
|
throw new Error("Uncached text input tokens cannot be negative");
|
|
16987
17567
|
let p = o;
|
|
16988
|
-
if (p -=
|
|
17568
|
+
if (p -= m, p < 0)
|
|
16989
17569
|
throw new Error("cache_audio_read_tokens cannot be greater than cache_read_tokens");
|
|
16990
|
-
a += c(e.input_mtok, u), a += c(e.cache_read_mtok, p), a += c(e.cache_write_mtok,
|
|
17570
|
+
a += c(e.input_mtok, u), a += c(e.cache_read_mtok, p), a += c(e.cache_write_mtok, r), a += c(e.input_audio_mtok, s), a += c(e.cache_audio_read_mtok, m);
|
|
16991
17571
|
let k = t.output_tokens ?? 0;
|
|
16992
17572
|
if (k -= n, k < 0)
|
|
16993
17573
|
throw new Error("output_audio_tokens cannot be greater than output_tokens");
|
|
@@ -16999,7 +17579,7 @@ function M(t, e) {
|
|
|
16999
17579
|
total_price: f
|
|
17000
17580
|
};
|
|
17001
17581
|
}
|
|
17002
|
-
function
|
|
17582
|
+
function y(t, e) {
|
|
17003
17583
|
if (!Array.isArray(t.prices))
|
|
17004
17584
|
return t.prices;
|
|
17005
17585
|
for (let a = t.prices.length - 1; a >= 0; a--) {
|
|
@@ -17010,11 +17590,11 @@ function L(t, e) {
|
|
|
17010
17590
|
if (e >= new Date(o.start_date))
|
|
17011
17591
|
return i.prices;
|
|
17012
17592
|
} else {
|
|
17013
|
-
const
|
|
17014
|
-
if (n <
|
|
17015
|
-
if (
|
|
17593
|
+
const r = e.toISOString().slice(11, 19), m = o.start_time, n = o.end_time;
|
|
17594
|
+
if (n < m) {
|
|
17595
|
+
if (r >= m || r < n)
|
|
17016
17596
|
return i.prices;
|
|
17017
|
-
} else if (
|
|
17597
|
+
} else if (r >= m && r < n)
|
|
17018
17598
|
return i.prices;
|
|
17019
17599
|
}
|
|
17020
17600
|
}
|
|
@@ -17048,35 +17628,35 @@ function S(t) {
|
|
|
17048
17628
|
function A(t) {
|
|
17049
17629
|
b = t;
|
|
17050
17630
|
}
|
|
17051
|
-
function
|
|
17631
|
+
function C(t) {
|
|
17052
17632
|
t({
|
|
17053
17633
|
onCalc: A,
|
|
17054
17634
|
remoteDataUrl: P,
|
|
17055
17635
|
setProviderData: S
|
|
17056
17636
|
});
|
|
17057
17637
|
}
|
|
17058
|
-
function
|
|
17638
|
+
function z() {
|
|
17059
17639
|
return w;
|
|
17060
17640
|
}
|
|
17061
17641
|
function N(t, e, a) {
|
|
17062
17642
|
b?.();
|
|
17063
17643
|
const i = e.toLowerCase().trim(), o = a?.provider ?? B(g, { modelId: i, providerApiUrl: a?.providerApiUrl, providerId: a?.providerId });
|
|
17064
17644
|
if (!o) return null;
|
|
17065
|
-
const
|
|
17066
|
-
if (!
|
|
17067
|
-
const
|
|
17645
|
+
const r = T(o.models, i);
|
|
17646
|
+
if (!r) return null;
|
|
17647
|
+
const m = a?.timestamp ?? /* @__PURE__ */ new Date(), n = y(r, m), s = L(t, n);
|
|
17068
17648
|
return {
|
|
17069
17649
|
auto_update_timestamp: void 0,
|
|
17070
|
-
model:
|
|
17650
|
+
model: r,
|
|
17071
17651
|
model_price: n,
|
|
17072
17652
|
provider: o,
|
|
17073
17653
|
...s
|
|
17074
17654
|
};
|
|
17075
17655
|
}
|
|
17076
|
-
function
|
|
17656
|
+
function V(t) {
|
|
17077
17657
|
return b?.(), B(g, t);
|
|
17078
17658
|
}
|
|
17079
|
-
function
|
|
17659
|
+
function E(t, e, a) {
|
|
17080
17660
|
if (a = a ?? "default", !t.extractors)
|
|
17081
17661
|
throw new Error("No extraction logic defined for this provider");
|
|
17082
17662
|
const i = t.extractors.find((s) => s.api_flavor === a);
|
|
@@ -17086,9 +17666,9 @@ function V(t, e, a) {
|
|
|
17086
17666
|
}
|
|
17087
17667
|
if (!h.guard(e))
|
|
17088
17668
|
throw new Error(`Expected response data to be a mapping object, got ${l(e)}`);
|
|
17089
|
-
const o = q(i.model_path, e, R, !1, []),
|
|
17669
|
+
const o = q(i.model_path, e, R, !1, []), r = I(i.root), m = q(r, e, h, !0, []), n = {};
|
|
17090
17670
|
for (const s of i.mappings) {
|
|
17091
|
-
const u = q(s.path,
|
|
17671
|
+
const u = q(s.path, m, D, s.required, r);
|
|
17092
17672
|
if (u !== null) {
|
|
17093
17673
|
const p = n[s.dest] ?? 0;
|
|
17094
17674
|
n[s.dest] = p + u;
|
|
@@ -17099,13 +17679,13 @@ function V(t, e, a) {
|
|
|
17099
17679
|
return { model: o, usage: n };
|
|
17100
17680
|
}
|
|
17101
17681
|
function q(t, e, a, i, o) {
|
|
17102
|
-
const [
|
|
17103
|
-
if (typeof
|
|
17104
|
-
throw new Error(`Expected last step of path to be a string, got ${l(
|
|
17105
|
-
|
|
17682
|
+
const [r, ...m] = I(t).reverse();
|
|
17683
|
+
if (typeof r != "string")
|
|
17684
|
+
throw new Error(`Expected last step of path to be a string, got ${l(r)}`);
|
|
17685
|
+
m.reverse();
|
|
17106
17686
|
let n = e;
|
|
17107
17687
|
const s = [];
|
|
17108
|
-
for (const p of
|
|
17688
|
+
for (const p of m) {
|
|
17109
17689
|
if (s.push(p), typeof p == "object")
|
|
17110
17690
|
if (Array.isArray(n))
|
|
17111
17691
|
n = G(p, n);
|
|
@@ -17133,16 +17713,16 @@ function q(t, e, a, i, o) {
|
|
|
17133
17713
|
throw new Error(`Expected \`${d(o, s)}\` value to be a mapping, got ${l(n)}`);
|
|
17134
17714
|
return null;
|
|
17135
17715
|
}
|
|
17136
|
-
const u = n[
|
|
17716
|
+
const u = n[r];
|
|
17137
17717
|
if (typeof u > "u") {
|
|
17138
17718
|
if (i)
|
|
17139
|
-
throw s.push(
|
|
17719
|
+
throw s.push(r), new Error(`Missing value at \`${d(o, s)}\``);
|
|
17140
17720
|
return null;
|
|
17141
17721
|
}
|
|
17142
17722
|
if (a.guard(u))
|
|
17143
17723
|
return u;
|
|
17144
17724
|
if (i)
|
|
17145
|
-
throw s.push(
|
|
17725
|
+
throw s.push(r), new Error(`Expected \`${d(o, s)}\` value to be a ${a.name}, got ${l(u)}`);
|
|
17146
17726
|
return null;
|
|
17147
17727
|
}
|
|
17148
17728
|
function G(t, e) {
|
|
@@ -17172,8 +17752,8 @@ const h = {
|
|
|
17172
17752
|
export {
|
|
17173
17753
|
P as REMOTE_DATA_JSON_URL,
|
|
17174
17754
|
N as calcPrice,
|
|
17175
|
-
|
|
17176
|
-
|
|
17177
|
-
|
|
17178
|
-
|
|
17755
|
+
E as extractUsage,
|
|
17756
|
+
V as findProvider,
|
|
17757
|
+
C as updatePrices,
|
|
17758
|
+
z as waitForUpdate
|
|
17179
17759
|
};
|