{ "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" } ] }