@pkcprotocol/pkc-js 0.0.69 → 0.0.71

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 (41) hide show
  1. package/dist/browser/clients/base-client-manager.d.ts +1 -1
  2. package/dist/browser/generated-version.d.ts +1 -1
  3. package/dist/browser/generated-version.js +1 -1
  4. package/dist/browser/helia/helia-for-pkc.js +30 -2
  5. package/dist/browser/helia/helia-for-pkc.js.map +1 -1
  6. package/dist/browser/helia/types.d.ts +1 -0
  7. package/dist/browser/helia/util.d.ts +14 -0
  8. package/dist/browser/helia/util.js +260 -0
  9. package/dist/browser/helia/util.js.map +1 -1
  10. package/dist/browser/rpc/src/schema.d.ts +22 -10
  11. package/dist/browser/runtime/node/test/mock-http-router.d.ts +4 -0
  12. package/dist/browser/runtime/node/test/mock-http-router.js +18 -0
  13. package/dist/browser/runtime/node/test/mock-http-router.js.map +1 -1
  14. package/dist/browser/schema.d.ts +10 -21
  15. package/dist/browser/schema.js.map +1 -1
  16. package/dist/bundled/bundle-manifest.json +25 -25
  17. package/dist/bundled/chunks/{helia-for-pkc-x-xe-CrX.js → helia-for-pkc-1MPTFE4q.js} +17 -3
  18. package/dist/bundled/chunks/{local-community-B6IwJoBu.js → local-community-C6C5HbTj.js} +2 -2
  19. package/dist/bundled/chunks/{local-community-BuseLMgO.js → local-community-Cx4YtD1b.js} +1 -1
  20. package/dist/bundled/chunks/{node-Dz5IKip2.js → node-CZvWHsjY.js} +5 -5
  21. package/dist/bundled/chunks/{rpc-local-community-D8woL19t.js → rpc-local-community-BNjtTCYn.js} +1 -1
  22. package/dist/bundled/chunks/{schema-C_l9RSe0.js → schema-DmKOov5l.js} +1 -1
  23. package/dist/bundled/chunks/{util-bpDx_Vq2.js → util-tvFNztkO.js} +148 -2
  24. package/dist/bundled/index.js +1 -1
  25. package/dist/bundled/rpc/src/index.js +4 -4
  26. package/dist/node/clients/base-client-manager.d.ts +1 -1
  27. package/dist/node/generated-version.d.ts +1 -1
  28. package/dist/node/generated-version.js +1 -1
  29. package/dist/node/helia/helia-for-pkc.js +30 -2
  30. package/dist/node/helia/helia-for-pkc.js.map +1 -1
  31. package/dist/node/helia/types.d.ts +1 -0
  32. package/dist/node/helia/util.d.ts +14 -0
  33. package/dist/node/helia/util.js +260 -0
  34. package/dist/node/helia/util.js.map +1 -1
  35. package/dist/node/rpc/src/schema.d.ts +22 -10
  36. package/dist/node/runtime/node/test/mock-http-router.d.ts +4 -0
  37. package/dist/node/runtime/node/test/mock-http-router.js +18 -0
  38. package/dist/node/runtime/node/test/mock-http-router.js.map +1 -1
  39. package/dist/node/schema.d.ts +10 -21
  40. package/dist/node/schema.js.map +1 -1
  41. package/package.json +2 -1
@@ -1,6 +1,6 @@
1
1
  import { i as __toESM, r as __require, t as __commonJSMin } from "./chunk-2rV9d50f.js";
2
- import { $ as pubsubTopicToDhtKey, $n as t$7, At as trackStartedCommunity, Bt as CommunityEditPublicationPubsubReservedFields, C as contentContainsMarkdownAudio, Ct as findUpdatingCommunity, En as CommentUpdateSchema, F as getIpnsRecordInLocalKuboNode, Fn as CommentEditPubsubMessagePublicationSchema, Ft as untrackUpdatingCommunity, G as isLinkOfAudio, Gt as CommentModerationPubsubMessagePublicationSchema, In as CommentEditPubsubMessagePublicationWithFlexibleAuthorSchema, It as require_sha256, J as isLinkOfVideo, Jt as CommentModerationsTableRowSchema, K as isLinkOfImage, Kt as CommentModerationReservedFields, L as hideClassPrivateProps, Ln as CommentEditReservedFields, M as genToArray, Mr as ZodError, Mt as trackUpdatingCommunity, N as getEquivalentCommunityAddresses, Nt as untrackStartedCommunity, O as derivePublicationFromChallengeRequest, On as CommentUpdateTableRowSchema, P as getErrorCodeFromMessage, Q as isStringDomain, Qn as n$3, R as ipnsNameToIpnsOverPubsubTopic, Rt as pTimeout, S as calculateStringSizeSameAsIpfsAddCidV0, T as contentContainsMarkdownVideos, Un as AuthorReservedFields, W as isLinkOfAnimatedImage, Xn as n$4, Y as isLinkValid, Zn as t$8, _r as PKCError, _t as timestamp, a as ChallengeRequestMessageSchema, ar as t$4, at as removeNullUndefinedValues, b as areEquivalentCommunityAddresses, bt as findCommunityInRegistry, cr as t$5, d as DecryptedChallengeRequestSchema, dr as require_retry, dt as retryKuboIpfsAddAndProvide, er as t$6, fn as VotePubsubMessagePublicationSchema, hn as VoteTablesRowSchema, ht as statMfsPathSafely, ir as r$1, k as doesDomainAddressHaveCapitalLetter, kn as CommentsTableRowSchema, kt as syncCommunityRegistryEntry, lr as t$3, lt as retryKuboBlockPutPinAndProvidePubsubTopic, mt as sleepUntilTimeoutOrAbort, nn as CommunityIpfsSchema, nr as e$1, nt as removeBlocksFromKuboNode, pn as VotePubsubReservedFields, q as isLinkOfMedia, r as ChallengeMessageSchema, rn as CommunitySignedPropertyNames, rt as removeMfsFilesSafely, s as ChallengeVerificationMessageSchema, t as ChallengeAnswerMessageSchema, tr as e, u as DecryptedChallengeRequestPublicationSchema, vn as CommentIpfsSchema, vr as messages, w as contentContainsMarkdownImages, x as calculateIpfsCidV0, xt as findStartedCommunity, y as version_default, yn as CommentPubsubMessageReservedFields, yr as logger_default, yt as writeKuboFilesWithTimeout, zn as CommentEditsTableRowSchema } from "./schema-C_l9RSe0.js";
3
- import { $n as t$10, A as deriveDbPosts, At as verifyCommunityEdit, Bt as getCommunityPublicKeyFromWire, C as BackupAbortError, Dt as verifyCommentPubsubMessage, E as calculateInlineRepliesBudget, Et as verifyCommentModeration, F as importSignerIntoKuboNode, Ft as getAuthorNameFromWire, G as REPLY_REPLIES_SORT_TYPES, Gt as getIpfsKeyFromPrivateKey, Ht as decode, Jn as r$2, Jt as getPublicKeyFromPrivateKey, K as TIMEFRAMES_TO_SECONDS, Kn as t$9, Kt as getPKCAddressFromPublicKey, M as getDefaultCommunityDbConfig, Mt as buildRuntimeAuthor, Nt as cleanWireAuthor, O as deleteOldCommunityInWindows, Ot as verifyCommentUpdate, P as getThumbnailPropsOfLink, R as moveCommunityDbToDeletedDirectory, S as encryptEd25519AesGcmPublicKeyBuffer, St as verifyChallengeRequest, T as calculateExpectedSignatureSize, Tt as verifyCommentIpfs, U as POSTS_SORT_TYPES, Ut as encode, W as POST_REPLIES_SORT_TYPES, Xn as n$6, Yn as t$11, Yt as createSchemaRowParser, Z as iterateOverPageCidsToFindAllCids, Zn as n$5, _ as SignerWithPublicKeyAddress, _t as signCommunity, a as pkcJsChallenges, b as decryptEd25519AesGcmPublicKeyBuffer, bt as verifyChallengeAnswer, cn as parseCommunityIpfsSchemaPassthroughWithPKCErrorIfItFails, d as MAX_FILE_SIZE_BYTES_FOR_COMMUNITY_IPFS, dt as signChallengeVerification, er as stringify, f as KeyvBetterSqlite3, ft as signComment, gt as signCommentUpdateForChallengeVerification, ht as signCommentUpdate, i as getCommunityChallengeFromCommunityChallengeSettings, it as pLimit, j as deriveDbReplies, jt as verifyVote, k as deriveCommentIpfsFromCommentTableRow, kt as verifyCommunity, l as normalizeSelfAddrsForProvider, lt as signChallengeMessage, nr as require_lodash_merge, o as TrackedInstanceRegistry, on as parseCommunityEditOptionsSchemaWithPKCErrorIfItFails, pt as signCommentEdit, qn as t$12, qt as getPKCAddressFromPublicKeySync, r as getChallengeVerification, s as LRUCache, st as cleanUpBeforePublishing, t as RpcLocalCommunity, tr as STORAGE_KEYS, vn as parseDecryptedChallengeAnswerWithPKCErrorIfItFails, w as backupCommunityDb, wt as verifyCommentEdit, xn as parseJsonWithPKCErrorIfFails, z as resolveDbPostsCidRefs, zt as getCommunityNameFromWire } from "./rpc-local-community-D8woL19t.js";
2
+ import { $ as pubsubTopicToDhtKey, $n as t$7, At as trackStartedCommunity, Bt as CommunityEditPublicationPubsubReservedFields, C as contentContainsMarkdownAudio, Ct as findUpdatingCommunity, En as CommentUpdateSchema, F as getIpnsRecordInLocalKuboNode, Fn as CommentEditPubsubMessagePublicationSchema, Ft as untrackUpdatingCommunity, G as isLinkOfAudio, Gt as CommentModerationPubsubMessagePublicationSchema, In as CommentEditPubsubMessagePublicationWithFlexibleAuthorSchema, It as require_sha256, J as isLinkOfVideo, Jt as CommentModerationsTableRowSchema, K as isLinkOfImage, Kt as CommentModerationReservedFields, L as hideClassPrivateProps, Ln as CommentEditReservedFields, M as genToArray, Mr as ZodError, Mt as trackUpdatingCommunity, N as getEquivalentCommunityAddresses, Nt as untrackStartedCommunity, O as derivePublicationFromChallengeRequest, On as CommentUpdateTableRowSchema, P as getErrorCodeFromMessage, Q as isStringDomain, Qn as n$3, R as ipnsNameToIpnsOverPubsubTopic, Rt as pTimeout, S as calculateStringSizeSameAsIpfsAddCidV0, T as contentContainsMarkdownVideos, Un as AuthorReservedFields, W as isLinkOfAnimatedImage, Xn as n$4, Y as isLinkValid, Zn as t$8, _r as PKCError, _t as timestamp, a as ChallengeRequestMessageSchema, ar as t$4, at as removeNullUndefinedValues, b as areEquivalentCommunityAddresses, bt as findCommunityInRegistry, cr as t$5, d as DecryptedChallengeRequestSchema, dr as require_retry, dt as retryKuboIpfsAddAndProvide, er as t$6, fn as VotePubsubMessagePublicationSchema, hn as VoteTablesRowSchema, ht as statMfsPathSafely, ir as r$1, k as doesDomainAddressHaveCapitalLetter, kn as CommentsTableRowSchema, kt as syncCommunityRegistryEntry, lr as t$3, lt as retryKuboBlockPutPinAndProvidePubsubTopic, mt as sleepUntilTimeoutOrAbort, nn as CommunityIpfsSchema, nr as e$1, nt as removeBlocksFromKuboNode, pn as VotePubsubReservedFields, q as isLinkOfMedia, r as ChallengeMessageSchema, rn as CommunitySignedPropertyNames, rt as removeMfsFilesSafely, s as ChallengeVerificationMessageSchema, t as ChallengeAnswerMessageSchema, tr as e, u as DecryptedChallengeRequestPublicationSchema, vn as CommentIpfsSchema, vr as messages, w as contentContainsMarkdownImages, x as calculateIpfsCidV0, xt as findStartedCommunity, y as version_default, yn as CommentPubsubMessageReservedFields, yr as logger_default, yt as writeKuboFilesWithTimeout, zn as CommentEditsTableRowSchema } from "./schema-DmKOov5l.js";
3
+ import { $n as t$10, A as deriveDbPosts, At as verifyCommunityEdit, Bt as getCommunityPublicKeyFromWire, C as BackupAbortError, Dt as verifyCommentPubsubMessage, E as calculateInlineRepliesBudget, Et as verifyCommentModeration, F as importSignerIntoKuboNode, Ft as getAuthorNameFromWire, G as REPLY_REPLIES_SORT_TYPES, Gt as getIpfsKeyFromPrivateKey, Ht as decode, Jn as r$2, Jt as getPublicKeyFromPrivateKey, K as TIMEFRAMES_TO_SECONDS, Kn as t$9, Kt as getPKCAddressFromPublicKey, M as getDefaultCommunityDbConfig, Mt as buildRuntimeAuthor, Nt as cleanWireAuthor, O as deleteOldCommunityInWindows, Ot as verifyCommentUpdate, P as getThumbnailPropsOfLink, R as moveCommunityDbToDeletedDirectory, S as encryptEd25519AesGcmPublicKeyBuffer, St as verifyChallengeRequest, T as calculateExpectedSignatureSize, Tt as verifyCommentIpfs, U as POSTS_SORT_TYPES, Ut as encode, W as POST_REPLIES_SORT_TYPES, Xn as n$6, Yn as t$11, Yt as createSchemaRowParser, Z as iterateOverPageCidsToFindAllCids, Zn as n$5, _ as SignerWithPublicKeyAddress, _t as signCommunity, a as pkcJsChallenges, b as decryptEd25519AesGcmPublicKeyBuffer, bt as verifyChallengeAnswer, cn as parseCommunityIpfsSchemaPassthroughWithPKCErrorIfItFails, d as MAX_FILE_SIZE_BYTES_FOR_COMMUNITY_IPFS, dt as signChallengeVerification, er as stringify, f as KeyvBetterSqlite3, ft as signComment, gt as signCommentUpdateForChallengeVerification, ht as signCommentUpdate, i as getCommunityChallengeFromCommunityChallengeSettings, it as pLimit, j as deriveDbReplies, jt as verifyVote, k as deriveCommentIpfsFromCommentTableRow, kt as verifyCommunity, l as normalizeSelfAddrsForProvider, lt as signChallengeMessage, nr as require_lodash_merge, o as TrackedInstanceRegistry, on as parseCommunityEditOptionsSchemaWithPKCErrorIfItFails, pt as signCommentEdit, qn as t$12, qt as getPKCAddressFromPublicKeySync, r as getChallengeVerification, s as LRUCache, st as cleanUpBeforePublishing, t as RpcLocalCommunity, tr as STORAGE_KEYS, vn as parseDecryptedChallengeAnswerWithPKCErrorIfItFails, w as backupCommunityDb, wt as verifyCommentEdit, xn as parseJsonWithPKCErrorIfFails, z as resolveDbPostsCidRefs, zt as getCommunityNameFromWire } from "./rpc-local-community-BNjtTCYn.js";
4
4
  import { randomFillSync, randomUUID } from "node:crypto";
5
5
  import { fileURLToPath, pathToFileURL } from "node:url";
6
6
  import path from "node:path";
@@ -1,2 +1,2 @@
1
- import { n as createNewLocalCommunityDb, r as updateInstancePropsWithStartedCommunityOrDb, t as LocalCommunity } from "./local-community-B6IwJoBu.js";
1
+ import { n as createNewLocalCommunityDb, r as updateInstancePropsWithStartedCommunityOrDb, t as LocalCommunity } from "./local-community-C6C5HbTj.js";
2
2
  export { LocalCommunity, createNewLocalCommunityDb, updateInstancePropsWithStartedCommunityOrDb };
@@ -1,7 +1,7 @@
1
1
  import { i as __toESM, r as __require, t as __commonJSMin } from "./chunk-2rV9d50f.js";
2
- import { B as isIpfsCid, Cn as CommentUpdateForChallengeVerificationSchema, Ct as findUpdatingCommunity, D as deepMergeRuntimeFields, Dt as refreshTrackedCommentAliases, E as createAbortError, En as CommentUpdateSchema, Et as listUpdatingCommunities, Fr as stringifyPrimitive, H as isIpns, It as require_sha256, L as hideClassPrivateProps, Lt as TimeoutError, Nr as joinValues, Pr as parsedType, Pt as untrackUpdatingComment, Q as isStringDomain, Qn as n$1, R as ipnsNameToIpnsOverPubsubTopic, Rt as pTimeout, Sr as setErrorMap, St as findUpdatingComment, Tt as listUpdatingComments, Xn as n$2, _r as PKCError, _t as timestamp, a as ChallengeRequestMessageSchema, b as areEquivalentCommunityAddresses, br as require_supports_color, cn as PubsubTopicSchema, ct as resolveWhenPredicateIsTrue, dr as require_retry, er as t$1, fr as FailedToFetchCommentIpfsFromGatewaysError, ft as shortifyAddress, ir as r, jt as trackUpdatingComment, k as doesDomainAddressHaveCapitalLetter, mt as sleepUntilTimeoutOrAbort, nn as CommunityIpfsSchema, nr as e$1, ot as removeUndefinedValuesRecursively, pt as shortifyCid, r as ChallengeMessageSchema, s as ChallengeVerificationMessageSchema, st as replaceXWithY, t as ChallengeAnswerMessageSchema, tr as e, ut as retryKuboIpfsAdd, vn as CommentIpfsSchema, vr as messages, vt as waitForUpdateInCommunityInstanceWithErrorAndTimeout, wt as listStartedCommunities, xt as findStartedCommunity, y as version_default, yr as logger_default, z as isAbortError } from "./schema-C_l9RSe0.js";
3
- import { $ as RepliesPages, $n as t$5, $t as parseCommentEditPubsubMessagePublicationSchemaWithPKCErrorIfItFails, An as RpcCidParamSchema, At as verifyCommunityEdit, B as setNativeFunctions$1, Bn as RpcFetchCidResultSchema, Bt as getCommunityPublicKeyFromWire, Cn as parseRpcCommentEventWithPKCErrorIfItFails, Ct as verifyChallengeVerification, D as createKuboRpcClient, Dn as parseVotePubsubMessagePublicationSchemaWithPKCErrorIfItFails, Dt as verifyCommentPubsubMessage, Et as verifyCommentModeration, Fn as RpcExportCommunityModLogsParamSchema, Gn as RpcUnsubscribeParamSchema, H as CommentClientsManager, Hn as RpcResolveAuthorNameResultSchema, Ht as decode, I as listCommunitiesSync, In as RpcExportCommunityModLogsResultSchema, It as normalizeCreatePublicationAuthor, Kn as t$4, L as monitorCommunitiesDirectory, Ln as RpcExportCommunityParamSchema, Lt as buildRuntimeCommunityFields, Mn as RpcCommunityIdentifierParamSchema, Mt as buildRuntimeAuthor, N as getDefaultDataPath, Nn as RpcCommunityPageParamSchema, Nt as cleanWireAuthor, On as RpcAuthorNameParamSchema, Ot as verifyCommentUpdate, Pn as RpcEditCommunityParamSchema, Pt as getAuthorNameFromRuntime, Q as parseRawPages, Qn as t$2, Rn as RpcExportCommunityResultSchema, Rt as getCommunityAddressFromRecord, Sn as parsePKCUserOptionsSchemaWithPKCErrorIfItFails, Tn as parseSetNewSettingsPKCWsServerSchemaWithPKCErrorIfItFails, Tt as verifyCommentIpfs, Un as RpcSubscriptionIdResultSchema, V as tryToDeleteCommunitiesThatFailedToBeDeletedBefore, Vn as RpcPublishChallengeAnswersParamSchema, Vt as normalizeCommunityInputFromCommunity, Wn as RpcSuccessResultSchema, Wt as getBufferedPKCAddressFromPublicKey, X as findCommentInPageInstanceRecursively, Xn as n$3, Xt as parseCidStringSchemaWithPKCErrorIfItFails, Y as extractCommunityRuntimeFieldsFromParsedPages, Yn as t$3, _n as parseCreateVoteOptionsSchemaWithPKCErrorIfItFails, a as pkcJsChallenges, at as PKCTypedEmitter, bn as parseDecryptedChallengeWithPKCErrorIfItFails, c as AddressesRewriterProxyServer, ct as signChallengeAnswer, dn as parseCreateCommentOptionsSchemaWithPKCErrorIfItFails, en as parseCommentIpfsSchemaWithPKCErrorIfItFails, et as PublicationClientsManager, f as KeyvBetterSqlite3, fn as parseCreateCommunityEditPublicationOptionsSchemaWithPKCErrorIfItFails, ft as signComment, g as decodeRpcChallengeVerificationPubsubMsg, gn as parseCreateRpcCommunityFunctionArgumentSchemaWithPKCErrorIfItFails, h as decodeRpcChallengeRequestPubsubMsg, hn as parseCreateRemoteCommunityFunctionArgumentSchemaWithPKCErrorIfItFails, in as parseCommunityAddressWithPKCErrorIfItFails, ir as require_undici, jn as RpcCommentRepliesPageParamSchema, jt as verifyVote, kn as RpcCancelExportParamSchema, ln as parseCreateCommentEditOptionsSchemaWithPKCErrorIfItFails, m as decodeRpcChallengePubsubMsg, mt as signCommentModeration, n as RpcRemoteCommunity, nn as parseCommentModerationPubsubMessagePublicationSchemaWithPKCErrorIfItFails, nt as InflightFetchManager, o as TrackedInstanceRegistry, ot as require_lib$1, p as decodeRpcChallengeAnswerPubsubMsg, pt as signCommentEdit, rn as parseCommentPubsubMessagePublicationWithPKCErrorIfItFails, rr as nativeFunctions$2, s as LRUCache, sn as parseCommunityEditPubsubMessagePublicationSchemaWithPKCErrorIfItFails, st as cleanUpBeforePublishing, t as RpcLocalCommunity, tt as PKCClientsManager, u as RemoteCommunity, un as parseCreateCommentModerationOptionsSchemaWithPKCErrorIfItFails, ut as signChallengeRequest, v as createSigner, vn as parseDecryptedChallengeAnswerWithPKCErrorIfItFails, vt as signCommunityEdit, wn as parseRpcCommentUpdateEventWithPKCErrorIfItFails, wt as verifyCommentEdit, x as encryptEd25519AesGcm, xn as parseJsonWithPKCErrorIfFails, xt as verifyChallengeMessage, y as decryptEd25519AesGcm, yn as parseDecryptedChallengeVerification, yt as signVote, zn as RpcFetchCidParamSchema, zt as getCommunityNameFromWire } from "./rpc-local-community-D8woL19t.js";
4
- import { i as getHeliaDebugContext } from "./util-bpDx_Vq2.js";
2
+ import { B as isIpfsCid, Cn as CommentUpdateForChallengeVerificationSchema, Ct as findUpdatingCommunity, D as deepMergeRuntimeFields, Dt as refreshTrackedCommentAliases, E as createAbortError, En as CommentUpdateSchema, Et as listUpdatingCommunities, Fr as stringifyPrimitive, H as isIpns, It as require_sha256, L as hideClassPrivateProps, Lt as TimeoutError, Nr as joinValues, Pr as parsedType, Pt as untrackUpdatingComment, Q as isStringDomain, Qn as n$1, R as ipnsNameToIpnsOverPubsubTopic, Rt as pTimeout, Sr as setErrorMap, St as findUpdatingComment, Tt as listUpdatingComments, Xn as n$2, _r as PKCError, _t as timestamp, a as ChallengeRequestMessageSchema, b as areEquivalentCommunityAddresses, br as require_supports_color, cn as PubsubTopicSchema, ct as resolveWhenPredicateIsTrue, dr as require_retry, er as t$1, fr as FailedToFetchCommentIpfsFromGatewaysError, ft as shortifyAddress, ir as r, jt as trackUpdatingComment, k as doesDomainAddressHaveCapitalLetter, mt as sleepUntilTimeoutOrAbort, nn as CommunityIpfsSchema, nr as e$1, ot as removeUndefinedValuesRecursively, pt as shortifyCid, r as ChallengeMessageSchema, s as ChallengeVerificationMessageSchema, st as replaceXWithY, t as ChallengeAnswerMessageSchema, tr as e, ut as retryKuboIpfsAdd, vn as CommentIpfsSchema, vr as messages, vt as waitForUpdateInCommunityInstanceWithErrorAndTimeout, wt as listStartedCommunities, xt as findStartedCommunity, y as version_default, yr as logger_default, z as isAbortError } from "./schema-DmKOov5l.js";
3
+ import { $ as RepliesPages, $n as t$5, $t as parseCommentEditPubsubMessagePublicationSchemaWithPKCErrorIfItFails, An as RpcCidParamSchema, At as verifyCommunityEdit, B as setNativeFunctions$1, Bn as RpcFetchCidResultSchema, Bt as getCommunityPublicKeyFromWire, Cn as parseRpcCommentEventWithPKCErrorIfItFails, Ct as verifyChallengeVerification, D as createKuboRpcClient, Dn as parseVotePubsubMessagePublicationSchemaWithPKCErrorIfItFails, Dt as verifyCommentPubsubMessage, Et as verifyCommentModeration, Fn as RpcExportCommunityModLogsParamSchema, Gn as RpcUnsubscribeParamSchema, H as CommentClientsManager, Hn as RpcResolveAuthorNameResultSchema, Ht as decode, I as listCommunitiesSync, In as RpcExportCommunityModLogsResultSchema, It as normalizeCreatePublicationAuthor, Kn as t$4, L as monitorCommunitiesDirectory, Ln as RpcExportCommunityParamSchema, Lt as buildRuntimeCommunityFields, Mn as RpcCommunityIdentifierParamSchema, Mt as buildRuntimeAuthor, N as getDefaultDataPath, Nn as RpcCommunityPageParamSchema, Nt as cleanWireAuthor, On as RpcAuthorNameParamSchema, Ot as verifyCommentUpdate, Pn as RpcEditCommunityParamSchema, Pt as getAuthorNameFromRuntime, Q as parseRawPages, Qn as t$2, Rn as RpcExportCommunityResultSchema, Rt as getCommunityAddressFromRecord, Sn as parsePKCUserOptionsSchemaWithPKCErrorIfItFails, Tn as parseSetNewSettingsPKCWsServerSchemaWithPKCErrorIfItFails, Tt as verifyCommentIpfs, Un as RpcSubscriptionIdResultSchema, V as tryToDeleteCommunitiesThatFailedToBeDeletedBefore, Vn as RpcPublishChallengeAnswersParamSchema, Vt as normalizeCommunityInputFromCommunity, Wn as RpcSuccessResultSchema, Wt as getBufferedPKCAddressFromPublicKey, X as findCommentInPageInstanceRecursively, Xn as n$3, Xt as parseCidStringSchemaWithPKCErrorIfItFails, Y as extractCommunityRuntimeFieldsFromParsedPages, Yn as t$3, _n as parseCreateVoteOptionsSchemaWithPKCErrorIfItFails, a as pkcJsChallenges, at as PKCTypedEmitter, bn as parseDecryptedChallengeWithPKCErrorIfItFails, c as AddressesRewriterProxyServer, ct as signChallengeAnswer, dn as parseCreateCommentOptionsSchemaWithPKCErrorIfItFails, en as parseCommentIpfsSchemaWithPKCErrorIfItFails, et as PublicationClientsManager, f as KeyvBetterSqlite3, fn as parseCreateCommunityEditPublicationOptionsSchemaWithPKCErrorIfItFails, ft as signComment, g as decodeRpcChallengeVerificationPubsubMsg, gn as parseCreateRpcCommunityFunctionArgumentSchemaWithPKCErrorIfItFails, h as decodeRpcChallengeRequestPubsubMsg, hn as parseCreateRemoteCommunityFunctionArgumentSchemaWithPKCErrorIfItFails, in as parseCommunityAddressWithPKCErrorIfItFails, ir as require_undici, jn as RpcCommentRepliesPageParamSchema, jt as verifyVote, kn as RpcCancelExportParamSchema, ln as parseCreateCommentEditOptionsSchemaWithPKCErrorIfItFails, m as decodeRpcChallengePubsubMsg, mt as signCommentModeration, n as RpcRemoteCommunity, nn as parseCommentModerationPubsubMessagePublicationSchemaWithPKCErrorIfItFails, nt as InflightFetchManager, o as TrackedInstanceRegistry, ot as require_lib$1, p as decodeRpcChallengeAnswerPubsubMsg, pt as signCommentEdit, rn as parseCommentPubsubMessagePublicationWithPKCErrorIfItFails, rr as nativeFunctions$2, s as LRUCache, sn as parseCommunityEditPubsubMessagePublicationSchemaWithPKCErrorIfItFails, st as cleanUpBeforePublishing, t as RpcLocalCommunity, tt as PKCClientsManager, u as RemoteCommunity, un as parseCreateCommentModerationOptionsSchemaWithPKCErrorIfItFails, ut as signChallengeRequest, v as createSigner, vn as parseDecryptedChallengeAnswerWithPKCErrorIfItFails, vt as signCommunityEdit, wn as parseRpcCommentUpdateEventWithPKCErrorIfItFails, wt as verifyCommentEdit, x as encryptEd25519AesGcm, xn as parseJsonWithPKCErrorIfFails, xt as verifyChallengeMessage, y as decryptEd25519AesGcm, yn as parseDecryptedChallengeVerification, yt as signVote, zn as RpcFetchCidParamSchema, zt as getCommunityNameFromWire } from "./rpc-local-community-BNjtTCYn.js";
4
+ import { o as getHeliaDebugContext } from "./util-tvFNztkO.js";
5
5
  import path from "path";
6
6
  import assert from "assert";
7
7
  import fs from "fs";
@@ -8875,7 +8875,7 @@ var PKC$1 = class extends PKCTypedEmitter {
8875
8875
  this.clients.libp2pJsClients = {};
8876
8876
  if (!this.libp2pJsClientsOptions) return;
8877
8877
  if (!this.httpRoutersOptions) throw Error("httpRoutersOptions is required for libp2pJsClient");
8878
- const { createLibp2pJsClientOrUseExistingOne } = await import("./helia-for-pkc-x-xe-CrX.js");
8878
+ const { createLibp2pJsClientOrUseExistingOne } = await import("./helia-for-pkc-1MPTFE4q.js");
8879
8879
  for (const clientOptions of this.libp2pJsClientsOptions) {
8880
8880
  const heliaNode = await createLibp2pJsClientOrUseExistingOne({
8881
8881
  ...clientOptions,
@@ -9123,7 +9123,7 @@ var PKC$1 = class extends PKCTypedEmitter {
9123
9123
  const log = logger_default("pkc-js:pkc:createLocalCommunity");
9124
9124
  log.trace("Received community options to create a local community instance:", options);
9125
9125
  if (!this._canCreateNewLocalCommunity()) throw new PKCError("ERR_CAN_NOT_CREATE_A_LOCAL_COMMUNITY", { pkcOptions: this._userPKCOptions });
9126
- const { LocalCommunity, createNewLocalCommunityDb, updateInstancePropsWithStartedCommunityOrDb } = await import("./local-community-BuseLMgO.js");
9126
+ const { LocalCommunity, createNewLocalCommunityDb, updateInstancePropsWithStartedCommunityOrDb } = await import("./local-community-Cx4YtD1b.js");
9127
9127
  const isLocalCommunity = (await listCommunitiesSync(this)).includes(options.address);
9128
9128
  const community = new LocalCommunity(this);
9129
9129
  if (isLocalCommunity) {
@@ -1,5 +1,5 @@
1
1
  import { i as __toESM, n as __exportAll, r as __require, t as __commonJSMin } from "./chunk-2rV9d50f.js";
2
- import { $ as pubsubTopicToDhtKey, $t as CommunityEditOptionsSchema, A as extractNetworkErrorDetails, An as CreateCommentOptionsWithRefinementSchema, Ar as record, At as trackStartedCommunity, B as isIpfsCid, Bn as CreateCommentEditOptionsWithRefinementSchema, Cr as _enum, Ct as findUpdatingCommunity, D as deepMergeRuntimeFields, Dn as CommentUpdateSignedPropertyNames, Dr as literal, E as createAbortError, En as CommentUpdateSchema, Er as custom, Et as listUpdatingCommunities, Ft as untrackUpdatingCommunity, Gn as CidPathSchema, Gt as CommentModerationPubsubMessagePublicationSchema, H as isIpns, Hn as AuthorCommentIpfsReservedFields, Ht as CommunityEditPubsubMessagePublicationSchema, I as getPostUpdateTimestampRange, In as CommentEditPubsubMessagePublicationWithFlexibleAuthorSchema, It as require_sha256$1, Jn as CommunityAuthorChallengeReservedFieldNames, Jt as CommentModerationsTableRowSchema, Kn as CidStringSchema, L as hideClassPrivateProps, Mn as ModQueuePageIpfsSchema, Mt as trackUpdatingCommunity, Nn as PageIpfsSchema, Nt as untrackStartedCommunity, O as derivePublicationFromChallengeRequest, Or as number, Ot as refreshTrackedCommunityAliases, Pn as CommentEditChallengeRequestToEncryptSchema, Q as isStringDomain, Qn as n$9, Qt as CommunityChallengeSettingSchema, R as ipnsNameToIpnsOverPubsubTopic, Rn as CommentEditSignedPropertyNames, Rt as pTimeout, Sn as CommentUpdateChallengeReservedFieldNames, St as findUpdatingComment, Tn as CommentUpdateReservedFields, Tr as boolean, U as isIpnsPath, Ut as CreateCommunityEditPublicationOptionsWithRefinementSchema, V as isIpfsPath, Vn as AuthorAddressSchema, Vt as CommunityEditPublicationSignedPropertyNames, Wn as ChallengeAnswersSchema, Wt as CommentModerationChallengeRequestToEncryptSchema, X as isRequestPubsubPublicationOfPost, Xn as n$10, Xt as ChallengeFileFactorySchema, Yn as CreateSignerSchema, Yt as CreateCommentModerationOptionsWithRefinementSchema, Z as isRequestPubsubPublicationOfReply, Zt as ChallengeFileSchema, _ as PKCUserOptionBaseSchema, _n as CommentIpfsReservedFields, _r as PKCError, _t as timestamp, an as CreateRemoteCommunityFunctionArgumentSchema, ar as t$12, b as areEquivalentCommunityAddresses, bn as CommentPubsubMessageWithFlexibleAuthorRefinementSchema, br as require_supports_color, c as ChallengeVerificationMessageSignedPropertyNames, cr as t$10, ct as resolveWhenPredicateIsTrue, dn as VoteChallengeRequestToEncryptSchema, dr as require_retry$1, en as CommunityExportRecordsSchema, er as t$13, f as DecryptedChallengeSchema, fn as VotePubsubMessagePublicationSchema, fr as FailedToFetchCommentIpfsFromGatewaysError, ft as shortifyAddress, g as PKCParsedOptionsSchema, gn as CommentChallengeRequestToEncryptSchema, gr as FailedToFetchPageIpfsFromGatewaysError, gt as throwIfAbortSignalAborted, h as NameResolverSerializedSchema, hr as FailedToFetchGenericIpfsFromGatewaysError, i as ChallengeMessageSignedPropertyNames, in as CreateNewLocalCommunityUserOptionsSchema, ir as r$8, it as removeNullUndefinedEmptyObjectsValuesRecursively, j as fetchAndValidateIpnsRecordFromGateway, jn as GetPageParamSchema, jr as string, k as doesDomainAddressHaveCapitalLetter, kr as object, l as DecryptedChallengeAnswerSchema, ln as RpcRemoteCommunityUpdateEventResultSchema, lr as t$9, m as NameResolveCacheOptionsSchema, mn as VoteSignedPropertyNames, mr as FailedToFetchCommunityFromGatewaysError, mt as sleepUntilTimeoutOrAbort, n as ChallengeAnswerMessageSignedPropertyNames, nn as CommunityIpfsSchema, nr as e$5, o as ChallengeRequestMessageSignedPropertyNames, on as CreateRpcCommunityFunctionArgumentSchema, or as n$8, p as DecryptedChallengeVerificationSchema, pr as FailedToFetchCommentUpdateFromGatewaysError, pt as shortifyCid, qn as CommunityAddressSchema, qt as CommentModerationSignedPropertyNames, rn as CommunitySignedPropertyNames, rr as t$11, sn as ExportCommunityModLogsOptionsSchema, sr as r$7, tn as CommunityIpfsReservedFields, tr as e$6, tt as raceAgainstAbort, un as CreateVoteUserOptionsWithRefinementSchema, ur as e$4, v as PKCUserOptionsSchema, vn as CommentIpfsSchema, vr as messages, vt as waitForUpdateInCommunityInstanceWithErrorAndTimeout, wn as CommentUpdateForChallengeVerificationSignedPropertyNames, wr as array, wt as listStartedCommunities, x as calculateIpfsCidV0, xn as CommentSignedPropertyNames, xr as require_ms$1, xt as findStartedCommunity, yr as logger_default, z as isAbortError, zt as CommunityEditPublicationChallengeRequestToEncryptSchema } from "./schema-C_l9RSe0.js";
2
+ import { $ as pubsubTopicToDhtKey, $t as CommunityEditOptionsSchema, A as extractNetworkErrorDetails, An as CreateCommentOptionsWithRefinementSchema, Ar as record, At as trackStartedCommunity, B as isIpfsCid, Bn as CreateCommentEditOptionsWithRefinementSchema, Cr as _enum, Ct as findUpdatingCommunity, D as deepMergeRuntimeFields, Dn as CommentUpdateSignedPropertyNames, Dr as literal, E as createAbortError, En as CommentUpdateSchema, Er as custom, Et as listUpdatingCommunities, Ft as untrackUpdatingCommunity, Gn as CidPathSchema, Gt as CommentModerationPubsubMessagePublicationSchema, H as isIpns, Hn as AuthorCommentIpfsReservedFields, Ht as CommunityEditPubsubMessagePublicationSchema, I as getPostUpdateTimestampRange, In as CommentEditPubsubMessagePublicationWithFlexibleAuthorSchema, It as require_sha256$1, Jn as CommunityAuthorChallengeReservedFieldNames, Jt as CommentModerationsTableRowSchema, Kn as CidStringSchema, L as hideClassPrivateProps, Mn as ModQueuePageIpfsSchema, Mt as trackUpdatingCommunity, Nn as PageIpfsSchema, Nt as untrackStartedCommunity, O as derivePublicationFromChallengeRequest, Or as number, Ot as refreshTrackedCommunityAliases, Pn as CommentEditChallengeRequestToEncryptSchema, Q as isStringDomain, Qn as n$9, Qt as CommunityChallengeSettingSchema, R as ipnsNameToIpnsOverPubsubTopic, Rn as CommentEditSignedPropertyNames, Rt as pTimeout, Sn as CommentUpdateChallengeReservedFieldNames, St as findUpdatingComment, Tn as CommentUpdateReservedFields, Tr as boolean, U as isIpnsPath, Ut as CreateCommunityEditPublicationOptionsWithRefinementSchema, V as isIpfsPath, Vn as AuthorAddressSchema, Vt as CommunityEditPublicationSignedPropertyNames, Wn as ChallengeAnswersSchema, Wt as CommentModerationChallengeRequestToEncryptSchema, X as isRequestPubsubPublicationOfPost, Xn as n$10, Xt as ChallengeFileFactorySchema, Yn as CreateSignerSchema, Yt as CreateCommentModerationOptionsWithRefinementSchema, Z as isRequestPubsubPublicationOfReply, Zt as ChallengeFileSchema, _ as PKCUserOptionBaseSchema, _n as CommentIpfsReservedFields, _r as PKCError, _t as timestamp, an as CreateRemoteCommunityFunctionArgumentSchema, ar as t$12, b as areEquivalentCommunityAddresses, bn as CommentPubsubMessageWithFlexibleAuthorRefinementSchema, br as require_supports_color, c as ChallengeVerificationMessageSignedPropertyNames, cr as t$10, ct as resolveWhenPredicateIsTrue, dn as VoteChallengeRequestToEncryptSchema, dr as require_retry$1, en as CommunityExportRecordsSchema, er as t$13, f as DecryptedChallengeSchema, fn as VotePubsubMessagePublicationSchema, fr as FailedToFetchCommentIpfsFromGatewaysError, ft as shortifyAddress, g as PKCParsedOptionsSchema, gn as CommentChallengeRequestToEncryptSchema, gr as FailedToFetchPageIpfsFromGatewaysError, gt as throwIfAbortSignalAborted, h as NameResolverSerializedSchema, hr as FailedToFetchGenericIpfsFromGatewaysError, i as ChallengeMessageSignedPropertyNames, in as CreateNewLocalCommunityUserOptionsSchema, ir as r$8, it as removeNullUndefinedEmptyObjectsValuesRecursively, j as fetchAndValidateIpnsRecordFromGateway, jn as GetPageParamSchema, jr as string, k as doesDomainAddressHaveCapitalLetter, kr as object, l as DecryptedChallengeAnswerSchema, ln as RpcRemoteCommunityUpdateEventResultSchema, lr as t$9, m as NameResolveCacheOptionsSchema, mn as VoteSignedPropertyNames, mr as FailedToFetchCommunityFromGatewaysError, mt as sleepUntilTimeoutOrAbort, n as ChallengeAnswerMessageSignedPropertyNames, nn as CommunityIpfsSchema, nr as e$5, o as ChallengeRequestMessageSignedPropertyNames, on as CreateRpcCommunityFunctionArgumentSchema, or as n$8, p as DecryptedChallengeVerificationSchema, pr as FailedToFetchCommentUpdateFromGatewaysError, pt as shortifyCid, qn as CommunityAddressSchema, qt as CommentModerationSignedPropertyNames, rn as CommunitySignedPropertyNames, rr as t$11, sn as ExportCommunityModLogsOptionsSchema, sr as r$7, tn as CommunityIpfsReservedFields, tr as e$6, tt as raceAgainstAbort, un as CreateVoteUserOptionsWithRefinementSchema, ur as e$4, v as PKCUserOptionsSchema, vn as CommentIpfsSchema, vr as messages, vt as waitForUpdateInCommunityInstanceWithErrorAndTimeout, wn as CommentUpdateForChallengeVerificationSignedPropertyNames, wr as array, wt as listStartedCommunities, x as calculateIpfsCidV0, xn as CommentSignedPropertyNames, xr as require_ms$1, xt as findStartedCommunity, yr as logger_default, z as isAbortError, zt as CommunityEditPublicationChallengeRequestToEncryptSchema } from "./schema-DmKOov5l.js";
3
3
  import { t as all } from "./src-CYIMjhjK.js";
4
4
  import http from "node:http";
5
5
  import { createHash } from "node:crypto";
@@ -16032,7 +16032,7 @@ function extractNetworkErrorDetails(err, depth = 0) {
16032
16032
  }
16033
16033
  //#endregion
16034
16034
  //#region dist/node/generated-version.js
16035
- const version = "0.0.69";
16035
+ const version = "0.0.71";
16036
16036
  //#endregion
16037
16037
  //#region dist/node/version.js
16038
16038
  const protocolVersion = ProtocolVersionSchema.parse("1.0.0");
@@ -1,4 +1,4 @@
1
- import { _r as PKCError, et as pubsubTopicToDhtKeyCid } from "./schema-C_l9RSe0.js";
1
+ import { _r as PKCError, et as pubsubTopicToDhtKeyCid } from "./schema-DmKOov5l.js";
2
2
  import { ipnsSelector } from "ipns/selector";
3
3
  import { equals } from "uint8arrays/equals";
4
4
  //#region dist/node/helia/util.js
@@ -18,6 +18,48 @@ function getHeliaDebugContext(helia) {
18
18
  }))
19
19
  };
20
20
  }
21
+ const DIAL_ERROR_NAMES_RETRYABLE_AFTER_ADDR_MERGE = new Set(["DialDeniedError", "NoValidAddressesError"]);
22
+ function isDialRetryableAfterAddrMerge(error) {
23
+ return DIAL_ERROR_NAMES_RETRYABLE_AFTER_ADDR_MERGE.has(error?.name);
24
+ }
25
+ function multiaddrIsCircuitRelay(addr) {
26
+ return addr.getComponents().some((component) => component.name === "p2p-circuit");
27
+ }
28
+ function createAddrMergeRetryScheduler({ helia, runRetry }) {
29
+ const retryablePeers = /* @__PURE__ */ new Map();
30
+ const inFlightOrDone = /* @__PURE__ */ new Set();
31
+ const retryTasks = [];
32
+ let providerStreamEnded = false;
33
+ let listenerRemoved = false;
34
+ const trigger = (peerId) => {
35
+ const key = peerId.toString();
36
+ if (inFlightOrDone.has(key)) return;
37
+ inFlightOrDone.add(key);
38
+ retryTasks.push(runRetry(peerId).then((outcome) => {
39
+ if (outcome === "not-ready") inFlightOrDone.delete(key);
40
+ }, () => void 0));
41
+ };
42
+ const onPeerUpdate = (evt) => {
43
+ const peerId = evt.detail.peer.id;
44
+ if (retryablePeers.has(peerId.toString())) trigger(peerId);
45
+ };
46
+ helia.libp2p.addEventListener("peer:update", onPeerUpdate);
47
+ return {
48
+ markRetryable(peerId) {
49
+ retryablePeers.set(peerId.toString(), peerId);
50
+ if (providerStreamEnded) trigger(peerId);
51
+ },
52
+ onProviderStreamEnded() {
53
+ providerStreamEnded = true;
54
+ for (const peerId of retryablePeers.values()) trigger(peerId);
55
+ if (!listenerRemoved) {
56
+ listenerRemoved = true;
57
+ helia.libp2p.removeEventListener("peer:update", onPeerUpdate);
58
+ }
59
+ },
60
+ retryTasks
61
+ };
62
+ }
21
63
  function waitForTopicSubscriber({ helia, topic, timeoutMs, abortSignal }) {
22
64
  const pubsub = helia.libp2p.services.pubsub;
23
65
  if (pubsub.getSubscribers(topic).length > 0) return Promise.resolve();
@@ -118,6 +160,21 @@ async function connectToPubsubPeers({ helia, pubsubTopic, maxPeers, options, log
118
160
  const findProvidersStart = Date.now();
119
161
  const inflightDialPromises = [];
120
162
  const dialOptions = { ...options };
163
+ const retryScheduler = createAddrMergeRetryScheduler({
164
+ helia,
165
+ runRetry: async (peerId) => {
166
+ if (options?.signal?.aborted) return "done";
167
+ try {
168
+ const conn = await helia.libp2p.dial(peerId, dialOptions);
169
+ connectedPeersWithContent.push(conn);
170
+ log.trace("Addr-merge retry dial connected to peer", peerId.toString());
171
+ return "done";
172
+ } catch (e) {
173
+ log.trace("Addr-merge retry dial failed for peer", peerId.toString(), "due to error", e);
174
+ return isDialRetryableAfterAddrMerge(e) ? "not-ready" : "done";
175
+ }
176
+ }
177
+ });
121
178
  try {
122
179
  for await (const peer of helia.libp2p.contentRouting.findProviders(contentCid, {
123
180
  ...options,
@@ -135,6 +192,7 @@ async function connectToPubsubPeers({ helia, pubsubTopic, maxPeers, options, log
135
192
  }
136
193
  } catch (e) {
137
194
  const err = e;
195
+ if (isDialRetryableAfterAddrMerge(err)) retryScheduler.markRetryable(peer.id);
138
196
  peerDialToError[peer.id.toString()] = {
139
197
  multiaddrs: peer.multiaddrs.map(String),
140
198
  errorName: err.name,
@@ -166,6 +224,8 @@ async function connectToPubsubPeers({ helia, pubsubTopic, maxPeers, options, log
166
224
  throw e;
167
225
  }
168
226
  }
227
+ retryScheduler.onProviderStreamEnded();
228
+ inflightDialPromises.push(...retryScheduler.retryTasks);
169
229
  let graftError = null;
170
230
  try {
171
231
  await subscriberAppearedPromise;
@@ -221,6 +281,63 @@ function selectBitswapSessionSeedPeers(args) {
221
281
  for (const peer of args.connectedPeers) pushIfConnected(peer.toString());
222
282
  return seeds.slice(0, args.maxSeeds);
223
283
  }
284
+ const BITSWAP_SESSION_STALLED_GET_FAILOVER_MS = 2500;
285
+ async function* fetchBlockWithStalledSessionFailover(args) {
286
+ const { cid, sessionGet, fallbackGet, stallTimeoutMs, options, log } = args;
287
+ const callerSignal = options?.signal;
288
+ callerSignal?.throwIfAborted();
289
+ const sessionController = new AbortController();
290
+ const fallbackController = new AbortController();
291
+ const abortBothFromCallerSignal = () => {
292
+ sessionController.abort(callerSignal?.reason);
293
+ fallbackController.abort(callerSignal?.reason);
294
+ };
295
+ callerSignal?.addEventListener("abort", abortBothFromCallerSignal, { once: true });
296
+ const collectBlockChunks = async (get, signal) => {
297
+ const chunks = [];
298
+ for await (const chunk of get(cid, {
299
+ ...options,
300
+ signal
301
+ })) chunks.push(chunk);
302
+ return chunks;
303
+ };
304
+ let stallTimer;
305
+ try {
306
+ const sessionAttempt = collectBlockChunks(sessionGet, sessionController.signal).then((chunks) => ({
307
+ source: "session",
308
+ chunks
309
+ }));
310
+ sessionAttempt.catch(() => {});
311
+ const STALLED = Symbol("bitswap-session-get-stalled");
312
+ const stallPromise = new Promise((resolve) => {
313
+ stallTimer = setTimeout(() => resolve(STALLED), stallTimeoutMs);
314
+ });
315
+ let winner;
316
+ try {
317
+ winner = await Promise.race([sessionAttempt, stallPromise]);
318
+ } finally {
319
+ clearTimeout(stallTimer);
320
+ }
321
+ if (winner === STALLED) {
322
+ log.trace("Bitswap session block get stalled for", stallTimeoutMs, "ms for", String(cid), "- racing a broadcast want");
323
+ const fallbackAttempt = collectBlockChunks(fallbackGet, fallbackController.signal).then((chunks) => ({
324
+ source: "fallback",
325
+ chunks
326
+ }), (fallbackError) => {
327
+ log.trace("Broadcast-want failover errored for", String(cid), "- still waiting on the session", fallbackError);
328
+ return new Promise(() => {});
329
+ });
330
+ winner = await Promise.race([sessionAttempt, fallbackAttempt]);
331
+ log.trace("Stalled block", String(cid), "was delivered by the", winner.source, "path");
332
+ }
333
+ yield* winner.chunks;
334
+ } finally {
335
+ callerSignal?.removeEventListener("abort", abortBothFromCallerSignal);
336
+ const loserAbortReason = /* @__PURE__ */ new Error("bitswap block get lost the stalled-session failover race (issue #218)");
337
+ sessionController.abort(loserAbortReason);
338
+ fallbackController.abort(loserAbortReason);
339
+ }
340
+ }
224
341
  async function directFetchIpnsRecordFromProviders({ helia, pubsubTopic, routingKey, maxPeers, validate, options, log }) {
225
342
  if (options?.signal?.aborted) throw new PKCError("ERR_IPNS_DIRECT_FETCH_ABORTED", {
226
343
  pubsubTopic,
@@ -278,6 +395,26 @@ async function directFetchIpnsRecordFromProviders({ helia, pubsubTopic, routingK
278
395
  resultController.signal
279
396
  ]) : AbortSignal.any([findProvidersAbort.signal, resultController.signal]);
280
397
  const dialFetchTasks = [];
398
+ const retryScheduler = createAddrMergeRetryScheduler({
399
+ helia,
400
+ runRetry: async (peerId) => {
401
+ if (winner || resultController.signal.aborted || options?.signal?.aborted) return "done";
402
+ const directAddrs = ((await helia.libp2p.peerStore.get(peerId).catch(() => void 0))?.addresses ?? []).map(({ multiaddr }) => multiaddr).filter((addr) => !multiaddrIsCircuitRelay(addr));
403
+ if (directAddrs.length === 0 || !await helia.libp2p.isDialable(directAddrs)) return "not-ready";
404
+ try {
405
+ const dialSignal = options?.signal ? AbortSignal.any([options.signal, resultController.signal]) : resultController.signal;
406
+ const dialTargets = directAddrs.map((addr) => {
407
+ const components = addr.getComponents();
408
+ return components[components.length - 1]?.name === "p2p" ? addr : addr.encapsulate(`/p2p/${peerId.toString()}`);
409
+ });
410
+ await helia.libp2p.dial(dialTargets, { signal: dialSignal });
411
+ await tryFetchFromPeer(peerId, "provider");
412
+ } catch (e) {
413
+ recordErr(peerId, e);
414
+ }
415
+ return "done";
416
+ }
417
+ });
281
418
  let attempted = 0;
282
419
  try {
283
420
  for await (const peer of helia.libp2p.contentRouting.findProviders(contentCid, {
@@ -286,6 +423,12 @@ async function directFetchIpnsRecordFromProviders({ helia, pubsubTopic, routingK
286
423
  })) {
287
424
  if (resultController.signal.aborted) break;
288
425
  const announcedAddrs = peer.multiaddrs ?? [];
426
+ if (announcedAddrs.length > 0 && announcedAddrs.every(multiaddrIsCircuitRelay)) {
427
+ await helia.libp2p.peerStore.merge(peer.id, { multiaddrs: announcedAddrs }).catch(() => void 0);
428
+ log.trace("Skipping dial to circuit-only provider", peer.id.toString(), "for topic", pubsubTopic);
429
+ retryScheduler.markRetryable(peer.id);
430
+ continue;
431
+ }
289
432
  const hasDialableAddr = announcedAddrs.length > 0 && await helia.libp2p.isDialable(announcedAddrs);
290
433
  dialFetchTasks.push((async () => {
291
434
  try {
@@ -294,6 +437,7 @@ async function directFetchIpnsRecordFromProviders({ helia, pubsubTopic, routingK
294
437
  await helia.libp2p.dial(peer.id, { signal: dialSignal });
295
438
  await tryFetchFromPeer(peer.id, "provider");
296
439
  } catch (e) {
440
+ if (isDialRetryableAfterAddrMerge(e)) retryScheduler.markRetryable(peer.id);
297
441
  recordErr(peer.id, e);
298
442
  }
299
443
  })());
@@ -305,7 +449,9 @@ async function directFetchIpnsRecordFromProviders({ helia, pubsubTopic, routingK
305
449
  } catch (e) {
306
450
  if (!findProvidersSignal.aborted) log.trace("findProviders errored during direct IPNS fetch for topic", pubsubTopic, e);
307
451
  }
452
+ retryScheduler.onProviderStreamEnded();
308
453
  await Promise.allSettled(dialFetchTasks);
454
+ while (retryScheduler.retryTasks.length > 0) await Promise.allSettled(retryScheduler.retryTasks.splice(0));
309
455
  })();
310
456
  await Promise.allSettled([...subscriberTasks, providerBranch]);
311
457
  if (winner) {
@@ -327,4 +473,4 @@ async function cacheIpnsRecordInPubsubLocalStore({ localStore, routingKey, marsh
327
473
  await localStore.put(routingKey, marshalledRecord);
328
474
  }
329
475
  //#endregion
330
- export { selectBitswapSessionSeedPeers as a, getHeliaDebugContext as i, connectToPubsubPeers as n, directFetchIpnsRecordFromProviders as r, cacheIpnsRecordInPubsubLocalStore as t };
476
+ export { fetchBlockWithStalledSessionFailover as a, directFetchIpnsRecordFromProviders as i, cacheIpnsRecordInPubsubLocalStore as n, getHeliaDebugContext as o, connectToPubsubPeers as r, selectBitswapSessionSeedPeers as s, BITSWAP_SESSION_STALLED_GET_FAILOVER_MS as t };
@@ -1,2 +1,2 @@
1
- import { a as nativeFunctions, i as getShortCid, n as challenges, o as setNativeFunctions, r as getShortAddress, t as PKC } from "./chunks/node-Dz5IKip2.js";
1
+ import { a as nativeFunctions, i as getShortCid, n as challenges, o as setNativeFunctions, r as getShortAddress, t as PKC } from "./chunks/node-CZvWHsjY.js";
2
2
  export { challenges, PKC as default, getShortAddress, getShortCid, nativeFunctions, setNativeFunctions };
@@ -1,7 +1,7 @@
1
- import { L as hideClassPrivateProps, Qn as n, _r as PKCError, er as t, st as replaceXWithY, xt as findStartedCommunity, yr as logger_default } from "../../chunks/schema-C_l9RSe0.js";
2
- import { _ as parseRpcUnsubscribeParam, c as parseRpcCancelExportParam, d as parseRpcCommunityIdentifierParam, f as parseRpcCommunityPageParam, g as parseRpcPublishChallengeAnswersParam, h as parseRpcExportCommunityParam, l as parseRpcCidParam, m as parseRpcExportCommunityModLogsParam, p as parseRpcEditCommunityParam, s as parseRpcAuthorNameParam, t as PKC, u as parseRpcCommentRepliesPageParam } from "../../chunks/node-Dz5IKip2.js";
3
- import { En as parseVoteChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, J as buildPagesRuntimeFields, Qt as parseCommentEditChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, Tn as parseSetNewSettingsPKCWsServerSchemaWithPKCErrorIfItFails, Zt as parseCommentChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, an as parseCommunityEditChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, er as stringify, it as pLimit, mn as parseCreatePKCWsServerOptionsSchemaWithPKCErrorIfItFails, on as parseCommunityEditOptionsSchemaWithPKCErrorIfItFails, ot as require_lib, pn as parseCreateNewLocalCommunityUserOptionsSchemaWithPKCErrorIfItFails, q as buildPageRuntimeFields, qn as t$1, rt as pRetry, tn as parseCommentModerationChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, vn as parseDecryptedChallengeAnswerWithPKCErrorIfItFails } from "../../chunks/rpc-local-community-D8woL19t.js";
4
- import { t as LocalCommunity } from "../../chunks/local-community-B6IwJoBu.js";
1
+ import { L as hideClassPrivateProps, Qn as n, _r as PKCError, er as t, st as replaceXWithY, xt as findStartedCommunity, yr as logger_default } from "../../chunks/schema-DmKOov5l.js";
2
+ import { _ as parseRpcUnsubscribeParam, c as parseRpcCancelExportParam, d as parseRpcCommunityIdentifierParam, f as parseRpcCommunityPageParam, g as parseRpcPublishChallengeAnswersParam, h as parseRpcExportCommunityParam, l as parseRpcCidParam, m as parseRpcExportCommunityModLogsParam, p as parseRpcEditCommunityParam, s as parseRpcAuthorNameParam, t as PKC, u as parseRpcCommentRepliesPageParam } from "../../chunks/node-CZvWHsjY.js";
3
+ import { En as parseVoteChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, J as buildPagesRuntimeFields, Qt as parseCommentEditChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, Tn as parseSetNewSettingsPKCWsServerSchemaWithPKCErrorIfItFails, Zt as parseCommentChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, an as parseCommunityEditChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, er as stringify, it as pLimit, mn as parseCreatePKCWsServerOptionsSchemaWithPKCErrorIfItFails, on as parseCommunityEditOptionsSchemaWithPKCErrorIfItFails, ot as require_lib, pn as parseCreateNewLocalCommunityUserOptionsSchemaWithPKCErrorIfItFails, q as buildPageRuntimeFields, qn as t$1, rt as pRetry, tn as parseCommentModerationChallengeRequestToEncryptSchemaWithPKCErrorIfItFails, vn as parseDecryptedChallengeAnswerWithPKCErrorIfItFails } from "../../chunks/rpc-local-community-BNjtTCYn.js";
4
+ import { t as LocalCommunity } from "../../chunks/local-community-C6C5HbTj.js";
5
5
  import { fileURLToPath } from "node:url";
6
6
  import path from "path";
7
7
  import assert from "assert";
@@ -42,7 +42,7 @@ export declare class BaseClientsManager {
42
42
  getDefaultKuboRpcClientOrHelia(): PKC["clients"]["kuboRpcClients"][string] | PKC["clients"]["libp2pJsClients"][string];
43
43
  getDefaultKuboRpcClient(): import("../types.js").KuboRpcClient;
44
44
  getDefaultKuboPubsubClient(): import("../types.js").PubsubClient;
45
- getIpfsClientWithKuboRpcClientFunctions(): import("../helia/types.js").HeliaWithKuboRpcClientFunctions;
45
+ getIpfsClientWithKuboRpcClientFunctions(): import("../helia/types.js").HeliaWithKuboRpcClientFunctions | import("kubo-rpc-client").KuboRPCClient;
46
46
  pubsubSubscribeOnProvider(pubsubTopic: string, handler: PubsubSubscriptionHandler, kuboPubsubRpcUrlOrLibp2pJsKey: string): Promise<void>;
47
47
  pubsubSubscribe(pubsubTopic: string, handler: PubsubSubscriptionHandler): Promise<void>;
48
48
  pubsubUnsubscribeOnProvider(pubsubTopic: string, kuboPubsubRpcUrlOrLibp2pJsKey: string, handler?: PubsubSubscriptionHandler): Promise<void>;
@@ -1 +1 @@
1
- export declare const version = "0.0.69";
1
+ export declare const version = "0.0.71";
@@ -1,3 +1,3 @@
1
1
  // Auto-generated by config/generate-version.js — do not edit
2
- export const version = "0.0.69";
2
+ export const version = "0.0.71";
3
3
  //# sourceMappingURL=generated-version.js.map
@@ -18,7 +18,7 @@ import Logger from "../logger.js";
18
18
  import { EventEmitter } from "events";
19
19
  import { PKCError } from "../pkc-error.js";
20
20
  import { Libp2pJsClient } from "./libp2pjsClient.js";
21
- import { cacheIpnsRecordInPubsubLocalStore, connectToPubsubPeers, directFetchIpnsRecordFromProviders, getHeliaDebugContext, selectBitswapSessionSeedPeers } from "./util.js";
21
+ import { BITSWAP_SESSION_STALLED_GET_FAILOVER_MS, cacheIpnsRecordInPubsubLocalStore, connectToPubsubPeers, directFetchIpnsRecordFromProviders, fetchBlockWithStalledSessionFailover, getHeliaDebugContext, selectBitswapSessionSeedPeers } from "./util.js";
22
22
  import { createDefaultDialTransportGater } from "./dial-transport-filter.js";
23
23
  import { ipnsNameToIpnsOverPubsubTopic } from "../util.js";
24
24
  const log = Logger("pkc-js:libp2p-js");
@@ -26,6 +26,13 @@ const libp2pJsClients = {}; // key => pkc.clients.libp2pJsClients[key]
26
26
  const creatingLibp2pJsClients = {};
27
27
  // TODO need to call ipnsRouter.cancel when our community stops updating
28
28
  // TODO we may need to remove libp2pJsClients and creatingLibp2pJsClients, I actually don't think they're needed
29
+ // Issue #218: the delegated-routing client defaults to concurrentRequests: 4 per router, an
30
+ // internal queue that serialized parallel provider lookups — profiling a production-like load
31
+ // (65 communities updating in parallel) measured that queueing as ~65% of the median load time
32
+ // while the routers themselves answered in <500ms. 32 is the benchmark-validated value: it
33
+ // collapsed the lookup phase to a flat ~2.5s for every community with no router-side strain
34
+ // (total request volume per burst is unchanged; only burstiness increases).
35
+ const DELEGATED_ROUTING_CONCURRENT_REQUESTS = 32;
29
36
  // TODO can you verify if we're already content who has a specific and we fetch the CID even though http router says it has no providers, it should be able to load the CID
30
37
  function getDelegatedRoutingFields(routers) {
31
38
  // @helia/delegated-routing-v1-http-api-client 8.x: the raw client returned by
@@ -36,7 +43,10 @@ function getDelegatedRoutingFields(routers) {
36
43
  // so the peer-routing path (client.getPeers) is never registered.
37
44
  const routersObj = {};
38
45
  for (let i = 0; i < routers.length; i++) {
39
- const factory = delegatedRoutingV1HttpApiClientContentRouting({ url: routers[i] });
46
+ const factory = delegatedRoutingV1HttpApiClientContentRouting({
47
+ url: routers[i],
48
+ concurrentRequests: DELEGATED_ROUTING_CONCURRENT_REQUESTS
49
+ });
40
50
  routersObj["delegatedRouting" + i] = (components) => {
41
51
  const routing = factory(components);
42
52
  // Our HTTP routers only serve provider records — they don't support IPNS get/put.
@@ -486,6 +496,24 @@ export async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
486
496
  const session = helia.blockstore.createSession(rootCid, {
487
497
  providers: getBitswapSessionSeedPeers(bitswapSessionSeedScopeIpnsPubsubTopic)
488
498
  });
499
+ // Issue #218: the session broker waits on a single elected HAVE peer per
500
+ // block with no stall timeout, so one slow seeder holding the only HAVE
501
+ // monopolizes the whole fetch. Route every block get through the
502
+ // stalled-session failover: after the stall window, the session get is
503
+ // raced against helia.blockstore.get — the non-session bitswap path that
504
+ // broadcasts the want to all connected peers — and the first block wins.
505
+ // See fetchBlockWithStalledSessionFailover for the full semantics.
506
+ const sessionGet = session.get.bind(session);
507
+ const fallbackGet = helia.blockstore.get.bind(helia.blockstore);
508
+ session.get = (blockCid, blockGetOptions) => fetchBlockWithStalledSessionFailover({
509
+ cid: blockCid,
510
+ sessionGet,
511
+ fallbackGet,
512
+ stallTimeoutMs: heliaWithKuboRpcClientShape._bitswapSessionStalledGetFailoverMs ??
513
+ BITSWAP_SESSION_STALLED_GET_FAILOVER_MS,
514
+ options: blockGetOptions,
515
+ log
516
+ });
489
517
  let yieldedAnyBytes = false;
490
518
  try {
491
519
  // ipfsPath is either a bare cid or a `<root-cid>/sub/path`. Hand the whole
@@ -1 +1 @@
1
- {"version":3,"file":"helia-for-pkc.js","sourceRoot":"","sources":["../../../src/helia/helia-for-pkc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helia-for-pkc.js","sourceRoot":"","sources":["../../../src/helia/helia-for-pkc.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export interface HeliaWithKuboRpcClientFunctions extends Pick<NonNullable<KuboRp
11
11
  }): ReturnType<KuboRpcClient["_client"]["cat"]>;
12
12
  pubsub: KuboRpcClient["_client"]["pubsub"];
13
13
  stop: KuboRpcClient["_client"]["stop"];
14
+ _bitswapSessionStalledGetFailoverMs?: number;
14
15
  }
15
16
  type baseHelia = Awaited<ReturnType<typeof createHelia>>;
16
17
  type GossipSubWithMeshPeers = GossipSub & {
@@ -33,6 +33,19 @@ export declare function selectBitswapSessionSeedPeers(args: {
33
33
  pubsubSubscriberPeerIdStrings: string[];
34
34
  maxSeeds: number;
35
35
  }): PeerId[];
36
+ export declare const BITSWAP_SESSION_STALLED_GET_FAILOVER_MS = 2500;
37
+ type HeliaSessionBlockstore = ReturnType<HeliaWithLibp2pPubsub["blockstore"]["createSession"]>;
38
+ type FetchBlockCid = Parameters<HeliaSessionBlockstore["get"]>[0];
39
+ type FetchBlockOptions = Parameters<HeliaSessionBlockstore["get"]>[1];
40
+ export type FetchBlockFn = (cid: FetchBlockCid, options?: FetchBlockOptions) => ReturnType<HeliaSessionBlockstore["get"]>;
41
+ export declare function fetchBlockWithStalledSessionFailover(args: {
42
+ cid: FetchBlockCid;
43
+ sessionGet: FetchBlockFn;
44
+ fallbackGet: FetchBlockFn;
45
+ stallTimeoutMs: number;
46
+ options: FetchBlockOptions;
47
+ log: Logger;
48
+ }): AsyncGenerator<Uint8Array>;
36
49
  export interface DirectFetchResult {
37
50
  recordBytes: Uint8Array;
38
51
  peerId: string;
@@ -70,3 +83,4 @@ export declare function cacheIpnsRecordInPubsubLocalStore({ localStore, routingK
70
83
  routingKey: Uint8Array;
71
84
  marshalledRecord: Uint8Array;
72
85
  }): Promise<void>;
86
+ export {};