What problem does it solve?
Establishes a standardized process for extending Wave Terminal with new WebSocket RPC commands, enabling consistent cross-layer communication between the frontend, Electron, and backend components. It clarifies how to define, document, implement, and bind new RPCs so teams can incrementally evolve the RPC surface without breaking existing flows.
Core Features & Use Cases
- Define a new RPC by updating the WshRpcInterface with a Command-named method, and declare matching request/response types.
- Generate language bindings and client stubs through the existing codegen, ensuring type-safety across Go and TypeScript.
- Implement the new command in the appropriate layers (main server, Electron, frontend, and remote) following the documented patterns and best practices.
Quick Start
Define a new RPC by adding a Command to the WshRpcInterface, create matching data and response types, run task generate to refresh bindings, and implement the command in the appropriate layer.