File size: 793 Bytes
9b906ea | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | import { useQuery } from "@tanstack/react-query";
import { isAgentServerVersionError } from "@openhands/typescript-client/clients";
import WorkspacesService, {
WorkspacesListResponse,
} from "#/api/workspaces-service/workspaces-service.api";
import { LOCAL_WORKSPACES_QUERY_KEYS } from "#/hooks/query/query-keys";
interface UseLocalWorkspacesOptions {
enabled?: boolean;
}
export function useLocalWorkspaces({
enabled = true,
}: UseLocalWorkspacesOptions = {}) {
return useQuery<WorkspacesListResponse>({
queryKey: LOCAL_WORKSPACES_QUERY_KEYS.all,
queryFn: () => WorkspacesService.listWorkspaces(),
enabled,
retry: (failureCount, error) =>
!isAgentServerVersionError(error) && failureCount < 3,
meta: { disableToast: true },
staleTime: 60_000,
});
}
|