Commit 035cecc
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
0 commit comments