integrate-sdk 0.9.31-dev.0 → 0.9.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.
- package/dist/adapters/auto-routes.js +216 -0
- package/dist/adapters/base-handler.js +216 -0
- package/dist/adapters/index.js +618 -87
- package/dist/adapters/nextjs.js +216 -0
- package/dist/adapters/solid-start.js +618 -87
- package/dist/adapters/svelte-kit.js +618 -87
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3483 -445
- package/dist/oauth.js +216 -0
- package/dist/server.js +3542 -457
- package/dist/src/client.d.ts +55 -1
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/index.d.ts +118 -0
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/integrations/alpaca-client.d.ts +64 -0
- package/dist/src/integrations/alpaca-client.d.ts.map +1 -0
- package/dist/src/integrations/alpaca.d.ts +22 -0
- package/dist/src/integrations/alpaca.d.ts.map +1 -0
- package/dist/src/integrations/astronomer-client.d.ts +80 -0
- package/dist/src/integrations/astronomer-client.d.ts.map +1 -0
- package/dist/src/integrations/astronomer.d.ts +14 -0
- package/dist/src/integrations/astronomer.d.ts.map +1 -0
- package/dist/src/integrations/attio-client.d.ts +17 -0
- package/dist/src/integrations/attio-client.d.ts.map +1 -0
- package/dist/src/integrations/attio.d.ts +15 -0
- package/dist/src/integrations/attio.d.ts.map +1 -0
- package/dist/src/integrations/auth0-client.d.ts +55 -0
- package/dist/src/integrations/auth0-client.d.ts.map +1 -0
- package/dist/src/integrations/auth0.d.ts +22 -0
- package/dist/src/integrations/auth0.d.ts.map +1 -0
- package/dist/src/integrations/aws-client.d.ts +26 -0
- package/dist/src/integrations/aws-client.d.ts.map +1 -0
- package/dist/src/integrations/aws.d.ts +28 -0
- package/dist/src/integrations/aws.d.ts.map +1 -0
- package/dist/src/integrations/betterstack-client.d.ts +62 -0
- package/dist/src/integrations/betterstack-client.d.ts.map +1 -0
- package/dist/src/integrations/betterstack.d.ts +14 -0
- package/dist/src/integrations/betterstack.d.ts.map +1 -0
- package/dist/src/integrations/binance-client.d.ts +54 -0
- package/dist/src/integrations/binance-client.d.ts.map +1 -0
- package/dist/src/integrations/binance.d.ts +22 -0
- package/dist/src/integrations/binance.d.ts.map +1 -0
- package/dist/src/integrations/canva-client.d.ts +70 -0
- package/dist/src/integrations/canva-client.d.ts.map +1 -0
- package/dist/src/integrations/canva.d.ts +20 -0
- package/dist/src/integrations/canva.d.ts.map +1 -0
- package/dist/src/integrations/clerk-client.d.ts +66 -0
- package/dist/src/integrations/clerk-client.d.ts.map +1 -0
- package/dist/src/integrations/clerk.d.ts +14 -0
- package/dist/src/integrations/clerk.d.ts.map +1 -0
- package/dist/src/integrations/clickup-client.d.ts +5 -0
- package/dist/src/integrations/clickup-client.d.ts.map +1 -0
- package/dist/src/integrations/clickup.d.ts +13 -0
- package/dist/src/integrations/clickup.d.ts.map +1 -0
- package/dist/src/integrations/cloudflare-client.d.ts +69 -0
- package/dist/src/integrations/cloudflare-client.d.ts.map +1 -0
- package/dist/src/integrations/cloudflare.d.ts +23 -0
- package/dist/src/integrations/cloudflare.d.ts.map +1 -0
- package/dist/src/integrations/convex-client.d.ts +21 -0
- package/dist/src/integrations/convex-client.d.ts.map +1 -0
- package/dist/src/integrations/convex.d.ts +9 -0
- package/dist/src/integrations/convex.d.ts.map +1 -0
- package/dist/src/integrations/databricks-client.d.ts +40 -0
- package/dist/src/integrations/databricks-client.d.ts.map +1 -0
- package/dist/src/integrations/databricks.d.ts +27 -0
- package/dist/src/integrations/databricks.d.ts.map +1 -0
- package/dist/src/integrations/datadog-client.d.ts +9 -0
- package/dist/src/integrations/datadog-client.d.ts.map +1 -0
- package/dist/src/integrations/datadog.d.ts +30 -0
- package/dist/src/integrations/datadog.d.ts.map +1 -0
- package/dist/src/integrations/discord-client.d.ts +44 -0
- package/dist/src/integrations/discord-client.d.ts.map +1 -0
- package/dist/src/integrations/discord.d.ts +19 -0
- package/dist/src/integrations/discord.d.ts.map +1 -0
- package/dist/src/integrations/etoro-client.d.ts +10 -0
- package/dist/src/integrations/etoro-client.d.ts.map +1 -0
- package/dist/src/integrations/etoro.d.ts +10 -0
- package/dist/src/integrations/etoro.d.ts.map +1 -0
- package/dist/src/integrations/excel.d.ts +1 -1
- package/dist/src/integrations/facebook-client.d.ts +61 -0
- package/dist/src/integrations/facebook-client.d.ts.map +1 -0
- package/dist/src/integrations/facebook.d.ts +22 -0
- package/dist/src/integrations/facebook.d.ts.map +1 -0
- package/dist/src/integrations/ga4-client.d.ts +9 -0
- package/dist/src/integrations/ga4-client.d.ts.map +1 -0
- package/dist/src/integrations/ga4.d.ts +13 -0
- package/dist/src/integrations/ga4.d.ts.map +1 -0
- package/dist/src/integrations/gcal-client.d.ts +6 -0
- package/dist/src/integrations/gcal-client.d.ts.map +1 -1
- package/dist/src/integrations/gcal.d.ts +1 -1
- package/dist/src/integrations/gcal.d.ts.map +1 -1
- package/dist/src/integrations/gchat-client.d.ts +12 -0
- package/dist/src/integrations/gchat-client.d.ts.map +1 -0
- package/dist/src/integrations/gchat.d.ts +15 -0
- package/dist/src/integrations/gchat.d.ts.map +1 -0
- package/dist/src/integrations/gcontacts-client.d.ts +14 -0
- package/dist/src/integrations/gcontacts-client.d.ts.map +1 -0
- package/dist/src/integrations/gcontacts.d.ts +22 -0
- package/dist/src/integrations/gcontacts.d.ts.map +1 -0
- package/dist/src/integrations/gdocs-client.d.ts +22 -0
- package/dist/src/integrations/gdocs-client.d.ts.map +1 -1
- package/dist/src/integrations/gdocs.d.ts +1 -1
- package/dist/src/integrations/gdocs.d.ts.map +1 -1
- package/dist/src/integrations/gdrive.d.ts +1 -1
- package/dist/src/integrations/github-client.d.ts +4 -0
- package/dist/src/integrations/github-client.d.ts.map +1 -1
- package/dist/src/integrations/github.d.ts +1 -1
- package/dist/src/integrations/github.d.ts.map +1 -1
- package/dist/src/integrations/gitlab-client.d.ts +5 -0
- package/dist/src/integrations/gitlab-client.d.ts.map +1 -0
- package/dist/src/integrations/gitlab.d.ts +20 -0
- package/dist/src/integrations/gitlab.d.ts.map +1 -0
- package/dist/src/integrations/gmail-client.d.ts +18 -0
- package/dist/src/integrations/gmail-client.d.ts.map +1 -1
- package/dist/src/integrations/gmail.d.ts +1 -1
- package/dist/src/integrations/gmail.d.ts.map +1 -1
- package/dist/src/integrations/gmeet-client.d.ts +10 -0
- package/dist/src/integrations/gmeet-client.d.ts.map +1 -0
- package/dist/src/integrations/gmeet.d.ts +19 -0
- package/dist/src/integrations/gmeet.d.ts.map +1 -0
- package/dist/src/integrations/gsheets-client.d.ts +10 -0
- package/dist/src/integrations/gsheets-client.d.ts.map +1 -1
- package/dist/src/integrations/gsheets.d.ts +1 -1
- package/dist/src/integrations/gsheets.d.ts.map +1 -1
- package/dist/src/integrations/gslides-client.d.ts +8 -0
- package/dist/src/integrations/gslides-client.d.ts.map +1 -1
- package/dist/src/integrations/gslides.d.ts +1 -1
- package/dist/src/integrations/gslides.d.ts.map +1 -1
- package/dist/src/integrations/gtasks-client.d.ts +16 -0
- package/dist/src/integrations/gtasks-client.d.ts.map +1 -0
- package/dist/src/integrations/gtasks.d.ts +22 -0
- package/dist/src/integrations/gtasks.d.ts.map +1 -0
- package/dist/src/integrations/instagram-client.d.ts +74 -0
- package/dist/src/integrations/instagram-client.d.ts.map +1 -0
- package/dist/src/integrations/instagram.d.ts +24 -0
- package/dist/src/integrations/instagram.d.ts.map +1 -0
- package/dist/src/integrations/library-metadata.d.ts.map +1 -1
- package/dist/src/integrations/linkedin-client.d.ts +6 -0
- package/dist/src/integrations/linkedin-client.d.ts.map +1 -0
- package/dist/src/integrations/linkedin.d.ts +15 -0
- package/dist/src/integrations/linkedin.d.ts.map +1 -0
- package/dist/src/integrations/mailchimp-client.d.ts +5 -0
- package/dist/src/integrations/mailchimp-client.d.ts.map +1 -0
- package/dist/src/integrations/mailchimp.d.ts +13 -0
- package/dist/src/integrations/mailchimp.d.ts.map +1 -0
- package/dist/src/integrations/monday-client.d.ts +44 -0
- package/dist/src/integrations/monday-client.d.ts.map +1 -0
- package/dist/src/integrations/monday.d.ts +19 -0
- package/dist/src/integrations/monday.d.ts.map +1 -0
- package/dist/src/integrations/neon-client.d.ts +89 -0
- package/dist/src/integrations/neon-client.d.ts.map +1 -0
- package/dist/src/integrations/neon.d.ts +13 -0
- package/dist/src/integrations/neon.d.ts.map +1 -0
- package/dist/src/integrations/onedrive-client.d.ts +16 -0
- package/dist/src/integrations/onedrive-client.d.ts.map +1 -1
- package/dist/src/integrations/onedrive.d.ts +1 -1
- package/dist/src/integrations/onedrive.d.ts.map +1 -1
- package/dist/src/integrations/outlook.d.ts +1 -1
- package/dist/src/integrations/outlook.d.ts.map +1 -1
- package/dist/src/integrations/paper-client.d.ts +24 -0
- package/dist/src/integrations/paper-client.d.ts.map +1 -0
- package/dist/src/integrations/paper.d.ts +22 -0
- package/dist/src/integrations/paper.d.ts.map +1 -0
- package/dist/src/integrations/phantom-client.d.ts +9 -0
- package/dist/src/integrations/phantom-client.d.ts.map +1 -0
- package/dist/src/integrations/phantom.d.ts +13 -0
- package/dist/src/integrations/phantom.d.ts.map +1 -0
- package/dist/src/integrations/planetscale-client.d.ts +5 -0
- package/dist/src/integrations/planetscale-client.d.ts.map +1 -0
- package/dist/src/integrations/planetscale.d.ts +14 -0
- package/dist/src/integrations/planetscale.d.ts.map +1 -0
- package/dist/src/integrations/planner-client.d.ts +17 -0
- package/dist/src/integrations/planner-client.d.ts.map +1 -0
- package/dist/src/integrations/planner.d.ts +13 -0
- package/dist/src/integrations/planner.d.ts.map +1 -0
- package/dist/src/integrations/postman-client.d.ts +34 -0
- package/dist/src/integrations/postman-client.d.ts.map +1 -0
- package/dist/src/integrations/postman.d.ts +14 -0
- package/dist/src/integrations/postman.d.ts.map +1 -0
- package/dist/src/integrations/powerpoint-client.d.ts +8 -0
- package/dist/src/integrations/powerpoint-client.d.ts.map +1 -1
- package/dist/src/integrations/powerpoint.d.ts +1 -1
- package/dist/src/integrations/powerpoint.d.ts.map +1 -1
- package/dist/src/integrations/reddit-client.d.ts +5 -0
- package/dist/src/integrations/reddit-client.d.ts.map +1 -0
- package/dist/src/integrations/reddit.d.ts +13 -0
- package/dist/src/integrations/reddit.d.ts.map +1 -0
- package/dist/src/integrations/redis-client.d.ts +67 -0
- package/dist/src/integrations/redis-client.d.ts.map +1 -0
- package/dist/src/integrations/redis.d.ts +18 -0
- package/dist/src/integrations/redis.d.ts.map +1 -0
- package/dist/src/integrations/resend-client.d.ts +5 -0
- package/dist/src/integrations/resend-client.d.ts.map +1 -0
- package/dist/src/integrations/resend.d.ts +9 -0
- package/dist/src/integrations/resend.d.ts.map +1 -0
- package/dist/src/integrations/salesforce-client.d.ts +43 -0
- package/dist/src/integrations/salesforce-client.d.ts.map +1 -0
- package/dist/src/integrations/salesforce.d.ts +25 -0
- package/dist/src/integrations/salesforce.d.ts.map +1 -0
- package/dist/src/integrations/sharepoint-client.d.ts +15 -0
- package/dist/src/integrations/sharepoint-client.d.ts.map +1 -0
- package/dist/src/integrations/sharepoint.d.ts +15 -0
- package/dist/src/integrations/sharepoint.d.ts.map +1 -0
- package/dist/src/integrations/shopify-client.d.ts +31 -0
- package/dist/src/integrations/shopify-client.d.ts.map +1 -0
- package/dist/src/integrations/shopify.d.ts +16 -0
- package/dist/src/integrations/shopify.d.ts.map +1 -0
- package/dist/src/integrations/stripe-client.d.ts +12 -0
- package/dist/src/integrations/stripe-client.d.ts.map +1 -1
- package/dist/src/integrations/stripe.d.ts +1 -1
- package/dist/src/integrations/stripe.d.ts.map +1 -1
- package/dist/src/integrations/supabase-client.d.ts +63 -0
- package/dist/src/integrations/supabase-client.d.ts.map +1 -0
- package/dist/src/integrations/supabase.d.ts +26 -0
- package/dist/src/integrations/supabase.d.ts.map +1 -0
- package/dist/src/integrations/teams-client.d.ts +16 -0
- package/dist/src/integrations/teams-client.d.ts.map +1 -0
- package/dist/src/integrations/teams.d.ts +24 -0
- package/dist/src/integrations/teams.d.ts.map +1 -0
- package/dist/src/integrations/threads-client.d.ts +16 -0
- package/dist/src/integrations/threads-client.d.ts.map +1 -0
- package/dist/src/integrations/threads.d.ts +15 -0
- package/dist/src/integrations/threads.d.ts.map +1 -0
- package/dist/src/integrations/tiktok-client.d.ts +7 -0
- package/dist/src/integrations/tiktok-client.d.ts.map +1 -0
- package/dist/src/integrations/tiktok.d.ts +15 -0
- package/dist/src/integrations/tiktok.d.ts.map +1 -0
- package/dist/src/integrations/tldraw-client.d.ts +5 -0
- package/dist/src/integrations/tldraw-client.d.ts.map +1 -0
- package/dist/src/integrations/tldraw.d.ts +9 -0
- package/dist/src/integrations/tldraw.d.ts.map +1 -0
- package/dist/src/integrations/trello-client.d.ts +16 -0
- package/dist/src/integrations/trello-client.d.ts.map +1 -0
- package/dist/src/integrations/trello.d.ts +10 -0
- package/dist/src/integrations/trello.d.ts.map +1 -0
- package/dist/src/integrations/typeform-client.d.ts +13 -0
- package/dist/src/integrations/typeform-client.d.ts.map +1 -0
- package/dist/src/integrations/typeform.d.ts +15 -0
- package/dist/src/integrations/typeform.d.ts.map +1 -0
- package/dist/src/integrations/upstash-client.d.ts +28 -0
- package/dist/src/integrations/upstash-client.d.ts.map +1 -0
- package/dist/src/integrations/upstash.d.ts +18 -0
- package/dist/src/integrations/upstash.d.ts.map +1 -0
- package/dist/src/integrations/webflow-client.d.ts +78 -0
- package/dist/src/integrations/webflow-client.d.ts.map +1 -0
- package/dist/src/integrations/webflow.d.ts +20 -0
- package/dist/src/integrations/webflow.d.ts.map +1 -0
- package/dist/src/integrations/whatsapp-client.d.ts +22 -0
- package/dist/src/integrations/whatsapp-client.d.ts.map +1 -1
- package/dist/src/integrations/whatsapp.d.ts +1 -1
- package/dist/src/integrations/whatsapp.d.ts.map +1 -1
- package/dist/src/integrations/wix-client.d.ts +27 -0
- package/dist/src/integrations/wix-client.d.ts.map +1 -0
- package/dist/src/integrations/wix.d.ts +16 -0
- package/dist/src/integrations/wix.d.ts.map +1 -0
- package/dist/src/integrations/word-client.d.ts +8 -0
- package/dist/src/integrations/word-client.d.ts.map +1 -1
- package/dist/src/integrations/word.d.ts +1 -1
- package/dist/src/integrations/word.d.ts.map +1 -1
- package/dist/src/integrations/workday-client.d.ts +18 -0
- package/dist/src/integrations/workday-client.d.ts.map +1 -0
- package/dist/src/integrations/workday.d.ts +24 -0
- package/dist/src/integrations/workday.d.ts.map +1 -0
- package/dist/src/integrations/workos-client.d.ts +75 -0
- package/dist/src/integrations/workos-client.d.ts.map +1 -0
- package/dist/src/integrations/workos.d.ts +14 -0
- package/dist/src/integrations/workos.d.ts.map +1 -0
- package/dist/src/integrations/xero-client.d.ts +14 -0
- package/dist/src/integrations/xero-client.d.ts.map +1 -0
- package/dist/src/integrations/xero.d.ts +15 -0
- package/dist/src/integrations/xero.d.ts.map +1 -0
- package/dist/src/integrations/youtube.d.ts +1 -1
- package/dist/src/integrations/youtube.d.ts.map +1 -1
- package/dist/src/integrations/zapier-client.d.ts +41 -0
- package/dist/src/integrations/zapier-client.d.ts.map +1 -0
- package/dist/src/integrations/zapier.d.ts +20 -0
- package/dist/src/integrations/zapier.d.ts.map +1 -0
- package/dist/src/integrations/zoom-client.d.ts +42 -0
- package/dist/src/integrations/zoom-client.d.ts.map +1 -0
- package/dist/src/integrations/zoom.d.ts +23 -0
- package/dist/src/integrations/zoom.d.ts.map +1 -0
- package/dist/src/oauth/manager.d.ts +44 -0
- package/dist/src/oauth/manager.d.ts.map +1 -1
- package/dist/src/oauth/refresh.d.ts +124 -0
- package/dist/src/oauth/refresh.d.ts.map +1 -0
- package/dist/src/server.d.ts +54 -0
- package/dist/src/server.d.ts.map +1 -1
- package/index.ts +52 -0
- package/package.json +1 -1
package/dist/adapters/index.js
CHANGED
|
@@ -306,18 +306,42 @@ var init_library_metadata = __esm(() => {
|
|
|
306
306
|
description: "Manage Airtable bases, tables, and records",
|
|
307
307
|
category: "Business"
|
|
308
308
|
},
|
|
309
|
+
aws: {
|
|
310
|
+
description: "Inspect AWS accounts and resources with SigV4 (control-plane APIs)",
|
|
311
|
+
category: "Infrastructure"
|
|
312
|
+
},
|
|
313
|
+
attio: {
|
|
314
|
+
description: "Manage Attio people, companies, tasks, and CRM records",
|
|
315
|
+
category: "Business"
|
|
316
|
+
},
|
|
309
317
|
calcom: {
|
|
310
318
|
description: "Manage Cal.com bookings and schedules",
|
|
311
319
|
category: "Business"
|
|
312
320
|
},
|
|
321
|
+
canva: {
|
|
322
|
+
description: "List and create Canva designs, manage folders, and export assets",
|
|
323
|
+
category: "Productivity"
|
|
324
|
+
},
|
|
325
|
+
cloudflare: {
|
|
326
|
+
description: "Manage Cloudflare zones, DNS, CDN cache, and Workers",
|
|
327
|
+
category: "Infrastructure"
|
|
328
|
+
},
|
|
313
329
|
cursor: {
|
|
314
330
|
description: "Manage Cursor Cloud Agents and background tasks",
|
|
315
331
|
category: "Engineering"
|
|
316
332
|
},
|
|
333
|
+
databricks: {
|
|
334
|
+
description: "Run Databricks jobs, list clusters and SQL warehouses, and inspect workspace paths",
|
|
335
|
+
category: "Engineering"
|
|
336
|
+
},
|
|
317
337
|
figma: {
|
|
318
338
|
description: "Access Figma files, comments, and components",
|
|
319
339
|
category: "Engineering"
|
|
320
340
|
},
|
|
341
|
+
facebook: {
|
|
342
|
+
description: "Manage Facebook Page posts, comments, reactions, and insights via the Graph API",
|
|
343
|
+
category: "Social Media"
|
|
344
|
+
},
|
|
321
345
|
github: {
|
|
322
346
|
description: "Manage GitHub repos, issues, and pull requests",
|
|
323
347
|
category: "Engineering"
|
|
@@ -330,10 +354,26 @@ var init_library_metadata = __esm(() => {
|
|
|
330
354
|
description: "Manage Google Calendar events and schedules",
|
|
331
355
|
category: "Productivity"
|
|
332
356
|
},
|
|
357
|
+
gtasks: {
|
|
358
|
+
description: "Manage Google Tasks lists and to-dos",
|
|
359
|
+
category: "Productivity"
|
|
360
|
+
},
|
|
361
|
+
gmeet: {
|
|
362
|
+
description: "Create Google Meet links and manage meeting events via Calendar",
|
|
363
|
+
category: "Communication"
|
|
364
|
+
},
|
|
365
|
+
gcontacts: {
|
|
366
|
+
description: "List, search, create, update, and delete Google Contacts via the People API",
|
|
367
|
+
category: "Communication"
|
|
368
|
+
},
|
|
333
369
|
hubspot: {
|
|
334
370
|
description: "Manage HubSpot contacts, deals, and tickets",
|
|
335
371
|
category: "Business"
|
|
336
372
|
},
|
|
373
|
+
instagram: {
|
|
374
|
+
description: "Instagram Graph API — media, comments, insights, stories, and publishing",
|
|
375
|
+
category: "Social Media"
|
|
376
|
+
},
|
|
337
377
|
intercom: {
|
|
338
378
|
description: "Manage Intercom contacts and conversations",
|
|
339
379
|
category: "Business"
|
|
@@ -350,6 +390,10 @@ var init_library_metadata = __esm(() => {
|
|
|
350
390
|
description: "Manage OneDrive files, folders, and sharing",
|
|
351
391
|
category: "Storage"
|
|
352
392
|
},
|
|
393
|
+
planner: {
|
|
394
|
+
description: "Manage Microsoft Planner plans, buckets, and tasks",
|
|
395
|
+
category: "Productivity"
|
|
396
|
+
},
|
|
353
397
|
outlook: {
|
|
354
398
|
description: "Manage Outlook mail, calendars, and contacts",
|
|
355
399
|
category: "Communication"
|
|
@@ -358,18 +402,38 @@ var init_library_metadata = __esm(() => {
|
|
|
358
402
|
description: "Manage Polar products, orders, and subscriptions",
|
|
359
403
|
category: "Finance"
|
|
360
404
|
},
|
|
405
|
+
phantom: {
|
|
406
|
+
description: "Build Phantom mobile browse universal links and deeplink provider documentation (Solana)",
|
|
407
|
+
category: "Other"
|
|
408
|
+
},
|
|
361
409
|
posthog: {
|
|
362
410
|
description: "Read PostHog organizations, projects, insights, and feature flags",
|
|
363
411
|
category: "Analytics"
|
|
364
412
|
},
|
|
413
|
+
postman: {
|
|
414
|
+
description: "Manage Postman workspaces, collections, and environments via the Postman API",
|
|
415
|
+
category: "Engineering"
|
|
416
|
+
},
|
|
365
417
|
ramp: {
|
|
366
418
|
description: "Manage Ramp corporate cards, bills, and spend",
|
|
367
419
|
category: "Business"
|
|
368
420
|
},
|
|
421
|
+
resend: {
|
|
422
|
+
description: "Send email and manage domains with the Resend API",
|
|
423
|
+
category: "Communication"
|
|
424
|
+
},
|
|
425
|
+
mailchimp: {
|
|
426
|
+
description: "Manage Mailchimp audiences, members, and campaigns",
|
|
427
|
+
category: "Communication"
|
|
428
|
+
},
|
|
369
429
|
railway: {
|
|
370
430
|
description: "Manage Railway workspaces, projects, services, deployments, variables, domains, and volumes",
|
|
371
431
|
category: "Infrastructure"
|
|
372
432
|
},
|
|
433
|
+
supabase: {
|
|
434
|
+
description: "Manage Supabase organizations, projects, Postgres, API keys, secrets, and branches",
|
|
435
|
+
category: "Infrastructure"
|
|
436
|
+
},
|
|
373
437
|
sentry: {
|
|
374
438
|
description: "Monitor Sentry errors, issues, releases, and projects",
|
|
375
439
|
category: "Engineering"
|
|
@@ -378,6 +442,14 @@ var init_library_metadata = __esm(() => {
|
|
|
378
442
|
description: "Manage Netlify sites, deploys, builds, and environment variables",
|
|
379
443
|
category: "Infrastructure"
|
|
380
444
|
},
|
|
445
|
+
redis: {
|
|
446
|
+
description: "Manage Redis Cloud subscriptions, databases, async tasks, and audit logs",
|
|
447
|
+
category: "Infrastructure"
|
|
448
|
+
},
|
|
449
|
+
upstash: {
|
|
450
|
+
description: "Use Upstash Redis REST, QStash messaging, and related HTTP APIs",
|
|
451
|
+
category: "Infrastructure"
|
|
452
|
+
},
|
|
381
453
|
jira: {
|
|
382
454
|
description: "Manage Jira issues, projects, sprints, and boards",
|
|
383
455
|
category: "Engineering"
|
|
@@ -414,6 +486,10 @@ var init_library_metadata = __esm(() => {
|
|
|
414
486
|
description: "Manage Vercel projects, deployments, and domains",
|
|
415
487
|
category: "Infrastructure"
|
|
416
488
|
},
|
|
489
|
+
workos: {
|
|
490
|
+
description: "Manage WorkOS organizations, users, directory sync, and AuthKit",
|
|
491
|
+
category: "Infrastructure"
|
|
492
|
+
},
|
|
417
493
|
whatsapp: {
|
|
418
494
|
description: "Send WhatsApp messages and templates",
|
|
419
495
|
category: "Communication"
|
|
@@ -422,6 +498,14 @@ var init_library_metadata = __esm(() => {
|
|
|
422
498
|
description: "Search and access YouTube videos and channels",
|
|
423
499
|
category: "Social Media"
|
|
424
500
|
},
|
|
501
|
+
zoom: {
|
|
502
|
+
description: "Manage Zoom user profile and meetings",
|
|
503
|
+
category: "Communication"
|
|
504
|
+
},
|
|
505
|
+
reddit: {
|
|
506
|
+
description: "Browse subreddits, search posts, submit content, and vote on Reddit",
|
|
507
|
+
category: "Social Media"
|
|
508
|
+
},
|
|
425
509
|
powerpoint: {
|
|
426
510
|
description: "Manage PowerPoint presentations and sharing",
|
|
427
511
|
category: "Productivity"
|
|
@@ -438,17 +522,149 @@ var init_library_metadata = __esm(() => {
|
|
|
438
522
|
description: "Manage Dropbox files, folders, and sharing",
|
|
439
523
|
category: "Storage"
|
|
440
524
|
},
|
|
525
|
+
paper: {
|
|
526
|
+
description: "Create, update, and export Dropbox Paper documents",
|
|
527
|
+
category: "Productivity"
|
|
528
|
+
},
|
|
441
529
|
granola: {
|
|
442
530
|
description: "List and read Granola meeting notes and folders",
|
|
443
531
|
category: "Productivity"
|
|
444
532
|
},
|
|
533
|
+
alpaca: {
|
|
534
|
+
description: "Trade equities with Alpaca: account, orders, positions, and market clock",
|
|
535
|
+
category: "Finance"
|
|
536
|
+
},
|
|
537
|
+
binance: {
|
|
538
|
+
description: "Read Binance Spot prices, order books, and account data with read-only API keys",
|
|
539
|
+
category: "Finance"
|
|
540
|
+
},
|
|
445
541
|
mercury: {
|
|
446
542
|
description: "Manage Mercury bank accounts, cards, and transactions",
|
|
447
543
|
category: "Finance"
|
|
448
544
|
},
|
|
545
|
+
monday: {
|
|
546
|
+
description: "Manage Monday.com boards, items, columns, and updates",
|
|
547
|
+
category: "Productivity"
|
|
548
|
+
},
|
|
449
549
|
zendesk: {
|
|
450
550
|
description: "Manage Zendesk tickets, users, and help center content",
|
|
451
551
|
category: "Business"
|
|
552
|
+
},
|
|
553
|
+
wix: {
|
|
554
|
+
description: "Manage Wix site stores, products, and e-commerce orders via REST",
|
|
555
|
+
category: "Business"
|
|
556
|
+
},
|
|
557
|
+
astronomer: {
|
|
558
|
+
description: "Manage Apache Airflow DAGs and deployments on Astronomer",
|
|
559
|
+
category: "Engineering"
|
|
560
|
+
},
|
|
561
|
+
auth0: {
|
|
562
|
+
description: "Manage Auth0 users, applications, and tenant configuration",
|
|
563
|
+
category: "Infrastructure"
|
|
564
|
+
},
|
|
565
|
+
betterstack: {
|
|
566
|
+
description: "Monitor uptime, logs, and incident alerts with BetterStack",
|
|
567
|
+
category: "Engineering"
|
|
568
|
+
},
|
|
569
|
+
clerk: {
|
|
570
|
+
description: "Manage Clerk users, organizations, and authentication",
|
|
571
|
+
category: "Infrastructure"
|
|
572
|
+
},
|
|
573
|
+
clickup: {
|
|
574
|
+
description: "Manage ClickUp tasks, lists, spaces, and workspaces",
|
|
575
|
+
category: "Productivity"
|
|
576
|
+
},
|
|
577
|
+
convex: {
|
|
578
|
+
description: "Run Convex functions, manage tables, and query your app backend",
|
|
579
|
+
category: "Engineering"
|
|
580
|
+
},
|
|
581
|
+
datadog: {
|
|
582
|
+
description: "Monitor Datadog metrics, logs, dashboards, and alerts",
|
|
583
|
+
category: "Engineering"
|
|
584
|
+
},
|
|
585
|
+
discord: {
|
|
586
|
+
description: "Send messages and manage Discord channels and servers",
|
|
587
|
+
category: "Communication"
|
|
588
|
+
},
|
|
589
|
+
etoro: {
|
|
590
|
+
description: "Read eToro portfolio data and market instruments",
|
|
591
|
+
category: "Finance"
|
|
592
|
+
},
|
|
593
|
+
ga4: {
|
|
594
|
+
description: "Read Google Analytics 4 reports, properties, and events",
|
|
595
|
+
category: "Analytics"
|
|
596
|
+
},
|
|
597
|
+
gchat: {
|
|
598
|
+
description: "Send messages and manage Google Chat spaces and memberships",
|
|
599
|
+
category: "Communication"
|
|
600
|
+
},
|
|
601
|
+
gitlab: {
|
|
602
|
+
description: "Manage GitLab repositories, issues, and merge requests",
|
|
603
|
+
category: "Engineering"
|
|
604
|
+
},
|
|
605
|
+
linkedin: {
|
|
606
|
+
description: "Post updates and manage LinkedIn profile and company pages",
|
|
607
|
+
category: "Social Media"
|
|
608
|
+
},
|
|
609
|
+
neon: {
|
|
610
|
+
description: "Manage Neon Postgres projects, branches, and databases",
|
|
611
|
+
category: "Infrastructure"
|
|
612
|
+
},
|
|
613
|
+
planetscale: {
|
|
614
|
+
description: "Manage PlanetScale databases, branches, and schema changes",
|
|
615
|
+
category: "Infrastructure"
|
|
616
|
+
},
|
|
617
|
+
salesforce: {
|
|
618
|
+
description: "Manage Salesforce accounts, contacts, opportunities, and cases",
|
|
619
|
+
category: "Business"
|
|
620
|
+
},
|
|
621
|
+
sharepoint: {
|
|
622
|
+
description: "Manage SharePoint sites, lists, documents, and permissions",
|
|
623
|
+
category: "Productivity"
|
|
624
|
+
},
|
|
625
|
+
shopify: {
|
|
626
|
+
description: "Manage Shopify products, orders, customers, and inventory",
|
|
627
|
+
category: "Business"
|
|
628
|
+
},
|
|
629
|
+
teams: {
|
|
630
|
+
description: "Send messages and manage Microsoft Teams channels and meetings",
|
|
631
|
+
category: "Communication"
|
|
632
|
+
},
|
|
633
|
+
threads: {
|
|
634
|
+
description: "Post and manage content on Threads (Meta)",
|
|
635
|
+
category: "Social Media"
|
|
636
|
+
},
|
|
637
|
+
tiktok: {
|
|
638
|
+
description: "Manage TikTok videos, account info, and creator analytics",
|
|
639
|
+
category: "Social Media"
|
|
640
|
+
},
|
|
641
|
+
tldraw: {
|
|
642
|
+
description: "Create and manage tldraw collaborative whiteboards",
|
|
643
|
+
category: "Productivity"
|
|
644
|
+
},
|
|
645
|
+
trello: {
|
|
646
|
+
description: "Manage Trello boards, lists, and cards",
|
|
647
|
+
category: "Productivity"
|
|
648
|
+
},
|
|
649
|
+
typeform: {
|
|
650
|
+
description: "Create and manage Typeform surveys and responses",
|
|
651
|
+
category: "Business"
|
|
652
|
+
},
|
|
653
|
+
webflow: {
|
|
654
|
+
description: "Manage Webflow sites, collections, and CMS content",
|
|
655
|
+
category: "Engineering"
|
|
656
|
+
},
|
|
657
|
+
workday: {
|
|
658
|
+
description: "Read Workday HR data including workers, organizations, and pay",
|
|
659
|
+
category: "Business"
|
|
660
|
+
},
|
|
661
|
+
xero: {
|
|
662
|
+
description: "Manage Xero invoices, contacts, and accounting data",
|
|
663
|
+
category: "Finance"
|
|
664
|
+
},
|
|
665
|
+
zapier: {
|
|
666
|
+
description: "Trigger and manage Zapier automation workflows",
|
|
667
|
+
category: "Engineering"
|
|
452
668
|
}
|
|
453
669
|
};
|
|
454
670
|
});
|
|
@@ -2340,6 +2556,148 @@ class IndexedDBStorage {
|
|
|
2340
2556
|
|
|
2341
2557
|
// ../oauth/manager.ts
|
|
2342
2558
|
init_email_fetcher();
|
|
2559
|
+
|
|
2560
|
+
// ../oauth/refresh.ts
|
|
2561
|
+
class RefreshRejectedError extends Error {
|
|
2562
|
+
provider;
|
|
2563
|
+
constructor(provider, message) {
|
|
2564
|
+
super(message ?? `OAuth refresh rejected (invalid_grant) for ${provider}`);
|
|
2565
|
+
this.name = "RefreshRejectedError";
|
|
2566
|
+
this.provider = provider;
|
|
2567
|
+
}
|
|
2568
|
+
}
|
|
2569
|
+
|
|
2570
|
+
class RefreshTransientError extends Error {
|
|
2571
|
+
provider;
|
|
2572
|
+
constructor(provider, message) {
|
|
2573
|
+
super(message);
|
|
2574
|
+
this.name = "RefreshTransientError";
|
|
2575
|
+
this.provider = provider;
|
|
2576
|
+
}
|
|
2577
|
+
}
|
|
2578
|
+
var DEFAULT_REFRESH_WINDOW_MS = 2 * 60 * 1000;
|
|
2579
|
+
function shouldRefreshToken(tokenData, windowMs = DEFAULT_REFRESH_WINDOW_MS) {
|
|
2580
|
+
if (!tokenData || !tokenData.refreshToken || !tokenData.expiresAt) {
|
|
2581
|
+
return false;
|
|
2582
|
+
}
|
|
2583
|
+
const expiresAtMs = Date.parse(tokenData.expiresAt);
|
|
2584
|
+
if (Number.isNaN(expiresAtMs)) {
|
|
2585
|
+
return false;
|
|
2586
|
+
}
|
|
2587
|
+
return expiresAtMs - Date.now() <= windowMs;
|
|
2588
|
+
}
|
|
2589
|
+
async function refreshViaMcp(opts) {
|
|
2590
|
+
const url = new URL("/oauth/refresh", opts.serverUrl);
|
|
2591
|
+
const body = {
|
|
2592
|
+
provider: opts.provider,
|
|
2593
|
+
refresh_token: opts.refreshToken,
|
|
2594
|
+
client_id: opts.clientId
|
|
2595
|
+
};
|
|
2596
|
+
if (opts.clientSecret) {
|
|
2597
|
+
body.client_secret = opts.clientSecret;
|
|
2598
|
+
}
|
|
2599
|
+
if (opts.subdomain) {
|
|
2600
|
+
body.subdomain = opts.subdomain;
|
|
2601
|
+
}
|
|
2602
|
+
if (opts.extraConfig) {
|
|
2603
|
+
for (const [key, value] of Object.entries(opts.extraConfig)) {
|
|
2604
|
+
if (body[key] === undefined) {
|
|
2605
|
+
body[key] = value;
|
|
2606
|
+
}
|
|
2607
|
+
}
|
|
2608
|
+
}
|
|
2609
|
+
const headers = { "Content-Type": "application/json" };
|
|
2610
|
+
if (opts.apiKey) {
|
|
2611
|
+
headers["X-API-KEY"] = opts.apiKey;
|
|
2612
|
+
}
|
|
2613
|
+
let response;
|
|
2614
|
+
try {
|
|
2615
|
+
response = await fetch(url.toString(), {
|
|
2616
|
+
method: "POST",
|
|
2617
|
+
headers,
|
|
2618
|
+
body: JSON.stringify(body),
|
|
2619
|
+
signal: opts.signal
|
|
2620
|
+
});
|
|
2621
|
+
} catch (err) {
|
|
2622
|
+
throw new RefreshTransientError(opts.provider, `Network error refreshing ${opts.provider} token: ${err.message}`);
|
|
2623
|
+
}
|
|
2624
|
+
if (response.status === 401) {
|
|
2625
|
+
let parsed = {};
|
|
2626
|
+
try {
|
|
2627
|
+
parsed = await response.json();
|
|
2628
|
+
} catch {}
|
|
2629
|
+
if (parsed.error === "invalid_grant") {
|
|
2630
|
+
throw new RefreshRejectedError(opts.provider);
|
|
2631
|
+
}
|
|
2632
|
+
throw new RefreshTransientError(opts.provider, `Refresh endpoint returned 401`);
|
|
2633
|
+
}
|
|
2634
|
+
if (!response.ok) {
|
|
2635
|
+
let text = "";
|
|
2636
|
+
try {
|
|
2637
|
+
text = await response.text();
|
|
2638
|
+
} catch {}
|
|
2639
|
+
throw new RefreshTransientError(opts.provider, `Refresh endpoint returned ${response.status}: ${text || "<no body>"}`);
|
|
2640
|
+
}
|
|
2641
|
+
let result;
|
|
2642
|
+
try {
|
|
2643
|
+
result = await response.json();
|
|
2644
|
+
} catch (err) {
|
|
2645
|
+
throw new RefreshTransientError(opts.provider, `Malformed refresh response: ${err.message}`);
|
|
2646
|
+
}
|
|
2647
|
+
if (!result.accessToken) {
|
|
2648
|
+
throw new RefreshTransientError(opts.provider, `Refresh response missing access_token`);
|
|
2649
|
+
}
|
|
2650
|
+
if (!result.refreshToken) {
|
|
2651
|
+
result.refreshToken = opts.refreshToken;
|
|
2652
|
+
}
|
|
2653
|
+
return result;
|
|
2654
|
+
}
|
|
2655
|
+
async function resolveAccessToken(opts) {
|
|
2656
|
+
const { provider, currentTokens, force = false } = opts;
|
|
2657
|
+
const needsRefresh = force || shouldRefreshToken(currentTokens, opts.windowMs);
|
|
2658
|
+
if (!needsRefresh || !currentTokens.refreshToken) {
|
|
2659
|
+
return currentTokens.accessToken;
|
|
2660
|
+
}
|
|
2661
|
+
try {
|
|
2662
|
+
const refreshed = await refreshViaMcp({
|
|
2663
|
+
provider,
|
|
2664
|
+
refreshToken: currentTokens.refreshToken,
|
|
2665
|
+
clientId: opts.providerOAuth.clientId,
|
|
2666
|
+
clientSecret: opts.providerOAuth.clientSecret,
|
|
2667
|
+
subdomain: opts.providerOAuth.subdomain,
|
|
2668
|
+
extraConfig: opts.providerOAuth.extraConfig,
|
|
2669
|
+
serverUrl: opts.serverUrl,
|
|
2670
|
+
apiKey: opts.apiKey
|
|
2671
|
+
});
|
|
2672
|
+
const updated = {
|
|
2673
|
+
...currentTokens,
|
|
2674
|
+
accessToken: refreshed.accessToken,
|
|
2675
|
+
refreshToken: refreshed.refreshToken ?? currentTokens.refreshToken,
|
|
2676
|
+
tokenType: refreshed.tokenType || currentTokens.tokenType,
|
|
2677
|
+
expiresIn: refreshed.expiresIn ?? currentTokens.expiresIn,
|
|
2678
|
+
expiresAt: refreshed.expiresAt ?? currentTokens.expiresAt,
|
|
2679
|
+
scopes: refreshed.scopes && refreshed.scopes.length > 0 ? refreshed.scopes : currentTokens.scopes
|
|
2680
|
+
};
|
|
2681
|
+
if (opts.setProviderToken) {
|
|
2682
|
+
try {
|
|
2683
|
+
await opts.setProviderToken(provider, updated, updated.email, opts.context);
|
|
2684
|
+
} catch {}
|
|
2685
|
+
}
|
|
2686
|
+
return updated.accessToken;
|
|
2687
|
+
} catch (err) {
|
|
2688
|
+
if (err instanceof RefreshRejectedError) {
|
|
2689
|
+
if (opts.setProviderToken) {
|
|
2690
|
+
try {
|
|
2691
|
+
await opts.setProviderToken(provider, null, currentTokens.email, opts.context);
|
|
2692
|
+
} catch {}
|
|
2693
|
+
}
|
|
2694
|
+
throw err;
|
|
2695
|
+
}
|
|
2696
|
+
return currentTokens.accessToken;
|
|
2697
|
+
}
|
|
2698
|
+
}
|
|
2699
|
+
|
|
2700
|
+
// ../oauth/manager.ts
|
|
2343
2701
|
init_logger();
|
|
2344
2702
|
var logger6 = createLogger("OAuth");
|
|
2345
2703
|
|
|
@@ -2355,7 +2713,10 @@ class OAuthManager {
|
|
|
2355
2713
|
removeTokenCallback;
|
|
2356
2714
|
indexedDBStorage;
|
|
2357
2715
|
skipLocalStorage = false;
|
|
2358
|
-
|
|
2716
|
+
providerOAuth = {};
|
|
2717
|
+
mcpServerUrl;
|
|
2718
|
+
mcpApiKey;
|
|
2719
|
+
constructor(oauthApiBase, flowConfig, apiBaseUrl, tokenCallbacks, refreshConfig) {
|
|
2359
2720
|
this.oauthApiBase = oauthApiBase;
|
|
2360
2721
|
this.apiBaseUrl = apiBaseUrl;
|
|
2361
2722
|
this.windowManager = new OAuthWindowManager;
|
|
@@ -2367,6 +2728,9 @@ class OAuthManager {
|
|
|
2367
2728
|
this.getTokenCallback = tokenCallbacks?.getProviderToken;
|
|
2368
2729
|
this.setTokenCallback = tokenCallbacks?.setProviderToken;
|
|
2369
2730
|
this.removeTokenCallback = tokenCallbacks?.removeProviderToken;
|
|
2731
|
+
this.providerOAuth = refreshConfig?.providers ?? {};
|
|
2732
|
+
this.mcpServerUrl = refreshConfig?.mcpServerUrl;
|
|
2733
|
+
this.mcpApiKey = refreshConfig?.apiKey;
|
|
2370
2734
|
this.indexedDBStorage = new IndexedDBStorage;
|
|
2371
2735
|
this.cleanupExpiredPendingAuths();
|
|
2372
2736
|
}
|
|
@@ -2576,7 +2940,9 @@ class OAuthManager {
|
|
|
2576
2940
|
try {
|
|
2577
2941
|
const tokenData = await this.getTokenCallback(provider, email, context);
|
|
2578
2942
|
if (tokenData) {
|
|
2579
|
-
this.
|
|
2943
|
+
const refreshed = await this.maybeRefreshTokenData(provider, tokenData, context);
|
|
2944
|
+
this.providerTokens.set(provider, refreshed);
|
|
2945
|
+
return refreshed;
|
|
2580
2946
|
}
|
|
2581
2947
|
return tokenData;
|
|
2582
2948
|
} catch (error) {
|
|
@@ -2616,6 +2982,59 @@ class OAuthManager {
|
|
|
2616
2982
|
}
|
|
2617
2983
|
await this.saveProviderToken(provider, tokenData, tokenEmail, context);
|
|
2618
2984
|
}
|
|
2985
|
+
configureTokenRefresh(refreshConfig) {
|
|
2986
|
+
if (refreshConfig.providers) {
|
|
2987
|
+
this.providerOAuth = refreshConfig.providers;
|
|
2988
|
+
}
|
|
2989
|
+
if (refreshConfig.mcpServerUrl !== undefined) {
|
|
2990
|
+
this.mcpServerUrl = refreshConfig.mcpServerUrl;
|
|
2991
|
+
}
|
|
2992
|
+
if (refreshConfig.apiKey !== undefined) {
|
|
2993
|
+
this.mcpApiKey = refreshConfig.apiKey;
|
|
2994
|
+
}
|
|
2995
|
+
}
|
|
2996
|
+
async maybeRefreshTokenData(provider, tokenData, context) {
|
|
2997
|
+
const credentials = this.providerOAuth[provider];
|
|
2998
|
+
const serverUrl = this.mcpServerUrl;
|
|
2999
|
+
if (!credentials || !serverUrl) {
|
|
3000
|
+
return tokenData;
|
|
3001
|
+
}
|
|
3002
|
+
if (!shouldRefreshToken(tokenData)) {
|
|
3003
|
+
return tokenData;
|
|
3004
|
+
}
|
|
3005
|
+
try {
|
|
3006
|
+
const newAccessToken = await resolveAccessToken({
|
|
3007
|
+
provider,
|
|
3008
|
+
currentTokens: tokenData,
|
|
3009
|
+
providerOAuth: {
|
|
3010
|
+
clientId: credentials.clientId,
|
|
3011
|
+
clientSecret: credentials.clientSecret,
|
|
3012
|
+
subdomain: credentials.config?.subdomain
|
|
3013
|
+
},
|
|
3014
|
+
serverUrl,
|
|
3015
|
+
apiKey: this.mcpApiKey,
|
|
3016
|
+
setProviderToken: this.setTokenCallback,
|
|
3017
|
+
context
|
|
3018
|
+
});
|
|
3019
|
+
if (newAccessToken === tokenData.accessToken) {
|
|
3020
|
+
return tokenData;
|
|
3021
|
+
}
|
|
3022
|
+
if (this.getTokenCallback) {
|
|
3023
|
+
try {
|
|
3024
|
+
const reloaded = await this.getTokenCallback(provider, tokenData.email, context);
|
|
3025
|
+
if (reloaded) {
|
|
3026
|
+
return reloaded;
|
|
3027
|
+
}
|
|
3028
|
+
} catch {}
|
|
3029
|
+
}
|
|
3030
|
+
return { ...tokenData, accessToken: newAccessToken };
|
|
3031
|
+
} catch (err) {
|
|
3032
|
+
if (err instanceof RefreshRejectedError) {
|
|
3033
|
+
throw err;
|
|
3034
|
+
}
|
|
3035
|
+
return tokenData;
|
|
3036
|
+
}
|
|
3037
|
+
}
|
|
2619
3038
|
clearProviderToken(provider) {
|
|
2620
3039
|
this.providerTokens.delete(provider);
|
|
2621
3040
|
if (!this.setTokenCallback && !this.removeTokenCallback && !this.skipLocalStorage) {
|
|
@@ -3072,10 +3491,26 @@ class MCPClientBase {
|
|
|
3072
3491
|
};
|
|
3073
3492
|
this.onReauthRequired = config.onReauthRequired;
|
|
3074
3493
|
this.maxReauthRetries = config.maxReauthRetries ?? 1;
|
|
3494
|
+
const refreshProviders = {};
|
|
3495
|
+
for (const integration of this.integrations) {
|
|
3496
|
+
const oauth = integration?.oauth;
|
|
3497
|
+
if (oauth?.clientId && oauth?.provider) {
|
|
3498
|
+
refreshProviders[oauth.provider] = {
|
|
3499
|
+
clientId: oauth.clientId,
|
|
3500
|
+
clientSecret: oauth.clientSecret,
|
|
3501
|
+
config: oauth.config
|
|
3502
|
+
};
|
|
3503
|
+
}
|
|
3504
|
+
}
|
|
3505
|
+
const mcpServerUrl = config.serverUrl;
|
|
3075
3506
|
this.oauthManager = new OAuthManager(oauthApiBase, config.oauthFlow, this.apiBaseUrl, {
|
|
3076
3507
|
getProviderToken: config.getProviderToken,
|
|
3077
3508
|
setProviderToken: config.setProviderToken,
|
|
3078
3509
|
removeProviderToken: config.removeProviderToken
|
|
3510
|
+
}, {
|
|
3511
|
+
providers: refreshProviders,
|
|
3512
|
+
mcpServerUrl,
|
|
3513
|
+
apiKey: config.apiKey
|
|
3079
3514
|
});
|
|
3080
3515
|
this.setSessionToken(config.sessionToken || this.loadSessionTokenFromStorage());
|
|
3081
3516
|
for (const integration of this.integrations) {
|
|
@@ -3136,56 +3571,8 @@ class MCPClientBase {
|
|
|
3136
3571
|
}
|
|
3137
3572
|
}
|
|
3138
3573
|
const integrationIds = this.integrations.map((i) => i.id);
|
|
3139
|
-
|
|
3140
|
-
this
|
|
3141
|
-
}
|
|
3142
|
-
if (integrationIds.includes("gmail")) {
|
|
3143
|
-
this.gmail = this.createIntegrationProxy("gmail");
|
|
3144
|
-
}
|
|
3145
|
-
if (integrationIds.includes("notion")) {
|
|
3146
|
-
this.notion = this.createIntegrationProxy("notion");
|
|
3147
|
-
}
|
|
3148
|
-
if (integrationIds.includes("slack")) {
|
|
3149
|
-
this.slack = this.createIntegrationProxy("slack");
|
|
3150
|
-
}
|
|
3151
|
-
if (integrationIds.includes("linear")) {
|
|
3152
|
-
this.linear = this.createIntegrationProxy("linear");
|
|
3153
|
-
}
|
|
3154
|
-
if (integrationIds.includes("railway")) {
|
|
3155
|
-
this.railway = this.createIntegrationProxy("railway");
|
|
3156
|
-
}
|
|
3157
|
-
if (integrationIds.includes("vercel")) {
|
|
3158
|
-
this.vercel = this.createIntegrationProxy("vercel");
|
|
3159
|
-
}
|
|
3160
|
-
if (integrationIds.includes("zendesk")) {
|
|
3161
|
-
this.zendesk = this.createIntegrationProxy("zendesk");
|
|
3162
|
-
}
|
|
3163
|
-
if (integrationIds.includes("stripe")) {
|
|
3164
|
-
this.stripe = this.createIntegrationProxy("stripe");
|
|
3165
|
-
}
|
|
3166
|
-
if (integrationIds.includes("gcal")) {
|
|
3167
|
-
this.gcal = this.createIntegrationProxy("gcal");
|
|
3168
|
-
}
|
|
3169
|
-
if (integrationIds.includes("outlook")) {
|
|
3170
|
-
this.outlook = this.createIntegrationProxy("outlook");
|
|
3171
|
-
}
|
|
3172
|
-
if (integrationIds.includes("airtable")) {
|
|
3173
|
-
this.airtable = this.createIntegrationProxy("airtable");
|
|
3174
|
-
}
|
|
3175
|
-
if (integrationIds.includes("todoist")) {
|
|
3176
|
-
this.todoist = this.createIntegrationProxy("todoist");
|
|
3177
|
-
}
|
|
3178
|
-
if (integrationIds.includes("gdocs")) {
|
|
3179
|
-
this.gdocs = this.createIntegrationProxy("gdocs");
|
|
3180
|
-
}
|
|
3181
|
-
if (integrationIds.includes("gsheets")) {
|
|
3182
|
-
this.gsheets = this.createIntegrationProxy("gsheets");
|
|
3183
|
-
}
|
|
3184
|
-
if (integrationIds.includes("gslides")) {
|
|
3185
|
-
this.gslides = this.createIntegrationProxy("gslides");
|
|
3186
|
-
}
|
|
3187
|
-
if (integrationIds.includes("posthog")) {
|
|
3188
|
-
this.posthog = this.createIntegrationProxy("posthog");
|
|
3574
|
+
for (const id of integrationIds) {
|
|
3575
|
+
this[id] = this.createIntegrationProxy(id);
|
|
3189
3576
|
}
|
|
3190
3577
|
this.server = this.createServerProxy();
|
|
3191
3578
|
this.trigger = new TriggerClient({
|
|
@@ -3948,108 +4335,252 @@ init_logger();
|
|
|
3948
4335
|
// ../integrations/github.ts
|
|
3949
4336
|
init_logger();
|
|
3950
4337
|
var logger8 = createLogger("GitHub");
|
|
4338
|
+
// ../integrations/gitlab.ts
|
|
4339
|
+
init_logger();
|
|
4340
|
+
var logger9 = createLogger("GitLab");
|
|
3951
4341
|
// ../integrations/gmail.ts
|
|
3952
4342
|
init_logger();
|
|
3953
|
-
var
|
|
4343
|
+
var logger10 = createLogger("Gmail");
|
|
3954
4344
|
// ../integrations/notion.ts
|
|
3955
4345
|
init_logger();
|
|
3956
|
-
var
|
|
4346
|
+
var logger11 = createLogger("Notion");
|
|
3957
4347
|
// ../integrations/slack.ts
|
|
3958
4348
|
init_logger();
|
|
3959
|
-
var
|
|
4349
|
+
var logger12 = createLogger("Slack");
|
|
4350
|
+
// ../integrations/discord.ts
|
|
4351
|
+
init_logger();
|
|
4352
|
+
var logger13 = createLogger("Discord");
|
|
3960
4353
|
// ../integrations/linear.ts
|
|
3961
4354
|
init_logger();
|
|
3962
|
-
var
|
|
4355
|
+
var logger14 = createLogger("Linear");
|
|
3963
4356
|
// ../integrations/railway.ts
|
|
3964
4357
|
init_logger();
|
|
3965
|
-
var
|
|
4358
|
+
var logger15 = createLogger("Railway");
|
|
3966
4359
|
// ../integrations/vercel.ts
|
|
3967
4360
|
init_logger();
|
|
3968
|
-
var
|
|
4361
|
+
var logger16 = createLogger("Vercel");
|
|
3969
4362
|
// ../integrations/zendesk.ts
|
|
3970
4363
|
init_logger();
|
|
3971
|
-
var
|
|
4364
|
+
var logger17 = createLogger("Zendesk");
|
|
3972
4365
|
// ../integrations/stripe.ts
|
|
3973
4366
|
init_logger();
|
|
3974
|
-
var
|
|
4367
|
+
var logger18 = createLogger("Stripe");
|
|
3975
4368
|
// ../integrations/gcal.ts
|
|
3976
4369
|
init_logger();
|
|
3977
|
-
var
|
|
4370
|
+
var logger19 = createLogger("Google Calendar");
|
|
4371
|
+
// ../integrations/gcontacts.ts
|
|
4372
|
+
init_logger();
|
|
4373
|
+
var logger20 = createLogger("Google Contacts");
|
|
4374
|
+
// ../integrations/gmeet.ts
|
|
4375
|
+
init_logger();
|
|
4376
|
+
var logger21 = createLogger("Google Meet");
|
|
4377
|
+
// ../integrations/gtasks.ts
|
|
4378
|
+
init_logger();
|
|
4379
|
+
var logger22 = createLogger("Google Tasks");
|
|
3978
4380
|
// ../integrations/outlook.ts
|
|
3979
4381
|
init_logger();
|
|
3980
|
-
var
|
|
4382
|
+
var logger23 = createLogger("Outlook");
|
|
4383
|
+
// ../integrations/teams.ts
|
|
4384
|
+
init_logger();
|
|
4385
|
+
var logger24 = createLogger("Teams");
|
|
3981
4386
|
// ../integrations/airtable.ts
|
|
3982
4387
|
init_logger();
|
|
3983
|
-
var
|
|
4388
|
+
var logger25 = createLogger("Airtable");
|
|
4389
|
+
// ../integrations/auth0.ts
|
|
4390
|
+
init_logger();
|
|
4391
|
+
var logger26 = createLogger("Auth0");
|
|
4392
|
+
// ../integrations/astronomer.ts
|
|
4393
|
+
init_logger();
|
|
4394
|
+
var logger27 = createLogger("Astronomer");
|
|
4395
|
+
// ../integrations/betterstack.ts
|
|
4396
|
+
init_logger();
|
|
4397
|
+
var logger28 = createLogger("BetterStack");
|
|
3984
4398
|
// ../integrations/todoist.ts
|
|
3985
4399
|
init_logger();
|
|
3986
|
-
var
|
|
4400
|
+
var logger29 = createLogger("Todoist");
|
|
3987
4401
|
// ../integrations/whatsapp.ts
|
|
3988
4402
|
init_logger();
|
|
3989
|
-
var
|
|
4403
|
+
var logger30 = createLogger("WhatsApp");
|
|
3990
4404
|
// ../integrations/calcom.ts
|
|
3991
4405
|
init_logger();
|
|
3992
|
-
var
|
|
4406
|
+
var logger31 = createLogger("Cal.com");
|
|
3993
4407
|
// ../integrations/ramp.ts
|
|
3994
4408
|
init_logger();
|
|
3995
|
-
var
|
|
4409
|
+
var logger32 = createLogger("Ramp");
|
|
3996
4410
|
// ../integrations/onedrive.ts
|
|
3997
4411
|
init_logger();
|
|
3998
|
-
var
|
|
4412
|
+
var logger33 = createLogger("OneDrive");
|
|
4413
|
+
// ../integrations/sharepoint.ts
|
|
4414
|
+
init_logger();
|
|
4415
|
+
var logger34 = createLogger("SharePoint");
|
|
3999
4416
|
// ../integrations/dropbox.ts
|
|
4000
4417
|
init_logger();
|
|
4001
|
-
var
|
|
4418
|
+
var logger35 = createLogger("Dropbox");
|
|
4419
|
+
// ../integrations/paper.ts
|
|
4420
|
+
init_logger();
|
|
4421
|
+
var logger36 = createLogger("Paper");
|
|
4002
4422
|
// ../integrations/word.ts
|
|
4003
4423
|
init_logger();
|
|
4004
|
-
var
|
|
4424
|
+
var logger37 = createLogger("Word");
|
|
4005
4425
|
// ../integrations/excel.ts
|
|
4006
4426
|
init_logger();
|
|
4007
|
-
var
|
|
4427
|
+
var logger38 = createLogger("Excel");
|
|
4008
4428
|
// ../integrations/powerpoint.ts
|
|
4009
4429
|
init_logger();
|
|
4010
|
-
var
|
|
4430
|
+
var logger39 = createLogger("PowerPoint");
|
|
4011
4431
|
// ../integrations/gdocs.ts
|
|
4012
4432
|
init_logger();
|
|
4013
|
-
var
|
|
4433
|
+
var logger40 = createLogger("Google Docs");
|
|
4014
4434
|
// ../integrations/gdrive.ts
|
|
4015
4435
|
init_logger();
|
|
4016
|
-
var
|
|
4436
|
+
var logger41 = createLogger("Google Drive");
|
|
4017
4437
|
// ../integrations/gsheets.ts
|
|
4018
4438
|
init_logger();
|
|
4019
|
-
var
|
|
4439
|
+
var logger42 = createLogger("Google Sheets");
|
|
4020
4440
|
// ../integrations/gslides.ts
|
|
4021
4441
|
init_logger();
|
|
4022
|
-
var
|
|
4442
|
+
var logger43 = createLogger("Google Slides");
|
|
4023
4443
|
// ../integrations/polar.ts
|
|
4024
4444
|
init_logger();
|
|
4025
|
-
var
|
|
4445
|
+
var logger44 = createLogger("Polar");
|
|
4446
|
+
// ../integrations/phantom.ts
|
|
4447
|
+
init_logger();
|
|
4448
|
+
var logger45 = createLogger("Phantom");
|
|
4026
4449
|
// ../integrations/figma.ts
|
|
4027
4450
|
init_logger();
|
|
4028
|
-
var
|
|
4451
|
+
var logger46 = createLogger("Figma");
|
|
4029
4452
|
// ../integrations/intercom.ts
|
|
4030
4453
|
init_logger();
|
|
4031
|
-
var
|
|
4454
|
+
var logger47 = createLogger("Intercom");
|
|
4032
4455
|
// ../integrations/hubspot.ts
|
|
4033
4456
|
init_logger();
|
|
4034
|
-
var
|
|
4457
|
+
var logger48 = createLogger("HubSpot");
|
|
4035
4458
|
// ../integrations/youtube.ts
|
|
4036
4459
|
init_logger();
|
|
4037
|
-
var
|
|
4460
|
+
var logger49 = createLogger("YouTube");
|
|
4461
|
+
// ../integrations/zoom.ts
|
|
4462
|
+
init_logger();
|
|
4463
|
+
var logger50 = createLogger("Zoom");
|
|
4038
4464
|
// ../integrations/cursor.ts
|
|
4039
4465
|
init_logger();
|
|
4040
|
-
var
|
|
4466
|
+
var logger51 = createLogger("Cursor");
|
|
4467
|
+
// ../integrations/databricks.ts
|
|
4468
|
+
init_logger();
|
|
4469
|
+
var logger52 = createLogger("Databricks");
|
|
4041
4470
|
// ../integrations/posthog.ts
|
|
4042
4471
|
init_logger();
|
|
4043
|
-
var
|
|
4472
|
+
var logger53 = createLogger("PostHog");
|
|
4473
|
+
// ../integrations/postman.ts
|
|
4474
|
+
init_logger();
|
|
4475
|
+
var logger54 = createLogger("Postman");
|
|
4044
4476
|
// ../integrations/sentry.ts
|
|
4045
4477
|
init_logger();
|
|
4046
|
-
var
|
|
4478
|
+
var logger55 = createLogger("Sentry");
|
|
4479
|
+
// ../integrations/supabase.ts
|
|
4480
|
+
init_logger();
|
|
4481
|
+
var logger56 = createLogger("Supabase");
|
|
4047
4482
|
// ../integrations/netlify.ts
|
|
4048
4483
|
init_logger();
|
|
4049
|
-
var
|
|
4484
|
+
var logger57 = createLogger("Netlify");
|
|
4485
|
+
// ../integrations/datadog.ts
|
|
4486
|
+
init_logger();
|
|
4487
|
+
var logger58 = createLogger("Datadog");
|
|
4488
|
+
// ../integrations/redis.ts
|
|
4489
|
+
init_logger();
|
|
4490
|
+
var logger59 = createLogger("Redis Cloud");
|
|
4491
|
+
// ../integrations/upstash.ts
|
|
4492
|
+
init_logger();
|
|
4493
|
+
var logger60 = createLogger("Upstash");
|
|
4494
|
+
// ../integrations/webflow.ts
|
|
4495
|
+
init_logger();
|
|
4496
|
+
var logger61 = createLogger("Webflow");
|
|
4050
4497
|
// ../integrations/jira.ts
|
|
4051
4498
|
init_logger();
|
|
4052
|
-
var
|
|
4499
|
+
var logger62 = createLogger("Jira");
|
|
4500
|
+
// ../integrations/salesforce.ts
|
|
4501
|
+
init_logger();
|
|
4502
|
+
var logger63 = createLogger("Salesforce");
|
|
4503
|
+
// ../integrations/zapier.ts
|
|
4504
|
+
init_logger();
|
|
4505
|
+
var logger64 = createLogger("Zapier");
|
|
4506
|
+
// ../integrations/linkedin.ts
|
|
4507
|
+
init_logger();
|
|
4508
|
+
var logger65 = createLogger("LinkedIn");
|
|
4509
|
+
// ../integrations/threads.ts
|
|
4510
|
+
init_logger();
|
|
4511
|
+
var logger66 = createLogger("Threads");
|
|
4512
|
+
// ../integrations/tiktok.ts
|
|
4513
|
+
init_logger();
|
|
4514
|
+
var logger67 = createLogger("TikTok");
|
|
4515
|
+
// ../integrations/trello.ts
|
|
4516
|
+
init_logger();
|
|
4517
|
+
var logger68 = createLogger("Trello");
|
|
4518
|
+
// ../integrations/typeform.ts
|
|
4519
|
+
init_logger();
|
|
4520
|
+
var logger69 = createLogger("Typeform");
|
|
4521
|
+
// ../integrations/xero.ts
|
|
4522
|
+
init_logger();
|
|
4523
|
+
var logger70 = createLogger("Xero");
|
|
4524
|
+
// ../integrations/attio.ts
|
|
4525
|
+
init_logger();
|
|
4526
|
+
var logger71 = createLogger("Attio");
|
|
4527
|
+
// ../integrations/gchat.ts
|
|
4528
|
+
init_logger();
|
|
4529
|
+
var logger72 = createLogger("Google Chat");
|
|
4530
|
+
// ../integrations/shopify.ts
|
|
4531
|
+
init_logger();
|
|
4532
|
+
var logger73 = createLogger("Shopify");
|
|
4533
|
+
// ../integrations/convex.ts
|
|
4534
|
+
init_logger();
|
|
4535
|
+
var logger74 = createLogger("Convex");
|
|
4536
|
+
// ../integrations/etoro.ts
|
|
4537
|
+
init_logger();
|
|
4538
|
+
var logger75 = createLogger("eToro");
|
|
4539
|
+
// ../integrations/alpaca.ts
|
|
4540
|
+
init_logger();
|
|
4541
|
+
var logger76 = createLogger("Alpaca");
|
|
4542
|
+
// ../integrations/neon.ts
|
|
4543
|
+
init_logger();
|
|
4544
|
+
var logger77 = createLogger("Neon");
|
|
4545
|
+
// ../integrations/aws.ts
|
|
4546
|
+
init_logger();
|
|
4547
|
+
var logger78 = createLogger("AWS");
|
|
4548
|
+
// ../integrations/wix.ts
|
|
4549
|
+
init_logger();
|
|
4550
|
+
var logger79 = createLogger("Wix");
|
|
4551
|
+
// ../integrations/monday.ts
|
|
4552
|
+
init_logger();
|
|
4553
|
+
var logger80 = createLogger("Monday");
|
|
4554
|
+
// ../integrations/binance.ts
|
|
4555
|
+
init_logger();
|
|
4556
|
+
var logger81 = createLogger("Binance");
|
|
4557
|
+
// ../integrations/canva.ts
|
|
4558
|
+
init_logger();
|
|
4559
|
+
var logger82 = createLogger("Canva");
|
|
4560
|
+
// ../integrations/clerk.ts
|
|
4561
|
+
init_logger();
|
|
4562
|
+
var logger83 = createLogger("Clerk");
|
|
4563
|
+
// ../integrations/clickup.ts
|
|
4564
|
+
init_logger();
|
|
4565
|
+
var logger84 = createLogger("ClickUp");
|
|
4566
|
+
// ../integrations/cloudflare.ts
|
|
4567
|
+
init_logger();
|
|
4568
|
+
var logger85 = createLogger("Cloudflare");
|
|
4569
|
+
// ../integrations/instagram.ts
|
|
4570
|
+
init_logger();
|
|
4571
|
+
var logger86 = createLogger("Instagram");
|
|
4572
|
+
// ../integrations/facebook.ts
|
|
4573
|
+
init_logger();
|
|
4574
|
+
var logger87 = createLogger("Facebook");
|
|
4575
|
+
// ../integrations/resend.ts
|
|
4576
|
+
init_logger();
|
|
4577
|
+
var logger88 = createLogger("Resend");
|
|
4578
|
+
// ../integrations/workday.ts
|
|
4579
|
+
init_logger();
|
|
4580
|
+
var logger89 = createLogger("Workday");
|
|
4581
|
+
// ../integrations/workos.ts
|
|
4582
|
+
init_logger();
|
|
4583
|
+
var logger90 = createLogger("WorkOS");
|
|
4053
4584
|
// ../ai/trigger-tools.ts
|
|
4054
4585
|
init_utils();
|
|
4055
4586
|
|
|
@@ -4068,7 +4599,7 @@ init_tool_builder();
|
|
|
4068
4599
|
init_tool_builder();
|
|
4069
4600
|
// ../server.ts
|
|
4070
4601
|
var SERVER_LOG_CONTEXT3 = "server";
|
|
4071
|
-
var
|
|
4602
|
+
var logger91 = createLogger("MCPServer", SERVER_LOG_CONTEXT3);
|
|
4072
4603
|
var codeVerifierStorage = new Map;
|
|
4073
4604
|
var unauthenticatedCodeModeWarnings = new Set;
|
|
4074
4605
|
function toSolidStartHandler(clientOrHandlerOrOptions, _redirectOptions) {
|