@hypercerts-org/lexicon 0.10.0-beta.9 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +907 -0
- package/README.md +420 -168
- package/SCHEMAS.md +897 -142
- package/dist/exports.d.ts +1876 -453
- package/dist/exports.d.ts.map +1 -1
- package/dist/generated/exports.d.ts +1876 -453
- package/dist/generated/exports.d.ts.map +1 -1
- package/dist/generated/lexicons.d.ts +3709 -1113
- package/dist/generated/lexicons.d.ts.map +1 -1
- package/dist/generated/types/app/bsky/richtext/facet.d.ts +44 -7
- package/dist/generated/types/app/bsky/richtext/facet.d.ts.map +1 -1
- package/dist/generated/types/app/certified/actor/organization.d.ts +32 -0
- package/dist/generated/types/app/certified/actor/organization.d.ts.map +1 -0
- package/dist/generated/types/app/certified/actor/profile.d.ts +30 -0
- package/dist/generated/types/app/certified/actor/profile.d.ts.map +1 -0
- package/dist/generated/types/app/certified/badge/award.d.ts +4 -3
- package/dist/generated/types/app/certified/badge/award.d.ts.map +1 -1
- package/dist/generated/types/app/certified/badge/definition.d.ts +3 -3
- package/dist/generated/types/app/certified/badge/definition.d.ts.map +1 -1
- package/dist/generated/types/app/certified/badge/response.d.ts +3 -3
- package/dist/generated/types/app/certified/badge/response.d.ts.map +1 -1
- package/dist/generated/types/app/certified/defs.d.ts +11 -1
- package/dist/generated/types/app/certified/defs.d.ts.map +1 -1
- package/dist/generated/types/app/certified/link/evm.d.ts +45 -0
- package/dist/generated/types/app/certified/link/evm.d.ts.map +1 -0
- package/dist/generated/types/app/certified/location.d.ts +13 -5
- package/dist/generated/types/app/certified/location.d.ts.map +1 -1
- package/dist/generated/types/org/hyperboards/board.d.ts +75 -0
- package/dist/generated/types/org/hyperboards/board.d.ts.map +1 -0
- package/dist/generated/types/org/hyperboards/displayProfile.d.ts +31 -0
- package/dist/generated/types/org/hyperboards/displayProfile.d.ts.map +1 -0
- package/dist/generated/types/org/hypercerts/claim/activity.d.ts +33 -11
- package/dist/generated/types/org/hypercerts/claim/activity.d.ts.map +1 -1
- package/dist/generated/types/org/hypercerts/claim/{contributionDetails.d.ts → contribution.d.ts} +6 -6
- package/dist/generated/types/org/hypercerts/claim/contribution.d.ts.map +1 -0
- package/dist/generated/types/org/hypercerts/claim/contributorInformation.d.ts +2 -2
- package/dist/generated/types/org/hypercerts/claim/contributorInformation.d.ts.map +1 -1
- package/dist/generated/types/org/hypercerts/claim/rights.d.ts +3 -3
- package/dist/generated/types/org/hypercerts/claim/rights.d.ts.map +1 -1
- package/dist/generated/types/org/hypercerts/collection.d.ts +48 -0
- package/dist/generated/types/org/hypercerts/collection.d.ts.map +1 -0
- package/dist/generated/types/org/hypercerts/context/acknowledgement.d.ts +25 -0
- package/dist/generated/types/org/hypercerts/context/acknowledgement.d.ts.map +1 -0
- package/dist/generated/types/org/hypercerts/context/attachment.d.ts +37 -0
- package/dist/generated/types/org/hypercerts/context/attachment.d.ts.map +1 -0
- package/dist/{types/org/hypercerts/claim → generated/types/org/hypercerts/context}/evaluation.d.ts +15 -15
- package/dist/generated/types/org/hypercerts/context/evaluation.d.ts.map +1 -0
- package/dist/generated/types/org/hypercerts/context/measurement.d.ts +43 -0
- package/dist/generated/types/org/hypercerts/context/measurement.d.ts.map +1 -0
- package/dist/generated/types/org/hypercerts/defs.d.ts +19 -44
- package/dist/generated/types/org/hypercerts/defs.d.ts.map +1 -1
- package/dist/generated/types/org/hypercerts/funding/receipt.d.ts +18 -6
- package/dist/generated/types/org/hypercerts/funding/receipt.d.ts.map +1 -1
- package/dist/generated/types/org/hypercerts/workscope/cel.d.ts +20 -0
- package/dist/generated/types/org/hypercerts/workscope/cel.d.ts.map +1 -0
- package/dist/generated/types/org/hypercerts/workscope/tag.d.ts +36 -0
- package/dist/generated/types/org/hypercerts/workscope/tag.d.ts.map +1 -0
- package/dist/generated/types/pub/leaflet/blocks/blockquote.d.ts +13 -0
- package/dist/generated/types/pub/leaflet/blocks/blockquote.d.ts.map +1 -0
- package/dist/generated/types/pub/leaflet/blocks/bskyPost.d.ts +13 -0
- package/dist/generated/types/pub/leaflet/blocks/bskyPost.d.ts.map +1 -0
- package/dist/generated/types/pub/leaflet/blocks/button.d.ts +12 -0
- package/dist/generated/types/pub/leaflet/blocks/button.d.ts.map +1 -0
- package/dist/generated/types/pub/leaflet/blocks/code.d.ts +13 -0
- package/dist/generated/types/pub/leaflet/blocks/code.d.ts.map +1 -0
- package/dist/generated/types/pub/leaflet/blocks/header.d.ts +14 -0
- package/dist/generated/types/pub/leaflet/blocks/header.d.ts.map +1 -0
- package/dist/generated/types/pub/leaflet/blocks/horizontalRule.d.ts +10 -0
- package/dist/generated/types/pub/leaflet/blocks/horizontalRule.d.ts.map +1 -0
- package/dist/generated/types/pub/leaflet/blocks/iframe.d.ts +12 -0
- package/dist/generated/types/pub/leaflet/blocks/iframe.d.ts.map +1 -0
- package/dist/generated/types/pub/leaflet/blocks/image.d.ts +21 -0
- package/dist/generated/types/pub/leaflet/blocks/image.d.ts.map +1 -0
- package/dist/generated/types/pub/leaflet/blocks/math.d.ts +11 -0
- package/dist/generated/types/pub/leaflet/blocks/math.d.ts.map +1 -0
- package/dist/generated/types/pub/leaflet/blocks/orderedList.d.ts +31 -0
- package/dist/generated/types/pub/leaflet/blocks/orderedList.d.ts.map +1 -0
- package/dist/generated/types/pub/leaflet/blocks/page.d.ts +11 -0
- package/dist/generated/types/pub/leaflet/blocks/page.d.ts.map +1 -0
- package/dist/generated/types/pub/leaflet/blocks/poll.d.ts +12 -0
- package/dist/generated/types/pub/leaflet/blocks/poll.d.ts.map +1 -0
- package/dist/generated/types/pub/leaflet/blocks/text.d.ts +14 -0
- package/dist/generated/types/pub/leaflet/blocks/text.d.ts.map +1 -0
- package/dist/generated/types/pub/leaflet/blocks/unorderedList.d.ts +29 -0
- package/dist/generated/types/pub/leaflet/blocks/unorderedList.d.ts.map +1 -0
- package/dist/generated/types/pub/leaflet/blocks/website.d.ts +14 -0
- package/dist/generated/types/pub/leaflet/blocks/website.d.ts.map +1 -0
- package/dist/generated/types/pub/leaflet/pages/linearDocument.d.ts +54 -1
- package/dist/generated/types/pub/leaflet/pages/linearDocument.d.ts.map +1 -1
- package/dist/generated/types/pub/leaflet/richtext/facet.d.ts +97 -0
- package/dist/generated/types/pub/leaflet/richtext/facet.d.ts.map +1 -0
- package/dist/index.cjs +5682 -1668
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +5554 -1640
- package/dist/index.mjs.map +1 -1
- package/dist/lexicons.cjs +1846 -419
- package/dist/lexicons.cjs.map +1 -1
- package/dist/lexicons.d.ts +3709 -1113
- package/dist/lexicons.d.ts.map +1 -1
- package/dist/lexicons.mjs +1846 -419
- package/dist/lexicons.mjs.map +1 -1
- package/dist/tests/validate-external-lexicons.test.d.ts +2 -0
- package/dist/tests/validate-external-lexicons.test.d.ts.map +1 -0
- package/dist/tests/validate-funding-receipt.test.d.ts +2 -0
- package/dist/tests/validate-funding-receipt.test.d.ts.map +1 -0
- package/dist/tests/validate-link-evm.test.d.ts +2 -0
- package/dist/tests/validate-link-evm.test.d.ts.map +1 -0
- package/dist/tests/validate-rights.test.d.ts +2 -0
- package/dist/tests/validate-rights.test.d.ts.map +1 -0
- package/dist/types/app/bsky/richtext/facet.d.ts +44 -7
- package/dist/types/app/bsky/richtext/facet.d.ts.map +1 -1
- package/dist/types/app/certified/actor/organization.d.ts +32 -0
- package/dist/types/app/certified/actor/organization.d.ts.map +1 -0
- package/dist/types/app/certified/actor/profile.d.ts +30 -0
- package/dist/types/app/certified/actor/profile.d.ts.map +1 -0
- package/dist/types/app/certified/badge/award.d.ts +4 -3
- package/dist/types/app/certified/badge/award.d.ts.map +1 -1
- package/dist/types/app/certified/badge/definition.d.ts +3 -3
- package/dist/types/app/certified/badge/definition.d.ts.map +1 -1
- package/dist/types/app/certified/badge/response.d.ts +3 -3
- package/dist/types/app/certified/badge/response.d.ts.map +1 -1
- package/dist/types/app/certified/defs.d.ts +11 -1
- package/dist/types/app/certified/defs.d.ts.map +1 -1
- package/dist/types/app/certified/link/evm.d.ts +45 -0
- package/dist/types/app/certified/link/evm.d.ts.map +1 -0
- package/dist/types/app/certified/location.d.ts +13 -5
- package/dist/types/app/certified/location.d.ts.map +1 -1
- package/dist/types/org/hyperboards/board.d.ts +75 -0
- package/dist/types/org/hyperboards/board.d.ts.map +1 -0
- package/dist/types/org/hyperboards/displayProfile.d.ts +31 -0
- package/dist/types/org/hyperboards/displayProfile.d.ts.map +1 -0
- package/dist/types/org/hypercerts/claim/activity.d.ts +33 -11
- package/dist/types/org/hypercerts/claim/activity.d.ts.map +1 -1
- package/dist/types/org/hypercerts/claim/{contributionDetails.d.ts → contribution.d.ts} +6 -6
- package/dist/types/org/hypercerts/claim/contribution.d.ts.map +1 -0
- package/dist/types/org/hypercerts/claim/contributorInformation.d.ts +2 -2
- package/dist/types/org/hypercerts/claim/contributorInformation.d.ts.map +1 -1
- package/dist/types/org/hypercerts/claim/rights.d.ts +3 -3
- package/dist/types/org/hypercerts/claim/rights.d.ts.map +1 -1
- package/dist/types/org/hypercerts/collection.d.ts +48 -0
- package/dist/types/org/hypercerts/collection.d.ts.map +1 -0
- package/dist/types/org/hypercerts/context/acknowledgement.d.ts +25 -0
- package/dist/types/org/hypercerts/context/acknowledgement.d.ts.map +1 -0
- package/dist/types/org/hypercerts/context/attachment.d.ts +37 -0
- package/dist/types/org/hypercerts/context/attachment.d.ts.map +1 -0
- package/dist/{generated/types/org/hypercerts/claim → types/org/hypercerts/context}/evaluation.d.ts +15 -15
- package/dist/types/org/hypercerts/context/evaluation.d.ts.map +1 -0
- package/dist/types/org/hypercerts/context/measurement.d.ts +43 -0
- package/dist/types/org/hypercerts/context/measurement.d.ts.map +1 -0
- package/dist/types/org/hypercerts/defs.d.ts +19 -44
- package/dist/types/org/hypercerts/defs.d.ts.map +1 -1
- package/dist/types/org/hypercerts/funding/receipt.d.ts +18 -6
- package/dist/types/org/hypercerts/funding/receipt.d.ts.map +1 -1
- package/dist/types/org/hypercerts/workscope/cel.d.ts +20 -0
- package/dist/types/org/hypercerts/workscope/cel.d.ts.map +1 -0
- package/dist/types/org/hypercerts/workscope/tag.d.ts +36 -0
- package/dist/types/org/hypercerts/workscope/tag.d.ts.map +1 -0
- package/dist/types/pub/leaflet/blocks/blockquote.d.ts +13 -0
- package/dist/types/pub/leaflet/blocks/blockquote.d.ts.map +1 -0
- package/dist/types/pub/leaflet/blocks/bskyPost.d.ts +13 -0
- package/dist/types/pub/leaflet/blocks/bskyPost.d.ts.map +1 -0
- package/dist/types/pub/leaflet/blocks/button.d.ts +12 -0
- package/dist/types/pub/leaflet/blocks/button.d.ts.map +1 -0
- package/dist/types/pub/leaflet/blocks/code.d.ts +13 -0
- package/dist/types/pub/leaflet/blocks/code.d.ts.map +1 -0
- package/dist/types/pub/leaflet/blocks/header.d.ts +14 -0
- package/dist/types/pub/leaflet/blocks/header.d.ts.map +1 -0
- package/dist/types/pub/leaflet/blocks/horizontalRule.d.ts +10 -0
- package/dist/types/pub/leaflet/blocks/horizontalRule.d.ts.map +1 -0
- package/dist/types/pub/leaflet/blocks/iframe.d.ts +12 -0
- package/dist/types/pub/leaflet/blocks/iframe.d.ts.map +1 -0
- package/dist/types/pub/leaflet/blocks/image.d.ts +21 -0
- package/dist/types/pub/leaflet/blocks/image.d.ts.map +1 -0
- package/dist/types/pub/leaflet/blocks/math.d.ts +11 -0
- package/dist/types/pub/leaflet/blocks/math.d.ts.map +1 -0
- package/dist/types/pub/leaflet/blocks/orderedList.d.ts +31 -0
- package/dist/types/pub/leaflet/blocks/orderedList.d.ts.map +1 -0
- package/dist/types/pub/leaflet/blocks/page.d.ts +11 -0
- package/dist/types/pub/leaflet/blocks/page.d.ts.map +1 -0
- package/dist/types/pub/leaflet/blocks/poll.d.ts +12 -0
- package/dist/types/pub/leaflet/blocks/poll.d.ts.map +1 -0
- package/dist/types/pub/leaflet/blocks/text.d.ts +14 -0
- package/dist/types/pub/leaflet/blocks/text.d.ts.map +1 -0
- package/dist/types/pub/leaflet/blocks/unorderedList.d.ts +29 -0
- package/dist/types/pub/leaflet/blocks/unorderedList.d.ts.map +1 -0
- package/dist/types/pub/leaflet/blocks/website.d.ts +14 -0
- package/dist/types/pub/leaflet/blocks/website.d.ts.map +1 -0
- package/dist/types/pub/leaflet/pages/linearDocument.d.ts +54 -1
- package/dist/types/pub/leaflet/pages/linearDocument.d.ts.map +1 -1
- package/dist/types/pub/leaflet/richtext/facet.d.ts +97 -0
- package/dist/types/pub/leaflet/richtext/facet.d.ts.map +1 -0
- package/lexicons/app/bsky/richtext/facet.json +51 -0
- package/lexicons/app/certified/actor/organization.json +70 -0
- package/lexicons/app/certified/actor/profile.json +61 -0
- package/lexicons/app/certified/badge/award.json +10 -3
- package/lexicons/app/certified/badge/definition.json +17 -4
- package/lexicons/app/certified/badge/response.json +5 -4
- package/lexicons/app/certified/defs.json +11 -3
- package/lexicons/app/certified/link/evm.json +88 -0
- package/lexicons/app/certified/location.json +29 -6
- package/lexicons/org/hyperboards/board.json +152 -0
- package/lexicons/org/hyperboards/displayProfile.json +64 -0
- package/lexicons/org/hypercerts/claim/activity.json +61 -39
- package/lexicons/org/hypercerts/claim/{contributionDetails.json → contribution.json} +4 -4
- package/lexicons/org/hypercerts/claim/contributorInformation.json +3 -2
- package/lexicons/org/hypercerts/claim/rights.json +5 -3
- package/lexicons/org/hypercerts/{claim/collection.json → collection.json} +33 -11
- package/lexicons/org/hypercerts/context/acknowledgement.json +42 -0
- package/lexicons/org/hypercerts/context/attachment.json +88 -0
- package/lexicons/org/hypercerts/{claim → context}/evaluation.json +25 -22
- package/lexicons/org/hypercerts/context/measurement.json +107 -0
- package/lexicons/org/hypercerts/defs.json +35 -89
- package/lexicons/org/hypercerts/funding/receipt.json +40 -14
- package/lexicons/org/hypercerts/workscope/cel.json +39 -0
- package/lexicons/org/hypercerts/workscope/tag.json +87 -0
- package/lexicons/pub/leaflet/blocks/blockquote.json +22 -0
- package/lexicons/pub/leaflet/blocks/bskyPost.json +19 -0
- package/lexicons/pub/leaflet/blocks/button.json +19 -0
- package/lexicons/pub/leaflet/blocks/code.json +21 -0
- package/lexicons/pub/leaflet/blocks/header.json +27 -0
- package/lexicons/pub/leaflet/blocks/horizontalRule.json +11 -0
- package/lexicons/pub/leaflet/blocks/iframe.json +21 -0
- package/lexicons/pub/leaflet/blocks/image.json +37 -0
- package/lexicons/pub/leaflet/blocks/math.json +15 -0
- package/lexicons/pub/leaflet/blocks/orderedList.json +54 -0
- package/lexicons/pub/leaflet/blocks/page.json +15 -0
- package/lexicons/pub/leaflet/blocks/poll.json +16 -0
- package/lexicons/pub/leaflet/blocks/text.json +26 -0
- package/lexicons/pub/leaflet/blocks/unorderedList.json +50 -0
- package/lexicons/pub/leaflet/blocks/website.json +27 -0
- package/lexicons/pub/leaflet/pages/linearDocument.json +98 -0
- package/lexicons/pub/leaflet/richtext/facet.json +149 -0
- package/package.json +4 -5
- package/dist/generated/types/org/hypercerts/claim/collection.d.ts +0 -41
- package/dist/generated/types/org/hypercerts/claim/collection.d.ts.map +0 -1
- package/dist/generated/types/org/hypercerts/claim/contributionDetails.d.ts.map +0 -1
- package/dist/generated/types/org/hypercerts/claim/evaluation.d.ts.map +0 -1
- package/dist/generated/types/org/hypercerts/claim/evidence.d.ts +0 -29
- package/dist/generated/types/org/hypercerts/claim/evidence.d.ts.map +0 -1
- package/dist/generated/types/org/hypercerts/claim/measurement.d.ts +0 -30
- package/dist/generated/types/org/hypercerts/claim/measurement.d.ts.map +0 -1
- package/dist/generated/types/org/hypercerts/helper/workScopeTag.d.ts +0 -31
- package/dist/generated/types/org/hypercerts/helper/workScopeTag.d.ts.map +0 -1
- package/dist/types/org/hypercerts/claim/collection.d.ts +0 -41
- package/dist/types/org/hypercerts/claim/collection.d.ts.map +0 -1
- package/dist/types/org/hypercerts/claim/contributionDetails.d.ts.map +0 -1
- package/dist/types/org/hypercerts/claim/evaluation.d.ts.map +0 -1
- package/dist/types/org/hypercerts/claim/evidence.d.ts +0 -29
- package/dist/types/org/hypercerts/claim/evidence.d.ts.map +0 -1
- package/dist/types/org/hypercerts/claim/measurement.d.ts +0 -30
- package/dist/types/org/hypercerts/claim/measurement.d.ts.map +0 -1
- package/dist/types/org/hypercerts/helper/workScopeTag.d.ts +0 -31
- package/dist/types/org/hypercerts/helper/workScopeTag.d.ts.map +0 -1
- package/lexicons/org/hypercerts/claim/evidence.json +0 -57
- package/lexicons/org/hypercerts/claim/measurement.json +0 -70
- package/lexicons/org/hypercerts/helper/workScopeTag.json +0 -65
package/dist/lexicons.mjs
CHANGED
|
@@ -28,6 +28,214 @@ function maybe$typed(v, id, hash) {
|
|
|
28
28
|
* GENERATED CODE - DO NOT MODIFY
|
|
29
29
|
*/
|
|
30
30
|
const schemaDict = {
|
|
31
|
+
AppBskyRichtextFacet: {
|
|
32
|
+
lexicon: 1,
|
|
33
|
+
id: 'app.bsky.richtext.facet',
|
|
34
|
+
defs: {
|
|
35
|
+
main: {
|
|
36
|
+
type: 'object',
|
|
37
|
+
description: 'Annotation of a sub-string within rich text.',
|
|
38
|
+
required: ['index', 'features'],
|
|
39
|
+
properties: {
|
|
40
|
+
index: {
|
|
41
|
+
type: 'ref',
|
|
42
|
+
ref: 'lex:app.bsky.richtext.facet#byteSlice',
|
|
43
|
+
},
|
|
44
|
+
features: {
|
|
45
|
+
type: 'array',
|
|
46
|
+
items: {
|
|
47
|
+
type: 'union',
|
|
48
|
+
refs: [
|
|
49
|
+
'lex:app.bsky.richtext.facet#mention',
|
|
50
|
+
'lex:app.bsky.richtext.facet#link',
|
|
51
|
+
'lex:app.bsky.richtext.facet#tag',
|
|
52
|
+
],
|
|
53
|
+
},
|
|
54
|
+
},
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
mention: {
|
|
58
|
+
type: 'object',
|
|
59
|
+
description: "Facet feature for mention of another account. The text is usually a handle, including a '@' prefix, but the facet reference is a DID.",
|
|
60
|
+
required: ['did'],
|
|
61
|
+
properties: {
|
|
62
|
+
did: {
|
|
63
|
+
type: 'string',
|
|
64
|
+
format: 'did',
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
link: {
|
|
69
|
+
type: 'object',
|
|
70
|
+
description: 'Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL.',
|
|
71
|
+
required: ['uri'],
|
|
72
|
+
properties: {
|
|
73
|
+
uri: {
|
|
74
|
+
type: 'string',
|
|
75
|
+
format: 'uri',
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
},
|
|
79
|
+
tag: {
|
|
80
|
+
type: 'object',
|
|
81
|
+
description: "Facet feature for a hashtag. The text usually includes a '#' prefix, but the facet reference should not (except in the case of 'double hash tags').",
|
|
82
|
+
required: ['tag'],
|
|
83
|
+
properties: {
|
|
84
|
+
tag: {
|
|
85
|
+
type: 'string',
|
|
86
|
+
maxLength: 640,
|
|
87
|
+
maxGraphemes: 64,
|
|
88
|
+
},
|
|
89
|
+
},
|
|
90
|
+
},
|
|
91
|
+
byteSlice: {
|
|
92
|
+
type: 'object',
|
|
93
|
+
description: 'Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text. NOTE: some languages, like Javascript, use UTF-16 or Unicode codepoints for string slice indexing; in these languages, convert to byte arrays before working with facets.',
|
|
94
|
+
required: ['byteStart', 'byteEnd'],
|
|
95
|
+
properties: {
|
|
96
|
+
byteStart: {
|
|
97
|
+
type: 'integer',
|
|
98
|
+
minimum: 0,
|
|
99
|
+
},
|
|
100
|
+
byteEnd: {
|
|
101
|
+
type: 'integer',
|
|
102
|
+
minimum: 0,
|
|
103
|
+
},
|
|
104
|
+
},
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
},
|
|
108
|
+
AppCertifiedActorOrganization: {
|
|
109
|
+
lexicon: 1,
|
|
110
|
+
id: 'app.certified.actor.organization',
|
|
111
|
+
defs: {
|
|
112
|
+
main: {
|
|
113
|
+
type: 'record',
|
|
114
|
+
description: 'Extended metadata for an organization actor. Complements the base actor profile with organization-specific fields like legal structure and reference links.',
|
|
115
|
+
key: 'literal:self',
|
|
116
|
+
record: {
|
|
117
|
+
type: 'object',
|
|
118
|
+
required: ['createdAt'],
|
|
119
|
+
properties: {
|
|
120
|
+
organizationType: {
|
|
121
|
+
type: 'array',
|
|
122
|
+
description: "Legal or operational structures of the organization (e.g. 'nonprofit', 'ngo', 'government', 'social-enterprise', 'cooperative').",
|
|
123
|
+
items: {
|
|
124
|
+
type: 'string',
|
|
125
|
+
maxLength: 128,
|
|
126
|
+
maxGraphemes: 100,
|
|
127
|
+
},
|
|
128
|
+
maxLength: 10,
|
|
129
|
+
},
|
|
130
|
+
urls: {
|
|
131
|
+
type: 'array',
|
|
132
|
+
description: 'Additional reference URLs (social media profiles, contact pages, donation links, etc.) with a display label for each URL.',
|
|
133
|
+
items: {
|
|
134
|
+
type: 'ref',
|
|
135
|
+
ref: 'lex:app.certified.actor.organization#urlItem',
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
location: {
|
|
139
|
+
type: 'ref',
|
|
140
|
+
ref: 'lex:com.atproto.repo.strongRef',
|
|
141
|
+
description: 'A strong reference to the location where the organization is based. The record referenced must conform with the lexicon app.certified.location.',
|
|
142
|
+
},
|
|
143
|
+
foundedDate: {
|
|
144
|
+
type: 'string',
|
|
145
|
+
format: 'datetime',
|
|
146
|
+
description: "When the organization was established. Stored as datetime per ATProto conventions (no date-only format exists). Clients should use midnight UTC (e.g., '2005-01-01T00:00:00.000Z'); consumers should treat only the date portion as canonical.",
|
|
147
|
+
},
|
|
148
|
+
createdAt: {
|
|
149
|
+
type: 'string',
|
|
150
|
+
format: 'datetime',
|
|
151
|
+
description: 'Client-declared timestamp when this record was originally created.',
|
|
152
|
+
},
|
|
153
|
+
},
|
|
154
|
+
},
|
|
155
|
+
},
|
|
156
|
+
urlItem: {
|
|
157
|
+
type: 'object',
|
|
158
|
+
description: 'A labeled URL reference.',
|
|
159
|
+
required: ['url'],
|
|
160
|
+
properties: {
|
|
161
|
+
url: {
|
|
162
|
+
type: 'string',
|
|
163
|
+
format: 'uri',
|
|
164
|
+
description: 'The URL.',
|
|
165
|
+
maxLength: 10000,
|
|
166
|
+
maxGraphemes: 2048,
|
|
167
|
+
},
|
|
168
|
+
label: {
|
|
169
|
+
type: 'string',
|
|
170
|
+
description: "Optional human-readable label for this URL (e.g. 'Support page', 'Donation page').",
|
|
171
|
+
maxLength: 640,
|
|
172
|
+
maxGraphemes: 64,
|
|
173
|
+
},
|
|
174
|
+
},
|
|
175
|
+
},
|
|
176
|
+
},
|
|
177
|
+
},
|
|
178
|
+
AppCertifiedActorProfile: {
|
|
179
|
+
lexicon: 1,
|
|
180
|
+
id: 'app.certified.actor.profile',
|
|
181
|
+
defs: {
|
|
182
|
+
main: {
|
|
183
|
+
type: 'record',
|
|
184
|
+
description: 'A declaration of a Certified account profile.',
|
|
185
|
+
key: 'literal:self',
|
|
186
|
+
record: {
|
|
187
|
+
type: 'object',
|
|
188
|
+
required: ['createdAt'],
|
|
189
|
+
properties: {
|
|
190
|
+
displayName: {
|
|
191
|
+
type: 'string',
|
|
192
|
+
description: 'Display name for the account',
|
|
193
|
+
maxGraphemes: 64,
|
|
194
|
+
maxLength: 640,
|
|
195
|
+
},
|
|
196
|
+
description: {
|
|
197
|
+
type: 'string',
|
|
198
|
+
description: 'Free-form profile description text.',
|
|
199
|
+
maxGraphemes: 256,
|
|
200
|
+
maxLength: 2560,
|
|
201
|
+
},
|
|
202
|
+
pronouns: {
|
|
203
|
+
type: 'string',
|
|
204
|
+
description: 'Free-form pronouns text.',
|
|
205
|
+
maxGraphemes: 20,
|
|
206
|
+
maxLength: 200,
|
|
207
|
+
},
|
|
208
|
+
website: {
|
|
209
|
+
type: 'string',
|
|
210
|
+
format: 'uri',
|
|
211
|
+
description: 'Account website URL',
|
|
212
|
+
},
|
|
213
|
+
avatar: {
|
|
214
|
+
type: 'union',
|
|
215
|
+
refs: [
|
|
216
|
+
'lex:org.hypercerts.defs#uri',
|
|
217
|
+
'lex:org.hypercerts.defs#smallImage',
|
|
218
|
+
],
|
|
219
|
+
description: "Small image to be displayed next to posts from account. AKA, 'profile picture'",
|
|
220
|
+
},
|
|
221
|
+
banner: {
|
|
222
|
+
type: 'union',
|
|
223
|
+
refs: [
|
|
224
|
+
'lex:org.hypercerts.defs#uri',
|
|
225
|
+
'lex:org.hypercerts.defs#largeImage',
|
|
226
|
+
],
|
|
227
|
+
description: 'Larger horizontal image to display behind profile view.',
|
|
228
|
+
},
|
|
229
|
+
createdAt: {
|
|
230
|
+
type: 'string',
|
|
231
|
+
format: 'datetime',
|
|
232
|
+
description: 'Client-declared timestamp when this record was originally created',
|
|
233
|
+
},
|
|
234
|
+
},
|
|
235
|
+
},
|
|
236
|
+
},
|
|
237
|
+
},
|
|
238
|
+
},
|
|
31
239
|
AppCertifiedBadgeAward: {
|
|
32
240
|
lexicon: 1,
|
|
33
241
|
id: 'app.certified.badge.award',
|
|
@@ -42,8 +250,8 @@ const schemaDict = {
|
|
|
42
250
|
properties: {
|
|
43
251
|
badge: {
|
|
44
252
|
type: 'ref',
|
|
45
|
-
ref: 'lex:
|
|
46
|
-
description: '
|
|
253
|
+
ref: 'lex:com.atproto.repo.strongRef',
|
|
254
|
+
description: 'Strong reference to the badge definition at the time of award. The record referenced must conform with the lexicon app.certified.badge.definition.',
|
|
47
255
|
},
|
|
48
256
|
subject: {
|
|
49
257
|
type: 'union',
|
|
@@ -56,6 +264,13 @@ const schemaDict = {
|
|
|
56
264
|
note: {
|
|
57
265
|
type: 'string',
|
|
58
266
|
description: 'Optional statement explaining the reason for this badge award.',
|
|
267
|
+
maxLength: 500,
|
|
268
|
+
},
|
|
269
|
+
url: {
|
|
270
|
+
type: 'string',
|
|
271
|
+
format: 'uri',
|
|
272
|
+
description: 'Optional URL the badge award links to.',
|
|
273
|
+
maxLength: 2048,
|
|
59
274
|
},
|
|
60
275
|
createdAt: {
|
|
61
276
|
type: 'string',
|
|
@@ -77,15 +292,25 @@ const schemaDict = {
|
|
|
77
292
|
key: 'tid',
|
|
78
293
|
record: {
|
|
79
294
|
type: 'object',
|
|
80
|
-
required: ['title', 'badgeType', '
|
|
295
|
+
required: ['title', 'badgeType', 'createdAt'],
|
|
81
296
|
properties: {
|
|
82
297
|
badgeType: {
|
|
83
298
|
type: 'string',
|
|
84
|
-
description: 'Category of the badge
|
|
299
|
+
description: 'Category of the badge. Values beyond the known set are permitted.',
|
|
300
|
+
knownValues: [
|
|
301
|
+
'endorsement',
|
|
302
|
+
'verification',
|
|
303
|
+
'participation',
|
|
304
|
+
'certification',
|
|
305
|
+
'affiliation',
|
|
306
|
+
'recognition',
|
|
307
|
+
],
|
|
308
|
+
maxLength: 100,
|
|
85
309
|
},
|
|
86
310
|
title: {
|
|
87
311
|
type: 'string',
|
|
88
312
|
description: 'Human-readable title of the badge.',
|
|
313
|
+
maxLength: 256,
|
|
89
314
|
},
|
|
90
315
|
icon: {
|
|
91
316
|
type: 'blob',
|
|
@@ -101,10 +326,13 @@ const schemaDict = {
|
|
|
101
326
|
description: {
|
|
102
327
|
type: 'string',
|
|
103
328
|
description: 'Optional short statement describing what the badge represents.',
|
|
329
|
+
maxLength: 5000,
|
|
330
|
+
maxGraphemes: 500,
|
|
104
331
|
},
|
|
105
332
|
allowedIssuers: {
|
|
106
333
|
type: 'array',
|
|
107
334
|
description: 'Optional allowlist of DIDs allowed to issue this badge. If omitted, anyone may issue it.',
|
|
335
|
+
maxLength: 100,
|
|
108
336
|
items: {
|
|
109
337
|
type: 'ref',
|
|
110
338
|
ref: 'lex:app.certified.defs#did',
|
|
@@ -134,17 +362,18 @@ const schemaDict = {
|
|
|
134
362
|
properties: {
|
|
135
363
|
badgeAward: {
|
|
136
364
|
type: 'ref',
|
|
137
|
-
ref: 'lex:
|
|
138
|
-
description: '
|
|
365
|
+
ref: 'lex:com.atproto.repo.strongRef',
|
|
366
|
+
description: 'Strong reference to the badge award being responded to. The record referenced must conform with the lexicon app.certified.badge.award.',
|
|
139
367
|
},
|
|
140
368
|
response: {
|
|
141
369
|
type: 'string',
|
|
142
|
-
|
|
370
|
+
knownValues: ['accepted', 'rejected'],
|
|
143
371
|
description: 'The recipient’s response for the badge (accepted or rejected).',
|
|
144
372
|
},
|
|
145
373
|
weight: {
|
|
146
374
|
type: 'string',
|
|
147
375
|
description: 'Optional relative weight for accepted badges, assigned by the recipient.',
|
|
376
|
+
maxLength: 50,
|
|
148
377
|
},
|
|
149
378
|
createdAt: {
|
|
150
379
|
type: 'string',
|
|
@@ -162,9 +391,105 @@ const schemaDict = {
|
|
|
162
391
|
description: 'Common type definitions used across certified protocols.',
|
|
163
392
|
defs: {
|
|
164
393
|
did: {
|
|
165
|
-
type: '
|
|
166
|
-
format: 'did',
|
|
394
|
+
type: 'object',
|
|
167
395
|
description: 'A Decentralized Identifier (DID) string.',
|
|
396
|
+
required: ['did'],
|
|
397
|
+
properties: {
|
|
398
|
+
did: {
|
|
399
|
+
type: 'string',
|
|
400
|
+
format: 'did',
|
|
401
|
+
description: 'The DID string value.',
|
|
402
|
+
maxLength: 256,
|
|
403
|
+
},
|
|
404
|
+
},
|
|
405
|
+
},
|
|
406
|
+
},
|
|
407
|
+
},
|
|
408
|
+
AppCertifiedLinkEvm: {
|
|
409
|
+
lexicon: 1,
|
|
410
|
+
id: 'app.certified.link.evm',
|
|
411
|
+
defs: {
|
|
412
|
+
main: {
|
|
413
|
+
type: 'record',
|
|
414
|
+
description: 'A verifiable link between an ATProto DID and an EVM wallet address, proven via a cryptographic signature. Currently supports EOA wallets via EIP-712 typed data signatures; the proof field is an open union to allow future signature methods.',
|
|
415
|
+
key: 'any',
|
|
416
|
+
record: {
|
|
417
|
+
type: 'object',
|
|
418
|
+
required: ['address', 'proof', 'createdAt'],
|
|
419
|
+
properties: {
|
|
420
|
+
address: {
|
|
421
|
+
type: 'string',
|
|
422
|
+
description: 'EVM wallet address (0x-prefixed, with EIP-55 checksum recommended).',
|
|
423
|
+
minLength: 42,
|
|
424
|
+
maxLength: 42,
|
|
425
|
+
},
|
|
426
|
+
proof: {
|
|
427
|
+
type: 'union',
|
|
428
|
+
refs: ['lex:app.certified.link.evm#eip712Proof'],
|
|
429
|
+
description: 'Cryptographic proof of wallet ownership. The union is open to allow future proof methods (e.g. ERC-1271, ERC-6492). Each variant bundles its signature with the corresponding message format.',
|
|
430
|
+
},
|
|
431
|
+
createdAt: {
|
|
432
|
+
type: 'string',
|
|
433
|
+
format: 'datetime',
|
|
434
|
+
description: 'Client-declared timestamp when this record was originally created.',
|
|
435
|
+
},
|
|
436
|
+
},
|
|
437
|
+
},
|
|
438
|
+
},
|
|
439
|
+
eip712Proof: {
|
|
440
|
+
type: 'object',
|
|
441
|
+
description: 'EOA wallet ownership proof via EIP-712 typed data signature. Contains both the structured message that was signed and the resulting signature.',
|
|
442
|
+
required: ['signature', 'message'],
|
|
443
|
+
properties: {
|
|
444
|
+
signature: {
|
|
445
|
+
type: 'string',
|
|
446
|
+
description: 'ECDSA signature over the EIP-712 hash (hex-encoded with 0x prefix, 64 or 65 bytes).',
|
|
447
|
+
minLength: 130,
|
|
448
|
+
maxLength: 132,
|
|
449
|
+
},
|
|
450
|
+
message: {
|
|
451
|
+
type: 'ref',
|
|
452
|
+
ref: 'lex:app.certified.link.evm#eip712Message',
|
|
453
|
+
description: 'The EIP-712 structured message fields that were signed.',
|
|
454
|
+
},
|
|
455
|
+
},
|
|
456
|
+
},
|
|
457
|
+
eip712Message: {
|
|
458
|
+
type: 'object',
|
|
459
|
+
description: 'The EIP-712 typed data message that was signed by the wallet. Contains the fields binding an ATProto DID to an EVM address on a specific chain.',
|
|
460
|
+
required: ['did', 'evmAddress', 'chainId', 'timestamp', 'nonce'],
|
|
461
|
+
properties: {
|
|
462
|
+
did: {
|
|
463
|
+
type: 'string',
|
|
464
|
+
format: 'did',
|
|
465
|
+
description: 'The ATProto DID being linked to the EVM address.',
|
|
466
|
+
maxLength: 256,
|
|
467
|
+
},
|
|
468
|
+
evmAddress: {
|
|
469
|
+
type: 'string',
|
|
470
|
+
description: 'The EVM wallet address (must match the top-level address field).',
|
|
471
|
+
minLength: 42,
|
|
472
|
+
maxLength: 42,
|
|
473
|
+
},
|
|
474
|
+
chainId: {
|
|
475
|
+
type: 'string',
|
|
476
|
+
description: 'EVM chain ID as string (bigint serialized). Identifies which chain was used for signing; for EOA wallets the identity link applies across all EVM-compatible chains.',
|
|
477
|
+
minLength: 1,
|
|
478
|
+
maxLength: 78,
|
|
479
|
+
},
|
|
480
|
+
timestamp: {
|
|
481
|
+
type: 'string',
|
|
482
|
+
description: 'Unix timestamp when the attestation was created (bigint serialized).',
|
|
483
|
+
minLength: 1,
|
|
484
|
+
maxLength: 78,
|
|
485
|
+
},
|
|
486
|
+
nonce: {
|
|
487
|
+
type: 'string',
|
|
488
|
+
description: 'Replay-protection nonce (bigint serialized).',
|
|
489
|
+
minLength: 1,
|
|
490
|
+
maxLength: 78,
|
|
491
|
+
},
|
|
492
|
+
},
|
|
168
493
|
},
|
|
169
494
|
},
|
|
170
495
|
},
|
|
@@ -199,8 +524,17 @@ const schemaDict = {
|
|
|
199
524
|
},
|
|
200
525
|
locationType: {
|
|
201
526
|
type: 'string',
|
|
202
|
-
description: 'An identifier for the format of the location data (e.g., coordinate-decimal, geojson-point)',
|
|
203
|
-
knownValues: [
|
|
527
|
+
description: 'An identifier for the format of the location data (e.g., coordinate-decimal, geojson-point). See the Location Protocol spec for the full registry: https://spec.decentralizedgeo.org/specification/location-types/#location-type-registry',
|
|
528
|
+
knownValues: [
|
|
529
|
+
'coordinate-decimal',
|
|
530
|
+
'geojson-point',
|
|
531
|
+
'geojson',
|
|
532
|
+
'h3',
|
|
533
|
+
'geohash',
|
|
534
|
+
'wkt',
|
|
535
|
+
'address',
|
|
536
|
+
'scaledCoordinates',
|
|
537
|
+
],
|
|
204
538
|
maxLength: 20,
|
|
205
539
|
},
|
|
206
540
|
location: {
|
|
@@ -208,18 +542,19 @@ const schemaDict = {
|
|
|
208
542
|
refs: [
|
|
209
543
|
'lex:org.hypercerts.defs#uri',
|
|
210
544
|
'lex:org.hypercerts.defs#smallBlob',
|
|
545
|
+
'lex:app.certified.location#string',
|
|
211
546
|
],
|
|
212
|
-
description: 'The location of where the work was performed as a URI or
|
|
547
|
+
description: 'The location of where the work was performed as a URI, blob, or inline string.',
|
|
213
548
|
},
|
|
214
549
|
name: {
|
|
215
550
|
type: 'string',
|
|
216
|
-
description:
|
|
551
|
+
description: "Human-readable name for this location (e.g. 'Golden Gate Park', 'San Francisco Bay Area')",
|
|
217
552
|
maxLength: 1000,
|
|
218
553
|
maxGraphemes: 100,
|
|
219
554
|
},
|
|
220
555
|
description: {
|
|
221
556
|
type: 'string',
|
|
222
|
-
description: '
|
|
557
|
+
description: 'Additional context about this location, such as its significance to the work or specific boundaries',
|
|
223
558
|
maxLength: 2000,
|
|
224
559
|
maxGraphemes: 500,
|
|
225
560
|
},
|
|
@@ -231,6 +566,19 @@ const schemaDict = {
|
|
|
231
566
|
},
|
|
232
567
|
},
|
|
233
568
|
},
|
|
569
|
+
string: {
|
|
570
|
+
type: 'object',
|
|
571
|
+
required: ['string'],
|
|
572
|
+
description: 'A location represented as a string, e.g. coordinates or a small GeoJSON string.',
|
|
573
|
+
properties: {
|
|
574
|
+
string: {
|
|
575
|
+
type: 'string',
|
|
576
|
+
description: 'The location string value',
|
|
577
|
+
maxLength: 10000,
|
|
578
|
+
maxGraphemes: 1000,
|
|
579
|
+
},
|
|
580
|
+
},
|
|
581
|
+
},
|
|
234
582
|
},
|
|
235
583
|
},
|
|
236
584
|
ComAtprotoRepoStrongRef: {
|
|
@@ -254,203 +602,322 @@ const schemaDict = {
|
|
|
254
602
|
},
|
|
255
603
|
},
|
|
256
604
|
},
|
|
257
|
-
|
|
605
|
+
OrgHyperboardsBoard: {
|
|
258
606
|
lexicon: 1,
|
|
259
|
-
id: 'org.
|
|
607
|
+
id: 'org.hyperboards.board',
|
|
260
608
|
defs: {
|
|
261
609
|
main: {
|
|
262
610
|
type: 'record',
|
|
263
|
-
description:
|
|
264
|
-
key: '
|
|
611
|
+
description: "Configuration record for a hyperboard, wrapping an underlying activity or collection with visual presentation settings. Stored in the creator's PDS.",
|
|
612
|
+
key: 'tid',
|
|
265
613
|
record: {
|
|
266
614
|
type: 'object',
|
|
267
|
-
required: ['
|
|
615
|
+
required: ['subject', 'createdAt'],
|
|
268
616
|
properties: {
|
|
269
|
-
|
|
270
|
-
type: '
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
},
|
|
274
|
-
shortDescription: {
|
|
275
|
-
type: 'string',
|
|
276
|
-
description: 'Short summary of this activity claim, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`.',
|
|
277
|
-
maxLength: 3000,
|
|
278
|
-
maxGraphemes: 300,
|
|
279
|
-
},
|
|
280
|
-
shortDescriptionFacets: {
|
|
281
|
-
type: 'array',
|
|
282
|
-
description: 'Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc).',
|
|
283
|
-
items: {
|
|
284
|
-
type: 'ref',
|
|
285
|
-
ref: 'lex:app.bsky.richtext.facet',
|
|
286
|
-
},
|
|
617
|
+
subject: {
|
|
618
|
+
type: 'ref',
|
|
619
|
+
ref: 'lex:com.atproto.repo.strongRef',
|
|
620
|
+
description: 'Reference to the org.hypercerts.claim.activity or org.hypercerts.claim.collection this board visualizes.',
|
|
287
621
|
},
|
|
288
|
-
|
|
289
|
-
type: '
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
maxGraphemes: 3000,
|
|
622
|
+
config: {
|
|
623
|
+
type: 'ref',
|
|
624
|
+
ref: 'lex:org.hyperboards.board#boardConfig',
|
|
625
|
+
description: 'Board-level visual configuration (background, colors, aspect ratio).',
|
|
293
626
|
},
|
|
294
|
-
|
|
627
|
+
contributorConfigs: {
|
|
295
628
|
type: 'array',
|
|
296
|
-
description: '
|
|
629
|
+
description: 'Per-contributor configuration entries for this board.',
|
|
630
|
+
maxLength: 1000,
|
|
297
631
|
items: {
|
|
298
632
|
type: 'ref',
|
|
299
|
-
ref: 'lex:
|
|
633
|
+
ref: 'lex:org.hyperboards.board#contributorConfig',
|
|
300
634
|
},
|
|
301
635
|
},
|
|
302
|
-
|
|
303
|
-
type: 'union',
|
|
304
|
-
refs: [
|
|
305
|
-
'lex:org.hypercerts.defs#uri',
|
|
306
|
-
'lex:org.hypercerts.defs#smallImage',
|
|
307
|
-
],
|
|
308
|
-
description: 'The hypercert visual representation as a URI or image blob.',
|
|
309
|
-
},
|
|
310
|
-
workScope: {
|
|
311
|
-
type: 'union',
|
|
312
|
-
refs: [
|
|
313
|
-
'lex:org.hypercerts.defs#workScopeAll',
|
|
314
|
-
'lex:org.hypercerts.defs#workScopeAny',
|
|
315
|
-
'lex:org.hypercerts.defs#workScopeNot',
|
|
316
|
-
'lex:org.hypercerts.defs#workScopeAtom',
|
|
317
|
-
],
|
|
318
|
-
description: 'Work scope logic expression using boolean operators (all/any/not) and atomic scope references.',
|
|
319
|
-
},
|
|
320
|
-
startDate: {
|
|
636
|
+
createdAt: {
|
|
321
637
|
type: 'string',
|
|
322
638
|
format: 'datetime',
|
|
323
|
-
description: '
|
|
324
|
-
},
|
|
325
|
-
endDate: {
|
|
326
|
-
type: 'string',
|
|
327
|
-
format: 'datetime',
|
|
328
|
-
description: 'When the work ended',
|
|
329
|
-
},
|
|
330
|
-
contributors: {
|
|
331
|
-
type: 'array',
|
|
332
|
-
description: 'An array of contributor objects, each containing contributor information, weight, and contribution details.',
|
|
333
|
-
items: {
|
|
334
|
-
type: 'ref',
|
|
335
|
-
ref: 'lex:org.hypercerts.claim.activity#contributor',
|
|
336
|
-
},
|
|
337
|
-
},
|
|
338
|
-
rights: {
|
|
339
|
-
type: 'ref',
|
|
340
|
-
ref: 'lex:com.atproto.repo.strongRef',
|
|
341
|
-
description: 'A strong reference to the rights that this hypercert has. The record referenced must conform with the lexicon org.hypercerts.claim.rights.',
|
|
342
|
-
},
|
|
343
|
-
locations: {
|
|
344
|
-
type: 'array',
|
|
345
|
-
description: 'An array of strong references to the location where activity was performed. The record referenced must conform with the lexicon app.certified.location.',
|
|
346
|
-
items: {
|
|
347
|
-
type: 'ref',
|
|
348
|
-
ref: 'lex:com.atproto.repo.strongRef',
|
|
349
|
-
},
|
|
350
|
-
},
|
|
351
|
-
createdAt: {
|
|
352
|
-
type: 'string',
|
|
353
|
-
format: 'datetime',
|
|
354
|
-
description: 'Client-declared timestamp when this record was originally created',
|
|
639
|
+
description: 'Client-declared timestamp when this record was originally created.',
|
|
355
640
|
},
|
|
356
641
|
},
|
|
357
642
|
},
|
|
358
643
|
},
|
|
359
|
-
|
|
644
|
+
boardConfig: {
|
|
360
645
|
type: 'object',
|
|
361
|
-
|
|
646
|
+
description: "Visual configuration for a hyperboard's background, colors, and layout.",
|
|
362
647
|
properties: {
|
|
363
|
-
|
|
648
|
+
backgroundType: {
|
|
649
|
+
type: 'string',
|
|
650
|
+
description: 'Type of background content.',
|
|
651
|
+
knownValues: ['image', 'iframe'],
|
|
652
|
+
maxLength: 10,
|
|
653
|
+
},
|
|
654
|
+
backgroundImage: {
|
|
364
655
|
type: 'union',
|
|
365
656
|
refs: [
|
|
366
|
-
'lex:org.hypercerts.
|
|
367
|
-
'lex:
|
|
657
|
+
'lex:org.hypercerts.defs#uri',
|
|
658
|
+
'lex:org.hypercerts.defs#smallImage',
|
|
368
659
|
],
|
|
369
|
-
description: '
|
|
660
|
+
description: 'Background image as a URI or image blob.',
|
|
370
661
|
},
|
|
371
|
-
|
|
662
|
+
backgroundIframeUrl: {
|
|
372
663
|
type: 'string',
|
|
373
|
-
|
|
664
|
+
format: 'uri',
|
|
665
|
+
description: 'URI of the background iframe.',
|
|
666
|
+
maxLength: 2048,
|
|
374
667
|
},
|
|
375
|
-
|
|
668
|
+
backgroundGrayscale: {
|
|
669
|
+
type: 'boolean',
|
|
670
|
+
description: 'Whether the background is rendered in grayscale. Default: true.',
|
|
671
|
+
},
|
|
672
|
+
backgroundOpacity: {
|
|
673
|
+
type: 'integer',
|
|
674
|
+
description: 'Background opacity as a percentage (0–100).',
|
|
675
|
+
minimum: 0,
|
|
676
|
+
maximum: 100,
|
|
677
|
+
},
|
|
678
|
+
backgroundColor: {
|
|
679
|
+
type: 'string',
|
|
680
|
+
description: "Background color as a hex string (e.g. '#ffffff').",
|
|
681
|
+
maxLength: 20,
|
|
682
|
+
},
|
|
683
|
+
borderColor: {
|
|
684
|
+
type: 'string',
|
|
685
|
+
description: "Border color as a hex string (e.g. '#000000').",
|
|
686
|
+
maxLength: 20,
|
|
687
|
+
},
|
|
688
|
+
grayscaleImages: {
|
|
689
|
+
type: 'boolean',
|
|
690
|
+
description: 'Whether contributor images are rendered in grayscale. Default: false.',
|
|
691
|
+
},
|
|
692
|
+
imageShape: {
|
|
693
|
+
type: 'string',
|
|
694
|
+
description: 'Shape used to crop contributor images on this board.',
|
|
695
|
+
knownValues: ['circular', 'square'],
|
|
696
|
+
maxLength: 20,
|
|
697
|
+
},
|
|
698
|
+
aspectRatio: {
|
|
699
|
+
type: 'string',
|
|
700
|
+
description: 'Display aspect ratio of the board.',
|
|
701
|
+
knownValues: ['16:9', '4:3', '1:1'],
|
|
702
|
+
maxLength: 10,
|
|
703
|
+
},
|
|
704
|
+
},
|
|
705
|
+
},
|
|
706
|
+
contributorConfig: {
|
|
707
|
+
type: 'object',
|
|
708
|
+
description: 'Configuration for a specific contributor within a board. Values serve as fallbacks when the contributor has not defined them on their profile. It can also be used to override contributor settings on this board without changing their global profile.',
|
|
709
|
+
required: ['contributor'],
|
|
710
|
+
properties: {
|
|
711
|
+
contributor: {
|
|
376
712
|
type: 'union',
|
|
377
713
|
refs: [
|
|
378
|
-
'lex:org.hypercerts.claim.activity#contributorRole',
|
|
379
714
|
'lex:com.atproto.repo.strongRef',
|
|
715
|
+
'lex:org.hypercerts.claim.activity#contributorIdentity',
|
|
716
|
+
],
|
|
717
|
+
description: 'Identifies the contributor being styled. A strong reference to an org.hypercerts.claim.contributorInformation record, or a contributorIdentity (DID or identifier string) for contributors without a dedicated record.',
|
|
718
|
+
},
|
|
719
|
+
override: {
|
|
720
|
+
type: 'boolean',
|
|
721
|
+
description: "When true, these values take precedence over the contributor's own profile and display settings. When false or omitted, they are only used as fallbacks if the contributor has not set their own settings.",
|
|
722
|
+
},
|
|
723
|
+
displayName: {
|
|
724
|
+
type: 'string',
|
|
725
|
+
description: 'Display name for this contributor on this board.',
|
|
726
|
+
maxLength: 640,
|
|
727
|
+
maxGraphemes: 64,
|
|
728
|
+
},
|
|
729
|
+
image: {
|
|
730
|
+
type: 'union',
|
|
731
|
+
refs: [
|
|
732
|
+
'lex:org.hypercerts.defs#uri',
|
|
733
|
+
'lex:org.hypercerts.defs#smallImage',
|
|
734
|
+
],
|
|
735
|
+
description: 'Avatar or face image for this contributor on this board, as a URI or image blob.',
|
|
736
|
+
},
|
|
737
|
+
video: {
|
|
738
|
+
type: 'union',
|
|
739
|
+
refs: [
|
|
740
|
+
'lex:org.hypercerts.defs#uri',
|
|
741
|
+
'lex:org.hypercerts.defs#smallVideo',
|
|
380
742
|
],
|
|
381
|
-
description: '
|
|
743
|
+
description: 'Video for this contributor, as a URI (embed/direct link) or uploaded video blob.',
|
|
744
|
+
},
|
|
745
|
+
hoverImage: {
|
|
746
|
+
type: 'union',
|
|
747
|
+
refs: [
|
|
748
|
+
'lex:org.hypercerts.defs#uri',
|
|
749
|
+
'lex:org.hypercerts.defs#smallImage',
|
|
750
|
+
],
|
|
751
|
+
description: 'Image overlay shown when hovering over this contributor, as a URI or image blob.',
|
|
752
|
+
},
|
|
753
|
+
hoverIframeUrl: {
|
|
754
|
+
type: 'string',
|
|
755
|
+
format: 'uri',
|
|
756
|
+
description: 'Iframe overlay shown when hovering over this contributor.',
|
|
757
|
+
maxLength: 2048,
|
|
758
|
+
},
|
|
759
|
+
url: {
|
|
760
|
+
type: 'string',
|
|
761
|
+
format: 'uri',
|
|
762
|
+
description: 'Click-through link URL for this contributor.',
|
|
763
|
+
maxLength: 2048,
|
|
382
764
|
},
|
|
383
765
|
},
|
|
384
766
|
},
|
|
385
|
-
contributorIdentity: {
|
|
386
|
-
type: 'string',
|
|
387
|
-
description: 'Contributor information as a string (DID or identifier).',
|
|
388
|
-
},
|
|
389
|
-
contributorRole: {
|
|
390
|
-
type: 'string',
|
|
391
|
-
description: 'Contribution details as a string.',
|
|
392
|
-
maxLength: 10000,
|
|
393
|
-
maxGraphemes: 1000,
|
|
394
|
-
},
|
|
395
767
|
},
|
|
396
768
|
},
|
|
397
|
-
|
|
769
|
+
OrgHyperboardsDisplayProfile: {
|
|
398
770
|
lexicon: 1,
|
|
399
|
-
id: 'org.
|
|
771
|
+
id: 'org.hyperboards.displayProfile',
|
|
400
772
|
defs: {
|
|
401
773
|
main: {
|
|
402
774
|
type: 'record',
|
|
403
|
-
description:
|
|
404
|
-
key: '
|
|
775
|
+
description: "User-declared visual presentation defaults for how a contributor appears on hyperboards. Stored in the contributor's own PDS and reusable across multiple boards.",
|
|
776
|
+
key: 'literal:self',
|
|
405
777
|
record: {
|
|
406
778
|
type: 'object',
|
|
407
|
-
required: ['
|
|
779
|
+
required: ['createdAt'],
|
|
408
780
|
properties: {
|
|
409
|
-
|
|
781
|
+
displayName: {
|
|
782
|
+
type: 'string',
|
|
783
|
+
description: 'Display name override for this user on hyperboards.',
|
|
784
|
+
maxLength: 640,
|
|
785
|
+
maxGraphemes: 64,
|
|
786
|
+
},
|
|
787
|
+
image: {
|
|
788
|
+
type: 'union',
|
|
789
|
+
refs: [
|
|
790
|
+
'lex:org.hypercerts.defs#uri',
|
|
791
|
+
'lex:org.hypercerts.defs#smallImage',
|
|
792
|
+
],
|
|
793
|
+
description: 'Avatar or face image override for this user on hyperboards, as a URI or image blob.',
|
|
794
|
+
},
|
|
795
|
+
video: {
|
|
796
|
+
type: 'union',
|
|
797
|
+
refs: [
|
|
798
|
+
'lex:org.hypercerts.defs#uri',
|
|
799
|
+
'lex:org.hypercerts.defs#smallVideo',
|
|
800
|
+
],
|
|
801
|
+
description: 'Default video for this user across boards, as a URI (embed/direct link) or uploaded video blob.',
|
|
802
|
+
},
|
|
803
|
+
hoverImage: {
|
|
804
|
+
type: 'union',
|
|
805
|
+
refs: [
|
|
806
|
+
'lex:org.hypercerts.defs#uri',
|
|
807
|
+
'lex:org.hypercerts.defs#smallImage',
|
|
808
|
+
],
|
|
809
|
+
description: 'Default hover image for this user across boards, as a URI or image blob.',
|
|
810
|
+
},
|
|
811
|
+
hoverIframeUrl: {
|
|
410
812
|
type: 'string',
|
|
411
|
-
|
|
813
|
+
format: 'uri',
|
|
814
|
+
description: 'Default hover iframe URL for this user across boards.',
|
|
815
|
+
maxLength: 2048,
|
|
816
|
+
},
|
|
817
|
+
url: {
|
|
818
|
+
type: 'string',
|
|
819
|
+
format: 'uri',
|
|
820
|
+
description: 'Default click-through link URL for this user across boards.',
|
|
821
|
+
maxLength: 2048,
|
|
822
|
+
},
|
|
823
|
+
createdAt: {
|
|
824
|
+
type: 'string',
|
|
825
|
+
format: 'datetime',
|
|
826
|
+
description: 'Client-declared timestamp when this record was originally created.',
|
|
412
827
|
},
|
|
828
|
+
},
|
|
829
|
+
},
|
|
830
|
+
},
|
|
831
|
+
},
|
|
832
|
+
},
|
|
833
|
+
OrgHypercertsClaimActivity: {
|
|
834
|
+
lexicon: 1,
|
|
835
|
+
id: 'org.hypercerts.claim.activity',
|
|
836
|
+
defs: {
|
|
837
|
+
main: {
|
|
838
|
+
type: 'record',
|
|
839
|
+
description: 'A hypercert record tracking impact work.',
|
|
840
|
+
key: 'any',
|
|
841
|
+
record: {
|
|
842
|
+
type: 'object',
|
|
843
|
+
required: ['title', 'shortDescription', 'createdAt'],
|
|
844
|
+
properties: {
|
|
413
845
|
title: {
|
|
414
846
|
type: 'string',
|
|
415
|
-
description:
|
|
416
|
-
maxLength:
|
|
417
|
-
maxGraphemes: 80,
|
|
847
|
+
description: "Display title summarizing the impact work (e.g. 'Reforestation in Amazon Basin 2024')",
|
|
848
|
+
maxLength: 256,
|
|
418
849
|
},
|
|
419
850
|
shortDescription: {
|
|
420
851
|
type: 'string',
|
|
852
|
+
description: 'Short summary of this activity claim, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`.',
|
|
421
853
|
maxLength: 3000,
|
|
422
854
|
maxGraphemes: 300,
|
|
423
|
-
|
|
855
|
+
},
|
|
856
|
+
shortDescriptionFacets: {
|
|
857
|
+
type: 'array',
|
|
858
|
+
description: 'Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc).',
|
|
859
|
+
items: {
|
|
860
|
+
type: 'ref',
|
|
861
|
+
ref: 'lex:app.bsky.richtext.facet',
|
|
862
|
+
},
|
|
424
863
|
},
|
|
425
864
|
description: {
|
|
426
|
-
type: '
|
|
427
|
-
|
|
428
|
-
|
|
865
|
+
type: 'union',
|
|
866
|
+
refs: [
|
|
867
|
+
'lex:org.hypercerts.defs#descriptionString',
|
|
868
|
+
'lex:pub.leaflet.pages.linearDocument',
|
|
869
|
+
'lex:com.atproto.repo.strongRef',
|
|
870
|
+
],
|
|
871
|
+
description: 'Long-form description of the activity. An inline string for plain text or markdown, a Leaflet linear document for rich-text content, or a strong reference to an external description record.',
|
|
429
872
|
},
|
|
430
|
-
|
|
873
|
+
image: {
|
|
431
874
|
type: 'union',
|
|
432
875
|
refs: [
|
|
433
876
|
'lex:org.hypercerts.defs#uri',
|
|
434
877
|
'lex:org.hypercerts.defs#smallImage',
|
|
435
878
|
],
|
|
436
|
-
description:
|
|
879
|
+
description: 'The hypercert visual representation as a URI or image blob.',
|
|
437
880
|
},
|
|
438
|
-
|
|
881
|
+
contributors: {
|
|
882
|
+
type: 'array',
|
|
883
|
+
description: 'An array of contributor objects, each containing contributor information, weight, and contribution details.',
|
|
884
|
+
items: {
|
|
885
|
+
type: 'ref',
|
|
886
|
+
ref: 'lex:org.hypercerts.claim.activity#contributor',
|
|
887
|
+
},
|
|
888
|
+
},
|
|
889
|
+
workScope: {
|
|
439
890
|
type: 'union',
|
|
440
891
|
refs: [
|
|
441
|
-
'lex:org.hypercerts.
|
|
442
|
-
'lex:org.hypercerts.
|
|
892
|
+
'lex:org.hypercerts.workscope.cel',
|
|
893
|
+
'lex:org.hypercerts.claim.activity#workScopeString',
|
|
443
894
|
],
|
|
444
|
-
description: '
|
|
895
|
+
description: 'Work scope definition. A CEL expression for structured, machine-evaluable scopes or a free-form string for simple and legacy scopes.',
|
|
445
896
|
},
|
|
446
|
-
|
|
897
|
+
startDate: {
|
|
898
|
+
type: 'string',
|
|
899
|
+
format: 'datetime',
|
|
900
|
+
description: 'When the work began',
|
|
901
|
+
},
|
|
902
|
+
endDate: {
|
|
903
|
+
type: 'string',
|
|
904
|
+
format: 'datetime',
|
|
905
|
+
description: 'When the work ended',
|
|
906
|
+
},
|
|
907
|
+
locations: {
|
|
447
908
|
type: 'array',
|
|
448
|
-
description: '
|
|
909
|
+
description: 'An array of strong references to the location where activity was performed. The record referenced must conform with the lexicon app.certified.location.',
|
|
910
|
+
maxLength: 1000,
|
|
449
911
|
items: {
|
|
450
912
|
type: 'ref',
|
|
451
|
-
ref: 'lex:
|
|
913
|
+
ref: 'lex:com.atproto.repo.strongRef',
|
|
452
914
|
},
|
|
453
915
|
},
|
|
916
|
+
rights: {
|
|
917
|
+
type: 'ref',
|
|
918
|
+
ref: 'lex:com.atproto.repo.strongRef',
|
|
919
|
+
description: 'A strong reference to the rights that this hypercert has. The record referenced must conform with the lexicon org.hypercerts.claim.rights.',
|
|
920
|
+
},
|
|
454
921
|
createdAt: {
|
|
455
922
|
type: 'string',
|
|
456
923
|
format: 'datetime',
|
|
@@ -459,26 +926,78 @@ const schemaDict = {
|
|
|
459
926
|
},
|
|
460
927
|
},
|
|
461
928
|
},
|
|
462
|
-
|
|
929
|
+
contributor: {
|
|
463
930
|
type: 'object',
|
|
464
|
-
|
|
931
|
+
description: 'A contributor to the activity, with identity, weight, and contribution details.',
|
|
932
|
+
required: ['contributorIdentity'],
|
|
465
933
|
properties: {
|
|
466
|
-
|
|
467
|
-
type: '
|
|
468
|
-
|
|
469
|
-
|
|
934
|
+
contributorIdentity: {
|
|
935
|
+
type: 'union',
|
|
936
|
+
refs: [
|
|
937
|
+
'lex:org.hypercerts.claim.activity#contributorIdentity',
|
|
938
|
+
'lex:com.atproto.repo.strongRef',
|
|
939
|
+
],
|
|
940
|
+
description: 'Inline contributor identity object with an identity string (DID or identifier) via org.hypercerts.claim.activity#contributorIdentity, or a strong reference to a contributor information record. The record referenced must conform with the lexicon org.hypercerts.claim.contributorInformation.',
|
|
470
941
|
},
|
|
471
|
-
|
|
942
|
+
contributionWeight: {
|
|
472
943
|
type: 'string',
|
|
473
|
-
description: '
|
|
944
|
+
description: 'The relative weight/importance of this contribution (stored as a string to avoid float precision issues). Must be a positive numeric value. Weights do not need to sum to a specific total; normalization can be performed by the consuming application as needed.',
|
|
945
|
+
maxLength: 100,
|
|
946
|
+
},
|
|
947
|
+
contributionDetails: {
|
|
948
|
+
type: 'union',
|
|
949
|
+
refs: [
|
|
950
|
+
'lex:org.hypercerts.claim.activity#contributorRole',
|
|
951
|
+
'lex:com.atproto.repo.strongRef',
|
|
952
|
+
],
|
|
953
|
+
description: 'Inline contribution role object with a role string via org.hypercerts.claim.activity#contributorRole, or a strong reference to a contribution details record. The record referenced must conform with the lexicon org.hypercerts.claim.contribution.',
|
|
954
|
+
},
|
|
955
|
+
},
|
|
956
|
+
},
|
|
957
|
+
contributorIdentity: {
|
|
958
|
+
type: 'object',
|
|
959
|
+
description: 'Contributor information as a string (DID or identifier).',
|
|
960
|
+
required: ['identity'],
|
|
961
|
+
properties: {
|
|
962
|
+
identity: {
|
|
963
|
+
type: 'string',
|
|
964
|
+
description: 'The contributor identity string (DID or identifier).',
|
|
965
|
+
maxLength: 1000,
|
|
966
|
+
maxGraphemes: 100,
|
|
967
|
+
},
|
|
968
|
+
},
|
|
969
|
+
},
|
|
970
|
+
contributorRole: {
|
|
971
|
+
type: 'object',
|
|
972
|
+
description: 'Contribution details as a string.',
|
|
973
|
+
required: ['role'],
|
|
974
|
+
properties: {
|
|
975
|
+
role: {
|
|
976
|
+
type: 'string',
|
|
977
|
+
description: 'The contribution role or details.',
|
|
978
|
+
maxLength: 1000,
|
|
979
|
+
maxGraphemes: 100,
|
|
980
|
+
},
|
|
981
|
+
},
|
|
982
|
+
},
|
|
983
|
+
workScopeString: {
|
|
984
|
+
type: 'object',
|
|
985
|
+
description: 'A free-form string describing the work scope for simple or legacy scopes.',
|
|
986
|
+
required: ['scope'],
|
|
987
|
+
properties: {
|
|
988
|
+
scope: {
|
|
989
|
+
type: 'string',
|
|
990
|
+
description: 'The work scope description string.',
|
|
991
|
+
maxLength: 1000,
|
|
992
|
+
maxGraphemes: 100,
|
|
474
993
|
},
|
|
475
994
|
},
|
|
476
995
|
},
|
|
477
996
|
},
|
|
478
997
|
},
|
|
479
|
-
|
|
998
|
+
OrgHypercertsClaimContribution: {
|
|
480
999
|
lexicon: 1,
|
|
481
|
-
id: 'org.hypercerts.claim.
|
|
1000
|
+
id: 'org.hypercerts.claim.contribution',
|
|
482
1001
|
defs: {
|
|
483
1002
|
main: {
|
|
484
1003
|
type: 'record',
|
|
@@ -495,19 +1014,19 @@ const schemaDict = {
|
|
|
495
1014
|
},
|
|
496
1015
|
contributionDescription: {
|
|
497
1016
|
type: 'string',
|
|
498
|
-
description: '
|
|
1017
|
+
description: 'Description of what the contribution concretely involved.',
|
|
499
1018
|
maxLength: 10000,
|
|
500
1019
|
maxGraphemes: 1000,
|
|
501
1020
|
},
|
|
502
1021
|
startDate: {
|
|
503
1022
|
type: 'string',
|
|
504
1023
|
format: 'datetime',
|
|
505
|
-
description:
|
|
1024
|
+
description: "When this contribution started. Should fall within the parent hypercert's timeframe.",
|
|
506
1025
|
},
|
|
507
1026
|
endDate: {
|
|
508
1027
|
type: 'string',
|
|
509
1028
|
format: 'datetime',
|
|
510
|
-
description:
|
|
1029
|
+
description: "When this contribution finished. Should fall within the parent hypercert's timeframe.",
|
|
511
1030
|
},
|
|
512
1031
|
createdAt: {
|
|
513
1032
|
type: 'string',
|
|
@@ -533,11 +1052,12 @@ const schemaDict = {
|
|
|
533
1052
|
properties: {
|
|
534
1053
|
identifier: {
|
|
535
1054
|
type: 'string',
|
|
536
|
-
description: 'DID or
|
|
1055
|
+
description: 'DID (did:plc:...) or URI to a social profile of the contributor.',
|
|
1056
|
+
maxLength: 2048,
|
|
537
1057
|
},
|
|
538
1058
|
displayName: {
|
|
539
1059
|
type: 'string',
|
|
540
|
-
description: '
|
|
1060
|
+
description: 'Human-readable name for the contributor as it should appear in UI.',
|
|
541
1061
|
maxLength: 100,
|
|
542
1062
|
},
|
|
543
1063
|
image: {
|
|
@@ -558,87 +1078,133 @@ const schemaDict = {
|
|
|
558
1078
|
},
|
|
559
1079
|
},
|
|
560
1080
|
},
|
|
561
|
-
|
|
1081
|
+
OrgHypercertsClaimRights: {
|
|
562
1082
|
lexicon: 1,
|
|
563
|
-
id: 'org.hypercerts.claim.
|
|
1083
|
+
id: 'org.hypercerts.claim.rights',
|
|
564
1084
|
defs: {
|
|
565
|
-
|
|
566
|
-
type: '
|
|
567
|
-
description: '
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
1085
|
+
main: {
|
|
1086
|
+
type: 'record',
|
|
1087
|
+
description: 'Describes the rights that a contributor and/or an owner has, such as whether the hypercert can be sold, transferred, and under what conditions.',
|
|
1088
|
+
key: 'tid',
|
|
1089
|
+
record: {
|
|
1090
|
+
type: 'object',
|
|
1091
|
+
required: [
|
|
1092
|
+
'rightsName',
|
|
1093
|
+
'rightsType',
|
|
1094
|
+
'rightsDescription',
|
|
1095
|
+
'createdAt',
|
|
1096
|
+
],
|
|
1097
|
+
properties: {
|
|
1098
|
+
rightsName: {
|
|
1099
|
+
type: 'string',
|
|
1100
|
+
description: "Human-readable name for these rights (e.g. 'All Rights Reserved', 'CC BY-SA 4.0')",
|
|
1101
|
+
maxLength: 100,
|
|
1102
|
+
},
|
|
1103
|
+
rightsType: {
|
|
1104
|
+
type: 'string',
|
|
1105
|
+
description: "Short identifier code for this rights type (e.g. 'ARR', 'CC-BY-SA') to facilitate filtering and search",
|
|
1106
|
+
maxLength: 10,
|
|
1107
|
+
},
|
|
1108
|
+
rightsDescription: {
|
|
1109
|
+
type: 'string',
|
|
1110
|
+
description: "Detailed explanation of the rights holders' permissions, restrictions, and conditions",
|
|
1111
|
+
maxLength: 10000,
|
|
1112
|
+
maxGraphemes: 1000,
|
|
1113
|
+
},
|
|
1114
|
+
attachment: {
|
|
1115
|
+
type: 'union',
|
|
1116
|
+
refs: [
|
|
1117
|
+
'lex:org.hypercerts.defs#uri',
|
|
1118
|
+
'lex:org.hypercerts.defs#smallBlob',
|
|
1119
|
+
],
|
|
1120
|
+
description: 'An attachment to define the rights further, e.g. a legal document.',
|
|
1121
|
+
},
|
|
1122
|
+
createdAt: {
|
|
1123
|
+
type: 'string',
|
|
1124
|
+
format: 'datetime',
|
|
1125
|
+
description: 'Client-declared timestamp when this record was originally created',
|
|
1126
|
+
},
|
|
1127
|
+
},
|
|
582
1128
|
},
|
|
583
1129
|
},
|
|
1130
|
+
},
|
|
1131
|
+
},
|
|
1132
|
+
OrgHypercertsCollection: {
|
|
1133
|
+
lexicon: 1,
|
|
1134
|
+
id: 'org.hypercerts.collection',
|
|
1135
|
+
defs: {
|
|
584
1136
|
main: {
|
|
585
1137
|
type: 'record',
|
|
586
|
-
description: '
|
|
1138
|
+
description: 'A collection/group of items (activities and/or other collections). Collections support recursive nesting.',
|
|
587
1139
|
key: 'tid',
|
|
588
1140
|
record: {
|
|
589
1141
|
type: 'object',
|
|
590
|
-
required: ['
|
|
1142
|
+
required: ['title', 'createdAt'],
|
|
591
1143
|
properties: {
|
|
592
|
-
|
|
593
|
-
type: '
|
|
594
|
-
|
|
595
|
-
|
|
1144
|
+
type: {
|
|
1145
|
+
type: 'string',
|
|
1146
|
+
description: 'The type of this collection. Values beyond the known set are permitted.',
|
|
1147
|
+
knownValues: ['favorites', 'project', 'portfolio', 'program'],
|
|
1148
|
+
maxLength: 64,
|
|
596
1149
|
},
|
|
597
|
-
|
|
1150
|
+
title: {
|
|
1151
|
+
type: 'string',
|
|
1152
|
+
description: "Display name for this collection (e.g. 'Q1 2025 Impact Projects')",
|
|
1153
|
+
maxLength: 800,
|
|
1154
|
+
maxGraphemes: 80,
|
|
1155
|
+
},
|
|
1156
|
+
shortDescription: {
|
|
1157
|
+
type: 'string',
|
|
1158
|
+
maxLength: 3000,
|
|
1159
|
+
maxGraphemes: 300,
|
|
1160
|
+
description: 'Short summary of this collection, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`.',
|
|
1161
|
+
},
|
|
1162
|
+
shortDescriptionFacets: {
|
|
598
1163
|
type: 'array',
|
|
599
|
-
description: '
|
|
1164
|
+
description: 'Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc).',
|
|
600
1165
|
items: {
|
|
601
1166
|
type: 'ref',
|
|
602
|
-
ref: 'lex:app.
|
|
1167
|
+
ref: 'lex:app.bsky.richtext.facet',
|
|
603
1168
|
},
|
|
604
|
-
maxLength: 1000,
|
|
605
1169
|
},
|
|
606
|
-
|
|
607
|
-
type: '
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
],
|
|
615
|
-
},
|
|
616
|
-
maxLength: 100,
|
|
1170
|
+
description: {
|
|
1171
|
+
type: 'union',
|
|
1172
|
+
refs: [
|
|
1173
|
+
'lex:org.hypercerts.defs#descriptionString',
|
|
1174
|
+
'lex:pub.leaflet.pages.linearDocument',
|
|
1175
|
+
'lex:com.atproto.repo.strongRef',
|
|
1176
|
+
],
|
|
1177
|
+
description: 'Long-form description of the collection. An inline string for plain text or markdown, a Leaflet linear document for rich-text content, or a strong reference to an external description record.',
|
|
617
1178
|
},
|
|
618
|
-
|
|
1179
|
+
avatar: {
|
|
1180
|
+
type: 'union',
|
|
1181
|
+
refs: [
|
|
1182
|
+
'lex:org.hypercerts.defs#uri',
|
|
1183
|
+
'lex:org.hypercerts.defs#smallImage',
|
|
1184
|
+
],
|
|
1185
|
+
description: "The collection's avatar/profile image as a URI or image blob.",
|
|
1186
|
+
},
|
|
1187
|
+
banner: {
|
|
1188
|
+
type: 'union',
|
|
1189
|
+
refs: [
|
|
1190
|
+
'lex:org.hypercerts.defs#uri',
|
|
1191
|
+
'lex:org.hypercerts.defs#largeImage',
|
|
1192
|
+
],
|
|
1193
|
+
description: 'Larger horizontal image to display behind the collection view.',
|
|
1194
|
+
},
|
|
1195
|
+
items: {
|
|
619
1196
|
type: 'array',
|
|
620
|
-
description: '
|
|
1197
|
+
description: 'Array of items in this collection with optional weights.',
|
|
1198
|
+
maxLength: 1000,
|
|
621
1199
|
items: {
|
|
622
1200
|
type: 'ref',
|
|
623
|
-
ref: 'lex:
|
|
1201
|
+
ref: 'lex:org.hypercerts.collection#item',
|
|
624
1202
|
},
|
|
625
|
-
maxLength: 100,
|
|
626
|
-
},
|
|
627
|
-
summary: {
|
|
628
|
-
type: 'string',
|
|
629
|
-
description: 'Brief evaluation summary',
|
|
630
|
-
maxLength: 5000,
|
|
631
|
-
maxGraphemes: 1000,
|
|
632
|
-
},
|
|
633
|
-
score: {
|
|
634
|
-
type: 'ref',
|
|
635
|
-
ref: 'lex:org.hypercerts.claim.evaluation#score',
|
|
636
|
-
description: 'Optional overall score for this evaluation on a numeric scale.',
|
|
637
1203
|
},
|
|
638
1204
|
location: {
|
|
639
1205
|
type: 'ref',
|
|
640
1206
|
ref: 'lex:com.atproto.repo.strongRef',
|
|
641
|
-
description:
|
|
1207
|
+
description: "A strong reference to the location where this collection's activities were performed. The record referenced must conform with the lexicon app.certified.location.",
|
|
642
1208
|
},
|
|
643
1209
|
createdAt: {
|
|
644
1210
|
type: 'string',
|
|
@@ -648,173 +1214,349 @@ const schemaDict = {
|
|
|
648
1214
|
},
|
|
649
1215
|
},
|
|
650
1216
|
},
|
|
1217
|
+
item: {
|
|
1218
|
+
type: 'object',
|
|
1219
|
+
description: 'An item in a collection, with an identifier and optional weight.',
|
|
1220
|
+
required: ['itemIdentifier'],
|
|
1221
|
+
properties: {
|
|
1222
|
+
itemIdentifier: {
|
|
1223
|
+
type: 'ref',
|
|
1224
|
+
ref: 'lex:com.atproto.repo.strongRef',
|
|
1225
|
+
description: 'Strong reference to an item in this collection. Items can be activities (org.hypercerts.claim.activity) and/or other collections (org.hypercerts.collection).',
|
|
1226
|
+
},
|
|
1227
|
+
itemWeight: {
|
|
1228
|
+
type: 'string',
|
|
1229
|
+
description: 'Optional weight for this item (positive numeric value stored as string). Weights do not need to sum to a specific total; normalization can be performed by the consuming application as needed.',
|
|
1230
|
+
maxLength: 100,
|
|
1231
|
+
},
|
|
1232
|
+
},
|
|
1233
|
+
},
|
|
651
1234
|
},
|
|
652
1235
|
},
|
|
653
|
-
|
|
1236
|
+
OrgHypercertsContextAcknowledgement: {
|
|
654
1237
|
lexicon: 1,
|
|
655
|
-
id: 'org.hypercerts.
|
|
1238
|
+
id: 'org.hypercerts.context.acknowledgement',
|
|
656
1239
|
defs: {
|
|
657
1240
|
main: {
|
|
658
1241
|
type: 'record',
|
|
659
|
-
description:
|
|
1242
|
+
description: "Acknowledges a record (subject) or its relationship in a context. Created in the acknowledging actor's repo to form a bidirectional link. Examples: a contributor acknowledging inclusion in an activity, an activity owner acknowledging inclusion in a collection, or a record owner acknowledging an evaluation.",
|
|
660
1243
|
key: 'tid',
|
|
661
1244
|
record: {
|
|
662
1245
|
type: 'object',
|
|
663
|
-
required: ['
|
|
1246
|
+
required: ['subject', 'acknowledged', 'createdAt'],
|
|
664
1247
|
properties: {
|
|
665
1248
|
subject: {
|
|
666
1249
|
type: 'ref',
|
|
667
1250
|
ref: 'lex:com.atproto.repo.strongRef',
|
|
668
|
-
description: '
|
|
1251
|
+
description: 'The record being acknowledged (e.g. an activity, a contributor information record, an evaluation).',
|
|
669
1252
|
},
|
|
670
|
-
|
|
1253
|
+
context: {
|
|
671
1254
|
type: 'union',
|
|
672
1255
|
refs: [
|
|
673
1256
|
'lex:org.hypercerts.defs#uri',
|
|
674
|
-
'lex:
|
|
1257
|
+
'lex:com.atproto.repo.strongRef',
|
|
675
1258
|
],
|
|
676
|
-
description: '
|
|
677
|
-
},
|
|
678
|
-
title: {
|
|
679
|
-
type: 'string',
|
|
680
|
-
maxLength: 256,
|
|
681
|
-
description: 'Title to describe the nature of the evidence.',
|
|
682
|
-
},
|
|
683
|
-
shortDescription: {
|
|
684
|
-
type: 'string',
|
|
685
|
-
maxLength: 3000,
|
|
686
|
-
maxGraphemes: 300,
|
|
687
|
-
description: 'Short description explaining what this evidence shows.',
|
|
1259
|
+
description: 'Context for the acknowledgement (e.g. the collection that includes an activity, or the activity that includes a contributor). A URI for a lightweight reference or a strong reference for content-hash verification.',
|
|
688
1260
|
},
|
|
689
|
-
|
|
690
|
-
type: '
|
|
691
|
-
description: '
|
|
692
|
-
maxLength: 30000,
|
|
693
|
-
maxGraphemes: 3000,
|
|
1261
|
+
acknowledged: {
|
|
1262
|
+
type: 'boolean',
|
|
1263
|
+
description: 'Whether the relationship is acknowledged (true) or rejected (false).',
|
|
694
1264
|
},
|
|
695
|
-
|
|
1265
|
+
comment: {
|
|
696
1266
|
type: 'string',
|
|
697
|
-
description: '
|
|
698
|
-
|
|
1267
|
+
description: 'Optional plain-text comment providing additional context or reasoning.',
|
|
1268
|
+
maxLength: 10000,
|
|
1269
|
+
maxGraphemes: 1000,
|
|
699
1270
|
},
|
|
700
1271
|
createdAt: {
|
|
701
1272
|
type: 'string',
|
|
702
1273
|
format: 'datetime',
|
|
703
|
-
description: 'Client-declared timestamp when this record was originally created',
|
|
1274
|
+
description: 'Client-declared timestamp when this record was originally created.',
|
|
704
1275
|
},
|
|
705
1276
|
},
|
|
706
1277
|
},
|
|
707
1278
|
},
|
|
708
1279
|
},
|
|
709
1280
|
},
|
|
710
|
-
|
|
1281
|
+
OrgHypercertsContextAttachment: {
|
|
711
1282
|
lexicon: 1,
|
|
712
|
-
id: 'org.hypercerts.
|
|
1283
|
+
id: 'org.hypercerts.context.attachment',
|
|
713
1284
|
defs: {
|
|
714
1285
|
main: {
|
|
715
1286
|
type: 'record',
|
|
716
|
-
description: '
|
|
1287
|
+
description: 'An attachment providing commentary, context, evidence, or documentary material related to a hypercert record (e.g. an activity, project, claim, or evaluation).',
|
|
717
1288
|
key: 'tid',
|
|
718
1289
|
record: {
|
|
719
1290
|
type: 'object',
|
|
720
|
-
required: ['
|
|
1291
|
+
required: ['title', 'createdAt'],
|
|
721
1292
|
properties: {
|
|
722
|
-
|
|
723
|
-
type: 'ref',
|
|
724
|
-
ref: 'lex:com.atproto.repo.strongRef',
|
|
725
|
-
description: 'A strong reference to the record this measurement refers to (e.g. an activity, project, or claim).',
|
|
726
|
-
},
|
|
727
|
-
measurers: {
|
|
1293
|
+
subjects: {
|
|
728
1294
|
type: 'array',
|
|
729
|
-
description: '
|
|
1295
|
+
description: 'References to the subject(s) the attachment is connected to—this may be an activity claim, outcome claim, measurement, evaluation, or even another attachment. This is optional as the attachment can exist before the claim is recorded.',
|
|
730
1296
|
items: {
|
|
731
1297
|
type: 'ref',
|
|
732
|
-
ref: 'lex:
|
|
1298
|
+
ref: 'lex:com.atproto.repo.strongRef',
|
|
733
1299
|
},
|
|
734
1300
|
maxLength: 100,
|
|
735
1301
|
},
|
|
736
|
-
|
|
1302
|
+
contentType: {
|
|
737
1303
|
type: 'string',
|
|
738
|
-
description: 'The
|
|
739
|
-
|
|
1304
|
+
description: 'The type of attachment. Values beyond the known set are permitted.',
|
|
1305
|
+
knownValues: [
|
|
1306
|
+
'report',
|
|
1307
|
+
'audit',
|
|
1308
|
+
'evidence',
|
|
1309
|
+
'testimonial',
|
|
1310
|
+
'methodology',
|
|
1311
|
+
],
|
|
1312
|
+
maxLength: 64,
|
|
740
1313
|
},
|
|
741
|
-
|
|
742
|
-
type: '
|
|
743
|
-
description: 'The
|
|
744
|
-
|
|
1314
|
+
content: {
|
|
1315
|
+
type: 'array',
|
|
1316
|
+
description: 'The files, documents, or external references included in this attachment record.',
|
|
1317
|
+
items: {
|
|
1318
|
+
type: 'union',
|
|
1319
|
+
refs: [
|
|
1320
|
+
'lex:org.hypercerts.defs#uri',
|
|
1321
|
+
'lex:org.hypercerts.defs#smallBlob',
|
|
1322
|
+
],
|
|
1323
|
+
},
|
|
1324
|
+
maxLength: 100,
|
|
745
1325
|
},
|
|
746
|
-
|
|
1326
|
+
title: {
|
|
747
1327
|
type: 'string',
|
|
748
|
-
|
|
749
|
-
|
|
1328
|
+
maxLength: 256,
|
|
1329
|
+
description: "Display title for this attachment (e.g. 'Impact Assessment Report', 'Audit Findings')",
|
|
750
1330
|
},
|
|
751
|
-
|
|
1331
|
+
shortDescription: {
|
|
752
1332
|
type: 'string',
|
|
753
|
-
|
|
754
|
-
|
|
1333
|
+
description: 'Short summary of this attachment, suitable for previews and list views. Rich text annotations may be provided via `shortDescriptionFacets`.',
|
|
1334
|
+
maxLength: 3000,
|
|
1335
|
+
maxGraphemes: 300,
|
|
755
1336
|
},
|
|
756
|
-
|
|
1337
|
+
shortDescriptionFacets: {
|
|
757
1338
|
type: 'array',
|
|
758
|
-
description: '
|
|
1339
|
+
description: 'Rich text annotations for `shortDescription` (mentions, URLs, hashtags, etc).',
|
|
759
1340
|
items: {
|
|
760
|
-
type: '
|
|
761
|
-
|
|
1341
|
+
type: 'ref',
|
|
1342
|
+
ref: 'lex:app.bsky.richtext.facet',
|
|
762
1343
|
},
|
|
763
|
-
|
|
1344
|
+
},
|
|
1345
|
+
description: {
|
|
1346
|
+
type: 'union',
|
|
1347
|
+
refs: [
|
|
1348
|
+
'lex:org.hypercerts.defs#descriptionString',
|
|
1349
|
+
'lex:pub.leaflet.pages.linearDocument',
|
|
1350
|
+
'lex:com.atproto.repo.strongRef',
|
|
1351
|
+
],
|
|
1352
|
+
description: 'Long-form description of the attachment. An inline string for plain text or markdown, a Leaflet linear document for rich-text content, or a strong reference to an external description record.',
|
|
764
1353
|
},
|
|
765
1354
|
location: {
|
|
766
1355
|
type: 'ref',
|
|
767
1356
|
ref: 'lex:com.atproto.repo.strongRef',
|
|
768
|
-
description:
|
|
1357
|
+
description: "A strong reference to the location where this attachment's subject matter occurred. The record referenced must conform with the lexicon app.certified.location.",
|
|
769
1358
|
},
|
|
770
1359
|
createdAt: {
|
|
771
1360
|
type: 'string',
|
|
772
1361
|
format: 'datetime',
|
|
773
|
-
description: 'Client-declared timestamp when this record was originally created',
|
|
1362
|
+
description: 'Client-declared timestamp when this record was originally created.',
|
|
774
1363
|
},
|
|
775
1364
|
},
|
|
776
1365
|
},
|
|
777
1366
|
},
|
|
778
1367
|
},
|
|
779
1368
|
},
|
|
780
|
-
|
|
1369
|
+
OrgHypercertsContextEvaluation: {
|
|
781
1370
|
lexicon: 1,
|
|
782
|
-
id: 'org.hypercerts.
|
|
1371
|
+
id: 'org.hypercerts.context.evaluation',
|
|
783
1372
|
defs: {
|
|
784
1373
|
main: {
|
|
785
1374
|
type: 'record',
|
|
786
|
-
description: '
|
|
1375
|
+
description: 'An evaluation of a hypercert record (e.g. an activity and its impact).',
|
|
787
1376
|
key: 'tid',
|
|
788
1377
|
record: {
|
|
789
1378
|
type: 'object',
|
|
790
|
-
required: [
|
|
791
|
-
'rightsName',
|
|
792
|
-
'rightsType',
|
|
793
|
-
'rightsDescription',
|
|
794
|
-
'createdAt',
|
|
795
|
-
],
|
|
1379
|
+
required: ['evaluators', 'summary', 'createdAt'],
|
|
796
1380
|
properties: {
|
|
797
|
-
|
|
798
|
-
type: '
|
|
799
|
-
|
|
1381
|
+
subject: {
|
|
1382
|
+
type: 'ref',
|
|
1383
|
+
ref: 'lex:com.atproto.repo.strongRef',
|
|
1384
|
+
description: 'A strong reference to what is being evaluated (e.g. activity, measurement, contribution, etc.)',
|
|
1385
|
+
},
|
|
1386
|
+
evaluators: {
|
|
1387
|
+
type: 'array',
|
|
1388
|
+
description: 'DIDs of the evaluators',
|
|
1389
|
+
items: {
|
|
1390
|
+
type: 'ref',
|
|
1391
|
+
ref: 'lex:app.certified.defs#did',
|
|
1392
|
+
},
|
|
1393
|
+
maxLength: 1000,
|
|
1394
|
+
},
|
|
1395
|
+
content: {
|
|
1396
|
+
type: 'array',
|
|
1397
|
+
description: 'Evaluation data (URIs or blobs) containing detailed reports or methodology',
|
|
1398
|
+
items: {
|
|
1399
|
+
type: 'union',
|
|
1400
|
+
refs: [
|
|
1401
|
+
'lex:org.hypercerts.defs#uri',
|
|
1402
|
+
'lex:org.hypercerts.defs#smallBlob',
|
|
1403
|
+
],
|
|
1404
|
+
},
|
|
800
1405
|
maxLength: 100,
|
|
801
1406
|
},
|
|
802
|
-
|
|
803
|
-
type: '
|
|
804
|
-
description: '
|
|
805
|
-
|
|
1407
|
+
measurements: {
|
|
1408
|
+
type: 'array',
|
|
1409
|
+
description: 'Optional references to the measurements that contributed to this evaluation. The record(s) referenced must conform with the lexicon org.hypercerts.context.measurement',
|
|
1410
|
+
items: {
|
|
1411
|
+
type: 'ref',
|
|
1412
|
+
ref: 'lex:com.atproto.repo.strongRef',
|
|
1413
|
+
},
|
|
1414
|
+
maxLength: 100,
|
|
806
1415
|
},
|
|
807
|
-
|
|
1416
|
+
summary: {
|
|
808
1417
|
type: 'string',
|
|
809
|
-
description: '
|
|
1418
|
+
description: 'Brief evaluation summary',
|
|
1419
|
+
maxLength: 5000,
|
|
1420
|
+
maxGraphemes: 1000,
|
|
810
1421
|
},
|
|
811
|
-
|
|
812
|
-
type: '
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
1422
|
+
score: {
|
|
1423
|
+
type: 'ref',
|
|
1424
|
+
ref: 'lex:org.hypercerts.context.evaluation#score',
|
|
1425
|
+
description: 'Optional overall score for this evaluation on a numeric scale.',
|
|
1426
|
+
},
|
|
1427
|
+
location: {
|
|
1428
|
+
type: 'ref',
|
|
1429
|
+
ref: 'lex:com.atproto.repo.strongRef',
|
|
1430
|
+
description: 'An optional reference for georeferenced evaluations. The record referenced must conform with the lexicon app.certified.location.',
|
|
1431
|
+
},
|
|
1432
|
+
createdAt: {
|
|
1433
|
+
type: 'string',
|
|
1434
|
+
format: 'datetime',
|
|
1435
|
+
description: 'Client-declared timestamp when this record was originally created',
|
|
1436
|
+
},
|
|
1437
|
+
},
|
|
1438
|
+
},
|
|
1439
|
+
},
|
|
1440
|
+
score: {
|
|
1441
|
+
type: 'object',
|
|
1442
|
+
description: 'Overall score for an evaluation on a numeric scale.',
|
|
1443
|
+
required: ['min', 'max', 'value'],
|
|
1444
|
+
properties: {
|
|
1445
|
+
min: {
|
|
1446
|
+
type: 'string',
|
|
1447
|
+
description: "Minimum value of the scale as a numeric string (e.g. '0', '1').",
|
|
1448
|
+
maxLength: 50,
|
|
1449
|
+
},
|
|
1450
|
+
max: {
|
|
1451
|
+
type: 'string',
|
|
1452
|
+
description: "Maximum value of the scale as a numeric string (e.g. '5', '10').",
|
|
1453
|
+
maxLength: 50,
|
|
1454
|
+
},
|
|
1455
|
+
value: {
|
|
1456
|
+
type: 'string',
|
|
1457
|
+
description: "Score within the inclusive range [min, max] as a numeric string (e.g. '3.7').",
|
|
1458
|
+
maxLength: 50,
|
|
1459
|
+
},
|
|
1460
|
+
},
|
|
1461
|
+
},
|
|
1462
|
+
},
|
|
1463
|
+
},
|
|
1464
|
+
OrgHypercertsContextMeasurement: {
|
|
1465
|
+
lexicon: 1,
|
|
1466
|
+
id: 'org.hypercerts.context.measurement',
|
|
1467
|
+
defs: {
|
|
1468
|
+
main: {
|
|
1469
|
+
type: 'record',
|
|
1470
|
+
description: 'Measurement data related to one or more records (e.g. activities, projects, etc.).',
|
|
1471
|
+
key: 'tid',
|
|
1472
|
+
record: {
|
|
1473
|
+
type: 'object',
|
|
1474
|
+
required: ['metric', 'unit', 'value', 'createdAt'],
|
|
1475
|
+
properties: {
|
|
1476
|
+
subjects: {
|
|
1477
|
+
type: 'array',
|
|
1478
|
+
description: 'Strong references to the records this measurement refers to (e.g. activities, projects, or claims).',
|
|
1479
|
+
items: {
|
|
1480
|
+
type: 'ref',
|
|
1481
|
+
ref: 'lex:com.atproto.repo.strongRef',
|
|
1482
|
+
},
|
|
1483
|
+
maxLength: 100,
|
|
1484
|
+
},
|
|
1485
|
+
metric: {
|
|
1486
|
+
type: 'string',
|
|
1487
|
+
description: 'The metric being measured, e.g. forest area restored, number of users, etc.',
|
|
1488
|
+
maxLength: 500,
|
|
1489
|
+
},
|
|
1490
|
+
unit: {
|
|
1491
|
+
type: 'string',
|
|
1492
|
+
description: 'The unit of the measured value (e.g. kg CO₂e, hectares, %, index score).',
|
|
1493
|
+
maxLength: 50,
|
|
1494
|
+
},
|
|
1495
|
+
value: {
|
|
1496
|
+
type: 'string',
|
|
1497
|
+
description: "The measured value as a numeric string (e.g. '1234.56')",
|
|
1498
|
+
maxLength: 500,
|
|
1499
|
+
},
|
|
1500
|
+
startDate: {
|
|
1501
|
+
type: 'string',
|
|
1502
|
+
format: 'datetime',
|
|
1503
|
+
description: 'The start date and time when the measurement began.',
|
|
1504
|
+
},
|
|
1505
|
+
endDate: {
|
|
1506
|
+
type: 'string',
|
|
1507
|
+
format: 'datetime',
|
|
1508
|
+
description: 'The end date and time when the measurement ended. For one-time measurements, this should equal the start date.',
|
|
1509
|
+
},
|
|
1510
|
+
locations: {
|
|
1511
|
+
type: 'array',
|
|
1512
|
+
description: 'Optional geographic references related to where the measurement was taken. Each referenced record must conform with the app.certified.location lexicon.',
|
|
1513
|
+
items: {
|
|
1514
|
+
type: 'ref',
|
|
1515
|
+
ref: 'lex:com.atproto.repo.strongRef',
|
|
1516
|
+
},
|
|
1517
|
+
maxLength: 100,
|
|
1518
|
+
},
|
|
1519
|
+
methodType: {
|
|
1520
|
+
type: 'string',
|
|
1521
|
+
description: 'Short identifier for the measurement methodology',
|
|
1522
|
+
maxLength: 30,
|
|
1523
|
+
},
|
|
1524
|
+
methodURI: {
|
|
1525
|
+
type: 'string',
|
|
1526
|
+
format: 'uri',
|
|
1527
|
+
description: 'URI to methodology documentation, standard protocol, or measurement procedure',
|
|
1528
|
+
},
|
|
1529
|
+
evidenceURI: {
|
|
1530
|
+
type: 'array',
|
|
1531
|
+
description: 'URIs to related evidence or underlying data (e.g. org.hypercerts.claim.evidence records or raw datasets)',
|
|
1532
|
+
items: {
|
|
1533
|
+
type: 'string',
|
|
1534
|
+
format: 'uri',
|
|
1535
|
+
},
|
|
1536
|
+
maxLength: 50,
|
|
1537
|
+
},
|
|
1538
|
+
measurers: {
|
|
1539
|
+
type: 'array',
|
|
1540
|
+
description: 'DIDs of the entities that performed this measurement',
|
|
1541
|
+
items: {
|
|
1542
|
+
type: 'ref',
|
|
1543
|
+
ref: 'lex:app.certified.defs#did',
|
|
1544
|
+
},
|
|
1545
|
+
maxLength: 100,
|
|
1546
|
+
},
|
|
1547
|
+
comment: {
|
|
1548
|
+
type: 'string',
|
|
1549
|
+
description: 'Short comment of this measurement, suitable for previews and list views. Rich text annotations may be provided via `commentFacets`.',
|
|
1550
|
+
maxLength: 3000,
|
|
1551
|
+
maxGraphemes: 300,
|
|
1552
|
+
},
|
|
1553
|
+
commentFacets: {
|
|
1554
|
+
type: 'array',
|
|
1555
|
+
description: 'Rich text annotations for `comment` (mentions, URLs, hashtags, etc).',
|
|
1556
|
+
items: {
|
|
1557
|
+
type: 'ref',
|
|
1558
|
+
ref: 'lex:app.bsky.richtext.facet',
|
|
1559
|
+
},
|
|
818
1560
|
},
|
|
819
1561
|
createdAt: {
|
|
820
1562
|
type: 'string',
|
|
@@ -829,7 +1571,29 @@ const schemaDict = {
|
|
|
829
1571
|
OrgHypercertsDefs: {
|
|
830
1572
|
lexicon: 1,
|
|
831
1573
|
id: 'org.hypercerts.defs',
|
|
1574
|
+
description: 'Common type definitions used across all Hypercerts protocols.',
|
|
832
1575
|
defs: {
|
|
1576
|
+
descriptionString: {
|
|
1577
|
+
type: 'object',
|
|
1578
|
+
description: 'An inline long-form description as plain text or markdown, with optional rich-text annotations.',
|
|
1579
|
+
required: ['value'],
|
|
1580
|
+
properties: {
|
|
1581
|
+
value: {
|
|
1582
|
+
type: 'string',
|
|
1583
|
+
description: 'The description text (plain text or markdown).',
|
|
1584
|
+
maxLength: 250000,
|
|
1585
|
+
maxGraphemes: 25000,
|
|
1586
|
+
},
|
|
1587
|
+
facets: {
|
|
1588
|
+
type: 'array',
|
|
1589
|
+
description: 'Rich text annotations for the description (mentions, URLs, hashtags, etc).',
|
|
1590
|
+
items: {
|
|
1591
|
+
type: 'ref',
|
|
1592
|
+
ref: 'lex:app.bsky.richtext.facet',
|
|
1593
|
+
},
|
|
1594
|
+
},
|
|
1595
|
+
},
|
|
1596
|
+
},
|
|
833
1597
|
uri: {
|
|
834
1598
|
type: 'object',
|
|
835
1599
|
required: ['uri'],
|
|
@@ -838,7 +1602,6 @@ const schemaDict = {
|
|
|
838
1602
|
uri: {
|
|
839
1603
|
type: 'string',
|
|
840
1604
|
format: 'uri',
|
|
841
|
-
maxGraphemes: 1024,
|
|
842
1605
|
description: 'URI to external data',
|
|
843
1606
|
},
|
|
844
1607
|
},
|
|
@@ -882,6 +1645,19 @@ const schemaDict = {
|
|
|
882
1645
|
},
|
|
883
1646
|
},
|
|
884
1647
|
},
|
|
1648
|
+
smallVideo: {
|
|
1649
|
+
type: 'object',
|
|
1650
|
+
required: ['video'],
|
|
1651
|
+
description: 'Object containing a small video',
|
|
1652
|
+
properties: {
|
|
1653
|
+
video: {
|
|
1654
|
+
type: 'blob',
|
|
1655
|
+
accept: ['video/mp4', 'video/webm'],
|
|
1656
|
+
maxSize: 20971520,
|
|
1657
|
+
description: 'Video (up to 20MB)',
|
|
1658
|
+
},
|
|
1659
|
+
},
|
|
1660
|
+
},
|
|
885
1661
|
largeImage: {
|
|
886
1662
|
type: 'object',
|
|
887
1663
|
required: ['image'],
|
|
@@ -895,94 +1671,6 @@ const schemaDict = {
|
|
|
895
1671
|
},
|
|
896
1672
|
},
|
|
897
1673
|
},
|
|
898
|
-
workScopeAll: {
|
|
899
|
-
type: 'object',
|
|
900
|
-
required: ['op', 'args'],
|
|
901
|
-
description: 'Logical AND operation: all arguments must be satisfied.',
|
|
902
|
-
properties: {
|
|
903
|
-
op: {
|
|
904
|
-
type: 'string',
|
|
905
|
-
const: 'all',
|
|
906
|
-
description: "Operator type: 'all' (logical AND)",
|
|
907
|
-
},
|
|
908
|
-
args: {
|
|
909
|
-
type: 'array',
|
|
910
|
-
items: {
|
|
911
|
-
type: 'union',
|
|
912
|
-
refs: [
|
|
913
|
-
'lex:org.hypercerts.defs#workScopeAll',
|
|
914
|
-
'lex:org.hypercerts.defs#workScopeAny',
|
|
915
|
-
'lex:org.hypercerts.defs#workScopeNot',
|
|
916
|
-
'lex:org.hypercerts.defs#workScopeAtom',
|
|
917
|
-
],
|
|
918
|
-
},
|
|
919
|
-
minLength: 1,
|
|
920
|
-
maxLength: 100,
|
|
921
|
-
description: 'Array of work scope expressions that must all be satisfied',
|
|
922
|
-
},
|
|
923
|
-
},
|
|
924
|
-
},
|
|
925
|
-
workScopeAny: {
|
|
926
|
-
type: 'object',
|
|
927
|
-
required: ['op', 'args'],
|
|
928
|
-
description: 'Logical OR operation: at least one argument must be satisfied.',
|
|
929
|
-
properties: {
|
|
930
|
-
op: {
|
|
931
|
-
type: 'string',
|
|
932
|
-
const: 'any',
|
|
933
|
-
description: "Operator type: 'any' (logical OR)",
|
|
934
|
-
},
|
|
935
|
-
args: {
|
|
936
|
-
type: 'array',
|
|
937
|
-
items: {
|
|
938
|
-
type: 'union',
|
|
939
|
-
refs: [
|
|
940
|
-
'lex:org.hypercerts.defs#workScopeAll',
|
|
941
|
-
'lex:org.hypercerts.defs#workScopeAny',
|
|
942
|
-
'lex:org.hypercerts.defs#workScopeNot',
|
|
943
|
-
'lex:org.hypercerts.defs#workScopeAtom',
|
|
944
|
-
],
|
|
945
|
-
},
|
|
946
|
-
minLength: 1,
|
|
947
|
-
maxLength: 100,
|
|
948
|
-
description: 'Array of work scope expressions, at least one of which must be satisfied',
|
|
949
|
-
},
|
|
950
|
-
},
|
|
951
|
-
},
|
|
952
|
-
workScopeNot: {
|
|
953
|
-
type: 'object',
|
|
954
|
-
required: ['op', 'arg'],
|
|
955
|
-
description: 'Logical NOT operation: the argument must not be satisfied.',
|
|
956
|
-
properties: {
|
|
957
|
-
op: {
|
|
958
|
-
type: 'string',
|
|
959
|
-
const: 'not',
|
|
960
|
-
description: "Operator type: 'not' (logical NOT)",
|
|
961
|
-
},
|
|
962
|
-
arg: {
|
|
963
|
-
type: 'union',
|
|
964
|
-
refs: [
|
|
965
|
-
'lex:org.hypercerts.defs#workScopeAll',
|
|
966
|
-
'lex:org.hypercerts.defs#workScopeAny',
|
|
967
|
-
'lex:org.hypercerts.defs#workScopeNot',
|
|
968
|
-
'lex:org.hypercerts.defs#workScopeAtom',
|
|
969
|
-
],
|
|
970
|
-
description: 'Work scope expression that must not be satisfied',
|
|
971
|
-
},
|
|
972
|
-
},
|
|
973
|
-
},
|
|
974
|
-
workScopeAtom: {
|
|
975
|
-
type: 'object',
|
|
976
|
-
required: ['atom'],
|
|
977
|
-
description: 'Atomic scope reference: a strong reference to a scope record.',
|
|
978
|
-
properties: {
|
|
979
|
-
atom: {
|
|
980
|
-
type: 'ref',
|
|
981
|
-
ref: 'lex:com.atproto.repo.strongRef',
|
|
982
|
-
description: 'Strong reference to an org.hypercerts.helper.workScopeTag record',
|
|
983
|
-
},
|
|
984
|
-
},
|
|
985
|
-
},
|
|
986
1674
|
},
|
|
987
1675
|
},
|
|
988
1676
|
OrgHypercertsFundingReceipt: {
|
|
@@ -995,41 +1683,55 @@ const schemaDict = {
|
|
|
995
1683
|
key: 'tid',
|
|
996
1684
|
record: {
|
|
997
1685
|
type: 'object',
|
|
998
|
-
required: ['
|
|
1686
|
+
required: ['to', 'amount', 'currency', 'createdAt'],
|
|
999
1687
|
properties: {
|
|
1000
1688
|
from: {
|
|
1001
|
-
type: '
|
|
1002
|
-
|
|
1003
|
-
|
|
1689
|
+
type: 'union',
|
|
1690
|
+
description: 'The sender of the funds (a free-text string, an account DID, or a strong reference to a record). Optional — omit to represent anonymity.',
|
|
1691
|
+
refs: [
|
|
1692
|
+
'lex:org.hypercerts.funding.receipt#text',
|
|
1693
|
+
'lex:app.certified.defs#did',
|
|
1694
|
+
'lex:com.atproto.repo.strongRef',
|
|
1695
|
+
],
|
|
1004
1696
|
},
|
|
1005
1697
|
to: {
|
|
1006
|
-
type: '
|
|
1007
|
-
description: 'The recipient of the funds
|
|
1698
|
+
type: 'union',
|
|
1699
|
+
description: 'The recipient of the funds (a free-text string, an account DID, or a strong reference to a record).',
|
|
1700
|
+
refs: [
|
|
1701
|
+
'lex:org.hypercerts.funding.receipt#text',
|
|
1702
|
+
'lex:app.certified.defs#did',
|
|
1703
|
+
'lex:com.atproto.repo.strongRef',
|
|
1704
|
+
],
|
|
1008
1705
|
},
|
|
1009
1706
|
amount: {
|
|
1010
1707
|
type: 'string',
|
|
1011
|
-
description:
|
|
1708
|
+
description: "Amount of funding received as a numeric string (e.g. '1000.50').",
|
|
1709
|
+
maxLength: 50,
|
|
1012
1710
|
},
|
|
1013
1711
|
currency: {
|
|
1014
1712
|
type: 'string',
|
|
1015
1713
|
description: 'Currency of the payment (e.g. EUR, USD, ETH).',
|
|
1714
|
+
maxLength: 10,
|
|
1016
1715
|
},
|
|
1017
1716
|
paymentRail: {
|
|
1018
1717
|
type: 'string',
|
|
1019
1718
|
description: 'How the funds were transferred (e.g. bank_transfer, credit_card, onchain, cash, check, payment_processor).',
|
|
1719
|
+
maxLength: 50,
|
|
1020
1720
|
},
|
|
1021
1721
|
paymentNetwork: {
|
|
1022
1722
|
type: 'string',
|
|
1023
1723
|
description: 'Optional network within the payment rail (e.g. arbitrum, ethereum, sepa, visa, paypal).',
|
|
1724
|
+
maxLength: 50,
|
|
1024
1725
|
},
|
|
1025
1726
|
transactionId: {
|
|
1026
1727
|
type: 'string',
|
|
1027
1728
|
description: 'Identifier of the underlying payment transaction (e.g. bank reference, onchain transaction hash, or processor-specific ID). Use paymentNetwork to specify the network where applicable.',
|
|
1729
|
+
maxLength: 256,
|
|
1028
1730
|
},
|
|
1029
1731
|
for: {
|
|
1030
|
-
type: '
|
|
1031
|
-
|
|
1032
|
-
description: 'Optional reference to the activity, project, or organization this funding relates to.',
|
|
1732
|
+
type: 'ref',
|
|
1733
|
+
ref: 'lex:com.atproto.repo.strongRef',
|
|
1734
|
+
description: 'Optional strong reference to the activity, project, or organization this funding relates to.',
|
|
1033
1735
|
},
|
|
1034
1736
|
notes: {
|
|
1035
1737
|
type: 'string',
|
|
@@ -1049,38 +1751,85 @@ const schemaDict = {
|
|
|
1049
1751
|
},
|
|
1050
1752
|
},
|
|
1051
1753
|
},
|
|
1754
|
+
text: {
|
|
1755
|
+
type: 'object',
|
|
1756
|
+
description: 'A free-text string value (e.g. a display name, wallet address, or other identifier).',
|
|
1757
|
+
required: ['value'],
|
|
1758
|
+
properties: {
|
|
1759
|
+
value: {
|
|
1760
|
+
type: 'string',
|
|
1761
|
+
description: 'The string value.',
|
|
1762
|
+
maxLength: 2048,
|
|
1763
|
+
},
|
|
1764
|
+
},
|
|
1765
|
+
},
|
|
1766
|
+
},
|
|
1767
|
+
},
|
|
1768
|
+
OrgHypercertsWorkscopeCel: {
|
|
1769
|
+
lexicon: 1,
|
|
1770
|
+
id: 'org.hypercerts.workscope.cel',
|
|
1771
|
+
defs: {
|
|
1772
|
+
main: {
|
|
1773
|
+
type: 'object',
|
|
1774
|
+
description: "A structured, machine-evaluable work scope definition using CEL (Common Expression Language). Tags referenced in the expression correspond to org.hypercerts.workscope.tag keys. See https://github.com/google/cel-spec. Note: this is intentionally type 'object' (not 'record') so it can be directly embedded inline in union types (e.g., activity.workScope) without requiring a separate collection or strongRef indirection.",
|
|
1775
|
+
required: ['expression', 'usedTags', 'version', 'createdAt'],
|
|
1776
|
+
properties: {
|
|
1777
|
+
expression: {
|
|
1778
|
+
type: 'string',
|
|
1779
|
+
maxLength: 10000,
|
|
1780
|
+
maxGraphemes: 5000,
|
|
1781
|
+
description: "A CEL expression encoding the work scope conditions. Example: scope.hasAll(['mangrove_restoration', 'environmental_education']) && location.country == 'KE'",
|
|
1782
|
+
},
|
|
1783
|
+
usedTags: {
|
|
1784
|
+
type: 'array',
|
|
1785
|
+
items: {
|
|
1786
|
+
type: 'ref',
|
|
1787
|
+
ref: 'lex:com.atproto.repo.strongRef',
|
|
1788
|
+
},
|
|
1789
|
+
maxLength: 100,
|
|
1790
|
+
description: 'Strong references to org.hypercerts.workscope.tag records used in the expression. Enables fast indexing by AT-URI and provides referential integrity to the underlying tag records.',
|
|
1791
|
+
},
|
|
1792
|
+
version: {
|
|
1793
|
+
type: 'string',
|
|
1794
|
+
maxLength: 16,
|
|
1795
|
+
knownValues: ['v1'],
|
|
1796
|
+
description: 'CEL context schema version.',
|
|
1797
|
+
},
|
|
1798
|
+
createdAt: {
|
|
1799
|
+
type: 'string',
|
|
1800
|
+
format: 'datetime',
|
|
1801
|
+
description: 'Client-declared timestamp when this expression was originally created.',
|
|
1802
|
+
},
|
|
1803
|
+
},
|
|
1804
|
+
},
|
|
1052
1805
|
},
|
|
1053
1806
|
},
|
|
1054
|
-
|
|
1807
|
+
OrgHypercertsWorkscopeTag: {
|
|
1055
1808
|
lexicon: 1,
|
|
1056
|
-
id: 'org.hypercerts.
|
|
1809
|
+
id: 'org.hypercerts.workscope.tag',
|
|
1057
1810
|
defs: {
|
|
1058
1811
|
main: {
|
|
1059
1812
|
type: 'record',
|
|
1060
|
-
description: 'A reusable scope atom for work scope logic expressions. Scopes can represent topics, languages, domains, deliverables, methods, regions, tags, or other categorical labels.',
|
|
1813
|
+
description: 'A reusable scope atom for work scope logic expressions. Scopes can represent topics, languages, domains, deliverables, methods, regions, tags, or other categorical labels. Tags are composed into structured expressions via CEL (Common Expression Language) on activity records.',
|
|
1061
1814
|
key: 'tid',
|
|
1062
1815
|
record: {
|
|
1063
1816
|
type: 'object',
|
|
1064
|
-
required: ['
|
|
1817
|
+
required: ['key', 'name', 'createdAt'],
|
|
1065
1818
|
properties: {
|
|
1066
|
-
createdAt: {
|
|
1067
|
-
type: 'string',
|
|
1068
|
-
format: 'datetime',
|
|
1069
|
-
description: 'Client-declared timestamp when this record was originally created',
|
|
1070
|
-
},
|
|
1071
1819
|
key: {
|
|
1072
1820
|
type: 'string',
|
|
1073
|
-
description: "Lowercase,
|
|
1821
|
+
description: "Lowercase, underscore-separated machine-readable key for this scope (e.g., 'mangrove_restoration', 'biodiversity_monitoring'). Used as the canonical identifier in CEL expressions.",
|
|
1074
1822
|
maxLength: 120,
|
|
1075
1823
|
},
|
|
1076
|
-
|
|
1824
|
+
name: {
|
|
1077
1825
|
type: 'string',
|
|
1078
|
-
description: 'Human-readable
|
|
1826
|
+
description: 'Human-readable name for this scope.',
|
|
1079
1827
|
maxLength: 200,
|
|
1080
1828
|
},
|
|
1081
|
-
|
|
1829
|
+
category: {
|
|
1082
1830
|
type: 'string',
|
|
1083
|
-
description: 'Category type of this scope.
|
|
1831
|
+
description: 'Category type of this scope.',
|
|
1832
|
+
knownValues: ['topic', 'language', 'domain', 'method'],
|
|
1084
1833
|
maxLength: 50,
|
|
1085
1834
|
},
|
|
1086
1835
|
description: {
|
|
@@ -1092,7 +1841,18 @@ const schemaDict = {
|
|
|
1092
1841
|
parent: {
|
|
1093
1842
|
type: 'ref',
|
|
1094
1843
|
ref: 'lex:com.atproto.repo.strongRef',
|
|
1095
|
-
description: 'Optional strong reference to a parent scope record for taxonomy/hierarchy support.',
|
|
1844
|
+
description: 'Optional strong reference to a parent work scope tag record for taxonomy/hierarchy support. The record referenced must conform with the lexicon org.hypercerts.workscope.tag.',
|
|
1845
|
+
},
|
|
1846
|
+
status: {
|
|
1847
|
+
type: 'string',
|
|
1848
|
+
description: 'Lifecycle status of this tag. Communities propose tags, curators accept them, deprecated tags point to replacements via supersededBy.',
|
|
1849
|
+
knownValues: ['proposed', 'accepted', 'deprecated'],
|
|
1850
|
+
maxLength: 20,
|
|
1851
|
+
},
|
|
1852
|
+
supersededBy: {
|
|
1853
|
+
type: 'ref',
|
|
1854
|
+
ref: 'lex:com.atproto.repo.strongRef',
|
|
1855
|
+
description: "When status is 'deprecated', points to the replacement work scope tag record. The record referenced must conform with the lexicon org.hypercerts.workscope.tag.",
|
|
1096
1856
|
},
|
|
1097
1857
|
aliases: {
|
|
1098
1858
|
type: 'array',
|
|
@@ -1101,15 +1861,657 @@ const schemaDict = {
|
|
|
1101
1861
|
maxLength: 200,
|
|
1102
1862
|
},
|
|
1103
1863
|
maxLength: 50,
|
|
1104
|
-
description: '
|
|
1864
|
+
description: 'Alternative human-readable names for this scope (e.g., translations, abbreviations, or common synonyms). Unlike sameAs, these are plain-text labels, not links to external ontologies.',
|
|
1865
|
+
},
|
|
1866
|
+
sameAs: {
|
|
1867
|
+
type: 'array',
|
|
1868
|
+
items: {
|
|
1869
|
+
type: 'string',
|
|
1870
|
+
format: 'uri',
|
|
1871
|
+
maxLength: 2048,
|
|
1872
|
+
},
|
|
1873
|
+
maxLength: 20,
|
|
1874
|
+
description: 'URIs to semantically equivalent concepts in external ontologies or taxonomies (e.g., Wikidata QIDs, ENVO terms, SDG targets). Used for interoperability, not as documentation.',
|
|
1105
1875
|
},
|
|
1106
|
-
|
|
1876
|
+
referenceDocument: {
|
|
1107
1877
|
type: 'union',
|
|
1108
1878
|
refs: [
|
|
1109
1879
|
'lex:org.hypercerts.defs#uri',
|
|
1110
1880
|
'lex:org.hypercerts.defs#smallBlob',
|
|
1111
1881
|
],
|
|
1112
|
-
description: '
|
|
1882
|
+
description: 'Link to a governance or reference document where this work scope tag is defined and further explained.',
|
|
1883
|
+
},
|
|
1884
|
+
createdAt: {
|
|
1885
|
+
type: 'string',
|
|
1886
|
+
format: 'datetime',
|
|
1887
|
+
description: 'Client-declared timestamp when this record was originally created.',
|
|
1888
|
+
},
|
|
1889
|
+
},
|
|
1890
|
+
},
|
|
1891
|
+
},
|
|
1892
|
+
},
|
|
1893
|
+
},
|
|
1894
|
+
PubLeafletBlocksBlockquote: {
|
|
1895
|
+
lexicon: 1,
|
|
1896
|
+
id: 'pub.leaflet.blocks.blockquote',
|
|
1897
|
+
defs: {
|
|
1898
|
+
main: {
|
|
1899
|
+
type: 'object',
|
|
1900
|
+
required: ['plaintext'],
|
|
1901
|
+
properties: {
|
|
1902
|
+
plaintext: {
|
|
1903
|
+
type: 'string',
|
|
1904
|
+
},
|
|
1905
|
+
facets: {
|
|
1906
|
+
type: 'array',
|
|
1907
|
+
items: {
|
|
1908
|
+
type: 'ref',
|
|
1909
|
+
ref: 'lex:pub.leaflet.richtext.facet',
|
|
1910
|
+
},
|
|
1911
|
+
},
|
|
1912
|
+
},
|
|
1913
|
+
},
|
|
1914
|
+
},
|
|
1915
|
+
},
|
|
1916
|
+
PubLeafletBlocksBskyPost: {
|
|
1917
|
+
lexicon: 1,
|
|
1918
|
+
id: 'pub.leaflet.blocks.bskyPost',
|
|
1919
|
+
defs: {
|
|
1920
|
+
main: {
|
|
1921
|
+
type: 'object',
|
|
1922
|
+
required: ['postRef'],
|
|
1923
|
+
properties: {
|
|
1924
|
+
postRef: {
|
|
1925
|
+
type: 'ref',
|
|
1926
|
+
ref: 'lex:com.atproto.repo.strongRef',
|
|
1927
|
+
},
|
|
1928
|
+
clientHost: {
|
|
1929
|
+
type: 'string',
|
|
1930
|
+
},
|
|
1931
|
+
},
|
|
1932
|
+
},
|
|
1933
|
+
},
|
|
1934
|
+
},
|
|
1935
|
+
PubLeafletBlocksButton: {
|
|
1936
|
+
lexicon: 1,
|
|
1937
|
+
id: 'pub.leaflet.blocks.button',
|
|
1938
|
+
defs: {
|
|
1939
|
+
main: {
|
|
1940
|
+
type: 'object',
|
|
1941
|
+
required: ['text', 'url'],
|
|
1942
|
+
properties: {
|
|
1943
|
+
text: {
|
|
1944
|
+
type: 'string',
|
|
1945
|
+
},
|
|
1946
|
+
url: {
|
|
1947
|
+
type: 'string',
|
|
1948
|
+
format: 'uri',
|
|
1949
|
+
},
|
|
1950
|
+
},
|
|
1951
|
+
},
|
|
1952
|
+
},
|
|
1953
|
+
},
|
|
1954
|
+
PubLeafletBlocksCode: {
|
|
1955
|
+
lexicon: 1,
|
|
1956
|
+
id: 'pub.leaflet.blocks.code',
|
|
1957
|
+
defs: {
|
|
1958
|
+
main: {
|
|
1959
|
+
type: 'object',
|
|
1960
|
+
required: ['plaintext'],
|
|
1961
|
+
properties: {
|
|
1962
|
+
plaintext: {
|
|
1963
|
+
type: 'string',
|
|
1964
|
+
},
|
|
1965
|
+
language: {
|
|
1966
|
+
type: 'string',
|
|
1967
|
+
},
|
|
1968
|
+
syntaxHighlightingTheme: {
|
|
1969
|
+
type: 'string',
|
|
1970
|
+
},
|
|
1971
|
+
},
|
|
1972
|
+
},
|
|
1973
|
+
},
|
|
1974
|
+
},
|
|
1975
|
+
PubLeafletBlocksHeader: {
|
|
1976
|
+
lexicon: 1,
|
|
1977
|
+
id: 'pub.leaflet.blocks.header',
|
|
1978
|
+
defs: {
|
|
1979
|
+
main: {
|
|
1980
|
+
type: 'object',
|
|
1981
|
+
required: ['plaintext'],
|
|
1982
|
+
properties: {
|
|
1983
|
+
level: {
|
|
1984
|
+
type: 'integer',
|
|
1985
|
+
minimum: 1,
|
|
1986
|
+
maximum: 6,
|
|
1987
|
+
},
|
|
1988
|
+
plaintext: {
|
|
1989
|
+
type: 'string',
|
|
1990
|
+
},
|
|
1991
|
+
facets: {
|
|
1992
|
+
type: 'array',
|
|
1993
|
+
items: {
|
|
1994
|
+
type: 'ref',
|
|
1995
|
+
ref: 'lex:pub.leaflet.richtext.facet',
|
|
1996
|
+
},
|
|
1997
|
+
},
|
|
1998
|
+
},
|
|
1999
|
+
},
|
|
2000
|
+
},
|
|
2001
|
+
},
|
|
2002
|
+
PubLeafletBlocksHorizontalRule: {
|
|
2003
|
+
lexicon: 1,
|
|
2004
|
+
id: 'pub.leaflet.blocks.horizontalRule',
|
|
2005
|
+
defs: {
|
|
2006
|
+
main: {
|
|
2007
|
+
type: 'object',
|
|
2008
|
+
required: [],
|
|
2009
|
+
properties: {},
|
|
2010
|
+
},
|
|
2011
|
+
},
|
|
2012
|
+
},
|
|
2013
|
+
PubLeafletBlocksIframe: {
|
|
2014
|
+
lexicon: 1,
|
|
2015
|
+
id: 'pub.leaflet.blocks.iframe',
|
|
2016
|
+
defs: {
|
|
2017
|
+
main: {
|
|
2018
|
+
type: 'object',
|
|
2019
|
+
required: ['url'],
|
|
2020
|
+
properties: {
|
|
2021
|
+
url: {
|
|
2022
|
+
type: 'string',
|
|
2023
|
+
format: 'uri',
|
|
2024
|
+
},
|
|
2025
|
+
height: {
|
|
2026
|
+
type: 'integer',
|
|
2027
|
+
minimum: 16,
|
|
2028
|
+
maximum: 1600,
|
|
2029
|
+
},
|
|
2030
|
+
},
|
|
2031
|
+
},
|
|
2032
|
+
},
|
|
2033
|
+
},
|
|
2034
|
+
PubLeafletBlocksImage: {
|
|
2035
|
+
lexicon: 1,
|
|
2036
|
+
id: 'pub.leaflet.blocks.image',
|
|
2037
|
+
defs: {
|
|
2038
|
+
main: {
|
|
2039
|
+
type: 'object',
|
|
2040
|
+
required: ['image', 'aspectRatio'],
|
|
2041
|
+
properties: {
|
|
2042
|
+
image: {
|
|
2043
|
+
type: 'blob',
|
|
2044
|
+
accept: ['image/*'],
|
|
2045
|
+
maxSize: 1000000,
|
|
2046
|
+
},
|
|
2047
|
+
alt: {
|
|
2048
|
+
type: 'string',
|
|
2049
|
+
description: 'Alt text description of the image, for accessibility.',
|
|
2050
|
+
},
|
|
2051
|
+
aspectRatio: {
|
|
2052
|
+
type: 'ref',
|
|
2053
|
+
ref: 'lex:pub.leaflet.blocks.image#aspectRatio',
|
|
2054
|
+
},
|
|
2055
|
+
},
|
|
2056
|
+
},
|
|
2057
|
+
aspectRatio: {
|
|
2058
|
+
type: 'object',
|
|
2059
|
+
required: ['width', 'height'],
|
|
2060
|
+
properties: {
|
|
2061
|
+
width: {
|
|
2062
|
+
type: 'integer',
|
|
2063
|
+
},
|
|
2064
|
+
height: {
|
|
2065
|
+
type: 'integer',
|
|
2066
|
+
},
|
|
2067
|
+
},
|
|
2068
|
+
},
|
|
2069
|
+
},
|
|
2070
|
+
},
|
|
2071
|
+
PubLeafletBlocksMath: {
|
|
2072
|
+
lexicon: 1,
|
|
2073
|
+
id: 'pub.leaflet.blocks.math',
|
|
2074
|
+
defs: {
|
|
2075
|
+
main: {
|
|
2076
|
+
type: 'object',
|
|
2077
|
+
required: ['tex'],
|
|
2078
|
+
properties: {
|
|
2079
|
+
tex: {
|
|
2080
|
+
type: 'string',
|
|
2081
|
+
},
|
|
2082
|
+
},
|
|
2083
|
+
},
|
|
2084
|
+
},
|
|
2085
|
+
},
|
|
2086
|
+
PubLeafletBlocksOrderedList: {
|
|
2087
|
+
lexicon: 1,
|
|
2088
|
+
id: 'pub.leaflet.blocks.orderedList',
|
|
2089
|
+
defs: {
|
|
2090
|
+
main: {
|
|
2091
|
+
type: 'object',
|
|
2092
|
+
required: ['children'],
|
|
2093
|
+
properties: {
|
|
2094
|
+
startIndex: {
|
|
2095
|
+
type: 'integer',
|
|
2096
|
+
description: 'The starting number for this ordered list. Defaults to 1 if not specified.',
|
|
2097
|
+
},
|
|
2098
|
+
children: {
|
|
2099
|
+
type: 'array',
|
|
2100
|
+
items: {
|
|
2101
|
+
type: 'ref',
|
|
2102
|
+
ref: 'lex:pub.leaflet.blocks.orderedList#listItem',
|
|
2103
|
+
},
|
|
2104
|
+
},
|
|
2105
|
+
},
|
|
2106
|
+
},
|
|
2107
|
+
listItem: {
|
|
2108
|
+
type: 'object',
|
|
2109
|
+
required: ['content'],
|
|
2110
|
+
properties: {
|
|
2111
|
+
checked: {
|
|
2112
|
+
type: 'boolean',
|
|
2113
|
+
description: 'If present, this item is a checklist item. true = checked, false = unchecked. If absent, this is a normal list item.',
|
|
2114
|
+
},
|
|
2115
|
+
content: {
|
|
2116
|
+
type: 'union',
|
|
2117
|
+
refs: [
|
|
2118
|
+
'lex:pub.leaflet.blocks.text',
|
|
2119
|
+
'lex:pub.leaflet.blocks.header',
|
|
2120
|
+
'lex:pub.leaflet.blocks.image',
|
|
2121
|
+
],
|
|
2122
|
+
},
|
|
2123
|
+
children: {
|
|
2124
|
+
type: 'array',
|
|
2125
|
+
description: 'Nested ordered list items. Mutually exclusive with unorderedListChildren; if both are present, children takes precedence.',
|
|
2126
|
+
items: {
|
|
2127
|
+
type: 'ref',
|
|
2128
|
+
ref: 'lex:pub.leaflet.blocks.orderedList#listItem',
|
|
2129
|
+
},
|
|
2130
|
+
},
|
|
2131
|
+
unorderedListChildren: {
|
|
2132
|
+
type: 'ref',
|
|
2133
|
+
description: 'A nested unordered list. Mutually exclusive with children; if both are present, children takes precedence.',
|
|
2134
|
+
ref: 'lex:pub.leaflet.blocks.unorderedList',
|
|
2135
|
+
},
|
|
2136
|
+
},
|
|
2137
|
+
},
|
|
2138
|
+
},
|
|
2139
|
+
},
|
|
2140
|
+
PubLeafletBlocksPage: {
|
|
2141
|
+
lexicon: 1,
|
|
2142
|
+
id: 'pub.leaflet.blocks.page',
|
|
2143
|
+
defs: {
|
|
2144
|
+
main: {
|
|
2145
|
+
type: 'object',
|
|
2146
|
+
required: ['id'],
|
|
2147
|
+
properties: {
|
|
2148
|
+
id: {
|
|
2149
|
+
type: 'string',
|
|
2150
|
+
},
|
|
2151
|
+
},
|
|
2152
|
+
},
|
|
2153
|
+
},
|
|
2154
|
+
},
|
|
2155
|
+
PubLeafletBlocksPoll: {
|
|
2156
|
+
lexicon: 1,
|
|
2157
|
+
id: 'pub.leaflet.blocks.poll',
|
|
2158
|
+
defs: {
|
|
2159
|
+
main: {
|
|
2160
|
+
type: 'object',
|
|
2161
|
+
required: ['pollRef'],
|
|
2162
|
+
properties: {
|
|
2163
|
+
pollRef: {
|
|
2164
|
+
type: 'ref',
|
|
2165
|
+
ref: 'lex:com.atproto.repo.strongRef',
|
|
2166
|
+
},
|
|
2167
|
+
},
|
|
2168
|
+
},
|
|
2169
|
+
},
|
|
2170
|
+
},
|
|
2171
|
+
PubLeafletBlocksText: {
|
|
2172
|
+
lexicon: 1,
|
|
2173
|
+
id: 'pub.leaflet.blocks.text',
|
|
2174
|
+
defs: {
|
|
2175
|
+
main: {
|
|
2176
|
+
type: 'object',
|
|
2177
|
+
required: ['plaintext'],
|
|
2178
|
+
properties: {
|
|
2179
|
+
plaintext: {
|
|
2180
|
+
type: 'string',
|
|
2181
|
+
},
|
|
2182
|
+
textSize: {
|
|
2183
|
+
type: 'string',
|
|
2184
|
+
enum: ['default', 'small', 'large'],
|
|
2185
|
+
},
|
|
2186
|
+
facets: {
|
|
2187
|
+
type: 'array',
|
|
2188
|
+
items: {
|
|
2189
|
+
type: 'ref',
|
|
2190
|
+
ref: 'lex:pub.leaflet.richtext.facet',
|
|
2191
|
+
},
|
|
2192
|
+
},
|
|
2193
|
+
},
|
|
2194
|
+
},
|
|
2195
|
+
},
|
|
2196
|
+
},
|
|
2197
|
+
PubLeafletBlocksUnorderedList: {
|
|
2198
|
+
lexicon: 1,
|
|
2199
|
+
id: 'pub.leaflet.blocks.unorderedList',
|
|
2200
|
+
defs: {
|
|
2201
|
+
main: {
|
|
2202
|
+
type: 'object',
|
|
2203
|
+
required: ['children'],
|
|
2204
|
+
properties: {
|
|
2205
|
+
children: {
|
|
2206
|
+
type: 'array',
|
|
2207
|
+
items: {
|
|
2208
|
+
type: 'ref',
|
|
2209
|
+
ref: 'lex:pub.leaflet.blocks.unorderedList#listItem',
|
|
2210
|
+
},
|
|
2211
|
+
},
|
|
2212
|
+
},
|
|
2213
|
+
},
|
|
2214
|
+
listItem: {
|
|
2215
|
+
type: 'object',
|
|
2216
|
+
required: ['content'],
|
|
2217
|
+
properties: {
|
|
2218
|
+
checked: {
|
|
2219
|
+
type: 'boolean',
|
|
2220
|
+
description: 'If present, this item is a checklist item. true = checked, false = unchecked. If absent, this is a normal list item.',
|
|
2221
|
+
},
|
|
2222
|
+
content: {
|
|
2223
|
+
type: 'union',
|
|
2224
|
+
refs: [
|
|
2225
|
+
'lex:pub.leaflet.blocks.text',
|
|
2226
|
+
'lex:pub.leaflet.blocks.header',
|
|
2227
|
+
'lex:pub.leaflet.blocks.image',
|
|
2228
|
+
],
|
|
2229
|
+
},
|
|
2230
|
+
children: {
|
|
2231
|
+
type: 'array',
|
|
2232
|
+
description: 'Nested unordered list items. Mutually exclusive with orderedListChildren; if both are present, children takes precedence.',
|
|
2233
|
+
items: {
|
|
2234
|
+
type: 'ref',
|
|
2235
|
+
ref: 'lex:pub.leaflet.blocks.unorderedList#listItem',
|
|
2236
|
+
},
|
|
2237
|
+
},
|
|
2238
|
+
orderedListChildren: {
|
|
2239
|
+
type: 'ref',
|
|
2240
|
+
description: 'Nested ordered list items. Mutually exclusive with children; if both are present, children takes precedence.',
|
|
2241
|
+
ref: 'lex:pub.leaflet.blocks.orderedList',
|
|
2242
|
+
},
|
|
2243
|
+
},
|
|
2244
|
+
},
|
|
2245
|
+
},
|
|
2246
|
+
},
|
|
2247
|
+
PubLeafletBlocksWebsite: {
|
|
2248
|
+
lexicon: 1,
|
|
2249
|
+
id: 'pub.leaflet.blocks.website',
|
|
2250
|
+
defs: {
|
|
2251
|
+
main: {
|
|
2252
|
+
type: 'object',
|
|
2253
|
+
required: ['src'],
|
|
2254
|
+
properties: {
|
|
2255
|
+
previewImage: {
|
|
2256
|
+
type: 'blob',
|
|
2257
|
+
accept: ['image/*'],
|
|
2258
|
+
maxSize: 1000000,
|
|
2259
|
+
},
|
|
2260
|
+
title: {
|
|
2261
|
+
type: 'string',
|
|
2262
|
+
},
|
|
2263
|
+
description: {
|
|
2264
|
+
type: 'string',
|
|
2265
|
+
},
|
|
2266
|
+
src: {
|
|
2267
|
+
type: 'string',
|
|
2268
|
+
format: 'uri',
|
|
2269
|
+
},
|
|
2270
|
+
},
|
|
2271
|
+
},
|
|
2272
|
+
},
|
|
2273
|
+
},
|
|
2274
|
+
PubLeafletPagesLinearDocument: {
|
|
2275
|
+
lexicon: 1,
|
|
2276
|
+
id: 'pub.leaflet.pages.linearDocument',
|
|
2277
|
+
defs: {
|
|
2278
|
+
main: {
|
|
2279
|
+
type: 'object',
|
|
2280
|
+
required: ['blocks'],
|
|
2281
|
+
properties: {
|
|
2282
|
+
id: {
|
|
2283
|
+
type: 'string',
|
|
2284
|
+
},
|
|
2285
|
+
blocks: {
|
|
2286
|
+
type: 'array',
|
|
2287
|
+
items: {
|
|
2288
|
+
type: 'ref',
|
|
2289
|
+
ref: 'lex:pub.leaflet.pages.linearDocument#block',
|
|
2290
|
+
},
|
|
2291
|
+
},
|
|
2292
|
+
},
|
|
2293
|
+
},
|
|
2294
|
+
block: {
|
|
2295
|
+
type: 'object',
|
|
2296
|
+
required: ['block'],
|
|
2297
|
+
properties: {
|
|
2298
|
+
block: {
|
|
2299
|
+
type: 'union',
|
|
2300
|
+
refs: [
|
|
2301
|
+
'lex:pub.leaflet.blocks.iframe',
|
|
2302
|
+
'lex:pub.leaflet.blocks.text',
|
|
2303
|
+
'lex:pub.leaflet.blocks.blockquote',
|
|
2304
|
+
'lex:pub.leaflet.blocks.header',
|
|
2305
|
+
'lex:pub.leaflet.blocks.image',
|
|
2306
|
+
'lex:pub.leaflet.blocks.unorderedList',
|
|
2307
|
+
'lex:pub.leaflet.blocks.orderedList',
|
|
2308
|
+
'lex:pub.leaflet.blocks.website',
|
|
2309
|
+
'lex:pub.leaflet.blocks.math',
|
|
2310
|
+
'lex:pub.leaflet.blocks.code',
|
|
2311
|
+
'lex:pub.leaflet.blocks.horizontalRule',
|
|
2312
|
+
'lex:pub.leaflet.blocks.bskyPost',
|
|
2313
|
+
'lex:pub.leaflet.blocks.page',
|
|
2314
|
+
'lex:pub.leaflet.blocks.poll',
|
|
2315
|
+
'lex:pub.leaflet.blocks.button',
|
|
2316
|
+
],
|
|
2317
|
+
},
|
|
2318
|
+
alignment: {
|
|
2319
|
+
type: 'string',
|
|
2320
|
+
knownValues: [
|
|
2321
|
+
'lex:pub.leaflet.pages.linearDocument#textAlignLeft',
|
|
2322
|
+
'lex:pub.leaflet.pages.linearDocument#textAlignCenter',
|
|
2323
|
+
'lex:pub.leaflet.pages.linearDocument#textAlignRight',
|
|
2324
|
+
'lex:pub.leaflet.pages.linearDocument#textAlignJustify',
|
|
2325
|
+
],
|
|
2326
|
+
},
|
|
2327
|
+
},
|
|
2328
|
+
},
|
|
2329
|
+
textAlignLeft: {
|
|
2330
|
+
type: 'token',
|
|
2331
|
+
},
|
|
2332
|
+
textAlignCenter: {
|
|
2333
|
+
type: 'token',
|
|
2334
|
+
},
|
|
2335
|
+
textAlignRight: {
|
|
2336
|
+
type: 'token',
|
|
2337
|
+
},
|
|
2338
|
+
textAlignJustify: {
|
|
2339
|
+
type: 'token',
|
|
2340
|
+
},
|
|
2341
|
+
quote: {
|
|
2342
|
+
type: 'object',
|
|
2343
|
+
required: ['start', 'end'],
|
|
2344
|
+
properties: {
|
|
2345
|
+
start: {
|
|
2346
|
+
type: 'ref',
|
|
2347
|
+
ref: 'lex:pub.leaflet.pages.linearDocument#position',
|
|
2348
|
+
},
|
|
2349
|
+
end: {
|
|
2350
|
+
type: 'ref',
|
|
2351
|
+
ref: 'lex:pub.leaflet.pages.linearDocument#position',
|
|
2352
|
+
},
|
|
2353
|
+
},
|
|
2354
|
+
},
|
|
2355
|
+
position: {
|
|
2356
|
+
type: 'object',
|
|
2357
|
+
required: ['block', 'offset'],
|
|
2358
|
+
properties: {
|
|
2359
|
+
block: {
|
|
2360
|
+
type: 'array',
|
|
2361
|
+
items: {
|
|
2362
|
+
type: 'integer',
|
|
2363
|
+
},
|
|
2364
|
+
},
|
|
2365
|
+
offset: {
|
|
2366
|
+
type: 'integer',
|
|
2367
|
+
},
|
|
2368
|
+
},
|
|
2369
|
+
},
|
|
2370
|
+
},
|
|
2371
|
+
},
|
|
2372
|
+
PubLeafletRichtextFacet: {
|
|
2373
|
+
lexicon: 1,
|
|
2374
|
+
id: 'pub.leaflet.richtext.facet',
|
|
2375
|
+
defs: {
|
|
2376
|
+
main: {
|
|
2377
|
+
type: 'object',
|
|
2378
|
+
description: 'Annotation of a sub-string within rich text.',
|
|
2379
|
+
required: ['index', 'features'],
|
|
2380
|
+
properties: {
|
|
2381
|
+
index: {
|
|
2382
|
+
type: 'ref',
|
|
2383
|
+
ref: 'lex:pub.leaflet.richtext.facet#byteSlice',
|
|
2384
|
+
},
|
|
2385
|
+
features: {
|
|
2386
|
+
type: 'array',
|
|
2387
|
+
items: {
|
|
2388
|
+
type: 'union',
|
|
2389
|
+
refs: [
|
|
2390
|
+
'lex:pub.leaflet.richtext.facet#link',
|
|
2391
|
+
'lex:pub.leaflet.richtext.facet#didMention',
|
|
2392
|
+
'lex:pub.leaflet.richtext.facet#atMention',
|
|
2393
|
+
'lex:pub.leaflet.richtext.facet#code',
|
|
2394
|
+
'lex:pub.leaflet.richtext.facet#highlight',
|
|
2395
|
+
'lex:pub.leaflet.richtext.facet#underline',
|
|
2396
|
+
'lex:pub.leaflet.richtext.facet#strikethrough',
|
|
2397
|
+
'lex:pub.leaflet.richtext.facet#id',
|
|
2398
|
+
'lex:pub.leaflet.richtext.facet#bold',
|
|
2399
|
+
'lex:pub.leaflet.richtext.facet#italic',
|
|
2400
|
+
'lex:pub.leaflet.richtext.facet#footnote',
|
|
2401
|
+
],
|
|
2402
|
+
},
|
|
2403
|
+
},
|
|
2404
|
+
},
|
|
2405
|
+
},
|
|
2406
|
+
byteSlice: {
|
|
2407
|
+
type: 'object',
|
|
2408
|
+
description: 'Specifies the sub-string range a facet feature applies to. Start index is inclusive, end index is exclusive. Indices are zero-indexed, counting bytes of the UTF-8 encoded text. NOTE: some languages, like Javascript, use UTF-16 or Unicode codepoints for string slice indexing; in these languages, convert to byte arrays before working with facets.',
|
|
2409
|
+
required: ['byteStart', 'byteEnd'],
|
|
2410
|
+
properties: {
|
|
2411
|
+
byteStart: {
|
|
2412
|
+
type: 'integer',
|
|
2413
|
+
minimum: 0,
|
|
2414
|
+
},
|
|
2415
|
+
byteEnd: {
|
|
2416
|
+
type: 'integer',
|
|
2417
|
+
minimum: 0,
|
|
2418
|
+
},
|
|
2419
|
+
},
|
|
2420
|
+
},
|
|
2421
|
+
link: {
|
|
2422
|
+
type: 'object',
|
|
2423
|
+
description: 'Facet feature for a URL. The text URL may have been simplified or truncated, but the facet reference should be a complete URL.',
|
|
2424
|
+
required: ['uri'],
|
|
2425
|
+
properties: {
|
|
2426
|
+
uri: {
|
|
2427
|
+
type: 'string',
|
|
2428
|
+
},
|
|
2429
|
+
},
|
|
2430
|
+
},
|
|
2431
|
+
didMention: {
|
|
2432
|
+
type: 'object',
|
|
2433
|
+
description: 'Facet feature for mentioning a did.',
|
|
2434
|
+
required: ['did'],
|
|
2435
|
+
properties: {
|
|
2436
|
+
did: {
|
|
2437
|
+
type: 'string',
|
|
2438
|
+
format: 'did',
|
|
2439
|
+
},
|
|
2440
|
+
},
|
|
2441
|
+
},
|
|
2442
|
+
atMention: {
|
|
2443
|
+
type: 'object',
|
|
2444
|
+
description: 'Facet feature for mentioning an AT URI.',
|
|
2445
|
+
required: ['atURI'],
|
|
2446
|
+
properties: {
|
|
2447
|
+
atURI: {
|
|
2448
|
+
type: 'string',
|
|
2449
|
+
format: 'uri',
|
|
2450
|
+
},
|
|
2451
|
+
},
|
|
2452
|
+
},
|
|
2453
|
+
code: {
|
|
2454
|
+
type: 'object',
|
|
2455
|
+
description: 'Facet feature for inline code.',
|
|
2456
|
+
required: [],
|
|
2457
|
+
properties: {},
|
|
2458
|
+
},
|
|
2459
|
+
highlight: {
|
|
2460
|
+
type: 'object',
|
|
2461
|
+
description: 'Facet feature for highlighted text.',
|
|
2462
|
+
required: [],
|
|
2463
|
+
properties: {},
|
|
2464
|
+
},
|
|
2465
|
+
underline: {
|
|
2466
|
+
type: 'object',
|
|
2467
|
+
description: 'Facet feature for underline markup',
|
|
2468
|
+
required: [],
|
|
2469
|
+
properties: {},
|
|
2470
|
+
},
|
|
2471
|
+
strikethrough: {
|
|
2472
|
+
type: 'object',
|
|
2473
|
+
description: 'Facet feature for strikethrough markup',
|
|
2474
|
+
required: [],
|
|
2475
|
+
properties: {},
|
|
2476
|
+
},
|
|
2477
|
+
id: {
|
|
2478
|
+
type: 'object',
|
|
2479
|
+
description: 'Facet feature for an identifier. Used for linking to a segment',
|
|
2480
|
+
required: [],
|
|
2481
|
+
properties: {
|
|
2482
|
+
id: {
|
|
2483
|
+
type: 'string',
|
|
2484
|
+
},
|
|
2485
|
+
},
|
|
2486
|
+
},
|
|
2487
|
+
bold: {
|
|
2488
|
+
type: 'object',
|
|
2489
|
+
description: 'Facet feature for bold text',
|
|
2490
|
+
required: [],
|
|
2491
|
+
properties: {},
|
|
2492
|
+
},
|
|
2493
|
+
italic: {
|
|
2494
|
+
type: 'object',
|
|
2495
|
+
description: 'Facet feature for italic text',
|
|
2496
|
+
required: [],
|
|
2497
|
+
properties: {},
|
|
2498
|
+
},
|
|
2499
|
+
footnote: {
|
|
2500
|
+
type: 'object',
|
|
2501
|
+
description: 'Facet feature for a footnote reference',
|
|
2502
|
+
required: ['footnoteId', 'contentPlaintext'],
|
|
2503
|
+
properties: {
|
|
2504
|
+
footnoteId: {
|
|
2505
|
+
type: 'string',
|
|
2506
|
+
},
|
|
2507
|
+
contentPlaintext: {
|
|
2508
|
+
type: 'string',
|
|
2509
|
+
},
|
|
2510
|
+
contentFacets: {
|
|
2511
|
+
type: 'array',
|
|
2512
|
+
items: {
|
|
2513
|
+
type: 'ref',
|
|
2514
|
+
ref: 'lex:pub.leaflet.richtext.facet#main',
|
|
1113
2515
|
},
|
|
1114
2516
|
},
|
|
1115
2517
|
},
|
|
@@ -1128,23 +2530,48 @@ function validate(v, id, hash, requiredType) {
|
|
|
1128
2530
|
};
|
|
1129
2531
|
}
|
|
1130
2532
|
const ids = {
|
|
2533
|
+
AppBskyRichtextFacet: 'app.bsky.richtext.facet',
|
|
2534
|
+
AppCertifiedActorOrganization: 'app.certified.actor.organization',
|
|
2535
|
+
AppCertifiedActorProfile: 'app.certified.actor.profile',
|
|
1131
2536
|
AppCertifiedBadgeAward: 'app.certified.badge.award',
|
|
1132
2537
|
AppCertifiedBadgeDefinition: 'app.certified.badge.definition',
|
|
1133
2538
|
AppCertifiedBadgeResponse: 'app.certified.badge.response',
|
|
1134
2539
|
AppCertifiedDefs: 'app.certified.defs',
|
|
2540
|
+
AppCertifiedLinkEvm: 'app.certified.link.evm',
|
|
1135
2541
|
AppCertifiedLocation: 'app.certified.location',
|
|
1136
2542
|
ComAtprotoRepoStrongRef: 'com.atproto.repo.strongRef',
|
|
2543
|
+
OrgHyperboardsBoard: 'org.hyperboards.board',
|
|
2544
|
+
OrgHyperboardsDisplayProfile: 'org.hyperboards.displayProfile',
|
|
1137
2545
|
OrgHypercertsClaimActivity: 'org.hypercerts.claim.activity',
|
|
1138
|
-
|
|
1139
|
-
OrgHypercertsClaimContributionDetails: 'org.hypercerts.claim.contributionDetails',
|
|
2546
|
+
OrgHypercertsClaimContribution: 'org.hypercerts.claim.contribution',
|
|
1140
2547
|
OrgHypercertsClaimContributorInformation: 'org.hypercerts.claim.contributorInformation',
|
|
1141
|
-
OrgHypercertsClaimEvaluation: 'org.hypercerts.claim.evaluation',
|
|
1142
|
-
OrgHypercertsClaimEvidence: 'org.hypercerts.claim.evidence',
|
|
1143
|
-
OrgHypercertsClaimMeasurement: 'org.hypercerts.claim.measurement',
|
|
1144
2548
|
OrgHypercertsClaimRights: 'org.hypercerts.claim.rights',
|
|
2549
|
+
OrgHypercertsCollection: 'org.hypercerts.collection',
|
|
2550
|
+
OrgHypercertsContextAcknowledgement: 'org.hypercerts.context.acknowledgement',
|
|
2551
|
+
OrgHypercertsContextAttachment: 'org.hypercerts.context.attachment',
|
|
2552
|
+
OrgHypercertsContextEvaluation: 'org.hypercerts.context.evaluation',
|
|
2553
|
+
OrgHypercertsContextMeasurement: 'org.hypercerts.context.measurement',
|
|
1145
2554
|
OrgHypercertsDefs: 'org.hypercerts.defs',
|
|
1146
2555
|
OrgHypercertsFundingReceipt: 'org.hypercerts.funding.receipt',
|
|
1147
|
-
|
|
2556
|
+
OrgHypercertsWorkscopeCel: 'org.hypercerts.workscope.cel',
|
|
2557
|
+
OrgHypercertsWorkscopeTag: 'org.hypercerts.workscope.tag',
|
|
2558
|
+
PubLeafletBlocksBlockquote: 'pub.leaflet.blocks.blockquote',
|
|
2559
|
+
PubLeafletBlocksBskyPost: 'pub.leaflet.blocks.bskyPost',
|
|
2560
|
+
PubLeafletBlocksButton: 'pub.leaflet.blocks.button',
|
|
2561
|
+
PubLeafletBlocksCode: 'pub.leaflet.blocks.code',
|
|
2562
|
+
PubLeafletBlocksHeader: 'pub.leaflet.blocks.header',
|
|
2563
|
+
PubLeafletBlocksHorizontalRule: 'pub.leaflet.blocks.horizontalRule',
|
|
2564
|
+
PubLeafletBlocksIframe: 'pub.leaflet.blocks.iframe',
|
|
2565
|
+
PubLeafletBlocksImage: 'pub.leaflet.blocks.image',
|
|
2566
|
+
PubLeafletBlocksMath: 'pub.leaflet.blocks.math',
|
|
2567
|
+
PubLeafletBlocksOrderedList: 'pub.leaflet.blocks.orderedList',
|
|
2568
|
+
PubLeafletBlocksPage: 'pub.leaflet.blocks.page',
|
|
2569
|
+
PubLeafletBlocksPoll: 'pub.leaflet.blocks.poll',
|
|
2570
|
+
PubLeafletBlocksText: 'pub.leaflet.blocks.text',
|
|
2571
|
+
PubLeafletBlocksUnorderedList: 'pub.leaflet.blocks.unorderedList',
|
|
2572
|
+
PubLeafletBlocksWebsite: 'pub.leaflet.blocks.website',
|
|
2573
|
+
PubLeafletPagesLinearDocument: 'pub.leaflet.pages.linearDocument',
|
|
2574
|
+
PubLeafletRichtextFacet: 'pub.leaflet.richtext.facet',
|
|
1148
2575
|
};
|
|
1149
2576
|
|
|
1150
2577
|
export { ids, lexicons, schemaDict, schemas, validate };
|