@atproto/bsky 0.0.152 → 0.0.154

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 (91) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/api/app/bsky/unspecced/getPostThreadHiddenV2.js +2 -1
  3. package/dist/api/app/bsky/unspecced/getPostThreadHiddenV2.js.map +1 -1
  4. package/dist/api/com/atproto/repo/getRecord.d.ts.map +1 -1
  5. package/dist/api/com/atproto/repo/getRecord.js +1 -1
  6. package/dist/api/com/atproto/repo/getRecord.js.map +1 -1
  7. package/dist/config.d.ts +4 -0
  8. package/dist/config.d.ts.map +1 -1
  9. package/dist/config.js +10 -0
  10. package/dist/config.js.map +1 -1
  11. package/dist/data-plane/server/db/migrations/20250528T221913281Z-add-record-tags.d.ts +4 -0
  12. package/dist/data-plane/server/db/migrations/20250528T221913281Z-add-record-tags.d.ts.map +1 -0
  13. package/dist/data-plane/server/db/migrations/20250528T221913281Z-add-record-tags.js +11 -0
  14. package/dist/data-plane/server/db/migrations/20250528T221913281Z-add-record-tags.js.map +1 -0
  15. package/dist/data-plane/server/db/migrations/index.d.ts +1 -0
  16. package/dist/data-plane/server/db/migrations/index.d.ts.map +1 -1
  17. package/dist/data-plane/server/db/migrations/index.js +2 -1
  18. package/dist/data-plane/server/db/migrations/index.js.map +1 -1
  19. package/dist/data-plane/server/db/tables/record.d.ts +1 -0
  20. package/dist/data-plane/server/db/tables/record.d.ts.map +1 -1
  21. package/dist/data-plane/server/db/tables/record.js.map +1 -1
  22. package/dist/data-plane/server/routes/records.d.ts.map +1 -1
  23. package/dist/data-plane/server/routes/records.js +1 -0
  24. package/dist/data-plane/server/routes/records.js.map +1 -1
  25. package/dist/hydration/feed.d.ts +1 -0
  26. package/dist/hydration/feed.d.ts.map +1 -1
  27. package/dist/hydration/feed.js +2 -0
  28. package/dist/hydration/feed.js.map +1 -1
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +2 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/lexicon/lexicons.d.ts +112 -122
  33. package/dist/lexicon/lexicons.d.ts.map +1 -1
  34. package/dist/lexicon/lexicons.js +66 -66
  35. package/dist/lexicon/lexicons.js.map +1 -1
  36. package/dist/lexicon/types/app/bsky/unspecced/defs.d.ts +33 -0
  37. package/dist/lexicon/types/app/bsky/unspecced/defs.d.ts.map +1 -1
  38. package/dist/lexicon/types/app/bsky/unspecced/defs.js +36 -0
  39. package/dist/lexicon/types/app/bsky/unspecced/defs.js.map +1 -1
  40. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadHiddenV2.d.ts +5 -13
  41. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadHiddenV2.d.ts.map +1 -1
  42. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadHiddenV2.js +0 -9
  43. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadHiddenV2.js.map +1 -1
  44. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadV2.d.ts +2 -29
  45. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadV2.d.ts.map +1 -1
  46. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadV2.js +0 -36
  47. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadV2.js.map +1 -1
  48. package/dist/proto/bsky_pb.d.ts +4 -0
  49. package/dist/proto/bsky_pb.d.ts.map +1 -1
  50. package/dist/proto/bsky_pb.js +16 -0
  51. package/dist/proto/bsky_pb.js.map +1 -1
  52. package/dist/proto/bsync_connect.d.ts +19 -1
  53. package/dist/proto/bsync_connect.d.ts.map +1 -1
  54. package/dist/proto/bsync_connect.js +18 -0
  55. package/dist/proto/bsync_connect.js.map +1 -1
  56. package/dist/proto/bsync_pb.d.ts +150 -0
  57. package/dist/proto/bsync_pb.d.ts.map +1 -1
  58. package/dist/proto/bsync_pb.js +401 -1
  59. package/dist/proto/bsync_pb.js.map +1 -1
  60. package/dist/views/index.d.ts +6 -1
  61. package/dist/views/index.d.ts.map +1 -1
  62. package/dist/views/index.js +68 -27
  63. package/dist/views/index.js.map +1 -1
  64. package/dist/views/threads-v2.d.ts +9 -5
  65. package/dist/views/threads-v2.d.ts.map +1 -1
  66. package/dist/views/threads-v2.js +50 -25
  67. package/dist/views/threads-v2.js.map +1 -1
  68. package/package.json +7 -7
  69. package/proto/bsky.proto +1 -0
  70. package/src/api/app/bsky/unspecced/getPostThreadHiddenV2.ts +2 -1
  71. package/src/api/com/atproto/repo/getRecord.ts +4 -1
  72. package/src/config.ts +15 -0
  73. package/src/data-plane/server/db/migrations/20250528T221913281Z-add-record-tags.ts +9 -0
  74. package/src/data-plane/server/db/migrations/index.ts +1 -0
  75. package/src/data-plane/server/db/tables/record.ts +1 -0
  76. package/src/data-plane/server/routes/records.ts +1 -0
  77. package/src/hydration/feed.ts +3 -0
  78. package/src/index.ts +2 -0
  79. package/src/lexicon/lexicons.ts +72 -71
  80. package/src/lexicon/types/app/bsky/unspecced/defs.ts +73 -0
  81. package/src/lexicon/types/app/bsky/unspecced/getPostThreadHiddenV2.ts +5 -22
  82. package/src/lexicon/types/app/bsky/unspecced/getPostThreadV2.ts +5 -72
  83. package/src/proto/bsky_pb.ts +12 -0
  84. package/src/proto/bsync_connect.ts +22 -0
  85. package/src/proto/bsync_pb.ts +355 -0
  86. package/src/views/index.ts +102 -58
  87. package/src/views/threads-v2.ts +88 -60
  88. package/tests/seed/thread-v2.ts +131 -32
  89. package/tests/views/__snapshots__/thread-v2.test.ts.snap +69 -23
  90. package/tests/views/thread-v2.test.ts +173 -69
  91. package/tsconfig.build.tsbuildinfo +1 -1
@@ -12,6 +12,7 @@ import {
12
12
  } from '../../../../util'
13
13
  import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server'
14
14
  import type * as AppBskyFeedDefs from '../feed/defs.js'
15
+ import type * as AppBskyUnspeccedDefs from './defs.js'
15
16
 
16
17
  const is$typed = _is$typed,
17
18
  validate = _validate
@@ -74,10 +75,10 @@ export interface ThreadItem {
74
75
  /** The nesting level of this item in the thread. Depth 0 means the anchor item. Items above have negative depths, items below have positive depths. */
75
76
  depth: number
76
77
  value:
77
- | $Typed<ThreadItemPost>
78
- | $Typed<ThreadItemNoUnauthenticated>
79
- | $Typed<ThreadItemNotFound>
80
- | $Typed<ThreadItemBlocked>
78
+ | $Typed<AppBskyUnspeccedDefs.ThreadItemPost>
79
+ | $Typed<AppBskyUnspeccedDefs.ThreadItemNoUnauthenticated>
80
+ | $Typed<AppBskyUnspeccedDefs.ThreadItemNotFound>
81
+ | $Typed<AppBskyUnspeccedDefs.ThreadItemBlocked>
81
82
  | { $type: string }
82
83
  }
83
84
 
@@ -90,71 +91,3 @@ export function isThreadItem<V>(v: V) {
90
91
  export function validateThreadItem<V>(v: V) {
91
92
  return validate<ThreadItem & V>(v, id, hashThreadItem)
92
93
  }
93
-
94
- export interface ThreadItemPost {
95
- $type?: 'app.bsky.unspecced.getPostThreadV2#threadItemPost'
96
- post: AppBskyFeedDefs.PostView
97
- /** This post has more parents that were not present in the response. This is just a boolean, without the number of parents. */
98
- moreParents: boolean
99
- /** This post has more replies that were not present in the response. This is a numeric value, which is best-effort and might not be accurate. */
100
- moreReplies: number
101
- /** This post is part of a contiguous thread by the OP from the thread root. Many different OP threads can happen in the same thread. */
102
- opThread: boolean
103
- }
104
-
105
- const hashThreadItemPost = 'threadItemPost'
106
-
107
- export function isThreadItemPost<V>(v: V) {
108
- return is$typed(v, id, hashThreadItemPost)
109
- }
110
-
111
- export function validateThreadItemPost<V>(v: V) {
112
- return validate<ThreadItemPost & V>(v, id, hashThreadItemPost)
113
- }
114
-
115
- export interface ThreadItemNoUnauthenticated {
116
- $type?: 'app.bsky.unspecced.getPostThreadV2#threadItemNoUnauthenticated'
117
- }
118
-
119
- const hashThreadItemNoUnauthenticated = 'threadItemNoUnauthenticated'
120
-
121
- export function isThreadItemNoUnauthenticated<V>(v: V) {
122
- return is$typed(v, id, hashThreadItemNoUnauthenticated)
123
- }
124
-
125
- export function validateThreadItemNoUnauthenticated<V>(v: V) {
126
- return validate<ThreadItemNoUnauthenticated & V>(
127
- v,
128
- id,
129
- hashThreadItemNoUnauthenticated,
130
- )
131
- }
132
-
133
- export interface ThreadItemNotFound {
134
- $type?: 'app.bsky.unspecced.getPostThreadV2#threadItemNotFound'
135
- }
136
-
137
- const hashThreadItemNotFound = 'threadItemNotFound'
138
-
139
- export function isThreadItemNotFound<V>(v: V) {
140
- return is$typed(v, id, hashThreadItemNotFound)
141
- }
142
-
143
- export function validateThreadItemNotFound<V>(v: V) {
144
- return validate<ThreadItemNotFound & V>(v, id, hashThreadItemNotFound)
145
- }
146
-
147
- export interface ThreadItemBlocked {
148
- $type?: 'app.bsky.unspecced.getPostThreadV2#threadItemBlocked'
149
- author: AppBskyFeedDefs.BlockedAuthor
150
- }
151
-
152
- const hashThreadItemBlocked = 'threadItemBlocked'
153
-
154
- export function isThreadItemBlocked<V>(v: V) {
155
- return is$typed(v, id, hashThreadItemBlocked)
156
- }
157
-
158
- export function validateThreadItemBlocked<V>(v: V) {
159
- return validate<ThreadItemBlocked & V>(v, id, hashThreadItemBlocked)
160
- }
@@ -90,6 +90,11 @@ export class Record extends Message<Record> {
90
90
  */
91
91
  takedownRef = ''
92
92
 
93
+ /**
94
+ * @generated from field: repeated string tags = 9;
95
+ */
96
+ tags: string[] = []
97
+
93
98
  constructor(data?: PartialMessage<Record>) {
94
99
  super()
95
100
  proto3.util.initPartial(data, this)
@@ -110,6 +115,13 @@ export class Record extends Message<Record> {
110
115
  kind: 'scalar',
111
116
  T: 9 /* ScalarType.STRING */,
112
117
  },
118
+ {
119
+ no: 9,
120
+ name: 'tags',
121
+ kind: 'scalar',
122
+ T: 9 /* ScalarType.STRING */,
123
+ repeated: true,
124
+ },
113
125
  ])
114
126
 
115
127
  static fromBinary(
@@ -10,10 +10,14 @@ import {
10
10
  AddNotifOperationResponse,
11
11
  PingRequest,
12
12
  PingResponse,
13
+ PutOperationRequest,
14
+ PutOperationResponse,
13
15
  ScanMuteOperationsRequest,
14
16
  ScanMuteOperationsResponse,
15
17
  ScanNotifOperationsRequest,
16
18
  ScanNotifOperationsResponse,
19
+ ScanOperationsRequest,
20
+ ScanOperationsResponse,
17
21
  } from './bsync_pb'
18
22
  import { MethodKind } from '@bufbuild/protobuf'
19
23
 
@@ -61,6 +65,24 @@ export const Service = {
61
65
  O: ScanNotifOperationsResponse,
62
66
  kind: MethodKind.Unary,
63
67
  },
68
+ /**
69
+ * @generated from rpc bsync.Service.PutOperation
70
+ */
71
+ putOperation: {
72
+ name: 'PutOperation',
73
+ I: PutOperationRequest,
74
+ O: PutOperationResponse,
75
+ kind: MethodKind.Unary,
76
+ },
77
+ /**
78
+ * @generated from rpc bsync.Service.ScanOperations
79
+ */
80
+ scanOperations: {
81
+ name: 'ScanOperations',
82
+ I: ScanOperationsRequest,
83
+ O: ScanOperationsResponse,
84
+ kind: MethodKind.Unary,
85
+ },
64
86
  /**
65
87
  * Ping
66
88
  *
@@ -13,6 +13,38 @@ import type {
13
13
  } from '@bufbuild/protobuf'
14
14
  import { Message, proto3 } from '@bufbuild/protobuf'
15
15
 
16
+ /**
17
+ * @generated from enum bsync.Method
18
+ */
19
+ export enum Method {
20
+ /**
21
+ * @generated from enum value: METHOD_UNSPECIFIED = 0;
22
+ */
23
+ UNSPECIFIED = 0,
24
+
25
+ /**
26
+ * @generated from enum value: METHOD_CREATE = 1;
27
+ */
28
+ CREATE = 1,
29
+
30
+ /**
31
+ * @generated from enum value: METHOD_UPDATE = 2;
32
+ */
33
+ UPDATE = 2,
34
+
35
+ /**
36
+ * @generated from enum value: METHOD_DELETE = 3;
37
+ */
38
+ DELETE = 3,
39
+ }
40
+ // Retrieve enum metadata with: proto3.getEnumType(Method)
41
+ proto3.util.setEnumType(Method, 'bsync.Method', [
42
+ { no: 0, name: 'METHOD_UNSPECIFIED' },
43
+ { no: 1, name: 'METHOD_CREATE' },
44
+ { no: 2, name: 'METHOD_UPDATE' },
45
+ { no: 3, name: 'METHOD_DELETE' },
46
+ ])
47
+
16
48
  /**
17
49
  * @generated from message bsync.MuteOperation
18
50
  */
@@ -689,6 +721,329 @@ export class ScanNotifOperationsResponse extends Message<ScanNotifOperationsResp
689
721
  }
690
722
  }
691
723
 
724
+ /**
725
+ * @generated from message bsync.Operation
726
+ */
727
+ export class Operation extends Message<Operation> {
728
+ /**
729
+ * @generated from field: string id = 1;
730
+ */
731
+ id = ''
732
+
733
+ /**
734
+ * @generated from field: string actor_did = 2;
735
+ */
736
+ actorDid = ''
737
+
738
+ /**
739
+ * @generated from field: string collection = 3;
740
+ */
741
+ collection = ''
742
+
743
+ /**
744
+ * @generated from field: string rkey = 4;
745
+ */
746
+ rkey = ''
747
+
748
+ /**
749
+ * @generated from field: bsync.Method method = 5;
750
+ */
751
+ method = Method.UNSPECIFIED
752
+
753
+ /**
754
+ * @generated from field: bytes payload = 6;
755
+ */
756
+ payload = new Uint8Array(0)
757
+
758
+ constructor(data?: PartialMessage<Operation>) {
759
+ super()
760
+ proto3.util.initPartial(data, this)
761
+ }
762
+
763
+ static readonly runtime: typeof proto3 = proto3
764
+ static readonly typeName = 'bsync.Operation'
765
+ static readonly fields: FieldList = proto3.util.newFieldList(() => [
766
+ { no: 1, name: 'id', kind: 'scalar', T: 9 /* ScalarType.STRING */ },
767
+ { no: 2, name: 'actor_did', kind: 'scalar', T: 9 /* ScalarType.STRING */ },
768
+ { no: 3, name: 'collection', kind: 'scalar', T: 9 /* ScalarType.STRING */ },
769
+ { no: 4, name: 'rkey', kind: 'scalar', T: 9 /* ScalarType.STRING */ },
770
+ { no: 5, name: 'method', kind: 'enum', T: proto3.getEnumType(Method) },
771
+ { no: 6, name: 'payload', kind: 'scalar', T: 12 /* ScalarType.BYTES */ },
772
+ ])
773
+
774
+ static fromBinary(
775
+ bytes: Uint8Array,
776
+ options?: Partial<BinaryReadOptions>,
777
+ ): Operation {
778
+ return new Operation().fromBinary(bytes, options)
779
+ }
780
+
781
+ static fromJson(
782
+ jsonValue: JsonValue,
783
+ options?: Partial<JsonReadOptions>,
784
+ ): Operation {
785
+ return new Operation().fromJson(jsonValue, options)
786
+ }
787
+
788
+ static fromJsonString(
789
+ jsonString: string,
790
+ options?: Partial<JsonReadOptions>,
791
+ ): Operation {
792
+ return new Operation().fromJsonString(jsonString, options)
793
+ }
794
+
795
+ static equals(
796
+ a: Operation | PlainMessage<Operation> | undefined,
797
+ b: Operation | PlainMessage<Operation> | undefined,
798
+ ): boolean {
799
+ return proto3.util.equals(Operation, a, b)
800
+ }
801
+ }
802
+
803
+ /**
804
+ * @generated from message bsync.PutOperationRequest
805
+ */
806
+ export class PutOperationRequest extends Message<PutOperationRequest> {
807
+ /**
808
+ * @generated from field: string collection = 1;
809
+ */
810
+ collection = ''
811
+
812
+ /**
813
+ * @generated from field: string actor_did = 2;
814
+ */
815
+ actorDid = ''
816
+
817
+ /**
818
+ * @generated from field: string rkey = 3;
819
+ */
820
+ rkey = ''
821
+
822
+ /**
823
+ * @generated from field: bsync.Method method = 4;
824
+ */
825
+ method = Method.UNSPECIFIED
826
+
827
+ /**
828
+ * @generated from field: bytes payload = 5;
829
+ */
830
+ payload = new Uint8Array(0)
831
+
832
+ constructor(data?: PartialMessage<PutOperationRequest>) {
833
+ super()
834
+ proto3.util.initPartial(data, this)
835
+ }
836
+
837
+ static readonly runtime: typeof proto3 = proto3
838
+ static readonly typeName = 'bsync.PutOperationRequest'
839
+ static readonly fields: FieldList = proto3.util.newFieldList(() => [
840
+ { no: 1, name: 'collection', kind: 'scalar', T: 9 /* ScalarType.STRING */ },
841
+ { no: 2, name: 'actor_did', kind: 'scalar', T: 9 /* ScalarType.STRING */ },
842
+ { no: 3, name: 'rkey', kind: 'scalar', T: 9 /* ScalarType.STRING */ },
843
+ { no: 4, name: 'method', kind: 'enum', T: proto3.getEnumType(Method) },
844
+ { no: 5, name: 'payload', kind: 'scalar', T: 12 /* ScalarType.BYTES */ },
845
+ ])
846
+
847
+ static fromBinary(
848
+ bytes: Uint8Array,
849
+ options?: Partial<BinaryReadOptions>,
850
+ ): PutOperationRequest {
851
+ return new PutOperationRequest().fromBinary(bytes, options)
852
+ }
853
+
854
+ static fromJson(
855
+ jsonValue: JsonValue,
856
+ options?: Partial<JsonReadOptions>,
857
+ ): PutOperationRequest {
858
+ return new PutOperationRequest().fromJson(jsonValue, options)
859
+ }
860
+
861
+ static fromJsonString(
862
+ jsonString: string,
863
+ options?: Partial<JsonReadOptions>,
864
+ ): PutOperationRequest {
865
+ return new PutOperationRequest().fromJsonString(jsonString, options)
866
+ }
867
+
868
+ static equals(
869
+ a: PutOperationRequest | PlainMessage<PutOperationRequest> | undefined,
870
+ b: PutOperationRequest | PlainMessage<PutOperationRequest> | undefined,
871
+ ): boolean {
872
+ return proto3.util.equals(PutOperationRequest, a, b)
873
+ }
874
+ }
875
+
876
+ /**
877
+ * @generated from message bsync.PutOperationResponse
878
+ */
879
+ export class PutOperationResponse extends Message<PutOperationResponse> {
880
+ /**
881
+ * @generated from field: bsync.Operation operation = 1;
882
+ */
883
+ operation?: Operation
884
+
885
+ constructor(data?: PartialMessage<PutOperationResponse>) {
886
+ super()
887
+ proto3.util.initPartial(data, this)
888
+ }
889
+
890
+ static readonly runtime: typeof proto3 = proto3
891
+ static readonly typeName = 'bsync.PutOperationResponse'
892
+ static readonly fields: FieldList = proto3.util.newFieldList(() => [
893
+ { no: 1, name: 'operation', kind: 'message', T: Operation },
894
+ ])
895
+
896
+ static fromBinary(
897
+ bytes: Uint8Array,
898
+ options?: Partial<BinaryReadOptions>,
899
+ ): PutOperationResponse {
900
+ return new PutOperationResponse().fromBinary(bytes, options)
901
+ }
902
+
903
+ static fromJson(
904
+ jsonValue: JsonValue,
905
+ options?: Partial<JsonReadOptions>,
906
+ ): PutOperationResponse {
907
+ return new PutOperationResponse().fromJson(jsonValue, options)
908
+ }
909
+
910
+ static fromJsonString(
911
+ jsonString: string,
912
+ options?: Partial<JsonReadOptions>,
913
+ ): PutOperationResponse {
914
+ return new PutOperationResponse().fromJsonString(jsonString, options)
915
+ }
916
+
917
+ static equals(
918
+ a: PutOperationResponse | PlainMessage<PutOperationResponse> | undefined,
919
+ b: PutOperationResponse | PlainMessage<PutOperationResponse> | undefined,
920
+ ): boolean {
921
+ return proto3.util.equals(PutOperationResponse, a, b)
922
+ }
923
+ }
924
+
925
+ /**
926
+ * @generated from message bsync.ScanOperationsRequest
927
+ */
928
+ export class ScanOperationsRequest extends Message<ScanOperationsRequest> {
929
+ /**
930
+ * @generated from field: string cursor = 1;
931
+ */
932
+ cursor = ''
933
+
934
+ /**
935
+ * @generated from field: int32 limit = 2;
936
+ */
937
+ limit = 0
938
+
939
+ constructor(data?: PartialMessage<ScanOperationsRequest>) {
940
+ super()
941
+ proto3.util.initPartial(data, this)
942
+ }
943
+
944
+ static readonly runtime: typeof proto3 = proto3
945
+ static readonly typeName = 'bsync.ScanOperationsRequest'
946
+ static readonly fields: FieldList = proto3.util.newFieldList(() => [
947
+ { no: 1, name: 'cursor', kind: 'scalar', T: 9 /* ScalarType.STRING */ },
948
+ { no: 2, name: 'limit', kind: 'scalar', T: 5 /* ScalarType.INT32 */ },
949
+ ])
950
+
951
+ static fromBinary(
952
+ bytes: Uint8Array,
953
+ options?: Partial<BinaryReadOptions>,
954
+ ): ScanOperationsRequest {
955
+ return new ScanOperationsRequest().fromBinary(bytes, options)
956
+ }
957
+
958
+ static fromJson(
959
+ jsonValue: JsonValue,
960
+ options?: Partial<JsonReadOptions>,
961
+ ): ScanOperationsRequest {
962
+ return new ScanOperationsRequest().fromJson(jsonValue, options)
963
+ }
964
+
965
+ static fromJsonString(
966
+ jsonString: string,
967
+ options?: Partial<JsonReadOptions>,
968
+ ): ScanOperationsRequest {
969
+ return new ScanOperationsRequest().fromJsonString(jsonString, options)
970
+ }
971
+
972
+ static equals(
973
+ a: ScanOperationsRequest | PlainMessage<ScanOperationsRequest> | undefined,
974
+ b: ScanOperationsRequest | PlainMessage<ScanOperationsRequest> | undefined,
975
+ ): boolean {
976
+ return proto3.util.equals(ScanOperationsRequest, a, b)
977
+ }
978
+ }
979
+
980
+ /**
981
+ * @generated from message bsync.ScanOperationsResponse
982
+ */
983
+ export class ScanOperationsResponse extends Message<ScanOperationsResponse> {
984
+ /**
985
+ * @generated from field: repeated bsync.Operation operations = 1;
986
+ */
987
+ operations: Operation[] = []
988
+
989
+ /**
990
+ * @generated from field: string cursor = 2;
991
+ */
992
+ cursor = ''
993
+
994
+ constructor(data?: PartialMessage<ScanOperationsResponse>) {
995
+ super()
996
+ proto3.util.initPartial(data, this)
997
+ }
998
+
999
+ static readonly runtime: typeof proto3 = proto3
1000
+ static readonly typeName = 'bsync.ScanOperationsResponse'
1001
+ static readonly fields: FieldList = proto3.util.newFieldList(() => [
1002
+ {
1003
+ no: 1,
1004
+ name: 'operations',
1005
+ kind: 'message',
1006
+ T: Operation,
1007
+ repeated: true,
1008
+ },
1009
+ { no: 2, name: 'cursor', kind: 'scalar', T: 9 /* ScalarType.STRING */ },
1010
+ ])
1011
+
1012
+ static fromBinary(
1013
+ bytes: Uint8Array,
1014
+ options?: Partial<BinaryReadOptions>,
1015
+ ): ScanOperationsResponse {
1016
+ return new ScanOperationsResponse().fromBinary(bytes, options)
1017
+ }
1018
+
1019
+ static fromJson(
1020
+ jsonValue: JsonValue,
1021
+ options?: Partial<JsonReadOptions>,
1022
+ ): ScanOperationsResponse {
1023
+ return new ScanOperationsResponse().fromJson(jsonValue, options)
1024
+ }
1025
+
1026
+ static fromJsonString(
1027
+ jsonString: string,
1028
+ options?: Partial<JsonReadOptions>,
1029
+ ): ScanOperationsResponse {
1030
+ return new ScanOperationsResponse().fromJsonString(jsonString, options)
1031
+ }
1032
+
1033
+ static equals(
1034
+ a:
1035
+ | ScanOperationsResponse
1036
+ | PlainMessage<ScanOperationsResponse>
1037
+ | undefined,
1038
+ b:
1039
+ | ScanOperationsResponse
1040
+ | PlainMessage<ScanOperationsResponse>
1041
+ | undefined,
1042
+ ): boolean {
1043
+ return proto3.util.equals(ScanOperationsResponse, a, b)
1044
+ }
1045
+ }
1046
+
692
1047
  /**
693
1048
  * Ping
694
1049
  *