/** * Tauri adapter for stable public plugin events (#127). */ import { invoke } from "@tauri-apps/api/core"; import type { PluginEventBatch, PluginEventSubscription } from "@/domain"; import type { PluginEventGateway, PluginEventPollInput, PluginEventSubscribeInput, PluginEventUnsubscribeInput, } from "@/ports"; export class TauriPluginEventGateway implements PluginEventGateway { subscribe(input: PluginEventSubscribeInput): Promise { return invoke("plugin_events_subscribe", { input }); } poll(input: PluginEventPollInput): Promise { return invoke("plugin_events_poll", { input }); } unsubscribe(input: PluginEventUnsubscribeInput): Promise { return invoke("plugin_events_unsubscribe", { input }); } }