···14141515// ModerationCreateReport_Input is the input argument to a com.atproto.moderation.createReport call.
1616type ModerationCreateReport_Input struct {
1717+ ModTool *ModerationCreateReport_ModTool `json:"modTool,omitempty" cborgen:"modTool,omitempty"`
1718 // reason: Additional context about the content and violation.
1819 Reason *string `json:"reason,omitempty" cborgen:"reason,omitempty"`
1920 // reasonType: Indicates the broad category of violation the report is for.
···5455 default:
5556 return nil
5657 }
5858+}
5959+6060+// ModerationCreateReport_ModTool is a "modTool" in the com.atproto.moderation.createReport schema.
6161+//
6262+// Moderation tool information for tracing the source of the action
6363+type ModerationCreateReport_ModTool struct {
6464+ // meta: Additional arbitrary metadata about the source
6565+ Meta *interface{} `json:"meta,omitempty" cborgen:"meta,omitempty"`
6666+ // name: Name/identifier of the source (e.g., 'bsky-app/android', 'bsky-web/chrome')
6767+ Name string `json:"name" cborgen:"name"`
5768}
58695970// ModerationCreateReport_Output is the output of a com.atproto.moderation.createReport call.
+23-2
api/ozone/moderationdefs.go
···359359 CreatorHandle *string `json:"creatorHandle,omitempty" cborgen:"creatorHandle,omitempty"`
360360 Event *ModerationDefs_ModEventView_Event `json:"event" cborgen:"event"`
361361 Id int64 `json:"id" cborgen:"id"`
362362+ ModTool *ModerationDefs_ModTool `json:"modTool,omitempty" cborgen:"modTool,omitempty"`
362363 Subject *ModerationDefs_ModEventView_Subject `json:"subject" cborgen:"subject"`
363364 SubjectBlobCids []string `json:"subjectBlobCids" cborgen:"subjectBlobCids"`
364365 SubjectHandle *string `json:"subjectHandle,omitempty" cborgen:"subjectHandle,omitempty"`
···370371 CreatedBy string `json:"createdBy" cborgen:"createdBy"`
371372 Event *ModerationDefs_ModEventViewDetail_Event `json:"event" cborgen:"event"`
372373 Id int64 `json:"id" cborgen:"id"`
374374+ ModTool *ModerationDefs_ModTool `json:"modTool,omitempty" cborgen:"modTool,omitempty"`
373375 Subject *ModerationDefs_ModEventViewDetail_Subject `json:"subject" cborgen:"subject"`
374376 SubjectBlobs []*ModerationDefs_BlobView `json:"subjectBlobs" cborgen:"subjectBlobs"`
375377}
···842844 }
843845}
844846847847+// ModerationDefs_ModTool is a "modTool" in the tools.ozone.moderation.defs schema.
848848+//
849849+// Moderation tool information for tracing the source of the action
850850+type ModerationDefs_ModTool struct {
851851+ // meta: Additional arbitrary metadata about the source
852852+ Meta *interface{} `json:"meta,omitempty" cborgen:"meta,omitempty"`
853853+ // name: Name/identifier of the source (e.g., 'automod', 'ozone/workspace')
854854+ Name string `json:"name" cborgen:"name"`
855855+}
856856+845857// ModerationDefs_Moderation is a "moderation" in the tools.ozone.moderation.defs schema.
846858type ModerationDefs_Moderation struct {
847859 SubjectStatus *ModerationDefs_SubjectStatusView `json:"subjectStatus,omitempty" cborgen:"subjectStatus,omitempty"`
···10771089}
1078109010791091type ModerationDefs_SubjectStatusView_Subject struct {
10801080- AdminDefs_RepoRef *comatprototypes.AdminDefs_RepoRef
10811081- RepoStrongRef *comatprototypes.RepoStrongRef
10921092+ AdminDefs_RepoRef *comatprototypes.AdminDefs_RepoRef
10931093+ RepoStrongRef *comatprototypes.RepoStrongRef
10941094+ ConvoDefs_MessageRef *chatbskytypes.ConvoDefs_MessageRef
10821095}
1083109610841097func (t *ModerationDefs_SubjectStatusView_Subject) MarshalJSON() ([]byte, error) {
···10901103 t.RepoStrongRef.LexiconTypeID = "com.atproto.repo.strongRef"
10911104 return json.Marshal(t.RepoStrongRef)
10921105 }
11061106+ if t.ConvoDefs_MessageRef != nil {
11071107+ t.ConvoDefs_MessageRef.LexiconTypeID = "chat.bsky.convo.defs#messageRef"
11081108+ return json.Marshal(t.ConvoDefs_MessageRef)
11091109+ }
10931110 return nil, fmt.Errorf("cannot marshal empty enum")
10941111}
10951112func (t *ModerationDefs_SubjectStatusView_Subject) UnmarshalJSON(b []byte) error {
···11051122 case "com.atproto.repo.strongRef":
11061123 t.RepoStrongRef = new(comatprototypes.RepoStrongRef)
11071124 return json.Unmarshal(b, t.RepoStrongRef)
11251125+ case "chat.bsky.convo.defs#messageRef":
11261126+ t.ConvoDefs_MessageRef = new(chatbskytypes.ConvoDefs_MessageRef)
11271127+ return json.Unmarshal(b, t.ConvoDefs_MessageRef)
1108112811091129 default:
11101130 return nil
···11151135//
11161136// Detailed view of a subject. For record subjects, the author's repo and profile will be returned.
11171137type ModerationDefs_SubjectView struct {
11381138+ Profile *util.LexiconTypeDecoder `json:"profile,omitempty" cborgen:"profile,omitempty"`
11181139 Record *ModerationDefs_RecordViewDetail `json:"record,omitempty" cborgen:"record,omitempty"`
11191140 Repo *ModerationDefs_RepoViewDetail `json:"repo,omitempty" cborgen:"repo,omitempty"`
11201141 Status *ModerationDefs_SubjectStatusView `json:"status,omitempty" cborgen:"status,omitempty"`
···11+// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
22+33+package ozone
44+55+// schema: tools.ozone.safelink.addRule
66+77+import (
88+ "context"
99+1010+ "github.com/bluesky-social/indigo/lex/util"
1111+)
1212+1313+// SafelinkAddRule_Input is the input argument to a tools.ozone.safelink.addRule call.
1414+type SafelinkAddRule_Input struct {
1515+ Action *string `json:"action" cborgen:"action"`
1616+ // comment: Optional comment about the decision
1717+ Comment *string `json:"comment,omitempty" cborgen:"comment,omitempty"`
1818+ // createdBy: Author DID. Only respected when using admin auth
1919+ CreatedBy *string `json:"createdBy,omitempty" cborgen:"createdBy,omitempty"`
2020+ Pattern *string `json:"pattern" cborgen:"pattern"`
2121+ Reason *string `json:"reason" cborgen:"reason"`
2222+ // url: The URL or domain to apply the rule to
2323+ Url string `json:"url" cborgen:"url"`
2424+}
2525+2626+// SafelinkAddRule calls the XRPC method "tools.ozone.safelink.addRule".
2727+func SafelinkAddRule(ctx context.Context, c util.LexClient, input *SafelinkAddRule_Input) (*SafelinkDefs_Event, error) {
2828+ var out SafelinkDefs_Event
2929+ if err := c.LexDo(ctx, util.Procedure, "application/json", "tools.ozone.safelink.addRule", nil, input, &out); err != nil {
3030+ return nil, err
3131+ }
3232+3333+ return &out, nil
3434+}
+43
api/ozone/safelinkdefs.go
···11+// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
22+33+package ozone
44+55+// schema: tools.ozone.safelink.defs
66+77+// SafelinkDefs_Event is a "event" in the tools.ozone.safelink.defs schema.
88+//
99+// An event for URL safety decisions
1010+type SafelinkDefs_Event struct {
1111+ Action *string `json:"action" cborgen:"action"`
1212+ // comment: Optional comment about the decision
1313+ Comment *string `json:"comment,omitempty" cborgen:"comment,omitempty"`
1414+ CreatedAt string `json:"createdAt" cborgen:"createdAt"`
1515+ // createdBy: DID of the user who created this rule
1616+ CreatedBy string `json:"createdBy" cborgen:"createdBy"`
1717+ EventType *string `json:"eventType" cborgen:"eventType"`
1818+ // id: Auto-incrementing row ID
1919+ Id int64 `json:"id" cborgen:"id"`
2020+ Pattern *string `json:"pattern" cborgen:"pattern"`
2121+ Reason *string `json:"reason" cborgen:"reason"`
2222+ // url: The URL that this rule applies to
2323+ Url string `json:"url" cborgen:"url"`
2424+}
2525+2626+// SafelinkDefs_UrlRule is a "urlRule" in the tools.ozone.safelink.defs schema.
2727+//
2828+// Input for creating a URL safety rule
2929+type SafelinkDefs_UrlRule struct {
3030+ Action *string `json:"action" cborgen:"action"`
3131+ // comment: Optional comment about the decision
3232+ Comment *string `json:"comment,omitempty" cborgen:"comment,omitempty"`
3333+ // createdAt: Timestamp when the rule was created
3434+ CreatedAt string `json:"createdAt" cborgen:"createdAt"`
3535+ // createdBy: DID of the user added the rule.
3636+ CreatedBy string `json:"createdBy" cborgen:"createdBy"`
3737+ Pattern *string `json:"pattern" cborgen:"pattern"`
3838+ Reason *string `json:"reason" cborgen:"reason"`
3939+ // updatedAt: Timestamp when the rule was last updated
4040+ UpdatedAt string `json:"updatedAt" cborgen:"updatedAt"`
4141+ // url: The URL or domain to apply the rule to
4242+ Url string `json:"url" cborgen:"url"`
4343+}
+42
api/ozone/safelinkqueryEvents.go
···11+// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
22+33+package ozone
44+55+// schema: tools.ozone.safelink.queryEvents
66+77+import (
88+ "context"
99+1010+ "github.com/bluesky-social/indigo/lex/util"
1111+)
1212+1313+// SafelinkQueryEvents_Input is the input argument to a tools.ozone.safelink.queryEvents call.
1414+type SafelinkQueryEvents_Input struct {
1515+ // cursor: Cursor for pagination
1616+ Cursor *string `json:"cursor,omitempty" cborgen:"cursor,omitempty"`
1717+ // limit: Maximum number of results to return
1818+ Limit *int64 `json:"limit,omitempty" cborgen:"limit,omitempty"`
1919+ // patternType: Filter by pattern type
2020+ PatternType *string `json:"patternType,omitempty" cborgen:"patternType,omitempty"`
2121+ // sortDirection: Sort direction
2222+ SortDirection *string `json:"sortDirection,omitempty" cborgen:"sortDirection,omitempty"`
2323+ // urls: Filter by specific URLs or domains
2424+ Urls []string `json:"urls,omitempty" cborgen:"urls,omitempty"`
2525+}
2626+2727+// SafelinkQueryEvents_Output is the output of a tools.ozone.safelink.queryEvents call.
2828+type SafelinkQueryEvents_Output struct {
2929+ // cursor: Next cursor for pagination. Only present if there are more results.
3030+ Cursor *string `json:"cursor,omitempty" cborgen:"cursor,omitempty"`
3131+ Events []*SafelinkDefs_Event `json:"events" cborgen:"events"`
3232+}
3333+3434+// SafelinkQueryEvents calls the XRPC method "tools.ozone.safelink.queryEvents".
3535+func SafelinkQueryEvents(ctx context.Context, c util.LexClient, input *SafelinkQueryEvents_Input) (*SafelinkQueryEvents_Output, error) {
3636+ var out SafelinkQueryEvents_Output
3737+ if err := c.LexDo(ctx, util.Procedure, "application/json", "tools.ozone.safelink.queryEvents", nil, input, &out); err != nil {
3838+ return nil, err
3939+ }
4040+4141+ return &out, nil
4242+}
+48
api/ozone/safelinkqueryRules.go
···11+// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
22+33+package ozone
44+55+// schema: tools.ozone.safelink.queryRules
66+77+import (
88+ "context"
99+1010+ "github.com/bluesky-social/indigo/lex/util"
1111+)
1212+1313+// SafelinkQueryRules_Input is the input argument to a tools.ozone.safelink.queryRules call.
1414+type SafelinkQueryRules_Input struct {
1515+ // actions: Filter by action types
1616+ Actions []string `json:"actions,omitempty" cborgen:"actions,omitempty"`
1717+ // createdBy: Filter by rule creator
1818+ CreatedBy *string `json:"createdBy,omitempty" cborgen:"createdBy,omitempty"`
1919+ // cursor: Cursor for pagination
2020+ Cursor *string `json:"cursor,omitempty" cborgen:"cursor,omitempty"`
2121+ // limit: Maximum number of results to return
2222+ Limit *int64 `json:"limit,omitempty" cborgen:"limit,omitempty"`
2323+ // patternType: Filter by pattern type
2424+ PatternType *string `json:"patternType,omitempty" cborgen:"patternType,omitempty"`
2525+ // reason: Filter by reason type
2626+ Reason *string `json:"reason,omitempty" cborgen:"reason,omitempty"`
2727+ // sortDirection: Sort direction
2828+ SortDirection *string `json:"sortDirection,omitempty" cborgen:"sortDirection,omitempty"`
2929+ // urls: Filter by specific URLs or domains
3030+ Urls []string `json:"urls,omitempty" cborgen:"urls,omitempty"`
3131+}
3232+3333+// SafelinkQueryRules_Output is the output of a tools.ozone.safelink.queryRules call.
3434+type SafelinkQueryRules_Output struct {
3535+ // cursor: Next cursor for pagination. Only present if there are more results.
3636+ Cursor *string `json:"cursor,omitempty" cborgen:"cursor,omitempty"`
3737+ Rules []*SafelinkDefs_UrlRule `json:"rules" cborgen:"rules"`
3838+}
3939+4040+// SafelinkQueryRules calls the XRPC method "tools.ozone.safelink.queryRules".
4141+func SafelinkQueryRules(ctx context.Context, c util.LexClient, input *SafelinkQueryRules_Input) (*SafelinkQueryRules_Output, error) {
4242+ var out SafelinkQueryRules_Output
4343+ if err := c.LexDo(ctx, util.Procedure, "application/json", "tools.ozone.safelink.queryRules", nil, input, &out); err != nil {
4444+ return nil, err
4545+ }
4646+4747+ return &out, nil
4848+}
+32
api/ozone/safelinkremoveRule.go
···11+// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
22+33+package ozone
44+55+// schema: tools.ozone.safelink.removeRule
66+77+import (
88+ "context"
99+1010+ "github.com/bluesky-social/indigo/lex/util"
1111+)
1212+1313+// SafelinkRemoveRule_Input is the input argument to a tools.ozone.safelink.removeRule call.
1414+type SafelinkRemoveRule_Input struct {
1515+ // comment: Optional comment about why the rule is being removed
1616+ Comment *string `json:"comment,omitempty" cborgen:"comment,omitempty"`
1717+ // createdBy: Optional DID of the user. Only respected when using admin auth.
1818+ CreatedBy *string `json:"createdBy,omitempty" cborgen:"createdBy,omitempty"`
1919+ Pattern *string `json:"pattern" cborgen:"pattern"`
2020+ // url: The URL or domain to remove the rule for
2121+ Url string `json:"url" cborgen:"url"`
2222+}
2323+2424+// SafelinkRemoveRule calls the XRPC method "tools.ozone.safelink.removeRule".
2525+func SafelinkRemoveRule(ctx context.Context, c util.LexClient, input *SafelinkRemoveRule_Input) (*SafelinkDefs_Event, error) {
2626+ var out SafelinkDefs_Event
2727+ if err := c.LexDo(ctx, util.Procedure, "application/json", "tools.ozone.safelink.removeRule", nil, input, &out); err != nil {
2828+ return nil, err
2929+ }
3030+3131+ return &out, nil
3232+}
+34
api/ozone/safelinkupdateRule.go
···11+// Code generated by cmd/lexgen (see Makefile's lexgen); DO NOT EDIT.
22+33+package ozone
44+55+// schema: tools.ozone.safelink.updateRule
66+77+import (
88+ "context"
99+1010+ "github.com/bluesky-social/indigo/lex/util"
1111+)
1212+1313+// SafelinkUpdateRule_Input is the input argument to a tools.ozone.safelink.updateRule call.
1414+type SafelinkUpdateRule_Input struct {
1515+ Action *string `json:"action" cborgen:"action"`
1616+ // comment: Optional comment about the update
1717+ Comment *string `json:"comment,omitempty" cborgen:"comment,omitempty"`
1818+ // createdBy: Optional DID to credit as the creator. Only respected for admin_token authentication.
1919+ CreatedBy *string `json:"createdBy,omitempty" cborgen:"createdBy,omitempty"`
2020+ Pattern *string `json:"pattern" cborgen:"pattern"`
2121+ Reason *string `json:"reason" cborgen:"reason"`
2222+ // url: The URL or domain to update the rule for
2323+ Url string `json:"url" cborgen:"url"`
2424+}
2525+2626+// SafelinkUpdateRule calls the XRPC method "tools.ozone.safelink.updateRule".
2727+func SafelinkUpdateRule(ctx context.Context, c util.LexClient, input *SafelinkUpdateRule_Input) (*SafelinkDefs_Event, error) {
2828+ var out SafelinkDefs_Event
2929+ if err := c.LexDo(ctx, util.Procedure, "application/json", "tools.ozone.safelink.updateRule", nil, input, &out); err != nil {
3030+ return nil, err
3131+ }
3232+3333+ return &out, nil
3434+}
+6-4
api/ozone/verificationdefs.go
···2222 // handle: Handle of the subject the verification applies to at the moment of verifying, which might not be the same at the time of viewing. The verification is only valid if the current handle matches the one at the time of verifying.
2323 Handle string `json:"handle" cborgen:"handle"`
2424 // issuer: The user who issued this verification.
2525- Issuer string `json:"issuer" cborgen:"issuer"`
2626- IssuerRepo *VerificationDefs_VerificationView_IssuerRepo `json:"issuerRepo,omitempty" cborgen:"issuerRepo,omitempty"`
2525+ Issuer string `json:"issuer" cborgen:"issuer"`
2626+ IssuerProfile *util.LexiconTypeDecoder `json:"issuerProfile,omitempty" cborgen:"issuerProfile,omitempty"`
2727+ IssuerRepo *VerificationDefs_VerificationView_IssuerRepo `json:"issuerRepo,omitempty" cborgen:"issuerRepo,omitempty"`
2728 // revokeReason: Describes the reason for revocation, also indicating that the verification is no longer valid.
2829 RevokeReason *string `json:"revokeReason,omitempty" cborgen:"revokeReason,omitempty"`
2930 // revokedAt: Timestamp when the verification was revoked.
···3132 // revokedBy: The user who revoked this verification.
3233 RevokedBy *string `json:"revokedBy,omitempty" cborgen:"revokedBy,omitempty"`
3334 // subject: The subject of the verification.
3434- Subject string `json:"subject" cborgen:"subject"`
3535- SubjectRepo *VerificationDefs_VerificationView_SubjectRepo `json:"subjectRepo,omitempty" cborgen:"subjectRepo,omitempty"`
3535+ Subject string `json:"subject" cborgen:"subject"`
3636+ SubjectProfile *util.LexiconTypeDecoder `json:"subjectProfile,omitempty" cborgen:"subjectProfile,omitempty"`
3737+ SubjectRepo *VerificationDefs_VerificationView_SubjectRepo `json:"subjectRepo,omitempty" cborgen:"subjectRepo,omitempty"`
3638 // uri: The AT-URI of the verification record.
3739 Uri string `json:"uri" cborgen:"uri"`
3840}