@draht/ai 2026.3.6 → 2026.3.11-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +14 -10
  2. package/dist/env-api-keys.d.ts.map +1 -1
  3. package/dist/env-api-keys.js +5 -2
  4. package/dist/env-api-keys.js.map +1 -1
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +1 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/models.d.ts +1 -1
  10. package/dist/models.d.ts.map +1 -1
  11. package/dist/models.generated.d.ts +199 -131
  12. package/dist/models.generated.d.ts.map +1 -1
  13. package/dist/models.generated.js +282 -214
  14. package/dist/models.generated.js.map +1 -1
  15. package/dist/models.js +2 -2
  16. package/dist/models.js.map +1 -1
  17. package/dist/providers/amazon-bedrock.d.ts.map +1 -1
  18. package/dist/providers/amazon-bedrock.js +5 -2
  19. package/dist/providers/amazon-bedrock.js.map +1 -1
  20. package/dist/providers/anthropic.d.ts.map +1 -1
  21. package/dist/providers/anthropic.js +5 -2
  22. package/dist/providers/anthropic.js.map +1 -1
  23. package/dist/providers/azure-openai-responses.d.ts.map +1 -1
  24. package/dist/providers/azure-openai-responses.js +5 -2
  25. package/dist/providers/azure-openai-responses.js.map +1 -1
  26. package/dist/providers/google-gemini-cli.d.ts.map +1 -1
  27. package/dist/providers/google-gemini-cli.js +30 -17
  28. package/dist/providers/google-gemini-cli.js.map +1 -1
  29. package/dist/providers/google-shared.d.ts.map +1 -1
  30. package/dist/providers/google-shared.js +16 -22
  31. package/dist/providers/google-shared.js.map +1 -1
  32. package/dist/providers/google-vertex.d.ts.map +1 -1
  33. package/dist/providers/google-vertex.js +26 -5
  34. package/dist/providers/google-vertex.js.map +1 -1
  35. package/dist/providers/google.d.ts.map +1 -1
  36. package/dist/providers/google.js +5 -2
  37. package/dist/providers/google.js.map +1 -1
  38. package/dist/providers/mistral.d.ts +22 -0
  39. package/dist/providers/mistral.d.ts.map +1 -0
  40. package/dist/providers/mistral.js +498 -0
  41. package/dist/providers/mistral.js.map +1 -0
  42. package/dist/providers/openai-codex-responses.d.ts.map +1 -1
  43. package/dist/providers/openai-codex-responses.js +6 -3
  44. package/dist/providers/openai-codex-responses.js.map +1 -1
  45. package/dist/providers/openai-completions.d.ts.map +1 -1
  46. package/dist/providers/openai-completions.js +44 -67
  47. package/dist/providers/openai-completions.js.map +1 -1
  48. package/dist/providers/openai-responses-shared.d.ts.map +1 -1
  49. package/dist/providers/openai-responses-shared.js +36 -14
  50. package/dist/providers/openai-responses-shared.js.map +1 -1
  51. package/dist/providers/openai-responses.d.ts.map +1 -1
  52. package/dist/providers/openai-responses.js +5 -2
  53. package/dist/providers/openai-responses.js.map +1 -1
  54. package/dist/providers/register-builtins.d.ts +3 -2
  55. package/dist/providers/register-builtins.d.ts.map +1 -1
  56. package/dist/providers/register-builtins.js +6 -0
  57. package/dist/providers/register-builtins.js.map +1 -1
  58. package/dist/types.d.ts +9 -5
  59. package/dist/types.d.ts.map +1 -1
  60. package/dist/types.js.map +1 -1
  61. package/dist/utils/hash.d.ts +3 -0
  62. package/dist/utils/hash.d.ts.map +1 -0
  63. package/dist/utils/hash.js +14 -0
  64. package/dist/utils/hash.js.map +1 -0
  65. package/dist/utils/oauth/github-copilot.d.ts.map +1 -1
  66. package/dist/utils/oauth/github-copilot.js +23 -12
  67. package/dist/utils/oauth/github-copilot.js.map +1 -1
  68. package/dist/utils/overflow.d.ts +1 -1
  69. package/dist/utils/overflow.d.ts.map +1 -1
  70. package/dist/utils/overflow.js +5 -3
  71. package/dist/utils/overflow.js.map +1 -1
  72. package/package.json +6 -7
  73. package/oauth.d.ts +0 -1
  74. package/oauth.js +0 -1
@@ -886,6 +886,23 @@ export const MODELS = {
886
886
  contextWindow: 204800,
887
887
  maxTokens: 131072,
888
888
  },
889
+ "mistral.devstral-2-123b": {
890
+ id: "mistral.devstral-2-123b",
891
+ name: "Devstral 2 135B",
892
+ api: "bedrock-converse-stream",
893
+ provider: "amazon-bedrock",
894
+ baseUrl: "https://bedrock-runtime.us-east-1.amazonaws.com",
895
+ reasoning: false,
896
+ input: ["text"],
897
+ cost: {
898
+ input: 0.4,
899
+ output: 2,
900
+ cacheRead: 0,
901
+ cacheWrite: 0,
902
+ },
903
+ contextWindow: 256000,
904
+ maxTokens: 8192,
905
+ },
889
906
  "mistral.ministral-3-14b-instruct": {
890
907
  id: "mistral.ministral-3-14b-instruct",
891
908
  name: "Ministral 14B 3.0",
@@ -2298,7 +2315,7 @@ export const MODELS = {
2298
2315
  cacheRead: 0.25,
2299
2316
  cacheWrite: 0,
2300
2317
  },
2301
- contextWindow: 1050000,
2318
+ contextWindow: 272000,
2302
2319
  maxTokens: 128000,
2303
2320
  },
2304
2321
  "gpt-5.4-pro": {
@@ -3247,9 +3264,9 @@ export const MODELS = {
3247
3264
  reasoning: true,
3248
3265
  input: ["text", "image"],
3249
3266
  cost: {
3250
- input: 0,
3251
- output: 0,
3252
- cacheRead: 0,
3267
+ input: 0.5,
3268
+ output: 3,
3269
+ cacheRead: 0.05,
3253
3270
  cacheWrite: 0,
3254
3271
  },
3255
3272
  contextWindow: 1048576,
@@ -3427,6 +3444,23 @@ export const MODELS = {
3427
3444
  contextWindow: 200000,
3428
3445
  maxTokens: 64000,
3429
3446
  },
3447
+ "claude-sonnet-4-6": {
3448
+ id: "claude-sonnet-4-6",
3449
+ name: "Claude Sonnet 4.6 (Antigravity)",
3450
+ api: "google-gemini-cli",
3451
+ provider: "google-antigravity",
3452
+ baseUrl: "https://daily-cloudcode-pa.sandbox.googleapis.com",
3453
+ reasoning: true,
3454
+ input: ["text", "image"],
3455
+ cost: {
3456
+ input: 3,
3457
+ output: 15,
3458
+ cacheRead: 0.3,
3459
+ cacheWrite: 3.75,
3460
+ },
3461
+ contextWindow: 200000,
3462
+ maxTokens: 64000,
3463
+ },
3430
3464
  "gemini-3-flash": {
3431
3465
  id: "gemini-3-flash",
3432
3466
  name: "Gemini 3 Flash (Antigravity)",
@@ -4568,10 +4602,10 @@ export const MODELS = {
4568
4602
  "mistral": {
4569
4603
  "codestral-latest": {
4570
4604
  id: "codestral-latest",
4571
- name: "Codestral",
4572
- api: "openai-completions",
4605
+ name: "Codestral (latest)",
4606
+ api: "mistral-conversations",
4573
4607
  provider: "mistral",
4574
- baseUrl: "https://api.mistral.ai/v1",
4608
+ baseUrl: "https://api.mistral.ai",
4575
4609
  reasoning: false,
4576
4610
  input: ["text"],
4577
4611
  cost: {
@@ -4586,9 +4620,9 @@ export const MODELS = {
4586
4620
  "devstral-2512": {
4587
4621
  id: "devstral-2512",
4588
4622
  name: "Devstral 2",
4589
- api: "openai-completions",
4623
+ api: "mistral-conversations",
4590
4624
  provider: "mistral",
4591
- baseUrl: "https://api.mistral.ai/v1",
4625
+ baseUrl: "https://api.mistral.ai",
4592
4626
  reasoning: false,
4593
4627
  input: ["text"],
4594
4628
  cost: {
@@ -4603,9 +4637,9 @@ export const MODELS = {
4603
4637
  "devstral-medium-2507": {
4604
4638
  id: "devstral-medium-2507",
4605
4639
  name: "Devstral Medium",
4606
- api: "openai-completions",
4640
+ api: "mistral-conversations",
4607
4641
  provider: "mistral",
4608
- baseUrl: "https://api.mistral.ai/v1",
4642
+ baseUrl: "https://api.mistral.ai",
4609
4643
  reasoning: false,
4610
4644
  input: ["text"],
4611
4645
  cost: {
@@ -4619,10 +4653,10 @@ export const MODELS = {
4619
4653
  },
4620
4654
  "devstral-medium-latest": {
4621
4655
  id: "devstral-medium-latest",
4622
- name: "Devstral 2",
4623
- api: "openai-completions",
4656
+ name: "Devstral 2 (latest)",
4657
+ api: "mistral-conversations",
4624
4658
  provider: "mistral",
4625
- baseUrl: "https://api.mistral.ai/v1",
4659
+ baseUrl: "https://api.mistral.ai",
4626
4660
  reasoning: false,
4627
4661
  input: ["text"],
4628
4662
  cost: {
@@ -4637,9 +4671,9 @@ export const MODELS = {
4637
4671
  "devstral-small-2505": {
4638
4672
  id: "devstral-small-2505",
4639
4673
  name: "Devstral Small 2505",
4640
- api: "openai-completions",
4674
+ api: "mistral-conversations",
4641
4675
  provider: "mistral",
4642
- baseUrl: "https://api.mistral.ai/v1",
4676
+ baseUrl: "https://api.mistral.ai",
4643
4677
  reasoning: false,
4644
4678
  input: ["text"],
4645
4679
  cost: {
@@ -4654,9 +4688,9 @@ export const MODELS = {
4654
4688
  "devstral-small-2507": {
4655
4689
  id: "devstral-small-2507",
4656
4690
  name: "Devstral Small",
4657
- api: "openai-completions",
4691
+ api: "mistral-conversations",
4658
4692
  provider: "mistral",
4659
- baseUrl: "https://api.mistral.ai/v1",
4693
+ baseUrl: "https://api.mistral.ai",
4660
4694
  reasoning: false,
4661
4695
  input: ["text"],
4662
4696
  cost: {
@@ -4671,9 +4705,9 @@ export const MODELS = {
4671
4705
  "labs-devstral-small-2512": {
4672
4706
  id: "labs-devstral-small-2512",
4673
4707
  name: "Devstral Small 2",
4674
- api: "openai-completions",
4708
+ api: "mistral-conversations",
4675
4709
  provider: "mistral",
4676
- baseUrl: "https://api.mistral.ai/v1",
4710
+ baseUrl: "https://api.mistral.ai",
4677
4711
  reasoning: false,
4678
4712
  input: ["text", "image"],
4679
4713
  cost: {
@@ -4687,10 +4721,10 @@ export const MODELS = {
4687
4721
  },
4688
4722
  "magistral-medium-latest": {
4689
4723
  id: "magistral-medium-latest",
4690
- name: "Magistral Medium",
4691
- api: "openai-completions",
4724
+ name: "Magistral Medium (latest)",
4725
+ api: "mistral-conversations",
4692
4726
  provider: "mistral",
4693
- baseUrl: "https://api.mistral.ai/v1",
4727
+ baseUrl: "https://api.mistral.ai",
4694
4728
  reasoning: true,
4695
4729
  input: ["text"],
4696
4730
  cost: {
@@ -4705,9 +4739,9 @@ export const MODELS = {
4705
4739
  "magistral-small": {
4706
4740
  id: "magistral-small",
4707
4741
  name: "Magistral Small",
4708
- api: "openai-completions",
4742
+ api: "mistral-conversations",
4709
4743
  provider: "mistral",
4710
- baseUrl: "https://api.mistral.ai/v1",
4744
+ baseUrl: "https://api.mistral.ai",
4711
4745
  reasoning: true,
4712
4746
  input: ["text"],
4713
4747
  cost: {
@@ -4721,10 +4755,10 @@ export const MODELS = {
4721
4755
  },
4722
4756
  "ministral-3b-latest": {
4723
4757
  id: "ministral-3b-latest",
4724
- name: "Ministral 3B",
4725
- api: "openai-completions",
4758
+ name: "Ministral 3B (latest)",
4759
+ api: "mistral-conversations",
4726
4760
  provider: "mistral",
4727
- baseUrl: "https://api.mistral.ai/v1",
4761
+ baseUrl: "https://api.mistral.ai",
4728
4762
  reasoning: false,
4729
4763
  input: ["text"],
4730
4764
  cost: {
@@ -4738,10 +4772,10 @@ export const MODELS = {
4738
4772
  },
4739
4773
  "ministral-8b-latest": {
4740
4774
  id: "ministral-8b-latest",
4741
- name: "Ministral 8B",
4742
- api: "openai-completions",
4775
+ name: "Ministral 8B (latest)",
4776
+ api: "mistral-conversations",
4743
4777
  provider: "mistral",
4744
- baseUrl: "https://api.mistral.ai/v1",
4778
+ baseUrl: "https://api.mistral.ai",
4745
4779
  reasoning: false,
4746
4780
  input: ["text"],
4747
4781
  cost: {
@@ -4756,9 +4790,9 @@ export const MODELS = {
4756
4790
  "mistral-large-2411": {
4757
4791
  id: "mistral-large-2411",
4758
4792
  name: "Mistral Large 2.1",
4759
- api: "openai-completions",
4793
+ api: "mistral-conversations",
4760
4794
  provider: "mistral",
4761
- baseUrl: "https://api.mistral.ai/v1",
4795
+ baseUrl: "https://api.mistral.ai",
4762
4796
  reasoning: false,
4763
4797
  input: ["text"],
4764
4798
  cost: {
@@ -4773,9 +4807,9 @@ export const MODELS = {
4773
4807
  "mistral-large-2512": {
4774
4808
  id: "mistral-large-2512",
4775
4809
  name: "Mistral Large 3",
4776
- api: "openai-completions",
4810
+ api: "mistral-conversations",
4777
4811
  provider: "mistral",
4778
- baseUrl: "https://api.mistral.ai/v1",
4812
+ baseUrl: "https://api.mistral.ai",
4779
4813
  reasoning: false,
4780
4814
  input: ["text", "image"],
4781
4815
  cost: {
@@ -4789,10 +4823,10 @@ export const MODELS = {
4789
4823
  },
4790
4824
  "mistral-large-latest": {
4791
4825
  id: "mistral-large-latest",
4792
- name: "Mistral Large",
4793
- api: "openai-completions",
4826
+ name: "Mistral Large (latest)",
4827
+ api: "mistral-conversations",
4794
4828
  provider: "mistral",
4795
- baseUrl: "https://api.mistral.ai/v1",
4829
+ baseUrl: "https://api.mistral.ai",
4796
4830
  reasoning: false,
4797
4831
  input: ["text", "image"],
4798
4832
  cost: {
@@ -4807,9 +4841,9 @@ export const MODELS = {
4807
4841
  "mistral-medium-2505": {
4808
4842
  id: "mistral-medium-2505",
4809
4843
  name: "Mistral Medium 3",
4810
- api: "openai-completions",
4844
+ api: "mistral-conversations",
4811
4845
  provider: "mistral",
4812
- baseUrl: "https://api.mistral.ai/v1",
4846
+ baseUrl: "https://api.mistral.ai",
4813
4847
  reasoning: false,
4814
4848
  input: ["text", "image"],
4815
4849
  cost: {
@@ -4824,9 +4858,9 @@ export const MODELS = {
4824
4858
  "mistral-medium-2508": {
4825
4859
  id: "mistral-medium-2508",
4826
4860
  name: "Mistral Medium 3.1",
4827
- api: "openai-completions",
4861
+ api: "mistral-conversations",
4828
4862
  provider: "mistral",
4829
- baseUrl: "https://api.mistral.ai/v1",
4863
+ baseUrl: "https://api.mistral.ai",
4830
4864
  reasoning: false,
4831
4865
  input: ["text", "image"],
4832
4866
  cost: {
@@ -4840,10 +4874,10 @@ export const MODELS = {
4840
4874
  },
4841
4875
  "mistral-medium-latest": {
4842
4876
  id: "mistral-medium-latest",
4843
- name: "Mistral Medium",
4844
- api: "openai-completions",
4877
+ name: "Mistral Medium (latest)",
4878
+ api: "mistral-conversations",
4845
4879
  provider: "mistral",
4846
- baseUrl: "https://api.mistral.ai/v1",
4880
+ baseUrl: "https://api.mistral.ai",
4847
4881
  reasoning: false,
4848
4882
  input: ["text", "image"],
4849
4883
  cost: {
@@ -4858,9 +4892,9 @@ export const MODELS = {
4858
4892
  "mistral-nemo": {
4859
4893
  id: "mistral-nemo",
4860
4894
  name: "Mistral Nemo",
4861
- api: "openai-completions",
4895
+ api: "mistral-conversations",
4862
4896
  provider: "mistral",
4863
- baseUrl: "https://api.mistral.ai/v1",
4897
+ baseUrl: "https://api.mistral.ai",
4864
4898
  reasoning: false,
4865
4899
  input: ["text"],
4866
4900
  cost: {
@@ -4875,9 +4909,9 @@ export const MODELS = {
4875
4909
  "mistral-small-2506": {
4876
4910
  id: "mistral-small-2506",
4877
4911
  name: "Mistral Small 3.2",
4878
- api: "openai-completions",
4912
+ api: "mistral-conversations",
4879
4913
  provider: "mistral",
4880
- baseUrl: "https://api.mistral.ai/v1",
4914
+ baseUrl: "https://api.mistral.ai",
4881
4915
  reasoning: false,
4882
4916
  input: ["text", "image"],
4883
4917
  cost: {
@@ -4891,10 +4925,10 @@ export const MODELS = {
4891
4925
  },
4892
4926
  "mistral-small-latest": {
4893
4927
  id: "mistral-small-latest",
4894
- name: "Mistral Small",
4895
- api: "openai-completions",
4928
+ name: "Mistral Small (latest)",
4929
+ api: "mistral-conversations",
4896
4930
  provider: "mistral",
4897
- baseUrl: "https://api.mistral.ai/v1",
4931
+ baseUrl: "https://api.mistral.ai",
4898
4932
  reasoning: false,
4899
4933
  input: ["text", "image"],
4900
4934
  cost: {
@@ -4909,9 +4943,9 @@ export const MODELS = {
4909
4943
  "open-mistral-7b": {
4910
4944
  id: "open-mistral-7b",
4911
4945
  name: "Mistral 7B",
4912
- api: "openai-completions",
4946
+ api: "mistral-conversations",
4913
4947
  provider: "mistral",
4914
- baseUrl: "https://api.mistral.ai/v1",
4948
+ baseUrl: "https://api.mistral.ai",
4915
4949
  reasoning: false,
4916
4950
  input: ["text"],
4917
4951
  cost: {
@@ -4926,9 +4960,9 @@ export const MODELS = {
4926
4960
  "open-mixtral-8x22b": {
4927
4961
  id: "open-mixtral-8x22b",
4928
4962
  name: "Mixtral 8x22B",
4929
- api: "openai-completions",
4963
+ api: "mistral-conversations",
4930
4964
  provider: "mistral",
4931
- baseUrl: "https://api.mistral.ai/v1",
4965
+ baseUrl: "https://api.mistral.ai",
4932
4966
  reasoning: false,
4933
4967
  input: ["text"],
4934
4968
  cost: {
@@ -4943,9 +4977,9 @@ export const MODELS = {
4943
4977
  "open-mixtral-8x7b": {
4944
4978
  id: "open-mixtral-8x7b",
4945
4979
  name: "Mixtral 8x7B",
4946
- api: "openai-completions",
4980
+ api: "mistral-conversations",
4947
4981
  provider: "mistral",
4948
- baseUrl: "https://api.mistral.ai/v1",
4982
+ baseUrl: "https://api.mistral.ai",
4949
4983
  reasoning: false,
4950
4984
  input: ["text"],
4951
4985
  cost: {
@@ -4960,9 +4994,9 @@ export const MODELS = {
4960
4994
  "pixtral-12b": {
4961
4995
  id: "pixtral-12b",
4962
4996
  name: "Pixtral 12B",
4963
- api: "openai-completions",
4997
+ api: "mistral-conversations",
4964
4998
  provider: "mistral",
4965
- baseUrl: "https://api.mistral.ai/v1",
4999
+ baseUrl: "https://api.mistral.ai",
4966
5000
  reasoning: false,
4967
5001
  input: ["text", "image"],
4968
5002
  cost: {
@@ -4976,10 +5010,10 @@ export const MODELS = {
4976
5010
  },
4977
5011
  "pixtral-large-latest": {
4978
5012
  id: "pixtral-large-latest",
4979
- name: "Pixtral Large",
4980
- api: "openai-completions",
5013
+ name: "Pixtral Large (latest)",
5014
+ api: "mistral-conversations",
4981
5015
  provider: "mistral",
4982
- baseUrl: "https://api.mistral.ai/v1",
5016
+ baseUrl: "https://api.mistral.ai",
4983
5017
  reasoning: false,
4984
5018
  input: ["text", "image"],
4985
5019
  cost: {
@@ -5483,7 +5517,7 @@ export const MODELS = {
5483
5517
  cacheRead: 0.25,
5484
5518
  cacheWrite: 0,
5485
5519
  },
5486
- contextWindow: 1050000,
5520
+ contextWindow: 272000,
5487
5521
  maxTokens: 128000,
5488
5522
  },
5489
5523
  "gpt-5.4-pro": {
@@ -5760,6 +5794,23 @@ export const MODELS = {
5760
5794
  contextWindow: 128000,
5761
5795
  maxTokens: 128000,
5762
5796
  },
5797
+ "gpt-5.4": {
5798
+ id: "gpt-5.4",
5799
+ name: "GPT-5.4",
5800
+ api: "openai-codex-responses",
5801
+ provider: "openai-codex",
5802
+ baseUrl: "https://chatgpt.com/backend-api",
5803
+ reasoning: true,
5804
+ input: ["text", "image"],
5805
+ cost: {
5806
+ input: 2.5,
5807
+ output: 15,
5808
+ cacheRead: 0.25,
5809
+ cacheWrite: 0,
5810
+ },
5811
+ contextWindow: 272000,
5812
+ maxTokens: 128000,
5813
+ },
5763
5814
  },
5764
5815
  "opencode": {
5765
5816
  "big-pickle": {
@@ -6187,23 +6238,6 @@ export const MODELS = {
6187
6238
  contextWindow: 400000,
6188
6239
  maxTokens: 128000,
6189
6240
  },
6190
- "gpt-5.3-codex-spark": {
6191
- id: "gpt-5.3-codex-spark",
6192
- name: "GPT-5.3 Codex Spark",
6193
- api: "openai-responses",
6194
- provider: "opencode",
6195
- baseUrl: "https://opencode.ai/zen/v1",
6196
- reasoning: true,
6197
- input: ["text"],
6198
- cost: {
6199
- input: 1.75,
6200
- output: 14,
6201
- cacheRead: 0.175,
6202
- cacheWrite: 0,
6203
- },
6204
- contextWindow: 128000,
6205
- maxTokens: 128000,
6206
- },
6207
6241
  "gpt-5.4": {
6208
6242
  id: "gpt-5.4",
6209
6243
  name: "GPT-5.4",
@@ -6218,7 +6252,7 @@ export const MODELS = {
6218
6252
  cacheRead: 0.25,
6219
6253
  cacheWrite: 0,
6220
6254
  },
6221
- contextWindow: 1050000,
6255
+ contextWindow: 272000,
6222
6256
  maxTokens: 128000,
6223
6257
  },
6224
6258
  "gpt-5.4-pro": {
@@ -6255,6 +6289,23 @@ export const MODELS = {
6255
6289
  contextWindow: 262144,
6256
6290
  maxTokens: 65536,
6257
6291
  },
6292
+ "mimo-v2-flash-free": {
6293
+ id: "mimo-v2-flash-free",
6294
+ name: "MiMo V2 Flash Free",
6295
+ api: "openai-completions",
6296
+ provider: "opencode",
6297
+ baseUrl: "https://opencode.ai/zen/v1",
6298
+ reasoning: true,
6299
+ input: ["text"],
6300
+ cost: {
6301
+ input: 0,
6302
+ output: 0,
6303
+ cacheRead: 0,
6304
+ cacheWrite: 0,
6305
+ },
6306
+ contextWindow: 262144,
6307
+ maxTokens: 65536,
6308
+ },
6258
6309
  "minimax-m2.1": {
6259
6310
  id: "minimax-m2.1",
6260
6311
  name: "MiniMax M2.1",
@@ -6871,6 +6922,23 @@ export const MODELS = {
6871
6922
  contextWindow: 262144,
6872
6923
  maxTokens: 32768,
6873
6924
  },
6925
+ "bytedance-seed/seed-2.0-lite": {
6926
+ id: "bytedance-seed/seed-2.0-lite",
6927
+ name: "ByteDance Seed: Seed-2.0-Lite",
6928
+ api: "openai-completions",
6929
+ provider: "openrouter",
6930
+ baseUrl: "https://openrouter.ai/api/v1",
6931
+ reasoning: true,
6932
+ input: ["text", "image"],
6933
+ cost: {
6934
+ input: 0.25,
6935
+ output: 2,
6936
+ cacheRead: 0,
6937
+ cacheWrite: 0,
6938
+ },
6939
+ contextWindow: 262144,
6940
+ maxTokens: 131072,
6941
+ },
6874
6942
  "bytedance-seed/seed-2.0-mini": {
6875
6943
  id: "bytedance-seed/seed-2.0-mini",
6876
6944
  name: "ByteDance Seed: Seed-2.0-Mini",
@@ -6950,11 +7018,11 @@ export const MODELS = {
6950
7018
  cost: {
6951
7019
  input: 0.19999999999999998,
6952
7020
  output: 0.77,
6953
- cacheRead: 0.13,
7021
+ cacheRead: 0.135,
6954
7022
  cacheWrite: 0,
6955
7023
  },
6956
7024
  contextWindow: 163840,
6957
- maxTokens: 163840,
7025
+ maxTokens: 4096,
6958
7026
  },
6959
7027
  "deepseek/deepseek-chat-v3.1": {
6960
7028
  id: "deepseek/deepseek-chat-v3.1",
@@ -7024,23 +7092,6 @@ export const MODELS = {
7024
7092
  contextWindow: 163840,
7025
7093
  maxTokens: 4096,
7026
7094
  },
7027
- "deepseek/deepseek-v3.1-terminus:exacto": {
7028
- id: "deepseek/deepseek-v3.1-terminus:exacto",
7029
- name: "DeepSeek: DeepSeek V3.1 Terminus (exacto)",
7030
- api: "openai-completions",
7031
- provider: "openrouter",
7032
- baseUrl: "https://openrouter.ai/api/v1",
7033
- reasoning: true,
7034
- input: ["text"],
7035
- cost: {
7036
- input: 0.21,
7037
- output: 0.7899999999999999,
7038
- cacheRead: 0.16799999999999998,
7039
- cacheWrite: 0,
7040
- },
7041
- contextWindow: 163840,
7042
- maxTokens: 4096,
7043
- },
7044
7095
  "deepseek/deepseek-v3.2": {
7045
7096
  id: "deepseek/deepseek-v3.2",
7046
7097
  name: "DeepSeek: DeepSeek V3.2",
@@ -7322,9 +7373,9 @@ export const MODELS = {
7322
7373
  reasoning: false,
7323
7374
  input: ["text", "image"],
7324
7375
  cost: {
7325
- input: 0.04,
7326
- output: 0.15,
7327
- cacheRead: 0.02,
7376
+ input: 0.03,
7377
+ output: 0.11,
7378
+ cacheRead: 0.015,
7328
7379
  cacheWrite: 0,
7329
7380
  },
7330
7381
  contextWindow: 128000,
@@ -7628,13 +7679,13 @@ export const MODELS = {
7628
7679
  reasoning: true,
7629
7680
  input: ["text"],
7630
7681
  cost: {
7631
- input: 0.295,
7632
- output: 1.2,
7633
- cacheRead: 0.03,
7682
+ input: 0.27,
7683
+ output: 0.95,
7684
+ cacheRead: 0.0299999997,
7634
7685
  cacheWrite: 0,
7635
7686
  },
7636
7687
  contextWindow: 196608,
7637
- maxTokens: 196608,
7688
+ maxTokens: 4096,
7638
7689
  },
7639
7690
  "mistralai/codestral-2508": {
7640
7691
  id: "mistralai/codestral-2508",
@@ -8061,23 +8112,6 @@ export const MODELS = {
8061
8112
  contextWindow: 131072,
8062
8113
  maxTokens: 4096,
8063
8114
  },
8064
- "moonshotai/kimi-k2-0905:exacto": {
8065
- id: "moonshotai/kimi-k2-0905:exacto",
8066
- name: "MoonshotAI: Kimi K2 0905 (exacto)",
8067
- api: "openai-completions",
8068
- provider: "openrouter",
8069
- baseUrl: "https://openrouter.ai/api/v1",
8070
- reasoning: false,
8071
- input: ["text"],
8072
- cost: {
8073
- input: 0.6,
8074
- output: 2.5,
8075
- cacheRead: 0,
8076
- cacheWrite: 0,
8077
- },
8078
- contextWindow: 262144,
8079
- maxTokens: 4096,
8080
- },
8081
8115
  "moonshotai/kimi-k2-thinking": {
8082
8116
  id: "moonshotai/kimi-k2-thinking",
8083
8117
  name: "MoonshotAI: Kimi K2 Thinking",
@@ -8104,13 +8138,13 @@ export const MODELS = {
8104
8138
  reasoning: true,
8105
8139
  input: ["text", "image"],
8106
8140
  cost: {
8107
- input: 0.44999999999999996,
8108
- output: 2.2,
8109
- cacheRead: 0.22499999999999998,
8141
+ input: 0.41,
8142
+ output: 2.06,
8143
+ cacheRead: 0.07,
8110
8144
  cacheWrite: 0,
8111
8145
  },
8112
8146
  contextWindow: 262144,
8113
- maxTokens: 65535,
8147
+ maxTokens: 4096,
8114
8148
  },
8115
8149
  "nex-agi/deepseek-v3.1-nex-n1": {
8116
8150
  id: "nex-agi/deepseek-v3.1-nex-n1",
@@ -8928,23 +8962,6 @@ export const MODELS = {
8928
8962
  contextWindow: 131072,
8929
8963
  maxTokens: 4096,
8930
8964
  },
8931
- "openai/gpt-oss-120b:exacto": {
8932
- id: "openai/gpt-oss-120b:exacto",
8933
- name: "OpenAI: gpt-oss-120b (exacto)",
8934
- api: "openai-completions",
8935
- provider: "openrouter",
8936
- baseUrl: "https://openrouter.ai/api/v1",
8937
- reasoning: true,
8938
- input: ["text"],
8939
- cost: {
8940
- input: 0.039,
8941
- output: 0.19,
8942
- cacheRead: 0,
8943
- cacheWrite: 0,
8944
- },
8945
- contextWindow: 131072,
8946
- maxTokens: 4096,
8947
- },
8948
8965
  "openai/gpt-oss-120b:free": {
8949
8966
  id: "openai/gpt-oss-120b:free",
8950
8967
  name: "OpenAI: gpt-oss-120b (free)",
@@ -9608,23 +9625,6 @@ export const MODELS = {
9608
9625
  contextWindow: 1000000,
9609
9626
  maxTokens: 65536,
9610
9627
  },
9611
- "qwen/qwen3-coder:exacto": {
9612
- id: "qwen/qwen3-coder:exacto",
9613
- name: "Qwen: Qwen3 Coder 480B A35B (exacto)",
9614
- api: "openai-completions",
9615
- provider: "openrouter",
9616
- baseUrl: "https://openrouter.ai/api/v1",
9617
- reasoning: false,
9618
- input: ["text"],
9619
- cost: {
9620
- input: 0.22,
9621
- output: 1.7999999999999998,
9622
- cacheRead: 0.022,
9623
- cacheWrite: 0,
9624
- },
9625
- contextWindow: 262144,
9626
- maxTokens: 65536,
9627
- },
9628
9628
  "qwen/qwen3-coder:free": {
9629
9629
  id: "qwen/qwen3-coder:free",
9630
9630
  name: "Qwen: Qwen3 Coder 480B A35B (free)",
@@ -9690,7 +9690,7 @@ export const MODELS = {
9690
9690
  cacheRead: 0,
9691
9691
  cacheWrite: 0,
9692
9692
  },
9693
- contextWindow: 262144,
9693
+ contextWindow: 131072,
9694
9694
  maxTokens: 4096,
9695
9695
  },
9696
9696
  "qwen/qwen3-next-80b-a3b-instruct:free": {
@@ -9914,6 +9914,23 @@ export const MODELS = {
9914
9914
  contextWindow: 262144,
9915
9915
  maxTokens: 65536,
9916
9916
  },
9917
+ "qwen/qwen3.5-9b": {
9918
+ id: "qwen/qwen3.5-9b",
9919
+ name: "Qwen: Qwen3.5-9B",
9920
+ api: "openai-completions",
9921
+ provider: "openrouter",
9922
+ baseUrl: "https://openrouter.ai/api/v1",
9923
+ reasoning: true,
9924
+ input: ["text", "image"],
9925
+ cost: {
9926
+ input: 0.09999999999999999,
9927
+ output: 0.15,
9928
+ cacheRead: 0,
9929
+ cacheWrite: 0,
9930
+ },
9931
+ contextWindow: 262144,
9932
+ maxTokens: 4096,
9933
+ },
9917
9934
  "qwen/qwen3.5-flash-02-23": {
9918
9935
  id: "qwen/qwen3.5-flash-02-23",
9919
9936
  name: "Qwen: Qwen3.5-Flash",
@@ -10008,13 +10025,13 @@ export const MODELS = {
10008
10025
  reasoning: false,
10009
10026
  input: ["text"],
10010
10027
  cost: {
10011
- input: 0.65,
10012
- output: 0.75,
10028
+ input: 0.85,
10029
+ output: 0.85,
10013
10030
  cacheRead: 0,
10014
10031
  cacheWrite: 0,
10015
10032
  },
10016
- contextWindow: 32768,
10017
- maxTokens: 32768,
10033
+ contextWindow: 131072,
10034
+ maxTokens: 16384,
10018
10035
  },
10019
10036
  "stepfun/step-3.5-flash": {
10020
10037
  id: "stepfun/step-3.5-flash",
@@ -10373,23 +10390,6 @@ export const MODELS = {
10373
10390
  contextWindow: 204800,
10374
10391
  maxTokens: 204800,
10375
10392
  },
10376
- "z-ai/glm-4.6:exacto": {
10377
- id: "z-ai/glm-4.6:exacto",
10378
- name: "Z.ai: GLM 4.6 (exacto)",
10379
- api: "openai-completions",
10380
- provider: "openrouter",
10381
- baseUrl: "https://openrouter.ai/api/v1",
10382
- reasoning: true,
10383
- input: ["text"],
10384
- cost: {
10385
- input: 0.44,
10386
- output: 1.76,
10387
- cacheRead: 0.11,
10388
- cacheWrite: 0,
10389
- },
10390
- contextWindow: 204800,
10391
- maxTokens: 131072,
10392
- },
10393
10393
  "z-ai/glm-4.6v": {
10394
10394
  id: "z-ai/glm-4.6v",
10395
10395
  name: "Z.ai: GLM 4.6V",
@@ -10450,13 +10450,13 @@ export const MODELS = {
10450
10450
  reasoning: true,
10451
10451
  input: ["text"],
10452
10452
  cost: {
10453
- input: 0.7999999999999999,
10454
- output: 2.56,
10455
- cacheRead: 0.16,
10453
+ input: 0.6,
10454
+ output: 1.9,
10455
+ cacheRead: 0.119,
10456
10456
  cacheWrite: 0,
10457
10457
  },
10458
10458
  contextWindow: 202752,
10459
- maxTokens: 4096,
10459
+ maxTokens: 131072,
10460
10460
  },
10461
10461
  },
10462
10462
  "vercel-ai-gateway": {
@@ -10585,7 +10585,7 @@ export const MODELS = {
10585
10585
  api: "anthropic-messages",
10586
10586
  provider: "vercel-ai-gateway",
10587
10587
  baseUrl: "https://ai-gateway.vercel.sh",
10588
- reasoning: true,
10588
+ reasoning: false,
10589
10589
  input: ["text"],
10590
10590
  cost: {
10591
10591
  input: 0.5,
@@ -11463,6 +11463,23 @@ export const MODELS = {
11463
11463
  contextWindow: 204800,
11464
11464
  maxTokens: 131000,
11465
11465
  },
11466
+ "minimax/minimax-m2.5-highspeed": {
11467
+ id: "minimax/minimax-m2.5-highspeed",
11468
+ name: "MiniMax M2.5 High Speed",
11469
+ api: "anthropic-messages",
11470
+ provider: "vercel-ai-gateway",
11471
+ baseUrl: "https://ai-gateway.vercel.sh",
11472
+ reasoning: true,
11473
+ input: ["text"],
11474
+ cost: {
11475
+ input: 0.6,
11476
+ output: 2.4,
11477
+ cacheRead: 0.03,
11478
+ cacheWrite: 0.375,
11479
+ },
11480
+ contextWindow: 4096,
11481
+ maxTokens: 4096,
11482
+ },
11466
11483
  "mistral/codestral": {
11467
11484
  id: "mistral/codestral",
11468
11485
  name: "Mistral Codestral",
@@ -11752,23 +11769,6 @@ export const MODELS = {
11752
11769
  contextWindow: 131072,
11753
11770
  maxTokens: 131072,
11754
11771
  },
11755
- "openai/codex-mini": {
11756
- id: "openai/codex-mini",
11757
- name: "Codex Mini",
11758
- api: "anthropic-messages",
11759
- provider: "vercel-ai-gateway",
11760
- baseUrl: "https://ai-gateway.vercel.sh",
11761
- reasoning: true,
11762
- input: ["text", "image"],
11763
- cost: {
11764
- input: 1.5,
11765
- output: 6,
11766
- cacheRead: 0.375,
11767
- cacheWrite: 0,
11768
- },
11769
- contextWindow: 200000,
11770
- maxTokens: 100000,
11771
- },
11772
11772
  "openai/gpt-4-turbo": {
11773
11773
  id: "openai/gpt-4-turbo",
11774
11774
  name: "GPT-4 Turbo",
@@ -12174,7 +12174,7 @@ export const MODELS = {
12174
12174
  cacheRead: 0.25,
12175
12175
  cacheWrite: 0,
12176
12176
  },
12177
- contextWindow: 1050000,
12177
+ contextWindow: 200000,
12178
12178
  maxTokens: 128000,
12179
12179
  },
12180
12180
  "openai/gpt-5.4-pro": {
@@ -12191,7 +12191,7 @@ export const MODELS = {
12191
12191
  cacheRead: 0,
12192
12192
  cacheWrite: 0,
12193
12193
  },
12194
- contextWindow: 1050000,
12194
+ contextWindow: 200000,
12195
12195
  maxTokens: 128000,
12196
12196
  },
12197
12197
  "openai/gpt-oss-120b": {
@@ -12755,6 +12755,23 @@ export const MODELS = {
12755
12755
  contextWindow: 202752,
12756
12756
  maxTokens: 120000,
12757
12757
  },
12758
+ "zai/glm-4.7-flash": {
12759
+ id: "zai/glm-4.7-flash",
12760
+ name: "GLM 4.7 Flash",
12761
+ api: "anthropic-messages",
12762
+ provider: "vercel-ai-gateway",
12763
+ baseUrl: "https://ai-gateway.vercel.sh",
12764
+ reasoning: true,
12765
+ input: ["text"],
12766
+ cost: {
12767
+ input: 0.07,
12768
+ output: 0.39999999999999997,
12769
+ cacheRead: 0,
12770
+ cacheWrite: 0,
12771
+ },
12772
+ contextWindow: 200000,
12773
+ maxTokens: 131000,
12774
+ },
12758
12775
  "zai/glm-4.7-flashx": {
12759
12776
  id: "zai/glm-4.7-flashx",
12760
12777
  name: "GLM 4.7 FlashX",
@@ -12774,20 +12791,20 @@ export const MODELS = {
12774
12791
  },
12775
12792
  "zai/glm-5": {
12776
12793
  id: "zai/glm-5",
12777
- name: "GLM-5",
12794
+ name: "GLM 5",
12778
12795
  api: "anthropic-messages",
12779
12796
  provider: "vercel-ai-gateway",
12780
12797
  baseUrl: "https://ai-gateway.vercel.sh",
12781
12798
  reasoning: true,
12782
12799
  input: ["text"],
12783
12800
  cost: {
12784
- input: 1,
12785
- output: 3.1999999999999997,
12786
- cacheRead: 0.19999999999999998,
12801
+ input: 0.7999999999999999,
12802
+ output: 2.56,
12803
+ cacheRead: 0.16,
12787
12804
  cacheWrite: 0,
12788
12805
  },
12789
12806
  contextWindow: 202800,
12790
- maxTokens: 131072,
12807
+ maxTokens: 131100,
12791
12808
  },
12792
12809
  },
12793
12810
  "xai": {
@@ -13114,6 +13131,57 @@ export const MODELS = {
13114
13131
  contextWindow: 2000000,
13115
13132
  maxTokens: 30000,
13116
13133
  },
13134
+ "grok-4.20-experimental-beta-0304-non-reasoning": {
13135
+ id: "grok-4.20-experimental-beta-0304-non-reasoning",
13136
+ name: "Grok 4.20 (Experimental, Non-Reasoning)",
13137
+ api: "openai-completions",
13138
+ provider: "xai",
13139
+ baseUrl: "https://api.x.ai/v1",
13140
+ reasoning: false,
13141
+ input: ["text", "image"],
13142
+ cost: {
13143
+ input: 2,
13144
+ output: 6,
13145
+ cacheRead: 0.2,
13146
+ cacheWrite: 0,
13147
+ },
13148
+ contextWindow: 2000000,
13149
+ maxTokens: 30000,
13150
+ },
13151
+ "grok-4.20-experimental-beta-0304-reasoning": {
13152
+ id: "grok-4.20-experimental-beta-0304-reasoning",
13153
+ name: "Grok 4.20 (Experimental, Reasoning)",
13154
+ api: "openai-completions",
13155
+ provider: "xai",
13156
+ baseUrl: "https://api.x.ai/v1",
13157
+ reasoning: true,
13158
+ input: ["text", "image"],
13159
+ cost: {
13160
+ input: 2,
13161
+ output: 6,
13162
+ cacheRead: 0.2,
13163
+ cacheWrite: 0,
13164
+ },
13165
+ contextWindow: 2000000,
13166
+ maxTokens: 30000,
13167
+ },
13168
+ "grok-4.20-multi-agent-experimental-beta-0304": {
13169
+ id: "grok-4.20-multi-agent-experimental-beta-0304",
13170
+ name: "Grok 4.20 Multi-Agent (Experimental)",
13171
+ api: "openai-completions",
13172
+ provider: "xai",
13173
+ baseUrl: "https://api.x.ai/v1",
13174
+ reasoning: true,
13175
+ input: ["text", "image"],
13176
+ cost: {
13177
+ input: 2,
13178
+ output: 6,
13179
+ cacheRead: 0.2,
13180
+ cacheWrite: 0,
13181
+ },
13182
+ contextWindow: 2000000,
13183
+ maxTokens: 30000,
13184
+ },
13117
13185
  "grok-beta": {
13118
13186
  id: "grok-beta",
13119
13187
  name: "Grok Beta",