/**
* Application constants
*/
/**
* API rate limits
*/
export const RATE_LIMITS = {
LATE_API: {
REQUESTS_PER_MINUTE: 60,
REQUESTS_PER_HOUR: 3600,
},
OPENAI_API: {
REQUESTS_PER_MINUTE: 500,
REQUESTS_PER_HOUR: 10000,
},
} as const;
/**
* Retry configuration
*/
export const RETRY_CONFIG = {
DEFAULT_MAX_RETRIES: 3,
DEFAULT_INITIAL_DELAY_MS: 1000,
DEFAULT_MAX_DELAY_MS: 10000,
DEFAULT_BACKOFF_MULTIPLIER: 2,
} as const;
/**
* Cache configuration
*/
export const CACHE_CONFIG = {
CONTENT_GENERATION_TTL_MS: 24 * 60 * 60 * 1000, // 24 hours
DEFAULT_TTL_MS: 60 * 60 * 1000, // 1 hour
} as const;
/**
* Scheduling defaults
*/
export const SCHEDULING_DEFAULTS = {
DEFAULT_PUBLISH_HOUR: 18,
DEFAULT_PUBLISH_MINUTE: 0,
DEFAULT_DAYS_BETWEEN_POSTS: 1,
PROCESSING_DELAY_MS: 2000,
} as const;
/**
* Instagram limits
*/
export const INSTAGRAM_LIMITS = {
MAX_COLLABORATORS: 3,
STORY_MAX_HOURS_AHEAD: 24,
} as const;
/**
* API endpoints
*/
export const API_ENDPOINTS = {
LATE_API_BASE: 'https://getlate.dev/api/v1',
OPENAI_API_BASE: 'https://api.openai.com/v1',
INSTAGRAM_API_BASE: 'https://graph.facebook.com/v18.0',
PINTEREST_API_BASE: 'https://api.pinterest.com/v5',
} as const;
/**
* File extensions
*/
export const FILE_EXTENSIONS = {
IMAGES: ['.jpg', '.jpeg', '.png', '.heic', '.JPG', '.JPEG', '.PNG', '.HEIC'],
VIDEOS: ['.mov', '.mp4', '.MOV', '.MP4'],
} as const;
/**
* Timeouts
*/
export const TIMEOUTS = {
API_REQUEST_MS: 30000, // 30 seconds
IMAGE_UPLOAD_MS: 60000, // 60 seconds
} as const;