mongodb-mcp-server 2.0.1-alpha.3 → 2.0.1-alpha.5

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 (68) hide show
  1. package/README.md +5 -1
  2. package/dist/cjs/common/errors.d.ts +2 -1
  3. package/dist/cjs/common/errors.d.ts.map +1 -1
  4. package/dist/cjs/common/errors.js +1 -0
  5. package/dist/cjs/common/errors.js.map +1 -1
  6. package/dist/cjs/common/packageInfo.js +1 -1
  7. package/dist/cjs/helpers/mqlGuards.d.ts +28 -0
  8. package/dist/cjs/helpers/mqlGuards.d.ts.map +1 -1
  9. package/dist/cjs/helpers/mqlGuards.js +75 -1
  10. package/dist/cjs/helpers/mqlGuards.js.map +1 -1
  11. package/dist/cjs/helpers/writeStageConfirmation.d.ts +12 -0
  12. package/dist/cjs/helpers/writeStageConfirmation.d.ts.map +1 -0
  13. package/dist/cjs/helpers/writeStageConfirmation.js +30 -0
  14. package/dist/cjs/helpers/writeStageConfirmation.js.map +1 -0
  15. package/dist/cjs/tools/atlas/create/createAccessList.d.ts +1 -0
  16. package/dist/cjs/tools/atlas/create/createAccessList.d.ts.map +1 -1
  17. package/dist/cjs/tools/atlas/create/createAccessList.js +5 -0
  18. package/dist/cjs/tools/atlas/create/createAccessList.js.map +1 -1
  19. package/dist/cjs/tools/mongodb/mongodbTool.d.ts +7 -1
  20. package/dist/cjs/tools/mongodb/mongodbTool.d.ts.map +1 -1
  21. package/dist/cjs/tools/mongodb/mongodbTool.js +15 -0
  22. package/dist/cjs/tools/mongodb/mongodbTool.js.map +1 -1
  23. package/dist/cjs/tools/mongodb/read/aggregate.d.ts +1 -1
  24. package/dist/cjs/tools/mongodb/read/aggregate.d.ts.map +1 -1
  25. package/dist/cjs/tools/mongodb/read/aggregate.js +5 -2
  26. package/dist/cjs/tools/mongodb/read/aggregate.js.map +1 -1
  27. package/dist/cjs/tools/mongodb/read/aggregateDB.d.ts +1 -1
  28. package/dist/cjs/tools/mongodb/read/aggregateDB.d.ts.map +1 -1
  29. package/dist/cjs/tools/mongodb/read/aggregateDB.js +5 -2
  30. package/dist/cjs/tools/mongodb/read/aggregateDB.js.map +1 -1
  31. package/dist/cjs/tools/tool.d.ts +23 -12
  32. package/dist/cjs/tools/tool.d.ts.map +1 -1
  33. package/dist/cjs/tools/tool.js +51 -56
  34. package/dist/cjs/tools/tool.js.map +1 -1
  35. package/dist/esm/common/errors.d.ts +2 -1
  36. package/dist/esm/common/errors.d.ts.map +1 -1
  37. package/dist/esm/common/errors.js +1 -0
  38. package/dist/esm/common/errors.js.map +1 -1
  39. package/dist/esm/common/packageInfo.js +1 -1
  40. package/dist/esm/helpers/mqlGuards.d.ts +28 -0
  41. package/dist/esm/helpers/mqlGuards.d.ts.map +1 -1
  42. package/dist/esm/helpers/mqlGuards.js +74 -1
  43. package/dist/esm/helpers/mqlGuards.js.map +1 -1
  44. package/dist/esm/helpers/writeStageConfirmation.d.ts +12 -0
  45. package/dist/esm/helpers/writeStageConfirmation.d.ts.map +1 -0
  46. package/dist/esm/helpers/writeStageConfirmation.js +27 -0
  47. package/dist/esm/helpers/writeStageConfirmation.js.map +1 -0
  48. package/dist/esm/tools/atlas/create/createAccessList.d.ts +1 -0
  49. package/dist/esm/tools/atlas/create/createAccessList.d.ts.map +1 -1
  50. package/dist/esm/tools/atlas/create/createAccessList.js +5 -0
  51. package/dist/esm/tools/atlas/create/createAccessList.js.map +1 -1
  52. package/dist/esm/tools/mongodb/mongodbTool.d.ts +7 -1
  53. package/dist/esm/tools/mongodb/mongodbTool.d.ts.map +1 -1
  54. package/dist/esm/tools/mongodb/mongodbTool.js +15 -0
  55. package/dist/esm/tools/mongodb/mongodbTool.js.map +1 -1
  56. package/dist/esm/tools/mongodb/read/aggregate.d.ts +1 -1
  57. package/dist/esm/tools/mongodb/read/aggregate.d.ts.map +1 -1
  58. package/dist/esm/tools/mongodb/read/aggregate.js +6 -3
  59. package/dist/esm/tools/mongodb/read/aggregate.js.map +1 -1
  60. package/dist/esm/tools/mongodb/read/aggregateDB.d.ts +1 -1
  61. package/dist/esm/tools/mongodb/read/aggregateDB.d.ts.map +1 -1
  62. package/dist/esm/tools/mongodb/read/aggregateDB.js +6 -3
  63. package/dist/esm/tools/mongodb/read/aggregateDB.js.map +1 -1
  64. package/dist/esm/tools/tool.d.ts +23 -12
  65. package/dist/esm/tools/tool.d.ts.map +1 -1
  66. package/dist/esm/tools/tool.js +51 -56
  67. package/dist/esm/tools/tool.js.map +1 -1
  68. package/package.json +3 -3
package/README.md CHANGED
@@ -528,7 +528,11 @@ If your client supports [elicitation](https://modelcontextprotocol.io/specificat
528
528
 
529
529
  When a tool is marked as requiring confirmation, the server will send an elicitation request to the client. The client with elicitation support will then prompt the user for confirmation and send the response back to the server. If the client does not support elicitation, the tool will execute without confirmation.
530
530
 
531
- You can set the `confirmationRequiredTools` configuration option to specify the names of tools which require confirmation. By default, the following tools have this setting enabled: `drop-database`, `drop-collection`, `delete-many`, `atlas-create-db-user`, `atlas-create-access-list`.
531
+ You can set the `confirmationRequiredTools` configuration option to specify the names of tools which require confirmation. By default, the following tools have this setting enabled: `drop-database`, `drop-collection`, `delete-many`, `drop-index`, `atlas-create-db-user`, `atlas-create-access-list`, `atlas-streams-manage`, `atlas-streams-teardown`.
532
+
533
+ In addition, the `aggregate` and `aggregate-db` tools always request confirmation before running a pipeline that contains a `$out` or `$merge` stage, regardless of whether they appear in `confirmationRequiredTools`. Those stages write to a collection — `$out` replaces its contents entirely — so this confirmation names the affected collection and what will happen to it. Pipelines without a write stage are not confirmed.
534
+
535
+ Adding either tool to `confirmationRequiredTools` is broader: every call is then confirmed up front with the standard tool-level message, and a write stage does not raise a second prompt.
532
536
 
533
537
  #### Read-Only Mode
534
538
 
@@ -8,7 +8,8 @@ export declare enum ErrorCodes {
8
8
  AtlasVectorSearchInvalidQuery = 1000007,
9
9
  InvalidPipeline = 1000008,
10
10
  ForbiddenServerSideJS = 1000009,
11
- UnknownConnectionId = 1000010
11
+ UnknownConnectionId = 1000010,
12
+ ConfirmationDeclined = 1000011
12
13
  }
13
14
  export declare class MongoDBError<ErrorCode extends ErrorCodes = ErrorCodes> extends Error {
14
15
  code: ErrorCode;
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/common/errors.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IAClB,qBAAqB,UAAY;IACjC,6BAA6B,UAAY;IACzC,iBAAiB,UAAY;IAC7B,uBAAuB,UAAY;IACnC,uBAAuB,UAAY;IACnC,8BAA8B,UAAY;IAC1C,6BAA6B,UAAY;IACzC,eAAe,UAAY;IAC3B,qBAAqB,UAAY;IACjC,mBAAmB,UAAY;CAClC;AAED,qBAAa,YAAY,CAAC,SAAS,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,KAAK;IAEnE,IAAI,EAAE,SAAS;gBAAf,IAAI,EAAE,SAAS,EACtB,OAAO,EAAE,MAAM;CAItB"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/common/errors.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IAClB,qBAAqB,UAAY;IACjC,6BAA6B,UAAY;IACzC,iBAAiB,UAAY;IAC7B,uBAAuB,UAAY;IACnC,uBAAuB,UAAY;IACnC,8BAA8B,UAAY;IAC1C,6BAA6B,UAAY;IACzC,eAAe,UAAY;IAC3B,qBAAqB,UAAY;IACjC,mBAAmB,UAAY;IAC/B,oBAAoB,UAAY;CACnC;AAED,qBAAa,YAAY,CAAC,SAAS,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,KAAK;IAEnE,IAAI,EAAE,SAAS;gBAAf,IAAI,EAAE,SAAS,EACtB,OAAO,EAAE,MAAM;CAItB"}
@@ -13,6 +13,7 @@ var ErrorCodes;
13
13
  ErrorCodes[ErrorCodes["InvalidPipeline"] = 1000008] = "InvalidPipeline";
14
14
  ErrorCodes[ErrorCodes["ForbiddenServerSideJS"] = 1000009] = "ForbiddenServerSideJS";
15
15
  ErrorCodes[ErrorCodes["UnknownConnectionId"] = 1000010] = "UnknownConnectionId";
16
+ ErrorCodes[ErrorCodes["ConfirmationDeclined"] = 1000011] = "ConfirmationDeclined";
16
17
  })(ErrorCodes || (exports.ErrorCodes = ErrorCodes = {}));
17
18
  class MongoDBError extends Error {
18
19
  constructor(code, message) {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/common/errors.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAWX;AAXD,WAAY,UAAU;IAClB,mFAAiC,CAAA;IACjC,mGAAyC,CAAA;IACzC,2EAA6B,CAAA;IAC7B,uFAAmC,CAAA;IACnC,uFAAmC,CAAA;IACnC,qGAA0C,CAAA;IAC1C,mGAAyC,CAAA;IACzC,uEAA2B,CAAA;IAC3B,mFAAiC,CAAA;IACjC,+EAA+B,CAAA;AACnC,CAAC,EAXW,UAAU,0BAAV,UAAU,QAWrB;AAED,MAAa,YAAwD,SAAQ,KAAK;IAC9E,YACW,IAAe,EACtB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAW;IAI1B,CAAC;CACJ;AAPD,oCAOC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/common/errors.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAYX;AAZD,WAAY,UAAU;IAClB,mFAAiC,CAAA;IACjC,mGAAyC,CAAA;IACzC,2EAA6B,CAAA;IAC7B,uFAAmC,CAAA;IACnC,uFAAmC,CAAA;IACnC,qGAA0C,CAAA;IAC1C,mGAAyC,CAAA;IACzC,uEAA2B,CAAA;IAC3B,mFAAiC,CAAA;IACjC,+EAA+B,CAAA;IAC/B,iFAAgC,CAAA;AACpC,CAAC,EAZW,UAAU,0BAAV,UAAU,QAYrB;AAED,MAAa,YAAwD,SAAQ,KAAK;IAC9E,YACW,IAAe,EACtB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAW;IAI1B,CAAC;CACJ;AAPD,oCAOC"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.packageInfo = void 0;
4
4
  // This file was generated by scripts/updatePackageVersion.ts - Do not edit it manually.
5
5
  exports.packageInfo = {
6
- version: "2.0.1-alpha.3",
6
+ version: "2.0.1-alpha.5",
7
7
  mcpServerName: "MongoDB MCP Server",
8
8
  engines: {
9
9
  node: "^20.19.0 || ^22.13.0 || >= 24.0.0",
@@ -9,4 +9,32 @@ export declare function assertNoServerSideJS(value: unknown): void;
9
9
  * i.e. it is a `$out` or `$merge` stage.
10
10
  */
11
11
  export declare function isWriteStage(stage: Record<string, unknown>): boolean;
12
+ /** The collection a write stage targets, along with how it will write to it. */
13
+ export type WriteStageTarget = {
14
+ namespace: string | undefined;
15
+ } & ({
16
+ operator: "$out";
17
+ } | {
18
+ operator: "$merge";
19
+ /** The `whenMatched` mode, when the stage names one of the documented modes. */
20
+ whenMatched?: string;
21
+ /** The `whenNotMatched` mode, when the stage names one of the documented modes. */
22
+ whenNotMatched?: string;
23
+ });
24
+ /**
25
+ * Describes the collections that the write stages of a pipeline target, so that
26
+ * the user can be told what a `$out` or `$merge` is about to affect before it
27
+ * runs.
28
+ *
29
+ * Only top-level stages are inspected, matching {@link isWriteStage}: `$out` and
30
+ * `$merge` are not permitted inside sub-pipelines. MongoDB also requires them to
31
+ * be the last stage, so in practice at most one target is returned; the array
32
+ * shape means a malformed pipeline is still described in full rather than
33
+ * partially.
34
+ *
35
+ * @param pipeline - The aggregation pipeline to inspect.
36
+ * @param defaultDatabase - The database the aggregation runs against, used to
37
+ * qualify stages that name only a collection.
38
+ */
39
+ export declare function getWriteStageTargets(pipeline: Record<string, unknown>[], defaultDatabase: string): WriteStageTarget[];
12
40
  //# sourceMappingURL=mqlGuards.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mqlGuards.d.ts","sourceRoot":"","sources":["../../../src/helpers/mqlGuards.ts"],"names":[],"mappings":"AAsCA;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAUzD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAEpE"}
1
+ {"version":3,"file":"mqlGuards.d.ts","sourceRoot":"","sources":["../../../src/helpers/mqlGuards.ts"],"names":[],"mappings":"AAsCA;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAUzD;AAkBD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAEpE;AAED,gFAAgF;AAChF,MAAM,MAAM,gBAAgB,GAAG;IAAE,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAAG,CAC7D;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,GACpB;IACI,QAAQ,EAAE,QAAQ,CAAC;IACnB,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mFAAmF;IACnF,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B,CACN,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,eAAe,EAAE,MAAM,GAAG,gBAAgB,EAAE,CA4BrH"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.assertNoServerSideJS = assertNoServerSideJS;
4
4
  exports.isWriteStage = isWriteStage;
5
+ exports.getWriteStageTargets = getWriteStageTargets;
5
6
  const errors_js_1 = require("../common/errors.js");
6
7
  /**
7
8
  * Operators that execute server-side JavaScript. These can be used to run
@@ -43,11 +44,84 @@ function assertNoServerSideJS(value) {
43
44
  throw new errors_js_1.MongoDBError(errors_js_1.ErrorCodes.ForbiddenServerSideJS, `The use of server-side JavaScript operators (such as ${SERVER_SIDE_JS_OPERATORS.join(", ")}) is disabled. The "${operator}" operator is not allowed. To enable it, set the "disableServerSideJs" configuration option to false.`);
44
45
  }
45
46
  }
47
+ /**
48
+ * The write operator of an aggregation stage, or `undefined` when the stage
49
+ * does not write to a collection.
50
+ */
51
+ function writeStageOperator(stage) {
52
+ if ("$out" in stage) {
53
+ return "$out";
54
+ }
55
+ if ("$merge" in stage) {
56
+ return "$merge";
57
+ }
58
+ return undefined;
59
+ }
46
60
  /**
47
61
  * Returns true when the given aggregation stage writes data to a collection,
48
62
  * i.e. it is a `$out` or `$merge` stage.
49
63
  */
50
64
  function isWriteStage(stage) {
51
- return "$out" in stage || "$merge" in stage;
65
+ return writeStageOperator(stage) !== undefined;
66
+ }
67
+ /**
68
+ * Describes the collections that the write stages of a pipeline target, so that
69
+ * the user can be told what a `$out` or `$merge` is about to affect before it
70
+ * runs.
71
+ *
72
+ * Only top-level stages are inspected, matching {@link isWriteStage}: `$out` and
73
+ * `$merge` are not permitted inside sub-pipelines. MongoDB also requires them to
74
+ * be the last stage, so in practice at most one target is returned; the array
75
+ * shape means a malformed pipeline is still described in full rather than
76
+ * partially.
77
+ *
78
+ * @param pipeline - The aggregation pipeline to inspect.
79
+ * @param defaultDatabase - The database the aggregation runs against, used to
80
+ * qualify stages that name only a collection.
81
+ */
82
+ function getWriteStageTargets(pipeline, defaultDatabase) {
83
+ const targets = [];
84
+ for (const stage of pipeline) {
85
+ switch (writeStageOperator(stage)) {
86
+ case "$out":
87
+ targets.push({ operator: "$out", namespace: resolveNamespace(stage.$out, defaultDatabase) });
88
+ break;
89
+ case "$merge": {
90
+ // The stage is either the target itself (`$merge: "coll"`) or a
91
+ // document describing it. `whenMatched` also accepts a custom
92
+ // update pipeline, which has no concise description, so only the
93
+ // documented string modes are reported.
94
+ const spec = isRecord(stage.$merge) ? stage.$merge : undefined;
95
+ targets.push({
96
+ operator: "$merge",
97
+ namespace: resolveNamespace(spec ? spec.into : stage.$merge, defaultDatabase),
98
+ ...(typeof spec?.whenMatched === "string" ? { whenMatched: spec.whenMatched } : {}),
99
+ ...(typeof spec?.whenNotMatched === "string" ? { whenNotMatched: spec.whenNotMatched } : {}),
100
+ });
101
+ break;
102
+ }
103
+ case undefined:
104
+ break;
105
+ }
106
+ }
107
+ return targets;
108
+ }
109
+ /**
110
+ * Resolves the target of a `$out` stage or the `into` of a `$merge` stage to a
111
+ * fully qualified namespace. Returns `undefined` for any other shape, such as
112
+ * the `{ s3: ... }` target supported by Atlas Data Federation.
113
+ */
114
+ function resolveNamespace(target, defaultDatabase) {
115
+ if (typeof target === "string") {
116
+ return `${defaultDatabase}.${target}`;
117
+ }
118
+ if (isRecord(target) && typeof target.coll === "string") {
119
+ const database = typeof target.db === "string" ? target.db : defaultDatabase;
120
+ return `${database}.${target.coll}`;
121
+ }
122
+ return undefined;
123
+ }
124
+ function isRecord(value) {
125
+ return typeof value === "object" && value !== null && !Array.isArray(value);
52
126
  }
53
127
  //# sourceMappingURL=mqlGuards.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mqlGuards.js","sourceRoot":"","sources":["../../../src/helpers/mqlGuards.ts"],"names":[],"mappings":";;AA2CA,oDAUC;AAMD,oCAEC;AA7DD,mDAA+D;AAE/D;;;GAGG;AACH,MAAM,wBAAwB,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,cAAc,CAAU,CAAC;AAIlF;;;;;;GAMG;AACH,SAAS,wBAAwB,CAAC,KAAc;IAC5C,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC;IAC1G,CAAC;IAED,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,IAAI,wBAAwB,CAAC,QAAQ,CAAC,GAA2B,CAAC,EAAE,CAAC;gBACjE,OAAO,GAA2B,CAAC;YACvC,CAAC;YAED,MAAM,KAAK,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,KAAK,EAAE,CAAC;gBACR,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;;;GAIG;AACH,SAAgB,oBAAoB,CAAC,KAAc;IAC/C,MAAM,QAAQ,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,IAAI,wBAAY,CAClB,sBAAU,CAAC,qBAAqB,EAChC,wDAAwD,wBAAwB,CAAC,IAAI,CACjF,IAAI,CACP,uBAAuB,QAAQ,uGAAuG,CAC1I,CAAC;IACN,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAgB,YAAY,CAAC,KAA8B;IACvD,OAAO,MAAM,IAAI,KAAK,IAAI,QAAQ,IAAI,KAAK,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"mqlGuards.js","sourceRoot":"","sources":["../../../src/helpers/mqlGuards.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { WriteStageTarget } from "./mqlGuards.js";
2
+ /**
3
+ * Builds the message shown to the user before an aggregation containing a
4
+ * `$out` or `$merge` stage runs. The two operators differ in blast radius --
5
+ * `$out` replaces a collection wholesale while `$merge` modifies an existing
6
+ * one -- so each is described in its own terms, naming the affected namespace
7
+ * whenever it could be resolved.
8
+ *
9
+ * @param targets - The write stage targets, as returned by `getWriteStageTargets`.
10
+ */
11
+ export declare function buildWriteStageConfirmationMessage(targets: WriteStageTarget[]): string;
12
+ //# sourceMappingURL=writeStageConfirmation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeStageConfirmation.d.ts","sourceRoot":"","sources":["../../../src/helpers/writeStageConfirmation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD;;;;;;;;GAQG;AACH,wBAAgB,kCAAkC,CAAC,OAAO,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAEtF"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildWriteStageConfirmationMessage = buildWriteStageConfirmationMessage;
4
+ /**
5
+ * Builds the message shown to the user before an aggregation containing a
6
+ * `$out` or `$merge` stage runs. The two operators differ in blast radius --
7
+ * `$out` replaces a collection wholesale while `$merge` modifies an existing
8
+ * one -- so each is described in its own terms, naming the affected namespace
9
+ * whenever it could be resolved.
10
+ *
11
+ * @param targets - The write stage targets, as returned by `getWriteStageTargets`.
12
+ */
13
+ function buildWriteStageConfirmationMessage(targets) {
14
+ return `This aggregation contains ${targets.map(describeTarget).join(" and ")}. Proceed?`;
15
+ }
16
+ function describeTarget(target) {
17
+ const collection = target.namespace ? `\`${target.namespace}\`` : "its target collection";
18
+ switch (target.operator) {
19
+ case "$out":
20
+ return `a \`$out\` stage that will replace the entire contents of ${collection} with the pipeline output, permanently discarding any documents already there`;
21
+ case "$merge": {
22
+ const modes = [
23
+ target.whenMatched !== undefined ? `whenMatched: ${target.whenMatched}` : undefined,
24
+ target.whenNotMatched !== undefined ? `whenNotMatched: ${target.whenNotMatched}` : undefined,
25
+ ].filter((mode) => mode !== undefined);
26
+ return `a \`$merge\` stage that will write the pipeline output into ${collection}, modifying data already in that collection${modes.length > 0 ? ` (${modes.join(", ")})` : ""}`;
27
+ }
28
+ }
29
+ }
30
+ //# sourceMappingURL=writeStageConfirmation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeStageConfirmation.js","sourceRoot":"","sources":["../../../src/helpers/writeStageConfirmation.ts"],"names":[],"mappings":";;AAWA,gFAEC;AAXD;;;;;;;;GAQG;AACH,SAAgB,kCAAkC,CAAC,OAA2B;IAC1E,OAAO,6BAA6B,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC;AAC9F,CAAC;AAED,SAAS,cAAc,CAAC,MAAwB;IAC5C,MAAM,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC;IAE1F,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtB,KAAK,MAAM;YACP,OAAO,6DAA6D,UAAU,+EAA+E,CAAC;QAClK,KAAK,QAAQ,CAAC,CAAC,CAAC;YACZ,MAAM,KAAK,GAAG;gBACV,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS;gBACnF,MAAM,CAAC,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,SAAS;aAC/F,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;YAEvC,OAAO,+DAA+D,UAAU,8CAA8C,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACrL,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -16,6 +16,7 @@ export declare class CreateAccessListTool extends AtlasToolBase {
16
16
  outputSchema: {
17
17
  projectId: z.ZodString;
18
18
  };
19
+ protected schemaVariantKey(): string;
19
20
  protected execute({ projectId, ipAddresses, cidrBlocks, comment, currentIpAddress }: ToolArgs<typeof this.argsShape>, context: ToolExecutionContext): Promise<ToolResult<typeof this.outputSchema>>;
20
21
  protected getConfirmationMessage({ projectId, ipAddresses, cidrBlocks, comment, currentIpAddress, }: ToolArgs<typeof this.argsShape>): string;
21
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"createAccessList.d.ts","sourceRoot":"","sources":["../../../../../src/tools/atlas/create/createAccessList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,oBAAoB,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAC9G,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD,eAAO,MAAM,oBAAoB;;;;;;CAShC,CAAC;AAMF,qBAAa,oBAAqB,SAAQ,aAAa;IACnD,MAAM,CAAC,QAAQ,SAA8B;IACtC,WAAW,SAAiE;IACnF,MAAM,CAAC,aAAa,EAAE,aAAa,CAAY;IAK/C,IAAW,SAAS,IAAI,OAAO,oBAAoB,CAQlD;IACe,YAAY;;MAAgC;cAE5C,OAAO,CACnB,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EAClG,OAAO,EAAE,oBAAoB,GAC9B,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;IAyDhD,SAAS,CAAC,sBAAsB,CAAC,EAC7B,SAAS,EACT,WAAW,EACX,UAAU,EACV,OAAO,EACP,gBAAgB,GACnB,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM;CAoB9C"}
1
+ {"version":3,"file":"createAccessList.d.ts","sourceRoot":"","sources":["../../../../../src/tools/atlas/create/createAccessList.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,oBAAoB,EAAE,KAAK,UAAU,EAAE,MAAM,eAAe,CAAC;AAC9G,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIhD,eAAO,MAAM,oBAAoB;;;;;;CAShC,CAAC;AAMF,qBAAa,oBAAqB,SAAQ,aAAa;IACnD,MAAM,CAAC,QAAQ,SAA8B;IACtC,WAAW,SAAiE;IACnF,MAAM,CAAC,aAAa,EAAE,aAAa,CAAY;IAK/C,IAAW,SAAS,IAAI,OAAO,oBAAoB,CAQlD;IACe,YAAY;;MAAgC;cAIzC,gBAAgB,IAAI,MAAM;cAI7B,OAAO,CACnB,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EAClG,OAAO,EAAE,oBAAoB,GAC9B,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;IAyDhD,SAAS,CAAC,sBAAsB,CAAC,EAC7B,SAAS,EACT,WAAW,EACX,UAAU,EACV,OAAO,EACP,gBAAgB,GACnB,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM;CAoB9C"}
@@ -36,6 +36,11 @@ class CreateAccessListTool extends atlasTool_js_1.AtlasToolBase {
36
36
  }
37
37
  return exports.CreateAccessListArgs;
38
38
  }
39
+ // argsShape drops currentIpAddress when IP lookup is unsupported, so the two
40
+ // shapes must be cached and shared separately.
41
+ schemaVariantKey() {
42
+ return this.session.apiClient?.supportsCurrentIpLookup === false ? "no-current-ip" : "current-ip";
43
+ }
39
44
  async execute({ projectId, ipAddresses, cidrBlocks, comment, currentIpAddress }, context) {
40
45
  if (!ipAddresses?.length && !cidrBlocks?.length && !currentIpAddress) {
41
46
  if (!this.apiClient.supportsCurrentIpLookup) {
@@ -1 +1 @@
1
- {"version":3,"file":"createAccessList.js","sourceRoot":"","sources":["../../../../../src/tools/atlas/create/createAccessList.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createAccessList.js","sourceRoot":"","sources":["../../../../../src/tools/atlas/create/createAccessList.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import { z } from "zod";
2
- import type { ToolArgs, ToolCategory } from "../tool.js";
2
+ import type { ToolArgs, ToolCategory, ToolExecutionContext } from "../tool.js";
3
3
  import { ToolBase } from "../tool.js";
4
4
  import type { NodeDriverServiceProvider } from "@mongosh/service-provider-node-driver";
5
5
  import type { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
6
6
  import type { ConnectionEntry } from "../../common/connectionRegistry.js";
7
7
  import type { Server } from "../../server.js";
8
8
  import type { ConnectionMetadata } from "../../telemetry/types.js";
9
+ import { type WriteStageTarget } from "../../helpers/mqlGuards.js";
9
10
  export declare const DBOperationArgs: {
10
11
  database: z.ZodString;
11
12
  };
@@ -57,6 +58,11 @@ export declare abstract class MongoDBToolBase extends ToolBase {
57
58
  * and projection for a find), since each is validated independently.
58
59
  */
59
60
  protected assertMqlIsAllowed(...values: (Record<string, unknown> | Record<string, unknown>[] | undefined)[]): void;
61
+ /**
62
+ * Asks the user to confirm the write stages of an aggregation pipeline,
63
+ * throwing when they decline so that the pipeline never runs.
64
+ */
65
+ protected confirmWriteStages(targets: WriteStageTarget[], context: ToolExecutionContext): Promise<void>;
60
66
  private assertSingleMqlValueIsAllowed;
61
67
  /**
62
68
  * The connectionId description varies by whether a connection string is
@@ -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,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;AAEzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAInE,eAAO,MAAM,eAAe;;CAE3B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;CAG7B,CAAC;AASF,eAAO,MAAM,gBAAgB;;CAE5B,CAAC;AAQF,8BAAsB,eAAgB,SAAQ,QAAQ;IAClD,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAa;IAE1C,SAAS,KAAK,qBAAqB,IAAI,OAAO,CAI7C;IAED;;;;OAIG;cACa,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAI3F,iGAAiG;cACjF,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;cAItF,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;cAKzD,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS1E;;;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;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CAAC,kBAAkB,CAAC,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,GAAG,IAAI;IAMlH,OAAO,CAAC,6BAA6B;IAgCrC;;;OAGG;cACgB,gBAAgB,IAAI,MAAM;IAOtC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;cAaxB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IAmD3G;;;;;;;;OAQG;cACa,wBAAwB,CACpC,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EAErC,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,EAAE,cAAc,CAAA;KAAE,GACvC,OAAO,CAAC,kBAAkB,CAAC;CAOjC"}
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,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAC9F,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;AAEzE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAsC,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAIvG,eAAO,MAAM,eAAe;;CAE3B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;CAG7B,CAAC;AASF,eAAO,MAAM,gBAAgB;;CAE5B,CAAC;AAQF,8BAAsB,eAAgB,SAAQ,QAAQ;IAClD,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAC1B,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAa;IAE1C,SAAS,KAAK,qBAAqB,IAAI,OAAO,CAI7C;IAED;;;;OAIG;cACa,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,CAAC;IAI3F,iGAAiG;cACjF,cAAc,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;cAItF,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;cAKzD,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAS1E;;;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;;;;;;;;;;;;;;;;;OAiBG;IACH,SAAS,CAAC,kBAAkB,CAAC,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,GAAG,IAAI;IAMlH;;;OAGG;cACa,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAe7G,OAAO,CAAC,6BAA6B;IAgCrC;;;OAGG;cACgB,gBAAgB,IAAI,MAAM;IAOtC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;cAaxB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC;IAoD3G;;;;;;;;OAQG;cACa,wBAAwB,CACpC,IAAI,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EAErC,EAAE,MAAM,EAAE,EAAE;QAAE,MAAM,EAAE,cAAc,CAAA;KAAE,GACvC,OAAO,CAAC,kBAAkB,CAAC;CAOjC"}
@@ -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 mqlGuards_js_1 = require("../../helpers/mqlGuards.js");
8
+ const writeStageConfirmation_js_1 = require("../../helpers/writeStageConfirmation.js");
8
9
  const constants_js_1 = require("../../helpers/constants.js");
9
10
  exports.DBOperationArgs = {
10
11
  database: zod_1.z.string().describe("Database name"),
@@ -87,6 +88,19 @@ class MongoDBToolBase extends tool_js_1.ToolBase {
87
88
  this.assertSingleMqlValueIsAllowed(value);
88
89
  }
89
90
  }
91
+ /**
92
+ * Asks the user to confirm the write stages of an aggregation pipeline,
93
+ * throwing when they decline so that the pipeline never runs.
94
+ */
95
+ async confirmWriteStages(targets, context) {
96
+ if (this.requiresConfirmation()) {
97
+ return;
98
+ }
99
+ if (await this.requestConfirmation((0, writeStageConfirmation_js_1.buildWriteStageConfirmationMessage)(targets), context)) {
100
+ return;
101
+ }
102
+ throw new errors_js_1.MongoDBError(errors_js_1.ErrorCodes.ConfirmationDeclined, "User did not confirm the write stages of the aggregation pipeline so the aggregation was not performed.");
103
+ }
90
104
  assertSingleMqlValueIsAllowed(value) {
91
105
  if (this.config.disableServerSideJs) {
92
106
  (0, mqlGuards_js_1.assertNoServerSideJS)(value);
@@ -152,6 +166,7 @@ class MongoDBToolBase extends tool_js_1.ToolBase {
152
166
  }
153
167
  return super.handleError(error, args);
154
168
  }
169
+ case errors_js_1.ErrorCodes.ConfirmationDeclined:
155
170
  case errors_js_1.ErrorCodes.ForbiddenCollscan:
156
171
  return {
157
172
  content: [
@@ -1 +1 @@
1
- {"version":3,"file":"mongodbTool.js","sourceRoot":"","sources":["../../../../src/tools/mongodb/mongodbTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongodbTool.js","sourceRoot":"","sources":["../../../../src/tools/mongodb/mongodbTool.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,wCAAsC;AAGtC,sDAAkE;AAIlE,6DAAuG;AACvG,uFAA6F;AAC7F,6DAA8D;AAEjD,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,SAAS,uBAAuB,CAAC,EAAE,0BAA0B,EAA2C;IACpG,MAAM,aAAa,GAAG,0BAA0B;QAC5C,CAAC,CAAC,kFAAkF;QACpF,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,+FAA+F,aAAa,GAAG,CAAC;AAC3H,CAAC;AAEY,QAAA,gBAAgB,GAAG;IAC5B,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,0BAA0B,EAAE,IAAI,EAAE,CAAC,CAAC;CACnG,CAAC;AAEF,kFAAkF;AAClF,gFAAgF;AAChF,MAAM,mCAAmC,GAAG,OAAC;KACxC,MAAM,EAAE;KACR,QAAQ,CAAC,uBAAuB,CAAC,EAAE,0BAA0B,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAE9E,MAAsB,eAAgB,SAAQ,kBAAQ;IAIlD,IAAc,qBAAqB;QAC/B,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC;QACjD,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,+BAAgB,CAAC,CAAC;QAClF,OAAO,UAAU,EAAE,SAAS,EAAE,IAAI,KAAK,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,iBAAiB,CAAC,YAAoB;QAClD,OAAO,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IACjE,CAAC;IAED,iGAAiG;IACvF,KAAK,CAAC,cAAc,CAAC,YAAgC;QAC3D,OAAO,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACzF,CAAC;IAES,KAAK,CAAC,iBAAiB,CAAC,YAAoB;QAClD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACxE,CAAC;IAES,KAAK,CAAC,qBAAqB,CAAC,YAAoB;QACtD,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,wBAAY,CAClB,sBAAU,CAAC,uBAAuB,EAClC,uDAAuD,CAC1D,CAAC;QACN,CAAC;IACL,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;IAED;;;;;;;;;;;;;;;;;OAiBG;IACO,kBAAkB,CAAC,GAAG,MAA2E;QACvG,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACzB,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC;IACL,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,kBAAkB,CAAC,OAA2B,EAAE,OAA6B;QACzF,IAAI,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAC9B,OAAO;QACX,CAAC;QAED,IAAI,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAA,8DAAkC,EAAC,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;YACvF,OAAO;QACX,CAAC;QAED,MAAM,IAAI,wBAAY,CAClB,sBAAU,CAAC,oBAAoB,EAC/B,yGAAyG,CAC5G,CAAC;IACN,CAAC;IAEO,6BAA6B,CACjC,KAAsE;QAEtE,IAAI,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;YAClC,IAAA,mCAAoB,EAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,4FAA4F;YAC5F,8FAA8F;YAC9F,kDAAkD;YAClD,MAAM,eAAe,GAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAExE,IAAI,+BAA+B,GAAG,EAAE,CAAC;YACzC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACvB,+BAA+B;oBAC3B,wEAAwE,CAAC;YACjF,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAkB,CAAC,CAAC,EAAE,CAAC;gBAC7F,+BAA+B;oBAC3B,qHAAqH,CAAC;YAC9H,CAAC;YAED,IAAI,+BAA+B,EAAE,CAAC;gBAClC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE,CAAC;oBACxB,IAAI,IAAA,2BAAY,EAAC,KAAK,CAAC,EAAE,CAAC;wBACtB,MAAM,IAAI,wBAAY,CAAC,sBAAU,CAAC,uBAAuB,EAAE,+BAA+B,CAAC,CAAC;oBAChG,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;OAGG;IACgB,gBAAgB;QAC/B,IAAI,cAAc,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC;QACpE,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAEM,QAAQ,CAAC,MAAc;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,sEAAsE;QACtE,qEAAqE;QACrE,IAAI,cAAc,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC;YACpE,IAAI,CAAC,SAAS,GAAG;gBACb,GAAG,IAAI,CAAC,SAAS;gBACjB,YAAY,EAAE,mCAAmC;aACpD,CAAC;QACN,CAAC;QACD,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;gBAC9C,KAAK,sBAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC;oBAClC,MAAM,eAAe,GAAG,KAIvB,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,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,YAAkC,CAAC,CAAC,EAAE,KAAK;qBAC/F,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,oBAAoB,CAAC;gBACrC,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,KAAK,CAAC,wBAAwB,CACpC,IAAqC;IACrC,6DAA6D;IAC7D,EAAE,MAAM,EAA8B;QAEtC,MAAM,EAAE,YAAY,EAAE,GAAG,IAAiC,CAAC;QAC3D,OAAO;YACH,GAAG,CAAC,YAAY,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,CAAC;YACpD,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC;SACtF,CAAC;IACN,CAAC;;AA3NL,0CA4NC;AA1NU,wBAAQ,GAAiB,SAAS,CAAC"}
@@ -77,7 +77,7 @@ export declare class AggregateTool extends MongoDBToolBase {
77
77
  "tool.responseBytesLimit": "tool.responseBytesLimit";
78
78
  }>>;
79
79
  };
80
- protected execute({ connectionId, database, collection, pipeline, responseBytesLimit }: ToolArgs<typeof this.argsShape>, { signal }: ToolExecutionContext): Promise<ToolResult<typeof this.outputSchema>>;
80
+ protected execute({ connectionId, database, collection, pipeline, responseBytesLimit }: ToolArgs<typeof this.argsShape>, context: ToolExecutionContext): Promise<ToolResult<typeof this.outputSchema>>;
81
81
  private safeCloseCursor;
82
82
  private assertOnlyUsesPermittedStages;
83
83
  private countAggregationResultDocuments;
@@ -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;AAGxB,OAAO,EAAuC,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAuB/F,eAAO,MAAM,mCAAmC,kvKAiG/C,CAAC;AAWF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEzB,CAAC;AAEF,qBAAa,aAAc,SAAQ,eAAe;IAC9C,MAAM,CAAC,QAAQ,SAAe;IACvB,WAAW,SAAqD;IAChE,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAWd;IACF,MAAM,CAAC,aAAa,EAAE,aAAa,CAAU;IAE7B,YAAY;;;;;;;;MAAyB;cAErC,OAAO,CACnB,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EACrG,EAAE,MAAM,EAAE,EAAE,oBAAoB,GACjC,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;YAqJlC,eAAe;IAY7B,OAAO,CAAC,6BAA6B;YAkBvB,+BAA+B;YAuC/B,uBAAuB;IA+CrC,OAAO,CAAC,eAAe;IA8BvB,OAAO,CAAC,aAAa;CAGxB"}
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;AAGxB,OAAO,EAAuC,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzF,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAuB/F,eAAO,MAAM,mCAAmC,kvKAiG/C,CAAC;AAWF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAEzB,CAAC;AAEF,qBAAa,aAAc,SAAQ,eAAe;IAC9C,MAAM,CAAC,QAAQ,SAAe;IACvB,WAAW,SAAqD;IAChE,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAWd;IACF,MAAM,CAAC,aAAa,EAAE,aAAa,CAAU;IAE7B,YAAY;;;;;;;;MAAyB;cAErC,OAAO,CACnB,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,kBAAkB,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EACrG,OAAO,EAAE,oBAAoB,GAC9B,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;YAyJlC,eAAe;IAY7B,OAAO,CAAC,6BAA6B;YAkBvB,+BAA+B;YAuC/B,uBAAuB;IA+CrC,OAAO,CAAC,eAAe;IA8BvB,OAAO,CAAC,aAAa;CAGxB"}
@@ -139,7 +139,8 @@ class AggregateTool extends mongodbTool_js_1.MongoDBToolBase {
139
139
  };
140
140
  this.outputSchema = AggregateOutputSchema;
141
141
  }
142
- async execute({ connectionId, database, collection, pipeline, responseBytesLimit }, { signal }) {
142
+ async execute({ connectionId, database, collection, pipeline, responseBytesLimit }, context) {
143
+ const { signal } = context;
143
144
  let aggregationCursor = undefined;
144
145
  try {
145
146
  const provider = await this.resolveConnection(connectionId);
@@ -199,7 +200,9 @@ class AggregateTool extends mongodbTool_js_1.MongoDBToolBase {
199
200
  let documents;
200
201
  let count;
201
202
  let appliedLimits = [];
202
- if (pipeline.some((stage) => (0, mqlGuards_js_1.isWriteStage)(stage))) {
203
+ const writeStageTargets = (0, mqlGuards_js_1.getWriteStageTargets)(pipeline, database);
204
+ if (writeStageTargets.length > 0) {
205
+ await this.confirmWriteStages(writeStageTargets, context);
203
206
  // This is a write pipeline, so special-case it and don't attempt to apply limits or caps
204
207
  aggregationCursor = provider.aggregate(database, collection, pipeline, {
205
208
  signal,
@@ -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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"}
@@ -23,7 +23,7 @@ export declare class AggregateDBTool extends MongoDBToolBase {
23
23
  "tool.responseBytesLimit": "tool.responseBytesLimit";
24
24
  }>>;
25
25
  };
26
- protected execute({ connectionId, database, pipeline, responseBytesLimit }: ToolArgs<typeof this.argsShape>, { signal }: ToolExecutionContext): Promise<ToolResult<typeof this.outputSchema>>;
26
+ protected execute({ connectionId, database, pipeline, responseBytesLimit }: ToolArgs<typeof this.argsShape>, context: ToolExecutionContext): Promise<ToolResult<typeof this.outputSchema>>;
27
27
  private safeCloseCursor;
28
28
  private assertOnlyUsesPermittedStages;
29
29
  private countAggregationResultDocuments;
@@ -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;AAGxB,OAAO,EAAqC,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AA2B/F,eAAO,MAAM,aAAa;;CAOzB,CAAC;AAEF,qBAAa,eAAgB,SAAQ,eAAe;IAChD,MAAM,CAAC,QAAQ,SAAkB;IAC1B,WAAW,SAAmD;IAC9D,SAAS;;;;;MAWd;IACF,MAAM,CAAC,aAAa,EAAE,aAAa,CAAU;IAE7B,YAAY;;;;;;;;MAA2B;cAEvC,OAAO,CACnB,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EACzF,EAAE,MAAM,EAAE,EAAE,oBAAoB,GACjC,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;YAmFlC,eAAe;IAY7B,OAAO,CAAC,6BAA6B;YAYvB,+BAA+B;IAqC7C,OAAO,CAAC,eAAe;CA0B1B"}
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;AAGxB,OAAO,EAAqC,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AA2B/F,eAAO,MAAM,aAAa;;CAOzB,CAAC;AAEF,qBAAa,eAAgB,SAAQ,eAAe;IAChD,MAAM,CAAC,QAAQ,SAAkB;IAC1B,WAAW,SAAmD;IAC9D,SAAS;;;;;MAWd;IACF,MAAM,CAAC,aAAa,EAAE,aAAa,CAAU;IAE7B,YAAY;;;;;;;;MAA2B;cAEvC,OAAO,CACnB,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAE,EAAE,QAAQ,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,EACzF,OAAO,EAAE,oBAAoB,GAC9B,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC;YAuFlC,eAAe;IAY7B,OAAO,CAAC,6BAA6B;YAYvB,+BAA+B;IAqC7C,OAAO,CAAC,eAAe;CA0B1B"}
@@ -42,7 +42,8 @@ class AggregateDBTool extends mongodbTool_js_1.MongoDBToolBase {
42
42
  };
43
43
  this.outputSchema = AggregateDBOutputSchema;
44
44
  }
45
- async execute({ connectionId, database, pipeline, responseBytesLimit }, { signal }) {
45
+ async execute({ connectionId, database, pipeline, responseBytesLimit }, context) {
46
+ const { signal } = context;
46
47
  let aggregationCursor = undefined;
47
48
  try {
48
49
  const provider = await this.resolveConnection(connectionId);
@@ -51,7 +52,9 @@ class AggregateDBTool extends mongodbTool_js_1.MongoDBToolBase {
51
52
  let documents;
52
53
  let aggResultsCount;
53
54
  let appliedLimits = [];
54
- if (pipeline.some((stage) => (0, mqlGuards_js_1.isWriteStage)(stage))) {
55
+ const writeStageTargets = (0, mqlGuards_js_1.getWriteStageTargets)(pipeline, database);
56
+ if (writeStageTargets.length > 0) {
57
+ await this.confirmWriteStages(writeStageTargets, context);
55
58
  // This is a write pipeline, so special-case it and don't attempt to apply limits or caps
56
59
  aggregationCursor = provider.aggregateDb(database, pipeline, {
57
60
  ...this.getOperationOptions(signal),
@@ -1 +1 @@
1
- {"version":3,"file":"aggregateDB.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/aggregateDB.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAGxB,sDAAuF;AAEvF,2CAAoD;AAEpD,yDAAqE;AACrE,kGAAiG;AACjG,wFAAkF;AAClF,gEAA6D;AAC7D,gEAMuC;AACvC,+DAAyD;AACzD,4DAAuF;AACvF,kEAA4D;AAE5D,MAAM,uBAAuB,GAAG;IAC5B,SAAS,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,oDAAoD,CAAC;IAC9F,eAAe,EAAE,OAAC;SACb,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,oEAAoE,CAAC;IACnF,aAAa,EAAE,OAAC,CAAC,KAAK,CAAC,gCAAiB,CAAC,CAAC,QAAQ,CAAC,gDAAgD,CAAC;CACvG,CAAC;AAEW,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,iCAAgB;YACnB,GAAG,gCAAe;YAClB,GAAG,qBAAa;YAChB,kBAAkB,EAAE,OAAC;iBAChB,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,OAAO,CAAC,qBAAM,CAAC;iBACf,QAAQ,CACL,wIAAwI,CAC3I;SACR,CAAC;QAGc,iBAAY,GAAG,uBAAuB,CAAC;IA+K3D,CAAC;IA7Ka,KAAK,CAAC,OAAO,CACnB,EAAE,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,kBAAkB,EAAmC,EACzF,EAAE,MAAM,EAAwB;QAEhC,IAAI,iBAAiB,GAAkC,SAAS,CAAC;QACjE,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAC5D,IAAI,CAAC,6BAA6B,CAAC,QAAQ,CAAC,CAAC;YAE7C,IAAI,cAAsB,CAAC;YAC3B,IAAI,SAAoB,CAAC;YACzB,IAAI,eAAmC,CAAC;YACxC,IAAI,aAAa,GAAqB,EAAE,CAAC;YAEzC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,2BAAY,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC;gBAChD,yFAAyF;gBACzF,iBAAiB,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE;oBACzD,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;iBACtC,CAAC,CAAC;gBAEH,SAAS,GAAG,MAAM,iBAAiB,CAAC,OAAO,EAAE,CAAC;gBAC9C,cAAc,GAAG,iDAAiD,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACJ,MAAM,qBAAqB,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;gBAC5C,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,GAAG,CAAC,EAAE,CAAC;oBACvC,qBAAqB,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,CAAC,CAAC;gBAC7E,CAAC;gBACD,iBAAiB,GAAG,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,qBAAqB,EAAE;oBACtE,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC;iBACtC,CAAC,CAAC;gBAEH,MAAM,CAAC,cAAc,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBACtD,IAAI,CAAC,+BAA+B,CAAC;wBACjC,QAAQ;wBACR,QAAQ;wBACR,QAAQ;wBACR,WAAW,EAAE,MAAM;qBACtB,CAAC;oBACF,IAAA,+DAA+B,EAAC;wBAC5B,MAAM,EAAE,iBAAiB;wBACzB,0BAA0B,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB;wBACxD,sBAAsB,EAAE,kBAAkB;wBAC1C,WAAW,EAAE,MAAM;qBACtB,CAAC;iBACL,CAAC,CAAC;gBAEH,iEAAiE;gBACjE,mDAAmD;gBACnD,mEAAmE;gBACnE,UAAU;gBACV,MAAM,2CAA2C,GAC7C,IAAI,CAAC,MAAM,CAAC,oBAAoB,GAAG,CAAC;oBACpC,CAAC,CAAC,cAAc;oBAChB,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC;gBAEtD,SAAS,GAAG,IAAA,0BAAU,EAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBAChD,eAAe,GAAG,cAAc,CAAC;gBACjC,aAAa,GAAG;oBACZ,2CAA2C,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,SAAS;oBACvF,aAAa,CAAC,QAAQ;iBACzB,CAAC,MAAM,CAAC,CAAC,KAAK,EAA2B,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;gBACtD,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;oBAClC,eAAe;oBACf,SAAS;oBACT,aAAa;iBAChB,CAAC,CAAC;YACP,CAAC;YAED,OAAO;gBACH,OAAO,EAAE,IAAA,6BAAmB,EACxB,cAAc,EACd,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAC/D;gBACD,iBAAiB,EAAE;oBACf,SAAS;oBACT,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7D,aAAa;iBAChB;aACJ,CAAC;QACN,CAAC;gBAAS,CAAC;YACP,IAAI,iBAAiB,EAAE,CAAC;gBACpB,KAAK,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;YACjD,CAAC;QACL,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,MAAkC;QAC5D,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,mBAAmB;gBAC5B,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,6BAA6B,CAAC,QAAmC;QACrE,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,UAAU,IAAI,CAAC,gDAA4B,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,UAAU,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,wBAAY,CAClB,sBAAU,CAAC,eAAe,EAC1B,sFAAsF,gDAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CACnI,CAAC;QACN,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACtC,CAAC;IAEO,KAAK,CAAC,+BAA+B,CAAC,EAC1C,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,WAAW,GAMd;QACG,MAAM,uBAAuB,GAAG,CAAC,GAAG,QAAQ,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;QAC5E,OAAO,MAAM,IAAA,gDAAqB,EAAC,KAAK,IAAiC,EAAE;YACvE,MAAM,kBAAkB,GAAG,MAAM,QAAQ;iBACpC,WAAW,CAAC,QAAQ,EAAE,uBAAuB,EAAE;gBAC5C,MAAM,EAAE,WAAW;aACtB,CAAC;iBACD,SAAS,CACN,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS;gBAC/B,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,wCAAyB,CAAC;gBAC5D,CAAC,CAAC,wCAAyB,CAClC;iBACA,OAAO,EAAE,CAAC;YAEf,MAAM,iBAAiB,GAAY,kBAAkB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACvG,MAAM,cAAc,GAChB,iBAAiB;gBACjB,OAAO,iBAAiB,KAAK,QAAQ;gBACrC,gBAAgB,IAAI,iBAAiB;gBACrC,OAAO,iBAAiB,CAAC,cAAc,KAAK,QAAQ;gBAChD,CAAC,CAAC,iBAAiB,CAAC,cAAc;gBAClC,CAAC,CAAC,CAAC,CAAC;YAEZ,OAAO,cAAc,CAAC;QAC1B,CAAC,EAAE,SAAS,CAAC,CAAC;IAClB,CAAC;IAEO,eAAe,CAAC,EACpB,eAAe,EACf,SAAS,EACT,aAAa,GAKhB;QACG,IAAI,OAAO,GAAG,+BAA+B,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,eAAe,aAAa,CAAC;QAEvI,qFAAqF;QACrF,8DAA8D;QAC9D,IAAI,SAAS,CAAC,MAAM,KAAK,eAAe,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;YAC/D,OAAO,IAAI,cAAc,SAAS,CAAC,MAAM,YAAY,CAAC;YACtD,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;gBACvB,OAAO,IAAI,2CAA2C,aAAa;qBAC9D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,wCAAyB,CAAC,KAAK,CAAC,CAAC;qBAChD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACtB,CAAC;YAED,OAAO,IAAI,GAAG,CAAC;QACnB,CAAC;QAED,OAAO,OAAO,CAAC;IACnB,CAAC;;AA/LL,0CAgMC;AA/LU,wBAAQ,GAAG,cAAc,AAAjB,CAAkB;AAc1B,6BAAa,GAAkB,MAAM,AAAxB,CAAyB"}
1
+ {"version":3,"file":"aggregateDB.js","sourceRoot":"","sources":["../../../../../src/tools/mongodb/read/aggregateDB.ts"],"names":[],"mappings":"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"}