Repository navigation
Conversation
Builderlab registers its hosted type whole from its UI entry: its provider steps use the sign-in that lives there. Once agents run in another page, the screens' page lists such a type with the service and keeps what it shows. The service adds a stand-in whose provider steps and readiness checks are answered back in the screens' page, with each step's abort carried across, and the type's readiness pushed as data when it changes. A reloaded service is told the types again; a step left unanswered by a screens' page that reloaded ends with an error. A type that runs its agents in the screens' page, or has parts only an agent entry can give, is refused there with an error that names the need for an agent entry. Nothing uses this yet. Co-authored-by: Larry <627498bd4bd1f281a16431e3c6cce3b5c25b6692798c78672298aefbf2f8f8b5@buzz.block.builderlab.xyz> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Logan Johnson <loganj@squareup.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖
Summary
Details
hosted-port.tshas two halves:hostedClient(screens' page):register(type, owner)sends the type's id, title, description,defaults()value, provider steps and readiness to the service. What the type shows (Create fields, tabs, provider dialog, config functions) stays in this page, throughpresent.serveHosted(agents page): it registers a stand-in type. Itsprovision,activate,profile,interruptandremovesteps, and its providercheckand attention action, are forwarded to the screens' page.signalis carried across: when the service aborts it, the screens' page's step sees its own signal abort.serveAgentsnow takes{ addTool, register }instead of a bareaddTool.remote), or one with parts that only an agent entry can give (run,models,usage,sessions,sessionControls,syncedSettings,expose, …). The error says that its plugin needs an agent entry. No bundled or installed plugin registers such a type from its UI entry.Testing
service.test.ts: the real agents service, with a hosted type that the screens' page registers. The type's Create field and provider dialog are shown from the screens' page; its readiness reaches the service and changes there; creating an agent runsprovisionandactivatein the screens' page; removing it runsremove.port.test.ts, over a JSON event bus:usage, are refused.tsc --noEmit, Biome, andvitest run src/features/agents src/buzz-mcp(866 passed) pass.🤖 Generated with Claude Code