refactor: Cleanup

This commit is contained in:
Aleksander Grygier 2025-11-24 02:18:57 +01:00
parent 13fe8607c5
commit b2590a7f6c
5 changed files with 48 additions and 14 deletions

View File

@ -118,7 +118,7 @@ export class ChatService {
.map((msg) => {
if ('id' in msg && 'convId' in msg && 'timestamp' in msg) {
const dbMsg = msg as DatabaseMessage & { extra?: DatabaseMessageExtra[] };
return ChatService.convertMessageToChatServiceData(dbMsg);
return ChatService.convertDbMessageToApiChatMessageData(dbMsg);
} else {
return msg as ApiChatMessageData;
}
@ -595,7 +595,7 @@ export class ChatService {
* @returns {ApiChatMessageData} object formatted for the chat completion API
* @static
*/
static convertMessageToChatServiceData(
static convertDbMessageToApiChatMessageData(
message: DatabaseMessage & { extra?: DatabaseMessageExtra[] }
): ApiChatMessageData {
if (!message.extra || message.extra.length === 0) {

View File

@ -1,2 +1,3 @@
export { chatService } from './chat';
export { slotsService } from './slots';
export { PropsService } from './props';

View File

@ -0,0 +1,43 @@
import { config } from '$lib/stores/settings.svelte';
/**
* PropsService - Server properties management
*
* This service handles communication with the /props endpoint to retrieve
* server configuration, model information, and capabilities.
*
* **Responsibilities:**
* - Fetch server properties from /props endpoint
* - Handle API authentication
* - Parse and validate server response
*
* **Used by:**
* - ServerStore: Primary consumer for server state management
*/
export class PropsService {
/**
* Fetches server properties from the /props endpoint
*
* @returns {Promise<ApiLlamaCppServerProps>} Server properties
* @throws {Error} If the request fails or returns invalid data
*/
static async fetch(): Promise<ApiLlamaCppServerProps> {
const currentConfig = config();
const apiKey = currentConfig.apiKey?.toString().trim();
const response = await fetch('./props', {
headers: {
...(apiKey ? { Authorization: `Bearer ${apiKey}` } : {})
}
});
if (!response.ok) {
throw new Error(
`Failed to fetch server properties: ${response.status} ${response.statusText}`
);
}
const data = await response.json();
return data as ApiLlamaCppServerProps;
}
}

View File

@ -133,16 +133,6 @@ export class SlotsService {
}
}
/**
* @deprecated Polling is no longer used - timing data comes from ChatService streaming response
* This method logs a warning if called to help identify outdated usage
*/
fetchAndNotify(): void {
console.warn(
'SlotsService.fetchAndNotify() is deprecated - use timing data from ChatService instead'
);
}
subscribe(callback: (state: ApiProcessingState | null) => void): () => void {
this.callbacks.add(callback);

View File

@ -1,6 +1,6 @@
import { browser } from '$app/environment';
import { SERVER_PROPS_LOCALSTORAGE_KEY } from '$lib/constants/localstorage-keys';
import { ChatService } from '$lib/services/chat';
import { PropsService } from '$lib/services/props';
import { config } from '$lib/stores/settings.svelte';
import { ServerMode, ModelModality } from '$lib/enums';
import { updateConfig } from '$lib/stores/settings.svelte';
@ -241,7 +241,7 @@ class ServerStore {
const fetchPromise = (async () => {
try {
const props = await ChatService.getServerProps();
const props = await PropsService.fetch();
this._serverProps = props;
this.persistServerProps(props);
this._error = null;