Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
52 lines
1021 B
Python
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
|