You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
refactor(Mountain/Vine): Centralize effect mapping and standardize gRPC error handling
- Introduced `erase_and_map_effect` helper in `EffectCreation` to uniformly handle capability requirements and JSON serialization for all ActionEffects, replacing manual mapping and simplifying effect creation
- Renamed `RPCError` to `RpcError` in `Vine.proto` to match Rust naming conventions and reflect recent standardization efforts
- Simplified error handling in `TreeViewProvider` by removing redundant error type specification
- Refactored `VineError` variants to be more concise:
- Replaced detailed error variants with generalized `ClientNotConnected` and `RpcError`
- Added automatic conversion from `tonic::Status` to `RpcError`
- Updated gRPC service methods to use snake_case per Rust conventions
- Added `transport` feature to tonic-build in Cargo.toml for future IPC enhancements
This refactoring aligns with Land's final architecture by:
1) Strengthening the `Track` dispatcher's ability to handle `Common`-defined ActionEffects with proper capability resolution
2) Ensuring consistent error handling across the `Vine` gRPC layer
3) Reducing boilerplate in effect-to-RPC mapping while maintaining type safety
4) Preparing for enhanced transport capabilities in the IPC layer between Mountain and Cocoon
0 commit comments