Skip to content

Commit bc3e88b

Browse files
BRBussyclaude
andauthored
Add server-side streaming support and enhance SDK code generation (#54)
* extend transaction * start transaction service * start * Add streaming support with base client integration across all SDKs Implement production-ready streaming method support with proper validation, authentication, timeout handling, and error management across Go, Java, Python, and TypeScript SDKs. Key changes: - Go: Add ExecuteStream[T,R]() for streaming methods with validation, auth, timeout, tracing - Java: Add executeStream() with validation, timeout, enhanced error context - Python: Add _execute_streaming_method() with validation, auth metadata injection - TypeScript: Add validateRequest() and manual metadata handling for streaming - Update all code generators to use new streaming execution methods - Regenerate SDKs to use ExecuteStream/executeStream/_execute_streaming_method 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * Add server-side streaming support to protoc-gen-meshdoc Implement streaming detection and documentation generation for gRPC server-side streaming methods in the protoc-gen-meshdoc tool. Changes: - Add IsServerStreaming detection in parser using method.Desc.IsStreamingServer() - Create streaming-specific templates for Go, Python, and Java - Update template selection logic to route streaming methods correctly - Enhance method documentation template with streaming semantics - Regenerate MonitorTransactionState examples with proper streaming patterns Features: - Go streaming: stream.Recv() loop with io.EOF handling - Python streaming: iterator pattern with for...in loop - Java streaming: Iterator<Response> with hasNext()/next() - Stream lifecycle documentation (initiation, data reception, completion) - Clear distinction between stream errors and normal completion 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * Fix documentation broken links by mapping footer to existing architecture files Updated Docusaurus footer configuration to reference correct architecture documentation files: - Group Ownership → resource-hierarchy.mdx - Role-Based Access → method-permissions.mdx - Client Structuring → legal-entities.mdx - Authentication → api-access.mdx Fixed internal cross-references within architecture docs to use correct file paths. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * Upgrade Docusaurus to v3.9.1 and fix deprecated config warning - Updated all Docusaurus packages from 3.8.1 to 3.9.1 - Migrated onBrokenMarkdownLinks from top-level config to markdown.hooks.onBrokenMarkdownLinks - Eliminates deprecation warning about Docusaurus v4 compatibility - Build completes successfully with no warnings 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * Disable git-based last update metadata to eliminate build warnings - Set showLastUpdateAuthor and showLastUpdateTime to false - Eliminates "Cannot infer the update date for some files" warning - Removes dependency on git history for documentation metadata - Documentation pages will no longer show last update info 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * Rename studio instrument type.proto to instrument_type.proto for clarity Refactored protobuf file naming to be more descriptive: - Renamed type.proto → instrument_type.proto in studio/instrument/v1 - Updated import in wallet/account proto to reference new filename - Regenerated all SDK code (Go, Python, TypeScript) with updated imports This makes the file purpose clearer and follows naming best practices for protobuf definitions containing domain-specific types. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * v1.17.0 * remove non-implemented close account method * Add .serena/ to gitignore for unified workspace - Use single projects/.serena with Go workspace - Prevent accidental recreation of api-specific .serena 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * Fix client generator godoc formatting and complete streaming support Addresses Review Cycle #1 feedback on godoc formatting quality. Changes: - Fix client generator to add proper "// " spacing in method comments - Strip "//" prefix and normalize whitespace before re-adding proper formatting - Eliminate empty comment lines in generated client interfaces - Complete server-side streaming support implementation - Generate custom stream interfaces with Send() and Context() methods - Update service interface signatures to accept stream as parameter - Fix mock generator for streaming method signatures All generated Go SDK code now follows Go documentation conventions. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> * remove close account validations --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent c7981d4 commit bc3e88b

26 files changed

Lines changed: 318 additions & 546 deletions

File tree

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -240,4 +240,4 @@ java/src/main/java/co/meshtrade/api/**/Service.java
240240
java/src/main/java/co/meshtrade/api/**/*Service.java
241241
java/src/main/java/co/meshtrade/api/**/*ServiceClient.java
242242
java/src/main/java/co/meshtrade/api/**/*ServiceInterface.java
243-
# Note: All meshjava generated files contain "Generated by protoc-gen-meshjava. DO NOT EDIT." header
243+
# Note: All meshjava generated files contain "Generated by protoc-gen-meshjava. DO NOT EDIT." header.serena/

docs/docs/api-reference/wallet/account/v1/service/close-account/example.go

Lines changed: 0 additions & 40 deletions
This file was deleted.

docs/docs/api-reference/wallet/account/v1/service/close-account/example.java

Lines changed: 0 additions & 33 deletions
This file was deleted.

docs/docs/api-reference/wallet/account/v1/service/close-account/example.py

Lines changed: 0 additions & 32 deletions
This file was deleted.

go/compliance/client/v1/service.meshgo.go

Lines changed: 12 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

go/iam/api_user/v1/service.meshgo.go

Lines changed: 37 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

go/iam/group/v1/service.meshgo.go

Lines changed: 21 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

go/iam/user/v1/service.meshgo.go

Lines changed: 28 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

go/ledger/transaction/v1/service.meshgo.go

Lines changed: 6 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

go/ledger/transaction/v1/serviceMock.meshgo.go

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)