idyl-labs organization on GitHub, and the npm package is published under the
@idyl-labs scope. Every SDK is a native expression of the same model: the
same resources, the same names, and the same wire format. A Sandbox created
from TypeScript is the Sandbox the Go SDK and the CLI read back.
The Go SDK defines the shared model. Its resource and API packages are the
contract every SDK speaks, and each other SDK proves its types against fixtures
taken from the Go SDK. A contract change lands in the Go SDK first; the other
SDKs adopt it.
What every SDK provides
- Explicit configuration. A client is built from one configuration value that carries the Network, Account, credential, Namespace, and placement its operations run in. The SDK reads no environment variable or configuration file and substitutes nothing for an unset field.
- Immutable, scoped clients. Selecting a Namespace or placement returns a copy; the original stays valid.
- Per-request credentials. The credential is consulted for every authenticated request, so a rotated token needs no new client.
- Placement resolved through public APIs. A Subnet, Fleet, or Node placement is resolved once per operation and checked for visibility, approval, and admission before a request is sent.
- Native Workload services with immutable handles, lifecycle waits, watches, streamed logs, and shell transports.
- Typed errors. A non-2xx response is an API error carrying the HTTP status, a stable code, a message, details, the request ID, and the retry delay. Message text is not a contract.
- Cancellation on every operation. Cancelling never deletes a resource.
SDK pages
TypeScript
@idyl-labs/sdk for Node.js 22 and later, browsers, and edge runtimes.Go
github.com/idyl-labs/sdk-go, the module that defines the shared model.
