feat: Phase 2 Workstream 4 — Java SDK (ai.sentryagent:idp-sdk)
Java 17 SDK in sdk-java/: - AgentIdPClient composing AgentRegistryClient, CredentialClient, TokenClient, AuditClient — all 14 endpoints covered - Both sync methods and CompletableFuture<T> async counterparts on each client - Thread-safe TokenManager (synchronized) with 60s refresh buffer - AgentIdPException (extends RuntimeException) with Code/HTTPStatus/Details - Builder pattern for all request types; Jackson 2.17 for JSON - Zero external HTTP dependencies — java.net.http.HttpClient (Java 11+) - No-dep JDK HttpServer used for unit tests (no WireMock needed) - mvn verify: 49/49 tests passed | JaCoCo coverage gate: >80% ✓ Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Phase 2: Production-Ready — Tasks
|
||||
|
||||
**Status**: In progress — Workstreams 1, 2, 3 complete.
|
||||
**Status**: In progress — Workstreams 1, 2, 3, 4 complete.
|
||||
|
||||
## CEO Approval Gates (required before implementation)
|
||||
|
||||
@@ -54,17 +54,17 @@
|
||||
|
||||
## Workstream 4: Java SDK
|
||||
|
||||
- [ ] 4.1 Create `sdk-java/` with `pom.xml` — groupId: ai.sentryagent, artifactId: idp-sdk, Java 17
|
||||
- [ ] 4.2 Write all POJO request/response model classes
|
||||
- [ ] 4.3 Write `AgentIdPException.java` extending RuntimeException
|
||||
- [ ] 4.4 Write `TokenManager.java` — synchronized cache with 60s refresh buffer
|
||||
- [ ] 4.5 Write `AgentRegistryClient.java` — sync + CompletableFuture methods
|
||||
- [ ] 4.6 Write `CredentialClient.java` — sync + CompletableFuture methods
|
||||
- [ ] 4.7 Write `TokenClient.java` — sync + CompletableFuture methods
|
||||
- [ ] 4.8 Write `AuditClient.java` — sync + CompletableFuture methods
|
||||
- [ ] 4.9 Write `AgentIdPClient.java` — composes all service clients
|
||||
- [ ] 4.10 Write `sdk-java/README.md`
|
||||
- [ ] 4.11 QA: `mvn verify` passes, all 14 endpoints, AgentIdPException on all failure paths, JUnit 5 >80%
|
||||
- [x] 4.1 Create `sdk-java/` with `pom.xml` — groupId: ai.sentryagent, artifactId: idp-sdk, Java 17
|
||||
- [x] 4.2 Write all POJO request/response model classes
|
||||
- [x] 4.3 Write `AgentIdPException.java` extending RuntimeException
|
||||
- [x] 4.4 Write `TokenManager.java` — synchronized cache with 60s refresh buffer
|
||||
- [x] 4.5 Write `AgentRegistryClient.java` — sync + CompletableFuture methods
|
||||
- [x] 4.6 Write `CredentialClient.java` — sync + CompletableFuture methods
|
||||
- [x] 4.7 Write `TokenClient.java` — sync + CompletableFuture methods
|
||||
- [x] 4.8 Write `AuditClient.java` — sync + CompletableFuture methods
|
||||
- [x] 4.9 Write `AgentIdPClient.java` — composes all service clients
|
||||
- [x] 4.10 Write `sdk-java/README.md`
|
||||
- [x] 4.11 QA: `mvn verify` passes, all 14 endpoints, AgentIdPException on all failure paths, JUnit 5 >80%
|
||||
|
||||
## Workstream 5: OPA Policy Engine
|
||||
|
||||
|
||||
Reference in New Issue
Block a user