@vibedeckx/linux-x64 0.3.36 → 0.3.37
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/bin.js +881 -723
- package/package.json +1 -1
package/dist/bin.js
CHANGED
|
@@ -5866,9 +5866,9 @@ var require_getMachineId_linux = __commonJS({
|
|
|
5866
5866
|
var api_1 = (init_esm(), __toCommonJS(esm_exports));
|
|
5867
5867
|
async function getMachineId() {
|
|
5868
5868
|
const paths = ["/etc/machine-id", "/var/lib/dbus/machine-id"];
|
|
5869
|
-
for (const
|
|
5869
|
+
for (const path26 of paths) {
|
|
5870
5870
|
try {
|
|
5871
|
-
const result = await fs_1.promises.readFile(
|
|
5871
|
+
const result = await fs_1.promises.readFile(path26, { encoding: "utf8" });
|
|
5872
5872
|
return result.trim();
|
|
5873
5873
|
} catch (e) {
|
|
5874
5874
|
api_1.diag.debug(`error reading machine id: ${e}`);
|
|
@@ -14426,19 +14426,19 @@ var require_module_details_from_path = __commonJS({
|
|
|
14426
14426
|
basedir += segments[i] + sep2;
|
|
14427
14427
|
}
|
|
14428
14428
|
}
|
|
14429
|
-
var
|
|
14429
|
+
var path26 = "";
|
|
14430
14430
|
var lastSegmentIndex = segments.length - 1;
|
|
14431
14431
|
for (var i2 = index + offset; i2 <= lastSegmentIndex; i2++) {
|
|
14432
14432
|
if (i2 === lastSegmentIndex) {
|
|
14433
|
-
|
|
14433
|
+
path26 += segments[i2];
|
|
14434
14434
|
} else {
|
|
14435
|
-
|
|
14435
|
+
path26 += segments[i2] + sep2;
|
|
14436
14436
|
}
|
|
14437
14437
|
}
|
|
14438
14438
|
return {
|
|
14439
14439
|
name: name25,
|
|
14440
14440
|
basedir,
|
|
14441
|
-
path:
|
|
14441
|
+
path: path26
|
|
14442
14442
|
};
|
|
14443
14443
|
};
|
|
14444
14444
|
}
|
|
@@ -14448,7 +14448,7 @@ var require_module_details_from_path = __commonJS({
|
|
|
14448
14448
|
var require_require_in_the_middle = __commonJS({
|
|
14449
14449
|
"../../node_modules/.pnpm/require-in-the-middle@8.0.1/node_modules/require-in-the-middle/index.js"(exports, module) {
|
|
14450
14450
|
"use strict";
|
|
14451
|
-
var
|
|
14451
|
+
var path26 = __require("path");
|
|
14452
14452
|
var Module = __require("module");
|
|
14453
14453
|
var debug = require_src9()("require-in-the-middle");
|
|
14454
14454
|
var moduleDetailsFromPath = require_module_details_from_path();
|
|
@@ -14593,18 +14593,18 @@ var require_require_in_the_middle = __commonJS({
|
|
|
14593
14593
|
}
|
|
14594
14594
|
moduleName = filename;
|
|
14595
14595
|
} else if (hasWhitelist === true && modules.includes(filename)) {
|
|
14596
|
-
const parsedPath =
|
|
14596
|
+
const parsedPath = path26.parse(filename);
|
|
14597
14597
|
moduleName = parsedPath.name;
|
|
14598
14598
|
basedir = parsedPath.dir;
|
|
14599
14599
|
} else {
|
|
14600
|
-
const
|
|
14601
|
-
if (
|
|
14600
|
+
const stat3 = moduleDetailsFromPath(filename);
|
|
14601
|
+
if (stat3 === void 0) {
|
|
14602
14602
|
debug("could not parse filename: %s", filename);
|
|
14603
14603
|
return exports2;
|
|
14604
14604
|
}
|
|
14605
|
-
moduleName =
|
|
14606
|
-
basedir =
|
|
14607
|
-
const fullModuleName = resolveModuleName(
|
|
14605
|
+
moduleName = stat3.name;
|
|
14606
|
+
basedir = stat3.basedir;
|
|
14607
|
+
const fullModuleName = resolveModuleName(stat3);
|
|
14608
14608
|
debug("resolved filename to module: %s (id: %s, resolved: %s, basedir: %s)", moduleName, id, fullModuleName, basedir);
|
|
14609
14609
|
let matchFound = false;
|
|
14610
14610
|
if (hasWhitelist) {
|
|
@@ -14631,7 +14631,7 @@ var require_require_in_the_middle = __commonJS({
|
|
|
14631
14631
|
}
|
|
14632
14632
|
if (res !== filename) {
|
|
14633
14633
|
if (internals === true) {
|
|
14634
|
-
moduleName = moduleName +
|
|
14634
|
+
moduleName = moduleName + path26.sep + path26.relative(basedir, filename);
|
|
14635
14635
|
debug("preparing to process require of internal file: %s", moduleName);
|
|
14636
14636
|
} else {
|
|
14637
14637
|
debug("ignoring require of non-main module file: %s", res);
|
|
@@ -14666,9 +14666,9 @@ var require_require_in_the_middle = __commonJS({
|
|
|
14666
14666
|
}
|
|
14667
14667
|
}
|
|
14668
14668
|
};
|
|
14669
|
-
function resolveModuleName(
|
|
14670
|
-
const normalizedPath =
|
|
14671
|
-
return
|
|
14669
|
+
function resolveModuleName(stat3) {
|
|
14670
|
+
const normalizedPath = path26.sep !== "/" ? stat3.path.split(path26.sep).join("/") : stat3.path;
|
|
14671
|
+
return path26.posix.join(stat3.name, normalizedPath).replace(normalize, "");
|
|
14672
14672
|
}
|
|
14673
14673
|
}
|
|
14674
14674
|
});
|
|
@@ -14753,7 +14753,7 @@ var require_RequireInTheMiddleSingleton = __commonJS({
|
|
|
14753
14753
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14754
14754
|
exports.RequireInTheMiddleSingleton = void 0;
|
|
14755
14755
|
var require_in_the_middle_1 = require_require_in_the_middle();
|
|
14756
|
-
var
|
|
14756
|
+
var path26 = __require("path");
|
|
14757
14757
|
var ModuleNameTrie_1 = require_ModuleNameTrie();
|
|
14758
14758
|
var isMocha = [
|
|
14759
14759
|
"afterEach",
|
|
@@ -14817,7 +14817,7 @@ var require_RequireInTheMiddleSingleton = __commonJS({
|
|
|
14817
14817
|
};
|
|
14818
14818
|
exports.RequireInTheMiddleSingleton = RequireInTheMiddleSingleton;
|
|
14819
14819
|
function normalizePathSeparators(moduleNameOrPath) {
|
|
14820
|
-
return
|
|
14820
|
+
return path26.sep !== ModuleNameTrie_1.ModuleNameSeparator ? moduleNameOrPath.split(path26.sep).join(ModuleNameTrie_1.ModuleNameSeparator) : moduleNameOrPath;
|
|
14821
14821
|
}
|
|
14822
14822
|
}
|
|
14823
14823
|
});
|
|
@@ -14878,7 +14878,7 @@ var require_register = __commonJS({
|
|
|
14878
14878
|
// ../../node_modules/.pnpm/import-in-the-middle@3.0.1/node_modules/import-in-the-middle/index.js
|
|
14879
14879
|
var require_import_in_the_middle = __commonJS({
|
|
14880
14880
|
"../../node_modules/.pnpm/import-in-the-middle@3.0.1/node_modules/import-in-the-middle/index.js"(exports, module) {
|
|
14881
|
-
var
|
|
14881
|
+
var path26 = __require("path");
|
|
14882
14882
|
var moduleDetailsFromPath = require_module_details_from_path();
|
|
14883
14883
|
var { fileURLToPath: fileURLToPath4 } = __require("url");
|
|
14884
14884
|
var { MessageChannel } = __require("worker_threads");
|
|
@@ -14997,7 +14997,7 @@ var require_import_in_the_middle = __commonJS({
|
|
|
14997
14997
|
} else if (baseDir.endsWith(specifiers.get(loadUrl)) || isTurbopackSpecifier(specifiers.get(loadUrl), baseDir)) {
|
|
14998
14998
|
callHookFn(hookFn, namespace, name25, baseDir);
|
|
14999
14999
|
} else if (internals) {
|
|
15000
|
-
const internalPath = name25 +
|
|
15000
|
+
const internalPath = name25 + path26.sep + path26.relative(baseDir, filePath);
|
|
15001
15001
|
callHookFn(hookFn, namespace, internalPath, baseDir);
|
|
15002
15002
|
}
|
|
15003
15003
|
} else if (matchArg === specifier) {
|
|
@@ -15072,7 +15072,7 @@ var require_instrumentation2 = __commonJS({
|
|
|
15072
15072
|
"use strict";
|
|
15073
15073
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15074
15074
|
exports.InstrumentationBase = void 0;
|
|
15075
|
-
var
|
|
15075
|
+
var path26 = __require("path");
|
|
15076
15076
|
var util_1 = __require("util");
|
|
15077
15077
|
var semver_1 = require_semver();
|
|
15078
15078
|
var shimmer_1 = require_shimmer();
|
|
@@ -15173,7 +15173,7 @@ var require_instrumentation2 = __commonJS({
|
|
|
15173
15173
|
}
|
|
15174
15174
|
_extractPackageVersion(baseDir) {
|
|
15175
15175
|
try {
|
|
15176
|
-
const json3 = (0, fs_1.readFileSync)(
|
|
15176
|
+
const json3 = (0, fs_1.readFileSync)(path26.join(baseDir, "package.json"), {
|
|
15177
15177
|
encoding: "utf8"
|
|
15178
15178
|
});
|
|
15179
15179
|
const version2 = JSON.parse(json3).version;
|
|
@@ -15215,7 +15215,7 @@ var require_instrumentation2 = __commonJS({
|
|
|
15215
15215
|
return exports2;
|
|
15216
15216
|
}
|
|
15217
15217
|
const files = module2.files ?? [];
|
|
15218
|
-
const normalizedName =
|
|
15218
|
+
const normalizedName = path26.normalize(name25);
|
|
15219
15219
|
const supportedFileInstrumentations = files.filter((f2) => f2.name === normalizedName && isSupported(f2.supportedVersions, version2, module2.includePrerelease));
|
|
15220
15220
|
return supportedFileInstrumentations.reduce((patchedExports, file2) => {
|
|
15221
15221
|
file2.moduleExports = patchedExports;
|
|
@@ -15261,8 +15261,8 @@ var require_instrumentation2 = __commonJS({
|
|
|
15261
15261
|
this._warnOnPreloadedModules();
|
|
15262
15262
|
for (const module2 of this._modules) {
|
|
15263
15263
|
const hookFn = (exports2, name25, baseDir) => {
|
|
15264
|
-
if (!baseDir &&
|
|
15265
|
-
const parsedPath =
|
|
15264
|
+
if (!baseDir && path26.isAbsolute(name25)) {
|
|
15265
|
+
const parsedPath = path26.parse(name25);
|
|
15266
15266
|
name25 = parsedPath.name;
|
|
15267
15267
|
baseDir = parsedPath.dir;
|
|
15268
15268
|
}
|
|
@@ -15271,7 +15271,7 @@ var require_instrumentation2 = __commonJS({
|
|
|
15271
15271
|
const onRequire = (exports2, name25, baseDir) => {
|
|
15272
15272
|
return this._onRequire(module2, exports2, name25, baseDir);
|
|
15273
15273
|
};
|
|
15274
|
-
const hook =
|
|
15274
|
+
const hook = path26.isAbsolute(module2.name) ? new require_in_the_middle_1.Hook([module2.name], { internals: true }, onRequire) : this._requireInTheMiddleSingleton.register(module2.name, onRequire);
|
|
15275
15275
|
this._hooks.push(hook);
|
|
15276
15276
|
const esmHook = new import_in_the_middle_1.Hook([module2.name], { internals: true }, hookFn);
|
|
15277
15277
|
this._hooks.push(esmHook);
|
|
@@ -25905,7 +25905,7 @@ function appendRootPathToUrlIfNeeded(url2) {
|
|
|
25905
25905
|
return void 0;
|
|
25906
25906
|
}
|
|
25907
25907
|
}
|
|
25908
|
-
function appendResourcePathToUrl(url2,
|
|
25908
|
+
function appendResourcePathToUrl(url2, path26) {
|
|
25909
25909
|
try {
|
|
25910
25910
|
new URL(url2);
|
|
25911
25911
|
} catch {
|
|
@@ -25915,11 +25915,11 @@ function appendResourcePathToUrl(url2, path24) {
|
|
|
25915
25915
|
if (!url2.endsWith("/")) {
|
|
25916
25916
|
url2 = url2 + "/";
|
|
25917
25917
|
}
|
|
25918
|
-
url2 +=
|
|
25918
|
+
url2 += path26;
|
|
25919
25919
|
try {
|
|
25920
25920
|
new URL(url2);
|
|
25921
25921
|
} catch {
|
|
25922
|
-
diag2.warn(`Configuration: Provided URL appended with '${
|
|
25922
|
+
diag2.warn(`Configuration: Provided URL appended with '${path26}' is not a valid URL, using 'undefined' instead of '${url2}'`);
|
|
25923
25923
|
return void 0;
|
|
25924
25924
|
}
|
|
25925
25925
|
return url2;
|
|
@@ -26812,19 +26812,19 @@ var require_uri_parser = __commonJS({
|
|
|
26812
26812
|
};
|
|
26813
26813
|
}
|
|
26814
26814
|
var NUMBER_REGEX = /^\d+$/;
|
|
26815
|
-
function splitHostPort(
|
|
26816
|
-
if (
|
|
26817
|
-
const hostEnd =
|
|
26815
|
+
function splitHostPort(path26) {
|
|
26816
|
+
if (path26.startsWith("[")) {
|
|
26817
|
+
const hostEnd = path26.indexOf("]");
|
|
26818
26818
|
if (hostEnd === -1) {
|
|
26819
26819
|
return null;
|
|
26820
26820
|
}
|
|
26821
|
-
const host =
|
|
26821
|
+
const host = path26.substring(1, hostEnd);
|
|
26822
26822
|
if (host.indexOf(":") === -1) {
|
|
26823
26823
|
return null;
|
|
26824
26824
|
}
|
|
26825
|
-
if (
|
|
26826
|
-
if (
|
|
26827
|
-
const portString =
|
|
26825
|
+
if (path26.length > hostEnd + 1) {
|
|
26826
|
+
if (path26[hostEnd + 1] === ":") {
|
|
26827
|
+
const portString = path26.substring(hostEnd + 2);
|
|
26828
26828
|
if (NUMBER_REGEX.test(portString)) {
|
|
26829
26829
|
return {
|
|
26830
26830
|
host,
|
|
@@ -26842,7 +26842,7 @@ var require_uri_parser = __commonJS({
|
|
|
26842
26842
|
};
|
|
26843
26843
|
}
|
|
26844
26844
|
} else {
|
|
26845
|
-
const splitPath =
|
|
26845
|
+
const splitPath = path26.split(":");
|
|
26846
26846
|
if (splitPath.length === 2) {
|
|
26847
26847
|
if (NUMBER_REGEX.test(splitPath[1])) {
|
|
26848
26848
|
return {
|
|
@@ -26854,7 +26854,7 @@ var require_uri_parser = __commonJS({
|
|
|
26854
26854
|
}
|
|
26855
26855
|
} else {
|
|
26856
26856
|
return {
|
|
26857
|
-
host:
|
|
26857
|
+
host: path26
|
|
26858
26858
|
};
|
|
26859
26859
|
}
|
|
26860
26860
|
}
|
|
@@ -29854,14 +29854,14 @@ var require_client_interceptors = __commonJS({
|
|
|
29854
29854
|
}
|
|
29855
29855
|
};
|
|
29856
29856
|
exports.InterceptingCall = InterceptingCall;
|
|
29857
|
-
function getCall(channel,
|
|
29857
|
+
function getCall(channel, path26, options) {
|
|
29858
29858
|
var _a26, _b18;
|
|
29859
29859
|
const deadline = (_a26 = options.deadline) !== null && _a26 !== void 0 ? _a26 : Infinity;
|
|
29860
29860
|
const host = options.host;
|
|
29861
29861
|
const parent = (_b18 = options.parent) !== null && _b18 !== void 0 ? _b18 : null;
|
|
29862
29862
|
const propagateFlags = options.propagate_flags;
|
|
29863
29863
|
const credentials = options.credentials;
|
|
29864
|
-
const call = channel.createCall(
|
|
29864
|
+
const call = channel.createCall(path26, deadline, host, parent, propagateFlags);
|
|
29865
29865
|
if (credentials) {
|
|
29866
29866
|
call.setCredentials(credentials);
|
|
29867
29867
|
}
|
|
@@ -30431,9 +30431,9 @@ var require_make_client = __commonJS({
|
|
|
30431
30431
|
ServiceClientImpl.serviceName = serviceName;
|
|
30432
30432
|
return ServiceClientImpl;
|
|
30433
30433
|
}
|
|
30434
|
-
function partial2(fn,
|
|
30434
|
+
function partial2(fn, path26, serialize, deserialize2) {
|
|
30435
30435
|
return function(...args) {
|
|
30436
|
-
return fn.call(this,
|
|
30436
|
+
return fn.call(this, path26, serialize, deserialize2, ...args);
|
|
30437
30437
|
};
|
|
30438
30438
|
}
|
|
30439
30439
|
function isProtobufTypeDefinition(obj) {
|
|
@@ -31865,15 +31865,15 @@ var require_fetch = __commonJS({
|
|
|
31865
31865
|
var require_path = __commonJS({
|
|
31866
31866
|
"../../node_modules/.pnpm/@protobufjs+path@1.1.2/node_modules/@protobufjs/path/index.js"(exports) {
|
|
31867
31867
|
"use strict";
|
|
31868
|
-
var
|
|
31868
|
+
var path26 = exports;
|
|
31869
31869
|
var isAbsolute = (
|
|
31870
31870
|
/**
|
|
31871
31871
|
* Tests if the specified path is absolute.
|
|
31872
31872
|
* @param {string} path Path to test
|
|
31873
31873
|
* @returns {boolean} `true` if path is absolute
|
|
31874
31874
|
*/
|
|
31875
|
-
|
|
31876
|
-
return /^(?:\/|\w+:)/.test(
|
|
31875
|
+
path26.isAbsolute = function isAbsolute2(path27) {
|
|
31876
|
+
return /^(?:\/|\w+:)/.test(path27);
|
|
31877
31877
|
}
|
|
31878
31878
|
);
|
|
31879
31879
|
var normalize = (
|
|
@@ -31882,9 +31882,9 @@ var require_path = __commonJS({
|
|
|
31882
31882
|
* @param {string} path Path to normalize
|
|
31883
31883
|
* @returns {string} Normalized path
|
|
31884
31884
|
*/
|
|
31885
|
-
|
|
31886
|
-
|
|
31887
|
-
var parts =
|
|
31885
|
+
path26.normalize = function normalize2(path27) {
|
|
31886
|
+
path27 = path27.replace(/\\/g, "/").replace(/\/{2,}/g, "/");
|
|
31887
|
+
var parts = path27.split("/"), absolute = isAbsolute(path27), prefix = "";
|
|
31888
31888
|
if (absolute)
|
|
31889
31889
|
prefix = parts.shift() + "/";
|
|
31890
31890
|
for (var i = 0; i < parts.length; ) {
|
|
@@ -31903,7 +31903,7 @@ var require_path = __commonJS({
|
|
|
31903
31903
|
return prefix + parts.join("/");
|
|
31904
31904
|
}
|
|
31905
31905
|
);
|
|
31906
|
-
|
|
31906
|
+
path26.resolve = function resolve3(originPath, includePath, alreadyNormalized) {
|
|
31907
31907
|
if (!alreadyNormalized)
|
|
31908
31908
|
includePath = normalize(includePath);
|
|
31909
31909
|
if (isAbsolute(includePath))
|
|
@@ -32068,16 +32068,16 @@ var require_namespace = __commonJS({
|
|
|
32068
32068
|
object4.onRemove(this);
|
|
32069
32069
|
return clearCache(this);
|
|
32070
32070
|
};
|
|
32071
|
-
Namespace.prototype.define = function define2(
|
|
32072
|
-
if (util2.isString(
|
|
32073
|
-
|
|
32074
|
-
else if (!Array.isArray(
|
|
32071
|
+
Namespace.prototype.define = function define2(path26, json3) {
|
|
32072
|
+
if (util2.isString(path26))
|
|
32073
|
+
path26 = path26.split(".");
|
|
32074
|
+
else if (!Array.isArray(path26))
|
|
32075
32075
|
throw TypeError("illegal path");
|
|
32076
|
-
if (
|
|
32076
|
+
if (path26 && path26.length && path26[0] === "")
|
|
32077
32077
|
throw Error("path must be relative");
|
|
32078
32078
|
var ptr = this;
|
|
32079
|
-
while (
|
|
32080
|
-
var part =
|
|
32079
|
+
while (path26.length > 0) {
|
|
32080
|
+
var part = path26.shift();
|
|
32081
32081
|
if (ptr.nested && ptr.nested[part]) {
|
|
32082
32082
|
ptr = ptr.nested[part];
|
|
32083
32083
|
if (!(ptr instanceof Namespace))
|
|
@@ -32112,26 +32112,26 @@ var require_namespace = __commonJS({
|
|
|
32112
32112
|
});
|
|
32113
32113
|
return this;
|
|
32114
32114
|
};
|
|
32115
|
-
Namespace.prototype.lookup = function lookup(
|
|
32115
|
+
Namespace.prototype.lookup = function lookup(path26, filterTypes, parentAlreadyChecked) {
|
|
32116
32116
|
if (typeof filterTypes === "boolean") {
|
|
32117
32117
|
parentAlreadyChecked = filterTypes;
|
|
32118
32118
|
filterTypes = void 0;
|
|
32119
32119
|
} else if (filterTypes && !Array.isArray(filterTypes))
|
|
32120
32120
|
filterTypes = [filterTypes];
|
|
32121
|
-
if (util2.isString(
|
|
32122
|
-
if (
|
|
32121
|
+
if (util2.isString(path26) && path26.length) {
|
|
32122
|
+
if (path26 === ".")
|
|
32123
32123
|
return this.root;
|
|
32124
|
-
|
|
32125
|
-
} else if (!
|
|
32124
|
+
path26 = path26.split(".");
|
|
32125
|
+
} else if (!path26.length)
|
|
32126
32126
|
return this;
|
|
32127
|
-
var flatPath =
|
|
32128
|
-
if (
|
|
32129
|
-
return this.root.lookup(
|
|
32127
|
+
var flatPath = path26.join(".");
|
|
32128
|
+
if (path26[0] === "")
|
|
32129
|
+
return this.root.lookup(path26.slice(1), filterTypes);
|
|
32130
32130
|
var found = this.root._fullyQualifiedObjects && this.root._fullyQualifiedObjects["." + flatPath];
|
|
32131
32131
|
if (found && (!filterTypes || filterTypes.indexOf(found.constructor) > -1)) {
|
|
32132
32132
|
return found;
|
|
32133
32133
|
}
|
|
32134
|
-
found = this._lookupImpl(
|
|
32134
|
+
found = this._lookupImpl(path26, flatPath);
|
|
32135
32135
|
if (found && (!filterTypes || filterTypes.indexOf(found.constructor) > -1)) {
|
|
32136
32136
|
return found;
|
|
32137
32137
|
}
|
|
@@ -32139,7 +32139,7 @@ var require_namespace = __commonJS({
|
|
|
32139
32139
|
return null;
|
|
32140
32140
|
var current = this;
|
|
32141
32141
|
while (current.parent) {
|
|
32142
|
-
found = current.parent._lookupImpl(
|
|
32142
|
+
found = current.parent._lookupImpl(path26, flatPath);
|
|
32143
32143
|
if (found && (!filterTypes || filterTypes.indexOf(found.constructor) > -1)) {
|
|
32144
32144
|
return found;
|
|
32145
32145
|
}
|
|
@@ -32147,49 +32147,49 @@ var require_namespace = __commonJS({
|
|
|
32147
32147
|
}
|
|
32148
32148
|
return null;
|
|
32149
32149
|
};
|
|
32150
|
-
Namespace.prototype._lookupImpl = function lookup(
|
|
32150
|
+
Namespace.prototype._lookupImpl = function lookup(path26, flatPath) {
|
|
32151
32151
|
if (Object.prototype.hasOwnProperty.call(this._lookupCache, flatPath)) {
|
|
32152
32152
|
return this._lookupCache[flatPath];
|
|
32153
32153
|
}
|
|
32154
|
-
var found = this.get(
|
|
32154
|
+
var found = this.get(path26[0]);
|
|
32155
32155
|
var exact = null;
|
|
32156
32156
|
if (found) {
|
|
32157
|
-
if (
|
|
32157
|
+
if (path26.length === 1) {
|
|
32158
32158
|
exact = found;
|
|
32159
32159
|
} else if (found instanceof Namespace) {
|
|
32160
|
-
|
|
32161
|
-
exact = found._lookupImpl(
|
|
32160
|
+
path26 = path26.slice(1);
|
|
32161
|
+
exact = found._lookupImpl(path26, path26.join("."));
|
|
32162
32162
|
}
|
|
32163
32163
|
} else {
|
|
32164
32164
|
for (var i = 0; i < this.nestedArray.length; ++i)
|
|
32165
|
-
if (this._nestedArray[i] instanceof Namespace && (found = this._nestedArray[i]._lookupImpl(
|
|
32165
|
+
if (this._nestedArray[i] instanceof Namespace && (found = this._nestedArray[i]._lookupImpl(path26, flatPath)))
|
|
32166
32166
|
exact = found;
|
|
32167
32167
|
}
|
|
32168
32168
|
this._lookupCache[flatPath] = exact;
|
|
32169
32169
|
return exact;
|
|
32170
32170
|
};
|
|
32171
|
-
Namespace.prototype.lookupType = function lookupType(
|
|
32172
|
-
var found = this.lookup(
|
|
32171
|
+
Namespace.prototype.lookupType = function lookupType(path26) {
|
|
32172
|
+
var found = this.lookup(path26, [Type]);
|
|
32173
32173
|
if (!found)
|
|
32174
|
-
throw Error("no such type: " +
|
|
32174
|
+
throw Error("no such type: " + path26);
|
|
32175
32175
|
return found;
|
|
32176
32176
|
};
|
|
32177
|
-
Namespace.prototype.lookupEnum = function lookupEnum(
|
|
32178
|
-
var found = this.lookup(
|
|
32177
|
+
Namespace.prototype.lookupEnum = function lookupEnum(path26) {
|
|
32178
|
+
var found = this.lookup(path26, [Enum]);
|
|
32179
32179
|
if (!found)
|
|
32180
|
-
throw Error("no such Enum '" +
|
|
32180
|
+
throw Error("no such Enum '" + path26 + "' in " + this);
|
|
32181
32181
|
return found;
|
|
32182
32182
|
};
|
|
32183
|
-
Namespace.prototype.lookupTypeOrEnum = function lookupTypeOrEnum(
|
|
32184
|
-
var found = this.lookup(
|
|
32183
|
+
Namespace.prototype.lookupTypeOrEnum = function lookupTypeOrEnum(path26) {
|
|
32184
|
+
var found = this.lookup(path26, [Type, Enum]);
|
|
32185
32185
|
if (!found)
|
|
32186
|
-
throw Error("no such Type or Enum '" +
|
|
32186
|
+
throw Error("no such Type or Enum '" + path26 + "' in " + this);
|
|
32187
32187
|
return found;
|
|
32188
32188
|
};
|
|
32189
|
-
Namespace.prototype.lookupService = function lookupService(
|
|
32190
|
-
var found = this.lookup(
|
|
32189
|
+
Namespace.prototype.lookupService = function lookupService(path26) {
|
|
32190
|
+
var found = this.lookup(path26, [Service]);
|
|
32191
32191
|
if (!found)
|
|
32192
|
-
throw Error("no such Service '" +
|
|
32192
|
+
throw Error("no such Service '" + path26 + "' in " + this);
|
|
32193
32193
|
return found;
|
|
32194
32194
|
};
|
|
32195
32195
|
Namespace._configure = function(Type_, Service_, Enum_) {
|
|
@@ -33577,13 +33577,13 @@ var require_util2 = __commonJS({
|
|
|
33577
33577
|
Object.defineProperty(object4, "$type", { value: enm, enumerable: false });
|
|
33578
33578
|
return enm;
|
|
33579
33579
|
};
|
|
33580
|
-
util2.setProperty = function setProperty(dst,
|
|
33581
|
-
function setProp(dst2,
|
|
33582
|
-
var part =
|
|
33580
|
+
util2.setProperty = function setProperty(dst, path26, value, ifNotSet) {
|
|
33581
|
+
function setProp(dst2, path27, value2) {
|
|
33582
|
+
var part = path27.shift();
|
|
33583
33583
|
if (unsafePropertyRe.test(part))
|
|
33584
33584
|
return dst2;
|
|
33585
|
-
if (
|
|
33586
|
-
dst2[part] = setProp(dst2[part] || {},
|
|
33585
|
+
if (path27.length > 0) {
|
|
33586
|
+
dst2[part] = setProp(dst2[part] || {}, path27, value2);
|
|
33587
33587
|
} else {
|
|
33588
33588
|
var prevValue = dst2[part];
|
|
33589
33589
|
if (prevValue && ifNotSet)
|
|
@@ -33596,10 +33596,10 @@ var require_util2 = __commonJS({
|
|
|
33596
33596
|
}
|
|
33597
33597
|
if (typeof dst !== "object")
|
|
33598
33598
|
throw TypeError("dst must be an object");
|
|
33599
|
-
if (!
|
|
33599
|
+
if (!path26)
|
|
33600
33600
|
throw TypeError("path must be specified");
|
|
33601
|
-
|
|
33602
|
-
return setProp(dst,
|
|
33601
|
+
path26 = path26.split(".");
|
|
33602
|
+
return setProp(dst, path26, value);
|
|
33603
33603
|
};
|
|
33604
33604
|
Object.defineProperty(util2, "decorateRoot", {
|
|
33605
33605
|
get: function() {
|
|
@@ -34145,12 +34145,12 @@ var require_object = __commonJS({
|
|
|
34145
34145
|
*/
|
|
34146
34146
|
fullName: {
|
|
34147
34147
|
get: function() {
|
|
34148
|
-
var
|
|
34148
|
+
var path26 = [this.name], ptr = this.parent;
|
|
34149
34149
|
while (ptr) {
|
|
34150
|
-
|
|
34150
|
+
path26.unshift(ptr.name);
|
|
34151
34151
|
ptr = ptr.parent;
|
|
34152
34152
|
}
|
|
34153
|
-
return
|
|
34153
|
+
return path26.join(".");
|
|
34154
34154
|
}
|
|
34155
34155
|
}
|
|
34156
34156
|
});
|
|
@@ -38162,16 +38162,16 @@ var require_util3 = __commonJS({
|
|
|
38162
38162
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38163
38163
|
exports.addCommonProtos = exports.loadProtosWithOptionsSync = exports.loadProtosWithOptions = void 0;
|
|
38164
38164
|
var fs15 = __require("fs");
|
|
38165
|
-
var
|
|
38165
|
+
var path26 = __require("path");
|
|
38166
38166
|
var Protobuf = require_protobufjs();
|
|
38167
38167
|
function addIncludePathResolver(root, includePaths) {
|
|
38168
38168
|
const originalResolvePath = root.resolvePath;
|
|
38169
38169
|
root.resolvePath = (origin, target) => {
|
|
38170
|
-
if (
|
|
38170
|
+
if (path26.isAbsolute(target)) {
|
|
38171
38171
|
return target;
|
|
38172
38172
|
}
|
|
38173
38173
|
for (const directory of includePaths) {
|
|
38174
|
-
const fullPath =
|
|
38174
|
+
const fullPath = path26.join(directory, target);
|
|
38175
38175
|
try {
|
|
38176
38176
|
fs15.accessSync(fullPath, fs15.constants.R_OK);
|
|
38177
38177
|
return fullPath;
|
|
@@ -44494,9 +44494,9 @@ var require_server_call = __commonJS({
|
|
|
44494
44494
|
return status;
|
|
44495
44495
|
}
|
|
44496
44496
|
var ServerUnaryCallImpl = class extends events_1.EventEmitter {
|
|
44497
|
-
constructor(
|
|
44497
|
+
constructor(path26, call, metadata, request) {
|
|
44498
44498
|
super();
|
|
44499
|
-
this.path =
|
|
44499
|
+
this.path = path26;
|
|
44500
44500
|
this.call = call;
|
|
44501
44501
|
this.metadata = metadata;
|
|
44502
44502
|
this.request = request;
|
|
@@ -44526,9 +44526,9 @@ var require_server_call = __commonJS({
|
|
|
44526
44526
|
};
|
|
44527
44527
|
exports.ServerUnaryCallImpl = ServerUnaryCallImpl;
|
|
44528
44528
|
var ServerReadableStreamImpl = class extends stream_1.Readable {
|
|
44529
|
-
constructor(
|
|
44529
|
+
constructor(path26, call, metadata) {
|
|
44530
44530
|
super({ objectMode: true });
|
|
44531
|
-
this.path =
|
|
44531
|
+
this.path = path26;
|
|
44532
44532
|
this.call = call;
|
|
44533
44533
|
this.metadata = metadata;
|
|
44534
44534
|
this.cancelled = false;
|
|
@@ -44560,9 +44560,9 @@ var require_server_call = __commonJS({
|
|
|
44560
44560
|
};
|
|
44561
44561
|
exports.ServerReadableStreamImpl = ServerReadableStreamImpl;
|
|
44562
44562
|
var ServerWritableStreamImpl = class extends stream_1.Writable {
|
|
44563
|
-
constructor(
|
|
44563
|
+
constructor(path26, call, metadata, request) {
|
|
44564
44564
|
super({ objectMode: true });
|
|
44565
|
-
this.path =
|
|
44565
|
+
this.path = path26;
|
|
44566
44566
|
this.call = call;
|
|
44567
44567
|
this.metadata = metadata;
|
|
44568
44568
|
this.request = request;
|
|
@@ -44616,9 +44616,9 @@ var require_server_call = __commonJS({
|
|
|
44616
44616
|
};
|
|
44617
44617
|
exports.ServerWritableStreamImpl = ServerWritableStreamImpl;
|
|
44618
44618
|
var ServerDuplexStreamImpl = class extends stream_1.Duplex {
|
|
44619
|
-
constructor(
|
|
44619
|
+
constructor(path26, call, metadata) {
|
|
44620
44620
|
super({ objectMode: true });
|
|
44621
|
-
this.path =
|
|
44621
|
+
this.path = path26;
|
|
44622
44622
|
this.call = call;
|
|
44623
44623
|
this.metadata = metadata;
|
|
44624
44624
|
this.pendingStatus = {
|
|
@@ -46894,11 +46894,11 @@ var require_server = __commonJS({
|
|
|
46894
46894
|
}
|
|
46895
46895
|
return true;
|
|
46896
46896
|
}
|
|
46897
|
-
_retrieveHandler(
|
|
46898
|
-
serverCallTrace("Received call to method " +
|
|
46899
|
-
const handler = this.handlers.get(
|
|
46897
|
+
_retrieveHandler(path26) {
|
|
46898
|
+
serverCallTrace("Received call to method " + path26 + " at address " + this.serverAddressString);
|
|
46899
|
+
const handler = this.handlers.get(path26);
|
|
46900
46900
|
if (handler === void 0) {
|
|
46901
|
-
serverCallTrace("No handler registered for method " +
|
|
46901
|
+
serverCallTrace("No handler registered for method " + path26 + ". Sending UNIMPLEMENTED status.");
|
|
46902
46902
|
return null;
|
|
46903
46903
|
}
|
|
46904
46904
|
return handler;
|
|
@@ -46920,10 +46920,10 @@ var require_server = __commonJS({
|
|
|
46920
46920
|
channelzSessionInfo === null || channelzSessionInfo === void 0 ? void 0 : channelzSessionInfo.streamTracker.addCallFailed();
|
|
46921
46921
|
return;
|
|
46922
46922
|
}
|
|
46923
|
-
const
|
|
46924
|
-
const handler = this._retrieveHandler(
|
|
46923
|
+
const path26 = headers[HTTP2_HEADER_PATH];
|
|
46924
|
+
const handler = this._retrieveHandler(path26);
|
|
46925
46925
|
if (!handler) {
|
|
46926
|
-
this._respondWithError(getUnimplementedStatusResponse(
|
|
46926
|
+
this._respondWithError(getUnimplementedStatusResponse(path26), stream, channelzSessionInfo);
|
|
46927
46927
|
return;
|
|
46928
46928
|
}
|
|
46929
46929
|
const callEventTracker = {
|
|
@@ -46971,10 +46971,10 @@ var require_server = __commonJS({
|
|
|
46971
46971
|
if (this._verifyContentType(stream, headers) !== true) {
|
|
46972
46972
|
return;
|
|
46973
46973
|
}
|
|
46974
|
-
const
|
|
46975
|
-
const handler = this._retrieveHandler(
|
|
46974
|
+
const path26 = headers[HTTP2_HEADER_PATH];
|
|
46975
|
+
const handler = this._retrieveHandler(path26);
|
|
46976
46976
|
if (!handler) {
|
|
46977
|
-
this._respondWithError(getUnimplementedStatusResponse(
|
|
46977
|
+
this._respondWithError(getUnimplementedStatusResponse(path26), stream, null);
|
|
46978
46978
|
return;
|
|
46979
46979
|
}
|
|
46980
46980
|
const call = (0, server_interceptors_1.getServerInterceptingCall)([...extraInterceptors, ...this.interceptors], stream, headers, null, handler, this.options);
|
|
@@ -48258,13 +48258,13 @@ var require_resolver_uds = __commonJS({
|
|
|
48258
48258
|
this.listener = listener;
|
|
48259
48259
|
this.hasReturnedResult = false;
|
|
48260
48260
|
this.endpoints = [];
|
|
48261
|
-
let
|
|
48261
|
+
let path26;
|
|
48262
48262
|
if (target.authority === "") {
|
|
48263
|
-
|
|
48263
|
+
path26 = "/" + target.path;
|
|
48264
48264
|
} else {
|
|
48265
|
-
|
|
48265
|
+
path26 = target.path;
|
|
48266
48266
|
}
|
|
48267
|
-
this.endpoints = [{ addresses: [{ path:
|
|
48267
|
+
this.endpoints = [{ addresses: [{ path: path26 }] }];
|
|
48268
48268
|
}
|
|
48269
48269
|
updateResolution() {
|
|
48270
48270
|
if (!this.hasReturnedResult) {
|
|
@@ -48324,12 +48324,12 @@ var require_resolver_ip = __commonJS({
|
|
|
48324
48324
|
return;
|
|
48325
48325
|
}
|
|
48326
48326
|
const pathList = target.path.split(",");
|
|
48327
|
-
for (const
|
|
48328
|
-
const hostPort = (0, uri_parser_1.splitHostPort)(
|
|
48327
|
+
for (const path26 of pathList) {
|
|
48328
|
+
const hostPort = (0, uri_parser_1.splitHostPort)(path26);
|
|
48329
48329
|
if (hostPort === null) {
|
|
48330
48330
|
this.error = {
|
|
48331
48331
|
code: constants_1.Status.UNAVAILABLE,
|
|
48332
|
-
details: `Failed to parse ${target.scheme} address ${
|
|
48332
|
+
details: `Failed to parse ${target.scheme} address ${path26}`,
|
|
48333
48333
|
metadata: new metadata_1.Metadata()
|
|
48334
48334
|
};
|
|
48335
48335
|
return;
|
|
@@ -48337,7 +48337,7 @@ var require_resolver_ip = __commonJS({
|
|
|
48337
48337
|
if (target.scheme === IPV4_SCHEME && !(0, net_1.isIPv4)(hostPort.host) || target.scheme === IPV6_SCHEME && !(0, net_1.isIPv6)(hostPort.host)) {
|
|
48338
48338
|
this.error = {
|
|
48339
48339
|
code: constants_1.Status.UNAVAILABLE,
|
|
48340
|
-
details: `Failed to parse ${target.scheme} address ${
|
|
48340
|
+
details: `Failed to parse ${target.scheme} address ${path26}`,
|
|
48341
48341
|
metadata: new metadata_1.Metadata()
|
|
48342
48342
|
};
|
|
48343
48343
|
return;
|
|
@@ -49693,10 +49693,10 @@ var require_create_service_client_constructor = __commonJS({
|
|
|
49693
49693
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49694
49694
|
exports.createServiceClientConstructor = void 0;
|
|
49695
49695
|
var grpc = require_src15();
|
|
49696
|
-
function createServiceClientConstructor(
|
|
49696
|
+
function createServiceClientConstructor(path26, name25) {
|
|
49697
49697
|
const serviceDefinition = {
|
|
49698
49698
|
export: {
|
|
49699
|
-
path:
|
|
49699
|
+
path: path26,
|
|
49700
49700
|
requestStream: false,
|
|
49701
49701
|
responseStream: false,
|
|
49702
49702
|
requestSerialize: (arg) => {
|
|
@@ -49916,7 +49916,7 @@ var require_otlp_grpc_env_configuration = __commonJS({
|
|
|
49916
49916
|
var grpc_exporter_transport_1 = require_grpc_exporter_transport();
|
|
49917
49917
|
var node_http_1 = (init_index_node_http(), __toCommonJS(index_node_http_exports));
|
|
49918
49918
|
var fs15 = __require("fs");
|
|
49919
|
-
var
|
|
49919
|
+
var path26 = __require("path");
|
|
49920
49920
|
var api_1 = (init_esm(), __toCommonJS(esm_exports));
|
|
49921
49921
|
function fallbackIfNullishOrBlank(signalSpecific, nonSignalSpecific) {
|
|
49922
49922
|
if (signalSpecific != null && signalSpecific !== "") {
|
|
@@ -49965,7 +49965,7 @@ var require_otlp_grpc_env_configuration = __commonJS({
|
|
|
49965
49965
|
const filePath = fallbackIfNullishOrBlank(signalSpecificPath, nonSignalSpecificPath);
|
|
49966
49966
|
if (filePath != null) {
|
|
49967
49967
|
try {
|
|
49968
|
-
return fs15.readFileSync(
|
|
49968
|
+
return fs15.readFileSync(path26.resolve(process.cwd(), filePath));
|
|
49969
49969
|
} catch {
|
|
49970
49970
|
api_1.diag.warn(warningMessage);
|
|
49971
49971
|
return void 0;
|
|
@@ -53755,17 +53755,17 @@ var require_visit = __commonJS({
|
|
|
53755
53755
|
visit2.BREAK = BREAK;
|
|
53756
53756
|
visit2.SKIP = SKIP;
|
|
53757
53757
|
visit2.REMOVE = REMOVE;
|
|
53758
|
-
function visit_(key2, node, visitor,
|
|
53759
|
-
const ctrl = callVisitor(key2, node, visitor,
|
|
53758
|
+
function visit_(key2, node, visitor, path26) {
|
|
53759
|
+
const ctrl = callVisitor(key2, node, visitor, path26);
|
|
53760
53760
|
if (identity.isNode(ctrl) || identity.isPair(ctrl)) {
|
|
53761
|
-
replaceNode(key2,
|
|
53762
|
-
return visit_(key2, ctrl, visitor,
|
|
53761
|
+
replaceNode(key2, path26, ctrl);
|
|
53762
|
+
return visit_(key2, ctrl, visitor, path26);
|
|
53763
53763
|
}
|
|
53764
53764
|
if (typeof ctrl !== "symbol") {
|
|
53765
53765
|
if (identity.isCollection(node)) {
|
|
53766
|
-
|
|
53766
|
+
path26 = Object.freeze(path26.concat(node));
|
|
53767
53767
|
for (let i = 0; i < node.items.length; ++i) {
|
|
53768
|
-
const ci = visit_(i, node.items[i], visitor,
|
|
53768
|
+
const ci = visit_(i, node.items[i], visitor, path26);
|
|
53769
53769
|
if (typeof ci === "number")
|
|
53770
53770
|
i = ci - 1;
|
|
53771
53771
|
else if (ci === BREAK)
|
|
@@ -53776,13 +53776,13 @@ var require_visit = __commonJS({
|
|
|
53776
53776
|
}
|
|
53777
53777
|
}
|
|
53778
53778
|
} else if (identity.isPair(node)) {
|
|
53779
|
-
|
|
53780
|
-
const ck = visit_("key", node.key, visitor,
|
|
53779
|
+
path26 = Object.freeze(path26.concat(node));
|
|
53780
|
+
const ck = visit_("key", node.key, visitor, path26);
|
|
53781
53781
|
if (ck === BREAK)
|
|
53782
53782
|
return BREAK;
|
|
53783
53783
|
else if (ck === REMOVE)
|
|
53784
53784
|
node.key = null;
|
|
53785
|
-
const cv = visit_("value", node.value, visitor,
|
|
53785
|
+
const cv = visit_("value", node.value, visitor, path26);
|
|
53786
53786
|
if (cv === BREAK)
|
|
53787
53787
|
return BREAK;
|
|
53788
53788
|
else if (cv === REMOVE)
|
|
@@ -53803,17 +53803,17 @@ var require_visit = __commonJS({
|
|
|
53803
53803
|
visitAsync.BREAK = BREAK;
|
|
53804
53804
|
visitAsync.SKIP = SKIP;
|
|
53805
53805
|
visitAsync.REMOVE = REMOVE;
|
|
53806
|
-
async function visitAsync_(key2, node, visitor,
|
|
53807
|
-
const ctrl = await callVisitor(key2, node, visitor,
|
|
53806
|
+
async function visitAsync_(key2, node, visitor, path26) {
|
|
53807
|
+
const ctrl = await callVisitor(key2, node, visitor, path26);
|
|
53808
53808
|
if (identity.isNode(ctrl) || identity.isPair(ctrl)) {
|
|
53809
|
-
replaceNode(key2,
|
|
53810
|
-
return visitAsync_(key2, ctrl, visitor,
|
|
53809
|
+
replaceNode(key2, path26, ctrl);
|
|
53810
|
+
return visitAsync_(key2, ctrl, visitor, path26);
|
|
53811
53811
|
}
|
|
53812
53812
|
if (typeof ctrl !== "symbol") {
|
|
53813
53813
|
if (identity.isCollection(node)) {
|
|
53814
|
-
|
|
53814
|
+
path26 = Object.freeze(path26.concat(node));
|
|
53815
53815
|
for (let i = 0; i < node.items.length; ++i) {
|
|
53816
|
-
const ci = await visitAsync_(i, node.items[i], visitor,
|
|
53816
|
+
const ci = await visitAsync_(i, node.items[i], visitor, path26);
|
|
53817
53817
|
if (typeof ci === "number")
|
|
53818
53818
|
i = ci - 1;
|
|
53819
53819
|
else if (ci === BREAK)
|
|
@@ -53824,13 +53824,13 @@ var require_visit = __commonJS({
|
|
|
53824
53824
|
}
|
|
53825
53825
|
}
|
|
53826
53826
|
} else if (identity.isPair(node)) {
|
|
53827
|
-
|
|
53828
|
-
const ck = await visitAsync_("key", node.key, visitor,
|
|
53827
|
+
path26 = Object.freeze(path26.concat(node));
|
|
53828
|
+
const ck = await visitAsync_("key", node.key, visitor, path26);
|
|
53829
53829
|
if (ck === BREAK)
|
|
53830
53830
|
return BREAK;
|
|
53831
53831
|
else if (ck === REMOVE)
|
|
53832
53832
|
node.key = null;
|
|
53833
|
-
const cv = await visitAsync_("value", node.value, visitor,
|
|
53833
|
+
const cv = await visitAsync_("value", node.value, visitor, path26);
|
|
53834
53834
|
if (cv === BREAK)
|
|
53835
53835
|
return BREAK;
|
|
53836
53836
|
else if (cv === REMOVE)
|
|
@@ -53857,23 +53857,23 @@ var require_visit = __commonJS({
|
|
|
53857
53857
|
}
|
|
53858
53858
|
return visitor;
|
|
53859
53859
|
}
|
|
53860
|
-
function callVisitor(key2, node, visitor,
|
|
53860
|
+
function callVisitor(key2, node, visitor, path26) {
|
|
53861
53861
|
if (typeof visitor === "function")
|
|
53862
|
-
return visitor(key2, node,
|
|
53862
|
+
return visitor(key2, node, path26);
|
|
53863
53863
|
if (identity.isMap(node))
|
|
53864
|
-
return visitor.Map?.(key2, node,
|
|
53864
|
+
return visitor.Map?.(key2, node, path26);
|
|
53865
53865
|
if (identity.isSeq(node))
|
|
53866
|
-
return visitor.Seq?.(key2, node,
|
|
53866
|
+
return visitor.Seq?.(key2, node, path26);
|
|
53867
53867
|
if (identity.isPair(node))
|
|
53868
|
-
return visitor.Pair?.(key2, node,
|
|
53868
|
+
return visitor.Pair?.(key2, node, path26);
|
|
53869
53869
|
if (identity.isScalar(node))
|
|
53870
|
-
return visitor.Scalar?.(key2, node,
|
|
53870
|
+
return visitor.Scalar?.(key2, node, path26);
|
|
53871
53871
|
if (identity.isAlias(node))
|
|
53872
|
-
return visitor.Alias?.(key2, node,
|
|
53872
|
+
return visitor.Alias?.(key2, node, path26);
|
|
53873
53873
|
return void 0;
|
|
53874
53874
|
}
|
|
53875
|
-
function replaceNode(key2,
|
|
53876
|
-
const parent =
|
|
53875
|
+
function replaceNode(key2, path26, node) {
|
|
53876
|
+
const parent = path26[path26.length - 1];
|
|
53877
53877
|
if (identity.isCollection(parent)) {
|
|
53878
53878
|
parent.items[key2] = node;
|
|
53879
53879
|
} else if (identity.isPair(parent)) {
|
|
@@ -54483,10 +54483,10 @@ var require_Collection = __commonJS({
|
|
|
54483
54483
|
var createNode = require_createNode();
|
|
54484
54484
|
var identity = require_identity();
|
|
54485
54485
|
var Node = require_Node();
|
|
54486
|
-
function collectionFromPath(schema,
|
|
54486
|
+
function collectionFromPath(schema, path26, value) {
|
|
54487
54487
|
let v2 = value;
|
|
54488
|
-
for (let i =
|
|
54489
|
-
const k2 =
|
|
54488
|
+
for (let i = path26.length - 1; i >= 0; --i) {
|
|
54489
|
+
const k2 = path26[i];
|
|
54490
54490
|
if (typeof k2 === "number" && Number.isInteger(k2) && k2 >= 0) {
|
|
54491
54491
|
const a = [];
|
|
54492
54492
|
a[k2] = v2;
|
|
@@ -54505,7 +54505,7 @@ var require_Collection = __commonJS({
|
|
|
54505
54505
|
sourceObjects: /* @__PURE__ */ new Map()
|
|
54506
54506
|
});
|
|
54507
54507
|
}
|
|
54508
|
-
var isEmptyPath = (
|
|
54508
|
+
var isEmptyPath = (path26) => path26 == null || typeof path26 === "object" && !!path26[Symbol.iterator]().next().done;
|
|
54509
54509
|
var Collection = class extends Node.NodeBase {
|
|
54510
54510
|
constructor(type, schema) {
|
|
54511
54511
|
super(type);
|
|
@@ -54535,11 +54535,11 @@ var require_Collection = __commonJS({
|
|
|
54535
54535
|
* be a Pair instance or a `{ key, value }` object, which may not have a key
|
|
54536
54536
|
* that already exists in the map.
|
|
54537
54537
|
*/
|
|
54538
|
-
addIn(
|
|
54539
|
-
if (isEmptyPath(
|
|
54538
|
+
addIn(path26, value) {
|
|
54539
|
+
if (isEmptyPath(path26))
|
|
54540
54540
|
this.add(value);
|
|
54541
54541
|
else {
|
|
54542
|
-
const [key2, ...rest] =
|
|
54542
|
+
const [key2, ...rest] = path26;
|
|
54543
54543
|
const node = this.get(key2, true);
|
|
54544
54544
|
if (identity.isCollection(node))
|
|
54545
54545
|
node.addIn(rest, value);
|
|
@@ -54553,8 +54553,8 @@ var require_Collection = __commonJS({
|
|
|
54553
54553
|
* Removes a value from the collection.
|
|
54554
54554
|
* @returns `true` if the item was found and removed.
|
|
54555
54555
|
*/
|
|
54556
|
-
deleteIn(
|
|
54557
|
-
const [key2, ...rest] =
|
|
54556
|
+
deleteIn(path26) {
|
|
54557
|
+
const [key2, ...rest] = path26;
|
|
54558
54558
|
if (rest.length === 0)
|
|
54559
54559
|
return this.delete(key2);
|
|
54560
54560
|
const node = this.get(key2, true);
|
|
@@ -54568,8 +54568,8 @@ var require_Collection = __commonJS({
|
|
|
54568
54568
|
* scalar values from their surrounding node; to disable set `keepScalar` to
|
|
54569
54569
|
* `true` (collections are always returned intact).
|
|
54570
54570
|
*/
|
|
54571
|
-
getIn(
|
|
54572
|
-
const [key2, ...rest] =
|
|
54571
|
+
getIn(path26, keepScalar) {
|
|
54572
|
+
const [key2, ...rest] = path26;
|
|
54573
54573
|
const node = this.get(key2, true);
|
|
54574
54574
|
if (rest.length === 0)
|
|
54575
54575
|
return !keepScalar && identity.isScalar(node) ? node.value : node;
|
|
@@ -54587,8 +54587,8 @@ var require_Collection = __commonJS({
|
|
|
54587
54587
|
/**
|
|
54588
54588
|
* Checks if the collection includes a value with the key `key`.
|
|
54589
54589
|
*/
|
|
54590
|
-
hasIn(
|
|
54591
|
-
const [key2, ...rest] =
|
|
54590
|
+
hasIn(path26) {
|
|
54591
|
+
const [key2, ...rest] = path26;
|
|
54592
54592
|
if (rest.length === 0)
|
|
54593
54593
|
return this.has(key2);
|
|
54594
54594
|
const node = this.get(key2, true);
|
|
@@ -54598,8 +54598,8 @@ var require_Collection = __commonJS({
|
|
|
54598
54598
|
* Sets a value in this collection. For `!!set`, `value` needs to be a
|
|
54599
54599
|
* boolean to add/remove the item from the set.
|
|
54600
54600
|
*/
|
|
54601
|
-
setIn(
|
|
54602
|
-
const [key2, ...rest] =
|
|
54601
|
+
setIn(path26, value) {
|
|
54602
|
+
const [key2, ...rest] = path26;
|
|
54603
54603
|
if (rest.length === 0) {
|
|
54604
54604
|
this.set(key2, value);
|
|
54605
54605
|
} else {
|
|
@@ -57114,9 +57114,9 @@ var require_Document = __commonJS({
|
|
|
57114
57114
|
this.contents.add(value);
|
|
57115
57115
|
}
|
|
57116
57116
|
/** Adds a value to the document. */
|
|
57117
|
-
addIn(
|
|
57117
|
+
addIn(path26, value) {
|
|
57118
57118
|
if (assertCollection(this.contents))
|
|
57119
|
-
this.contents.addIn(
|
|
57119
|
+
this.contents.addIn(path26, value);
|
|
57120
57120
|
}
|
|
57121
57121
|
/**
|
|
57122
57122
|
* Create a new `Alias` node, ensuring that the target `node` has the required anchor.
|
|
@@ -57191,14 +57191,14 @@ var require_Document = __commonJS({
|
|
|
57191
57191
|
* Removes a value from the document.
|
|
57192
57192
|
* @returns `true` if the item was found and removed.
|
|
57193
57193
|
*/
|
|
57194
|
-
deleteIn(
|
|
57195
|
-
if (Collection.isEmptyPath(
|
|
57194
|
+
deleteIn(path26) {
|
|
57195
|
+
if (Collection.isEmptyPath(path26)) {
|
|
57196
57196
|
if (this.contents == null)
|
|
57197
57197
|
return false;
|
|
57198
57198
|
this.contents = null;
|
|
57199
57199
|
return true;
|
|
57200
57200
|
}
|
|
57201
|
-
return assertCollection(this.contents) ? this.contents.deleteIn(
|
|
57201
|
+
return assertCollection(this.contents) ? this.contents.deleteIn(path26) : false;
|
|
57202
57202
|
}
|
|
57203
57203
|
/**
|
|
57204
57204
|
* Returns item at `key`, or `undefined` if not found. By default unwraps
|
|
@@ -57213,10 +57213,10 @@ var require_Document = __commonJS({
|
|
|
57213
57213
|
* scalar values from their surrounding node; to disable set `keepScalar` to
|
|
57214
57214
|
* `true` (collections are always returned intact).
|
|
57215
57215
|
*/
|
|
57216
|
-
getIn(
|
|
57217
|
-
if (Collection.isEmptyPath(
|
|
57216
|
+
getIn(path26, keepScalar) {
|
|
57217
|
+
if (Collection.isEmptyPath(path26))
|
|
57218
57218
|
return !keepScalar && identity.isScalar(this.contents) ? this.contents.value : this.contents;
|
|
57219
|
-
return identity.isCollection(this.contents) ? this.contents.getIn(
|
|
57219
|
+
return identity.isCollection(this.contents) ? this.contents.getIn(path26, keepScalar) : void 0;
|
|
57220
57220
|
}
|
|
57221
57221
|
/**
|
|
57222
57222
|
* Checks if the document includes a value with the key `key`.
|
|
@@ -57227,10 +57227,10 @@ var require_Document = __commonJS({
|
|
|
57227
57227
|
/**
|
|
57228
57228
|
* Checks if the document includes a value at `path`.
|
|
57229
57229
|
*/
|
|
57230
|
-
hasIn(
|
|
57231
|
-
if (Collection.isEmptyPath(
|
|
57230
|
+
hasIn(path26) {
|
|
57231
|
+
if (Collection.isEmptyPath(path26))
|
|
57232
57232
|
return this.contents !== void 0;
|
|
57233
|
-
return identity.isCollection(this.contents) ? this.contents.hasIn(
|
|
57233
|
+
return identity.isCollection(this.contents) ? this.contents.hasIn(path26) : false;
|
|
57234
57234
|
}
|
|
57235
57235
|
/**
|
|
57236
57236
|
* Sets a value in this document. For `!!set`, `value` needs to be a
|
|
@@ -57247,13 +57247,13 @@ var require_Document = __commonJS({
|
|
|
57247
57247
|
* Sets a value in this document. For `!!set`, `value` needs to be a
|
|
57248
57248
|
* boolean to add/remove the item from the set.
|
|
57249
57249
|
*/
|
|
57250
|
-
setIn(
|
|
57251
|
-
if (Collection.isEmptyPath(
|
|
57250
|
+
setIn(path26, value) {
|
|
57251
|
+
if (Collection.isEmptyPath(path26)) {
|
|
57252
57252
|
this.contents = value;
|
|
57253
57253
|
} else if (this.contents == null) {
|
|
57254
|
-
this.contents = Collection.collectionFromPath(this.schema, Array.from(
|
|
57254
|
+
this.contents = Collection.collectionFromPath(this.schema, Array.from(path26), value);
|
|
57255
57255
|
} else if (assertCollection(this.contents)) {
|
|
57256
|
-
this.contents.setIn(
|
|
57256
|
+
this.contents.setIn(path26, value);
|
|
57257
57257
|
}
|
|
57258
57258
|
}
|
|
57259
57259
|
/**
|
|
@@ -59211,9 +59211,9 @@ var require_cst_visit = __commonJS({
|
|
|
59211
59211
|
visit2.BREAK = BREAK;
|
|
59212
59212
|
visit2.SKIP = SKIP;
|
|
59213
59213
|
visit2.REMOVE = REMOVE;
|
|
59214
|
-
visit2.itemAtPath = (cst,
|
|
59214
|
+
visit2.itemAtPath = (cst, path26) => {
|
|
59215
59215
|
let item = cst;
|
|
59216
|
-
for (const [field, index] of
|
|
59216
|
+
for (const [field, index] of path26) {
|
|
59217
59217
|
const tok = item?.[field];
|
|
59218
59218
|
if (tok && "items" in tok) {
|
|
59219
59219
|
item = tok.items[index];
|
|
@@ -59222,23 +59222,23 @@ var require_cst_visit = __commonJS({
|
|
|
59222
59222
|
}
|
|
59223
59223
|
return item;
|
|
59224
59224
|
};
|
|
59225
|
-
visit2.parentCollection = (cst,
|
|
59226
|
-
const parent = visit2.itemAtPath(cst,
|
|
59227
|
-
const field =
|
|
59225
|
+
visit2.parentCollection = (cst, path26) => {
|
|
59226
|
+
const parent = visit2.itemAtPath(cst, path26.slice(0, -1));
|
|
59227
|
+
const field = path26[path26.length - 1][0];
|
|
59228
59228
|
const coll = parent?.[field];
|
|
59229
59229
|
if (coll && "items" in coll)
|
|
59230
59230
|
return coll;
|
|
59231
59231
|
throw new Error("Parent collection not found");
|
|
59232
59232
|
};
|
|
59233
|
-
function _visit(
|
|
59234
|
-
let ctrl = visitor(item,
|
|
59233
|
+
function _visit(path26, item, visitor) {
|
|
59234
|
+
let ctrl = visitor(item, path26);
|
|
59235
59235
|
if (typeof ctrl === "symbol")
|
|
59236
59236
|
return ctrl;
|
|
59237
59237
|
for (const field of ["key", "value"]) {
|
|
59238
59238
|
const token = item[field];
|
|
59239
59239
|
if (token && "items" in token) {
|
|
59240
59240
|
for (let i = 0; i < token.items.length; ++i) {
|
|
59241
|
-
const ci = _visit(Object.freeze(
|
|
59241
|
+
const ci = _visit(Object.freeze(path26.concat([[field, i]])), token.items[i], visitor);
|
|
59242
59242
|
if (typeof ci === "number")
|
|
59243
59243
|
i = ci - 1;
|
|
59244
59244
|
else if (ci === BREAK)
|
|
@@ -59249,10 +59249,10 @@ var require_cst_visit = __commonJS({
|
|
|
59249
59249
|
}
|
|
59250
59250
|
}
|
|
59251
59251
|
if (typeof ctrl === "function" && field === "key")
|
|
59252
|
-
ctrl = ctrl(item,
|
|
59252
|
+
ctrl = ctrl(item, path26);
|
|
59253
59253
|
}
|
|
59254
59254
|
}
|
|
59255
|
-
return typeof ctrl === "function" ? ctrl(item,
|
|
59255
|
+
return typeof ctrl === "function" ? ctrl(item, path26) : ctrl;
|
|
59256
59256
|
}
|
|
59257
59257
|
exports.visit = visit2;
|
|
59258
59258
|
}
|
|
@@ -65978,8 +65978,8 @@ var require_req = __commonJS({
|
|
|
65978
65978
|
if (req.originalUrl) {
|
|
65979
65979
|
_req.url = req.originalUrl;
|
|
65980
65980
|
} else {
|
|
65981
|
-
const
|
|
65982
|
-
_req.url = typeof
|
|
65981
|
+
const path26 = req.path;
|
|
65982
|
+
_req.url = typeof path26 === "string" ? path26 : req.url ? req.url.path || req.url : void 0;
|
|
65983
65983
|
}
|
|
65984
65984
|
if (req.query) {
|
|
65985
65985
|
_req.query = req.query;
|
|
@@ -66144,14 +66144,14 @@ var require_redact = __commonJS({
|
|
|
66144
66144
|
}
|
|
66145
66145
|
return obj;
|
|
66146
66146
|
}
|
|
66147
|
-
function parsePath(
|
|
66147
|
+
function parsePath(path26) {
|
|
66148
66148
|
const parts = [];
|
|
66149
66149
|
let current = "";
|
|
66150
66150
|
let inBrackets = false;
|
|
66151
66151
|
let inQuotes = false;
|
|
66152
66152
|
let quoteChar = "";
|
|
66153
|
-
for (let i = 0; i <
|
|
66154
|
-
const char =
|
|
66153
|
+
for (let i = 0; i < path26.length; i++) {
|
|
66154
|
+
const char = path26[i];
|
|
66155
66155
|
if (!inBrackets && char === ".") {
|
|
66156
66156
|
if (current) {
|
|
66157
66157
|
parts.push(current);
|
|
@@ -66282,10 +66282,10 @@ var require_redact = __commonJS({
|
|
|
66282
66282
|
return current;
|
|
66283
66283
|
}
|
|
66284
66284
|
function redactPaths(obj, paths, censor, remove = false) {
|
|
66285
|
-
for (const
|
|
66286
|
-
const parts = parsePath(
|
|
66285
|
+
for (const path26 of paths) {
|
|
66286
|
+
const parts = parsePath(path26);
|
|
66287
66287
|
if (parts.includes("*")) {
|
|
66288
|
-
redactWildcardPath(obj, parts, censor,
|
|
66288
|
+
redactWildcardPath(obj, parts, censor, path26, remove);
|
|
66289
66289
|
} else {
|
|
66290
66290
|
if (remove) {
|
|
66291
66291
|
removeKey(obj, parts);
|
|
@@ -66370,8 +66370,8 @@ var require_redact = __commonJS({
|
|
|
66370
66370
|
}
|
|
66371
66371
|
} else {
|
|
66372
66372
|
if (afterWildcard.includes("*")) {
|
|
66373
|
-
const wrappedCensor = typeof censor === "function" ? (value,
|
|
66374
|
-
const fullPath = [...pathArray.slice(0, pathLength), ...
|
|
66373
|
+
const wrappedCensor = typeof censor === "function" ? (value, path26) => {
|
|
66374
|
+
const fullPath = [...pathArray.slice(0, pathLength), ...path26];
|
|
66375
66375
|
return censor(value, fullPath);
|
|
66376
66376
|
} : censor;
|
|
66377
66377
|
redactWildcardPath(current, afterWildcard, wrappedCensor, originalPath, remove);
|
|
@@ -66406,8 +66406,8 @@ var require_redact = __commonJS({
|
|
|
66406
66406
|
return null;
|
|
66407
66407
|
}
|
|
66408
66408
|
const pathStructure = /* @__PURE__ */ new Map();
|
|
66409
|
-
for (const
|
|
66410
|
-
const parts = parsePath(
|
|
66409
|
+
for (const path26 of pathsToClone) {
|
|
66410
|
+
const parts = parsePath(path26);
|
|
66411
66411
|
let current = pathStructure;
|
|
66412
66412
|
for (let i = 0; i < parts.length; i++) {
|
|
66413
66413
|
const part = parts[i];
|
|
@@ -66459,24 +66459,24 @@ var require_redact = __commonJS({
|
|
|
66459
66459
|
}
|
|
66460
66460
|
return cloneSelectively(obj, pathStructure);
|
|
66461
66461
|
}
|
|
66462
|
-
function validatePath(
|
|
66463
|
-
if (typeof
|
|
66462
|
+
function validatePath(path26) {
|
|
66463
|
+
if (typeof path26 !== "string") {
|
|
66464
66464
|
throw new Error("Paths must be (non-empty) strings");
|
|
66465
66465
|
}
|
|
66466
|
-
if (
|
|
66466
|
+
if (path26 === "") {
|
|
66467
66467
|
throw new Error("Invalid redaction path ()");
|
|
66468
66468
|
}
|
|
66469
|
-
if (
|
|
66470
|
-
throw new Error(`Invalid redaction path (${
|
|
66469
|
+
if (path26.includes("..")) {
|
|
66470
|
+
throw new Error(`Invalid redaction path (${path26})`);
|
|
66471
66471
|
}
|
|
66472
|
-
if (
|
|
66473
|
-
throw new Error(`Invalid redaction path (${
|
|
66472
|
+
if (path26.includes(",")) {
|
|
66473
|
+
throw new Error(`Invalid redaction path (${path26})`);
|
|
66474
66474
|
}
|
|
66475
66475
|
let bracketCount = 0;
|
|
66476
66476
|
let inQuotes = false;
|
|
66477
66477
|
let quoteChar = "";
|
|
66478
|
-
for (let i = 0; i <
|
|
66479
|
-
const char =
|
|
66478
|
+
for (let i = 0; i < path26.length; i++) {
|
|
66479
|
+
const char = path26[i];
|
|
66480
66480
|
if ((char === '"' || char === "'") && bracketCount > 0) {
|
|
66481
66481
|
if (!inQuotes) {
|
|
66482
66482
|
inQuotes = true;
|
|
@@ -66490,20 +66490,20 @@ var require_redact = __commonJS({
|
|
|
66490
66490
|
} else if (char === "]" && !inQuotes) {
|
|
66491
66491
|
bracketCount--;
|
|
66492
66492
|
if (bracketCount < 0) {
|
|
66493
|
-
throw new Error(`Invalid redaction path (${
|
|
66493
|
+
throw new Error(`Invalid redaction path (${path26})`);
|
|
66494
66494
|
}
|
|
66495
66495
|
}
|
|
66496
66496
|
}
|
|
66497
66497
|
if (bracketCount !== 0) {
|
|
66498
|
-
throw new Error(`Invalid redaction path (${
|
|
66498
|
+
throw new Error(`Invalid redaction path (${path26})`);
|
|
66499
66499
|
}
|
|
66500
66500
|
}
|
|
66501
66501
|
function validatePaths(paths) {
|
|
66502
66502
|
if (!Array.isArray(paths)) {
|
|
66503
66503
|
throw new TypeError("paths must be an array");
|
|
66504
66504
|
}
|
|
66505
|
-
for (const
|
|
66506
|
-
validatePath(
|
|
66505
|
+
for (const path26 of paths) {
|
|
66506
|
+
validatePath(path26);
|
|
66507
66507
|
}
|
|
66508
66508
|
}
|
|
66509
66509
|
function slowRedact(options = {}) {
|
|
@@ -66671,8 +66671,8 @@ var require_redaction = __commonJS({
|
|
|
66671
66671
|
if (shape[k2] === null) {
|
|
66672
66672
|
o[k2] = (value) => topCensor(value, [k2]);
|
|
66673
66673
|
} else {
|
|
66674
|
-
const wrappedCensor = typeof censor === "function" ? (value,
|
|
66675
|
-
return censor(value, [k2, ...
|
|
66674
|
+
const wrappedCensor = typeof censor === "function" ? (value, path26) => {
|
|
66675
|
+
return censor(value, [k2, ...path26]);
|
|
66676
66676
|
} : censor;
|
|
66677
66677
|
o[k2] = Redact({
|
|
66678
66678
|
paths: shape[k2],
|
|
@@ -66893,7 +66893,7 @@ var require_sonic_boom = __commonJS({
|
|
|
66893
66893
|
var fs15 = __require("fs");
|
|
66894
66894
|
var EventEmitter3 = __require("events");
|
|
66895
66895
|
var inherits = __require("util").inherits;
|
|
66896
|
-
var
|
|
66896
|
+
var path26 = __require("path");
|
|
66897
66897
|
var sleep2 = require_atomic_sleep();
|
|
66898
66898
|
var assert2 = __require("assert");
|
|
66899
66899
|
var BUSY_WRITE_TIMEOUT = 100;
|
|
@@ -66947,7 +66947,7 @@ var require_sonic_boom = __commonJS({
|
|
|
66947
66947
|
const mode = sonic.mode;
|
|
66948
66948
|
if (sonic.sync) {
|
|
66949
66949
|
try {
|
|
66950
|
-
if (sonic.mkdir) fs15.mkdirSync(
|
|
66950
|
+
if (sonic.mkdir) fs15.mkdirSync(path26.dirname(file2), { recursive: true });
|
|
66951
66951
|
const fd = fs15.openSync(file2, flags, mode);
|
|
66952
66952
|
fileOpened(null, fd);
|
|
66953
66953
|
} catch (err) {
|
|
@@ -66955,7 +66955,7 @@ var require_sonic_boom = __commonJS({
|
|
|
66955
66955
|
throw err;
|
|
66956
66956
|
}
|
|
66957
66957
|
} else if (sonic.mkdir) {
|
|
66958
|
-
fs15.mkdir(
|
|
66958
|
+
fs15.mkdir(path26.dirname(file2), { recursive: true }, (err) => {
|
|
66959
66959
|
if (err) return fileOpened(err);
|
|
66960
66960
|
fs15.open(file2, flags, mode, fileOpened);
|
|
66961
66961
|
});
|
|
@@ -66967,7 +66967,7 @@ var require_sonic_boom = __commonJS({
|
|
|
66967
66967
|
if (!(this instanceof SonicBoom)) {
|
|
66968
66968
|
return new SonicBoom(opts);
|
|
66969
66969
|
}
|
|
66970
|
-
let { fd, dest, minLength, maxLength, maxWrite, periodicFlush, sync, append = true, mkdir:
|
|
66970
|
+
let { fd, dest, minLength, maxLength, maxWrite, periodicFlush, sync, append = true, mkdir: mkdir7, retryEAGAIN, fsync, contentMode, mode } = opts || {};
|
|
66971
66971
|
fd = fd || dest;
|
|
66972
66972
|
this._len = 0;
|
|
66973
66973
|
this.fd = -1;
|
|
@@ -66992,7 +66992,7 @@ var require_sonic_boom = __commonJS({
|
|
|
66992
66992
|
this.append = append || false;
|
|
66993
66993
|
this.mode = mode;
|
|
66994
66994
|
this.retryEAGAIN = retryEAGAIN || (() => true);
|
|
66995
|
-
this.mkdir =
|
|
66995
|
+
this.mkdir = mkdir7 || false;
|
|
66996
66996
|
let fsWriteSync;
|
|
66997
66997
|
let fsWrite;
|
|
66998
66998
|
if (contentMode === kContentModeBuffer) {
|
|
@@ -68177,15 +68177,15 @@ var require_transport2 = __commonJS({
|
|
|
68177
68177
|
if (!unquoted) {
|
|
68178
68178
|
return false;
|
|
68179
68179
|
}
|
|
68180
|
-
let
|
|
68181
|
-
if (
|
|
68180
|
+
let path26 = unquoted;
|
|
68181
|
+
if (path26.startsWith("file://")) {
|
|
68182
68182
|
try {
|
|
68183
|
-
|
|
68183
|
+
path26 = fileURLToPath4(path26);
|
|
68184
68184
|
} catch {
|
|
68185
68185
|
return false;
|
|
68186
68186
|
}
|
|
68187
68187
|
}
|
|
68188
|
-
return isAbsolute(
|
|
68188
|
+
return isAbsolute(path26) && !existsSync6(path26);
|
|
68189
68189
|
}
|
|
68190
68190
|
function stripQuotes(value) {
|
|
68191
68191
|
const first = value[0];
|
|
@@ -77588,8 +77588,8 @@ var require_utils12 = __commonJS({
|
|
|
77588
77588
|
}
|
|
77589
77589
|
return ind;
|
|
77590
77590
|
}
|
|
77591
|
-
function removeDotSegments(
|
|
77592
|
-
let input =
|
|
77591
|
+
function removeDotSegments(path26) {
|
|
77592
|
+
let input = path26;
|
|
77593
77593
|
const output = [];
|
|
77594
77594
|
let nextSlash = -1;
|
|
77595
77595
|
let len = 0;
|
|
@@ -77788,8 +77788,8 @@ var require_schemes = __commonJS({
|
|
|
77788
77788
|
wsComponent.secure = void 0;
|
|
77789
77789
|
}
|
|
77790
77790
|
if (wsComponent.resourceName) {
|
|
77791
|
-
const [
|
|
77792
|
-
wsComponent.path =
|
|
77791
|
+
const [path26, query] = wsComponent.resourceName.split("?");
|
|
77792
|
+
wsComponent.path = path26 && path26 !== "/" ? path26 : void 0;
|
|
77793
77793
|
wsComponent.query = query;
|
|
77794
77794
|
wsComponent.resourceName = void 0;
|
|
77795
77795
|
}
|
|
@@ -90360,40 +90360,40 @@ var require_node14 = __commonJS({
|
|
|
90360
90360
|
super();
|
|
90361
90361
|
this.staticChildren = {};
|
|
90362
90362
|
}
|
|
90363
|
-
findStaticMatchingChild(
|
|
90364
|
-
const staticChild = this.staticChildren[
|
|
90365
|
-
if (staticChild === void 0 || !staticChild.matchPrefix(
|
|
90363
|
+
findStaticMatchingChild(path26, pathIndex) {
|
|
90364
|
+
const staticChild = this.staticChildren[path26.charAt(pathIndex)];
|
|
90365
|
+
if (staticChild === void 0 || !staticChild.matchPrefix(path26, pathIndex)) {
|
|
90366
90366
|
return null;
|
|
90367
90367
|
}
|
|
90368
90368
|
return staticChild;
|
|
90369
90369
|
}
|
|
90370
|
-
getStaticChild(
|
|
90371
|
-
if (
|
|
90370
|
+
getStaticChild(path26, pathIndex = 0) {
|
|
90371
|
+
if (path26.length === pathIndex) {
|
|
90372
90372
|
return this;
|
|
90373
90373
|
}
|
|
90374
|
-
const staticChild = this.findStaticMatchingChild(
|
|
90374
|
+
const staticChild = this.findStaticMatchingChild(path26, pathIndex);
|
|
90375
90375
|
if (staticChild) {
|
|
90376
|
-
return staticChild.getStaticChild(
|
|
90376
|
+
return staticChild.getStaticChild(path26, pathIndex + staticChild.prefix.length);
|
|
90377
90377
|
}
|
|
90378
90378
|
return null;
|
|
90379
90379
|
}
|
|
90380
|
-
createStaticChild(
|
|
90381
|
-
if (
|
|
90380
|
+
createStaticChild(path26) {
|
|
90381
|
+
if (path26.length === 0) {
|
|
90382
90382
|
return this;
|
|
90383
90383
|
}
|
|
90384
|
-
let staticChild = this.staticChildren[
|
|
90384
|
+
let staticChild = this.staticChildren[path26.charAt(0)];
|
|
90385
90385
|
if (staticChild) {
|
|
90386
90386
|
let i = 1;
|
|
90387
90387
|
for (; i < staticChild.prefix.length; i++) {
|
|
90388
|
-
if (
|
|
90388
|
+
if (path26.charCodeAt(i) !== staticChild.prefix.charCodeAt(i)) {
|
|
90389
90389
|
staticChild = staticChild.split(this, i);
|
|
90390
90390
|
break;
|
|
90391
90391
|
}
|
|
90392
90392
|
}
|
|
90393
|
-
return staticChild.createStaticChild(
|
|
90393
|
+
return staticChild.createStaticChild(path26.slice(i));
|
|
90394
90394
|
}
|
|
90395
|
-
const label =
|
|
90396
|
-
this.staticChildren[label] = new StaticNode(
|
|
90395
|
+
const label = path26.charAt(0);
|
|
90396
|
+
this.staticChildren[label] = new StaticNode(path26);
|
|
90397
90397
|
return this.staticChildren[label];
|
|
90398
90398
|
}
|
|
90399
90399
|
};
|
|
@@ -90453,8 +90453,8 @@ var require_node14 = __commonJS({
|
|
|
90453
90453
|
parentNode.staticChildren[parentPrefix.charAt(0)] = staticNode;
|
|
90454
90454
|
return staticNode;
|
|
90455
90455
|
}
|
|
90456
|
-
getNextNode(
|
|
90457
|
-
let node = this.findStaticMatchingChild(
|
|
90456
|
+
getNextNode(path26, pathIndex, nodeStack, paramsCount) {
|
|
90457
|
+
let node = this.findStaticMatchingChild(path26, pathIndex);
|
|
90458
90458
|
let parametricBrotherNodeIndex = 0;
|
|
90459
90459
|
if (node === null) {
|
|
90460
90460
|
if (this.parametricChildren.length === 0) {
|
|
@@ -90501,8 +90501,8 @@ var require_node14 = __commonJS({
|
|
|
90501
90501
|
this.kind = NODE_TYPES.PARAMETRIC;
|
|
90502
90502
|
this.nodePaths = /* @__PURE__ */ new Set([nodePath]);
|
|
90503
90503
|
}
|
|
90504
|
-
getNextNode(
|
|
90505
|
-
return this.findStaticMatchingChild(
|
|
90504
|
+
getNextNode(path26, pathIndex) {
|
|
90505
|
+
return this.findStaticMatchingChild(path26, pathIndex);
|
|
90506
90506
|
}
|
|
90507
90507
|
};
|
|
90508
90508
|
var WildcardNode = class extends Node {
|
|
@@ -90838,33 +90838,33 @@ var require_url_sanitizer = __commonJS({
|
|
|
90838
90838
|
}
|
|
90839
90839
|
return null;
|
|
90840
90840
|
}
|
|
90841
|
-
function safeDecodeURI(
|
|
90841
|
+
function safeDecodeURI(path26, useSemicolonDelimiter) {
|
|
90842
90842
|
let shouldDecode = false;
|
|
90843
90843
|
let shouldDecodeParam = false;
|
|
90844
90844
|
let querystring = "";
|
|
90845
|
-
for (let i = 1; i <
|
|
90846
|
-
const charCode =
|
|
90845
|
+
for (let i = 1; i < path26.length; i++) {
|
|
90846
|
+
const charCode = path26.charCodeAt(i);
|
|
90847
90847
|
if (charCode === 37) {
|
|
90848
|
-
const highCharCode =
|
|
90849
|
-
const lowCharCode =
|
|
90848
|
+
const highCharCode = path26.charCodeAt(i + 1);
|
|
90849
|
+
const lowCharCode = path26.charCodeAt(i + 2);
|
|
90850
90850
|
if (decodeComponentChar(highCharCode, lowCharCode) === null) {
|
|
90851
90851
|
shouldDecode = true;
|
|
90852
90852
|
} else {
|
|
90853
90853
|
shouldDecodeParam = true;
|
|
90854
90854
|
if (highCharCode === 50 && lowCharCode === 53) {
|
|
90855
90855
|
shouldDecode = true;
|
|
90856
|
-
|
|
90856
|
+
path26 = path26.slice(0, i + 1) + "25" + path26.slice(i + 1);
|
|
90857
90857
|
i += 2;
|
|
90858
90858
|
}
|
|
90859
90859
|
i += 2;
|
|
90860
90860
|
}
|
|
90861
90861
|
} else if (charCode === 63 || charCode === 35 || charCode === 59 && useSemicolonDelimiter) {
|
|
90862
|
-
querystring =
|
|
90863
|
-
|
|
90862
|
+
querystring = path26.slice(i + 1);
|
|
90863
|
+
path26 = path26.slice(0, i);
|
|
90864
90864
|
break;
|
|
90865
90865
|
}
|
|
90866
90866
|
}
|
|
90867
|
-
const decodedPath = shouldDecode ? decodeURI(
|
|
90867
|
+
const decodedPath = shouldDecode ? decodeURI(path26) : path26;
|
|
90868
90868
|
return { path: decodedPath, querystring, shouldDecodeParam };
|
|
90869
90869
|
}
|
|
90870
90870
|
function safeDecodeURIComponent(uriComponent) {
|
|
@@ -90957,7 +90957,7 @@ var require_find_my_way = __commonJS({
|
|
|
90957
90957
|
this.routes = [];
|
|
90958
90958
|
this.trees = {};
|
|
90959
90959
|
}
|
|
90960
|
-
Router.prototype.on = function on(method,
|
|
90960
|
+
Router.prototype.on = function on(method, path26, opts, handler, store) {
|
|
90961
90961
|
if (typeof opts === "function") {
|
|
90962
90962
|
if (handler !== void 0) {
|
|
90963
90963
|
store = handler;
|
|
@@ -90965,34 +90965,34 @@ var require_find_my_way = __commonJS({
|
|
|
90965
90965
|
handler = opts;
|
|
90966
90966
|
opts = {};
|
|
90967
90967
|
}
|
|
90968
|
-
assert2(typeof
|
|
90969
|
-
assert2(
|
|
90970
|
-
assert2(
|
|
90968
|
+
assert2(typeof path26 === "string", "Path should be a string");
|
|
90969
|
+
assert2(path26.length > 0, "The path could not be empty");
|
|
90970
|
+
assert2(path26[0] === "/" || path26[0] === "*", "The first character of a path should be `/` or `*`");
|
|
90971
90971
|
assert2(typeof handler === "function", "Handler should be a function");
|
|
90972
|
-
const optionalParamMatch =
|
|
90972
|
+
const optionalParamMatch = path26.match(OPTIONAL_PARAM_REGEXP);
|
|
90973
90973
|
if (optionalParamMatch) {
|
|
90974
|
-
assert2(
|
|
90975
|
-
const pathFull =
|
|
90976
|
-
const pathOptional =
|
|
90974
|
+
assert2(path26.length === optionalParamMatch.index + optionalParamMatch[0].length, "Optional Parameter needs to be the last parameter of the path");
|
|
90975
|
+
const pathFull = path26.replace(OPTIONAL_PARAM_REGEXP, "$1$2");
|
|
90976
|
+
const pathOptional = path26.replace(OPTIONAL_PARAM_REGEXP, "$2") || "/";
|
|
90977
90977
|
this.on(method, pathFull, opts, handler, store);
|
|
90978
90978
|
this.on(method, pathOptional, opts, handler, store);
|
|
90979
90979
|
return;
|
|
90980
90980
|
}
|
|
90981
|
-
const route =
|
|
90981
|
+
const route = path26;
|
|
90982
90982
|
if (this.ignoreDuplicateSlashes) {
|
|
90983
|
-
|
|
90983
|
+
path26 = removeDuplicateSlashes(path26);
|
|
90984
90984
|
}
|
|
90985
90985
|
if (this.ignoreTrailingSlash) {
|
|
90986
|
-
|
|
90986
|
+
path26 = trimLastSlash(path26);
|
|
90987
90987
|
}
|
|
90988
90988
|
const methods = Array.isArray(method) ? method : [method];
|
|
90989
90989
|
for (const method2 of methods) {
|
|
90990
90990
|
assert2(typeof method2 === "string", "Method should be a string");
|
|
90991
90991
|
assert2(httpMethods.includes(method2), `Method '${method2}' is not an http method.`);
|
|
90992
|
-
this._on(method2,
|
|
90992
|
+
this._on(method2, path26, opts, handler, store, route);
|
|
90993
90993
|
}
|
|
90994
90994
|
};
|
|
90995
|
-
Router.prototype._on = function _on(method,
|
|
90995
|
+
Router.prototype._on = function _on(method, path26, opts, handler, store) {
|
|
90996
90996
|
let constraints = {};
|
|
90997
90997
|
if (opts.constraints !== void 0) {
|
|
90998
90998
|
assert2(typeof opts.constraints === "object" && opts.constraints !== null, "Constraints should be an object");
|
|
@@ -91005,7 +91005,7 @@ var require_find_my_way = __commonJS({
|
|
|
91005
91005
|
if (this.trees[method] === void 0) {
|
|
91006
91006
|
this.trees[method] = new StaticNode("/");
|
|
91007
91007
|
}
|
|
91008
|
-
let pattern =
|
|
91008
|
+
let pattern = path26;
|
|
91009
91009
|
if (pattern === "*" && this.trees[method].prefix.length !== 0) {
|
|
91010
91010
|
const currentRoot = this.trees[method];
|
|
91011
91011
|
this.trees[method] = new StaticNode("");
|
|
@@ -91108,19 +91108,19 @@ var require_find_my_way = __commonJS({
|
|
|
91108
91108
|
throw new Error(`Method '${method}' already declared for route '${pattern}' with constraints '${JSON.stringify(constraints)}'`);
|
|
91109
91109
|
}
|
|
91110
91110
|
}
|
|
91111
|
-
const route = { method, path:
|
|
91111
|
+
const route = { method, path: path26, pattern, params, opts, handler, store };
|
|
91112
91112
|
this.routes.push(route);
|
|
91113
91113
|
currentNode.addRoute(route, this.constrainer);
|
|
91114
91114
|
};
|
|
91115
|
-
Router.prototype.hasRoute = function hasRoute(method,
|
|
91116
|
-
const route = this.findRoute(method,
|
|
91115
|
+
Router.prototype.hasRoute = function hasRoute(method, path26, constraints) {
|
|
91116
|
+
const route = this.findRoute(method, path26, constraints);
|
|
91117
91117
|
return route !== null;
|
|
91118
91118
|
};
|
|
91119
|
-
Router.prototype.findRoute = function findNode(method,
|
|
91119
|
+
Router.prototype.findRoute = function findNode(method, path26, constraints = {}) {
|
|
91120
91120
|
if (this.trees[method] === void 0) {
|
|
91121
91121
|
return null;
|
|
91122
91122
|
}
|
|
91123
|
-
let pattern =
|
|
91123
|
+
let pattern = path26;
|
|
91124
91124
|
let currentNode = this.trees[method];
|
|
91125
91125
|
let parentNodePathIndex = currentNode.prefix.length;
|
|
91126
91126
|
const params = [];
|
|
@@ -91238,39 +91238,39 @@ var require_find_my_way = __commonJS({
|
|
|
91238
91238
|
this.trees = {};
|
|
91239
91239
|
this.routes = [];
|
|
91240
91240
|
};
|
|
91241
|
-
Router.prototype.off = function off(method,
|
|
91242
|
-
assert2(typeof
|
|
91243
|
-
assert2(
|
|
91244
|
-
assert2(
|
|
91241
|
+
Router.prototype.off = function off(method, path26, constraints) {
|
|
91242
|
+
assert2(typeof path26 === "string", "Path should be a string");
|
|
91243
|
+
assert2(path26.length > 0, "The path could not be empty");
|
|
91244
|
+
assert2(path26[0] === "/" || path26[0] === "*", "The first character of a path should be `/` or `*`");
|
|
91245
91245
|
assert2(
|
|
91246
91246
|
typeof constraints === "undefined" || typeof constraints === "object" && !Array.isArray(constraints) && constraints !== null,
|
|
91247
91247
|
"Constraints should be an object or undefined."
|
|
91248
91248
|
);
|
|
91249
|
-
const optionalParamMatch =
|
|
91249
|
+
const optionalParamMatch = path26.match(OPTIONAL_PARAM_REGEXP);
|
|
91250
91250
|
if (optionalParamMatch) {
|
|
91251
|
-
assert2(
|
|
91252
|
-
const pathFull =
|
|
91253
|
-
const pathOptional =
|
|
91251
|
+
assert2(path26.length === optionalParamMatch.index + optionalParamMatch[0].length, "Optional Parameter needs to be the last parameter of the path");
|
|
91252
|
+
const pathFull = path26.replace(OPTIONAL_PARAM_REGEXP, "$1$2");
|
|
91253
|
+
const pathOptional = path26.replace(OPTIONAL_PARAM_REGEXP, "$2");
|
|
91254
91254
|
this.off(method, pathFull, constraints);
|
|
91255
91255
|
this.off(method, pathOptional, constraints);
|
|
91256
91256
|
return;
|
|
91257
91257
|
}
|
|
91258
91258
|
if (this.ignoreDuplicateSlashes) {
|
|
91259
|
-
|
|
91259
|
+
path26 = removeDuplicateSlashes(path26);
|
|
91260
91260
|
}
|
|
91261
91261
|
if (this.ignoreTrailingSlash) {
|
|
91262
|
-
|
|
91262
|
+
path26 = trimLastSlash(path26);
|
|
91263
91263
|
}
|
|
91264
91264
|
const methods = Array.isArray(method) ? method : [method];
|
|
91265
91265
|
for (const method2 of methods) {
|
|
91266
|
-
this._off(method2,
|
|
91266
|
+
this._off(method2, path26, constraints);
|
|
91267
91267
|
}
|
|
91268
91268
|
};
|
|
91269
|
-
Router.prototype._off = function _off(method,
|
|
91269
|
+
Router.prototype._off = function _off(method, path26, constraints) {
|
|
91270
91270
|
assert2(typeof method === "string", "Method should be a string");
|
|
91271
91271
|
assert2(httpMethods.includes(method), `Method '${method}' is not an http method.`);
|
|
91272
91272
|
function matcherWithoutConstraints(route) {
|
|
91273
|
-
return method !== route.method ||
|
|
91273
|
+
return method !== route.method || path26 !== route.path;
|
|
91274
91274
|
}
|
|
91275
91275
|
function matcherWithConstraints(route) {
|
|
91276
91276
|
return matcherWithoutConstraints(route) || !deepEqual(constraints, route.opts.constraints || {});
|
|
@@ -91307,37 +91307,37 @@ var require_find_my_way = __commonJS({
|
|
|
91307
91307
|
if (handle === null) return this._defaultRoute(req, res, ctx);
|
|
91308
91308
|
return ctx === void 0 ? handle.handler(req, res, handle.params, handle.store, handle.searchParams) : handle.handler.call(ctx, req, res, handle.params, handle.store, handle.searchParams);
|
|
91309
91309
|
};
|
|
91310
|
-
Router.prototype.find = function find(method,
|
|
91310
|
+
Router.prototype.find = function find(method, path26, derivedConstraints) {
|
|
91311
91311
|
let currentNode = this.trees[method];
|
|
91312
91312
|
if (currentNode === void 0) return null;
|
|
91313
|
-
if (
|
|
91314
|
-
|
|
91313
|
+
if (path26.charCodeAt(0) !== 47) {
|
|
91314
|
+
path26 = path26.replace(FULL_PATH_REGEXP, "/");
|
|
91315
91315
|
}
|
|
91316
91316
|
if (this.ignoreDuplicateSlashes) {
|
|
91317
|
-
|
|
91317
|
+
path26 = removeDuplicateSlashes(path26);
|
|
91318
91318
|
}
|
|
91319
91319
|
let sanitizedUrl;
|
|
91320
91320
|
let querystring2;
|
|
91321
91321
|
let shouldDecodeParam;
|
|
91322
91322
|
try {
|
|
91323
|
-
sanitizedUrl = safeDecodeURI(
|
|
91324
|
-
|
|
91323
|
+
sanitizedUrl = safeDecodeURI(path26, this.useSemicolonDelimiter);
|
|
91324
|
+
path26 = sanitizedUrl.path;
|
|
91325
91325
|
querystring2 = sanitizedUrl.querystring;
|
|
91326
91326
|
shouldDecodeParam = sanitizedUrl.shouldDecodeParam;
|
|
91327
91327
|
} catch (error48) {
|
|
91328
|
-
return this._onBadUrl(
|
|
91328
|
+
return this._onBadUrl(path26);
|
|
91329
91329
|
}
|
|
91330
91330
|
if (this.ignoreTrailingSlash) {
|
|
91331
|
-
|
|
91331
|
+
path26 = trimLastSlash(path26);
|
|
91332
91332
|
}
|
|
91333
|
-
const originPath =
|
|
91333
|
+
const originPath = path26;
|
|
91334
91334
|
if (this.caseSensitive === false) {
|
|
91335
|
-
|
|
91335
|
+
path26 = path26.toLowerCase();
|
|
91336
91336
|
}
|
|
91337
91337
|
const maxParamLength = this.maxParamLength;
|
|
91338
91338
|
let pathIndex = currentNode.prefix.length;
|
|
91339
91339
|
const params = [];
|
|
91340
|
-
const pathLen =
|
|
91340
|
+
const pathLen = path26.length;
|
|
91341
91341
|
const brothersNodesStack = [];
|
|
91342
91342
|
while (true) {
|
|
91343
91343
|
if (pathIndex === pathLen && currentNode.isLeafNode) {
|
|
@@ -91351,7 +91351,7 @@ var require_find_my_way = __commonJS({
|
|
|
91351
91351
|
};
|
|
91352
91352
|
}
|
|
91353
91353
|
}
|
|
91354
|
-
let node = currentNode.getNextNode(
|
|
91354
|
+
let node = currentNode.getNextNode(path26, pathIndex, brothersNodesStack, params.length);
|
|
91355
91355
|
if (node === null) {
|
|
91356
91356
|
if (brothersNodesStack.length === 0) {
|
|
91357
91357
|
return null;
|
|
@@ -91405,8 +91405,8 @@ var require_find_my_way = __commonJS({
|
|
|
91405
91405
|
Router.prototype._rebuild = function(routes36) {
|
|
91406
91406
|
this.reset();
|
|
91407
91407
|
for (const route of routes36) {
|
|
91408
|
-
const { method, path:
|
|
91409
|
-
this._on(method,
|
|
91408
|
+
const { method, path: path26, opts, handler, store } = route;
|
|
91409
|
+
this._on(method, path26, opts, handler, store);
|
|
91410
91410
|
}
|
|
91411
91411
|
};
|
|
91412
91412
|
Router.prototype._defaultRoute = function(req, res, ctx) {
|
|
@@ -91417,13 +91417,13 @@ var require_find_my_way = __commonJS({
|
|
|
91417
91417
|
res.end();
|
|
91418
91418
|
}
|
|
91419
91419
|
};
|
|
91420
|
-
Router.prototype._onBadUrl = function(
|
|
91420
|
+
Router.prototype._onBadUrl = function(path26) {
|
|
91421
91421
|
if (this.onBadUrl === null) {
|
|
91422
91422
|
return null;
|
|
91423
91423
|
}
|
|
91424
91424
|
const onBadUrl = this.onBadUrl;
|
|
91425
91425
|
return {
|
|
91426
|
-
handler: (req, res, ctx) => onBadUrl(
|
|
91426
|
+
handler: (req, res, ctx) => onBadUrl(path26, req, res),
|
|
91427
91427
|
params: {},
|
|
91428
91428
|
store: null
|
|
91429
91429
|
};
|
|
@@ -91455,12 +91455,12 @@ var require_find_my_way = __commonJS({
|
|
|
91455
91455
|
if (!httpMethods.hasOwnProperty(i)) continue;
|
|
91456
91456
|
const m2 = httpMethods[i];
|
|
91457
91457
|
const methodName = m2.toLowerCase();
|
|
91458
|
-
Router.prototype[methodName] = function(
|
|
91459
|
-
return this.on(m2,
|
|
91458
|
+
Router.prototype[methodName] = function(path26, handler, store) {
|
|
91459
|
+
return this.on(m2, path26, handler, store);
|
|
91460
91460
|
};
|
|
91461
91461
|
}
|
|
91462
|
-
Router.prototype.all = function(
|
|
91463
|
-
this.on(httpMethods,
|
|
91462
|
+
Router.prototype.all = function(path26, handler, store) {
|
|
91463
|
+
this.on(httpMethods, path26, handler, store);
|
|
91464
91464
|
};
|
|
91465
91465
|
Router.sanitizeUrlPath = function sanitizeUrlPath(url2, useSemicolonDelimiter) {
|
|
91466
91466
|
const decoded = safeDecodeURI(url2, useSemicolonDelimiter);
|
|
@@ -91473,14 +91473,14 @@ var require_find_my_way = __commonJS({
|
|
|
91473
91473
|
function escapeRegExp(string4) {
|
|
91474
91474
|
return string4.replace(ESCAPE_REGEXP, "\\$&");
|
|
91475
91475
|
}
|
|
91476
|
-
function removeDuplicateSlashes(
|
|
91477
|
-
return
|
|
91476
|
+
function removeDuplicateSlashes(path26) {
|
|
91477
|
+
return path26.indexOf("//") !== -1 ? path26.replace(REMOVE_DUPLICATE_SLASHES_REGEXP, "/") : path26;
|
|
91478
91478
|
}
|
|
91479
|
-
function trimLastSlash(
|
|
91480
|
-
if (
|
|
91481
|
-
return
|
|
91479
|
+
function trimLastSlash(path26) {
|
|
91480
|
+
if (path26.length > 1 && path26.charCodeAt(path26.length - 1) === 47) {
|
|
91481
|
+
return path26.slice(0, -1);
|
|
91482
91482
|
}
|
|
91483
|
-
return
|
|
91483
|
+
return path26;
|
|
91484
91484
|
}
|
|
91485
91485
|
function trimRegExpStartAndEnd(regexString) {
|
|
91486
91486
|
if (regexString.charCodeAt(1) === 94) {
|
|
@@ -91491,22 +91491,22 @@ var require_find_my_way = __commonJS({
|
|
|
91491
91491
|
}
|
|
91492
91492
|
return regexString;
|
|
91493
91493
|
}
|
|
91494
|
-
function getClosingParenthensePosition(
|
|
91494
|
+
function getClosingParenthensePosition(path26, idx) {
|
|
91495
91495
|
let parentheses = 1;
|
|
91496
|
-
while (idx <
|
|
91496
|
+
while (idx < path26.length) {
|
|
91497
91497
|
idx++;
|
|
91498
|
-
if (
|
|
91498
|
+
if (path26.charCodeAt(idx) === 92) {
|
|
91499
91499
|
idx++;
|
|
91500
91500
|
continue;
|
|
91501
91501
|
}
|
|
91502
|
-
if (
|
|
91502
|
+
if (path26.charCodeAt(idx) === 41) {
|
|
91503
91503
|
parentheses--;
|
|
91504
|
-
} else if (
|
|
91504
|
+
} else if (path26.charCodeAt(idx) === 40) {
|
|
91505
91505
|
parentheses++;
|
|
91506
91506
|
}
|
|
91507
91507
|
if (!parentheses) return idx;
|
|
91508
91508
|
}
|
|
91509
|
-
throw new TypeError('Invalid regexp expression in "' +
|
|
91509
|
+
throw new TypeError('Invalid regexp expression in "' + path26 + '"');
|
|
91510
91510
|
}
|
|
91511
91511
|
function defaultBuildPrettyMeta(route) {
|
|
91512
91512
|
if (!route) return {};
|
|
@@ -91738,12 +91738,12 @@ var require_route = __commonJS({
|
|
|
91738
91738
|
function route({ options: options2, isFastify }) {
|
|
91739
91739
|
throwIfAlreadyStarted("Cannot add route!");
|
|
91740
91740
|
const opts = { ...options2 };
|
|
91741
|
-
const
|
|
91741
|
+
const path26 = opts.url || opts.path || "";
|
|
91742
91742
|
if (!opts.handler) {
|
|
91743
|
-
throw new FST_ERR_ROUTE_MISSING_HANDLER(opts.method,
|
|
91743
|
+
throw new FST_ERR_ROUTE_MISSING_HANDLER(opts.method, path26);
|
|
91744
91744
|
}
|
|
91745
91745
|
if (opts.errorHandler !== void 0 && typeof opts.errorHandler !== "function") {
|
|
91746
|
-
throw new FST_ERR_ROUTE_HANDLER_NOT_FN(opts.method,
|
|
91746
|
+
throw new FST_ERR_ROUTE_HANDLER_NOT_FN(opts.method, path26);
|
|
91747
91747
|
}
|
|
91748
91748
|
validateBodyLimitOption(opts.bodyLimit);
|
|
91749
91749
|
const shouldExposeHead = opts.exposeHeadRoute ?? globalExposeHeadRoutes;
|
|
@@ -91752,22 +91752,22 @@ var require_route = __commonJS({
|
|
|
91752
91752
|
if (Array.isArray(opts.method)) {
|
|
91753
91753
|
for (let i = 0; i < opts.method.length; ++i) {
|
|
91754
91754
|
opts.method[i] = normalizeAndValidateMethod.call(this, opts.method[i]);
|
|
91755
|
-
validateSchemaBodyOption.call(this, opts.method[i],
|
|
91755
|
+
validateSchemaBodyOption.call(this, opts.method[i], path26, opts.schema);
|
|
91756
91756
|
isGetRoute = opts.method.includes("GET");
|
|
91757
91757
|
isHeadRoute = opts.method.includes("HEAD");
|
|
91758
91758
|
}
|
|
91759
91759
|
} else {
|
|
91760
91760
|
opts.method = normalizeAndValidateMethod.call(this, opts.method);
|
|
91761
|
-
validateSchemaBodyOption.call(this, opts.method,
|
|
91761
|
+
validateSchemaBodyOption.call(this, opts.method, path26, opts.schema);
|
|
91762
91762
|
isGetRoute = opts.method === "GET";
|
|
91763
91763
|
isHeadRoute = opts.method === "HEAD";
|
|
91764
91764
|
}
|
|
91765
91765
|
const headOpts = shouldExposeHead && isGetRoute ? { ...options2 } : null;
|
|
91766
91766
|
const prefix = this[kRoutePrefix];
|
|
91767
|
-
if (
|
|
91767
|
+
if (path26 === "/" && prefix.length > 0 && opts.method !== "HEAD") {
|
|
91768
91768
|
switch (opts.prefixTrailingSlash) {
|
|
91769
91769
|
case "slash":
|
|
91770
|
-
addNewRoute.call(this, { path:
|
|
91770
|
+
addNewRoute.call(this, { path: path26, isFastify });
|
|
91771
91771
|
break;
|
|
91772
91772
|
case "no-slash":
|
|
91773
91773
|
addNewRoute.call(this, { path: "", isFastify });
|
|
@@ -91776,20 +91776,20 @@ var require_route = __commonJS({
|
|
|
91776
91776
|
default:
|
|
91777
91777
|
addNewRoute.call(this, { path: "", isFastify });
|
|
91778
91778
|
if (ignoreTrailingSlash !== true && (ignoreDuplicateSlashes !== true || !prefix.endsWith("/"))) {
|
|
91779
|
-
addNewRoute.call(this, { path:
|
|
91779
|
+
addNewRoute.call(this, { path: path26, prefixing: true, isFastify });
|
|
91780
91780
|
}
|
|
91781
91781
|
}
|
|
91782
|
-
} else if (
|
|
91783
|
-
addNewRoute.call(this, { path:
|
|
91782
|
+
} else if (path26[0] === "/" && prefix.endsWith("/")) {
|
|
91783
|
+
addNewRoute.call(this, { path: path26.slice(1), isFastify });
|
|
91784
91784
|
} else {
|
|
91785
|
-
addNewRoute.call(this, { path:
|
|
91785
|
+
addNewRoute.call(this, { path: path26, isFastify });
|
|
91786
91786
|
}
|
|
91787
91787
|
return this;
|
|
91788
|
-
function addNewRoute({ path:
|
|
91789
|
-
const url2 = prefix +
|
|
91788
|
+
function addNewRoute({ path: path27, prefixing = false, isFastify: isFastify2 = false }) {
|
|
91789
|
+
const url2 = prefix + path27;
|
|
91790
91790
|
opts.url = url2;
|
|
91791
91791
|
opts.path = url2;
|
|
91792
|
-
opts.routePath =
|
|
91792
|
+
opts.routePath = path27;
|
|
91793
91793
|
opts.prefix = prefix;
|
|
91794
91794
|
opts.logLevel = opts.logLevel || this[kLogLevel];
|
|
91795
91795
|
if (this[kLogSerializers] || opts.logSerializers) {
|
|
@@ -91918,7 +91918,7 @@ var require_route = __commonJS({
|
|
|
91918
91918
|
});
|
|
91919
91919
|
if (shouldExposeHead && isGetRoute && !isHeadRoute && !hasHEADHandler) {
|
|
91920
91920
|
const onSendHandlers = parseHeadOnSendHandlers(headOpts.onSend);
|
|
91921
|
-
prepareRoute.call(this, { method: "HEAD", url:
|
|
91921
|
+
prepareRoute.call(this, { method: "HEAD", url: path27, options: { ...headOpts, onSend: onSendHandlers }, isFastify: true });
|
|
91922
91922
|
}
|
|
91923
91923
|
}
|
|
91924
91924
|
}
|
|
@@ -92021,9 +92021,9 @@ var require_route = __commonJS({
|
|
|
92021
92021
|
}
|
|
92022
92022
|
return method;
|
|
92023
92023
|
}
|
|
92024
|
-
function validateSchemaBodyOption(method,
|
|
92024
|
+
function validateSchemaBodyOption(method, path26, schema) {
|
|
92025
92025
|
if (this[kSupportedHTTPMethods].bodyless.has(method) && schema?.body) {
|
|
92026
|
-
throw new FST_ERR_ROUTE_BODY_VALIDATION_SCHEMA_NOT_SUPPORTED(method,
|
|
92026
|
+
throw new FST_ERR_ROUTE_BODY_VALIDATION_SCHEMA_NOT_SUPPORTED(method, path26);
|
|
92027
92027
|
}
|
|
92028
92028
|
}
|
|
92029
92029
|
function validateBodyLimitOption(bodyLimit) {
|
|
@@ -92116,7 +92116,7 @@ var require_four_oh_four = __commonJS({
|
|
|
92116
92116
|
});
|
|
92117
92117
|
}
|
|
92118
92118
|
function createOnBadUrl() {
|
|
92119
|
-
return function onBadUrl(
|
|
92119
|
+
return function onBadUrl(path26, req, res) {
|
|
92120
92120
|
const fourOhFourContext = this[kFourOhFourLevelInstance][kFourOhFourContext];
|
|
92121
92121
|
const id = getGenReqId(fourOhFourContext.server, req);
|
|
92122
92122
|
const childLogger = createChildLogger(fourOhFourContext, logger, req, id);
|
|
@@ -93805,7 +93805,7 @@ var require_parse_url = __commonJS({
|
|
|
93805
93805
|
var require_form_data = __commonJS({
|
|
93806
93806
|
"../../node_modules/.pnpm/light-my-request@6.6.0/node_modules/light-my-request/lib/form-data.js"(exports, module) {
|
|
93807
93807
|
"use strict";
|
|
93808
|
-
var { randomUUID:
|
|
93808
|
+
var { randomUUID: randomUUID27 } = __require("node:crypto");
|
|
93809
93809
|
var { Readable: Readable4 } = __require("node:stream");
|
|
93810
93810
|
var textEncoder;
|
|
93811
93811
|
function isFormDataLike(payload) {
|
|
@@ -93813,7 +93813,7 @@ var require_form_data = __commonJS({
|
|
|
93813
93813
|
}
|
|
93814
93814
|
function formDataToStream(formdata) {
|
|
93815
93815
|
textEncoder = textEncoder ?? new TextEncoder();
|
|
93816
|
-
const boundary = `----formdata-${
|
|
93816
|
+
const boundary = `----formdata-${randomUUID27()}`;
|
|
93817
93817
|
const prefix = `--${boundary}\r
|
|
93818
93818
|
Content-Disposition: form-data`;
|
|
93819
93819
|
const escape2 = (str2) => str2.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
|
|
@@ -95947,7 +95947,7 @@ var require_fastify = __commonJS({
|
|
|
95947
95947
|
}
|
|
95948
95948
|
fourOhFour.router.lookup(req, res);
|
|
95949
95949
|
}
|
|
95950
|
-
function onBadUrl(
|
|
95950
|
+
function onBadUrl(path26, req, res) {
|
|
95951
95951
|
if (options.frameworkErrors) {
|
|
95952
95952
|
const id = getGenReqId(onBadUrlContext.server, req);
|
|
95953
95953
|
const childLogger = createChildLogger(onBadUrlContext, options.logger, req, id);
|
|
@@ -95957,12 +95957,12 @@ var require_fastify = __commonJS({
|
|
|
95957
95957
|
if (resolvedDisableRequestLogging === false) {
|
|
95958
95958
|
childLogger.info({ req: request }, "incoming request");
|
|
95959
95959
|
}
|
|
95960
|
-
return options.frameworkErrors(new FST_ERR_BAD_URL(
|
|
95960
|
+
return options.frameworkErrors(new FST_ERR_BAD_URL(path26), request, reply);
|
|
95961
95961
|
}
|
|
95962
95962
|
const body = JSON.stringify({
|
|
95963
95963
|
error: "Bad Request",
|
|
95964
95964
|
code: "FST_ERR_BAD_URL",
|
|
95965
|
-
message: `'${
|
|
95965
|
+
message: `'${path26}' is not a valid url component`,
|
|
95966
95966
|
statusCode: 400
|
|
95967
95967
|
});
|
|
95968
95968
|
res.writeHead(400, {
|
|
@@ -97164,11 +97164,11 @@ var require_commonjs3 = __commonJS({
|
|
|
97164
97164
|
return (f2) => f2.length === len && f2 !== "." && f2 !== "..";
|
|
97165
97165
|
};
|
|
97166
97166
|
var defaultPlatform = typeof process === "object" && process ? typeof process.env === "object" && process.env && process.env.__MINIMATCH_TESTING_PLATFORM__ || process.platform : "posix";
|
|
97167
|
-
var
|
|
97167
|
+
var path26 = {
|
|
97168
97168
|
win32: { sep: "\\" },
|
|
97169
97169
|
posix: { sep: "/" }
|
|
97170
97170
|
};
|
|
97171
|
-
exports.sep = defaultPlatform === "win32" ?
|
|
97171
|
+
exports.sep = defaultPlatform === "win32" ? path26.win32.sep : path26.posix.sep;
|
|
97172
97172
|
exports.minimatch.sep = exports.sep;
|
|
97173
97173
|
exports.GLOBSTAR = /* @__PURE__ */ Symbol("globstar **");
|
|
97174
97174
|
exports.minimatch.GLOBSTAR = exports.GLOBSTAR;
|
|
@@ -97763,10 +97763,10 @@ var require_commonjs3 = __commonJS({
|
|
|
97763
97763
|
}
|
|
97764
97764
|
return filtered.join("/");
|
|
97765
97765
|
}).join("|");
|
|
97766
|
-
const [
|
|
97767
|
-
re2 = "^" +
|
|
97766
|
+
const [open5, close] = set2.length > 1 ? ["(?:", ")"] : ["", ""];
|
|
97767
|
+
re2 = "^" + open5 + re2 + close + "$";
|
|
97768
97768
|
if (this.partial) {
|
|
97769
|
-
re2 = "^(?:\\/|" +
|
|
97769
|
+
re2 = "^(?:\\/|" + open5 + re2.slice(1, -1) + close + ")$";
|
|
97770
97770
|
}
|
|
97771
97771
|
if (this.negate)
|
|
97772
97772
|
re2 = "^(?!" + re2 + ").+$";
|
|
@@ -100485,12 +100485,12 @@ var require_commonjs6 = __commonJS({
|
|
|
100485
100485
|
/**
|
|
100486
100486
|
* Get the Path object referenced by the string path, resolved from this Path
|
|
100487
100487
|
*/
|
|
100488
|
-
resolve(
|
|
100489
|
-
if (!
|
|
100488
|
+
resolve(path26) {
|
|
100489
|
+
if (!path26) {
|
|
100490
100490
|
return this;
|
|
100491
100491
|
}
|
|
100492
|
-
const rootPath = this.getRootString(
|
|
100493
|
-
const dir =
|
|
100492
|
+
const rootPath = this.getRootString(path26);
|
|
100493
|
+
const dir = path26.substring(rootPath.length);
|
|
100494
100494
|
const dirParts = dir.split(this.splitSep);
|
|
100495
100495
|
const result = rootPath ? this.getRoot(rootPath).#resolveParts(dirParts) : this.#resolveParts(dirParts);
|
|
100496
100496
|
return result;
|
|
@@ -101243,8 +101243,8 @@ var require_commonjs6 = __commonJS({
|
|
|
101243
101243
|
/**
|
|
101244
101244
|
* @internal
|
|
101245
101245
|
*/
|
|
101246
|
-
getRootString(
|
|
101247
|
-
return node_path_1.win32.parse(
|
|
101246
|
+
getRootString(path26) {
|
|
101247
|
+
return node_path_1.win32.parse(path26).root;
|
|
101248
101248
|
}
|
|
101249
101249
|
/**
|
|
101250
101250
|
* @internal
|
|
@@ -101291,8 +101291,8 @@ var require_commonjs6 = __commonJS({
|
|
|
101291
101291
|
/**
|
|
101292
101292
|
* @internal
|
|
101293
101293
|
*/
|
|
101294
|
-
getRootString(
|
|
101295
|
-
return
|
|
101294
|
+
getRootString(path26) {
|
|
101295
|
+
return path26.startsWith("/") ? "/" : "";
|
|
101296
101296
|
}
|
|
101297
101297
|
/**
|
|
101298
101298
|
* @internal
|
|
@@ -101382,11 +101382,11 @@ var require_commonjs6 = __commonJS({
|
|
|
101382
101382
|
/**
|
|
101383
101383
|
* Get the depth of a provided path, string, or the cwd
|
|
101384
101384
|
*/
|
|
101385
|
-
depth(
|
|
101386
|
-
if (typeof
|
|
101387
|
-
|
|
101385
|
+
depth(path26 = this.cwd) {
|
|
101386
|
+
if (typeof path26 === "string") {
|
|
101387
|
+
path26 = this.cwd.resolve(path26);
|
|
101388
101388
|
}
|
|
101389
|
-
return
|
|
101389
|
+
return path26.depth();
|
|
101390
101390
|
}
|
|
101391
101391
|
/**
|
|
101392
101392
|
* Return the cache of child entries. Exposed so subclasses can create
|
|
@@ -101873,9 +101873,9 @@ var require_commonjs6 = __commonJS({
|
|
|
101873
101873
|
process9();
|
|
101874
101874
|
return results;
|
|
101875
101875
|
}
|
|
101876
|
-
chdir(
|
|
101876
|
+
chdir(path26 = this.cwd) {
|
|
101877
101877
|
const oldCwd = this.cwd;
|
|
101878
|
-
this.cwd = typeof
|
|
101878
|
+
this.cwd = typeof path26 === "string" ? this.cwd.resolve(path26) : path26;
|
|
101879
101879
|
this.cwd[setAsCwd](oldCwd);
|
|
101880
101880
|
}
|
|
101881
101881
|
};
|
|
@@ -102263,8 +102263,8 @@ var require_processor = __commonJS({
|
|
|
102263
102263
|
}
|
|
102264
102264
|
// match, absolute, ifdir
|
|
102265
102265
|
entries() {
|
|
102266
|
-
return [...this.store.entries()].map(([
|
|
102267
|
-
|
|
102266
|
+
return [...this.store.entries()].map(([path26, n]) => [
|
|
102267
|
+
path26,
|
|
102268
102268
|
!!(n & 2),
|
|
102269
102269
|
!!(n & 1)
|
|
102270
102270
|
]);
|
|
@@ -102482,9 +102482,9 @@ var require_walker = __commonJS({
|
|
|
102482
102482
|
signal;
|
|
102483
102483
|
maxDepth;
|
|
102484
102484
|
includeChildMatches;
|
|
102485
|
-
constructor(patterns,
|
|
102485
|
+
constructor(patterns, path26, opts) {
|
|
102486
102486
|
this.patterns = patterns;
|
|
102487
|
-
this.path =
|
|
102487
|
+
this.path = path26;
|
|
102488
102488
|
this.opts = opts;
|
|
102489
102489
|
this.#sep = !opts.posix && opts.platform === "win32" ? "\\" : "/";
|
|
102490
102490
|
this.includeChildMatches = opts.includeChildMatches !== false;
|
|
@@ -102503,11 +102503,11 @@ var require_walker = __commonJS({
|
|
|
102503
102503
|
});
|
|
102504
102504
|
}
|
|
102505
102505
|
}
|
|
102506
|
-
#ignored(
|
|
102507
|
-
return this.seen.has(
|
|
102506
|
+
#ignored(path26) {
|
|
102507
|
+
return this.seen.has(path26) || !!this.#ignore?.ignored?.(path26);
|
|
102508
102508
|
}
|
|
102509
|
-
#childrenIgnored(
|
|
102510
|
-
return !!this.#ignore?.childrenIgnored?.(
|
|
102509
|
+
#childrenIgnored(path26) {
|
|
102510
|
+
return !!this.#ignore?.childrenIgnored?.(path26);
|
|
102511
102511
|
}
|
|
102512
102512
|
// backpressure mechanism
|
|
102513
102513
|
pause() {
|
|
@@ -102723,8 +102723,8 @@ var require_walker = __commonJS({
|
|
|
102723
102723
|
exports.GlobUtil = GlobUtil;
|
|
102724
102724
|
var GlobWalker = class extends GlobUtil {
|
|
102725
102725
|
matches = /* @__PURE__ */ new Set();
|
|
102726
|
-
constructor(patterns,
|
|
102727
|
-
super(patterns,
|
|
102726
|
+
constructor(patterns, path26, opts) {
|
|
102727
|
+
super(patterns, path26, opts);
|
|
102728
102728
|
}
|
|
102729
102729
|
matchEmit(e) {
|
|
102730
102730
|
this.matches.add(e);
|
|
@@ -102762,8 +102762,8 @@ var require_walker = __commonJS({
|
|
|
102762
102762
|
exports.GlobWalker = GlobWalker;
|
|
102763
102763
|
var GlobStream = class extends GlobUtil {
|
|
102764
102764
|
results;
|
|
102765
|
-
constructor(patterns,
|
|
102766
|
-
super(patterns,
|
|
102765
|
+
constructor(patterns, path26, opts) {
|
|
102766
|
+
super(patterns, path26, opts);
|
|
102767
102767
|
this.results = new minipass_1.Minipass({
|
|
102768
102768
|
signal: this.signal,
|
|
102769
102769
|
objectMode: true
|
|
@@ -103255,11 +103255,11 @@ var require_Mime = __commonJS({
|
|
|
103255
103255
|
}
|
|
103256
103256
|
}
|
|
103257
103257
|
};
|
|
103258
|
-
Mime.prototype.getType = function(
|
|
103259
|
-
|
|
103260
|
-
let last =
|
|
103258
|
+
Mime.prototype.getType = function(path26) {
|
|
103259
|
+
path26 = String(path26);
|
|
103260
|
+
let last = path26.replace(/^.*[/\\]/, "").toLowerCase();
|
|
103261
103261
|
let ext = last.replace(/^.*\./, "").toLowerCase();
|
|
103262
|
-
let hasPath = last.length <
|
|
103262
|
+
let hasPath = last.length < path26.length;
|
|
103263
103263
|
let hasDot = ext.length < last.length - 1;
|
|
103264
103264
|
return (hasDot || !hasPath) && this._types[ext] || null;
|
|
103265
103265
|
};
|
|
@@ -104289,7 +104289,7 @@ var require_send = __commonJS({
|
|
|
104289
104289
|
"../../node_modules/.pnpm/@fastify+send@4.1.0/node_modules/@fastify/send/lib/send.js"(exports, module) {
|
|
104290
104290
|
"use strict";
|
|
104291
104291
|
var fs15 = __require("node:fs");
|
|
104292
|
-
var
|
|
104292
|
+
var path26 = __require("node:path");
|
|
104293
104293
|
var stream = __require("node:stream");
|
|
104294
104294
|
var debug = __require("node:util").debuglog("send");
|
|
104295
104295
|
var decode3 = require_fast_decode_uri_component();
|
|
@@ -104305,11 +104305,11 @@ var require_send = __commonJS({
|
|
|
104305
104305
|
var { parseBytesRange } = require_parseBytesRange();
|
|
104306
104306
|
var { parseTokenList } = require_parseTokenList();
|
|
104307
104307
|
var { createHttpError } = require_createHttpError();
|
|
104308
|
-
var extname =
|
|
104309
|
-
var join2 =
|
|
104310
|
-
var normalize =
|
|
104311
|
-
var resolve3 =
|
|
104312
|
-
var sep2 =
|
|
104308
|
+
var extname = path26.extname;
|
|
104309
|
+
var join2 = path26.join;
|
|
104310
|
+
var normalize = path26.normalize;
|
|
104311
|
+
var resolve3 = path26.resolve;
|
|
104312
|
+
var sep2 = path26.sep;
|
|
104313
104313
|
var Readable4 = stream.Readable;
|
|
104314
104314
|
var BYTES_RANGE_REGEXP = /^ *bytes=/;
|
|
104315
104315
|
var MAX_MAXAGE = 60 * 60 * 24 * 365 * 1e3;
|
|
@@ -104376,36 +104376,36 @@ var require_send = __commonJS({
|
|
|
104376
104376
|
};
|
|
104377
104377
|
}
|
|
104378
104378
|
function normalizePath(_path, root) {
|
|
104379
|
-
let
|
|
104380
|
-
if (
|
|
104379
|
+
let path27 = decode3(_path);
|
|
104380
|
+
if (path27 == null) {
|
|
104381
104381
|
return { statusCode: 400 };
|
|
104382
104382
|
}
|
|
104383
|
-
if (~
|
|
104383
|
+
if (~path27.indexOf("\0")) {
|
|
104384
104384
|
return { statusCode: 400 };
|
|
104385
104385
|
}
|
|
104386
104386
|
let parts;
|
|
104387
104387
|
if (root !== null) {
|
|
104388
|
-
if (
|
|
104389
|
-
|
|
104388
|
+
if (path27) {
|
|
104389
|
+
path27 = normalize("." + sep2 + path27);
|
|
104390
104390
|
}
|
|
104391
|
-
if (UP_PATH_REGEXP.test(
|
|
104392
|
-
debug('malicious path "%s"',
|
|
104391
|
+
if (UP_PATH_REGEXP.test(path27)) {
|
|
104392
|
+
debug('malicious path "%s"', path27);
|
|
104393
104393
|
return { statusCode: 403 };
|
|
104394
104394
|
}
|
|
104395
|
-
parts =
|
|
104396
|
-
|
|
104395
|
+
parts = path27.split(sep2);
|
|
104396
|
+
path27 = normalize(join2(root, path27));
|
|
104397
104397
|
} else {
|
|
104398
|
-
if (UP_PATH_REGEXP.test(
|
|
104399
|
-
debug('malicious path "%s"',
|
|
104398
|
+
if (UP_PATH_REGEXP.test(path27)) {
|
|
104399
|
+
debug('malicious path "%s"', path27);
|
|
104400
104400
|
return { statusCode: 403 };
|
|
104401
104401
|
}
|
|
104402
|
-
parts = normalize(
|
|
104403
|
-
|
|
104402
|
+
parts = normalize(path27).split(sep2);
|
|
104403
|
+
path27 = resolve3(path27);
|
|
104404
104404
|
}
|
|
104405
|
-
return { path:
|
|
104405
|
+
return { path: path27, parts };
|
|
104406
104406
|
}
|
|
104407
|
-
function hasTrailingSlash2(
|
|
104408
|
-
return
|
|
104407
|
+
function hasTrailingSlash2(path27) {
|
|
104408
|
+
return path27[path27.length - 1] === "/";
|
|
104409
104409
|
}
|
|
104410
104410
|
function isConditionalGET(request) {
|
|
104411
104411
|
return request.headers["if-match"] || request.headers["if-unmodified-since"] || request.headers["if-none-match"] || request.headers["if-modified-since"];
|
|
@@ -104495,10 +104495,10 @@ var require_send = __commonJS({
|
|
|
104495
104495
|
lastModified <= ifRangeTimestamp
|
|
104496
104496
|
);
|
|
104497
104497
|
}
|
|
104498
|
-
function tryStat(
|
|
104498
|
+
function tryStat(path27) {
|
|
104499
104499
|
return new Promise((resolve4) => {
|
|
104500
|
-
fs15.stat(
|
|
104501
|
-
resolve4({ error: error48, stat:
|
|
104500
|
+
fs15.stat(path27, function onstat(error48, stat3) {
|
|
104501
|
+
resolve4({ error: error48, stat: stat3 });
|
|
104502
104502
|
});
|
|
104503
104503
|
});
|
|
104504
104504
|
}
|
|
@@ -104533,7 +104533,7 @@ var require_send = __commonJS({
|
|
|
104533
104533
|
return sendError(500, err);
|
|
104534
104534
|
}
|
|
104535
104535
|
}
|
|
104536
|
-
function sendNotModified(headers,
|
|
104536
|
+
function sendNotModified(headers, path27, stat3) {
|
|
104537
104537
|
debug("not modified");
|
|
104538
104538
|
delete headers["Content-Encoding"];
|
|
104539
104539
|
delete headers["Content-Language"];
|
|
@@ -104546,15 +104546,15 @@ var require_send = __commonJS({
|
|
|
104546
104546
|
stream: Readable4.from(""),
|
|
104547
104547
|
// metadata
|
|
104548
104548
|
type: "file",
|
|
104549
|
-
metadata: { path:
|
|
104549
|
+
metadata: { path: path27, stat: stat3 }
|
|
104550
104550
|
};
|
|
104551
104551
|
}
|
|
104552
|
-
function sendFileDirectly(request,
|
|
104553
|
-
let len =
|
|
104552
|
+
function sendFileDirectly(request, path27, stat3, options) {
|
|
104553
|
+
let len = stat3.size;
|
|
104554
104554
|
let offset = options.start ?? 0;
|
|
104555
104555
|
let statusCode = 200;
|
|
104556
104556
|
const headers = {};
|
|
104557
|
-
debug('send "%s"',
|
|
104557
|
+
debug('send "%s"', path27);
|
|
104558
104558
|
if (options.acceptRanges) {
|
|
104559
104559
|
debug("accept ranges");
|
|
104560
104560
|
headers["Accept-Ranges"] = "bytes";
|
|
@@ -104568,17 +104568,17 @@ var require_send = __commonJS({
|
|
|
104568
104568
|
headers["Cache-Control"] = cacheControl;
|
|
104569
104569
|
}
|
|
104570
104570
|
if (options.lastModified) {
|
|
104571
|
-
const modified =
|
|
104571
|
+
const modified = stat3.mtime.toUTCString();
|
|
104572
104572
|
debug("modified %s", modified);
|
|
104573
104573
|
headers["Last-Modified"] = modified;
|
|
104574
104574
|
}
|
|
104575
104575
|
if (options.etag) {
|
|
104576
|
-
const etag = 'W/"' +
|
|
104576
|
+
const etag = 'W/"' + stat3.size.toString(16) + "-" + stat3.mtime.getTime().toString(16) + '"';
|
|
104577
104577
|
debug("etag %s", etag);
|
|
104578
104578
|
headers.ETag = etag;
|
|
104579
104579
|
}
|
|
104580
104580
|
if (options.contentType) {
|
|
104581
|
-
let type = mime.getType(
|
|
104581
|
+
let type = mime.getType(path27) || mime.default_type;
|
|
104582
104582
|
debug("content-type %s", type);
|
|
104583
104583
|
if (type && isUtf8MimeType(type)) {
|
|
104584
104584
|
type += "; charset=utf-8";
|
|
@@ -104592,7 +104592,7 @@ var require_send = __commonJS({
|
|
|
104592
104592
|
return sendError(412);
|
|
104593
104593
|
}
|
|
104594
104594
|
if (isNotModifiedFailure(request, headers)) {
|
|
104595
|
-
return sendNotModified(headers,
|
|
104595
|
+
return sendNotModified(headers, path27, stat3);
|
|
104596
104596
|
}
|
|
104597
104597
|
}
|
|
104598
104598
|
len = Math.max(0, len - offset);
|
|
@@ -104634,10 +104634,10 @@ var require_send = __commonJS({
|
|
|
104634
104634
|
stream: Readable4.from(""),
|
|
104635
104635
|
// metadata
|
|
104636
104636
|
type: "file",
|
|
104637
|
-
metadata: { path:
|
|
104637
|
+
metadata: { path: path27, stat: stat3 }
|
|
104638
104638
|
};
|
|
104639
104639
|
}
|
|
104640
|
-
const stream2 = fs15.createReadStream(
|
|
104640
|
+
const stream2 = fs15.createReadStream(path27, {
|
|
104641
104641
|
highWaterMark: options.highWaterMark,
|
|
104642
104642
|
start: offset,
|
|
104643
104643
|
end: Math.max(offset, offset + len - 1)
|
|
@@ -104648,10 +104648,10 @@ var require_send = __commonJS({
|
|
|
104648
104648
|
stream: stream2,
|
|
104649
104649
|
// metadata
|
|
104650
104650
|
type: "file",
|
|
104651
|
-
metadata: { path:
|
|
104651
|
+
metadata: { path: path27, stat: stat3 }
|
|
104652
104652
|
};
|
|
104653
104653
|
}
|
|
104654
|
-
function sendRedirect(
|
|
104654
|
+
function sendRedirect(path27, options) {
|
|
104655
104655
|
if (hasTrailingSlash2(options.path)) {
|
|
104656
104656
|
return sendError(403);
|
|
104657
104657
|
}
|
|
@@ -104669,44 +104669,44 @@ var require_send = __commonJS({
|
|
|
104669
104669
|
stream: Readable4.from(doc[0]),
|
|
104670
104670
|
// metadata
|
|
104671
104671
|
type: "directory",
|
|
104672
|
-
metadata: { requestPath: options.path, path:
|
|
104672
|
+
metadata: { requestPath: options.path, path: path27 }
|
|
104673
104673
|
};
|
|
104674
104674
|
}
|
|
104675
|
-
async function sendIndex(request,
|
|
104675
|
+
async function sendIndex(request, path27, options) {
|
|
104676
104676
|
let err;
|
|
104677
104677
|
for (let i = 0; i < options.index.length; i++) {
|
|
104678
104678
|
const index = options.index[i];
|
|
104679
|
-
const p2 = join2(
|
|
104680
|
-
const { error: error48, stat:
|
|
104679
|
+
const p2 = join2(path27, index);
|
|
104680
|
+
const { error: error48, stat: stat3 } = await tryStat(p2);
|
|
104681
104681
|
if (error48) {
|
|
104682
104682
|
err = error48;
|
|
104683
104683
|
continue;
|
|
104684
104684
|
}
|
|
104685
|
-
if (
|
|
104686
|
-
return sendFileDirectly(request, p2,
|
|
104685
|
+
if (stat3.isDirectory()) continue;
|
|
104686
|
+
return sendFileDirectly(request, p2, stat3, options);
|
|
104687
104687
|
}
|
|
104688
104688
|
if (err) {
|
|
104689
104689
|
return sendStatError(err);
|
|
104690
104690
|
}
|
|
104691
104691
|
return sendError(404);
|
|
104692
104692
|
}
|
|
104693
|
-
async function sendFile(request,
|
|
104694
|
-
const { error: error48, stat:
|
|
104695
|
-
if (error48 && error48.code === "ENOENT" && !extname(
|
|
104693
|
+
async function sendFile(request, path27, options) {
|
|
104694
|
+
const { error: error48, stat: stat3 } = await tryStat(path27);
|
|
104695
|
+
if (error48 && error48.code === "ENOENT" && !extname(path27) && path27[path27.length - 1] !== sep2) {
|
|
104696
104696
|
let err = error48;
|
|
104697
104697
|
for (let i = 0; i < options.extensions.length; i++) {
|
|
104698
104698
|
const extension = options.extensions[i];
|
|
104699
|
-
const p2 =
|
|
104700
|
-
const { error: error49, stat:
|
|
104699
|
+
const p2 = path27 + "." + extension;
|
|
104700
|
+
const { error: error49, stat: stat4 } = await tryStat(p2);
|
|
104701
104701
|
if (error49) {
|
|
104702
104702
|
err = error49;
|
|
104703
104703
|
continue;
|
|
104704
104704
|
}
|
|
104705
|
-
if (
|
|
104705
|
+
if (stat4.isDirectory()) {
|
|
104706
104706
|
err = null;
|
|
104707
104707
|
continue;
|
|
104708
104708
|
}
|
|
104709
|
-
return sendFileDirectly(request, p2,
|
|
104709
|
+
return sendFileDirectly(request, p2, stat4, options);
|
|
104710
104710
|
}
|
|
104711
104711
|
if (err) {
|
|
104712
104712
|
return sendStatError(err);
|
|
@@ -104714,14 +104714,14 @@ var require_send = __commonJS({
|
|
|
104714
104714
|
return sendError(404);
|
|
104715
104715
|
}
|
|
104716
104716
|
if (error48) return sendStatError(error48);
|
|
104717
|
-
if (
|
|
104718
|
-
return sendFileDirectly(request,
|
|
104717
|
+
if (stat3.isDirectory()) return sendRedirect(path27, options);
|
|
104718
|
+
return sendFileDirectly(request, path27, stat3, options);
|
|
104719
104719
|
}
|
|
104720
104720
|
async function send(request, _path, options) {
|
|
104721
104721
|
const opts = normalizeOptions(options);
|
|
104722
104722
|
opts.path = _path;
|
|
104723
104723
|
const parsed = normalizePath(_path, opts.root);
|
|
104724
|
-
const { path:
|
|
104724
|
+
const { path: path27, parts } = parsed;
|
|
104725
104725
|
if (parsed.statusCode !== void 0) {
|
|
104726
104726
|
return sendError(parsed.statusCode);
|
|
104727
104727
|
}
|
|
@@ -104731,23 +104731,23 @@ var require_send = __commonJS({
|
|
|
104731
104731
|
/* c8 ignore start */
|
|
104732
104732
|
/* unreachable, because NODE_DEBUG can not be set after process is running */
|
|
104733
104733
|
case 0:
|
|
104734
|
-
debug('allow dotfile "%s"',
|
|
104734
|
+
debug('allow dotfile "%s"', path27);
|
|
104735
104735
|
break;
|
|
104736
104736
|
/* c8 ignore stop */
|
|
104737
104737
|
case 2:
|
|
104738
|
-
debug('deny dotfile "%s"',
|
|
104738
|
+
debug('deny dotfile "%s"', path27);
|
|
104739
104739
|
return sendError(403);
|
|
104740
104740
|
case 1:
|
|
104741
104741
|
// 'ignore'
|
|
104742
104742
|
default:
|
|
104743
|
-
debug('ignore dotfile "%s"',
|
|
104743
|
+
debug('ignore dotfile "%s"', path27);
|
|
104744
104744
|
return sendError(404);
|
|
104745
104745
|
}
|
|
104746
104746
|
}
|
|
104747
104747
|
if (opts.index.length && hasTrailingSlash2(_path)) {
|
|
104748
|
-
return sendIndex(request,
|
|
104748
|
+
return sendIndex(request, path27, opts);
|
|
104749
104749
|
}
|
|
104750
|
-
return sendFile(request,
|
|
104750
|
+
return sendFile(request, path27, opts);
|
|
104751
104751
|
}
|
|
104752
104752
|
module.exports.send = send;
|
|
104753
104753
|
}
|
|
@@ -105134,16 +105134,16 @@ var require_dirList = __commonJS({
|
|
|
105134
105134
|
"../../node_modules/.pnpm/@fastify+static@8.3.0/node_modules/@fastify/static/lib/dirList.js"(exports, module) {
|
|
105135
105135
|
"use strict";
|
|
105136
105136
|
var os2 = __require("node:os");
|
|
105137
|
-
var
|
|
105137
|
+
var path26 = __require("node:path");
|
|
105138
105138
|
var fs15 = __require("node:fs/promises");
|
|
105139
105139
|
var fastq = require_queue();
|
|
105140
105140
|
var fastqConcurrency = Math.max(1, os2.cpus().length - 1);
|
|
105141
105141
|
var dirList = {
|
|
105142
105142
|
_getExtendedInfo: async function(dir, info) {
|
|
105143
|
-
const depth = dir.split(
|
|
105143
|
+
const depth = dir.split(path26.sep).length;
|
|
105144
105144
|
const files = await fs15.readdir(dir);
|
|
105145
105145
|
const worker = async (filename) => {
|
|
105146
|
-
const filePath =
|
|
105146
|
+
const filePath = path26.join(dir, filename);
|
|
105147
105147
|
let stats;
|
|
105148
105148
|
try {
|
|
105149
105149
|
stats = await fs15.stat(filePath);
|
|
@@ -105152,12 +105152,12 @@ var require_dirList = __commonJS({
|
|
|
105152
105152
|
}
|
|
105153
105153
|
if (stats.isDirectory()) {
|
|
105154
105154
|
info.totalFolderCount++;
|
|
105155
|
-
filePath.split(
|
|
105155
|
+
filePath.split(path26.sep).length === depth + 1 && info.folderCount++;
|
|
105156
105156
|
await dirList._getExtendedInfo(filePath, info);
|
|
105157
105157
|
} else {
|
|
105158
105158
|
info.totalSize += stats.size;
|
|
105159
105159
|
info.totalFileCount++;
|
|
105160
|
-
filePath.split(
|
|
105160
|
+
filePath.split(path26.sep).length === depth + 1 && info.fileCount++;
|
|
105161
105161
|
info.lastModified = Math.max(info.lastModified, stats.mtimeMs);
|
|
105162
105162
|
}
|
|
105163
105163
|
};
|
|
@@ -105200,14 +105200,14 @@ var require_dirList = __commonJS({
|
|
|
105200
105200
|
const worker = async (filename) => {
|
|
105201
105201
|
let stats;
|
|
105202
105202
|
try {
|
|
105203
|
-
stats = await fs15.stat(
|
|
105203
|
+
stats = await fs15.stat(path26.join(dir, filename));
|
|
105204
105204
|
} catch {
|
|
105205
105205
|
return;
|
|
105206
105206
|
}
|
|
105207
105207
|
const entry = { name: filename, stats };
|
|
105208
105208
|
if (stats.isDirectory()) {
|
|
105209
105209
|
if (options.extendedFolderInfo) {
|
|
105210
|
-
entry.extendedInfo = await dirList.getExtendedInfo(
|
|
105210
|
+
entry.extendedInfo = await dirList.getExtendedInfo(path26.join(dir, filename));
|
|
105211
105211
|
}
|
|
105212
105212
|
entries.dirs.push(entry);
|
|
105213
105213
|
} else {
|
|
@@ -105263,11 +105263,11 @@ var require_dirList = __commonJS({
|
|
|
105263
105263
|
* @return {ListFile}
|
|
105264
105264
|
*/
|
|
105265
105265
|
htmlInfo: function(entry, route, prefix, options) {
|
|
105266
|
-
if (options.names?.includes(
|
|
105267
|
-
route =
|
|
105266
|
+
if (options.names?.includes(path26.basename(route))) {
|
|
105267
|
+
route = path26.normalize(path26.join(route, ".."));
|
|
105268
105268
|
}
|
|
105269
105269
|
return {
|
|
105270
|
-
href: encodeURI(
|
|
105270
|
+
href: encodeURI(path26.join(prefix, route, entry.name).replace(/\\/gu, "/")),
|
|
105271
105271
|
name: entry.name,
|
|
105272
105272
|
stats: entry.stats,
|
|
105273
105273
|
extendedInfo: entry.extendedInfo
|
|
@@ -105280,7 +105280,7 @@ var require_dirList = __commonJS({
|
|
|
105280
105280
|
* @return {boolean}
|
|
105281
105281
|
*/
|
|
105282
105282
|
handle: function(route, options) {
|
|
105283
|
-
return options.names?.includes(
|
|
105283
|
+
return options.names?.includes(path26.basename(route)) || // match trailing slash
|
|
105284
105284
|
((options.names?.includes("/") && route[route.length - 1] === "/") ?? false);
|
|
105285
105285
|
},
|
|
105286
105286
|
/**
|
|
@@ -105290,7 +105290,7 @@ var require_dirList = __commonJS({
|
|
|
105290
105290
|
*/
|
|
105291
105291
|
path: function(root, route) {
|
|
105292
105292
|
const _route = route[route.length - 1] === "/" ? route + "none" : route;
|
|
105293
|
-
return
|
|
105293
|
+
return path26.dirname(path26.join(root, _route));
|
|
105294
105294
|
},
|
|
105295
105295
|
/**
|
|
105296
105296
|
* validate options
|
|
@@ -105325,7 +105325,7 @@ var require_dirList = __commonJS({
|
|
|
105325
105325
|
var require_static = __commonJS({
|
|
105326
105326
|
"../../node_modules/.pnpm/@fastify+static@8.3.0/node_modules/@fastify/static/index.js"(exports, module) {
|
|
105327
105327
|
"use strict";
|
|
105328
|
-
var
|
|
105328
|
+
var path26 = __require("node:path");
|
|
105329
105329
|
var { fileURLToPath: fileURLToPath4 } = __require("node:url");
|
|
105330
105330
|
var { statSync: statSync2 } = __require("node:fs");
|
|
105331
105331
|
var { glob } = require_commonjs7();
|
|
@@ -105436,7 +105436,7 @@ var require_static = __commonJS({
|
|
|
105436
105436
|
const routes36 = /* @__PURE__ */ new Set();
|
|
105437
105437
|
const roots = Array.isArray(sendOptions.root) ? sendOptions.root : [sendOptions.root];
|
|
105438
105438
|
for (let rootPath of roots) {
|
|
105439
|
-
rootPath = rootPath.split(
|
|
105439
|
+
rootPath = rootPath.split(path26.win32.sep).join(path26.posix.sep);
|
|
105440
105440
|
!rootPath.endsWith("/") && (rootPath += "/");
|
|
105441
105441
|
const files = await glob("**/**", {
|
|
105442
105442
|
cwd: rootPath,
|
|
@@ -105447,16 +105447,16 @@ var require_static = __commonJS({
|
|
|
105447
105447
|
ignore: opts.globIgnore
|
|
105448
105448
|
});
|
|
105449
105449
|
for (let file2 of files) {
|
|
105450
|
-
file2 = file2.split(
|
|
105450
|
+
file2 = file2.split(path26.win32.sep).join(path26.posix.sep);
|
|
105451
105451
|
const route = prefix + file2;
|
|
105452
105452
|
if (routes36.has(route)) {
|
|
105453
105453
|
continue;
|
|
105454
105454
|
}
|
|
105455
105455
|
routes36.add(route);
|
|
105456
105456
|
setUpHeadAndGet(routeOpts, route, `/${file2}`, rootPath);
|
|
105457
|
-
const key2 =
|
|
105457
|
+
const key2 = path26.posix.basename(route);
|
|
105458
105458
|
if (indexes.has(key2) && !indexDirs.has(key2)) {
|
|
105459
|
-
indexDirs.set(
|
|
105459
|
+
indexDirs.set(path26.posix.dirname(route), rootPath);
|
|
105460
105460
|
}
|
|
105461
105461
|
}
|
|
105462
105462
|
}
|
|
@@ -105480,7 +105480,7 @@ var require_static = __commonJS({
|
|
|
105480
105480
|
} else {
|
|
105481
105481
|
options.root = rootPath;
|
|
105482
105482
|
}
|
|
105483
|
-
} else if (
|
|
105483
|
+
} else if (path26.isAbsolute(pathname) === false) {
|
|
105484
105484
|
return reply.callNotFound();
|
|
105485
105485
|
}
|
|
105486
105486
|
if (allowedPath && !allowedPath(pathname, options.root, request)) {
|
|
@@ -105512,11 +105512,11 @@ var require_static = __commonJS({
|
|
|
105512
105512
|
} = await send(request.raw, encodeURI(pathnameForSend), options);
|
|
105513
105513
|
switch (type) {
|
|
105514
105514
|
case "directory": {
|
|
105515
|
-
const
|
|
105515
|
+
const path27 = metadata.path;
|
|
105516
105516
|
if (opts.list) {
|
|
105517
105517
|
await dirList.send({
|
|
105518
105518
|
reply,
|
|
105519
|
-
dir:
|
|
105519
|
+
dir: path27,
|
|
105520
105520
|
options: opts.list,
|
|
105521
105521
|
route: pathname,
|
|
105522
105522
|
prefix,
|
|
@@ -105673,7 +105673,7 @@ var require_static = __commonJS({
|
|
|
105673
105673
|
'"root" option array contains one or more duplicate paths'
|
|
105674
105674
|
);
|
|
105675
105675
|
}
|
|
105676
|
-
rootPath.map((
|
|
105676
|
+
rootPath.map((path27) => checkPath(fastify2, path27));
|
|
105677
105677
|
return;
|
|
105678
105678
|
}
|
|
105679
105679
|
if (typeof rootPath === "string") {
|
|
@@ -105685,7 +105685,7 @@ var require_static = __commonJS({
|
|
|
105685
105685
|
if (typeof rootPath !== "string") {
|
|
105686
105686
|
throw new TypeError('"root" option must be a string');
|
|
105687
105687
|
}
|
|
105688
|
-
if (
|
|
105688
|
+
if (path26.isAbsolute(rootPath) === false) {
|
|
105689
105689
|
throw new Error('"root" option must be an absolute path');
|
|
105690
105690
|
}
|
|
105691
105691
|
let pathStat;
|
|
@@ -105702,8 +105702,8 @@ var require_static = __commonJS({
|
|
|
105702
105702
|
throw new Error('"root" option must point to a directory');
|
|
105703
105703
|
}
|
|
105704
105704
|
}
|
|
105705
|
-
function getContentType(
|
|
105706
|
-
const type = send.mime.getType(
|
|
105705
|
+
function getContentType(path27) {
|
|
105706
|
+
const type = send.mime.getType(path27) || send.mime.default_type;
|
|
105707
105707
|
if (!send.isUtf8MimeType(type)) {
|
|
105708
105708
|
return type;
|
|
105709
105709
|
}
|
|
@@ -105712,7 +105712,7 @@ var require_static = __commonJS({
|
|
|
105712
105712
|
function findIndexFile(pathname, root, indexFiles = ["index.html"]) {
|
|
105713
105713
|
if (Array.isArray(indexFiles)) {
|
|
105714
105714
|
return indexFiles.find((filename) => {
|
|
105715
|
-
const p2 =
|
|
105715
|
+
const p2 = path26.join(root, pathname, filename);
|
|
105716
105716
|
try {
|
|
105717
105717
|
const stats = statSync2(p2);
|
|
105718
105718
|
return !stats.isDirectory();
|
|
@@ -108898,7 +108898,7 @@ var require_stream = __commonJS({
|
|
|
108898
108898
|
};
|
|
108899
108899
|
duplex._final = function(callback) {
|
|
108900
108900
|
if (ws.readyState === ws.CONNECTING) {
|
|
108901
|
-
ws.once("open", function
|
|
108901
|
+
ws.once("open", function open5() {
|
|
108902
108902
|
duplex._final(callback);
|
|
108903
108903
|
});
|
|
108904
108904
|
return;
|
|
@@ -108919,7 +108919,7 @@ var require_stream = __commonJS({
|
|
|
108919
108919
|
};
|
|
108920
108920
|
duplex._write = function(chunk2, encoding, callback) {
|
|
108921
108921
|
if (ws.readyState === ws.CONNECTING) {
|
|
108922
|
-
ws.once("open", function
|
|
108922
|
+
ws.once("open", function open5() {
|
|
108923
108923
|
duplex._write(chunk2, encoding, callback);
|
|
108924
108924
|
});
|
|
108925
108925
|
return;
|
|
@@ -112423,7 +112423,7 @@ var require_websocket2 = __commonJS({
|
|
|
112423
112423
|
delete wssOptions.server;
|
|
112424
112424
|
const wss = new WebSocket2.Server(wssOptions);
|
|
112425
112425
|
fastify2.decorate("websocketServer", wss);
|
|
112426
|
-
async function injectWS(
|
|
112426
|
+
async function injectWS(path26 = "/", upgradeContext = {}, options = {}) {
|
|
112427
112427
|
const server2Client = new PassThrough();
|
|
112428
112428
|
const client2Server = new PassThrough();
|
|
112429
112429
|
const serverStream = new Duplexify(server2Client, client2Server);
|
|
@@ -112463,7 +112463,7 @@ var require_websocket2 = __commonJS({
|
|
|
112463
112463
|
"sec-websocket-key": randomBytes5(16).toString("base64")
|
|
112464
112464
|
},
|
|
112465
112465
|
httpVersion: "1.1",
|
|
112466
|
-
url:
|
|
112466
|
+
url: path26,
|
|
112467
112467
|
[kWs]: serverStream,
|
|
112468
112468
|
[kWsHead]: head
|
|
112469
112469
|
};
|
|
@@ -113804,20 +113804,20 @@ var require_parseParams = __commonJS({
|
|
|
113804
113804
|
var require_basename = __commonJS({
|
|
113805
113805
|
"../../node_modules/.pnpm/@fastify+busboy@3.2.0/node_modules/@fastify/busboy/lib/utils/basename.js"(exports, module) {
|
|
113806
113806
|
"use strict";
|
|
113807
|
-
module.exports = function basename(
|
|
113808
|
-
if (typeof
|
|
113807
|
+
module.exports = function basename(path26) {
|
|
113808
|
+
if (typeof path26 !== "string") {
|
|
113809
113809
|
return "";
|
|
113810
113810
|
}
|
|
113811
|
-
for (var i =
|
|
113812
|
-
switch (
|
|
113811
|
+
for (var i = path26.length - 1; i >= 0; --i) {
|
|
113812
|
+
switch (path26.charCodeAt(i)) {
|
|
113813
113813
|
case 47:
|
|
113814
113814
|
// '/'
|
|
113815
113815
|
case 92:
|
|
113816
|
-
|
|
113817
|
-
return
|
|
113816
|
+
path26 = path26.slice(i + 1);
|
|
113817
|
+
return path26 === ".." || path26 === "." ? "" : path26;
|
|
113818
113818
|
}
|
|
113819
113819
|
}
|
|
113820
|
-
return
|
|
113820
|
+
return path26 === ".." || path26 === "." ? "" : path26;
|
|
113821
113821
|
};
|
|
113822
113822
|
}
|
|
113823
113823
|
});
|
|
@@ -115023,7 +115023,7 @@ var require_multipart2 = __commonJS({
|
|
|
115023
115023
|
var fp37 = require_plugin2();
|
|
115024
115024
|
var { createWriteStream: createWriteStream2 } = __require("node:fs");
|
|
115025
115025
|
var { unlink: unlink2 } = __require("node:fs/promises");
|
|
115026
|
-
var
|
|
115026
|
+
var path26 = __require("node:path");
|
|
115027
115027
|
var { generateId: generateId3 } = require_generateId();
|
|
115028
115028
|
var createError = require_error2();
|
|
115029
115029
|
var streamToNull = require_stream_consumer();
|
|
@@ -115378,7 +115378,7 @@ var require_multipart2 = __commonJS({
|
|
|
115378
115378
|
this.tmpUploads = [];
|
|
115379
115379
|
let i = 0;
|
|
115380
115380
|
for await (const file2 of files) {
|
|
115381
|
-
const filepath =
|
|
115381
|
+
const filepath = path26.join(tmpdir3, generateId3() + path26.extname(file2.filename || "file" + i++));
|
|
115382
115382
|
const target = createWriteStream2(filepath);
|
|
115383
115383
|
try {
|
|
115384
115384
|
this.tmpUploads.push(filepath);
|
|
@@ -115674,7 +115674,7 @@ var require_auth_config = __commonJS({
|
|
|
115674
115674
|
});
|
|
115675
115675
|
module.exports = __toCommonJS2(auth_config_exports);
|
|
115676
115676
|
var fs15 = __toESM3(__require("fs"));
|
|
115677
|
-
var
|
|
115677
|
+
var path26 = __toESM3(__require("path"));
|
|
115678
115678
|
var import_token_util = require_token_util();
|
|
115679
115679
|
function getAuthConfigPath() {
|
|
115680
115680
|
const dataDir = (0, import_token_util.getVercelDataDir)();
|
|
@@ -115683,7 +115683,7 @@ var require_auth_config = __commonJS({
|
|
|
115683
115683
|
`Unable to find Vercel CLI data directory. Your platform: ${process.platform}. Supported: darwin, linux, win32.`
|
|
115684
115684
|
);
|
|
115685
115685
|
}
|
|
115686
|
-
return
|
|
115686
|
+
return path26.join(dataDir, "auth.json");
|
|
115687
115687
|
}
|
|
115688
115688
|
function readAuthConfig() {
|
|
115689
115689
|
try {
|
|
@@ -115702,7 +115702,7 @@ var require_auth_config = __commonJS({
|
|
|
115702
115702
|
}
|
|
115703
115703
|
function writeAuthConfig(config2) {
|
|
115704
115704
|
const authPath = getAuthConfigPath();
|
|
115705
|
-
const authDir =
|
|
115705
|
+
const authDir = path26.dirname(authPath);
|
|
115706
115706
|
if (!fs15.existsSync(authDir)) {
|
|
115707
115707
|
fs15.mkdirSync(authDir, { mode: 504, recursive: true });
|
|
115708
115708
|
}
|
|
@@ -115852,7 +115852,7 @@ var require_token_util = __commonJS({
|
|
|
115852
115852
|
saveToken: () => saveToken
|
|
115853
115853
|
});
|
|
115854
115854
|
module.exports = __toCommonJS2(token_util_exports);
|
|
115855
|
-
var
|
|
115855
|
+
var path26 = __toESM3(__require("path"));
|
|
115856
115856
|
var fs15 = __toESM3(__require("fs"));
|
|
115857
115857
|
var import_token_error = require_token_error();
|
|
115858
115858
|
var import_token_io = require_token_io();
|
|
@@ -115864,7 +115864,7 @@ var require_token_util = __commonJS({
|
|
|
115864
115864
|
if (!dataDir) {
|
|
115865
115865
|
return null;
|
|
115866
115866
|
}
|
|
115867
|
-
return
|
|
115867
|
+
return path26.join(dataDir, vercelFolder);
|
|
115868
115868
|
}
|
|
115869
115869
|
async function getVercelCliToken() {
|
|
115870
115870
|
const authConfig = (0, import_auth_config.readAuthConfig)();
|
|
@@ -115937,7 +115937,7 @@ var require_token_util = __commonJS({
|
|
|
115937
115937
|
"Unable to find project root directory. Have you linked your project with `vc link?`"
|
|
115938
115938
|
);
|
|
115939
115939
|
}
|
|
115940
|
-
const prjPath =
|
|
115940
|
+
const prjPath = path26.join(dir, ".vercel", "project.json");
|
|
115941
115941
|
if (!fs15.existsSync(prjPath)) {
|
|
115942
115942
|
throw new import_token_error.VercelOidcTokenError(
|
|
115943
115943
|
"project.json not found, have you linked your project with `vc link?`"
|
|
@@ -115958,9 +115958,9 @@ var require_token_util = __commonJS({
|
|
|
115958
115958
|
"Unable to find user data directory. Please reach out to Vercel support."
|
|
115959
115959
|
);
|
|
115960
115960
|
}
|
|
115961
|
-
const tokenPath =
|
|
115961
|
+
const tokenPath = path26.join(dir, "com.vercel.token", `${projectId}.json`);
|
|
115962
115962
|
const tokenJson = JSON.stringify(token);
|
|
115963
|
-
fs15.mkdirSync(
|
|
115963
|
+
fs15.mkdirSync(path26.dirname(tokenPath), { mode: 504, recursive: true });
|
|
115964
115964
|
fs15.writeFileSync(tokenPath, tokenJson);
|
|
115965
115965
|
fs15.chmodSync(tokenPath, 432);
|
|
115966
115966
|
return;
|
|
@@ -115972,7 +115972,7 @@ var require_token_util = __commonJS({
|
|
|
115972
115972
|
"Unable to find user data directory. Please reach out to Vercel support."
|
|
115973
115973
|
);
|
|
115974
115974
|
}
|
|
115975
|
-
const tokenPath =
|
|
115975
|
+
const tokenPath = path26.join(dir, "com.vercel.token", `${projectId}.json`);
|
|
115976
115976
|
if (!fs15.existsSync(tokenPath)) {
|
|
115977
115977
|
return null;
|
|
115978
115978
|
}
|
|
@@ -117241,14 +117241,14 @@ var require_util7 = __commonJS({
|
|
|
117241
117241
|
}
|
|
117242
117242
|
const port = url2.port != null ? url2.port : url2.protocol === "https:" ? 443 : 80;
|
|
117243
117243
|
let origin = url2.origin != null ? url2.origin : `${url2.protocol || ""}//${url2.hostname || ""}:${port}`;
|
|
117244
|
-
let
|
|
117244
|
+
let path26 = url2.path != null ? url2.path : `${url2.pathname || ""}${url2.search || ""}`;
|
|
117245
117245
|
if (origin[origin.length - 1] === "/") {
|
|
117246
117246
|
origin = origin.slice(0, origin.length - 1);
|
|
117247
117247
|
}
|
|
117248
|
-
if (
|
|
117249
|
-
|
|
117248
|
+
if (path26 && path26[0] !== "/") {
|
|
117249
|
+
path26 = `/${path26}`;
|
|
117250
117250
|
}
|
|
117251
|
-
return new URL(`${origin}${
|
|
117251
|
+
return new URL(`${origin}${path26}`);
|
|
117252
117252
|
}
|
|
117253
117253
|
if (!isHttpOrHttpsPrefixed(url2.origin || url2.protocol)) {
|
|
117254
117254
|
throw new InvalidArgumentError4("Invalid URL protocol: the URL must start with `http:` or `https:`.");
|
|
@@ -118053,9 +118053,9 @@ var require_diagnostics = __commonJS({
|
|
|
118053
118053
|
"undici:client:sendHeaders",
|
|
118054
118054
|
(evt) => {
|
|
118055
118055
|
const {
|
|
118056
|
-
request: { method, path:
|
|
118056
|
+
request: { method, path: path26, origin }
|
|
118057
118057
|
} = evt;
|
|
118058
|
-
debugLog("sending request to %s %s%s", method, origin,
|
|
118058
|
+
debugLog("sending request to %s %s%s", method, origin, path26);
|
|
118059
118059
|
}
|
|
118060
118060
|
);
|
|
118061
118061
|
}
|
|
@@ -118073,14 +118073,14 @@ var require_diagnostics = __commonJS({
|
|
|
118073
118073
|
"undici:request:headers",
|
|
118074
118074
|
(evt) => {
|
|
118075
118075
|
const {
|
|
118076
|
-
request: { method, path:
|
|
118076
|
+
request: { method, path: path26, origin },
|
|
118077
118077
|
response: { statusCode }
|
|
118078
118078
|
} = evt;
|
|
118079
118079
|
debugLog(
|
|
118080
118080
|
"received response to %s %s%s - HTTP %d",
|
|
118081
118081
|
method,
|
|
118082
118082
|
origin,
|
|
118083
|
-
|
|
118083
|
+
path26,
|
|
118084
118084
|
statusCode
|
|
118085
118085
|
);
|
|
118086
118086
|
}
|
|
@@ -118089,23 +118089,23 @@ var require_diagnostics = __commonJS({
|
|
|
118089
118089
|
"undici:request:trailers",
|
|
118090
118090
|
(evt) => {
|
|
118091
118091
|
const {
|
|
118092
|
-
request: { method, path:
|
|
118092
|
+
request: { method, path: path26, origin }
|
|
118093
118093
|
} = evt;
|
|
118094
|
-
debugLog("trailers received from %s %s%s", method, origin,
|
|
118094
|
+
debugLog("trailers received from %s %s%s", method, origin, path26);
|
|
118095
118095
|
}
|
|
118096
118096
|
);
|
|
118097
118097
|
diagnosticsChannel.subscribe(
|
|
118098
118098
|
"undici:request:error",
|
|
118099
118099
|
(evt) => {
|
|
118100
118100
|
const {
|
|
118101
|
-
request: { method, path:
|
|
118101
|
+
request: { method, path: path26, origin },
|
|
118102
118102
|
error: error48
|
|
118103
118103
|
} = evt;
|
|
118104
118104
|
debugLog(
|
|
118105
118105
|
"request to %s %s%s errored - %s",
|
|
118106
118106
|
method,
|
|
118107
118107
|
origin,
|
|
118108
|
-
|
|
118108
|
+
path26,
|
|
118109
118109
|
error48.message
|
|
118110
118110
|
);
|
|
118111
118111
|
}
|
|
@@ -118205,7 +118205,7 @@ var require_request3 = __commonJS({
|
|
|
118205
118205
|
var kHandler = /* @__PURE__ */ Symbol("handler");
|
|
118206
118206
|
var Request2 = class {
|
|
118207
118207
|
constructor(origin, {
|
|
118208
|
-
path:
|
|
118208
|
+
path: path26,
|
|
118209
118209
|
method,
|
|
118210
118210
|
body,
|
|
118211
118211
|
headers,
|
|
@@ -118221,11 +118221,11 @@ var require_request3 = __commonJS({
|
|
|
118221
118221
|
throwOnError,
|
|
118222
118222
|
maxRedirections
|
|
118223
118223
|
}, handler) {
|
|
118224
|
-
if (typeof
|
|
118224
|
+
if (typeof path26 !== "string") {
|
|
118225
118225
|
throw new InvalidArgumentError4("path must be a string");
|
|
118226
|
-
} else if (
|
|
118226
|
+
} else if (path26[0] !== "/" && !(path26.startsWith("http://") || path26.startsWith("https://")) && method !== "CONNECT") {
|
|
118227
118227
|
throw new InvalidArgumentError4("path must be an absolute URL or start with a slash");
|
|
118228
|
-
} else if (invalidPathRegex.test(
|
|
118228
|
+
} else if (invalidPathRegex.test(path26)) {
|
|
118229
118229
|
throw new InvalidArgumentError4("invalid request path");
|
|
118230
118230
|
}
|
|
118231
118231
|
if (typeof method !== "string") {
|
|
@@ -118293,7 +118293,7 @@ var require_request3 = __commonJS({
|
|
|
118293
118293
|
this.completed = false;
|
|
118294
118294
|
this.aborted = false;
|
|
118295
118295
|
this.upgrade = upgrade || null;
|
|
118296
|
-
this.path = query ? serializePathWithQuery(
|
|
118296
|
+
this.path = query ? serializePathWithQuery(path26, query) : path26;
|
|
118297
118297
|
this.origin = origin;
|
|
118298
118298
|
this.protocol = getProtocolFromUrlString(origin);
|
|
118299
118299
|
this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
|
|
@@ -123310,7 +123310,7 @@ var require_client_h1 = __commonJS({
|
|
|
123310
123310
|
return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
|
|
123311
123311
|
}
|
|
123312
123312
|
function writeH1(client, request) {
|
|
123313
|
-
const { method, path:
|
|
123313
|
+
const { method, path: path26, host, upgrade, blocking, reset } = request;
|
|
123314
123314
|
let { body, headers, contentLength } = request;
|
|
123315
123315
|
const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH" || method === "QUERY" || method === "PROPFIND" || method === "PROPPATCH";
|
|
123316
123316
|
if (util2.isFormDataLike(body)) {
|
|
@@ -123376,7 +123376,7 @@ var require_client_h1 = __commonJS({
|
|
|
123376
123376
|
if (blocking) {
|
|
123377
123377
|
socket[kBlocking] = true;
|
|
123378
123378
|
}
|
|
123379
|
-
let header = `${method} ${
|
|
123379
|
+
let header = `${method} ${path26} HTTP/1.1\r
|
|
123380
123380
|
`;
|
|
123381
123381
|
if (typeof host === "string") {
|
|
123382
123382
|
header += `host: ${host}\r
|
|
@@ -124029,7 +124029,7 @@ var require_client_h2 = __commonJS({
|
|
|
124029
124029
|
function writeH2(client, request) {
|
|
124030
124030
|
const requestTimeout = request.bodyTimeout ?? client[kBodyTimeout];
|
|
124031
124031
|
const session = client[kHTTP2Session];
|
|
124032
|
-
const { method, path:
|
|
124032
|
+
const { method, path: path26, host, upgrade, expectContinue, signal, protocol, headers: reqHeaders } = request;
|
|
124033
124033
|
let { body } = request;
|
|
124034
124034
|
if (upgrade != null && upgrade !== "websocket") {
|
|
124035
124035
|
util2.errorRequest(client, request, new InvalidArgumentError4(`Custom upgrade "${upgrade}" not supported over HTTP/2`));
|
|
@@ -124097,7 +124097,7 @@ var require_client_h2 = __commonJS({
|
|
|
124097
124097
|
}
|
|
124098
124098
|
headers[HTTP2_HEADER_METHOD] = "CONNECT";
|
|
124099
124099
|
headers[HTTP2_HEADER_PROTOCOL] = "websocket";
|
|
124100
|
-
headers[HTTP2_HEADER_PATH] =
|
|
124100
|
+
headers[HTTP2_HEADER_PATH] = path26;
|
|
124101
124101
|
if (protocol === "ws:" || protocol === "wss:") {
|
|
124102
124102
|
headers[HTTP2_HEADER_SCHEME] = protocol === "ws:" ? "http" : "https";
|
|
124103
124103
|
} else {
|
|
@@ -124138,7 +124138,7 @@ var require_client_h2 = __commonJS({
|
|
|
124138
124138
|
stream.setTimeout(requestTimeout);
|
|
124139
124139
|
return true;
|
|
124140
124140
|
}
|
|
124141
|
-
headers[HTTP2_HEADER_PATH] =
|
|
124141
|
+
headers[HTTP2_HEADER_PATH] = path26;
|
|
124142
124142
|
headers[HTTP2_HEADER_SCHEME] = protocol === "http:" ? "http" : "https";
|
|
124143
124143
|
const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
|
|
124144
124144
|
if (body && typeof body.read === "function") {
|
|
@@ -125762,10 +125762,10 @@ var require_proxy_agent = __commonJS({
|
|
|
125762
125762
|
};
|
|
125763
125763
|
const {
|
|
125764
125764
|
origin,
|
|
125765
|
-
path:
|
|
125765
|
+
path: path26 = "/",
|
|
125766
125766
|
headers = {}
|
|
125767
125767
|
} = opts;
|
|
125768
|
-
opts.path = origin +
|
|
125768
|
+
opts.path = origin + path26;
|
|
125769
125769
|
if (!("host" in headers) && !("Host" in headers)) {
|
|
125770
125770
|
const { host } = new URL(origin);
|
|
125771
125771
|
headers.host = host;
|
|
@@ -127806,20 +127806,20 @@ var require_mock_utils = __commonJS({
|
|
|
127806
127806
|
}
|
|
127807
127807
|
return normalizedQp;
|
|
127808
127808
|
}
|
|
127809
|
-
function safeUrl(
|
|
127810
|
-
if (typeof
|
|
127811
|
-
return
|
|
127809
|
+
function safeUrl(path26) {
|
|
127810
|
+
if (typeof path26 !== "string") {
|
|
127811
|
+
return path26;
|
|
127812
127812
|
}
|
|
127813
|
-
const pathSegments =
|
|
127813
|
+
const pathSegments = path26.split("?", 3);
|
|
127814
127814
|
if (pathSegments.length !== 2) {
|
|
127815
|
-
return
|
|
127815
|
+
return path26;
|
|
127816
127816
|
}
|
|
127817
127817
|
const qp = new URLSearchParams(pathSegments.pop());
|
|
127818
127818
|
qp.sort();
|
|
127819
127819
|
return [...pathSegments, qp.toString()].join("?");
|
|
127820
127820
|
}
|
|
127821
|
-
function matchKey(mockDispatch2, { path:
|
|
127822
|
-
const pathMatch = matchValue(mockDispatch2.path,
|
|
127821
|
+
function matchKey(mockDispatch2, { path: path26, method, body, headers }) {
|
|
127822
|
+
const pathMatch = matchValue(mockDispatch2.path, path26);
|
|
127823
127823
|
const methodMatch = matchValue(mockDispatch2.method, method);
|
|
127824
127824
|
const bodyMatch = typeof mockDispatch2.body !== "undefined" ? matchValue(mockDispatch2.body, body) : true;
|
|
127825
127825
|
const headersMatch = matchHeaders(mockDispatch2, headers);
|
|
@@ -127844,8 +127844,8 @@ var require_mock_utils = __commonJS({
|
|
|
127844
127844
|
const basePath33 = key2.query ? serializePathWithQuery(key2.path, key2.query) : key2.path;
|
|
127845
127845
|
const resolvedPath = typeof basePath33 === "string" ? safeUrl(basePath33) : basePath33;
|
|
127846
127846
|
const resolvedPathWithoutTrailingSlash = removeTrailingSlash(resolvedPath);
|
|
127847
|
-
let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path:
|
|
127848
|
-
return ignoreTrailingSlash ? matchValue(removeTrailingSlash(safeUrl(
|
|
127847
|
+
let matchedMockDispatches = mockDispatches.filter(({ consumed }) => !consumed).filter(({ path: path26, ignoreTrailingSlash }) => {
|
|
127848
|
+
return ignoreTrailingSlash ? matchValue(removeTrailingSlash(safeUrl(path26)), resolvedPathWithoutTrailingSlash) : matchValue(safeUrl(path26), resolvedPath);
|
|
127849
127849
|
});
|
|
127850
127850
|
if (matchedMockDispatches.length === 0) {
|
|
127851
127851
|
throw new MockNotMatchedError(`Mock dispatch not matched for path '${resolvedPath}'`);
|
|
@@ -127883,19 +127883,19 @@ var require_mock_utils = __commonJS({
|
|
|
127883
127883
|
mockDispatches.splice(index, 1);
|
|
127884
127884
|
}
|
|
127885
127885
|
}
|
|
127886
|
-
function removeTrailingSlash(
|
|
127887
|
-
while (
|
|
127888
|
-
|
|
127886
|
+
function removeTrailingSlash(path26) {
|
|
127887
|
+
while (path26.endsWith("/")) {
|
|
127888
|
+
path26 = path26.slice(0, -1);
|
|
127889
127889
|
}
|
|
127890
|
-
if (
|
|
127891
|
-
|
|
127890
|
+
if (path26.length === 0) {
|
|
127891
|
+
path26 = "/";
|
|
127892
127892
|
}
|
|
127893
|
-
return
|
|
127893
|
+
return path26;
|
|
127894
127894
|
}
|
|
127895
127895
|
function buildKey(opts) {
|
|
127896
|
-
const { path:
|
|
127896
|
+
const { path: path26, method, body, headers, query } = opts;
|
|
127897
127897
|
return {
|
|
127898
|
-
path:
|
|
127898
|
+
path: path26,
|
|
127899
127899
|
method,
|
|
127900
127900
|
body,
|
|
127901
127901
|
headers,
|
|
@@ -128582,10 +128582,10 @@ var require_pending_interceptors_formatter = __commonJS({
|
|
|
128582
128582
|
}
|
|
128583
128583
|
format(pendingInterceptors) {
|
|
128584
128584
|
const withPrettyHeaders = pendingInterceptors.map(
|
|
128585
|
-
({ method, path:
|
|
128585
|
+
({ method, path: path26, data: { statusCode }, persist, times, timesInvoked, origin }) => ({
|
|
128586
128586
|
Method: method,
|
|
128587
128587
|
Origin: origin,
|
|
128588
|
-
Path:
|
|
128588
|
+
Path: path26,
|
|
128589
128589
|
"Status code": statusCode,
|
|
128590
128590
|
Persistent: persist ? PERSISTENT : NOT_PERSISTENT,
|
|
128591
128591
|
Invocations: timesInvoked,
|
|
@@ -128667,9 +128667,9 @@ var require_mock_agent = __commonJS({
|
|
|
128667
128667
|
const acceptNonStandardSearchParameters = this[kMockAgentAcceptsNonStandardSearchParameters];
|
|
128668
128668
|
const dispatchOpts = { ...opts };
|
|
128669
128669
|
if (acceptNonStandardSearchParameters && dispatchOpts.path) {
|
|
128670
|
-
const [
|
|
128670
|
+
const [path26, searchParams] = dispatchOpts.path.split("?");
|
|
128671
128671
|
const normalizedSearchParams = normalizeSearchParams(searchParams, acceptNonStandardSearchParameters);
|
|
128672
|
-
dispatchOpts.path = `${
|
|
128672
|
+
dispatchOpts.path = `${path26}?${normalizedSearchParams}`;
|
|
128673
128673
|
}
|
|
128674
128674
|
return this[kAgent].dispatch(dispatchOpts, handler);
|
|
128675
128675
|
}
|
|
@@ -128873,7 +128873,7 @@ var require_snapshot_utils = __commonJS({
|
|
|
128873
128873
|
var require_snapshot_recorder = __commonJS({
|
|
128874
128874
|
"../../node_modules/.pnpm/undici@7.22.0/node_modules/undici/lib/mock/snapshot-recorder.js"(exports, module) {
|
|
128875
128875
|
"use strict";
|
|
128876
|
-
var { writeFile: writeFile2, readFile: readFile2, mkdir:
|
|
128876
|
+
var { writeFile: writeFile2, readFile: readFile2, mkdir: mkdir7 } = __require("node:fs/promises");
|
|
128877
128877
|
var { dirname, resolve: resolve3 } = __require("node:path");
|
|
128878
128878
|
var { setTimeout: setTimeout3, clearTimeout: clearTimeout2 } = __require("node:timers");
|
|
128879
128879
|
var { InvalidArgumentError: InvalidArgumentError4, UndiciError } = require_errors7();
|
|
@@ -129070,12 +129070,12 @@ var require_snapshot_recorder = __commonJS({
|
|
|
129070
129070
|
* @return {Promise<void>} - Resolves when snapshots are loaded
|
|
129071
129071
|
*/
|
|
129072
129072
|
async loadSnapshots(filePath) {
|
|
129073
|
-
const
|
|
129074
|
-
if (!
|
|
129073
|
+
const path26 = filePath || this.#snapshotPath;
|
|
129074
|
+
if (!path26) {
|
|
129075
129075
|
throw new InvalidArgumentError4("Snapshot path is required");
|
|
129076
129076
|
}
|
|
129077
129077
|
try {
|
|
129078
|
-
const data = await readFile2(resolve3(
|
|
129078
|
+
const data = await readFile2(resolve3(path26), "utf8");
|
|
129079
129079
|
const parsed = JSON.parse(data);
|
|
129080
129080
|
if (Array.isArray(parsed)) {
|
|
129081
129081
|
this.#snapshots.clear();
|
|
@@ -129089,7 +129089,7 @@ var require_snapshot_recorder = __commonJS({
|
|
|
129089
129089
|
if (error48.code === "ENOENT") {
|
|
129090
129090
|
this.#snapshots.clear();
|
|
129091
129091
|
} else {
|
|
129092
|
-
throw new UndiciError(`Failed to load snapshots from ${
|
|
129092
|
+
throw new UndiciError(`Failed to load snapshots from ${path26}`, { cause: error48 });
|
|
129093
129093
|
}
|
|
129094
129094
|
}
|
|
129095
129095
|
}
|
|
@@ -129100,12 +129100,12 @@ var require_snapshot_recorder = __commonJS({
|
|
|
129100
129100
|
* @returns {Promise<void>} - Resolves when snapshots are saved
|
|
129101
129101
|
*/
|
|
129102
129102
|
async saveSnapshots(filePath) {
|
|
129103
|
-
const
|
|
129104
|
-
if (!
|
|
129103
|
+
const path26 = filePath || this.#snapshotPath;
|
|
129104
|
+
if (!path26) {
|
|
129105
129105
|
throw new InvalidArgumentError4("Snapshot path is required");
|
|
129106
129106
|
}
|
|
129107
|
-
const resolvedPath = resolve3(
|
|
129108
|
-
await
|
|
129107
|
+
const resolvedPath = resolve3(path26);
|
|
129108
|
+
await mkdir7(dirname(resolvedPath), { recursive: true });
|
|
129109
129109
|
const data = Array.from(this.#snapshots.entries()).map(([hash2, snapshot]) => ({
|
|
129110
129110
|
hash: hash2,
|
|
129111
129111
|
snapshot
|
|
@@ -129729,15 +129729,15 @@ var require_redirect_handler = __commonJS({
|
|
|
129729
129729
|
return;
|
|
129730
129730
|
}
|
|
129731
129731
|
const { origin, pathname, search } = util2.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
|
|
129732
|
-
const
|
|
129733
|
-
const redirectUrlString = `${origin}${
|
|
129732
|
+
const path26 = search ? `${pathname}${search}` : pathname;
|
|
129733
|
+
const redirectUrlString = `${origin}${path26}`;
|
|
129734
129734
|
for (const historyUrl of this.history) {
|
|
129735
129735
|
if (historyUrl.toString() === redirectUrlString) {
|
|
129736
129736
|
throw new InvalidArgumentError4(`Redirect loop detected. Cannot redirect to ${origin}. This typically happens when using a Client or Pool with cross-origin redirects. Use an Agent for cross-origin redirects.`);
|
|
129737
129737
|
}
|
|
129738
129738
|
}
|
|
129739
129739
|
this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
|
|
129740
|
-
this.opts.path =
|
|
129740
|
+
this.opts.path = path26;
|
|
129741
129741
|
this.opts.origin = origin;
|
|
129742
129742
|
this.opts.query = null;
|
|
129743
129743
|
}
|
|
@@ -136614,9 +136614,9 @@ var require_util10 = __commonJS({
|
|
|
136614
136614
|
}
|
|
136615
136615
|
}
|
|
136616
136616
|
}
|
|
136617
|
-
function validateCookiePath(
|
|
136618
|
-
for (let i = 0; i <
|
|
136619
|
-
const code =
|
|
136617
|
+
function validateCookiePath(path26) {
|
|
136618
|
+
for (let i = 0; i < path26.length; ++i) {
|
|
136619
|
+
const code = path26.charCodeAt(i);
|
|
136620
136620
|
if (code < 32 || // exclude CTLs (0-31)
|
|
136621
136621
|
code === 127 || // DEL
|
|
136622
136622
|
code === 59) {
|
|
@@ -139727,11 +139727,11 @@ var require_undici = __commonJS({
|
|
|
139727
139727
|
if (typeof opts.path !== "string") {
|
|
139728
139728
|
throw new InvalidArgumentError4("invalid opts.path");
|
|
139729
139729
|
}
|
|
139730
|
-
let
|
|
139730
|
+
let path26 = opts.path;
|
|
139731
139731
|
if (!opts.path.startsWith("/")) {
|
|
139732
|
-
|
|
139732
|
+
path26 = `/${path26}`;
|
|
139733
139733
|
}
|
|
139734
|
-
url2 = new URL(util2.parseOrigin(url2).origin +
|
|
139734
|
+
url2 = new URL(util2.parseOrigin(url2).origin + path26);
|
|
139735
139735
|
} else {
|
|
139736
139736
|
if (!opts) {
|
|
139737
139737
|
opts = typeof url2 === "object" ? url2 : {};
|
|
@@ -144379,15 +144379,15 @@ var require_colorette = __commonJS({
|
|
|
144379
144379
|
var isCI = "CI" in env && ("GITHUB_ACTIONS" in env || "GITLAB_CI" in env || "CIRCLECI" in env);
|
|
144380
144380
|
var isColorSupported = !isDisabled && (isForced || isWindows && !isDumbTerminal || isCompatibleTerminal || isCI);
|
|
144381
144381
|
var replaceClose = (index, string4, close, replace, head = string4.substring(0, index) + replace, tail = string4.substring(index + close.length), next = tail.indexOf(close)) => head + (next < 0 ? tail : replaceClose(next, tail, close, replace));
|
|
144382
|
-
var clearBleed = (index, string4,
|
|
144383
|
-
var filterEmpty = (
|
|
144382
|
+
var clearBleed = (index, string4, open5, close, replace) => index < 0 ? open5 + string4 + close : open5 + replaceClose(index, string4, close, replace) + close;
|
|
144383
|
+
var filterEmpty = (open5, close, replace = open5, at = open5.length + 1) => (string4) => string4 || !(string4 === "" || string4 === void 0) ? clearBleed(
|
|
144384
144384
|
("" + string4).indexOf(close, at),
|
|
144385
144385
|
string4,
|
|
144386
|
-
|
|
144386
|
+
open5,
|
|
144387
144387
|
close,
|
|
144388
144388
|
replace
|
|
144389
144389
|
) : "";
|
|
144390
|
-
var init = (
|
|
144390
|
+
var init = (open5, close, replace) => filterEmpty(`\x1B[${open5}m`, `\x1B[${close}m`, replace);
|
|
144391
144391
|
var colors = {
|
|
144392
144392
|
reset: init(0, 0),
|
|
144393
144393
|
bold: init(1, 22, "\x1B[22m\x1B[1m"),
|
|
@@ -148657,12 +148657,12 @@ function buildRequest(options) {
|
|
|
148657
148657
|
userAgent = USER_AGENT,
|
|
148658
148658
|
skipApiVersionInUrl = false
|
|
148659
148659
|
} = options;
|
|
148660
|
-
const { path:
|
|
148660
|
+
const { path: path26, method, queryParams, headerParams, bodyParams, formData, options: opts } = requestOptions;
|
|
148661
148661
|
const { deepSnakecaseBodyParamKeys = false } = opts || {};
|
|
148662
148662
|
if (requireSecretKey) {
|
|
148663
148663
|
assertValidSecretKey(secretKey);
|
|
148664
148664
|
}
|
|
148665
|
-
const url2 = skipApiVersionInUrl ? joinPaths(apiUrl,
|
|
148665
|
+
const url2 = skipApiVersionInUrl ? joinPaths(apiUrl, path26) : joinPaths(apiUrl, apiVersion, path26);
|
|
148666
148666
|
const finalUrl = new URL(url2);
|
|
148667
148667
|
if (queryParams) {
|
|
148668
148668
|
const snakecasedQueryParams = snakecase_keys_default({ ...queryParams });
|
|
@@ -151071,10 +151071,10 @@ var init_chunk_JW73PKED = __esm({
|
|
|
151071
151071
|
*/
|
|
151072
151072
|
async getToken(sessionId, template, expiresInSeconds) {
|
|
151073
151073
|
this.requireId(sessionId);
|
|
151074
|
-
const
|
|
151074
|
+
const path26 = template ? joinPaths(basePath25, sessionId, "tokens", template) : joinPaths(basePath25, sessionId, "tokens");
|
|
151075
151075
|
const requestOptions = {
|
|
151076
151076
|
method: "POST",
|
|
151077
|
-
path:
|
|
151077
|
+
path: path26
|
|
151078
151078
|
};
|
|
151079
151079
|
if (expiresInSeconds !== void 0) {
|
|
151080
151080
|
requestOptions.bodyParams = { expires_in_seconds: expiresInSeconds };
|
|
@@ -169299,7 +169299,7 @@ async function run(app, inputs, context2) {
|
|
|
169299
169299
|
|
|
169300
169300
|
// src/command.ts
|
|
169301
169301
|
import fs14 from "node:fs";
|
|
169302
|
-
import
|
|
169302
|
+
import path25 from "node:path";
|
|
169303
169303
|
|
|
169304
169304
|
// src/storage/sqlite.ts
|
|
169305
169305
|
import Database2 from "better-sqlite3";
|
|
@@ -189760,10 +189760,10 @@ function mergeDefs(...defs) {
|
|
|
189760
189760
|
function cloneDef(schema) {
|
|
189761
189761
|
return mergeDefs(schema._zod.def);
|
|
189762
189762
|
}
|
|
189763
|
-
function getElementAtPath(obj,
|
|
189764
|
-
if (!
|
|
189763
|
+
function getElementAtPath(obj, path26) {
|
|
189764
|
+
if (!path26)
|
|
189765
189765
|
return obj;
|
|
189766
|
-
return
|
|
189766
|
+
return path26.reduce((acc, key2) => acc?.[key2], obj);
|
|
189767
189767
|
}
|
|
189768
189768
|
function promiseAllObject(promisesObj) {
|
|
189769
189769
|
const keys = Object.keys(promisesObj);
|
|
@@ -190146,11 +190146,11 @@ function aborted(x2, startIndex = 0) {
|
|
|
190146
190146
|
}
|
|
190147
190147
|
return false;
|
|
190148
190148
|
}
|
|
190149
|
-
function prefixIssues(
|
|
190149
|
+
function prefixIssues(path26, issues) {
|
|
190150
190150
|
return issues.map((iss) => {
|
|
190151
190151
|
var _a26;
|
|
190152
190152
|
(_a26 = iss).path ?? (_a26.path = []);
|
|
190153
|
-
iss.path.unshift(
|
|
190153
|
+
iss.path.unshift(path26);
|
|
190154
190154
|
return iss;
|
|
190155
190155
|
});
|
|
190156
190156
|
}
|
|
@@ -190333,7 +190333,7 @@ function formatError(error48, mapper = (issue2) => issue2.message) {
|
|
|
190333
190333
|
}
|
|
190334
190334
|
function treeifyError(error48, mapper = (issue2) => issue2.message) {
|
|
190335
190335
|
const result = { errors: [] };
|
|
190336
|
-
const processError = (error49,
|
|
190336
|
+
const processError = (error49, path26 = []) => {
|
|
190337
190337
|
var _a26, _b18;
|
|
190338
190338
|
for (const issue2 of error49.issues) {
|
|
190339
190339
|
if (issue2.code === "invalid_union" && issue2.errors.length) {
|
|
@@ -190343,7 +190343,7 @@ function treeifyError(error48, mapper = (issue2) => issue2.message) {
|
|
|
190343
190343
|
} else if (issue2.code === "invalid_element") {
|
|
190344
190344
|
processError({ issues: issue2.issues }, issue2.path);
|
|
190345
190345
|
} else {
|
|
190346
|
-
const fullpath = [...
|
|
190346
|
+
const fullpath = [...path26, ...issue2.path];
|
|
190347
190347
|
if (fullpath.length === 0) {
|
|
190348
190348
|
result.errors.push(mapper(issue2));
|
|
190349
190349
|
continue;
|
|
@@ -190375,8 +190375,8 @@ function treeifyError(error48, mapper = (issue2) => issue2.message) {
|
|
|
190375
190375
|
}
|
|
190376
190376
|
function toDotPath(_path) {
|
|
190377
190377
|
const segs = [];
|
|
190378
|
-
const
|
|
190379
|
-
for (const seg of
|
|
190378
|
+
const path26 = _path.map((seg) => typeof seg === "object" ? seg.key : seg);
|
|
190379
|
+
for (const seg of path26) {
|
|
190380
190380
|
if (typeof seg === "number")
|
|
190381
190381
|
segs.push(`[${seg}]`);
|
|
190382
190382
|
else if (typeof seg === "symbol")
|
|
@@ -202353,13 +202353,13 @@ function resolveRef(ref, ctx) {
|
|
|
202353
202353
|
if (!ref.startsWith("#")) {
|
|
202354
202354
|
throw new Error("External $ref is not supported, only local refs (#/...) are allowed");
|
|
202355
202355
|
}
|
|
202356
|
-
const
|
|
202357
|
-
if (
|
|
202356
|
+
const path26 = ref.slice(1).split("/").filter(Boolean);
|
|
202357
|
+
if (path26.length === 0) {
|
|
202358
202358
|
return ctx.rootSchema;
|
|
202359
202359
|
}
|
|
202360
202360
|
const defsKey = ctx.version === "draft-2020-12" ? "$defs" : "definitions";
|
|
202361
|
-
if (
|
|
202362
|
-
const key2 =
|
|
202361
|
+
if (path26[0] === defsKey) {
|
|
202362
|
+
const key2 = path26[1];
|
|
202363
202363
|
if (!key2 || !ctx.defs[key2]) {
|
|
202364
202364
|
throw new Error(`Reference not found: ${ref}`);
|
|
202365
202365
|
}
|
|
@@ -205888,7 +205888,7 @@ var import_static = __toESM(require_static(), 1);
|
|
|
205888
205888
|
var import_websocket2 = __toESM(require_websocket2(), 1);
|
|
205889
205889
|
var import_multipart = __toESM(require_multipart2(), 1);
|
|
205890
205890
|
import fs5 from "node:fs";
|
|
205891
|
-
import
|
|
205891
|
+
import path21 from "path";
|
|
205892
205892
|
import { fileURLToPath } from "url";
|
|
205893
205893
|
|
|
205894
205894
|
// src/plugins/shared-services.ts
|
|
@@ -209609,8 +209609,8 @@ function getErrorMap2() {
|
|
|
209609
209609
|
|
|
209610
209610
|
// ../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/parseUtil.js
|
|
209611
209611
|
var makeIssue = (params) => {
|
|
209612
|
-
const { data, path:
|
|
209613
|
-
const fullPath = [...
|
|
209612
|
+
const { data, path: path26, errorMaps, issueData } = params;
|
|
209613
|
+
const fullPath = [...path26, ...issueData.path || []];
|
|
209614
209614
|
const fullIssue = {
|
|
209615
209615
|
...issueData,
|
|
209616
209616
|
path: fullPath
|
|
@@ -209725,11 +209725,11 @@ var errorUtil;
|
|
|
209725
209725
|
|
|
209726
209726
|
// ../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/types.js
|
|
209727
209727
|
var ParseInputLazyPath = class {
|
|
209728
|
-
constructor(parent, value,
|
|
209728
|
+
constructor(parent, value, path26, key2) {
|
|
209729
209729
|
this._cachedPath = [];
|
|
209730
209730
|
this.parent = parent;
|
|
209731
209731
|
this.data = value;
|
|
209732
|
-
this._path =
|
|
209732
|
+
this._path = path26;
|
|
209733
209733
|
this._key = key2;
|
|
209734
209734
|
}
|
|
209735
209735
|
get path() {
|
|
@@ -224881,7 +224881,7 @@ function createDeepSeek(options = {}) {
|
|
|
224881
224881
|
const createLanguageModel = (modelId) => {
|
|
224882
224882
|
return new DeepSeekChatLanguageModel(modelId, {
|
|
224883
224883
|
provider: `deepseek.chat`,
|
|
224884
|
-
url: ({ path:
|
|
224884
|
+
url: ({ path: path26 }) => `${baseURL}${path26}`,
|
|
224885
224885
|
headers: getHeaders2,
|
|
224886
224886
|
fetch: options.fetch
|
|
224887
224887
|
});
|
|
@@ -229589,7 +229589,7 @@ function createOpenRouter(options = {}) {
|
|
|
229589
229589
|
);
|
|
229590
229590
|
const createChatModel = (modelId, settings = {}) => new OpenRouterChatLanguageModel(modelId, settings, {
|
|
229591
229591
|
provider: "openrouter.chat",
|
|
229592
|
-
url: ({ path:
|
|
229592
|
+
url: ({ path: path26 }) => `${baseURL}${path26}`,
|
|
229593
229593
|
headers: getHeaders2,
|
|
229594
229594
|
compatibility,
|
|
229595
229595
|
fetch: options.fetch,
|
|
@@ -229597,7 +229597,7 @@ function createOpenRouter(options = {}) {
|
|
|
229597
229597
|
});
|
|
229598
229598
|
const createCompletionModel = (modelId, settings = {}) => new OpenRouterCompletionLanguageModel(modelId, settings, {
|
|
229599
229599
|
provider: "openrouter.completion",
|
|
229600
|
-
url: ({ path:
|
|
229600
|
+
url: ({ path: path26 }) => `${baseURL}${path26}`,
|
|
229601
229601
|
headers: getHeaders2,
|
|
229602
229602
|
compatibility,
|
|
229603
229603
|
fetch: options.fetch,
|
|
@@ -229605,14 +229605,14 @@ function createOpenRouter(options = {}) {
|
|
|
229605
229605
|
});
|
|
229606
229606
|
const createEmbeddingModel = (modelId, settings = {}) => new OpenRouterEmbeddingModel(modelId, settings, {
|
|
229607
229607
|
provider: "openrouter.embedding",
|
|
229608
|
-
url: ({ path:
|
|
229608
|
+
url: ({ path: path26 }) => `${baseURL}${path26}`,
|
|
229609
229609
|
headers: getHeaders2,
|
|
229610
229610
|
fetch: options.fetch,
|
|
229611
229611
|
extraBody: options.extraBody
|
|
229612
229612
|
});
|
|
229613
229613
|
const createImageModel = (modelId, settings = {}) => new OpenRouterImageModel(modelId, settings, {
|
|
229614
229614
|
provider: "openrouter.image",
|
|
229615
|
-
url: ({ path:
|
|
229615
|
+
url: ({ path: path26 }) => `${baseURL}${path26}`,
|
|
229616
229616
|
headers: getHeaders2,
|
|
229617
229617
|
fetch: options.fetch,
|
|
229618
229618
|
extraBody: options.extraBody
|
|
@@ -242208,7 +242208,7 @@ var ReverseConnectManager = class {
|
|
|
242208
242208
|
const conn = this.connections.get(this.resolveId(remoteServerId));
|
|
242209
242209
|
return conn !== void 0 && conn.ws.readyState === 1;
|
|
242210
242210
|
}
|
|
242211
|
-
async sendHttpRequest(remoteServerId, method,
|
|
242211
|
+
async sendHttpRequest(remoteServerId, method, path26, body, timeoutMs = DEFAULT_HTTP_TIMEOUT_MS, extraHeaders) {
|
|
242212
242212
|
const conn = this.connections.get(this.resolveId(remoteServerId));
|
|
242213
242213
|
if (!conn || conn.ws.readyState !== 1) {
|
|
242214
242214
|
return {
|
|
@@ -242223,7 +242223,7 @@ var ReverseConnectManager = class {
|
|
|
242223
242223
|
type: "http_request",
|
|
242224
242224
|
requestId,
|
|
242225
242225
|
method,
|
|
242226
|
-
path:
|
|
242226
|
+
path: path26,
|
|
242227
242227
|
headers: {
|
|
242228
242228
|
...body !== void 0 ? { "content-type": "application/json" } : {},
|
|
242229
242229
|
...extraHeaders
|
|
@@ -242248,7 +242248,7 @@ var ReverseConnectManager = class {
|
|
|
242248
242248
|
* Send an HTTP request and return the raw response (body as string, headers intact).
|
|
242249
242249
|
* Used by the browser proxy to forward HTML/CSS/JS without JSON parsing.
|
|
242250
242250
|
*/
|
|
242251
|
-
async sendRawHttpRequest(remoteServerId, method,
|
|
242251
|
+
async sendRawHttpRequest(remoteServerId, method, path26, headers, body, timeoutMs = DEFAULT_HTTP_TIMEOUT_MS, port) {
|
|
242252
242252
|
const conn = this.connections.get(this.resolveId(remoteServerId));
|
|
242253
242253
|
if (!conn || conn.ws.readyState !== 1) {
|
|
242254
242254
|
return { ok: false, status: 0, headers: {}, body: "" };
|
|
@@ -242258,7 +242258,7 @@ var ReverseConnectManager = class {
|
|
|
242258
242258
|
type: "http_request",
|
|
242259
242259
|
requestId,
|
|
242260
242260
|
method,
|
|
242261
|
-
path:
|
|
242261
|
+
path: path26,
|
|
242262
242262
|
headers: headers ?? {},
|
|
242263
242263
|
body,
|
|
242264
242264
|
port
|
|
@@ -242272,10 +242272,10 @@ var ReverseConnectManager = class {
|
|
|
242272
242272
|
conn.ws.send(JSON.stringify(frame));
|
|
242273
242273
|
});
|
|
242274
242274
|
}
|
|
242275
|
-
openVirtualChannel(remoteServerId, channelId,
|
|
242275
|
+
openVirtualChannel(remoteServerId, channelId, path26, query) {
|
|
242276
242276
|
const conn = this.connections.get(this.resolveId(remoteServerId));
|
|
242277
242277
|
if (!conn || conn.ws.readyState !== 1) return;
|
|
242278
|
-
const frame = { type: "ws_open", channelId, path:
|
|
242278
|
+
const frame = { type: "ws_open", channelId, path: path26, query };
|
|
242279
242279
|
conn.ws.send(JSON.stringify(frame));
|
|
242280
242280
|
}
|
|
242281
242281
|
sendChannelData(remoteServerId, channelId, data) {
|
|
@@ -245110,11 +245110,11 @@ var RotatingFileStream = class extends Writable {
|
|
|
245110
245110
|
timeout;
|
|
245111
245111
|
timeoutPromise;
|
|
245112
245112
|
constructor(generator, options) {
|
|
245113
|
-
const { encoding, history, maxFiles, maxSize, path:
|
|
245113
|
+
const { encoding, history, maxFiles, maxSize, path: path26 } = options;
|
|
245114
245114
|
super({ decodeStrings: true, defaultEncoding: encoding });
|
|
245115
245115
|
this.createGzip = createGzip2;
|
|
245116
245116
|
this.exec = exec;
|
|
245117
|
-
this.filename =
|
|
245117
|
+
this.filename = path26 + generator(null);
|
|
245118
245118
|
this.fsCreateReadStream = createReadStream;
|
|
245119
245119
|
this.fsCreateWriteStream = createWriteStream;
|
|
245120
245120
|
this.fsOpen = open;
|
|
@@ -245126,7 +245126,7 @@ var RotatingFileStream = class extends Writable {
|
|
|
245126
245126
|
this.options = options;
|
|
245127
245127
|
this.stdout = process.stdout;
|
|
245128
245128
|
if (maxFiles || maxSize)
|
|
245129
|
-
options.history =
|
|
245129
|
+
options.history = path26 + (history ? history : this.generator(null) + ".txt");
|
|
245130
245130
|
this.on("close", () => this.finished ? null : this.emit("finish"));
|
|
245131
245131
|
this.on("finish", () => this.finished = this.clear());
|
|
245132
245132
|
(async () => {
|
|
@@ -245254,9 +245254,9 @@ var RotatingFileStream = class extends Writable {
|
|
|
245254
245254
|
return this.move();
|
|
245255
245255
|
}
|
|
245256
245256
|
async findName() {
|
|
245257
|
-
const { interval, path:
|
|
245257
|
+
const { interval, path: path26, intervalBoundary } = this.options;
|
|
245258
245258
|
for (let index = 1; index < 1e3; ++index) {
|
|
245259
|
-
const filename =
|
|
245259
|
+
const filename = path26 + this.generator(interval && intervalBoundary ? new Date(this.prev) : this.rotation, index);
|
|
245260
245260
|
if (!await exists(filename))
|
|
245261
245261
|
return filename;
|
|
245262
245262
|
}
|
|
@@ -245286,11 +245286,11 @@ var RotatingFileStream = class extends Writable {
|
|
|
245286
245286
|
return this.unlink(filename);
|
|
245287
245287
|
}
|
|
245288
245288
|
async classical() {
|
|
245289
|
-
const { compress, path:
|
|
245289
|
+
const { compress, path: path26, rotate } = this.options;
|
|
245290
245290
|
let rotatedName = "";
|
|
245291
245291
|
for (let count = rotate; count > 0; --count) {
|
|
245292
|
-
const currName =
|
|
245293
|
-
const prevName = count === 1 ? this.filename :
|
|
245292
|
+
const currName = path26 + this.generator(count);
|
|
245293
|
+
const prevName = count === 1 ? this.filename : path26 + this.generator(count - 1);
|
|
245294
245294
|
if (!await exists(prevName))
|
|
245295
245295
|
continue;
|
|
245296
245296
|
if (!rotatedName)
|
|
@@ -246287,14 +246287,14 @@ var selectFolder = async () => {
|
|
|
246287
246287
|
const { stdout } = await execAsync(
|
|
246288
246288
|
`osascript -e 'set folderPath to POSIX path of (choose folder with prompt "Select a project folder")' -e 'return folderPath'`
|
|
246289
246289
|
);
|
|
246290
|
-
const
|
|
246291
|
-
return
|
|
246290
|
+
const path26 = stdout.trim();
|
|
246291
|
+
return path26 || null;
|
|
246292
246292
|
} else if (os2 === "win32") {
|
|
246293
246293
|
const { stdout } = await execAsync(
|
|
246294
246294
|
`powershell -Command "Add-Type -AssemblyName System.Windows.Forms; $f = New-Object System.Windows.Forms.FolderBrowserDialog; $f.ShowDialog() | Out-Null; $f.SelectedPath"`
|
|
246295
246295
|
);
|
|
246296
|
-
const
|
|
246297
|
-
return
|
|
246296
|
+
const path26 = stdout.trim();
|
|
246297
|
+
return path26 || null;
|
|
246298
246298
|
} else {
|
|
246299
246299
|
try {
|
|
246300
246300
|
const { stdout } = await execAsync(
|
|
@@ -248849,8 +248849,8 @@ async function writeUploadedFiles(basePath33, relativeDir, files) {
|
|
|
248849
248849
|
throw Object.assign(new Error("Path traversal not allowed"), { statusCode: 403 });
|
|
248850
248850
|
}
|
|
248851
248851
|
const targetDir = relativeDir ? path13.resolve(basePath33, relativeDir) : basePath33;
|
|
248852
|
-
const
|
|
248853
|
-
if (!
|
|
248852
|
+
const stat3 = await fs3.stat(targetDir);
|
|
248853
|
+
if (!stat3.isDirectory()) {
|
|
248854
248854
|
throw Object.assign(new Error("Target is not a directory"), { statusCode: 400 });
|
|
248855
248855
|
}
|
|
248856
248856
|
if (!await isWithinBaseReal(basePath33, targetDir)) {
|
|
@@ -248915,15 +248915,15 @@ async function browseDirectory(dirPath, showHidden = false) {
|
|
|
248915
248915
|
if (entry.name === "node_modules") continue;
|
|
248916
248916
|
if (entry.isDirectory()) {
|
|
248917
248917
|
try {
|
|
248918
|
-
const
|
|
248919
|
-
items.push({ name: entry.name, type: "directory", mtime:
|
|
248918
|
+
const stat3 = await fs3.stat(path13.join(dirPath, entry.name));
|
|
248919
|
+
items.push({ name: entry.name, type: "directory", mtime: stat3.mtime.toISOString() });
|
|
248920
248920
|
} catch {
|
|
248921
248921
|
items.push({ name: entry.name, type: "directory" });
|
|
248922
248922
|
}
|
|
248923
248923
|
} else if (entry.isFile()) {
|
|
248924
248924
|
try {
|
|
248925
|
-
const
|
|
248926
|
-
items.push({ name: entry.name, type: "file", size:
|
|
248925
|
+
const stat3 = await fs3.stat(path13.join(dirPath, entry.name));
|
|
248926
|
+
items.push({ name: entry.name, type: "file", size: stat3.size, mtime: stat3.mtime.toISOString() });
|
|
248927
248927
|
} catch {
|
|
248928
248928
|
items.push({ name: entry.name, type: "file" });
|
|
248929
248929
|
}
|
|
@@ -249095,16 +249095,16 @@ var routes10 = async (fastify2) => {
|
|
|
249095
249095
|
if (!await isWithinBaseReal(basePath33, fullPath)) {
|
|
249096
249096
|
return reply.code(404).send({ error: "File not found" });
|
|
249097
249097
|
}
|
|
249098
|
-
const
|
|
249099
|
-
if (
|
|
249100
|
-
return reply.code(200).send({ binary: false, tooLarge: true, content: null, size:
|
|
249098
|
+
const stat3 = await fs3.stat(fullPath);
|
|
249099
|
+
if (stat3.size > MAX_FILE_SIZE) {
|
|
249100
|
+
return reply.code(200).send({ binary: false, tooLarge: true, content: null, size: stat3.size });
|
|
249101
249101
|
}
|
|
249102
249102
|
const binary = await isBinaryFile(fullPath);
|
|
249103
249103
|
if (binary) {
|
|
249104
|
-
return reply.code(200).send({ binary: true, content: null, size:
|
|
249104
|
+
return reply.code(200).send({ binary: true, content: null, size: stat3.size });
|
|
249105
249105
|
}
|
|
249106
249106
|
const content = await fs3.readFile(fullPath, "utf-8");
|
|
249107
|
-
return reply.code(200).send({ binary: false, content, size:
|
|
249107
|
+
return reply.code(200).send({ binary: false, content, size: stat3.size });
|
|
249108
249108
|
} catch {
|
|
249109
249109
|
return reply.code(404).send({ error: "File not found" });
|
|
249110
249110
|
}
|
|
@@ -249348,16 +249348,16 @@ var routes10 = async (fastify2) => {
|
|
|
249348
249348
|
if (!await isWithinBaseReal(basePath33, fullPath)) {
|
|
249349
249349
|
return reply.code(404).send({ error: "File not found" });
|
|
249350
249350
|
}
|
|
249351
|
-
const
|
|
249352
|
-
if (
|
|
249353
|
-
return reply.code(200).send({ binary: false, tooLarge: true, content: null, size:
|
|
249351
|
+
const stat3 = await fs3.stat(fullPath);
|
|
249352
|
+
if (stat3.size > MAX_FILE_SIZE) {
|
|
249353
|
+
return reply.code(200).send({ binary: false, tooLarge: true, content: null, size: stat3.size });
|
|
249354
249354
|
}
|
|
249355
249355
|
const binary = await isBinaryFile(fullPath);
|
|
249356
249356
|
if (binary) {
|
|
249357
|
-
return reply.code(200).send({ binary: true, content: null, size:
|
|
249357
|
+
return reply.code(200).send({ binary: true, content: null, size: stat3.size });
|
|
249358
249358
|
}
|
|
249359
249359
|
const content = await fs3.readFile(fullPath, "utf-8");
|
|
249360
|
-
return reply.code(200).send({ binary: false, content, size:
|
|
249360
|
+
return reply.code(200).send({ binary: false, content, size: stat3.size });
|
|
249361
249361
|
} catch {
|
|
249362
249362
|
return reply.code(404).send({ error: "File not found" });
|
|
249363
249363
|
}
|
|
@@ -249601,26 +249601,101 @@ var import_fastify_plugin12 = __toESM(require_plugin2(), 1);
|
|
|
249601
249601
|
// src/utils/paste-file.ts
|
|
249602
249602
|
import { chmod, mkdir as mkdir5, open as open2 } from "node:fs/promises";
|
|
249603
249603
|
import { constants as fsConstants2 } from "node:fs";
|
|
249604
|
+
import path15 from "node:path";
|
|
249605
|
+
import { randomUUID as randomUUID15 } from "node:crypto";
|
|
249606
|
+
|
|
249607
|
+
// src/utils/temp-file-sweep.ts
|
|
249608
|
+
import { readdir as readdir2, rm, stat as stat2 } from "node:fs/promises";
|
|
249604
249609
|
import { tmpdir as tmpdir2 } from "node:os";
|
|
249605
249610
|
import path14 from "node:path";
|
|
249606
|
-
import { randomUUID as randomUUID15 } from "node:crypto";
|
|
249607
249611
|
var PASTE_DIR = path14.join(tmpdir2(), "vibedeckx-pastes");
|
|
249612
|
+
var ATTACHMENT_DIR = path14.join(tmpdir2(), "vibedeckx-attachments");
|
|
249613
|
+
var TEMP_FILE_MAX_AGE_MS = 7 * 24 * 60 * 60 * 1e3;
|
|
249614
|
+
var SWEEP_MIN_INTERVAL_MS = 60 * 60 * 1e3;
|
|
249615
|
+
var lastSweepAt = 0;
|
|
249616
|
+
async function sweepStaleTempFiles(opts = {}) {
|
|
249617
|
+
const now3 = opts.now ?? Date.now();
|
|
249618
|
+
if (!opts.force && now3 - lastSweepAt < SWEEP_MIN_INTERVAL_MS) return 0;
|
|
249619
|
+
lastSweepAt = now3;
|
|
249620
|
+
const maxAgeMs = opts.maxAgeMs ?? TEMP_FILE_MAX_AGE_MS;
|
|
249621
|
+
let removed = 0;
|
|
249622
|
+
for (const dir of [ATTACHMENT_DIR, PASTE_DIR]) {
|
|
249623
|
+
let entries;
|
|
249624
|
+
try {
|
|
249625
|
+
entries = await readdir2(dir);
|
|
249626
|
+
} catch {
|
|
249627
|
+
continue;
|
|
249628
|
+
}
|
|
249629
|
+
for (const entry of entries) {
|
|
249630
|
+
const full = path14.join(dir, entry);
|
|
249631
|
+
try {
|
|
249632
|
+
const info = await stat2(full);
|
|
249633
|
+
if (now3 - info.mtimeMs <= maxAgeMs) continue;
|
|
249634
|
+
await rm(full, { recursive: true, force: true });
|
|
249635
|
+
removed++;
|
|
249636
|
+
} catch {
|
|
249637
|
+
}
|
|
249638
|
+
}
|
|
249639
|
+
}
|
|
249640
|
+
return removed;
|
|
249641
|
+
}
|
|
249642
|
+
|
|
249643
|
+
// src/utils/paste-file.ts
|
|
249608
249644
|
var DIR_MODE = 448;
|
|
249609
249645
|
var FILE_MODE = 384;
|
|
249610
249646
|
var FILE_FLAGS = fsConstants2.O_WRONLY | fsConstants2.O_CREAT | fsConstants2.O_EXCL | fsConstants2.O_NOFOLLOW;
|
|
249611
249647
|
async function writePasteToTempFile(content) {
|
|
249612
249648
|
await mkdir5(PASTE_DIR, { recursive: true, mode: DIR_MODE });
|
|
249613
249649
|
await chmod(PASTE_DIR, DIR_MODE);
|
|
249614
|
-
const filePath =
|
|
249650
|
+
const filePath = path15.join(PASTE_DIR, `${randomUUID15()}.txt`);
|
|
249615
249651
|
const handle = await open2(filePath, FILE_FLAGS, FILE_MODE);
|
|
249616
249652
|
try {
|
|
249617
249653
|
await handle.writeFile(content, "utf8");
|
|
249618
249654
|
} finally {
|
|
249619
249655
|
await handle.close();
|
|
249620
249656
|
}
|
|
249657
|
+
void sweepStaleTempFiles();
|
|
249621
249658
|
return { path: filePath, size: Buffer.byteLength(content, "utf8") };
|
|
249622
249659
|
}
|
|
249623
249660
|
|
|
249661
|
+
// src/utils/attachment-file.ts
|
|
249662
|
+
import { chmod as chmod2, mkdir as mkdir6, open as open3 } from "node:fs/promises";
|
|
249663
|
+
import { constants as fsConstants3 } from "node:fs";
|
|
249664
|
+
import path16 from "node:path";
|
|
249665
|
+
import { randomUUID as randomUUID16 } from "node:crypto";
|
|
249666
|
+
var MAX_ATTACHMENT_BYTES = 8 * 1024 * 1024;
|
|
249667
|
+
var DIR_MODE2 = 448;
|
|
249668
|
+
var FILE_MODE2 = 384;
|
|
249669
|
+
var FILE_FLAGS2 = fsConstants3.O_WRONLY | fsConstants3.O_CREAT | fsConstants3.O_EXCL | fsConstants3.O_NOFOLLOW;
|
|
249670
|
+
var MAX_NAME_LENGTH = 120;
|
|
249671
|
+
function sanitizeAttachmentName(raw) {
|
|
249672
|
+
const base = raw.split(/[\\/]/).pop() ?? "";
|
|
249673
|
+
let name25 = base.replace(/[\x00-\x1f\x7f"<>]/g, "").trim();
|
|
249674
|
+
if (name25.length > MAX_NAME_LENGTH) {
|
|
249675
|
+
const ext = path16.extname(name25);
|
|
249676
|
+
const stem = name25.slice(0, name25.length - ext.length);
|
|
249677
|
+
name25 = stem.slice(0, Math.max(1, MAX_NAME_LENGTH - ext.length)) + ext;
|
|
249678
|
+
}
|
|
249679
|
+
if (!name25 || /^\.+$/.test(name25)) return "attachment";
|
|
249680
|
+
return name25;
|
|
249681
|
+
}
|
|
249682
|
+
async function writeAttachmentToTempFile(rawName, data) {
|
|
249683
|
+
const name25 = sanitizeAttachmentName(rawName);
|
|
249684
|
+
await mkdir6(ATTACHMENT_DIR, { recursive: true, mode: DIR_MODE2 });
|
|
249685
|
+
await chmod2(ATTACHMENT_DIR, DIR_MODE2);
|
|
249686
|
+
const dir = path16.join(ATTACHMENT_DIR, randomUUID16());
|
|
249687
|
+
await mkdir6(dir, { mode: DIR_MODE2 });
|
|
249688
|
+
const filePath = path16.join(dir, name25);
|
|
249689
|
+
const handle = await open3(filePath, FILE_FLAGS2, FILE_MODE2);
|
|
249690
|
+
try {
|
|
249691
|
+
await handle.writeFile(data);
|
|
249692
|
+
} finally {
|
|
249693
|
+
await handle.close();
|
|
249694
|
+
}
|
|
249695
|
+
void sweepStaleTempFiles();
|
|
249696
|
+
return { path: filePath, name: name25, size: data.length };
|
|
249697
|
+
}
|
|
249698
|
+
|
|
249624
249699
|
// src/utils/review-brief.ts
|
|
249625
249700
|
import { createHash as createHash6 } from "crypto";
|
|
249626
249701
|
var BASE_TIMEOUT_MS = 15e3;
|
|
@@ -249969,7 +250044,7 @@ async function distillConversation(storage2, userId, messages, conversation, mai
|
|
|
249969
250044
|
}
|
|
249970
250045
|
|
|
249971
250046
|
// src/routes/agent-session-routes.ts
|
|
249972
|
-
import { createHash as createHash7, randomUUID as
|
|
250047
|
+
import { createHash as createHash7, randomUUID as randomUUID17 } from "crypto";
|
|
249973
250048
|
|
|
249974
250049
|
// src/protocol/model-suggestions.ts
|
|
249975
250050
|
var MODEL_SUGGESTIONS = {
|
|
@@ -249986,6 +250061,7 @@ async function resolveProjectPath(projectId, storage2) {
|
|
|
249986
250061
|
return project?.path ?? null;
|
|
249987
250062
|
}
|
|
249988
250063
|
var MESSAGE_TEXT_CHAR_LIMIT = 64 * 1024;
|
|
250064
|
+
var ATTACHMENT_CAPABILITY = "http:POST /api/agent-sessions/:param/attachment";
|
|
249989
250065
|
function messageTextLength(content) {
|
|
249990
250066
|
if (typeof content === "string") return content.length;
|
|
249991
250067
|
let n = 0;
|
|
@@ -249995,7 +250071,7 @@ function messageTextLength(content) {
|
|
|
249995
250071
|
return n;
|
|
249996
250072
|
}
|
|
249997
250073
|
var routes11 = async (fastify2) => {
|
|
249998
|
-
const instructionReceiverToken =
|
|
250074
|
+
const instructionReceiverToken = randomUUID17();
|
|
249999
250075
|
const instructionDeliveryLocks = /* @__PURE__ */ new Map();
|
|
250000
250076
|
const sessionMutationLocks = /* @__PURE__ */ new Map();
|
|
250001
250077
|
async function serializeInstructionDelivery(key2, effect) {
|
|
@@ -250851,7 +250927,7 @@ var routes11 = async (fastify2) => {
|
|
|
250851
250927
|
return reply.code(400).send({ error: "Project has no local path" });
|
|
250852
250928
|
}
|
|
250853
250929
|
try {
|
|
250854
|
-
const preSessionId =
|
|
250930
|
+
const preSessionId = randomUUID17();
|
|
250855
250931
|
const crossRemoteMcp = await mintCrossRemoteMcpConfig(
|
|
250856
250932
|
{ storage: fastify2.storage },
|
|
250857
250933
|
{ userId, sessionId: preSessionId, sourceRemoteServerId: null }
|
|
@@ -251331,6 +251407,14 @@ var routes11 = async (fastify2) => {
|
|
|
251331
251407
|
});
|
|
251332
251408
|
});
|
|
251333
251409
|
});
|
|
251410
|
+
async function resolveUploadTargetRemoteInfo(sessionId, userId) {
|
|
251411
|
+
const mapped = await getAuthorizedRemoteSessionInfo(sessionId, userId);
|
|
251412
|
+
if (mapped) return mapped;
|
|
251413
|
+
const intent = await fastify2.storage.remoteSessionCreationIntents.getByLocal(sessionId);
|
|
251414
|
+
if (!intent || intent.status !== "pending" || !intent.prepare_operation_id) return null;
|
|
251415
|
+
if (!await fastify2.storage.projects.getById(intent.project_id, userId)) return null;
|
|
251416
|
+
return { remoteServerId: intent.remote_server_id, remoteSessionId: intent.remote_session_id, branch: intent.branch ?? null };
|
|
251417
|
+
}
|
|
251334
251418
|
fastify2.post("/api/agent-sessions/:sessionId/paste", { bodyLimit: 10 * 1024 * 1024 }, async (req, reply) => {
|
|
251335
251419
|
const { content } = req.body;
|
|
251336
251420
|
if (typeof content !== "string" || content.length === 0) {
|
|
@@ -251339,12 +251423,7 @@ var routes11 = async (fastify2) => {
|
|
|
251339
251423
|
if (req.params.sessionId.startsWith("remote-")) {
|
|
251340
251424
|
const userId = requireUserFacingUserId(req, reply);
|
|
251341
251425
|
if (userId === null) return;
|
|
251342
|
-
const remoteInfo = await
|
|
251343
|
-
const intent = await fastify2.storage.remoteSessionCreationIntents.getByLocal(req.params.sessionId);
|
|
251344
|
-
if (!intent || intent.status !== "pending" || !intent.prepare_operation_id) return null;
|
|
251345
|
-
if (!await fastify2.storage.projects.getById(intent.project_id, userId)) return null;
|
|
251346
|
-
return { remoteServerId: intent.remote_server_id, remoteSessionId: intent.remote_session_id, branch: intent.branch ?? null };
|
|
251347
|
-
})();
|
|
251426
|
+
const remoteInfo = await resolveUploadTargetRemoteInfo(req.params.sessionId, userId);
|
|
251348
251427
|
if (!remoteInfo) {
|
|
251349
251428
|
return reply.code(404).send({ error: "Remote session not found" });
|
|
251350
251429
|
}
|
|
@@ -251375,6 +251454,81 @@ var routes11 = async (fastify2) => {
|
|
|
251375
251454
|
return reply.code(500).send({ error: `Failed to write paste: ${msg}` });
|
|
251376
251455
|
}
|
|
251377
251456
|
});
|
|
251457
|
+
fastify2.post("/api/agent-sessions/:sessionId/attachment", { bodyLimit: 12 * 1024 * 1024 }, async (req, reply) => {
|
|
251458
|
+
const { name: name25, mediaType, contentBase64 } = req.body ?? {};
|
|
251459
|
+
if (typeof name25 !== "string" || name25.length === 0) {
|
|
251460
|
+
return reply.code(400).send({ error: "name must be a non-empty string" });
|
|
251461
|
+
}
|
|
251462
|
+
if (typeof contentBase64 !== "string" || contentBase64.length === 0) {
|
|
251463
|
+
return reply.code(400).send({ error: "contentBase64 must be a non-empty string" });
|
|
251464
|
+
}
|
|
251465
|
+
if (mediaType !== void 0 && typeof mediaType !== "string") {
|
|
251466
|
+
return reply.code(400).send({ error: "mediaType must be a string" });
|
|
251467
|
+
}
|
|
251468
|
+
if (contentBase64.length > Math.ceil(MAX_ATTACHMENT_BYTES / 3) * 4) {
|
|
251469
|
+
return reply.code(413).send({
|
|
251470
|
+
error: `Attachment exceeds ${Math.floor(MAX_ATTACHMENT_BYTES / (1024 * 1024))}MB`,
|
|
251471
|
+
errorCode: "attachment_too_large"
|
|
251472
|
+
});
|
|
251473
|
+
}
|
|
251474
|
+
if (req.params.sessionId.startsWith("remote-")) {
|
|
251475
|
+
const userId = requireUserFacingUserId(req, reply);
|
|
251476
|
+
if (userId === null) return;
|
|
251477
|
+
const remoteInfo = await resolveUploadTargetRemoteInfo(req.params.sessionId, userId);
|
|
251478
|
+
if (!remoteInfo) {
|
|
251479
|
+
return reply.code(404).send({ error: "Remote session not found" });
|
|
251480
|
+
}
|
|
251481
|
+
const server = await fastify2.storage.remoteServers.getById(remoteInfo.remoteServerId);
|
|
251482
|
+
const supported = server?.worker_capabilities?.includes(ATTACHMENT_CAPABILITY);
|
|
251483
|
+
if (server && Array.isArray(server.worker_capabilities) && !supported) {
|
|
251484
|
+
return reply.code(409).send({
|
|
251485
|
+
error: "The remote worker is too old to receive file attachments. Update it and reconnect.",
|
|
251486
|
+
errorCode: "worker_unsupported"
|
|
251487
|
+
});
|
|
251488
|
+
}
|
|
251489
|
+
const result = await proxyAuto(
|
|
251490
|
+
remoteInfo.remoteServerId,
|
|
251491
|
+
"POST",
|
|
251492
|
+
`/api/agent-sessions/${remoteInfo.remoteSessionId}/attachment`,
|
|
251493
|
+
{ name: name25, mediaType, contentBase64 }
|
|
251494
|
+
);
|
|
251495
|
+
if (!result.ok) {
|
|
251496
|
+
const status = proxyStatus(result);
|
|
251497
|
+
if (status === 404) {
|
|
251498
|
+
return reply.code(409).send({
|
|
251499
|
+
error: "The remote worker is too old to receive file attachments. Update it and reconnect.",
|
|
251500
|
+
errorCode: "worker_unsupported"
|
|
251501
|
+
});
|
|
251502
|
+
}
|
|
251503
|
+
return reply.code(status).send({
|
|
251504
|
+
error: `Remote proxy failed: ${result.errorCode || "unknown"}`,
|
|
251505
|
+
errorCode: result.errorCode,
|
|
251506
|
+
attempts: result.attempts,
|
|
251507
|
+
totalDurationMs: result.totalDurationMs,
|
|
251508
|
+
detail: result.data
|
|
251509
|
+
});
|
|
251510
|
+
}
|
|
251511
|
+
return reply.code(proxyStatus(result)).send(result.data);
|
|
251512
|
+
}
|
|
251513
|
+
const data = Buffer.from(contentBase64, "base64");
|
|
251514
|
+
if (data.length === 0) {
|
|
251515
|
+
return reply.code(400).send({ error: "contentBase64 is not valid base64" });
|
|
251516
|
+
}
|
|
251517
|
+
if (data.length > MAX_ATTACHMENT_BYTES) {
|
|
251518
|
+
return reply.code(413).send({
|
|
251519
|
+
error: `Attachment exceeds ${Math.floor(MAX_ATTACHMENT_BYTES / (1024 * 1024))}MB`,
|
|
251520
|
+
errorCode: "attachment_too_large"
|
|
251521
|
+
});
|
|
251522
|
+
}
|
|
251523
|
+
try {
|
|
251524
|
+
const written = await writeAttachmentToTempFile(name25, data);
|
|
251525
|
+
return reply.code(200).send({ ...written, mediaType: typeof mediaType === "string" ? mediaType : null });
|
|
251526
|
+
} catch (err) {
|
|
251527
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
251528
|
+
req.log?.error({ err }, "[attachment] failed to write temp file");
|
|
251529
|
+
return reply.code(500).send({ error: `Failed to write attachment: ${msg}` });
|
|
251530
|
+
}
|
|
251531
|
+
});
|
|
251378
251532
|
fastify2.post(
|
|
251379
251533
|
"/api/agent-sessions/:sessionId/stop",
|
|
251380
251534
|
async (req, reply) => {
|
|
@@ -251637,7 +251791,7 @@ var routes11 = async (fastify2) => {
|
|
|
251637
251791
|
messages
|
|
251638
251792
|
});
|
|
251639
251793
|
}
|
|
251640
|
-
const preSessionId =
|
|
251794
|
+
const preSessionId = randomUUID17();
|
|
251641
251795
|
const crossRemoteMcp = await mintCrossRemoteMcpConfig(
|
|
251642
251796
|
{ storage: fastify2.storage },
|
|
251643
251797
|
{ userId, sessionId: preSessionId, sourceRemoteServerId: null }
|
|
@@ -252406,9 +252560,9 @@ async function getRemoteConfig4(fastify2, project) {
|
|
|
252406
252560
|
};
|
|
252407
252561
|
}
|
|
252408
252562
|
var MAX_COMPARISONS = 50;
|
|
252409
|
-
var
|
|
252563
|
+
var MAX_NAME_LENGTH2 = 256;
|
|
252410
252564
|
function isValidName(value) {
|
|
252411
|
-
return typeof value === "string" && value.length > 0 && value.length <=
|
|
252565
|
+
return typeof value === "string" && value.length > 0 && value.length <= MAX_NAME_LENGTH2;
|
|
252412
252566
|
}
|
|
252413
252567
|
function parseComparisons(body) {
|
|
252414
252568
|
if (!body || typeof body !== "object") return null;
|
|
@@ -252672,7 +252826,7 @@ var chat_session_routes_default = (0, import_fastify_plugin16.default)(routes15,
|
|
|
252672
252826
|
|
|
252673
252827
|
// src/routes/project-chat-routes.ts
|
|
252674
252828
|
var import_fastify_plugin17 = __toESM(require_plugin2(), 1);
|
|
252675
|
-
import { createHash as createHash8, randomUUID as
|
|
252829
|
+
import { createHash as createHash8, randomUUID as randomUUID18 } from "crypto";
|
|
252676
252830
|
var MAX_TITLE_LENGTH = 200;
|
|
252677
252831
|
var MAX_MESSAGE_LENGTH = 1e5;
|
|
252678
252832
|
var THREAD_PAGE_LIMIT = 50;
|
|
@@ -252840,20 +252994,20 @@ var routes16 = async (fastify2) => {
|
|
|
252840
252994
|
if (!project) return reply.code(404).send({ error: "Project not found" });
|
|
252841
252995
|
const body = parseCreateBody(req.body);
|
|
252842
252996
|
if (!body) return reply.code(400).send({ error: "Body must contain only an optional non-empty message" });
|
|
252843
|
-
const createRequestId = body.createRequestId ??
|
|
252997
|
+
const createRequestId = body.createRequestId ?? randomUUID18();
|
|
252844
252998
|
const createPayloadHash = createHash8("sha256").update(JSON.stringify({ message: body.message ?? null })).digest("hex");
|
|
252845
252999
|
let accepted;
|
|
252846
253000
|
try {
|
|
252847
253001
|
accepted = await fastify2.storage.projectChatThreads.createIdempotent({
|
|
252848
|
-
id:
|
|
253002
|
+
id: randomUUID18(),
|
|
252849
253003
|
project_id: projectId,
|
|
252850
253004
|
user_id: userId,
|
|
252851
253005
|
title: null,
|
|
252852
253006
|
create_request_id: createRequestId,
|
|
252853
253007
|
create_payload_hash: createPayloadHash,
|
|
252854
253008
|
...body.message !== void 0 ? { initialTurn: {
|
|
252855
|
-
messageId:
|
|
252856
|
-
workItemId:
|
|
253009
|
+
messageId: randomUUID18(),
|
|
253010
|
+
workItemId: randomUUID18(),
|
|
252857
253011
|
content: body.message
|
|
252858
253012
|
} } : {}
|
|
252859
253013
|
});
|
|
@@ -253134,7 +253288,7 @@ var project_activity_routes_default = (0, import_fastify_plugin18.default)(route
|
|
|
253134
253288
|
|
|
253135
253289
|
// src/routes/task-routes.ts
|
|
253136
253290
|
var import_fastify_plugin19 = __toESM(require_plugin2(), 1);
|
|
253137
|
-
import { randomUUID as
|
|
253291
|
+
import { randomUUID as randomUUID19 } from "crypto";
|
|
253138
253292
|
var routes18 = async (fastify2) => {
|
|
253139
253293
|
fastify2.get(
|
|
253140
253294
|
"/api/projects/:projectId/tasks",
|
|
@@ -253198,7 +253352,7 @@ Description: ${description}`,
|
|
|
253198
253352
|
title = description.length > 50 ? description.slice(0, 50) + "..." : description;
|
|
253199
253353
|
}
|
|
253200
253354
|
}
|
|
253201
|
-
const id =
|
|
253355
|
+
const id = randomUUID19();
|
|
253202
253356
|
const task = await fastify2.storage.tasks.create({
|
|
253203
253357
|
id,
|
|
253204
253358
|
project_id: req.params.projectId,
|
|
@@ -253299,7 +253453,7 @@ var task_routes_default = (0, import_fastify_plugin19.default)(routes18, { name:
|
|
|
253299
253453
|
|
|
253300
253454
|
// src/routes/rule-routes.ts
|
|
253301
253455
|
var import_fastify_plugin20 = __toESM(require_plugin2(), 1);
|
|
253302
|
-
import { randomUUID as
|
|
253456
|
+
import { randomUUID as randomUUID20 } from "crypto";
|
|
253303
253457
|
var routes19 = async (fastify2) => {
|
|
253304
253458
|
fastify2.get(
|
|
253305
253459
|
"/api/projects/:projectId/rules",
|
|
@@ -253326,7 +253480,7 @@ var routes19 = async (fastify2) => {
|
|
|
253326
253480
|
if (!name25 || !content) {
|
|
253327
253481
|
return reply.code(400).send({ error: "name and content are required" });
|
|
253328
253482
|
}
|
|
253329
|
-
const id =
|
|
253483
|
+
const id = randomUUID20();
|
|
253330
253484
|
const rule = await fastify2.storage.rules.create({
|
|
253331
253485
|
id,
|
|
253332
253486
|
project_id: req.params.projectId,
|
|
@@ -253390,7 +253544,7 @@ var rule_routes_default = (0, import_fastify_plugin20.default)(routes19, { name:
|
|
|
253390
253544
|
|
|
253391
253545
|
// src/routes/command-routes.ts
|
|
253392
253546
|
var import_fastify_plugin21 = __toESM(require_plugin2(), 1);
|
|
253393
|
-
import { randomUUID as
|
|
253547
|
+
import { randomUUID as randomUUID21 } from "crypto";
|
|
253394
253548
|
var routes20 = async (fastify2) => {
|
|
253395
253549
|
fastify2.get(
|
|
253396
253550
|
"/api/projects/:projectId/commands",
|
|
@@ -253417,7 +253571,7 @@ var routes20 = async (fastify2) => {
|
|
|
253417
253571
|
if (!name25 || !content) {
|
|
253418
253572
|
return reply.code(400).send({ error: "name and content are required" });
|
|
253419
253573
|
}
|
|
253420
|
-
const id =
|
|
253574
|
+
const id = randomUUID21();
|
|
253421
253575
|
const command = await fastify2.storage.commands.create({
|
|
253422
253576
|
id,
|
|
253423
253577
|
project_id: req.params.projectId,
|
|
@@ -254709,7 +254863,7 @@ var translate_routes_default = (0, import_fastify_plugin24.default)(routes23, {
|
|
|
254709
254863
|
var import_fastify_plugin25 = __toESM(require_plugin2(), 1);
|
|
254710
254864
|
|
|
254711
254865
|
// src/routes/executor-stream-handlers.ts
|
|
254712
|
-
import { randomUUID as
|
|
254866
|
+
import { randomUUID as randomUUID22 } from "crypto";
|
|
254713
254867
|
function attachLocalProcessStream(fastify2, processId, send, onTerminal) {
|
|
254714
254868
|
const noop4 = { cleanup: () => {
|
|
254715
254869
|
}, handleInput: () => {
|
|
@@ -254785,7 +254939,7 @@ function attachRemoteProcessStream(fastify2, processId, send, onTerminal) {
|
|
|
254785
254939
|
return;
|
|
254786
254940
|
}
|
|
254787
254941
|
console.log(`[diag:remote-stop] ${(/* @__PURE__ */ new Date()).toISOString()} attach processId=${processId} executorId=${info.executorId} server=${info.remoteServerId} transport=reverse-connect remoteProcessId=${info.remoteProcessId}`);
|
|
254788
|
-
const channelId =
|
|
254942
|
+
const channelId = randomUUID22();
|
|
254789
254943
|
const wsPath = `/api/executor-processes/${info.remoteProcessId}/logs`;
|
|
254790
254944
|
const adapter = new VirtualWsAdapter(
|
|
254791
254945
|
(data) => fastify2.reverseConnectManager.sendChannelData(info.remoteServerId, channelId, data),
|
|
@@ -255791,7 +255945,7 @@ var event_routes_default = (0, import_fastify_plugin27.default)(routes26, { name
|
|
|
255791
255945
|
|
|
255792
255946
|
// src/routes/terminal-routes.ts
|
|
255793
255947
|
var import_fastify_plugin28 = __toESM(require_plugin2(), 1);
|
|
255794
|
-
import
|
|
255948
|
+
import path17 from "path";
|
|
255795
255949
|
async function getRemoteConfig5(fastify2, project, remoteServerId) {
|
|
255796
255950
|
const remotes = await fastify2.storage.projectRemotes.getByProject(project.id);
|
|
255797
255951
|
const target = remoteServerId ? remotes.find((r) => r.remote_server_id === remoteServerId) : remotes[0];
|
|
@@ -255924,9 +256078,9 @@ var routes27 = async (fastify2) => {
|
|
|
255924
256078
|
}
|
|
255925
256079
|
const basePath33 = resolveWorktreePath(project.path, branch ?? null);
|
|
255926
256080
|
const requestedCwd = req.body?.cwd;
|
|
255927
|
-
const cwd = requestedCwd ?
|
|
255928
|
-
const relativeToBase =
|
|
255929
|
-
if (
|
|
256081
|
+
const cwd = requestedCwd ? path17.resolve(basePath33, requestedCwd) : basePath33;
|
|
256082
|
+
const relativeToBase = path17.relative(basePath33, cwd);
|
|
256083
|
+
if (path17.isAbsolute(relativeToBase) || relativeToBase.startsWith("..")) {
|
|
255930
256084
|
return reply.code(400).send({ error: "cwd must be within project path" });
|
|
255931
256085
|
}
|
|
255932
256086
|
try {
|
|
@@ -256055,7 +256209,7 @@ var browser_routes_default = (0, import_fastify_plugin29.default)(routes28, { na
|
|
|
256055
256209
|
|
|
256056
256210
|
// src/routes/browser-proxy-routes.ts
|
|
256057
256211
|
var import_fastify_plugin30 = __toESM(require_plugin2(), 1);
|
|
256058
|
-
import { randomUUID as
|
|
256212
|
+
import { randomUUID as randomUUID23 } from "crypto";
|
|
256059
256213
|
|
|
256060
256214
|
// src/utils/ssrf-guard.ts
|
|
256061
256215
|
var import_undici2 = __toESM(require_undici(), 1);
|
|
@@ -256301,11 +256455,11 @@ async function proxyFetch(resolved, requestHeaders, reverseConnectManager, enfor
|
|
|
256301
256455
|
if (resolved.remoteServerId && reverseConnectManager?.isConnected(resolved.remoteServerId)) {
|
|
256302
256456
|
const parsed = new URL(resolved.fetchUrl);
|
|
256303
256457
|
const port = parsed.port ? parseInt(parsed.port, 10) : void 0;
|
|
256304
|
-
const
|
|
256458
|
+
const path26 = parsed.pathname + parsed.search;
|
|
256305
256459
|
const raw = await reverseConnectManager.sendRawHttpRequest(
|
|
256306
256460
|
resolved.remoteServerId,
|
|
256307
256461
|
"GET",
|
|
256308
|
-
|
|
256462
|
+
path26,
|
|
256309
256463
|
requestHeaders,
|
|
256310
256464
|
void 0,
|
|
256311
256465
|
void 0,
|
|
@@ -256645,7 +256799,7 @@ var routes29 = async (fastify2) => {
|
|
|
256645
256799
|
const rcm = fastify2.reverseConnectManager;
|
|
256646
256800
|
if (resolved.remoteServerId && rcm.isConnected(resolved.remoteServerId)) {
|
|
256647
256801
|
const remoteServerId = resolved.remoteServerId;
|
|
256648
|
-
const channelId =
|
|
256802
|
+
const channelId = randomUUID23();
|
|
256649
256803
|
const parsed = new URL(resolved.fetchUrl);
|
|
256650
256804
|
const wsPath = parsed.pathname;
|
|
256651
256805
|
const wsQuery = parsed.search ? parsed.search.slice(1) : void 0;
|
|
@@ -256726,7 +256880,7 @@ var browser_proxy_routes_default = (0, import_fastify_plugin30.default)(routes29
|
|
|
256726
256880
|
|
|
256727
256881
|
// src/routes/cross-remote-target-routes.ts
|
|
256728
256882
|
var import_fastify_plugin31 = __toESM(require_plugin2(), 1);
|
|
256729
|
-
import
|
|
256883
|
+
import path19 from "path";
|
|
256730
256884
|
import { promises as fs4 } from "fs";
|
|
256731
256885
|
|
|
256732
256886
|
// src/utils/one-shot-exec.ts
|
|
@@ -256797,7 +256951,7 @@ function runOneShot(command, opts) {
|
|
|
256797
256951
|
}
|
|
256798
256952
|
|
|
256799
256953
|
// src/remote-mcp-session-manager.ts
|
|
256800
|
-
import { randomUUID as
|
|
256954
|
+
import { randomUUID as randomUUID24 } from "node:crypto";
|
|
256801
256955
|
|
|
256802
256956
|
// src/protocol/mcp/client.ts
|
|
256803
256957
|
var McpClientError = class extends Error {
|
|
@@ -261597,7 +261751,7 @@ var StreamableHTTPClientTransport = class {
|
|
|
261597
261751
|
};
|
|
261598
261752
|
|
|
261599
261753
|
// src/protocol/mcp/transport.ts
|
|
261600
|
-
import
|
|
261754
|
+
import path18 from "node:path";
|
|
261601
261755
|
var LABEL_MAX = 120;
|
|
261602
261756
|
function parseRemoteMcpTransport(value) {
|
|
261603
261757
|
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
@@ -261616,7 +261770,7 @@ function parseRemoteMcpTransport(value) {
|
|
|
261616
261770
|
if (args !== void 0 && (!Array.isArray(args) || !args.every((arg) => typeof arg === "string"))) {
|
|
261617
261771
|
return { ok: false, error: "transport.args must be an array of strings" };
|
|
261618
261772
|
}
|
|
261619
|
-
if (cwd !== void 0 && (typeof cwd !== "string" || !
|
|
261773
|
+
if (cwd !== void 0 && (typeof cwd !== "string" || !path18.isAbsolute(cwd))) {
|
|
261620
261774
|
return { ok: false, error: "transport.cwd must be an absolute path" };
|
|
261621
261775
|
}
|
|
261622
261776
|
return {
|
|
@@ -261871,7 +262025,7 @@ var RemoteMcpSessionManager = class {
|
|
|
261871
262025
|
try {
|
|
261872
262026
|
const tools = await client.listTools(clampTimeout(timeoutMs));
|
|
261873
262027
|
if (generation !== this.generation) throw new McpClientError("MCP broker was reset while opening");
|
|
261874
|
-
const workerHandle =
|
|
262028
|
+
const workerHandle = randomUUID24();
|
|
261875
262029
|
this.sessions.set(workerHandle, { client, transport: spec.type, serverInfo, tools, lastUsedAt: Date.now() });
|
|
261876
262030
|
return { workerHandle, transport: spec.type, serverInfo, tools };
|
|
261877
262031
|
} catch (error48) {
|
|
@@ -261966,7 +262120,7 @@ var routes30 = async (fastify2) => {
|
|
|
261966
262120
|
if (!command || typeof command !== "string") {
|
|
261967
262121
|
return reply.code(400).send({ error: "command is required" });
|
|
261968
262122
|
}
|
|
261969
|
-
if (cwd !== void 0 && !
|
|
262123
|
+
if (cwd !== void 0 && !path19.isAbsolute(cwd)) {
|
|
261970
262124
|
return reply.code(400).send({ error: "cwd must be an absolute path" });
|
|
261971
262125
|
}
|
|
261972
262126
|
const result = await runOneShot(command, { cwd, timeoutMs: clampTimeoutMs(timeoutSec) });
|
|
@@ -261977,7 +262131,7 @@ var routes30 = async (fastify2) => {
|
|
|
261977
262131
|
"/api/path/cross-remote/read-file",
|
|
261978
262132
|
async (request, reply) => {
|
|
261979
262133
|
const { path: filePath, offset = 0, limit = MAX_OUTPUT_BYTES } = request.body ?? {};
|
|
261980
|
-
if (!filePath || !
|
|
262134
|
+
if (!filePath || !path19.isAbsolute(filePath)) {
|
|
261981
262135
|
return reply.code(400).send({ error: "path must be an absolute path" });
|
|
261982
262136
|
}
|
|
261983
262137
|
if (!Number.isInteger(offset) || offset < 0) {
|
|
@@ -261988,10 +262142,10 @@ var routes30 = async (fastify2) => {
|
|
|
261988
262142
|
}
|
|
261989
262143
|
let handle;
|
|
261990
262144
|
try {
|
|
261991
|
-
const
|
|
261992
|
-
if (!
|
|
261993
|
-
if (offset >=
|
|
261994
|
-
return reply.send({ content: "", truncated: false, size:
|
|
262145
|
+
const stat3 = await fs4.stat(filePath);
|
|
262146
|
+
if (!stat3.isFile()) return reply.code(400).send({ error: "path is not a file" });
|
|
262147
|
+
if (offset >= stat3.size) {
|
|
262148
|
+
return reply.send({ content: "", truncated: false, size: stat3.size });
|
|
261995
262149
|
}
|
|
261996
262150
|
const cap2 = Math.min(limit, MAX_OUTPUT_BYTES);
|
|
261997
262151
|
handle = await fs4.open(filePath, "r");
|
|
@@ -261999,8 +262153,8 @@ var routes30 = async (fastify2) => {
|
|
|
261999
262153
|
const { bytesRead } = await handle.read(buffer, 0, cap2, offset);
|
|
262000
262154
|
return reply.send({
|
|
262001
262155
|
content: buffer.subarray(0, bytesRead).toString("utf8"),
|
|
262002
|
-
truncated: offset + bytesRead <
|
|
262003
|
-
size:
|
|
262156
|
+
truncated: offset + bytesRead < stat3.size,
|
|
262157
|
+
size: stat3.size
|
|
262004
262158
|
});
|
|
262005
262159
|
} catch (err) {
|
|
262006
262160
|
const code = err.code;
|
|
@@ -262020,7 +262174,7 @@ var routes30 = async (fastify2) => {
|
|
|
262020
262174
|
"/api/path/cross-remote/list-dir",
|
|
262021
262175
|
async (request, reply) => {
|
|
262022
262176
|
const dirPath = request.body?.path;
|
|
262023
|
-
if (!dirPath || !
|
|
262177
|
+
if (!dirPath || !path19.isAbsolute(dirPath)) {
|
|
262024
262178
|
return reply.code(400).send({ error: "path must be an absolute path" });
|
|
262025
262179
|
}
|
|
262026
262180
|
try {
|
|
@@ -262041,16 +262195,16 @@ var routes30 = async (fastify2) => {
|
|
|
262041
262195
|
"/api/path/cross-remote/stat",
|
|
262042
262196
|
async (request, reply) => {
|
|
262043
262197
|
const targetPath = request.body?.path;
|
|
262044
|
-
if (!targetPath || !
|
|
262198
|
+
if (!targetPath || !path19.isAbsolute(targetPath)) {
|
|
262045
262199
|
return reply.code(400).send({ error: "path must be an absolute path" });
|
|
262046
262200
|
}
|
|
262047
262201
|
try {
|
|
262048
|
-
const
|
|
262202
|
+
const stat3 = await fs4.stat(targetPath);
|
|
262049
262203
|
return reply.send({
|
|
262050
|
-
type: entryType(
|
|
262051
|
-
size:
|
|
262052
|
-
mtime:
|
|
262053
|
-
mode: (
|
|
262204
|
+
type: entryType(stat3.isFile(), stat3.isDirectory()),
|
|
262205
|
+
size: stat3.size,
|
|
262206
|
+
mtime: stat3.mtime.toISOString(),
|
|
262207
|
+
mode: (stat3.mode & 511).toString(8).padStart(3, "0")
|
|
262054
262208
|
});
|
|
262055
262209
|
} catch (err) {
|
|
262056
262210
|
const code = err.code;
|
|
@@ -262645,8 +262799,8 @@ var session_mcp_routes_default = (0, import_fastify_plugin33.default)(routes32,
|
|
|
262645
262799
|
|
|
262646
262800
|
// src/routes/schedule-routes.ts
|
|
262647
262801
|
var import_fastify_plugin34 = __toESM(require_plugin2(), 1);
|
|
262648
|
-
import { randomUUID as
|
|
262649
|
-
import
|
|
262802
|
+
import { randomUUID as randomUUID25 } from "crypto";
|
|
262803
|
+
import path20 from "path";
|
|
262650
262804
|
var RUN_TYPES = ["command", "prompt"];
|
|
262651
262805
|
var CWD_MODES = ["branch", "directory"];
|
|
262652
262806
|
var SOURCE_ID_MAX = 200;
|
|
@@ -262659,7 +262813,7 @@ function validateResolved(b2) {
|
|
|
262659
262813
|
if (!CWD_MODES.includes(b2.cwd_mode)) return `cwd_mode must be one of: ${CWD_MODES.join(", ")}`;
|
|
262660
262814
|
if (!b2.content.trim()) return "content is required";
|
|
262661
262815
|
if (b2.cwd_mode === "directory" && !b2.directory?.trim()) return "directory is required when cwd_mode is 'directory'";
|
|
262662
|
-
if (b2.cwd_mode === "directory" && b2.directory?.trim() && !
|
|
262816
|
+
if (b2.cwd_mode === "directory" && b2.directory?.trim() && !path20.isAbsolute(b2.directory)) return "directory must be an absolute path";
|
|
262663
262817
|
if (!Number.isInteger(b2.timeout_seconds) || b2.timeout_seconds <= 0) return "timeout_seconds must be a positive integer";
|
|
262664
262818
|
const cronError = validateCron(b2.cron_expr, b2.timezone);
|
|
262665
262819
|
if (cronError) return `Invalid cron expression: ${cronError}`;
|
|
@@ -262748,7 +262902,7 @@ var routes33 = async (fastify2) => {
|
|
|
262748
262902
|
if (!owned) return reply.code(400).send({ error: "Invalid source" });
|
|
262749
262903
|
source = { session_id: b2.source.session_id, tool_use_id: b2.source.tool_use_id };
|
|
262750
262904
|
}
|
|
262751
|
-
const newId =
|
|
262905
|
+
const newId = randomUUID25();
|
|
262752
262906
|
const schedule = await fastify2.storage.scheduledTasks.create({
|
|
262753
262907
|
id: newId,
|
|
262754
262908
|
project_id: req.params.projectId,
|
|
@@ -263600,15 +263754,15 @@ var createServer = async (opts) => {
|
|
|
263600
263754
|
process.exit(1);
|
|
263601
263755
|
}
|
|
263602
263756
|
}
|
|
263603
|
-
const bakedUiRoot =
|
|
263604
|
-
|
|
263757
|
+
const bakedUiRoot = path21.join(
|
|
263758
|
+
path21.dirname(fileURLToPath(import.meta.url)),
|
|
263605
263759
|
"./ui"
|
|
263606
263760
|
);
|
|
263607
263761
|
const UI_ROOT = opts.uiRoot !== void 0 ? opts.uiRoot : fs5.existsSync(bakedUiRoot) ? bakedUiRoot : null;
|
|
263608
263762
|
let uiBuildId;
|
|
263609
263763
|
if (UI_ROOT) {
|
|
263610
263764
|
try {
|
|
263611
|
-
const parsed = JSON.parse(fs5.readFileSync(
|
|
263765
|
+
const parsed = JSON.parse(fs5.readFileSync(path21.join(UI_ROOT, "build-id.json"), "utf8"));
|
|
263612
263766
|
if (typeof parsed.buildId === "string" && parsed.buildId) uiBuildId = parsed.buildId;
|
|
263613
263767
|
} catch {
|
|
263614
263768
|
}
|
|
@@ -263827,27 +263981,27 @@ var createServer = async (opts) => {
|
|
|
263827
263981
|
|
|
263828
263982
|
// src/ui-root.ts
|
|
263829
263983
|
import fs6 from "node:fs";
|
|
263830
|
-
import
|
|
263984
|
+
import path22 from "node:path";
|
|
263831
263985
|
import { execFile as execFile2 } from "node:child_process";
|
|
263832
263986
|
import { promisify as promisify3 } from "node:util";
|
|
263833
263987
|
import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
263834
263988
|
import { createRequire as createRequire2 } from "node:module";
|
|
263835
263989
|
var execFileAsync2 = promisify3(execFile2);
|
|
263836
263990
|
function hasIndexHtml(dir) {
|
|
263837
|
-
return fs6.existsSync(
|
|
263991
|
+
return fs6.existsSync(path22.join(dir, "index.html"));
|
|
263838
263992
|
}
|
|
263839
263993
|
function ownPackageJson() {
|
|
263840
|
-
const pkgPath =
|
|
263994
|
+
const pkgPath = path22.join(path22.dirname(fileURLToPath2(import.meta.url)), "..", "package.json");
|
|
263841
263995
|
return JSON.parse(fs6.readFileSync(pkgPath, "utf8"));
|
|
263842
263996
|
}
|
|
263843
263997
|
function bakedUiDir() {
|
|
263844
|
-
return
|
|
263998
|
+
return path22.join(path22.dirname(fileURLToPath2(import.meta.url)), "ui");
|
|
263845
263999
|
}
|
|
263846
264000
|
function installedUiDistDir() {
|
|
263847
264001
|
try {
|
|
263848
264002
|
const require2 = createRequire2(import.meta.url);
|
|
263849
264003
|
const pkgJsonPath = require2.resolve("@vibedeckx/ui-dist/package.json");
|
|
263850
|
-
return
|
|
264004
|
+
return path22.join(path22.dirname(pkgJsonPath), "ui");
|
|
263851
264005
|
} catch {
|
|
263852
264006
|
return null;
|
|
263853
264007
|
}
|
|
@@ -263873,12 +264027,12 @@ async function defaultDownload3(version2, cacheDir) {
|
|
|
263873
264027
|
],
|
|
263874
264028
|
{ shell: isWindows, timeout: 12e4 }
|
|
263875
264029
|
);
|
|
263876
|
-
const uiSrc =
|
|
264030
|
+
const uiSrc = path22.join(stagingDir, "node_modules", "@vibedeckx", "ui-dist", "ui");
|
|
263877
264031
|
if (!hasIndexHtml(uiSrc)) {
|
|
263878
264032
|
throw new Error(`downloaded package is missing ui/index.html (${uiSrc})`);
|
|
263879
264033
|
}
|
|
263880
264034
|
fs6.rmSync(cacheDir, { recursive: true, force: true });
|
|
263881
|
-
fs6.mkdirSync(
|
|
264035
|
+
fs6.mkdirSync(path22.dirname(cacheDir), { recursive: true });
|
|
263882
264036
|
fs6.renameSync(uiSrc, cacheDir);
|
|
263883
264037
|
} finally {
|
|
263884
264038
|
fs6.rmSync(stagingDir, { recursive: true, force: true });
|
|
@@ -263891,7 +264045,7 @@ async function resolveUiRoot(opts = {}) {
|
|
|
263891
264045
|
}
|
|
263892
264046
|
const explicit2 = opts.uiDir ?? process.env.VIBEDECKX_UI_DIR;
|
|
263893
264047
|
if (explicit2) {
|
|
263894
|
-
const dir =
|
|
264048
|
+
const dir = path22.resolve(explicit2);
|
|
263895
264049
|
if (!hasIndexHtml(dir)) {
|
|
263896
264050
|
throw new Error(`UI directory ${dir} does not contain index.html (from --ui-dir/VIBEDECKX_UI_DIR)`);
|
|
263897
264051
|
}
|
|
@@ -263912,7 +264066,7 @@ async function resolveUiRoot(opts = {}) {
|
|
|
263912
264066
|
console.error(`[UI] Refusing to download UI for unexpected version string: ${version2}`);
|
|
263913
264067
|
return null;
|
|
263914
264068
|
}
|
|
263915
|
-
const cacheDir =
|
|
264069
|
+
const cacheDir = path22.join(opts.cacheRoot ?? path22.join(VIBEDECKX_HOME, "ui"), version2);
|
|
263916
264070
|
if (hasIndexHtml(cacheDir)) {
|
|
263917
264071
|
console.log(`[UI] Serving from cache: ${cacheDir}`);
|
|
263918
264072
|
return cacheDir;
|
|
@@ -263999,6 +264153,10 @@ var WORKER_CAPABILITIES = {
|
|
|
263999
264153
|
// intact; no unconditional-delete fallback is safe under a concurrent send.
|
|
264000
264154
|
"http:POST /api/agent-sessions/:param/discard-if-empty": { since: "0.3.33", summary: "\u4EC5\u5728\u7A7A\u4F1A\u8BDD\u65F6\u5220\u9664" },
|
|
264001
264155
|
"http:POST /api/agent-sessions/:param/paste": { since: "0.2.0", summary: "\u7C98\u8D34\u56FE\u7247/\u957F\u6587\u672C" },
|
|
264156
|
+
// Additive: the hub checks this key (and treats a 404 the same way) before
|
|
264157
|
+
// uploading, answering `worker_unsupported` so the UI can tell the user to
|
|
264158
|
+
// update the worker instead of silently sending a message without the file.
|
|
264159
|
+
"http:POST /api/agent-sessions/:param/attachment": { since: "0.3.37", summary: "\u975E\u56FE\u7247\u9644\u4EF6\u843D\u4E34\u65F6\u6587\u4EF6" },
|
|
264002
264160
|
"http:POST /api/agent-sessions/:param/stop": { since: "0.2.0", summary: "\u505C\u6B62\u4F1A\u8BDD turn" },
|
|
264003
264161
|
"http:POST /api/agent-sessions/:param/restart": { since: "0.2.0", summary: "\u91CD\u542F\u4F1A\u8BDD\u8FDB\u7A0B" },
|
|
264004
264162
|
"http:POST /api/agent-sessions/:param/agent-type": { since: "0.2.0", summary: "\u5207\u6362 agent \u7C7B\u578B" },
|
|
@@ -264506,9 +264664,9 @@ var ReverseConnectClient = class {
|
|
|
264506
264664
|
|
|
264507
264665
|
// src/connect-daemon.ts
|
|
264508
264666
|
import { spawn as spawn6 } from "node:child_process";
|
|
264509
|
-
import { randomUUID as
|
|
264667
|
+
import { randomUUID as randomUUID26 } from "node:crypto";
|
|
264510
264668
|
import fs8 from "node:fs";
|
|
264511
|
-
import
|
|
264669
|
+
import path23 from "node:path";
|
|
264512
264670
|
var CONNECT_DAEMON_CHILD_ENV = "VIBEDECKX_INTERNAL_CONNECT_DAEMON";
|
|
264513
264671
|
var CONNECT_DAEMON_TOKEN_ENV = "VIBEDECKX_INTERNAL_CONNECT_TOKEN";
|
|
264514
264672
|
var CONNECT_DAEMON_READY_TIMEOUT_ENV = "VIBEDECKX_CONNECT_DAEMON_READY_TIMEOUT_MS";
|
|
@@ -264781,7 +264939,7 @@ async function startConnectDaemon(options) {
|
|
|
264781
264939
|
if (!configuredEntrypoint) {
|
|
264782
264940
|
throw new Error("Cannot start connect daemon: CLI entrypoint is unavailable");
|
|
264783
264941
|
}
|
|
264784
|
-
const entrypoint =
|
|
264942
|
+
const entrypoint = path23.resolve(configuredEntrypoint);
|
|
264785
264943
|
const child = spawn6(
|
|
264786
264944
|
process.execPath,
|
|
264787
264945
|
[entrypoint, ...buildDaemonChildArgs(options.argv)],
|
|
@@ -264812,7 +264970,7 @@ async function startConnectDaemon(options) {
|
|
|
264812
264970
|
return {
|
|
264813
264971
|
pid: child.pid,
|
|
264814
264972
|
target: options.connectTo,
|
|
264815
|
-
logPath:
|
|
264973
|
+
logPath: path23.join(options.dataDir, "logs", "vibedeckx.log")
|
|
264816
264974
|
};
|
|
264817
264975
|
} catch (error48) {
|
|
264818
264976
|
let terminationCleanupError;
|
|
@@ -264858,10 +265016,10 @@ async function startConnectDaemon(options) {
|
|
|
264858
265016
|
throw new Error(redactSecretForms(message, options.token));
|
|
264859
265017
|
}
|
|
264860
265018
|
}
|
|
264861
|
-
function parseLinuxProcessStartTicks(
|
|
264862
|
-
const closeParen =
|
|
265019
|
+
function parseLinuxProcessStartTicks(stat3) {
|
|
265020
|
+
const closeParen = stat3.lastIndexOf(")");
|
|
264863
265021
|
if (closeParen < 0) throw new Error("Malformed Linux process stat");
|
|
264864
|
-
const fieldsFromThree =
|
|
265022
|
+
const fieldsFromThree = stat3.slice(closeParen + 1).trim().split(/\s+/);
|
|
264865
265023
|
const startTicks = fieldsFromThree[19];
|
|
264866
265024
|
if (!startTicks || !/^\d+$/.test(startTicks)) {
|
|
264867
265025
|
throw new Error("Malformed Linux process stat");
|
|
@@ -264881,10 +265039,10 @@ function readLinuxProcessStartTicks(pid) {
|
|
|
264881
265039
|
}
|
|
264882
265040
|
}
|
|
264883
265041
|
function daemonStatePath(dataDir) {
|
|
264884
|
-
return
|
|
265042
|
+
return path23.join(dataDir, "run", "connect.json");
|
|
264885
265043
|
}
|
|
264886
265044
|
function daemonStateLockPath(dataDir) {
|
|
264887
|
-
return
|
|
265045
|
+
return path23.join(path23.dirname(daemonStatePath(dataDir)), "connect.lock");
|
|
264888
265046
|
}
|
|
264889
265047
|
function hasErrorCode(error48, code) {
|
|
264890
265048
|
return error48 instanceof Error && "code" in error48 && error48.code === code;
|
|
@@ -264895,7 +265053,7 @@ function isDaemonStateLockOwner(value) {
|
|
|
264895
265053
|
return Object.keys(owner).length === 4 && owner.schemaVersion === 1 && Number.isSafeInteger(owner.pid) && owner.pid > 0 && typeof owner.processStartTicks === "string" && /^\d+$/.test(owner.processStartTicks) && typeof owner.nonce === "string" && owner.nonce.length > 0;
|
|
264896
265054
|
}
|
|
264897
265055
|
function daemonStateLockOwnerPath(lockPath) {
|
|
264898
|
-
return
|
|
265056
|
+
return path23.join(lockPath, "owner.json");
|
|
264899
265057
|
}
|
|
264900
265058
|
function readDaemonStateLockOwner(lockPath) {
|
|
264901
265059
|
let contents;
|
|
@@ -264925,7 +265083,7 @@ function createDaemonStateLockCandidate(lockPath) {
|
|
|
264925
265083
|
schemaVersion: 1,
|
|
264926
265084
|
pid: process.pid,
|
|
264927
265085
|
processStartTicks,
|
|
264928
|
-
nonce:
|
|
265086
|
+
nonce: randomUUID26()
|
|
264929
265087
|
};
|
|
264930
265088
|
const candidatePath = `${lockPath}.candidate-${process.pid}-${owner.nonce}`;
|
|
264931
265089
|
fs8.mkdirSync(candidatePath, { mode: 448 });
|
|
@@ -264945,9 +265103,9 @@ function createDaemonStateLockCandidate(lockPath) {
|
|
|
264945
265103
|
}
|
|
264946
265104
|
}
|
|
264947
265105
|
function quarantineRecoverableDaemonStateLock(lockPath) {
|
|
264948
|
-
let
|
|
265106
|
+
let stat3;
|
|
264949
265107
|
try {
|
|
264950
|
-
|
|
265108
|
+
stat3 = fs8.lstatSync(lockPath);
|
|
264951
265109
|
} catch (error48) {
|
|
264952
265110
|
if (hasErrorCode(error48, "ENOENT")) return;
|
|
264953
265111
|
throw error48;
|
|
@@ -264958,7 +265116,7 @@ function quarantineRecoverableDaemonStateLock(lockPath) {
|
|
|
264958
265116
|
`daemon state operation already in progress at ${lockPath} (PID ${owner.pid})`
|
|
264959
265117
|
);
|
|
264960
265118
|
}
|
|
264961
|
-
const quarantinePath = `${lockPath}.stale-${
|
|
265119
|
+
const quarantinePath = `${lockPath}.stale-${stat3.dev}-${stat3.ino}-${String(stat3.ctimeMs).replace(".", "-")}`;
|
|
264962
265120
|
try {
|
|
264963
265121
|
fs8.renameSync(lockPath, quarantinePath);
|
|
264964
265122
|
} catch (error48) {
|
|
@@ -264994,8 +265152,8 @@ function acquireDaemonStateLock(lockPath) {
|
|
|
264994
265152
|
}
|
|
264995
265153
|
}
|
|
264996
265154
|
function sweepLockQuarantine(lockPath) {
|
|
264997
|
-
const runDir =
|
|
264998
|
-
const base =
|
|
265155
|
+
const runDir = path23.dirname(lockPath);
|
|
265156
|
+
const base = path23.basename(lockPath);
|
|
264999
265157
|
const stalePrefix = `${base}.stale-`;
|
|
265000
265158
|
const candidatePrefix = `${base}.candidate-`;
|
|
265001
265159
|
let entries;
|
|
@@ -265014,7 +265172,7 @@ function sweepLockQuarantine(lockPath) {
|
|
|
265014
265172
|
}
|
|
265015
265173
|
if (!removable) continue;
|
|
265016
265174
|
try {
|
|
265017
|
-
fs8.rmSync(
|
|
265175
|
+
fs8.rmSync(path23.join(runDir, entry), { recursive: true, force: true });
|
|
265018
265176
|
} catch {
|
|
265019
265177
|
}
|
|
265020
265178
|
}
|
|
@@ -265030,7 +265188,7 @@ function releaseDaemonStateLock(lockPath, expected) {
|
|
|
265030
265188
|
}
|
|
265031
265189
|
function withDaemonStateLock(dataDir, operation) {
|
|
265032
265190
|
const lockPath = daemonStateLockPath(dataDir);
|
|
265033
|
-
const runDir =
|
|
265191
|
+
const runDir = path23.dirname(lockPath);
|
|
265034
265192
|
fs8.mkdirSync(runDir, { recursive: true, mode: 448 });
|
|
265035
265193
|
fs8.chmodSync(runDir, 448);
|
|
265036
265194
|
const owner = acquireDaemonStateLock(lockPath);
|
|
@@ -265102,7 +265260,7 @@ async function describeConnectDaemon(dataDir, fetchLatestVersion = fetchLatestPu
|
|
|
265102
265260
|
`Running (PID ${inspection.state.pid}, since ${inspection.state.startedAt})`,
|
|
265103
265261
|
`Version: ${inspection.state.version} ${describeUpdateStatus(inspection.state.version, latest)}`,
|
|
265104
265262
|
`Target: ${inspection.state.connectTo}`,
|
|
265105
|
-
`Logs: ${
|
|
265263
|
+
`Logs: ${path23.join(dataDir, "logs", "vibedeckx.log")}`
|
|
265106
265264
|
].join("\n")
|
|
265107
265265
|
};
|
|
265108
265266
|
}
|
|
@@ -265262,8 +265420,8 @@ function claimDaemonStateUnlocked(dataDir, connectTo, version2) {
|
|
|
265262
265420
|
version: version2
|
|
265263
265421
|
};
|
|
265264
265422
|
const statePath = daemonStatePath(dataDir);
|
|
265265
|
-
fs8.mkdirSync(
|
|
265266
|
-
fs8.chmodSync(
|
|
265423
|
+
fs8.mkdirSync(path23.dirname(statePath), { recursive: true, mode: 448 });
|
|
265424
|
+
fs8.chmodSync(path23.dirname(statePath), 448);
|
|
265267
265425
|
fs8.writeFileSync(statePath, `${JSON.stringify(state)}
|
|
265268
265426
|
`, {
|
|
265269
265427
|
flag: "wx",
|
|
@@ -265403,15 +265561,15 @@ async function preflightIdentityCheck(opts) {
|
|
|
265403
265561
|
// ../../node_modules/.pnpm/open@10.2.0/node_modules/open/index.js
|
|
265404
265562
|
import process8 from "node:process";
|
|
265405
265563
|
import { Buffer as Buffer2 } from "node:buffer";
|
|
265406
|
-
import
|
|
265564
|
+
import path24 from "node:path";
|
|
265407
265565
|
import { fileURLToPath as fileURLToPath3 } from "node:url";
|
|
265408
265566
|
import { promisify as promisify8 } from "node:util";
|
|
265409
265567
|
import childProcess from "node:child_process";
|
|
265410
|
-
import fs13, { constants as
|
|
265568
|
+
import fs13, { constants as fsConstants5 } from "node:fs/promises";
|
|
265411
265569
|
|
|
265412
265570
|
// ../../node_modules/.pnpm/wsl-utils@0.1.0/node_modules/wsl-utils/index.js
|
|
265413
265571
|
import process4 from "node:process";
|
|
265414
|
-
import fs12, { constants as
|
|
265572
|
+
import fs12, { constants as fsConstants4 } from "node:fs/promises";
|
|
265415
265573
|
|
|
265416
265574
|
// ../../node_modules/.pnpm/is-wsl@3.1.0/node_modules/is-wsl/index.js
|
|
265417
265575
|
import process3 from "node:process";
|
|
@@ -265493,7 +265651,7 @@ var wslDrivesMountPoint = /* @__PURE__ */ (() => {
|
|
|
265493
265651
|
const configFilePath = "/etc/wsl.conf";
|
|
265494
265652
|
let isConfigFileExists = false;
|
|
265495
265653
|
try {
|
|
265496
|
-
await fs12.access(configFilePath,
|
|
265654
|
+
await fs12.access(configFilePath, fsConstants4.F_OK);
|
|
265497
265655
|
isConfigFileExists = true;
|
|
265498
265656
|
} catch {
|
|
265499
265657
|
}
|
|
@@ -265654,8 +265812,8 @@ async function defaultBrowser2() {
|
|
|
265654
265812
|
|
|
265655
265813
|
// ../../node_modules/.pnpm/open@10.2.0/node_modules/open/index.js
|
|
265656
265814
|
var execFile7 = promisify8(childProcess.execFile);
|
|
265657
|
-
var __dirname2 =
|
|
265658
|
-
var localXdgOpenPath =
|
|
265815
|
+
var __dirname2 = path24.dirname(fileURLToPath3(import.meta.url));
|
|
265816
|
+
var localXdgOpenPath = path24.join(__dirname2, "xdg-open");
|
|
265659
265817
|
var { platform: platform2, arch } = process8;
|
|
265660
265818
|
async function getWindowsDefaultBrowserFromWsl() {
|
|
265661
265819
|
const powershellPath = await powerShellPath();
|
|
@@ -265805,7 +265963,7 @@ var baseOpen = async (options) => {
|
|
|
265805
265963
|
const isBundled = !__dirname2 || __dirname2 === "/";
|
|
265806
265964
|
let exeLocalXdgOpen = false;
|
|
265807
265965
|
try {
|
|
265808
|
-
await fs13.access(localXdgOpenPath,
|
|
265966
|
+
await fs13.access(localXdgOpenPath, fsConstants5.X_OK);
|
|
265809
265967
|
exeLocalXdgOpen = true;
|
|
265810
265968
|
} catch {
|
|
265811
265969
|
}
|
|
@@ -265842,7 +266000,7 @@ var baseOpen = async (options) => {
|
|
|
265842
266000
|
subprocess.unref();
|
|
265843
266001
|
return subprocess;
|
|
265844
266002
|
};
|
|
265845
|
-
var
|
|
266003
|
+
var open4 = (target, options) => {
|
|
265846
266004
|
if (typeof target !== "string") {
|
|
265847
266005
|
throw new TypeError("Expected a `target`");
|
|
265848
266006
|
}
|
|
@@ -265907,7 +266065,7 @@ defineLazyProperty(apps, "edge", () => detectPlatformBinary({
|
|
|
265907
266065
|
}));
|
|
265908
266066
|
defineLazyProperty(apps, "browser", () => "browser");
|
|
265909
266067
|
defineLazyProperty(apps, "browserPrivate", () => "browserPrivate");
|
|
265910
|
-
var open_default =
|
|
266068
|
+
var open_default = open4;
|
|
265911
266069
|
|
|
265912
266070
|
// src/command.ts
|
|
265913
266071
|
function loadTLSOptions(flags) {
|
|
@@ -266022,7 +266180,7 @@ an authenticating proxy in front, or keep the default loopback bind (127.0.0.1).
|
|
|
266022
266180
|
}
|
|
266023
266181
|
console.log(`Starting vibedeckx${tls ? " (HTTPS)" : ""}...`);
|
|
266024
266182
|
const uiRoot = await resolveUiRoot({ uiDir: flags["ui-dir"], noUi: flags["no-ui"] });
|
|
266025
|
-
const dbPath =
|
|
266183
|
+
const dbPath = path25.join(dataDir, "data.sqlite");
|
|
266026
266184
|
const storage2 = await createSqliteStorage(dbPath);
|
|
266027
266185
|
const server = await createServer({ storage: storage2, authEnabled, noLocalProjects, tls, uiRoot });
|
|
266028
266186
|
const url2 = await server.start(port, host);
|
|
@@ -266192,7 +266350,7 @@ var connectCommand = buildCommand({
|
|
|
266192
266350
|
requireFileLogging: childContext.isDaemonChild
|
|
266193
266351
|
});
|
|
266194
266352
|
console.log("Starting vibedeckx in reverse-connect mode...");
|
|
266195
|
-
const dbPath =
|
|
266353
|
+
const dbPath = path25.join(dataDir, "data.sqlite");
|
|
266196
266354
|
storage2 = await createSqliteStorage(dbPath);
|
|
266197
266355
|
const preflight = await preflightIdentityCheck({
|
|
266198
266356
|
connectTo: flags["connect-to"],
|