import type { ToolToConvert } from './tool-builder/builder.js'; import type { VercelTool } from './types.js'; /** * Checks if a tool is a Mastra Tool, using both instanceof and marker. * The marker fallback handles environments like Vite SSR where the same * module may be loaded multiple times, causing instanceof to fail. */ export declare function isMastraTool(tool: unknown): boolean; /** * Checks if a tool is a Vercel Tool (AI SDK tool) * @param tool - The tool to check * @returns True if the tool is a Vercel Tool, false otherwise */ export declare function isVercelTool(tool?: ToolToConvert): tool is VercelTool; type ProviderTool = { type: 'provider-defined' | 'provider'; id: string; args?: Record; inputSchema?: unknown; outputSchema?: unknown; requestContextSchema?: unknown; }; /** * Checks if a tool is a provider-defined tool from the AI SDK. * Provider tools (like google.tools.googleSearch(), openai.tools.webSearch()) have: * - type: "provider-defined" (AI SDK v5) or "provider" (AI SDK v6) * - id: in format 'provider.tool_name' (e.g., 'google.google_search') * * These tools have a lazy `inputSchema` function that returns an AI SDK Schema * (not a Zod schema), so they require special handling during serialization. */ export declare function isProviderDefinedTool(tool: unknown): tool is ProviderTool; /** * Alias for callers that prefer the shorter provider-tool terminology. */ export declare const isProviderTool: typeof isProviderDefinedTool; /** * Extracts the model-facing tool name from a provider tool id. * e.g. 'openai.web_search' -> 'web_search' */ export declare function getProviderToolName(providerId: string): string; export {}; //# sourceMappingURL=toolchecks.d.ts.map