Four more tree-shape tools routed through the existing dispatcher + confirm modal + audit log. All take leaf_id args (single or pair) that must be MCP-allowed via the per-pane chip; apply_preset takes a typed PresetName enum (single, two_columns, three_columns, two_rows, two_by_two) plus an allow_drops boolean. apply_preset's data-loss case is handled non-interactively: if the preset has fewer slots than the current pane count and allow_drops is not set, the frontend handler throws with a descriptive message listing the leaf labels that would be killed, so Claude can decide whether to retry with allow_drops=true rather than the user being ambushed by a destructive confirm modal. promote_pane errors with "no perpendicular split above it" when the parent shares orientation with the grandparent (same condition the Ctrl+Shift+P shortcut uses to toast a no-op). Extracted a require_visible_leaf helper on TileService since 4+ of the v2 tools now do the same mirror-presence + cloned-metadata check. Same args_repr convention as set_label so policy rules like "close_pane" (bare tool name) work uniformly. |
||
|---|---|---|
| .. | ||
| capabilities | ||
| icons | ||
| src | ||
| build.rs | ||
| Cargo.lock | ||
| Cargo.toml | ||
| tauri.conf.json | ||