import type { ToolDefinition } from "@earendil-works/pi-coding-agent"; import type { TSchema } from "typebox"; import type { ToolErrorCode, ToolResult } from "../types.js"; import type { GatewayExecuteOptions, ToolGateway } from "./gateway.js"; import { type LeetCodeToolMetadata } from "./read-tools.js"; export interface ToolExecutor { execute(name: LeetCodeToolMetadata["name"], input: unknown, options?: GatewayExecuteOptions): Promise>; } export declare class LeetCodeModelToolError extends Error { readonly code: ToolErrorCode; constructor(code: ToolErrorCode, message: string); } /** * Pi providers require model tool parameter schemas to have a plain object * root. The Gateway still validates against the complete contract schema, so * removing root combinators here only widens the model-facing transport shape. */ export declare function createModelToolParameters(schema: TSchema): TSchema; export declare function createLeetCodeTools(executor: ToolExecutor | Pick): ToolDefinition>[]; //# sourceMappingURL=registry.d.ts.map