feat(maestro): support structured Codex spawns
This commit is contained in:
@@ -15,6 +15,13 @@ import { splitCommand } from "./toolIcon.js";
|
||||
import { abbreviateCwd } from "./types.js";
|
||||
import type { BranchInfo, CreateSessionRequest, Project, Session, SpawnPreset } from "./types.js";
|
||||
|
||||
const STRUCTURED_VIEW_TOOLS = new Set(["claude", "codex"]);
|
||||
|
||||
function supportsStructuredView(command: string): boolean {
|
||||
const tool = splitCommand(command).tool;
|
||||
return tool !== null && STRUCTURED_VIEW_TOOLS.has(tool);
|
||||
}
|
||||
|
||||
/** Where a worktree's branch comes from: freshly created (default) or picked
|
||||
* from the repository's existing branches (#61). */
|
||||
export type WorktreeBranchMode = "new" | "existing";
|
||||
@@ -68,7 +75,7 @@ export function buildSpawnRequest(
|
||||
metadata,
|
||||
};
|
||||
|
||||
if (values.structuredView && splitCommand(values.command).tool === "claude") {
|
||||
if (values.structuredView && supportsStructuredView(values.command)) {
|
||||
req.view = "Structured";
|
||||
}
|
||||
|
||||
@@ -369,7 +376,7 @@ export function createSpawnForm(opts: SpawnFormOptions): SpawnFormHandle {
|
||||
let commandTouched = false;
|
||||
|
||||
function updateStructuredAvailability(): void {
|
||||
const supported = splitCommand(command).tool === "claude";
|
||||
const supported = supportsStructuredView(command);
|
||||
structuredWrap.hidden = !supported;
|
||||
if (!supported) structuredView.checked = false;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user