Commit Graph

1 Commits

Author SHA1 Message Date
sylvain d390d8a07a Fix real-time agent status tracking and add status hooks
- Fix root cause: Message.from_json was parsing status/capabilities
  payloads (plain JSON dicts) as Message objects with empty payload,
  causing _on_status_update to silently fail. Now plain JSON payloads
  (no 'type'/'sender' keys) are passed as raw strings to callbacks.
- _on_status_update: ignore own status, call on_agent_status_change
  hook only when status actually changes (was_online != is_online)
- Add on_agent_status_change(agent_id, status) hook in BaseAgent
- Add on_xmpp_connected() hook in BaseAgent
- XMPPClient.connect_async() accepts on_ready callback

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 13:03:30 +00:00