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
@@ -358,10 +358,18 @@ 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
+ },
365
373
  slack: {
366
374
  description: "Send and manage Slack messages and channels",
367
375
  category: "Communication"
@@ -605,6 +613,22 @@ var init_email_fetcher = __esm(() => {
605
613
  });
606
614
 
607
615
  // base-handler.ts
616
+ function getForwardableProviderConfig(config) {
617
+ if (!config) {
618
+ return {};
619
+ }
620
+ return Object.fromEntries(Object.entries(config).filter(([key, value]) => value !== undefined && value !== null && !OAUTH_CONFIG_FIELDS.has(key)).map(([key, value]) => [key, String(value)]));
621
+ }
622
+ function getStoredProviderConfig(config) {
623
+ const baseUrl = config?.baseUrl || config?.apiBaseUrl;
624
+ if (!baseUrl) {
625
+ return;
626
+ }
627
+ return {
628
+ baseUrl: String(baseUrl)
629
+ };
630
+ }
631
+
608
632
  class OAuthHandler {
609
633
  config;
610
634
  serverUrl;
@@ -675,25 +699,9 @@ class OAuthHandler {
675
699
  if (redirectUri) {
676
700
  url.searchParams.set("redirect_uri", redirectUri);
677
701
  }
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
- }
702
+ const extraConfig = getForwardableProviderConfig(providerConfig.config);
703
+ for (const [key, value] of Object.entries(extraConfig)) {
704
+ url.searchParams.set(key, value);
697
705
  }
698
706
  const response = await fetch(url.toString(), {
699
707
  method: "GET",
@@ -780,7 +788,8 @@ class OAuthHandler {
780
788
  state: callbackRequest.state,
781
789
  client_id: providerConfig.clientId,
782
790
  client_secret: providerConfig.clientSecret,
783
- redirect_uri: providerConfig.redirectUri
791
+ redirect_uri: providerConfig.redirectUri,
792
+ ...getForwardableProviderConfig(providerConfig.config)
784
793
  })
785
794
  });
786
795
  if (!response.ok) {
@@ -792,12 +801,14 @@ class OAuthHandler {
792
801
  if (this.config.setProviderToken) {
793
802
  try {
794
803
  const tokenData = {
804
+ sessionToken: result.sessionToken,
795
805
  accessToken: result.accessToken,
796
806
  refreshToken: result.refreshToken,
797
807
  tokenType: result.tokenType,
798
808
  expiresIn: result.expiresIn,
799
809
  expiresAt: result.expiresAt,
800
- scopes: result.scopes ? result.scopes.flatMap((s) => s.split(" ").filter(Boolean)) : result.scopes
810
+ scopes: result.scopes ? result.scopes.flatMap((s) => s.split(" ").filter(Boolean)) : result.scopes,
811
+ providerConfig: getStoredProviderConfig(providerConfig.config)
801
812
  };
802
813
  const email = result.email || await fetchUserEmail(callbackRequest.provider, tokenData);
803
814
  if (email) {
@@ -914,6 +925,12 @@ class OAuthHandler {
914
925
  if (providerConfig.config?.subdomain) {
915
926
  body.subdomain = providerConfig.config.subdomain;
916
927
  }
928
+ const extraConfig = getForwardableProviderConfig(providerConfig.config);
929
+ for (const [key, value] of Object.entries(extraConfig)) {
930
+ if (body[key] === undefined) {
931
+ body[key] = value;
932
+ }
933
+ }
917
934
  const url = new URL("/oauth/refresh", this.serverUrl);
918
935
  const response = await fetch(url.toString(), {
919
936
  method: "POST",
@@ -940,7 +957,8 @@ class OAuthHandler {
940
957
  tokenType: result.tokenType,
941
958
  expiresIn: result.expiresIn,
942
959
  expiresAt: result.expiresAt,
943
- scopes: result.scopes ? result.scopes.flatMap((s) => s.split(" ").filter(Boolean)) : result.scopes
960
+ scopes: result.scopes ? result.scopes.flatMap((s) => s.split(" ").filter(Boolean)) : result.scopes,
961
+ providerConfig: getStoredProviderConfig(providerConfig.config)
944
962
  };
945
963
  const email = result.email || await fetchUserEmail(refreshRequest.provider, tokenData);
946
964
  if (email) {
@@ -1007,12 +1025,25 @@ class OAuthHandler {
1007
1025
  return jsonRpcResponse.result;
1008
1026
  }
1009
1027
  }
1010
- var SERVER_LOG_CONTEXT = "server", logger2, MCP_SERVER_URL = "https://mcp.integrate.dev/api/v1/mcp";
1028
+ var SERVER_LOG_CONTEXT = "server", logger2, OAUTH_CONFIG_FIELDS, MCP_SERVER_URL = "https://mcp.integrate.dev/api/v1/mcp";
1011
1029
  var init_base_handler = __esm(() => {
1012
1030
  init_integration_summary();
1013
1031
  init_email_fetcher();
1014
1032
  init_logger();
1015
1033
  logger2 = createLogger("OAuthHandler", SERVER_LOG_CONTEXT);
1034
+ OAUTH_CONFIG_FIELDS = new Set([
1035
+ "clientId",
1036
+ "clientSecret",
1037
+ "scopes",
1038
+ "optionalScopes",
1039
+ "redirectUri",
1040
+ "client_id",
1041
+ "client_secret",
1042
+ "scope",
1043
+ "optional_scope",
1044
+ "redirect_uri",
1045
+ "provider"
1046
+ ]);
1016
1047
  });
1017
1048
 
1018
1049
  // auto-routes.ts
@@ -147,6 +147,7 @@ export interface CallbackRequest {
147
147
  * Response from callback endpoint
148
148
  */
149
149
  export interface CallbackResponse {
150
+ sessionToken?: string;
150
151
  accessToken: string;
151
152
  refreshToken?: string;
152
153
  tokenType: string;
@@ -1 +1 @@
1
- {"version":3,"file":"base-handler.d.ts","sourceRoot":"","sources":["../../../src/adapters/base-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-handler.d.ts","sourceRoot":"","sources":["../../../src/adapters/base-handler.ts"],"names":[],"mappings":"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"}
@@ -358,10 +358,18 @@ 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
+ },
365
373
  slack: {
366
374
  description: "Send and manage Slack messages and channels",
367
375
  category: "Communication"
@@ -605,6 +613,22 @@ var init_email_fetcher = __esm(() => {
605
613
  });
606
614
 
607
615
  // base-handler.ts
616
+ function getForwardableProviderConfig(config) {
617
+ if (!config) {
618
+ return {};
619
+ }
620
+ return Object.fromEntries(Object.entries(config).filter(([key, value]) => value !== undefined && value !== null && !OAUTH_CONFIG_FIELDS.has(key)).map(([key, value]) => [key, String(value)]));
621
+ }
622
+ function getStoredProviderConfig(config) {
623
+ const baseUrl = config?.baseUrl || config?.apiBaseUrl;
624
+ if (!baseUrl) {
625
+ return;
626
+ }
627
+ return {
628
+ baseUrl: String(baseUrl)
629
+ };
630
+ }
631
+
608
632
  class OAuthHandler {
609
633
  config;
610
634
  serverUrl;
@@ -675,25 +699,9 @@ class OAuthHandler {
675
699
  if (redirectUri) {
676
700
  url.searchParams.set("redirect_uri", redirectUri);
677
701
  }
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
- }
702
+ const extraConfig = getForwardableProviderConfig(providerConfig.config);
703
+ for (const [key, value] of Object.entries(extraConfig)) {
704
+ url.searchParams.set(key, value);
697
705
  }
698
706
  const response = await fetch(url.toString(), {
699
707
  method: "GET",
@@ -780,7 +788,8 @@ class OAuthHandler {
780
788
  state: callbackRequest.state,
781
789
  client_id: providerConfig.clientId,
782
790
  client_secret: providerConfig.clientSecret,
783
- redirect_uri: providerConfig.redirectUri
791
+ redirect_uri: providerConfig.redirectUri,
792
+ ...getForwardableProviderConfig(providerConfig.config)
784
793
  })
785
794
  });
786
795
  if (!response.ok) {
@@ -792,12 +801,14 @@ class OAuthHandler {
792
801
  if (this.config.setProviderToken) {
793
802
  try {
794
803
  const tokenData = {
804
+ sessionToken: result.sessionToken,
795
805
  accessToken: result.accessToken,
796
806
  refreshToken: result.refreshToken,
797
807
  tokenType: result.tokenType,
798
808
  expiresIn: result.expiresIn,
799
809
  expiresAt: result.expiresAt,
800
- scopes: result.scopes ? result.scopes.flatMap((s) => s.split(" ").filter(Boolean)) : result.scopes
810
+ scopes: result.scopes ? result.scopes.flatMap((s) => s.split(" ").filter(Boolean)) : result.scopes,
811
+ providerConfig: getStoredProviderConfig(providerConfig.config)
801
812
  };
802
813
  const email = result.email || await fetchUserEmail(callbackRequest.provider, tokenData);
803
814
  if (email) {
@@ -914,6 +925,12 @@ class OAuthHandler {
914
925
  if (providerConfig.config?.subdomain) {
915
926
  body.subdomain = providerConfig.config.subdomain;
916
927
  }
928
+ const extraConfig = getForwardableProviderConfig(providerConfig.config);
929
+ for (const [key, value] of Object.entries(extraConfig)) {
930
+ if (body[key] === undefined) {
931
+ body[key] = value;
932
+ }
933
+ }
917
934
  const url = new URL("/oauth/refresh", this.serverUrl);
918
935
  const response = await fetch(url.toString(), {
919
936
  method: "POST",
@@ -940,7 +957,8 @@ class OAuthHandler {
940
957
  tokenType: result.tokenType,
941
958
  expiresIn: result.expiresIn,
942
959
  expiresAt: result.expiresAt,
943
- scopes: result.scopes ? result.scopes.flatMap((s) => s.split(" ").filter(Boolean)) : result.scopes
960
+ scopes: result.scopes ? result.scopes.flatMap((s) => s.split(" ").filter(Boolean)) : result.scopes,
961
+ providerConfig: getStoredProviderConfig(providerConfig.config)
944
962
  };
945
963
  const email = result.email || await fetchUserEmail(refreshRequest.provider, tokenData);
946
964
  if (email) {
@@ -1007,12 +1025,25 @@ class OAuthHandler {
1007
1025
  return jsonRpcResponse.result;
1008
1026
  }
1009
1027
  }
1010
- var SERVER_LOG_CONTEXT = "server", logger2, MCP_SERVER_URL = "https://mcp.integrate.dev/api/v1/mcp";
1028
+ var SERVER_LOG_CONTEXT = "server", logger2, OAUTH_CONFIG_FIELDS, MCP_SERVER_URL = "https://mcp.integrate.dev/api/v1/mcp";
1011
1029
  var init_base_handler = __esm(() => {
1012
1030
  init_integration_summary();
1013
1031
  init_email_fetcher();
1014
1032
  init_logger();
1015
1033
  logger2 = createLogger("OAuthHandler", SERVER_LOG_CONTEXT);
1034
+ OAUTH_CONFIG_FIELDS = new Set([
1035
+ "clientId",
1036
+ "clientSecret",
1037
+ "scopes",
1038
+ "optionalScopes",
1039
+ "redirectUri",
1040
+ "client_id",
1041
+ "client_secret",
1042
+ "scope",
1043
+ "optional_scope",
1044
+ "redirect_uri",
1045
+ "provider"
1046
+ ]);
1016
1047
  });
1017
1048
  init_base_handler();
1018
1049