Skip to content

Core concepts

A workspace is the isolated deployment boundary. It owns providers, source, API keys, runtime URL, billing, and one optional custom domain.

A namespace groups model names. A model ID is always <namespace>/<code>, such as assistant/support. Use that full ID in runtime requests and when one model invokes another.

A model is TypeScript source exporting one Executor. It receives a normalized program and uses ctx.invoke() or ctx.invokeStream() to call an upstream provider or another model.

A tool exports a Tool object with JSON Schema and an async execute method. Attach it to models in the dashboard. The deployment generator wraps those models with the SDK tool loop, so source code does not manually create another tool loop.

An upstream provider holds the provider base URL, protocol style, and credential used by your models. Your executor targets its models using the provider code, for example openai/gpt-5.

Built-in managed models use default/<model> or fast/<model> instead. They need no provider configuration. Start with Built-in providers and add an upstream provider only when you need your own account or endpoint.

The platform signs a scoped runtime key for your workspace. Clients use it as a Bearer token. Rotate it when needed; its full value is only available when the dashboard creates or rotates it.

A transform is a named, capability-scoped program edit. Apply transforms for cross-cutting changes such as adding a policy prompt, editing message content, or filtering provider-specific fields.