{
  "name": "search_panes",
  "wireName": "search_panes",
  "source": {
    "repo": "libtmux/libtmux-swift",
    "revision": "254f8b2be7eb60cacc3ffcb3ea8e456784f582df",
    "extractedRevision": "dd646bf5d63b9cf9816d2bb919c31f44cff2bfe4",
    "file": "Sources/LibTmuxMCP/ToolOperation.swift",
    "line": 15
  },
  "description": "Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted. Search bounded pane content for literal text or a regular expression.",
  "schemaStatus": "runtime",
  "inputSchema": {
    "additionalProperties": false,
    "properties": {
      "maxMatchesPerPane": {
        "description": "Caller-controlled maxMatchesPerPane.",
        "maximum": 200,
        "minimum": 1,
        "type": "integer"
      },
      "pattern": {
        "description": "Caller-controlled pattern.",
        "type": "string",
        "x-libtmux-max-utf8-bytes": 4096
      },
      "regex": {
        "description": "Caller-controlled regex.",
        "type": "boolean"
      },
      "scrollbackLines": {
        "description": "Caller-controlled scrollbackLines.",
        "maximum": 2000,
        "minimum": 1,
        "type": "integer"
      },
      "session": {
        "description": "Caller-controlled session.",
        "type": "string"
      }
    },
    "required": [
      "pattern"
    ],
    "type": "object"
  },
  "outputSchema": {
    "additionalProperties": false,
    "properties": {
      "matches": {
        "items": {
          "additionalProperties": false,
          "properties": {
            "line": {
              "type": "integer"
            },
            "pane": {
              "type": "string"
            },
            "paneRef": {
              "type": "string"
            },
            "text": {
              "type": "string"
            }
          },
          "required": [
            "line",
            "pane",
            "paneRef",
            "text"
          ],
          "type": "object"
        },
        "type": "array"
      },
      "panesAvailable": {
        "type": "integer"
      },
      "panesSearched": {
        "type": "integer"
      },
      "truncated": {
        "type": "boolean"
      },
      "truncatedBy": {
        "items": {
          "type": "string"
        },
        "type": "array"
      }
    },
    "required": [
      "matches",
      "panesAvailable",
      "panesSearched",
      "truncated",
      "truncatedBy"
    ],
    "type": "object"
  },
  "annotations": {
    "destructiveHint": true,
    "idempotentHint": false,
    "openWorldHint": true,
    "readOnlyHint": false,
    "title": "Search panes"
  },
  "meta": {
    "com.git-pull.libtmux-mcp/capability": {
      "amplifiesFutureInput": false,
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false
      },
      "description": "Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted. Search bounded pane content for literal text or a regular expression.",
      "inputLiteralization": {},
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "maxMatchesPerPane": {
            "description": "Caller-controlled maxMatchesPerPane.",
            "maximum": 200,
            "minimum": 1,
            "type": "integer"
          },
          "pattern": {
            "description": "Caller-controlled pattern.",
            "type": "string",
            "x-libtmux-max-utf8-bytes": 4096
          },
          "regex": {
            "description": "Caller-controlled regex.",
            "type": "boolean"
          },
          "scrollbackLines": {
            "description": "Caller-controlled scrollbackLines.",
            "maximum": 2000,
            "minimum": 1,
            "type": "integer"
          },
          "session": {
            "description": "Caller-controlled session.",
            "type": "string"
          }
        },
        "required": [
          "pattern"
        ],
        "type": "object"
      },
      "mayExposeSecrets": true,
      "mayReturnUntrustedContent": true,
      "name": "search_panes",
      "nestedAuthority": [],
      "outputClasses": [
        "terminal-content",
        "tmux-metadata"
      ],
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "matches": {
            "items": {
              "additionalProperties": false,
              "properties": {
                "line": {
                  "type": "integer"
                },
                "pane": {
                  "type": "string"
                },
                "paneRef": {
                  "type": "string"
                },
                "text": {
                  "type": "string"
                }
              },
              "required": [
                "line",
                "pane",
                "paneRef",
                "text"
              ],
              "type": "object"
            },
            "type": "array"
          },
          "panesAvailable": {
            "type": "integer"
          },
          "panesSearched": {
            "type": "integer"
          },
          "truncated": {
            "type": "boolean"
          },
          "truncatedBy": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "matches",
          "panesAvailable",
          "panesSearched",
          "truncated",
          "truncatedBy"
        ],
        "type": "object"
      },
      "processReach": "none",
      "title": "Search panes",
      "tmuxEffects": [
        "observe"
      ],
      "toolset": "inspect"
    }
  }
}
