SIGN IN SIGN UP

feat(chat): offer the mid-turn send on every session with a delivery channel

On a session whose live-feedback channel is the check_user_feedback pull
tool (codex, grok, gemini, opencode -- every agent without proven native
steering), the composer offered no mid-turn action at all: Stop, and
Enter queueing for the next turn. The split button that sends the draft
into the running turn was gated on the native channel, so the only way
to reach the pull channel mid-turn was retyping the draft into the "+"
menu dialog.

The delivery machinery underneath is channel-aware already:
submit_feedback records a pending note for pull sessions, gated on
turn_in_flight, and the agent reads it on its next check_user_feedback
call. So the gate moves from "channel is native" to "a working delivery
channel exists" (useSessionFeedback's new steerAvailable), and the copy
stays honest per channel: a native session keeps "Insert into current
turn", a pull session says "Send note for next check" (new steerChannel
prop threaded to the composer), and the note renders in the existing
strip as waiting until the agent actually reads it -- nothing fakes
delivered, and the pull failure toast talks about the note, not an
insert.

Sessions with neither channel (feature off at spawn, no MCP wire) keep
the historical Stop-only prompting form, and delegation is untouched.
A
Adam Dalloul committed
1deaf524c7da109ac6354ce0b01a6412d939e86b
Parent: 1f86f62