diff --git a/examples/personal-hub/hub/plugins/subagents.ts b/examples/personal-hub/hub/plugins/subagents.ts
index 7695db2..d363019 100644
--- a/examples/personal-hub/hub/plugins/subagents.ts
+++ b/examples/personal-hub/hub/plugins/subagents.ts
@@ -98,7 +98,7 @@ export const subagents: AgentPlugin = {
if (Number(remaining[0]?.c ?? 0) === 0) {
ctx.agent.runState.status = "running";
ctx.agent.runState.reason = undefined;
- ctx.agent.emit(AgentEventType.RUN_RESUMED, {});
+ ctx.agent.emit(AgentEventType.AGENT_RESUMED, {});
await ctx.agent.ensureScheduled();
}
@@ -252,7 +252,7 @@ export const subagents: AgentPlugin = {
if (runState && runState.status === "running") {
runState.status = "paused";
runState.reason = "subagent";
- ctx.agent.emit(AgentEventType.RUN_PAUSED, {
+ ctx.agent.emit(AgentEventType.AGENT_PAUSED, {
reason: "subagent",
});
}
@@ -324,7 +324,7 @@ The agentId is returned in the result object of the task tool (e.g., {"agentId":
if (runState && runState.status === "running") {
runState.status = "paused";
runState.reason = "subagent";
- ctx.agent.emit(AgentEventType.RUN_PAUSED, { reason: "subagent" });
+ ctx.agent.emit(AgentEventType.AGENT_PAUSED, { reason: "subagent" });
}
return null; // Result comes via subagent_result action
diff --git a/examples/personal-hub/ui/App.tsx b/examples/personal-hub/ui/App.tsx
index 802482c..95507e5 100644
--- a/examples/personal-hub/ui/App.tsx
+++ b/examples/personal-hub/ui/App.tsx
@@ -1,39 +1,35 @@
import { useState, useMemo, useEffect, useCallback, StrictMode } from "react";
-import { useLocation, useRoute } from "wouter";
+import { useLocation } from "wouter";
import {
- Sidebar,
ContentHeader,
ChatView,
TraceView,
FilesView,
- TodosView,
SettingsView,
ConfirmModal,
- MindPanel,
- HomeView,
- type TabId,
+ ErrorBoundary,
+ ToastProvider,
+ useToast,
+ TopHeader,
+ TabBar,
+ CommandPalette,
+ AgentPanel,
+ BottomPanel,
type Message,
- type Todo,
+ type OpenTab,
} from "./components";
import {
useAgencies,
useAgency,
useAgent,
usePlugins,
- useActivityFeed,
- useAgencyMetrics,
setStoredSecret,
QueryClient,
QueryClientProvider,
} from "./hooks";
-import type { AgentBlueprint, ChatMessage, ToolCall as APIToolCall } from "agents-hub/client";
+import type { AgentBlueprint, ChatMessage, ToolCall as APIToolCall, AgentSummary } from "agents-hub/client";
import { createRoot } from "react-dom/client";
-import {
- type ScheduleSummary,
- type DashboardMetrics,
- convertChatMessages,
- isSystemBlueprint,
-} from "./components/shared";
+import { convertChatMessages } from "./components/shared";
const queryClient = new QueryClient({
defaultOptions: {
@@ -48,11 +44,6 @@ const queryClient = new QueryClient({
// Helper Functions
// ============================================================================
-// System blueprints start with _ and are hidden from the picker
-function isSystemBlueprintLocal(bp: AgentBlueprint): boolean {
- return bp.name.startsWith("_");
-}
-
// Blueprint picker component
function BlueprintPicker({
blueprints,
@@ -63,8 +54,7 @@ function BlueprintPicker({
onSelect: (bp: AgentBlueprint) => void;
onClose: () => void;
}) {
- // Filter out system blueprints
- const visibleBlueprints = blueprints.filter((bp) => !isSystemBlueprintLocal(bp));
+ // All blueprints are visible (no filtering)
return (
@@ -81,13 +71,13 @@ function BlueprintPicker({
- {visibleBlueprints.length === 0 ? (
+ {blueprints.length === 0 ? (
// NO BLUEPRINTS AVAILABLE
) : (
- {visibleBlueprints.map((bp) => (
+ {blueprints.map((bp) => (