Files
agent/tests/pipeline_setup_v4/core/models.py
T

47 lines
963 B
Python

from __future__ import annotations
from dataclasses import dataclass, field
from pathlib import Path
from typing import Literal
ComponentKind = Literal["process_v2_intent_router"]
@dataclass(slots=True, frozen=True)
class RouterExpectation:
domain: str | None = None
intent: str | None = None
sub_intent: str | None = None
@dataclass(slots=True, frozen=True)
class CaseExpectations:
router: RouterExpectation = RouterExpectation()
@dataclass(slots=True, frozen=True)
class V4Case:
case_id: str
component: ComponentKind
query: str
source_file: Path
expectations: CaseExpectations = CaseExpectations()
notes: str = ""
tags: tuple[str, ...] = ()
@dataclass(slots=True, frozen=True)
class ExecutionPayload:
actual: dict
details: dict
@dataclass(slots=True)
class V4CaseResult:
case: V4Case
actual: dict
details: dict
passed: bool
mismatches: list[str] = field(default_factory=list)