···33 */
4455export * as actor from './alpha/actor'
66+export * as recording from './alpha/recording'
77+export * as release from './alpha/release'
88+export * as song from './alpha/song'
+116
src/lexicons/ch/indiemusi/alpha/recording.defs.ts
···11+/*
22+ * THIS FILE WAS GENERATED BY "@atproto/lex". DO NOT EDIT.
33+ */
44+55+import { l } from '@atproto/lex'
66+import * as AlphaSong from './song.defs'
77+import * as ActorArtist from './actor/artist.defs'
88+import * as ActorMasterOwner from './actor/masterOwner.defs'
99+1010+const $nsid = 'ch.indiemusi.alpha.recording'
1111+1212+export { $nsid }
1313+1414+/** A recording of a song or musical work: the performance captured in a specific format */
1515+type Main = {
1616+ $type: 'ch.indiemusi.alpha.recording'
1717+ title: string
1818+ song?: AlphaSong.Main
1919+ artists: Artist[]
2020+2121+ /**
2222+ * ISRC (International Standard Recording Code) with which the recording is registered
2323+ */
2424+ isrc?: string
2525+ masterOwner?: MasterOwnerInfo
2626+2727+ /**
2828+ * Duration of the recording in seconds
2929+ */
3030+ duration?: number
3131+ audioFile?: l.BlobRef
3232+}
3333+3434+export type { Main }
3535+3636+/** A recording of a song or musical work: the performance captured in a specific format */
3737+const main = l.record<'tid', Main>(
3838+ 'tid',
3939+ $nsid,
4040+ l.object({
4141+ title: l.string({ maxLength: 255 }),
4242+ song: l.optional(l.ref<AlphaSong.Main>((() => AlphaSong.main) as any)),
4343+ artists: l.array(l.ref<Artist>((() => artist) as any), { minLength: 1 }),
4444+ isrc: l.optional(l.string({ maxLength: 12 })),
4545+ masterOwner: l.optional(
4646+ l.ref<MasterOwnerInfo>((() => masterOwnerInfo) as any),
4747+ ),
4848+ duration: l.optional(l.integer()),
4949+ audioFile: l.optional(l.blob({ allowLegacy: false })),
5050+ }),
5151+)
5252+5353+export { main }
5454+5555+export const $isTypeOf = /*#__PURE__*/ main.isTypeOf.bind(main),
5656+ $build = /*#__PURE__*/ main.build.bind(main),
5757+ $type = /*#__PURE__*/ main.$type
5858+export const $assert = /*#__PURE__*/ main.assert.bind(main),
5959+ $check = /*#__PURE__*/ main.check.bind(main),
6060+ $cast = /*#__PURE__*/ main.cast.bind(main),
6161+ $ifMatches = /*#__PURE__*/ main.ifMatches.bind(main),
6262+ $matches = /*#__PURE__*/ main.matches.bind(main),
6363+ $parse = /*#__PURE__*/ main.parse.bind(main),
6464+ $safeParse = /*#__PURE__*/ main.safeParse.bind(main),
6565+ $validate = /*#__PURE__*/ main.validate.bind(main),
6666+ $safeValidate = /*#__PURE__*/ main.safeValidate.bind(main)
6767+6868+/** Information about an artist contributing to the recording */
6969+type Artist = {
7070+ $type?: 'ch.indiemusi.alpha.recording#artist'
7171+ name: string
7272+ did?: l.DidString
7373+ artist?: ActorArtist.Main
7474+}
7575+7676+export type { Artist }
7777+7878+/** Information about an artist contributing to the recording */
7979+const artist = l.typedObject<Artist>(
8080+ $nsid,
8181+ 'artist',
8282+ l.object({
8383+ name: l.string({ maxLength: 255 }),
8484+ did: l.optional(l.string({ format: 'did' })),
8585+ artist: l.optional(
8686+ l.ref<ActorArtist.Main>((() => ActorArtist.main) as any),
8787+ ),
8888+ }),
8989+)
9090+9191+export { artist }
9292+9393+/** Information about the master owner */
9494+type MasterOwnerInfo = {
9595+ $type?: 'ch.indiemusi.alpha.recording#masterOwnerInfo'
9696+ name?: string
9797+ did?: l.DidString
9898+ masterOwner?: ActorMasterOwner.Main
9999+}
100100+101101+export type { MasterOwnerInfo }
102102+103103+/** Information about the master owner */
104104+const masterOwnerInfo = l.typedObject<MasterOwnerInfo>(
105105+ $nsid,
106106+ 'masterOwnerInfo',
107107+ l.object({
108108+ name: l.optional(l.string({ maxLength: 255 })),
109109+ did: l.optional(l.string({ format: 'did' })),
110110+ masterOwner: l.optional(
111111+ l.ref<ActorMasterOwner.Main>((() => ActorMasterOwner.main) as any),
112112+ ),
113113+ }),
114114+)
115115+116116+export { masterOwnerInfo }
+6
src/lexicons/ch/indiemusi/alpha/recording.ts
···11+/*
22+ * THIS FILE WAS GENERATED BY "@atproto/lex". DO NOT EDIT.
33+ */
44+55+export * from './recording.defs'
66+export * as $defs from './recording.defs'
+89
src/lexicons/ch/indiemusi/alpha/release.defs.ts
···11+/*
22+ * THIS FILE WAS GENERATED BY "@atproto/lex". DO NOT EDIT.
33+ */
44+55+import { l } from '@atproto/lex'
66+import * as AlphaRecording from './recording.defs'
77+import * as ActorArtist from './actor/artist.defs'
88+99+const $nsid = 'ch.indiemusi.alpha.release'
1010+1111+export { $nsid }
1212+1313+/** A release (album, EP, single) containing recordings of songs or musical works */
1414+type Main = {
1515+ $type: 'ch.indiemusi.alpha.release'
1616+ title: string
1717+ artists: Artist[]
1818+1919+ /**
2020+ * GTIN (Global Trade Item Number) with which the release is registered, e.g. EAN or UPC
2121+ */
2222+ gtin?: string
2323+ releaseDate?: l.DatetimeString
2424+ artworkImage?: l.BlobRef
2525+2626+ /**
2727+ * List of recordings (ch.indiemusi.alpha.recording) included in this release
2828+ */
2929+ recordings: AlphaRecording.Main[]
3030+}
3131+3232+export type { Main }
3333+3434+/** A release (album, EP, single) containing recordings of songs or musical works */
3535+const main = l.record<'tid', Main>(
3636+ 'tid',
3737+ $nsid,
3838+ l.object({
3939+ title: l.string({ maxLength: 255 }),
4040+ artists: l.array(l.ref<Artist>((() => artist) as any), { minLength: 1 }),
4141+ gtin: l.optional(l.string({ maxLength: 14 })),
4242+ releaseDate: l.optional(l.string({ format: 'datetime' })),
4343+ artworkImage: l.optional(l.blob({ allowLegacy: false })),
4444+ recordings: l.array(
4545+ l.ref<AlphaRecording.Main>((() => AlphaRecording.main) as any),
4646+ { minLength: 1 },
4747+ ),
4848+ }),
4949+)
5050+5151+export { main }
5252+5353+export const $isTypeOf = /*#__PURE__*/ main.isTypeOf.bind(main),
5454+ $build = /*#__PURE__*/ main.build.bind(main),
5555+ $type = /*#__PURE__*/ main.$type
5656+export const $assert = /*#__PURE__*/ main.assert.bind(main),
5757+ $check = /*#__PURE__*/ main.check.bind(main),
5858+ $cast = /*#__PURE__*/ main.cast.bind(main),
5959+ $ifMatches = /*#__PURE__*/ main.ifMatches.bind(main),
6060+ $matches = /*#__PURE__*/ main.matches.bind(main),
6161+ $parse = /*#__PURE__*/ main.parse.bind(main),
6262+ $safeParse = /*#__PURE__*/ main.safeParse.bind(main),
6363+ $validate = /*#__PURE__*/ main.validate.bind(main),
6464+ $safeValidate = /*#__PURE__*/ main.safeValidate.bind(main)
6565+6666+/** Information about an artist contributing to the release */
6767+type Artist = {
6868+ $type?: 'ch.indiemusi.alpha.release#artist'
6969+ name: string
7070+ did?: l.DidString
7171+ artist?: ActorArtist.Main
7272+}
7373+7474+export type { Artist }
7575+7676+/** Information about an artist contributing to the release */
7777+const artist = l.typedObject<Artist>(
7878+ $nsid,
7979+ 'artist',
8080+ l.object({
8181+ name: l.string({ maxLength: 255 }),
8282+ did: l.optional(l.string({ format: 'did' })),
8383+ artist: l.optional(
8484+ l.ref<ActorArtist.Main>((() => ActorArtist.main) as any),
8585+ ),
8686+ }),
8787+)
8888+8989+export { artist }
+6
src/lexicons/ch/indiemusi/alpha/release.ts
···11+/*
22+ * THIS FILE WAS GENERATED BY "@atproto/lex". DO NOT EDIT.
33+ */
44+55+export * from './release.defs'
66+export * as $defs from './release.defs'
+106
src/lexicons/ch/indiemusi/alpha/song.defs.ts
···11+/*
22+ * THIS FILE WAS GENERATED BY "@atproto/lex". DO NOT EDIT.
33+ */
44+55+import { l } from '@atproto/lex'
66+import * as ActorPublishingOwner from './actor/publishingOwner.defs'
77+88+const $nsid = 'ch.indiemusi.alpha.song'
99+1010+export { $nsid }
1111+1212+/** A song or musical work: the melody, lyrics, and arrangement created by composers and authors */
1313+type Main = {
1414+ $type: 'ch.indiemusi.alpha.song'
1515+ title: string
1616+1717+ /**
1818+ * ISWC (International Standard Musical Work Code) with which the song is registered at a collecting society
1919+ */
2020+ iswc?: string
2121+2222+ /**
2323+ * List of interested parties (authors, composers, publishers) associated with this song
2424+ */
2525+ interestedParties: InterestedParty[]
2626+}
2727+2828+export type { Main }
2929+3030+/** A song or musical work: the melody, lyrics, and arrangement created by composers and authors */
3131+const main = l.record<'tid', Main>(
3232+ 'tid',
3333+ $nsid,
3434+ l.object({
3535+ title: l.string({ maxLength: 255 }),
3636+ iswc: l.optional(l.string({ maxLength: 13 })),
3737+ interestedParties: l.array(
3838+ l.ref<InterestedParty>((() => interestedParty) as any),
3939+ { minLength: 1 },
4040+ ),
4141+ }),
4242+)
4343+4444+export { main }
4545+4646+export const $isTypeOf = /*#__PURE__*/ main.isTypeOf.bind(main),
4747+ $build = /*#__PURE__*/ main.build.bind(main),
4848+ $type = /*#__PURE__*/ main.$type
4949+export const $assert = /*#__PURE__*/ main.assert.bind(main),
5050+ $check = /*#__PURE__*/ main.check.bind(main),
5151+ $cast = /*#__PURE__*/ main.cast.bind(main),
5252+ $ifMatches = /*#__PURE__*/ main.ifMatches.bind(main),
5353+ $matches = /*#__PURE__*/ main.matches.bind(main),
5454+ $parse = /*#__PURE__*/ main.parse.bind(main),
5555+ $safeParse = /*#__PURE__*/ main.safeParse.bind(main),
5656+ $validate = /*#__PURE__*/ main.validate.bind(main),
5757+ $safeValidate = /*#__PURE__*/ main.safeValidate.bind(main)
5858+5959+/** An interested party associated with the song (author, composer, publisher) */
6060+type InterestedParty = {
6161+ $type?: 'ch.indiemusi.alpha.song#interestedParty'
6262+ name?: string
6363+6464+ /**
6565+ * Role of the interested party (e.g., 'author', 'composer', 'publisher')
6666+ */
6767+ role?: string
6868+ ipi?: string
6969+ collectingSociety?: string
7070+7171+ /**
7272+ * Percentage of performance royalties allocated to this interested party, 10000 = 100%
7373+ */
7474+ performanceRoyaltiesPercentage?: number
7575+7676+ /**
7777+ * Percentage of mechanical royalties allocated to this interested party, 10000 = 100%
7878+ */
7979+ mechanicalRoyaltiesPercentage?: number
8080+ did?: l.DidString
8181+ publishingOwner?: ActorPublishingOwner.Main
8282+}
8383+8484+export type { InterestedParty }
8585+8686+/** An interested party associated with the song (author, composer, publisher) */
8787+const interestedParty = l.typedObject<InterestedParty>(
8888+ $nsid,
8989+ 'interestedParty',
9090+ l.object({
9191+ name: l.optional(l.string({ maxLength: 255 })),
9292+ role: l.optional(l.string({ maxLength: 255 })),
9393+ ipi: l.optional(l.string({ maxLength: 11 })),
9494+ collectingSociety: l.optional(l.string({ maxLength: 255 })),
9595+ performanceRoyaltiesPercentage: l.optional(l.integer()),
9696+ mechanicalRoyaltiesPercentage: l.optional(l.integer()),
9797+ did: l.optional(l.string({ format: 'did' })),
9898+ publishingOwner: l.optional(
9999+ l.ref<ActorPublishingOwner.Main>(
100100+ (() => ActorPublishingOwner.main) as any,
101101+ ),
102102+ ),
103103+ }),
104104+)
105105+106106+export { interestedParty }
+6
src/lexicons/ch/indiemusi/alpha/song.ts
···11+/*
22+ * THIS FILE WAS GENERATED BY "@atproto/lex". DO NOT EDIT.
33+ */
44+55+export * from './song.defs'
66+export * as $defs from './song.defs'