Skip to content

Replace agent directory env var with kagent API #8

Description

@jpower432

Problem / Motivation

_load_agent_cards() in workbench/app.py reads agent metadata from the AGENT_DIRECTORY env var (a JSON blob). This is a static snapshot that must be manually kept in sync with what's actually deployed. kagent already maintains a live agent registry from Kubernetes CRDs and exposes it via API.

Proposed Solution

Replace the env var lookup with a call to kagent's agent listing API. The workbench becomes a consumer of kagent's registry rather than maintaining its own.

Changes:

  • workbench/app.py:_load_agent_cards() — call kagent API instead of parsing env var
  • workbench/app.py:agent_directory() — pass through kagent response, optionally enrich with studio-specific metadata
  • agents/assistant/delegate.py:_resolve_agent_url() — resolve via kagent instead of workbench directory

Acceptance Criteria

  • Workbench retrieves agent list from kagent at runtime
  • AGENT_DIRECTORY env var removed or made fallback-only
  • Delegation client resolves agents through kagent
  • Existing tests updated
  • Works when kagent is unreachable (graceful degradation)

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/workbenchWorkbench HTTP server, BFF endpointsenhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions