mesh-llm-api-server
mesh-llm-api-server is the public Rust SDK crate for applications that embed a Mesh
node with model management and local serving. Client-only applications should
use mesh-llm-api-client.
The target public concept is MeshNode: one embedded node that can:
- join a mesh and consume inference
- search, inspect, download, install, delete, and clean up local models
- load and unload local models for serving
- observe connection, model, serving, and request lifecycle events
SDK layering:
crates/mesh-client/implements the low-level client behaviorcrates/mesh-llm-api-client/exposes the client-only Rust SDK surfacecrates/mesh-llm-api-server/exposes the node Rust SDK surface and re-exports the client types for compatibilitycrates/mesh-llm-node/owns embeddable model management and serving orchestration as it is extracted from the host runtime. Serving is an in-process SDK boundary; REST management remains an external-daemon adapter.crates/mesh-llm-host-runtime/provides the referenceServingControllerimplementation by attachingMeshApitoMeshNodeBuilderand forwarding load/unload to the runtime-control loop.crates/mesh-llm-ffi/wrapscrates/mesh-llm-api-server/for Swift, Kotlin, and other native bindings
Serving APIs use model refs for load, explicit model-or-instance unload targets, drain/force unload options, rich served-model status, and typed high-level serving errors.
If an API is meant for client-only app integration, it belongs in
mesh-llm-api-client. If it requires model management or local serving, it
belongs in mesh-llm-api-server.