1+ import type { AIProviderDescriptor } from './plus/ai/models/model' ;
2+
13export type AIProviders =
24 | 'anthropic'
35 | 'deepseek'
@@ -9,10 +11,70 @@ export type AIProviders =
911 | 'vscode'
1012 | 'xai' ;
1113export type AIPrimaryProviders = Extract < AIProviders , 'gitkraken' | 'vscode' > ;
12- export const primaryAIProviders = [ 'gitkraken' , 'vscode' ] as const satisfies readonly AIPrimaryProviders [ ] ;
1314
1415export type AIProviderAndModel = `${string } :${string } `;
1516export type SupportedAIModels = `${Exclude < AIProviders , AIPrimaryProviders > } :${string } ` | AIPrimaryProviders ;
1617
17- export const aiProviderDataDisclaimer =
18- 'GitLens AI features can send code snippets, diffs and other context to your selected AI provider for analysis. This may contain sensitive information.' ;
18+ export const gitKrakenProviderDescriptor : AIProviderDescriptor < 'gitkraken' > = {
19+ id : 'gitkraken' ,
20+ name : 'GitKraken AI (Preview)' ,
21+ primary : true ,
22+ requiresAccount : true ,
23+ requiresUserKey : false ,
24+ } as const ;
25+ export const vscodeProviderDescriptor : AIProviderDescriptor < 'vscode' > = {
26+ id : 'vscode' ,
27+ name : 'Copilot' ,
28+ primary : true ,
29+ requiresAccount : false ,
30+ requiresUserKey : false ,
31+ } as const ;
32+ export const openAIProviderDescriptor : AIProviderDescriptor < 'openai' > = {
33+ id : 'openai' ,
34+ name : 'OpenAI' ,
35+ primary : false ,
36+ requiresAccount : true ,
37+ requiresUserKey : true ,
38+ } as const ;
39+ export const anthropicProviderDescriptor : AIProviderDescriptor < 'anthropic' > = {
40+ id : 'anthropic' ,
41+ name : 'Anthropic' ,
42+ primary : false ,
43+ requiresAccount : true ,
44+ requiresUserKey : true ,
45+ } as const ;
46+ export const geminiProviderDescriptor : AIProviderDescriptor < 'gemini' > = {
47+ id : 'gemini' ,
48+ name : 'Google' ,
49+ primary : false ,
50+ requiresAccount : true ,
51+ requiresUserKey : true ,
52+ } as const ;
53+ export const deepSeekProviderDescriptor : AIProviderDescriptor < 'deepseek' > = {
54+ id : 'deepseek' ,
55+ name : 'DeepSeek' ,
56+ primary : false ,
57+ requiresAccount : true ,
58+ requiresUserKey : true ,
59+ } as const ;
60+ export const xAIProviderDescriptor : AIProviderDescriptor < 'xai' > = {
61+ id : 'xai' ,
62+ name : 'xAI' ,
63+ primary : false ,
64+ requiresAccount : true ,
65+ requiresUserKey : true ,
66+ } as const ;
67+ export const githubProviderDescriptor : AIProviderDescriptor < 'github' > = {
68+ id : 'github' ,
69+ name : 'GitHub Models' ,
70+ primary : false ,
71+ requiresAccount : true ,
72+ requiresUserKey : true ,
73+ } as const ;
74+ export const huggingFaceProviderDescriptor : AIProviderDescriptor < 'huggingface' > = {
75+ id : 'huggingface' ,
76+ name : 'Hugging Face' ,
77+ primary : false ,
78+ requiresAccount : true ,
79+ requiresUserKey : true ,
80+ } as const ;
0 commit comments