supa-seed
Version:
A constraint-aware, framework-agnostic database seeding framework with deep PostgreSQL business logic discovery and MakerKit integration support
167 lines • 5.47 kB
TypeScript
/**
* Manual Override System for Epic 2: Smart Platform Detection Engine
* Provides manual override capabilities and validation for detection results
* Part of Task 2.1.6: Add manual override support and validation
*/
import { PlatformArchitectureType, ContentDomainType, PlatformArchitectureDetectionResult, ArchitectureEvidence, OverrideValidationResult } from './detection-types';
/**
* Manual override configuration
*/
export interface ManualOverrideConfig {
/** Force specific architecture type */
architectureType?: PlatformArchitectureType;
/** Force specific content domain */
contentDomain?: ContentDomainType;
/** Override confidence score */
confidenceOverride?: number;
/** Force specific platform features to be present/absent */
platformFeatures?: Record<string, boolean>;
/** Add custom evidence to support the override */
customEvidence?: ArchitectureEvidence[];
/** Custom reasoning to include in results */
customReasoning?: string[];
/** Override specific detection metrics */
metricOverrides?: {
schemaComplexity?: number;
evidenceCount?: number;
};
/** Validation preferences */
validation?: {
/** Whether to validate against existing evidence */
validateAgainstEvidence: boolean;
/** Whether to allow overrides that conflict with high-confidence evidence */
allowHighConfidenceConflicts: boolean;
/** Minimum confidence required to override */
minimumConfidenceToOverride: number;
/** Whether to include warnings in validation */
includeWarnings: boolean;
};
/** Metadata about the override */
metadata?: {
/** Reason for the override */
reason: string;
/** Who created the override */
createdBy?: string;
/** When the override was created */
createdAt?: string;
/** Override version for tracking */
version?: string;
};
}
/**
* Override application result
*/
export interface OverrideApplicationResult {
/** The modified detection result */
result: PlatformArchitectureDetectionResult;
/** Validation result of the override */
validation: OverrideValidationResult;
/** Applied overrides summary */
appliedOverrides: {
architectureTypeOverridden: boolean;
confidenceOverridden: boolean;
featuresOverridden: string[];
evidenceAdded: number;
reasoningAdded: number;
};
/** Override metadata */
metadata: {
overrideId: string;
applicationTime: string;
originalResult: {
architectureType: PlatformArchitectureType;
confidence: number;
};
};
}
/**
* Override conflict information
*/
export interface OverrideConflict {
/** Type of conflict */
type: 'evidence_conflict' | 'confidence_conflict' | 'feature_conflict';
/** Description of the conflict */
description: string;
/** Severity of the conflict */
severity: 'low' | 'medium' | 'high';
/** Conflicting evidence or features */
conflictingItems: string[];
/** Suggested resolution */
suggestedResolution: string;
}
/**
* Manual Override Manager
*/
export declare class ManualOverrideManager {
private overrideHistory;
/**
* Apply manual overrides to a detection result
*/
applyOverrides(originalResult: PlatformArchitectureDetectionResult, overrides: ManualOverrideConfig): Promise<OverrideApplicationResult>;
/**
* Validate manual override against existing evidence
*/
validateOverride(originalResult: PlatformArchitectureDetectionResult, overrides: ManualOverrideConfig): Promise<OverrideValidationResult>;
/**
* Validate architecture type override
*/
private validateArchitectureTypeOverride;
/**
* Validate confidence override
*/
private validateConfidenceOverride;
/**
* Validate platform feature overrides
*/
private validateFeatureOverrides;
/**
* Validate custom evidence
*/
private validateCustomEvidence;
/**
* Update recommendations based on applied overrides
*/
private updateRecommendationsForOverrides;
/**
* Generate a unique override ID
*/
private generateOverrideId;
/**
* Calculate confidence level from confidence score
*/
private calculateConfidenceLevel;
/**
* Generate feature name from feature ID
*/
private generateFeatureName;
/**
* Infer feature category from feature ID
*/
private inferFeatureCategory;
/**
* Record override in history for tracking
*/
private recordOverrideInHistory;
/**
* Get override history for analysis
*/
getOverrideHistory(overrideId?: string): ManualOverrideConfig[];
/**
* Clear override history
*/
clearOverrideHistory(): void;
/**
* Create a pre-configured override for common scenarios
*/
createTemplateOverride(scenario: 'force_individual' | 'force_team' | 'force_hybrid' | 'high_confidence' | 'low_confidence'): Partial<ManualOverrideConfig>;
}
/**
* Default manual override validation configuration
*/
export declare const DEFAULT_OVERRIDE_VALIDATION: {
validateAgainstEvidence: boolean;
allowHighConfidenceConflicts: boolean;
minimumConfidenceToOverride: number;
includeWarnings: boolean;
};
//# sourceMappingURL=manual-overrides.d.ts.map