Docs / Tool calls /
TraceBlock
Expandable block showing a timestamped trace entry with type label, content, and metadata.
Preview
First, let me understand what the user wants. They're asking me to refactor the authentication module to support multiple OAuth providers. Key considerations: 1. The current session.ts file only handles a single provider (GitHub). 2. We need an abstraction layer — probably a Provider interface — so each OAuth flow is isolated. 3. The token storage logic should be provider-agnostic. 4. I should check whether the existing cookie handling will need to change, or if we can keep it stable. Let me start by reading the relevant files before proposing a structure.
Variants
Thinking
Analysing the schema structure to determine the safest migration path without locking the users table…
Error
Context window exceeded while loading the full repository. Falling back to partial analysis.
Collapsed
Props
| Prop | Type | Description |
|---|---|---|
| thoughtForMs* | number | Duration of the reasoning step in milliseconds — displayed as seconds (e.g. 4.2s). |
| status | "thinking" | "complete" | "error" | Controls the trailing icon and border colour. Defaults to "complete". |
| body | string | Raw reasoning text, rendered in a monospace pre block inside the disclosure. |
| children | React.ReactNode | Custom content slot — replaces the default body pre block when provided. |
| label | string | Overrides the default "Reasoning stream" trigger label. |
| defaultOpen | boolean | Whether the disclosure starts expanded. Defaults to false. |
| className | string | Extra classes for the outer disclosure element. |
* required.
Usage
import { TraceBlock } from "@/components/agent/trace-block";
<TraceBlock
thoughtForMs={4200}
status="complete"
body="First, I need to understand the auth flow before proposing changes..."
defaultOpen
/>