@pkcprotocol/pkc-js 0.0.118 → 0.0.120

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 (120) hide show
  1. package/README.md +3 -2
  2. package/dist/browser/clients/rpc-client/rpc-schema-util.d.ts +1 -0
  3. package/dist/browser/clients/rpc-client/schema.d.ts +1 -0
  4. package/dist/browser/community/community-client-manager.js +8 -2
  5. package/dist/browser/community/community-client-manager.js.map +1 -1
  6. package/dist/browser/community/schema.d.ts +15 -0
  7. package/dist/browser/community/schema.js +2 -1
  8. package/dist/browser/community/schema.js.map +1 -1
  9. package/dist/browser/errors.d.ts +2 -0
  10. package/dist/browser/errors.js +2 -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/pages/page-sort-options.d.ts +1 -0
  15. package/dist/browser/pages/page-sort-options.js +7 -6
  16. package/dist/browser/pages/page-sort-options.js.map +1 -1
  17. package/dist/browser/pages/page-sort-scoring.d.ts +5 -1
  18. package/dist/browser/pages/page-sort-scoring.js +23 -13
  19. package/dist/browser/pages/page-sort-scoring.js.map +1 -1
  20. package/dist/browser/pages/types.d.ts +1 -1
  21. package/dist/browser/pkc-error.d.ts +1 -1
  22. package/dist/browser/publications/community-edit/schema.d.ts +4 -0
  23. package/dist/browser/publications/publication.d.ts +2 -0
  24. package/dist/browser/publications/publication.js +24 -1
  25. package/dist/browser/publications/publication.js.map +1 -1
  26. package/dist/browser/pubsub-messages/schema.d.ts +2 -0
  27. package/dist/browser/rpc/src/index.d.ts +4 -0
  28. package/dist/browser/rpc/src/index.js +74 -19
  29. package/dist/browser/rpc/src/index.js.map +1 -1
  30. package/dist/browser/runtime/node/community/db-handler.d.ts +2 -2
  31. package/dist/browser/runtime/node/community/db-handler.js +42 -58
  32. package/dist/browser/runtime/node/community/db-handler.js.map +1 -1
  33. package/dist/browser/runtime/node/community/local-community/editing.d.ts +1 -0
  34. package/dist/browser/runtime/node/community/local-community/editing.js +25 -4
  35. package/dist/browser/runtime/node/community/local-community/editing.js.map +1 -1
  36. package/dist/browser/runtime/node/community/local-community/ipns-publishing.js +7 -4
  37. package/dist/browser/runtime/node/community/local-community/ipns-publishing.js.map +1 -1
  38. package/dist/browser/runtime/node/community/local-community/lifecycle.js +17 -4
  39. package/dist/browser/runtime/node/community/local-community/lifecycle.js.map +1 -1
  40. package/dist/browser/runtime/node/community/local-community/publication-validation.js +4 -0
  41. package/dist/browser/runtime/node/community/local-community/publication-validation.js.map +1 -1
  42. package/dist/browser/runtime/node/community/local-community.d.ts +4 -1
  43. package/dist/browser/runtime/node/community/local-community.js +12 -1
  44. package/dist/browser/runtime/node/community/local-community.js.map +1 -1
  45. package/dist/browser/runtime/node/community/page-generator.d.ts +0 -1
  46. package/dist/browser/runtime/node/community/page-generator.js.map +1 -1
  47. package/dist/browser/runtime/node/community/page-sorts/index.js +22 -4
  48. package/dist/browser/runtime/node/community/page-sorts/index.js.map +1 -1
  49. package/dist/browser/runtime/node/util.d.ts +4 -1
  50. package/dist/browser/runtime/node/util.js +41 -24
  51. package/dist/browser/runtime/node/util.js.map +1 -1
  52. package/dist/browser/schema/schema-util.d.ts +9 -0
  53. package/dist/browser/test/test-util.d.ts +4 -0
  54. package/dist/bundled/bundle-manifest.json +46 -46
  55. package/dist/bundled/challenges.js +1 -1
  56. package/dist/bundled/chunks/{helia-for-pkc-DMzV8Gsa.js → helia-for-pkc-Dk9JTeUn.js} +33 -33
  57. package/dist/bundled/chunks/{local-community-DvEh9Nte.js → local-community-BbJyIuOc.js} +118 -101
  58. package/dist/bundled/chunks/{local-community-YoJAmva8.js → local-community-BkZDlh4z.js} +1 -1
  59. package/dist/bundled/chunks/{node-CH9-YjYa.js → node-CsHuIZmP.js} +21 -5
  60. package/dist/bundled/chunks/{page-sort-scoring-C1XYRQ1w.js → page-sort-scoring-B2iu-tyC.js} +11 -7
  61. package/dist/bundled/chunks/{rpc-local-community-DqKbZLIy.js → rpc-local-community-DMDs0XGh.js} +60 -27
  62. package/dist/bundled/chunks/{util-DEmcezee.js → util-CXxGmK2P.js} +5 -2
  63. package/dist/bundled/chunks/{util-CpoO437x.js → util-_DJ6MgmW.js} +1 -1
  64. package/dist/bundled/chunks/{validate-package-factories-C9A4AtCN.js → validate-package-factories-BpJjVrRb.js} +2 -2
  65. package/dist/bundled/index.js +1 -1
  66. package/dist/bundled/page-sorts.js +1 -1
  67. package/dist/bundled/rpc/src/index.js +56 -19
  68. package/dist/node/clients/rpc-client/rpc-schema-util.d.ts +1 -0
  69. package/dist/node/clients/rpc-client/schema.d.ts +1 -0
  70. package/dist/node/community/community-client-manager.js +8 -2
  71. package/dist/node/community/community-client-manager.js.map +1 -1
  72. package/dist/node/community/schema.d.ts +15 -0
  73. package/dist/node/community/schema.js +2 -1
  74. package/dist/node/community/schema.js.map +1 -1
  75. package/dist/node/errors.d.ts +2 -0
  76. package/dist/node/errors.js +2 -0
  77. package/dist/node/errors.js.map +1 -1
  78. package/dist/node/generated-version.d.ts +1 -1
  79. package/dist/node/generated-version.js +1 -1
  80. package/dist/node/pages/page-sort-options.d.ts +1 -0
  81. package/dist/node/pages/page-sort-options.js +7 -6
  82. package/dist/node/pages/page-sort-options.js.map +1 -1
  83. package/dist/node/pages/page-sort-scoring.d.ts +5 -1
  84. package/dist/node/pages/page-sort-scoring.js +23 -13
  85. package/dist/node/pages/page-sort-scoring.js.map +1 -1
  86. package/dist/node/pages/types.d.ts +1 -1
  87. package/dist/node/pkc-error.d.ts +1 -1
  88. package/dist/node/publications/community-edit/schema.d.ts +4 -0
  89. package/dist/node/publications/publication.d.ts +2 -0
  90. package/dist/node/publications/publication.js +24 -1
  91. package/dist/node/publications/publication.js.map +1 -1
  92. package/dist/node/pubsub-messages/schema.d.ts +2 -0
  93. package/dist/node/rpc/src/index.d.ts +4 -0
  94. package/dist/node/rpc/src/index.js +74 -19
  95. package/dist/node/rpc/src/index.js.map +1 -1
  96. package/dist/node/runtime/node/community/db-handler.d.ts +2 -2
  97. package/dist/node/runtime/node/community/db-handler.js +42 -58
  98. package/dist/node/runtime/node/community/db-handler.js.map +1 -1
  99. package/dist/node/runtime/node/community/local-community/editing.d.ts +1 -0
  100. package/dist/node/runtime/node/community/local-community/editing.js +25 -4
  101. package/dist/node/runtime/node/community/local-community/editing.js.map +1 -1
  102. package/dist/node/runtime/node/community/local-community/ipns-publishing.js +7 -4
  103. package/dist/node/runtime/node/community/local-community/ipns-publishing.js.map +1 -1
  104. package/dist/node/runtime/node/community/local-community/lifecycle.js +17 -4
  105. package/dist/node/runtime/node/community/local-community/lifecycle.js.map +1 -1
  106. package/dist/node/runtime/node/community/local-community/publication-validation.js +4 -0
  107. package/dist/node/runtime/node/community/local-community/publication-validation.js.map +1 -1
  108. package/dist/node/runtime/node/community/local-community.d.ts +4 -1
  109. package/dist/node/runtime/node/community/local-community.js +12 -1
  110. package/dist/node/runtime/node/community/local-community.js.map +1 -1
  111. package/dist/node/runtime/node/community/page-generator.d.ts +0 -1
  112. package/dist/node/runtime/node/community/page-generator.js.map +1 -1
  113. package/dist/node/runtime/node/community/page-sorts/index.js +22 -4
  114. package/dist/node/runtime/node/community/page-sorts/index.js.map +1 -1
  115. package/dist/node/runtime/node/util.d.ts +4 -1
  116. package/dist/node/runtime/node/util.js +41 -24
  117. package/dist/node/runtime/node/util.js.map +1 -1
  118. package/dist/node/schema/schema-util.d.ts +9 -0
  119. package/dist/node/test/test-util.d.ts +4 -0
  120. package/package.json +1 -1
@@ -3,6 +3,7 @@ import type { PageSortScope } from "../community/types.js";
3
3
  export declare const MAX_AGE_UNIT_SECONDS: Record<string, number>;
4
4
  export declare function parseMaxAgeToSeconds(raw: string): number | undefined;
5
5
  export declare const PAGE_SORT_EXCLUSION_OPTION_NAMES: readonly PageSortExclusionOptionName[];
6
+ export declare const REMOVED_PAGE_SORT_OPTION_NAMES: readonly string[];
6
7
  export declare const RESERVED_PAGE_SORT_OPTION_NAMES: readonly string[];
7
8
  export declare const DEFAULT_RESERVED_OPTIONS: Record<PageSortScope, Record<PageSortExclusionOptionName | "pinnedFirst", "true" | "false">>;
8
9
  export declare function parseBooleanOption(raw: string | undefined): boolean | undefined;
@@ -27,9 +27,12 @@ export const PAGE_SORT_EXCLUSION_OPTION_NAMES = Object.freeze([
27
27
  "excludeRemovedComments",
28
28
  "excludeDeletedComments",
29
29
  "excludeCommentPendingApproval",
30
- "excludeCommentWithApprovedFalse",
31
- "excludeCommentsWithDifferentCommunityAddress"
30
+ "excludeCommentWithApprovedFalse"
32
31
  ]);
32
+ // Reserved options pkc-js no longer reads. A value still stored in settings.pages is dropped when the sort resolves, so it
33
+ // never reaches the sort file or the published publicOptions. excludeCommentsWithDifferentCommunityAddress became the
34
+ // always-on community identity rule (issue #401).
35
+ export const REMOVED_PAGE_SORT_OPTION_NAMES = Object.freeze(["excludeCommentsWithDifferentCommunityAddress"]);
33
36
  export const RESERVED_PAGE_SORT_OPTION_NAMES = Object.freeze([
34
37
  "maxAge",
35
38
  "pinnedFirst",
@@ -45,16 +48,14 @@ export const DEFAULT_RESERVED_OPTIONS = Object.freeze({
45
48
  excludeRemovedComments: "true",
46
49
  excludeDeletedComments: "true",
47
50
  excludeCommentPendingApproval: "true",
48
- excludeCommentWithApprovedFalse: "true",
49
- excludeCommentsWithDifferentCommunityAddress: "true"
51
+ excludeCommentWithApprovedFalse: "true"
50
52
  },
51
53
  replies: {
52
54
  pinnedFirst: "true",
53
55
  excludeRemovedComments: "false",
54
56
  excludeDeletedComments: "false",
55
57
  excludeCommentPendingApproval: "true",
56
- excludeCommentWithApprovedFalse: "false",
57
- excludeCommentsWithDifferentCommunityAddress: "true"
58
+ excludeCommentWithApprovedFalse: "false"
58
59
  }
59
60
  });
60
61
  export function parseBooleanOption(raw) {
@@ -1 +1 @@
1
- {"version":3,"file":"page-sort-options.js","sourceRoot":"","sources":["../../../src/pages/page-sort-options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page-sort-options.js","sourceRoot":"","sources":["../../../src/pages/page-sort-options.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,14 @@ import type { PageSortFile } from "../community/types.js";
3
3
  import type { PageIpfs, PageSortExclusionOptionName, PageSortReplyEntry } from "./types.js";
4
4
  type PageComment = PageIpfs["comments"][number];
5
5
  export declare function validatePageSortFile(rawFile: unknown): PageSortFile;
6
+ export declare function createCommunityIdentityRowFilter(communityAddress: string): (comment: {
7
+ communityPublicKey?: string;
8
+ communityName?: string;
9
+ }) => boolean;
6
10
  export declare function applyPageSortExclusions<T extends PageSortReplyEntry>({ comments, exclusions, communityAddress }: {
7
11
  comments: T[];
8
12
  exclusions: Record<PageSortExclusionOptionName, boolean>;
9
- communityAddress?: string;
13
+ communityAddress: string;
10
14
  }): T[];
11
15
  export declare function filterRepliesForPageSort<T extends PageSortReplyEntry>({ replies, communityAddress }: {
12
16
  replies: T[];
@@ -1,5 +1,6 @@
1
1
  import { PageSortFileSchema } from "../community/schema.js";
2
2
  import { getEquivalentCommunityAddresses } from "../util.js";
3
+ import { isStringDomain } from "../domain-util.js";
3
4
  // Validate what a factory returned, once, and hand back the file with its own functions rather than the schema's
4
5
  // per-call wrappers: `score` runs once per comment per sort, and the wrapper re-validated its argument object (the
5
6
  // whole `replies` list included, for a requireReplies file) on every call (issue #351). The generator checks the
@@ -13,11 +14,27 @@ export function validatePageSortFile(rawFile) {
13
14
  ...(raw.validatePageSortSettings ? { validatePageSortSettings: raw.validatePageSortSettings } : {})
14
15
  };
15
16
  }
16
- // The reserved exclusions applied to page entries in JS. Mirrors the SQL clauses in DbHandler (exclusionClauses): a comment is removed when commentUpdate.removed is true, deleted when its author's edit says so,
17
- // disapproved when commentUpdate.approved is false, pending when commentUpdate.pendingApproval is true.
17
+ // The community identity rule (issue #401): which rows belong in this community's pages and counts, by the community
18
+ // fields the comment's author signed. It is the rule client page verification applies (verifyPageComment), so the
19
+ // community never hides a row a client would accept: a community with a name admits rows whose communityName is absent
20
+ // or is that name or its .eth/.bso alias; a community without a name admits rows whose communityPublicKey is absent or
21
+ // is its key. The JS twin of DbHandler's community identity clause. Always on, it is not a page sort option.
22
+ export function createCommunityIdentityRowFilter(communityAddress) {
23
+ if (isStringDomain(communityAddress)) {
24
+ const equivalentNames = new Set(getEquivalentCommunityAddresses(communityAddress));
25
+ return (comment) => !comment.communityName || equivalentNames.has(comment.communityName);
26
+ }
27
+ return (comment) => !comment.communityPublicKey || comment.communityPublicKey === communityAddress;
28
+ }
29
+ // The reserved exclusions applied to page entries in JS, plus the always-on community identity rule. Mirrors the SQL
30
+ // clauses in DbHandler (exclusionClauses): a comment is removed when commentUpdate.removed is true, deleted when its
31
+ // author's edit says so, disapproved when commentUpdate.approved is false, pending when commentUpdate.pendingApproval
32
+ // is true.
18
33
  export function applyPageSortExclusions({ comments, exclusions, communityAddress }) {
19
- const equivalentAddresses = communityAddress ? new Set(getEquivalentCommunityAddresses(communityAddress)) : undefined;
34
+ const belongsToCommunity = createCommunityIdentityRowFilter(communityAddress);
20
35
  return comments.filter(({ comment, commentUpdate }) => {
36
+ if (!belongsToCommunity(comment))
37
+ return false;
21
38
  if (exclusions.excludeRemovedComments && commentUpdate.removed === true)
22
39
  return false;
23
40
  if (exclusions.excludeDeletedComments && commentUpdate.edit?.deleted === true)
@@ -26,17 +43,11 @@ export function applyPageSortExclusions({ comments, exclusions, communityAddress
26
43
  return false;
27
44
  if (exclusions.excludeCommentPendingApproval && commentUpdate.pendingApproval === true)
28
45
  return false;
29
- if (exclusions.excludeCommentsWithDifferentCommunityAddress && equivalentAddresses) {
30
- const belongs = (comment.communityPublicKey ? equivalentAddresses.has(comment.communityPublicKey) : false) ||
31
- (comment.communityName ? equivalentAddresses.has(comment.communityName) : false);
32
- if (!belongs)
33
- return false;
34
- }
35
46
  return true;
36
47
  });
37
48
  }
38
- // The `replies` a requireReplies file receives: every reply in the scope except ones from another community address
39
- // (issue #407). The sort's exclude* options are not applied, they reach the file in `options`: a removed or deleted
49
+ // The `replies` a requireReplies file receives: every reply in the scope that passes the community identity rule
50
+ // (issues #401, #407). The sort's exclude* options are not applied, they reach the file in `options`: a removed or deleted
40
51
  // reply is a tombstone whose present replies still count (docs/protocol/comment-lifecycle.md, "Which replies count"),
41
52
  // so dropping it would cut its subtree, and the file decides what counts. Replies with no CommentUpdate never get
42
53
  // here (the DB query joins on commentUpdates). Reply pages keep tombstones too, so a client walking them gets this set.
@@ -47,8 +58,7 @@ export function filterRepliesForPageSort({ replies, communityAddress }) {
47
58
  excludeRemovedComments: false,
48
59
  excludeDeletedComments: false,
49
60
  excludeCommentWithApprovedFalse: false,
50
- excludeCommentPendingApproval: false,
51
- excludeCommentsWithDifferentCommunityAddress: true
61
+ excludeCommentPendingApproval: false
52
62
  },
53
63
  communityAddress
54
64
  });
@@ -1 +1 @@
1
- {"version":3,"file":"page-sort-scoring.js","sourceRoot":"","sources":["../../../src/pages/page-sort-scoring.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page-sort-scoring.js","sourceRoot":"","sources":["../../../src/pages/page-sort-scoring.ts"],"names":[],"mappings":"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"}
@@ -22,7 +22,7 @@ export type SortProps = {
22
22
  };
23
23
  export type PostSort = Record<PostSortName, SortProps>;
24
24
  export type ReplySort = Record<ReplySortName, SortProps>;
25
- export type PageSortExclusionOptionName = "excludeRemovedComments" | "excludeDeletedComments" | "excludeCommentPendingApproval" | "excludeCommentWithApprovedFalse" | "excludeCommentsWithDifferentCommunityAddress";
25
+ export type PageSortExclusionOptionName = "excludeRemovedComments" | "excludeDeletedComments" | "excludeCommentPendingApproval" | "excludeCommentWithApprovedFalse";
26
26
  export interface PageSortReplyEntry {
27
27
  comment: Pick<CommentIpfsType, "parentCid" | "postCid" | "depth" | "timestamp" | "content" | "title" | "link" | "author" | "communityPublicKey" | "communityName" | "nsfw" | "spoiler" | "flairs">;
28
28
  commentUpdate: Pick<CommentUpdateType, "cid" | "upvoteCount" | "downvoteCount" | "replyCount" | "childCount" | "updatedAt" | "lastReplyTimestamp" | "pinned" | "locked" | "removed" | "approved" | "nsfw" | "spoiler" | "flairs"> & {
@@ -9,7 +9,7 @@ export declare class PKCError extends CustomError {
9
9
  toString(): string;
10
10
  toJSON(): {
11
11
  name: string;
12
- code: "ERR_COMMUNITY_SIGNER_NOT_DEFINED" | "ERR_COMMUNITY_CAN_EITHER_RUN_OR_UPDATE" | "ERR_PUBLICATION_MISSING_FIELD" | "ERR_COMMUNITY_MISSING_FIELD" | "ERR_COMMUNITY_CHALLENGE_EXCHANGE_DISABLED" | "ERR_COMMUNITY_OPTIONS_MISSING_ADDRESS" | "ERR_INVALID_COMMUNITY_ADDRESS_SCHEMA" | "ERR_CID_IS_INVALID" | "ERR_DATA_PATH_IS_NOT_DEFINED" | "ERR_COMMUNITY_OWNER_ATTEMPTED_EDIT_NEW_ADDRESS_THAT_ALREADY_EXISTS" | "ERR_COMMENT_MISSING_IPFS_AND_UPDATE" | "ERR_COMMENT_MISSING_CID" | "ERR_COMMENT_MISSING_IPFS" | "ERR_COMMENT_MISSING_UPDATE" | "ERR_COMMENT_IPFS_COMMUNITY_NAME_MISMATCH" | "ERR_NEED_TO_STOP_UPDATING_COMMUNITY_BEFORE_STARTING" | "ERR_HELIAS_STOPPING_OR_STOPPED" | "ERR_FAILED_TO_DIAL_ANY_PUBSUB_PEERS_FROM_DELEGATED_ROUTERS" | "ERR_FETCH_OVER_IPNS_OVER_PUBSUB_RETURNED_UNDEFINED" | "ERR_FAILED_TO_DIAL_ANY_PEERS_PROVIDING_CID" | "ERR_GET_COMMUNITY_TIMED_OUT" | "ERR_GET_COMMUNITY_ABORTED" | "ERR_COMMUNITY_STOPPED_WHILE_LOADING" | "ERR_GET_COMMENT_ABORTED" | "ERR_TIMEOUT_WAITING_FOR_PUBSUB_TOPIC_PEERS" | "ERR_PUBSUB_TOPIC_PEER_WAIT_ABORTED" | "ERR_IPNS_DIRECT_FETCH_ABORTED" | "ERR_TIMED_OUT_RM_MFS_FILE" | "ERR_ABORTED_RESOLVING_TEXT_RECORD" | "ERR_CALLED_COMMUNITY_STOP_WITHOUT_UPDATE" | "ERR_PKC_MISSING_NATIVE_FUNCTIONS" | "ERR_CAN_NOT_RUN_A_COMMUNITY_WITH_NO_IPFS_NODE" | "ERR_PKC_OPTION_NOT_ACCEPTED" | "ERR_FAILED_TO_GET_CONFIG_ON_KUBO_NODE" | "ERR_FAILED_TO_SET_CONFIG_ON_KUBO_NODE" | "ERR_FAILED_TO_SHUTDOWN_KUBO_NODE" | "ERR_CAN_NOT_CREATE_A_LOCAL_COMMUNITY" | "ERR_CAN_NOT_CREATE_A_COMMUNITY_WITH_BOTH_SIGNER_AND_ANCHOR" | "ERR_CAN_NOT_CREATE_A_COMMUNITY_WITH_BOTH_ANCHOR_AND_IDENTIFIER" | "ERR_ANCHOR_PUBLIC_KEY_IS_INVALID" | "ERR_COMMUNITY_IS_NOT_DELEGATED" | "ERR_UNABLE_TO_DETERMINE_ANCHOR_SEQUENCE" | "ERR_ANCHOR_IPNS_RECORD_IS_INVALID" | "ERR_ANCHOR_IPNS_RECORD_POINTS_TO_DIFFERENT_MINTER" | "ERR_ANCHOR_IPNS_RECORD_SEQUENCE_IS_NOT_GREATER" | "ERR_DELEGATED_COMMUNITY_HAS_NO_ANCHOR_RECORD" | "ERR_COMMUNITY_ADDRESS_IS_PROVIDED_AS_NULL_OR_UNDEFINED" | "ERR_UNABLE_TO_DERIVE_PUBSUB_COMMENT_PUBLICATION_FROM_JSONIFIED_COMMENT" | "ERR_UNABLE_TO_DERIVE_PUBSUB_COMMENT_EDIT_PUBLICATION_FROM_JSONIFIED_COMMENT_EDIT" | "ERR_UNABLE_TO_DERIVE_PUBSUB_COMMENT_MODERATION_PUBLICATION_FROM_JSONIFIED_COMMENT_MODERATION" | "ERR_UNABLE_TO_DERIVE_PUBSUB_VOTE_PUBLICATION_FROM_JSONIFIED_VOTE" | "ERR_UNABLE_TO_DERIVE_PUBSUB_COMMUNITY_EDIT_PUBLICATION_FROM_JSONIFIED_COMMUNITY_EDIT" | "ERR_PKC_SQLITE_LONG_TERM_STORAGE_KEYV_ERROR" | "ERR_PKC_IS_DESTROYED" | "ERR_FAILED_TO_FETCH_IPFS_VIA_GATEWAY" | "ERR_FAILED_TO_FETCH_IPFS_CID_VIA_IPFS_P2P" | "ERR_FAILED_TO_FETCH_IPNS_VIA_GATEWAY" | "ERR_IPNS_RECORD_NOT_FOUND" | "ERR_FAILED_TO_FETCH_COMMUNITY_FROM_GATEWAYS" | "ERR_FETCH_OVER_IPNS_OVER_PUBSUB_FAILED" | "ERR_LIBP2P_FETCH_IPNS_FROM_PEER_TIMEDOUT" | "ERR_FAILED_TO_FETCH_COMMENT_IPFS_FROM_GATEWAYS" | "ERR_FAILED_TO_FETCH_COMMENT_UPDATE_FROM_GATEWAYS" | "ERR_FAILED_TO_FETCH_PAGE_IPFS_FROM_GATEWAYS" | "ERR_FAILED_TO_FETCH_GENERIC_IPFS_FROM_GATEWAYS" | "ERR_FAILED_TO_RESOLVE_IPNS_VIA_IPFS_P2P" | "ERR_FAILED_TO_FETCH_COMMENT_UPDATE_FROM_ALL_POST_UPDATES_RANGES" | "ERR_COMMUNITY_HAS_NO_POST_UPDATES" | "ERR_FAILED_TO_FETCH_GENERIC" | "ERR_OVER_DOWNLOAD_LIMIT" | "ERR_CALCULATED_CID_DOES_NOT_MATCH" | "ERR_FAILED_TO_FETCH_THUMBNAIL_URL_OF_LINK" | "ERR_FAILED_TO_FETCH_THUMBNAIL_DIMENSION_OF_LINK" | "ERR_COMMUNITY_NAME_HAS_CAPITAL_LETTER" | "ERR_GATEWAY_TIMED_OUT_OR_ABORTED" | "ERR_FAILED_TO_PARSE_CID_FROM_GATEWAY_RESPONSE_ETAG" | "ERR_GATEWAY_MISSING_ETAG_HEADER" | "ERR_GATEWAY_ABORTING_LOADING_COMMUNITY_BECAUSE_SAME_INVALID_COMMUNITY_RECORD" | "ERR_GATEWAY_ABORTING_LOADING_COMMUNITY_BECAUSE_SAME_UPDATE_CID" | "ERR_GATEWAY_ABORTING_LOADING_COMMUNITY_BECAUSE_WE_ALREADY_LOADED_THIS_RECORD" | "ERR_GATEWAY_PROVIDED_INCORRECT_X_IPFS_ROOTS" | "ERR_REMOTE_COMMUNITY_RECEIVED_ALREADY_PROCCESSED_RECORD" | "ERR_COMMENT_RECEIVED_ALREADY_PROCESSED_COMMENT_UPDATE" | "ERR_FETCH_CID_P2P_TIMEOUT" | "ERR_INVALID_KUBO_STYLE_TIMEOUT" | "ERR_FETCH_CID_P2P_TIMEOUT_AFTER_RETRIES" | "ERR_RESOLVED_IPNS_P2P_TO_UNDEFINED" | "ERR_COMMUNITY_UNREACHABLE_FROM_THIS_CLIENT" | "ERR_IPNS_RESOLUTION_P2P_TIMEOUT" | "ERR_IPNS_MAX_HOPS_EXCEEDED" | "ERR_RESOLVED_IPNS_TO_UNSUPPORTED_VALUE" | "ERR_GATEWAY_IPNS_RECORD_CHAIN_INVALID" | "ERR_FIND_PROVIDERS_TIMEOUT" | "ERR_NO_DEFAULT_IPFS_PROVIDER" | "ERR_NO_DEFAULT_PUBSUB_PROVIDER" | "ERR_NO_DEFAULT_KUBO_RPC_PUBSUB_PROVIDER" | "ERR_NO_DEFAULT_KUBO_RPC_IPFS_PROVIDER" | "ERR_CAN_NOT_HAVE_BOTH_KUBO_AND_LIBP2P_JS_CLIENTS_DEFINED" | "ERR_INVALID_PUBSUB_PROVIDER" | "ERR_ADDED_COMMENT_IPFS_TO_IPFS_BUT_GOT_DIFFERENT_CID" | "ERR_NO_PUBSUB_PROVIDERS_AVAILABLE_TO_PUBLISH_OVER_PUBSUB" | "ERR_INVALID_JSON" | "ERR_INVALID_COMMENT_IPFS_SCHEMA" | "ERR_REPLY_HAS_NOT_DEFINED_POST_CID" | "ERR_REPLY_POST_CID_IS_NOT_PARENT_OF_REPLY" | "ERR_POST_CANNOT_HAVE_QUOTED_CIDS" | "ERR_QUOTED_CID_DOES_NOT_EXIST" | "ERR_QUOTED_CID_NOT_UNDER_POST" | "ERR_QUOTED_CID_IS_PENDING_APPROVAL" | "ERR_CROSSPOST_CID_DOES_NOT_MATCH_EMBEDDED_COMMENT" | "ERR_CROSSPOST_COMMENT_SIGNATURE_IS_INVALID" | "ERR_CROSSPOST_COMMENT_INCLUDES_RESERVED_FIELD" | "ERR_CROSSPOST_COMMENT_AUTHOR_INCLUDES_RESERVED_FIELD" | "ERR_CROSSPOST_COMMENT_INCLUDES_SIGNABLE_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_COMMENT_IPFS_RECORD_INCLUDES_SIGNABLE_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_CROSSPOST_CHAIN_EXCEEDS_MAX_DEPTH" | "ERR_NOT_ALLOWED_TO_PUBLISH_CROSSPOSTS" | "ERR_CROSSPOST_CHAIN_EXCEEDS_COMMUNITY_MAX_DEPTH" | "ERR_INVALID_COMMUNITY_IPFS_SCHEMA" | "ERR_INVALID_COMMENT_UPDATE_SCHEMA" | "ERR_INVALID_PAGE_IPFS_SCHEMA" | "ERR_INVALID_MODQUEUE_PAGE_IPFS_SCHEMA" | "ERR_INVALID_CHALLENGE_DECRYPTED_SCHEMA" | "ERR_INVALID_CHALLENGE_VERIFICATION_DECRYPTED_SCHEMA" | "ERR_INVALID_RPC_ENCODED_CHALLENGE_REQUEST_PUBSUB_MSG_SCHEMA" | "ERR_INVALID_RPC_ENCODED_CHALLENGE_PUBSUB_MSG_SCHEMA" | "ERR_INVALID_RPC_ENCODED_CHALLENGE_ANSWER_PUBSUB_MSG_SCHEMA" | "ERR_INVALID_RPC_ENCODED_CHALLENGE_VERIFICATION_PUBSUB_MSG_SCHEMA" | "ERR_INVALID_RPC_LOCAL_COMMUNITY_UPDATE_SCHEMA" | "ERR_INVALID_RPC_COMMUNITY_UPDATING_STATE_SCHEMA" | "ERR_INVALID_RPC_COMMUNITY_STARTED_STATE_SCHEMA" | "ERR_INVALID_RPC_ENCODED_CHALLENGE_REQUEST_WITH_COMMUNITY_AUTHOR_PUBSUB_MSG_SCHEMA" | "ERR_INVALID_RPC_REMOTE_COMMUNITY_SCHEMA" | "ERR_INVALID_RPC_PUBLICATION_PUBLISHING_STATE_SCHEMA" | "ERR_INVALID_RPC_PUBLICATION_STATE_SCHEMA" | "ERR_INVALID_CID_STRING_SCHEMA" | "ERR_LOCAL_COMMUNITY_PRODUCED_INVALID_SCHEMA" | "ERR_INVALID_RPC_COMMENT_UPDATE_SCHEMA" | "ERR_INVALID_RPC_COMMENT_SCHEMA" | "ERR_INVALID_RPC_COMMENT_UPDATING_STATE_SCHEMA" | "ERR_INVALID_RPC_COMMENT_STATE_SCHEMA" | "ERR_INVALID_CREATE_COMMUNITY_ARGS_SCHEMA" | "ERR_INVALID_CREATE_COMMENT_EDIT_ARGS_SCHEMA" | "ERR_INVALID_CREATE_VOTE_ARGS_SCHEMA" | "ERR_INVALID_CREATE_COMMENT_MODERATION_ARGS_SCHEMA" | "ERR_INVALID_CREATE_COMMENT_ARGS_SCHEMA" | "ERR_INVALID_CREATE_REMOTE_COMMUNITY_ARGS_SCHEMA" | "ERR_INVALID_CREATE_COMMUNITY_EDIT_ARGS_SCHEMA" | "ERR_GENERIC_RPC_INVALID_SCHEMA" | "ERR_INVALID_NEW_WS_SERVER_SETTINGS_SCHEMA" | "ERR_INVALID_CREATE_NEW_LOCAL_COMMUNITY_USER_OPTIONS" | "ERR_INVALID_COMMENT_EDIT_CHALLENGE_REQUEST_TO_ENCRYPT_SCHEMA" | "ERR_INVALID_VOTE_CHALLENGE_REQUEST_TO_ENCRYPT_SCHEMA" | "ERR_INVALID_COMMENT_CHALLENGE_REQUEST_TO_ENCRYPT_SCHEMA" | "ERR_INVALID_COMMENT_MODERATION_CHALLENGE_REQUEST_TO_ENCRYPT_SCHEMA" | "ERR_INVALID_COMMUNITY_EDIT_CHALLENGE_REQUEST_TO_ENCRYPT_SCHEMA" | "ERR_COMMUNITY_EDIT_OPTIONS_SCHEMA" | "ERR_INVALID_CHALLENGE_ANSWERS" | "ERR_CHALLENGE_ANSWER_ALREADY_PUBLISHED" | "ERR_INVALID_CREATE_PKC_WS_SERVER_OPTIONS_SCHEMA" | "ERR_INVALID_CREATE_PKC_ARGS_SCHEMA" | "ERR_INVALID_CREATE_COMMUNITY_WITH_RPC_ARGS_SCHEMA" | "ERR_CHALLENGE_EXCLUDE_ADDRESS_FIELD_REMOVED" | "ERR_CHALLENGE_EXCLUDE_ROLE_FIELD_RENAMED" | "ERR_CHALLENGE_EXCLUDE_PUBLIC_KEYS_MUST_NOT_BE_DOMAIN" | "ERR_CHALLENGE_EXCLUDE_NAMES_MUST_BE_DOMAIN" | "ERR_CAN_NOT_SET_EXCLUDE_PUBLICATION_TO_EMPTY_OBJECT" | "ERR_COMMUNITY_HAS_NO_INTERNAL_STATE" | "ERR_AUTHOR_ADDRESS_NOT_MATCHING_SIGNER" | "ERR_AUTHOR_ADDRESS_IS_NOT_A_DOMAIN_OR_B58" | "ERR_SIGNATURE_PUBLIC_KEY_IS_NOT_B58" | "ERR_PUBLICATION_FAILED_TO_DECRYPT_CHALLENGE" | "ERR_SIGNATURE_IS_INVALID" | "ERR_SIGNATURE_HAS_NO_PUBLIC_KEY" | "ERR_COMMENT_UPDATE_EDIT_SIGNATURE_IS_INVALID" | "ERR_THE_COMMUNITY_IPNS_RECORD_POINTS_TO_DIFFERENT_ADDRESS_THAN_WE_EXPECTED" | "ERR_COMMUNITY_NAME_RESOLVES_TO_DIFFERENT_PUBLIC_KEY" | "ERR_AUTHOR_NOT_MATCHING_SIGNATURE" | "ERR_AUTHOR_NAME_MUST_BE_A_DOMAIN" | "ERR_COMMUNITY_IPNS_NAME_DOES_NOT_MATCH_SIGNATURE_PUBLIC_KEY" | "ERR_COMMUNITY_ENCRYPTION_PUBLIC_KEY_DOES_NOT_MATCH_SIGNATURE_PUBLIC_KEY" | "ERR_COMMENT_SHOULD_BE_THE_LATEST_EDIT" | "ERR_COMMENT_UPDATE_IS_NOT_SIGNED_BY_COMMUNITY" | "ERR_AUTHOR_EDIT_IS_NOT_SIGNED_BY_AUTHOR" | "ERR_COMMENT_UPDATE_DIFFERENT_CID_THAN_COMMENT" | "ERR_PAGE_COMMENT_POST_HAS_POST_CID_DEFINED_WITH_DEPTH_0" | "ERR_CHALLENGE_MSG_SIGNER_IS_NOT_COMMUNITY" | "ERR_CHALLENGE_VERIFICATION_MSG_SIGNER_IS_NOT_COMMUNITY" | "ERR_CHALLENGE_REQUEST_ID_NOT_DERIVED_FROM_SIGNATURE" | "ERR_CHALLENGE_SIGNATURE_IS_INVALID" | "ERR_CHALLENGE_VERIFICATION_SIGNATURE_IS_INVALID" | "ERR_LOCAL_COMMUNITY_PRODUCED_INVALID_SIGNATURE" | "ERR_COMMUNITY_POSTS_INVALID" | "ERR_COMMENT_IPFS_SIGNATURE_IS_INVALID" | "ERR_COMMENT_UPDATE_SIGNATURE_IS_INVALID" | "ERR_COMMENT_IPFS_RECORD_INCLUDES_RESERVED_FIELD" | "ERR_COMMENT_IPFS_AUTHOR_INCLUDES_RESERVED_FIELD" | "ERR_COMMENT_UPDATE_RECORD_INCLUDES_RESERVED_FIELD" | "ERR_COMMUNITY_EDIT_HAS_RESERVED_FIELD" | "ERR_COMMUNITY_SIGNATURE_IS_INVALID" | "ERR_COMMUNITY_RECORD_INCLUDES_RESERVED_FIELD" | "ERR_COMMUNITY_RECORD_ANCHOR_CLAIM_DOES_NOT_MATCH_CHAIN_ANCHOR" | "ERR_COMMUNITY_RECORD_ANCHOR_CLAIM_IS_NOT_ENDORSED" | "ERR_FAILED_TO_RESOLVE_COMMUNITY_DOMAIN" | "ERR_AUTHOR_NAME_HAS_NO_RECORD" | "ERR_COMMUNITY_FAILED_TO_RESOLVE_AUTHOR_NAME" | "ERR_COMMUNITY_HAS_NO_RESOLVER_FOR_AUTHOR_NAME_TLD" | "ERR_AUTHOR_NAME_RECORD_IS_NOT_A_VALID_KEY" | "ERR_AUTHOR_DOMAIN_RESOLVES_TO_DIFFERENT_SIGNER" | "ERR_COMMUNITY_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_VOTE_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_COMMENT_EDIT_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_COMMENT_MODERATION_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_COMMENT_PUBSUB_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_COMMENT_UPDATE_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_CHALLENGE_REQUEST_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_CHALLENGE_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_CHALLENGE_ANSWER_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_CHALLENGE_VERIFICATION_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_COMMUNITY_EDIT_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_COMMUNITY_CHANGED_COMMENT_PUBSUB_PUBLICATION_PROPS" | "ERR_COMMUNITY_SENT_CHALLENGE_VERIFICATION_WITH_INVALID_COMMENT" | "ERR_COMMUNITY_SENT_CHALLENGE_VERIFICATION_WITH_INVALID_COMMENTUPDATE" | "ERR_COMMUNITY_SENT_CHALLENGE_VERIFICATION_WITH_INVALID_CID" | "ERR_PAGE_COMMENT_IS_INVALID" | "ERR_PAGE_COMMENT_IS_A_REPLY_BUT_HAS_NO_PARENT_COMMENT_INSTANCE" | "ERR_PAGE_COMMENT_DEPTH_VALUE_IS_NOT_RELATIVE_TO_ITS_PARENT" | "ERR_PAGE_COMMENT_PARENT_DOES_NOT_EXIST_IN_FLAT_PAGE" | "ERR_PAGE_COMMENT_POST_CID_IS_NOT_SAME_AS_POST_CID_OF_COMMENT_INSTANCE" | "ERR_REPLY_IN_FLAT_PAGE_HAS_NO_PARENT_CID" | "ERR_PAGE_COMMENT_NO_WAY_TO_DERIVE_POST_CID" | "ERR_POSTS_PAGE_IS_INVALID" | "ERR_REPLIES_PAGE_IS_INVALID" | "ERR_USER_ATTEMPTS_TO_VALIDATE_REPLIES_PAGE_WITHOUT_PARENT_COMMENT_CID" | "ERR_USER_ATTEMPTS_TO_VALIDATE_REPLIES_PAGE_WITHOUT_PARENT_COMMENT_DEPTH" | "ERR_USER_ATTEMPTS_TO_VALIDATE_REPLIES_PAGE_WITHOUT_PARENT_COMMENT_POST_CID" | "ERR_USER_ATTEMPTS_TO_GET_REPLIES_PAGE_WITHOUT_PARENT_COMMENT_CID" | "ERR_USER_ATTEMPTS_TO_GET_REPLIES_PAGE_WITHOUT_PARENT_COMMENT_DEPTH" | "ERR_USER_ATTEMPTS_TO_GET_REPLIES_PAGE_WITHOUT_PARENT_COMMENT_POST_CID" | "ERR_FAILED_TO_FIND_REPLY_COMMENT_UPDATE_WITHIN_PARENT_COMMENT_PAGE_CIDS" | "ERR_COMMUNITY_REGISTRY_LOOKUP_HAS_NO_ALIASES" | "ERR_INVALID_COMMENT_IPFS" | "ERR_COMMENT_MISSING_POST_CID" | "ERR_INVALID_COMMENT_UPDATE" | "ERR_COMMENT_IN_PAGE_BELONG_TO_DIFFERENT_COMMUNITY" | "ERR_PARENT_CID_OF_COMMENT_IN_PAGE_IS_NOT_CORRECT" | "ERR_PAGE_SIGNATURE_IS_INVALID" | "ERR_MOD_QUEUE_PAGE_IS_INVALID" | "ERR_CHALLENGE_ANSWER_WITH_NO_CHALLENGE_REQUEST" | "ERR_COMMUNITY_TIMED_OUT_WAITING_FOR_CHALLENGE_ANSWER" | "ERR_REUSED_PUBSUB_MSG_SIGNER" | "ERR_PUBSUB_MSG_TIMESTAMP_IS_OUTDATED" | "ERR_UNAUTHORIZED_COMMENT_EDIT" | "ERR_COMMUNITY_COMMENT_TIMESTAMP_IS_EARLIER_THAN_PARENT" | "ERR_USER_PUBLISHED_UNDER_PENDING_COMMENT" | "ERR_USER_PUBLISHED_UNDER_DISAPPROVED_COMMENT" | "ERR_MOD_ATTEMPTING_TO_APPROVE_OR_DISAPPROVE_COMMENT_THAT_IS_NOT_PENDING" | "ERR_PUBLICATION_PARENT_DOES_NOT_EXIST_IN_COMMUNITY" | "ERR_COMMUNITY_PUBLICATION_PARENT_CID_NOT_DEFINED" | "ERR_PUBLICATION_INVALID_COMMUNITY_ADDRESS" | "ERR_PUBLICATION_USES_DEPRECATED_SUBPLEBBIT_ADDRESS" | "ERR_PUBLICATION_USES_DEPRECATED_COMMUNITY_ADDRESS" | "ERR_PUBLICATION_INVALID_COMMUNITY_PUBLIC_KEY" | "ERR_PUBLICATION_SIGNED_TO_MINTER_INSTEAD_OF_ANCHOR" | "ERR_PUBLICATION_INVALID_COMMUNITY_NAME" | "ERR_AUTHOR_IS_BANNED" | "ERR_PUBLICATION_HAS_NO_AUTHOR_ADDRESS" | "ERR_COMMUNITY_PUBLICATION_PARENT_HAS_BEEN_REMOVED" | "ERR_COMMUNITY_PUBLICATION_PARENT_HAS_BEEN_DELETED" | "ERR_COMMUNITY_PUBLICATION_POST_HAS_BEEN_DELETED" | "ERR_COMMUNITY_PUBLICATION_POST_HAS_BEEN_REMOVED" | "ERR_COMMUNITY_PUBLICATION_POST_IS_LOCKED" | "ERR_COMMUNITY_PUBLICATION_POST_IS_ARCHIVED" | "ERR_FORBIDDEN_AUTHOR_FIELD" | "ERR_FORBIDDEN_COMMENT_FIELD" | "ERR_FORBIDDEN_SIGNER_FIELD" | "ERR_DUPLICATE_COMMENT" | "ERR_DUPLICATE_COMMENT_MODERATION" | "ERR_DUPLICATE_COMMENT_EDIT" | "ERR_AUTHOR_ADDRESS_UNDEFINED" | "ERR_COMMUNITY_FAILED_TO_DECRYPT_PUBSUB_MSG" | "ERR_REQUEST_PUBLICATION_OVER_ALLOWED_SIZE" | "UNAUTHORIZED_AUTHOR_ATTEMPTED_TO_CHANGE_VOTE" | "COMMENT_LINK_LENGTH_IS_OVER_LIMIT" | "INCORRECT_VOTE_VALUE" | "ERR_COMMENT_HAS_INVALID_LINK_FIELD" | "ERR_POST_LINK_IS_NOT_OF_MEDIA" | "ERR_REPLY_HAS_INVALID_LINK_FIELD" | "ERR_REPLY_LINK_IS_NOT_OF_MEDIA" | "ERR_COMMENT_CONTENT_CONTAINS_MARKDOWN_IMAGE" | "ERR_COMMENT_CONTENT_CONTAINS_MARKDOWN_VIDEO" | "ERR_COMMENT_HAS_LINK_THAT_IS_IMAGE" | "ERR_COMMENT_HAS_LINK_THAT_IS_VIDEO" | "ERR_COMMENT_HAS_SPOILER_ENABLED" | "ERR_REPLY_HAS_LINK_THAT_IS_IMAGE" | "ERR_REPLY_HAS_LINK_THAT_IS_VIDEO" | "ERR_COMMENT_HAS_LINK_THAT_IS_AUDIO" | "ERR_REPLY_HAS_LINK_THAT_IS_AUDIO" | "ERR_REPLY_HAS_LINK" | "ERR_COMMENT_CONTENT_CONTAINS_MARKDOWN_AUDIO" | "ERR_REPLY_HAS_SPOILER_ENABLED" | "ERR_NESTED_REPLIES_NOT_ALLOWED" | "ERR_COMMENT_HAS_NO_CONTENT_LINK_TITLE" | "ERR_COMMENT_EDIT_HAS_NO_EDIT_FIELD" | "ERR_COMMENT_MODERATION_HAS_NO_MODERATION_FIELD" | "ERR_REQUEST_ENCRYPTED_IS_INVALID_JSON_AFTER_DECRYPTION" | "ERR_REQUEST_ENCRYPTED_HAS_INVALID_SCHEMA_AFTER_DECRYPTING" | "ERR_CHALLENGE_REQUEST_ENCRYPTED_HAS_NO_PUBLICATION_AFTER_DECRYPTING" | "ERR_CHALLENGE_REQUEST_ENCRYPTED_HAS_MULTIPLE_PUBLICATIONS_AFTER_DECRYPTING" | "ERR_CHALLENGE_ANSWER_IS_INVALID_JSON" | "ERR_CHALLENGE_ANSWER_IS_INVALID_SCHEMA" | "ERR_COMMENT_HAS_RESERVED_FIELD" | "ERR_VOTE_HAS_RESERVED_FIELD" | "ERR_COMMENT_EDIT_HAS_RESERVED_FIELD" | "ERR_PUBLICATION_AUTHOR_HAS_RESERVED_FIELD" | "ERR_PUBLICATION_AUTHOR_IS_AN_EMPTY_OBJECT" | "ERR_PUBLICATION_HAS_MALFORMED_UNICODE_STRING" | "ERR_COMMUNITY_CANNOT_STORE_PUBLICATION_VERBATIM" | "ERR_COMMENT_EDIT_CAN_NOT_EDIT_COMMENT_IF_NOT_ORIGINAL_AUTHOR" | "ERR_COMMENT_MODERATION_NO_COMMENT_TO_EDIT" | "ERR_COMMENT_EDIT_NO_COMMENT_TO_EDIT" | "ERR_COMMENT_MODERATION_HAS_RESERVED_FIELD" | "ERR_COMMENT_MODERATION_ATTEMPTED_WITHOUT_BEING_MODERATOR" | "ERR_COMMUNITY_EDIT_ATTEMPTED_TO_MODIFY_OWNER_EXCLUSIVE_PROPS" | "ERR_COMMUNITY_EDIT_ATTEMPTED_TO_MODIFY_COMMUNITY_WITHOUT_BEING_OWNER_OR_ADMIN" | "ERR_COMMUNITY_EDIT_ATTEMPTED_TO_NON_PUBLIC_PROPS" | "ERR_PUBLICATION_TIMESTAMP_IS_NOT_IN_PROPER_RANGE" | "ERR_NOT_ALLOWED_TO_PUBLISH_UPVOTES" | "ERR_NOT_ALLOWED_TO_PUBLISH_DOWNVOTES" | "ERR_NOT_ALLOWED_TO_PUBLISH_POST_DOWNVOTES" | "ERR_NOT_ALLOWED_TO_PUBLISH_POST_UPVOTES" | "ERR_NOT_ALLOWED_TO_PUBLISH_REPLY_DOWNVOTES" | "ERR_NOT_ALLOWED_TO_PUBLISH_REPLY_UPVOTES" | "ERR_THERE_IS_NO_PREVIOUS_VOTE_TO_CANCEL" | "ERR_POST_FLAIRS_NOT_ALLOWED" | "ERR_POST_FLAIRS_REQUIRED" | "ERR_POST_FLAIR_NOT_IN_ALLOWED_FLAIRS" | "ERR_AUTHOR_FLAIRS_NOT_ALLOWED" | "ERR_AUTHOR_FLAIRS_REQUIRED" | "ERR_AUTHOR_FLAIR_NOT_IN_ALLOWED_FLAIRS" | "ERR_COMMUNITY_COMMENT_MOD_CAN_NOT_LOCK_REPLY" | "ERR_COMMUNITY_COMMENT_MOD_CAN_NOT_ARCHIVE_REPLY" | "ERR_NOT_ALLOWED_TO_ARCHIVE_POSTS" | "ERR_COMMUNITY_COMMENT_EDIT_UNAUTHORIZED_FIELD" | "ERR_PUBLISHING_EDIT_WITH_BOTH_MOD_AND_AUTHOR_FIELDS" | "ERR_FAILED_TO_RESOLVE_TEXT_RECORD" | "ERR_NO_CHAIN_PROVIDER_FOR_CHAIN_TICKER" | "ERR_NO_RESOLVER_FOR_NAME" | "ERR_ALL_NAME_RESOLVERS_FAILED" | "ERR_DOMAIN_TXT_RECORD_NOT_FOUND" | "ERR_DOMAIN_COMMUNITY_ADDRESS_TXT_RECORD_POINT_TO_DIFFERENT_ADDRESS" | "ERR_RESOLVED_TEXT_RECORD_TO_NON_IPNS" | "ERR_COMMUNITY_DOMAIN_HAS_NO_TEXT_RECORD" | "ERR_LOCAL_COMMUNITY_HAS_NO_SIGNER_IN_INTERNAL_STATE" | "ERR_COMMUNITY_STATE_LOCKED" | "ERR_COMMUNITY_CREATION_LOCKED" | "ERR_COMMUNITY_ALREADY_STARTED" | "ERR_FAILED_TO_IMPORT_IPFS_KEY" | "ERR_LOCAL_COMMUNITY_PRODUCED_INVALID_RECORD" | "ERR_FAILED_TO_PARSE_LOCAL_RAW_IPNS_RECORD" | "ERR_FAILED_TO_LOAD_LOCAL_RAW_IPNS_RECORD" | "ERR_FAILED_TO_IMPORT_CHALLENGE_FILE_FACTORY" | "ERR_FAILED_TO_IMPORT_CHALLENGE_FILE" | "ERR_CHALLENGE_FILE_INVALID" | "ERR_INVALID_RESULT_FROM_GET_CHALLENGE_FUNCTION" | "ERR_LOCAL_COMMUNITY_RECORD_TOO_LARGE" | "ERR_CAN_NOT_LOAD_DB_IF_LOCAL_COMMUNITY_ALREADY_STARTED_IN_ANOTHER_PROCESS" | "ERR_CAN_NOT_EDIT_A_LOCAL_COMMUNITY_THAT_IS_ALREADY_STARTED_IN_ANOTHER_PROCESS" | "CAN_NOT_LOAD_LOCAL_COMMUNITY_IF_DB_DOES_NOT_EXIST" | "ERR_COMMUNITY_START_FAILED_UNKNOWN_ERROR" | "ERR_COMMUNITY_ALREADY_STARTED_IN_SAME_PKC_INSTANCE" | "ERR_PAGE_GENERATED_IS_OVER_EXPECTED_SIZE" | "ERR_PUBSUB_FAILED_TO_SUBSCRIBE" | "ERR_PUBSUB_FAILED_TO_UNSUBSCRIBE" | "ERR_PUBSUB_FAILED_TO_PUBLISH" | "ERR_PUBSUB_DID_NOT_RECEIVE_RESPONSE_AFTER_PUBLISHING_CHALLENGE_REQUEST" | "ERR_ALL_PUBSUB_PROVIDERS_THROW_ERRORS" | "ERR_CHALLENGE_REQUEST_RECEIVED_NO_RESPONSE_FROM_ANY_PROVIDER" | "ERR_PUBLICATION_DID_NOT_RECEIVE_RESPONSE" | "ERR_RPC_AUTH_REQUIRED" | "ERR_FAILED_TO_OPEN_CONNECTION_TO_RPC" | "ERR_FAILED_TO_CREATE_WS_RPC_SERVER" | "ERR_RPC_CLIENT_ATTEMPTING_TO_START_A_REMOTE_COMMUNITY" | "ERR_RPC_COMMUNITY_NOT_RUNNING" | "ERR_RPC_CLIENT_TRYING_TO_STOP_COMMUNITY_THAT_IS_NOT_RUNNING" | "ERR_RPC_CLIENT_TRYING_TO_STOP_REMOTE_COMMUNITY" | "ERR_RPC_CLIENT_TRYING_TO_EDIT_REMOTE_COMMUNITY" | "ERR_RPC_CLIENT_TRYING_TO_DELETE_REMOTE_COMMUNITY" | "ERR_RPC_CLIENT_TRYING_TO_USE_ANCHOR_METHOD_ON_NON_LOCAL_COMMUNITY" | "ERR_RPC_PUBLICATION_LOST_WITH_CONNECTION" | "ERR_RPC_CLIENT_NO_ACTIVE_PUBLISH_SUBSCRIPTION" | "ERR_GENERIC_RPC_CLIENT_CALL_ERROR" | "ERR_RPC_CALL_TIMED_OUT" | "ERR_RPC_CLIENT_CHALLENGE_NAME_NOT_AVAILABLE_ON_SERVER" | "ERR_ROLE_ADDRESS_NAME_COULD_NOT_BE_RESOLVED" | "ERR_COMMUNITY_NOT_LOCAL" | "ERR_COMMUNITY_NOT_FOUND" | "ERR_PRIVATE_KEY_EXPORT_NOT_ALLOWED" | "ERR_EXPORT_PATH_NOT_SUPPORTED_OVER_RPC" | "ERR_EXPORT_PATH_TARGETS_LIVE_DB" | "ERR_EXPORT_CANCELLED" | "ERR_EXPORT_BACKUP_FAILED" | "ERR_DOWNLOAD_EXPORT_ID_NOT_FOUND" | "ERR_CHALLENGE_RESULT_OVERRIDES_COMMENT_SIGNED_FIELD" | "ERR_CHALLENGE_RESULT_OVERRIDES_RESERVED_COMMENT_UPDATE_FIELD" | "ERR_CHALLENGE_RESULT_OVERRIDES_NON_COMMUNITY_AUTHOR_KEY" | "ERR_CHALLENGE_RESULT_OVERRIDES_RESERVED_COMMUNITY_AUTHOR_FIELD" | "ERR_CHALLENGE_OPTION_NOT_DECLARED_IN_OPTION_INPUTS" | "ERR_CHALLENGE_REQUIRED_OPTION_MISSING" | "ERR_CHALLENGE_PUBLIC_OPTION_NOT_DECLARED_IN_OPTION_INPUTS" | "ERR_CHALLENGE_SETTINGS_VALIDATION_FAILED" | "ERR_CHALLENGE_SETTINGS_VALIDATION_FAILED_FOR_CHALLENGES" | "ERR_CHALLENGE_NOT_REGISTERED" | "ERR_COMMUNITY_CHALLENGES_FAILED_TO_LOAD" | "ERR_FAILED_TO_IMPORT_PAGE_SORT_FILE_FACTORY" | "ERR_PAGE_SORT_FILE_INVALID" | "ERR_PAGE_SORT_DUPLICATE_SORT_NAME" | "ERR_PAGE_SORT_SCOPE_MISMATCH" | "ERR_PAGE_SORT_OPTION_NOT_DECLARED_IN_OPTION_INPUTS" | "ERR_PAGE_SORT_REQUIRED_OPTION_MISSING" | "ERR_PAGE_SORT_INVALID_RESERVED_OPTION" | "ERR_PAGE_SORT_PRIVATE_OPTION_NOT_SET" | "ERR_PAGE_SORT_RESERVED_OPTION_CANNOT_BE_PRIVATE" | "ERR_PAGE_SORT_SETTINGS_VALIDATION_FAILED" | "ERR_PAGE_SORT_SETTINGS_VALIDATION_FAILED_FOR_PAGE_SORTS" | "ERR_PAGE_SORT_FAILED_TO_GENERATE" | "ERR_ALL_PAGE_SORTS_FAILED_TO_GENERATE" | "ERR_RPC_CLIENT_PAGE_SORT_NAME_NOT_AVAILABLE_ON_SERVER";
12
+ code: "ERR_COMMUNITY_SIGNER_NOT_DEFINED" | "ERR_COMMUNITY_CAN_EITHER_RUN_OR_UPDATE" | "ERR_PUBLICATION_MISSING_FIELD" | "ERR_COMMUNITY_MISSING_FIELD" | "ERR_COMMUNITY_CHALLENGE_EXCHANGE_DISABLED" | "ERR_COMMUNITY_OPTIONS_MISSING_ADDRESS" | "ERR_INVALID_COMMUNITY_ADDRESS_SCHEMA" | "ERR_CID_IS_INVALID" | "ERR_DATA_PATH_IS_NOT_DEFINED" | "ERR_COMMUNITY_OWNER_ATTEMPTED_EDIT_NEW_ADDRESS_THAT_ALREADY_EXISTS" | "ERR_COMMUNITY_EDIT_NAME_AND_ADDRESS_MISMATCH" | "ERR_COMMENT_MISSING_IPFS_AND_UPDATE" | "ERR_COMMENT_MISSING_CID" | "ERR_COMMENT_MISSING_IPFS" | "ERR_COMMENT_MISSING_UPDATE" | "ERR_COMMENT_IPFS_COMMUNITY_NAME_MISMATCH" | "ERR_NEED_TO_STOP_UPDATING_COMMUNITY_BEFORE_STARTING" | "ERR_HELIAS_STOPPING_OR_STOPPED" | "ERR_FAILED_TO_DIAL_ANY_PUBSUB_PEERS_FROM_DELEGATED_ROUTERS" | "ERR_FETCH_OVER_IPNS_OVER_PUBSUB_RETURNED_UNDEFINED" | "ERR_FAILED_TO_DIAL_ANY_PEERS_PROVIDING_CID" | "ERR_GET_COMMUNITY_TIMED_OUT" | "ERR_GET_COMMUNITY_ABORTED" | "ERR_COMMUNITY_STOPPED_WHILE_LOADING" | "ERR_GET_COMMENT_ABORTED" | "ERR_TIMEOUT_WAITING_FOR_PUBSUB_TOPIC_PEERS" | "ERR_PUBSUB_TOPIC_PEER_WAIT_ABORTED" | "ERR_IPNS_DIRECT_FETCH_ABORTED" | "ERR_TIMED_OUT_RM_MFS_FILE" | "ERR_ABORTED_RESOLVING_TEXT_RECORD" | "ERR_CALLED_COMMUNITY_STOP_WITHOUT_UPDATE" | "ERR_PKC_MISSING_NATIVE_FUNCTIONS" | "ERR_CAN_NOT_RUN_A_COMMUNITY_WITH_NO_IPFS_NODE" | "ERR_PKC_OPTION_NOT_ACCEPTED" | "ERR_FAILED_TO_GET_CONFIG_ON_KUBO_NODE" | "ERR_FAILED_TO_SET_CONFIG_ON_KUBO_NODE" | "ERR_FAILED_TO_SHUTDOWN_KUBO_NODE" | "ERR_CAN_NOT_CREATE_A_LOCAL_COMMUNITY" | "ERR_CAN_NOT_CREATE_A_COMMUNITY_WITH_BOTH_SIGNER_AND_ANCHOR" | "ERR_CAN_NOT_CREATE_A_COMMUNITY_WITH_BOTH_ANCHOR_AND_IDENTIFIER" | "ERR_ANCHOR_PUBLIC_KEY_IS_INVALID" | "ERR_COMMUNITY_IS_NOT_DELEGATED" | "ERR_UNABLE_TO_DETERMINE_ANCHOR_SEQUENCE" | "ERR_ANCHOR_IPNS_RECORD_IS_INVALID" | "ERR_ANCHOR_IPNS_RECORD_POINTS_TO_DIFFERENT_MINTER" | "ERR_ANCHOR_IPNS_RECORD_SEQUENCE_IS_NOT_GREATER" | "ERR_DELEGATED_COMMUNITY_HAS_NO_ANCHOR_RECORD" | "ERR_COMMUNITY_ADDRESS_IS_PROVIDED_AS_NULL_OR_UNDEFINED" | "ERR_UNABLE_TO_DERIVE_PUBSUB_COMMENT_PUBLICATION_FROM_JSONIFIED_COMMENT" | "ERR_UNABLE_TO_DERIVE_PUBSUB_COMMENT_EDIT_PUBLICATION_FROM_JSONIFIED_COMMENT_EDIT" | "ERR_UNABLE_TO_DERIVE_PUBSUB_COMMENT_MODERATION_PUBLICATION_FROM_JSONIFIED_COMMENT_MODERATION" | "ERR_UNABLE_TO_DERIVE_PUBSUB_VOTE_PUBLICATION_FROM_JSONIFIED_VOTE" | "ERR_UNABLE_TO_DERIVE_PUBSUB_COMMUNITY_EDIT_PUBLICATION_FROM_JSONIFIED_COMMUNITY_EDIT" | "ERR_PKC_SQLITE_LONG_TERM_STORAGE_KEYV_ERROR" | "ERR_PKC_IS_DESTROYED" | "ERR_FAILED_TO_FETCH_IPFS_VIA_GATEWAY" | "ERR_FAILED_TO_FETCH_IPFS_CID_VIA_IPFS_P2P" | "ERR_FAILED_TO_FETCH_IPNS_VIA_GATEWAY" | "ERR_IPNS_RECORD_NOT_FOUND" | "ERR_FAILED_TO_FETCH_COMMUNITY_FROM_GATEWAYS" | "ERR_FETCH_OVER_IPNS_OVER_PUBSUB_FAILED" | "ERR_LIBP2P_FETCH_IPNS_FROM_PEER_TIMEDOUT" | "ERR_FAILED_TO_FETCH_COMMENT_IPFS_FROM_GATEWAYS" | "ERR_FAILED_TO_FETCH_COMMENT_UPDATE_FROM_GATEWAYS" | "ERR_FAILED_TO_FETCH_PAGE_IPFS_FROM_GATEWAYS" | "ERR_FAILED_TO_FETCH_GENERIC_IPFS_FROM_GATEWAYS" | "ERR_FAILED_TO_RESOLVE_IPNS_VIA_IPFS_P2P" | "ERR_FAILED_TO_FETCH_COMMENT_UPDATE_FROM_ALL_POST_UPDATES_RANGES" | "ERR_COMMUNITY_HAS_NO_POST_UPDATES" | "ERR_FAILED_TO_FETCH_GENERIC" | "ERR_OVER_DOWNLOAD_LIMIT" | "ERR_CALCULATED_CID_DOES_NOT_MATCH" | "ERR_FAILED_TO_FETCH_THUMBNAIL_URL_OF_LINK" | "ERR_FAILED_TO_FETCH_THUMBNAIL_DIMENSION_OF_LINK" | "ERR_COMMUNITY_NAME_HAS_CAPITAL_LETTER" | "ERR_GATEWAY_TIMED_OUT_OR_ABORTED" | "ERR_FAILED_TO_PARSE_CID_FROM_GATEWAY_RESPONSE_ETAG" | "ERR_GATEWAY_MISSING_ETAG_HEADER" | "ERR_GATEWAY_ABORTING_LOADING_COMMUNITY_BECAUSE_SAME_INVALID_COMMUNITY_RECORD" | "ERR_GATEWAY_ABORTING_LOADING_COMMUNITY_BECAUSE_SAME_UPDATE_CID" | "ERR_GATEWAY_ABORTING_LOADING_COMMUNITY_BECAUSE_WE_ALREADY_LOADED_THIS_RECORD" | "ERR_GATEWAY_PROVIDED_INCORRECT_X_IPFS_ROOTS" | "ERR_REMOTE_COMMUNITY_RECEIVED_ALREADY_PROCCESSED_RECORD" | "ERR_COMMENT_RECEIVED_ALREADY_PROCESSED_COMMENT_UPDATE" | "ERR_FETCH_CID_P2P_TIMEOUT" | "ERR_INVALID_KUBO_STYLE_TIMEOUT" | "ERR_FETCH_CID_P2P_TIMEOUT_AFTER_RETRIES" | "ERR_RESOLVED_IPNS_P2P_TO_UNDEFINED" | "ERR_COMMUNITY_UNREACHABLE_FROM_THIS_CLIENT" | "ERR_IPNS_RESOLUTION_P2P_TIMEOUT" | "ERR_IPNS_MAX_HOPS_EXCEEDED" | "ERR_RESOLVED_IPNS_TO_UNSUPPORTED_VALUE" | "ERR_GATEWAY_IPNS_RECORD_CHAIN_INVALID" | "ERR_FIND_PROVIDERS_TIMEOUT" | "ERR_NO_DEFAULT_IPFS_PROVIDER" | "ERR_NO_DEFAULT_PUBSUB_PROVIDER" | "ERR_NO_DEFAULT_KUBO_RPC_PUBSUB_PROVIDER" | "ERR_NO_DEFAULT_KUBO_RPC_IPFS_PROVIDER" | "ERR_CAN_NOT_HAVE_BOTH_KUBO_AND_LIBP2P_JS_CLIENTS_DEFINED" | "ERR_INVALID_PUBSUB_PROVIDER" | "ERR_ADDED_COMMENT_IPFS_TO_IPFS_BUT_GOT_DIFFERENT_CID" | "ERR_NO_PUBSUB_PROVIDERS_AVAILABLE_TO_PUBLISH_OVER_PUBSUB" | "ERR_INVALID_JSON" | "ERR_INVALID_COMMENT_IPFS_SCHEMA" | "ERR_REPLY_HAS_NOT_DEFINED_POST_CID" | "ERR_REPLY_POST_CID_IS_NOT_PARENT_OF_REPLY" | "ERR_POST_CANNOT_HAVE_QUOTED_CIDS" | "ERR_QUOTED_CID_DOES_NOT_EXIST" | "ERR_QUOTED_CID_NOT_UNDER_POST" | "ERR_QUOTED_CID_IS_PENDING_APPROVAL" | "ERR_CROSSPOST_CID_DOES_NOT_MATCH_EMBEDDED_COMMENT" | "ERR_CROSSPOST_COMMENT_SIGNATURE_IS_INVALID" | "ERR_CROSSPOST_COMMENT_INCLUDES_RESERVED_FIELD" | "ERR_CROSSPOST_COMMENT_AUTHOR_INCLUDES_RESERVED_FIELD" | "ERR_CROSSPOST_COMMENT_INCLUDES_SIGNABLE_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_COMMENT_IPFS_RECORD_INCLUDES_SIGNABLE_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_CROSSPOST_CHAIN_EXCEEDS_MAX_DEPTH" | "ERR_NOT_ALLOWED_TO_PUBLISH_CROSSPOSTS" | "ERR_CROSSPOST_CHAIN_EXCEEDS_COMMUNITY_MAX_DEPTH" | "ERR_INVALID_COMMUNITY_IPFS_SCHEMA" | "ERR_INVALID_COMMENT_UPDATE_SCHEMA" | "ERR_INVALID_PAGE_IPFS_SCHEMA" | "ERR_INVALID_MODQUEUE_PAGE_IPFS_SCHEMA" | "ERR_INVALID_CHALLENGE_DECRYPTED_SCHEMA" | "ERR_INVALID_CHALLENGE_VERIFICATION_DECRYPTED_SCHEMA" | "ERR_INVALID_RPC_ENCODED_CHALLENGE_REQUEST_PUBSUB_MSG_SCHEMA" | "ERR_INVALID_RPC_ENCODED_CHALLENGE_PUBSUB_MSG_SCHEMA" | "ERR_INVALID_RPC_ENCODED_CHALLENGE_ANSWER_PUBSUB_MSG_SCHEMA" | "ERR_INVALID_RPC_ENCODED_CHALLENGE_VERIFICATION_PUBSUB_MSG_SCHEMA" | "ERR_INVALID_RPC_LOCAL_COMMUNITY_UPDATE_SCHEMA" | "ERR_INVALID_RPC_COMMUNITY_UPDATING_STATE_SCHEMA" | "ERR_INVALID_RPC_COMMUNITY_STARTED_STATE_SCHEMA" | "ERR_INVALID_RPC_ENCODED_CHALLENGE_REQUEST_WITH_COMMUNITY_AUTHOR_PUBSUB_MSG_SCHEMA" | "ERR_INVALID_RPC_REMOTE_COMMUNITY_SCHEMA" | "ERR_INVALID_RPC_PUBLICATION_PUBLISHING_STATE_SCHEMA" | "ERR_INVALID_RPC_PUBLICATION_STATE_SCHEMA" | "ERR_INVALID_CID_STRING_SCHEMA" | "ERR_LOCAL_COMMUNITY_PRODUCED_INVALID_SCHEMA" | "ERR_INVALID_RPC_COMMENT_UPDATE_SCHEMA" | "ERR_INVALID_RPC_COMMENT_SCHEMA" | "ERR_INVALID_RPC_COMMENT_UPDATING_STATE_SCHEMA" | "ERR_INVALID_RPC_COMMENT_STATE_SCHEMA" | "ERR_INVALID_CREATE_COMMUNITY_ARGS_SCHEMA" | "ERR_INVALID_CREATE_COMMENT_EDIT_ARGS_SCHEMA" | "ERR_INVALID_CREATE_VOTE_ARGS_SCHEMA" | "ERR_INVALID_CREATE_COMMENT_MODERATION_ARGS_SCHEMA" | "ERR_INVALID_CREATE_COMMENT_ARGS_SCHEMA" | "ERR_INVALID_CREATE_REMOTE_COMMUNITY_ARGS_SCHEMA" | "ERR_INVALID_CREATE_COMMUNITY_EDIT_ARGS_SCHEMA" | "ERR_GENERIC_RPC_INVALID_SCHEMA" | "ERR_INVALID_NEW_WS_SERVER_SETTINGS_SCHEMA" | "ERR_INVALID_CREATE_NEW_LOCAL_COMMUNITY_USER_OPTIONS" | "ERR_INVALID_COMMENT_EDIT_CHALLENGE_REQUEST_TO_ENCRYPT_SCHEMA" | "ERR_INVALID_VOTE_CHALLENGE_REQUEST_TO_ENCRYPT_SCHEMA" | "ERR_INVALID_COMMENT_CHALLENGE_REQUEST_TO_ENCRYPT_SCHEMA" | "ERR_INVALID_COMMENT_MODERATION_CHALLENGE_REQUEST_TO_ENCRYPT_SCHEMA" | "ERR_INVALID_COMMUNITY_EDIT_CHALLENGE_REQUEST_TO_ENCRYPT_SCHEMA" | "ERR_COMMUNITY_EDIT_OPTIONS_SCHEMA" | "ERR_INVALID_CHALLENGE_ANSWERS" | "ERR_CHALLENGE_ANSWER_ALREADY_PUBLISHED" | "ERR_INVALID_CREATE_PKC_WS_SERVER_OPTIONS_SCHEMA" | "ERR_INVALID_CREATE_PKC_ARGS_SCHEMA" | "ERR_INVALID_CREATE_COMMUNITY_WITH_RPC_ARGS_SCHEMA" | "ERR_CHALLENGE_EXCLUDE_ADDRESS_FIELD_REMOVED" | "ERR_CHALLENGE_EXCLUDE_ROLE_FIELD_RENAMED" | "ERR_CHALLENGE_EXCLUDE_PUBLIC_KEYS_MUST_NOT_BE_DOMAIN" | "ERR_CHALLENGE_EXCLUDE_NAMES_MUST_BE_DOMAIN" | "ERR_CAN_NOT_SET_EXCLUDE_PUBLICATION_TO_EMPTY_OBJECT" | "ERR_COMMUNITY_HAS_NO_INTERNAL_STATE" | "ERR_AUTHOR_ADDRESS_NOT_MATCHING_SIGNER" | "ERR_AUTHOR_ADDRESS_IS_NOT_A_DOMAIN_OR_B58" | "ERR_SIGNATURE_PUBLIC_KEY_IS_NOT_B58" | "ERR_PUBLICATION_FAILED_TO_DECRYPT_CHALLENGE" | "ERR_SIGNATURE_IS_INVALID" | "ERR_SIGNATURE_HAS_NO_PUBLIC_KEY" | "ERR_COMMENT_UPDATE_EDIT_SIGNATURE_IS_INVALID" | "ERR_THE_COMMUNITY_IPNS_RECORD_POINTS_TO_DIFFERENT_ADDRESS_THAN_WE_EXPECTED" | "ERR_COMMUNITY_NAME_RESOLVES_TO_DIFFERENT_PUBLIC_KEY" | "ERR_AUTHOR_NOT_MATCHING_SIGNATURE" | "ERR_AUTHOR_NAME_MUST_BE_A_DOMAIN" | "ERR_COMMUNITY_IPNS_NAME_DOES_NOT_MATCH_SIGNATURE_PUBLIC_KEY" | "ERR_COMMUNITY_ENCRYPTION_PUBLIC_KEY_DOES_NOT_MATCH_SIGNATURE_PUBLIC_KEY" | "ERR_COMMENT_SHOULD_BE_THE_LATEST_EDIT" | "ERR_COMMENT_UPDATE_IS_NOT_SIGNED_BY_COMMUNITY" | "ERR_AUTHOR_EDIT_IS_NOT_SIGNED_BY_AUTHOR" | "ERR_COMMENT_UPDATE_DIFFERENT_CID_THAN_COMMENT" | "ERR_PAGE_COMMENT_POST_HAS_POST_CID_DEFINED_WITH_DEPTH_0" | "ERR_CHALLENGE_MSG_SIGNER_IS_NOT_COMMUNITY" | "ERR_CHALLENGE_VERIFICATION_MSG_SIGNER_IS_NOT_COMMUNITY" | "ERR_CHALLENGE_REQUEST_ID_NOT_DERIVED_FROM_SIGNATURE" | "ERR_CHALLENGE_SIGNATURE_IS_INVALID" | "ERR_CHALLENGE_VERIFICATION_SIGNATURE_IS_INVALID" | "ERR_LOCAL_COMMUNITY_PRODUCED_INVALID_SIGNATURE" | "ERR_COMMUNITY_POSTS_INVALID" | "ERR_COMMENT_IPFS_SIGNATURE_IS_INVALID" | "ERR_COMMENT_UPDATE_SIGNATURE_IS_INVALID" | "ERR_COMMENT_IPFS_RECORD_INCLUDES_RESERVED_FIELD" | "ERR_COMMENT_IPFS_AUTHOR_INCLUDES_RESERVED_FIELD" | "ERR_COMMENT_UPDATE_RECORD_INCLUDES_RESERVED_FIELD" | "ERR_COMMUNITY_EDIT_HAS_RESERVED_FIELD" | "ERR_COMMUNITY_SIGNATURE_IS_INVALID" | "ERR_COMMUNITY_RECORD_INCLUDES_RESERVED_FIELD" | "ERR_COMMUNITY_RECORD_ANCHOR_CLAIM_DOES_NOT_MATCH_CHAIN_ANCHOR" | "ERR_COMMUNITY_RECORD_ANCHOR_CLAIM_IS_NOT_ENDORSED" | "ERR_FAILED_TO_RESOLVE_COMMUNITY_DOMAIN" | "ERR_AUTHOR_NAME_HAS_NO_RECORD" | "ERR_COMMUNITY_FAILED_TO_RESOLVE_AUTHOR_NAME" | "ERR_COMMUNITY_HAS_NO_RESOLVER_FOR_AUTHOR_NAME_TLD" | "ERR_AUTHOR_NAME_RECORD_IS_NOT_A_VALID_KEY" | "ERR_AUTHOR_DOMAIN_RESOLVES_TO_DIFFERENT_SIGNER" | "ERR_COMMUNITY_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_VOTE_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_COMMENT_EDIT_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_COMMENT_MODERATION_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_COMMENT_PUBSUB_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_COMMENT_UPDATE_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_CHALLENGE_REQUEST_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_CHALLENGE_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_CHALLENGE_ANSWER_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_CHALLENGE_VERIFICATION_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_COMMUNITY_EDIT_RECORD_INCLUDES_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES" | "ERR_COMMUNITY_CHANGED_COMMENT_PUBSUB_PUBLICATION_PROPS" | "ERR_COMMUNITY_SENT_CHALLENGE_VERIFICATION_WITH_INVALID_COMMENT" | "ERR_COMMUNITY_SENT_CHALLENGE_VERIFICATION_WITH_INVALID_COMMENTUPDATE" | "ERR_COMMUNITY_SENT_CHALLENGE_VERIFICATION_WITH_INVALID_CID" | "ERR_PAGE_COMMENT_IS_INVALID" | "ERR_PAGE_COMMENT_IS_A_REPLY_BUT_HAS_NO_PARENT_COMMENT_INSTANCE" | "ERR_PAGE_COMMENT_DEPTH_VALUE_IS_NOT_RELATIVE_TO_ITS_PARENT" | "ERR_PAGE_COMMENT_PARENT_DOES_NOT_EXIST_IN_FLAT_PAGE" | "ERR_PAGE_COMMENT_POST_CID_IS_NOT_SAME_AS_POST_CID_OF_COMMENT_INSTANCE" | "ERR_REPLY_IN_FLAT_PAGE_HAS_NO_PARENT_CID" | "ERR_PAGE_COMMENT_NO_WAY_TO_DERIVE_POST_CID" | "ERR_POSTS_PAGE_IS_INVALID" | "ERR_REPLIES_PAGE_IS_INVALID" | "ERR_USER_ATTEMPTS_TO_VALIDATE_REPLIES_PAGE_WITHOUT_PARENT_COMMENT_CID" | "ERR_USER_ATTEMPTS_TO_VALIDATE_REPLIES_PAGE_WITHOUT_PARENT_COMMENT_DEPTH" | "ERR_USER_ATTEMPTS_TO_VALIDATE_REPLIES_PAGE_WITHOUT_PARENT_COMMENT_POST_CID" | "ERR_USER_ATTEMPTS_TO_GET_REPLIES_PAGE_WITHOUT_PARENT_COMMENT_CID" | "ERR_USER_ATTEMPTS_TO_GET_REPLIES_PAGE_WITHOUT_PARENT_COMMENT_DEPTH" | "ERR_USER_ATTEMPTS_TO_GET_REPLIES_PAGE_WITHOUT_PARENT_COMMENT_POST_CID" | "ERR_FAILED_TO_FIND_REPLY_COMMENT_UPDATE_WITHIN_PARENT_COMMENT_PAGE_CIDS" | "ERR_COMMUNITY_REGISTRY_LOOKUP_HAS_NO_ALIASES" | "ERR_INVALID_COMMENT_IPFS" | "ERR_COMMENT_MISSING_POST_CID" | "ERR_INVALID_COMMENT_UPDATE" | "ERR_COMMENT_IN_PAGE_BELONG_TO_DIFFERENT_COMMUNITY" | "ERR_PARENT_CID_OF_COMMENT_IN_PAGE_IS_NOT_CORRECT" | "ERR_PAGE_SIGNATURE_IS_INVALID" | "ERR_MOD_QUEUE_PAGE_IS_INVALID" | "ERR_CHALLENGE_ANSWER_WITH_NO_CHALLENGE_REQUEST" | "ERR_COMMUNITY_TIMED_OUT_WAITING_FOR_CHALLENGE_ANSWER" | "ERR_REUSED_PUBSUB_MSG_SIGNER" | "ERR_PUBSUB_MSG_TIMESTAMP_IS_OUTDATED" | "ERR_UNAUTHORIZED_COMMENT_EDIT" | "ERR_COMMUNITY_COMMENT_TIMESTAMP_IS_EARLIER_THAN_PARENT" | "ERR_USER_PUBLISHED_UNDER_PENDING_COMMENT" | "ERR_USER_PUBLISHED_UNDER_DISAPPROVED_COMMENT" | "ERR_MOD_ATTEMPTING_TO_APPROVE_OR_DISAPPROVE_COMMENT_THAT_IS_NOT_PENDING" | "ERR_PUBLICATION_PARENT_DOES_NOT_EXIST_IN_COMMUNITY" | "ERR_COMMUNITY_PUBLICATION_PARENT_CID_NOT_DEFINED" | "ERR_PUBLICATION_INVALID_COMMUNITY_ADDRESS" | "ERR_PUBLICATION_USES_DEPRECATED_SUBPLEBBIT_ADDRESS" | "ERR_PUBLICATION_USES_DEPRECATED_COMMUNITY_ADDRESS" | "ERR_PUBLICATION_INVALID_COMMUNITY_PUBLIC_KEY" | "ERR_PUBLICATION_SIGNED_TO_MINTER_INSTEAD_OF_ANCHOR" | "ERR_PUBLICATION_INVALID_COMMUNITY_NAME" | "ERR_PUBLICATION_MISSING_COMMUNITY_NAME" | "ERR_AUTHOR_IS_BANNED" | "ERR_PUBLICATION_HAS_NO_AUTHOR_ADDRESS" | "ERR_COMMUNITY_PUBLICATION_PARENT_HAS_BEEN_REMOVED" | "ERR_COMMUNITY_PUBLICATION_PARENT_HAS_BEEN_DELETED" | "ERR_COMMUNITY_PUBLICATION_POST_HAS_BEEN_DELETED" | "ERR_COMMUNITY_PUBLICATION_POST_HAS_BEEN_REMOVED" | "ERR_COMMUNITY_PUBLICATION_POST_IS_LOCKED" | "ERR_COMMUNITY_PUBLICATION_POST_IS_ARCHIVED" | "ERR_FORBIDDEN_AUTHOR_FIELD" | "ERR_FORBIDDEN_COMMENT_FIELD" | "ERR_FORBIDDEN_SIGNER_FIELD" | "ERR_DUPLICATE_COMMENT" | "ERR_DUPLICATE_COMMENT_MODERATION" | "ERR_DUPLICATE_COMMENT_EDIT" | "ERR_AUTHOR_ADDRESS_UNDEFINED" | "ERR_COMMUNITY_FAILED_TO_DECRYPT_PUBSUB_MSG" | "ERR_REQUEST_PUBLICATION_OVER_ALLOWED_SIZE" | "UNAUTHORIZED_AUTHOR_ATTEMPTED_TO_CHANGE_VOTE" | "COMMENT_LINK_LENGTH_IS_OVER_LIMIT" | "INCORRECT_VOTE_VALUE" | "ERR_COMMENT_HAS_INVALID_LINK_FIELD" | "ERR_POST_LINK_IS_NOT_OF_MEDIA" | "ERR_REPLY_HAS_INVALID_LINK_FIELD" | "ERR_REPLY_LINK_IS_NOT_OF_MEDIA" | "ERR_COMMENT_CONTENT_CONTAINS_MARKDOWN_IMAGE" | "ERR_COMMENT_CONTENT_CONTAINS_MARKDOWN_VIDEO" | "ERR_COMMENT_HAS_LINK_THAT_IS_IMAGE" | "ERR_COMMENT_HAS_LINK_THAT_IS_VIDEO" | "ERR_COMMENT_HAS_SPOILER_ENABLED" | "ERR_REPLY_HAS_LINK_THAT_IS_IMAGE" | "ERR_REPLY_HAS_LINK_THAT_IS_VIDEO" | "ERR_COMMENT_HAS_LINK_THAT_IS_AUDIO" | "ERR_REPLY_HAS_LINK_THAT_IS_AUDIO" | "ERR_REPLY_HAS_LINK" | "ERR_COMMENT_CONTENT_CONTAINS_MARKDOWN_AUDIO" | "ERR_REPLY_HAS_SPOILER_ENABLED" | "ERR_NESTED_REPLIES_NOT_ALLOWED" | "ERR_COMMENT_HAS_NO_CONTENT_LINK_TITLE" | "ERR_COMMENT_EDIT_HAS_NO_EDIT_FIELD" | "ERR_COMMENT_MODERATION_HAS_NO_MODERATION_FIELD" | "ERR_REQUEST_ENCRYPTED_IS_INVALID_JSON_AFTER_DECRYPTION" | "ERR_REQUEST_ENCRYPTED_HAS_INVALID_SCHEMA_AFTER_DECRYPTING" | "ERR_CHALLENGE_REQUEST_ENCRYPTED_HAS_NO_PUBLICATION_AFTER_DECRYPTING" | "ERR_CHALLENGE_REQUEST_ENCRYPTED_HAS_MULTIPLE_PUBLICATIONS_AFTER_DECRYPTING" | "ERR_CHALLENGE_ANSWER_IS_INVALID_JSON" | "ERR_CHALLENGE_ANSWER_IS_INVALID_SCHEMA" | "ERR_COMMENT_HAS_RESERVED_FIELD" | "ERR_VOTE_HAS_RESERVED_FIELD" | "ERR_COMMENT_EDIT_HAS_RESERVED_FIELD" | "ERR_PUBLICATION_AUTHOR_HAS_RESERVED_FIELD" | "ERR_PUBLICATION_AUTHOR_IS_AN_EMPTY_OBJECT" | "ERR_PUBLICATION_HAS_MALFORMED_UNICODE_STRING" | "ERR_COMMUNITY_CANNOT_STORE_PUBLICATION_VERBATIM" | "ERR_COMMENT_EDIT_CAN_NOT_EDIT_COMMENT_IF_NOT_ORIGINAL_AUTHOR" | "ERR_COMMENT_MODERATION_NO_COMMENT_TO_EDIT" | "ERR_COMMENT_EDIT_NO_COMMENT_TO_EDIT" | "ERR_COMMENT_MODERATION_HAS_RESERVED_FIELD" | "ERR_COMMENT_MODERATION_ATTEMPTED_WITHOUT_BEING_MODERATOR" | "ERR_COMMUNITY_EDIT_ATTEMPTED_TO_MODIFY_OWNER_EXCLUSIVE_PROPS" | "ERR_COMMUNITY_EDIT_ATTEMPTED_TO_MODIFY_COMMUNITY_WITHOUT_BEING_OWNER_OR_ADMIN" | "ERR_COMMUNITY_EDIT_ATTEMPTED_TO_NON_PUBLIC_PROPS" | "ERR_PUBLICATION_TIMESTAMP_IS_NOT_IN_PROPER_RANGE" | "ERR_NOT_ALLOWED_TO_PUBLISH_UPVOTES" | "ERR_NOT_ALLOWED_TO_PUBLISH_DOWNVOTES" | "ERR_NOT_ALLOWED_TO_PUBLISH_POST_DOWNVOTES" | "ERR_NOT_ALLOWED_TO_PUBLISH_POST_UPVOTES" | "ERR_NOT_ALLOWED_TO_PUBLISH_REPLY_DOWNVOTES" | "ERR_NOT_ALLOWED_TO_PUBLISH_REPLY_UPVOTES" | "ERR_THERE_IS_NO_PREVIOUS_VOTE_TO_CANCEL" | "ERR_POST_FLAIRS_NOT_ALLOWED" | "ERR_POST_FLAIRS_REQUIRED" | "ERR_POST_FLAIR_NOT_IN_ALLOWED_FLAIRS" | "ERR_AUTHOR_FLAIRS_NOT_ALLOWED" | "ERR_AUTHOR_FLAIRS_REQUIRED" | "ERR_AUTHOR_FLAIR_NOT_IN_ALLOWED_FLAIRS" | "ERR_COMMUNITY_COMMENT_MOD_CAN_NOT_LOCK_REPLY" | "ERR_COMMUNITY_COMMENT_MOD_CAN_NOT_ARCHIVE_REPLY" | "ERR_NOT_ALLOWED_TO_ARCHIVE_POSTS" | "ERR_COMMUNITY_COMMENT_EDIT_UNAUTHORIZED_FIELD" | "ERR_PUBLISHING_EDIT_WITH_BOTH_MOD_AND_AUTHOR_FIELDS" | "ERR_FAILED_TO_RESOLVE_TEXT_RECORD" | "ERR_NO_CHAIN_PROVIDER_FOR_CHAIN_TICKER" | "ERR_NO_RESOLVER_FOR_NAME" | "ERR_ALL_NAME_RESOLVERS_FAILED" | "ERR_DOMAIN_TXT_RECORD_NOT_FOUND" | "ERR_DOMAIN_COMMUNITY_ADDRESS_TXT_RECORD_POINT_TO_DIFFERENT_ADDRESS" | "ERR_RESOLVED_TEXT_RECORD_TO_NON_IPNS" | "ERR_COMMUNITY_DOMAIN_HAS_NO_TEXT_RECORD" | "ERR_LOCAL_COMMUNITY_HAS_NO_SIGNER_IN_INTERNAL_STATE" | "ERR_COMMUNITY_STATE_LOCKED" | "ERR_COMMUNITY_CREATION_LOCKED" | "ERR_COMMUNITY_ALREADY_STARTED" | "ERR_FAILED_TO_IMPORT_IPFS_KEY" | "ERR_LOCAL_COMMUNITY_PRODUCED_INVALID_RECORD" | "ERR_FAILED_TO_PARSE_LOCAL_RAW_IPNS_RECORD" | "ERR_FAILED_TO_LOAD_LOCAL_RAW_IPNS_RECORD" | "ERR_FAILED_TO_IMPORT_CHALLENGE_FILE_FACTORY" | "ERR_FAILED_TO_IMPORT_CHALLENGE_FILE" | "ERR_CHALLENGE_FILE_INVALID" | "ERR_INVALID_RESULT_FROM_GET_CHALLENGE_FUNCTION" | "ERR_LOCAL_COMMUNITY_RECORD_TOO_LARGE" | "ERR_CAN_NOT_LOAD_DB_IF_LOCAL_COMMUNITY_ALREADY_STARTED_IN_ANOTHER_PROCESS" | "ERR_CAN_NOT_EDIT_A_LOCAL_COMMUNITY_THAT_IS_ALREADY_STARTED_IN_ANOTHER_PROCESS" | "CAN_NOT_LOAD_LOCAL_COMMUNITY_IF_DB_DOES_NOT_EXIST" | "ERR_COMMUNITY_START_FAILED_UNKNOWN_ERROR" | "ERR_COMMUNITY_ALREADY_STARTED_IN_SAME_PKC_INSTANCE" | "ERR_PAGE_GENERATED_IS_OVER_EXPECTED_SIZE" | "ERR_PUBSUB_FAILED_TO_SUBSCRIBE" | "ERR_PUBSUB_FAILED_TO_UNSUBSCRIBE" | "ERR_PUBSUB_FAILED_TO_PUBLISH" | "ERR_PUBSUB_DID_NOT_RECEIVE_RESPONSE_AFTER_PUBLISHING_CHALLENGE_REQUEST" | "ERR_ALL_PUBSUB_PROVIDERS_THROW_ERRORS" | "ERR_CHALLENGE_REQUEST_RECEIVED_NO_RESPONSE_FROM_ANY_PROVIDER" | "ERR_PUBLICATION_DID_NOT_RECEIVE_RESPONSE" | "ERR_RPC_AUTH_REQUIRED" | "ERR_FAILED_TO_OPEN_CONNECTION_TO_RPC" | "ERR_FAILED_TO_CREATE_WS_RPC_SERVER" | "ERR_RPC_CLIENT_ATTEMPTING_TO_START_A_REMOTE_COMMUNITY" | "ERR_RPC_COMMUNITY_NOT_RUNNING" | "ERR_RPC_CLIENT_TRYING_TO_STOP_COMMUNITY_THAT_IS_NOT_RUNNING" | "ERR_RPC_CLIENT_TRYING_TO_STOP_REMOTE_COMMUNITY" | "ERR_RPC_CLIENT_TRYING_TO_EDIT_REMOTE_COMMUNITY" | "ERR_RPC_CLIENT_TRYING_TO_DELETE_REMOTE_COMMUNITY" | "ERR_RPC_CLIENT_TRYING_TO_USE_ANCHOR_METHOD_ON_NON_LOCAL_COMMUNITY" | "ERR_RPC_PUBLICATION_LOST_WITH_CONNECTION" | "ERR_RPC_CLIENT_NO_ACTIVE_PUBLISH_SUBSCRIPTION" | "ERR_GENERIC_RPC_CLIENT_CALL_ERROR" | "ERR_RPC_CALL_TIMED_OUT" | "ERR_RPC_CLIENT_CHALLENGE_NAME_NOT_AVAILABLE_ON_SERVER" | "ERR_ROLE_ADDRESS_NAME_COULD_NOT_BE_RESOLVED" | "ERR_COMMUNITY_NOT_LOCAL" | "ERR_COMMUNITY_NOT_FOUND" | "ERR_PRIVATE_KEY_EXPORT_NOT_ALLOWED" | "ERR_EXPORT_PATH_NOT_SUPPORTED_OVER_RPC" | "ERR_EXPORT_PATH_TARGETS_LIVE_DB" | "ERR_EXPORT_CANCELLED" | "ERR_EXPORT_BACKUP_FAILED" | "ERR_DOWNLOAD_EXPORT_ID_NOT_FOUND" | "ERR_CHALLENGE_RESULT_OVERRIDES_COMMENT_SIGNED_FIELD" | "ERR_CHALLENGE_RESULT_OVERRIDES_RESERVED_COMMENT_UPDATE_FIELD" | "ERR_CHALLENGE_RESULT_OVERRIDES_NON_COMMUNITY_AUTHOR_KEY" | "ERR_CHALLENGE_RESULT_OVERRIDES_RESERVED_COMMUNITY_AUTHOR_FIELD" | "ERR_CHALLENGE_OPTION_NOT_DECLARED_IN_OPTION_INPUTS" | "ERR_CHALLENGE_REQUIRED_OPTION_MISSING" | "ERR_CHALLENGE_PUBLIC_OPTION_NOT_DECLARED_IN_OPTION_INPUTS" | "ERR_CHALLENGE_SETTINGS_VALIDATION_FAILED" | "ERR_CHALLENGE_SETTINGS_VALIDATION_FAILED_FOR_CHALLENGES" | "ERR_CHALLENGE_NOT_REGISTERED" | "ERR_COMMUNITY_CHALLENGES_FAILED_TO_LOAD" | "ERR_FAILED_TO_IMPORT_PAGE_SORT_FILE_FACTORY" | "ERR_PAGE_SORT_FILE_INVALID" | "ERR_PAGE_SORT_DUPLICATE_SORT_NAME" | "ERR_PAGE_SORT_SCOPE_MISMATCH" | "ERR_PAGE_SORT_OPTION_NOT_DECLARED_IN_OPTION_INPUTS" | "ERR_PAGE_SORT_REQUIRED_OPTION_MISSING" | "ERR_PAGE_SORT_INVALID_RESERVED_OPTION" | "ERR_PAGE_SORT_PRIVATE_OPTION_NOT_SET" | "ERR_PAGE_SORT_RESERVED_OPTION_CANNOT_BE_PRIVATE" | "ERR_PAGE_SORT_SETTINGS_VALIDATION_FAILED" | "ERR_PAGE_SORT_SETTINGS_VALIDATION_FAILED_FOR_PAGE_SORTS" | "ERR_PAGE_SORT_FAILED_TO_GENERATE" | "ERR_ALL_PAGE_SORTS_FAILED_TO_GENERATE" | "ERR_RPC_CLIENT_PAGE_SORT_NAME_NOT_AVAILABLE_ON_SERVER";
13
13
  message: messages;
14
14
  stack: string | undefined;
15
15
  details: Record<string, any>;
@@ -103,6 +103,7 @@ export declare const CreateCommunityEditPublicationOptionsSchema: import("zod").
103
103
  bannerUrl: import("zod").ZodOptional<import("zod").ZodString>;
104
104
  backgroundUrl: import("zod").ZodOptional<import("zod").ZodString>;
105
105
  language: import("zod").ZodOptional<import("zod").ZodString>;
106
+ uiType: import("zod").ZodOptional<import("zod").ZodString>;
106
107
  }, import("zod/v4/core").$loose>>>;
107
108
  address: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodString>>;
108
109
  settings: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodObject<{
@@ -282,6 +283,7 @@ export declare const CreateCommunityEditPublicationOptionsWithRefinementSchema:
282
283
  bannerUrl: import("zod").ZodOptional<import("zod").ZodString>;
283
284
  backgroundUrl: import("zod").ZodOptional<import("zod").ZodString>;
284
285
  language: import("zod").ZodOptional<import("zod").ZodString>;
286
+ uiType: import("zod").ZodOptional<import("zod").ZodString>;
285
287
  }, import("zod/v4/core").$loose>>>;
286
288
  address: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodString>>;
287
289
  settings: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodObject<{
@@ -457,6 +459,7 @@ export declare const CommunityEditPubsubMessagePublicationSchema: import("zod").
457
459
  bannerUrl: import("zod").ZodOptional<import("zod").ZodString>;
458
460
  backgroundUrl: import("zod").ZodOptional<import("zod").ZodString>;
459
461
  language: import("zod").ZodOptional<import("zod").ZodString>;
462
+ uiType: import("zod").ZodOptional<import("zod").ZodString>;
460
463
  }, import("zod/v4/core").$loose>>>;
461
464
  address: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodString>>;
462
465
  settings: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodObject<{
@@ -634,6 +637,7 @@ export declare const CommunityEditPublicationChallengeRequestToEncryptSchema: im
634
637
  bannerUrl: import("zod").ZodOptional<import("zod").ZodString>;
635
638
  backgroundUrl: import("zod").ZodOptional<import("zod").ZodString>;
636
639
  language: import("zod").ZodOptional<import("zod").ZodString>;
640
+ uiType: import("zod").ZodOptional<import("zod").ZodString>;
637
641
  }, import("zod/v4/core").$loose>>>;
638
642
  address: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodString>>;
639
643
  settings: import("zod").ZodOptional<import("zod").ZodOptional<import("zod").ZodObject<{
@@ -36,6 +36,7 @@ declare class Publication extends TypedEmitter<PublicationEvents> {
36
36
  pubsubTopic?: CommunityIpfsType["pubsubTopic"];
37
37
  };
38
38
  _publishingToLocalCommunity?: LocalCommunity;
39
+ private _signedWithKnownCommunityFields;
39
40
  _backgroundCommunityRefresh?: Promise<unknown>;
40
41
  private _communityFetchAbortController?;
41
42
  private _communityFetchAbortSignal?;
@@ -78,6 +79,7 @@ declare class Publication extends TypedEmitter<PublicationEvents> {
78
79
  private _signPublication;
79
80
  _signPublicationWithCommunityFields(): Promise<void>;
80
81
  _signPublicationWithKnownCommunityFieldsIfAvailable(): Promise<void>;
82
+ private _isSignedWithoutTheLoadedCommunityName;
81
83
  protected _validateSignatureHook(): Promise<void>;
82
84
  protected _verifyDecryptedChallengeVerificationAndUpdateCommentProps(decryptedVerification: DecryptedChallengeVerification): Promise<void>;
83
85
  protected getType(): PublicationTypeName;
@@ -17,13 +17,17 @@ import { ChallengeRequestMessageSchema, ChallengeAnswerMessageSchema, ChallengeM
17
17
  import { decodeRpcChallengeAnswerPubsubMsg, decodeRpcChallengePubsubMsg, decodeRpcChallengeRequestPubsubMsg, decodeRpcChallengeVerificationPubsubMsg } from "../clients/rpc-client/decode-rpc-response-util.js";
18
18
  import { PublicationClientsManager } from "./publication-client-manager.js";
19
19
  import { buildRuntimeAuthor } from "./publication-author.js";
20
- import { buildRuntimeCommunityFields, normalizeCommunityInputFromCommunity } from "./publication-community.js";
20
+ import { buildRuntimeCommunityFields, getCommunityNameFromWire, normalizeCommunityInputFromCommunity } from "./publication-community.js";
21
21
  class Publication extends TypedEmitter {
22
22
  constructor(pkc) {
23
23
  super();
24
24
  this.raw = {};
25
25
  // private
26
26
  this._community = undefined; // will be used for publishing
27
+ // The message createX signed with only the community fields it knew, and the options it signed it from. When it was
28
+ // created with just the community's key, publish() re-signs it with the name of the community it loaded (issue #401).
29
+ // Initialized (not just declared) so hideClassPrivateProps sees it and keeps it out of JSON.
30
+ this._signedWithKnownCommunityFields = undefined;
27
31
  this._challengeExchanges = {};
28
32
  this._rpcPublishSubscriptionId = undefined;
29
33
  this._pkc = pkc;
@@ -116,12 +120,25 @@ class Publication extends TypedEmitter {
116
120
  async _signPublicationWithKnownCommunityFieldsIfAvailable() {
117
121
  if (!this.communityPublicKey || this.raw.pubsubMessageToPublish || !this.raw.unsignedPublicationOptions)
118
122
  return;
123
+ const unsignedOptions = this.raw.unsignedPublicationOptions;
119
124
  await this._signPublication({
120
125
  communityFields: {
121
126
  communityPublicKey: this.communityPublicKey,
122
127
  ...(this.communityName ? { communityName: this.communityName } : {})
123
128
  }
124
129
  });
130
+ if (this.raw.pubsubMessageToPublish)
131
+ this._signedWithKnownCommunityFields = { message: this.raw.pubsubMessageToPublish, unsignedOptions };
132
+ }
133
+ // A community with a name rejects a publication without it (ERR_PUBLICATION_MISSING_COMMUNITY_NAME), so one createX
134
+ // signed knowing only the community's key is signed again once the loaded record shows the community has a name. Only
135
+ // the message createX signed is re-signed: a message set another way, or signed with a name, is published as it is.
136
+ _isSignedWithoutTheLoadedCommunityName() {
137
+ const signed = this._signedWithKnownCommunityFields;
138
+ return Boolean(signed &&
139
+ this.raw.pubsubMessageToPublish === signed.message &&
140
+ this._community?.name &&
141
+ !getCommunityNameFromWire(signed.message));
125
142
  }
126
143
  async _validateSignatureHook() {
127
144
  // Subclasses override to validate signature after signing
@@ -1148,6 +1165,12 @@ class Publication extends TypedEmitter {
1148
1165
  if (this.raw.unsignedPublicationOptions && !this.raw.pubsubMessageToPublish) {
1149
1166
  await this._signPublicationWithCommunityFields();
1150
1167
  }
1168
+ else if (this._isSignedWithoutTheLoadedCommunityName()) {
1169
+ log(`Re-signing the ${this.getType()} with the name of community ${this._community.name}; it was created with only the community's key`);
1170
+ this.raw.unsignedPublicationOptions = this._signedWithKnownCommunityFields.unsignedOptions;
1171
+ this._signedWithKnownCommunityFields = undefined;
1172
+ await this._signPublicationWithCommunityFields();
1173
+ }
1151
1174
  await this._validateSignatureHook();
1152
1175
  if (this._pkc._pkcRpcClient)
1153
1176
  return this._publishWithRpc();