Draft
Conversation
Replace the agent-centric org home with a file-browser home that shows folders and recent artifacts. Users think in files and folders, not agents. - Add mock artifact data (slides, reports, sites) and folder definitions - Add ArtifactCard, FolderCard, FileBrowserHome, FolderView components - Change decopilot home to show file browser in main panel + chat sidebar - Conditionally render home chat variant only when main panel is closed Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Wire quick actions to create chat tasks with relevant prompts - Add "All Files" view with search and type filtering - Add "See all" link from recent section Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Keep the home layout the same (chat-first, full width) but reframe agent icons as action items (New Site, New Diagnostic) and add folders + recent files below. Reverts the file-browser-in-main-panel approach in favor of keeping everything in the chat home view. - Revert decopilot defaults back to chat-only (no main panel) - Create QuickActions component with action items + folders + recent files - Replace AgentsList with QuickActions in HomeEmptyState - Make home scrollable to accommodate the new sections below Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Sidebar: relabel agents as projects throughout (popover, tooltips, labels) - Tasks panel: on org home, show ALL tasks across projects with project name label under each task row - useTasks: support empty virtualMcpId to fetch all tasks unfiltered - Home: remove Folders section, keep action items only - Layout: open tasks panel by default on org home so users see all tasks Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Tasks panel is always the same: shows ALL tasks with project labels, regardless of whether you're on org home or inside a project - Remove SpaceIdentityHeader, ProjectViewsSection, PinnedViewIcon from tasks panel (no longer needed with unified view) - Sidebar hover: replace X/unpin icon with Settings icon that navigates to project settings - Sidebar click still creates a new task for that project Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Project settings now shows: - Tab: "Agents" instead of "Connections" - Empty state: "No agents yet" - Add dialog: "Add Agent" - Delete: "Delete Project?" - Home: "New project" instead of "Create agent" - Layout tab references updated Connections still exist under agents — the hierarchy is Projects > Agents > Connections. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Real structural separation, not just label renames: Sidebar: - Filter to top-level projects only (Virtual MCPs that are NOT children of other Virtual MCPs are shown; nested agents are hidden) - getChildVirtualMcpIds() computes which VMCPs are agents inside projects Project settings (Agents tab): - Partitions children into agents (Virtual MCP children) vs regular connections, rendering AgentItem cards for agents - AgentItem shows avatar, name, connection count, click to navigate to agent's own settings - "Add Agent" button opens AddAgentDialog to browse/create agents - Regular connections shown under "Direct Connections" sub-section AddAgentDialog (new file): - Browse existing Virtual MCPs to add as agents to a project - "Create new" button creates a fresh agent and adds it - Excludes current project, already-added agents, and decopilot Task navigation: - Clicking a task from a different project navigates to that project's route with the task selected (cross-project navigation) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Projects are now distinct from agents: - Projects have metadata.type = "project" and are shown in sidebar - Agents are regular Virtual MCPs without the flag — only visible inside project settings, not in sidebar - New useCreateProject hook creates VMCPs with the project flag - Sidebar + popover only show projects, not agents - Home "New project" uses createProject This means the sidebar is clean — only user-created projects appear. Agents (Site Editor, custom agents, etc.) live inside projects. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Projects and agents now have completely different UIs: Project home (default when entering a project): - Shows files in a clean visual list (FileCard components) - Project title and description at top - Empty state prompts user to start working - Main panel opens by default (files visible + chat) Project settings (simple): - Just name, icon, description + agents list - Add/remove agents with AgentCard components - Delete project dialog - No instructions, no connections, no layout tabs Agent settings (unchanged): - Instructions, connections, layout tabs - Full VirtualMcpDetailView as before Layout defaults: - Projects: main panel open (files) + chat open - usePanelState accepts isProject option - Shell layout detects project via metadata.type Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- "New Diagnostic" creates a project titled "New Diagnostic" with the diagnostics agent pre-assigned (if recruited), then navigates in - "New Site" opens the site editor onboarding (needs setup first) - "New project" creates a blank project - useCreateProject now accepts title and agentIds params Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Clicking "New Slides" on the home page creates everything in one shot: 1. HTTP connection to slide-maker.decocms.com 2. "Slide Maker" agent with that connection 3. "My Slides" project with the agent + default UI set to slide_maker tool 4. Navigates to the project The project's defaultMainView is set to ext-apps/slide_maker so the slide editor opens automatically as the main panel. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Swap chat and main content panels to match Conductor layout: - Panel 1 (left): Tasks - Panel 2 (center): Chat - Panel 3 (right): Main content / Layout Add ContentToolbar at top of the right panel: - Shows icons for available UI tools from the project's agents (reads from pinnedViews or defaultMainView metadata) - Settings icon on the right - Only renders for projects (not agents or decopilot) Toolbar toggle buttons in the top bar reordered to match. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Remove rounded-[inherit] from content area below ContentToolbar so the UI tool renders edge-to-edge under the toolbar - Add Files icon (first in toolbar) that shows the project file browser - Files icon is active when no specific tool view is selected Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Each project can store tool-specific input in its metadata at
metadata.ui.layout.defaultMainView.toolInput. This is passed through
to the MCPAppRenderer when the tool UI opens.
For slides: a project can store { deckId: "xxx" } so opening the
project opens THAT specific deck, not the full deck browser.
- AppRenderer accepts optional toolInput prop
- AppViewContent threads toolInput to AppRenderer
- agent-home.tsx reads toolInput from project metadata for ext-apps view
This enables the "each slide deck = its own project" pattern without
changing the slide-maker MCP app.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ings - Content toolbar: swap Settings01 (key-like) for Settings02 (gear), File06 for FolderClosed (more recognizable) - Project settings: add Layout section showing connections from agents that may have UIs, click to set as default view for the project - Layout section traverses project → agents → connections to find all real connections and shows them with the agent they belong to Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Files icon now navigates to ?main=files which is handled explicitly
in agent-home.tsx to render ProjectHome (file browser) instead of
falling through to the entity's defaultMainView (which would show
the tool UI again).
- ContentToolbar: Files button uses openMainView("files")
- agent-home.tsx: check search.main === "files" before resolving
default view, render ProjectHome
- isFilesActive reads raw search param
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
When inside a project, the agent selector popover now only shows agents that belong to that project — not all org agents. - Add ProjectScopeProvider context with agentIds Set - Shell layout wraps Chat.Provider in ProjectScopeProvider when entity is a project, passing its connection IDs as agent IDs - VirtualMCPPopoverContentInner auto-reads useProjectScope() and filters the agent list to only scoped IDs - Default chat (no agent selected) works as decopilot routing within the project's tool context Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…tyle Files view: - Projects default to file browser when no ?main= param is set - ?main=files explicitly shows file browser - Entity defaultMainView only applies when ?main=ext-apps is in URL Toolbar styling: - Icons now use same size-7 ghost button style as top bar layout toggles - 16px icon size, sidebar-accent active state, sidebar-foreground colors - Toolbar height matches top bar (h-10) - Tool icons use AgentAvatar at xs size - Settings uses Settings02 (gear) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Task panel improvements: - Each task row shows the project icon + name (AgentAvatar) - Filter icon in header opens dropdown with: - No grouping (default, flat list) - Group by project (accordion sections) - Group by status (accordion sections) - Filter by specific project (shows only that project's tasks) - Active filter state shown with highlighted filter icon - ProjectInfo type carries both name and icon - Grouped view shows section headers with task count Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Remove onTaskSelect override so TaskListContent's cross-project navigation runs (navigates to /$org/$projectId/?taskId=...) - Filter projectNames to only include entities with metadata.type="project" so task labels show project names, not agent names Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
When clicking a task from the task panel, the navigation now includes the project's defaultMainView (ext-apps/slide_maker etc.) in the URL search params. This means clicking a task from a slides project opens the slide editor, not just the files view. - ProjectInfo now carries defaultView from entity metadata - handleSelect builds search params with main/id/toolName from defaultView - side-panel-tasks reads layout.defaultMainView from each project Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Each task now remembers its own layout state: - Chat panel open/closed - Content panel open/closed - Which main view was active (files, ext-apps, settings) Tasks panel state is global (not per-task). Implementation: - task-layout-store.ts: localStorage-based store keyed by taskId - usePanelState saves layout whenever URL params change with a taskId - Task click handler reads saved state, falls back to project default - Max 200 entries with automatic pruning Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Contributor
🧪 BenchmarkShould we run the Virtual MCP strategy benchmark for this PR? React with 👍 to run the benchmark.
Benchmark will run on the next push after you react. |
Contributor
Release OptionsSuggested: Patch ( React with an emoji to override the release type:
Current version:
|
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.
Exploration of projects, folders, file system and agents
Summary by cubic
Introduces a project-centric, file‑first UX: projects contain agents, open to a Files view with a new content toolbar, and the tasks panel now shows all tasks across projects. The home screen adds quick actions (e.g., New Project, New Slides) that create scoped projects and route users into the right UI.
New Features
toolInputfrom project metadata into app rendering to open a specific resource (e.g., a slide deck).apps/mesh/scripts/seed-slide-project.tscreates a slides project locally for demos.Refactors
useTaskssupports an emptyvirtualMcpIdto fetch all tasks unfiltered.ArtifactCard,FolderCard,FileBrowserHome,FolderView,ContentToolbar,task-layout-store, mock artifacts).Written for commit 90dc4fc. Summary will update on new commits.