@ai-sdk/provider
Version:
38 lines (32 loc) • 1.02 kB
text/typescript
import type { JSONSchema7 } from 'json-schema';
import type { SharedV2ProviderOptions } from '../../shared';
/**
* A tool has a name, a description, and a set of parameters.
*
* Note: this is **not** the user-facing tool definition. The AI SDK methods will
* map the user-facing tool definitions to this format.
*/
export type LanguageModelV2FunctionTool = {
/**
* The type of the tool (always 'function').
*/
type: 'function';
/**
* The name of the tool. Unique within this model call.
*/
name: string;
/**
* A description of the tool. The language model uses this to understand the
* tool's purpose and to provide better completion suggestions.
*/
description?: string;
/**
* The parameters that the tool expects. The language model uses this to
* understand the tool's input requirements and to provide matching suggestions.
*/
inputSchema: JSONSchema7;
/**
* The provider-specific options for the tool.
*/
providerOptions?: SharedV2ProviderOptions;
};