2025-02-04 01:30:36 -05:00
|
|
|
import type { LLMConfig, DocumentMetadata } from '../electron/types';
|
|
|
|
|
|
|
|
interface Directory {
|
|
|
|
name: string;
|
|
|
|
path: string;
|
|
|
|
}
|
|
|
|
|
|
|
|
declare global {
|
|
|
|
interface Window {
|
|
|
|
electron: {
|
|
|
|
// File System Operations
|
|
|
|
startWatching: (dirPath: string) => Promise<void>;
|
|
|
|
stopWatching: (dirPath: string) => Promise<void>;
|
|
|
|
addExcludedPath: (path: string) => Promise<void>;
|
|
|
|
|
|
|
|
// LLM Operations
|
|
|
|
queryLLM: (question: string) => Promise<{
|
|
|
|
answer: string;
|
|
|
|
sources: DocumentMetadata[];
|
|
|
|
}>;
|
|
|
|
getLLMConfig: () => Promise<LLMConfig>;
|
2025-02-09 03:10:26 -05:00
|
|
|
meilisearchSearch: (indexName: string, query: string) => Promise<{ success: boolean; data: any[] }>;
|
2025-02-04 01:30:36 -05:00
|
|
|
// Vector Store Operations
|
|
|
|
getDocuments: () => Promise<{ success: boolean; data?: DocumentMetadata[]; error?: string }>;
|
|
|
|
addDocument: (content: string, metadata: DocumentMetadata) => Promise<void>;
|
|
|
|
deleteDocument: (path: string) => Promise<void>;
|
|
|
|
updateDocument: (content: string, metadata: DocumentMetadata) => Promise<void>;
|
|
|
|
|
|
|
|
// File Processing
|
|
|
|
processFile: (filePath: string) => Promise<void>;
|
|
|
|
|
|
|
|
// System Paths
|
|
|
|
getUserHome: () => Promise<{ success: boolean; data?: string; error?: string }>;
|
|
|
|
getAppPath: () => Promise<string>;
|
|
|
|
|
|
|
|
// Directory Operations
|
|
|
|
listDirectories: (dirPath: string) => Promise<{ success: boolean; data?: Directory[]; error?: string }>;
|
|
|
|
|
|
|
|
// Event Handling
|
|
|
|
on: (channel: string, callback: (event: unknown, ...args: any[]) => void) => void;
|
|
|
|
off: (channel: string, callback: (event: unknown, ...args: any[]) => void) => void;
|
|
|
|
|
|
|
|
// Window Controls
|
|
|
|
minimizeWindow: () => Promise<void>;
|
|
|
|
maximizeWindow: () => Promise<void>;
|
|
|
|
closeWindow: () => Promise<void>;
|
2025-02-04 12:45:17 -05:00
|
|
|
|
|
|
|
// Ollama Operations
|
|
|
|
checkOllama: () => Promise<{ installed: boolean; running: boolean }>;
|
|
|
|
openExternal: (url: string) => Promise<void>;
|
|
|
|
|
|
|
|
// Model Operations
|
|
|
|
checkModel: (modelName: string) => Promise<{ installed: boolean; installing: boolean }>;
|
|
|
|
pullModel: (modelName: string, onProgress: (status: string) => void) => Promise<void>;
|
2025-02-04 01:30:36 -05:00
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
export {};
|