import { PUBLIC_HOST, PUBLIC_REDIRECT_HOST } from "$env/static/public"; import { Client } from "@atcute/client"; import { configureOAuth, OAuthUserAgent, type Session } from "@atcute/oauth-browser-client"; import ATProto from "./atproto"; export const CLIENT_ID = `${PUBLIC_HOST}/client-metadata.json`; export const REDIRECT_URI = `${PUBLIC_REDIRECT_HOST || PUBLIC_HOST}/oauth/callback`; export function configure() { configureOAuth({ metadata: { client_id: CLIENT_ID, redirect_uri: REDIRECT_URI } }); } export function client(session: Session) { const handler = new OAuthUserAgent(session); const client = new Client({ handler }); return new ATProto(session.info.sub, client); }