@mariozechner/pi-ai 0.56.1 → 0.56.3

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 (49) hide show
  1. package/README.md +4 -3
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +1 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/models.d.ts +1 -1
  7. package/dist/models.d.ts.map +1 -1
  8. package/dist/models.generated.d.ts +285 -35
  9. package/dist/models.generated.d.ts.map +1 -1
  10. package/dist/models.generated.js +327 -87
  11. package/dist/models.generated.js.map +1 -1
  12. package/dist/models.js +2 -2
  13. package/dist/models.js.map +1 -1
  14. package/dist/providers/google-gemini-cli.d.ts.map +1 -1
  15. package/dist/providers/google-gemini-cli.js +25 -15
  16. package/dist/providers/google-gemini-cli.js.map +1 -1
  17. package/dist/providers/google-shared.d.ts.map +1 -1
  18. package/dist/providers/google-shared.js +16 -22
  19. package/dist/providers/google-shared.js.map +1 -1
  20. package/dist/providers/mistral.d.ts +22 -0
  21. package/dist/providers/mistral.d.ts.map +1 -0
  22. package/dist/providers/mistral.js +495 -0
  23. package/dist/providers/mistral.js.map +1 -0
  24. package/dist/providers/openai-codex-responses.d.ts.map +1 -1
  25. package/dist/providers/openai-codex-responses.js +1 -1
  26. package/dist/providers/openai-codex-responses.js.map +1 -1
  27. package/dist/providers/openai-completions.d.ts.map +1 -1
  28. package/dist/providers/openai-completions.js +8 -33
  29. package/dist/providers/openai-completions.js.map +1 -1
  30. package/dist/providers/openai-responses-shared.d.ts.map +1 -1
  31. package/dist/providers/openai-responses-shared.js +28 -13
  32. package/dist/providers/openai-responses-shared.js.map +1 -1
  33. package/dist/providers/register-builtins.d.ts.map +1 -1
  34. package/dist/providers/register-builtins.js +6 -0
  35. package/dist/providers/register-builtins.js.map +1 -1
  36. package/dist/types.d.ts +6 -3
  37. package/dist/types.d.ts.map +1 -1
  38. package/dist/types.js.map +1 -1
  39. package/dist/utils/hash.d.ts +3 -0
  40. package/dist/utils/hash.d.ts.map +1 -0
  41. package/dist/utils/hash.js +14 -0
  42. package/dist/utils/hash.js.map +1 -0
  43. package/dist/utils/overflow.d.ts +1 -1
  44. package/dist/utils/overflow.d.ts.map +1 -1
  45. package/dist/utils/overflow.js +4 -3
  46. package/dist/utils/overflow.js.map +1 -1
  47. package/package.json +5 -7
  48. package/oauth.d.ts +0 -1
  49. package/oauth.js +0 -1
@@ -2284,6 +2284,40 @@ export const MODELS = {
2284
2284
  contextWindow: 128000,
2285
2285
  maxTokens: 32000,
2286
2286
  },
2287
+ "gpt-5.4": {
2288
+ id: "gpt-5.4",
2289
+ name: "GPT-5.4",
2290
+ api: "azure-openai-responses",
2291
+ provider: "azure-openai-responses",
2292
+ baseUrl: "",
2293
+ reasoning: true,
2294
+ input: ["text", "image"],
2295
+ cost: {
2296
+ input: 2.5,
2297
+ output: 15,
2298
+ cacheRead: 0.25,
2299
+ cacheWrite: 0,
2300
+ },
2301
+ contextWindow: 272000,
2302
+ maxTokens: 128000,
2303
+ },
2304
+ "gpt-5.4-pro": {
2305
+ id: "gpt-5.4-pro",
2306
+ name: "GPT-5.4 Pro",
2307
+ api: "azure-openai-responses",
2308
+ provider: "azure-openai-responses",
2309
+ baseUrl: "",
2310
+ reasoning: true,
2311
+ input: ["text", "image"],
2312
+ cost: {
2313
+ input: 30,
2314
+ output: 180,
2315
+ cacheRead: 0,
2316
+ cacheWrite: 0,
2317
+ },
2318
+ contextWindow: 1050000,
2319
+ maxTokens: 128000,
2320
+ },
2287
2321
  "o1": {
2288
2322
  id: "o1",
2289
2323
  name: "o1",
@@ -2858,6 +2892,42 @@ export const MODELS = {
2858
2892
  contextWindow: 272000,
2859
2893
  maxTokens: 128000,
2860
2894
  },
2895
+ "gpt-5.3-codex": {
2896
+ id: "gpt-5.3-codex",
2897
+ name: "GPT-5.3-Codex",
2898
+ api: "openai-responses",
2899
+ provider: "github-copilot",
2900
+ baseUrl: "https://api.individual.githubcopilot.com",
2901
+ headers: { "User-Agent": "GitHubCopilotChat/0.35.0", "Editor-Version": "vscode/1.107.0", "Editor-Plugin-Version": "copilot-chat/0.35.0", "Copilot-Integration-Id": "vscode-chat" },
2902
+ reasoning: true,
2903
+ input: ["text", "image"],
2904
+ cost: {
2905
+ input: 0,
2906
+ output: 0,
2907
+ cacheRead: 0,
2908
+ cacheWrite: 0,
2909
+ },
2910
+ contextWindow: 400000,
2911
+ maxTokens: 128000,
2912
+ },
2913
+ "gpt-5.4": {
2914
+ id: "gpt-5.4",
2915
+ name: "GPT-5.4",
2916
+ api: "openai-responses",
2917
+ provider: "github-copilot",
2918
+ baseUrl: "https://api.individual.githubcopilot.com",
2919
+ headers: { "User-Agent": "GitHubCopilotChat/0.35.0", "Editor-Version": "vscode/1.107.0", "Editor-Plugin-Version": "copilot-chat/0.35.0", "Copilot-Integration-Id": "vscode-chat" },
2920
+ reasoning: true,
2921
+ input: ["text", "image"],
2922
+ cost: {
2923
+ input: 0,
2924
+ output: 0,
2925
+ cacheRead: 0,
2926
+ cacheWrite: 0,
2927
+ },
2928
+ contextWindow: 400000,
2929
+ maxTokens: 128000,
2930
+ },
2861
2931
  "grok-code-fast-1": {
2862
2932
  id: "grok-code-fast-1",
2863
2933
  name: "Grok Code Fast 1",
@@ -3357,6 +3427,23 @@ export const MODELS = {
3357
3427
  contextWindow: 200000,
3358
3428
  maxTokens: 64000,
3359
3429
  },
3430
+ "claude-sonnet-4-6": {
3431
+ id: "claude-sonnet-4-6",
3432
+ name: "Claude Sonnet 4.6 (Antigravity)",
3433
+ api: "google-gemini-cli",
3434
+ provider: "google-antigravity",
3435
+ baseUrl: "https://daily-cloudcode-pa.sandbox.googleapis.com",
3436
+ reasoning: true,
3437
+ input: ["text", "image"],
3438
+ cost: {
3439
+ input: 3,
3440
+ output: 15,
3441
+ cacheRead: 0.3,
3442
+ cacheWrite: 3.75,
3443
+ },
3444
+ contextWindow: 200000,
3445
+ maxTokens: 64000,
3446
+ },
3360
3447
  "gemini-3-flash": {
3361
3448
  id: "gemini-3-flash",
3362
3449
  name: "Gemini 3 Flash (Antigravity)",
@@ -4499,9 +4586,9 @@ export const MODELS = {
4499
4586
  "codestral-latest": {
4500
4587
  id: "codestral-latest",
4501
4588
  name: "Codestral",
4502
- api: "openai-completions",
4589
+ api: "mistral-conversations",
4503
4590
  provider: "mistral",
4504
- baseUrl: "https://api.mistral.ai/v1",
4591
+ baseUrl: "https://api.mistral.ai",
4505
4592
  reasoning: false,
4506
4593
  input: ["text"],
4507
4594
  cost: {
@@ -4516,9 +4603,9 @@ export const MODELS = {
4516
4603
  "devstral-2512": {
4517
4604
  id: "devstral-2512",
4518
4605
  name: "Devstral 2",
4519
- api: "openai-completions",
4606
+ api: "mistral-conversations",
4520
4607
  provider: "mistral",
4521
- baseUrl: "https://api.mistral.ai/v1",
4608
+ baseUrl: "https://api.mistral.ai",
4522
4609
  reasoning: false,
4523
4610
  input: ["text"],
4524
4611
  cost: {
@@ -4533,9 +4620,9 @@ export const MODELS = {
4533
4620
  "devstral-medium-2507": {
4534
4621
  id: "devstral-medium-2507",
4535
4622
  name: "Devstral Medium",
4536
- api: "openai-completions",
4623
+ api: "mistral-conversations",
4537
4624
  provider: "mistral",
4538
- baseUrl: "https://api.mistral.ai/v1",
4625
+ baseUrl: "https://api.mistral.ai",
4539
4626
  reasoning: false,
4540
4627
  input: ["text"],
4541
4628
  cost: {
@@ -4550,9 +4637,9 @@ export const MODELS = {
4550
4637
  "devstral-medium-latest": {
4551
4638
  id: "devstral-medium-latest",
4552
4639
  name: "Devstral 2",
4553
- api: "openai-completions",
4640
+ api: "mistral-conversations",
4554
4641
  provider: "mistral",
4555
- baseUrl: "https://api.mistral.ai/v1",
4642
+ baseUrl: "https://api.mistral.ai",
4556
4643
  reasoning: false,
4557
4644
  input: ["text"],
4558
4645
  cost: {
@@ -4567,9 +4654,9 @@ export const MODELS = {
4567
4654
  "devstral-small-2505": {
4568
4655
  id: "devstral-small-2505",
4569
4656
  name: "Devstral Small 2505",
4570
- api: "openai-completions",
4657
+ api: "mistral-conversations",
4571
4658
  provider: "mistral",
4572
- baseUrl: "https://api.mistral.ai/v1",
4659
+ baseUrl: "https://api.mistral.ai",
4573
4660
  reasoning: false,
4574
4661
  input: ["text"],
4575
4662
  cost: {
@@ -4584,9 +4671,9 @@ export const MODELS = {
4584
4671
  "devstral-small-2507": {
4585
4672
  id: "devstral-small-2507",
4586
4673
  name: "Devstral Small",
4587
- api: "openai-completions",
4674
+ api: "mistral-conversations",
4588
4675
  provider: "mistral",
4589
- baseUrl: "https://api.mistral.ai/v1",
4676
+ baseUrl: "https://api.mistral.ai",
4590
4677
  reasoning: false,
4591
4678
  input: ["text"],
4592
4679
  cost: {
@@ -4601,9 +4688,9 @@ export const MODELS = {
4601
4688
  "labs-devstral-small-2512": {
4602
4689
  id: "labs-devstral-small-2512",
4603
4690
  name: "Devstral Small 2",
4604
- api: "openai-completions",
4691
+ api: "mistral-conversations",
4605
4692
  provider: "mistral",
4606
- baseUrl: "https://api.mistral.ai/v1",
4693
+ baseUrl: "https://api.mistral.ai",
4607
4694
  reasoning: false,
4608
4695
  input: ["text", "image"],
4609
4696
  cost: {
@@ -4618,9 +4705,9 @@ export const MODELS = {
4618
4705
  "magistral-medium-latest": {
4619
4706
  id: "magistral-medium-latest",
4620
4707
  name: "Magistral Medium",
4621
- api: "openai-completions",
4708
+ api: "mistral-conversations",
4622
4709
  provider: "mistral",
4623
- baseUrl: "https://api.mistral.ai/v1",
4710
+ baseUrl: "https://api.mistral.ai",
4624
4711
  reasoning: true,
4625
4712
  input: ["text"],
4626
4713
  cost: {
@@ -4635,9 +4722,9 @@ export const MODELS = {
4635
4722
  "magistral-small": {
4636
4723
  id: "magistral-small",
4637
4724
  name: "Magistral Small",
4638
- api: "openai-completions",
4725
+ api: "mistral-conversations",
4639
4726
  provider: "mistral",
4640
- baseUrl: "https://api.mistral.ai/v1",
4727
+ baseUrl: "https://api.mistral.ai",
4641
4728
  reasoning: true,
4642
4729
  input: ["text"],
4643
4730
  cost: {
@@ -4652,9 +4739,9 @@ export const MODELS = {
4652
4739
  "ministral-3b-latest": {
4653
4740
  id: "ministral-3b-latest",
4654
4741
  name: "Ministral 3B",
4655
- api: "openai-completions",
4742
+ api: "mistral-conversations",
4656
4743
  provider: "mistral",
4657
- baseUrl: "https://api.mistral.ai/v1",
4744
+ baseUrl: "https://api.mistral.ai",
4658
4745
  reasoning: false,
4659
4746
  input: ["text"],
4660
4747
  cost: {
@@ -4669,9 +4756,9 @@ export const MODELS = {
4669
4756
  "ministral-8b-latest": {
4670
4757
  id: "ministral-8b-latest",
4671
4758
  name: "Ministral 8B",
4672
- api: "openai-completions",
4759
+ api: "mistral-conversations",
4673
4760
  provider: "mistral",
4674
- baseUrl: "https://api.mistral.ai/v1",
4761
+ baseUrl: "https://api.mistral.ai",
4675
4762
  reasoning: false,
4676
4763
  input: ["text"],
4677
4764
  cost: {
@@ -4686,9 +4773,9 @@ export const MODELS = {
4686
4773
  "mistral-large-2411": {
4687
4774
  id: "mistral-large-2411",
4688
4775
  name: "Mistral Large 2.1",
4689
- api: "openai-completions",
4776
+ api: "mistral-conversations",
4690
4777
  provider: "mistral",
4691
- baseUrl: "https://api.mistral.ai/v1",
4778
+ baseUrl: "https://api.mistral.ai",
4692
4779
  reasoning: false,
4693
4780
  input: ["text"],
4694
4781
  cost: {
@@ -4703,9 +4790,9 @@ export const MODELS = {
4703
4790
  "mistral-large-2512": {
4704
4791
  id: "mistral-large-2512",
4705
4792
  name: "Mistral Large 3",
4706
- api: "openai-completions",
4793
+ api: "mistral-conversations",
4707
4794
  provider: "mistral",
4708
- baseUrl: "https://api.mistral.ai/v1",
4795
+ baseUrl: "https://api.mistral.ai",
4709
4796
  reasoning: false,
4710
4797
  input: ["text", "image"],
4711
4798
  cost: {
@@ -4720,9 +4807,9 @@ export const MODELS = {
4720
4807
  "mistral-large-latest": {
4721
4808
  id: "mistral-large-latest",
4722
4809
  name: "Mistral Large",
4723
- api: "openai-completions",
4810
+ api: "mistral-conversations",
4724
4811
  provider: "mistral",
4725
- baseUrl: "https://api.mistral.ai/v1",
4812
+ baseUrl: "https://api.mistral.ai",
4726
4813
  reasoning: false,
4727
4814
  input: ["text", "image"],
4728
4815
  cost: {
@@ -4737,9 +4824,9 @@ export const MODELS = {
4737
4824
  "mistral-medium-2505": {
4738
4825
  id: "mistral-medium-2505",
4739
4826
  name: "Mistral Medium 3",
4740
- api: "openai-completions",
4827
+ api: "mistral-conversations",
4741
4828
  provider: "mistral",
4742
- baseUrl: "https://api.mistral.ai/v1",
4829
+ baseUrl: "https://api.mistral.ai",
4743
4830
  reasoning: false,
4744
4831
  input: ["text", "image"],
4745
4832
  cost: {
@@ -4754,9 +4841,9 @@ export const MODELS = {
4754
4841
  "mistral-medium-2508": {
4755
4842
  id: "mistral-medium-2508",
4756
4843
  name: "Mistral Medium 3.1",
4757
- api: "openai-completions",
4844
+ api: "mistral-conversations",
4758
4845
  provider: "mistral",
4759
- baseUrl: "https://api.mistral.ai/v1",
4846
+ baseUrl: "https://api.mistral.ai",
4760
4847
  reasoning: false,
4761
4848
  input: ["text", "image"],
4762
4849
  cost: {
@@ -4771,9 +4858,9 @@ export const MODELS = {
4771
4858
  "mistral-medium-latest": {
4772
4859
  id: "mistral-medium-latest",
4773
4860
  name: "Mistral Medium",
4774
- api: "openai-completions",
4861
+ api: "mistral-conversations",
4775
4862
  provider: "mistral",
4776
- baseUrl: "https://api.mistral.ai/v1",
4863
+ baseUrl: "https://api.mistral.ai",
4777
4864
  reasoning: false,
4778
4865
  input: ["text", "image"],
4779
4866
  cost: {
@@ -4788,9 +4875,9 @@ export const MODELS = {
4788
4875
  "mistral-nemo": {
4789
4876
  id: "mistral-nemo",
4790
4877
  name: "Mistral Nemo",
4791
- api: "openai-completions",
4878
+ api: "mistral-conversations",
4792
4879
  provider: "mistral",
4793
- baseUrl: "https://api.mistral.ai/v1",
4880
+ baseUrl: "https://api.mistral.ai",
4794
4881
  reasoning: false,
4795
4882
  input: ["text"],
4796
4883
  cost: {
@@ -4805,9 +4892,9 @@ export const MODELS = {
4805
4892
  "mistral-small-2506": {
4806
4893
  id: "mistral-small-2506",
4807
4894
  name: "Mistral Small 3.2",
4808
- api: "openai-completions",
4895
+ api: "mistral-conversations",
4809
4896
  provider: "mistral",
4810
- baseUrl: "https://api.mistral.ai/v1",
4897
+ baseUrl: "https://api.mistral.ai",
4811
4898
  reasoning: false,
4812
4899
  input: ["text", "image"],
4813
4900
  cost: {
@@ -4822,9 +4909,9 @@ export const MODELS = {
4822
4909
  "mistral-small-latest": {
4823
4910
  id: "mistral-small-latest",
4824
4911
  name: "Mistral Small",
4825
- api: "openai-completions",
4912
+ api: "mistral-conversations",
4826
4913
  provider: "mistral",
4827
- baseUrl: "https://api.mistral.ai/v1",
4914
+ baseUrl: "https://api.mistral.ai",
4828
4915
  reasoning: false,
4829
4916
  input: ["text", "image"],
4830
4917
  cost: {
@@ -4839,9 +4926,9 @@ export const MODELS = {
4839
4926
  "open-mistral-7b": {
4840
4927
  id: "open-mistral-7b",
4841
4928
  name: "Mistral 7B",
4842
- api: "openai-completions",
4929
+ api: "mistral-conversations",
4843
4930
  provider: "mistral",
4844
- baseUrl: "https://api.mistral.ai/v1",
4931
+ baseUrl: "https://api.mistral.ai",
4845
4932
  reasoning: false,
4846
4933
  input: ["text"],
4847
4934
  cost: {
@@ -4856,9 +4943,9 @@ export const MODELS = {
4856
4943
  "open-mixtral-8x22b": {
4857
4944
  id: "open-mixtral-8x22b",
4858
4945
  name: "Mixtral 8x22B",
4859
- api: "openai-completions",
4946
+ api: "mistral-conversations",
4860
4947
  provider: "mistral",
4861
- baseUrl: "https://api.mistral.ai/v1",
4948
+ baseUrl: "https://api.mistral.ai",
4862
4949
  reasoning: false,
4863
4950
  input: ["text"],
4864
4951
  cost: {
@@ -4873,9 +4960,9 @@ export const MODELS = {
4873
4960
  "open-mixtral-8x7b": {
4874
4961
  id: "open-mixtral-8x7b",
4875
4962
  name: "Mixtral 8x7B",
4876
- api: "openai-completions",
4963
+ api: "mistral-conversations",
4877
4964
  provider: "mistral",
4878
- baseUrl: "https://api.mistral.ai/v1",
4965
+ baseUrl: "https://api.mistral.ai",
4879
4966
  reasoning: false,
4880
4967
  input: ["text"],
4881
4968
  cost: {
@@ -4890,9 +4977,9 @@ export const MODELS = {
4890
4977
  "pixtral-12b": {
4891
4978
  id: "pixtral-12b",
4892
4979
  name: "Pixtral 12B",
4893
- api: "openai-completions",
4980
+ api: "mistral-conversations",
4894
4981
  provider: "mistral",
4895
- baseUrl: "https://api.mistral.ai/v1",
4982
+ baseUrl: "https://api.mistral.ai",
4896
4983
  reasoning: false,
4897
4984
  input: ["text", "image"],
4898
4985
  cost: {
@@ -4907,9 +4994,9 @@ export const MODELS = {
4907
4994
  "pixtral-large-latest": {
4908
4995
  id: "pixtral-large-latest",
4909
4996
  name: "Pixtral Large",
4910
- api: "openai-completions",
4997
+ api: "mistral-conversations",
4911
4998
  provider: "mistral",
4912
- baseUrl: "https://api.mistral.ai/v1",
4999
+ baseUrl: "https://api.mistral.ai",
4913
5000
  reasoning: false,
4914
5001
  input: ["text", "image"],
4915
5002
  cost: {
@@ -5399,6 +5486,40 @@ export const MODELS = {
5399
5486
  contextWindow: 128000,
5400
5487
  maxTokens: 32000,
5401
5488
  },
5489
+ "gpt-5.4": {
5490
+ id: "gpt-5.4",
5491
+ name: "GPT-5.4",
5492
+ api: "openai-responses",
5493
+ provider: "openai",
5494
+ baseUrl: "https://api.openai.com/v1",
5495
+ reasoning: true,
5496
+ input: ["text", "image"],
5497
+ cost: {
5498
+ input: 2.5,
5499
+ output: 15,
5500
+ cacheRead: 0.25,
5501
+ cacheWrite: 0,
5502
+ },
5503
+ contextWindow: 272000,
5504
+ maxTokens: 128000,
5505
+ },
5506
+ "gpt-5.4-pro": {
5507
+ id: "gpt-5.4-pro",
5508
+ name: "GPT-5.4 Pro",
5509
+ api: "openai-responses",
5510
+ provider: "openai",
5511
+ baseUrl: "https://api.openai.com/v1",
5512
+ reasoning: true,
5513
+ input: ["text", "image"],
5514
+ cost: {
5515
+ input: 30,
5516
+ output: 180,
5517
+ cacheRead: 0,
5518
+ cacheWrite: 0,
5519
+ },
5520
+ contextWindow: 1050000,
5521
+ maxTokens: 128000,
5522
+ },
5402
5523
  "o1": {
5403
5524
  id: "o1",
5404
5525
  name: "o1",
@@ -5656,6 +5777,23 @@ export const MODELS = {
5656
5777
  contextWindow: 128000,
5657
5778
  maxTokens: 128000,
5658
5779
  },
5780
+ "gpt-5.4": {
5781
+ id: "gpt-5.4",
5782
+ name: "GPT-5.4",
5783
+ api: "openai-codex-responses",
5784
+ provider: "openai-codex",
5785
+ baseUrl: "https://chatgpt.com/backend-api",
5786
+ reasoning: true,
5787
+ input: ["text", "image"],
5788
+ cost: {
5789
+ input: 2.5,
5790
+ output: 15,
5791
+ cacheRead: 0.25,
5792
+ cacheWrite: 0,
5793
+ },
5794
+ contextWindow: 272000,
5795
+ maxTokens: 128000,
5796
+ },
5659
5797
  },
5660
5798
  "opencode": {
5661
5799
  "big-pickle": {
@@ -6083,6 +6221,40 @@ export const MODELS = {
6083
6221
  contextWindow: 400000,
6084
6222
  maxTokens: 128000,
6085
6223
  },
6224
+ "gpt-5.4": {
6225
+ id: "gpt-5.4",
6226
+ name: "GPT-5.4",
6227
+ api: "openai-responses",
6228
+ provider: "opencode",
6229
+ baseUrl: "https://opencode.ai/zen/v1",
6230
+ reasoning: true,
6231
+ input: ["text", "image"],
6232
+ cost: {
6233
+ input: 2.5,
6234
+ output: 15,
6235
+ cacheRead: 0.25,
6236
+ cacheWrite: 0,
6237
+ },
6238
+ contextWindow: 272000,
6239
+ maxTokens: 128000,
6240
+ },
6241
+ "gpt-5.4-pro": {
6242
+ id: "gpt-5.4-pro",
6243
+ name: "GPT-5.4 Pro",
6244
+ api: "openai-responses",
6245
+ provider: "opencode",
6246
+ baseUrl: "https://opencode.ai/zen/v1",
6247
+ reasoning: true,
6248
+ input: ["text", "image"],
6249
+ cost: {
6250
+ input: 30,
6251
+ output: 180,
6252
+ cacheRead: 30,
6253
+ cacheWrite: 0,
6254
+ },
6255
+ contextWindow: 1050000,
6256
+ maxTokens: 128000,
6257
+ },
6086
6258
  "kimi-k2.5": {
6087
6259
  id: "kimi-k2.5",
6088
6260
  name: "Kimi K2.5",
@@ -6151,23 +6323,6 @@ export const MODELS = {
6151
6323
  contextWindow: 204800,
6152
6324
  maxTokens: 131072,
6153
6325
  },
6154
- "trinity-large-preview-free": {
6155
- id: "trinity-large-preview-free",
6156
- name: "Trinity Large Preview",
6157
- api: "openai-completions",
6158
- provider: "opencode",
6159
- baseUrl: "https://opencode.ai/zen/v1",
6160
- reasoning: false,
6161
- input: ["text"],
6162
- cost: {
6163
- input: 0,
6164
- output: 0,
6165
- cacheRead: 0,
6166
- cacheWrite: 0,
6167
- },
6168
- contextWindow: 131072,
6169
- maxTokens: 131072,
6170
- },
6171
6326
  },
6172
6327
  "opencode-go": {
6173
6328
  "glm-5": {
@@ -6543,7 +6698,7 @@ export const MODELS = {
6543
6698
  cacheRead: 0.3,
6544
6699
  cacheWrite: 3.75,
6545
6700
  },
6546
- contextWindow: 1000000,
6701
+ contextWindow: 200000,
6547
6702
  maxTokens: 64000,
6548
6703
  },
6549
6704
  "anthropic/claude-sonnet-4.5": {
@@ -6812,11 +6967,11 @@ export const MODELS = {
6812
6967
  cost: {
6813
6968
  input: 0.19999999999999998,
6814
6969
  output: 0.77,
6815
- cacheRead: 0.135,
6970
+ cacheRead: 0.13,
6816
6971
  cacheWrite: 0,
6817
6972
  },
6818
6973
  contextWindow: 163840,
6819
- maxTokens: 4096,
6974
+ maxTokens: 163840,
6820
6975
  },
6821
6976
  "deepseek/deepseek-chat-v3.1": {
6822
6977
  id: "deepseek/deepseek-chat-v3.1",
@@ -7224,7 +7379,24 @@ export const MODELS = {
7224
7379
  cacheWrite: 0,
7225
7380
  },
7226
7381
  contextWindow: 128000,
7227
- maxTokens: 16384,
7382
+ maxTokens: 32000,
7383
+ },
7384
+ "inception/mercury-2": {
7385
+ id: "inception/mercury-2",
7386
+ name: "Inception: Mercury 2",
7387
+ api: "openai-completions",
7388
+ provider: "openrouter",
7389
+ baseUrl: "https://openrouter.ai/api/v1",
7390
+ reasoning: true,
7391
+ input: ["text"],
7392
+ cost: {
7393
+ input: 0.25,
7394
+ output: 0.75,
7395
+ cacheRead: 0.024999999999999998,
7396
+ cacheWrite: 0,
7397
+ },
7398
+ contextWindow: 128000,
7399
+ maxTokens: 50000,
7228
7400
  },
7229
7401
  "inception/mercury-coder": {
7230
7402
  id: "inception/mercury-coder",
@@ -7241,7 +7413,7 @@ export const MODELS = {
7241
7413
  cacheWrite: 0,
7242
7414
  },
7243
7415
  contextWindow: 128000,
7244
- maxTokens: 16384,
7416
+ maxTokens: 32000,
7245
7417
  },
7246
7418
  "kwaipilot/kat-coder-pro": {
7247
7419
  id: "kwaipilot/kat-coder-pro",
@@ -7949,13 +8121,13 @@ export const MODELS = {
7949
8121
  reasoning: true,
7950
8122
  input: ["text", "image"],
7951
8123
  cost: {
7952
- input: 0.44999999999999996,
7953
- output: 2.2,
7954
- cacheRead: 0.22499999999999998,
8124
+ input: 0.41,
8125
+ output: 2.06,
8126
+ cacheRead: 0.07,
7955
8127
  cacheWrite: 0,
7956
8128
  },
7957
8129
  contextWindow: 262144,
7958
- maxTokens: 65535,
8130
+ maxTokens: 4096,
7959
8131
  },
7960
8132
  "nex-agi/deepseek-v3.1-nex-n1": {
7961
8133
  id: "nex-agi/deepseek-v3.1-nex-n1",
@@ -8722,6 +8894,40 @@ export const MODELS = {
8722
8894
  contextWindow: 400000,
8723
8895
  maxTokens: 128000,
8724
8896
  },
8897
+ "openai/gpt-5.4": {
8898
+ id: "openai/gpt-5.4",
8899
+ name: "OpenAI: GPT-5.4",
8900
+ api: "openai-completions",
8901
+ provider: "openrouter",
8902
+ baseUrl: "https://openrouter.ai/api/v1",
8903
+ reasoning: true,
8904
+ input: ["text", "image"],
8905
+ cost: {
8906
+ input: 2.5,
8907
+ output: 15,
8908
+ cacheRead: 0.25,
8909
+ cacheWrite: 0,
8910
+ },
8911
+ contextWindow: 1050000,
8912
+ maxTokens: 128000,
8913
+ },
8914
+ "openai/gpt-5.4-pro": {
8915
+ id: "openai/gpt-5.4-pro",
8916
+ name: "OpenAI: GPT-5.4 Pro",
8917
+ api: "openai-completions",
8918
+ provider: "openrouter",
8919
+ baseUrl: "https://openrouter.ai/api/v1",
8920
+ reasoning: true,
8921
+ input: ["text", "image"],
8922
+ cost: {
8923
+ input: 30,
8924
+ output: 180,
8925
+ cacheRead: 0,
8926
+ cacheWrite: 0,
8927
+ },
8928
+ contextWindow: 1050000,
8929
+ maxTokens: 128000,
8930
+ },
8725
8931
  "openai/gpt-oss-120b": {
8726
8932
  id: "openai/gpt-oss-120b",
8727
8933
  name: "OpenAI: gpt-oss-120b",
@@ -9224,13 +9430,13 @@ export const MODELS = {
9224
9430
  reasoning: true,
9225
9431
  input: ["text"],
9226
9432
  cost: {
9227
- input: 0,
9228
- output: 0,
9229
- cacheRead: 0,
9433
+ input: 0.11,
9434
+ output: 0.6,
9435
+ cacheRead: 0.055,
9230
9436
  cacheWrite: 0,
9231
9437
  },
9232
- contextWindow: 131072,
9233
- maxTokens: 4096,
9438
+ contextWindow: 262144,
9439
+ maxTokens: 262144,
9234
9440
  },
9235
9441
  "qwen/qwen3-30b-a3b": {
9236
9442
  id: "qwen/qwen3-30b-a3b",
@@ -10227,9 +10433,9 @@ export const MODELS = {
10227
10433
  reasoning: true,
10228
10434
  input: ["text"],
10229
10435
  cost: {
10230
- input: 0.3,
10231
- output: 1.4,
10232
- cacheRead: 0.15,
10436
+ input: 0.38,
10437
+ output: 1.9800000000000002,
10438
+ cacheRead: 0.19,
10233
10439
  cacheWrite: 0,
10234
10440
  },
10235
10441
  contextWindow: 202752,
@@ -10261,9 +10467,9 @@ export const MODELS = {
10261
10467
  reasoning: true,
10262
10468
  input: ["text"],
10263
10469
  cost: {
10264
- input: 0.7999999999999999,
10265
- output: 2.56,
10266
- cacheRead: 0.16,
10470
+ input: 0.6,
10471
+ output: 1.9,
10472
+ cacheRead: 0.119,
10267
10473
  cacheWrite: 0,
10268
10474
  },
10269
10475
  contextWindow: 202752,
@@ -11971,6 +12177,40 @@ export const MODELS = {
11971
12177
  contextWindow: 400000,
11972
12178
  maxTokens: 128000,
11973
12179
  },
12180
+ "openai/gpt-5.4": {
12181
+ id: "openai/gpt-5.4",
12182
+ name: "GPT 5.4",
12183
+ api: "anthropic-messages",
12184
+ provider: "vercel-ai-gateway",
12185
+ baseUrl: "https://ai-gateway.vercel.sh",
12186
+ reasoning: true,
12187
+ input: ["text", "image"],
12188
+ cost: {
12189
+ input: 2.5,
12190
+ output: 15,
12191
+ cacheRead: 0.25,
12192
+ cacheWrite: 0,
12193
+ },
12194
+ contextWindow: 1050000,
12195
+ maxTokens: 128000,
12196
+ },
12197
+ "openai/gpt-5.4-pro": {
12198
+ id: "openai/gpt-5.4-pro",
12199
+ name: "GPT 5.4 Pro",
12200
+ api: "anthropic-messages",
12201
+ provider: "vercel-ai-gateway",
12202
+ baseUrl: "https://ai-gateway.vercel.sh",
12203
+ reasoning: true,
12204
+ input: ["text", "image"],
12205
+ cost: {
12206
+ input: 30,
12207
+ output: 180,
12208
+ cacheRead: 0,
12209
+ cacheWrite: 0,
12210
+ },
12211
+ contextWindow: 1050000,
12212
+ maxTokens: 128000,
12213
+ },
11974
12214
  "openai/gpt-oss-120b": {
11975
12215
  id: "openai/gpt-oss-120b",
11976
12216
  name: "gpt-oss-120b",