<!-- source-hash: 51e80592b1ae4e56c89af6c06ba53a04 -->
Renders a collapsible card UI for displaying AI tool call execution state — including tool arguments, execution status (running/success/failure), and result output.

## Key Components

| Export | Type | Description |
|--------|------|-------------|
| `ToolExecutionDisplay` | `forwardRef<HTMLDivElement>` | Main component displaying tool call lifecycle in a collapsible card |

### Internal Helpers

- **`renderStatusIcon`** — Returns `DotsLoaderIcon` (executing), `CheckCircleIcon` (success), or `XmarkCircleIcon` (failure) based on message state
- **`argEntries`** — Filters `message.parameters` to exclude `COMMAND_BODY_KEYS`, nulls, undefined, and empty strings
- **`previewText`** — Memoized title derived from `getToolCallTitle` using tool args, title, and function name
- **`useCollapsible`** — Hook providing animated expand/collapse container styles
- **`hasBody`** — Guards rendering of the collapsible body section

### Props (`ToolExecutionDisplayProps`)

| Prop | Description |
|------|-------------|
| `message` | Tool execution message with `type`, `parameters`, `result`, `success`, `toolTitle`, `toolFunction`, `integratedToolType` |
| `className` | Optional CSS class override |

## Usage Example

```typescript
import { ToolExecutionDisplay } from "./tool-execution-display"

// Executing state
<ToolExecutionDisplay
  message={{
    type: "EXECUTING_TOOL",
    toolTitle: "Query Database",
    toolFunction: "run_query",
    parameters: { query: "SELECT * FROM tickets LIMIT 10" },
    integratedToolType: "OPENFRAME",
  }}
/>

// Completed with result
<ToolExecutionDisplay
  message={{
    type: "EXECUTED_TOOL",
    toolTitle: "Query Database",
    toolFunction: "run_query",
    parameters: { query: "SELECT * FROM tickets LIMIT 10" },
    result: "Returned 10 rows",
    success: true,
    integratedToolType: "OPENFRAME",
  }}
/>
```