UNPKG

nestjs-temporal-core

Version:

Complete NestJS integration for Temporal.io with auto-discovery, declarative scheduling, enhanced monitoring, and enterprise-ready features

32 lines (31 loc) 2.99 kB
import type { Workflow, SignalDefinition, QueryDefinition } from '@temporalio/workflow'; import type { UpdateDefinition } from '@temporalio/common'; import { WorkflowHandle } from '@temporalio/client'; import { TemporalClientService } from '../services/temporal-client.service'; import { WorkflowHandleWithMetadata, WorkflowStartOptions, WorkflowProxyConfig } from '../interfaces'; export interface IWorkflowProxy<T extends Workflow> { start(args: Parameters<T>, options?: WorkflowStartOptions): Promise<WorkflowHandleWithMetadata<T>>; getHandle(workflowId: string, runId?: string): Promise<WorkflowHandle<T>>; signal<TArgs extends unknown[]>(workflowId: string, signalDef: SignalDefinition<TArgs>, ...args: TArgs): Promise<void>; signalByName(workflowId: string, signalName: string, args?: readonly unknown[]): Promise<void>; query<TResult, TArgs extends unknown[] = []>(workflowId: string, queryDef: QueryDefinition<TResult, TArgs>, ...args: TArgs): Promise<TResult>; queryByName<TResult>(workflowId: string, queryName: string, args?: readonly unknown[]): Promise<TResult>; update<TResult, TArgs extends unknown[] = []>(workflowId: string, updateDef: UpdateDefinition<TResult, TArgs>, ...args: TArgs): Promise<TResult>; updateByName<TResult>(workflowId: string, updateName: string, args?: readonly unknown[]): Promise<TResult>; signalWithStart<TSignalArgs extends unknown[]>(signalDef: SignalDefinition<TSignalArgs>, signalArgs: TSignalArgs, workflowArgs: Parameters<T>, options?: WorkflowStartOptions): Promise<WorkflowHandleWithMetadata<T>>; } export declare class WorkflowProxy<T extends Workflow> implements IWorkflowProxy<T> { private readonly clientService; private readonly config; constructor(clientService: TemporalClientService, config: WorkflowProxyConfig); start(args: Parameters<T>, options?: WorkflowStartOptions): Promise<WorkflowHandleWithMetadata<T>>; getHandle(workflowId: string, runId?: string): Promise<WorkflowHandle<T>>; signal<TArgs extends unknown[]>(workflowId: string, signalDef: SignalDefinition<TArgs>, ...args: TArgs): Promise<void>; signalByName(workflowId: string, signalName: string, args?: readonly unknown[]): Promise<void>; query<TResult, TArgs extends unknown[] = []>(workflowId: string, queryDef: QueryDefinition<TResult, TArgs>, ...args: TArgs): Promise<TResult>; queryByName<TResult>(workflowId: string, queryName: string, args?: readonly unknown[]): Promise<TResult>; update<TResult, TArgs extends unknown[] = []>(workflowId: string, updateDef: UpdateDefinition<TResult, TArgs>, ...args: TArgs): Promise<TResult>; updateByName<TResult>(workflowId: string, updateName: string, args?: readonly unknown[]): Promise<TResult>; signalWithStart<TSignalArgs extends unknown[]>(signalDef: SignalDefinition<TSignalArgs>, signalArgs: TSignalArgs, workflowArgs: Parameters<T>, options?: WorkflowStartOptions): Promise<WorkflowHandleWithMetadata<T>>; private mergeOptions; }