···1313 "sync"
1414 "time"
15151616+ "github.com/bluesky-social/indigo/atproto/atclient"
1617 "github.com/bluesky-social/indigo/atproto/atcrypto"
1717- "github.com/bluesky-social/indigo/atproto/client"
1818 "github.com/bluesky-social/indigo/atproto/syntax"
19192020 "github.com/golang-jwt/jwt/v5"
···6464 // TODO: also persist access token creation time / expiration time? In context that token might not be an easily parsed JWT
6565}
66666767-// Implementation of [client.AuthMethod] for an OAuth session. Handles DPoP request token signing and nonce rotation, and token refresh requests. Optionally uses a callback to persist updated session data.
6767+// Implementation of [atclient.AuthMethod] for an OAuth session. Handles DPoP request token signing and nonce rotation, and token refresh requests. Optionally uses a callback to persist updated session data.
6868//
6969// A single ClientSession instance can be called concurrently: updates to session data (the 'Data' field) are protected with a RW mutex lock. Note that concurrent calls to distinct ClientSession instances for the same session could result in clobbered session data.
7070type ClientSession struct {
···397397 return nil, fmt.Errorf("OAuth client ran out of request retries")
398398}
399399400400-// Creates a new [client.APIClient] which wraps this session for auth.
401401-func (sess *ClientSession) APIClient() *client.APIClient {
402402- c := client.APIClient{
400400+// Creates a new [atclient.APIClient] which wraps this session for auth.
401401+func (sess *ClientSession) APIClient() *atclient.APIClient {
402402+ c := atclient.APIClient{
403403 Client: sess.Client,
404404 Host: sess.Data.HostURL,
405405 Auth: sess,