@atproto/bsky 0.0.152 → 0.0.153

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 (79) hide show
  1. package/CHANGELOG.md +7 -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 +10 -0
  33. package/dist/lexicon/lexicons.d.ts.map +1 -1
  34. package/dist/lexicon/lexicons.js +5 -0
  35. package/dist/lexicon/lexicons.js.map +1 -1
  36. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadHiddenV2.d.ts +2 -0
  37. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadHiddenV2.d.ts.map +1 -1
  38. package/dist/lexicon/types/app/bsky/unspecced/getPostThreadHiddenV2.js.map +1 -1
  39. package/dist/proto/bsky_pb.d.ts +4 -0
  40. package/dist/proto/bsky_pb.d.ts.map +1 -1
  41. package/dist/proto/bsky_pb.js +16 -0
  42. package/dist/proto/bsky_pb.js.map +1 -1
  43. package/dist/proto/bsync_connect.d.ts +19 -1
  44. package/dist/proto/bsync_connect.d.ts.map +1 -1
  45. package/dist/proto/bsync_connect.js +18 -0
  46. package/dist/proto/bsync_connect.js.map +1 -1
  47. package/dist/proto/bsync_pb.d.ts +150 -0
  48. package/dist/proto/bsync_pb.d.ts.map +1 -1
  49. package/dist/proto/bsync_pb.js +401 -1
  50. package/dist/proto/bsync_pb.js.map +1 -1
  51. package/dist/views/index.d.ts +6 -1
  52. package/dist/views/index.d.ts.map +1 -1
  53. package/dist/views/index.js +58 -22
  54. package/dist/views/index.js.map +1 -1
  55. package/dist/views/threads-v2.d.ts +4 -1
  56. package/dist/views/threads-v2.d.ts.map +1 -1
  57. package/dist/views/threads-v2.js +50 -25
  58. package/dist/views/threads-v2.js.map +1 -1
  59. package/package.json +5 -5
  60. package/proto/bsky.proto +1 -0
  61. package/src/api/app/bsky/unspecced/getPostThreadHiddenV2.ts +2 -1
  62. package/src/api/com/atproto/repo/getRecord.ts +4 -1
  63. package/src/config.ts +15 -0
  64. package/src/data-plane/server/db/migrations/20250528T221913281Z-add-record-tags.ts +9 -0
  65. package/src/data-plane/server/db/migrations/index.ts +1 -0
  66. package/src/data-plane/server/db/tables/record.ts +1 -0
  67. package/src/data-plane/server/routes/records.ts +1 -0
  68. package/src/hydration/feed.ts +3 -0
  69. package/src/index.ts +2 -0
  70. package/src/lexicon/lexicons.ts +6 -0
  71. package/src/lexicon/types/app/bsky/unspecced/getPostThreadHiddenV2.ts +2 -0
  72. package/src/proto/bsky_pb.ts +12 -0
  73. package/src/proto/bsync_connect.ts +22 -0
  74. package/src/proto/bsync_pb.ts +355 -0
  75. package/src/views/index.ts +90 -52
  76. package/src/views/threads-v2.ts +67 -37
  77. package/tests/seed/thread-v2.ts +131 -32
  78. package/tests/views/thread-v2.test.ts +139 -27
  79. package/tsconfig.build.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"threads-v2.js","sourceRoot":"","sources":["../../src/views/threads-v2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"threads-v2.js","sourceRoot":"","sources":["../../src/views/threads-v2.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atproto/bsky",
3
- "version": "0.0.152",
3
+ "version": "0.0.153",
4
4
  "license": "MIT",
5
5
  "description": "Reference implementation of app.bsky App View (Bluesky API)",
6
6
  "keywords": [
@@ -49,7 +49,7 @@
49
49
  "undici": "^6.19.8",
50
50
  "@atproto-labs/fetch-node": "0.1.9",
51
51
  "@atproto-labs/xrpc-utils": "0.0.14",
52
- "@atproto/api": "^0.15.10",
52
+ "@atproto/api": "^0.15.11",
53
53
  "@atproto/common": "^0.4.11",
54
54
  "@atproto/crypto": "^0.4.4",
55
55
  "@atproto/did": "^0.1.5",
@@ -73,9 +73,9 @@
73
73
  "jest": "^28.1.2",
74
74
  "ts-node": "^10.8.2",
75
75
  "typescript": "^5.6.3",
76
- "@atproto/api": "^0.15.10",
77
- "@atproto/lex-cli": "^0.8.1",
78
- "@atproto/pds": "^0.4.140",
76
+ "@atproto/api": "^0.15.11",
77
+ "@atproto/lex-cli": "^0.8.2",
78
+ "@atproto/pds": "^0.4.141",
79
79
  "@atproto/xrpc": "^0.7.0"
80
80
  },
81
81
  "scripts": {
package/proto/bsky.proto CHANGED
@@ -17,6 +17,7 @@ message Record {
17
17
  google.protobuf.Timestamp created_at = 6;
18
18
  google.protobuf.Timestamp sorted_at = 7;
19
19
  string takedown_ref = 8;
20
+ repeated string tags = 9;
20
21
  }
21
22
 
22
23
  message GetBlockRecordsRequest {
@@ -93,10 +93,11 @@ const hydration = async (
93
93
  const presentation = (
94
94
  inputs: PresentationFnInput<Context, Params, Skeleton>,
95
95
  ) => {
96
- const { ctx, skeleton, hydration } = inputs
96
+ const { ctx, params, skeleton, hydration } = inputs
97
97
  const thread = ctx.views.threadHiddenV2(skeleton, hydration, {
98
98
  below: BELOW,
99
99
  branchingFactor: BRANCHING_FACTOR,
100
+ prioritizeFollowedUsers: params.prioritizeFollowedUsers,
100
101
  })
101
102
  return { thread }
102
103
  }
@@ -25,7 +25,10 @@ export default function (server: Server, ctx: AppContext) {
25
25
  const result = await ctx.hydrator.getRecord(uri, includeTakedowns)
26
26
 
27
27
  if (!result || (cid && result.cid !== cid)) {
28
- throw new InvalidRequestError(`Could not locate record: ${uri}`)
28
+ throw new InvalidRequestError(
29
+ `Could not locate record: ${uri}`,
30
+ 'RecordNotFound',
31
+ )
29
32
  }
30
33
 
31
34
  return {
package/src/config.ts CHANGED
@@ -57,6 +57,8 @@ export interface ServerConfigValues {
57
57
  bigThreadDepth?: number
58
58
  maxThreadDepth?: number
59
59
  maxThreadParents: number
60
+ threadTagsHide: Set<string>
61
+ threadTagsBumpDown: Set<string>
60
62
  // notifications
61
63
  notificationsDelayMs?: number
62
64
  // client config
@@ -195,6 +197,10 @@ export class ServerConfig {
195
197
  const maxThreadParents = process.env.BSKY_MAX_THREAD_PARENTS
196
198
  ? parseInt(process.env.BSKY_MAX_THREAD_PARENTS || '', 10)
197
199
  : 50
200
+ const threadTagsHide = new Set(envList(process.env.BSKY_THREAD_TAGS_HIDE))
201
+ const threadTagsBumpDown = new Set(
202
+ envList(process.env.BSKY_THREAD_TAGS_BUMP_DOWN),
203
+ )
198
204
 
199
205
  const notificationsDelayMs = process.env.BSKY_NOTIFICATIONS_DELAY_MS
200
206
  ? parseInt(process.env.BSKY_NOTIFICATIONS_DELAY_MS || '', 10)
@@ -263,6 +269,8 @@ export class ServerConfig {
263
269
  bigThreadDepth,
264
270
  maxThreadDepth,
265
271
  maxThreadParents,
272
+ threadTagsHide,
273
+ threadTagsBumpDown,
266
274
  notificationsDelayMs,
267
275
  disableSsrfProtection,
268
276
  proxyAllowHTTP2,
@@ -467,6 +475,13 @@ export class ServerConfig {
467
475
  return this.cfg.maxThreadParents
468
476
  }
469
477
 
478
+ get threadTagsHide() {
479
+ return this.cfg.threadTagsHide
480
+ }
481
+ get threadTagsBumpDown() {
482
+ return this.cfg.threadTagsBumpDown
483
+ }
484
+
470
485
  get notificationsDelayMs() {
471
486
  return this.cfg.notificationsDelayMs ?? 0
472
487
  }
@@ -0,0 +1,9 @@
1
+ import { Kysely } from 'kysely'
2
+
3
+ export async function up(db: Kysely<unknown>): Promise<void> {
4
+ await db.schema.alterTable('record').addColumn('tags', 'jsonb').execute()
5
+ }
6
+
7
+ export async function down(db: Kysely<unknown>): Promise<void> {
8
+ await db.schema.alterTable('record').dropColumn('tags').execute()
9
+ }
@@ -49,3 +49,4 @@ export * as _20250116T222618297Z from './20250116T222618297Z-post-embed-video'
49
49
  export * as _20250207T174822012Z from './20250207T174822012Z-add-label-exp'
50
50
  export * as _20250404T163421487Z from './20250404T163421487Z-verifications'
51
51
  export * as _20250526T023712742Z from './20250526T023712742Z-like-repost-via'
52
+ export * as _20250528T221913281Z from './20250528T221913281Z-add-record-tags'
@@ -5,6 +5,7 @@ export interface Record {
5
5
  json: string
6
6
  indexedAt: string
7
7
  takedownRef: string | null
8
+ tags: string[] | null
8
9
  }
9
10
 
10
11
  export const tableName = 'record'
@@ -61,6 +61,7 @@ export const getRecords =
61
61
  sortedAt: compositeTime(createdAt, indexedAt),
62
62
  takenDown: !!row?.takedownRef,
63
63
  takedownRef: row?.takedownRef ?? undefined,
64
+ tags: row?.tags ?? undefined,
64
65
  })
65
66
  })
66
67
  return { records }
@@ -25,6 +25,7 @@ export type Post = RecordInfo<PostRecord> & {
25
25
  violatesEmbeddingRules: boolean
26
26
  hasThreadGate: boolean
27
27
  hasPostGate: boolean
28
+ tags: Set<string>
28
29
  }
29
30
  export type Posts = HydrationMap<Post>
30
31
 
@@ -113,6 +114,7 @@ export class FeedHydrator {
113
114
  const violatesEmbeddingRules = res.meta[i].violatesEmbeddingRules
114
115
  const hasThreadGate = res.meta[i].hasThreadGate
115
116
  const hasPostGate = res.meta[i].hasPostGate
117
+ const tags = new Set<string>(res.records[i].tags ?? [])
116
118
  return acc.set(
117
119
  uri,
118
120
  record
@@ -122,6 +124,7 @@ export class FeedHydrator {
122
124
  violatesEmbeddingRules,
123
125
  hasThreadGate,
124
126
  hasPostGate,
127
+ tags,
125
128
  }
126
129
  : null,
127
130
  )
package/src/index.ts CHANGED
@@ -125,6 +125,8 @@ export class BskyAppView {
125
125
  imgUriBuilder: imgUriBuilder,
126
126
  videoUriBuilder: videoUriBuilder,
127
127
  indexedAtEpoch: config.indexedAtEpoch,
128
+ threadTagsBumpDown: [...config.threadTagsBumpDown],
129
+ threadTagsHide: [...config.threadTagsHide],
128
130
  })
129
131
 
130
132
  const bsyncClient = createBsyncClient({
@@ -10312,6 +10312,12 @@ export const schemaDict = {
10312
10312
  description:
10313
10313
  'Reference (AT-URI) to post record. This is the anchor post.',
10314
10314
  },
10315
+ prioritizeFollowedUsers: {
10316
+ type: 'boolean',
10317
+ description:
10318
+ 'Whether to prioritize posts from followed users. It only has effect when the user is authenticated.',
10319
+ default: false,
10320
+ },
10315
10321
  },
10316
10322
  },
10317
10323
  output: {
@@ -20,6 +20,8 @@ const id = 'app.bsky.unspecced.getPostThreadHiddenV2'
20
20
  export interface QueryParams {
21
21
  /** Reference (AT-URI) to post record. This is the anchor post. */
22
22
  anchor: string
23
+ /** Whether to prioritize posts from followed users. It only has effect when the user is authenticated. */
24
+ prioritizeFollowedUsers: boolean
23
25
  }
24
26
 
25
27
  export type InputSchema = undefined
@@ -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
  *