|
@@ -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 user = writable(undefined);
|
|
|
|
|
|
+export const config: Writable<Config | undefined> = 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;
|
|
|
|
- format: string;
|
|
|
|
- family: string;
|
|
|
|
- families: string[] | null;
|
|
|
|
- parameter_size: string;
|
|
|
|
- quantization_level: string;
|
|
|
|
|
|
+ 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;
|
|
};
|
|
};
|