import { invoke } from "@tauri-apps/api/core"; import type { HistoryItem } from "~/types/types"; export default defineNuxtPlugin(() => { return { provide: { history: { async getHistory(): Promise { return await invoke("get_history"); }, async addHistoryItem(item: HistoryItem): Promise { await invoke("add_history_item", { item }); }, async searchHistory(query: string): Promise { try { return await invoke("search_history", { query }); } catch (error) { console.error("Error searching history:", error); return []; } }, async loadHistoryChunk( offset: number, limit: number ): Promise { try { return await invoke("load_history_chunk", { offset, limit, }); } catch (error) { console.error("Error loading history chunk:", error); return []; } }, async deleteHistoryItem(id: string): Promise { await invoke("delete_history_item", { id }); }, async clearHistory(): Promise { await invoke("clear_history"); }, async writeAndPaste(data: { content: string; contentType: string; }): Promise { await invoke("write_and_paste", data); }, async readImage(data: { filename: string }): Promise { return await invoke("read_image", data); }, }, }, }; });