mongodb-mcp-server 1.12.0 → 1.13.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/README.md +9 -15
- package/dist/cjs/common/atlas/apiClient.d.ts +3 -0
- package/dist/cjs/common/atlas/apiClient.d.ts.map +1 -1
- package/dist/cjs/common/atlas/apiClient.js +21 -0
- package/dist/cjs/common/atlas/apiClient.js.map +1 -1
- package/dist/cjs/common/atlas/cluster.d.ts +1 -0
- package/dist/cjs/common/atlas/cluster.d.ts.map +1 -1
- package/dist/cjs/common/atlas/cluster.js +2 -0
- package/dist/cjs/common/atlas/cluster.js.map +1 -1
- package/dist/cjs/common/config/userConfig.d.ts +1 -0
- package/dist/cjs/common/config/userConfig.d.ts.map +1 -1
- package/dist/cjs/common/config/userConfig.js +7 -0
- package/dist/cjs/common/config/userConfig.js.map +1 -1
- package/dist/cjs/common/connectionInfo.d.ts.map +1 -1
- package/dist/cjs/common/connectionInfo.js +3 -0
- package/dist/cjs/common/connectionInfo.js.map +1 -1
- package/dist/cjs/common/connectionManager.d.ts.map +1 -1
- package/dist/cjs/common/connectionManager.js +2 -0
- package/dist/cjs/common/connectionManager.js.map +1 -1
- package/dist/cjs/common/errors.d.ts +2 -1
- package/dist/cjs/common/errors.d.ts.map +1 -1
- package/dist/cjs/common/errors.js +1 -0
- package/dist/cjs/common/errors.js.map +1 -1
- package/dist/cjs/common/packageInfo.js +2 -2
- package/dist/cjs/helpers/mqlGuards.d.ts +12 -0
- package/dist/cjs/helpers/mqlGuards.d.ts.map +1 -0
- package/dist/cjs/helpers/mqlGuards.js +53 -0
- package/dist/cjs/helpers/mqlGuards.js.map +1 -0
- package/dist/cjs/telemetry/types.d.ts +10 -3
- package/dist/cjs/telemetry/types.d.ts.map +1 -1
- package/dist/cjs/telemetry/types.js.map +1 -1
- package/dist/cjs/tools/atlas/atlasTool.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/atlasTool.js +1 -0
- package/dist/cjs/tools/atlas/atlasTool.js.map +1 -1
- package/dist/cjs/tools/atlas/connect/connectCluster.d.ts +1 -0
- package/dist/cjs/tools/atlas/connect/connectCluster.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/connect/connectCluster.js +34 -27
- package/dist/cjs/tools/atlas/connect/connectCluster.js.map +1 -1
- package/dist/cjs/tools/atlas/create/createCluster.d.ts +5 -3
- package/dist/cjs/tools/atlas/create/createCluster.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/create/createCluster.js +23 -18
- package/dist/cjs/tools/atlas/create/createCluster.js.map +1 -1
- package/dist/cjs/tools/atlas/create/loadSampleDataset.d.ts +46 -0
- package/dist/cjs/tools/atlas/create/loadSampleDataset.d.ts.map +1 -0
- package/dist/cjs/tools/atlas/create/loadSampleDataset.js +77 -0
- package/dist/cjs/tools/atlas/create/loadSampleDataset.js.map +1 -0
- package/dist/cjs/tools/atlas/read/inspectCluster.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/read/inspectCluster.js +3 -0
- package/dist/cjs/tools/atlas/read/inspectCluster.js.map +1 -1
- package/dist/cjs/tools/atlas/tools.d.ts +2 -0
- package/dist/cjs/tools/atlas/tools.d.ts.map +1 -1
- package/dist/cjs/tools/atlas/tools.js +5 -1
- package/dist/cjs/tools/atlas/tools.js.map +1 -1
- package/dist/cjs/tools/atlas/update/pauseResumeCluster.d.ts +51 -0
- package/dist/cjs/tools/atlas/update/pauseResumeCluster.d.ts.map +1 -0
- package/dist/cjs/tools/atlas/update/pauseResumeCluster.js +84 -0
- package/dist/cjs/tools/atlas/update/pauseResumeCluster.js.map +1 -0
- package/dist/cjs/tools/mongodb/create/createIndex.d.ts +8 -4
- package/dist/cjs/tools/mongodb/create/createIndex.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/create/createIndex.js +6 -0
- package/dist/cjs/tools/mongodb/create/createIndex.js.map +1 -1
- package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/delete/deleteMany.js +1 -0
- package/dist/cjs/tools/mongodb/delete/deleteMany.js.map +1 -1
- package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts +1 -1
- package/dist/cjs/tools/mongodb/metadata/explain.d.ts +22 -4
- package/dist/cjs/tools/mongodb/metadata/explain.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/metadata/explain.js +7 -4
- package/dist/cjs/tools/mongodb/metadata/explain.js.map +1 -1
- package/dist/cjs/tools/mongodb/mongodbTool.d.ts +16 -0
- package/dist/cjs/tools/mongodb/mongodbTool.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/mongodbTool.js +43 -0
- package/dist/cjs/tools/mongodb/mongodbTool.js.map +1 -1
- package/dist/cjs/tools/mongodb/read/aggregate.d.ts +0 -1
- package/dist/cjs/tools/mongodb/read/aggregate.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/read/aggregate.js +3 -19
- package/dist/cjs/tools/mongodb/read/aggregate.js.map +1 -1
- package/dist/cjs/tools/mongodb/read/aggregateDB.d.ts +0 -1
- package/dist/cjs/tools/mongodb/read/aggregateDB.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/read/aggregateDB.js +3 -21
- package/dist/cjs/tools/mongodb/read/aggregateDB.js.map +1 -1
- package/dist/cjs/tools/mongodb/read/count.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/read/count.js +1 -0
- package/dist/cjs/tools/mongodb/read/count.js.map +1 -1
- package/dist/cjs/tools/mongodb/read/export.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/read/export.js +2 -0
- package/dist/cjs/tools/mongodb/read/export.js.map +1 -1
- package/dist/cjs/tools/mongodb/read/find.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/read/find.js +1 -0
- package/dist/cjs/tools/mongodb/read/find.js.map +1 -1
- package/dist/cjs/tools/mongodb/update/renameCollection.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/update/renameCollection.js +8 -0
- package/dist/cjs/tools/mongodb/update/renameCollection.js.map +1 -1
- package/dist/cjs/tools/mongodb/update/updateMany.d.ts.map +1 -1
- package/dist/cjs/tools/mongodb/update/updateMany.js +1 -0
- package/dist/cjs/tools/mongodb/update/updateMany.js.map +1 -1
- package/dist/cjs/ui/lib/tools/list-databases.d.ts +1 -1
- package/dist/cjs/ui/lib/tools/list-databases.d.ts.map +1 -1
- package/dist/cjs/ui/lib/tools/list-databases.js +1 -1
- package/dist/cjs/ui/lib/tools/list-databases.js.map +1 -1
- package/dist/esm/common/atlas/apiClient.d.ts +3 -0
- package/dist/esm/common/atlas/apiClient.d.ts.map +1 -1
- package/dist/esm/common/atlas/apiClient.js +21 -0
- package/dist/esm/common/atlas/apiClient.js.map +1 -1
- package/dist/esm/common/atlas/cluster.d.ts +1 -0
- package/dist/esm/common/atlas/cluster.d.ts.map +1 -1
- package/dist/esm/common/atlas/cluster.js +2 -0
- package/dist/esm/common/atlas/cluster.js.map +1 -1
- package/dist/esm/common/config/userConfig.d.ts +1 -0
- package/dist/esm/common/config/userConfig.d.ts.map +1 -1
- package/dist/esm/common/config/userConfig.js +7 -0
- package/dist/esm/common/config/userConfig.js.map +1 -1
- package/dist/esm/common/connectionInfo.d.ts.map +1 -1
- package/dist/esm/common/connectionInfo.js +4 -1
- package/dist/esm/common/connectionInfo.js.map +1 -1
- package/dist/esm/common/connectionManager.d.ts.map +1 -1
- package/dist/esm/common/connectionManager.js +2 -0
- package/dist/esm/common/connectionManager.js.map +1 -1
- package/dist/esm/common/errors.d.ts +2 -1
- package/dist/esm/common/errors.d.ts.map +1 -1
- package/dist/esm/common/errors.js +1 -0
- package/dist/esm/common/errors.js.map +1 -1
- package/dist/esm/common/packageInfo.js +2 -2
- package/dist/esm/helpers/mqlGuards.d.ts +12 -0
- package/dist/esm/helpers/mqlGuards.d.ts.map +1 -0
- package/dist/esm/helpers/mqlGuards.js +49 -0
- package/dist/esm/helpers/mqlGuards.js.map +1 -0
- package/dist/esm/telemetry/types.d.ts +10 -3
- package/dist/esm/telemetry/types.d.ts.map +1 -1
- package/dist/esm/telemetry/types.js.map +1 -1
- package/dist/esm/tools/atlas/atlasTool.d.ts.map +1 -1
- package/dist/esm/tools/atlas/atlasTool.js +1 -0
- package/dist/esm/tools/atlas/atlasTool.js.map +1 -1
- package/dist/esm/tools/atlas/connect/connectCluster.d.ts +1 -0
- package/dist/esm/tools/atlas/connect/connectCluster.d.ts.map +1 -1
- package/dist/esm/tools/atlas/connect/connectCluster.js +34 -27
- package/dist/esm/tools/atlas/connect/connectCluster.js.map +1 -1
- package/dist/esm/tools/atlas/create/createCluster.d.ts +5 -3
- package/dist/esm/tools/atlas/create/createCluster.d.ts.map +1 -1
- package/dist/esm/tools/atlas/create/createCluster.js +22 -17
- package/dist/esm/tools/atlas/create/createCluster.js.map +1 -1
- package/dist/esm/tools/atlas/create/loadSampleDataset.d.ts +46 -0
- package/dist/esm/tools/atlas/create/loadSampleDataset.d.ts.map +1 -0
- package/dist/esm/tools/atlas/create/loadSampleDataset.js +73 -0
- package/dist/esm/tools/atlas/create/loadSampleDataset.js.map +1 -0
- package/dist/esm/tools/atlas/read/inspectCluster.d.ts.map +1 -1
- package/dist/esm/tools/atlas/read/inspectCluster.js +3 -0
- package/dist/esm/tools/atlas/read/inspectCluster.js.map +1 -1
- package/dist/esm/tools/atlas/tools.d.ts +2 -0
- package/dist/esm/tools/atlas/tools.d.ts.map +1 -1
- package/dist/esm/tools/atlas/tools.js +2 -0
- package/dist/esm/tools/atlas/tools.js.map +1 -1
- package/dist/esm/tools/atlas/update/pauseResumeCluster.d.ts +51 -0
- package/dist/esm/tools/atlas/update/pauseResumeCluster.d.ts.map +1 -0
- package/dist/esm/tools/atlas/update/pauseResumeCluster.js +80 -0
- package/dist/esm/tools/atlas/update/pauseResumeCluster.js.map +1 -0
- package/dist/esm/tools/mongodb/create/createIndex.d.ts +8 -4
- package/dist/esm/tools/mongodb/create/createIndex.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/create/createIndex.js +6 -0
- package/dist/esm/tools/mongodb/create/createIndex.js.map +1 -1
- package/dist/esm/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/delete/deleteMany.js +1 -0
- package/dist/esm/tools/mongodb/delete/deleteMany.js.map +1 -1
- package/dist/esm/tools/mongodb/delete/dropIndex.d.ts +1 -1
- package/dist/esm/tools/mongodb/metadata/explain.d.ts +22 -4
- package/dist/esm/tools/mongodb/metadata/explain.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/metadata/explain.js +7 -4
- package/dist/esm/tools/mongodb/metadata/explain.js.map +1 -1
- package/dist/esm/tools/mongodb/mongodbTool.d.ts +16 -0
- package/dist/esm/tools/mongodb/mongodbTool.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/mongodbTool.js +43 -0
- package/dist/esm/tools/mongodb/mongodbTool.js.map +1 -1
- package/dist/esm/tools/mongodb/read/aggregate.d.ts +0 -1
- package/dist/esm/tools/mongodb/read/aggregate.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/read/aggregate.js +3 -19
- package/dist/esm/tools/mongodb/read/aggregate.js.map +1 -1
- package/dist/esm/tools/mongodb/read/aggregateDB.d.ts +0 -1
- package/dist/esm/tools/mongodb/read/aggregateDB.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/read/aggregateDB.js +3 -21
- package/dist/esm/tools/mongodb/read/aggregateDB.js.map +1 -1
- package/dist/esm/tools/mongodb/read/count.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/read/count.js +1 -0
- package/dist/esm/tools/mongodb/read/count.js.map +1 -1
- package/dist/esm/tools/mongodb/read/export.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/read/export.js +2 -0
- package/dist/esm/tools/mongodb/read/export.js.map +1 -1
- package/dist/esm/tools/mongodb/read/find.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/read/find.js +1 -0
- package/dist/esm/tools/mongodb/read/find.js.map +1 -1
- package/dist/esm/tools/mongodb/update/renameCollection.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/update/renameCollection.js +8 -0
- package/dist/esm/tools/mongodb/update/renameCollection.js.map +1 -1
- package/dist/esm/tools/mongodb/update/updateMany.d.ts.map +1 -1
- package/dist/esm/tools/mongodb/update/updateMany.js +1 -0
- package/dist/esm/tools/mongodb/update/updateMany.js.map +1 -1
- package/dist/esm/ui/lib/tools/list-databases.d.ts +1 -1
- package/dist/esm/ui/lib/tools/list-databases.d.ts.map +1 -1
- package/dist/esm/ui/lib/tools/list-databases.js +1 -1
- package/dist/esm/ui/lib/tools/list-databases.js.map +1 -1
- package/package.json +15 -21
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregate.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/aggregate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,OAAO,EAAqB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"aggregate.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/aggregate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,OAAO,EAAqB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAgBnF,eAAO,MAAM,mCAAmC,glEAwB/C,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEzB,CAAC;AAEF,qBAAa,aAAc,SAAQ,eAAe;IAC9C,MAAM,CAAC,QAAQ,SAAe;IACvB,WAAW,SAAqD;IAChE,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAOd;IACF,MAAM,CAAC,aAAa,EAAE,aAAa,CAAU;cAE7B,OAAO,CACnB,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EACvF,EAAE,MAAM,EAAE,EAAE,oBAAoB,GACjC,OAAO,CAAC,cAAc,CAAC;YAqIZ,eAAe;YAYf,6BAA6B;YAiB7B,+BAA+B;YAuC/B,uBAAuB;IA8CrC,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,aAAa;CAGxB"}
|
|
@@ -13,6 +13,7 @@ const constants_js_1 = require("../../../helpers/constants.js");
|
|
|
13
13
|
const index_js_1 = require("../../../common/logging/index.js");
|
|
14
14
|
const mongodbSchemas_js_1 = require("../mongodbSchemas.js");
|
|
15
15
|
const assertVectorSearchFilterFieldsAreIndexed_js_1 = require("../../../helpers/assertVectorSearchFilterFieldsAreIndexed.js");
|
|
16
|
+
const mqlGuards_js_1 = require("../../../helpers/mqlGuards.js");
|
|
16
17
|
exports.pipelineDescriptionWithVectorSearch = `\
|
|
17
18
|
An array of aggregation stages to execute.
|
|
18
19
|
If the user has asked for a vector search, \`$vectorSearch\` **MUST** be the first stage of the pipeline, or the first stage of a \`$unionWith\` subpipeline.
|
|
@@ -111,7 +112,7 @@ Note to LLM: If the entire aggregation result is required, use the "export" tool
|
|
|
111
112
|
}
|
|
112
113
|
let successMessage;
|
|
113
114
|
let documents;
|
|
114
|
-
if (pipeline.some((stage) =>
|
|
115
|
+
if (pipeline.some((stage) => (0, mqlGuards_js_1.isWriteStage)(stage))) {
|
|
115
116
|
// This is a write pipeline, so special-case it and don't attempt to apply limits or caps
|
|
116
117
|
aggregationCursor = provider.aggregate(database, collection, pipeline, {
|
|
117
118
|
signal,
|
|
@@ -182,23 +183,9 @@ Note to LLM: If the entire aggregation result is required, use the "export" tool
|
|
|
182
183
|
}
|
|
183
184
|
}
|
|
184
185
|
async assertOnlyUsesPermittedStages(pipeline) {
|
|
185
|
-
const writeOperations = ["update", "create", "delete"];
|
|
186
186
|
const isSearchSupported = await this.session.isSearchSupported();
|
|
187
|
-
|
|
188
|
-
if (this.config.readOnly) {
|
|
189
|
-
writeStageForbiddenError = "In readOnly mode you can not run pipelines with $out or $merge stages.";
|
|
190
|
-
}
|
|
191
|
-
else if (this.config.disabledTools.some((t) => writeOperations.includes(t))) {
|
|
192
|
-
writeStageForbiddenError =
|
|
193
|
-
"When 'create', 'update', or 'delete' operations are disabled, you can not run pipelines with $out or $merge stages.";
|
|
194
|
-
}
|
|
187
|
+
this.assertMqlIsAllowed(pipeline);
|
|
195
188
|
for (const stage of pipeline) {
|
|
196
|
-
// This validates that in readOnly mode or "write" operations are disabled, we can't use $out or $merge.
|
|
197
|
-
// This is really important because aggregates are the only "multi-faceted" tool in the MQL, where you
|
|
198
|
-
// can both read and write.
|
|
199
|
-
if (this.isWriteStage(stage) && writeStageForbiddenError) {
|
|
200
|
-
throw new errors_js_1.MongoDBError(errors_js_1.ErrorCodes.ForbiddenWriteOperation, writeStageForbiddenError);
|
|
201
|
-
}
|
|
202
189
|
// This ensure that you can't use $search if the cluster does not support MongoDB Search
|
|
203
190
|
// either in Atlas or in a local cluster.
|
|
204
191
|
if (this.isSearchStage(stage) && !isSearchSupported) {
|
|
@@ -279,9 +266,6 @@ Note to LLM: If the entire aggregation result is required, use the "export" tool
|
|
|
279
266
|
isSearchStage(stage) {
|
|
280
267
|
return "$vectorSearch" in stage || "$search" in stage || "$searchMeta" in stage;
|
|
281
268
|
}
|
|
282
|
-
isWriteStage(stage) {
|
|
283
|
-
return "$out" in stage || "$merge" in stage;
|
|
284
|
-
}
|
|
285
269
|
}
|
|
286
270
|
exports.AggregateTool = AggregateTool;
|
|
287
271
|
AggregateTool.toolName = "aggregate";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/aggregate.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAIxB,sDAAuE;AAEvE,2CAAoD;AACpD,kEAAiE;AACjE,+BAA4C;AAC5C,yDAAqE;AACrE,kGAAiG;AACjG,wFAAkF;AAClF,gEAA6G;AAC7G,+DAAyD;AACzD,4DAA4E;AAC5E,8HAGsE;
|
|
1
|
+
{"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/aggregate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregateDB.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/aggregateDB.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,OAAO,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"aggregateDB.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/aggregateDB.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEzE,OAAO,EAAmB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAWnF,eAAO,MAAM,aAAa;;CAOzB,CAAC;AAEF,qBAAa,eAAgB,SAAQ,eAAe;IAChD,MAAM,CAAC,QAAQ,SAAkB;IAC1B,WAAW,SAAmD;IAC9D,SAAS;;;;MAKd;IACF,MAAM,CAAC,aAAa,EAAE,aAAa,CAAU;cAE7B,OAAO,CACnB,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EAC3E,EAAE,MAAM,EAAE,EAAE,oBAAoB,GACjC,OAAO,CAAC,cAAc,CAAC;YAyEZ,eAAe;IAY7B,OAAO,CAAC,6BAA6B;YAYvB,+BAA+B;IAqC7C,OAAO,CAAC,eAAe;CA0B1B"}
|
|
@@ -8,6 +8,7 @@ const bson_1 = require("bson");
|
|
|
8
8
|
const errors_js_1 = require("../../../common/errors.js");
|
|
9
9
|
const collectCursorUntilMaxBytes_js_1 = require("../../../helpers/collectCursorUntilMaxBytes.js");
|
|
10
10
|
const operationWithFallback_js_1 = require("../../../helpers/operationWithFallback.js");
|
|
11
|
+
const mqlGuards_js_1 = require("../../../helpers/mqlGuards.js");
|
|
11
12
|
const constants_js_1 = require("../../../helpers/constants.js");
|
|
12
13
|
const index_js_1 = require("../../../common/logging/index.js");
|
|
13
14
|
const mongodbSchemas_js_1 = require("../mongodbSchemas.js");
|
|
@@ -35,7 +36,7 @@ The maximum number of bytes to return in the response. This value is capped by t
|
|
|
35
36
|
this.assertOnlyUsesPermittedStages(pipeline);
|
|
36
37
|
let successMessage;
|
|
37
38
|
let documents;
|
|
38
|
-
if (pipeline.some((stage) =>
|
|
39
|
+
if (pipeline.some((stage) => (0, mqlGuards_js_1.isWriteStage)(stage))) {
|
|
39
40
|
// This is a write pipeline, so special-case it and don't attempt to apply limits or caps
|
|
40
41
|
aggregationCursor = provider.aggregateDb(database, pipeline, {
|
|
41
42
|
...this.getOperationOptions(signal),
|
|
@@ -109,23 +110,7 @@ The maximum number of bytes to return in the response. This value is capped by t
|
|
|
109
110
|
if (!firstStage || !mongodbSchemas_js_1.DB_AGGREGATE_STAGE_OPERATORS.some((op) => op in firstStage)) {
|
|
110
111
|
throw new errors_js_1.MongoDBError(errors_js_1.ErrorCodes.InvalidPipeline, `The first stage of the pipeline must be a database-level aggregation stage (one of ${mongodbSchemas_js_1.DB_AGGREGATE_STAGE_OPERATORS.join(", ")})`);
|
|
111
112
|
}
|
|
112
|
-
|
|
113
|
-
let writeStageForbiddenError = "";
|
|
114
|
-
if (this.config.readOnly) {
|
|
115
|
-
writeStageForbiddenError = "In readOnly mode you can not run pipelines with $out or $merge stages.";
|
|
116
|
-
}
|
|
117
|
-
else if (this.config.disabledTools.some((t) => writeOperations.includes(t))) {
|
|
118
|
-
writeStageForbiddenError =
|
|
119
|
-
"When 'create', 'update', or 'delete' operations are disabled, you can not run pipelines with $out or $merge stages.";
|
|
120
|
-
}
|
|
121
|
-
for (const stage of pipeline) {
|
|
122
|
-
// This validates that in readOnly mode or "write" operations are disabled, we can't use $out or $merge.
|
|
123
|
-
// This is really important because aggregates are the only "multi-faceted" tool in the MQL, where you
|
|
124
|
-
// can both read and write.
|
|
125
|
-
if (this.isWriteStage(stage) && writeStageForbiddenError) {
|
|
126
|
-
throw new errors_js_1.MongoDBError(errors_js_1.ErrorCodes.ForbiddenWriteOperation, writeStageForbiddenError);
|
|
127
|
-
}
|
|
128
|
-
}
|
|
113
|
+
this.assertMqlIsAllowed(pipeline);
|
|
129
114
|
}
|
|
130
115
|
async countAggregationResultDocuments({ provider, database, pipeline, abortSignal, }) {
|
|
131
116
|
const resultsCountAggregation = [...pipeline, { $count: "totalDocuments" }];
|
|
@@ -163,9 +148,6 @@ The maximum number of bytes to return in the response. This value is capped by t
|
|
|
163
148
|
}
|
|
164
149
|
return message;
|
|
165
150
|
}
|
|
166
|
-
isWriteStage(stage) {
|
|
167
|
-
return "$out" in stage || "$merge" in stage;
|
|
168
|
-
}
|
|
169
151
|
}
|
|
170
152
|
exports.AggregateDBTool = AggregateDBTool;
|
|
171
153
|
AggregateDBTool.toolName = "aggregate-db";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregateDB.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/aggregateDB.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAIxB,sDAAqE;AAErE,2CAAoD;AACpD,+BAA4C;AAC5C,yDAAqE;AACrE,kGAAiG;AACjG,wFAAkF;AAClF,gEAA6G;AAC7G,+DAAyD;AACzD,4DAAuF;AAE1E,QAAA,aAAa,GAAG;IACzB,QAAQ,EAAE,OAAC;SACN,KAAK,CAAC,qCAAiB,CAAC;SACxB,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CACL,iHAAiH,gDAA4B,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,gGAAgG,CACpR;CACR,CAAC;AAEF,MAAa,eAAgB,SAAQ,gCAAe;IAApD;;QAEW,gBAAW,GAAG,+CAA+C,CAAC;QAC9D,cAAS,GAAG;YACf,GAAG,gCAAe;YAClB,GAAG,qBAAa;YAChB,kBAAkB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,qBAAM,CAAC,CAAC,QAAQ,CAAC;gJACqE,CAAC;SAC5I,CAAC;
|
|
1
|
+
{"version":3,"file":"aggregateDB.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/aggregateDB.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"count.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/count.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAqB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAInF,eAAO,MAAM,SAAS;;CAMrB,CAAC;AAEF,qBAAa,SAAU,SAAQ,eAAe;IAC1C,MAAM,CAAC,QAAQ,SAAW;IACnB,WAAW,SAC+G;IAC1H,SAAS;;;;MAGd;IAEF,MAAM,CAAC,aAAa,EAAE,aAAa,CAAU;cAE7B,OAAO,CACnB,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EAChE,EAAE,MAAM,EAAE,EAAE,oBAAoB,GACjC,OAAO,CAAC,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"count.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/count.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAqB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAInF,eAAO,MAAM,SAAS;;CAMrB,CAAC;AAEF,qBAAa,SAAU,SAAQ,eAAe;IAC1C,MAAM,CAAC,QAAQ,SAAW;IACnB,WAAW,SAC+G;IAC1H,SAAS;;;;MAGd;IAEF,MAAM,CAAC,aAAa,EAAE,aAAa,CAAU;cAE7B,OAAO,CACnB,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EAChE,EAAE,MAAM,EAAE,EAAE,oBAAoB,GACjC,OAAO,CAAC,cAAc,CAAC;CA4C7B"}
|
|
@@ -20,6 +20,7 @@ class CountTool extends mongodbTool_js_1.MongoDBToolBase {
|
|
|
20
20
|
}
|
|
21
21
|
async execute({ database, collection, query }, { signal }) {
|
|
22
22
|
const provider = await this.ensureConnected();
|
|
23
|
+
this.assertMqlIsAllowed(query);
|
|
23
24
|
// Check if count operation uses an index if enabled
|
|
24
25
|
if (this.config.indexCheck) {
|
|
25
26
|
await (0, indexCheck_js_1.checkIndexUsage)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"count.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/count.ts"],"names":[],"mappings":";;;AACA,sDAAuE;AAEvE,kEAAiE;AACjE,2CAAuC;AAE1B,QAAA,SAAS,GAAG;IACrB,KAAK,EAAE,IAAA,gBAAM,GAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CACL,8IAA8I,CACjJ;CACR,CAAC;AAEF,MAAa,SAAU,SAAQ,gCAAe;IAA9C;;QAEW,gBAAW,GACd,4HAA4H,CAAC;QAC1H,cAAS,GAAG;YACf,GAAG,kCAAiB;YACpB,GAAG,iBAAS;SACf,CAAC;
|
|
1
|
+
{"version":3,"file":"count.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/count.ts"],"names":[],"mappings":";;;AACA,sDAAuE;AAEvE,kEAAiE;AACjE,2CAAuC;AAE1B,QAAA,SAAS,GAAG;IACrB,KAAK,EAAE,IAAA,gBAAM,GAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CACL,8IAA8I,CACjJ;CACR,CAAC;AAEF,MAAa,SAAU,SAAQ,gCAAe;IAA9C;;QAEW,gBAAW,GACd,4HAA4H,CAAC;QAC1H,cAAS,GAAG;YACf,GAAG,kCAAiB;YACpB,GAAG,iBAAS;SACf,CAAC;IAmDN,CAAC;IA/Ca,KAAK,CAAC,OAAO,CACnB,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAmC,EAChE,EAAE,MAAM,EAAwB;QAEhC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE9C,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAE/B,oDAAoD;QACpD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,IAAA,+BAAe,EAAC;gBAClB,QAAQ;gBACR,UAAU;gBACV,SAAS,EAAE,OAAO;gBAClB,eAAe,EAAE,KAAK,IAAI,EAAE;oBACxB,OAAO,QAAQ,CAAC,mBAAmB,CAC/B,QAAQ,EACR;wBACI,OAAO,EAAE;4BACL,KAAK,EAAE,UAAU;4BACjB,KAAK;yBACR;wBACD,SAAS,EAAE,cAAc;wBACzB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;qBACnF,EACD;wBACI,MAAM;qBACT,CACJ,CAAC;gBACN,CAAC;gBACD,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;aAC9B,CAAC,CAAC;QACP,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE;YACrE,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;SACtC,CAAC,CAAC;QAEH,OAAO;YACH,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,SAAS,KAAK,iCAAiC,UAAU,IAAI,KAAK,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,GAAG;oBAC5G,IAAI,EAAE,MAAM;iBACf;aACJ;SACJ,CAAC;IACN,CAAC;;AAzDL,8BA0DC;AAzDU,kBAAQ,GAAG,OAAO,AAAV,CAAW;AAQnB,uBAAa,GAAkB,MAAM,AAAxB,CAAyB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/export.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAGpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACnF,OAAO,EAAqB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKvE,qBAAa,UAAW,SAAQ,eAAe;IAC3C,MAAM,CAAC,QAAQ,SAAY;IACpB,WAAW,SAA0E;IACrF,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAyCd;IACF,MAAM,CAAC,aAAa,EAAE,aAAa,CAAU;cAE7B,OAAO,CACnB,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EAC9G,EAAE,MAAM,EAAE,EAAE,oBAAoB,GACjC,OAAO,CAAC,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/export.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,KAAK,CAAC;AAGpB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACnF,OAAO,EAAqB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAKvE,qBAAa,UAAW,SAAQ,eAAe;IAC3C,MAAM,CAAC,QAAQ,SAAY;IACpB,WAAW,SAA0E;IACrF,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAyCd;IACF,MAAM,CAAC,aAAa,EAAE,aAAa,CAAU;cAE7B,OAAO,CACnB,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EAC9G,EAAE,MAAM,EAAE,EAAE,oBAAoB,GACjC,OAAO,CAAC,cAAc,CAAC;IAwE1B,OAAO,CAAC,sBAAsB;CAGjC"}
|
|
@@ -62,6 +62,7 @@ class ExportTool extends mongodbTool_js_1.MongoDBToolBase {
|
|
|
62
62
|
let cursor;
|
|
63
63
|
if (exportTarget.name === "find") {
|
|
64
64
|
const { filter, projection, sort, limit } = exportTarget.arguments;
|
|
65
|
+
this.assertMqlIsAllowed(filter);
|
|
65
66
|
cursor = provider.find(database, collection, filter ?? {}, {
|
|
66
67
|
projection,
|
|
67
68
|
sort,
|
|
@@ -73,6 +74,7 @@ class ExportTool extends mongodbTool_js_1.MongoDBToolBase {
|
|
|
73
74
|
}
|
|
74
75
|
else {
|
|
75
76
|
const { pipeline } = exportTarget.arguments;
|
|
77
|
+
this.assertMqlIsAllowed(pipeline);
|
|
76
78
|
cursor = provider.aggregate(database, collection, pipeline, {
|
|
77
79
|
promoteValues: false,
|
|
78
80
|
bsonRegExp: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/export.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAoB;AACpB,+BAAgC;AAIhC,sDAAuE;AACvE,uCAAqC;AACrC,yEAAqE;AACrE,iDAA+C;AAE/C,MAAa,UAAW,SAAQ,gCAAe;IAA/C;;QAEW,gBAAW,GAAG,sEAAsE,CAAC;QACrF,cAAS,GAAG;YACf,GAAG,kCAAiB;YACpB,WAAW,EAAE,aAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;YACxF,uEAAuE;YACvE,sEAAsE;YACtE,uEAAuE;YACvE,wEAAwE;YACxE,+DAA+D;YAC/D,wEAAwE;YACxE,YAAY,EAAE,aAAC;iBACV,KAAK,CACF,aAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;gBACzB,aAAC,CAAC,MAAM,CAAC;oBACL,IAAI,EAAE,aAAC;yBACF,OAAO,CAAC,MAAM,CAAC;yBACf,QAAQ,CAAC,+DAA+D,CAAC;oBAC9E,SAAS,EAAE,aAAC;yBACP,MAAM,CAAC;wBACJ,GAAG,kBAAQ;wBACX,KAAK,EAAE,kBAAQ,CAAC,KAAK,CAAC,aAAa,EAAE;qBACxC,CAAC;yBACD,QAAQ,CAAC,qCAAqC,CAAC;iBACvD,CAAC;gBACF,aAAC,CAAC,MAAM,CAAC;oBACL,IAAI,EAAE,aAAC;yBACF,OAAO,CAAC,WAAW,CAAC;yBACpB,QAAQ,CAAC,4EAA4E,CAAC;oBAC3F,SAAS,EAAE,aAAC,CAAC,MAAM,CAAC,4BAAa,CAAC,CAAC,QAAQ,CAAC,0CAA0C,CAAC;iBAC1F,CAAC;aACL,CAAC,CACL;iBACA,QAAQ,CAAC,6CAA6C,CAAC;YAC5D,gBAAgB,EAAE,oCAAgB;iBAC7B,OAAO,CAAC,SAAS,CAAC;iBAClB,QAAQ,CACL;gBACI,2FAA2F;gBAC3F,2LAA2L;gBAC3L,wOAAwO;aAC3O,CAAC,IAAI,CAAC,IAAI,CAAC,CACf;SACR,CAAC;
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/export.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/find.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAqB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAYnF,eAAO,MAAM,QAAQ;;;;;;;CAgBpB,CAAC;AAEF,qBAAa,QAAS,SAAQ,eAAe;IACzC,MAAM,CAAC,QAAQ,SAAU;IAClB,WAAW,SAAmD;IAC9D,SAAS;;;;;;;;;;MAOd;IACF,MAAM,CAAC,aAAa,EAAE,aAAa,CAAU;cAE7B,OAAO,CACnB,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EAC9G,EAAE,MAAM,EAAE,EAAE,oBAAoB,GACjC,OAAO,CAAC,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"find.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/find.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAqB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAYnF,eAAO,MAAM,QAAQ;;;;;;;CAgBpB,CAAC;AAEF,qBAAa,QAAS,SAAQ,eAAe;IACzC,MAAM,CAAC,QAAQ,SAAU;IAClB,WAAW,SAAmD;IAC9D,SAAS;;;;;;;;;;MAOd;IACF,MAAM,CAAC,aAAa,EAAE,aAAa,CAAU;cAE7B,OAAO,CACnB,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EAC9G,EAAE,MAAM,EAAE,EAAE,oBAAoB,GACjC,OAAO,CAAC,cAAc,CAAC;YA8EZ,eAAe;IAY7B,OAAO,CAAC,eAAe;IAwBvB,OAAO,CAAC,qBAAqB;CAuBhC"}
|
|
@@ -44,6 +44,7 @@ Note to LLM: If the entire query result is required, use the "export" tool inste
|
|
|
44
44
|
let findCursor = undefined;
|
|
45
45
|
try {
|
|
46
46
|
const provider = await this.ensureConnected();
|
|
47
|
+
this.assertMqlIsAllowed(filter);
|
|
47
48
|
// Check if find operation uses an index if enabled
|
|
48
49
|
if (this.config.indexCheck) {
|
|
49
50
|
await (0, indexCheck_js_1.checkIndexUsage)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/find.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,sDAAuE;AAEvE,2CAAoD;AAEpD,kEAAiE;AACjE,+BAA6B;AAC7B,kGAAiG;AACjG,wFAAkF;AAClF,gEAA+G;AAC/G,2CAAuC;AACvC,+DAAyD;AACzD,4DAA2D;AAE9C,QAAA,QAAQ,GAAG;IACpB,MAAM,EAAE,IAAA,gBAAM,GAAE;SACX,QAAQ,EAAE;SACV,QAAQ,CAAC,qFAAqF,CAAC;IACpG,UAAU,EAAE,OAAC;SACR,MAAM,CAAC,EAAE,CAAC;SACV,WAAW,EAAE;SACb,QAAQ,EAAE;SACV,QAAQ,CAAC,wFAAwF,CAAC;IACvG,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IAC9F,IAAI,EAAE,OAAC;SACF,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,uCAAmB,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;SAClF,QAAQ,EAAE;SACV,QAAQ,CACL,oOAAoO,CACvO;CACR,CAAC;AAEF,MAAa,QAAS,SAAQ,gCAAe;IAA7C;;QAEW,gBAAW,GAAG,+CAA+C,CAAC;QAC9D,cAAS,GAAG;YACf,GAAG,kCAAiB;YACpB,GAAG,gBAAQ;YACX,kBAAkB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,qBAAM,CAAC,CAAC,QAAQ,CAAC;;;CAG1E,CAAC;SACG,CAAC;
|
|
1
|
+
{"version":3,"file":"find.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/find.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,sDAAuE;AAEvE,2CAAoD;AAEpD,kEAAiE;AACjE,+BAA6B;AAC7B,kGAAiG;AACjG,wFAAkF;AAClF,gEAA+G;AAC/G,2CAAuC;AACvC,+DAAyD;AACzD,4DAA2D;AAE9C,QAAA,QAAQ,GAAG;IACpB,MAAM,EAAE,IAAA,gBAAM,GAAE;SACX,QAAQ,EAAE;SACV,QAAQ,CAAC,qFAAqF,CAAC;IACpG,UAAU,EAAE,OAAC;SACR,MAAM,CAAC,EAAE,CAAC;SACV,WAAW,EAAE;SACb,QAAQ,EAAE;SACV,QAAQ,CAAC,wFAAwF,CAAC;IACvG,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IAC9F,IAAI,EAAE,OAAC;SACF,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,uCAAmB,CAAC,QAAQ,CAAC,gCAAgC,CAAC,CAAC;SAClF,QAAQ,EAAE;SACV,QAAQ,CACL,oOAAoO,CACvO;CACR,CAAC;AAEF,MAAa,QAAS,SAAQ,gCAAe;IAA7C;;QAEW,gBAAW,GAAG,+CAA+C,CAAC;QAC9D,cAAS,GAAG;YACf,GAAG,kCAAiB;YACpB,GAAG,gBAAQ;YACX,kBAAkB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,qBAAM,CAAC,CAAC,QAAQ,CAAC;;;CAG1E,CAAC;SACG,CAAC;IA+IN,CAAC;IA5Ia,KAAK,CAAC,OAAO,CACnB,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAmC,EAC9G,EAAE,MAAM,EAAwB;QAEhC,IAAI,UAAU,GAAoC,SAAS,CAAC;QAC5D,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;YAE9C,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAEhC,mDAAmD;YACnD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBACzB,MAAM,IAAA,+BAAe,EAAC;oBAClB,QAAQ;oBACR,UAAU;oBACV,SAAS,EAAE,MAAM;oBACjB,eAAe,EAAE,KAAK,IAAI,EAAE;wBACxB,OAAO,QAAQ;6BACV,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE;4BAChC,UAAU;4BACV,KAAK;4BACL,IAAI;4BACJ,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;yBACtC,CAAC;6BACD,OAAO,CAAC,cAAc,CAAC,CAAC;oBACjC,CAAC;oBACD,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;iBAC9B,CAAC,CAAC;YACP,CAAC;YAED,MAAM,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;YAE5D,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE;gBACrD,UAAU;gBACV,KAAK,EAAE,iBAAiB,CAAC,KAAK;gBAC9B,IAAI;gBACJ,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;aACtC,CAAC,CAAC;YAEH,MAAM,CAAC,iBAAiB,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACzD,IAAA,gDAAqB,EACjB,GAAG,EAAE,CACD,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE;oBAClD,oDAAoD;oBACpD,iDAAiD;oBACjD,gDAAgD;oBAChD,sDAAsD;oBACtD,SAAS,EACL,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS;wBAC/B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,0CAA2B,CAAC;wBAC9D,CAAC,CAAC,0CAA2B;oBACrC,MAAM;iBACT,CAAC,EACN,SAAS,CACZ;gBACD,IAAA,+DAA+B,EAAC;oBAC5B,MAAM,EAAE,UAAU;oBAClB,0BAA0B,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;oBACxD,sBAAsB,EAAE,kBAAkB;oBAC1C,WAAW,EAAE,MAAM;iBACtB,CAAC;aACL,CAAC,CAAC;YAEH,OAAO;gBACH,OAAO,EAAE,IAAA,6BAAmB,EACxB,IAAI,CAAC,eAAe,CAAC;oBACjB,UAAU;oBACV,iBAAiB;oBACjB,SAAS,EAAE,aAAa,CAAC,SAAS;oBAClC,aAAa,EAAE,CAAC,iBAAiB,CAAC,QAAQ,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;iBACjG,CAAC,EACF,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,YAAK,CAAC,SAAS,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAC5F;aACJ,CAAC;QACN,CAAC;gBAAS,CAAC;YACP,IAAI,UAAU,EAAE,CAAC;gBACb,KAAK,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;YAC1C,CAAC;QACL,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,MAA2B;QACrD,IAAI,CAAC;YACD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;gBACxB,EAAE,EAAE,gBAAK,CAAC,uBAAuB;gBACjC,OAAO,EAAE,WAAW;gBACpB,OAAO,EAAE,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;aACvG,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAEO,eAAe,CAAC,EACpB,UAAU,EACV,iBAAiB,EACjB,SAAS,EACT,aAAa,GAMhB;QACG,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM;YAC1C,CAAC,CAAC;yCAC2B,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,wCAAyB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;CAEjH;YACW,CAAC,CAAC,EAAE,CAAC;QAET,OAAO;uBACQ,UAAU,iBAAiB,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,iBAAiB;YACtH,SAAS,CAAC,MAAM,aAAa,iBAAiB,CAAC,CAAC,CAAC,IAAI,iBAAiB,EAAE,CAAC,CAAC,CAAC,GAAG;CACzF,CAAC;IACE,CAAC;IAEO,qBAAqB,CAAC,aAAwC;QAIlE,MAAM,eAAe,GAAW,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,EAAE,CAAC,CAAC;QAEvF,uEAAuE;QACvE,gEAAgE;QAChE,MAAM,8BAA8B,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,eAAe,IAAI,CAAC,CAAC;QAC7F,IAAI,8BAA8B,EAAE,CAAC;YACjC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,aAAa,IAAI,SAAS,EAAE,CAAC;QACtE,CAAC;QAED,MAAM,4BAA4B,GAAG,aAAa,KAAK,IAAI,IAAI,aAAa,KAAK,SAAS,CAAC;QAC3F,IAAI,4BAA4B,EAAE,CAAC;YAC/B,OAAO,EAAE,QAAQ,EAAE,6BAA6B,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC;QAC/E,CAAC;QAED,OAAO;YACH,QAAQ,EAAE,eAAe,GAAG,aAAa,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,SAAS;YACrF,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,eAAe,CAAC;SAClD,CAAC;IACN,CAAC;;AAxJL,4BAyJC;AAxJU,iBAAQ,GAAG,MAAM,AAAT,CAAU;AAUlB,sBAAa,GAAkB,MAAM,AAAxB,CAAyB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renameCollection.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/update/renameCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAqB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"renameCollection.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/update/renameCollection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAqB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGzE,QAAA,MAAM,4BAA4B;;;;;CAKjC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAC;AAE/F,qBAAa,oBAAqB,SAAQ,eAAe;IACrD,MAAM,CAAC,QAAQ,SAAuB;IAC/B,WAAW,SAAgD;IAClD,YAAY;;;;;MAAgC;IACrD,SAAS;;;;;MAId;IACF,MAAM,CAAC,aAAa,EAAE,aAAa,CAAY;cAE/B,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,OAAO,EACP,UAAU,GACb,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;cAiClE,WAAW,CACvB,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GACtC,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;CAmDnD"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.RenameCollectionTool = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const mongodbTool_js_1 = require("../mongodbTool.js");
|
|
6
|
+
const errors_js_1 = require("../../../common/errors.js");
|
|
6
7
|
const RenameCollectionOutputSchema = {
|
|
7
8
|
database: zod_1.z.string(),
|
|
8
9
|
oldCollection: zod_1.z.string(),
|
|
@@ -21,6 +22,13 @@ class RenameCollectionTool extends mongodbTool_js_1.MongoDBToolBase {
|
|
|
21
22
|
};
|
|
22
23
|
}
|
|
23
24
|
async execute({ database, collection, newName, dropTarget, }) {
|
|
25
|
+
if (dropTarget && this.config.disabledTools.includes("delete")) {
|
|
26
|
+
// Renaming with `dropTarget: true` drops the existing target collection, which is a
|
|
27
|
+
// destructive delete operation. Since this tool's operation type is `update`, it remains
|
|
28
|
+
// available even when delete operations are disabled, so reject `dropTarget` in that case
|
|
29
|
+
// to prevent it from being used to drop a collection through the back door.
|
|
30
|
+
throw new errors_js_1.MongoDBError(errors_js_1.ErrorCodes.ForbiddenWriteOperation, "When 'delete' operations are disabled, you can not rename a collection with 'dropTarget' set to true, as it would drop the target collection.");
|
|
31
|
+
}
|
|
24
32
|
const provider = await this.ensureConnected();
|
|
25
33
|
const result = await provider.renameCollection(database, collection, newName, {
|
|
26
34
|
dropTarget,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renameCollection.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/update/renameCollection.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,sDAAuE;
|
|
1
|
+
{"version":3,"file":"renameCollection.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/update/renameCollection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateMany.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/update/updateMany.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAqB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAIzE,QAAA,MAAM,sBAAsB;;;;;;;CAO3B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAC;AAEnF,qBAAa,cAAe,SAAQ,eAAe;IAC/C,MAAM,CAAC,QAAQ,SAAiB;IACzB,WAAW,SACqK;IACvK,YAAY;;;;;;;MAA0B;IAC/C,SAAS;;;;;;MAcd;IACF,MAAM,CAAC,aAAa,EAAE,aAAa,CAAY;cAE/B,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,MAAM,EACN,MAAM,EACN,MAAM,GACT,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"updateMany.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/update/updateMany.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAqB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAIzE,QAAA,MAAM,sBAAsB;;;;;;;CAO3B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,sBAAsB,CAAC,CAAC,CAAC;AAEnF,qBAAa,cAAe,SAAQ,eAAe;IAC/C,MAAM,CAAC,QAAQ,SAAiB;IACzB,WAAW,SACqK;IACvK,YAAY;;;;;;;MAA0B;IAC/C,SAAS;;;;;;MAcd;IACF,MAAM,CAAC,aAAa,EAAE,aAAa,CAAY;cAE/B,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,MAAM,EACN,MAAM,EACN,MAAM,GACT,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;CAkErF"}
|
|
@@ -32,6 +32,7 @@ class UpdateManyTool extends mongodbTool_js_1.MongoDBToolBase {
|
|
|
32
32
|
}
|
|
33
33
|
async execute({ database, collection, filter, update, upsert, }) {
|
|
34
34
|
const provider = await this.ensureConnected();
|
|
35
|
+
this.assertMqlIsAllowed(filter);
|
|
35
36
|
// Check if update operation uses an index if enabled
|
|
36
37
|
if (this.config.indexCheck) {
|
|
37
38
|
await (0, indexCheck_js_1.checkIndexUsage)({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateMany.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/update/updateMany.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,sDAAuE;AAEvE,kEAAiE;AACjE,2CAAuC;AAEvC,MAAM,sBAAsB,GAAG;IAC3B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;IACtB,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE;IACxB,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE;IACzB,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE;IACzB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC;AAIF,MAAa,cAAe,SAAQ,gCAAe;IAAnD;;QAEW,gBAAW,GACd,kLAAkL,CAAC;QACvK,iBAAY,GAAG,sBAAsB,CAAC;QAC/C,cAAS,GAAG;YACf,GAAG,kCAAiB;YACpB,MAAM,EAAE,IAAA,gBAAM,GAAE;iBACX,QAAQ,EAAE;iBACV,QAAQ,CACL,gHAAgH,CACnH;YACL,MAAM,EAAE,IAAA,gBAAM,GAAE,CAAC,QAAQ,CACrB,4FAA4F,CAC/F;YACD,MAAM,EAAE,OAAC;iBACJ,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,4EAA4E,CAAC;SAC9F,CAAC;
|
|
1
|
+
{"version":3,"file":"updateMany.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/update/updateMany.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,sDAAuE;AAEvE,kEAAiE;AACjE,2CAAuC;AAEvC,MAAM,sBAAsB,GAAG;IAC3B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;IACtB,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE;IACxB,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE;IACzB,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE;IACzB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC;AAIF,MAAa,cAAe,SAAQ,gCAAe;IAAnD;;QAEW,gBAAW,GACd,kLAAkL,CAAC;QACvK,iBAAY,GAAG,sBAAsB,CAAC;QAC/C,cAAS,GAAG;YACf,GAAG,kCAAiB;YACpB,MAAM,EAAE,IAAA,gBAAM,GAAE;iBACX,QAAQ,EAAE;iBACV,QAAQ,CACL,gHAAgH,CACnH;YACL,MAAM,EAAE,IAAA,gBAAM,GAAE,CAAC,QAAQ,CACrB,4FAA4F,CAC/F;YACD,MAAM,EAAE,OAAC;iBACJ,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,QAAQ,CAAC,4EAA4E,CAAC;SAC9F,CAAC;IA2EN,CAAC;IAxEa,KAAK,CAAC,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,MAAM,EACN,MAAM,EACN,MAAM,GACwB;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE9C,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAEhC,qDAAqD;QACrD,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACzB,MAAM,IAAA,+BAAe,EAAC;gBAClB,QAAQ;gBACR,UAAU;gBACV,SAAS,EAAE,YAAY;gBACvB,eAAe,EAAE,KAAK,IAAI,EAAE;oBACxB,OAAO,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE;wBAC1C,OAAO,EAAE;4BACL,MAAM,EAAE,UAAU;4BAClB,OAAO,EAAE;gCACL;oCACI,CAAC,EAAE,MAAM,IAAI,EAAE;oCACf,CAAC,EAAE,MAAM;oCACT,MAAM,EAAE,MAAM,IAAI,KAAK;oCACvB,KAAK,EAAE,IAAI;iCACd;6BACJ;yBACJ;wBACD,SAAS,EAAE,cAAc;wBACzB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;qBACnF,CAAC,CAAC;gBACP,CAAC;gBACD,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM;aAC9B,CAAC,CAAC;QACP,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE;YAC3E,MAAM;SACT,CAAC,CAAC;QAEH,IAAI,OAAe,CAAC;QACpB,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,IAAI,MAAM,CAAC,aAAa,KAAK,CAAC,IAAI,MAAM,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;YACxF,OAAO,GAAG,kCAAkC,CAAC;QACjD,CAAC;aAAM,CAAC;YACJ,OAAO,GAAG,WAAW,MAAM,CAAC,YAAY,eAAe,CAAC;YACxD,IAAI,MAAM,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,IAAI,aAAa,MAAM,CAAC,aAAa,eAAe,CAAC;YAChE,CAAC;YACD,IAAI,MAAM,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,IAAI,aAAa,MAAM,CAAC,aAAa,sBAAsB,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC;YACvG,CAAC;QACL,CAAC;QAED,OAAO;YACH,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,MAAM;iBACf;aACJ;YACD,iBAAiB,EAAE;gBACf,QAAQ;gBACR,UAAU;gBACV,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,aAAa,EAAE,MAAM,CAAC,aAAa;gBACnC,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE;aAC5C;SACJ,CAAC;IACN,CAAC;;AA7FL,wCA8FC;AA7FU,uBAAQ,GAAG,aAAa,AAAhB,CAAiB;AAmBzB,4BAAa,GAAkB,QAAQ,AAA1B,CAA2B"}
|