@atproto/api 0.23.2 → 0.24.0

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 (61) hide show
  1. package/CHANGELOG.md +14 -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 +3368 -1656
  7. package/dist/client/lexicons.d.ts.map +1 -1
  8. package/dist/client/lexicons.js +1017 -77
  9. package/dist/client/lexicons.js.map +1 -1
  10. package/dist/client/types/tools/ozone/inbox/defs.d.ts +94 -4
  11. package/dist/client/types/tools/ozone/inbox/defs.d.ts.map +1 -1
  12. package/dist/client/types/tools/ozone/inbox/defs.js +56 -0
  13. package/dist/client/types/tools/ozone/inbox/defs.js.map +1 -1
  14. package/dist/client/types/tools/ozone/inbox/getAccountStatus.d.ts +29 -0
  15. package/dist/client/types/tools/ozone/inbox/getAccountStatus.d.ts.map +1 -0
  16. package/dist/client/types/tools/ozone/inbox/getAccountStatus.js +14 -0
  17. package/dist/client/types/tools/ozone/inbox/getAccountStatus.js.map +1 -0
  18. package/dist/client/types/tools/ozone/inbox/getActionedSubject.d.ts +31 -0
  19. package/dist/client/types/tools/ozone/inbox/getActionedSubject.d.ts.map +1 -0
  20. package/dist/client/types/tools/ozone/inbox/getActionedSubject.js +23 -0
  21. package/dist/client/types/tools/ozone/inbox/getActionedSubject.js.map +1 -0
  22. package/dist/client/types/tools/ozone/inbox/getNotificationPreferences.d.ts +24 -0
  23. package/dist/client/types/tools/ozone/inbox/getNotificationPreferences.d.ts.map +1 -0
  24. package/dist/client/types/tools/ozone/inbox/getNotificationPreferences.js +14 -0
  25. package/dist/client/types/tools/ozone/inbox/getNotificationPreferences.js.map +1 -0
  26. package/dist/client/types/tools/ozone/inbox/getReport.d.ts +66 -0
  27. package/dist/client/types/tools/ozone/inbox/getReport.d.ts.map +1 -0
  28. package/dist/client/types/tools/ozone/inbox/getReport.js +37 -0
  29. package/dist/client/types/tools/ozone/inbox/getReport.js.map +1 -0
  30. package/dist/client/types/tools/ozone/inbox/getUnreadCount.d.ts +34 -0
  31. package/dist/client/types/tools/ozone/inbox/getUnreadCount.d.ts.map +1 -0
  32. package/dist/client/types/tools/ozone/inbox/getUnreadCount.js +21 -0
  33. package/dist/client/types/tools/ozone/inbox/getUnreadCount.js.map +1 -0
  34. package/dist/client/types/tools/ozone/inbox/listActionedSubjects.d.ts +32 -0
  35. package/dist/client/types/tools/ozone/inbox/listActionedSubjects.d.ts.map +1 -0
  36. package/dist/client/types/tools/ozone/inbox/listActionedSubjects.js +14 -0
  37. package/dist/client/types/tools/ozone/inbox/listActionedSubjects.js.map +1 -0
  38. package/dist/client/types/tools/ozone/inbox/listNotifications.d.ts +30 -0
  39. package/dist/client/types/tools/ozone/inbox/listNotifications.d.ts.map +1 -0
  40. package/dist/client/types/tools/ozone/inbox/listNotifications.js +14 -0
  41. package/dist/client/types/tools/ozone/inbox/listNotifications.js.map +1 -0
  42. package/dist/client/types/tools/ozone/inbox/listReports.d.ts +58 -0
  43. package/dist/client/types/tools/ozone/inbox/listReports.d.ts.map +1 -0
  44. package/dist/client/types/tools/ozone/inbox/listReports.js +21 -0
  45. package/dist/client/types/tools/ozone/inbox/listReports.js.map +1 -0
  46. package/dist/client/types/tools/ozone/inbox/putNotificationPreferences.d.ts +25 -0
  47. package/dist/client/types/tools/ozone/inbox/putNotificationPreferences.d.ts.map +1 -0
  48. package/dist/client/types/tools/ozone/inbox/putNotificationPreferences.js +14 -0
  49. package/dist/client/types/tools/ozone/inbox/putNotificationPreferences.js.map +1 -0
  50. package/dist/client/types/tools/ozone/inbox/updateSeen.d.ts +27 -0
  51. package/dist/client/types/tools/ozone/inbox/updateSeen.d.ts.map +1 -0
  52. package/dist/client/types/tools/ozone/inbox/updateSeen.js +14 -0
  53. package/dist/client/types/tools/ozone/inbox/updateSeen.js.map +1 -0
  54. package/dist/client/types/tools/ozone/moderation/defs.d.ts +6 -0
  55. package/dist/client/types/tools/ozone/moderation/defs.d.ts.map +1 -1
  56. package/dist/client/types/tools/ozone/moderation/defs.js.map +1 -1
  57. package/dist/client/types/tools/ozone/server/getCapabilities.d.ts +27 -0
  58. package/dist/client/types/tools/ozone/server/getCapabilities.d.ts.map +1 -0
  59. package/dist/client/types/tools/ozone/server/getCapabilities.js +21 -0
  60. package/dist/client/types/tools/ozone/server/getCapabilities.js.map +1 -0
  61. package/package.json +3 -3
@@ -20676,7 +20676,14 @@ export const schemaDict = {
20676
20676
  subjectView: {
20677
20677
  type: 'object',
20678
20678
  description: 'A subject belonging to the viewer that has moderation actions against it.',
20679
- required: ['src', 'subject', 'enforcement', 'createdAt', 'updatedAt'],
20679
+ required: [
20680
+ 'src',
20681
+ 'subject',
20682
+ 'enforcement',
20683
+ 'isRead',
20684
+ 'createdAt',
20685
+ 'updatedAt',
20686
+ ],
20680
20687
  properties: {
20681
20688
  src: {
20682
20689
  type: 'string',
@@ -20720,116 +20727,988 @@ export const schemaDict = {
20720
20727
  type: 'string',
20721
20728
  format: 'datetime',
20722
20729
  },
20730
+ isRead: {
20731
+ type: 'boolean',
20732
+ },
20733
+ },
20734
+ },
20735
+ enforcementView: {
20736
+ type: 'object',
20737
+ description: 'The current enforcement state of a subject.',
20738
+ required: ['state'],
20739
+ properties: {
20740
+ state: {
20741
+ type: 'string',
20742
+ knownValues: [
20743
+ 'none',
20744
+ 'labeled',
20745
+ 'removed',
20746
+ 'suspended',
20747
+ 'takendown',
20748
+ ],
20749
+ },
20750
+ scope: {
20751
+ type: 'string',
20752
+ knownValues: ['network', 'app', 'labelOnly'],
20753
+ },
20754
+ expiresAt: {
20755
+ type: 'string',
20756
+ format: 'datetime',
20757
+ },
20758
+ labels: {
20759
+ type: 'array',
20760
+ items: {
20761
+ type: 'string',
20762
+ },
20763
+ description: 'Active label values on the subject, excluding negated and expired labels.',
20764
+ },
20765
+ },
20766
+ },
20767
+ appealView: {
20768
+ type: 'object',
20769
+ description: "The state of the viewer's appeal against the actions on a subject.",
20770
+ required: ['state'],
20771
+ properties: {
20772
+ state: {
20773
+ type: 'string',
20774
+ knownValues: [
20775
+ 'none',
20776
+ 'pending',
20777
+ 'resolved',
20778
+ 'superseded',
20779
+ 'expired',
20780
+ ],
20781
+ },
20782
+ appealedAt: {
20783
+ type: 'string',
20784
+ format: 'datetime',
20785
+ },
20786
+ resolvedAt: {
20787
+ type: 'string',
20788
+ format: 'datetime',
20789
+ description: "When the appeal's report was closed.",
20790
+ },
20791
+ appealableUntil: {
20792
+ type: 'string',
20793
+ format: 'datetime',
20794
+ },
20795
+ },
20796
+ },
20797
+ actionView: {
20798
+ type: 'object',
20799
+ description: 'A single moderation action taken against a subject.',
20800
+ required: ['id', 'type', 'createdAt'],
20801
+ properties: {
20802
+ id: {
20803
+ type: 'integer',
20804
+ description: 'Action ID (moderation event ID).',
20805
+ },
20806
+ type: {
20807
+ type: 'string',
20808
+ description: 'Public action type.',
20809
+ },
20810
+ scope: {
20811
+ type: 'string',
20812
+ knownValues: ['network', 'app', 'labelOnly'],
20813
+ },
20814
+ createdAt: {
20815
+ type: 'string',
20816
+ format: 'datetime',
20817
+ },
20818
+ reversedAt: {
20819
+ type: 'string',
20820
+ format: 'datetime',
20821
+ },
20822
+ expiresAt: {
20823
+ type: 'string',
20824
+ format: 'datetime',
20825
+ },
20826
+ labels: {
20827
+ type: 'array',
20828
+ items: {
20829
+ type: 'string',
20830
+ },
20831
+ description: 'Label values, for labelApplied/labelRemoved.',
20832
+ },
20833
+ policies: {
20834
+ type: 'array',
20835
+ items: {
20836
+ type: 'ref',
20837
+ ref: 'lex:tools.ozone.inbox.defs#policyView',
20838
+ },
20839
+ description: 'Policies applied by a takedown action.',
20840
+ },
20841
+ },
20842
+ },
20843
+ policyView: {
20844
+ type: 'object',
20845
+ required: ['key', 'displayName', 'link'],
20846
+ properties: {
20847
+ key: {
20848
+ type: 'string',
20849
+ },
20850
+ displayName: {
20851
+ type: 'string',
20852
+ },
20853
+ link: {
20854
+ type: 'string',
20855
+ format: 'uri',
20856
+ },
20857
+ },
20858
+ },
20859
+ subjectViewDetail: {
20860
+ type: 'object',
20861
+ 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.',
20862
+ required: [
20863
+ 'src',
20864
+ 'subject',
20865
+ 'enforcement',
20866
+ 'isRead',
20867
+ 'actions',
20868
+ 'createdAt',
20869
+ 'updatedAt',
20870
+ ],
20871
+ properties: {
20872
+ src: {
20873
+ type: 'string',
20874
+ format: 'did',
20875
+ },
20876
+ isRead: {
20877
+ type: 'boolean',
20878
+ },
20879
+ subject: {
20880
+ type: 'union',
20881
+ refs: [
20882
+ 'lex:com.atproto.admin.defs#repoRef',
20883
+ 'lex:com.atproto.repo.strongRef',
20884
+ ],
20885
+ },
20886
+ record: {
20887
+ type: 'unknown',
20888
+ description: 'Raw record JSON for the subject, when the subject is a record and the record is available.',
20889
+ },
20890
+ enforcement: {
20891
+ type: 'ref',
20892
+ ref: 'lex:tools.ozone.inbox.defs#enforcementView',
20893
+ },
20894
+ appeal: {
20895
+ type: 'ref',
20896
+ ref: 'lex:tools.ozone.inbox.defs#appealView',
20897
+ },
20898
+ availableActions: {
20899
+ type: 'array',
20900
+ items: {
20901
+ type: 'string',
20902
+ knownValues: ['appeal'],
20903
+ },
20904
+ },
20905
+ actions: {
20906
+ type: 'array',
20907
+ description: 'A page of action history, most recent first. Reversal timestamps include changes outside this page.',
20908
+ maxLength: 100,
20909
+ items: {
20910
+ type: 'ref',
20911
+ ref: 'lex:tools.ozone.inbox.defs#actionView',
20912
+ },
20913
+ },
20914
+ cursor: {
20915
+ type: 'string',
20916
+ description: 'Cursor for the next page of action history. Omitted when no older actions remain.',
20917
+ },
20918
+ reports: {
20919
+ type: 'ref',
20920
+ ref: 'lex:tools.ozone.inbox.defs#reportsSummary',
20921
+ description: 'Omitted when the subject has never been reported, e.g. proactive enforcement.',
20922
+ },
20923
+ createdAt: {
20924
+ type: 'string',
20925
+ format: 'datetime',
20926
+ },
20927
+ updatedAt: {
20928
+ type: 'string',
20929
+ format: 'datetime',
20930
+ },
20931
+ },
20932
+ },
20933
+ reportsSummary: {
20934
+ type: 'object',
20935
+ description: 'Aggregate view of reports filed against this subject. Deliberately carries no report IDs, no count, and no reporter identities.',
20936
+ required: ['reasonTypes', 'firstReportedOn', 'lastReportedOn'],
20937
+ properties: {
20938
+ reasonTypes: {
20939
+ type: 'array',
20940
+ description: 'Distinct reason types reported, deduplicated and unordered. Excludes reasonAppeal.',
20941
+ items: {
20942
+ type: 'string',
20943
+ },
20944
+ },
20945
+ firstReportedOn: {
20946
+ type: 'string',
20947
+ format: 'datetime',
20948
+ description: 'Day of the earliest report, truncated to midnight UTC. Render as a date; the time component is not meaningful.',
20949
+ },
20950
+ lastReportedOn: {
20951
+ type: 'string',
20952
+ format: 'datetime',
20953
+ description: 'Day of the most recent report, truncated to midnight UTC. Render as a date; the time component is not meaningful.',
20954
+ },
20955
+ },
20956
+ },
20957
+ notification: {
20958
+ type: 'object',
20959
+ required: ['id', 'reason', 'target', 'isRead', 'createdAt'],
20960
+ properties: {
20961
+ id: {
20962
+ type: 'integer',
20963
+ },
20964
+ reason: {
20965
+ type: 'string',
20966
+ knownValues: [
20967
+ 'reportResolved',
20968
+ 'reportReopened',
20969
+ 'actionTaken',
20970
+ 'actionReversed',
20971
+ 'appealResolved',
20972
+ 'standingChanged',
20973
+ ],
20974
+ },
20975
+ target: {
20976
+ type: 'union',
20977
+ refs: [
20978
+ 'lex:tools.ozone.inbox.defs#reportRef',
20979
+ 'lex:tools.ozone.inbox.defs#subjectRef',
20980
+ 'lex:tools.ozone.inbox.defs#standingRef',
20981
+ ],
20982
+ },
20983
+ isRead: {
20984
+ type: 'boolean',
20985
+ },
20986
+ createdAt: {
20987
+ type: 'string',
20988
+ format: 'datetime',
20989
+ },
20990
+ },
20991
+ },
20992
+ notificationPreferences: {
20993
+ type: 'object',
20994
+ required: ['push'],
20995
+ properties: {
20996
+ push: {
20997
+ type: 'boolean',
20998
+ },
20999
+ },
21000
+ },
21001
+ reportRef: {
21002
+ type: 'object',
21003
+ description: "Reference to a report by its report table ID, as used by getReport and Ozone's report detail page.",
21004
+ required: ['reportId'],
21005
+ properties: {
21006
+ reportId: {
21007
+ type: 'integer',
21008
+ },
21009
+ subject: {
21010
+ type: 'union',
21011
+ refs: [
21012
+ 'lex:com.atproto.admin.defs#repoRef',
21013
+ 'lex:com.atproto.repo.strongRef',
21014
+ ],
21015
+ },
21016
+ status: {
21017
+ type: 'string',
21018
+ knownValues: ['pending', 'resolved'],
21019
+ },
21020
+ },
21021
+ },
21022
+ subjectRef: {
21023
+ type: 'object',
21024
+ required: ['subject'],
21025
+ properties: {
21026
+ subject: {
21027
+ type: 'union',
21028
+ refs: [
21029
+ 'lex:com.atproto.admin.defs#repoRef',
21030
+ 'lex:com.atproto.repo.strongRef',
21031
+ ],
21032
+ },
21033
+ actionType: {
21034
+ type: 'string',
21035
+ },
21036
+ actionId: {
21037
+ type: 'integer',
21038
+ },
21039
+ },
21040
+ },
21041
+ standingRef: {
21042
+ type: 'object',
21043
+ required: ['standing'],
21044
+ properties: {
21045
+ standing: {
21046
+ type: 'string',
21047
+ knownValues: ['good', 'warning', 'atRisk'],
21048
+ },
21049
+ previousStanding: {
21050
+ type: 'string',
21051
+ knownValues: ['good', 'warning', 'atRisk'],
21052
+ },
21053
+ },
21054
+ },
21055
+ },
21056
+ },
21057
+ ToolsOzoneInboxGetAccountStatus: {
21058
+ lexicon: 1,
21059
+ id: 'tools.ozone.inbox.getAccountStatus',
21060
+ defs: {
21061
+ main: {
21062
+ type: 'query',
21063
+ description: "Get the authenticated account's current standing with this moderation service.",
21064
+ output: {
21065
+ encoding: 'application/json',
21066
+ schema: {
21067
+ type: 'object',
21068
+ required: ['src', 'standing', 'updatedAt'],
21069
+ properties: {
21070
+ src: {
21071
+ type: 'string',
21072
+ format: 'did',
21073
+ description: 'DID of the moderation service returning this status.',
21074
+ },
21075
+ standing: {
21076
+ type: 'string',
21077
+ knownValues: ['good', 'warning', 'atRisk'],
21078
+ },
21079
+ updatedAt: {
21080
+ type: 'string',
21081
+ format: 'datetime',
21082
+ 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.',
21083
+ },
21084
+ expiresAt: {
21085
+ type: 'string',
21086
+ format: 'datetime',
21087
+ description: 'Time at which the current suspension expires. Present only for a temporary suspension.',
21088
+ },
21089
+ },
21090
+ },
21091
+ },
21092
+ parameters: {
21093
+ type: 'params',
21094
+ properties: {
21095
+ did: {
21096
+ type: 'string',
21097
+ format: 'did',
21098
+ description: 'Account to preview. Only Ozone staff can read another account; this does not change its read state.',
21099
+ },
21100
+ },
21101
+ },
21102
+ },
21103
+ },
21104
+ },
21105
+ ToolsOzoneInboxGetActionedSubject: {
21106
+ lexicon: 1,
21107
+ id: 'tools.ozone.inbox.getActionedSubject',
21108
+ defs: {
21109
+ main: {
21110
+ type: 'query',
21111
+ description: 'Get a subject belonging to the authenticated account, including its moderation action history from this moderation service.',
21112
+ parameters: {
21113
+ type: 'params',
21114
+ required: ['subject'],
21115
+ properties: {
21116
+ did: {
21117
+ type: 'string',
21118
+ format: 'did',
21119
+ description: 'Account to preview. Defaults to the authenticated account; another account requires an active moderator, triage, or admin credential.',
21120
+ },
21121
+ subject: {
21122
+ type: 'string',
21123
+ format: 'uri',
21124
+ description: 'DID or AT-URI of the subject to retrieve.',
21125
+ },
21126
+ limit: {
21127
+ type: 'integer',
21128
+ minimum: 1,
21129
+ maximum: 100,
21130
+ default: 50,
21131
+ description: 'Maximum number of actions to return.',
21132
+ },
21133
+ cursor: {
21134
+ type: 'string',
21135
+ description: "Opaque cursor for the next page of this subject's action history.",
21136
+ },
21137
+ },
21138
+ },
21139
+ output: {
21140
+ encoding: 'application/json',
21141
+ schema: {
21142
+ type: 'ref',
21143
+ ref: 'lex:tools.ozone.inbox.defs#subjectViewDetail',
21144
+ },
21145
+ },
21146
+ errors: [
21147
+ {
21148
+ name: 'NotFound',
21149
+ description: 'No subject was found, or the authenticated account does not own the subject.',
21150
+ },
21151
+ ],
21152
+ },
21153
+ },
21154
+ },
21155
+ ToolsOzoneInboxGetNotificationPreferences: {
21156
+ lexicon: 1,
21157
+ id: 'tools.ozone.inbox.getNotificationPreferences',
21158
+ defs: {
21159
+ main: {
21160
+ type: 'query',
21161
+ parameters: {
21162
+ type: 'params',
21163
+ properties: {
21164
+ did: {
21165
+ type: 'string',
21166
+ format: 'did',
21167
+ description: 'Account to preview. Only Ozone staff can read another account; this does not change its read state.',
21168
+ },
21169
+ },
21170
+ },
21171
+ output: {
21172
+ encoding: 'application/json',
21173
+ schema: {
21174
+ type: 'object',
21175
+ required: ['preferences'],
21176
+ properties: {
21177
+ preferences: {
21178
+ type: 'ref',
21179
+ ref: 'lex:tools.ozone.inbox.defs#notificationPreferences',
21180
+ },
21181
+ },
21182
+ },
21183
+ },
21184
+ },
21185
+ },
21186
+ },
21187
+ ToolsOzoneInboxGetReport: {
21188
+ lexicon: 1,
21189
+ id: 'tools.ozone.inbox.getReport',
21190
+ defs: {
21191
+ main: {
21192
+ type: 'query',
21193
+ description: 'Get a moderation report submitted by the authenticated account to this moderation service.',
21194
+ parameters: {
21195
+ type: 'params',
21196
+ required: ['id'],
21197
+ properties: {
21198
+ did: {
21199
+ type: 'string',
21200
+ format: 'did',
21201
+ description: 'Reporter to preview. Defaults to the authenticated account; another account requires an active moderator, triage, or admin credential.',
21202
+ },
21203
+ id: {
21204
+ type: 'integer',
21205
+ description: 'Report ID (report table ID), as returned by listReports.',
21206
+ },
21207
+ },
21208
+ },
21209
+ output: {
21210
+ encoding: 'application/json',
21211
+ schema: {
21212
+ type: 'object',
21213
+ required: ['report'],
21214
+ properties: {
21215
+ report: {
21216
+ type: 'ref',
21217
+ ref: 'lex:tools.ozone.inbox.getReport#reportView',
21218
+ },
21219
+ resolution: {
21220
+ type: 'ref',
21221
+ ref: 'lex:tools.ozone.inbox.getReport#resolutionView',
21222
+ description: 'Present only when the report is resolved.',
21223
+ },
21224
+ },
21225
+ },
21226
+ },
21227
+ errors: [
21228
+ {
21229
+ name: 'NotFound',
21230
+ description: 'No report was found, or the authenticated account did not submit it.',
21231
+ },
21232
+ ],
21233
+ },
21234
+ reportView: {
21235
+ type: 'object',
21236
+ required: [
21237
+ 'src',
21238
+ 'id',
21239
+ 'reasonType',
21240
+ 'subject',
21241
+ 'status',
21242
+ 'createdAt',
21243
+ 'updatedAt',
21244
+ ],
21245
+ properties: {
21246
+ src: {
21247
+ type: 'string',
21248
+ format: 'did',
21249
+ description: 'DID of the moderation service that received the report.',
21250
+ },
21251
+ id: {
21252
+ type: 'integer',
21253
+ description: "Report ID (report table ID), used by Ozone's report detail page.",
21254
+ },
21255
+ reasonType: {
21256
+ type: 'string',
21257
+ description: 'The exact fully-qualified reason NSID submitted with and stored on the report.',
21258
+ },
21259
+ reason: {
21260
+ type: 'string',
21261
+ maxGraphemes: 2000,
21262
+ maxLength: 20000,
21263
+ },
21264
+ subject: {
21265
+ type: 'union',
21266
+ refs: [
21267
+ 'lex:com.atproto.admin.defs#repoRef',
21268
+ 'lex:com.atproto.repo.strongRef',
21269
+ 'lex:chat.bsky.convo.defs#messageRef',
21270
+ 'lex:chat.bsky.convo.defs#convoRef',
21271
+ ],
21272
+ },
21273
+ record: {
21274
+ type: 'unknown',
21275
+ description: 'Raw record JSON for the subject, when the subject is a record and the record is available.',
21276
+ },
21277
+ status: {
21278
+ type: 'string',
21279
+ knownValues: ['pending', 'resolved'],
21280
+ },
21281
+ createdAt: {
21282
+ type: 'string',
21283
+ format: 'datetime',
21284
+ },
21285
+ updatedAt: {
21286
+ type: 'string',
21287
+ format: 'datetime',
21288
+ },
21289
+ },
21290
+ },
21291
+ resolutionView: {
21292
+ type: 'object',
21293
+ required: ['outcome', 'resolvedAt'],
21294
+ properties: {
21295
+ outcome: {
21296
+ type: 'string',
21297
+ knownValues: ['actionTaken', 'noAction', 'other'],
21298
+ },
21299
+ actionTaken: {
21300
+ type: 'string',
21301
+ description: "Public action associated with this report's resolution. See the public action vocabulary table.",
21302
+ },
21303
+ scope: {
21304
+ type: 'string',
21305
+ knownValues: ['network', 'app', 'labelOnly'],
21306
+ },
21307
+ resolvedAt: {
21308
+ type: 'string',
21309
+ format: 'datetime',
21310
+ },
21311
+ },
21312
+ },
21313
+ },
21314
+ },
21315
+ ToolsOzoneInboxGetUnreadCount: {
21316
+ lexicon: 1,
21317
+ id: 'tools.ozone.inbox.getUnreadCount',
21318
+ defs: {
21319
+ main: {
21320
+ type: 'query',
21321
+ parameters: {
21322
+ type: 'params',
21323
+ properties: {
21324
+ section: {
21325
+ type: 'string',
21326
+ knownValues: ['reports', 'subjects', 'accountStatus'],
21327
+ },
21328
+ did: {
21329
+ type: 'string',
21330
+ format: 'did',
21331
+ description: 'Account to preview. Only Ozone staff can read another account; this does not change its read state.',
21332
+ },
21333
+ },
21334
+ },
21335
+ output: {
21336
+ encoding: 'application/json',
21337
+ schema: {
21338
+ type: 'object',
21339
+ required: ['unreadCounts'],
21340
+ properties: {
21341
+ unreadCounts: {
21342
+ type: 'ref',
21343
+ ref: 'lex:tools.ozone.inbox.getUnreadCount#unreadCounts',
21344
+ },
21345
+ },
21346
+ },
21347
+ },
21348
+ },
21349
+ unreadCounts: {
21350
+ type: 'object',
21351
+ required: ['total'],
21352
+ properties: {
21353
+ total: {
21354
+ type: 'integer',
21355
+ minimum: 0,
21356
+ },
21357
+ reports: {
21358
+ type: 'integer',
21359
+ minimum: 0,
21360
+ },
21361
+ subjects: {
21362
+ type: 'integer',
21363
+ minimum: 0,
21364
+ },
21365
+ accountStatus: {
21366
+ type: 'integer',
21367
+ minimum: 0,
21368
+ maximum: 1,
21369
+ },
21370
+ },
21371
+ },
21372
+ },
21373
+ },
21374
+ ToolsOzoneInboxListActionedSubjects: {
21375
+ lexicon: 1,
21376
+ id: 'tools.ozone.inbox.listActionedSubjects',
21377
+ defs: {
21378
+ main: {
21379
+ type: 'query',
21380
+ description: 'List subjects belonging to the authenticated account that have moderation actions from this moderation service.',
21381
+ parameters: {
21382
+ type: 'params',
21383
+ properties: {
21384
+ did: {
21385
+ type: 'string',
21386
+ format: 'did',
21387
+ description: 'Account to preview. Defaults to the authenticated account; another account requires an active moderator, triage, or admin credential.',
21388
+ },
21389
+ filter: {
21390
+ type: 'string',
21391
+ default: 'all',
21392
+ enum: ['all', 'pending', 'resolved', 'unread'],
21393
+ 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.",
21394
+ },
21395
+ sortField: {
21396
+ type: 'string',
21397
+ default: 'updatedAt',
21398
+ enum: ['createdAt', 'updatedAt'],
21399
+ },
21400
+ sortDirection: {
21401
+ type: 'string',
21402
+ default: 'desc',
21403
+ enum: ['asc', 'desc'],
21404
+ },
21405
+ limit: {
21406
+ type: 'integer',
21407
+ minimum: 1,
21408
+ maximum: 100,
21409
+ default: 50,
21410
+ },
21411
+ cursor: {
21412
+ type: 'string',
21413
+ description: 'An opaque cursor for pagination.',
21414
+ },
21415
+ },
21416
+ },
21417
+ output: {
21418
+ encoding: 'application/json',
21419
+ schema: {
21420
+ type: 'object',
21421
+ required: ['subjects'],
21422
+ properties: {
21423
+ cursor: {
21424
+ type: 'string',
21425
+ },
21426
+ subjects: {
21427
+ type: 'array',
21428
+ items: {
21429
+ type: 'ref',
21430
+ ref: 'lex:tools.ozone.inbox.defs#subjectView',
21431
+ },
21432
+ },
21433
+ },
21434
+ },
21435
+ },
21436
+ },
21437
+ },
21438
+ },
21439
+ ToolsOzoneInboxListNotifications: {
21440
+ lexicon: 1,
21441
+ id: 'tools.ozone.inbox.listNotifications',
21442
+ defs: {
21443
+ main: {
21444
+ type: 'query',
21445
+ parameters: {
21446
+ type: 'params',
21447
+ properties: {
21448
+ section: {
21449
+ type: 'string',
21450
+ knownValues: ['reports', 'subjects', 'accountStatus'],
21451
+ },
21452
+ reasons: {
21453
+ type: 'array',
21454
+ items: {
21455
+ type: 'string',
21456
+ knownValues: [
21457
+ 'reportResolved',
21458
+ 'reportReopened',
21459
+ 'actionTaken',
21460
+ 'actionReversed',
21461
+ 'appealResolved',
21462
+ 'standingChanged',
21463
+ ],
21464
+ },
21465
+ },
21466
+ unreadOnly: {
21467
+ type: 'boolean',
21468
+ default: false,
21469
+ },
21470
+ limit: {
21471
+ type: 'integer',
21472
+ minimum: 1,
21473
+ maximum: 100,
21474
+ default: 50,
21475
+ },
21476
+ cursor: {
21477
+ type: 'string',
21478
+ },
21479
+ did: {
21480
+ type: 'string',
21481
+ format: 'did',
21482
+ description: 'Account to preview. Only Ozone staff can read another account; this does not change its read state.',
21483
+ },
21484
+ },
21485
+ },
21486
+ output: {
21487
+ encoding: 'application/json',
21488
+ schema: {
21489
+ type: 'object',
21490
+ required: ['notifications'],
21491
+ properties: {
21492
+ cursor: {
21493
+ type: 'string',
21494
+ },
21495
+ notifications: {
21496
+ type: 'array',
21497
+ items: {
21498
+ type: 'ref',
21499
+ ref: 'lex:tools.ozone.inbox.defs#notification',
21500
+ },
21501
+ },
21502
+ },
21503
+ },
20723
21504
  },
20724
21505
  },
20725
- enforcementView: {
20726
- type: 'object',
20727
- description: 'The current enforcement state of a subject.',
20728
- required: ['state'],
20729
- properties: {
20730
- state: {
20731
- type: 'string',
20732
- knownValues: [
20733
- 'none',
20734
- 'labeled',
20735
- 'removed',
20736
- 'suspended',
20737
- 'takendown',
20738
- ],
20739
- },
20740
- scope: {
20741
- type: 'string',
20742
- knownValues: ['network', 'app', 'labelOnly'],
20743
- },
20744
- expiresAt: {
20745
- type: 'string',
20746
- format: 'datetime',
20747
- },
20748
- labels: {
20749
- type: 'array',
20750
- items: {
21506
+ },
21507
+ },
21508
+ ToolsOzoneInboxListReports: {
21509
+ lexicon: 1,
21510
+ id: 'tools.ozone.inbox.listReports',
21511
+ defs: {
21512
+ main: {
21513
+ type: 'query',
21514
+ description: 'List moderation reports submitted by the authenticated account to this moderation service.',
21515
+ parameters: {
21516
+ type: 'params',
21517
+ properties: {
21518
+ did: {
20751
21519
  type: 'string',
21520
+ format: 'did',
21521
+ description: 'Account to preview. Defaults to the authenticated account; another account requires an active moderator, triage, or admin credential.',
21522
+ },
21523
+ filter: {
21524
+ type: 'string',
21525
+ default: 'all',
21526
+ enum: ['all', 'pending', 'resolved', 'unread'],
21527
+ description: "Filter report activity. unread includes reports whose updatedAt is after the reports section's seenAt watermark.",
21528
+ },
21529
+ sortField: {
21530
+ type: 'string',
21531
+ default: 'updatedAt',
21532
+ enum: ['createdAt', 'updatedAt'],
21533
+ },
21534
+ sortDirection: {
21535
+ type: 'string',
21536
+ default: 'desc',
21537
+ enum: ['asc', 'desc'],
21538
+ },
21539
+ limit: {
21540
+ type: 'integer',
21541
+ minimum: 1,
21542
+ maximum: 100,
21543
+ default: 50,
21544
+ },
21545
+ cursor: {
21546
+ type: 'string',
21547
+ description: 'An opaque cursor for pagination.',
21548
+ },
21549
+ },
21550
+ },
21551
+ output: {
21552
+ encoding: 'application/json',
21553
+ schema: {
21554
+ type: 'object',
21555
+ required: ['reports'],
21556
+ properties: {
21557
+ cursor: {
21558
+ type: 'string',
21559
+ },
21560
+ reports: {
21561
+ type: 'array',
21562
+ items: {
21563
+ type: 'ref',
21564
+ ref: 'lex:tools.ozone.inbox.listReports#reportView',
21565
+ },
21566
+ },
20752
21567
  },
20753
- description: 'Active label values on the subject, excluding negated and expired labels.',
20754
21568
  },
20755
21569
  },
20756
21570
  },
20757
- appealView: {
21571
+ reportView: {
20758
21572
  type: 'object',
20759
- description: "The state of the viewer's appeal against the actions on a subject.",
20760
- required: ['state'],
21573
+ required: [
21574
+ 'src',
21575
+ 'id',
21576
+ 'isRead',
21577
+ 'reasonType',
21578
+ 'subject',
21579
+ 'status',
21580
+ 'createdAt',
21581
+ 'updatedAt',
21582
+ ],
20761
21583
  properties: {
20762
- state: {
21584
+ src: {
20763
21585
  type: 'string',
20764
- knownValues: [
20765
- 'none',
20766
- 'pending',
20767
- 'resolved',
20768
- 'superseded',
20769
- 'expired',
20770
- ],
21586
+ format: 'did',
21587
+ description: 'DID of the moderation service that received the report.',
20771
21588
  },
20772
- appealedAt: {
20773
- type: 'string',
20774
- format: 'datetime',
21589
+ id: {
21590
+ type: 'integer',
21591
+ description: "Report ID (report table ID), used by getReport and Ozone's report detail page.",
20775
21592
  },
20776
- resolvedAt: {
20777
- type: 'string',
20778
- format: 'datetime',
20779
- description: "When the appeal's report was closed.",
21593
+ isRead: {
21594
+ type: 'boolean',
20780
21595
  },
20781
- note: {
21596
+ reasonType: {
20782
21597
  type: 'string',
20783
- description: 'Moderator explanation, from the publicNote on the closing activity. Absent if none was written.',
21598
+ description: 'The exact fully-qualified reason NSID submitted with and stored on the report.',
20784
21599
  },
20785
- appealableUntil: {
21600
+ reason: {
20786
21601
  type: 'string',
20787
- format: 'datetime',
20788
- },
20789
- },
20790
- },
20791
- actionView: {
20792
- type: 'object',
20793
- description: 'A single moderation action taken against a subject.',
20794
- required: ['id', 'type', 'createdAt'],
20795
- properties: {
20796
- id: {
20797
- type: 'integer',
20798
- description: 'Action ID (moderation event ID).',
21602
+ maxGraphemes: 2000,
21603
+ maxLength: 20000,
20799
21604
  },
20800
- type: {
21605
+ lastActionTaken: {
20801
21606
  type: 'string',
20802
- description: 'Public action type.',
21607
+ description: "Public action associated with this report's transition to resolved. See the public action vocabulary table.",
20803
21608
  },
20804
21609
  scope: {
20805
21610
  type: 'string',
20806
21611
  knownValues: ['network', 'app', 'labelOnly'],
20807
21612
  },
20808
- createdAt: {
21613
+ subject: {
21614
+ type: 'union',
21615
+ refs: [
21616
+ 'lex:com.atproto.admin.defs#repoRef',
21617
+ 'lex:com.atproto.repo.strongRef',
21618
+ 'lex:chat.bsky.convo.defs#messageRef',
21619
+ 'lex:chat.bsky.convo.defs#convoRef',
21620
+ ],
21621
+ },
21622
+ status: {
20809
21623
  type: 'string',
20810
- format: 'datetime',
21624
+ knownValues: ['pending', 'resolved'],
20811
21625
  },
20812
- reversedAt: {
21626
+ createdAt: {
20813
21627
  type: 'string',
20814
21628
  format: 'datetime',
20815
21629
  },
20816
- expiresAt: {
21630
+ updatedAt: {
20817
21631
  type: 'string',
20818
21632
  format: 'datetime',
20819
21633
  },
20820
- labels: {
20821
- type: 'array',
20822
- items: {
20823
- type: 'string',
21634
+ },
21635
+ },
21636
+ },
21637
+ },
21638
+ ToolsOzoneInboxPutNotificationPreferences: {
21639
+ lexicon: 1,
21640
+ id: 'tools.ozone.inbox.putNotificationPreferences',
21641
+ defs: {
21642
+ main: {
21643
+ type: 'procedure',
21644
+ input: {
21645
+ encoding: 'application/json',
21646
+ schema: {
21647
+ type: 'object',
21648
+ required: ['push'],
21649
+ properties: {
21650
+ push: {
21651
+ type: 'boolean',
21652
+ },
20824
21653
  },
20825
- description: 'Label values, for labelApplied/labelRemoved.',
20826
21654
  },
20827
- policies: {
20828
- type: 'array',
20829
- items: {
20830
- type: 'string',
21655
+ },
21656
+ output: {
21657
+ encoding: 'application/json',
21658
+ schema: {
21659
+ type: 'object',
21660
+ required: ['preferences'],
21661
+ properties: {
21662
+ preferences: {
21663
+ type: 'ref',
21664
+ ref: 'lex:tools.ozone.inbox.defs#notificationPreferences',
21665
+ },
21666
+ },
21667
+ },
21668
+ },
21669
+ },
21670
+ },
21671
+ },
21672
+ ToolsOzoneInboxUpdateSeen: {
21673
+ lexicon: 1,
21674
+ id: 'tools.ozone.inbox.updateSeen',
21675
+ defs: {
21676
+ main: {
21677
+ type: 'procedure',
21678
+ input: {
21679
+ encoding: 'application/json',
21680
+ schema: {
21681
+ type: 'object',
21682
+ required: ['sections'],
21683
+ properties: {
21684
+ sections: {
21685
+ type: 'array',
21686
+ minLength: 1,
21687
+ items: {
21688
+ type: 'string',
21689
+ knownValues: ['reports', 'subjects', 'accountStatus'],
21690
+ },
21691
+ },
21692
+ seenAt: {
21693
+ type: 'string',
21694
+ format: 'datetime',
21695
+ 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.',
21696
+ },
21697
+ },
21698
+ },
21699
+ },
21700
+ output: {
21701
+ encoding: 'application/json',
21702
+ schema: {
21703
+ type: 'object',
21704
+ required: ['seenAt'],
21705
+ properties: {
21706
+ seenAt: {
21707
+ type: 'string',
21708
+ format: 'datetime',
21709
+ 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.',
21710
+ },
20831
21711
  },
20832
- description: 'Policies that were applied in this action.',
20833
21712
  },
20834
21713
  },
20835
21714
  },
@@ -21439,6 +22318,21 @@ export const schemaDict = {
21439
22318
  description: 'Report a subject',
21440
22319
  required: ['reportType'],
21441
22320
  properties: {
22321
+ appealSubmittedBy: {
22322
+ type: 'string',
22323
+ format: 'did',
22324
+ description: 'Moderator who submitted this appeal on behalf of the affected account. Returned by moderator event APIs.',
22325
+ },
22326
+ appealActionType: {
22327
+ type: 'string',
22328
+ description: 'Action reference type recorded when this appeal was submitted.',
22329
+ },
22330
+ appealActionId: {
22331
+ type: 'integer',
22332
+ },
22333
+ appealLabel: {
22334
+ type: 'string',
22335
+ },
21442
22336
  comment: {
21443
22337
  type: 'string',
21444
22338
  },
@@ -26147,6 +27041,41 @@ export const schemaDict = {
26147
27041
  },
26148
27042
  },
26149
27043
  },
27044
+ ToolsOzoneServerGetCapabilities: {
27045
+ lexicon: 1,
27046
+ id: 'tools.ozone.server.getCapabilities',
27047
+ defs: {
27048
+ main: {
27049
+ type: 'query',
27050
+ output: {
27051
+ encoding: 'application/json',
27052
+ schema: {
27053
+ type: 'object',
27054
+ properties: {
27055
+ notifications: {
27056
+ type: 'ref',
27057
+ ref: 'lex:tools.ozone.server.getCapabilities#notificationConfig',
27058
+ },
27059
+ },
27060
+ },
27061
+ },
27062
+ },
27063
+ notificationConfig: {
27064
+ type: 'object',
27065
+ required: ['channels'],
27066
+ properties: {
27067
+ channels: {
27068
+ type: 'array',
27069
+ minLength: 1,
27070
+ items: {
27071
+ type: 'string',
27072
+ knownValues: ['inApp', 'push'],
27073
+ },
27074
+ },
27075
+ },
27076
+ },
27077
+ },
27078
+ },
26150
27079
  ToolsOzoneServerGetConfig: {
26151
27080
  lexicon: 1,
26152
27081
  id: 'tools.ozone.server.getConfig',
@@ -27801,6 +28730,16 @@ export const ids = {
27801
28730
  ToolsOzoneHostingGetAccountHistory: 'tools.ozone.hosting.getAccountHistory',
27802
28731
  ToolsOzoneInboxAppealActionedSubject: 'tools.ozone.inbox.appealActionedSubject',
27803
28732
  ToolsOzoneInboxDefs: 'tools.ozone.inbox.defs',
28733
+ ToolsOzoneInboxGetAccountStatus: 'tools.ozone.inbox.getAccountStatus',
28734
+ ToolsOzoneInboxGetActionedSubject: 'tools.ozone.inbox.getActionedSubject',
28735
+ ToolsOzoneInboxGetNotificationPreferences: 'tools.ozone.inbox.getNotificationPreferences',
28736
+ ToolsOzoneInboxGetReport: 'tools.ozone.inbox.getReport',
28737
+ ToolsOzoneInboxGetUnreadCount: 'tools.ozone.inbox.getUnreadCount',
28738
+ ToolsOzoneInboxListActionedSubjects: 'tools.ozone.inbox.listActionedSubjects',
28739
+ ToolsOzoneInboxListNotifications: 'tools.ozone.inbox.listNotifications',
28740
+ ToolsOzoneInboxListReports: 'tools.ozone.inbox.listReports',
28741
+ ToolsOzoneInboxPutNotificationPreferences: 'tools.ozone.inbox.putNotificationPreferences',
28742
+ ToolsOzoneInboxUpdateSeen: 'tools.ozone.inbox.updateSeen',
27804
28743
  ToolsOzoneModerationCancelScheduledActions: 'tools.ozone.moderation.cancelScheduledActions',
27805
28744
  ToolsOzoneModerationDefs: 'tools.ozone.moderation.defs',
27806
28745
  ToolsOzoneModerationEmitEvent: 'tools.ozone.moderation.emitEvent',
@@ -27848,6 +28787,7 @@ export const ids = {
27848
28787
  ToolsOzoneSafelinkQueryRules: 'tools.ozone.safelink.queryRules',
27849
28788
  ToolsOzoneSafelinkRemoveRule: 'tools.ozone.safelink.removeRule',
27850
28789
  ToolsOzoneSafelinkUpdateRule: 'tools.ozone.safelink.updateRule',
28790
+ ToolsOzoneServerGetCapabilities: 'tools.ozone.server.getCapabilities',
27851
28791
  ToolsOzoneServerGetConfig: 'tools.ozone.server.getConfig',
27852
28792
  ToolsOzoneSetAddValues: 'tools.ozone.set.addValues',
27853
28793
  ToolsOzoneSetDefs: 'tools.ozone.set.defs',