import { agentNativePath } from "@agent-native/core/client/api-path"; import { useSession, type AuthSession } from "@agent-native/core/client/hooks"; import { createContext, useContext, type ReactNode } from "react"; interface AuthContextValue { auth: AuthSession | null; isLoading: boolean; logout: () => void; } const AuthContext = createContext(null); export function AuthProvider({ children }: { children: ReactNode }) { const { session, isLoading } = useSession(); const value: AuthContextValue = { auth: session, isLoading, logout: () => fetch(agentNativePath("/_agent-native/auth/logout"), { method: "POST", }).then(() => location.reload()), }; return {children}; } export function useAuth() { const ctx = useContext(AuthContext); if (!ctx) throw new Error("useAuth must be used within AuthProvider"); return ctx; }