inseam-ffi
C ABI over the node — the Swift/GUI transport adapter
(design/node-api.md). Like every transport, this is a thin, logic-free
skin over the operations seam: one handle wraps a booted kernel plus
the tokio runtime it needs; requests block the calling thread and
responses cross the boundary as JSON (the same serde views the seam
defines). The crate is itself a distribution: it links the
first-party linked plugins and ships a base composition, layered under the node’s
composition.toml (design/composition.md).
Conventions (mirrored in include/inseam_ffi.h):
- Fallible calls take
char **error_out; on failure they return null and, whenerror_outis non-null, store a message the caller must free. - Every
char *returned by this library is freed withinseam_string_free, and nodes withinseam_node_free. Passing pointers from anywhere else is undefined behavior.