@pkcprotocol/pkc-js 0.0.84 → 0.0.86

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 (119) 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/remote-community.d.ts +5 -0
  4. package/dist/browser/community/remote-community.js +98 -16
  5. package/dist/browser/community/remote-community.js.map +1 -1
  6. package/dist/browser/community/schema.d.ts +106 -2
  7. package/dist/browser/community/schema.js +30 -7
  8. package/dist/browser/community/schema.js.map +1 -1
  9. package/dist/browser/errors.d.ts +6 -1
  10. package/dist/browser/errors.js +8 -0
  11. package/dist/browser/errors.js.map +1 -1
  12. package/dist/browser/generated-version.d.ts +1 -1
  13. package/dist/browser/generated-version.js +1 -1
  14. package/dist/browser/index-with-compile-cache.d.ts +88 -2
  15. package/dist/browser/index.d.ts +88 -2
  16. package/dist/browser/pkc-error.d.ts +1 -1
  17. package/dist/browser/publications/community-edit/schema.d.ts +4 -0
  18. package/dist/browser/pubsub-messages/schema.d.ts +2 -0
  19. package/dist/browser/rpc/src/index.js +4 -1
  20. package/dist/browser/rpc/src/index.js.map +1 -1
  21. package/dist/browser/rpc/src/lib/pkc-js/index.d.ts +44 -1
  22. package/dist/browser/rpc/src/schema.d.ts +265 -7
  23. package/dist/browser/rpc/src/schema.js +4 -2
  24. package/dist/browser/rpc/src/schema.js.map +1 -1
  25. package/dist/browser/runtime/node/community/challenges/exclude/exclude.d.ts +2 -2
  26. package/dist/browser/runtime/node/community/challenges/exclude/exclude.js +5 -1
  27. package/dist/browser/runtime/node/community/challenges/exclude/exclude.js.map +1 -1
  28. package/dist/browser/runtime/node/community/challenges/index.d.ts +7 -3
  29. package/dist/browser/runtime/node/community/challenges/index.js +29 -6
  30. package/dist/browser/runtime/node/community/challenges/index.js.map +1 -1
  31. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/address-list-validation.d.ts +4 -0
  32. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/address-list-validation.js +27 -0
  33. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/address-list-validation.js.map +1 -0
  34. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/blacklist.js +2 -1
  35. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/blacklist.js.map +1 -1
  36. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/publication-match.js +34 -1
  37. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/publication-match.js.map +1 -1
  38. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/question.js +8 -1
  39. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/question.js.map +1 -1
  40. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/whitelist.js +2 -1
  41. package/dist/browser/runtime/node/community/challenges/pkc-js-challenges/whitelist.js.map +1 -1
  42. package/dist/browser/runtime/node/community/challenges/validate-challenge-settings.d.ts +22 -0
  43. package/dist/browser/runtime/node/community/challenges/validate-challenge-settings.js +92 -0
  44. package/dist/browser/runtime/node/community/challenges/validate-challenge-settings.js.map +1 -0
  45. package/dist/browser/runtime/node/community/db-handler.d.ts +1 -0
  46. package/dist/browser/runtime/node/community/local-community/db-state.js +8 -0
  47. package/dist/browser/runtime/node/community/local-community/db-state.js.map +1 -1
  48. package/dist/browser/runtime/node/community/local-community/editing.js +8 -0
  49. package/dist/browser/runtime/node/community/local-community/editing.js.map +1 -1
  50. package/dist/browser/runtime/node/community/local-community/lifecycle.js +29 -0
  51. package/dist/browser/runtime/node/community/local-community/lifecycle.js.map +1 -1
  52. package/dist/browser/schema/schema-util.d.ts +9 -0
  53. package/dist/browser/schema.d.ts +352 -8
  54. package/dist/browser/test/test-util.d.ts +2 -0
  55. package/dist/bundled/bundle-manifest.json +27 -25
  56. package/dist/bundled/chunks/{helia-for-pkc-BlDudTLN.js → helia-for-pkc-yqf2rWMx.js} +2 -2
  57. package/dist/bundled/chunks/{local-community-4wIeaqty.js → local-community-BURzF_1m.js} +1 -1
  58. package/dist/bundled/chunks/{local-community-5PMI-TDB.js → local-community-NUwjwbZz.js} +107 -2
  59. package/dist/bundled/chunks/{node-B7GkmuSc.js → node-BbvETZ1u.js} +5 -5
  60. package/dist/bundled/chunks/{rpc-local-community-r51cTBYd.js → rpc-local-community-Cpw9_Nuo.js} +119 -30
  61. package/dist/bundled/chunks/{schema-AXrL86Q4.js → schema-BT0023M6.js} +50 -6
  62. package/dist/bundled/chunks/{util-CwzCEPKs.js → util-BmT_84kq.js} +1 -1
  63. package/dist/bundled/index.js +1 -1
  64. package/dist/bundled/rpc/src/index.js +5 -5
  65. package/dist/node/clients/rpc-client/rpc-schema-util.d.ts +1 -0
  66. package/dist/node/clients/rpc-client/schema.d.ts +1 -0
  67. package/dist/node/community/remote-community.d.ts +5 -0
  68. package/dist/node/community/remote-community.js +98 -16
  69. package/dist/node/community/remote-community.js.map +1 -1
  70. package/dist/node/community/schema.d.ts +106 -2
  71. package/dist/node/community/schema.js +30 -7
  72. package/dist/node/community/schema.js.map +1 -1
  73. package/dist/node/errors.d.ts +6 -1
  74. package/dist/node/errors.js +8 -0
  75. package/dist/node/errors.js.map +1 -1
  76. package/dist/node/generated-version.d.ts +1 -1
  77. package/dist/node/generated-version.js +1 -1
  78. package/dist/node/index-with-compile-cache.d.ts +88 -2
  79. package/dist/node/index.d.ts +88 -2
  80. package/dist/node/pkc-error.d.ts +1 -1
  81. package/dist/node/publications/community-edit/schema.d.ts +4 -0
  82. package/dist/node/pubsub-messages/schema.d.ts +2 -0
  83. package/dist/node/rpc/src/index.js +4 -1
  84. package/dist/node/rpc/src/index.js.map +1 -1
  85. package/dist/node/rpc/src/lib/pkc-js/index.d.ts +44 -1
  86. package/dist/node/rpc/src/schema.d.ts +265 -7
  87. package/dist/node/rpc/src/schema.js +4 -2
  88. package/dist/node/rpc/src/schema.js.map +1 -1
  89. package/dist/node/runtime/node/community/challenges/exclude/exclude.d.ts +2 -2
  90. package/dist/node/runtime/node/community/challenges/exclude/exclude.js +5 -1
  91. package/dist/node/runtime/node/community/challenges/exclude/exclude.js.map +1 -1
  92. package/dist/node/runtime/node/community/challenges/index.d.ts +7 -3
  93. package/dist/node/runtime/node/community/challenges/index.js +29 -6
  94. package/dist/node/runtime/node/community/challenges/index.js.map +1 -1
  95. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/address-list-validation.d.ts +4 -0
  96. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/address-list-validation.js +27 -0
  97. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/address-list-validation.js.map +1 -0
  98. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/blacklist.js +2 -1
  99. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/blacklist.js.map +1 -1
  100. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/publication-match.js +34 -1
  101. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/publication-match.js.map +1 -1
  102. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/question.js +8 -1
  103. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/question.js.map +1 -1
  104. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/whitelist.js +2 -1
  105. package/dist/node/runtime/node/community/challenges/pkc-js-challenges/whitelist.js.map +1 -1
  106. package/dist/node/runtime/node/community/challenges/validate-challenge-settings.d.ts +22 -0
  107. package/dist/node/runtime/node/community/challenges/validate-challenge-settings.js +92 -0
  108. package/dist/node/runtime/node/community/challenges/validate-challenge-settings.js.map +1 -0
  109. package/dist/node/runtime/node/community/db-handler.d.ts +1 -0
  110. package/dist/node/runtime/node/community/local-community/db-state.js +8 -0
  111. package/dist/node/runtime/node/community/local-community/db-state.js.map +1 -1
  112. package/dist/node/runtime/node/community/local-community/editing.js +8 -0
  113. package/dist/node/runtime/node/community/local-community/editing.js.map +1 -1
  114. package/dist/node/runtime/node/community/local-community/lifecycle.js +29 -0
  115. package/dist/node/runtime/node/community/local-community/lifecycle.js.map +1 -1
  116. package/dist/node/schema/schema-util.d.ts +9 -0
  117. package/dist/node/schema.d.ts +352 -8
  118. package/dist/node/test/test-util.d.ts +2 -0
  119. package/package.json +3 -3
@@ -17,6 +17,14 @@ export class RemoteCommunity extends TypedEmitter {
17
17
  this.raw = {};
18
18
  this._updatingCommunityInstanceWithListeners = undefined; // The pkc._updatingCommunities we're subscribed to
19
19
  this._numOfListenersForUpdatingInstance = 0;
20
+ // Set when construction-time warm start (issue #197) found the tracked instance holding a record
21
+ // keyed to a different publicKey than the caller requested: a key migration the caller has not
22
+ // observed. The announcement is deferred to update() because callers attach their "error"
23
+ // listener only after createCommunity() returns, so emitting here would be unobservable.
24
+ // The explicit `= undefined` matters: it makes the field an own property at construction so
25
+ // hideClassPrivateProps() can mark it non-enumerable — without it (target ES2021) the first
26
+ // assignment would create an enumerable prop that leaks into JSON.stringify(community).
27
+ this._pendingWarmStartKeyMigration = undefined;
20
28
  this._pkc = pkc;
21
29
  this._setState("stopped");
22
30
  this._updatingState = "stopped";
@@ -506,11 +514,28 @@ export class RemoteCommunity extends TypedEmitter {
506
514
  return true;
507
515
  }
508
516
  _setCommunityIpfsPropsFromUpdatingCommunitiesIfPossible() {
509
- const log = Logger("pkc-js:comment:_setCommunityIpfsPropsFromUpdatingCommunitiesIfPossible");
517
+ const log = Logger("pkc-js:remote-community:_setCommunityIpfsPropsFromUpdatingCommunitiesIfPossible");
510
518
  const updatingCommunity = findUpdatingCommunity(this._pkc, { publicKey: this.publicKey, name: this.name });
511
519
  if (updatingCommunity?.raw?.communityIpfs && (this.updatedAt || 0) < updatingCommunity.raw.communityIpfs.updatedAt) {
520
+ // The caller asked for a specific publicKey and the tracked instance holds a record keyed
521
+ // to a different one (its anchor for delegated communities — never signature.publicKey,
522
+ // whose minter key legitimately differs): the community key-migrated before this caller
523
+ // joined. Don't adopt the record silently — that would hand the caller a record for a key
524
+ // they never requested with no migration signal (issue #197, the publickey-fallback and
525
+ // update.community CI failures). Record the fact and let update() announce it the same
526
+ // way the first loader's background resolution does, then mirror-replay the record.
527
+ if (this.publicKey && updatingCommunity.publicKey && this.publicKey !== updatingCommunity.publicKey) {
528
+ this._pendingWarmStartKeyMigration = { previousPublicKey: this.publicKey, newPublicKey: updatingCommunity.publicKey };
529
+ log.trace(`New Remote Community instance`, this.address, `skipped warm start from pkc._updatingCommunities[${this.address}]: tracked instance is keyed to`, updatingCommunity.publicKey, `while the caller requested`, this.publicKey, `- deferring key-migration announcement to update()`);
530
+ return;
531
+ }
532
+ const nameResolvedBeforeAdoption = this.nameResolved;
512
533
  this.initCommunityIpfsPropsNoMerge(updatingCommunity.raw.communityIpfs);
513
534
  this.updateCid = updatingCommunity.updateCid;
535
+ // Same guard as the mirror's update handler: adopt the tracked instance's nameResolved
536
+ // only when its name describes us (#119). Without this a warm-started instance reports
537
+ // nameResolved undefined while a cold-started sibling of the same community reports true.
538
+ this._adoptMirroredNameResolved(updatingCommunity, nameResolvedBeforeAdoption);
514
539
  log.trace(`New Remote Community instance`, this.address, `will use CommunityIpfs from pkc._updatingCommunities[${this.address}] with updatedAt`, this.updatedAt, "that's", timestamp() - this.updatedAt, "seconds old");
515
540
  this.emit("update", this);
516
541
  }
@@ -528,12 +553,12 @@ export class RemoteCommunity extends TypedEmitter {
528
553
  else
529
554
  this.nameResolved = nameResolvedBeforeMirror;
530
555
  }
531
- async _initCommunityInstanceWithListeners() {
532
- const trackedUpdatingCommunity = findUpdatingCommunity(this._pkc, { publicKey: this.publicKey, name: this.name });
533
- if (!trackedUpdatingCommunity)
534
- throw Error("should be defined at this stage");
556
+ // Deliberately synchronous: the caller checks registry membership immediately before attaching
557
+ // the listeners this builds, and any await between the check and the attach opens a microtask
558
+ // window where a concurrent stop() can untrack the instance, silently tearing down the mirror
559
+ // that attaches to it (see the membership check in fetchLatestCommunityOrSubscribeToEvent).
560
+ _initCommunityInstanceWithListeners(communityInstance) {
535
561
  const log = Logger("pkc-js:remote-community:update");
536
- const communityInstance = trackedUpdatingCommunity;
537
562
  return {
538
563
  community: communityInstance,
539
564
  update: () => {
@@ -562,26 +587,40 @@ export class RemoteCommunity extends TypedEmitter {
562
587
  }
563
588
  };
564
589
  }
590
+ // Resolves to true when the attach-time replay below emitted an "update" for the record it
591
+ // applied, so update() can avoid emitting a duplicate for the same record.
565
592
  async fetchLatestCommunityOrSubscribeToEvent() {
566
593
  const log = Logger("pkc-js:remote-community:update:updateOnce");
567
- if (!findUpdatingCommunity(this._pkc, { publicKey: this.publicKey, name: this.name })) {
568
- // Pass publicKey alongside name/address so the updating community can use publicKey fallback
594
+ // The instance flows from a single find-or-create: after a key migration this instance's
595
+ // {publicKey, name} are the post-migration values while the fresh updating instance is
596
+ // tracked under the pre-migration address, so a second alias lookup here used to come up
597
+ // empty and throw "should be defined at this stage" even though the instance was tracked —
598
+ // which is how the RPC server's setSettings handler orphaned migrated subscriptions (#197).
599
+ let communityInstance = findUpdatingCommunity(this._pkc, { publicKey: this.publicKey, name: this.name });
600
+ if (!communityInstance) {
601
+ // Pass publicKey alongside name/address so the updating community can use publicKey fallback.
602
+ // createOpts is deliberately keyed by the (immutable, possibly pre-migration) address: the
603
+ // re-created updating instance re-resolves and re-announces a migration exactly like a
604
+ // fresh subscribe would.
569
605
  const createOpts = this.publicKey && isStringDomain(this.address)
570
606
  ? { name: this.address, publicKey: this.publicKey }
571
607
  : { address: this.address };
572
608
  const updatingCommunity = await this._pkc.createCommunity(createOpts);
573
- trackUpdatingCommunity(this._pkc, updatingCommunity);
609
+ communityInstance = trackUpdatingCommunity(this._pkc, updatingCommunity);
574
610
  log("Creating a new entry for this._pkc._updatingCommunities", this.address);
575
611
  }
576
- const communityInstance = findUpdatingCommunity(this._pkc, { publicKey: this.publicKey, name: this.name });
577
- if (!communityInstance)
578
- throw Error("should be defined at this stage");
579
612
  if (communityInstance === this) {
580
613
  // Already tracking this instance; start the loop directly without mirroring to itself
581
614
  this._clientsManager.startUpdatingLoop().catch((err) => log.error("Failed to start update loop of community", err));
582
- return;
615
+ return false;
583
616
  }
584
- this._updatingCommunityInstanceWithListeners = await this._initCommunityInstanceWithListeners();
617
+ // The awaits above are a window for a concurrent stop() to untrack the instance. Attaching
618
+ // mirrors to an untracked instance would strand this community on a dying entry, so assert
619
+ // the update loop's real precondition — membership of this exact instance — by identity,
620
+ // which a key rotation cannot spuriously trip the way the old alias lookups could.
621
+ if (!this._pkc._updatingCommunities.has(communityInstance))
622
+ throw Error(`Updating community instance (${communityInstance.address}) was untracked before listeners could be attached`);
623
+ this._updatingCommunityInstanceWithListeners = this._initCommunityInstanceWithListeners(communityInstance);
585
624
  this._updatingCommunityInstanceWithListeners.community.on("update", this._updatingCommunityInstanceWithListeners.update);
586
625
  this._updatingCommunityInstanceWithListeners.community.on("updatingstatechange", this._updatingCommunityInstanceWithListeners.updatingstatechange);
587
626
  this._updatingCommunityInstanceWithListeners.community.on("error", this._updatingCommunityInstanceWithListeners.error);
@@ -598,14 +637,57 @@ export class RemoteCommunity extends TypedEmitter {
598
637
  .startUpdatingLoop()
599
638
  .catch((err) => log.error("Failed to start update loop of community", err));
600
639
  }
640
+ // Replay the updating instance's current record through the mirror's own update handler.
641
+ // Listener attach alone has a gap: an instance that already holds a newer record than ours
642
+ // (e.g. it settled a key migration before we joined, #197) emits nothing until its NEXT
643
+ // record lands, which for a quiet community could be arbitrarily far away. The updatedAt
644
+ // guard makes this a no-op when we warm-started from the same record at construction.
645
+ if (communityInstance.raw.communityIpfs &&
646
+ (this.updatedAt ?? 0) < communityInstance.raw.communityIpfs.updatedAt &&
647
+ this._updatingCommunityInstanceWithListeners) {
648
+ this._updatingCommunityInstanceWithListeners.update(communityInstance);
649
+ return true; // the replay emitted "update"; update() must not emit again for the same record
650
+ }
651
+ return false;
652
+ }
653
+ // A construction-time warm start that found the tracked instance migrated to a different key
654
+ // (issue #197) deferred its announcement to here, the first point where the caller's listeners
655
+ // are attached. Replays the exact observable sequence the first loader's background resolution
656
+ // produces (community-client-manager's _resolveNameInBackground): cleared update, then the
657
+ // migration error. The migrated record itself follows via the attach-time replay in
658
+ // fetchLatestCommunityOrSubscribeToEvent.
659
+ _announcePendingWarmStartKeyMigrationIfAny() {
660
+ if (!this._pendingWarmStartKeyMigration)
661
+ return;
662
+ const { previousPublicKey, newPublicKey } = this._pendingWarmStartKeyMigration;
663
+ this._pendingWarmStartKeyMigration = undefined;
664
+ const error = new PKCError("ERR_COMMUNITY_NAME_RESOLVES_TO_DIFFERENT_PUBLIC_KEY", {
665
+ communityName: this.name,
666
+ previousPublicKey,
667
+ newPublicKey
668
+ });
669
+ this._clearDataForKeyMigration(newPublicKey);
670
+ // The migration was established by resolving this very name (on the tracked instance's own
671
+ // loop), so the name is known to resolve — same as the first loader's flow. A nameless
672
+ // (key-addressed) joiner has no name to describe, so nameResolved stays undefined for it.
673
+ if (this.name)
674
+ this.nameResolved = true;
675
+ this.emit("update", this);
676
+ this.emit("error", error);
601
677
  }
602
678
  async update() {
603
679
  if (this.state !== "stopped")
604
680
  return; // No need to do anything if community is already updating
605
681
  const log = Logger("pkc-js:remote-community:update");
606
682
  this._setState("updating");
607
- await this.fetchLatestCommunityOrSubscribeToEvent();
608
- if (this.raw.communityIpfs)
683
+ this._announcePendingWarmStartKeyMigrationIfAny();
684
+ // Only the construction-time warm start emits here. The attach-time replay reports whether
685
+ // it already emitted for a record it applied (e.g. the tracked instance advanced past the
686
+ // record we warm-started with), and on the cold path the record lands asynchronously after
687
+ // this returns.
688
+ const hadRecordBeforeFetch = Boolean(this.raw.communityIpfs);
689
+ const replayEmittedUpdate = await this.fetchLatestCommunityOrSubscribeToEvent();
690
+ if (this.raw.communityIpfs && hadRecordBeforeFetch && !replayEmittedUpdate)
609
691
  this.emit("update", this);
610
692
  }
611
693
  async _cleanUpUpdatingCommunityInstanceWithListeners() {
@@ -1 +1 @@
1
- {"version":3,"file":"remote-community.js","sourceRoot":"","sources":["../../../src/community/remote-community.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remote-community.js","sourceRoot":"","sources":["../../../src/community/remote-community.ts"],"names":[],"mappings":"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"}
@@ -169,6 +169,7 @@ export declare const CommunityChallengeSettingSchema: z.ZodObject<{
169
169
  path: z.ZodOptional<z.ZodString>;
170
170
  name: z.ZodOptional<z.ZodString>;
171
171
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
172
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
172
173
  exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
173
174
  community: z.ZodOptional<z.ZodObject<{
174
175
  addresses: z.ZodArray<z.ZodString>;
@@ -208,6 +209,7 @@ export declare const GetChallengeArgsSchema: z.ZodObject<{
208
209
  path: z.ZodOptional<z.ZodString>;
209
210
  name: z.ZodOptional<z.ZodString>;
210
211
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
212
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
211
213
  exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
212
214
  community: z.ZodOptional<z.ZodObject<{
213
215
  addresses: z.ZodArray<z.ZodString>;
@@ -264,6 +266,7 @@ export declare const ChallengeFileSchema: z.ZodObject<{
264
266
  path: z.ZodOptional<z.ZodString>;
265
267
  name: z.ZodOptional<z.ZodString>;
266
268
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
269
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
267
270
  exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
268
271
  community: z.ZodOptional<z.ZodObject<{
269
272
  addresses: z.ZodArray<z.ZodString>;
@@ -323,7 +326,48 @@ export declare const ChallengeFileSchema: z.ZodObject<{
323
326
  error: z.ZodString;
324
327
  reason: z.ZodOptional<z.ZodString>;
325
328
  }, z.core.$strip>]>]>>>;
326
- }, z.core.$strict>;
329
+ validateChallengeSettings: z.ZodOptional<z.ZodFunction<z.ZodTuple<readonly [z.ZodObject<{
330
+ challengeSettings: z.ZodObject<{
331
+ path: z.ZodOptional<z.ZodString>;
332
+ name: z.ZodOptional<z.ZodString>;
333
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
334
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
335
+ exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
336
+ community: z.ZodOptional<z.ZodObject<{
337
+ addresses: z.ZodArray<z.ZodString>;
338
+ maxCommentCids: z.ZodNumber;
339
+ postScore: z.ZodOptional<z.ZodNumber>;
340
+ replyScore: z.ZodOptional<z.ZodNumber>;
341
+ firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
342
+ }, z.core.$strict>>;
343
+ postScore: z.ZodOptional<z.ZodNumber>;
344
+ replyScore: z.ZodOptional<z.ZodNumber>;
345
+ postCount: z.ZodOptional<z.ZodNumber>;
346
+ replyCount: z.ZodOptional<z.ZodNumber>;
347
+ firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
348
+ challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
349
+ role: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
350
+ owner: "owner";
351
+ admin: "admin";
352
+ moderator: "moderator";
353
+ }>, z.ZodString]>>>;
354
+ address: z.ZodOptional<z.ZodArray<z.ZodString>>;
355
+ rateLimit: z.ZodOptional<z.ZodNumber>;
356
+ rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
357
+ publicationType: z.ZodOptional<z.ZodObject<{
358
+ post: z.ZodOptional<z.ZodBoolean>;
359
+ reply: z.ZodOptional<z.ZodBoolean>;
360
+ vote: z.ZodOptional<z.ZodBoolean>;
361
+ commentEdit: z.ZodOptional<z.ZodBoolean>;
362
+ commentModeration: z.ZodOptional<z.ZodBoolean>;
363
+ communityEdit: z.ZodOptional<z.ZodBoolean>;
364
+ }, z.core.$loose>>;
365
+ }, z.core.$loose>>>;
366
+ description: z.ZodOptional<z.ZodString>;
367
+ pendingApproval: z.ZodOptional<z.ZodBoolean>;
368
+ }, z.core.$strict>;
369
+ }, z.core.$strip>], null>, z.ZodVoid>>;
370
+ }, z.core.$loose>;
327
371
  export declare const CommunityChallengeSchema: z.ZodObject<{
328
372
  exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
329
373
  community: z.ZodOptional<z.ZodObject<{
@@ -361,12 +405,14 @@ export declare const CommunityChallengeSchema: z.ZodObject<{
361
405
  type: z.ZodString;
362
406
  caseInsensitive: z.ZodOptional<z.ZodBoolean>;
363
407
  pendingApproval: z.ZodOptional<z.ZodBoolean>;
408
+ publicOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
364
409
  }, z.core.$loose>;
365
410
  export declare const ChallengeFileFactoryArgsSchema: z.ZodObject<{
366
411
  challengeSettings: z.ZodObject<{
367
412
  path: z.ZodOptional<z.ZodString>;
368
413
  name: z.ZodOptional<z.ZodString>;
369
414
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
415
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
370
416
  exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
371
417
  community: z.ZodOptional<z.ZodObject<{
372
418
  addresses: z.ZodArray<z.ZodString>;
@@ -407,6 +453,7 @@ export declare const ChallengeFileFactorySchema: z.ZodFunction<z.ZodTuple<readon
407
453
  path: z.ZodOptional<z.ZodString>;
408
454
  name: z.ZodOptional<z.ZodString>;
409
455
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
456
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
410
457
  exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
411
458
  community: z.ZodOptional<z.ZodObject<{
412
459
  addresses: z.ZodArray<z.ZodString>;
@@ -459,6 +506,7 @@ export declare const ChallengeFileFactorySchema: z.ZodFunction<z.ZodTuple<readon
459
506
  path: z.ZodOptional<z.ZodString>;
460
507
  name: z.ZodOptional<z.ZodString>;
461
508
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
509
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
462
510
  exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
463
511
  community: z.ZodOptional<z.ZodObject<{
464
512
  addresses: z.ZodArray<z.ZodString>;
@@ -518,7 +566,48 @@ export declare const ChallengeFileFactorySchema: z.ZodFunction<z.ZodTuple<readon
518
566
  error: z.ZodString;
519
567
  reason: z.ZodOptional<z.ZodString>;
520
568
  }, z.core.$strip>]>]>>>;
521
- }, z.core.$strict>>;
569
+ validateChallengeSettings: z.ZodOptional<z.ZodFunction<z.ZodTuple<readonly [z.ZodObject<{
570
+ challengeSettings: z.ZodObject<{
571
+ path: z.ZodOptional<z.ZodString>;
572
+ name: z.ZodOptional<z.ZodString>;
573
+ options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
574
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
575
+ exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
576
+ community: z.ZodOptional<z.ZodObject<{
577
+ addresses: z.ZodArray<z.ZodString>;
578
+ maxCommentCids: z.ZodNumber;
579
+ postScore: z.ZodOptional<z.ZodNumber>;
580
+ replyScore: z.ZodOptional<z.ZodNumber>;
581
+ firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
582
+ }, z.core.$strict>>;
583
+ postScore: z.ZodOptional<z.ZodNumber>;
584
+ replyScore: z.ZodOptional<z.ZodNumber>;
585
+ postCount: z.ZodOptional<z.ZodNumber>;
586
+ replyCount: z.ZodOptional<z.ZodNumber>;
587
+ firstCommentTimestamp: z.ZodOptional<z.ZodNumber>;
588
+ challenges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
589
+ role: z.ZodOptional<z.ZodArray<z.ZodUnion<[z.ZodEnum<{
590
+ owner: "owner";
591
+ admin: "admin";
592
+ moderator: "moderator";
593
+ }>, z.ZodString]>>>;
594
+ address: z.ZodOptional<z.ZodArray<z.ZodString>>;
595
+ rateLimit: z.ZodOptional<z.ZodNumber>;
596
+ rateLimitChallengeSuccess: z.ZodOptional<z.ZodBoolean>;
597
+ publicationType: z.ZodOptional<z.ZodObject<{
598
+ post: z.ZodOptional<z.ZodBoolean>;
599
+ reply: z.ZodOptional<z.ZodBoolean>;
600
+ vote: z.ZodOptional<z.ZodBoolean>;
601
+ commentEdit: z.ZodOptional<z.ZodBoolean>;
602
+ commentModeration: z.ZodOptional<z.ZodBoolean>;
603
+ communityEdit: z.ZodOptional<z.ZodBoolean>;
604
+ }, z.core.$loose>>;
605
+ }, z.core.$loose>>>;
606
+ description: z.ZodOptional<z.ZodString>;
607
+ pendingApproval: z.ZodOptional<z.ZodBoolean>;
608
+ }, z.core.$strict>;
609
+ }, z.core.$strip>], null>, z.ZodVoid>>;
610
+ }, z.core.$loose>>;
522
611
  export declare const CommunityAnchorSchema: z.ZodObject<{
523
612
  publicKey: z.ZodString;
524
613
  }, z.core.$strict>;
@@ -777,6 +866,7 @@ export declare const CommunityIpfsSchema: z.ZodObject<{
777
866
  type: z.ZodString;
778
867
  caseInsensitive: z.ZodOptional<z.ZodBoolean>;
779
868
  pendingApproval: z.ZodOptional<z.ZodBoolean>;
869
+ publicOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
780
870
  }, z.core.$loose>>;
781
871
  signature: z.ZodObject<{
782
872
  type: z.ZodString;
@@ -1122,6 +1212,7 @@ export declare const RpcRemoteCommunityUpdateEventResultSchema: z.ZodObject<{
1122
1212
  type: z.ZodString;
1123
1213
  caseInsensitive: z.ZodOptional<z.ZodBoolean>;
1124
1214
  pendingApproval: z.ZodOptional<z.ZodBoolean>;
1215
+ publicOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1125
1216
  }, z.core.$loose>>;
1126
1217
  signature: z.ZodObject<{
1127
1218
  type: z.ZodString;
@@ -1260,6 +1351,7 @@ export declare const CreateRemoteCommunityOptionsSchema: z.ZodObject<{
1260
1351
  type: z.ZodString;
1261
1352
  caseInsensitive: z.ZodOptional<z.ZodBoolean>;
1262
1353
  pendingApproval: z.ZodOptional<z.ZodBoolean>;
1354
+ publicOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1263
1355
  }, z.core.$loose>>>;
1264
1356
  signature: z.ZodOptional<z.ZodObject<{
1265
1357
  type: z.ZodString;
@@ -1584,6 +1676,7 @@ export declare const CommunitySettingsSchema: z.ZodObject<{
1584
1676
  path: z.ZodOptional<z.ZodString>;
1585
1677
  name: z.ZodOptional<z.ZodString>;
1586
1678
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1679
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
1587
1680
  exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
1588
1681
  community: z.ZodOptional<z.ZodObject<{
1589
1682
  addresses: z.ZodArray<z.ZodString>;
@@ -1690,6 +1783,7 @@ export declare const CommunityEditOptionsSchema: z.ZodObject<{
1690
1783
  path: z.ZodOptional<z.ZodString>;
1691
1784
  name: z.ZodOptional<z.ZodString>;
1692
1785
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1786
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
1693
1787
  exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
1694
1788
  community: z.ZodOptional<z.ZodObject<{
1695
1789
  addresses: z.ZodArray<z.ZodString>;
@@ -1803,6 +1897,7 @@ export declare const CreateNewLocalCommunityUserOptionsSchema: z.ZodObject<{
1803
1897
  path: z.ZodOptional<z.ZodString>;
1804
1898
  name: z.ZodOptional<z.ZodString>;
1805
1899
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1900
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
1806
1901
  exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
1807
1902
  community: z.ZodOptional<z.ZodObject<{
1808
1903
  addresses: z.ZodArray<z.ZodString>;
@@ -1925,6 +2020,7 @@ export declare const CreateNewLocalCommunityParsedOptionsSchema: z.ZodObject<{
1925
2020
  path: z.ZodOptional<z.ZodString>;
1926
2021
  name: z.ZodOptional<z.ZodString>;
1927
2022
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2023
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
1928
2024
  exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
1929
2025
  community: z.ZodOptional<z.ZodObject<{
1930
2026
  addresses: z.ZodArray<z.ZodString>;
@@ -2024,6 +2120,7 @@ export declare const CreateRemoteCommunityFunctionArgumentSchema: z.ZodUnion<[z.
2024
2120
  type: z.ZodString;
2025
2121
  caseInsensitive: z.ZodOptional<z.ZodBoolean>;
2026
2122
  pendingApproval: z.ZodOptional<z.ZodBoolean>;
2123
+ publicOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2027
2124
  }, z.core.$loose>>>;
2028
2125
  signature: z.ZodOptional<z.ZodObject<{
2029
2126
  type: z.ZodString;
@@ -2595,6 +2692,7 @@ export declare const CreateRemoteCommunityFunctionArgumentSchema: z.ZodUnion<[z.
2595
2692
  type: z.ZodString;
2596
2693
  caseInsensitive: z.ZodOptional<z.ZodBoolean>;
2597
2694
  pendingApproval: z.ZodOptional<z.ZodBoolean>;
2695
+ publicOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2598
2696
  }, z.core.$loose>>;
2599
2697
  signature: z.ZodObject<{
2600
2698
  type: z.ZodString;
@@ -2724,6 +2822,7 @@ export declare const CreateRpcCommunityFunctionArgumentSchema: z.ZodUnion<[z.Zod
2724
2822
  type: z.ZodString;
2725
2823
  caseInsensitive: z.ZodOptional<z.ZodBoolean>;
2726
2824
  pendingApproval: z.ZodOptional<z.ZodBoolean>;
2825
+ publicOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2727
2826
  }, z.core.$loose>>>;
2728
2827
  signature: z.ZodOptional<z.ZodObject<{
2729
2828
  type: z.ZodString;
@@ -3295,6 +3394,7 @@ export declare const CreateRpcCommunityFunctionArgumentSchema: z.ZodUnion<[z.Zod
3295
3394
  type: z.ZodString;
3296
3395
  caseInsensitive: z.ZodOptional<z.ZodBoolean>;
3297
3396
  pendingApproval: z.ZodOptional<z.ZodBoolean>;
3397
+ publicOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
3298
3398
  }, z.core.$loose>>;
3299
3399
  signature: z.ZodObject<{
3300
3400
  type: z.ZodString;
@@ -3449,6 +3549,7 @@ export declare const CreateRpcCommunityFunctionArgumentSchema: z.ZodUnion<[z.Zod
3449
3549
  path: z.ZodOptional<z.ZodString>;
3450
3550
  name: z.ZodOptional<z.ZodString>;
3451
3551
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
3552
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
3452
3553
  exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
3453
3554
  community: z.ZodOptional<z.ZodObject<{
3454
3555
  addresses: z.ZodArray<z.ZodString>;
@@ -3571,6 +3672,7 @@ export declare const CreateCommunityFunctionArgumentsSchema: z.ZodUnion<[z.ZodOb
3571
3672
  path: z.ZodOptional<z.ZodString>;
3572
3673
  name: z.ZodOptional<z.ZodString>;
3573
3674
  options: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
3675
+ publicOptions: z.ZodOptional<z.ZodArray<z.ZodString>>;
3574
3676
  exclude: z.ZodOptional<z.ZodArray<z.ZodObject<{
3575
3677
  community: z.ZodOptional<z.ZodObject<{
3576
3678
  addresses: z.ZodArray<z.ZodString>;
@@ -3666,6 +3768,7 @@ export declare const CreateCommunityFunctionArgumentsSchema: z.ZodUnion<[z.ZodOb
3666
3768
  type: z.ZodString;
3667
3769
  caseInsensitive: z.ZodOptional<z.ZodBoolean>;
3668
3770
  pendingApproval: z.ZodOptional<z.ZodBoolean>;
3771
+ publicOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
3669
3772
  }, z.core.$loose>>>;
3670
3773
  signature: z.ZodOptional<z.ZodObject<{
3671
3774
  type: z.ZodString;
@@ -4237,6 +4340,7 @@ export declare const CreateCommunityFunctionArgumentsSchema: z.ZodUnion<[z.ZodOb
4237
4340
  type: z.ZodString;
4238
4341
  caseInsensitive: z.ZodOptional<z.ZodBoolean>;
4239
4342
  pendingApproval: z.ZodOptional<z.ZodBoolean>;
4343
+ publicOptions: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
4240
4344
  }, z.core.$loose>>;
4241
4345
  signature: z.ZodObject<{
4242
4346
  type: z.ZodString;
@@ -137,6 +137,10 @@ export const CommunityChallengeSettingSchema = z
137
137
  path: z.string().optional(), // (only if name is undefined) the path to the challenge js file, used to get the props ChallengeFile {optionInputs, type, getChallenge}
138
138
  name: z.string().optional(), // (only if path is undefined) the challengeName from PKC.challenges to identify it
139
139
  options: z.record(z.string(), z.string()).optional(), //{ [optionPropertyName: string]: string } the options to be used to the getChallenge function, all values must be strings for UI ease of use
140
+ // The option names this owner chose to publish in community.challenges[i].publicOptions. Private is
141
+ // the default, so an owner who sets nothing publishes nothing. Only options that are actually set in
142
+ // `options` are emitted. See docs/protocol/challenge-settings.md.
143
+ publicOptions: z.string().array().optional(),
140
144
  exclude: ChallengeExcludeSchema.array().nonempty().optional(), // singular because it only has to match 1 exclude, the client must know the exclude setting to configure what challengeCommentCids to send
141
145
  description: z.string().optional(), // describe in the frontend what kind of challenge the user will receive when publishing
142
146
  pendingApproval: z.boolean().optional()
@@ -149,8 +153,11 @@ export const GetChallengeArgsSchema = z.object({
149
153
  challengeIndex: z.number().int().nonnegative(),
150
154
  community: z.custom()
151
155
  });
152
- export const ChallengeFileSchema = z
153
- .object({
156
+ // Loose, not strict: an unknown key here would be a parse error, and a parse error takes community
157
+ // startup down. A challenge package that ships a newer optional key (see #283's validateChallengeSettings)
158
+ // must still load on an older node, so unknown keys are ignored instead of fatal. The tradeoff is that a
159
+ // misspelled *optional* export (e.g. `descriptio`) is now silently ignored rather than reported.
160
+ export const ChallengeFileSchema = z.looseObject({
154
161
  // the result of the function exported by the challenge file
155
162
  optionInputs: ChallengeOptionInputSchema.array().optional(), // the options inputs fields to display to the user
156
163
  type: ChallengeFromGetChallengeSchema.shape.type,
@@ -160,16 +167,28 @@ export const ChallengeFileSchema = z
160
167
  getChallenge: z.function({
161
168
  input: [GetChallengeArgsSchema],
162
169
  output: z.promise(ResultOfGetChallengeSchema)
163
- })
164
- })
165
- .strict();
170
+ }),
171
+ // Optional semantic validation of the owner's challengeSettings, for the checks only the challenge can
172
+ // make (does `matches` parse as JSON, does every regexp compile). Core already enforces the mechanical
173
+ // things optionInputs describes, so a challenge with nothing semantic to check omits this.
174
+ // Sync and no network: it runs on every community start, so an async validator hitting a third party
175
+ // would turn that third party's outage into a startup problem. Rejection is a throw of anything at all,
176
+ // so a package needs no pkc-js import; core wraps it in a PKCError with code
177
+ // ERR_CHALLENGE_SETTINGS_VALIDATION_FAILED. See docs/protocol/challenge-authoring.md.
178
+ validateChallengeSettings: z
179
+ .function({ input: [z.object({ challengeSettings: CommunityChallengeSettingSchema })], output: z.void() })
180
+ .optional()
181
+ });
166
182
  export const CommunityChallengeSchema = z.looseObject({
167
183
  exclude: ChallengeExcludeSchema.array().nonempty().optional(),
168
184
  description: ChallengeFileSchema.shape.description,
169
185
  challenge: ChallengeFileSchema.shape.challenge,
170
186
  type: ChallengeFileSchema.shape.type,
171
187
  caseInsensitive: ChallengeFileSchema.shape.caseInsensitive,
172
- pendingApproval: z.boolean().optional()
188
+ pendingApproval: z.boolean().optional(),
189
+ // The subset of settings.challenges[i].options the owner opted into publishing, by naming them in
190
+ // settings.challenges[i].publicOptions. Omitted entirely when the owner published nothing.
191
+ publicOptions: z.record(z.string(), z.string()).optional()
173
192
  });
174
193
  export const ChallengeFileFactoryArgsSchema = z.object({
175
194
  challengeSettings: CommunityChallengeSettingSchema
@@ -384,6 +403,10 @@ export const CommunityIpfsReservedFields = difference([
384
403
  "started",
385
404
  "exports",
386
405
  // getCommunity() argument, never part of a record (issue #275)
387
- "abortSignal"
406
+ "abortSignal",
407
+ // runtime marker for a deferred warm-start key-migration announcement (issue #197) — a wire
408
+ // record carrying this key would otherwise reach the instance via the unknown-props
409
+ // (extraProps) assignment and plant a signed, attacker-controlled migration announcement
410
+ "_pendingWarmStartKeyMigration"
388
411
  ], keys(CommunityIpfsSchema.shape));
389
412
  //# sourceMappingURL=schema.js.map