this repo has no description

first pass at lexicons

Changed files
+412
lexicons
+25
lexicons/social/scrumble/beta/account/join.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "social.scrumble.beta.account.join", 4 + "defs": { 5 + "main": { 6 + "type": "record", 7 + "description": "Indicates that an account (user) wants to to be part of a scene. The key must be the DID of the scene.", 8 + "key": "any", 9 + "record": { 10 + "type": "object", 11 + "required": [], 12 + "properties": { 13 + "scene": { 14 + "type": "string", 15 + "format": "did" 16 + }, 17 + "createdAt": { 18 + "type": "string", 19 + "format": "datetime" 20 + } 21 + } 22 + } 23 + } 24 + } 25 + }
+29
lexicons/social/scrumble/beta/account/profile.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "social.scrumble.beta.account.profile", 4 + "defs": { 5 + "main": { 6 + "type": "record", 7 + "description": "Scrumble user profile. Presence of this record indicates that the account is a scrumble user. Scene community accounts should also include this record.", 8 + "key": "literal:self", 9 + "record": { 10 + "type": "object", 11 + "required": [], 12 + "properties": { 13 + "avatar": { 14 + "type": "blob", 15 + "accept": [ 16 + "image/png", 17 + "image/jpeg" 18 + ], 19 + "maxSize": 2000000 20 + }, 21 + "createdAt": { 22 + "type": "string", 23 + "format": "datetime" 24 + } 25 + } 26 + } 27 + } 28 + } 29 + }
+28
lexicons/social/scrumble/beta/collection/comment.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "social.scrumble.beta.collection.comment", 4 + "defs": { 5 + "main": { 6 + "type": "record", 7 + "description": "Threaded discussion comment on an item.", 8 + "key": "tid", 9 + "record": { 10 + "type": "object", 11 + "required": ["scene", "item", "createdAt", "text"], 12 + "properties": { 13 + "scene": { "type": "string", "format": "did" }, 14 + "item": { "type": "ref", "ref": "com.atproto.repo.strongRef" }, 15 + "parent": { "type": "ref", "ref": "com.atproto.repo.strongRef" }, 16 + "text": { 17 + "type": "string", 18 + "description": "TODO: length limit, and whether this is markdown (probably yes, but what subset)" 19 + }, 20 + "createdAt": { 21 + "type": "string", 22 + "format": "datetime" 23 + } 24 + } 25 + } 26 + } 27 + } 28 + }
+27
lexicons/social/scrumble/beta/collection/feedback.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "social.scrumble.beta.collection.feedback", 4 + "defs": { 5 + "main": { 6 + "type": "record", 7 + "description": "Up/Down feedback on an item of content in a scene, from an account. Aggregating services must check for duplicate feedback.", 8 + "key": "tid", 9 + "record": { 10 + "type": "object", 11 + "required": ["scene", "subject", "feedback", "createdAt"], 12 + "properties": { 13 + "scene": { "type": "string", "format": "did" }, 14 + "subject": { "type": "ref", "ref": "com.atproto.repo.strongRef" }, 15 + "feedback": { 16 + "type": "string", 17 + "enum": ["up", "down"] 18 + }, 19 + "createdAt": { 20 + "type": "string", 21 + "format": "datetime" 22 + } 23 + } 24 + } 25 + } 26 + } 27 + }
+126
lexicons/social/scrumble/beta/collection/item.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "social.scrumble.beta.collection.item", 4 + "defs": { 5 + "main": { 6 + "type": "record", 7 + "description": "Individual item submitted to a scene.", 8 + "key": "tid", 9 + "record": { 10 + "type": "object", 11 + "required": ["scene", "item", "createdAt"], 12 + "properties": { 13 + "scene": { "type": "string", "format": "did" }, 14 + "tags": { 15 + "type": "array", 16 + "items": { 17 + "type": "string", 18 + "description": "TODO: other hashtag restrictions", 19 + "maxLength": 64 20 + } 21 + }, 22 + "item": { 23 + "type": "union", 24 + "refs": [ 25 + "#webItem", 26 + "#atpItem", 27 + "#textItem", 28 + "#imageItem" 29 + ] 30 + }, 31 + "createdAt": { 32 + "type": "string", 33 + "format": "datetime" 34 + } 35 + } 36 + } 37 + }, 38 + "webItem": { 39 + "type": "object", 40 + "required": ["url"], 41 + "properties": { 42 + "url": { 43 + "type": "string", 44 + "format": "uri" 45 + }, 46 + "title": { 47 + "type": "string" 48 + }, 49 + "description": { 50 + "type": "string" 51 + }, 52 + "url": { 53 + "type": "string", 54 + "format": "uri" 55 + }, 56 + "thumb": { 57 + "type": "blob", 58 + "accept": [ 59 + "image/*" 60 + ], 61 + "maxSize": 2000000 62 + } 63 + } 64 + }, 65 + "atpItem": { 66 + "type": "object", 67 + "required": ["uri"], 68 + "properties": { 69 + "uri": { "type": "string", "format": "at-uri" }, 70 + "cid": { "type": "string", "format": "cid" } 71 + } 72 + }, 73 + "textItem": { 74 + "type": "object", 75 + "required": ["text"], 76 + "properties": { 77 + "title": { "type": "string" }, 78 + "text": { "type": "string" } 79 + } 80 + }, 81 + "imageItem": { 82 + "type": "object", 83 + "required": ["images"], 84 + "properties": { 85 + "images": { 86 + "type": "array", 87 + "items": { 88 + "type": "ref", 89 + "ref": "#image" 90 + } 91 + } 92 + } 93 + }, 94 + "image": { 95 + "type": "object", 96 + "required": ["image"], 97 + "properties": { 98 + "image": { 99 + "type": "blob", 100 + "accept": [ 101 + "image/*" 102 + ], 103 + "maxSize": 20000000 104 + }, 105 + "alt": { 106 + "type": "string", 107 + "maxGraphemes": 2000, 108 + "maxLength": 10000 109 + }, 110 + "license": { 111 + "type": "string", 112 + "format": "uri" 113 + }, 114 + "attribution": { 115 + "type": "string", 116 + "maxGraphemes": 300, 117 + "maxLength": 3000 118 + }, 119 + "aspectRatio": { 120 + "type": "ref", 121 + "ref": "#aspectRatio" 122 + } 123 + } 124 + } 125 + } 126 + }
+28
lexicons/social/scrumble/beta/collection/reaction.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "social.scrumble.beta.collection.reaction", 4 + "defs": { 5 + "main": { 6 + "type": "record", 7 + "description": "Emoji reaction. Aggregators need to de-duplicate.", 8 + "key": "tid", 9 + "record": { 10 + "type": "object", 11 + "required": ["scene", "subject", "emoji", "createdAt"], 12 + "properties": { 13 + "scene": { "type": "string", "format": "did" }, 14 + "subject": { "type": "ref", "ref": "com.atproto.repo.strongRef" }, 15 + "emoji": { 16 + "type": "string", 17 + "maxGraphemes": 1, 18 + "maxLength": 64 19 + }, 20 + "createdAt": { 21 + "type": "string", 22 + "format": "datetime" 23 + } 24 + } 25 + } 26 + } 27 + } 28 + }
+116
lexicons/social/scrumble/beta/scene/declaration.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "social.scrumble.beta.scene.declaration", 4 + "defs": { 5 + "main": { 6 + "type": "record", 7 + "description": "Scene metadata and configuration. This record should live under the scene community account.", 8 + "key": "literal:self", 9 + "record": { 10 + "type": "object", 11 + "required": ["createdAt", "config", "guidelines"], 12 + "properties": { 13 + "avatar": { 14 + "type": "blob", 15 + "accept": [ 16 + "image/*" 17 + ], 18 + "maxSize": 2000000 19 + }, 20 + "createdAt": { 21 + "type": "string", 22 + "format": "datetime" 23 + }, 24 + "displayName": { 25 + "type": "string", 26 + "maxGraphemes": 64, 27 + "maxLength": 640 28 + }, 29 + "description": { 30 + "type": "string", 31 + "maxGraphemes": 1000, 32 + "maxLength": 10000 33 + }, 34 + "descriptionFacets": { 35 + "type": "array", 36 + "items": { 37 + "type": "ref", 38 + "ref": "app.bsky.richtext.facet" 39 + } 40 + }, 41 + "guidelines": { 42 + "type": "array", 43 + "maxLength": 50, 44 + "items": { 45 + "type": "ref", 46 + "ref": "#sceneGuideline" 47 + } 48 + }, 49 + "config": { 50 + "type": "ref", 51 + "ref": "#sceneConfig" 52 + } 53 + } 54 + } 55 + }, 56 + "sceneGuideline": { 57 + "type": "object", 58 + "description": "An individual criteria or rule describing sumbissions and behaviors in the scene", 59 + "required": ["text"], 60 + "properties": { 61 + "text": { 62 + "type": "string" 63 + } 64 + } 65 + }, 66 + "sceneConfig": { 67 + "type": "object", 68 + "description": "Configuration parameters for the scene", 69 + "required": [], 70 + "properties": { 71 + "items": { 72 + "type": "ref", 73 + "ref": "#configItems" 74 + }, 75 + "labelers": { 76 + "type": "array", 77 + "maxLength": 50, 78 + "items": { 79 + "type": "ref", 80 + "ref": "#configLabeler" 81 + } 82 + } 83 + } 84 + }, 85 + "configItems": { 86 + "type": "object", 87 + "description": "Configuration parameters for the scene (TODO)", 88 + "required": [], 89 + "properties": { 90 + "types": { 91 + "type": "array", 92 + "items": { 93 + "type": "string", 94 + "knownValues": [ 95 + "social.scrumble.beta.collection.item#webItem", 96 + "social.scrumble.beta.collection.item#atprotoItem", 97 + "social.scrumble.beta.collection.item#textItem", 98 + "social.scrumble.beta.collection.item#imageItem" 99 + ] 100 + } 101 + } 102 + } 103 + }, 104 + "configLabeler": { 105 + "type": "object", 106 + "description": "Configuration parameters for the scene (TODO)", 107 + "required": ["did"], 108 + "properties": { 109 + "did": { 110 + "type": "string", 111 + "format": "did" 112 + } 113 + } 114 + } 115 + } 116 + }
+33
lexicons/social/scrumble/beta/scene/member.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "social.scrumble.beta.scene.member", 4 + "defs": { 5 + "main": { 6 + "type": "record", 7 + "description": "Indicates that an account is a member of the scene. This records gets written to the scene community account. The key should be the account's DID.", 8 + "key": "any", 9 + "record": { 10 + "type": "object", 11 + "required": ["did", "role", "createdAt"], 12 + "properties": { 13 + "did": { 14 + "type": "string", 15 + "format": "did" 16 + }, 17 + "role": { 18 + "type": "string", 19 + "description": "TODO: make these refs to a defs file?", 20 + "knownValues": [ 21 + "member", 22 + "admin" 23 + ] 24 + }, 25 + "createdAt": { 26 + "type": "string", 27 + "format": "datetime" 28 + } 29 + } 30 + } 31 + } 32 + } 33 + }