From 86220f7d283beda5fc634033eff34a6e8d2962f8 Mon Sep 17 00:00:00 2001 From: Pedram Amini Date: Wed, 17 Dec 2025 14:52:17 -0600 Subject: [PATCH] I'm ready to analyze the Github project changes and create an exciting update summary! However, I don't see any input provided after "INPUT:" in your message. Please share the changelog, commit history, release notes, or any other information about what changed in the Github project since the last release, and I'll create a clean CHANGES section with exciting 10-word bullets and emojis for you. --- .github/instructions/memory.instruction.md | 5 ++ .github/workflows/release.yml | 12 ++++ src/__tests__/main/agent-capabilities.test.ts | 1 + .../components/AgentSessionsBrowser.test.tsx | 12 ++-- .../renderer/components/InputArea.test.tsx | 8 +++ .../renderer/components/MainPanel.test.tsx | 12 ++-- .../components/QuickActionsModal.test.tsx | 4 +- .../renderer/hooks/useSessionManager.test.ts | 16 +++++ src/renderer/App.tsx | 48 +++++++------- .../components/AgentSessionsBrowser.tsx | 22 +++---- src/renderer/components/MainPanel.tsx | 22 +++---- src/renderer/components/NewInstanceModal.tsx | 2 +- src/renderer/components/QuickActionsModal.tsx | 6 +- src/renderer/components/SessionListItem.tsx | 6 +- src/renderer/hooks/index.ts | 8 +-- ...gement.ts => useAgentSessionManagement.ts} | 66 +++++++++---------- src/renderer/hooks/useMainKeyboardHandler.ts | 2 +- src/renderer/hooks/useSessionManager.ts | 9 +-- 18 files changed, 152 insertions(+), 109 deletions(-) create mode 100644 .github/instructions/memory.instruction.md rename src/renderer/hooks/{useClaudeSessionManagement.ts => useAgentSessionManagement.ts} (83%) diff --git a/.github/instructions/memory.instruction.md b/.github/instructions/memory.instruction.md new file mode 100644 index 00000000..e4da59c9 --- /dev/null +++ b/.github/instructions/memory.instruction.md @@ -0,0 +1,5 @@ +--- +applyTo: '**' +--- + +Remembered number: 42 \ No newline at end of file diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3f18fe75..676c6dfd 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -242,6 +242,7 @@ jobs: fi - name: Create Release + id: create_release if: steps.check_artifacts.outputs.has_artifacts == 'true' uses: softprops/action-gh-release@v2 with: @@ -255,3 +256,14 @@ jobs: generate_release_notes: true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Notify Discord + if: steps.check_artifacts.outputs.has_artifacts == 'true' + uses: sarisia/actions-status-discord@v1 + with: + webhook: ${{ secrets.DISCORD_WEBHOOK_URL }} + nodetail: true + title: "🎉 Maestro ${{ github.ref_name }} Released!" + description: "A new version of Maestro is now available. Check out the release for download links and changelog." + url: ${{ github.server_url }}/${{ github.repository }}/releases/tag/${{ github.ref_name }} + color: 0x58B09C diff --git a/src/__tests__/main/agent-capabilities.test.ts b/src/__tests__/main/agent-capabilities.test.ts index be266675..0e073bd6 100644 --- a/src/__tests__/main/agent-capabilities.test.ts +++ b/src/__tests__/main/agent-capabilities.test.ts @@ -249,6 +249,7 @@ describe('agent-capabilities', () => { 'supportsStreaming', 'supportsResultMessages', 'supportsModelSelection', + 'requiresPromptToStart', ]; const defaultKeys = Object.keys(DEFAULT_CAPABILITIES); diff --git a/src/__tests__/renderer/components/AgentSessionsBrowser.test.tsx b/src/__tests__/renderer/components/AgentSessionsBrowser.test.tsx index bba3c766..76f46990 100644 --- a/src/__tests__/renderer/components/AgentSessionsBrowser.test.tsx +++ b/src/__tests__/renderer/components/AgentSessionsBrowser.test.tsx @@ -152,7 +152,7 @@ let projectStatsCallback: ((stats: unknown) => void) | null = null; const createDefaultProps = (overrides: Partial[0]> = {}) => ({ theme: defaultTheme, activeSession: createMockActiveSession(), - activeClaudeSessionId: null as string | null, + activeAgentSessionId: null as string | null, onClose: vi.fn(), onResumeSession: vi.fn(), onNewSession: vi.fn(), @@ -491,7 +491,7 @@ describe('AgentSessionsBrowser', () => { it('shows active Claude session ID badge when provided', async () => { const props = createDefaultProps({ - activeClaudeSessionId: 'abc12345-def6-7890', + activeAgentSessionId: 'abc12345-def6-7890', }); await act(async () => { @@ -2351,7 +2351,7 @@ describe('AgentSessionsBrowser', () => { }); const props = createDefaultProps({ - activeClaudeSessionId: 'active-session-123', + activeAgentSessionId: 'active-session-123', }); await act(async () => { @@ -2359,7 +2359,7 @@ describe('AgentSessionsBrowser', () => { await vi.runAllTimersAsync(); }); - // When activeClaudeSessionId is provided, the component auto-jumps to detail view + // When activeAgentSessionId is provided, the component auto-jumps to detail view // Go back to list view first const backButton = screen.getByTestId('icon-chevron-left').closest('button'); await act(async () => { @@ -2378,7 +2378,7 @@ describe('AgentSessionsBrowser', () => { // ============================================================================ describe('auto-jump to session', () => { - it('auto-opens session detail when activeClaudeSessionId provided', async () => { + it('auto-opens session detail when activeAgentSessionId provided', async () => { const session = createMockClaudeSession({ sessionId: 'target-session' }); vi.mocked(window.maestro.agentSessions.listPaginated).mockResolvedValue({ sessions: [session], @@ -2393,7 +2393,7 @@ describe('AgentSessionsBrowser', () => { }); const props = createDefaultProps({ - activeClaudeSessionId: 'target-session', + activeAgentSessionId: 'target-session', }); await act(async () => { diff --git a/src/__tests__/renderer/components/InputArea.test.tsx b/src/__tests__/renderer/components/InputArea.test.tsx index 24d4fb17..88253646 100644 --- a/src/__tests__/renderer/components/InputArea.test.tsx +++ b/src/__tests__/renderer/components/InputArea.test.tsx @@ -23,6 +23,8 @@ vi.mock('../../../renderer/hooks/useAgentCapabilities', () => ({ supportsBatchMode: true, supportsStreaming: true, supportsResultMessages: true, + supportsModelSelection: false, + requiresPromptToStart: false, }, loading: false, error: null, @@ -42,6 +44,8 @@ vi.mock('../../../renderer/hooks/useAgentCapabilities', () => ({ supportsBatchMode: true, supportsStreaming: true, supportsResultMessages: true, + supportsModelSelection: false, + requiresPromptToStart: false, }; return capabilities[cap] ?? false; }), @@ -683,6 +687,8 @@ describe('InputArea', () => { supportsBatchMode: false, supportsStreaming: true, supportsResultMessages: true, + supportsModelSelection: false, + requiresPromptToStart: false, }, loading: false, error: null, @@ -719,6 +725,8 @@ describe('InputArea', () => { supportsBatchMode: false, supportsStreaming: true, supportsResultMessages: true, + supportsModelSelection: false, + requiresPromptToStart: false, }, loading: false, error: null, diff --git a/src/__tests__/renderer/components/MainPanel.test.tsx b/src/__tests__/renderer/components/MainPanel.test.tsx index 6bfa1bf0..cc186bd4 100644 --- a/src/__tests__/renderer/components/MainPanel.test.tsx +++ b/src/__tests__/renderer/components/MainPanel.test.tsx @@ -267,9 +267,9 @@ describe('MainPanel', () => { setGitDiffPreview: vi.fn(), setLogViewerOpen: vi.fn(), setAgentSessionsOpen: vi.fn(), - setActiveClaudeSessionId: vi.fn(), - onResumeClaudeSession: vi.fn(), - onNewClaudeSession: vi.fn(), + setActiveAgentSessionId: vi.fn(), + onResumeAgentSession: vi.fn(), + onNewAgentSession: vi.fn(), setActiveFocus: vi.fn(), setOutputSearchOpen: vi.fn(), setOutputSearchQuery: vi.fn(), @@ -439,16 +439,16 @@ describe('MainPanel', () => { it('should open Agent Sessions when button is clicked', () => { const setAgentSessionsOpen = vi.fn(); - const setActiveClaudeSessionId = vi.fn(); + const setActiveAgentSessionId = vi.fn(); render(); fireEvent.click(screen.getByTitle(/Agent Sessions/)); - expect(setActiveClaudeSessionId).toHaveBeenCalledWith(null); + expect(setActiveAgentSessionId).toHaveBeenCalledWith(null); expect(setAgentSessionsOpen).toHaveBeenCalledWith(true); }); diff --git a/src/__tests__/renderer/components/QuickActionsModal.test.tsx b/src/__tests__/renderer/components/QuickActionsModal.test.tsx index 6c761fc3..ab8e7b6a 100644 --- a/src/__tests__/renderer/components/QuickActionsModal.test.tsx +++ b/src/__tests__/renderer/components/QuickActionsModal.test.tsx @@ -142,7 +142,7 @@ const createDefaultProps = (overrides: Partial { fireEvent.click(screen.getByText('View Agent Sessions for Test Session')); - expect(props.setActiveClaudeSessionId).toHaveBeenCalledWith(null); + expect(props.setActiveAgentSessionId).toHaveBeenCalledWith(null); expect(props.setAgentSessionsOpen).toHaveBeenCalledWith(true); expect(props.setQuickActionOpen).toHaveBeenCalledWith(false); }); diff --git a/src/__tests__/renderer/hooks/useSessionManager.test.ts b/src/__tests__/renderer/hooks/useSessionManager.test.ts index e0773846..fb908c29 100644 --- a/src/__tests__/renderer/hooks/useSessionManager.test.ts +++ b/src/__tests__/renderer/hooks/useSessionManager.test.ts @@ -96,6 +96,22 @@ describe('useSessionManager', () => { args: ['--print'], available: true, }), + getCapabilities: vi.fn().mockResolvedValue({ + supportsResume: true, + supportsReadOnlyMode: true, + supportsJsonOutput: true, + supportsSessionId: true, + supportsImageInput: true, + supportsSlashCommands: true, + supportsSessionStorage: true, + supportsCostTracking: true, + supportsUsageStats: true, + supportsBatchMode: true, + supportsStreaming: true, + supportsResultMessages: true, + supportsModelSelection: false, + requiresPromptToStart: false, + }), }, process: { spawn: vi.fn().mockResolvedValue({ pid: 12345, success: true }), diff --git a/src/renderer/App.tsx b/src/renderer/App.tsx index 3dd863ab..f57ecdb9 100644 --- a/src/renderer/App.tsx +++ b/src/renderer/App.tsx @@ -46,7 +46,7 @@ import { useKeyboardShortcutHelpers } from './hooks/useKeyboardShortcutHelpers'; import { useKeyboardNavigation } from './hooks/useKeyboardNavigation'; import { useMainKeyboardHandler } from './hooks/useMainKeyboardHandler'; import { useRemoteIntegration } from './hooks/useRemoteIntegration'; -import { useClaudeSessionManagement } from './hooks/useClaudeSessionManagement'; +import { useAgentSessionManagement } from './hooks/useAgentSessionManagement'; import { useAgentExecution } from './hooks/useAgentExecution'; import { useFileTreeManagement } from './hooks/useFileTreeManagement'; import { useGroupManagement } from './hooks/useGroupManagement'; @@ -315,7 +315,7 @@ export default function MaestroConsole() { // Agent Sessions Browser State (main panel view) const [agentSessionsOpen, setAgentSessionsOpen] = useState(false); - const [activeClaudeSessionId, setActiveClaudeSessionId] = useState(null); + const [activeAgentSessionId, setActiveAgentSessionId] = useState(null); // NOTE: showSessionJumpNumbers state is now provided by useMainKeyboardHandler hook @@ -1513,7 +1513,7 @@ export default function MaestroConsole() { activeSessionIdRef.current = activeSessionId; // Note: spawnBackgroundSynopsisRef and spawnAgentWithPromptRef are now provided by useAgentExecution hook - // Note: addHistoryEntryRef and startNewClaudeSessionRef are now provided by useClaudeSessionManagement hook + // Note: addHistoryEntryRef and startNewAgentSessionRef are now provided by useAgentSessionManagement hook // Ref for processQueuedMessage - allows batch exit handler to process queued messages const processQueuedItemRef = useRef<((sessionId: string, item: QueuedItem) => Promise) | null>(null); @@ -1994,14 +1994,14 @@ export default function MaestroConsole() { const { addHistoryEntry, addHistoryEntryRef, - startNewClaudeSession, - startNewClaudeSessionRef, + startNewAgentSession, + startNewAgentSessionRef, handleJumpToAgentSession, handleResumeSession, - } = useClaudeSessionManagement({ + } = useAgentSessionManagement({ activeSession, setSessions, - setActiveClaudeSessionId, + setActiveAgentSessionId, setAgentSessionsOpen, addLogToActiveTab, rightPanelRef, @@ -3412,10 +3412,10 @@ export default function MaestroConsole() { return; } - // Build spawn args with resume if we have a Claude session ID + // Build spawn args with resume if we have an agent session ID // Use the ACTIVE TAB's agentSessionId (not the deprecated session-level one) const activeTab = getActiveTab(session); - const tabClaudeSessionId = activeTab?.agentSessionId; + const tabAgentSessionId = activeTab?.agentSessionId; const isReadOnly = activeTab?.readOnlyMode; // Filter out YOLO/skip-permissions flags when read-only mode is active @@ -3429,8 +3429,8 @@ export default function MaestroConsole() { ) : [...agent.args]; - if (tabClaudeSessionId) { - spawnArgs.push('--resume', tabClaudeSessionId); + if (tabAgentSessionId) { + spawnArgs.push('--resume', tabAgentSessionId); } // Add read-only/plan mode if the active tab has readOnlyMode enabled @@ -3442,12 +3442,12 @@ export default function MaestroConsole() { const targetSessionId = `${sessionId}-ai-${activeTab?.id || 'default'}`; const commandToUse = agent.path || agent.command; - console.log('[Remote] Spawning Claude directly:', { + console.log('[Remote] Spawning agent:', { maestroSessionId: sessionId, targetSessionId, activeTabId: activeTab?.id, - tabClaudeSessionId: tabClaudeSessionId || 'NEW SESSION', - isResume: !!tabClaudeSessionId, + tabAgentSessionId: tabAgentSessionId || 'NEW SESSION', + isResume: !!tabAgentSessionId, command: commandToUse, args: spawnArgs, prompt: promptToSend.substring(0, 100) @@ -3598,7 +3598,7 @@ export default function MaestroConsole() { // Build spawn args with resume if we have a session ID // Use the TARGET TAB's agentSessionId (not the active tab or deprecated session-level one) - const tabClaudeSessionId = targetTab?.agentSessionId; + const tabAgentSessionId = targetTab?.agentSessionId; const isReadOnly = item.readOnlyMode || targetTab?.readOnlyMode; // Filter out YOLO/skip-permissions flags when read-only mode is active @@ -3612,8 +3612,8 @@ export default function MaestroConsole() { ) : [...(agent.args || [])]; - if (tabClaudeSessionId) { - spawnArgs.push('--resume', tabClaudeSessionId); + if (tabAgentSessionId) { + spawnArgs.push('--resume', tabAgentSessionId); } // Add read-only/plan mode if the queued item was from a read-only tab @@ -4420,7 +4420,7 @@ export default function MaestroConsole() { setLeftSidebarOpen, setRightPanelOpen, addNewSession, deleteSession, setQuickActionInitialMode, setQuickActionOpen, cycleSession, toggleInputMode, setShortcutsHelpOpen, setSettingsModalOpen, setSettingsTab, setActiveRightTab, handleSetActiveRightTab, setActiveFocus, setBookmarksCollapsed, setGroups, - setSelectedSidebarIndex, setActiveSessionId, handleViewGitDiff, setGitLogOpen, setActiveClaudeSessionId, + setSelectedSidebarIndex, setActiveSessionId, handleViewGitDiff, setGitLogOpen, setActiveAgentSessionId, setAgentSessionsOpen, setLogViewerOpen, setProcessMonitorOpen, logsEndRef, inputRef, terminalOutputRef, sidebarContainerRef, setSessions, createTab, closeTab, reopenClosedTab, getActiveTab, setRenameTabId, setRenameTabInitialName, setRenameTabModalOpen, navigateToNextTab, navigateToPrevTab, navigateToTabByIndex, navigateToLastTab, @@ -4685,7 +4685,7 @@ export default function MaestroConsole() { setProcessMonitorOpen={setProcessMonitorOpen} setActiveRightTab={setActiveRightTab} setAgentSessionsOpen={setAgentSessionsOpen} - setActiveClaudeSessionId={setActiveClaudeSessionId} + setActiveAgentSessionId={setActiveAgentSessionId} setGitDiffPreview={setGitDiffPreview} setGitLogOpen={setGitLogOpen} isAiMode={activeSession?.inputMode === 'ai'} @@ -5114,7 +5114,7 @@ export default function MaestroConsole() { ref={mainPanelRef} logViewerOpen={logViewerOpen} agentSessionsOpen={agentSessionsOpen} - activeClaudeSessionId={activeClaudeSessionId} + activeAgentSessionId={activeAgentSessionId} activeSession={activeSession} sessions={sessions} theme={theme} @@ -5146,12 +5146,12 @@ export default function MaestroConsole() { setGitDiffPreview={setGitDiffPreview} setLogViewerOpen={setLogViewerOpen} setAgentSessionsOpen={setAgentSessionsOpen} - setActiveClaudeSessionId={setActiveClaudeSessionId} - onResumeClaudeSession={(agentSessionId: string, messages: LogEntry[], sessionName?: string, starred?: boolean) => { + setActiveAgentSessionId={setActiveAgentSessionId} + onResumeAgentSession={(agentSessionId: string, messages: LogEntry[], sessionName?: string, starred?: boolean) => { // Opens the Claude session as a new tab (or switches to existing tab if duplicate) handleResumeSession(agentSessionId, messages, sessionName, starred); }} - onNewClaudeSession={() => { + onNewAgentSession={() => { // Create a fresh AI tab if (activeSession) { setSessions(prev => prev.map(s => { @@ -5159,7 +5159,7 @@ export default function MaestroConsole() { const result = createTab(s, { saveToHistory: defaultSaveToHistory }); return result.session; })); - setActiveClaudeSessionId(null); + setActiveAgentSessionId(null); } setAgentSessionsOpen(false); }} diff --git a/src/renderer/components/AgentSessionsBrowser.tsx b/src/renderer/components/AgentSessionsBrowser.tsx index 7fd169df..26027015 100644 --- a/src/renderer/components/AgentSessionsBrowser.tsx +++ b/src/renderer/components/AgentSessionsBrowser.tsx @@ -23,7 +23,7 @@ interface SearchResult { interface AgentSessionsBrowserProps { theme: Theme; activeSession: Session | undefined; - activeClaudeSessionId: string | null; + activeAgentSessionId: string | null; onClose: () => void; onResumeSession: (agentSessionId: string, messages: LogEntry[], sessionName?: string, starred?: boolean) => void; onNewSession: () => void; @@ -33,7 +33,7 @@ interface AgentSessionsBrowserProps { export function AgentSessionsBrowser({ theme, activeSession, - activeClaudeSessionId, + activeAgentSessionId, onClose, onResumeSession, onNewSession, @@ -273,17 +273,17 @@ export function AgentSessionsBrowser({ cancelRename(); }, [activeSession?.cwd, renameValue, viewingSession?.sessionId, cancelRename, onUpdateTab, updateSession]); - // Auto-view session when activeClaudeSessionId is provided (e.g., from history panel click) + // Auto-view session when activeAgentSessionId is provided (e.g., from history panel click) useEffect(() => { - // Only auto-jump once per activeClaudeSessionId - if (!loading && sessions.length > 0 && activeClaudeSessionId && !viewingSession && autoJumpedRef.current !== activeClaudeSessionId) { - const targetSession = sessions.find(s => s.sessionId === activeClaudeSessionId); + // Only auto-jump once per activeAgentSessionId + if (!loading && sessions.length > 0 && activeAgentSessionId && !viewingSession && autoJumpedRef.current !== activeAgentSessionId) { + const targetSession = sessions.find(s => s.sessionId === activeAgentSessionId); if (targetSession) { - autoJumpedRef.current = activeClaudeSessionId; + autoJumpedRef.current = activeAgentSessionId; handleViewSession(targetSession); } } - }, [loading, sessions, activeClaudeSessionId, viewingSession, handleViewSession]); + }, [loading, sessions, activeAgentSessionId, viewingSession, handleViewSession]); // Focus input on mount useEffect(() => { @@ -639,12 +639,12 @@ export function AgentSessionsBrowser({ {agentId === 'claude-code' ? 'Claude' : 'Agent'} Sessions for {activeSession?.name || 'Agent'} - {activeClaudeSessionId && ( + {activeAgentSessionId && ( - Active: {activeClaudeSessionId.slice(0, 8)}... + Active: {activeAgentSessionId.slice(0, 8)}... )} @@ -1116,7 +1116,7 @@ export function AgentSessionsBrowser({ index={i} selectedIndex={selectedIndex} isStarred={starredSessions.has(session.sessionId)} - activeClaudeSessionId={activeClaudeSessionId} + activeAgentSessionId={activeAgentSessionId} renamingSessionId={renamingSessionId} renameValue={renameValue} searchMode={searchMode} diff --git a/src/renderer/components/MainPanel.tsx b/src/renderer/components/MainPanel.tsx index e9493bbe..becf13cb 100644 --- a/src/renderer/components/MainPanel.tsx +++ b/src/renderer/components/MainPanel.tsx @@ -32,7 +32,7 @@ interface MainPanelProps { // State logViewerOpen: boolean; agentSessionsOpen: boolean; - activeClaudeSessionId: string | null; + activeAgentSessionId: string | null; activeSession: Session | null; sessions: Session[]; // All sessions for InputArea's ThinkingStatusPill theme: Theme; @@ -77,9 +77,9 @@ interface MainPanelProps { setGitDiffPreview: (preview: string | null) => void; setLogViewerOpen: (open: boolean) => void; setAgentSessionsOpen: (open: boolean) => void; - setActiveClaudeSessionId: (id: string | null) => void; - onResumeClaudeSession: (agentSessionId: string, messages: import('../types').LogEntry[], sessionName?: string, starred?: boolean) => void; - onNewClaudeSession: () => void; + setActiveAgentSessionId: (id: string | null) => void; + onResumeAgentSession: (agentSessionId: string, messages: import('../types').LogEntry[], sessionName?: string, starred?: boolean) => void; + onNewAgentSession: () => void; setActiveFocus: (focus: FocusArea) => void; setOutputSearchOpen: (open: boolean) => void; setOutputSearchQuery: (query: string) => void; @@ -184,7 +184,7 @@ interface MainPanelProps { export const MainPanel = forwardRef(function MainPanel(props, ref) { const { - logViewerOpen, agentSessionsOpen, activeClaudeSessionId, activeSession, sessions, theme, activeFocus, outputSearchOpen, outputSearchQuery, + logViewerOpen, agentSessionsOpen, activeAgentSessionId, activeSession, sessions, theme, activeFocus, outputSearchOpen, outputSearchQuery, inputValue, enterToSendAI, enterToSendTerminal, stagedImages, commandHistoryOpen, commandHistoryFilter, commandHistorySelectedIndex, slashCommandOpen, slashCommands, selectedSlashCommandIndex, tabCompletionOpen, tabCompletionSuggestions, selectedTabCompletionIndex, tabCompletionFilter, @@ -192,8 +192,8 @@ export const MainPanel = forwardRef(function Ma atMentionOpen, atMentionFilter, atMentionStartIndex, atMentionSuggestions, selectedAtMentionIndex, setAtMentionOpen, setAtMentionFilter, setAtMentionStartIndex, setSelectedAtMentionIndex, previewFile, markdownEditMode, shortcuts, rightPanelOpen, maxOutputLines, gitDiffPreview, - fileTreeFilterOpen, logLevel, setGitDiffPreview, setLogViewerOpen, setAgentSessionsOpen, setActiveClaudeSessionId, - onResumeClaudeSession, onNewClaudeSession, setActiveFocus, setOutputSearchOpen, setOutputSearchQuery, + fileTreeFilterOpen, logLevel, setGitDiffPreview, setLogViewerOpen, setAgentSessionsOpen, setActiveAgentSessionId, + onResumeAgentSession, onNewAgentSession, setActiveFocus, setOutputSearchOpen, setOutputSearchQuery, setInputValue, setEnterToSendAI, setEnterToSendTerminal, setStagedImages, setLightboxImage, setCommandHistoryOpen, setCommandHistoryFilter, setCommandHistorySelectedIndex, setSlashCommandOpen, setSelectedSlashCommandIndex, setPreviewFile, setMarkdownEditMode, @@ -377,10 +377,10 @@ export const MainPanel = forwardRef(function Ma setAgentSessionsOpen(false)} - onResumeSession={onResumeClaudeSession} - onNewSession={onNewClaudeSession} + onResumeSession={onResumeAgentSession} + onNewSession={onNewAgentSession} onUpdateTab={props.onUpdateTabByClaudeSessionId} /> @@ -782,7 +782,7 @@ export const MainPanel = forwardRef(function Ma {hasCapability('supportsSessionStorage') && (