{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "input": {
      "type": "string",
      "minLength": 1,
      "x-tiwater-file-role": "read"
    },
    "returnContent": {
      "type": "boolean",
      "description": "Whether to return the selected compact objects directly in the tool response. May be combined with output."
    },
    "addresses": {
      "minItems": 1,
      "type": "array",
      "items": {
        "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
      },
      "description": "OpenXML addresses returned by observation."
    },
    "kinds": {
      "minItems": 1,
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "paragraph",
          "table",
          "gridColumn",
          "row",
          "cell",
          "run",
          "text",
          "drawing"
        ]
      },
      "description": "Descendant object kinds to return."
    },
    "output": {
      "type": "string",
      "minLength": 1,
      "description": "Optional path for retaining the complete selected observation. May be combined with returnContent.",
      "x-tiwater-file-role": "write",
      "x-tiwater-file-effect": false
    }
  },
  "required": [
    "input",
    "addresses",
    "kinds",
    "returnContent"
  ],
  "additionalProperties": false,
  "$id": "tiwater.office-mcp-input/docx_read_object/v1"
}
