integrate-sdk 0.9.28-dev.0 → 0.9.29-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 (38) hide show
  1. package/dist/adapters/auto-routes.js +54 -23
  2. package/dist/adapters/base-handler.d.ts +1 -0
  3. package/dist/adapters/base-handler.d.ts.map +1 -1
  4. package/dist/adapters/base-handler.js +54 -23
  5. package/dist/adapters/index.js +141 -56
  6. package/dist/adapters/nextjs.d.ts.map +1 -1
  7. package/dist/adapters/nextjs.js +55 -24
  8. package/dist/adapters/solid-start.js +141 -56
  9. package/dist/adapters/svelte-kit.js +141 -56
  10. package/dist/index.d.ts +1 -1
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +398 -108
  13. package/dist/oauth.js +53 -23
  14. package/dist/server.js +420 -130
  15. package/dist/src/adapters/base-handler.d.ts +1 -0
  16. package/dist/src/adapters/base-handler.d.ts.map +1 -1
  17. package/dist/src/adapters/nextjs.d.ts.map +1 -1
  18. package/dist/src/client.d.ts +7 -2
  19. package/dist/src/client.d.ts.map +1 -1
  20. package/dist/src/index.d.ts +4 -0
  21. package/dist/src/index.d.ts.map +1 -1
  22. package/dist/src/integrations/library-metadata.d.ts +1 -1
  23. package/dist/src/integrations/library-metadata.d.ts.map +1 -1
  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/oauth/manager.d.ts.map +1 -1
  33. package/dist/src/oauth/types.d.ts +8 -0
  34. package/dist/src/oauth/types.d.ts.map +1 -1
  35. package/dist/src/server.d.ts +2 -0
  36. package/dist/src/server.d.ts.map +1 -1
  37. package/index.ts +2 -1
  38. package/package.json +1 -1
package/dist/oauth.js CHANGED
@@ -101,10 +101,18 @@ var init_library_metadata = __esm(() => {
101
101
  description: "Manage Polar products, orders, and subscriptions",
102
102
  category: "Business"
103
103
  },
104
+ posthog: {
105
+ description: "Read PostHog organizations, projects, insights, and feature flags",
106
+ category: "Analytics"
107
+ },
104
108
  ramp: {
105
109
  description: "Manage Ramp corporate cards, bills, and spend",
106
110
  category: "Business"
107
111
  },
112
+ railway: {
113
+ description: "Manage Railway workspaces, projects, services, deployments, variables, domains, and volumes",
114
+ category: "Infrastructure"
115
+ },
108
116
  slack: {
109
117
  description: "Send and manage Slack messages and channels",
110
118
  category: "Communication"
@@ -629,6 +637,21 @@ var exports_base_handler = {};
629
637
  __export(exports_base_handler, {
630
638
  OAuthHandler: () => OAuthHandler
631
639
  });
640
+ function getForwardableProviderConfig(config) {
641
+ if (!config) {
642
+ return {};
643
+ }
644
+ return Object.fromEntries(Object.entries(config).filter(([key, value]) => value !== undefined && value !== null && !OAUTH_CONFIG_FIELDS.has(key)).map(([key, value]) => [key, String(value)]));
645
+ }
646
+ function getStoredProviderConfig(config) {
647
+ const baseUrl = config?.baseUrl || config?.apiBaseUrl;
648
+ if (!baseUrl) {
649
+ return;
650
+ }
651
+ return {
652
+ baseUrl: String(baseUrl)
653
+ };
654
+ }
632
655
 
633
656
  class OAuthHandler {
634
657
  config;
@@ -700,25 +723,9 @@ class OAuthHandler {
700
723
  if (redirectUri) {
701
724
  url.searchParams.set("redirect_uri", redirectUri);
702
725
  }
703
- const OAUTH_FIELDS = new Set([
704
- "clientId",
705
- "clientSecret",
706
- "scopes",
707
- "optionalScopes",
708
- "redirectUri",
709
- "client_id",
710
- "client_secret",
711
- "scope",
712
- "optional_scope",
713
- "redirect_uri",
714
- "provider"
715
- ]);
716
- if (providerConfig.config) {
717
- for (const [key, value] of Object.entries(providerConfig.config)) {
718
- if (value !== undefined && value !== null && !OAUTH_FIELDS.has(key)) {
719
- url.searchParams.set(key, String(value));
720
- }
721
- }
726
+ const extraConfig = getForwardableProviderConfig(providerConfig.config);
727
+ for (const [key, value] of Object.entries(extraConfig)) {
728
+ url.searchParams.set(key, value);
722
729
  }
723
730
  const response = await fetch(url.toString(), {
724
731
  method: "GET",
@@ -805,7 +812,8 @@ class OAuthHandler {
805
812
  state: callbackRequest.state,
806
813
  client_id: providerConfig.clientId,
807
814
  client_secret: providerConfig.clientSecret,
808
- redirect_uri: providerConfig.redirectUri
815
+ redirect_uri: providerConfig.redirectUri,
816
+ ...getForwardableProviderConfig(providerConfig.config)
809
817
  })
810
818
  });
811
819
  if (!response.ok) {
@@ -817,12 +825,14 @@ class OAuthHandler {
817
825
  if (this.config.setProviderToken) {
818
826
  try {
819
827
  const tokenData = {
828
+ sessionToken: result.sessionToken,
820
829
  accessToken: result.accessToken,
821
830
  refreshToken: result.refreshToken,
822
831
  tokenType: result.tokenType,
823
832
  expiresIn: result.expiresIn,
824
833
  expiresAt: result.expiresAt,
825
- scopes: result.scopes ? result.scopes.flatMap((s) => s.split(" ").filter(Boolean)) : result.scopes
834
+ scopes: result.scopes ? result.scopes.flatMap((s) => s.split(" ").filter(Boolean)) : result.scopes,
835
+ providerConfig: getStoredProviderConfig(providerConfig.config)
826
836
  };
827
837
  const email = result.email || await fetchUserEmail(callbackRequest.provider, tokenData);
828
838
  if (email) {
@@ -939,6 +949,12 @@ class OAuthHandler {
939
949
  if (providerConfig.config?.subdomain) {
940
950
  body.subdomain = providerConfig.config.subdomain;
941
951
  }
952
+ const extraConfig = getForwardableProviderConfig(providerConfig.config);
953
+ for (const [key, value] of Object.entries(extraConfig)) {
954
+ if (body[key] === undefined) {
955
+ body[key] = value;
956
+ }
957
+ }
942
958
  const url = new URL("/oauth/refresh", this.serverUrl);
943
959
  const response = await fetch(url.toString(), {
944
960
  method: "POST",
@@ -965,7 +981,8 @@ class OAuthHandler {
965
981
  tokenType: result.tokenType,
966
982
  expiresIn: result.expiresIn,
967
983
  expiresAt: result.expiresAt,
968
- scopes: result.scopes ? result.scopes.flatMap((s) => s.split(" ").filter(Boolean)) : result.scopes
984
+ scopes: result.scopes ? result.scopes.flatMap((s) => s.split(" ").filter(Boolean)) : result.scopes,
985
+ providerConfig: getStoredProviderConfig(providerConfig.config)
969
986
  };
970
987
  const email = result.email || await fetchUserEmail(refreshRequest.provider, tokenData);
971
988
  if (email) {
@@ -1032,12 +1049,25 @@ class OAuthHandler {
1032
1049
  return jsonRpcResponse.result;
1033
1050
  }
1034
1051
  }
1035
- var SERVER_LOG_CONTEXT = "server", logger2, MCP_SERVER_URL = "https://mcp.integrate.dev/api/v1/mcp";
1052
+ var SERVER_LOG_CONTEXT = "server", logger2, OAUTH_CONFIG_FIELDS, MCP_SERVER_URL = "https://mcp.integrate.dev/api/v1/mcp";
1036
1053
  var init_base_handler = __esm(() => {
1037
1054
  init_integration_summary();
1038
1055
  init_email_fetcher();
1039
1056
  init_logger();
1040
1057
  logger2 = createLogger("OAuthHandler", SERVER_LOG_CONTEXT);
1058
+ OAUTH_CONFIG_FIELDS = new Set([
1059
+ "clientId",
1060
+ "clientSecret",
1061
+ "scopes",
1062
+ "optionalScopes",
1063
+ "redirectUri",
1064
+ "client_id",
1065
+ "client_secret",
1066
+ "scope",
1067
+ "optional_scope",
1068
+ "redirect_uri",
1069
+ "provider"
1070
+ ]);
1041
1071
  });
1042
1072
 
1043
1073
  // src/adapters/auto-routes.ts