vexp-cli 1.3.8 → 1.3.11
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/agent-config.js +44 -13
- package/dist/agent-config.js.map +1 -1
- package/mcp/mcp-server.cjs +260 -265
- package/package.json +6 -6
package/mcp/mcp-server.cjs
CHANGED
|
@@ -3222,8 +3222,8 @@ var require_utils = __commonJS({
|
|
|
3222
3222
|
}
|
|
3223
3223
|
return ind;
|
|
3224
3224
|
}
|
|
3225
|
-
function removeDotSegments(
|
|
3226
|
-
let input =
|
|
3225
|
+
function removeDotSegments(path3) {
|
|
3226
|
+
let input = path3;
|
|
3227
3227
|
const output = [];
|
|
3228
3228
|
let nextSlash = -1;
|
|
3229
3229
|
let len = 0;
|
|
@@ -3422,8 +3422,8 @@ var require_schemes = __commonJS({
|
|
|
3422
3422
|
wsComponent.secure = void 0;
|
|
3423
3423
|
}
|
|
3424
3424
|
if (wsComponent.resourceName) {
|
|
3425
|
-
const [
|
|
3426
|
-
wsComponent.path =
|
|
3425
|
+
const [path3, query] = wsComponent.resourceName.split("?");
|
|
3426
|
+
wsComponent.path = path3 && path3 !== "/" ? path3 : void 0;
|
|
3427
3427
|
wsComponent.query = query;
|
|
3428
3428
|
wsComponent.resourceName = void 0;
|
|
3429
3429
|
}
|
|
@@ -6785,12 +6785,12 @@ var require_dist = __commonJS({
|
|
|
6785
6785
|
throw new Error(`Unknown format "${name}"`);
|
|
6786
6786
|
return f;
|
|
6787
6787
|
};
|
|
6788
|
-
function addFormats(ajv, list,
|
|
6788
|
+
function addFormats(ajv, list, fs3, exportName) {
|
|
6789
6789
|
var _a;
|
|
6790
6790
|
var _b;
|
|
6791
6791
|
(_a = (_b = ajv.opts.code).formats) !== null && _a !== void 0 ? _a : _b.formats = (0, codegen_1._)`require("ajv-formats/dist/formats").${exportName}`;
|
|
6792
6792
|
for (const f of list)
|
|
6793
|
-
ajv.addFormat(f,
|
|
6793
|
+
ajv.addFormat(f, fs3[f]);
|
|
6794
6794
|
}
|
|
6795
6795
|
module2.exports = exports2 = formatsPlugin;
|
|
6796
6796
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
@@ -8058,8 +8058,8 @@ var require_node = __commonJS({
|
|
|
8058
8058
|
}
|
|
8059
8059
|
break;
|
|
8060
8060
|
case "FILE":
|
|
8061
|
-
var
|
|
8062
|
-
stream2 = new
|
|
8061
|
+
var fs3 = require("fs");
|
|
8062
|
+
stream2 = new fs3.SyncWriteStream(fd2, { autoClose: false });
|
|
8063
8063
|
stream2._type = "fs";
|
|
8064
8064
|
break;
|
|
8065
8065
|
case "PIPE":
|
|
@@ -12026,7 +12026,7 @@ var require_read = __commonJS({
|
|
|
12026
12026
|
var stream;
|
|
12027
12027
|
req._body = true;
|
|
12028
12028
|
var encoding = opts.encoding !== null ? opts.encoding : null;
|
|
12029
|
-
var
|
|
12029
|
+
var verify = opts.verify;
|
|
12030
12030
|
try {
|
|
12031
12031
|
stream = contentstream(req, debug, opts.inflate);
|
|
12032
12032
|
length = stream.length;
|
|
@@ -12035,7 +12035,7 @@ var require_read = __commonJS({
|
|
|
12035
12035
|
return next(err);
|
|
12036
12036
|
}
|
|
12037
12037
|
opts.length = length;
|
|
12038
|
-
opts.encoding =
|
|
12038
|
+
opts.encoding = verify ? null : encoding;
|
|
12039
12039
|
if (opts.encoding === null && encoding !== null && !iconv.encodingExists(encoding)) {
|
|
12040
12040
|
return next(createError(415, 'unsupported charset "' + encoding.toUpperCase() + '"', {
|
|
12041
12041
|
charset: encoding.toLowerCase(),
|
|
@@ -12063,10 +12063,10 @@ var require_read = __commonJS({
|
|
|
12063
12063
|
});
|
|
12064
12064
|
return;
|
|
12065
12065
|
}
|
|
12066
|
-
if (
|
|
12066
|
+
if (verify) {
|
|
12067
12067
|
try {
|
|
12068
12068
|
debug("verify body");
|
|
12069
|
-
|
|
12069
|
+
verify(req, res, body, encoding);
|
|
12070
12070
|
} catch (err) {
|
|
12071
12071
|
next(createError(403, err, {
|
|
12072
12072
|
body,
|
|
@@ -20846,11 +20846,11 @@ var require_mime_types = __commonJS({
|
|
|
20846
20846
|
}
|
|
20847
20847
|
return exts[0];
|
|
20848
20848
|
}
|
|
20849
|
-
function lookup(
|
|
20850
|
-
if (!
|
|
20849
|
+
function lookup(path3) {
|
|
20850
|
+
if (!path3 || typeof path3 !== "string") {
|
|
20851
20851
|
return false;
|
|
20852
20852
|
}
|
|
20853
|
-
var extension2 = extname("x." +
|
|
20853
|
+
var extension2 = extname("x." + path3).toLowerCase().substr(1);
|
|
20854
20854
|
if (!extension2) {
|
|
20855
20855
|
return false;
|
|
20856
20856
|
}
|
|
@@ -21007,8 +21007,8 @@ var require_json = __commonJS({
|
|
|
21007
21007
|
var reviver = opts.reviver;
|
|
21008
21008
|
var strict = opts.strict !== false;
|
|
21009
21009
|
var type = opts.type || "application/json";
|
|
21010
|
-
var
|
|
21011
|
-
if (
|
|
21010
|
+
var verify = opts.verify || false;
|
|
21011
|
+
if (verify !== false && typeof verify !== "function") {
|
|
21012
21012
|
throw new TypeError("option verify must be function");
|
|
21013
21013
|
}
|
|
21014
21014
|
var shouldParse = typeof type !== "function" ? typeChecker(type) : type;
|
|
@@ -21064,7 +21064,7 @@ var require_json = __commonJS({
|
|
|
21064
21064
|
encoding: charset,
|
|
21065
21065
|
inflate,
|
|
21066
21066
|
limit,
|
|
21067
|
-
verify
|
|
21067
|
+
verify
|
|
21068
21068
|
});
|
|
21069
21069
|
};
|
|
21070
21070
|
}
|
|
@@ -21134,8 +21134,8 @@ var require_raw = __commonJS({
|
|
|
21134
21134
|
var inflate = opts.inflate !== false;
|
|
21135
21135
|
var limit = typeof opts.limit !== "number" ? bytes.parse(opts.limit || "100kb") : opts.limit;
|
|
21136
21136
|
var type = opts.type || "application/octet-stream";
|
|
21137
|
-
var
|
|
21138
|
-
if (
|
|
21137
|
+
var verify = opts.verify || false;
|
|
21138
|
+
if (verify !== false && typeof verify !== "function") {
|
|
21139
21139
|
throw new TypeError("option verify must be function");
|
|
21140
21140
|
}
|
|
21141
21141
|
var shouldParse = typeof type !== "function" ? typeChecker(type) : type;
|
|
@@ -21164,7 +21164,7 @@ var require_raw = __commonJS({
|
|
|
21164
21164
|
encoding: null,
|
|
21165
21165
|
inflate,
|
|
21166
21166
|
limit,
|
|
21167
|
-
verify
|
|
21167
|
+
verify
|
|
21168
21168
|
});
|
|
21169
21169
|
};
|
|
21170
21170
|
}
|
|
@@ -21192,8 +21192,8 @@ var require_text = __commonJS({
|
|
|
21192
21192
|
var inflate = opts.inflate !== false;
|
|
21193
21193
|
var limit = typeof opts.limit !== "number" ? bytes.parse(opts.limit || "100kb") : opts.limit;
|
|
21194
21194
|
var type = opts.type || "text/plain";
|
|
21195
|
-
var
|
|
21196
|
-
if (
|
|
21195
|
+
var verify = opts.verify || false;
|
|
21196
|
+
if (verify !== false && typeof verify !== "function") {
|
|
21197
21197
|
throw new TypeError("option verify must be function");
|
|
21198
21198
|
}
|
|
21199
21199
|
var shouldParse = typeof type !== "function" ? typeChecker(type) : type;
|
|
@@ -21223,7 +21223,7 @@ var require_text = __commonJS({
|
|
|
21223
21223
|
encoding: charset,
|
|
21224
21224
|
inflate,
|
|
21225
21225
|
limit,
|
|
21226
|
-
verify
|
|
21226
|
+
verify
|
|
21227
21227
|
});
|
|
21228
21228
|
};
|
|
21229
21229
|
}
|
|
@@ -23773,8 +23773,8 @@ var require_urlencoded = __commonJS({
|
|
|
23773
23773
|
var inflate = opts.inflate !== false;
|
|
23774
23774
|
var limit = typeof opts.limit !== "number" ? bytes.parse(opts.limit || "100kb") : opts.limit;
|
|
23775
23775
|
var type = opts.type || "application/x-www-form-urlencoded";
|
|
23776
|
-
var
|
|
23777
|
-
if (
|
|
23776
|
+
var verify = opts.verify || false;
|
|
23777
|
+
if (verify !== false && typeof verify !== "function") {
|
|
23778
23778
|
throw new TypeError("option verify must be function");
|
|
23779
23779
|
}
|
|
23780
23780
|
var queryparse = extended ? extendedparser(opts) : simpleparser(opts);
|
|
@@ -23814,7 +23814,7 @@ var require_urlencoded = __commonJS({
|
|
|
23814
23814
|
encoding: charset,
|
|
23815
23815
|
inflate,
|
|
23816
23816
|
limit,
|
|
23817
|
-
verify
|
|
23817
|
+
verify
|
|
23818
23818
|
});
|
|
23819
23819
|
};
|
|
23820
23820
|
}
|
|
@@ -24365,7 +24365,7 @@ var require_path_to_regexp = __commonJS({
|
|
|
24365
24365
|
"node_modules/.pnpm/path-to-regexp@0.1.12/node_modules/path-to-regexp/index.js"(exports2, module2) {
|
|
24366
24366
|
module2.exports = pathToRegexp;
|
|
24367
24367
|
var MATCHING_GROUP_REGEXP = /\\.|\((?:\?<(.*?)>)?(?!\?)/g;
|
|
24368
|
-
function pathToRegexp(
|
|
24368
|
+
function pathToRegexp(path3, keys, options) {
|
|
24369
24369
|
options = options || {};
|
|
24370
24370
|
keys = keys || [];
|
|
24371
24371
|
var strict = options.strict;
|
|
@@ -24379,8 +24379,8 @@ var require_path_to_regexp = __commonJS({
|
|
|
24379
24379
|
var pos = 0;
|
|
24380
24380
|
var backtrack = "";
|
|
24381
24381
|
var m;
|
|
24382
|
-
if (
|
|
24383
|
-
while (m = MATCHING_GROUP_REGEXP.exec(
|
|
24382
|
+
if (path3 instanceof RegExp) {
|
|
24383
|
+
while (m = MATCHING_GROUP_REGEXP.exec(path3.source)) {
|
|
24384
24384
|
if (m[0][0] === "\\") continue;
|
|
24385
24385
|
keys.push({
|
|
24386
24386
|
name: m[1] || name++,
|
|
@@ -24388,18 +24388,18 @@ var require_path_to_regexp = __commonJS({
|
|
|
24388
24388
|
offset: m.index
|
|
24389
24389
|
});
|
|
24390
24390
|
}
|
|
24391
|
-
return
|
|
24391
|
+
return path3;
|
|
24392
24392
|
}
|
|
24393
|
-
if (Array.isArray(
|
|
24394
|
-
|
|
24393
|
+
if (Array.isArray(path3)) {
|
|
24394
|
+
path3 = path3.map(function(value) {
|
|
24395
24395
|
return pathToRegexp(value, keys, options).source;
|
|
24396
24396
|
});
|
|
24397
|
-
return new RegExp(
|
|
24397
|
+
return new RegExp(path3.join("|"), flags);
|
|
24398
24398
|
}
|
|
24399
|
-
if (typeof
|
|
24399
|
+
if (typeof path3 !== "string") {
|
|
24400
24400
|
throw new TypeError("path must be a string, array of strings, or regular expression");
|
|
24401
24401
|
}
|
|
24402
|
-
|
|
24402
|
+
path3 = path3.replace(
|
|
24403
24403
|
/\\.|(\/)?(\.)?:(\w+)(\(.*?\))?(\*)?(\?)?|[.*]|\/\(/g,
|
|
24404
24404
|
function(match, slash, format, key, capture, star, optional2, offset) {
|
|
24405
24405
|
if (match[0] === "\\") {
|
|
@@ -24416,7 +24416,7 @@ var require_path_to_regexp = __commonJS({
|
|
|
24416
24416
|
if (slash || format) {
|
|
24417
24417
|
backtrack = "";
|
|
24418
24418
|
} else {
|
|
24419
|
-
backtrack +=
|
|
24419
|
+
backtrack += path3.slice(pos, offset);
|
|
24420
24420
|
}
|
|
24421
24421
|
pos = offset + match.length;
|
|
24422
24422
|
if (match === "*") {
|
|
@@ -24444,7 +24444,7 @@ var require_path_to_regexp = __commonJS({
|
|
|
24444
24444
|
return result;
|
|
24445
24445
|
}
|
|
24446
24446
|
);
|
|
24447
|
-
while (m = MATCHING_GROUP_REGEXP.exec(
|
|
24447
|
+
while (m = MATCHING_GROUP_REGEXP.exec(path3)) {
|
|
24448
24448
|
if (m[0][0] === "\\") continue;
|
|
24449
24449
|
if (keysOffset + i === keys.length || keys[keysOffset + i].offset > m.index) {
|
|
24450
24450
|
keys.splice(keysOffset + i, 0, {
|
|
@@ -24456,13 +24456,13 @@ var require_path_to_regexp = __commonJS({
|
|
|
24456
24456
|
}
|
|
24457
24457
|
i++;
|
|
24458
24458
|
}
|
|
24459
|
-
|
|
24459
|
+
path3 += strict ? "" : path3[path3.length - 1] === "/" ? "?" : "/?";
|
|
24460
24460
|
if (end) {
|
|
24461
|
-
|
|
24462
|
-
} else if (
|
|
24463
|
-
|
|
24461
|
+
path3 += "$";
|
|
24462
|
+
} else if (path3[path3.length - 1] !== "/") {
|
|
24463
|
+
path3 += lookahead ? "(?=/|$)" : "(?:/|$)";
|
|
24464
24464
|
}
|
|
24465
|
-
return new RegExp("^" +
|
|
24465
|
+
return new RegExp("^" + path3, flags);
|
|
24466
24466
|
}
|
|
24467
24467
|
}
|
|
24468
24468
|
});
|
|
@@ -24475,19 +24475,19 @@ var require_layer = __commonJS({
|
|
|
24475
24475
|
var debug = require_src()("express:router:layer");
|
|
24476
24476
|
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
|
24477
24477
|
module2.exports = Layer;
|
|
24478
|
-
function Layer(
|
|
24478
|
+
function Layer(path3, options, fn) {
|
|
24479
24479
|
if (!(this instanceof Layer)) {
|
|
24480
|
-
return new Layer(
|
|
24480
|
+
return new Layer(path3, options, fn);
|
|
24481
24481
|
}
|
|
24482
|
-
debug("new %o",
|
|
24482
|
+
debug("new %o", path3);
|
|
24483
24483
|
var opts = options || {};
|
|
24484
24484
|
this.handle = fn;
|
|
24485
24485
|
this.name = fn.name || "<anonymous>";
|
|
24486
24486
|
this.params = void 0;
|
|
24487
24487
|
this.path = void 0;
|
|
24488
|
-
this.regexp = pathRegexp(
|
|
24489
|
-
this.regexp.fast_star =
|
|
24490
|
-
this.regexp.fast_slash =
|
|
24488
|
+
this.regexp = pathRegexp(path3, this.keys = [], opts);
|
|
24489
|
+
this.regexp.fast_star = path3 === "*";
|
|
24490
|
+
this.regexp.fast_slash = path3 === "/" && opts.end === false;
|
|
24491
24491
|
}
|
|
24492
24492
|
Layer.prototype.handle_error = function handle_error(error2, req, res, next) {
|
|
24493
24493
|
var fn = this.handle;
|
|
@@ -24511,20 +24511,20 @@ var require_layer = __commonJS({
|
|
|
24511
24511
|
next(err);
|
|
24512
24512
|
}
|
|
24513
24513
|
};
|
|
24514
|
-
Layer.prototype.match = function match(
|
|
24514
|
+
Layer.prototype.match = function match(path3) {
|
|
24515
24515
|
var match2;
|
|
24516
|
-
if (
|
|
24516
|
+
if (path3 != null) {
|
|
24517
24517
|
if (this.regexp.fast_slash) {
|
|
24518
24518
|
this.params = {};
|
|
24519
24519
|
this.path = "";
|
|
24520
24520
|
return true;
|
|
24521
24521
|
}
|
|
24522
24522
|
if (this.regexp.fast_star) {
|
|
24523
|
-
this.params = { "0": decode_param(
|
|
24524
|
-
this.path =
|
|
24523
|
+
this.params = { "0": decode_param(path3) };
|
|
24524
|
+
this.path = path3;
|
|
24525
24525
|
return true;
|
|
24526
24526
|
}
|
|
24527
|
-
match2 = this.regexp.exec(
|
|
24527
|
+
match2 = this.regexp.exec(path3);
|
|
24528
24528
|
}
|
|
24529
24529
|
if (!match2) {
|
|
24530
24530
|
this.params = void 0;
|
|
@@ -24617,10 +24617,10 @@ var require_route = __commonJS({
|
|
|
24617
24617
|
var slice = Array.prototype.slice;
|
|
24618
24618
|
var toString = Object.prototype.toString;
|
|
24619
24619
|
module2.exports = Route;
|
|
24620
|
-
function Route(
|
|
24621
|
-
this.path =
|
|
24620
|
+
function Route(path3) {
|
|
24621
|
+
this.path = path3;
|
|
24622
24622
|
this.stack = [];
|
|
24623
|
-
debug("new %o",
|
|
24623
|
+
debug("new %o", path3);
|
|
24624
24624
|
this.methods = {};
|
|
24625
24625
|
}
|
|
24626
24626
|
Route.prototype._handles_method = function _handles_method(method) {
|
|
@@ -24832,8 +24832,8 @@ var require_router = __commonJS({
|
|
|
24832
24832
|
if (++sync > 100) {
|
|
24833
24833
|
return setImmediate(next, err);
|
|
24834
24834
|
}
|
|
24835
|
-
var
|
|
24836
|
-
if (
|
|
24835
|
+
var path3 = getPathname(req);
|
|
24836
|
+
if (path3 == null) {
|
|
24837
24837
|
return done(layerError);
|
|
24838
24838
|
}
|
|
24839
24839
|
var layer;
|
|
@@ -24841,7 +24841,7 @@ var require_router = __commonJS({
|
|
|
24841
24841
|
var route;
|
|
24842
24842
|
while (match !== true && idx < stack.length) {
|
|
24843
24843
|
layer = stack[idx++];
|
|
24844
|
-
match = matchLayer(layer,
|
|
24844
|
+
match = matchLayer(layer, path3);
|
|
24845
24845
|
route = layer.route;
|
|
24846
24846
|
if (typeof match !== "boolean") {
|
|
24847
24847
|
layerError = layerError || match;
|
|
@@ -24879,18 +24879,18 @@ var require_router = __commonJS({
|
|
|
24879
24879
|
} else if (route) {
|
|
24880
24880
|
layer.handle_request(req, res, next);
|
|
24881
24881
|
} else {
|
|
24882
|
-
trim_prefix(layer, layerError, layerPath,
|
|
24882
|
+
trim_prefix(layer, layerError, layerPath, path3);
|
|
24883
24883
|
}
|
|
24884
24884
|
sync = 0;
|
|
24885
24885
|
});
|
|
24886
24886
|
}
|
|
24887
|
-
function trim_prefix(layer, layerError, layerPath,
|
|
24887
|
+
function trim_prefix(layer, layerError, layerPath, path3) {
|
|
24888
24888
|
if (layerPath.length !== 0) {
|
|
24889
|
-
if (layerPath !==
|
|
24889
|
+
if (layerPath !== path3.slice(0, layerPath.length)) {
|
|
24890
24890
|
next(layerError);
|
|
24891
24891
|
return;
|
|
24892
24892
|
}
|
|
24893
|
-
var c =
|
|
24893
|
+
var c = path3[layerPath.length];
|
|
24894
24894
|
if (c && c !== "/" && c !== ".") return next(layerError);
|
|
24895
24895
|
debug("trim prefix (%s) from url %s", layerPath, req.url);
|
|
24896
24896
|
removed = layerPath;
|
|
@@ -24968,7 +24968,7 @@ var require_router = __commonJS({
|
|
|
24968
24968
|
};
|
|
24969
24969
|
proto.use = function use(fn) {
|
|
24970
24970
|
var offset = 0;
|
|
24971
|
-
var
|
|
24971
|
+
var path3 = "/";
|
|
24972
24972
|
if (typeof fn !== "function") {
|
|
24973
24973
|
var arg = fn;
|
|
24974
24974
|
while (Array.isArray(arg) && arg.length !== 0) {
|
|
@@ -24976,7 +24976,7 @@ var require_router = __commonJS({
|
|
|
24976
24976
|
}
|
|
24977
24977
|
if (typeof arg !== "function") {
|
|
24978
24978
|
offset = 1;
|
|
24979
|
-
|
|
24979
|
+
path3 = fn;
|
|
24980
24980
|
}
|
|
24981
24981
|
}
|
|
24982
24982
|
var callbacks = flatten(slice.call(arguments, offset));
|
|
@@ -24988,8 +24988,8 @@ var require_router = __commonJS({
|
|
|
24988
24988
|
if (typeof fn !== "function") {
|
|
24989
24989
|
throw new TypeError("Router.use() requires a middleware function but got a " + gettype(fn));
|
|
24990
24990
|
}
|
|
24991
|
-
debug("use %o %s",
|
|
24992
|
-
var layer = new Layer(
|
|
24991
|
+
debug("use %o %s", path3, fn.name || "<anonymous>");
|
|
24992
|
+
var layer = new Layer(path3, {
|
|
24993
24993
|
sensitive: this.caseSensitive,
|
|
24994
24994
|
strict: false,
|
|
24995
24995
|
end: false
|
|
@@ -24999,9 +24999,9 @@ var require_router = __commonJS({
|
|
|
24999
24999
|
}
|
|
25000
25000
|
return this;
|
|
25001
25001
|
};
|
|
25002
|
-
proto.route = function route(
|
|
25003
|
-
var route2 = new Route(
|
|
25004
|
-
var layer = new Layer(
|
|
25002
|
+
proto.route = function route(path3) {
|
|
25003
|
+
var route2 = new Route(path3);
|
|
25004
|
+
var layer = new Layer(path3, {
|
|
25005
25005
|
sensitive: this.caseSensitive,
|
|
25006
25006
|
strict: this.strict,
|
|
25007
25007
|
end: true
|
|
@@ -25011,8 +25011,8 @@ var require_router = __commonJS({
|
|
|
25011
25011
|
return route2;
|
|
25012
25012
|
};
|
|
25013
25013
|
methods.concat("all").forEach(function(method) {
|
|
25014
|
-
proto[method] = function(
|
|
25015
|
-
var route = this.route(
|
|
25014
|
+
proto[method] = function(path3) {
|
|
25015
|
+
var route = this.route(path3);
|
|
25016
25016
|
route[method].apply(route, slice.call(arguments, 1));
|
|
25017
25017
|
return this;
|
|
25018
25018
|
};
|
|
@@ -25048,9 +25048,9 @@ var require_router = __commonJS({
|
|
|
25048
25048
|
}
|
|
25049
25049
|
return toString.call(obj).replace(objectRegExp, "$1");
|
|
25050
25050
|
}
|
|
25051
|
-
function matchLayer(layer,
|
|
25051
|
+
function matchLayer(layer, path3) {
|
|
25052
25052
|
try {
|
|
25053
|
-
return layer.match(
|
|
25053
|
+
return layer.match(path3);
|
|
25054
25054
|
} catch (err) {
|
|
25055
25055
|
return err;
|
|
25056
25056
|
}
|
|
@@ -25168,13 +25168,13 @@ var require_view = __commonJS({
|
|
|
25168
25168
|
"node_modules/.pnpm/express@4.22.1/node_modules/express/lib/view.js"(exports2, module2) {
|
|
25169
25169
|
"use strict";
|
|
25170
25170
|
var debug = require_src()("express:view");
|
|
25171
|
-
var
|
|
25172
|
-
var
|
|
25173
|
-
var dirname2 =
|
|
25174
|
-
var basename =
|
|
25175
|
-
var extname =
|
|
25176
|
-
var
|
|
25177
|
-
var resolve =
|
|
25171
|
+
var path3 = require("path");
|
|
25172
|
+
var fs3 = require("fs");
|
|
25173
|
+
var dirname2 = path3.dirname;
|
|
25174
|
+
var basename = path3.basename;
|
|
25175
|
+
var extname = path3.extname;
|
|
25176
|
+
var join2 = path3.join;
|
|
25177
|
+
var resolve = path3.resolve;
|
|
25178
25178
|
module2.exports = View;
|
|
25179
25179
|
function View(name, options) {
|
|
25180
25180
|
var opts = options || {};
|
|
@@ -25203,17 +25203,17 @@ var require_view = __commonJS({
|
|
|
25203
25203
|
this.path = this.lookup(fileName);
|
|
25204
25204
|
}
|
|
25205
25205
|
View.prototype.lookup = function lookup(name) {
|
|
25206
|
-
var
|
|
25206
|
+
var path4;
|
|
25207
25207
|
var roots = [].concat(this.root);
|
|
25208
25208
|
debug('lookup "%s"', name);
|
|
25209
|
-
for (var i = 0; i < roots.length && !
|
|
25209
|
+
for (var i = 0; i < roots.length && !path4; i++) {
|
|
25210
25210
|
var root = roots[i];
|
|
25211
25211
|
var loc = resolve(root, name);
|
|
25212
25212
|
var dir = dirname2(loc);
|
|
25213
25213
|
var file = basename(loc);
|
|
25214
|
-
|
|
25214
|
+
path4 = this.resolve(dir, file);
|
|
25215
25215
|
}
|
|
25216
|
-
return
|
|
25216
|
+
return path4;
|
|
25217
25217
|
};
|
|
25218
25218
|
View.prototype.render = function render(options, callback) {
|
|
25219
25219
|
debug('render "%s"', this.path);
|
|
@@ -25221,21 +25221,21 @@ var require_view = __commonJS({
|
|
|
25221
25221
|
};
|
|
25222
25222
|
View.prototype.resolve = function resolve2(dir, file) {
|
|
25223
25223
|
var ext = this.ext;
|
|
25224
|
-
var
|
|
25225
|
-
var stat = tryStat(
|
|
25224
|
+
var path4 = join2(dir, file);
|
|
25225
|
+
var stat = tryStat(path4);
|
|
25226
25226
|
if (stat && stat.isFile()) {
|
|
25227
|
-
return
|
|
25227
|
+
return path4;
|
|
25228
25228
|
}
|
|
25229
|
-
|
|
25230
|
-
stat = tryStat(
|
|
25229
|
+
path4 = join2(dir, basename(file, ext), "index" + ext);
|
|
25230
|
+
stat = tryStat(path4);
|
|
25231
25231
|
if (stat && stat.isFile()) {
|
|
25232
|
-
return
|
|
25232
|
+
return path4;
|
|
25233
25233
|
}
|
|
25234
25234
|
};
|
|
25235
|
-
function tryStat(
|
|
25236
|
-
debug('stat "%s"',
|
|
25235
|
+
function tryStat(path4) {
|
|
25236
|
+
debug('stat "%s"', path4);
|
|
25237
25237
|
try {
|
|
25238
|
-
return
|
|
25238
|
+
return fs3.statSync(path4);
|
|
25239
25239
|
} catch (e) {
|
|
25240
25240
|
return void 0;
|
|
25241
25241
|
}
|
|
@@ -25469,14 +25469,14 @@ var require_etag = __commonJS({
|
|
|
25469
25469
|
"node_modules/.pnpm/etag@1.8.1/node_modules/etag/index.js"(exports2, module2) {
|
|
25470
25470
|
"use strict";
|
|
25471
25471
|
module2.exports = etag;
|
|
25472
|
-
var
|
|
25472
|
+
var crypto3 = require("crypto");
|
|
25473
25473
|
var Stats = require("fs").Stats;
|
|
25474
25474
|
var toString = Object.prototype.toString;
|
|
25475
25475
|
function entitytag(entity) {
|
|
25476
25476
|
if (entity.length === 0) {
|
|
25477
25477
|
return '"0-2jmj7l5rSw0yVb/vlWAYkK/YBwk"';
|
|
25478
25478
|
}
|
|
25479
|
-
var hash =
|
|
25479
|
+
var hash = crypto3.createHash("sha1").update(entity, "utf8").digest("base64").substring(0, 27);
|
|
25480
25480
|
var len = typeof entity === "string" ? Buffer.byteLength(entity, "utf8") : entity.length;
|
|
25481
25481
|
return '"' + len.toString(16) + "-" + hash + '"';
|
|
25482
25482
|
}
|
|
@@ -25589,8 +25589,8 @@ var require_types2 = __commonJS({
|
|
|
25589
25589
|
// node_modules/.pnpm/mime@1.6.0/node_modules/mime/mime.js
|
|
25590
25590
|
var require_mime = __commonJS({
|
|
25591
25591
|
"node_modules/.pnpm/mime@1.6.0/node_modules/mime/mime.js"(exports2, module2) {
|
|
25592
|
-
var
|
|
25593
|
-
var
|
|
25592
|
+
var path3 = require("path");
|
|
25593
|
+
var fs3 = require("fs");
|
|
25594
25594
|
function Mime() {
|
|
25595
25595
|
this.types = /* @__PURE__ */ Object.create(null);
|
|
25596
25596
|
this.extensions = /* @__PURE__ */ Object.create(null);
|
|
@@ -25611,7 +25611,7 @@ var require_mime = __commonJS({
|
|
|
25611
25611
|
};
|
|
25612
25612
|
Mime.prototype.load = function(file) {
|
|
25613
25613
|
this._loading = file;
|
|
25614
|
-
var map = {}, content =
|
|
25614
|
+
var map = {}, content = fs3.readFileSync(file, "ascii"), lines = content.split(/[\r\n]+/);
|
|
25615
25615
|
lines.forEach(function(line) {
|
|
25616
25616
|
var fields = line.replace(/\s*#.*|^\s*|\s*$/g, "").split(/\s+/);
|
|
25617
25617
|
map[fields.shift()] = fields;
|
|
@@ -25619,8 +25619,8 @@ var require_mime = __commonJS({
|
|
|
25619
25619
|
this.define(map);
|
|
25620
25620
|
this._loading = null;
|
|
25621
25621
|
};
|
|
25622
|
-
Mime.prototype.lookup = function(
|
|
25623
|
-
var ext =
|
|
25622
|
+
Mime.prototype.lookup = function(path4, fallback) {
|
|
25623
|
+
var ext = path4.replace(/^.*[\.\/\\]/, "").toLowerCase();
|
|
25624
25624
|
return this.types[ext] || fallback || this.default_type;
|
|
25625
25625
|
};
|
|
25626
25626
|
Mime.prototype.extension = function(mimeType) {
|
|
@@ -25849,33 +25849,33 @@ var require_send = __commonJS({
|
|
|
25849
25849
|
var escapeHtml = require_escape_html();
|
|
25850
25850
|
var etag = require_etag();
|
|
25851
25851
|
var fresh = require_fresh();
|
|
25852
|
-
var
|
|
25852
|
+
var fs3 = require("fs");
|
|
25853
25853
|
var mime = require_mime();
|
|
25854
25854
|
var ms = require_ms2();
|
|
25855
25855
|
var onFinished = require_on_finished();
|
|
25856
25856
|
var parseRange = require_range_parser();
|
|
25857
|
-
var
|
|
25857
|
+
var path3 = require("path");
|
|
25858
25858
|
var statuses = require_statuses();
|
|
25859
25859
|
var Stream = require("stream");
|
|
25860
25860
|
var util2 = require("util");
|
|
25861
|
-
var extname =
|
|
25862
|
-
var
|
|
25863
|
-
var normalize =
|
|
25864
|
-
var resolve =
|
|
25865
|
-
var sep =
|
|
25861
|
+
var extname = path3.extname;
|
|
25862
|
+
var join2 = path3.join;
|
|
25863
|
+
var normalize = path3.normalize;
|
|
25864
|
+
var resolve = path3.resolve;
|
|
25865
|
+
var sep = path3.sep;
|
|
25866
25866
|
var BYTES_RANGE_REGEXP = /^ *bytes=/;
|
|
25867
25867
|
var MAX_MAXAGE = 60 * 60 * 24 * 365 * 1e3;
|
|
25868
25868
|
var UP_PATH_REGEXP = /(?:^|[\\/])\.\.(?:[\\/]|$)/;
|
|
25869
25869
|
module2.exports = send;
|
|
25870
25870
|
module2.exports.mime = mime;
|
|
25871
|
-
function send(req,
|
|
25872
|
-
return new SendStream(req,
|
|
25871
|
+
function send(req, path4, options) {
|
|
25872
|
+
return new SendStream(req, path4, options);
|
|
25873
25873
|
}
|
|
25874
|
-
function SendStream(req,
|
|
25874
|
+
function SendStream(req, path4, options) {
|
|
25875
25875
|
Stream.call(this);
|
|
25876
25876
|
var opts = options || {};
|
|
25877
25877
|
this.options = opts;
|
|
25878
|
-
this.path =
|
|
25878
|
+
this.path = path4;
|
|
25879
25879
|
this.req = req;
|
|
25880
25880
|
this._acceptRanges = opts.acceptRanges !== void 0 ? Boolean(opts.acceptRanges) : true;
|
|
25881
25881
|
this._cacheControl = opts.cacheControl !== void 0 ? Boolean(opts.cacheControl) : true;
|
|
@@ -25921,8 +25921,8 @@ var require_send = __commonJS({
|
|
|
25921
25921
|
this._index = index2;
|
|
25922
25922
|
return this;
|
|
25923
25923
|
}, "send.index: pass index as option");
|
|
25924
|
-
SendStream.prototype.root = function root(
|
|
25925
|
-
this._root = resolve(String(
|
|
25924
|
+
SendStream.prototype.root = function root(path4) {
|
|
25925
|
+
this._root = resolve(String(path4));
|
|
25926
25926
|
debug("root %s", this._root);
|
|
25927
25927
|
return this;
|
|
25928
25928
|
};
|
|
@@ -26035,10 +26035,10 @@ var require_send = __commonJS({
|
|
|
26035
26035
|
var lastModified = this.res.getHeader("Last-Modified");
|
|
26036
26036
|
return parseHttpDate(lastModified) <= parseHttpDate(ifRange);
|
|
26037
26037
|
};
|
|
26038
|
-
SendStream.prototype.redirect = function redirect(
|
|
26038
|
+
SendStream.prototype.redirect = function redirect(path4) {
|
|
26039
26039
|
var res = this.res;
|
|
26040
26040
|
if (hasListeners(this, "directory")) {
|
|
26041
|
-
this.emit("directory", res,
|
|
26041
|
+
this.emit("directory", res, path4);
|
|
26042
26042
|
return;
|
|
26043
26043
|
}
|
|
26044
26044
|
if (this.hasTrailingSlash()) {
|
|
@@ -26058,42 +26058,42 @@ var require_send = __commonJS({
|
|
|
26058
26058
|
SendStream.prototype.pipe = function pipe2(res) {
|
|
26059
26059
|
var root = this._root;
|
|
26060
26060
|
this.res = res;
|
|
26061
|
-
var
|
|
26062
|
-
if (
|
|
26061
|
+
var path4 = decode(this.path);
|
|
26062
|
+
if (path4 === -1) {
|
|
26063
26063
|
this.error(400);
|
|
26064
26064
|
return res;
|
|
26065
26065
|
}
|
|
26066
|
-
if (~
|
|
26066
|
+
if (~path4.indexOf("\0")) {
|
|
26067
26067
|
this.error(400);
|
|
26068
26068
|
return res;
|
|
26069
26069
|
}
|
|
26070
26070
|
var parts;
|
|
26071
26071
|
if (root !== null) {
|
|
26072
|
-
if (
|
|
26073
|
-
|
|
26072
|
+
if (path4) {
|
|
26073
|
+
path4 = normalize("." + sep + path4);
|
|
26074
26074
|
}
|
|
26075
|
-
if (UP_PATH_REGEXP.test(
|
|
26076
|
-
debug('malicious path "%s"',
|
|
26075
|
+
if (UP_PATH_REGEXP.test(path4)) {
|
|
26076
|
+
debug('malicious path "%s"', path4);
|
|
26077
26077
|
this.error(403);
|
|
26078
26078
|
return res;
|
|
26079
26079
|
}
|
|
26080
|
-
parts =
|
|
26081
|
-
|
|
26080
|
+
parts = path4.split(sep);
|
|
26081
|
+
path4 = normalize(join2(root, path4));
|
|
26082
26082
|
} else {
|
|
26083
|
-
if (UP_PATH_REGEXP.test(
|
|
26084
|
-
debug('malicious path "%s"',
|
|
26083
|
+
if (UP_PATH_REGEXP.test(path4)) {
|
|
26084
|
+
debug('malicious path "%s"', path4);
|
|
26085
26085
|
this.error(403);
|
|
26086
26086
|
return res;
|
|
26087
26087
|
}
|
|
26088
|
-
parts = normalize(
|
|
26089
|
-
|
|
26088
|
+
parts = normalize(path4).split(sep);
|
|
26089
|
+
path4 = resolve(path4);
|
|
26090
26090
|
}
|
|
26091
26091
|
if (containsDotFile(parts)) {
|
|
26092
26092
|
var access = this._dotfiles;
|
|
26093
26093
|
if (access === void 0) {
|
|
26094
26094
|
access = parts[parts.length - 1][0] === "." ? this._hidden ? "allow" : "ignore" : "allow";
|
|
26095
26095
|
}
|
|
26096
|
-
debug('%s dotfile "%s"', access,
|
|
26096
|
+
debug('%s dotfile "%s"', access, path4);
|
|
26097
26097
|
switch (access) {
|
|
26098
26098
|
case "allow":
|
|
26099
26099
|
break;
|
|
@@ -26107,13 +26107,13 @@ var require_send = __commonJS({
|
|
|
26107
26107
|
}
|
|
26108
26108
|
}
|
|
26109
26109
|
if (this._index.length && this.hasTrailingSlash()) {
|
|
26110
|
-
this.sendIndex(
|
|
26110
|
+
this.sendIndex(path4);
|
|
26111
26111
|
return res;
|
|
26112
26112
|
}
|
|
26113
|
-
this.sendFile(
|
|
26113
|
+
this.sendFile(path4);
|
|
26114
26114
|
return res;
|
|
26115
26115
|
};
|
|
26116
|
-
SendStream.prototype.send = function send2(
|
|
26116
|
+
SendStream.prototype.send = function send2(path4, stat) {
|
|
26117
26117
|
var len = stat.size;
|
|
26118
26118
|
var options = this.options;
|
|
26119
26119
|
var opts = {};
|
|
@@ -26125,9 +26125,9 @@ var require_send = __commonJS({
|
|
|
26125
26125
|
this.headersAlreadySent();
|
|
26126
26126
|
return;
|
|
26127
26127
|
}
|
|
26128
|
-
debug('pipe "%s"',
|
|
26129
|
-
this.setHeader(
|
|
26130
|
-
this.type(
|
|
26128
|
+
debug('pipe "%s"', path4);
|
|
26129
|
+
this.setHeader(path4, stat);
|
|
26130
|
+
this.type(path4);
|
|
26131
26131
|
if (this.isConditionalGET()) {
|
|
26132
26132
|
if (this.isPreconditionFailure()) {
|
|
26133
26133
|
this.error(412);
|
|
@@ -26176,28 +26176,28 @@ var require_send = __commonJS({
|
|
|
26176
26176
|
res.end();
|
|
26177
26177
|
return;
|
|
26178
26178
|
}
|
|
26179
|
-
this.stream(
|
|
26179
|
+
this.stream(path4, opts);
|
|
26180
26180
|
};
|
|
26181
|
-
SendStream.prototype.sendFile = function sendFile(
|
|
26181
|
+
SendStream.prototype.sendFile = function sendFile(path4) {
|
|
26182
26182
|
var i = 0;
|
|
26183
26183
|
var self = this;
|
|
26184
|
-
debug('stat "%s"',
|
|
26185
|
-
|
|
26186
|
-
if (err && err.code === "ENOENT" && !extname(
|
|
26184
|
+
debug('stat "%s"', path4);
|
|
26185
|
+
fs3.stat(path4, function onstat(err, stat) {
|
|
26186
|
+
if (err && err.code === "ENOENT" && !extname(path4) && path4[path4.length - 1] !== sep) {
|
|
26187
26187
|
return next(err);
|
|
26188
26188
|
}
|
|
26189
26189
|
if (err) return self.onStatError(err);
|
|
26190
|
-
if (stat.isDirectory()) return self.redirect(
|
|
26191
|
-
self.emit("file",
|
|
26192
|
-
self.send(
|
|
26190
|
+
if (stat.isDirectory()) return self.redirect(path4);
|
|
26191
|
+
self.emit("file", path4, stat);
|
|
26192
|
+
self.send(path4, stat);
|
|
26193
26193
|
});
|
|
26194
26194
|
function next(err) {
|
|
26195
26195
|
if (self._extensions.length <= i) {
|
|
26196
26196
|
return err ? self.onStatError(err) : self.error(404);
|
|
26197
26197
|
}
|
|
26198
|
-
var p =
|
|
26198
|
+
var p = path4 + "." + self._extensions[i++];
|
|
26199
26199
|
debug('stat "%s"', p);
|
|
26200
|
-
|
|
26200
|
+
fs3.stat(p, function(err2, stat) {
|
|
26201
26201
|
if (err2) return next(err2);
|
|
26202
26202
|
if (stat.isDirectory()) return next();
|
|
26203
26203
|
self.emit("file", p, stat);
|
|
@@ -26205,7 +26205,7 @@ var require_send = __commonJS({
|
|
|
26205
26205
|
});
|
|
26206
26206
|
}
|
|
26207
26207
|
};
|
|
26208
|
-
SendStream.prototype.sendIndex = function sendIndex(
|
|
26208
|
+
SendStream.prototype.sendIndex = function sendIndex(path4) {
|
|
26209
26209
|
var i = -1;
|
|
26210
26210
|
var self = this;
|
|
26211
26211
|
function next(err) {
|
|
@@ -26213,9 +26213,9 @@ var require_send = __commonJS({
|
|
|
26213
26213
|
if (err) return self.onStatError(err);
|
|
26214
26214
|
return self.error(404);
|
|
26215
26215
|
}
|
|
26216
|
-
var p =
|
|
26216
|
+
var p = join2(path4, self._index[i]);
|
|
26217
26217
|
debug('stat "%s"', p);
|
|
26218
|
-
|
|
26218
|
+
fs3.stat(p, function(err2, stat) {
|
|
26219
26219
|
if (err2) return next(err2);
|
|
26220
26220
|
if (stat.isDirectory()) return next();
|
|
26221
26221
|
self.emit("file", p, stat);
|
|
@@ -26224,10 +26224,10 @@ var require_send = __commonJS({
|
|
|
26224
26224
|
}
|
|
26225
26225
|
next();
|
|
26226
26226
|
};
|
|
26227
|
-
SendStream.prototype.stream = function stream(
|
|
26227
|
+
SendStream.prototype.stream = function stream(path4, options) {
|
|
26228
26228
|
var self = this;
|
|
26229
26229
|
var res = this.res;
|
|
26230
|
-
var stream2 =
|
|
26230
|
+
var stream2 = fs3.createReadStream(path4, options);
|
|
26231
26231
|
this.emit("stream", stream2);
|
|
26232
26232
|
stream2.pipe(res);
|
|
26233
26233
|
function cleanup() {
|
|
@@ -26242,10 +26242,10 @@ var require_send = __commonJS({
|
|
|
26242
26242
|
self.emit("end");
|
|
26243
26243
|
});
|
|
26244
26244
|
};
|
|
26245
|
-
SendStream.prototype.type = function type(
|
|
26245
|
+
SendStream.prototype.type = function type(path4) {
|
|
26246
26246
|
var res = this.res;
|
|
26247
26247
|
if (res.getHeader("Content-Type")) return;
|
|
26248
|
-
var type2 = mime.lookup(
|
|
26248
|
+
var type2 = mime.lookup(path4);
|
|
26249
26249
|
if (!type2) {
|
|
26250
26250
|
debug("no content-type");
|
|
26251
26251
|
return;
|
|
@@ -26254,9 +26254,9 @@ var require_send = __commonJS({
|
|
|
26254
26254
|
debug("content-type %s", type2);
|
|
26255
26255
|
res.setHeader("Content-Type", type2 + (charset ? "; charset=" + charset : ""));
|
|
26256
26256
|
};
|
|
26257
|
-
SendStream.prototype.setHeader = function setHeader(
|
|
26257
|
+
SendStream.prototype.setHeader = function setHeader(path4, stat) {
|
|
26258
26258
|
var res = this.res;
|
|
26259
|
-
this.emit("headers", res,
|
|
26259
|
+
this.emit("headers", res, path4, stat);
|
|
26260
26260
|
if (this._acceptRanges && !res.getHeader("Accept-Ranges")) {
|
|
26261
26261
|
debug("accept ranges");
|
|
26262
26262
|
res.setHeader("Accept-Ranges", "bytes");
|
|
@@ -26315,9 +26315,9 @@ var require_send = __commonJS({
|
|
|
26315
26315
|
}
|
|
26316
26316
|
return err instanceof Error ? createError(status, err, { expose: false }) : createError(status, err);
|
|
26317
26317
|
}
|
|
26318
|
-
function decode(
|
|
26318
|
+
function decode(path4) {
|
|
26319
26319
|
try {
|
|
26320
|
-
return decodeURIComponent(
|
|
26320
|
+
return decodeURIComponent(path4);
|
|
26321
26321
|
} catch (err) {
|
|
26322
26322
|
return -1;
|
|
26323
26323
|
}
|
|
@@ -27226,10 +27226,10 @@ var require_utils3 = __commonJS({
|
|
|
27226
27226
|
var querystring = require("querystring");
|
|
27227
27227
|
exports2.etag = createETagGenerator({ weak: false });
|
|
27228
27228
|
exports2.wetag = createETagGenerator({ weak: true });
|
|
27229
|
-
exports2.isAbsolute = function(
|
|
27230
|
-
if ("/" ===
|
|
27231
|
-
if (":" ===
|
|
27232
|
-
if ("\\\\" ===
|
|
27229
|
+
exports2.isAbsolute = function(path3) {
|
|
27230
|
+
if ("/" === path3[0]) return true;
|
|
27231
|
+
if (":" === path3[1] && ("\\" === path3[2] || "/" === path3[2])) return true;
|
|
27232
|
+
if ("\\\\" === path3.substring(0, 2)) return true;
|
|
27233
27233
|
};
|
|
27234
27234
|
exports2.flatten = deprecate.function(
|
|
27235
27235
|
flatten,
|
|
@@ -27440,7 +27440,7 @@ var require_application = __commonJS({
|
|
|
27440
27440
|
};
|
|
27441
27441
|
app.use = function use(fn) {
|
|
27442
27442
|
var offset = 0;
|
|
27443
|
-
var
|
|
27443
|
+
var path3 = "/";
|
|
27444
27444
|
if (typeof fn !== "function") {
|
|
27445
27445
|
var arg = fn;
|
|
27446
27446
|
while (Array.isArray(arg) && arg.length !== 0) {
|
|
@@ -27448,7 +27448,7 @@ var require_application = __commonJS({
|
|
|
27448
27448
|
}
|
|
27449
27449
|
if (typeof arg !== "function") {
|
|
27450
27450
|
offset = 1;
|
|
27451
|
-
|
|
27451
|
+
path3 = fn;
|
|
27452
27452
|
}
|
|
27453
27453
|
}
|
|
27454
27454
|
var fns = flatten(slice.call(arguments, offset));
|
|
@@ -27459,12 +27459,12 @@ var require_application = __commonJS({
|
|
|
27459
27459
|
var router = this._router;
|
|
27460
27460
|
fns.forEach(function(fn2) {
|
|
27461
27461
|
if (!fn2 || !fn2.handle || !fn2.set) {
|
|
27462
|
-
return router.use(
|
|
27462
|
+
return router.use(path3, fn2);
|
|
27463
27463
|
}
|
|
27464
|
-
debug(".use app under %s",
|
|
27465
|
-
fn2.mountpath =
|
|
27464
|
+
debug(".use app under %s", path3);
|
|
27465
|
+
fn2.mountpath = path3;
|
|
27466
27466
|
fn2.parent = this;
|
|
27467
|
-
router.use(
|
|
27467
|
+
router.use(path3, function mounted_app(req, res, next) {
|
|
27468
27468
|
var orig = req.app;
|
|
27469
27469
|
fn2.handle(req, res, function(err) {
|
|
27470
27470
|
setPrototypeOf(req, orig.request);
|
|
@@ -27476,9 +27476,9 @@ var require_application = __commonJS({
|
|
|
27476
27476
|
}, this);
|
|
27477
27477
|
return this;
|
|
27478
27478
|
};
|
|
27479
|
-
app.route = function route(
|
|
27479
|
+
app.route = function route(path3) {
|
|
27480
27480
|
this.lazyrouter();
|
|
27481
|
-
return this._router.route(
|
|
27481
|
+
return this._router.route(path3);
|
|
27482
27482
|
};
|
|
27483
27483
|
app.engine = function engine(ext, fn) {
|
|
27484
27484
|
if (typeof fn !== "function") {
|
|
@@ -27529,7 +27529,7 @@ var require_application = __commonJS({
|
|
|
27529
27529
|
}
|
|
27530
27530
|
return this;
|
|
27531
27531
|
};
|
|
27532
|
-
app.path = function
|
|
27532
|
+
app.path = function path3() {
|
|
27533
27533
|
return this.parent ? this.parent.path() + this.mountpath : "";
|
|
27534
27534
|
};
|
|
27535
27535
|
app.enabled = function enabled(setting) {
|
|
@@ -27545,19 +27545,19 @@ var require_application = __commonJS({
|
|
|
27545
27545
|
return this.set(setting, false);
|
|
27546
27546
|
};
|
|
27547
27547
|
methods.forEach(function(method) {
|
|
27548
|
-
app[method] = function(
|
|
27548
|
+
app[method] = function(path3) {
|
|
27549
27549
|
if (method === "get" && arguments.length === 1) {
|
|
27550
|
-
return this.set(
|
|
27550
|
+
return this.set(path3);
|
|
27551
27551
|
}
|
|
27552
27552
|
this.lazyrouter();
|
|
27553
|
-
var route = this._router.route(
|
|
27553
|
+
var route = this._router.route(path3);
|
|
27554
27554
|
route[method].apply(route, slice.call(arguments, 1));
|
|
27555
27555
|
return this;
|
|
27556
27556
|
};
|
|
27557
27557
|
});
|
|
27558
|
-
app.all = function all(
|
|
27558
|
+
app.all = function all(path3) {
|
|
27559
27559
|
this.lazyrouter();
|
|
27560
|
-
var route = this._router.route(
|
|
27560
|
+
var route = this._router.route(path3);
|
|
27561
27561
|
var args = slice.call(arguments, 1);
|
|
27562
27562
|
for (var i = 0; i < methods.length; i++) {
|
|
27563
27563
|
route[methods[i]].apply(route, args);
|
|
@@ -28316,7 +28316,7 @@ var require_request = __commonJS({
|
|
|
28316
28316
|
var subdomains2 = !isIP(hostname2) ? hostname2.split(".").reverse() : [hostname2];
|
|
28317
28317
|
return subdomains2.slice(offset);
|
|
28318
28318
|
});
|
|
28319
|
-
defineGetter(req, "path", function
|
|
28319
|
+
defineGetter(req, "path", function path3() {
|
|
28320
28320
|
return parse3(this).pathname;
|
|
28321
28321
|
});
|
|
28322
28322
|
defineGetter(req, "hostname", function hostname2() {
|
|
@@ -28368,11 +28368,11 @@ var require_request = __commonJS({
|
|
|
28368
28368
|
// node_modules/.pnpm/cookie-signature@1.0.7/node_modules/cookie-signature/index.js
|
|
28369
28369
|
var require_cookie_signature = __commonJS({
|
|
28370
28370
|
"node_modules/.pnpm/cookie-signature@1.0.7/node_modules/cookie-signature/index.js"(exports2) {
|
|
28371
|
-
var
|
|
28371
|
+
var crypto3 = require("crypto");
|
|
28372
28372
|
exports2.sign = function(val, secret) {
|
|
28373
28373
|
if ("string" !== typeof val) throw new TypeError("Cookie value must be provided as a string.");
|
|
28374
28374
|
if (null == secret) throw new TypeError("Secret key must be provided.");
|
|
28375
|
-
return val + "." +
|
|
28375
|
+
return val + "." + crypto3.createHmac("sha256", secret).update(val).digest("base64").replace(/\=+$/, "");
|
|
28376
28376
|
};
|
|
28377
28377
|
exports2.unsign = function(val, secret) {
|
|
28378
28378
|
if ("string" !== typeof val) throw new TypeError("Signed cookie string must be provided.");
|
|
@@ -28381,7 +28381,7 @@ var require_cookie_signature = __commonJS({
|
|
|
28381
28381
|
return sha1(mac) == sha1(val) ? str : false;
|
|
28382
28382
|
};
|
|
28383
28383
|
function sha1(str) {
|
|
28384
|
-
return
|
|
28384
|
+
return crypto3.createHash("sha1").update(str).digest("hex");
|
|
28385
28385
|
}
|
|
28386
28386
|
}
|
|
28387
28387
|
});
|
|
@@ -28638,7 +28638,7 @@ var require_response = __commonJS({
|
|
|
28638
28638
|
var http = require("http");
|
|
28639
28639
|
var isAbsolute = require_utils3().isAbsolute;
|
|
28640
28640
|
var onFinished = require_on_finished();
|
|
28641
|
-
var
|
|
28641
|
+
var path3 = require("path");
|
|
28642
28642
|
var statuses = require_statuses();
|
|
28643
28643
|
var merge2 = require_utils_merge();
|
|
28644
28644
|
var sign = require_cookie_signature().sign;
|
|
@@ -28647,9 +28647,9 @@ var require_response = __commonJS({
|
|
|
28647
28647
|
var setCharset = require_utils3().setCharset;
|
|
28648
28648
|
var cookie = require_cookie();
|
|
28649
28649
|
var send = require_send();
|
|
28650
|
-
var extname =
|
|
28650
|
+
var extname = path3.extname;
|
|
28651
28651
|
var mime = send.mime;
|
|
28652
|
-
var resolve =
|
|
28652
|
+
var resolve = path3.resolve;
|
|
28653
28653
|
var vary = require_vary();
|
|
28654
28654
|
var res = Object.create(http.ServerResponse.prototype);
|
|
28655
28655
|
module2.exports = res;
|
|
@@ -28826,26 +28826,26 @@ var require_response = __commonJS({
|
|
|
28826
28826
|
this.type("txt");
|
|
28827
28827
|
return this.send(body);
|
|
28828
28828
|
};
|
|
28829
|
-
res.sendFile = function sendFile(
|
|
28829
|
+
res.sendFile = function sendFile(path4, options, callback) {
|
|
28830
28830
|
var done = callback;
|
|
28831
28831
|
var req = this.req;
|
|
28832
28832
|
var res2 = this;
|
|
28833
28833
|
var next = req.next;
|
|
28834
28834
|
var opts = options || {};
|
|
28835
|
-
if (!
|
|
28835
|
+
if (!path4) {
|
|
28836
28836
|
throw new TypeError("path argument is required to res.sendFile");
|
|
28837
28837
|
}
|
|
28838
|
-
if (typeof
|
|
28838
|
+
if (typeof path4 !== "string") {
|
|
28839
28839
|
throw new TypeError("path must be a string to res.sendFile");
|
|
28840
28840
|
}
|
|
28841
28841
|
if (typeof options === "function") {
|
|
28842
28842
|
done = options;
|
|
28843
28843
|
opts = {};
|
|
28844
28844
|
}
|
|
28845
|
-
if (!opts.root && !isAbsolute(
|
|
28845
|
+
if (!opts.root && !isAbsolute(path4)) {
|
|
28846
28846
|
throw new TypeError("path must be absolute or specify root to res.sendFile");
|
|
28847
28847
|
}
|
|
28848
|
-
var pathname = encodeURI(
|
|
28848
|
+
var pathname = encodeURI(path4);
|
|
28849
28849
|
var file = send(req, pathname, opts);
|
|
28850
28850
|
sendfile(res2, file, opts, function(err) {
|
|
28851
28851
|
if (done) return done(err);
|
|
@@ -28855,7 +28855,7 @@ var require_response = __commonJS({
|
|
|
28855
28855
|
}
|
|
28856
28856
|
});
|
|
28857
28857
|
};
|
|
28858
|
-
res.sendfile = function(
|
|
28858
|
+
res.sendfile = function(path4, options, callback) {
|
|
28859
28859
|
var done = callback;
|
|
28860
28860
|
var req = this.req;
|
|
28861
28861
|
var res2 = this;
|
|
@@ -28865,7 +28865,7 @@ var require_response = __commonJS({
|
|
|
28865
28865
|
done = options;
|
|
28866
28866
|
opts = {};
|
|
28867
28867
|
}
|
|
28868
|
-
var file = send(req,
|
|
28868
|
+
var file = send(req, path4, opts);
|
|
28869
28869
|
sendfile(res2, file, opts, function(err) {
|
|
28870
28870
|
if (done) return done(err);
|
|
28871
28871
|
if (err && err.code === "EISDIR") return next();
|
|
@@ -28878,7 +28878,7 @@ var require_response = __commonJS({
|
|
|
28878
28878
|
res.sendfile,
|
|
28879
28879
|
"res.sendfile: Use res.sendFile instead"
|
|
28880
28880
|
);
|
|
28881
|
-
res.download = function download(
|
|
28881
|
+
res.download = function download(path4, filename, options, callback) {
|
|
28882
28882
|
var done = callback;
|
|
28883
28883
|
var name = filename;
|
|
28884
28884
|
var opts = options || null;
|
|
@@ -28895,7 +28895,7 @@ var require_response = __commonJS({
|
|
|
28895
28895
|
opts = filename;
|
|
28896
28896
|
}
|
|
28897
28897
|
var headers = {
|
|
28898
|
-
"Content-Disposition": contentDisposition(name ||
|
|
28898
|
+
"Content-Disposition": contentDisposition(name || path4)
|
|
28899
28899
|
};
|
|
28900
28900
|
if (opts && opts.headers) {
|
|
28901
28901
|
var keys = Object.keys(opts.headers);
|
|
@@ -28908,7 +28908,7 @@ var require_response = __commonJS({
|
|
|
28908
28908
|
}
|
|
28909
28909
|
opts = Object.create(opts);
|
|
28910
28910
|
opts.headers = headers;
|
|
28911
|
-
var fullPath = !opts.root ? resolve(
|
|
28911
|
+
var fullPath = !opts.root ? resolve(path4) : path4;
|
|
28912
28912
|
return this.sendFile(fullPath, opts, done);
|
|
28913
28913
|
};
|
|
28914
28914
|
res.contentType = res.type = function contentType(type) {
|
|
@@ -29209,11 +29209,11 @@ var require_serve_static = __commonJS({
|
|
|
29209
29209
|
}
|
|
29210
29210
|
var forwardError = !fallthrough;
|
|
29211
29211
|
var originalUrl = parseUrl.original(req);
|
|
29212
|
-
var
|
|
29213
|
-
if (
|
|
29214
|
-
|
|
29212
|
+
var path3 = parseUrl(req).pathname;
|
|
29213
|
+
if (path3 === "/" && originalUrl.pathname.substr(-1) !== "/") {
|
|
29214
|
+
path3 = "";
|
|
29215
29215
|
}
|
|
29216
|
-
var stream = send(req,
|
|
29216
|
+
var stream = send(req, path3, opts);
|
|
29217
29217
|
stream.on("directory", onDirectory);
|
|
29218
29218
|
if (setHeaders) {
|
|
29219
29219
|
stream.on("headers", setHeaders);
|
|
@@ -29827,8 +29827,8 @@ function getErrorMap() {
|
|
|
29827
29827
|
|
|
29828
29828
|
// node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/helpers/parseUtil.js
|
|
29829
29829
|
var makeIssue = (params) => {
|
|
29830
|
-
const { data, path:
|
|
29831
|
-
const fullPath = [...
|
|
29830
|
+
const { data, path: path3, errorMaps, issueData } = params;
|
|
29831
|
+
const fullPath = [...path3, ...issueData.path || []];
|
|
29832
29832
|
const fullIssue = {
|
|
29833
29833
|
...issueData,
|
|
29834
29834
|
path: fullPath
|
|
@@ -29944,11 +29944,11 @@ var errorUtil;
|
|
|
29944
29944
|
|
|
29945
29945
|
// node_modules/.pnpm/zod@3.25.76/node_modules/zod/v3/types.js
|
|
29946
29946
|
var ParseInputLazyPath = class {
|
|
29947
|
-
constructor(parent, value,
|
|
29947
|
+
constructor(parent, value, path3, key) {
|
|
29948
29948
|
this._cachedPath = [];
|
|
29949
29949
|
this.parent = parent;
|
|
29950
29950
|
this.data = value;
|
|
29951
|
-
this._path =
|
|
29951
|
+
this._path = path3;
|
|
29952
29952
|
this._key = key;
|
|
29953
29953
|
}
|
|
29954
29954
|
get path() {
|
|
@@ -33586,10 +33586,10 @@ function assignProp(target, prop, value) {
|
|
|
33586
33586
|
configurable: true
|
|
33587
33587
|
});
|
|
33588
33588
|
}
|
|
33589
|
-
function getElementAtPath(obj,
|
|
33590
|
-
if (!
|
|
33589
|
+
function getElementAtPath(obj, path3) {
|
|
33590
|
+
if (!path3)
|
|
33591
33591
|
return obj;
|
|
33592
|
-
return
|
|
33592
|
+
return path3.reduce((acc, key) => acc?.[key], obj);
|
|
33593
33593
|
}
|
|
33594
33594
|
function promiseAllObject(promisesObj) {
|
|
33595
33595
|
const keys = Object.keys(promisesObj);
|
|
@@ -33909,11 +33909,11 @@ function aborted(x, startIndex = 0) {
|
|
|
33909
33909
|
}
|
|
33910
33910
|
return false;
|
|
33911
33911
|
}
|
|
33912
|
-
function prefixIssues(
|
|
33912
|
+
function prefixIssues(path3, issues) {
|
|
33913
33913
|
return issues.map((iss) => {
|
|
33914
33914
|
var _a;
|
|
33915
33915
|
(_a = iss).path ?? (_a.path = []);
|
|
33916
|
-
iss.path.unshift(
|
|
33916
|
+
iss.path.unshift(path3);
|
|
33917
33917
|
return iss;
|
|
33918
33918
|
});
|
|
33919
33919
|
}
|
|
@@ -41777,6 +41777,28 @@ function discoverWorkspaceRoot() {
|
|
|
41777
41777
|
function getDefaultSocketPath() {
|
|
41778
41778
|
const workspaceRoot = process.env["VEXP_WORKSPACE"] ?? discoverWorkspaceRoot();
|
|
41779
41779
|
if (process.platform === "win32") {
|
|
41780
|
+
const pipeFile = path.join(workspaceRoot, ".vexp", "daemon.pipe");
|
|
41781
|
+
try {
|
|
41782
|
+
const pipeName = fs.readFileSync(pipeFile, "utf-8").trim();
|
|
41783
|
+
if (pipeName) return pipeName;
|
|
41784
|
+
} catch {
|
|
41785
|
+
}
|
|
41786
|
+
const home = process.env.HOME ?? process.env.USERPROFILE ?? "";
|
|
41787
|
+
if (home) {
|
|
41788
|
+
const registryPath = path.join(home, ".vexp", "daemons.json");
|
|
41789
|
+
try {
|
|
41790
|
+
const registry2 = JSON.parse(fs.readFileSync(registryPath, "utf-8"));
|
|
41791
|
+
const entries = Object.entries(registry2);
|
|
41792
|
+
if (entries.length > 0) {
|
|
41793
|
+
const normalizedCwd = workspaceRoot.toLowerCase();
|
|
41794
|
+
for (const [ws, pipe2] of entries) {
|
|
41795
|
+
if (ws.toLowerCase() === normalizedCwd) return pipe2;
|
|
41796
|
+
}
|
|
41797
|
+
return entries[0][1];
|
|
41798
|
+
}
|
|
41799
|
+
} catch {
|
|
41800
|
+
}
|
|
41801
|
+
}
|
|
41780
41802
|
const hash = fnvHash(workspaceRoot.toLowerCase());
|
|
41781
41803
|
return `\\\\.\\pipe\\vexp-${hash.slice(0, 8)}`;
|
|
41782
41804
|
}
|
|
@@ -42029,12 +42051,12 @@ function formatFlowAsText(start, end, paths) {
|
|
|
42029
42051
|
);
|
|
42030
42052
|
return lines.join("\n");
|
|
42031
42053
|
}
|
|
42032
|
-
paths.forEach((
|
|
42033
|
-
lines.push(`## Path ${idx + 1} \u2014 ${
|
|
42054
|
+
paths.forEach((path3, idx) => {
|
|
42055
|
+
lines.push(`## Path ${idx + 1} \u2014 ${path3.nodes.length} steps (cost: ${path3.total_cost.toFixed(1)})`);
|
|
42034
42056
|
lines.push("");
|
|
42035
|
-
|
|
42036
|
-
const isLast = nodeIdx ===
|
|
42037
|
-
const edge =
|
|
42057
|
+
path3.nodes.forEach((node, nodeIdx) => {
|
|
42058
|
+
const isLast = nodeIdx === path3.nodes.length - 1;
|
|
42059
|
+
const edge = path3.edges_description[nodeIdx] ?? "";
|
|
42038
42060
|
if (nodeIdx === 0) {
|
|
42039
42061
|
lines.push(`1. **START** \`${node.fqn}\``);
|
|
42040
42062
|
lines.push(` *${node.file_path}:${node.start_line}*`);
|
|
@@ -42587,38 +42609,6 @@ ${result.encoded}
|
|
|
42587
42609
|
return out;
|
|
42588
42610
|
}
|
|
42589
42611
|
|
|
42590
|
-
// packages/vexp-mcp/src/license.ts
|
|
42591
|
-
var crypto3 = __toESM(require("crypto"), 1);
|
|
42592
|
-
var fs2 = __toESM(require("fs"), 1);
|
|
42593
|
-
var path2 = __toESM(require("path"), 1);
|
|
42594
|
-
var os = __toESM(require("os"), 1);
|
|
42595
|
-
var VEXP_LICENSE_PUBLIC_KEY = "MCowBQYDK2VwAyEApwiWYGCyhCaGHAHWn/RTBSGo/1MNmGyZUgSNBQ5YE4g=";
|
|
42596
|
-
function isAllToolsEnabled() {
|
|
42597
|
-
try {
|
|
42598
|
-
const jwt = fs2.readFileSync(path2.join(os.homedir(), ".vexp", "license.jwt"), "utf-8").trim();
|
|
42599
|
-
if (!jwt) return false;
|
|
42600
|
-
const parts = jwt.split(".");
|
|
42601
|
-
if (parts.length !== 3) return false;
|
|
42602
|
-
const [headerB64, payloadB64, signatureB64] = parts;
|
|
42603
|
-
const signingInput = `${headerB64}.${payloadB64}`;
|
|
42604
|
-
const signature = Buffer.from(signatureB64, "base64url");
|
|
42605
|
-
const publicKey = crypto3.createPublicKey({
|
|
42606
|
-
key: Buffer.from(VEXP_LICENSE_PUBLIC_KEY, "base64"),
|
|
42607
|
-
format: "der",
|
|
42608
|
-
type: "spki"
|
|
42609
|
-
});
|
|
42610
|
-
const valid = crypto3.verify(null, Buffer.from(signingInput), publicKey, signature);
|
|
42611
|
-
if (!valid) return false;
|
|
42612
|
-
const claims = JSON.parse(
|
|
42613
|
-
Buffer.from(payloadB64, "base64url").toString()
|
|
42614
|
-
);
|
|
42615
|
-
if (claims.exp * 1e3 < Date.now()) return false;
|
|
42616
|
-
return claims.plan === "pro" || claims.plan === "team";
|
|
42617
|
-
} catch {
|
|
42618
|
-
return false;
|
|
42619
|
-
}
|
|
42620
|
-
}
|
|
42621
|
-
|
|
42622
42612
|
// packages/vexp-mcp/src/index.ts
|
|
42623
42613
|
var ALL_TOOL_DEFINITIONS = [
|
|
42624
42614
|
RUN_PIPELINE_DEFINITION,
|
|
@@ -42633,17 +42623,6 @@ var ALL_TOOL_DEFINITIONS = [
|
|
|
42633
42623
|
SAVE_OBSERVATION_DEFINITION,
|
|
42634
42624
|
EXPAND_VEXP_REF_DEFINITION
|
|
42635
42625
|
];
|
|
42636
|
-
var FREE_TOOL_NAMES = /* @__PURE__ */ new Set([
|
|
42637
|
-
"run_pipeline",
|
|
42638
|
-
"get_context_capsule",
|
|
42639
|
-
"get_skeleton",
|
|
42640
|
-
"index_status",
|
|
42641
|
-
"get_session_context",
|
|
42642
|
-
"search_memory",
|
|
42643
|
-
"save_observation",
|
|
42644
|
-
"expand_vexp_ref"
|
|
42645
|
-
]);
|
|
42646
|
-
var allToolsEnabled = isAllToolsEnabled();
|
|
42647
42626
|
function fnvHash2(input) {
|
|
42648
42627
|
let hash = BigInt("0xcbf29ce484222325");
|
|
42649
42628
|
const prime = BigInt("0x100000001b3");
|
|
@@ -42677,6 +42656,14 @@ function getSocketPath() {
|
|
|
42677
42656
|
if (process.env.VEXP_SOCKET) return process.env.VEXP_SOCKET;
|
|
42678
42657
|
const workspaceRoot = process.env.VEXP_WORKSPACE ?? discoverWorkspaceRoot2();
|
|
42679
42658
|
if (process.platform === "win32") {
|
|
42659
|
+
const pipeFile = import_path.default.join(workspaceRoot, ".vexp", "daemon.pipe");
|
|
42660
|
+
try {
|
|
42661
|
+
const pipeName = import_fs.default.readFileSync(pipeFile, "utf-8").trim();
|
|
42662
|
+
if (pipeName) return pipeName;
|
|
42663
|
+
} catch {
|
|
42664
|
+
}
|
|
42665
|
+
const fromRegistry = readDaemonRegistry(workspaceRoot);
|
|
42666
|
+
if (fromRegistry) return fromRegistry;
|
|
42680
42667
|
const normalized = workspaceRoot.toLowerCase();
|
|
42681
42668
|
const hash = fnvHash2(normalized);
|
|
42682
42669
|
return `\\\\.\\pipe\\vexp-${hash.slice(0, 8)}`;
|
|
@@ -42686,26 +42673,34 @@ function getSocketPath() {
|
|
|
42686
42673
|
const home = process.env.HOME ?? "/tmp";
|
|
42687
42674
|
return `${home}/.vexp/daemon.sock`;
|
|
42688
42675
|
}
|
|
42676
|
+
function readDaemonRegistry(workspaceRoot) {
|
|
42677
|
+
const home = process.env.HOME ?? process.env.USERPROFILE ?? "";
|
|
42678
|
+
if (!home) return null;
|
|
42679
|
+
const registryPath = import_path.default.join(home, ".vexp", "daemons.json");
|
|
42680
|
+
try {
|
|
42681
|
+
const registry2 = JSON.parse(import_fs.default.readFileSync(registryPath, "utf-8"));
|
|
42682
|
+
const entries = Object.entries(registry2);
|
|
42683
|
+
if (entries.length === 0) return null;
|
|
42684
|
+
const normalizedCwd = workspaceRoot.toLowerCase();
|
|
42685
|
+
for (const [ws, pipe2] of entries) {
|
|
42686
|
+
if (ws.toLowerCase() === normalizedCwd) return pipe2;
|
|
42687
|
+
}
|
|
42688
|
+
if (entries.length === 1) return entries[0][1];
|
|
42689
|
+
return entries[0][1];
|
|
42690
|
+
} catch {
|
|
42691
|
+
return null;
|
|
42692
|
+
}
|
|
42693
|
+
}
|
|
42689
42694
|
function createMcpServer(daemon) {
|
|
42690
42695
|
const server = new Server(
|
|
42691
42696
|
{ name: "vexp-mcp", version: "1.0.0" },
|
|
42692
42697
|
{ capabilities: { tools: {} } }
|
|
42693
42698
|
);
|
|
42694
|
-
const visibleTools = allToolsEnabled ? ALL_TOOL_DEFINITIONS : ALL_TOOL_DEFINITIONS.filter((t) => FREE_TOOL_NAMES.has(t.name));
|
|
42695
42699
|
server.setRequestHandler(ListToolsRequestSchema, () => ({
|
|
42696
|
-
tools:
|
|
42700
|
+
tools: ALL_TOOL_DEFINITIONS
|
|
42697
42701
|
}));
|
|
42698
42702
|
server.setRequestHandler(CallToolRequestSchema, async (req) => {
|
|
42699
42703
|
const { name, arguments: args } = req.params;
|
|
42700
|
-
if (!allToolsEnabled && !FREE_TOOL_NAMES.has(name)) {
|
|
42701
|
-
return {
|
|
42702
|
-
isError: true,
|
|
42703
|
-
content: [{
|
|
42704
|
-
type: "text",
|
|
42705
|
-
text: `${name} requires a Pro plan. Upgrade at https://vexp.dev/#pricing to unlock all MCP tools.`
|
|
42706
|
-
}]
|
|
42707
|
-
};
|
|
42708
|
-
}
|
|
42709
42704
|
try {
|
|
42710
42705
|
let text;
|
|
42711
42706
|
switch (name) {
|