From 5cbdb5324e93a286d9901a391af122976582149b Mon Sep 17 00:00:00 2001 From: flemming-it Date: Tue, 7 Jul 2026 13:43:09 +0200 Subject: [PATCH] chore: finish fai->chain naming in README, repository URL, macro internals README still documented the crate as fai-module-sdk with a fai_module_sdk::prelude import; the workspace repository field pointed at the pre-rename module-sdk-rust URL; the #[fai_module] expansion used a __fai_module_sdk_internal hygiene module. All three now carry the chain-module-sdk name. Also note the WIT contract is chain:platform@1.1 (additive emit-event on the frozen 1.0 base) and document ctx.emit in the surface table. Signed-off-by: flemming-it --- Cargo.toml | 2 +- README.md | 23 ++++++++++++----------- crates/chain-module-sdk-macros/src/lib.rs | 2 +- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 855e738..33bf100 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,7 +10,7 @@ version = "0.1.2" edition = "2024" authors = ["Dr. Stefan Flemming "] license = "Apache-2.0" -repository = "https://git.flemming.ai/fai/module-sdk-rust" +repository = "https://git.flemming.ai/fai/chain-module-sdk-rust" homepage = "https://flemming.ai/" rust-version = "1.85" diff --git a/README.md b/README.md index 06792d3..9b3f7bd 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,11 @@ -# fai-module-sdk +# chain-module-sdk Stable, ergonomic Rust surface for writing Ch∆In modules. A module written against this crate looks like: ```rust -use fai_module_sdk::prelude::*; +use chain_module_sdk::prelude::*; #[fai_module] fn invoke(_ctx: Context, inputs: Inputs) -> Result { @@ -15,7 +15,7 @@ fn invoke(_ctx: Context, inputs: Inputs) -> Result { ``` That single function — plus a `Cargo.toml` listing -`fai-module-sdk` as a dependency — is the entire module. The +`chain-module-sdk` as a dependency — is the entire module. The `#[fai_module]` macro generates the `wit_bindgen` invocation, the `Guest` implementation, the type conversions, and the `wit_bindgen::export!` glue behind the scenes. @@ -27,19 +27,20 @@ That single function — plus a `Cargo.toml` listing | `Inputs::require_text("name")` | manual `match payload { Payload::Text(s) => ..., _ => ... }` | | `Outputs::new().with_json(...)?` | building `Vec<(String, Payload)>` by hand | | `ModuleError::invalid_input("...")` | constructing WIT `invocation-error` variants | +| `ctx.emit("progress", ...)` | hand-rolling the `host.emit-event` import (WIT 1.1) | | `#[fai_module]` | `wit_bindgen::generate!` + `Guest` impl + `export!` + `#![allow(unsafe_op_in_unsafe_fn)]` | ## Stability The SDK insulates module code from the underlying WIT contract -(`chain:platform`, frozen at v1.0 in the platform repo). The -WIT may evolve in additive minor versions or, eventually, a -coordinated v2.0; the SDK absorbs that change so existing -module code keeps compiling. +(`chain:platform`, currently v1.1 — frozen base v1.0 plus the +additive 1.1 `emit-event` import). The WIT may evolve in +additive minor versions or, eventually, a coordinated v2.0; the +SDK absorbs that change so existing module code keeps compiling. The SDK ships its own copy of `wit/world.wit` so that the proc-macro can embed the contract via `include_str!` at compile -time. A snapshot test (`crates/fai-module-sdk/tests/wit_freeze.rs`) +time. A snapshot test (`crates/chain-module-sdk/tests/wit_freeze.rs`) asserts the SHA-256 matches the platform's frozen hash — if the two ever drift, CI fails. @@ -47,8 +48,8 @@ two ever drift, CI fails. | Track | Stability | |-------|-----------| -| WIT contract (`chain:platform`) | Frozen at v1.0 in the platform repo | -| `fai-module-sdk` Rust API | Semver; v0.x while ergonomics evolve | +| WIT contract (`chain:platform`) | v1.1; base frozen at v1.0, minors are additive | +| `chain-module-sdk` Rust API | Semver; v0.x while ergonomics evolve | | Per-module versions | Each module repo's own concern | ## License @@ -56,4 +57,4 @@ two ever drift, CI fails. Apache-2.0. See `LICENSE`. Author: Dr. Stefan Flemming, Flemming.AI -Repository: https://git.flemming.ai/fai/module-sdk-rust +Repository: https://git.flemming.ai/fai/chain-module-sdk-rust diff --git a/crates/chain-module-sdk-macros/src/lib.rs b/crates/chain-module-sdk-macros/src/lib.rs index 37af23c..62032e7 100644 --- a/crates/chain-module-sdk-macros/src/lib.rs +++ b/crates/chain-module-sdk-macros/src/lib.rs @@ -41,7 +41,7 @@ pub fn fai_module(_attrs: TokenStream, input: TokenStream) -> TokenStream { // dragging the wit_bindgen runtime onto the host target. #[cfg(target_arch = "wasm32")] #[doc(hidden)] - mod __fai_module_sdk_internal { + mod __chain_module_sdk_internal { #![allow( unsafe_op_in_unsafe_fn, unused_imports,