/** * @license * Copyright 2025 Vybestack LLC * SPDX-License-Identifier: Apache-2.0 */ export declare const TOOL_PREFIX = "llxprt_"; /** * Anthropic input schema format */ export interface AnthropicInputSchema { type: 'object'; properties?: Record; required: string[]; [key: string]: unknown; } /** * Anthropic property schema (recursive for nested objects/arrays) */ export interface AnthropicPropertySchema { type: string; description?: string; enum?: string[]; items?: AnthropicPropertySchema; properties?: Record; required?: string[]; minimum?: number; maximum?: number; minLength?: number; maxLength?: number; default?: unknown; } /** * Anthropic tool format */ export interface AnthropicTool { name: string; description: string; input_schema: AnthropicInputSchema; } /** * Input format from Gemini-style tool declarations */ interface GeminiToolDeclaration { name: string; description?: string; parametersJsonSchema?: unknown; parameters?: unknown; } /** * Convert a Gemini-style schema to Anthropic input_schema format. * Handles: * - Uppercase type enums → lowercase strings * - Missing required fields → adds empty array * - String numeric values → proper numbers * - Recursive property/items conversion */ export declare function convertSchemaToAnthropic(schema: unknown): AnthropicInputSchema; /** * Convert an array of Gemini-style tool declarations to Anthropic format */ export declare function convertToolsToAnthropic(geminiTools?: Array<{ functionDeclarations?: GeminiToolDeclaration[]; }>, isOAuth?: boolean): AnthropicTool[] | undefined; export {};