umari 0.0.1

SDK for building event-sourced WASM components for the Umari runtime
Documentation
package umari:command@0.1.0;

/// Core types for the command system
interface types {
    use umari:common/types@0.1.0.{event-type, json};

    record domain-id {
        name: string,
        id: option<string>,
    }

    /// Emitted event from command execution
    record emitted-event {
        /// Event type identifier
        event-type: event-type,
        /// Event payload as JSON
        data: json,
        /// Domain IDs for event routing (field name -> value)
        domain-ids: list<domain-id>,
    }

    /// Output from command execution
    record execute-output {
        /// Events to be persisted
        events: list<emitted-event>,
    }

    variant error {
        rejected(string),
        invalid-input(string),
    }
}