docs(site): extract standalone pages and complete doc structure · a2aproject/a2a-java@b6d18b9 · GitHub
Skip to content

Commit b6d18b9

Browse files
kabirclaude
andcommitted
docs(site): extract standalone pages and complete doc structure
Extract configuration, authorization, and backward compatibility into standalone pages. Add REST API reference, BOMs, examples, and getting started pages. Update navigation menu and add compatibility matrix to landing page. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 8e9f257 commit b6d18b9

13 files changed

Lines changed: 1075 additions & 236 deletions

‎docs/content/about.md‎

Lines changed: 0 additions & 19 deletions
This file was deleted.

‎docs/content/authorization.md‎

Lines changed: 67 additions & 0 deletions

‎docs/content/boms.md‎

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
1+
---
2+
title: Bill of Materials (BOM)
3+
description: Dependency management BOMs for the A2A Java SDK — SDK, Extras, and Reference BOMs.
4+
layout: page
5+
---
6+
7+
# Bill of Materials (BOM)
8+
9+
The A2A Java SDK provides three BOMs for different use cases, so you can manage dependency versions in one place.
10+
11+
## BOM Modules
12+
13+
### SDK BOM
14+
15+
**Artifact:** `org.a2aproject.sdk:a2a-java-sdk-bom`
16+
17+
Includes all A2A SDK core modules (spec, server, client, transport), core third-party dependencies, Jakarta APIs, and test utilities.
18+
19+
**Use this BOM when:** Building A2A agents with any framework (Quarkus, Spring Boot, vanilla Java, etc.)
20+
21+
### Extras BOM
22+
23+
**Artifact:** `org.a2aproject.sdk:a2a-java-sdk-extras-bom`
24+
25+
Includes everything from the SDK BOM plus server-side enhancement modules (database persistence, distributed queue management, etc.).
26+
27+
**Use this BOM when:** Building production A2A servers needing advanced server-side features beyond the core SDK.
28+
29+
### Reference BOM
30+
31+
**Artifact:** `org.a2aproject.sdk:a2a-java-sdk-reference-bom`
32+
33+
Includes everything from the SDK BOM plus the Quarkus BOM (complete Quarkus platform), A2A reference implementation modules, and the TCK module for testing.
34+
35+
**Use this BOM when:** Building Quarkus-based A2A agents or reference implementations.
36+
37+
## Usage
38+
39+
### SDK BOM (Any Framework)
40+
41+
```xml
42+
<dependencyManagement>
43+
<dependencies>
44+
<dependency>
45+
<groupId>org.a2aproject.sdk</groupId>
46+
<artifactId>a2a-java-sdk-bom</artifactId>
47+
<version>$\{org.a2aproject.sdk.version}</version>
48+
<type>pom</type>
49+
<scope>import</scope>
50+
</dependency>
51+
</dependencies>
52+
</dependencyManagement>
53+
54+
<dependencies>
55+
<!-- No version needed - managed by BOM -->
56+
<dependency>
57+
<groupId>org.a2aproject.sdk</groupId>
58+
<artifactId>a2a-java-sdk-server-common</artifactId>
59+
</dependency>
60+
<dependency>
61+
<groupId>org.a2aproject.sdk</groupId>
62+
<artifactId>a2a-java-sdk-transport-jsonrpc</artifactId>
63+
</dependency>
64+
</dependencies>
65+
```
66+
67+
### Extras BOM (Database Persistence, Distributed Deployments)
68+
69+
```xml
70+
<dependencyManagement>
71+
<dependencies>
72+
<dependency>
73+
<groupId>org.a2aproject.sdk</groupId>
74+
<artifactId>a2a-java-sdk-extras-bom</artifactId>
75+
<version>$\{org.a2aproject.sdk.version}</version>
76+
<type>pom</type>
77+
<scope>import</scope>
78+
</dependency>
79+
</dependencies>
80+
</dependencyManagement>
81+
82+
<dependencies>
83+
<dependency>
84+
<groupId>org.a2aproject.sdk</groupId>
85+
<artifactId>a2a-java-sdk-server-common</artifactId>
86+
</dependency>
87+
<dependency>
88+
<groupId>org.a2aproject.sdk</groupId>
89+
<artifactId>a2a-java-extras-task-store-database-jpa</artifactId>
90+
</dependency>
91+
</dependencies>
92+
```
93+
94+
### Reference BOM (Quarkus)
95+
96+
```xml
97+
<dependencyManagement>
98+
<dependencies>
99+
<dependency>
100+
<groupId>org.a2aproject.sdk</groupId>
101+
<artifactId>a2a-java-sdk-reference-bom</artifactId>
102+
<version>$\{org.a2aproject.sdk.version}</version>
103+
<type>pom</type>
104+
<scope>import</scope>
105+
</dependency>
106+
</dependencies>
107+
</dependencyManagement>
108+
109+
<dependencies>
110+
<!-- A2A SDK and Quarkus versions both managed -->
111+
<dependency>
112+
<groupId>org.a2aproject.sdk</groupId>
113+
<artifactId>a2a-java-sdk-reference-jsonrpc</artifactId>
114+
</dependency>
115+
<dependency>
116+
<groupId>io.quarkus</groupId>
117+
<artifactId>quarkus-arc</artifactId>
118+
</dependency>
119+
</dependencies>
120+
```

‎docs/content/client.md‎

Lines changed: 2 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -190,42 +190,8 @@ Client client = Client
190190

191191
## Communicating with v0.3 Agents
192192

193-
Use `Client_v0_3` to communicate with agents that only support protocol v0.3:
194-
195-
```xml
196-
<dependency>
197-
<groupId>org.a2aproject.sdk</groupId>
198-
<artifactId>a2a-java-sdk-compat-0.3-client</artifactId>
199-
<version>$\{org.a2aproject.sdk.version}</version>
200-
</dependency>
201-
<dependency>
202-
<groupId>org.a2aproject.sdk</groupId>
203-
<artifactId>a2a-java-sdk-compat-0.3-client-transport-jsonrpc</artifactId>
204-
<version>$\{org.a2aproject.sdk.version}</version>
205-
</dependency>
206-
```
207-
208-
gRPC and REST transports are also available:
209-
- `a2a-java-sdk-compat-0.3-client-transport-grpc`
210-
- `a2a-java-sdk-compat-0.3-client-transport-rest`
211-
212-
```java
213-
AgentCard card = A2ACardResolver.builder().baseUrl("http://localhost:1234")
214-
.build().getAgentCard();
215-
216-
AgentInterface v03Interface = card.supportedInterfaces().stream()
217-
.filter(i -> A2AProtocol_v0_3.PROTOCOL_VERSION.equals(i.protocolVersion()))
218-
.findFirst().orElseThrow();
219-
220-
Client_v0_3 client = ClientBuilder_v0_3.forUrl(v03Interface.url())
221-
.withTransport(JSONRPCTransport_v0_3.class, new JSONRPCTransportConfigBuilder_v0_3())
222-
.build();
223-
```
224-
225-
**Note:** `Client_v0_3` exposes only operations available in protocol v0.3. For example, `listTasks()` is not available (it was added in v1.0). Return types use v0.3 domain objects from the `org.a2aproject.sdk.compat03.spec` package.
193+
See [Backward Compatibility](compatibility#client-communicating-with-v03-agents) for using `Client_v0_3` with older protocol agents.
226194

227195
## Examples
228196

229-
- [Hello World Client](https://github.com/a2aproject/a2a-java/blob/main/examples/helloworld/client/README.md) — Java client talking to a Python A2A server
230-
- [Hello World Server](https://github.com/a2aproject/a2a-java/blob/main/examples/helloworld/server/README.md) — Python client talking to a Java A2A server
231-
- [a2a-samples repository](https://github.com/a2aproject/a2a-samples/tree/main/samples/java/agents) — More agent examples
197+
See [Examples](examples) for Hello World walkthroughs and sample applications.

‎docs/content/compatibility.md‎

Lines changed: 124 additions & 0 deletions

0 commit comments

Comments
 (0)