Problem
Agent connection status was not reliably detected:
- There was no active probe to confirm an ACP agent could actually start a session, so unreachable agents could still appear usable.
auth_required responses from a backend were not distinguished from generic failures, so users got no signal that authentication (not connectivity) was the blocker.
aionrs availability was reported off the backend identity alone, ignoring per-provider configuration, so providers without valid config could be marked online.
- Assistant
agent_status was resolved by backend only, which mismatched assistants whose identity is keyed by agent_type (e.g. bare/built-in assistants), producing wrong status badges.
Goal
Make agent availability detection accurate and actionable:
- Actively probe
session/new to verify an agent can establish a session.
- Recognize and surface
auth_required distinctly from offline/unreachable.
- Determine
aionrs availability per provider, not just by backend.
- Resolve assistant
agent_status by agent_type (with backend fallback) so bare assistants report correct status.
Acceptance
- Reachable, authenticated agents report online; agents needing auth report a distinct auth-required state; unreachable agents report offline.
aionrs is gated on the resolved provider configuration.
- Assistant status badges match the assistant's
agent_type.
Problem
Agent connection status was not reliably detected:
auth_requiredresponses from a backend were not distinguished from generic failures, so users got no signal that authentication (not connectivity) was the blocker.aionrsavailability was reported off the backend identity alone, ignoring per-provider configuration, so providers without valid config could be marked online.agent_statuswas resolved by backend only, which mismatched assistants whose identity is keyed byagent_type(e.g. bare/built-in assistants), producing wrong status badges.Goal
Make agent availability detection accurate and actionable:
session/newto verify an agent can establish a session.auth_requireddistinctly from offline/unreachable.aionrsavailability per provider, not just by backend.agent_statusbyagent_type(with backend fallback) so bare assistants report correct status.Acceptance
aionrsis gated on the resolved provider configuration.agent_type.