Module RPC

Module RPC 

Source
Expand description

Β§Mountain RPC Services

β˜€οΈ 🟒 MOUNTAIN_SKY_ONLY - Core RPC service implementations

This module contains the complete RPC services for Mountain’s Spine contract. All services support extension hosts based on their feature gates:

Β§Service Classification by Support Level

§🟒 GREEN - Full Support (All Hosts)

  • EchoAction: Bidirectional actions, host registration, routing
  • Commands: Command registration and execution
  • Workspace: File operations, document management
  • Configuration: Configuration read/write

§🟑 YELLOW - Partial Support (Grove, Cocoon)

  • Windows: Webviews, documents (limited in Sky)
  • Tree Views: Tree data providers (read-only in Sky)
  • Language Features: Completion, diagnostics (basic in Sky)

Β§πŸ”΄ RED - Cocoon Only Services

  • Terminals: Terminal emulation and pseudo-terminals
  • Debug: Debug adapter protocol integration
  • SCM: Source control management (git)
  • Processes: Child process execution

Β§πŸ”΅ BLUE - WASM Optimized

  • Document Operations: Zero-copy memory access in WASM
  • File Operations: Parallel search in WASM

Β§Module Structure

Services are split into atomic submodules for granular feature gates:

RPC/
β”œβ”€β”€ EchoAction/ # β˜€οΈ 🟒 Central EchoAction system
β”œβ”€β”€ Commands/ # β˜€οΈ 🟒 Command registration
β”‚ └── Validation/ # Input validation
β”œβ”€β”€ Workspace/ # β˜€οΈ 🟒 File/workspace operations
β”œβ”€β”€ Configuration/ # β˜€οΈ 🟒 Configuration management
β”œβ”€β”€ Windows/ # β˜€οΈ 🟑 Window and document services
β”œβ”€β”€ Terminals/ # β˜€οΈ πŸ”΄ Terminal services (Cocoon only)
β”œβ”€β”€ Debug/ # β˜€οΈ πŸ”΄ Debug protocol (Cocoon only)
β”œβ”€β”€ SCM/ # β˜€οΈ πŸ”΄ Source control (Cocoon only)
β”œβ”€β”€ Processes/ # β˜€οΈ πŸ”΄ Child processes (Cocoon only)
β”œβ”€β”€ Telemetry/ # OTEL integration
β”‚ β”œβ”€β”€ Spans/ # Span management
β”‚ └── Metrics/ # Metrics recording
└── types/ # Shared types

Re-exportsΒ§

pub use CocoonService::CocoonServiceImpl;
pub use echo_action::EchoActionServer;
pub use echo_action::ExtensionHostRegistry;
pub use echo_action::ExtensionRouter;
pub use commands::CommandService;
pub use commands::CommandValidation;
pub use workspace::WorkspaceService;
pub use configuration::ConfigurationService;
pub use windows::WindowService;
pub use terminals::TerminalService;
pub use debug::DebugService;
pub use scm::SCMService;
pub use processes::ProcessService;
pub use telemetry::TelemetryService;
pub use telemetry::metrics::ServiceMetrics;
pub use telemetry::spans::TraceSpan;

ModulesΒ§

CocoonService
CocoonServiceImpl Implementation
commands
Commands RPC Service
configuration
Configuration RPC Service
debug
Debug Protocol RPC Service
echo_action
EchoAction RPC Service
processes
Child Processes RPC Service
scm
Source Control Management (SCM) RPC Service
telemetry
Telemetry RPC Service
terminals
Terminals RPC Service
types
Shared RPC Types
vine
Vine RPC Types
windows
Windows RPC Service
workspace
Workspace RPC Service