Skip to main content

mcpmesh_local_api/
lib.rs

1//! mcpmesh-local-api: the mcpmesh-local/1 seam (mcpmesh §6.1) — protocol types (always) plus,
2//! behind the `client` feature, the family NDJSON codec + a no-iroh UnixStream client.
3//! The `client` feature is the D-A extraction: a non-net mcpmesh-local/1 client (kb's
4//! self-registration, the host shell) links this WITHOUT pulling iroh via mcpmesh-net.
5pub mod principals;
6pub mod protocol;
7pub use principals::principal_set;
8// DEVIATION (declared): the plan's Task 1 only edited protocol.rs, but the Task 2 import
9// `use mcpmesh_local_api::AuditSummaryResult;` needs the type re-exported at the crate root like its
10// siblings — added `AuditSummaryResult` to this list (minimal fix).
11pub use protocol::{
12    API_NAME, API_VERSION, AuditSummaryResult, BackendKind, BackendSpec, BlobFetchResult,
13    BlobPublishResult, BlobScopeList, Hello, InviteResult, OrgJoinResult, PairResult, PeerInfo,
14    PresencePeer, RecentPairing, Request, RosterInstallResult, RosterStatus, ScopeInfo,
15    ServiceInfo, StatusResult, method_of,
16};
17
18#[cfg(feature = "client")]
19pub mod client;
20#[cfg(feature = "client")]
21pub mod codec;
22#[cfg(feature = "client")]
23pub use client::{ControlClient, connect_control};
24
25/// The shared plugin-platform seam (kb, loc, …): UDS faces, THE audience-authz expansion,
26/// `[services.*]` self-registration, and the `*-local/1` JSON-RPC conventions.
27#[cfg(feature = "service")]
28pub mod service;