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
@@ -27,7 +27,16 @@ type ServerRequestHandlerExtra = RequestHandlerExtra<ServerRequest, ServerNotifi
27
27
  * is called manually; `requestInfo` is additionally only available when
28
28
  * running atop StreamableHttpTransport.
29
29
  */
30
- export type ToolExecutionContext = Pick<ServerRequestHandlerExtra, "signal"> & Partial<Pick<ServerRequestHandlerExtra, "_meta" | "requestId" | "requestInfo" | "sendNotification">>;
30
+ export type ToolExecutionContext = Pick<ServerRequestHandlerExtra, "signal"> & Partial<Pick<ServerRequestHandlerExtra, "_meta" | "requestId" | "requestInfo" | "sendNotification">> & {
31
+ /**
32
+ * Total time spent waiting for the user to answer elicitation requests
33
+ * raised while handling this call. Accumulated by
34
+ * `ToolBase.requestConfirmation` and subtracted from the tool execution
35
+ * duration metric, so that the user's think-time is not reported as
36
+ * time the tool spent working.
37
+ */
38
+ elicitationDurationMs?: number;
39
+ };
31
40
  export type ToolResult<OutputSchema extends ZodRawShape | undefined = undefined> = OutputSchema extends ZodRawShape ? StructuredToolResult<OutputSchema> : {
32
41
  content: CallToolResult["content"];
33
42
  isError?: boolean;
@@ -435,20 +444,22 @@ export declare abstract class ToolBase<TUserConfig extends UserConfig = UserConf
435
444
  /** Checks if the tool requires elicitation */
436
445
  requiresConfirmation(): boolean;
437
446
  /**
438
- * Check if the user has confirmed the tool execution (if required by
439
- * configuration).
447
+ * Asks the user to confirm an operation, resolving to `true` when they
448
+ * accept and `false` when they decline.
440
449
  *
441
- * This method automatically checks if the tool name is in the
442
- * `confirmationRequiredTools` configuration list and requests user
443
- * confirmation via the elicitation service if needed.
450
+ * This is automatically called by `invoke` for confirmationRequired tools.
451
+ * Other tools can call it at any point of their execution, which matters when
452
+ * the decision depends on the arguments or needs to happen after some preliminary work.
444
453
  *
445
- * @param args - The tool arguments
454
+ * Resolves to `true` without prompting when the client does not support
455
+ * elicitation, matching how confirmation-required tools behave there.
456
+ *
457
+ * @param message - The message to display to the user.
446
458
  * @param context - The tool execution context, used to relate the
447
- * confirmation request to the in-flight tool call
448
- * @returns A promise resolving to `true` if confirmed or confirmation not
449
- * required, `false` otherwise
459
+ * confirmation request to the in-flight tool call and to record how long the
460
+ * user took to answer.
450
461
  */
451
- verifyConfirmed(args: ToolArgs<typeof this.argsShape>, context: ToolExecutionContext): Promise<boolean>;
462
+ protected requestConfirmation(message: string, context: ToolExecutionContext): Promise<boolean>;
452
463
  /**
453
464
  * Resolves the request id that elicitation requests should be related to.
454
465
  *
@@ -508,7 +519,7 @@ export declare abstract class ToolBase<TUserConfig extends UserConfig = UserConf
508
519
  * Schemas are session-invariant, so they are built once per concrete tool
509
520
  * class and config variant, then shared across every session. Both caches
510
521
  * are keyed by the concrete constructor; the input cache is additionally
511
- * keyed by {@link schemaVariantKey} to separate config-dependent variants.
522
+ * keyed by `schemaVariantKey()` to separate config-dependent variants.
512
523
  */
513
524
  private static readonly sharedInputSchemas;
514
525
  private static readonly sharedOutputSchemas;
@@ -1 +1 @@
1
- {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../../src/tools/tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../../src/tools/tool.ts"],"names":[],"mappings":"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"}
@@ -172,31 +172,39 @@ class ToolBase {
172
172
  }
173
173
  /** This is used internally by the server to invoke the tool. It can also be run manually to call the tool directly. */
174
174
  async invoke(args, context) {
175
- let startTime = Date.now();
175
+ const startTime = Date.now();
176
+ /**
177
+ * Records the outcome of the call, emitting its telemetry event and
178
+ * observing its execution duration. `error` is passed when the call
179
+ * failed, and its type is reported alongside the metric.
180
+ */
181
+ const recordOutcome = (result, error) => {
182
+ // Time the user spent answering an elicitation is not time the tool
183
+ // spent working, so it counts towards neither duration below.
184
+ const executionStartTime = startTime + (context.elicitationDurationMs ?? 0);
185
+ this.emitToolEvent(args, { startTime: executionStartTime, result });
186
+ this.metrics.get("toolExecutionDuration").observe({
187
+ tool_name: this.name,
188
+ category: this.category,
189
+ status: error !== undefined || result.isError ? "error" : "success",
190
+ operation_type: this.operationType,
191
+ ...(error !== undefined ? { error_type: error instanceof Error ? error.name : "unknown" } : {}),
192
+ }, (Date.now() - executionStartTime) / 1000);
193
+ };
176
194
  try {
177
- if (this.requiresConfirmation()) {
178
- if (!(await this.verifyConfirmed(args, context))) {
179
- this.session.logger.debug({
180
- id: index_js_1.LogId.toolExecute,
181
- context: "tool",
182
- message: `User did not confirm the execution of the \`${this.name}\` tool so the operation was not performed.`,
183
- noRedaction: true,
184
- attributes: { ...(0, requestIdAttr_js_1.requestIdAttr)(context.requestInfo?.headers) },
185
- });
186
- return {
187
- content: [
188
- {
189
- type: "text",
190
- text: `User did not confirm the execution of the \`${this.name}\` tool so the operation was not performed.`,
191
- },
192
- ],
193
- isError: true,
194
- };
195
- }
196
- // We do not want to include the elicitation time in the tool execution time
197
- // so we reset the startTime to the current time. We may want to consider adding
198
- // a separate field for elicitation time in the future.
199
- startTime = Date.now();
195
+ if (this.requiresConfirmation() &&
196
+ !(await this.requestConfirmation(this.getConfirmationMessage(args), context))) {
197
+ const text = `User did not confirm the execution of the \`${this.name}\` tool so the operation was not performed.`;
198
+ this.session.logger.debug({
199
+ id: index_js_1.LogId.toolExecute,
200
+ context: "tool",
201
+ message: text,
202
+ noRedaction: true,
203
+ attributes: { ...(0, requestIdAttr_js_1.requestIdAttr)(context.requestInfo?.headers) },
204
+ });
205
+ const declined = { content: [{ type: "text", text }], isError: true };
206
+ recordOutcome(declined);
207
+ return declined;
200
208
  }
201
209
  this.session.logger.debug({
202
210
  id: index_js_1.LogId.toolExecute,
@@ -207,14 +215,7 @@ class ToolBase {
207
215
  });
208
216
  const toolCallResult = await this.execute(args, context);
209
217
  const result = await this.appendUIResource(toolCallResult);
210
- this.emitToolEvent(args, { startTime, result });
211
- const durationSeconds = (Date.now() - startTime) / 1000;
212
- this.metrics.get("toolExecutionDuration").observe({
213
- tool_name: this.name,
214
- category: this.category,
215
- status: result.isError ? "error" : "success",
216
- operation_type: this.operationType,
217
- }, durationSeconds);
218
+ recordOutcome(result);
218
219
  this.session.logger.debug({
219
220
  id: index_js_1.LogId.toolExecute,
220
221
  context: "tool",
@@ -232,15 +233,7 @@ class ToolBase {
232
233
  attributes: { ...(0, requestIdAttr_js_1.requestIdAttr)(context.requestInfo?.headers) },
233
234
  });
234
235
  const toolResult = await this.handleError(error, args);
235
- this.emitToolEvent(args, { startTime, result: toolResult });
236
- const durationSeconds = (Date.now() - startTime) / 1000;
237
- this.metrics.get("toolExecutionDuration").observe({
238
- tool_name: this.name,
239
- category: this.category,
240
- status: "error",
241
- operation_type: this.operationType,
242
- error_type: error instanceof Error ? error.name : "unknown",
243
- }, durationSeconds);
236
+ recordOutcome(toolResult, error);
244
237
  return toolResult;
245
238
  }
246
239
  }
@@ -270,23 +263,22 @@ class ToolBase {
270
263
  return this.config.confirmationRequiredTools.includes(this.name);
271
264
  }
272
265
  /**
273
- * Check if the user has confirmed the tool execution (if required by
274
- * configuration).
266
+ * Asks the user to confirm an operation, resolving to `true` when they
267
+ * accept and `false` when they decline.
275
268
  *
276
- * This method automatically checks if the tool name is in the
277
- * `confirmationRequiredTools` configuration list and requests user
278
- * confirmation via the elicitation service if needed.
269
+ * This is automatically called by `invoke` for confirmationRequired tools.
270
+ * Other tools can call it at any point of their execution, which matters when
271
+ * the decision depends on the arguments or needs to happen after some preliminary work.
279
272
  *
280
- * @param args - The tool arguments
273
+ * Resolves to `true` without prompting when the client does not support
274
+ * elicitation, matching how confirmation-required tools behave there.
275
+ *
276
+ * @param message - The message to display to the user.
281
277
  * @param context - The tool execution context, used to relate the
282
- * confirmation request to the in-flight tool call
283
- * @returns A promise resolving to `true` if confirmed or confirmation not
284
- * required, `false` otherwise
278
+ * confirmation request to the in-flight tool call and to record how long the
279
+ * user took to answer.
285
280
  */
286
- async verifyConfirmed(args, context) {
287
- if (!this.requiresConfirmation()) {
288
- return true;
289
- }
281
+ async requestConfirmation(message, context) {
290
282
  const relatedRequestId = this.elicitationRelatedRequestId(context);
291
283
  this.session.logger.info({
292
284
  id: index_js_1.LogId.toolConfirmationRequested,
@@ -319,7 +311,7 @@ class ToolBase {
319
311
  }
320
312
  const startedAt = Date.now();
321
313
  try {
322
- const confirmed = await this.elicitation.requestConfirmation(this.getConfirmationMessage(args), {
314
+ const confirmed = await this.elicitation.requestConfirmation(message, {
323
315
  relatedRequestId,
324
316
  progressToken: context._meta?.progressToken,
325
317
  sendNotification: context.sendNotification,
@@ -343,6 +335,9 @@ class ToolBase {
343
335
  });
344
336
  throw error;
345
337
  }
338
+ finally {
339
+ context.elicitationDurationMs = (context.elicitationDurationMs ?? 0) + (Date.now() - startedAt);
340
+ }
346
341
  }
347
342
  /**
348
343
  * Resolves the request id that elicitation requests should be related to.
@@ -636,7 +631,7 @@ exports.ToolBase = ToolBase;
636
631
  * Schemas are session-invariant, so they are built once per concrete tool
637
632
  * class and config variant, then shared across every session. Both caches
638
633
  * are keyed by the concrete constructor; the input cache is additionally
639
- * keyed by {@link schemaVariantKey} to separate config-dependent variants.
634
+ * keyed by `schemaVariantKey()` to separate config-dependent variants.
640
635
  */
641
636
  ToolBase.sharedInputSchemas = new WeakMap();
642
637
  ToolBase.sharedOutputSchemas = new WeakMap();
@@ -1 +1 @@
1
- {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/tools/tool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool.js","sourceRoot":"","sources":["../../../src/tools/tool.ts"],"names":[],"mappings":";;;AA6oCA,kDA2BC;AAxqCD,6BAA0C;AAY1C,yDAAmD;AAQnD,2CAAmE;AACnE,6DAA0F;AAC1F,kEAA4D;AAC5D,kEAA4D;AAE5D,mDAAwC;AAkOxC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8EG;AACH,MAAsB,QAAQ;IA4E1B;;;;;;;;;;;;;;OAcG;IACI,gBAAgB,CAAC,IAA6B;QACjD,OAAO,IAAI,CAAC;IAChB,CAAC;IAID,IAAW,WAAW;QAClB,MAAM,WAAW,GAAoB;YACjC,KAAK,EAAE,IAAI,CAAC,IAAI;YAChB,aAAa,EAAE,IAAI;SACtB,CAAC;QAEF,QAAQ,IAAI,CAAC,aAAa,EAAE,CAAC;YACzB,KAAK,MAAM,CAAC;YACZ,KAAK,UAAU,CAAC;YAChB,KAAK,SAAS;gBACV,WAAW,CAAC,YAAY,GAAG,IAAI,CAAC;gBAChC,WAAW,CAAC,eAAe,GAAG,KAAK,CAAC;gBACpC,MAAM;YACV,KAAK,QAAQ,CAAC;YACd,KAAK,QAAQ;gBACT,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC;gBACjC,WAAW,CAAC,eAAe,GAAG,IAAI,CAAC;gBACnC,MAAM;YACV,KAAK,QAAQ;gBACT,WAAW,CAAC,eAAe,GAAG,KAAK,CAAC;gBACpC,WAAW,CAAC,YAAY,GAAG,KAAK,CAAC;gBACjC,MAAM;YACV;gBACI,MAAM;QACd,CAAC;QAED,OAAO,WAAW,CAAC;IACvB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,IAAc,QAAQ;QAClB,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;QACxC,IAAI,sBAAsB,GACtB,uCAAwB,CAAC,SAA0B,CAAC,IAAI,uCAAwB,CAAC,KAAK,CAAC;QAE3F,+EAA+E;QAC/E,IAAI,SAAS,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC;YACpD,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;QACvD,CAAC;QAED,OAAO;YACH,kDAAkD;YAClD,uBAAuB,EAAE,SAAS;YAClC,+DAA+D;YAC/D,oCAAoC,EAAE,sBAAsB;SAC/D,CAAC;IACN,CAAC;IAmCD,uHAAuH;IAChH,KAAK,CAAC,MAAM,CAAC,IAAqC,EAAE,OAA6B;QACpF,MAAM,SAAS,GAAW,IAAI,CAAC,GAAG,EAAE,CAAC;QAErC;;;;WAIG;QACH,MAAM,aAAa,GAAG,CAAC,MAAsB,EAAE,KAAe,EAAQ,EAAE;YACpE,oEAAoE;YACpE,8DAA8D;YAC9D,MAAM,kBAAkB,GAAG,SAAS,GAAG,CAAC,OAAO,CAAC,qBAAqB,IAAI,CAAC,CAAC,CAAC;YAE5E,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,CAAC;YAEpE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAC7C;gBACI,SAAS,EAAE,IAAI,CAAC,IAAI;gBACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,MAAM,EAAE,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBACnE,cAAc,EAAE,IAAI,CAAC,aAAa;gBAClC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAClG,EACD,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,kBAAkB,CAAC,GAAG,IAAI,CAC3C,CAAC;QACN,CAAC,CAAC;QAEF,IAAI,CAAC;YACD,IACI,IAAI,CAAC,oBAAoB,EAAE;gBAC3B,CAAC,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC,EAC/E,CAAC;gBACC,MAAM,IAAI,GAAG,+CAA+C,IAAI,CAAC,IAAI,6CAA6C,CAAC;gBACnH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;oBACtB,EAAE,EAAE,gBAAK,CAAC,WAAW;oBACrB,OAAO,EAAE,MAAM;oBACf,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,IAAI;oBACjB,UAAU,EAAE,EAAE,GAAG,IAAA,gCAAa,EAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE;iBACjE,CAAC,CAAC;gBACH,MAAM,QAAQ,GAAmB,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gBACtF,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACxB,OAAO,QAAQ,CAAC;YACpB,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;gBACtB,EAAE,EAAE,gBAAK,CAAC,WAAW;gBACrB,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,kBAAkB,IAAI,CAAC,IAAI,EAAE;gBACtC,WAAW,EAAE,IAAI;gBACjB,UAAU,EAAE,EAAE,GAAG,IAAA,gCAAa,EAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE;aACjE,CAAC,CAAC;YAEH,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;YAE3D,aAAa,CAAC,MAAM,CAAC,CAAC;YAEtB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;gBACtB,EAAE,EAAE,gBAAK,CAAC,WAAW;gBACrB,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,iBAAiB,IAAI,CAAC,IAAI,EAAE;gBACrC,WAAW,EAAE,IAAI;gBACjB,UAAU,EAAE,EAAE,GAAG,IAAA,gCAAa,EAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE;aACjE,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAClB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;gBACtB,EAAE,EAAE,gBAAK,CAAC,kBAAkB;gBAC5B,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,mBAAmB,IAAI,CAAC,IAAI,KAAK,KAAe,EAAE;gBAC3D,UAAU,EAAE,EAAE,GAAG,IAAA,gCAAa,EAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE;aACjE,CAAC,CAAC;YACH,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAEvD,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YAEjC,OAAO,UAAU,CAAC;QACtB,CAAC;IACL,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,6DAA6D;IACnD,sBAAsB,CAAC,IAAqC;QAClE,OAAO,kCAAkC,IAAI,CAAC,IAAI,4EAA4E,CAAC;IACnI,CAAC;IAED,8CAA8C;IACvC,oBAAoB;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,yBAAyB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrE,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACO,KAAK,CAAC,mBAAmB,CAAC,OAAe,EAAE,OAA6B;QAC9E,MAAM,gBAAgB,GAAG,IAAI,CAAC,2BAA2B,CAAC,OAAO,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YACrB,EAAE,EAAE,gBAAK,CAAC,yBAAyB;YACnC,OAAO,EAAE,MAAM;YACf,OAAO,EAAE,oCAAoC,IAAI,CAAC,IAAI,EAAE;YACxD,WAAW,EAAE,IAAI;YACjB,UAAU,EAAE;gBACR,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,SAAS,EAAE,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,aAAa;gBACtF,aAAa,EAAE,OAAO,OAAO,CAAC,SAAS;gBACvC,gBAAgB,EAAE,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,aAAa;gBAC3F,gBAAgB,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;gBACtD,aAAa,EACT,OAAO,CAAC,KAAK,EAAE,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa;gBACpG,mBAAmB,EAAE,MAAM,CAAC,OAAO,CAAC,gBAAgB,KAAK,SAAS,CAAC;gBACnE,GAAG,IAAA,gCAAa,EAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC;aACjD;SACJ,CAAC,CAAC;QACH,IAAI,gBAAgB,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;YACrE,8DAA8D;YAC9D,4DAA4D;YAC5D,iEAAiE;YACjE,2BAA2B;YAC3B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;gBACxB,EAAE,EAAE,gBAAK,CAAC,wCAAwC;gBAClD,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,oBAAoB,IAAI,CAAC,IAAI,mEAAmE;gBACzG,WAAW,EAAE,IAAI;gBACjB,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,IAAA,gCAAa,EAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE;aAClF,CAAC,CAAC;QACP,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC;YACD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,OAAO,EAAE;gBAClE,gBAAgB;gBAChB,aAAa,EAAE,OAAO,CAAC,KAAK,EAAE,aAAa;gBAC3C,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;gBAC1C,MAAM,EAAE,OAAO,CAAC,MAAM;aACzB,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;gBACrB,EAAE,EAAE,gBAAK,CAAC,uBAAuB;gBACjC,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,oBAAoB,IAAI,CAAC,IAAI,aAAa,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,UAAU,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI;gBAC3H,WAAW,EAAE,IAAI;gBACjB,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,IAAA,gCAAa,EAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE;aAClF,CAAC,CAAC;YACH,OAAO,SAAS,CAAC;QACrB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;gBACxB,EAAE,EAAE,gBAAK,CAAC,uBAAuB;gBACjC,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,oBAAoB,IAAI,CAAC,IAAI,iBAAiB,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBAC5I,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,GAAG,IAAA,gCAAa,EAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE;aAClF,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QAChB,CAAC;gBAAS,CAAC;YACP,OAAO,CAAC,qBAAqB,GAAG,CAAC,OAAO,CAAC,qBAAqB,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC;QACpG,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACO,2BAA2B,CAAC,OAA6B;QAC/D,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IACnF,CAAC;IAqDD,YAAY,EACR,IAAI,EACJ,QAAQ,EACR,aAAa,EACb,OAAO,EACP,MAAM,EACN,SAAS,EACT,WAAW,EACX,OAAO,EACP,UAAU,EACV,OAAO,GAC8C;QACrD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAcD;;;;OAIG;IACO,gBAAgB;QACtB,OAAO,EAAE,CAAC;IACd,CAAC;IAED;;;;OAIG;IACK,wBAAwB;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9B,IAAI,SAAS,GAAG,QAAQ,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,QAAQ,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACrD,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpC,IAAI,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,wEAAwE;YACxE,2EAA2E;YAC3E,sEAAsE;YACtE,KAAK,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7E,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC,MAAM,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACK,qBAAqB,CAAC,QAAsC,EAAE,KAAkB;QACpF,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACnE,IAAI,UAAU,IAAI,OAAO,IAAI,UAAU,IAAI,UAAU,CAAC,QAAQ,EAAE,CAAC;YAC7D,IAAI,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;QAC3B,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,yBAAyB;QAC7B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACrB,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC;QAC9B,IAAI,KAAK,GAAG,QAAQ,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,KAAK,EAAE,CAAC;YACT,KAAK,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,OAAC,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YAC1E,QAAQ,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,qBAAqB,CAAC,cAAc,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACxD,OAAO,KAAK,CAAC,MAAM,CAAC;IACxB,CAAC;IAEM,QAAQ,CAAC,MAA+C;QAC3D,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,IAAI,CAAC,cAAc;YACf,oGAAoG;YACpG,mGAAmG;YACnG,iCAAiC;YAE7B,MAAM,CAAC,SAAS,CAAC,YAWpB,CACG,IAAI,CAAC,IAAI,EACT;gBACI,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW,EAAE,IAAI,CAAC,wBAAwB,EAAE;gBAC5C,YAAY,EAAE,IAAI,CAAC,yBAAyB,EAAE;gBAC9C,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,KAAK,EAAE,IAAI,CAAC,QAAQ;aACvB,EACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CACzB,CAAC;QAEN,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,SAAS;QACZ,OAAO,IAAI,CAAC,cAAc,EAAE,OAAO,IAAI,KAAK,CAAC;IACjD,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;gBACxB,EAAE,EAAE,gBAAK,CAAC,kBAAkB;gBAC5B,OAAO,EAAE,UAAU,IAAI,CAAC,IAAI,EAAE;gBAC9B,OAAO,EAAE,yDAAyD;aACrE,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;IAClC,CAAC;IAEM,MAAM;QACT,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;gBACxB,EAAE,EAAE,gBAAK,CAAC,kBAAkB;gBAC5B,OAAO,EAAE,UAAU,IAAI,CAAC,IAAI,EAAE;gBAC9B,OAAO,EAAE,wDAAwD;aACpE,CAAC,CAAC;YACH,OAAO;QACX,CAAC;QACD,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;IACjC,CAAC;IAED,yDAAyD;IAC/C,aAAa;QACnB,IAAI,kBAAsC,CAAC;QAE3C,6BAA6B;QAC7B,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YACxF,kBAAkB,GAAG,oDAAoD,IAAI,CAAC,aAAa,KAAK,CAAC;QACrG,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3D,kBAAkB,GAAG,mBAAmB,IAAI,CAAC,QAAQ,KAAK,CAAC;QAC/D,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;YAChE,kBAAkB,GAAG,yBAAyB,IAAI,CAAC,aAAa,KAAK,CAAC;QAC1E,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACvD,kBAAkB,GAAG,IAAI,CAAC;QAC9B,CAAC;QAED,IAAI,kBAAkB,EAAE,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;gBACtB,EAAE,EAAE,gBAAK,CAAC,YAAY;gBACtB,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,6BAA6B,IAAI,CAAC,IAAI,YAAY,kBAAkB,4BAA4B;gBACzG,WAAW,EAAE,IAAI;aACpB,CAAC,CAAC;YAEH,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,0EAA0E;IAChE,WAAW,CACjB,KAAc;IACd,6DAA6D;IAC7D,IAAiD;QAEjD,MAAM,UAAU,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1E,MAAM,WAAW,GAAG,IAAA,uBAAM,EAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACzE,OAAO;YACH,OAAO,EAAE;gBACL;oBACI,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,iBAAiB,IAAI,CAAC,IAAI,KAAK,WAAW,EAAE;iBACrD;aACJ;YACD,OAAO,EAAE,IAAI;SAChB,CAAC;IACN,CAAC;IA+BD;;;;;;;OAOG;IACK,aAAa,CACjB,IAAqC,EACrC,EAAE,SAAS,EAAE,MAAM,EAAiD;QAEpE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,EAAE,CAAC;YACvC,OAAO;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACxC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,KAAK,CAAC,KAAK,IAAmB,EAAE;YAC5B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YACvE,MAAM,KAAK,GAAc;gBACrB,SAAS;gBACT,MAAM,EAAE,QAAQ;gBAChB,UAAU,EAAE;oBACR,OAAO,EAAE,IAAI,CAAC,IAAI;oBAClB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,SAAS,EAAE,MAAM;oBACjB,WAAW,EAAE,QAAQ;oBACrB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;oBAC9C,GAAG,QAAQ;iBACd;aACJ,CAAC;YAEF,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YAC1B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;gBACtB,EAAE,EAAE,gBAAK,CAAC,sBAAsB;gBAChC,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,2CAA2C,IAAI,CAAC,IAAI,KAAK,KAAe,EAAE;aACtF,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAES,gBAAgB,CAAC,OAAuB;QAC9C,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IAES,yBAAyB,CAAC,eAAoC;QACpE,MAAM,QAAQ,GAAuB,EAAE,CAAC;QAExC,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,QAAQ,CAAC;QACpB,CAAC;QAED,IAAI,eAAe,CAAC,oBAAoB,KAAK,SAAS,EAAE,CAAC;YACrD,QAAQ,CAAC,oBAAoB,GAAG,eAAe,CAAC,oBAAoB,CAAC,QAAQ,CAAC;YAC9E,QAAQ,CAAC,oBAAoB,GAAG,eAAe,CAAC,oBAAoB,CAAC,QAAQ,CAAC;QAClF,CAAC;QAED,IAAI,eAAe,CAAC,qBAAqB,EAAE,SAAS,EAAE,CAAC;YACnD,QAAQ,CAAC,UAAU,GAAG,eAAe,CAAC,qBAAqB,CAAC,SAAS,CAAC;QAC1E,CAAC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,gBAAgB,CAAC,MAAsB;QACjD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,OAAO,MAAM,CAAC;QAClB,CAAC;QAED,IAAI,UAAkC,CAAC;QACvC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBACvC,OAAO,MAAM,CAAC;YAClB,CAAC;YACD,UAAU,GAAG,IAAA,yBAAgB,EAAC;gBAC1B,GAAG,EAAE,QAAQ,IAAI,CAAC,IAAI,EAAE;gBACxB,OAAO,EAAE;oBACL,IAAI,EAAE,SAAS;oBACf,UAAU,EAAE,MAAM;iBACrB;gBACD,QAAQ,EAAE,MAAM;gBAChB,UAAU,EAAE;oBACR,qBAAqB,EAAE,MAAM,CAAC,iBAAiB;iBAClD;aACJ,CAAC,CAAC;QACP,CAAC;QAED,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAE5E,OAAO;YACH,GAAG,MAAM;YACT,OAAO;SACV,CAAC;IACN,CAAC;;AArzBL,4BAszBC;AA5VG;;;;;GAKG;AACqB,2BAAkB,GAAG,IAAI,OAAO,EAGrD,CAAC;AACoB,4BAAmB,GAAG,IAAI,OAAO,EAAqD,CAAC;AAuVnH;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CAAC,WAAmB,EAAE,GAAG,IAAc;IACtE,MAAM,IAAI,GAAG,IAAA,gCAAa,GAAE,CAAC;IAE7B,MAAM,UAAU,GAAG,wBAAwB,IAAI,GAAG,CAAC;IACnD,MAAM,UAAU,GAAG,yBAAyB,IAAI,GAAG,CAAC;IAEpD,MAAM,MAAM,GAAG;QACX;YACI,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,MAAe;SACxB;KACJ,CAAC;IAEF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC;YACR,IAAI,EAAE,oHAAoH,UAAU,QAAQ,UAAU;;EAEhK,UAAU;EACV,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;EACf,UAAU;;uKAE2J,UAAU,QAAQ,UAAU,4EAA4E;YACnQ,IAAI,EAAE,MAAM;SACf,CAAC,CAAC;IACP,CAAC;IAED,OAAO,MAAM,CAAC;AAClB,CAAC"}
@@ -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"}
@@ -10,6 +10,7 @@ export var ErrorCodes;
10
10
  ErrorCodes[ErrorCodes["InvalidPipeline"] = 1000008] = "InvalidPipeline";
11
11
  ErrorCodes[ErrorCodes["ForbiddenServerSideJS"] = 1000009] = "ForbiddenServerSideJS";
12
12
  ErrorCodes[ErrorCodes["UnknownConnectionId"] = 1000010] = "UnknownConnectionId";
13
+ ErrorCodes[ErrorCodes["ConfirmationDeclined"] = 1000011] = "ConfirmationDeclined";
13
14
  })(ErrorCodes || (ErrorCodes = {}));
14
15
  export class MongoDBError extends Error {
15
16
  constructor(code, message) {
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/common/errors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,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,KAAV,UAAU,QAWrB;AAED,MAAM,OAAO,YAAwD,SAAQ,KAAK;IAC9E,YACW,IAAe,EACtB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAW;IAI1B,CAAC;CACJ"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/common/errors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,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,KAAV,UAAU,QAYrB;AAED,MAAM,OAAO,YAAwD,SAAQ,KAAK;IAC9E,YACW,IAAe,EACtB,OAAe;QAEf,KAAK,CAAC,OAAO,CAAC,CAAC;QAHR,SAAI,GAAJ,IAAI,CAAW;IAI1B,CAAC;CACJ"}
@@ -1,6 +1,6 @@
1
1
  // This file was generated by scripts/updatePackageVersion.ts - Do not edit it manually.
2
2
  export const packageInfo = {
3
- version: "2.0.1-alpha.3",
3
+ version: "2.0.1-alpha.5",
4
4
  mcpServerName: "MongoDB MCP Server",
5
5
  engines: {
6
6
  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"}
@@ -39,11 +39,84 @@ export function assertNoServerSideJS(value) {
39
39
  throw new MongoDBError(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.`);
40
40
  }
41
41
  }
42
+ /**
43
+ * The write operator of an aggregation stage, or `undefined` when the stage
44
+ * does not write to a collection.
45
+ */
46
+ function writeStageOperator(stage) {
47
+ if ("$out" in stage) {
48
+ return "$out";
49
+ }
50
+ if ("$merge" in stage) {
51
+ return "$merge";
52
+ }
53
+ return undefined;
54
+ }
42
55
  /**
43
56
  * Returns true when the given aggregation stage writes data to a collection,
44
57
  * i.e. it is a `$out` or `$merge` stage.
45
58
  */
46
59
  export function isWriteStage(stage) {
47
- return "$out" in stage || "$merge" in stage;
60
+ return writeStageOperator(stage) !== undefined;
61
+ }
62
+ /**
63
+ * Describes the collections that the write stages of a pipeline target, so that
64
+ * the user can be told what a `$out` or `$merge` is about to affect before it
65
+ * runs.
66
+ *
67
+ * Only top-level stages are inspected, matching {@link isWriteStage}: `$out` and
68
+ * `$merge` are not permitted inside sub-pipelines. MongoDB also requires them to
69
+ * be the last stage, so in practice at most one target is returned; the array
70
+ * shape means a malformed pipeline is still described in full rather than
71
+ * partially.
72
+ *
73
+ * @param pipeline - The aggregation pipeline to inspect.
74
+ * @param defaultDatabase - The database the aggregation runs against, used to
75
+ * qualify stages that name only a collection.
76
+ */
77
+ export function getWriteStageTargets(pipeline, defaultDatabase) {
78
+ const targets = [];
79
+ for (const stage of pipeline) {
80
+ switch (writeStageOperator(stage)) {
81
+ case "$out":
82
+ targets.push({ operator: "$out", namespace: resolveNamespace(stage.$out, defaultDatabase) });
83
+ break;
84
+ case "$merge": {
85
+ // The stage is either the target itself (`$merge: "coll"`) or a
86
+ // document describing it. `whenMatched` also accepts a custom
87
+ // update pipeline, which has no concise description, so only the
88
+ // documented string modes are reported.
89
+ const spec = isRecord(stage.$merge) ? stage.$merge : undefined;
90
+ targets.push({
91
+ operator: "$merge",
92
+ namespace: resolveNamespace(spec ? spec.into : stage.$merge, defaultDatabase),
93
+ ...(typeof spec?.whenMatched === "string" ? { whenMatched: spec.whenMatched } : {}),
94
+ ...(typeof spec?.whenNotMatched === "string" ? { whenNotMatched: spec.whenNotMatched } : {}),
95
+ });
96
+ break;
97
+ }
98
+ case undefined:
99
+ break;
100
+ }
101
+ }
102
+ return targets;
103
+ }
104
+ /**
105
+ * Resolves the target of a `$out` stage or the `into` of a `$merge` stage to a
106
+ * fully qualified namespace. Returns `undefined` for any other shape, such as
107
+ * the `{ s3: ... }` target supported by Atlas Data Federation.
108
+ */
109
+ function resolveNamespace(target, defaultDatabase) {
110
+ if (typeof target === "string") {
111
+ return `${defaultDatabase}.${target}`;
112
+ }
113
+ if (isRecord(target) && typeof target.coll === "string") {
114
+ const database = typeof target.db === "string" ? target.db : defaultDatabase;
115
+ return `${database}.${target.coll}`;
116
+ }
117
+ return undefined;
118
+ }
119
+ function isRecord(value) {
120
+ return typeof value === "object" && value !== null && !Array.isArray(value);
48
121
  }
49
122
  //# sourceMappingURL=mqlGuards.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mqlGuards.js","sourceRoot":"","sources":["../../../src/helpers/mqlGuards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;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,MAAM,UAAU,oBAAoB,CAAC,KAAc;IAC/C,MAAM,QAAQ,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,IAAI,YAAY,CAClB,UAAU,CAAC,qBAAqB,EAChC,wDAAwD,wBAAwB,CAAC,IAAI,CACjF,IAAI,CACP,uBAAuB,QAAQ,uGAAuG,CAC1I,CAAC;IACN,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,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,27 @@
1
+ /**
2
+ * Builds the message shown to the user before an aggregation containing a
3
+ * `$out` or `$merge` stage runs. The two operators differ in blast radius --
4
+ * `$out` replaces a collection wholesale while `$merge` modifies an existing
5
+ * one -- so each is described in its own terms, naming the affected namespace
6
+ * whenever it could be resolved.
7
+ *
8
+ * @param targets - The write stage targets, as returned by `getWriteStageTargets`.
9
+ */
10
+ export function buildWriteStageConfirmationMessage(targets) {
11
+ return `This aggregation contains ${targets.map(describeTarget).join(" and ")}. Proceed?`;
12
+ }
13
+ function describeTarget(target) {
14
+ const collection = target.namespace ? `\`${target.namespace}\`` : "its target collection";
15
+ switch (target.operator) {
16
+ case "$out":
17
+ return `a \`$out\` stage that will replace the entire contents of ${collection} with the pipeline output, permanently discarding any documents already there`;
18
+ case "$merge": {
19
+ const modes = [
20
+ target.whenMatched !== undefined ? `whenMatched: ${target.whenMatched}` : undefined,
21
+ target.whenNotMatched !== undefined ? `whenNotMatched: ${target.whenNotMatched}` : undefined,
22
+ ].filter((mode) => mode !== undefined);
23
+ return `a \`$merge\` stage that will write the pipeline output into ${collection}, modifying data already in that collection${modes.length > 0 ? ` (${modes.join(", ")})` : ""}`;
24
+ }
25
+ }
26
+ }
27
+ //# sourceMappingURL=writeStageConfirmation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeStageConfirmation.js","sourceRoot":"","sources":["../../../src/helpers/writeStageConfirmation.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,UAAU,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"}
@@ -33,6 +33,11 @@ export class CreateAccessListTool extends AtlasToolBase {
33
33
  }
34
34
  return CreateAccessListArgs;
35
35
  }
36
+ // argsShape drops currentIpAddress when IP lookup is unsupported, so the two
37
+ // shapes must be cached and shared separately.
38
+ schemaVariantKey() {
39
+ return this.session.apiClient?.supportsCurrentIpLookup === false ? "no-current-ip" : "current-ip";
40
+ }
36
41
  async execute({ projectId, ipAddresses, cidrBlocks, comment, currentIpAddress }, context) {
37
42
  if (!ipAddresses?.length && !cidrBlocks?.length && !currentIpAddress) {
38
43
  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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"}