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,5 +1,5 @@
export type { FewShotExample } from "./shared";
export { DEFAULT_AUTOCOMPLETE_SETTINGS as DEFAULT_SETTINGS, settingsSchema, pluginDataSchema } from "./v1/v1";
export { DEFAULT_SETTINGS as DEFAULT_SETTINGS, settingsSchema, pluginDataSchema } from "./v1/v1";
export type { Settings, Trigger, PluginData } from "./v1/v1";
export {
MAX_DELAY, MAX_FREQUENCY_PENALTY,

View File

@ -9,7 +9,7 @@ import {
settingsSchema as settingsSchemaV0
} from "./v0/v0";
import {
DEFAULT_AUTOCOMPLETE_SETTINGS as DEFAULT_SETTINGS_V1,
DEFAULT_SETTINGS as DEFAULT_SETTINGS_V1,
Settings as SettingsV1,
settingsSchema as settingsSchemaV1
} from "./v1/v1";

View File

@ -95,7 +95,7 @@ export const pluginDataSchema = z.object({
}).strict();
export const DEFAULT_AUTOCOMPLETE_SETTINGS = {
export const DEFAULT_SETTINGS = {
// version: "1",
// General settings

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 })
}
}