{
  "namespace": "tabGlic",
  "types": [
    {
      "id": "tabGlic.TabData",
      "type": "object",
      "properties": {
        "tabId": {
          "type": "integer"
        },
        "windowId": {
          "type": "integer"
        },
        "url": {
          "type": "string"
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "documentMimeType": {
          "type": "string"
        },
        "documentId": {
          "type": "string"
        }
      }
    },
    {
      "id": "tabGlic.DocumentData",
      "type": "object",
      "properties": {
        "origin": {
          "type": "string"
        },
        "innerText": {
          "type": "string"
        },
        "truncated": {
          "type": "boolean",
          "optional": true
        }
      }
    },
    {
      "id": "tabGlic.WebPageData",
      "type": "object",
      "properties": {
        "mainDocument": {
          "$ref": "tabGlic.DocumentData"
        }
      }
    },
    {
      "id": "tabGlic.Screenshot",
      "type": "object",
      "properties": {
        "widthPixels": {
          "type": "integer"
        },
        "heightPixels": {
          "type": "integer"
        },
        "mimeType": {
          "type": "string"
        },
        "dataBase64": {
          "type": "string"
        }
      }
    },
    {
      "id": "tabGlic.PdfDocumentData",
      "type": "object",
      "properties": {
        "origin": {
          "type": "string"
        },
        "pdfDataBase64": {
          "type": "string",
          "optional": true
        },
        "sizeLimitExceeded": {
          "type": "boolean"
        }
      }
    },
    {
      "id": "tabGlic.BoundingRectParsed",
      "type": "object",
      "properties": {
        "x": {
          "type": "integer"
        },
        "y": {
          "type": "integer"
        },
        "width": {
          "type": "integer"
        },
        "height": {
          "type": "integer"
        }
      }
    },
    {
      "id": "tabGlic.TextInfoParsed",
      "type": "object",
      "properties": {
        "content": {
          "type": "string",
          "optional": true
        },
        "size": {
          "type": "integer",
          "optional": true
        },
        "sizeName": {
          "type": "string",
          "optional": true
        },
        "hasEmphasis": {
          "type": "boolean",
          "optional": true
        },
        "color": {
          "type": "integer",
          "optional": true
        }
      }
    },
    {
      "id": "tabGlic.ImageInfoParsed",
      "type": "object",
      "properties": {
        "caption": {
          "type": "string",
          "optional": true
        },
        "securityOrigin": {
          "type": "string",
          "optional": true
        }
      }
    },
    {
      "id": "tabGlic.AnchorDataParsed",
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "optional": true
        },
        "rel": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "optional": true
        }
      }
    },
    {
      "id": "tabGlic.SelectOptionParsed",
      "type": "object",
      "properties": {
        "value": {
          "type": "string",
          "optional": true
        },
        "text": {
          "type": "string",
          "optional": true
        },
        "isSelected": {
          "type": "boolean",
          "optional": true
        },
        "isDisabled": {
          "type": "boolean",
          "optional": true
        }
      }
    },
    {
      "id": "tabGlic.MediaDataParsed",
      "type": "object",
      "properties": {
        "mediaType": {
          "type": "integer",
          "optional": true
        },
        "durationMs": {
          "type": "number",
          "optional": true
        },
        "currentPositionMs": {
          "type": "number",
          "optional": true
        },
        "isPlaying": {
          "type": "boolean",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "artist": {
          "type": "string",
          "optional": true
        },
        "album": {
          "type": "string",
          "optional": true
        },
        "transcripts": {
          "type": "array",
          "items": {
            "type": "any"
          },
          "optional": true
        }
      }
    },
    {
      "id": "tabGlic.InteractionInfoParsed",
      "type": "object",
      "properties": {
        "isClickable": {
          "type": "boolean",
          "optional": true
        },
        "clickabilityReasons": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "optional": true
        },
        "isDisabled": {
          "type": "boolean",
          "optional": true
        },
        "interactionDisabledReasons": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "optional": true
        },
        "isEditable": {
          "type": "boolean",
          "optional": true
        },
        "isFocusable": {
          "type": "boolean",
          "optional": true
        }
      }
    },
    {
      "id": "tabGlic.FormControlInfoParsed",
      "type": "object",
      "properties": {
        "type": {
          "type": "integer",
          "optional": true
        },
        "typeName": {
          "type": "string",
          "optional": true
        },
        "fieldName": {
          "type": "string",
          "optional": true
        },
        "fieldValue": {
          "type": "string",
          "optional": true
        },
        "placeholder": {
          "type": "string",
          "optional": true
        },
        "isChecked": {
          "type": "boolean",
          "optional": true
        },
        "isRequired": {
          "type": "boolean",
          "optional": true
        },
        "redactionDecision": {
          "type": "integer",
          "optional": true
        },
        "autofillSectionId": {
          "type": "integer",
          "optional": true
        },
        "selectOptions": {
          "type": "array",
          "items": {
            "$ref": "tabGlic.SelectOptionParsed"
          },
          "optional": true
        },
        "coarseAutofillFieldTypes": {
          "type": "array",
          "items": {
            "type": "integer"
          },
          "optional": true
        }
      }
    },
    {
      "id": "tabGlic.IframeFrameDataParsed",
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "optional": true
        },
        "securityOrigin": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "documentIdentifier": {
          "type": "string",
          "optional": true
        },
        "documentId": {
          "type": "string",
          "optional": true
        },
        "frameId": {
          "type": "integer",
          "optional": true
        },
        "mediaData": {
          "$ref": "tabGlic.MediaDataParsed",
          "optional": true
        }
      }
    },
    {
      "id": "tabGlic.IframeDataParsed",
      "type": "object",
      "properties": {
        "frameData": {
          "$ref": "tabGlic.IframeFrameDataParsed",
          "optional": true
        },
        "redactedFrameMetadata": {
          "type": "object",
          "optional": true,
          "properties": {
            "reason": {
              "type": "integer"
            }
          }
        }
      }
    },
    {
      "id": "tabGlic.ContentNodeParsed",
      "type": "object",
      "properties": {
        "domNodeId": {
          "type": "integer",
          "optional": true
        },
        "type": {
          "type": "integer",
          "optional": true
        },
        "typeName": {
          "type": "string",
          "optional": true
        },
        "annotatedRoles": {
          "type": "array",
          "items": {
            "type": "any"
          },
          "optional": true
        },
        "axRole": {
          "type": "any",
          "optional": true
        },
        "label": {
          "type": "string",
          "optional": true
        },
        "labelForDomNodeId": {
          "type": "integer",
          "optional": true
        },
        "isAdRelated": {
          "type": "boolean",
          "optional": true
        },
        "boundingBox": {
          "$ref": "tabGlic.BoundingRectParsed",
          "optional": true
        },
        "interaction": {
          "$ref": "tabGlic.InteractionInfoParsed",
          "optional": true
        },
        "text": {
          "$ref": "tabGlic.TextInfoParsed",
          "optional": true
        },
        "image": {
          "$ref": "tabGlic.ImageInfoParsed",
          "optional": true
        },
        "anchor": {
          "$ref": "tabGlic.AnchorDataParsed",
          "optional": true
        },
        "formControl": {
          "$ref": "tabGlic.FormControlInfoParsed",
          "optional": true
        },
        "svgRoot": {
          "type": "any",
          "optional": true
        },
        "canvas": {
          "type": "any",
          "optional": true
        },
        "video": {
          "type": "any",
          "optional": true
        },
        "form": {
          "type": "any",
          "optional": true
        },
        "table": {
          "type": "any",
          "optional": true
        },
        "tableRow": {
          "type": "any",
          "optional": true
        },
        "iframe": {
          "$ref": "tabGlic.IframeDataParsed",
          "optional": true
        },
        "children": {
          "type": "array",
          "items": {
            "$ref": "tabGlic.ContentNodeParsed"
          },
          "optional": true
        }
      }
    },
    {
      "id": "tabGlic.AnnotatedPageContentParsed",
      "type": "object",
      "properties": {
        "url": {
          "type": "string",
          "optional": true
        },
        "title": {
          "type": "string",
          "optional": true
        },
        "viewportWidth": {
          "type": "integer",
          "optional": true
        },
        "viewportHeight": {
          "type": "integer",
          "optional": true
        },
        "version": {
          "type": "integer",
          "optional": true
        },
        "mode": {
          "type": "integer",
          "optional": true
        },
        "mediaData": {
          "$ref": "tabGlic.MediaDataParsed",
          "optional": true
        },
        "rootNode": {
          "$ref": "tabGlic.ContentNodeParsed",
          "optional": true
        }
      }
    },
    {
      "id": "tabGlic.MetaTag",
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "content": {
          "type": "string"
        }
      }
    },
    {
      "id": "tabGlic.FrameMetadata",
      "type": "object",
      "properties": {
        "url": {
          "type": "string"
        },
        "metaTags": {
          "type": "array",
          "items": {
            "$ref": "tabGlic.MetaTag"
          }
        },
        "hasMediaTranscripts": {
          "type": "boolean"
        }
      }
    },
    {
      "id": "tabGlic.AnnotatedPageData",
      "type": "object",
      "properties": {
        "annotatedPageContentBase64": {
          "type": "string",
          "optional": true
        },
        "parsedContent": {
          "$ref": "tabGlic.AnnotatedPageContentParsed",
          "optional": true
        },
        "frameMetadata": {
          "type": "array",
          "items": {
            "$ref": "tabGlic.FrameMetadata"
          },
          "optional": true
        }
      }
    },
    {
      "id": "tabGlic.TabContext",
      "type": "object",
      "properties": {
        "tabData": {
          "$ref": "tabGlic.TabData"
        },
        "webPageData": {
          "$ref": "tabGlic.WebPageData",
          "optional": true
        },
        "viewportScreenshot": {
          "$ref": "tabGlic.Screenshot",
          "optional": true
        },
        "pdfDocumentData": {
          "$ref": "tabGlic.PdfDocumentData",
          "optional": true
        },
        "annotatedPageData": {
          "$ref": "tabGlic.AnnotatedPageData",
          "optional": true
        }
      }
    },
    {
      "id": "tabGlic.GetTabContextResult",
      "type": "object",
      "properties": {
        "success": {
          "type": "boolean"
        },
        "errorCode": {
          "type": "string",
          "optional": true
        },
        "error": {
          "type": "string",
          "optional": true
        },
        "tabContext": {
          "$ref": "tabGlic.TabContext",
          "optional": true
        }
      }
    }
  ],
  "functions": [
    {
      "name": "getTabContext",
      "type": "function",
      "parameters": [
        {
          "type": "integer",
          "name": "tabId"
        },
        {
          "type": "object",
          "name": "options",
          "optional": true,
          "properties": {
            "includeInnerText": {
              "type": "boolean",
              "optional": true,
              "default": false
            },
            "innerTextBytesLimit": {
              "type": "integer",
              "optional": true,
              "minimum": 0,
              "default": 20000
            },
            "includeViewportScreenshot": {
              "type": "boolean",
              "optional": true,
              "default": false
            },
            "includePdf": {
              "type": "boolean",
              "optional": true,
              "default": false
            },
            "pdfSizeLimit": {
              "type": "integer",
              "optional": true,
              "minimum": 0,
              "default": 67108864
            },
            "includeAnnotatedPageContent": {
              "type": "boolean",
              "optional": true,
              "default": false
            },
            "annotatedPageContentMode": {
              "type": "integer",
              "optional": true,
              "minimum": 0,
              "maximum": 1,
              "default": 0
            },
            "maxMetaTags": {
              "type": "integer",
              "optional": true,
              "minimum": 0
            },
            "parseAnnotatedPageContent": {
              "type": "boolean",
              "optional": true,
              "default": false
            },
            "maxRecursionDepth": {
              "type": "integer",
              "optional": true,
              "minimum": 1,
              "maximum": 1000,
              "default": 100
            }
          }
        }
      ],
      "returns_async": {
        "name": "callback",
        "parameters": [
          {
            "name": "result",
            "$ref": "tabGlic.GetTabContextResult"
          }
        ]
      }
    }
  ]
}