Skip to content

feat(a2a): wire AgentCard modality capabilities at bootstrap#3464

Merged
bug-ops merged 1 commit intomainfrom
3378-a2a-agentcard-modality
Apr 26, 2026
Merged

feat(a2a): wire AgentCard modality capabilities at bootstrap#3464
bug-ops merged 1 commit intomainfrom
3378-a2a-agentcard-modality

Conversation

@bug-ops
Copy link
Copy Markdown
Owner

@bug-ops bug-ops commented Apr 26, 2026

Summary

  • Derives images/audio/files flags on the default AgentCard from runtime signals at A2A server bootstrap
  • Extracts build_default_card() helper in src/daemon.rs to keep the bootstrap clean
  • Adds advertise_files: bool (default false) to A2aServerConfig in zeph-config

Detection logic

Capability Signal
images provider.supports_vision()
audio config.llm.stt_provider_entry().is_some()
files config.a2a.advertise_files (opt-in, default false)

Known limitation

Daemon mode does not wire STT at runtime yet, so audio=true may be advertised even though audio parts are silently dropped. A separate P3 issue should track STT wiring in run_daemon.

Test plan

  • cargo nextest run --workspace --lib --bins — 8602 tests pass
  • cargo +nightly fmt --check — clean
  • cargo clippy --workspace -- -D warnings — clean
  • Manual: run agent with [a2a] enabled and vision-capable provider; verify GET / AgentCard response shows "images": true
  • Manual: run with advertise_files = true; verify "files": true in AgentCard

Closes #3378

Derive images/audio/files flags on the default AgentCard from
runtime signals at A2A server bootstrap:

- images: provider.supports_vision()
- audio: stt_provider_entry config presence
- files: new opt-in config field a2a.advertise_files (default false)

Extract build_default_card() helper in src/daemon.rs. Add
advertise_files field to A2aServerConfig with serde default.

Closes #3378
@github-actions github-actions Bot added the enhancement New feature or request label Apr 26, 2026
@bug-ops bug-ops enabled auto-merge (squash) April 26, 2026 12:26
@github-actions github-actions Bot added size/M Medium PR (51-200 lines) documentation Improvements or additions to documentation rust Rust code changes core zeph-core crate and removed enhancement New feature or request labels Apr 26, 2026
@bug-ops bug-ops merged commit 740d2d4 into main Apr 26, 2026
32 checks passed
@bug-ops bug-ops deleted the 3378-a2a-agentcard-modality branch April 26, 2026 12:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core zeph-core crate documentation Improvements or additions to documentation rust Rust code changes size/M Medium PR (51-200 lines)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(a2a): wire AgentCard modality capabilities at A2A bootstrap

1 participant