File size: 2,871 Bytes
bcce530
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
/**
 * Central export file for all OpenPrompt tools
 * Combines tools from main tools.ts and all extended modular files
 */

import { getAllTools as getMainTools, getToolCategories } from '../tools'
import { MARKETING_TOOLS_EXTENDED } from './marketing-extended'
import { BRANDING_TOOLS_EXTENDED } from './branding-extended'
import { PRODUCT_DEVELOPMENT_TOOLS } from './product-development'
import { MARKET_RESEARCH_TOOLS } from './market-research'
import {
    EMAIL_TOOLS_EXTENDED,
    COPYWRITING_TOOLS_EXTENDED,
    PERSONAL_BRANDING_TOOLS_EXTENDED,
    OPERATIONS_TOOLS_EXTENDED,
    MISCELLANEOUS_TOOLS,
} from './remaining-tools'
import { SEO_TOOLS_EXTENDED, SALES_TOOLS_EXTENDED } from '../tools-extended'

/**
 * Get all tools from main file + all extended files
 * Total: 177 tools
 */
export function getAllToolsComplete() {
    return [
        ...getMainTools(), // 81 tools from main tools.ts
        ...MARKETING_TOOLS_EXTENDED, // 16 tools
        ...BRANDING_TOOLS_EXTENDED, // 19 tools
        ...PRODUCT_DEVELOPMENT_TOOLS, // 9 tools
        ...MARKET_RESEARCH_TOOLS, // 10 tools
        ...EMAIL_TOOLS_EXTENDED, // 4 tools
        ...COPYWRITING_TOOLS_EXTENDED, // 5 tools
        ...PERSONAL_BRANDING_TOOLS_EXTENDED, // 11 tools
        ...OPERATIONS_TOOLS_EXTENDED, // 3 tools
        ...MISCELLANEOUS_TOOLS, // 6 tools
        ...SEO_TOOLS_EXTENDED, // 7 SEO tools
        ...SALES_TOOLS_EXTENDED, // 6 Sales tools
    ]
}

// Re-export types from main tools.ts
export { getToolCategories } from '../tools'
export type { ToolDefinition, ToolInput } from '../tools'

// Import ToolDefinition for typing
import type { ToolDefinition } from '../tools'

/**
 * Get a tool by its slug - searches ALL tools including extended
 */
export function getToolBySlug(slug: string): ToolDefinition | undefined {
    return getAllToolsComplete().find(tool => tool.slug === slug)
}

/**
 * Get tools by category - searches ALL tools including extended
 */
export function getToolsByCategory(category: string): ToolDefinition[] {
    return getAllToolsComplete().filter(tool => tool.category === category)
}

// Export individual arrays for flexibility
export {
    MARKETING_TOOLS_EXTENDED,
    BRANDING_TOOLS_EXTENDED,
    PRODUCT_DEVELOPMENT_TOOLS,
    MARKET_RESEARCH_TOOLS,
    EMAIL_TOOLS_EXTENDED,
    COPYWRITING_TOOLS_EXTENDED,
    PERSONAL_BRANDING_TOOLS_EXTENDED,
    OPERATIONS_TOOLS_EXTENDED,
    MISCELLANEOUS_TOOLS,
    SEO_TOOLS_EXTENDED,
    SALES_TOOLS_EXTENDED,
}

/**
 * Tool count summary
 */
export const TOOL_COUNTS = {
    main: 81,
    marketing_extended: 16,
    branding_extended: 19,
    product_development: 9,
    market_research: 10,
    email_extended: 4,
    copywriting_extended: 5,
    personal_branding_extended: 11,
    operations_extended: 3,
    miscellaneous: 6,
    seo_extended: 7,
    sales_extended: 6,
    total: 177,
}