update test

This commit is contained in:
duanfuxiang
2025-02-18 13:39:50 +08:00
parent 0c9589f380
commit 2eb86db028
5 changed files with 163 additions and 42 deletions

View File

@@ -1,7 +1,7 @@
import { DEFAULT_MODELS } from '../constants'
import { DEFAULT_AUTOCOMPLETE_SETTINGS } from '../settings/versions/v1/v1'
import { DEFAULT_SETTINGS } from '../settings/versions/v1/v1'
import { SETTINGS_SCHEMA_VERSION, parseInfioSettings } from './settings'
import { parseInfioSettings } from './settings'
describe('parseSmartCopilotSettings', () => {
it('should return default values for empty input', () => {
@@ -15,7 +15,25 @@ describe('parseSmartCopilotSettings', () => {
geminiApiKey: '',
groqApiKey: '',
deepseekApiKey: '',
chatModelId: 'deepseek-chat',
chatModelId: '',
chatModelProvider: 'OpenRouter',
applyModelId: '',
applyModelProvider: 'OpenRouter',
embeddingModelId: '',
embeddingModelProvider: 'Google',
defaultProvider: 'OpenRouter',
alibabaQwenProvider: {
name: 'AlibabaQwen',
apiKey: '',
baseUrl: '',
useCustomUrl: false,
},
anthropicProvider: {
name: 'Anthropic',
apiKey: '',
baseUrl: '',
useCustomUrl: false,
},
ollamaChatModel: {
baseUrl: '',
model: '',
@@ -25,7 +43,6 @@ describe('parseSmartCopilotSettings', () => {
apiKey: '',
model: '',
},
applyModelId: 'deepseek-chat',
ollamaApplyModel: {
baseUrl: '',
model: '',
@@ -35,7 +52,6 @@ describe('parseSmartCopilotSettings', () => {
apiKey: '',
model: '',
},
embeddingModelId: 'text-embedding-004',
ollamaEmbeddingModel: {
baseUrl: '',
model: '',
@@ -55,7 +71,7 @@ describe('parseSmartCopilotSettings', () => {
azureOAIApiSettings: '',
openAIApiSettings: '',
ollamaApiSettings: '',
triggers: DEFAULT_AUTOCOMPLETE_SETTINGS.triggers,
triggers: DEFAULT_SETTINGS.triggers,
delay: 500,
modelOptions: {
temperature: 1,
@@ -64,8 +80,8 @@ describe('parseSmartCopilotSettings', () => {
presence_penalty: 0,
max_tokens: 800,
},
systemMessage: DEFAULT_AUTOCOMPLETE_SETTINGS.systemMessage,
fewShotExamples: DEFAULT_AUTOCOMPLETE_SETTINGS.fewShotExamples,
systemMessage: DEFAULT_SETTINGS.systemMessage,
fewShotExamples: DEFAULT_SETTINGS.fewShotExamples,
userMessageTemplate: '{{prefix}}<mask/>{{suffix}}',
chainOfThoughRemovalRegex: '(.|\\n)*ANSWER:',
dontIncludeDataviews: true,
@@ -77,6 +93,60 @@ describe('parseSmartCopilotSettings', () => {
ignoredTags: '',
cacheSuggestions: true,
debugMode: false,
deepseekProvider: {
name: 'DeepSeek',
apiKey: '',
baseUrl: '',
useCustomUrl: false,
},
googleProvider: {
name: 'Google',
apiKey: '',
baseUrl: '',
useCustomUrl: false,
},
groqProvider: {
name: 'Groq',
apiKey: '',
baseUrl: '',
useCustomUrl: false,
},
infioProvider: {
name: 'Infio',
apiKey: '',
baseUrl: '',
useCustomUrl: false,
},
ollamaProvider: {
name: 'Ollama',
apiKey: '',
baseUrl: '',
useCustomUrl: false,
},
openaiProvider: {
name: 'OpenAI',
apiKey: '',
baseUrl: '',
useCustomUrl: false,
},
openaicompatibleProvider: {
name: 'OpenAICompatible',
apiKey: '',
baseUrl: '',
useCustomUrl: true,
},
openrouterProvider: {
name: 'OpenRouter',
apiKey: '',
baseUrl: '',
useCustomUrl: false,
},
siliconflowProvider: {
name: 'SiliconFlow',
apiKey: '',
baseUrl: '',
useCustomUrl: false,
},
})
})
})
@@ -110,7 +180,25 @@ describe('settings migration', () => {
geminiApiKey: '',
groqApiKey: '',
deepseekApiKey: '',
chatModelId: 'deepseek-chat',
chatModelId: '',
chatModelProvider: 'OpenRouter',
applyModelId: '',
applyModelProvider: 'OpenRouter',
embeddingModelId: '',
embeddingModelProvider: 'Google',
defaultProvider: 'OpenRouter',
alibabaQwenProvider: {
name: 'AlibabaQwen',
apiKey: '',
baseUrl: '',
useCustomUrl: false,
},
anthropicProvider: {
name: 'Anthropic',
apiKey: '',
baseUrl: '',
useCustomUrl: false,
},
ollamaChatModel: {
baseUrl: '',
model: '',
@@ -120,7 +208,6 @@ describe('settings migration', () => {
apiKey: '',
model: '',
},
applyModelId: 'deepseek-chat',
ollamaApplyModel: {
baseUrl: '',
model: '',
@@ -130,7 +217,6 @@ describe('settings migration', () => {
apiKey: '',
model: '',
},
embeddingModelId: 'text-embedding-004',
ollamaEmbeddingModel: {
baseUrl: '',
model: '',
@@ -150,7 +236,7 @@ describe('settings migration', () => {
azureOAIApiSettings: '',
openAIApiSettings: '',
ollamaApiSettings: '',
triggers: DEFAULT_AUTOCOMPLETE_SETTINGS.triggers,
triggers: DEFAULT_SETTINGS.triggers,
delay: 500,
modelOptions: {
temperature: 1,
@@ -159,8 +245,8 @@ describe('settings migration', () => {
presence_penalty: 0,
max_tokens: 800,
},
systemMessage: DEFAULT_AUTOCOMPLETE_SETTINGS.systemMessage,
fewShotExamples: DEFAULT_AUTOCOMPLETE_SETTINGS.fewShotExamples,
systemMessage: DEFAULT_SETTINGS.systemMessage,
fewShotExamples: DEFAULT_SETTINGS.fewShotExamples,
userMessageTemplate: '{{prefix}}<mask/>{{suffix}}',
chainOfThoughRemovalRegex: '(.|\\n)*ANSWER:',
dontIncludeDataviews: true,
@@ -172,6 +258,60 @@ describe('settings migration', () => {
ignoredTags: '',
cacheSuggestions: true,
debugMode: false,
deepseekProvider: {
name: 'DeepSeek',
apiKey: '',
baseUrl: '',
useCustomUrl: false,
},
googleProvider: {
name: 'Google',
apiKey: '',
baseUrl: '',
useCustomUrl: false,
},
groqProvider: {
name: 'Groq',
apiKey: '',
baseUrl: '',
useCustomUrl: false,
},
infioProvider: {
name: 'Infio',
apiKey: '',
baseUrl: '',
useCustomUrl: false,
},
ollamaProvider: {
name: 'Ollama',
apiKey: '',
baseUrl: '',
useCustomUrl: false,
},
openaiProvider: {
name: 'OpenAI',
apiKey: '',
baseUrl: '',
useCustomUrl: false,
},
openaicompatibleProvider: {
name: 'OpenAICompatible',
apiKey: '',
baseUrl: '',
useCustomUrl: true,
},
openrouterProvider: {
name: 'OpenRouter',
apiKey: '',
baseUrl: '',
useCustomUrl: false,
},
siliconflowProvider: {
name: 'SiliconFlow',
apiKey: '',
baseUrl: '',
useCustomUrl: false,
},
})
})
})

View File

@@ -9,11 +9,11 @@ import {
fewShotExampleSchema,
modelOptionsSchema
} from '../settings/versions/shared';
import { DEFAULT_AUTOCOMPLETE_SETTINGS } from "../settings/versions/v1/v1";
import { DEFAULT_SETTINGS } from "../settings/versions/v1/v1";
import { ApiProvider } from '../types/llm/model';
import { isRegexValid, isValidIgnorePattern } from '../utils/auto-complete';
export const SETTINGS_SCHEMA_VERSION = 0.1
export const SETTINGS_SCHEMA_VERSION = 0.4
const InfioProviderSchema = z.object({
name: z.literal('Infio'),
@@ -328,29 +328,11 @@ type Migration = {
const MIGRATIONS: Migration[] = [
{
fromVersion: 0,
toVersion: 1,
fromVersion: 0.1,
toVersion: 0.4,
migrate: (data) => {
const newData = { ...data }
if (
'ollamaBaseUrl' in newData &&
typeof newData.ollamaBaseUrl === 'string'
) {
newData.ollamaChatModel = {
baseUrl: newData.ollamaBaseUrl,
model: '',
}
newData.ollamaApplyModel = {
baseUrl: newData.ollamaBaseUrl,
model: '',
}
newData.ollamaEmbeddingModel = {
baseUrl: newData.ollamaBaseUrl,
model: '',
}
delete newData.ollamaBaseUrl
}
newData.version = SETTINGS_SCHEMA_VERSION
return newData
},
},
@@ -383,7 +365,6 @@ export function parseInfioSettings(data: unknown): InfioSettings {
const migratedData = migrateSettings(data as Record<string, unknown>)
return InfioSettingsSchema.parse(migratedData)
} catch (error) {
// console.warn('Invalid settings provided, using defaults:', error)
return InfioSettingsSchema.parse({ ...DEFAULT_AUTOCOMPLETE_SETTINGS })
return InfioSettingsSchema.parse({ ...DEFAULT_SETTINGS })
}
}