@vfarcic/dot-ai
Version:
AI-powered development productivity platform that enhances software development workflows through intelligent automation and AI-driven assistance
82 lines • 2.43 kB
TypeScript
/**
* MCP Prompts Handler - Manages shared prompt library
*/
import { Logger } from '../core/error-handling';
export interface PromptArgument {
name: string;
description?: string;
required?: boolean;
}
export interface PromptMetadata {
name: string;
description: string;
category?: string;
arguments?: PromptArgument[];
}
export interface PromptFile {
path: string;
content: string;
}
export interface Prompt {
name: string;
description: string;
content: string;
arguments?: PromptArgument[];
source: 'built-in' | 'user';
files?: PromptFile[];
}
/**
* Loads and parses a prompt file with YAML frontmatter
*/
export declare function loadPromptFile(filePath: string, source?: 'built-in' | 'user', defaultName?: string): Prompt;
/**
* Loads built-in prompts from the shared-prompts directory
*/
export declare function loadBuiltInPrompts(logger: Logger, baseDir?: string): Prompt[];
/**
* Merge built-in and user prompts with collision detection
* Built-in prompts take precedence over user prompts with the same name
*/
export declare function mergePrompts(builtInPrompts: Prompt[], userPrompts: Prompt[], logger: Logger): Prompt[];
/**
* Loads all prompts (built-in + user) with collision detection
* This is the main entry point for loading prompts
*/
export declare function loadAllPrompts(logger: Logger, baseDir?: string, forceRefresh?: boolean): Promise<Prompt[]>;
export interface PromptsListArgs {
baseDir?: string;
excludeFileSkills?: boolean;
}
interface PromptsListResponse {
prompts: Array<{
name: string;
description: string;
arguments?: PromptArgument[];
}>;
}
/**
* Handle prompts/list MCP request
*/
export declare function handlePromptsListRequest(args: PromptsListArgs | undefined, logger: Logger, requestId: string): Promise<PromptsListResponse>;
interface PromptsGetArgs {
name: string;
arguments?: Record<string, string>;
baseDir?: string;
}
interface PromptsGetResponse {
description?: string;
messages: Array<{
role: string;
content: {
type: string;
text: string;
};
}>;
files?: PromptFile[];
}
/**
* Handle prompts/get MCP request
*/
export declare function handlePromptsGetRequest(args: PromptsGetArgs, logger: Logger, requestId: string): Promise<PromptsGetResponse>;
export {};
//# sourceMappingURL=prompts.d.ts.map