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:
SentryAgent.ai Developer
2026-03-28 15:33:53 +00:00
parent 91c759f455
commit 8cdab72fea
33 changed files with 2308 additions and 12 deletions

View File

@@ -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