adapter sdk
Build server-side adapters that DSUI can render safely.
An adapter is a small TypeScript program that connects one service to the DSUI workspace. It describes how to connect, read data, perform actions, and compose the service’s workflows. DSUI handles execution, refreshing, lifecycle, and rendering.
The adapter mental model is deliberately small:
connection + context
├── resources (reads)
├── actions (commands)
├── jobs (background work)
├── signals (events)
├── stores (state)
└── pages (workflow)| Primitive | Use it for | Docs |
|---|---|---|
| Resource | External data | Read-only data sources managed by the runtime |
| Action | Commands and mutations | Side effects with abort, invalidation, store access |
| Jobs | Background work | Scheduled polling for each configured service |
| Signals | Events | Typed, durable events emitted into DSUI’s event stream |
| Page | Routes | Compose components with typed params and stores |
| Store | Local UI state | Client/session state with persistence |
| Component | Reusable UI | Server composites and browser components |
| Context | Per-instance clients | Built during adapter initialization |
Keep external data in resources. Keep side effects in actions. Keep local or persistent UI state in stores. Adapters use DSUI’s shared components instead of shipping a separate application. A limited browser component is available when a service needs a specialized interaction.
DSUI ships 28 builtin components for building pages — tables, cards, forms, layouts, and more.
Start with create an adapter, then read the resource, action, page, and store guides. The same SDK can be used for a private adapter around an internal service, but the primary use case is connecting the systems already present in a data or infrastructure stack.
Read the contribution guide before opening a PR.