Expand description
The Backend trait — the uniform contract every SDK implements — plus the
shared contexts and the backend registry.
Modules§
- aube_
host - osdk’s narrowly-scoped host adapter for the embedded aube package engine.
- bun
- Bun backend: installs the official platform package published to npm. This avoids the GitHub Releases API and verifies the tarball with npm SRI.
- cargo_
package - Cargo package tools installed with an exact osdk-managed Rust toolchain.
- declarative
- Data-only external backends loaded from TOML.
- deno
- Deno backend: installs the official platform package published to npm. This provides a complete version index without the GitHub Releases API and verifies each tarball with npm SRI.
- dynamic
- Factories for backends whose complete id includes a namespace-specific value.
- github
- Generic GitHub-release backend, addressed as
github:owner/repo. - go
- Go backend: downloads official archives from go.dev/dl (or a mirror), verified against the per-file sha256 in the JSON index.
- go_
package - Go command tools installed with an exact osdk-managed Go runtime.
- http
- Inline HTTPS artifacts addressed as
http:https://host/path-{version}. - java
- Java backend: discovers JDKs across vendors via the Foojay Disco API and downloads the vendor archive. Default distribution is Temurin.
- jvm_
tools - native_
tool - Shared lifecycle for dynamic tools installed by a managed native runtime.
- node
- Node.js backend: downloads official prebuilt archives (or from a mirror),
verified against
SHASUMS256.txt. This is the reference archive-based backend proving the whole M2 stack. - npm_cli
- npm_
package - pnpm
- pnpm backend: installs pnpm’s complete JavaScript distribution from the npm
registry with first-party SRI verification. osdk supplies the exact managed
Node runtime and creates portable launchers for
pnpmandpnpx. - python
- Python backend: installs prebuilt CPython from astral-sh/python-build-
standalone (the same source uv/mise use). Discovery uses a generated
version-to-release-tag index, while immutable per-release
SHA256SUMSdocuments select and verify platform assets. No GitHub API is required. - registry
- Backend registry: maps tool ids / aliases to backend instances.
- rust
- Rust backend: delegates to rustup (installing rustup into a self-contained home if absent), driving it with the fastest mirror as RUSTUP_DIST_SERVER. This is the hybrid strategy: reuse the official manager for the complex channel/component/target matrix rather than reimplementing it.
- yarn
- yarn backend: installs both yarn lines natively (no corepack), verified by the npm registry’s Subresource Integrity (SRI).
Structs§
- Ctx
- Read-only context available to every backend operation.
- Install
Ctx - Context for an install (adds progress preference; the pipeline handles locks).
Traits§
- Backend
- The uniform interface for every SDK. Archive-based backends run the shared
pipeline in
install; delegate backends (rustup/corepack) shell out.
Functions§
- bin_
names_ in_ dirs - Convenience: read the executable basenames present in a set of bin dirs.