feat(web): expose continuable subagent interrupt
The composer's single primary action now stops a running continuable child: Session.cancel() routes a continuable address through subagent.interrupt (ordinary sessions keep session.cancel; one-shot addresses stay uncancellable), and InputBar switches the same Send button to Stop while a continuable child runs. A running parent-offline child keeps the default composer with disabled input so that Stop stays reachable; the read-only takeover returns once it stops. Refs #1535
This commit is contained in:
@@ -43,7 +43,11 @@ function selectReadOnlySubagent(owner: ComposerChainProps): SubagentReadOnlyMatc
|
||||
const subagent = owner.session?.subagent
|
||||
if (subagent === undefined || subagent === null) return null
|
||||
if (subagent.address.mode === 'one-shot') return { reason: 'one-shot' }
|
||||
return subagent.parentAvailable ? null : { reason: 'parent-unavailable' }
|
||||
if (subagent.parentAvailable) return null
|
||||
// A RUNNING parent-offline continuable child keeps the default composer:
|
||||
// its input is disabled there, but the same primary Stop stays available so
|
||||
// the child can be interrupted. Once it stops, this takeover returns.
|
||||
return owner.session?.running === true ? null : { reason: 'parent-unavailable' }
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user