@@ -238,6 +238,17 @@ pub const COMTEGRA_PROFILE: OpenAiCompatibleProfile = OpenAiCompatibleProfile {
238238 requires_api_key : true ,
239239} ;
240240
241+ pub const FPT_PROFILE : OpenAiCompatibleProfile = OpenAiCompatibleProfile {
242+ id : "fpt" ,
243+ display_name : "FPT AI Marketplace" ,
244+ api_base : "https://mkp-api.fptcloud.com" ,
245+ api_key_env : "FPT_API_KEY" ,
246+ env_file : "fpt.env" ,
247+ setup_url : "https://ai-docs.fptcloud.com/api-reference/ai-marketplace/api-reference/api-integration-large-language-model-md" ,
248+ default_model : Some ( "GLM-5.1" ) ,
249+ requires_api_key : true ,
250+ } ;
251+
241252pub const FIRMWARE_PROFILE : OpenAiCompatibleProfile = OpenAiCompatibleProfile {
242253 id : "firmware" ,
243254 display_name : "Firmware" ,
@@ -458,7 +469,7 @@ pub const OPENAI_COMPAT_PROFILE: OpenAiCompatibleProfile = OpenAiCompatibleProfi
458469 requires_api_key : true ,
459470} ;
460471
461- const OPENAI_COMPAT_PROFILES : [ OpenAiCompatibleProfile ; 29 ] = [
472+ const OPENAI_COMPAT_PROFILES : [ OpenAiCompatibleProfile ; 30 ] = [
462473 OPENCODE_PROFILE ,
463474 OPENCODE_GO_PROFILE ,
464475 ZAI_PROFILE ,
@@ -471,6 +482,7 @@ const OPENAI_COMPAT_PROFILES: [OpenAiCompatibleProfile; 29] = [
471482 CORTECS_PROFILE ,
472483 DEEPSEEK_PROFILE ,
473484 COMTEGRA_PROFILE ,
485+ FPT_PROFILE ,
474486 FIRMWARE_PROFILE ,
475487 HUGGING_FACE_PROFILE ,
476488 MOONSHOT_PROFILE ,
@@ -761,6 +773,19 @@ pub const COMTEGRA_LOGIN_PROVIDER: LoginProviderDescriptor = LoginProviderDescri
761773 order : LoginProviderSurfaceOrder :: new ( Some ( 22 ) , Some ( 22 ) , Some ( 22 ) , Some ( 22 ) , Some ( 22 ) ) ,
762774} ;
763775
776+ pub const FPT_LOGIN_PROVIDER : LoginProviderDescriptor = LoginProviderDescriptor {
777+ id : "fpt" ,
778+ display_name : "FPT AI Marketplace" ,
779+ auth_kind : LoginProviderAuthKind :: ApiKey ,
780+ auth_state_key : LoginProviderAuthStateKey :: OpenRouterLike ,
781+ auth_status_method : "API key" ,
782+ aliases : & [ "fpt-ai" , "fptcloud" , "fpt-cloud" ] ,
783+ menu_detail : "OpenAI-compatible FPT AI Marketplace API" ,
784+ recommended : false ,
785+ target : LoginProviderTarget :: OpenAiCompatible ( FPT_PROFILE ) ,
786+ order : LoginProviderSurfaceOrder :: new ( Some ( 23 ) , Some ( 23 ) , Some ( 23 ) , Some ( 23 ) , Some ( 23 ) ) ,
787+ } ;
788+
764789pub const FIRMWARE_LOGIN_PROVIDER : LoginProviderDescriptor = LoginProviderDescriptor {
765790 id : "firmware" ,
766791 display_name : "Firmware" ,
@@ -771,7 +796,7 @@ pub const FIRMWARE_LOGIN_PROVIDER: LoginProviderDescriptor = LoginProviderDescri
771796 menu_detail : "API key" ,
772797 recommended : false ,
773798 target : LoginProviderTarget :: OpenAiCompatible ( FIRMWARE_PROFILE ) ,
774- order : LoginProviderSurfaceOrder :: new ( Some ( 22 ) , Some ( 22 ) , Some ( 22 ) , Some ( 22 ) , Some ( 22 ) ) ,
799+ order : LoginProviderSurfaceOrder :: new ( Some ( 24 ) , Some ( 24 ) , Some ( 24 ) , Some ( 24 ) , Some ( 24 ) ) ,
775800} ;
776801
777802pub const HUGGING_FACE_LOGIN_PROVIDER : LoginProviderDescriptor = LoginProviderDescriptor {
@@ -784,7 +809,7 @@ pub const HUGGING_FACE_LOGIN_PROVIDER: LoginProviderDescriptor = LoginProviderDe
784809 menu_detail : "API key" ,
785810 recommended : false ,
786811 target : LoginProviderTarget :: OpenAiCompatible ( HUGGING_FACE_PROFILE ) ,
787- order : LoginProviderSurfaceOrder :: new ( Some ( 23 ) , Some ( 23 ) , Some ( 23 ) , Some ( 23 ) , Some ( 23 ) ) ,
812+ order : LoginProviderSurfaceOrder :: new ( Some ( 25 ) , Some ( 25 ) , Some ( 25 ) , Some ( 25 ) , Some ( 25 ) ) ,
788813} ;
789814
790815pub const MOONSHOT_LOGIN_PROVIDER : LoginProviderDescriptor = LoginProviderDescriptor {
@@ -797,7 +822,7 @@ pub const MOONSHOT_LOGIN_PROVIDER: LoginProviderDescriptor = LoginProviderDescri
797822 menu_detail : "API key" ,
798823 recommended : false ,
799824 target : LoginProviderTarget :: OpenAiCompatible ( MOONSHOT_PROFILE ) ,
800- order : LoginProviderSurfaceOrder :: new ( Some ( 24 ) , Some ( 24 ) , Some ( 24 ) , Some ( 24 ) , Some ( 24 ) ) ,
825+ order : LoginProviderSurfaceOrder :: new ( Some ( 26 ) , Some ( 26 ) , Some ( 26 ) , Some ( 26 ) , Some ( 26 ) ) ,
801826} ;
802827
803828pub const NEBIUS_LOGIN_PROVIDER : LoginProviderDescriptor = LoginProviderDescriptor {
@@ -810,7 +835,7 @@ pub const NEBIUS_LOGIN_PROVIDER: LoginProviderDescriptor = LoginProviderDescript
810835 menu_detail : "API key" ,
811836 recommended : false ,
812837 target : LoginProviderTarget :: OpenAiCompatible ( NEBIUS_PROFILE ) ,
813- order : LoginProviderSurfaceOrder :: new ( Some ( 25 ) , Some ( 25 ) , Some ( 25 ) , Some ( 25 ) , Some ( 25 ) ) ,
838+ order : LoginProviderSurfaceOrder :: new ( Some ( 27 ) , Some ( 27 ) , Some ( 27 ) , Some ( 27 ) , Some ( 27 ) ) ,
814839} ;
815840
816841pub const SCALEWAY_LOGIN_PROVIDER : LoginProviderDescriptor = LoginProviderDescriptor {
@@ -823,7 +848,7 @@ pub const SCALEWAY_LOGIN_PROVIDER: LoginProviderDescriptor = LoginProviderDescri
823848 menu_detail : "API key" ,
824849 recommended : false ,
825850 target : LoginProviderTarget :: OpenAiCompatible ( SCALEWAY_PROFILE ) ,
826- order : LoginProviderSurfaceOrder :: new ( Some ( 26 ) , Some ( 26 ) , Some ( 26 ) , Some ( 26 ) , Some ( 26 ) ) ,
851+ order : LoginProviderSurfaceOrder :: new ( Some ( 28 ) , Some ( 28 ) , Some ( 28 ) , Some ( 28 ) , Some ( 28 ) ) ,
827852} ;
828853
829854pub const STACKIT_LOGIN_PROVIDER : LoginProviderDescriptor = LoginProviderDescriptor {
@@ -836,7 +861,7 @@ pub const STACKIT_LOGIN_PROVIDER: LoginProviderDescriptor = LoginProviderDescrip
836861 menu_detail : "API key" ,
837862 recommended : false ,
838863 target : LoginProviderTarget :: OpenAiCompatible ( STACKIT_PROFILE ) ,
839- order : LoginProviderSurfaceOrder :: new ( Some ( 27 ) , Some ( 27 ) , Some ( 27 ) , Some ( 27 ) , Some ( 27 ) ) ,
864+ order : LoginProviderSurfaceOrder :: new ( Some ( 29 ) , Some ( 29 ) , Some ( 29 ) , Some ( 29 ) , Some ( 29 ) ) ,
840865} ;
841866
842867pub const GROQ_LOGIN_PROVIDER : LoginProviderDescriptor = LoginProviderDescriptor {
@@ -849,7 +874,7 @@ pub const GROQ_LOGIN_PROVIDER: LoginProviderDescriptor = LoginProviderDescriptor
849874 menu_detail : "API key" ,
850875 recommended : false ,
851876 target : LoginProviderTarget :: OpenAiCompatible ( GROQ_PROFILE ) ,
852- order : LoginProviderSurfaceOrder :: new ( Some ( 28 ) , Some ( 28 ) , Some ( 28 ) , Some ( 28 ) , Some ( 28 ) ) ,
877+ order : LoginProviderSurfaceOrder :: new ( Some ( 30 ) , Some ( 30 ) , Some ( 30 ) , Some ( 30 ) , Some ( 30 ) ) ,
853878} ;
854879
855880pub const MISTRAL_LOGIN_PROVIDER : LoginProviderDescriptor = LoginProviderDescriptor {
@@ -1047,7 +1072,7 @@ pub const GOOGLE_LOGIN_PROVIDER: LoginProviderDescriptor = LoginProviderDescript
10471072 order : LoginProviderSurfaceOrder :: new ( Some ( 13 ) , None , None , None , None ) ,
10481073} ;
10491074
1050- const LOGIN_PROVIDERS : [ LoginProviderDescriptor ; 42 ] = [
1075+ const LOGIN_PROVIDERS : [ LoginProviderDescriptor ; 43 ] = [
10511076 AUTO_IMPORT_LOGIN_PROVIDER ,
10521077 CLAUDE_LOGIN_PROVIDER ,
10531078 OPENAI_LOGIN_PROVIDER ,
@@ -1068,6 +1093,7 @@ const LOGIN_PROVIDERS: [LoginProviderDescriptor; 42] = [
10681093 CORTECS_LOGIN_PROVIDER ,
10691094 DEEPSEEK_LOGIN_PROVIDER ,
10701095 COMTEGRA_LOGIN_PROVIDER ,
1096+ FPT_LOGIN_PROVIDER ,
10711097 FIRMWARE_LOGIN_PROVIDER ,
10721098 HUGGING_FACE_LOGIN_PROVIDER ,
10731099 MOONSHOT_LOGIN_PROVIDER ,
0 commit comments