| 1 | import type { ToolApprovalMode } from "./types"; |
| 2 | |
| 3 | export type RestorableToolApprovalMode = Exclude<ToolApprovalMode, "yolo">; |
| 4 | |
| 5 | export function restorableToolApprovalMode(mode?: ToolApprovalMode): RestorableToolApprovalMode { |
| 6 | return mode === "auto" ? "auto" : "ask"; |
| 7 | } |
| 8 | |
| 9 | export function toggleYoloToolApprovalMode( |
| 10 | current: ToolApprovalMode, |
| 11 | restore?: ToolApprovalMode, |
| 12 | ): { mode: ToolApprovalMode; restore?: RestorableToolApprovalMode } { |
| 13 | if (current === "yolo") { |
| 14 | return { mode: restorableToolApprovalMode(restore) }; |
| 15 | } |
| 16 | return { mode: "yolo", restore: restorableToolApprovalMode(current) }; |
| 17 | } |
| 18 |