import { useQuery } from "@tanstack/react-query"; import { listDescriptionGenerationRuns } from "../api/catalog-databases"; import { hasPermission, useAuthUser } from "../auth/authState"; import { useSessionStore } from "../store/sessionStore"; /** Reuse the existing run cache across Core/Admin navigation; no background job manager. */ export function useInteractionModelBusy(): boolean { const coreActive = useSessionStore((state) => state.agentActive); const user = useAuthUser(); const { data: runs } = useQuery({ queryKey: ["description-generation-runs", 50], queryFn: () => listDescriptionGenerationRuns(50), enabled: hasPermission(user, "database.manage"), retry: false, refetchInterval: 5_000, }); return coreActive || Boolean(runs?.some((run) => run.status === "queued" || run.status === "running")); }