151 lines
3.8 KiB
Python
151 lines
3.8 KiB
Python
from __future__ import annotations
|
|
|
|
from typing import Any, Optional
|
|
|
|
from pydantic import BaseModel, ConfigDict, Field
|
|
|
|
|
|
class MountedAISourceItem(BaseModel):
|
|
model_config = ConfigDict(extra="ignore")
|
|
|
|
source_system: str
|
|
run_count: int = 0
|
|
topic_count: int = 0
|
|
active_topic_count: int = 0
|
|
last_seen_at: Optional[str] = None
|
|
|
|
|
|
class MountedAISourceListPayload(BaseModel):
|
|
model_config = ConfigDict(extra="ignore")
|
|
|
|
items: list[MountedAISourceItem] = Field(default_factory=list)
|
|
|
|
|
|
class MountedAITopicItem(BaseModel):
|
|
model_config = ConfigDict(extra="ignore")
|
|
|
|
id: int
|
|
topic_key: str
|
|
source_system: str
|
|
channel_ref: Optional[str] = None
|
|
thread_key: Optional[str] = None
|
|
mode: str
|
|
status: str
|
|
readiness_score: Optional[float] = None
|
|
draft_state: Optional[str] = None
|
|
draft_version: Optional[int] = None
|
|
updated_at: Optional[str] = None
|
|
|
|
|
|
class MountedAITopicListPayload(BaseModel):
|
|
model_config = ConfigDict(extra="ignore")
|
|
|
|
items: list[MountedAITopicItem] = Field(default_factory=list)
|
|
total: int = 0
|
|
|
|
|
|
class MountedAIRunItem(BaseModel):
|
|
model_config = ConfigDict(extra="ignore")
|
|
|
|
id: int
|
|
trace_id: str
|
|
source_system: str
|
|
source_message_id: Optional[str] = None
|
|
mode_before: Optional[str] = None
|
|
mode_after: Optional[str] = None
|
|
active_agent: Optional[str] = None
|
|
status: str
|
|
trigger_reason: Optional[str] = None
|
|
final_reply: Optional[str] = None
|
|
trace_count: int = 0
|
|
updated_at: Optional[str] = None
|
|
|
|
|
|
class MountedAIRunListPayload(BaseModel):
|
|
model_config = ConfigDict(extra="ignore")
|
|
|
|
items: list[MountedAIRunItem] = Field(default_factory=list)
|
|
total: int = 0
|
|
|
|
|
|
class MountedAIAgentTraceItem(BaseModel):
|
|
model_config = ConfigDict(extra="ignore")
|
|
|
|
id: int
|
|
agent_name: str
|
|
status: str
|
|
latency_ms: Optional[int] = None
|
|
failure_reason: Optional[str] = None
|
|
created_at: Optional[str] = None
|
|
|
|
|
|
class MountedAIRunDetailPayload(BaseModel):
|
|
model_config = ConfigDict(extra="ignore")
|
|
|
|
item: MountedAIRunItem
|
|
agent_traces: list[MountedAIAgentTraceItem] = Field(default_factory=list)
|
|
context_layers_hit: Optional[Any] = None
|
|
tool_calls: Optional[Any] = None
|
|
execution_outcome: Optional[Any] = None
|
|
|
|
|
|
class MountedAICutoverStatusPayload(BaseModel):
|
|
model_config = ConfigDict(extra="ignore")
|
|
|
|
mounted_runtime_ready: bool
|
|
topic_workspace_count: int = 0
|
|
conversation_run_count: int = 0
|
|
tool_policy_count: int = 0
|
|
observed_source_systems: list[str] = Field(default_factory=list)
|
|
legacy_cutover_state: str
|
|
retired_item_count: int = 0
|
|
active_item_count: int = 0
|
|
legacy_cutover_items: list["MountedAILegacyCutoverItem"] = Field(default_factory=list)
|
|
|
|
|
|
class MountedAILegacyCutoverItem(BaseModel):
|
|
model_config = ConfigDict(extra="ignore")
|
|
|
|
key: str
|
|
title: str
|
|
status: str
|
|
summary: str
|
|
evidence: str
|
|
|
|
|
|
class MountedAIEvalSuiteItem(BaseModel):
|
|
model_config = ConfigDict(extra="ignore")
|
|
|
|
id: int
|
|
dataset_type: str
|
|
version: str
|
|
status: str
|
|
suite_kind: str
|
|
sample_count: int = 0
|
|
latest_score: Optional[float] = None
|
|
last_evaluated_at: Optional[str] = None
|
|
|
|
|
|
class MountedAIEvalSuiteListPayload(BaseModel):
|
|
model_config = ConfigDict(extra="ignore")
|
|
|
|
items: list[MountedAIEvalSuiteItem] = Field(default_factory=list)
|
|
total: int = 0
|
|
|
|
|
|
class MountedAIEvalResultItem(BaseModel):
|
|
model_config = ConfigDict(extra="ignore")
|
|
|
|
evaluation_type: str
|
|
status: str
|
|
score: Optional[float] = None
|
|
|
|
|
|
class MountedAIEvalSuiteDetailPayload(BaseModel):
|
|
model_config = ConfigDict(extra="ignore")
|
|
|
|
item: MountedAIEvalSuiteItem
|
|
selection_rules: Optional[Any] = None
|
|
notes: Optional[str] = None
|
|
evaluations: list[MountedAIEvalResultItem] = Field(default_factory=list)
|