forked from open-webui/open-webui
feat: add types to some frontend stores
This commit is contained in:
parent
81b7cdfed7
commit
ed13da8aba
1 changed files with 84 additions and 12 deletions
|
@ -3,8 +3,8 @@ import { type Writable, writable } from 'svelte/store';
|
||||||
|
|
||||||
// Backend
|
// Backend
|
||||||
export const WEBUI_NAME = writable(APP_NAME);
|
export const WEBUI_NAME = writable(APP_NAME);
|
||||||
export const config = writable(undefined);
|
export const config: Writable<Config | undefined> = writable(undefined);
|
||||||
export const user = writable(undefined);
|
export const user: Writable<SessionUser | undefined> = writable(undefined);
|
||||||
|
|
||||||
// Frontend
|
// Frontend
|
||||||
export const MODEL_DOWNLOAD_POOL = writable({});
|
export const MODEL_DOWNLOAD_POOL = writable({});
|
||||||
|
@ -17,7 +17,7 @@ export const tags = writable([]);
|
||||||
export const models: Writable<Model[]> = writable([]);
|
export const models: Writable<Model[]> = writable([]);
|
||||||
|
|
||||||
export const modelfiles = writable([]);
|
export const modelfiles = writable([]);
|
||||||
export const prompts = writable([]);
|
export const prompts: Writable<Prompt[]> = writable([]);
|
||||||
export const documents = writable([
|
export const documents = writable([
|
||||||
{
|
{
|
||||||
collection_name: 'collection_name',
|
collection_name: 'collection_name',
|
||||||
|
@ -33,7 +33,7 @@ export const documents = writable([
|
||||||
}
|
}
|
||||||
]);
|
]);
|
||||||
|
|
||||||
export const settings = writable({});
|
export const settings: Writable<Settings> = writable({});
|
||||||
export const showSettings = writable(false);
|
export const showSettings = writable(false);
|
||||||
export const showChangelog = writable(false);
|
export const showChangelog = writable(false);
|
||||||
|
|
||||||
|
@ -44,7 +44,7 @@ type OpenAIModel = {
|
||||||
name: string;
|
name: string;
|
||||||
external: boolean;
|
external: boolean;
|
||||||
source?: string;
|
source?: string;
|
||||||
}
|
};
|
||||||
|
|
||||||
type OllamaModel = {
|
type OllamaModel = {
|
||||||
id: string;
|
id: string;
|
||||||
|
@ -57,13 +57,85 @@ type OllamaModel = {
|
||||||
model: string;
|
model: string;
|
||||||
modified_at: string;
|
modified_at: string;
|
||||||
digest: string;
|
digest: string;
|
||||||
}
|
};
|
||||||
|
|
||||||
type OllamaModelDetails = {
|
type OllamaModelDetails = {
|
||||||
parent_model: string;
|
parent_model: string;
|
||||||
format: string;
|
format: string;
|
||||||
family: string;
|
family: string;
|
||||||
families: string[] | null;
|
families: string[] | null;
|
||||||
parameter_size: string;
|
parameter_size: string;
|
||||||
quantization_level: string;
|
quantization_level: string;
|
||||||
|
};
|
||||||
|
|
||||||
|
type Settings = {
|
||||||
|
models?: string[];
|
||||||
|
conversationMode?: boolean;
|
||||||
|
speechAutoSend?: boolean;
|
||||||
|
responseAutoPlayback?: boolean;
|
||||||
|
audio?: AudioSettings;
|
||||||
|
showUsername?: boolean;
|
||||||
|
saveChatHistory?: boolean;
|
||||||
|
notificationEnabled?: boolean;
|
||||||
|
title?: TitleSettings;
|
||||||
|
|
||||||
|
system?: string;
|
||||||
|
requestFormat?: string;
|
||||||
|
keepAlive?: string;
|
||||||
|
seed?: number;
|
||||||
|
temperature?: string;
|
||||||
|
repeat_penalty?: string;
|
||||||
|
top_k?: string;
|
||||||
|
top_p?: string;
|
||||||
|
num_ctx?: string;
|
||||||
|
options?: ModelOptions;
|
||||||
|
};
|
||||||
|
|
||||||
|
type ModelOptions = {
|
||||||
|
stop?: boolean;
|
||||||
|
};
|
||||||
|
|
||||||
|
type AudioSettings = {
|
||||||
|
STTEngine?: string;
|
||||||
|
TTSEngine?: string;
|
||||||
|
speaker?: string;
|
||||||
|
};
|
||||||
|
|
||||||
|
type TitleSettings = {
|
||||||
|
auto?: boolean;
|
||||||
|
model?: string;
|
||||||
|
modelExternal?: string;
|
||||||
|
prompt?: string;
|
||||||
|
};
|
||||||
|
|
||||||
|
type Prompt = {
|
||||||
|
command: string;
|
||||||
|
user_id: string;
|
||||||
|
title: string;
|
||||||
|
content: string;
|
||||||
|
timestamp: number;
|
||||||
|
};
|
||||||
|
|
||||||
|
type Config = {
|
||||||
|
status?: boolean;
|
||||||
|
name?: string;
|
||||||
|
version?: string;
|
||||||
|
default_locale?: string;
|
||||||
|
images?: boolean;
|
||||||
|
default_models?: string[];
|
||||||
|
default_prompt_suggestions?: PromptSuggestion[];
|
||||||
|
trusted_header_auth?: boolean;
|
||||||
|
};
|
||||||
|
|
||||||
|
type PromptSuggestion = {
|
||||||
|
content: string;
|
||||||
|
title: [string, string];
|
||||||
|
};
|
||||||
|
|
||||||
|
type SessionUser = {
|
||||||
|
id: string;
|
||||||
|
email: string;
|
||||||
|
name: string;
|
||||||
|
role: string;
|
||||||
|
profile_image_url: string;
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue