@atproto/api 0.23.2 → 0.24.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/client/index.d.ts +33 -0
  3. package/dist/client/index.d.ts.map +1 -1
  4. package/dist/client/index.js +63 -0
  5. package/dist/client/index.js.map +1 -1
  6. package/dist/client/lexicons.d.ts +3417 -1639
  7. package/dist/client/lexicons.d.ts.map +1 -1
  8. package/dist/client/lexicons.js +1159 -186
  9. package/dist/client/lexicons.js.map +1 -1
  10. package/dist/client/types/app/bsky/embed/record.d.ts +4 -0
  11. package/dist/client/types/app/bsky/embed/record.d.ts.map +1 -1
  12. package/dist/client/types/app/bsky/embed/record.js.map +1 -1
  13. package/dist/client/types/tools/ozone/inbox/defs.d.ts +94 -4
  14. package/dist/client/types/tools/ozone/inbox/defs.d.ts.map +1 -1
  15. package/dist/client/types/tools/ozone/inbox/defs.js +56 -0
  16. package/dist/client/types/tools/ozone/inbox/defs.js.map +1 -1
  17. package/dist/client/types/tools/ozone/inbox/getAccountStatus.d.ts +29 -0
  18. package/dist/client/types/tools/ozone/inbox/getAccountStatus.d.ts.map +1 -0
  19. package/dist/client/types/tools/ozone/inbox/getAccountStatus.js +14 -0
  20. package/dist/client/types/tools/ozone/inbox/getAccountStatus.js.map +1 -0
  21. package/dist/client/types/tools/ozone/inbox/getActionedSubject.d.ts +31 -0
  22. package/dist/client/types/tools/ozone/inbox/getActionedSubject.d.ts.map +1 -0
  23. package/dist/client/types/tools/ozone/inbox/getActionedSubject.js +23 -0
  24. package/dist/client/types/tools/ozone/inbox/getActionedSubject.js.map +1 -0
  25. package/dist/client/types/tools/ozone/inbox/getNotificationPreferences.d.ts +24 -0
  26. package/dist/client/types/tools/ozone/inbox/getNotificationPreferences.d.ts.map +1 -0
  27. package/dist/client/types/tools/ozone/inbox/getNotificationPreferences.js +14 -0
  28. package/dist/client/types/tools/ozone/inbox/getNotificationPreferences.js.map +1 -0
  29. package/dist/client/types/tools/ozone/inbox/getReport.d.ts +66 -0
  30. package/dist/client/types/tools/ozone/inbox/getReport.d.ts.map +1 -0
  31. package/dist/client/types/tools/ozone/inbox/getReport.js +37 -0
  32. package/dist/client/types/tools/ozone/inbox/getReport.js.map +1 -0
  33. package/dist/client/types/tools/ozone/inbox/getUnreadCount.d.ts +34 -0
  34. package/dist/client/types/tools/ozone/inbox/getUnreadCount.d.ts.map +1 -0
  35. package/dist/client/types/tools/ozone/inbox/getUnreadCount.js +21 -0
  36. package/dist/client/types/tools/ozone/inbox/getUnreadCount.js.map +1 -0
  37. package/dist/client/types/tools/ozone/inbox/listActionedSubjects.d.ts +32 -0
  38. package/dist/client/types/tools/ozone/inbox/listActionedSubjects.d.ts.map +1 -0
  39. package/dist/client/types/tools/ozone/inbox/listActionedSubjects.js +14 -0
  40. package/dist/client/types/tools/ozone/inbox/listActionedSubjects.js.map +1 -0
  41. package/dist/client/types/tools/ozone/inbox/listNotifications.d.ts +30 -0
  42. package/dist/client/types/tools/ozone/inbox/listNotifications.d.ts.map +1 -0
  43. package/dist/client/types/tools/ozone/inbox/listNotifications.js +14 -0
  44. package/dist/client/types/tools/ozone/inbox/listNotifications.js.map +1 -0
  45. package/dist/client/types/tools/ozone/inbox/listReports.d.ts +58 -0
  46. package/dist/client/types/tools/ozone/inbox/listReports.d.ts.map +1 -0
  47. package/dist/client/types/tools/ozone/inbox/listReports.js +21 -0
  48. package/dist/client/types/tools/ozone/inbox/listReports.js.map +1 -0
  49. package/dist/client/types/tools/ozone/inbox/putNotificationPreferences.d.ts +25 -0
  50. package/dist/client/types/tools/ozone/inbox/putNotificationPreferences.d.ts.map +1 -0
  51. package/dist/client/types/tools/ozone/inbox/putNotificationPreferences.js +14 -0
  52. package/dist/client/types/tools/ozone/inbox/putNotificationPreferences.js.map +1 -0
  53. package/dist/client/types/tools/ozone/inbox/updateSeen.d.ts +27 -0
  54. package/dist/client/types/tools/ozone/inbox/updateSeen.d.ts.map +1 -0
  55. package/dist/client/types/tools/ozone/inbox/updateSeen.js +14 -0
  56. package/dist/client/types/tools/ozone/inbox/updateSeen.js.map +1 -0
  57. package/dist/client/types/tools/ozone/moderation/defs.d.ts +6 -0
  58. package/dist/client/types/tools/ozone/moderation/defs.d.ts.map +1 -1
  59. package/dist/client/types/tools/ozone/moderation/defs.js.map +1 -1
  60. package/dist/client/types/tools/ozone/report/defs.d.ts +10 -0
  61. package/dist/client/types/tools/ozone/report/defs.d.ts.map +1 -1
  62. package/dist/client/types/tools/ozone/report/defs.js.map +1 -1
  63. package/dist/client/types/tools/ozone/server/getCapabilities.d.ts +27 -0
  64. package/dist/client/types/tools/ozone/server/getCapabilities.d.ts.map +1 -0
  65. package/dist/client/types/tools/ozone/server/getCapabilities.js +21 -0
  66. package/dist/client/types/tools/ozone/server/getCapabilities.js.map +1 -0
  67. package/package.json +1 -1
@@ -3128,6 +3128,14 @@ export const schemaDict = {
3128
3128
  quoteCount: {
3129
3129
  type: 'integer',
3130
3130
  },
3131
+ opThreadPostIndex: {
3132
+ type: 'integer',
3133
+ description: 'The 1-indexed position of this post within the contiguous OP thread. Only present when this post is part of the OP thread.',
3134
+ },
3135
+ opThreadPostCount: {
3136
+ type: 'integer',
3137
+ description: 'The total number of posts in the contiguous OP thread that this post belongs to. Only present when this post is part of the OP thread.',
3138
+ },
3131
3139
  embeds: {
3132
3140
  type: 'array',
3133
3141
  items: {
@@ -20676,7 +20684,14 @@ export const schemaDict = {
20676
20684
  subjectView: {
20677
20685
  type: 'object',
20678
20686
  description: 'A subject belonging to the viewer that has moderation actions against it.',
20679
- required: ['src', 'subject', 'enforcement', 'createdAt', 'updatedAt'],
20687
+ required: [
20688
+ 'src',
20689
+ 'subject',
20690
+ 'enforcement',
20691
+ 'isRead',
20692
+ 'createdAt',
20693
+ 'updatedAt',
20694
+ ],
20680
20695
  properties: {
20681
20696
  src: {
20682
20697
  type: 'string',
@@ -20720,6 +20735,9 @@ export const schemaDict = {
20720
20735
  type: 'string',
20721
20736
  format: 'datetime',
20722
20737
  },
20738
+ isRead: {
20739
+ type: 'boolean',
20740
+ },
20723
20741
  },
20724
20742
  },
20725
20743
  enforcementView: {
@@ -20778,10 +20796,6 @@ export const schemaDict = {
20778
20796
  format: 'datetime',
20779
20797
  description: "When the appeal's report was closed.",
20780
20798
  },
20781
- note: {
20782
- type: 'string',
20783
- description: 'Moderator explanation, from the publicNote on the closing activity. Absent if none was written.',
20784
- },
20785
20799
  appealableUntil: {
20786
20800
  type: 'string',
20787
20801
  format: 'datetime',
@@ -20825,257 +20839,1130 @@ export const schemaDict = {
20825
20839
  description: 'Label values, for labelApplied/labelRemoved.',
20826
20840
  },
20827
20841
  policies: {
20828
- type: 'array',
20829
- items: {
20830
- type: 'string',
20831
- },
20832
- description: 'Policies that were applied in this action.',
20833
- },
20834
- },
20835
- },
20836
- },
20837
- },
20838
- ToolsOzoneModerationCancelScheduledActions: {
20839
- lexicon: 1,
20840
- id: 'tools.ozone.moderation.cancelScheduledActions',
20841
- defs: {
20842
- main: {
20843
- type: 'procedure',
20844
- description: 'Cancel all pending scheduled moderation actions for specified subjects',
20845
- input: {
20846
- encoding: 'application/json',
20847
- schema: {
20848
- type: 'object',
20849
- required: ['subjects'],
20850
- properties: {
20851
- subjects: {
20852
- type: 'array',
20853
- maxLength: 100,
20854
- items: {
20855
- type: 'string',
20856
- format: 'did',
20857
- },
20858
- description: 'Array of DID subjects to cancel scheduled actions for',
20859
- },
20860
- comment: {
20861
- type: 'string',
20862
- description: 'Optional comment describing the reason for cancellation',
20863
- },
20864
- },
20865
- },
20866
- },
20867
- output: {
20868
- encoding: 'application/json',
20869
- schema: {
20870
- type: 'ref',
20871
- ref: 'lex:tools.ozone.moderation.cancelScheduledActions#cancellationResults',
20872
- },
20873
- },
20874
- },
20875
- cancellationResults: {
20876
- type: 'object',
20877
- required: ['succeeded', 'failed'],
20878
- properties: {
20879
- succeeded: {
20880
- type: 'array',
20881
- items: {
20882
- type: 'string',
20883
- format: 'did',
20884
- },
20885
- description: 'DIDs for which all pending scheduled actions were successfully cancelled',
20886
- },
20887
- failed: {
20888
20842
  type: 'array',
20889
20843
  items: {
20890
20844
  type: 'ref',
20891
- ref: 'lex:tools.ozone.moderation.cancelScheduledActions#failedCancellation',
20845
+ ref: 'lex:tools.ozone.inbox.defs#policyView',
20892
20846
  },
20893
- description: 'DIDs for which cancellation failed with error details',
20847
+ description: 'Policies applied by a takedown action.',
20894
20848
  },
20895
20849
  },
20896
20850
  },
20897
- failedCancellation: {
20851
+ policyView: {
20898
20852
  type: 'object',
20899
- required: ['did', 'error'],
20853
+ required: ['key', 'displayName', 'link'],
20900
20854
  properties: {
20901
- did: {
20855
+ key: {
20902
20856
  type: 'string',
20903
- format: 'did',
20904
20857
  },
20905
- error: {
20858
+ displayName: {
20906
20859
  type: 'string',
20907
20860
  },
20908
- errorCode: {
20861
+ link: {
20909
20862
  type: 'string',
20863
+ format: 'uri',
20910
20864
  },
20911
20865
  },
20912
20866
  },
20913
- },
20914
- },
20915
- ToolsOzoneModerationDefs: {
20916
- lexicon: 1,
20917
- id: 'tools.ozone.moderation.defs',
20918
- defs: {
20919
- modEventView: {
20867
+ subjectViewDetail: {
20920
20868
  type: 'object',
20869
+ description: 'A subject with a page of its action history and an aggregate report summary. Follow cursor to retrieve older actions; enforcement and appeal describe the current subject state on every page.',
20921
20870
  required: [
20922
- 'id',
20923
- 'event',
20871
+ 'src',
20924
20872
  'subject',
20925
- 'subjectBlobCids',
20926
- 'createdBy',
20873
+ 'enforcement',
20874
+ 'isRead',
20875
+ 'actions',
20927
20876
  'createdAt',
20877
+ 'updatedAt',
20928
20878
  ],
20929
20879
  properties: {
20930
- id: {
20931
- type: 'integer',
20880
+ src: {
20881
+ type: 'string',
20882
+ format: 'did',
20932
20883
  },
20933
- event: {
20934
- type: 'union',
20935
- refs: [
20936
- 'lex:tools.ozone.moderation.defs#modEventTakedown',
20937
- 'lex:tools.ozone.moderation.defs#modEventReverseTakedown',
20938
- 'lex:tools.ozone.moderation.defs#modEventComment',
20939
- 'lex:tools.ozone.moderation.defs#modEventReport',
20940
- 'lex:tools.ozone.moderation.defs#modEventLabel',
20941
- 'lex:tools.ozone.moderation.defs#modEventAcknowledge',
20942
- 'lex:tools.ozone.moderation.defs#modEventEscalate',
20943
- 'lex:tools.ozone.moderation.defs#modEventMute',
20944
- 'lex:tools.ozone.moderation.defs#modEventUnmute',
20945
- 'lex:tools.ozone.moderation.defs#modEventMuteReporter',
20946
- 'lex:tools.ozone.moderation.defs#modEventUnmuteReporter',
20947
- 'lex:tools.ozone.moderation.defs#modEventEmail',
20948
- 'lex:tools.ozone.moderation.defs#modEventResolveAppeal',
20949
- 'lex:tools.ozone.moderation.defs#modEventDivert',
20950
- 'lex:tools.ozone.moderation.defs#modEventTag',
20951
- 'lex:tools.ozone.moderation.defs#accountEvent',
20952
- 'lex:tools.ozone.moderation.defs#identityEvent',
20953
- 'lex:tools.ozone.moderation.defs#recordEvent',
20954
- 'lex:tools.ozone.moderation.defs#modEventPriorityScore',
20955
- 'lex:tools.ozone.moderation.defs#ageAssuranceEvent',
20956
- 'lex:tools.ozone.moderation.defs#ageAssuranceOverrideEvent',
20957
- 'lex:tools.ozone.moderation.defs#ageAssurancePurgeEvent',
20958
- 'lex:tools.ozone.moderation.defs#revokeAccountCredentialsEvent',
20959
- 'lex:tools.ozone.moderation.defs#scheduleTakedownEvent',
20960
- 'lex:tools.ozone.moderation.defs#cancelScheduledTakedownEvent',
20961
- ],
20884
+ isRead: {
20885
+ type: 'boolean',
20962
20886
  },
20963
20887
  subject: {
20964
20888
  type: 'union',
20965
20889
  refs: [
20966
20890
  'lex:com.atproto.admin.defs#repoRef',
20967
20891
  'lex:com.atproto.repo.strongRef',
20968
- 'lex:chat.bsky.convo.defs#messageRef',
20969
- 'lex:chat.bsky.convo.defs#convoRef',
20970
20892
  ],
20971
20893
  },
20972
- subjectBlobCids: {
20894
+ record: {
20895
+ type: 'unknown',
20896
+ description: 'Raw record JSON for the subject, when the subject is a record and the record is available.',
20897
+ },
20898
+ enforcement: {
20899
+ type: 'ref',
20900
+ ref: 'lex:tools.ozone.inbox.defs#enforcementView',
20901
+ },
20902
+ appeal: {
20903
+ type: 'ref',
20904
+ ref: 'lex:tools.ozone.inbox.defs#appealView',
20905
+ },
20906
+ availableActions: {
20973
20907
  type: 'array',
20974
20908
  items: {
20975
20909
  type: 'string',
20910
+ knownValues: ['appeal'],
20976
20911
  },
20977
20912
  },
20978
- createdBy: {
20913
+ actions: {
20914
+ type: 'array',
20915
+ description: 'A page of action history, most recent first. Reversal timestamps include changes outside this page.',
20916
+ maxLength: 100,
20917
+ items: {
20918
+ type: 'ref',
20919
+ ref: 'lex:tools.ozone.inbox.defs#actionView',
20920
+ },
20921
+ },
20922
+ cursor: {
20979
20923
  type: 'string',
20980
- format: 'did',
20924
+ description: 'Cursor for the next page of action history. Omitted when no older actions remain.',
20925
+ },
20926
+ reports: {
20927
+ type: 'ref',
20928
+ ref: 'lex:tools.ozone.inbox.defs#reportsSummary',
20929
+ description: 'Omitted when the subject has never been reported, e.g. proactive enforcement.',
20981
20930
  },
20982
20931
  createdAt: {
20983
20932
  type: 'string',
20984
20933
  format: 'datetime',
20985
20934
  },
20986
- creatorHandle: {
20935
+ updatedAt: {
20987
20936
  type: 'string',
20937
+ format: 'datetime',
20988
20938
  },
20989
- subjectHandle: {
20939
+ },
20940
+ },
20941
+ reportsSummary: {
20942
+ type: 'object',
20943
+ description: 'Aggregate view of reports filed against this subject. Deliberately carries no report IDs, no count, and no reporter identities.',
20944
+ required: ['reasonTypes', 'firstReportedOn', 'lastReportedOn'],
20945
+ properties: {
20946
+ reasonTypes: {
20947
+ type: 'array',
20948
+ description: 'Distinct reason types reported, deduplicated and unordered. Excludes reasonAppeal.',
20949
+ items: {
20950
+ type: 'string',
20951
+ },
20952
+ },
20953
+ firstReportedOn: {
20990
20954
  type: 'string',
20955
+ format: 'datetime',
20956
+ description: 'Day of the earliest report, truncated to midnight UTC. Render as a date; the time component is not meaningful.',
20991
20957
  },
20992
- modTool: {
20993
- type: 'ref',
20994
- ref: 'lex:tools.ozone.moderation.defs#modTool',
20958
+ lastReportedOn: {
20959
+ type: 'string',
20960
+ format: 'datetime',
20961
+ description: 'Day of the most recent report, truncated to midnight UTC. Render as a date; the time component is not meaningful.',
20995
20962
  },
20996
20963
  },
20997
20964
  },
20998
- modEventViewDetail: {
20965
+ notification: {
20999
20966
  type: 'object',
21000
- required: [
21001
- 'id',
21002
- 'event',
21003
- 'subject',
21004
- 'subjectBlobs',
21005
- 'createdBy',
21006
- 'createdAt',
21007
- ],
20967
+ required: ['id', 'reason', 'target', 'isRead', 'createdAt'],
21008
20968
  properties: {
21009
20969
  id: {
21010
20970
  type: 'integer',
21011
20971
  },
21012
- event: {
21013
- type: 'union',
21014
- refs: [
21015
- 'lex:tools.ozone.moderation.defs#modEventTakedown',
21016
- 'lex:tools.ozone.moderation.defs#modEventReverseTakedown',
21017
- 'lex:tools.ozone.moderation.defs#modEventComment',
21018
- 'lex:tools.ozone.moderation.defs#modEventReport',
21019
- 'lex:tools.ozone.moderation.defs#modEventLabel',
21020
- 'lex:tools.ozone.moderation.defs#modEventAcknowledge',
21021
- 'lex:tools.ozone.moderation.defs#modEventEscalate',
21022
- 'lex:tools.ozone.moderation.defs#modEventMute',
21023
- 'lex:tools.ozone.moderation.defs#modEventUnmute',
21024
- 'lex:tools.ozone.moderation.defs#modEventMuteReporter',
21025
- 'lex:tools.ozone.moderation.defs#modEventUnmuteReporter',
21026
- 'lex:tools.ozone.moderation.defs#modEventEmail',
21027
- 'lex:tools.ozone.moderation.defs#modEventResolveAppeal',
21028
- 'lex:tools.ozone.moderation.defs#modEventDivert',
21029
- 'lex:tools.ozone.moderation.defs#modEventTag',
21030
- 'lex:tools.ozone.moderation.defs#accountEvent',
21031
- 'lex:tools.ozone.moderation.defs#identityEvent',
21032
- 'lex:tools.ozone.moderation.defs#recordEvent',
21033
- 'lex:tools.ozone.moderation.defs#modEventPriorityScore',
21034
- 'lex:tools.ozone.moderation.defs#ageAssuranceEvent',
21035
- 'lex:tools.ozone.moderation.defs#ageAssuranceOverrideEvent',
21036
- 'lex:tools.ozone.moderation.defs#ageAssurancePurgeEvent',
21037
- 'lex:tools.ozone.moderation.defs#revokeAccountCredentialsEvent',
21038
- 'lex:tools.ozone.moderation.defs#scheduleTakedownEvent',
21039
- 'lex:tools.ozone.moderation.defs#cancelScheduledTakedownEvent',
20972
+ reason: {
20973
+ type: 'string',
20974
+ knownValues: [
20975
+ 'reportResolved',
20976
+ 'reportReopened',
20977
+ 'actionTaken',
20978
+ 'actionReversed',
20979
+ 'appealResolved',
20980
+ 'standingChanged',
21040
20981
  ],
21041
20982
  },
21042
- subject: {
20983
+ target: {
21043
20984
  type: 'union',
21044
20985
  refs: [
21045
- 'lex:tools.ozone.moderation.defs#repoView',
21046
- 'lex:tools.ozone.moderation.defs#repoViewNotFound',
21047
- 'lex:tools.ozone.moderation.defs#recordView',
21048
- 'lex:tools.ozone.moderation.defs#recordViewNotFound',
21049
- 'lex:tools.ozone.moderation.defs#convoView',
20986
+ 'lex:tools.ozone.inbox.defs#reportRef',
20987
+ 'lex:tools.ozone.inbox.defs#subjectRef',
20988
+ 'lex:tools.ozone.inbox.defs#standingRef',
21050
20989
  ],
21051
20990
  },
21052
- subjectBlobs: {
21053
- type: 'array',
21054
- items: {
21055
- type: 'ref',
21056
- ref: 'lex:tools.ozone.moderation.defs#blobView',
21057
- },
21058
- },
21059
- createdBy: {
21060
- type: 'string',
21061
- format: 'did',
20991
+ isRead: {
20992
+ type: 'boolean',
21062
20993
  },
21063
20994
  createdAt: {
21064
20995
  type: 'string',
21065
20996
  format: 'datetime',
21066
20997
  },
21067
- modTool: {
21068
- type: 'ref',
21069
- ref: 'lex:tools.ozone.moderation.defs#modTool',
21070
- },
21071
20998
  },
21072
20999
  },
21073
- subjectStatusView: {
21000
+ notificationPreferences: {
21074
21001
  type: 'object',
21075
- required: ['id', 'subject', 'createdAt', 'updatedAt', 'reviewState'],
21002
+ required: ['push'],
21076
21003
  properties: {
21077
- id: {
21078
- type: 'integer',
21004
+ push: {
21005
+ type: 'boolean',
21006
+ },
21007
+ },
21008
+ },
21009
+ reportRef: {
21010
+ type: 'object',
21011
+ description: "Reference to a report by its report table ID, as used by getReport and Ozone's report detail page.",
21012
+ required: ['reportId'],
21013
+ properties: {
21014
+ reportId: {
21015
+ type: 'integer',
21016
+ },
21017
+ subject: {
21018
+ type: 'union',
21019
+ refs: [
21020
+ 'lex:com.atproto.admin.defs#repoRef',
21021
+ 'lex:com.atproto.repo.strongRef',
21022
+ ],
21023
+ },
21024
+ status: {
21025
+ type: 'string',
21026
+ knownValues: ['pending', 'resolved'],
21027
+ },
21028
+ },
21029
+ },
21030
+ subjectRef: {
21031
+ type: 'object',
21032
+ required: ['subject'],
21033
+ properties: {
21034
+ subject: {
21035
+ type: 'union',
21036
+ refs: [
21037
+ 'lex:com.atproto.admin.defs#repoRef',
21038
+ 'lex:com.atproto.repo.strongRef',
21039
+ ],
21040
+ },
21041
+ actionType: {
21042
+ type: 'string',
21043
+ },
21044
+ actionId: {
21045
+ type: 'integer',
21046
+ },
21047
+ },
21048
+ },
21049
+ standingRef: {
21050
+ type: 'object',
21051
+ required: ['standing'],
21052
+ properties: {
21053
+ standing: {
21054
+ type: 'string',
21055
+ knownValues: ['good', 'warning', 'atRisk'],
21056
+ },
21057
+ previousStanding: {
21058
+ type: 'string',
21059
+ knownValues: ['good', 'warning', 'atRisk'],
21060
+ },
21061
+ },
21062
+ },
21063
+ },
21064
+ },
21065
+ ToolsOzoneInboxGetAccountStatus: {
21066
+ lexicon: 1,
21067
+ id: 'tools.ozone.inbox.getAccountStatus',
21068
+ defs: {
21069
+ main: {
21070
+ type: 'query',
21071
+ description: "Get the authenticated account's current standing with this moderation service.",
21072
+ output: {
21073
+ encoding: 'application/json',
21074
+ schema: {
21075
+ type: 'object',
21076
+ required: ['src', 'standing', 'updatedAt'],
21077
+ properties: {
21078
+ src: {
21079
+ type: 'string',
21080
+ format: 'did',
21081
+ description: 'DID of the moderation service returning this status.',
21082
+ },
21083
+ standing: {
21084
+ type: 'string',
21085
+ knownValues: ['good', 'warning', 'atRisk'],
21086
+ },
21087
+ updatedAt: {
21088
+ type: 'string',
21089
+ format: 'datetime',
21090
+ description: 'Newest account-status update or strike timestamp used to derive this standing, or the Unix epoch when neither exists. This is not a standing-transition timestamp; expiry can change standing without changing this value.',
21091
+ },
21092
+ expiresAt: {
21093
+ type: 'string',
21094
+ format: 'datetime',
21095
+ description: 'Time at which the current suspension expires. Present only for a temporary suspension.',
21096
+ },
21097
+ },
21098
+ },
21099
+ },
21100
+ parameters: {
21101
+ type: 'params',
21102
+ properties: {
21103
+ did: {
21104
+ type: 'string',
21105
+ format: 'did',
21106
+ description: 'Account to preview. Only Ozone staff can read another account; this does not change its read state.',
21107
+ },
21108
+ },
21109
+ },
21110
+ },
21111
+ },
21112
+ },
21113
+ ToolsOzoneInboxGetActionedSubject: {
21114
+ lexicon: 1,
21115
+ id: 'tools.ozone.inbox.getActionedSubject',
21116
+ defs: {
21117
+ main: {
21118
+ type: 'query',
21119
+ description: 'Get a subject belonging to the authenticated account, including its moderation action history from this moderation service.',
21120
+ parameters: {
21121
+ type: 'params',
21122
+ required: ['subject'],
21123
+ properties: {
21124
+ did: {
21125
+ type: 'string',
21126
+ format: 'did',
21127
+ description: 'Account to preview. Defaults to the authenticated account; another account requires an active moderator, triage, or admin credential.',
21128
+ },
21129
+ subject: {
21130
+ type: 'string',
21131
+ format: 'uri',
21132
+ description: 'DID or AT-URI of the subject to retrieve.',
21133
+ },
21134
+ limit: {
21135
+ type: 'integer',
21136
+ minimum: 1,
21137
+ maximum: 100,
21138
+ default: 50,
21139
+ description: 'Maximum number of actions to return.',
21140
+ },
21141
+ cursor: {
21142
+ type: 'string',
21143
+ description: "Opaque cursor for the next page of this subject's action history.",
21144
+ },
21145
+ },
21146
+ },
21147
+ output: {
21148
+ encoding: 'application/json',
21149
+ schema: {
21150
+ type: 'ref',
21151
+ ref: 'lex:tools.ozone.inbox.defs#subjectViewDetail',
21152
+ },
21153
+ },
21154
+ errors: [
21155
+ {
21156
+ name: 'NotFound',
21157
+ description: 'No subject was found, or the authenticated account does not own the subject.',
21158
+ },
21159
+ ],
21160
+ },
21161
+ },
21162
+ },
21163
+ ToolsOzoneInboxGetNotificationPreferences: {
21164
+ lexicon: 1,
21165
+ id: 'tools.ozone.inbox.getNotificationPreferences',
21166
+ defs: {
21167
+ main: {
21168
+ type: 'query',
21169
+ parameters: {
21170
+ type: 'params',
21171
+ properties: {
21172
+ did: {
21173
+ type: 'string',
21174
+ format: 'did',
21175
+ description: 'Account to preview. Only Ozone staff can read another account; this does not change its read state.',
21176
+ },
21177
+ },
21178
+ },
21179
+ output: {
21180
+ encoding: 'application/json',
21181
+ schema: {
21182
+ type: 'object',
21183
+ required: ['preferences'],
21184
+ properties: {
21185
+ preferences: {
21186
+ type: 'ref',
21187
+ ref: 'lex:tools.ozone.inbox.defs#notificationPreferences',
21188
+ },
21189
+ },
21190
+ },
21191
+ },
21192
+ },
21193
+ },
21194
+ },
21195
+ ToolsOzoneInboxGetReport: {
21196
+ lexicon: 1,
21197
+ id: 'tools.ozone.inbox.getReport',
21198
+ defs: {
21199
+ main: {
21200
+ type: 'query',
21201
+ description: 'Get a moderation report submitted by the authenticated account to this moderation service.',
21202
+ parameters: {
21203
+ type: 'params',
21204
+ required: ['id'],
21205
+ properties: {
21206
+ did: {
21207
+ type: 'string',
21208
+ format: 'did',
21209
+ description: 'Reporter to preview. Defaults to the authenticated account; another account requires an active moderator, triage, or admin credential.',
21210
+ },
21211
+ id: {
21212
+ type: 'integer',
21213
+ description: 'Report ID (report table ID), as returned by listReports.',
21214
+ },
21215
+ },
21216
+ },
21217
+ output: {
21218
+ encoding: 'application/json',
21219
+ schema: {
21220
+ type: 'object',
21221
+ required: ['report'],
21222
+ properties: {
21223
+ report: {
21224
+ type: 'ref',
21225
+ ref: 'lex:tools.ozone.inbox.getReport#reportView',
21226
+ },
21227
+ resolution: {
21228
+ type: 'ref',
21229
+ ref: 'lex:tools.ozone.inbox.getReport#resolutionView',
21230
+ description: 'Present only when the report is resolved.',
21231
+ },
21232
+ },
21233
+ },
21234
+ },
21235
+ errors: [
21236
+ {
21237
+ name: 'NotFound',
21238
+ description: 'No report was found, or the authenticated account did not submit it.',
21239
+ },
21240
+ ],
21241
+ },
21242
+ reportView: {
21243
+ type: 'object',
21244
+ required: [
21245
+ 'src',
21246
+ 'id',
21247
+ 'reasonType',
21248
+ 'subject',
21249
+ 'status',
21250
+ 'createdAt',
21251
+ 'updatedAt',
21252
+ ],
21253
+ properties: {
21254
+ src: {
21255
+ type: 'string',
21256
+ format: 'did',
21257
+ description: 'DID of the moderation service that received the report.',
21258
+ },
21259
+ id: {
21260
+ type: 'integer',
21261
+ description: "Report ID (report table ID), used by Ozone's report detail page.",
21262
+ },
21263
+ reasonType: {
21264
+ type: 'string',
21265
+ description: 'The exact fully-qualified reason NSID submitted with and stored on the report.',
21266
+ },
21267
+ reason: {
21268
+ type: 'string',
21269
+ maxGraphemes: 2000,
21270
+ maxLength: 20000,
21271
+ },
21272
+ subject: {
21273
+ type: 'union',
21274
+ refs: [
21275
+ 'lex:com.atproto.admin.defs#repoRef',
21276
+ 'lex:com.atproto.repo.strongRef',
21277
+ 'lex:chat.bsky.convo.defs#messageRef',
21278
+ 'lex:chat.bsky.convo.defs#convoRef',
21279
+ ],
21280
+ },
21281
+ record: {
21282
+ type: 'unknown',
21283
+ description: 'Raw record JSON for the subject, when the subject is a record and the record is available.',
21284
+ },
21285
+ status: {
21286
+ type: 'string',
21287
+ knownValues: ['pending', 'resolved'],
21288
+ },
21289
+ createdAt: {
21290
+ type: 'string',
21291
+ format: 'datetime',
21292
+ },
21293
+ updatedAt: {
21294
+ type: 'string',
21295
+ format: 'datetime',
21296
+ },
21297
+ },
21298
+ },
21299
+ resolutionView: {
21300
+ type: 'object',
21301
+ required: ['outcome', 'resolvedAt'],
21302
+ properties: {
21303
+ outcome: {
21304
+ type: 'string',
21305
+ knownValues: ['actionTaken', 'noAction', 'other'],
21306
+ },
21307
+ actionTaken: {
21308
+ type: 'string',
21309
+ description: "Public action associated with this report's resolution. See the public action vocabulary table.",
21310
+ },
21311
+ scope: {
21312
+ type: 'string',
21313
+ knownValues: ['network', 'app', 'labelOnly'],
21314
+ },
21315
+ resolvedAt: {
21316
+ type: 'string',
21317
+ format: 'datetime',
21318
+ },
21319
+ },
21320
+ },
21321
+ },
21322
+ },
21323
+ ToolsOzoneInboxGetUnreadCount: {
21324
+ lexicon: 1,
21325
+ id: 'tools.ozone.inbox.getUnreadCount',
21326
+ defs: {
21327
+ main: {
21328
+ type: 'query',
21329
+ parameters: {
21330
+ type: 'params',
21331
+ properties: {
21332
+ section: {
21333
+ type: 'string',
21334
+ knownValues: ['reports', 'subjects', 'accountStatus'],
21335
+ },
21336
+ did: {
21337
+ type: 'string',
21338
+ format: 'did',
21339
+ description: 'Account to preview. Only Ozone staff can read another account; this does not change its read state.',
21340
+ },
21341
+ },
21342
+ },
21343
+ output: {
21344
+ encoding: 'application/json',
21345
+ schema: {
21346
+ type: 'object',
21347
+ required: ['unreadCounts'],
21348
+ properties: {
21349
+ unreadCounts: {
21350
+ type: 'ref',
21351
+ ref: 'lex:tools.ozone.inbox.getUnreadCount#unreadCounts',
21352
+ },
21353
+ },
21354
+ },
21355
+ },
21356
+ },
21357
+ unreadCounts: {
21358
+ type: 'object',
21359
+ required: ['total'],
21360
+ properties: {
21361
+ total: {
21362
+ type: 'integer',
21363
+ minimum: 0,
21364
+ },
21365
+ reports: {
21366
+ type: 'integer',
21367
+ minimum: 0,
21368
+ },
21369
+ subjects: {
21370
+ type: 'integer',
21371
+ minimum: 0,
21372
+ },
21373
+ accountStatus: {
21374
+ type: 'integer',
21375
+ minimum: 0,
21376
+ maximum: 1,
21377
+ },
21378
+ },
21379
+ },
21380
+ },
21381
+ },
21382
+ ToolsOzoneInboxListActionedSubjects: {
21383
+ lexicon: 1,
21384
+ id: 'tools.ozone.inbox.listActionedSubjects',
21385
+ defs: {
21386
+ main: {
21387
+ type: 'query',
21388
+ description: 'List subjects belonging to the authenticated account that have moderation actions from this moderation service.',
21389
+ parameters: {
21390
+ type: 'params',
21391
+ properties: {
21392
+ did: {
21393
+ type: 'string',
21394
+ format: 'did',
21395
+ description: 'Account to preview. Defaults to the authenticated account; another account requires an active moderator, triage, or admin credential.',
21396
+ },
21397
+ filter: {
21398
+ type: 'string',
21399
+ default: 'all',
21400
+ enum: ['all', 'pending', 'resolved', 'unread'],
21401
+ description: "Filter subject activity. pending includes subjects whose latest appeal report is not closed; resolved includes subjects whose latest appeal report is closed. unread includes subjects whose public updatedAt is after the subjects section's seenAt watermark.",
21402
+ },
21403
+ sortField: {
21404
+ type: 'string',
21405
+ default: 'updatedAt',
21406
+ enum: ['createdAt', 'updatedAt'],
21407
+ },
21408
+ sortDirection: {
21409
+ type: 'string',
21410
+ default: 'desc',
21411
+ enum: ['asc', 'desc'],
21412
+ },
21413
+ limit: {
21414
+ type: 'integer',
21415
+ minimum: 1,
21416
+ maximum: 100,
21417
+ default: 50,
21418
+ },
21419
+ cursor: {
21420
+ type: 'string',
21421
+ description: 'An opaque cursor for pagination.',
21422
+ },
21423
+ },
21424
+ },
21425
+ output: {
21426
+ encoding: 'application/json',
21427
+ schema: {
21428
+ type: 'object',
21429
+ required: ['subjects'],
21430
+ properties: {
21431
+ cursor: {
21432
+ type: 'string',
21433
+ },
21434
+ subjects: {
21435
+ type: 'array',
21436
+ items: {
21437
+ type: 'ref',
21438
+ ref: 'lex:tools.ozone.inbox.defs#subjectView',
21439
+ },
21440
+ },
21441
+ },
21442
+ },
21443
+ },
21444
+ },
21445
+ },
21446
+ },
21447
+ ToolsOzoneInboxListNotifications: {
21448
+ lexicon: 1,
21449
+ id: 'tools.ozone.inbox.listNotifications',
21450
+ defs: {
21451
+ main: {
21452
+ type: 'query',
21453
+ parameters: {
21454
+ type: 'params',
21455
+ properties: {
21456
+ section: {
21457
+ type: 'string',
21458
+ knownValues: ['reports', 'subjects', 'accountStatus'],
21459
+ },
21460
+ reasons: {
21461
+ type: 'array',
21462
+ items: {
21463
+ type: 'string',
21464
+ knownValues: [
21465
+ 'reportResolved',
21466
+ 'reportReopened',
21467
+ 'actionTaken',
21468
+ 'actionReversed',
21469
+ 'appealResolved',
21470
+ 'standingChanged',
21471
+ ],
21472
+ },
21473
+ },
21474
+ unreadOnly: {
21475
+ type: 'boolean',
21476
+ default: false,
21477
+ },
21478
+ limit: {
21479
+ type: 'integer',
21480
+ minimum: 1,
21481
+ maximum: 100,
21482
+ default: 50,
21483
+ },
21484
+ cursor: {
21485
+ type: 'string',
21486
+ },
21487
+ did: {
21488
+ type: 'string',
21489
+ format: 'did',
21490
+ description: 'Account to preview. Only Ozone staff can read another account; this does not change its read state.',
21491
+ },
21492
+ },
21493
+ },
21494
+ output: {
21495
+ encoding: 'application/json',
21496
+ schema: {
21497
+ type: 'object',
21498
+ required: ['notifications'],
21499
+ properties: {
21500
+ cursor: {
21501
+ type: 'string',
21502
+ },
21503
+ notifications: {
21504
+ type: 'array',
21505
+ items: {
21506
+ type: 'ref',
21507
+ ref: 'lex:tools.ozone.inbox.defs#notification',
21508
+ },
21509
+ },
21510
+ },
21511
+ },
21512
+ },
21513
+ },
21514
+ },
21515
+ },
21516
+ ToolsOzoneInboxListReports: {
21517
+ lexicon: 1,
21518
+ id: 'tools.ozone.inbox.listReports',
21519
+ defs: {
21520
+ main: {
21521
+ type: 'query',
21522
+ description: 'List moderation reports submitted by the authenticated account to this moderation service.',
21523
+ parameters: {
21524
+ type: 'params',
21525
+ properties: {
21526
+ did: {
21527
+ type: 'string',
21528
+ format: 'did',
21529
+ description: 'Account to preview. Defaults to the authenticated account; another account requires an active moderator, triage, or admin credential.',
21530
+ },
21531
+ filter: {
21532
+ type: 'string',
21533
+ default: 'all',
21534
+ enum: ['all', 'pending', 'resolved', 'unread'],
21535
+ description: "Filter report activity. unread includes reports whose updatedAt is after the reports section's seenAt watermark.",
21536
+ },
21537
+ sortField: {
21538
+ type: 'string',
21539
+ default: 'updatedAt',
21540
+ enum: ['createdAt', 'updatedAt'],
21541
+ },
21542
+ sortDirection: {
21543
+ type: 'string',
21544
+ default: 'desc',
21545
+ enum: ['asc', 'desc'],
21546
+ },
21547
+ limit: {
21548
+ type: 'integer',
21549
+ minimum: 1,
21550
+ maximum: 100,
21551
+ default: 50,
21552
+ },
21553
+ cursor: {
21554
+ type: 'string',
21555
+ description: 'An opaque cursor for pagination.',
21556
+ },
21557
+ },
21558
+ },
21559
+ output: {
21560
+ encoding: 'application/json',
21561
+ schema: {
21562
+ type: 'object',
21563
+ required: ['reports'],
21564
+ properties: {
21565
+ cursor: {
21566
+ type: 'string',
21567
+ },
21568
+ reports: {
21569
+ type: 'array',
21570
+ items: {
21571
+ type: 'ref',
21572
+ ref: 'lex:tools.ozone.inbox.listReports#reportView',
21573
+ },
21574
+ },
21575
+ },
21576
+ },
21577
+ },
21578
+ },
21579
+ reportView: {
21580
+ type: 'object',
21581
+ required: [
21582
+ 'src',
21583
+ 'id',
21584
+ 'isRead',
21585
+ 'reasonType',
21586
+ 'subject',
21587
+ 'status',
21588
+ 'createdAt',
21589
+ 'updatedAt',
21590
+ ],
21591
+ properties: {
21592
+ src: {
21593
+ type: 'string',
21594
+ format: 'did',
21595
+ description: 'DID of the moderation service that received the report.',
21596
+ },
21597
+ id: {
21598
+ type: 'integer',
21599
+ description: "Report ID (report table ID), used by getReport and Ozone's report detail page.",
21600
+ },
21601
+ isRead: {
21602
+ type: 'boolean',
21603
+ },
21604
+ reasonType: {
21605
+ type: 'string',
21606
+ description: 'The exact fully-qualified reason NSID submitted with and stored on the report.',
21607
+ },
21608
+ reason: {
21609
+ type: 'string',
21610
+ maxGraphemes: 2000,
21611
+ maxLength: 20000,
21612
+ },
21613
+ lastActionTaken: {
21614
+ type: 'string',
21615
+ description: "Public action associated with this report's transition to resolved. See the public action vocabulary table.",
21616
+ },
21617
+ scope: {
21618
+ type: 'string',
21619
+ knownValues: ['network', 'app', 'labelOnly'],
21620
+ },
21621
+ subject: {
21622
+ type: 'union',
21623
+ refs: [
21624
+ 'lex:com.atproto.admin.defs#repoRef',
21625
+ 'lex:com.atproto.repo.strongRef',
21626
+ 'lex:chat.bsky.convo.defs#messageRef',
21627
+ 'lex:chat.bsky.convo.defs#convoRef',
21628
+ ],
21629
+ },
21630
+ status: {
21631
+ type: 'string',
21632
+ knownValues: ['pending', 'resolved'],
21633
+ },
21634
+ createdAt: {
21635
+ type: 'string',
21636
+ format: 'datetime',
21637
+ },
21638
+ updatedAt: {
21639
+ type: 'string',
21640
+ format: 'datetime',
21641
+ },
21642
+ },
21643
+ },
21644
+ },
21645
+ },
21646
+ ToolsOzoneInboxPutNotificationPreferences: {
21647
+ lexicon: 1,
21648
+ id: 'tools.ozone.inbox.putNotificationPreferences',
21649
+ defs: {
21650
+ main: {
21651
+ type: 'procedure',
21652
+ input: {
21653
+ encoding: 'application/json',
21654
+ schema: {
21655
+ type: 'object',
21656
+ required: ['push'],
21657
+ properties: {
21658
+ push: {
21659
+ type: 'boolean',
21660
+ },
21661
+ },
21662
+ },
21663
+ },
21664
+ output: {
21665
+ encoding: 'application/json',
21666
+ schema: {
21667
+ type: 'object',
21668
+ required: ['preferences'],
21669
+ properties: {
21670
+ preferences: {
21671
+ type: 'ref',
21672
+ ref: 'lex:tools.ozone.inbox.defs#notificationPreferences',
21673
+ },
21674
+ },
21675
+ },
21676
+ },
21677
+ },
21678
+ },
21679
+ },
21680
+ ToolsOzoneInboxUpdateSeen: {
21681
+ lexicon: 1,
21682
+ id: 'tools.ozone.inbox.updateSeen',
21683
+ defs: {
21684
+ main: {
21685
+ type: 'procedure',
21686
+ input: {
21687
+ encoding: 'application/json',
21688
+ schema: {
21689
+ type: 'object',
21690
+ required: ['sections'],
21691
+ properties: {
21692
+ sections: {
21693
+ type: 'array',
21694
+ minLength: 1,
21695
+ items: {
21696
+ type: 'string',
21697
+ knownValues: ['reports', 'subjects', 'accountStatus'],
21698
+ },
21699
+ },
21700
+ seenAt: {
21701
+ type: 'string',
21702
+ format: 'datetime',
21703
+ description: 'Mark each requested section read up to this instant. Defaults to server time and is clamped to server time when in the future. Newer existing watermarks are preserved independently for each section.',
21704
+ },
21705
+ },
21706
+ },
21707
+ },
21708
+ output: {
21709
+ encoding: 'application/json',
21710
+ schema: {
21711
+ type: 'object',
21712
+ required: ['seenAt'],
21713
+ properties: {
21714
+ seenAt: {
21715
+ type: 'string',
21716
+ format: 'datetime',
21717
+ description: 'The earliest resulting watermark across the requested sections, in UTC. Every requested section is read through this instant; individual sections may already have newer watermarks.',
21718
+ },
21719
+ },
21720
+ },
21721
+ },
21722
+ },
21723
+ },
21724
+ },
21725
+ ToolsOzoneModerationCancelScheduledActions: {
21726
+ lexicon: 1,
21727
+ id: 'tools.ozone.moderation.cancelScheduledActions',
21728
+ defs: {
21729
+ main: {
21730
+ type: 'procedure',
21731
+ description: 'Cancel all pending scheduled moderation actions for specified subjects',
21732
+ input: {
21733
+ encoding: 'application/json',
21734
+ schema: {
21735
+ type: 'object',
21736
+ required: ['subjects'],
21737
+ properties: {
21738
+ subjects: {
21739
+ type: 'array',
21740
+ maxLength: 100,
21741
+ items: {
21742
+ type: 'string',
21743
+ format: 'did',
21744
+ },
21745
+ description: 'Array of DID subjects to cancel scheduled actions for',
21746
+ },
21747
+ comment: {
21748
+ type: 'string',
21749
+ description: 'Optional comment describing the reason for cancellation',
21750
+ },
21751
+ },
21752
+ },
21753
+ },
21754
+ output: {
21755
+ encoding: 'application/json',
21756
+ schema: {
21757
+ type: 'ref',
21758
+ ref: 'lex:tools.ozone.moderation.cancelScheduledActions#cancellationResults',
21759
+ },
21760
+ },
21761
+ },
21762
+ cancellationResults: {
21763
+ type: 'object',
21764
+ required: ['succeeded', 'failed'],
21765
+ properties: {
21766
+ succeeded: {
21767
+ type: 'array',
21768
+ items: {
21769
+ type: 'string',
21770
+ format: 'did',
21771
+ },
21772
+ description: 'DIDs for which all pending scheduled actions were successfully cancelled',
21773
+ },
21774
+ failed: {
21775
+ type: 'array',
21776
+ items: {
21777
+ type: 'ref',
21778
+ ref: 'lex:tools.ozone.moderation.cancelScheduledActions#failedCancellation',
21779
+ },
21780
+ description: 'DIDs for which cancellation failed with error details',
21781
+ },
21782
+ },
21783
+ },
21784
+ failedCancellation: {
21785
+ type: 'object',
21786
+ required: ['did', 'error'],
21787
+ properties: {
21788
+ did: {
21789
+ type: 'string',
21790
+ format: 'did',
21791
+ },
21792
+ error: {
21793
+ type: 'string',
21794
+ },
21795
+ errorCode: {
21796
+ type: 'string',
21797
+ },
21798
+ },
21799
+ },
21800
+ },
21801
+ },
21802
+ ToolsOzoneModerationDefs: {
21803
+ lexicon: 1,
21804
+ id: 'tools.ozone.moderation.defs',
21805
+ defs: {
21806
+ modEventView: {
21807
+ type: 'object',
21808
+ required: [
21809
+ 'id',
21810
+ 'event',
21811
+ 'subject',
21812
+ 'subjectBlobCids',
21813
+ 'createdBy',
21814
+ 'createdAt',
21815
+ ],
21816
+ properties: {
21817
+ id: {
21818
+ type: 'integer',
21819
+ },
21820
+ event: {
21821
+ type: 'union',
21822
+ refs: [
21823
+ 'lex:tools.ozone.moderation.defs#modEventTakedown',
21824
+ 'lex:tools.ozone.moderation.defs#modEventReverseTakedown',
21825
+ 'lex:tools.ozone.moderation.defs#modEventComment',
21826
+ 'lex:tools.ozone.moderation.defs#modEventReport',
21827
+ 'lex:tools.ozone.moderation.defs#modEventLabel',
21828
+ 'lex:tools.ozone.moderation.defs#modEventAcknowledge',
21829
+ 'lex:tools.ozone.moderation.defs#modEventEscalate',
21830
+ 'lex:tools.ozone.moderation.defs#modEventMute',
21831
+ 'lex:tools.ozone.moderation.defs#modEventUnmute',
21832
+ 'lex:tools.ozone.moderation.defs#modEventMuteReporter',
21833
+ 'lex:tools.ozone.moderation.defs#modEventUnmuteReporter',
21834
+ 'lex:tools.ozone.moderation.defs#modEventEmail',
21835
+ 'lex:tools.ozone.moderation.defs#modEventResolveAppeal',
21836
+ 'lex:tools.ozone.moderation.defs#modEventDivert',
21837
+ 'lex:tools.ozone.moderation.defs#modEventTag',
21838
+ 'lex:tools.ozone.moderation.defs#accountEvent',
21839
+ 'lex:tools.ozone.moderation.defs#identityEvent',
21840
+ 'lex:tools.ozone.moderation.defs#recordEvent',
21841
+ 'lex:tools.ozone.moderation.defs#modEventPriorityScore',
21842
+ 'lex:tools.ozone.moderation.defs#ageAssuranceEvent',
21843
+ 'lex:tools.ozone.moderation.defs#ageAssuranceOverrideEvent',
21844
+ 'lex:tools.ozone.moderation.defs#ageAssurancePurgeEvent',
21845
+ 'lex:tools.ozone.moderation.defs#revokeAccountCredentialsEvent',
21846
+ 'lex:tools.ozone.moderation.defs#scheduleTakedownEvent',
21847
+ 'lex:tools.ozone.moderation.defs#cancelScheduledTakedownEvent',
21848
+ ],
21849
+ },
21850
+ subject: {
21851
+ type: 'union',
21852
+ refs: [
21853
+ 'lex:com.atproto.admin.defs#repoRef',
21854
+ 'lex:com.atproto.repo.strongRef',
21855
+ 'lex:chat.bsky.convo.defs#messageRef',
21856
+ 'lex:chat.bsky.convo.defs#convoRef',
21857
+ ],
21858
+ },
21859
+ subjectBlobCids: {
21860
+ type: 'array',
21861
+ items: {
21862
+ type: 'string',
21863
+ },
21864
+ },
21865
+ createdBy: {
21866
+ type: 'string',
21867
+ format: 'did',
21868
+ },
21869
+ createdAt: {
21870
+ type: 'string',
21871
+ format: 'datetime',
21872
+ },
21873
+ creatorHandle: {
21874
+ type: 'string',
21875
+ },
21876
+ subjectHandle: {
21877
+ type: 'string',
21878
+ },
21879
+ modTool: {
21880
+ type: 'ref',
21881
+ ref: 'lex:tools.ozone.moderation.defs#modTool',
21882
+ },
21883
+ },
21884
+ },
21885
+ modEventViewDetail: {
21886
+ type: 'object',
21887
+ required: [
21888
+ 'id',
21889
+ 'event',
21890
+ 'subject',
21891
+ 'subjectBlobs',
21892
+ 'createdBy',
21893
+ 'createdAt',
21894
+ ],
21895
+ properties: {
21896
+ id: {
21897
+ type: 'integer',
21898
+ },
21899
+ event: {
21900
+ type: 'union',
21901
+ refs: [
21902
+ 'lex:tools.ozone.moderation.defs#modEventTakedown',
21903
+ 'lex:tools.ozone.moderation.defs#modEventReverseTakedown',
21904
+ 'lex:tools.ozone.moderation.defs#modEventComment',
21905
+ 'lex:tools.ozone.moderation.defs#modEventReport',
21906
+ 'lex:tools.ozone.moderation.defs#modEventLabel',
21907
+ 'lex:tools.ozone.moderation.defs#modEventAcknowledge',
21908
+ 'lex:tools.ozone.moderation.defs#modEventEscalate',
21909
+ 'lex:tools.ozone.moderation.defs#modEventMute',
21910
+ 'lex:tools.ozone.moderation.defs#modEventUnmute',
21911
+ 'lex:tools.ozone.moderation.defs#modEventMuteReporter',
21912
+ 'lex:tools.ozone.moderation.defs#modEventUnmuteReporter',
21913
+ 'lex:tools.ozone.moderation.defs#modEventEmail',
21914
+ 'lex:tools.ozone.moderation.defs#modEventResolveAppeal',
21915
+ 'lex:tools.ozone.moderation.defs#modEventDivert',
21916
+ 'lex:tools.ozone.moderation.defs#modEventTag',
21917
+ 'lex:tools.ozone.moderation.defs#accountEvent',
21918
+ 'lex:tools.ozone.moderation.defs#identityEvent',
21919
+ 'lex:tools.ozone.moderation.defs#recordEvent',
21920
+ 'lex:tools.ozone.moderation.defs#modEventPriorityScore',
21921
+ 'lex:tools.ozone.moderation.defs#ageAssuranceEvent',
21922
+ 'lex:tools.ozone.moderation.defs#ageAssuranceOverrideEvent',
21923
+ 'lex:tools.ozone.moderation.defs#ageAssurancePurgeEvent',
21924
+ 'lex:tools.ozone.moderation.defs#revokeAccountCredentialsEvent',
21925
+ 'lex:tools.ozone.moderation.defs#scheduleTakedownEvent',
21926
+ 'lex:tools.ozone.moderation.defs#cancelScheduledTakedownEvent',
21927
+ ],
21928
+ },
21929
+ subject: {
21930
+ type: 'union',
21931
+ refs: [
21932
+ 'lex:tools.ozone.moderation.defs#repoView',
21933
+ 'lex:tools.ozone.moderation.defs#repoViewNotFound',
21934
+ 'lex:tools.ozone.moderation.defs#recordView',
21935
+ 'lex:tools.ozone.moderation.defs#recordViewNotFound',
21936
+ 'lex:tools.ozone.moderation.defs#convoView',
21937
+ ],
21938
+ },
21939
+ subjectBlobs: {
21940
+ type: 'array',
21941
+ items: {
21942
+ type: 'ref',
21943
+ ref: 'lex:tools.ozone.moderation.defs#blobView',
21944
+ },
21945
+ },
21946
+ createdBy: {
21947
+ type: 'string',
21948
+ format: 'did',
21949
+ },
21950
+ createdAt: {
21951
+ type: 'string',
21952
+ format: 'datetime',
21953
+ },
21954
+ modTool: {
21955
+ type: 'ref',
21956
+ ref: 'lex:tools.ozone.moderation.defs#modTool',
21957
+ },
21958
+ },
21959
+ },
21960
+ subjectStatusView: {
21961
+ type: 'object',
21962
+ required: ['id', 'subject', 'createdAt', 'updatedAt', 'reviewState'],
21963
+ properties: {
21964
+ id: {
21965
+ type: 'integer',
21079
21966
  },
21080
21967
  subject: {
21081
21968
  type: 'union',
@@ -21439,6 +22326,21 @@ export const schemaDict = {
21439
22326
  description: 'Report a subject',
21440
22327
  required: ['reportType'],
21441
22328
  properties: {
22329
+ appealSubmittedBy: {
22330
+ type: 'string',
22331
+ format: 'did',
22332
+ description: 'Moderator who submitted this appeal on behalf of the affected account. Returned by moderator event APIs.',
22333
+ },
22334
+ appealActionType: {
22335
+ type: 'string',
22336
+ description: 'Action reference type recorded when this appeal was submitted.',
22337
+ },
22338
+ appealActionId: {
22339
+ type: 'integer',
22340
+ },
22341
+ appealLabel: {
22342
+ type: 'string',
22343
+ },
21442
22344
  comment: {
21443
22345
  type: 'string',
21444
22346
  },
@@ -24668,6 +25570,31 @@ export const schemaDict = {
24668
25570
  ref: 'lex:com.atproto.moderation.defs#reasonType',
24669
25571
  description: 'Type of report',
24670
25572
  },
25573
+ priorityLevel: {
25574
+ type: 'string',
25575
+ description: 'Priority level assigned to the report.',
25576
+ },
25577
+ priorityScore: {
25578
+ type: 'integer',
25579
+ minimum: 0,
25580
+ maximum: 100,
25581
+ description: 'Report priority score. Higher scores have higher priority.',
25582
+ },
25583
+ priorityTargetMinutes: {
25584
+ type: 'integer',
25585
+ minimum: 1,
25586
+ maximum: 2147483647,
25587
+ description: 'Target resolution duration in minutes.',
25588
+ },
25589
+ resolutionTimeSec: {
25590
+ type: 'integer',
25591
+ minimum: 0,
25592
+ description: 'Time from report creation to its last closure.',
25593
+ },
25594
+ priorityTargetMet: {
25595
+ type: 'boolean',
25596
+ description: "Whether the current closure occurred within the report's snapshotted target.",
25597
+ },
24671
25598
  reportedBy: {
24672
25599
  type: 'string',
24673
25600
  format: 'did',
@@ -26147,6 +27074,41 @@ export const schemaDict = {
26147
27074
  },
26148
27075
  },
26149
27076
  },
27077
+ ToolsOzoneServerGetCapabilities: {
27078
+ lexicon: 1,
27079
+ id: 'tools.ozone.server.getCapabilities',
27080
+ defs: {
27081
+ main: {
27082
+ type: 'query',
27083
+ output: {
27084
+ encoding: 'application/json',
27085
+ schema: {
27086
+ type: 'object',
27087
+ properties: {
27088
+ notifications: {
27089
+ type: 'ref',
27090
+ ref: 'lex:tools.ozone.server.getCapabilities#notificationConfig',
27091
+ },
27092
+ },
27093
+ },
27094
+ },
27095
+ },
27096
+ notificationConfig: {
27097
+ type: 'object',
27098
+ required: ['channels'],
27099
+ properties: {
27100
+ channels: {
27101
+ type: 'array',
27102
+ minLength: 1,
27103
+ items: {
27104
+ type: 'string',
27105
+ knownValues: ['inApp', 'push'],
27106
+ },
27107
+ },
27108
+ },
27109
+ },
27110
+ },
27111
+ },
26150
27112
  ToolsOzoneServerGetConfig: {
26151
27113
  lexicon: 1,
26152
27114
  id: 'tools.ozone.server.getConfig',
@@ -27801,6 +28763,16 @@ export const ids = {
27801
28763
  ToolsOzoneHostingGetAccountHistory: 'tools.ozone.hosting.getAccountHistory',
27802
28764
  ToolsOzoneInboxAppealActionedSubject: 'tools.ozone.inbox.appealActionedSubject',
27803
28765
  ToolsOzoneInboxDefs: 'tools.ozone.inbox.defs',
28766
+ ToolsOzoneInboxGetAccountStatus: 'tools.ozone.inbox.getAccountStatus',
28767
+ ToolsOzoneInboxGetActionedSubject: 'tools.ozone.inbox.getActionedSubject',
28768
+ ToolsOzoneInboxGetNotificationPreferences: 'tools.ozone.inbox.getNotificationPreferences',
28769
+ ToolsOzoneInboxGetReport: 'tools.ozone.inbox.getReport',
28770
+ ToolsOzoneInboxGetUnreadCount: 'tools.ozone.inbox.getUnreadCount',
28771
+ ToolsOzoneInboxListActionedSubjects: 'tools.ozone.inbox.listActionedSubjects',
28772
+ ToolsOzoneInboxListNotifications: 'tools.ozone.inbox.listNotifications',
28773
+ ToolsOzoneInboxListReports: 'tools.ozone.inbox.listReports',
28774
+ ToolsOzoneInboxPutNotificationPreferences: 'tools.ozone.inbox.putNotificationPreferences',
28775
+ ToolsOzoneInboxUpdateSeen: 'tools.ozone.inbox.updateSeen',
27804
28776
  ToolsOzoneModerationCancelScheduledActions: 'tools.ozone.moderation.cancelScheduledActions',
27805
28777
  ToolsOzoneModerationDefs: 'tools.ozone.moderation.defs',
27806
28778
  ToolsOzoneModerationEmitEvent: 'tools.ozone.moderation.emitEvent',
@@ -27848,6 +28820,7 @@ export const ids = {
27848
28820
  ToolsOzoneSafelinkQueryRules: 'tools.ozone.safelink.queryRules',
27849
28821
  ToolsOzoneSafelinkRemoveRule: 'tools.ozone.safelink.removeRule',
27850
28822
  ToolsOzoneSafelinkUpdateRule: 'tools.ozone.safelink.updateRule',
28823
+ ToolsOzoneServerGetCapabilities: 'tools.ozone.server.getCapabilities',
27851
28824
  ToolsOzoneServerGetConfig: 'tools.ozone.server.getConfig',
27852
28825
  ToolsOzoneSetAddValues: 'tools.ozone.set.addValues',
27853
28826
  ToolsOzoneSetDefs: 'tools.ozone.set.defs',