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.
@@ -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
- id: integration.id,
451
- name: integration.name || integration.id,
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);
@@ -240,10 +240,12 @@ export declare class OAuthHandler {
240
240
  id: string;
241
241
  name: string;
242
242
  logoUrl?: string;
243
+ description?: string;
244
+ category?: string;
243
245
  tools: readonly string[];
244
246
  hasOAuth: boolean;
245
- scopes?: string[];
246
- optionalScopes?: string[];
247
+ scopes?: readonly string[];
248
+ optionalScopes?: readonly string[];
247
249
  provider?: string;
248
250
  }>;
249
251
  };
@@ -1 +1 @@
1
- {"version":3,"file":"base-handler.d.ts","sourceRoot":"","sources":["../../../src/adapters/base-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-handler.d.ts","sourceRoot":"","sources":["../../../src/adapters/base-handler.ts"],"names":[],"mappings":"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"}
@@ -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
- id: integration.id,
451
- name: integration.name || integration.id,
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);