Skip to main content

Crate rpc

Crate rpc 

Source
Expand description

Transport-agnostic RPC layer for nomisync.

Carries S-expression frames between any client (emacs over SSH, in-process CLI/TUI, future single-binary embedded-postgres) and the canonical native function registry. See doc/emacs-rpc.org for the protocol spec and the plan file for design rationale.

Re-exports§

pub use ctx::EpochBumper;
pub use ctx::InterruptHandle;
pub use ctx::ScriptCtx;
pub use ctx::ScriptLimits;
pub use draft::DraftSplit;
pub use draft::DraftTag;
pub use draft::TransactionDraft;
pub use envelope::EnvelopeError;
pub use envelope::ErrorCode;
pub use envelope::Request;
pub use envelope::RequestId;
pub use envelope::Response;
pub use envelope::ResponsePayload;
pub use envelope::format_response;
pub use envelope::parse_request;
pub use framing::FrameDecoder;
pub use framing::FrameError;
pub use session::EvalOutcome;
pub use session::Session;
pub use template::TemplateError;
pub use template::compile_template;
pub use template::render_template;

Modules§

ctx
draft
Transaction-draft accumulator for render-only template execution.
envelope
framing
host_prelude
Host-dependent nomiscript prelude (ADR-0029).
natives
Canonical host-fn registry for the 32 server commands.
session
template
Template render entry point.
wasm
Re-export shim for the wasmtime primitives. Every consumer (Session, natives, future sshd integration) imports through this module so swapping the underlying implementation never touches more than one path.