Skip to content

ADFA-6279 | Show connected capabilities as tags under chat input - #117

Open
jatezzz wants to merge 1 commit into
mainfrom
feat/ADFA-6279-agent-capability-tags
Open

jatezzz wants to merge 1 commit into
mainfrom
feat/ADFA-6279-agent-capability-tags

Conversation

@jatezzz

@jatezzz jatezzz commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

Description

This PR introduces a live-updating row of capability tags under the chat input, replacing the static backend label. These tags provide users with immediate visibility into the agent's connected backend (including the active model name), web access status, and available tool sources (such as MCP servers and plugin tools). It also implements health probing across the MCP and OpenAI plugins, allowing the tags to reflect degraded states (e.g., unreachable servers or invalid API keys) in real-time, and resolves them automatically when the connection recovers.

Details

  • UI Updates: Added capability_tag_scroll and capability_tag_group to fragment_chat.xml. Implemented CapabilityTagRowController to manage rendering, tapping (for details/settings), and long-pressing (for tooltips) of the tags.
  • Core capabilities: Added CapabilityMonitor and CapabilityReaders in AI-Core to manage the live state of backends and tool registries.
  • Backend & Tool Plugins: Updated Gemini, Local LLM, OpenAI, and MCP plugins to implement ActiveModelReportingBackend and/or StatusReportingBackend. Introduced ServerHealth and McpServerHealth to track and broadcast connectivity status.
  • Lifecycle simplification: Migrated backend plugins to use LlmBackendRegistration rather than manually managing AI Core lifecycle listeners.
  • Compatibility: Bumped plugin.min_ide_version to 26.41 across all affected plugins to support the new capability tag contracts.
Screen_Recording_20261002_172542_Code.on.the.Go.mp4
Screen_Recording_20261002_172715_Code.on.the.Go.mp4

Ticket

ADFA-6279

Observation

The tag row operates reactively using Flow collection, meaning it updates automatically when network connectivity changes, a server goes down, or a backend is switched. The individual plugins handle their own background polling (like the PROBE_INTERVAL_MS for MCP servers) to report degraded states without blocking the UI thread.

Live backend, web and per-MCP-server tags with health, via CapabilityStatus, ActiveModelReportingBackend and the shared LlmBackendRegistration.

Refs: ADFA-6279
@jatezzz
jatezzz requested review from a team, Daniel-ADFA and itsaky-adfa October 2, 2026 22:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant