{
  "name": "docs_read",
  "description": "Read a bounded line window from one LeapView document returned by docs_search. Continue with nextOffset when truncated is true.",
  "privilege": "USE_AGENT",
  "effect": "read",
  "operationId": "manual",
  "defaults": {
    "limit": 200,
    "offset": 1
  },
  "tags": [
    "documentation"
  ],
  "annotations": {
    "readOnlyHint": true,
    "destructiveHint": false,
    "idempotentHint": true,
    "openWorldHint": false
  },
  "inputSchema": {
    "additionalProperties": false,
    "properties": {
      "id": {
        "description": "Stable doc:\u003cpath\u003e ID returned by docs_search.",
        "minLength": 1,
        "type": "string"
      },
      "limit": {
        "description": "Maximum lines to read; defaults to 200 and is also byte-bounded.",
        "maximum": 500,
        "minimum": 1,
        "type": "integer"
      },
      "offset": {
        "description": "First line to read, starting at 1; defaults to 1.",
        "minimum": 1,
        "type": "integer"
      }
    },
    "required": [
      "id"
    ],
    "type": "object"
  },
  "outputSchema": {
    "additionalProperties": false,
    "properties": {
      "content": {
        "type": "string"
      },
      "id": {
        "type": "string"
      },
      "lineEnd": {
        "type": "integer"
      },
      "lineStart": {
        "type": "integer"
      },
      "nextOffset": {
        "type": "integer"
      },
      "path": {
        "type": "string"
      },
      "title": {
        "type": "string"
      },
      "totalLines": {
        "type": "integer"
      },
      "truncated": {
        "type": "boolean"
      },
      "url": {
        "type": "string"
      }
    },
    "required": [
      "content",
      "id",
      "lineEnd",
      "lineStart",
      "path",
      "title",
      "totalLines",
      "truncated",
      "url"
    ],
    "type": "object"
  }
}
