Spaces:
Runtime error
Runtime error
| /** | |
| * Code Assist (loadCodeAssist) subscription tier extraction. | |
| * Mirrors Antigravity-Manager src-tauri/src/modules/quota.rs fetch_project_id(). | |
| */ | |
| type JsonRecord = Record<string, unknown>; | |
| function toRecord(value: unknown): JsonRecord { | |
| return value && typeof value === "object" && !Array.isArray(value) ? (value as JsonRecord) : {}; | |
| } | |
| function pickTierField(tier: unknown, field: "name" | "id"): string | null { | |
| const record = toRecord(tier); | |
| const value = record[field]; | |
| return typeof value === "string" && value.trim() ? value.trim() : null; | |
| } | |
| function isIneligible(subscription: JsonRecord): boolean { | |
| const ineligible = subscription.ineligibleTiers; | |
| return Array.isArray(ineligible) && ineligible.length > 0; | |
| } | |
| function findDefaultAllowedTier(subscription: JsonRecord): JsonRecord | null { | |
| if (!Array.isArray(subscription.allowedTiers)) return null; | |
| for (const tierValue of subscription.allowedTiers) { | |
| const tier = toRecord(tierValue); | |
| if (tier.isDefault) return tier; | |
| } | |
| return null; | |
| } | |
| /** | |
| * Display subscription tier from loadCodeAssist (paid β current β restricted default). | |
| */ | |
| export function extractCodeAssistSubscriptionTier(subscriptionInfo: unknown): string | null { | |
| const subscription = toRecord(subscriptionInfo); | |
| if (Object.keys(subscription).length === 0) return null; | |
| let tier = | |
| pickTierField(subscription.paidTier, "name") || pickTierField(subscription.paidTier, "id"); | |
| if (!tier) { | |
| if (!isIneligible(subscription)) { | |
| tier = | |
| pickTierField(subscription.currentTier, "name") || | |
| pickTierField(subscription.currentTier, "id"); | |
| } else { | |
| const defaultTier = findDefaultAllowedTier(subscription); | |
| if (defaultTier) { | |
| const name = pickTierField(defaultTier, "name"); | |
| const id = pickTierField(defaultTier, "id"); | |
| if (name) tier = `${name} (Restricted)`; | |
| else if (id) tier = `${id} (Restricted)`; | |
| } | |
| } | |
| } | |
| return tier; | |
| } | |
| /** | |
| * Tier ID for onboardUser tier_id (paid β current β restricted default β legacy-tier). | |
| */ | |
| export function extractCodeAssistOnboardTierId(subscriptionInfo: unknown): string { | |
| const subscription = toRecord(subscriptionInfo); | |
| const paidId = pickTierField(subscription.paidTier, "id"); | |
| if (paidId) return paidId; | |
| if (!isIneligible(subscription)) { | |
| const currentId = pickTierField(subscription.currentTier, "id"); | |
| if (currentId) return currentId; | |
| } | |
| const defaultTier = findDefaultAllowedTier(subscription); | |
| const defaultId = defaultTier ? pickTierField(defaultTier, "id") : null; | |
| if (defaultId) return defaultId; | |
| const currentId = pickTierField(subscription.currentTier, "id"); | |
| if (currentId) return currentId; | |
| return "legacy-tier"; | |
| } | |