@pkcprotocol/pkc-js 0.0.84 → 0.0.85

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 (113) hide show
  1. package/dist/browser/clients/rpc-client/rpc-schema-util.d.ts +1 -0
  2. package/dist/browser/clients/rpc-client/schema.d.ts +1 -0
  3. package/dist/browser/community/schema.d.ts +106 -2
  4. package/dist/browser/community/schema.js +25 -6
  5. package/dist/browser/community/schema.js.map +1 -1
  6. package/dist/browser/errors.d.ts +6 -1
  7. package/dist/browser/errors.js +8 -0
  8. package/dist/browser/errors.js.map +1 -1
  9. package/dist/browser/generated-version.d.ts +1 -1
  10. package/dist/browser/generated-version.js +1 -1
  11. package/dist/browser/index-with-compile-cache.d.ts +88 -2
  12. package/dist/browser/index.d.ts +88 -2
  13. package/dist/browser/pkc-error.d.ts +1 -1
  14. package/dist/browser/publications/community-edit/schema.d.ts +4 -0
  15. package/dist/browser/pubsub-messages/schema.d.ts +2 -0
  16. package/dist/browser/rpc/src/index.js +4 -1
  17. package/dist/browser/rpc/src/index.js.map +1 -1
  18. package/dist/browser/rpc/src/lib/pkc-js/index.d.ts +44 -1
  19. package/dist/browser/rpc/src/schema.d.ts +265 -7
  20. package/dist/browser/rpc/src/schema.js +4 -2
  21. package/dist/browser/rpc/src/schema.js.map +1 -1
  22. package/dist/browser/runtime/node/community/challenges/exclude/exclude.d.ts +2 -2
  23. package/dist/browser/runtime/node/community/challenges/exclude/exclude.js +5 -1
  24. package/dist/browser/runtime/node/community/challenges/exclude/exclude.js.map +1 -1
  25. package/dist/browser/runtime/node/community/challenges/index.d.ts +7 -3
  26. package/dist/browser/runtime/node/community/challenges/index.js +29 -6
  27. package/dist/browser/runtime/node/community/challenges/index.js.map +1 -1
  28. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/address-list-validation.d.ts +4 -0
  29. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/address-list-validation.js +27 -0
  30. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/address-list-validation.js.map +1 -0
  31. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/blacklist.js +2 -1
  32. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/blacklist.js.map +1 -1
  33. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/publication-match.js +34 -1
  34. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/publication-match.js.map +1 -1
  35. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/question.js +8 -1
  36. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/question.js.map +1 -1
  37. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/whitelist.js +2 -1
  38. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/whitelist.js.map +1 -1
  39. package/dist/browser/runtime/node/community/challenges/validate-challenge-settings.d.ts +22 -0
  40. package/dist/browser/runtime/node/community/challenges/validate-challenge-settings.js +92 -0
  41. package/dist/browser/runtime/node/community/challenges/validate-challenge-settings.js.map +1 -0
  42. package/dist/browser/runtime/node/community/db-handler.d.ts +1 -0
  43. package/dist/browser/runtime/node/community/local-community/db-state.js +8 -0
  44. package/dist/browser/runtime/node/community/local-community/db-state.js.map +1 -1
  45. package/dist/browser/runtime/node/community/local-community/editing.js +8 -0
  46. package/dist/browser/runtime/node/community/local-community/editing.js.map +1 -1
  47. package/dist/browser/runtime/node/community/local-community/lifecycle.js +29 -0
  48. package/dist/browser/runtime/node/community/local-community/lifecycle.js.map +1 -1
  49. package/dist/browser/schema/schema-util.d.ts +9 -0
  50. package/dist/browser/schema.d.ts +352 -8
  51. package/dist/browser/test/test-util.d.ts +2 -0
  52. package/dist/bundled/bundle-manifest.json +33 -31
  53. package/dist/bundled/chunks/{helia-for-pkc-BlDudTLN.js → helia-for-pkc-C5Oe_ZSx.js} +33 -33
  54. package/dist/bundled/chunks/{local-community-5PMI-TDB.js → local-community-BqxmCg5p.js} +131 -26
  55. package/dist/bundled/chunks/{local-community-4wIeaqty.js → local-community-D4SjlAKS.js} +1 -1
  56. package/dist/bundled/chunks/{node-B7GkmuSc.js → node-C2DKW30L.js} +5 -5
  57. package/dist/bundled/chunks/{rpc-local-community-r51cTBYd.js → rpc-local-community-o0teUvw_.js} +76 -10
  58. package/dist/bundled/chunks/{schema-AXrL86Q4.js → schema-qhSDu1BU.js} +48 -5
  59. package/dist/bundled/chunks/{util-CwzCEPKs.js → util-BVGNNIgn.js} +1 -1
  60. package/dist/bundled/index.js +1 -1
  61. package/dist/bundled/rpc/src/index.js +5 -5
  62. package/dist/node/clients/rpc-client/rpc-schema-util.d.ts +1 -0
  63. package/dist/node/clients/rpc-client/schema.d.ts +1 -0
  64. package/dist/node/community/schema.d.ts +106 -2
  65. package/dist/node/community/schema.js +25 -6
  66. package/dist/node/community/schema.js.map +1 -1
  67. package/dist/node/errors.d.ts +6 -1
  68. package/dist/node/errors.js +8 -0
  69. package/dist/node/errors.js.map +1 -1
  70. package/dist/node/generated-version.d.ts +1 -1
  71. package/dist/node/generated-version.js +1 -1
  72. package/dist/node/index-with-compile-cache.d.ts +88 -2
  73. package/dist/node/index.d.ts +88 -2
  74. package/dist/node/pkc-error.d.ts +1 -1
  75. package/dist/node/publications/community-edit/schema.d.ts +4 -0
  76. package/dist/node/pubsub-messages/schema.d.ts +2 -0
  77. package/dist/node/rpc/src/index.js +4 -1
  78. package/dist/node/rpc/src/index.js.map +1 -1
  79. package/dist/node/rpc/src/lib/pkc-js/index.d.ts +44 -1
  80. package/dist/node/rpc/src/schema.d.ts +265 -7
  81. package/dist/node/rpc/src/schema.js +4 -2
  82. package/dist/node/rpc/src/schema.js.map +1 -1
  83. package/dist/node/runtime/node/community/challenges/exclude/exclude.d.ts +2 -2
  84. package/dist/node/runtime/node/community/challenges/exclude/exclude.js +5 -1
  85. package/dist/node/runtime/node/community/challenges/exclude/exclude.js.map +1 -1
  86. package/dist/node/runtime/node/community/challenges/index.d.ts +7 -3
  87. package/dist/node/runtime/node/community/challenges/index.js +29 -6
  88. package/dist/node/runtime/node/community/challenges/index.js.map +1 -1
  89. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/address-list-validation.d.ts +4 -0
  90. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/address-list-validation.js +27 -0
  91. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/address-list-validation.js.map +1 -0
  92. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/blacklist.js +2 -1
  93. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/blacklist.js.map +1 -1
  94. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/publication-match.js +34 -1
  95. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/publication-match.js.map +1 -1
  96. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/question.js +8 -1
  97. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/question.js.map +1 -1
  98. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/whitelist.js +2 -1
  99. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/whitelist.js.map +1 -1
  100. package/dist/node/runtime/node/community/challenges/validate-challenge-settings.d.ts +22 -0
  101. package/dist/node/runtime/node/community/challenges/validate-challenge-settings.js +92 -0
  102. package/dist/node/runtime/node/community/challenges/validate-challenge-settings.js.map +1 -0
  103. package/dist/node/runtime/node/community/db-handler.d.ts +1 -0
  104. package/dist/node/runtime/node/community/local-community/db-state.js +8 -0
  105. package/dist/node/runtime/node/community/local-community/db-state.js.map +1 -1
  106. package/dist/node/runtime/node/community/local-community/editing.js +8 -0
  107. package/dist/node/runtime/node/community/local-community/editing.js.map +1 -1
  108. package/dist/node/runtime/node/community/local-community/lifecycle.js +29 -0
  109. package/dist/node/runtime/node/community/local-community/lifecycle.js.map +1 -1
  110. package/dist/node/schema/schema-util.d.ts +9 -0
  111. package/dist/node/schema.d.ts +352 -8
  112. package/dist/node/test/test-util.d.ts +2 -0
  113. package/package.json +3 -3
@@ -25,6 +25,7 @@ export declare const CreatePKCWsServerOptionsSchema: z.ZodObject<{
25
25
  path: z.ZodOptional<z.ZodString>;
26
26
  name: z.ZodOptional<z.ZodString>;
27
27
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
28
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
28
29
  exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
29
30
  community: z.ZodOptional<z.ZodObject<{
30
31
  addresses: z.ZodArray<z.ZodString>;
@@ -77,6 +78,7 @@ export declare const CreatePKCWsServerOptionsSchema: z.ZodObject<{
77
78
  path: z.ZodOptional<z.ZodString>;
78
79
  name: z.ZodOptional<z.ZodString>;
79
80
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
81
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
80
82
  exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
81
83
  community: z.ZodOptional<z.ZodObject<{
82
84
  addresses: z.ZodArray<z.ZodString>;
@@ -136,7 +138,48 @@ export declare const CreatePKCWsServerOptionsSchema: z.ZodObject<{
136
138
  error: z.ZodString;
137
139
  reason: z.ZodOptional<z.ZodString>;
138
140
  }, z.core.$strip>]>]>>>;
139
- }, z.core.$strict>>> | undefined;
141
+ validateChallengeSettings: z.ZodOptional<z.ZodFunction<z.ZodTuple<readonly [z.ZodObject<{
142
+ challengeSettings: z.ZodObject<{
143
+ path: z.ZodOptional<z.ZodString>;
144
+ name: z.ZodOptional<z.ZodString>;
145
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
146
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
147
+ exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
148
+ community: z.ZodOptional<z.ZodObject<{
149
+ addresses: z.ZodArray<z.ZodString>;
150
+ maxCommentCids: z.ZodNumber;
151
+ postScore: z.ZodOptional<z.ZodNumber>;
152
+ replyScore: z.ZodOptional<z.ZodNumber>;
153
+ firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
154
+ }, z.core.$strict>>;
155
+ postScore: z.ZodOptional<z.ZodNumber>;
156
+ replyScore: z.ZodOptional<z.ZodNumber>;
157
+ postCount: z.ZodOptional<z.ZodNumber>;
158
+ replyCount: z.ZodOptional<z.ZodNumber>;
159
+ firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
160
+ challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
161
+ role: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
162
+ owner: "owner";
163
+ admin: "admin";
164
+ moderator: "moderator";
165
+ }>, z.ZodString]>>>;
166
+ address: z.ZodOptional<z.ZodArray<z.ZodString>>;
167
+ rateLimit: z.ZodOptional<z.ZodNumber>;
168
+ rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
169
+ publicationType: z.ZodOptional<z.ZodObject<{
170
+ post: z.ZodOptional<z.ZodBoolean>;
171
+ reply: z.ZodOptional<z.ZodBoolean>;
172
+ vote: z.ZodOptional<z.ZodBoolean>;
173
+ commentEdit: z.ZodOptional<z.ZodBoolean>;
174
+ commentModeration: z.ZodOptional<z.ZodBoolean>;
175
+ communityEdit: z.ZodOptional<z.ZodBoolean>;
176
+ }, z.core.$loose>>;
177
+ }, z.core.$loose>>>;
178
+ description: z.ZodOptional<z.ZodString>;
179
+ pendingApproval: z.ZodOptional<z.ZodBoolean>;
180
+ }, z.core.$strict>;
181
+ }, z.core.$strip>], null>, z.ZodVoid>>;
182
+ }, z.core.$loose>>> | undefined;
140
183
  ipfsGatewayUrls?: string[] | undefined;
141
184
  pubsubKuboRpcClientsOptions?: import("../../util.js").KuboRpcClientCreateOption[] | undefined;
142
185
  httpRoutersOptions?: string[] | undefined;
@@ -169,6 +212,7 @@ export declare const CreatePKCWsServerOptionsSchema: z.ZodObject<{
169
212
  path: z.ZodOptional<z.ZodString>;
170
213
  name: z.ZodOptional<z.ZodString>;
171
214
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
215
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
172
216
  exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
173
217
  community: z.ZodOptional<z.ZodObject<{
174
218
  addresses: z.ZodArray<z.ZodString>;
@@ -221,6 +265,7 @@ export declare const CreatePKCWsServerOptionsSchema: z.ZodObject<{
221
265
  path: z.ZodOptional<z.ZodString>;
222
266
  name: z.ZodOptional<z.ZodString>;
223
267
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
268
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
224
269
  exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
225
270
  community: z.ZodOptional<z.ZodObject<{
226
271
  addresses: z.ZodArray<z.ZodString>;
@@ -280,7 +325,48 @@ export declare const CreatePKCWsServerOptionsSchema: z.ZodObject<{
280
325
  error: z.ZodString;
281
326
  reason: z.ZodOptional<z.ZodString>;
282
327
  }, z.core.$strip>]>]>>>;
283
- }, z.core.$strict>>> | undefined;
328
+ validateChallengeSettings: z.ZodOptional<z.ZodFunction<z.ZodTuple<readonly [z.ZodObject<{
329
+ challengeSettings: z.ZodObject<{
330
+ path: z.ZodOptional<z.ZodString>;
331
+ name: z.ZodOptional<z.ZodString>;
332
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
333
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
334
+ exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
335
+ community: z.ZodOptional<z.ZodObject<{
336
+ addresses: z.ZodArray<z.ZodString>;
337
+ maxCommentCids: z.ZodNumber;
338
+ postScore: z.ZodOptional<z.ZodNumber>;
339
+ replyScore: z.ZodOptional<z.ZodNumber>;
340
+ firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
341
+ }, z.core.$strict>>;
342
+ postScore: z.ZodOptional<z.ZodNumber>;
343
+ replyScore: z.ZodOptional<z.ZodNumber>;
344
+ postCount: z.ZodOptional<z.ZodNumber>;
345
+ replyCount: z.ZodOptional<z.ZodNumber>;
346
+ firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
347
+ challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
348
+ role: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
349
+ owner: "owner";
350
+ admin: "admin";
351
+ moderator: "moderator";
352
+ }>, z.ZodString]>>>;
353
+ address: z.ZodOptional<z.ZodArray<z.ZodString>>;
354
+ rateLimit: z.ZodOptional<z.ZodNumber>;
355
+ rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
356
+ publicationType: z.ZodOptional<z.ZodObject<{
357
+ post: z.ZodOptional<z.ZodBoolean>;
358
+ reply: z.ZodOptional<z.ZodBoolean>;
359
+ vote: z.ZodOptional<z.ZodBoolean>;
360
+ commentEdit: z.ZodOptional<z.ZodBoolean>;
361
+ commentModeration: z.ZodOptional<z.ZodBoolean>;
362
+ communityEdit: z.ZodOptional<z.ZodBoolean>;
363
+ }, z.core.$loose>>;
364
+ }, z.core.$loose>>>;
365
+ description: z.ZodOptional<z.ZodString>;
366
+ pendingApproval: z.ZodOptional<z.ZodBoolean>;
367
+ }, z.core.$strict>;
368
+ }, z.core.$strip>], null>, z.ZodVoid>>;
369
+ }, z.core.$loose>>> | undefined;
284
370
  ipfsGatewayUrls?: string[] | undefined;
285
371
  pubsubKuboRpcClientsOptions?: import("../../util.js").KuboRpcClientCreateOption[] | undefined;
286
372
  httpRoutersOptions?: string[] | undefined;
@@ -335,6 +421,7 @@ export declare const SetNewSettingsPKCWsServerSchema: z.ZodObject<{
335
421
  path: z.ZodOptional<z.ZodString>;
336
422
  name: z.ZodOptional<z.ZodString>;
337
423
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
424
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
338
425
  exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
339
426
  community: z.ZodOptional<z.ZodObject<{
340
427
  addresses: z.ZodArray<z.ZodString>;
@@ -387,6 +474,7 @@ export declare const SetNewSettingsPKCWsServerSchema: z.ZodObject<{
387
474
  path: z.ZodOptional<z.ZodString>;
388
475
  name: z.ZodOptional<z.ZodString>;
389
476
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
477
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
390
478
  exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
391
479
  community: z.ZodOptional<z.ZodObject<{
392
480
  addresses: z.ZodArray<z.ZodString>;
@@ -446,11 +534,53 @@ export declare const SetNewSettingsPKCWsServerSchema: z.ZodObject<{
446
534
  error: z.ZodString;
447
535
  reason: z.ZodOptional<z.ZodString>;
448
536
  }, z.core.$strip>]>]>>>;
449
- }, z.core.$strict>>, z.core.$InferInnerFunctionType<z.ZodTuple<readonly [z.ZodObject<{
537
+ validateChallengeSettings: z.ZodOptional<z.ZodFunction<z.ZodTuple<readonly [z.ZodObject<{
538
+ challengeSettings: z.ZodObject<{
539
+ path: z.ZodOptional<z.ZodString>;
540
+ name: z.ZodOptional<z.ZodString>;
541
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
542
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
543
+ exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
544
+ community: z.ZodOptional<z.ZodObject<{
545
+ addresses: z.ZodArray<z.ZodString>;
546
+ maxCommentCids: z.ZodNumber;
547
+ postScore: z.ZodOptional<z.ZodNumber>;
548
+ replyScore: z.ZodOptional<z.ZodNumber>;
549
+ firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
550
+ }, z.core.$strict>>;
551
+ postScore: z.ZodOptional<z.ZodNumber>;
552
+ replyScore: z.ZodOptional<z.ZodNumber>;
553
+ postCount: z.ZodOptional<z.ZodNumber>;
554
+ replyCount: z.ZodOptional<z.ZodNumber>;
555
+ firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
556
+ challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
557
+ role: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
558
+ owner: "owner";
559
+ admin: "admin";
560
+ moderator: "moderator";
561
+ }>, z.ZodString]>>>;
562
+ address: z.ZodOptional<z.ZodArray<z.ZodString>>;
563
+ rateLimit: z.ZodOptional<z.ZodNumber>;
564
+ rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
565
+ publicationType: z.ZodOptional<z.ZodObject<{
566
+ post: z.ZodOptional<z.ZodBoolean>;
567
+ reply: z.ZodOptional<z.ZodBoolean>;
568
+ vote: z.ZodOptional<z.ZodBoolean>;
569
+ commentEdit: z.ZodOptional<z.ZodBoolean>;
570
+ commentModeration: z.ZodOptional<z.ZodBoolean>;
571
+ communityEdit: z.ZodOptional<z.ZodBoolean>;
572
+ }, z.core.$loose>>;
573
+ }, z.core.$loose>>>;
574
+ description: z.ZodOptional<z.ZodString>;
575
+ pendingApproval: z.ZodOptional<z.ZodBoolean>;
576
+ }, z.core.$strict>;
577
+ }, z.core.$strip>], null>, z.ZodVoid>>;
578
+ }, z.core.$loose>>, z.core.$InferInnerFunctionType<z.ZodTuple<readonly [z.ZodObject<{
450
579
  challengeSettings: z.ZodObject<{
451
580
  path: z.ZodOptional<z.ZodString>;
452
581
  name: z.ZodOptional<z.ZodString>;
453
582
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
583
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
454
584
  exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
455
585
  community: z.ZodOptional<z.ZodObject<{
456
586
  addresses: z.ZodArray<z.ZodString>;
@@ -503,6 +633,7 @@ export declare const SetNewSettingsPKCWsServerSchema: z.ZodObject<{
503
633
  path: z.ZodOptional<z.ZodString>;
504
634
  name: z.ZodOptional<z.ZodString>;
505
635
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
636
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
506
637
  exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
507
638
  community: z.ZodOptional<z.ZodObject<{
508
639
  addresses: z.ZodArray<z.ZodString>;
@@ -562,7 +693,48 @@ export declare const SetNewSettingsPKCWsServerSchema: z.ZodObject<{
562
693
  error: z.ZodString;
563
694
  reason: z.ZodOptional<z.ZodString>;
564
695
  }, z.core.$strip>]>]>>>;
565
- }, z.core.$strict>>>>>;
696
+ validateChallengeSettings: z.ZodOptional<z.ZodFunction<z.ZodTuple<readonly [z.ZodObject<{
697
+ challengeSettings: z.ZodObject<{
698
+ path: z.ZodOptional<z.ZodString>;
699
+ name: z.ZodOptional<z.ZodString>;
700
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
701
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
702
+ exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
703
+ community: z.ZodOptional<z.ZodObject<{
704
+ addresses: z.ZodArray<z.ZodString>;
705
+ maxCommentCids: z.ZodNumber;
706
+ postScore: z.ZodOptional<z.ZodNumber>;
707
+ replyScore: z.ZodOptional<z.ZodNumber>;
708
+ firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
709
+ }, z.core.$strict>>;
710
+ postScore: z.ZodOptional<z.ZodNumber>;
711
+ replyScore: z.ZodOptional<z.ZodNumber>;
712
+ postCount: z.ZodOptional<z.ZodNumber>;
713
+ replyCount: z.ZodOptional<z.ZodNumber>;
714
+ firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
715
+ challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
716
+ role: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
717
+ owner: "owner";
718
+ admin: "admin";
719
+ moderator: "moderator";
720
+ }>, z.ZodString]>>>;
721
+ address: z.ZodOptional<z.ZodArray<z.ZodString>>;
722
+ rateLimit: z.ZodOptional<z.ZodNumber>;
723
+ rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
724
+ publicationType: z.ZodOptional<z.ZodObject<{
725
+ post: z.ZodOptional<z.ZodBoolean>;
726
+ reply: z.ZodOptional<z.ZodBoolean>;
727
+ vote: z.ZodOptional<z.ZodBoolean>;
728
+ commentEdit: z.ZodOptional<z.ZodBoolean>;
729
+ commentModeration: z.ZodOptional<z.ZodBoolean>;
730
+ communityEdit: z.ZodOptional<z.ZodBoolean>;
731
+ }, z.core.$loose>>;
732
+ }, z.core.$loose>>>;
733
+ description: z.ZodOptional<z.ZodString>;
734
+ pendingApproval: z.ZodOptional<z.ZodBoolean>;
735
+ }, z.core.$strict>;
736
+ }, z.core.$strip>], null>, z.ZodVoid>>;
737
+ }, z.core.$loose>>>>>;
566
738
  nameResolvers: z.ZodOptional<z.ZodArray<z.ZodObject<{
567
739
  key: z.ZodString;
568
740
  provider: z.ZodString;
@@ -603,6 +775,7 @@ export declare const PKCWsServerSettingsSerializedSchema: z.ZodObject<{
603
775
  path: z.ZodOptional<z.ZodString>;
604
776
  name: z.ZodOptional<z.ZodString>;
605
777
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
778
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
606
779
  exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
607
780
  community: z.ZodOptional<z.ZodObject<{
608
781
  addresses: z.ZodArray<z.ZodString>;
@@ -655,6 +828,7 @@ export declare const PKCWsServerSettingsSerializedSchema: z.ZodObject<{
655
828
  path: z.ZodOptional<z.ZodString>;
656
829
  name: z.ZodOptional<z.ZodString>;
657
830
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
831
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
658
832
  exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
659
833
  community: z.ZodOptional<z.ZodObject<{
660
834
  addresses: z.ZodArray<z.ZodString>;
@@ -714,11 +888,53 @@ export declare const PKCWsServerSettingsSerializedSchema: z.ZodObject<{
714
888
  error: z.ZodString;
715
889
  reason: z.ZodOptional<z.ZodString>;
716
890
  }, z.core.$strip>]>]>>>;
717
- }, z.core.$strict>>, z.core.$InferInnerFunctionType<z.ZodTuple<readonly [z.ZodObject<{
891
+ validateChallengeSettings: z.ZodOptional<z.ZodFunction<z.ZodTuple<readonly [z.ZodObject<{
892
+ challengeSettings: z.ZodObject<{
893
+ path: z.ZodOptional<z.ZodString>;
894
+ name: z.ZodOptional<z.ZodString>;
895
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
896
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
897
+ exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
898
+ community: z.ZodOptional<z.ZodObject<{
899
+ addresses: z.ZodArray<z.ZodString>;
900
+ maxCommentCids: z.ZodNumber;
901
+ postScore: z.ZodOptional<z.ZodNumber>;
902
+ replyScore: z.ZodOptional<z.ZodNumber>;
903
+ firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
904
+ }, z.core.$strict>>;
905
+ postScore: z.ZodOptional<z.ZodNumber>;
906
+ replyScore: z.ZodOptional<z.ZodNumber>;
907
+ postCount: z.ZodOptional<z.ZodNumber>;
908
+ replyCount: z.ZodOptional<z.ZodNumber>;
909
+ firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
910
+ challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
911
+ role: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
912
+ owner: "owner";
913
+ admin: "admin";
914
+ moderator: "moderator";
915
+ }>, z.ZodString]>>>;
916
+ address: z.ZodOptional<z.ZodArray<z.ZodString>>;
917
+ rateLimit: z.ZodOptional<z.ZodNumber>;
918
+ rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
919
+ publicationType: z.ZodOptional<z.ZodObject<{
920
+ post: z.ZodOptional<z.ZodBoolean>;
921
+ reply: z.ZodOptional<z.ZodBoolean>;
922
+ vote: z.ZodOptional<z.ZodBoolean>;
923
+ commentEdit: z.ZodOptional<z.ZodBoolean>;
924
+ commentModeration: z.ZodOptional<z.ZodBoolean>;
925
+ communityEdit: z.ZodOptional<z.ZodBoolean>;
926
+ }, z.core.$loose>>;
927
+ }, z.core.$loose>>>;
928
+ description: z.ZodOptional<z.ZodString>;
929
+ pendingApproval: z.ZodOptional<z.ZodBoolean>;
930
+ }, z.core.$strict>;
931
+ }, z.core.$strip>], null>, z.ZodVoid>>;
932
+ }, z.core.$loose>>, z.core.$InferInnerFunctionType<z.ZodTuple<readonly [z.ZodObject<{
718
933
  challengeSettings: z.ZodObject<{
719
934
  path: z.ZodOptional<z.ZodString>;
720
935
  name: z.ZodOptional<z.ZodString>;
721
936
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
937
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
722
938
  exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
723
939
  community: z.ZodOptional<z.ZodObject<{
724
940
  addresses: z.ZodArray<z.ZodString>;
@@ -771,6 +987,7 @@ export declare const PKCWsServerSettingsSerializedSchema: z.ZodObject<{
771
987
  path: z.ZodOptional<z.ZodString>;
772
988
  name: z.ZodOptional<z.ZodString>;
773
989
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
990
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
774
991
  exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
775
992
  community: z.ZodOptional<z.ZodObject<{
776
993
  addresses: z.ZodArray<z.ZodString>;
@@ -830,7 +1047,48 @@ export declare const PKCWsServerSettingsSerializedSchema: z.ZodObject<{
830
1047
  error: z.ZodString;
831
1048
  reason: z.ZodOptional<z.ZodString>;
832
1049
  }, z.core.$strip>]>]>>>;
833
- }, z.core.$strict>>>>>;
1050
+ validateChallengeSettings: z.ZodOptional<z.ZodFunction<z.ZodTuple<readonly [z.ZodObject<{
1051
+ challengeSettings: z.ZodObject<{
1052
+ path: z.ZodOptional<z.ZodString>;
1053
+ name: z.ZodOptional<z.ZodString>;
1054
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1055
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
1056
+ exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
1057
+ community: z.ZodOptional<z.ZodObject<{
1058
+ addresses: z.ZodArray<z.ZodString>;
1059
+ maxCommentCids: z.ZodNumber;
1060
+ postScore: z.ZodOptional<z.ZodNumber>;
1061
+ replyScore: z.ZodOptional<z.ZodNumber>;
1062
+ firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
1063
+ }, z.core.$strict>>;
1064
+ postScore: z.ZodOptional<z.ZodNumber>;
1065
+ replyScore: z.ZodOptional<z.ZodNumber>;
1066
+ postCount: z.ZodOptional<z.ZodNumber>;
1067
+ replyCount: z.ZodOptional<z.ZodNumber>;
1068
+ firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
1069
+ challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1070
+ role: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
1071
+ owner: "owner";
1072
+ admin: "admin";
1073
+ moderator: "moderator";
1074
+ }>, z.ZodString]>>>;
1075
+ address: z.ZodOptional<z.ZodArray<z.ZodString>>;
1076
+ rateLimit: z.ZodOptional<z.ZodNumber>;
1077
+ rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
1078
+ publicationType: z.ZodOptional<z.ZodObject<{
1079
+ post: z.ZodOptional<z.ZodBoolean>;
1080
+ reply: z.ZodOptional<z.ZodBoolean>;
1081
+ vote: z.ZodOptional<z.ZodBoolean>;
1082
+ commentEdit: z.ZodOptional<z.ZodBoolean>;
1083
+ commentModeration: z.ZodOptional<z.ZodBoolean>;
1084
+ communityEdit: z.ZodOptional<z.ZodBoolean>;
1085
+ }, z.core.$loose>>;
1086
+ }, z.core.$loose>>>;
1087
+ description: z.ZodOptional<z.ZodString>;
1088
+ pendingApproval: z.ZodOptional<z.ZodBoolean>;
1089
+ }, z.core.$strict>;
1090
+ }, z.core.$strip>], null>, z.ZodVoid>>;
1091
+ }, z.core.$loose>>>>>;
834
1092
  kuboRpcClientsOptions: z.ZodOptional<z.ZodCustom<import("kubo-rpc-client").Options[], import("kubo-rpc-client").Options[]>>;
835
1093
  pubsubKuboRpcClientsOptions: z.ZodOptional<z.ZodCustom<import("kubo-rpc-client").Options[], import("kubo-rpc-client").Options[]>>;
836
1094
  nameResolvers: z.ZodOptional<z.ZodArray<z.ZodCustom<import("../../schema.js").NameResolverInterface, import("../../schema.js").NameResolverInterface>>>;
@@ -848,5 +1106,5 @@ export declare const PKCWsServerSettingsSerializedSchema: z.ZodObject<{
848
1106
  }, z.core.$loose>>>;
849
1107
  challenge: z.ZodOptional<z.ZodString>;
850
1108
  caseInsensitive: z.ZodOptional<z.ZodBoolean>;
851
- }, z.core.$strict>>;
1109
+ }, z.core.$loose>>;
852
1110
  }, z.core.$strip>;
@@ -34,7 +34,9 @@ export const SetNewSettingsPKCWsServerSchema = z.object({
34
34
  });
35
35
  export const PKCWsServerSettingsSerializedSchema = z.object({
36
36
  pkcOptions: PKCParsedOptionsSchema.loose(),
37
- challenges: z.record(z.string(), ChallengeFileSchema.omit({ getChallenge: true }) // to avoid throwing because of recursive dependency
38
- )
37
+ challenges: z.record(z.string(),
38
+ // getChallenge is omitted to avoid throwing because of a recursive dependency; validateChallengeSettings
39
+ // is omitted because it is a function that cannot cross the wire and only ever runs community-side.
40
+ ChallengeFileSchema.omit({ getChallenge: true, validateChallengeSettings: true }))
39
41
  });
40
42
  //# sourceMappingURL=schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/rpc/src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAGhH,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhE,gBAAgB;AAEhB,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC5C,MAAM,EAAE,CAAC,CAAC,MAAM,EAA4B,CAAC,QAAQ,EAAE;CAC1D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC;KAC1C,MAAM,CAAC;IACJ,UAAU,EAAE,CAAC,CAAC,MAAM,EAAmB,CAAC,QAAQ,EAAE,EAAE,+DAA+D;IACnH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,gCAAgC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACxD,sEAAsE;IACtE,6DAA6D;IAC7D,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IAC/D,uFAAuF;IACvF,6FAA6F;IAC7F,qBAAqB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC7C,6FAA6F;IAC7F,uFAAuF;IACvF,+EAA+E;IAC/E,4FAA4F;IAC5F,2BAA2B;IAC3B,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;CAChE,CAAC;KACD,KAAK,CAAC,oBAAoB,CAAC;KAC3B,KAAK,EAAE,CAAC;AAEb,SAAS;AAET,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,UAAU,EAAE,uBAAuB,CAAC,MAAM,CAAC;QACvC,aAAa,EAAE,4BAA4B,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;KACjE,CAAC,CAAC,KAAK,EAAE;CACb,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC,MAAM,CAAC;IACxD,UAAU,EAAE,sBAAsB,CAAC,KAAK,EAAE;IAC1C,UAAU,EAAE,CAAC,CAAC,MAAM,CAChB,CAAC,CAAC,MAAM,EAAE,EACV,mBAAmB,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,oDAAoD;KACxG;CACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../src/rpc/src/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,4BAA4B,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAGhH,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGhE,gBAAgB;AAEhB,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC5C,MAAM,EAAE,CAAC,CAAC,MAAM,EAA4B,CAAC,QAAQ,EAAE;CAC1D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC;KAC1C,MAAM,CAAC;IACJ,UAAU,EAAE,CAAC,CAAC,MAAM,EAAmB,CAAC,QAAQ,EAAE,EAAE,+DAA+D;IACnH,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,gCAAgC,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACxD,sEAAsE;IACtE,6DAA6D;IAC7D,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IAC/D,uFAAuF;IACvF,6FAA6F;IAC7F,qBAAqB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC7C,6FAA6F;IAC7F,uFAAuF;IACvF,+EAA+E;IAC/E,4FAA4F;IAC5F,2BAA2B;IAC3B,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;CAChE,CAAC;KACD,KAAK,CAAC,oBAAoB,CAAC;KAC3B,KAAK,EAAE,CAAC;AAEb,SAAS;AAET,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACpD,UAAU,EAAE,uBAAuB,CAAC,MAAM,CAAC;QACvC,aAAa,EAAE,4BAA4B,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;KACjE,CAAC,CAAC,KAAK,EAAE;CACb,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC,MAAM,CAAC;IACxD,UAAU,EAAE,sBAAsB,CAAC,KAAK,EAAE;IAC1C,UAAU,EAAE,CAAC,CAAC,MAAM,CAChB,CAAC,CAAC,MAAM,EAAE;IACV,yGAAyG;IACzG,oGAAoG;IACpG,mBAAmB,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,CAAC,CACpF;CACJ,CAAC,CAAC"}
@@ -1,9 +1,9 @@
1
- import type { Challenge, ChallengeResult, CommunityChallenge, CommunitySettings } from "../../../../../community/types.js";
1
+ import type { Challenge, ChallengeResult, CommunityChallenge } from "../../../../../community/types.js";
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
5
  declare const shouldExcludePublication: (communityChallenge: CommunityChallenge, request: DecryptedChallengeRequestMessageTypeWithCommunityAuthor, community: LocalCommunity) => boolean;
6
- declare const shouldExcludeChallengeSuccess: (communityChallenge: NonNullable<CommunitySettings["challenges"]>[0], communityChallengeIndex: number, challengeResults: (Challenge | ChallengeResult)[]) => boolean;
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>;
9
9
  export { shouldExcludeChallengeCommentCids, shouldExcludePublication, shouldExcludeChallengeSuccess };
@@ -79,7 +79,11 @@ const shouldExcludePublication = (communityChallenge, request, community) => {
79
79
  }
80
80
  return false;
81
81
  };
82
- const shouldExcludeChallengeSuccess = (communityChallenge, communityChallengeIndex, challengeResults) => {
82
+ const shouldExcludeChallengeSuccess = (
83
+ // Only `exclude` is read here, and every caller passes the public CommunityChallenge, not the private
84
+ // setting. Typing it as the setting only ever worked because both are loose objects with compatible
85
+ // shapes; publicOptions (a string[] on the setting, a Record on the public challenge) breaks that.
86
+ communityChallenge, communityChallengeIndex, challengeResults) => {
83
87
  if (!communityChallenge) {
84
88
  throw Error(`shouldExcludeChallengeSuccess invalid communityChallenge argument '${communityChallenge}'`);
85
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"exclude.js","sourceRoot":"","sources":["../../../../../../../src/runtime/node/community/challenges/exclude/exclude.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exclude.js","sourceRoot":"","sources":["../../../../../../../src/runtime/node/community/challenges/exclude/exclude.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { ChallengeVerificationMessageType, DecryptedChallengeAnswer, DecryptedChallengeRequestMessageTypeWithCommunityAuthor } from "../../../../pubsub-messages/types.js";
2
- import type { Challenge, ChallengeFileFactoryInput, ChallengeResult, CommunityChallenge, CommunityChallengeSetting } from "../../../../community/types.js";
2
+ import type { Challenge, ChallengeFile, ChallengeFileFactoryInput, ChallengeResult, CommunityChallenge, CommunityChallengeSetting } from "../../../../community/types.js";
3
3
  import { LocalCommunity } from "../local-community.js";
4
4
  type PendingChallenge = Challenge & {
5
5
  index: number;
@@ -29,7 +29,7 @@ type ChallengeVerificationFailure = {
29
29
  challengeSuccess: false;
30
30
  challengeErrors: NonNullable<ChallengeVerificationMessageType["challengeErrors"]>;
31
31
  } & Pick<ChallengeResultAggregate, "aggregatedReason">;
32
- type PKCWithSettingsChallenges = {
32
+ export type PKCWithSettingsChallenges = {
33
33
  settings?: {
34
34
  challenges?: Record<string, ChallengeFileFactoryInput>;
35
35
  };
@@ -56,10 +56,14 @@ declare const getChallengeVerification: ({ challengeRequestMessage, community, g
56
56
  community: LocalCommunity;
57
57
  getChallengeAnswers: GetChallengeAnswers;
58
58
  }) => Promise<GetChallengeVerificationResult>;
59
+ declare const loadChallengeFileFromCommunityChallengeSettings: ({ communityChallengeSettings, pkc }: {
60
+ communityChallengeSettings: CommunityChallengeSetting;
61
+ pkc?: PKCWithSettingsChallenges;
62
+ }) => Promise<ChallengeFile>;
59
63
  declare const getCommunityChallengeFromCommunityChallengeSettings: ({ communityChallengeSettings, pkc }: {
60
64
  communityChallengeSettings: CommunityChallengeSetting;
61
65
  pkc?: PKCWithSettingsChallenges;
62
66
  }) => Promise<{
63
67
  communityChallenge: CommunityChallenge;
64
68
  }>;
65
- export { pkcJsChallenges, getPendingChallengesOrChallengeVerification, getChallengeVerificationFromChallengeAnswers, getChallengeVerification, getCommunityChallengeFromCommunityChallengeSettings };
69
+ export { pkcJsChallenges, getPendingChallengesOrChallengeVerification, getChallengeVerificationFromChallengeAnswers, getChallengeVerification, getCommunityChallengeFromCommunityChallengeSettings, loadChallengeFileFromCommunityChallengeSettings };
@@ -6,7 +6,7 @@ import blacklist from "./pkc-js-challenges/blacklist.js";
6
6
  import whitelist from "./pkc-js-challenges/whitelist.js";
7
7
  import question from "./pkc-js-challenges/question.js";
8
8
  import publicationMatch from "./pkc-js-challenges/publication-match.js";
9
- import { omit } from "remeda";
9
+ import { isEmpty, omit } from "remeda";
10
10
  import { ChallengeFileFactorySchema, ChallengeFileSchema, CommunityChallengeSettingSchema } from "../../../../community/schema.js";
11
11
  import { PKCError } from "../../../../pkc-error.js";
12
12
  import { pathToFileURL } from "node:url";
@@ -610,9 +610,25 @@ const getChallengeVerification = async ({ challengeRequestMessage, community, ge
610
610
  }
611
611
  return challengeVerification;
612
612
  };
613
- // get the data to be published publicly to community.challenges
614
- const getCommunityChallengeFromCommunityChallengeSettings = async ({ communityChallengeSettings, pkc }) => {
615
- communityChallengeSettings = CommunityChallengeSettingSchema.parse(communityChallengeSettings);
613
+ // Options are private by default. The owner opts an option into the published community record by naming
614
+ // it in settings.challenges[i].publicOptions. Only options the owner actually set are emitted, and the
615
+ // field is omitted entirely when nothing is published, so a record from an owner who opted into nothing is
616
+ // byte-identical to one produced before publicOptions existed. See docs/protocol/challenge-settings.md.
617
+ const derivePublicOptions = (communityChallengeSettings) => {
618
+ const { publicOptions, options } = communityChallengeSettings;
619
+ if (!publicOptions?.length || !options)
620
+ return undefined;
621
+ const published = {};
622
+ for (const optionName of publicOptions)
623
+ if (typeof options[optionName] === "string")
624
+ published[optionName] = options[optionName];
625
+ return isEmpty(published) ? undefined : published;
626
+ };
627
+ // Load the ChallengeFile a settings entry points at, by path or by registered name. The factory is
628
+ // expected to stay cheap and non-throwing: it runs on every community start and DB migration, not only on
629
+ // edit, so a factory that threw on bad options would take startup down rather than fail the offending
630
+ // edit. Rejecting bad options is validateChallengeSettings' job. See docs/protocol/challenge-authoring.md.
631
+ const loadChallengeFileFromCommunityChallengeSettings = async ({ communityChallengeSettings, pkc }) => {
616
632
  // if the challenge is an external file, fetch it and override the communityChallengeSettings values
617
633
  let challengeFile = undefined;
618
634
  if (communityChallengeSettings.path) {
@@ -639,6 +655,12 @@ const getCommunityChallengeFromCommunityChallengeSettings = async ({ communityCh
639
655
  }
640
656
  if (!challengeFile)
641
657
  throw Error("Failed to load challenge file");
658
+ return challengeFile;
659
+ };
660
+ // get the data to be published publicly to community.challenges
661
+ const getCommunityChallengeFromCommunityChallengeSettings = async ({ communityChallengeSettings, pkc }) => {
662
+ communityChallengeSettings = CommunityChallengeSettingSchema.parse(communityChallengeSettings);
663
+ const challengeFile = await loadChallengeFileFromCommunityChallengeSettings({ communityChallengeSettings, pkc });
642
664
  const { challenge, type } = challengeFile;
643
665
  return {
644
666
  communityChallenge: {
@@ -647,9 +669,10 @@ const getCommunityChallengeFromCommunityChallengeSettings = async ({ communityCh
647
669
  challenge,
648
670
  type,
649
671
  caseInsensitive: challengeFile.caseInsensitive,
650
- pendingApproval: communityChallengeSettings.pendingApproval
672
+ pendingApproval: communityChallengeSettings.pendingApproval,
673
+ publicOptions: derivePublicOptions(communityChallengeSettings)
651
674
  }
652
675
  };
653
676
  };
654
- export { pkcJsChallenges, getPendingChallengesOrChallengeVerification, getChallengeVerificationFromChallengeAnswers, getChallengeVerification, getCommunityChallengeFromCommunityChallengeSettings };
677
+ export { pkcJsChallenges, getPendingChallengesOrChallengeVerification, getChallengeVerificationFromChallengeAnswers, getChallengeVerification, getCommunityChallengeFromCommunityChallengeSettings, loadChallengeFileFromCommunityChallengeSettings };
655
678
  //# sourceMappingURL=index.js.map