export interface PersonaData { id: string; name: string; expertise: string[]; background: string; perspective: string; biases: string[]; communication: { style: string; tone: string; }; } export interface ContributionData { personaId: string; content: string; type: "observation" | "question" | "insight" | "concern" | "suggestion" | "challenge" | "synthesis"; confidence: number; referenceIds?: string[]; } export interface DisagreementPosition { personaId: string; position: string; arguments: string[]; } export interface DisagreementResolution { type: "consensus" | "compromise" | "integration" | "tabled"; description: string; } export interface DisagreementData { topic: string; positions: DisagreementPosition[]; resolution?: DisagreementResolution; } export interface CollaborativeReasoningData { topic: string; personas: PersonaData[]; contributions: ContributionData[]; stage: "problem-definition" | "ideation" | "critique" | "integration" | "decision" | "reflection"; activePersonaId: string; nextPersonaId?: string; consensusPoints?: string[]; disagreements?: DisagreementData[]; keyInsights?: string[]; openQuestions?: string[]; finalRecommendation?: string; sessionId: string; iteration: number; suggestedContributionTypes?: ("observation" | "question" | "insight" | "concern" | "suggestion" | "challenge" | "synthesis")[]; nextContributionNeeded: boolean; }