import { Bus } from "@/bus" import z from "zod" export const TuiEvent = { PromptAppend: Bus.event("tui.prompt.append", z.object({ text: z.string() })), CommandExecute: Bus.event( "tui.command.execute", z.object({ command: z.union([ z.enum([ "session.list", "session.new", "session.share", "session.interrupt", "session.compact", "session.page.up", "session.page.down", "session.half.page.up", "session.half.page.down", "session.first", "session.last", "prompt.clear", "prompt.submit", "agent.cycle", ]), z.string(), ]), }), ), ToastShow: Bus.event( "tui.toast.show", z.object({ title: z.string().optional(), message: z.string(), variant: z.enum(["info", "success", "warning", "error"]), duration: z.number().default(5000).optional().describe("Duration in milliseconds"), }), ), }