chain-module-sdk-rust/crates/chain-module-sdk-macros
flemming-it f32dc820b9
Some checks failed
CI / Linux x86_64 (Forgejo) (push) Failing after 1s
feat(sdk): Context::emit for WIT 1.1 host.emit-event (T1)
Brings the module SDK to WIT 1.1 in lockstep with the platform and
exposes the new host.emit-event as an ergonomic ctx.emit(name,
payload). Modules emit ephemeral progress/stream events (progress,
token streaming) delivered live to a following client and never
persisted.

- wit/world.wit → 1.1.0 (host.emit-event + use types.{payload}).
- host.rs: an emit hook (thread-local fn pointer; guest is
  single-threaded). The #[fai_module] expansion installs a closure
  reaching the real WIT emit-event import at the start of each
  invocation; Context::emit calls through it. Outside a hub (unit
  tests) it is a silent no-op.
- examples/progress: reference module emitting progress + token events;
  builds clean for wasm32-wasip2, proving the ergonomics end-to-end.

The SDK keeps shielding module authors: emit is the whole surface, no
wit_bindgen in sight.

Signed-off-by: flemming-it <sf@flemming.it>
2026-07-05 19:24:02 +02:00
..
src feat(sdk): Context::emit for WIT 1.1 host.emit-event (T1) 2026-07-05 19:24:02 +02:00
Cargo.toml refactor: rename crate fai-module-sdk -> chain-module-sdk 2026-06-16 11:26:37 +02:00