Files
JARVIS/backend/app/schemas/conversation.py

52 lines
1021 B
Python

from datetime import datetime
from typing import Literal
from pydantic import BaseModel
class MessageCreate(BaseModel):
content: str
class MessageOut(BaseModel):
id: str
role: str
content: str
model: str | None
tokens_used: int | None
attachments: list[dict] | None = None
created_at: datetime
model_config = {"from_attributes": True}
class ConversationCreate(BaseModel):
title: str | None = None
class ConversationOut(BaseModel):
id: str
title: str | None
message_count: int
created_at: datetime
updated_at: datetime
model_config = {"from_attributes": True}
class ChatRequest(BaseModel):
message: str
conversation_id: str | None = None
agent_id: str | None = None
model_name: str | None = None
runtime: Literal["jarvis", "hermes"] | None = None
file_ids: list[str] = []
class ChatResponse(BaseModel):
conversation_id: str
message_id: str
content: str
agent_name: str
model_name: str | None = None