Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ What actually happened instead.

- **OS**: [e.g., macOS 14.0, Ubuntu 22.04]
- **Rust version**: [e.g., 1.75.0]
- **a2a-rust version**: [e.g., 0.1.0]
- **a2a-rust version**: [e.g., 1.0.0]
- **Features enabled**: [e.g., server, client, both]

## Code Example
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Describe specific use cases where this feature would be valuable:

If this relates to an A2A protocol feature, link to the relevant section:
- Spec: https://a2a-protocol.org/latest/specification/
- Proto: https://github.com/a2aproject/A2A/blob/v1.0.0-rc/specification/a2a.proto
- Proto: https://github.com/a2aproject/A2A/blob/v1.0.0/specification/a2a.proto

## Checklist

Expand Down
2 changes: 1 addition & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@

<!-- If this touches types or serialization, confirm protocol compliance -->

- [ ] Changes align with A2A v1.0 RC spec (tag `v1.0.0-rc`)
- [ ] Changes align with A2A v1.0 spec (tag `v1.0.0`)
- [ ] Serde serialization matches proto3 JSON mapping
- [ ] N/A — no protocol-related changes

Expand Down
22 changes: 12 additions & 10 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ This file provides guidance to AI coding agents working in this repository.

## Project Overview

`a2a-rust` is a generic Rust SDK for A2A (Agent-to-Agent) Protocol v1.0 RC.
`a2a-rust` is a generic Rust SDK for A2A (Agent-to-Agent) Protocol v1.0.

Current implementation status:

Expand All @@ -17,9 +17,9 @@ This crate has zero Clawhive-specific logic. Keep it generic and protocol-focuse

Protocol lock:

- tag: `v1.0.0-rc`
- commit: `6292104`
- proto package: `a2a.v1`
- tag: `v1.0.0`
- commit: `1736957`
- proto package: `lf.a2a.v1`

Normative source precedence:

Expand Down Expand Up @@ -131,7 +131,7 @@ Use proto enum strings exactly, for example:

### JSON-RPC method names

Use PascalCase v1.0 RC method names, for example:
Use PascalCase v1.0 method names, for example:

- `SendMessage`
- `GetTask`
Expand Down Expand Up @@ -161,7 +161,7 @@ Important:
- the field is `location`, not OpenAPI's `in`
- `OAuthFlows` is modeled as a oneof-style enum
- deserialization also accepts the Python SDK `type`-discriminator shape for interop
- deprecated OAuth flows still exist in the tagged proto and remain part of the wire model
- deprecated OAuth flows still exist in the published v1.0 definitions and remain part of the wire model

### AgentId

Expand All @@ -184,10 +184,12 @@ for the repository's `TASK_STATE_AUTH_REQUIRED` metadata convention:

### Required shape corrections already reflected in code

- `Task.context_id` is required
- `Task.context_id` is optional
- `TaskStatusUpdateEvent.context_id` is required
- `TaskArtifactUpdateEvent.context_id` is required
- `ListTaskPushNotificationConfigResponse.next_page_token` is a string, with empty string meaning no next page
- `ListTaskPushNotificationConfigsResponse.next_page_token` is a string, with empty string meaning no next page
- `TaskPushNotificationConfig` is a flattened object with `url`, `token`, and `authentication`
- `SendMessageConfiguration` uses `return_immediately` and `task_push_notification_config`

### Error codes

Expand Down Expand Up @@ -225,6 +227,6 @@ Prefer:
## References

- [Proto-first design](docs/proto-first-design.md)
- [A2A Protocol Spec v1.0 RC](https://a2a-protocol.org/latest/specification/)
- [A2A Proto v1.0.0-rc](https://github.com/a2aproject/A2A/blob/v1.0.0-rc/specification/a2a.proto)
- [A2A Protocol Spec v1.0](https://a2a-protocol.org/latest/specification/)
- [A2A Proto v1.0.0](https://github.com/a2aproject/A2A/blob/v1.0.0/specification/a2a.proto)
- [JSON-RPC 2.0 Spec](https://www.jsonrpc.org/specification)
4 changes: 2 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ Read `AGENTS.md` first.
## Quick Reference

- Language: Rust, edition 2024
- Protocol: A2A v1.0 RC, locked to tag `v1.0.0-rc`
- Proto package: `a2a.v1`
- Protocol: A2A v1.0, locked to tag `v1.0.0`
- Proto package: `lf.a2a.v1`
- Current implemented surface: `types`, `error`, `jsonrpc`, `server`, `client`, `store`
- Remaining work: docs, examples, release polish
- Zero Clawhive dependency
Expand Down
2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "a2a-rust"
version = "0.1.0"
version = "1.0.0"
edition = "2024"
rust-version = "1.85"
description = "Rust SDK for the A2A (Agent-to-Agent) protocol"
Expand Down
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
[![docs.rs](https://docs.rs/a2a-rust/badge.svg)](https://docs.rs/a2a-rust)
[![License](https://img.shields.io/crates/l/a2a-rust.svg)](LICENSE-MIT)

Rust SDK for A2A Protocol v1.0 RC.
Rust SDK for A2A Protocol v1.0.

`a2a-rust` provides:

Expand All @@ -18,8 +18,8 @@ This crate has zero Clawhive-specific logic.

## Status

- Protocol lock: `v1.0.0-rc`
- Proto package: `a2a.v1`
- Protocol lock: `v1.0.0`
- Proto package: `lf.a2a.v1`
- Implemented transports: `JSONRPC`, `HTTP+JSON`
- Out of scope: gRPC

Expand All @@ -36,7 +36,7 @@ Types-only usage:

```toml
[dependencies]
a2a-rust = { version = "0.1", default-features = false }
a2a-rust = { version = "1", default-features = false }
```

## Quick Start
Expand All @@ -45,7 +45,7 @@ Add the crate:

```toml
[dependencies]
a2a-rust = "0.1"
a2a-rust = "1"
```

### Server
Expand Down Expand Up @@ -84,7 +84,7 @@ impl A2AHandler for EchoAgent {
},
],
provider: None,
version: "0.1.0".to_owned(),
version: "1.0.0".to_owned(),
documentation_url: None,
capabilities: AgentCapabilities {
streaming: Some(false),
Expand Down Expand Up @@ -210,7 +210,7 @@ cargo run --example ping_client --features client

- server default endpoint: `POST /rpc`
- compatibility alias: `POST /jsonrpc`
- method names use PascalCase v1.0 RC bindings such as `SendMessage`, `GetTask`, and `ListTasks`
- method names use PascalCase v1.0 bindings such as `SendMessage`, `GetTask`, and `ListTasks`

### REST

Expand Down Expand Up @@ -274,8 +274,8 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for contributor workflow details.

## References

- [A2A Protocol Spec v1.0 RC](https://a2a-protocol.org/latest/specification/)
- [A2A Proto Source (v1.0.0-rc)](https://github.com/a2aproject/A2A/blob/v1.0.0-rc/specification/a2a.proto)
- [A2A Protocol Spec v1.0](https://a2a-protocol.org/latest/specification/)
- [A2A Proto Source (v1.0.0)](https://github.com/a2aproject/A2A/blob/v1.0.0/specification/a2a.proto)
- [A2A Agent Discovery](https://a2a-protocol.org/latest/topics/agent-discovery/)

## License
Expand Down
Loading
Loading