@vibedeckx/linux-x64 0.3.36 → 0.3.38
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 +884 -724
- 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 };
|
|
@@ -154483,6 +154483,7 @@ var DB_PATH = path.join(VIBEDECKX_HOME, "data.sqlite");
|
|
|
154483
154483
|
var DEFAULT_PORT = 5173;
|
|
154484
154484
|
var MIN_WORKER_VERSION = "0.0.0";
|
|
154485
154485
|
var WORKER_VERSION_REPORTING_SINCE = "2026-08-03";
|
|
154486
|
+
var TUNNEL_MAX_FRAME_BYTES = 32 * 1024 * 1024;
|
|
154486
154487
|
|
|
154487
154488
|
// src/load-env.ts
|
|
154488
154489
|
function getArg(argv, name25) {
|
|
@@ -169299,7 +169300,7 @@ async function run(app, inputs, context2) {
|
|
|
169299
169300
|
|
|
169300
169301
|
// src/command.ts
|
|
169301
169302
|
import fs14 from "node:fs";
|
|
169302
|
-
import
|
|
169303
|
+
import path25 from "node:path";
|
|
169303
169304
|
|
|
169304
169305
|
// src/storage/sqlite.ts
|
|
169305
169306
|
import Database2 from "better-sqlite3";
|
|
@@ -189760,10 +189761,10 @@ function mergeDefs(...defs) {
|
|
|
189760
189761
|
function cloneDef(schema) {
|
|
189761
189762
|
return mergeDefs(schema._zod.def);
|
|
189762
189763
|
}
|
|
189763
|
-
function getElementAtPath(obj,
|
|
189764
|
-
if (!
|
|
189764
|
+
function getElementAtPath(obj, path26) {
|
|
189765
|
+
if (!path26)
|
|
189765
189766
|
return obj;
|
|
189766
|
-
return
|
|
189767
|
+
return path26.reduce((acc, key2) => acc?.[key2], obj);
|
|
189767
189768
|
}
|
|
189768
189769
|
function promiseAllObject(promisesObj) {
|
|
189769
189770
|
const keys = Object.keys(promisesObj);
|
|
@@ -190146,11 +190147,11 @@ function aborted(x2, startIndex = 0) {
|
|
|
190146
190147
|
}
|
|
190147
190148
|
return false;
|
|
190148
190149
|
}
|
|
190149
|
-
function prefixIssues(
|
|
190150
|
+
function prefixIssues(path26, issues) {
|
|
190150
190151
|
return issues.map((iss) => {
|
|
190151
190152
|
var _a26;
|
|
190152
190153
|
(_a26 = iss).path ?? (_a26.path = []);
|
|
190153
|
-
iss.path.unshift(
|
|
190154
|
+
iss.path.unshift(path26);
|
|
190154
190155
|
return iss;
|
|
190155
190156
|
});
|
|
190156
190157
|
}
|
|
@@ -190333,7 +190334,7 @@ function formatError(error48, mapper = (issue2) => issue2.message) {
|
|
|
190333
190334
|
}
|
|
190334
190335
|
function treeifyError(error48, mapper = (issue2) => issue2.message) {
|
|
190335
190336
|
const result = { errors: [] };
|
|
190336
|
-
const processError = (error49,
|
|
190337
|
+
const processError = (error49, path26 = []) => {
|
|
190337
190338
|
var _a26, _b18;
|
|
190338
190339
|
for (const issue2 of error49.issues) {
|
|
190339
190340
|
if (issue2.code === "invalid_union" && issue2.errors.length) {
|
|
@@ -190343,7 +190344,7 @@ function treeifyError(error48, mapper = (issue2) => issue2.message) {
|
|
|
190343
190344
|
} else if (issue2.code === "invalid_element") {
|
|
190344
190345
|
processError({ issues: issue2.issues }, issue2.path);
|
|
190345
190346
|
} else {
|
|
190346
|
-
const fullpath = [...
|
|
190347
|
+
const fullpath = [...path26, ...issue2.path];
|
|
190347
190348
|
if (fullpath.length === 0) {
|
|
190348
190349
|
result.errors.push(mapper(issue2));
|
|
190349
190350
|
continue;
|
|
@@ -190375,8 +190376,8 @@ function treeifyError(error48, mapper = (issue2) => issue2.message) {
|
|
|
190375
190376
|
}
|
|
190376
190377
|
function toDotPath(_path) {
|
|
190377
190378
|
const segs = [];
|
|
190378
|
-
const
|
|
190379
|
-
for (const seg of
|
|
190379
|
+
const path26 = _path.map((seg) => typeof seg === "object" ? seg.key : seg);
|
|
190380
|
+
for (const seg of path26) {
|
|
190380
190381
|
if (typeof seg === "number")
|
|
190381
190382
|
segs.push(`[${seg}]`);
|
|
190382
190383
|
else if (typeof seg === "symbol")
|
|
@@ -202353,13 +202354,13 @@ function resolveRef(ref, ctx) {
|
|
|
202353
202354
|
if (!ref.startsWith("#")) {
|
|
202354
202355
|
throw new Error("External $ref is not supported, only local refs (#/...) are allowed");
|
|
202355
202356
|
}
|
|
202356
|
-
const
|
|
202357
|
-
if (
|
|
202357
|
+
const path26 = ref.slice(1).split("/").filter(Boolean);
|
|
202358
|
+
if (path26.length === 0) {
|
|
202358
202359
|
return ctx.rootSchema;
|
|
202359
202360
|
}
|
|
202360
202361
|
const defsKey = ctx.version === "draft-2020-12" ? "$defs" : "definitions";
|
|
202361
|
-
if (
|
|
202362
|
-
const key2 =
|
|
202362
|
+
if (path26[0] === defsKey) {
|
|
202363
|
+
const key2 = path26[1];
|
|
202363
202364
|
if (!key2 || !ctx.defs[key2]) {
|
|
202364
202365
|
throw new Error(`Reference not found: ${ref}`);
|
|
202365
202366
|
}
|
|
@@ -205888,7 +205889,7 @@ var import_static = __toESM(require_static(), 1);
|
|
|
205888
205889
|
var import_websocket2 = __toESM(require_websocket2(), 1);
|
|
205889
205890
|
var import_multipart = __toESM(require_multipart2(), 1);
|
|
205890
205891
|
import fs5 from "node:fs";
|
|
205891
|
-
import
|
|
205892
|
+
import path21 from "path";
|
|
205892
205893
|
import { fileURLToPath } from "url";
|
|
205893
205894
|
|
|
205894
205895
|
// src/plugins/shared-services.ts
|
|
@@ -209609,8 +209610,8 @@ function getErrorMap2() {
|
|
|
209609
209610
|
|
|
209610
209611
|
// ../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/parseUtil.js
|
|
209611
209612
|
var makeIssue = (params) => {
|
|
209612
|
-
const { data, path:
|
|
209613
|
-
const fullPath = [...
|
|
209613
|
+
const { data, path: path26, errorMaps, issueData } = params;
|
|
209614
|
+
const fullPath = [...path26, ...issueData.path || []];
|
|
209614
209615
|
const fullIssue = {
|
|
209615
209616
|
...issueData,
|
|
209616
209617
|
path: fullPath
|
|
@@ -209725,11 +209726,11 @@ var errorUtil;
|
|
|
209725
209726
|
|
|
209726
209727
|
// ../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/types.js
|
|
209727
209728
|
var ParseInputLazyPath = class {
|
|
209728
|
-
constructor(parent, value,
|
|
209729
|
+
constructor(parent, value, path26, key2) {
|
|
209729
209730
|
this._cachedPath = [];
|
|
209730
209731
|
this.parent = parent;
|
|
209731
209732
|
this.data = value;
|
|
209732
|
-
this._path =
|
|
209733
|
+
this._path = path26;
|
|
209733
209734
|
this._key = key2;
|
|
209734
209735
|
}
|
|
209735
209736
|
get path() {
|
|
@@ -224881,7 +224882,7 @@ function createDeepSeek(options = {}) {
|
|
|
224881
224882
|
const createLanguageModel = (modelId) => {
|
|
224882
224883
|
return new DeepSeekChatLanguageModel(modelId, {
|
|
224883
224884
|
provider: `deepseek.chat`,
|
|
224884
|
-
url: ({ path:
|
|
224885
|
+
url: ({ path: path26 }) => `${baseURL}${path26}`,
|
|
224885
224886
|
headers: getHeaders2,
|
|
224886
224887
|
fetch: options.fetch
|
|
224887
224888
|
});
|
|
@@ -229589,7 +229590,7 @@ function createOpenRouter(options = {}) {
|
|
|
229589
229590
|
);
|
|
229590
229591
|
const createChatModel = (modelId, settings = {}) => new OpenRouterChatLanguageModel(modelId, settings, {
|
|
229591
229592
|
provider: "openrouter.chat",
|
|
229592
|
-
url: ({ path:
|
|
229593
|
+
url: ({ path: path26 }) => `${baseURL}${path26}`,
|
|
229593
229594
|
headers: getHeaders2,
|
|
229594
229595
|
compatibility,
|
|
229595
229596
|
fetch: options.fetch,
|
|
@@ -229597,7 +229598,7 @@ function createOpenRouter(options = {}) {
|
|
|
229597
229598
|
});
|
|
229598
229599
|
const createCompletionModel = (modelId, settings = {}) => new OpenRouterCompletionLanguageModel(modelId, settings, {
|
|
229599
229600
|
provider: "openrouter.completion",
|
|
229600
|
-
url: ({ path:
|
|
229601
|
+
url: ({ path: path26 }) => `${baseURL}${path26}`,
|
|
229601
229602
|
headers: getHeaders2,
|
|
229602
229603
|
compatibility,
|
|
229603
229604
|
fetch: options.fetch,
|
|
@@ -229605,14 +229606,14 @@ function createOpenRouter(options = {}) {
|
|
|
229605
229606
|
});
|
|
229606
229607
|
const createEmbeddingModel = (modelId, settings = {}) => new OpenRouterEmbeddingModel(modelId, settings, {
|
|
229607
229608
|
provider: "openrouter.embedding",
|
|
229608
|
-
url: ({ path:
|
|
229609
|
+
url: ({ path: path26 }) => `${baseURL}${path26}`,
|
|
229609
229610
|
headers: getHeaders2,
|
|
229610
229611
|
fetch: options.fetch,
|
|
229611
229612
|
extraBody: options.extraBody
|
|
229612
229613
|
});
|
|
229613
229614
|
const createImageModel = (modelId, settings = {}) => new OpenRouterImageModel(modelId, settings, {
|
|
229614
229615
|
provider: "openrouter.image",
|
|
229615
|
-
url: ({ path:
|
|
229616
|
+
url: ({ path: path26 }) => `${baseURL}${path26}`,
|
|
229616
229617
|
headers: getHeaders2,
|
|
229617
229618
|
fetch: options.fetch,
|
|
229618
229619
|
extraBody: options.extraBody
|
|
@@ -242208,7 +242209,7 @@ var ReverseConnectManager = class {
|
|
|
242208
242209
|
const conn = this.connections.get(this.resolveId(remoteServerId));
|
|
242209
242210
|
return conn !== void 0 && conn.ws.readyState === 1;
|
|
242210
242211
|
}
|
|
242211
|
-
async sendHttpRequest(remoteServerId, method,
|
|
242212
|
+
async sendHttpRequest(remoteServerId, method, path26, body, timeoutMs = DEFAULT_HTTP_TIMEOUT_MS, extraHeaders) {
|
|
242212
242213
|
const conn = this.connections.get(this.resolveId(remoteServerId));
|
|
242213
242214
|
if (!conn || conn.ws.readyState !== 1) {
|
|
242214
242215
|
return {
|
|
@@ -242223,7 +242224,7 @@ var ReverseConnectManager = class {
|
|
|
242223
242224
|
type: "http_request",
|
|
242224
242225
|
requestId,
|
|
242225
242226
|
method,
|
|
242226
|
-
path:
|
|
242227
|
+
path: path26,
|
|
242227
242228
|
headers: {
|
|
242228
242229
|
...body !== void 0 ? { "content-type": "application/json" } : {},
|
|
242229
242230
|
...extraHeaders
|
|
@@ -242248,7 +242249,7 @@ var ReverseConnectManager = class {
|
|
|
242248
242249
|
* Send an HTTP request and return the raw response (body as string, headers intact).
|
|
242249
242250
|
* Used by the browser proxy to forward HTML/CSS/JS without JSON parsing.
|
|
242250
242251
|
*/
|
|
242251
|
-
async sendRawHttpRequest(remoteServerId, method,
|
|
242252
|
+
async sendRawHttpRequest(remoteServerId, method, path26, headers, body, timeoutMs = DEFAULT_HTTP_TIMEOUT_MS, port) {
|
|
242252
242253
|
const conn = this.connections.get(this.resolveId(remoteServerId));
|
|
242253
242254
|
if (!conn || conn.ws.readyState !== 1) {
|
|
242254
242255
|
return { ok: false, status: 0, headers: {}, body: "" };
|
|
@@ -242258,7 +242259,7 @@ var ReverseConnectManager = class {
|
|
|
242258
242259
|
type: "http_request",
|
|
242259
242260
|
requestId,
|
|
242260
242261
|
method,
|
|
242261
|
-
path:
|
|
242262
|
+
path: path26,
|
|
242262
242263
|
headers: headers ?? {},
|
|
242263
242264
|
body,
|
|
242264
242265
|
port
|
|
@@ -242272,10 +242273,10 @@ var ReverseConnectManager = class {
|
|
|
242272
242273
|
conn.ws.send(JSON.stringify(frame));
|
|
242273
242274
|
});
|
|
242274
242275
|
}
|
|
242275
|
-
openVirtualChannel(remoteServerId, channelId,
|
|
242276
|
+
openVirtualChannel(remoteServerId, channelId, path26, query) {
|
|
242276
242277
|
const conn = this.connections.get(this.resolveId(remoteServerId));
|
|
242277
242278
|
if (!conn || conn.ws.readyState !== 1) return;
|
|
242278
|
-
const frame = { type: "ws_open", channelId, path:
|
|
242279
|
+
const frame = { type: "ws_open", channelId, path: path26, query };
|
|
242279
242280
|
conn.ws.send(JSON.stringify(frame));
|
|
242280
242281
|
}
|
|
242281
242282
|
sendChannelData(remoteServerId, channelId, data) {
|
|
@@ -245110,11 +245111,11 @@ var RotatingFileStream = class extends Writable {
|
|
|
245110
245111
|
timeout;
|
|
245111
245112
|
timeoutPromise;
|
|
245112
245113
|
constructor(generator, options) {
|
|
245113
|
-
const { encoding, history, maxFiles, maxSize, path:
|
|
245114
|
+
const { encoding, history, maxFiles, maxSize, path: path26 } = options;
|
|
245114
245115
|
super({ decodeStrings: true, defaultEncoding: encoding });
|
|
245115
245116
|
this.createGzip = createGzip2;
|
|
245116
245117
|
this.exec = exec;
|
|
245117
|
-
this.filename =
|
|
245118
|
+
this.filename = path26 + generator(null);
|
|
245118
245119
|
this.fsCreateReadStream = createReadStream;
|
|
245119
245120
|
this.fsCreateWriteStream = createWriteStream;
|
|
245120
245121
|
this.fsOpen = open;
|
|
@@ -245126,7 +245127,7 @@ var RotatingFileStream = class extends Writable {
|
|
|
245126
245127
|
this.options = options;
|
|
245127
245128
|
this.stdout = process.stdout;
|
|
245128
245129
|
if (maxFiles || maxSize)
|
|
245129
|
-
options.history =
|
|
245130
|
+
options.history = path26 + (history ? history : this.generator(null) + ".txt");
|
|
245130
245131
|
this.on("close", () => this.finished ? null : this.emit("finish"));
|
|
245131
245132
|
this.on("finish", () => this.finished = this.clear());
|
|
245132
245133
|
(async () => {
|
|
@@ -245254,9 +245255,9 @@ var RotatingFileStream = class extends Writable {
|
|
|
245254
245255
|
return this.move();
|
|
245255
245256
|
}
|
|
245256
245257
|
async findName() {
|
|
245257
|
-
const { interval, path:
|
|
245258
|
+
const { interval, path: path26, intervalBoundary } = this.options;
|
|
245258
245259
|
for (let index = 1; index < 1e3; ++index) {
|
|
245259
|
-
const filename =
|
|
245260
|
+
const filename = path26 + this.generator(interval && intervalBoundary ? new Date(this.prev) : this.rotation, index);
|
|
245260
245261
|
if (!await exists(filename))
|
|
245261
245262
|
return filename;
|
|
245262
245263
|
}
|
|
@@ -245286,11 +245287,11 @@ var RotatingFileStream = class extends Writable {
|
|
|
245286
245287
|
return this.unlink(filename);
|
|
245287
245288
|
}
|
|
245288
245289
|
async classical() {
|
|
245289
|
-
const { compress, path:
|
|
245290
|
+
const { compress, path: path26, rotate } = this.options;
|
|
245290
245291
|
let rotatedName = "";
|
|
245291
245292
|
for (let count = rotate; count > 0; --count) {
|
|
245292
|
-
const currName =
|
|
245293
|
-
const prevName = count === 1 ? this.filename :
|
|
245293
|
+
const currName = path26 + this.generator(count);
|
|
245294
|
+
const prevName = count === 1 ? this.filename : path26 + this.generator(count - 1);
|
|
245294
245295
|
if (!await exists(prevName))
|
|
245295
245296
|
continue;
|
|
245296
245297
|
if (!rotatedName)
|
|
@@ -246287,14 +246288,14 @@ var selectFolder = async () => {
|
|
|
246287
246288
|
const { stdout } = await execAsync(
|
|
246288
246289
|
`osascript -e 'set folderPath to POSIX path of (choose folder with prompt "Select a project folder")' -e 'return folderPath'`
|
|
246289
246290
|
);
|
|
246290
|
-
const
|
|
246291
|
-
return
|
|
246291
|
+
const path26 = stdout.trim();
|
|
246292
|
+
return path26 || null;
|
|
246292
246293
|
} else if (os2 === "win32") {
|
|
246293
246294
|
const { stdout } = await execAsync(
|
|
246294
246295
|
`powershell -Command "Add-Type -AssemblyName System.Windows.Forms; $f = New-Object System.Windows.Forms.FolderBrowserDialog; $f.ShowDialog() | Out-Null; $f.SelectedPath"`
|
|
246295
246296
|
);
|
|
246296
|
-
const
|
|
246297
|
-
return
|
|
246297
|
+
const path26 = stdout.trim();
|
|
246298
|
+
return path26 || null;
|
|
246298
246299
|
} else {
|
|
246299
246300
|
try {
|
|
246300
246301
|
const { stdout } = await execAsync(
|
|
@@ -248849,8 +248850,8 @@ async function writeUploadedFiles(basePath33, relativeDir, files) {
|
|
|
248849
248850
|
throw Object.assign(new Error("Path traversal not allowed"), { statusCode: 403 });
|
|
248850
248851
|
}
|
|
248851
248852
|
const targetDir = relativeDir ? path13.resolve(basePath33, relativeDir) : basePath33;
|
|
248852
|
-
const
|
|
248853
|
-
if (!
|
|
248853
|
+
const stat3 = await fs3.stat(targetDir);
|
|
248854
|
+
if (!stat3.isDirectory()) {
|
|
248854
248855
|
throw Object.assign(new Error("Target is not a directory"), { statusCode: 400 });
|
|
248855
248856
|
}
|
|
248856
248857
|
if (!await isWithinBaseReal(basePath33, targetDir)) {
|
|
@@ -248915,15 +248916,15 @@ async function browseDirectory(dirPath, showHidden = false) {
|
|
|
248915
248916
|
if (entry.name === "node_modules") continue;
|
|
248916
248917
|
if (entry.isDirectory()) {
|
|
248917
248918
|
try {
|
|
248918
|
-
const
|
|
248919
|
-
items.push({ name: entry.name, type: "directory", mtime:
|
|
248919
|
+
const stat3 = await fs3.stat(path13.join(dirPath, entry.name));
|
|
248920
|
+
items.push({ name: entry.name, type: "directory", mtime: stat3.mtime.toISOString() });
|
|
248920
248921
|
} catch {
|
|
248921
248922
|
items.push({ name: entry.name, type: "directory" });
|
|
248922
248923
|
}
|
|
248923
248924
|
} else if (entry.isFile()) {
|
|
248924
248925
|
try {
|
|
248925
|
-
const
|
|
248926
|
-
items.push({ name: entry.name, type: "file", size:
|
|
248926
|
+
const stat3 = await fs3.stat(path13.join(dirPath, entry.name));
|
|
248927
|
+
items.push({ name: entry.name, type: "file", size: stat3.size, mtime: stat3.mtime.toISOString() });
|
|
248927
248928
|
} catch {
|
|
248928
248929
|
items.push({ name: entry.name, type: "file" });
|
|
248929
248930
|
}
|
|
@@ -249095,16 +249096,16 @@ var routes10 = async (fastify2) => {
|
|
|
249095
249096
|
if (!await isWithinBaseReal(basePath33, fullPath)) {
|
|
249096
249097
|
return reply.code(404).send({ error: "File not found" });
|
|
249097
249098
|
}
|
|
249098
|
-
const
|
|
249099
|
-
if (
|
|
249100
|
-
return reply.code(200).send({ binary: false, tooLarge: true, content: null, size:
|
|
249099
|
+
const stat3 = await fs3.stat(fullPath);
|
|
249100
|
+
if (stat3.size > MAX_FILE_SIZE) {
|
|
249101
|
+
return reply.code(200).send({ binary: false, tooLarge: true, content: null, size: stat3.size });
|
|
249101
249102
|
}
|
|
249102
249103
|
const binary = await isBinaryFile(fullPath);
|
|
249103
249104
|
if (binary) {
|
|
249104
|
-
return reply.code(200).send({ binary: true, content: null, size:
|
|
249105
|
+
return reply.code(200).send({ binary: true, content: null, size: stat3.size });
|
|
249105
249106
|
}
|
|
249106
249107
|
const content = await fs3.readFile(fullPath, "utf-8");
|
|
249107
|
-
return reply.code(200).send({ binary: false, content, size:
|
|
249108
|
+
return reply.code(200).send({ binary: false, content, size: stat3.size });
|
|
249108
249109
|
} catch {
|
|
249109
249110
|
return reply.code(404).send({ error: "File not found" });
|
|
249110
249111
|
}
|
|
@@ -249348,16 +249349,16 @@ var routes10 = async (fastify2) => {
|
|
|
249348
249349
|
if (!await isWithinBaseReal(basePath33, fullPath)) {
|
|
249349
249350
|
return reply.code(404).send({ error: "File not found" });
|
|
249350
249351
|
}
|
|
249351
|
-
const
|
|
249352
|
-
if (
|
|
249353
|
-
return reply.code(200).send({ binary: false, tooLarge: true, content: null, size:
|
|
249352
|
+
const stat3 = await fs3.stat(fullPath);
|
|
249353
|
+
if (stat3.size > MAX_FILE_SIZE) {
|
|
249354
|
+
return reply.code(200).send({ binary: false, tooLarge: true, content: null, size: stat3.size });
|
|
249354
249355
|
}
|
|
249355
249356
|
const binary = await isBinaryFile(fullPath);
|
|
249356
249357
|
if (binary) {
|
|
249357
|
-
return reply.code(200).send({ binary: true, content: null, size:
|
|
249358
|
+
return reply.code(200).send({ binary: true, content: null, size: stat3.size });
|
|
249358
249359
|
}
|
|
249359
249360
|
const content = await fs3.readFile(fullPath, "utf-8");
|
|
249360
|
-
return reply.code(200).send({ binary: false, content, size:
|
|
249361
|
+
return reply.code(200).send({ binary: false, content, size: stat3.size });
|
|
249361
249362
|
} catch {
|
|
249362
249363
|
return reply.code(404).send({ error: "File not found" });
|
|
249363
249364
|
}
|
|
@@ -249601,26 +249602,102 @@ var import_fastify_plugin12 = __toESM(require_plugin2(), 1);
|
|
|
249601
249602
|
// src/utils/paste-file.ts
|
|
249602
249603
|
import { chmod, mkdir as mkdir5, open as open2 } from "node:fs/promises";
|
|
249603
249604
|
import { constants as fsConstants2 } from "node:fs";
|
|
249605
|
+
import path15 from "node:path";
|
|
249606
|
+
import { randomUUID as randomUUID15 } from "node:crypto";
|
|
249607
|
+
|
|
249608
|
+
// src/utils/temp-file-sweep.ts
|
|
249609
|
+
import { readdir as readdir2, rm, stat as stat2 } from "node:fs/promises";
|
|
249604
249610
|
import { tmpdir as tmpdir2 } from "node:os";
|
|
249605
249611
|
import path14 from "node:path";
|
|
249606
|
-
import { randomUUID as randomUUID15 } from "node:crypto";
|
|
249607
249612
|
var PASTE_DIR = path14.join(tmpdir2(), "vibedeckx-pastes");
|
|
249613
|
+
var ATTACHMENT_DIR = path14.join(tmpdir2(), "vibedeckx-attachments");
|
|
249614
|
+
var TEMP_FILE_MAX_AGE_MS = 7 * 24 * 60 * 60 * 1e3;
|
|
249615
|
+
var SWEEP_MIN_INTERVAL_MS = 60 * 60 * 1e3;
|
|
249616
|
+
var lastSweepAt = 0;
|
|
249617
|
+
async function sweepStaleTempFiles(opts = {}) {
|
|
249618
|
+
const now3 = opts.now ?? Date.now();
|
|
249619
|
+
if (!opts.force && now3 - lastSweepAt < SWEEP_MIN_INTERVAL_MS) return 0;
|
|
249620
|
+
lastSweepAt = now3;
|
|
249621
|
+
const maxAgeMs = opts.maxAgeMs ?? TEMP_FILE_MAX_AGE_MS;
|
|
249622
|
+
let removed = 0;
|
|
249623
|
+
for (const dir of [ATTACHMENT_DIR, PASTE_DIR]) {
|
|
249624
|
+
let entries;
|
|
249625
|
+
try {
|
|
249626
|
+
entries = await readdir2(dir);
|
|
249627
|
+
} catch {
|
|
249628
|
+
continue;
|
|
249629
|
+
}
|
|
249630
|
+
for (const entry of entries) {
|
|
249631
|
+
const full = path14.join(dir, entry);
|
|
249632
|
+
try {
|
|
249633
|
+
const info = await stat2(full);
|
|
249634
|
+
if (now3 - info.mtimeMs <= maxAgeMs) continue;
|
|
249635
|
+
await rm(full, { recursive: true, force: true });
|
|
249636
|
+
removed++;
|
|
249637
|
+
} catch {
|
|
249638
|
+
}
|
|
249639
|
+
}
|
|
249640
|
+
}
|
|
249641
|
+
return removed;
|
|
249642
|
+
}
|
|
249643
|
+
|
|
249644
|
+
// src/utils/paste-file.ts
|
|
249608
249645
|
var DIR_MODE = 448;
|
|
249609
249646
|
var FILE_MODE = 384;
|
|
249610
249647
|
var FILE_FLAGS = fsConstants2.O_WRONLY | fsConstants2.O_CREAT | fsConstants2.O_EXCL | fsConstants2.O_NOFOLLOW;
|
|
249611
249648
|
async function writePasteToTempFile(content) {
|
|
249612
249649
|
await mkdir5(PASTE_DIR, { recursive: true, mode: DIR_MODE });
|
|
249613
249650
|
await chmod(PASTE_DIR, DIR_MODE);
|
|
249614
|
-
const filePath =
|
|
249651
|
+
const filePath = path15.join(PASTE_DIR, `${randomUUID15()}.txt`);
|
|
249615
249652
|
const handle = await open2(filePath, FILE_FLAGS, FILE_MODE);
|
|
249616
249653
|
try {
|
|
249617
249654
|
await handle.writeFile(content, "utf8");
|
|
249618
249655
|
} finally {
|
|
249619
249656
|
await handle.close();
|
|
249620
249657
|
}
|
|
249658
|
+
void sweepStaleTempFiles();
|
|
249621
249659
|
return { path: filePath, size: Buffer.byteLength(content, "utf8") };
|
|
249622
249660
|
}
|
|
249623
249661
|
|
|
249662
|
+
// src/utils/attachment-file.ts
|
|
249663
|
+
import { chmod as chmod2, mkdir as mkdir6, open as open3 } from "node:fs/promises";
|
|
249664
|
+
import { constants as fsConstants3 } from "node:fs";
|
|
249665
|
+
import path16 from "node:path";
|
|
249666
|
+
import { randomUUID as randomUUID16 } from "node:crypto";
|
|
249667
|
+
var MAX_ATTACHMENT_BYTES = 20 * 1024 * 1024;
|
|
249668
|
+
var ATTACHMENT_BODY_LIMIT = Math.ceil(MAX_ATTACHMENT_BYTES * 4 / 3) + 1024 * 1024;
|
|
249669
|
+
var DIR_MODE2 = 448;
|
|
249670
|
+
var FILE_MODE2 = 384;
|
|
249671
|
+
var FILE_FLAGS2 = fsConstants3.O_WRONLY | fsConstants3.O_CREAT | fsConstants3.O_EXCL | fsConstants3.O_NOFOLLOW;
|
|
249672
|
+
var MAX_NAME_LENGTH = 120;
|
|
249673
|
+
function sanitizeAttachmentName(raw) {
|
|
249674
|
+
const base = raw.split(/[\\/]/).pop() ?? "";
|
|
249675
|
+
let name25 = base.replace(/[\x00-\x1f\x7f"<>]/g, "").trim();
|
|
249676
|
+
if (name25.length > MAX_NAME_LENGTH) {
|
|
249677
|
+
const ext = path16.extname(name25);
|
|
249678
|
+
const stem = name25.slice(0, name25.length - ext.length);
|
|
249679
|
+
name25 = stem.slice(0, Math.max(1, MAX_NAME_LENGTH - ext.length)) + ext;
|
|
249680
|
+
}
|
|
249681
|
+
if (!name25 || /^\.+$/.test(name25)) return "attachment";
|
|
249682
|
+
return name25;
|
|
249683
|
+
}
|
|
249684
|
+
async function writeAttachmentToTempFile(rawName, data) {
|
|
249685
|
+
const name25 = sanitizeAttachmentName(rawName);
|
|
249686
|
+
await mkdir6(ATTACHMENT_DIR, { recursive: true, mode: DIR_MODE2 });
|
|
249687
|
+
await chmod2(ATTACHMENT_DIR, DIR_MODE2);
|
|
249688
|
+
const dir = path16.join(ATTACHMENT_DIR, randomUUID16());
|
|
249689
|
+
await mkdir6(dir, { mode: DIR_MODE2 });
|
|
249690
|
+
const filePath = path16.join(dir, name25);
|
|
249691
|
+
const handle = await open3(filePath, FILE_FLAGS2, FILE_MODE2);
|
|
249692
|
+
try {
|
|
249693
|
+
await handle.writeFile(data);
|
|
249694
|
+
} finally {
|
|
249695
|
+
await handle.close();
|
|
249696
|
+
}
|
|
249697
|
+
void sweepStaleTempFiles();
|
|
249698
|
+
return { path: filePath, name: name25, size: data.length };
|
|
249699
|
+
}
|
|
249700
|
+
|
|
249624
249701
|
// src/utils/review-brief.ts
|
|
249625
249702
|
import { createHash as createHash6 } from "crypto";
|
|
249626
249703
|
var BASE_TIMEOUT_MS = 15e3;
|
|
@@ -249969,7 +250046,7 @@ async function distillConversation(storage2, userId, messages, conversation, mai
|
|
|
249969
250046
|
}
|
|
249970
250047
|
|
|
249971
250048
|
// src/routes/agent-session-routes.ts
|
|
249972
|
-
import { createHash as createHash7, randomUUID as
|
|
250049
|
+
import { createHash as createHash7, randomUUID as randomUUID17 } from "crypto";
|
|
249973
250050
|
|
|
249974
250051
|
// src/protocol/model-suggestions.ts
|
|
249975
250052
|
var MODEL_SUGGESTIONS = {
|
|
@@ -249986,6 +250063,7 @@ async function resolveProjectPath(projectId, storage2) {
|
|
|
249986
250063
|
return project?.path ?? null;
|
|
249987
250064
|
}
|
|
249988
250065
|
var MESSAGE_TEXT_CHAR_LIMIT = 64 * 1024;
|
|
250066
|
+
var ATTACHMENT_CAPABILITY = "http:POST /api/agent-sessions/:param/attachment";
|
|
249989
250067
|
function messageTextLength(content) {
|
|
249990
250068
|
if (typeof content === "string") return content.length;
|
|
249991
250069
|
let n = 0;
|
|
@@ -249995,7 +250073,7 @@ function messageTextLength(content) {
|
|
|
249995
250073
|
return n;
|
|
249996
250074
|
}
|
|
249997
250075
|
var routes11 = async (fastify2) => {
|
|
249998
|
-
const instructionReceiverToken =
|
|
250076
|
+
const instructionReceiverToken = randomUUID17();
|
|
249999
250077
|
const instructionDeliveryLocks = /* @__PURE__ */ new Map();
|
|
250000
250078
|
const sessionMutationLocks = /* @__PURE__ */ new Map();
|
|
250001
250079
|
async function serializeInstructionDelivery(key2, effect) {
|
|
@@ -250851,7 +250929,7 @@ var routes11 = async (fastify2) => {
|
|
|
250851
250929
|
return reply.code(400).send({ error: "Project has no local path" });
|
|
250852
250930
|
}
|
|
250853
250931
|
try {
|
|
250854
|
-
const preSessionId =
|
|
250932
|
+
const preSessionId = randomUUID17();
|
|
250855
250933
|
const crossRemoteMcp = await mintCrossRemoteMcpConfig(
|
|
250856
250934
|
{ storage: fastify2.storage },
|
|
250857
250935
|
{ userId, sessionId: preSessionId, sourceRemoteServerId: null }
|
|
@@ -251331,6 +251409,14 @@ var routes11 = async (fastify2) => {
|
|
|
251331
251409
|
});
|
|
251332
251410
|
});
|
|
251333
251411
|
});
|
|
251412
|
+
async function resolveUploadTargetRemoteInfo(sessionId, userId) {
|
|
251413
|
+
const mapped = await getAuthorizedRemoteSessionInfo(sessionId, userId);
|
|
251414
|
+
if (mapped) return mapped;
|
|
251415
|
+
const intent = await fastify2.storage.remoteSessionCreationIntents.getByLocal(sessionId);
|
|
251416
|
+
if (!intent || intent.status !== "pending" || !intent.prepare_operation_id) return null;
|
|
251417
|
+
if (!await fastify2.storage.projects.getById(intent.project_id, userId)) return null;
|
|
251418
|
+
return { remoteServerId: intent.remote_server_id, remoteSessionId: intent.remote_session_id, branch: intent.branch ?? null };
|
|
251419
|
+
}
|
|
251334
251420
|
fastify2.post("/api/agent-sessions/:sessionId/paste", { bodyLimit: 10 * 1024 * 1024 }, async (req, reply) => {
|
|
251335
251421
|
const { content } = req.body;
|
|
251336
251422
|
if (typeof content !== "string" || content.length === 0) {
|
|
@@ -251339,12 +251425,7 @@ var routes11 = async (fastify2) => {
|
|
|
251339
251425
|
if (req.params.sessionId.startsWith("remote-")) {
|
|
251340
251426
|
const userId = requireUserFacingUserId(req, reply);
|
|
251341
251427
|
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
|
-
})();
|
|
251428
|
+
const remoteInfo = await resolveUploadTargetRemoteInfo(req.params.sessionId, userId);
|
|
251348
251429
|
if (!remoteInfo) {
|
|
251349
251430
|
return reply.code(404).send({ error: "Remote session not found" });
|
|
251350
251431
|
}
|
|
@@ -251375,6 +251456,81 @@ var routes11 = async (fastify2) => {
|
|
|
251375
251456
|
return reply.code(500).send({ error: `Failed to write paste: ${msg}` });
|
|
251376
251457
|
}
|
|
251377
251458
|
});
|
|
251459
|
+
fastify2.post("/api/agent-sessions/:sessionId/attachment", { bodyLimit: ATTACHMENT_BODY_LIMIT }, async (req, reply) => {
|
|
251460
|
+
const { name: name25, mediaType, contentBase64 } = req.body ?? {};
|
|
251461
|
+
if (typeof name25 !== "string" || name25.length === 0) {
|
|
251462
|
+
return reply.code(400).send({ error: "name must be a non-empty string" });
|
|
251463
|
+
}
|
|
251464
|
+
if (typeof contentBase64 !== "string" || contentBase64.length === 0) {
|
|
251465
|
+
return reply.code(400).send({ error: "contentBase64 must be a non-empty string" });
|
|
251466
|
+
}
|
|
251467
|
+
if (mediaType !== void 0 && typeof mediaType !== "string") {
|
|
251468
|
+
return reply.code(400).send({ error: "mediaType must be a string" });
|
|
251469
|
+
}
|
|
251470
|
+
if (contentBase64.length > Math.ceil(MAX_ATTACHMENT_BYTES / 3) * 4) {
|
|
251471
|
+
return reply.code(413).send({
|
|
251472
|
+
error: `Attachment exceeds ${Math.floor(MAX_ATTACHMENT_BYTES / (1024 * 1024))}MB`,
|
|
251473
|
+
errorCode: "attachment_too_large"
|
|
251474
|
+
});
|
|
251475
|
+
}
|
|
251476
|
+
if (req.params.sessionId.startsWith("remote-")) {
|
|
251477
|
+
const userId = requireUserFacingUserId(req, reply);
|
|
251478
|
+
if (userId === null) return;
|
|
251479
|
+
const remoteInfo = await resolveUploadTargetRemoteInfo(req.params.sessionId, userId);
|
|
251480
|
+
if (!remoteInfo) {
|
|
251481
|
+
return reply.code(404).send({ error: "Remote session not found" });
|
|
251482
|
+
}
|
|
251483
|
+
const server = await fastify2.storage.remoteServers.getById(remoteInfo.remoteServerId);
|
|
251484
|
+
const supported = server?.worker_capabilities?.includes(ATTACHMENT_CAPABILITY);
|
|
251485
|
+
if (server && Array.isArray(server.worker_capabilities) && !supported) {
|
|
251486
|
+
return reply.code(409).send({
|
|
251487
|
+
error: "The remote worker is too old to receive file attachments. Update it and reconnect.",
|
|
251488
|
+
errorCode: "worker_unsupported"
|
|
251489
|
+
});
|
|
251490
|
+
}
|
|
251491
|
+
const result = await proxyAuto(
|
|
251492
|
+
remoteInfo.remoteServerId,
|
|
251493
|
+
"POST",
|
|
251494
|
+
`/api/agent-sessions/${remoteInfo.remoteSessionId}/attachment`,
|
|
251495
|
+
{ name: name25, mediaType, contentBase64 }
|
|
251496
|
+
);
|
|
251497
|
+
if (!result.ok) {
|
|
251498
|
+
const status = proxyStatus(result);
|
|
251499
|
+
if (status === 404) {
|
|
251500
|
+
return reply.code(409).send({
|
|
251501
|
+
error: "The remote worker is too old to receive file attachments. Update it and reconnect.",
|
|
251502
|
+
errorCode: "worker_unsupported"
|
|
251503
|
+
});
|
|
251504
|
+
}
|
|
251505
|
+
return reply.code(status).send({
|
|
251506
|
+
error: `Remote proxy failed: ${result.errorCode || "unknown"}`,
|
|
251507
|
+
errorCode: result.errorCode,
|
|
251508
|
+
attempts: result.attempts,
|
|
251509
|
+
totalDurationMs: result.totalDurationMs,
|
|
251510
|
+
detail: result.data
|
|
251511
|
+
});
|
|
251512
|
+
}
|
|
251513
|
+
return reply.code(proxyStatus(result)).send(result.data);
|
|
251514
|
+
}
|
|
251515
|
+
const data = Buffer.from(contentBase64, "base64");
|
|
251516
|
+
if (data.length === 0) {
|
|
251517
|
+
return reply.code(400).send({ error: "contentBase64 is not valid base64" });
|
|
251518
|
+
}
|
|
251519
|
+
if (data.length > MAX_ATTACHMENT_BYTES) {
|
|
251520
|
+
return reply.code(413).send({
|
|
251521
|
+
error: `Attachment exceeds ${Math.floor(MAX_ATTACHMENT_BYTES / (1024 * 1024))}MB`,
|
|
251522
|
+
errorCode: "attachment_too_large"
|
|
251523
|
+
});
|
|
251524
|
+
}
|
|
251525
|
+
try {
|
|
251526
|
+
const written = await writeAttachmentToTempFile(name25, data);
|
|
251527
|
+
return reply.code(200).send({ ...written, mediaType: typeof mediaType === "string" ? mediaType : null });
|
|
251528
|
+
} catch (err) {
|
|
251529
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
251530
|
+
req.log?.error({ err }, "[attachment] failed to write temp file");
|
|
251531
|
+
return reply.code(500).send({ error: `Failed to write attachment: ${msg}` });
|
|
251532
|
+
}
|
|
251533
|
+
});
|
|
251378
251534
|
fastify2.post(
|
|
251379
251535
|
"/api/agent-sessions/:sessionId/stop",
|
|
251380
251536
|
async (req, reply) => {
|
|
@@ -251637,7 +251793,7 @@ var routes11 = async (fastify2) => {
|
|
|
251637
251793
|
messages
|
|
251638
251794
|
});
|
|
251639
251795
|
}
|
|
251640
|
-
const preSessionId =
|
|
251796
|
+
const preSessionId = randomUUID17();
|
|
251641
251797
|
const crossRemoteMcp = await mintCrossRemoteMcpConfig(
|
|
251642
251798
|
{ storage: fastify2.storage },
|
|
251643
251799
|
{ userId, sessionId: preSessionId, sourceRemoteServerId: null }
|
|
@@ -252406,9 +252562,9 @@ async function getRemoteConfig4(fastify2, project) {
|
|
|
252406
252562
|
};
|
|
252407
252563
|
}
|
|
252408
252564
|
var MAX_COMPARISONS = 50;
|
|
252409
|
-
var
|
|
252565
|
+
var MAX_NAME_LENGTH2 = 256;
|
|
252410
252566
|
function isValidName(value) {
|
|
252411
|
-
return typeof value === "string" && value.length > 0 && value.length <=
|
|
252567
|
+
return typeof value === "string" && value.length > 0 && value.length <= MAX_NAME_LENGTH2;
|
|
252412
252568
|
}
|
|
252413
252569
|
function parseComparisons(body) {
|
|
252414
252570
|
if (!body || typeof body !== "object") return null;
|
|
@@ -252672,7 +252828,7 @@ var chat_session_routes_default = (0, import_fastify_plugin16.default)(routes15,
|
|
|
252672
252828
|
|
|
252673
252829
|
// src/routes/project-chat-routes.ts
|
|
252674
252830
|
var import_fastify_plugin17 = __toESM(require_plugin2(), 1);
|
|
252675
|
-
import { createHash as createHash8, randomUUID as
|
|
252831
|
+
import { createHash as createHash8, randomUUID as randomUUID18 } from "crypto";
|
|
252676
252832
|
var MAX_TITLE_LENGTH = 200;
|
|
252677
252833
|
var MAX_MESSAGE_LENGTH = 1e5;
|
|
252678
252834
|
var THREAD_PAGE_LIMIT = 50;
|
|
@@ -252840,20 +252996,20 @@ var routes16 = async (fastify2) => {
|
|
|
252840
252996
|
if (!project) return reply.code(404).send({ error: "Project not found" });
|
|
252841
252997
|
const body = parseCreateBody(req.body);
|
|
252842
252998
|
if (!body) return reply.code(400).send({ error: "Body must contain only an optional non-empty message" });
|
|
252843
|
-
const createRequestId = body.createRequestId ??
|
|
252999
|
+
const createRequestId = body.createRequestId ?? randomUUID18();
|
|
252844
253000
|
const createPayloadHash = createHash8("sha256").update(JSON.stringify({ message: body.message ?? null })).digest("hex");
|
|
252845
253001
|
let accepted;
|
|
252846
253002
|
try {
|
|
252847
253003
|
accepted = await fastify2.storage.projectChatThreads.createIdempotent({
|
|
252848
|
-
id:
|
|
253004
|
+
id: randomUUID18(),
|
|
252849
253005
|
project_id: projectId,
|
|
252850
253006
|
user_id: userId,
|
|
252851
253007
|
title: null,
|
|
252852
253008
|
create_request_id: createRequestId,
|
|
252853
253009
|
create_payload_hash: createPayloadHash,
|
|
252854
253010
|
...body.message !== void 0 ? { initialTurn: {
|
|
252855
|
-
messageId:
|
|
252856
|
-
workItemId:
|
|
253011
|
+
messageId: randomUUID18(),
|
|
253012
|
+
workItemId: randomUUID18(),
|
|
252857
253013
|
content: body.message
|
|
252858
253014
|
} } : {}
|
|
252859
253015
|
});
|
|
@@ -253134,7 +253290,7 @@ var project_activity_routes_default = (0, import_fastify_plugin18.default)(route
|
|
|
253134
253290
|
|
|
253135
253291
|
// src/routes/task-routes.ts
|
|
253136
253292
|
var import_fastify_plugin19 = __toESM(require_plugin2(), 1);
|
|
253137
|
-
import { randomUUID as
|
|
253293
|
+
import { randomUUID as randomUUID19 } from "crypto";
|
|
253138
253294
|
var routes18 = async (fastify2) => {
|
|
253139
253295
|
fastify2.get(
|
|
253140
253296
|
"/api/projects/:projectId/tasks",
|
|
@@ -253198,7 +253354,7 @@ Description: ${description}`,
|
|
|
253198
253354
|
title = description.length > 50 ? description.slice(0, 50) + "..." : description;
|
|
253199
253355
|
}
|
|
253200
253356
|
}
|
|
253201
|
-
const id =
|
|
253357
|
+
const id = randomUUID19();
|
|
253202
253358
|
const task = await fastify2.storage.tasks.create({
|
|
253203
253359
|
id,
|
|
253204
253360
|
project_id: req.params.projectId,
|
|
@@ -253299,7 +253455,7 @@ var task_routes_default = (0, import_fastify_plugin19.default)(routes18, { name:
|
|
|
253299
253455
|
|
|
253300
253456
|
// src/routes/rule-routes.ts
|
|
253301
253457
|
var import_fastify_plugin20 = __toESM(require_plugin2(), 1);
|
|
253302
|
-
import { randomUUID as
|
|
253458
|
+
import { randomUUID as randomUUID20 } from "crypto";
|
|
253303
253459
|
var routes19 = async (fastify2) => {
|
|
253304
253460
|
fastify2.get(
|
|
253305
253461
|
"/api/projects/:projectId/rules",
|
|
@@ -253326,7 +253482,7 @@ var routes19 = async (fastify2) => {
|
|
|
253326
253482
|
if (!name25 || !content) {
|
|
253327
253483
|
return reply.code(400).send({ error: "name and content are required" });
|
|
253328
253484
|
}
|
|
253329
|
-
const id =
|
|
253485
|
+
const id = randomUUID20();
|
|
253330
253486
|
const rule = await fastify2.storage.rules.create({
|
|
253331
253487
|
id,
|
|
253332
253488
|
project_id: req.params.projectId,
|
|
@@ -253390,7 +253546,7 @@ var rule_routes_default = (0, import_fastify_plugin20.default)(routes19, { name:
|
|
|
253390
253546
|
|
|
253391
253547
|
// src/routes/command-routes.ts
|
|
253392
253548
|
var import_fastify_plugin21 = __toESM(require_plugin2(), 1);
|
|
253393
|
-
import { randomUUID as
|
|
253549
|
+
import { randomUUID as randomUUID21 } from "crypto";
|
|
253394
253550
|
var routes20 = async (fastify2) => {
|
|
253395
253551
|
fastify2.get(
|
|
253396
253552
|
"/api/projects/:projectId/commands",
|
|
@@ -253417,7 +253573,7 @@ var routes20 = async (fastify2) => {
|
|
|
253417
253573
|
if (!name25 || !content) {
|
|
253418
253574
|
return reply.code(400).send({ error: "name and content are required" });
|
|
253419
253575
|
}
|
|
253420
|
-
const id =
|
|
253576
|
+
const id = randomUUID21();
|
|
253421
253577
|
const command = await fastify2.storage.commands.create({
|
|
253422
253578
|
id,
|
|
253423
253579
|
project_id: req.params.projectId,
|
|
@@ -254709,7 +254865,7 @@ var translate_routes_default = (0, import_fastify_plugin24.default)(routes23, {
|
|
|
254709
254865
|
var import_fastify_plugin25 = __toESM(require_plugin2(), 1);
|
|
254710
254866
|
|
|
254711
254867
|
// src/routes/executor-stream-handlers.ts
|
|
254712
|
-
import { randomUUID as
|
|
254868
|
+
import { randomUUID as randomUUID22 } from "crypto";
|
|
254713
254869
|
function attachLocalProcessStream(fastify2, processId, send, onTerminal) {
|
|
254714
254870
|
const noop4 = { cleanup: () => {
|
|
254715
254871
|
}, handleInput: () => {
|
|
@@ -254785,7 +254941,7 @@ function attachRemoteProcessStream(fastify2, processId, send, onTerminal) {
|
|
|
254785
254941
|
return;
|
|
254786
254942
|
}
|
|
254787
254943
|
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 =
|
|
254944
|
+
const channelId = randomUUID22();
|
|
254789
254945
|
const wsPath = `/api/executor-processes/${info.remoteProcessId}/logs`;
|
|
254790
254946
|
const adapter = new VirtualWsAdapter(
|
|
254791
254947
|
(data) => fastify2.reverseConnectManager.sendChannelData(info.remoteServerId, channelId, data),
|
|
@@ -255791,7 +255947,7 @@ var event_routes_default = (0, import_fastify_plugin27.default)(routes26, { name
|
|
|
255791
255947
|
|
|
255792
255948
|
// src/routes/terminal-routes.ts
|
|
255793
255949
|
var import_fastify_plugin28 = __toESM(require_plugin2(), 1);
|
|
255794
|
-
import
|
|
255950
|
+
import path17 from "path";
|
|
255795
255951
|
async function getRemoteConfig5(fastify2, project, remoteServerId) {
|
|
255796
255952
|
const remotes = await fastify2.storage.projectRemotes.getByProject(project.id);
|
|
255797
255953
|
const target = remoteServerId ? remotes.find((r) => r.remote_server_id === remoteServerId) : remotes[0];
|
|
@@ -255924,9 +256080,9 @@ var routes27 = async (fastify2) => {
|
|
|
255924
256080
|
}
|
|
255925
256081
|
const basePath33 = resolveWorktreePath(project.path, branch ?? null);
|
|
255926
256082
|
const requestedCwd = req.body?.cwd;
|
|
255927
|
-
const cwd = requestedCwd ?
|
|
255928
|
-
const relativeToBase =
|
|
255929
|
-
if (
|
|
256083
|
+
const cwd = requestedCwd ? path17.resolve(basePath33, requestedCwd) : basePath33;
|
|
256084
|
+
const relativeToBase = path17.relative(basePath33, cwd);
|
|
256085
|
+
if (path17.isAbsolute(relativeToBase) || relativeToBase.startsWith("..")) {
|
|
255930
256086
|
return reply.code(400).send({ error: "cwd must be within project path" });
|
|
255931
256087
|
}
|
|
255932
256088
|
try {
|
|
@@ -256055,7 +256211,7 @@ var browser_routes_default = (0, import_fastify_plugin29.default)(routes28, { na
|
|
|
256055
256211
|
|
|
256056
256212
|
// src/routes/browser-proxy-routes.ts
|
|
256057
256213
|
var import_fastify_plugin30 = __toESM(require_plugin2(), 1);
|
|
256058
|
-
import { randomUUID as
|
|
256214
|
+
import { randomUUID as randomUUID23 } from "crypto";
|
|
256059
256215
|
|
|
256060
256216
|
// src/utils/ssrf-guard.ts
|
|
256061
256217
|
var import_undici2 = __toESM(require_undici(), 1);
|
|
@@ -256301,11 +256457,11 @@ async function proxyFetch(resolved, requestHeaders, reverseConnectManager, enfor
|
|
|
256301
256457
|
if (resolved.remoteServerId && reverseConnectManager?.isConnected(resolved.remoteServerId)) {
|
|
256302
256458
|
const parsed = new URL(resolved.fetchUrl);
|
|
256303
256459
|
const port = parsed.port ? parseInt(parsed.port, 10) : void 0;
|
|
256304
|
-
const
|
|
256460
|
+
const path26 = parsed.pathname + parsed.search;
|
|
256305
256461
|
const raw = await reverseConnectManager.sendRawHttpRequest(
|
|
256306
256462
|
resolved.remoteServerId,
|
|
256307
256463
|
"GET",
|
|
256308
|
-
|
|
256464
|
+
path26,
|
|
256309
256465
|
requestHeaders,
|
|
256310
256466
|
void 0,
|
|
256311
256467
|
void 0,
|
|
@@ -256645,7 +256801,7 @@ var routes29 = async (fastify2) => {
|
|
|
256645
256801
|
const rcm = fastify2.reverseConnectManager;
|
|
256646
256802
|
if (resolved.remoteServerId && rcm.isConnected(resolved.remoteServerId)) {
|
|
256647
256803
|
const remoteServerId = resolved.remoteServerId;
|
|
256648
|
-
const channelId =
|
|
256804
|
+
const channelId = randomUUID23();
|
|
256649
256805
|
const parsed = new URL(resolved.fetchUrl);
|
|
256650
256806
|
const wsPath = parsed.pathname;
|
|
256651
256807
|
const wsQuery = parsed.search ? parsed.search.slice(1) : void 0;
|
|
@@ -256726,7 +256882,7 @@ var browser_proxy_routes_default = (0, import_fastify_plugin30.default)(routes29
|
|
|
256726
256882
|
|
|
256727
256883
|
// src/routes/cross-remote-target-routes.ts
|
|
256728
256884
|
var import_fastify_plugin31 = __toESM(require_plugin2(), 1);
|
|
256729
|
-
import
|
|
256885
|
+
import path19 from "path";
|
|
256730
256886
|
import { promises as fs4 } from "fs";
|
|
256731
256887
|
|
|
256732
256888
|
// src/utils/one-shot-exec.ts
|
|
@@ -256797,7 +256953,7 @@ function runOneShot(command, opts) {
|
|
|
256797
256953
|
}
|
|
256798
256954
|
|
|
256799
256955
|
// src/remote-mcp-session-manager.ts
|
|
256800
|
-
import { randomUUID as
|
|
256956
|
+
import { randomUUID as randomUUID24 } from "node:crypto";
|
|
256801
256957
|
|
|
256802
256958
|
// src/protocol/mcp/client.ts
|
|
256803
256959
|
var McpClientError = class extends Error {
|
|
@@ -261597,7 +261753,7 @@ var StreamableHTTPClientTransport = class {
|
|
|
261597
261753
|
};
|
|
261598
261754
|
|
|
261599
261755
|
// src/protocol/mcp/transport.ts
|
|
261600
|
-
import
|
|
261756
|
+
import path18 from "node:path";
|
|
261601
261757
|
var LABEL_MAX = 120;
|
|
261602
261758
|
function parseRemoteMcpTransport(value) {
|
|
261603
261759
|
if (!value || typeof value !== "object" || Array.isArray(value)) {
|
|
@@ -261616,7 +261772,7 @@ function parseRemoteMcpTransport(value) {
|
|
|
261616
261772
|
if (args !== void 0 && (!Array.isArray(args) || !args.every((arg) => typeof arg === "string"))) {
|
|
261617
261773
|
return { ok: false, error: "transport.args must be an array of strings" };
|
|
261618
261774
|
}
|
|
261619
|
-
if (cwd !== void 0 && (typeof cwd !== "string" || !
|
|
261775
|
+
if (cwd !== void 0 && (typeof cwd !== "string" || !path18.isAbsolute(cwd))) {
|
|
261620
261776
|
return { ok: false, error: "transport.cwd must be an absolute path" };
|
|
261621
261777
|
}
|
|
261622
261778
|
return {
|
|
@@ -261871,7 +262027,7 @@ var RemoteMcpSessionManager = class {
|
|
|
261871
262027
|
try {
|
|
261872
262028
|
const tools = await client.listTools(clampTimeout(timeoutMs));
|
|
261873
262029
|
if (generation !== this.generation) throw new McpClientError("MCP broker was reset while opening");
|
|
261874
|
-
const workerHandle =
|
|
262030
|
+
const workerHandle = randomUUID24();
|
|
261875
262031
|
this.sessions.set(workerHandle, { client, transport: spec.type, serverInfo, tools, lastUsedAt: Date.now() });
|
|
261876
262032
|
return { workerHandle, transport: spec.type, serverInfo, tools };
|
|
261877
262033
|
} catch (error48) {
|
|
@@ -261966,7 +262122,7 @@ var routes30 = async (fastify2) => {
|
|
|
261966
262122
|
if (!command || typeof command !== "string") {
|
|
261967
262123
|
return reply.code(400).send({ error: "command is required" });
|
|
261968
262124
|
}
|
|
261969
|
-
if (cwd !== void 0 && !
|
|
262125
|
+
if (cwd !== void 0 && !path19.isAbsolute(cwd)) {
|
|
261970
262126
|
return reply.code(400).send({ error: "cwd must be an absolute path" });
|
|
261971
262127
|
}
|
|
261972
262128
|
const result = await runOneShot(command, { cwd, timeoutMs: clampTimeoutMs(timeoutSec) });
|
|
@@ -261977,7 +262133,7 @@ var routes30 = async (fastify2) => {
|
|
|
261977
262133
|
"/api/path/cross-remote/read-file",
|
|
261978
262134
|
async (request, reply) => {
|
|
261979
262135
|
const { path: filePath, offset = 0, limit = MAX_OUTPUT_BYTES } = request.body ?? {};
|
|
261980
|
-
if (!filePath || !
|
|
262136
|
+
if (!filePath || !path19.isAbsolute(filePath)) {
|
|
261981
262137
|
return reply.code(400).send({ error: "path must be an absolute path" });
|
|
261982
262138
|
}
|
|
261983
262139
|
if (!Number.isInteger(offset) || offset < 0) {
|
|
@@ -261988,10 +262144,10 @@ var routes30 = async (fastify2) => {
|
|
|
261988
262144
|
}
|
|
261989
262145
|
let handle;
|
|
261990
262146
|
try {
|
|
261991
|
-
const
|
|
261992
|
-
if (!
|
|
261993
|
-
if (offset >=
|
|
261994
|
-
return reply.send({ content: "", truncated: false, size:
|
|
262147
|
+
const stat3 = await fs4.stat(filePath);
|
|
262148
|
+
if (!stat3.isFile()) return reply.code(400).send({ error: "path is not a file" });
|
|
262149
|
+
if (offset >= stat3.size) {
|
|
262150
|
+
return reply.send({ content: "", truncated: false, size: stat3.size });
|
|
261995
262151
|
}
|
|
261996
262152
|
const cap2 = Math.min(limit, MAX_OUTPUT_BYTES);
|
|
261997
262153
|
handle = await fs4.open(filePath, "r");
|
|
@@ -261999,8 +262155,8 @@ var routes30 = async (fastify2) => {
|
|
|
261999
262155
|
const { bytesRead } = await handle.read(buffer, 0, cap2, offset);
|
|
262000
262156
|
return reply.send({
|
|
262001
262157
|
content: buffer.subarray(0, bytesRead).toString("utf8"),
|
|
262002
|
-
truncated: offset + bytesRead <
|
|
262003
|
-
size:
|
|
262158
|
+
truncated: offset + bytesRead < stat3.size,
|
|
262159
|
+
size: stat3.size
|
|
262004
262160
|
});
|
|
262005
262161
|
} catch (err) {
|
|
262006
262162
|
const code = err.code;
|
|
@@ -262020,7 +262176,7 @@ var routes30 = async (fastify2) => {
|
|
|
262020
262176
|
"/api/path/cross-remote/list-dir",
|
|
262021
262177
|
async (request, reply) => {
|
|
262022
262178
|
const dirPath = request.body?.path;
|
|
262023
|
-
if (!dirPath || !
|
|
262179
|
+
if (!dirPath || !path19.isAbsolute(dirPath)) {
|
|
262024
262180
|
return reply.code(400).send({ error: "path must be an absolute path" });
|
|
262025
262181
|
}
|
|
262026
262182
|
try {
|
|
@@ -262041,16 +262197,16 @@ var routes30 = async (fastify2) => {
|
|
|
262041
262197
|
"/api/path/cross-remote/stat",
|
|
262042
262198
|
async (request, reply) => {
|
|
262043
262199
|
const targetPath = request.body?.path;
|
|
262044
|
-
if (!targetPath || !
|
|
262200
|
+
if (!targetPath || !path19.isAbsolute(targetPath)) {
|
|
262045
262201
|
return reply.code(400).send({ error: "path must be an absolute path" });
|
|
262046
262202
|
}
|
|
262047
262203
|
try {
|
|
262048
|
-
const
|
|
262204
|
+
const stat3 = await fs4.stat(targetPath);
|
|
262049
262205
|
return reply.send({
|
|
262050
|
-
type: entryType(
|
|
262051
|
-
size:
|
|
262052
|
-
mtime:
|
|
262053
|
-
mode: (
|
|
262206
|
+
type: entryType(stat3.isFile(), stat3.isDirectory()),
|
|
262207
|
+
size: stat3.size,
|
|
262208
|
+
mtime: stat3.mtime.toISOString(),
|
|
262209
|
+
mode: (stat3.mode & 511).toString(8).padStart(3, "0")
|
|
262054
262210
|
});
|
|
262055
262211
|
} catch (err) {
|
|
262056
262212
|
const code = err.code;
|
|
@@ -262645,8 +262801,8 @@ var session_mcp_routes_default = (0, import_fastify_plugin33.default)(routes32,
|
|
|
262645
262801
|
|
|
262646
262802
|
// src/routes/schedule-routes.ts
|
|
262647
262803
|
var import_fastify_plugin34 = __toESM(require_plugin2(), 1);
|
|
262648
|
-
import { randomUUID as
|
|
262649
|
-
import
|
|
262804
|
+
import { randomUUID as randomUUID25 } from "crypto";
|
|
262805
|
+
import path20 from "path";
|
|
262650
262806
|
var RUN_TYPES = ["command", "prompt"];
|
|
262651
262807
|
var CWD_MODES = ["branch", "directory"];
|
|
262652
262808
|
var SOURCE_ID_MAX = 200;
|
|
@@ -262659,7 +262815,7 @@ function validateResolved(b2) {
|
|
|
262659
262815
|
if (!CWD_MODES.includes(b2.cwd_mode)) return `cwd_mode must be one of: ${CWD_MODES.join(", ")}`;
|
|
262660
262816
|
if (!b2.content.trim()) return "content is required";
|
|
262661
262817
|
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() && !
|
|
262818
|
+
if (b2.cwd_mode === "directory" && b2.directory?.trim() && !path20.isAbsolute(b2.directory)) return "directory must be an absolute path";
|
|
262663
262819
|
if (!Number.isInteger(b2.timeout_seconds) || b2.timeout_seconds <= 0) return "timeout_seconds must be a positive integer";
|
|
262664
262820
|
const cronError = validateCron(b2.cron_expr, b2.timezone);
|
|
262665
262821
|
if (cronError) return `Invalid cron expression: ${cronError}`;
|
|
@@ -262748,7 +262904,7 @@ var routes33 = async (fastify2) => {
|
|
|
262748
262904
|
if (!owned) return reply.code(400).send({ error: "Invalid source" });
|
|
262749
262905
|
source = { session_id: b2.source.session_id, tool_use_id: b2.source.tool_use_id };
|
|
262750
262906
|
}
|
|
262751
|
-
const newId =
|
|
262907
|
+
const newId = randomUUID25();
|
|
262752
262908
|
const schedule = await fastify2.storage.scheduledTasks.create({
|
|
262753
262909
|
id: newId,
|
|
262754
262910
|
project_id: req.params.projectId,
|
|
@@ -263600,15 +263756,15 @@ var createServer = async (opts) => {
|
|
|
263600
263756
|
process.exit(1);
|
|
263601
263757
|
}
|
|
263602
263758
|
}
|
|
263603
|
-
const bakedUiRoot =
|
|
263604
|
-
|
|
263759
|
+
const bakedUiRoot = path21.join(
|
|
263760
|
+
path21.dirname(fileURLToPath(import.meta.url)),
|
|
263605
263761
|
"./ui"
|
|
263606
263762
|
);
|
|
263607
263763
|
const UI_ROOT = opts.uiRoot !== void 0 ? opts.uiRoot : fs5.existsSync(bakedUiRoot) ? bakedUiRoot : null;
|
|
263608
263764
|
let uiBuildId;
|
|
263609
263765
|
if (UI_ROOT) {
|
|
263610
263766
|
try {
|
|
263611
|
-
const parsed = JSON.parse(fs5.readFileSync(
|
|
263767
|
+
const parsed = JSON.parse(fs5.readFileSync(path21.join(UI_ROOT, "build-id.json"), "utf8"));
|
|
263612
263768
|
if (typeof parsed.buildId === "string" && parsed.buildId) uiBuildId = parsed.buildId;
|
|
263613
263769
|
} catch {
|
|
263614
263770
|
}
|
|
@@ -263827,27 +263983,27 @@ var createServer = async (opts) => {
|
|
|
263827
263983
|
|
|
263828
263984
|
// src/ui-root.ts
|
|
263829
263985
|
import fs6 from "node:fs";
|
|
263830
|
-
import
|
|
263986
|
+
import path22 from "node:path";
|
|
263831
263987
|
import { execFile as execFile2 } from "node:child_process";
|
|
263832
263988
|
import { promisify as promisify3 } from "node:util";
|
|
263833
263989
|
import { fileURLToPath as fileURLToPath2 } from "node:url";
|
|
263834
263990
|
import { createRequire as createRequire2 } from "node:module";
|
|
263835
263991
|
var execFileAsync2 = promisify3(execFile2);
|
|
263836
263992
|
function hasIndexHtml(dir) {
|
|
263837
|
-
return fs6.existsSync(
|
|
263993
|
+
return fs6.existsSync(path22.join(dir, "index.html"));
|
|
263838
263994
|
}
|
|
263839
263995
|
function ownPackageJson() {
|
|
263840
|
-
const pkgPath =
|
|
263996
|
+
const pkgPath = path22.join(path22.dirname(fileURLToPath2(import.meta.url)), "..", "package.json");
|
|
263841
263997
|
return JSON.parse(fs6.readFileSync(pkgPath, "utf8"));
|
|
263842
263998
|
}
|
|
263843
263999
|
function bakedUiDir() {
|
|
263844
|
-
return
|
|
264000
|
+
return path22.join(path22.dirname(fileURLToPath2(import.meta.url)), "ui");
|
|
263845
264001
|
}
|
|
263846
264002
|
function installedUiDistDir() {
|
|
263847
264003
|
try {
|
|
263848
264004
|
const require2 = createRequire2(import.meta.url);
|
|
263849
264005
|
const pkgJsonPath = require2.resolve("@vibedeckx/ui-dist/package.json");
|
|
263850
|
-
return
|
|
264006
|
+
return path22.join(path22.dirname(pkgJsonPath), "ui");
|
|
263851
264007
|
} catch {
|
|
263852
264008
|
return null;
|
|
263853
264009
|
}
|
|
@@ -263873,12 +264029,12 @@ async function defaultDownload3(version2, cacheDir) {
|
|
|
263873
264029
|
],
|
|
263874
264030
|
{ shell: isWindows, timeout: 12e4 }
|
|
263875
264031
|
);
|
|
263876
|
-
const uiSrc =
|
|
264032
|
+
const uiSrc = path22.join(stagingDir, "node_modules", "@vibedeckx", "ui-dist", "ui");
|
|
263877
264033
|
if (!hasIndexHtml(uiSrc)) {
|
|
263878
264034
|
throw new Error(`downloaded package is missing ui/index.html (${uiSrc})`);
|
|
263879
264035
|
}
|
|
263880
264036
|
fs6.rmSync(cacheDir, { recursive: true, force: true });
|
|
263881
|
-
fs6.mkdirSync(
|
|
264037
|
+
fs6.mkdirSync(path22.dirname(cacheDir), { recursive: true });
|
|
263882
264038
|
fs6.renameSync(uiSrc, cacheDir);
|
|
263883
264039
|
} finally {
|
|
263884
264040
|
fs6.rmSync(stagingDir, { recursive: true, force: true });
|
|
@@ -263891,7 +264047,7 @@ async function resolveUiRoot(opts = {}) {
|
|
|
263891
264047
|
}
|
|
263892
264048
|
const explicit2 = opts.uiDir ?? process.env.VIBEDECKX_UI_DIR;
|
|
263893
264049
|
if (explicit2) {
|
|
263894
|
-
const dir =
|
|
264050
|
+
const dir = path22.resolve(explicit2);
|
|
263895
264051
|
if (!hasIndexHtml(dir)) {
|
|
263896
264052
|
throw new Error(`UI directory ${dir} does not contain index.html (from --ui-dir/VIBEDECKX_UI_DIR)`);
|
|
263897
264053
|
}
|
|
@@ -263912,7 +264068,7 @@ async function resolveUiRoot(opts = {}) {
|
|
|
263912
264068
|
console.error(`[UI] Refusing to download UI for unexpected version string: ${version2}`);
|
|
263913
264069
|
return null;
|
|
263914
264070
|
}
|
|
263915
|
-
const cacheDir =
|
|
264071
|
+
const cacheDir = path22.join(opts.cacheRoot ?? path22.join(VIBEDECKX_HOME, "ui"), version2);
|
|
263916
264072
|
if (hasIndexHtml(cacheDir)) {
|
|
263917
264073
|
console.log(`[UI] Serving from cache: ${cacheDir}`);
|
|
263918
264074
|
return cacheDir;
|
|
@@ -263999,6 +264155,10 @@ var WORKER_CAPABILITIES = {
|
|
|
263999
264155
|
// intact; no unconditional-delete fallback is safe under a concurrent send.
|
|
264000
264156
|
"http:POST /api/agent-sessions/:param/discard-if-empty": { since: "0.3.33", summary: "\u4EC5\u5728\u7A7A\u4F1A\u8BDD\u65F6\u5220\u9664" },
|
|
264001
264157
|
"http:POST /api/agent-sessions/:param/paste": { since: "0.2.0", summary: "\u7C98\u8D34\u56FE\u7247/\u957F\u6587\u672C" },
|
|
264158
|
+
// Additive: the hub checks this key (and treats a 404 the same way) before
|
|
264159
|
+
// uploading, answering `worker_unsupported` so the UI can tell the user to
|
|
264160
|
+
// update the worker instead of silently sending a message without the file.
|
|
264161
|
+
"http:POST /api/agent-sessions/:param/attachment": { since: "0.3.37", summary: "\u975E\u56FE\u7247\u9644\u4EF6\u843D\u4E34\u65F6\u6587\u4EF6" },
|
|
264002
264162
|
"http:POST /api/agent-sessions/:param/stop": { since: "0.2.0", summary: "\u505C\u6B62\u4F1A\u8BDD turn" },
|
|
264003
264163
|
"http:POST /api/agent-sessions/:param/restart": { since: "0.2.0", summary: "\u91CD\u542F\u4F1A\u8BDD\u8FDB\u7A0B" },
|
|
264004
264164
|
"http:POST /api/agent-sessions/:param/agent-type": { since: "0.2.0", summary: "\u5207\u6362 agent \u7C7B\u578B" },
|
|
@@ -264153,7 +264313,7 @@ var ReverseConnectClient = class {
|
|
|
264153
264313
|
this.dialStartedAt = Date.now();
|
|
264154
264314
|
this.closingSince = 0;
|
|
264155
264315
|
const ws = new wrapper_default(connectUrl, {
|
|
264156
|
-
maxPayload:
|
|
264316
|
+
maxPayload: TUNNEL_MAX_FRAME_BYTES,
|
|
264157
264317
|
handshakeTimeout: HANDSHAKE_TIMEOUT_MS
|
|
264158
264318
|
});
|
|
264159
264319
|
this.ws = ws;
|
|
@@ -264506,9 +264666,9 @@ var ReverseConnectClient = class {
|
|
|
264506
264666
|
|
|
264507
264667
|
// src/connect-daemon.ts
|
|
264508
264668
|
import { spawn as spawn6 } from "node:child_process";
|
|
264509
|
-
import { randomUUID as
|
|
264669
|
+
import { randomUUID as randomUUID26 } from "node:crypto";
|
|
264510
264670
|
import fs8 from "node:fs";
|
|
264511
|
-
import
|
|
264671
|
+
import path23 from "node:path";
|
|
264512
264672
|
var CONNECT_DAEMON_CHILD_ENV = "VIBEDECKX_INTERNAL_CONNECT_DAEMON";
|
|
264513
264673
|
var CONNECT_DAEMON_TOKEN_ENV = "VIBEDECKX_INTERNAL_CONNECT_TOKEN";
|
|
264514
264674
|
var CONNECT_DAEMON_READY_TIMEOUT_ENV = "VIBEDECKX_CONNECT_DAEMON_READY_TIMEOUT_MS";
|
|
@@ -264781,7 +264941,7 @@ async function startConnectDaemon(options) {
|
|
|
264781
264941
|
if (!configuredEntrypoint) {
|
|
264782
264942
|
throw new Error("Cannot start connect daemon: CLI entrypoint is unavailable");
|
|
264783
264943
|
}
|
|
264784
|
-
const entrypoint =
|
|
264944
|
+
const entrypoint = path23.resolve(configuredEntrypoint);
|
|
264785
264945
|
const child = spawn6(
|
|
264786
264946
|
process.execPath,
|
|
264787
264947
|
[entrypoint, ...buildDaemonChildArgs(options.argv)],
|
|
@@ -264812,7 +264972,7 @@ async function startConnectDaemon(options) {
|
|
|
264812
264972
|
return {
|
|
264813
264973
|
pid: child.pid,
|
|
264814
264974
|
target: options.connectTo,
|
|
264815
|
-
logPath:
|
|
264975
|
+
logPath: path23.join(options.dataDir, "logs", "vibedeckx.log")
|
|
264816
264976
|
};
|
|
264817
264977
|
} catch (error48) {
|
|
264818
264978
|
let terminationCleanupError;
|
|
@@ -264858,10 +265018,10 @@ async function startConnectDaemon(options) {
|
|
|
264858
265018
|
throw new Error(redactSecretForms(message, options.token));
|
|
264859
265019
|
}
|
|
264860
265020
|
}
|
|
264861
|
-
function parseLinuxProcessStartTicks(
|
|
264862
|
-
const closeParen =
|
|
265021
|
+
function parseLinuxProcessStartTicks(stat3) {
|
|
265022
|
+
const closeParen = stat3.lastIndexOf(")");
|
|
264863
265023
|
if (closeParen < 0) throw new Error("Malformed Linux process stat");
|
|
264864
|
-
const fieldsFromThree =
|
|
265024
|
+
const fieldsFromThree = stat3.slice(closeParen + 1).trim().split(/\s+/);
|
|
264865
265025
|
const startTicks = fieldsFromThree[19];
|
|
264866
265026
|
if (!startTicks || !/^\d+$/.test(startTicks)) {
|
|
264867
265027
|
throw new Error("Malformed Linux process stat");
|
|
@@ -264881,10 +265041,10 @@ function readLinuxProcessStartTicks(pid) {
|
|
|
264881
265041
|
}
|
|
264882
265042
|
}
|
|
264883
265043
|
function daemonStatePath(dataDir) {
|
|
264884
|
-
return
|
|
265044
|
+
return path23.join(dataDir, "run", "connect.json");
|
|
264885
265045
|
}
|
|
264886
265046
|
function daemonStateLockPath(dataDir) {
|
|
264887
|
-
return
|
|
265047
|
+
return path23.join(path23.dirname(daemonStatePath(dataDir)), "connect.lock");
|
|
264888
265048
|
}
|
|
264889
265049
|
function hasErrorCode(error48, code) {
|
|
264890
265050
|
return error48 instanceof Error && "code" in error48 && error48.code === code;
|
|
@@ -264895,7 +265055,7 @@ function isDaemonStateLockOwner(value) {
|
|
|
264895
265055
|
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
265056
|
}
|
|
264897
265057
|
function daemonStateLockOwnerPath(lockPath) {
|
|
264898
|
-
return
|
|
265058
|
+
return path23.join(lockPath, "owner.json");
|
|
264899
265059
|
}
|
|
264900
265060
|
function readDaemonStateLockOwner(lockPath) {
|
|
264901
265061
|
let contents;
|
|
@@ -264925,7 +265085,7 @@ function createDaemonStateLockCandidate(lockPath) {
|
|
|
264925
265085
|
schemaVersion: 1,
|
|
264926
265086
|
pid: process.pid,
|
|
264927
265087
|
processStartTicks,
|
|
264928
|
-
nonce:
|
|
265088
|
+
nonce: randomUUID26()
|
|
264929
265089
|
};
|
|
264930
265090
|
const candidatePath = `${lockPath}.candidate-${process.pid}-${owner.nonce}`;
|
|
264931
265091
|
fs8.mkdirSync(candidatePath, { mode: 448 });
|
|
@@ -264945,9 +265105,9 @@ function createDaemonStateLockCandidate(lockPath) {
|
|
|
264945
265105
|
}
|
|
264946
265106
|
}
|
|
264947
265107
|
function quarantineRecoverableDaemonStateLock(lockPath) {
|
|
264948
|
-
let
|
|
265108
|
+
let stat3;
|
|
264949
265109
|
try {
|
|
264950
|
-
|
|
265110
|
+
stat3 = fs8.lstatSync(lockPath);
|
|
264951
265111
|
} catch (error48) {
|
|
264952
265112
|
if (hasErrorCode(error48, "ENOENT")) return;
|
|
264953
265113
|
throw error48;
|
|
@@ -264958,7 +265118,7 @@ function quarantineRecoverableDaemonStateLock(lockPath) {
|
|
|
264958
265118
|
`daemon state operation already in progress at ${lockPath} (PID ${owner.pid})`
|
|
264959
265119
|
);
|
|
264960
265120
|
}
|
|
264961
|
-
const quarantinePath = `${lockPath}.stale-${
|
|
265121
|
+
const quarantinePath = `${lockPath}.stale-${stat3.dev}-${stat3.ino}-${String(stat3.ctimeMs).replace(".", "-")}`;
|
|
264962
265122
|
try {
|
|
264963
265123
|
fs8.renameSync(lockPath, quarantinePath);
|
|
264964
265124
|
} catch (error48) {
|
|
@@ -264994,8 +265154,8 @@ function acquireDaemonStateLock(lockPath) {
|
|
|
264994
265154
|
}
|
|
264995
265155
|
}
|
|
264996
265156
|
function sweepLockQuarantine(lockPath) {
|
|
264997
|
-
const runDir =
|
|
264998
|
-
const base =
|
|
265157
|
+
const runDir = path23.dirname(lockPath);
|
|
265158
|
+
const base = path23.basename(lockPath);
|
|
264999
265159
|
const stalePrefix = `${base}.stale-`;
|
|
265000
265160
|
const candidatePrefix = `${base}.candidate-`;
|
|
265001
265161
|
let entries;
|
|
@@ -265014,7 +265174,7 @@ function sweepLockQuarantine(lockPath) {
|
|
|
265014
265174
|
}
|
|
265015
265175
|
if (!removable) continue;
|
|
265016
265176
|
try {
|
|
265017
|
-
fs8.rmSync(
|
|
265177
|
+
fs8.rmSync(path23.join(runDir, entry), { recursive: true, force: true });
|
|
265018
265178
|
} catch {
|
|
265019
265179
|
}
|
|
265020
265180
|
}
|
|
@@ -265030,7 +265190,7 @@ function releaseDaemonStateLock(lockPath, expected) {
|
|
|
265030
265190
|
}
|
|
265031
265191
|
function withDaemonStateLock(dataDir, operation) {
|
|
265032
265192
|
const lockPath = daemonStateLockPath(dataDir);
|
|
265033
|
-
const runDir =
|
|
265193
|
+
const runDir = path23.dirname(lockPath);
|
|
265034
265194
|
fs8.mkdirSync(runDir, { recursive: true, mode: 448 });
|
|
265035
265195
|
fs8.chmodSync(runDir, 448);
|
|
265036
265196
|
const owner = acquireDaemonStateLock(lockPath);
|
|
@@ -265102,7 +265262,7 @@ async function describeConnectDaemon(dataDir, fetchLatestVersion = fetchLatestPu
|
|
|
265102
265262
|
`Running (PID ${inspection.state.pid}, since ${inspection.state.startedAt})`,
|
|
265103
265263
|
`Version: ${inspection.state.version} ${describeUpdateStatus(inspection.state.version, latest)}`,
|
|
265104
265264
|
`Target: ${inspection.state.connectTo}`,
|
|
265105
|
-
`Logs: ${
|
|
265265
|
+
`Logs: ${path23.join(dataDir, "logs", "vibedeckx.log")}`
|
|
265106
265266
|
].join("\n")
|
|
265107
265267
|
};
|
|
265108
265268
|
}
|
|
@@ -265262,8 +265422,8 @@ function claimDaemonStateUnlocked(dataDir, connectTo, version2) {
|
|
|
265262
265422
|
version: version2
|
|
265263
265423
|
};
|
|
265264
265424
|
const statePath = daemonStatePath(dataDir);
|
|
265265
|
-
fs8.mkdirSync(
|
|
265266
|
-
fs8.chmodSync(
|
|
265425
|
+
fs8.mkdirSync(path23.dirname(statePath), { recursive: true, mode: 448 });
|
|
265426
|
+
fs8.chmodSync(path23.dirname(statePath), 448);
|
|
265267
265427
|
fs8.writeFileSync(statePath, `${JSON.stringify(state)}
|
|
265268
265428
|
`, {
|
|
265269
265429
|
flag: "wx",
|
|
@@ -265403,15 +265563,15 @@ async function preflightIdentityCheck(opts) {
|
|
|
265403
265563
|
// ../../node_modules/.pnpm/open@10.2.0/node_modules/open/index.js
|
|
265404
265564
|
import process8 from "node:process";
|
|
265405
265565
|
import { Buffer as Buffer2 } from "node:buffer";
|
|
265406
|
-
import
|
|
265566
|
+
import path24 from "node:path";
|
|
265407
265567
|
import { fileURLToPath as fileURLToPath3 } from "node:url";
|
|
265408
265568
|
import { promisify as promisify8 } from "node:util";
|
|
265409
265569
|
import childProcess from "node:child_process";
|
|
265410
|
-
import fs13, { constants as
|
|
265570
|
+
import fs13, { constants as fsConstants5 } from "node:fs/promises";
|
|
265411
265571
|
|
|
265412
265572
|
// ../../node_modules/.pnpm/wsl-utils@0.1.0/node_modules/wsl-utils/index.js
|
|
265413
265573
|
import process4 from "node:process";
|
|
265414
|
-
import fs12, { constants as
|
|
265574
|
+
import fs12, { constants as fsConstants4 } from "node:fs/promises";
|
|
265415
265575
|
|
|
265416
265576
|
// ../../node_modules/.pnpm/is-wsl@3.1.0/node_modules/is-wsl/index.js
|
|
265417
265577
|
import process3 from "node:process";
|
|
@@ -265493,7 +265653,7 @@ var wslDrivesMountPoint = /* @__PURE__ */ (() => {
|
|
|
265493
265653
|
const configFilePath = "/etc/wsl.conf";
|
|
265494
265654
|
let isConfigFileExists = false;
|
|
265495
265655
|
try {
|
|
265496
|
-
await fs12.access(configFilePath,
|
|
265656
|
+
await fs12.access(configFilePath, fsConstants4.F_OK);
|
|
265497
265657
|
isConfigFileExists = true;
|
|
265498
265658
|
} catch {
|
|
265499
265659
|
}
|
|
@@ -265654,8 +265814,8 @@ async function defaultBrowser2() {
|
|
|
265654
265814
|
|
|
265655
265815
|
// ../../node_modules/.pnpm/open@10.2.0/node_modules/open/index.js
|
|
265656
265816
|
var execFile7 = promisify8(childProcess.execFile);
|
|
265657
|
-
var __dirname2 =
|
|
265658
|
-
var localXdgOpenPath =
|
|
265817
|
+
var __dirname2 = path24.dirname(fileURLToPath3(import.meta.url));
|
|
265818
|
+
var localXdgOpenPath = path24.join(__dirname2, "xdg-open");
|
|
265659
265819
|
var { platform: platform2, arch } = process8;
|
|
265660
265820
|
async function getWindowsDefaultBrowserFromWsl() {
|
|
265661
265821
|
const powershellPath = await powerShellPath();
|
|
@@ -265805,7 +265965,7 @@ var baseOpen = async (options) => {
|
|
|
265805
265965
|
const isBundled = !__dirname2 || __dirname2 === "/";
|
|
265806
265966
|
let exeLocalXdgOpen = false;
|
|
265807
265967
|
try {
|
|
265808
|
-
await fs13.access(localXdgOpenPath,
|
|
265968
|
+
await fs13.access(localXdgOpenPath, fsConstants5.X_OK);
|
|
265809
265969
|
exeLocalXdgOpen = true;
|
|
265810
265970
|
} catch {
|
|
265811
265971
|
}
|
|
@@ -265842,7 +266002,7 @@ var baseOpen = async (options) => {
|
|
|
265842
266002
|
subprocess.unref();
|
|
265843
266003
|
return subprocess;
|
|
265844
266004
|
};
|
|
265845
|
-
var
|
|
266005
|
+
var open4 = (target, options) => {
|
|
265846
266006
|
if (typeof target !== "string") {
|
|
265847
266007
|
throw new TypeError("Expected a `target`");
|
|
265848
266008
|
}
|
|
@@ -265907,7 +266067,7 @@ defineLazyProperty(apps, "edge", () => detectPlatformBinary({
|
|
|
265907
266067
|
}));
|
|
265908
266068
|
defineLazyProperty(apps, "browser", () => "browser");
|
|
265909
266069
|
defineLazyProperty(apps, "browserPrivate", () => "browserPrivate");
|
|
265910
|
-
var open_default =
|
|
266070
|
+
var open_default = open4;
|
|
265911
266071
|
|
|
265912
266072
|
// src/command.ts
|
|
265913
266073
|
function loadTLSOptions(flags) {
|
|
@@ -266022,7 +266182,7 @@ an authenticating proxy in front, or keep the default loopback bind (127.0.0.1).
|
|
|
266022
266182
|
}
|
|
266023
266183
|
console.log(`Starting vibedeckx${tls ? " (HTTPS)" : ""}...`);
|
|
266024
266184
|
const uiRoot = await resolveUiRoot({ uiDir: flags["ui-dir"], noUi: flags["no-ui"] });
|
|
266025
|
-
const dbPath =
|
|
266185
|
+
const dbPath = path25.join(dataDir, "data.sqlite");
|
|
266026
266186
|
const storage2 = await createSqliteStorage(dbPath);
|
|
266027
266187
|
const server = await createServer({ storage: storage2, authEnabled, noLocalProjects, tls, uiRoot });
|
|
266028
266188
|
const url2 = await server.start(port, host);
|
|
@@ -266192,7 +266352,7 @@ var connectCommand = buildCommand({
|
|
|
266192
266352
|
requireFileLogging: childContext.isDaemonChild
|
|
266193
266353
|
});
|
|
266194
266354
|
console.log("Starting vibedeckx in reverse-connect mode...");
|
|
266195
|
-
const dbPath =
|
|
266355
|
+
const dbPath = path25.join(dataDir, "data.sqlite");
|
|
266196
266356
|
storage2 = await createSqliteStorage(dbPath);
|
|
266197
266357
|
const preflight = await preflightIdentityCheck({
|
|
266198
266358
|
connectTo: flags["connect-to"],
|