UNPKG

rcc-pipeline

Version:

RCC Pipeline Module - Pipeline system and workflow management based on pipeline-framework

230 lines 6.92 kB
/** * Pipeline Execution Context - Enhanced request-response tracing system * 流水线执行上下文 - 增强的请求响应跟踪系统 */ import { BaseModuleRecordingConfig } from 'rcc-basemodule'; /** * Pipeline execution context interface with comprehensive request-response tracing * 流水线执行上下文接口,提供完整的请求响应跟踪 */ export interface PipelineExecutionContext { /** Unique execution identifier */ executionId: string; /** Request identifier for cross-module tracking */ requestId: string; /** Trace identifier for distributed tracking */ traceId: string; /** Session identifier for session tracking */ sessionId?: string; /** Pipeline stage tracking */ stage: PipelineStage; /** Current module information */ module: ModuleInfo; /** Execution timing information */ timing: ExecutionTiming; /** Request data with truncation support */ request?: any; /** Response data with truncation support */ response?: any; /** Error information if execution failed */ error?: ExecutionError; /** Metadata for additional context */ metadata?: Record<string, any>; /** Configuration snapshot */ config?: ConfigSnapshot; /** Child contexts for nested executions */ children?: PipelineExecutionContext[]; /** Parent context for hierarchical tracking */ parent?: PipelineExecutionContext; } /** * Pipeline stage enumeration * 流水线阶段枚举 */ export declare enum PipelineStage { REQUEST_INIT = "request_init", AUTHENTICATION = "authentication", SCHEDULING = "scheduling", PIPELINE_SELECTION = "pipeline_selection", PROVIDER_EXECUTION = "provider_execution", RESPONSE_PROCESSING = "response_processing", COMPLETION = "completion", ERROR_HANDLING = "error_handling" } /** * Module information for pipeline tracking * 模块信息,用于流水线跟踪 */ export interface ModuleInfo { moduleId: string; moduleName: string; moduleType: string; providerName?: string; endpoint?: string; } /** * Execution timing information * 执行时间信息 */ export interface ExecutionTiming { startTime: number; endTime?: number; duration?: number; stageTimings: Map<PipelineStage, StageTiming>; } /** * Stage-specific timing information * 阶段特定的时间信息 */ export interface StageTiming { startTime: number; endTime?: number; duration?: number; status: 'pending' | 'running' | 'completed' | 'failed'; } /** * Execution error information * 执行错误信息 */ export interface ExecutionError { errorId: string; message: string; stack?: string; category: ErrorCategory; severity: ErrorSeverity; recoverable: boolean; context?: Record<string, any>; } /** * Error category enumeration * 错误类别枚举 */ export declare enum ErrorCategory { NETWORK = "network", AUTHENTICATION = "authentication", VALIDATION = "validation", PROCESSING = "processing", PROVIDER = "provider", SYSTEM = "system", TIMEOUT = "timeout", RATE_LIMIT = "rate_limit" } /** * Error severity enumeration * 错误严重性枚举 */ export declare enum ErrorSeverity { FATAL = "fatal", ERROR = "error", WARNING = "warning", INFO = "info" } /** * Configuration snapshot for consistency tracking * 配置快照,用于一致性跟踪 */ export interface ConfigSnapshot { recordingConfig: BaseModuleRecordingConfig; baseDirectory: string; port?: number; environment: string; timestamp: number; } /** * Execution context creation options * 执行上下文创建选项 */ export interface ExecutionContextOptions { /** Create new trace or inherit existing */ createNewTrace?: boolean; /** Inherit from parent context */ inheritFrom?: PipelineExecutionContext; /** Custom execution ID */ executionId?: string; /** Custom trace ID */ traceId?: string; /** Custom session ID */ sessionId?: string; /** Additional metadata */ metadata?: Record<string, any>; /** Configuration overrides */ config?: Partial<BaseModuleRecordingConfig>; } /** * Execution context manager interface * 执行上下文管理器接口 */ export interface IExecutionContextManager { /** Create new execution context */ createContext(moduleInfo: ModuleInfo, stage: PipelineStage, request?: any, options?: ExecutionContextOptions): PipelineExecutionContext; /** Update context stage */ updateStage(context: PipelineExecutionContext, newStage: PipelineStage, data?: any): void; /** Complete context execution */ completeContext(context: PipelineExecutionContext, response?: any, error?: ExecutionError): void; /** Get context by execution ID */ getContext(executionId: string): PipelineExecutionContext | undefined; /** Get context by request ID */ getContextByRequestId(requestId: string): PipelineExecutionContext | undefined; /** Get active contexts */ getActiveContexts(): PipelineExecutionContext[]; /** Get contexts by trace ID */ getContextsByTraceId(traceId: string): PipelineExecutionContext[]; /** Clear completed contexts */ clearCompletedContexts(): void; /** Get execution statistics */ getStatistics(): ExecutionStatistics; } /** * Execution statistics * 执行统计 */ export interface ExecutionStatistics { totalExecutions: number; activeExecutions: number; completedExecutions: number; failedExecutions: number; averageDuration: number; stageStatistics: Map<PipelineStage, StageStatistics>; errorStatistics: Map<ErrorCategory, number>; } /** * Stage-specific statistics * 阶段特定统计 */ export interface StageStatistics { total: number; completed: number; failed: number; averageDuration: number; } /** * Execution context factory * 执行上下文工厂 */ export declare class ExecutionContextFactory { private static instance; private constructor(); static getInstance(): ExecutionContextFactory; /** * Create execution context * 创建执行上下文 */ createContext(moduleInfo: ModuleInfo, stage: PipelineStage, request?: any, options?: ExecutionContextOptions): PipelineExecutionContext; /** * Update context stage * 更新上下文阶段 */ updateStage(context: PipelineExecutionContext, newStage: PipelineStage, data?: any): void; /** * Complete context execution * 完成上下文执行 */ completeContext(context: PipelineExecutionContext, response?: any, error?: ExecutionError): void; private generateExecutionId; private generateTraceId; private generateRequestId; private sanitizeRequest; private sanitizeResponse; private createConfigSnapshot; } //# sourceMappingURL=PipelineExecutionContext.d.ts.map