- Add migration 013_city_map_coordinates.sql with map coordinates, zones, and agents table - Add /city/map API endpoint in city-service - Add /city/agents and /city/agents/online endpoints - Extend presence aggregator to include agents[] in snapshot - Add AgentsSource for fetching agent data from DB - Create CityMap component with interactive room tiles - Add useCityMap hook for fetching map data - Update useGlobalPresence to include agents - Add map/list view toggle on /city page - Add agent badges to room cards and map tiles
39 lines
817 B
Python
39 lines
817 B
Python
from pydantic import BaseModel
|
|
from typing import Literal, Optional, Dict, Any
|
|
from datetime import datetime
|
|
|
|
class AgentInvocation(BaseModel):
|
|
agent_id: str
|
|
entrypoint: Literal["channel_message", "direct", "cron"] = "channel_message"
|
|
payload: Dict[str, Any]
|
|
|
|
class AgentBlueprint(BaseModel):
|
|
id: str
|
|
name: str
|
|
model: str
|
|
instructions: str
|
|
capabilities: Dict[str, Any] = {}
|
|
tools: list[str] = []
|
|
|
|
class ChannelMessage(BaseModel):
|
|
sender_id: str
|
|
sender_type: Literal["human", "agent"]
|
|
content: str
|
|
created_at: datetime
|
|
|
|
class LLMRequest(BaseModel):
|
|
model: str
|
|
messages: list[Dict[str, str]]
|
|
max_tokens: int = 1000
|
|
temperature: float = 0.7
|
|
|
|
class LLMResponse(BaseModel):
|
|
content: str
|
|
model: str
|
|
usage: Optional[Dict[str, int]] = None
|
|
|
|
|
|
|
|
|
|
|