build: add direct cleanup command

This commit is contained in:
2026-03-19 19:41:25 +05:30
parent 5593bc8cc9
commit bfd55e0f9f
5 changed files with 31 additions and 16 deletions
+11 -3
View File
@@ -39,6 +39,7 @@ export async function launchMultiModel(options: MultiModelOptions): Promise<Mult
const safeSessionName = sanitizeName(sessionName);
const models = normalizeModels(options.models);
const binaryName = options.binaryName || "opencode";
const mode = options.mode || "cli";
if (!sessionName) {
return { success: false, sessionName: "", error: "Error: `sessionName` must not be empty." };
@@ -189,6 +190,10 @@ export async function launchMultiModel(options: MultiModelOptions): Promise<Mult
const windowNames = windowPlans.map((p) => p.windowName);
const attachCommand = `tmux attach -t ${sessionName}`;
const cleanupCommand = `tmux kill-session -t ${sessionName} && rm -rf ~/.local/share/opencode/multi-model/${safeSessionName} && git worktree prune && git branch -D $(git branch --format='%(refname:short)' --list 'opencode/${safeSessionName}/*')`;
const primaryCleanup =
mode === "tool"
? `call tool multi-model-close with sessionName: ${sessionName}`
: `opencode-multi-model close ${sessionName}`;
if (failedModels.length > 0) {
return {
@@ -200,7 +205,9 @@ export async function launchMultiModel(options: MultiModelOptions): Promise<Mult
`Succeeded: ${succeededModels.length > 0 ? succeededModels.join(", ") : "none"}.`,
`Failed: ${failedModels.join(", ")}.`,
`Attach with \`${attachCommand}\` to inspect the session.`,
`Cleanup with \n\`${cleanupCommand}\`\nwhen done.`,
`Cleanup when done using either:`,
`1. ${primaryCleanup}`,
`2. Or run manually: \`${cleanupCommand}\``,
].join("\n"),
};
}
@@ -211,8 +218,9 @@ export async function launchMultiModel(options: MultiModelOptions): Promise<Mult
windows: windowNames,
instructions: [
`Use \`${attachCommand}\` to join session.`,
`When finished, clean up worktrees with:`,
`\`${cleanupCommand}\``,
`When finished, clean up using either:`,
`1. ${primaryCleanup}`,
`2. Or run manually: \`${cleanupCommand}\``,
].join("\n"),
};
}