nestjs-temporal-core
Version:
Complete NestJS integration for Temporal.io with auto-discovery, declarative scheduling, enhanced monitoring, and enterprise-ready features
49 lines (48 loc) • 3.78 kB
TypeScript
import { OnModuleInit } from '@nestjs/common';
import { Client, WorkflowHandle, WorkflowUpdateHandle, FullActivityId, ActivityOptions as StandaloneActivityOptions, ActivityHandle, ActivityExecutionInfo, CountActivityExecutions } from '@temporalio/client';
import { TemporalOptions, WorkflowStartOptions, WorkflowHandleWithMetadata, ClientServiceStatus, ClientHealthStatus } from '../interfaces';
export declare class TemporalClientService implements OnModuleInit {
private readonly temporalClient;
private readonly options;
private readonly logger;
private client;
private isInitialized;
private lastHealthCheck;
private healthCheckInterval;
constructor(temporalClient: Client | null, options: TemporalOptions);
onModuleInit(): Promise<void>;
startWorkflow(workflowType: string, args?: readonly unknown[], options?: WorkflowStartOptions): Promise<WorkflowHandleWithMetadata>;
getWorkflowHandle(workflowId: string, runId?: string): Promise<WorkflowHandle>;
terminateWorkflow(workflowId: string, reason?: string, runId?: string): Promise<void>;
cancelWorkflow(workflowId: string, runId?: string): Promise<void>;
signalWorkflow(workflowId: string, signalName: string, args?: readonly unknown[], runId?: string): Promise<void>;
signalWorkflowHandle(handle: WorkflowHandle, signalName: string, args?: readonly unknown[]): Promise<void>;
signalWithStart(workflowType: string, signalName: string, signalArgs: readonly unknown[], workflowArgs: readonly unknown[], options?: WorkflowStartOptions): Promise<WorkflowHandleWithMetadata>;
queryWorkflow<T = unknown>(workflowId: string, queryName: string, args?: readonly unknown[], runId?: string): Promise<T>;
queryWorkflowHandle<T = unknown>(handle: WorkflowHandle, queryName: string, args?: readonly unknown[]): Promise<T>;
updateWorkflow<T = unknown>(workflowId: string, updateName: string, args?: readonly unknown[], runId?: string): Promise<T>;
updateWorkflowHandle<T = unknown>(handle: WorkflowHandle, updateName: string, args?: readonly unknown[]): Promise<T>;
startUpdateWorkflow<T = unknown>(workflowId: string, updateName: string, args?: readonly unknown[], runId?: string): Promise<WorkflowUpdateHandle<T>>;
startUpdateWorkflowHandle<T = unknown>(handle: WorkflowHandle, updateName: string, args?: readonly unknown[]): Promise<WorkflowUpdateHandle<T>>;
completeActivity(taskTokenOrFullActivityId: Uint8Array | FullActivityId, result: unknown): Promise<void>;
failActivity(taskTokenOrFullActivityId: Uint8Array | FullActivityId, err: unknown): Promise<void>;
heartbeatActivity(taskTokenOrFullActivityId: Uint8Array | FullActivityId, details?: unknown): Promise<void>;
reportActivityCancellation(taskTokenOrFullActivityId: Uint8Array | FullActivityId, details?: unknown): Promise<void>;
startStandaloneActivity<R = unknown>(activityType: string, options: StandaloneActivityOptions): Promise<ActivityHandle<R>>;
executeStandaloneActivity<R = unknown>(activityType: string, options: StandaloneActivityOptions): Promise<R>;
getStandaloneActivityHandle<R = unknown>(activityId: string, runId?: string): ActivityHandle<R>;
listStandaloneActivities(query: string): AsyncIterable<ActivityExecutionInfo>;
countStandaloneActivities(query: string): Promise<CountActivityExecutions>;
getWorkflowResult<T = unknown>(workflowId: string, runId?: string): Promise<T>;
isHealthy(): boolean;
getHealth(): ClientHealthStatus;
getStatus(): ClientServiceStatus;
getRawClient(): Client | null;
private performHealthCheck;
private ensureClientAvailable;
private generateWorkflowId;
private validateWorkflowId;
private extractErrorMessage;
private isRetryableError;
private sleep;
}