60 lines
2.1 KiB
TypeScript
Raw Normal View History

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 {};