Skip to content

Add Spring integration for the AG-UI Java SDK#2147

Open
pascalwilbrink wants to merge 9 commits into
ag-ui-protocol:mainfrom
ag-ui-4j:feat/spring
Open

Add Spring integration for the AG-UI Java SDK#2147
pascalwilbrink wants to merge 9 commits into
ag-ui-protocol:mainfrom
ag-ui-4j:feat/spring

Conversation

@pascalwilbrink

Copy link
Copy Markdown
Contributor

Brings the Spring integration into the monorepo under sdks/community/java/spring
and aligns it with the core SDK (com.ag-ui.community).

The integration ships as independently-versioned modules:

Module Artifact Tracks
spring-server-core ag-ui-spring-server-core Spring Boot 4.1.x
spring-webflux-server ag-ui-spring-webflux-server Spring Boot 4.1.x
spring-webmvc-server ag-ui-spring-webmvc-server Spring Boot 4.1.x
spring-webflux-boot-starter ag-ui-spring-webflux-boot-starter Spring Boot 4.1.x
spring-webmvc-boot-starter ag-ui-spring-webmvc-boot-starter Spring Boot 4.1.x
spring-ai ag-ui-spring-ai Spring AI 2.x
spring-ai-spring-boot-starter ag-ui-spring-ai-spring-boot-starter Spring AI 2.x
spring-ai-webmvc-boot-starter ag-ui-spring-ai-webmvc-boot-starter Spring AI 2.x

Testing

  • mvn test on the full spring reactor — all modules green
    (server-core, webflux/webmvc servers, both boot starters, spring-ai, AI starters).
  • Both reactors validate cleanly.
  • Requires com.ag-ui.community:java-{core,client,server}:0.1.0 in the local repo
    (or Central) to build.

pascalwilbrink and others added 8 commits June 29, 2026 17:19
The community Java SDK under sdks/community/java has moved to standalone
repositories under the ag-ui-4j organization (ag-ui, ag-ui-spring, ...). Remove it
and its dedicated CI workflows (publish-java-sdk, unit-java-sdk) from the protocol
monorepo.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VoMDS6nSWBdLqhGLf496Yn
Brings the maintained Java SDK into sdks/community/java under groupId
com.ag-ui.community with java-prefixed artifacts (java-ag-ui parent, java-core,
java-client, java-server) and com.agui.community.* packages. These are the modules
to be published to Maven Central (step 2 of re-homing the Java SDK).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VoMDS6nSWBdLqhGLf496Yn
- unit-java-sdk.yml was a stale copy of the Kotlin workflow (Gradle, kotlin
  paths); replace it with the Maven unit job (mvn -B -ntp test).
- Point both workflows at sdks/community/java/ag-ui, the new Maven project root.
- Publish via the Central Portal (central-publishing-maven-plugin, server-id
  "central") with the MAVEN_CENTRAL_*/MAVEN_GPG_* credentials, matching the
  release profile in the new pom.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VoMDS6nSWBdLqhGLf496Yn
Mirror publish-kotlin-sdk's dry-run mechanism: a workflow_dispatch boolean input
that builds and GPG-signs the release artifacts via `mvn -Prelease verify` without
uploading, plus a matching summary. The release-triggered run still auto-publishes
(`mvn -Prelease deploy`).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VoMDS6nSWBdLqhGLf496Yn
Move the community Java SDK off io.github.agui4j to the com.agui.community
package (groupId com.ag-ui.community), matching the sibling Kotlin SDK.
Rename the modules to java-core/java-client/java-server (parent java-ag-ui)
and set all versions to 0.1.0. POMs and READMEs updated accordingly.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Bring the Spring integration into the monorepo under sdks/community/java/spring:
Spring WebFlux/WebMVC servers, Spring Boot starters, and a Spring AI adapter,
plus the shared spring-server-core.

Align it with the renamed core SDK and fix several defects found in review:
- fix the aggregator groupId typo (com.agui.community -> com.ag-ui.community)
  that made the whole reactor's parent unresolvable
- pin java-core to ${ag-ui.version} (0.1.0) instead of a stale 0.0.1
- migrate the package namespace io.github.agui4j -> com.agui.community
  (including the Spring AutoConfiguration.imports files)
- drop -SNAPSHOT from the internal module versions so the release profile
  can publish to Maven Central; sync the README versions
- remove SonarCloud (properties + README badges) across the Java SDK
- remove the ag-ui-4j GitHub-org URLs (POM url/scm and README links)
- bump the documented Java baseline to 21

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@pascalwilbrink
pascalwilbrink requested a review from a team as a code owner July 9, 2026 20:54
@pascalwilbrink

Copy link
Copy Markdown
Contributor Author

@contextablemark This adds Spring to ag-ui!

Spring boot (Reactive + "traditional" webmc)
Spring AI

The next pr will have a combination of examples:

Spring boot reactive + Spring AI + OpenAI
Spring boot webmvc + Spring AI + OpenAI

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant