supa-seed
Version:
A constraint-aware, framework-agnostic database seeding framework with deep PostgreSQL business logic discovery and MakerKit integration support
117 lines • 4.53 kB
JavaScript
;
/**
* Archetype Types and Configuration System
* Comprehensive type definitions with 10+ archetype categories, behavior patterns, and generation configurations
* Part of Task 4.1: Platform-specific archetype system (individual/team/hybrid architectures)
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.ArchetypeCategoryUtils = void 0;
exports.createDefaultArchetypeConfig = createDefaultArchetypeConfig;
/**
* Default archetype generation configuration
*/
function createDefaultArchetypeConfig() {
return {
metadata: {
version: '1.0.0',
lastUpdated: new Date(),
author: 'SupaSeed'
},
strategy: {
selectionStrategy: 'balanced',
categoryDistribution: {
creator: 0.25,
consumer: 0.15,
collaborator: 0.15,
curator: 0.10,
analyst: 0.08,
administrator: 0.05,
enterprise: 0.05,
professional: 0.07,
casual: 0.05,
power_user: 0.03,
mobile_first: 0.02,
security_focused: 0.05
},
enforceDiversity: true
},
behaviorGeneration: {
enableRealisticPatterns: true,
seasonalVariations: true,
timeBasedPatterns: true,
crossPlatformConsistency: 0.7
},
contentGeneration: {
personalizedPreferences: true,
qualityDistribution: {
basic: 0.2,
standard: 0.5,
high: 0.25,
professional: 0.05
},
multiLanguageSupport: false,
schedulingPatterns: true
},
validation: {
enforceUniqueness: true,
validateBehaviorConsistency: true,
checkPlatformCompatibility: true
},
testing: {
debugMode: false,
generateTestSets: false,
includeBehaviorSimulation: false,
exportAnalysis: false
}
};
}
/**
* Archetype category utilities
*/
exports.ArchetypeCategoryUtils = {
/** Get all available categories */
getAllCategories() {
return [
'creator', 'consumer', 'collaborator', 'curator', 'analyst',
'administrator', 'enterprise', 'professional', 'casual',
'power_user', 'mobile_first', 'security_focused'
];
},
/** Get category description */
getCategoryDescription(category) {
const descriptions = {
creator: 'Content creators and producers who generate original content',
consumer: 'Content consumers who primarily browse and consume content',
collaborator: 'Team/group coordinators who facilitate collaboration',
curator: 'Content organizers and moderators who maintain quality',
analyst: 'Data-driven users who analyze and interpret information',
administrator: 'System admins and managers who oversee operations',
enterprise: 'Large organization users with complex requirements',
professional: 'Professional service providers with specialized needs',
casual: 'Occasional or casual users with basic requirements',
power_user: 'Advanced feature users who maximize platform capabilities',
mobile_first: 'Mobile-centric users who primarily use mobile devices',
security_focused: 'Privacy and security conscious users'
};
return descriptions[category];
},
/** Check if category is compatible with platform */
isCategoryCompatible(category, platform) {
const compatibilityMatrix = {
creator: ['individual', 'team', 'hybrid'],
consumer: ['individual', 'team', 'hybrid'],
collaborator: ['team', 'hybrid'],
curator: ['individual', 'team', 'hybrid'],
analyst: ['individual', 'team', 'hybrid'],
administrator: ['team', 'hybrid'],
enterprise: ['team'],
professional: ['individual', 'team', 'hybrid'],
casual: ['individual'],
power_user: ['individual', 'team', 'hybrid'],
mobile_first: ['individual', 'team', 'hybrid'],
security_focused: ['individual', 'team', 'hybrid']
};
return compatibilityMatrix[category].includes(platform);
}
};
//# sourceMappingURL=archetype-types.js.map