import Foundation public enum DeepSeekProviderDescriptor { public static let descriptor: ProviderDescriptor = Self.makeDescriptor() static func makeDescriptor() -> ProviderDescriptor { ProviderDescriptor( id: .deepseek, metadata: ProviderMetadata( id: .deepseek, displayName: "DeepSeek", sessionLabel: "Balance", weeklyLabel: "Balance", opusLabel: nil, supportsOpus: false, supportsCredits: false, creditsHint: "", toggleTitle: "Show DeepSeek usage", cliName: "deepseek", defaultEnabled: false, isPrimaryProvider: false, usesAccountFallback: false, browserCookieOrder: nil, dashboardURL: "https://platform.deepseek.com/usage", statusPageURL: nil, statusLinkURL: "https://status.deepseek.com"), branding: ProviderBranding( iconStyle: .deepseek, iconResourceName: "ProviderIcon-deepseek", color: ProviderColor(red: 0.32, green: 0.49, blue: 0.94)), tokenCost: ProviderTokenCostConfig( supportsTokenCost: false, noDataMessage: { "DeepSeek per-day cost history is not available via API." }), fetchPlan: .apiToken( strategyID: "deepseek.api", resolveToken: { ProviderTokenResolver.deepseekToken(environment: $0) }, missingCredentialsError: { DeepSeekUsageError.missingCredentials }, loadUsage: { apiKey, context in try await DeepSeekUsageFetcher.fetchUsage( apiKey: apiKey, includeOptionalUsage: context.includeOptionalUsage).toUsageSnapshot() }), cli: ProviderCLIConfig( name: "deepseek", aliases: ["deep-seek", "ds"], versionDetector: nil)) } }