@mastra/core
Version:
Mastra is a framework for building AI-powered applications and agents with a modern TypeScript stack.
43 lines • 1.77 kB
TypeScript
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<string, unknown>;
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