95 lines
2.0 KiB
TypeScript
95 lines
2.0 KiB
TypeScript
/**
|
|
* Module Configuration
|
|
* Defines all available modules and their properties
|
|
*/
|
|
|
|
export interface ModuleConfig {
|
|
name: string;
|
|
route: string;
|
|
icon?: string;
|
|
description?: string;
|
|
enabled: boolean; // Will be checked from API
|
|
}
|
|
|
|
export const MODULES: Record<string, ModuleConfig> = {
|
|
planner: {
|
|
name: 'Planner',
|
|
route: '/planner',
|
|
icon: '📊',
|
|
description: 'Keyword research and clustering',
|
|
enabled: true, // Default, will be checked from API
|
|
},
|
|
writer: {
|
|
name: 'Writer',
|
|
route: '/writer',
|
|
icon: '✍️',
|
|
description: 'Content generation and management',
|
|
enabled: true,
|
|
},
|
|
thinker: {
|
|
name: 'Thinker',
|
|
route: '/thinker',
|
|
icon: '🧠',
|
|
description: 'AI prompts and strategies',
|
|
enabled: true,
|
|
},
|
|
automation: {
|
|
name: 'Automation',
|
|
route: '/automation',
|
|
icon: '⚙️',
|
|
description: 'Automated workflows and tasks',
|
|
enabled: true,
|
|
},
|
|
site_builder: {
|
|
name: 'Site Builder',
|
|
route: '/site-builder',
|
|
icon: '🏗️',
|
|
description: 'Build and manage sites',
|
|
enabled: true,
|
|
},
|
|
linker: {
|
|
name: 'Linker',
|
|
route: '/linker',
|
|
icon: '🔗',
|
|
description: 'Internal linking optimization',
|
|
enabled: true,
|
|
},
|
|
optimizer: {
|
|
name: 'Optimizer',
|
|
route: '/optimizer',
|
|
icon: '⚡',
|
|
description: 'Content optimization',
|
|
enabled: true,
|
|
},
|
|
publisher: {
|
|
name: 'Publisher',
|
|
route: '/publisher',
|
|
icon: '📤',
|
|
description: 'Content publishing',
|
|
enabled: true,
|
|
},
|
|
};
|
|
|
|
/**
|
|
* Get module config by name
|
|
*/
|
|
export function getModuleConfig(moduleName: string): ModuleConfig | undefined {
|
|
return MODULES[moduleName];
|
|
}
|
|
|
|
/**
|
|
* Get all enabled modules (all modules always enabled)
|
|
*/
|
|
export function getEnabledModules(): ModuleConfig[] {
|
|
return Object.values(MODULES).filter(module => module.enabled);
|
|
}
|
|
|
|
/**
|
|
* Check if a module is enabled (all modules always enabled)
|
|
*/
|
|
export function isModuleEnabled(moduleName: string): boolean {
|
|
const module = MODULES[moduleName];
|
|
return module ? module.enabled : false;
|
|
}
|
|
|