import { closeLocalTransportSession, listenToLocalTransportEvents, openLocalTransportSession, sendLocalTransportMessage, type LocalTransportTarget, } from "./desktop-daemon"; export interface LocalDaemonTransportEvent { sessionId: string; kind: "open" | "message" | "close" | "error"; text?: string | null; binaryBase64?: string | null; code?: number | null; reason?: string | null; error?: string | null; } export interface LocalDaemonTransportRpc { openSession(target: LocalTransportTarget): Promise; listenToEvents(handler: (event: LocalDaemonTransportEvent) => void): Promise<() => void>; sendMessage(input: { sessionId: string; text?: string; binaryBase64?: string }): Promise; closeSession(sessionId: string): Promise; } export const defaultLocalDaemonTransportRpc: LocalDaemonTransportRpc = { openSession: openLocalTransportSession, listenToEvents: listenToLocalTransportEvents, sendMessage: sendLocalTransportMessage, closeSession: closeLocalTransportSession, };