Contributing an adapter
Use defineAdapter from @beachside/adapter to describe a provider. The definition connects through beachside using the public adapter contract. Implement only the operations the provider supports; the SDK handles resource references, validation, polling and public errors. Start with the adapter authoring guide and the copyable Acme example.
Use adapterSuite from @beachside/adapter/testing with a deterministic provider fixture. Include loss after effect, scope changes, binary output and recovery without another submission for every capability you claim. The fake provider is a simulation; it persists native effect evidence for these tests. Real-provider support requires separate native conformance evidence in the support matrix.
Develop from a checkout and use local packed artifacts for consumer qualification. Modal is a separate experimental @beachside/modal adapter with offline coverage; it is not a built-in SDK subpath or a live-qualified provider.
Choose a package shape
Section titled “Choose a package shape”| Maintenance | Consumer import | Distribution |
|---|---|---|
| Official Daytona / E2B | @beachside/daytona / @beachside/e2b |
Separately installed alongside beachside |
| Third-party | The author’s package name | Separately installed; no SDK subpath |
Follow the repository’s add-provider workflow and package conventions. The agent prompt provides a starting brief.
Validate the integration
Section titled “Validate the integration”Run focused native-boundary tests, the conformance suite, package builds and type checks, and packed consumer tests. Packed checks must install the documented top-level packages and verify external TypeScript declarations and Node/Bun execution without workspace-only dependencies.
Live acceptance is separate. Follow the qualification workflow for an explicitly authorized run with finite resource limits, durable ownership records, and confirmed cleanup. Update the reviewed provider JSON and regenerate the evidence page; never turn fixture coverage into a live pass.