Host components
bb 0.43.3SDK 0.4.104pinned e865697 (desktop-v0.43.3)
Renders bb's conversation, prompt box, and shared app icons inside plugin pages. With this, a plugin can:
Embed bb's chat and prompt box
What it gives you
- Embed the thread view and the new-thread prompt box as components
- Seed experimental_NewThreadComposer or navigate.toCompose with initialPrompt containing @thread:<id>, @project:<id>, or @section:<id> to create mention pills with host-resolved labels; composer seeds preserve non-empty drafts
- Render message text with the same Markdown renderer bb uses
- Resolve document links and images beside a workspace or thread-storage file with Markdown.experimental_document
- Inherit bb's styling, so embedded UI matches the rest of the app
- Register inline React artwork with app.experimental_icons.register({ name, component }); namespacing is recommended, but any plugin can use any name
- Add names or override built-in app icons; conflicts between plugins use the first plugin id in lexical order and warn, while duplicate names within one plugin reject setup
- Render experimental_ProviderIcon with required providerKind (agent, machine, environment), provider={provider}, and optional fallback (Code by default). Pass an existing provider record: it reads id, logoUrl, icon, and strings.iconTint, resolving the matching kind/id slot override, then legacy unscoped overrides, then declared artwork. It fetches no metadata. Marks are decorative by default; pass aria-label for a meaningful standalone image
- Provider icons update on plugin load/reload/unload; throwing or recursive overrides fall back to supplied artwork. Use the same component for agent, machine, and environment providers
- Render experimental_Icon with a name and optional fallback; missing names try the fallback, then Zap. Registered artwork receives className and should use currentColor
- Return nothing from icon registration: bb replaces icons on plugin reload and restores previous definitions on unload. Manifest branding and SVG asset declarations remain separate
- Load the same registrations in web, desktop, and mobile's web app; manage their plugin through bb plugin build, install, reload, and remove
API
Each symbol links to the pinned commit it was read at.
experimental_Iconconstexperimental_ProviderIconconstExperimentalProviderIconPropsinterfaceExperimentalIconPropsinterfaceExperimentalIconRegistrationinterfaceExperimentalAppIconsinterfacePluginAppBuilder.experimental_iconspropertyThreadChatconstMarkdownconstMarkdownProps.experimental_documentpropertyexperimental_NewThreadComposerconst
Used by
Side chat, Provider Usage, Tasks
The brief is Markdown, written for a coding agent: what the capability is, where it registers, every SDK symbol with a pinned permalink, the rules that bite, and what done means.