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
|
@@ -48,6 +48,14 @@ export interface WordIntegrationClient {
|
|
|
48
48
|
/** Parent folder item ID (defaults to root) */
|
|
49
49
|
parent_id?: string;
|
|
50
50
|
}): Promise<MCPToolCallResponse>;
|
|
51
|
+
updateContent(params: {
|
|
52
|
+
/** Document item ID */
|
|
53
|
+
item_id: string;
|
|
54
|
+
/** Base64-encoded .docx bytes */
|
|
55
|
+
content: string;
|
|
56
|
+
/** MIME type override */
|
|
57
|
+
content_type?: string;
|
|
58
|
+
}): Promise<MCPToolCallResponse>;
|
|
51
59
|
/**
|
|
52
60
|
* Copy a Word document
|
|
53
61
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"word-client.d.ts","sourceRoot":"","sources":["../../../src/integrations/word-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;;OAOG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE;QACZ,+CAA+C;QAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,+BAA+B;QAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC;;;;;;;OAOG;IACH,GAAG,CAAC,MAAM,EAAE;QACV,uBAAuB;QACvB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,EAAE;QACb,0DAA0D;QAC1D,IAAI,EAAE,MAAM,CAAC;QACb,+CAA+C;QAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC;;;;;;;;;;OAUG;IACH,IAAI,CAAC,MAAM,EAAE;QACX,+BAA+B;QAC/B,OAAO,EAAE,MAAM,CAAC;QAChB,wBAAwB;QACxB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,iCAAiC;QACjC,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,EAAE;QACb,uBAAuB;QACvB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,EAAE;QACZ,uBAAuB;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,2CAA2C;QAC3C,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;QACjC,qDAAqD;QACrD,KAAK,CAAC,EAAE,WAAW,GAAG,cAAc,CAAC;KACtC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAClC"}
|
|
1
|
+
{"version":3,"file":"word-client.d.ts","sourceRoot":"","sources":["../../../src/integrations/word-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;;OAOG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE;QACZ,+CAA+C;QAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,+BAA+B;QAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC;;;;;;;OAOG;IACH,GAAG,CAAC,MAAM,EAAE;QACV,uBAAuB;QACvB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,EAAE;QACb,0DAA0D;QAC1D,IAAI,EAAE,MAAM,CAAC;QACb,+CAA+C;QAC/C,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC,aAAa,CAAC,MAAM,EAAE;QACpB,uBAAuB;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,iCAAiC;QACjC,OAAO,EAAE,MAAM,CAAC;QAChB,yBAAyB;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC;;;;;;;;;;OAUG;IACH,IAAI,CAAC,MAAM,EAAE;QACX,+BAA+B;QAC/B,OAAO,EAAE,MAAM,CAAC;QAChB,wBAAwB;QACxB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,iCAAiC;QACjC,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC;;;;;;;OAOG;IACH,MAAM,CAAC,MAAM,EAAE;QACb,uBAAuB;QACvB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,EAAE;QACZ,uBAAuB;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,2CAA2C;QAC3C,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;QACjC,qDAAqD;QACrD,KAAK,CAAC,EAAE,WAAW,GAAG,cAAc,CAAC;KACtC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAClC"}
|
|
@@ -15,7 +15,7 @@ export interface WordIntegrationConfig {
|
|
|
15
15
|
/** OAuth redirect URI */
|
|
16
16
|
redirectUri?: string;
|
|
17
17
|
}
|
|
18
|
-
declare const WORD_TOOLS: readonly ["
|
|
18
|
+
declare const WORD_TOOLS: readonly ["word_copy", "word_create", "word_delete", "word_get", "word_list", "word_share", "word_update_content"];
|
|
19
19
|
export declare function wordIntegration(config?: WordIntegrationConfig): MCPIntegration<"word">;
|
|
20
20
|
export type WordTools = typeof WORD_TOOLS[number];
|
|
21
21
|
export type { WordIntegrationClient } from "./word-client.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"word.d.ts","sourceRoot":"","sources":["../../../src/integrations/word.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,YAAY,CAAC;AAM9D,MAAM,WAAW,qBAAqB;IACpC,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,4BAA4B;IAC5B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,QAAA,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"word.d.ts","sourceRoot":"","sources":["../../../src/integrations/word.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,YAAY,CAAC;AAM9D,MAAM,WAAW,qBAAqB;IACpC,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,4BAA4B;IAC5B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,QAAA,MAAM,UAAU,oHAQN,CAAC;AAEX,wBAAgB,eAAe,CAAC,MAAM,GAAE,qBAA0B,GAAG,cAAc,CAAC,MAAM,CAAC,CA0B1F;AAED,MAAM,MAAM,SAAS,GAAG,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;AAClD,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workday Integration Client Types
|
|
3
|
+
*/
|
|
4
|
+
import type { MCPToolCallResponse } from "../protocol/messages.js";
|
|
5
|
+
export interface WorkdayIntegrationClient {
|
|
6
|
+
listWorkers(params: {
|
|
7
|
+
hostname: string;
|
|
8
|
+
tenant: string;
|
|
9
|
+
limit?: number;
|
|
10
|
+
offset?: number;
|
|
11
|
+
}): Promise<MCPToolCallResponse>;
|
|
12
|
+
getWorker(params: {
|
|
13
|
+
hostname: string;
|
|
14
|
+
tenant: string;
|
|
15
|
+
worker_id: string;
|
|
16
|
+
}): Promise<MCPToolCallResponse>;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=workday-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workday-client.d.ts","sourceRoot":"","sources":["../../../src/integrations/workday-client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,MAAM,WAAW,wBAAwB;IACvC,WAAW,CAAC,MAAM,EAAE;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACjC,SAAS,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAC1G"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workday Integration
|
|
3
|
+
* Tenant-scoped OAuth and REST tools for Workday HCM
|
|
4
|
+
*/
|
|
5
|
+
import type { MCPIntegration } from "./types.js";
|
|
6
|
+
declare const WORKDAY_TOOLS: readonly ["workday_list_workers", "workday_get_worker"];
|
|
7
|
+
export interface WorkdayIntegrationConfig {
|
|
8
|
+
/** Workday OAuth client ID (defaults to WORKDAY_CLIENT_ID) */
|
|
9
|
+
clientId?: string;
|
|
10
|
+
/** Workday OAuth client secret (defaults to WORKDAY_CLIENT_SECRET) */
|
|
11
|
+
clientSecret?: string;
|
|
12
|
+
/** OAuth scopes (configure in Workday API Client; often empty or custom) */
|
|
13
|
+
scopes?: string[];
|
|
14
|
+
redirectUri?: string;
|
|
15
|
+
/**
|
|
16
|
+
* Tenant descriptor for OAuth: "hostname|tenant" from your Workday API Client page
|
|
17
|
+
* (e.g. "wd5-services1.workday.com|mycompany_dpt1"). Forwarded as `subdomain` to the MCP OAuth layer.
|
|
18
|
+
*/
|
|
19
|
+
subdomain?: string;
|
|
20
|
+
}
|
|
21
|
+
export declare function workdayIntegration(config?: WorkdayIntegrationConfig): MCPIntegration<"workday">;
|
|
22
|
+
export type WorkdayTools = (typeof WORKDAY_TOOLS)[number];
|
|
23
|
+
export type { WorkdayIntegrationClient } from "./workday-client.js";
|
|
24
|
+
//# sourceMappingURL=workday.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workday.d.ts","sourceRoot":"","sources":["../../../src/integrations/workday.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,YAAY,CAAC;AAM9D,QAAA,MAAM,aAAa,yDAGT,CAAC;AAEX,MAAM,WAAW,wBAAwB;IACvC,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,kBAAkB,CAAC,MAAM,GAAE,wBAA6B,GAAG,cAAc,CAAC,SAAS,CAAC,CA6BnG;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1D,YAAY,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WorkOS Integration Client Types
|
|
3
|
+
*/
|
|
4
|
+
import type { MCPToolCallResponse } from "../protocol/messages.js";
|
|
5
|
+
export interface WorkOSIntegrationClient {
|
|
6
|
+
listOrganizations(params?: {
|
|
7
|
+
before?: string;
|
|
8
|
+
after?: string;
|
|
9
|
+
limit?: number;
|
|
10
|
+
order?: string;
|
|
11
|
+
search?: string;
|
|
12
|
+
domains?: string;
|
|
13
|
+
}): Promise<MCPToolCallResponse>;
|
|
14
|
+
getOrganization(params: {
|
|
15
|
+
organization_id: string;
|
|
16
|
+
}): Promise<MCPToolCallResponse>;
|
|
17
|
+
createOrganization(params: {
|
|
18
|
+
name: string;
|
|
19
|
+
external_id?: string;
|
|
20
|
+
allow_profiles_outside_organization?: boolean;
|
|
21
|
+
metadata_json?: string;
|
|
22
|
+
domain_data_json?: string;
|
|
23
|
+
}): Promise<MCPToolCallResponse>;
|
|
24
|
+
updateOrganization(params: {
|
|
25
|
+
organization_id: string;
|
|
26
|
+
name?: string;
|
|
27
|
+
external_id?: string;
|
|
28
|
+
allow_profiles_outside_organization?: boolean;
|
|
29
|
+
metadata_json?: string;
|
|
30
|
+
}): Promise<MCPToolCallResponse>;
|
|
31
|
+
listUsers(params?: {
|
|
32
|
+
before?: string;
|
|
33
|
+
after?: string;
|
|
34
|
+
limit?: number;
|
|
35
|
+
order?: string;
|
|
36
|
+
organization_id?: string;
|
|
37
|
+
email?: string;
|
|
38
|
+
}): Promise<MCPToolCallResponse>;
|
|
39
|
+
getUser(params: {
|
|
40
|
+
user_id: string;
|
|
41
|
+
}): Promise<MCPToolCallResponse>;
|
|
42
|
+
listOrganizationMemberships(params: {
|
|
43
|
+
organization_id?: string;
|
|
44
|
+
user_id?: string;
|
|
45
|
+
before?: string;
|
|
46
|
+
after?: string;
|
|
47
|
+
limit?: number;
|
|
48
|
+
order?: string;
|
|
49
|
+
statuses?: string;
|
|
50
|
+
}): Promise<MCPToolCallResponse>;
|
|
51
|
+
listDirectories(params?: {
|
|
52
|
+
before?: string;
|
|
53
|
+
after?: string;
|
|
54
|
+
limit?: number;
|
|
55
|
+
order?: string;
|
|
56
|
+
organization_id?: string;
|
|
57
|
+
search?: string;
|
|
58
|
+
domain?: string;
|
|
59
|
+
}): Promise<MCPToolCallResponse>;
|
|
60
|
+
getDirectory(params: {
|
|
61
|
+
directory_id: string;
|
|
62
|
+
}): Promise<MCPToolCallResponse>;
|
|
63
|
+
listDirectoryUsers(params?: {
|
|
64
|
+
directory?: string;
|
|
65
|
+
group?: string;
|
|
66
|
+
before?: string;
|
|
67
|
+
after?: string;
|
|
68
|
+
limit?: number;
|
|
69
|
+
order?: string;
|
|
70
|
+
}): Promise<MCPToolCallResponse>;
|
|
71
|
+
getDirectoryUser(params: {
|
|
72
|
+
directory_user_id: string;
|
|
73
|
+
}): Promise<MCPToolCallResponse>;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=workos-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workos-client.d.ts","sourceRoot":"","sources":["../../../src/integrations/workos-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WorkOS Integration
|
|
3
|
+
* Enterprise SSO, directory sync, and AuthKit user management via API key.
|
|
4
|
+
*/
|
|
5
|
+
import type { MCPIntegration } from "./types.js";
|
|
6
|
+
declare const WORKOS_TOOLS: readonly ["workos_list_organizations", "workos_get_organization", "workos_create_organization", "workos_update_organization", "workos_list_users", "workos_get_user", "workos_list_organization_memberships", "workos_list_directories", "workos_get_directory", "workos_list_directory_users", "workos_get_directory_user"];
|
|
7
|
+
export interface WorkOSIntegrationOptions {
|
|
8
|
+
/** WorkOS API key (defaults to WORKOS_API_KEY env var) */
|
|
9
|
+
apiKey?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function workosIntegration(options?: WorkOSIntegrationOptions): MCPIntegration<"workos">;
|
|
12
|
+
export type WorkOSTools = (typeof WORKOS_TOOLS)[number];
|
|
13
|
+
export type { WorkOSIntegrationClient } from "./workos-client.js";
|
|
14
|
+
//# sourceMappingURL=workos.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workos.d.ts","sourceRoot":"","sources":["../../../src/integrations/workos.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAMjD,QAAA,MAAM,YAAY,8TAYR,CAAC;AAEX,MAAM,WAAW,wBAAwB;IACvC,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,wBAA6B,GAAG,cAAc,CAAC,QAAQ,CAAC,CA4BlG;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAExD,YAAY,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { MCPToolCallResponse } from "../protocol/messages.js";
|
|
2
|
+
export interface XeroIntegrationClient {
|
|
3
|
+
listConnections(params?: Record<string, never>): Promise<MCPToolCallResponse>;
|
|
4
|
+
getOrganisation(params: Record<string, unknown>): Promise<MCPToolCallResponse>;
|
|
5
|
+
listAccounts(params: Record<string, unknown>): Promise<MCPToolCallResponse>;
|
|
6
|
+
listContacts(params: Record<string, unknown>): Promise<MCPToolCallResponse>;
|
|
7
|
+
getContact(params: Record<string, unknown>): Promise<MCPToolCallResponse>;
|
|
8
|
+
createContact(params: Record<string, unknown>): Promise<MCPToolCallResponse>;
|
|
9
|
+
listInvoices(params: Record<string, unknown>): Promise<MCPToolCallResponse>;
|
|
10
|
+
getInvoice(params: Record<string, unknown>): Promise<MCPToolCallResponse>;
|
|
11
|
+
createInvoice(params: Record<string, unknown>): Promise<MCPToolCallResponse>;
|
|
12
|
+
listBankTransactions(params: Record<string, unknown>): Promise<MCPToolCallResponse>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=xero-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xero-client.d.ts","sourceRoot":"","sources":["../../../src/integrations/xero-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,MAAM,WAAW,qBAAqB;IACpC,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC9E,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC/E,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC5E,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC5E,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC1E,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC7E,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC5E,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC1E,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC7E,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACrF"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { MCPIntegration } from "./types.js";
|
|
2
|
+
declare const XERO_SCOPES: readonly ["openid", "profile", "email", "offline_access", "accounting.settings", "accounting.transactions", "accounting.contacts", "accounting.attachments"];
|
|
3
|
+
declare const XERO_TOOLS: readonly ["xero_list_connections", "xero_get_organisation", "xero_list_accounts", "xero_list_contacts", "xero_get_contact", "xero_create_contact", "xero_list_invoices", "xero_get_invoice", "xero_create_invoice", "xero_list_bank_transactions"];
|
|
4
|
+
export interface XeroIntegrationConfig {
|
|
5
|
+
clientId?: string;
|
|
6
|
+
clientSecret?: string;
|
|
7
|
+
scopes?: string[];
|
|
8
|
+
optionalScopes?: string[];
|
|
9
|
+
redirectUri?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function xeroIntegration(config?: XeroIntegrationConfig): MCPIntegration<"xero">;
|
|
12
|
+
export type XeroTools = (typeof XERO_TOOLS)[number];
|
|
13
|
+
export type XeroScopes = (typeof XERO_SCOPES)[number];
|
|
14
|
+
export type { XeroIntegrationClient } from "./xero-client.js";
|
|
15
|
+
//# sourceMappingURL=xero.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"xero.d.ts","sourceRoot":"","sources":["../../../src/integrations/xero.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,YAAY,CAAC;AAM9D,QAAA,MAAM,WAAW,8JASP,CAAC;AAEX,QAAA,MAAM,UAAU,oPAWN,CAAC;AAEX,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,eAAe,CAAC,MAAM,GAAE,qBAA0B,GAAG,cAAc,CAAC,MAAM,CAAC,CA+B1F;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AACpD,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AACtD,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -26,7 +26,7 @@ export interface YouTubeIntegrationConfig {
|
|
|
26
26
|
* Default YouTube tools that this integration enables
|
|
27
27
|
* These should match the tool names exposed by your MCP server
|
|
28
28
|
*/
|
|
29
|
-
declare const YOUTUBE_TOOLS: readonly ["
|
|
29
|
+
declare const YOUTUBE_TOOLS: readonly ["youtube_add_comment", "youtube_add_to_playlist", "youtube_create_playlist", "youtube_delete_playlist", "youtube_get_captions", "youtube_get_channel", "youtube_get_my_channel", "youtube_get_playlist", "youtube_get_video", "youtube_get_video_rating", "youtube_list_comment_replies", "youtube_list_comments", "youtube_list_my_videos", "youtube_list_playlist_items", "youtube_list_playlists", "youtube_list_subscriptions", "youtube_rate_video", "youtube_remove_from_playlist", "youtube_reply_to_comment", "youtube_search", "youtube_subscribe", "youtube_unsubscribe", "youtube_update_playlist", "youtube_update_video"];
|
|
30
30
|
export declare function youtubeIntegration(config?: YouTubeIntegrationConfig): MCPIntegration<"youtube">;
|
|
31
31
|
/**
|
|
32
32
|
* Export tool names for type inference
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"youtube.d.ts","sourceRoot":"","sources":["../../../src/integrations/youtube.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,YAAY,CAAC;AAM9D;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACvC,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+FAA+F;IAC/F,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,QAAA,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"youtube.d.ts","sourceRoot":"","sources":["../../../src/integrations/youtube.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,YAAY,CAAC;AAM9D;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACvC,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+FAA+F;IAC/F,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,+DAA+D;IAC/D,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;GAGG;AACH,QAAA,MAAM,aAAa,knBAyBT,CAAC;AAGX,wBAAgB,kBAAkB,CAAC,MAAM,GAAE,wBAA6B,GAAG,cAAc,CAAC,SAAS,CAAC,CA4BnG;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;AAExD;;GAEG;AACH,YAAY,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zapier Integration Client Types
|
|
3
|
+
* Typed methods map to Zapier Partner Workflow API MCP tools
|
|
4
|
+
*/
|
|
5
|
+
import type { MCPToolCallResponse } from "../protocol/messages.js";
|
|
6
|
+
export interface ZapierIntegrationClient {
|
|
7
|
+
getProfile(params?: Record<string, never>): Promise<MCPToolCallResponse>;
|
|
8
|
+
listZaps(params?: {
|
|
9
|
+
limit?: number;
|
|
10
|
+
offset?: number;
|
|
11
|
+
expand?: string;
|
|
12
|
+
include_shared?: boolean;
|
|
13
|
+
inputs?: string;
|
|
14
|
+
}): Promise<MCPToolCallResponse>;
|
|
15
|
+
listApps(params?: {
|
|
16
|
+
category?: string;
|
|
17
|
+
query?: string;
|
|
18
|
+
ids?: string;
|
|
19
|
+
limit?: number;
|
|
20
|
+
offset?: number;
|
|
21
|
+
}): Promise<MCPToolCallResponse>;
|
|
22
|
+
listActions(params: {
|
|
23
|
+
app: string;
|
|
24
|
+
action_type?: string;
|
|
25
|
+
}): Promise<MCPToolCallResponse>;
|
|
26
|
+
listAuthentications(params: {
|
|
27
|
+
app: string;
|
|
28
|
+
limit?: number;
|
|
29
|
+
offset?: number;
|
|
30
|
+
}): Promise<MCPToolCallResponse>;
|
|
31
|
+
listZapRuns(params?: {
|
|
32
|
+
zap_id?: number;
|
|
33
|
+
from_date?: string;
|
|
34
|
+
to_date?: string;
|
|
35
|
+
statuses?: string;
|
|
36
|
+
search?: string;
|
|
37
|
+
limit?: number;
|
|
38
|
+
offset?: number;
|
|
39
|
+
}): Promise<MCPToolCallResponse>;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=zapier-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zapier-client.d.ts","sourceRoot":"","sources":["../../../src/integrations/zapier-client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,MAAM,WAAW,uBAAuB;IACtC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACzE,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACjC,WAAW,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IACzF,mBAAmB,CAAC,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC5G,WAAW,CAAC,MAAM,CAAC,EAAE;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAClC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zapier Integration
|
|
3
|
+
* Partner Workflow API — Zaps, apps, authentications, and Zap run history (OAuth2)
|
|
4
|
+
*/
|
|
5
|
+
import type { MCPIntegration } from "./types.js";
|
|
6
|
+
declare const ZAPIER_TOOLS: readonly ["zapier_get_profile", "zapier_list_zaps", "zapier_list_apps", "zapier_list_actions", "zapier_list_authentications", "zapier_list_zap_runs"];
|
|
7
|
+
export interface ZapierIntegrationConfig {
|
|
8
|
+
/** Zapier OAuth client ID (defaults to ZAPIER_CLIENT_ID) */
|
|
9
|
+
clientId?: string;
|
|
10
|
+
/** Zapier OAuth client secret (defaults to ZAPIER_CLIENT_SECRET) */
|
|
11
|
+
clientSecret?: string;
|
|
12
|
+
/** Override default Workflow API scopes */
|
|
13
|
+
scopes?: string[];
|
|
14
|
+
/** OAuth redirect URI */
|
|
15
|
+
redirectUri?: string;
|
|
16
|
+
}
|
|
17
|
+
export declare function zapierIntegration(config?: ZapierIntegrationConfig): MCPIntegration<"zapier">;
|
|
18
|
+
export type ZapierTools = (typeof ZAPIER_TOOLS)[number];
|
|
19
|
+
export type { ZapierIntegrationClient } from "./zapier-client.js";
|
|
20
|
+
//# sourceMappingURL=zapier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zapier.d.ts","sourceRoot":"","sources":["../../../src/integrations/zapier.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,YAAY,CAAC;AAM9D,QAAA,MAAM,YAAY,uJAOR,CAAC;AAEX,MAAM,WAAW,uBAAuB;IACtC,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,iBAAiB,CAAC,MAAM,GAAE,uBAA4B,GAAG,cAAc,CAAC,QAAQ,CAAC,CAgChG;AAED,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;AAExD,YAAY,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zoom Integration Client Types
|
|
3
|
+
*/
|
|
4
|
+
import type { MCPToolCallResponse } from "../protocol/messages.js";
|
|
5
|
+
export interface ZoomIntegrationClient {
|
|
6
|
+
getUser(params?: {
|
|
7
|
+
user_id?: string;
|
|
8
|
+
}): Promise<MCPToolCallResponse>;
|
|
9
|
+
listMeetings(params?: {
|
|
10
|
+
user_id?: string;
|
|
11
|
+
type?: string;
|
|
12
|
+
page_size?: number;
|
|
13
|
+
next_page_token?: string;
|
|
14
|
+
}): Promise<MCPToolCallResponse>;
|
|
15
|
+
createMeeting(params: {
|
|
16
|
+
topic: string;
|
|
17
|
+
user_id?: string;
|
|
18
|
+
type?: number;
|
|
19
|
+
start_time?: string;
|
|
20
|
+
duration?: number;
|
|
21
|
+
timezone?: string;
|
|
22
|
+
agenda?: string;
|
|
23
|
+
password?: string;
|
|
24
|
+
}): Promise<MCPToolCallResponse>;
|
|
25
|
+
getMeeting(params: {
|
|
26
|
+
meeting_id: string;
|
|
27
|
+
}): Promise<MCPToolCallResponse>;
|
|
28
|
+
updateMeeting(params: {
|
|
29
|
+
meeting_id: string;
|
|
30
|
+
topic?: string;
|
|
31
|
+
start_time?: string;
|
|
32
|
+
duration?: number;
|
|
33
|
+
timezone?: string;
|
|
34
|
+
agenda?: string;
|
|
35
|
+
password?: string;
|
|
36
|
+
}): Promise<MCPToolCallResponse>;
|
|
37
|
+
deleteMeeting(params: {
|
|
38
|
+
meeting_id: string;
|
|
39
|
+
schedule_for_reminder?: string;
|
|
40
|
+
}): Promise<MCPToolCallResponse>;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=zoom-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zoom-client.d.ts","sourceRoot":"","sources":["../../../src/integrations/zoom-client.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,MAAM,WAAW,qBAAqB;IACpC,OAAO,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAErE,YAAY,CAAC,MAAM,CAAC,EAAE;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC,aAAa,CAAC,MAAM,EAAE;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC,UAAU,CAAC,MAAM,EAAE;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEzE,aAAa,CAAC,MAAM,EAAE;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEjC,aAAa,CAAC,MAAM,EAAE;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,qBAAqB,CAAC,EAAE,MAAM,CAAC;KAChC,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAClC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zoom Integration
|
|
3
|
+
* Zoom Meetings API with OAuth 2.0
|
|
4
|
+
*/
|
|
5
|
+
import type { MCPIntegration } from "./types.js";
|
|
6
|
+
/**
|
|
7
|
+
* Zoom integration configuration
|
|
8
|
+
*
|
|
9
|
+
* SERVER-SIDE: Reads ZOOM_CLIENT_ID and ZOOM_CLIENT_SECRET from the environment when unset.
|
|
10
|
+
* CLIENT-SIDE: Omit clientId and clientSecret when using createMCPClient().
|
|
11
|
+
*/
|
|
12
|
+
export interface ZoomIntegrationConfig {
|
|
13
|
+
clientId?: string;
|
|
14
|
+
clientSecret?: string;
|
|
15
|
+
scopes?: string[];
|
|
16
|
+
optionalScopes?: string[];
|
|
17
|
+
redirectUri?: string;
|
|
18
|
+
}
|
|
19
|
+
declare const ZOOM_TOOLS: readonly ["zoom_get_user", "zoom_list_meetings", "zoom_create_meeting", "zoom_get_meeting", "zoom_update_meeting", "zoom_delete_meeting"];
|
|
20
|
+
export declare function zoomIntegration(config?: ZoomIntegrationConfig): MCPIntegration<"zoom">;
|
|
21
|
+
export type ZoomTools = (typeof ZOOM_TOOLS)[number];
|
|
22
|
+
export type { ZoomIntegrationClient } from "./zoom-client.js";
|
|
23
|
+
//# sourceMappingURL=zoom.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zoom.d.ts","sourceRoot":"","sources":["../../../src/integrations/zoom.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,YAAY,CAAC;AAM9D;;;;;GAKG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,QAAA,MAAM,UAAU,2IAON,CAAC;AAEX,wBAAgB,eAAe,CAAC,MAAM,GAAE,qBAA0B,GAAG,cAAc,CAAC,MAAM,CAAC,CA0B1F;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpD,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -5,6 +5,15 @@
|
|
|
5
5
|
import type { OAuthConfig } from "../integrations/types.js";
|
|
6
6
|
import type { OAuthFlowConfig, AuthStatus, ProviderTokenData, AccountInfo } from "./types.js";
|
|
7
7
|
import type { MCPContext } from "../config/types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Provider OAuth credentials needed to refresh tokens server-side.
|
|
10
|
+
* Mirrors the shape exposed by createMCPServer's `providers` map.
|
|
11
|
+
*/
|
|
12
|
+
export interface ProviderOAuthCredentials {
|
|
13
|
+
clientId: string;
|
|
14
|
+
clientSecret?: string;
|
|
15
|
+
config?: Record<string, unknown>;
|
|
16
|
+
}
|
|
8
17
|
/**
|
|
9
18
|
* OAuth Manager
|
|
10
19
|
* Handles OAuth authorization flows and token management
|
|
@@ -21,10 +30,27 @@ export declare class OAuthManager {
|
|
|
21
30
|
private removeTokenCallback?;
|
|
22
31
|
private indexedDBStorage;
|
|
23
32
|
private skipLocalStorage;
|
|
33
|
+
/**
|
|
34
|
+
* Per-provider OAuth credentials, when configured. When present, the
|
|
35
|
+
* manager will proactively refresh expiring tokens via the MCP server
|
|
36
|
+
* before returning them from getProviderToken().
|
|
37
|
+
*/
|
|
38
|
+
private providerOAuth;
|
|
39
|
+
/**
|
|
40
|
+
* MCP server base URL used for refresh exchanges. Falls back to
|
|
41
|
+
* oauthApiBase when not explicitly provided.
|
|
42
|
+
*/
|
|
43
|
+
private mcpServerUrl?;
|
|
44
|
+
/** Optional API key forwarded as X-API-KEY to /oauth/refresh. */
|
|
45
|
+
private mcpApiKey?;
|
|
24
46
|
constructor(oauthApiBase: string, flowConfig?: Partial<OAuthFlowConfig>, apiBaseUrl?: string, tokenCallbacks?: {
|
|
25
47
|
getProviderToken?: (provider: string, email?: string, context?: MCPContext) => Promise<ProviderTokenData | undefined> | ProviderTokenData | undefined;
|
|
26
48
|
setProviderToken?: (provider: string, tokenData: ProviderTokenData | null, email?: string, context?: MCPContext) => Promise<void> | void;
|
|
27
49
|
removeProviderToken?: (provider: string, email?: string, context?: MCPContext) => Promise<void> | void;
|
|
50
|
+
}, refreshConfig?: {
|
|
51
|
+
providers?: Record<string, ProviderOAuthCredentials>;
|
|
52
|
+
mcpServerUrl?: string;
|
|
53
|
+
apiKey?: string;
|
|
28
54
|
});
|
|
29
55
|
/**
|
|
30
56
|
* Initiate OAuth authorization flow
|
|
@@ -178,6 +204,24 @@ export declare class OAuthManager {
|
|
|
178
204
|
* @param context - Optional user context (userId, organizationId, etc.) for multi-tenant apps
|
|
179
205
|
*/
|
|
180
206
|
setProviderToken(provider: string, tokenData: ProviderTokenData | null, email?: string, context?: MCPContext): Promise<void>;
|
|
207
|
+
/**
|
|
208
|
+
* Configure or update the per-provider OAuth credentials used to refresh
|
|
209
|
+
* tokens. Safe to call after construction; existing tokens remain valid
|
|
210
|
+
* and are refreshed lazily on next retrieval.
|
|
211
|
+
*/
|
|
212
|
+
configureTokenRefresh(refreshConfig: {
|
|
213
|
+
providers?: Record<string, ProviderOAuthCredentials>;
|
|
214
|
+
mcpServerUrl?: string;
|
|
215
|
+
apiKey?: string;
|
|
216
|
+
}): void;
|
|
217
|
+
/**
|
|
218
|
+
* Refresh the provider token if it is near expiry and we have the
|
|
219
|
+
* credentials needed to call /oauth/refresh. Returns the (possibly
|
|
220
|
+
* refreshed) ProviderTokenData. Falls back to the original on transient
|
|
221
|
+
* failure; throws RefreshRejectedError on permanent rejection so callers
|
|
222
|
+
* can surface a reconnect prompt.
|
|
223
|
+
*/
|
|
224
|
+
private maybeRefreshTokenData;
|
|
181
225
|
/**
|
|
182
226
|
* Clear specific provider token from client-side storage only
|
|
183
227
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/oauth/manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EACV,eAAe,EAEf,UAAU,EAGV,iBAAiB,EACjB,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/oauth/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OAuth token refresh helper
|
|
3
|
+
*
|
|
4
|
+
* Centralizes the logic for refreshing OAuth provider tokens via the
|
|
5
|
+
* Integrate MCP server's /oauth/refresh endpoint. Used by the SDK to
|
|
6
|
+
* transparently refresh expiring tokens before forwarding tool calls, so
|
|
7
|
+
* consumer apps (dashboard, third-party integrations) don't need to wire
|
|
8
|
+
* their own refresh code as long as they implement the existing
|
|
9
|
+
* setProviderToken callback.
|
|
10
|
+
*/
|
|
11
|
+
import type { ProviderTokenData } from "./types.js";
|
|
12
|
+
import type { MCPContext } from "../config/types.js";
|
|
13
|
+
/**
|
|
14
|
+
* Thrown when the provider has permanently rejected the refresh token
|
|
15
|
+
* (RFC 6749 `invalid_grant`). The caller should mark the integration
|
|
16
|
+
* disconnected and prompt the user to reconnect; do not retry.
|
|
17
|
+
*/
|
|
18
|
+
export declare class RefreshRejectedError extends Error {
|
|
19
|
+
readonly provider: string;
|
|
20
|
+
constructor(provider: string, message?: string);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Thrown for transient refresh failures (network errors, 5xx, malformed
|
|
24
|
+
* responses). The caller may proceed with the existing access token; a
|
|
25
|
+
* subsequent 401 from the provider will surface the real auth error.
|
|
26
|
+
*/
|
|
27
|
+
export declare class RefreshTransientError extends Error {
|
|
28
|
+
readonly provider: string;
|
|
29
|
+
constructor(provider: string, message: string);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Result of a successful refresh exchange with the MCP server.
|
|
33
|
+
*/
|
|
34
|
+
export interface RefreshResult {
|
|
35
|
+
accessToken: string;
|
|
36
|
+
refreshToken?: string;
|
|
37
|
+
tokenType: string;
|
|
38
|
+
expiresIn: number;
|
|
39
|
+
expiresAt?: string;
|
|
40
|
+
scopes?: string[];
|
|
41
|
+
email?: string;
|
|
42
|
+
}
|
|
43
|
+
export interface RefreshViaMcpOptions {
|
|
44
|
+
/** OAuth provider id (e.g. "gmail", "github"). */
|
|
45
|
+
provider: string;
|
|
46
|
+
/** Current refresh token. */
|
|
47
|
+
refreshToken: string;
|
|
48
|
+
/** Provider OAuth client id (server-side credential). */
|
|
49
|
+
clientId: string;
|
|
50
|
+
/** Provider OAuth client secret (omit for public clients). */
|
|
51
|
+
clientSecret?: string;
|
|
52
|
+
/** Optional subdomain for tenant-aware providers (e.g. Zendesk). */
|
|
53
|
+
subdomain?: string;
|
|
54
|
+
/**
|
|
55
|
+
* Additional provider-specific forwardable config (already filtered to
|
|
56
|
+
* exclude OAuth secrets). Pass-through to the MCP refresh endpoint.
|
|
57
|
+
*/
|
|
58
|
+
extraConfig?: Record<string, string>;
|
|
59
|
+
/** MCP server base URL (e.g. https://mcp.integrate.dev). */
|
|
60
|
+
serverUrl: string;
|
|
61
|
+
/** Optional API key, forwarded as X-API-KEY for usage tracking. */
|
|
62
|
+
apiKey?: string;
|
|
63
|
+
/** Optional AbortSignal for cancellation. */
|
|
64
|
+
signal?: AbortSignal;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Default window before token expiry when we proactively refresh. Mirrors
|
|
68
|
+
* the MCP server's `sessionRefreshWindow` (2 minutes).
|
|
69
|
+
*/
|
|
70
|
+
export declare const DEFAULT_REFRESH_WINDOW_MS: number;
|
|
71
|
+
/**
|
|
72
|
+
* Returns true when the token should be refreshed before the next call.
|
|
73
|
+
*
|
|
74
|
+
* - If there is no refresh token, never refresh (the caller can't recover).
|
|
75
|
+
* - If `expiresAt` is missing or unparseable, treat the token as
|
|
76
|
+
* non-expiring and skip refresh. The MCP server now returns a zero
|
|
77
|
+
* expiry for providers that don't issue one (e.g. GitHub), so this is
|
|
78
|
+
* the steady-state path for long-lived tokens.
|
|
79
|
+
* - Otherwise refresh when within `windowMs` of expiry (or already past).
|
|
80
|
+
*/
|
|
81
|
+
export declare function shouldRefreshToken(tokenData: ProviderTokenData | undefined, windowMs?: number): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Call the MCP server's /oauth/refresh endpoint to exchange a refresh
|
|
84
|
+
* token for a new access token.
|
|
85
|
+
*
|
|
86
|
+
* @throws {RefreshRejectedError} when the provider returned `invalid_grant`
|
|
87
|
+
* (HTTP 401 with `{error:"invalid_grant"}` from the MCP server).
|
|
88
|
+
* @throws {RefreshTransientError} for any other non-OK response or
|
|
89
|
+
* network failure.
|
|
90
|
+
*/
|
|
91
|
+
export declare function refreshViaMcp(opts: RefreshViaMcpOptions): Promise<RefreshResult>;
|
|
92
|
+
export interface ResolveAccessTokenOptions {
|
|
93
|
+
provider: string;
|
|
94
|
+
currentTokens: ProviderTokenData;
|
|
95
|
+
/**
|
|
96
|
+
* Provider OAuth credentials & config, as configured on the consumer
|
|
97
|
+
* app's `createMCPServer` call. Used to call /oauth/refresh.
|
|
98
|
+
*/
|
|
99
|
+
providerOAuth: {
|
|
100
|
+
clientId: string;
|
|
101
|
+
clientSecret?: string;
|
|
102
|
+
subdomain?: string;
|
|
103
|
+
extraConfig?: Record<string, string>;
|
|
104
|
+
};
|
|
105
|
+
serverUrl: string;
|
|
106
|
+
apiKey?: string;
|
|
107
|
+
/** Persistence callback (consumer-supplied). */
|
|
108
|
+
setProviderToken?: (provider: string, tokenData: ProviderTokenData | null, email?: string, context?: MCPContext) => Promise<void> | void;
|
|
109
|
+
context?: MCPContext;
|
|
110
|
+
/** When true, refresh regardless of current expiry. Used for 401 retry. */
|
|
111
|
+
force?: boolean;
|
|
112
|
+
windowMs?: number;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Refresh-if-needed wrapper. Returns the access token that should be sent
|
|
116
|
+
* on the next call.
|
|
117
|
+
*
|
|
118
|
+
* Refresh is best-effort by default: a transient failure logs and returns
|
|
119
|
+
* the existing access token (the next call will either succeed or return a
|
|
120
|
+
* 401 the caller can react to). An `invalid_grant` failure is permanent —
|
|
121
|
+
* we clear the stored token via `setProviderToken(null)` and rethrow.
|
|
122
|
+
*/
|
|
123
|
+
export declare function resolveAccessToken(opts: ResolveAccessTokenOptions): Promise<string>;
|
|
124
|
+
//# sourceMappingURL=refresh.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refresh.d.ts","sourceRoot":"","sources":["../../../src/oauth/refresh.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;GAIG;AACH,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,SAAgB,QAAQ,EAAE,MAAM,CAAC;gBACrB,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAK/C;AAED;;;;GAIG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,SAAgB,QAAQ,EAAE,MAAM,CAAC;gBACrB,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK9C;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;IACjB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED;;;GAGG;AACH,eAAO,MAAM,yBAAyB,QAAgB,CAAC;AAEvD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,iBAAiB,GAAG,SAAS,EACxC,QAAQ,GAAE,MAAkC,GAC3C,OAAO,CAST;AAED;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC,CAgGtF;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,iBAAiB,CAAC;IACjC;;;OAGG;IACH,aAAa,EAAE;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACtC,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gDAAgD;IAChD,gBAAgB,CAAC,EAAE,CACjB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,iBAAiB,GAAG,IAAI,EACnC,KAAK,CAAC,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,UAAU,KACjB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,UAAU,CAAC;IACrB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;GAQG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqDzF"}
|