@pkcprotocol/pkc-js 0.0.79 → 0.0.81

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 (119) hide show
  1. package/README.md +1 -1
  2. package/dist/browser/community/community-client-manager.d.ts +2 -0
  3. package/dist/browser/community/community-client-manager.js +164 -9
  4. package/dist/browser/community/community-client-manager.js.map +1 -1
  5. package/dist/browser/community/remote-community.d.ts +2 -1
  6. package/dist/browser/community/remote-community.js +30 -7
  7. package/dist/browser/community/remote-community.js.map +1 -1
  8. package/dist/browser/community/rpc-local-community.js.map +1 -1
  9. package/dist/browser/community/schema.d.ts +31 -4
  10. package/dist/browser/community/schema.js +16 -10
  11. package/dist/browser/community/schema.js.map +1 -1
  12. package/dist/browser/errors.d.ts +3 -0
  13. package/dist/browser/errors.js +3 -0
  14. package/dist/browser/errors.js.map +1 -1
  15. package/dist/browser/generated-version.d.ts +1 -1
  16. package/dist/browser/generated-version.js +1 -1
  17. package/dist/browser/pkc/pkc.d.ts +1 -2
  18. package/dist/browser/pkc/pkc.js +17 -24
  19. package/dist/browser/pkc/pkc.js.map +1 -1
  20. package/dist/browser/pkc-error.d.ts +1 -1
  21. package/dist/browser/rpc/src/index.js +1 -1
  22. package/dist/browser/rpc/src/index.js.map +1 -1
  23. package/dist/browser/runtime/browser/setup-kubo-http-routers.d.ts +1 -0
  24. package/dist/browser/runtime/browser/setup-kubo-http-routers.js +4 -0
  25. package/dist/browser/runtime/browser/setup-kubo-http-routers.js.map +1 -0
  26. package/dist/browser/runtime/node/community/local-community/publication-validation.js +7 -1
  27. package/dist/browser/runtime/node/community/local-community/publication-validation.js.map +1 -1
  28. package/dist/browser/runtime/node/community/local-community/reprovide-on-address-change.d.ts +3 -2
  29. package/dist/browser/runtime/node/community/local-community/reprovide-on-address-change.js +19 -10
  30. package/dist/browser/runtime/node/community/local-community/reprovide-on-address-change.js.map +1 -1
  31. package/dist/browser/runtime/node/setup-kubo-http-routers.d.ts +2 -0
  32. package/dist/browser/runtime/node/{setup-kubo-address-rewriter-and-http-router.js → setup-kubo-http-routers.js} +54 -112
  33. package/dist/browser/runtime/node/setup-kubo-http-routers.js.map +1 -0
  34. package/dist/browser/schema/schema-util.d.ts +15 -0
  35. package/dist/browser/signer/signatures.d.ts +1 -0
  36. package/dist/browser/signer/signatures.js +25 -2
  37. package/dist/browser/signer/signatures.js.map +1 -1
  38. package/dist/browser/test/test-util.d.ts +7 -0
  39. package/dist/browser/test/test-util.js +6 -0
  40. package/dist/browser/test/test-util.js.map +1 -1
  41. package/dist/browser/util.d.ts +3 -4
  42. package/dist/browser/util.js +7 -3
  43. package/dist/browser/util.js.map +1 -1
  44. package/dist/bundled/bundle-manifest.json +76 -93
  45. package/dist/bundled/chunks/{helia-for-pkc-7wubsFuU.js → helia-for-pkc-BcNF-orO.js} +33 -33
  46. package/dist/bundled/chunks/{local-community-Cs0aQLE3.js → local-community-B6-jaMsn.js} +1 -1
  47. package/dist/bundled/chunks/{local-community-BhRsFFg0.js → local-community-CyX1HwD0.js} +36 -29
  48. package/dist/bundled/chunks/{node-BKnzoR3G.js → node-BCXmIYLQ.js} +265 -2310
  49. package/dist/bundled/chunks/{rpc-local-community-DlgrBPH8.js → rpc-local-community-BOiy8BX1.js} +133 -567
  50. package/dist/bundled/chunks/{schema-C_dFmYMp.js → schema-DZyEx0YQ.js} +9 -5
  51. package/dist/bundled/chunks/{util-CsiYk_QO.js → util-BTPlI1yF.js} +1 -1
  52. package/dist/bundled/index.js +1 -1
  53. package/dist/bundled/rpc/src/index.js +4 -4
  54. package/dist/node/community/community-client-manager.d.ts +2 -0
  55. package/dist/node/community/community-client-manager.js +164 -9
  56. package/dist/node/community/community-client-manager.js.map +1 -1
  57. package/dist/node/community/remote-community.d.ts +2 -1
  58. package/dist/node/community/remote-community.js +30 -7
  59. package/dist/node/community/remote-community.js.map +1 -1
  60. package/dist/node/community/rpc-local-community.js.map +1 -1
  61. package/dist/node/community/schema.d.ts +31 -4
  62. package/dist/node/community/schema.js +16 -10
  63. package/dist/node/community/schema.js.map +1 -1
  64. package/dist/node/errors.d.ts +3 -0
  65. package/dist/node/errors.js +3 -0
  66. package/dist/node/errors.js.map +1 -1
  67. package/dist/node/generated-version.d.ts +1 -1
  68. package/dist/node/generated-version.js +1 -1
  69. package/dist/node/pkc/pkc.d.ts +1 -2
  70. package/dist/node/pkc/pkc.js +17 -24
  71. package/dist/node/pkc/pkc.js.map +1 -1
  72. package/dist/node/pkc-error.d.ts +1 -1
  73. package/dist/node/rpc/src/index.js +1 -1
  74. package/dist/node/rpc/src/index.js.map +1 -1
  75. package/dist/node/runtime/browser/setup-kubo-http-routers.d.ts +1 -0
  76. package/dist/node/runtime/browser/setup-kubo-http-routers.js +4 -0
  77. package/dist/node/runtime/browser/setup-kubo-http-routers.js.map +1 -0
  78. package/dist/node/runtime/node/community/local-community/publication-validation.js +7 -1
  79. package/dist/node/runtime/node/community/local-community/publication-validation.js.map +1 -1
  80. package/dist/node/runtime/node/community/local-community/reprovide-on-address-change.d.ts +3 -2
  81. package/dist/node/runtime/node/community/local-community/reprovide-on-address-change.js +19 -10
  82. package/dist/node/runtime/node/community/local-community/reprovide-on-address-change.js.map +1 -1
  83. package/dist/node/runtime/node/setup-kubo-http-routers.d.ts +2 -0
  84. package/dist/node/runtime/node/{setup-kubo-address-rewriter-and-http-router.js → setup-kubo-http-routers.js} +54 -112
  85. package/dist/node/runtime/node/setup-kubo-http-routers.js.map +1 -0
  86. package/dist/node/schema/schema-util.d.ts +15 -0
  87. package/dist/node/signer/signatures.d.ts +1 -0
  88. package/dist/node/signer/signatures.js +25 -2
  89. package/dist/node/signer/signatures.js.map +1 -1
  90. package/dist/node/test/test-util.d.ts +7 -0
  91. package/dist/node/test/test-util.js +6 -0
  92. package/dist/node/test/test-util.js.map +1 -1
  93. package/dist/node/util.d.ts +3 -4
  94. package/dist/node/util.js +7 -3
  95. package/dist/node/util.js.map +1 -1
  96. package/package.json +2 -2
  97. package/dist/browser/runtime/browser/setup-kubo-address-rewriter-and-http-router.d.ts +0 -1
  98. package/dist/browser/runtime/browser/setup-kubo-address-rewriter-and-http-router.js +0 -4
  99. package/dist/browser/runtime/browser/setup-kubo-address-rewriter-and-http-router.js.map +0 -1
  100. package/dist/browser/runtime/node/address-rewriter-db.d.ts +0 -33
  101. package/dist/browser/runtime/node/address-rewriter-db.js +0 -156
  102. package/dist/browser/runtime/node/address-rewriter-db.js.map +0 -1
  103. package/dist/browser/runtime/node/addresses-rewriter-proxy-server.d.ts +0 -47
  104. package/dist/browser/runtime/node/addresses-rewriter-proxy-server.js +0 -534
  105. package/dist/browser/runtime/node/addresses-rewriter-proxy-server.js.map +0 -1
  106. package/dist/browser/runtime/node/setup-kubo-address-rewriter-and-http-router.d.ts +0 -4
  107. package/dist/browser/runtime/node/setup-kubo-address-rewriter-and-http-router.js.map +0 -1
  108. package/dist/node/runtime/browser/setup-kubo-address-rewriter-and-http-router.d.ts +0 -1
  109. package/dist/node/runtime/browser/setup-kubo-address-rewriter-and-http-router.js +0 -4
  110. package/dist/node/runtime/browser/setup-kubo-address-rewriter-and-http-router.js.map +0 -1
  111. package/dist/node/runtime/node/address-rewriter-db.d.ts +0 -33
  112. package/dist/node/runtime/node/address-rewriter-db.js +0 -156
  113. package/dist/node/runtime/node/address-rewriter-db.js.map +0 -1
  114. package/dist/node/runtime/node/addresses-rewriter-proxy-server.d.ts +0 -47
  115. package/dist/node/runtime/node/addresses-rewriter-proxy-server.js +0 -534
  116. package/dist/node/runtime/node/addresses-rewriter-proxy-server.js.map +0 -1
  117. package/dist/node/runtime/node/setup-kubo-address-rewriter-and-http-router.d.ts +0 -4
  118. package/dist/node/runtime/node/setup-kubo-address-rewriter-and-http-router.js.map +0 -1
  119. package/dist/bundled/chunks/{src-BEjAH2gY.js → src-WLgFbUwZ.js} +1 -1
@@ -1,12 +1,12 @@
1
1
  import { i as __toESM, r as __require, t as __commonJSMin } from "./chunk-2rV9d50f.js";
2
- import { L as hideClassPrivateProps, R as ipnsNameToIpnsOverPubsubTopic, br as logger_default, vr as PKCError } from "./schema-C_dFmYMp.js";
3
- import { a as fetchBlockWithStalledSessionFailover, i as directFetchIpnsRecordFromProviders, n as cacheIpnsRecordInPubsubLocalStore, o as getHeliaDebugContext, r as connectToPubsubPeers, s as selectBitswapSessionSeedPeers } from "./util-CsiYk_QO.js";
2
+ import { L as hideClassPrivateProps, R as ipnsNameToIpnsOverPubsubTopic, br as logger_default, vr as PKCError } from "./schema-DZyEx0YQ.js";
3
+ import { a as fetchBlockWithStalledSessionFailover, i as directFetchIpnsRecordFromProviders, n as cacheIpnsRecordInPubsubLocalStore, o as getHeliaDebugContext, r as connectToPubsubPeers, s as selectBitswapSessionSeedPeers } from "./util-BTPlI1yF.js";
4
4
  import { t as map } from "./src-Cpx2Sts8.js";
5
5
  import { t as parallelBatch } from "./src-DKntVmyX.js";
6
6
  import { fileURLToPath } from "node:url";
7
7
  import fsp, { rename, writeFile } from "node:fs/promises";
8
- import Path, { basename, dirname, join } from "node:path";
9
- import path from "path";
8
+ import path, { basename, dirname, join } from "node:path";
9
+ import path$1 from "path";
10
10
  import { CID } from "multiformats/cid";
11
11
  import { peerIdFromString } from "@libp2p/peer-id";
12
12
  import * as Digest from "multiformats/hashes/digest";
@@ -148,7 +148,7 @@ var require_path = /* @__PURE__ */ __commonJSMin(((exports) => {
148
148
  Object.defineProperty(exports, "__esModule", { value: true });
149
149
  exports.convertPosixPathToPattern = exports.convertWindowsPathToPattern = exports.convertPathToPattern = exports.escapePosixPath = exports.escapeWindowsPath = exports.escape = exports.removeLeadingDotSegment = exports.makeAbsolute = exports.unixify = void 0;
150
150
  const os$1 = __require("os");
151
- const path$9 = __require("path");
151
+ const path$10 = __require("path");
152
152
  const IS_WINDOWS_PLATFORM = os$1.platform() === "win32";
153
153
  const LEADING_DOT_SEGMENT_CHARACTERS_COUNT = 2;
154
154
  /**
@@ -177,7 +177,7 @@ var require_path = /* @__PURE__ */ __commonJSMin(((exports) => {
177
177
  }
178
178
  exports.unixify = unixify;
179
179
  function makeAbsolute(cwd, filepath) {
180
- return path$9.resolve(cwd, filepath);
180
+ return path$10.resolve(cwd, filepath);
181
181
  }
182
182
  exports.makeAbsolute = makeAbsolute;
183
183
  function removeLeadingDotSegment(entry) {
@@ -1429,7 +1429,7 @@ var require_braces = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1429
1429
  //#endregion
1430
1430
  //#region node_modules/picomatch/lib/constants.js
1431
1431
  var require_constants$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1432
- const path$8 = __require("path");
1432
+ const path$9 = __require("path");
1433
1433
  const WIN_SLASH = "\\\\/";
1434
1434
  const WIN_NO_SLASH = `[^${WIN_SLASH}]`;
1435
1435
  const DEFAULT_MAX_EXTGLOB_RECURSION = 0;
@@ -1554,7 +1554,7 @@ var require_constants$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1554
1554
  CHAR_UNDERSCORE: 95,
1555
1555
  CHAR_VERTICAL_LINE: 124,
1556
1556
  CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279,
1557
- SEP: path$8.sep,
1557
+ SEP: path$9.sep,
1558
1558
  /**
1559
1559
  * Create EXTGLOB_CHARS
1560
1560
  */
@@ -1598,7 +1598,7 @@ var require_constants$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
1598
1598
  //#endregion
1599
1599
  //#region node_modules/picomatch/lib/utils.js
1600
1600
  var require_utils$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
1601
- const path$7 = __require("path");
1601
+ const path$8 = __require("path");
1602
1602
  const win32 = process.platform === "win32";
1603
1603
  const { REGEX_BACKSLASH, REGEX_REMOVE_BACKSLASH, REGEX_SPECIAL_CHARS, REGEX_SPECIAL_CHARS_GLOBAL } = require_constants$1();
1604
1604
  exports.isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val);
@@ -1618,7 +1618,7 @@ var require_utils$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
1618
1618
  };
1619
1619
  exports.isWindows = (options) => {
1620
1620
  if (options && typeof options.windows === "boolean") return options.windows;
1621
- return win32 === true || path$7.sep === "\\";
1621
+ return win32 === true || path$8.sep === "\\";
1622
1622
  };
1623
1623
  exports.escapeLast = (input, char, lastIdx) => {
1624
1624
  const idx = input.lastIndexOf(char, lastIdx);
@@ -2988,7 +2988,7 @@ var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
2988
2988
  //#endregion
2989
2989
  //#region node_modules/picomatch/lib/picomatch.js
2990
2990
  var require_picomatch$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
2991
- const path$6 = __require("path");
2991
+ const path$7 = __require("path");
2992
2992
  const scan = require_scan();
2993
2993
  const parse = require_parse();
2994
2994
  const utils = require_utils$2();
@@ -3127,7 +3127,7 @@ var require_picomatch$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3127
3127
  * @api public
3128
3128
  */
3129
3129
  picomatch.matchBase = (input, glob, options, posix = utils.isWindows(options)) => {
3130
- return (glob instanceof RegExp ? glob : picomatch.makeRe(glob, options)).test(path$6.basename(input));
3130
+ return (glob instanceof RegExp ? glob : picomatch.makeRe(glob, options)).test(path$7.basename(input));
3131
3131
  };
3132
3132
  /**
3133
3133
  * Returns true if **any** of the given glob `patterns` match the specified `string`.
@@ -3682,7 +3682,7 @@ var require_micromatch = /* @__PURE__ */ __commonJSMin(((exports, module) => {
3682
3682
  var require_pattern = /* @__PURE__ */ __commonJSMin(((exports) => {
3683
3683
  Object.defineProperty(exports, "__esModule", { value: true });
3684
3684
  exports.isAbsolute = exports.partitionAbsoluteAndRelative = exports.removeDuplicateSlashes = exports.matchAny = exports.convertPatternsToRe = exports.makeRe = exports.getPatternParts = exports.expandBraceExpansion = exports.expandPatternsWithBraceExpansion = exports.isAffectDepthOfReadingPattern = exports.endsWithSlashGlobStar = exports.hasGlobStar = exports.getBaseDirectory = exports.isPatternRelatedToParentDirectory = exports.getPatternsOutsideCurrentDirectory = exports.getPatternsInsideCurrentDirectory = exports.getPositivePatterns = exports.getNegativePatterns = exports.isPositivePattern = exports.isNegativePattern = exports.convertToNegativePattern = exports.convertToPositivePattern = exports.isDynamicPattern = exports.isStaticPattern = void 0;
3685
- const path$5 = __require("path");
3685
+ const path$6 = __require("path");
3686
3686
  const globParent = require_glob_parent();
3687
3687
  const micromatch = require_micromatch();
3688
3688
  const GLOBSTAR = "**";
@@ -3790,7 +3790,7 @@ var require_pattern = /* @__PURE__ */ __commonJSMin(((exports) => {
3790
3790
  }
3791
3791
  exports.endsWithSlashGlobStar = endsWithSlashGlobStar;
3792
3792
  function isAffectDepthOfReadingPattern(pattern) {
3793
- const basename = path$5.basename(pattern);
3793
+ const basename = path$6.basename(pattern);
3794
3794
  return endsWithSlashGlobStar(pattern) || isStaticPattern(basename);
3795
3795
  }
3796
3796
  exports.isAffectDepthOfReadingPattern = isAffectDepthOfReadingPattern;
@@ -3864,7 +3864,7 @@ var require_pattern = /* @__PURE__ */ __commonJSMin(((exports) => {
3864
3864
  }
3865
3865
  exports.partitionAbsoluteAndRelative = partitionAbsoluteAndRelative;
3866
3866
  function isAbsolute(pattern) {
3867
- return path$5.isAbsolute(pattern);
3867
+ return path$6.isAbsolute(pattern);
3868
3868
  }
3869
3869
  exports.isAbsolute = isAbsolute;
3870
3870
  }));
@@ -4492,7 +4492,7 @@ var require_fs = /* @__PURE__ */ __commonJSMin(((exports) => {
4492
4492
  //#region node_modules/@nodelib/fs.scandir/out/settings.js
4493
4493
  var require_settings$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
4494
4494
  Object.defineProperty(exports, "__esModule", { value: true });
4495
- const path$4 = __require("path");
4495
+ const path$5 = __require("path");
4496
4496
  const fsStat = require_out$3();
4497
4497
  const fs = require_fs();
4498
4498
  var Settings = class {
@@ -4500,7 +4500,7 @@ var require_settings$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
4500
4500
  this._options = _options;
4501
4501
  this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, false);
4502
4502
  this.fs = fs.createFileSystemAdapter(this._options.fs);
4503
- this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path$4.sep);
4503
+ this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path$5.sep);
4504
4504
  this.stats = this._getValue(this._options.stats, false);
4505
4505
  this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true);
4506
4506
  this.fsStatSettings = new fsStat.Settings({
@@ -5094,7 +5094,7 @@ var require_sync$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
5094
5094
  //#region node_modules/@nodelib/fs.walk/out/settings.js
5095
5095
  var require_settings$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
5096
5096
  Object.defineProperty(exports, "__esModule", { value: true });
5097
- const path$3 = __require("path");
5097
+ const path$4 = __require("path");
5098
5098
  const fsScandir = require_out$2();
5099
5099
  var Settings = class {
5100
5100
  constructor(_options = {}) {
@@ -5104,7 +5104,7 @@ var require_settings$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
5104
5104
  this.deepFilter = this._getValue(this._options.deepFilter, null);
5105
5105
  this.entryFilter = this._getValue(this._options.entryFilter, null);
5106
5106
  this.errorFilter = this._getValue(this._options.errorFilter, null);
5107
- this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path$3.sep);
5107
+ this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path$4.sep);
5108
5108
  this.fsScandirSettings = new fsScandir.Settings({
5109
5109
  followSymbolicLinks: this._options.followSymbolicLinks,
5110
5110
  fs: this._options.fs,
@@ -5156,7 +5156,7 @@ var require_out$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
5156
5156
  //#region node_modules/fast-glob/out/readers/reader.js
5157
5157
  var require_reader = /* @__PURE__ */ __commonJSMin(((exports) => {
5158
5158
  Object.defineProperty(exports, "__esModule", { value: true });
5159
- const path$2 = __require("path");
5159
+ const path$3 = __require("path");
5160
5160
  const fsStat = require_out$3();
5161
5161
  const utils = require_utils$1();
5162
5162
  var Reader = class {
@@ -5169,7 +5169,7 @@ var require_reader = /* @__PURE__ */ __commonJSMin(((exports) => {
5169
5169
  });
5170
5170
  }
5171
5171
  _getFullEntryPath(filepath) {
5172
- return path$2.resolve(this._settings.cwd, filepath);
5172
+ return path$3.resolve(this._settings.cwd, filepath);
5173
5173
  }
5174
5174
  _makeEntry(stats, pattern) {
5175
5175
  const entry = {
@@ -5504,7 +5504,7 @@ var require_entry = /* @__PURE__ */ __commonJSMin(((exports) => {
5504
5504
  //#region node_modules/fast-glob/out/providers/provider.js
5505
5505
  var require_provider = /* @__PURE__ */ __commonJSMin(((exports) => {
5506
5506
  Object.defineProperty(exports, "__esModule", { value: true });
5507
- const path$1 = __require("path");
5507
+ const path$2 = __require("path");
5508
5508
  const deep_1 = require_deep();
5509
5509
  const entry_1 = require_entry$1();
5510
5510
  const error_1 = require_error();
@@ -5518,7 +5518,7 @@ var require_provider = /* @__PURE__ */ __commonJSMin(((exports) => {
5518
5518
  this.entryTransformer = new entry_2.default(this._settings);
5519
5519
  }
5520
5520
  _getRootDirectory(task) {
5521
- return path$1.resolve(this._settings.cwd, task.base);
5521
+ return path$2.resolve(this._settings.cwd, task.base);
5522
5522
  }
5523
5523
  _getReaderOptions(task) {
5524
5524
  const basePath = task.base === "." ? "" : task.base;
@@ -5849,7 +5849,7 @@ var import_out = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((export
5849
5849
  * Async iterable filename pattern matcher
5850
5850
  */
5851
5851
  async function* glob(dir, pattern, options = {}) {
5852
- const absoluteDir = Path.resolve(dir);
5852
+ const absoluteDir = path.resolve(dir);
5853
5853
  const stats = await fsp.stat(absoluteDir);
5854
5854
  for await (const entry of import_out.default.stream(pattern, {
5855
5855
  ...options,
@@ -6024,7 +6024,7 @@ var NextToLast = class {
6024
6024
  };
6025
6025
  }
6026
6026
  decode(str) {
6027
- let fileName = Path.basename(str);
6027
+ let fileName = path.basename(str);
6028
6028
  if (fileName.endsWith(this.extension)) fileName = fileName.substring(0, fileName.length - this.extension.length);
6029
6029
  return CID.decode(this.base.decoder.decode(fileName));
6030
6030
  }
@@ -6050,7 +6050,7 @@ var NextToLast = class {
6050
6050
  async function writeFile$1(file, contents, options) {
6051
6051
  try {
6052
6052
  options?.signal?.throwIfAborted();
6053
- await raceSignal(fsp.mkdir(Path.dirname(file), { recursive: true }), options?.signal);
6053
+ await raceSignal(fsp.mkdir(path.dirname(file), { recursive: true }), options?.signal);
6054
6054
  const writer = new Writer(file);
6055
6055
  options?.signal?.throwIfAborted();
6056
6056
  await writer.write(contents);
@@ -6075,7 +6075,7 @@ var FsBlockstore = class {
6075
6075
  deleteManyConcurrency;
6076
6076
  shardingStrategy;
6077
6077
  constructor(location, init = {}) {
6078
- this.path = Path.resolve(location);
6078
+ this.path = path.resolve(location);
6079
6079
  this.createIfMissing = init.createIfMissing ?? true;
6080
6080
  this.errorIfExists = init.errorIfExists ?? false;
6081
6081
  this.deleteManyConcurrency = init.deleteManyConcurrency ?? 50;
@@ -6101,7 +6101,7 @@ var FsBlockstore = class {
6101
6101
  async put(key, val, options) {
6102
6102
  const { dir, file } = this.shardingStrategy.encode(key);
6103
6103
  try {
6104
- await writeFile$1(Path.join(this.path, dir, file), val, options);
6104
+ await writeFile$1(path.join(this.path, dir, file), val, options);
6105
6105
  return key;
6106
6106
  } catch (err) {
6107
6107
  throw new PutFailedError(String(err));
@@ -6120,7 +6120,7 @@ var FsBlockstore = class {
6120
6120
  let handle;
6121
6121
  try {
6122
6122
  options?.signal?.throwIfAborted();
6123
- handle = await raceSignal(fsp.open(Path.join(this.path, dir, file)), options?.signal);
6123
+ handle = await raceSignal(fsp.open(path.join(this.path, dir, file)), options?.signal);
6124
6124
  yield* handle.createReadStream();
6125
6125
  } catch (err) {
6126
6126
  if (handle != null) await raceSignal(handle.close(), options?.signal);
@@ -6141,7 +6141,7 @@ var FsBlockstore = class {
6141
6141
  const { dir, file } = this.shardingStrategy.encode(key);
6142
6142
  try {
6143
6143
  options?.signal?.throwIfAborted();
6144
- await raceSignal(fsp.unlink(Path.join(this.path, dir, file)), options?.signal);
6144
+ await raceSignal(fsp.unlink(path.join(this.path, dir, file)), options?.signal);
6145
6145
  } catch (err) {
6146
6146
  if (err.code === "ENOENT") return;
6147
6147
  throw new DeleteFailedError(String(err));
@@ -6159,14 +6159,14 @@ var FsBlockstore = class {
6159
6159
  const { dir, file } = this.shardingStrategy.encode(key);
6160
6160
  try {
6161
6161
  options?.signal?.throwIfAborted();
6162
- await raceSignal(fsp.access(Path.join(this.path, dir, file)), options?.signal);
6162
+ await raceSignal(fsp.access(path.join(this.path, dir, file)), options?.signal);
6163
6163
  } catch (err) {
6164
6164
  return false;
6165
6165
  }
6166
6166
  return true;
6167
6167
  }
6168
6168
  async *getAll(options) {
6169
- const pattern = `**/*${this.shardingStrategy.extension}`.split(Path.sep).join("/");
6169
+ const pattern = `**/*${this.shardingStrategy.extension}`.split(path.sep).join("/");
6170
6170
  const files = glob(this.path, pattern, { absolute: true });
6171
6171
  for await (const file of files) try {
6172
6172
  options?.signal?.throwIfAborted();
@@ -6218,7 +6218,7 @@ async function createBlockstoreForLibp2pJsClient({ dataPath, key }) {
6218
6218
  defaultMaxBytes: DEFAULT_IN_MEMORY_BLOCKSTORE_MAX_BYTES,
6219
6219
  close: async () => {}
6220
6220
  };
6221
- const store = new FsBlockstore(path.join(dataPath, "blockstore", key));
6221
+ const store = new FsBlockstore(path$1.join(dataPath, "blockstore", key));
6222
6222
  await store.open();
6223
6223
  return {
6224
6224
  blockstore: store,
@@ -1,2 +1,2 @@
1
- import { n as createNewLocalCommunityDb, r as updateInstancePropsWithStartedCommunityOrDb, t as LocalCommunity } from "./local-community-BhRsFFg0.js";
1
+ import { n as createNewLocalCommunityDb, r as updateInstancePropsWithStartedCommunityOrDb, t as LocalCommunity } from "./local-community-CyX1HwD0.js";
2
2
  export { LocalCommunity, createNewLocalCommunityDb, updateInstancePropsWithStartedCommunityOrDb };
@@ -1,12 +1,12 @@
1
1
  import { i as __toESM, r as __require, t as __commonJSMin } from "./chunk-2rV9d50f.js";
2
- import { $ as pubsubTopicToDhtKey, $n as n$3, An as CommentsTableRowSchema, At as trackStartedCommunity, Bn as CommentEditsTableRowSchema, Bt as CommunityEditPublicationPubsubReservedFields, C as contentContainsMarkdownAudio, Ct as findUpdatingCommunity, Dn as CommentUpdateSchema, F as getIpnsRecordInLocalKuboNode, Ft as untrackUpdatingCommunity, G as isLinkOfAudio, Gt as CommentModerationPubsubMessagePublicationSchema, In as CommentEditPubsubMessagePublicationSchema, It as require_sha256, J as isLinkOfVideo, Jt as CommentModerationsTableRowSchema, K as isLinkOfImage, Kt as CommentModerationReservedFields, L as hideClassPrivateProps, Ln as CommentEditPubsubMessagePublicationWithFlexibleAuthorSchema, M as genToArray, Mt as trackUpdatingCommunity, N as getEquivalentCommunityAddresses, Nr as ZodError, Nt as untrackStartedCommunity, O as derivePublicationFromChallengeRequest, P as getErrorCodeFromMessage, Q as isStringDomain, Qn as t$8, R as ipnsNameToIpnsOverPubsubTopic, Rn as CommentEditReservedFields, S as calculateStringSizeSameAsIpfsAddCidV0, T as contentContainsMarkdownVideos, W as isLinkOfAnimatedImage, Wn as AuthorReservedFields, Y as isLinkValid, Zn as n$4, _t as timestamp, a as ChallengeRequestMessageSchema, ar as r$1, at as removeNullUndefinedValues, b as areEquivalentCommunityAddresses, bn as CommentPubsubMessageReservedFields, br as logger_default, bt as findCommunityInRegistry, d as DecryptedChallengeRequestSchema, dt as retryKuboIpfsAddAndProvide, er as t$7, fr as require_retry, gn as VoteTablesRowSchema, ht as statMfsPathSafely, in as CommunitySignedPropertyNames, k as doesDomainAddressHaveCapitalLetter, kn as CommentUpdateTableRowSchema, kt as syncCommunityRegistryEntry, lr as t$5, lt as retryKuboBlockPutPinAndProvidePubsubTopic, mn as VotePubsubReservedFields, mt as sleepUntilTimeoutOrAbort, nr as e, nt as removeBlocksFromKuboNode, or as t$4, pn as VotePubsubMessagePublicationSchema, q as isLinkOfMedia, r as ChallengeMessageSchema, rn as CommunityIpfsSchema, rr as e$1, rt as removeMfsFilesSafely, s as ChallengeVerificationMessageSchema, t as ChallengeAnswerMessageSchema, tr as t$6, u as DecryptedChallengeRequestPublicationSchema, ur as t$3, vr as PKCError, w as contentContainsMarkdownImages, x as calculateIpfsCidV0, xt as findStartedCommunity, y as version_default, yn as CommentIpfsSchema, yr as messages, yt as writeKuboFilesWithTimeout } from "./schema-C_dFmYMp.js";
3
- import { $n as t$11, A as deriveCommentIpfsFromCommentTableRow, At as verifyCommunity, B as resolveDbPostsCidRefs, Bt as getCommunityNameFromWire, C as encryptEd25519AesGcmPublicKeyBuffer, Ct as verifyChallengeRequest, D as calculateInlineRepliesBudget, Dt as verifyCommentModeration, E as calculateExpectedSignatureSize, Et as verifyCommentIpfs, F as getThumbnailPropsOfLink, G as POST_REPLIES_SORT_TYPES, I as importSignerIntoKuboNode, It as getAuthorNameFromWire, Jt as getPKCAddressFromPublicKeySync, K as REPLY_REPLIES_SORT_TYPES, Kt as getIpfsKeyFromPrivateKey, M as deriveDbReplies, Mt as verifyVote, N as getDefaultCommunityDbConfig, Nt as buildRuntimeAuthor, Ot as verifyCommentPubsubMessage, Pt as cleanWireAuthor, Q as iterateOverPageCidsToFindAllCids, Qn as r$2, Sn as parseJsonWithPKCErrorIfFails, T as backupCommunityDb, Tt as verifyCommentEdit, Ut as decode, Vt as getCommunityPublicKeyFromWire, W as POSTS_SORT_TYPES, Wt as encode, Xn as t$9, Xt as createSchemaRowParser, Yt as getPublicKeyFromPrivateKey, Zn as t$12, _ as SignerWithPublicKeyAddress, _t as signCommentUpdateForChallengeVerification, a as pkcJsChallenges, ar as STORAGE_KEYS, at as pLimit, ct as cleanUpBeforePublishing, d as MAX_FILE_SIZE_BYTES_FOR_COMMUNITY_IPFS, er as n$6, f as KeyvBetterSqlite3, ft as signChallengeVerification, gt as signCommentUpdate, i as getCommunityChallengeFromCommunityChallengeSettings, ir as stringify, j as deriveDbPosts, jt as verifyCommunityEdit, k as deleteOldCommunityInWindows, kt as verifyCommentUpdate, l as normalizeSelfAddrsForProvider, ln as parseCommunityIpfsSchemaPassthroughWithPKCErrorIfItFails, mt as signCommentEdit, o as TrackedInstanceRegistry, or as require_lodash_merge, pt as signComment, q as TIMEFRAMES_TO_SECONDS, qt as getPKCAddressFromPublicKey, r as getChallengeVerification, rr as t$10, s as LRUCache, sn as parseCommunityEditOptionsSchemaWithPKCErrorIfItFails, t as RpcLocalCommunity, tr as n$5, ut as signChallengeMessage, vt as signCommunity, w as BackupAbortError, x as decryptEd25519AesGcmPublicKeyBuffer, xt as verifyChallengeAnswer, yn as parseDecryptedChallengeAnswerWithPKCErrorIfItFails, z as moveCommunityDbToDeletedDirectory } from "./rpc-local-community-DlgrBPH8.js";
2
+ import { $ as pubsubTopicToDhtKey, $n as n$3, An as CommentsTableRowSchema, At as trackStartedCommunity, Bn as CommentEditsTableRowSchema, Bt as CommunityEditPublicationPubsubReservedFields, C as contentContainsMarkdownAudio, Ct as findUpdatingCommunity, Dn as CommentUpdateSchema, F as getIpnsRecordInLocalKuboNode, Ft as untrackUpdatingCommunity, G as isLinkOfAudio, Gt as CommentModerationPubsubMessagePublicationSchema, In as CommentEditPubsubMessagePublicationSchema, It as require_sha256, J as isLinkOfVideo, Jt as CommentModerationsTableRowSchema, K as isLinkOfImage, Kt as CommentModerationReservedFields, L as hideClassPrivateProps, Ln as CommentEditPubsubMessagePublicationWithFlexibleAuthorSchema, M as genToArray, Mt as trackUpdatingCommunity, N as getEquivalentCommunityAddresses, Nr as ZodError, Nt as untrackStartedCommunity, O as derivePublicationFromChallengeRequest, P as getErrorCodeFromMessage, Q as isStringDomain, Qn as t$8, R as ipnsNameToIpnsOverPubsubTopic, Rn as CommentEditReservedFields, S as calculateStringSizeSameAsIpfsAddCidV0, T as contentContainsMarkdownVideos, W as isLinkOfAnimatedImage, Wn as AuthorReservedFields, Y as isLinkValid, Zn as n$4, _t as timestamp, a as ChallengeRequestMessageSchema, ar as r$1, at as removeNullUndefinedValues, b as areEquivalentCommunityAddresses, bn as CommentPubsubMessageReservedFields, br as logger_default, bt as findCommunityInRegistry, d as DecryptedChallengeRequestSchema, dt as retryKuboIpfsAddAndProvide, er as t$7, fr as require_retry, gn as VoteTablesRowSchema, ht as statMfsPathSafely, in as CommunitySignedPropertyNames, k as doesDomainAddressHaveCapitalLetter, kn as CommentUpdateTableRowSchema, kt as syncCommunityRegistryEntry, lr as t$5, lt as retryKuboBlockPutPinAndProvidePubsubTopic, mn as VotePubsubReservedFields, mt as sleepUntilTimeoutOrAbort, nr as e, nt as removeBlocksFromKuboNode, or as t$4, pn as VotePubsubMessagePublicationSchema, q as isLinkOfMedia, r as ChallengeMessageSchema, rn as CommunityIpfsSchema, rr as e$1, rt as removeMfsFilesSafely, s as ChallengeVerificationMessageSchema, t as ChallengeAnswerMessageSchema, tr as t$6, u as DecryptedChallengeRequestPublicationSchema, ur as t$3, vr as PKCError, w as contentContainsMarkdownImages, x as calculateIpfsCidV0, xt as findStartedCommunity, y as version_default, yn as CommentIpfsSchema, yr as messages, yt as writeKuboFilesWithTimeout } from "./schema-DZyEx0YQ.js";
3
+ import { $n as n$5, A as deriveDbReplies, At as verifyVote, C as backupCommunityDb, Ct as verifyCommentEdit, D as deleteOldCommunityInWindows, Dt as verifyCommentUpdate, Et as verifyCommentPubsubMessage, G as TIMEFRAMES_TO_SECONDS, Gt as getPKCAddressFromPublicKey, H as POSTS_SORT_TYPES, Ht as encode, Jn as t$9, Jt as createSchemaRowParser, Kt as getPKCAddressFromPublicKeySync, L as moveCommunityDbToDeletedDirectory, Mt as cleanWireAuthor, N as getThumbnailPropsOfLink, O as deriveCommentIpfsFromCommentTableRow, Ot as verifyCommunity, P as importSignerIntoKuboNode, Pt as getAuthorNameFromWire, Qn as n$6, R as resolveDbPostsCidRefs, Rt as getCommunityNameFromWire, S as BackupAbortError, T as calculateInlineRepliesBudget, Tt as verifyCommentModeration, U as POST_REPLIES_SORT_TYPES, Vt as decode, W as REPLY_REPLIES_SORT_TYPES, Wt as getIpfsKeyFromPrivateKey, X as iterateOverPageCidsToFindAllCids, Xn as r$2, Yn as t$12, Zn as t$11, _n as parseDecryptedChallengeAnswerWithPKCErrorIfItFails, a as pkcJsChallenges, an as parseCommunityEditOptionsSchemaWithPKCErrorIfItFails, bn as parseJsonWithPKCErrorIfFails, ct as signChallengeMessage, dt as signComment, ft as signCommentEdit, gt as signCommunity, h as SignerWithPublicKeyAddress, ht as signCommentUpdateForChallengeVerification, i as getCommunityChallengeFromCommunityChallengeSettings, ir as require_lodash_merge, j as getDefaultCommunityDbConfig, jt as buildRuntimeAuthor, k as deriveDbPosts, kt as verifyCommunityEdit, l as MAX_FILE_SIZE_BYTES_FOR_COMMUNITY_IPFS, mt as signCommentUpdate, nr as stringify, o as TrackedInstanceRegistry, ot as cleanUpBeforePublishing, qt as getPublicKeyFromPrivateKey, r as getChallengeVerification, rr as STORAGE_KEYS, rt as pLimit, s as LRUCache, sn as parseCommunityIpfsSchemaPassthroughWithPKCErrorIfItFails, t as RpcLocalCommunity, tr as t$10, u as KeyvBetterSqlite3, ut as signChallengeVerification, w as calculateExpectedSignatureSize, wt as verifyCommentIpfs, x as encryptEd25519AesGcmPublicKeyBuffer, xt as verifyChallengeRequest, y as decryptEd25519AesGcmPublicKeyBuffer, yt as verifyChallengeAnswer, zt as getCommunityPublicKeyFromWire } from "./rpc-local-community-BOiy8BX1.js";
4
4
  import { randomFillSync, randomUUID } from "node:crypto";
5
5
  import { fileURLToPath, pathToFileURL } from "node:url";
6
- import Path from "node:path";
6
+ import path from "node:path";
7
7
  import os from "os";
8
8
  import { existsSync, promises } from "node:fs";
9
- import path from "path";
9
+ import path$1 from "path";
10
10
  import assert from "assert";
11
11
  import fs from "fs";
12
12
  import Database from "better-sqlite3";
@@ -1195,7 +1195,10 @@ async function checkWireFormatAndCommunityAuthor(community, publication, authorC
1195
1195
  if ("subplebbitAddress" in publication) return messages.ERR_PUBLICATION_USES_DEPRECATED_SUBPLEBBIT_ADDRESS;
1196
1196
  if ("communityAddress" in publication) return messages.ERR_PUBLICATION_USES_DEPRECATED_COMMUNITY_ADDRESS;
1197
1197
  const pubCommunityPublicKey = getCommunityPublicKeyFromWire(publication);
1198
- if (!pubCommunityPublicKey || pubCommunityPublicKey !== communityIdentityPublicKey(community)) return messages.ERR_PUBLICATION_INVALID_COMMUNITY_PUBLIC_KEY;
1198
+ if (!pubCommunityPublicKey || pubCommunityPublicKey !== communityIdentityPublicKey(community)) {
1199
+ if (community.anchor && pubCommunityPublicKey === community.signer.address) return messages.ERR_PUBLICATION_SIGNED_TO_MINTER_INSTEAD_OF_ANCHOR;
1200
+ return messages.ERR_PUBLICATION_INVALID_COMMUNITY_PUBLIC_KEY;
1201
+ }
1199
1202
  const pubCommunityName = getCommunityNameFromWire(publication);
1200
1203
  if (pubCommunityName && pubCommunityName !== community.address) return messages.ERR_PUBLICATION_INVALID_COMMUNITY_NAME;
1201
1204
  if (publication.timestamp <= timestamp() - 300 || publication.timestamp >= timestamp() + 300) return messages.ERR_PUBLICATION_TIMESTAMP_IS_NOT_IN_PROPER_RANGE;
@@ -3470,9 +3473,9 @@ var DbHandler = class {
3470
3473
  if (needToMigrate) {
3471
3474
  if (dbExistsAlready && currentDbVersion > 0) {
3472
3475
  this.destoryConnection();
3473
- backupDbPath = path.join(path.dirname(dbPath), ".backup_before_migration", `${path.basename(dbPath)}.${currentDbVersion}.${timestamp()}`);
3474
- log(`Copying db ${path.basename(dbPath)} to ${backupDbPath} before migration`);
3475
- if (!fs.existsSync(path.dirname(backupDbPath))) await fs.promises.mkdir(path.dirname(backupDbPath), { recursive: true });
3476
+ backupDbPath = path$1.join(path$1.dirname(dbPath), ".backup_before_migration", `${path$1.basename(dbPath)}.${currentDbVersion}.${timestamp()}`);
3477
+ log(`Copying db ${path$1.basename(dbPath)} to ${backupDbPath} before migration`);
3478
+ if (!fs.existsSync(path$1.dirname(backupDbPath))) await fs.promises.mkdir(path$1.dirname(backupDbPath), { recursive: true });
3476
3479
  const sourceDb = new Database(dbPath, { fileMustExist: true });
3477
3480
  await sourceDb.backup(backupDbPath);
3478
3481
  sourceDb.close();
@@ -5283,10 +5286,10 @@ var DbHandler = class {
5283
5286
  if (this._db || this._keyv) await this.destoryConnection();
5284
5287
  this._transactionDepth = 0;
5285
5288
  const dataPath = this._community._pkc.dataPath;
5286
- const oldPathString = path.join(dataPath, "communities", oldDbName);
5287
- const newPathString = path.join(dataPath, "communities", newDbName);
5288
- await fs.promises.mkdir(path.dirname(oldPathString), { recursive: true });
5289
- await fs.promises.mkdir(path.dirname(newPathString), { recursive: true });
5289
+ const oldPathString = path$1.join(dataPath, "communities", oldDbName);
5290
+ const newPathString = path$1.join(dataPath, "communities", newDbName);
5291
+ await fs.promises.mkdir(path$1.dirname(oldPathString), { recursive: true });
5292
+ await fs.promises.mkdir(path$1.dirname(newPathString), { recursive: true });
5290
5293
  try {
5291
5294
  if (!fs.existsSync(oldPathString)) log(`Old DB file ${oldPathString} does not exist. Cannot backup/rename.`);
5292
5295
  else {
@@ -5308,8 +5311,8 @@ var DbHandler = class {
5308
5311
  }
5309
5312
  async lockCommunityStart(communityAddress = this._community.address) {
5310
5313
  const log = logger_default("pkc-js:local-community:db-handler:lock:start");
5311
- const lockfilePath = path.join(this._community._pkc.dataPath, "communities", `${communityAddress}.start.lock`);
5312
- const communityDbPath = path.join(this._community._pkc.dataPath, "communities", communityAddress);
5314
+ const lockfilePath = path$1.join(this._community._pkc.dataPath, "communities", `${communityAddress}.start.lock`);
5315
+ const communityDbPath = path$1.join(this._community._pkc.dataPath, "communities", communityAddress);
5313
5316
  try {
5314
5317
  await import_src.default.lock(communityDbPath, {
5315
5318
  lockfilePath,
@@ -5330,8 +5333,8 @@ var DbHandler = class {
5330
5333
  async unlockCommunityStart(communityAddress = this._community.address) {
5331
5334
  const log = logger_default("pkc-js:local-community:db-handler:unlock:start");
5332
5335
  log.trace(`Attempting to unlock the start of community (${communityAddress})`);
5333
- const lockfilePath = path.join(this._community._pkc.dataPath, "communities", `${communityAddress}.start.lock`);
5334
- const communityDbPath = path.join(this._community._pkc.dataPath, "communities", communityAddress);
5336
+ const lockfilePath = path$1.join(this._community._pkc.dataPath, "communities", `${communityAddress}.start.lock`);
5337
+ const communityDbPath = path$1.join(this._community._pkc.dataPath, "communities", communityAddress);
5335
5338
  if (!fs.existsSync(lockfilePath) || !fs.existsSync(communityDbPath)) return;
5336
5339
  try {
5337
5340
  await import_src.default.unlock(communityDbPath, { lockfilePath });
@@ -5342,8 +5345,8 @@ var DbHandler = class {
5342
5345
  }
5343
5346
  }
5344
5347
  async isCommunityStartLocked(communityAddress = this._community.address) {
5345
- const lockfilePath = path.join(this._community._pkc.dataPath, "communities", `${communityAddress}.start.lock`);
5346
- const communityDbPath = path.join(this._community._pkc.dataPath, "communities", communityAddress);
5348
+ const lockfilePath = path$1.join(this._community._pkc.dataPath, "communities", `${communityAddress}.start.lock`);
5349
+ const communityDbPath = path$1.join(this._community._pkc.dataPath, "communities", communityAddress);
5347
5350
  return await import_src.default.check(communityDbPath, {
5348
5351
  lockfilePath,
5349
5352
  realpath: false,
@@ -5352,8 +5355,8 @@ var DbHandler = class {
5352
5355
  }
5353
5356
  async lockCommunityState() {
5354
5357
  const log = logger_default("pkc-js:local-community:db-handler:lock:lockCommunityState");
5355
- const lockfilePath = path.join(this._community._pkc.dataPath, "communities", `${this._community.address}.state.lock`);
5356
- const communityDbPath = path.join(this._community._pkc.dataPath, "communities", this._community.address);
5358
+ const lockfilePath = path$1.join(this._community._pkc.dataPath, "communities", `${this._community.address}.state.lock`);
5359
+ const communityDbPath = path$1.join(this._community._pkc.dataPath, "communities", this._community.address);
5357
5360
  try {
5358
5361
  await import_src.default.lock(communityDbPath, {
5359
5362
  lockfilePath,
@@ -5370,8 +5373,8 @@ var DbHandler = class {
5370
5373
  }
5371
5374
  async unlockCommunityState() {
5372
5375
  const log = logger_default("pkc-js:local-community:db-handler:lock:unlockCommunityState");
5373
- const lockfilePath = path.join(this._community._pkc.dataPath, "communities", `${this._community.address}.state.lock`);
5374
- const communityDbPath = path.join(this._community._pkc.dataPath, "communities", this._community.address);
5376
+ const lockfilePath = path$1.join(this._community._pkc.dataPath, "communities", `${this._community.address}.state.lock`);
5377
+ const communityDbPath = path$1.join(this._community._pkc.dataPath, "communities", this._community.address);
5375
5378
  if (!fs.existsSync(lockfilePath)) return;
5376
5379
  try {
5377
5380
  await import_src.default.unlock(communityDbPath, { lockfilePath });
@@ -5381,7 +5384,7 @@ var DbHandler = class {
5381
5384
  }
5382
5385
  }
5383
5386
  communityDbExists() {
5384
- const communityDbPath = path.join(this._community._pkc.dataPath, "communities", this._community.address);
5387
+ const communityDbPath = path$1.join(this._community._pkc.dataPath, "communities", this._community.address);
5385
5388
  return fs.existsSync(communityDbPath);
5386
5389
  }
5387
5390
  markCommentsAsPublishedToPostUpdates(commentCids) {
@@ -6484,6 +6487,10 @@ async function syncIpnsWithDb(community) {
6484
6487
  throw e;
6485
6488
  }
6486
6489
  }
6490
+ function normalizeSelfAddrsForProvider(addrs, peerId) {
6491
+ const suffix = `/p2p/${peerId}`;
6492
+ return n$4(addrs.map((addr) => addr.endsWith(suffix) ? addr.slice(0, -suffix.length) : addr));
6493
+ }
6487
6494
  function isBrowserDialableAddr(addr) {
6488
6495
  return addr.includes("/webrtc") || addr.includes("/ws");
6489
6496
  }
@@ -6498,8 +6505,8 @@ function connectionCriticalCids(community) {
6498
6505
  }
6499
6506
  /**
6500
6507
  * Re-provide the connection-critical CIDs when the node's browser-dialable (WSS/WebRTC) self-addresses
6501
- * have changed since the last provide. This pushes the current addresses to the HTTP routers (via the
6502
- * address-rewriter proxy) so browsers don't get NoValidAddressesError against stale/dead addresses.
6508
+ * have changed since the last provide. This pushes the current addresses to the HTTP routers so browsers
6509
+ * don't get NoValidAddressesError against stale/dead addresses.
6503
6510
  *
6504
6511
  * The first observation only establishes a baseline (start() already force-provides these CIDs with fresh
6505
6512
  * addresses via providePubsubTopicRoutingCidsIfNeeded); subsequent changes trigger a re-provide.
@@ -7096,11 +7103,11 @@ async function edit(community, newCommunityOptions) {
7096
7103
  const EXPORTS_KEY = STORAGE_KEYS[STORAGE_KEYS.EXPORTS];
7097
7104
  function defaultExportPathFor(community, exportId) {
7098
7105
  if (typeof community._pkc.dataPath !== "string") throw new PKCError("ERR_DATA_PATH_IS_NOT_DEFINED", { communityAddress: community.address });
7099
- return Path.join(community._pkc.dataPath, "exports", `${exportId}.sqlite`);
7106
+ return path.join(community._pkc.dataPath, "exports", `${exportId}.sqlite`);
7100
7107
  }
7101
7108
  function sourceDbPathFor(community) {
7102
7109
  if (typeof community._pkc.dataPath !== "string") throw new PKCError("ERR_DATA_PATH_IS_NOT_DEFINED", { communityAddress: community.address });
7103
- return Path.join(community._pkc.dataPath, "communities", community.address);
7110
+ return path.join(community._pkc.dataPath, "communities", community.address);
7104
7111
  }
7105
7112
  async function persistExports(community) {
7106
7113
  if (!community._dbHandler) return;
@@ -7176,9 +7183,9 @@ async function runExportTask(community, exportId, opts) {
7176
7183
  async function exportCommunityEmbedded(community, options = {}) {
7177
7184
  if (options.signal?.aborted) throw options.signal.reason ?? new DOMException("The operation was aborted.", "AbortError");
7178
7185
  const exportId = v4();
7179
- const destPath = options.exportPath ? Path.resolve(options.exportPath) : defaultExportPathFor(community, exportId);
7186
+ const destPath = options.exportPath ? path.resolve(options.exportPath) : defaultExportPathFor(community, exportId);
7180
7187
  const includePrivateKey = options.includePrivateKey === true;
7181
- if (Path.resolve(destPath) === Path.resolve(sourceDbPathFor(community))) throw new PKCError("ERR_EXPORT_PATH_TARGETS_LIVE_DB", {
7188
+ if (path.resolve(destPath) === path.resolve(sourceDbPathFor(community))) throw new PKCError("ERR_EXPORT_PATH_TARGETS_LIVE_DB", {
7182
7189
  communityAddress: community.address,
7183
7190
  exportPath: destPath
7184
7191
  });