Repository navigation
editor: a plugin's start screen in a host chat; IconRefGlyph exported - #1043
Merged
Merged
Conversation
Contributor
Author
|
The |
Aymericr
force-pushed
the
feedback/plugin-chat-start
branch
from
October 13, 2026 05:12
ff03db0 to
5ff8e21
Compare
…ported PluginChatExtension.start is a lazy component the host's chat shows while its thread is empty. It acts through ChatStartProps only: send a message (pictures by reference), attach files to the composer, or requirePro() before a step that needs the level the plugin's tools run at. IconRefGlyph and IconRefImage are exported so a host renders registry icons the way the editor does. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…uirePro only asks requirePro() moved the chat to Pro as a side effect, so a step that only needs the plan (opening a picture studio) changed the effort the next message ran at. It now only asks, offering the upgrade on a plan without it; send and attach are what run at the level of the plugin's tools. The doc says that "Pro" is the hosted product's word for that level. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Aymericr
force-pushed
the
feedback/plugin-chat-start
branch
from
October 13, 2026 15:29
5ff8e21 to
c348101
Compare
This was referenced Oct 13, 2026
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.
What
PluginChatExtension.start: a lazy component a host's chat shows while its thread is empty. It acts only through the newChatStartProps:send(text, images?)sends a message now, its pictures by reference;attach(files)puts files on the next message, in the composer;requirePro()only asks whether the person's plan includes that level. It answersfalseafter the host offered the upgrade, and changes nothing in the chat. The doc says "Pro" is the hosted product's name for that level.ChatStartProps,IconRefGlyphandIconRefImageare exported from@pascal-app/editor, so a host renders registry icons the way the editor does.wiki/architecture/plugin-authoring.mddocuments the start screen.Types and exports only: no runtime change in the editor.
Reconciled with Bundle 2
Rebased onto editor main 18eb639 (#1024, Bundle 2), cleanly. Bundle 2 added exports next to these in
packages/editor/src/index.tsxand a section next to this one inplugin-authoring.md. Nothing is dropped: Bundle 2 has no start-screen contract, andIconRefGlyph/IconRefImagewere not exported yet.Why
Owner feedback (2026-10-12), slice E-start of the Architect chat feedback plan:
Steven's Architect plugin had its own start screen (story photographs, 37 styles, build from plans) inside its own panel. The hosted chat has one empty state for every engine. This contract lets a plugin contribute its start screen there without importing the host.
IconRefGlyphis the icon a host needs for plugin and entity rows.How to test
bunx turbo run check-types --filter='./editor/packages/*'passes (I ran it on this head, 9/9).start: () => import('./chat-start')where the default export takesChatStartProps. It type-checks, andimport { IconRefGlyph } from '@pascal-app/editor'resolves.Screenshots / screen recording
N/A: no visual change in the editor (types and exports). The host's start screen is shown in its own PR.
Deployment notes
Review
Fixed:
requirePro()moved the chat to Pro as a side effect, so a step that only needs the plan (opening Architect's picture studio) changed the effort the next message ran at. It now only asks;sendandattachare what run at the plugin's level.Rejected: none.
Checklist
bun dev(checked through the hosted Community dev server, not the editor'sbun dev)mainbranch🤖 Generated with Claude Code
Note
Low Risk
Additive API surface (optional
start, new exports, docs); no runtime or auth/data-path changes in the editor package.Overview
Adds a plugin chat empty-state contract: optional lazy
startonPluginChatExtensionrenders while the thread has no messages, driven only by newChatStartProps(sendwith ref images,attachfor the composer,requirePro()as a read-only plan gate).@pascal-app/editorre-exportsChatStartProps,IconRefGlyph, andIconRefImageso plugins can build start UIs and registry icons like the host.wiki/architecture/plugin-authoring.mddocuments the pattern. Types and public exports only—no editor runtime behavior in this PR; hosts wire mounting separately.Reviewed by Cursor Bugbot for commit c348101. Bugbot is set up for automated code reviews on this repo. Configure here.