mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-08-22 15:12:23 +03:00
Merged via merge-train (release/v3.8.50, batch1 2026-08-20) — static gates (typecheck/file-size/complexity/cognitive/changelog) green on the combined tree; test:unit reds observed in the boarded run were verified pre-existing on the pure release tip (unrelated flake), not caused by this PR. Thanks for the contribution!
37 lines
1.2 KiB
TypeScript
37 lines
1.2 KiB
TypeScript
import {
|
|
GROK_BUILD_ADDITIONAL_CREDITS_URL,
|
|
sanitizeGrokBillingStatus,
|
|
type GrokBillingStatus,
|
|
} from "./grokBilling";
|
|
import {
|
|
KIMI_CODE_ADDITIONAL_CREDITS_URL,
|
|
sanitizeKimiBillingStatus,
|
|
type KimiBillingStatus,
|
|
} from "./kimiBilling";
|
|
|
|
export type ProviderBillingStatus = GrokBillingStatus | KimiBillingStatus;
|
|
|
|
export const PROVIDER_BILLING_PROVIDERS = [
|
|
"grok-cli",
|
|
"kimi-coding",
|
|
"kimi-coding-apikey",
|
|
] as const;
|
|
|
|
export function isProviderBillingProvider(provider: string | undefined): boolean {
|
|
return (
|
|
provider !== undefined && (PROVIDER_BILLING_PROVIDERS as readonly string[]).includes(provider)
|
|
);
|
|
}
|
|
|
|
export function sanitizeProviderBillingStatus(value: unknown): ProviderBillingStatus | undefined {
|
|
return sanitizeGrokBillingStatus(value) ?? sanitizeKimiBillingStatus(value);
|
|
}
|
|
|
|
export function isGrokBillingStatus(billing: ProviderBillingStatus): billing is GrokBillingStatus {
|
|
return billing.additionalCreditsUrl === GROK_BUILD_ADDITIONAL_CREDITS_URL;
|
|
}
|
|
|
|
export function isKimiBillingStatus(billing: ProviderBillingStatus): billing is KimiBillingStatus {
|
|
return billing.additionalCreditsUrl === KIMI_CODE_ADDITIONAL_CREDITS_URL;
|
|
}
|