import metadata from "./client-metadata.json" with { type: "json" }; export const scope = metadata.scope; import { Client } from "@atcute/client"; import { configureOAuth, OAuthUserAgent } from "@atcute/oauth-browser-client"; import { CompositeDidDocumentResolver, LocalActorResolver, PlcDidDocumentResolver, WebDidDocumentResolver, XrpcHandleResolver, } from "@atcute/identity-resolver"; const resolver = new LocalActorResolver({ handleResolver: new XrpcHandleResolver({ serviceUrl: "https://public.api.bsky.app" }), didDocumentResolver: new CompositeDidDocumentResolver({ methods: { plc: new PlcDidDocumentResolver(), web: new WebDidDocumentResolver() }, }), }); export function configure() { configureOAuth({ metadata: { client_id: metadata.client_id, redirect_uri: metadata.redirect_uris[0] }, identityResolver: resolver, }); } /** @param {string} handleOrDid */ export async function resolve(handleOrDid) { const { did } = await resolver.resolve(handleOrDid); return did; } /** @param {import("@atcute/oauth-browser-client").Session} */ export function client(session) { const handler = new OAuthUserAgent(session); return new Client({ handler }); }