feat(maestro): default structured view on for ACP agents
A Claude Code or Codex spawn now asks for the structured view unless the operator says otherwise: the two spawn forms open with the box ticked and `maestro spawn` takes `--terminal` to opt out. Once the operator works the toggle, a command change no longer re-ticks it under them. The support predicate moves to `maestro_protocol::display` so all three clients gate on the same resolution. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
0dc10ffe76
commit
25653abcf5
+11
-1
@@ -375,13 +375,23 @@ export function createSpawnForm(opts: SpawnFormOptions): SpawnFormHandle {
|
||||
// operator has already touched (#76).
|
||||
let commandTouched = false;
|
||||
|
||||
// Set once the operator works the checkbox themselves. Until then every
|
||||
// command change re-derives the default (on for Claude Code and Codex, off
|
||||
// for everything else); afterwards their choice outranks it, the same guard
|
||||
// `commandTouched` gives the command field.
|
||||
let structuredTouched = false;
|
||||
|
||||
function updateStructuredAvailability(): void {
|
||||
const supported = supportsStructuredView(command);
|
||||
structuredWrap.hidden = !supported;
|
||||
if (!supported) structuredView.checked = false;
|
||||
else if (!structuredTouched) structuredView.checked = true;
|
||||
}
|
||||
|
||||
structuredView.addEventListener("change", emit);
|
||||
structuredView.addEventListener("change", () => {
|
||||
structuredTouched = true;
|
||||
emit();
|
||||
});
|
||||
|
||||
cmdRaw.addEventListener("input", () => {
|
||||
if (selectedPresetId === "custom" || presets.find((p) => p.id === selectedPresetId)?.command === "") {
|
||||
|
||||
Reference in New Issue
Block a user