UNPKG

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
/** * 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