/** * A JSON Schema object for describing a tool's input parameters. */ export interface JsonSchemaObject { type: string; properties?: Record; required?: string[]; additionalProperties?: boolean; description?: string; [key: string]: unknown; } export interface JsonSchemaProperty { type?: string; description?: string; enum?: unknown[]; default?: unknown; [key: string]: unknown; } /** * Definition of a single MCP tool that agent-bober exposes. */ export interface BoberToolDefinition { /** The tool name as it will appear in tools/list (e.g. "bober_ping"). */ name: string; /** Human-readable description of what the tool does. */ description: string; /** JSON Schema object describing the tool's input parameters. */ inputSchema: JsonSchemaObject; /** Function that executes the tool and returns a string result. */ handler: (args: Record) => Promise; } /** * Register a tool in the global tool registry. * If a tool with the same name is already registered, it is overwritten. */ export declare function registerTool(tool: BoberToolDefinition): void; /** * Returns all registered tool definitions. */ export declare function getAllTools(): BoberToolDefinition[]; /** * Looks up a tool by name. Returns undefined if not found. */ export declare function getTool(name: string): BoberToolDefinition | undefined; //# sourceMappingURL=registry.d.ts.map