Surfaces
Surfaces are the delivery mechanisms through which Capabilities are exposed to end-users. Stackmint provides Chat, Client Cockpit, Partner Cockpit, and Embedded Surface types.
A Surface is the interface through which a Capability is accessed. Stackmint decouples execution from presentation: the same Capability can be accessed through multiple Surfaces without changing its logic or governance configuration.
Surface types
Chat — A conversational interface where users interact with Capabilities using natural language. The Chat Surface includes an extraction layer that parses user messages and maps them to Branch expected inputs. This is the most flexible Surface for non-technical users. See Chat documentation.
Client Cockpit — The Workspace control plane for end-users. It provides structured forms for triggering Capabilities with explicit inputs, execution history, and rendered output display. More appropriate than Chat when input structure is complex or when a form-based UX is preferred.
Partner Cockpit — The management interface for Stackmint partners. Partners use it to manage client Workspaces, monitor Capability health, track revenue, and publish Branches. Not a Capability execution Surface — it is an operational management Surface.
Embedded — Capabilities embedded directly into third-party applications via iFrame or JavaScript embed. The Embedded Surface provides a sandboxed execution environment with configurable authentication and a token-based session model. See Embedded Surfaces.
Surface-Capability binding
A Capability can be exposed through one or more Surfaces simultaneously. The binding is configured in the Capability installation settings. Each Surface binding can have its own access control layer — for example, a Capability could be accessible to all users via Chat but restricted to admins in the Client Cockpit.
Output rendering
Each Surface uses the Workspace's installed Renderer to display Capability outputs. The Renderer adapts its output format to the Surface type — compact cards in Chat, full-width layouts in the Cockpit. If no Renderer is installed, the Surface displays the raw output as formatted JSON.
Authentication
Surfaces authenticate users via Supabase session tokens. The Embedded Surface additionally supports token-based authentication for embedding into authenticated third-party applications, where the host application passes a signed embed token that scopes the user's access to specific Capabilities.