Local Agent host
City keeps Agent instances in memory and owns two HTTP/RPC transport ports, forwarding requests to the right Agent by agent_id.
Create, deploy, and call City with the City SDK: host Agent instances inside a local runtime, then expose them to many product clients behind a stable service boundary.
Federation owns the server-side runtime; Embassy is the unified user and admin client entry.
City keeps Agent instances in memory and owns two HTTP/RPC transport ports, forwarding requests to the right Agent by agent_id.
Internally capabilities are organized as Service, Action, and AIService; product clients only call text(), stream(), and image() instead of raw provider APIs.
A single Federation can serve web apps, extensions, desktop tools, and internal tools, so each product stops rebuilding the same AI backend.