supa-seed
Version:
A constraint-aware, framework-agnostic database seeding framework with deep PostgreSQL business logic discovery and MakerKit integration support
124 lines • 4.41 kB
TypeScript
/**
* Architecture Evidence Collection System for Epic 2: Smart Platform Detection Engine
* Specialized evidence collection and reasoning for platform architecture detection
* Part of Task 2.1.4: Add architecture-specific evidence collection and reasoning
*/
import { ArchitectureEvidence, DetectionAnalysisContext, PlatformFeature } from './detection-types';
/**
* Evidence collection configuration
*/
export interface EvidenceCollectionConfig {
/** Whether to collect detailed table analysis evidence */
detailedTableAnalysis: boolean;
/** Whether to analyze column naming patterns */
analyzeColumnPatterns: boolean;
/** Whether to examine relationship patterns */
analyzeRelationships: boolean;
/** Whether to inspect business logic functions */
analyzeBusinessLogic: boolean;
/** Maximum evidence items to collect per type */
maxEvidencePerType: number;
/** Minimum confidence threshold for evidence inclusion */
minEvidenceConfidence: number;
}
/**
* Evidence reasoning and analysis result
*/
export interface EvidenceAnalysisResult {
/** All collected evidence */
evidence: ArchitectureEvidence[];
/** Architecture confidence scores based on evidence */
architectureScores: {
individual: number;
team: number;
hybrid: number;
};
/** Platform features detected from evidence */
platformFeatures: PlatformFeature[];
/** Detailed reasoning for architecture determination */
reasoning: string[];
/** Confidence in the overall analysis */
overallConfidence: number;
/** Warnings about evidence quality or conflicts */
warnings: string[];
}
/**
* Individual platform evidence patterns
*/
export declare class IndividualEvidenceCollector {
/**
* Collect evidence pointing to individual creator platform architecture
*/
collectIndividualEvidence(context: DetectionAnalysisContext, config: EvidenceCollectionConfig): Promise<ArchitectureEvidence[]>;
private collectUserCentricEvidence;
private collectSimpleAccountEvidence;
private collectPersonalContentEvidence;
private collectLimitedCollaborationEvidence;
private filterAndRankEvidence;
}
/**
* Team platform evidence patterns
*/
export declare class TeamEvidenceCollector {
/**
* Collect evidence pointing to team collaboration platform architecture
*/
collectTeamEvidence(context: DetectionAnalysisContext, config: EvidenceCollectionConfig): Promise<ArchitectureEvidence[]>;
private collectTeamStructureEvidence;
private collectMemberManagementEvidence;
private collectWorkspaceEvidence;
private collectPermissionSystemEvidence;
private filterAndRankEvidence;
}
/**
* Hybrid platform evidence patterns
*/
export declare class HybridEvidenceCollector {
/**
* Collect evidence pointing to hybrid platform architecture
*/
collectHybridEvidence(context: DetectionAnalysisContext, config: EvidenceCollectionConfig): Promise<ArchitectureEvidence[]>;
private collectFlexibleAccountEvidence;
private collectMixedOwnershipEvidence;
private collectScalablePermissionEvidence;
private collectDualCapabilityEvidence;
private filterAndRankEvidence;
}
/**
* Main evidence collection orchestrator
*/
export declare class ArchitectureEvidenceCollector {
private individualCollector;
private teamCollector;
private hybridCollector;
constructor();
/**
* Collect comprehensive evidence for all architecture types
*/
collectAllEvidence(context: DetectionAnalysisContext, config?: Partial<EvidenceCollectionConfig>): Promise<EvidenceAnalysisResult>;
/**
* Calculate architecture confidence scores based on collected evidence
*/
private calculateArchitectureScores;
/**
* Extract platform features from evidence
*/
private extractPlatformFeatures;
/**
* Generate human-readable reasoning for architecture determination
*/
private generateReasoning;
/**
* Calculate overall confidence in the analysis
*/
private calculateOverallConfidence;
/**
* Generate warnings about evidence quality or conflicts
*/
private generateWarnings;
}
/**
* Default evidence collection configuration
*/
export declare const DEFAULT_EVIDENCE_CONFIG: EvidenceCollectionConfig;
//# sourceMappingURL=evidence-collector.d.ts.map