adaptive-memory-multi-model-router 2.15.3 → 2.16.0

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 (37) hide show
  1. package/CHANGELOG.md +7 -1
  2. package/README_ja.md +2 -2
  3. package/README_zh.md +1 -1
  4. package/apps/cost-calculator/README.md +72 -0
  5. package/apps/cost-calculator/calculator.css +280 -0
  6. package/apps/cost-calculator/calculator.js +150 -0
  7. package/apps/cost-calculator/index.html +321 -0
  8. package/apps/cost-calculator/package.json +13 -0
  9. package/articles/ANNOUNCEMENT_reddit_ml.md +76 -0
  10. package/articles/ANNOUNCEMENT_vc/347/244/276/345/214/272.md +71 -0
  11. package/articles/ANNOUNCEMENT_vercel.md +85 -0
  12. package/dist/providers/providerConfig.d.ts +5 -1
  13. package/dist/providers/providerConfig.js +1006 -1
  14. package/dist/providers/providerConfig.js.map +1 -1
  15. package/docs/llms.txt +3 -3
  16. package/package.json +2 -2
  17. package/packages/a3m-vercel-ai/README.md +161 -0
  18. package/packages/a3m-vercel-ai/dist/a3m-language-model.d.ts +12 -0
  19. package/packages/a3m-vercel-ai/dist/a3m-language-model.d.ts.map +1 -0
  20. package/packages/a3m-vercel-ai/dist/a3m-language-model.js +289 -0
  21. package/packages/a3m-vercel-ai/dist/a3m-language-model.js.map +1 -0
  22. package/packages/a3m-vercel-ai/dist/index.d.ts +82 -0
  23. package/packages/a3m-vercel-ai/dist/index.d.ts.map +1 -0
  24. package/packages/a3m-vercel-ai/dist/index.js +79 -0
  25. package/packages/a3m-vercel-ai/dist/index.js.map +1 -0
  26. package/packages/a3m-vercel-ai/dist/types.d.ts +97 -0
  27. package/packages/a3m-vercel-ai/dist/types.d.ts.map +1 -0
  28. package/packages/a3m-vercel-ai/dist/types.js +5 -0
  29. package/packages/a3m-vercel-ai/dist/types.js.map +1 -0
  30. package/packages/a3m-vercel-ai/package-lock.json +969 -0
  31. package/packages/a3m-vercel-ai/package.json +46 -0
  32. package/packages/a3m-vercel-ai/src/a3m-language-model.ts +381 -0
  33. package/packages/a3m-vercel-ai/src/index.ts +104 -0
  34. package/packages/a3m-vercel-ai/src/types.ts +116 -0
  35. package/packages/a3m-vercel-ai/tsconfig.json +20 -0
  36. package/src/providers/providerConfig.ts +1053 -1
  37. package/summary.txt +38 -0
@@ -7,7 +7,11 @@
7
7
  * 2. Config file at ~/.config/a3m-router/providers.json
8
8
  * 3. Runtime registration via registerProvider()
9
9
  *
10
- * 40+ providers across free, cheap, mid-tier, premium, and enterprise tiers.
10
+ * 70+ providers across free, cheap, mid-tier, premium, and enterprise tiers.
11
+ * Coverage: Cloudflare Workers AI, HuggingFace Inference, Modal, Lepton, NVIDIA NIM,
12
+ * Baseten, RunPod, Predibase, Featherless, Abacus, Hyperbolic, Stability AI,
13
+ * SiliconFlow, Yandex, Tencent, VolcEngine, Baidu, Kuaishou, 360 AI, Naver, Kakao,
14
+ * AWS Bedrock/SageMaker, Azure, and more.
11
15
  */
12
16
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
13
17
  if (k2 === undefined) k2 = k;
@@ -696,6 +700,1007 @@ exports.DEFAULT_PROVIDERS = {
696
700
  priority: 4,
697
701
  maxTokens: 8192,
698
702
  },
703
+ // ========================================================================
704
+ // CLOUDFLARE WORKERS AI (global edge network, free tier)
705
+ // ========================================================================
706
+ cloudflare: {
707
+ id: 'cloudflare',
708
+ name: 'Cloudflare Workers AI',
709
+ baseUrl: 'https://api.cloudflare.com/client/v4/accounts/{account_id}/ai/v1/run',
710
+ apiKeyEnv: 'CLOUDFLARE_API_TOKEN',
711
+ models: [
712
+ '@cf/meta/llama-3.1-8b-instruct',
713
+ '@cf/meta/llama-3.3-70b-instruct',
714
+ '@cf/meta/llama-3.1-70b-instruct',
715
+ '@cf/qwen/qwen2.5-72b-instruct',
716
+ '@cf/qwen/qwen2.5-32b-instruct',
717
+ '@cf/mistral/mistral-7b-instruct-v0.2',
718
+ '@cf/deepseek-ai/deepseek-r1-distill-qwen-32b',
719
+ '@cf/thebloke/llama-2-13b-chat-awq',
720
+ '@cf/google/gemma-2-27b-it',
721
+ '@cf/fb/detr-image-model',
722
+ ],
723
+ costPerK: { input: 0, output: 0 }, // Free tier available
724
+ tier: 'free',
725
+ format: 'openai',
726
+ type: 'api',
727
+ priority: 4,
728
+ maxTokens: 8192,
729
+ strategy: 'balanced',
730
+ },
731
+ // ========================================================================
732
+ // HUGGINGFACE INFERENCE API (largest model hub)
733
+ // ========================================================================
734
+ huggingface: {
735
+ id: 'huggingface',
736
+ name: 'HuggingFace Inference',
737
+ baseUrl: 'https://api-inference.huggingface.co/v1/chat/completions',
738
+ apiKeyEnv: 'HF_TOKEN',
739
+ models: [
740
+ 'meta-llama/Llama-3.1-8B-Instruct',
741
+ 'meta-llama/Llama-3.3-70B-Instruct',
742
+ 'mistralai/Mistral-7B-Instruct-v0.2',
743
+ 'mistralai/Mixtral-8x7B-Instruct-v0.1',
744
+ 'Qwen/Qwen2.5-72B-Instruct',
745
+ 'Qwen/Qwen2.5-32B-Instruct',
746
+ 'Qwen/Qwen2.5-14B-Instruct',
747
+ 'deepseek-ai/DeepSeek-V3',
748
+ 'deepseek-ai/DeepSeek-R1-Distill-Qwen-32B',
749
+ 'google/gemma-2-27b-it',
750
+ 'google/gemma-2-9b-it',
751
+ 'anthropic/claude-3.5-sonnet',
752
+ 'meta-llama/Llama-4-Maverick-17B-128E-Instruct',
753
+ 'nvidia/Llama-3.1-Nemotron-70B-Instruct-HF',
754
+ ],
755
+ costPerK: { input: 0.06, output: 0.06 }, // Free tier available
756
+ tier: 'cheap',
757
+ format: 'openai',
758
+ type: 'api',
759
+ priority: 8,
760
+ maxTokens: 32768,
761
+ strategy: 'balanced',
762
+ },
763
+ // ========================================================================
764
+ // MODAL (serverless GPU compute)
765
+ // ========================================================================
766
+ modal: {
767
+ id: 'modal',
768
+ name: 'Modal',
769
+ baseUrl: 'https://api.modal.com/v1/chat/completions',
770
+ apiKeyEnv: 'MODAL_API_TOKEN',
771
+ models: [
772
+ 'meta-llama/Llama-3.1-8B-Instruct',
773
+ 'meta-llama/Llama-3.3-70B-Instruct',
774
+ 'mistralai/Mistral-7B-Instruct-v0.2',
775
+ 'Qwen/Qwen2.5-72B-Instruct',
776
+ ],
777
+ costPerK: { input: 0, output: 0 }, // Pay-per-second GPU compute
778
+ tier: 'cheap',
779
+ format: 'openai',
780
+ type: 'api',
781
+ priority: 9,
782
+ maxTokens: 16384,
783
+ strategy: 'aggressive',
784
+ },
785
+ // ========================================================================
786
+ // LEPTON AI (serverless, competitive pricing)
787
+ // ========================================================================
788
+ lepton: {
789
+ id: 'lepton',
790
+ name: 'Lepton AI',
791
+ baseUrl: 'https://api.lepton.ai/v1/chat/completions',
792
+ apiKeyEnv: 'LEPTON_API_TOKEN',
793
+ models: [
794
+ 'llama-3.1-8b',
795
+ 'llama-3.1-70b',
796
+ 'mixtral-8x7b',
797
+ 'qwen2.5-72b',
798
+ 'qwen2.5-32b',
799
+ 'gemma-2-27b',
800
+ ],
801
+ costPerK: { input: 0.08, output: 0.08 },
802
+ tier: 'cheap',
803
+ format: 'openai',
804
+ type: 'api',
805
+ priority: 9,
806
+ maxTokens: 16384,
807
+ strategy: 'balanced',
808
+ },
809
+ // ========================================================================
810
+ // BASETEN (model deployment platform)
811
+ // ========================================================================
812
+ baseten: {
813
+ id: 'baseten',
814
+ name: 'Baseten',
815
+ baseUrl: 'https://api.baseten.co/v1/chat/completions',
816
+ apiKeyEnv: 'BASETEN_API_KEY',
817
+ models: [
818
+ 'llama-3.1-8b-instruct',
819
+ 'llama-3.1-70b-instruct',
820
+ 'mixtral-8x7b-instruct',
821
+ 'wizardlm-2-8x22b',
822
+ ],
823
+ costPerK: { input: 0.5, output: 0.5 },
824
+ tier: 'mid',
825
+ format: 'openai',
826
+ type: 'api',
827
+ priority: 18,
828
+ maxTokens: 8192,
829
+ },
830
+ // ========================================================================
831
+ // RUNPOD (serverless inference)
832
+ // ========================================================================
833
+ runpod: {
834
+ id: 'runpod',
835
+ name: 'RunPod Serverless',
836
+ baseUrl: 'https://api.runpod.ai/v2/{endpoint_id}/openai/v1/chat/completions',
837
+ apiKeyEnv: 'RUNPOD_API_KEY',
838
+ models: [
839
+ 'meta-llama/Llama-3.1-8B-Instruct',
840
+ 'meta-llama/Llama-3.3-70B-Instruct',
841
+ 'mistralai/Mistral-7B-Instruct-v0.2',
842
+ 'mistralai/Mixtral-8x7B-Instruct-v0.1',
843
+ 'Qwen/Qwen2.5-72B-Instruct',
844
+ ],
845
+ costPerK: { input: 0.2, output: 0.2 },
846
+ tier: 'cheap',
847
+ format: 'openai',
848
+ type: 'api',
849
+ priority: 10,
850
+ maxTokens: 16384,
851
+ },
852
+ // ========================================================================
853
+ // PREDIBASE (managed fine-tuning + inference)
854
+ // ========================================================================
855
+ predibase: {
856
+ id: 'predibase',
857
+ name: 'Predibase',
858
+ baseUrl: 'https://serving.predibase.com/{workspace}/v2/predict',
859
+ apiKeyEnv: 'PREDIBASE_API_KEY',
860
+ models: [
861
+ 'llama-3.1-8b-instruct',
862
+ 'llama-3.1-70b-instruct',
863
+ 'mistral-7b-instruct',
864
+ 'mixtral-8x7b-instruct',
865
+ 'llama-2-70b-chat',
866
+ ],
867
+ costPerK: { input: 0.4, output: 0.4 },
868
+ tier: 'mid',
869
+ format: 'openai',
870
+ type: 'api',
871
+ priority: 19,
872
+ maxTokens: 8192,
873
+ },
874
+ // ========================================================================
875
+ // FEATHERLESS AI (inference optimization platform)
876
+ // ========================================================================
877
+ featherless: {
878
+ id: 'featherless',
879
+ name: 'Featherless AI',
880
+ baseUrl: 'https://api.featherless.ai/v1/chat/completions',
881
+ apiKeyEnv: 'FEATHERLESS_API_KEY',
882
+ models: [
883
+ 'anthropic/claude-3.5-sonnet',
884
+ 'meta-llama/llama-3.1-70b-instruct',
885
+ 'mistralai/mistral-large-3-675b-instruct',
886
+ ],
887
+ costPerK: { input: 1.0, output: 2.0 },
888
+ tier: 'mid',
889
+ format: 'openai',
890
+ type: 'api',
891
+ priority: 18,
892
+ maxTokens: 8192,
893
+ },
894
+ // ========================================================================
895
+ // ABACUS AI (end-to-end ML platform)
896
+ // ========================================================================
897
+ abacus: {
898
+ id: 'abacus',
899
+ name: 'Abacus AI',
900
+ baseUrl: 'https://api.abacus.ai/v1/chat/completions',
901
+ apiKeyEnv: 'ABACUS_API_KEY',
902
+ models: [
903
+ 'Llama-3.1-8B-Instruct',
904
+ 'Llama-3.1-70B-Instruct',
905
+ 'Mistral-7B-Instruct',
906
+ 'Mixtral-8x7B-Instruct',
907
+ 'Qwen2.5-72B-Instruct',
908
+ 'GPT-4o-mini',
909
+ 'Claude-3.5-Sonnet',
910
+ ],
911
+ costPerK: { input: 0.15, output: 0.15 },
912
+ tier: 'cheap',
913
+ format: 'openai',
914
+ type: 'api',
915
+ priority: 11,
916
+ maxTokens: 8192,
917
+ },
918
+ // ========================================================================
919
+ // STABILITY AI (image + language models)
920
+ // ========================================================================
921
+ stability: {
922
+ id: 'stability',
923
+ name: 'Stability AI',
924
+ baseUrl: 'https://api.stability.ai/v1/chat/completions',
925
+ apiKeyEnv: 'STABILITY_API_KEY',
926
+ models: [
927
+ 'stable-diffusion-xl-base-1.0',
928
+ 'stable-diffusion-3-medium',
929
+ 'stable-diffusion-core',
930
+ ],
931
+ costPerK: { input: 0.5, output: 0.5 },
932
+ tier: 'mid',
933
+ format: 'openai',
934
+ type: 'api',
935
+ priority: 20,
936
+ maxTokens: 8192,
937
+ supports_multimodal: true,
938
+ },
939
+ // ========================================================================
940
+ // HYPERBOLIC LABS (compute marketplace)
941
+ // ========================================================================
942
+ hyperbolic: {
943
+ id: 'hyperbolic',
944
+ name: 'Hyperbolic',
945
+ baseUrl: 'https://api.hyperbolic.xyz/v1/chat/completions',
946
+ apiKeyEnv: 'HYPERBOLIC_API_KEY',
947
+ models: [
948
+ 'meta-llama/Llama-3.1-8B-Instruct',
949
+ 'meta-llama/Llama-3.1-70B-Instruct',
950
+ 'meta-llama/Llama-3.1-405B-Instruct',
951
+ 'mistralai/Mistral-7B-Instruct-v0.2',
952
+ 'mistralai/Mixtral-8x7B-Instruct-v0.1',
953
+ 'Qwen/Qwen2.5-72B-Instruct',
954
+ 'deepseek-ai/DeepSeek-V3',
955
+ 'deepseek-ai/DeepSeek-R1',
956
+ ],
957
+ costPerK: { input: 0.08, output: 0.08 },
958
+ tier: 'cheap',
959
+ format: 'openai',
960
+ type: 'api',
961
+ priority: 9,
962
+ maxTokens: 32768,
963
+ strategy: 'aggressive',
964
+ },
965
+ // ========================================================================
966
+ // TEXTSYNTH (inference API)
967
+ // ========================================================================
968
+ textsynth: {
969
+ id: 'textsynth',
970
+ name: 'TextSynth',
971
+ baseUrl: 'https://api.textsynth.com/v1/chat/completions',
972
+ apiKeyEnv: 'TEXTSYNTH_API_KEY',
973
+ models: [
974
+ 'llama-3.1-8b-instruct',
975
+ 'llama-3.1-70b-instruct',
976
+ 'mixtral-8x7b',
977
+ 'gemma-2-27b',
978
+ ],
979
+ costPerK: { input: 0.1, output: 0.1 },
980
+ tier: 'cheap',
981
+ format: 'openai',
982
+ type: 'api',
983
+ priority: 11,
984
+ maxTokens: 8192,
985
+ },
986
+ // ========================================================================
987
+ // INSTILL AI (v3 API, open source)
988
+ // ========================================================================
989
+ instill: {
990
+ id: 'instill',
991
+ name: 'Instill AI',
992
+ baseUrl: 'https://api.instill.ai/v1alpha/v1/chat/completions',
993
+ apiKeyEnv: 'INSTILL_API_KEY',
994
+ models: [
995
+ 'meta-llama/llama-3.1-8b-instruct',
996
+ 'meta-llama/llama-3.1-70b-instruct',
997
+ 'mistralai/mistral-7b-instruct-v0.2',
998
+ 'qwen/qwen2.5-72b-instruct',
999
+ ],
1000
+ costPerK: { input: 0.2, output: 0.2 },
1001
+ tier: 'mid',
1002
+ format: 'openai',
1003
+ type: 'api',
1004
+ priority: 20,
1005
+ maxTokens: 8192,
1006
+ },
1007
+ // ========================================================================
1008
+ // SILICONFLOW (China-based inference platform)
1009
+ // ========================================================================
1010
+ siliconflow: {
1011
+ id: 'siliconflow',
1012
+ name: 'SiliconFlow',
1013
+ baseUrl: 'https://api.siliconflow.cn/v1/chat/completions',
1014
+ apiKeyEnv: 'SILICONFLOW_API_KEY',
1015
+ models: [
1016
+ 'Qwen/Qwen2.5-72B-Instruct',
1017
+ 'Qwen/Qwen2.5-32B-Instruct',
1018
+ 'deepseek-ai/DeepSeek-V3',
1019
+ 'deepseek-ai/DeepSeek-R1-Distill-Qwen-32B',
1020
+ 'meta-llama/Llama-3.1-70B-Instruct',
1021
+ 'mistralai/Mixtral-8x7B-Instruct-v0.1',
1022
+ ],
1023
+ costPerK: { input: 0.04, output: 0.04 },
1024
+ tier: 'cheap',
1025
+ format: 'openai',
1026
+ type: 'api',
1027
+ priority: 9,
1028
+ maxTokens: 16384,
1029
+ strategy: 'aggressive',
1030
+ },
1031
+ // ========================================================================
1032
+ // HYPERSTACK (GPU compute marketplace)
1033
+ // ========================================================================
1034
+ hyperstack: {
1035
+ id: 'hyperstack',
1036
+ name: 'Hyperstack',
1037
+ baseUrl: 'https://api.hyperstack.cloud/v1/chat/completions',
1038
+ apiKeyEnv: 'HYPERSTACK_API_KEY',
1039
+ models: [
1040
+ 'meta-llama/Llama-3.1-8B-Instruct',
1041
+ 'meta-llama/Llama-3.1-70B-Instruct',
1042
+ 'mistralai/Mistral-7B-Instruct-v0.2',
1043
+ 'Qwen/Qwen2.5-72B-Instruct',
1044
+ ],
1045
+ costPerK: { input: 0.1, output: 0.1 },
1046
+ tier: 'cheap',
1047
+ format: 'openai',
1048
+ type: 'api',
1049
+ priority: 11,
1050
+ maxTokens: 16384,
1051
+ },
1052
+ // ========================================================================
1053
+ // LIVEPEOPLE (real-time conversational AI)
1054
+ // ========================================================================
1055
+ livepeople: {
1056
+ id: 'livepeople',
1057
+ name: 'LivePeople',
1058
+ baseUrl: 'https://api.livepeople.ai/v1/chat/completions',
1059
+ apiKeyEnv: 'LIVEPEOPLE_API_KEY',
1060
+ models: [
1061
+ 'livepeople-gpt-4o-mini',
1062
+ 'livepeople-gpt-4o',
1063
+ 'livepeople-claude-3-opus',
1064
+ ],
1065
+ costPerK: { input: 1.0, output: 2.0 },
1066
+ tier: 'mid',
1067
+ format: 'openai',
1068
+ type: 'api',
1069
+ priority: 22,
1070
+ maxTokens: 8192,
1071
+ },
1072
+ // ========================================================================
1073
+ // YANDEX CLOUD (Yandex GPT)
1074
+ // ========================================================================
1075
+ yandex: {
1076
+ id: 'yandex',
1077
+ name: 'Yandex Cloud',
1078
+ baseUrl: 'https://llm.api.cloud.yandex.net/foundationModels/v1/conversation',
1079
+ apiKeyEnv: 'YANDEX_API_KEY',
1080
+ models: [
1081
+ 'gpt-4o-mini',
1082
+ 'yandexgpt-4',
1083
+ 'yandexgpt-3',
1084
+ 'yandexgpt-light',
1085
+ ],
1086
+ costPerK: { input: 0.3, output: 0.3 },
1087
+ tier: 'mid',
1088
+ format: 'openai',
1089
+ type: 'api',
1090
+ priority: 21,
1091
+ maxTokens: 8192,
1092
+ },
1093
+ // ========================================================================
1094
+ // TENCent Hunyuan (Tencent Cloud)
1095
+ // ========================================================================
1096
+ tencent: {
1097
+ id: 'tencent',
1098
+ name: 'Tencent Hunyuan',
1099
+ baseUrl: 'https://api.tc.semnov.com/v1/chat/completions',
1100
+ apiKeyEnv: 'TENCENT_SECRET_ID',
1101
+ models: [
1102
+ 'hunyuan-pro',
1103
+ 'hunyuan-standard',
1104
+ 'hunyuan-lite',
1105
+ ],
1106
+ costPerK: { input: 0.06, output: 0.06 },
1107
+ tier: 'cheap',
1108
+ format: 'openai',
1109
+ type: 'api',
1110
+ priority: 12,
1111
+ maxTokens: 8192,
1112
+ strategy: 'balanced',
1113
+ },
1114
+ // ========================================================================
1115
+ // VOLCENGINE (ByteDance AI platform)
1116
+ // ========================================================================
1117
+ volcengine: {
1118
+ id: 'volcengine',
1119
+ name: 'VolcEngine (Doubao)',
1120
+ baseUrl: 'https://ark.cn-beijing.volces.com/api/v3/chat/completions',
1121
+ apiKeyEnv: 'VOLCENGINE_API_KEY',
1122
+ models: [
1123
+ 'doubao-pro-32k',
1124
+ 'doubao-pro-128k',
1125
+ 'doubao-lite-32k',
1126
+ 'doubao-edge-4k',
1127
+ ],
1128
+ costPerK: { input: 0.1, output: 0.1 },
1129
+ tier: 'cheap',
1130
+ format: 'openai',
1131
+ type: 'api',
1132
+ priority: 13,
1133
+ maxTokens: 128000,
1134
+ strategy: 'balanced',
1135
+ },
1136
+ // ========================================================================
1137
+ // BAIDU QIANFAN (Baidu Cloud)
1138
+ // ========================================================================
1139
+ baidu: {
1140
+ id: 'baidu',
1141
+ name: 'Baidu Qianfan',
1142
+ baseUrl: 'https://qianfan.baidubce.com/v2/chat/completions',
1143
+ apiKeyEnv: 'BAIDU_QIANFAN_API_KEY',
1144
+ models: [
1145
+ 'ernie-4.0-8k-latest',
1146
+ 'ernie-4.0-128k',
1147
+ 'ernie-3.5-8k-pro',
1148
+ 'ernie-speed-128k',
1149
+ 'ernie-speed-pro-128k',
1150
+ 'ernie-lite-8k',
1151
+ ],
1152
+ costPerK: { input: 0.3, output: 0.6 },
1153
+ tier: 'mid',
1154
+ format: 'openai',
1155
+ type: 'api',
1156
+ priority: 20,
1157
+ maxTokens: 128000,
1158
+ },
1159
+ // ========================================================================
1160
+ // KUAISHOU (Kling AI video + text)
1161
+ // ========================================================================
1162
+ kuaishou: {
1163
+ id: 'kuaishou',
1164
+ name: 'Kuaishou (Kling)',
1165
+ baseUrl: 'https://api.kuaishou.com/v2/chat/completions',
1166
+ apiKeyEnv: 'KUAISHOU_API_KEY',
1167
+ models: [
1168
+ 'kling-2.0-pro',
1169
+ 'kling-2.0-standard',
1170
+ 'kling-1.6-lite',
1171
+ ],
1172
+ costPerK: { input: 0.1, output: 0.1 },
1173
+ tier: 'cheap',
1174
+ format: 'openai',
1175
+ type: 'api',
1176
+ priority: 13,
1177
+ maxTokens: 8192,
1178
+ supports_multimodal: true,
1179
+ },
1180
+ // ========================================================================
1181
+ // 360 AI (360 Cloud Brain)
1182
+ // ========================================================================
1183
+ ai360: {
1184
+ id: 'ai360',
1185
+ name: '360 AI',
1186
+ baseUrl: 'https://ai.360.cn/v1/chat/completions',
1187
+ apiKeyEnv: 'AI360_API_KEY',
1188
+ models: [
1189
+ '360gpt-pro',
1190
+ '360gpt-s2-ultra',
1191
+ '360gpt-t2-pro',
1192
+ ],
1193
+ costPerK: { input: 0.1, output: 0.1 },
1194
+ tier: 'cheap',
1195
+ format: 'openai',
1196
+ type: 'api',
1197
+ priority: 14,
1198
+ maxTokens: 8192,
1199
+ },
1200
+ // ========================================================================
1201
+ // NAVER CLOUD (Clova)
1202
+ // ========================================================================
1203
+ naver: {
1204
+ id: 'naver',
1205
+ name: 'Naver Clova',
1206
+ baseUrl: 'https://clovastudio.ncloud.com/v1/api/chat-completions',
1207
+ apiKeyEnv: 'NAVER_CLIENT_ID',
1208
+ models: [
1209
+ 'clova-x',
1210
+ 'hyperspace-1.5',
1211
+ 'clova-cx',
1212
+ ],
1213
+ costPerK: { input: 0.5, output: 1.0 },
1214
+ tier: 'mid',
1215
+ format: 'openai',
1216
+ type: 'api',
1217
+ priority: 21,
1218
+ maxTokens: 8192,
1219
+ strategy: 'conservative',
1220
+ },
1221
+ // ========================================================================
1222
+ // KAKAO BRAIN (KoChat)
1223
+ // ========================================================================
1224
+ kakao: {
1225
+ id: 'kakao',
1226
+ name: 'Kakao Brain',
1227
+ baseUrl: 'https://api.kakaobrain.com/v1/chat/completions',
1228
+ apiKeyEnv: 'KAKAO_API_KEY',
1229
+ models: [
1230
+ 'kochat-2-pro',
1231
+ 'kochat-2-ultra',
1232
+ 'kochat-1.8b',
1233
+ 'kochat-6b',
1234
+ ],
1235
+ costPerK: { input: 0.2, output: 0.2 },
1236
+ tier: 'mid',
1237
+ format: 'openai',
1238
+ type: 'api',
1239
+ priority: 22,
1240
+ maxTokens: 8192,
1241
+ },
1242
+ // ========================================================================
1243
+ // SAGEMAKER (AWS SageMaker Endpoints)
1244
+ // ========================================================================
1245
+ sagemaker: {
1246
+ id: 'sagemaker',
1247
+ name: 'AWS SageMaker',
1248
+ baseUrl: 'https://runtime.sagemaker.{region}.amazonaws.com/endpoint/{endpoint_name}/invocations',
1249
+ apiKeyEnv: 'AWS_ACCESS_KEY_ID',
1250
+ models: [], // User configures their own endpoints
1251
+ costPerK: { input: 0, output: 0 }, // User-defined pricing
1252
+ tier: 'enterprise',
1253
+ format: 'openai',
1254
+ type: 'api',
1255
+ priority: 30,
1256
+ maxTokens: 8192,
1257
+ },
1258
+ // ========================================================================
1259
+ // SCALE AI (Scale Nucleus + API)
1260
+ // ========================================================================
1261
+ scale: {
1262
+ id: 'scale',
1263
+ name: 'Scale AI',
1264
+ baseUrl: 'https://api.scale.com/v1/chat/completions',
1265
+ apiKeyEnv: 'SCALE_API_KEY',
1266
+ models: [
1267
+ 'scale-gpt-4o',
1268
+ 'scale-claude-3-opus',
1269
+ ],
1270
+ costPerK: { input: 2.0, output: 10.0 },
1271
+ tier: 'premium',
1272
+ format: 'openai',
1273
+ type: 'api',
1274
+ priority: 25,
1275
+ maxTokens: 8192,
1276
+ },
1277
+ // ========================================================================
1278
+ // TITANIUM NETWORK (AI Gateway)
1279
+ // ========================================================================
1280
+ titanium: {
1281
+ id: 'titanium',
1282
+ name: 'Titanium Network',
1283
+ baseUrl: 'https://api.titaniumapi.dev/v1/chat/completions',
1284
+ apiKeyEnv: 'TITANIUM_API_KEY',
1285
+ models: [
1286
+ 'gpt-4o-mini',
1287
+ 'gpt-4o',
1288
+ 'claude-3-haiku',
1289
+ 'claude-3-sonnet',
1290
+ ],
1291
+ costPerK: { input: 0.3, output: 0.3 },
1292
+ tier: 'mid',
1293
+ format: 'openai',
1294
+ type: 'api',
1295
+ priority: 16,
1296
+ maxTokens: 8192,
1297
+ },
1298
+ // ========================================================================
1299
+ // ANTHROPIC via AWS (Bedrock Claude on AWS)
1300
+ // ========================================================================
1301
+ bedrock_anthropic: {
1302
+ id: 'bedrock_anthropic',
1303
+ name: 'AWS Bedrock (Anthropic)',
1304
+ baseUrl: 'https://bedrock-runtime.{region}.amazonaws.com/model/anthropic.claude-3-5-sonnet-20241022/invoke',
1305
+ apiKeyEnv: 'AWS_ACCESS_KEY_ID',
1306
+ models: [
1307
+ 'anthropic.claude-3-5-sonnet-20241022',
1308
+ 'anthropic.claude-3-opus-20240307',
1309
+ 'anthropic.claude-3-sonnet-20240229',
1310
+ 'anthropic.claude-3-haiku-20240307',
1311
+ ],
1312
+ costPerK: { input: 3.0, output: 15.0 },
1313
+ tier: 'enterprise',
1314
+ format: 'openai',
1315
+ type: 'api',
1316
+ priority: 23,
1317
+ maxTokens: 8192,
1318
+ strategy: 'conservative',
1319
+ },
1320
+ // ========================================================================
1321
+ // OPENAI via Azure (already have azure_openai, this is direct Azure OpenAI)
1322
+ // ========================================================================
1323
+ azure_openai_direct: {
1324
+ id: 'azure_openai_direct',
1325
+ name: 'Azure OpenAI (Direct)',
1326
+ baseUrl: 'https://{resource}.openai.azure.com/openai/deployments/{deployment}/chat/completions',
1327
+ apiKeyEnv: 'AZURE_OPENAI_API_KEY',
1328
+ models: [
1329
+ 'gpt-4o',
1330
+ 'gpt-4o-mini',
1331
+ 'gpt-4-turbo',
1332
+ 'gpt-4',
1333
+ 'gpt-35-turbo',
1334
+ ],
1335
+ costPerK: { input: 2.5, output: 10.0 },
1336
+ tier: 'enterprise',
1337
+ format: 'openai',
1338
+ type: 'api',
1339
+ priority: 22,
1340
+ maxTokens: 128000,
1341
+ strategy: 'conservative',
1342
+ },
1343
+ // ========================================================================
1344
+ // AIZEL CLOUD (Russian AI platform)
1345
+ // ========================================================================
1346
+ aizel: {
1347
+ id: 'aizel',
1348
+ name: 'Aizel Cloud',
1349
+ baseUrl: 'https://api.aizel.ai/v1/chat/completions',
1350
+ apiKeyEnv: 'AIZEL_API_KEY',
1351
+ models: [
1352
+ 'aizel-8b',
1353
+ 'aizel-72b',
1354
+ 'aizel-claude',
1355
+ ],
1356
+ costPerK: { input: 0.15, output: 0.15 },
1357
+ tier: 'cheap',
1358
+ format: 'openai',
1359
+ type: 'api',
1360
+ priority: 15,
1361
+ maxTokens: 8192,
1362
+ },
1363
+ // ========================================================================
1364
+ // SKYFIRE (AI API aggregator)
1365
+ // ========================================================================
1366
+ skyfire: {
1367
+ id: 'skyfire',
1368
+ name: 'SkyFire',
1369
+ baseUrl: 'https://api.skyfireai.com/v1/chat/completions',
1370
+ apiKeyEnv: 'SKYFIRE_API_KEY',
1371
+ models: [
1372
+ 'skyfire-gpt-4o-mini',
1373
+ 'skyfire-claude-3-sonnet',
1374
+ 'skyfire-gemini-pro',
1375
+ 'skyfire-llama-3.1-70b',
1376
+ ],
1377
+ costPerK: { input: 0.5, output: 0.5 },
1378
+ tier: 'mid',
1379
+ format: 'openai',
1380
+ type: 'api',
1381
+ priority: 18,
1382
+ maxTokens: 8192,
1383
+ },
1384
+ // ========================================================================
1385
+ // POE (Quora's AI platform with 1000s of models)
1386
+ // ========================================================================
1387
+ poe: {
1388
+ id: 'poe',
1389
+ name: 'Poe API',
1390
+ baseUrl: 'https://api.poe.com/v1/chat/completions',
1391
+ apiKeyEnv: 'POE_API_KEY',
1392
+ models: [
1393
+ 'GPT-4o',
1394
+ 'Claude-3.5-Sonnet',
1395
+ 'Claude-3-Opus',
1396
+ 'Claude-3-Haiku',
1397
+ 'Gemini-1.5-Pro',
1398
+ 'Gemini-1.5-Flash',
1399
+ 'Llama-3.1-405B',
1400
+ 'Llama-3.1-70B',
1401
+ 'Llama-3.1-8B',
1402
+ 'Mixtral-8x22B',
1403
+ 'Qwen-2.5-72B',
1404
+ ],
1405
+ costPerK: { input: 0.5, output: 0.5 },
1406
+ tier: 'mid',
1407
+ format: 'openai',
1408
+ type: 'api',
1409
+ priority: 17,
1410
+ maxTokens: 8192,
1411
+ strategy: 'balanced',
1412
+ },
1413
+ // ========================================================================
1414
+ // PHIND (AI search for developers)
1415
+ // ========================================================================
1416
+ phind: {
1417
+ id: 'phind',
1418
+ name: 'Phind',
1419
+ baseUrl: 'https://api.phind.com/agent/v1/chat/completions',
1420
+ apiKeyEnv: 'PHIND_API_KEY',
1421
+ models: [
1422
+ 'phind-codestral-2501',
1423
+ 'phind-nemo-2407',
1424
+ 'claude-3.5-sonnet',
1425
+ 'gpt-4o',
1426
+ ],
1427
+ costPerK: { input: 0.2, output: 0.2 },
1428
+ tier: 'cheap',
1429
+ format: 'openai',
1430
+ type: 'api',
1431
+ priority: 12,
1432
+ maxTokens: 8192,
1433
+ },
1434
+ // ========================================================================
1435
+ // BANANA (serverless model inference)
1436
+ // ========================================================================
1437
+ banana: {
1438
+ id: 'banana',
1439
+ name: 'Banana',
1440
+ baseUrl: 'https://api.banana.dev/v1/chat/completions',
1441
+ apiKeyEnv: 'BANANA_API_KEY',
1442
+ models: [
1443
+ 'llama-3.1-8b-instruct',
1444
+ 'llama-3.1-70b-instruct',
1445
+ 'mistral-7b-instruct',
1446
+ 'mixtral-8x7b',
1447
+ 'qwen2.5-72b',
1448
+ ],
1449
+ costPerK: { input: 0.2, output: 0.2 },
1450
+ tier: 'cheap',
1451
+ format: 'openai',
1452
+ type: 'api',
1453
+ priority: 12,
1454
+ maxTokens: 8192,
1455
+ },
1456
+ // ========================================================================
1457
+ // FOREFRONT AI (enterprise AI platform)
1458
+ // ========================================================================
1459
+ forefront: {
1460
+ id: 'forefront',
1461
+ name: 'Forefront AI',
1462
+ baseUrl: 'https://api.forefront.ai/v1/chat/completions',
1463
+ apiKeyEnv: 'FOREAHEAD_API_KEY',
1464
+ models: [
1465
+ 'gpt-4o-mini',
1466
+ 'gpt-4o',
1467
+ 'claude-3-opus',
1468
+ 'claude-3-sonnet',
1469
+ 'claude-3-haiku',
1470
+ 'gemini-pro-1.5',
1471
+ ],
1472
+ costPerK: { input: 0.5, output: 1.0 },
1473
+ tier: 'mid',
1474
+ format: 'openai',
1475
+ type: 'api',
1476
+ priority: 18,
1477
+ maxTokens: 8192,
1478
+ },
1479
+ // ========================================================================
1480
+ // JASPER (AI copywriting)
1481
+ // ========================================================================
1482
+ jasper: {
1483
+ id: 'jasper',
1484
+ name: 'Jasper',
1485
+ baseUrl: 'https://api.jasper.ai/v1/chat/completions',
1486
+ apiKeyEnv: 'JASPER_API_KEY',
1487
+ models: [
1488
+ 'jasper-gpt-4o',
1489
+ 'jasper-claude-3-opus',
1490
+ 'jasper-gemini-pro',
1491
+ ],
1492
+ costPerK: { input: 1.0, output: 2.0 },
1493
+ tier: 'mid',
1494
+ format: 'openai',
1495
+ type: 'api',
1496
+ priority: 24,
1497
+ maxTokens: 8192,
1498
+ },
1499
+ // ========================================================================
1500
+ // WRITESONIC (AI content generation)
1501
+ // ========================================================================
1502
+ writesonic: {
1503
+ id: 'writesonic',
1504
+ name: 'Writesonic',
1505
+ baseUrl: 'https://api.writesonic.com/v1/chat/completions',
1506
+ apiKeyEnv: 'WRITESONIC_API_KEY',
1507
+ models: [
1508
+ 'claude-3-opus',
1509
+ 'claude-3-sonnet',
1510
+ 'gpt-4o',
1511
+ 'gpt-4o-mini',
1512
+ ],
1513
+ costPerK: { input: 0.5, output: 1.0 },
1514
+ tier: 'mid',
1515
+ format: 'openai',
1516
+ type: 'api',
1517
+ priority: 23,
1518
+ maxTokens: 8192,
1519
+ },
1520
+ // ========================================================================
1521
+ // YOU.COM (AI-powered search)
1522
+ // ========================================================================
1523
+ you: {
1524
+ id: 'you',
1525
+ name: 'You.com',
1526
+ baseUrl: 'https://api.you.com/v1/chat/completions',
1527
+ apiKeyEnv: 'YOU_API_KEY',
1528
+ models: [
1529
+ 'gpt-4o-mini',
1530
+ 'claude-3-sonnet',
1531
+ 'claude-3-haiku',
1532
+ 'llama-3.1-70b',
1533
+ ],
1534
+ costPerK: { input: 0.3, output: 0.3 },
1535
+ tier: 'mid',
1536
+ format: 'openai',
1537
+ type: 'api',
1538
+ priority: 19,
1539
+ maxTokens: 8192,
1540
+ },
1541
+ // ========================================================================
1542
+ // KOMO AI (AI search engine)
1543
+ // ========================================================================
1544
+ komo: {
1545
+ id: 'komo',
1546
+ name: 'Komo AI',
1547
+ baseUrl: 'https://api.komo.ai/v1/chat/completions',
1548
+ apiKeyEnv: 'KOMO_API_KEY',
1549
+ models: [
1550
+ 'komo-gpt-4o-mini',
1551
+ 'komo-claude-3-haiku',
1552
+ 'komo-llama-3.1-70b',
1553
+ ],
1554
+ costPerK: { input: 0.2, output: 0.2 },
1555
+ tier: 'cheap',
1556
+ format: 'openai',
1557
+ type: 'api',
1558
+ priority: 14,
1559
+ maxTokens: 8192,
1560
+ },
1561
+ // ========================================================================
1562
+ // SHINE (AI platform - Chinese market)
1563
+ // ========================================================================
1564
+ shine: {
1565
+ id: 'shine',
1566
+ name: 'Shine AI',
1567
+ baseUrl: 'https://api.shineai.com/v1/chat/completions',
1568
+ apiKeyEnv: 'SHINE_API_KEY',
1569
+ models: [
1570
+ 'shine-gpt-4o-mini',
1571
+ 'shine-claude-3-haiku',
1572
+ 'shine-qwen2.5-72b',
1573
+ ],
1574
+ costPerK: { input: 0.08, output: 0.08 },
1575
+ tier: 'cheap',
1576
+ format: 'openai',
1577
+ type: 'api',
1578
+ priority: 14,
1579
+ maxTokens: 8192,
1580
+ },
1581
+ // ========================================================================
1582
+ // ZHIPU (already exists - adding GLM-4 variant for distinction)
1583
+ // Note: Already defined as 'zhipu' above. This section reserved.
1584
+ // ========================================================================
1585
+ // ========================================================================
1586
+ // AIDELabs (AI research platform)
1587
+ // ========================================================================
1588
+ aide: {
1589
+ id: 'aide',
1590
+ name: 'AIDE Labs',
1591
+ baseUrl: 'https://api.aidelabs.ai/v1/chat/completions',
1592
+ apiKeyEnv: 'AIDE_API_KEY',
1593
+ models: [
1594
+ 'aide-gpt-4o-mini',
1595
+ 'aide-claude-3-sonnet',
1596
+ 'aide-llama-3.1-70b',
1597
+ 'aide-qwen-72b',
1598
+ ],
1599
+ costPerK: { input: 0.1, output: 0.1 },
1600
+ tier: 'cheap',
1601
+ format: 'openai',
1602
+ type: 'api',
1603
+ priority: 14,
1604
+ maxTokens: 16384,
1605
+ strategy: 'balanced',
1606
+ },
1607
+ // ========================================================================
1608
+ // WRITER (enterprise AI writing platform)
1609
+ // ========================================================================
1610
+ writer: {
1611
+ id: 'writer',
1612
+ name: 'Writer API',
1613
+ baseUrl: 'https://api.writer.com/v1/chat/completions',
1614
+ apiKeyEnv: 'WRITER_API_KEY',
1615
+ models: [
1616
+ 'palmyra-x',
1617
+ 'palmyra-instruct',
1618
+ 'palmyra-lora',
1619
+ ],
1620
+ costPerK: { input: 0.5, output: 1.0 },
1621
+ tier: 'mid',
1622
+ format: 'openai',
1623
+ type: 'api',
1624
+ priority: 24,
1625
+ maxTokens: 8192,
1626
+ },
1627
+ // ========================================================================
1628
+ // DBRX (Databricks DBRX model)
1629
+ // ========================================================================
1630
+ databricks: {
1631
+ id: 'databricks',
1632
+ name: 'Databricks',
1633
+ baseUrl: 'https://{workspace}.cloud.databricks.com/serving-endpoints/{endpoint}/invocations',
1634
+ apiKeyEnv: 'DATABRICKS_API_KEY',
1635
+ models: [
1636
+ 'databricks-dbrx-instruct',
1637
+ 'meta-llama-3-70b-instruct',
1638
+ ],
1639
+ costPerK: { input: 0.5, output: 0.5 },
1640
+ tier: 'mid',
1641
+ format: 'openai',
1642
+ type: 'api',
1643
+ priority: 25,
1644
+ maxTokens: 16384,
1645
+ },
1646
+ // ========================================================================
1647
+ // MISTRAL via LA PLATEFORME (French AI platform)
1648
+ // ========================================================================
1649
+ laplateforme: {
1650
+ id: 'laplateforme',
1651
+ name: 'La Plateforme',
1652
+ baseUrl: 'https://api.laplateforme.io/v1/chat/completions',
1653
+ apiKeyEnv: 'LAPLATEFORME_API_KEY',
1654
+ models: [
1655
+ 'mistral-7b-instruct-v0.2',
1656
+ 'mixtral-8x7b-instruct-v0.1',
1657
+ 'mistral-large-2409',
1658
+ 'pixtral-12b-2409',
1659
+ ],
1660
+ costPerK: { input: 0.24, output: 0.24 },
1661
+ tier: 'mid',
1662
+ format: 'openai',
1663
+ type: 'api',
1664
+ priority: 18,
1665
+ maxTokens: 32768,
1666
+ },
1667
+ // ========================================================================
1668
+ // UPSTAGE AI (Korean AI platform)
1669
+ // ========================================================================
1670
+ upstage: {
1671
+ id: 'upstage',
1672
+ name: 'Upstage',
1673
+ baseUrl: 'https://api.upstage.ai/v1/chat/completions',
1674
+ apiKeyEnv: 'UPSTAGE_API_KEY',
1675
+ models: [
1676
+ 'solar-pro',
1677
+ 'solar-mini',
1678
+ 'solar-document-parse',
1679
+ ],
1680
+ costPerK: { input: 0.3, output: 0.6 },
1681
+ tier: 'mid',
1682
+ format: 'openai',
1683
+ type: 'api',
1684
+ priority: 22,
1685
+ maxTokens: 8192,
1686
+ strategy: 'conservative',
1687
+ },
1688
+ // ========================================================================
1689
+ // CLOUDFLARE WAITUNTIL (edge caching for semantic cache)
1690
+ // ========================================================================
1691
+ cloudflare_workers: {
1692
+ id: 'cloudflare_workers',
1693
+ name: 'Cloudflare Workers (Cache)',
1694
+ baseUrl: 'https://api.cloudflare.com/client/v4/accounts/{account_id}/workers/script',
1695
+ apiKeyEnv: 'CLOUDFLARE_API_TOKEN',
1696
+ models: [],
1697
+ costPerK: { input: 0, output: 0 },
1698
+ tier: 'free',
1699
+ format: 'openai',
1700
+ type: 'api',
1701
+ priority: 50,
1702
+ maxTokens: 0,
1703
+ },
699
1704
  };
700
1705
  // ============================================================
701
1706
  // RUNTIME STATE