Skip to content

feat: add Java client release workflow - #55

Merged
starboyate merged 15 commits into
mainfrom
feat/memind-java-client
May 10, 2026
Merged

starboyate merged 15 commits into
mainfrom
feat/memind-java-client

Conversation

@starboyate

Copy link
Copy Markdown
Collaborator

Summary

  • Include the Java client modules in the root Maven reactor so global builds cover them.
  • Add a manual Java client Maven Central release workflow.
  • Split Java client publishing from the main Memind release path.

Verification

  • mvn clean install -q

starboyate and others added 15 commits May 10, 2026 15:45
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Fix issues found during self-review:
- Fix groupId to com.openmemind.ai (matching server)
- Fix Jackson version to 2.x for ecosystem compatibility
- Clarify health endpoint path (/open/v1/health)
- Add MapRawContent for extensible RawContent handling
- Specify Spring Boot 3.2+ for starter compatibility
- Add thread safety, User-Agent, logging, retry sections
- Document model independence rationale

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Fix RawContent type name to lowercase "conversation" (matching server)
- Replace sealed class + @JsonSubTypes with custom RawContentSerializer
  for dynamic RawContent type handling
- Remove redundant MemindClientConfig from project structure
- Add AutoConfiguration.imports registration file
- Add close() idempotency and resource management section
- Clarify why ContentBlock uses @JsonSubTypes but RawContent doesn't

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add Message.sourceClient field (matching server's 5-field record)
- Add StageView.attributes field for trace observability
- Document fire-and-forget semantics for add/extract/commit APIs
- Clarify that successful call only means server accepted the request

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
9 tasks covering: Maven scaffolding, exception hierarchy, models,
HTTP layer, MemindClient API, Spring Boot Starter, and verification.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Add joinAndUnwrap() to sync methods to unwrap CompletionException
- Merge two sendAsync versions into single coherent implementation
- Add .gitignore for target/ directories
- Add license header requirement note
- Add test for sync exception unwrapping

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@starboyate starboyate linked an issue May 10, 2026 that may be closed by this pull request
@starboyate
starboyate merged commit dfce1c4 into main May 10, 2026
1 check passed
@starboyate
starboyate deleted the feat/memind-java-client branch May 10, 2026 17:03
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.

[Feature]: add Java client for calling the memind api

1 participant