Concrete
feedback
Component

Tool call message

Collapsible tool execution artifact with status, duration, optional input code, and output.

Tool call message makes agent work inspectable. The component renders status and artifacts; application code owns execution and permissions.

search workspaceLoadingrunning
ts
rg -n "composer" @rubriclab/concrete
Playground

Props in the URL.

Controls update query params directly. Complex slots use curated fixtures so component states stay deterministic, linkable, and screenshot-ready.

Loading playground.
States

Rendered matrix.

Every state maps to the same component render route through the `state` query param.

search workspaceLoadingrunning
ts
rg -n "composer" @rubriclab/concrete
Running

Active tool call with indeterminate progress.

/render state
workspace checksuccess1.8s
ts
bun run check
7 tests passed. TypeScript clean.
Success

Completed call with output.

/render state
bun testerror420ms
Schema fixture is missing commandOptions[0].id.
Error

Failed call with error output.

/render state
Props

Public contract.

NameTypeDefaultDescription
name *ReactNode-Tool or function name.
status'queued' | 'running' | 'success' | 'error'runningTool execution status.
openboolean-Initial disclosure state. Running calls open by default.
durationReactNode-Elapsed time or latency label.
inputstring-Optional input code block.
outputReactNode-Result or error output slot.
toolIconIconNameterminalLeading tool glyph.