UNPKG

arvo-xstate

Version:

This package allows you to use xstate Actors and State Machines to act as orchestrators in an Arvo Event Driven System

22 lines (21 loc) 922 B
import type { ArvoEvent } from 'arvo-core'; import type { ArvoEventHandlerOpenTelemetryOptions } from 'arvo-event-handler'; import type ArvoMachine from '../ArvoMachine'; /** * Interface for managing and resolving state machine instances. */ export interface IMachineRegistry { /** * Collection of registered machine instances. * Each machine should have a unique combination of version and source. */ machines: ArvoMachine<any, any, any, any, any>[]; /** * Resolves a machine instance based on event information. * * @param event - Event containing orchestration subject information * @param opentelemetry - Configuration for telemetry and tracing * @returns Matching ArvoMachine instance for the event or null if not found */ resolve: (event: ArvoEvent, opentelemetry: ArvoEventHandlerOpenTelemetryOptions) => ArvoMachine<any, any, any, any, any> | null; }