Capabilities Matrix
Deep dive on A2A JSON-RPC methods: A2A v1.0 compliance.
Agent runtime
Section titled “Agent runtime”| Capability | Crate(s) | Feature flag | WASM | Native | Status |
|---|---|---|---|---|---|
AgentBuilder config loading | agent_sdk, pf_config | config-loader | Yes | Yes | Stable |
| Skills & handlers | agent_sdk, agent_core | agent-core (default) | Yes | Yes | Stable |
| Message handler | agent_sdk | agent-core | Yes | Yes | Stable |
| Timeout policy | agent_sdk | agent-core | Yes | Yes | Stable |
| History policy | agent_sdk, llm_context_core | context-window | Yes | Yes | Stable |
| Capability | Crate(s) | Feature flag | WASM | Native | Status |
|---|---|---|---|---|---|
| OpenAI-compatible wire format | llm_client | — (always) | Yes | Yes | Stable |
| Anthropic Messages wire format | llm_client | — | Yes | Yes | Stable |
| Azure OpenAI auth | llm_client | — | Yes | Yes | Stable |
| Chat streaming | llm_client | — | Yes | Yes | Stable |
| Model profiles (families, caps) | llm_client | — | Yes | Yes | Stable |
| Tool calling (registry + execution) | llm_tools, llm_tool_macros, agent_sdk | llm-engine | Yes | Yes | Stable |
| Context window management | llm_context_core | context-window (via agent_sdk) | Yes | Yes | Stable |
A2A protocol
Section titled “A2A protocol”Summary only — see A2A v1.0 compliance for the method-by-method table.
| Capability | Crate(s) | Feature flag | WASM | Native | Status |
|---|---|---|---|---|---|
| Core JSON-RPC domain | a2a_protocol_core | core | Yes | Yes | Stable |
| HTTP server (Spin / Axum) | a2a_http_server, agent_sdk | a2a-server | Yes | Yes | Stable |
| HTTP client | a2a_http_client, agent_sdk | a2a-client | Yes | Yes | Stable |
| SSE / streaming (HTTP + protocol) | a2a_http_server, a2a_protocol_core | event-stream / streaming | Partial | Yes | Feature-gated |
| Task storage (in-memory default; Redis native) | agent_sdk, a2a_protocol_core | redis-storage (optional, native) | Yes | Yes | Stable |
Serving
Section titled “Serving”| Capability | Crate(s) | Feature flag | WASM | Native | Status |
|---|---|---|---|---|---|
| WASM (Spin) A2A server | agent_sdk, a2a_http_server | a2a-server | Yes | — | Stable |
| Native (Axum) A2A server | agent_sdk, a2a_http_server | a2a-server | — | Yes | Stable |
| AG-UI streaming surface | agent_sdk | agui-stream (implies event-stream) | — | Yes | Stable |
| Dual-protocol hosting (A2A + AG-UI) | agent_sdk | dual-agent | — | Yes | Stable |
| Capability | Crate(s) | Feature flag | WASM | Native | Status |
|---|---|---|---|---|---|
| LLM tool registry | llm_tools | llm-engine | Yes | Yes | Stable |
#[llm_tool] macro | llm_tool_macros | llm-engine (with llm_tools) | Yes | Yes | Stable |
| MCP client | agent_sdk, mcp_protocol | mcp-client | Yes | Yes | Stable |
| Sub-agent delegation | agent_sdk | sub-agents | — | Yes | Stable |
| A2A-native tools | agent_sdk | a2a-tools | Yes | Yes | Stable |
| Web search tool | tool_web_search | — | Yes | Yes | Stable |
| Interactive tools (typed contracts) | agent_sdk | interactive-tools | Yes | Yes | Stable |
Observability
Section titled “Observability”| Capability | Crate(s) | Feature flag | WASM | Native | Status |
|---|---|---|---|---|---|
| Structured logging | structured_logging, observability, observability_core | agent-observability on agent_sdk | Yes | Yes | Stable |
| OpenTelemetry | otel, observability | agent-observability enables observability/otel | Yes | Yes | Stable |
| Prometheus | prometheus (crate), observability | prometheus on observability dependency (not part of default agent-observability) | Yes | Yes | Stable |
Configuration
Section titled “Configuration”| Capability | Crate(s) | Feature flag | WASM | Native | Status |
|---|---|---|---|---|---|
| JSON config | pf_config | config-loader on agent_sdk | Yes | Yes | Stable |
| Environment variables | pf_config | config-loader | Yes | Yes | Stable |
| Dotenv | pf_config | pf_config/dotenv on the pf_config dependency | Yes | Yes | Stable |
Testing
Section titled “Testing”| Capability | Crate(s) | Feature flag | WASM | Native | Status |
|---|---|---|---|---|---|
| Test harness (native) | pf_test_harness | default empty; enable integrations per feature | — | Yes | Stable |
| LLM scenarios | pf_test_harness | scenario | — | Yes | Stable |
| SSE capture / A2A HTTP helpers | pf_test_harness | sse, a2a-http, etc. | — | Yes | Stable |