{"version":3,"sources":["../../src/providers/alchemy.ts","../../src/providers/oauth.ts","../../src/providers/apiConfig.ts"],"names":["ALCHEMY_CONFIG","OAUTH_PROVIDER_CONFIGS","OAUTH_PROVIDERS","ENV_CONFIG","API_CONFIG"],"mappings":"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","file":"index.mjs","sourcesContent":["/**\n * Alchemy blockchain provider configuration\n */\nexport const ALCHEMY_CONFIG = {\n  /**\n   * Alchemy API key from environment\n   */\n  apiKey: globalThis.process?.env?.NEXT_PUBLIC_ALCHEMY_KEY!,\n\n  /**\n   * RPC URLs for different blockchain networks\n   */\n  rpcUrls: {\n    /**\n     * Ethereum mainnet RPC URL\n     */\n    ethereum: `https://eth-mainnet.g.alchemy.com/v2/${globalThis.process?.env?.NEXT_PUBLIC_ALCHEMY_KEY}`,\n\n    /**\n     * Polygon mainnet RPC URL\n     */\n    polygon: `https://polygon-mainnet.g.alchemy.com/v2/${globalThis.process?.env?.NEXT_PUBLIC_ALCHEMY_KEY}`,\n\n    /**\n     * Arbitrum mainnet RPC URL\n     */\n    arbitrum: `https://arb-mainnet.g.alchemy.com/v2/${globalThis.process?.env?.NEXT_PUBLIC_ALCHEMY_KEY}`,\n\n    /**\n     * Optimism mainnet RPC URL\n     */\n    optimism: `https://opt-mainnet.g.alchemy.com/v2/${globalThis.process?.env?.NEXT_PUBLIC_ALCHEMY_KEY}`,\n\n    /**\n     * Base mainnet RPC URL\n     */\n    base: `https://base-mainnet.g.alchemy.com/v2/${globalThis.process?.env?.NEXT_PUBLIC_ALCHEMY_KEY}`,\n\n    /**\n     * Solana mainnet RPC URL\n     */\n    solana: `https://solana-mainnet.g.alchemy.com/v2/${globalThis.process?.env?.NEXT_PUBLIC_ALCHEMY_KEY}`,\n  },\n};\n","import type { OAuthProvider, OAuthProviderConfig } from '@plyaz/types';\nimport { OAUTH_PROVIDERS } from '@plyaz/types';\n\nexport const OAUTH_PROVIDER_CONFIGS: Record<OAuthProvider, OAuthProviderConfig> = {\n  [OAUTH_PROVIDERS.GOOGLE]: {\n    name: 'Google',\n    authUrl: 'https://accounts.google.com/o/oauth2/v2/auth',\n    tokenUrl: 'https://oauth2.googleapis.com/token',\n    userInfoUrl: 'https://www.googleapis.com/oauth2/v2/userinfo',\n    scopes: ['openid', 'email', 'profile'],\n    brandColor: '#4285f4',\n    iconName: 'google',\n  },\n\n  [OAUTH_PROVIDERS.FACEBOOK]: {\n    name: 'Facebook',\n    authUrl: 'https://www.facebook.com/v18.0/dialog/oauth',\n    tokenUrl: 'https://graph.facebook.com/v18.0/oauth/access_token',\n    userInfoUrl: 'https://graph.facebook.com/me',\n    scopes: ['email', 'public_profile'],\n    brandColor: '#1877f2',\n    iconName: 'facebook',\n  },\n\n  [OAUTH_PROVIDERS.APPLE]: {\n    name: 'Apple',\n    authUrl: 'https://appleid.apple.com/auth/authorize',\n    tokenUrl: 'https://appleid.apple.com/auth/token',\n    userInfoUrl: '', // Apple provides user info in ID token\n    scopes: ['name', 'email'],\n    brandColor: '#000000',\n    iconName: 'apple',\n  },\n\n  [OAUTH_PROVIDERS.GITHUB]: {\n    name: 'GitHub',\n    authUrl: 'https://github.com/login/oauth/authorize',\n    tokenUrl: 'https://github.com/login/oauth/access_token',\n    userInfoUrl: 'https://api.github.com/user',\n    scopes: ['user:email'],\n    brandColor: '#24292e',\n    iconName: 'github',\n  },\n\n  [OAUTH_PROVIDERS.TWITTER]: {\n    name: 'Twitter',\n    authUrl: 'https://twitter.com/i/oauth2/authorize',\n    tokenUrl: 'https://api.twitter.com/2/oauth2/token',\n    userInfoUrl: 'https://api.twitter.com/2/users/me',\n    scopes: ['tweet.read', 'users.read'],\n    brandColor: '#1da1f2',\n    iconName: 'twitter',\n  },\n\n  [OAUTH_PROVIDERS.LINKEDIN]: {\n    name: 'LinkedIn',\n    authUrl: 'https://www.linkedin.com/oauth/v2/authorization',\n    tokenUrl: 'https://www.linkedin.com/oauth/v2/accessToken',\n    userInfoUrl: 'https://api.linkedin.com/v2/people/~',\n    scopes: ['r_liteprofile', 'r_emailaddress'],\n    brandColor: '#0077b5',\n    iconName: 'linkedin',\n  },\n\n  [OAUTH_PROVIDERS.DISCORD]: {\n    name: 'Discord',\n    authUrl: 'https://discord.com/api/oauth2/authorize',\n    tokenUrl: 'https://discord.com/api/oauth2/token',\n    userInfoUrl: 'https://discord.com/api/users/@me',\n    scopes: ['identify', 'email'],\n    brandColor: '#5865f2',\n    iconName: 'discord',\n  },\n\n  [OAUTH_PROVIDERS.MICROSOFT]: {\n    name: 'Microsoft',\n    authUrl: 'https://login.microsoftonline.com/common/oauth2/v2.0/authorize',\n    tokenUrl: 'https://login.microsoftonline.com/common/oauth2/v2.0/token',\n    userInfoUrl: 'https://graph.microsoft.com/v1.0/me',\n    scopes: ['openid', 'profile', 'email'],\n    brandColor: '#00a4ef',\n    iconName: 'microsoft',\n  },\n};\n","/**\n * API Client Provider Configuration\n * Environment and API client configuration constants\n */\n\n/**\n * Environment configuration for API client\n */\nexport const ENV_CONFIG = {\n  /**\n   * Current Node.js environment (development, production, test)\n   */\n  env: globalThis.process?.env?.NODE_ENV as 'development' | 'production',\n\n  /**\n   * Public API key from environment variables\n   */\n  apiKey: globalThis.process?.env?.NEXT_PUBLIC_API_KEY,\n};\n\n/**\n * API client configuration with encryption settings\n */\nexport const API_CONFIG = {\n  /**\n   * Base URL for API requests\n   */\n  baseURL: globalThis.process?.env?.NEXT_PUBLIC_API_URL ?? '/api',\n\n  /**\n   * Encryption configuration for secure API communication\n   */\n  encryption: {\n    /**\n     * Whether encryption is enabled\n     */\n    enabled: true,\n\n    /**\n     * Encryption key configuration\n     */\n    key: {\n      /**\n       * Key identifier for production environment\n       */\n      id: 'prod-key-v1',\n\n      /**\n       * Encryption key from environment variables\n       */\n      key: globalThis.process?.env?.ENCRYPTION_KEY ?? '',\n\n      /**\n       * Encryption algorithm (AES-GCM)\n       */\n      algorithm: 'AES-GCM' as const,\n\n      /**\n       * Key format specification\n       */\n      format: 'raw' as const,\n    },\n  },\n};\n"]}