integrate-sdk 0.7.24 → 0.7.26
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/adapters/auto-routes.d.ts +51 -0
- package/dist/adapters/auto-routes.d.ts.map +1 -0
- package/dist/adapters/auto-routes.js +2 -2
- package/dist/adapters/base-handler.d.ts +182 -0
- package/dist/adapters/base-handler.d.ts.map +1 -0
- package/dist/adapters/base-handler.js +1 -1
- package/dist/adapters/index.d.ts +12 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +2048 -0
- package/dist/adapters/nextjs-oauth-redirect.d.ts +41 -0
- package/dist/adapters/nextjs-oauth-redirect.d.ts.map +1 -0
- package/dist/adapters/nextjs-oauth-redirect.js +2 -2
- package/dist/adapters/nextjs.d.ts +358 -0
- package/dist/adapters/nextjs.d.ts.map +1 -0
- package/dist/adapters/nextjs.js +3 -3
- package/dist/adapters/node.d.ts +48 -0
- package/dist/adapters/node.d.ts.map +1 -0
- package/dist/adapters/node.js +2 -2
- package/dist/adapters/solid-start.d.ts +8 -0
- package/dist/adapters/solid-start.d.ts.map +1 -0
- package/dist/adapters/solid-start.js +12 -12
- package/dist/adapters/svelte-kit.d.ts +83 -0
- package/dist/adapters/svelte-kit.d.ts.map +1 -0
- package/dist/adapters/svelte-kit.js +13 -13
- package/dist/adapters/tanstack-start.d.ts +53 -0
- package/dist/adapters/tanstack-start.d.ts.map +1 -0
- package/dist/adapters/tanstack-start.js +1 -1
- package/dist/index.js +0 -4202
- package/dist/server.d.ts +12 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +4708 -0
- package/dist/src/adapters/index.d.ts +12 -0
- package/dist/src/adapters/index.d.ts.map +1 -0
- package/dist/src/index.d.ts +0 -2
- package/dist/src/index.d.ts.map +1 -1
- package/package.json +3 -63
- package/server.ts +12 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Auto-generated OAuth Routes
|
|
3
|
+
* Automatically creates the correct route handlers based on framework detection
|
|
4
|
+
*/
|
|
5
|
+
import { type OAuthHandlerConfig } from './base-handler.js';
|
|
6
|
+
/**
|
|
7
|
+
* Set the global OAuth configuration
|
|
8
|
+
* Called internally by createMCPClient
|
|
9
|
+
*/
|
|
10
|
+
export declare function setGlobalOAuthConfig(config: OAuthHandlerConfig): void;
|
|
11
|
+
/**
|
|
12
|
+
* Get the global OAuth configuration
|
|
13
|
+
*/
|
|
14
|
+
export declare function getGlobalOAuthConfig(): OAuthHandlerConfig | null;
|
|
15
|
+
/**
|
|
16
|
+
* Universal OAuth route handler
|
|
17
|
+
* Automatically detects framework and handles all OAuth actions
|
|
18
|
+
*
|
|
19
|
+
* This is the magic function that makes everything "just work"
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* // app/api/integrate/oauth/[action]/route.ts (Next.js)
|
|
24
|
+
* export * from 'integrate-sdk/oauth';
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```typescript
|
|
29
|
+
* // app/routes/api/integrate/oauth/[action].ts (TanStack Start)
|
|
30
|
+
* export * from 'integrate-sdk/oauth';
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
/**
|
|
34
|
+
* Universal POST handler
|
|
35
|
+
* Handles authorize, callback, and disconnect actions
|
|
36
|
+
*/
|
|
37
|
+
export declare function POST(req: any, context?: {
|
|
38
|
+
params: {
|
|
39
|
+
action: string;
|
|
40
|
+
};
|
|
41
|
+
}): Promise<any>;
|
|
42
|
+
/**
|
|
43
|
+
* Universal GET handler
|
|
44
|
+
* Handles status action
|
|
45
|
+
*/
|
|
46
|
+
export declare function GET(req: any, context?: {
|
|
47
|
+
params: {
|
|
48
|
+
action: string;
|
|
49
|
+
};
|
|
50
|
+
}): Promise<any>;
|
|
51
|
+
//# sourceMappingURL=auto-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auto-routes.d.ts","sourceRoot":"","sources":["../../../src/adapters/auto-routes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAgB,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAQ1E;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,kBAAkB,GAAG,IAAI,CAErE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,kBAAkB,GAAG,IAAI,CAEhE;AAED;;;;;;;;;;;;;;;;;GAiBG;AAkBH;;;GAGG;AACH,wBAAsB,IAAI,CACxB,GAAG,EAAE,GAAG,EACR,OAAO,CAAC,EAAE;IAAE,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACvC,OAAO,CAAC,GAAG,CAAC,CAgDd;AAED;;;GAGG;AACH,wBAAsB,GAAG,CACvB,GAAG,EAAE,GAAG,EACR,OAAO,CAAC,EAAE;IAAE,MAAM,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GACvC,OAAO,CAAC,GAAG,CAAC,CAoCd"}
|
|
@@ -10,7 +10,7 @@ var __export = (target, all) => {
|
|
|
10
10
|
};
|
|
11
11
|
var __esm = (fn, res) => () => (fn && (res = fn(fn = 0)), res);
|
|
12
12
|
|
|
13
|
-
//
|
|
13
|
+
// base-handler.ts
|
|
14
14
|
class OAuthHandler {
|
|
15
15
|
config;
|
|
16
16
|
serverUrl;
|
|
@@ -175,7 +175,7 @@ class OAuthHandler {
|
|
|
175
175
|
}
|
|
176
176
|
var MCP_SERVER_URL = "https://mcp.integrate.dev/api/v1/mcp";
|
|
177
177
|
|
|
178
|
-
//
|
|
178
|
+
// auto-routes.ts
|
|
179
179
|
var globalOAuthConfig = null;
|
|
180
180
|
function setGlobalOAuthConfig(config) {
|
|
181
181
|
globalOAuthConfig = config;
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Base OAuth Handler
|
|
3
|
+
* Framework-agnostic OAuth route logic for secure server-side token management
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* OAuth handler configuration
|
|
7
|
+
* OAuth credentials for each provider
|
|
8
|
+
*/
|
|
9
|
+
export interface OAuthHandlerConfig {
|
|
10
|
+
/** OAuth configurations by provider */
|
|
11
|
+
providers: Record<string, {
|
|
12
|
+
/** OAuth client ID from environment variables */
|
|
13
|
+
clientId: string;
|
|
14
|
+
/** OAuth client secret from environment variables */
|
|
15
|
+
clientSecret: string;
|
|
16
|
+
/** Optional redirect URI override */
|
|
17
|
+
redirectUri?: string;
|
|
18
|
+
}>;
|
|
19
|
+
/**
|
|
20
|
+
* MCP Server URL
|
|
21
|
+
* @default 'https://mcp.integrate.dev/api/v1/mcp'
|
|
22
|
+
*/
|
|
23
|
+
serverUrl?: string;
|
|
24
|
+
/**
|
|
25
|
+
* API Key for authentication and usage tracking (SERVER-SIDE ONLY)
|
|
26
|
+
* Sent as X-API-KEY header with all OAuth requests to the MCP server
|
|
27
|
+
*/
|
|
28
|
+
apiKey?: string;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Request body for authorize endpoint
|
|
32
|
+
*/
|
|
33
|
+
export interface AuthorizeRequest {
|
|
34
|
+
provider: string;
|
|
35
|
+
scopes: string[];
|
|
36
|
+
state: string;
|
|
37
|
+
codeChallenge: string;
|
|
38
|
+
codeChallengeMethod: string;
|
|
39
|
+
redirectUri?: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Response from authorize endpoint
|
|
43
|
+
*/
|
|
44
|
+
export interface AuthorizeResponse {
|
|
45
|
+
authorizationUrl: string;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Request body for callback endpoint
|
|
49
|
+
*/
|
|
50
|
+
export interface CallbackRequest {
|
|
51
|
+
provider: string;
|
|
52
|
+
code: string;
|
|
53
|
+
codeVerifier: string;
|
|
54
|
+
state: string;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Response from callback endpoint
|
|
58
|
+
*/
|
|
59
|
+
export interface CallbackResponse {
|
|
60
|
+
accessToken: string;
|
|
61
|
+
refreshToken?: string;
|
|
62
|
+
tokenType: string;
|
|
63
|
+
expiresIn: number;
|
|
64
|
+
expiresAt?: string;
|
|
65
|
+
scopes?: string[];
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Response from status endpoint
|
|
69
|
+
*/
|
|
70
|
+
export interface StatusResponse {
|
|
71
|
+
authorized: boolean;
|
|
72
|
+
scopes?: string[];
|
|
73
|
+
expiresAt?: string;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Request body for disconnect endpoint
|
|
77
|
+
*/
|
|
78
|
+
export interface DisconnectRequest {
|
|
79
|
+
provider: string;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Response from disconnect endpoint
|
|
83
|
+
*/
|
|
84
|
+
export interface DisconnectResponse {
|
|
85
|
+
success: boolean;
|
|
86
|
+
provider: string;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Request body for MCP tool call endpoint
|
|
90
|
+
*/
|
|
91
|
+
export interface ToolCallRequest {
|
|
92
|
+
name: string;
|
|
93
|
+
arguments?: Record<string, unknown>;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Response from MCP tool call endpoint
|
|
97
|
+
* Matches MCPToolCallResponse structure
|
|
98
|
+
*/
|
|
99
|
+
export interface ToolCallResponse {
|
|
100
|
+
content: Array<{
|
|
101
|
+
type: "text" | "image" | "resource";
|
|
102
|
+
text?: string;
|
|
103
|
+
data?: string;
|
|
104
|
+
mimeType?: string;
|
|
105
|
+
[key: string]: unknown;
|
|
106
|
+
}>;
|
|
107
|
+
isError?: boolean;
|
|
108
|
+
structuredContent?: Record<string, unknown>;
|
|
109
|
+
_meta?: Record<string, unknown>;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* OAuth Handler
|
|
113
|
+
* Handles OAuth authorization flows by proxying requests to MCP server
|
|
114
|
+
* with server-side OAuth credentials from environment variables
|
|
115
|
+
*/
|
|
116
|
+
export declare class OAuthHandler {
|
|
117
|
+
private config;
|
|
118
|
+
private readonly serverUrl;
|
|
119
|
+
private readonly apiKey?;
|
|
120
|
+
constructor(config: OAuthHandlerConfig);
|
|
121
|
+
/**
|
|
122
|
+
* Get headers with API key if configured
|
|
123
|
+
*/
|
|
124
|
+
private getHeaders;
|
|
125
|
+
/**
|
|
126
|
+
* Handle authorization URL request
|
|
127
|
+
* Gets authorization URL from MCP server with full OAuth credentials
|
|
128
|
+
*
|
|
129
|
+
* @param request - Authorization request from client
|
|
130
|
+
* @returns Authorization URL to redirect/open for user
|
|
131
|
+
*
|
|
132
|
+
* @throws Error if provider is not configured
|
|
133
|
+
* @throws Error if MCP server request fails
|
|
134
|
+
*/
|
|
135
|
+
handleAuthorize(request: AuthorizeRequest): Promise<AuthorizeResponse>;
|
|
136
|
+
/**
|
|
137
|
+
* Handle OAuth callback
|
|
138
|
+
* Exchanges authorization code for access token
|
|
139
|
+
*
|
|
140
|
+
* @param request - Callback request with authorization code
|
|
141
|
+
* @returns Access token and authorization details
|
|
142
|
+
*
|
|
143
|
+
* @throws Error if provider is not configured
|
|
144
|
+
* @throws Error if MCP server request fails
|
|
145
|
+
*/
|
|
146
|
+
handleCallback(request: CallbackRequest): Promise<CallbackResponse>;
|
|
147
|
+
/**
|
|
148
|
+
* Handle authorization status check
|
|
149
|
+
* Checks if a provider access token is valid
|
|
150
|
+
*
|
|
151
|
+
* @param provider - Provider to check
|
|
152
|
+
* @param accessToken - Access token from client
|
|
153
|
+
* @returns Authorization status
|
|
154
|
+
*
|
|
155
|
+
* @throws Error if MCP server request fails
|
|
156
|
+
*/
|
|
157
|
+
handleStatus(provider: string, accessToken: string): Promise<StatusResponse>;
|
|
158
|
+
/**
|
|
159
|
+
* Handle provider disconnection
|
|
160
|
+
* Revokes authorization for a specific provider
|
|
161
|
+
*
|
|
162
|
+
* @param request - Disconnect request with provider name
|
|
163
|
+
* @param accessToken - Access token from client
|
|
164
|
+
* @returns Disconnect response
|
|
165
|
+
*
|
|
166
|
+
* @throws Error if no access token provided
|
|
167
|
+
* @throws Error if MCP server request fails
|
|
168
|
+
*/
|
|
169
|
+
handleDisconnect(request: DisconnectRequest, accessToken: string): Promise<DisconnectResponse>;
|
|
170
|
+
/**
|
|
171
|
+
* Handle MCP tool call
|
|
172
|
+
* Forwards tool call requests to MCP server with API key and provider token
|
|
173
|
+
*
|
|
174
|
+
* @param request - Tool call request with name and arguments
|
|
175
|
+
* @param authHeader - Authorization header from client (Bearer token)
|
|
176
|
+
* @returns Tool call response
|
|
177
|
+
*
|
|
178
|
+
* @throws Error if MCP server request fails
|
|
179
|
+
*/
|
|
180
|
+
handleToolCall(request: ToolCallRequest, authHeader: string | null): Promise<ToolCallResponse>;
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=base-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-handler.d.ts","sourceRoot":"","sources":["../../../src/adapters/base-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adapters for various frameworks
|
|
3
|
+
*
|
|
4
|
+
* Re-exports all adapter modules for convenient access
|
|
5
|
+
*/
|
|
6
|
+
export * from "./nextjs.js";
|
|
7
|
+
export * from "./node.js";
|
|
8
|
+
export * from "./solid-start.js";
|
|
9
|
+
export * from "./svelte-kit.js";
|
|
10
|
+
export * from "./tanstack-start.js";
|
|
11
|
+
export * from "./base-handler.js";
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC"}
|