diff --git a/packages/utils/src/atproto/search.ts b/packages/utils/src/atproto/search.ts new file mode 100644 index 0000000..bbaaf76 --- /dev/null +++ b/packages/utils/src/atproto/search.ts @@ -0,0 +1,20 @@ +export interface ActorResult { + did: string; + handle: string; + displayName?: string; + avatar?: string; +} + +export async function searchActors(query: string): Promise { + if (query.length < 2) return []; + try { + const res = await fetch( + `https://public.api.bsky.app/xrpc/app.bsky.actor.searchActors?q=${encodeURIComponent(query)}&limit=8`, + ); + if (!res.ok) return []; + const data = await res.json(); + return data.actors ?? []; + } catch { + return []; + } +}