diff --git a/src/main/gui.ts b/src/main/gui.ts index 8099d2d..41450d5 100644 --- a/src/main/gui.ts +++ b/src/main/gui.ts @@ -6,8 +6,8 @@ import { ConfigManager } from '@/main/managers/ConfigManager'; import { LogManager } from '@/main/managers/LogManager'; import { KoboldCppManager } from '@/main/managers/KoboldCppManager'; import { SillyTavernManager } from '@/main/managers/SillyTavernManager'; -import { HardwareService } from '@/main/services/HardwareService'; -import { BinaryService } from '@/main/services/BinaryService'; +import { HardwareManager } from '@/main/managers/HardwareManager'; +import { BinaryManager } from '@/main/managers/BinaryManager'; import { IPCHandlers } from '@/main/ipc'; import { PRODUCT_NAME, CONFIG_FILE_NAME } from '@/constants'; import { homedir } from 'os'; @@ -19,8 +19,8 @@ export class GerbilApp { private configManager: ConfigManager; private logManager: LogManager; private sillyTavernManager: SillyTavernManager; - private hardwareService: HardwareService; - private binaryService: BinaryService; + private hardwareManager: HardwareManager; + private binaryManager: BinaryManager; private ipcHandlers: IPCHandlers; constructor() { @@ -32,7 +32,7 @@ export class GerbilApp { this.logManager ); this.windowManager = new WindowManager(); - this.hardwareService = new HardwareService(this.logManager); + this.hardwareManager = new HardwareManager(this.logManager); this.koboldManager = new KoboldCppManager( this.configManager, @@ -40,10 +40,10 @@ export class GerbilApp { this.logManager ); - this.binaryService = new BinaryService( + this.binaryManager = new BinaryManager( this.logManager, this.koboldManager, - this.hardwareService + this.hardwareManager ); this.sillyTavernManager = new SillyTavernManager( @@ -54,8 +54,8 @@ export class GerbilApp { this.ipcHandlers = new IPCHandlers( this.koboldManager, this.configManager, - this.hardwareService, - this.binaryService, + this.hardwareManager, + this.binaryManager, this.logManager, this.sillyTavernManager ); diff --git a/src/main/ipc.ts b/src/main/ipc.ts index f89019f..1b3061d 100644 --- a/src/main/ipc.ts +++ b/src/main/ipc.ts @@ -3,22 +3,22 @@ import type { KoboldCppManager } from '@/main/managers/KoboldCppManager'; import type { ConfigManager } from '@/main/managers/ConfigManager'; import type { LogManager } from '@/main/managers/LogManager'; import type { SillyTavernManager } from '@/main/managers/SillyTavernManager'; -import { HardwareService } from '@/main/services/HardwareService'; -import { BinaryService } from '@/main/services/BinaryService'; +import { HardwareManager } from '@/main/managers/HardwareManager'; +import { BinaryManager } from '@/main/managers/BinaryManager'; export class IPCHandlers { private koboldManager: KoboldCppManager; private configManager: ConfigManager; private logManager: LogManager; private sillyTavernManager: SillyTavernManager; - private hardwareService: HardwareService; - private binaryService: BinaryService; + private hardwareManager: HardwareManager; + private binaryManager: BinaryManager; constructor( koboldManager: KoboldCppManager, configManager: ConfigManager, - hardwareService: HardwareService, - binaryService: BinaryService, + hardwareManager: HardwareManager, + binaryManager: BinaryManager, logManager: LogManager, sillyTavernManager: SillyTavernManager ) { @@ -26,8 +26,8 @@ export class IPCHandlers { this.configManager = configManager; this.logManager = logManager; this.sillyTavernManager = sillyTavernManager; - this.hardwareService = hardwareService; - this.binaryService = binaryService; + this.hardwareManager = hardwareManager; + this.binaryManager = binaryManager; } private async launchKoboldCppWithCustomFrontends(args: string[] = []) { @@ -93,30 +93,30 @@ export class IPCHandlers { this.koboldManager.selectInstallDirectory() ); - ipcMain.handle('kobold:detectGPU', () => this.hardwareService.detectGPU()); + ipcMain.handle('kobold:detectGPU', () => this.hardwareManager.detectGPU()); - ipcMain.handle('kobold:detectCPU', () => this.hardwareService.detectCPU()); + ipcMain.handle('kobold:detectCPU', () => this.hardwareManager.detectCPU()); ipcMain.handle('kobold:detectGPUCapabilities', () => - this.hardwareService.detectGPUCapabilities() + this.hardwareManager.detectGPUCapabilities() ); ipcMain.handle('kobold:detectGPUMemory', () => - this.hardwareService.detectGPUMemory() + this.hardwareManager.detectGPUMemory() ); ipcMain.handle('kobold:detectROCm', () => - this.hardwareService.detectROCm() + this.hardwareManager.detectROCm() ); ipcMain.handle('kobold:detectBackendSupport', () => - this.binaryService.detectBackendSupport() + this.binaryManager.detectBackendSupport() ); ipcMain.handle( 'kobold:getAvailableBackends', (_, includeDisabled = false) => - this.binaryService.getAvailableBackends(includeDisabled) + this.binaryManager.getAvailableBackends(includeDisabled) ); ipcMain.handle('kobold:getPlatform', () => process.platform); diff --git a/src/main/services/BinaryService.ts b/src/main/managers/BinaryManager.ts similarity index 94% rename from src/main/services/BinaryService.ts rename to src/main/managers/BinaryManager.ts index 3762907..24bf574 100644 --- a/src/main/services/BinaryService.ts +++ b/src/main/managers/BinaryManager.ts @@ -1,7 +1,7 @@ import { join, dirname } from 'path'; import { LogManager } from '@/main/managers/LogManager'; import type { KoboldCppManager } from '@/main/managers/KoboldCppManager'; -import type { HardwareService } from '@/main/services/HardwareService'; +import type { HardwareManager } from '@/main/managers/HardwareManager'; import type { BackendOption } from '@/types'; import { pathExists } from '@/utils/fs'; @@ -14,21 +14,21 @@ export interface BackendSupport { cuda: boolean; } -export class BinaryService { +export class BinaryManager { private backendSupportCache = new Map(); private availableBackendsCache = new Map(); private logManager: LogManager; private koboldManager: KoboldCppManager; - private hardwareService: HardwareService; + private hardwareManager: HardwareManager; constructor( logManager: LogManager, koboldManager: KoboldCppManager, - hardwareService: HardwareService + hardwareManager: HardwareManager ) { this.logManager = logManager; this.koboldManager = koboldManager; - this.hardwareService = hardwareService; + this.hardwareManager = hardwareManager; } private async detectBackendSupportFromPath( @@ -113,9 +113,9 @@ export class BinaryService { const [currentBinaryInfo, hardwareCapabilities, cpuCapabilities] = await Promise.all([ this.koboldManager.getCurrentBinaryInfo(), - this.hardwareService.detectGPUCapabilities(), + this.hardwareManager.detectGPUCapabilities(), includeDisabled - ? this.hardwareService.detectCPU() + ? this.hardwareManager.detectCPU() : Promise.resolve(null), ]); diff --git a/src/main/services/HardwareService.ts b/src/main/managers/HardwareManager.ts similarity index 99% rename from src/main/services/HardwareService.ts rename to src/main/managers/HardwareManager.ts index d790dac..e9d695f 100644 --- a/src/main/services/HardwareService.ts +++ b/src/main/managers/HardwareManager.ts @@ -12,7 +12,7 @@ import type { } from '@/types/hardware'; import { spawn } from 'child_process'; -export class HardwareService { +export class HardwareManager { private cpuCapabilitiesCache: CPUCapabilities | null = null; private basicGPUInfoCache: BasicGPUInfo | null = null; private gpuCapabilitiesCache: GPUCapabilities | null = null;