Custom Providers
This section covers building and releasing your own provider packages. If you only need to configure first-party or already-published providers in a deployment, start with Providers.
What belongs here
- Implementing executable or declarative plugin providers
- Implementing custom runtime providers for hosted executable-plugin execution
- Implementing custom agent providers for session-and-turn reasoning backends
- Building custom authentication, authorization, cache, IndexedDB, S3, secrets, workflow, and UI providers
- Testing providers from local source with
source: ./manifest.yaml - Packaging releases with
gestaltd provider release
Runtime model
Custom providers use the same packaging and lifecycle model as first-party providers:
- A provider package includes a manifest plus executable code or static assets.
gestaltdresolves the package from a local manifest path or a publishedprovider-release.yamlmetadata URL.- Executable providers, including runtime providers themselves, start as child processes and connect back to the host over gRPC on a temporary Unix socket.
- Runtime providers may then launch hosted plugin processes in a separate session or sandbox and bridge those plugins back to the host.
- UI providers are static asset bundles served under configured public path prefixes.
- Published packages are prepared with
gestaltd initand referenced fromgestalt.lock.json.
Choose a starting point
- Plugin: custom tool providers, executable operations, declarative surfaces, and hybrid catalogs
- Agent: custom session-and-turn agent providers and tool callbacks
- Runtime: hosted runtime backends for executable plugins
- Authentication: platform login providers and optional bearer token validation
- Authorization: subject authorization decision and control-plane providers
- Cache: plugin-bound cache backends
- IndexedDB: custom storage backends for system state
- S3: custom object-store backends for executable plugins
- Secret: secret managers for structured secret refs resolution
- Workflow: workflow run, schedule, and event-trigger providers
- UI: public UI bundles served under configured path prefixes
- Releasing: packaging, platform builds, and release archives