import { queryOptions, useQuery } from "@octanejs/tanstack-query"; import type { RuntimeInfo } from "../../../shared/runtime-info"; import type { CustomerQuerySession } from "../customer-query-session"; import { useCustomerQuerySession } from "../customer-query-provider"; import { callOwner, type SettingsConnection } from "../owner-rpc"; export function runtimeInfoOptions( session: CustomerQuerySession, connection: SettingsConnection, ) { return queryOptions({ queryKey: session.key("settings", "runtime"), enabled: !!session.getSnapshot().scope && !!connection?.isReady(), queryFn: ({ signal }) => callOwner(connection, "getRuntimeInfo", [], signal), }); } export function useRuntimeInfoQuery(connection: SettingsConnection) { const session = useCustomerQuerySession(); return useQuery(runtimeInfoOptions(session, connection)); }