All files / src/config ai.ts

100% Statements 40/40
100% Branches 8/8
100% Functions 8/8
100% Lines 40/40

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 412x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 2x 1x 1x 1x 2x 1x 1x 1x 2x 1x 1x 1x 2x 3x 3x 3x 2x 1x 1x 1x 1x 1x 1x 1x 1x  
import * as vscode from 'vscode';
 
const ROOT = 'vscode-code-reviewer';
 
export function getAIProvider(): string {
  return vscode.workspace.getConfiguration(ROOT).get<string>('ai.provider', 'deepseek');
}
 
export function getAIModel(): string {
  return vscode.workspace.getConfiguration(ROOT).get<string>('ai.model', 'deepseek-chat');
}
 
export function getAIBaseUrl(): string {
  return vscode.workspace.getConfiguration(ROOT).get<string>('ai.baseUrl', 'https://api.deepseek.com/v1');
}
 
export function getAITemperature(): number {
  return vscode.workspace.getConfiguration(ROOT).get<number>('ai.temperature', 0.2);
}
 
export function getAITimeout(): number {
  return vscode.workspace.getConfiguration(ROOT).get<number>('ai.timeout', 300);
}
 
export function getAIMaxTokens(): number {
  return vscode.workspace.getConfiguration(ROOT).get<number>('ai.maxTokens', 8192);
}
 
export function getAIOutputLanguage(): string {
  return vscode.workspace.getConfiguration(ROOT).get<string>('ai.outputLanguage', 'zh-CN');
}
 
export function getAIConfig() {
  return {
    provider: getAIProvider(),
    model: getAIModel(),
    baseUrl: getAIBaseUrl(),
    outputLanguage: getAIOutputLanguage(),
  };
}