{
  "name": "wait_for_channel",
  "wireName": "wait_for_channel",
  "source": {
    "repo": "libtmux/libtmux-java",
    "revision": "842228310449e879ebcaa3f910597757c9dbffd6",
    "extractedRevision": "a960145afeefb340d85ea76ea0d62c29517b1c85",
    "file": "libtmux-mcp/src/main/java/io/github/libtmux/mcp/Catalog.java",
    "line": 627
  },
  "description": "Waits on tmux's channel state with a bounded timeout. Change tmux state; no client-supplied executable input.",
  "schemaStatus": "runtime",
  "inputSchema": {
    "additionalProperties": false,
    "properties": {
      "channel": {
        "description": "A server-wide tmux channel name.",
        "type": "string"
      },
      "drain_first": {
        "default": false,
        "description": "Consume a pending signal before waiting. Defaults to false.",
        "type": "boolean"
      },
      "timeout": {
        "default": 30,
        "description": "Seconds to wait before giving up. Defaults to 30.0.",
        "type": "number"
      }
    },
    "required": [
      "channel"
    ],
    "type": "object"
  },
  "outputSchema": {
    "additionalProperties": false,
    "properties": {
      "channel": {
        "type": "string"
      },
      "effective_timeout": {
        "type": "number"
      },
      "note": {
        "type": "string"
      },
      "outcome": {
        "type": "string"
      },
      "seconds": {
        "type": "number"
      }
    },
    "required": [
      "channel",
      "outcome",
      "seconds",
      "effective_timeout"
    ],
    "type": "object"
  },
  "annotations": {
    "destructiveHint": true,
    "idempotentHint": false,
    "openWorldHint": true,
    "readOnlyHint": false,
    "title": "Wait for a channel"
  },
  "meta": {
    "com.git-pull.libtmux-mcp/capability": {
      "amplifiesFutureInput": false,
      "annotations": {
        "destructiveHint": true,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false
      },
      "description": "Waits on tmux's channel state with a bounded timeout. Change tmux state; no client-supplied executable input.",
      "inputLiteralization": {},
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "channel": {
            "description": "A server-wide tmux channel name.",
            "type": "string"
          },
          "drain_first": {
            "default": false,
            "description": "Consume a pending signal before waiting. Defaults to false.",
            "type": "boolean"
          },
          "timeout": {
            "default": 30,
            "description": "Seconds to wait before giving up. Defaults to 30.0.",
            "type": "number"
          }
        },
        "required": [
          "channel"
        ],
        "type": "object"
      },
      "mayExposeSecrets": true,
      "mayReturnUntrustedContent": true,
      "name": "wait_for_channel",
      "nestedAuthority": [],
      "outputClasses": [
        "tmux-metadata"
      ],
      "outputSchema": {
        "additionalProperties": false,
        "properties": {
          "channel": {
            "type": "string"
          },
          "effective_timeout": {
            "type": "number"
          },
          "note": {
            "type": "string"
          },
          "outcome": {
            "type": "string"
          },
          "seconds": {
            "type": "number"
          }
        },
        "required": [
          "channel",
          "outcome",
          "seconds",
          "effective_timeout"
        ],
        "type": "object"
      },
      "processReach": "none",
      "title": "Wait for a channel",
      "tmuxEffects": [
        "change"
      ],
      "toolset": "manage"
    }
  }
}
