mongodb-mcp-server 1.11.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.
Files changed (200) hide show
  1. package/README.md +9 -8
  2. package/dist/cjs/common/atlas/apiClient.d.ts +3 -0
  3. package/dist/cjs/common/atlas/apiClient.d.ts.map +1 -1
  4. package/dist/cjs/common/atlas/apiClient.js +22 -1
  5. package/dist/cjs/common/atlas/apiClient.js.map +1 -1
  6. package/dist/cjs/common/atlas/cluster.d.ts +1 -0
  7. package/dist/cjs/common/atlas/cluster.d.ts.map +1 -1
  8. package/dist/cjs/common/atlas/cluster.js +2 -0
  9. package/dist/cjs/common/atlas/cluster.js.map +1 -1
  10. package/dist/cjs/common/config/userConfig.d.ts +1 -0
  11. package/dist/cjs/common/config/userConfig.d.ts.map +1 -1
  12. package/dist/cjs/common/config/userConfig.js +7 -0
  13. package/dist/cjs/common/config/userConfig.js.map +1 -1
  14. package/dist/cjs/common/connectionInfo.d.ts.map +1 -1
  15. package/dist/cjs/common/connectionInfo.js +3 -0
  16. package/dist/cjs/common/connectionInfo.js.map +1 -1
  17. package/dist/cjs/common/connectionManager.d.ts.map +1 -1
  18. package/dist/cjs/common/connectionManager.js +2 -0
  19. package/dist/cjs/common/connectionManager.js.map +1 -1
  20. package/dist/cjs/common/errors.d.ts +2 -1
  21. package/dist/cjs/common/errors.d.ts.map +1 -1
  22. package/dist/cjs/common/errors.js +1 -0
  23. package/dist/cjs/common/errors.js.map +1 -1
  24. package/dist/cjs/common/packageInfo.js +2 -2
  25. package/dist/cjs/helpers/mqlGuards.d.ts +12 -0
  26. package/dist/cjs/helpers/mqlGuards.d.ts.map +1 -0
  27. package/dist/cjs/helpers/mqlGuards.js +53 -0
  28. package/dist/cjs/helpers/mqlGuards.js.map +1 -0
  29. package/dist/cjs/telemetry/types.d.ts +20 -1
  30. package/dist/cjs/telemetry/types.d.ts.map +1 -1
  31. package/dist/cjs/telemetry/types.js.map +1 -1
  32. package/dist/cjs/tools/atlas/atlasTool.d.ts.map +1 -1
  33. package/dist/cjs/tools/atlas/atlasTool.js +1 -0
  34. package/dist/cjs/tools/atlas/atlasTool.js.map +1 -1
  35. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts +1 -0
  36. package/dist/cjs/tools/atlas/connect/connectCluster.d.ts.map +1 -1
  37. package/dist/cjs/tools/atlas/connect/connectCluster.js +34 -27
  38. package/dist/cjs/tools/atlas/connect/connectCluster.js.map +1 -1
  39. package/dist/cjs/tools/atlas/create/createCluster.d.ts +125 -0
  40. package/dist/cjs/tools/atlas/create/createCluster.d.ts.map +1 -0
  41. package/dist/cjs/tools/atlas/create/createCluster.js +219 -0
  42. package/dist/cjs/tools/atlas/create/createCluster.js.map +1 -0
  43. package/dist/cjs/tools/atlas/create/loadSampleDataset.d.ts +46 -0
  44. package/dist/cjs/tools/atlas/create/loadSampleDataset.d.ts.map +1 -0
  45. package/dist/cjs/tools/atlas/create/loadSampleDataset.js +77 -0
  46. package/dist/cjs/tools/atlas/create/loadSampleDataset.js.map +1 -0
  47. package/dist/cjs/tools/atlas/read/inspectCluster.d.ts.map +1 -1
  48. package/dist/cjs/tools/atlas/read/inspectCluster.js +3 -0
  49. package/dist/cjs/tools/atlas/read/inspectCluster.js.map +1 -1
  50. package/dist/cjs/tools/atlas/tools.d.ts +3 -0
  51. package/dist/cjs/tools/atlas/tools.d.ts.map +1 -1
  52. package/dist/cjs/tools/atlas/tools.js +7 -1
  53. package/dist/cjs/tools/atlas/tools.js.map +1 -1
  54. package/dist/cjs/tools/atlas/update/pauseResumeCluster.d.ts +51 -0
  55. package/dist/cjs/tools/atlas/update/pauseResumeCluster.d.ts.map +1 -0
  56. package/dist/cjs/tools/atlas/update/pauseResumeCluster.js +84 -0
  57. package/dist/cjs/tools/atlas/update/pauseResumeCluster.js.map +1 -0
  58. package/dist/cjs/tools/mongodb/create/createIndex.d.ts +8 -4
  59. package/dist/cjs/tools/mongodb/create/createIndex.d.ts.map +1 -1
  60. package/dist/cjs/tools/mongodb/create/createIndex.js +6 -0
  61. package/dist/cjs/tools/mongodb/create/createIndex.js.map +1 -1
  62. package/dist/cjs/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
  63. package/dist/cjs/tools/mongodb/delete/deleteMany.js +1 -0
  64. package/dist/cjs/tools/mongodb/delete/deleteMany.js.map +1 -1
  65. package/dist/cjs/tools/mongodb/delete/dropIndex.d.ts +1 -1
  66. package/dist/cjs/tools/mongodb/metadata/explain.d.ts +22 -4
  67. package/dist/cjs/tools/mongodb/metadata/explain.d.ts.map +1 -1
  68. package/dist/cjs/tools/mongodb/metadata/explain.js +7 -4
  69. package/dist/cjs/tools/mongodb/metadata/explain.js.map +1 -1
  70. package/dist/cjs/tools/mongodb/mongodbTool.d.ts +16 -0
  71. package/dist/cjs/tools/mongodb/mongodbTool.d.ts.map +1 -1
  72. package/dist/cjs/tools/mongodb/mongodbTool.js +43 -0
  73. package/dist/cjs/tools/mongodb/mongodbTool.js.map +1 -1
  74. package/dist/cjs/tools/mongodb/read/aggregate.d.ts +0 -1
  75. package/dist/cjs/tools/mongodb/read/aggregate.d.ts.map +1 -1
  76. package/dist/cjs/tools/mongodb/read/aggregate.js +3 -19
  77. package/dist/cjs/tools/mongodb/read/aggregate.js.map +1 -1
  78. package/dist/cjs/tools/mongodb/read/aggregateDB.d.ts +0 -1
  79. package/dist/cjs/tools/mongodb/read/aggregateDB.d.ts.map +1 -1
  80. package/dist/cjs/tools/mongodb/read/aggregateDB.js +3 -21
  81. package/dist/cjs/tools/mongodb/read/aggregateDB.js.map +1 -1
  82. package/dist/cjs/tools/mongodb/read/count.d.ts.map +1 -1
  83. package/dist/cjs/tools/mongodb/read/count.js +1 -0
  84. package/dist/cjs/tools/mongodb/read/count.js.map +1 -1
  85. package/dist/cjs/tools/mongodb/read/export.d.ts.map +1 -1
  86. package/dist/cjs/tools/mongodb/read/export.js +2 -0
  87. package/dist/cjs/tools/mongodb/read/export.js.map +1 -1
  88. package/dist/cjs/tools/mongodb/read/find.d.ts.map +1 -1
  89. package/dist/cjs/tools/mongodb/read/find.js +1 -0
  90. package/dist/cjs/tools/mongodb/read/find.js.map +1 -1
  91. package/dist/cjs/tools/mongodb/update/renameCollection.d.ts.map +1 -1
  92. package/dist/cjs/tools/mongodb/update/renameCollection.js +8 -0
  93. package/dist/cjs/tools/mongodb/update/renameCollection.js.map +1 -1
  94. package/dist/cjs/tools/mongodb/update/updateMany.d.ts.map +1 -1
  95. package/dist/cjs/tools/mongodb/update/updateMany.js +1 -0
  96. package/dist/cjs/tools/mongodb/update/updateMany.js.map +1 -1
  97. package/dist/cjs/ui/lib/tools/list-databases.d.ts +1 -1
  98. package/dist/cjs/ui/lib/tools/list-databases.d.ts.map +1 -1
  99. package/dist/cjs/ui/lib/tools/list-databases.js +1 -1
  100. package/dist/cjs/ui/lib/tools/list-databases.js.map +1 -1
  101. package/dist/esm/common/atlas/apiClient.d.ts +3 -0
  102. package/dist/esm/common/atlas/apiClient.d.ts.map +1 -1
  103. package/dist/esm/common/atlas/apiClient.js +22 -1
  104. package/dist/esm/common/atlas/apiClient.js.map +1 -1
  105. package/dist/esm/common/atlas/cluster.d.ts +1 -0
  106. package/dist/esm/common/atlas/cluster.d.ts.map +1 -1
  107. package/dist/esm/common/atlas/cluster.js +2 -0
  108. package/dist/esm/common/atlas/cluster.js.map +1 -1
  109. package/dist/esm/common/config/userConfig.d.ts +1 -0
  110. package/dist/esm/common/config/userConfig.d.ts.map +1 -1
  111. package/dist/esm/common/config/userConfig.js +7 -0
  112. package/dist/esm/common/config/userConfig.js.map +1 -1
  113. package/dist/esm/common/connectionInfo.d.ts.map +1 -1
  114. package/dist/esm/common/connectionInfo.js +4 -1
  115. package/dist/esm/common/connectionInfo.js.map +1 -1
  116. package/dist/esm/common/connectionManager.d.ts.map +1 -1
  117. package/dist/esm/common/connectionManager.js +2 -0
  118. package/dist/esm/common/connectionManager.js.map +1 -1
  119. package/dist/esm/common/errors.d.ts +2 -1
  120. package/dist/esm/common/errors.d.ts.map +1 -1
  121. package/dist/esm/common/errors.js +1 -0
  122. package/dist/esm/common/errors.js.map +1 -1
  123. package/dist/esm/common/packageInfo.js +2 -2
  124. package/dist/esm/helpers/mqlGuards.d.ts +12 -0
  125. package/dist/esm/helpers/mqlGuards.d.ts.map +1 -0
  126. package/dist/esm/helpers/mqlGuards.js +49 -0
  127. package/dist/esm/helpers/mqlGuards.js.map +1 -0
  128. package/dist/esm/telemetry/types.d.ts +20 -1
  129. package/dist/esm/telemetry/types.d.ts.map +1 -1
  130. package/dist/esm/telemetry/types.js.map +1 -1
  131. package/dist/esm/tools/atlas/atlasTool.d.ts.map +1 -1
  132. package/dist/esm/tools/atlas/atlasTool.js +1 -0
  133. package/dist/esm/tools/atlas/atlasTool.js.map +1 -1
  134. package/dist/esm/tools/atlas/connect/connectCluster.d.ts +1 -0
  135. package/dist/esm/tools/atlas/connect/connectCluster.d.ts.map +1 -1
  136. package/dist/esm/tools/atlas/connect/connectCluster.js +34 -27
  137. package/dist/esm/tools/atlas/connect/connectCluster.js.map +1 -1
  138. package/dist/esm/tools/atlas/create/createCluster.d.ts +125 -0
  139. package/dist/esm/tools/atlas/create/createCluster.d.ts.map +1 -0
  140. package/dist/esm/tools/atlas/create/createCluster.js +215 -0
  141. package/dist/esm/tools/atlas/create/createCluster.js.map +1 -0
  142. package/dist/esm/tools/atlas/create/loadSampleDataset.d.ts +46 -0
  143. package/dist/esm/tools/atlas/create/loadSampleDataset.d.ts.map +1 -0
  144. package/dist/esm/tools/atlas/create/loadSampleDataset.js +73 -0
  145. package/dist/esm/tools/atlas/create/loadSampleDataset.js.map +1 -0
  146. package/dist/esm/tools/atlas/read/inspectCluster.d.ts.map +1 -1
  147. package/dist/esm/tools/atlas/read/inspectCluster.js +3 -0
  148. package/dist/esm/tools/atlas/read/inspectCluster.js.map +1 -1
  149. package/dist/esm/tools/atlas/tools.d.ts +3 -0
  150. package/dist/esm/tools/atlas/tools.d.ts.map +1 -1
  151. package/dist/esm/tools/atlas/tools.js +3 -0
  152. package/dist/esm/tools/atlas/tools.js.map +1 -1
  153. package/dist/esm/tools/atlas/update/pauseResumeCluster.d.ts +51 -0
  154. package/dist/esm/tools/atlas/update/pauseResumeCluster.d.ts.map +1 -0
  155. package/dist/esm/tools/atlas/update/pauseResumeCluster.js +80 -0
  156. package/dist/esm/tools/atlas/update/pauseResumeCluster.js.map +1 -0
  157. package/dist/esm/tools/mongodb/create/createIndex.d.ts +8 -4
  158. package/dist/esm/tools/mongodb/create/createIndex.d.ts.map +1 -1
  159. package/dist/esm/tools/mongodb/create/createIndex.js +6 -0
  160. package/dist/esm/tools/mongodb/create/createIndex.js.map +1 -1
  161. package/dist/esm/tools/mongodb/delete/deleteMany.d.ts.map +1 -1
  162. package/dist/esm/tools/mongodb/delete/deleteMany.js +1 -0
  163. package/dist/esm/tools/mongodb/delete/deleteMany.js.map +1 -1
  164. package/dist/esm/tools/mongodb/delete/dropIndex.d.ts +1 -1
  165. package/dist/esm/tools/mongodb/metadata/explain.d.ts +22 -4
  166. package/dist/esm/tools/mongodb/metadata/explain.d.ts.map +1 -1
  167. package/dist/esm/tools/mongodb/metadata/explain.js +7 -4
  168. package/dist/esm/tools/mongodb/metadata/explain.js.map +1 -1
  169. package/dist/esm/tools/mongodb/mongodbTool.d.ts +16 -0
  170. package/dist/esm/tools/mongodb/mongodbTool.d.ts.map +1 -1
  171. package/dist/esm/tools/mongodb/mongodbTool.js +43 -0
  172. package/dist/esm/tools/mongodb/mongodbTool.js.map +1 -1
  173. package/dist/esm/tools/mongodb/read/aggregate.d.ts +0 -1
  174. package/dist/esm/tools/mongodb/read/aggregate.d.ts.map +1 -1
  175. package/dist/esm/tools/mongodb/read/aggregate.js +3 -19
  176. package/dist/esm/tools/mongodb/read/aggregate.js.map +1 -1
  177. package/dist/esm/tools/mongodb/read/aggregateDB.d.ts +0 -1
  178. package/dist/esm/tools/mongodb/read/aggregateDB.d.ts.map +1 -1
  179. package/dist/esm/tools/mongodb/read/aggregateDB.js +3 -21
  180. package/dist/esm/tools/mongodb/read/aggregateDB.js.map +1 -1
  181. package/dist/esm/tools/mongodb/read/count.d.ts.map +1 -1
  182. package/dist/esm/tools/mongodb/read/count.js +1 -0
  183. package/dist/esm/tools/mongodb/read/count.js.map +1 -1
  184. package/dist/esm/tools/mongodb/read/export.d.ts.map +1 -1
  185. package/dist/esm/tools/mongodb/read/export.js +2 -0
  186. package/dist/esm/tools/mongodb/read/export.js.map +1 -1
  187. package/dist/esm/tools/mongodb/read/find.d.ts.map +1 -1
  188. package/dist/esm/tools/mongodb/read/find.js +1 -0
  189. package/dist/esm/tools/mongodb/read/find.js.map +1 -1
  190. package/dist/esm/tools/mongodb/update/renameCollection.d.ts.map +1 -1
  191. package/dist/esm/tools/mongodb/update/renameCollection.js +8 -0
  192. package/dist/esm/tools/mongodb/update/renameCollection.js.map +1 -1
  193. package/dist/esm/tools/mongodb/update/updateMany.d.ts.map +1 -1
  194. package/dist/esm/tools/mongodb/update/updateMany.js +1 -0
  195. package/dist/esm/tools/mongodb/update/updateMany.js.map +1 -1
  196. package/dist/esm/ui/lib/tools/list-databases.d.ts +1 -1
  197. package/dist/esm/ui/lib/tools/list-databases.d.ts.map +1 -1
  198. package/dist/esm/ui/lib/tools/list-databases.js +1 -1
  199. package/dist/esm/ui/lib/tools/list-databases.js.map +1 -1
  200. package/package.json +18 -24
@@ -1,14 +1,15 @@
1
1
  import { z } from "zod";
2
2
  import { MongoDBToolBase } from "../mongodbTool.js";
3
3
  import { type ToolArgs, type OperationType, type ToolResult } from "../../tool.js";
4
+ import type { IndexMetadata } from "../../../telemetry/types.js";
4
5
  declare const CreateIndexOutputSchema: {
5
6
  database: z.ZodString;
6
7
  collection: z.ZodString;
7
8
  indexName: z.ZodString;
8
9
  indexType: z.ZodEnum<{
9
- search: "search";
10
- vectorSearch: "vectorSearch";
11
10
  classic: "classic";
11
+ vectorSearch: "vectorSearch";
12
+ search: "search";
12
13
  }>;
13
14
  };
14
15
  export type CreateIndexOutput = z.infer<z.ZodObject<typeof CreateIndexOutputSchema>>;
@@ -88,13 +89,16 @@ export declare class CreateIndexTool extends MongoDBToolBase {
88
89
  collection: z.ZodString;
89
90
  indexName: z.ZodString;
90
91
  indexType: z.ZodEnum<{
91
- search: "search";
92
- vectorSearch: "vectorSearch";
93
92
  classic: "classic";
93
+ vectorSearch: "vectorSearch";
94
+ search: "search";
94
95
  }>;
95
96
  };
96
97
  static operationType: OperationType;
97
98
  protected execute({ database, collection, name, definition: definitions, }: ToolArgs<typeof this.argsShape>): Promise<ToolResult<typeof this.outputSchema>>;
99
+ protected resolveTelemetryMetadata(args: ToolArgs<typeof this.argsShape>, { result }: {
100
+ result: ToolResult<typeof CreateIndexOutputSchema>;
101
+ }): IndexMetadata;
98
102
  }
99
103
  export {};
100
104
  //# sourceMappingURL=createIndex.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createIndex.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/create/createIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAqB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAGnF,QAAA,MAAM,uBAAuB;;;;;;;;;CAK5B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAC;AAErF,qBAAa,eAAgB,SAAQ,eAAe;IAChD,OAAO,CAAC,iBAAiB,CAU4D;IAErF,OAAO,CAAC,iBAAiB,CAoCnB;IAEN,OAAO,CAAC,oBAAoB,CAiCtB;IAEN,OAAO,CAAC,2BAA2B,CAqBoB;IAEvD,OAAO,CAAC,0BAA0B,CAiE5B;IAEN,MAAM,CAAC,QAAQ,SAAkB;IAC1B,WAAW,SAAsC;IACjD,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2Bd;IACc,YAAY;;;;;;;;;MAA2B;IAEvD,MAAM,CAAC,aAAa,EAAE,aAAa,CAAY;cAE/B,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,UAAU,EAAE,WAAW,GAC1B,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;CA0ErF"}
1
+ {"version":3,"file":"createIndex.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/create/createIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAqB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAEnF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,QAAA,MAAM,uBAAuB;;;;;;;;;CAK5B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,uBAAuB,CAAC,CAAC,CAAC;AAErF,qBAAa,eAAgB,SAAQ,eAAe;IAChD,OAAO,CAAC,iBAAiB,CAU4D;IAErF,OAAO,CAAC,iBAAiB,CAoCnB;IAEN,OAAO,CAAC,oBAAoB,CAiCtB;IAEN,OAAO,CAAC,2BAA2B,CAqBoB;IAEvD,OAAO,CAAC,0BAA0B,CAiE5B;IAEN,MAAM,CAAC,QAAQ,SAAkB;IAC1B,WAAW,SAAsC;IACjD,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2Bd;IACc,YAAY;;;;;;;;;MAA2B;IAEvD,MAAM,CAAC,aAAa,EAAE,aAAa,CAAY;cAE/B,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,UAAU,EAAE,WAAW,GAC1B,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;cA2E/D,wBAAwB,CACvC,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EACrC,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,EAAE,UAAU,CAAC,OAAO,uBAAuB,CAAC,CAAA;KAAE,GACnE,aAAa;CAMnB"}
@@ -238,6 +238,12 @@ Use 'filter' for additional fields to filter on. At least one 'vector' or 'autoE
238
238
  },
239
239
  };
240
240
  }
241
+ resolveTelemetryMetadata(args, { result }) {
242
+ return {
243
+ ...super.resolveTelemetryMetadata(args, { result }),
244
+ index_type: result.structuredContent?.indexType,
245
+ };
246
+ }
241
247
  }
242
248
  exports.CreateIndexTool = CreateIndexTool;
243
249
  CreateIndexTool.toolName = "create-index";
@@ -1 +1 @@
1
- {"version":3,"file":"createIndex.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/create/createIndex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createIndex.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/create/createIndex.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,sDAAuE;AAEvE,4DAA8F;AAG9F,MAAM,uBAAuB,GAAG;IAC5B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;IACtB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC;CAC3D,CAAC;AAIF,MAAa,eAAgB,SAAQ,gCAAe;IAApD;;QACY,sBAAiB,GAAG,OAAC;aACxB,MAAM,CAAC;YACJ,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;YACzB,IAAI,EAAE,OAAC;iBACF,MAAM,EAAE;iBACR,QAAQ,CACL,oGAAoG,CACvG;SACR,CAAC;aACD,MAAM,EAAE;aACR,QAAQ,CAAC,qEAAqE,CAAC,CAAC;QAE7E,sBAAiB,GAAG,OAAC;aACxB,MAAM,CAAC;YACJ,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;YACzB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CACrB;;;CAGf,CACY;YACD,aAAa,EAAE,OAAC;iBACX,MAAM,EAAE;iBACR,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,IAAI,CAAC;iBACT,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CACL,8FAA8F,CACjG;YACL,UAAU,EAAE,OAAC;iBACR,IAAI,CAAC,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;iBAC3C,OAAO,CAAC,WAAW,CAAC;iBACpB,QAAQ,CACL,8HAA8H,CACjI;YACL,YAAY,EAAE,OAAC;iBACV,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;iBAClC,OAAO,CAAC,MAAM,CAAC;iBACf,QAAQ,CACL,+HAA+H,CAClI;SACR,CAAC;aACD,MAAM,EAAE;aACR,QAAQ,CACL;;;CAGX,CACQ,CAAC;QAEE,yBAAoB,GAAG,OAAC;aAC3B,MAAM,CAAC;YACJ,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,WAAW,CAAC;YAC5B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CACrB;;;;CAIf,CACY;YACD,KAAK,EAAE,OAAC;iBACH,IAAI,CAAC,oDAAgC,CAAC;iBACtC,QAAQ,CACL,kHAAkH,CACrH;YACL,QAAQ,EAAE,OAAC;iBACN,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;iBACd,QAAQ,CACL,0GAA0G,CAC7G;YAEL,uEAAuE;YACvE,mEAAmE;YACnE,8DAA8D;YAC9D,4BAA4B;SAC/B,CAAC;aACD,MAAM,EAAE;aACR,QAAQ,CACL;;;;CAIX,CACQ,CAAC;QAEE,gCAA2B,GAAG,OAAC;aAClC,MAAM,CAAC;YACJ,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,cAAc,CAAC;YAC/B,MAAM,EAAE,OAAC;iBACJ,KAAK,CACF,OAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;gBACzB,IAAI,CAAC,iBAAiB;gBACtB,IAAI,CAAC,iBAAiB;gBACtB,IAAI,CAAC,oBAAoB;aAC5B,CAAC,CACL;iBACA,QAAQ,EAAE;iBACV,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE;gBACnF,OAAO,EAAE,wEAAwE;aACpF,CAAC,CAAC,QAAQ,CAAC;;;;;CAK3B,CAAC;SACO,CAAC;aACD,QAAQ,CAAC,uCAAuC,CAAC,CAAC;QAE/C,+BAA0B,GAAG,OAAC;aACjC,MAAM,CAAC;YACJ,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;YACzB,QAAQ,EAAE,OAAC;iBACN,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,OAAO,CAAC,iBAAiB,CAAC;iBAC1B,QAAQ,CACL,iRAAiR,CACpR;YACL,QAAQ,EAAE,OAAC;iBACN,MAAM,CAAC;gBACJ,OAAO,EAAE,OAAC;qBACL,OAAO,EAAE;qBACT,QAAQ,EAAE;qBACV,OAAO,CAAC,KAAK,CAAC;qBACd,QAAQ,CACL,sOAAsO,CACzO;gBACL,MAAM,EAAE,OAAC;qBACJ,MAAM,CACH,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EACrC,OAAC;qBACI,MAAM,CAAC;oBACJ,IAAI,EAAE,OAAC;yBACF,IAAI,CAAC;wBACF,cAAc;wBACd,SAAS;wBACT,MAAM;wBACN,UAAU;wBACV,mBAAmB;wBACnB,KAAK;wBACL,QAAQ;wBACR,UAAU;wBACV,QAAQ;wBACR,OAAO;wBACP,MAAM;qBACT,CAAC;yBACD,QAAQ,CAAC,gBAAgB,CAAC;iBAClC,CAAC;qBACD,WAAW,EAAE;qBACb,QAAQ,CACL,oHAAoH,CACvH,CACR;qBACA,QAAQ,EAAE;qBACV,QAAQ,CAAC,kFAAkF,CAAC;aACpG,CAAC;iBACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;gBACvF,OAAO,EACH,oIAAoI;aAC3I,CAAC;iBACD,QAAQ,CACL,2LAA2L,CAC9L;YACL,aAAa,EAAE,OAAC;iBACX,KAAK,CAAC,CAAC,OAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,OAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;iBACvD,OAAO,CAAC,GAAG,CAAC;iBACZ,SAAS,CAAC,CAAC,KAAK,EAAU,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;iBACpD,QAAQ,CACL,qHAAqH,CACxH;SACR,CAAC;aACD,QAAQ,CACL,qJAAqJ,CACxJ,CAAC;QAGC,gBAAW,GAAG,kCAAkC,CAAC;QACjD,cAAS,GAAG;YACf,GAAG,kCAAiB;YACpB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAC7D,uEAAuE;YACvE,oEAAoE;YACpE,uEAAuE;YACvE,wEAAwE;YACxE,+DAA+D;YAC/D,wEAAwE;YACxE,UAAU,EAAE,OAAC;iBACR,KAAK,CACF,OAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;gBACzB,OAAC;qBACI,MAAM,CAAC;oBACJ,IAAI,EAAE,OAAC,CAAC,OAAO,CAAC,SAAS,CAAC;oBAC1B,IAAI,EAAE,OAAC;yBACF,MAAM,CAAC,OAAC,CAAC,MAAM,EAAE,EAAE,wCAAoB,CAAC,QAAQ,CAAC,iCAAiC,CAAC,CAAC;yBACpF,QAAQ,CAAC,sBAAsB,CAAC;iBACxC,CAAC;qBACD,QAAQ,CAAC,6EAA6E,CAAC;gBAC5F,IAAI,CAAC,2BAA2B;gBAChC,IAAI,CAAC,0BAA0B;aAClC,CAAC,CACL;iBACA,QAAQ,CACL,sJAAsJ,CACzJ;SACR,CAAC;QACc,iBAAY,GAAG,uBAAuB,CAAC;IA6F3D,CAAC;IAzFa,KAAK,CAAC,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,IAAI,EACJ,UAAU,EAAE,WAAW,GACO;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,IAAI,OAAO,GAAa,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;QAClC,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,yFAAyF,CAAC,CAAC;QAC/G,CAAC;QAED,IAAI,qBAAqB,GAAG,EAAE,CAAC;QAE/B,QAAQ,UAAU,CAAC,IAAI,EAAE,CAAC;YACtB,KAAK,SAAS;gBACV,OAAO,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE;oBACzD;wBACI,GAAG,EAAE,UAAU,CAAC,IAAI;wBACpB,IAAI;qBACP;iBACJ,CAAC,CAAC;gBACH,MAAM;YACV,KAAK,cAAc;gBACf,CAAC;oBACG,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;oBAC3C,OAAO,GAAG,MAAM,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE;wBAC/D;4BACI,IAAI;4BACJ,UAAU,EAAE;gCACR,MAAM,EAAE,UAAU,CAAC,MAAM;6BAC5B;4BACD,IAAI,EAAE,cAAc;yBACvB;qBACJ,CAAC,CAAC;oBAEH,qBAAqB;wBACjB,gJAAgJ,CAAC;gBACzJ,CAAC;gBAED,MAAM;YACV,KAAK,QAAQ;gBACT,CAAC;oBACG,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;oBAC3C,OAAO,GAAG,MAAM,QAAQ,CAAC,mBAAmB,CAAC,QAAQ,EAAE,UAAU,EAAE;wBAC/D;4BACI,IAAI;4BACJ,UAAU,EAAE;gCACR,QAAQ,EAAE,UAAU,CAAC,QAAQ;gCAC7B,QAAQ,EAAE,UAAU,CAAC,QAAQ;gCAC7B,aAAa,EAAE,UAAU,CAAC,aAAa;6BAC1C;4BACD,IAAI,EAAE,QAAQ;yBACjB;qBACJ,CAAC,CAAC;oBAEH,qBAAqB;wBACjB,yIAAyI,CAAC;gBAClJ,CAAC;gBAED,MAAM;QACd,CAAC;QAED,OAAO;YACH,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,sBAAsB,OAAO,CAAC,CAAC,CAAC,oBAAoB,UAAU,kBAAkB,QAAQ,KAAK,qBAAqB,EAAE;oBAC1H,IAAI,EAAE,MAAM;iBACf;aACJ;YACD,iBAAiB,EAAE;gBACf,QAAQ;gBACR,UAAU;gBACV,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE;gBAC3B,SAAS,EAAE,UAAU,CAAC,IAAI;aAC7B;SACJ,CAAC;IACN,CAAC;IAEkB,wBAAwB,CACvC,IAAqC,EACrC,EAAE,MAAM,EAA0D;QAElE,OAAO;YACH,GAAG,KAAK,CAAC,wBAAwB,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC;YACnD,UAAU,EAAE,MAAM,CAAC,iBAAiB,EAAE,SAAS;SAClD,CAAC;IACN,CAAC;;AA1SL,0CA2SC;AA3HU,wBAAQ,GAAG,cAAc,AAAjB,CAAkB;AAgC1B,6BAAa,GAAkB,QAAQ,AAA1B,CAA2B"}
@@ -1 +1 @@
1
- {"version":3,"file":"deleteMany.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/delete/deleteMany.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAIzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,sBAAsB;;;;CAI3B,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,SAA2E;IACtF,SAAS;;;;MAOd;IACc,YAAY;;;;MAA0B;IACtD,MAAM,CAAC,aAAa,EAAE,aAAa,CAAY;cAE/B,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,MAAM,GACT,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;IA6ClF,SAAS,CAAC,sBAAsB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM;CAY9G"}
1
+ {"version":3,"file":"deleteMany.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/delete/deleteMany.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAIzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,QAAA,MAAM,sBAAsB;;;;CAI3B,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,SAA2E;IACtF,SAAS;;;;MAOd;IACc,YAAY;;;;MAA0B;IACtD,MAAM,CAAC,aAAa,EAAE,aAAa,CAAY;cAE/B,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,MAAM,GACT,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;IA+ClF,SAAS,CAAC,sBAAsB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM;CAY9G"}
@@ -25,6 +25,7 @@ class DeleteManyTool extends mongodbTool_js_1.MongoDBToolBase {
25
25
  }
26
26
  async execute({ database, collection, filter, }) {
27
27
  const provider = await this.ensureConnected();
28
+ this.assertMqlIsAllowed(filter);
28
29
  // Check if delete operation uses an index if enabled
29
30
  if (this.config.indexCheck) {
30
31
  await (0, indexCheck_js_1.checkIndexUsage)({
@@ -1 +1 @@
1
- {"version":3,"file":"deleteMany.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/delete/deleteMany.ts"],"names":[],"mappings":";;;AAAA,sDAAuE;AAEvE,kEAAiE;AACjE,+BAA6B;AAC7B,2CAAuC;AACvC,6BAAwB;AAExB,MAAM,sBAAsB,GAAG;IAC3B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;IACtB,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE;CAC3B,CAAC;AAIF,MAAa,cAAe,SAAQ,gCAAe;IAAnD;;QAEW,gBAAW,GAAG,uEAAuE,CAAC;QACtF,cAAS,GAAG;YACf,GAAG,kCAAiB;YACpB,MAAM,EAAE,IAAA,gBAAM,GAAE;iBACX,QAAQ,EAAE;iBACV,QAAQ,CACL,6HAA6H,CAChI;SACR,CAAC;QACc,iBAAY,GAAG,sBAAsB,CAAC;IAgE1D,CAAC;IA7Da,KAAK,CAAC,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,MAAM,GACwB;QAC9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAE9C,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,KAAK,EAAE,CAAC,EAAE,wCAAwC;iCACrD;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,CAAC,CAAC;QAEvE,OAAO;YACH,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,aAAa,MAAM,CAAC,YAAY,mCAAmC,UAAU,GAAG;oBACtF,IAAI,EAAE,MAAM;iBACf;aACJ;YACD,iBAAiB,EAAE;gBACf,QAAQ;gBACR,UAAU;gBACV,YAAY,EAAE,MAAM,CAAC,YAAY;aACpC;SACJ,CAAC;IACN,CAAC;IAES,sBAAsB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAmC;QAC9F,MAAM,iBAAiB,GACnB,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;YACpC,CAAC,CAAC,WAAW,GAAG,eAAe,YAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS;YACxE,CAAC,CAAC,qCAAqC,CAAC;QAChD,OAAO,CACH,gDAAgD,UAAU,0BAA0B,QAAQ,kBAAkB;YAC9G,iBAAiB;YACjB,+EAA+E;YAC/E,iDAAiD,CACpD,CAAC;IACN,CAAC;;AA1EL,wCA2EC;AA1EU,uBAAQ,GAAG,aAAa,AAAhB,CAAiB;AAWzB,4BAAa,GAAkB,QAAQ,AAA1B,CAA2B"}
1
+ {"version":3,"file":"deleteMany.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/delete/deleteMany.ts"],"names":[],"mappings":";;;AAAA,sDAAuE;AAEvE,kEAAiE;AACjE,+BAA6B;AAC7B,2CAAuC;AACvC,6BAAwB;AAExB,MAAM,sBAAsB,GAAG;IAC3B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE;IACpB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;IACtB,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE;CAC3B,CAAC;AAIF,MAAa,cAAe,SAAQ,gCAAe;IAAnD;;QAEW,gBAAW,GAAG,uEAAuE,CAAC;QACtF,cAAS,GAAG;YACf,GAAG,kCAAiB;YACpB,MAAM,EAAE,IAAA,gBAAM,GAAE;iBACX,QAAQ,EAAE;iBACV,QAAQ,CACL,6HAA6H,CAChI;SACR,CAAC;QACc,iBAAY,GAAG,sBAAsB,CAAC;IAkE1D,CAAC;IA/Da,KAAK,CAAC,OAAO,CAAC,EACpB,QAAQ,EACR,UAAU,EACV,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,KAAK,EAAE,CAAC,EAAE,wCAAwC;iCACrD;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,CAAC,CAAC;QAEvE,OAAO;YACH,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,aAAa,MAAM,CAAC,YAAY,mCAAmC,UAAU,GAAG;oBACtF,IAAI,EAAE,MAAM;iBACf;aACJ;YACD,iBAAiB,EAAE;gBACf,QAAQ;gBACR,UAAU;gBACV,YAAY,EAAE,MAAM,CAAC,YAAY;aACpC;SACJ,CAAC;IACN,CAAC;IAES,sBAAsB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAmC;QAC9F,MAAM,iBAAiB,GACnB,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC;YACpC,CAAC,CAAC,WAAW,GAAG,eAAe,YAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,SAAS;YACxE,CAAC,CAAC,qCAAqC,CAAC;QAChD,OAAO,CACH,gDAAgD,UAAU,0BAA0B,QAAQ,kBAAkB;YAC9G,iBAAiB;YACjB,+EAA+E;YAC/E,iDAAiD,CACpD,CAAC;IACN,CAAC;;AA5EL,wCA6EC;AA5EU,uBAAQ,GAAG,aAAa,AAAhB,CAAiB;AAWzB,4BAAa,GAAkB,QAAQ,AAA1B,CAA2B"}
@@ -14,8 +14,8 @@ export declare class DropIndexTool extends MongoDBToolBase {
14
14
  argsShape: {
15
15
  indexName: z.ZodString;
16
16
  type: z.ZodEnum<{
17
- search: "search";
18
17
  classic: "classic";
18
+ search: "search";
19
19
  }>;
20
20
  collection: z.ZodString;
21
21
  database: z.ZodString;
@@ -3,8 +3,17 @@ import type { ToolArgs, OperationType, ToolExecutionContext, ToolResult } from "
3
3
  import { z } from "zod";
4
4
  declare const ExplainOutputSchema: {
5
5
  explainResult: z.ZodRecord<z.ZodString, z.ZodUnknown>;
6
- method: z.ZodString;
7
- verbosity: z.ZodString;
6
+ method: z.ZodEnum<{
7
+ find: "find";
8
+ count: "count";
9
+ aggregate: "aggregate";
10
+ }>;
11
+ verbosity: z.ZodEnum<{
12
+ queryPlanner: "queryPlanner";
13
+ queryPlannerExtended: "queryPlannerExtended";
14
+ executionStats: "executionStats";
15
+ allPlansExecution: "allPlansExecution";
16
+ }>;
8
17
  };
9
18
  export type ExplainOutput = z.infer<z.ZodObject<typeof ExplainOutputSchema>>;
10
19
  export declare class ExplainTool extends MongoDBToolBase {
@@ -69,8 +78,17 @@ export declare class ExplainTool extends MongoDBToolBase {
69
78
  };
70
79
  outputSchema: {
71
80
  explainResult: z.ZodRecord<z.ZodString, z.ZodUnknown>;
72
- method: z.ZodString;
73
- verbosity: z.ZodString;
81
+ method: z.ZodEnum<{
82
+ find: "find";
83
+ count: "count";
84
+ aggregate: "aggregate";
85
+ }>;
86
+ verbosity: z.ZodEnum<{
87
+ queryPlanner: "queryPlanner";
88
+ queryPlannerExtended: "queryPlannerExtended";
89
+ executionStats: "executionStats";
90
+ allPlansExecution: "allPlansExecution";
91
+ }>;
74
92
  };
75
93
  static operationType: OperationType;
76
94
  protected execute({ database, collection, method: methods, verbosity }: ToolArgs<typeof this.argsShape>, { signal }: ToolExecutionContext): Promise<ToolResult<typeof this.outputSchema>>;
@@ -1 +1 @@
1
- {"version":3,"file":"explain.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/explain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE/F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,QAAA,MAAM,mBAAmB;;;;CAIxB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC;AAE7E,qBAAa,WAAY,SAAQ,eAAe;IAC5C,MAAM,CAAC,QAAQ,SAAa;IACrB,WAAW,SAC2G;IAEtH,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAiCd;IACc,YAAY;;;;MAAuB;IAEnD,MAAM,CAAC,aAAa,EAAE,aAAa,CAAc;cAEjC,OAAO,CACnB,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EACrF,EAAE,MAAM,EAAE,EAAE,oBAAoB,GACjC,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;CAoEnD"}
1
+ {"version":3,"file":"explain.d.ts","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/explain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE/F,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;CAIxB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,mBAAmB,CAAC,CAAC,CAAC;AAE7E,qBAAa,WAAY,SAAQ,eAAe;IAC5C,MAAM,CAAC,QAAQ,SAAa;IACrB,WAAW,SAC2G;IAEtH,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAgCd;IACc,YAAY;;;;;;;;;;;;;MAAuB;IAEnD,MAAM,CAAC,aAAa,EAAE,aAAa,CAAc;cAEjC,OAAO,CACnB,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EACrF,EAAE,MAAM,EAAE,EAAE,oBAAoB,GACjC,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;CAuEnD"}
@@ -7,10 +7,11 @@ const zod_1 = require("zod");
7
7
  const aggregate_js_1 = require("../read/aggregate.js");
8
8
  const find_js_1 = require("../read/find.js");
9
9
  const count_js_1 = require("../read/count.js");
10
+ const verbosityEnum = zod_1.z.enum(["queryPlanner", "queryPlannerExtended", "executionStats", "allPlansExecution"]);
10
11
  const ExplainOutputSchema = {
11
12
  explainResult: zod_1.z.record(zod_1.z.string(), zod_1.z.unknown()),
12
- method: zod_1.z.string(),
13
- verbosity: zod_1.z.string(),
13
+ method: zod_1.z.enum(["aggregate", "find", "count"]),
14
+ verbosity: verbosityEnum,
14
15
  };
15
16
  class ExplainTool extends mongodbTool_js_1.MongoDBToolBase {
16
17
  constructor() {
@@ -40,8 +41,7 @@ class ExplainTool extends mongodbTool_js_1.MongoDBToolBase {
40
41
  }),
41
42
  ]))
42
43
  .describe("The method and its arguments to run"),
43
- verbosity: zod_1.z
44
- .enum(["queryPlanner", "queryPlannerExtended", "executionStats", "allPlansExecution"])
44
+ verbosity: verbosityEnum
45
45
  .optional()
46
46
  .default("queryPlanner")
47
47
  .describe("The verbosity of the explain plan, defaults to queryPlanner. If the user wants to know how fast is a query in execution time, use executionStats. It supports all verbosities as defined in the MongoDB Driver."),
@@ -58,6 +58,7 @@ class ExplainTool extends mongodbTool_js_1.MongoDBToolBase {
58
58
  switch (method.name) {
59
59
  case "aggregate": {
60
60
  const { pipeline } = method.arguments;
61
+ this.assertMqlIsAllowed(pipeline);
61
62
  result = await provider
62
63
  .aggregate(database, collection, pipeline, {
63
64
  ...this.getOperationOptions(signal),
@@ -69,6 +70,7 @@ class ExplainTool extends mongodbTool_js_1.MongoDBToolBase {
69
70
  }
70
71
  case "find": {
71
72
  const { filter, ...rest } = method.arguments;
73
+ this.assertMqlIsAllowed(filter);
72
74
  result = await provider
73
75
  .find(database, collection, filter, {
74
76
  ...rest,
@@ -79,6 +81,7 @@ class ExplainTool extends mongodbTool_js_1.MongoDBToolBase {
79
81
  }
80
82
  case "count": {
81
83
  const { query } = method.arguments;
84
+ this.assertMqlIsAllowed(query);
82
85
  result = await provider.runCommandWithCheck(database, {
83
86
  explain: {
84
87
  count: collection,
@@ -1 +1 @@
1
- {"version":3,"file":"explain.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/explain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"explain.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/metadata/explain.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,22 @@ export declare abstract class MongoDBToolBase extends ToolBase {
24
24
  signal?: AbortSignal;
25
25
  maxTimeMS?: number;
26
26
  };
27
+ /**
28
+ * Rejects the operation when the provided MQL input is not permitted by the
29
+ * current configuration:
30
+ * - server-side JavaScript operators (such as $where, $function, or
31
+ * $accumulator) are rejected when the `disableServerSideJs` configuration
32
+ * option is enabled. This applies to both query filters and aggregation
33
+ * pipelines.
34
+ * - aggregation pipelines containing a write stage ($out or $merge) are
35
+ * rejected in readOnly mode or when create/update/delete operations are
36
+ * disabled. This prevents read-oriented tools such as aggregate and
37
+ * export from being used to circumvent those restrictions.
38
+ *
39
+ * Write stages only exist in aggregation pipelines, which are passed as an
40
+ * array, so that check is skipped for plain query filters.
41
+ */
42
+ protected assertMqlIsAllowed(value: Record<string, unknown> | Record<string, unknown>[] | undefined): void;
27
43
  register(server: Server): boolean;
28
44
  protected handleError(error: unknown, args: ToolArgs<typeof this.argsShape>): Promise<CallToolResult>;
29
45
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"mongodbTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/mongodb/mongodbTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAEnE,eAAO,MAAM,eAAe;;CAE3B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;CAG7B,CAAC;AAEF,8BAAsB,eAAgB,SAAQ,QAAQ;IAClD,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAa;cAE1B,eAAe,IAAI,OAAO,CAAC,yBAAyB,CAAC;IA8BrE;;;OAGG;IACH,SAAS,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;IAO1F,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;cAKxB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IAgD3G;;;;;;;;OAQG;IACH,SAAS,CAAC,wBAAwB,CAE9B,KAAK,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EAEtC,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,EAAE,cAAc,CAAA;KAAE,GACvC,kBAAkB;CAGxB"}
1
+ {"version":3,"file":"mongodbTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/mongodb/mongodbTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAiB,QAAQ,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uCAAuC,CAAC;AACvF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAGzE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAGnE,eAAO,MAAM,eAAe;;CAE3B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;CAG7B,CAAC;AAEF,8BAAsB,eAAgB,SAAQ,QAAQ;IAClD,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAa;cAE1B,eAAe,IAAI,OAAO,CAAC,yBAAyB,CAAC;IA8BrE;;;OAGG;IACH,SAAS,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG;QAAE,MAAM,CAAC,EAAE,WAAW,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;IAOjG;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,SAAS,GAAG,IAAI;IA8BnG,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;cAKxB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IAgD3G;;;;;;;;OAQG;IACH,SAAS,CAAC,wBAAwB,CAE9B,KAAK,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EAEtC,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,EAAE,cAAc,CAAA;KAAE,GACvC,kBAAkB;CAGxB"}
@@ -5,6 +5,7 @@ const zod_1 = require("zod");
5
5
  const tool_js_1 = require("../tool.js");
6
6
  const errors_js_1 = require("../../common/errors.js");
7
7
  const index_js_1 = require("../../common/logging/index.js");
8
+ const mqlGuards_js_1 = require("../../helpers/mqlGuards.js");
8
9
  exports.DBOperationArgs = {
9
10
  database: zod_1.z.string().describe("Database name"),
10
11
  };
@@ -47,6 +48,48 @@ class MongoDBToolBase extends tool_js_1.ToolBase {
47
48
  ...(this.config.maxTimeMS !== undefined && { maxTimeMS: this.config.maxTimeMS }),
48
49
  };
49
50
  }
51
+ /**
52
+ * Rejects the operation when the provided MQL input is not permitted by the
53
+ * current configuration:
54
+ * - server-side JavaScript operators (such as $where, $function, or
55
+ * $accumulator) are rejected when the `disableServerSideJs` configuration
56
+ * option is enabled. This applies to both query filters and aggregation
57
+ * pipelines.
58
+ * - aggregation pipelines containing a write stage ($out or $merge) are
59
+ * rejected in readOnly mode or when create/update/delete operations are
60
+ * disabled. This prevents read-oriented tools such as aggregate and
61
+ * export from being used to circumvent those restrictions.
62
+ *
63
+ * Write stages only exist in aggregation pipelines, which are passed as an
64
+ * array, so that check is skipped for plain query filters.
65
+ */
66
+ assertMqlIsAllowed(value) {
67
+ if (this.config.disableServerSideJs) {
68
+ (0, mqlGuards_js_1.assertNoServerSideJS)(value);
69
+ }
70
+ if (Array.isArray(value)) {
71
+ // Only check for forbidden write stages when the value is an array, which indicates it's an
72
+ // aggregation pipeline. Query filters are objects, so they won't be checked for write stages,
73
+ // which is correct since they can't contain them.
74
+ const writeOperations = ["update", "create", "delete"];
75
+ let writeStageForbiddenErrorMessage = "";
76
+ if (this.config.readOnly) {
77
+ writeStageForbiddenErrorMessage =
78
+ "In readOnly mode you can not run pipelines with $out or $merge stages.";
79
+ }
80
+ else if (this.config.disabledTools.some((t) => writeOperations.includes(t))) {
81
+ writeStageForbiddenErrorMessage =
82
+ "When 'create', 'update', or 'delete' operations are disabled, you can not run pipelines with $out or $merge stages.";
83
+ }
84
+ if (writeStageForbiddenErrorMessage) {
85
+ for (const stage of value) {
86
+ if ((0, mqlGuards_js_1.isWriteStage)(stage)) {
87
+ throw new errors_js_1.MongoDBError(errors_js_1.ErrorCodes.ForbiddenWriteOperation, writeStageForbiddenErrorMessage);
88
+ }
89
+ }
90
+ }
91
+ }
92
+ }
50
93
  register(server) {
51
94
  this.server = server;
52
95
  return super.register(server);
@@ -1 +1 @@
1
- {"version":3,"file":"mongodbTool.js","sourceRoot":"","sources":["../../../../src/tools/mongodb/mongodbTool.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,wCAAsC;AAGtC,sDAAkE;AAClE,4DAAsD;AAIzC,QAAA,eAAe,GAAG;IAC3B,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;CACjD,CAAC;AAEW,QAAA,iBAAiB,GAAG;IAC7B,GAAG,uBAAe;IAClB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;CACrD,CAAC;AAEF,MAAsB,eAAgB,SAAQ,kBAAQ;IAIxC,KAAK,CAAC,eAAe;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;gBACrC,MAAM,IAAI,wBAAY,CAClB,sBAAU,CAAC,qBAAqB,EAChC,2CAA2C,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,WAAW,gCAAgC,CAC5H,CAAC;YACN,CAAC;YAED,IAAI,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC/B,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,OAAO,CAAC,6BAA6B,EAAE,CAAC;gBACvD,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;wBACtB,EAAE,EAAE,gBAAK,CAAC,qBAAqB;wBAC/B,OAAO,EAAE,aAAa;wBACtB,OAAO,EAAE,sFAAsF,KAAe,EAAE;qBACnH,CAAC,CAAC;oBACH,MAAM,IAAI,wBAAY,CAAC,sBAAU,CAAC,6BAA6B,EAAE,2BAA2B,CAAC,CAAC;gBAClG,CAAC;YACL,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC;YACrC,MAAM,IAAI,wBAAY,CAAC,sBAAU,CAAC,qBAAqB,EAAE,0BAA0B,CAAC,CAAC;QACzF,CAAC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC;IACxC,CAAC;IAED;;;OAGG;IACO,mBAAmB,CAAC,MAAoB;QAC9C,OAAO;YACH,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC;YACzB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;SACnF,CAAC;IACN,CAAC;IAEM,QAAQ,CAAC,MAAc;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAES,KAAK,CAAC,WAAW,CAAC,KAAc,EAAE,IAAqC;QAC7E,IAAI,KAAK,YAAY,wBAAY,EAAE,CAAC;YAChC,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;gBACjB,KAAK,sBAAU,CAAC,qBAAqB,CAAC;gBACtC,KAAK,sBAAU,CAAC,6BAA6B,CAAC,CAAC,CAAC;oBAC5C,MAAM,eAAe,GAAG,KAEvB,CAAC;oBACF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,eAAe,EAAE;wBACvE,cAAc,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE;wBACxC,eAAe,EAAE,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,sBAAsB;qBACzE,CAAC,CAAC;oBACH,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;wBACvB,OAAO,OAAO,CAAC,MAAM,CAAC;oBAC1B,CAAC;oBAED,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC1C,CAAC;gBACD,KAAK,sBAAU,CAAC,iBAAiB;oBAC7B,OAAO;wBACH,OAAO,EAAE;4BACL;gCACI,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,KAAK,CAAC,OAAO;6BACtB;yBACJ;wBACD,OAAO,EAAE,IAAI;qBAChB,CAAC;gBACN,KAAK,sBAAU,CAAC,uBAAuB,CAAC,CAAC,CAAC;oBACtC,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,uBAAuB,CAAC,aAAwC,CAAC;wBACtF,CAAC,CAAC,qBAAqB;wBACvB,CAAC,CAAC,WAAW,CAAC;oBAClB,OAAO;wBACH,OAAO,EAAE;4BACL;gCACI,IAAI,EAAE,iIAAiI,GAAG,iDAAiD;gCAC3L,IAAI,EAAE,MAAM;6BACf;yBACJ;wBACD,OAAO,EAAE,IAAI;qBAChB,CAAC;gBACN,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;OAQG;IACO,wBAAwB;IAC9B,6DAA6D;IAC7D,KAAsC;IACtC,6DAA6D;IAC7D,EAAE,MAAM,EAA8B;QAEtC,OAAO,IAAI,CAAC,yBAAyB,EAAE,CAAC;IAC5C,CAAC;;AAlHL,0CAmHC;AAjHU,wBAAQ,GAAiB,SAAS,CAAC"}
1
+ {"version":3,"file":"mongodbTool.js","sourceRoot":"","sources":["../../../../src/tools/mongodb/mongodbTool.ts"],"names":[],"mappings":"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"}
@@ -75,6 +75,5 @@ export declare class AggregateTool extends MongoDBToolBase {
75
75
  private isVectorSearchIndexUsed;
76
76
  private generateMessage;
77
77
  private isSearchStage;
78
- private isWriteStage;
79
78
  }
80
79
  //# sourceMappingURL=aggregate.d.ts.map
@@ -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;AAenF,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;YAgC7B,+BAA+B;YAuC/B,uBAAuB;IA8CrC,OAAO,CAAC,eAAe;IA6BvB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,YAAY;CAGvB"}
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) => this.isWriteStage(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
- let writeStageForbiddenError = "";
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":"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"}
1
+ {"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/aggregate.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,5 @@ export declare class AggregateDBTool extends MongoDBToolBase {
19
19
  private assertOnlyUsesPermittedStages;
20
20
  private countAggregationResultDocuments;
21
21
  private generateMessage;
22
- private isWriteStage;
23
22
  }
24
23
  //# sourceMappingURL=aggregateDB.d.ts.map
@@ -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;AAUnF,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;YA6BvB,+BAA+B;IAqC7C,OAAO,CAAC,eAAe;IA2BvB,OAAO,CAAC,YAAY;CAGvB"}
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) => this.isWriteStage(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
- const writeOperations = ["update", "create", "delete"];
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":"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"}
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;CA0C7B"}
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;IAiDN,CAAC;IA7Ca,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,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;;AAvDL,8BAwDC;AAvDU,kBAAQ,GAAG,OAAO,AAAV,CAAW;AAQnB,uBAAa,GAAkB,MAAM,AAAxB,CAAyB"}
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;IAsE1B,OAAO,CAAC,sBAAsB;CAGjC"}
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,