@pkcprotocol/pkc-js 0.0.100 → 0.0.102
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.
- package/README.md +1 -0
- package/dist/browser/clients/rpc-client/rpc-schema-util.d.ts +4 -2
- package/dist/browser/clients/rpc-client/schema.d.ts +4 -2
- package/dist/browser/community/schema.d.ts +125 -51
- package/dist/browser/community/schema.js +20 -4
- package/dist/browser/community/schema.js.map +1 -1
- package/dist/browser/domain-util.d.ts +3 -0
- package/dist/browser/domain-util.js +16 -0
- package/dist/browser/domain-util.js.map +1 -0
- package/dist/browser/errors.d.ts +5 -0
- package/dist/browser/errors.js +5 -0
- package/dist/browser/errors.js.map +1 -1
- package/dist/browser/generated-version.d.ts +1 -1
- package/dist/browser/generated-version.js +1 -1
- package/dist/browser/index-with-compile-cache.d.ts +18 -12
- package/dist/browser/index.d.ts +18 -12
- package/dist/browser/pkc-error.d.ts +1 -1
- package/dist/browser/publications/community-edit/schema.d.ts +16 -8
- package/dist/browser/pubsub-messages/schema.d.ts +8 -4
- package/dist/browser/rpc/src/lib/pkc-js/index.d.ts +9 -6
- package/dist/browser/rpc/src/schema.d.ts +54 -36
- package/dist/browser/runtime/node/community/challenges/exclude/exclude.d.ts +1 -1
- package/dist/browser/runtime/node/community/challenges/exclude/exclude.js +41 -16
- package/dist/browser/runtime/node/community/challenges/exclude/exclude.js.map +1 -1
- package/dist/browser/runtime/node/community/challenges/exclude/utils.d.ts +2 -3
- package/dist/browser/runtime/node/community/challenges/exclude/utils.js +1 -15
- package/dist/browser/runtime/node/community/challenges/exclude/utils.js.map +1 -1
- package/dist/browser/runtime/node/community/challenges/index.js +1 -1
- package/dist/browser/runtime/node/community/challenges/index.js.map +1 -1
- package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/blacklist.js +18 -13
- package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/blacklist.js.map +1 -1
- package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/whitelist.js +18 -13
- package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/whitelist.js.map +1 -1
- package/dist/browser/runtime/node/community/db-handler.d.ts +3 -2
- package/dist/browser/runtime/node/community/db-handler.js +20 -2
- package/dist/browser/runtime/node/community/db-handler.js.map +1 -1
- package/dist/browser/runtime/node/community/local-community/author-identity.d.ts +19 -0
- package/dist/browser/runtime/node/community/local-community/author-identity.js +50 -0
- package/dist/browser/runtime/node/community/local-community/author-identity.js.map +1 -0
- package/dist/browser/runtime/node/community/local-community/publication-validation.js +14 -22
- package/dist/browser/runtime/node/community/local-community/publication-validation.js.map +1 -1
- package/dist/browser/schema/schema-util.d.ts +36 -18
- package/dist/browser/schema.d.ts +72 -48
- package/dist/browser/test/test-util.d.ts +17 -10
- package/dist/browser/test/test-util.js +1 -1
- package/dist/browser/test/test-util.js.map +1 -1
- package/dist/browser/util.d.ts +1 -4
- package/dist/browser/util.js +4 -10
- package/dist/browser/util.js.map +1 -1
- package/dist/browser/version.js +1 -1
- package/dist/bundled/bundle-manifest.json +27 -25
- package/dist/bundled/chunks/{helia-for-pkc-Cq6VWePV.js → helia-for-pkc-ZbhRl9a-.js} +2 -2
- package/dist/bundled/chunks/{local-community-CcHbWkoT.js → local-community-Cu95rtju.js} +1 -1
- package/dist/bundled/chunks/{local-community-ph-pl_pg.js → local-community-L-1IkV1x.js} +26 -20
- package/dist/bundled/chunks/{node-2PkhAerB.js → node-DaN6R9HB.js} +5 -5
- package/dist/bundled/chunks/{rpc-local-community-BK1FjUk2.js → rpc-local-community-aV790d8_.js} +94 -35
- package/dist/bundled/chunks/{schema-CYR820MD.js → schema-gif6qroG.js} +31 -19
- package/dist/bundled/chunks/{util-gAVw5PrE.js → util-BsJoElMm.js} +1 -1
- package/dist/bundled/index.js +1 -1
- package/dist/bundled/rpc/src/index.js +4 -4
- package/dist/node/clients/rpc-client/rpc-schema-util.d.ts +4 -2
- package/dist/node/clients/rpc-client/schema.d.ts +4 -2
- package/dist/node/community/schema.d.ts +125 -51
- package/dist/node/community/schema.js +20 -4
- package/dist/node/community/schema.js.map +1 -1
- package/dist/node/domain-util.d.ts +3 -0
- package/dist/node/domain-util.js +16 -0
- package/dist/node/domain-util.js.map +1 -0
- package/dist/node/errors.d.ts +5 -0
- package/dist/node/errors.js +5 -0
- package/dist/node/errors.js.map +1 -1
- package/dist/node/generated-version.d.ts +1 -1
- package/dist/node/generated-version.js +1 -1
- package/dist/node/index-with-compile-cache.d.ts +18 -12
- package/dist/node/index.d.ts +18 -12
- package/dist/node/pkc-error.d.ts +1 -1
- package/dist/node/publications/community-edit/schema.d.ts +16 -8
- package/dist/node/pubsub-messages/schema.d.ts +8 -4
- package/dist/node/rpc/src/lib/pkc-js/index.d.ts +9 -6
- package/dist/node/rpc/src/schema.d.ts +54 -36
- package/dist/node/runtime/node/community/challenges/exclude/exclude.d.ts +1 -1
- package/dist/node/runtime/node/community/challenges/exclude/exclude.js +41 -16
- package/dist/node/runtime/node/community/challenges/exclude/exclude.js.map +1 -1
- package/dist/node/runtime/node/community/challenges/exclude/utils.d.ts +2 -3
- package/dist/node/runtime/node/community/challenges/exclude/utils.js +1 -15
- package/dist/node/runtime/node/community/challenges/exclude/utils.js.map +1 -1
- package/dist/node/runtime/node/community/challenges/index.js +1 -1
- package/dist/node/runtime/node/community/challenges/index.js.map +1 -1
- package/dist/node/runtime/node/community/challenges/pkc-js-challenges/blacklist.js +18 -13
- package/dist/node/runtime/node/community/challenges/pkc-js-challenges/blacklist.js.map +1 -1
- package/dist/node/runtime/node/community/challenges/pkc-js-challenges/whitelist.js +18 -13
- package/dist/node/runtime/node/community/challenges/pkc-js-challenges/whitelist.js.map +1 -1
- package/dist/node/runtime/node/community/db-handler.d.ts +3 -2
- package/dist/node/runtime/node/community/db-handler.js +20 -2
- package/dist/node/runtime/node/community/db-handler.js.map +1 -1
- package/dist/node/runtime/node/community/local-community/author-identity.d.ts +19 -0
- package/dist/node/runtime/node/community/local-community/author-identity.js +50 -0
- package/dist/node/runtime/node/community/local-community/author-identity.js.map +1 -0
- package/dist/node/runtime/node/community/local-community/publication-validation.js +14 -22
- package/dist/node/runtime/node/community/local-community/publication-validation.js.map +1 -1
- package/dist/node/schema/schema-util.d.ts +36 -18
- package/dist/node/schema.d.ts +72 -48
- package/dist/node/test/test-util.d.ts +17 -10
- package/dist/node/test/test-util.js +1 -1
- package/dist/node/test/test-util.js.map +1 -1
- package/dist/node/util.d.ts +1 -4
- package/dist/node/util.js +4 -10
- package/dist/node/util.js.map +1 -1
- package/dist/node/version.js +1 -1
- package/package.json +4 -3
|
@@ -67,6 +67,7 @@ export declare const CreateCommunityEditPublicationOptionsSchema: import("zod").
|
|
|
67
67
|
noCrossposts: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
68
68
|
maxCrosspostDepth: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
69
69
|
noNestedReplies: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
70
|
+
noArchive: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
70
71
|
safeForWork: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
71
72
|
authorFlairs: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
72
73
|
requireAuthorFlairs: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
@@ -126,12 +127,13 @@ export declare const CreateCommunityEditPublicationOptionsSchema: import("zod").
|
|
|
126
127
|
replyCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
127
128
|
firstCommentTimestamp: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
128
129
|
challenges: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
|
|
129
|
-
|
|
130
|
+
roles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEnum<{
|
|
130
131
|
owner: "owner";
|
|
131
132
|
admin: "admin";
|
|
132
133
|
moderator: "moderator";
|
|
133
134
|
}>, import("zod").ZodString]>>>;
|
|
134
|
-
|
|
135
|
+
publicKeys: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
136
|
+
names: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
135
137
|
rateLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
136
138
|
rateLimitChallengeSuccess: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
137
139
|
publicationType: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
@@ -228,6 +230,7 @@ export declare const CreateCommunityEditPublicationOptionsWithRefinementSchema:
|
|
|
228
230
|
noCrossposts: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
229
231
|
maxCrosspostDepth: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
230
232
|
noNestedReplies: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
233
|
+
noArchive: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
231
234
|
safeForWork: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
232
235
|
authorFlairs: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
233
236
|
requireAuthorFlairs: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
@@ -287,12 +290,13 @@ export declare const CreateCommunityEditPublicationOptionsWithRefinementSchema:
|
|
|
287
290
|
replyCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
288
291
|
firstCommentTimestamp: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
289
292
|
challenges: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
|
|
290
|
-
|
|
293
|
+
roles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEnum<{
|
|
291
294
|
owner: "owner";
|
|
292
295
|
admin: "admin";
|
|
293
296
|
moderator: "moderator";
|
|
294
297
|
}>, import("zod").ZodString]>>>;
|
|
295
|
-
|
|
298
|
+
publicKeys: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
299
|
+
names: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
296
300
|
rateLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
297
301
|
rateLimitChallengeSuccess: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
298
302
|
publicationType: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
@@ -385,6 +389,7 @@ export declare const CommunityEditPubsubMessagePublicationSchema: import("zod").
|
|
|
385
389
|
noCrossposts: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
386
390
|
maxCrosspostDepth: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
387
391
|
noNestedReplies: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
392
|
+
noArchive: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
388
393
|
safeForWork: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
389
394
|
authorFlairs: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
390
395
|
requireAuthorFlairs: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
@@ -444,12 +449,13 @@ export declare const CommunityEditPubsubMessagePublicationSchema: import("zod").
|
|
|
444
449
|
replyCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
445
450
|
firstCommentTimestamp: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
446
451
|
challenges: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
|
|
447
|
-
|
|
452
|
+
roles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEnum<{
|
|
448
453
|
owner: "owner";
|
|
449
454
|
admin: "admin";
|
|
450
455
|
moderator: "moderator";
|
|
451
456
|
}>, import("zod").ZodString]>>>;
|
|
452
|
-
|
|
457
|
+
publicKeys: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
458
|
+
names: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
453
459
|
rateLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
454
460
|
rateLimitChallengeSuccess: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
455
461
|
publicationType: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
@@ -544,6 +550,7 @@ export declare const CommunityEditPublicationChallengeRequestToEncryptSchema: im
|
|
|
544
550
|
noCrossposts: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
545
551
|
maxCrosspostDepth: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
546
552
|
noNestedReplies: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
553
|
+
noArchive: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
547
554
|
safeForWork: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
548
555
|
authorFlairs: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
549
556
|
requireAuthorFlairs: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
@@ -603,12 +610,13 @@ export declare const CommunityEditPublicationChallengeRequestToEncryptSchema: im
|
|
|
603
610
|
replyCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
604
611
|
firstCommentTimestamp: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
605
612
|
challenges: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
|
|
606
|
-
|
|
613
|
+
roles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEnum<{
|
|
607
614
|
owner: "owner";
|
|
608
615
|
admin: "admin";
|
|
609
616
|
moderator: "moderator";
|
|
610
617
|
}>, import("zod").ZodString]>>>;
|
|
611
|
-
|
|
618
|
+
publicKeys: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
619
|
+
names: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
612
620
|
rateLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
613
621
|
rateLimitChallengeSuccess: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
614
622
|
publicationType: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
@@ -319,6 +319,7 @@ export declare const DecryptedChallengeRequestPublicationSchema: z.ZodObject<{
|
|
|
319
319
|
noCrossposts: z.ZodOptional<z.ZodBoolean>;
|
|
320
320
|
maxCrosspostDepth: z.ZodOptional<z.ZodNumber>;
|
|
321
321
|
noNestedReplies: z.ZodOptional<z.ZodBoolean>;
|
|
322
|
+
noArchive: z.ZodOptional<z.ZodBoolean>;
|
|
322
323
|
safeForWork: z.ZodOptional<z.ZodBoolean>;
|
|
323
324
|
authorFlairs: z.ZodOptional<z.ZodBoolean>;
|
|
324
325
|
requireAuthorFlairs: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -378,12 +379,13 @@ export declare const DecryptedChallengeRequestPublicationSchema: z.ZodObject<{
|
|
|
378
379
|
replyCount: z.ZodOptional<z.ZodNumber>;
|
|
379
380
|
firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
|
|
380
381
|
challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
381
|
-
|
|
382
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
|
|
382
383
|
owner: "owner";
|
|
383
384
|
admin: "admin";
|
|
384
385
|
moderator: "moderator";
|
|
385
386
|
}>, z.ZodString]>>>;
|
|
386
|
-
|
|
387
|
+
publicKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
388
|
+
names: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
387
389
|
rateLimit: z.ZodOptional<z.ZodNumber>;
|
|
388
390
|
rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
|
|
389
391
|
publicationType: z.ZodOptional<z.ZodObject<{
|
|
@@ -700,6 +702,7 @@ export declare const DecryptedChallengeRequestSchema: z.ZodObject<{
|
|
|
700
702
|
noCrossposts: z.ZodOptional<z.ZodBoolean>;
|
|
701
703
|
maxCrosspostDepth: z.ZodOptional<z.ZodNumber>;
|
|
702
704
|
noNestedReplies: z.ZodOptional<z.ZodBoolean>;
|
|
705
|
+
noArchive: z.ZodOptional<z.ZodBoolean>;
|
|
703
706
|
safeForWork: z.ZodOptional<z.ZodBoolean>;
|
|
704
707
|
authorFlairs: z.ZodOptional<z.ZodBoolean>;
|
|
705
708
|
requireAuthorFlairs: z.ZodOptional<z.ZodBoolean>;
|
|
@@ -759,12 +762,13 @@ export declare const DecryptedChallengeRequestSchema: z.ZodObject<{
|
|
|
759
762
|
replyCount: z.ZodOptional<z.ZodNumber>;
|
|
760
763
|
firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
|
|
761
764
|
challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
762
|
-
|
|
765
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
|
|
763
766
|
owner: "owner";
|
|
764
767
|
admin: "admin";
|
|
765
768
|
moderator: "moderator";
|
|
766
769
|
}>, z.ZodString]>>>;
|
|
767
|
-
|
|
770
|
+
publicKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
771
|
+
names: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
768
772
|
rateLimit: z.ZodOptional<z.ZodNumber>;
|
|
769
773
|
rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
|
|
770
774
|
publicationType: z.ZodOptional<z.ZodObject<{
|
|
@@ -28,12 +28,13 @@ declare const PKCJs: {
|
|
|
28
28
|
replyCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
29
29
|
firstCommentTimestamp: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
30
30
|
challenges: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
|
|
31
|
-
|
|
31
|
+
roles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEnum<{
|
|
32
32
|
owner: "owner";
|
|
33
33
|
admin: "admin";
|
|
34
34
|
moderator: "moderator";
|
|
35
35
|
}>, import("zod").ZodString]>>>;
|
|
36
|
-
|
|
36
|
+
publicKeys: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
37
|
+
names: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
37
38
|
rateLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
38
39
|
rateLimitChallengeSuccess: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
39
40
|
publicationType: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
@@ -81,12 +82,13 @@ declare const PKCJs: {
|
|
|
81
82
|
replyCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
82
83
|
firstCommentTimestamp: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
83
84
|
challenges: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
|
|
84
|
-
|
|
85
|
+
roles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEnum<{
|
|
85
86
|
owner: "owner";
|
|
86
87
|
admin: "admin";
|
|
87
88
|
moderator: "moderator";
|
|
88
89
|
}>, import("zod").ZodString]>>>;
|
|
89
|
-
|
|
90
|
+
publicKeys: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
91
|
+
names: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
90
92
|
rateLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
91
93
|
rateLimitChallengeSuccess: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
92
94
|
publicationType: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
@@ -146,12 +148,13 @@ declare const PKCJs: {
|
|
|
146
148
|
replyCount: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
147
149
|
firstCommentTimestamp: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
148
150
|
challenges: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodNumber>>;
|
|
149
|
-
|
|
151
|
+
roles: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodUnion<[import("zod").ZodEnum<{
|
|
150
152
|
owner: "owner";
|
|
151
153
|
admin: "admin";
|
|
152
154
|
moderator: "moderator";
|
|
153
155
|
}>, import("zod").ZodString]>>>;
|
|
154
|
-
|
|
156
|
+
publicKeys: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
157
|
+
names: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodString>>;
|
|
155
158
|
rateLimit: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
156
159
|
rateLimitChallengeSuccess: import("zod").ZodOptional<import("zod").ZodBoolean>;
|
|
157
160
|
publicationType: import("zod").ZodOptional<import("zod").ZodObject<{
|
|
@@ -61,12 +61,13 @@ export declare const CreatePKCWsServerOptionsSchema: z.ZodObject<{
|
|
|
61
61
|
replyCount: z.ZodOptional<z.ZodNumber>;
|
|
62
62
|
firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
|
|
63
63
|
challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
64
|
-
|
|
64
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
|
|
65
65
|
owner: "owner";
|
|
66
66
|
admin: "admin";
|
|
67
67
|
moderator: "moderator";
|
|
68
68
|
}>, z.ZodString]>>>;
|
|
69
|
-
|
|
69
|
+
publicKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
70
|
+
names: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
70
71
|
rateLimit: z.ZodOptional<z.ZodNumber>;
|
|
71
72
|
rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
|
|
72
73
|
publicationType: z.ZodOptional<z.ZodObject<{
|
|
@@ -114,12 +115,13 @@ export declare const CreatePKCWsServerOptionsSchema: z.ZodObject<{
|
|
|
114
115
|
replyCount: z.ZodOptional<z.ZodNumber>;
|
|
115
116
|
firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
|
|
116
117
|
challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
117
|
-
|
|
118
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
|
|
118
119
|
owner: "owner";
|
|
119
120
|
admin: "admin";
|
|
120
121
|
moderator: "moderator";
|
|
121
122
|
}>, z.ZodString]>>>;
|
|
122
|
-
|
|
123
|
+
publicKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
124
|
+
names: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
123
125
|
rateLimit: z.ZodOptional<z.ZodNumber>;
|
|
124
126
|
rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
|
|
125
127
|
publicationType: z.ZodOptional<z.ZodObject<{
|
|
@@ -179,12 +181,13 @@ export declare const CreatePKCWsServerOptionsSchema: z.ZodObject<{
|
|
|
179
181
|
replyCount: z.ZodOptional<z.ZodNumber>;
|
|
180
182
|
firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
|
|
181
183
|
challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
182
|
-
|
|
184
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
|
|
183
185
|
owner: "owner";
|
|
184
186
|
admin: "admin";
|
|
185
187
|
moderator: "moderator";
|
|
186
188
|
}>, z.ZodString]>>>;
|
|
187
|
-
|
|
189
|
+
publicKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
190
|
+
names: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
188
191
|
rateLimit: z.ZodOptional<z.ZodNumber>;
|
|
189
192
|
rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
|
|
190
193
|
publicationType: z.ZodOptional<z.ZodObject<{
|
|
@@ -269,12 +272,13 @@ export declare const CreatePKCWsServerOptionsSchema: z.ZodObject<{
|
|
|
269
272
|
replyCount: z.ZodOptional<z.ZodNumber>;
|
|
270
273
|
firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
|
|
271
274
|
challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
272
|
-
|
|
275
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
|
|
273
276
|
owner: "owner";
|
|
274
277
|
admin: "admin";
|
|
275
278
|
moderator: "moderator";
|
|
276
279
|
}>, z.ZodString]>>>;
|
|
277
|
-
|
|
280
|
+
publicKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
281
|
+
names: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
278
282
|
rateLimit: z.ZodOptional<z.ZodNumber>;
|
|
279
283
|
rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
|
|
280
284
|
publicationType: z.ZodOptional<z.ZodObject<{
|
|
@@ -322,12 +326,13 @@ export declare const CreatePKCWsServerOptionsSchema: z.ZodObject<{
|
|
|
322
326
|
replyCount: z.ZodOptional<z.ZodNumber>;
|
|
323
327
|
firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
|
|
324
328
|
challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
325
|
-
|
|
329
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
|
|
326
330
|
owner: "owner";
|
|
327
331
|
admin: "admin";
|
|
328
332
|
moderator: "moderator";
|
|
329
333
|
}>, z.ZodString]>>>;
|
|
330
|
-
|
|
334
|
+
publicKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
335
|
+
names: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
331
336
|
rateLimit: z.ZodOptional<z.ZodNumber>;
|
|
332
337
|
rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
|
|
333
338
|
publicationType: z.ZodOptional<z.ZodObject<{
|
|
@@ -387,12 +392,13 @@ export declare const CreatePKCWsServerOptionsSchema: z.ZodObject<{
|
|
|
387
392
|
replyCount: z.ZodOptional<z.ZodNumber>;
|
|
388
393
|
firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
|
|
389
394
|
challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
390
|
-
|
|
395
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
|
|
391
396
|
owner: "owner";
|
|
392
397
|
admin: "admin";
|
|
393
398
|
moderator: "moderator";
|
|
394
399
|
}>, z.ZodString]>>>;
|
|
395
|
-
|
|
400
|
+
publicKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
401
|
+
names: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
396
402
|
rateLimit: z.ZodOptional<z.ZodNumber>;
|
|
397
403
|
rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
|
|
398
404
|
publicationType: z.ZodOptional<z.ZodObject<{
|
|
@@ -520,12 +526,13 @@ export declare const SetNewSettingsPKCWsServerSchema: z.ZodObject<{
|
|
|
520
526
|
replyCount: z.ZodOptional<z.ZodNumber>;
|
|
521
527
|
firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
|
|
522
528
|
challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
523
|
-
|
|
529
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
|
|
524
530
|
owner: "owner";
|
|
525
531
|
admin: "admin";
|
|
526
532
|
moderator: "moderator";
|
|
527
533
|
}>, z.ZodString]>>>;
|
|
528
|
-
|
|
534
|
+
publicKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
535
|
+
names: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
529
536
|
rateLimit: z.ZodOptional<z.ZodNumber>;
|
|
530
537
|
rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
|
|
531
538
|
publicationType: z.ZodOptional<z.ZodObject<{
|
|
@@ -573,12 +580,13 @@ export declare const SetNewSettingsPKCWsServerSchema: z.ZodObject<{
|
|
|
573
580
|
replyCount: z.ZodOptional<z.ZodNumber>;
|
|
574
581
|
firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
|
|
575
582
|
challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
576
|
-
|
|
583
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
|
|
577
584
|
owner: "owner";
|
|
578
585
|
admin: "admin";
|
|
579
586
|
moderator: "moderator";
|
|
580
587
|
}>, z.ZodString]>>>;
|
|
581
|
-
|
|
588
|
+
publicKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
589
|
+
names: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
582
590
|
rateLimit: z.ZodOptional<z.ZodNumber>;
|
|
583
591
|
rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
|
|
584
592
|
publicationType: z.ZodOptional<z.ZodObject<{
|
|
@@ -638,12 +646,13 @@ export declare const SetNewSettingsPKCWsServerSchema: z.ZodObject<{
|
|
|
638
646
|
replyCount: z.ZodOptional<z.ZodNumber>;
|
|
639
647
|
firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
|
|
640
648
|
challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
641
|
-
|
|
649
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
|
|
642
650
|
owner: "owner";
|
|
643
651
|
admin: "admin";
|
|
644
652
|
moderator: "moderator";
|
|
645
653
|
}>, z.ZodString]>>>;
|
|
646
|
-
|
|
654
|
+
publicKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
655
|
+
names: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
647
656
|
rateLimit: z.ZodOptional<z.ZodNumber>;
|
|
648
657
|
rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
|
|
649
658
|
publicationType: z.ZodOptional<z.ZodObject<{
|
|
@@ -679,12 +688,13 @@ export declare const SetNewSettingsPKCWsServerSchema: z.ZodObject<{
|
|
|
679
688
|
replyCount: z.ZodOptional<z.ZodNumber>;
|
|
680
689
|
firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
|
|
681
690
|
challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
682
|
-
|
|
691
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
|
|
683
692
|
owner: "owner";
|
|
684
693
|
admin: "admin";
|
|
685
694
|
moderator: "moderator";
|
|
686
695
|
}>, z.ZodString]>>>;
|
|
687
|
-
|
|
696
|
+
publicKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
697
|
+
names: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
688
698
|
rateLimit: z.ZodOptional<z.ZodNumber>;
|
|
689
699
|
rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
|
|
690
700
|
publicationType: z.ZodOptional<z.ZodObject<{
|
|
@@ -732,12 +742,13 @@ export declare const SetNewSettingsPKCWsServerSchema: z.ZodObject<{
|
|
|
732
742
|
replyCount: z.ZodOptional<z.ZodNumber>;
|
|
733
743
|
firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
|
|
734
744
|
challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
735
|
-
|
|
745
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
|
|
736
746
|
owner: "owner";
|
|
737
747
|
admin: "admin";
|
|
738
748
|
moderator: "moderator";
|
|
739
749
|
}>, z.ZodString]>>>;
|
|
740
|
-
|
|
750
|
+
publicKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
751
|
+
names: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
741
752
|
rateLimit: z.ZodOptional<z.ZodNumber>;
|
|
742
753
|
rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
|
|
743
754
|
publicationType: z.ZodOptional<z.ZodObject<{
|
|
@@ -797,12 +808,13 @@ export declare const SetNewSettingsPKCWsServerSchema: z.ZodObject<{
|
|
|
797
808
|
replyCount: z.ZodOptional<z.ZodNumber>;
|
|
798
809
|
firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
|
|
799
810
|
challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
800
|
-
|
|
811
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
|
|
801
812
|
owner: "owner";
|
|
802
813
|
admin: "admin";
|
|
803
814
|
moderator: "moderator";
|
|
804
815
|
}>, z.ZodString]>>>;
|
|
805
|
-
|
|
816
|
+
publicKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
817
|
+
names: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
806
818
|
rateLimit: z.ZodOptional<z.ZodNumber>;
|
|
807
819
|
rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
|
|
808
820
|
publicationType: z.ZodOptional<z.ZodObject<{
|
|
@@ -916,12 +928,13 @@ export declare const PKCWsServerSettingsSerializedSchema: z.ZodObject<{
|
|
|
916
928
|
replyCount: z.ZodOptional<z.ZodNumber>;
|
|
917
929
|
firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
|
|
918
930
|
challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
919
|
-
|
|
931
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
|
|
920
932
|
owner: "owner";
|
|
921
933
|
admin: "admin";
|
|
922
934
|
moderator: "moderator";
|
|
923
935
|
}>, z.ZodString]>>>;
|
|
924
|
-
|
|
936
|
+
publicKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
937
|
+
names: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
925
938
|
rateLimit: z.ZodOptional<z.ZodNumber>;
|
|
926
939
|
rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
|
|
927
940
|
publicationType: z.ZodOptional<z.ZodObject<{
|
|
@@ -969,12 +982,13 @@ export declare const PKCWsServerSettingsSerializedSchema: z.ZodObject<{
|
|
|
969
982
|
replyCount: z.ZodOptional<z.ZodNumber>;
|
|
970
983
|
firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
|
|
971
984
|
challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
972
|
-
|
|
985
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
|
|
973
986
|
owner: "owner";
|
|
974
987
|
admin: "admin";
|
|
975
988
|
moderator: "moderator";
|
|
976
989
|
}>, z.ZodString]>>>;
|
|
977
|
-
|
|
990
|
+
publicKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
991
|
+
names: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
978
992
|
rateLimit: z.ZodOptional<z.ZodNumber>;
|
|
979
993
|
rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
|
|
980
994
|
publicationType: z.ZodOptional<z.ZodObject<{
|
|
@@ -1034,12 +1048,13 @@ export declare const PKCWsServerSettingsSerializedSchema: z.ZodObject<{
|
|
|
1034
1048
|
replyCount: z.ZodOptional<z.ZodNumber>;
|
|
1035
1049
|
firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
|
|
1036
1050
|
challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
1037
|
-
|
|
1051
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
|
|
1038
1052
|
owner: "owner";
|
|
1039
1053
|
admin: "admin";
|
|
1040
1054
|
moderator: "moderator";
|
|
1041
1055
|
}>, z.ZodString]>>>;
|
|
1042
|
-
|
|
1056
|
+
publicKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1057
|
+
names: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1043
1058
|
rateLimit: z.ZodOptional<z.ZodNumber>;
|
|
1044
1059
|
rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
|
|
1045
1060
|
publicationType: z.ZodOptional<z.ZodObject<{
|
|
@@ -1075,12 +1090,13 @@ export declare const PKCWsServerSettingsSerializedSchema: z.ZodObject<{
|
|
|
1075
1090
|
replyCount: z.ZodOptional<z.ZodNumber>;
|
|
1076
1091
|
firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
|
|
1077
1092
|
challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
1078
|
-
|
|
1093
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
|
|
1079
1094
|
owner: "owner";
|
|
1080
1095
|
admin: "admin";
|
|
1081
1096
|
moderator: "moderator";
|
|
1082
1097
|
}>, z.ZodString]>>>;
|
|
1083
|
-
|
|
1098
|
+
publicKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1099
|
+
names: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1084
1100
|
rateLimit: z.ZodOptional<z.ZodNumber>;
|
|
1085
1101
|
rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
|
|
1086
1102
|
publicationType: z.ZodOptional<z.ZodObject<{
|
|
@@ -1128,12 +1144,13 @@ export declare const PKCWsServerSettingsSerializedSchema: z.ZodObject<{
|
|
|
1128
1144
|
replyCount: z.ZodOptional<z.ZodNumber>;
|
|
1129
1145
|
firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
|
|
1130
1146
|
challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
1131
|
-
|
|
1147
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
|
|
1132
1148
|
owner: "owner";
|
|
1133
1149
|
admin: "admin";
|
|
1134
1150
|
moderator: "moderator";
|
|
1135
1151
|
}>, z.ZodString]>>>;
|
|
1136
|
-
|
|
1152
|
+
publicKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1153
|
+
names: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1137
1154
|
rateLimit: z.ZodOptional<z.ZodNumber>;
|
|
1138
1155
|
rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
|
|
1139
1156
|
publicationType: z.ZodOptional<z.ZodObject<{
|
|
@@ -1193,12 +1210,13 @@ export declare const PKCWsServerSettingsSerializedSchema: z.ZodObject<{
|
|
|
1193
1210
|
replyCount: z.ZodOptional<z.ZodNumber>;
|
|
1194
1211
|
firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
|
|
1195
1212
|
challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
1196
|
-
|
|
1213
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
|
|
1197
1214
|
owner: "owner";
|
|
1198
1215
|
admin: "admin";
|
|
1199
1216
|
moderator: "moderator";
|
|
1200
1217
|
}>, z.ZodString]>>>;
|
|
1201
|
-
|
|
1218
|
+
publicKeys: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1219
|
+
names: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
1202
1220
|
rateLimit: z.ZodOptional<z.ZodNumber>;
|
|
1203
1221
|
rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
|
|
1204
1222
|
publicationType: z.ZodOptional<z.ZodObject<{
|
|
@@ -2,7 +2,7 @@ import type { Challenge, ChallengeResult, CommunityChallenge } from "../../../..
|
|
|
2
2
|
import type { DecryptedChallengeRequestMessageTypeWithCommunityAuthor } from "../../../../../pubsub-messages/types.js";
|
|
3
3
|
import { LocalCommunity } from "../../local-community.js";
|
|
4
4
|
import { PKC } from "../../../../../pkc/pkc.js";
|
|
5
|
-
declare const shouldExcludePublication: (communityChallenge: CommunityChallenge, request: DecryptedChallengeRequestMessageTypeWithCommunityAuthor, community: LocalCommunity) => boolean
|
|
5
|
+
declare const shouldExcludePublication: (communityChallenge: CommunityChallenge, request: DecryptedChallengeRequestMessageTypeWithCommunityAuthor, community: LocalCommunity) => Promise<boolean>;
|
|
6
6
|
declare const shouldExcludeChallengeSuccess: (communityChallenge: Pick<CommunityChallenge, "exclude">, communityChallengeIndex: number, challengeResults: (Challenge | ChallengeResult)[]) => boolean;
|
|
7
7
|
export declare const _getCommentPendingKeyCountForTesting: () => number;
|
|
8
8
|
declare const shouldExcludeChallengeCommentCids: (communityChallenge: CommunityChallenge, challengeRequestMessage: DecryptedChallengeRequestMessageTypeWithCommunityAuthor, pkc: PKC) => Promise<boolean>;
|
|
@@ -1,11 +1,22 @@
|
|
|
1
1
|
//@ts-expect-error
|
|
2
2
|
import TinyCache from "tinycache";
|
|
3
3
|
import QuickLRU from "quick-lru";
|
|
4
|
-
import { testScore, testFirstCommentTimestamp,
|
|
4
|
+
import { testScore, testFirstCommentTimestamp, testPublicationType } from "./utils.js";
|
|
5
5
|
import { testRateLimit } from "./rate-limiter.js";
|
|
6
6
|
import { derivePublicationFromChallengeRequest } from "../../../../../util.js";
|
|
7
|
+
import { createAuthorIdentityMatcher } from "../../local-community/author-identity.js";
|
|
7
8
|
import { getPKCAddressFromPublicKeySync } from "../../../../../signer/util.js";
|
|
8
|
-
|
|
9
|
+
// Does the author hold one of excludeRole in community.roles? Role keys may be key-derived addresses or domains;
|
|
10
|
+
// both are bound to the signer through the identity matcher rather than compared against author.address.
|
|
11
|
+
const testRole = async (excludeRole, getIdentityMatcher, communityRoles) => {
|
|
12
|
+
if (!communityRoles)
|
|
13
|
+
return false; // can't verify roles, so assume the author doesn't have the excluded role
|
|
14
|
+
const roleKeys = Object.keys(communityRoles).filter((roleKey) => excludeRole.includes(communityRoles[roleKey].role));
|
|
15
|
+
if (roleKeys.length === 0)
|
|
16
|
+
return false;
|
|
17
|
+
return getIdentityMatcher().matchesAnyIdentity(roleKeys);
|
|
18
|
+
};
|
|
19
|
+
const shouldExcludePublication = async (communityChallenge, request, community) => {
|
|
9
20
|
if (!communityChallenge) {
|
|
10
21
|
throw Error(`shouldExcludePublication invalid communityChallenge argument '${communityChallenge}'`);
|
|
11
22
|
}
|
|
@@ -22,6 +33,10 @@ const shouldExcludePublication = (communityChallenge, request, community) => {
|
|
|
22
33
|
}
|
|
23
34
|
// lazy-loaded author publication counts (only when postCount/replyCount exclude is set)
|
|
24
35
|
let authorPublicationCounts;
|
|
36
|
+
// Author identity is taken from the signature, never from the publisher-controlled author.address (issue #267).
|
|
37
|
+
// Built lazily: only excludes that name an author identity need it.
|
|
38
|
+
let identityMatcher;
|
|
39
|
+
const getIdentityMatcher = () => (identityMatcher ??= createAuthorIdentityMatcher({ community, publication }));
|
|
25
40
|
// if match any of the exclude array, should exclude
|
|
26
41
|
for (const exclude of communityChallenge.exclude) {
|
|
27
42
|
// if doesn't have any author excludes, shouldn't exclude
|
|
@@ -30,10 +45,11 @@ const shouldExcludePublication = (communityChallenge, request, community) => {
|
|
|
30
45
|
typeof exclude.postCount !== "number" &&
|
|
31
46
|
typeof exclude.replyCount !== "number" &&
|
|
32
47
|
typeof exclude.firstCommentTimestamp !== "number" &&
|
|
33
|
-
!exclude.
|
|
48
|
+
!exclude.publicKeys?.length &&
|
|
49
|
+
!exclude.names?.length &&
|
|
34
50
|
exclude.publicationType === undefined &&
|
|
35
51
|
exclude.rateLimit === undefined &&
|
|
36
|
-
!exclude.
|
|
52
|
+
!exclude.roles?.length) {
|
|
37
53
|
continue;
|
|
38
54
|
}
|
|
39
55
|
// if match all of the exclude item properties, should exclude
|
|
@@ -54,16 +70,18 @@ const shouldExcludePublication = (communityChallenge, request, community) => {
|
|
|
54
70
|
if (!testRateLimit(exclude, request)) {
|
|
55
71
|
shouldExclude = false;
|
|
56
72
|
}
|
|
57
|
-
if (exclude.
|
|
73
|
+
if (exclude.publicKeys && !exclude.publicKeys.includes(getIdentityMatcher().signerAddress)) {
|
|
74
|
+
shouldExclude = false;
|
|
75
|
+
}
|
|
76
|
+
if (exclude.names && !(await getIdentityMatcher().matchesAnyIdentity(exclude.names))) {
|
|
58
77
|
shouldExclude = false;
|
|
59
78
|
}
|
|
60
|
-
if (Array.isArray(exclude.
|
|
79
|
+
if (Array.isArray(exclude.roles) && !(await testRole(exclude.roles, getIdentityMatcher, community?.roles))) {
|
|
61
80
|
shouldExclude = false;
|
|
62
81
|
}
|
|
63
82
|
if (typeof exclude.postCount === "number" || typeof exclude.replyCount === "number") {
|
|
64
83
|
if (!authorPublicationCounts && community?._dbHandler) {
|
|
65
|
-
|
|
66
|
-
authorPublicationCounts = community._dbHandler.queryAuthorPublicationCounts(signerAddress);
|
|
84
|
+
authorPublicationCounts = community._dbHandler.queryAuthorPublicationCounts(getIdentityMatcher().signerAddress);
|
|
67
85
|
}
|
|
68
86
|
if (!testScore(exclude.postCount, authorPublicationCounts?.postCount)) {
|
|
69
87
|
shouldExclude = false;
|
|
@@ -152,13 +170,20 @@ const shouldExcludeChallengeCommentCids = async (communityChallenge, challengeRe
|
|
|
152
170
|
}
|
|
153
171
|
const publication = derivePublicationFromChallengeRequest(challengeRequestMessage);
|
|
154
172
|
const commentCids = challengeRequestMessage.challengeCommentCids;
|
|
155
|
-
const author = publication?.author;
|
|
156
173
|
if (commentCids && !Array.isArray(commentCids)) {
|
|
157
174
|
throw Error(`shouldExcludeChallengeCommentCids invalid commentCids argument '${commentCids}'`);
|
|
158
175
|
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
176
|
+
// The friendly community's comment must be signed by the same key as this publication; author.address is a
|
|
177
|
+
// publisher-controlled name and can't be used to link the two (issue #267). Derived lazily: only needed once
|
|
178
|
+
// an exclude.community rule is actually evaluated.
|
|
179
|
+
let signerAddress;
|
|
180
|
+
const getSignerAddress = () => {
|
|
181
|
+
if (signerAddress)
|
|
182
|
+
return signerAddress;
|
|
183
|
+
if (typeof publication?.signature?.publicKey !== "string")
|
|
184
|
+
throw Error(`shouldExcludeChallengeCommentCids invalid challengeRequestMessage.publication.signature.publicKey argument '${publication?.signature?.publicKey}'`);
|
|
185
|
+
return (signerAddress = getPKCAddressFromPublicKeySync(publication.signature.publicKey));
|
|
186
|
+
};
|
|
162
187
|
const _getComment = async (commentCid, addressesSet) => {
|
|
163
188
|
// comment is cached
|
|
164
189
|
let cachedComment = commentCache.get(commentCid);
|
|
@@ -167,16 +192,16 @@ const shouldExcludeChallengeCommentCids = async (communityChallenge, challengeRe
|
|
|
167
192
|
if (!cachedComment) {
|
|
168
193
|
comment = await pkc.getComment({ cid: commentCid });
|
|
169
194
|
// only cache useful values
|
|
170
|
-
cachedComment = { communityAddress: comment.communityAddress, author: {
|
|
195
|
+
cachedComment = { communityAddress: comment.communityAddress, author: { publicKey: comment.author.publicKey } };
|
|
171
196
|
commentCache.set(commentCid, cachedComment);
|
|
172
197
|
}
|
|
173
198
|
// community address doesn't match filter
|
|
174
199
|
if (!addressesSet.has(cachedComment.communityAddress)) {
|
|
175
200
|
throw Error(`comment doesn't have matching community address`);
|
|
176
201
|
}
|
|
177
|
-
//
|
|
178
|
-
if (cachedComment?.author?.
|
|
179
|
-
throw Error(`comment author
|
|
202
|
+
// the comment must be signed by this publication's signer
|
|
203
|
+
if (cachedComment?.author?.publicKey !== getSignerAddress()) {
|
|
204
|
+
throw Error(`comment author signer doesn't match publication signer`);
|
|
180
205
|
}
|
|
181
206
|
// comment hasn't been updated yet
|
|
182
207
|
let cachedCommentUpdate = commentUpdateCache.get(commentCid);
|