@pkcprotocol/pkc-js 0.0.124 → 0.0.126

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 (170) hide show
  1. package/README.md +54 -54
  2. package/dist/browser/clients/rpc-client/pkc-rpc-client.d.ts +3 -1
  3. package/dist/browser/clients/rpc-client/pkc-rpc-client.js +18 -3
  4. package/dist/browser/clients/rpc-client/pkc-rpc-client.js.map +1 -1
  5. package/dist/browser/clients/rpc-client/rpc-schema-util.d.ts +16 -0
  6. package/dist/browser/clients/rpc-client/rpc-schema-util.js +6 -1
  7. package/dist/browser/clients/rpc-client/rpc-schema-util.js.map +1 -1
  8. package/dist/browser/clients/rpc-client/schema.d.ts +12 -0
  9. package/dist/browser/clients/rpc-client/schema.js +9 -0
  10. package/dist/browser/clients/rpc-client/schema.js.map +1 -1
  11. package/dist/browser/clients/rpc-client/types.d.ts +5 -1
  12. package/dist/browser/community/community-client-manager.js +30 -9
  13. package/dist/browser/community/community-client-manager.js.map +1 -1
  14. package/dist/browser/community/community-wire.d.ts +6 -0
  15. package/dist/browser/community/community-wire.js +22 -1
  16. package/dist/browser/community/community-wire.js.map +1 -1
  17. package/dist/browser/community/remote-community.d.ts +7 -1
  18. package/dist/browser/community/remote-community.js +87 -11
  19. package/dist/browser/community/remote-community.js.map +1 -1
  20. package/dist/browser/community/rpc-remote-community.d.ts +1 -0
  21. package/dist/browser/community/rpc-remote-community.js +41 -6
  22. package/dist/browser/community/rpc-remote-community.js.map +1 -1
  23. package/dist/browser/community/schema.js +7 -1
  24. package/dist/browser/community/schema.js.map +1 -1
  25. package/dist/browser/community-list/community-list.d.ts +143 -0
  26. package/dist/browser/community-list/community-list.js +401 -0
  27. package/dist/browser/community-list/community-list.js.map +1 -0
  28. package/dist/browser/community-list/schema.d.ts +239 -0
  29. package/dist/browser/community-list/schema.js +95 -0
  30. package/dist/browser/community-list/schema.js.map +1 -0
  31. package/dist/browser/community-list/types.d.ts +19 -0
  32. package/dist/browser/community-list/types.js +2 -0
  33. package/dist/browser/community-list/types.js.map +1 -0
  34. package/dist/browser/errors.d.ts +19 -1
  35. package/dist/browser/errors.js +19 -0
  36. package/dist/browser/errors.js.map +1 -1
  37. package/dist/browser/generated-version.d.ts +1 -1
  38. package/dist/browser/generated-version.js +1 -1
  39. package/dist/browser/index.d.ts +2 -0
  40. package/dist/browser/pkc/pkc-client-manager.d.ts +4 -1
  41. package/dist/browser/pkc/pkc-client-manager.js +6 -4
  42. package/dist/browser/pkc/pkc-client-manager.js.map +1 -1
  43. package/dist/browser/pkc/pkc.d.ts +7 -0
  44. package/dist/browser/pkc/pkc.js +93 -0
  45. package/dist/browser/pkc/pkc.js.map +1 -1
  46. package/dist/browser/pkc/tracked-instance-registry-util.d.ts +1 -0
  47. package/dist/browser/pkc/tracked-instance-registry-util.js +34 -2
  48. package/dist/browser/pkc/tracked-instance-registry-util.js.map +1 -1
  49. package/dist/browser/pkc/tracked-instance-registry.d.ts +1 -0
  50. package/dist/browser/pkc/tracked-instance-registry.js +15 -0
  51. package/dist/browser/pkc/tracked-instance-registry.js.map +1 -1
  52. package/dist/browser/pkc-error.d.ts +1 -1
  53. package/dist/browser/publications/comment/comment-client-manager.d.ts +1 -0
  54. package/dist/browser/publications/comment/comment-client-manager.js +24 -4
  55. package/dist/browser/publications/comment/comment-client-manager.js.map +1 -1
  56. package/dist/browser/publications/comment/comment.js +6 -2
  57. package/dist/browser/publications/comment/comment.js.map +1 -1
  58. package/dist/browser/publications/publication-client-manager.d.ts +4 -1
  59. package/dist/browser/publications/publication-client-manager.js +51 -7
  60. package/dist/browser/publications/publication-client-manager.js.map +1 -1
  61. package/dist/browser/publications/publication.js +15 -1
  62. package/dist/browser/publications/publication.js.map +1 -1
  63. package/dist/browser/rpc/src/index.d.ts +3 -1
  64. package/dist/browser/rpc/src/index.js +45 -3
  65. package/dist/browser/rpc/src/index.js.map +1 -1
  66. package/dist/browser/runtime/node/community/local-community/comment-updates.js +2 -1
  67. package/dist/browser/runtime/node/community/local-community/comment-updates.js.map +1 -1
  68. package/dist/browser/schema/schema-util.d.ts +3 -0
  69. package/dist/browser/schema/schema-util.js +10 -0
  70. package/dist/browser/schema/schema-util.js.map +1 -1
  71. package/dist/browser/signer/signatures.d.ts +9 -0
  72. package/dist/browser/signer/signatures.js +30 -1
  73. package/dist/browser/signer/signatures.js.map +1 -1
  74. package/dist/browser/test/test-util.d.ts +1 -0
  75. package/dist/browser/test/test-util.js +6 -2
  76. package/dist/browser/test/test-util.js.map +1 -1
  77. package/dist/browser/util.js +6 -1
  78. package/dist/browser/util.js.map +1 -1
  79. package/dist/bundled/bundle-manifest.json +62 -58
  80. package/dist/bundled/challenges.js +1 -1
  81. package/dist/bundled/chunks/{helia-for-pkc-DfpR6JSl.js → helia-for-pkc-vQZvQcs_.js} +33 -33
  82. package/dist/bundled/chunks/{local-community-Ll4pUOKV.js → local-community-51NzNBUS.js} +32 -32
  83. package/dist/bundled/chunks/{local-community-CQ9M4cEY.js → local-community-dcM1R3k5.js} +1 -1
  84. package/dist/bundled/chunks/{node-BWOsSCO-.js → node-agDtcKUp.js} +487 -120
  85. package/dist/bundled/chunks/{page-sort-scoring-Y3zgv-l4.js → page-sort-scoring-BSBLegpC.js} +1 -1
  86. package/dist/bundled/chunks/{rpc-local-community-D8wgBsuD.js → rpc-local-community-DOcUqswi.js} +2580 -1077
  87. package/dist/bundled/chunks/{util-IESnqTnj.js → util-DNYbha6W.js} +1 -1
  88. package/dist/bundled/chunks/{util-Bd4vp_w6.js → util-PGPkG-gU.js} +2736 -994
  89. package/dist/bundled/chunks/{validate-package-factories-D527vDd_.js → validate-package-factories-2U8SCIxZ.js} +2 -2
  90. package/dist/bundled/index.js +1 -1
  91. package/dist/bundled/page-sorts.js +1 -1
  92. package/dist/bundled/rpc/src/index.js +31 -4
  93. package/dist/node/clients/rpc-client/pkc-rpc-client.d.ts +3 -1
  94. package/dist/node/clients/rpc-client/pkc-rpc-client.js +18 -3
  95. package/dist/node/clients/rpc-client/pkc-rpc-client.js.map +1 -1
  96. package/dist/node/clients/rpc-client/rpc-schema-util.d.ts +16 -0
  97. package/dist/node/clients/rpc-client/rpc-schema-util.js +6 -1
  98. package/dist/node/clients/rpc-client/rpc-schema-util.js.map +1 -1
  99. package/dist/node/clients/rpc-client/schema.d.ts +12 -0
  100. package/dist/node/clients/rpc-client/schema.js +9 -0
  101. package/dist/node/clients/rpc-client/schema.js.map +1 -1
  102. package/dist/node/clients/rpc-client/types.d.ts +5 -1
  103. package/dist/node/community/community-client-manager.js +30 -9
  104. package/dist/node/community/community-client-manager.js.map +1 -1
  105. package/dist/node/community/community-wire.d.ts +6 -0
  106. package/dist/node/community/community-wire.js +22 -1
  107. package/dist/node/community/community-wire.js.map +1 -1
  108. package/dist/node/community/remote-community.d.ts +7 -1
  109. package/dist/node/community/remote-community.js +87 -11
  110. package/dist/node/community/remote-community.js.map +1 -1
  111. package/dist/node/community/rpc-remote-community.d.ts +1 -0
  112. package/dist/node/community/rpc-remote-community.js +41 -6
  113. package/dist/node/community/rpc-remote-community.js.map +1 -1
  114. package/dist/node/community/schema.js +7 -1
  115. package/dist/node/community/schema.js.map +1 -1
  116. package/dist/node/community-list/community-list.d.ts +143 -0
  117. package/dist/node/community-list/community-list.js +401 -0
  118. package/dist/node/community-list/community-list.js.map +1 -0
  119. package/dist/node/community-list/schema.d.ts +239 -0
  120. package/dist/node/community-list/schema.js +95 -0
  121. package/dist/node/community-list/schema.js.map +1 -0
  122. package/dist/node/community-list/types.d.ts +19 -0
  123. package/dist/node/community-list/types.js +2 -0
  124. package/dist/node/community-list/types.js.map +1 -0
  125. package/dist/node/errors.d.ts +19 -1
  126. package/dist/node/errors.js +19 -0
  127. package/dist/node/errors.js.map +1 -1
  128. package/dist/node/generated-version.d.ts +1 -1
  129. package/dist/node/generated-version.js +1 -1
  130. package/dist/node/index.d.ts +2 -0
  131. package/dist/node/pkc/pkc-client-manager.d.ts +4 -1
  132. package/dist/node/pkc/pkc-client-manager.js +6 -4
  133. package/dist/node/pkc/pkc-client-manager.js.map +1 -1
  134. package/dist/node/pkc/pkc.d.ts +7 -0
  135. package/dist/node/pkc/pkc.js +93 -0
  136. package/dist/node/pkc/pkc.js.map +1 -1
  137. package/dist/node/pkc/tracked-instance-registry-util.d.ts +1 -0
  138. package/dist/node/pkc/tracked-instance-registry-util.js +34 -2
  139. package/dist/node/pkc/tracked-instance-registry-util.js.map +1 -1
  140. package/dist/node/pkc/tracked-instance-registry.d.ts +1 -0
  141. package/dist/node/pkc/tracked-instance-registry.js +15 -0
  142. package/dist/node/pkc/tracked-instance-registry.js.map +1 -1
  143. package/dist/node/pkc-error.d.ts +1 -1
  144. package/dist/node/publications/comment/comment-client-manager.d.ts +1 -0
  145. package/dist/node/publications/comment/comment-client-manager.js +24 -4
  146. package/dist/node/publications/comment/comment-client-manager.js.map +1 -1
  147. package/dist/node/publications/comment/comment.js +6 -2
  148. package/dist/node/publications/comment/comment.js.map +1 -1
  149. package/dist/node/publications/publication-client-manager.d.ts +4 -1
  150. package/dist/node/publications/publication-client-manager.js +51 -7
  151. package/dist/node/publications/publication-client-manager.js.map +1 -1
  152. package/dist/node/publications/publication.js +15 -1
  153. package/dist/node/publications/publication.js.map +1 -1
  154. package/dist/node/rpc/src/index.d.ts +3 -1
  155. package/dist/node/rpc/src/index.js +45 -3
  156. package/dist/node/rpc/src/index.js.map +1 -1
  157. package/dist/node/runtime/node/community/local-community/comment-updates.js +2 -1
  158. package/dist/node/runtime/node/community/local-community/comment-updates.js.map +1 -1
  159. package/dist/node/schema/schema-util.d.ts +3 -0
  160. package/dist/node/schema/schema-util.js +10 -0
  161. package/dist/node/schema/schema-util.js.map +1 -1
  162. package/dist/node/signer/signatures.d.ts +9 -0
  163. package/dist/node/signer/signatures.js +30 -1
  164. package/dist/node/signer/signatures.js.map +1 -1
  165. package/dist/node/test/test-util.d.ts +1 -0
  166. package/dist/node/test/test-util.js +6 -2
  167. package/dist/node/test/test-util.js.map +1 -1
  168. package/dist/node/util.js +6 -1
  169. package/dist/node/util.js.map +1 -1
  170. package/package.json +6 -6
@@ -0,0 +1,95 @@
1
+ import { z } from "zod";
2
+ import { CID } from "multiformats/cid";
3
+ import { keys, omit } from "remeda";
4
+ import { AuthorPubsubSchema, AuthorReservedFields, CidStringSchema, CreateSignerSchema, JsonSignatureSchema, PKCTimestampSchema, ProtocolVersionSchema } from "../schema/schema.js";
5
+ import { messages } from "../errors.js";
6
+ // CommunityList: an immutable, signed IPFS file addressed by CID. Spec: docs/protocol/community-lists.md
7
+ // A cap only enforced by honest publishers is not a cap: enforced on publish AND on load
8
+ export const MAX_COMMUNITY_LIST_SIZE_BYTES = 2 * 1024 * 1024; // 2mb
9
+ export const communityListHasNoDuplicateEntryPublicKeys = (list) => new Set(list.communities.map((entry) => entry.publicKey)).size === list.communities.length;
10
+ // Entry metadata is set by the list curator, NOT the community owner
11
+ const communityListEntryShape = {
12
+ publicKey: z.string().min(1), // IPNS public key of the community
13
+ name: z.string().min(1).optional(), // crypto domain (e.g. 'memes.bso')
14
+ title: z.string().optional(),
15
+ description: z.string().optional(),
16
+ languages: z.string().array().optional(),
17
+ locations: z.string().array().optional(),
18
+ features: z.string().array().optional(),
19
+ tags: z.string().array().optional()
20
+ };
21
+ // Loose on load: a newer publisher may add fields and sign them; a strict schema would drop signed
22
+ // props and break signature verification
23
+ export const CommunityListEntrySchema = z.looseObject(communityListEntryShape);
24
+ export const CommunityListEntryReservedFields = ["address", "shortAddress"];
25
+ // Strict on create, after dropping the runtime fields a loaded instance's entries carry, so a revision
26
+ // can be built from `loaded.communities` as docs/protocol/community-lists.md documents
27
+ const omitEntryRuntimeFields = (entry) => {
28
+ if (!entry || typeof entry !== "object")
29
+ return entry;
30
+ const wireEntry = { ...entry };
31
+ for (const field of CommunityListEntryReservedFields)
32
+ delete wireEntry[field];
33
+ return wireEntry;
34
+ };
35
+ export const CreateCommunityListEntrySchema = z.preprocess(omitEntryRuntimeFields, z.object(communityListEntryShape).strict());
36
+ // Strict base is the typing schema (same idiom as CommunityIpfsSchema); loading MUST go through the
37
+ // loose variant below so extra signed props are preserved
38
+ const communityListIpfsBaseSchema = z
39
+ .object({
40
+ title: z.string().optional(),
41
+ description: z.string().optional(),
42
+ author: AuthorPubsubSchema.loose().optional(),
43
+ communities: CommunityListEntrySchema.array(),
44
+ timestamp: PKCTimestampSchema,
45
+ protocolVersion: ProtocolVersionSchema,
46
+ signature: JsonSignatureSchema
47
+ })
48
+ .strict();
49
+ export const CommunityListSignedPropertyNames = keys(omit(communityListIpfsBaseSchema.shape, ["signature"]));
50
+ export const CommunityListIpfsSchema = communityListIpfsBaseSchema.refine(communityListHasNoDuplicateEntryPublicKeys, messages.ERR_COMMUNITY_LIST_HAS_DUPLICATE_COMMUNITY_PUBLIC_KEY);
51
+ // The parse schema for loading records (and validating built records before publish)
52
+ export const CommunityListIpfsLooseSchema = communityListIpfsBaseSchema
53
+ .loose()
54
+ .refine(communityListHasNoDuplicateEntryPublicKeys, messages.ERR_COMMUNITY_LIST_HAS_DUPLICATE_COMMUNITY_PUBLIC_KEY);
55
+ // Strict on create, after dropping the runtime fields a loaded instance's author carries, same as entries:
56
+ // an unknown key would otherwise be signed into a record that can never be corrected
57
+ const omitAuthorRuntimeFields = (author) => {
58
+ if (!author || typeof author !== "object")
59
+ return author;
60
+ const wireAuthor = { ...author };
61
+ for (const field of AuthorReservedFields)
62
+ delete wireAuthor[field];
63
+ return wireAuthor;
64
+ };
65
+ const CreateCommunityListAuthorSchema = z.preprocess(omitAuthorRuntimeFields, AuthorPubsubSchema.partial().strict());
66
+ // Strict on create, loose on load, like every other record type
67
+ export const CreateNewCommunityListOptionsSchema = z
68
+ .object({
69
+ signer: CreateSignerSchema,
70
+ title: z.string().optional(),
71
+ description: z.string().optional(),
72
+ author: CreateCommunityListAuthorSchema.optional(),
73
+ communities: CreateCommunityListEntrySchema.array(),
74
+ timestamp: PKCTimestampSchema.optional(), // defaults to now
75
+ protocolVersion: ProtocolVersionSchema.optional()
76
+ })
77
+ .strict()
78
+ .refine(communityListHasNoDuplicateEntryPublicKeys, messages.ERR_COMMUNITY_LIST_HAS_DUPLICATE_COMMUNITY_PUBLIC_KEY);
79
+ // CIDv0 only: every content check in pkc-js (RPC, gateway, kubo size check) recomputes a v0 hash, so a
80
+ // v1 cid could never match on some transports. Rejected up front, the same on all of them
81
+ // Zod 4 runs this refinement even after CidStringSchema rejected the string, so a malformed cid must not throw here
82
+ const isCidV0 = (cid) => {
83
+ try {
84
+ return CID.parse(cid).version === 0;
85
+ }
86
+ catch {
87
+ return false;
88
+ }
89
+ };
90
+ const CommunityListCidSchema = CidStringSchema.refine(isCidV0, messages.ERR_COMMUNITY_LIST_CID_MUST_BE_V0);
91
+ export const CreateCommunityListWithCidOptionsSchema = z.object({ cid: CommunityListCidSchema }).strict();
92
+ export const CreateCommunityListOptionsSchema = z.union([CreateCommunityListWithCidOptionsSchema, CreateNewCommunityListOptionsSchema]);
93
+ // Runtime-only instance props: looseness must never let a wire record smuggle these in
94
+ export const CommunityListReservedFields = ["cid", "shortCid", "state", "updatingState", "publishingState", "clients", "signer", "raw"];
95
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/community-list/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EACH,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,yGAAyG;AAEzG,yFAAyF;AACzF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,MAAM;AAEpE,MAAM,CAAC,MAAM,0CAA0C,GAAG,CAAC,IAA8C,EAAE,EAAE,CACzG,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;AAE/F,qEAAqE;AACrE,MAAM,uBAAuB,GAAG;IAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,mCAAmC;IACjE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,mCAAmC;IACvE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;IACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;IACxC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;CACtC,CAAC;AAEF,mGAAmG;AACnG,yCAAyC;AACzC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;AAE/E,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AAE5E,uGAAuG;AACvG,uFAAuF;AACvF,MAAM,sBAAsB,GAAG,CAAC,KAAc,EAAE,EAAE;IAC9C,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,MAAM,SAAS,GAA4B,EAAE,GAAG,KAAK,EAAE,CAAC;IACxD,KAAK,MAAM,KAAK,IAAI,gCAAgC;QAAE,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9E,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AACF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAE/H,oGAAoG;AACpG,0DAA0D;AAC1D,MAAM,2BAA2B,GAAG,CAAC;KAChC,MAAM,CAAC;IACJ,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,MAAM,EAAE,kBAAkB,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE;IAC7C,WAAW,EAAE,wBAAwB,CAAC,KAAK,EAAE;IAC7C,SAAS,EAAE,kBAAkB;IAC7B,eAAe,EAAE,qBAAqB;IACtC,SAAS,EAAE,mBAAmB;CACjC,CAAC;KACD,MAAM,EAAE,CAAC;AAEd,MAAM,CAAC,MAAM,gCAAgC,GAAG,IAAI,CAAC,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;AAE7G,MAAM,CAAC,MAAM,uBAAuB,GAAG,2BAA2B,CAAC,MAAM,CACrE,0CAA0C,EAC1C,QAAQ,CAAC,qDAAqD,CACjE,CAAC;AAEF,qFAAqF;AACrF,MAAM,CAAC,MAAM,4BAA4B,GAAG,2BAA2B;KAClE,KAAK,EAAE;KACP,MAAM,CAAC,0CAA0C,EAAE,QAAQ,CAAC,qDAAqD,CAAC,CAAC;AAExH,2GAA2G;AAC3G,qFAAqF;AACrF,MAAM,uBAAuB,GAAG,CAAC,MAAe,EAAE,EAAE;IAChD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC;IACzD,MAAM,UAAU,GAA4B,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1D,KAAK,MAAM,KAAK,IAAI,oBAAoB;QAAE,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;IACnE,OAAO,UAAU,CAAC;AACtB,CAAC,CAAC;AACF,MAAM,+BAA+B,GAAG,CAAC,CAAC,UAAU,CAAC,uBAAuB,EAAE,kBAAkB,CAAC,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;AAErH,gEAAgE;AAChE,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC;KAC/C,MAAM,CAAC;IACJ,MAAM,EAAE,kBAAkB;IAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,MAAM,EAAE,+BAA+B,CAAC,QAAQ,EAAE;IAClD,WAAW,EAAE,8BAA8B,CAAC,KAAK,EAAE;IACnD,SAAS,EAAE,kBAAkB,CAAC,QAAQ,EAAE,EAAE,kBAAkB;IAC5D,eAAe,EAAE,qBAAqB,CAAC,QAAQ,EAAE;CACpD,CAAC;KACD,MAAM,EAAE;KACR,MAAM,CAAC,0CAA0C,EAAE,QAAQ,CAAC,qDAAqD,CAAC,CAAC;AAExH,uGAAuG;AACvG,0FAA0F;AAC1F,oHAAoH;AACpH,MAAM,OAAO,GAAG,CAAC,GAAW,EAAE,EAAE;IAC5B,IAAI,CAAC;QACD,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,KAAK,CAAC;IACjB,CAAC;AACL,CAAC,CAAC;AACF,MAAM,sBAAsB,GAAG,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,iCAAiC,CAAC,CAAC;AAE3G,MAAM,CAAC,MAAM,uCAAuC,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,sBAAsB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAE1G,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,uCAAuC,EAAE,mCAAmC,CAAC,CAAC,CAAC;AAExI,uFAAuF;AACvF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { z } from "zod";
2
+ import type { CommunityListEntrySchema, CommunityListIpfsSchema, CreateCommunityListOptionsSchema, CreateCommunityListWithCidOptionsSchema, CreateNewCommunityListOptionsSchema } from "./schema.js";
3
+ import type { PKCError } from "../pkc-error.js";
4
+ import type { CommunityList } from "./community-list.js";
5
+ export type CommunityListEntryType = z.infer<typeof CommunityListEntrySchema>;
6
+ export type CommunityListIpfsType = z.infer<typeof CommunityListIpfsSchema>;
7
+ export type CreateNewCommunityListOptions = z.infer<typeof CreateNewCommunityListOptionsSchema>;
8
+ export type CreateCommunityListWithCidOptions = z.infer<typeof CreateCommunityListWithCidOptionsSchema>;
9
+ export type CreateCommunityListOptions = z.infer<typeof CreateCommunityListOptionsSchema>;
10
+ export type CommunityListEntryJson = CommunityListEntryType & {
11
+ address: string;
12
+ shortAddress: string;
13
+ };
14
+ export type CommunityListState = "stopped" | "updating" | "publishing";
15
+ export interface CommunityListEvents {
16
+ update: (list: CommunityList) => void;
17
+ statechange: (newState: CommunityListState) => void;
18
+ error: (error: PKCError | Error) => void;
19
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/community-list/types.ts"],"names":[],"mappings":""}
@@ -176,6 +176,7 @@ export declare enum messages {
176
176
  ERR_SIGNATURE_HAS_NO_PUBLIC_KEY = "Signature of publication has no public key",
177
177
  ERR_COMMENT_UPDATE_EDIT_SIGNATURE_IS_INVALID = "The author edit of comment (commentUpdate.edit) has an invalid signature",
178
178
  ERR_THE_COMMUNITY_IPNS_RECORD_POINTS_TO_DIFFERENT_ADDRESS_THAN_WE_EXPECTED = "The community record address does not correspond to the requested community. requestedCommunity.address !== providedCommunity.address",
179
+ ERR_COMMUNITY_RECORD_NAME_DOES_NOT_MATCH_REQUESTED_NAME = "The community record does not claim the name it was loaded by: it has no name, or a different one. The record was refused and the last record that claimed the name is kept. Retriable: a later record that claims the name again is accepted",
179
180
  ERR_COMMUNITY_NAME_RESOLVES_TO_DIFFERENT_PUBLIC_KEY = "The community name resolves to a different public key than the one provided. The community may have migrated to a new key.",
180
181
  ERR_AUTHOR_NOT_MATCHING_SIGNATURE = "comment.author.address doesn't match comment.signature.publicKey",
181
182
  ERR_AUTHOR_NAME_MUST_BE_A_DOMAIN = "author.name must be a domain name (e.g. 'example.bso')",
@@ -429,5 +430,22 @@ export declare enum messages {
429
430
  ERR_PAGE_SORT_SETTINGS_VALIDATION_FAILED_FOR_PAGE_SORTS = "One or more entries of settings.pages failed validation",
430
431
  ERR_PAGE_SORT_FAILED_TO_GENERATE = "A configured page sort threw while generating its pages; it was skipped for this cycle and the remaining sorts were published",
431
432
  ERR_ALL_PAGE_SORTS_FAILED_TO_GENERATE = "Every configured page sort of a scope threw while generating its pages, so the cycle was aborted and the last published record stays up until a sort succeeds",
432
- ERR_RPC_CLIENT_PAGE_SORT_NAME_NOT_AVAILABLE_ON_SERVER = "settings.pages names a page sort that is not registered on the RPC server"
433
+ ERR_RPC_CLIENT_PAGE_SORT_NAME_NOT_AVAILABLE_ON_SERVER = "settings.pages names a page sort that is not registered on the RPC server",
434
+ ERR_INVALID_COMMUNITY_LIST_SCHEMA = "The schema of the CommunityList record is invalid",
435
+ ERR_INVALID_CREATE_COMMUNITY_LIST_OPTIONS_SCHEMA = "The options sent to pkc.createCommunityList() have an invalid schema",
436
+ ERR_COMMUNITY_LIST_RECORD_INCLUDES_RESERVED_FIELD = "CommunityList record includes a reserved field",
437
+ ERR_COMMUNITY_LIST_AUTHOR_INCLUDES_RESERVED_FIELD = "CommunityList record's author includes a reserved field",
438
+ ERR_COMMUNITY_LIST_ENTRY_INCLUDES_RESERVED_FIELD = "A CommunityList entry includes a reserved field",
439
+ ERR_COMMUNITY_LIST_RECORD_INCLUDES_SIGNABLE_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES = "CommunityList record includes a field that is not in signature.signedPropertyNames",
440
+ ERR_COMMUNITY_LIST_HAS_DUPLICATE_COMMUNITY_PUBLIC_KEY = "CommunityList communities include a duplicate publicKey",
441
+ ERR_COMMUNITY_LIST_OVER_ALLOWED_SIZE = "CommunityList record size is over 2mb",
442
+ ERR_COMMUNITY_LIST_HAS_NO_CID = "CommunityList instance has no cid to update from. To fetch a list, create it with pkc.createCommunityList({cid})",
443
+ ERR_COMMUNITY_LIST_HAS_NO_SIGNER = "CommunityList instance has no signer. To publish a new list, create it with pkc.createCommunityList({signer, ...})",
444
+ ERR_COMMUNITY_LIST_ALREADY_PUBLISHING = "CommunityList.publish() is already in progress",
445
+ ERR_COMMUNITY_LIST_ALREADY_UPDATING = "CommunityList.update() is already in progress",
446
+ ERR_COMMUNITY_LIST_PUBLISH_ABORTED = "CommunityList.publish() was aborted via stop()",
447
+ ERR_COMMUNITY_LIST_SIGNATURE_IS_INVALID = "CommunityList record has an invalid signature",
448
+ ERR_ADDED_COMMUNITY_LIST_TO_IPFS_BUT_GOT_DIFFERENT_CID = "The RPC server returned a cid different from the cid of the signed CommunityList bytes",
449
+ ERR_GET_COMMUNITY_LIST_ABORTED = "pkc.getCommunityList() was aborted by a signal",
450
+ ERR_COMMUNITY_LIST_CID_MUST_BE_V0 = "CommunityList cid must be a CIDv0 (Qm...), the cid that publish() returns"
433
451
  }
@@ -182,6 +182,7 @@ export var messages;
182
182
  messages["ERR_SIGNATURE_HAS_NO_PUBLIC_KEY"] = "Signature of publication has no public key";
183
183
  messages["ERR_COMMENT_UPDATE_EDIT_SIGNATURE_IS_INVALID"] = "The author edit of comment (commentUpdate.edit) has an invalid signature";
184
184
  messages["ERR_THE_COMMUNITY_IPNS_RECORD_POINTS_TO_DIFFERENT_ADDRESS_THAN_WE_EXPECTED"] = "The community record address does not correspond to the requested community. requestedCommunity.address !== providedCommunity.address";
185
+ messages["ERR_COMMUNITY_RECORD_NAME_DOES_NOT_MATCH_REQUESTED_NAME"] = "The community record does not claim the name it was loaded by: it has no name, or a different one. The record was refused and the last record that claimed the name is kept. Retriable: a later record that claims the name again is accepted";
185
186
  messages["ERR_COMMUNITY_NAME_RESOLVES_TO_DIFFERENT_PUBLIC_KEY"] = "The community name resolves to a different public key than the one provided. The community may have migrated to a new key.";
186
187
  messages["ERR_AUTHOR_NOT_MATCHING_SIGNATURE"] = "comment.author.address doesn't match comment.signature.publicKey";
187
188
  messages["ERR_AUTHOR_NAME_MUST_BE_A_DOMAIN"] = "author.name must be a domain name (e.g. 'example.bso')";
@@ -451,5 +452,23 @@ export var messages;
451
452
  messages["ERR_PAGE_SORT_FAILED_TO_GENERATE"] = "A configured page sort threw while generating its pages; it was skipped for this cycle and the remaining sorts were published";
452
453
  messages["ERR_ALL_PAGE_SORTS_FAILED_TO_GENERATE"] = "Every configured page sort of a scope threw while generating its pages, so the cycle was aborted and the last published record stays up until a sort succeeds";
453
454
  messages["ERR_RPC_CLIENT_PAGE_SORT_NAME_NOT_AVAILABLE_ON_SERVER"] = "settings.pages names a page sort that is not registered on the RPC server";
455
+ // CommunityList errors (docs/protocol/community-lists.md)
456
+ messages["ERR_INVALID_COMMUNITY_LIST_SCHEMA"] = "The schema of the CommunityList record is invalid";
457
+ messages["ERR_INVALID_CREATE_COMMUNITY_LIST_OPTIONS_SCHEMA"] = "The options sent to pkc.createCommunityList() have an invalid schema";
458
+ messages["ERR_COMMUNITY_LIST_RECORD_INCLUDES_RESERVED_FIELD"] = "CommunityList record includes a reserved field";
459
+ messages["ERR_COMMUNITY_LIST_AUTHOR_INCLUDES_RESERVED_FIELD"] = "CommunityList record's author includes a reserved field";
460
+ messages["ERR_COMMUNITY_LIST_ENTRY_INCLUDES_RESERVED_FIELD"] = "A CommunityList entry includes a reserved field";
461
+ messages["ERR_COMMUNITY_LIST_RECORD_INCLUDES_SIGNABLE_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES"] = "CommunityList record includes a field that is not in signature.signedPropertyNames";
462
+ messages["ERR_COMMUNITY_LIST_HAS_DUPLICATE_COMMUNITY_PUBLIC_KEY"] = "CommunityList communities include a duplicate publicKey";
463
+ messages["ERR_COMMUNITY_LIST_OVER_ALLOWED_SIZE"] = "CommunityList record size is over 2mb";
464
+ messages["ERR_COMMUNITY_LIST_HAS_NO_CID"] = "CommunityList instance has no cid to update from. To fetch a list, create it with pkc.createCommunityList({cid})";
465
+ messages["ERR_COMMUNITY_LIST_HAS_NO_SIGNER"] = "CommunityList instance has no signer. To publish a new list, create it with pkc.createCommunityList({signer, ...})";
466
+ messages["ERR_COMMUNITY_LIST_ALREADY_PUBLISHING"] = "CommunityList.publish() is already in progress";
467
+ messages["ERR_COMMUNITY_LIST_ALREADY_UPDATING"] = "CommunityList.update() is already in progress";
468
+ messages["ERR_COMMUNITY_LIST_PUBLISH_ABORTED"] = "CommunityList.publish() was aborted via stop()";
469
+ messages["ERR_COMMUNITY_LIST_SIGNATURE_IS_INVALID"] = "CommunityList record has an invalid signature";
470
+ messages["ERR_ADDED_COMMUNITY_LIST_TO_IPFS_BUT_GOT_DIFFERENT_CID"] = "The RPC server returned a cid different from the cid of the signed CommunityList bytes";
471
+ messages["ERR_GET_COMMUNITY_LIST_ABORTED"] = "pkc.getCommunityList() was aborted by a signal";
472
+ messages["ERR_COMMUNITY_LIST_CID_MUST_BE_V0"] = "CommunityList cid must be a CIDv0 (Qm...), the cid that publish() returns";
454
473
  })(messages || (messages = {}));
455
474
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,QAmdX;AAndD,WAAY,QAAQ;IAChB,gFAAoE,CAAA;IACpE,yHAA6G,CAAA;IAC7G,6EAAiE,CAAA;IACjE,4FAAgF,CAAA;IAChF,iMAAqL,CAAA;IACrL,4HAAgH,CAAA;IAChH,8HAAkH,CAAA;IAClH,iDAAqC,CAAA;IACrC,0GAA8F,CAAA;IAC9F,2KAA+J,CAAA;IAC/J,6LAAiL,CAAA;IACjL,oGAAwF,CAAA;IACxF,8DAAkD,CAAA;IAClD,6EAAiE,CAAA;IACjE,iFAAqE,CAAA;IACrE,8HAAkH,CAAA;IAClH,8HAAkH,CAAA;IAClH,sHAA0G,CAAA;IAC1G,0JAA8I,CAAA;IAC9I,mJAAuI,CAAA;IACvI,kHAAsG,CAAA;IACtG,iFAAqE,CAAA;IACrE,gGAAoF,CAAA;IACpF,wHAA4G,CAAA;IAC5G,4FAAgF,CAAA;IAChF,gHAAoG,CAAA;IACpG,kHAAsG,CAAA;IACtG,uHAA2G,CAAA;IAC3G,sEAA0D,CAAA;IAC1D,yFAA6E,CAAA;IAC7E,aAAa;IACb,+GAAmG,CAAA;IACnG,uGAA2F,CAAA;IAC3F,4HAAgH,CAAA;IAChH,qFAAyE,CAAA;IACzE,uFAA2E,CAAA;IAC3E,uFAA2E,CAAA;IAC3E,6EAAiE,CAAA;IACjE,mHAAuG,CAAA;IACvG,oNAAwM,CAAA;IACxM,0PAA8O,CAAA;IAC9O,oMAAwL,CAAA;IACxL,6JAAiJ,CAAA;IACjJ,mNAAuM,CAAA;IACvM,oIAAwH,CAAA;IACxH,oJAAwI,CAAA;IACxI,+KAAmK,CAAA;IACnK,qOAAyN,CAAA;IACzN,wJAA4I,CAAA;IAC5I,oNAAwM,CAAA;IACxM,sOAA0N,CAAA;IAC1N,8PAAkP,CAAA;IAClP,wMAA4L,CAAA;IAC5L,8OAAkO,CAAA;IAClO,wFAA4E,CAAA;IAC5E,4FAAgF,CAAA;IAChF,eAAe;IACf,0FAA8E,CAAA;IAC9E,kGAAsF,CAAA;IACtF,yFAA6E,CAAA;IAC7E,kFAAsE,CAAA;IACtE,iHAAqG,CAAA;IACrG,2HAA+G,CAAA;IAC/G,8FAAkF,CAAA;IAClF,gHAAoG,CAAA;IACpG,yHAA6G,CAAA;IAC7G,0GAA8F,CAAA;IAC9F,yGAA6F,CAAA;IAC7F,mJAAuI,CAAA;IACvI,mJAAuI,CAAA;IACvI,8HAAkH,CAAA;IAClH,2DAA+C,CAAA;IAC/C,mFAAuE,CAAA;IACvE,wHAA4G,CAAA;IAC5G,uGAA2F,CAAA;IAC3F,mHAAuG,CAAA;IACvG,0IAA8H,CAAA;IAC9H,iGAAqF,CAAA;IACrF,wIAA4H,CAAA;IAC5H,2FAA+E,CAAA;IAC/E,qOAAyN,CAAA;IACzN,2LAA+K,CAAA;IAC/K,8LAAkL,CAAA;IAClL,4HAAgH,CAAA;IAChH,iJAAqI,CAAA;IACrI,qIAAyH,CAAA;IACzH,kGAAsF,CAAA;IACtF,wJAAwI,CAAA;IACxI,yIAA6H,CAAA;IAC7H,8GAAkG,CAAA;IAClG,6YAAiY,CAAA;IACjY,6EAAiE,CAAA;IACjE,yIAA6H,CAAA;IAC7H,wIAA4H,CAAA;IAC5H,mJAAuI,CAAA;IACvI,2GAA+F,CAAA;IAC/F,qJAAyI,CAAA;IACzI,+JAAmJ,CAAA;IACnJ,iJAAqI,CAAA;IACrI,uIAA2H,CAAA;IAC3H,6MAAiM,CAAA;IACjM,qHAAyG,CAAA;IACzG,yLAA6K,CAAA;IAC7K,6HAAiH,CAAA;IAEjH,gBAAgB;IAChB,yEAA6D,CAAA;IAC7D,0FAA8E,CAAA;IAC9E,4GAAgG,CAAA;IAChG,0HAA8G,CAAA;IAC9G,oHAAwG,CAAA;IACxG,oGAAwF,CAAA;IACxF,iGAAqF,CAAA;IACrF,+FAAmF,CAAA;IACnF,gIAAoH,CAAA;IACpH,yHAA6G,CAAA;IAC7G,sHAA0G,CAAA;IAC1G,oIAAwH,CAAA;IACxH,gNAAoM,CAAA;IACpM,sMAA0L,CAAA;IAC1L,sIAA0H,CAAA;IAC1H,8FAAkF,CAAA;IAClF,qJAAyI,CAAA;IACzI,mGAAuF,CAAA;IACvF,yFAA6E,CAAA;IAC7E,oFAAwE,CAAA;IACxE,uGAA2F,CAAA;IAC3F,6GAAiG,CAAA;IACjG,6HAAiH,CAAA;IACjH,sKAA0J,CAAA;IAC1J,sJAA0I,CAAA;IAC1I,oKAAwJ,CAAA;IACxJ,gLAAoK,CAAA;IACpK,4IAAgI,CAAA;IAChI,uHAA2G,CAAA;IAC3G,qHAAyG,CAAA;IACzG,kLAAsK,CAAA;IACtK,6GAAiG,CAAA;IACjG,oIAAwH,CAAA;IACxH,+GAAmG,CAAA;IACnG,uEAA2D,CAAA;IAC3D,2HAA+G,CAAA;IAC/G,uJAA2I,CAAA;IAC3I,iJAAqI,CAAA;IACrI,mIAAuH,CAAA;IACvH,+GAAmG,CAAA;IACnG,0HAA8G,CAAA;IAC9G,+HAAmH,CAAA;IACnH,gHAAoG,CAAA;IACpG,8IAAkI,CAAA;IAClI,yHAA6G,CAAA;IAC7G,gHAAoG,CAAA;IACpG,sHAA0G,CAAA;IAC1G,iGAAqF,CAAA;IACrF,0GAA8F,CAAA;IAC9F,2IAA+H,CAAA;IAC/H,qJAAyI,CAAA;IACzI,sIAA0H,CAAA;IAC1H,4IAAgI,CAAA;IAChI,iKAAqJ,CAAA;IACrJ,yJAA6I,CAAA;IAC7I,wGAA4F,CAAA;IAC5F,6FAAiF,CAAA;IACjF,uNAA2M,CAAA;IAC3M,8GAAkG,CAAA;IAClG,iIAAqH,CAAA;IACrH,0JAA8I,CAAA;IAC9I,iPAAqO,CAAA;IACrO,2IAA+H,CAAA;IAC/H,oOAAwN,CAAA;IACxN,yMAA6L,CAAA;IAC7L,oQAAwP,CAAA;IACxP,0IAA8H,CAAA;IAE9H,cAAc;IACd,2GAA+F,CAAA;IAC/F,+FAAmF,CAAA;IACnF,8FAAkF,CAAA;IAClF,sHAA0G,CAAA;IAE1G,0BAA0B;IAC1B,4EAAgE,CAAA;IAChE,0FAA8E,CAAA;IAC9E,qIAAyH,CAAA;IACzH,gOAAoN,CAAA;IACpN,8LAAkL,CAAA;IAClL,kHAAsG,CAAA;IACtG,uGAA2F,CAAA;IAC3F,+HAAmH,CAAA;IACnH,kJAAsI,CAAA;IACtI,mPAAuO,CAAA;IACvO,yHAA6G,CAAA;IAC7G,2GAA+F,CAAA;IAC/F,+GAAmG,CAAA;IACnG,oIAAwH,CAAA;IACxH,mNAAuM,CAAA;IACvM,qHAAyG,CAAA;IACzG,+IAAmI,CAAA;IACnI,gIAAoH,CAAA;IACpH,yGAA6F,CAAA;IAC7F,mIAAuH,CAAA;IACvH,2HAA+G,CAAA;IAC/G,gFAAoE,CAAA;IACpE,sFAA0E,CAAA;IAC1E,0FAA8E,CAAA;IAC9E,4GAAgG,CAAA;IAChG,4GAAgG,CAAA;IAChG,gHAAoG,CAAA;IACpG,oGAAwF,CAAA;IACxF,iFAAqE,CAAA;IACrE,+GAAmG,CAAA;IACnG,gNAAoM,CAAA;IACpM,+OAAmO,CAAA;IACnO,6HAAiH,CAAA;IACjH,wGAAwG;IACxG,iFAAiF;IACjF,4IAAgI,CAAA;IAChI,iOAAqN,CAAA;IACrN,qKAAyJ,CAAA;IACzJ,kIAAsH,CAAA;IACtH,oJAAwI,CAAA;IACxI,oKAAwJ,CAAA;IACxJ,qLAAyK,CAAA;IACzK,oMAAwL,CAAA;IACxL,yMAA6L,CAAA;IAC7L,2LAA+K,CAAA;IAC/K,gLAAoK,CAAA;IACpK,gLAAoK,CAAA;IACpK,kKAAsJ,CAAA;IACtJ,+KAAmK,CAAA;IACnK,2LAA+K,CAAA;IAC/K,iLAAqK,CAAA;IACrK,4KAAgK,CAAA;IAChK,mJAAuI,CAAA;IACvI,+JAAmJ,CAAA;IACnJ,2LAA+K,CAAA;IAC/K,0GAA8F,CAAA;IAC9F,wKAA4J,CAAA;IAC5J,wJAA4I,CAAA;IAC5I,yHAA6G,CAAA;IAC7G,wOAA4N,CAAA;IAC5N,6FAAiF,CAAA;IACjF,2HAA+G,CAAA;IAC/G,sEAA0D,CAAA;IAC1D,0EAA8D,CAAA;IAC9D,+MAAmM,CAAA;IACnM,mNAAuM,CAAA;IACvM,yNAA6M,CAAA;IAC7M,qMAAyL,CAAA;IACzL,yMAA6L,CAAA;IAC7L,+MAAmM,CAAA;IACnM,2JAA+I,CAAA;IAC/I,+KAA8J,CAAA;IAC9J,qGAAyF,CAAA;IACzF,qJAAyI,CAAA;IACzI,yGAA6F,CAAA;IAE7F,iBAAiB;IACjB,oHAAwG,CAAA;IACxG,iHAAqG,CAAA;IACrG,wGAA4F,CAAA;IAC5F,wFAA4E,CAAA;IAE5E,0CAA0C;IAC1C,4HAAgH,CAAA;IAChH,uJAA2I,CAAA;IAC3I,yFAA6E,CAAA;IAC7E,oGAAwF,CAAA;IAExF,uCAAuC;IAEvC,+IAAmI,CAAA;IACnI,8IAAkI,CAAA;IAClI,wHAA4G,CAAA;IAC5G,gIAAoH,CAAA;IACpH,uLAA2K,CAAA;IAC3K,+IAAmI,CAAA;IACnI,uKAA2J,CAAA;IAC3J,uJAA2I,CAAA;IAC3I,4KAAgK,CAAA;IAChK,0KAA8J,CAAA;IAC9J,gJAAoI,CAAA;IACpI,uNAA2M,CAAA;IAC3M,oIAAwH,CAAA;IACxH,+KAAmK,CAAA;IACnK,qDAAyC,CAAA;IACzC,uFAA2E,CAAA;IAC3E,iHAAqG,CAAA;IACrG,iHAAqG,CAAA;IACrG,6GAAiG,CAAA;IACjG,6GAAiG,CAAA;IACjG,qGAAyF,CAAA;IACzF,yGAA6F,CAAA;IAC7F,sFAA0E,CAAA;IAC1E,uFAA2E,CAAA;IAC3E,qGAAyF,CAAA;IACzF,2DAA+C,CAAA;IAC/C,gFAAoE,CAAA;IACpE,oEAAwD,CAAA;IACxD,wEAA4D,CAAA;IAC5D,yGAA6F,CAAA;IAC7F,+FAAmF,CAAA;IACnF,gHAAoG,CAAA;IACpG,uFAA2E,CAAA;IAC3E,sEAA0D,CAAA;IAC1D,0HAA8G,CAAA;IAC9G,6IAAiI,CAAA;IACjI,iGAAqF,CAAA;IACrF,0IAA8H,CAAA;IAC9H,8HAAkH,CAAA;IAClH,8HAAkH,CAAA;IAClH,0GAA8F,CAAA;IAC9F,0GAA8F,CAAA;IAC9F,kHAAsG,CAAA;IACtG,uGAA2F,CAAA;IAC3F,uGAA2F,CAAA;IAC3F,0GAA8F,CAAA;IAC9F,uGAA2F,CAAA;IAC3F,mFAAuE,CAAA;IACvE,6HAAiH,CAAA;IACjH,+GAAmG,CAAA;IACnG,uGAA2F,CAAA;IAC3F,sGAA0F,CAAA;IAC1F,+JAAmJ,CAAA;IACnJ,yKAA6J,CAAA;IAC7J,4HAAgH,CAAA;IAChH,kIAAsH,CAAA;IACtH,+MAAmM,CAAA;IACnM,kMAAsL,CAAA;IACtL,uGAA2F,CAAA;IAC3F,4GAAgG,CAAA;IAChG,mGAAuF,CAAA;IACvF,6FAAiF,CAAA;IACjF,4GAAgG,CAAA;IAChG,yGAA6F,CAAA;IAC7F,0IAA8H,CAAA;IAC9H,qMAAyL,CAAA;IACzL,mKAAuJ,CAAA;IACvJ,4LAAgL,CAAA;IAChL,2JAA+I,CAAA;IAC/I,2IAA+H,CAAA;IAC/H,wHAA4G,CAAA;IAC5G,wJAA4I,CAAA;IAC5I,qJAAyI,CAAA;IACzI,yKAA6J,CAAA;IAC7J,0MAA8L,CAAA;IAC9L,4JAAgJ,CAAA;IAChJ,iJAAqI,CAAA;IACrI,uJAA2I,CAAA;IAC3I,uJAA2I,CAAA;IAC3I,iJAAqI,CAAA;IACrI,uKAA2J,CAAA;IAC3J,iKAAqJ,CAAA;IACrJ,4JAAgJ,CAAA;IAChJ,oHAAwG,CAAA;IACxG,mHAAuG,CAAA;IACvG,2HAA+G,CAAA;IAC/G,0HAA8G,CAAA;IAC9G,yHAA6G,CAAA;IAC7G,iIAAqH,CAAA;IAErH,sBAAsB;IACtB,2FAA+E,CAAA;IAC/E,iGAAqF,CAAA;IACrF,2IAA+H,CAAA;IAC/H,8GAAkG,CAAA;IAClG,2KAA+J,CAAA;IAE/J,kBAAkB;IAClB,+EAAmE,CAAA;IACnE,qGAAyF,CAAA;IACzF,iFAAqE,CAAA;IACrE,wIAA4H,CAAA;IAC5H,4FAAgF,CAAA;IAChF,2LAA+K,CAAA;IAC/K,gHAAoG,CAAA;IACpG,sHAA0G,CAAA;IAE1G,yBAAyB;IACzB,0HAA8G,CAAA;IAC9G,8FAAkF,CAAA;IAClF,0EAA8D,CAAA;IAC9D,uEAA2D,CAAA;IAC3D,iFAAqE,CAAA;IACrE,+JAAmJ,CAAA;IACnJ,oHAAwG,CAAA;IACxG,mHAAuG,CAAA;IACvG,mGAAuF,CAAA;IACvF,mFAAuE,CAAA;IACvE,0GAA8F,CAAA;IAC9F,qHAAyG,CAAA;IACzG,0JAA8I,CAAA;IAC9I,6NAAiN,CAAA;IACjN,iOAAqN,CAAA;IACrN,0IAA8H,CAAA;IAC9H,kGAAsF,CAAA;IACtF,2LAA+K,CAAA;IAC/K,2IAA+H,CAAA;IAC/H,gBAAgB;IAChB,4EAAgE,CAAA;IAChE,gFAAoE,CAAA;IACpE,wEAA4D,CAAA;IAC5D,0JAA8I,CAAA;IAC9I,4HAAgH,CAAA;IAChH,wKAA4J,CAAA;IAC5J,sHAA0G,CAAA;IAE1G,aAAa;IACb,+LAAmL,CAAA;IACnL,qFAAyE,CAAA;IACzE,wFAA4E,CAAA;IAC5E,uHAA2G,CAAA;IAC3G,wLAA4K,CAAA;IAC5K,kJAAsI,CAAA;IACtI,kHAAsG,CAAA;IACtG,gHAAoG,CAAA;IACpG,oHAAwG,CAAA;IACxG,iMAAqL,CAAA;IACrL,iMAAqL,CAAA;IACrL,sPAA0O,CAAA;IAC1O,yHAA6G,CAAA;IAC7G,iHAAqG,CAAA;IACrG,2LAA+K,CAAA;IAC/K,mGAAuF,CAAA;IAEvF,0BAA0B;IAC1B,gHAAoG,CAAA;IACpG,iIAAgH,CAAA;IAChH,yPAA6O,CAAA;IAC7O,4IAAgI,CAAA;IAChI,4HAAgH,CAAA;IAChH,mFAAuE,CAAA;IACvE,yFAA6E,CAAA;IAC7E,uGAA2F,CAAA;IAE3F,sNAA0M,CAAA;IAC1M,qNAAyM,CAAA;IACzM,2OAA0N,CAAA;IAC1N,0PAA8O,CAAA;IAE9O,sGAAsG;IACtG,oGAAoG;IACpG,0EAA0E;IAC1E,qLAAyK,CAAA;IACzK,8IAAkI,CAAA;IAClI,mLAAuK,CAAA;IACvK,uIAA2H,CAAA;IAC3H,uIAA2H,CAAA;IAC3H,8KAAkK,CAAA;IAClK,qNAAyM,CAAA;IAEzM,wFAAwF;IACxF,mGAAuF,CAAA;IACvF,iGAAqF,CAAA;IACrF,4GAAgG,CAAA;IAChG,iLAAqK,CAAA;IACrK,iNAAqM,CAAA;IACrM,wIAA4H,CAAA;IAC5H,iJAAqI,CAAA;IACrI,+HAAmH,CAAA;IACnH,kOAAsN,CAAA;IACtN,gIAAoH,CAAA;IACpH,+HAAmH,CAAA;IACnH,8KAAkK,CAAA;IAClK,mNAAuM,CAAA;IACvM,+IAAmI,CAAA;AACvI,CAAC,EAndW,QAAQ,KAAR,QAAQ,QAmdnB"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export declare const version = "0.0.124";
1
+ export declare const version = "0.0.126";
@@ -1,3 +1,3 @@
1
1
  // Auto-generated by config/generate-version.js — do not edit
2
- export const version = "0.0.124";
2
+ export const version = "0.0.126";
3
3
  //# sourceMappingURL=generated-version.js.map
@@ -1475,3 +1475,5 @@ export type { Libp2pJsClient } from "./helia/libp2pjsClient.js";
1475
1475
  export type { HeliaWithLibp2pPubsub } from "./helia/types.js";
1476
1476
  export type { CommunityPageSortSetting, PageSortFile, PageSortFileInput, PageSortFileFactory, PageSortFileFactoryInput, PageSortFileFactoryArgs, PageSortScope, PageSortScoreArgs } from "./community/types.js";
1477
1477
  export type { PageSortReplyEntry } from "./pages/types.js";
1478
+ export type { CommunityList } from "./community-list/community-list.js";
1479
+ export type { CommunityListIpfsType, CommunityListEntryType, CreateCommunityListOptions, CreateNewCommunityListOptions, CreateCommunityListWithCidOptions } from "./community-list/types.js";
@@ -39,6 +39,9 @@ export declare class PKCClientsManager extends BaseClientsManager {
39
39
  updateLibp2pJsClientState(newState: PKCClientsManager["clients"]["libp2pJsClients"][string]["state"], libp2pJsClientKey: string): void;
40
40
  updateGatewayState(newState: PKCClientsManager["clients"]["ipfsGateways"][string]["state"], gateway: string): void;
41
41
  updateNameResolverState(newState: NameResolverClient["state"], resolverKey: string): void;
42
- fetchCid(cid: string): Promise<string>;
42
+ fetchCid(cid: string, opts?: {
43
+ maxFileSizeBytes?: number;
44
+ abortSignal?: AbortSignal;
45
+ }): Promise<string>;
43
46
  protected _getStatePriorToResolvingCommunityIpns(): "fetching-community-ipns" | "fetching-ipns";
44
47
  }
@@ -125,15 +125,16 @@ export class PKCClientsManager extends BaseClientsManager {
125
125
  this.clients.nameResolvers[resolverKey].state = newState;
126
126
  this.clients.nameResolvers[resolverKey].emit("statechange", newState);
127
127
  }
128
- async fetchCid(cid) {
128
+ async fetchCid(cid, opts) {
129
129
  let finalCid = clone(cid);
130
130
  if (!isIpfsCid(finalCid) && isIpfsPath(finalCid))
131
131
  finalCid = finalCid.split("/")[2];
132
132
  if (!isIpfsCid(finalCid))
133
133
  throw new PKCError("ERR_CID_IS_INVALID", { cid });
134
134
  const timeoutMs = this._pkc._timeouts["generic-ipfs"];
135
+ const maxFileSizeBytes = opts?.maxFileSizeBytes ?? 1024 * 1024;
135
136
  if (Object.keys(this.clients.kuboRpcClients).length > 0 || Object.keys(this.clients.libp2pJsClients).length > 0)
136
- return this._fetchCidP2P(cid, { maxFileSizeBytes: 1024 * 1024, timeoutMs });
137
+ return this._fetchCidP2P(cid, { maxFileSizeBytes, timeoutMs, abortSignal: opts?.abortSignal });
137
138
  else {
138
139
  const log = Logger("pkc-js:clients-manager:fetchCid");
139
140
  const resObj = await this.fetchFromMultipleGateways({
@@ -142,8 +143,9 @@ export class PKCClientsManager extends BaseClientsManager {
142
143
  recordPKCType: "generic-ipfs",
143
144
  validateGatewayResponseFunc: async () => { }, // no need to validate body against cid here, fetchFromMultipleGateways already does it
144
145
  log,
145
- maxFileSizeBytes: 1024 * 1024,
146
- timeoutMs
146
+ maxFileSizeBytes,
147
+ timeoutMs,
148
+ abortSignal: opts?.abortSignal
147
149
  });
148
150
  return resObj.resText;
149
151
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pkc-client-manager.js","sourceRoot":"","sources":["../../../src/pkc/pkc-client-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pkc-client-manager.js","sourceRoot":"","sources":["../../../src/pkc/pkc-client-manager.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,8 @@ import { PKCTypedEmitter } from "../clients/pkc-typed-emitter.js";
25
25
  import type { PageTypeJson } from "../pages/types.js";
26
26
  import type { Libp2pJsClient } from "../helia/libp2pjsClient.js";
27
27
  import type { AuthorNameRpcParam, CidRpcParam, RpcFetchCidResult } from "../clients/rpc-client/types.js";
28
+ import { CommunityList } from "../community-list/community-list.js";
29
+ import type { CreateCommunityListOptions, CreateCommunityListWithCidOptions } from "../community-list/types.js";
28
30
  import type Publication from "../publications/publication.js";
29
31
  import { IndexedTrackedInstanceRegistry } from "./tracked-instance-registry.js";
30
32
  export declare class PKC extends PKCTypedEmitter<PKCEvents> implements ParsedPKCOptions {
@@ -75,6 +77,7 @@ export declare class PKC extends PKCTypedEmitter<PKCEvents> implements ParsedPKC
75
77
  _updatingComments: IndexedTrackedInstanceRegistry<Comment>;
76
78
  _startedCommunities: IndexedTrackedInstanceRegistry<LocalCommunity | RpcLocalCommunity>;
77
79
  _publishingPublications: Set<Publication>;
80
+ _updatingCommunityLists: Set<CommunityList>;
78
81
  private _communityFsWatchAbort?;
79
82
  private _destroyAbortController?;
80
83
  private _httpRouterSetupPromise?;
@@ -108,6 +111,10 @@ export declare class PKC extends PKCTypedEmitter<PKCEvents> implements ParsedPKC
108
111
  _init(): Promise<void>;
109
112
  getCommunity(getCommunityArgs: GetCommunityArgs): Promise<RemoteCommunity>;
110
113
  getComment(getCommentArgs: GetCommentArgs): Promise<Comment>;
114
+ createCommunityList(options: CreateCommunityListOptions): Promise<CommunityList>;
115
+ getCommunityList(getCommunityListArgs: CreateCommunityListWithCidOptions & {
116
+ abortSignal?: AbortSignal;
117
+ }): Promise<CommunityList>;
111
118
  private _initMissingFieldsOfPublicationBeforeSigning;
112
119
  private _createCommentInstanceFromAnotherCommentInstance;
113
120
  createComment(options: CommentIpfsType | CommentPubsubMessagePublication | {
@@ -28,6 +28,8 @@ import { LRUCache } from "lru-cache";
28
28
  import { PKCTypedEmitter } from "../clients/pkc-typed-emitter.js";
29
29
  import { parseRpcAuthorNameParam, parseRpcCidParam } from "../clients/rpc-client/rpc-schema-util.js";
30
30
  import { cleanWireAuthor, getAuthorNameFromWire, normalizeCreatePublicationAuthor } from "../publications/publication-author.js";
31
+ import { CommunityList } from "../community-list/community-list.js";
32
+ import { CreateCommunityListWithCidOptionsSchema, CreateNewCommunityListOptionsSchema } from "../community-list/schema.js";
31
33
  import { stripNameResolvedFromCrosspost } from "../publications/comment/crosspost-runtime.js";
32
34
  import { TrackedInstanceRegistry } from "./tracked-instance-registry.js";
33
35
  import { findUpdatingCommunity, listStartedCommunities, listUpdatingComments, listUpdatingCommunities } from "./tracked-instance-registry-util.js";
@@ -41,6 +43,9 @@ export class PKC extends PKCTypedEmitter {
41
43
  // Publications that are mid-publish. A plain Set rather than a TrackedInstanceRegistry because
42
44
  // a publication has no stable key to look it up by, and destroy() only ever iterates them.
43
45
  this._publishingPublications = new Set();
46
+ // CommunityList instances mid-update(). Immutable records need no shared-instance registry;
47
+ // destroy() only ever iterates these to stop them.
48
+ this._updatingCommunityLists = new Set();
44
49
  this.destroyed = false;
45
50
  this._storageLRUs = {}; // Cache name to storage interface
46
51
  // How long a `nameResolved: false` verdict is trusted before it is re-earned, on both the author side
@@ -391,6 +396,91 @@ export class PKC extends PKCTypedEmitter {
391
396
  await comment.stop();
392
397
  }
393
398
  }
399
+ // CommunityList: an immutable, signed IPFS file addressed by CID (docs/protocol/community-lists.md).
400
+ // {signer, ...props} creates a publishable list; {cid} creates one that can update()
401
+ async createCommunityList(options) {
402
+ if (options && typeof options === "object" && "cid" in options) {
403
+ const parseRes = CreateCommunityListWithCidOptionsSchema.safeParse(options);
404
+ if (!parseRes.success)
405
+ throw new PKCError("ERR_INVALID_CREATE_COMMUNITY_LIST_OPTIONS_SCHEMA", { zodError: parseRes.error, options });
406
+ const communityList = new CommunityList(this);
407
+ communityList._initWithCidOnly(parseRes.data.cid);
408
+ return communityList;
409
+ }
410
+ const parseRes = CreateNewCommunityListOptionsSchema.safeParse(options);
411
+ if (!parseRes.success)
412
+ throw new PKCError("ERR_INVALID_CREATE_COMMUNITY_LIST_OPTIONS_SCHEMA", { zodError: parseRes.error, options });
413
+ const parsedOptions = parseRes.data;
414
+ const signer = await this.createSigner(parsedOptions.signer);
415
+ const cleanedAuthor = cleanWireAuthor(normalizeCreatePublicationAuthor(parsedOptions.author));
416
+ const communityList = new CommunityList(this);
417
+ communityList._initUnsignedProps({
418
+ signer,
419
+ title: parsedOptions.title,
420
+ description: parsedOptions.description,
421
+ author: cleanedAuthor,
422
+ communities: parsedOptions.communities,
423
+ timestamp: typeof parsedOptions.timestamp === "number" ? parsedOptions.timestamp : timestamp(),
424
+ protocolVersion: parsedOptions.protocolVersion || env.PROTOCOL_VERSION
425
+ });
426
+ return communityList;
427
+ }
428
+ // One-shot fetch + verify. Does not wait for the author.nameResolved verdict (same as getComment);
429
+ // the verdict lands in the pkc-wide cache so evented instances pick it up
430
+ async getCommunityList(getCommunityListArgs) {
431
+ const { abortSignal, ...cidArgs } = getCommunityListArgs;
432
+ const parseRes = CreateCommunityListWithCidOptionsSchema.safeParse(cidArgs);
433
+ if (!parseRes.success)
434
+ throw new PKCError("ERR_INVALID_CREATE_COMMUNITY_LIST_OPTIONS_SCHEMA", { zodError: parseRes.error, getCommunityListArgs });
435
+ const cid = parseRes.data.cid;
436
+ if (abortSignal?.aborted)
437
+ throw new PKCError("ERR_GET_COMMUNITY_LIST_ABORTED", { cid, abortReason: abortSignal.reason });
438
+ const communityList = await this.createCommunityList(parseRes.data);
439
+ let lastUpdateError;
440
+ const errorListener = (err) => (lastUpdateError = err);
441
+ communityList.on("error", errorListener);
442
+ let abortError;
443
+ let abortReject;
444
+ const abortListener = () => {
445
+ abortError = new PKCError("ERR_GET_COMMUNITY_LIST_ABORTED", { cid, abortReason: abortSignal?.reason, lastUpdateError });
446
+ abortReject?.(abortError);
447
+ };
448
+ const abortPromise = new Promise((_, reject) => {
449
+ abortReject = reject;
450
+ });
451
+ // pTimeout attaches its own handler, but only once we hand it the race below. Give it one up
452
+ // front so an abort landing before that never surfaces as an unhandled rejection.
453
+ void abortPromise.catch(() => { });
454
+ // The signal outlives this call, so the listener is removed in the `finally` on every outcome
455
+ abortSignal?.addEventListener("abort", abortListener);
456
+ const timeoutMs = this._timeouts["generic-ipfs"];
457
+ const timeoutError = new TimeoutError(`pkc.getCommunityList({cid: ${cid}}) timed out after ${timeoutMs}ms`);
458
+ try {
459
+ await pTimeout(Promise.race([communityList._loadCommunityListIpfsWithRetries(abortSignal), abortPromise]), {
460
+ milliseconds: timeoutMs,
461
+ message: timeoutError
462
+ });
463
+ if (!communityList.signature)
464
+ throw Error("Failed to load CommunityList");
465
+ communityList._kickOffBackgroundAuthorNameResolution();
466
+ return communityList;
467
+ }
468
+ catch (e) {
469
+ // Abort wins over whatever the list happened to emit: the caller cancelled on purpose
470
+ if (abortError)
471
+ throw abortError;
472
+ // A load that rejected did so with its final error (a record error), which beats an earlier
473
+ // transient one. Only a timeout has nothing better to say than the last transient error
474
+ if (e === timeoutError && lastUpdateError)
475
+ throw lastUpdateError;
476
+ throw e;
477
+ }
478
+ finally {
479
+ abortSignal?.removeEventListener("abort", abortListener);
480
+ communityList.removeListener("error", errorListener);
481
+ await communityList.stop();
482
+ }
483
+ }
394
484
  async _initMissingFieldsOfPublicationBeforeSigning(pubOptions, log) {
395
485
  const finalOptions = clone(pubOptions);
396
486
  if (!finalOptions.signer)
@@ -1068,6 +1158,9 @@ export class PKC extends PKCTypedEmitter {
1068
1158
  this._publishingPublications.clear();
1069
1159
  for (const comment of listUpdatingComments(this))
1070
1160
  await comment.stop();
1161
+ for (const communityList of [...this._updatingCommunityLists])
1162
+ await communityList.stop().catch((e) => log.error("Error stopping CommunityList during destroy", e));
1163
+ this._updatingCommunityLists.clear();
1071
1164
  for (const community of listUpdatingCommunities(this))
1072
1165
  await community.stop();
1073
1166
  await Promise.all(listStartedCommunities(this).map((community) => community.stop()));