Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 19 additions & 14 deletions src/chat/agent-composer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -163,8 +163,9 @@ export interface AgentComposerProps {

/**
* The canonical agent chat input: one rounded surface holding an auto-growing
* textarea, the embedded control strip (profile · harness · model · effort) at
* the bottom-left, and the send button at the bottom-right. The strip's pickers
* textarea and a bottom row that runs left → right — attach buttons, the
* embedded control strip (profile · harness · model · effort), trailing slot,
* and the send button on the far right. The strip's pickers
* snap the harness↔model pair automatically; which controls appear is driven
* purely by which control objects are passed, so the same component is the
* router-backed composer (no harness) and the sandbox-backed one (with harness).
Expand Down Expand Up @@ -457,19 +458,11 @@ export function AgentComposer({
)}
/>

{/* Bottom row, left → right: attach · folder · control strip
(profile · harness · model · effort) · trailing · send. The attach
buttons lead so the paperclip sits at the far left, ahead of the
control pickers. */}
<div className="flex items-end gap-2">
<div className="flex min-w-0 flex-1 items-center gap-2">
{controls ?? (
<AgentSessionControls
context={context}
harness={harness}
profile={profile}
model={model}
reasoning={reasoning}
/>
)}
</div>

{onAttach && (
<>
<button
Expand Down Expand Up @@ -525,6 +518,18 @@ export function AgentComposer({
</>
)}

<div className="flex min-w-0 flex-1 items-center gap-2">
{controls ?? (
<AgentSessionControls
context={context}
harness={harness}
profile={profile}
model={model}
reasoning={reasoning}
/>
)}
</div>

{trailing && (
<div className="flex shrink-0 items-center gap-2">{trailing}</div>
)}
Expand Down
Loading