jxp 4.2.0 → 5.0.0
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/.env.sample +16 -0
- package/README.md +2 -0
- package/dist/bin/mcp-stdio-bridge.d.ts +3 -0
- package/dist/bin/mcp-stdio-bridge.d.ts.map +1 -0
- package/dist/bin/mcp-stdio-bridge.js +87 -0
- package/dist/bin/mcp-stdio-bridge.js.map +1 -0
- package/dist/bin/server.d.ts.map +1 -1
- package/dist/bin/server.js +2 -1
- package/dist/bin/server.js.map +1 -1
- package/dist/libs/docs-auth.d.ts.map +1 -1
- package/dist/libs/docs-auth.js +4 -2
- package/dist/libs/docs-auth.js.map +1 -1
- package/dist/libs/docs.js +73 -42
- package/dist/libs/docs.js.map +1 -1
- package/dist/libs/jxp.d.ts.map +1 -1
- package/dist/libs/jxp.js +16 -319
- package/dist/libs/jxp.js.map +1 -1
- package/dist/libs/mcp/auth.d.ts +4 -0
- package/dist/libs/mcp/auth.d.ts.map +1 -0
- package/dist/libs/mcp/auth.js +49 -0
- package/dist/libs/mcp/auth.js.map +1 -0
- package/dist/libs/mcp/config.d.ts +21 -0
- package/dist/libs/mcp/config.d.ts.map +1 -0
- package/dist/libs/mcp/config.js +66 -0
- package/dist/libs/mcp/config.js.map +1 -0
- package/dist/libs/mcp/context.d.ts +5 -0
- package/dist/libs/mcp/context.d.ts.map +1 -0
- package/dist/libs/mcp/context.js +14 -0
- package/dist/libs/mcp/context.js.map +1 -0
- package/dist/libs/mcp/describe.d.ts +13 -0
- package/dist/libs/mcp/describe.d.ts.map +1 -0
- package/dist/libs/mcp/describe.js +36 -0
- package/dist/libs/mcp/describe.js.map +1 -0
- package/dist/libs/mcp/docs_auth.d.ts +5 -0
- package/dist/libs/mcp/docs_auth.d.ts.map +1 -0
- package/dist/libs/mcp/docs_auth.js +36 -0
- package/dist/libs/mcp/docs_auth.js.map +1 -0
- package/dist/libs/mcp/dynamic_import.d.ts +6 -0
- package/dist/libs/mcp/dynamic_import.d.ts.map +1 -0
- package/dist/libs/mcp/dynamic_import.js +12 -0
- package/dist/libs/mcp/dynamic_import.js.map +1 -0
- package/dist/libs/mcp/execute_tool.d.ts +10 -0
- package/dist/libs/mcp/execute_tool.d.ts.map +1 -0
- package/dist/libs/mcp/execute_tool.js +65 -0
- package/dist/libs/mcp/execute_tool.js.map +1 -0
- package/dist/libs/mcp/guides/default.md +67 -0
- package/dist/libs/mcp/guides.d.ts +14 -0
- package/dist/libs/mcp/guides.d.ts.map +1 -0
- package/dist/libs/mcp/guides.js +127 -0
- package/dist/libs/mcp/guides.js.map +1 -0
- package/dist/libs/mcp/model_visibility.d.ts +31 -0
- package/dist/libs/mcp/model_visibility.d.ts.map +1 -0
- package/dist/libs/mcp/model_visibility.js +73 -0
- package/dist/libs/mcp/model_visibility.js.map +1 -0
- package/dist/libs/mcp/mount.d.ts +10 -0
- package/dist/libs/mcp/mount.d.ts.map +1 -0
- package/dist/libs/mcp/mount.js +68 -0
- package/dist/libs/mcp/mount.js.map +1 -0
- package/dist/libs/mcp/read_service.d.ts +23 -0
- package/dist/libs/mcp/read_service.d.ts.map +1 -0
- package/dist/libs/mcp/read_service.js +141 -0
- package/dist/libs/mcp/read_service.js.map +1 -0
- package/dist/libs/mcp/server.d.ts +23 -0
- package/dist/libs/mcp/server.d.ts.map +1 -0
- package/dist/libs/mcp/server.js +111 -0
- package/dist/libs/mcp/server.js.map +1 -0
- package/dist/libs/read_handlers.d.ts +13 -0
- package/dist/libs/read_handlers.d.ts.map +1 -0
- package/dist/libs/read_handlers.js +381 -0
- package/dist/libs/read_handlers.js.map +1 -0
- package/dist/libs/schema_serialize.d.ts +3 -0
- package/dist/libs/schema_serialize.d.ts.map +1 -0
- package/dist/libs/schema_serialize.js +45 -0
- package/dist/libs/schema_serialize.js.map +1 -0
- package/dist/types/jxp-config.d.ts +7 -0
- package/dist/types/jxp-config.d.ts.map +1 -1
- package/docs/changelog.md +35 -0
- package/docs/index.md +1 -0
- package/docs/mcp.md +134 -0
- package/mkdocs.yml +1 -0
- package/package.json +11 -5
- package/templates/assets/docs.css +107 -0
- package/templates/assets/mcp-console.js +343 -0
- package/templates/index.pug +37 -0
- package/templates/mcp.pug +112 -0
- package/templates/navbar.pug +2 -0
- package/templates/sidebar.pug +4 -0
package/dist/libs/jxp.js
CHANGED
|
@@ -17,7 +17,6 @@ const ws = require("./ws");
|
|
|
17
17
|
const modeldir = require("./modeldir");
|
|
18
18
|
const query_manipulation = require("./query_manipulation");
|
|
19
19
|
const corsMiddleware = require('restify-cors-middleware2');
|
|
20
|
-
const { Parser: CsvParser } = require('@json2csv/plainjs');
|
|
21
20
|
const cache = require("./cache");
|
|
22
21
|
const query_limits = require("./query_limits");
|
|
23
22
|
const query_sanitize = require("./query_sanitize");
|
|
@@ -30,6 +29,7 @@ const { safeErrorMessage } = require("./safe_error");
|
|
|
30
29
|
const { logRequestError, logAndThrow } = require("./request_log");
|
|
31
30
|
const index_diagnostics = require("./index_diagnostics");
|
|
32
31
|
const builtin_models = require("./builtin_models");
|
|
32
|
+
const read_handlers = require("./read_handlers");
|
|
33
33
|
const schemaModule = require("./schema");
|
|
34
34
|
global.JXPSchema = schemaModule.default || schemaModule;
|
|
35
35
|
var models = {};
|
|
@@ -129,20 +129,11 @@ const outputJSON = async (req, res) => {
|
|
|
129
129
|
};
|
|
130
130
|
// Outputs whatever is in res.result as CSV
|
|
131
131
|
const outputCSV = (req, res, next) => {
|
|
132
|
-
const opts = { "flatten": true };
|
|
133
132
|
if (!res.result.data) {
|
|
134
133
|
throw new errors.InternalServerError("Error generating CSV");
|
|
135
134
|
}
|
|
136
135
|
try {
|
|
137
|
-
const
|
|
138
|
-
if (!data.length) {
|
|
139
|
-
throw ("");
|
|
140
|
-
}
|
|
141
|
-
res.writeHead(200, {
|
|
142
|
-
'Content-Type': 'text/csv',
|
|
143
|
-
'Content-Disposition': 'attachment; filename=export.csv'
|
|
144
|
-
});
|
|
145
|
-
const csv = new CsvParser(opts).parse(data);
|
|
136
|
+
const csv = read_handlers.resultToCsv(res.result);
|
|
146
137
|
const limits = query_limits.getLimits(req);
|
|
147
138
|
if (limits.max_response_bytes > 0) {
|
|
148
139
|
const size = Buffer.byteLength(csv, "utf8");
|
|
@@ -153,6 +144,10 @@ const outputCSV = (req, res, next) => {
|
|
|
153
144
|
throw err;
|
|
154
145
|
}
|
|
155
146
|
}
|
|
147
|
+
res.writeHead(200, {
|
|
148
|
+
"Content-Type": "text/csv",
|
|
149
|
+
"Content-Disposition": "attachment; filename=export.csv",
|
|
150
|
+
});
|
|
156
151
|
res.end(csv);
|
|
157
152
|
next();
|
|
158
153
|
}
|
|
@@ -167,142 +162,32 @@ const outputCSV = (req, res, next) => {
|
|
|
167
162
|
const actionGet = async (req, res) => {
|
|
168
163
|
const opname = `get ${req.modelname} ${ops++}`;
|
|
169
164
|
console.time(opname);
|
|
170
|
-
let filters = {};
|
|
171
|
-
try {
|
|
172
|
-
filters = parseFilter(req.query.filter);
|
|
173
|
-
filters = query_sanitize.sanitizeFilter(filters, getSecurityOpts(req));
|
|
174
|
-
}
|
|
175
|
-
catch (err) {
|
|
176
|
-
logRequestError(req, res, err, "filter");
|
|
177
|
-
if (err instanceof errors.BadRequestError) {
|
|
178
|
-
throw err;
|
|
179
|
-
}
|
|
180
|
-
if (err instanceof errors.ForbiddenError) {
|
|
181
|
-
throw err;
|
|
182
|
-
}
|
|
183
|
-
throw new errors.InternalServerError(safeErrorMessage(err));
|
|
184
|
-
}
|
|
185
|
-
const search = query_sanitize.parseSearchObject(req.query.search);
|
|
186
|
-
for (const i in search) {
|
|
187
|
-
filters[i] = search[i];
|
|
188
|
-
}
|
|
189
|
-
let countquery = filters;
|
|
190
|
-
let qcount = req.Model.find(filters);
|
|
191
|
-
let q = req.Model.find(filters);
|
|
192
|
-
let checkDeleted = [{ _deleted: false }, { _deleted: null }];
|
|
193
|
-
if (!req.query.showDeleted) {
|
|
194
|
-
countquery = Object.assign({ $or: checkDeleted }, countquery);
|
|
195
|
-
qcount.or(checkDeleted);
|
|
196
|
-
q.or(checkDeleted);
|
|
197
|
-
}
|
|
198
|
-
if (req.query.search) {
|
|
199
|
-
// console.log({ search: req.query.search });
|
|
200
|
-
q = req.Model.find({ $text: { $search: req.query.search } }, { score: { $meta: "textScore" } }).sort({ score: { $meta: "textScore" } });
|
|
201
|
-
countquery = Object.assign({ $text: { $search: req.query.search } }, countquery);
|
|
202
|
-
qcount = req.Model.find({ $text: { $search: req.query.search } });
|
|
203
|
-
}
|
|
204
|
-
if (res.user) {
|
|
205
|
-
q.options = ({ user: res.user });
|
|
206
|
-
}
|
|
207
165
|
try {
|
|
208
|
-
const estimatedCount = await req.Model.estimatedDocumentCount();
|
|
209
|
-
const result = {};
|
|
210
|
-
const { limit: effectiveLimit, limitCapped, filterExemption } = query_limits.enforceListLimit(req, estimatedCount, res, { result, bodyQuery: filters });
|
|
211
|
-
let count = -1;
|
|
212
|
-
if (query_limits.shouldRunCount(req, { filterExemption, limitCapped })) {
|
|
213
|
-
if (estimatedCount < 100000 && Object.keys(countquery).length !== 0) {
|
|
214
|
-
count = await qcount.countDocuments();
|
|
215
|
-
}
|
|
216
|
-
else {
|
|
217
|
-
count = estimatedCount;
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
if (count >= 0) {
|
|
221
|
-
result.count = count;
|
|
222
|
-
}
|
|
223
|
-
query_limits.applyListPagination(q, result, req, effectiveLimit, count >= 0 ? count : 0, changeUrlParams);
|
|
224
|
-
if (req.query.sort) {
|
|
225
|
-
q.sort(req.query.sort);
|
|
226
|
-
result.sort = req.query.sort;
|
|
227
|
-
}
|
|
228
|
-
if (req.query.populate) {
|
|
229
|
-
if ((typeof req.query.populate === "object") && !Array.isArray(req.query.populate)) {
|
|
230
|
-
for (let i in req.query.populate) {
|
|
231
|
-
q.populate(i, req.query.populate[i].replace(/,/g, " "));
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
else {
|
|
235
|
-
q.populate(req.query.populate);
|
|
236
|
-
}
|
|
237
|
-
result.populate = req.query.populate;
|
|
238
|
-
}
|
|
239
166
|
if (req.query.autopopulate) {
|
|
240
167
|
res.header("jxp-autopopulate-warning", "expensive");
|
|
241
|
-
for (let key in req.Model.schema.paths) {
|
|
242
|
-
const dirpath = req.Model.schema.paths[key];
|
|
243
|
-
if (dirpath.instance == "ObjectID" && dirpath.options.link) {
|
|
244
|
-
q.populate(String(dirpath.options.map_to || dirpath.options.virtual || dirpath.options.link.toLowerCase()));
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
result.autopopulate = true;
|
|
248
168
|
}
|
|
249
|
-
|
|
250
|
-
const fields = req.query.fields.split(",");
|
|
251
|
-
const select = {};
|
|
252
|
-
fields.forEach(field => {
|
|
253
|
-
select[field] = 1;
|
|
254
|
-
});
|
|
255
|
-
q.select(select);
|
|
256
|
-
}
|
|
257
|
-
if (req.query.search) {
|
|
258
|
-
result.search = req.query.search;
|
|
259
|
-
}
|
|
260
|
-
result.data = await q.exec();
|
|
261
|
-
response_sanitize.sanitizeListResult(result, getStripFields(req));
|
|
262
|
-
query_limits.finalizeListPagination(result, req, Array.isArray(result.data) ? result.data.length : 0, effectiveLimit, count, changeUrlParams);
|
|
263
|
-
query_limits.enforceResponseSize(result, req, res);
|
|
264
|
-
res.result = result;
|
|
169
|
+
await read_handlers.executeList(req, res);
|
|
265
170
|
if (debug)
|
|
266
171
|
console.timeEnd(opname);
|
|
267
172
|
}
|
|
268
173
|
catch (err) {
|
|
269
174
|
if (debug)
|
|
270
175
|
console.timeEnd(opname);
|
|
271
|
-
|
|
272
|
-
!(err instanceof errors.ForbiddenError) &&
|
|
273
|
-
!(err instanceof errors.PayloadTooLargeError)) {
|
|
274
|
-
logRequestError(req, res, err, "get");
|
|
275
|
-
}
|
|
276
|
-
if (err instanceof errors.BadRequestError) {
|
|
277
|
-
throw err;
|
|
278
|
-
}
|
|
279
|
-
if (err instanceof errors.ForbiddenError) {
|
|
280
|
-
throw err;
|
|
281
|
-
}
|
|
282
|
-
if (err instanceof errors.PayloadTooLargeError) {
|
|
283
|
-
throw err;
|
|
284
|
-
}
|
|
285
|
-
if (err.code)
|
|
286
|
-
throw err;
|
|
287
|
-
throw new errors.InternalServerError(safeErrorMessage(err));
|
|
176
|
+
throw err;
|
|
288
177
|
}
|
|
289
178
|
};
|
|
290
179
|
const actionGetOne = async (req, res) => {
|
|
291
180
|
const opname = `getOne ${req.modelname}/${req.params.item_id} ${ops++}`;
|
|
292
181
|
console.time(opname);
|
|
293
182
|
try {
|
|
294
|
-
|
|
295
|
-
res.result = { data };
|
|
183
|
+
await read_handlers.executeGetOne(req, res);
|
|
296
184
|
if (debug)
|
|
297
185
|
console.timeEnd(opname);
|
|
298
186
|
}
|
|
299
187
|
catch (err) {
|
|
300
|
-
logRequestError(req, res, err, "getOne");
|
|
301
188
|
if (debug)
|
|
302
189
|
console.timeEnd(opname);
|
|
303
|
-
|
|
304
|
-
throw err;
|
|
305
|
-
throw new errors.InternalServerError(safeErrorMessage(err));
|
|
190
|
+
throw err;
|
|
306
191
|
}
|
|
307
192
|
};
|
|
308
193
|
const actionPost = async (req, res) => {
|
|
@@ -487,38 +372,15 @@ const actionDelete = async (req, res) => {
|
|
|
487
372
|
const actionCount = async (req, res) => {
|
|
488
373
|
const opname = `count ${req.modelname} ${ops++}`;
|
|
489
374
|
console.time(opname);
|
|
490
|
-
let filters = {};
|
|
491
375
|
try {
|
|
492
|
-
|
|
493
|
-
filters = query_sanitize.sanitizeFilter(filters, getSecurityOpts(req));
|
|
494
|
-
}
|
|
495
|
-
catch (err) {
|
|
496
|
-
logRequestError(req, res, err, "filter");
|
|
497
|
-
if (err instanceof errors.BadRequestError || err instanceof errors.ForbiddenError) {
|
|
498
|
-
throw err;
|
|
499
|
-
}
|
|
500
|
-
throw new errors.InternalServerError(safeErrorMessage(err));
|
|
501
|
-
}
|
|
502
|
-
const search = query_sanitize.parseSearchObject(req.query.search);
|
|
503
|
-
for (const i in search) {
|
|
504
|
-
filters[i] = search[i];
|
|
505
|
-
}
|
|
506
|
-
if (!req.query.showDeleted) {
|
|
507
|
-
filters = Object.assign({ $or: [{ _deleted: false }, { _deleted: null }] }, filters);
|
|
508
|
-
}
|
|
509
|
-
try {
|
|
510
|
-
const count = await req.Model.countDocuments(filters).exec();
|
|
511
|
-
res.result = { count };
|
|
376
|
+
await read_handlers.executeCount(req, res);
|
|
512
377
|
if (debug)
|
|
513
378
|
console.timeEnd(opname);
|
|
514
379
|
}
|
|
515
380
|
catch (err) {
|
|
516
|
-
logRequestError(req, res, err, "count");
|
|
517
381
|
if (debug)
|
|
518
382
|
console.timeEnd(opname);
|
|
519
|
-
|
|
520
|
-
throw err;
|
|
521
|
-
throw new errors.InternalServerError(safeErrorMessage(err));
|
|
383
|
+
throw err;
|
|
522
384
|
}
|
|
523
385
|
};
|
|
524
386
|
const actionCall = async (req, res) => {
|
|
@@ -771,175 +633,6 @@ const actionBulkWrite = async (req, res) => {
|
|
|
771
633
|
// });
|
|
772
634
|
// };
|
|
773
635
|
// Utitlities
|
|
774
|
-
const getOne = async (Model, item_id, params, options) => {
|
|
775
|
-
const query = Model.findById(item_id, {}, options);
|
|
776
|
-
if (params.populate) {
|
|
777
|
-
if ((typeof params.populate === "object") && !Array.isArray(params.populate)) {
|
|
778
|
-
for (let i in params.populate) {
|
|
779
|
-
query.populate(i, params.populate[i].replace(/,/g, " "));
|
|
780
|
-
}
|
|
781
|
-
}
|
|
782
|
-
else {
|
|
783
|
-
query.populate(params.populate);
|
|
784
|
-
}
|
|
785
|
-
}
|
|
786
|
-
if (params.autopopulate) {
|
|
787
|
-
for (let key in Model.schema.paths) {
|
|
788
|
-
var dirpath = Model.schema.paths[key];
|
|
789
|
-
if (dirpath.instance == "ObjectID" && dirpath.options.link) {
|
|
790
|
-
query.populate(String(dirpath.options.map_to || dirpath.options.virtual || dirpath.options.link.toLowerCase()));
|
|
791
|
-
}
|
|
792
|
-
}
|
|
793
|
-
}
|
|
794
|
-
try {
|
|
795
|
-
var item = await query.exec();
|
|
796
|
-
if (!item) {
|
|
797
|
-
// console.error("Could not find document");
|
|
798
|
-
throw new errors.NotFoundError(`Could not find document ${item_id} on ${Model.modelName}`);
|
|
799
|
-
}
|
|
800
|
-
if (item._deleted && !params.showDeleted) {
|
|
801
|
-
// console.error("Document is deleted");
|
|
802
|
-
throw new errors.NotFoundError(`Document ${item_id} is deleted on ${Model.modelName}`);
|
|
803
|
-
}
|
|
804
|
-
return response_sanitize.sanitizeDocument(item);
|
|
805
|
-
}
|
|
806
|
-
catch (err) {
|
|
807
|
-
if (err.code)
|
|
808
|
-
throw err;
|
|
809
|
-
throw new errors.InternalServerError(safeErrorMessage(err));
|
|
810
|
-
}
|
|
811
|
-
};
|
|
812
|
-
// Helper function to check if a string is an ISO date string
|
|
813
|
-
function isISODateString(str) {
|
|
814
|
-
if (typeof str !== 'string')
|
|
815
|
-
return false;
|
|
816
|
-
const isoDateRegex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,3})?Z$/;
|
|
817
|
-
if (!isoDateRegex.test(str))
|
|
818
|
-
return false;
|
|
819
|
-
const date = new Date(str);
|
|
820
|
-
if (isNaN(date.getTime())) {
|
|
821
|
-
throw new errors.BadRequestError("Invalid date format");
|
|
822
|
-
}
|
|
823
|
-
return true;
|
|
824
|
-
}
|
|
825
|
-
const parseFilter = (filter, depth = 0) => {
|
|
826
|
-
const MAX_DEPTH = 10;
|
|
827
|
-
if (!filter)
|
|
828
|
-
return {};
|
|
829
|
-
if (depth > MAX_DEPTH) {
|
|
830
|
-
throw new errors.BadRequestError("Maximum filter depth exceeded");
|
|
831
|
-
}
|
|
832
|
-
if (typeof filter !== "object" || filter === null)
|
|
833
|
-
return filter;
|
|
834
|
-
// Handle arrays by merging their operators
|
|
835
|
-
if (Array.isArray(filter)) {
|
|
836
|
-
const result = {};
|
|
837
|
-
filter.forEach(item => {
|
|
838
|
-
if (typeof item === "string" && item.includes(":")) {
|
|
839
|
-
const parts = item.split(":");
|
|
840
|
-
const key = parts[0];
|
|
841
|
-
const value = parts.slice(1).join(":");
|
|
842
|
-
if (key.startsWith("$")) {
|
|
843
|
-
try {
|
|
844
|
-
if (isISODateString(value)) {
|
|
845
|
-
result[key] = new Date(value);
|
|
846
|
-
}
|
|
847
|
-
else {
|
|
848
|
-
result[key] = value;
|
|
849
|
-
}
|
|
850
|
-
}
|
|
851
|
-
catch (err) {
|
|
852
|
-
if (err instanceof errors.BadRequestError) {
|
|
853
|
-
throw err;
|
|
854
|
-
}
|
|
855
|
-
throw new errors.BadRequestError("Invalid date format");
|
|
856
|
-
}
|
|
857
|
-
}
|
|
858
|
-
}
|
|
859
|
-
});
|
|
860
|
-
return result;
|
|
861
|
-
}
|
|
862
|
-
// Create a new object to avoid modifying the input
|
|
863
|
-
const parsedFilter = {};
|
|
864
|
-
for (let i in filter) {
|
|
865
|
-
if (filter[i] === "false") {
|
|
866
|
-
parsedFilter[i] = false;
|
|
867
|
-
continue;
|
|
868
|
-
}
|
|
869
|
-
if (filter[i] === "true") {
|
|
870
|
-
parsedFilter[i] = true;
|
|
871
|
-
continue;
|
|
872
|
-
}
|
|
873
|
-
if (typeof filter[i] === "string") {
|
|
874
|
-
try {
|
|
875
|
-
if (isISODateString(filter[i])) {
|
|
876
|
-
parsedFilter[i] = new Date(filter[i]);
|
|
877
|
-
continue;
|
|
878
|
-
}
|
|
879
|
-
}
|
|
880
|
-
catch (err) {
|
|
881
|
-
if (err instanceof errors.BadRequestError) {
|
|
882
|
-
throw err;
|
|
883
|
-
}
|
|
884
|
-
throw new errors.BadRequestError("Invalid date format");
|
|
885
|
-
}
|
|
886
|
-
if (filter[i].includes(":")) {
|
|
887
|
-
const parts = filter[i].split(":");
|
|
888
|
-
const key = parts[0];
|
|
889
|
-
const value = parts.slice(1).join(":");
|
|
890
|
-
if (key.startsWith("$")) {
|
|
891
|
-
try {
|
|
892
|
-
if (isISODateString(value)) {
|
|
893
|
-
if (!parsedFilter[i])
|
|
894
|
-
parsedFilter[i] = {};
|
|
895
|
-
parsedFilter[i][key] = new Date(value);
|
|
896
|
-
}
|
|
897
|
-
else if (value.startsWith("[") && value.endsWith("]")) {
|
|
898
|
-
if (!parsedFilter[i])
|
|
899
|
-
parsedFilter[i] = {};
|
|
900
|
-
parsedFilter[i][key] = value.slice(1, -1).split(",");
|
|
901
|
-
}
|
|
902
|
-
else if (key === "$regex" && value.startsWith("/")) {
|
|
903
|
-
if (!parsedFilter[i])
|
|
904
|
-
parsedFilter[i] = {};
|
|
905
|
-
const match = value.match(/^\/(.+?)\/([gimy]*)$/);
|
|
906
|
-
if (match) {
|
|
907
|
-
parsedFilter[i][key] = new RegExp(match[1], match[2]);
|
|
908
|
-
}
|
|
909
|
-
}
|
|
910
|
-
else {
|
|
911
|
-
if (!parsedFilter[i])
|
|
912
|
-
parsedFilter[i] = {};
|
|
913
|
-
parsedFilter[i][key] = value;
|
|
914
|
-
}
|
|
915
|
-
}
|
|
916
|
-
catch (err) {
|
|
917
|
-
if (err instanceof errors.BadRequestError) {
|
|
918
|
-
throw err;
|
|
919
|
-
}
|
|
920
|
-
throw new errors.BadRequestError("Invalid date format");
|
|
921
|
-
}
|
|
922
|
-
}
|
|
923
|
-
else {
|
|
924
|
-
parsedFilter[i] = filter[i];
|
|
925
|
-
}
|
|
926
|
-
}
|
|
927
|
-
else {
|
|
928
|
-
parsedFilter[i] = filter[i];
|
|
929
|
-
}
|
|
930
|
-
}
|
|
931
|
-
else if (Array.isArray(filter[i])) {
|
|
932
|
-
parsedFilter[i] = parseFilter(filter[i], depth + 1);
|
|
933
|
-
}
|
|
934
|
-
else if (typeof filter[i] === "object") {
|
|
935
|
-
parsedFilter[i] = parseFilter(filter[i], depth + 1);
|
|
936
|
-
}
|
|
937
|
-
else {
|
|
938
|
-
parsedFilter[i] = filter[i];
|
|
939
|
-
}
|
|
940
|
-
}
|
|
941
|
-
return parsedFilter;
|
|
942
|
-
};
|
|
943
636
|
const _deSerialize = (data) => {
|
|
944
637
|
function assign(obj, keyPath, value) {
|
|
945
638
|
const MAX_DEPTH = 20; // Prevent excessive nesting
|
|
@@ -1221,6 +914,8 @@ const JXP = function (options) {
|
|
|
1221
914
|
server.post("/docs/logout", docsAuth.logout);
|
|
1222
915
|
server.get("/docs/assets/:file", docs.serveAsset.bind(docs));
|
|
1223
916
|
server.get("/docs/api", docsAuth.docsAccessMiddleware, docs.apiIndex.bind(docs));
|
|
917
|
+
server.get("/docs/mcp", docsAuth.docsAccessMiddleware, docs.mcpPlayground.bind(docs));
|
|
918
|
+
server.post("/docs/mcp/call", docsAuth.docsAccessMiddleware, docs.mcpCall.bind(docs));
|
|
1224
919
|
server.get("/docs/diagnostics", docsAuth.docsAccessMiddleware, docs.diagnostics.bind(docs));
|
|
1225
920
|
server.get("/docs/md/:md_doc", docs.md.bind(docs));
|
|
1226
921
|
server.get("/docs/model/:modelname", docsAuth.docsAccessMiddleware, docs.model.bind(docs));
|
|
@@ -1285,6 +980,8 @@ const JXP = function (options) {
|
|
|
1285
980
|
server.get("/diagnostics/indexes", security.login, security.admin_only, actionDiagnosticsIndexes, outputJSON);
|
|
1286
981
|
server.get("/diagnostics/queries", security.login, security.admin_only, actionDiagnosticsQueries, outputJSON);
|
|
1287
982
|
server.post("/diagnostics/indexes/sync", security.login, security.admin_only, actionDiagnosticsIndexesSync, outputJSON);
|
|
983
|
+
const { mountMcp } = require("./mcp/mount");
|
|
984
|
+
mountMcp(server, { config, models });
|
|
1288
985
|
return server;
|
|
1289
986
|
};
|
|
1290
987
|
module.exports = JXP;
|
package/dist/libs/jxp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jxp.js","sourceRoot":"","sources":["../../src/libs/jxp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"jxp.js","sourceRoot":"","sources":["../../src/libs/jxp.ts"],"names":[],"mappings":"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"}
|