integrate-sdk 0.5.6 → 0.5.7
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/index.js +23 -2
- package/dist/server.js +38 -8
- package/dist/src/client.d.ts +8 -0
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/config/types.d.ts +20 -1
- package/dist/src/config/types.d.ts.map +1 -1
- package/dist/src/server.d.ts +15 -3
- package/dist/src/server.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1016,7 +1016,20 @@ class MCPClient {
|
|
|
1016
1016
|
headers: config.headers,
|
|
1017
1017
|
timeout: config.timeout
|
|
1018
1018
|
});
|
|
1019
|
-
|
|
1019
|
+
const oauthApiBase = config.oauthApiBase || "/api/integrate/oauth";
|
|
1020
|
+
const defaultRedirectUri = this.getDefaultRedirectUri(oauthApiBase);
|
|
1021
|
+
this.plugins = config.plugins.map((plugin) => {
|
|
1022
|
+
if (plugin.oauth && !plugin.oauth.redirectUri) {
|
|
1023
|
+
return {
|
|
1024
|
+
...plugin,
|
|
1025
|
+
oauth: {
|
|
1026
|
+
...plugin.oauth,
|
|
1027
|
+
redirectUri: defaultRedirectUri
|
|
1028
|
+
}
|
|
1029
|
+
};
|
|
1030
|
+
}
|
|
1031
|
+
return plugin;
|
|
1032
|
+
});
|
|
1020
1033
|
this.clientInfo = config.clientInfo || {
|
|
1021
1034
|
name: "integrate-sdk",
|
|
1022
1035
|
version: "0.1.0"
|
|
@@ -1024,7 +1037,7 @@ class MCPClient {
|
|
|
1024
1037
|
this.onReauthRequired = config.onReauthRequired;
|
|
1025
1038
|
this.maxReauthRetries = config.maxReauthRetries ?? 1;
|
|
1026
1039
|
this.connectionMode = config.connectionMode ?? "lazy";
|
|
1027
|
-
this.oauthManager = new OAuthManager(
|
|
1040
|
+
this.oauthManager = new OAuthManager(oauthApiBase, config.oauthFlow);
|
|
1028
1041
|
const providers = this.plugins.filter((p) => p.oauth).map((p) => p.oauth.provider);
|
|
1029
1042
|
this.oauthManager.loadAllProviderTokens(providers);
|
|
1030
1043
|
for (const plugin of this.plugins) {
|
|
@@ -1041,6 +1054,14 @@ class MCPClient {
|
|
|
1041
1054
|
this.server = this.createServerProxy();
|
|
1042
1055
|
this.initializePlugins();
|
|
1043
1056
|
}
|
|
1057
|
+
getDefaultRedirectUri(oauthApiBase) {
|
|
1058
|
+
if (typeof window === "undefined" || !window.location) {
|
|
1059
|
+
return "http://localhost:3000/oauth/callback";
|
|
1060
|
+
}
|
|
1061
|
+
const origin = window.location.origin;
|
|
1062
|
+
const normalizedPath = oauthApiBase.replace(/\/$/, "");
|
|
1063
|
+
return `${origin}${normalizedPath}/callback`;
|
|
1064
|
+
}
|
|
1044
1065
|
async ensureConnected() {
|
|
1045
1066
|
if (this.initialized && this.transport.isConnected()) {
|
|
1046
1067
|
return;
|
package/dist/server.js
CHANGED
|
@@ -1016,7 +1016,20 @@ class MCPClient {
|
|
|
1016
1016
|
headers: config.headers,
|
|
1017
1017
|
timeout: config.timeout
|
|
1018
1018
|
});
|
|
1019
|
-
|
|
1019
|
+
const oauthApiBase = config.oauthApiBase || "/api/integrate/oauth";
|
|
1020
|
+
const defaultRedirectUri = this.getDefaultRedirectUri(oauthApiBase);
|
|
1021
|
+
this.plugins = config.plugins.map((plugin) => {
|
|
1022
|
+
if (plugin.oauth && !plugin.oauth.redirectUri) {
|
|
1023
|
+
return {
|
|
1024
|
+
...plugin,
|
|
1025
|
+
oauth: {
|
|
1026
|
+
...plugin.oauth,
|
|
1027
|
+
redirectUri: defaultRedirectUri
|
|
1028
|
+
}
|
|
1029
|
+
};
|
|
1030
|
+
}
|
|
1031
|
+
return plugin;
|
|
1032
|
+
});
|
|
1020
1033
|
this.clientInfo = config.clientInfo || {
|
|
1021
1034
|
name: "integrate-sdk",
|
|
1022
1035
|
version: "0.1.0"
|
|
@@ -1024,7 +1037,7 @@ class MCPClient {
|
|
|
1024
1037
|
this.onReauthRequired = config.onReauthRequired;
|
|
1025
1038
|
this.maxReauthRetries = config.maxReauthRetries ?? 1;
|
|
1026
1039
|
this.connectionMode = config.connectionMode ?? "lazy";
|
|
1027
|
-
this.oauthManager = new OAuthManager(
|
|
1040
|
+
this.oauthManager = new OAuthManager(oauthApiBase, config.oauthFlow);
|
|
1028
1041
|
const providers = this.plugins.filter((p) => p.oauth).map((p) => p.oauth.provider);
|
|
1029
1042
|
this.oauthManager.loadAllProviderTokens(providers);
|
|
1030
1043
|
for (const plugin of this.plugins) {
|
|
@@ -1041,6 +1054,14 @@ class MCPClient {
|
|
|
1041
1054
|
this.server = this.createServerProxy();
|
|
1042
1055
|
this.initializePlugins();
|
|
1043
1056
|
}
|
|
1057
|
+
getDefaultRedirectUri(oauthApiBase) {
|
|
1058
|
+
if (typeof window === "undefined" || !window.location) {
|
|
1059
|
+
return "http://localhost:3000/oauth/callback";
|
|
1060
|
+
}
|
|
1061
|
+
const origin = window.location.origin;
|
|
1062
|
+
const normalizedPath = oauthApiBase.replace(/\/$/, "");
|
|
1063
|
+
return `${origin}${normalizedPath}/callback`;
|
|
1064
|
+
}
|
|
1044
1065
|
async ensureConnected() {
|
|
1045
1066
|
if (this.initialized && this.transport.isConnected()) {
|
|
1046
1067
|
return;
|
|
@@ -1846,12 +1867,12 @@ function getDefaultRedirectUri() {
|
|
|
1846
1867
|
if (typeof window !== "undefined") {
|
|
1847
1868
|
return `${window.location.origin}/oauth/callback`;
|
|
1848
1869
|
}
|
|
1870
|
+
if (process.env.INTEGRATE_URL) {
|
|
1871
|
+
return `${process.env.INTEGRATE_URL}/oauth/callback`;
|
|
1872
|
+
}
|
|
1849
1873
|
if (process.env.VERCEL_URL) {
|
|
1850
1874
|
return `https://${process.env.VERCEL_URL}/oauth/callback`;
|
|
1851
1875
|
}
|
|
1852
|
-
if (process.env.NEXTAUTH_URL) {
|
|
1853
|
-
return `${process.env.NEXTAUTH_URL}/oauth/callback`;
|
|
1854
|
-
}
|
|
1855
1876
|
return "http://localhost:3000/oauth/callback";
|
|
1856
1877
|
}
|
|
1857
1878
|
function createMCPServer(config) {
|
|
@@ -1859,12 +1880,12 @@ function createMCPServer(config) {
|
|
|
1859
1880
|
throw new Error("createMCPServer() should only be called on the server-side. " + "Use createMCPClient() for client-side code.");
|
|
1860
1881
|
}
|
|
1861
1882
|
const providers = {};
|
|
1862
|
-
|
|
1883
|
+
const updatedPlugins = config.plugins.map((plugin) => {
|
|
1863
1884
|
if (plugin.oauth) {
|
|
1864
1885
|
const { clientId, clientSecret, redirectUri: pluginRedirectUri } = plugin.oauth;
|
|
1865
1886
|
if (!clientId || !clientSecret) {
|
|
1866
1887
|
console.warn(`Warning: Plugin "${plugin.id}" is missing OAuth credentials. ` + `Provide clientId and clientSecret in the plugin configuration.`);
|
|
1867
|
-
|
|
1888
|
+
return plugin;
|
|
1868
1889
|
}
|
|
1869
1890
|
const redirectUri = pluginRedirectUri || config.redirectUri || getDefaultRedirectUri();
|
|
1870
1891
|
providers[plugin.id] = {
|
|
@@ -1872,11 +1893,20 @@ function createMCPServer(config) {
|
|
|
1872
1893
|
clientSecret,
|
|
1873
1894
|
redirectUri
|
|
1874
1895
|
};
|
|
1896
|
+
return {
|
|
1897
|
+
...plugin,
|
|
1898
|
+
oauth: {
|
|
1899
|
+
...plugin.oauth,
|
|
1900
|
+
redirectUri
|
|
1901
|
+
}
|
|
1902
|
+
};
|
|
1875
1903
|
}
|
|
1876
|
-
|
|
1904
|
+
return plugin;
|
|
1905
|
+
});
|
|
1877
1906
|
globalServerConfig = { providers };
|
|
1878
1907
|
const clientConfig = {
|
|
1879
1908
|
...config,
|
|
1909
|
+
plugins: updatedPlugins,
|
|
1880
1910
|
connectionMode: config.connectionMode || "lazy",
|
|
1881
1911
|
singleton: config.singleton ?? true
|
|
1882
1912
|
};
|
package/dist/src/client.d.ts
CHANGED
|
@@ -65,6 +65,14 @@ export declare class MCPClient<TPlugins extends readonly MCPPlugin[] = readonly
|
|
|
65
65
|
} ? GmailPluginClient : never;
|
|
66
66
|
readonly server: ServerPluginClient;
|
|
67
67
|
constructor(config: MCPClientConfig<TPlugins>);
|
|
68
|
+
/**
|
|
69
|
+
* Get default redirect URI for OAuth flows
|
|
70
|
+
* Uses window.location.origin + OAuth API base path
|
|
71
|
+
*
|
|
72
|
+
* @param oauthApiBase - The OAuth API base path (e.g., '/api/integrate/oauth')
|
|
73
|
+
* @returns Default redirect URI
|
|
74
|
+
*/
|
|
75
|
+
private getDefaultRedirectUri;
|
|
68
76
|
/**
|
|
69
77
|
* Ensure the client is connected (for lazy connection mode)
|
|
70
78
|
*/
|
package/dist/src/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EACV,OAAO,EAEP,mBAAmB,EAIpB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,KAAK,EACV,UAAU,EACV,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAgE1B;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,EAAE,GAAG,KAAK,CAAC;AAClE,KAAK,SAAS,CAAC,QAAQ,SAAS,SAAS,SAAS,EAAE,IAAI,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;AAE1F;;GAEG;AACH,KAAK,WAAW,CAAC,QAAQ,SAAS,SAAS,SAAS,EAAE,EAAE,EAAE,SAAS,MAAM,IACvE,EAAE,SAAS,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,KAAK,CAAC;AAEhD;;GAEG;AACH,KAAK,gBAAgB,CAAC,QAAQ,SAAS,SAAS,SAAS,EAAE,IACzD,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,SAAS,IAAI,GAAG;IAAE,MAAM,EAAE,kBAAkB,CAAA;CAAE,GAAG,EAAE,CAAC,GACpF,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,SAAS,IAAI,GAAG;IAAE,KAAK,EAAE,iBAAiB,CAAA;CAAE,GAAG,EAAE,CAAC,CAAC;AAEpF;;;;GAIG;AACH,qBAAa,SAAS,CAAC,QAAQ,SAAS,SAAS,SAAS,EAAE,GAAG,SAAS,SAAS,EAAE;IACjF,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,OAAO,CAAW;IAC1B,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,gBAAgB,CAAC,CAAgB;IACzC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,SAAS,CAAuF;IACxG,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,YAAY,CAAgD;IAGpE,SAAgB,MAAM,EAAG,gBAAgB,CAAC,QAAQ,CAAC,SAAS;QAAE,MAAM,EAAE,kBAAkB,CAAA;KAAE,GACtF,kBAAkB,GAClB,KAAK,CAAC;IACV,SAAgB,KAAK,EAAG,gBAAgB,CAAC,QAAQ,CAAC,SAAS;QAAE,KAAK,EAAE,iBAAiB,CAAA;KAAE,GACnF,iBAAiB,GACjB,KAAK,CAAC;IAGV,SAAgB,MAAM,EAAG,kBAAkB,CAAC;gBAEhC,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -166,14 +166,33 @@ export interface MCPClientConfig<TPlugins extends readonly MCPPlugin[]> {
|
|
|
166
166
|
/**
|
|
167
167
|
* Global OAuth redirect URI for all providers
|
|
168
168
|
* Used as fallback when individual plugins don't specify their own redirectUri
|
|
169
|
-
*
|
|
169
|
+
*
|
|
170
|
+
* **Server-side (createMCPServer):** If not provided, auto-detects from environment:
|
|
171
|
+
* - INTEGRATE_URL (primary)
|
|
172
|
+
* - VERCEL_URL
|
|
173
|
+
* - Falls back to 'http://localhost:3000/oauth/callback'
|
|
174
|
+
*
|
|
175
|
+
* **Client-side (createMCPClient):** If not provided, auto-detects from:
|
|
176
|
+
* - window.location.origin + oauthApiBase + '/callback'
|
|
177
|
+
* - Example: 'http://localhost:3000/api/integrate/oauth/callback'
|
|
170
178
|
*
|
|
171
179
|
* @example
|
|
172
180
|
* ```typescript
|
|
181
|
+
* // Explicit redirectUri (server-side)
|
|
173
182
|
* createMCPServer({
|
|
174
183
|
* redirectUri: 'https://myapp.com/oauth/callback',
|
|
175
184
|
* plugins: [...]
|
|
176
185
|
* })
|
|
186
|
+
*
|
|
187
|
+
* // Auto-detection (server-side) - uses process.env.INTEGRATE_URL
|
|
188
|
+
* createMCPServer({
|
|
189
|
+
* plugins: [...]
|
|
190
|
+
* })
|
|
191
|
+
*
|
|
192
|
+
* // Auto-detection (client-side) - uses window.location.origin
|
|
193
|
+
* createMCPClient({
|
|
194
|
+
* plugins: [...]
|
|
195
|
+
* })
|
|
177
196
|
* ```
|
|
178
197
|
*/
|
|
179
198
|
redirectUri?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/config/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,KAAK,EAAE,mBAAmB,CAAC;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AAEnF;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,QAAQ,SAAS,SAAS,SAAS,EAAE;IACpE,iCAAiC;IACjC,OAAO,EAAE,QAAQ,CAAC;IAElB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,yBAAyB;IACzB,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF;;;;;;;;;;;;;;;;;;;OAmBG;IACH,gBAAgB,CAAC,EAAE,aAAa,CAAC;IAEjC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAE7C;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,EAAE;QACV,+DAA+D;QAC/D,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;QAC5B,oDAAoD;QACpD,YAAY,CAAC,EAAE;YACb,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,sDAAsD;QACtD,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KACnF,CAAC;IAEF;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;;;;;;;;;;;;OAkBG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;;;;;;;OAaG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/config/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,KAAK,EAAE,mBAAmB,CAAC;IAC3B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;AAEnF;;GAEG;AACH,MAAM,WAAW,eAAe,CAAC,QAAQ,SAAS,SAAS,SAAS,EAAE;IACpE,iCAAiC;IACjC,OAAO,EAAE,QAAQ,CAAC;IAElB,mDAAmD;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEjC,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,yBAAyB;IACzB,UAAU,CAAC,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IAEF;;;;;;;;;;;;;;;;;;;OAmBG;IACH,gBAAgB,CAAC,EAAE,aAAa,CAAC;IAEjC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IAE7C;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB;;;;;;;;;;;;;;OAcG;IACH,SAAS,CAAC,EAAE;QACV,+DAA+D;QAC/D,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;QAC5B,oDAAoD;QACpD,YAAY,CAAC,EAAE;YACb,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,MAAM,CAAC,EAAE,MAAM,CAAC;SACjB,CAAC;QACF,sDAAsD;QACtD,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;KACnF,CAAC;IAEF;;;;;;;;;;;;OAYG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;;;;;;;;;;;;OAkBG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;;;;;;;OAaG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,QAAQ,SAAS,SAAS,SAAS,EAAE,IACjE,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpC;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,QAAQ,SAAS,SAAS,SAAS,EAAE,IAAI;KACnE,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;CAC9C,CAAC"}
|
package/dist/src/server.d.ts
CHANGED
|
@@ -12,16 +12,17 @@ import type { MCPPlugin } from './plugins/types.js';
|
|
|
12
12
|
* Use this in your server configuration file (e.g., lib/integrate-server.ts)
|
|
13
13
|
*
|
|
14
14
|
* The redirectUri can be specified globally and will be used for all plugins.
|
|
15
|
-
* If not provided, it will auto-detect from
|
|
15
|
+
* If not provided, it will auto-detect from INTEGRATE_URL or VERCEL_URL
|
|
16
16
|
*
|
|
17
17
|
* @example
|
|
18
18
|
* ```typescript
|
|
19
19
|
* // lib/integrate-server.ts (server-side only!)
|
|
20
20
|
* import { createMCPServer, githubPlugin, gmailPlugin } from 'integrate-sdk/server';
|
|
21
21
|
*
|
|
22
|
+
* // With explicit redirectUri
|
|
22
23
|
* export const { client: serverClient } = createMCPServer({
|
|
23
|
-
* redirectUri: process.env.
|
|
24
|
-
* ?
|
|
24
|
+
* redirectUri: process.env.INTEGRATE_URL
|
|
25
|
+
* ? `${process.env.INTEGRATE_URL}/oauth/callback`
|
|
25
26
|
* : 'http://localhost:3000/oauth/callback',
|
|
26
27
|
* plugins: [
|
|
27
28
|
* githubPlugin({
|
|
@@ -36,6 +37,17 @@ import type { MCPPlugin } from './plugins/types.js';
|
|
|
36
37
|
* }),
|
|
37
38
|
* ],
|
|
38
39
|
* });
|
|
40
|
+
*
|
|
41
|
+
* // Or omit redirectUri to use auto-detection from environment variables
|
|
42
|
+
* export const { client: serverClient } = createMCPServer({
|
|
43
|
+
* plugins: [
|
|
44
|
+
* githubPlugin({
|
|
45
|
+
* clientId: process.env.GITHUB_CLIENT_ID!,
|
|
46
|
+
* clientSecret: process.env.GITHUB_CLIENT_SECRET!,
|
|
47
|
+
* scopes: ['repo', 'user'],
|
|
48
|
+
* }),
|
|
49
|
+
* ],
|
|
50
|
+
* });
|
|
39
51
|
* ```
|
|
40
52
|
*
|
|
41
53
|
* Then in your route file:
|
package/dist/src/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAyCpD
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAyCpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,wBAAgB,eAAe,CAAC,QAAQ,SAAS,SAAS,SAAS,EAAE,EACnE,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC;IAmE/B,2DAA2D;;IAG3D,4DAA4D;;;;;;;;IAG5D,2DAA2D;;;;;;;;EAG9D;AAYD,YAAY,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE9E;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,IAAI,GACf,KAAK,GAAG,EACR,SAAS;IAAE,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,iBAYtE,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,GAAG,GACd,KAAK,GAAG,EACR,SAAS;IAAE,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,iBAYtE,CAAC"}
|