pub(crate) const PRESS_KEYS_TOOL: &str = r#"{
"name": "PressKeys",
"description": "Press a keyboard shortcut as real key events with modifiers, in the window that holds your own pane, and report which command the key resolved to. keys is one of ListShortcuts' raw keys (\"ctrl+shift+d\", \"meta+d\"; a chord is two keys separated by a space); only keys in the shortcut table are accepted, and a key bound to files:deletePermanently or pane:close anywhere is refused (pane:close's key closes at once; use RunCommand pane:close for the undo), and so is the paste key when the clipboard has a line break and the shell hasn't turned on bracketed paste. Pass target to focus a pane anywhere in that window first (it switches to the pane's tab). Returns the modifiers sent (on macOS `meta` is ⌘); the commands the table binds the key to; `resolved`, the command that actually ran and who ran it (the app or a pane), or null; and `closed_dialog`, true when the key closed a dialog that handles it itself (Escape in the palette or a confirmation), which the app's dispatcher never sees. The keys go to the page, after the OS and the macOS menu bar, so a key the OS takes can still pass here: PressKeys checks the app's handling, not the OS.",
"inputSchema": {
"type": "object",
"properties": {
"keys": { "type": "string", "description": "A raw key from ListShortcuts, in the table's syntax" },
"target": { "type": "string", "description": "Optional: id of a pane in your window, in any tab, or of one of a pane's tabs, to focus first: the window switches to that tab and the pane shows it" }
},
"required": ["keys"]
}
}"#;