arvo-core
    Preparing search index...

    Type Alias ICreateArvoOrchestratorContract<TUri, TName, TVersions, TMetaData>

    Interface defining the configuration structure for creating an Arvo Orchestrator Contract. This interface specifies the required properties for initializing a new orchestrator contract.

    The base event type for the orchestrator

    • The URI should be unique within your system
    • The type will be used to generate appropriate event type strings
    • Each version must conform to ArvoSemanticVersion format
    type ICreateArvoOrchestratorContract<
        TUri extends string,
        TName extends string,
        TVersions extends
            Record<
                ArvoSemanticVersion,
                { complete: z.ZodTypeAny; init: z.ZodTypeAny },
            >,
        TMetaData extends Record<string, any>,
    > = {
        description?: string;
        domain?: string;
        metadata?: TMetaData;
        name: TName;
        uri: TUri;
        versions: TVersions;
    }

    Type Parameters

    • TUri extends string

      The URI type that uniquely identifies the contract

    • TName extends string
    • TVersions extends Record<ArvoSemanticVersion, { complete: z.ZodTypeAny; init: z.ZodTypeAny }>

      Record of versioned schemas for init and complete events

    • TMetaData extends Record<string, any>

      The metadata of the contract

    Index

    Properties

    description?: string

    The optional contract description

    domain?: string
    metadata?: TMetaData

    The optional contract metadata

    name: TName
    uri: TUri

    The unique identifier URI for the contract

    versions: TVersions

    A record of version-specific schemas for initialization and completion events