> 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.

# Struct Atif Step

> A single step in an ATIF trajectory.

Generated from `cargo doc --no-deps -p nemo-relay -p nemo-relay-adaptive -p nemo-relay-ffi`.

<pre />

A single step in an ATIF trajectory.

## Fields

### `step_id: usize`

1-based ordinal step ID.

### `source: String`

Source of the step: `"system"`, `"user"`, or `"agent"`.

### `message: Json`

The message content (string or array of content parts).

### `timestamp: Option<String>`

ISO 8601 timestamp.

### `model_name: Option<String>`

LLM model name, if applicable.

### `reasoning_effort: Option<Json>`

Qualitative or quantitative measure of reasoning effort.

### `reasoning_content: Option<String>`

The agent's explicit internal reasoning.

### `tool_calls: Option<Vec<AtifToolCall>>`

Tool calls made by the agent in this step.

### `observation: Option<AtifObservation>`

Observation (tool results) for this step.

### `metrics: Option<AtifMetrics>`

Token usage and cost metrics.

### `llm_call_count: Option<u64>`

Number of LLM calls represented by this step.

### `is_copied_context: Option<bool>`

Whether this step was copied from a previous trajectory for context.

### `extra: Option<Json>`

Extra metadata.

## Trait Implementations

### `impl Clone for AtifStep`

<pre />

#### `clone`

<pre />

#### `clone_from`

<pre />

### `impl Debug for AtifStep`

<pre />

#### `fmt`

<pre />

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

<pre />

#### `deserialize`

<pre />

### `impl Serialize for AtifStep`

<pre />

#### `serialize`

<pre />