mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-07-31 12:22:14 +03:00
58 lines
1.5 KiB
TypeScript
58 lines
1.5 KiB
TypeScript
import type { HideableSidebarItemId } from "@/shared/constants/sidebarVisibility";
|
|
import type { ResilienceSettings } from "@/lib/resilience/settings";
|
|
import type {
|
|
AccountFallbackStrategyValue,
|
|
RoutingStrategyValue,
|
|
} from "@/shared/constants/routingStrategies";
|
|
|
|
/**
|
|
* Application settings stored in SQLite key-value pairs.
|
|
*/
|
|
export interface Settings {
|
|
requireLogin: boolean;
|
|
hasPassword: boolean;
|
|
fallbackStrategy: AccountFallbackStrategyValue;
|
|
stickyRoundRobinLimit: number;
|
|
requestRetry: number;
|
|
maxRetryIntervalSec: number;
|
|
maxBodySizeMb?: number;
|
|
jwtSecret?: string;
|
|
mcpEnabled?: boolean;
|
|
mcpTransport?: "stdio" | "sse" | "streamable-http";
|
|
a2aEnabled?: boolean;
|
|
hideHealthCheckLogs?: boolean;
|
|
hideEndpointCloudflaredTunnel?: boolean;
|
|
hideEndpointTailscaleFunnel?: boolean;
|
|
hideEndpointNgrokTunnel?: boolean;
|
|
hiddenSidebarItems?: HideableSidebarItemId[];
|
|
resilienceSettings?: ResilienceSettings;
|
|
}
|
|
|
|
export interface ComboDefaults {
|
|
strategy: RoutingStrategyValue;
|
|
maxRetries: number;
|
|
retryDelayMs: number;
|
|
fallbackDelayMs?: number;
|
|
maxComboDepth: number;
|
|
trackMetrics: boolean;
|
|
concurrencyPerModel?: number;
|
|
queueTimeoutMs?: number;
|
|
handoffThreshold?: number;
|
|
handoffModel?: string;
|
|
handoffProviders?: string[];
|
|
maxMessagesForSummary?: number;
|
|
}
|
|
|
|
export interface ProxyConfig {
|
|
type: "http" | "https" | "socks5";
|
|
host: string;
|
|
port: number;
|
|
username?: string;
|
|
password?: string;
|
|
}
|
|
|
|
export interface KVPair {
|
|
key: string;
|
|
value: string;
|
|
}
|