{
  "name": "wait_for_text",
  "wireName": "wait_for_text",
  "source": {
    "repo": "libtmux/libtmux-swift",
    "revision": "254f8b2be7eb60cacc3ffcb3ea8e456784f582df",
    "extractedRevision": "dd646bf5d63b9cf9816d2bb919c31f44cff2bfe4",
    "file": "Sources/LibTmuxMCP/ToolOperation.swift",
    "line": 20
  },
  "description": "Read pane output; accepts no client-supplied executable input. Returned content may be sensitive or untrusted. Wait within one deadline for pane text.",
  "schemaStatus": "runtime",
  "inputSchema": {
    "additionalProperties": false,
    "properties": {
      "cursor": {
        "description": "Caller-controlled cursor.",
        "maxLength": 16384,
        "type": "string"
      },
      "maxLines": {
        "description": "Caller-controlled maxLines.",
        "maximum": 2000,
        "minimum": 1,
        "type": "integer"
      },
      "paneId": {
        "description": "Caller-controlled paneId.",
        "type": "string"
      },
      "patterns": {
        "description": "Caller-controlled patterns.",
        "items": {
          "type": "string",
          "x-libtmux-max-utf8-bytes": 4096
        },
        "maxItems": 32,
        "type": "array"
      },
      "regex": {
        "description": "Caller-controlled regex.",
        "type": "boolean"
      },
      "stop": {
        "description": "Caller-controlled stop.",
        "items": {
          "type": "string",
          "x-libtmux-max-utf8-bytes": 4096
        },
        "maxItems": 32,
        "type": "array"
      },
      "timeoutMs": {
        "description": "Caller-controlled timeoutMs.",
        "maximum": 600000,
        "minimum": 100,
        "type": "integer"
      }
    },
    "required": [
      "paneId",
      "patterns"
    ],
    "type": "object"
  },
  "outputSchema": {
    "additionalProperties": false,
    "properties": {
      "cursor": {
        "type": [
          "string",
          "null"
        ]
      },
      "effectiveTimeout": {
        "type": "number"
      },
      "matched": {
        "type": [
          "string",
          "null"
        ]
      },
      "matchedAtEntry": {
        "type": "boolean"
      },
      "matchedIndex": {
        "type": [
          "integer",
          "null"
        ]
      },
      "outcome": {
        "type": "string"
      },
      "paneRef": {
        "type": "string"
      },
      "sawNewOutput": {
        "type": "boolean"
      },
      "seconds": {
        "type": "number"
      },
      "tail": {
        "items": {
          "type": "string"
        },
        "type": "array"
      }
    },
    "required": [
      "cursor",
      "effectiveTimeout",
      "matched",
      "matchedAtEntry",
      "matchedIndex",
      "outcome",
      "paneRef",
      "sawNewOutput",
      "seconds",
      "tail"
    ],
    "type": "object"
  },
  "annotations": {
    "destructiveHint": true,
    "idempotentHint": false,
    "openWorldHint": true,
    "readOnlyHint": false,
    "title": "Wait for text"
  },
  "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. Wait within one deadline for pane text.",
      "inputLiteralization": {},
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "cursor": {
            "description": "Caller-controlled cursor.",
            "maxLength": 16384,
            "type": "string"
          },
          "maxLines": {
            "description": "Caller-controlled maxLines.",
            "maximum": 2000,
            "minimum": 1,
            "type": "integer"
          },
          "paneId": {
            "description": "Caller-controlled paneId.",
            "type": "string"
          },
          "patterns": {
            "description": "Caller-controlled patterns.",
            "items": {
              "type": "string",
              "x-libtmux-max-utf8-bytes": 4096
            },
            "maxItems": 32,
            "type": "array"
          },
          "regex": {
            "description": "Caller-controlled regex.",
            "type": "boolean"
          },
          "stop": {
            "description": "Caller-controlled stop.",
            "items": {
              "type": "string",
              "x-libtmux-max-utf8-bytes": 4096
            },
            "maxItems": 32,
            "type": "array"
          },
          "timeoutMs": {
            "description": "Caller-controlled timeoutMs.",
            "maximum": 600000,
            "minimum": 100,
            "type": "integer"
          }
        },
        "required": [
          "paneId",
          "patterns"
        ],
        "type": "object"
      },
      "mayExposeSecrets": true,
      "mayReturnUntrustedContent": true,
      "name": "wait_for_text",
      "nestedAuthority": [],
      "outputClasses": [
        "terminal-content",
        "tmux-metadata"
      ],
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "cursor": {
            "type": [
              "string",
              "null"
            ]
          },
          "effectiveTimeout": {
            "type": "number"
          },
          "matched": {
            "type": [
              "string",
              "null"
            ]
          },
          "matchedAtEntry": {
            "type": "boolean"
          },
          "matchedIndex": {
            "type": [
              "integer",
              "null"
            ]
          },
          "outcome": {
            "type": "string"
          },
          "paneRef": {
            "type": "string"
          },
          "sawNewOutput": {
            "type": "boolean"
          },
          "seconds": {
            "type": "number"
          },
          "tail": {
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "cursor",
          "effectiveTimeout",
          "matched",
          "matchedAtEntry",
          "matchedIndex",
          "outcome",
          "paneRef",
          "sawNewOutput",
          "seconds",
          "tail"
        ],
        "type": "object"
      },
      "processReach": "none",
      "title": "Wait for text",
      "tmuxEffects": [
        "observe"
      ],
      "toolset": "inspect"
    }
  }
}
