View Extensions
A View Extension is the standard contract for adding an interactive plugin view to an Xpert host surface. It defines where the view appears, when it is visible, which data and operations it can use, and how it is rendered. For Assistant Workbench, a Remote Component is one View Extension rendering mode. It owns the custom UI inside an iframe; the View Extension owns the host slot, feature activation, permissions, data, and action contract.Core concepts
A Remote Component is not a standalone plugin type and cannot register itself without a manifest. A complete Workbench UI normally combines a server-side View Provider with a frontend Remote Component.
Hosts and slots
hostType identifies a host category. The platform can expose agent, project, knowledgebase, integration, and sandbox hosts.
Assistant Workbench uses the agent host. Common slots include:
A plugin can only contribute to slots declared by the host. Slot names describe product placement, not plugin business domains.
Feature activation
Assistant Workbench slots requireactivation.requiredFeatures. A Feature is the capability token that connects Agent functionality with its human-facing Workbench view:
View Providers
Register a provider with@ViewExtensionProvider(providerKey):
review manifest from provider contract_review becomes contract_review__review.
Choose a rendering mode
The manifestview.type selects the renderer:
Prefer a declarative renderer when it meets the product need. Use a Remote Component when the interaction and layout clearly exceed the platform table, list, or form surface.
The manifest is a capability allowlist
The manifest describes both the view and the host capabilities available to it:
A Remote Component must not treat the bridge as a generic RPC tunnel. Declare every data or operation capability in the manifest before the host and provider handle it.
Opening and rendering are independent
A host can list a view from a slot, or a tool result can open it on demand withxpert.extension_view. This changes only the entry path; the manifest, permissions, provider data, and Remote Component implementation remain the same.
A tool result should contain only the public view key, initial query, and business parameters. Do not include access tokens, API URLs, Assistant IDs, tenant IDs, or organization IDs.
Security boundary
- The host resolves
hostType,hostId, tenant, organization, and user from authenticated server-side state. - The platform validates manifests and filters them by feature activation and permissions.
- Remote Components do not receive access tokens, platform API URLs, or internal host identity fields.
- Providers must re-check business permissions and must not trust iframe-supplied business identifiers on their own.
- Use JSON actions for bounded structured data and dedicated capabilities for files or large payloads.
Next steps
- Workbench Remote Components: build a custom plugin Workbench UI.
- Remote Component Host Bridge: map messages to manifest declarations and provider methods.
- Runtime Capabilities: consume platform services from plugin server code.