feat(web): seat the plan control on conversation.input.plan over the projection
Rewrite ui-plan as a pure browser surface plugin. The control occupies the composer's named plan seat (declared empty by ui-conversation); reads render the host-computed plan projection through the standard-kit useProjection (absent key = capability absence, hides the control), writes execute /plan or /plan off through command.execute. The node half becomes the empty roster apply: plan behavior (command, policy, projection unit) is owned by dsh-plan-mode, already composed on the web roster with its policy in cordis.yml. The superseded RPC-backed setPlanMode face, the WEB_PLAN_SECTION duplicate, and the node-plugin spec are removed; the roster row moves from the retired CLIENT_PACKAGES table to the cordis.yml dshClient roster.
This commit is contained in:
@@ -320,6 +320,10 @@
|
||||
- id: ui-model
|
||||
name: '@deepseek-ai/dsh-client-ui-model'
|
||||
|
||||
# Plan control: the composer plan seat over the plan projection + /plan channel.
|
||||
- id: ui-plan
|
||||
name: '@deepseek-ai/dsh-client-ui-plan'
|
||||
|
||||
- id: ui-question
|
||||
name: '@deepseek-ai/dsh-client-ui-question'
|
||||
|
||||
|
||||
Reference in New Issue
Block a user