Skip to content

fix: always show agent switcher and provide create-agent path in UI#792

Merged
chubes4 merged 1 commit intomainfrom
fix/agent-switcher-visibility
Mar 13, 2026
Merged

fix: always show agent switcher and provide create-agent path in UI#792
chubes4 merged 1 commit intomainfrom
fix/agent-switcher-visibility

Conversation

@chubes4
Copy link
Member

@chubes4 chubes4 commented Mar 13, 2026

Summary

Commit 1: Agent Switcher Visibility

  • AgentSwitcher was hidden when ≤1 agent existed, making it impossible to select the sole agent — all agent-dependent tabs (Memory, Manage, System Tasks, Tools) showed empty "Select an agent" messages with no way to do so
  • Now always renders when ≥1 agent exists (even single-agent installs need to see which agent is active)
  • Auto-selects the sole agent when only one exists and none is selected
  • Adds a + Create Agent option at the bottom of the dropdown — available on all pages that use the switcher (Agents, Pipelines, Jobs)
  • Shows a Create Agent button when zero agents exist (first-run experience)
  • Extracts CreateAgentModal into a shared component so both the switcher and the Agent list tab can reuse it
  • Newly created agents are auto-selected in the store

Commit 2: Shared Layer, Agent Scoping, Layer Grouping

Memory tab — shared layer (SITE.md):

  • AgentFileAbilities::executeListAgentFiles() now scans the shared directory in addition to agent and user dirs
  • Each file is tagged with a layer field (shared, agent, user)
  • resolveFilePath() also checks the shared directory so SITE.md can be read
  • REST endpoint now forwards agent_id from request to abilities (was only passing user_id)
  • UI groups files into Site / Agent / User sections with small header labels
  • Shared files are shown without delete button (read-only in the sidebar)

Pipeline & Flow creation — agent_id scoping:

  • Pipelines::handle_create_pipeline() now carries agent_id from the interceptor to the ability
  • Flows::handle_create_flow() same fix
  • Front-end createPipeline() and createFlow() include agent_id from the Zustand store in the POST body
  • Without this, new pipelines/flows created while an agent was selected got agent_id=NULL and became invisible

Data fix (manual):

  • Existing pipelines/flows with agent_id=NULL assigned to chubes-bot (agent_id=3) via DB update

The AgentSwitcher was hidden when ≤1 agent existed, making it impossible
to select the sole agent — leaving all agent-dependent tabs inaccessible.

- Always render switcher when ≥1 agent exists (even single-agent installs)
- Auto-select the sole agent when only one exists and none is selected
- Add '+ Create Agent' option to the dropdown on all pages
- Show a 'Create Agent' button when zero agents exist
- Extract CreateAgentModal into shared component for reuse
- Auto-select newly created agents in the store
@github-actions
Copy link

github-actions bot commented Mar 13, 2026

Homeboy Results — data-machine

Lint

⚡ Scope: changed files only

lint (changed files only)

Test

⚡ Scope: changed files only

test (changed files only)

Audit

⚡ Scope: changed files only

audit (changed files only)

Tooling versions
  • Homeboy CLI: homeboy 0.74.1+1b1cb274
  • Extension: wordpress from https://github.com/Extra-Chill/homeboy-extensions
  • Extension revision: unknown
  • Action: Extra-Chill/homeboy-action@v1

Homeboy Action v1

@chubes4 chubes4 merged commit 7dabeb4 into main Mar 13, 2026
3 checks passed
@chubes4 chubes4 deleted the fix/agent-switcher-visibility branch March 13, 2026 16:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant