@atproto/api 0.13.14 → 0.13.16

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 (65) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/dist/agent.d.ts +2 -2
  3. package/dist/agent.d.ts.map +1 -1
  4. package/dist/agent.js +15 -9
  5. package/dist/agent.js.map +1 -1
  6. package/dist/client/index.d.ts +15 -0
  7. package/dist/client/index.d.ts.map +1 -1
  8. package/dist/client/index.js +34 -2
  9. package/dist/client/index.js.map +1 -1
  10. package/dist/client/lexicons.d.ts +362 -1
  11. package/dist/client/lexicons.d.ts.map +1 -1
  12. package/dist/client/lexicons.js +406 -5
  13. package/dist/client/lexicons.js.map +1 -1
  14. package/dist/client/types/chat/bsky/convo/defs.d.ts +1 -0
  15. package/dist/client/types/chat/bsky/convo/defs.d.ts.map +1 -1
  16. package/dist/client/types/chat/bsky/convo/defs.js.map +1 -1
  17. package/dist/client/types/tools/ozone/moderation/defs.d.ts +60 -4
  18. package/dist/client/types/tools/ozone/moderation/defs.d.ts.map +1 -1
  19. package/dist/client/types/tools/ozone/moderation/defs.js +50 -0
  20. package/dist/client/types/tools/ozone/moderation/defs.js.map +1 -1
  21. package/dist/client/types/tools/ozone/moderation/emitEvent.d.ts +1 -1
  22. package/dist/client/types/tools/ozone/moderation/emitEvent.d.ts.map +1 -1
  23. package/dist/client/types/tools/ozone/moderation/emitEvent.js.map +1 -1
  24. package/dist/client/types/tools/ozone/moderation/queryStatuses.d.ts +10 -0
  25. package/dist/client/types/tools/ozone/moderation/queryStatuses.d.ts.map +1 -1
  26. package/dist/client/types/tools/ozone/moderation/queryStatuses.js.map +1 -1
  27. package/dist/client/types/tools/ozone/setting/defs.d.ts +20 -0
  28. package/dist/client/types/tools/ozone/setting/defs.d.ts.map +1 -0
  29. package/dist/client/types/tools/ozone/setting/defs.js +15 -0
  30. package/dist/client/types/tools/ozone/setting/defs.js.map +1 -0
  31. package/dist/client/types/tools/ozone/setting/listOptions.d.ts +31 -0
  32. package/dist/client/types/tools/ozone/setting/listOptions.d.ts.map +1 -0
  33. package/dist/client/types/tools/ozone/setting/listOptions.js +7 -0
  34. package/dist/client/types/tools/ozone/setting/listOptions.js.map +1 -0
  35. package/dist/client/types/tools/ozone/setting/removeOptions.d.ts +27 -0
  36. package/dist/client/types/tools/ozone/setting/removeOptions.d.ts.map +1 -0
  37. package/dist/client/types/tools/ozone/setting/removeOptions.js +7 -0
  38. package/dist/client/types/tools/ozone/setting/removeOptions.js.map +1 -0
  39. package/dist/client/types/tools/ozone/setting/upsertOption.d.ts +32 -0
  40. package/dist/client/types/tools/ozone/setting/upsertOption.d.ts.map +1 -0
  41. package/dist/client/types/tools/ozone/setting/upsertOption.js +7 -0
  42. package/dist/client/types/tools/ozone/setting/upsertOption.js.map +1 -0
  43. package/dist/index.d.ts +1 -0
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +3 -1
  46. package/dist/index.js.map +1 -1
  47. package/dist/rich-text/rich-text.d.ts.map +1 -1
  48. package/dist/rich-text/rich-text.js +11 -4
  49. package/dist/rich-text/rich-text.js.map +1 -1
  50. package/package.json +5 -5
  51. package/src/agent.ts +19 -4
  52. package/src/client/index.ts +54 -0
  53. package/src/client/lexicons.ts +417 -5
  54. package/src/client/types/chat/bsky/convo/defs.ts +1 -0
  55. package/src/client/types/tools/ozone/moderation/defs.ts +132 -2
  56. package/src/client/types/tools/ozone/moderation/emitEvent.ts +3 -0
  57. package/src/client/types/tools/ozone/moderation/queryStatuses.ts +10 -0
  58. package/src/client/types/tools/ozone/setting/defs.ts +37 -0
  59. package/src/client/types/tools/ozone/setting/listOptions.ts +42 -0
  60. package/src/client/types/tools/ozone/setting/removeOptions.ts +37 -0
  61. package/src/client/types/tools/ozone/setting/upsertOption.ts +46 -0
  62. package/src/index.ts +1 -0
  63. package/src/rich-text/rich-text.ts +17 -7
  64. package/tests/rich-text.test.ts +44 -0
  65. package/tsconfig.build.tsbuildinfo +1 -1
@@ -1341,7 +1341,7 @@ export const schemaDict = {
1341
1341
  },
1342
1342
  rkey: {
1343
1343
  type: 'string',
1344
- maxLength: 15,
1344
+ maxLength: 512,
1345
1345
  },
1346
1346
  value: {
1347
1347
  type: 'unknown',
@@ -1450,7 +1450,7 @@ export const schemaDict = {
1450
1450
  rkey: {
1451
1451
  type: 'string',
1452
1452
  description: 'The Record Key.',
1453
- maxLength: 15,
1453
+ maxLength: 512,
1454
1454
  },
1455
1455
  validate: {
1456
1456
  type: 'boolean',
@@ -1901,7 +1901,7 @@ export const schemaDict = {
1901
1901
  rkey: {
1902
1902
  type: 'string',
1903
1903
  description: 'The Record Key.',
1904
- maxLength: 15,
1904
+ maxLength: 512,
1905
1905
  },
1906
1906
  validate: {
1907
1907
  type: 'boolean',
@@ -9893,6 +9893,9 @@ export const schemaDict = {
9893
9893
  muted: {
9894
9894
  type: 'boolean',
9895
9895
  },
9896
+ opened: {
9897
+ type: 'boolean',
9898
+ },
9896
9899
  unreadCount: {
9897
9900
  type: 'integer',
9898
9901
  },
@@ -10821,6 +10824,9 @@ export const schemaDict = {
10821
10824
  'lex:tools.ozone.moderation.defs#modEventResolveAppeal',
10822
10825
  'lex:tools.ozone.moderation.defs#modEventDivert',
10823
10826
  'lex:tools.ozone.moderation.defs#modEventTag',
10827
+ 'lex:tools.ozone.moderation.defs#accountEvent',
10828
+ 'lex:tools.ozone.moderation.defs#identityEvent',
10829
+ 'lex:tools.ozone.moderation.defs#recordEvent',
10824
10830
  ],
10825
10831
  },
10826
10832
  subject: {
@@ -10885,6 +10891,9 @@ export const schemaDict = {
10885
10891
  'lex:tools.ozone.moderation.defs#modEventResolveAppeal',
10886
10892
  'lex:tools.ozone.moderation.defs#modEventDivert',
10887
10893
  'lex:tools.ozone.moderation.defs#modEventTag',
10894
+ 'lex:tools.ozone.moderation.defs#accountEvent',
10895
+ 'lex:tools.ozone.moderation.defs#identityEvent',
10896
+ 'lex:tools.ozone.moderation.defs#recordEvent',
10888
10897
  ],
10889
10898
  },
10890
10899
  subject: {
@@ -10927,6 +10936,13 @@ export const schemaDict = {
10927
10936
  'lex:com.atproto.repo.strongRef',
10928
10937
  ],
10929
10938
  },
10939
+ hosting: {
10940
+ type: 'union',
10941
+ refs: [
10942
+ 'lex:tools.ozone.moderation.defs#accountHosting',
10943
+ 'lex:tools.ozone.moderation.defs#recordHosting',
10944
+ ],
10945
+ },
10930
10946
  subjectBlobCids: {
10931
10947
  type: 'array',
10932
10948
  items: {
@@ -11169,14 +11185,14 @@ export const schemaDict = {
11169
11185
  modEventMuteReporter: {
11170
11186
  type: 'object',
11171
11187
  description: 'Mute incoming reports from an account',
11172
- required: ['durationInHours'],
11173
11188
  properties: {
11174
11189
  comment: {
11175
11190
  type: 'string',
11176
11191
  },
11177
11192
  durationInHours: {
11178
11193
  type: 'integer',
11179
- description: 'Indicates how long the account should remain muted.',
11194
+ description:
11195
+ 'Indicates how long the account should remain muted. Falsy value here means a permanent mute.',
11180
11196
  },
11181
11197
  },
11182
11198
  },
@@ -11246,6 +11262,86 @@ export const schemaDict = {
11246
11262
  },
11247
11263
  },
11248
11264
  },
11265
+ accountEvent: {
11266
+ type: 'object',
11267
+ description:
11268
+ 'Logs account status related events on a repo subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking.',
11269
+ required: ['timestamp', 'active'],
11270
+ properties: {
11271
+ comment: {
11272
+ type: 'string',
11273
+ },
11274
+ active: {
11275
+ type: 'boolean',
11276
+ description:
11277
+ 'Indicates that the account has a repository which can be fetched from the host that emitted this event.',
11278
+ },
11279
+ status: {
11280
+ type: 'string',
11281
+ knownValues: [
11282
+ 'unknown',
11283
+ 'deactivated',
11284
+ 'deleted',
11285
+ 'takendown',
11286
+ 'suspended',
11287
+ 'tombstoned',
11288
+ ],
11289
+ },
11290
+ timestamp: {
11291
+ type: 'string',
11292
+ format: 'datetime',
11293
+ },
11294
+ },
11295
+ },
11296
+ identityEvent: {
11297
+ type: 'object',
11298
+ description:
11299
+ 'Logs identity related events on a repo subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking.',
11300
+ required: ['timestamp'],
11301
+ properties: {
11302
+ comment: {
11303
+ type: 'string',
11304
+ },
11305
+ handle: {
11306
+ type: 'string',
11307
+ format: 'handle',
11308
+ },
11309
+ pdsHost: {
11310
+ type: 'string',
11311
+ format: 'uri',
11312
+ },
11313
+ tombstone: {
11314
+ type: 'boolean',
11315
+ },
11316
+ timestamp: {
11317
+ type: 'string',
11318
+ format: 'datetime',
11319
+ },
11320
+ },
11321
+ },
11322
+ recordEvent: {
11323
+ type: 'object',
11324
+ description:
11325
+ 'Logs lifecycle event on a record subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking.',
11326
+ required: ['timestamp', 'op'],
11327
+ properties: {
11328
+ comment: {
11329
+ type: 'string',
11330
+ },
11331
+ op: {
11332
+ type: 'string',
11333
+ knownValues: ['create', 'update', 'delete'],
11334
+ },
11335
+ cid: {
11336
+ type: 'string',
11337
+ format: 'cid',
11338
+ },
11339
+ timestamp: {
11340
+ type: 'string',
11341
+ format: 'datetime',
11342
+ },
11343
+ },
11344
+ },
11249
11345
  repoView: {
11250
11346
  type: 'object',
11251
11347
  required: [
@@ -11571,6 +11667,64 @@ export const schemaDict = {
11571
11667
  },
11572
11668
  },
11573
11669
  },
11670
+ accountHosting: {
11671
+ type: 'object',
11672
+ required: ['status'],
11673
+ properties: {
11674
+ status: {
11675
+ type: 'string',
11676
+ knownValues: [
11677
+ 'takendown',
11678
+ 'suspended',
11679
+ 'deleted',
11680
+ 'deactivated',
11681
+ 'unknown',
11682
+ ],
11683
+ },
11684
+ updatedAt: {
11685
+ type: 'string',
11686
+ format: 'datetime',
11687
+ },
11688
+ createdAt: {
11689
+ type: 'string',
11690
+ format: 'datetime',
11691
+ },
11692
+ deletedAt: {
11693
+ type: 'string',
11694
+ format: 'datetime',
11695
+ },
11696
+ deactivatedAt: {
11697
+ type: 'string',
11698
+ format: 'datetime',
11699
+ },
11700
+ reactivatedAt: {
11701
+ type: 'string',
11702
+ format: 'datetime',
11703
+ },
11704
+ },
11705
+ },
11706
+ recordHosting: {
11707
+ type: 'object',
11708
+ required: ['status'],
11709
+ properties: {
11710
+ status: {
11711
+ type: 'string',
11712
+ knownValues: ['deleted', 'unknown'],
11713
+ },
11714
+ updatedAt: {
11715
+ type: 'string',
11716
+ format: 'datetime',
11717
+ },
11718
+ createdAt: {
11719
+ type: 'string',
11720
+ format: 'datetime',
11721
+ },
11722
+ deletedAt: {
11723
+ type: 'string',
11724
+ format: 'datetime',
11725
+ },
11726
+ },
11727
+ },
11574
11728
  },
11575
11729
  },
11576
11730
  ToolsOzoneModerationEmitEvent: {
@@ -11603,6 +11757,9 @@ export const schemaDict = {
11603
11757
  'lex:tools.ozone.moderation.defs#modEventResolveAppeal',
11604
11758
  'lex:tools.ozone.moderation.defs#modEventEmail',
11605
11759
  'lex:tools.ozone.moderation.defs#modEventTag',
11760
+ 'lex:tools.ozone.moderation.defs#accountEvent',
11761
+ 'lex:tools.ozone.moderation.defs#identityEvent',
11762
+ 'lex:tools.ozone.moderation.defs#recordEvent',
11606
11763
  ],
11607
11764
  },
11608
11765
  subject: {
@@ -12005,6 +12162,38 @@ export const schemaDict = {
12005
12162
  format: 'datetime',
12006
12163
  description: 'Search subjects reviewed after a given timestamp',
12007
12164
  },
12165
+ hostingDeletedAfter: {
12166
+ type: 'string',
12167
+ format: 'datetime',
12168
+ description:
12169
+ 'Search subjects where the associated record/account was deleted after a given timestamp',
12170
+ },
12171
+ hostingDeletedBefore: {
12172
+ type: 'string',
12173
+ format: 'datetime',
12174
+ description:
12175
+ 'Search subjects where the associated record/account was deleted before a given timestamp',
12176
+ },
12177
+ hostingUpdatedAfter: {
12178
+ type: 'string',
12179
+ format: 'datetime',
12180
+ description:
12181
+ 'Search subjects where the associated record/account was updated after a given timestamp',
12182
+ },
12183
+ hostingUpdatedBefore: {
12184
+ type: 'string',
12185
+ format: 'datetime',
12186
+ description:
12187
+ 'Search subjects where the associated record/account was updated before a given timestamp',
12188
+ },
12189
+ hostingStatuses: {
12190
+ type: 'array',
12191
+ items: {
12192
+ type: 'string',
12193
+ },
12194
+ description:
12195
+ 'Search subjects by the status of the associated record/account',
12196
+ },
12008
12197
  reviewedBefore: {
12009
12198
  type: 'string',
12010
12199
  format: 'datetime',
@@ -12520,6 +12709,225 @@ export const schemaDict = {
12520
12709
  },
12521
12710
  },
12522
12711
  },
12712
+ ToolsOzoneSettingDefs: {
12713
+ lexicon: 1,
12714
+ id: 'tools.ozone.setting.defs',
12715
+ defs: {
12716
+ option: {
12717
+ type: 'object',
12718
+ required: [
12719
+ 'key',
12720
+ 'value',
12721
+ 'did',
12722
+ 'scope',
12723
+ 'createdBy',
12724
+ 'lastUpdatedBy',
12725
+ ],
12726
+ properties: {
12727
+ key: {
12728
+ type: 'string',
12729
+ format: 'nsid',
12730
+ },
12731
+ did: {
12732
+ type: 'string',
12733
+ format: 'did',
12734
+ },
12735
+ value: {
12736
+ type: 'unknown',
12737
+ },
12738
+ description: {
12739
+ type: 'string',
12740
+ maxGraphemes: 1024,
12741
+ maxLength: 10240,
12742
+ },
12743
+ createdAt: {
12744
+ type: 'string',
12745
+ format: 'datetime',
12746
+ },
12747
+ updatedAt: {
12748
+ type: 'string',
12749
+ format: 'datetime',
12750
+ },
12751
+ managerRole: {
12752
+ type: 'string',
12753
+ knownValues: [
12754
+ 'tools.ozone.team.defs#roleModerator',
12755
+ 'tools.ozone.team.defs#roleTriage',
12756
+ 'tools.ozone.team.defs#roleAdmin',
12757
+ ],
12758
+ },
12759
+ scope: {
12760
+ type: 'string',
12761
+ knownValues: ['instance', 'personal'],
12762
+ },
12763
+ createdBy: {
12764
+ type: 'string',
12765
+ format: 'did',
12766
+ },
12767
+ lastUpdatedBy: {
12768
+ type: 'string',
12769
+ format: 'did',
12770
+ },
12771
+ },
12772
+ },
12773
+ },
12774
+ },
12775
+ ToolsOzoneSettingListOptions: {
12776
+ lexicon: 1,
12777
+ id: 'tools.ozone.setting.listOptions',
12778
+ defs: {
12779
+ main: {
12780
+ type: 'query',
12781
+ description: 'List settings with optional filtering',
12782
+ parameters: {
12783
+ type: 'params',
12784
+ properties: {
12785
+ limit: {
12786
+ type: 'integer',
12787
+ minimum: 1,
12788
+ maximum: 100,
12789
+ default: 50,
12790
+ },
12791
+ cursor: {
12792
+ type: 'string',
12793
+ },
12794
+ scope: {
12795
+ type: 'string',
12796
+ knownValues: ['instance', 'personal'],
12797
+ default: 'instance',
12798
+ },
12799
+ prefix: {
12800
+ type: 'string',
12801
+ description: 'Filter keys by prefix',
12802
+ },
12803
+ keys: {
12804
+ type: 'array',
12805
+ maxLength: 100,
12806
+ items: {
12807
+ type: 'string',
12808
+ format: 'nsid',
12809
+ },
12810
+ description:
12811
+ 'Filter for only the specified keys. Ignored if prefix is provided',
12812
+ },
12813
+ },
12814
+ },
12815
+ output: {
12816
+ encoding: 'application/json',
12817
+ schema: {
12818
+ type: 'object',
12819
+ required: ['options'],
12820
+ properties: {
12821
+ cursor: {
12822
+ type: 'string',
12823
+ },
12824
+ options: {
12825
+ type: 'array',
12826
+ items: {
12827
+ type: 'ref',
12828
+ ref: 'lex:tools.ozone.setting.defs#option',
12829
+ },
12830
+ },
12831
+ },
12832
+ },
12833
+ },
12834
+ },
12835
+ },
12836
+ },
12837
+ ToolsOzoneSettingRemoveOptions: {
12838
+ lexicon: 1,
12839
+ id: 'tools.ozone.setting.removeOptions',
12840
+ defs: {
12841
+ main: {
12842
+ type: 'procedure',
12843
+ description: 'Delete settings by key',
12844
+ input: {
12845
+ encoding: 'application/json',
12846
+ schema: {
12847
+ type: 'object',
12848
+ required: ['keys', 'scope'],
12849
+ properties: {
12850
+ keys: {
12851
+ type: 'array',
12852
+ minLength: 1,
12853
+ maxLength: 200,
12854
+ items: {
12855
+ type: 'string',
12856
+ format: 'nsid',
12857
+ },
12858
+ },
12859
+ scope: {
12860
+ type: 'string',
12861
+ knownValues: ['instance', 'personal'],
12862
+ },
12863
+ },
12864
+ },
12865
+ },
12866
+ output: {
12867
+ encoding: 'application/json',
12868
+ schema: {
12869
+ type: 'object',
12870
+ properties: {},
12871
+ },
12872
+ },
12873
+ },
12874
+ },
12875
+ },
12876
+ ToolsOzoneSettingUpsertOption: {
12877
+ lexicon: 1,
12878
+ id: 'tools.ozone.setting.upsertOption',
12879
+ defs: {
12880
+ main: {
12881
+ type: 'procedure',
12882
+ description: 'Create or update setting option',
12883
+ input: {
12884
+ encoding: 'application/json',
12885
+ schema: {
12886
+ type: 'object',
12887
+ required: ['key', 'scope', 'value'],
12888
+ properties: {
12889
+ key: {
12890
+ type: 'string',
12891
+ format: 'nsid',
12892
+ },
12893
+ scope: {
12894
+ type: 'string',
12895
+ knownValues: ['instance', 'personal'],
12896
+ },
12897
+ value: {
12898
+ type: 'unknown',
12899
+ },
12900
+ description: {
12901
+ type: 'string',
12902
+ maxLength: 2000,
12903
+ },
12904
+ managerRole: {
12905
+ type: 'string',
12906
+ knownValues: [
12907
+ 'tools.ozone.team.defs#roleModerator',
12908
+ 'tools.ozone.team.defs#roleTriage',
12909
+ 'tools.ozone.team.defs#roleAdmin',
12910
+ ],
12911
+ },
12912
+ },
12913
+ },
12914
+ },
12915
+ output: {
12916
+ encoding: 'application/json',
12917
+ schema: {
12918
+ type: 'object',
12919
+ required: ['option'],
12920
+ properties: {
12921
+ option: {
12922
+ type: 'ref',
12923
+ ref: 'lex:tools.ozone.setting.defs#option',
12924
+ },
12925
+ },
12926
+ },
12927
+ },
12928
+ },
12929
+ },
12930
+ },
12523
12931
  ToolsOzoneSignatureDefs: {
12524
12932
  lexicon: 1,
12525
12933
  id: 'tools.ozone.signature.defs',
@@ -13153,6 +13561,10 @@ export const ids = {
13153
13561
  ToolsOzoneSetGetValues: 'tools.ozone.set.getValues',
13154
13562
  ToolsOzoneSetQuerySets: 'tools.ozone.set.querySets',
13155
13563
  ToolsOzoneSetUpsertSet: 'tools.ozone.set.upsertSet',
13564
+ ToolsOzoneSettingDefs: 'tools.ozone.setting.defs',
13565
+ ToolsOzoneSettingListOptions: 'tools.ozone.setting.listOptions',
13566
+ ToolsOzoneSettingRemoveOptions: 'tools.ozone.setting.removeOptions',
13567
+ ToolsOzoneSettingUpsertOption: 'tools.ozone.setting.upsertOption',
13156
13568
  ToolsOzoneSignatureDefs: 'tools.ozone.signature.defs',
13157
13569
  ToolsOzoneSignatureFindCorrelation: 'tools.ozone.signature.findCorrelation',
13158
13570
  ToolsOzoneSignatureFindRelatedAccounts:
@@ -118,6 +118,7 @@ export interface ConvoView {
118
118
  | DeletedMessageView
119
119
  | { $type: string; [k: string]: unknown }
120
120
  muted: boolean
121
+ opened?: boolean
121
122
  unreadCount: number
122
123
  [k: string]: unknown
123
124
  }
@@ -30,6 +30,9 @@ export interface ModEventView {
30
30
  | ModEventResolveAppeal
31
31
  | ModEventDivert
32
32
  | ModEventTag
33
+ | AccountEvent
34
+ | IdentityEvent
35
+ | RecordEvent
33
36
  | { $type: string; [k: string]: unknown }
34
37
  subject:
35
38
  | ComAtprotoAdminDefs.RepoRef
@@ -74,6 +77,9 @@ export interface ModEventViewDetail {
74
77
  | ModEventResolveAppeal
75
78
  | ModEventDivert
76
79
  | ModEventTag
80
+ | AccountEvent
81
+ | IdentityEvent
82
+ | RecordEvent
77
83
  | { $type: string; [k: string]: unknown }
78
84
  subject:
79
85
  | RepoView
@@ -105,6 +111,10 @@ export interface SubjectStatusView {
105
111
  | ComAtprotoAdminDefs.RepoRef
106
112
  | ComAtprotoRepoStrongRef.Main
107
113
  | { $type: string; [k: string]: unknown }
114
+ hosting?:
115
+ | AccountHosting
116
+ | RecordHosting
117
+ | { $type: string; [k: string]: unknown }
108
118
  subjectBlobCids?: string[]
109
119
  subjectRepoHandle?: string
110
120
  /** Timestamp referencing when the last update was made to the moderation status of the subject */
@@ -364,8 +374,8 @@ export function validateModEventUnmute(v: unknown): ValidationResult {
364
374
  /** Mute incoming reports from an account */
365
375
  export interface ModEventMuteReporter {
366
376
  comment?: string
367
- /** Indicates how long the account should remain muted. */
368
- durationInHours: number
377
+ /** Indicates how long the account should remain muted. Falsy value here means a permanent mute. */
378
+ durationInHours?: number
369
379
  [k: string]: unknown
370
380
  }
371
381
 
@@ -472,6 +482,78 @@ export function validateModEventTag(v: unknown): ValidationResult {
472
482
  return lexicons.validate('tools.ozone.moderation.defs#modEventTag', v)
473
483
  }
474
484
 
485
+ /** Logs account status related events on a repo subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking. */
486
+ export interface AccountEvent {
487
+ comment?: string
488
+ /** Indicates that the account has a repository which can be fetched from the host that emitted this event. */
489
+ active: boolean
490
+ status?:
491
+ | 'unknown'
492
+ | 'deactivated'
493
+ | 'deleted'
494
+ | 'takendown'
495
+ | 'suspended'
496
+ | 'tombstoned'
497
+ | (string & {})
498
+ timestamp: string
499
+ [k: string]: unknown
500
+ }
501
+
502
+ export function isAccountEvent(v: unknown): v is AccountEvent {
503
+ return (
504
+ isObj(v) &&
505
+ hasProp(v, '$type') &&
506
+ v.$type === 'tools.ozone.moderation.defs#accountEvent'
507
+ )
508
+ }
509
+
510
+ export function validateAccountEvent(v: unknown): ValidationResult {
511
+ return lexicons.validate('tools.ozone.moderation.defs#accountEvent', v)
512
+ }
513
+
514
+ /** Logs identity related events on a repo subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking. */
515
+ export interface IdentityEvent {
516
+ comment?: string
517
+ handle?: string
518
+ pdsHost?: string
519
+ tombstone?: boolean
520
+ timestamp: string
521
+ [k: string]: unknown
522
+ }
523
+
524
+ export function isIdentityEvent(v: unknown): v is IdentityEvent {
525
+ return (
526
+ isObj(v) &&
527
+ hasProp(v, '$type') &&
528
+ v.$type === 'tools.ozone.moderation.defs#identityEvent'
529
+ )
530
+ }
531
+
532
+ export function validateIdentityEvent(v: unknown): ValidationResult {
533
+ return lexicons.validate('tools.ozone.moderation.defs#identityEvent', v)
534
+ }
535
+
536
+ /** Logs lifecycle event on a record subject. Normally captured by automod from the firehose and emitted to ozone for historical tracking. */
537
+ export interface RecordEvent {
538
+ comment?: string
539
+ op: 'create' | 'update' | 'delete' | (string & {})
540
+ cid?: string
541
+ timestamp: string
542
+ [k: string]: unknown
543
+ }
544
+
545
+ export function isRecordEvent(v: unknown): v is RecordEvent {
546
+ return (
547
+ isObj(v) &&
548
+ hasProp(v, '$type') &&
549
+ v.$type === 'tools.ozone.moderation.defs#recordEvent'
550
+ )
551
+ }
552
+
553
+ export function validateRecordEvent(v: unknown): ValidationResult {
554
+ return lexicons.validate('tools.ozone.moderation.defs#recordEvent', v)
555
+ }
556
+
475
557
  export interface RepoView {
476
558
  did: string
477
559
  handle: string
@@ -705,3 +787,51 @@ export function isVideoDetails(v: unknown): v is VideoDetails {
705
787
  export function validateVideoDetails(v: unknown): ValidationResult {
706
788
  return lexicons.validate('tools.ozone.moderation.defs#videoDetails', v)
707
789
  }
790
+
791
+ export interface AccountHosting {
792
+ status:
793
+ | 'takendown'
794
+ | 'suspended'
795
+ | 'deleted'
796
+ | 'deactivated'
797
+ | 'unknown'
798
+ | (string & {})
799
+ updatedAt?: string
800
+ createdAt?: string
801
+ deletedAt?: string
802
+ deactivatedAt?: string
803
+ reactivatedAt?: string
804
+ [k: string]: unknown
805
+ }
806
+
807
+ export function isAccountHosting(v: unknown): v is AccountHosting {
808
+ return (
809
+ isObj(v) &&
810
+ hasProp(v, '$type') &&
811
+ v.$type === 'tools.ozone.moderation.defs#accountHosting'
812
+ )
813
+ }
814
+
815
+ export function validateAccountHosting(v: unknown): ValidationResult {
816
+ return lexicons.validate('tools.ozone.moderation.defs#accountHosting', v)
817
+ }
818
+
819
+ export interface RecordHosting {
820
+ status: 'deleted' | 'unknown' | (string & {})
821
+ updatedAt?: string
822
+ createdAt?: string
823
+ deletedAt?: string
824
+ [k: string]: unknown
825
+ }
826
+
827
+ export function isRecordHosting(v: unknown): v is RecordHosting {
828
+ return (
829
+ isObj(v) &&
830
+ hasProp(v, '$type') &&
831
+ v.$type === 'tools.ozone.moderation.defs#recordHosting'
832
+ )
833
+ }
834
+
835
+ export function validateRecordHosting(v: unknown): ValidationResult {
836
+ return lexicons.validate('tools.ozone.moderation.defs#recordHosting', v)
837
+ }
@@ -28,6 +28,9 @@ export interface InputSchema {
28
28
  | ToolsOzoneModerationDefs.ModEventResolveAppeal
29
29
  | ToolsOzoneModerationDefs.ModEventEmail
30
30
  | ToolsOzoneModerationDefs.ModEventTag
31
+ | ToolsOzoneModerationDefs.AccountEvent
32
+ | ToolsOzoneModerationDefs.IdentityEvent
33
+ | ToolsOzoneModerationDefs.RecordEvent
31
34
  | { $type: string; [k: string]: unknown }
32
35
  subject:
33
36
  | ComAtprotoAdminDefs.RepoRef