~ knotless Search/
↑↓ move↵ open⇧↵ all results

chadtmiller.com/atproto

atproto's primitives in Rust, small and free of I/O

0
0
main
10087 lines · 241.8 KB Raw History
{
  "generatedFrom": "@atproto/lexicon 0.7.18",
  "vectors": [
    {
      "name": "array-data-valid-basic",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.array.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "minLength": 1,
                    "maxLength": 5
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.array.data",
      "kind": "record",
      "value": {
        "tags": [
          "hello",
          "world"
        ]
      },
      "valid": true
    },
    {
      "name": "array-data-invalid-below-minLength",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.array.minlength",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "minLength": 3
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.array.minlength",
      "kind": "record",
      "value": {
        "tags": [
          "hello"
        ]
      },
      "valid": false,
      "error": "Record/tags must not have fewer than 3 elements"
    },
    {
      "name": "array-data-invalid-above-maxLength",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.array.maxlength",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "maxLength": 2
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.array.maxlength",
      "kind": "record",
      "value": {
        "tags": [
          "a",
          "b",
          "c"
        ]
      },
      "valid": false,
      "error": "Record/tags must not have more than 2 elements"
    },
    {
      "name": "array-data-invalid-item-type",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.array.itemtype",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.array.itemtype",
      "kind": "record",
      "value": {
        "tags": [
          "hello",
          42
        ]
      },
      "valid": false,
      "error": "Record/tags/1 must be a string"
    },
    {
      "name": "array-data-invalid-empty-with-minLength",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.array.emptymin",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "minLength": 1
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.array.emptymin",
      "kind": "record",
      "value": {
        "tags": []
      },
      "valid": false,
      "error": "Record/tags must not have fewer than 1 elements"
    },
    {
      "name": "blob-data-valid-basic",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.blob.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "image": {
                    "type": "blob",
                    "accept": [
                      "image/*"
                    ],
                    "maxSize": 1000000
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.blob.data",
      "kind": "record",
      "value": {
        "image": {
          "$type": "blob",
          "ref": {
            "$link": "bafkreigh2akiscaildcqabsyg3dfr6chu3fgpregiymsck7e7aqa4s52zy"
          },
          "mimeType": "image/jpeg",
          "size": 50000
        }
      },
      "valid": true
    },
    {
      "name": "blob-data-invalid-unaccepted-mime",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.blob.mime",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "image": {
                    "type": "blob",
                    "accept": [
                      "image/*"
                    ]
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.blob.mime",
      "kind": "record",
      "value": {
        "image": {
          "$type": "blob",
          "ref": {
            "$link": "bafkreigh2akiscaildcqabsyg3dfr6chu3fgpregiymsck7e7aqa4s52zy"
          },
          "mimeType": "video/mp4",
          "size": 50000
        }
      },
      "valid": true
    },
    {
      "name": "blob-data-invalid-exceeds-maxSize",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.blob.maxsize",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "image": {
                    "type": "blob",
                    "maxSize": 10000
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.blob.maxsize",
      "kind": "record",
      "value": {
        "image": {
          "$type": "blob",
          "ref": {
            "$link": "bafkreigh2akiscaildcqabsyg3dfr6chu3fgpregiymsck7e7aqa4s52zy"
          },
          "mimeType": "image/jpeg",
          "size": 50000
        }
      },
      "valid": true
    },
    {
      "name": "blob-data-invalid-missing-mimeType",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.blob.nomime",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "image": {
                    "type": "blob"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.blob.nomime",
      "kind": "record",
      "value": {
        "image": {
          "$type": "blob",
          "ref": {
            "$link": "bafkreigh2akiscaildcqabsyg3dfr6chu3fgpregiymsck7e7aqa4s52zy"
          },
          "size": 50000
        }
      },
      "valid": false,
      "error": "Record/image should be a blob ref"
    },
    {
      "name": "blob-data-invalid-missing-size",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.blob.nosize",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "image": {
                    "type": "blob"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.blob.nosize",
      "kind": "record",
      "value": {
        "image": {
          "$type": "blob",
          "ref": {
            "$link": "bafkreigh2akiscaildcqabsyg3dfr6chu3fgpregiymsck7e7aqa4s52zy"
          },
          "mimeType": "image/jpeg"
        }
      },
      "valid": false,
      "error": "Record/image should be a blob ref"
    },
    {
      "name": "blob-data-invalid-missing-type",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.blob.notype",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "image": {
                    "type": "blob"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.blob.notype",
      "kind": "record",
      "value": {
        "image": {
          "ref": {
            "$link": "bafkreigh2akiscaildcqabsyg3dfr6chu3fgpregiymsck7e7aqa4s52zy"
          },
          "mimeType": "image/jpeg",
          "size": 50000
        }
      },
      "valid": false,
      "error": "Record/image should be a blob ref"
    },
    {
      "name": "bytes-data-valid-basic",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.bytes.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "bytes"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.bytes.data",
      "kind": "record",
      "value": {
        "data": {
          "$bytes": "MTIz"
        }
      },
      "valid": true
    },
    {
      "name": "bytes-data-valid-with-constraints",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.bytes.constraints",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "bytes",
                    "minLength": 10,
                    "maxLength": 20
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.bytes.constraints",
      "kind": "record",
      "value": {
        "data": {
          "$bytes": "YXNkZmFzZGZhc2RmYXNkZg"
        }
      },
      "valid": true
    },
    {
      "name": "bytes-data-invalid-plain-string",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.bytes.plainstring",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "bytes"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.bytes.plainstring",
      "kind": "record",
      "value": {
        "data": "green"
      },
      "valid": false,
      "error": "Record/data must be a byte array"
    },
    {
      "name": "bytes-data-invalid-empty-object",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.bytes.emptyobj",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "bytes"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.bytes.emptyobj",
      "kind": "record",
      "value": {
        "data": {}
      },
      "valid": false,
      "error": "Record/data must be a byte array"
    },
    {
      "name": "bytes-data-invalid-too-short",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.bytes.tooshort",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "bytes",
                    "minLength": 10
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.bytes.tooshort",
      "kind": "record",
      "value": {
        "data": {
          "$bytes": "b25l"
        }
      },
      "valid": false,
      "error": "Record/data must not be smaller than 10 bytes"
    },
    {
      "name": "bytes-data-invalid-too-long",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.bytes.toolong",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "bytes",
                    "maxLength": 5
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.bytes.toolong",
      "kind": "record",
      "value": {
        "data": {
          "$bytes": "YXNkZmFzZGZhc2RmYXNkZg"
        }
      },
      "valid": false,
      "error": "Record/data must not be larger than 5 bytes"
    },
    {
      "name": "bytes-data-valid-uint8array",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.bytes.uint8array",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "bytes"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.bytes.uint8array",
      "kind": "record",
      "value": {
        "data": {
          "$bytes": "AQID"
        }
      },
      "valid": true
    },
    {
      "name": "bytes-data-valid-uint8array-with-constraints",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.bytes.uint8arrayconstraints",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "bytes",
                    "minLength": 2,
                    "maxLength": 10
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.bytes.uint8arrayconstraints",
      "kind": "record",
      "value": {
        "data": {
          "$bytes": "AQIDBAU"
        }
      },
      "valid": true
    },
    {
      "name": "bytes-data-invalid-uint8array-too-short",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.bytes.uint8arrayshort",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "bytes",
                    "minLength": 10
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.bytes.uint8arrayshort",
      "kind": "record",
      "value": {
        "data": {
          "$bytes": "AQID"
        }
      },
      "valid": false,
      "error": "Record/data must not be smaller than 10 bytes"
    },
    {
      "name": "bytes-data-invalid-uint8array-too-long",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.bytes.uint8arraylong",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "bytes",
                    "maxLength": 2
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.bytes.uint8arraylong",
      "kind": "record",
      "value": {
        "data": {
          "$bytes": "AQIDBAU"
        }
      },
      "valid": false,
      "error": "Record/data must not be larger than 2 bytes"
    },
    {
      "name": "cid-link-data-valid-basic",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.cidlink.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "ref": {
                    "type": "cid-link"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.cidlink.data",
      "kind": "record",
      "value": {
        "ref": {
          "$link": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"
        }
      },
      "valid": true
    },
    {
      "name": "cid-link-data-valid-cidv1",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.cidlink.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "ref": {
                    "type": "cid-link"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.cidlink.data",
      "kind": "record",
      "value": {
        "ref": {
          "$link": "bafkreigh2akiscaildcqabsyg3dfr6chu3fgpregiymsck7e7aqa4s52zy"
        }
      },
      "valid": true
    },
    {
      "name": "cid-link-data-invalid-not-object",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.cidlink.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "ref": {
                    "type": "cid-link"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.cidlink.data",
      "kind": "record",
      "value": {
        "ref": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"
      },
      "valid": false,
      "error": "Record/ref must be a CID"
    },
    {
      "name": "cid-link-data-invalid-missing-link-field",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.cidlink.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "ref": {
                    "type": "cid-link"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.cidlink.data",
      "kind": "record",
      "value": {
        "ref": {
          "cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"
        }
      },
      "valid": false,
      "error": "Record/ref must be a CID"
    },
    {
      "name": "cid-link-data-invalid-bad-cid-format",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.cidlink.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "ref": {
                    "type": "cid-link"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.cidlink.data",
      "kind": "record",
      "value": {
        "ref": {
          "$link": "not-a-valid-cid"
        }
      },
      "valid": false,
      "error": "Record/ref must be a CID"
    },
    {
      "name": "cid-link-data-invalid-empty-link",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.cidlink.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "ref": {
                    "type": "cid-link"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.cidlink.data",
      "kind": "record",
      "value": {
        "ref": {
          "$link": ""
        }
      },
      "valid": false,
      "error": "Record/ref must be a CID"
    },
    {
      "name": "cid-link-data-invalid-null",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.cidlink.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "ref": {
                    "type": "cid-link"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.cidlink.data",
      "kind": "record",
      "value": {
        "ref": null
      },
      "valid": false,
      "error": "Record/ref must be a CID"
    },
    {
      "name": "cid-link-data-invalid-array",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.cidlink.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "ref": {
                    "type": "cid-link"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.cidlink.data",
      "kind": "record",
      "value": {
        "ref": [
          "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"
        ]
      },
      "valid": false,
      "error": "Record/ref must be a CID"
    },
    {
      "name": "integer-data-valid-basic",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.integer.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 100
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.integer.data",
      "kind": "record",
      "value": {
        "count": 42
      },
      "valid": true
    },
    {
      "name": "integer-data-invalid-below-minimum",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.integer.min",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer",
                    "minimum": 10
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.integer.min",
      "kind": "record",
      "value": {
        "count": 5
      },
      "valid": false,
      "error": "Record/count can not be less than 10"
    },
    {
      "name": "integer-data-invalid-above-maximum",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.integer.max",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer",
                    "maximum": 10
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.integer.max",
      "kind": "record",
      "value": {
        "count": 15
      },
      "valid": false,
      "error": "Record/count can not be greater than 10"
    },
    {
      "name": "integer-data-valid-enum",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.integer.enumvalid",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "level": {
                    "type": "integer",
                    "enum": [
                      1,
                      2,
                      3
                    ]
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.integer.enumvalid",
      "kind": "record",
      "value": {
        "level": 2
      },
      "valid": true
    },
    {
      "name": "integer-data-invalid-enum",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.integer.enuminvalid",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "level": {
                    "type": "integer",
                    "enum": [
                      1,
                      2,
                      3
                    ]
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.integer.enuminvalid",
      "kind": "record",
      "value": {
        "level": 5
      },
      "valid": false,
      "error": "Record/level must be one of (1|2|3)"
    },
    {
      "name": "integer-data-invalid-wrong-type",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.integer.wrongtype",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "count": {
                    "type": "integer"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.integer.wrongtype",
      "kind": "record",
      "value": {
        "count": "42"
      },
      "valid": false,
      "error": "Record/count must be an integer"
    },
    {
      "name": "object-data-valid-basic",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.object.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "count": {
                    "type": "integer"
                  }
                },
                "required": [
                  "title"
                ]
              }
            }
          }
        }
      ],
      "ref": "test.object.data",
      "kind": "record",
      "value": {
        "title": "Hello",
        "count": 42
      },
      "valid": true
    },
    {
      "name": "object-data-invalid-missing-required",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.object.required",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  }
                },
                "required": [
                  "title"
                ]
              }
            }
          }
        }
      ],
      "ref": "test.object.required",
      "kind": "record",
      "value": {
        "other": "value"
      },
      "valid": false,
      "error": "Record must have the property \"title\""
    },
    {
      "name": "object-data-valid-nullable-null",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.object.nullable",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "duration": {
                    "type": "integer"
                  }
                },
                "nullable": [
                  "duration"
                ]
              }
            }
          }
        }
      ],
      "ref": "test.object.nullable",
      "kind": "record",
      "value": {
        "name": "test",
        "duration": null
      },
      "valid": true
    },
    {
      "name": "object-data-invalid-non-nullable-null",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.object.nonnullable",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "count": {
                    "type": "integer"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.object.nonnullable",
      "kind": "record",
      "value": {
        "name": "test",
        "count": null
      },
      "valid": false,
      "error": "Record/count must be an integer"
    },
    {
      "name": "params-data-valid-with-required",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.params.data",
          "defs": {
            "main": {
              "type": "query",
              "parameters": {
                "type": "params",
                "properties": {
                  "repo": {
                    "type": "string"
                  },
                  "limit": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "cursor": {
                    "type": "string"
                  },
                  "enabled": {
                    "type": "boolean"
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 50
                    }
                  }
                },
                "required": [
                  "repo"
                ]
              }
            }
          }
        }
      ],
      "ref": "test.params.data",
      "kind": "params",
      "value": {
        "repo": "alice.bsky.social",
        "limit": 50
      },
      "valid": true
    },
    {
      "name": "params-data-valid-with-optional",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.params.data",
          "defs": {
            "main": {
              "type": "query",
              "parameters": {
                "type": "params",
                "properties": {
                  "repo": {
                    "type": "string"
                  },
                  "limit": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "cursor": {
                    "type": "string"
                  },
                  "enabled": {
                    "type": "boolean"
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 50
                    }
                  }
                },
                "required": [
                  "repo"
                ]
              }
            }
          }
        }
      ],
      "ref": "test.params.data",
      "kind": "params",
      "value": {
        "repo": "alice.bsky.social"
      },
      "valid": true
    },
    {
      "name": "params-data-valid-all-types",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.params.alltypes",
          "defs": {
            "main": {
              "type": "query",
              "parameters": {
                "type": "params",
                "properties": {
                  "name": {
                    "type": "string",
                    "maxLength": 5
                  },
                  "count": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "enabled": {
                    "type": "boolean"
                  },
                  "metadata": {
                    "type": "unknown"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.params.alltypes",
      "kind": "params",
      "value": {
        "name": "test",
        "count": 42,
        "enabled": true,
        "metadata": {
          "key": "value"
        }
      },
      "valid": true
    },
    {
      "name": "params-data-valid-with-array",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.params.data",
          "defs": {
            "main": {
              "type": "query",
              "parameters": {
                "type": "params",
                "properties": {
                  "repo": {
                    "type": "string"
                  },
                  "limit": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "cursor": {
                    "type": "string"
                  },
                  "enabled": {
                    "type": "boolean"
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 50
                    }
                  }
                },
                "required": [
                  "repo"
                ]
              }
            }
          }
        }
      ],
      "ref": "test.params.data",
      "kind": "params",
      "value": {
        "repo": "alice.bsky.social",
        "tags": [
          "foo",
          "bar"
        ]
      },
      "valid": true
    },
    {
      "name": "params-data-invalid-missing-required",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.params.data",
          "defs": {
            "main": {
              "type": "query",
              "parameters": {
                "type": "params",
                "properties": {
                  "repo": {
                    "type": "string"
                  },
                  "limit": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "cursor": {
                    "type": "string"
                  },
                  "enabled": {
                    "type": "boolean"
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 50
                    }
                  }
                },
                "required": [
                  "repo"
                ]
              }
            }
          }
        }
      ],
      "ref": "test.params.data",
      "kind": "params",
      "value": {
        "limit": 50
      },
      "valid": false,
      "error": "Params must have the property \"repo\""
    },
    {
      "name": "params-data-invalid-wrong-type",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.params.wrongtype",
          "defs": {
            "main": {
              "type": "query",
              "parameters": {
                "type": "params",
                "properties": {
                  "limit": {
                    "type": "integer"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.params.wrongtype",
      "kind": "params",
      "value": {
        "limit": "not a number"
      },
      "valid": false,
      "error": "limit must be an integer"
    },
    {
      "name": "params-data-invalid-string-too-long",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.params.alltypes",
          "defs": {
            "main": {
              "type": "query",
              "parameters": {
                "type": "params",
                "properties": {
                  "name": {
                    "type": "string",
                    "maxLength": 5
                  },
                  "count": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "enabled": {
                    "type": "boolean"
                  },
                  "metadata": {
                    "type": "unknown"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.params.alltypes",
      "kind": "params",
      "value": {
        "name": "toolongname"
      },
      "valid": false,
      "error": "name must not be longer than 5 characters"
    },
    {
      "name": "params-data-invalid-integer-below-minimum",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.params.alltypes",
          "defs": {
            "main": {
              "type": "query",
              "parameters": {
                "type": "params",
                "properties": {
                  "name": {
                    "type": "string",
                    "maxLength": 5
                  },
                  "count": {
                    "type": "integer",
                    "minimum": 1
                  },
                  "enabled": {
                    "type": "boolean"
                  },
                  "metadata": {
                    "type": "unknown"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.params.alltypes",
      "kind": "params",
      "value": {
        "count": 0
      },
      "valid": false,
      "error": "count can not be less than 1"
    },
    {
      "name": "params-data-invalid-array-wrong-item-type",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.params.arraytype",
          "defs": {
            "main": {
              "type": "query",
              "parameters": {
                "type": "params",
                "properties": {
                  "ids": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.params.arraytype",
      "kind": "params",
      "value": {
        "ids": [
          "one",
          "two"
        ]
      },
      "valid": false,
      "error": "ids/0 must be an integer"
    },
    {
      "name": "params-data-valid-empty-schema",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.params.empty",
          "defs": {
            "main": {
              "type": "query",
              "parameters": {
                "type": "params"
              }
            }
          }
        }
      ],
      "ref": "test.params.empty",
      "kind": "params",
      "value": {},
      "valid": true
    },
    {
      "name": "params-data-valid-unknown-parameters-allowed",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.params.extra",
          "defs": {
            "main": {
              "type": "query",
              "parameters": {
                "type": "params",
                "properties": {
                  "repo": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.params.extra",
      "kind": "params",
      "value": {
        "repo": "alice.bsky.social",
        "extra": "allowed"
      },
      "valid": true
    },
    {
      "name": "procedure-data-valid-input-object",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.procedure.input",
          "defs": {
            "main": {
              "type": "procedure",
              "input": {
                "encoding": "application/json",
                "schema": {
                  "type": "object",
                  "required": [
                    "text"
                  ],
                  "properties": {
                    "text": {
                      "type": "string",
                      "maxLength": 300
                    },
                    "langs": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.procedure.input",
      "kind": "input",
      "value": {
        "text": "Hello world",
        "langs": [
          "en"
        ]
      },
      "valid": true
    },
    {
      "name": "procedure-data-invalid-missing-required",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.procedure.missingreq",
          "defs": {
            "main": {
              "type": "procedure",
              "input": {
                "encoding": "application/json",
                "schema": {
                  "type": "object",
                  "required": [
                    "text"
                  ],
                  "properties": {
                    "text": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.procedure.missingreq",
      "kind": "input",
      "value": {
        "description": "No text field"
      },
      "valid": false,
      "error": "Input must have the property \"text\""
    },
    {
      "name": "procedure-data-valid-no-input",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.procedure.noinput",
          "defs": {
            "main": {
              "type": "procedure"
            }
          }
        }
      ],
      "ref": "test.procedure.noinput",
      "kind": "params",
      "value": {},
      "valid": true
    },
    {
      "name": "procedure-data-invalid-wrong-type",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.procedure.wrongtype",
          "defs": {
            "main": {
              "type": "procedure",
              "input": {
                "encoding": "application/json",
                "schema": {
                  "type": "object",
                  "properties": {
                    "count": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.procedure.wrongtype",
      "kind": "input",
      "value": {
        "count": "not-a-number"
      },
      "valid": false,
      "error": "Input/count must be an integer"
    },
    {
      "name": "procedure-data-valid-minimal",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.procedure.minimal",
          "defs": {
            "main": {
              "type": "procedure",
              "input": {
                "encoding": "application/json",
                "schema": {
                  "type": "object",
                  "properties": {}
                }
              }
            }
          }
        }
      ],
      "ref": "test.procedure.minimal",
      "kind": "input",
      "value": {},
      "valid": true
    },
    {
      "name": "query-data-valid-parameters",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.query.data",
          "defs": {
            "main": {
              "type": "query",
              "parameters": {
                "type": "params",
                "properties": {
                  "limit": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "cursor": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.query.data",
      "kind": "params",
      "value": {
        "limit": 50,
        "cursor": "abc123"
      },
      "valid": true
    },
    {
      "name": "query-data-valid-with-required",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.query.required",
          "defs": {
            "main": {
              "type": "query",
              "parameters": {
                "type": "params",
                "properties": {
                  "repo": {
                    "type": "string"
                  }
                },
                "required": [
                  "repo"
                ]
              }
            }
          }
        }
      ],
      "ref": "test.query.required",
      "kind": "params",
      "value": {
        "repo": "did:plc:abc123"
      },
      "valid": true
    },
    {
      "name": "query-data-invalid-missing-required",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.query.missingreq",
          "defs": {
            "main": {
              "type": "query",
              "parameters": {
                "type": "params",
                "properties": {
                  "repo": {
                    "type": "string"
                  },
                  "collection": {
                    "type": "string"
                  }
                },
                "required": [
                  "repo"
                ]
              }
            }
          }
        }
      ],
      "ref": "test.query.missingreq",
      "kind": "params",
      "value": {
        "collection": "app.bsky.feed.post"
      },
      "valid": false,
      "error": "Params must have the property \"repo\""
    },
    {
      "name": "query-data-invalid-wrong-type",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.query.wrongtype",
          "defs": {
            "main": {
              "type": "query",
              "parameters": {
                "type": "params",
                "properties": {
                  "limit": {
                    "type": "integer",
                    "minimum": 1
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.query.wrongtype",
      "kind": "params",
      "value": {
        "limit": "not-a-number"
      },
      "valid": false,
      "error": "limit must be an integer"
    },
    {
      "name": "query-data-invalid-constraint-violation",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.query.constraint",
          "defs": {
            "main": {
              "type": "query",
              "parameters": {
                "type": "params",
                "properties": {
                  "limit": {
                    "type": "integer",
                    "maximum": 100
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.query.constraint",
      "kind": "params",
      "value": {
        "limit": 200
      },
      "valid": false,
      "error": "limit can not be greater than 100"
    },
    {
      "name": "query-data-valid-array-parameter",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.query.array",
          "defs": {
            "main": {
              "type": "query",
              "parameters": {
                "type": "params",
                "properties": {
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 50
                    }
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.query.array",
      "kind": "params",
      "value": {
        "tags": [
          "tag1",
          "tag2"
        ]
      },
      "valid": true
    },
    {
      "name": "query-data-valid-no-parameters",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.query.noparam",
          "defs": {
            "main": {
              "type": "query"
            }
          }
        }
      ],
      "ref": "test.query.noparam",
      "kind": "params",
      "value": {},
      "valid": true
    },
    {
      "name": "ref-data-valid-to-string",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "app.test.stringref",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "content": {
                    "type": "ref",
                    "ref": "#post"
                  }
                }
              }
            },
            "post": {
              "type": "string",
              "maxLength": 280
            }
          }
        }
      ],
      "ref": "app.test.stringref",
      "kind": "record",
      "value": {
        "content": "Hello, world!"
      },
      "valid": true
    },
    {
      "name": "ref-data-invalid-string-too-long",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "app.test.stringref",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "content": {
                    "type": "ref",
                    "ref": "#post"
                  }
                }
              }
            },
            "post": {
              "type": "string",
              "maxLength": 280
            }
          }
        }
      ],
      "ref": "app.test.stringref",
      "kind": "record",
      "value": {
        "content": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
      },
      "valid": false,
      "error": "Record/content must not be longer than 280 characters"
    },
    {
      "name": "ref-data-valid-to-object",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "app.test.objectref",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "user": {
                    "type": "ref",
                    "ref": "#userDef"
                  }
                }
              }
            },
            "userDef": {
              "type": "object",
              "required": [
                "name"
              ],
              "properties": {
                "name": {
                  "type": "string"
                },
                "age": {
                  "type": "integer"
                }
              }
            }
          }
        }
      ],
      "ref": "app.test.objectref",
      "kind": "record",
      "value": {
        "user": {
          "name": "Alice",
          "age": 30
        }
      },
      "valid": true
    },
    {
      "name": "ref-data-invalid-object-missing-required",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "app.test.objectref",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "user": {
                    "type": "ref",
                    "ref": "#userDef"
                  }
                }
              }
            },
            "userDef": {
              "type": "object",
              "required": [
                "name"
              ],
              "properties": {
                "name": {
                  "type": "string"
                },
                "age": {
                  "type": "integer"
                }
              }
            }
          }
        }
      ],
      "ref": "app.test.objectref",
      "kind": "record",
      "value": {
        "user": {
          "age": 30
        }
      },
      "valid": false,
      "error": "Record/user must have the property \"name\""
    },
    {
      "name": "ref-data-valid-nested-chain",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "app.test.nested",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "ref",
                    "ref": "#refA"
                  }
                }
              }
            },
            "refA": {
              "type": "ref",
              "ref": "#refB"
            },
            "refB": {
              "type": "ref",
              "ref": "#actualString"
            },
            "actualString": {
              "type": "string"
            }
          }
        }
      ],
      "ref": "app.test.nested",
      "kind": "record",
      "value": {
        "data": "Hello!"
      },
      "valid": false,
      "error": "Unexpected lexicon type: ref"
    },
    {
      "name": "ref-data-invalid-circular-reference",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "app.test.circular",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "ref",
                    "ref": "#refA"
                  }
                }
              }
            },
            "refA": {
              "type": "ref",
              "ref": "#refB"
            },
            "refB": {
              "type": "ref",
              "ref": "#refA"
            }
          }
        }
      ],
      "ref": "app.test.circular",
      "kind": "record",
      "value": {
        "data": "test"
      },
      "valid": false,
      "error": "Unexpected lexicon type: ref"
    },
    {
      "name": "ref-data-valid-cross-lexicon",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "app.test.schema",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "user": {
                    "type": "ref",
                    "ref": "app.test.types#user"
                  }
                }
              }
            }
          }
        },
        {
          "lexicon": 1,
          "id": "app.test.types",
          "defs": {
            "user": {
              "type": "object",
              "required": [
                "id"
              ],
              "properties": {
                "id": {
                  "type": "string"
                }
              }
            }
          }
        }
      ],
      "ref": "app.test.schema",
      "kind": "record",
      "value": {
        "user": {
          "id": "user123"
        }
      },
      "valid": true
    },
    {
      "name": "ref-data-invalid-cross-lexicon-missing-required",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "app.test.schema",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "user": {
                    "type": "ref",
                    "ref": "app.test.types#user"
                  }
                }
              }
            }
          }
        },
        {
          "lexicon": 1,
          "id": "app.test.types",
          "defs": {
            "user": {
              "type": "object",
              "required": [
                "id"
              ],
              "properties": {
                "id": {
                  "type": "string"
                }
              }
            }
          }
        }
      ],
      "ref": "app.test.schema",
      "kind": "record",
      "value": {
        "user": {
          "name": "Alice"
        }
      },
      "valid": false,
      "error": "Record/user must have the property \"id\""
    },
    {
      "name": "ref-data-invalid-not-found",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "app.test.badref",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "ref",
                    "ref": "#nonexistent"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "app.test.badref",
      "kind": "record",
      "value": {
        "data": "test"
      },
      "valid": false,
      "error": "Lexicon not found: lex:app.test.badref#nonexistent"
    },
    {
      "name": "ref-data-valid-cross-lexicon-nested-local-ref",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "app.test.profile",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "labels": {
                    "type": "ref",
                    "ref": "app.test.labels#selfLabels"
                  }
                }
              }
            },
            "selfLabel": {
              "type": "object",
              "required": [
                "wrongField"
              ],
              "properties": {
                "wrongField": {
                  "type": "string"
                }
              }
            }
          }
        },
        {
          "lexicon": 1,
          "id": "app.test.labels",
          "defs": {
            "selfLabels": {
              "type": "object",
              "properties": {
                "values": {
                  "type": "array",
                  "items": {
                    "type": "ref",
                    "ref": "#selfLabel"
                  }
                }
              }
            },
            "selfLabel": {
              "type": "object",
              "required": [
                "val"
              ],
              "properties": {
                "val": {
                  "type": "string"
                }
              }
            }
          }
        }
      ],
      "ref": "app.test.profile",
      "kind": "record",
      "value": {
        "labels": {
          "values": [
            {
              "val": "self-label-value"
            }
          ]
        }
      },
      "valid": true
    },
    {
      "name": "ref-data-invalid-cross-lexicon-wrong-context",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "app.test.profile",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "labels": {
                    "type": "ref",
                    "ref": "app.test.labels#selfLabels"
                  }
                }
              }
            },
            "selfLabel": {
              "type": "object",
              "required": [
                "wrongField"
              ],
              "properties": {
                "wrongField": {
                  "type": "string"
                }
              }
            }
          }
        },
        {
          "lexicon": 1,
          "id": "app.test.labels",
          "defs": {
            "selfLabels": {
              "type": "object",
              "properties": {
                "values": {
                  "type": "array",
                  "items": {
                    "type": "ref",
                    "ref": "#selfLabel"
                  }
                }
              }
            },
            "selfLabel": {
              "type": "object",
              "required": [
                "val"
              ],
              "properties": {
                "val": {
                  "type": "string"
                }
              }
            }
          }
        }
      ],
      "ref": "app.test.profile",
      "kind": "record",
      "value": {
        "labels": {
          "values": [
            {
              "wrongField": "this-uses-wrong-lexicon"
            }
          ]
        }
      },
      "valid": false,
      "error": "Record/labels/values/0 must have the property \"val\""
    },
    {
      "name": "string-data-valid-basic",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.string.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 10
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.string.data",
      "kind": "record",
      "value": {
        "text": "hello"
      },
      "valid": true
    },
    {
      "name": "string-data-invalid-too-short",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.string.short",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "minLength": 10
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.string.short",
      "kind": "record",
      "value": {
        "text": "short"
      },
      "valid": false,
      "error": "Record/text must not be shorter than 10 characters"
    },
    {
      "name": "string-data-invalid-too-long",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.string.long",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "maxLength": 5
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.string.long",
      "kind": "record",
      "value": {
        "text": "this is too long"
      },
      "valid": false,
      "error": "Record/text must not be longer than 5 characters"
    },
    {
      "name": "string-data-valid-enum",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.string.enumvalid",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "color": {
                    "type": "string",
                    "enum": [
                      "red",
                      "blue"
                    ]
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.string.enumvalid",
      "kind": "record",
      "value": {
        "color": "red"
      },
      "valid": true
    },
    {
      "name": "string-data-invalid-enum",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.string.enuminvalid",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "color": {
                    "type": "string",
                    "enum": [
                      "red",
                      "blue"
                    ]
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.string.enuminvalid",
      "kind": "record",
      "value": {
        "color": "green"
      },
      "valid": false,
      "error": "Record/color must be one of (red|blue)"
    },
    {
      "name": "string-data-invalid-wrong-type",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.string.wrongtype",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.string.wrongtype",
      "kind": "record",
      "value": {
        "text": 42
      },
      "valid": false,
      "error": "Record/text must be a string"
    },
    {
      "name": "string-data-invalid-graphemes-too-short",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.string.graphshort",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "minGraphemes": 10
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.string.graphshort",
      "kind": "record",
      "value": {
        "text": "hi"
      },
      "valid": false,
      "error": "Record/text must not be shorter than 10 graphemes"
    },
    {
      "name": "string-data-invalid-graphemes-too-long",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.string.graphlong",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "text": {
                    "type": "string",
                    "maxGraphemes": 3
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.string.graphlong",
      "kind": "record",
      "value": {
        "text": "hello"
      },
      "valid": false,
      "error": "Record/text must not be longer than 3 graphemes"
    },
    {
      "name": "subscription-data-valid-parameters",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.subscription.data",
          "defs": {
            "main": {
              "type": "subscription",
              "parameters": {
                "type": "params",
                "properties": {
                  "cursor": {
                    "type": "integer"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.subscription.data",
      "kind": "params",
      "value": {
        "cursor": 12345
      },
      "valid": true
    },
    {
      "name": "subscription-data-invalid-missing-required",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.subscription.missingreq",
          "defs": {
            "main": {
              "type": "subscription",
              "parameters": {
                "type": "params",
                "properties": {
                  "collection": {
                    "type": "string"
                  }
                },
                "required": [
                  "collection"
                ]
              }
            }
          }
        }
      ],
      "ref": "test.subscription.missingreq",
      "kind": "params",
      "value": {},
      "valid": false,
      "error": "Params must have the property \"collection\""
    },
    {
      "name": "subscription-data-valid-no-parameters",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.subscription.noparam",
          "defs": {
            "main": {
              "type": "subscription"
            }
          }
        }
      ],
      "ref": "test.subscription.noparam",
      "kind": "params",
      "value": {},
      "valid": true
    },
    {
      "name": "subscription-data-invalid-constraint-violation",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.subscription.constraint",
          "defs": {
            "main": {
              "type": "subscription",
              "parameters": {
                "type": "params",
                "properties": {
                  "limit": {
                    "type": "integer",
                    "maximum": 100
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.subscription.constraint",
      "kind": "params",
      "value": {
        "limit": 200
      },
      "valid": false,
      "error": "limit can not be greater than 100"
    },
    {
      "name": "subscription-data-valid-array-parameter",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.subscription.array",
          "defs": {
            "main": {
              "type": "subscription",
              "parameters": {
                "type": "params",
                "properties": {
                  "repos": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.subscription.array",
      "kind": "params",
      "value": {
        "repos": [
          "did:plc:abc",
          "did:plc:xyz"
        ]
      },
      "valid": true
    },
    {
      "name": "token-data-valid-simple-string",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.token.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "token"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.token.data",
      "kind": "record",
      "value": {
        "kind": "example.lexicon.record#demoToken"
      },
      "valid": false,
      "error": "Unexpected lexicon type: token"
    },
    {
      "name": "token-data-valid-local-ref",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.token.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "token"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.token.data",
      "kind": "record",
      "value": {
        "kind": "#myToken"
      },
      "valid": false,
      "error": "Unexpected lexicon type: token"
    },
    {
      "name": "token-data-invalid-empty-string",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.token.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "token"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.token.data",
      "kind": "record",
      "value": {
        "kind": ""
      },
      "valid": false,
      "error": "Unexpected lexicon type: token"
    },
    {
      "name": "token-data-invalid-integer",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.token.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "token"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.token.data",
      "kind": "record",
      "value": {
        "kind": 123
      },
      "valid": false,
      "error": "Unexpected lexicon type: token"
    },
    {
      "name": "token-data-invalid-boolean",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.token.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "token"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.token.data",
      "kind": "record",
      "value": {
        "kind": true
      },
      "valid": false,
      "error": "Unexpected lexicon type: token"
    },
    {
      "name": "token-data-invalid-object",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.token.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "token"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.token.data",
      "kind": "record",
      "value": {
        "kind": {
          "token": "value"
        }
      },
      "valid": false,
      "error": "Unexpected lexicon type: token"
    },
    {
      "name": "token-data-invalid-array",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.token.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "token"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.token.data",
      "kind": "record",
      "value": {
        "kind": [
          "token1",
          "token2"
        ]
      },
      "valid": false,
      "error": "Unexpected lexicon type: token"
    },
    {
      "name": "token-data-invalid-null",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.token.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "kind": {
                    "type": "token"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.token.data",
      "kind": "record",
      "value": {
        "kind": null
      },
      "valid": false,
      "error": "Unexpected lexicon type: token"
    },
    {
      "name": "union-data-valid-matching-type",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.union.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "item": {
                    "type": "union",
                    "refs": [
                      "#post",
                      "#reply"
                    ]
                  }
                }
              }
            },
            "post": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string"
                }
              }
            },
            "reply": {
              "type": "object",
              "properties": {
                "parent": {
                  "type": "string"
                },
                "text": {
                  "type": "string"
                }
              }
            }
          }
        }
      ],
      "ref": "test.union.data",
      "kind": "record",
      "value": {
        "item": {
          "$type": "test.union.data#post",
          "text": "Hello world"
        }
      },
      "valid": true
    },
    {
      "name": "union-data-valid-local-ref-match",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.union.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "item": {
                    "type": "union",
                    "refs": [
                      "#post",
                      "#reply"
                    ]
                  }
                }
              }
            },
            "post": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string"
                }
              }
            },
            "reply": {
              "type": "object",
              "properties": {
                "parent": {
                  "type": "string"
                },
                "text": {
                  "type": "string"
                }
              }
            }
          }
        }
      ],
      "ref": "test.union.data",
      "kind": "record",
      "value": {
        "item": {
          "$type": "post",
          "text": "Hello"
        }
      },
      "valid": true
    },
    {
      "name": "union-data-invalid-missing-type",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.union.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "item": {
                    "type": "union",
                    "refs": [
                      "#post",
                      "#reply"
                    ]
                  }
                }
              }
            },
            "post": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string"
                }
              }
            },
            "reply": {
              "type": "object",
              "properties": {
                "parent": {
                  "type": "string"
                },
                "text": {
                  "type": "string"
                }
              }
            }
          }
        }
      ],
      "ref": "test.union.data",
      "kind": "record",
      "value": {
        "item": {
          "text": "Hello"
        }
      },
      "valid": false,
      "error": "Record/item must be an object which includes the \"$type\" property"
    },
    {
      "name": "union-data-invalid-non-object",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.union.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "item": {
                    "type": "union",
                    "refs": [
                      "#post",
                      "#reply"
                    ]
                  }
                }
              }
            },
            "post": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string"
                }
              }
            },
            "reply": {
              "type": "object",
              "properties": {
                "parent": {
                  "type": "string"
                },
                "text": {
                  "type": "string"
                }
              }
            }
          }
        }
      ],
      "ref": "test.union.data",
      "kind": "record",
      "value": {
        "item": "not an object"
      },
      "valid": false,
      "error": "Record/item must be an object which includes the \"$type\" property"
    },
    {
      "name": "union-data-invalid-type-not-in-refs",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.union.closed",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "item": {
                    "type": "union",
                    "refs": [
                      "#typeA"
                    ],
                    "closed": true
                  }
                }
              }
            },
            "typeA": {
              "type": "object",
              "properties": {
                "data": {
                  "type": "string"
                }
              }
            }
          }
        }
      ],
      "ref": "test.union.closed",
      "kind": "record",
      "value": {
        "item": {
          "$type": "test.union.closed#typeB",
          "data": "some data"
        }
      },
      "valid": false,
      "error": "Record/item $type must be one of lex:test.union.closed#typeA"
    },
    {
      "name": "union-data-invalid-integer",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.union.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "item": {
                    "type": "union",
                    "refs": [
                      "#post",
                      "#reply"
                    ]
                  }
                }
              }
            },
            "post": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string"
                }
              }
            },
            "reply": {
              "type": "object",
              "properties": {
                "parent": {
                  "type": "string"
                },
                "text": {
                  "type": "string"
                }
              }
            }
          }
        }
      ],
      "ref": "test.union.data",
      "kind": "record",
      "value": {
        "item": 123
      },
      "valid": false,
      "error": "Record/item must be an object which includes the \"$type\" property"
    },
    {
      "name": "union-data-invalid-null",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.union.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "item": {
                    "type": "union",
                    "refs": [
                      "#post",
                      "#reply"
                    ]
                  }
                }
              }
            },
            "post": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string"
                }
              }
            },
            "reply": {
              "type": "object",
              "properties": {
                "parent": {
                  "type": "string"
                },
                "text": {
                  "type": "string"
                }
              }
            }
          }
        }
      ],
      "ref": "test.union.data",
      "kind": "record",
      "value": {
        "item": null
      },
      "valid": false,
      "error": "Record/item must be an object which includes the \"$type\" property"
    },
    {
      "name": "union-data-invalid-array",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.union.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "item": {
                    "type": "union",
                    "refs": [
                      "#post",
                      "#reply"
                    ]
                  }
                }
              }
            },
            "post": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string"
                }
              }
            },
            "reply": {
              "type": "object",
              "properties": {
                "parent": {
                  "type": "string"
                },
                "text": {
                  "type": "string"
                }
              }
            }
          }
        }
      ],
      "ref": "test.union.data",
      "kind": "record",
      "value": {
        "item": [
          "item"
        ]
      },
      "valid": false,
      "error": "Record/item must be an object which includes the \"$type\" property"
    },
    {
      "name": "union-data-invalid-boolean",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.union.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "item": {
                    "type": "union",
                    "refs": [
                      "#post",
                      "#reply"
                    ]
                  }
                }
              }
            },
            "post": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string"
                }
              }
            },
            "reply": {
              "type": "object",
              "properties": {
                "parent": {
                  "type": "string"
                },
                "text": {
                  "type": "string"
                }
              }
            }
          }
        }
      ],
      "ref": "test.union.data",
      "kind": "record",
      "value": {
        "item": true
      },
      "valid": false,
      "error": "Record/item must be an object which includes the \"$type\" property"
    },
    {
      "name": "union-ref-data-invalid-type-mismatch",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.union.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "item": {
                    "type": "union",
                    "refs": [
                      "#post",
                      "#reply"
                    ]
                  }
                }
              }
            },
            "post": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string"
                }
              }
            },
            "reply": {
              "type": "object",
              "properties": {
                "parent": {
                  "type": "string"
                },
                "text": {
                  "type": "string"
                }
              }
            }
          }
        }
      ],
      "ref": "test.union.data",
      "kind": "record",
      "value": {
        "item": {
          "$type": "test.union.data#post",
          "text": 12345
        }
      },
      "valid": false,
      "error": "Record/item/text must be a string"
    },
    {
      "name": "union-ref-data-valid-correct-types",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.union.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "item": {
                    "type": "union",
                    "refs": [
                      "#post",
                      "#reply"
                    ]
                  }
                }
              }
            },
            "post": {
              "type": "object",
              "properties": {
                "text": {
                  "type": "string"
                }
              }
            },
            "reply": {
              "type": "object",
              "properties": {
                "parent": {
                  "type": "string"
                },
                "text": {
                  "type": "string"
                }
              }
            }
          }
        }
      ],
      "ref": "test.union.data",
      "kind": "record",
      "value": {
        "item": {
          "$type": "test.union.data#reply",
          "parent": "at://did:plc:abc/test.union.data/123",
          "text": "This is a reply"
        }
      },
      "valid": true
    },
    {
      "name": "unknown-data-valid-simple-object",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.unknown.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "unknown"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.unknown.data",
      "kind": "record",
      "value": {
        "data": {
          "a": "alphabet",
          "b": 3
        }
      },
      "valid": true
    },
    {
      "name": "unknown-data-valid-with-type-field",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.unknown.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "unknown"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.unknown.data",
      "kind": "record",
      "value": {
        "data": {
          "$type": "example.lexicon.record#demoObject",
          "a": 1,
          "b": 2
        }
      },
      "valid": true
    },
    {
      "name": "unknown-data-valid-nested-objects",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.unknown.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "unknown"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.unknown.data",
      "kind": "record",
      "value": {
        "data": {
          "outer": {
            "inner": "nested"
          },
          "count": 42
        }
      },
      "valid": true
    },
    {
      "name": "unknown-data-valid-empty-object",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.unknown.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "unknown"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.unknown.data",
      "kind": "record",
      "value": {
        "data": {}
      },
      "valid": true
    },
    {
      "name": "unknown-data-invalid-boolean",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.unknown.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "unknown"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.unknown.data",
      "kind": "record",
      "value": {
        "data": false
      },
      "valid": false,
      "error": "Record/data must be an object"
    },
    {
      "name": "unknown-data-invalid-string",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.unknown.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "unknown"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.unknown.data",
      "kind": "record",
      "value": {
        "data": "not an object"
      },
      "valid": false,
      "error": "Record/data must be an object"
    },
    {
      "name": "unknown-data-invalid-integer",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.unknown.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "unknown"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.unknown.data",
      "kind": "record",
      "value": {
        "data": 123
      },
      "valid": false,
      "error": "Record/data must be an object"
    },
    {
      "name": "unknown-data-invalid-array",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.unknown.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "unknown"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.unknown.data",
      "kind": "record",
      "value": {
        "data": [
          1,
          2,
          3
        ]
      },
      "valid": true
    },
    {
      "name": "unknown-data-invalid-null",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.unknown.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "unknown"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.unknown.data",
      "kind": "record",
      "value": {
        "data": null
      },
      "valid": false,
      "error": "Record/data must be an object"
    },
    {
      "name": "unknown-data-invalid-bytes-object",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.unknown.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "unknown"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.unknown.data",
      "kind": "record",
      "value": {
        "data": {
          "$bytes": "SGVsbG8gd29ybGQ="
        }
      },
      "valid": true
    },
    {
      "name": "unknown-data-invalid-blob-object",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.unknown.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "unknown"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.unknown.data",
      "kind": "record",
      "value": {
        "data": {
          "$type": "blob",
          "mimeType": "text/plain",
          "size": 12345
        }
      },
      "valid": true
    },
    {
      "name": "unknown-data-invalid-uint8array",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.unknown.data",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "data": {
                    "type": "unknown"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.unknown.data",
      "kind": "record",
      "value": {
        "data": {
          "$bytes": "AQID"
        }
      },
      "valid": true
    },
    {
      "name": "at-uri-valid-did-only",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.aturi",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "uri": {
                    "type": "string",
                    "format": "at-uri"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.aturi",
      "kind": "record",
      "value": {
        "uri": "at://did:plc:z72i7hdynmk6r22z27h6tvur"
      },
      "valid": true
    },
    {
      "name": "at-uri-valid-with-collection",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.aturi",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "uri": {
                    "type": "string",
                    "format": "at-uri"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.aturi",
      "kind": "record",
      "value": {
        "uri": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post"
      },
      "valid": true
    },
    {
      "name": "at-uri-valid-with-rkey",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.aturi",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "uri": {
                    "type": "string",
                    "format": "at-uri"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.aturi",
      "kind": "record",
      "value": {
        "uri": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3jui7kd54zh2y"
      },
      "valid": true
    },
    {
      "name": "at-uri-valid-with-handle",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.aturi",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "uri": {
                    "type": "string",
                    "format": "at-uri"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.aturi",
      "kind": "record",
      "value": {
        "uri": "at://user.bsky.social/app.bsky.feed.post"
      },
      "valid": true
    },
    {
      "name": "at-uri-invalid-collection",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.aturi",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "uri": {
                    "type": "string",
                    "format": "at-uri"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.aturi",
      "kind": "record",
      "value": {
        "uri": "at://did:plc:z72i7hdynmk6r22z27h6tvur/invalid"
      },
      "valid": false,
      "error": "Record/uri must be a valid at-uri"
    },
    {
      "name": "at-uri-invalid-empty",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.aturi",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "uri": {
                    "type": "string",
                    "format": "at-uri"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.aturi",
      "kind": "record",
      "value": {
        "uri": ""
      },
      "valid": false,
      "error": "Record/uri must be a valid at-uri"
    },
    {
      "name": "at-uri-valid-space-ref",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.aturi",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "uri": {
                    "type": "string",
                    "format": "at-uri"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.aturi",
      "kind": "record",
      "value": {
        "uri": "at://did:plc:z72i7hdynmk6r22z27h6tvur/space/com.example.forum/ride-planning"
      },
      "valid": false,
      "error": "Record/uri must be a valid at-uri"
    },
    {
      "name": "at-uri-valid-space-ref-self",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.aturi",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "uri": {
                    "type": "string",
                    "format": "at-uri"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.aturi",
      "kind": "record",
      "value": {
        "uri": "at://did:plc:z72i7hdynmk6r22z27h6tvur/space/com.example.events/self"
      },
      "valid": false,
      "error": "Record/uri must be a valid at-uri"
    },
    {
      "name": "at-uri-valid-space-record",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.aturi",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "uri": {
                    "type": "string",
                    "format": "at-uri"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.aturi",
      "kind": "record",
      "value": {
        "uri": "at://did:plc:z72i7hdynmk6r22z27h6tvur/space/com.example.forum/ride-planning/did:plc:d3ntjmhaj5rxakzrffaemkgm/com.atmoboards.forum.post/3mvqai4seqd2l"
      },
      "valid": false,
      "error": "Record/uri must be a valid at-uri"
    },
    {
      "name": "at-uri-invalid-space-handle-authority",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.aturi",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "uri": {
                    "type": "string",
                    "format": "at-uri"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.aturi",
      "kind": "record",
      "value": {
        "uri": "at://alice.test/space/com.example.forum/ride-planning"
      },
      "valid": false,
      "error": "Record/uri must be a valid at-uri"
    },
    {
      "name": "at-uri-invalid-space-type-not-nsid",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.aturi",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "uri": {
                    "type": "string",
                    "format": "at-uri"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.aturi",
      "kind": "record",
      "value": {
        "uri": "at://did:plc:z72i7hdynmk6r22z27h6tvur/space/forum/ride-planning"
      },
      "valid": false,
      "error": "Record/uri must be a valid at-uri"
    },
    {
      "name": "at-uri-invalid-space-missing-skey",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.aturi",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "uri": {
                    "type": "string",
                    "format": "at-uri"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.aturi",
      "kind": "record",
      "value": {
        "uri": "at://did:plc:z72i7hdynmk6r22z27h6tvur/space/com.example.forum"
      },
      "valid": false,
      "error": "Record/uri must be a valid at-uri"
    },
    {
      "name": "at-uri-invalid-space-record-short",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.aturi",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "uri": {
                    "type": "string",
                    "format": "at-uri"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.aturi",
      "kind": "record",
      "value": {
        "uri": "at://did:plc:z72i7hdynmk6r22z27h6tvur/space/com.example.forum/ride-planning/did:plc:d3ntjmhaj5rxakzrffaemkgm/com.atmoboards.forum.post"
      },
      "valid": false,
      "error": "Record/uri must be a valid at-uri"
    },
    {
      "name": "at-uri-invalid-space-record-handle-writer",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.aturi",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "uri": {
                    "type": "string",
                    "format": "at-uri"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.aturi",
      "kind": "record",
      "value": {
        "uri": "at://did:plc:z72i7hdynmk6r22z27h6tvur/space/com.example.forum/ride-planning/alice.test/com.atmoboards.forum.post/3mvqai4seqd2l"
      },
      "valid": false,
      "error": "Record/uri must be a valid at-uri"
    },
    {
      "name": "at-uri-invalid-space-record-collection-not-nsid",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.aturi",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "uri": {
                    "type": "string",
                    "format": "at-uri"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.aturi",
      "kind": "record",
      "value": {
        "uri": "at://did:plc:z72i7hdynmk6r22z27h6tvur/space/com.example.forum/ride-planning/did:plc:d3ntjmhaj5rxakzrffaemkgm/post/3mvqai4seqd2l"
      },
      "valid": false,
      "error": "Record/uri must be a valid at-uri"
    },
    {
      "name": "cid-valid-v1-base32",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.cid",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "cid": {
                    "type": "string",
                    "format": "cid"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.cid",
      "kind": "record",
      "value": {
        "cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"
      },
      "valid": true
    },
    {
      "name": "cid-valid-v1-raw",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.cid",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "cid": {
                    "type": "string",
                    "format": "cid"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.cid",
      "kind": "record",
      "value": {
        "cid": "bafkreigh2akiscaildcqabsyg3dfr6chu3fgpregiymsck7e7aqa4s52zy"
      },
      "valid": true
    },
    {
      "name": "cid-invalid-qmb-prefix",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.cid",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "cid": {
                    "type": "string",
                    "format": "cid"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.cid",
      "kind": "record",
      "value": {
        "cid": "QmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnR"
      },
      "valid": true
    },
    {
      "name": "cid-invalid-too-short",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.cid",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "cid": {
                    "type": "string",
                    "format": "cid"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.cid",
      "kind": "record",
      "value": {
        "cid": "abc1234"
      },
      "valid": false,
      "error": "Record/cid must be a cid string"
    },
    {
      "name": "cid-invalid-empty",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.cid",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "cid": {
                    "type": "string",
                    "format": "cid"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.cid",
      "kind": "record",
      "value": {
        "cid": ""
      },
      "valid": false,
      "error": "Record/cid must be a cid string"
    },
    {
      "name": "datetime-valid-utc",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.datetime",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "createdAt": {
                    "type": "string",
                    "format": "datetime"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.datetime",
      "kind": "record",
      "value": {
        "createdAt": "2024-01-01T12:00:00Z"
      },
      "valid": true
    },
    {
      "name": "datetime-valid-with-offset",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.datetime",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "createdAt": {
                    "type": "string",
                    "format": "datetime"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.datetime",
      "kind": "record",
      "value": {
        "createdAt": "2024-01-01T12:00:00+00:00"
      },
      "valid": true
    },
    {
      "name": "datetime-valid-with-milliseconds",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.datetime",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "createdAt": {
                    "type": "string",
                    "format": "datetime"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.datetime",
      "kind": "record",
      "value": {
        "createdAt": "2024-01-01T12:00:00.123Z"
      },
      "valid": true
    },
    {
      "name": "datetime-invalid-negative-zero-offset",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.datetime",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "createdAt": {
                    "type": "string",
                    "format": "datetime"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.datetime",
      "kind": "record",
      "value": {
        "createdAt": "2024-01-01T12:00:00-00:00"
      },
      "valid": false,
      "error": "Record/createdAt must be an valid atproto datetime (both RFC-3339 and ISO-8601)"
    },
    {
      "name": "datetime-invalid-feb-30",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.datetime",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "createdAt": {
                    "type": "string",
                    "format": "datetime"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.datetime",
      "kind": "record",
      "value": {
        "createdAt": "2024-02-30T12:00:00Z"
      },
      "valid": true
    },
    {
      "name": "datetime-invalid-empty",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.datetime",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "createdAt": {
                    "type": "string",
                    "format": "datetime"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.datetime",
      "kind": "record",
      "value": {
        "createdAt": ""
      },
      "valid": false,
      "error": "Record/createdAt must be an valid atproto datetime (both RFC-3339 and ISO-8601)"
    },
    {
      "name": "did-valid-plc",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.did",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "did": {
                    "type": "string",
                    "format": "did"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.did",
      "kind": "record",
      "value": {
        "did": "did:plc:z72i7hdynmk6r22z27h6tvur"
      },
      "valid": true
    },
    {
      "name": "did-valid-web",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.did",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "did": {
                    "type": "string",
                    "format": "did"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.did",
      "kind": "record",
      "value": {
        "did": "did:web:example.com"
      },
      "valid": true
    },
    {
      "name": "did-invalid-empty",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.did",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "did": {
                    "type": "string",
                    "format": "did"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.did",
      "kind": "record",
      "value": {
        "did": ""
      },
      "valid": false,
      "error": "Record/did must be a valid did"
    },
    {
      "name": "did-invalid-ending-percent",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.did",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "did": {
                    "type": "string",
                    "format": "did"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.did",
      "kind": "record",
      "value": {
        "did": "did:example:foo%"
      },
      "valid": false,
      "error": "Record/did must be a valid did"
    },
    {
      "name": "handle-valid-basic",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.handle",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "handle": {
                    "type": "string",
                    "format": "handle"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.handle",
      "kind": "record",
      "value": {
        "handle": "user.bsky.social"
      },
      "valid": true
    },
    {
      "name": "handle-valid-subdomain",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.handle",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "handle": {
                    "type": "string",
                    "format": "handle"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.handle",
      "kind": "record",
      "value": {
        "handle": "alice.example.com"
      },
      "valid": true
    },
    {
      "name": "handle-invalid-local-tld",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.handle",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "handle": {
                    "type": "string",
                    "format": "handle"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.handle",
      "kind": "record",
      "value": {
        "handle": "user.local"
      },
      "valid": true
    },
    {
      "name": "handle-invalid-localhost-tld",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.handle",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "handle": {
                    "type": "string",
                    "format": "handle"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.handle",
      "kind": "record",
      "value": {
        "handle": "app.localhost"
      },
      "valid": true
    },
    {
      "name": "handle-invalid-no-dot",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.handle",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "handle": {
                    "type": "string",
                    "format": "handle"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.handle",
      "kind": "record",
      "value": {
        "handle": "nodot"
      },
      "valid": false,
      "error": "Record/handle must be a valid handle"
    },
    {
      "name": "language-valid-simple",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.language",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "lang": {
                    "type": "string",
                    "format": "language"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.language",
      "kind": "record",
      "value": {
        "lang": "en"
      },
      "valid": true
    },
    {
      "name": "language-valid-with-region",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.language",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "lang": {
                    "type": "string",
                    "format": "language"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.language",
      "kind": "record",
      "value": {
        "lang": "en-US"
      },
      "valid": true
    },
    {
      "name": "language-valid-with-script",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.language",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "lang": {
                    "type": "string",
                    "format": "language"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.language",
      "kind": "record",
      "value": {
        "lang": "zh-Hans-CN"
      },
      "valid": true
    },
    {
      "name": "language-invalid-empty",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.language",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "lang": {
                    "type": "string",
                    "format": "language"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.language",
      "kind": "record",
      "value": {
        "lang": ""
      },
      "valid": false,
      "error": "Record/lang must be a well-formed BCP 47 language tag"
    },
    {
      "name": "nsid-valid-basic",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.nsid",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "nsid": {
                    "type": "string",
                    "format": "nsid"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.nsid",
      "kind": "record",
      "value": {
        "nsid": "app.bsky.feed.post"
      },
      "valid": true
    },
    {
      "name": "nsid-valid-three-segments",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.nsid",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "nsid": {
                    "type": "string",
                    "format": "nsid"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.nsid",
      "kind": "record",
      "value": {
        "nsid": "com.example.record"
      },
      "valid": true
    },
    {
      "name": "nsid-invalid-two-segments",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.nsid",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "nsid": {
                    "type": "string",
                    "format": "nsid"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.nsid",
      "kind": "record",
      "value": {
        "nsid": "example.record"
      },
      "valid": false,
      "error": "Record/nsid must be a valid nsid"
    },
    {
      "name": "nsid-invalid-empty",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.nsid",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "nsid": {
                    "type": "string",
                    "format": "nsid"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.nsid",
      "kind": "record",
      "value": {
        "nsid": ""
      },
      "valid": false,
      "error": "Record/nsid must be a valid nsid"
    },
    {
      "name": "record-key-valid-tid",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.recordkey",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "rkey": {
                    "type": "string",
                    "format": "record-key"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.recordkey",
      "kind": "record",
      "value": {
        "rkey": "3jui7kd54zh2y"
      },
      "valid": true
    },
    {
      "name": "record-key-valid-custom",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.recordkey",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "rkey": {
                    "type": "string",
                    "format": "record-key"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.recordkey",
      "kind": "record",
      "value": {
        "rkey": "my-custom-key"
      },
      "valid": true
    },
    {
      "name": "record-key-valid-with-underscores",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.recordkey",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "rkey": {
                    "type": "string",
                    "format": "record-key"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.recordkey",
      "kind": "record",
      "value": {
        "rkey": "key_with_underscores"
      },
      "valid": true
    },
    {
      "name": "record-key-invalid-dot",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.recordkey",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "rkey": {
                    "type": "string",
                    "format": "record-key"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.recordkey",
      "kind": "record",
      "value": {
        "rkey": "."
      },
      "valid": false,
      "error": "Record/rkey must be a valid Record Key"
    },
    {
      "name": "record-key-invalid-dotdot",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.recordkey",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "rkey": {
                    "type": "string",
                    "format": "record-key"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.recordkey",
      "kind": "record",
      "value": {
        "rkey": ".."
      },
      "valid": false,
      "error": "Record/rkey must be a valid Record Key"
    },
    {
      "name": "record-key-invalid-empty",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.recordkey",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "rkey": {
                    "type": "string",
                    "format": "record-key"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.recordkey",
      "kind": "record",
      "value": {
        "rkey": ""
      },
      "valid": false,
      "error": "Record/rkey must be a valid Record Key"
    },
    {
      "name": "tid-valid-basic",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.tid",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "tid": {
                    "type": "string",
                    "format": "tid"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.tid",
      "kind": "record",
      "value": {
        "tid": "3jui7kd54zh2y"
      },
      "valid": true
    },
    {
      "name": "tid-valid-boundary",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.tid",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "tid": {
                    "type": "string",
                    "format": "tid"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.tid",
      "kind": "record",
      "value": {
        "tid": "2zzzzzzzzzzzy"
      },
      "valid": true
    },
    {
      "name": "tid-invalid-first-char",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.tid",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "tid": {
                    "type": "string",
                    "format": "tid"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.tid",
      "kind": "record",
      "value": {
        "tid": "kzzzzzzzzzzzz"
      },
      "valid": false,
      "error": "Record/tid must be a valid TID"
    },
    {
      "name": "tid-invalid-wrong-length-short",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.tid",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "tid": {
                    "type": "string",
                    "format": "tid"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.tid",
      "kind": "record",
      "value": {
        "tid": "3jui7kd54zh2"
      },
      "valid": false,
      "error": "Record/tid must be a valid TID"
    },
    {
      "name": "tid-invalid-wrong-length-long",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.tid",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "tid": {
                    "type": "string",
                    "format": "tid"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.tid",
      "kind": "record",
      "value": {
        "tid": "3jui7kd54zh2yy"
      },
      "valid": false,
      "error": "Record/tid must be a valid TID"
    },
    {
      "name": "uri-valid-https",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.uri",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "format": "uri"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.uri",
      "kind": "record",
      "value": {
        "url": "https://example.com"
      },
      "valid": true
    },
    {
      "name": "uri-valid-with-path",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.uri",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "format": "uri"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.uri",
      "kind": "record",
      "value": {
        "url": "http://example.com/path"
      },
      "valid": true
    },
    {
      "name": "uri-valid-uppercase-scheme",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.uri",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "format": "uri"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.uri",
      "kind": "record",
      "value": {
        "url": "HTTP://example.com"
      },
      "valid": true
    },
    {
      "name": "uri-invalid-empty",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.format.uri",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "url": {
                    "type": "string",
                    "format": "uri"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.format.uri",
      "kind": "record",
      "value": {
        "url": ""
      },
      "valid": false,
      "error": "Record/url must be a uri"
    },
    {
      "name": "e2e-post-valid-simple",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "app.bsky.feed.post",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "required": [
                  "text",
                  "createdAt"
                ],
                "properties": {
                  "text": {
                    "type": "string",
                    "maxLength": 3000,
                    "maxGraphemes": 300
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "datetime"
                  },
                  "reply": {
                    "type": "ref",
                    "ref": "#replyRef"
                  },
                  "embed": {
                    "type": "union",
                    "refs": [
                      "#images",
                      "#external"
                    ]
                  },
                  "langs": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "language"
                    },
                    "maxLength": 3
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 640,
                      "maxGraphemes": 64
                    },
                    "maxLength": 8
                  }
                }
              }
            },
            "replyRef": {
              "type": "object",
              "required": [
                "root",
                "parent"
              ],
              "properties": {
                "root": {
                  "type": "ref",
                  "ref": "com.atproto.repo.strongRef"
                },
                "parent": {
                  "type": "ref",
                  "ref": "com.atproto.repo.strongRef"
                }
              }
            },
            "images": {
              "type": "object",
              "required": [
                "images"
              ],
              "properties": {
                "images": {
                  "type": "array",
                  "items": {
                    "type": "ref",
                    "ref": "#imageEmbed"
                  },
                  "maxLength": 4
                }
              }
            },
            "imageEmbed": {
              "type": "object",
              "required": [
                "image",
                "alt"
              ],
              "properties": {
                "image": {
                  "type": "blob",
                  "accept": [
                    "image/*"
                  ],
                  "maxSize": 1000000
                },
                "alt": {
                  "type": "string",
                  "maxLength": 10000,
                  "maxGraphemes": 1000
                }
              }
            },
            "external": {
              "type": "object",
              "required": [
                "external"
              ],
              "properties": {
                "external": {
                  "type": "ref",
                  "ref": "#externalEmbed"
                }
              }
            },
            "externalEmbed": {
              "type": "object",
              "required": [
                "uri",
                "title",
                "description"
              ],
              "properties": {
                "uri": {
                  "type": "string",
                  "format": "uri"
                },
                "title": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "thumb": {
                  "type": "blob",
                  "accept": [
                    "image/*"
                  ],
                  "maxSize": 1000000
                }
              }
            }
          }
        },
        {
          "lexicon": 1,
          "id": "com.atproto.repo.strongRef",
          "defs": {
            "main": {
              "type": "object",
              "required": [
                "uri",
                "cid"
              ],
              "properties": {
                "uri": {
                  "type": "string",
                  "format": "at-uri"
                },
                "cid": {
                  "type": "string",
                  "format": "cid"
                }
              }
            }
          }
        }
      ],
      "ref": "app.bsky.feed.post",
      "kind": "record",
      "value": {
        "text": "Hello world!",
        "createdAt": "2024-01-15T12:00:00.000Z"
      },
      "valid": true
    },
    {
      "name": "e2e-post-valid-with-langs",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "app.bsky.feed.post",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "required": [
                  "text",
                  "createdAt"
                ],
                "properties": {
                  "text": {
                    "type": "string",
                    "maxLength": 3000,
                    "maxGraphemes": 300
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "datetime"
                  },
                  "reply": {
                    "type": "ref",
                    "ref": "#replyRef"
                  },
                  "embed": {
                    "type": "union",
                    "refs": [
                      "#images",
                      "#external"
                    ]
                  },
                  "langs": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "language"
                    },
                    "maxLength": 3
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 640,
                      "maxGraphemes": 64
                    },
                    "maxLength": 8
                  }
                }
              }
            },
            "replyRef": {
              "type": "object",
              "required": [
                "root",
                "parent"
              ],
              "properties": {
                "root": {
                  "type": "ref",
                  "ref": "com.atproto.repo.strongRef"
                },
                "parent": {
                  "type": "ref",
                  "ref": "com.atproto.repo.strongRef"
                }
              }
            },
            "images": {
              "type": "object",
              "required": [
                "images"
              ],
              "properties": {
                "images": {
                  "type": "array",
                  "items": {
                    "type": "ref",
                    "ref": "#imageEmbed"
                  },
                  "maxLength": 4
                }
              }
            },
            "imageEmbed": {
              "type": "object",
              "required": [
                "image",
                "alt"
              ],
              "properties": {
                "image": {
                  "type": "blob",
                  "accept": [
                    "image/*"
                  ],
                  "maxSize": 1000000
                },
                "alt": {
                  "type": "string",
                  "maxLength": 10000,
                  "maxGraphemes": 1000
                }
              }
            },
            "external": {
              "type": "object",
              "required": [
                "external"
              ],
              "properties": {
                "external": {
                  "type": "ref",
                  "ref": "#externalEmbed"
                }
              }
            },
            "externalEmbed": {
              "type": "object",
              "required": [
                "uri",
                "title",
                "description"
              ],
              "properties": {
                "uri": {
                  "type": "string",
                  "format": "uri"
                },
                "title": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "thumb": {
                  "type": "blob",
                  "accept": [
                    "image/*"
                  ],
                  "maxSize": 1000000
                }
              }
            }
          }
        },
        {
          "lexicon": 1,
          "id": "com.atproto.repo.strongRef",
          "defs": {
            "main": {
              "type": "object",
              "required": [
                "uri",
                "cid"
              ],
              "properties": {
                "uri": {
                  "type": "string",
                  "format": "at-uri"
                },
                "cid": {
                  "type": "string",
                  "format": "cid"
                }
              }
            }
          }
        }
      ],
      "ref": "app.bsky.feed.post",
      "kind": "record",
      "value": {
        "text": "Hello world!",
        "createdAt": "2024-01-15T12:00:00.000Z",
        "langs": [
          "en",
          "es"
        ]
      },
      "valid": true
    },
    {
      "name": "e2e-post-valid-with-tags",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "app.bsky.feed.post",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "required": [
                  "text",
                  "createdAt"
                ],
                "properties": {
                  "text": {
                    "type": "string",
                    "maxLength": 3000,
                    "maxGraphemes": 300
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "datetime"
                  },
                  "reply": {
                    "type": "ref",
                    "ref": "#replyRef"
                  },
                  "embed": {
                    "type": "union",
                    "refs": [
                      "#images",
                      "#external"
                    ]
                  },
                  "langs": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "language"
                    },
                    "maxLength": 3
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 640,
                      "maxGraphemes": 64
                    },
                    "maxLength": 8
                  }
                }
              }
            },
            "replyRef": {
              "type": "object",
              "required": [
                "root",
                "parent"
              ],
              "properties": {
                "root": {
                  "type": "ref",
                  "ref": "com.atproto.repo.strongRef"
                },
                "parent": {
                  "type": "ref",
                  "ref": "com.atproto.repo.strongRef"
                }
              }
            },
            "images": {
              "type": "object",
              "required": [
                "images"
              ],
              "properties": {
                "images": {
                  "type": "array",
                  "items": {
                    "type": "ref",
                    "ref": "#imageEmbed"
                  },
                  "maxLength": 4
                }
              }
            },
            "imageEmbed": {
              "type": "object",
              "required": [
                "image",
                "alt"
              ],
              "properties": {
                "image": {
                  "type": "blob",
                  "accept": [
                    "image/*"
                  ],
                  "maxSize": 1000000
                },
                "alt": {
                  "type": "string",
                  "maxLength": 10000,
                  "maxGraphemes": 1000
                }
              }
            },
            "external": {
              "type": "object",
              "required": [
                "external"
              ],
              "properties": {
                "external": {
                  "type": "ref",
                  "ref": "#externalEmbed"
                }
              }
            },
            "externalEmbed": {
              "type": "object",
              "required": [
                "uri",
                "title",
                "description"
              ],
              "properties": {
                "uri": {
                  "type": "string",
                  "format": "uri"
                },
                "title": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "thumb": {
                  "type": "blob",
                  "accept": [
                    "image/*"
                  ],
                  "maxSize": 1000000
                }
              }
            }
          }
        },
        {
          "lexicon": 1,
          "id": "com.atproto.repo.strongRef",
          "defs": {
            "main": {
              "type": "object",
              "required": [
                "uri",
                "cid"
              ],
              "properties": {
                "uri": {
                  "type": "string",
                  "format": "at-uri"
                },
                "cid": {
                  "type": "string",
                  "format": "cid"
                }
              }
            }
          }
        }
      ],
      "ref": "app.bsky.feed.post",
      "kind": "record",
      "value": {
        "text": "Check out this #atproto post!",
        "createdAt": "2024-01-15T12:00:00.000Z",
        "tags": [
          "atproto",
          "bluesky"
        ]
      },
      "valid": true
    },
    {
      "name": "e2e-post-invalid-missing-text",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "app.bsky.feed.post",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "required": [
                  "text",
                  "createdAt"
                ],
                "properties": {
                  "text": {
                    "type": "string",
                    "maxLength": 3000,
                    "maxGraphemes": 300
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "datetime"
                  },
                  "reply": {
                    "type": "ref",
                    "ref": "#replyRef"
                  },
                  "embed": {
                    "type": "union",
                    "refs": [
                      "#images",
                      "#external"
                    ]
                  },
                  "langs": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "language"
                    },
                    "maxLength": 3
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 640,
                      "maxGraphemes": 64
                    },
                    "maxLength": 8
                  }
                }
              }
            },
            "replyRef": {
              "type": "object",
              "required": [
                "root",
                "parent"
              ],
              "properties": {
                "root": {
                  "type": "ref",
                  "ref": "com.atproto.repo.strongRef"
                },
                "parent": {
                  "type": "ref",
                  "ref": "com.atproto.repo.strongRef"
                }
              }
            },
            "images": {
              "type": "object",
              "required": [
                "images"
              ],
              "properties": {
                "images": {
                  "type": "array",
                  "items": {
                    "type": "ref",
                    "ref": "#imageEmbed"
                  },
                  "maxLength": 4
                }
              }
            },
            "imageEmbed": {
              "type": "object",
              "required": [
                "image",
                "alt"
              ],
              "properties": {
                "image": {
                  "type": "blob",
                  "accept": [
                    "image/*"
                  ],
                  "maxSize": 1000000
                },
                "alt": {
                  "type": "string",
                  "maxLength": 10000,
                  "maxGraphemes": 1000
                }
              }
            },
            "external": {
              "type": "object",
              "required": [
                "external"
              ],
              "properties": {
                "external": {
                  "type": "ref",
                  "ref": "#externalEmbed"
                }
              }
            },
            "externalEmbed": {
              "type": "object",
              "required": [
                "uri",
                "title",
                "description"
              ],
              "properties": {
                "uri": {
                  "type": "string",
                  "format": "uri"
                },
                "title": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "thumb": {
                  "type": "blob",
                  "accept": [
                    "image/*"
                  ],
                  "maxSize": 1000000
                }
              }
            }
          }
        },
        {
          "lexicon": 1,
          "id": "com.atproto.repo.strongRef",
          "defs": {
            "main": {
              "type": "object",
              "required": [
                "uri",
                "cid"
              ],
              "properties": {
                "uri": {
                  "type": "string",
                  "format": "at-uri"
                },
                "cid": {
                  "type": "string",
                  "format": "cid"
                }
              }
            }
          }
        }
      ],
      "ref": "app.bsky.feed.post",
      "kind": "record",
      "value": {
        "createdAt": "2024-01-15T12:00:00.000Z"
      },
      "valid": false,
      "error": "Record must have the property \"text\""
    },
    {
      "name": "e2e-post-invalid-missing-createdAt",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "app.bsky.feed.post",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "required": [
                  "text",
                  "createdAt"
                ],
                "properties": {
                  "text": {
                    "type": "string",
                    "maxLength": 3000,
                    "maxGraphemes": 300
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "datetime"
                  },
                  "reply": {
                    "type": "ref",
                    "ref": "#replyRef"
                  },
                  "embed": {
                    "type": "union",
                    "refs": [
                      "#images",
                      "#external"
                    ]
                  },
                  "langs": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "language"
                    },
                    "maxLength": 3
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 640,
                      "maxGraphemes": 64
                    },
                    "maxLength": 8
                  }
                }
              }
            },
            "replyRef": {
              "type": "object",
              "required": [
                "root",
                "parent"
              ],
              "properties": {
                "root": {
                  "type": "ref",
                  "ref": "com.atproto.repo.strongRef"
                },
                "parent": {
                  "type": "ref",
                  "ref": "com.atproto.repo.strongRef"
                }
              }
            },
            "images": {
              "type": "object",
              "required": [
                "images"
              ],
              "properties": {
                "images": {
                  "type": "array",
                  "items": {
                    "type": "ref",
                    "ref": "#imageEmbed"
                  },
                  "maxLength": 4
                }
              }
            },
            "imageEmbed": {
              "type": "object",
              "required": [
                "image",
                "alt"
              ],
              "properties": {
                "image": {
                  "type": "blob",
                  "accept": [
                    "image/*"
                  ],
                  "maxSize": 1000000
                },
                "alt": {
                  "type": "string",
                  "maxLength": 10000,
                  "maxGraphemes": 1000
                }
              }
            },
            "external": {
              "type": "object",
              "required": [
                "external"
              ],
              "properties": {
                "external": {
                  "type": "ref",
                  "ref": "#externalEmbed"
                }
              }
            },
            "externalEmbed": {
              "type": "object",
              "required": [
                "uri",
                "title",
                "description"
              ],
              "properties": {
                "uri": {
                  "type": "string",
                  "format": "uri"
                },
                "title": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "thumb": {
                  "type": "blob",
                  "accept": [
                    "image/*"
                  ],
                  "maxSize": 1000000
                }
              }
            }
          }
        },
        {
          "lexicon": 1,
          "id": "com.atproto.repo.strongRef",
          "defs": {
            "main": {
              "type": "object",
              "required": [
                "uri",
                "cid"
              ],
              "properties": {
                "uri": {
                  "type": "string",
                  "format": "at-uri"
                },
                "cid": {
                  "type": "string",
                  "format": "cid"
                }
              }
            }
          }
        }
      ],
      "ref": "app.bsky.feed.post",
      "kind": "record",
      "value": {
        "text": "Hello world!"
      },
      "valid": false,
      "error": "Record must have the property \"createdAt\""
    },
    {
      "name": "e2e-post-invalid-text-too-long",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "app.bsky.feed.post",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "required": [
                  "text",
                  "createdAt"
                ],
                "properties": {
                  "text": {
                    "type": "string",
                    "maxLength": 3000,
                    "maxGraphemes": 300
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "datetime"
                  },
                  "reply": {
                    "type": "ref",
                    "ref": "#replyRef"
                  },
                  "embed": {
                    "type": "union",
                    "refs": [
                      "#images",
                      "#external"
                    ]
                  },
                  "langs": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "language"
                    },
                    "maxLength": 3
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 640,
                      "maxGraphemes": 64
                    },
                    "maxLength": 8
                  }
                }
              }
            },
            "replyRef": {
              "type": "object",
              "required": [
                "root",
                "parent"
              ],
              "properties": {
                "root": {
                  "type": "ref",
                  "ref": "com.atproto.repo.strongRef"
                },
                "parent": {
                  "type": "ref",
                  "ref": "com.atproto.repo.strongRef"
                }
              }
            },
            "images": {
              "type": "object",
              "required": [
                "images"
              ],
              "properties": {
                "images": {
                  "type": "array",
                  "items": {
                    "type": "ref",
                    "ref": "#imageEmbed"
                  },
                  "maxLength": 4
                }
              }
            },
            "imageEmbed": {
              "type": "object",
              "required": [
                "image",
                "alt"
              ],
              "properties": {
                "image": {
                  "type": "blob",
                  "accept": [
                    "image/*"
                  ],
                  "maxSize": 1000000
                },
                "alt": {
                  "type": "string",
                  "maxLength": 10000,
                  "maxGraphemes": 1000
                }
              }
            },
            "external": {
              "type": "object",
              "required": [
                "external"
              ],
              "properties": {
                "external": {
                  "type": "ref",
                  "ref": "#externalEmbed"
                }
              }
            },
            "externalEmbed": {
              "type": "object",
              "required": [
                "uri",
                "title",
                "description"
              ],
              "properties": {
                "uri": {
                  "type": "string",
                  "format": "uri"
                },
                "title": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "thumb": {
                  "type": "blob",
                  "accept": [
                    "image/*"
                  ],
                  "maxSize": 1000000
                }
              }
            }
          }
        },
        {
          "lexicon": 1,
          "id": "com.atproto.repo.strongRef",
          "defs": {
            "main": {
              "type": "object",
              "required": [
                "uri",
                "cid"
              ],
              "properties": {
                "uri": {
                  "type": "string",
                  "format": "at-uri"
                },
                "cid": {
                  "type": "string",
                  "format": "cid"
                }
              }
            }
          }
        }
      ],
      "ref": "app.bsky.feed.post",
      "kind": "record",
      "value": {
        "text": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
        "createdAt": "2024-01-15T12:00:00.000Z"
      },
      "valid": false,
      "error": "Record/text must not be longer than 3000 characters"
    },
    {
      "name": "e2e-post-invalid-bad-datetime",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "app.bsky.feed.post",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "required": [
                  "text",
                  "createdAt"
                ],
                "properties": {
                  "text": {
                    "type": "string",
                    "maxLength": 3000,
                    "maxGraphemes": 300
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "datetime"
                  },
                  "reply": {
                    "type": "ref",
                    "ref": "#replyRef"
                  },
                  "embed": {
                    "type": "union",
                    "refs": [
                      "#images",
                      "#external"
                    ]
                  },
                  "langs": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "language"
                    },
                    "maxLength": 3
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 640,
                      "maxGraphemes": 64
                    },
                    "maxLength": 8
                  }
                }
              }
            },
            "replyRef": {
              "type": "object",
              "required": [
                "root",
                "parent"
              ],
              "properties": {
                "root": {
                  "type": "ref",
                  "ref": "com.atproto.repo.strongRef"
                },
                "parent": {
                  "type": "ref",
                  "ref": "com.atproto.repo.strongRef"
                }
              }
            },
            "images": {
              "type": "object",
              "required": [
                "images"
              ],
              "properties": {
                "images": {
                  "type": "array",
                  "items": {
                    "type": "ref",
                    "ref": "#imageEmbed"
                  },
                  "maxLength": 4
                }
              }
            },
            "imageEmbed": {
              "type": "object",
              "required": [
                "image",
                "alt"
              ],
              "properties": {
                "image": {
                  "type": "blob",
                  "accept": [
                    "image/*"
                  ],
                  "maxSize": 1000000
                },
                "alt": {
                  "type": "string",
                  "maxLength": 10000,
                  "maxGraphemes": 1000
                }
              }
            },
            "external": {
              "type": "object",
              "required": [
                "external"
              ],
              "properties": {
                "external": {
                  "type": "ref",
                  "ref": "#externalEmbed"
                }
              }
            },
            "externalEmbed": {
              "type": "object",
              "required": [
                "uri",
                "title",
                "description"
              ],
              "properties": {
                "uri": {
                  "type": "string",
                  "format": "uri"
                },
                "title": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "thumb": {
                  "type": "blob",
                  "accept": [
                    "image/*"
                  ],
                  "maxSize": 1000000
                }
              }
            }
          }
        },
        {
          "lexicon": 1,
          "id": "com.atproto.repo.strongRef",
          "defs": {
            "main": {
              "type": "object",
              "required": [
                "uri",
                "cid"
              ],
              "properties": {
                "uri": {
                  "type": "string",
                  "format": "at-uri"
                },
                "cid": {
                  "type": "string",
                  "format": "cid"
                }
              }
            }
          }
        }
      ],
      "ref": "app.bsky.feed.post",
      "kind": "record",
      "value": {
        "text": "Hello world!",
        "createdAt": "not-a-datetime"
      },
      "valid": false,
      "error": "Record/createdAt must be an valid atproto datetime (both RFC-3339 and ISO-8601)"
    },
    {
      "name": "e2e-post-invalid-too-many-langs",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "app.bsky.feed.post",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "required": [
                  "text",
                  "createdAt"
                ],
                "properties": {
                  "text": {
                    "type": "string",
                    "maxLength": 3000,
                    "maxGraphemes": 300
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "datetime"
                  },
                  "reply": {
                    "type": "ref",
                    "ref": "#replyRef"
                  },
                  "embed": {
                    "type": "union",
                    "refs": [
                      "#images",
                      "#external"
                    ]
                  },
                  "langs": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "format": "language"
                    },
                    "maxLength": 3
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string",
                      "maxLength": 640,
                      "maxGraphemes": 64
                    },
                    "maxLength": 8
                  }
                }
              }
            },
            "replyRef": {
              "type": "object",
              "required": [
                "root",
                "parent"
              ],
              "properties": {
                "root": {
                  "type": "ref",
                  "ref": "com.atproto.repo.strongRef"
                },
                "parent": {
                  "type": "ref",
                  "ref": "com.atproto.repo.strongRef"
                }
              }
            },
            "images": {
              "type": "object",
              "required": [
                "images"
              ],
              "properties": {
                "images": {
                  "type": "array",
                  "items": {
                    "type": "ref",
                    "ref": "#imageEmbed"
                  },
                  "maxLength": 4
                }
              }
            },
            "imageEmbed": {
              "type": "object",
              "required": [
                "image",
                "alt"
              ],
              "properties": {
                "image": {
                  "type": "blob",
                  "accept": [
                    "image/*"
                  ],
                  "maxSize": 1000000
                },
                "alt": {
                  "type": "string",
                  "maxLength": 10000,
                  "maxGraphemes": 1000
                }
              }
            },
            "external": {
              "type": "object",
              "required": [
                "external"
              ],
              "properties": {
                "external": {
                  "type": "ref",
                  "ref": "#externalEmbed"
                }
              }
            },
            "externalEmbed": {
              "type": "object",
              "required": [
                "uri",
                "title",
                "description"
              ],
              "properties": {
                "uri": {
                  "type": "string",
                  "format": "uri"
                },
                "title": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "thumb": {
                  "type": "blob",
                  "accept": [
                    "image/*"
                  ],
                  "maxSize": 1000000
                }
              }
            }
          }
        },
        {
          "lexicon": 1,
          "id": "com.atproto.repo.strongRef",
          "defs": {
            "main": {
              "type": "object",
              "required": [
                "uri",
                "cid"
              ],
              "properties": {
                "uri": {
                  "type": "string",
                  "format": "at-uri"
                },
                "cid": {
                  "type": "string",
                  "format": "cid"
                }
              }
            }
          }
        }
      ],
      "ref": "app.bsky.feed.post",
      "kind": "record",
      "value": {
        "text": "Hello world!",
        "createdAt": "2024-01-15T12:00:00.000Z",
        "langs": [
          "en",
          "es",
          "fr",
          "de"
        ]
      },
      "valid": false,
      "error": "Record/langs must not have more than 3 elements"
    },
    {
      "name": "e2e-profile-valid-minimal",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "app.bsky.actor.profile",
          "defs": {
            "main": {
              "type": "record",
              "key": "literal:self",
              "record": {
                "type": "object",
                "properties": {
                  "displayName": {
                    "type": "string",
                    "maxGraphemes": 64,
                    "maxLength": 640
                  },
                  "description": {
                    "type": "string",
                    "maxGraphemes": 256,
                    "maxLength": 2560
                  },
                  "avatar": {
                    "type": "blob",
                    "accept": [
                      "image/png",
                      "image/jpeg"
                    ],
                    "maxSize": 1000000
                  },
                  "banner": {
                    "type": "blob",
                    "accept": [
                      "image/png",
                      "image/jpeg"
                    ],
                    "maxSize": 1000000
                  },
                  "labels": {
                    "type": "union",
                    "refs": [
                      "com.atproto.label.defs#selfLabels"
                    ]
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "datetime"
                  }
                }
              }
            }
          }
        },
        {
          "lexicon": 1,
          "id": "com.atproto.label.defs",
          "defs": {
            "selfLabels": {
              "type": "object",
              "required": [
                "values"
              ],
              "properties": {
                "values": {
                  "type": "array",
                  "items": {
                    "type": "ref",
                    "ref": "#selfLabel"
                  },
                  "maxLength": 10
                }
              }
            },
            "selfLabel": {
              "type": "object",
              "required": [
                "val"
              ],
              "properties": {
                "val": {
                  "type": "string",
                  "maxLength": 128
                }
              }
            }
          }
        }
      ],
      "ref": "app.bsky.actor.profile",
      "kind": "record",
      "value": {},
      "valid": true
    },
    {
      "name": "e2e-profile-valid-with-display-name",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "app.bsky.actor.profile",
          "defs": {
            "main": {
              "type": "record",
              "key": "literal:self",
              "record": {
                "type": "object",
                "properties": {
                  "displayName": {
                    "type": "string",
                    "maxGraphemes": 64,
                    "maxLength": 640
                  },
                  "description": {
                    "type": "string",
                    "maxGraphemes": 256,
                    "maxLength": 2560
                  },
                  "avatar": {
                    "type": "blob",
                    "accept": [
                      "image/png",
                      "image/jpeg"
                    ],
                    "maxSize": 1000000
                  },
                  "banner": {
                    "type": "blob",
                    "accept": [
                      "image/png",
                      "image/jpeg"
                    ],
                    "maxSize": 1000000
                  },
                  "labels": {
                    "type": "union",
                    "refs": [
                      "com.atproto.label.defs#selfLabels"
                    ]
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "datetime"
                  }
                }
              }
            }
          }
        },
        {
          "lexicon": 1,
          "id": "com.atproto.label.defs",
          "defs": {
            "selfLabels": {
              "type": "object",
              "required": [
                "values"
              ],
              "properties": {
                "values": {
                  "type": "array",
                  "items": {
                    "type": "ref",
                    "ref": "#selfLabel"
                  },
                  "maxLength": 10
                }
              }
            },
            "selfLabel": {
              "type": "object",
              "required": [
                "val"
              ],
              "properties": {
                "val": {
                  "type": "string",
                  "maxLength": 128
                }
              }
            }
          }
        }
      ],
      "ref": "app.bsky.actor.profile",
      "kind": "record",
      "value": {
        "displayName": "Alice"
      },
      "valid": true
    },
    {
      "name": "e2e-profile-valid-with-description",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "app.bsky.actor.profile",
          "defs": {
            "main": {
              "type": "record",
              "key": "literal:self",
              "record": {
                "type": "object",
                "properties": {
                  "displayName": {
                    "type": "string",
                    "maxGraphemes": 64,
                    "maxLength": 640
                  },
                  "description": {
                    "type": "string",
                    "maxGraphemes": 256,
                    "maxLength": 2560
                  },
                  "avatar": {
                    "type": "blob",
                    "accept": [
                      "image/png",
                      "image/jpeg"
                    ],
                    "maxSize": 1000000
                  },
                  "banner": {
                    "type": "blob",
                    "accept": [
                      "image/png",
                      "image/jpeg"
                    ],
                    "maxSize": 1000000
                  },
                  "labels": {
                    "type": "union",
                    "refs": [
                      "com.atproto.label.defs#selfLabels"
                    ]
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "datetime"
                  }
                }
              }
            }
          }
        },
        {
          "lexicon": 1,
          "id": "com.atproto.label.defs",
          "defs": {
            "selfLabels": {
              "type": "object",
              "required": [
                "values"
              ],
              "properties": {
                "values": {
                  "type": "array",
                  "items": {
                    "type": "ref",
                    "ref": "#selfLabel"
                  },
                  "maxLength": 10
                }
              }
            },
            "selfLabel": {
              "type": "object",
              "required": [
                "val"
              ],
              "properties": {
                "val": {
                  "type": "string",
                  "maxLength": 128
                }
              }
            }
          }
        }
      ],
      "ref": "app.bsky.actor.profile",
      "kind": "record",
      "value": {
        "displayName": "Alice",
        "description": "Software developer interested in decentralized social networks."
      },
      "valid": true
    },
    {
      "name": "e2e-profile-valid-with-avatar",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "app.bsky.actor.profile",
          "defs": {
            "main": {
              "type": "record",
              "key": "literal:self",
              "record": {
                "type": "object",
                "properties": {
                  "displayName": {
                    "type": "string",
                    "maxGraphemes": 64,
                    "maxLength": 640
                  },
                  "description": {
                    "type": "string",
                    "maxGraphemes": 256,
                    "maxLength": 2560
                  },
                  "avatar": {
                    "type": "blob",
                    "accept": [
                      "image/png",
                      "image/jpeg"
                    ],
                    "maxSize": 1000000
                  },
                  "banner": {
                    "type": "blob",
                    "accept": [
                      "image/png",
                      "image/jpeg"
                    ],
                    "maxSize": 1000000
                  },
                  "labels": {
                    "type": "union",
                    "refs": [
                      "com.atproto.label.defs#selfLabels"
                    ]
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "datetime"
                  }
                }
              }
            }
          }
        },
        {
          "lexicon": 1,
          "id": "com.atproto.label.defs",
          "defs": {
            "selfLabels": {
              "type": "object",
              "required": [
                "values"
              ],
              "properties": {
                "values": {
                  "type": "array",
                  "items": {
                    "type": "ref",
                    "ref": "#selfLabel"
                  },
                  "maxLength": 10
                }
              }
            },
            "selfLabel": {
              "type": "object",
              "required": [
                "val"
              ],
              "properties": {
                "val": {
                  "type": "string",
                  "maxLength": 128
                }
              }
            }
          }
        }
      ],
      "ref": "app.bsky.actor.profile",
      "kind": "record",
      "value": {
        "displayName": "Alice",
        "avatar": {
          "$type": "blob",
          "ref": {
            "$link": "bafkreigh2akiscaildcqabsyg3dfr6chu3fgpregiymsck7e7aqa4s52zy"
          },
          "mimeType": "image/jpeg",
          "size": 50000
        }
      },
      "valid": true
    },
    {
      "name": "e2e-profile-invalid-avatar-wrong-mime",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "app.bsky.actor.profile",
          "defs": {
            "main": {
              "type": "record",
              "key": "literal:self",
              "record": {
                "type": "object",
                "properties": {
                  "displayName": {
                    "type": "string",
                    "maxGraphemes": 64,
                    "maxLength": 640
                  },
                  "description": {
                    "type": "string",
                    "maxGraphemes": 256,
                    "maxLength": 2560
                  },
                  "avatar": {
                    "type": "blob",
                    "accept": [
                      "image/png",
                      "image/jpeg"
                    ],
                    "maxSize": 1000000
                  },
                  "banner": {
                    "type": "blob",
                    "accept": [
                      "image/png",
                      "image/jpeg"
                    ],
                    "maxSize": 1000000
                  },
                  "labels": {
                    "type": "union",
                    "refs": [
                      "com.atproto.label.defs#selfLabels"
                    ]
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "datetime"
                  }
                }
              }
            }
          }
        },
        {
          "lexicon": 1,
          "id": "com.atproto.label.defs",
          "defs": {
            "selfLabels": {
              "type": "object",
              "required": [
                "values"
              ],
              "properties": {
                "values": {
                  "type": "array",
                  "items": {
                    "type": "ref",
                    "ref": "#selfLabel"
                  },
                  "maxLength": 10
                }
              }
            },
            "selfLabel": {
              "type": "object",
              "required": [
                "val"
              ],
              "properties": {
                "val": {
                  "type": "string",
                  "maxLength": 128
                }
              }
            }
          }
        }
      ],
      "ref": "app.bsky.actor.profile",
      "kind": "record",
      "value": {
        "displayName": "Alice",
        "avatar": {
          "$type": "blob",
          "ref": {
            "$link": "bafkreigh2akiscaildcqabsyg3dfr6chu3fgpregiymsck7e7aqa4s52zy"
          },
          "mimeType": "image/gif",
          "size": 50000
        }
      },
      "valid": true
    },
    {
      "name": "e2e-profile-invalid-display-name-too-long",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "app.bsky.actor.profile",
          "defs": {
            "main": {
              "type": "record",
              "key": "literal:self",
              "record": {
                "type": "object",
                "properties": {
                  "displayName": {
                    "type": "string",
                    "maxGraphemes": 64,
                    "maxLength": 640
                  },
                  "description": {
                    "type": "string",
                    "maxGraphemes": 256,
                    "maxLength": 2560
                  },
                  "avatar": {
                    "type": "blob",
                    "accept": [
                      "image/png",
                      "image/jpeg"
                    ],
                    "maxSize": 1000000
                  },
                  "banner": {
                    "type": "blob",
                    "accept": [
                      "image/png",
                      "image/jpeg"
                    ],
                    "maxSize": 1000000
                  },
                  "labels": {
                    "type": "union",
                    "refs": [
                      "com.atproto.label.defs#selfLabels"
                    ]
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "datetime"
                  }
                }
              }
            }
          }
        },
        {
          "lexicon": 1,
          "id": "com.atproto.label.defs",
          "defs": {
            "selfLabels": {
              "type": "object",
              "required": [
                "values"
              ],
              "properties": {
                "values": {
                  "type": "array",
                  "items": {
                    "type": "ref",
                    "ref": "#selfLabel"
                  },
                  "maxLength": 10
                }
              }
            },
            "selfLabel": {
              "type": "object",
              "required": [
                "val"
              ],
              "properties": {
                "val": {
                  "type": "string",
                  "maxLength": 128
                }
              }
            }
          }
        }
      ],
      "ref": "app.bsky.actor.profile",
      "kind": "record",
      "value": {
        "displayName": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
      },
      "valid": false,
      "error": "Record/displayName must not be longer than 640 characters"
    },
    {
      "name": "integration-valid-complex-record",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.integration.complex",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "required": [
                  "title",
                  "tags"
                ],
                "properties": {
                  "title": {
                    "type": "string",
                    "maxLength": 100
                  },
                  "description": {
                    "type": "string"
                  },
                  "tags": {
                    "type": "array",
                    "items": {
                      "type": "string"
                    },
                    "maxLength": 10
                  },
                  "metadata": {
                    "type": "object",
                    "properties": {
                      "views": {
                        "type": "integer"
                      },
                      "published": {
                        "type": "boolean"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.integration.complex",
      "kind": "record",
      "value": {
        "title": "My Post",
        "tags": [
          "tech",
          "gleam"
        ]
      },
      "valid": true
    },
    {
      "name": "integration-invalid-missing-required",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.integration.missingreq",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "required": [
                  "title"
                ],
                "properties": {
                  "title": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.integration.missingreq",
      "kind": "record",
      "value": {
        "description": "No title"
      },
      "valid": false,
      "error": "Record must have the property \"title\""
    },
    {
      "name": "integration-valid-deeply-nested",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.integration.nested",
          "defs": {
            "main": {
              "type": "record",
              "key": "any",
              "record": {
                "type": "object",
                "properties": {
                  "level1": {
                    "type": "object",
                    "properties": {
                      "level2": {
                        "type": "object",
                        "properties": {
                          "level3": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.integration.nested",
      "kind": "record",
      "value": {
        "level1": {
          "level2": {
            "level3": "deep value"
          }
        }
      },
      "valid": true
    },
    {
      "name": "integration-valid-array-of-arrays",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.integration.matrix",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "matrix": {
                    "type": "array",
                    "items": {
                      "type": "array",
                      "items": {
                        "type": "integer"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.integration.matrix",
      "kind": "record",
      "value": {
        "matrix": [
          [
            1,
            2
          ],
          [
            3,
            4
          ]
        ]
      },
      "valid": true
    },
    {
      "name": "integration-invalid-nested-missing-required",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.integration.nestedreq",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "title": {
                    "type": "string"
                  },
                  "metadata": {
                    "type": "object",
                    "required": [
                      "author"
                    ],
                    "properties": {
                      "author": {
                        "type": "string"
                      },
                      "tags": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.integration.nestedreq",
      "kind": "record",
      "value": {
        "title": "My Post",
        "metadata": {
          "tags": "tech"
        }
      },
      "valid": false,
      "error": "Record/metadata must have the property \"author\""
    },
    {
      "name": "own-valid-utf8-bytes-within",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "string",
                    "maxLength": 6
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": "ééé"
      },
      "valid": true
    },
    {
      "name": "own-invalid-utf8-bytes-over",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "string",
                    "maxLength": 5
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": "ééé"
      },
      "valid": false,
      "error": "Record/v must not be longer than 5 characters"
    },
    {
      "name": "own-invalid-utf8-bytes-under",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "string",
                    "minLength": 4
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": "éa"
      },
      "valid": false,
      "error": "Record/v must not be shorter than 4 characters"
    },
    {
      "name": "own-valid-graphemes-emoji",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "string",
                    "maxGraphemes": 2
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": "👨‍👩‍👧‍👦🏳️‍🌈"
      },
      "valid": true
    },
    {
      "name": "own-invalid-graphemes-emoji",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "string",
                    "maxGraphemes": 1
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": "👨‍👩‍👧‍👦🏳️‍🌈"
      },
      "valid": false,
      "error": "Record/v must not be longer than 1 graphemes"
    },
    {
      "name": "own-valid-graphemes-min",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "string",
                    "minGraphemes": 2
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": "éa"
      },
      "valid": true
    },
    {
      "name": "own-invalid-graphemes-min-combining",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "string",
                    "minGraphemes": 2
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": "é"
      },
      "valid": false,
      "error": "Record/v must not be shorter than 2 graphemes"
    },
    {
      "name": "own-valid-string-const",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "string",
                    "const": "x"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": "x"
      },
      "valid": true
    },
    {
      "name": "own-invalid-string-const",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "string",
                    "const": "x"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": "y"
      },
      "valid": false,
      "error": "Record/v must be x"
    },
    {
      "name": "own-valid-integer-const",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "integer",
                    "const": 3
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": 3
      },
      "valid": true
    },
    {
      "name": "own-invalid-integer-const",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "integer",
                    "const": 3
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": 4
      },
      "valid": false,
      "error": "Record/v must be 3"
    },
    {
      "name": "own-valid-integer-enum",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "integer",
                    "enum": [
                      1,
                      2
                    ]
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": 2
      },
      "valid": true
    },
    {
      "name": "own-invalid-integer-enum",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "integer",
                    "enum": [
                      1,
                      2
                    ]
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": 5
      },
      "valid": false,
      "error": "Record/v must be one of (1|2)"
    },
    {
      "name": "own-invalid-integer-above",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "integer",
                    "maximum": 10
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": 11
      },
      "valid": false,
      "error": "Record/v can not be greater than 10"
    },
    {
      "name": "own-invalid-integer-float",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "integer"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": 1.5
      },
      "valid": false,
      "error": "Record/v must be an integer"
    },
    {
      "name": "own-valid-boolean-const",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "boolean",
                    "const": true
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": true
      },
      "valid": true
    },
    {
      "name": "own-invalid-boolean-const",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "boolean",
                    "const": true
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": false
      },
      "valid": false,
      "error": "Record/v must be true"
    },
    {
      "name": "own-invalid-boolean-string",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": "true"
      },
      "valid": false,
      "error": "Record/v must be a boolean"
    },
    {
      "name": "own-valid-known-values-not-enforced",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "string",
                    "knownValues": [
                      "a"
                    ]
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": "b"
      },
      "valid": true
    },
    {
      "name": "own-invalid-array-too-long",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    },
                    "maxLength": 1
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": [
          1,
          2
        ]
      },
      "valid": false,
      "error": "Record/v must not have more than 1 elements"
    },
    {
      "name": "own-invalid-array-too-short",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    },
                    "minLength": 2
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": [
          1
        ]
      },
      "valid": false,
      "error": "Record/v must not have fewer than 2 elements"
    },
    {
      "name": "own-invalid-array-item",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "array",
                    "items": {
                      "type": "integer"
                    }
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": [
          1,
          "x"
        ]
      },
      "valid": false,
      "error": "Record/v/1 must be an integer"
    },
    {
      "name": "own-valid-nullable",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "string"
                  }
                },
                "nullable": [
                  "v"
                ]
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": null
      },
      "valid": true
    },
    {
      "name": "own-invalid-null-not-nullable",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": null
      },
      "valid": false,
      "error": "Record/v must be a string"
    },
    {
      "name": "own-invalid-required-missing",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "string"
                  }
                },
                "required": [
                  "v"
                ]
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {},
      "valid": false,
      "error": "Record must have the property \"v\""
    },
    {
      "name": "own-invalid-required-null",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "string"
                  }
                },
                "required": [
                  "v"
                ]
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": null
      },
      "valid": false,
      "error": "Record/v must be a string"
    },
    {
      "name": "own-valid-required-null-nullable",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "string"
                  }
                },
                "required": [
                  "v"
                ],
                "nullable": [
                  "v"
                ]
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": null
      },
      "valid": true
    },
    {
      "name": "own-valid-unknown-array",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "unknown"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": [
          1
        ]
      },
      "valid": true
    },
    {
      "name": "own-valid-unknown-bytes",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "unknown"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": {
          "$bytes": "AAEC"
        }
      },
      "valid": true
    },
    {
      "name": "own-valid-bytes",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "bytes",
                    "maxLength": 3
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": {
          "$bytes": "AAEC"
        }
      },
      "valid": true
    },
    {
      "name": "own-invalid-bytes-too-long",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "bytes",
                    "maxLength": 2
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": {
          "$bytes": "AAEC"
        }
      },
      "valid": false,
      "error": "Record/v must not be larger than 2 bytes"
    },
    {
      "name": "own-invalid-bytes-extra-field",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "bytes"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": {
          "$bytes": "AAEC",
          "x": 1
        }
      },
      "valid": false,
      "error": "Record/v must be a byte array"
    },
    {
      "name": "own-valid-bytes-padded",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "bytes"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": {
          "$bytes": "AAE="
        }
      },
      "valid": true
    },
    {
      "name": "own-valid-cid-link-raw",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "cid-link"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": {
          "$link": "bafkreie5737gdxlw5i64vzichcalba3z2v5n6icifvx5xytvske7mr3hpm"
        }
      },
      "valid": true
    },
    {
      "name": "own-invalid-cid-link-extra-field",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "cid-link"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": {
          "$link": "bafkreie5737gdxlw5i64vzichcalba3z2v5n6icifvx5xytvske7mr3hpm",
          "x": 1
        }
      },
      "valid": false,
      "error": "Record/v must be a CID"
    },
    {
      "name": "own-invalid-cid-link-string",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "cid-link"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": "bafkreie5737gdxlw5i64vzichcalba3z2v5n6icifvx5xytvske7mr3hpm"
      },
      "valid": false,
      "error": "Record/v must be a CID"
    },
    {
      "name": "own-invalid-cid-link-truncated",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "cid-link"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": {
          "$link": "bafkreie5737gdxlw5i64vzichcalba3z2v5n6icifvx5xytvske7mr"
        }
      },
      "valid": false,
      "error": "Record/v must be a CID"
    },
    {
      "name": "own-valid-cid-link-v0",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "cid-link"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": {
          "$link": "QmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnR"
        }
      },
      "valid": true
    },
    {
      "name": "own-valid-blob",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "blob"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": {
          "$type": "blob",
          "ref": {
            "$link": "bafkreie5737gdxlw5i64vzichcalba3z2v5n6icifvx5xytvske7mr3hpm"
          },
          "mimeType": "image/png",
          "size": 10
        }
      },
      "valid": true
    },
    {
      "name": "own-valid-blob-cbor-cid",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "blob"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": {
          "$type": "blob",
          "ref": {
            "$link": "bafyreie5737gdxlw5i64vzichcalba3z2v5n6icifvx5xytvske7mr3hpm"
          },
          "mimeType": "image/png",
          "size": 10
        }
      },
      "valid": true
    },
    {
      "name": "own-valid-blob-legacy",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "blob"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": {
          "cid": "bafkreie5737gdxlw5i64vzichcalba3z2v5n6icifvx5xytvske7mr3hpm",
          "mimeType": "image/png"
        }
      },
      "valid": true
    },
    {
      "name": "own-invalid-blob-extra-field",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "blob"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": {
          "$type": "blob",
          "ref": {
            "$link": "bafkreie5737gdxlw5i64vzichcalba3z2v5n6icifvx5xytvske7mr3hpm"
          },
          "mimeType": "image/png",
          "size": 10,
          "x": 1
        }
      },
      "valid": false,
      "error": "Record/v should be a blob ref"
    },
    {
      "name": "own-invalid-blob-ref-string",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "blob"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": {
          "$type": "blob",
          "ref": "bafkreie5737gdxlw5i64vzichcalba3z2v5n6icifvx5xytvske7mr3hpm",
          "mimeType": "image/png",
          "size": 10
        }
      },
      "valid": false,
      "error": "Record/v should be a blob ref"
    },
    {
      "name": "own-invalid-blob-size-string",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "blob"
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": {
          "$type": "blob",
          "ref": {
            "$link": "bafkreie5737gdxlw5i64vzichcalba3z2v5n6icifvx5xytvske7mr3hpm"
          },
          "mimeType": "image/png",
          "size": "10"
        }
      },
      "valid": false,
      "error": "Record/v should be a blob ref"
    },
    {
      "name": "own-invalid-token-field",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.case",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "ref",
                    "ref": "test.own.tokens#t"
                  }
                }
              }
            }
          }
        },
        {
          "lexicon": 1,
          "id": "test.own.tokens",
          "defs": {
            "main": {
              "type": "token",
              "description": "unused"
            },
            "t": {
              "type": "token"
            }
          }
        }
      ],
      "ref": "test.own.case",
      "kind": "record",
      "value": {
        "v": "test.own.tokens#t"
      },
      "valid": false,
      "error": "Unexpected lexicon type: token"
    },
    {
      "name": "own-valid-open-union-unlisted-type",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.union",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "union",
                    "refs": [
                      "#a"
                    ]
                  }
                }
              }
            },
            "a": {
              "type": "object",
              "properties": {
                "x": {
                  "type": "integer"
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.union",
      "kind": "record",
      "value": {
        "v": {
          "$type": "test.own.other#b",
          "x": "not checked"
        }
      },
      "valid": true
    },
    {
      "name": "own-invalid-union-member",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.union",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "union",
                    "refs": [
                      "#a"
                    ]
                  }
                }
              }
            },
            "a": {
              "type": "object",
              "properties": {
                "x": {
                  "type": "integer"
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.union",
      "kind": "record",
      "value": {
        "v": {
          "$type": "test.own.union#a",
          "x": "no"
        }
      },
      "valid": false,
      "error": "Record/v/x must be an integer"
    },
    {
      "name": "own-valid-union-main-by-nsid",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.union",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "union",
                    "refs": [
                      "test.own.member"
                    ]
                  }
                }
              }
            }
          }
        },
        {
          "lexicon": 1,
          "id": "test.own.member",
          "defs": {
            "main": {
              "type": "object",
              "properties": {
                "x": {
                  "type": "integer"
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.union",
      "kind": "record",
      "value": {
        "v": {
          "$type": "test.own.member#main",
          "x": 1
        }
      },
      "valid": true
    },
    {
      "name": "own-invalid-closed-union",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.union",
          "defs": {
            "main": {
              "type": "record",
              "key": "tid",
              "record": {
                "type": "object",
                "properties": {
                  "v": {
                    "type": "union",
                    "refs": [
                      "#a"
                    ],
                    "closed": true
                  }
                }
              }
            },
            "a": {
              "type": "object",
              "properties": {}
            }
          }
        }
      ],
      "ref": "test.own.union",
      "kind": "record",
      "value": {
        "v": {
          "$type": "test.own.union#b"
        }
      },
      "valid": false,
      "error": "Record/v $type must be one of lex:test.own.union#a"
    },
    {
      "name": "own-valid-object-def",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.object",
          "defs": {
            "main": {
              "type": "object",
              "required": [
                "x"
              ],
              "properties": {
                "x": {
                  "type": "integer"
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.object",
      "kind": "record",
      "value": {
        "x": 1
      },
      "valid": true
    },
    {
      "name": "own-invalid-input-path",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.call",
          "defs": {
            "main": {
              "type": "procedure",
              "input": {
                "encoding": "application/json",
                "schema": {
                  "type": "ref",
                  "ref": "#body"
                }
              }
            },
            "body": {
              "type": "object",
              "properties": {
                "roles": {
                  "type": "array",
                  "items": {
                    "type": "ref",
                    "ref": "#role"
                  }
                }
              }
            },
            "role": {
              "type": "object",
              "required": [
                "role"
              ],
              "properties": {
                "role": {
                  "type": "string",
                  "maxLength": 3
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.call",
      "kind": "input",
      "value": {
        "roles": [
          {
            "role": "a"
          },
          {
            "role": "b"
          },
          {
            "role": "long"
          }
        ]
      },
      "valid": false,
      "error": "Input/roles/2/role must not be longer than 3 characters"
    },
    {
      "name": "own-invalid-params-array-item",
      "lexicons": [
        {
          "lexicon": 1,
          "id": "test.own.query",
          "defs": {
            "main": {
              "type": "query",
              "parameters": {
                "type": "params",
                "properties": {
                  "n": {
                    "type": "array",
                    "items": {
                      "type": "integer",
                      "maximum": 3
                    }
                  }
                }
              }
            }
          }
        }
      ],
      "ref": "test.own.query",
      "kind": "params",
      "value": {
        "n": [
          1,
          4
        ]
      },
      "valid": false,
      "error": "n/1 can not be greater than 3"
    }
  ]
}