UNPKG

nestjs-temporal-core

Version:

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

78 lines (77 loc) 3.52 kB
import { OnModuleInit } from '@nestjs/common'; import { DiscoveryStats, ScheduledMethodInfo, ScheduleStats, StartWorkflowOptions, SystemStatus, WorkerStatus, TemporalOptions } from './interfaces'; import { TemporalClientService, TemporalScheduleService } from './client'; import { TemporalDiscoveryService, TemporalScheduleManagerService } from './discovery'; import { TemporalWorkerManagerService } from './worker'; export declare class TemporalService implements OnModuleInit { private readonly clientService; private readonly scheduleService; private readonly discoveryService; private readonly scheduleManager; private readonly options; private readonly workerManager?; private readonly logger; constructor(clientService: TemporalClientService, scheduleService: TemporalScheduleService, discoveryService: TemporalDiscoveryService, scheduleManager: TemporalScheduleManagerService, options: TemporalOptions, workerManager?: TemporalWorkerManagerService | undefined); onModuleInit(): Promise<void>; getClient(): TemporalClientService; getScheduleService(): TemporalScheduleService; getScheduleManager(): TemporalScheduleManagerService; getDiscoveryService(): TemporalDiscoveryService; getWorkerManager(): TemporalWorkerManagerService | undefined; startWorkflow<T, A extends unknown[]>(workflowType: string, args: A, options: StartWorkflowOptions): Promise<{ result: Promise<T>; workflowId: string; firstExecutionRunId: string; handle: unknown; }>; signalWorkflow(workflowId: string, signalName: string, args?: unknown[]): Promise<void>; queryWorkflow<T>(workflowId: string, queryName: string, args?: unknown[]): Promise<T>; terminateWorkflow(workflowId: string, reason?: string): Promise<void>; cancelWorkflow(workflowId: string): Promise<void>; triggerSchedule(scheduleId: string): Promise<void>; pauseSchedule(scheduleId: string, note?: string): Promise<void>; resumeSchedule(scheduleId: string, note?: string): Promise<void>; deleteSchedule(scheduleId: string, force?: boolean): Promise<void>; getManagedSchedules(): string[]; getScheduleInfo(scheduleId: string): ScheduledMethodInfo | undefined; hasSchedule(scheduleId: string): boolean; hasWorker(): boolean; getWorkerStatus(): WorkerStatus | null; restartWorker(): Promise<void>; getWorkerHealth(): Promise<{ status: 'healthy' | 'unhealthy' | 'degraded' | 'not_available'; details?: unknown; }>; getDiscoveryStats(): DiscoveryStats; getScheduleStats(): ScheduleStats; getSystemStatus(): Promise<SystemStatus>; getOverallHealth(): Promise<{ status: 'healthy' | 'degraded' | 'unhealthy'; components: { client: { status: string; healthy: boolean; }; worker: { status: string; available: boolean; }; discovery: { status: string; scheduled: number; }; schedules: { status: string; active: number; errors: number; }; }; }>; getAvailableWorkflows(): string[]; getWorkflowInfo(_workflowName: string): unknown; hasWorkflow(_workflowName: string): boolean; private enhanceWorkflowOptions; private validateWorkflowExists; private validateScheduleExists; private logInitializationSummary; }