{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "fromView": {
      "properties": {
        "name": {
          "type": "string"
        },
        "people": {
          "items": {
            "format": "did",
            "type": "string"
          },
          "type": "array"
        },
        "slug": {
          "type": "string"
        },
        "uri": {
          "format": "at-uri",
          "type": "string"
        }
      },
      "required": [
        "uri",
        "slug",
        "name",
        "people"
      ],
      "type": "object"
    },
    "main": {
      "description": "Tabs offered to the group's site and waiting: every one, for whoever may change the site, each with its own page to look at; those from channels you're in, for anyone else.",
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "offers": {
              "items": {
                "ref": "#offerView",
                "type": "ref"
              },
              "type": "array"
            }
          },
          "required": [
            "offers"
          ],
          "type": "object"
        }
      },
      "parameters": {
        "properties": {
          "group": {
            "format": "did",
            "type": "string"
          }
        },
        "required": [
          "group"
        ],
        "type": "params"
      },
      "type": "query"
    },
    "offerView": {
      "properties": {
        "by": {
          "format": "did",
          "type": "string"
        },
        "createdAt": {
          "format": "datetime",
          "type": "string"
        },
        "from": {
          "ref": "#fromView",
          "type": "ref"
        },
        "id": {
          "type": "string"
        },
        "mayDecide": {
          "description": "Whether you may decide on it.",
          "type": "boolean"
        },
        "note": {
          "type": "string"
        },
        "page": {
          "description": "The tab's own page, if it has one.",
          "type": "string"
        },
        "tab": {
          "ref": "fyi.opensocial.site#tab",
          "type": "ref"
        },
        "to": {
          "description": "The slug of the site's channel it was offered to; absent, wherever they think best.",
          "type": "string"
        }
      },
      "required": [
        "id",
        "by",
        "createdAt",
        "from",
        "tab",
        "mayDecide"
      ],
      "type": "object"
    }
  },
  "id": "fyi.opensocial.listTabOffers",
  "lexicon": 1
}
