Integration materials generated from this source version
SDKs, dependencies and release boundaries
What is implemented in this source checkout
| Library | Runtime / dependencies from package metadata | Refund workflow coverage |
|---|---|---|
Go github.com/RainLib/Nexus/sdk/go | Go 1.25.0 minimum; OpenTelemetry trace 1.43.0; HTTP/JSON from standard library | Typed preview, request, review, query, pagination and effect methods in nexus/refunds.go |
TypeScript @rainlib/nexus-sdk | Fetch/AbortController/Web Crypto runtime; OpenTelemetry API ^1.9.0; TypeScript 7.0.2 build tooling | Independent client.refunds resource; decimal and int64 strings retained |
Python rainlib-nexus-instrumentation | Python >=3.10; no mandatory third-party runtime dependency; optional LangChain/LangGraph, cryptography and OTel extras | Instrumentation/client transport, not a typed refund workflow library yet |
Java com.rainlib:nexus-sdk | Java 17; dependency-free transport/admin clients | Not a typed refund workflow library yet |
This table is intentionally not a claim that all four languages expose every REST operation. Use the deployed OpenAPI contract for gaps. Do not give a metering-only service key billing-management scopes merely to use a low-level transport.
The TypeScript source tests use Node's built-in type stripping. A consumer imports the compiled ESM package (dist/index.js and dist/refunds.js) and declarations, not .ts source. Browser code must not hold NexusKey; integrate through an authenticated BFF. Optional observability/AI dependencies are not required to understand or calculate refund amounts.
This change was validated on Node.js 22.17.1; arbitrary Fetch-compatible runtimes have not all been validated. Source tests, compiled ESM loading and declaration-consumer compilation are separate checks.
Install a verified release, not an assumed version
| Language | Version-pinned installation | Publication target |
|---|---|---|
| Go | go get github.com/RainLib/Nexus/sdk/[email protected] | Git tag sdk/go/vX.Y.Z |
| TypeScript | pnpm add @rainlib/[email protected] | GitHub npm Packages; configure the @rainlib registry and consumer read access |
| Python | python -m pip install rainlib-nexus-instrumentation==X.Y.Z | PyPI, once the release is verified published |
| Java | com.rainlib:nexus-sdk:X.Y.Z in Maven/Gradle | GitHub Maven Packages; configure repository and consumer read access |
Replace X.Y.Z with a version whose release and package contents you verified. The current source metadata alone does not prove publication. Registry credentials are separate from Nexus API credentials, belong in secret managers/package-manager configuration, and must not enter application bundles, examples or LLM prompts.
Maintainer checks
From the repository root:
make sdk-test
make sdk-pack
make openapi-check
make docs-context-testpnpm-lock.yaml, sdk/go/go.sum and package metadata are authoritative dependency inputs. No blanket upgrade is required for refund integration. Changes to runtime requirements, dependencies or module exports require tests, package-content verification, and a versioned release. A successful local pack is not a registry publish. Python/Java coverage expansion and consumer-install verification must be tracked independently.
中文说明
Go 和 TypeScript 已有独立退款接口;Python/Java 目前不能声称具有同等退款封装。锁文件、语言元数据和打包产物是依赖依据。本地测试/打包通过不等于已经发布,使用前须核对实际标签、包仓库版本与下载权限。公开发行许可证仍以各包元数据和组织发布政策为准,不自动变更。