diff --git a/packages/ui/src/components/agent-selector.tsx b/packages/ui/src/components/agent-selector.tsx index a06568d9..b5c6d5da 100644 --- a/packages/ui/src/components/agent-selector.tsx +++ b/packages/ui/src/components/agent-selector.tsx @@ -31,10 +31,10 @@ export default function AgentSelector(props: AgentSelectorProps) { const availableAgents = createMemo(() => { const allAgents = instanceAgents() if (isChildSession()) { - return allAgents + return allAgents.filter((agent) => !agent.hidden) } - const filtered = allAgents.filter((agent) => agent.mode !== "subagent") + const filtered = allAgents.filter((agent) => !agent.hidden && agent.mode !== "subagent") const currentAgent = allAgents.find((a) => a.name === props.currentAgent) if (currentAgent && !filtered.find((a) => a.name === props.currentAgent)) { @@ -103,10 +103,10 @@ export default function AgentSelector(props: AgentSelectorProps) { >
> - {(state) => ( + {() => (
- {t("agentSelector.trigger.primary", { agent: state.selectedOption()?.name ?? t("agentSelector.none") })} + {t("agentSelector.trigger.primary", { agent: props.currentAgent || t("agentSelector.none") })}
)} diff --git a/packages/ui/src/components/unified-picker.tsx b/packages/ui/src/components/unified-picker.tsx index 70a0be97..76d7cb7a 100644 --- a/packages/ui/src/components/unified-picker.tsx +++ b/packages/ui/src/components/unified-picker.tsx @@ -287,13 +287,14 @@ const UnifiedPicker: Component = (props) => { if (mode() !== "mention") return const query = props.searchQuery.toLowerCase() + const visibleAgents = props.agents.filter((agent) => !agent.hidden) const filtered = query - ? props.agents.filter( + ? visibleAgents.filter( (agent) => agent.name.toLowerCase().includes(query) || (agent.description && agent.description.toLowerCase().includes(query)), ) - : props.agents + : visibleAgents setFilteredAgents(filtered) }) diff --git a/packages/ui/src/stores/session-api.ts b/packages/ui/src/stores/session-api.ts index 9fd12b2c..6c904fd7 100644 --- a/packages/ui/src/stores/session-api.ts +++ b/packages/ui/src/stores/session-api.ts @@ -526,6 +526,7 @@ async function fetchAgents(instanceId: string): Promise { name: agent.name, description: agent.description || "", mode: agent.mode, + hidden: agent.hidden, model: agent.model?.modelID ? { providerId: agent.model.providerID || "", diff --git a/packages/ui/src/types/session.ts b/packages/ui/src/types/session.ts index d0a864d5..ab7f6c89 100644 --- a/packages/ui/src/types/session.ts +++ b/packages/ui/src/types/session.ts @@ -68,6 +68,7 @@ export interface Agent { name: string description: string mode: string + hidden?: boolean model?: { providerId: string modelId: string