#!/usr/bin/env node /** * CLI options that users can set via command line arguments */ interface CliOptions { docsHost?: boolean; } /** * Application defaults (not user-configurable) */ interface AppDefaults { resourceMemoOptions: typeof RESOURCE_MEMO_OPTIONS; toolMemoOptions: typeof TOOL_MEMO_OPTIONS; pfExternal: string; pfExternalCharts: string; pfExternalChartsComponents: string; pfExternalChartsDesign: string; pfExternalDesign: string; pfExternalDesignComponents: string; pfExternalDesignLayouts: string; pfExternalAccessibility: string; separator: string; urlRegex: RegExp; name: string; version: string; repoName: string | undefined; contextPath: string; docsPath: string; llmsFilesPath: string; } /** * Frozen options object (immutable configuration) */ interface GlobalOptions extends CliOptions, AppDefaults { } /** * Resource-level memoization options */ declare const RESOURCE_MEMO_OPTIONS: { fetchUrl: { cacheLimit: number; expire: number; cacheErrors: boolean; }; readFile: { cacheLimit: number; expire: number; cacheErrors: boolean; }; }; /** * Tool-specific memoization options */ declare const TOOL_MEMO_OPTIONS: { usePatternFlyDocs: { cacheLimit: number; expire: number; cacheErrors: boolean; }; fetchDocs: { cacheLimit: number; expire: number; cacheErrors: boolean; }; }; type McpTool = [string, { description: string; inputSchema: any; }, (args: any) => Promise]; type McpToolCreator = () => McpTool; /** * Create, register tool and errors, then run the server. * * @param options * @param settings * @param settings.tools */ declare const runServer: (options?: GlobalOptions, { tools }?: { tools?: McpToolCreator[]; }) => Promise; /** * Main function - CLI entry point */ declare const main: () => Promise; export { main, runServer };