import type { ClientIdentity, ResolverOptions } from "@matey/client"; export interface AppConfig { client: ClientIdentity; resolver: ResolverOptions; /** Suggested homeserver for the "create an account" path (spec ยง5.4.1). */ defaultHomeserver: string | null; handleResolver: string; /** URL of a hosted atproto client-metadata document; loopback client when absent. */ atpClientId: string | null; /** Matey broker issuer, for the login-hint relay (Tuwunel drops login_hint). */ brokerIssuer: string | null; } export function loadAppConfig(): AppConfig { const env = import.meta.env as Record; const handleResolver = env.VITE_HANDLE_RESOLVER ?? "https://public.api.bsky.app"; const resolver: ResolverOptions = { handleResolver }; if (env.VITE_PLC_DIRECTORY !== undefined) resolver.plcDirectory = env.VITE_PLC_DIRECTORY; return { client: { clientName: "Matey Counter", clientUri: window.location.origin, redirectUri: `${window.location.origin}/callback`, }, resolver, defaultHomeserver: env.VITE_DEFAULT_HOMESERVER ?? null, handleResolver, atpClientId: env.VITE_ATP_CLIENT_ID ?? null, brokerIssuer: env.VITE_MATEY_BROKER ?? null, }; }