feat: add !agent command and durable user agent selection

Users can now list available agents with !agent and select one by
number. Selection persists in user metadata (selected_agent_id). If the
current room has no agent binding yet, selecting an agent binds it
immediately so the user can start messaging without !new.

Also updates the dispatcher test to reflect that real-mode platform is
now RoutedPlatformClient, not a bare RealPlatformClient.
This commit is contained in:
Mikhail Putilovskij 2026-04-24 13:54:25 +03:00
parent a65227e490
commit 74cf028e8f
7 changed files with 292 additions and 6 deletions

View file

@ -16,7 +16,7 @@ dependencies = [
"python-dotenv>=1.0",
"httpx>=0.27",
"aiohttp>=3.9",
"PyYAML>=6.0",
"pyyaml>=6.0",
]
[project.optional-dependencies]