integrate-sdk 0.8.42 → 0.8.43-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/adapters/auto-routes.d.ts.map +1 -1
  2. package/dist/adapters/auto-routes.js +265 -139
  3. package/dist/adapters/base-handler.d.ts.map +1 -1
  4. package/dist/adapters/index.js +261 -137
  5. package/dist/adapters/nextjs-oauth-redirect.d.ts.map +1 -1
  6. package/dist/adapters/nextjs-oauth-redirect.js +47 -2
  7. package/dist/adapters/nextjs.d.ts.map +1 -1
  8. package/dist/adapters/nextjs.js +260 -137
  9. package/dist/adapters/node.js +260 -137
  10. package/dist/adapters/svelte-kit.js +260 -137
  11. package/dist/adapters/tanstack-start.js +260 -137
  12. package/dist/index.js +275 -147
  13. package/dist/oauth.js +265 -139
  14. package/dist/react.js +59 -14
  15. package/dist/server.js +264 -137
  16. package/dist/src/adapters/auto-routes.d.ts.map +1 -1
  17. package/dist/src/adapters/base-handler.d.ts.map +1 -1
  18. package/dist/src/adapters/nextjs-oauth-redirect.d.ts.map +1 -1
  19. package/dist/src/adapters/nextjs.d.ts.map +1 -1
  20. package/dist/src/client.d.ts.map +1 -1
  21. package/dist/src/config/types.d.ts +15 -0
  22. package/dist/src/config/types.d.ts.map +1 -1
  23. package/dist/src/integrations/airtable.d.ts.map +1 -1
  24. package/dist/src/integrations/calcom.d.ts.map +1 -1
  25. package/dist/src/integrations/cursor.d.ts.map +1 -1
  26. package/dist/src/integrations/figma.d.ts.map +1 -1
  27. package/dist/src/integrations/gcal.d.ts.map +1 -1
  28. package/dist/src/integrations/github.d.ts.map +1 -1
  29. package/dist/src/integrations/gmail.d.ts.map +1 -1
  30. package/dist/src/integrations/gworkspace.d.ts.map +1 -1
  31. package/dist/src/integrations/hubspot.d.ts.map +1 -1
  32. package/dist/src/integrations/intercom.d.ts.map +1 -1
  33. package/dist/src/integrations/linear.d.ts.map +1 -1
  34. package/dist/src/integrations/notion.d.ts.map +1 -1
  35. package/dist/src/integrations/onedrive.d.ts.map +1 -1
  36. package/dist/src/integrations/outlook.d.ts.map +1 -1
  37. package/dist/src/integrations/polar.d.ts.map +1 -1
  38. package/dist/src/integrations/ramp.d.ts.map +1 -1
  39. package/dist/src/integrations/slack.d.ts.map +1 -1
  40. package/dist/src/integrations/stripe.d.ts.map +1 -1
  41. package/dist/src/integrations/todoist.d.ts.map +1 -1
  42. package/dist/src/integrations/vercel.d.ts.map +1 -1
  43. package/dist/src/integrations/whatsapp.d.ts.map +1 -1
  44. package/dist/src/integrations/youtube.d.ts.map +1 -1
  45. package/dist/src/integrations/zendesk.d.ts.map +1 -1
  46. package/dist/src/oauth/email-fetcher.d.ts.map +1 -1
  47. package/dist/src/oauth/manager.d.ts.map +1 -1
  48. package/dist/src/oauth/window-manager.d.ts.map +1 -1
  49. package/dist/src/react/hooks.d.ts.map +1 -1
  50. package/dist/src/server.d.ts.map +1 -1
  51. package/dist/src/transport/http-session.d.ts.map +1 -1
  52. package/dist/src/transport/http-stream.d.ts.map +1 -1
  53. package/dist/src/utils/logger.d.ts +37 -0
  54. package/dist/src/utils/logger.d.ts.map +1 -0
  55. package/package.json +2 -2
  56. package/dist/adapters/base-handler.js +0 -561
  57. package/dist/ai/cloudflare.d.ts +0 -158
  58. package/dist/ai/cloudflare.d.ts.map +0 -1
  59. package/dist/ai/cloudflare.js +0 -4249
  60. package/dist/ai/langchain.d.ts +0 -139
  61. package/dist/ai/langchain.d.ts.map +0 -1
  62. package/dist/ai/langchain.js +0 -4237
  63. package/dist/ai/llamaindex.d.ts +0 -125
  64. package/dist/ai/llamaindex.d.ts.map +0 -1
  65. package/dist/ai/llamaindex.js +0 -4236
  66. package/dist/ai/mastra.d.ts +0 -138
  67. package/dist/ai/mastra.d.ts.map +0 -1
  68. package/dist/ai/mastra.js +0 -4240
  69. package/dist/src/ai/cloudflare.d.ts +0 -158
  70. package/dist/src/ai/cloudflare.d.ts.map +0 -1
  71. package/dist/src/ai/langchain.d.ts +0 -139
  72. package/dist/src/ai/langchain.d.ts.map +0 -1
  73. package/dist/src/ai/llamaindex.d.ts +0 -125
  74. package/dist/src/ai/llamaindex.d.ts.map +0 -1
  75. package/dist/src/ai/mastra.d.ts +0 -138
  76. package/dist/src/ai/mastra.d.ts.map +0 -1
  77. package/dist/src/integrations/vercel-ai.d.ts +0 -127
  78. package/dist/src/integrations/vercel-ai.d.ts.map +0 -1
  79. package/dist/src/plugins/generic.d.ts +0 -99
  80. package/dist/src/plugins/generic.d.ts.map +0 -1
  81. package/dist/src/plugins/github-client.d.ts +0 -320
  82. package/dist/src/plugins/github-client.d.ts.map +0 -1
  83. package/dist/src/plugins/github.d.ts +0 -89
  84. package/dist/src/plugins/github.d.ts.map +0 -1
  85. package/dist/src/plugins/gmail-client.d.ts +0 -106
  86. package/dist/src/plugins/gmail-client.d.ts.map +0 -1
  87. package/dist/src/plugins/gmail.d.ts +0 -87
  88. package/dist/src/plugins/gmail.d.ts.map +0 -1
  89. package/dist/src/plugins/server-client.d.ts +0 -18
  90. package/dist/src/plugins/server-client.d.ts.map +0 -1
  91. package/dist/src/plugins/types.d.ts +0 -70
  92. package/dist/src/plugins/types.d.ts.map +0 -1
package/dist/server.js CHANGED
@@ -19,6 +19,49 @@ function parseMessage(message) {
19
19
  }
20
20
  }
21
21
 
22
+ // src/utils/logger.ts
23
+ function shouldLog(level) {
24
+ return logLevelHierarchy[level] <= logLevelHierarchy[globalLogLevel];
25
+ }
26
+ function setLogLevel(level) {
27
+ globalLogLevel = level;
28
+ }
29
+ function createLogger(namespace) {
30
+ const prefix = `[${namespace}]`;
31
+ return {
32
+ debug: (...args) => {
33
+ if (shouldLog("debug")) {
34
+ console.log(prefix, ...args);
35
+ }
36
+ },
37
+ info: (...args) => {
38
+ if (shouldLog("info")) {
39
+ console.log(prefix, ...args);
40
+ }
41
+ },
42
+ warn: (...args) => {
43
+ if (shouldLog("warn")) {
44
+ console.warn(prefix, ...args);
45
+ }
46
+ },
47
+ error: (...args) => {
48
+ if (shouldLog("error")) {
49
+ console.error(prefix, ...args);
50
+ }
51
+ }
52
+ };
53
+ }
54
+ var globalLogLevel = "error", logLevelHierarchy;
55
+ var init_logger = __esm(() => {
56
+ logLevelHierarchy = {
57
+ none: 0,
58
+ error: 1,
59
+ warn: 2,
60
+ info: 3,
61
+ debug: 4
62
+ };
63
+ });
64
+
22
65
  // src/transport/http-session.ts
23
66
  class HttpSessionTransport {
24
67
  url;
@@ -75,7 +118,7 @@ class HttpSessionTransport {
75
118
  const sid = response.headers.get("mcp-session-id");
76
119
  if (sid) {
77
120
  this.sessionId = sid;
78
- console.log("Session established:", sid);
121
+ logger.debug("Session established:", sid);
79
122
  this.startSSEListener();
80
123
  }
81
124
  }
@@ -125,7 +168,7 @@ class HttpSessionTransport {
125
168
  if (error instanceof Error && error.name === "AbortError") {
126
169
  return;
127
170
  }
128
- console.error("SSE connection error:", error);
171
+ logger.error("SSE connection error:", error);
129
172
  }
130
173
  }
131
174
  async processSSEStream(body) {
@@ -154,7 +197,7 @@ class HttpSessionTransport {
154
197
  if (error instanceof Error && error.name === "AbortError") {
155
198
  return;
156
199
  }
157
- console.error("SSE stream error:", error);
200
+ logger.error("SSE stream error:", error);
158
201
  } finally {
159
202
  reader.releaseLock();
160
203
  }
@@ -166,11 +209,11 @@ class HttpSessionTransport {
166
209
  try {
167
210
  handler(message);
168
211
  } catch (error) {
169
- console.error("Error in message handler:", error);
212
+ logger.error("Error in message handler:", error);
170
213
  }
171
214
  });
172
215
  } catch (error) {
173
- console.error("Failed to parse notification:", error);
216
+ logger.error("Failed to parse notification:", error);
174
217
  }
175
218
  }
176
219
  onMessage(handler) {
@@ -207,7 +250,11 @@ class HttpSessionTransport {
207
250
  return { ...this.headers };
208
251
  }
209
252
  }
210
- var init_http_session = () => {};
253
+ var logger;
254
+ var init_http_session = __esm(() => {
255
+ init_logger();
256
+ logger = createLogger("HTTPSession");
257
+ });
211
258
 
212
259
  // src/protocol/messages.ts
213
260
  var init_messages = () => {};
@@ -566,7 +613,7 @@ class OAuthWindowManager {
566
613
  const windowName = `oauth_popup_${Date.now()}`;
567
614
  this.popupWindow = window.open(url, windowName, features);
568
615
  if (!this.popupWindow) {
569
- console.warn("Popup was blocked by the browser. Please allow popups for this site.");
616
+ logger2.warn("Popup was blocked by the browser. Please allow popups for this site.");
570
617
  return null;
571
618
  }
572
619
  this.popupWindow.focus();
@@ -576,7 +623,7 @@ class OAuthWindowManager {
576
623
  if (!isBrowser()) {
577
624
  throw new Error("OAuthWindowManager.openRedirect() can only be used in browser environments");
578
625
  }
579
- console.log("[OAuthWindowManager] Redirecting to:", url.substring(0, 100) + (url.length > 100 ? "..." : ""));
626
+ logger2.debug("[OAuthWindowManager] Redirecting to:", url.substring(0, 100) + (url.length > 100 ? "..." : ""));
580
627
  window.location.href = url;
581
628
  }
582
629
  listenForCallback(mode, timeoutMs = 5 * 60 * 1000) {
@@ -655,7 +702,7 @@ class OAuthWindowManager {
655
702
  window.history.replaceState(null, "", window.location.pathname + window.location.search);
656
703
  }
657
704
  } catch (e) {
658
- console.error("Failed to parse OAuth callback params from hash:", e);
705
+ logger2.error("Failed to parse OAuth callback params from hash:", e);
659
706
  }
660
707
  }
661
708
  if (!code && !error) {
@@ -668,7 +715,7 @@ class OAuthWindowManager {
668
715
  sessionStorage.removeItem("oauth_callback_params");
669
716
  }
670
717
  } catch (e) {
671
- console.error("Failed to parse OAuth callback params from sessionStorage:", e);
718
+ logger2.error("Failed to parse OAuth callback params from sessionStorage:", e);
672
719
  }
673
720
  }
674
721
  if (error) {
@@ -701,6 +748,11 @@ class OAuthWindowManager {
701
748
  this.cleanup();
702
749
  }
703
750
  }
751
+ var logger2;
752
+ var init_window_manager = __esm(() => {
753
+ init_logger();
754
+ logger2 = createLogger("OAuthWindowManager");
755
+ });
704
756
 
705
757
  // src/oauth/indexeddb-storage.ts
706
758
  class IndexedDBStorage {
@@ -891,7 +943,7 @@ async function fetchUserEmail(provider, tokenData) {
891
943
  return tokenData.email;
892
944
  }
893
945
  } catch (error) {
894
- console.error(`Failed to fetch email for ${provider}:`, error);
946
+ logger3.error(`Failed to fetch email for ${provider}:`, error);
895
947
  return;
896
948
  }
897
949
  }
@@ -933,7 +985,7 @@ async function fetchGitHubEmail(accessToken) {
933
985
  }
934
986
  return;
935
987
  } catch (error) {
936
- console.error("Failed to fetch GitHub email:", error);
988
+ logger3.error("Failed to fetch GitHub email:", error);
937
989
  return;
938
990
  }
939
991
  }
@@ -950,7 +1002,7 @@ async function fetchGoogleEmail(accessToken) {
950
1002
  const user = await response.json();
951
1003
  return user.email;
952
1004
  } catch (error) {
953
- console.error("Failed to fetch Google email:", error);
1005
+ logger3.error("Failed to fetch Google email:", error);
954
1006
  return;
955
1007
  }
956
1008
  }
@@ -968,10 +1020,15 @@ async function fetchNotionEmail(accessToken) {
968
1020
  const user = await response.json();
969
1021
  return user.person?.email;
970
1022
  } catch (error) {
971
- console.error("Failed to fetch Notion email:", error);
1023
+ logger3.error("Failed to fetch Notion email:", error);
972
1024
  return;
973
1025
  }
974
1026
  }
1027
+ var logger3;
1028
+ var init_email_fetcher = __esm(() => {
1029
+ init_logger();
1030
+ logger3 = createLogger("EmailFetcher");
1031
+ });
975
1032
 
976
1033
  // src/oauth/manager.ts
977
1034
  class OAuthManager {
@@ -1084,7 +1141,7 @@ class OAuthManager {
1084
1141
  try {
1085
1142
  await this.flowConfig.onAuthCallback(pendingAuth.provider, code, state);
1086
1143
  } catch (error) {
1087
- console.error("Custom OAuth callback handler failed:", error);
1144
+ logger4.error("Custom OAuth callback handler failed:", error);
1088
1145
  }
1089
1146
  }
1090
1147
  try {
@@ -1132,20 +1189,20 @@ class OAuthManager {
1132
1189
  try {
1133
1190
  await this.removeTokenCallback(provider, email, context);
1134
1191
  } catch (error) {
1135
- console.error(`Failed to delete token for ${provider} (${email}) from database:`, error);
1192
+ logger4.error(`Failed to delete token for ${provider} (${email}) from database:`, error);
1136
1193
  }
1137
1194
  } else if (this.setTokenCallback) {
1138
1195
  try {
1139
1196
  await this.setTokenCallback(provider, null, email, context);
1140
1197
  } catch (error) {
1141
- console.error(`Failed to delete token for ${provider} (${email}) from database:`, error);
1198
+ logger4.error(`Failed to delete token for ${provider} (${email}) from database:`, error);
1142
1199
  }
1143
1200
  }
1144
1201
  if (!this.setTokenCallback && !this.removeTokenCallback) {
1145
1202
  try {
1146
1203
  await this.indexedDBStorage.deleteToken(provider, email);
1147
1204
  } catch (error) {
1148
- console.error(`Failed to delete token from IndexedDB for ${provider} (${email}):`, error);
1205
+ logger4.error(`Failed to delete token from IndexedDB for ${provider} (${email}):`, error);
1149
1206
  }
1150
1207
  }
1151
1208
  this.providerTokens.delete(provider);
@@ -1155,13 +1212,13 @@ class OAuthManager {
1155
1212
  try {
1156
1213
  await this.removeTokenCallback(provider, undefined, context);
1157
1214
  } catch (error) {
1158
- console.error(`Failed to delete tokens for ${provider} from database:`, error);
1215
+ logger4.error(`Failed to delete tokens for ${provider} from database:`, error);
1159
1216
  }
1160
1217
  } else if (this.setTokenCallback) {
1161
1218
  try {
1162
1219
  await this.setTokenCallback(provider, null, undefined, context);
1163
1220
  } catch (error) {
1164
- console.error(`Failed to delete tokens for ${provider} from database:`, error);
1221
+ logger4.error(`Failed to delete tokens for ${provider} from database:`, error);
1165
1222
  }
1166
1223
  }
1167
1224
  if (!this.setTokenCallback && !this.removeTokenCallback) {
@@ -1194,7 +1251,7 @@ class OAuthManager {
1194
1251
  try {
1195
1252
  return await this.indexedDBStorage.listAccounts(provider);
1196
1253
  } catch (error) {
1197
- console.error(`Failed to list accounts for ${provider}:`, error);
1254
+ logger4.error(`Failed to list accounts for ${provider}:`, error);
1198
1255
  return [];
1199
1256
  }
1200
1257
  }
@@ -1209,7 +1266,7 @@ class OAuthManager {
1209
1266
  }
1210
1267
  return tokenData;
1211
1268
  } catch (error) {
1212
- console.error(`Failed to get token for ${provider} via callback:`, error);
1269
+ logger4.error(`Failed to get token for ${provider} via callback:`, error);
1213
1270
  return;
1214
1271
  }
1215
1272
  }
@@ -1221,7 +1278,7 @@ class OAuthManager {
1221
1278
  }
1222
1279
  return tokenData;
1223
1280
  } catch (error) {
1224
- console.error(`Failed to get token from IndexedDB for ${provider}:`, error);
1281
+ logger4.error(`Failed to get token from IndexedDB for ${provider}:`, error);
1225
1282
  }
1226
1283
  }
1227
1284
  return this.providerTokens.get(provider);
@@ -1249,7 +1306,7 @@ class OAuthManager {
1249
1306
  this.providerTokens.delete(provider);
1250
1307
  if (!this.setTokenCallback && !this.removeTokenCallback && !this.skipLocalStorage) {
1251
1308
  this.indexedDBStorage.deleteTokensByProvider(provider).catch((error) => {
1252
- console.error(`Failed to clear tokens for ${provider} from IndexedDB:`, error);
1309
+ logger4.error(`Failed to clear tokens for ${provider} from IndexedDB:`, error);
1253
1310
  });
1254
1311
  }
1255
1312
  }
@@ -1269,7 +1326,7 @@ class OAuthManager {
1269
1326
  } catch (localStorageError) {}
1270
1327
  }
1271
1328
  this.indexedDBStorage.clearAll().catch((error) => {
1272
- console.error("Failed to clear all tokens from IndexedDB:", error);
1329
+ logger4.error("Failed to clear all tokens from IndexedDB:", error);
1273
1330
  });
1274
1331
  }
1275
1332
  }
@@ -1287,7 +1344,7 @@ class OAuthManager {
1287
1344
  }
1288
1345
  keysToRemove.forEach((key) => window.localStorage.removeItem(key));
1289
1346
  } catch (error) {
1290
- console.error("Failed to clear pending auths from localStorage:", error);
1347
+ logger4.error("Failed to clear pending auths from localStorage:", error);
1291
1348
  }
1292
1349
  }
1293
1350
  }
@@ -1296,7 +1353,7 @@ class OAuthManager {
1296
1353
  try {
1297
1354
  await this.setTokenCallback(provider, tokenData, email, context);
1298
1355
  } catch (error) {
1299
- console.error(`Failed to ${tokenData === null ? "delete" : "save"} token for ${provider} via callback:`, error);
1356
+ logger4.error(`Failed to ${tokenData === null ? "delete" : "save"} token for ${provider} via callback:`, error);
1300
1357
  throw error;
1301
1358
  }
1302
1359
  return;
@@ -1337,10 +1394,10 @@ class OAuthManager {
1337
1394
  const key = `integrate_token_${provider}`;
1338
1395
  window.localStorage.setItem(key, JSON.stringify(tokenData));
1339
1396
  } catch (localStorageError) {
1340
- console.error(`Failed to save token for ${provider} to localStorage:`, localStorageError);
1397
+ logger4.error(`Failed to save token for ${provider} to localStorage:`, localStorageError);
1341
1398
  }
1342
1399
  } else {
1343
- console.error(`Failed to save token for ${provider} to IndexedDB:`, error);
1400
+ logger4.error(`Failed to save token for ${provider} to IndexedDB:`, error);
1344
1401
  }
1345
1402
  }
1346
1403
  } else {
@@ -1349,7 +1406,7 @@ class OAuthManager {
1349
1406
  const key = `integrate_token_${provider}`;
1350
1407
  window.localStorage.setItem(key, JSON.stringify(tokenData));
1351
1408
  } catch (localStorageError) {
1352
- console.error(`Failed to save token for ${provider} to localStorage:`, localStorageError);
1409
+ logger4.error(`Failed to save token for ${provider} to localStorage:`, localStorageError);
1353
1410
  }
1354
1411
  }
1355
1412
  }
@@ -1359,7 +1416,7 @@ class OAuthManager {
1359
1416
  try {
1360
1417
  return await this.getTokenCallback(provider, email, context);
1361
1418
  } catch (error) {
1362
- console.error(`Failed to load token for ${provider} via callback:`, error);
1419
+ logger4.error(`Failed to load token for ${provider} via callback:`, error);
1363
1420
  return;
1364
1421
  }
1365
1422
  }
@@ -1436,7 +1493,7 @@ class OAuthManager {
1436
1493
  const key = `integrate_oauth_pending_${state}`;
1437
1494
  window.localStorage.setItem(key, JSON.stringify(pendingAuth));
1438
1495
  } catch (error) {
1439
- console.error("Failed to save pending auth to localStorage:", error);
1496
+ logger4.error("Failed to save pending auth to localStorage:", error);
1440
1497
  }
1441
1498
  }
1442
1499
  }
@@ -1449,7 +1506,7 @@ class OAuthManager {
1449
1506
  return JSON.parse(stored);
1450
1507
  }
1451
1508
  } catch (error) {
1452
- console.error("Failed to load pending auth from localStorage:", error);
1509
+ logger4.error("Failed to load pending auth from localStorage:", error);
1453
1510
  }
1454
1511
  }
1455
1512
  return;
@@ -1460,7 +1517,7 @@ class OAuthManager {
1460
1517
  const key = `integrate_oauth_pending_${state}`;
1461
1518
  window.localStorage.removeItem(key);
1462
1519
  } catch (error) {
1463
- console.error("Failed to remove pending auth from localStorage:", error);
1520
+ logger4.error("Failed to remove pending auth from localStorage:", error);
1464
1521
  }
1465
1522
  }
1466
1523
  }
@@ -1489,7 +1546,7 @@ class OAuthManager {
1489
1546
  }
1490
1547
  keysToRemove.forEach((key) => window.localStorage.removeItem(key));
1491
1548
  } catch (error) {
1492
- console.error("Failed to cleanup expired pending auths:", error);
1549
+ logger4.error("Failed to cleanup expired pending auths:", error);
1493
1550
  }
1494
1551
  }
1495
1552
  }
@@ -1557,7 +1614,13 @@ class OAuthManager {
1557
1614
  this.windowManager.close();
1558
1615
  }
1559
1616
  }
1560
- var init_manager = () => {};
1617
+ var logger4;
1618
+ var init_manager = __esm(() => {
1619
+ init_window_manager();
1620
+ init_email_fetcher();
1621
+ init_logger();
1622
+ logger4 = createLogger("OAuth");
1623
+ });
1561
1624
 
1562
1625
  // src/client.ts
1563
1626
  class SimpleEventEmitter {
@@ -1581,7 +1644,7 @@ class SimpleEventEmitter {
1581
1644
  try {
1582
1645
  handler(payload);
1583
1646
  } catch (error) {
1584
- console.error(`Error in event handler for ${event}:`, error);
1647
+ logger5.error(`Error in event handler for ${event}:`, error);
1585
1648
  }
1586
1649
  });
1587
1650
  }
@@ -1673,7 +1736,7 @@ class MCPClientBase {
1673
1736
  this.authState.set(provider, { authenticated: !!tokenData });
1674
1737
  }
1675
1738
  } catch (error) {
1676
- console.error(`Failed to check token for ${provider}:`, error);
1739
+ logger5.error(`Failed to check token for ${provider}:`, error);
1677
1740
  const currentState = this.authState.get(provider);
1678
1741
  if (currentState && !currentState.authenticated && !currentState.lastError) {
1679
1742
  this.authState.set(provider, { authenticated: false });
@@ -1682,7 +1745,7 @@ class MCPClientBase {
1682
1745
  }
1683
1746
  }
1684
1747
  }).catch((error) => {
1685
- console.error("Failed to load provider tokens:", error);
1748
+ logger5.error("Failed to load provider tokens:", error);
1686
1749
  });
1687
1750
  } else {
1688
1751
  this.oauthManager.loadAllProviderTokensSync(providers);
@@ -1845,7 +1908,7 @@ class MCPClientBase {
1845
1908
  this.availableTools.set(tool.name, tool);
1846
1909
  }
1847
1910
  const enabledTools = response.tools.filter((tool) => this.enabledToolNames.has(tool.name));
1848
- console.log(`Discovered ${response.tools.length} tools, ${enabledTools.length} enabled by integrations`);
1911
+ logger5.debug(`Discovered ${response.tools.length} tools, ${enabledTools.length} enabled by integrations`);
1849
1912
  }
1850
1913
  async _callToolByName(name, args, options) {
1851
1914
  return await this.callToolWithRetry(name, args, 0, options);
@@ -2238,12 +2301,14 @@ class MCPClientBase {
2238
2301
  return success;
2239
2302
  }
2240
2303
  }
2241
- var MCP_SERVER_URL = "https://mcp.integrate.dev/api/v1/mcp", clientCache, cleanupClients;
2304
+ var MCP_SERVER_URL = "https://mcp.integrate.dev/api/v1/mcp", logger5, clientCache, cleanupClients;
2242
2305
  var init_client = __esm(() => {
2243
2306
  init_http_session();
2244
2307
  init_messages();
2245
2308
  init_errors();
2309
+ init_logger();
2246
2310
  init_manager();
2311
+ logger5 = createLogger("MCPClient");
2247
2312
  clientCache = new Map;
2248
2313
  cleanupClients = new Set;
2249
2314
  });
@@ -2743,11 +2808,11 @@ class OAuthHandler {
2743
2808
  try {
2744
2809
  await this.config.removeProviderToken(request.provider, undefined, context);
2745
2810
  } catch (error) {
2746
- console.error(`Failed to delete token for ${request.provider} from database via removeProviderToken:`, error);
2811
+ logger6.error(`Failed to delete token for ${request.provider} from database via removeProviderToken:`, error);
2747
2812
  }
2748
2813
  }
2749
2814
  } catch (error) {
2750
- console.error(`Failed to extract context for disconnect:`, error);
2815
+ logger6.error(`Failed to extract context for disconnect:`, error);
2751
2816
  }
2752
2817
  }
2753
2818
  const url = new URL("/oauth/disconnect", this.serverUrl);
@@ -2807,7 +2872,11 @@ class OAuthHandler {
2807
2872
  return jsonRpcResponse.result;
2808
2873
  }
2809
2874
  }
2810
- var MCP_SERVER_URL2 = "https://mcp.integrate.dev/api/v1/mcp";
2875
+ var logger6, MCP_SERVER_URL2 = "https://mcp.integrate.dev/api/v1/mcp";
2876
+ var init_base_handler = __esm(() => {
2877
+ init_logger();
2878
+ logger6 = createLogger("OAuthHandler");
2879
+ });
2811
2880
 
2812
2881
  // src/adapters/nextjs.ts
2813
2882
  function createNextOAuthHandler(config) {
@@ -2825,7 +2894,7 @@ function createNextOAuthHandler(config) {
2825
2894
  }
2826
2895
  return response;
2827
2896
  } catch (error) {
2828
- console.error("[OAuth Authorize] Error:", error);
2897
+ logger7.error("[OAuth Authorize] Error:", error);
2829
2898
  return Response.json({ error: error.message || "Failed to get authorization URL" }, { status: 500 });
2830
2899
  }
2831
2900
  },
@@ -2841,7 +2910,7 @@ function createNextOAuthHandler(config) {
2841
2910
  }
2842
2911
  return response;
2843
2912
  } catch (error) {
2844
- console.error("[OAuth Callback] Error:", error);
2913
+ logger7.error("[OAuth Callback] Error:", error);
2845
2914
  return Response.json({ error: error.message || "Failed to exchange authorization code" }, { status: 500 });
2846
2915
  }
2847
2916
  },
@@ -2863,7 +2932,7 @@ function createNextOAuthHandler(config) {
2863
2932
  }
2864
2933
  return response;
2865
2934
  } catch (error) {
2866
- console.error("[OAuth Status] Error:", error);
2935
+ logger7.error("[OAuth Status] Error:", error);
2867
2936
  return Response.json({ error: error.message || "Failed to check authorization status" }, { status: 500 });
2868
2937
  }
2869
2938
  },
@@ -2886,7 +2955,7 @@ function createNextOAuthHandler(config) {
2886
2955
  }
2887
2956
  return response;
2888
2957
  } catch (error) {
2889
- console.error("[OAuth Disconnect] Error:", error);
2958
+ logger7.error("[OAuth Disconnect] Error:", error);
2890
2959
  return Response.json({ error: error.message || "Failed to disconnect provider" }, { status: 500 });
2891
2960
  }
2892
2961
  },
@@ -2927,7 +2996,7 @@ function createNextOAuthHandler(config) {
2927
2996
  const result = await handler.handleToolCall(body, authHeader, integrationsHeader);
2928
2997
  return Response.json(result);
2929
2998
  } catch (error) {
2930
- console.error("[MCP Tool Call] Error:", error);
2999
+ logger7.error("[MCP Tool Call] Error:", error);
2931
3000
  return Response.json({ error: error.message || "Failed to execute tool call" }, { status: error.statusCode || 500 });
2932
3001
  }
2933
3002
  },
@@ -2972,11 +3041,11 @@ function createNextOAuthHandler(config) {
2972
3041
  const errorDescription = searchParams.get("error_description");
2973
3042
  if (error) {
2974
3043
  const errorMsg = errorDescription || error;
2975
- console.error("[OAuth Redirect] Error:", errorMsg);
3044
+ logger7.error("[OAuth Redirect] Error:", errorMsg);
2976
3045
  return Response.redirect(new URL(`${errorRedirectUrl}?error=${encodeURIComponent(errorMsg)}`, req.url));
2977
3046
  }
2978
3047
  if (!code || !state) {
2979
- console.error("[OAuth Redirect] Missing code or state parameter");
3048
+ logger7.error("[OAuth Redirect] Missing code or state parameter");
2980
3049
  return Response.redirect(new URL(`${errorRedirectUrl}?error=${encodeURIComponent("Invalid OAuth callback")}`, req.url));
2981
3050
  }
2982
3051
  let returnUrl = defaultRedirectUrl;
@@ -3011,7 +3080,12 @@ function createNextOAuthHandler(config) {
3011
3080
  };
3012
3081
  return handlers;
3013
3082
  }
3014
- var init_nextjs = () => {};
3083
+ var logger7;
3084
+ var init_nextjs = __esm(() => {
3085
+ init_base_handler();
3086
+ init_logger();
3087
+ logger7 = createLogger("NextJSOAuth");
3088
+ });
3015
3089
 
3016
3090
  // src/utils/env.ts
3017
3091
  function getEnv(key) {
@@ -3095,15 +3169,17 @@ function githubIntegration(config = {}) {
3095
3169
  tools: [...GITHUB_TOOLS],
3096
3170
  oauth,
3097
3171
  async onInit(_client) {
3098
- console.log("GitHub integration initialized");
3172
+ logger8.debug("GitHub integration initialized");
3099
3173
  },
3100
3174
  async onAfterConnect(_client) {
3101
- console.log("GitHub integration connected");
3175
+ logger8.debug("GitHub integration connected");
3102
3176
  }
3103
3177
  };
3104
3178
  }
3105
- var GITHUB_TOOLS;
3179
+ var logger8, GITHUB_TOOLS;
3106
3180
  var init_github = __esm(() => {
3181
+ init_logger();
3182
+ logger8 = createLogger("GitHub");
3107
3183
  GITHUB_TOOLS = [
3108
3184
  "github_create_issue",
3109
3185
  "github_list_issues",
@@ -3146,15 +3222,17 @@ function gmailIntegration(config = {}) {
3146
3222
  tools: [...GMAIL_TOOLS],
3147
3223
  oauth,
3148
3224
  async onInit(_client) {
3149
- console.log("Gmail integration initialized");
3225
+ logger9.debug("Gmail integration initialized");
3150
3226
  },
3151
3227
  async onAfterConnect(_client) {
3152
- console.log("Gmail integration connected");
3228
+ logger9.debug("Gmail integration connected");
3153
3229
  }
3154
3230
  };
3155
3231
  }
3156
- var GMAIL_TOOLS;
3232
+ var logger9, GMAIL_TOOLS;
3157
3233
  var init_gmail = __esm(() => {
3234
+ init_logger();
3235
+ logger9 = createLogger("Gmail");
3158
3236
  GMAIL_TOOLS = [
3159
3237
  "gmail_send_message",
3160
3238
  "gmail_list_messages",
@@ -3183,15 +3261,17 @@ function notionIntegration(config = {}) {
3183
3261
  tools: [...NOTION_TOOLS],
3184
3262
  oauth,
3185
3263
  async onInit(_client) {
3186
- console.log("Notion integration initialized");
3264
+ logger10.debug("Notion integration initialized");
3187
3265
  },
3188
3266
  async onAfterConnect(_client) {
3189
- console.log("Notion integration connected");
3267
+ logger10.debug("Notion integration connected");
3190
3268
  }
3191
3269
  };
3192
3270
  }
3193
- var NOTION_TOOLS;
3271
+ var logger10, NOTION_TOOLS;
3194
3272
  var init_notion = __esm(() => {
3273
+ init_logger();
3274
+ logger10 = createLogger("Notion");
3195
3275
  NOTION_TOOLS = [
3196
3276
  "notion_search",
3197
3277
  "notion_get_page"
@@ -3215,15 +3295,17 @@ function slackIntegration(config = {}) {
3215
3295
  tools: [...SLACK_TOOLS],
3216
3296
  oauth,
3217
3297
  async onInit(_client) {
3218
- console.log("Slack integration initialized");
3298
+ logger11.debug("Slack integration initialized");
3219
3299
  },
3220
3300
  async onAfterConnect(_client) {
3221
- console.log("Slack integration connected");
3301
+ logger11.debug("Slack integration connected");
3222
3302
  }
3223
3303
  };
3224
3304
  }
3225
- var SLACK_TOOLS;
3305
+ var logger11, SLACK_TOOLS;
3226
3306
  var init_slack = __esm(() => {
3307
+ init_logger();
3308
+ logger11 = createLogger("Slack");
3227
3309
  SLACK_TOOLS = [
3228
3310
  "slack_send_message",
3229
3311
  "slack_list_channels",
@@ -3254,15 +3336,17 @@ function linearIntegration(config = {}) {
3254
3336
  tools: [...LINEAR_TOOLS],
3255
3337
  oauth,
3256
3338
  async onInit(_client) {
3257
- console.log("Linear integration initialized");
3339
+ logger12.debug("Linear integration initialized");
3258
3340
  },
3259
3341
  async onAfterConnect(_client) {
3260
- console.log("Linear integration connected");
3342
+ logger12.debug("Linear integration connected");
3261
3343
  }
3262
3344
  };
3263
3345
  }
3264
- var LINEAR_TOOLS;
3346
+ var logger12, LINEAR_TOOLS;
3265
3347
  var init_linear = __esm(() => {
3348
+ init_logger();
3349
+ logger12 = createLogger("Linear");
3266
3350
  LINEAR_TOOLS = [
3267
3351
  "linear_create_issue",
3268
3352
  "linear_list_issues",
@@ -3293,15 +3377,17 @@ function vercelIntegration(config = {}) {
3293
3377
  tools: [...VERCEL_TOOLS],
3294
3378
  oauth,
3295
3379
  async onInit(_client) {
3296
- console.log("Vercel integration initialized");
3380
+ logger13.debug("Vercel integration initialized");
3297
3381
  },
3298
3382
  async onAfterConnect(_client) {
3299
- console.log("Vercel integration connected");
3383
+ logger13.debug("Vercel integration connected");
3300
3384
  }
3301
3385
  };
3302
3386
  }
3303
- var VERCEL_TOOLS;
3387
+ var logger13, VERCEL_TOOLS;
3304
3388
  var init_vercel = __esm(() => {
3389
+ init_logger();
3390
+ logger13 = createLogger("Vercel");
3305
3391
  VERCEL_TOOLS = [
3306
3392
  "vercel_list_projects",
3307
3393
  "vercel_get_project",
@@ -3333,15 +3419,17 @@ function zendeskIntegration(config = {}) {
3333
3419
  tools: [...ZENDESK_TOOLS],
3334
3420
  oauth,
3335
3421
  async onInit(_client) {
3336
- console.log("Zendesk integration initialized");
3422
+ logger14.debug("Zendesk integration initialized");
3337
3423
  },
3338
3424
  async onAfterConnect(_client) {
3339
- console.log("Zendesk integration connected");
3425
+ logger14.debug("Zendesk integration connected");
3340
3426
  }
3341
3427
  };
3342
3428
  }
3343
- var ZENDESK_TOOLS;
3429
+ var logger14, ZENDESK_TOOLS;
3344
3430
  var init_zendesk = __esm(() => {
3431
+ init_logger();
3432
+ logger14 = createLogger("Zendesk");
3345
3433
  ZENDESK_TOOLS = [
3346
3434
  "zendesk_list_tickets",
3347
3435
  "zendesk_get_ticket",
@@ -3372,15 +3460,17 @@ function stripeIntegration(config = {}) {
3372
3460
  tools: [...STRIPE_TOOLS],
3373
3461
  oauth,
3374
3462
  async onInit(_client) {
3375
- console.log("Stripe integration initialized");
3463
+ logger15.debug("Stripe integration initialized");
3376
3464
  },
3377
3465
  async onAfterConnect(_client) {
3378
- console.log("Stripe integration connected");
3466
+ logger15.debug("Stripe integration connected");
3379
3467
  }
3380
3468
  };
3381
3469
  }
3382
- var STRIPE_TOOLS;
3470
+ var logger15, STRIPE_TOOLS;
3383
3471
  var init_stripe = __esm(() => {
3472
+ init_logger();
3473
+ logger15 = createLogger("Stripe");
3384
3474
  STRIPE_TOOLS = [
3385
3475
  "stripe_list_customers",
3386
3476
  "stripe_get_customer",
@@ -3411,15 +3501,17 @@ function gcalIntegration(config = {}) {
3411
3501
  tools: [...GCAL_TOOLS],
3412
3502
  oauth,
3413
3503
  async onInit(_client) {
3414
- console.log("Google Calendar integration initialized");
3504
+ logger16.debug("Google Calendar integration initialized");
3415
3505
  },
3416
3506
  async onAfterConnect(_client) {
3417
- console.log("Google Calendar integration connected");
3507
+ logger16.debug("Google Calendar integration connected");
3418
3508
  }
3419
3509
  };
3420
3510
  }
3421
- var GCAL_TOOLS;
3511
+ var logger16, GCAL_TOOLS;
3422
3512
  var init_gcal = __esm(() => {
3513
+ init_logger();
3514
+ logger16 = createLogger("Google Calendar");
3423
3515
  GCAL_TOOLS = [
3424
3516
  "gcal_list_calendars",
3425
3517
  "gcal_get_calendar",
@@ -3450,15 +3542,17 @@ function outlookIntegration(config = {}) {
3450
3542
  tools: [...OUTLOOK_TOOLS],
3451
3543
  oauth,
3452
3544
  async onInit(_client) {
3453
- console.log("Outlook integration initialized");
3545
+ logger17.debug("Outlook integration initialized");
3454
3546
  },
3455
3547
  async onAfterConnect(_client) {
3456
- console.log("Outlook integration connected");
3548
+ logger17.debug("Outlook integration connected");
3457
3549
  }
3458
3550
  };
3459
3551
  }
3460
- var OUTLOOK_TOOLS;
3552
+ var logger17, OUTLOOK_TOOLS;
3461
3553
  var init_outlook = __esm(() => {
3554
+ init_logger();
3555
+ logger17 = createLogger("Outlook");
3462
3556
  OUTLOOK_TOOLS = [
3463
3557
  "outlook_list_messages",
3464
3558
  "outlook_get_message",
@@ -3489,15 +3583,17 @@ function airtableIntegration(config = {}) {
3489
3583
  tools: [...AIRTABLE_TOOLS],
3490
3584
  oauth,
3491
3585
  async onInit(_client) {
3492
- console.log("Airtable integration initialized");
3586
+ logger18.debug("Airtable integration initialized");
3493
3587
  },
3494
3588
  async onAfterConnect(_client) {
3495
- console.log("Airtable integration connected");
3589
+ logger18.debug("Airtable integration connected");
3496
3590
  }
3497
3591
  };
3498
3592
  }
3499
- var AIRTABLE_TOOLS;
3593
+ var logger18, AIRTABLE_TOOLS;
3500
3594
  var init_airtable = __esm(() => {
3595
+ init_logger();
3596
+ logger18 = createLogger("Airtable");
3501
3597
  AIRTABLE_TOOLS = [
3502
3598
  "airtable_list_bases",
3503
3599
  "airtable_get_base",
@@ -3528,15 +3624,17 @@ function todoistIntegration(config = {}) {
3528
3624
  tools: [...TODOIST_TOOLS],
3529
3625
  oauth,
3530
3626
  async onInit(_client) {
3531
- console.log("Todoist integration initialized");
3627
+ logger19.debug("Todoist integration initialized");
3532
3628
  },
3533
3629
  async onAfterConnect(_client) {
3534
- console.log("Todoist integration connected");
3630
+ logger19.debug("Todoist integration connected");
3535
3631
  }
3536
3632
  };
3537
3633
  }
3538
- var TODOIST_TOOLS;
3634
+ var logger19, TODOIST_TOOLS;
3539
3635
  var init_todoist = __esm(() => {
3636
+ init_logger();
3637
+ logger19 = createLogger("Todoist");
3540
3638
  TODOIST_TOOLS = [
3541
3639
  "todoist_list_projects",
3542
3640
  "todoist_get_project",
@@ -3568,15 +3666,17 @@ function whatsappIntegration(config = {}) {
3568
3666
  tools: [...WHATSAPP_TOOLS],
3569
3667
  oauth,
3570
3668
  async onInit(_client) {
3571
- console.log("WhatsApp Business integration initialized");
3669
+ logger20.debug("WhatsApp Business integration initialized");
3572
3670
  },
3573
3671
  async onAfterConnect(_client) {
3574
- console.log("WhatsApp Business integration connected");
3672
+ logger20.debug("WhatsApp Business integration connected");
3575
3673
  }
3576
3674
  };
3577
3675
  }
3578
- var WHATSAPP_TOOLS;
3676
+ var logger20, WHATSAPP_TOOLS;
3579
3677
  var init_whatsapp = __esm(() => {
3678
+ init_logger();
3679
+ logger20 = createLogger("WhatsApp");
3580
3680
  WHATSAPP_TOOLS = [
3581
3681
  "whatsapp_send_message",
3582
3682
  "whatsapp_send_template",
@@ -3607,15 +3707,17 @@ function calcomIntegration(config = {}) {
3607
3707
  tools: [...CALCOM_TOOLS],
3608
3708
  oauth,
3609
3709
  async onInit(_client) {
3610
- console.log("Cal.com integration initialized");
3710
+ logger21.debug("Cal.com integration initialized");
3611
3711
  },
3612
3712
  async onAfterConnect(_client) {
3613
- console.log("Cal.com integration connected");
3713
+ logger21.debug("Cal.com integration connected");
3614
3714
  }
3615
3715
  };
3616
3716
  }
3617
- var CALCOM_TOOLS;
3717
+ var logger21, CALCOM_TOOLS;
3618
3718
  var init_calcom = __esm(() => {
3719
+ init_logger();
3720
+ logger21 = createLogger("Cal.com");
3619
3721
  CALCOM_TOOLS = [
3620
3722
  "calcom_list_bookings",
3621
3723
  "calcom_get_booking",
@@ -3647,15 +3749,17 @@ function rampIntegration(config = {}) {
3647
3749
  tools: [...RAMP_TOOLS],
3648
3750
  oauth,
3649
3751
  async onInit(_client) {
3650
- console.log("Ramp integration initialized");
3752
+ logger22.debug("Ramp integration initialized");
3651
3753
  },
3652
3754
  async onAfterConnect(_client) {
3653
- console.log("Ramp integration connected");
3755
+ logger22.debug("Ramp integration connected");
3654
3756
  }
3655
3757
  };
3656
3758
  }
3657
- var RAMP_TOOLS;
3759
+ var logger22, RAMP_TOOLS;
3658
3760
  var init_ramp = __esm(() => {
3761
+ init_logger();
3762
+ logger22 = createLogger("Ramp");
3659
3763
  RAMP_TOOLS = [
3660
3764
  "ramp_list_transactions",
3661
3765
  "ramp_get_transaction",
@@ -3686,15 +3790,17 @@ function onedriveIntegration(config = {}) {
3686
3790
  tools: [...ONEDRIVE_TOOLS],
3687
3791
  oauth,
3688
3792
  async onInit(_client) {
3689
- console.log("OneDrive integration initialized");
3793
+ logger23.debug("OneDrive integration initialized");
3690
3794
  },
3691
3795
  async onAfterConnect(_client) {
3692
- console.log("OneDrive integration connected");
3796
+ logger23.debug("OneDrive integration connected");
3693
3797
  }
3694
3798
  };
3695
3799
  }
3696
- var ONEDRIVE_TOOLS;
3800
+ var logger23, ONEDRIVE_TOOLS;
3697
3801
  var init_onedrive = __esm(() => {
3802
+ init_logger();
3803
+ logger23 = createLogger("OneDrive");
3698
3804
  ONEDRIVE_TOOLS = [
3699
3805
  "onedrive_list_files",
3700
3806
  "onedrive_get_file",
@@ -3733,15 +3839,17 @@ function gworkspaceIntegration(config = {}) {
3733
3839
  tools: [...GWORKSPACE_TOOLS],
3734
3840
  oauth,
3735
3841
  async onInit(_client) {
3736
- console.log("Google Workspace integration initialized");
3842
+ logger24.debug("Google Workspace integration initialized");
3737
3843
  },
3738
3844
  async onAfterConnect(_client) {
3739
- console.log("Google Workspace integration connected");
3845
+ logger24.debug("Google Workspace integration connected");
3740
3846
  }
3741
3847
  };
3742
3848
  }
3743
- var GWORKSPACE_TOOLS;
3849
+ var logger24, GWORKSPACE_TOOLS;
3744
3850
  var init_gworkspace = __esm(() => {
3851
+ init_logger();
3852
+ logger24 = createLogger("Google Workspace");
3745
3853
  GWORKSPACE_TOOLS = [
3746
3854
  "gworkspace_sheets_list",
3747
3855
  "gworkspace_sheets_get",
@@ -3776,15 +3884,17 @@ function polarIntegration(config = {}) {
3776
3884
  tools: [...POLAR_TOOLS],
3777
3885
  oauth,
3778
3886
  async onInit(_client) {
3779
- console.log("Polar integration initialized");
3887
+ logger25.debug("Polar integration initialized");
3780
3888
  },
3781
3889
  async onAfterConnect(_client) {
3782
- console.log("Polar integration connected");
3890
+ logger25.debug("Polar integration connected");
3783
3891
  }
3784
3892
  };
3785
3893
  }
3786
- var POLAR_TOOLS;
3894
+ var logger25, POLAR_TOOLS;
3787
3895
  var init_polar = __esm(() => {
3896
+ init_logger();
3897
+ logger25 = createLogger("Polar");
3788
3898
  POLAR_TOOLS = [
3789
3899
  "polar_list_products",
3790
3900
  "polar_get_product",
@@ -3815,15 +3925,17 @@ function figmaIntegration(config = {}) {
3815
3925
  tools: [...FIGMA_TOOLS],
3816
3926
  oauth,
3817
3927
  async onInit(_client) {
3818
- console.log("Figma integration initialized");
3928
+ logger26.debug("Figma integration initialized");
3819
3929
  },
3820
3930
  async onAfterConnect(_client) {
3821
- console.log("Figma integration connected");
3931
+ logger26.debug("Figma integration connected");
3822
3932
  }
3823
3933
  };
3824
3934
  }
3825
- var FIGMA_TOOLS;
3935
+ var logger26, FIGMA_TOOLS;
3826
3936
  var init_figma = __esm(() => {
3937
+ init_logger();
3938
+ logger26 = createLogger("Figma");
3827
3939
  FIGMA_TOOLS = [
3828
3940
  "figma_get_file",
3829
3941
  "figma_get_file_nodes",
@@ -3854,15 +3966,17 @@ function intercomIntegration(config = {}) {
3854
3966
  tools: [...INTERCOM_TOOLS],
3855
3967
  oauth,
3856
3968
  async onInit(_client) {
3857
- console.log("Intercom integration initialized");
3969
+ logger27.debug("Intercom integration initialized");
3858
3970
  },
3859
3971
  async onAfterConnect(_client) {
3860
- console.log("Intercom integration connected");
3972
+ logger27.debug("Intercom integration connected");
3861
3973
  }
3862
3974
  };
3863
3975
  }
3864
- var INTERCOM_TOOLS;
3976
+ var logger27, INTERCOM_TOOLS;
3865
3977
  var init_intercom = __esm(() => {
3978
+ init_logger();
3979
+ logger27 = createLogger("Intercom");
3866
3980
  INTERCOM_TOOLS = [
3867
3981
  "intercom_list_contacts",
3868
3982
  "intercom_get_contact",
@@ -3901,15 +4015,17 @@ function hubspotIntegration(config = {}) {
3901
4015
  tools: [...HUBSPOT_TOOLS],
3902
4016
  oauth,
3903
4017
  async onInit(_client) {
3904
- console.log("HubSpot integration initialized");
4018
+ logger28.debug("HubSpot integration initialized");
3905
4019
  },
3906
4020
  async onAfterConnect(_client) {
3907
- console.log("HubSpot integration connected");
4021
+ logger28.debug("HubSpot integration connected");
3908
4022
  }
3909
4023
  };
3910
4024
  }
3911
- var HUBSPOT_TOOLS;
4025
+ var logger28, HUBSPOT_TOOLS;
3912
4026
  var init_hubspot = __esm(() => {
4027
+ init_logger();
4028
+ logger28 = createLogger("HubSpot");
3913
4029
  HUBSPOT_TOOLS = [
3914
4030
  "hubspot_list_contacts",
3915
4031
  "hubspot_get_contact",
@@ -3943,15 +4059,17 @@ function youtubeIntegration(config = {}) {
3943
4059
  tools: [...YOUTUBE_TOOLS],
3944
4060
  oauth,
3945
4061
  async onInit(_client) {
3946
- console.log("YouTube integration initialized");
4062
+ logger29.debug("YouTube integration initialized");
3947
4063
  },
3948
4064
  async onAfterConnect(_client) {
3949
- console.log("YouTube integration connected");
4065
+ logger29.debug("YouTube integration connected");
3950
4066
  }
3951
4067
  };
3952
4068
  }
3953
- var YOUTUBE_TOOLS;
4069
+ var logger29, YOUTUBE_TOOLS;
3954
4070
  var init_youtube = __esm(() => {
4071
+ init_logger();
4072
+ logger29 = createLogger("YouTube");
3955
4073
  YOUTUBE_TOOLS = [
3956
4074
  "youtube_search",
3957
4075
  "youtube_get_video",
@@ -3971,15 +4089,17 @@ function cursorIntegration(_config = {}) {
3971
4089
  id: "cursor",
3972
4090
  tools: [...CURSOR_TOOLS],
3973
4091
  async onInit(_client) {
3974
- console.log("Cursor integration initialized");
4092
+ logger30.debug("Cursor integration initialized");
3975
4093
  },
3976
4094
  async onAfterConnect(_client) {
3977
- console.log("Cursor integration connected");
4095
+ logger30.debug("Cursor integration connected");
3978
4096
  }
3979
4097
  };
3980
4098
  }
3981
- var CURSOR_TOOLS;
4099
+ var logger30, CURSOR_TOOLS;
3982
4100
  var init_cursor = __esm(() => {
4101
+ init_logger();
4102
+ logger30 = createLogger("Cursor");
3983
4103
  CURSOR_TOOLS = [
3984
4104
  "cursor_list_agents",
3985
4105
  "cursor_get_agent",
@@ -9827,6 +9947,7 @@ var init_zodToJsonSchema = __esm(() => {
9827
9947
 
9828
9948
  // node_modules/zod-to-json-schema/dist/esm/index.js
9829
9949
  var init_esm = __esm(() => {
9950
+ init_zodToJsonSchema();
9830
9951
  init_Options();
9831
9952
  init_Refs();
9832
9953
  init_parseDef();
@@ -9858,7 +9979,6 @@ var init_esm = __esm(() => {
9858
9979
  init_unknown();
9859
9980
  init_selectParser();
9860
9981
  init_zodToJsonSchema();
9861
- init_zodToJsonSchema();
9862
9982
  });
9863
9983
 
9864
9984
  // src/ai/openai.ts
@@ -10343,6 +10463,7 @@ function getDefaultRedirectUri() {
10343
10463
  return "http://localhost:3000/api/integrate/oauth/callback";
10344
10464
  }
10345
10465
  function createMCPServer(config) {
10466
+ setLogLevel(config.debug ? "debug" : "error");
10346
10467
  if (typeof window !== "undefined") {
10347
10468
  throw new Error("createMCPServer() should only be called on the server-side. " + "Use createMCPClient() for client-side code.");
10348
10469
  }
@@ -10351,7 +10472,7 @@ function createMCPServer(config) {
10351
10472
  if (integration.oauth) {
10352
10473
  const { clientId, clientSecret, redirectUri: integrationRedirectUri, config: oauthConfig } = integration.oauth;
10353
10474
  if (!clientId || !clientSecret) {
10354
- console.warn(`Warning: Integration "${integration.id}" is missing OAuth credentials. ` + `Provide clientId and clientSecret in the integration configuration.`);
10475
+ logger31.warn(`Warning: Integration "${integration.id}" is missing OAuth credentials. ` + `Provide clientId and clientSecret in the integration configuration.`);
10355
10476
  return integration;
10356
10477
  }
10357
10478
  const redirectUri = integrationRedirectUri || config.redirectUri || getDefaultRedirectUri();
@@ -10464,7 +10585,7 @@ function createMCPServer(config) {
10464
10585
  const body = await webRequest.json();
10465
10586
  const authHeader = webRequest.headers.get("authorization");
10466
10587
  const integrationsHeader = webRequest.headers.get("x-integrations");
10467
- const { OAuthHandler: OAuthHandler2 } = await Promise.resolve().then(() => exports_base_handler);
10588
+ const { OAuthHandler: OAuthHandler2 } = await Promise.resolve().then(() => (init_base_handler(), exports_base_handler));
10468
10589
  const oauthHandler = new OAuthHandler2({
10469
10590
  providers,
10470
10591
  serverUrl: config.serverUrl,
@@ -10480,7 +10601,7 @@ function createMCPServer(config) {
10480
10601
  }
10481
10602
  return response2;
10482
10603
  } catch (error) {
10483
- console.error("[MCP Tool Call] Error:", error);
10604
+ logger31.error("[MCP Tool Call] Error:", error);
10484
10605
  return Response.json({ error: error.message || "Failed to execute tool call" }, { status: error.statusCode || 500 });
10485
10606
  }
10486
10607
  }
@@ -10544,7 +10665,7 @@ function createMCPServer(config) {
10544
10665
  })
10545
10666
  });
10546
10667
  } catch (scheduleError) {
10547
- console.error("[Trigger] Failed to register with scheduler:", scheduleError);
10668
+ logger31.error("[Trigger] Failed to register with scheduler:", scheduleError);
10548
10669
  }
10549
10670
  return Response.json(created, { status: 201 });
10550
10671
  }
@@ -10579,7 +10700,7 @@ function createMCPServer(config) {
10579
10700
  body: JSON.stringify({ triggerId })
10580
10701
  });
10581
10702
  } catch (error) {
10582
- console.error("[Trigger] Failed to pause in scheduler:", error);
10703
+ logger31.error("[Trigger] Failed to pause in scheduler:", error);
10583
10704
  }
10584
10705
  return Response.json(updated);
10585
10706
  } else if (subAction === "resume" && method === "POST") {
@@ -10607,7 +10728,7 @@ function createMCPServer(config) {
10607
10728
  body: JSON.stringify({ triggerId })
10608
10729
  });
10609
10730
  } catch (error) {
10610
- console.error("[Trigger] Failed to resume in scheduler:", error);
10731
+ logger31.error("[Trigger] Failed to resume in scheduler:", error);
10611
10732
  }
10612
10733
  return Response.json(updated);
10613
10734
  } else if (subAction === "run" && method === "POST") {
@@ -10622,7 +10743,7 @@ function createMCPServer(config) {
10622
10743
  if (!providerToken) {
10623
10744
  return Response.json({ error: "No OAuth token available for this trigger" }, { status: 401 });
10624
10745
  }
10625
- const { OAuthHandler: OAuthHandler2 } = await Promise.resolve().then(() => exports_base_handler);
10746
+ const { OAuthHandler: OAuthHandler2 } = await Promise.resolve().then(() => (init_base_handler(), exports_base_handler));
10626
10747
  const oauthHandler = new OAuthHandler2({
10627
10748
  providers,
10628
10749
  serverUrl: config.serverUrl,
@@ -10748,7 +10869,7 @@ function createMCPServer(config) {
10748
10869
  })
10749
10870
  });
10750
10871
  } catch (error) {
10751
- console.error("[Trigger] Failed to update scheduler:", error);
10872
+ logger31.error("[Trigger] Failed to update scheduler:", error);
10752
10873
  }
10753
10874
  }
10754
10875
  return Response.json(updated);
@@ -10765,14 +10886,14 @@ function createMCPServer(config) {
10765
10886
  body: JSON.stringify({ triggerId })
10766
10887
  });
10767
10888
  } catch (error) {
10768
- console.error("[Trigger] Failed to unregister from scheduler:", error);
10889
+ logger31.error("[Trigger] Failed to unregister from scheduler:", error);
10769
10890
  }
10770
10891
  return new Response(null, { status: 204 });
10771
10892
  }
10772
10893
  }
10773
10894
  return Response.json({ error: "Invalid trigger route or method" }, { status: 404 });
10774
10895
  } catch (error) {
10775
- console.error("[Trigger] Error:", error);
10896
+ logger31.error("[Trigger] Error:", error);
10776
10897
  return Response.json({ error: error.message || "Failed to process trigger request" }, { status: error.statusCode || 500 });
10777
10898
  }
10778
10899
  }
@@ -10798,11 +10919,11 @@ function createMCPServer(config) {
10798
10919
  const errorRedirectUrl = "/auth-error";
10799
10920
  if (error) {
10800
10921
  const errorMsg = errorDescription || error;
10801
- console.error("[OAuth Redirect] Error:", errorMsg);
10922
+ logger31.error("[OAuth Redirect] Error:", errorMsg);
10802
10923
  return Response.redirect(new URL(`${errorRedirectUrl}?error=${encodeURIComponent(errorMsg)}`, webRequest.url));
10803
10924
  }
10804
10925
  if (!code || !state) {
10805
- console.error("[OAuth Redirect] Missing code or state parameter");
10926
+ logger31.error("[OAuth Redirect] Missing code or state parameter");
10806
10927
  return Response.redirect(new URL(`${errorRedirectUrl}?error=${encodeURIComponent("Invalid OAuth callback")}`, webRequest.url));
10807
10928
  }
10808
10929
  let returnUrl = defaultRedirectUrl;
@@ -10834,7 +10955,7 @@ function createMCPServer(config) {
10834
10955
  if (codeVerifierEntry) {
10835
10956
  try {
10836
10957
  const { codeVerifier, provider, frontendOrigin: storedFrontendOrigin } = codeVerifierEntry;
10837
- const { OAuthHandler: OAuthHandler2 } = await Promise.resolve().then(() => exports_base_handler);
10958
+ const { OAuthHandler: OAuthHandler2 } = await Promise.resolve().then(() => (init_base_handler(), exports_base_handler));
10838
10959
  const oauthHandler = new OAuthHandler2({
10839
10960
  providers,
10840
10961
  serverUrl: config.serverUrl,
@@ -10878,7 +10999,7 @@ function createMCPServer(config) {
10878
10999
  frontendUrl.hash = `oauth_callback=${encodeURIComponent(JSON.stringify({ code, state, tokenData }))}`;
10879
11000
  return Response.redirect(frontendUrl);
10880
11001
  } catch (error2) {
10881
- console.error("[OAuth Backend Callback] Error:", error2);
11002
+ logger31.error("[OAuth Backend Callback] Error:", error2);
10882
11003
  return Response.redirect(new URL(`${errorRedirectUrl}?error=${encodeURIComponent(error2.message || "Failed to exchange token")}`, webRequest.url));
10883
11004
  }
10884
11005
  } else {
@@ -11097,7 +11218,7 @@ function toSvelteKitHandler(clientOrHandlerOrOptions, _redirectOptions) {
11097
11218
  }
11098
11219
  };
11099
11220
  }
11100
- var globalServerConfig = null, codeVerifierStorage, POST = async (req, context) => {
11221
+ var logger31, globalServerConfig = null, codeVerifierStorage, POST = async (req, context) => {
11101
11222
  if (!globalServerConfig) {
11102
11223
  return Response.json({ error: "OAuth not configured. Call createMCPServer() in your server initialization file first." }, { status: 500 });
11103
11224
  }
@@ -11115,6 +11236,7 @@ var globalServerConfig = null, codeVerifierStorage, POST = async (req, context)
11115
11236
  var init_server = __esm(() => {
11116
11237
  init_client();
11117
11238
  init_nextjs();
11239
+ init_logger();
11118
11240
  init_github();
11119
11241
  init_gmail();
11120
11242
  init_notion();
@@ -11144,6 +11266,7 @@ var init_server = __esm(() => {
11144
11266
  init_anthropic();
11145
11267
  init_google();
11146
11268
  init_ai();
11269
+ logger31 = createLogger("MCPServer");
11147
11270
  codeVerifierStorage = new Map;
11148
11271
  });
11149
11272
 
@@ -11181,6 +11304,10 @@ function toTanStackStartHandler(handler) {
11181
11304
  };
11182
11305
  }
11183
11306
  var createTanStackOAuthHandler = toTanStackStartHandler;
11307
+
11308
+ // src/adapters/index.ts
11309
+ init_base_handler();
11310
+
11184
11311
  // server.ts
11185
11312
  init_ai();
11186
11313
  export {