"""에이전트 메시지 포맷팅.""" from typing import Literal, Optional from .agent_registry import get_agent_meta MessageKind = Literal["report", "alert", "approval", "error", "info"] KIND_ICONS = { "report": "📊", "alert": "🔔", "approval": "✋", "error": "⚠️", "info": "ℹ️", } def format_agent_message( agent_id: str, kind: MessageKind, title: str, body: str, metadata: Optional[dict] = None, ) -> str: meta = get_agent_meta(agent_id) icon = KIND_ICONS.get(kind, "") header = f"{icon} [{meta['emoji']} {meta['display_name']}] {title}" lines = [header, "━" * 20, body] if metadata: footer_parts = [] if "tokens" in metadata: footer_parts.append(f"🧮 {metadata['tokens']:,} tokens") if "duration_ms" in metadata: seconds = metadata["duration_ms"] / 1000 footer_parts.append(f"⏱ {seconds:.1f}s") if "model" in metadata: footer_parts.append(f"🤖 {metadata['model']}") if footer_parts: lines.append("") lines.append(f"{' · '.join(footer_parts)}") return "\n".join(lines)