this repo has no description
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

Fix lexicons with arrays

Hilke Ros c67c3884 6a3d1326

+435 -84
+41 -32
lexicons/ch/indiemusi/alpha/recording.json
··· 22 22 "type": "array", 23 23 "minLength": 1, 24 24 "items": { 25 - "type": "object", 26 - "required": ["name"], 27 - "properties": { 28 - "name": { 29 - "type": "string", 30 - "maxLength": 255 31 - }, 32 - "did": { 33 - "type": "string", 34 - "format": "did" 35 - }, 36 - "artist": { 37 - "type": "ref", 38 - "ref": "ch.indiemusi.alpha.actor.artist" 39 - } 40 - } 25 + "type": "ref", 26 + "ref": "#artist" 41 27 } 42 28 }, 43 29 "isrc": { ··· 46 32 "maxLength": 12 47 33 }, 48 34 "masterOwner": { 49 - "type": "object", 50 - "description": "The entity (person or company) that owns the master recording rights", 51 - "properties": { 52 - "name": { 53 - "type": "string", 54 - "maxLength": 255 55 - }, 56 - "did": { 57 - "type": "string", 58 - "format": "did" 59 - }, 60 - "masterOwner": { 61 - "type": "ref", 62 - "ref": "ch.indiemusi.alpha.actor.masterOwner" 63 - } 64 - } 35 + "type": "ref", 36 + "ref": "#masterOwnerInfo" 65 37 }, 66 38 "duration": { 67 39 "type": "integer", ··· 70 42 "audioFile": { 71 43 "type": "blob" 72 44 } 45 + } 46 + } 47 + }, 48 + "artist": { 49 + "type": "object", 50 + "description": "Information about an artist contributing to the recording", 51 + "required": ["name"], 52 + "properties": { 53 + "name": { 54 + "type": "string", 55 + "maxLength": 255 56 + }, 57 + "did": { 58 + "type": "string", 59 + "format": "did" 60 + }, 61 + "artist": { 62 + "type": "ref", 63 + "ref": "ch.indiemusi.alpha.actor.artist" 64 + } 65 + } 66 + }, 67 + "masterOwnerInfo": { 68 + "type": "object", 69 + "description": "Information about the master owner", 70 + "properties": { 71 + "name": { 72 + "type": "string", 73 + "maxLength": 255 74 + }, 75 + "did": { 76 + "type": "string", 77 + "format": "did" 78 + }, 79 + "masterOwner": { 80 + "type": "ref", 81 + "ref": "ch.indiemusi.alpha.actor.masterOwner" 73 82 } 74 83 } 75 84 }
+21 -16
lexicons/ch/indiemusi/alpha/release.json
··· 18 18 "type": "array", 19 19 "minLength": 1, 20 20 "items": { 21 - "type": "object", 22 - "required": ["name"], 23 - "properties": { 24 - "name": { 25 - "type": "string", 26 - "maxLength": 255 27 - }, 28 - "did": { 29 - "type": "string", 30 - "format": "did" 31 - }, 32 - "artist": { 33 - "type": "ref", 34 - "ref": "ch.indiemusi.alpha.actor.artist" 35 - } 36 - } 21 + "type": "ref", 22 + "ref": "#artist" 37 23 } 38 24 }, 39 25 "gtin": { ··· 57 43 "ref": "ch.indiemusi.alpha.recording" 58 44 } 59 45 } 46 + } 47 + } 48 + }, 49 + "artist": { 50 + "type": "object", 51 + "description": "Information about an artist contributing to the release", 52 + "required": ["name"], 53 + "properties": { 54 + "name": { 55 + "type": "string", 56 + "maxLength": 255 57 + }, 58 + "did": { 59 + "type": "string", 60 + "format": "did" 61 + }, 62 + "artist": { 63 + "type": "ref", 64 + "ref": "ch.indiemusi.alpha.actor.artist" 60 65 } 61 66 } 62 67 }
+41 -36
lexicons/ch/indiemusi/alpha/song.json
··· 24 24 "description": "List of interested parties (authors, composers, publishers) associated with this song", 25 25 "minLength": 1, 26 26 "items": { 27 - "type": "object", 28 - "properties": { 29 - "name": { 30 - "type": "string", 31 - "maxLength": 255 32 - }, 33 - "role": { 34 - "type": "string", 35 - "description": "Role of the interested party (e.g., 'author', 'composer', 'publisher')", 36 - "maxLength": 255 37 - }, 38 - "ipi": { 39 - "type": "string", 40 - "maxLength": 11 41 - }, 42 - "collectingSociety": { 43 - "type": "string", 44 - "maxLength": 255 45 - }, 46 - "performanceRoyaltiesPercentage": { 47 - "type": "integer", 48 - "description": "Percentage of performance royalties allocated to this interested party, 10000 = 100%" 49 - }, 50 - "mechanicalRoyaltiesPercentage": { 51 - "type": "integer", 52 - "description": "Percentage of mechanical royalties allocated to this interested party, 10000 = 100%" 53 - }, 54 - "did": { 55 - "type": "string", 56 - "format": "did" 57 - }, 58 - "publishingOwner": { 59 - "type": "ref", 60 - "ref": "ch.indiemusi.alpha.actor.publishingOwner" 61 - } 62 - } 27 + "type": "ref", 28 + "ref": "#interestedParty" 63 29 } 64 30 } 31 + } 32 + } 33 + }, 34 + "interestedParty": { 35 + "type": "object", 36 + "description": "An interested party associated with the song (author, composer, publisher)", 37 + "properties": { 38 + "name": { 39 + "type": "string", 40 + "maxLength": 255 41 + }, 42 + "role": { 43 + "type": "string", 44 + "description": "Role of the interested party (e.g., 'author', 'composer', 'publisher')", 45 + "maxLength": 255 46 + }, 47 + "ipi": { 48 + "type": "string", 49 + "maxLength": 11 50 + }, 51 + "collectingSociety": { 52 + "type": "string", 53 + "maxLength": 255 54 + }, 55 + "performanceRoyaltiesPercentage": { 56 + "type": "integer", 57 + "description": "Percentage of performance royalties allocated to this interested party, 10000 = 100%" 58 + }, 59 + "mechanicalRoyaltiesPercentage": { 60 + "type": "integer", 61 + "description": "Percentage of mechanical royalties allocated to this interested party, 10000 = 100%" 62 + }, 63 + "did": { 64 + "type": "string", 65 + "format": "did" 66 + }, 67 + "publishingOwner": { 68 + "type": "ref", 69 + "ref": "ch.indiemusi.alpha.actor.publishingOwner" 65 70 } 66 71 } 67 72 }
+3
src/lexicons/ch/indiemusi/alpha.ts
··· 3 3 */ 4 4 5 5 export * as actor from './alpha/actor' 6 + export * as recording from './alpha/recording' 7 + export * as release from './alpha/release' 8 + export * as song from './alpha/song'
+116
src/lexicons/ch/indiemusi/alpha/recording.defs.ts
··· 1 + /* 2 + * THIS FILE WAS GENERATED BY "@atproto/lex". DO NOT EDIT. 3 + */ 4 + 5 + import { l } from '@atproto/lex' 6 + import * as AlphaSong from './song.defs' 7 + import * as ActorArtist from './actor/artist.defs' 8 + import * as ActorMasterOwner from './actor/masterOwner.defs' 9 + 10 + const $nsid = 'ch.indiemusi.alpha.recording' 11 + 12 + export { $nsid } 13 + 14 + /** A recording of a song or musical work: the performance captured in a specific format */ 15 + type Main = { 16 + $type: 'ch.indiemusi.alpha.recording' 17 + title: string 18 + song?: AlphaSong.Main 19 + artists: Artist[] 20 + 21 + /** 22 + * ISRC (International Standard Recording Code) with which the recording is registered 23 + */ 24 + isrc?: string 25 + masterOwner?: MasterOwnerInfo 26 + 27 + /** 28 + * Duration of the recording in seconds 29 + */ 30 + duration?: number 31 + audioFile?: l.BlobRef 32 + } 33 + 34 + export type { Main } 35 + 36 + /** A recording of a song or musical work: the performance captured in a specific format */ 37 + const main = l.record<'tid', Main>( 38 + 'tid', 39 + $nsid, 40 + l.object({ 41 + title: l.string({ maxLength: 255 }), 42 + song: l.optional(l.ref<AlphaSong.Main>((() => AlphaSong.main) as any)), 43 + artists: l.array(l.ref<Artist>((() => artist) as any), { minLength: 1 }), 44 + isrc: l.optional(l.string({ maxLength: 12 })), 45 + masterOwner: l.optional( 46 + l.ref<MasterOwnerInfo>((() => masterOwnerInfo) as any), 47 + ), 48 + duration: l.optional(l.integer()), 49 + audioFile: l.optional(l.blob({ allowLegacy: false })), 50 + }), 51 + ) 52 + 53 + export { main } 54 + 55 + export const $isTypeOf = /*#__PURE__*/ main.isTypeOf.bind(main), 56 + $build = /*#__PURE__*/ main.build.bind(main), 57 + $type = /*#__PURE__*/ main.$type 58 + export const $assert = /*#__PURE__*/ main.assert.bind(main), 59 + $check = /*#__PURE__*/ main.check.bind(main), 60 + $cast = /*#__PURE__*/ main.cast.bind(main), 61 + $ifMatches = /*#__PURE__*/ main.ifMatches.bind(main), 62 + $matches = /*#__PURE__*/ main.matches.bind(main), 63 + $parse = /*#__PURE__*/ main.parse.bind(main), 64 + $safeParse = /*#__PURE__*/ main.safeParse.bind(main), 65 + $validate = /*#__PURE__*/ main.validate.bind(main), 66 + $safeValidate = /*#__PURE__*/ main.safeValidate.bind(main) 67 + 68 + /** Information about an artist contributing to the recording */ 69 + type Artist = { 70 + $type?: 'ch.indiemusi.alpha.recording#artist' 71 + name: string 72 + did?: l.DidString 73 + artist?: ActorArtist.Main 74 + } 75 + 76 + export type { Artist } 77 + 78 + /** Information about an artist contributing to the recording */ 79 + const artist = l.typedObject<Artist>( 80 + $nsid, 81 + 'artist', 82 + l.object({ 83 + name: l.string({ maxLength: 255 }), 84 + did: l.optional(l.string({ format: 'did' })), 85 + artist: l.optional( 86 + l.ref<ActorArtist.Main>((() => ActorArtist.main) as any), 87 + ), 88 + }), 89 + ) 90 + 91 + export { artist } 92 + 93 + /** Information about the master owner */ 94 + type MasterOwnerInfo = { 95 + $type?: 'ch.indiemusi.alpha.recording#masterOwnerInfo' 96 + name?: string 97 + did?: l.DidString 98 + masterOwner?: ActorMasterOwner.Main 99 + } 100 + 101 + export type { MasterOwnerInfo } 102 + 103 + /** Information about the master owner */ 104 + const masterOwnerInfo = l.typedObject<MasterOwnerInfo>( 105 + $nsid, 106 + 'masterOwnerInfo', 107 + l.object({ 108 + name: l.optional(l.string({ maxLength: 255 })), 109 + did: l.optional(l.string({ format: 'did' })), 110 + masterOwner: l.optional( 111 + l.ref<ActorMasterOwner.Main>((() => ActorMasterOwner.main) as any), 112 + ), 113 + }), 114 + ) 115 + 116 + export { masterOwnerInfo }
+6
src/lexicons/ch/indiemusi/alpha/recording.ts
··· 1 + /* 2 + * THIS FILE WAS GENERATED BY "@atproto/lex". DO NOT EDIT. 3 + */ 4 + 5 + export * from './recording.defs' 6 + export * as $defs from './recording.defs'
+89
src/lexicons/ch/indiemusi/alpha/release.defs.ts
··· 1 + /* 2 + * THIS FILE WAS GENERATED BY "@atproto/lex". DO NOT EDIT. 3 + */ 4 + 5 + import { l } from '@atproto/lex' 6 + import * as AlphaRecording from './recording.defs' 7 + import * as ActorArtist from './actor/artist.defs' 8 + 9 + const $nsid = 'ch.indiemusi.alpha.release' 10 + 11 + export { $nsid } 12 + 13 + /** A release (album, EP, single) containing recordings of songs or musical works */ 14 + type Main = { 15 + $type: 'ch.indiemusi.alpha.release' 16 + title: string 17 + artists: Artist[] 18 + 19 + /** 20 + * GTIN (Global Trade Item Number) with which the release is registered, e.g. EAN or UPC 21 + */ 22 + gtin?: string 23 + releaseDate?: l.DatetimeString 24 + artworkImage?: l.BlobRef 25 + 26 + /** 27 + * List of recordings (ch.indiemusi.alpha.recording) included in this release 28 + */ 29 + recordings: AlphaRecording.Main[] 30 + } 31 + 32 + export type { Main } 33 + 34 + /** A release (album, EP, single) containing recordings of songs or musical works */ 35 + const main = l.record<'tid', Main>( 36 + 'tid', 37 + $nsid, 38 + l.object({ 39 + title: l.string({ maxLength: 255 }), 40 + artists: l.array(l.ref<Artist>((() => artist) as any), { minLength: 1 }), 41 + gtin: l.optional(l.string({ maxLength: 14 })), 42 + releaseDate: l.optional(l.string({ format: 'datetime' })), 43 + artworkImage: l.optional(l.blob({ allowLegacy: false })), 44 + recordings: l.array( 45 + l.ref<AlphaRecording.Main>((() => AlphaRecording.main) as any), 46 + { minLength: 1 }, 47 + ), 48 + }), 49 + ) 50 + 51 + export { main } 52 + 53 + export const $isTypeOf = /*#__PURE__*/ main.isTypeOf.bind(main), 54 + $build = /*#__PURE__*/ main.build.bind(main), 55 + $type = /*#__PURE__*/ main.$type 56 + export const $assert = /*#__PURE__*/ main.assert.bind(main), 57 + $check = /*#__PURE__*/ main.check.bind(main), 58 + $cast = /*#__PURE__*/ main.cast.bind(main), 59 + $ifMatches = /*#__PURE__*/ main.ifMatches.bind(main), 60 + $matches = /*#__PURE__*/ main.matches.bind(main), 61 + $parse = /*#__PURE__*/ main.parse.bind(main), 62 + $safeParse = /*#__PURE__*/ main.safeParse.bind(main), 63 + $validate = /*#__PURE__*/ main.validate.bind(main), 64 + $safeValidate = /*#__PURE__*/ main.safeValidate.bind(main) 65 + 66 + /** Information about an artist contributing to the release */ 67 + type Artist = { 68 + $type?: 'ch.indiemusi.alpha.release#artist' 69 + name: string 70 + did?: l.DidString 71 + artist?: ActorArtist.Main 72 + } 73 + 74 + export type { Artist } 75 + 76 + /** Information about an artist contributing to the release */ 77 + const artist = l.typedObject<Artist>( 78 + $nsid, 79 + 'artist', 80 + l.object({ 81 + name: l.string({ maxLength: 255 }), 82 + did: l.optional(l.string({ format: 'did' })), 83 + artist: l.optional( 84 + l.ref<ActorArtist.Main>((() => ActorArtist.main) as any), 85 + ), 86 + }), 87 + ) 88 + 89 + export { artist }
+6
src/lexicons/ch/indiemusi/alpha/release.ts
··· 1 + /* 2 + * THIS FILE WAS GENERATED BY "@atproto/lex". DO NOT EDIT. 3 + */ 4 + 5 + export * from './release.defs' 6 + export * as $defs from './release.defs'
+106
src/lexicons/ch/indiemusi/alpha/song.defs.ts
··· 1 + /* 2 + * THIS FILE WAS GENERATED BY "@atproto/lex". DO NOT EDIT. 3 + */ 4 + 5 + import { l } from '@atproto/lex' 6 + import * as ActorPublishingOwner from './actor/publishingOwner.defs' 7 + 8 + const $nsid = 'ch.indiemusi.alpha.song' 9 + 10 + export { $nsid } 11 + 12 + /** A song or musical work: the melody, lyrics, and arrangement created by composers and authors */ 13 + type Main = { 14 + $type: 'ch.indiemusi.alpha.song' 15 + title: string 16 + 17 + /** 18 + * ISWC (International Standard Musical Work Code) with which the song is registered at a collecting society 19 + */ 20 + iswc?: string 21 + 22 + /** 23 + * List of interested parties (authors, composers, publishers) associated with this song 24 + */ 25 + interestedParties: InterestedParty[] 26 + } 27 + 28 + export type { Main } 29 + 30 + /** A song or musical work: the melody, lyrics, and arrangement created by composers and authors */ 31 + const main = l.record<'tid', Main>( 32 + 'tid', 33 + $nsid, 34 + l.object({ 35 + title: l.string({ maxLength: 255 }), 36 + iswc: l.optional(l.string({ maxLength: 13 })), 37 + interestedParties: l.array( 38 + l.ref<InterestedParty>((() => interestedParty) as any), 39 + { minLength: 1 }, 40 + ), 41 + }), 42 + ) 43 + 44 + export { main } 45 + 46 + export const $isTypeOf = /*#__PURE__*/ main.isTypeOf.bind(main), 47 + $build = /*#__PURE__*/ main.build.bind(main), 48 + $type = /*#__PURE__*/ main.$type 49 + export const $assert = /*#__PURE__*/ main.assert.bind(main), 50 + $check = /*#__PURE__*/ main.check.bind(main), 51 + $cast = /*#__PURE__*/ main.cast.bind(main), 52 + $ifMatches = /*#__PURE__*/ main.ifMatches.bind(main), 53 + $matches = /*#__PURE__*/ main.matches.bind(main), 54 + $parse = /*#__PURE__*/ main.parse.bind(main), 55 + $safeParse = /*#__PURE__*/ main.safeParse.bind(main), 56 + $validate = /*#__PURE__*/ main.validate.bind(main), 57 + $safeValidate = /*#__PURE__*/ main.safeValidate.bind(main) 58 + 59 + /** An interested party associated with the song (author, composer, publisher) */ 60 + type InterestedParty = { 61 + $type?: 'ch.indiemusi.alpha.song#interestedParty' 62 + name?: string 63 + 64 + /** 65 + * Role of the interested party (e.g., 'author', 'composer', 'publisher') 66 + */ 67 + role?: string 68 + ipi?: string 69 + collectingSociety?: string 70 + 71 + /** 72 + * Percentage of performance royalties allocated to this interested party, 10000 = 100% 73 + */ 74 + performanceRoyaltiesPercentage?: number 75 + 76 + /** 77 + * Percentage of mechanical royalties allocated to this interested party, 10000 = 100% 78 + */ 79 + mechanicalRoyaltiesPercentage?: number 80 + did?: l.DidString 81 + publishingOwner?: ActorPublishingOwner.Main 82 + } 83 + 84 + export type { InterestedParty } 85 + 86 + /** An interested party associated with the song (author, composer, publisher) */ 87 + const interestedParty = l.typedObject<InterestedParty>( 88 + $nsid, 89 + 'interestedParty', 90 + l.object({ 91 + name: l.optional(l.string({ maxLength: 255 })), 92 + role: l.optional(l.string({ maxLength: 255 })), 93 + ipi: l.optional(l.string({ maxLength: 11 })), 94 + collectingSociety: l.optional(l.string({ maxLength: 255 })), 95 + performanceRoyaltiesPercentage: l.optional(l.integer()), 96 + mechanicalRoyaltiesPercentage: l.optional(l.integer()), 97 + did: l.optional(l.string({ format: 'did' })), 98 + publishingOwner: l.optional( 99 + l.ref<ActorPublishingOwner.Main>( 100 + (() => ActorPublishingOwner.main) as any, 101 + ), 102 + ), 103 + }), 104 + ) 105 + 106 + export { interestedParty }
+6
src/lexicons/ch/indiemusi/alpha/song.ts
··· 1 + /* 2 + * THIS FILE WAS GENERATED BY "@atproto/lex". DO NOT EDIT. 3 + */ 4 + 5 + export * from './song.defs' 6 + export * as $defs from './song.defs'