Skip to main content

OPEN_FILES_TOOL

Constant OPEN_FILES_TOOL 

Source
pub(crate) const OPEN_FILES_TOOL: &str = r#"{
  "name": "OpenFiles",
  "description": "Open a folder in an AgentMux Files pane (Hangar) next to this conversation, optionally with some of its entries selected. Use it to show the user where things are, e.g. the files you just created or changed. Pass an absolute host path to a folder. Navigation only: the pane changes nothing on disk. Fire-and-forget: returns once the pane is opened.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "path":     { "type": "string", "description": "Absolute path to the folder to show" },
      "select":   { "type": "array", "items": { "type": "string" }, "description": "Names (or absolute paths) of entries inside that folder to select once it is listed" },
      "title":    { "type": "string", "description": "Optional tab/pane title (defaults to the folder name)" },
      "split":    { "type": "string", "enum": ["right", "left", "down", "up"], "description": "Where to place the new pane relative to this agent pane (default: right). Ignored when floating is true." },
      "floating": { "type": "boolean", "description": "Open the folder in a floating window (a chromeless pane over the app) instead of a docked split. Default: false." },
      "connection": { "type": "string", "description": "Where the folder is: an SSH host (an ssh config alias, host, user@host or user@host:port; ConnList shows them), whose Files pane then opens on that host for the user. Absent or \"local\": this machine. An SSH host is reached as the user with their SSH keys, so the first use asks the user to allow it (an error says if they did not), and any ssh prompt goes to the user, never to you. The path is the host's own (~ is its home)." }
    },
    "required": ["path"]
  }
}"#;