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