tiletopia/src-tauri/src
megaproxy e0ce223985 MCP v2 PR-2: close_pane, swap_panes, promote_pane, apply_preset
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.
2026-05-26 12:44:11 +01:00
..
commands.rs MCP v2 PR-1: policy engine + audit log + Config/Audit/Policy panel tabs 2026-05-26 12:05:31 +01:00
creds.rs Save SSH passwords in Windows Credential Manager and auto-type at prompt 2026-05-25 20:08:31 +01:00
hosts.rs Save SSH passwords in Windows Credential Manager and auto-type at prompt 2026-05-25 20:08:31 +01:00
lib.rs MCP v2 PR-1: policy engine + audit log + Config/Audit/Policy panel tabs 2026-05-26 12:05:31 +01:00
main.rs Initial scaffold from M1 spike (tiletopia) 2026-05-22 12:31:29 +01:00
mcp.rs MCP v2 PR-2: close_pane, swap_panes, promote_pane, apply_preset 2026-05-26 12:44:11 +01:00
mcp_policy.rs MCP v2 PR-1: policy engine + audit log + Config/Audit/Policy panel tabs 2026-05-26 12:05:31 +01:00
pty.rs Add MCP server (v1 read-only): toggle, per-pane gate, panel UI 2026-05-25 21:31:49 +01:00