Skip to content

Commit 40ffb78

Browse files
Merge upstream develop
2 parents 64dbfad + a67e33e commit 40ffb78

17 files changed

Lines changed: 888 additions & 212 deletions

File tree

buf.gen.yaml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
version: v2
2+
plugins:
3+
# protoc-gen-ts from @protobuf-ts/plugin (installed in packages/js-core).
4+
- local: protoc-gen-ts
5+
out: packages/js-core/src/proto
6+
inputs:
7+
- directory: protos
8+
# rs-core-ffi.proto is consumed by the Rust FFI, not the JS client.
9+
exclude_paths:
10+
- protos/rs-core-ffi.proto

buf.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
version: v2
2+
modules:
3+
- path: protos

packages/js-core/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
},
1414
"files": ["dist"],
1515
"scripts": {
16-
"generate": "mkdir -p ./src/proto && protoc --ts_out=./src/proto --proto_path=../../protos --experimental_allow_proto3_optional ../../protos/polycentric.proto ../../protos/polycentric/v2/keypair.proto ../../protos/polycentric/v2/event_key.proto ../../protos/polycentric/v2/common.proto ../../protos/polycentric/v2/identity.proto ../../protos/polycentric/v2/content.proto ../../protos/polycentric/v2/events.proto ../../protos/polycentric/v2/feeds.proto ../../protos/polycentric/v2/server.proto ../../protos/polycentric/v2/pairing_service.proto ../../protos/polycentric/v2/notifications.proto",
16+
"generate": "mkdir -p ./src/proto && cd ../.. && buf generate && node packages/js-core/scripts/generate-proto-barrel.mjs",
1717
"build": "tsc -b && webpack",
1818
"dev": "tsc -b && webpack --watch",
1919
"test": "vitest",
@@ -31,6 +31,7 @@
3131
"js-base64": "^3.7.8"
3232
},
3333
"devDependencies": {
34+
"@bufbuild/buf": "^1.71.0",
3435
"@polycentric/tsconfig": "workspace:*",
3536
"@protobuf-ts/plugin": "^2.11.1",
3637
"ts-loader": "^9.5.4",
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
import { readdirSync, writeFileSync } from 'node:fs';
2+
import { dirname, resolve } from 'node:path';
3+
import { fileURLToPath } from 'node:url';
4+
5+
const here = dirname(fileURLToPath(import.meta.url));
6+
const v2Dir = resolve(here, '../src/proto/polycentric/v2');
7+
const outFile = resolve(here, '../src/proto/v2.ts');
8+
9+
const modules = readdirSync(v2Dir)
10+
.filter((f) => f.endsWith('.ts'))
11+
.map((f) => f.slice(0, -'.ts'.length))
12+
.sort();
13+
14+
const contents = [
15+
'// Generated by scripts/generate-proto-barrel.mjs — do not edit.',
16+
'// Re-exports the generated protobuf-ts modules as the `v2` namespace.',
17+
'',
18+
...modules.map((m) => `export * from './polycentric/v2/${m}';`),
19+
'',
20+
].join('\n');
21+
22+
writeFileSync(outFile, contents);
23+
console.log(`Wrote ${outFile} (${modules.length} modules)`);

packages/js-core/src/proto/polycentric/v2/common.ts

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,34 @@ export interface PageInfo {
3131
*/
3232
startCursor: string;
3333
}
34+
/**
35+
* @generated from protobuf message polycentric.v2.ContentDigest
36+
*/
37+
export interface ContentDigest {
38+
/**
39+
* @generated from protobuf field: polycentric.v2.ContentDigestType type = 1
40+
*/
41+
type: ContentDigestType;
42+
/**
43+
* We hash the serialized bytes
44+
*
45+
* @generated from protobuf field: bytes value = 2
46+
*/
47+
value: Uint8Array;
48+
}
49+
/**
50+
* @generated from protobuf enum polycentric.v2.ContentDigestType
51+
*/
52+
export enum ContentDigestType {
53+
/**
54+
* @generated from protobuf enum value: CONTENT_DIGEST_TYPE_UNSPECIFIED = 0;
55+
*/
56+
UNSPECIFIED = 0,
57+
/**
58+
* @generated from protobuf enum value: CONTENT_DIGEST_TYPE_SHA256 = 1;
59+
*/
60+
SHA256 = 1
61+
}
3462
// @generated message type with reflection information, may provide speed optimized methods
3563
class PageInfo$Type extends MessageType<PageInfo> {
3664
constructor() {
@@ -102,3 +130,58 @@ class PageInfo$Type extends MessageType<PageInfo> {
102130
* @generated MessageType for protobuf message polycentric.v2.PageInfo
103131
*/
104132
export const PageInfo = new PageInfo$Type();
133+
// @generated message type with reflection information, may provide speed optimized methods
134+
class ContentDigest$Type extends MessageType<ContentDigest> {
135+
constructor() {
136+
super("polycentric.v2.ContentDigest", [
137+
{ no: 1, name: "type", kind: "enum", T: () => ["polycentric.v2.ContentDigestType", ContentDigestType, "CONTENT_DIGEST_TYPE_"] },
138+
{ no: 2, name: "value", kind: "scalar", T: 12 /*ScalarType.BYTES*/ }
139+
]);
140+
}
141+
create(value?: PartialMessage<ContentDigest>): ContentDigest {
142+
const message = globalThis.Object.create((this.messagePrototype!));
143+
message.type = 0;
144+
message.value = new Uint8Array(0);
145+
if (value !== undefined)
146+
reflectionMergePartial<ContentDigest>(this, message, value);
147+
return message;
148+
}
149+
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ContentDigest): ContentDigest {
150+
let message = target ?? this.create(), end = reader.pos + length;
151+
while (reader.pos < end) {
152+
let [fieldNo, wireType] = reader.tag();
153+
switch (fieldNo) {
154+
case /* polycentric.v2.ContentDigestType type */ 1:
155+
message.type = reader.int32();
156+
break;
157+
case /* bytes value */ 2:
158+
message.value = reader.bytes();
159+
break;
160+
default:
161+
let u = options.readUnknownField;
162+
if (u === "throw")
163+
throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
164+
let d = reader.skip(wireType);
165+
if (u !== false)
166+
(u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
167+
}
168+
}
169+
return message;
170+
}
171+
internalBinaryWrite(message: ContentDigest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
172+
/* polycentric.v2.ContentDigestType type = 1; */
173+
if (message.type !== 0)
174+
writer.tag(1, WireType.Varint).int32(message.type);
175+
/* bytes value = 2; */
176+
if (message.value.length)
177+
writer.tag(2, WireType.LengthDelimited).bytes(message.value);
178+
let u = options.writeUnknownFields;
179+
if (u !== false)
180+
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
181+
return writer;
182+
}
183+
}
184+
/**
185+
* @generated MessageType for protobuf message polycentric.v2.ContentDigest
186+
*/
187+
export const ContentDigest = new ContentDigest$Type();

packages/js-core/src/proto/polycentric/v2/content.ts

Lines changed: 38 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,11 @@ import { UnknownFieldHandler } from "@protobuf-ts/runtime";
1111
import type { PartialMessage } from "@protobuf-ts/runtime";
1212
import { reflectionMergePartial } from "@protobuf-ts/runtime";
1313
import { MessageType } from "@protobuf-ts/runtime";
14+
import { ContentDigest } from "./common";
1415
import { EventKey } from "./event_key";
16+
import { VerificationVerify } from "./verifications";
17+
import { VerificationClaim } from "./verifications";
1518
import { Identity } from "./identity";
16-
/**
17-
* @generated from protobuf message polycentric.v2.ContentDigest
18-
*/
19-
export interface ContentDigest {
20-
/**
21-
* @generated from protobuf field: polycentric.v2.ContentDigestType type = 1
22-
*/
23-
type: ContentDigestType;
24-
/**
25-
* We hash the serialized bytes
26-
*
27-
* @generated from protobuf field: bytes value = 2
28-
*/
29-
value: Uint8Array;
30-
}
3119
/**
3220
* Content of the event
3321
*
@@ -97,6 +85,20 @@ export interface Content {
9785
* @generated from protobuf field: polycentric.v2.Labels labels = 11
9886
*/
9987
labels: Labels;
88+
} | {
89+
oneofKind: "verificationClaim";
90+
/**
91+
* Verifications (see verifications.proto)
92+
*
93+
* @generated from protobuf field: polycentric.v2.VerificationClaim verification_claim = 12
94+
*/
95+
verificationClaim: VerificationClaim;
96+
} | {
97+
oneofKind: "verificationVerify";
98+
/**
99+
* @generated from protobuf field: polycentric.v2.VerificationVerify verification_verify = 13
100+
*/
101+
verificationVerify: VerificationVerify;
100102
} | {
101103
oneofKind: undefined;
102104
};
@@ -385,19 +387,6 @@ export interface UploadBlobRequest {
385387
*/
386388
export interface UploadBlobResponse {
387389
}
388-
/**
389-
* @generated from protobuf enum polycentric.v2.ContentDigestType
390-
*/
391-
export enum ContentDigestType {
392-
/**
393-
* @generated from protobuf enum value: CONTENT_DIGEST_TYPE_UNSPECIFIED = 0;
394-
*/
395-
UNSPECIFIED = 0,
396-
/**
397-
* @generated from protobuf enum value: CONTENT_DIGEST_TYPE_SHA256 = 1;
398-
*/
399-
SHA256 = 1
400-
}
401390
/**
402391
* @generated from protobuf enum polycentric.v2.ReportCategory
403392
*/
@@ -436,61 +425,6 @@ export enum ReportCategory {
436425
SERVER_POLICY = 7
437426
}
438427
// @generated message type with reflection information, may provide speed optimized methods
439-
class ContentDigest$Type extends MessageType<ContentDigest> {
440-
constructor() {
441-
super("polycentric.v2.ContentDigest", [
442-
{ no: 1, name: "type", kind: "enum", T: () => ["polycentric.v2.ContentDigestType", ContentDigestType, "CONTENT_DIGEST_TYPE_"] },
443-
{ no: 2, name: "value", kind: "scalar", T: 12 /*ScalarType.BYTES*/ }
444-
]);
445-
}
446-
create(value?: PartialMessage<ContentDigest>): ContentDigest {
447-
const message = globalThis.Object.create((this.messagePrototype!));
448-
message.type = 0;
449-
message.value = new Uint8Array(0);
450-
if (value !== undefined)
451-
reflectionMergePartial<ContentDigest>(this, message, value);
452-
return message;
453-
}
454-
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ContentDigest): ContentDigest {
455-
let message = target ?? this.create(), end = reader.pos + length;
456-
while (reader.pos < end) {
457-
let [fieldNo, wireType] = reader.tag();
458-
switch (fieldNo) {
459-
case /* polycentric.v2.ContentDigestType type */ 1:
460-
message.type = reader.int32();
461-
break;
462-
case /* bytes value */ 2:
463-
message.value = reader.bytes();
464-
break;
465-
default:
466-
let u = options.readUnknownField;
467-
if (u === "throw")
468-
throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
469-
let d = reader.skip(wireType);
470-
if (u !== false)
471-
(u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
472-
}
473-
}
474-
return message;
475-
}
476-
internalBinaryWrite(message: ContentDigest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
477-
/* polycentric.v2.ContentDigestType type = 1; */
478-
if (message.type !== 0)
479-
writer.tag(1, WireType.Varint).int32(message.type);
480-
/* bytes value = 2; */
481-
if (message.value.length)
482-
writer.tag(2, WireType.LengthDelimited).bytes(message.value);
483-
let u = options.writeUnknownFields;
484-
if (u !== false)
485-
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
486-
return writer;
487-
}
488-
}
489-
/**
490-
* @generated MessageType for protobuf message polycentric.v2.ContentDigest
491-
*/
492-
export const ContentDigest = new ContentDigest$Type();
493-
// @generated message type with reflection information, may provide speed optimized methods
494428
class Content$Type extends MessageType<Content> {
495429
constructor() {
496430
super("polycentric.v2.Content", [
@@ -503,7 +437,9 @@ class Content$Type extends MessageType<Content> {
503437
{ no: 8, name: "identity", kind: "message", oneof: "contentBody", T: () => Identity },
504438
{ no: 9, name: "repost", kind: "message", oneof: "contentBody", T: () => Repost },
505439
{ no: 10, name: "report", kind: "message", oneof: "contentBody", T: () => Report },
506-
{ no: 11, name: "labels", kind: "message", oneof: "contentBody", T: () => Labels }
440+
{ no: 11, name: "labels", kind: "message", oneof: "contentBody", T: () => Labels },
441+
{ no: 12, name: "verification_claim", kind: "message", oneof: "contentBody", T: () => VerificationClaim },
442+
{ no: 13, name: "verification_verify", kind: "message", oneof: "contentBody", T: () => VerificationVerify }
507443
]);
508444
}
509445
create(value?: PartialMessage<Content>): Content {
@@ -578,6 +514,18 @@ class Content$Type extends MessageType<Content> {
578514
labels: Labels.internalBinaryRead(reader, reader.uint32(), options, (message.contentBody as any).labels)
579515
};
580516
break;
517+
case /* polycentric.v2.VerificationClaim verification_claim */ 12:
518+
message.contentBody = {
519+
oneofKind: "verificationClaim",
520+
verificationClaim: VerificationClaim.internalBinaryRead(reader, reader.uint32(), options, (message.contentBody as any).verificationClaim)
521+
};
522+
break;
523+
case /* polycentric.v2.VerificationVerify verification_verify */ 13:
524+
message.contentBody = {
525+
oneofKind: "verificationVerify",
526+
verificationVerify: VerificationVerify.internalBinaryRead(reader, reader.uint32(), options, (message.contentBody as any).verificationVerify)
527+
};
528+
break;
581529
default:
582530
let u = options.readUnknownField;
583531
if (u === "throw")
@@ -620,6 +568,12 @@ class Content$Type extends MessageType<Content> {
620568
/* polycentric.v2.Labels labels = 11; */
621569
if (message.contentBody.oneofKind === "labels")
622570
Labels.internalBinaryWrite(message.contentBody.labels, writer.tag(11, WireType.LengthDelimited).fork(), options).join();
571+
/* polycentric.v2.VerificationClaim verification_claim = 12; */
572+
if (message.contentBody.oneofKind === "verificationClaim")
573+
VerificationClaim.internalBinaryWrite(message.contentBody.verificationClaim, writer.tag(12, WireType.LengthDelimited).fork(), options).join();
574+
/* polycentric.v2.VerificationVerify verification_verify = 13; */
575+
if (message.contentBody.oneofKind === "verificationVerify")
576+
VerificationVerify.internalBinaryWrite(message.contentBody.verificationVerify, writer.tag(13, WireType.LengthDelimited).fork(), options).join();
623577
let u = options.writeUnknownFields;
624578
if (u !== false)
625579
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);

packages/js-core/src/proto/polycentric/v2/events.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import { MessageType } from "@protobuf-ts/runtime";
1414
import { Blob } from "./content";
1515
import { PublicKey } from "./keypair";
1616
import { SerializedContent } from "./content";
17-
import { ContentDigest } from "./content";
17+
import { ContentDigest } from "./common";
1818
import { EventKey } from "./event_key";
1919
/**
2020
* Contains the sequences (of the same event collection) that the current KeyPair is aware of.

0 commit comments

Comments
 (0)