feat: version discovery, User-Agent, trace_id, ToolContext, telemetry#102
Merged
saurabhjain1592 merged 13 commits intomainfrom Mar 3, 2026
Merged
feat: version discovery, User-Agent, trace_id, ToolContext, telemetry#102saurabhjain1592 merged 13 commits intomainfrom
saurabhjain1592 merged 13 commits intomainfrom
Conversation
- Add SDK_VERSION constant (3.8.0) in AxonFlowConfig - Fix default User-Agent from axonflow-java-sdk/1.0.0 to axonflow-sdk-java/3.8.0 - Extend HealthStatus with capabilities and sdkCompatibility fields - Add PlatformCapability and SDKCompatibility types - Add hasCapability() method on HealthStatus - Log warning when SDK version is below platform min_sdk_version - Update tests for new HealthStatus constructor
2 tasks
P1: Add backward-compatible constructor overloads for HealthStatus (4-arg) and workflow types (CreateWorkflowRequest, CreateWorkflowResponse, StepGateRequest, WorkflowStatusResponse, ListWorkflowsOptions) to avoid breaking callers that don't use new traceId/toolContext parameters. P1: Make capabilities list immutable and never-null in HealthStatus constructor. Add null guard to hasCapability() to prevent NPE. P2: Make PlatformCapability and SDKCompatibility final. Add equals/hashCode/toString to both. Update HealthStatus equals/hashCode/toString to include capabilities and sdkCompatibility. P2: Strip pre-release suffixes in compareSemver before parsing to handle versions like "3.8.0-beta.1" correctly. Changelog: Add traceId, ToolContext, and toolContext entries to [3.8.0].
Fire-and-forget checkpoint ping on client init with SDK version, OS, arch, runtime version, deployment mode, and enabled features. Off by default for community/sandbox, on for production. Opt out via AXONFLOW_TELEMETRY=off or DO_NOT_TRACK=1.
Production mode without credentials (community/self-hosted) now defaults telemetry to OFF, matching Go/TypeScript SDKs and documented policy.
Add unique instance_id, config disable integration, timeout handling, non-200 response, AXONFLOW_TELEMETRY integration, and enterprise mode payload verification tests.
Remove credential-based default logic. Telemetry is now ON by default for all modes except sandbox. Opt out via DO_NOT_TRACK=1, AXONFLOW_TELEMETRY=off, or telemetry config flag.
Align with cross-SDK contract: trim DO_NOT_TRACK and AXONFLOW_TELEMETRY before comparison so "1 " and " off" are handled correctly.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
/api/v1/versiontraceIdfield on workflow create/status/list operationsToolContextclass for per-tool governance within tool_call stepstelemetry(Boolean)builder option,AXONFLOW_TELEMETRY=off/DO_NOT_TRACK=1opt-outTest plan
mvn testpasses (1011 tests, 0 failures, 0 errors)