SDK API
This is a concept-organized reference for the current SDK surface. It is not generated rustdoc.
Provider entrypoint
Section titled “Provider entrypoint”#[omnifs_sdk::provider(metadata = "omnifs.provider.json")]impl Provider { type Config = Config; type State = State;
fn start(config: Config, r: &mut Router<State>) -> Result<State> { Ok(State::new(config)?) }}Config
Section titled “Config”Use #[omnifs_sdk::config] for provider startup config deserialization.
Router
Section titled “Router”r.dirr.filer.treerefr.objectr.file_objectr.attach
There are no per-route attribute macros.
Objects
Section titled “Objects”Use #[omnifs_sdk::object], an object key, and Key::load to define canonical object identity and rendered leaves.
Key::load returns fresh, unchanged, or not found state. Fresh loads can provide canonical bytes and validators.
Projections
Section titled “Projections”Directory and file handlers return projected entries and file content with attributes, content type, and byte source.
Errors
Section titled “Errors”Use provider errors that map cleanly to the WIT error model: not found, invalid input, permission denied, denied, rate limited, network, timeout, too large, version mismatch, and internal.