"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""

from __future__ import annotations
from openrouter.types import BaseModel
from typing import List
from typing_extensions import TypedDict


class StanceTypedDict(TypedDict):
    model: str
    stance: str


class Stance(BaseModel):
    model: str

    stance: str


class ContradictionTypedDict(TypedDict):
    stances: List[StanceTypedDict]
    topic: str


class Contradiction(BaseModel):
    stances: List[Stance]

    topic: str


class PartialCoverageTypedDict(TypedDict):
    models: List[str]
    point: str


class PartialCoverage(BaseModel):
    models: List[str]

    point: str


class UniqueInsightTypedDict(TypedDict):
    insight: str
    model: str


class UniqueInsight(BaseModel):
    insight: str

    model: str


class FusionAnalysisResultTypedDict(TypedDict):
    r"""Structured analysis produced by the fusion judge model."""

    blind_spots: List[str]
    consensus: List[str]
    contradictions: List[ContradictionTypedDict]
    partial_coverage: List[PartialCoverageTypedDict]
    unique_insights: List[UniqueInsightTypedDict]


class FusionAnalysisResult(BaseModel):
    r"""Structured analysis produced by the fusion judge model."""

    blind_spots: List[str]

    consensus: List[str]

    contradictions: List[Contradiction]

    partial_coverage: List[PartialCoverage]

    unique_insights: List[UniqueInsight]
