@pkcprotocol/pkc-js 0.0.124 → 0.0.125
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +54 -54
- package/dist/browser/clients/rpc-client/pkc-rpc-client.d.ts +3 -1
- package/dist/browser/clients/rpc-client/pkc-rpc-client.js +18 -3
- package/dist/browser/clients/rpc-client/pkc-rpc-client.js.map +1 -1
- package/dist/browser/clients/rpc-client/rpc-schema-util.d.ts +16 -0
- package/dist/browser/clients/rpc-client/rpc-schema-util.js +6 -1
- package/dist/browser/clients/rpc-client/rpc-schema-util.js.map +1 -1
- package/dist/browser/clients/rpc-client/schema.d.ts +12 -0
- package/dist/browser/clients/rpc-client/schema.js +9 -0
- package/dist/browser/clients/rpc-client/schema.js.map +1 -1
- package/dist/browser/clients/rpc-client/types.d.ts +5 -1
- package/dist/browser/community-list/community-list.d.ts +143 -0
- package/dist/browser/community-list/community-list.js +401 -0
- package/dist/browser/community-list/community-list.js.map +1 -0
- package/dist/browser/community-list/schema.d.ts +239 -0
- package/dist/browser/community-list/schema.js +95 -0
- package/dist/browser/community-list/schema.js.map +1 -0
- package/dist/browser/community-list/types.d.ts +19 -0
- package/dist/browser/community-list/types.js +2 -0
- package/dist/browser/community-list/types.js.map +1 -0
- package/dist/browser/errors.d.ts +18 -1
- package/dist/browser/errors.js +18 -0
- package/dist/browser/errors.js.map +1 -1
- package/dist/browser/generated-version.d.ts +1 -1
- package/dist/browser/generated-version.js +1 -1
- package/dist/browser/index.d.ts +2 -0
- package/dist/browser/pkc/pkc-client-manager.d.ts +4 -1
- package/dist/browser/pkc/pkc-client-manager.js +6 -4
- package/dist/browser/pkc/pkc-client-manager.js.map +1 -1
- package/dist/browser/pkc/pkc.d.ts +7 -0
- package/dist/browser/pkc/pkc.js +93 -0
- package/dist/browser/pkc/pkc.js.map +1 -1
- package/dist/browser/pkc-error.d.ts +1 -1
- package/dist/browser/rpc/src/index.d.ts +3 -1
- package/dist/browser/rpc/src/index.js +45 -3
- package/dist/browser/rpc/src/index.js.map +1 -1
- package/dist/browser/schema/schema-util.d.ts +3 -0
- package/dist/browser/schema/schema-util.js +10 -0
- package/dist/browser/schema/schema-util.js.map +1 -1
- package/dist/browser/signer/signatures.d.ts +9 -0
- package/dist/browser/signer/signatures.js +30 -1
- package/dist/browser/signer/signatures.js.map +1 -1
- package/dist/bundled/bundle-manifest.json +54 -50
- package/dist/bundled/challenges.js +1 -1
- package/dist/bundled/chunks/{helia-for-pkc-DfpR6JSl.js → helia-for-pkc-DXygdFt-.js} +33 -33
- package/dist/bundled/chunks/{local-community-CQ9M4cEY.js → local-community-Bbqx5IaD.js} +1 -1
- package/dist/bundled/chunks/{local-community-Ll4pUOKV.js → local-community-D4I0gLqX.js} +31 -31
- package/dist/bundled/chunks/{node-BWOsSCO-.js → node-oqffR7Bn.js} +423 -109
- package/dist/bundled/chunks/{page-sort-scoring-Y3zgv-l4.js → page-sort-scoring-CK4vshII.js} +1 -1
- package/dist/bundled/chunks/{rpc-local-community-D8wgBsuD.js → rpc-local-community-UpO9cs7k.js} +2251 -841
- package/dist/bundled/chunks/{util-IESnqTnj.js → util-D3vx4Na0.js} +1 -1
- package/dist/bundled/chunks/{util-Bd4vp_w6.js → util-nmnnrzbz.js} +2703 -988
- package/dist/bundled/chunks/{validate-package-factories-D527vDd_.js → validate-package-factories-DkJmLpRe.js} +2 -2
- package/dist/bundled/index.js +1 -1
- package/dist/bundled/page-sorts.js +1 -1
- package/dist/bundled/rpc/src/index.js +31 -4
- package/dist/node/clients/rpc-client/pkc-rpc-client.d.ts +3 -1
- package/dist/node/clients/rpc-client/pkc-rpc-client.js +18 -3
- package/dist/node/clients/rpc-client/pkc-rpc-client.js.map +1 -1
- package/dist/node/clients/rpc-client/rpc-schema-util.d.ts +16 -0
- package/dist/node/clients/rpc-client/rpc-schema-util.js +6 -1
- package/dist/node/clients/rpc-client/rpc-schema-util.js.map +1 -1
- package/dist/node/clients/rpc-client/schema.d.ts +12 -0
- package/dist/node/clients/rpc-client/schema.js +9 -0
- package/dist/node/clients/rpc-client/schema.js.map +1 -1
- package/dist/node/clients/rpc-client/types.d.ts +5 -1
- package/dist/node/community-list/community-list.d.ts +143 -0
- package/dist/node/community-list/community-list.js +401 -0
- package/dist/node/community-list/community-list.js.map +1 -0
- package/dist/node/community-list/schema.d.ts +239 -0
- package/dist/node/community-list/schema.js +95 -0
- package/dist/node/community-list/schema.js.map +1 -0
- package/dist/node/community-list/types.d.ts +19 -0
- package/dist/node/community-list/types.js +2 -0
- package/dist/node/community-list/types.js.map +1 -0
- package/dist/node/errors.d.ts +18 -1
- package/dist/node/errors.js +18 -0
- package/dist/node/errors.js.map +1 -1
- package/dist/node/generated-version.d.ts +1 -1
- package/dist/node/generated-version.js +1 -1
- package/dist/node/index.d.ts +2 -0
- package/dist/node/pkc/pkc-client-manager.d.ts +4 -1
- package/dist/node/pkc/pkc-client-manager.js +6 -4
- package/dist/node/pkc/pkc-client-manager.js.map +1 -1
- package/dist/node/pkc/pkc.d.ts +7 -0
- package/dist/node/pkc/pkc.js +93 -0
- package/dist/node/pkc/pkc.js.map +1 -1
- package/dist/node/pkc-error.d.ts +1 -1
- package/dist/node/rpc/src/index.d.ts +3 -1
- package/dist/node/rpc/src/index.js +45 -3
- package/dist/node/rpc/src/index.js.map +1 -1
- package/dist/node/schema/schema-util.d.ts +3 -0
- package/dist/node/schema/schema-util.js +10 -0
- package/dist/node/schema/schema-util.js.map +1 -1
- package/dist/node/signer/signatures.d.ts +9 -0
- package/dist/node/signer/signatures.js +30 -1
- package/dist/node/signer/signatures.js.map +1 -1
- 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":"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"}
|
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/community-list/types.ts"],"names":[],"mappings":""}
|
package/dist/node/errors.d.ts
CHANGED
|
@@ -429,5 +429,22 @@ export declare enum messages {
|
|
|
429
429
|
ERR_PAGE_SORT_SETTINGS_VALIDATION_FAILED_FOR_PAGE_SORTS = "One or more entries of settings.pages failed validation",
|
|
430
430
|
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
431
|
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"
|
|
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_INVALID_COMMUNITY_LIST_SCHEMA = "The schema of the CommunityList record is invalid",
|
|
434
|
+
ERR_INVALID_CREATE_COMMUNITY_LIST_OPTIONS_SCHEMA = "The options sent to pkc.createCommunityList() have an invalid schema",
|
|
435
|
+
ERR_COMMUNITY_LIST_RECORD_INCLUDES_RESERVED_FIELD = "CommunityList record includes a reserved field",
|
|
436
|
+
ERR_COMMUNITY_LIST_AUTHOR_INCLUDES_RESERVED_FIELD = "CommunityList record's author includes a reserved field",
|
|
437
|
+
ERR_COMMUNITY_LIST_ENTRY_INCLUDES_RESERVED_FIELD = "A CommunityList entry includes a reserved field",
|
|
438
|
+
ERR_COMMUNITY_LIST_RECORD_INCLUDES_SIGNABLE_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES = "CommunityList record includes a field that is not in signature.signedPropertyNames",
|
|
439
|
+
ERR_COMMUNITY_LIST_HAS_DUPLICATE_COMMUNITY_PUBLIC_KEY = "CommunityList communities include a duplicate publicKey",
|
|
440
|
+
ERR_COMMUNITY_LIST_OVER_ALLOWED_SIZE = "CommunityList record size is over 2mb",
|
|
441
|
+
ERR_COMMUNITY_LIST_HAS_NO_CID = "CommunityList instance has no cid to update from. To fetch a list, create it with pkc.createCommunityList({cid})",
|
|
442
|
+
ERR_COMMUNITY_LIST_HAS_NO_SIGNER = "CommunityList instance has no signer. To publish a new list, create it with pkc.createCommunityList({signer, ...})",
|
|
443
|
+
ERR_COMMUNITY_LIST_ALREADY_PUBLISHING = "CommunityList.publish() is already in progress",
|
|
444
|
+
ERR_COMMUNITY_LIST_ALREADY_UPDATING = "CommunityList.update() is already in progress",
|
|
445
|
+
ERR_COMMUNITY_LIST_PUBLISH_ABORTED = "CommunityList.publish() was aborted via stop()",
|
|
446
|
+
ERR_COMMUNITY_LIST_SIGNATURE_IS_INVALID = "CommunityList record has an invalid signature",
|
|
447
|
+
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",
|
|
448
|
+
ERR_GET_COMMUNITY_LIST_ABORTED = "pkc.getCommunityList() was aborted by a signal",
|
|
449
|
+
ERR_COMMUNITY_LIST_CID_MUST_BE_V0 = "CommunityList cid must be a CIDv0 (Qm...), the cid that publish() returns"
|
|
433
450
|
}
|
package/dist/node/errors.js
CHANGED
|
@@ -451,5 +451,23 @@ export var messages;
|
|
|
451
451
|
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
452
|
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
453
|
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";
|
|
454
|
+
// CommunityList errors (docs/protocol/community-lists.md)
|
|
455
|
+
messages["ERR_INVALID_COMMUNITY_LIST_SCHEMA"] = "The schema of the CommunityList record is invalid";
|
|
456
|
+
messages["ERR_INVALID_CREATE_COMMUNITY_LIST_OPTIONS_SCHEMA"] = "The options sent to pkc.createCommunityList() have an invalid schema";
|
|
457
|
+
messages["ERR_COMMUNITY_LIST_RECORD_INCLUDES_RESERVED_FIELD"] = "CommunityList record includes a reserved field";
|
|
458
|
+
messages["ERR_COMMUNITY_LIST_AUTHOR_INCLUDES_RESERVED_FIELD"] = "CommunityList record's author includes a reserved field";
|
|
459
|
+
messages["ERR_COMMUNITY_LIST_ENTRY_INCLUDES_RESERVED_FIELD"] = "A CommunityList entry includes a reserved field";
|
|
460
|
+
messages["ERR_COMMUNITY_LIST_RECORD_INCLUDES_SIGNABLE_FIELD_NOT_IN_SIGNED_PROPERTY_NAMES"] = "CommunityList record includes a field that is not in signature.signedPropertyNames";
|
|
461
|
+
messages["ERR_COMMUNITY_LIST_HAS_DUPLICATE_COMMUNITY_PUBLIC_KEY"] = "CommunityList communities include a duplicate publicKey";
|
|
462
|
+
messages["ERR_COMMUNITY_LIST_OVER_ALLOWED_SIZE"] = "CommunityList record size is over 2mb";
|
|
463
|
+
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})";
|
|
464
|
+
messages["ERR_COMMUNITY_LIST_HAS_NO_SIGNER"] = "CommunityList instance has no signer. To publish a new list, create it with pkc.createCommunityList({signer, ...})";
|
|
465
|
+
messages["ERR_COMMUNITY_LIST_ALREADY_PUBLISHING"] = "CommunityList.publish() is already in progress";
|
|
466
|
+
messages["ERR_COMMUNITY_LIST_ALREADY_UPDATING"] = "CommunityList.update() is already in progress";
|
|
467
|
+
messages["ERR_COMMUNITY_LIST_PUBLISH_ABORTED"] = "CommunityList.publish() was aborted via stop()";
|
|
468
|
+
messages["ERR_COMMUNITY_LIST_SIGNATURE_IS_INVALID"] = "CommunityList record has an invalid signature";
|
|
469
|
+
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";
|
|
470
|
+
messages["ERR_GET_COMMUNITY_LIST_ABORTED"] = "pkc.getCommunityList() was aborted by a signal";
|
|
471
|
+
messages["ERR_COMMUNITY_LIST_CID_MUST_BE_V0"] = "CommunityList cid must be a CIDv0 (Qm...), the cid that publish() returns";
|
|
454
472
|
})(messages || (messages = {}));
|
|
455
473
|
//# sourceMappingURL=errors.js.map
|
package/dist/node/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,
|
|
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.
|
|
1
|
+
export declare const version = "0.0.125";
|
package/dist/node/index.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
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
|
|
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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"}
|
package/dist/node/pkc/pkc.d.ts
CHANGED
|
@@ -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 | {
|
package/dist/node/pkc/pkc.js
CHANGED
|
@@ -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()));
|