// resources/registry.ts — Registers all MCP resources on the server.
import { handleProcessResource, processResourceDefinition } from './process.js';
import { handleSpecsResource, specsResourceDefinition } from './specs.js';
import { handleTemplatesResource, templatesResourceDefinition } from './templates.js';
import { handlePatternsResource, patternsResourceDefinition } from './patterns.js';
import { handleWorkspaceOverviewResource, workspaceOverviewResourceDefinition, } from './workspace-overview-resource.js';
import { handleWorkspaceHealthResource, workspaceHealthResourceDefinition, } from './workspace-health-resource.js';
import { handleVelocityReportResource, velocityReportResourceDefinition, } from './velocity-report-resource.js';
import { handleUsageStatsResource, usageStatsResourceDefinition } from './usage-stats-resource.js';
import { handleBudgetStatusResource, budgetStatusResourceDefinition, } from './budget-status-resource.js';
function reg(server, def, handler) {
    server.registerResource(def.name, def.uri, { description: def.description, mimeType: def.mimeType }, async (uri) => ({
        contents: [{ uri: uri.href, text: await handler(), mimeType: 'application/json' }],
    }));
}
/**
 * Registers all 9 read-only MCP resources on the server.
 */
export function registerResources(server) {
    reg(server, processResourceDefinition, handleProcessResource);
    reg(server, specsResourceDefinition, handleSpecsResource);
    reg(server, templatesResourceDefinition, handleTemplatesResource);
    reg(server, patternsResourceDefinition, handlePatternsResource);
    reg(server, workspaceOverviewResourceDefinition, handleWorkspaceOverviewResource);
    reg(server, workspaceHealthResourceDefinition, handleWorkspaceHealthResource);
    reg(server, velocityReportResourceDefinition, handleVelocityReportResource);
    reg(server, usageStatsResourceDefinition, handleUsageStatsResource);
    reg(server, budgetStatusResourceDefinition, handleBudgetStatusResource);
}
//# sourceMappingURL=registry.js.map