SYMBOL INDEX (170 symbols across 36 files) FILE: background.ts function handleOpenTempWindow (line 55) | async function handleOpenTempWindow(request: any, sendResponse: Function) { function handleCloseTempWindow (line 81) | async function handleCloseTempWindow(request: any, sendResponse: Functio... function handleAutoDetectSite (line 98) | async function handleAutoDetectSite(request: any, sendResponse: Function) { function waitForTabComplete (line 164) | function waitForTabComplete(tabId: number): Promise { FILE: components/AccountList.tsx type SortField (line 12) | type SortField = 'name' | 'balance' | 'consumption' type SortOrder (line 13) | type SortOrder = 'asc' | 'desc' type AccountListProps (line 15) | interface AccountListProps { function AccountList (line 43) | function AccountList({ FILE: components/ActionButtons.tsx type ActionButtonsProps (line 5) | interface ActionButtonsProps { function ActionButtons (line 11) | function ActionButtons({ onAddAccount, onViewKeys, onViewModels }: Actio... FILE: components/AddAccountDialog.tsx type AddAccountDialogProps (line 9) | interface AddAccountDialogProps { function AddAccountDialog (line 14) | function AddAccountDialog({ isOpen, onClose }: AddAccountDialogProps) { FILE: components/AddTokenDialog.tsx type AddTokenDialogProps (line 21) | interface AddTokenDialogProps { type FormData (line 35) | interface FormData { function AddTokenDialog (line 47) | function AddTokenDialog({ isOpen, onClose, availableAccounts, preSelecte... FILE: components/AutoDetectErrorAlert.tsx function AutoDetectErrorAlert (line 6) | function AutoDetectErrorAlert({ FILE: components/BalanceSection.tsx type BalanceSectionProps (line 9) | interface BalanceSectionProps { function BalanceSection (line 29) | function BalanceSection({ FILE: components/CopyKeyDialog.tsx type CopyKeyDialogProps (line 19) | interface CopyKeyDialogProps { function CopyKeyDialog (line 25) | function CopyKeyDialog({ isOpen, onClose, account }: CopyKeyDialogProps) { FILE: components/DelAccountDialog.tsx type DelAccountDialogProps (line 8) | interface DelAccountDialogProps { function DelAccountDialog (line 15) | function DelAccountDialog({ isOpen, onClose, account, onDeleted }: DelAc... FILE: components/EditAccountDialog.tsx type EditAccountDialogProps (line 11) | interface EditAccountDialogProps { function EditAccountDialog (line 17) | function EditAccountDialog({ isOpen, onClose, account }: EditAccountDial... FILE: components/HeaderSection.tsx type HeaderSectionProps (line 6) | interface HeaderSectionProps { function HeaderSection (line 13) | function HeaderSection({ FILE: components/ModelItem.tsx type ModelItemProps (line 29) | interface ModelItemProps { function ModelItem (line 42) | function ModelItem({ FILE: components/Tooltip.tsx type TooltipProps (line 4) | interface TooltipProps { function Tooltip (line 12) | function Tooltip({ FILE: constants/ui.ts constant UI_CONSTANTS (line 5) | const UI_CONSTANTS = { constant CURRENCY_SYMBOLS (line 76) | const CURRENCY_SYMBOLS = { constant HEALTH_STATUS_MAP (line 81) | const HEALTH_STATUS_MAP = { FILE: content.ts function waitForUserInfo (line 79) | async function waitForUserInfo( FILE: examples/storageExample.ts class AccountStorageExample (line 6) | class AccountStorageExample { method addNewAccount (line 10) | static async addNewAccount() { method updateAccountStats (line 42) | static async updateAccountStats(accountId: string) { method displayAllAccounts (line 69) | static async displayAllAccounts() { method displayStats (line 93) | static async displayStats() { method convertForUI (line 114) | static async convertForUI() { method exportImportExample (line 132) | static async exportImportExample() { method validateAccountData (line 152) | static validateAccountData() { method runAllExamples (line 195) | static async runAllExamples() { FILE: hooks/useAccountData.ts type UseAccountDataResult (line 5) | interface UseAccountDataResult { FILE: hooks/useSort.ts type SortField (line 6) | type SortField = 'name' | 'balance' | 'consumption' type SortOrder (line 7) | type SortOrder = 'asc' | 'desc' type UseSortResult (line 9) | interface UseSortResult { FILE: hooks/useTimeFormatter.ts type UseTimeFormatterResult (line 5) | interface UseTimeFormatterResult { FILE: hooks/useUserPreferences.ts function useUserPreferences (line 7) | function useUserPreferences() { FILE: options/index.tsx type MenuItem (line 21) | interface MenuItem { function parseHash (line 63) | function parseHash() { function updateHash (line 82) | function updateHash(page: string, params?: Record) { function OptionsPage (line 91) | function OptionsPage() { FILE: options/pages/About.tsx function About (line 5) | function About() { FILE: options/pages/BasicSettings.tsx function BasicSettings (line 7) | function BasicSettings() { FILE: options/pages/ImportExport.tsx function ImportExport (line 14) | function ImportExport() { FILE: options/pages/KeyManagement.tsx function KeyManagement (line 18) | function KeyManagement({ routeParams }: { routeParams?: Record { method getAccountById (line 49) | async getAccountById(id: string): Promise { method addAccount (line 62) | async addAccount(accountData: Omit { method updateSyncTime (line 138) | async updateSyncTime(id: string): Promise { method refreshAccount (line 148) | async refreshAccount(id: string): Promise { method refreshAllAccounts (line 208) | async refreshAllAccounts(): Promise<{ success: number; failed: number ... method getAccountStats (line 234) | async getAccountStats(): Promise { method convertToDisplayData (line 266) | convertToDisplayData(accounts: SiteAccount[]): DisplaySiteData[] { method clearAllData (line 294) | async clearAllData(): Promise { method exportData (line 308) | async exportData(): Promise { method importData (line 315) | async importData(data: StorageConfig): Promise { method getStorageConfig (line 333) | private async getStorageConfig(): Promise { method saveAccounts (line 346) | private async saveAccounts(accounts: SiteAccount[]): Promise { method generateId (line 366) | private generateId(): string { method formatBalance (line 379) | formatBalance(amount: number, currency: CurrencyType): string { method formatTokenCount (line 387) | formatTokenCount(count: number): string { method validateAccount (line 399) | validateAccount(account: Partial): string[] { method getRandomEmoji (line 432) | getRandomEmoji(): string { method getHealthStatusInfo (line 439) | getHealthStatusInfo(status: SiteHealthStatus): { text: string; color: st... method isAccountStale (line 456) | isAccountStale(account: SiteAccount, maxAgeMinutes: number = 30): boolean { method getStaleAccounts (line 465) | getStaleAccounts(accounts: SiteAccount[], maxAgeMinutes: number = 30): S... method validateAccounts (line 472) | async validateAccounts(accounts: SiteAccount[]): Promise<{ valid: SiteAc... FILE: services/apiService.ts type UserInfo (line 6) | interface UserInfo { type AccessTokenInfo (line 12) | interface AccessTokenInfo { type TodayUsageData (line 17) | interface TodayUsageData { type AccountData (line 24) | interface AccountData extends TodayUsageData { type RefreshAccountResult (line 28) | interface RefreshAccountResult { type HealthCheckResult (line 34) | interface HealthCheckResult { type SiteStatusInfo (line 39) | interface SiteStatusInfo { type ModelsResponse (line 46) | interface ModelsResponse { type GroupInfo (line 53) | interface GroupInfo { type GroupsResponse (line 59) | interface GroupsResponse { type CreateTokenRequest (line 66) | interface CreateTokenRequest { type CreateTokenResponse (line 78) | interface CreateTokenResponse { type ApiToken (line 84) | interface ApiToken { type ModelPricing (line 105) | interface ModelPricing { type PricingResponse (line 118) | interface PricingResponse { type PaginatedTokenResponse (line 126) | interface PaginatedTokenResponse { type ApiResponse (line 134) | interface ApiResponse { type LogItem (line 141) | interface LogItem { type LogResponseData (line 148) | interface LogResponseData { constant REQUEST_CONFIG (line 154) | const REQUEST_CONFIG = { class ApiError (line 164) | class ApiError extends Error { method constructor (line 165) | constructor( FILE: services/autoRefreshService.ts class AutoRefreshService (line 8) | class AutoRefreshService { method initialize (line 15) | async initialize() { method setupAutoRefresh (line 33) | async setupAutoRefresh() { method performBackgroundRefresh (line 65) | private async performBackgroundRefresh() { method refreshNow (line 84) | async refreshNow(): Promise<{ success: number; failed: number }> { method stopAutoRefresh (line 99) | stopAutoRefresh() { method updateSettings (line 110) | async updateSettings(settings: { method getStatus (line 126) | getStatus() { method notifyFrontend (line 136) | private notifyFrontend(type: string, data: any) { method destroy (line 159) | destroy() { FILE: services/userPreferences.ts type UserPreferences (line 4) | interface UserPreferences { constant STORAGE_KEYS (line 24) | const STORAGE_KEYS = { constant DEFAULT_PREFERENCES (line 29) | const DEFAULT_PREFERENCES: UserPreferences = { class UserPreferencesService (line 41) | class UserPreferencesService { method constructor (line 44) | constructor() { method getPreferences (line 53) | async getPreferences(): Promise { method savePreferences (line 66) | async savePreferences(preferences: Partial): Promise<... method updateActiveTab (line 87) | async updateActiveTab(activeTab: 'consumption' | 'balance'): Promise { method updateSortConfig (line 101) | async updateSortConfig(sortField: 'name' | 'balance' | 'consumption', ... method updateAutoRefreshSettings (line 108) | async updateAutoRefreshSettings(settings: { method updateAutoRefresh (line 120) | async updateAutoRefresh(autoRefresh: boolean): Promise { method updateRefreshInterval (line 127) | async updateRefreshInterval(refreshInterval: number): Promise { method updateRefreshOnOpen (line 134) | async updateRefreshOnOpen(refreshOnOpen: boolean): Promise { method updateShowHealthStatus (line 141) | async updateShowHealthStatus(showHealthStatus: boolean): Promise { method clearPreferences (line 162) | async clearPreferences(): Promise { method exportPreferences (line 176) | async exportPreferences(): Promise { method importPreferences (line 183) | async importPreferences(preferences: UserPreferences): Promise { method validatePreferences (line 206) | validatePreferences(preferences: Partial): string[] { method getTabDisplayName (line 249) | getTabDisplayName(tab: 'consumption' | 'balance'): string { method getCurrencySymbol (line 256) | getCurrencySymbol(currency: 'USD' | 'CNY'): string { method getSortFieldDisplayName (line 263) | getSortFieldDisplayName(field: 'name' | 'balance' | 'consumption'): stri... method getSortOrderDisplayName (line 275) | getSortOrderDisplayName(order: 'asc' | 'desc'): string { FILE: types/index.ts type SiteHealthStatus (line 4) | type SiteHealthStatus = 'healthy' | 'warning' | 'error' | 'unknown'; type AccountInfo (line 7) | interface AccountInfo { type SiteAccount (line 19) | interface SiteAccount { type StorageConfig (line 33) | interface StorageConfig { type AccountStats (line 39) | interface AccountStats { type ApiResponse (line 48) | interface ApiResponse { type SortField (line 55) | type SortField = 'site_name' | 'quota' | 'today_quota_consumption' | 'la... type SortOrder (line 56) | type SortOrder = 'asc' | 'desc'; type CurrencyType (line 59) | type CurrencyType = 'USD' | 'CNY'; type DisplaySiteData (line 62) | interface DisplaySiteData { FILE: utils/autoDetectUtils.ts type AutoDetectErrorType (line 20) | enum AutoDetectErrorType { type AutoDetectError (line 29) | interface AutoDetectError { function analyzeAutoDetectError (line 38) | function analyzeAutoDetectError(error: string | Error): AutoDetectError { type AutoDetectErrorProps (line 88) | interface AutoDetectErrorProps { function getLoginUrl (line 96) | function getLoginUrl(siteUrl: string): string { function openLoginTab (line 107) | function openLoginTab(siteUrl: string): void { FILE: utils/modelPricing.ts type CalculatedPrice (line 7) | interface CalculatedPrice { FILE: utils/modelProviders.ts type ProviderType (line 8) | type ProviderType = 'OpenAI' | 'Claude' | 'Gemini' | 'Grok' | 'Qwen' | '... type ProviderConfig (line 11) | interface ProviderConfig { constant PROVIDER_CONFIGS (line 20) | const PROVIDER_CONFIGS: Record = {