Files
OmniRoute/src/lib/localDb.ts

203 lines
4.1 KiB
TypeScript

/**
* localDb.js — Re-export layer for backward compatibility.
*
* All 27+ consumer files import from "@/lib/localDb".
* This thin layer re-exports everything from the domain-specific DB modules,
* so zero consumer changes are needed.
*/
export {
// Provider Connections
getProviderConnections,
getProviderConnectionById,
createProviderConnection,
updateProviderConnection,
deleteProviderConnection,
deleteProviderConnectionsByProvider,
reorderProviderConnections,
cleanupProviderConnections,
// Provider Nodes
getProviderNodes,
getProviderNodeById,
createProviderNode,
updateProviderNode,
deleteProviderNode,
// T05: Rate-limit DB persistence (survives token refresh)
setConnectionRateLimitUntil,
isConnectionRateLimited,
getRateLimitedConnections,
// T13: Stale quota display fix (zero out usage after window resets)
getEffectiveQuotaUsage,
formatResetCountdown,
} from "./db/providers";
export {
// Model Aliases
getModelAliases,
setModelAlias,
deleteModelAlias,
// MITM Alias
getMitmAlias,
setMitmAliasAll,
// Custom Models
getCustomModels,
getAllCustomModels,
addCustomModel,
replaceCustomModels,
removeCustomModel,
updateCustomModel,
getModelCompatOverrides,
mergeModelCompatOverride,
removeModelCompatOverride,
getModelNormalizeToolCallId,
getModelPreserveOpenAIDeveloperRole,
getModelUpstreamExtraHeaders,
getModelIsHidden,
} from "./db/models";
export type { ModelCompatPerProtocol, ModelCompatPatch } from "./db/models";
export {
// Combos
getCombos,
getComboById,
getComboByName,
createCombo,
updateCombo,
deleteCombo,
} from "./db/combos";
export {
// API Keys
getApiKeys,
getApiKeyById,
createApiKey,
deleteApiKey,
validateApiKey,
getApiKeyMetadata,
updateApiKeyPermissions,
isModelAllowedForKey,
clearApiKeyCaches,
resetApiKeyState,
} from "./db/apiKeys";
export {
// Settings
getSettings,
updateSettings,
isCloudEnabled,
// Pricing
getPricing,
getPricingForModel,
updatePricing,
resetPricing,
resetAllPricing,
// Proxy Config
getProxyConfig,
getProxyForLevel,
setProxyForLevel,
deleteProxyForLevel,
resolveProxyForConnection,
setProxyConfig,
} from "./db/settings";
export {
// Proxy Registry
listProxies,
getProxyById,
createProxy,
updateProxy,
deleteProxyById,
getProxyAssignments,
getProxyWhereUsed,
assignProxyToScope,
resolveProxyForConnectionFromRegistry,
migrateLegacyProxyConfigToRegistry,
getProxyHealthStats,
bulkAssignProxyToScope,
} from "./db/proxies";
export {
// Pricing Sync
getSyncedPricing,
saveSyncedPricing,
clearSyncedPricing,
syncPricingFromSources,
getSyncStatus,
initPricingSync,
startPeriodicSync,
stopPeriodicSync,
} from "./pricingSync";
export {
// Backup Management
backupDbFile,
listDbBackups,
restoreDbBackup,
} from "./db/backup";
export {
// Read Cache (cached wrappers for hot read paths)
getCachedSettings,
getCachedPricing,
getCachedProviderConnections,
invalidateDbCache,
} from "./db/readCache";
export {
// Registered Keys Provisioning (#464)
issueRegisteredKey,
getRegisteredKey,
listRegisteredKeys,
revokeRegisteredKey,
validateRegisteredKey,
incrementRegisteredKeyUsage,
checkQuota,
setProviderKeyLimit,
setAccountKeyLimit,
getProviderKeyLimit,
getAccountKeyLimit,
} from "./db/registeredKeys";
export type {
RegisteredKey,
RegisteredKeyWithSecret,
ProviderKeyLimit,
AccountKeyLimit,
QuotaCheckResult,
IssueKeyParams,
} from "./db/registeredKeys";
export {
// Model-Combo Mappings (#563)
getModelComboMappings,
getModelComboMappingById,
createModelComboMapping,
updateModelComboMapping,
deleteModelComboMapping,
resolveComboForModel,
} from "./db/modelComboMappings";
export type { ModelComboMapping } from "./db/modelComboMappings";
export {
// Webhooks
getWebhooks,
getWebhook,
getEnabledWebhooks,
createWebhook,
updateWebhook as updateWebhookRecord,
deleteWebhook,
recordWebhookDelivery,
disableWebhooksWithHighFailures,
} from "./db/webhooks";
export type { Webhook } from "./db/webhooks";