{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "tiwater.office-mcp-input/docx_read_table/v1",
  "type": "object",
  "properties": {
    "input": {
      "type": "string",
      "minLength": 1,
      "x-tiwater-file-role": "read"
    },
    "returnContent": {
      "type": "boolean",
      "description": "Whether to return the explicitly selected compact row page directly in the tool response. May be combined with output."
    },
    "table": {
      "type": "object",
      "properties": {
        "part": { "type": "string", "minLength": 1, "pattern": "^\\/" },
        "path": { "type": "string", "pattern": "^\\/[A-Za-z_][A-Za-z0-9_.-]*:[A-Za-z_][A-Za-z0-9_.-]*\\[[1-9][0-9]*\\](?:\\/[A-Za-z_][A-Za-z0-9_.-]*:[A-Za-z_][A-Za-z0-9_.-]*\\[[1-9][0-9]*\\])*$" }
      },
      "required": ["part", "path"],
      "additionalProperties": false
    },
    "offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991,
      "description": "Zero-based row offset. Continue from receipt.nextOffset only when a later row is needed."
    },
    "output": {
      "type": "string",
      "minLength": 1,
      "description": "Optional path for retaining the selected detailed row page. May be combined with returnContent.",
      "x-tiwater-file-role": "write",
      "x-tiwater-file-effect": false
    }
  },
  "required": ["input", "table", "returnContent"],
  "additionalProperties": false
}
