Skip to main content

Module backend

Module backend 

Source
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 pnpm and pnpx.
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 SHA256SUMS documents 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.
InstallCtx
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.