integrate-sdk 0.8.27 → 0.8.28-dev.1

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.
@@ -3,7 +3,7 @@
3
3
  * Orchestrates OAuth 2.0 Authorization Code Flow with PKCE
4
4
  */
5
5
  import type { OAuthConfig } from "../integrations/types.js";
6
- import type { OAuthFlowConfig, AuthStatus, ProviderTokenData } from "./types.js";
6
+ import type { OAuthFlowConfig, AuthStatus, ProviderTokenData, AccountInfo } from "./types.js";
7
7
  import type { MCPContext } from "../config/types.js";
8
8
  /**
9
9
  * OAuth Manager
@@ -19,11 +19,12 @@ export declare class OAuthManager {
19
19
  private getTokenCallback?;
20
20
  private setTokenCallback?;
21
21
  private removeTokenCallback?;
22
+ private indexedDBStorage;
22
23
  private skipLocalStorage;
23
24
  constructor(oauthApiBase: string, flowConfig?: Partial<OAuthFlowConfig>, apiBaseUrl?: string, tokenCallbacks?: {
24
- getProviderToken?: (provider: string, context?: MCPContext) => Promise<ProviderTokenData | undefined> | ProviderTokenData | undefined;
25
- setProviderToken?: (provider: string, tokenData: ProviderTokenData | null, context?: MCPContext) => Promise<void> | void;
26
- removeProviderToken?: (provider: string, context?: MCPContext) => Promise<void> | void;
25
+ getProviderToken?: (provider: string, email?: string, context?: MCPContext) => Promise<ProviderTokenData | undefined> | ProviderTokenData | undefined;
26
+ setProviderToken?: (provider: string, tokenData: ProviderTokenData | null, email?: string, context?: MCPContext) => Promise<void> | void;
27
+ removeProviderToken?: (provider: string, email?: string, context?: MCPContext) => Promise<void> | void;
27
28
  });
28
29
  /**
29
30
  * Initiate OAuth authorization flow
@@ -98,23 +99,31 @@ export declare class OAuthManager {
98
99
  * }
99
100
  * ```
100
101
  */
101
- checkAuthStatus(provider: string): Promise<AuthStatus>;
102
+ checkAuthStatus(provider: string, email?: string): Promise<AuthStatus>;
102
103
  /**
103
- * Disconnect a specific provider
104
- * Clears the local token for the provider and removes it from the database if using callbacks
104
+ * Disconnect a specific account for a provider
105
+ * Clears the token for the specific account and removes it from the database if using callbacks
106
+ *
107
+ * @param provider - OAuth provider to disconnect
108
+ * @param email - Email of the account to disconnect
109
+ * @param context - Optional user context (userId, organizationId, etc.) for multi-tenant apps
110
+ * @returns Promise that resolves when disconnection is complete
111
+ */
112
+ disconnectAccount(provider: string, email: string, context?: MCPContext): Promise<void>;
113
+ /**
114
+ * Disconnect all accounts for a provider
115
+ * Clears all tokens for the provider and removes them from the database if using callbacks
105
116
  *
106
117
  * This method is idempotent - it can be called safely even if the provider
107
- * is already disconnected or has no token. If no token exists, it will
108
- * simply ensure all state is cleared and return successfully.
118
+ * is already disconnected or has no tokens.
109
119
  *
110
- * When using database callbacks (server-side), this will also delete the token
111
- * from the database. It first tries to use `removeProviderToken` callback if provided,
112
- * otherwise falls back to calling `setProviderToken` with null for backward compatibility.
120
+ * When using database callbacks (server-side), this will also delete all tokens
121
+ * from the database for the provider.
113
122
  *
114
- * When using client-side storage (no callbacks), this only clears tokens from localStorage
123
+ * When using client-side storage (no callbacks), this only clears tokens from IndexedDB
115
124
  * and in-memory cache. No server calls are made.
116
125
  *
117
- * Note: This only clears the local/in-memory token and database token. It does not revoke the token
126
+ * Note: This only clears the local/in-memory tokens and database tokens. It does not revoke the tokens
118
127
  * on the provider's side. For full revocation, handle that separately
119
128
  * in your application if needed.
120
129
  *
@@ -125,22 +134,30 @@ export declare class OAuthManager {
125
134
  * @example
126
135
  * ```typescript
127
136
  * await oauthManager.disconnectProvider('github');
128
- * // GitHub token is now cleared from cache and database
137
+ * // All GitHub tokens are now cleared from cache and database
129
138
  * ```
130
139
  */
131
140
  disconnectProvider(provider: string, context?: MCPContext): Promise<void>;
141
+ /**
142
+ * List all connected accounts for a provider
143
+ *
144
+ * @param provider - Provider name (e.g., 'github', 'gmail')
145
+ * @returns Array of account information
146
+ */
147
+ listAccounts(provider: string): Promise<AccountInfo[]>;
132
148
  /**
133
149
  * Get provider token data
134
- * Uses callback if provided, otherwise checks in-memory cache
150
+ * Uses callback if provided, otherwise checks IndexedDB or in-memory cache
135
151
  *
136
- * Note: This method only retrieves tokens - it does NOT clear tokens from localStorage
152
+ * Note: This method only retrieves tokens - it does NOT clear tokens from IndexedDB
137
153
  * or make any server calls for token deletion. Token clearing should be done via
138
- * disconnectProvider or clearProviderToken.
154
+ * disconnectProvider or disconnectAccount.
139
155
  *
140
156
  * @param provider - Provider name (e.g., 'github', 'gmail')
157
+ * @param email - Optional email to get specific account token
141
158
  * @param context - Optional user context (userId, organizationId, etc.) for multi-tenant apps
142
159
  */
143
- getProviderToken(provider: string, context?: MCPContext): Promise<ProviderTokenData | undefined>;
160
+ getProviderToken(provider: string, email?: string, context?: MCPContext): Promise<ProviderTokenData | undefined>;
144
161
  /**
145
162
  * Get all provider tokens
146
163
  */
@@ -154,18 +171,19 @@ export declare class OAuthManager {
154
171
  getProviderTokenFromCache(provider: string): ProviderTokenData | undefined;
155
172
  /**
156
173
  * Set provider token (for manual token management)
157
- * Uses callback if provided, otherwise uses localStorage
174
+ * Uses callback if provided, otherwise uses IndexedDB
158
175
  * @param provider - Provider name (e.g., 'github', 'gmail')
159
176
  * @param tokenData - Token data to store
177
+ * @param email - Optional email to store specific account token
160
178
  * @param context - Optional user context (userId, organizationId, etc.) for multi-tenant apps
161
179
  */
162
- setProviderToken(provider: string, tokenData: ProviderTokenData | null, context?: MCPContext): Promise<void>;
180
+ setProviderToken(provider: string, tokenData: ProviderTokenData | null, email?: string, context?: MCPContext): Promise<void>;
163
181
  /**
164
182
  * Clear specific provider token from client-side storage only
165
183
  *
166
184
  * This method is purely client-side and only clears tokens from:
167
185
  * - In-memory cache
168
- * - localStorage (when available and not using server-side database storage)
186
+ * - IndexedDB (when available and not using server-side database storage)
169
187
  *
170
188
  * Note: This method does NOT make any server calls or API requests.
171
189
  * When using database callbacks, this only clears the in-memory cache.
@@ -185,44 +203,41 @@ export declare class OAuthManager {
185
203
  */
186
204
  clearAllPendingAuths(): void;
187
205
  /**
188
- * Save provider token to database (via callback) or localStorage
206
+ * Save provider token to database (via callback) or IndexedDB
189
207
  *
190
208
  * Storage decision logic:
191
- * 1. If setTokenCallback is configured → use callback exclusively (no localStorage)
192
- * 2. If skipLocalStorage is true → skip localStorage (token only in memory)
193
- * 3. Otherwise → use localStorage (when callbacks are NOT configured AND skipLocalStorage is false)
209
+ * 1. If setTokenCallback is configured → use callback exclusively (no IndexedDB)
210
+ * 2. If skipLocalStorage is true → skip IndexedDB/localStorage (token only in memory)
211
+ * 3. Otherwise → use IndexedDB (when callbacks are NOT configured AND skipLocalStorage is false)
194
212
  *
195
213
  * @param provider - Provider name (e.g., 'github', 'gmail')
196
214
  * @param tokenData - Token data to store, or null to delete
215
+ * @param email - Optional email to store specific account token
197
216
  * @param context - Optional user context (userId, organizationId, etc.) for multi-tenant apps
198
217
  */
199
218
  private saveProviderToken;
200
219
  /**
201
- * Load provider token from database (via callback) or localStorage
220
+ * Load provider token from database (via callback) or IndexedDB
202
221
  *
203
222
  * Loading decision logic (mirrors saveProviderToken):
204
- * 1. If getTokenCallback is configured → use callback exclusively (no localStorage)
205
- * 2. If skipLocalStorage is true → skip localStorage (return undefined)
206
- * 3. Otherwise → use localStorage (when callbacks are NOT configured AND skipLocalStorage is false)
223
+ * 1. If getTokenCallback is configured → use callback exclusively (no IndexedDB)
224
+ * 2. If skipLocalStorage is true → skip IndexedDB/localStorage (only check memory cache)
225
+ * 3. Otherwise → use IndexedDB (when callbacks are NOT configured AND skipLocalStorage is false)
226
+ * 4. Fallback to localStorage if IndexedDB is not available (for backward compatibility)
207
227
  *
208
228
  * Returns undefined if not found or invalid
229
+ * Note: Without email, returns the first token found for the provider
209
230
  */
210
231
  private loadProviderToken;
211
232
  /**
212
- * Load all provider tokens from database (via callback) or localStorage on initialization
233
+ * Load all provider tokens from database (via callback) or IndexedDB on initialization
213
234
  */
214
235
  loadAllProviderTokens(providers: string[]): Promise<void>;
215
236
  /**
216
- * Load provider token synchronously from localStorage only
217
- * Returns undefined if not found or if using database callbacks
218
- * This method is synchronous and should only be used during initialization
219
- * when database callbacks are NOT configured
220
- */
221
- private loadProviderTokenSync;
222
- /**
223
- * Load all provider tokens synchronously from localStorage on initialization
237
+ * Load all provider tokens synchronously from IndexedDB on initialization
224
238
  * Only works when database callbacks are NOT configured
225
239
  * This ensures tokens are available immediately for isAuthorized() calls
240
+ * Note: IndexedDB operations are async, so this method falls back to localStorage synchronously
226
241
  */
227
242
  loadAllProviderTokensSync(providers: string[]): void;
228
243
  /**
@@ -272,8 +287,11 @@ export declare class OAuthManager {
272
287
  */
273
288
  private exchangeCodeForToken;
274
289
  /**
275
- * Update skipLocalStorage setting at runtime
276
- * Called automatically when server indicates database usage via response header
290
+ * Set whether to skip localStorage/IndexedDB storage
291
+ * When true, tokens will only be stored in memory and via callbacks (if configured)
292
+ * This is automatically set when X-Integrate-Use-Database header is detected
293
+ *
294
+ * @param value - Whether to skip localStorage/IndexedDB
277
295
  */
278
296
  setSkipLocalStorage(value: boolean): void;
279
297
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/oauth/manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/oauth/manager.ts"],"names":[],"mappings":"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"}
@@ -98,6 +98,25 @@ export interface ProviderTokenData {
98
98
  expiresAt?: string;
99
99
  /** Granted scopes */
100
100
  scopes?: string[];
101
+ /** User email address (for multi-account support) */
102
+ email?: string;
103
+ /** Account ID (provider + email hash) */
104
+ accountId?: string;
105
+ }
106
+ /**
107
+ * Account information for listing connected accounts
108
+ */
109
+ export interface AccountInfo {
110
+ /** User email address */
111
+ email: string;
112
+ /** Account ID */
113
+ accountId: string;
114
+ /** Token expiration timestamp */
115
+ expiresAt?: string;
116
+ /** Granted scopes */
117
+ scopes?: string[];
118
+ /** Creation timestamp */
119
+ createdAt: number;
101
120
  }
102
121
  /**
103
122
  * Parameters for OAuth callback
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/oauth/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,IAAI,EAAE,OAAO,GAAG,UAAU,CAAC;IAC3B,oDAAoD;IACpD,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,sDAAsD;IACtD,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnF;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,yCAAyC;IACzC,UAAU,EAAE,OAAO,CAAC;IACpB,wBAAwB;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,yBAAyB;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,mBAAmB;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,qDAAqD;IACrD,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,SAAS,CAAC,EAAE,iBAAiB,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,0BAA0B;IAC1B,KAAK,EAAE,KAAK,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;CAE/B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,cAAc,GAAG,eAAe,GAAG,YAAY,GAAG,aAAa,GAAG,iBAAiB,CAAC;AAEjH;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,IAAI,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/oauth/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "integrate-sdk",
3
- "version": "0.8.27",
3
+ "version": "0.8.28-dev.1",
4
4
  "description": "Type-safe 3rd party integration SDK for the Integrate MCP server",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -124,4 +124,4 @@
124
124
  "simple-git-hooks": {
125
125
  "pre-commit": "./scripts/check-version.sh"
126
126
  }
127
- }
127
+ }