integrate-sdk 0.9.28-dev.1 → 0.9.30-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/adapters/auto-routes.js +61 -23
  2. package/dist/adapters/base-handler.d.ts.map +1 -1
  3. package/dist/adapters/base-handler.js +61 -23
  4. package/dist/adapters/index.js +99 -49
  5. package/dist/adapters/nextjs.js +61 -23
  6. package/dist/adapters/solid-start.js +99 -49
  7. package/dist/adapters/svelte-kit.js +99 -49
  8. package/dist/index.d.ts +1 -1
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +488 -101
  11. package/dist/oauth.js +60 -23
  12. package/dist/server.js +376 -122
  13. package/dist/src/adapters/base-handler.d.ts.map +1 -1
  14. package/dist/src/client.d.ts +3 -1
  15. package/dist/src/client.d.ts.map +1 -1
  16. package/dist/src/index.d.ts +8 -0
  17. package/dist/src/index.d.ts.map +1 -1
  18. package/dist/src/integrations/library-metadata.d.ts +1 -1
  19. package/dist/src/integrations/library-metadata.d.ts.map +1 -1
  20. package/dist/src/integrations/netlify-client.d.ts +161 -0
  21. package/dist/src/integrations/netlify-client.d.ts.map +1 -0
  22. package/dist/src/integrations/netlify.d.ts +18 -0
  23. package/dist/src/integrations/netlify.d.ts.map +1 -0
  24. package/dist/src/integrations/posthog-client.d.ts +222 -0
  25. package/dist/src/integrations/posthog-client.d.ts.map +1 -0
  26. package/dist/src/integrations/posthog.d.ts +30 -0
  27. package/dist/src/integrations/posthog.d.ts.map +1 -0
  28. package/dist/src/integrations/railway-client.d.ts +302 -0
  29. package/dist/src/integrations/railway-client.d.ts.map +1 -0
  30. package/dist/src/integrations/railway.d.ts +24 -0
  31. package/dist/src/integrations/railway.d.ts.map +1 -0
  32. package/dist/src/integrations/sentry-client.d.ts +78 -0
  33. package/dist/src/integrations/sentry-client.d.ts.map +1 -0
  34. package/dist/src/integrations/sentry.d.ts +22 -0
  35. package/dist/src/integrations/sentry.d.ts.map +1 -0
  36. package/dist/src/oauth/types.d.ts +2 -0
  37. package/dist/src/oauth/types.d.ts.map +1 -1
  38. package/dist/src/server.d.ts +2 -0
  39. package/dist/src/server.d.ts.map +1 -1
  40. package/index.ts +6 -1
  41. package/package.json +1 -1
@@ -358,10 +358,26 @@ var init_library_metadata = __esm(() => {
358
358
  description: "Manage Polar products, orders, and subscriptions",
359
359
  category: "Business"
360
360
  },
361
+ posthog: {
362
+ description: "Read PostHog organizations, projects, insights, and feature flags",
363
+ category: "Analytics"
364
+ },
361
365
  ramp: {
362
366
  description: "Manage Ramp corporate cards, bills, and spend",
363
367
  category: "Business"
364
368
  },
369
+ railway: {
370
+ description: "Manage Railway workspaces, projects, services, deployments, variables, domains, and volumes",
371
+ category: "Infrastructure"
372
+ },
373
+ sentry: {
374
+ description: "Monitor Sentry errors, issues, releases, and projects",
375
+ category: "Engineering"
376
+ },
377
+ netlify: {
378
+ description: "Manage Netlify sites, deploys, builds, and environment variables",
379
+ category: "Infrastructure"
380
+ },
365
381
  slack: {
366
382
  description: "Send and manage Slack messages and channels",
367
383
  category: "Communication"
@@ -605,6 +621,22 @@ var init_email_fetcher = __esm(() => {
605
621
  });
606
622
 
607
623
  // base-handler.ts
624
+ function getForwardableProviderConfig(config) {
625
+ if (!config) {
626
+ return {};
627
+ }
628
+ return Object.fromEntries(Object.entries(config).filter(([key, value]) => value !== undefined && value !== null && !OAUTH_CONFIG_FIELDS.has(key)).map(([key, value]) => [key, String(value)]));
629
+ }
630
+ function getStoredProviderConfig(config) {
631
+ const baseUrl = config?.baseUrl || config?.apiBaseUrl;
632
+ if (!baseUrl) {
633
+ return;
634
+ }
635
+ return {
636
+ baseUrl: String(baseUrl)
637
+ };
638
+ }
639
+
608
640
  class OAuthHandler {
609
641
  config;
610
642
  serverUrl;
@@ -675,25 +707,9 @@ class OAuthHandler {
675
707
  if (redirectUri) {
676
708
  url.searchParams.set("redirect_uri", redirectUri);
677
709
  }
678
- const OAUTH_FIELDS = new Set([
679
- "clientId",
680
- "clientSecret",
681
- "scopes",
682
- "optionalScopes",
683
- "redirectUri",
684
- "client_id",
685
- "client_secret",
686
- "scope",
687
- "optional_scope",
688
- "redirect_uri",
689
- "provider"
690
- ]);
691
- if (providerConfig.config) {
692
- for (const [key, value] of Object.entries(providerConfig.config)) {
693
- if (value !== undefined && value !== null && !OAUTH_FIELDS.has(key)) {
694
- url.searchParams.set(key, String(value));
695
- }
696
- }
710
+ const extraConfig = getForwardableProviderConfig(providerConfig.config);
711
+ for (const [key, value] of Object.entries(extraConfig)) {
712
+ url.searchParams.set(key, value);
697
713
  }
698
714
  const response = await fetch(url.toString(), {
699
715
  method: "GET",
@@ -780,7 +796,8 @@ class OAuthHandler {
780
796
  state: callbackRequest.state,
781
797
  client_id: providerConfig.clientId,
782
798
  client_secret: providerConfig.clientSecret,
783
- redirect_uri: providerConfig.redirectUri
799
+ redirect_uri: providerConfig.redirectUri,
800
+ ...getForwardableProviderConfig(providerConfig.config)
784
801
  })
785
802
  });
786
803
  if (!response.ok) {
@@ -798,7 +815,8 @@ class OAuthHandler {
798
815
  tokenType: result.tokenType,
799
816
  expiresIn: result.expiresIn,
800
817
  expiresAt: result.expiresAt,
801
- scopes: result.scopes ? result.scopes.flatMap((s) => s.split(" ").filter(Boolean)) : result.scopes
818
+ scopes: result.scopes ? result.scopes.flatMap((s) => s.split(" ").filter(Boolean)) : result.scopes,
819
+ providerConfig: getStoredProviderConfig(providerConfig.config)
802
820
  };
803
821
  const email = result.email || await fetchUserEmail(callbackRequest.provider, tokenData);
804
822
  if (email) {
@@ -915,6 +933,12 @@ class OAuthHandler {
915
933
  if (providerConfig.config?.subdomain) {
916
934
  body.subdomain = providerConfig.config.subdomain;
917
935
  }
936
+ const extraConfig = getForwardableProviderConfig(providerConfig.config);
937
+ for (const [key, value] of Object.entries(extraConfig)) {
938
+ if (body[key] === undefined) {
939
+ body[key] = value;
940
+ }
941
+ }
918
942
  const url = new URL("/oauth/refresh", this.serverUrl);
919
943
  const response = await fetch(url.toString(), {
920
944
  method: "POST",
@@ -941,7 +965,8 @@ class OAuthHandler {
941
965
  tokenType: result.tokenType,
942
966
  expiresIn: result.expiresIn,
943
967
  expiresAt: result.expiresAt,
944
- scopes: result.scopes ? result.scopes.flatMap((s) => s.split(" ").filter(Boolean)) : result.scopes
968
+ scopes: result.scopes ? result.scopes.flatMap((s) => s.split(" ").filter(Boolean)) : result.scopes,
969
+ providerConfig: getStoredProviderConfig(providerConfig.config)
945
970
  };
946
971
  const email = result.email || await fetchUserEmail(refreshRequest.provider, tokenData);
947
972
  if (email) {
@@ -1008,12 +1033,25 @@ class OAuthHandler {
1008
1033
  return jsonRpcResponse.result;
1009
1034
  }
1010
1035
  }
1011
- var SERVER_LOG_CONTEXT = "server", logger2, MCP_SERVER_URL = "https://mcp.integrate.dev/api/v1/mcp";
1036
+ var SERVER_LOG_CONTEXT = "server", logger2, OAUTH_CONFIG_FIELDS, MCP_SERVER_URL = "https://mcp.integrate.dev/api/v1/mcp";
1012
1037
  var init_base_handler = __esm(() => {
1013
1038
  init_integration_summary();
1014
1039
  init_email_fetcher();
1015
1040
  init_logger();
1016
1041
  logger2 = createLogger("OAuthHandler", SERVER_LOG_CONTEXT);
1042
+ OAUTH_CONFIG_FIELDS = new Set([
1043
+ "clientId",
1044
+ "clientSecret",
1045
+ "scopes",
1046
+ "optionalScopes",
1047
+ "redirectUri",
1048
+ "client_id",
1049
+ "client_secret",
1050
+ "scope",
1051
+ "optional_scope",
1052
+ "redirect_uri",
1053
+ "provider"
1054
+ ]);
1017
1055
  });
1018
1056
 
1019
1057
  // ../oauth/pkce.ts
@@ -3109,6 +3147,9 @@ class MCPClientBase {
3109
3147
  if (integrationIds.includes("linear")) {
3110
3148
  this.linear = this.createIntegrationProxy("linear");
3111
3149
  }
3150
+ if (integrationIds.includes("railway")) {
3151
+ this.railway = this.createIntegrationProxy("railway");
3152
+ }
3112
3153
  if (integrationIds.includes("vercel")) {
3113
3154
  this.vercel = this.createIntegrationProxy("vercel");
3114
3155
  }
@@ -3139,6 +3180,9 @@ class MCPClientBase {
3139
3180
  if (integrationIds.includes("gslides")) {
3140
3181
  this.gslides = this.createIntegrationProxy("gslides");
3141
3182
  }
3183
+ if (integrationIds.includes("posthog")) {
3184
+ this.posthog = this.createIntegrationProxy("posthog");
3185
+ }
3142
3186
  this.server = this.createServerProxy();
3143
3187
  this.trigger = new TriggerClient({
3144
3188
  apiRouteBase: this.apiRouteBase,
@@ -3912,81 +3956,87 @@ var logger11 = createLogger("Slack");
3912
3956
  // ../integrations/linear.ts
3913
3957
  init_logger();
3914
3958
  var logger12 = createLogger("Linear");
3959
+ // ../integrations/railway.ts
3960
+ init_logger();
3961
+ var logger13 = createLogger("Railway");
3915
3962
  // ../integrations/vercel.ts
3916
3963
  init_logger();
3917
- var logger13 = createLogger("Vercel");
3964
+ var logger14 = createLogger("Vercel");
3918
3965
  // ../integrations/zendesk.ts
3919
3966
  init_logger();
3920
- var logger14 = createLogger("Zendesk");
3967
+ var logger15 = createLogger("Zendesk");
3921
3968
  // ../integrations/stripe.ts
3922
3969
  init_logger();
3923
- var logger15 = createLogger("Stripe");
3970
+ var logger16 = createLogger("Stripe");
3924
3971
  // ../integrations/gcal.ts
3925
3972
  init_logger();
3926
- var logger16 = createLogger("Google Calendar");
3973
+ var logger17 = createLogger("Google Calendar");
3927
3974
  // ../integrations/outlook.ts
3928
3975
  init_logger();
3929
- var logger17 = createLogger("Outlook");
3976
+ var logger18 = createLogger("Outlook");
3930
3977
  // ../integrations/airtable.ts
3931
3978
  init_logger();
3932
- var logger18 = createLogger("Airtable");
3979
+ var logger19 = createLogger("Airtable");
3933
3980
  // ../integrations/todoist.ts
3934
3981
  init_logger();
3935
- var logger19 = createLogger("Todoist");
3982
+ var logger20 = createLogger("Todoist");
3936
3983
  // ../integrations/whatsapp.ts
3937
3984
  init_logger();
3938
- var logger20 = createLogger("WhatsApp");
3985
+ var logger21 = createLogger("WhatsApp");
3939
3986
  // ../integrations/calcom.ts
3940
3987
  init_logger();
3941
- var logger21 = createLogger("Cal.com");
3988
+ var logger22 = createLogger("Cal.com");
3942
3989
  // ../integrations/ramp.ts
3943
3990
  init_logger();
3944
- var logger22 = createLogger("Ramp");
3991
+ var logger23 = createLogger("Ramp");
3945
3992
  // ../integrations/onedrive.ts
3946
3993
  init_logger();
3947
- var logger23 = createLogger("OneDrive");
3994
+ var logger24 = createLogger("OneDrive");
3948
3995
  // ../integrations/dropbox.ts
3949
3996
  init_logger();
3950
- var logger24 = createLogger("Dropbox");
3997
+ var logger25 = createLogger("Dropbox");
3951
3998
  // ../integrations/word.ts
3952
3999
  init_logger();
3953
- var logger25 = createLogger("Word");
4000
+ var logger26 = createLogger("Word");
3954
4001
  // ../integrations/excel.ts
3955
4002
  init_logger();
3956
- var logger26 = createLogger("Excel");
4003
+ var logger27 = createLogger("Excel");
3957
4004
  // ../integrations/powerpoint.ts
3958
4005
  init_logger();
3959
- var logger27 = createLogger("PowerPoint");
4006
+ var logger28 = createLogger("PowerPoint");
3960
4007
  // ../integrations/gdocs.ts
3961
4008
  init_logger();
3962
- var logger28 = createLogger("Google Docs");
4009
+ var logger29 = createLogger("Google Docs");
3963
4010
  // ../integrations/gdrive.ts
3964
4011
  init_logger();
3965
- var logger29 = createLogger("Google Drive");
4012
+ var logger30 = createLogger("Google Drive");
3966
4013
  // ../integrations/gsheets.ts
3967
4014
  init_logger();
3968
- var logger30 = createLogger("Google Sheets");
4015
+ var logger31 = createLogger("Google Sheets");
3969
4016
  // ../integrations/gslides.ts
3970
4017
  init_logger();
3971
- var logger31 = createLogger("Google Slides");
4018
+ var logger32 = createLogger("Google Slides");
3972
4019
  // ../integrations/polar.ts
3973
4020
  init_logger();
3974
- var logger32 = createLogger("Polar");
4021
+ var logger33 = createLogger("Polar");
3975
4022
  // ../integrations/figma.ts
3976
4023
  init_logger();
3977
- var logger33 = createLogger("Figma");
4024
+ var logger34 = createLogger("Figma");
3978
4025
  // ../integrations/intercom.ts
3979
4026
  init_logger();
3980
- var logger34 = createLogger("Intercom");
4027
+ var logger35 = createLogger("Intercom");
3981
4028
  // ../integrations/hubspot.ts
3982
4029
  init_logger();
3983
- var logger35 = createLogger("HubSpot");
4030
+ var logger36 = createLogger("HubSpot");
3984
4031
  // ../integrations/youtube.ts
3985
4032
  init_logger();
3986
- var logger36 = createLogger("YouTube");
4033
+ var logger37 = createLogger("YouTube");
3987
4034
  // ../integrations/cursor.ts
3988
4035
  init_logger();
3989
- var logger37 = createLogger("Cursor");
4036
+ var logger38 = createLogger("Cursor");
4037
+ // ../integrations/posthog.ts
4038
+ init_logger();
4039
+ var logger39 = createLogger("PostHog");
3990
4040
  // ../ai/trigger-tools.ts
3991
4041
  init_utils();
3992
4042
 
@@ -4005,7 +4055,7 @@ init_tool_builder();
4005
4055
  init_tool_builder();
4006
4056
  // ../server.ts
4007
4057
  var SERVER_LOG_CONTEXT3 = "server";
4008
- var logger38 = createLogger("MCPServer", SERVER_LOG_CONTEXT3);
4058
+ var logger40 = createLogger("MCPServer", SERVER_LOG_CONTEXT3);
4009
4059
  var codeVerifierStorage = new Map;
4010
4060
  var unauthenticatedCodeModeWarnings = new Set;
4011
4061
  function toSolidStartHandler(clientOrHandlerOrOptions, _redirectOptions) {
package/dist/index.d.ts CHANGED
@@ -63,5 +63,5 @@ export * from './src/index.js';
63
63
  * });
64
64
  * ```
65
65
  */
66
- export declare const client: import("./index.js").MCPClient<(import("./index.js").MCPIntegration<"github"> | import("./index.js").MCPIntegration<"gmail"> | import("./index.js").MCPIntegration<"notion"> | import("./index.js").MCPIntegration<"slack"> | import("./index.js").MCPIntegration<"linear"> | import("./index.js").MCPIntegration<"vercel"> | import("./index.js").MCPIntegration<"zendesk"> | import("./index.js").MCPIntegration<"stripe"> | import("./index.js").MCPIntegration<"gcal"> | import("./index.js").MCPIntegration<"outlook"> | import("./index.js").MCPIntegration<"airtable"> | import("./index.js").MCPIntegration<"todoist"> | import("./index.js").MCPIntegration<"whatsapp"> | import("./index.js").MCPIntegration<"calcom"> | import("./index.js").MCPIntegration<"ramp"> | import("./index.js").MCPIntegration<"onedrive"> | import("./index.js").MCPIntegration<"gdocs"> | import("./index.js").MCPIntegration<"gsheets"> | import("./index.js").MCPIntegration<"gslides"> | import("./index.js").MCPIntegration<"polar"> | import("./index.js").MCPIntegration<"figma"> | import("./index.js").MCPIntegration<"intercom"> | import("./index.js").MCPIntegration<"hubspot"> | import("./index.js").MCPIntegration<"youtube"> | import("./index.js").MCPIntegration<"cursor"> | import("./index.js").MCPIntegration<"word"> | import("./index.js").MCPIntegration<"excel"> | import("./index.js").MCPIntegration<"powerpoint"> | import("./index.js").MCPIntegration<"gdrive">)[]>;
66
+ export declare const client: import("./index.js").MCPClient<(import("./index.js").MCPIntegration<"github"> | import("./index.js").MCPIntegration<"gmail"> | import("./index.js").MCPIntegration<"notion"> | import("./index.js").MCPIntegration<"slack"> | import("./index.js").MCPIntegration<"linear"> | import("./index.js").MCPIntegration<"vercel"> | import("./index.js").MCPIntegration<"zendesk"> | import("./index.js").MCPIntegration<"stripe"> | import("./index.js").MCPIntegration<"gcal"> | import("./index.js").MCPIntegration<"outlook"> | import("./index.js").MCPIntegration<"airtable"> | import("./index.js").MCPIntegration<"todoist"> | import("./index.js").MCPIntegration<"whatsapp"> | import("./index.js").MCPIntegration<"calcom"> | import("./index.js").MCPIntegration<"ramp"> | import("./index.js").MCPIntegration<"onedrive"> | import("./index.js").MCPIntegration<"gdocs"> | import("./index.js").MCPIntegration<"gsheets"> | import("./index.js").MCPIntegration<"gslides"> | import("./index.js").MCPIntegration<"polar"> | import("./index.js").MCPIntegration<"figma"> | import("./index.js").MCPIntegration<"intercom"> | import("./index.js").MCPIntegration<"hubspot"> | import("./index.js").MCPIntegration<"youtube"> | import("./index.js").MCPIntegration<"cursor"> | import("./index.js").MCPIntegration<"posthog"> | import("./index.js").MCPIntegration<"sentry"> | import("./index.js").MCPIntegration<"netlify"> | import("./index.js").MCPIntegration<"word"> | import("./index.js").MCPIntegration<"excel"> | import("./index.js").MCPIntegration<"powerpoint"> | import("./index.js").MCPIntegration<"gdrive">)[]>;
67
67
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,cAAc,gBAAgB,CAAC;AAkC/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,MAAM,05CAmCjB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAEH,cAAc,gBAAgB,CAAC;AAqC/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,eAAO,MAAM,MAAM,4iDAsCjB,CAAC"}