@pkcprotocol/pkc-js 0.0.94 → 0.0.95
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/community/community-client-manager.d.ts +1 -0
- package/dist/browser/community/community-client-manager.js +27 -6
- package/dist/browser/community/community-client-manager.js.map +1 -1
- package/dist/browser/generated-version.d.ts +1 -1
- package/dist/browser/generated-version.js +1 -1
- package/dist/browser/helia/helia-for-pkc.d.ts +1 -0
- package/dist/browser/helia/helia-for-pkc.js +101 -7
- package/dist/browser/helia/helia-for-pkc.js.map +1 -1
- package/dist/browser/helia/libp2pjsClient.d.ts +3 -1
- package/dist/browser/helia/libp2pjsClient.js +1 -0
- package/dist/browser/helia/libp2pjsClient.js.map +1 -1
- package/dist/browser/helia/types.d.ts +9 -0
- package/dist/browser/helia/util.d.ts +2 -1
- package/dist/browser/helia/util.js +12 -1
- package/dist/browser/helia/util.js.map +1 -1
- package/dist/bundled/bundle-manifest.json +31 -31
- package/dist/bundled/chunks/{helia-for-pkc-Bj-Zb4JN.js → helia-for-pkc-gnrYOd9S.js} +70 -37
- package/dist/bundled/chunks/{local-community-Ce7303vY.js → local-community-B2tgEzEC.js} +30 -30
- package/dist/bundled/chunks/{local-community-BrMLMEmt.js → local-community-C-EhIxnP.js} +1 -1
- package/dist/bundled/chunks/{node-C37nDOa8.js → node-BgrW8YM1.js} +5 -5
- package/dist/bundled/chunks/{rpc-local-community-Dr_-Lb8I.js → rpc-local-community-1IZANITv.js} +9 -2
- package/dist/bundled/chunks/{schema-5-rYJ-bC.js → schema-r1qeoNNd.js} +1 -1
- package/dist/bundled/chunks/{util-_-fNQNIV.js → util-Dng2qrAF.js} +3 -2
- package/dist/bundled/index.js +1 -1
- package/dist/bundled/rpc/src/index.js +4 -4
- package/dist/node/community/community-client-manager.d.ts +1 -0
- package/dist/node/community/community-client-manager.js +27 -6
- package/dist/node/community/community-client-manager.js.map +1 -1
- package/dist/node/generated-version.d.ts +1 -1
- package/dist/node/generated-version.js +1 -1
- package/dist/node/helia/helia-for-pkc.d.ts +1 -0
- package/dist/node/helia/helia-for-pkc.js +101 -7
- package/dist/node/helia/helia-for-pkc.js.map +1 -1
- package/dist/node/helia/libp2pjsClient.d.ts +3 -1
- package/dist/node/helia/libp2pjsClient.js +1 -0
- package/dist/node/helia/libp2pjsClient.js.map +1 -1
- package/dist/node/helia/types.d.ts +9 -0
- package/dist/node/helia/util.d.ts +2 -1
- package/dist/node/helia/util.js +12 -1
- package/dist/node/helia/util.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { i as __toESM, r as __require, t as __commonJSMin } from "./chunk-2rV9d50f.js";
|
|
2
|
-
import { B as ipnsNameToIpnsOverPubsubTopic, R as hideClassPrivateProps, Sr as PKCError, wr as logger_default, x as binaryKeyToPubsubTopic } from "./schema-
|
|
3
|
-
import { a as fetchBlockWithStalledSessionFailover, c as selectBitswapSessionSeedPeers, i as directFetchIpnsRecordFromProviders, n as cacheIpnsRecordInPubsubLocalStore, o as getHeliaDebugContext, r as connectToPubsubPeers, s as readFreshCachedIpnsRecordFromPubsubLocalStore } from "./util-
|
|
2
|
+
import { B as ipnsNameToIpnsOverPubsubTopic, R as hideClassPrivateProps, Sr as PKCError, wr as logger_default, x as binaryKeyToPubsubTopic } from "./schema-r1qeoNNd.js";
|
|
3
|
+
import { a as fetchBlockWithStalledSessionFailover, c as selectBitswapSessionSeedPeers, i as directFetchIpnsRecordFromProviders, n as cacheIpnsRecordInPubsubLocalStore, o as getHeliaDebugContext, r as connectToPubsubPeers, s as readFreshCachedIpnsRecordFromPubsubLocalStore } from "./util-Dng2qrAF.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
|
|
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";
|
|
@@ -149,7 +149,7 @@ var require_path = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
149
149
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
150
150
|
exports.convertPosixPathToPattern = exports.convertWindowsPathToPattern = exports.convertPathToPattern = exports.escapePosixPath = exports.escapeWindowsPath = exports.escape = exports.removeLeadingDotSegment = exports.makeAbsolute = exports.unixify = void 0;
|
|
151
151
|
const os$1 = __require("os");
|
|
152
|
-
const path$
|
|
152
|
+
const path$10 = __require("path");
|
|
153
153
|
const IS_WINDOWS_PLATFORM = os$1.platform() === "win32";
|
|
154
154
|
const LEADING_DOT_SEGMENT_CHARACTERS_COUNT = 2;
|
|
155
155
|
/**
|
|
@@ -178,7 +178,7 @@ var require_path = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
178
178
|
}
|
|
179
179
|
exports.unixify = unixify;
|
|
180
180
|
function makeAbsolute(cwd, filepath) {
|
|
181
|
-
return path$
|
|
181
|
+
return path$10.resolve(cwd, filepath);
|
|
182
182
|
}
|
|
183
183
|
exports.makeAbsolute = makeAbsolute;
|
|
184
184
|
function removeLeadingDotSegment(entry) {
|
|
@@ -1430,7 +1430,7 @@ var require_braces = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
1430
1430
|
//#endregion
|
|
1431
1431
|
//#region node_modules/picomatch/lib/constants.js
|
|
1432
1432
|
var require_constants$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
1433
|
-
const path$
|
|
1433
|
+
const path$9 = __require("path");
|
|
1434
1434
|
const WIN_SLASH = "\\\\/";
|
|
1435
1435
|
const WIN_NO_SLASH = `[^${WIN_SLASH}]`;
|
|
1436
1436
|
const DEFAULT_MAX_EXTGLOB_RECURSION = 0;
|
|
@@ -1555,7 +1555,7 @@ var require_constants$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
1555
1555
|
CHAR_UNDERSCORE: 95,
|
|
1556
1556
|
CHAR_VERTICAL_LINE: 124,
|
|
1557
1557
|
CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279,
|
|
1558
|
-
SEP: path$
|
|
1558
|
+
SEP: path$9.sep,
|
|
1559
1559
|
/**
|
|
1560
1560
|
* Create EXTGLOB_CHARS
|
|
1561
1561
|
*/
|
|
@@ -1599,7 +1599,7 @@ var require_constants$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
1599
1599
|
//#endregion
|
|
1600
1600
|
//#region node_modules/picomatch/lib/utils.js
|
|
1601
1601
|
var require_utils$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
1602
|
-
const path$
|
|
1602
|
+
const path$8 = __require("path");
|
|
1603
1603
|
const win32 = process.platform === "win32";
|
|
1604
1604
|
const { REGEX_BACKSLASH, REGEX_REMOVE_BACKSLASH, REGEX_SPECIAL_CHARS, REGEX_SPECIAL_CHARS_GLOBAL } = require_constants$1();
|
|
1605
1605
|
exports.isObject = (val) => val !== null && typeof val === "object" && !Array.isArray(val);
|
|
@@ -1619,7 +1619,7 @@ var require_utils$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
1619
1619
|
};
|
|
1620
1620
|
exports.isWindows = (options) => {
|
|
1621
1621
|
if (options && typeof options.windows === "boolean") return options.windows;
|
|
1622
|
-
return win32 === true || path$
|
|
1622
|
+
return win32 === true || path$8.sep === "\\";
|
|
1623
1623
|
};
|
|
1624
1624
|
exports.escapeLast = (input, char, lastIdx) => {
|
|
1625
1625
|
const idx = input.lastIndexOf(char, lastIdx);
|
|
@@ -2989,7 +2989,7 @@ var require_parse = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
2989
2989
|
//#endregion
|
|
2990
2990
|
//#region node_modules/picomatch/lib/picomatch.js
|
|
2991
2991
|
var require_picomatch$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
2992
|
-
const path$
|
|
2992
|
+
const path$7 = __require("path");
|
|
2993
2993
|
const scan = require_scan();
|
|
2994
2994
|
const parse = require_parse();
|
|
2995
2995
|
const utils = require_utils$2();
|
|
@@ -3128,7 +3128,7 @@ var require_picomatch$1 = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
3128
3128
|
* @api public
|
|
3129
3129
|
*/
|
|
3130
3130
|
picomatch.matchBase = (input, glob, options, posix = utils.isWindows(options)) => {
|
|
3131
|
-
return (glob instanceof RegExp ? glob : picomatch.makeRe(glob, options)).test(path$
|
|
3131
|
+
return (glob instanceof RegExp ? glob : picomatch.makeRe(glob, options)).test(path$7.basename(input));
|
|
3132
3132
|
};
|
|
3133
3133
|
/**
|
|
3134
3134
|
* Returns true if **any** of the given glob `patterns` match the specified `string`.
|
|
@@ -3683,7 +3683,7 @@ var require_micromatch = /* @__PURE__ */ __commonJSMin(((exports, module) => {
|
|
|
3683
3683
|
var require_pattern = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
3684
3684
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3685
3685
|
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;
|
|
3686
|
-
const path$
|
|
3686
|
+
const path$6 = __require("path");
|
|
3687
3687
|
const globParent = require_glob_parent();
|
|
3688
3688
|
const micromatch = require_micromatch();
|
|
3689
3689
|
const GLOBSTAR = "**";
|
|
@@ -3791,7 +3791,7 @@ var require_pattern = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
3791
3791
|
}
|
|
3792
3792
|
exports.endsWithSlashGlobStar = endsWithSlashGlobStar;
|
|
3793
3793
|
function isAffectDepthOfReadingPattern(pattern) {
|
|
3794
|
-
const basename = path$
|
|
3794
|
+
const basename = path$6.basename(pattern);
|
|
3795
3795
|
return endsWithSlashGlobStar(pattern) || isStaticPattern(basename);
|
|
3796
3796
|
}
|
|
3797
3797
|
exports.isAffectDepthOfReadingPattern = isAffectDepthOfReadingPattern;
|
|
@@ -3865,7 +3865,7 @@ var require_pattern = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
3865
3865
|
}
|
|
3866
3866
|
exports.partitionAbsoluteAndRelative = partitionAbsoluteAndRelative;
|
|
3867
3867
|
function isAbsolute(pattern) {
|
|
3868
|
-
return path$
|
|
3868
|
+
return path$6.isAbsolute(pattern);
|
|
3869
3869
|
}
|
|
3870
3870
|
exports.isAbsolute = isAbsolute;
|
|
3871
3871
|
}));
|
|
@@ -4493,7 +4493,7 @@ var require_fs = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
4493
4493
|
//#region node_modules/@nodelib/fs.scandir/out/settings.js
|
|
4494
4494
|
var require_settings$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
4495
4495
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4496
|
-
const path$
|
|
4496
|
+
const path$5 = __require("path");
|
|
4497
4497
|
const fsStat = require_out$3();
|
|
4498
4498
|
const fs = require_fs();
|
|
4499
4499
|
var Settings = class {
|
|
@@ -4501,7 +4501,7 @@ var require_settings$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
4501
4501
|
this._options = _options;
|
|
4502
4502
|
this.followSymbolicLinks = this._getValue(this._options.followSymbolicLinks, false);
|
|
4503
4503
|
this.fs = fs.createFileSystemAdapter(this._options.fs);
|
|
4504
|
-
this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path$
|
|
4504
|
+
this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path$5.sep);
|
|
4505
4505
|
this.stats = this._getValue(this._options.stats, false);
|
|
4506
4506
|
this.throwErrorOnBrokenSymbolicLink = this._getValue(this._options.throwErrorOnBrokenSymbolicLink, true);
|
|
4507
4507
|
this.fsStatSettings = new fsStat.Settings({
|
|
@@ -5095,7 +5095,7 @@ var require_sync$2 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
5095
5095
|
//#region node_modules/@nodelib/fs.walk/out/settings.js
|
|
5096
5096
|
var require_settings$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
5097
5097
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5098
|
-
const path$
|
|
5098
|
+
const path$4 = __require("path");
|
|
5099
5099
|
const fsScandir = require_out$2();
|
|
5100
5100
|
var Settings = class {
|
|
5101
5101
|
constructor(_options = {}) {
|
|
@@ -5105,7 +5105,7 @@ var require_settings$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
5105
5105
|
this.deepFilter = this._getValue(this._options.deepFilter, null);
|
|
5106
5106
|
this.entryFilter = this._getValue(this._options.entryFilter, null);
|
|
5107
5107
|
this.errorFilter = this._getValue(this._options.errorFilter, null);
|
|
5108
|
-
this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path$
|
|
5108
|
+
this.pathSegmentSeparator = this._getValue(this._options.pathSegmentSeparator, path$4.sep);
|
|
5109
5109
|
this.fsScandirSettings = new fsScandir.Settings({
|
|
5110
5110
|
followSymbolicLinks: this._options.followSymbolicLinks,
|
|
5111
5111
|
fs: this._options.fs,
|
|
@@ -5157,7 +5157,7 @@ var require_out$1 = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
5157
5157
|
//#region node_modules/fast-glob/out/readers/reader.js
|
|
5158
5158
|
var require_reader = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
5159
5159
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5160
|
-
const path$
|
|
5160
|
+
const path$3 = __require("path");
|
|
5161
5161
|
const fsStat = require_out$3();
|
|
5162
5162
|
const utils = require_utils$1();
|
|
5163
5163
|
var Reader = class {
|
|
@@ -5170,7 +5170,7 @@ var require_reader = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
5170
5170
|
});
|
|
5171
5171
|
}
|
|
5172
5172
|
_getFullEntryPath(filepath) {
|
|
5173
|
-
return path$
|
|
5173
|
+
return path$3.resolve(this._settings.cwd, filepath);
|
|
5174
5174
|
}
|
|
5175
5175
|
_makeEntry(stats, pattern) {
|
|
5176
5176
|
const entry = {
|
|
@@ -5505,7 +5505,7 @@ var require_entry = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
5505
5505
|
//#region node_modules/fast-glob/out/providers/provider.js
|
|
5506
5506
|
var require_provider = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
5507
5507
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5508
|
-
const path$
|
|
5508
|
+
const path$2 = __require("path");
|
|
5509
5509
|
const deep_1 = require_deep();
|
|
5510
5510
|
const entry_1 = require_entry$1();
|
|
5511
5511
|
const error_1 = require_error();
|
|
@@ -5519,7 +5519,7 @@ var require_provider = /* @__PURE__ */ __commonJSMin(((exports) => {
|
|
|
5519
5519
|
this.entryTransformer = new entry_2.default(this._settings);
|
|
5520
5520
|
}
|
|
5521
5521
|
_getRootDirectory(task) {
|
|
5522
|
-
return path$
|
|
5522
|
+
return path$2.resolve(this._settings.cwd, task.base);
|
|
5523
5523
|
}
|
|
5524
5524
|
_getReaderOptions(task) {
|
|
5525
5525
|
const basePath = task.base === "." ? "" : task.base;
|
|
@@ -5850,7 +5850,7 @@ var import_out = /* @__PURE__ */ __toESM((/* @__PURE__ */ __commonJSMin(((export
|
|
|
5850
5850
|
* Async iterable filename pattern matcher
|
|
5851
5851
|
*/
|
|
5852
5852
|
async function* glob(dir, pattern, options = {}) {
|
|
5853
|
-
const absoluteDir =
|
|
5853
|
+
const absoluteDir = path.resolve(dir);
|
|
5854
5854
|
const stats = await fsp.stat(absoluteDir);
|
|
5855
5855
|
for await (const entry of import_out.default.stream(pattern, {
|
|
5856
5856
|
...options,
|
|
@@ -6020,7 +6020,7 @@ var NextToLast = class {
|
|
|
6020
6020
|
};
|
|
6021
6021
|
}
|
|
6022
6022
|
decode(str) {
|
|
6023
|
-
let fileName =
|
|
6023
|
+
let fileName = path.basename(str);
|
|
6024
6024
|
if (fileName.endsWith(this.extension)) fileName = fileName.substring(0, fileName.length - this.extension.length);
|
|
6025
6025
|
return CID.decode(this.base.decoder.decode(fileName));
|
|
6026
6026
|
}
|
|
@@ -6046,7 +6046,7 @@ var NextToLast = class {
|
|
|
6046
6046
|
async function writeFile$1(file, contents, options) {
|
|
6047
6047
|
try {
|
|
6048
6048
|
options?.signal?.throwIfAborted();
|
|
6049
|
-
await raceSignal(fsp.mkdir(
|
|
6049
|
+
await raceSignal(fsp.mkdir(path.dirname(file), { recursive: true }), options?.signal);
|
|
6050
6050
|
const writer = new Writer(file);
|
|
6051
6051
|
options?.signal?.throwIfAborted();
|
|
6052
6052
|
await writer.write(contents);
|
|
@@ -6071,7 +6071,7 @@ var FsBlockstore = class {
|
|
|
6071
6071
|
deleteManyConcurrency;
|
|
6072
6072
|
shardingStrategy;
|
|
6073
6073
|
constructor(location, init = {}) {
|
|
6074
|
-
this.path =
|
|
6074
|
+
this.path = path.resolve(location);
|
|
6075
6075
|
this.createIfMissing = init.createIfMissing ?? true;
|
|
6076
6076
|
this.errorIfExists = init.errorIfExists ?? false;
|
|
6077
6077
|
this.deleteManyConcurrency = init.deleteManyConcurrency ?? 50;
|
|
@@ -6097,7 +6097,7 @@ var FsBlockstore = class {
|
|
|
6097
6097
|
async put(key, val, options) {
|
|
6098
6098
|
const { dir, file } = this.shardingStrategy.encode(key);
|
|
6099
6099
|
try {
|
|
6100
|
-
await writeFile$1(
|
|
6100
|
+
await writeFile$1(path.join(this.path, dir, file), val, options);
|
|
6101
6101
|
return key;
|
|
6102
6102
|
} catch (err) {
|
|
6103
6103
|
throw new PutFailedError(String(err));
|
|
@@ -6116,7 +6116,7 @@ var FsBlockstore = class {
|
|
|
6116
6116
|
let handle;
|
|
6117
6117
|
try {
|
|
6118
6118
|
options?.signal?.throwIfAborted();
|
|
6119
|
-
handle = await raceSignal(fsp.open(
|
|
6119
|
+
handle = await raceSignal(fsp.open(path.join(this.path, dir, file)), options?.signal);
|
|
6120
6120
|
yield* handle.createReadStream();
|
|
6121
6121
|
} catch (err) {
|
|
6122
6122
|
if (handle != null) await raceSignal(handle.close(), options?.signal);
|
|
@@ -6137,7 +6137,7 @@ var FsBlockstore = class {
|
|
|
6137
6137
|
const { dir, file } = this.shardingStrategy.encode(key);
|
|
6138
6138
|
try {
|
|
6139
6139
|
options?.signal?.throwIfAborted();
|
|
6140
|
-
await raceSignal(fsp.unlink(
|
|
6140
|
+
await raceSignal(fsp.unlink(path.join(this.path, dir, file)), options?.signal);
|
|
6141
6141
|
} catch (err) {
|
|
6142
6142
|
if (err.code === "ENOENT") return;
|
|
6143
6143
|
throw new DeleteFailedError(String(err));
|
|
@@ -6155,14 +6155,14 @@ var FsBlockstore = class {
|
|
|
6155
6155
|
const { dir, file } = this.shardingStrategy.encode(key);
|
|
6156
6156
|
try {
|
|
6157
6157
|
options?.signal?.throwIfAborted();
|
|
6158
|
-
await raceSignal(fsp.access(
|
|
6158
|
+
await raceSignal(fsp.access(path.join(this.path, dir, file)), options?.signal);
|
|
6159
6159
|
} catch (err) {
|
|
6160
6160
|
return false;
|
|
6161
6161
|
}
|
|
6162
6162
|
return true;
|
|
6163
6163
|
}
|
|
6164
6164
|
async *getAll(options) {
|
|
6165
|
-
const pattern = `**/*${this.shardingStrategy.extension}`.split(
|
|
6165
|
+
const pattern = `**/*${this.shardingStrategy.extension}`.split(path.sep).join("/");
|
|
6166
6166
|
const files = glob(this.path, pattern, { absolute: true });
|
|
6167
6167
|
for await (const file of files) try {
|
|
6168
6168
|
options?.signal?.throwIfAborted();
|
|
@@ -6214,7 +6214,7 @@ async function createBlockstoreForLibp2pJsClient({ dataPath, key }) {
|
|
|
6214
6214
|
defaultMaxBytes: DEFAULT_IN_MEMORY_BLOCKSTORE_MAX_BYTES,
|
|
6215
6215
|
close: async () => {}
|
|
6216
6216
|
};
|
|
6217
|
-
const store = new FsBlockstore(path.join(dataPath, "blockstore", key));
|
|
6217
|
+
const store = new FsBlockstore(path$1.join(dataPath, "blockstore", key));
|
|
6218
6218
|
await store.open();
|
|
6219
6219
|
return {
|
|
6220
6220
|
blockstore: store,
|
|
@@ -6443,6 +6443,7 @@ var Libp2pJsClient = class {
|
|
|
6443
6443
|
this._mergedHeliaOptions = libp2pJsClientOptions.mergedHeliaOptions;
|
|
6444
6444
|
this.key = libp2pJsClientOptions.key;
|
|
6445
6445
|
this.countOfUsesOfInstance = libp2pJsClientOptions.countOfUsesOfInstance;
|
|
6446
|
+
this._ipnsPushChannel = libp2pJsClientOptions.ipnsPushChannel;
|
|
6446
6447
|
hideClassPrivateProps(this);
|
|
6447
6448
|
}
|
|
6448
6449
|
};
|
|
@@ -6499,6 +6500,7 @@ function ipnsRouterTag(router) {
|
|
|
6499
6500
|
function isLocalStoreIpnsRouter(router) {
|
|
6500
6501
|
return ipnsRouterTag(router) === "LocalStoreRouting()";
|
|
6501
6502
|
}
|
|
6503
|
+
const IPNS_PUSH_CHANNEL_WATCHDOG_MS = 15 * 6e4;
|
|
6502
6504
|
async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
|
|
6503
6505
|
if (!pkcOptions.httpRoutersOptions?.length) throw Error("You need to have pkc.httpRouterOptions to set up helia");
|
|
6504
6506
|
const existingClient = libp2pJsClients[pkcOptions.key];
|
|
@@ -6628,13 +6630,32 @@ async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
|
|
|
6628
6630
|
const ipnsPubsubLocalStore = ipnsPubsubRouter.localStore;
|
|
6629
6631
|
const ipnsPubsubRouterSubscriptions = ipnsPubsubRouter.subscriptions;
|
|
6630
6632
|
const ipnsRecordNetworkValidatedAtMs = /* @__PURE__ */ new Map();
|
|
6633
|
+
const ipnsPushChannel = {
|
|
6634
|
+
watchdogMs: IPNS_PUSH_CHANNEL_WATCHDOG_MS,
|
|
6635
|
+
lastValidRecordArrivalMs: /* @__PURE__ */ new Map(),
|
|
6636
|
+
routingKeyByTopic: /* @__PURE__ */ new Map(),
|
|
6637
|
+
highestKnownSequenceByTopic: /* @__PURE__ */ new Map()
|
|
6638
|
+
};
|
|
6639
|
+
const isIpnsPushChannelHealthy = (pubsubTopic) => helia.libp2p.services.pubsub.getSubscribers(pubsubTopic).length > 0 && Date.now() - (ipnsPushChannel.lastValidRecordArrivalMs.get(pubsubTopic) ?? 0) < ipnsPushChannel.watchdogMs;
|
|
6640
|
+
const stampIpnsPushChannelArrival = (pubsubTopic, sequence) => {
|
|
6641
|
+
const highestKnown = ipnsPushChannel.highestKnownSequenceByTopic.get(pubsubTopic);
|
|
6642
|
+
if (highestKnown !== void 0 && sequence < highestKnown) {
|
|
6643
|
+
log.trace("Ignoring a stale-replay push-channel heartbeat on IPNS topic", pubsubTopic, sequence, "<", highestKnown);
|
|
6644
|
+
return;
|
|
6645
|
+
}
|
|
6646
|
+
ipnsPushChannel.highestKnownSequenceByTopic.set(pubsubTopic, sequence);
|
|
6647
|
+
ipnsPushChannel.lastValidRecordArrivalMs.set(pubsubTopic, Date.now());
|
|
6648
|
+
};
|
|
6649
|
+
helia.libp2p.services.pubsub.addEventListener("message", (evt) => {
|
|
6650
|
+
const gossipRoutingKey = ipnsPushChannel.routingKeyByTopic.get(evt.detail.topic);
|
|
6651
|
+
if (!gossipRoutingKey) return;
|
|
6652
|
+
ipnsValidator(gossipRoutingKey, evt.detail.data).then(() => stampIpnsPushChannelArrival(evt.detail.topic, unmarshalIPNSRecord(evt.detail.data).sequence)).catch((err) => log.trace("Ignoring an invalid record gossiped on IPNS topic", evt.detail.topic, err));
|
|
6653
|
+
});
|
|
6631
6654
|
const ipnsRecordArrivalListeners = /* @__PURE__ */ new Map();
|
|
6632
6655
|
const originalLocalStorePut = ipnsPubsubLocalStore.put.bind(ipnsPubsubLocalStore);
|
|
6633
6656
|
ipnsPubsubLocalStore.put = async (routingKey, marshalledRecord, options) => {
|
|
6634
6657
|
await originalLocalStorePut(routingKey, marshalledRecord, options);
|
|
6635
6658
|
const pubsubTopic = binaryKeyToPubsubTopic(routingKey);
|
|
6636
|
-
const listeners = ipnsRecordArrivalListeners.get(pubsubTopic);
|
|
6637
|
-
if (!listeners || listeners.size === 0) return;
|
|
6638
6659
|
let record;
|
|
6639
6660
|
try {
|
|
6640
6661
|
record = unmarshalIPNSRecord(marshalledRecord);
|
|
@@ -6642,6 +6663,9 @@ async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
|
|
|
6642
6663
|
log.error("Failed to unmarshal a cached IPNS record for the arrival listeners of topic", pubsubTopic, e);
|
|
6643
6664
|
return;
|
|
6644
6665
|
}
|
|
6666
|
+
stampIpnsPushChannelArrival(pubsubTopic, record.sequence);
|
|
6667
|
+
const listeners = ipnsRecordArrivalListeners.get(pubsubTopic);
|
|
6668
|
+
if (!listeners || listeners.size === 0) return;
|
|
6645
6669
|
for (const listener of [...listeners]) try {
|
|
6646
6670
|
listener({
|
|
6647
6671
|
pubsubTopic,
|
|
@@ -6689,7 +6713,8 @@ async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
|
|
|
6689
6713
|
const cachedRecord = await readFreshCachedIpnsRecordFromPubsubLocalStore({
|
|
6690
6714
|
localStore: ipnsPubsubLocalStore,
|
|
6691
6715
|
routingKey,
|
|
6692
|
-
lastNetworkValidatedAtMs: ipnsRecordNetworkValidatedAtMs.get(ipnsPubsubTopic)
|
|
6716
|
+
lastNetworkValidatedAtMs: ipnsRecordNetworkValidatedAtMs.get(ipnsPubsubTopic),
|
|
6717
|
+
pushChannelHealthy: isIpnsPushChannelHealthy(ipnsPubsubTopic)
|
|
6693
6718
|
});
|
|
6694
6719
|
if (cachedRecord) {
|
|
6695
6720
|
log.trace("Serving IPNS record for", currentName, "from the routing-layer cache");
|
|
@@ -6703,6 +6728,7 @@ async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
|
|
|
6703
6728
|
{
|
|
6704
6729
|
if (!helia.libp2p.services.pubsub.getTopics().includes(ipnsPubsubTopic)) helia.libp2p.services.pubsub.subscribe(ipnsPubsubTopic);
|
|
6705
6730
|
ipnsPubsubRouterSubscriptions.add(ipnsPubsubTopic);
|
|
6731
|
+
ipnsPushChannel.routingKeyByTopic.set(ipnsPubsubTopic, routingKey);
|
|
6706
6732
|
warmupForTopic(ipnsPubsubTopic, options).catch((e) => log.trace("Fire-and-forget warmup failed for", ipnsPubsubTopic, e));
|
|
6707
6733
|
const directStart = Date.now();
|
|
6708
6734
|
try {
|
|
@@ -6725,6 +6751,7 @@ async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
|
|
|
6725
6751
|
};
|
|
6726
6752
|
const record = unmarshalIPNSRecord(direct.recordBytes);
|
|
6727
6753
|
ipnsRecordNetworkValidatedAtMs.set(ipnsPubsubTopic, Date.now());
|
|
6754
|
+
stampIpnsPushChannelArrival(ipnsPubsubTopic, record.sequence);
|
|
6728
6755
|
try {
|
|
6729
6756
|
await cacheIpnsRecordInPubsubLocalStore({
|
|
6730
6757
|
localStore: ipnsPubsubLocalStore,
|
|
@@ -6801,6 +6828,7 @@ async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
|
|
|
6801
6828
|
await ipnsValidator(routingKey, recordBytes);
|
|
6802
6829
|
const record = unmarshalIPNSRecord(recordBytes);
|
|
6803
6830
|
ipnsRecordNetworkValidatedAtMs.set(ipnsPubsubTopic, Date.now());
|
|
6831
|
+
stampIpnsPushChannelArrival(ipnsPubsubTopic, record.sequence);
|
|
6804
6832
|
yield record.value;
|
|
6805
6833
|
}
|
|
6806
6834
|
return generator();
|
|
@@ -6912,6 +6940,7 @@ async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
|
|
|
6912
6940
|
if (listeners.size === 0) ipnsRecordArrivalListeners.delete(pubsubTopic);
|
|
6913
6941
|
}
|
|
6914
6942
|
},
|
|
6943
|
+
isIpnsPushChannelHealthy: ({ pubsubTopic }) => isIpnsPushChannelHealthy(pubsubTopic),
|
|
6915
6944
|
async stop(options) {
|
|
6916
6945
|
const clientFromMap = libp2pJsClients[pkcOptions.key];
|
|
6917
6946
|
if (!clientFromMap) return;
|
|
@@ -6920,6 +6949,9 @@ async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
|
|
|
6920
6949
|
if (clientFromMap.countOfUsesOfInstance === 0) {
|
|
6921
6950
|
delete libp2pJsClients[pkcOptions.key];
|
|
6922
6951
|
ipnsRecordArrivalListeners.clear();
|
|
6952
|
+
ipnsPushChannel.lastValidRecordArrivalMs.clear();
|
|
6953
|
+
ipnsPushChannel.routingKeyByTopic.clear();
|
|
6954
|
+
ipnsPushChannel.highestKnownSequenceByTopic.clear();
|
|
6923
6955
|
for (const router of ipnsNameResolver.routers) {
|
|
6924
6956
|
const lifecycle = router;
|
|
6925
6957
|
if (typeof lifecycle.stop === "function") try {
|
|
@@ -6962,7 +6994,8 @@ async function createLibp2pJsClientOrUseExistingOne(pkcOptions) {
|
|
|
6962
6994
|
mergedHeliaOptions: mergedHeliaInit,
|
|
6963
6995
|
countOfUsesOfInstance: 1,
|
|
6964
6996
|
libp2pJsClientsOptions: pkcOptions,
|
|
6965
|
-
key: pkcOptions.key
|
|
6997
|
+
key: pkcOptions.key,
|
|
6998
|
+
ipnsPushChannel
|
|
6966
6999
|
});
|
|
6967
7000
|
log("Helia/libp2p-js started with key", pkcOptions.key, "and peer id", helia.libp2p.peerId.toString());
|
|
6968
7001
|
libp2pJsClients[pkcOptions.key] = client;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { i as __toESM, r as __require, t as __commonJSMin } from "./chunk-2rV9d50f.js";
|
|
2
|
-
import { A as doesDomainAddressHaveCapitalLetter, B as ipnsNameToIpnsOverPubsubTopic, Bn as CommentEditPubsubMessagePublicationSchema, Bt as require_sha256, C as calculateStringSizeSameAsIpfsAddCidV0, Cn as CommentIpfsSchema, Cr as messages, Ct as writeKuboFilesWithTimeout, Dt as findUpdatingCommunity, E as contentContainsMarkdownVideos, F as getErrorCodeFromMessage, Hn as CommentEditReservedFields, I as getIpnsRecordInLocalKuboNode, It as trackUpdatingCommunity, J as isLinkOfImage, Jn as AuthorReservedFields, K as isLinkOfAnimatedImage, Lr as ZodError, Lt as untrackStartedCommunity, N as genToArray, Nn as CommentUpdateTableRowSchema, Nt as syncCommunityRegistryEntry, P as getEquivalentCommunityAddresses, Pn as CommentsTableRowSchema, Pt as trackStartedCommunity, Qt as CommentModerationsTableRowSchema, R as hideClassPrivateProps, S as calculateIpfsCidV0, Sr as PKCError, T as contentContainsMarkdownImages, Tt as findStartedCommunity, Vn as CommentEditPubsubMessagePublicationWithFlexibleAuthorSchema, Wn as CommentEditsTableRowSchema, Wt as CommunityEditPublicationPubsubReservedFields, X as isLinkOfVideo, Xt as CommentModerationReservedFields, Y as isLinkOfMedia, Yt as CommentModerationPubsubMessagePublicationSchema, Z as isLinkValid, _n as VotePubsubMessagePublicationSchema, a as ChallengeRequestMessageSchema, ar as t$6, b as areEquivalentCommunityAddresses, bn as VoteTablesRowSchema, cn as CommunitySignedPropertyNames, d as DecryptedChallengeRequestSchema, et as isStringDomain, gr as require_retry, ht as retryKuboIpfsAddAndProvide, ir as t$7, jn as CommentUpdateSchema, k as derivePublicationFromChallengeRequest, lr as r$1, lt as removeNullUndefinedValues, mr as t$3, nr as t$8, or as e, ot as removeBlocksFromKuboNode, pr as t$5, pt as retryKuboBlockPutPinAndProvidePubsubTopic, q as isLinkOfAudio, r as ChallengeMessageSchema, rr as n$3, s as ChallengeVerificationMessageSchema, sn as CommunityIpfsSchema, sr as e$1, st as removeMfsFilesSafely, t as ChallengeAnswerMessageSchema, tr as n$4, tt as pubsubTopicToDhtKey, u as DecryptedChallengeRequestPublicationSchema, ur as t$4, vn as VotePubsubReservedFields, vt as sleepUntilTimeoutOrAbort, w as contentContainsMarkdownAudio, wn as CommentPubsubMessageReservedFields, wr as logger_default, wt as findCommunityInRegistry, xt as timestamp, y as version_default, yt as statMfsPathSafely, zt as untrackUpdatingCommunity } from "./schema-
|
|
3
|
-
import { $t as getPublicKeyFromPrivateKey, A as deriveDbPosts, At as verifyCommentIpfs, Bt as getAuthorNameFromWire, C as BackupAbortError, Cn as parseDecryptedChallengeAnswerWithPKCErrorIfItFails, Dt as verifyChallengeRequest, E as calculateInlineRepliesBudget, En as parseJsonWithPKCErrorIfFails, F as importSignerIntoKuboNode, Ft as verifyCommunityEdit, G as REPLY_REPLIES_SORT_TYPES, Gt as getCommunityPublicKeyFromWire, It as verifyVote, Jt as encode, K as TIMEFRAMES_TO_SECONDS, Lt as buildRuntimeAuthor, M as getDefaultCommunityDbConfig, Mt as verifyCommentPubsubMessage, Nt as verifyCommentUpdate, O as deleteOldCommunityInWindows, P as getThumbnailPropsOfLink, Pt as verifyCommunity, Qt as getPKCAddressFromPublicKeySync, R as moveCommunityDbToDeletedDirectory, Rt as cleanWireAuthor, S as encryptEd25519AesGcmPublicKeyBuffer, St as signCommunity, T as calculateExpectedSignatureSize, Tt as verifyChallengeAnswer, U as POSTS_SORT_TYPES, W as POST_REPLIES_SORT_TYPES, Wt as getCommunityNameFromWire, Xt as getIpfsKeyFromPrivateKey, Z as iterateOverPageCidsToFindAllCids, Zt as getPKCAddressFromPublicKey, _t as signComment, a as loadChallengeFileFromCommunityChallengeSettings, ar as t$11, b as decryptEd25519AesGcmPublicKeyBuffer, bt as signCommentUpdate, c as LRUCache, d as KeyvBetterSqlite3, dn as parseCommunityEditOptionsSchemaWithPKCErrorIfItFails, dr as STORAGE_KEYS, en as createSchemaRowParser, er as crosspostChainDepthUpTo, fr as require_lodash_merge, ft as cleanUpBeforePublishing, g as SignerWithPublicKeyAddress, gt as signChallengeVerification, i as getCommunityChallengeFromCommunityChallengeSettings, ir as r$2, j as deriveDbReplies, jt as verifyCommentModeration, k as deriveCommentIpfsFromCommentTableRow, kt as verifyCommentEdit, lr as t$10, lt as pLimit, mt as signChallengeMessage, nr as t$9, o as pkcJsChallenges, or as n$6, pn as parseCommunityIpfsSchemaPassthroughWithPKCErrorIfItFails, qt as decode, r as getChallengeVerification, rr as t$12, s as TrackedInstanceRegistry, sr as n$5, t as RpcLocalCommunity, tr as effectiveMaxCrosspostDepth, u as MAX_FILE_SIZE_BYTES_FOR_COMMUNITY_IPFS, ur as stringify, vt as signCommentEdit, w as backupCommunityDb, xt as signCommentUpdateForChallengeVerification, z as resolveDbPostsCidRefs } from "./rpc-local-community-
|
|
2
|
+
import { A as doesDomainAddressHaveCapitalLetter, B as ipnsNameToIpnsOverPubsubTopic, Bn as CommentEditPubsubMessagePublicationSchema, Bt as require_sha256, C as calculateStringSizeSameAsIpfsAddCidV0, Cn as CommentIpfsSchema, Cr as messages, Ct as writeKuboFilesWithTimeout, Dt as findUpdatingCommunity, E as contentContainsMarkdownVideos, F as getErrorCodeFromMessage, Hn as CommentEditReservedFields, I as getIpnsRecordInLocalKuboNode, It as trackUpdatingCommunity, J as isLinkOfImage, Jn as AuthorReservedFields, K as isLinkOfAnimatedImage, Lr as ZodError, Lt as untrackStartedCommunity, N as genToArray, Nn as CommentUpdateTableRowSchema, Nt as syncCommunityRegistryEntry, P as getEquivalentCommunityAddresses, Pn as CommentsTableRowSchema, Pt as trackStartedCommunity, Qt as CommentModerationsTableRowSchema, R as hideClassPrivateProps, S as calculateIpfsCidV0, Sr as PKCError, T as contentContainsMarkdownImages, Tt as findStartedCommunity, Vn as CommentEditPubsubMessagePublicationWithFlexibleAuthorSchema, Wn as CommentEditsTableRowSchema, Wt as CommunityEditPublicationPubsubReservedFields, X as isLinkOfVideo, Xt as CommentModerationReservedFields, Y as isLinkOfMedia, Yt as CommentModerationPubsubMessagePublicationSchema, Z as isLinkValid, _n as VotePubsubMessagePublicationSchema, a as ChallengeRequestMessageSchema, ar as t$6, b as areEquivalentCommunityAddresses, bn as VoteTablesRowSchema, cn as CommunitySignedPropertyNames, d as DecryptedChallengeRequestSchema, et as isStringDomain, gr as require_retry, ht as retryKuboIpfsAddAndProvide, ir as t$7, jn as CommentUpdateSchema, k as derivePublicationFromChallengeRequest, lr as r$1, lt as removeNullUndefinedValues, mr as t$3, nr as t$8, or as e, ot as removeBlocksFromKuboNode, pr as t$5, pt as retryKuboBlockPutPinAndProvidePubsubTopic, q as isLinkOfAudio, r as ChallengeMessageSchema, rr as n$3, s as ChallengeVerificationMessageSchema, sn as CommunityIpfsSchema, sr as e$1, st as removeMfsFilesSafely, t as ChallengeAnswerMessageSchema, tr as n$4, tt as pubsubTopicToDhtKey, u as DecryptedChallengeRequestPublicationSchema, ur as t$4, vn as VotePubsubReservedFields, vt as sleepUntilTimeoutOrAbort, w as contentContainsMarkdownAudio, wn as CommentPubsubMessageReservedFields, wr as logger_default, wt as findCommunityInRegistry, xt as timestamp, y as version_default, yt as statMfsPathSafely, zt as untrackUpdatingCommunity } from "./schema-r1qeoNNd.js";
|
|
3
|
+
import { $t as getPublicKeyFromPrivateKey, A as deriveDbPosts, At as verifyCommentIpfs, Bt as getAuthorNameFromWire, C as BackupAbortError, Cn as parseDecryptedChallengeAnswerWithPKCErrorIfItFails, Dt as verifyChallengeRequest, E as calculateInlineRepliesBudget, En as parseJsonWithPKCErrorIfFails, F as importSignerIntoKuboNode, Ft as verifyCommunityEdit, G as REPLY_REPLIES_SORT_TYPES, Gt as getCommunityPublicKeyFromWire, It as verifyVote, Jt as encode, K as TIMEFRAMES_TO_SECONDS, Lt as buildRuntimeAuthor, M as getDefaultCommunityDbConfig, Mt as verifyCommentPubsubMessage, Nt as verifyCommentUpdate, O as deleteOldCommunityInWindows, P as getThumbnailPropsOfLink, Pt as verifyCommunity, Qt as getPKCAddressFromPublicKeySync, R as moveCommunityDbToDeletedDirectory, Rt as cleanWireAuthor, S as encryptEd25519AesGcmPublicKeyBuffer, St as signCommunity, T as calculateExpectedSignatureSize, Tt as verifyChallengeAnswer, U as POSTS_SORT_TYPES, W as POST_REPLIES_SORT_TYPES, Wt as getCommunityNameFromWire, Xt as getIpfsKeyFromPrivateKey, Z as iterateOverPageCidsToFindAllCids, Zt as getPKCAddressFromPublicKey, _t as signComment, a as loadChallengeFileFromCommunityChallengeSettings, ar as t$11, b as decryptEd25519AesGcmPublicKeyBuffer, bt as signCommentUpdate, c as LRUCache, d as KeyvBetterSqlite3, dn as parseCommunityEditOptionsSchemaWithPKCErrorIfItFails, dr as STORAGE_KEYS, en as createSchemaRowParser, er as crosspostChainDepthUpTo, fr as require_lodash_merge, ft as cleanUpBeforePublishing, g as SignerWithPublicKeyAddress, gt as signChallengeVerification, i as getCommunityChallengeFromCommunityChallengeSettings, ir as r$2, j as deriveDbReplies, jt as verifyCommentModeration, k as deriveCommentIpfsFromCommentTableRow, kt as verifyCommentEdit, lr as t$10, lt as pLimit, mt as signChallengeMessage, nr as t$9, o as pkcJsChallenges, or as n$6, pn as parseCommunityIpfsSchemaPassthroughWithPKCErrorIfItFails, qt as decode, r as getChallengeVerification, rr as t$12, s as TrackedInstanceRegistry, sr as n$5, t as RpcLocalCommunity, tr as effectiveMaxCrosspostDepth, u as MAX_FILE_SIZE_BYTES_FOR_COMMUNITY_IPFS, ur as stringify, vt as signCommentEdit, w as backupCommunityDb, xt as signCommentUpdateForChallengeVerification, z as resolveDbPostsCidRefs } from "./rpc-local-community-1IZANITv.js";
|
|
4
4
|
import { randomFillSync, randomUUID } from "node:crypto";
|
|
5
5
|
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
6
|
-
import
|
|
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";
|
|
@@ -1868,15 +1868,15 @@ async function throwIfChallengeSettingsAreInvalid({ challengeSettings, pkc, comm
|
|
|
1868
1868
|
const processStartedCommunities = new TrackedInstanceRegistry();
|
|
1869
1869
|
function normalizeRegistryDataPath(dataPath) {
|
|
1870
1870
|
if (dataPath === void 0) return void 0;
|
|
1871
|
-
const resolved = path.resolve(dataPath);
|
|
1871
|
+
const resolved = path$1.resolve(dataPath);
|
|
1872
1872
|
let existing = resolved;
|
|
1873
1873
|
let tail = "";
|
|
1874
1874
|
while (true) try {
|
|
1875
|
-
return path.join(fs.realpathSync.native(existing), tail);
|
|
1875
|
+
return path$1.join(fs.realpathSync.native(existing), tail);
|
|
1876
1876
|
} catch {
|
|
1877
|
-
const parent = path.dirname(existing);
|
|
1877
|
+
const parent = path$1.dirname(existing);
|
|
1878
1878
|
if (parent === existing) return resolved;
|
|
1879
|
-
tail = path.join(path.basename(existing), tail);
|
|
1879
|
+
tail = path$1.join(path$1.basename(existing), tail);
|
|
1880
1880
|
existing = parent;
|
|
1881
1881
|
}
|
|
1882
1882
|
}
|
|
@@ -3632,9 +3632,9 @@ var DbHandler = class {
|
|
|
3632
3632
|
if (needToMigrate) {
|
|
3633
3633
|
if (dbExistsAlready && currentDbVersion > 0) {
|
|
3634
3634
|
this.destoryConnection();
|
|
3635
|
-
backupDbPath = path.join(path.dirname(dbPath), ".backup_before_migration", `${path.basename(dbPath)}.${currentDbVersion}.${timestamp()}`);
|
|
3636
|
-
log(`Copying db ${path.basename(dbPath)} to ${backupDbPath} before migration`);
|
|
3637
|
-
if (!fs.existsSync(path.dirname(backupDbPath))) await fs.promises.mkdir(path.dirname(backupDbPath), { recursive: true });
|
|
3635
|
+
backupDbPath = path$1.join(path$1.dirname(dbPath), ".backup_before_migration", `${path$1.basename(dbPath)}.${currentDbVersion}.${timestamp()}`);
|
|
3636
|
+
log(`Copying db ${path$1.basename(dbPath)} to ${backupDbPath} before migration`);
|
|
3637
|
+
if (!fs.existsSync(path$1.dirname(backupDbPath))) await fs.promises.mkdir(path$1.dirname(backupDbPath), { recursive: true });
|
|
3638
3638
|
const sourceDb = new Database(dbPath, { fileMustExist: true });
|
|
3639
3639
|
await sourceDb.backup(backupDbPath);
|
|
3640
3640
|
sourceDb.close();
|
|
@@ -5452,10 +5452,10 @@ var DbHandler = class {
|
|
|
5452
5452
|
if (this._db || this._keyv) await this.destoryConnection();
|
|
5453
5453
|
this._transactionDepth = 0;
|
|
5454
5454
|
const dataPath = this._community._pkc.dataPath;
|
|
5455
|
-
const oldPathString = path.join(dataPath, "communities", oldDbName);
|
|
5456
|
-
const newPathString = path.join(dataPath, "communities", newDbName);
|
|
5457
|
-
await fs.promises.mkdir(path.dirname(oldPathString), { recursive: true });
|
|
5458
|
-
await fs.promises.mkdir(path.dirname(newPathString), { recursive: true });
|
|
5455
|
+
const oldPathString = path$1.join(dataPath, "communities", oldDbName);
|
|
5456
|
+
const newPathString = path$1.join(dataPath, "communities", newDbName);
|
|
5457
|
+
await fs.promises.mkdir(path$1.dirname(oldPathString), { recursive: true });
|
|
5458
|
+
await fs.promises.mkdir(path$1.dirname(newPathString), { recursive: true });
|
|
5459
5459
|
try {
|
|
5460
5460
|
if (!fs.existsSync(oldPathString)) log(`Old DB file ${oldPathString} does not exist. Cannot backup/rename.`);
|
|
5461
5461
|
else {
|
|
@@ -5477,8 +5477,8 @@ var DbHandler = class {
|
|
|
5477
5477
|
}
|
|
5478
5478
|
async lockCommunityStart(communityAddress = this._community.address) {
|
|
5479
5479
|
const log = logger_default("pkc-js:local-community:db-handler:lock:start");
|
|
5480
|
-
const lockfilePath = path.join(this._community._pkc.dataPath, "communities", `${communityAddress}.start.lock`);
|
|
5481
|
-
const communityDbPath = path.join(this._community._pkc.dataPath, "communities", communityAddress);
|
|
5480
|
+
const lockfilePath = path$1.join(this._community._pkc.dataPath, "communities", `${communityAddress}.start.lock`);
|
|
5481
|
+
const communityDbPath = path$1.join(this._community._pkc.dataPath, "communities", communityAddress);
|
|
5482
5482
|
try {
|
|
5483
5483
|
await import_src.default.lock(communityDbPath, {
|
|
5484
5484
|
lockfilePath,
|
|
@@ -5499,8 +5499,8 @@ var DbHandler = class {
|
|
|
5499
5499
|
async unlockCommunityStart(communityAddress = this._community.address) {
|
|
5500
5500
|
const log = logger_default("pkc-js:local-community:db-handler:unlock:start");
|
|
5501
5501
|
log.trace(`Attempting to unlock the start of community (${communityAddress})`);
|
|
5502
|
-
const lockfilePath = path.join(this._community._pkc.dataPath, "communities", `${communityAddress}.start.lock`);
|
|
5503
|
-
const communityDbPath = path.join(this._community._pkc.dataPath, "communities", communityAddress);
|
|
5502
|
+
const lockfilePath = path$1.join(this._community._pkc.dataPath, "communities", `${communityAddress}.start.lock`);
|
|
5503
|
+
const communityDbPath = path$1.join(this._community._pkc.dataPath, "communities", communityAddress);
|
|
5504
5504
|
if (!fs.existsSync(lockfilePath) || !fs.existsSync(communityDbPath)) return;
|
|
5505
5505
|
try {
|
|
5506
5506
|
await import_src.default.unlock(communityDbPath, { lockfilePath });
|
|
@@ -5511,8 +5511,8 @@ var DbHandler = class {
|
|
|
5511
5511
|
}
|
|
5512
5512
|
}
|
|
5513
5513
|
async isCommunityStartLocked(communityAddress = this._community.address) {
|
|
5514
|
-
const lockfilePath = path.join(this._community._pkc.dataPath, "communities", `${communityAddress}.start.lock`);
|
|
5515
|
-
const communityDbPath = path.join(this._community._pkc.dataPath, "communities", communityAddress);
|
|
5514
|
+
const lockfilePath = path$1.join(this._community._pkc.dataPath, "communities", `${communityAddress}.start.lock`);
|
|
5515
|
+
const communityDbPath = path$1.join(this._community._pkc.dataPath, "communities", communityAddress);
|
|
5516
5516
|
return await import_src.default.check(communityDbPath, {
|
|
5517
5517
|
lockfilePath,
|
|
5518
5518
|
realpath: false,
|
|
@@ -5521,8 +5521,8 @@ var DbHandler = class {
|
|
|
5521
5521
|
}
|
|
5522
5522
|
async lockCommunityState() {
|
|
5523
5523
|
const log = logger_default("pkc-js:local-community:db-handler:lock:lockCommunityState");
|
|
5524
|
-
const lockfilePath = path.join(this._community._pkc.dataPath, "communities", `${this._community.address}.state.lock`);
|
|
5525
|
-
const communityDbPath = path.join(this._community._pkc.dataPath, "communities", this._community.address);
|
|
5524
|
+
const lockfilePath = path$1.join(this._community._pkc.dataPath, "communities", `${this._community.address}.state.lock`);
|
|
5525
|
+
const communityDbPath = path$1.join(this._community._pkc.dataPath, "communities", this._community.address);
|
|
5526
5526
|
try {
|
|
5527
5527
|
await import_src.default.lock(communityDbPath, {
|
|
5528
5528
|
lockfilePath,
|
|
@@ -5539,8 +5539,8 @@ var DbHandler = class {
|
|
|
5539
5539
|
}
|
|
5540
5540
|
async unlockCommunityState() {
|
|
5541
5541
|
const log = logger_default("pkc-js:local-community:db-handler:lock:unlockCommunityState");
|
|
5542
|
-
const lockfilePath = path.join(this._community._pkc.dataPath, "communities", `${this._community.address}.state.lock`);
|
|
5543
|
-
const communityDbPath = path.join(this._community._pkc.dataPath, "communities", this._community.address);
|
|
5542
|
+
const lockfilePath = path$1.join(this._community._pkc.dataPath, "communities", `${this._community.address}.state.lock`);
|
|
5543
|
+
const communityDbPath = path$1.join(this._community._pkc.dataPath, "communities", this._community.address);
|
|
5544
5544
|
if (!fs.existsSync(lockfilePath)) return;
|
|
5545
5545
|
try {
|
|
5546
5546
|
await import_src.default.unlock(communityDbPath, { lockfilePath });
|
|
@@ -5550,7 +5550,7 @@ var DbHandler = class {
|
|
|
5550
5550
|
}
|
|
5551
5551
|
}
|
|
5552
5552
|
communityDbExists() {
|
|
5553
|
-
const communityDbPath = path.join(this._community._pkc.dataPath, "communities", this._community.address);
|
|
5553
|
+
const communityDbPath = path$1.join(this._community._pkc.dataPath, "communities", this._community.address);
|
|
5554
5554
|
return fs.existsSync(communityDbPath);
|
|
5555
5555
|
}
|
|
5556
5556
|
markCommentsAsPublishedToPostUpdates(commentCids) {
|
|
@@ -7288,11 +7288,11 @@ async function edit(community, newCommunityOptions) {
|
|
|
7288
7288
|
const EXPORTS_KEY = STORAGE_KEYS[STORAGE_KEYS.EXPORTS];
|
|
7289
7289
|
function defaultExportPathFor(community, exportId) {
|
|
7290
7290
|
if (typeof community._pkc.dataPath !== "string") throw new PKCError("ERR_DATA_PATH_IS_NOT_DEFINED", { communityAddress: community.address });
|
|
7291
|
-
return
|
|
7291
|
+
return path.join(community._pkc.dataPath, "exports", `${exportId}.sqlite`);
|
|
7292
7292
|
}
|
|
7293
7293
|
function sourceDbPathFor(community) {
|
|
7294
7294
|
if (typeof community._pkc.dataPath !== "string") throw new PKCError("ERR_DATA_PATH_IS_NOT_DEFINED", { communityAddress: community.address });
|
|
7295
|
-
return
|
|
7295
|
+
return path.join(community._pkc.dataPath, "communities", community.address);
|
|
7296
7296
|
}
|
|
7297
7297
|
async function persistExports(community) {
|
|
7298
7298
|
if (!community._dbHandler) return;
|
|
@@ -7368,9 +7368,9 @@ async function runExportTask(community, exportId, opts) {
|
|
|
7368
7368
|
async function exportCommunityEmbedded(community, options = {}) {
|
|
7369
7369
|
if (options.signal?.aborted) throw options.signal.reason ?? new DOMException("The operation was aborted.", "AbortError");
|
|
7370
7370
|
const exportId = v4();
|
|
7371
|
-
const destPath = options.exportPath ?
|
|
7371
|
+
const destPath = options.exportPath ? path.resolve(options.exportPath) : defaultExportPathFor(community, exportId);
|
|
7372
7372
|
const includePrivateKey = options.includePrivateKey === true;
|
|
7373
|
-
if (
|
|
7373
|
+
if (path.resolve(destPath) === path.resolve(sourceDbPathFor(community))) throw new PKCError("ERR_EXPORT_PATH_TARGETS_LIVE_DB", {
|
|
7374
7374
|
communityAddress: community.address,
|
|
7375
7375
|
exportPath: destPath
|
|
7376
7376
|
});
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as createNewLocalCommunityDb, r as updateInstancePropsWithStartedCommunityOrDb, t as LocalCommunity } from "./local-community-
|
|
1
|
+
import { n as createNewLocalCommunityDb, r as updateInstancePropsWithStartedCommunityOrDb, t as LocalCommunity } from "./local-community-B2tgEzEC.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 { A as doesDomainAddressHaveCapitalLetter, At as listUpdatingCommunities, B as ipnsNameToIpnsOverPubsubTopic, Br as stringifyPrimitive, Bt as require_sha256, Cn as CommentIpfsSchema, Cr as messages, D as createAbortError, Dr as setErrorMap, Dt as findUpdatingCommunity, Et as findUpdatingComment, Ft as trackUpdatingComment, H as isIpfsCid, Ht as pTimeout, O as deepMergeRuntimeFields, On as CommentUpdateForChallengeVerificationSchema, Ot as listStartedCommunities, R as hideClassPrivateProps, Rr as joinValues, Rt as untrackUpdatingComment, Sr as PKCError, St as waitForUpdateInCommunityInstanceWithErrorAndTimeout, Tt as findStartedCommunity, V as isAbortError, Vt as TimeoutError, W as isIpns, _r as FailedToFetchCommentIpfsFromGatewaysError, _t as shortifyCid, a as ChallengeRequestMessageSchema, ar as t$1, at as rejectWhenCommunityStopsOrAborts, b as areEquivalentCommunityAddresses, bt as throwIfAbortSignalAborted, dt as replaceXWithY, et as isStringDomain, ft as resolveWhenPredicateIsTrue, gr as require_retry, gt as shortifyAddress, it as rejectWhenAbortSignalFires, jn as CommentUpdateSchema, jt as refreshTrackedCommentAliases, kt as listUpdatingComments, lr as r, mt as retryKuboIpfsAdd, nn as CommunityAnchorSchema, or as e, pn as PubsubTopicSchema, r as ChallengeMessageSchema, rr as n$1, s as ChallengeVerificationMessageSchema, sn as CommunityIpfsSchema, sr as e$1, t as ChallengeAnswerMessageSchema, tr as n$2, ut as removeUndefinedValuesRecursively, vt as sleepUntilTimeoutOrAbort, wr as logger_default, xt as timestamp, y as version_default, zr as parsedType } from "./schema-
|
|
3
|
-
import { $ as RepliesPages, $n as RpcUnsubscribeParamSchema, An as parseSetNewSettingsPKCWsServerSchemaWithPKCErrorIfItFails, At as verifyCommentIpfs, B as setNativeFunctions$1, Bn as RpcEditCommunityParamSchema, Cn as parseDecryptedChallengeAnswerWithPKCErrorIfItFails, Ct as signCommunityEdit, D as createKuboRpcClient, Dn as parsePKCUserOptionsSchemaWithPKCErrorIfItFails, En as parseJsonWithPKCErrorIfFails, Et as verifyChallengeMessage, Fn as RpcCancelExportParamSchema, Ft as verifyCommunityEdit, Gn as RpcFetchCidParamSchema, Gt as getCommunityPublicKeyFromWire, H as CommentClientsManager, Hn as RpcExportCommunityModLogsResultSchema, Ht as buildRuntimeCommunityFields, I as listCommunitiesSync, In as RpcCidParamSchema, It as verifyVote, Jn as RpcPublishChallengeAnswersParamSchema, Kn as RpcFetchCidResultSchema, Kt as normalizeCommunityInputFromCommunity, L as monitorCommunitiesDirectory, Ln as RpcCommentRepliesPageParamSchema, Lt as buildRuntimeAuthor, Mn as parseVotePubsubMessagePublicationSchemaWithPKCErrorIfItFails, Mt as verifyCommentPubsubMessage, N as getDefaultDataPath, Nn as RpcAnchorPublishPreparationResultSchema, Nt as verifyCommentUpdate, On as parseRpcCommentEventWithPKCErrorIfItFails, Ot as verifyChallengeVerification, Pn as RpcAuthorNameParamSchema, Q as parseRawPages, Qn as RpcSuccessResultSchema, Qt as getPKCAddressFromPublicKeySync, Rn as RpcCommunityIdentifierParamSchema, Rt as cleanWireAuthor, Sn as parseCreateVoteOptionsSchemaWithPKCErrorIfItFails, Tn as parseDecryptedChallengeWithPKCErrorIfItFails, Un as RpcExportCommunityParamSchema, Ut as getCommunityAddressFromRecord, V as tryToDeleteCommunitiesThatFailedToBeDeletedBefore, Vn as RpcExportCommunityModLogsParamSchema, Vt as normalizeCreatePublicationAuthor, Wn as RpcExportCommunityResultSchema, Wt as getCommunityNameFromWire, X as findCommentInPageInstanceRecursively, Xn as RpcResolveAuthorNameResultSchema, Y as extractCommunityRuntimeFieldsFromParsedPages, Yn as RpcPublishedAnchorRecordResultSchema, Yt as getBufferedPKCAddressFromPublicKey, Zn as RpcSubscriptionIdResultSchema, _ as createSigner, _n as parseCreateCommunityEditPublicationOptionsSchemaWithPKCErrorIfItFails, _t as signComment, an as parseCommentIpfsSchemaWithPKCErrorIfItFails, ar as t$3, at as PublicationClientsManager, bn as parseCreateRemoteCommunityFunctionArgumentSchemaWithPKCErrorIfItFails, c as LRUCache, cn as parseCommentPubsubMessagePublicationWithPKCErrorIfItFails, cr as t$2, d as KeyvBetterSqlite3, dt as require_lib$1, et as applyNameResolvedCacheToCrosspost, f as decodeRpcChallengeAnswerPubsubMsg, fn as parseCommunityEditPubsubMessagePublicationSchemaWithPKCErrorIfItFails, ft as cleanUpBeforePublishing, gn as parseCreateCommentOptionsSchemaWithPKCErrorIfItFails, h as decodeRpcChallengeVerificationPubsubMsg, hn as parseCreateCommentModerationOptionsSchemaWithPKCErrorIfItFails, ht as signChallengeRequest, in as parseCommentEditPubsubMessagePublicationSchemaWithPKCErrorIfItFails, it as stripNameResolvedFromCrosspost, jt as verifyCommentModeration, kn as parseRpcCommentUpdateEventWithPKCErrorIfItFails, kt as verifyCommentEdit, l as RemoteCommunity, ln as parseCommunityAddressWithPKCErrorIfItFails, lr as t$5, m as decodeRpcChallengeRequestPubsubMsg, mn as parseCreateCommentEditOptionsSchemaWithPKCErrorIfItFails, mr as require_undici, n as RpcRemoteCommunity, nr as t$4, nt as collectCrosspostAuthorsToResolve, o as pkcJsChallenges, or as n$3, ot as PKCClientsManager, p as decodeRpcChallengePubsubMsg, pr as nativeFunctions$2, pt as signChallengeAnswer, qn as RpcPublishAnchorRecordParamSchema, qt as decode, s as TrackedInstanceRegistry, sn as parseCommentModerationPubsubMessagePublicationSchemaWithPKCErrorIfItFails, st as InflightFetchManager, t as RpcLocalCommunity, tn as parseCidStringSchemaWithPKCErrorIfItFails, tt as cloneCrosspostForRuntime, ut as PKCTypedEmitter, v as createAnchorIpnsRecord$1, vt as signCommentEdit, wn as parseDecryptedChallengeVerification, wt as signVote, x as encryptEd25519AesGcm, xn as parseCreateRpcCommunityFunctionArgumentSchemaWithPKCErrorIfItFails, y as decryptEd25519AesGcm, yt as signCommentModeration, zn as RpcCommunityPageParamSchema, zt as getAuthorNameFromRuntime } from "./rpc-local-community-
|
|
4
|
-
import { o as getHeliaDebugContext } from "./util-
|
|
2
|
+
import { A as doesDomainAddressHaveCapitalLetter, At as listUpdatingCommunities, B as ipnsNameToIpnsOverPubsubTopic, Br as stringifyPrimitive, Bt as require_sha256, Cn as CommentIpfsSchema, Cr as messages, D as createAbortError, Dr as setErrorMap, Dt as findUpdatingCommunity, Et as findUpdatingComment, Ft as trackUpdatingComment, H as isIpfsCid, Ht as pTimeout, O as deepMergeRuntimeFields, On as CommentUpdateForChallengeVerificationSchema, Ot as listStartedCommunities, R as hideClassPrivateProps, Rr as joinValues, Rt as untrackUpdatingComment, Sr as PKCError, St as waitForUpdateInCommunityInstanceWithErrorAndTimeout, Tt as findStartedCommunity, V as isAbortError, Vt as TimeoutError, W as isIpns, _r as FailedToFetchCommentIpfsFromGatewaysError, _t as shortifyCid, a as ChallengeRequestMessageSchema, ar as t$1, at as rejectWhenCommunityStopsOrAborts, b as areEquivalentCommunityAddresses, bt as throwIfAbortSignalAborted, dt as replaceXWithY, et as isStringDomain, ft as resolveWhenPredicateIsTrue, gr as require_retry, gt as shortifyAddress, it as rejectWhenAbortSignalFires, jn as CommentUpdateSchema, jt as refreshTrackedCommentAliases, kt as listUpdatingComments, lr as r, mt as retryKuboIpfsAdd, nn as CommunityAnchorSchema, or as e, pn as PubsubTopicSchema, r as ChallengeMessageSchema, rr as n$1, s as ChallengeVerificationMessageSchema, sn as CommunityIpfsSchema, sr as e$1, t as ChallengeAnswerMessageSchema, tr as n$2, ut as removeUndefinedValuesRecursively, vt as sleepUntilTimeoutOrAbort, wr as logger_default, xt as timestamp, y as version_default, zr as parsedType } from "./schema-r1qeoNNd.js";
|
|
3
|
+
import { $ as RepliesPages, $n as RpcUnsubscribeParamSchema, An as parseSetNewSettingsPKCWsServerSchemaWithPKCErrorIfItFails, At as verifyCommentIpfs, B as setNativeFunctions$1, Bn as RpcEditCommunityParamSchema, Cn as parseDecryptedChallengeAnswerWithPKCErrorIfItFails, Ct as signCommunityEdit, D as createKuboRpcClient, Dn as parsePKCUserOptionsSchemaWithPKCErrorIfItFails, En as parseJsonWithPKCErrorIfFails, Et as verifyChallengeMessage, Fn as RpcCancelExportParamSchema, Ft as verifyCommunityEdit, Gn as RpcFetchCidParamSchema, Gt as getCommunityPublicKeyFromWire, H as CommentClientsManager, Hn as RpcExportCommunityModLogsResultSchema, Ht as buildRuntimeCommunityFields, I as listCommunitiesSync, In as RpcCidParamSchema, It as verifyVote, Jn as RpcPublishChallengeAnswersParamSchema, Kn as RpcFetchCidResultSchema, Kt as normalizeCommunityInputFromCommunity, L as monitorCommunitiesDirectory, Ln as RpcCommentRepliesPageParamSchema, Lt as buildRuntimeAuthor, Mn as parseVotePubsubMessagePublicationSchemaWithPKCErrorIfItFails, Mt as verifyCommentPubsubMessage, N as getDefaultDataPath, Nn as RpcAnchorPublishPreparationResultSchema, Nt as verifyCommentUpdate, On as parseRpcCommentEventWithPKCErrorIfItFails, Ot as verifyChallengeVerification, Pn as RpcAuthorNameParamSchema, Q as parseRawPages, Qn as RpcSuccessResultSchema, Qt as getPKCAddressFromPublicKeySync, Rn as RpcCommunityIdentifierParamSchema, Rt as cleanWireAuthor, Sn as parseCreateVoteOptionsSchemaWithPKCErrorIfItFails, Tn as parseDecryptedChallengeWithPKCErrorIfItFails, Un as RpcExportCommunityParamSchema, Ut as getCommunityAddressFromRecord, V as tryToDeleteCommunitiesThatFailedToBeDeletedBefore, Vn as RpcExportCommunityModLogsParamSchema, Vt as normalizeCreatePublicationAuthor, Wn as RpcExportCommunityResultSchema, Wt as getCommunityNameFromWire, X as findCommentInPageInstanceRecursively, Xn as RpcResolveAuthorNameResultSchema, Y as extractCommunityRuntimeFieldsFromParsedPages, Yn as RpcPublishedAnchorRecordResultSchema, Yt as getBufferedPKCAddressFromPublicKey, Zn as RpcSubscriptionIdResultSchema, _ as createSigner, _n as parseCreateCommunityEditPublicationOptionsSchemaWithPKCErrorIfItFails, _t as signComment, an as parseCommentIpfsSchemaWithPKCErrorIfItFails, ar as t$3, at as PublicationClientsManager, bn as parseCreateRemoteCommunityFunctionArgumentSchemaWithPKCErrorIfItFails, c as LRUCache, cn as parseCommentPubsubMessagePublicationWithPKCErrorIfItFails, cr as t$2, d as KeyvBetterSqlite3, dt as require_lib$1, et as applyNameResolvedCacheToCrosspost, f as decodeRpcChallengeAnswerPubsubMsg, fn as parseCommunityEditPubsubMessagePublicationSchemaWithPKCErrorIfItFails, ft as cleanUpBeforePublishing, gn as parseCreateCommentOptionsSchemaWithPKCErrorIfItFails, h as decodeRpcChallengeVerificationPubsubMsg, hn as parseCreateCommentModerationOptionsSchemaWithPKCErrorIfItFails, ht as signChallengeRequest, in as parseCommentEditPubsubMessagePublicationSchemaWithPKCErrorIfItFails, it as stripNameResolvedFromCrosspost, jt as verifyCommentModeration, kn as parseRpcCommentUpdateEventWithPKCErrorIfItFails, kt as verifyCommentEdit, l as RemoteCommunity, ln as parseCommunityAddressWithPKCErrorIfItFails, lr as t$5, m as decodeRpcChallengeRequestPubsubMsg, mn as parseCreateCommentEditOptionsSchemaWithPKCErrorIfItFails, mr as require_undici, n as RpcRemoteCommunity, nr as t$4, nt as collectCrosspostAuthorsToResolve, o as pkcJsChallenges, or as n$3, ot as PKCClientsManager, p as decodeRpcChallengePubsubMsg, pr as nativeFunctions$2, pt as signChallengeAnswer, qn as RpcPublishAnchorRecordParamSchema, qt as decode, s as TrackedInstanceRegistry, sn as parseCommentModerationPubsubMessagePublicationSchemaWithPKCErrorIfItFails, st as InflightFetchManager, t as RpcLocalCommunity, tn as parseCidStringSchemaWithPKCErrorIfItFails, tt as cloneCrosspostForRuntime, ut as PKCTypedEmitter, v as createAnchorIpnsRecord$1, vt as signCommentEdit, wn as parseDecryptedChallengeVerification, wt as signVote, x as encryptEd25519AesGcm, xn as parseCreateRpcCommunityFunctionArgumentSchemaWithPKCErrorIfItFails, y as decryptEd25519AesGcm, yt as signCommentModeration, zn as RpcCommunityPageParamSchema, zt as getAuthorNameFromRuntime } from "./rpc-local-community-1IZANITv.js";
|
|
4
|
+
import { o as getHeliaDebugContext } from "./util-Dng2qrAF.js";
|
|
5
5
|
import path from "path";
|
|
6
6
|
import assert from "assert";
|
|
7
7
|
import fs from "fs";
|
|
@@ -7025,7 +7025,7 @@ var PKC$1 = class extends PKCTypedEmitter {
|
|
|
7025
7025
|
this.clients.libp2pJsClients = {};
|
|
7026
7026
|
if (!this.libp2pJsClientsOptions) return;
|
|
7027
7027
|
if (!this.httpRoutersOptions) throw Error("httpRoutersOptions is required for libp2pJsClient");
|
|
7028
|
-
const { createLibp2pJsClientOrUseExistingOne } = await import("./helia-for-pkc-
|
|
7028
|
+
const { createLibp2pJsClientOrUseExistingOne } = await import("./helia-for-pkc-gnrYOd9S.js");
|
|
7029
7029
|
for (const clientOptions of this.libp2pJsClientsOptions) {
|
|
7030
7030
|
const heliaNode = await createLibp2pJsClientOrUseExistingOne({
|
|
7031
7031
|
...clientOptions,
|
|
@@ -7304,7 +7304,7 @@ var PKC$1 = class extends PKCTypedEmitter {
|
|
|
7304
7304
|
const log = logger_default("pkc-js:pkc:createLocalCommunity");
|
|
7305
7305
|
log.trace("Received community options to create a local community instance:", options);
|
|
7306
7306
|
if (!this._canCreateNewLocalCommunity()) throw new PKCError("ERR_CAN_NOT_CREATE_A_LOCAL_COMMUNITY", { pkcOptions: this._userPKCOptions });
|
|
7307
|
-
const { LocalCommunity, createNewLocalCommunityDb, updateInstancePropsWithStartedCommunityOrDb } = await import("./local-community-
|
|
7307
|
+
const { LocalCommunity, createNewLocalCommunityDb, updateInstancePropsWithStartedCommunityOrDb } = await import("./local-community-C-EhIxnP.js");
|
|
7308
7308
|
const isLocalCommunity = (await listCommunitiesSync(this)).includes(options.address);
|
|
7309
7309
|
const community = new LocalCommunity(this);
|
|
7310
7310
|
if (isLocalCommunity) {
|