import type { AchievementDefinition } from '@ai-tycoon/shared'; export const ACHIEVEMENT_DEFINITIONS: AchievementDefinition[] = [ { id: 'first-dc', name: 'First Steps', description: 'Build your first data center.', icon: 'Server', condition: { field: 'infrastructure.dataCenters.length', operator: 'gte', value: 1 }, }, { id: 'first-model', name: 'Hello World', description: 'Train your first AI model.', icon: 'Brain', condition: { field: 'models.trainedModels.length', operator: 'gte', value: 1 }, }, { id: 'first-deploy', name: 'Going Live', description: 'Deploy a model to production.', icon: 'Rocket', condition: { field: 'meta._deployedModelCount', operator: 'gte', value: 1 }, }, { id: 'first-revenue', name: 'First Dollar', description: 'Earn your first revenue.', icon: 'DollarSign', condition: { field: 'economy.totalRevenue', operator: 'gt', value: 0 }, }, { id: 'seed-funded', name: 'Seed Funded', description: 'Complete your seed funding round.', icon: 'Sprout', condition: { field: 'economy.funding.completedRounds.length', operator: 'gte', value: 1 }, }, { id: '1k-subscribers', name: '1K Club', description: 'Reach 1,000 subscribers.', icon: 'Users', condition: { field: 'market.consumers.totalSubscribers', operator: 'gte', value: 1_000 }, }, { id: '100k-subscribers', name: 'Mass Adoption', description: 'Reach 100,000 subscribers.', icon: 'Globe', condition: { field: 'market.consumers.totalSubscribers', operator: 'gte', value: 100_000 }, }, { id: 'unicorn', name: 'Unicorn', description: 'Reach a $1B valuation.', icon: 'Sparkles', condition: { field: 'economy.funding.valuation', operator: 'gte', value: 1_000_000_000 }, }, { id: 'era-scaleup', name: 'Scaling Up', description: 'Enter the Scale-up era.', icon: 'TrendingUp', condition: { field: 'meta._eraIndex', operator: 'gte', value: 1 }, }, { id: 'era-bigtech', name: 'Big League', description: 'Enter the Big Tech era.', icon: 'Building2', condition: { field: 'meta._eraIndex', operator: 'gte', value: 2 }, }, { id: 'era-agi', name: 'The Singularity', description: 'Enter the AGI era.', icon: 'Atom', condition: { field: 'meta._eraIndex', operator: 'gte', value: 3 }, }, { id: 'gpu-hoarder', name: 'GPU Hoarder', description: 'Own 100 or more GPUs across all data centers.', icon: 'Cpu', condition: { field: 'infrastructure._totalGpuCount', operator: 'gte', value: 100 }, }, { id: 'research-pioneer', name: 'Research Pioneer', description: 'Complete 10 research projects.', icon: 'FlaskConical', condition: { field: 'research.completedResearch.length', operator: 'gte', value: 10 }, }, { id: 'open-source-champion', name: 'Open Source Champion', description: 'Open-source 3 models.', icon: 'GitBranch', condition: { field: 'market.openSourcedModels.length', operator: 'gte', value: 3 }, }, { id: 'speed-demon', name: 'Speed Demon', description: 'Reach 1 million tokens/second inference capacity.', icon: 'Zap', condition: { field: 'compute.tokensPerSecondCapacity', operator: 'gte', value: 1_000_000 }, }, ];