/** * ADRFlow MCP Resources * * Defines resources that expose ADR data to AI assistants. * Resources are read-only views into the data. * * @module adrflow/mcp/resources */ import type { Resource, ResourceTemplate } from '@modelcontextprotocol/sdk/types.js'; import type { ADR, ADRStats } from '../core/types.js'; /** * Resource URI schemes */ export declare const RESOURCE_URI: { /** Individual ADR: adrflow://adrs/ADR-0001 */ readonly ADR: (id: string) => string; /** List of all ADRs: adrflow://adrs */ readonly ADR_LIST: "adrflow://adrs"; /** ADR statistics: adrflow://stats */ readonly STATS: "adrflow://stats"; /** ADRs by status: adrflow://status/accepted */ readonly BY_STATUS: (status: string) => string; /** ADRs by category: adrflow://category/technology */ readonly BY_CATEGORY: (category: string) => string; /** Recent decisions timeline: adrflow://timeline */ readonly TIMELINE: "adrflow://timeline"; /** ADRs by file: adrflow://files/path/to/file.ts */ readonly BY_FILE: (path: string) => string; }; /** * Resource templates for dynamic resources */ export declare const resourceTemplates: ResourceTemplate[]; /** * Static resources always available */ export declare const staticResources: Resource[]; /** * Formats an ADR for resource output */ export declare function formatADRResource(adr: ADR): string; /** * Formats multiple ADRs for list resource output */ export declare function formatADRListResource(adrs: readonly ADR[]): string; /** * Formats stats for resource output */ export declare function formatStatsResource(stats: ADRStats): string; /** * Formats timeline for resource output with markdown-friendly format */ export declare function formatTimelineResource(adrs: readonly ADR[]): string; /** * Parses a resource URI to extract type and parameters */ export declare function parseResourceUri(uri: string): ResourceParams | null; /** * Resource parameter types */ export type ResourceParams = { type: 'list'; } | { type: 'single'; id: string; } | { type: 'stats'; } | { type: 'timeline'; } | { type: 'byStatus'; status: string; } | { type: 'byCategory'; category: string; } | { type: 'byFile'; path: string; }; /** * Gets static resource definitions */ export declare function getResources(): Resource[]; /** * Gets resource template definitions */ export declare function getResourceTemplates(): ResourceTemplate[]; //# sourceMappingURL=resources.d.ts.map