mirror of
https://github.com/open-webui/open-webui
synced 2024-11-22 08:07:55 +00:00
Merge pull request #1686 from cheahjs/feat/add-store-types
feat: add types to some frontend stores
This commit is contained in:
commit
ef5af1e273
@ -1,10 +1,10 @@
|
||||
import { APP_NAME } from '$lib/constants';
|
||||
import { writable } from 'svelte/store';
|
||||
import { type Writable, writable } from 'svelte/store';
|
||||
|
||||
// Backend
|
||||
export const WEBUI_NAME = writable(APP_NAME);
|
||||
export const config = writable(undefined);
|
||||
export const user = writable(undefined);
|
||||
export const config: Writable<Config | undefined> = writable(undefined);
|
||||
export const user: Writable<SessionUser | undefined> = writable(undefined);
|
||||
|
||||
// Frontend
|
||||
export const MODEL_DOWNLOAD_POOL = writable({});
|
||||
@ -14,10 +14,10 @@ export const chatId = writable('');
|
||||
|
||||
export const chats = writable([]);
|
||||
export const tags = writable([]);
|
||||
export const models = writable([]);
|
||||
export const models: Writable<Model[]> = writable([]);
|
||||
|
||||
export const modelfiles = writable([]);
|
||||
export const prompts = writable([]);
|
||||
export const prompts: Writable<Prompt[]> = writable([]);
|
||||
export const documents = writable([
|
||||
{
|
||||
collection_name: 'collection_name',
|
||||
@ -33,6 +33,109 @@ export const documents = writable([
|
||||
}
|
||||
]);
|
||||
|
||||
export const settings = writable({});
|
||||
export const settings: Writable<Settings> = writable({});
|
||||
export const showSettings = writable(false);
|
||||
export const showChangelog = writable(false);
|
||||
|
||||
type Model = OpenAIModel | OllamaModel;
|
||||
|
||||
type OpenAIModel = {
|
||||
id: string;
|
||||
name: string;
|
||||
external: boolean;
|
||||
source?: string;
|
||||
};
|
||||
|
||||
type OllamaModel = {
|
||||
id: string;
|
||||
name: string;
|
||||
|
||||
// Ollama specific fields
|
||||
details: OllamaModelDetails;
|
||||
size: number;
|
||||
description: string;
|
||||
model: string;
|
||||
modified_at: string;
|
||||
digest: string;
|
||||
};
|
||||
|
||||
type OllamaModelDetails = {
|
||||
parent_model: string;
|
||||
format: string;
|
||||
family: string;
|
||||
families: string[] | null;
|
||||
parameter_size: 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 New Issue
Block a user