Skip to content

Add native Rust SDK with TypeScript API coverage - #2

Merged
arasors merged 10 commits into
mainfrom
feat/rust-sdk-20261105
Nov 4, 2026
Merged

arasors merged 10 commits into
mainfrom
feat/rust-sdk-20261105

Conversation

@arasors

@arasors arasors commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

Add the first native async Rust SDK (sentroy-client-sdk 0.1.0) alongside the existing language SDKs. It provides typed company-scoped Mail, Storage and WhatsApp resources, Identity and admin clients, Env Vault, thumbnail helpers, and an official rmcp client with private file transfers.

The resource inventory maps all 70 TypeScript methods at 326f131dec57c8e8a4dd6b2f8eb18020a772e861 (SDK 2.18.3). A CI guard detects inventory drift; separate wire-contract tests check serialization and behavior. Native integration boundaries, installation from Git/path, and recovery examples are documented in rust/README.md and rust/PARITY.md.

Sensitive operations disable redirects and automatic replay. BCC errors preserve request IDs; rotating refresh tokens are coalesced and discarded after uncertain outcomes. JWT verification binds signature, issuer, audience and key identity. MCP private transfers validate immutable resource binding, grant metadata, file integrity, bounds and receipts. Generic MCP protocol buffering/error behavior follows upstream rmcp and is documented separately.

Validation at 1e84107357bddc60eb277c8e731b8b5f39a4b4b1: Rust SDK CI passed formatting, the 70-method inventory guard, Clippy with warnings denied, 39 unit/loopback tests, one compiled documentation example, all three example targets, documentation with warnings denied, crate package verification, and Rust 1.89 minimum-version compilation. Final integration and code review were performed by the primary agent.

Version 0.1.0 is prepared for a later crates.io release. This PR includes source, documentation and validation; it does not publish a crate.

@arasors
arasors marked this pull request as ready for review November 4, 2026 23:12
@arasors
arasors merged commit c0ccb9a into main Nov 4, 2026
2 checks passed
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.

1 participant