Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
WORK IN PROGRESS
Summary
Implemented multi-account token management with IndexedDB:
Created IndexedDB Storage (
src/oauth/indexeddb-storage.ts)Updated Token Types (
src/oauth/types.ts)emailandaccountIdtoProviderTokenDataAccountInfointerfaceCreated Email Fetcher (
src/oauth/email-fetcher.ts)Updated OAuth Manager (
src/oauth/manager.ts)listAccounts()anddisconnectAccount()methodsskipIndexedDBflag (uses same pattern as before: callbacks if provided, otherwise IndexedDB)Updated Client API (
src/client.ts)listAccounts(provider)methoddisconnectAccount(provider, email)methodisAuthorized(),getProviderToken(),setProviderToken(),getAuthorizationStatus()to support email parameterdisconnectProvider()to disconnect all accountsUpdated Config Types (
src/config/types.ts)Updated Server Adapter (
src/adapters/base-handler.ts)setProviderTokencall to match new signatureExported Types (
src/index.ts)AccountInfoto exportsAll linter errors are fixed. The implementation follows the same pattern as before: use database callbacks when provided, otherwise use IndexedDB (replacing localStorage).`