agents / Exports / BaseWorkflowValidator
Class: BaseWorkflowValidator<TWorkflowData>
Base Workflow Validator Abstract Class
Provides common functionality for all workflow validators:
- Statistics tracking
- Logging with dependency injection
- Rule management and configuration
- Performance monitoring
- Enable/disable functionality
- Common validation utilities
Type parameters
| Name | Type | Description |
|---|---|---|
TWorkflowData | extends WorkflowData | Type of workflow data to validate |
Hierarchy
BaseWorkflowValidator
Implements
WorkflowValidatorInterface<TWorkflowData>
Table of contents
Constructors
Properties
Methods
Constructors
constructor
• new BaseWorkflowValidator<TWorkflowData>(options?): BaseWorkflowValidator<TWorkflowData>
Constructor following BaseModule pattern
Type parameters
| Name | Type |
|---|---|
TWorkflowData | extends WorkflowData |
Parameters
| Name | Type | Description |
|---|---|---|
options | BaseWorkflowValidatorOptions | Validator configuration options |
Returns
BaseWorkflowValidator<TWorkflowData>
Defined in
packages/agents/src/abstracts/base-workflow-validator.ts:114
Properties
name
• Readonly Abstract name: string
Validator name for identification
Implementation of
WorkflowValidatorInterface.name
Defined in
packages/agents/src/abstracts/base-workflow-validator.ts:78
version
• Readonly Abstract version: string
Validator version
Implementation of
WorkflowValidatorInterface.version
Defined in
packages/agents/src/abstracts/base-workflow-validator.ts:79
dataFormat
• Readonly Abstract dataFormat: string
Data format that this validator handles
Implementation of
WorkflowValidatorInterface.dataFormat
Defined in
packages/agents/src/abstracts/base-workflow-validator.ts:80
availableRules
• Readonly Abstract availableRules: string[]
Available validation rules
Implementation of
WorkflowValidatorInterface.availableRules
Defined in
packages/agents/src/abstracts/base-workflow-validator.ts:81
enabled
• enabled: boolean
Enable/disable state following BaseModule pattern
Defined in
packages/agents/src/abstracts/base-workflow-validator.ts:84
Methods
validate
▸ validate(data, options?): Promise<ValidationResult>
Main validation method with comprehensive error handling and metrics
Parameters
| Name | Type | Description |
|---|---|---|
data | TWorkflowData | Workflow data to validate |
options | ValidationOptions | Validation options |
Returns
Promise<ValidationResult>
Promise resolving to validation result
Implementation of
WorkflowValidatorInterface.validate
Defined in
packages/agents/src/abstracts/base-workflow-validator.ts:135
validateRule
▸ validateRule(data, rule, options?): Promise<ValidationResult>
Validate specific rule
Parameters
| Name | Type | Description |
|---|---|---|
data | TWorkflowData | Workflow data to validate |
rule | string | Specific rule to apply |
options | ValidationOptions | Validation options |
Returns
Promise<ValidationResult>
Promise resolving to validation result for this rule
Implementation of
WorkflowValidatorInterface.validateRule
Defined in
packages/agents/src/abstracts/base-workflow-validator.ts:228
canValidate
▸ canValidate(data): data is TWorkflowData
Default implementation for checking if validator can handle data Should be overridden by subclasses for specific type checking
Parameters
| Name | Type | Description |
|---|---|---|
data | WorkflowData | Data to check |
Returns
data is TWorkflowData
True if validator can handle this data
Implementation of
WorkflowValidatorInterface.canValidate
Defined in
packages/agents/src/abstracts/base-workflow-validator.ts:276
getRuleDescriptions
▸ getRuleDescriptions(): Map<string, { description: string ; severity: ValidationSeverity ; category: string ; enabled: boolean }>
Get available validation rules with descriptions
Returns
Map<string, { description: string ; severity: ValidationSeverity ; category: string ; enabled: boolean }>
Map of rule names to descriptions
Implementation of
WorkflowValidatorInterface.getRuleDescriptions
Defined in
packages/agents/src/abstracts/base-workflow-validator.ts:286
configureRules
▸ configureRules(rules): void
Enable or disable specific validation rules
Parameters
| Name | Type | Description |
|---|---|---|
rules | Map<string, boolean> | Map of rule names to enabled status |
Returns
void
Implementation of
WorkflowValidatorInterface.configureRules
Defined in
packages/agents/src/abstracts/base-workflow-validator.ts:314
autoRecover
▸ autoRecover(data, issues): Promise<{ recoveredData: TWorkflowData ; recoveryResult: { success: boolean ; issuesFixed: ValidationIssue[] ; remainingIssues: ValidationIssue[] ; appliedFixes: string[] } }>
Default auto-recovery implementation Can be overridden by subclasses for specific recovery strategies
Parameters
| Name | Type | Description |
|---|---|---|
data | TWorkflowData | Original workflow data |
issues | ValidationIssue[] | Validation issues to recover from |
Returns
Promise<{ recoveredData: TWorkflowData ; recoveryResult: { success: boolean ; issuesFixed: ValidationIssue[] ; remainingIssues: ValidationIssue[] ; appliedFixes: string[] } }>
Promise resolving to recovered data and recovery result
Implementation of
WorkflowValidatorInterface.autoRecover
Defined in
packages/agents/src/abstracts/base-workflow-validator.ts:334
getStats
▸ getStats(): Object
Get validator statistics
Returns
Object
Validator performance metrics
| Name | Type |
|---|---|
totalValidations | number |
successfulValidations | number |
failedValidations | number |
averageProcessingTime | number |
averageIssueCount | number |
mostCommonIssues | { rule: string ; count: number ; severity: ValidationSeverity }[] |
lastValidationAt | undefined | Date |
Implementation of
WorkflowValidatorInterface.getStats
Defined in
packages/agents/src/abstracts/base-workflow-validator.ts:361
resetStats
▸ resetStats(): void
Reset validator statistics
Returns
void
Implementation of
WorkflowValidatorInterface.resetStats
Defined in
packages/agents/src/abstracts/base-workflow-validator.ts:392