integrate-sdk 0.9.27-dev.2 → 0.9.28-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.
- package/dist/adapters/auto-routes.js +177 -8
- package/dist/adapters/base-handler.d.ts +4 -2
- package/dist/adapters/base-handler.d.ts.map +1 -1
- package/dist/adapters/base-handler.js +177 -8
- package/dist/adapters/index.js +193 -47
- package/dist/adapters/nextjs.js +177 -8
- package/dist/adapters/solid-start.js +193 -47
- package/dist/adapters/svelte-kit.js +193 -47
- package/dist/index.js +191 -47
- package/dist/oauth.js +177 -8
- package/dist/server.js +196 -55
- package/dist/src/adapters/base-handler.d.ts +4 -2
- package/dist/src/adapters/base-handler.d.ts.map +1 -1
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/integrations/integration-summary.d.ts +24 -0
- package/dist/src/integrations/integration-summary.d.ts.map +1 -0
- package/dist/src/integrations/library-metadata.d.ts +26 -0
- package/dist/src/integrations/library-metadata.d.ts.map +1 -0
- package/dist/src/integrations/server-client.d.ts +4 -0
- package/dist/src/integrations/server-client.d.ts.map +1 -1
- package/dist/src/integrations/types.d.ts +8 -0
- package/dist/src/integrations/types.d.ts.map +1 -1
- package/dist/src/server.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/adapters/index.js
CHANGED
|
@@ -284,6 +284,180 @@ function getContextCookieFromRequest(request) {
|
|
|
284
284
|
}
|
|
285
285
|
var CONTEXT_COOKIE_NAME = "__integrate_oauth_ctx", CONTEXT_COOKIE_MAX_AGE = 300;
|
|
286
286
|
|
|
287
|
+
// ../integrations/library-metadata.ts
|
|
288
|
+
function integrationLibraryPresentationFields(integration) {
|
|
289
|
+
const id = typeof integration["id"] === "string" ? integration["id"] : String(integration["id"] ?? "");
|
|
290
|
+
const fromCatalog = id ? INTEGRATION_LIBRARY_METADATA[id] : undefined;
|
|
291
|
+
const explicitDescription = integration["description"];
|
|
292
|
+
const explicitCategory = integration["category"];
|
|
293
|
+
const description = typeof explicitDescription === "string" && explicitDescription.trim().length > 0 ? explicitDescription.trim() : fromCatalog?.description;
|
|
294
|
+
const category = typeof explicitCategory === "string" && explicitCategory.trim().length > 0 ? explicitCategory.trim() : fromCatalog?.category;
|
|
295
|
+
const out = {};
|
|
296
|
+
if (description)
|
|
297
|
+
out.description = description;
|
|
298
|
+
if (category)
|
|
299
|
+
out.category = category;
|
|
300
|
+
return out;
|
|
301
|
+
}
|
|
302
|
+
var INTEGRATION_LIBRARY_METADATA;
|
|
303
|
+
var init_library_metadata = __esm(() => {
|
|
304
|
+
INTEGRATION_LIBRARY_METADATA = {
|
|
305
|
+
airtable: {
|
|
306
|
+
description: "Manage Airtable bases, tables, and records",
|
|
307
|
+
category: "Business"
|
|
308
|
+
},
|
|
309
|
+
calcom: {
|
|
310
|
+
description: "Manage Cal.com bookings and schedules",
|
|
311
|
+
category: "Productivity"
|
|
312
|
+
},
|
|
313
|
+
cursor: {
|
|
314
|
+
description: "Manage Cursor Cloud Agents and background tasks",
|
|
315
|
+
category: "Engineering"
|
|
316
|
+
},
|
|
317
|
+
figma: {
|
|
318
|
+
description: "Access Figma files, comments, and components",
|
|
319
|
+
category: "Engineering"
|
|
320
|
+
},
|
|
321
|
+
github: {
|
|
322
|
+
description: "Manage GitHub repos, issues, and pull requests",
|
|
323
|
+
category: "Engineering"
|
|
324
|
+
},
|
|
325
|
+
gmail: {
|
|
326
|
+
description: "Send, read, and search Gmail messages",
|
|
327
|
+
category: "Communication"
|
|
328
|
+
},
|
|
329
|
+
gcal: {
|
|
330
|
+
description: "Manage Google Calendar events and schedules",
|
|
331
|
+
category: "Productivity"
|
|
332
|
+
},
|
|
333
|
+
hubspot: {
|
|
334
|
+
description: "Manage HubSpot contacts, deals, and tickets",
|
|
335
|
+
category: "Business"
|
|
336
|
+
},
|
|
337
|
+
intercom: {
|
|
338
|
+
description: "Manage Intercom contacts and conversations",
|
|
339
|
+
category: "Business"
|
|
340
|
+
},
|
|
341
|
+
linear: {
|
|
342
|
+
description: "Manage Linear issues, projects, and cycles",
|
|
343
|
+
category: "Engineering"
|
|
344
|
+
},
|
|
345
|
+
notion: {
|
|
346
|
+
description: "Manage Notion pages and databases",
|
|
347
|
+
category: "Productivity"
|
|
348
|
+
},
|
|
349
|
+
onedrive: {
|
|
350
|
+
description: "Manage OneDrive files, folders, and sharing",
|
|
351
|
+
category: "Storage"
|
|
352
|
+
},
|
|
353
|
+
outlook: {
|
|
354
|
+
description: "Manage Outlook mail, calendars, and contacts",
|
|
355
|
+
category: "Communication"
|
|
356
|
+
},
|
|
357
|
+
polar: {
|
|
358
|
+
description: "Manage Polar products, orders, and subscriptions",
|
|
359
|
+
category: "Business"
|
|
360
|
+
},
|
|
361
|
+
ramp: {
|
|
362
|
+
description: "Manage Ramp corporate cards, bills, and spend",
|
|
363
|
+
category: "Business"
|
|
364
|
+
},
|
|
365
|
+
slack: {
|
|
366
|
+
description: "Send and manage Slack messages and channels",
|
|
367
|
+
category: "Communication"
|
|
368
|
+
},
|
|
369
|
+
stripe: {
|
|
370
|
+
description: "Manage Stripe customers, payments, and subscriptions",
|
|
371
|
+
category: "Business"
|
|
372
|
+
},
|
|
373
|
+
todoist: {
|
|
374
|
+
description: "Manage Todoist tasks, projects, and labels",
|
|
375
|
+
category: "Productivity"
|
|
376
|
+
},
|
|
377
|
+
gslides: {
|
|
378
|
+
description: "Create and update Google Slides presentations",
|
|
379
|
+
category: "Productivity"
|
|
380
|
+
},
|
|
381
|
+
gsheets: {
|
|
382
|
+
description: "Read and update Google Sheets spreadsheets",
|
|
383
|
+
category: "Productivity"
|
|
384
|
+
},
|
|
385
|
+
gdocs: {
|
|
386
|
+
description: "Create and edit Google Docs documents",
|
|
387
|
+
category: "Productivity"
|
|
388
|
+
},
|
|
389
|
+
gdrive: {
|
|
390
|
+
description: "Manage Google Drive files, folders, and sharing",
|
|
391
|
+
category: "Storage"
|
|
392
|
+
},
|
|
393
|
+
vercel: {
|
|
394
|
+
description: "Manage Vercel projects, deployments, and domains",
|
|
395
|
+
category: "Engineering"
|
|
396
|
+
},
|
|
397
|
+
whatsapp: {
|
|
398
|
+
description: "Send WhatsApp messages and templates",
|
|
399
|
+
category: "Communication"
|
|
400
|
+
},
|
|
401
|
+
youtube: {
|
|
402
|
+
description: "Search and access YouTube videos and channels",
|
|
403
|
+
category: "Communication"
|
|
404
|
+
},
|
|
405
|
+
powerpoint: {
|
|
406
|
+
description: "Manage PowerPoint presentations and sharing",
|
|
407
|
+
category: "Productivity"
|
|
408
|
+
},
|
|
409
|
+
excel: {
|
|
410
|
+
description: "Manage Excel workbooks, worksheets, and tables",
|
|
411
|
+
category: "Productivity"
|
|
412
|
+
},
|
|
413
|
+
word: {
|
|
414
|
+
description: "Manage Word documents and sharing",
|
|
415
|
+
category: "Productivity"
|
|
416
|
+
},
|
|
417
|
+
dropbox: {
|
|
418
|
+
description: "Manage Dropbox files, folders, and sharing",
|
|
419
|
+
category: "Storage"
|
|
420
|
+
},
|
|
421
|
+
granola: {
|
|
422
|
+
description: "List and read Granola meeting notes and folders",
|
|
423
|
+
category: "Productivity"
|
|
424
|
+
},
|
|
425
|
+
mercury: {
|
|
426
|
+
description: "Manage Mercury bank accounts, cards, and transactions",
|
|
427
|
+
category: "Business"
|
|
428
|
+
},
|
|
429
|
+
zendesk: {
|
|
430
|
+
description: "Manage Zendesk tickets, users, and help center content",
|
|
431
|
+
category: "Business"
|
|
432
|
+
}
|
|
433
|
+
};
|
|
434
|
+
});
|
|
435
|
+
|
|
436
|
+
// ../integrations/integration-summary.ts
|
|
437
|
+
function toConfiguredIntegrationSummary(integration) {
|
|
438
|
+
const row = integration;
|
|
439
|
+
const pres = integrationLibraryPresentationFields(row);
|
|
440
|
+
return {
|
|
441
|
+
id: integration.id,
|
|
442
|
+
name: row.name || integration.id,
|
|
443
|
+
logoUrl: row.logoUrl,
|
|
444
|
+
tools: integration.tools,
|
|
445
|
+
hasOAuth: !!integration.oauth,
|
|
446
|
+
scopes: integration.oauth?.scopes,
|
|
447
|
+
provider: integration.oauth?.provider,
|
|
448
|
+
...pres
|
|
449
|
+
};
|
|
450
|
+
}
|
|
451
|
+
function toConfiguredIntegrationWithToolMetadata(integration, toolMetadata) {
|
|
452
|
+
return {
|
|
453
|
+
...toConfiguredIntegrationSummary(integration),
|
|
454
|
+
toolMetadata
|
|
455
|
+
};
|
|
456
|
+
}
|
|
457
|
+
var init_integration_summary = __esm(() => {
|
|
458
|
+
init_library_metadata();
|
|
459
|
+
});
|
|
460
|
+
|
|
287
461
|
// ../utils/logger.ts
|
|
288
462
|
function shouldLog(level, context) {
|
|
289
463
|
return logLevelHierarchy[level] <= logLevelHierarchy[contextLogLevels[context]];
|
|
@@ -447,14 +621,8 @@ class OAuthHandler {
|
|
|
447
621
|
const integrations = this.config.integrations || [];
|
|
448
622
|
return {
|
|
449
623
|
integrations: integrations.map((integration) => ({
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
logoUrl: integration.logoUrl,
|
|
453
|
-
tools: integration.tools,
|
|
454
|
-
hasOAuth: !!integration.oauth,
|
|
455
|
-
scopes: integration.oauth?.scopes,
|
|
456
|
-
optionalScopes: integration.oauth?.optionalScopes,
|
|
457
|
-
provider: integration.oauth?.provider
|
|
624
|
+
...toConfiguredIntegrationSummary(integration),
|
|
625
|
+
optionalScopes: integration.oauth?.optionalScopes
|
|
458
626
|
}))
|
|
459
627
|
};
|
|
460
628
|
}
|
|
@@ -841,6 +1009,7 @@ class OAuthHandler {
|
|
|
841
1009
|
}
|
|
842
1010
|
var SERVER_LOG_CONTEXT = "server", logger2, MCP_SERVER_URL = "https://mcp.integrate.dev/api/v1/mcp";
|
|
843
1011
|
var init_base_handler = __esm(() => {
|
|
1012
|
+
init_integration_summary();
|
|
844
1013
|
init_email_fetcher();
|
|
845
1014
|
init_logger();
|
|
846
1015
|
logger2 = createLogger("OAuthHandler", SERVER_LOG_CONTEXT);
|
|
@@ -1696,6 +1865,8 @@ class HttpSessionTransport {
|
|
|
1696
1865
|
}
|
|
1697
1866
|
|
|
1698
1867
|
// ../client.ts
|
|
1868
|
+
init_integration_summary();
|
|
1869
|
+
init_library_metadata();
|
|
1699
1870
|
init_errors();
|
|
1700
1871
|
init_logger();
|
|
1701
1872
|
|
|
@@ -3011,31 +3182,14 @@ class MCPClientBase {
|
|
|
3011
3182
|
const serverConfig = this.__oauthConfig;
|
|
3012
3183
|
const localIntegrations = serverConfig?.integrations || this.__configuredIntegrations;
|
|
3013
3184
|
const formatLocalIntegrations = (integrations) => ({
|
|
3014
|
-
integrations: integrations.map((integration) => (
|
|
3015
|
-
id: integration.id,
|
|
3016
|
-
name: integration.name || integration.id,
|
|
3017
|
-
logoUrl: integration.logoUrl,
|
|
3018
|
-
tools: integration.tools,
|
|
3019
|
-
hasOAuth: !!integration.oauth,
|
|
3020
|
-
scopes: integration.oauth?.scopes,
|
|
3021
|
-
provider: integration.oauth?.provider
|
|
3022
|
-
}))
|
|
3185
|
+
integrations: integrations.map((integration) => toConfiguredIntegrationSummary(integration))
|
|
3023
3186
|
});
|
|
3024
3187
|
if (hasApiKey || !this.__useServerConfig) {
|
|
3025
3188
|
if (options?.includeToolMetadata && hasApiKey) {
|
|
3026
3189
|
await this.ensureConnected();
|
|
3027
3190
|
const integrationsWithMetadata = localIntegrations.map((integration) => {
|
|
3028
3191
|
const toolMetadata = integration.tools.map((toolName) => this.availableTools.get(toolName)).filter((tool) => !!tool);
|
|
3029
|
-
return
|
|
3030
|
-
id: integration.id,
|
|
3031
|
-
name: integration.name || integration.id,
|
|
3032
|
-
logoUrl: integration.logoUrl,
|
|
3033
|
-
tools: integration.tools,
|
|
3034
|
-
hasOAuth: !!integration.oauth,
|
|
3035
|
-
scopes: integration.oauth?.scopes,
|
|
3036
|
-
provider: integration.oauth?.provider,
|
|
3037
|
-
toolMetadata
|
|
3038
|
-
};
|
|
3192
|
+
return toConfiguredIntegrationWithToolMetadata(integration, toolMetadata);
|
|
3039
3193
|
});
|
|
3040
3194
|
return { integrations: integrationsWithMetadata };
|
|
3041
3195
|
}
|
|
@@ -3061,28 +3215,10 @@ class MCPClientBase {
|
|
|
3061
3215
|
}
|
|
3062
3216
|
}
|
|
3063
3217
|
}
|
|
3064
|
-
return
|
|
3065
|
-
id: integration.id,
|
|
3066
|
-
name: integration.name || integration.id,
|
|
3067
|
-
logoUrl: integration.logoUrl,
|
|
3068
|
-
tools: integration.tools,
|
|
3069
|
-
hasOAuth: !!integration.oauth,
|
|
3070
|
-
scopes: integration.oauth?.scopes,
|
|
3071
|
-
provider: integration.oauth?.provider,
|
|
3072
|
-
toolMetadata
|
|
3073
|
-
};
|
|
3218
|
+
return toConfiguredIntegrationWithToolMetadata(integration, toolMetadata);
|
|
3074
3219
|
} catch (error) {
|
|
3075
3220
|
logger7.error(`Failed to fetch tool metadata for ${integration.id}:`, error);
|
|
3076
|
-
return
|
|
3077
|
-
id: integration.id,
|
|
3078
|
-
name: integration.name || integration.id,
|
|
3079
|
-
logoUrl: integration.logoUrl,
|
|
3080
|
-
tools: integration.tools,
|
|
3081
|
-
hasOAuth: !!integration.oauth,
|
|
3082
|
-
scopes: integration.oauth?.scopes,
|
|
3083
|
-
provider: integration.oauth?.provider,
|
|
3084
|
-
toolMetadata: []
|
|
3085
|
-
};
|
|
3221
|
+
return toConfiguredIntegrationWithToolMetadata(integration, []);
|
|
3086
3222
|
}
|
|
3087
3223
|
}, 3);
|
|
3088
3224
|
return { integrations: integrationsWithMetadata };
|
|
@@ -3102,6 +3238,12 @@ class MCPClientBase {
|
|
|
3102
3238
|
return formatLocalIntegrations(localIntegrations);
|
|
3103
3239
|
}
|
|
3104
3240
|
const result = await response.json();
|
|
3241
|
+
if (result.integrations && Array.isArray(result.integrations)) {
|
|
3242
|
+
result.integrations = result.integrations.map((row) => ({
|
|
3243
|
+
...row,
|
|
3244
|
+
...integrationLibraryPresentationFields(row)
|
|
3245
|
+
}));
|
|
3246
|
+
}
|
|
3105
3247
|
if (options?.includeToolMetadata && result.integrations) {
|
|
3106
3248
|
const { parallelWithLimit: parallelWithLimit2 } = await Promise.resolve().then(() => exports_concurrency);
|
|
3107
3249
|
const integrationsWithMetadata = await parallelWithLimit2(result.integrations, async (integration) => {
|
|
@@ -3126,12 +3268,14 @@ class MCPClientBase {
|
|
|
3126
3268
|
}
|
|
3127
3269
|
return {
|
|
3128
3270
|
...integration,
|
|
3271
|
+
...integrationLibraryPresentationFields(integration),
|
|
3129
3272
|
toolMetadata
|
|
3130
3273
|
};
|
|
3131
3274
|
} catch (error) {
|
|
3132
3275
|
logger7.error(`Failed to fetch tool metadata for ${integration.id}:`, error);
|
|
3133
3276
|
return {
|
|
3134
3277
|
...integration,
|
|
3278
|
+
...integrationLibraryPresentationFields(integration),
|
|
3135
3279
|
toolMetadata: []
|
|
3136
3280
|
};
|
|
3137
3281
|
}
|
|
@@ -3705,7 +3849,9 @@ class MCPClientBase {
|
|
|
3705
3849
|
return success;
|
|
3706
3850
|
}
|
|
3707
3851
|
}
|
|
3852
|
+
|
|
3708
3853
|
// ../server.ts
|
|
3854
|
+
init_integration_summary();
|
|
3709
3855
|
init_logger();
|
|
3710
3856
|
|
|
3711
3857
|
// ../integrations/github.ts
|
package/dist/adapters/nextjs.js
CHANGED
|
@@ -284,6 +284,180 @@ function getContextCookieFromRequest(request) {
|
|
|
284
284
|
}
|
|
285
285
|
var CONTEXT_COOKIE_NAME = "__integrate_oauth_ctx", CONTEXT_COOKIE_MAX_AGE = 300;
|
|
286
286
|
|
|
287
|
+
// ../integrations/library-metadata.ts
|
|
288
|
+
function integrationLibraryPresentationFields(integration) {
|
|
289
|
+
const id = typeof integration["id"] === "string" ? integration["id"] : String(integration["id"] ?? "");
|
|
290
|
+
const fromCatalog = id ? INTEGRATION_LIBRARY_METADATA[id] : undefined;
|
|
291
|
+
const explicitDescription = integration["description"];
|
|
292
|
+
const explicitCategory = integration["category"];
|
|
293
|
+
const description = typeof explicitDescription === "string" && explicitDescription.trim().length > 0 ? explicitDescription.trim() : fromCatalog?.description;
|
|
294
|
+
const category = typeof explicitCategory === "string" && explicitCategory.trim().length > 0 ? explicitCategory.trim() : fromCatalog?.category;
|
|
295
|
+
const out = {};
|
|
296
|
+
if (description)
|
|
297
|
+
out.description = description;
|
|
298
|
+
if (category)
|
|
299
|
+
out.category = category;
|
|
300
|
+
return out;
|
|
301
|
+
}
|
|
302
|
+
var INTEGRATION_LIBRARY_METADATA;
|
|
303
|
+
var init_library_metadata = __esm(() => {
|
|
304
|
+
INTEGRATION_LIBRARY_METADATA = {
|
|
305
|
+
airtable: {
|
|
306
|
+
description: "Manage Airtable bases, tables, and records",
|
|
307
|
+
category: "Business"
|
|
308
|
+
},
|
|
309
|
+
calcom: {
|
|
310
|
+
description: "Manage Cal.com bookings and schedules",
|
|
311
|
+
category: "Productivity"
|
|
312
|
+
},
|
|
313
|
+
cursor: {
|
|
314
|
+
description: "Manage Cursor Cloud Agents and background tasks",
|
|
315
|
+
category: "Engineering"
|
|
316
|
+
},
|
|
317
|
+
figma: {
|
|
318
|
+
description: "Access Figma files, comments, and components",
|
|
319
|
+
category: "Engineering"
|
|
320
|
+
},
|
|
321
|
+
github: {
|
|
322
|
+
description: "Manage GitHub repos, issues, and pull requests",
|
|
323
|
+
category: "Engineering"
|
|
324
|
+
},
|
|
325
|
+
gmail: {
|
|
326
|
+
description: "Send, read, and search Gmail messages",
|
|
327
|
+
category: "Communication"
|
|
328
|
+
},
|
|
329
|
+
gcal: {
|
|
330
|
+
description: "Manage Google Calendar events and schedules",
|
|
331
|
+
category: "Productivity"
|
|
332
|
+
},
|
|
333
|
+
hubspot: {
|
|
334
|
+
description: "Manage HubSpot contacts, deals, and tickets",
|
|
335
|
+
category: "Business"
|
|
336
|
+
},
|
|
337
|
+
intercom: {
|
|
338
|
+
description: "Manage Intercom contacts and conversations",
|
|
339
|
+
category: "Business"
|
|
340
|
+
},
|
|
341
|
+
linear: {
|
|
342
|
+
description: "Manage Linear issues, projects, and cycles",
|
|
343
|
+
category: "Engineering"
|
|
344
|
+
},
|
|
345
|
+
notion: {
|
|
346
|
+
description: "Manage Notion pages and databases",
|
|
347
|
+
category: "Productivity"
|
|
348
|
+
},
|
|
349
|
+
onedrive: {
|
|
350
|
+
description: "Manage OneDrive files, folders, and sharing",
|
|
351
|
+
category: "Storage"
|
|
352
|
+
},
|
|
353
|
+
outlook: {
|
|
354
|
+
description: "Manage Outlook mail, calendars, and contacts",
|
|
355
|
+
category: "Communication"
|
|
356
|
+
},
|
|
357
|
+
polar: {
|
|
358
|
+
description: "Manage Polar products, orders, and subscriptions",
|
|
359
|
+
category: "Business"
|
|
360
|
+
},
|
|
361
|
+
ramp: {
|
|
362
|
+
description: "Manage Ramp corporate cards, bills, and spend",
|
|
363
|
+
category: "Business"
|
|
364
|
+
},
|
|
365
|
+
slack: {
|
|
366
|
+
description: "Send and manage Slack messages and channels",
|
|
367
|
+
category: "Communication"
|
|
368
|
+
},
|
|
369
|
+
stripe: {
|
|
370
|
+
description: "Manage Stripe customers, payments, and subscriptions",
|
|
371
|
+
category: "Business"
|
|
372
|
+
},
|
|
373
|
+
todoist: {
|
|
374
|
+
description: "Manage Todoist tasks, projects, and labels",
|
|
375
|
+
category: "Productivity"
|
|
376
|
+
},
|
|
377
|
+
gslides: {
|
|
378
|
+
description: "Create and update Google Slides presentations",
|
|
379
|
+
category: "Productivity"
|
|
380
|
+
},
|
|
381
|
+
gsheets: {
|
|
382
|
+
description: "Read and update Google Sheets spreadsheets",
|
|
383
|
+
category: "Productivity"
|
|
384
|
+
},
|
|
385
|
+
gdocs: {
|
|
386
|
+
description: "Create and edit Google Docs documents",
|
|
387
|
+
category: "Productivity"
|
|
388
|
+
},
|
|
389
|
+
gdrive: {
|
|
390
|
+
description: "Manage Google Drive files, folders, and sharing",
|
|
391
|
+
category: "Storage"
|
|
392
|
+
},
|
|
393
|
+
vercel: {
|
|
394
|
+
description: "Manage Vercel projects, deployments, and domains",
|
|
395
|
+
category: "Engineering"
|
|
396
|
+
},
|
|
397
|
+
whatsapp: {
|
|
398
|
+
description: "Send WhatsApp messages and templates",
|
|
399
|
+
category: "Communication"
|
|
400
|
+
},
|
|
401
|
+
youtube: {
|
|
402
|
+
description: "Search and access YouTube videos and channels",
|
|
403
|
+
category: "Communication"
|
|
404
|
+
},
|
|
405
|
+
powerpoint: {
|
|
406
|
+
description: "Manage PowerPoint presentations and sharing",
|
|
407
|
+
category: "Productivity"
|
|
408
|
+
},
|
|
409
|
+
excel: {
|
|
410
|
+
description: "Manage Excel workbooks, worksheets, and tables",
|
|
411
|
+
category: "Productivity"
|
|
412
|
+
},
|
|
413
|
+
word: {
|
|
414
|
+
description: "Manage Word documents and sharing",
|
|
415
|
+
category: "Productivity"
|
|
416
|
+
},
|
|
417
|
+
dropbox: {
|
|
418
|
+
description: "Manage Dropbox files, folders, and sharing",
|
|
419
|
+
category: "Storage"
|
|
420
|
+
},
|
|
421
|
+
granola: {
|
|
422
|
+
description: "List and read Granola meeting notes and folders",
|
|
423
|
+
category: "Productivity"
|
|
424
|
+
},
|
|
425
|
+
mercury: {
|
|
426
|
+
description: "Manage Mercury bank accounts, cards, and transactions",
|
|
427
|
+
category: "Business"
|
|
428
|
+
},
|
|
429
|
+
zendesk: {
|
|
430
|
+
description: "Manage Zendesk tickets, users, and help center content",
|
|
431
|
+
category: "Business"
|
|
432
|
+
}
|
|
433
|
+
};
|
|
434
|
+
});
|
|
435
|
+
|
|
436
|
+
// ../integrations/integration-summary.ts
|
|
437
|
+
function toConfiguredIntegrationSummary(integration) {
|
|
438
|
+
const row = integration;
|
|
439
|
+
const pres = integrationLibraryPresentationFields(row);
|
|
440
|
+
return {
|
|
441
|
+
id: integration.id,
|
|
442
|
+
name: row.name || integration.id,
|
|
443
|
+
logoUrl: row.logoUrl,
|
|
444
|
+
tools: integration.tools,
|
|
445
|
+
hasOAuth: !!integration.oauth,
|
|
446
|
+
scopes: integration.oauth?.scopes,
|
|
447
|
+
provider: integration.oauth?.provider,
|
|
448
|
+
...pres
|
|
449
|
+
};
|
|
450
|
+
}
|
|
451
|
+
function toConfiguredIntegrationWithToolMetadata(integration, toolMetadata) {
|
|
452
|
+
return {
|
|
453
|
+
...toConfiguredIntegrationSummary(integration),
|
|
454
|
+
toolMetadata
|
|
455
|
+
};
|
|
456
|
+
}
|
|
457
|
+
var init_integration_summary = __esm(() => {
|
|
458
|
+
init_library_metadata();
|
|
459
|
+
});
|
|
460
|
+
|
|
287
461
|
// ../utils/logger.ts
|
|
288
462
|
function shouldLog(level, context) {
|
|
289
463
|
return logLevelHierarchy[level] <= logLevelHierarchy[contextLogLevels[context]];
|
|
@@ -447,14 +621,8 @@ class OAuthHandler {
|
|
|
447
621
|
const integrations = this.config.integrations || [];
|
|
448
622
|
return {
|
|
449
623
|
integrations: integrations.map((integration) => ({
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
logoUrl: integration.logoUrl,
|
|
453
|
-
tools: integration.tools,
|
|
454
|
-
hasOAuth: !!integration.oauth,
|
|
455
|
-
scopes: integration.oauth?.scopes,
|
|
456
|
-
optionalScopes: integration.oauth?.optionalScopes,
|
|
457
|
-
provider: integration.oauth?.provider
|
|
624
|
+
...toConfiguredIntegrationSummary(integration),
|
|
625
|
+
optionalScopes: integration.oauth?.optionalScopes
|
|
458
626
|
}))
|
|
459
627
|
};
|
|
460
628
|
}
|
|
@@ -841,6 +1009,7 @@ class OAuthHandler {
|
|
|
841
1009
|
}
|
|
842
1010
|
var SERVER_LOG_CONTEXT = "server", logger2, MCP_SERVER_URL = "https://mcp.integrate.dev/api/v1/mcp";
|
|
843
1011
|
var init_base_handler = __esm(() => {
|
|
1012
|
+
init_integration_summary();
|
|
844
1013
|
init_email_fetcher();
|
|
845
1014
|
init_logger();
|
|
846
1015
|
logger2 = createLogger("OAuthHandler", SERVER_LOG_CONTEXT);
|