Skip to content

[front] feat: add conversation_side_panel MCP server to open frames - #30199

Merged
frankaloia merged 9 commits into
mainfrom
frank/conversation-side-panel
Aug 10, 2026
Merged

[front] feat: add conversation_side_panel MCP server to open frames#30199
frankaloia merged 9 commits into
mainfrom
frank/conversation-side-panel

Conversation

@frankaloia

@frankaloia frankaloia commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds a new internal MCP server (conversation_side_panel) with two tools:
    • open_frame: opens a specific file frame in the side panel by file ID
    • set_files_side_panel: shows or hides the conversation files panel
  • The purpose is that for activation I need more control over the visualization to avoid a confusing experience I've seen from some customer sessions. I need the agent to be able to open a frame already created if it's referring to it. I also need to be able to strategically hide the files side panel to avoid confusing customers (and I don't think this should be a global change)

Testing

  • Localhost testing with my activation agent to confirm tool calls operate as expected

Risk

Low — new server is auto_hidden_builder (not user-visible in builder) and is only auto-attached to the activation skill. No existing tool behaviour changes.

Deploy

  1. Deploy front

@vercel

vercel Bot commented Aug 7, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

2 Skipped Deployments
Project Deployment Actions Updated (UTC)
playground Ignored Ignored Preview Aug 10, 2026 6:59pm
storybook Ignored Ignored Preview Aug 10, 2026 6:59pm

Request Review

@dust-agent dust-agent Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coding rules review for PR #30199.

Comment thread front/lib/api/v1/backward_compatibility.ts
@frankaloia frankaloia added the sdk-ack Used to acknowledge that you are not breaking the public API. label Aug 7, 2026
@frankaloia
frankaloia requested a review from adrsimon August 7, 2026 14:50

@adrsimon adrsimon left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

frankaloia and others added 8 commits August 10, 2026 14:23
Adds a new internal MCP server (`conversation_side_panel`) that lets the
activation agent open/close frames in the conversation side panel instead
of rendering them inline.

- New server with two tools: `open_frame` (open a specific file frame by
  ID) and `set_files_side_panel` (show/hide the files panel)
- Registers a `side_panel_control` progress-notification output schema and
  filters it from the public v1 API (UI-only signal)
- Wires the server into `INTERNAL_MCP_SERVERS`, `getInternalMCPServer`,
  and the activation skill MCP server list
- Updates the activation skill system prompt: frames are now delivered via
  `open_frame` rather than rendered inline
- Adds BM25 search test cases for the new tools

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Same pattern as tool_approval_bubble_up and other notification types.
Avoids a type cast in backward_compatibility.ts.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
side_panel_control is now in the SDK NotificationContentSchema union,
so no cast or filtering is required here.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…e open_frame description

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Honor the activation agent's explicit files panel preference so generated-file auto-open behavior cannot override it.

Co-authored-by: Cursor <cursoragent@cursor.com>
Keep the UI-only progress signal out of v1 responses while adapting it to the rebased event type.

Co-authored-by: Cursor <cursoragent@cursor.com>
@frankaloia
frankaloia force-pushed the frank/conversation-side-panel branch from ee08376 to 3cdeaa0 Compare August 10, 2026 18:29
Honor completed panel-control actions after a conversation reload so generated files cannot reopen the files panel against the agent's instruction.

Co-authored-by: Cursor <cursoragent@cursor.com>
@frankaloia
frankaloia merged commit aeac5d8 into main Aug 10, 2026
42 checks passed
@frankaloia
frankaloia deleted the frank/conversation-side-panel branch August 10, 2026 19:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

sdk-ack Used to acknowledge that you are not breaking the public API.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants