A fork of https://github.com/teal-fm/piper

move json lexicon definitions to lexicons

-281
-60
api/actor/defs.json
··· 1 - { 2 - "lexicon": 1, 3 - "id": "fm.teal.alpha.actor.defs", 4 - "defs": { 5 - "profileView": { 6 - "type": "object", 7 - "properties": { 8 - "did": { 9 - "type": "string", 10 - "description": "The decentralized identifier of the actor" 11 - }, 12 - "displayName": { 13 - "type": "string" 14 - }, 15 - "description": { 16 - "type": "string", 17 - "description": "Free-form profile description text." 18 - }, 19 - "descriptionFacets": { 20 - "type": "array", 21 - "description": "Annotations of text in the profile description (mentions, URLs, hashtags, etc). May be changed to another (backwards compatible) lexicon.", 22 - "items": { "type": "ref", "ref": "app.bsky.richtext.facet" } 23 - }, 24 - "featuredItem": { 25 - "type": "ref", 26 - "description": "The user's most recent item featured on their profile.", 27 - "ref": "fm.teal.alpha.actor.profile#featuredItem" 28 - }, 29 - "avatar": { 30 - "type": "string", 31 - "description": "IPLD of the avatar" 32 - }, 33 - "banner": { 34 - "type": "string", 35 - "description": "IPLD of the banner image" 36 - }, 37 - "createdAt": { "type": "string", "format": "datetime" } 38 - } 39 - }, 40 - "miniProfileView": { 41 - "type": "object", 42 - "properties": { 43 - "did": { 44 - "type": "string", 45 - "description": "The decentralized identifier of the actor" 46 - }, 47 - "displayName": { 48 - "type": "string" 49 - }, 50 - "handle": { 51 - "type": "string" 52 - }, 53 - "avatar": { 54 - "type": "string", 55 - "description": "IPLD of the avatar" 56 - } 57 - } 58 - } 59 - } 60 - }
-34
api/actor/getProfile.json
··· 1 - { 2 - "lexicon": 1, 3 - "id": "fm.teal.alpha.actor.getProfile", 4 - "description": "This lexicon is in a not officially released state. It is subject to change. | Retrieves a play given an author DID and record key.", 5 - "defs": { 6 - "main": { 7 - "type": "query", 8 - "parameters": { 9 - "type": "params", 10 - "required": ["actor"], 11 - "properties": { 12 - "actor": { 13 - "type": "string", 14 - "format": "at-identifier", 15 - "description": "The author's DID" 16 - } 17 - } 18 - }, 19 - "output": { 20 - "encoding": "application/json", 21 - "schema": { 22 - "type": "object", 23 - "required": ["actor"], 24 - "properties": { 25 - "actor": { 26 - "type": "ref", 27 - "ref": "fm.teal.alpha.actor.defs#profileView" 28 - } 29 - } 30 - } 31 - } 32 - } 33 - } 34 - }
-40
api/actor/getProfiles.json
··· 1 - { 2 - "lexicon": 1, 3 - "id": "fm.teal.alpha.actor.getProfiles", 4 - "description": "This lexicon is in a not officially released state. It is subject to change. | Retrieves the associated profile.", 5 - "defs": { 6 - "main": { 7 - "type": "query", 8 - "parameters": { 9 - "type": "params", 10 - "required": ["actors"], 11 - "properties": { 12 - "actors": { 13 - "type": "array", 14 - "items": { 15 - "type": "string", 16 - "format": "at-identifier" 17 - }, 18 - "description": "Array of actor DIDs" 19 - } 20 - } 21 - }, 22 - "output": { 23 - "encoding": "application/json", 24 - "schema": { 25 - "type": "object", 26 - "required": ["actors"], 27 - "properties": { 28 - "actors": { 29 - "type": "array", 30 - "items": { 31 - "type": "ref", 32 - "ref": "fm.teal.alpha.actor.defs#miniProfileView" 33 - } 34 - } 35 - } 36 - } 37 - } 38 - } 39 - } 40 - }
-64
api/actor/profile.json
··· 1 - { 2 - "lexicon": 1, 3 - "id": "fm.teal.alpha.actor.profile", 4 - "defs": { 5 - "main": { 6 - "type": "record", 7 - "description": "This lexicon is in a not officially released state. It is subject to change. | A declaration of a teal.fm account profile.", 8 - "key": "literal:self", 9 - "record": { 10 - "type": "object", 11 - "properties": { 12 - "displayName": { 13 - "type": "string", 14 - "maxGraphemes": 64, 15 - "maxLength": 640 16 - }, 17 - "description": { 18 - "type": "string", 19 - "description": "Free-form profile description text.", 20 - "maxGraphemes": 256, 21 - "maxLength": 2560 22 - }, 23 - "descriptionFacets": { 24 - "type": "array", 25 - "description": "Annotations of text in the profile description (mentions, URLs, hashtags, etc).", 26 - "items": { "type": "ref", "ref": "app.bsky.richtext.facet" } 27 - }, 28 - "featuredItem": { 29 - "type": "ref", 30 - "description": "The user's most recent item featured on their profile.", 31 - "ref": "#featuredItem" 32 - }, 33 - "avatar": { 34 - "type": "blob", 35 - "description": "Small image to be displayed next to posts from account. AKA, 'profile picture'", 36 - "accept": ["image/png", "image/jpeg"], 37 - "maxSize": 1000000 38 - }, 39 - "banner": { 40 - "type": "blob", 41 - "description": "Larger horizontal image to display behind profile view.", 42 - "accept": ["image/png", "image/jpeg"], 43 - "maxSize": 1000000 44 - }, 45 - "createdAt": { "type": "string", "format": "datetime" } 46 - } 47 - } 48 - }, 49 - "featuredItem": { 50 - "type": "object", 51 - "required": ["mbid", "type"], 52 - "properties": { 53 - "mbid": { 54 - "type": "string", 55 - "description": "The Musicbrainz ID of the item" 56 - }, 57 - "type": { 58 - "type": "string", 59 - "description": "The type of the item. Must be a valid Musicbrainz type, e.g. album, track, recording, etc." 60 - } 61 - } 62 - } 63 - } 64 - }
-52
api/actor/searchActors.json
··· 1 - { 2 - "lexicon": 1, 3 - "id": "fm.teal.alpha.actor.searchActors", 4 - "description": "This lexicon is in a not officially released state. It is subject to change. | Searches for actors based on profile contents.", 5 - "defs": { 6 - "main": { 7 - "type": "query", 8 - "parameters": { 9 - "type": "params", 10 - "required": ["q"], 11 - "properties": { 12 - "q": { 13 - "type": "string", 14 - "description": "The search query", 15 - "maxGraphemes": 128, 16 - "maxLength": 640 17 - }, 18 - "limit": { 19 - "type": "integer", 20 - "description": "The maximum number of actors to return", 21 - "minimum": 1, 22 - "maximum": 25 23 - }, 24 - "cursor": { 25 - "type": "string", 26 - "description": "Cursor for pagination" 27 - } 28 - } 29 - }, 30 - "output": { 31 - "encoding": "application/json", 32 - "schema": { 33 - "type": "object", 34 - "required": ["actors"], 35 - "properties": { 36 - "actors": { 37 - "type": "array", 38 - "items": { 39 - "type": "ref", 40 - "ref": "fm.teal.alpha.actor.defs#miniProfileView" 41 - } 42 - }, 43 - "cursor": { 44 - "type": "string", 45 - "description": "Cursor for pagination" 46 - } 47 - } 48 - } 49 - } 50 - } 51 - } 52 - }
-31
api/actor/status.json
··· 1 - { 2 - "lexicon": 1, 3 - "id": "fm.teal.alpha.actor.status", 4 - "defs": { 5 - "main": { 6 - "type": "record", 7 - "description": "This lexicon is in a not officially released state. It is subject to change. | A declaration of the status of the actor. Only one can be shown at a time. If there are multiple, the latest record should be picked and earlier records should be deleted or tombstoned.", 8 - "key": "literal:self", 9 - "record": { 10 - "type": "object", 11 - "required": ["time", "item"], 12 - "properties": { 13 - "time": { 14 - "type": "string", 15 - "format": "datetime", 16 - "description": "The unix timestamp of when the item was recorded" 17 - }, 18 - "expiry": { 19 - "type": "string", 20 - "format": "datetime", 21 - "description": "The unix timestamp of the expiry time of the item. If unavailable, default to 10 minutes past the start time." 22 - }, 23 - "item": { 24 - "type": "ref", 25 - "ref": "fm.teal.alpha.feed.defs#playView" 26 - } 27 - } 28 - } 29 - } 30 - } 31 - }