integrate-sdk 0.7.10 → 0.7.11
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 +33 -13
- package/dist/server.js +33 -13
- package/dist/src/server.d.ts +39 -29
- package/dist/src/server.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2405,28 +2405,48 @@ var GET = async (req, context) => {
|
|
|
2405
2405
|
const routes = handler.createRoutes();
|
|
2406
2406
|
return routes.GET(req, context);
|
|
2407
2407
|
};
|
|
2408
|
-
function toNextJsHandler(
|
|
2408
|
+
function toNextJsHandler(clientOrOptions, redirectOptions) {
|
|
2409
|
+
let config;
|
|
2410
|
+
let redirectUrl;
|
|
2411
|
+
let errorRedirectUrl;
|
|
2412
|
+
if (!clientOrOptions) {
|
|
2413
|
+
config = globalServerConfig;
|
|
2414
|
+
redirectUrl = redirectOptions?.redirectUrl;
|
|
2415
|
+
errorRedirectUrl = redirectOptions?.errorRedirectUrl;
|
|
2416
|
+
} else if (clientOrOptions.__oauthConfig) {
|
|
2417
|
+
config = clientOrOptions.__oauthConfig;
|
|
2418
|
+
redirectUrl = redirectOptions?.redirectUrl;
|
|
2419
|
+
errorRedirectUrl = redirectOptions?.errorRedirectUrl;
|
|
2420
|
+
} else if (typeof clientOrOptions === "object" && clientOrOptions.providers) {
|
|
2421
|
+
config = {
|
|
2422
|
+
providers: clientOrOptions.providers,
|
|
2423
|
+
serverUrl: clientOrOptions.serverUrl,
|
|
2424
|
+
apiKey: clientOrOptions.apiKey
|
|
2425
|
+
};
|
|
2426
|
+
redirectUrl = clientOrOptions.redirectUrl;
|
|
2427
|
+
errorRedirectUrl = clientOrOptions.errorRedirectUrl;
|
|
2428
|
+
} else {
|
|
2429
|
+
config = null;
|
|
2430
|
+
}
|
|
2431
|
+
if (!config) {
|
|
2432
|
+
throw new Error(`toNextJsHandler requires either:
|
|
2433
|
+
1. A client instance from createMCPServer()
|
|
2434
|
+
2. A config object with providers property
|
|
2435
|
+
3. No arguments (uses global config from createMCPServer)`);
|
|
2436
|
+
}
|
|
2409
2437
|
const POST2 = async (req, context) => {
|
|
2410
|
-
const config = options.config || options.client?.__oauthConfig;
|
|
2411
|
-
if (!config) {
|
|
2412
|
-
return Response.json({ error: 'OAuth not configured. You must pass either "client" (from createMCPServer) or "config" to toNextJsHandler().' }, { status: 500 });
|
|
2413
|
-
}
|
|
2414
2438
|
const handler = createNextOAuthHandler(config);
|
|
2415
2439
|
const routes = handler.toNextJsHandler({
|
|
2416
|
-
redirectUrl
|
|
2417
|
-
errorRedirectUrl
|
|
2440
|
+
redirectUrl,
|
|
2441
|
+
errorRedirectUrl
|
|
2418
2442
|
});
|
|
2419
2443
|
return routes.POST(req, context);
|
|
2420
2444
|
};
|
|
2421
2445
|
const GET2 = async (req, context) => {
|
|
2422
|
-
const config = options.config || options.client?.__oauthConfig;
|
|
2423
|
-
if (!config) {
|
|
2424
|
-
return Response.json({ error: 'OAuth not configured. You must pass either "client" (from createMCPServer) or "config" to toNextJsHandler().' }, { status: 500 });
|
|
2425
|
-
}
|
|
2426
2446
|
const handler = createNextOAuthHandler(config);
|
|
2427
2447
|
const routes = handler.toNextJsHandler({
|
|
2428
|
-
redirectUrl
|
|
2429
|
-
errorRedirectUrl
|
|
2448
|
+
redirectUrl,
|
|
2449
|
+
errorRedirectUrl
|
|
2430
2450
|
});
|
|
2431
2451
|
return routes.GET(req, context);
|
|
2432
2452
|
};
|
package/dist/server.js
CHANGED
|
@@ -2231,28 +2231,48 @@ var GET = async (req, context) => {
|
|
|
2231
2231
|
const routes = handler.createRoutes();
|
|
2232
2232
|
return routes.GET(req, context);
|
|
2233
2233
|
};
|
|
2234
|
-
function toNextJsHandler(
|
|
2234
|
+
function toNextJsHandler(clientOrOptions, redirectOptions) {
|
|
2235
|
+
let config;
|
|
2236
|
+
let redirectUrl;
|
|
2237
|
+
let errorRedirectUrl;
|
|
2238
|
+
if (!clientOrOptions) {
|
|
2239
|
+
config = globalServerConfig;
|
|
2240
|
+
redirectUrl = redirectOptions?.redirectUrl;
|
|
2241
|
+
errorRedirectUrl = redirectOptions?.errorRedirectUrl;
|
|
2242
|
+
} else if (clientOrOptions.__oauthConfig) {
|
|
2243
|
+
config = clientOrOptions.__oauthConfig;
|
|
2244
|
+
redirectUrl = redirectOptions?.redirectUrl;
|
|
2245
|
+
errorRedirectUrl = redirectOptions?.errorRedirectUrl;
|
|
2246
|
+
} else if (typeof clientOrOptions === "object" && clientOrOptions.providers) {
|
|
2247
|
+
config = {
|
|
2248
|
+
providers: clientOrOptions.providers,
|
|
2249
|
+
serverUrl: clientOrOptions.serverUrl,
|
|
2250
|
+
apiKey: clientOrOptions.apiKey
|
|
2251
|
+
};
|
|
2252
|
+
redirectUrl = clientOrOptions.redirectUrl;
|
|
2253
|
+
errorRedirectUrl = clientOrOptions.errorRedirectUrl;
|
|
2254
|
+
} else {
|
|
2255
|
+
config = null;
|
|
2256
|
+
}
|
|
2257
|
+
if (!config) {
|
|
2258
|
+
throw new Error(`toNextJsHandler requires either:
|
|
2259
|
+
1. A client instance from createMCPServer()
|
|
2260
|
+
2. A config object with providers property
|
|
2261
|
+
3. No arguments (uses global config from createMCPServer)`);
|
|
2262
|
+
}
|
|
2235
2263
|
const POST2 = async (req, context) => {
|
|
2236
|
-
const config = options.config || options.client?.__oauthConfig;
|
|
2237
|
-
if (!config) {
|
|
2238
|
-
return Response.json({ error: 'OAuth not configured. You must pass either "client" (from createMCPServer) or "config" to toNextJsHandler().' }, { status: 500 });
|
|
2239
|
-
}
|
|
2240
2264
|
const handler = createNextOAuthHandler(config);
|
|
2241
2265
|
const routes = handler.toNextJsHandler({
|
|
2242
|
-
redirectUrl
|
|
2243
|
-
errorRedirectUrl
|
|
2266
|
+
redirectUrl,
|
|
2267
|
+
errorRedirectUrl
|
|
2244
2268
|
});
|
|
2245
2269
|
return routes.POST(req, context);
|
|
2246
2270
|
};
|
|
2247
2271
|
const GET2 = async (req, context) => {
|
|
2248
|
-
const config = options.config || options.client?.__oauthConfig;
|
|
2249
|
-
if (!config) {
|
|
2250
|
-
return Response.json({ error: 'OAuth not configured. You must pass either "client" (from createMCPServer) or "config" to toNextJsHandler().' }, { status: 500 });
|
|
2251
|
-
}
|
|
2252
2272
|
const handler = createNextOAuthHandler(config);
|
|
2253
2273
|
const routes = handler.toNextJsHandler({
|
|
2254
|
-
redirectUrl
|
|
2255
|
-
errorRedirectUrl
|
|
2274
|
+
redirectUrl,
|
|
2275
|
+
errorRedirectUrl
|
|
2256
2276
|
});
|
|
2257
2277
|
return routes.GET(req, context);
|
|
2258
2278
|
};
|
package/dist/src/server.d.ts
CHANGED
|
@@ -122,15 +122,18 @@ export declare const GET: (req: any, context: {
|
|
|
122
122
|
}>;
|
|
123
123
|
}) => Promise<any>;
|
|
124
124
|
/**
|
|
125
|
-
* Create catch-all route handlers
|
|
125
|
+
* Create catch-all route handlers for Next.js
|
|
126
126
|
*
|
|
127
|
-
*
|
|
128
|
-
*
|
|
127
|
+
* Supports two usage patterns:
|
|
128
|
+
* 1. Pass a client instance from createMCPServer
|
|
129
|
+
* 2. Pass config object directly (for inline configuration)
|
|
129
130
|
*
|
|
130
|
-
* @param
|
|
131
|
+
* @param clientOrOptions - Client instance from createMCPServer, or config options
|
|
132
|
+
* @param redirectOptions - Redirect URL configuration (when first param is a client)
|
|
131
133
|
* @returns Object with POST and GET handlers for Next.js catch-all routes
|
|
132
134
|
*
|
|
133
135
|
* @example
|
|
136
|
+
* **Pattern 1: Using client from createMCPServer (Recommended)**
|
|
134
137
|
* ```typescript
|
|
135
138
|
* // lib/integrate-server.ts
|
|
136
139
|
* import { createMCPServer, githubPlugin } from 'integrate-sdk/server';
|
|
@@ -146,45 +149,52 @@ export declare const GET: (req: any, context: {
|
|
|
146
149
|
* });
|
|
147
150
|
*
|
|
148
151
|
* // app/api/integrate/[...all]/route.ts
|
|
149
|
-
*
|
|
150
|
-
* // RECOMMENDED: Import serverClient from your server setup file
|
|
151
152
|
* import { serverClient } from '@/lib/integrate-server';
|
|
152
153
|
* import { toNextJsHandler } from 'integrate-sdk/server';
|
|
153
154
|
*
|
|
154
|
-
* export const { POST, GET } = toNextJsHandler({
|
|
155
|
-
* client: serverClient, // Pass the client from createMCPServer
|
|
155
|
+
* export const { POST, GET } = toNextJsHandler(serverClient, {
|
|
156
156
|
* redirectUrl: '/dashboard',
|
|
157
|
+
* errorRedirectUrl: '/auth-error',
|
|
157
158
|
* });
|
|
159
|
+
* ```
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* **Pattern 2: Inline configuration**
|
|
163
|
+
* ```typescript
|
|
164
|
+
* // app/api/integrate/[...all]/route.ts
|
|
165
|
+
* import { toNextJsHandler } from 'integrate-sdk/server';
|
|
158
166
|
*
|
|
159
|
-
* // Alternative: Provide config inline
|
|
160
167
|
* export const { POST, GET } = toNextJsHandler({
|
|
161
|
-
*
|
|
162
|
-
*
|
|
163
|
-
*
|
|
164
|
-
*
|
|
165
|
-
* clientSecret: process.env.GITHUB_CLIENT_SECRET!,
|
|
166
|
-
* },
|
|
168
|
+
* providers: {
|
|
169
|
+
* github: {
|
|
170
|
+
* clientId: process.env.GITHUB_CLIENT_ID!,
|
|
171
|
+
* clientSecret: process.env.GITHUB_CLIENT_SECRET!,
|
|
167
172
|
* },
|
|
168
173
|
* },
|
|
169
174
|
* redirectUrl: '/dashboard',
|
|
175
|
+
* errorRedirectUrl: '/auth-error',
|
|
170
176
|
* });
|
|
171
177
|
* ```
|
|
172
178
|
*/
|
|
173
|
-
export declare function toNextJsHandler(
|
|
174
|
-
/**
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
179
|
+
export declare function toNextJsHandler(clientOrOptions?: any | {
|
|
180
|
+
/** OAuth provider configurations */
|
|
181
|
+
providers?: Record<string, {
|
|
182
|
+
clientId: string;
|
|
183
|
+
clientSecret: string;
|
|
184
|
+
redirectUri?: string;
|
|
185
|
+
}>;
|
|
186
|
+
/** Server URL for MCP server */
|
|
187
|
+
serverUrl?: string;
|
|
188
|
+
/** API key for authentication */
|
|
189
|
+
apiKey?: string;
|
|
190
|
+
/** URL to redirect to after successful OAuth callback (default: '/') */
|
|
191
|
+
redirectUrl?: string;
|
|
192
|
+
/** URL to redirect to on OAuth error (default: '/auth-error') */
|
|
193
|
+
errorRedirectUrl?: string;
|
|
194
|
+
}, redirectOptions?: {
|
|
195
|
+
/** URL to redirect to after successful OAuth callback (default: '/') */
|
|
186
196
|
redirectUrl?: string;
|
|
187
|
-
/** URL to redirect to on OAuth error */
|
|
197
|
+
/** URL to redirect to on OAuth error (default: '/auth-error') */
|
|
188
198
|
errorRedirectUrl?: string;
|
|
189
199
|
}): {
|
|
190
200
|
POST: (req: any, context: {
|
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;AA8CpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAgB,eAAe,CAAC,QAAQ,SAAS,SAAS,SAAS,EAAE,EACnE,MAAM,EAAE,eAAe,CAAC,QAAQ,CAAC;IAwR/B,2DAA2D;;IAG3D,4DAA4D;;;;;;;;IAG5D,2DAA2D;;;;;;;;IAG3D,oEAAoE;uBAlM3D,OAAO,YACN;QAAE,MAAM,CAAC,EAAE;YAAE,MAAM,CAAC,EAAE,MAAM,CAAC;YAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;SAAE,CAAA;KAAE,KAClE,OAAO,CAAC,QAAQ,CAAC;EAmMrB;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;AAEF
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|