> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/nemo/relay/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/nemo/relay/_mcp/server.

# Enum Tool Definition

> A tool definition available to the model.

Generated from `cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-pii-redaction -p nemo-relay-ffi -p nemo-relay-types -p nemo-relay-plugin -p nemo-relay-worker-proto -p nemo-relay-worker`.

<pre />

A tool definition available to the model.

## Variants

### `Function`

<pre />

Portable function tool.

#### Fields

### `function: FunctionDefinition`

The function definition.

### `extra: Map<String, Value>`

Provider fields on the function-tool wrapper.

### `ProviderNative`

<pre />

Lossless provider-native tool definition.

#### Fields

### `provider: String`

Provider surface that owns the value.

### `kind: String`

Native tool discriminator or a descriptive fallback.

### `value: Value`

Exact provider JSON value.

## Trait Implementations

### `impl Clone for ToolDefinition`

<pre />

#### `clone`

<pre />

#### `clone_from`

<pre />

### `impl Debug for ToolDefinition`

<pre />

#### `fmt`

<pre />

### `impl<'de> Deserialize<'de> for ToolDefinition`

<pre />

#### `deserialize`

<pre />

### `impl PartialEq for ToolDefinition`

<pre />

#### `eq`

<pre />

#### `ne`

<pre />

### `impl Serialize for ToolDefinition`

<pre />

#### `serialize`

<pre />

### `impl StructuralPartialEq for ToolDefinition`

<pre />