Skip to main content

rpc/
lib.rs

1//! Transport-agnostic RPC layer for nomisync.
2//!
3//! Carries S-expression frames between any client (emacs over SSH, in-process CLI/TUI,
4//! future single-binary embedded-postgres) and the canonical native function registry.
5//! See `doc/emacs-rpc.org` for the protocol spec and the plan file for design rationale.
6
7pub mod ctx;
8pub mod draft;
9pub mod envelope;
10pub mod framing;
11pub mod host_prelude;
12pub mod natives;
13pub mod session;
14pub mod template;
15pub mod wasm;
16
17pub use ctx::{EpochBumper, InterruptHandle, ScriptCtx, ScriptLimits};
18pub use draft::{DraftSplit, DraftTag, TransactionDraft};
19pub use envelope::{
20    EnvelopeError, ErrorCode, Request, RequestId, Response, ResponsePayload, format_response,
21    parse_request,
22};
23pub use framing::{FrameDecoder, FrameError};
24pub use session::{EvalOutcome, Session};
25pub use template::{TemplateError, compile_template, render_template};