Skip to content

feat(a2a): SLIMRPC transport binding for A2A CLI #1805

Description

@Tehsmash

Context

Closes part of #1786. Blocked by #1804.

Coding agents need to delegate tasks to sub-agents over SLIM. The A2A CLI is the natural client for this but currently has no SLIMRPC transport. This issue adds a SLIMRPC transport plugin so that when an Agent Card advertises SLIMRPC as a supported protocol binding, the A2A CLI can use SLIM as its underlying delivery mechanism, consuming the hierarchical config introduced in #1802.

Proposal

Add a SLIMRPC transport binding to the A2A CLI:

  • The CLI selects the transport from the Agent Card's supported protocol bindings in priority order.
  • A --prefer-transport slimrpc flag hints that SLIMRPC should be preferred if available in the Agent Card, without overriding cases where SLIMRPC is not advertised.
  • The transport reads SLIM node address and identity from the hierarchical config (feat(slim-bindings): hierarchical config loading for SLIM node address and identity #1802).
  • Single Agent Card → point-to-point SLIM session.
  • Multiple Agent Cards → SLIMRPC multicast over a group session.
  • Supports both streaming responses and task-ID polling.

Example usage

# Transport selected automatically from Agent Card priority order
a2a send agent-b.json '{"task": "..."}'

# Prefer SLIMRPC if the Agent Card supports it
a2a send --prefer-transport slimrpc agent-b.json '{"task": "..."}'

# Multicast — multiple agent cards
a2a send agent-b.json agent-c.json '{"task": "..."}'

# Stream responses
a2a send --stream agent-b.json '{"task": "..."}'

Acceptance Criteria

  • SLIMRPC transport plugin implemented and wired into A2A CLI
  • Transport selected from Agent Card supported bindings in priority order
  • --prefer-transport flag implemented to influence selection without overriding card availability
  • Config consumed from hierarchical config file / env vars (feat(slim-bindings): hierarchical config loading for SLIM node address and identity #1802)
  • P2P session used for single Agent Card input
  • Group session / multicast used for multiple Agent Cards
  • Streaming and polling modes both supported
  • Integration test demonstrating end-to-end A2A task over SLIM

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

Status
Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions