andy-stack_vaultkeeper-ai/AIClasses/IAIFileService.ts
Andrew Beal 8a16ee125b refactor: migrate file upload from base64 to file ID API for all providers
- Add file ID storage and upload tracking to Attachment class
- Store provider field in BaseAIClass for file service integration
- Update Claude, Gemini, and OpenAI to use file ID references
- Replace fetch with requestUrl for native Obsidian HTTP handling
- Implement graceful upload failure handling with user notifications
- Add retry logic with default values to prevent conversation breaks
- Optimize file cache refresh to run only when attachments present
- Filter empty function responses in conversation content validation
2025-12-19 20:05:46 +00:00

8 lines
No EOL
268 B
TypeScript

import type { Attachment } from "Conversations/Attachment";
export interface IAIFileService {
refreshCache(): Promise<void>;
listFiles(): string[];
uploadFile(attachment: Attachment): Promise<void>;
deleteFile(attachment: Attachment): Promise<void>;
}