UNPKG

@sofianedjerbi/knowledge-tree-mcp

Version:

MCP server for hierarchical project knowledge management

131 lines 2.75 kB
/** * Default values and configuration constants */ /** * Search defaults */ export const SEARCH_DEFAULTS = { LIMIT: 50, SORT_BY: 'relevance', SEARCH_IN: ['all'], REGEX: false, CASE_SENSITIVE: false }; /** * Index/listing defaults */ export const INDEX_DEFAULTS = { FORMAT: 'tree', INCLUDE_CONTENT: false, MAX_ENTRIES: 100 }; /** * Export defaults */ export const EXPORT_DEFAULTS = { FORMAT: 'markdown', INCLUDE_LINKS: true }; /** * Statistics defaults */ export const STATS_DEFAULTS = { INCLUDE: ['summary', 'priorities', 'categories', 'orphaned', 'popular'] }; /** * Recent changes defaults */ export const RECENT_DEFAULTS = { DAYS: 7, LIMIT: 20, TYPE: 'all' }; /** * Analytics defaults */ export const ANALYTICS_DEFAULTS = { DAYS: 30, INCLUDE: ['access', 'searches', 'tools', 'interface', 'patterns'] }; /** * File system constants */ export const FILE_CONSTANTS = { EXTENSION: '.json', LOGS_DIR: 'logs', USAGE_LOG_FILE: 'usage.jsonl', PUBLIC_DIR: 'public', DOCS_DIR: 'docs' }; /** * Server configuration defaults */ export const SERVER_DEFAULTS = { NAME: 'knowledge', VERSION: '2.0.0', // Note: Actual version is read from package.json in MCPHandlers DEFAULT_PORT: 3000, WEBSOCKET_PATH: '/ws', HOST: '0.0.0.0', DOCS_DIR: 'docs', LOGS_SUBDIR: 'logs' }; /** * Validation constants */ export const VALIDATION_CONSTANTS = { PATH_REGEX: /^[a-zA-Z0-9\-_\/]+(\.[a-zA-Z0-9]+)?$/, MAX_PATH_LENGTH: 255, MAX_TITLE_LENGTH: 200, MAX_SLUG_LENGTH: 100, MAX_PROBLEM_LENGTH: 1000, MAX_SOLUTION_LENGTH: 5000, MAX_CONTEXT_LENGTH: 2000, MAX_CODE_LENGTH: 10000, MAX_DESCRIPTION_LENGTH: 500, MAX_TAG_LENGTH: 50, MAX_TAGS_COUNT: 20, MAX_EXAMPLES_COUNT: 10, FILENAME_PREFIX_SEPARATOR: '-' }; /** * Display/UI constants */ export const DISPLAY_CONSTANTS = { TRUNCATE_LENGTH: 50, PREVIEW_LENGTH: 100, MAX_SEARCH_RESULTS: 1000, MAX_EXPORT_ENTRIES: 10000, STALE_ENTRY_DAYS: 30 }; /** * Help topics */ export const HELP_TOPICS = [ 'overview', 'creating', 'linking', 'searching', 'validating', 'examples', 'categories' ]; /** * Time constants (in milliseconds) */ export const TIME_CONSTANTS = { DAY_MS: 24 * 60 * 60 * 1000, HOUR_MS: 60 * 60 * 1000, MINUTE_MS: 60 * 1000 }; export function getDefaultValue(category, key) { const defaults = { search: SEARCH_DEFAULTS, index: INDEX_DEFAULTS, export: EXPORT_DEFAULTS, stats: STATS_DEFAULTS, recent: RECENT_DEFAULTS, analytics: ANALYTICS_DEFAULTS }; return defaults[category]?.[key]; } //# sourceMappingURL=defaults.js.map