rill-runtime 1.3.0

Signed-model local runtime and IPC server for RillML.
Documentation
package rill:handler@2.0.0;

/// Preview stateful handler ABI. V2 does not replace or extend the frozen
/// `rill:handler@1.0.0` invoke-handler world.
interface types {
    record handler-metadata-v2 {
        id: string,
        version: string,
        api-version: u32,
        capabilities: list<string>,
        state-schema-version: u32,
    }

    record handler-result-v2 {
        output-json: list<u8>,
        next-state: list<u8>,
    }

    variant handler-error-v2 {
        invalid-model(string),
        invalid-event(string),
        invalid-state(string),
        incompatible-version(string),
        execution-failed(string),
    }
}

world stateful-handler {
    use types.{handler-metadata-v2, handler-result-v2, handler-error-v2};

    export metadata: func() -> handler-metadata-v2;
    export configure: func(model-json: list<u8>) -> result<_, handler-error-v2>;
    export handle: func(
        event-json: list<u8>,
        current-state: list<u8>,
        deterministic-seed: option<u64>,
    ) -> result<handler-result-v2, handler-error-v2>;
}