41 lines
974 B
Python
41 lines
974 B
Python
from pydantic import BaseModel, Field
|
|
from typing import Optional, List, Dict, Any
|
|
from datetime import datetime
|
|
|
|
|
|
class ChatRequest(BaseModel):
|
|
message: str = Field(..., min_length=1, max_length=2000)
|
|
conversation_id: Optional[str] = None
|
|
|
|
|
|
class ChatResponse(BaseModel):
|
|
response: str
|
|
conversation_id: str
|
|
tokens_used: Optional[int] = None
|
|
model: Optional[str] = None
|
|
|
|
|
|
class ScheduleGenerateRequest(BaseModel):
|
|
child_age: int = Field(..., ge=1, le=18)
|
|
preferences: List[str] = Field(default_factory=list)
|
|
date: str # ISO format date string
|
|
description: Optional[str] = None
|
|
|
|
|
|
class ScheduleGenerateResponse(BaseModel):
|
|
schedule_id: str
|
|
title: str
|
|
tasks: List[Dict[str, Any]]
|
|
tokens_used: Optional[int] = None
|
|
|
|
|
|
class ConversationHistory(BaseModel):
|
|
conversation_id: str
|
|
messages: List[Dict[str, Any]]
|
|
created_at: datetime
|
|
updated_at: datetime
|
|
|
|
class Config:
|
|
from_attributes = True
|
|
|