integrate-sdk 0.4.8 → 0.4.10
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 +104 -11
- package/dist/server.js +54 -4
- package/dist/src/adapters/nextjs-oauth-redirect.d.ts +8 -1
- package/dist/src/adapters/nextjs-oauth-redirect.d.ts.map +1 -1
- package/dist/src/client.d.ts +39 -4
- package/dist/src/client.d.ts.map +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/integrations/vercel-ai.d.ts +66 -3
- package/dist/src/integrations/vercel-ai.d.ts.map +1 -1
- package/dist/src/oauth/manager.d.ts +6 -1
- package/dist/src/oauth/manager.d.ts.map +1 -1
- package/dist/src/oauth/pkce.d.ts +35 -0
- package/dist/src/oauth/pkce.d.ts.map +1 -1
- package/dist/src/oauth/types.d.ts +2 -0
- package/dist/src/oauth/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -406,6 +406,30 @@ function generateState() {
|
|
|
406
406
|
}
|
|
407
407
|
return base64UrlEncode(array);
|
|
408
408
|
}
|
|
409
|
+
function generateStateWithReturnUrl(returnUrl) {
|
|
410
|
+
const csrf = generateState();
|
|
411
|
+
const stateData = returnUrl ? { csrf, returnUrl } : { csrf };
|
|
412
|
+
const encoder = new TextEncoder;
|
|
413
|
+
const jsonBytes = encoder.encode(JSON.stringify(stateData));
|
|
414
|
+
return base64UrlEncode(jsonBytes);
|
|
415
|
+
}
|
|
416
|
+
function parseState(state) {
|
|
417
|
+
try {
|
|
418
|
+
const decoded = base64UrlDecode(state);
|
|
419
|
+
const parsed = JSON.parse(decoded);
|
|
420
|
+
if (typeof parsed === "string") {
|
|
421
|
+
return { csrf: parsed };
|
|
422
|
+
} else if (parsed && typeof parsed === "object") {
|
|
423
|
+
return {
|
|
424
|
+
csrf: parsed.csrf || state,
|
|
425
|
+
returnUrl: parsed.returnUrl
|
|
426
|
+
};
|
|
427
|
+
}
|
|
428
|
+
return { csrf: state };
|
|
429
|
+
} catch {
|
|
430
|
+
return { csrf: state };
|
|
431
|
+
}
|
|
432
|
+
}
|
|
409
433
|
function base64UrlEncode(array) {
|
|
410
434
|
let base64 = "";
|
|
411
435
|
if (typeof Buffer !== "undefined") {
|
|
@@ -416,6 +440,23 @@ function base64UrlEncode(array) {
|
|
|
416
440
|
}
|
|
417
441
|
return base64.replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
|
|
418
442
|
}
|
|
443
|
+
function base64UrlDecode(str) {
|
|
444
|
+
let base64 = str.replace(/-/g, "+").replace(/_/g, "/");
|
|
445
|
+
while (base64.length % 4 !== 0) {
|
|
446
|
+
base64 += "=";
|
|
447
|
+
}
|
|
448
|
+
if (typeof Buffer !== "undefined") {
|
|
449
|
+
return Buffer.from(base64, "base64").toString("utf-8");
|
|
450
|
+
} else {
|
|
451
|
+
const binary = atob(base64);
|
|
452
|
+
const bytes = new Uint8Array(binary.length);
|
|
453
|
+
for (let i = 0;i < binary.length; i++) {
|
|
454
|
+
bytes[i] = binary.charCodeAt(i);
|
|
455
|
+
}
|
|
456
|
+
const decoder = new TextDecoder;
|
|
457
|
+
return decoder.decode(bytes);
|
|
458
|
+
}
|
|
459
|
+
}
|
|
419
460
|
|
|
420
461
|
// src/oauth/window-manager.ts
|
|
421
462
|
function isBrowser() {
|
|
@@ -622,10 +663,10 @@ class OAuthManager {
|
|
|
622
663
|
};
|
|
623
664
|
this.cleanupExpiredPendingAuths();
|
|
624
665
|
}
|
|
625
|
-
async initiateFlow(provider, config) {
|
|
666
|
+
async initiateFlow(provider, config, returnUrl) {
|
|
626
667
|
const codeVerifier = generateCodeVerifier();
|
|
627
668
|
const codeChallenge = await generateCodeChallenge(codeVerifier);
|
|
628
|
-
const state =
|
|
669
|
+
const state = generateStateWithReturnUrl(returnUrl);
|
|
629
670
|
const pendingAuth = {
|
|
630
671
|
provider,
|
|
631
672
|
state,
|
|
@@ -633,6 +674,7 @@ class OAuthManager {
|
|
|
633
674
|
codeChallenge,
|
|
634
675
|
scopes: config.scopes,
|
|
635
676
|
redirectUri: config.redirectUri,
|
|
677
|
+
returnUrl,
|
|
636
678
|
initiatedAt: Date.now()
|
|
637
679
|
};
|
|
638
680
|
this.pendingAuths.set(state, pendingAuth);
|
|
@@ -1283,7 +1325,7 @@ class MCPClient {
|
|
|
1283
1325
|
async getAuthorizationStatus(provider) {
|
|
1284
1326
|
return await this.oauthManager.checkAuthStatus(provider);
|
|
1285
1327
|
}
|
|
1286
|
-
async authorize(provider) {
|
|
1328
|
+
async authorize(provider, options) {
|
|
1287
1329
|
const plugin = this.plugins.find((p) => p.oauth?.provider === provider);
|
|
1288
1330
|
if (!plugin?.oauth) {
|
|
1289
1331
|
const error = new Error(`No OAuth configuration found for provider: ${provider}`);
|
|
@@ -1292,7 +1334,7 @@ class MCPClient {
|
|
|
1292
1334
|
}
|
|
1293
1335
|
this.eventEmitter.emit("auth:started", { provider });
|
|
1294
1336
|
try {
|
|
1295
|
-
await this.oauthManager.initiateFlow(provider, plugin.oauth);
|
|
1337
|
+
await this.oauthManager.initiateFlow(provider, plugin.oauth, options?.returnUrl);
|
|
1296
1338
|
const tokenData = this.oauthManager.getProviderToken(provider);
|
|
1297
1339
|
if (tokenData) {
|
|
1298
1340
|
this.eventEmitter.emit("auth:complete", {
|
|
@@ -1331,6 +1373,14 @@ class MCPClient {
|
|
|
1331
1373
|
this.oauthManager.setProviderToken(provider, tokenData);
|
|
1332
1374
|
this.authState.set(provider, { authenticated: true });
|
|
1333
1375
|
}
|
|
1376
|
+
getAllProviderTokens() {
|
|
1377
|
+
const tokens = {};
|
|
1378
|
+
const allTokens = this.oauthManager.getAllProviderTokens();
|
|
1379
|
+
for (const [provider, tokenData] of allTokens.entries()) {
|
|
1380
|
+
tokens[provider] = tokenData.accessToken;
|
|
1381
|
+
}
|
|
1382
|
+
return tokens;
|
|
1383
|
+
}
|
|
1334
1384
|
async reauthenticate(provider) {
|
|
1335
1385
|
const state = this.authState.get(provider);
|
|
1336
1386
|
if (!state) {
|
|
@@ -1682,7 +1732,7 @@ function createNextOAuthHandler(config) {
|
|
|
1682
1732
|
}
|
|
1683
1733
|
// src/adapters/nextjs-oauth-redirect.ts
|
|
1684
1734
|
function createOAuthRedirectHandler(config) {
|
|
1685
|
-
const
|
|
1735
|
+
const defaultRedirectUrl = config?.redirectUrl || "/";
|
|
1686
1736
|
const errorRedirectUrl = config?.errorRedirectUrl || "/auth-error";
|
|
1687
1737
|
return async function GET(req) {
|
|
1688
1738
|
const { searchParams } = new URL(req.url);
|
|
@@ -1699,7 +1749,25 @@ function createOAuthRedirectHandler(config) {
|
|
|
1699
1749
|
console.error("[OAuth Redirect] Missing code or state parameter");
|
|
1700
1750
|
return Response.redirect(new URL(`${errorRedirectUrl}?error=${encodeURIComponent("Invalid OAuth callback")}`, req.url));
|
|
1701
1751
|
}
|
|
1702
|
-
|
|
1752
|
+
let returnUrl = defaultRedirectUrl;
|
|
1753
|
+
try {
|
|
1754
|
+
const stateData = parseState(state);
|
|
1755
|
+
if (stateData.returnUrl) {
|
|
1756
|
+
returnUrl = stateData.returnUrl;
|
|
1757
|
+
}
|
|
1758
|
+
} catch (e) {
|
|
1759
|
+
try {
|
|
1760
|
+
const referrer = req.headers?.get?.("referer") || req.headers?.get?.("referrer");
|
|
1761
|
+
if (referrer) {
|
|
1762
|
+
const referrerUrl = new URL(referrer);
|
|
1763
|
+
const currentUrl = new URL(req.url);
|
|
1764
|
+
if (referrerUrl.origin === currentUrl.origin) {
|
|
1765
|
+
returnUrl = referrerUrl.pathname + referrerUrl.search;
|
|
1766
|
+
}
|
|
1767
|
+
}
|
|
1768
|
+
} catch {}
|
|
1769
|
+
}
|
|
1770
|
+
const targetUrl = new URL(returnUrl, req.url);
|
|
1703
1771
|
targetUrl.hash = `oauth_callback=${encodeURIComponent(JSON.stringify({ code, state }))}`;
|
|
1704
1772
|
return Response.redirect(targetUrl);
|
|
1705
1773
|
};
|
|
@@ -1902,29 +1970,53 @@ function createSimplePlugin(config) {
|
|
|
1902
1970
|
function convertMCPSchemaToParameters(inputSchema) {
|
|
1903
1971
|
return inputSchema;
|
|
1904
1972
|
}
|
|
1905
|
-
function
|
|
1973
|
+
function getProviderForTool(client, toolName) {
|
|
1974
|
+
return client.getProviderForTool?.(toolName);
|
|
1975
|
+
}
|
|
1976
|
+
function convertMCPToolToVercelAI(mcpTool, client, options) {
|
|
1906
1977
|
return {
|
|
1907
1978
|
description: mcpTool.description || `Execute ${mcpTool.name}`,
|
|
1908
1979
|
parameters: convertMCPSchemaToParameters(mcpTool.inputSchema),
|
|
1909
1980
|
execute: async (args) => {
|
|
1981
|
+
if (options?.providerTokens) {
|
|
1982
|
+
const provider = getProviderForTool(client, mcpTool.name);
|
|
1983
|
+
if (provider && options.providerTokens[provider]) {
|
|
1984
|
+
const transport = client.transport;
|
|
1985
|
+
if (transport && typeof transport.setHeader === "function") {
|
|
1986
|
+
const previousAuthHeader = transport.headers?.["Authorization"];
|
|
1987
|
+
try {
|
|
1988
|
+
transport.setHeader("Authorization", `Bearer ${options.providerTokens[provider]}`);
|
|
1989
|
+
const result2 = await client._callToolByName(mcpTool.name, args);
|
|
1990
|
+
return result2;
|
|
1991
|
+
} finally {
|
|
1992
|
+
if (previousAuthHeader) {
|
|
1993
|
+
transport.setHeader("Authorization", previousAuthHeader);
|
|
1994
|
+
} else if (transport.removeHeader) {
|
|
1995
|
+
transport.removeHeader("Authorization");
|
|
1996
|
+
}
|
|
1997
|
+
}
|
|
1998
|
+
}
|
|
1999
|
+
}
|
|
2000
|
+
}
|
|
1910
2001
|
const result = await client._callToolByName(mcpTool.name, args);
|
|
1911
2002
|
return result;
|
|
1912
2003
|
}
|
|
1913
2004
|
};
|
|
1914
2005
|
}
|
|
1915
|
-
function convertMCPToolsToVercelAI(client) {
|
|
2006
|
+
function convertMCPToolsToVercelAI(client, options) {
|
|
1916
2007
|
const mcpTools = client.getEnabledTools();
|
|
1917
2008
|
const vercelTools = {};
|
|
1918
2009
|
for (const mcpTool of mcpTools) {
|
|
1919
|
-
vercelTools[mcpTool.name] = convertMCPToolToVercelAI(mcpTool, client);
|
|
2010
|
+
vercelTools[mcpTool.name] = convertMCPToolToVercelAI(mcpTool, client, options);
|
|
1920
2011
|
}
|
|
1921
2012
|
return vercelTools;
|
|
1922
2013
|
}
|
|
1923
|
-
function getVercelAITools(client) {
|
|
1924
|
-
return convertMCPToolsToVercelAI(client);
|
|
2014
|
+
function getVercelAITools(client, options) {
|
|
2015
|
+
return convertMCPToolsToVercelAI(client, options);
|
|
1925
2016
|
}
|
|
1926
2017
|
export {
|
|
1927
2018
|
sendCallbackToOpener,
|
|
2019
|
+
parseState,
|
|
1928
2020
|
parseServerError,
|
|
1929
2021
|
isTokenExpiredError,
|
|
1930
2022
|
isAuthorizationError,
|
|
@@ -1933,6 +2025,7 @@ export {
|
|
|
1933
2025
|
githubPlugin,
|
|
1934
2026
|
getVercelAITools,
|
|
1935
2027
|
genericOAuthPlugin,
|
|
2028
|
+
generateStateWithReturnUrl,
|
|
1936
2029
|
generateState,
|
|
1937
2030
|
generateCodeVerifier,
|
|
1938
2031
|
generateCodeChallenge,
|
package/dist/server.js
CHANGED
|
@@ -406,6 +406,30 @@ function generateState() {
|
|
|
406
406
|
}
|
|
407
407
|
return base64UrlEncode(array);
|
|
408
408
|
}
|
|
409
|
+
function generateStateWithReturnUrl(returnUrl) {
|
|
410
|
+
const csrf = generateState();
|
|
411
|
+
const stateData = returnUrl ? { csrf, returnUrl } : { csrf };
|
|
412
|
+
const encoder = new TextEncoder;
|
|
413
|
+
const jsonBytes = encoder.encode(JSON.stringify(stateData));
|
|
414
|
+
return base64UrlEncode(jsonBytes);
|
|
415
|
+
}
|
|
416
|
+
function parseState(state) {
|
|
417
|
+
try {
|
|
418
|
+
const decoded = base64UrlDecode(state);
|
|
419
|
+
const parsed = JSON.parse(decoded);
|
|
420
|
+
if (typeof parsed === "string") {
|
|
421
|
+
return { csrf: parsed };
|
|
422
|
+
} else if (parsed && typeof parsed === "object") {
|
|
423
|
+
return {
|
|
424
|
+
csrf: parsed.csrf || state,
|
|
425
|
+
returnUrl: parsed.returnUrl
|
|
426
|
+
};
|
|
427
|
+
}
|
|
428
|
+
return { csrf: state };
|
|
429
|
+
} catch {
|
|
430
|
+
return { csrf: state };
|
|
431
|
+
}
|
|
432
|
+
}
|
|
409
433
|
function base64UrlEncode(array) {
|
|
410
434
|
let base64 = "";
|
|
411
435
|
if (typeof Buffer !== "undefined") {
|
|
@@ -416,6 +440,23 @@ function base64UrlEncode(array) {
|
|
|
416
440
|
}
|
|
417
441
|
return base64.replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
|
|
418
442
|
}
|
|
443
|
+
function base64UrlDecode(str) {
|
|
444
|
+
let base64 = str.replace(/-/g, "+").replace(/_/g, "/");
|
|
445
|
+
while (base64.length % 4 !== 0) {
|
|
446
|
+
base64 += "=";
|
|
447
|
+
}
|
|
448
|
+
if (typeof Buffer !== "undefined") {
|
|
449
|
+
return Buffer.from(base64, "base64").toString("utf-8");
|
|
450
|
+
} else {
|
|
451
|
+
const binary = atob(base64);
|
|
452
|
+
const bytes = new Uint8Array(binary.length);
|
|
453
|
+
for (let i = 0;i < binary.length; i++) {
|
|
454
|
+
bytes[i] = binary.charCodeAt(i);
|
|
455
|
+
}
|
|
456
|
+
const decoder = new TextDecoder;
|
|
457
|
+
return decoder.decode(bytes);
|
|
458
|
+
}
|
|
459
|
+
}
|
|
419
460
|
|
|
420
461
|
// src/oauth/window-manager.ts
|
|
421
462
|
function isBrowser() {
|
|
@@ -622,10 +663,10 @@ class OAuthManager {
|
|
|
622
663
|
};
|
|
623
664
|
this.cleanupExpiredPendingAuths();
|
|
624
665
|
}
|
|
625
|
-
async initiateFlow(provider, config) {
|
|
666
|
+
async initiateFlow(provider, config, returnUrl) {
|
|
626
667
|
const codeVerifier = generateCodeVerifier();
|
|
627
668
|
const codeChallenge = await generateCodeChallenge(codeVerifier);
|
|
628
|
-
const state =
|
|
669
|
+
const state = generateStateWithReturnUrl(returnUrl);
|
|
629
670
|
const pendingAuth = {
|
|
630
671
|
provider,
|
|
631
672
|
state,
|
|
@@ -633,6 +674,7 @@ class OAuthManager {
|
|
|
633
674
|
codeChallenge,
|
|
634
675
|
scopes: config.scopes,
|
|
635
676
|
redirectUri: config.redirectUri,
|
|
677
|
+
returnUrl,
|
|
636
678
|
initiatedAt: Date.now()
|
|
637
679
|
};
|
|
638
680
|
this.pendingAuths.set(state, pendingAuth);
|
|
@@ -1283,7 +1325,7 @@ class MCPClient {
|
|
|
1283
1325
|
async getAuthorizationStatus(provider) {
|
|
1284
1326
|
return await this.oauthManager.checkAuthStatus(provider);
|
|
1285
1327
|
}
|
|
1286
|
-
async authorize(provider) {
|
|
1328
|
+
async authorize(provider, options) {
|
|
1287
1329
|
const plugin = this.plugins.find((p) => p.oauth?.provider === provider);
|
|
1288
1330
|
if (!plugin?.oauth) {
|
|
1289
1331
|
const error = new Error(`No OAuth configuration found for provider: ${provider}`);
|
|
@@ -1292,7 +1334,7 @@ class MCPClient {
|
|
|
1292
1334
|
}
|
|
1293
1335
|
this.eventEmitter.emit("auth:started", { provider });
|
|
1294
1336
|
try {
|
|
1295
|
-
await this.oauthManager.initiateFlow(provider, plugin.oauth);
|
|
1337
|
+
await this.oauthManager.initiateFlow(provider, plugin.oauth, options?.returnUrl);
|
|
1296
1338
|
const tokenData = this.oauthManager.getProviderToken(provider);
|
|
1297
1339
|
if (tokenData) {
|
|
1298
1340
|
this.eventEmitter.emit("auth:complete", {
|
|
@@ -1331,6 +1373,14 @@ class MCPClient {
|
|
|
1331
1373
|
this.oauthManager.setProviderToken(provider, tokenData);
|
|
1332
1374
|
this.authState.set(provider, { authenticated: true });
|
|
1333
1375
|
}
|
|
1376
|
+
getAllProviderTokens() {
|
|
1377
|
+
const tokens = {};
|
|
1378
|
+
const allTokens = this.oauthManager.getAllProviderTokens();
|
|
1379
|
+
for (const [provider, tokenData] of allTokens.entries()) {
|
|
1380
|
+
tokens[provider] = tokenData.accessToken;
|
|
1381
|
+
}
|
|
1382
|
+
return tokens;
|
|
1383
|
+
}
|
|
1334
1384
|
async reauthenticate(provider) {
|
|
1335
1385
|
const state = this.authState.get(provider);
|
|
1336
1386
|
if (!state) {
|
|
@@ -16,6 +16,9 @@ export interface OAuthRedirectConfig {
|
|
|
16
16
|
* This handler processes OAuth callbacks from providers and redirects
|
|
17
17
|
* to your application with the OAuth parameters encoded in the URL.
|
|
18
18
|
*
|
|
19
|
+
* The handler automatically extracts the return URL from the state parameter
|
|
20
|
+
* (if provided during authorization), with fallbacks to referrer or configured URL.
|
|
21
|
+
*
|
|
19
22
|
* @param config - Redirect configuration
|
|
20
23
|
* @returns Next.js route handler
|
|
21
24
|
*
|
|
@@ -24,9 +27,13 @@ export interface OAuthRedirectConfig {
|
|
|
24
27
|
* // app/oauth/callback/route.ts
|
|
25
28
|
* import { createOAuthRedirectHandler } from 'integrate-sdk';
|
|
26
29
|
*
|
|
30
|
+
* // Simple usage with fallback URL
|
|
27
31
|
* export const GET = createOAuthRedirectHandler({
|
|
28
|
-
* redirectUrl: '/
|
|
32
|
+
* redirectUrl: '/', // Fallback if no return URL in state
|
|
29
33
|
* });
|
|
34
|
+
*
|
|
35
|
+
* // Dynamic return URLs work automatically when using client.authorize()
|
|
36
|
+
* // await client.authorize('github', { returnUrl: '/marketplace/github' });
|
|
30
37
|
* ```
|
|
31
38
|
*/
|
|
32
39
|
export declare function createOAuthRedirectHandler(config?: OAuthRedirectConfig): (req: NextRequest) => Promise<NextResponse>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nextjs-oauth-redirect.d.ts","sourceRoot":"","sources":["../../../src/adapters/nextjs-oauth-redirect.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"nextjs-oauth-redirect.d.ts","sourceRoot":"","sources":["../../../src/adapters/nextjs-oauth-redirect.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,KAAK,WAAW,GAAG,GAAG,CAAC;AACvB,KAAK,YAAY,GAAG,GAAG,CAAC;AAExB,MAAM,WAAW,mBAAmB;IAClC,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,CAAC,EAAE,mBAAmB,IAI3C,KAAK,WAAW,KAAG,OAAO,CAAC,YAAY,CAAC,CA8DnE"}
|
package/dist/src/client.d.ts
CHANGED
|
@@ -294,17 +294,28 @@ export declare class MCPClient<TPlugins extends readonly MCPPlugin[] = readonly
|
|
|
294
294
|
* Opens authorization URL in popup or redirects based on configuration
|
|
295
295
|
*
|
|
296
296
|
* @param provider - Provider name (github, gmail, etc.)
|
|
297
|
+
* @param options - Optional configuration for the authorization flow
|
|
298
|
+
* @param options.returnUrl - URL to redirect to after OAuth completion (for redirect mode)
|
|
297
299
|
*
|
|
298
300
|
* @example
|
|
299
301
|
* ```typescript
|
|
300
|
-
* //
|
|
302
|
+
* // Basic usage - popup flow
|
|
301
303
|
* await client.authorize('github');
|
|
302
304
|
*
|
|
303
|
-
* // Redirect flow
|
|
304
|
-
* await client.authorize('github'
|
|
305
|
+
* // Redirect flow with custom return URL
|
|
306
|
+
* await client.authorize('github', {
|
|
307
|
+
* returnUrl: '/marketplace/github'
|
|
308
|
+
* });
|
|
309
|
+
*
|
|
310
|
+
* // Auto-detect current location
|
|
311
|
+
* await client.authorize('github', {
|
|
312
|
+
* returnUrl: window.location.pathname
|
|
313
|
+
* });
|
|
305
314
|
* ```
|
|
306
315
|
*/
|
|
307
|
-
authorize(provider: string
|
|
316
|
+
authorize(provider: string, options?: {
|
|
317
|
+
returnUrl?: string;
|
|
318
|
+
}): Promise<void>;
|
|
308
319
|
/**
|
|
309
320
|
* Handle OAuth callback after user authorization
|
|
310
321
|
* Call this from your OAuth callback page with code and state from URL
|
|
@@ -341,6 +352,30 @@ export declare class MCPClient<TPlugins extends readonly MCPPlugin[] = readonly
|
|
|
341
352
|
* @param tokenData - Provider token data
|
|
342
353
|
*/
|
|
343
354
|
setProviderToken(provider: string, tokenData: import('./oauth/types.js').ProviderTokenData): void;
|
|
355
|
+
/**
|
|
356
|
+
* Get all provider tokens
|
|
357
|
+
* Returns a map of provider names to access tokens
|
|
358
|
+
* Useful for server-side usage where you need to pass tokens from client to server
|
|
359
|
+
*
|
|
360
|
+
* @returns Record of provider names to access tokens
|
|
361
|
+
*
|
|
362
|
+
* @example
|
|
363
|
+
* ```typescript
|
|
364
|
+
* // Client-side: Get all tokens to send to server
|
|
365
|
+
* const tokens = client.getAllProviderTokens();
|
|
366
|
+
* // { github: 'ghp_...', gmail: 'ya29...' }
|
|
367
|
+
*
|
|
368
|
+
* // Send to server
|
|
369
|
+
* await fetch('/api/ai', {
|
|
370
|
+
* method: 'POST',
|
|
371
|
+
* headers: {
|
|
372
|
+
* 'x-integrate-tokens': JSON.stringify(tokens)
|
|
373
|
+
* },
|
|
374
|
+
* body: JSON.stringify({ prompt: 'Create a GitHub issue' })
|
|
375
|
+
* });
|
|
376
|
+
* ```
|
|
377
|
+
*/
|
|
378
|
+
getAllProviderTokens(): Record<string, string>;
|
|
344
379
|
/**
|
|
345
380
|
* Manually trigger re-authentication for a specific provider
|
|
346
381
|
* Useful if you want to proactively refresh tokens
|
package/dist/src/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ export { MCPClient, createMCPClient, clearClientCache } from "./client.js";
|
|
|
6
6
|
export type { ToolInvocationOptions } from "./client.js";
|
|
7
7
|
export { OAuthManager } from "./oauth/manager.js";
|
|
8
8
|
export { OAuthWindowManager, sendCallbackToOpener } from "./oauth/window-manager.js";
|
|
9
|
-
export { generateCodeVerifier, generateCodeChallenge, generateState } from "./oauth/pkce.js";
|
|
9
|
+
export { generateCodeVerifier, generateCodeChallenge, generateState, generateStateWithReturnUrl, parseState } from "./oauth/pkce.js";
|
|
10
10
|
export type { OAuthFlowConfig, PopupOptions, AuthStatus, PendingAuth, AuthorizationUrlResponse, OAuthCallbackResponse, OAuthCallbackParams, ProviderTokenData, OAuthEventType, OAuthEventHandler, AuthStartedEvent, AuthCompleteEvent, AuthErrorEvent, AuthDisconnectEvent, AuthLogoutEvent, } from "./oauth/types.js";
|
|
11
11
|
export { OAuthHandler } from "./adapters/base-handler.js";
|
|
12
12
|
export type { OAuthHandlerConfig, AuthorizeRequest, AuthorizeResponse, CallbackRequest, CallbackResponse, StatusResponse, DisconnectRequest, DisconnectResponse, } from "./adapters/base-handler.js";
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC3E,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC3E,YAAY,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAGzD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,aAAa,EAAE,0BAA0B,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACrI,YAAY,EACV,eAAe,EACf,YAAY,EACZ,UAAU,EACV,WAAW,EACX,wBAAwB,EACxB,qBAAqB,EACrB,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,YAAY,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAG1E,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGvF,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAGrB,YAAY,EACV,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE/F,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAG3F,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,EACL,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAGrE,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,gBAAgB,GACjB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE,YAAY,EACV,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,oBAAoB,EACpB,mBAAmB,EACnB,OAAO,EACP,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,YAAY,EACV,cAAc,EACd,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC"}
|
|
@@ -13,22 +13,45 @@ export interface VercelAITool {
|
|
|
13
13
|
parameters: Record<string, unknown>;
|
|
14
14
|
execute: (args: Record<string, unknown>) => Promise<unknown>;
|
|
15
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* Options for converting MCP tools to Vercel AI SDK format
|
|
18
|
+
*/
|
|
19
|
+
export interface VercelAIToolsOptions {
|
|
20
|
+
/**
|
|
21
|
+
* Provider tokens for server-side usage
|
|
22
|
+
* Maps provider names (e.g., 'github', 'gmail') to their access tokens
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* const tools = getVercelAITools(serverClient, {
|
|
27
|
+
* providerTokens: {
|
|
28
|
+
* github: 'ghp_...',
|
|
29
|
+
* gmail: 'ya29...'
|
|
30
|
+
* }
|
|
31
|
+
* });
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
providerTokens?: Record<string, string>;
|
|
35
|
+
}
|
|
16
36
|
/**
|
|
17
37
|
* Convert a single MCP tool to Vercel AI SDK format
|
|
18
38
|
*
|
|
19
39
|
* @param mcpTool - The MCP tool definition
|
|
20
40
|
* @param client - The MCP client instance (used for executing the tool)
|
|
41
|
+
* @param options - Optional configuration including provider tokens
|
|
21
42
|
* @returns Vercel AI SDK compatible tool definition
|
|
22
43
|
*/
|
|
23
|
-
export declare function convertMCPToolToVercelAI(mcpTool: MCPTool, client: MCPClient): VercelAITool;
|
|
44
|
+
export declare function convertMCPToolToVercelAI(mcpTool: MCPTool, client: MCPClient<any>, options?: VercelAIToolsOptions): VercelAITool;
|
|
24
45
|
/**
|
|
25
46
|
* Convert all enabled MCP tools to Vercel AI SDK format
|
|
26
47
|
*
|
|
27
48
|
* @param client - The MCP client instance (must be connected)
|
|
49
|
+
* @param options - Optional configuration including provider tokens for server-side usage
|
|
28
50
|
* @returns Object mapping tool names to Vercel AI SDK tool definitions
|
|
29
51
|
*
|
|
30
52
|
* @example
|
|
31
53
|
* ```typescript
|
|
54
|
+
* // Client-side usage
|
|
32
55
|
* import { createMCPClient, githubPlugin } from 'integrate-sdk';
|
|
33
56
|
* import { convertMCPToolsToVercelAI } from 'integrate-sdk/vercel-ai';
|
|
34
57
|
* import { generateText } from 'ai';
|
|
@@ -47,15 +70,55 @@ export declare function convertMCPToolToVercelAI(mcpTool: MCPTool, client: MCPCl
|
|
|
47
70
|
* tools,
|
|
48
71
|
* });
|
|
49
72
|
* ```
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* // Server-side usage with token passing
|
|
77
|
+
* import { createMCPServer, githubPlugin } from 'integrate-sdk/server';
|
|
78
|
+
* import { convertMCPToolsToVercelAI } from 'integrate-sdk/vercel-ai';
|
|
79
|
+
*
|
|
80
|
+
* const { client: serverClient } = createMCPServer({
|
|
81
|
+
* plugins: [githubPlugin({ clientId: '...', clientSecret: '...' })],
|
|
82
|
+
* });
|
|
83
|
+
*
|
|
84
|
+
* // In your API route handler
|
|
85
|
+
* export async function POST(req: Request) {
|
|
86
|
+
* const providerTokens = JSON.parse(req.headers.get('x-integrate-tokens') || '{}');
|
|
87
|
+
*
|
|
88
|
+
* const tools = convertMCPToolsToVercelAI(serverClient, { providerTokens });
|
|
89
|
+
*
|
|
90
|
+
* const result = await generateText({
|
|
91
|
+
* model: openai('gpt-4'),
|
|
92
|
+
* prompt: 'Create a GitHub issue',
|
|
93
|
+
* tools,
|
|
94
|
+
* });
|
|
95
|
+
*
|
|
96
|
+
* return Response.json(result);
|
|
97
|
+
* }
|
|
98
|
+
* ```
|
|
50
99
|
*/
|
|
51
|
-
export declare function convertMCPToolsToVercelAI(client: MCPClient): Record<string, VercelAITool>;
|
|
100
|
+
export declare function convertMCPToolsToVercelAI(client: MCPClient<any>, options?: VercelAIToolsOptions): Record<string, VercelAITool>;
|
|
52
101
|
/**
|
|
53
102
|
* Get tools in a format compatible with Vercel AI SDK's tools parameter
|
|
54
103
|
*
|
|
55
104
|
* This is an alternative that returns the tools in the exact format expected by ai.generateText()
|
|
56
105
|
*
|
|
57
106
|
* @param client - The MCP client instance (must be connected)
|
|
107
|
+
* @param options - Optional configuration including provider tokens for server-side usage
|
|
58
108
|
* @returns Tools object ready to pass to generateText({ tools: ... })
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* ```typescript
|
|
112
|
+
* // Client-side usage
|
|
113
|
+
* const tools = getVercelAITools(mcpClient);
|
|
114
|
+
* ```
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* ```typescript
|
|
118
|
+
* // Server-side usage with tokens from client
|
|
119
|
+
* const providerTokens = JSON.parse(req.headers.get('x-integrate-tokens') || '{}');
|
|
120
|
+
* const tools = getVercelAITools(serverClient, { providerTokens });
|
|
121
|
+
* ```
|
|
59
122
|
*/
|
|
60
|
-
export declare function getVercelAITools(client: MCPClient): Record<string, VercelAITool>;
|
|
123
|
+
export declare function getVercelAITools(client: MCPClient<any>, options?: VercelAIToolsOptions): Record<string, VercelAITool>;
|
|
61
124
|
//# sourceMappingURL=vercel-ai.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vercel-ai.d.ts","sourceRoot":"","sources":["../../../src/integrations/vercel-ai.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9D;
|
|
1
|
+
{"version":3,"file":"vercel-ai.d.ts","sourceRoot":"","sources":["../../../src/integrations/vercel-ai.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9D;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;;;;OAaG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAwBD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,YAAY,CAsCd;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAS9B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,CAAC,GAAG,CAAC,EACtB,OAAO,CAAC,EAAE,oBAAoB,gCAG/B"}
|
|
@@ -20,19 +20,24 @@ export declare class OAuthManager {
|
|
|
20
20
|
*
|
|
21
21
|
* @param provider - OAuth provider (github, gmail, etc.)
|
|
22
22
|
* @param config - OAuth configuration
|
|
23
|
+
* @param returnUrl - Optional URL to redirect to after OAuth completion
|
|
23
24
|
* @returns Promise that resolves when authorization is complete
|
|
24
25
|
*
|
|
25
26
|
* @example
|
|
26
27
|
* ```typescript
|
|
28
|
+
* // Basic flow
|
|
27
29
|
* await oauthManager.initiateFlow('github', {
|
|
28
30
|
* provider: 'github',
|
|
29
31
|
* clientId: 'abc123',
|
|
30
32
|
* clientSecret: 'secret',
|
|
31
33
|
* scopes: ['repo', 'user']
|
|
32
34
|
* });
|
|
35
|
+
*
|
|
36
|
+
* // With return URL
|
|
37
|
+
* await oauthManager.initiateFlow('github', config, '/marketplace/github');
|
|
33
38
|
* ```
|
|
34
39
|
*/
|
|
35
|
-
initiateFlow(provider: string, config: OAuthConfig): Promise<void>;
|
|
40
|
+
initiateFlow(provider: string, config: OAuthConfig, returnUrl?: string): Promise<void>;
|
|
36
41
|
/**
|
|
37
42
|
* Handle OAuth callback
|
|
38
43
|
* Call this after user authorizes (from your callback page)
|
|
@@ -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,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,eAAe,EAEf,UAAU,EAGV,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAIpB;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,YAAY,CAAS;gBAG3B,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;IAcvC
|
|
1
|
+
{"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/oauth/manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EACV,eAAe,EAEf,UAAU,EAGV,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAIpB;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,YAAY,CAAuC;IAC3D,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,YAAY,CAAS;gBAG3B,YAAY,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;IAcvC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6C5F;;;;;;;;;;;;;;OAcG;IACG,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAkEpG;;;;;;;;;;;;;;;;;OAiBG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAoB5D;;;;;;;;;;;;;;;;OAgBG;IACG,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYzD;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS;IAIjE;;OAEG;IACH,oBAAoB,IAAI,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAItD;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,iBAAiB,GAAG,IAAI;IAKtE;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAW1C;;OAEG;IACH,sBAAsB,IAAI,IAAI;IAe9B;;;OAGG;IACH,oBAAoB,IAAI,IAAI;IAwB5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAezB;;OAEG;IACH,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,IAAI;IAShD;;;;;OAKG;IACH,OAAO,CAAC,wBAAwB;IAWhC;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAelC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAWpC;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAoClC;;;OAGG;YACW,mBAAmB;IAiCjC;;;OAGG;YACW,oBAAoB;IA8BlC;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd"}
|
package/dist/src/oauth/pkce.d.ts
CHANGED
|
@@ -44,4 +44,39 @@ export declare function generateCodeChallenge(verifier: string): Promise<string>
|
|
|
44
44
|
* ```
|
|
45
45
|
*/
|
|
46
46
|
export declare function generateState(): string;
|
|
47
|
+
/**
|
|
48
|
+
* Generate a state parameter with optional return URL
|
|
49
|
+
* Encodes both CSRF token and return URL for dynamic post-OAuth redirects
|
|
50
|
+
*
|
|
51
|
+
* @param returnUrl - Optional URL to redirect to after OAuth completion
|
|
52
|
+
* @returns A state string encoding both CSRF token and returnUrl
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```typescript
|
|
56
|
+
* // Simple state without return URL
|
|
57
|
+
* const state = generateStateWithReturnUrl();
|
|
58
|
+
*
|
|
59
|
+
* // State with return URL
|
|
60
|
+
* const state = generateStateWithReturnUrl('/marketplace/github');
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export declare function generateStateWithReturnUrl(returnUrl?: string): string;
|
|
64
|
+
/**
|
|
65
|
+
* Parse a state parameter to extract CSRF token and optional return URL
|
|
66
|
+
* Handles both old format (plain string) and new format (JSON object)
|
|
67
|
+
*
|
|
68
|
+
* @param state - The state parameter to parse
|
|
69
|
+
* @returns Object containing csrf token and optional returnUrl
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```typescript
|
|
73
|
+
* const stateData = parseState(state);
|
|
74
|
+
* console.log(stateData.csrf); // CSRF token
|
|
75
|
+
* console.log(stateData.returnUrl); // Return URL (if present)
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
export declare function parseState(state: string): {
|
|
79
|
+
csrf: string;
|
|
80
|
+
returnUrl?: string;
|
|
81
|
+
};
|
|
47
82
|
//# sourceMappingURL=pkce.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pkce.d.ts","sourceRoot":"","sources":["../../../src/oauth/pkce.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAgB7C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAqB7E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAatC"}
|
|
1
|
+
{"version":3,"file":"pkce.d.ts","sourceRoot":"","sources":["../../../src/oauth/pkce.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAgB7C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAqB7E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAatC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAQrE;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAwB9E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/oauth/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/oauth/types.ts"],"names":[],"mappings":"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"}
|