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