UNPKG

@kya-os/mcp-i

Version:

The TypeScript MCP framework with identity features built-in

41 lines (40 loc) 1.24 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MemoryOAuthStorage = exports.MemoryTokenStorage = void 0; // Module-level storage map that persists across instances (SINGLETON PATTERN) const tokensMap = new Map(); class MemoryTokenStorage { // same, module level map tokens = tokensMap; async getToken(token) { const accessToken = tokensMap.get(token); if (accessToken && accessToken.expiresAt && accessToken.expiresAt < new Date()) { tokensMap.delete(token); return null; } return accessToken || null; } async saveToken(token) { tokensMap.set(token.token, token); } async deleteToken(token) { tokensMap.delete(token); } async deleteTokensByClient(clientId) { for (const [tokenValue, tokenData] of tokensMap.entries()) { if (tokenData.clientId === clientId) { tokensMap.delete(tokenValue); } } } } exports.MemoryTokenStorage = MemoryTokenStorage; class MemoryOAuthStorage { tokens; constructor() { this.tokens = new MemoryTokenStorage(); } } exports.MemoryOAuthStorage = MemoryOAuthStorage;