@atproto/bsky 0.0.156 → 0.0.157

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 (112) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/api/app/bsky/notification/getPreferences.d.ts +4 -0
  3. package/dist/api/app/bsky/notification/getPreferences.d.ts.map +1 -0
  4. package/dist/api/app/bsky/notification/getPreferences.js +39 -0
  5. package/dist/api/app/bsky/notification/getPreferences.js.map +1 -0
  6. package/dist/api/app/bsky/notification/putPreferencesV2.d.ts +4 -0
  7. package/dist/api/app/bsky/notification/putPreferencesV2.d.ts.map +1 -0
  8. package/dist/api/app/bsky/notification/putPreferencesV2.js +47 -0
  9. package/dist/api/app/bsky/notification/putPreferencesV2.js.map +1 -0
  10. package/dist/api/app/bsky/notification/util.d.ts +9 -0
  11. package/dist/api/app/bsky/notification/util.d.ts.map +1 -0
  12. package/dist/api/app/bsky/notification/util.js +84 -0
  13. package/dist/api/app/bsky/notification/util.js.map +1 -0
  14. package/dist/api/index.d.ts.map +1 -1
  15. package/dist/api/index.js +4 -0
  16. package/dist/api/index.js.map +1 -1
  17. package/dist/context.d.ts +3 -0
  18. package/dist/context.d.ts.map +1 -1
  19. package/dist/context.js +3 -0
  20. package/dist/context.js.map +1 -1
  21. package/dist/data-plane/bsync/index.d.ts.map +1 -1
  22. package/dist/data-plane/bsync/index.js +84 -0
  23. package/dist/data-plane/bsync/index.js.map +1 -1
  24. package/dist/data-plane/server/db/database-schema.d.ts +2 -1
  25. package/dist/data-plane/server/db/database-schema.d.ts.map +1 -1
  26. package/dist/data-plane/server/db/migrations/20250602T190357447Z-add-private-data.d.ts +4 -0
  27. package/dist/data-plane/server/db/migrations/20250602T190357447Z-add-private-data.d.ts.map +1 -0
  28. package/dist/data-plane/server/db/migrations/20250602T190357447Z-add-private-data.js +24 -0
  29. package/dist/data-plane/server/db/migrations/20250602T190357447Z-add-private-data.js.map +1 -0
  30. package/dist/data-plane/server/db/migrations/index.d.ts +1 -0
  31. package/dist/data-plane/server/db/migrations/index.d.ts.map +1 -1
  32. package/dist/data-plane/server/db/migrations/index.js +2 -1
  33. package/dist/data-plane/server/db/migrations/index.js.map +1 -1
  34. package/dist/data-plane/server/db/tables/private-data.d.ts +13 -0
  35. package/dist/data-plane/server/db/tables/private-data.d.ts.map +1 -0
  36. package/dist/data-plane/server/db/tables/private-data.js +5 -0
  37. package/dist/data-plane/server/db/tables/private-data.js.map +1 -0
  38. package/dist/data-plane/server/routes/index.d.ts.map +1 -1
  39. package/dist/data-plane/server/routes/index.js +2 -0
  40. package/dist/data-plane/server/routes/index.js.map +1 -1
  41. package/dist/data-plane/server/routes/private-data.d.ts +9 -0
  42. package/dist/data-plane/server/routes/private-data.d.ts.map +1 -0
  43. package/dist/data-plane/server/routes/private-data.js +63 -0
  44. package/dist/data-plane/server/routes/private-data.js.map +1 -0
  45. package/dist/data-plane/server/util.d.ts +6 -6
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +3 -0
  48. package/dist/index.js.map +1 -1
  49. package/dist/lexicon/index.d.ts +4 -0
  50. package/dist/lexicon/index.d.ts.map +1 -1
  51. package/dist/lexicon/index.js +8 -0
  52. package/dist/lexicon/index.js.map +1 -1
  53. package/dist/lexicon/lexicons.d.ts +418 -0
  54. package/dist/lexicon/lexicons.d.ts.map +1 -1
  55. package/dist/lexicon/lexicons.js +225 -0
  56. package/dist/lexicon/lexicons.js.map +1 -1
  57. package/dist/lexicon/types/app/bsky/notification/defs.d.ts +40 -0
  58. package/dist/lexicon/types/app/bsky/notification/defs.d.ts.map +1 -1
  59. package/dist/lexicon/types/app/bsky/notification/defs.js +36 -0
  60. package/dist/lexicon/types/app/bsky/notification/defs.js.map +1 -1
  61. package/dist/lexicon/types/app/bsky/notification/getPreferences.d.ts +35 -0
  62. package/dist/lexicon/types/app/bsky/notification/getPreferences.d.ts.map +1 -0
  63. package/dist/lexicon/types/app/bsky/notification/getPreferences.js +7 -0
  64. package/dist/lexicon/types/app/bsky/notification/getPreferences.js.map +1 -0
  65. package/dist/lexicon/types/app/bsky/notification/putPreferencesV2.d.ts +52 -0
  66. package/dist/lexicon/types/app/bsky/notification/putPreferencesV2.d.ts.map +1 -0
  67. package/dist/lexicon/types/app/bsky/notification/putPreferencesV2.js +7 -0
  68. package/dist/lexicon/types/app/bsky/notification/putPreferencesV2.js.map +1 -0
  69. package/dist/proto/bsky_connect.d.ts +10 -1
  70. package/dist/proto/bsky_connect.d.ts.map +1 -1
  71. package/dist/proto/bsky_connect.js +9 -0
  72. package/dist/proto/bsky_connect.js.map +1 -1
  73. package/dist/proto/bsky_pb.d.ts +234 -0
  74. package/dist/proto/bsky_pb.d.ts.map +1 -1
  75. package/dist/proto/bsky_pb.js +693 -5
  76. package/dist/proto/bsky_pb.js.map +1 -1
  77. package/dist/proto/bsync_pb.d.ts +10 -10
  78. package/dist/proto/bsync_pb.d.ts.map +1 -1
  79. package/dist/proto/bsync_pb.js +15 -15
  80. package/dist/proto/bsync_pb.js.map +1 -1
  81. package/dist/stash.d.ts +26 -0
  82. package/dist/stash.d.ts.map +1 -0
  83. package/dist/stash.js +56 -0
  84. package/dist/stash.js.map +1 -0
  85. package/package.json +6 -6
  86. package/proto/bsky.proto +61 -0
  87. package/src/api/app/bsky/notification/getPreferences.ts +50 -0
  88. package/src/api/app/bsky/notification/putPreferencesV2.ts +62 -0
  89. package/src/api/app/bsky/notification/util.ts +123 -0
  90. package/src/api/index.ts +4 -0
  91. package/src/context.ts +6 -0
  92. package/src/data-plane/bsync/index.ts +109 -1
  93. package/src/data-plane/server/db/database-schema.ts +3 -1
  94. package/src/data-plane/server/db/migrations/20250602T190357447Z-add-private-data.ts +22 -0
  95. package/src/data-plane/server/db/migrations/index.ts +1 -0
  96. package/src/data-plane/server/db/tables/private-data.ts +13 -0
  97. package/src/data-plane/server/routes/index.ts +2 -0
  98. package/src/data-plane/server/routes/private-data.ts +90 -0
  99. package/src/index.ts +4 -0
  100. package/src/lexicon/index.ts +24 -0
  101. package/src/lexicon/lexicons.ts +227 -0
  102. package/src/lexicon/types/app/bsky/notification/defs.ts +76 -0
  103. package/src/lexicon/types/app/bsky/notification/getPreferences.ts +52 -0
  104. package/src/lexicon/types/app/bsky/notification/putPreferencesV2.ts +69 -0
  105. package/src/proto/bsky_connect.ts +11 -0
  106. package/src/proto/bsky_pb.ts +669 -0
  107. package/src/proto/bsync_pb.ts +15 -15
  108. package/src/stash.ts +75 -0
  109. package/tests/stash.test.ts +156 -0
  110. package/tests/views/notifications.test.ts +221 -0
  111. package/tsconfig.build.tsbuildinfo +1 -1
  112. package/tsconfig.tests.tsbuildinfo +1 -1
@@ -13,6 +13,58 @@ import type {
13
13
  } from '@bufbuild/protobuf'
14
14
  import { Message, proto3, protoInt64, Timestamp } from '@bufbuild/protobuf'
15
15
 
16
+ /**
17
+ * @generated from enum bsky.NotificationFilter
18
+ */
19
+ export enum NotificationFilter {
20
+ /**
21
+ * @generated from enum value: NOTIFICATION_FILTER_UNSPECIFIED = 0;
22
+ */
23
+ UNSPECIFIED = 0,
24
+
25
+ /**
26
+ * @generated from enum value: NOTIFICATION_FILTER_ALL = 1;
27
+ */
28
+ ALL = 1,
29
+
30
+ /**
31
+ * @generated from enum value: NOTIFICATION_FILTER_FOLLOWS = 2;
32
+ */
33
+ FOLLOWS = 2,
34
+ }
35
+ // Retrieve enum metadata with: proto3.getEnumType(NotificationFilter)
36
+ proto3.util.setEnumType(NotificationFilter, 'bsky.NotificationFilter', [
37
+ { no: 0, name: 'NOTIFICATION_FILTER_UNSPECIFIED' },
38
+ { no: 1, name: 'NOTIFICATION_FILTER_ALL' },
39
+ { no: 2, name: 'NOTIFICATION_FILTER_FOLLOWS' },
40
+ ])
41
+
42
+ /**
43
+ * @generated from enum bsky.ChatNotificationFilter
44
+ */
45
+ export enum ChatNotificationFilter {
46
+ /**
47
+ * @generated from enum value: CHAT_NOTIFICATION_FILTER_UNSPECIFIED = 0;
48
+ */
49
+ UNSPECIFIED = 0,
50
+
51
+ /**
52
+ * @generated from enum value: CHAT_NOTIFICATION_FILTER_ALL = 1;
53
+ */
54
+ ALL = 1,
55
+
56
+ /**
57
+ * @generated from enum value: CHAT_NOTIFICATION_FILTER_ACCEPTED = 2;
58
+ */
59
+ ACCEPTED = 2,
60
+ }
61
+ // Retrieve enum metadata with: proto3.getEnumType(ChatNotificationFilter)
62
+ proto3.util.setEnumType(ChatNotificationFilter, 'bsky.ChatNotificationFilter', [
63
+ { no: 0, name: 'CHAT_NOTIFICATION_FILTER_UNSPECIFIED' },
64
+ { no: 1, name: 'CHAT_NOTIFICATION_FILTER_ALL' },
65
+ { no: 2, name: 'CHAT_NOTIFICATION_FILTER_ACCEPTED' },
66
+ ])
67
+
16
68
  /**
17
69
  * @generated from enum bsky.FeedType
18
70
  */
@@ -8180,6 +8232,623 @@ export class GetBlocklistSubscriptionsResponse extends Message<GetBlocklistSubsc
8180
8232
  }
8181
8233
  }
8182
8234
 
8235
+ /**
8236
+ * @generated from message bsky.GetNotificationPreferencesRequest
8237
+ */
8238
+ export class GetNotificationPreferencesRequest extends Message<GetNotificationPreferencesRequest> {
8239
+ /**
8240
+ * @generated from field: repeated string dids = 1;
8241
+ */
8242
+ dids: string[] = []
8243
+
8244
+ constructor(data?: PartialMessage<GetNotificationPreferencesRequest>) {
8245
+ super()
8246
+ proto3.util.initPartial(data, this)
8247
+ }
8248
+
8249
+ static readonly runtime: typeof proto3 = proto3
8250
+ static readonly typeName = 'bsky.GetNotificationPreferencesRequest'
8251
+ static readonly fields: FieldList = proto3.util.newFieldList(() => [
8252
+ {
8253
+ no: 1,
8254
+ name: 'dids',
8255
+ kind: 'scalar',
8256
+ T: 9 /* ScalarType.STRING */,
8257
+ repeated: true,
8258
+ },
8259
+ ])
8260
+
8261
+ static fromBinary(
8262
+ bytes: Uint8Array,
8263
+ options?: Partial<BinaryReadOptions>,
8264
+ ): GetNotificationPreferencesRequest {
8265
+ return new GetNotificationPreferencesRequest().fromBinary(bytes, options)
8266
+ }
8267
+
8268
+ static fromJson(
8269
+ jsonValue: JsonValue,
8270
+ options?: Partial<JsonReadOptions>,
8271
+ ): GetNotificationPreferencesRequest {
8272
+ return new GetNotificationPreferencesRequest().fromJson(jsonValue, options)
8273
+ }
8274
+
8275
+ static fromJsonString(
8276
+ jsonString: string,
8277
+ options?: Partial<JsonReadOptions>,
8278
+ ): GetNotificationPreferencesRequest {
8279
+ return new GetNotificationPreferencesRequest().fromJsonString(
8280
+ jsonString,
8281
+ options,
8282
+ )
8283
+ }
8284
+
8285
+ static equals(
8286
+ a:
8287
+ | GetNotificationPreferencesRequest
8288
+ | PlainMessage<GetNotificationPreferencesRequest>
8289
+ | undefined,
8290
+ b:
8291
+ | GetNotificationPreferencesRequest
8292
+ | PlainMessage<GetNotificationPreferencesRequest>
8293
+ | undefined,
8294
+ ): boolean {
8295
+ return proto3.util.equals(GetNotificationPreferencesRequest, a, b)
8296
+ }
8297
+ }
8298
+
8299
+ /**
8300
+ * @generated from message bsky.NotificationChannelList
8301
+ */
8302
+ export class NotificationChannelList extends Message<NotificationChannelList> {
8303
+ /**
8304
+ * @generated from field: bool enabled = 1;
8305
+ */
8306
+ enabled = false
8307
+
8308
+ constructor(data?: PartialMessage<NotificationChannelList>) {
8309
+ super()
8310
+ proto3.util.initPartial(data, this)
8311
+ }
8312
+
8313
+ static readonly runtime: typeof proto3 = proto3
8314
+ static readonly typeName = 'bsky.NotificationChannelList'
8315
+ static readonly fields: FieldList = proto3.util.newFieldList(() => [
8316
+ { no: 1, name: 'enabled', kind: 'scalar', T: 8 /* ScalarType.BOOL */ },
8317
+ ])
8318
+
8319
+ static fromBinary(
8320
+ bytes: Uint8Array,
8321
+ options?: Partial<BinaryReadOptions>,
8322
+ ): NotificationChannelList {
8323
+ return new NotificationChannelList().fromBinary(bytes, options)
8324
+ }
8325
+
8326
+ static fromJson(
8327
+ jsonValue: JsonValue,
8328
+ options?: Partial<JsonReadOptions>,
8329
+ ): NotificationChannelList {
8330
+ return new NotificationChannelList().fromJson(jsonValue, options)
8331
+ }
8332
+
8333
+ static fromJsonString(
8334
+ jsonString: string,
8335
+ options?: Partial<JsonReadOptions>,
8336
+ ): NotificationChannelList {
8337
+ return new NotificationChannelList().fromJsonString(jsonString, options)
8338
+ }
8339
+
8340
+ static equals(
8341
+ a:
8342
+ | NotificationChannelList
8343
+ | PlainMessage<NotificationChannelList>
8344
+ | undefined,
8345
+ b:
8346
+ | NotificationChannelList
8347
+ | PlainMessage<NotificationChannelList>
8348
+ | undefined,
8349
+ ): boolean {
8350
+ return proto3.util.equals(NotificationChannelList, a, b)
8351
+ }
8352
+ }
8353
+
8354
+ /**
8355
+ * @generated from message bsky.NotificationChannelPush
8356
+ */
8357
+ export class NotificationChannelPush extends Message<NotificationChannelPush> {
8358
+ /**
8359
+ * @generated from field: bool enabled = 1;
8360
+ */
8361
+ enabled = false
8362
+
8363
+ constructor(data?: PartialMessage<NotificationChannelPush>) {
8364
+ super()
8365
+ proto3.util.initPartial(data, this)
8366
+ }
8367
+
8368
+ static readonly runtime: typeof proto3 = proto3
8369
+ static readonly typeName = 'bsky.NotificationChannelPush'
8370
+ static readonly fields: FieldList = proto3.util.newFieldList(() => [
8371
+ { no: 1, name: 'enabled', kind: 'scalar', T: 8 /* ScalarType.BOOL */ },
8372
+ ])
8373
+
8374
+ static fromBinary(
8375
+ bytes: Uint8Array,
8376
+ options?: Partial<BinaryReadOptions>,
8377
+ ): NotificationChannelPush {
8378
+ return new NotificationChannelPush().fromBinary(bytes, options)
8379
+ }
8380
+
8381
+ static fromJson(
8382
+ jsonValue: JsonValue,
8383
+ options?: Partial<JsonReadOptions>,
8384
+ ): NotificationChannelPush {
8385
+ return new NotificationChannelPush().fromJson(jsonValue, options)
8386
+ }
8387
+
8388
+ static fromJsonString(
8389
+ jsonString: string,
8390
+ options?: Partial<JsonReadOptions>,
8391
+ ): NotificationChannelPush {
8392
+ return new NotificationChannelPush().fromJsonString(jsonString, options)
8393
+ }
8394
+
8395
+ static equals(
8396
+ a:
8397
+ | NotificationChannelPush
8398
+ | PlainMessage<NotificationChannelPush>
8399
+ | undefined,
8400
+ b:
8401
+ | NotificationChannelPush
8402
+ | PlainMessage<NotificationChannelPush>
8403
+ | undefined,
8404
+ ): boolean {
8405
+ return proto3.util.equals(NotificationChannelPush, a, b)
8406
+ }
8407
+ }
8408
+
8409
+ /**
8410
+ * @generated from message bsky.FilterableNotificationPreference
8411
+ */
8412
+ export class FilterableNotificationPreference extends Message<FilterableNotificationPreference> {
8413
+ /**
8414
+ * @generated from field: bsky.NotificationFilter filter = 1;
8415
+ */
8416
+ filter = NotificationFilter.UNSPECIFIED
8417
+
8418
+ /**
8419
+ * @generated from field: bsky.NotificationChannelList list = 2;
8420
+ */
8421
+ list?: NotificationChannelList
8422
+
8423
+ /**
8424
+ * @generated from field: bsky.NotificationChannelPush push = 3;
8425
+ */
8426
+ push?: NotificationChannelPush
8427
+
8428
+ constructor(data?: PartialMessage<FilterableNotificationPreference>) {
8429
+ super()
8430
+ proto3.util.initPartial(data, this)
8431
+ }
8432
+
8433
+ static readonly runtime: typeof proto3 = proto3
8434
+ static readonly typeName = 'bsky.FilterableNotificationPreference'
8435
+ static readonly fields: FieldList = proto3.util.newFieldList(() => [
8436
+ {
8437
+ no: 1,
8438
+ name: 'filter',
8439
+ kind: 'enum',
8440
+ T: proto3.getEnumType(NotificationFilter),
8441
+ },
8442
+ { no: 2, name: 'list', kind: 'message', T: NotificationChannelList },
8443
+ { no: 3, name: 'push', kind: 'message', T: NotificationChannelPush },
8444
+ ])
8445
+
8446
+ static fromBinary(
8447
+ bytes: Uint8Array,
8448
+ options?: Partial<BinaryReadOptions>,
8449
+ ): FilterableNotificationPreference {
8450
+ return new FilterableNotificationPreference().fromBinary(bytes, options)
8451
+ }
8452
+
8453
+ static fromJson(
8454
+ jsonValue: JsonValue,
8455
+ options?: Partial<JsonReadOptions>,
8456
+ ): FilterableNotificationPreference {
8457
+ return new FilterableNotificationPreference().fromJson(jsonValue, options)
8458
+ }
8459
+
8460
+ static fromJsonString(
8461
+ jsonString: string,
8462
+ options?: Partial<JsonReadOptions>,
8463
+ ): FilterableNotificationPreference {
8464
+ return new FilterableNotificationPreference().fromJsonString(
8465
+ jsonString,
8466
+ options,
8467
+ )
8468
+ }
8469
+
8470
+ static equals(
8471
+ a:
8472
+ | FilterableNotificationPreference
8473
+ | PlainMessage<FilterableNotificationPreference>
8474
+ | undefined,
8475
+ b:
8476
+ | FilterableNotificationPreference
8477
+ | PlainMessage<FilterableNotificationPreference>
8478
+ | undefined,
8479
+ ): boolean {
8480
+ return proto3.util.equals(FilterableNotificationPreference, a, b)
8481
+ }
8482
+ }
8483
+
8484
+ /**
8485
+ * @generated from message bsky.NotificationPreference
8486
+ */
8487
+ export class NotificationPreference extends Message<NotificationPreference> {
8488
+ /**
8489
+ * @generated from field: bsky.NotificationChannelList list = 1;
8490
+ */
8491
+ list?: NotificationChannelList
8492
+
8493
+ /**
8494
+ * @generated from field: bsky.NotificationChannelPush push = 2;
8495
+ */
8496
+ push?: NotificationChannelPush
8497
+
8498
+ constructor(data?: PartialMessage<NotificationPreference>) {
8499
+ super()
8500
+ proto3.util.initPartial(data, this)
8501
+ }
8502
+
8503
+ static readonly runtime: typeof proto3 = proto3
8504
+ static readonly typeName = 'bsky.NotificationPreference'
8505
+ static readonly fields: FieldList = proto3.util.newFieldList(() => [
8506
+ { no: 1, name: 'list', kind: 'message', T: NotificationChannelList },
8507
+ { no: 2, name: 'push', kind: 'message', T: NotificationChannelPush },
8508
+ ])
8509
+
8510
+ static fromBinary(
8511
+ bytes: Uint8Array,
8512
+ options?: Partial<BinaryReadOptions>,
8513
+ ): NotificationPreference {
8514
+ return new NotificationPreference().fromBinary(bytes, options)
8515
+ }
8516
+
8517
+ static fromJson(
8518
+ jsonValue: JsonValue,
8519
+ options?: Partial<JsonReadOptions>,
8520
+ ): NotificationPreference {
8521
+ return new NotificationPreference().fromJson(jsonValue, options)
8522
+ }
8523
+
8524
+ static fromJsonString(
8525
+ jsonString: string,
8526
+ options?: Partial<JsonReadOptions>,
8527
+ ): NotificationPreference {
8528
+ return new NotificationPreference().fromJsonString(jsonString, options)
8529
+ }
8530
+
8531
+ static equals(
8532
+ a:
8533
+ | NotificationPreference
8534
+ | PlainMessage<NotificationPreference>
8535
+ | undefined,
8536
+ b:
8537
+ | NotificationPreference
8538
+ | PlainMessage<NotificationPreference>
8539
+ | undefined,
8540
+ ): boolean {
8541
+ return proto3.util.equals(NotificationPreference, a, b)
8542
+ }
8543
+ }
8544
+
8545
+ /**
8546
+ * @generated from message bsky.ChatNotificationPreference
8547
+ */
8548
+ export class ChatNotificationPreference extends Message<ChatNotificationPreference> {
8549
+ /**
8550
+ * @generated from field: bsky.ChatNotificationFilter filter = 1;
8551
+ */
8552
+ filter = ChatNotificationFilter.UNSPECIFIED
8553
+
8554
+ /**
8555
+ * @generated from field: bsky.NotificationChannelPush push = 2;
8556
+ */
8557
+ push?: NotificationChannelPush
8558
+
8559
+ constructor(data?: PartialMessage<ChatNotificationPreference>) {
8560
+ super()
8561
+ proto3.util.initPartial(data, this)
8562
+ }
8563
+
8564
+ static readonly runtime: typeof proto3 = proto3
8565
+ static readonly typeName = 'bsky.ChatNotificationPreference'
8566
+ static readonly fields: FieldList = proto3.util.newFieldList(() => [
8567
+ {
8568
+ no: 1,
8569
+ name: 'filter',
8570
+ kind: 'enum',
8571
+ T: proto3.getEnumType(ChatNotificationFilter),
8572
+ },
8573
+ { no: 2, name: 'push', kind: 'message', T: NotificationChannelPush },
8574
+ ])
8575
+
8576
+ static fromBinary(
8577
+ bytes: Uint8Array,
8578
+ options?: Partial<BinaryReadOptions>,
8579
+ ): ChatNotificationPreference {
8580
+ return new ChatNotificationPreference().fromBinary(bytes, options)
8581
+ }
8582
+
8583
+ static fromJson(
8584
+ jsonValue: JsonValue,
8585
+ options?: Partial<JsonReadOptions>,
8586
+ ): ChatNotificationPreference {
8587
+ return new ChatNotificationPreference().fromJson(jsonValue, options)
8588
+ }
8589
+
8590
+ static fromJsonString(
8591
+ jsonString: string,
8592
+ options?: Partial<JsonReadOptions>,
8593
+ ): ChatNotificationPreference {
8594
+ return new ChatNotificationPreference().fromJsonString(jsonString, options)
8595
+ }
8596
+
8597
+ static equals(
8598
+ a:
8599
+ | ChatNotificationPreference
8600
+ | PlainMessage<ChatNotificationPreference>
8601
+ | undefined,
8602
+ b:
8603
+ | ChatNotificationPreference
8604
+ | PlainMessage<ChatNotificationPreference>
8605
+ | undefined,
8606
+ ): boolean {
8607
+ return proto3.util.equals(ChatNotificationPreference, a, b)
8608
+ }
8609
+ }
8610
+
8611
+ /**
8612
+ * @generated from message bsky.NotificationPreferences
8613
+ */
8614
+ export class NotificationPreferences extends Message<NotificationPreferences> {
8615
+ /**
8616
+ * @generated from field: bsky.ChatNotificationPreference chat = 1;
8617
+ */
8618
+ chat?: ChatNotificationPreference
8619
+
8620
+ /**
8621
+ * @generated from field: bsky.FilterableNotificationPreference follow = 2;
8622
+ */
8623
+ follow?: FilterableNotificationPreference
8624
+
8625
+ /**
8626
+ * @generated from field: bsky.FilterableNotificationPreference like = 3;
8627
+ */
8628
+ like?: FilterableNotificationPreference
8629
+
8630
+ /**
8631
+ * @generated from field: bsky.FilterableNotificationPreference like_via_repost = 4;
8632
+ */
8633
+ likeViaRepost?: FilterableNotificationPreference
8634
+
8635
+ /**
8636
+ * @generated from field: bsky.FilterableNotificationPreference mention = 5;
8637
+ */
8638
+ mention?: FilterableNotificationPreference
8639
+
8640
+ /**
8641
+ * @generated from field: bsky.FilterableNotificationPreference quote = 6;
8642
+ */
8643
+ quote?: FilterableNotificationPreference
8644
+
8645
+ /**
8646
+ * @generated from field: bsky.FilterableNotificationPreference reply = 7;
8647
+ */
8648
+ reply?: FilterableNotificationPreference
8649
+
8650
+ /**
8651
+ * @generated from field: bsky.FilterableNotificationPreference repost = 8;
8652
+ */
8653
+ repost?: FilterableNotificationPreference
8654
+
8655
+ /**
8656
+ * @generated from field: bsky.FilterableNotificationPreference repost_via_repost = 9;
8657
+ */
8658
+ repostViaRepost?: FilterableNotificationPreference
8659
+
8660
+ /**
8661
+ * @generated from field: bsky.NotificationPreference starterpack_joined = 10;
8662
+ */
8663
+ starterpackJoined?: NotificationPreference
8664
+
8665
+ /**
8666
+ * @generated from field: bsky.NotificationPreference subscribed_post = 11;
8667
+ */
8668
+ subscribedPost?: NotificationPreference
8669
+
8670
+ /**
8671
+ * @generated from field: bsky.NotificationPreference unverified = 12;
8672
+ */
8673
+ unverified?: NotificationPreference
8674
+
8675
+ /**
8676
+ * @generated from field: bsky.NotificationPreference verified = 13;
8677
+ */
8678
+ verified?: NotificationPreference
8679
+
8680
+ constructor(data?: PartialMessage<NotificationPreferences>) {
8681
+ super()
8682
+ proto3.util.initPartial(data, this)
8683
+ }
8684
+
8685
+ static readonly runtime: typeof proto3 = proto3
8686
+ static readonly typeName = 'bsky.NotificationPreferences'
8687
+ static readonly fields: FieldList = proto3.util.newFieldList(() => [
8688
+ { no: 1, name: 'chat', kind: 'message', T: ChatNotificationPreference },
8689
+ {
8690
+ no: 2,
8691
+ name: 'follow',
8692
+ kind: 'message',
8693
+ T: FilterableNotificationPreference,
8694
+ },
8695
+ {
8696
+ no: 3,
8697
+ name: 'like',
8698
+ kind: 'message',
8699
+ T: FilterableNotificationPreference,
8700
+ },
8701
+ {
8702
+ no: 4,
8703
+ name: 'like_via_repost',
8704
+ kind: 'message',
8705
+ T: FilterableNotificationPreference,
8706
+ },
8707
+ {
8708
+ no: 5,
8709
+ name: 'mention',
8710
+ kind: 'message',
8711
+ T: FilterableNotificationPreference,
8712
+ },
8713
+ {
8714
+ no: 6,
8715
+ name: 'quote',
8716
+ kind: 'message',
8717
+ T: FilterableNotificationPreference,
8718
+ },
8719
+ {
8720
+ no: 7,
8721
+ name: 'reply',
8722
+ kind: 'message',
8723
+ T: FilterableNotificationPreference,
8724
+ },
8725
+ {
8726
+ no: 8,
8727
+ name: 'repost',
8728
+ kind: 'message',
8729
+ T: FilterableNotificationPreference,
8730
+ },
8731
+ {
8732
+ no: 9,
8733
+ name: 'repost_via_repost',
8734
+ kind: 'message',
8735
+ T: FilterableNotificationPreference,
8736
+ },
8737
+ {
8738
+ no: 10,
8739
+ name: 'starterpack_joined',
8740
+ kind: 'message',
8741
+ T: NotificationPreference,
8742
+ },
8743
+ {
8744
+ no: 11,
8745
+ name: 'subscribed_post',
8746
+ kind: 'message',
8747
+ T: NotificationPreference,
8748
+ },
8749
+ { no: 12, name: 'unverified', kind: 'message', T: NotificationPreference },
8750
+ { no: 13, name: 'verified', kind: 'message', T: NotificationPreference },
8751
+ ])
8752
+
8753
+ static fromBinary(
8754
+ bytes: Uint8Array,
8755
+ options?: Partial<BinaryReadOptions>,
8756
+ ): NotificationPreferences {
8757
+ return new NotificationPreferences().fromBinary(bytes, options)
8758
+ }
8759
+
8760
+ static fromJson(
8761
+ jsonValue: JsonValue,
8762
+ options?: Partial<JsonReadOptions>,
8763
+ ): NotificationPreferences {
8764
+ return new NotificationPreferences().fromJson(jsonValue, options)
8765
+ }
8766
+
8767
+ static fromJsonString(
8768
+ jsonString: string,
8769
+ options?: Partial<JsonReadOptions>,
8770
+ ): NotificationPreferences {
8771
+ return new NotificationPreferences().fromJsonString(jsonString, options)
8772
+ }
8773
+
8774
+ static equals(
8775
+ a:
8776
+ | NotificationPreferences
8777
+ | PlainMessage<NotificationPreferences>
8778
+ | undefined,
8779
+ b:
8780
+ | NotificationPreferences
8781
+ | PlainMessage<NotificationPreferences>
8782
+ | undefined,
8783
+ ): boolean {
8784
+ return proto3.util.equals(NotificationPreferences, a, b)
8785
+ }
8786
+ }
8787
+
8788
+ /**
8789
+ * @generated from message bsky.GetNotificationPreferencesResponse
8790
+ */
8791
+ export class GetNotificationPreferencesResponse extends Message<GetNotificationPreferencesResponse> {
8792
+ /**
8793
+ * @generated from field: repeated bsky.NotificationPreferences preferences = 1;
8794
+ */
8795
+ preferences: NotificationPreferences[] = []
8796
+
8797
+ constructor(data?: PartialMessage<GetNotificationPreferencesResponse>) {
8798
+ super()
8799
+ proto3.util.initPartial(data, this)
8800
+ }
8801
+
8802
+ static readonly runtime: typeof proto3 = proto3
8803
+ static readonly typeName = 'bsky.GetNotificationPreferencesResponse'
8804
+ static readonly fields: FieldList = proto3.util.newFieldList(() => [
8805
+ {
8806
+ no: 1,
8807
+ name: 'preferences',
8808
+ kind: 'message',
8809
+ T: NotificationPreferences,
8810
+ repeated: true,
8811
+ },
8812
+ ])
8813
+
8814
+ static fromBinary(
8815
+ bytes: Uint8Array,
8816
+ options?: Partial<BinaryReadOptions>,
8817
+ ): GetNotificationPreferencesResponse {
8818
+ return new GetNotificationPreferencesResponse().fromBinary(bytes, options)
8819
+ }
8820
+
8821
+ static fromJson(
8822
+ jsonValue: JsonValue,
8823
+ options?: Partial<JsonReadOptions>,
8824
+ ): GetNotificationPreferencesResponse {
8825
+ return new GetNotificationPreferencesResponse().fromJson(jsonValue, options)
8826
+ }
8827
+
8828
+ static fromJsonString(
8829
+ jsonString: string,
8830
+ options?: Partial<JsonReadOptions>,
8831
+ ): GetNotificationPreferencesResponse {
8832
+ return new GetNotificationPreferencesResponse().fromJsonString(
8833
+ jsonString,
8834
+ options,
8835
+ )
8836
+ }
8837
+
8838
+ static equals(
8839
+ a:
8840
+ | GetNotificationPreferencesResponse
8841
+ | PlainMessage<GetNotificationPreferencesResponse>
8842
+ | undefined,
8843
+ b:
8844
+ | GetNotificationPreferencesResponse
8845
+ | PlainMessage<GetNotificationPreferencesResponse>
8846
+ | undefined,
8847
+ ): boolean {
8848
+ return proto3.util.equals(GetNotificationPreferencesResponse, a, b)
8849
+ }
8850
+ }
8851
+
8183
8852
  /**
8184
8853
  * - list recent notifications for a user
8185
8854
  * - notifications should include a uri for the record that caused the notif & a “reason” for the notification (reply, like, quotepost, etc)