[FEATURE] Mods: multi-line text input element
Problem
The mod element table's Input is a one-line text field on every surface (InputProps: Enter submits). A mod has no way to offer a multi-line text area, so any mod that lets the person write more than a sentence (a message to another session, a note, a commit message, a review comment) is stuck with a single cramped line. A text area can't reasonably be rebuilt from a Client surface module either, since that means re-implementing cursor movement, selection, wrapping and IME by hand.
Proposal
A multi-line option on Input (for example multiline: true with rows / maxRows), or a separate TextArea element, where:
- Enter inserts a newline and a modifier (Ctrl/Cmd+Enter), or the field's submit button, raises
onSubmitwith the whole text. - It wraps to the width it is given and grows up to
maxRows, then scrolls. - It behaves the same on desktop, terminal and VS Code, with the existing Input fallbacks on surfaces without it (mobile).
Why we want it
We built a dashboard mod that shows every running chat (lanes, live subagents, context use, status) with a box on each chat's card for messaging that chat. Messages to an orchestrating session are often several lines (context plus a request), and a single-line field makes them hard to write and review before sending. Related: the redraw behaviour in #99211 also makes the one-line field lose its place while typing.
Related: #91870 (Mods), #99614 (sending from a mod with user provenance).