Skip to content

feat(client): implement docling-serve-grpc service#329

Open
krickert wants to merge 2 commits intodocling-project:mainfrom
ai-pipestream:main
Open

feat(client): implement docling-serve-grpc service#329
krickert wants to merge 2 commits intodocling-project:mainfrom
ai-pipestream:main

Conversation

@krickert
Copy link

@krickert krickert commented Feb 6, 2026

This pull request introduces a professional gRPC client and service bridge for Docling Serve, designed for enterprise-grade pipeline integrations and long-term archival storage.

Key Enhancements

  • Professional gRPC API Design: Implements the ai.docling.serve.v1 contract with strict versioning throughout both Protobuf and Java packages.
  • Unique Request/Response Wrappers: Adheres to Google API Design and Buf linting standards by using dedicated wrapper messages for every RPC, ensuring future-proof method independence.
  • Robust Null-Safety: Implements exhaustive defensive mapping for the entire Docling document schema, guarding all collections, boxed primitives, and enums.
  • Server-Side Polling (Watch Pattern): Introduces "Watch" RPCs that manage asynchronous task monitoring on the server side, streaming status updates back to the client.
  • Comprehensive Verification: Includes unit, bidirectional mapping, and Testcontainers-based integration suites (all 78 tests passing).
  • JPMS Support: Fully compatible with the Java Platform Module System.

Closes #325

@krickert krickert changed the title PR Feature: grpc server issue #325 feat(grpc): implement docling-serve-grpc service with strict versioning Feb 6, 2026
@krickert krickert changed the title feat(grpc): implement docling-serve-grpc service with strict versioning feat(grpc): implement docling-serve-grpc service Feb 6, 2026
@krickert krickert changed the title feat(grpc): implement docling-serve-grpc service feat(client): implement docling-serve-grpc service Feb 6, 2026
@edeandrea
Copy link
Contributor

Thank you @krickert for this! You've definitely put a lot of thought & time into this.

If you don't mind, let me take a few days to go through all of this. I've just returned to the office this morning after being out all week, and I want to give this the thought and review it deserves.

@github-actions
Copy link

github-actions bot commented Feb 6, 2026

:java_duke: JaCoCo coverage report

Overall Project 20.63% 🔴

There is no coverage information present for the Files changed

@github-actions
Copy link

github-actions bot commented Feb 6, 2026

TestsPassed ✅SkippedFailed
Gradle Test Results (all modules & JDKs)1170 ran1170 passed0 skipped0 failed
TestResult
No test annotations available

@github-actions
Copy link

github-actions bot commented Feb 6, 2026

HTML test reports are available as workflow artifacts (zipped HTML).

• Download: Artifacts for this run

@edeandrea
Copy link
Contributor

@all-contributors add @krickert for code,idea

@allcontributors
Copy link
Contributor

@edeandrea

I've put up a pull request to add @krickert! 🎉

@edeandrea
Copy link
Contributor

@all-contributors add @krickert for documentation, tests

@allcontributors
Copy link
Contributor

@edeandrea

I've put up a pull request to add @krickert! 🎉

@edeandrea
Copy link
Contributor

Hi @krickert - when you created the pull request it does not look like you checked the box "Allow edits from maintainers".

Is that something you can turn on? I'd like to add a few things so that the CI will pick up these new modules and run the tests/code coverage on the PR.

@krickert
Copy link
Author

krickert commented Feb 6, 2026

Oh no problem!! Done.

Signed-off-by: Kristian Rickert <krickert@gmail.com>
@edeandrea
Copy link
Contributor

For some reason its still not letting me push on top of your commit. I think its because you created the PR from your main branch rather than a feature branch.

Anyways, can you make the following edits so that CI will run on the PR?

.github/workflows/build.yml

image

test-report-aggregation/build.gradle.kts

image

@krickert
Copy link
Author

krickert commented Feb 6, 2026

Yes. I'll do it within the hour

For some reason its still not letting me push on top of your commit. I think its because you created the PR from your main branch rather than a feature branch.

Anyways, can you make the following edits so that CI will run on the PR?

.github/workflows/build.yml

image

test-report-aggregation/build.gradle.kts

image

Signed-off-by: Kristian Rickert <krickert@gmail.com>
@krickert
Copy link
Author

krickert commented Feb 6, 2026

OK I was able to do it I think?

@github-actions
Copy link

github-actions bot commented Feb 6, 2026

HTML test reports are available as workflow artifacts (zipped HTML).

• Download: Artifacts for this run

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.

Integrate a streaming gRPC client

2 participants