import { queryOptions, useQuery } from "@octanejs/tanstack-query"; import type { ModelSettings } from "../../../worker/model-settings"; import type { CustomerQuerySession } from "../customer-query-session"; import { useCustomerQuerySession } from "../customer-query-provider"; import { callOwner, type SettingsConnection } from "../owner-rpc"; export function modelSettingsOptions( session: CustomerQuerySession, connection: SettingsConnection, ) { return queryOptions({ queryKey: session.key("settings", "models"), enabled: !!session.getSnapshot().scope && !!connection?.isReady(), queryFn: ({ signal }) => callOwner(connection, "getModelSettings", [], signal), }); } export function useModelSettingsQuery(connection: SettingsConnection) { const session = useCustomerQuerySession(); return useQuery(modelSettingsOptions(session, connection)); }