···2525// ErrSSRFBlocked is returned when a request is blocked due to a private/internal destination.
2626var ErrSSRFBlocked = errors.New("request blocked: potential SSRF detected")
27272828+// ResolveHandle is a convenience that resolves an AT Protocol handle to a DID
2929+// without needing to construct a PublicClient.
3030+func ResolveHandle(ctx context.Context, handle string) (string, error) {
3131+ return NewPublicClient().ResolveHandle(ctx, handle)
3232+}
3333+2834// PublicClient provides unauthenticated read access to public AT Protocol APIs.
2935// Use this to resolve handles, look up profiles, and read public records without
3036// requiring an OAuth session.