integrate-sdk 0.9.27-dev.0 → 0.9.27-dev.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1962,6 +1962,34 @@ class OAuthManager {
1962
1962
 
1963
1963
  // src/client.ts
1964
1964
  var CLIENT_LOG_CONTEXT = "client";
1965
+ var NON_TOOL_PROXY_PROPERTIES = new Set([
1966
+ "then",
1967
+ "catch",
1968
+ "finally",
1969
+ "constructor",
1970
+ "prototype",
1971
+ "toString",
1972
+ "valueOf",
1973
+ "toJSON",
1974
+ "inspect",
1975
+ "hasOwnProperty",
1976
+ "isPrototypeOf",
1977
+ "propertyIsEnumerable",
1978
+ "__proto__",
1979
+ "__defineGetter__",
1980
+ "__defineSetter__",
1981
+ "__lookupGetter__",
1982
+ "__lookupSetter__",
1983
+ "__esModule",
1984
+ Symbol.toStringTag,
1985
+ Symbol.toPrimitive,
1986
+ Symbol.iterator,
1987
+ Symbol.asyncIterator,
1988
+ Symbol.for("nodejs.util.inspect.custom")
1989
+ ]);
1990
+ function isToolProxyProperty(property) {
1991
+ return typeof property === "string" && !NON_TOOL_PROXY_PROPERTIES.has(property);
1992
+ }
1965
1993
 
1966
1994
  class SimpleEventEmitter {
1967
1995
  handlers = new Map;
@@ -2186,6 +2214,8 @@ class MCPClientBase {
2186
2214
  }
2187
2215
  return new Proxy({}, {
2188
2216
  get: (_target, methodName) => {
2217
+ if (!isToolProxyProperty(methodName))
2218
+ return;
2189
2219
  return async (args, options) => {
2190
2220
  const toolName = methodToToolName(methodName, integrationId);
2191
2221
  return await this.callToolWithRetry(toolName, args, 0, options);
@@ -2199,6 +2229,8 @@ class MCPClientBase {
2199
2229
  createServerProxy() {
2200
2230
  return new Proxy({}, {
2201
2231
  get: (_target, methodName) => {
2232
+ if (!isToolProxyProperty(methodName))
2233
+ return;
2202
2234
  if (methodName === "listConfiguredIntegrations") {
2203
2235
  return async (options) => {
2204
2236
  const transportHeaders = this.transport.headers || {};
@@ -2419,6 +2451,9 @@ class MCPClientBase {
2419
2451
  async _callToolByName(name, args, options) {
2420
2452
  return await this.callToolWithRetry(name, args, 0, options);
2421
2453
  }
2454
+ async callTool(name, args, options) {
2455
+ return await this.callToolWithRetry(name, args, 0, options);
2456
+ }
2422
2457
  async callServerTool(name, args) {
2423
2458
  try {
2424
2459
  const response = await this.callToolThroughHandler(name, args);
@@ -2429,35 +2464,38 @@ class MCPClientBase {
2429
2464
  }
2430
2465
  }
2431
2466
  async callToolThroughHandler(name, args, provider, options) {
2467
+ const integrationHeaders = this.getHeadersForTool(name);
2432
2468
  const transportHeaders = this.transport.headers || {};
2433
2469
  const hasApiKey = !!transportHeaders["X-API-KEY"];
2434
2470
  if (hasApiKey) {
2435
2471
  await this.ensureConnected();
2472
+ const temporaryHeaders = { ...integrationHeaders };
2436
2473
  if (provider) {
2437
2474
  const tokenData = await this.oauthManager.getProviderToken(provider, undefined, options?.context);
2438
- if (tokenData && this.transport.setHeader) {
2439
- const previousAuthHeader = transportHeaders["Authorization"];
2440
- try {
2441
- this.transport.setHeader("Authorization", `Bearer ${tokenData.accessToken}`);
2442
- const result3 = await this.transport.sendRequest("tools/call", {
2443
- name,
2444
- arguments: args || {}
2445
- });
2446
- return result3;
2447
- } finally {
2448
- if (previousAuthHeader && this.transport.setHeader) {
2449
- this.transport.setHeader("Authorization", previousAuthHeader);
2450
- } else if (this.transport.removeHeader) {
2451
- this.transport.removeHeader("Authorization");
2452
- }
2475
+ if (tokenData) {
2476
+ temporaryHeaders["Authorization"] = `Bearer ${tokenData.accessToken}`;
2477
+ }
2478
+ }
2479
+ const previousHeaders = new Map;
2480
+ for (const [key, value] of Object.entries(temporaryHeaders)) {
2481
+ previousHeaders.set(key, transportHeaders[key]);
2482
+ this.transport.setHeader(key, value);
2483
+ }
2484
+ try {
2485
+ const result2 = await this.transport.sendRequest("tools/call", {
2486
+ name,
2487
+ arguments: args || {}
2488
+ });
2489
+ return result2;
2490
+ } finally {
2491
+ for (const [key, previousValue] of previousHeaders.entries()) {
2492
+ if (previousValue !== undefined) {
2493
+ this.transport.setHeader(key, previousValue);
2494
+ } else {
2495
+ this.transport.removeHeader(key);
2453
2496
  }
2454
2497
  }
2455
2498
  }
2456
- const result2 = await this.transport.sendRequest("tools/call", {
2457
- name,
2458
- arguments: args || {}
2459
- });
2460
- return result2;
2461
2499
  }
2462
2500
  const url = this.apiBaseUrl ? `${this.apiBaseUrl}${this.apiRouteBase}/mcp` : `${this.apiRouteBase}/mcp`;
2463
2501
  const headers = {
@@ -2467,6 +2505,7 @@ class MCPClientBase {
2467
2505
  if (integrationsHeader) {
2468
2506
  headers["X-Integrations"] = integrationsHeader;
2469
2507
  }
2508
+ Object.assign(headers, integrationHeaders);
2470
2509
  if (provider) {
2471
2510
  const tokenData = await this.oauthManager.getProviderToken(provider, undefined, options?.context);
2472
2511
  if (tokenData) {
@@ -2556,6 +2595,14 @@ class MCPClientBase {
2556
2595
  }
2557
2596
  return;
2558
2597
  }
2598
+ getHeadersForTool(toolName) {
2599
+ for (const integration of this.integrations) {
2600
+ if (integration.tools.includes(toolName) && integration.getHeaders) {
2601
+ return integration.getHeaders();
2602
+ }
2603
+ }
2604
+ return {};
2605
+ }
2559
2606
  getTool(name) {
2560
2607
  return this.availableTools.get(name);
2561
2608
  }
@@ -4725,8 +4772,55 @@ function onedriveIntegration(config = {}) {
4725
4772
  }
4726
4773
  };
4727
4774
  }
4775
+ // src/integrations/dropbox.ts
4776
+ var logger25 = createLogger("Dropbox");
4777
+ var DROPBOX_TOOLS = [
4778
+ "dropbox_get_current_account",
4779
+ "dropbox_get_space_usage",
4780
+ "dropbox_list_folder",
4781
+ "dropbox_list_folder_continue",
4782
+ "dropbox_get_metadata",
4783
+ "dropbox_search_files",
4784
+ "dropbox_create_folder",
4785
+ "dropbox_delete_path",
4786
+ "dropbox_move_path",
4787
+ "dropbox_copy_path",
4788
+ "dropbox_upload_text_file",
4789
+ "dropbox_download_file",
4790
+ "dropbox_get_temporary_link",
4791
+ "dropbox_create_shared_link",
4792
+ "dropbox_list_shared_links",
4793
+ "dropbox_revoke_shared_link"
4794
+ ];
4795
+ function dropboxIntegration(options = {}) {
4796
+ if (options.scopes !== undefined && (!Array.isArray(options.scopes) || options.scopes.some((scope) => typeof scope !== "string"))) {
4797
+ throw new Error("dropboxIntegration scopes must be an array of strings");
4798
+ }
4799
+ const oauth = {
4800
+ provider: "dropbox",
4801
+ clientId: options.clientId ?? getEnv("DROPBOX_CLIENT_ID"),
4802
+ clientSecret: options.clientSecret ?? getEnv("DROPBOX_CLIENT_SECRET"),
4803
+ scopes: options.scopes,
4804
+ optionalScopes: options.optionalScopes,
4805
+ redirectUri: options.redirectUri,
4806
+ config: options
4807
+ };
4808
+ return {
4809
+ id: "dropbox",
4810
+ name: "Dropbox",
4811
+ tools: [...DROPBOX_TOOLS],
4812
+ authType: "oauth",
4813
+ oauth,
4814
+ async onInit(_client) {
4815
+ logger25.debug("Dropbox integration initialized");
4816
+ },
4817
+ async onAfterConnect(_client) {
4818
+ logger25.debug("Dropbox integration connected");
4819
+ }
4820
+ };
4821
+ }
4728
4822
  // src/integrations/gdocs.ts
4729
- var logger25 = createLogger("Google Docs");
4823
+ var logger26 = createLogger("Google Docs");
4730
4824
  var GDOCS_TOOLS = [
4731
4825
  "gdocs_list",
4732
4826
  "gdocs_get",
@@ -4751,15 +4845,15 @@ function gdocsIntegration(config = {}) {
4751
4845
  tools: [...GDOCS_TOOLS],
4752
4846
  oauth,
4753
4847
  async onInit(_client) {
4754
- logger25.debug("Google Docs integration initialized");
4848
+ logger26.debug("Google Docs integration initialized");
4755
4849
  },
4756
4850
  async onAfterConnect(_client) {
4757
- logger25.debug("Google Docs integration connected");
4851
+ logger26.debug("Google Docs integration connected");
4758
4852
  }
4759
4853
  };
4760
4854
  }
4761
4855
  // src/integrations/gsheets.ts
4762
- var logger26 = createLogger("Google Sheets");
4856
+ var logger27 = createLogger("Google Sheets");
4763
4857
  var GSHEETS_TOOLS = [
4764
4858
  "gsheets_list",
4765
4859
  "gsheets_get",
@@ -4787,15 +4881,15 @@ function gsheetsIntegration(config = {}) {
4787
4881
  tools: [...GSHEETS_TOOLS],
4788
4882
  oauth,
4789
4883
  async onInit(_client) {
4790
- logger26.debug("Google Sheets integration initialized");
4884
+ logger27.debug("Google Sheets integration initialized");
4791
4885
  },
4792
4886
  async onAfterConnect(_client) {
4793
- logger26.debug("Google Sheets integration connected");
4887
+ logger27.debug("Google Sheets integration connected");
4794
4888
  }
4795
4889
  };
4796
4890
  }
4797
4891
  // src/integrations/gslides.ts
4798
- var logger27 = createLogger("Google Slides");
4892
+ var logger28 = createLogger("Google Slides");
4799
4893
  var GSLIDES_TOOLS = [
4800
4894
  "gslides_list",
4801
4895
  "gslides_get",
@@ -4822,15 +4916,15 @@ function gslidesIntegration(config = {}) {
4822
4916
  tools: [...GSLIDES_TOOLS],
4823
4917
  oauth,
4824
4918
  async onInit(_client) {
4825
- logger27.debug("Google Slides integration initialized");
4919
+ logger28.debug("Google Slides integration initialized");
4826
4920
  },
4827
4921
  async onAfterConnect(_client) {
4828
- logger27.debug("Google Slides integration connected");
4922
+ logger28.debug("Google Slides integration connected");
4829
4923
  }
4830
4924
  };
4831
4925
  }
4832
4926
  // src/integrations/polar.ts
4833
- var logger28 = createLogger("Polar");
4927
+ var logger29 = createLogger("Polar");
4834
4928
  var POLAR_TOOLS = [
4835
4929
  "polar_list_products",
4836
4930
  "polar_get_product",
@@ -4887,15 +4981,15 @@ function polarIntegration(config = {}) {
4887
4981
  tools: [...POLAR_TOOLS],
4888
4982
  oauth,
4889
4983
  async onInit(_client) {
4890
- logger28.debug("Polar integration initialized");
4984
+ logger29.debug("Polar integration initialized");
4891
4985
  },
4892
4986
  async onAfterConnect(_client) {
4893
- logger28.debug("Polar integration connected");
4987
+ logger29.debug("Polar integration connected");
4894
4988
  }
4895
4989
  };
4896
4990
  }
4897
4991
  // src/integrations/figma.ts
4898
- var logger29 = createLogger("Figma");
4992
+ var logger30 = createLogger("Figma");
4899
4993
  var FIGMA_TOOLS = [
4900
4994
  "figma_get_file",
4901
4995
  "figma_get_file_nodes",
@@ -4961,15 +5055,15 @@ function figmaIntegration(config = {}) {
4961
5055
  tools: [...FIGMA_TOOLS],
4962
5056
  oauth,
4963
5057
  async onInit(_client) {
4964
- logger29.debug("Figma integration initialized");
5058
+ logger30.debug("Figma integration initialized");
4965
5059
  },
4966
5060
  async onAfterConnect(_client) {
4967
- logger29.debug("Figma integration connected");
5061
+ logger30.debug("Figma integration connected");
4968
5062
  }
4969
5063
  };
4970
5064
  }
4971
5065
  // src/integrations/intercom.ts
4972
- var logger30 = createLogger("Intercom");
5066
+ var logger31 = createLogger("Intercom");
4973
5067
  var INTERCOM_TOOLS = [
4974
5068
  "intercom_list_contacts",
4975
5069
  "intercom_get_contact",
@@ -5000,15 +5094,15 @@ function intercomIntegration(config = {}) {
5000
5094
  tools: [...INTERCOM_TOOLS],
5001
5095
  oauth,
5002
5096
  async onInit(_client) {
5003
- logger30.debug("Intercom integration initialized");
5097
+ logger31.debug("Intercom integration initialized");
5004
5098
  },
5005
5099
  async onAfterConnect(_client) {
5006
- logger30.debug("Intercom integration connected");
5100
+ logger31.debug("Intercom integration connected");
5007
5101
  }
5008
5102
  };
5009
5103
  }
5010
5104
  // src/integrations/hubspot.ts
5011
- var logger31 = createLogger("HubSpot");
5105
+ var logger32 = createLogger("HubSpot");
5012
5106
  var HUBSPOT_TOOLS = [
5013
5107
  "hubspot_list_contacts",
5014
5108
  "hubspot_get_contact",
@@ -5058,15 +5152,15 @@ function hubspotIntegration(config = {}) {
5058
5152
  tools: [...HUBSPOT_TOOLS],
5059
5153
  oauth,
5060
5154
  async onInit(_client) {
5061
- logger31.debug("HubSpot integration initialized");
5155
+ logger32.debug("HubSpot integration initialized");
5062
5156
  },
5063
5157
  async onAfterConnect(_client) {
5064
- logger31.debug("HubSpot integration connected");
5158
+ logger32.debug("HubSpot integration connected");
5065
5159
  }
5066
5160
  };
5067
5161
  }
5068
5162
  // src/integrations/youtube.ts
5069
- var logger32 = createLogger("YouTube");
5163
+ var logger33 = createLogger("YouTube");
5070
5164
  var YOUTUBE_TOOLS = [
5071
5165
  "youtube_search",
5072
5166
  "youtube_get_video",
@@ -5112,15 +5206,15 @@ function youtubeIntegration(config = {}) {
5112
5206
  tools: [...YOUTUBE_TOOLS],
5113
5207
  oauth,
5114
5208
  async onInit(_client) {
5115
- logger32.debug("YouTube integration initialized");
5209
+ logger33.debug("YouTube integration initialized");
5116
5210
  },
5117
5211
  async onAfterConnect(_client) {
5118
- logger32.debug("YouTube integration connected");
5212
+ logger33.debug("YouTube integration connected");
5119
5213
  }
5120
5214
  };
5121
5215
  }
5122
5216
  // src/integrations/cursor.ts
5123
- var logger33 = createLogger("Cursor");
5217
+ var logger34 = createLogger("Cursor");
5124
5218
  var CURSOR_TOOLS = [
5125
5219
  "cursor_list_agents",
5126
5220
  "cursor_get_agent",
@@ -5140,10 +5234,114 @@ function cursorIntegration(_config = {}) {
5140
5234
  logoUrl: "https://wdvtnli2jn3texa6.public.blob.vercel-storage.com/cursor.jpeg",
5141
5235
  tools: [...CURSOR_TOOLS],
5142
5236
  async onInit(_client) {
5143
- logger33.debug("Cursor integration initialized");
5237
+ logger34.debug("Cursor integration initialized");
5144
5238
  },
5145
5239
  async onAfterConnect(_client) {
5146
- logger33.debug("Cursor integration connected");
5240
+ logger34.debug("Cursor integration connected");
5241
+ }
5242
+ };
5243
+ }
5244
+ // src/integrations/granola.ts
5245
+ var GRANOLA_TOOLS = [
5246
+ "granola_list_notes",
5247
+ "granola_get_note",
5248
+ "granola_list_folders"
5249
+ ];
5250
+ function granolaIntegration(options) {
5251
+ if (!options.apiKey) {
5252
+ throw new Error("granolaIntegration requires an apiKey");
5253
+ }
5254
+ return {
5255
+ id: "granola",
5256
+ name: "Granola",
5257
+ tools: [...GRANOLA_TOOLS],
5258
+ authType: "apiKey",
5259
+ getHeaders() {
5260
+ return {
5261
+ Authorization: `Bearer ${options.apiKey}`
5262
+ };
5263
+ }
5264
+ };
5265
+ }
5266
+ // src/integrations/mercury.ts
5267
+ var MERCURY_TOOLS = [
5268
+ "mercury_get_organization",
5269
+ "mercury_list_accounts",
5270
+ "mercury_get_account",
5271
+ "mercury_get_account_cards",
5272
+ "mercury_list_account_transactions",
5273
+ "mercury_get_account_transaction",
5274
+ "mercury_list_account_statements",
5275
+ "mercury_download_statement_pdf",
5276
+ "mercury_list_transactions",
5277
+ "mercury_get_transaction",
5278
+ "mercury_update_transaction",
5279
+ "mercury_upload_transaction_attachment",
5280
+ "mercury_list_cards",
5281
+ "mercury_get_card",
5282
+ "mercury_create_card",
5283
+ "mercury_update_card",
5284
+ "mercury_freeze_card",
5285
+ "mercury_unfreeze_card",
5286
+ "mercury_cancel_card",
5287
+ "mercury_list_categories",
5288
+ "mercury_create_category",
5289
+ "mercury_update_category",
5290
+ "mercury_list_credit_accounts",
5291
+ "mercury_list_users",
5292
+ "mercury_get_user",
5293
+ "mercury_list_recipients",
5294
+ "mercury_get_recipient",
5295
+ "mercury_create_recipient",
5296
+ "mercury_update_recipient",
5297
+ "mercury_list_recipient_attachments",
5298
+ "mercury_upload_recipient_attachment",
5299
+ "mercury_list_customers",
5300
+ "mercury_get_customer",
5301
+ "mercury_create_customer",
5302
+ "mercury_update_customer",
5303
+ "mercury_delete_customer",
5304
+ "mercury_list_invoices",
5305
+ "mercury_get_invoice",
5306
+ "mercury_create_invoice",
5307
+ "mercury_update_invoice",
5308
+ "mercury_cancel_invoice",
5309
+ "mercury_list_invoice_attachments",
5310
+ "mercury_get_attachment",
5311
+ "mercury_download_invoice_pdf",
5312
+ "mercury_list_treasury_accounts",
5313
+ "mercury_list_treasury_transactions",
5314
+ "mercury_list_treasury_statements",
5315
+ "mercury_list_events",
5316
+ "mercury_get_event",
5317
+ "mercury_list_send_money_requests",
5318
+ "mercury_get_send_money_request",
5319
+ "mercury_list_safe_requests",
5320
+ "mercury_get_safe_request",
5321
+ "mercury_download_safe_request_document",
5322
+ "mercury_list_webhooks",
5323
+ "mercury_get_webhook",
5324
+ "mercury_create_webhook",
5325
+ "mercury_update_webhook",
5326
+ "mercury_delete_webhook",
5327
+ "mercury_verify_webhook",
5328
+ "mercury_create_internal_transfer",
5329
+ "mercury_send_money",
5330
+ "mercury_request_send_money"
5331
+ ];
5332
+ function mercuryIntegration(options) {
5333
+ if (!options.apiKey) {
5334
+ throw new Error("mercuryIntegration requires an apiKey");
5335
+ }
5336
+ return {
5337
+ id: "mercury",
5338
+ name: "Mercury",
5339
+ tools: [...MERCURY_TOOLS],
5340
+ authType: "apiKey",
5341
+ getHeaders() {
5342
+ return {
5343
+ Authorization: `Bearer ${options.apiKey}`
5344
+ };
5147
5345
  }
5148
5346
  };
5149
5347
  }
@@ -5161,7 +5359,7 @@ function validateStepLimit(stepIndex, maxSteps) {
5161
5359
  return { valid: true };
5162
5360
  }
5163
5361
  // src/triggers/webhooks.ts
5164
- var logger34 = createLogger("Webhooks", "server");
5362
+ var logger35 = createLogger("Webhooks", "server");
5165
5363
  async function signPayload(payload, secret) {
5166
5364
  const encoder = new TextEncoder;
5167
5365
  const data = encoder.encode(JSON.stringify(payload));
@@ -5187,7 +5385,7 @@ async function deliverWebhook(webhook, payload, timeoutMs) {
5187
5385
  signal: controller.signal
5188
5386
  });
5189
5387
  if (!response.ok) {
5190
- logger34.warn(`Webhook delivery to ${webhook.url} returned ${response.status}`);
5388
+ logger35.warn(`Webhook delivery to ${webhook.url} returned ${response.status}`);
5191
5389
  }
5192
5390
  } finally {
5193
5391
  clearTimeout(timeout);
@@ -5200,7 +5398,7 @@ async function deliverWebhooks(webhooks, payload, timeoutMs) {
5200
5398
  for (let i = 0;i < results.length; i++) {
5201
5399
  const result = results[i];
5202
5400
  if (result.status === "rejected") {
5203
- logger34.warn(`Webhook delivery to ${webhooks[i].url} failed:`, result.reason);
5401
+ logger35.warn(`Webhook delivery to ${webhooks[i].url} failed:`, result.reason);
5204
5402
  }
5205
5403
  }
5206
5404
  }
@@ -5237,7 +5435,7 @@ function createSimpleIntegration(config) {
5237
5435
  };
5238
5436
  }
5239
5437
  // src/integrations/word.ts
5240
- var logger35 = createLogger("Word");
5438
+ var logger36 = createLogger("Word");
5241
5439
  var WORD_TOOLS = [
5242
5440
  "word_list",
5243
5441
  "word_get",
@@ -5263,16 +5461,16 @@ function wordIntegration(config = {}) {
5263
5461
  tools: [...WORD_TOOLS],
5264
5462
  oauth,
5265
5463
  async onInit(_client) {
5266
- logger35.debug("Word integration initialized");
5464
+ logger36.debug("Word integration initialized");
5267
5465
  },
5268
5466
  async onAfterConnect(_client) {
5269
- logger35.debug("Word integration connected");
5467
+ logger36.debug("Word integration connected");
5270
5468
  }
5271
5469
  };
5272
5470
  }
5273
5471
 
5274
5472
  // src/integrations/excel.ts
5275
- var logger36 = createLogger("Excel");
5473
+ var logger37 = createLogger("Excel");
5276
5474
  var EXCEL_TOOLS = [
5277
5475
  "excel_list",
5278
5476
  "excel_get",
@@ -5308,16 +5506,16 @@ function excelIntegration(config = {}) {
5308
5506
  tools: [...EXCEL_TOOLS],
5309
5507
  oauth,
5310
5508
  async onInit(_client) {
5311
- logger36.debug("Excel integration initialized");
5509
+ logger37.debug("Excel integration initialized");
5312
5510
  },
5313
5511
  async onAfterConnect(_client) {
5314
- logger36.debug("Excel integration connected");
5512
+ logger37.debug("Excel integration connected");
5315
5513
  }
5316
5514
  };
5317
5515
  }
5318
5516
 
5319
5517
  // src/integrations/powerpoint.ts
5320
- var logger37 = createLogger("PowerPoint");
5518
+ var logger38 = createLogger("PowerPoint");
5321
5519
  var POWERPOINT_TOOLS = [
5322
5520
  "powerpoint_list",
5323
5521
  "powerpoint_get",
@@ -5343,16 +5541,16 @@ function powerpointIntegration(config = {}) {
5343
5541
  tools: [...POWERPOINT_TOOLS],
5344
5542
  oauth,
5345
5543
  async onInit(_client) {
5346
- logger37.debug("PowerPoint integration initialized");
5544
+ logger38.debug("PowerPoint integration initialized");
5347
5545
  },
5348
5546
  async onAfterConnect(_client) {
5349
- logger37.debug("PowerPoint integration connected");
5547
+ logger38.debug("PowerPoint integration connected");
5350
5548
  }
5351
5549
  };
5352
5550
  }
5353
5551
 
5354
5552
  // src/integrations/gdrive.ts
5355
- var logger38 = createLogger("Google Drive");
5553
+ var logger39 = createLogger("Google Drive");
5356
5554
  var GDRIVE_TOOLS = [
5357
5555
  "gdrive_list_files",
5358
5556
  "gdrive_get_file",
@@ -5386,10 +5584,10 @@ function gdriveIntegration(config = {}) {
5386
5584
  tools: [...GDRIVE_TOOLS],
5387
5585
  oauth,
5388
5586
  async onInit(_client) {
5389
- logger38.debug("Google Drive integration initialized");
5587
+ logger39.debug("Google Drive integration initialized");
5390
5588
  },
5391
5589
  async onAfterConnect(_client) {
5392
- logger38.debug("Google Drive integration connected");
5590
+ logger39.debug("Google Drive integration connected");
5393
5591
  }
5394
5592
  };
5395
5593
  }
@@ -5448,6 +5646,7 @@ export {
5448
5646
  outlookIntegration,
5449
5647
  onedriveIntegration,
5450
5648
  notionIntegration,
5649
+ mercuryIntegration,
5451
5650
  linearIntegration,
5452
5651
  isTokenExpiredError,
5453
5652
  isAuthorizationError,
@@ -5456,6 +5655,7 @@ export {
5456
5655
  hubspotIntegration,
5457
5656
  gslidesIntegration,
5458
5657
  gsheetsIntegration,
5658
+ granolaIntegration,
5459
5659
  gmailIntegration,
5460
5660
  githubIntegration,
5461
5661
  genericOAuthIntegration,
@@ -5467,6 +5667,7 @@ export {
5467
5667
  gcalIntegration,
5468
5668
  fromNodeHeaders,
5469
5669
  figmaIntegration,
5670
+ dropboxIntegration,
5470
5671
  deliverWebhooks,
5471
5672
  cursorIntegration,
5472
5673
  createTanStackOAuthHandler,