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.
Files changed (37) hide show
  1. package/dist/adapters/auto-routes.d.ts +51 -0
  2. package/dist/adapters/auto-routes.d.ts.map +1 -0
  3. package/dist/adapters/auto-routes.js +2 -2
  4. package/dist/adapters/base-handler.d.ts +182 -0
  5. package/dist/adapters/base-handler.d.ts.map +1 -0
  6. package/dist/adapters/base-handler.js +1 -1
  7. package/dist/adapters/index.d.ts +12 -0
  8. package/dist/adapters/index.d.ts.map +1 -0
  9. package/dist/adapters/index.js +2048 -0
  10. package/dist/adapters/nextjs-oauth-redirect.d.ts +41 -0
  11. package/dist/adapters/nextjs-oauth-redirect.d.ts.map +1 -0
  12. package/dist/adapters/nextjs-oauth-redirect.js +2 -2
  13. package/dist/adapters/nextjs.d.ts +358 -0
  14. package/dist/adapters/nextjs.d.ts.map +1 -0
  15. package/dist/adapters/nextjs.js +3 -3
  16. package/dist/adapters/node.d.ts +48 -0
  17. package/dist/adapters/node.d.ts.map +1 -0
  18. package/dist/adapters/node.js +2 -2
  19. package/dist/adapters/solid-start.d.ts +8 -0
  20. package/dist/adapters/solid-start.d.ts.map +1 -0
  21. package/dist/adapters/solid-start.js +12 -12
  22. package/dist/adapters/svelte-kit.d.ts +83 -0
  23. package/dist/adapters/svelte-kit.d.ts.map +1 -0
  24. package/dist/adapters/svelte-kit.js +13 -13
  25. package/dist/adapters/tanstack-start.d.ts +53 -0
  26. package/dist/adapters/tanstack-start.d.ts.map +1 -0
  27. package/dist/adapters/tanstack-start.js +1 -1
  28. package/dist/index.js +0 -4202
  29. package/dist/server.d.ts +12 -0
  30. package/dist/server.d.ts.map +1 -1
  31. package/dist/server.js +4708 -0
  32. package/dist/src/adapters/index.d.ts +12 -0
  33. package/dist/src/adapters/index.d.ts.map +1 -0
  34. package/dist/src/index.d.ts +0 -2
  35. package/dist/src/index.d.ts.map +1 -1
  36. package/package.json +3 -63
  37. 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
- // src/adapters/base-handler.ts
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
- // src/adapters/auto-routes.ts
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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"}
@@ -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
- // src/adapters/base-handler.ts
13
+ // base-handler.ts
14
14
  class OAuthHandler {
15
15
  config;
16
16
  serverUrl;
@@ -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"}