({
projects,
collapsedProjectIds,
workspaceState,
selectedInboxThread,
composerProjectId,
shellComposerState,
shellAppSettings,
loadProjectThreads,
loadArchivedThreads,
loadComposerState,
loadProjectGitState,
scheduleShellStateRefresh,
refreshChatSidebarState,
queryClient,
dispatch,
setArchivedThreads,
setComposerState,
setChatSidebarState,
setLiveThreadData,
setProjectGitState,
setProjectGitLoading,
setThreadHistoryCompactions,
}: {
projects: Project[]
collapsedProjectIds: Record<string, boolean>
workspaceState: WorkspaceState
selectedInboxThread: InboxThread | null
composerProjectId: string
shellComposerState: ComposerState | null | undefined
shellAppSettings: AppSettings | null | undefined
loadProjectThreads: (
projectId: string,
options?: { chat?: boolean | undefined },
) => Promise<unknown>
loadArchivedThreads: () => Promise<ArchivedThread[]>
loadComposerState: (request?: {
projectId?: string | null
sessionPath?: string | null
composerMode?: 'chat' | 'code' | null
}) => Promise<ComposerState | null>
loadProjectGitState: (projectId: string) => Promise<ProjectGitState | null>
scheduleShellStateRefresh: () => void
refreshChatSidebarState: () => Promise<unknown>
queryClient: QueryClientLike
dispatch: Dispatch<WorkspaceAction>
setArchivedThreads: Dispatch<SetStateAction<ArchivedThread[]>>
setComposerState: Dispatch<SetStateAction<ComposerState | null>>
setChatSidebarState: Dispatch<SetStateAction<ChatSidebarState | null>>
setLiveThreadData: Dispatch<SetStateAction<ThreadData | null>>
setProjectGitState: Dispatch<SetStateAction<ProjectGitState | null>>
setProjectGitLoading: Dispatch<SetStateAction<boolean>>
setThreadHistoryCompactions: Dispatch<SetStateAction<number>>
})
| 31 | } |
| 32 | |
| 33 | export function useAppShellEffects({ |
| 34 | projects, |
| 35 | collapsedProjectIds, |
| 36 | workspaceState, |
| 37 | selectedInboxThread, |
| 38 | composerProjectId, |
| 39 | shellComposerState, |
| 40 | shellAppSettings, |
| 41 | loadProjectThreads, |
| 42 | loadArchivedThreads, |
| 43 | loadComposerState, |
| 44 | loadProjectGitState, |
| 45 | scheduleShellStateRefresh, |
| 46 | refreshChatSidebarState, |
| 47 | queryClient, |
| 48 | dispatch, |
| 49 | setArchivedThreads, |
| 50 | setComposerState, |
| 51 | setChatSidebarState, |
| 52 | setLiveThreadData, |
| 53 | setProjectGitState, |
| 54 | setProjectGitLoading, |
| 55 | setThreadHistoryCompactions, |
| 56 | }: { |
| 57 | projects: Project[] |
| 58 | collapsedProjectIds: Record<string, boolean> |
| 59 | workspaceState: WorkspaceState |
| 60 | selectedInboxThread: InboxThread | null |
| 61 | composerProjectId: string |
| 62 | shellComposerState: ComposerState | null | undefined |
| 63 | shellAppSettings: AppSettings | null | undefined |
| 64 | loadProjectThreads: ( |
| 65 | projectId: string, |
| 66 | options?: { chat?: boolean | undefined }, |
| 67 | ) => Promise<unknown> |
| 68 | loadArchivedThreads: () => Promise<ArchivedThread[]> |
| 69 | loadComposerState: (request?: { |
| 70 | projectId?: string | null |
| 71 | sessionPath?: string | null |
| 72 | composerMode?: 'chat' | 'code' | null |
| 73 | }) => Promise<ComposerState | null> |
| 74 | loadProjectGitState: (projectId: string) => Promise<ProjectGitState | null> |
| 75 | scheduleShellStateRefresh: () => void |
| 76 | refreshChatSidebarState: () => Promise<unknown> |
| 77 | queryClient: QueryClientLike |
| 78 | dispatch: Dispatch<WorkspaceAction> |
| 79 | setArchivedThreads: Dispatch<SetStateAction<ArchivedThread[]>> |
| 80 | setComposerState: Dispatch<SetStateAction<ComposerState | null>> |
| 81 | setChatSidebarState: Dispatch<SetStateAction<ChatSidebarState | null>> |
| 82 | setLiveThreadData: Dispatch<SetStateAction<ThreadData | null>> |
| 83 | setProjectGitState: Dispatch<SetStateAction<ProjectGitState | null>> |
| 84 | setProjectGitLoading: Dispatch<SetStateAction<boolean>> |
| 85 | setThreadHistoryCompactions: Dispatch<SetStateAction<number>> |
| 86 | }) { |
| 87 | useProjectShellSync({ |
| 88 | projects, |
| 89 | collapsedProjectIds, |
| 90 | activeView: workspaceState.activeView, |
no test coverage detected