Release v4928.1.4.2 stable
This commit is contained in:
60
app/schemas.py
Normal file
60
app/schemas.py
Normal file
@@ -0,0 +1,60 @@
|
||||
from typing import Any, Dict, Optional
|
||||
|
||||
from pydantic import BaseModel, Field
|
||||
|
||||
|
||||
class CurrentState(BaseModel):
|
||||
last_action_code: str = "desconhecido"
|
||||
last_route: str = "desconhecido"
|
||||
last_task_status: str = "desconhecido"
|
||||
metadata: Dict[str, Any] = Field(default_factory=dict)
|
||||
|
||||
|
||||
class AnalyzeRequest(BaseModel):
|
||||
last_customer_message: str = Field(..., min_length=1)
|
||||
previous_context: str = ""
|
||||
current_state: CurrentState = Field(default_factory=CurrentState)
|
||||
|
||||
source: Optional[str] = "manual"
|
||||
conversation_id: Optional[str] = None
|
||||
contact_id: Optional[str] = None
|
||||
|
||||
|
||||
class ActionDecision(BaseModel):
|
||||
action_code: str
|
||||
note: str = ""
|
||||
confidence: float = Field(ge=0.0, le=1.0, default=0.0)
|
||||
|
||||
|
||||
class ActionResult(BaseModel):
|
||||
action_code: str
|
||||
route: str
|
||||
action_required: bool = False
|
||||
action: str
|
||||
note: str = ""
|
||||
safe_to_post: bool = False
|
||||
|
||||
|
||||
class UsageInfo(BaseModel):
|
||||
id: Optional[str] = None
|
||||
model: Optional[str] = None
|
||||
provider: Optional[str] = None
|
||||
prompt_tokens: int = 0
|
||||
completion_tokens: int = 0
|
||||
total_tokens: int = 0
|
||||
cost: float = 0.0
|
||||
|
||||
|
||||
class AnalyzeResponse(BaseModel):
|
||||
app: str = "ClientFlow"
|
||||
model: str
|
||||
|
||||
action_decision: ActionDecision
|
||||
action_result: ActionResult
|
||||
|
||||
usage: UsageInfo
|
||||
needs_review: bool = False
|
||||
|
||||
action_run_id: Optional[str] = None
|
||||
message_id: Optional[str] = None
|
||||
task_id: Optional[str] = None
|
||||
Reference in New Issue
Block a user