@pkcprotocol/pkc-js 0.0.87 → 0.0.89

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 (58) hide show
  1. package/README.md +1 -1
  2. package/dist/browser/community/schema.d.ts +10 -10
  3. package/dist/browser/community/schema.js +1 -1
  4. package/dist/browser/community/schema.js.map +1 -1
  5. package/dist/browser/generated-version.d.ts +1 -1
  6. package/dist/browser/generated-version.js +1 -1
  7. package/dist/browser/helia/helia-for-pkc.d.ts +2 -0
  8. package/dist/browser/helia/helia-for-pkc.js +158 -55
  9. package/dist/browser/helia/helia-for-pkc.js.map +1 -1
  10. package/dist/browser/helia/libp2pjsClient.d.ts +1 -1
  11. package/dist/browser/helia/lru-blockstore.d.ts +9 -8
  12. package/dist/browser/helia/lru-blockstore.js.map +1 -1
  13. package/dist/browser/helia/types.d.ts +10 -10
  14. package/dist/browser/rpc/src/schema.d.ts +148 -22
  15. package/dist/browser/runtime/node/community/local-community/cleanup.js +31 -1
  16. package/dist/browser/runtime/node/community/local-community/cleanup.js.map +1 -1
  17. package/dist/browser/schema/schema-util.d.ts +3 -3
  18. package/dist/browser/schema.d.ts +8 -6
  19. package/dist/browser/schema.js +8 -1
  20. package/dist/browser/schema.js.map +1 -1
  21. package/dist/browser/test/test-util.d.ts +3 -3
  22. package/dist/browser/test/test-util.js +3 -1
  23. package/dist/browser/test/test-util.js.map +1 -1
  24. package/dist/bundled/bundle-manifest.json +165 -146
  25. package/dist/bundled/chunks/{helia-for-pkc-CjrfyXsA.js → helia-for-pkc-BKXOmklx.js} +101 -70
  26. package/dist/bundled/chunks/{local-community-DbfQyZow.js → local-community-C7tTEYDD.js} +1 -1
  27. package/dist/bundled/chunks/{local-community-Ba5iR3bD.js → local-community-D5fzgPCr.js} +60 -31
  28. package/dist/bundled/chunks/{node-gCrky-14.js → node-C9RpmtmM.js} +5 -5
  29. package/dist/bundled/chunks/{rpc-local-community-BYd-0Aw4.js → rpc-local-community-Dq00OHRf.js} +432 -6
  30. package/dist/bundled/chunks/{schema-0b9XHoqX.js → schema-bDrzx9EZ.js} +4 -4
  31. package/dist/bundled/chunks/{src-WLgFbUwZ.js → src-629pKfxo.js} +2731 -415
  32. package/dist/bundled/chunks/{src-B2CwDTfy.js → src-Dz9wtvrK.js} +18 -18
  33. package/dist/bundled/chunks/{util-CvgcZ9iH.js → util-DuJcVQ7Y.js} +1 -1
  34. package/dist/bundled/index.js +1 -1
  35. package/dist/bundled/rpc/src/index.js +4 -4
  36. package/dist/node/community/schema.d.ts +10 -10
  37. package/dist/node/community/schema.js +1 -1
  38. package/dist/node/community/schema.js.map +1 -1
  39. package/dist/node/generated-version.d.ts +1 -1
  40. package/dist/node/generated-version.js +1 -1
  41. package/dist/node/helia/helia-for-pkc.d.ts +2 -0
  42. package/dist/node/helia/helia-for-pkc.js +158 -55
  43. package/dist/node/helia/helia-for-pkc.js.map +1 -1
  44. package/dist/node/helia/libp2pjsClient.d.ts +1 -1
  45. package/dist/node/helia/lru-blockstore.d.ts +9 -8
  46. package/dist/node/helia/lru-blockstore.js.map +1 -1
  47. package/dist/node/helia/types.d.ts +10 -10
  48. package/dist/node/rpc/src/schema.d.ts +148 -22
  49. package/dist/node/runtime/node/community/local-community/cleanup.js +31 -1
  50. package/dist/node/runtime/node/community/local-community/cleanup.js.map +1 -1
  51. package/dist/node/schema/schema-util.d.ts +3 -3
  52. package/dist/node/schema.d.ts +8 -6
  53. package/dist/node/schema.js +8 -1
  54. package/dist/node/schema.js.map +1 -1
  55. package/dist/node/test/test-util.d.ts +3 -3
  56. package/dist/node/test/test-util.js +3 -1
  57. package/dist/node/test/test-util.js.map +1 -1
  58. package/package.json +18 -16
package/README.md CHANGED
@@ -541,7 +541,7 @@ An object which may have the following keys:
541
541
  | pubsubKuboRpcClientsOptions | `(string \| KuboRpcClientOptions)[]` or `undefined` | `[{url: 'https://pubsubprovider.xyz/api/v0'}, {url: 'https://plebpubsub.xyz/api/v0'}]` | Optional URLs or [KuboRpcClientOptions](https://www.npmjs.com/package/kubo-rpc-client#options) used for pubsub publishing when `kuboRpcClientsOptions` isn't available, like in the browser |
542
542
  | pkcRpcClientsOptions | `string[]` or `undefined` | `undefined` | Optional websocket URLs of PKC RPC servers, required to run a community from a browser/electron/webview |
543
543
  | httpRoutersOptions | `string[]` or `undefined` | `['https://peers.pleb.bot', 'https://routing.lol', 'https://peers.forumindex.com', 'https://peers.plebpubsub.xyz', 'https://routerofbitsocial.xyz', 'https://bsotracker.online']` | URLs of HTTP delegated-routing endpoints used by `libp2pJsClientsOptions` for content/peer routing and IPNS lookups. Each URL must start with `http://` or `https://`. |
544
- | libp2pJsClientsOptions | `Array<{key: string, libp2pOptions?: Partial<Libp2pOptions>, heliaOptions?: Partial<HeliaOptions>, blockstoreOptions?: {maxBytes?: number, lowWaterRatio?: number}}>` or `undefined` | `undefined` | Optional in-process libp2p/Helia client. When set, replaces `kuboRpcClientsOptions` and `pubsubKuboRpcClientsOptions` (which are then ignored). At most one entry; `key` is a unique identifier. `libp2pOptions` is forwarded to [Helia's libp2p](https://github.com/ipfs/helia) (e.g. `connectionGater`, `services`, transports), `heliaOptions` to [`createHelia`](https://github.com/ipfs/helia) (e.g. `blockstore`, `blockBrokers`). Requires `httpRoutersOptions` to be set. By default WebRTC and WebTransport dials are rejected so nodes (notably in the browser) connect over WebSocket(/WSS); pass your own `libp2pOptions.connectionGater` to override this (it fully replaces the default gater). `blockstoreOptions` tunes the block cache described below. |
544
+ | libp2pJsClientsOptions | `Array<{key: string, libp2pOptions?: Partial<Libp2pOptions>, heliaOptions?: Partial<HeliaOptions>, blockstoreOptions?: {maxBytes?: number, lowWaterRatio?: number}}>` or `undefined` | `undefined` | Optional in-process libp2p/Helia client. When set, replaces `kuboRpcClientsOptions` and `pubsubKuboRpcClientsOptions` (which are then ignored). At most one entry; `key` is a unique identifier. `libp2pOptions` is forwarded to [Helia's libp2p](https://github.com/ipfs/helia) (e.g. `connectionGater`, `services`, transports), `heliaOptions` to [Helia](https://github.com/ipfs/helia) (e.g. `blockstore`, `blockBrokers`; a caller-supplied `blockBrokers` replaces the default bitswap broker, and `http` is not supported since the client is composed without Helia's HTTP components). Requires `httpRoutersOptions` to be set. By default WebRTC and WebTransport dials are rejected so nodes (notably in the browser) connect over WebSocket(/WSS); pass your own `libp2pOptions.connectionGater` to override this (it fully replaces the default gater). `blockstoreOptions` tunes the block cache described below. |
545
545
  | dataPath | `string` or `undefined` | `.pkc` folder in the current working directory | (Node only) Optional folder path to create/resume the user and community databases |
546
546
  | resolveAuthorNames | `boolean` or `undefined` | `true` | Optionally disable resolving crypto domain author names, which can be done lazily later to save time |
547
547
  | nameResolvers | `NameResolver[]` or `undefined` | `undefined` | Custom resolvers for crypto domain names. Each resolver: `{key, resolve, canResolve, provider, destroy?}`. |
@@ -885,7 +885,7 @@ export declare const CommunityIpfsSchema: z.ZodObject<{
885
885
  createdAt: z.ZodNumber;
886
886
  updatedAt: z.ZodNumber;
887
887
  pubsubTopic: z.ZodOptional<z.ZodString>;
888
- statsCid: z.ZodString;
888
+ statsCid: z.ZodOptional<z.ZodString>;
889
889
  protocolVersion: z.ZodString;
890
890
  postUpdates: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
891
891
  title: z.ZodOptional<z.ZodString>;
@@ -955,7 +955,7 @@ export declare const CommunityIpfsSchema: z.ZodObject<{
955
955
  expiresAt: z.ZodOptional<z.ZodNumber>;
956
956
  }, z.core.$loose>>>>;
957
957
  }, z.core.$strict>;
958
- export declare const CommunitySignedPropertyNames: ("name" | "flairs" | "protocolVersion" | "lastCommentCid" | "anchor" | "encryption" | "createdAt" | "updatedAt" | "statsCid" | "title" | "posts" | "modQueue" | "challenges" | "description" | "pubsubTopic" | "postUpdates" | "roles" | "rules" | "lastPostCid" | "features" | "suggested")[];
958
+ export declare const CommunitySignedPropertyNames: ("name" | "flairs" | "protocolVersion" | "lastCommentCid" | "anchor" | "encryption" | "createdAt" | "updatedAt" | "title" | "posts" | "modQueue" | "challenges" | "description" | "pubsubTopic" | "statsCid" | "postUpdates" | "roles" | "rules" | "lastPostCid" | "features" | "suggested")[];
959
959
  export declare const RpcRemoteCommunityUpdateEventResultSchema: z.ZodObject<{
960
960
  community: z.ZodOptional<z.ZodObject<{
961
961
  posts: z.ZodOptional<z.ZodObject<{
@@ -1231,7 +1231,7 @@ export declare const RpcRemoteCommunityUpdateEventResultSchema: z.ZodObject<{
1231
1231
  createdAt: z.ZodNumber;
1232
1232
  updatedAt: z.ZodNumber;
1233
1233
  pubsubTopic: z.ZodOptional<z.ZodString>;
1234
- statsCid: z.ZodString;
1234
+ statsCid: z.ZodOptional<z.ZodString>;
1235
1235
  protocolVersion: z.ZodString;
1236
1236
  postUpdates: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1237
1237
  title: z.ZodOptional<z.ZodString>;
@@ -1370,7 +1370,7 @@ export declare const CreateRemoteCommunityOptionsSchema: z.ZodObject<{
1370
1370
  createdAt: z.ZodOptional<z.ZodNumber>;
1371
1371
  updatedAt: z.ZodOptional<z.ZodNumber>;
1372
1372
  pubsubTopic: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1373
- statsCid: z.ZodOptional<z.ZodString>;
1373
+ statsCid: z.ZodOptional<z.ZodOptional<z.ZodString>>;
1374
1374
  protocolVersion: z.ZodOptional<z.ZodString>;
1375
1375
  postUpdates: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
1376
1376
  title: z.ZodOptional<z.ZodOptional<z.ZodString>>;
@@ -2139,7 +2139,7 @@ export declare const CreateRemoteCommunityFunctionArgumentSchema: z.ZodUnion<[z.
2139
2139
  createdAt: z.ZodOptional<z.ZodNumber>;
2140
2140
  updatedAt: z.ZodOptional<z.ZodNumber>;
2141
2141
  pubsubTopic: z.ZodOptional<z.ZodOptional<z.ZodString>>;
2142
- statsCid: z.ZodOptional<z.ZodString>;
2142
+ statsCid: z.ZodOptional<z.ZodOptional<z.ZodString>>;
2143
2143
  protocolVersion: z.ZodOptional<z.ZodString>;
2144
2144
  postUpdates: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
2145
2145
  title: z.ZodOptional<z.ZodOptional<z.ZodString>>;
@@ -2711,7 +2711,7 @@ export declare const CreateRemoteCommunityFunctionArgumentSchema: z.ZodUnion<[z.
2711
2711
  createdAt: z.ZodNumber;
2712
2712
  updatedAt: z.ZodNumber;
2713
2713
  pubsubTopic: z.ZodOptional<z.ZodString>;
2714
- statsCid: z.ZodString;
2714
+ statsCid: z.ZodOptional<z.ZodString>;
2715
2715
  protocolVersion: z.ZodString;
2716
2716
  postUpdates: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2717
2717
  title: z.ZodOptional<z.ZodString>;
@@ -2841,7 +2841,7 @@ export declare const CreateRpcCommunityFunctionArgumentSchema: z.ZodUnion<[z.Zod
2841
2841
  createdAt: z.ZodOptional<z.ZodNumber>;
2842
2842
  updatedAt: z.ZodOptional<z.ZodNumber>;
2843
2843
  pubsubTopic: z.ZodOptional<z.ZodOptional<z.ZodString>>;
2844
- statsCid: z.ZodOptional<z.ZodString>;
2844
+ statsCid: z.ZodOptional<z.ZodOptional<z.ZodString>>;
2845
2845
  protocolVersion: z.ZodOptional<z.ZodString>;
2846
2846
  postUpdates: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
2847
2847
  title: z.ZodOptional<z.ZodOptional<z.ZodString>>;
@@ -3413,7 +3413,7 @@ export declare const CreateRpcCommunityFunctionArgumentSchema: z.ZodUnion<[z.Zod
3413
3413
  createdAt: z.ZodNumber;
3414
3414
  updatedAt: z.ZodNumber;
3415
3415
  pubsubTopic: z.ZodOptional<z.ZodString>;
3416
- statsCid: z.ZodString;
3416
+ statsCid: z.ZodOptional<z.ZodString>;
3417
3417
  protocolVersion: z.ZodString;
3418
3418
  postUpdates: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
3419
3419
  title: z.ZodOptional<z.ZodString>;
@@ -3787,7 +3787,7 @@ export declare const CreateCommunityFunctionArgumentsSchema: z.ZodUnion<[z.ZodOb
3787
3787
  createdAt: z.ZodOptional<z.ZodNumber>;
3788
3788
  updatedAt: z.ZodOptional<z.ZodNumber>;
3789
3789
  pubsubTopic: z.ZodOptional<z.ZodOptional<z.ZodString>>;
3790
- statsCid: z.ZodOptional<z.ZodString>;
3790
+ statsCid: z.ZodOptional<z.ZodOptional<z.ZodString>>;
3791
3791
  protocolVersion: z.ZodOptional<z.ZodString>;
3792
3792
  postUpdates: z.ZodOptional<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>>;
3793
3793
  title: z.ZodOptional<z.ZodOptional<z.ZodString>>;
@@ -4359,7 +4359,7 @@ export declare const CreateCommunityFunctionArgumentsSchema: z.ZodUnion<[z.ZodOb
4359
4359
  createdAt: z.ZodNumber;
4360
4360
  updatedAt: z.ZodNumber;
4361
4361
  pubsubTopic: z.ZodOptional<z.ZodString>;
4362
- statsCid: z.ZodString;
4362
+ statsCid: z.ZodOptional<z.ZodString>;
4363
4363
  protocolVersion: z.ZodString;
4364
4364
  postUpdates: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
4365
4365
  title: z.ZodOptional<z.ZodString>;
@@ -222,7 +222,7 @@ export const CommunityIpfsSchema = z
222
222
  createdAt: PKCTimestampSchema,
223
223
  updatedAt: PKCTimestampSchema,
224
224
  pubsubTopic: PubsubTopicSchema.optional(),
225
- statsCid: CidStringSchema,
225
+ statsCid: CidStringSchema.optional(),
226
226
  protocolVersion: ProtocolVersionSchema,
227
227
  postUpdates: z.record(nonNegativeIntStringSchema, CidStringSchema).optional(),
228
228
  title: z.string().optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/community/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/community/schema.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export declare const version = "0.0.87";
1
+ export declare const version = "0.0.89";
@@ -1,3 +1,3 @@
1
1
  // Auto-generated by config/generate-version.js — do not edit
2
- export const version = "0.0.87";
2
+ export const version = "0.0.89";
3
3
  //# sourceMappingURL=generated-version.js.map
@@ -1,3 +1,5 @@
1
1
  import type { ParsedPKCOptions } from "../types.js";
2
2
  import { Libp2pJsClient } from "./libp2pjsClient.js";
3
+ export declare function ipnsRouterTag(router: unknown): string;
4
+ export declare function isLocalStoreIpnsRouter(router: unknown): boolean;
3
5
  export declare function createLibp2pJsClientOrUseExistingOne(pkcOptions: Required<Pick<ParsedPKCOptions, "httpRoutersOptions">> & Pick<ParsedPKCOptions, "dataPath"> & NonNullable<ParsedPKCOptions["libp2pJsClientsOptions"]>[number]): Promise<Libp2pJsClient>;
@@ -1,4 +1,6 @@
1
- import { createHelia, libp2pDefaults } from "helia";
1
+ import { createHeliaLight } from "helia";
2
+ import { libp2pDefaults, withLibp2p } from "@helia/libp2p";
3
+ import { withBitswap } from "@helia/bitswap";
2
4
  import { ipns } from "@helia/ipns";
3
5
  import { unmarshalIPNSRecord, multihashToIPNSRoutingKey } from "ipns";
4
6
  import { ipnsValidator } from "ipns/validator";
@@ -6,15 +8,15 @@ import { gossipsub } from "@libp2p/gossipsub";
6
8
  import { identify } from "@libp2p/identify";
7
9
  import extraLibp2pTransports from "../runtime/browser/libp2p-extra-transports.js";
8
10
  import { CID } from "multiformats/cid";
11
+ import { sha512 } from "multiformats/hashes/sha2";
9
12
  import { peerIdFromString } from "@libp2p/peer-id";
10
- import { bitswap } from "@helia/block-brokers";
11
13
  import { createBlockstoreForLibp2pJsClient } from "../runtime/browser/blockstore.js";
12
14
  import { LruBlockstore } from "./lru-blockstore.js";
13
15
  import { delegatedRoutingV1HttpApiClientContentRouting } from "@helia/delegated-routing-v1-http-api-client";
14
16
  import { NotFoundError } from "@libp2p/interface";
15
17
  import { unixfs } from "@helia/unixfs";
16
18
  import { fetch as libp2pFetch } from "@libp2p/fetch";
17
- import { pubsub as createIpnsPubusubRouter } from "@helia/ipns/routing";
19
+ import { pubSubIPNSRouting as createIpnsPubusubRouter } from "@helia/ipns";
18
20
  import Logger from "../logger.js";
19
21
  import { EventEmitter } from "events";
20
22
  import { PKCError } from "../pkc-error.js";
@@ -84,6 +86,16 @@ function getDelegatedRoutingFields(routers) {
84
86
  }
85
87
  return routersObj;
86
88
  }
89
+ // @helia/ipns routers identify themselves through a literal toString() tag ("LocalStoreRouting()",
90
+ // "HeliaRouting()", "PubSubRouting()"). Use that, never `constructor.name`: the classes are
91
+ // module-private and bundlers mangle their names, which turned the old class-name filter into a
92
+ // silent no-op in production builds.
93
+ export function ipnsRouterTag(router) {
94
+ return String(router);
95
+ }
96
+ export function isLocalStoreIpnsRouter(router) {
97
+ return ipnsRouterTag(router) === "LocalStoreRouting()";
98
+ }
87
99
  export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
88
100
  if (!pkcOptions.httpRoutersOptions?.length)
89
101
  throw Error("You need to have pkc.httpRouterOptions to set up helia");
@@ -98,11 +110,16 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
98
110
  client.countOfUsesOfInstance++;
99
111
  return client;
100
112
  }
113
+ // Both are set from inside the factory so that the catch handler after it can tear down
114
+ // whatever got started when the wiring throws part-way through: until the client lands in
115
+ // libp2pJsClients nothing else holds a reference to the node, and a started-but-orphaned
116
+ // libp2p keeps gossipsub heartbeats, bitswap and open sockets alive past pkc.destroy().
117
+ let startedHelia;
118
+ let closeBlockstore = async () => { };
101
119
  creatingLibp2pJsClients[pkcOptions.key] = (async () => {
102
120
  // A caller supplying their own heliaOptions.blockstore owns block storage entirely, so skip
103
121
  // ours rather than opening a directory or IndexedDB database nothing will read.
104
122
  let lruBlockstore;
105
- let closeBlockstore = async () => { };
106
123
  if (!pkcOptions.heliaOptions?.blockstore) {
107
124
  const { blockstore: childBlockstore, persistent, defaultMaxBytes, close } = await createBlockstoreForLibp2pJsClient({
108
125
  dataPath: pkcOptions.dataPath,
@@ -165,17 +182,45 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
165
182
  // instance ever removes one, so an unbounded store grows for the life of the process.
166
183
  // See pkc-js#240 for the measurement behind the cap.
167
184
  blockstore: lruBlockstore,
168
- blockBrokers: [bitswap()],
169
- start: false,
170
185
  ...pkcOptions.heliaOptions
171
186
  };
172
- const helia = await createHelia(mergedHeliaInit);
173
- // Helia's default content routers are [Libp2pRouter, HTTPGatewayRouter]. We use our own
174
- // gateway-fan-out logic in base-client-manager, so the HTTP gateway router here is
175
- // redundant and adds latency. Filter by class name (not index) so a future helia release
176
- // that re-orders the array can't silently leave the gateway in or drop libp2p routing.
177
- //@ts-expect-error helia.routing.routers is internal
178
- helia.routing.routers = helia.routing.routers.filter((r) => r.constructor.name !== "HTTPGatewayRouter");
187
+ // helia 7's createHelia() composes withHTTP() in: a public trustless-gateway block broker
188
+ // plus public delegated HTTP routers and recursive gateways. We use our own gateway
189
+ // fan-out logic in base-client-manager and only the routers the user configured, so
190
+ // compose the node without any HTTP components (heliaOptions.http is excluded from the
191
+ // schema for that reason): bitswap is the only block broker and libp2p the only content
192
+ // router. withLibp2p applies libp2pDefaults with shallow per-key replace semantics (same
193
+ // as helia 6's createHelia): every key we set above wins outright (in particular our
194
+ // narrow `services` map fully replaces the default one), while keys we leave out
195
+ // (connectionEncrypters, streamMuxers, ...) come from helia's defaults.
196
+ //
197
+ // A caller-supplied heliaOptions.blockBrokers REPLACES bitswap, as it did under helia 6
198
+ // (`init.blockBrokers ?? [bitswap()]`): withBitswap() is additive, so applying it on top of
199
+ // the caller's list would hand a gateway-only/opt-out config bitswap sessions and dials anyway.
200
+ //
201
+ // createHeliaLight registers only sha2-256/identity and dag-pb/raw, where createHelia adds
202
+ // sha2-512 and the dag-cbor/dag-json/json codecs. pkc records are unixfs (dag-pb/raw) so
203
+ // the codecs are not needed, but nothing stops a community from publishing a sha2-512 CID
204
+ // (e.g. `ipfs add --hash sha2-512`) and helia looks the hasher up before the first block
205
+ // fetch, so keep sha2-512 to match what fetched under helia 6.
206
+ const { libp2p: mergedLibp2pInit, bitswap: bitswapInit, blockBrokers: callerBlockBrokers, ...heliaLightInit } = mergedHeliaInit;
207
+ const heliaWithLibp2p = withLibp2p(createHeliaLight({
208
+ ...heliaLightInit,
209
+ blockBrokers: callerBlockBrokers,
210
+ hashers: [sha512, ...(heliaLightInit.hashers ?? [])]
211
+ }), mergedLibp2pInit ?? {});
212
+ // The composition is typed as helia's default service map (dht, relay, upnp, ...) while our
213
+ // `services` above replaces it; HeliaWithLibp2pPubsub is the narrow map we actually run.
214
+ const helia = (callerBlockBrokers === undefined ? withBitswap(heliaWithLibp2p, bitswapInit) : heliaWithLibp2p);
215
+ // helia 7 creates libp2p lazily inside start() — the `helia.libp2p` getter throws
216
+ // NotStartedError until then — so start the node before wiring anything that reads it.
217
+ // Nothing can race the wiring below: no topic is subscribed and no dial is made until
218
+ // this factory returns the client.
219
+ // Assigned before start(): helia 7's start() has no rollback, so if a later mixin throws
220
+ // (e.g. bitswap's network.start() after withLibp2p already started libp2p) the node is
221
+ // half-started and must still be stopped by the catch below.
222
+ startedHelia = helia;
223
+ await helia.start();
179
224
  log("Initialized libp2pjs helia with key", pkcOptions.key, "peer id", helia.libp2p.peerId.toString());
180
225
  const pubsubEventHandler = new EventEmitter();
181
226
  helia.libp2p.services.pubsub.addEventListener("message", (evt) => {
@@ -185,10 +230,6 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
185
230
  pubsubEventHandler.emit(evt.detail.topic, msgFormatted);
186
231
  });
187
232
  const heliaFs = unixfs(helia);
188
- const asHeliaCatCid = (ipfsPathOrCid) => {
189
- CID.parse(ipfsPathOrCid.split("/")[0]); // validate the root CID; throws on malformed input
190
- return ipfsPathOrCid;
191
- };
192
233
  // Issue #189: without a session, every block fetched over bitswap fires its own
193
234
  // network.findAndConnect — a findProviders query against ALL configured HTTP routers per
194
235
  // block, plus stray dials to whatever providers it discovers mid-fetch. cat() therefore
@@ -272,20 +313,51 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
272
313
  signal.addEventListener("abort", onAbort, { once: true });
273
314
  });
274
315
  const ipnsPubsubRouter = createIpnsPubusubRouter(helia);
316
+ const ipnsNameResolver = ipns(helia, {
317
+ routers: [ipnsPubsubRouter]
318
+ });
319
+ // @helia/ipns constructs routers as [LocalStoreIPNSRouting, HeliaIPNSRouting, ...userRouters]
320
+ // and hands that SAME array to its resolver/publisher/republisher, so it must be mutated in
321
+ // place: reassigning `.routers` only changes what pkc's own loops below iterate, while
322
+ // ipnsNameResolver.resolve() keeps querying (and writing the local cache through) the
323
+ // original list. We drop LocalStoreIPNSRouting because pkc-js never publishes IPNS via
324
+ // @helia/ipns (kubo does that), so the local cache is always empty and just adds a wasted
325
+ // lookup. Keep HeliaIPNSRouting (HTTP delegated routing via helia.routing) and our pubsub
326
+ // router. Match by the router's toString() tag ("LocalStoreRouting()") rather than by
327
+ // `constructor.name`: the class is module-private and bundlers mangle its name (in 5chan's
328
+ // production build it becomes `dMe`), so a class-name match is a silent no-op there. The
329
+ // tag is a string literal and survives minification. Matching by identity (rather than
330
+ // by index) also means a future @helia/ipns release that re-orders the array can't make
331
+ // us drop the wrong router.
332
+ for (let i = ipnsNameResolver.routers.length - 1; i >= 0; i--) {
333
+ if (isLocalStoreIpnsRouter(ipnsNameResolver.routers[i]))
334
+ ipnsNameResolver.routers.splice(i, 1);
335
+ }
336
+ // The IPNS facade marks itself started (and runs its hourly republisher) from helia's
337
+ // 'start' event, which helia 7 dispatches exactly once at the end of start(), i.e. before the
338
+ // facade existed (its constructor walks helia's components, whose `libp2p` getter throws
339
+ // until start(), so it cannot be built earlier). helia 6 fell back to
340
+ // `libp2p.status === 'started'` and so ran the republisher; that fallback is gone in 7.
341
+ // Nothing in pkc depends on the facade being "started" (resolve() has no started check and
342
+ // pkc walks `routers` directly), so this only keeps helia-6 lifecycle parity for the
343
+ // republisher. start() is on the class but not on the exported IPNS interface.
344
+ ipnsNameResolver.start?.();
345
+ // The router is Startable but neither helia.start() (blockstore/datastore/routing/brokers
346
+ // only) nor the IPNS facade (republisher only) starts user-supplied routers. Its start()
347
+ // registers the libp2p/fetch topology that fills `fetchPeers`, which gates the
348
+ // subscription-change fast path: fetch the record over /libp2p/fetch from a server that
349
+ // joins the topic after our get() already ran (ipfs/helia#906) and republish it to the
350
+ // topic. NOTE: this path is newly enabled here, not restored. Under helia 6 nothing ever
351
+ // called start() on this router either, so `fetchPeers` stayed empty and the fast path
352
+ // never fired. It is largely redundant with the direct fetch below (issue #210) but bounded
353
+ // (one fetch per subscription-change event, into the router's own queue); its republish
354
+ // goes through raw libp2p pubsub, not pkc's mesh-gated wrapper, so a `could not publish
355
+ // record` error line is possible when no mesh peer exists. stop() is mirrored in stop() below.
356
+ await ipnsPubsubRouter.start?.();
275
357
  // The router's localStore is where gossipsub-delivered records get cached (handleRecord).
276
358
  // It's declared private but is a plain class field at runtime; the direct-fetch path below
277
359
  // writes to it to keep the cached-record invariant (issue #210).
278
360
  const ipnsPubsubLocalStore = ipnsPubsubRouter.localStore;
279
- const ipnsNameResolver = ipns(helia, {
280
- routers: [ipnsPubsubRouter]
281
- });
282
- // @helia/ipns constructs routers as [LocalStoreRouting, HeliaRouting, ...userRouters].
283
- // We drop LocalStoreRouting because pkc-js never publishes IPNS via @helia/ipns (kubo
284
- // does that), so the local cache is always empty and just adds a wasted lookup. Keep
285
- // HeliaRouting (HTTP delegated routing via helia.routing.routers) and our PubSubRouting.
286
- // Filter by class name so a future @helia/ipns release that re-orders the array can't
287
- // silently drop our pubsub router.
288
- ipnsNameResolver.routers = ipnsNameResolver.routers.filter((r) => r?.constructor?.name !== "LocalStoreRouting");
289
361
  // Side-channel awaitable warmup: gossipsub's pubsub.subscribe(topic) is sync and returns
290
362
  // void, so we can't make it awaitable without breaking @helia/ipns and other internal
291
363
  // callers that expect the sync contract. Instead, we expose `warmupForTopic(topic)` and
@@ -427,22 +499,17 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
427
499
  // See docs/protocol/delegated-ipns.md.
428
500
  //
429
501
  // Why call routers directly instead of ipnsNameResolver.resolve():
430
- // - @helia/ipns 9.2.x has no public single-hop / non-recursive resolve API.
431
- // resolve() always recurses until it reaches an /ipfs/ value, and its single-hop
432
- // primitive (#findIpnsRecord) is private so the router layer is the only public
433
- // way to fetch exactly one record.
434
- // - resolve()'s ResolveProgressEvents type declares ipns:resolve:success (carrying
435
- // the per-hop IPNSRecord), but those events are never emitted in 9.2.x — only
436
- // routing-level events fire, none carrying a record value or next-hop name. So an
437
- // onProgress listener cannot reconstruct the hop chain either. Empirically pinned
438
- // in test/node/community/helia-ipns-resolve-equivalence.unit.test.ts.
439
- // Upstream main has since reworked resolve() into an async generator that yields each
440
- // hop's IPNSRecord (ipfs/helia#1041) — that would replace this manual walk and even let
441
- // us warm each pubsub topic between yields — but it's unreleased; npm latest 9.2.1 still
442
- // collapses the chain to the terminal CID. So the per-hop walk stays for now.
443
- // TODO: after the @helia/ipns upgrade, re-check this — once the generator resolve() is
444
- // released, replace this router.get + ipnsValidator loop with
445
- // `for await (const { record } of ipnsNameResolver.resolve(...))`.
502
+ // @helia/ipns 10 reworked resolve() into an async generator that yields one
503
+ // IPNSResolveResult per hop (ipfs/helia#1041), so a single-hop read is now
504
+ // technically reachable by taking the first yield. The per-hop walk stays anyway:
505
+ // - the direct-fetch fast path above (libp2p/fetch from subscribers + freshly
506
+ // discovered providers, with the issue #210 cache write) has no equivalent
507
+ // inside resolve();
508
+ // - per-hop pubsub warmup has to happen BEFORE that hop's record is requested, and
509
+ // resolve() requests the next hop's record internally as soon as it yields;
510
+ // - per-router error aggregation below is what the tests and callers report on.
511
+ // Equivalence of the resolved value with resolve() is pinned in
512
+ // test/node/community/helia-ipns-resolve-equivalence.unit.test.ts.
446
513
  // This does NOT bypass an active cache/TTL: all cache-read + TTL logic lives in the
447
514
  // resolver's #findIpnsRecord and is gated on `nocache !== true`, but pkc always
448
515
  // resolves IPNS with nocache:true (see resolveIpnsToCidP2P in base-client-manager),
@@ -497,7 +564,13 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
497
564
  // see MAX_BITSWAP_SESSION_SEED_PEERS above for the why. UnixFSComponents only
498
565
  // needs a blockstore, and blocks fetched through the session land in the same
499
566
  // underlying blockstore helia uses, so nothing else changes.
500
- const rootCid = CID.parse(ipfsPath.split("/")[0]);
567
+ // ipfsPath is either a bare cid or a `<root-cid>/sub/path`; derive both parts here, once,
568
+ // so root and sub-path can never disagree. unixfs cat takes the root CID plus the sub-path
569
+ // via the `path` option. (The multiformats 13/14 split that used to force string-only cat
570
+ // input is gone: helia 7 and our tree share a single multiformats copy.)
571
+ const [rootCidString, ...ipfsSubPathSegments] = ipfsPath.split("/");
572
+ const rootCid = CID.parse(rootCidString);
573
+ const ipfsSubPath = ipfsSubPathSegments.length > 0 ? ipfsSubPathSegments.join("/") : undefined;
501
574
  const timeoutMs = parseKuboStyleTimeoutMs(options?.timeout); // throws on unparseable timeout at call time
502
575
  // Our own option, not kubo-rpc-client's — strip it so it never reaches unixfs cat.
503
576
  const { bitswapSessionSeedScopeIpnsPubsubTopic, ...unixfsCatOptions } = options ?? {};
@@ -520,7 +593,8 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
520
593
  try {
521
594
  for (let attempt = 0;; attempt++) {
522
595
  const session = helia.blockstore.createSession(rootCid, {
523
- providers: getBitswapSessionSeedPeers(bitswapSessionSeedScopeIpnsPubsubTopic)
596
+ // helia 7 sessions take providers as libp2p-key CIDs (or multiaddrs), not PeerIds
597
+ providers: getBitswapSessionSeedPeers(bitswapSessionSeedScopeIpnsPubsubTopic).map((peerId) => peerId.toCID())
524
598
  });
525
599
  // Issue #218: the session broker waits on a single elected HAVE peer per
526
600
  // block with no stall timeout, so one slow seeder holding the only HAVE
@@ -542,12 +616,9 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
542
616
  });
543
617
  let yieldedAnyBytes = false;
544
618
  try {
545
- // ipfsPath is either a bare cid or a `<root-cid>/sub/path`. Hand the whole
546
- // thing to cat as one string and never split out a `path` option — see
547
- // asHeliaCatCid above for why the `path` option would re-trip the
548
- // exporter's CID identity check.
549
- const catIterable = unixfs({ blockstore: session }).cat(asHeliaCatCid(ipfsPath), {
619
+ const catIterable = unixfs({ blockstore: session }).cat(rootCid, {
550
620
  ...unixfsCatOptions,
621
+ path: ipfsSubPath,
551
622
  signal: controller.signal
552
623
  });
553
624
  for await (const chunk of catIterable) {
@@ -664,8 +735,8 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
664
735
  // createLibp2pJsClientOrUseExistingOne() can't grab a mid-stopping client.
665
736
  delete libp2pJsClients[pkcOptions.key];
666
737
  // Tear down the IPNS pubsub router's internal subscription state.
667
- // PubSubRouting (from @helia/ipns/routing) implements Startable and tracks its
668
- // own subscriptions list — without stop() those subscriptions leak past helia.
738
+ // PubSubIPNSRouting (@helia/ipns) implements Startable and tracks its own
739
+ // subscriptions list and fetch topology — without stop() those leak past helia.
669
740
  for (const router of ipnsNameResolver.routers) {
670
741
  const lifecycle = router;
671
742
  if (typeof lifecycle.stop === "function") {
@@ -673,7 +744,7 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
673
744
  await lifecycle.stop();
674
745
  }
675
746
  catch (e) {
676
- log.error("Error stopping IPNS router", router?.constructor?.name, e);
747
+ log.error("Error stopping IPNS router", ipnsRouterTag(router), e);
677
748
  }
678
749
  }
679
750
  }
@@ -735,11 +806,43 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
735
806
  key: pkcOptions.key
736
807
  };
737
808
  const client = new Libp2pJsClient(fullInstanceWithOptions);
738
- await helia.start();
739
809
  log("Helia/libp2p-js started with key", pkcOptions.key, "and peer id", helia.libp2p.peerId.toString());
740
810
  libp2pJsClients[pkcOptions.key] = client;
741
811
  return client;
742
- })();
812
+ })().catch(async (creationError) => {
813
+ // The client never reached libp2pJsClients, so stop() can't be called on it: release
814
+ // whatever this factory started before rethrowing (mirrors the final-release path in stop()).
815
+ if (startedHelia) {
816
+ // The `libp2p` getter throws NotStartedError if start() failed before the libp2p mixin
817
+ // ran, in which case there is nothing to abort.
818
+ let connections = [];
819
+ try {
820
+ connections = startedHelia.libp2p.getConnections();
821
+ }
822
+ catch { }
823
+ for (const connection of connections) {
824
+ try {
825
+ connection.abort(new Error("pkc-js libp2p instance failed to initialize"));
826
+ }
827
+ catch (e) {
828
+ log.error("Error aborting libp2p connection during failed initialization", e);
829
+ }
830
+ }
831
+ try {
832
+ await startedHelia.stop();
833
+ }
834
+ catch (e) {
835
+ log.error("Error stopping helia after failed initialization", e);
836
+ }
837
+ }
838
+ try {
839
+ await closeBlockstore();
840
+ }
841
+ catch (e) {
842
+ log.error("Error closing blockstore after failed initialization", e);
843
+ }
844
+ throw creationError;
845
+ });
743
846
  const createdClientPromise = creatingLibp2pJsClients[pkcOptions.key];
744
847
  if (!createdClientPromise)
745
848
  throw new Error("Missing creation promise after initialization");