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:
@@ -13,7 +13,6 @@ import { describe, expect, it } from 'vitest'
|
||||
import { Context } from 'cordis'
|
||||
import AgentRegistry from '@deepseek-ai/dsh-agent'
|
||||
import type { Agent } from '@deepseek-ai/dsh-agent'
|
||||
import { createUserMessage } from '@deepseek-ai/dsh-llm'
|
||||
import SessionStore from '@deepseek-ai/dsh-session'
|
||||
import type { Session } from '@deepseek-ai/dsh-session'
|
||||
import SystemPrompt from '@deepseek-ai/dsh-system-prompt'
|
||||
|
||||
Reference in New Issue
Block a user