Interface IMachineRegistry

Interface for managing and resolving state machine instances.

interface IMachineRegistry {
    machines: ArvoMachine<any, any, any, any, any>[];
    resolve: ((event: ArvoEvent<Record<string, any>, Record<string,
        | null
        | string
        | number
        | boolean>, string>, opentelemetry: ArvoEventHandlerOpenTelemetryOptions) => null | ArvoMachine<any, any, any, any, any>);
}

Implemented by

Properties

Properties

machines: ArvoMachine<any, any, any, any, any>[]

Collection of registered machine instances. Each machine should have a unique combination of version and source.

resolve: ((event: ArvoEvent<Record<string, any>, Record<string,
    | null
    | string
    | number
    | boolean>, string>, opentelemetry: ArvoEventHandlerOpenTelemetryOptions) => null | ArvoMachine<any, any, any, any, any>)

Resolves a machine instance based on event information.

Type declaration

    • (event, opentelemetry): null | ArvoMachine<any, any, any, any, any>
    • Parameters

      • event: ArvoEvent<Record<string, any>, Record<string,
            | null
            | string
            | number
            | boolean>, string>

        Event containing orchestration subject information

      • opentelemetry: ArvoEventHandlerOpenTelemetryOptions

        Configuration for telemetry and tracing

      Returns null | ArvoMachine<any, any, any, any, any>

      Matching ArvoMachine instance for the event or null if not found