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
TypeScript
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;
}