feat(ai): RoomAgentRegistry — support multi-agents par salon (#25) #157

Merged
charles merged 2 commits from feat/25-multi-agent into main 2026-04-06 02:26:01 +00:00
Owner

Résumé

  • RoomAgentRegistry suit les agents présents dans chaque salon Matrix
  • on_member_event : réagit aux events join/leave/ban/kick via AgentDetector
  • agents_in_room, agent_count, is_multi_agent : API de consultation
  • sidebar_label : "1 agent" ou "N agents" pour la sidebar
  • mention_suggestions(room_id, prefix) : filtre les agents par préfixe (insensible à la casse)
  • parse_profile_hints : extrait is_bot et is_openclaw depuis le JSON de profil

8 tests unitaires couvrant : salon vide, join/leave, multi-agent, utilisateur humain ignoré, suggestions de mention, flag is_bot via JSON, déduplication.

Closes #25

## Résumé - `RoomAgentRegistry` suit les agents présents dans chaque salon Matrix - `on_member_event` : réagit aux events `join`/`leave`/`ban`/`kick` via `AgentDetector` - `agents_in_room`, `agent_count`, `is_multi_agent` : API de consultation - `sidebar_label` : `"1 agent"` ou `"N agents"` pour la sidebar - `mention_suggestions(room_id, prefix)` : filtre les agents par préfixe (insensible à la casse) - `parse_profile_hints` : extrait `is_bot` et `is_openclaw` depuis le JSON de profil 8 tests unitaires couvrant : salon vide, join/leave, multi-agent, utilisateur humain ignoré, suggestions de mention, flag `is_bot` via JSON, déduplication. Closes #25
feat(ai): expose RoomAgentRegistry (#25)
Some checks failed
CI / cargo check (pull_request) Has been cancelled
CI / cargo test (pull_request) Has been cancelled
CI / clippy + rustfmt (pull_request) Has been cancelled
f00ed0f6bb
Sign in to join this conversation.
No description provided.