Skip to content

Host components

bb 0.43.3SDK 0.4.104pinned e865697 (desktop-v0.43.3)

stable Plugin backend Show on the zone map

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.

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.