add lexicons dir (#495)

authored by zzstoatzz.io and committed by GitHub 64ad9d72 2f59f9e7

Changed files
+161
lexicons
+43
lexicons/comment.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "fm.plyr.comment", 4 + "defs": { 5 + "main": { 6 + "type": "record", 7 + "description": "A timed comment on a plyr.fm track, anchored to a playback position.", 8 + "key": "tid", 9 + "record": { 10 + "type": "object", 11 + "required": ["subject", "text", "timestampMs", "createdAt"], 12 + "properties": { 13 + "subject": { 14 + "type": "ref", 15 + "ref": "com.atproto.repo.strongRef", 16 + "description": "Reference to the track being commented on (uri + cid)." 17 + }, 18 + "text": { 19 + "type": "string", 20 + "description": "The comment text content.", 21 + "minLength": 1, 22 + "maxLength": 1000 23 + }, 24 + "timestampMs": { 25 + "type": "integer", 26 + "description": "Playback position in milliseconds when the comment was made.", 27 + "minimum": 0 28 + }, 29 + "createdAt": { 30 + "type": "string", 31 + "format": "datetime", 32 + "description": "Timestamp when the comment was created." 33 + }, 34 + "updatedAt": { 35 + "type": "string", 36 + "format": "datetime", 37 + "description": "Timestamp when the comment was last edited." 38 + } 39 + } 40 + } 41 + } 42 + } 43 + }
+27
lexicons/like.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "fm.plyr.like", 4 + "defs": { 5 + "main": { 6 + "type": "record", 7 + "description": "A like on a plyr.fm track.", 8 + "key": "tid", 9 + "record": { 10 + "type": "object", 11 + "required": ["subject", "createdAt"], 12 + "properties": { 13 + "subject": { 14 + "type": "ref", 15 + "ref": "com.atproto.repo.strongRef", 16 + "description": "Reference to the track being liked (uri + cid)." 17 + }, 18 + "createdAt": { 19 + "type": "string", 20 + "format": "datetime", 21 + "description": "Timestamp when the like was created." 22 + } 23 + } 24 + } 25 + } 26 + } 27 + }
+91
lexicons/track.json
··· 1 + { 2 + "lexicon": 1, 3 + "id": "fm.plyr.track", 4 + "defs": { 5 + "main": { 6 + "type": "record", 7 + "description": "A music track published to the AT Protocol network.", 8 + "key": "tid", 9 + "record": { 10 + "type": "object", 11 + "required": ["title", "artist", "audioUrl", "fileType", "createdAt"], 12 + "properties": { 13 + "title": { 14 + "type": "string", 15 + "description": "The title of the track.", 16 + "minLength": 1, 17 + "maxLength": 256 18 + }, 19 + "artist": { 20 + "type": "string", 21 + "description": "The artist name (display name of the uploader).", 22 + "minLength": 1, 23 + "maxLength": 256 24 + }, 25 + "audioUrl": { 26 + "type": "string", 27 + "format": "uri", 28 + "description": "URL to the audio file (currently R2 CDN URL)." 29 + }, 30 + "fileType": { 31 + "type": "string", 32 + "description": "Audio file format extension (e.g., mp3, wav, flac).", 33 + "minLength": 1, 34 + "maxLength": 16 35 + }, 36 + "album": { 37 + "type": "string", 38 + "description": "Album name this track belongs to.", 39 + "maxLength": 256 40 + }, 41 + "duration": { 42 + "type": "integer", 43 + "description": "Duration in seconds.", 44 + "minimum": 0 45 + }, 46 + "features": { 47 + "type": "array", 48 + "description": "Featured artists on this track.", 49 + "items": { 50 + "type": "ref", 51 + "ref": "#featuredArtist" 52 + }, 53 + "maxLength": 10 54 + }, 55 + "imageUrl": { 56 + "type": "string", 57 + "format": "uri", 58 + "description": "URL to cover artwork image." 59 + }, 60 + "createdAt": { 61 + "type": "string", 62 + "format": "datetime", 63 + "description": "Timestamp when the track was uploaded." 64 + } 65 + } 66 + } 67 + }, 68 + "featuredArtist": { 69 + "type": "object", 70 + "description": "A featured artist on a track.", 71 + "required": ["did", "handle"], 72 + "properties": { 73 + "did": { 74 + "type": "string", 75 + "format": "did", 76 + "description": "The DID of the featured artist." 77 + }, 78 + "handle": { 79 + "type": "string", 80 + "format": "handle", 81 + "description": "The handle of the featured artist." 82 + }, 83 + "displayName": { 84 + "type": "string", 85 + "description": "Display name of the featured artist.", 86 + "maxLength": 256 87 + } 88 + } 89 + } 90 + } 91 + }