Skip to content

Commit 035cecc

Browse files
committed
docs(rfc): revise RFC 0008 to proto-first native SDKs
Flip the SDK direction from a shared Rust core exposed over FFI (napi-rs) to native per-language clients generated from proto/. The wire contract is already shared through proto/ and regenerates cheaply, so native beats FFI's per-platform-binary and distribution tax on a thin client. Keep the openshell-sdk Rust crate, rescoped as the shared transport, auth, and error core for the Rust consumers only (CLI and TUI). Add a native language SDK contract (generated stubs, five transport modes, string-coded errors, curated types with a raw escape hatch) and pin single-flight OIDC refresh across languages with a conformance suite instead of a shared binary. Drop the openshell-sdk-node napi crate; TypeScript (PR #2122) is now the reference native client and Go is planned. Move the shared-FFI-core approach into Alternatives with its reasoning preserved, and note that expanding capability via RPCs is a related track under RFC 0007. Signed-off-by: Max Dubrinsky <mdubrinsky@nvidia.com>
1 parent bb5f5c6 commit 035cecc

1 file changed

Lines changed: 81 additions & 68 deletions

File tree

  • rfc/0008-shared-sdk-core-and-ts-binding

0 commit comments

Comments
 (0)