···11+// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
22+33+package atproto
44+55+// schema: com.atproto.identity.requestPlcOperationSignature
66+77+import (
88+ "context"
99+1010+ "github.com/bluesky-social/indigo/xrpc"
1111+)
1212+1313+// IdentityRequestPlcOperationSignature calls the XRPC method "com.atproto.identity.requestPlcOperationSignature".
1414+func IdentityRequestPlcOperationSignature(ctx context.Context, c *xrpc.Client) error {
1515+ if err := c.Do(ctx, xrpc.Procedure, "", "com.atproto.identity.requestPlcOperationSignature", nil, nil, nil); err != nil {
1616+ return err
1717+ }
1818+1919+ return nil
2020+}
+38
api/atproto/identitysignPlcOperation.go
···11+// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
22+33+package atproto
44+55+// schema: com.atproto.identity.signPlcOperation
66+77+import (
88+ "context"
99+1010+ "github.com/bluesky-social/indigo/lex/util"
1111+ "github.com/bluesky-social/indigo/xrpc"
1212+)
1313+1414+// IdentitySignPlcOperation_Input is the input argument to a com.atproto.identity.signPlcOperation call.
1515+type IdentitySignPlcOperation_Input struct {
1616+ AlsoKnownAs []string `json:"alsoKnownAs,omitempty" cborgen:"alsoKnownAs,omitempty"`
1717+ RotationKeys []string `json:"rotationKeys,omitempty" cborgen:"rotationKeys,omitempty"`
1818+ Services *util.LexiconTypeDecoder `json:"services,omitempty" cborgen:"services,omitempty"`
1919+ // token: A token received through com.atproto.identity.requestPlcOperationSignature
2020+ Token *string `json:"token,omitempty" cborgen:"token,omitempty"`
2121+ VerificationMethods *util.LexiconTypeDecoder `json:"verificationMethods,omitempty" cborgen:"verificationMethods,omitempty"`
2222+}
2323+2424+// IdentitySignPlcOperation_Output is the output of a com.atproto.identity.signPlcOperation call.
2525+type IdentitySignPlcOperation_Output struct {
2626+ // operation: A signed DID PLC operation.
2727+ Operation *util.LexiconTypeDecoder `json:"operation" cborgen:"operation"`
2828+}
2929+3030+// IdentitySignPlcOperation calls the XRPC method "com.atproto.identity.signPlcOperation".
3131+func IdentitySignPlcOperation(ctx context.Context, c *xrpc.Client, input *IdentitySignPlcOperation_Input) (*IdentitySignPlcOperation_Output, error) {
3232+ var out IdentitySignPlcOperation_Output
3333+ if err := c.Do(ctx, xrpc.Procedure, "application/json", "com.atproto.identity.signPlcOperation", nil, input, &out); err != nil {
3434+ return nil, err
3535+ }
3636+3737+ return &out, nil
3838+}
+26
api/atproto/identitysubmitPlcOperation.go
···11+// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
22+33+package atproto
44+55+// schema: com.atproto.identity.submitPlcOperation
66+77+import (
88+ "context"
99+1010+ "github.com/bluesky-social/indigo/lex/util"
1111+ "github.com/bluesky-social/indigo/xrpc"
1212+)
1313+1414+// IdentitySubmitPlcOperation_Input is the input argument to a com.atproto.identity.submitPlcOperation call.
1515+type IdentitySubmitPlcOperation_Input struct {
1616+ Operation *util.LexiconTypeDecoder `json:"operation" cborgen:"operation"`
1717+}
1818+1919+// IdentitySubmitPlcOperation calls the XRPC method "com.atproto.identity.submitPlcOperation".
2020+func IdentitySubmitPlcOperation(ctx context.Context, c *xrpc.Client, input *IdentitySubmitPlcOperation_Input) error {
2121+ if err := c.Do(ctx, xrpc.Procedure, "application/json", "com.atproto.identity.submitPlcOperation", nil, input, nil); err != nil {
2222+ return err
2323+ }
2424+2525+ return nil
2626+}
+1
api/atproto/identityupdateHandle.go
···12121313// IdentityUpdateHandle_Input is the input argument to a com.atproto.identity.updateHandle call.
1414type IdentityUpdateHandle_Input struct {
1515+ // handle: The new handle.
1516 Handle string `json:"handle" cborgen:"handle"`
1617}
1718
+3-1
api/atproto/moderationcreateReport.go
···15151616// ModerationCreateReport_Input is the input argument to a com.atproto.moderation.createReport call.
1717type ModerationCreateReport_Input struct {
1818- Reason *string `json:"reason,omitempty" cborgen:"reason,omitempty"`
1818+ // reason: Additional context about the content and violation.
1919+ Reason *string `json:"reason,omitempty" cborgen:"reason,omitempty"`
2020+ // reasonType: Indicates the broad category of violation the report is for.
1921 ReasonType *string `json:"reasonType" cborgen:"reasonType"`
2022 Subject *ModerationCreateReport_Input_Subject `json:"subject" cborgen:"subject"`
2123}
+7-6
api/atproto/repoapplyWrites.go
···15151616// RepoApplyWrites_Create is a "create" in the com.atproto.repo.applyWrites schema.
1717//
1818-// Create a new record.
1818+// Operation which creates a new record.
1919//
2020// RECORDTYPE: RepoApplyWrites_Create
2121type RepoApplyWrites_Create struct {
···27272828// RepoApplyWrites_Delete is a "delete" in the com.atproto.repo.applyWrites schema.
2929//
3030-// Delete an existing record.
3030+// Operation which deletes an existing record.
3131//
3232// RECORDTYPE: RepoApplyWrites_Delete
3333type RepoApplyWrites_Delete struct {
···38383939// RepoApplyWrites_Input is the input argument to a com.atproto.repo.applyWrites call.
4040type RepoApplyWrites_Input struct {
4141- // repo: The handle or DID of the repo.
4242- Repo string `json:"repo" cborgen:"repo"`
4141+ // repo: The handle or DID of the repo (aka, current account).
4242+ Repo string `json:"repo" cborgen:"repo"`
4343+ // swapCommit: If provided, the entire operation will fail if the current repo commit CID does not match this value. Used to prevent conflicting repo mutations.
4344 SwapCommit *string `json:"swapCommit,omitempty" cborgen:"swapCommit,omitempty"`
4444- // validate: Flag for validating the records.
4545+ // validate: Can be set to 'false' to skip Lexicon schema validation of record data, for all operations.
4546 Validate *bool `json:"validate,omitempty" cborgen:"validate,omitempty"`
4647 Writes []*RepoApplyWrites_Input_Writes_Elem `json:"writes" cborgen:"writes"`
4748}
···91929293// RepoApplyWrites_Update is a "update" in the com.atproto.repo.applyWrites schema.
9394//
9494-// Update an existing record.
9595+// Operation which updates an existing record.
9596//
9697// RECORDTYPE: RepoApplyWrites_Update
9798type RepoApplyWrites_Update struct {
+4-4
api/atproto/repocreateRecord.go
···1515type RepoCreateRecord_Input struct {
1616 // collection: The NSID of the record collection.
1717 Collection string `json:"collection" cborgen:"collection"`
1818- // record: The record to create.
1818+ // record: The record itself. Must contain a $type field.
1919 Record *util.LexiconTypeDecoder `json:"record" cborgen:"record"`
2020- // repo: The handle or DID of the repo.
2020+ // repo: The handle or DID of the repo (aka, current account).
2121 Repo string `json:"repo" cborgen:"repo"`
2222- // rkey: The key of the record.
2222+ // rkey: The Record Key.
2323 Rkey *string `json:"rkey,omitempty" cborgen:"rkey,omitempty"`
2424 // swapCommit: Compare and swap with the previous commit by CID.
2525 SwapCommit *string `json:"swapCommit,omitempty" cborgen:"swapCommit,omitempty"`
2626- // validate: Flag for validating the record.
2626+ // validate: Can be set to 'false' to skip Lexicon schema validation of record data.
2727 Validate *bool `json:"validate,omitempty" cborgen:"validate,omitempty"`
2828}
2929
+2-2
api/atproto/repodeleteRecord.go
···1414type RepoDeleteRecord_Input struct {
1515 // collection: The NSID of the record collection.
1616 Collection string `json:"collection" cborgen:"collection"`
1717- // repo: The handle or DID of the repo.
1717+ // repo: The handle or DID of the repo (aka, current account).
1818 Repo string `json:"repo" cborgen:"repo"`
1919- // rkey: The key of the record.
1919+ // rkey: The Record Key.
2020 Rkey string `json:"rkey" cborgen:"rkey"`
2121 // swapCommit: Compare and swap with the previous commit by CID.
2222 SwapCommit *string `json:"swapCommit,omitempty" cborgen:"swapCommit,omitempty"`
+8-5
api/atproto/repodescribeRepo.go
···12121313// RepoDescribeRepo_Output is the output of a com.atproto.repo.describeRepo call.
1414type RepoDescribeRepo_Output struct {
1515- Collections []string `json:"collections" cborgen:"collections"`
1616- Did string `json:"did" cborgen:"did"`
1717- DidDoc interface{} `json:"didDoc" cborgen:"didDoc"`
1818- Handle string `json:"handle" cborgen:"handle"`
1919- HandleIsCorrect bool `json:"handleIsCorrect" cborgen:"handleIsCorrect"`
1515+ // collections: List of all the collections (NSIDs) for which this repo contains at least one record.
1616+ Collections []string `json:"collections" cborgen:"collections"`
1717+ Did string `json:"did" cborgen:"did"`
1818+ // didDoc: The complete DID document for this account.
1919+ DidDoc interface{} `json:"didDoc" cborgen:"didDoc"`
2020+ Handle string `json:"handle" cborgen:"handle"`
2121+ // handleIsCorrect: Indicates if handle is currently valid (resolves bi-directionally)
2222+ HandleIsCorrect bool `json:"handleIsCorrect" cborgen:"handleIsCorrect"`
2023}
21242225// RepoDescribeRepo calls the XRPC method "com.atproto.repo.describeRepo".
+1-1
api/atproto/repogetRecord.go
···2323// cid: The CID of the version of the record. If not specified, then return the most recent version.
2424// collection: The NSID of the record collection.
2525// repo: The handle or DID of the repo.
2626-// rkey: The key of the record.
2626+// rkey: The Record Key.
2727func RepoGetRecord(ctx context.Context, c *xrpc.Client, cid string, collection string, repo string, rkey string) (*RepoGetRecord_Output, error) {
2828 var out RepoGetRecord_Output
2929
+21
api/atproto/repoimportRepo.go
···11+// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
22+33+package atproto
44+55+// schema: com.atproto.repo.importRepo
66+77+import (
88+ "context"
99+ "io"
1010+1111+ "github.com/bluesky-social/indigo/xrpc"
1212+)
1313+1414+// RepoImportRepo calls the XRPC method "com.atproto.repo.importRepo".
1515+func RepoImportRepo(ctx context.Context, c *xrpc.Client, input io.Reader) error {
1616+ if err := c.Do(ctx, xrpc.Procedure, "application/vnd.ipld.car", "com.atproto.repo.importRepo", nil, input, nil); err != nil {
1717+ return err
1818+ }
1919+2020+ return nil
2121+}
+38
api/atproto/repolistMissingBlobs.go
···11+// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
22+33+package atproto
44+55+// schema: com.atproto.repo.listMissingBlobs
66+77+import (
88+ "context"
99+1010+ "github.com/bluesky-social/indigo/xrpc"
1111+)
1212+1313+// RepoListMissingBlobs_Output is the output of a com.atproto.repo.listMissingBlobs call.
1414+type RepoListMissingBlobs_Output struct {
1515+ Blobs []*RepoListMissingBlobs_RecordBlob `json:"blobs" cborgen:"blobs"`
1616+ Cursor *string `json:"cursor,omitempty" cborgen:"cursor,omitempty"`
1717+}
1818+1919+// RepoListMissingBlobs_RecordBlob is a "recordBlob" in the com.atproto.repo.listMissingBlobs schema.
2020+type RepoListMissingBlobs_RecordBlob struct {
2121+ Cid string `json:"cid" cborgen:"cid"`
2222+ RecordUri string `json:"recordUri" cborgen:"recordUri"`
2323+}
2424+2525+// RepoListMissingBlobs calls the XRPC method "com.atproto.repo.listMissingBlobs".
2626+func RepoListMissingBlobs(ctx context.Context, c *xrpc.Client, cursor string, limit int64) (*RepoListMissingBlobs_Output, error) {
2727+ var out RepoListMissingBlobs_Output
2828+2929+ params := map[string]interface{}{
3030+ "cursor": cursor,
3131+ "limit": limit,
3232+ }
3333+ if err := c.Do(ctx, xrpc.Query, "", "com.atproto.repo.listMissingBlobs", params, nil, &out); err != nil {
3434+ return nil, err
3535+ }
3636+3737+ return &out, nil
3838+}
+4-4
api/atproto/repoputRecord.go
···1717 Collection string `json:"collection" cborgen:"collection"`
1818 // record: The record to write.
1919 Record *util.LexiconTypeDecoder `json:"record" cborgen:"record"`
2020- // repo: The handle or DID of the repo.
2020+ // repo: The handle or DID of the repo (aka, current account).
2121 Repo string `json:"repo" cborgen:"repo"`
2222- // rkey: The key of the record.
2222+ // rkey: The Record Key.
2323 Rkey string `json:"rkey" cborgen:"rkey"`
2424 // swapCommit: Compare and swap with the previous commit by CID.
2525 SwapCommit *string `json:"swapCommit,omitempty" cborgen:"swapCommit,omitempty"`
2626- // swapRecord: Compare and swap with the previous record by CID.
2626+ // swapRecord: Compare and swap with the previous record by CID. WARNING: nullable and optional field; may cause problems with golang implementation
2727 SwapRecord *string `json:"swapRecord" cborgen:"swapRecord"`
2828- // validate: Flag for validating the record.
2828+ // validate: Can be set to 'false' to skip Lexicon schema validation of record data.
2929 Validate *bool `json:"validate,omitempty" cborgen:"validate,omitempty"`
3030}
3131
+20
api/atproto/serveractivateAccount.go
···11+// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
22+33+package atproto
44+55+// schema: com.atproto.server.activateAccount
66+77+import (
88+ "context"
99+1010+ "github.com/bluesky-social/indigo/xrpc"
1111+)
1212+1313+// ServerActivateAccount calls the XRPC method "com.atproto.server.activateAccount".
1414+func ServerActivateAccount(ctx context.Context, c *xrpc.Client) error {
1515+ if err := c.Do(ctx, xrpc.Procedure, "", "com.atproto.server.activateAccount", nil, nil, nil); err != nil {
1616+ return err
1717+ }
1818+1919+ return nil
2020+}
+34
api/atproto/servercheckAccountStatus.go
···11+// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
22+33+package atproto
44+55+// schema: com.atproto.server.checkAccountStatus
66+77+import (
88+ "context"
99+1010+ "github.com/bluesky-social/indigo/xrpc"
1111+)
1212+1313+// ServerCheckAccountStatus_Output is the output of a com.atproto.server.checkAccountStatus call.
1414+type ServerCheckAccountStatus_Output struct {
1515+ Activated bool `json:"activated" cborgen:"activated"`
1616+ ExpectedBlobs int64 `json:"expectedBlobs" cborgen:"expectedBlobs"`
1717+ ImportedBlobs int64 `json:"importedBlobs" cborgen:"importedBlobs"`
1818+ IndexedRecords int64 `json:"indexedRecords" cborgen:"indexedRecords"`
1919+ PrivateStateValues int64 `json:"privateStateValues" cborgen:"privateStateValues"`
2020+ RepoBlocks int64 `json:"repoBlocks" cborgen:"repoBlocks"`
2121+ RepoCommit string `json:"repoCommit" cborgen:"repoCommit"`
2222+ RepoRev string `json:"repoRev" cborgen:"repoRev"`
2323+ ValidDid bool `json:"validDid" cborgen:"validDid"`
2424+}
2525+2626+// ServerCheckAccountStatus calls the XRPC method "com.atproto.server.checkAccountStatus".
2727+func ServerCheckAccountStatus(ctx context.Context, c *xrpc.Client) (*ServerCheckAccountStatus_Output, error) {
2828+ var out ServerCheckAccountStatus_Output
2929+ if err := c.Do(ctx, xrpc.Query, "", "com.atproto.server.checkAccountStatus", nil, nil, &out); err != nil {
3030+ return nil, err
3131+ }
3232+3333+ return &out, nil
3434+}
+20-11
api/atproto/servercreateAccount.go
···12121313// ServerCreateAccount_Input is the input argument to a com.atproto.server.createAccount call.
1414type ServerCreateAccount_Input struct {
1515- Did *string `json:"did,omitempty" cborgen:"did,omitempty"`
1616- Email *string `json:"email,omitempty" cborgen:"email,omitempty"`
1717- Handle string `json:"handle" cborgen:"handle"`
1818- InviteCode *string `json:"inviteCode,omitempty" cborgen:"inviteCode,omitempty"`
1919- Password *string `json:"password,omitempty" cborgen:"password,omitempty"`
2020- PlcOp *interface{} `json:"plcOp,omitempty" cborgen:"plcOp,omitempty"`
2121- RecoveryKey *string `json:"recoveryKey,omitempty" cborgen:"recoveryKey,omitempty"`
2222- VerificationCode *string `json:"verificationCode,omitempty" cborgen:"verificationCode,omitempty"`
2323- VerificationPhone *string `json:"verificationPhone,omitempty" cborgen:"verificationPhone,omitempty"`
1515+ // did: Pre-existing atproto DID, being imported to a new account.
1616+ Did *string `json:"did,omitempty" cborgen:"did,omitempty"`
1717+ Email *string `json:"email,omitempty" cborgen:"email,omitempty"`
1818+ // handle: Requested handle for the account.
1919+ Handle string `json:"handle" cborgen:"handle"`
2020+ InviteCode *string `json:"inviteCode,omitempty" cborgen:"inviteCode,omitempty"`
2121+ // password: Initial account password. May need to meet instance-specific password strength requirements.
2222+ Password *string `json:"password,omitempty" cborgen:"password,omitempty"`
2323+ // plcOp: A signed DID PLC operation to be submitted as part of importing an existing account to this instance. NOTE: this optional field may be updated when full account migration is implemented.
2424+ PlcOp *interface{} `json:"plcOp,omitempty" cborgen:"plcOp,omitempty"`
2525+ // recoveryKey: DID PLC rotation key (aka, recovery key) to be included in PLC creation operation.
2626+ RecoveryKey *string `json:"recoveryKey,omitempty" cborgen:"recoveryKey,omitempty"`
2727+ VerificationCode *string `json:"verificationCode,omitempty" cborgen:"verificationCode,omitempty"`
2828+ VerificationPhone *string `json:"verificationPhone,omitempty" cborgen:"verificationPhone,omitempty"`
2429}
25302631// ServerCreateAccount_Output is the output of a com.atproto.server.createAccount call.
3232+//
3333+// Account login session returned on successful account creation.
2734type ServerCreateAccount_Output struct {
2828- AccessJwt string `json:"accessJwt" cborgen:"accessJwt"`
2929- Did string `json:"did" cborgen:"did"`
3535+ AccessJwt string `json:"accessJwt" cborgen:"accessJwt"`
3636+ // did: The DID of the new account.
3737+ Did string `json:"did" cborgen:"did"`
3838+ // didDoc: Complete DID document.
3039 DidDoc *interface{} `json:"didDoc,omitempty" cborgen:"didDoc,omitempty"`
3140 Handle string `json:"handle" cborgen:"handle"`
3241 RefreshJwt string `json:"refreshJwt" cborgen:"refreshJwt"`
+1
api/atproto/servercreateAppPassword.go
···19192020// ServerCreateAppPassword_Input is the input argument to a com.atproto.server.createAppPassword call.
2121type ServerCreateAppPassword_Input struct {
2222+ // name: A short name for the App Password, to help distinguish them.
2223 Name string `json:"name" cborgen:"name"`
2324}
2425
+26
api/atproto/serverdeactivateAccount.go
···11+// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
22+33+package atproto
44+55+// schema: com.atproto.server.deactivateAccount
66+77+import (
88+ "context"
99+1010+ "github.com/bluesky-social/indigo/xrpc"
1111+)
1212+1313+// ServerDeactivateAccount_Input is the input argument to a com.atproto.server.deactivateAccount call.
1414+type ServerDeactivateAccount_Input struct {
1515+ // deleteAfter: A recommendation to server as to how long they should hold onto the deactivated account before deleting.
1616+ DeleteAfter *string `json:"deleteAfter,omitempty" cborgen:"deleteAfter,omitempty"`
1717+}
1818+1919+// ServerDeactivateAccount calls the XRPC method "com.atproto.server.deactivateAccount".
2020+func ServerDeactivateAccount(ctx context.Context, c *xrpc.Client, input *ServerDeactivateAccount_Input) error {
2121+ if err := c.Do(ctx, xrpc.Procedure, "application/json", "com.atproto.server.deactivateAccount", nil, input, nil); err != nil {
2222+ return err
2323+ }
2424+2525+ return nil
2626+}
+9-4
api/atproto/serverdescribeServer.go
···18181919// ServerDescribeServer_Output is the output of a com.atproto.server.describeServer call.
2020type ServerDescribeServer_Output struct {
2121- AvailableUserDomains []string `json:"availableUserDomains" cborgen:"availableUserDomains"`
2222- InviteCodeRequired *bool `json:"inviteCodeRequired,omitempty" cborgen:"inviteCodeRequired,omitempty"`
2323- Links *ServerDescribeServer_Links `json:"links,omitempty" cborgen:"links,omitempty"`
2424- PhoneVerificationRequired *bool `json:"phoneVerificationRequired,omitempty" cborgen:"phoneVerificationRequired,omitempty"`
2121+ // availableUserDomains: List of domain suffixes that can be used in account handles.
2222+ AvailableUserDomains []string `json:"availableUserDomains" cborgen:"availableUserDomains"`
2323+ Did string `json:"did" cborgen:"did"`
2424+ // inviteCodeRequired: If true, an invite code must be supplied to create an account on this instance.
2525+ InviteCodeRequired *bool `json:"inviteCodeRequired,omitempty" cborgen:"inviteCodeRequired,omitempty"`
2626+ // links: URLs of service policy documents.
2727+ Links *ServerDescribeServer_Links `json:"links,omitempty" cborgen:"links,omitempty"`
2828+ // phoneVerificationRequired: If true, a phone verification token must be supplied to create an account on this instance.
2929+ PhoneVerificationRequired *bool `json:"phoneVerificationRequired,omitempty" cborgen:"phoneVerificationRequired,omitempty"`
2530}
26312732// ServerDescribeServer calls the XRPC method "com.atproto.server.describeServer".
+2
api/atproto/servergetAccountInviteCodes.go
···1616}
17171818// ServerGetAccountInviteCodes calls the XRPC method "com.atproto.server.getAccountInviteCodes".
1919+//
2020+// createAvailable: Controls whether any new 'earned' but not 'created' invites should be created.
1921func ServerGetAccountInviteCodes(ctx context.Context, c *xrpc.Client, createAvailable bool, includeUsed bool) (*ServerGetAccountInviteCodes_Output, error) {
2022 var out ServerGetAccountInviteCodes_Output
2123
+32
api/atproto/servergetServiceAuth.go
···11+// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
22+33+package atproto
44+55+// schema: com.atproto.server.getServiceAuth
66+77+import (
88+ "context"
99+1010+ "github.com/bluesky-social/indigo/xrpc"
1111+)
1212+1313+// ServerGetServiceAuth_Output is the output of a com.atproto.server.getServiceAuth call.
1414+type ServerGetServiceAuth_Output struct {
1515+ Token string `json:"token" cborgen:"token"`
1616+}
1717+1818+// ServerGetServiceAuth calls the XRPC method "com.atproto.server.getServiceAuth".
1919+//
2020+// aud: The DID of the service that the token will be used to authenticate with
2121+func ServerGetServiceAuth(ctx context.Context, c *xrpc.Client, aud string) (*ServerGetServiceAuth_Output, error) {
2222+ var out ServerGetServiceAuth_Output
2323+2424+ params := map[string]interface{}{
2525+ "aud": aud,
2626+ }
2727+ if err := c.Do(ctx, xrpc.Query, "", "com.atproto.server.getServiceAuth", params, nil, &out); err != nil {
2828+ return nil, err
2929+ }
3030+3131+ return &out, nil
3232+}
+2-2
api/atproto/serverreserveSigningKey.go
···12121313// ServerReserveSigningKey_Input is the input argument to a com.atproto.server.reserveSigningKey call.
1414type ServerReserveSigningKey_Input struct {
1515- // did: The did to reserve a new did:key for
1515+ // did: The DID to reserve a key for.
1616 Did *string `json:"did,omitempty" cborgen:"did,omitempty"`
1717}
18181919// ServerReserveSigningKey_Output is the output of a com.atproto.server.reserveSigningKey call.
2020type ServerReserveSigningKey_Output struct {
2121- // signingKey: Public signing key in the form of a did:key.
2121+ // signingKey: The public key for the reserved signing key, in did:key serialization.
2222 SigningKey string `json:"signingKey" cborgen:"signingKey"`
2323}
2424
+1-1
api/atproto/syncgetBlob.go
···1414// SyncGetBlob calls the XRPC method "com.atproto.sync.getBlob".
1515//
1616// cid: The CID of the blob to fetch
1717-// did: The DID of the repo.
1717+// did: The DID of the account.
1818func SyncGetBlob(ctx context.Context, c *xrpc.Client, cid string, did string) ([]byte, error) {
1919 buf := new(bytes.Buffer)
2020
+1
api/atproto/syncgetRecord.go
···1515//
1616// commit: An optional past commit CID.
1717// did: The DID of the repo.
1818+// rkey: Record Key
1819func SyncGetRecord(ctx context.Context, c *xrpc.Client, collection string, commit string, did string, rkey string) ([]byte, error) {
1920 buf := new(bytes.Buffer)
2021
+1-1
api/atproto/syncgetRepo.go
···1414// SyncGetRepo calls the XRPC method "com.atproto.sync.getRepo".
1515//
1616// did: The DID of the repo.
1717-// since: The revision of the repo to catch up from.
1717+// since: The revision ('rev') of the repo to create a diff from.
1818func SyncGetRepo(ctx context.Context, c *xrpc.Client, did string, since string) ([]byte, error) {
1919 buf := new(bytes.Buffer)
2020
+2-1
api/atproto/synclistRepos.go
···18181919// SyncListRepos_Repo is a "repo" in the com.atproto.sync.listRepos schema.
2020type SyncListRepos_Repo struct {
2121- Did string `json:"did" cborgen:"did"`
2121+ Did string `json:"did" cborgen:"did"`
2222+ // head: Current repo commit CID
2223 Head string `json:"head" cborgen:"head"`
2324 Rev string `json:"rev" cborgen:"rev"`
2425}
+1-1
api/atproto/syncnotifyOfUpdate.go
···12121313// SyncNotifyOfUpdate_Input is the input argument to a com.atproto.sync.notifyOfUpdate call.
1414type SyncNotifyOfUpdate_Input struct {
1515- // hostname: Hostname of the service that is notifying of update.
1515+ // hostname: Hostname of the current service (usually a PDS) that is notifying of update.
1616 Hostname string `json:"hostname" cborgen:"hostname"`
1717}
1818
+1-1
api/atproto/syncrequestCrawl.go
···12121313// SyncRequestCrawl_Input is the input argument to a com.atproto.sync.requestCrawl call.
1414type SyncRequestCrawl_Input struct {
1515- // hostname: Hostname of the service that is requesting to be crawled.
1515+ // hostname: Hostname of the current service (eg, PDS) that is requesting to be crawled.
1616 Hostname string `json:"hostname" cborgen:"hostname"`
1717}
1818
+39-15
api/atproto/syncsubscribeRepos.go
···99)
10101111// SyncSubscribeRepos_Commit is a "commit" in the com.atproto.sync.subscribeRepos schema.
1212+//
1313+// Represents an update of repository state. Note that empty commits are allowed, which include no repo data changes, but an update to rev and signature.
1214type SyncSubscribeRepos_Commit struct {
1315 Blobs []util.LexLink `json:"blobs" cborgen:"blobs"`
1414- // blocks: CAR file containing relevant blocks.
1515- Blocks util.LexBytes `json:"blocks,omitempty" cborgen:"blocks,omitempty"`
1616+ // blocks: CAR file containing relevant blocks, as a diff since the previous repo state.
1717+ Blocks util.LexBytes `json:"blocks,omitempty" cborgen:"blocks,omitempty"`
1818+ // commit: Repo commit object CID.
1619 Commit util.LexLink `json:"commit" cborgen:"commit"`
1720 Ops []*SyncSubscribeRepos_RepoOp `json:"ops" cborgen:"ops"`
1818- Prev *util.LexLink `json:"prev" cborgen:"prev"`
1919- Rebase bool `json:"rebase" cborgen:"rebase"`
2020- Repo string `json:"repo" cborgen:"repo"`
2121- // rev: The rev of the emitted commit.
2121+ // prev: DEPRECATED -- unused. WARNING -- nullable and optional; stick with optional to ensure golang interoperability.
2222+ Prev *util.LexLink `json:"prev" cborgen:"prev"`
2323+ // rebase: DEPRECATED -- unused
2424+ Rebase bool `json:"rebase" cborgen:"rebase"`
2525+ // repo: The repo this event comes from.
2626+ Repo string `json:"repo" cborgen:"repo"`
2727+ // rev: The rev of the emitted commit. Note that this information is also in the commit object included in blocks, unless this is a tooBig event.
2228 Rev string `json:"rev" cborgen:"rev"`
2323- Seq int64 `json:"seq" cborgen:"seq"`
2424- // since: The rev of the last emitted commit from this repo.
2525- Since *string `json:"since" cborgen:"since"`
2626- Time string `json:"time" cborgen:"time"`
2727- TooBig bool `json:"tooBig" cborgen:"tooBig"`
2929+ // seq: The stream sequence number of this message.
3030+ Seq int64 `json:"seq" cborgen:"seq"`
3131+ // since: The rev of the last emitted commit from this repo (if any).
3232+ Since *string `json:"since" cborgen:"since"`
3333+ // time: Timestamp of when this message was originally broadcast.
3434+ Time string `json:"time" cborgen:"time"`
3535+ // tooBig: Indicates that this commit contained too many ops, or data size was too large. Consumers will need to make a separate request to get missing data.
3636+ TooBig bool `json:"tooBig" cborgen:"tooBig"`
2837}
29383039// SyncSubscribeRepos_Handle is a "handle" in the com.atproto.sync.subscribeRepos schema.
4040+//
4141+// Represents an update of the account's handle, or transition to/from invalid state. NOTE: Will be deprecated in favor of #identity.
3142type SyncSubscribeRepos_Handle struct {
3243 Did string `json:"did" cborgen:"did"`
3344 Handle string `json:"handle" cborgen:"handle"`
3445 Seq int64 `json:"seq" cborgen:"seq"`
3546 Time string `json:"time" cborgen:"time"`
4747+}
4848+4949+// SyncSubscribeRepos_Identity is a "identity" in the com.atproto.sync.subscribeRepos schema.
5050+//
5151+// Represents a change to an account's identity. Could be an updated handle, signing key, or pds hosting endpoint. Serves as a prod to all downstream services to refresh their identity cache.
5252+type SyncSubscribeRepos_Identity struct {
5353+ Did string `json:"did" cborgen:"did"`
5454+ Seq int64 `json:"seq" cborgen:"seq"`
3655}
37563857// SyncSubscribeRepos_Info is a "info" in the com.atproto.sync.subscribeRepos schema.
···4261}
43624463// SyncSubscribeRepos_Migrate is a "migrate" in the com.atproto.sync.subscribeRepos schema.
6464+//
6565+// Represents an account moving from one PDS instance to another. NOTE: not implemented; account migration uses #identity instead
4566type SyncSubscribeRepos_Migrate struct {
4667 Did string `json:"did" cborgen:"did"`
4768 MigrateTo *string `json:"migrateTo" cborgen:"migrateTo"`
···51725273// SyncSubscribeRepos_RepoOp is a "repoOp" in the com.atproto.sync.subscribeRepos schema.
5374//
5454-// A repo operation, ie a write of a single record. For creates and updates, CID is the record's CID as of this operation. For deletes, it's null.
7575+// A repo operation, ie a mutation of a single record.
5576type SyncSubscribeRepos_RepoOp struct {
5656- Action string `json:"action" cborgen:"action"`
5757- Cid *util.LexLink `json:"cid" cborgen:"cid"`
5858- Path string `json:"path" cborgen:"path"`
7777+ Action string `json:"action" cborgen:"action"`
7878+ // cid: For creates and updates, the new record CID. For deletions, null.
7979+ Cid *util.LexLink `json:"cid" cborgen:"cid"`
8080+ Path string `json:"path" cborgen:"path"`
5981}
60826183// SyncSubscribeRepos_Tombstone is a "tombstone" in the com.atproto.sync.subscribeRepos schema.
8484+//
8585+// Indicates that an account has been deleted. NOTE: may be deprecated in favor of #identity or a future #account event
6286type SyncSubscribeRepos_Tombstone struct {
6387 Did string `json:"did" cborgen:"did"`
6488 Seq int64 `json:"seq" cborgen:"seq"`
+3
api/bsky/actordefs.go
···186186 LexiconTypeID string `json:"$type,const=app.bsky.actor.defs#savedFeedsPref" cborgen:"$type,const=app.bsky.actor.defs#savedFeedsPref"`
187187 Pinned []string `json:"pinned" cborgen:"pinned"`
188188 Saved []string `json:"saved" cborgen:"saved"`
189189+ TimelineIndex *int64 `json:"timelineIndex,omitempty" cborgen:"timelineIndex,omitempty"`
189190}
190191191192// ActorDefs_ThreadViewPref is a "threadViewPref" in the app.bsky.actor.defs schema.
···200201}
201202202203// ActorDefs_ViewerState is a "viewerState" in the app.bsky.actor.defs schema.
204204+//
205205+// Metadata about the requesting account's relationship with the subject account. Only has meaningful content for authed requests.
203206type ActorDefs_ViewerState struct {
204207 BlockedBy *bool `json:"blockedBy,omitempty" cborgen:"blockedBy,omitempty"`
205208 Blocking *string `json:"blocking,omitempty" cborgen:"blocking,omitempty"`
+2
api/bsky/actorgetProfile.go
···1111)
12121313// ActorGetProfile calls the XRPC method "app.bsky.actor.getProfile".
1414+//
1515+// actor: Handle or DID of account to fetch profile of.
1416func ActorGetProfile(ctx context.Context, c *xrpc.Client, actor string) (*ActorDefs_ProfileViewDetailed, error) {
1517 var out ActorDefs_ProfileViewDetailed
1618
+11-6
api/bsky/actorprofile.go
···2020} //
2121// RECORDTYPE: ActorProfile
2222type ActorProfile struct {
2323- LexiconTypeID string `json:"$type,const=app.bsky.actor.profile" cborgen:"$type,const=app.bsky.actor.profile"`
2424- Avatar *util.LexBlob `json:"avatar,omitempty" cborgen:"avatar,omitempty"`
2525- Banner *util.LexBlob `json:"banner,omitempty" cborgen:"banner,omitempty"`
2626- Description *string `json:"description,omitempty" cborgen:"description,omitempty"`
2727- DisplayName *string `json:"displayName,omitempty" cborgen:"displayName,omitempty"`
2828- Labels *ActorProfile_Labels `json:"labels,omitempty" cborgen:"labels,omitempty"`
2323+ LexiconTypeID string `json:"$type,const=app.bsky.actor.profile" cborgen:"$type,const=app.bsky.actor.profile"`
2424+ // avatar: Small image to be displayed next to posts from account. AKA, 'profile picture'
2525+ Avatar *util.LexBlob `json:"avatar,omitempty" cborgen:"avatar,omitempty"`
2626+ // banner: Larger horizontal image to display behind profile view.
2727+ Banner *util.LexBlob `json:"banner,omitempty" cborgen:"banner,omitempty"`
2828+ // description: Free-form profile description text.
2929+ Description *string `json:"description,omitempty" cborgen:"description,omitempty"`
3030+ DisplayName *string `json:"displayName,omitempty" cborgen:"displayName,omitempty"`
3131+ // labels: Self-label values, specific to the Bluesky application, on the overall account.
3232+ Labels *ActorProfile_Labels `json:"labels,omitempty" cborgen:"labels,omitempty"`
2933}
30343535+// Self-label values, specific to the Bluesky application, on the overall account.
3136type ActorProfile_Labels struct {
3237 LabelDefs_SelfLabels *comatprototypes.LabelDefs_SelfLabels
3338}
+2
api/bsky/embedexternal.go
···1111func init() {
1212 util.RegisterType("app.bsky.embed.external#main", &EmbedExternal{})
1313} // EmbedExternal is a "main" in the app.bsky.embed.external schema.
1414+// A representation of some externally linked content (eg, a URL and 'card'), embedded in a Bluesky record (eg, a post).
1515+//
1416// RECORDTYPE: EmbedExternal
1517type EmbedExternal struct {
1618 LexiconTypeID string `json:"$type,const=app.bsky.embed.external" cborgen:"$type,const=app.bsky.embed.external"`
+6-2
api/bsky/embedimages.go
···27272828// EmbedImages_Image is a "image" in the app.bsky.embed.images schema.
2929type EmbedImages_Image struct {
3030+ // alt: Alt text description of the image, for accessibility.
3031 Alt string `json:"alt" cborgen:"alt"`
3132 AspectRatio *EmbedImages_AspectRatio `json:"aspectRatio,omitempty" cborgen:"aspectRatio,omitempty"`
3233 Image *util.LexBlob `json:"image" cborgen:"image"`
···42434344// EmbedImages_ViewImage is a "viewImage" in the app.bsky.embed.images schema.
4445type EmbedImages_ViewImage struct {
4646+ // alt: Alt text description of the image, for accessibility.
4547 Alt string `json:"alt" cborgen:"alt"`
4648 AspectRatio *EmbedImages_AspectRatio `json:"aspectRatio,omitempty" cborgen:"aspectRatio,omitempty"`
4747- Fullsize string `json:"fullsize" cborgen:"fullsize"`
4848- Thumb string `json:"thumb" cborgen:"thumb"`
4949+ // fullsize: Fully-qualified URL where a large version of the image can be fetched. May or may not be the exact original blob. For example, CDN location provided by the App View.
5050+ Fullsize string `json:"fullsize" cborgen:"fullsize"`
5151+ // thumb: Fully-qualified URL where a thumbnail of the image can be fetched. For example, CDN location provided by the App View.
5252+ Thumb string `json:"thumb" cborgen:"thumb"`
4953}
+2-1
api/bsky/embedrecord.go
···5959 IndexedAt string `json:"indexedAt" cborgen:"indexedAt"`
6060 Labels []*comatprototypes.LabelDefs_Label `json:"labels,omitempty" cborgen:"labels,omitempty"`
6161 Uri string `json:"uri" cborgen:"uri"`
6262- Value *util.LexiconTypeDecoder `json:"value" cborgen:"value"`
6262+ // value: The record data itself.
6363+ Value *util.LexiconTypeDecoder `json:"value" cborgen:"value"`
6364}
64656566type EmbedRecord_ViewRecord_Embeds_Elem struct {
+2
api/bsky/feeddefs.go
···411411}
412412413413// FeedDefs_ViewerState is a "viewerState" in the app.bsky.feed.defs schema.
414414+//
415415+// Metadata about the requesting account's relationship with the subject content. Only has meaningful content for authed requests.
414416type FeedDefs_ViewerState struct {
415417 Like *string `json:"like,omitempty" cborgen:"like,omitempty"`
416418 ReplyDisabled *bool `json:"replyDisabled,omitempty" cborgen:"replyDisabled,omitempty"`
···1717}
18181919// FeedGetAuthorFeed calls the XRPC method "app.bsky.feed.getAuthorFeed".
2020+//
2121+// filter: Combinations of post/repost types to include in response.
2022func FeedGetAuthorFeed(ctx context.Context, c *xrpc.Client, actor string, cursor string, filter string, limit int64) (*FeedGetAuthorFeed_Output, error) {
2123 var out FeedGetAuthorFeed_Output
2224
+7-3
api/bsky/feedgetFeedGenerator.go
···12121313// FeedGetFeedGenerator_Output is the output of a app.bsky.feed.getFeedGenerator call.
1414type FeedGetFeedGenerator_Output struct {
1515- IsOnline bool `json:"isOnline" cborgen:"isOnline"`
1616- IsValid bool `json:"isValid" cborgen:"isValid"`
1717- View *FeedDefs_GeneratorView `json:"view" cborgen:"view"`
1515+ // isOnline: Indicates whether the feed generator service has been online recently, or else seems to be inactive.
1616+ IsOnline bool `json:"isOnline" cborgen:"isOnline"`
1717+ // isValid: Indicates whether the feed generator service is compatible with the record declaration.
1818+ IsValid bool `json:"isValid" cborgen:"isValid"`
1919+ View *FeedDefs_GeneratorView `json:"view" cborgen:"view"`
1820}
19212022// FeedGetFeedGenerator calls the XRPC method "app.bsky.feed.getFeedGenerator".
2323+//
2424+// feed: AT-URI of the feed generator record.
2125func FeedGetFeedGenerator(ctx context.Context, c *xrpc.Client, feed string) (*FeedGetFeedGenerator_Output, error) {
2226 var out FeedGetFeedGenerator_Output
2327
+2
api/bsky/feedgetFeedSkeleton.go
···1717}
18181919// FeedGetFeedSkeleton calls the XRPC method "app.bsky.feed.getFeedSkeleton".
2020+//
2121+// feed: Reference to feed generator record describing the specific feed being requested.
2022func FeedGetFeedSkeleton(ctx context.Context, c *xrpc.Client, cursor string, feed string, limit int64) (*FeedGetFeedSkeleton_Output, error) {
2123 var out FeedGetFeedSkeleton_Output
2224
+3
api/bsky/feedgetLikes.go
···2626}
27272828// FeedGetLikes calls the XRPC method "app.bsky.feed.getLikes".
2929+//
3030+// cid: CID of the subject record (aka, specific version of record), to filter likes.
3131+// uri: AT-URI of the subject (eg, a post record).
2932func FeedGetLikes(ctx context.Context, c *xrpc.Client, cid string, cursor string, limit int64, uri string) (*FeedGetLikes_Output, error) {
3033 var out FeedGetLikes_Output
3134
+2
api/bsky/feedgetListFeed.go
···1717}
18181919// FeedGetListFeed calls the XRPC method "app.bsky.feed.getListFeed".
2020+//
2121+// list: Reference (AT-URI) to the list record.
2022func FeedGetListFeed(ctx context.Context, c *xrpc.Client, cursor string, limit int64, list string) (*FeedGetListFeed_Output, error) {
2123 var out FeedGetListFeed_Output
2224
+4
api/bsky/feedgetPostThread.go
···6262}
63636464// FeedGetPostThread calls the XRPC method "app.bsky.feed.getPostThread".
6565+//
6666+// depth: How many levels of reply depth should be included in response.
6767+// parentHeight: How many levels of parent (and grandparent, etc) post to include.
6868+// uri: Reference (AT-URI) to post record.
6569func FeedGetPostThread(ctx context.Context, c *xrpc.Client, depth int64, parentHeight int64, uri string) (*FeedGetPostThread_Output, error) {
6670 var out FeedGetPostThread_Output
6771
+2
api/bsky/feedgetPosts.go
···1616}
17171818// FeedGetPosts calls the XRPC method "app.bsky.feed.getPosts".
1919+//
2020+// uris: List of post AT-URIs to return hydrated views for.
1921func FeedGetPosts(ctx context.Context, c *xrpc.Client, uris []string) (*FeedGetPosts_Output, error) {
2022 var out FeedGetPosts_Output
2123
+3
api/bsky/feedgetRepostedBy.go
···1919}
20202121// FeedGetRepostedBy calls the XRPC method "app.bsky.feed.getRepostedBy".
2222+//
2323+// cid: If supplied, filters to reposts of specific version (by CID) of the post record.
2424+// uri: Reference (AT-URI) of post record
2225func FeedGetRepostedBy(ctx context.Context, c *xrpc.Client, cid string, cursor string, limit int64, uri string) (*FeedGetRepostedBy_Output, error) {
2326 var out FeedGetRepostedBy_Output
2427
+2
api/bsky/feedgetTimeline.go
···1717}
18181919// FeedGetTimeline calls the XRPC method "app.bsky.feed.getTimeline".
2020+//
2121+// algorithm: Variant 'algorithm' for timeline. Implementation-specific. NOTE: most feed flexibility has been moved to feed generator mechanism.
2022func FeedGetTimeline(ctx context.Context, c *xrpc.Client, algorithm string, cursor string, limit int64) (*FeedGetTimeline_Output, error) {
2123 var out FeedGetTimeline_Output
2224
+16-10
api/bsky/feedpost.go
···2020} //
2121// RECORDTYPE: FeedPost
2222type FeedPost struct {
2323- LexiconTypeID string `json:"$type,const=app.bsky.feed.post" cborgen:"$type,const=app.bsky.feed.post"`
2424- CreatedAt string `json:"createdAt" cborgen:"createdAt"`
2525- Embed *FeedPost_Embed `json:"embed,omitempty" cborgen:"embed,omitempty"`
2626- // entities: Deprecated: replaced by app.bsky.richtext.facet.
2323+ LexiconTypeID string `json:"$type,const=app.bsky.feed.post" cborgen:"$type,const=app.bsky.feed.post"`
2424+ // createdAt: Client-declared timestamp when this post was originally created.
2525+ CreatedAt string `json:"createdAt" cborgen:"createdAt"`
2626+ Embed *FeedPost_Embed `json:"embed,omitempty" cborgen:"embed,omitempty"`
2727+ // entities: DEPRECATED: replaced by app.bsky.richtext.facet.
2728 Entities []*FeedPost_Entity `json:"entities,omitempty" cborgen:"entities,omitempty"`
2828- Facets []*RichtextFacet `json:"facets,omitempty" cborgen:"facets,omitempty"`
2929- Labels *FeedPost_Labels `json:"labels,omitempty" cborgen:"labels,omitempty"`
3030- Langs []string `json:"langs,omitempty" cborgen:"langs,omitempty"`
3131- Reply *FeedPost_ReplyRef `json:"reply,omitempty" cborgen:"reply,omitempty"`
3232- // tags: Additional non-inline tags describing this post.
2929+ // facets: Annotations of text (mentions, URLs, hashtags, etc)
3030+ Facets []*RichtextFacet `json:"facets,omitempty" cborgen:"facets,omitempty"`
3131+ // labels: Self-label values for this post. Effectively content warnings.
3232+ Labels *FeedPost_Labels `json:"labels,omitempty" cborgen:"labels,omitempty"`
3333+ // langs: Indicates human language of post primary text content.
3434+ Langs []string `json:"langs,omitempty" cborgen:"langs,omitempty"`
3535+ Reply *FeedPost_ReplyRef `json:"reply,omitempty" cborgen:"reply,omitempty"`
3636+ // tags: Additional hashtags, in addition to any included in post text and facets.
3337 Tags []string `json:"tags,omitempty" cborgen:"tags,omitempty"`
3434- Text string `json:"text" cborgen:"text"`
3838+ // text: The primary post content. May be an empty string, if there are embeds.
3939+ Text string `json:"text" cborgen:"text"`
3540}
36413742type FeedPost_Embed struct {
···140145 Value string `json:"value" cborgen:"value"`
141146}
142147148148+// Self-label values for this post. Effectively content warnings.
143149type FeedPost_Labels struct {
144150 LabelDefs_SelfLabels *comatprototypes.LabelDefs_SelfLabels
145151}
+2-1
api/bsky/feedthreadgate.go
···2222 LexiconTypeID string `json:"$type,const=app.bsky.feed.threadgate" cborgen:"$type,const=app.bsky.feed.threadgate"`
2323 Allow []*FeedThreadgate_Allow_Elem `json:"allow,omitempty" cborgen:"allow,omitempty"`
2424 CreatedAt string `json:"createdAt" cborgen:"createdAt"`
2525- Post string `json:"post" cborgen:"post"`
2525+ // post: Reference (AT-URI) to the post record.
2626+ Post string `json:"post" cborgen:"post"`
2627}
27282829type FeedThreadgate_Allow_Elem struct {
+2-1
api/bsky/graphblock.go
···1515type GraphBlock struct {
1616 LexiconTypeID string `json:"$type,const=app.bsky.graph.block" cborgen:"$type,const=app.bsky.graph.block"`
1717 CreatedAt string `json:"createdAt" cborgen:"createdAt"`
1818- Subject string `json:"subject" cborgen:"subject"`
1818+ // subject: DID of the account to be blocked.
1919+ Subject string `json:"subject" cborgen:"subject"`
1920}
+2
api/bsky/graphgetList.go
···1818}
19192020// GraphGetList calls the XRPC method "app.bsky.graph.getList".
2121+//
2222+// list: Reference (AT-URI) of the list record to hydrate.
2123func GraphGetList(ctx context.Context, c *xrpc.Client, cursor string, limit int64, list string) (*GraphGetList_Output, error) {
2224 var out GraphGetList_Output
2325
+2
api/bsky/graphgetLists.go
···1717}
18181919// GraphGetLists calls the XRPC method "app.bsky.graph.getLists".
2020+//
2121+// actor: The account (actor) to enumerate lists from.
2022func GraphGetLists(ctx context.Context, c *xrpc.Client, actor string, cursor string, limit int64) (*GraphGetLists_Output, error) {
2123 var out GraphGetLists_Output
2224
+3
api/bsky/graphgetRelationships.go
···5555}
56565757// GraphGetRelationships calls the XRPC method "app.bsky.graph.getRelationships".
5858+//
5959+// actor: Primary account requesting relationships for.
6060+// others: List of 'other' accounts to be related back to the primary.
5861func GraphGetRelationships(ctx context.Context, c *xrpc.Client, actor string, others []string) (*GraphGetRelationships_Output, error) {
5962 var out GraphGetRelationships_Output
6063
+4-2
api/bsky/graphlist.go
···2626 Description *string `json:"description,omitempty" cborgen:"description,omitempty"`
2727 DescriptionFacets []*RichtextFacet `json:"descriptionFacets,omitempty" cborgen:"descriptionFacets,omitempty"`
2828 Labels *GraphList_Labels `json:"labels,omitempty" cborgen:"labels,omitempty"`
2929- Name string `json:"name" cborgen:"name"`
3030- Purpose *string `json:"purpose" cborgen:"purpose"`
2929+ // name: Display name for list; can not be empty.
3030+ Name string `json:"name" cborgen:"name"`
3131+ // purpose: Defines the purpose of the list (aka, moderation-oriented or curration-oriented)
3232+ Purpose *string `json:"purpose" cborgen:"purpose"`
3133}
32343335type GraphList_Labels struct {
+2-1
api/bsky/graphlistblock.go
···1515type GraphListblock struct {
1616 LexiconTypeID string `json:"$type,const=app.bsky.graph.listblock" cborgen:"$type,const=app.bsky.graph.listblock"`
1717 CreatedAt string `json:"createdAt" cborgen:"createdAt"`
1818- Subject string `json:"subject" cborgen:"subject"`
1818+ // subject: Reference (AT-URI) to the mod list record.
1919+ Subject string `json:"subject" cborgen:"subject"`
1920}
+4-2
api/bsky/graphlistitem.go
···1515type GraphListitem struct {
1616 LexiconTypeID string `json:"$type,const=app.bsky.graph.listitem" cborgen:"$type,const=app.bsky.graph.listitem"`
1717 CreatedAt string `json:"createdAt" cborgen:"createdAt"`
1818- List string `json:"list" cborgen:"list"`
1919- Subject string `json:"subject" cborgen:"subject"`
1818+ // list: Reference (AT-URI) to the list record (app.bsky.graph.list).
1919+ List string `json:"list" cborgen:"list"`
2020+ // subject: The account which is included on the list.
2121+ Subject string `json:"subject" cborgen:"subject"`
2022}
+6-4
api/bsky/richtextfacet.go
···1515)
16161717// RichtextFacet is a "main" in the app.bsky.richtext.facet schema.
1818+//
1919+// Annotation of a sub-string within rich text.
1820type RichtextFacet struct {
1921 Features []*RichtextFacet_Features_Elem `json:"features" cborgen:"features"`
2022 Index *RichtextFacet_ByteSlice `json:"index" cborgen:"index"`
···22242325// RichtextFacet_ByteSlice is a "byteSlice" in the app.bsky.richtext.facet schema.
2426//
2525-// A text segment. Start is inclusive, end is exclusive. Indices are for utf8-encoded strings.
2727+// Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text. NOTE: some languages, like Javascript, use UTF-16 or Unicode codepoints for string slice indexing; in these languages, convert to byte arrays before working with facets.
2628type RichtextFacet_ByteSlice struct {
2729 ByteEnd int64 `json:"byteEnd" cborgen:"byteEnd"`
2830 ByteStart int64 `json:"byteStart" cborgen:"byteStart"`
···112114113115// RichtextFacet_Link is a "link" in the app.bsky.richtext.facet schema.
114116//
115115-// A facet feature for links.
117117+// Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL.
116118//
117119// RECORDTYPE: RichtextFacet_Link
118120type RichtextFacet_Link struct {
···122124123125// RichtextFacet_Mention is a "mention" in the app.bsky.richtext.facet schema.
124126//
125125-// A facet feature for actor mentions.
127127+// Facet feature for mention of another account. The text is usually a handle, including a '@' prefix, but the facet reference is a DID.
126128//
127129// RECORDTYPE: RichtextFacet_Mention
128130type RichtextFacet_Mention struct {
···132134133135// RichtextFacet_Tag is a "tag" in the app.bsky.richtext.facet schema.
134136//
135135-// A hashtag.
137137+// Facet feature for a hashtag. The text usually includes a '#' prefix, but the facet reference should not (except in the case of 'double hash tags').
136138//
137139// RECORDTYPE: RichtextFacet_Tag
138140type RichtextFacet_Tag struct {
+11-1
automod/engine/persisthelpers.go
···118118 // NOTE: this is running in an inner loop (if there are multiple reports), which is a bit inefficient, but seems acceptable
119119120120 // AdminQueryModerationEvents(ctx context.Context, c *xrpc.Client, createdBy string, cursor string, inc ludeAllUserRecords bool, limit int64, sortDirection string, subject string, types []string)
121121- resp, err := comatproto.AdminQueryModerationEvents(ctx, xrpcc, xrpcc.Auth.Did, "", false, 5, "", did.String(), []string{"com.atproto.admin.defs#modEventReport"})
121121+ resp, err := comatproto.AdminQueryModerationEvents(
122122+ ctx,
123123+ xrpcc,
124124+ xrpcc.Auth.Did,
125125+ "",
126126+ false,
127127+ 5,
128128+ "",
129129+ did.String(),
130130+ []string{"com.atproto.admin.defs#modEventReport"},
131131+ )
122132 if err != nil {
123133 return false, err
124134 }
+24
bgs/bgs.go
···932932 }
933933934934 return nil
935935+ case env.Identity != nil:
936936+ log.Infow("bgs got identity event", "did", env.Identity.Did)
937937+ // Flush any cached DID documents for this user
938938+ bgs.didr.FlushCacheFor(env.Identity.Did)
939939+940940+ // Refetch the DID doc and update our cached keys and handle etc.
941941+ _, err := bgs.createExternalUser(ctx, env.Identity.Did)
942942+ if err != nil {
943943+ return err
944944+ }
945945+946946+ // Broadcast the identity event to all consumers
947947+ err = bgs.events.AddEvent(ctx, &events.XRPCStreamEvent{
948948+ Identity: &comatproto.SyncSubscribeRepos_Identity{
949949+ Did: env.Identity.Did,
950950+ Seq: env.Identity.Seq,
951951+ },
952952+ })
953953+ if err != nil {
954954+ log.Errorw("failed to broadcast Identity event", "error", err, "did", env.Identity.Did)
955955+ return fmt.Errorf("failed to broadcast Identity event: %w", err)
956956+ }
957957+958958+ return nil
935959 case env.RepoMigrate != nil:
936960 if _, err := bgs.createExternalUser(ctx, env.RepoMigrate.Did); err != nil {
937961 return err