Crate venus_server

Crate venus_server 

Source
Expand description

Venus interactive notebook server.

Provides a WebSocket server for real-time notebook interaction.

§Architecture

The server consists of:

  • Session: Manages notebook state, compilation, and execution
  • Protocol: Defines client/server message types
  • Routes: HTTP and WebSocket handlers
  • Watcher: File system monitoring for external changes

§Features

  • embedded-frontend (default): Embeds the web UI for standalone use

Re-exports§

pub use error::ServerError;
pub use error::ServerResult;
pub use protocol::ClientMessage;
pub use protocol::ServerMessage;
pub use routes::AppState;
pub use routes::create_router;
pub use session::NotebookSession;
pub use session::SessionHandle;
pub use watcher::FileEvent;
pub use watcher::FileWatcher;
pub use lsp::kill_all_processes as kill_all_lsp_processes;

Modules§

embedded_frontend
Embedded frontend assets for Venus server.
error
Error types for Venus server.
lsp
LSP (Language Server Protocol) proxy for rust-analyzer.
protocol
WebSocket protocol messages for Venus server.
routes
HTTP and WebSocket routes for Venus server.
rust_analyzer
rust-analyzer management module.
session
Notebook session management.
undo
Undo/redo manager for cell management operations.
watcher
File watcher for detecting notebook changes.

Structs§

ServerConfig
Server configuration.

Functions§

serve
Start the Venus server for a notebook.