import type { SkillMeta } from "./registry.js"; export declare const MCP_CONTRACT_SCHEMA_VERSION: 1; export interface JsonSchemaObject { type?: string; title?: string; description?: string; enum?: unknown[]; const?: unknown; default?: unknown; format?: string; minimum?: number; items?: JsonSchemaObject; properties?: Record; required?: string[]; additionalProperties?: boolean | JsonSchemaObject; oneOf?: JsonSchemaObject[]; } export type McpToolCategory = "agent-session" | "discovery" | "execution" | "feedback" | "metadata" | "pinning" | "scaffolding" | "scheduling" | "storage" | "validation"; export type McpToolSideEffect = "filesystem" | "local-process-or-remote-run" | "none" | "schedule-state"; export interface McpToolContract { name: string; title: string; description: string; params: string[]; category: McpToolCategory; sideEffects: McpToolSideEffect; stable: true; inputSchema: JsonSchemaObject; outputSchema: JsonSchemaObject; } export interface UnknownMcpToolContract { name: string; known: false; description: "Unknown tool"; params: []; } export type DescribedMcpToolContract = (McpToolContract & { known: true; }) | UnknownMcpToolContract; export interface McpResourceContract { uri: string; name: string; description: string; mimeType: "application/json"; schema: JsonSchemaObject; } export interface McpContractManifest { schemaVersion: typeof MCP_CONTRACT_SCHEMA_VERSION; tools: McpToolContract[]; resources: McpResourceContract[]; } export interface SkillMcpSchemaContract { tool: string; inputSchema: JsonSchemaObject; outputSchema: JsonSchemaObject; } export interface SkillMcpMetadata { schemaVersion: typeof MCP_CONTRACT_SCHEMA_VERSION; name: string; slug: string; displayName: string; description: string; category: string; tags: string[]; source: SkillMeta["source"] | "official"; cliCommand: string; schemas: { install: SkillMcpSchemaContract; run: SkillMcpSchemaContract; validate: SkillMcpSchemaContract; }; } export declare function listMcpToolContracts(query?: string): McpToolContract[]; export declare function describeMcpToolContracts(names: string[]): DescribedMcpToolContract[]; export declare function summarizeMcpToolContract(contract: McpToolContract): Pick; export declare function getMcpResourceContracts(): McpResourceContract[]; export declare function createMcpContractManifest(options?: { names?: string[]; includeResources?: boolean; }): McpContractManifest; export declare function createSkillMcpMetadata(skill: SkillMeta): SkillMcpMetadata; export declare function getMcpToolDescriptions(): Record; export declare const MCP_ERROR_RESPONSE_SCHEMA: JsonSchemaObject;