KQ-828 · PROMPT/ECHO

Prompt Echo

What it heard you ask. The request sits at the top and under it the model's restatement types itself from a host-driven character count, a caret riding its end. Parts with options are the assumptions the model made, drawn as dotted-underlined buttons; pressing one opens a row of alternatives whose measured height glides open on glide while its chips arrive in a cascade on snap, and choosing one slides the correction into the sentence — old words leave upward on the exit ease, new ones arrive from eight pixels below on snap — while the footer's edit count rolls. The row is a listbox with a roving tabindex, Escape closes it and returns focus, and Confirm proceeds with the final sentence.

KQ-828 · PROMPT/ECHO
Dispatch requestGaugeworks Reasoner
You asked

Pull last week's late deliveries for the north depot and make me a table.

Heard as

0 edits

Press echo

Install

One command — the source lands in your repo. Or copy it from the Code tab.

$ pnpm dlx shadcn@latest add @kinetiq/prompt-echo

Props

request
string
default
The original prompt, printed as the quoted request.
parts
EchoPart[]
default
The restatement in order: id, text carrying its own spaces, and optional options that make the part a correctable assumption.
typed
number
default
Characters of the restatement revealed so far, driven by the host; omit for a finished restatement.
edits / defaultEdits
Record<string, string>
default {}
Controlled or initial corrections by part id.
onEditsChange
(edits: Record<string, string>) => void
default
Fires when a correction is chosen.
onConfirm
(text: string, editCount: number) => void
default
Fires from the confirm control with the final sentence and how many parts were corrected.
model
string
default
The invented model's name for the header chip.
label
string
default
Names the region for assistive technology.
confirmLabel
string
default "Looks right"
Copy on the confirm control.