Kanshō

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

PropTypeDescription
thoughtForMs*numberDuration 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".
bodystringRaw reasoning text, rendered in a monospace pre block inside the disclosure.
childrenReact.ReactNodeCustom content slot — replaces the default body pre block when provided.
labelstringOverrides the default "Reasoning stream" trigger label.
defaultOpenbooleanWhether the disclosure starts expanded. Defaults to false.
classNamestringExtra 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
/>