first commit

This commit is contained in:
Beyhan Oğur
2026-04-26 21:52:23 +03:00
commit 880f412e2c
2662 changed files with 866266 additions and 0 deletions

View File

@@ -0,0 +1,178 @@
import { VirtualKeyConfig, ProviderConfig, BudgetConfig, RateLimitConfig } from './pages/virtual-keys.page'
/**
* Factory function to create virtual key test data
*/
export function createVirtualKeyData(overrides: Partial<VirtualKeyConfig> = {}): VirtualKeyConfig {
const timestamp = Date.now()
return {
name: `Test VK ${timestamp}`,
description: 'E2E test virtual key',
isActive: true,
providerConfigs: [],
...overrides,
}
}
/**
* Factory function to create virtual key with single provider
*/
export function createVirtualKeyWithProvider(
provider: string,
vkOverrides: Partial<VirtualKeyConfig> = {}
): VirtualKeyConfig {
const timestamp = Date.now()
return {
name: `Test VK ${provider} ${timestamp}`,
description: `Virtual key for ${provider}`,
isActive: true,
providerConfigs: [
{
provider,
weight: 1.0,
allowedModels: ['*'],
keyIds: ['*'],
},
],
...vkOverrides,
}
}
/**
* Factory function to create virtual key with budget
*/
export function createVirtualKeyWithBudget(
budget: BudgetConfig,
vkOverrides: Partial<VirtualKeyConfig> = {}
): VirtualKeyConfig {
const timestamp = Date.now()
return {
name: `Test VK Budget ${timestamp}`,
description: 'Virtual key with budget configuration',
isActive: true,
budget,
...vkOverrides,
}
}
/**
* Factory function to create virtual key with rate limits
*/
export function createVirtualKeyWithRateLimit(
rateLimit: RateLimitConfig,
vkOverrides: Partial<VirtualKeyConfig> = {}
): VirtualKeyConfig {
const timestamp = Date.now()
return {
name: `Test VK RateLimit ${timestamp}`,
description: 'Virtual key with rate limit configuration',
isActive: true,
rateLimit,
...vkOverrides,
}
}
/**
* Factory function to create virtual key with multiple providers
*/
export function createVirtualKeyWithMultipleProviders(
providers: string[],
vkOverrides: Partial<VirtualKeyConfig> = {}
): VirtualKeyConfig {
const timestamp = Date.now()
const weight = 1.0 / providers.length
return {
name: `Test VK Multi ${timestamp}`,
description: `Virtual key with ${providers.length} providers`,
isActive: true,
providerConfigs: providers.map((provider) => ({
provider,
weight,
allowedModels: ['*'],
keyIds: ['*'],
})),
...vkOverrides,
}
}
/**
* Factory function to create provider config
*/
export function createProviderConfig(overrides: Partial<ProviderConfig> = {}): ProviderConfig {
return {
provider: 'openai',
weight: 1.0,
allowedModels: ['*'],
keyIds: ['*'],
...overrides,
}
}
/**
* Sample budget configurations
*/
export const SAMPLE_BUDGETS: Record<string, BudgetConfig> = {
small: {
maxLimit: 10,
resetDuration: '1M',
},
medium: {
maxLimit: 100,
resetDuration: '1M',
},
large: {
maxLimit: 1000,
resetDuration: '1M',
},
daily: {
maxLimit: 50,
resetDuration: '1d',
},
weekly: {
maxLimit: 200,
resetDuration: '1w',
},
}
/**
* Sample rate limit configurations
*/
export const SAMPLE_RATE_LIMITS: Record<string, RateLimitConfig> = {
conservative: {
tokenMaxLimit: 10000,
tokenResetDuration: '1h',
requestMaxLimit: 100,
requestResetDuration: '1h',
},
moderate: {
tokenMaxLimit: 100000,
tokenResetDuration: '1h',
requestMaxLimit: 1000,
requestResetDuration: '1h',
},
aggressive: {
tokenMaxLimit: 1000000,
tokenResetDuration: '1h',
requestMaxLimit: 10000,
requestResetDuration: '1h',
},
tokenOnly: {
tokenMaxLimit: 50000,
tokenResetDuration: '1h',
},
requestOnly: {
requestMaxLimit: 500,
requestResetDuration: '1h',
},
}
/**
* Reset duration options
*/
export const RESET_DURATIONS = [
{ label: '1 Hour', value: '1h' },
{ label: '1 Day', value: '1d' },
{ label: '1 Week', value: '1w' },
{ label: '1 Month', value: '1M' },
] as const