UNPKG

nestjs-temporal-core

Version:

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

35 lines (34 loc) 1.88 kB
import { OnModuleInit } from '@nestjs/common'; import { Client, WorkflowHandle } 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?: 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?: unknown[], runId?: string): Promise<void>; signalWorkflowHandle(handle: WorkflowHandle, signalName: string, args?: unknown[]): Promise<void>; queryWorkflow<T = unknown>(workflowId: string, queryName: string, args?: unknown[], runId?: string): Promise<T>; queryWorkflowHandle<T = unknown>(handle: WorkflowHandle, queryName: string, args?: unknown[]): Promise<T>; 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; }