editia-core
Version:
Core services and utilities for Editia applications - Authentication, Monetization, Video Generation Types, and Database Management
139 lines • 4.52 kB
JavaScript
/**
* Editia Core Constants
*
* This file contains all the constants used throughout the Editia Core package,
* including plan limits, feature flags, and other configuration values.
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.MONETIZATION_ERROR_CODES = exports.CACHE_TIMEOUTS = exports.MINIMUM_LIMITS = exports.MAXIMUM_LIMITS = exports.USAGE_WARNING_THRESHOLDS = exports.USAGE_RESET_PERIODS = exports.FEATURE_FLAGS = exports.PLAN_HIERARCHY = exports.DEFAULT_PLAN_LIMITS = void 0;
// ============================================================================
// PLAN CONSTANTS
// ============================================================================
/**
* Default plan limits for new users
*/
exports.DEFAULT_PLAN_LIMITS = {
free: {
videos_generated_limit: 1,
source_videos_limit: 5,
voice_clones_limit: 0,
account_analysis_limit: 1,
script_conversations_limit: 10,
},
creator: {
videos_generated_limit: 15,
source_videos_limit: 50,
voice_clones_limit: 1,
account_analysis_limit: 4,
script_conversations_limit: 100,
},
pro: {
videos_generated_limit: -1, // unlimited
source_videos_limit: -1, // unlimited
voice_clones_limit: 2,
account_analysis_limit: -1, // unlimited
script_conversations_limit: -1, // unlimited
},
};
/**
* Plan hierarchy for access control
*/
exports.PLAN_HIERARCHY = {
free: 0,
creator: 1,
pro: 2,
};
// ============================================================================
// FEATURE FLAG CONSTANTS
// ============================================================================
/**
* Feature flag IDs for common features
*/
exports.FEATURE_FLAGS = {
ACCOUNT_ANALYSIS: 'account_analysis',
CHAT_AI: 'chat_ai',
SCRIPT_GENERATION: 'script_generation',
VIDEO_GENERATION: 'video_generation',
SOURCE_VIDEOS: 'source_videos',
ADVANCED_SUBTITLES: 'advanced_subtitles',
VOICE_CLONE: 'voice_clone',
MULTIPLE_VOICES: 'multiple_voices',
NICHE_ANALYSIS: 'niche_analysis',
CONTENT_IDEAS: 'content_ideas',
SCHEDULING: 'scheduling',
SCRIPT_CONVERSATIONS: 'script_conversations',
};
// ============================================================================
// USAGE CONSTANTS
// ============================================================================
/**
* Default usage reset periods (in days)
*/
exports.USAGE_RESET_PERIODS = {
videos_generated: 30,
source_videos_used: 30,
voice_clones_used: 30,
account_analysis_used: 30,
script_conversations_used: 30,
};
/**
* Usage warning thresholds (percentage)
*/
exports.USAGE_WARNING_THRESHOLDS = {
LOW: 25,
MEDIUM: 50,
HIGH: 75,
CRITICAL: 90,
};
// ============================================================================
// VALIDATION CONSTANTS
// ============================================================================
/**
* Maximum values for various limits
*/
exports.MAXIMUM_LIMITS = {
VIDEOS_GENERATED: 1000,
SOURCE_VIDEOS: 10000,
VOICE_CLONES: 10,
ACCOUNT_ANALYSIS: 100,
SCRIPT_CONVERSATIONS: 10000,
};
/**
* Minimum values for various limits
*/
exports.MINIMUM_LIMITS = {
VIDEOS_GENERATED: 0,
SOURCE_VIDEOS: 0,
VOICE_CLONES: 0,
ACCOUNT_ANALYSIS: 0,
SCRIPT_CONVERSATIONS: 0,
};
// ============================================================================
// CACHE CONSTANTS
// ============================================================================
/**
* Cache timeouts (in milliseconds)
*/
exports.CACHE_TIMEOUTS = {
USER_USAGE: 5 * 60 * 1000, // 5 minutes
FEATURE_FLAGS: 10 * 60 * 1000, // 10 minutes
SUBSCRIPTION_PLANS: 30 * 60 * 1000, // 30 minutes
USER_PROFILE: 15 * 60 * 1000, // 15 minutes
};
// ============================================================================
// ERROR CODES
// ============================================================================
/**
* Standard error codes for monetization
*/
exports.MONETIZATION_ERROR_CODES = {
FEATURE_ACCESS_DENIED: 'FEATURE_ACCESS_DENIED',
USAGE_LIMIT_REACHED: 'USAGE_LIMIT_REACHED',
INVALID_FEATURE_ID: 'INVALID_FEATURE_ID',
INVALID_ACTION: 'INVALID_ACTION',
AUTHENTICATION_REQUIRED: 'AUTHENTICATION_REQUIRED',
MONETIZATION_SERVICE_ERROR: 'MONETIZATION_SERVICE_ERROR',
PLAN_UPGRADE_REQUIRED: 'PLAN_UPGRADE_REQUIRED',
};
//# sourceMappingURL=constants.js.map
;