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