About this project
astrid-sdk is a Rust SDK for building capsules in the Astrid runtime environment. It provides capsule authors with safe, typed access to kernel services including filesystem, IPC, networking, storage, approval, scheduling, and more.
The workspace consists of three crates:
- astrid-sdk: The main SDK exposing modules like fs, net, process, env, time, log, plus Astrid-specific modules (ipc, kv, http, hooks, cron, uplink, identity, approval, runtime). Mirrors std module layout for familiarity.
- astrid-sdk-macros: A proc macro that generates WASM ABI exports from annotated impl blocks, handling tool dispatch, command routing, hook handlers, cron handlers, and install/upgrade entry points.
- astrid-sys: Raw WASM-to-host FFI bindings (the syscall table). Not intended for direct use.
Capsules compile to wasm32-wasip2 target. The #[capsule] macro automates all WASM ABI boilerplate including extern "C" exports, JSON serialization across the boundary, tool schema generation, and dispatch routing.
Dependencies are minimal: only astrid-sdk and serde are required. The SDK is dual-licensed under MIT or Apache-2.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.