Skip to content

Add @Plugin reference example - #2204

Open
brsbl wants to merge 4 commits into
bb/mention-relevance-core-thr_94xb8a4nk2-v3from
bb/at-plugin-example-thr_94xb8a4nk2-v3
Open

Add @Plugin reference example#2204
brsbl wants to merge 4 commits into
bb/mention-relevance-core-thr_94xb8a4nk2-v3from
bb/at-plugin-example-thr_94xb8a4nk2-v3

Conversation

@brsbl

@brsbl brsbl commented Aug 21, 2026

Copy link
Copy Markdown
Collaborator

What was wrong

The generic mention architecture needed an in-repository reference consumer that demonstrates how a plugin can expose searchable identities without owning cross-resource ranking policy. The earlier example also treated description-only hits like identity matches and did not preserve plugin IDs as identity aliases.

What changed

Adds examples/plugins/at-plugin, a backend-only reference plugin named @Plugin with an AtIcon asset and two providers on the normal @ trigger:

  • Installed reads live plugin inventory, keeps running plugins with an agent-facing skill, tool, or CLI, and orders exact name/ID, prefix name/ID, substring name/ID, then description-only matches.
  • Community searches bb's reviewed bb-community catalog and returns only compatible, uninstalled entries, with identity matches ahead of catalog-only fallback matches.

Both providers emit bounded plugin-ID aliases through experimental_searchAliases; the generic client policy decides how those identities compare with other resource sources. Selection is revalidated at send time. Installed mentions attach advisory context for capabilities already available to the agent, while Community mentions explicitly remain unavailable until the user installs them. Mentioning never grants installation consent or invokes a target plugin.

The example remains version 0.1.0 with engines.bb >=0.0 and engines.bbPluginSdk >=0.4.8. It changes no shared SDK/version/engine floor and does not ship or submit a marketplace plugin.

How you verified

  • Replayed conflict-free onto parent head bbf34d7960901ca6c5506efec32d552c4b5f4d5d; exact PR head is 22ca168b73b6120c112efe8dd9e6bab9a345a993.
  • Turbo test and typecheck passed all 6 tasks. The example passed 4 files / 72 tests covering identity and description tiers, alias propagation, catalog eligibility, context bounds, provider isolation, timeouts, send-time revalidation, and no target invocation.
  • git diff --check passed for the exact child layer.
  • The exact parent and child desktop dev apps used the same fictional project, route, query, and 1280×900 native window bounds. The child installed the exact checked-in example from examples/plugins/at-plugin. Five repeated query cycles, four viewport captures, and transition widths 389/390/391, 767/768/769, 1023/1024/1025, and 1919/1920/1921 all passed with no horizontal overflow. Full immutable evidence manifest.

Before — the parent has no @Plugin provider

Before: only Projects / Automations project is available

After — the exact example adds the installed-plugin result first

After: Installed / Automations appears above Projects / Automations project

Fixes: no issue; this is the reference-consumer layer for the generic mention-relevance stack.

BB-Thread-ID: thr_94xb8a4nk2

AGENT GENERATED: by GPT-5.6

@brsbl
brsbl force-pushed the bb/at-plugin-example-thr_94xb8a4nk2-v3 branch from 8e6a184 to 6f636f5 Compare August 21, 2026 22:37
@brsbl
brsbl force-pushed the bb/at-plugin-example-thr_94xb8a4nk2-v3 branch from 6f636f5 to 22ca168 Compare August 27, 2026 07:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant