19 lines
844 B
TypeScript
19 lines
844 B
TypeScript
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"));
|
|
}
|