// PURPOSE: Anything-can-drive-the-UI command bus. Single dispatch point for // LLM tool calls, scripts, and remote control. JSON canonical form // plus a plain-text DSL sugar layer. Includes a visible "virtual // cursor" that animates to elements before commands act on them, so // LLM-driven sessions are legible to a watching human. // =========================================================================== // EXPORTS // Bus: commandBus (singleton), CommandBus (class) // Types: Command, Handler, HandlerContext, DispatchOptions, // ActionDescriptor, HistoryEntry // Parser: parseScript, parseLine, stringifyScript, ScriptOptions, ParsedScript // Runner: runScript, runScriptText, RunScriptOptions // Cursor: ensureCursor, showCursor, hideCursor, removeCursor, // moveCursorTo, moveCursorToElement, clickRipple, setCursorSpeed // Provider: CommandBusProvider — registers `navigate` via react-router, // mounts the cursor, exposes window.commandBus // WebSocket: connectCommandSocket, CommandSocket // LLM bridge: buildSystemPrompt, extractActionBlocks, runActionBlocks, // estimateTokens, trimMessages, RunActionBlocksResult, // SystemPromptContext // =========================================================================== "use client"; export * from "./bus" export * from "./parser" export * from "./script" export * from "./cursor" export * from "./ws" export * from "./llm-bridge" export { CommandBusProvider } from "./provider"