Type Alias ArvoResumableHandler<TState, TSelfContract, TServiceContract>

ArvoResumableHandler<TState, TSelfContract, TServiceContract>: {
    [V in ArvoSemanticVersion & keyof TSelfContract["versions"]]: Handler<TState, VersionedArvoContract<TSelfContract, V>, TServiceContract>
}

Versioned handler map for ArvoResumable workflows.

Maps contract versions to their corresponding handler implementations. Each version can have different business logic while maintaining backward compatibility.

Handlers are invoked for initialization events and service responses matching the resumable's contract. They must be deterministic and idempotent to ensure reliable workflow execution across retries and failures.

Type Parameters

  • TState extends ArvoResumableState<Record<string, any>>
  • TSelfContract extends ArvoContract
  • TServiceContract extends Record<string, VersionedArvoContract<any, any>>