feat(web): add reusable admin form dialog
This commit is contained in:
@@ -62,6 +62,7 @@ export interface IntegrationPlatform {
|
||||
priority: number;
|
||||
defaultPricingMode: PricingMode;
|
||||
defaultDiscountFactor: number;
|
||||
pricingRuleSetId?: string;
|
||||
config?: Record<string, unknown>;
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
@@ -80,15 +81,32 @@ export type RateLimitMetric =
|
||||
export interface CatalogProvider {
|
||||
id: string;
|
||||
providerKey: string;
|
||||
code: string;
|
||||
displayName: string;
|
||||
providerType: string;
|
||||
iconPath?: string;
|
||||
source?: 'gateway' | 'server-main' | 'sync' | 'server-main.integration-platform' | string;
|
||||
capabilitySchema?: Record<string, unknown>;
|
||||
defaultRateLimitPolicy?: RateLimitPolicy;
|
||||
metadata?: Record<string, unknown>;
|
||||
status: 'active' | 'deprecated' | 'hidden' | string;
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
}
|
||||
|
||||
export interface CatalogProviderUpsertRequest {
|
||||
providerKey: string;
|
||||
code?: string;
|
||||
displayName: string;
|
||||
providerType?: string;
|
||||
iconPath?: string;
|
||||
source?: 'gateway' | 'server-main' | 'sync' | 'server-main.integration-platform' | string;
|
||||
capabilitySchema?: Record<string, unknown>;
|
||||
defaultRateLimitPolicy?: RateLimitPolicy;
|
||||
metadata?: Record<string, unknown>;
|
||||
status?: 'active' | 'deprecated' | 'hidden' | string;
|
||||
}
|
||||
|
||||
export interface BaseModelCatalogItem {
|
||||
id: string;
|
||||
providerKey: string;
|
||||
@@ -99,14 +117,32 @@ export interface BaseModelCatalogItem {
|
||||
capabilities?: Record<string, unknown>;
|
||||
baseBillingConfig?: BillingConfig;
|
||||
defaultRateLimitPolicy?: RateLimitPolicy;
|
||||
metadata?: Record<string, unknown>;
|
||||
pricingVersion: number;
|
||||
status: 'active' | 'deprecated' | 'hidden' | string;
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
}
|
||||
|
||||
export interface BaseModelUpsertRequest {
|
||||
providerKey: string;
|
||||
canonicalModelKey?: string;
|
||||
providerModelName: string;
|
||||
modelType: string;
|
||||
displayName?: string;
|
||||
capabilities?: Record<string, unknown>;
|
||||
baseBillingConfig?: BillingConfig;
|
||||
defaultRateLimitPolicy?: RateLimitPolicy;
|
||||
metadata?: Record<string, unknown>;
|
||||
pricingVersion?: number;
|
||||
status?: 'active' | 'deprecated' | 'hidden' | string;
|
||||
}
|
||||
|
||||
export interface PricingRule {
|
||||
id: string;
|
||||
ruleSetId?: string;
|
||||
ruleKey: string;
|
||||
displayName: string;
|
||||
scopeType: 'base_model' | 'platform' | 'platform_model' | string;
|
||||
scopeId?: string;
|
||||
resourceType:
|
||||
@@ -125,10 +161,58 @@ export interface PricingRule {
|
||||
currency: 'resource' | 'credit' | 'cny' | 'usd' | string;
|
||||
baseWeight?: Record<string, unknown>;
|
||||
dynamicWeight?: Record<string, unknown>;
|
||||
calculatorType: 'token_usage' | 'unit_weight' | 'duration_weight' | string;
|
||||
dimensionSchema?: Record<string, unknown>;
|
||||
formulaConfig?: Record<string, unknown>;
|
||||
priority: number;
|
||||
status: 'active' | 'deprecated' | 'hidden' | string;
|
||||
metadata?: Record<string, unknown>;
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
}
|
||||
|
||||
export interface PricingRuleInput {
|
||||
ruleKey?: string;
|
||||
displayName?: string;
|
||||
resourceType: string;
|
||||
unit: string;
|
||||
basePrice: number;
|
||||
currency?: string;
|
||||
baseWeight?: Record<string, unknown>;
|
||||
dynamicWeight?: Record<string, unknown>;
|
||||
calculatorType?: 'token_usage' | 'unit_weight' | 'duration_weight' | string;
|
||||
dimensionSchema?: Record<string, unknown>;
|
||||
formulaConfig?: Record<string, unknown>;
|
||||
priority?: number;
|
||||
status?: 'active' | 'deprecated' | 'hidden' | string;
|
||||
metadata?: Record<string, unknown>;
|
||||
}
|
||||
|
||||
export interface PricingRuleSet {
|
||||
id: string;
|
||||
ruleSetKey: string;
|
||||
name: string;
|
||||
description?: string;
|
||||
category: 'default' | 'custom' | 'provider' | 'model' | string;
|
||||
currency: 'resource' | 'credit' | 'cny' | 'usd' | string;
|
||||
status: 'active' | 'deprecated' | 'hidden' | string;
|
||||
metadata?: Record<string, unknown>;
|
||||
rules?: PricingRule[];
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
}
|
||||
|
||||
export interface PricingRuleSetUpsertRequest {
|
||||
ruleSetKey: string;
|
||||
name: string;
|
||||
description?: string;
|
||||
category?: string;
|
||||
currency?: string;
|
||||
status?: 'active' | 'deprecated' | 'hidden' | string;
|
||||
metadata?: Record<string, unknown>;
|
||||
rules: PricingRuleInput[];
|
||||
}
|
||||
|
||||
export interface GatewayUser {
|
||||
id: string;
|
||||
userKey: string;
|
||||
@@ -319,6 +403,7 @@ export interface PlatformModel {
|
||||
capabilities?: Record<string, unknown>;
|
||||
pricingMode: PricingMode;
|
||||
discountFactor?: number;
|
||||
pricingRuleSetId?: string;
|
||||
billingConfigOverride?: BillingConfig;
|
||||
billingConfig?: BillingConfig;
|
||||
enabled: boolean;
|
||||
|
||||
Reference in New Issue
Block a user