@misofm/platform 0.24.0 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (635) hide show
  1. package/README.md +262 -95
  2. package/dist/auth.d.ts +8 -13
  3. package/dist/auth.d.ts.map +1 -1
  4. package/dist/auth.js +78 -59
  5. package/dist/auth.js.map +1 -1
  6. package/dist/catalog.d.ts +6 -6
  7. package/dist/catalog.d.ts.map +1 -1
  8. package/dist/catalog.js +33 -21
  9. package/dist/catalog.js.map +1 -1
  10. package/dist/client.d.ts +124 -127
  11. package/dist/client.d.ts.map +1 -1
  12. package/dist/client.js +112 -114
  13. package/dist/client.js.map +1 -1
  14. package/dist/contracts/composition_credits/composition_credits.d.ts +181 -0
  15. package/dist/contracts/composition_credits/composition_credits.d.ts.map +1 -0
  16. package/dist/contracts/composition_credits/composition_credits.js +109 -0
  17. package/dist/contracts/composition_credits/composition_credits.js.map +1 -0
  18. package/dist/contracts/composition_credits/composition_party_role.d.ts +119 -0
  19. package/dist/contracts/composition_credits/composition_party_role.d.ts.map +1 -0
  20. package/dist/contracts/composition_credits/composition_party_role.js +139 -0
  21. package/dist/contracts/composition_credits/composition_party_role.js.map +1 -0
  22. package/dist/contracts/composition_credits/deps/credit/credit.d.ts +24 -0
  23. package/dist/contracts/composition_credits/deps/credit/credit.d.ts.map +1 -0
  24. package/dist/contracts/composition_credits/deps/credit/credit.js +23 -0
  25. package/dist/contracts/composition_credits/deps/credit/credit.js.map +1 -0
  26. package/dist/contracts/composition_credits/deps/sui/vec_map.d.ts +37 -0
  27. package/dist/contracts/composition_credits/deps/sui/vec_map.d.ts.map +1 -0
  28. package/dist/contracts/composition_credits/deps/sui/vec_map.js +28 -0
  29. package/dist/contracts/composition_credits/deps/sui/vec_map.js.map +1 -0
  30. package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts +143 -0
  31. package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts.map +1 -0
  32. package/dist/contracts/composition_routed_stake/composition_routed_stake.js +125 -0
  33. package/dist/contracts/composition_routed_stake/composition_routed_stake.js.map +1 -0
  34. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts +93 -0
  35. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts.map +1 -0
  36. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js +86 -0
  37. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js.map +1 -0
  38. package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.d.ts +90 -0
  39. package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.d.ts.map +1 -0
  40. package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.js +85 -0
  41. package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.js.map +1 -0
  42. package/dist/contracts/composition_royalty_pool_plugin/witness.d.ts +6 -0
  43. package/dist/contracts/composition_royalty_pool_plugin/witness.d.ts.map +1 -0
  44. package/dist/contracts/composition_royalty_pool_plugin/witness.js +8 -0
  45. package/dist/contracts/composition_royalty_pool_plugin/witness.js.map +1 -0
  46. package/dist/contracts/cover_art/cover_art.d.ts +83 -0
  47. package/dist/contracts/cover_art/cover_art.d.ts.map +1 -0
  48. package/dist/contracts/cover_art/cover_art.js +66 -0
  49. package/dist/contracts/cover_art/cover_art.js.map +1 -0
  50. package/dist/contracts/cover_art/deps/ori/confidentiality.d.ts +24 -0
  51. package/dist/contracts/cover_art/deps/ori/confidentiality.d.ts.map +1 -0
  52. package/dist/contracts/cover_art/deps/ori/confidentiality.js +24 -0
  53. package/dist/contracts/cover_art/deps/ori/confidentiality.js.map +1 -0
  54. package/dist/contracts/cover_art/deps/ori/data.d.ts +16 -0
  55. package/dist/contracts/cover_art/deps/ori/data.d.ts.map +1 -0
  56. package/dist/contracts/cover_art/deps/ori/data.js +12 -0
  57. package/dist/contracts/cover_art/deps/ori/data.js.map +1 -0
  58. package/dist/contracts/genre/genre.d.ts +78 -0
  59. package/dist/contracts/genre/genre.d.ts.map +1 -0
  60. package/dist/contracts/genre/genre.js +87 -0
  61. package/dist/contracts/genre/genre.js.map +1 -0
  62. package/dist/contracts/party_cta/party_cta.d.ts +120 -0
  63. package/dist/contracts/party_cta/party_cta.d.ts.map +1 -0
  64. package/dist/contracts/party_cta/party_cta.js +139 -0
  65. package/dist/contracts/party_cta/party_cta.js.map +1 -0
  66. package/dist/contracts/party_genre/party_genre.d.ts +117 -0
  67. package/dist/contracts/party_genre/party_genre.d.ts.map +1 -0
  68. package/dist/contracts/party_genre/party_genre.js +131 -0
  69. package/dist/contracts/party_genre/party_genre.js.map +1 -0
  70. package/dist/contracts/party_media/party_media.d.ts +86 -0
  71. package/dist/contracts/party_media/party_media.d.ts.map +1 -0
  72. package/dist/contracts/party_media/party_media.js +97 -0
  73. package/dist/contracts/party_media/party_media.js.map +1 -0
  74. package/dist/contracts/party_music/party_music.d.ts +209 -0
  75. package/dist/contracts/party_music/party_music.d.ts.map +1 -0
  76. package/dist/contracts/party_music/party_music.js +259 -0
  77. package/dist/contracts/party_music/party_music.js.map +1 -0
  78. package/dist/contracts/party_platform_link/party_platform_link.d.ts +89 -0
  79. package/dist/contracts/party_platform_link/party_platform_link.d.ts.map +1 -0
  80. package/dist/contracts/party_platform_link/party_platform_link.js +92 -0
  81. package/dist/contracts/party_platform_link/party_platform_link.js.map +1 -0
  82. package/dist/contracts/party_pro_link/party_pro_link.d.ts +233 -0
  83. package/dist/contracts/party_pro_link/party_pro_link.d.ts.map +1 -0
  84. package/dist/contracts/party_pro_link/party_pro_link.js +289 -0
  85. package/dist/contracts/party_pro_link/party_pro_link.js.map +1 -0
  86. package/dist/contracts/party_profile/deps/country_code/country_code.d.ts +15 -0
  87. package/dist/contracts/party_profile/deps/country_code/country_code.d.ts.map +1 -0
  88. package/dist/contracts/party_profile/deps/country_code/country_code.js +17 -0
  89. package/dist/contracts/party_profile/deps/country_code/country_code.js.map +1 -0
  90. package/dist/contracts/party_profile/deps/language_code/language_code.d.ts +6 -0
  91. package/dist/contracts/party_profile/deps/language_code/language_code.d.ts.map +1 -0
  92. package/dist/contracts/party_profile/deps/language_code/language_code.js +8 -0
  93. package/dist/contracts/party_profile/deps/language_code/language_code.js.map +1 -0
  94. package/dist/contracts/party_profile/party_profile.d.ts +133 -0
  95. package/dist/contracts/party_profile/party_profile.d.ts.map +1 -0
  96. package/dist/contracts/party_profile/party_profile.js +153 -0
  97. package/dist/contracts/party_profile/party_profile.js.map +1 -0
  98. package/dist/contracts/party_roles/party_roles.d.ts +201 -0
  99. package/dist/contracts/party_roles/party_roles.d.ts.map +1 -0
  100. package/dist/contracts/party_roles/party_roles.js +237 -0
  101. package/dist/contracts/party_roles/party_roles.js.map +1 -0
  102. package/dist/contracts/party_social/party_social.d.ts +258 -0
  103. package/dist/contracts/party_social/party_social.d.ts.map +1 -0
  104. package/dist/contracts/party_social/party_social.js +320 -0
  105. package/dist/contracts/party_social/party_social.js.map +1 -0
  106. package/dist/contracts/party_tags/party_tags.d.ts +116 -0
  107. package/dist/contracts/party_tags/party_tags.d.ts.map +1 -0
  108. package/dist/contracts/party_tags/party_tags.js +130 -0
  109. package/dist/contracts/party_tags/party_tags.js.map +1 -0
  110. package/dist/contracts/party_wallet/party_wallet.d.ts +112 -0
  111. package/dist/contracts/party_wallet/party_wallet.d.ts.map +1 -0
  112. package/dist/contracts/party_wallet/party_wallet.js +114 -0
  113. package/dist/contracts/party_wallet/party_wallet.js.map +1 -0
  114. package/dist/contracts/record/deps/std/type_name.d.ts +18 -0
  115. package/dist/contracts/record/deps/std/type_name.d.ts.map +1 -0
  116. package/dist/contracts/record/deps/std/type_name.js +20 -0
  117. package/dist/contracts/record/deps/std/type_name.js.map +1 -0
  118. package/dist/contracts/record/deps/sui/vec_set.d.ts +21 -0
  119. package/dist/contracts/record/deps/sui/vec_set.d.ts.map +1 -0
  120. package/dist/contracts/record/deps/sui/vec_set.js +20 -0
  121. package/dist/contracts/record/deps/sui/vec_set.js.map +1 -0
  122. package/dist/contracts/record/pressing.d.ts +327 -0
  123. package/dist/contracts/record/pressing.d.ts.map +1 -0
  124. package/dist/contracts/record/pressing.js +345 -0
  125. package/dist/contracts/record/pressing.js.map +1 -0
  126. package/dist/contracts/record/record.d.ts +190 -0
  127. package/dist/contracts/record/record.d.ts.map +1 -0
  128. package/dist/contracts/record/record.js +226 -0
  129. package/dist/contracts/record/record.js.map +1 -0
  130. package/dist/contracts/record_shop/deps/std/type_name.d.ts +18 -0
  131. package/dist/contracts/record_shop/deps/std/type_name.d.ts.map +1 -0
  132. package/dist/contracts/record_shop/deps/std/type_name.js +20 -0
  133. package/dist/contracts/record_shop/deps/std/type_name.js.map +1 -0
  134. package/dist/contracts/record_shop/listing.d.ts +387 -0
  135. package/dist/contracts/record_shop/listing.d.ts.map +1 -0
  136. package/dist/contracts/record_shop/listing.js +380 -0
  137. package/dist/contracts/record_shop/listing.js.map +1 -0
  138. package/dist/contracts/record_shop/witness.d.ts +7 -0
  139. package/dist/contracts/record_shop/witness.d.ts.map +1 -0
  140. package/dist/contracts/record_shop/witness.js +9 -0
  141. package/dist/contracts/record_shop/witness.js.map +1 -0
  142. package/dist/contracts/recording_advisory/recording_advisory.d.ts +194 -0
  143. package/dist/contracts/recording_advisory/recording_advisory.d.ts.map +1 -0
  144. package/dist/contracts/recording_advisory/recording_advisory.js +204 -0
  145. package/dist/contracts/recording_advisory/recording_advisory.js.map +1 -0
  146. package/dist/contracts/recording_credits/deps/credit/credit.d.ts +24 -0
  147. package/dist/contracts/recording_credits/deps/credit/credit.d.ts.map +1 -0
  148. package/dist/contracts/recording_credits/deps/credit/credit.js +23 -0
  149. package/dist/contracts/recording_credits/deps/credit/credit.js.map +1 -0
  150. package/dist/contracts/recording_credits/deps/sui/vec_map.d.ts +37 -0
  151. package/dist/contracts/recording_credits/deps/sui/vec_map.d.ts.map +1 -0
  152. package/dist/contracts/recording_credits/deps/sui/vec_map.js +28 -0
  153. package/dist/contracts/recording_credits/deps/sui/vec_map.js.map +1 -0
  154. package/dist/contracts/recording_credits/deps/sui/vec_set.d.ts +21 -0
  155. package/dist/contracts/recording_credits/deps/sui/vec_set.d.ts.map +1 -0
  156. package/dist/contracts/recording_credits/deps/sui/vec_set.js +20 -0
  157. package/dist/contracts/recording_credits/deps/sui/vec_set.js.map +1 -0
  158. package/dist/contracts/recording_credits/recording_credits.d.ts +2313 -0
  159. package/dist/contracts/recording_credits/recording_credits.d.ts.map +1 -0
  160. package/dist/contracts/recording_credits/recording_credits.js +270 -0
  161. package/dist/contracts/recording_credits/recording_credits.js.map +1 -0
  162. package/dist/contracts/recording_credits/recording_party_role.d.ts +1174 -0
  163. package/dist/contracts/recording_credits/recording_party_role.d.ts.map +1 -0
  164. package/dist/contracts/recording_credits/recording_party_role.js +692 -0
  165. package/dist/contracts/recording_credits/recording_party_role.js.map +1 -0
  166. package/dist/contracts/recording_engine_session/deps/ori/confidentiality.d.ts +24 -0
  167. package/dist/contracts/recording_engine_session/deps/ori/confidentiality.d.ts.map +1 -0
  168. package/dist/contracts/recording_engine_session/deps/ori/confidentiality.js +24 -0
  169. package/dist/contracts/recording_engine_session/deps/ori/confidentiality.js.map +1 -0
  170. package/dist/contracts/recording_engine_session/deps/ori/data.d.ts +16 -0
  171. package/dist/contracts/recording_engine_session/deps/ori/data.d.ts.map +1 -0
  172. package/dist/contracts/recording_engine_session/deps/ori/data.js +12 -0
  173. package/dist/contracts/recording_engine_session/deps/ori/data.js.map +1 -0
  174. package/dist/contracts/recording_engine_session/recording_engine_session.d.ts +296 -0
  175. package/dist/contracts/recording_engine_session/recording_engine_session.d.ts.map +1 -0
  176. package/dist/contracts/recording_engine_session/recording_engine_session.js +216 -0
  177. package/dist/contracts/recording_engine_session/recording_engine_session.js.map +1 -0
  178. package/dist/contracts/recording_genre/recording_genre.d.ts +173 -0
  179. package/dist/contracts/recording_genre/recording_genre.d.ts.map +1 -0
  180. package/dist/contracts/recording_genre/recording_genre.js +170 -0
  181. package/dist/contracts/recording_genre/recording_genre.js.map +1 -0
  182. package/dist/contracts/recording_language/deps/language_code/language_code.d.ts +6 -0
  183. package/dist/contracts/recording_language/deps/language_code/language_code.d.ts.map +1 -0
  184. package/dist/contracts/recording_language/deps/language_code/language_code.js +8 -0
  185. package/dist/contracts/recording_language/deps/language_code/language_code.js.map +1 -0
  186. package/dist/contracts/recording_language/recording_language.d.ts +152 -0
  187. package/dist/contracts/recording_language/recording_language.d.ts.map +1 -0
  188. package/dist/contracts/recording_language/recording_language.js +149 -0
  189. package/dist/contracts/recording_language/recording_language.js.map +1 -0
  190. package/dist/contracts/recording_master_reference/deps/ori/confidentiality.d.ts +24 -0
  191. package/dist/contracts/recording_master_reference/deps/ori/confidentiality.d.ts.map +1 -0
  192. package/dist/contracts/recording_master_reference/deps/ori/confidentiality.js +24 -0
  193. package/dist/contracts/recording_master_reference/deps/ori/confidentiality.js.map +1 -0
  194. package/dist/contracts/recording_master_reference/deps/ori/data.d.ts +16 -0
  195. package/dist/contracts/recording_master_reference/deps/ori/data.d.ts.map +1 -0
  196. package/dist/contracts/recording_master_reference/deps/ori/data.js +12 -0
  197. package/dist/contracts/recording_master_reference/deps/ori/data.js.map +1 -0
  198. package/dist/contracts/recording_master_reference/recording_master_reference.d.ts +129 -0
  199. package/dist/contracts/recording_master_reference/recording_master_reference.d.ts.map +1 -0
  200. package/dist/contracts/recording_master_reference/recording_master_reference.js +119 -0
  201. package/dist/contracts/recording_master_reference/recording_master_reference.js.map +1 -0
  202. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts +96 -0
  203. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts.map +1 -0
  204. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js +85 -0
  205. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js.map +1 -0
  206. package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.d.ts +92 -0
  207. package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.d.ts.map +1 -0
  208. package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.js +85 -0
  209. package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.js.map +1 -0
  210. package/dist/contracts/recording_royalty_pool_plugin/witness.d.ts +6 -0
  211. package/dist/contracts/recording_royalty_pool_plugin/witness.d.ts.map +1 -0
  212. package/dist/contracts/recording_royalty_pool_plugin/witness.js +8 -0
  213. package/dist/contracts/recording_royalty_pool_plugin/witness.js.map +1 -0
  214. package/dist/contracts/recording_streaming_transcode/deps/ori/data.d.ts +8 -0
  215. package/dist/contracts/recording_streaming_transcode/deps/ori/data.d.ts.map +1 -0
  216. package/dist/contracts/recording_streaming_transcode/deps/ori/data.js +10 -0
  217. package/dist/contracts/recording_streaming_transcode/deps/ori/data.js.map +1 -0
  218. package/dist/contracts/recording_streaming_transcode/recording_streaming_transcode.d.ts +124 -0
  219. package/dist/contracts/recording_streaming_transcode/recording_streaming_transcode.d.ts.map +1 -0
  220. package/dist/contracts/recording_streaming_transcode/recording_streaming_transcode.js +124 -0
  221. package/dist/contracts/recording_streaming_transcode/recording_streaming_transcode.js.map +1 -0
  222. package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/confidentiality.d.ts +24 -0
  223. package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/confidentiality.d.ts.map +1 -0
  224. package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/confidentiality.js +24 -0
  225. package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/confidentiality.js.map +1 -0
  226. package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/data.d.ts +16 -0
  227. package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/data.d.ts.map +1 -0
  228. package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/data.js +12 -0
  229. package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/data.js.map +1 -0
  230. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.d.ts +47 -0
  231. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.d.ts.map +1 -0
  232. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.js +22 -0
  233. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.js.map +1 -0
  234. package/dist/contracts/release_cover_art/deps/per_track/per_track.d.ts +33 -0
  235. package/dist/contracts/release_cover_art/deps/per_track/per_track.d.ts.map +1 -0
  236. package/dist/contracts/release_cover_art/deps/per_track/per_track.js +32 -0
  237. package/dist/contracts/release_cover_art/deps/per_track/per_track.js.map +1 -0
  238. package/dist/contracts/release_cover_art/release_cover_art.d.ts +300 -0
  239. package/dist/contracts/release_cover_art/release_cover_art.d.ts.map +1 -0
  240. package/dist/contracts/release_cover_art/release_cover_art.js +168 -0
  241. package/dist/contracts/release_cover_art/release_cover_art.js.map +1 -0
  242. package/dist/contracts/release_credits/deps/credit/credit.d.ts +24 -0
  243. package/dist/contracts/release_credits/deps/credit/credit.d.ts.map +1 -0
  244. package/dist/contracts/release_credits/deps/credit/credit.js +23 -0
  245. package/dist/contracts/release_credits/deps/credit/credit.js.map +1 -0
  246. package/dist/contracts/release_credits/deps/sui/vec_map.d.ts +37 -0
  247. package/dist/contracts/release_credits/deps/sui/vec_map.d.ts.map +1 -0
  248. package/dist/contracts/release_credits/deps/sui/vec_map.js +28 -0
  249. package/dist/contracts/release_credits/deps/sui/vec_map.js.map +1 -0
  250. package/dist/contracts/release_credits/release_credits.d.ts +142 -0
  251. package/dist/contracts/release_credits/release_credits.d.ts.map +1 -0
  252. package/dist/contracts/release_credits/release_credits.js +108 -0
  253. package/dist/contracts/release_credits/release_credits.js.map +1 -0
  254. package/dist/contracts/release_credits/release_party_role.d.ts +58 -0
  255. package/dist/contracts/release_credits/release_party_role.d.ts.map +1 -0
  256. package/dist/contracts/release_credits/release_party_role.js +66 -0
  257. package/dist/contracts/release_credits/release_party_role.js.map +1 -0
  258. package/dist/contracts/release_description/release_description.d.ts +112 -0
  259. package/dist/contracts/release_description/release_description.d.ts.map +1 -0
  260. package/dist/contracts/release_description/release_description.js +123 -0
  261. package/dist/contracts/release_description/release_description.js.map +1 -0
  262. package/dist/contracts/release_dsp_link/release_dsp_link.d.ts +643 -0
  263. package/dist/contracts/release_dsp_link/release_dsp_link.d.ts.map +1 -0
  264. package/dist/contracts/release_dsp_link/release_dsp_link.js +555 -0
  265. package/dist/contracts/release_dsp_link/release_dsp_link.js.map +1 -0
  266. package/dist/contracts/release_genre/release_genre.d.ts +145 -0
  267. package/dist/contracts/release_genre/release_genre.d.ts.map +1 -0
  268. package/dist/contracts/release_genre/release_genre.js +154 -0
  269. package/dist/contracts/release_genre/release_genre.js.map +1 -0
  270. package/dist/contracts/release_kind/release_kind.d.ts +98 -0
  271. package/dist/contracts/release_kind/release_kind.d.ts.map +1 -0
  272. package/dist/contracts/release_kind/release_kind.js +109 -0
  273. package/dist/contracts/release_kind/release_kind.js.map +1 -0
  274. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts +91 -0
  275. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts.map +1 -0
  276. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js +92 -0
  277. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js.map +1 -0
  278. package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.d.ts +73 -0
  279. package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.d.ts.map +1 -0
  280. package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.js +80 -0
  281. package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.js.map +1 -0
  282. package/dist/contracts/release_revenue_distributor_plugin/witness.d.ts +6 -0
  283. package/dist/contracts/release_revenue_distributor_plugin/witness.d.ts.map +1 -0
  284. package/dist/contracts/release_revenue_distributor_plugin/witness.js +8 -0
  285. package/dist/contracts/release_revenue_distributor_plugin/witness.js.map +1 -0
  286. package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts +67 -0
  287. package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts.map +1 -0
  288. package/dist/contracts/routed_stake/deps/royalty_pool/stake.js +50 -0
  289. package/dist/contracts/routed_stake/deps/royalty_pool/stake.js.map +1 -0
  290. package/dist/contracts/routed_stake/deps/std/type_name.d.ts +18 -0
  291. package/dist/contracts/routed_stake/deps/std/type_name.d.ts.map +1 -0
  292. package/dist/contracts/routed_stake/deps/std/type_name.js +20 -0
  293. package/dist/contracts/routed_stake/deps/std/type_name.js.map +1 -0
  294. package/dist/contracts/routed_stake/deps/sui/balance.d.ts +13 -0
  295. package/dist/contracts/routed_stake/deps/sui/balance.d.ts.map +1 -0
  296. package/dist/contracts/routed_stake/deps/sui/balance.js +15 -0
  297. package/dist/contracts/routed_stake/deps/sui/balance.js.map +1 -0
  298. package/dist/contracts/routed_stake/deps/sui/vec_map.d.ts +37 -0
  299. package/dist/contracts/routed_stake/deps/sui/vec_map.d.ts.map +1 -0
  300. package/dist/contracts/routed_stake/deps/sui/vec_map.js +28 -0
  301. package/dist/contracts/routed_stake/deps/sui/vec_map.js.map +1 -0
  302. package/dist/contracts/routed_stake/routed_stake.d.ts +347 -0
  303. package/dist/contracts/routed_stake/routed_stake.d.ts.map +1 -0
  304. package/dist/contracts/routed_stake/routed_stake.js +302 -0
  305. package/dist/contracts/routed_stake/routed_stake.js.map +1 -0
  306. package/dist/contracts/royalty_pool/deps/std/type_name.d.ts +18 -0
  307. package/dist/contracts/royalty_pool/deps/std/type_name.d.ts.map +1 -0
  308. package/dist/contracts/royalty_pool/deps/std/type_name.js +20 -0
  309. package/dist/contracts/royalty_pool/deps/std/type_name.js.map +1 -0
  310. package/dist/contracts/royalty_pool/deps/sui/balance.d.ts +13 -0
  311. package/dist/contracts/royalty_pool/deps/sui/balance.d.ts.map +1 -0
  312. package/dist/contracts/royalty_pool/deps/sui/balance.js +15 -0
  313. package/dist/contracts/royalty_pool/deps/sui/balance.js.map +1 -0
  314. package/dist/contracts/royalty_pool/deps/sui/vec_map.d.ts +37 -0
  315. package/dist/contracts/royalty_pool/deps/sui/vec_map.d.ts.map +1 -0
  316. package/dist/contracts/royalty_pool/deps/sui/vec_map.js +28 -0
  317. package/dist/contracts/royalty_pool/deps/sui/vec_map.js.map +1 -0
  318. package/dist/contracts/royalty_pool/pool.d.ts +414 -0
  319. package/dist/contracts/royalty_pool/pool.d.ts.map +1 -0
  320. package/dist/contracts/royalty_pool/pool.js +409 -0
  321. package/dist/contracts/royalty_pool/pool.js.map +1 -0
  322. package/dist/contracts/royalty_pool/stake.d.ts +202 -0
  323. package/dist/contracts/royalty_pool/stake.d.ts.map +1 -0
  324. package/dist/contracts/royalty_pool/stake.js +196 -0
  325. package/dist/contracts/royalty_pool/stake.js.map +1 -0
  326. package/dist/contracts/utils/index.d.ts +104 -0
  327. package/dist/contracts/utils/index.d.ts.map +1 -0
  328. package/dist/contracts/utils/index.js +272 -0
  329. package/dist/contracts/utils/index.js.map +1 -0
  330. package/dist/contracts/vault/deps/sui/bag.d.ts +35 -0
  331. package/dist/contracts/vault/deps/sui/bag.d.ts.map +1 -0
  332. package/dist/contracts/vault/deps/sui/bag.js +37 -0
  333. package/dist/contracts/vault/deps/sui/bag.js.map +1 -0
  334. package/dist/contracts/vault/deps/sui/borrow.d.ts +20 -0
  335. package/dist/contracts/vault/deps/sui/borrow.d.ts.map +1 -0
  336. package/dist/contracts/vault/deps/sui/borrow.js +21 -0
  337. package/dist/contracts/vault/deps/sui/borrow.js.map +1 -0
  338. package/dist/contracts/vault/vault.d.ts +316 -0
  339. package/dist/contracts/vault/vault.d.ts.map +1 -0
  340. package/dist/contracts/vault/vault.js +308 -0
  341. package/dist/contracts/vault/vault.js.map +1 -0
  342. package/dist/contracts.d.ts +57 -33
  343. package/dist/contracts.d.ts.map +1 -1
  344. package/dist/contracts.js +63 -41
  345. package/dist/contracts.js.map +1 -1
  346. package/dist/cover.d.ts +4 -3
  347. package/dist/cover.d.ts.map +1 -1
  348. package/dist/cover.js +30 -19
  349. package/dist/cover.js.map +1 -1
  350. package/dist/credits.d.ts +12 -10
  351. package/dist/credits.d.ts.map +1 -1
  352. package/dist/credits.js +66 -39
  353. package/dist/credits.js.map +1 -1
  354. package/dist/deployments.d.ts +122 -74
  355. package/dist/deployments.d.ts.map +1 -1
  356. package/dist/deployments.js +239 -58
  357. package/dist/deployments.js.map +1 -1
  358. package/dist/errors.d.ts +91 -0
  359. package/dist/errors.d.ts.map +1 -0
  360. package/dist/errors.js +111 -0
  361. package/dist/errors.js.map +1 -0
  362. package/dist/events.d.ts +1045 -0
  363. package/dist/events.d.ts.map +1 -0
  364. package/dist/events.js +116 -0
  365. package/dist/events.js.map +1 -0
  366. package/dist/execute.d.ts +5 -3
  367. package/dist/execute.d.ts.map +1 -1
  368. package/dist/execute.js +11 -6
  369. package/dist/execute.js.map +1 -1
  370. package/dist/genre.d.ts +108 -0
  371. package/dist/genre.d.ts.map +1 -0
  372. package/dist/genre.js +289 -0
  373. package/dist/genre.js.map +1 -0
  374. package/dist/index.d.ts +4 -0
  375. package/dist/index.d.ts.map +1 -1
  376. package/dist/index.js +9 -1
  377. package/dist/index.js.map +1 -1
  378. package/dist/internal.js +2 -2
  379. package/dist/internal.js.map +1 -1
  380. package/dist/packages.d.ts +4185 -0
  381. package/dist/packages.d.ts.map +1 -0
  382. package/dist/packages.js +190 -0
  383. package/dist/packages.js.map +1 -0
  384. package/dist/party/client.d.ts +327 -0
  385. package/dist/party/client.d.ts.map +1 -0
  386. package/dist/party/client.js +225 -0
  387. package/dist/party/client.js.map +1 -0
  388. package/dist/party/extensions/ctas.d.ts +19 -0
  389. package/dist/party/extensions/ctas.d.ts.map +1 -0
  390. package/dist/party/extensions/ctas.js +25 -0
  391. package/dist/party/extensions/ctas.js.map +1 -0
  392. package/dist/party/extensions/genres.d.ts +27 -0
  393. package/dist/party/extensions/genres.d.ts.map +1 -0
  394. package/dist/party/extensions/genres.js +31 -0
  395. package/dist/party/extensions/genres.js.map +1 -0
  396. package/dist/party/extensions/links.d.ts +66 -0
  397. package/dist/party/extensions/links.d.ts.map +1 -0
  398. package/dist/party/extensions/links.js +118 -0
  399. package/dist/party/extensions/links.js.map +1 -0
  400. package/dist/party/extensions/media.d.ts +36 -0
  401. package/dist/party/extensions/media.d.ts.map +1 -0
  402. package/dist/party/extensions/media.js +45 -0
  403. package/dist/party/extensions/media.js.map +1 -0
  404. package/dist/party/extensions/profile.d.ts +24 -0
  405. package/dist/party/extensions/profile.d.ts.map +1 -0
  406. package/dist/party/extensions/profile.js +48 -0
  407. package/dist/party/extensions/profile.js.map +1 -0
  408. package/dist/party/extensions/roles.d.ts +37 -0
  409. package/dist/party/extensions/roles.d.ts.map +1 -0
  410. package/dist/party/extensions/roles.js +46 -0
  411. package/dist/party/extensions/roles.js.map +1 -0
  412. package/dist/party/extensions/tags.d.ts +25 -0
  413. package/dist/party/extensions/tags.d.ts.map +1 -0
  414. package/dist/party/extensions/tags.js +25 -0
  415. package/dist/party/extensions/tags.js.map +1 -0
  416. package/dist/party/index.d.ts +12 -0
  417. package/dist/party/index.d.ts.map +1 -0
  418. package/dist/party/index.js +18 -0
  419. package/dist/party/index.js.map +1 -0
  420. package/dist/party/internal.d.ts +14 -0
  421. package/dist/party/internal.d.ts.map +1 -0
  422. package/dist/party/internal.js +89 -0
  423. package/dist/party/internal.js.map +1 -0
  424. package/dist/party/queries.d.ts +18 -0
  425. package/dist/party/queries.d.ts.map +1 -0
  426. package/dist/party/queries.js +124 -0
  427. package/dist/party/queries.js.map +1 -0
  428. package/dist/party/types.d.ts +54 -0
  429. package/dist/party/types.d.ts.map +1 -0
  430. package/dist/party/types.js +85 -0
  431. package/dist/party/types.js.map +1 -0
  432. package/dist/pressing.d.ts +55 -35
  433. package/dist/pressing.d.ts.map +1 -1
  434. package/dist/pressing.js +102 -79
  435. package/dist/pressing.js.map +1 -1
  436. package/dist/publication.d.ts +4 -8
  437. package/dist/publication.d.ts.map +1 -1
  438. package/dist/publication.js +53 -40
  439. package/dist/publication.js.map +1 -1
  440. package/dist/queries.d.ts +1 -1
  441. package/dist/queries.d.ts.map +1 -1
  442. package/dist/queries.js +5 -4
  443. package/dist/queries.js.map +1 -1
  444. package/dist/read/artist.d.ts +6 -4
  445. package/dist/read/artist.d.ts.map +1 -1
  446. package/dist/read/artist.js +29 -27
  447. package/dist/read/artist.js.map +1 -1
  448. package/dist/read/catalog.d.ts +21 -18
  449. package/dist/read/catalog.d.ts.map +1 -1
  450. package/dist/read/catalog.js +120 -141
  451. package/dist/read/catalog.js.map +1 -1
  452. package/dist/read/client.d.ts +15 -11
  453. package/dist/read/client.d.ts.map +1 -1
  454. package/dist/read/client.js +5 -1
  455. package/dist/read/client.js.map +1 -1
  456. package/dist/read/config.d.ts +7 -2
  457. package/dist/read/config.d.ts.map +1 -1
  458. package/dist/read/config.js +2 -0
  459. package/dist/read/config.js.map +1 -1
  460. package/dist/read/genres.d.ts +5 -3
  461. package/dist/read/genres.d.ts.map +1 -1
  462. package/dist/read/genres.js +18 -15
  463. package/dist/read/genres.js.map +1 -1
  464. package/dist/read/index.d.ts.map +1 -1
  465. package/dist/read/index.js +8 -2
  466. package/dist/read/index.js.map +1 -1
  467. package/dist/read/receipts.d.ts +15 -6
  468. package/dist/read/receipts.d.ts.map +1 -1
  469. package/dist/read/receipts.js +76 -63
  470. package/dist/read/receipts.js.map +1 -1
  471. package/dist/read/types.d.ts +1 -1
  472. package/dist/read/types.d.ts.map +1 -1
  473. package/dist/read/wallet.d.ts +12 -10
  474. package/dist/read/wallet.d.ts.map +1 -1
  475. package/dist/read/wallet.js +122 -136
  476. package/dist/read/wallet.js.map +1 -1
  477. package/dist/read/works.d.ts +9 -16
  478. package/dist/read/works.d.ts.map +1 -1
  479. package/dist/read/works.js +48 -117
  480. package/dist/read/works.js.map +1 -1
  481. package/dist/recording-extensions.d.ts +8 -7
  482. package/dist/recording-extensions.d.ts.map +1 -1
  483. package/dist/recording-extensions.js +36 -69
  484. package/dist/recording-extensions.js.map +1 -1
  485. package/dist/release-extensions.d.ts +3 -20
  486. package/dist/release-extensions.d.ts.map +1 -1
  487. package/dist/release-extensions.js +13 -59
  488. package/dist/release-extensions.js.map +1 -1
  489. package/dist/release-graph.js +2 -2
  490. package/dist/release-graph.js.map +1 -1
  491. package/dist/royalty.d.ts +87 -0
  492. package/dist/royalty.d.ts.map +1 -0
  493. package/dist/royalty.js +160 -0
  494. package/dist/royalty.js.map +1 -0
  495. package/dist/share.d.ts +7 -6
  496. package/dist/share.d.ts.map +1 -1
  497. package/dist/share.js +38 -31
  498. package/dist/share.js.map +1 -1
  499. package/dist/transactions.d.ts +2 -2
  500. package/dist/transactions.d.ts.map +1 -1
  501. package/dist/transactions.js +6 -6
  502. package/dist/transactions.js.map +1 -1
  503. package/dist/vault.d.ts +20 -8
  504. package/dist/vault.d.ts.map +1 -1
  505. package/dist/vault.js +37 -21
  506. package/dist/vault.js.map +1 -1
  507. package/package.json +31 -10
  508. package/src/auth.ts +89 -70
  509. package/src/catalog.ts +35 -51
  510. package/src/client.ts +220 -141
  511. package/src/contracts/composition_credits/composition_credits.ts +170 -0
  512. package/src/contracts/composition_credits/composition_party_role.ts +190 -0
  513. package/src/contracts/composition_credits/deps/credit/credit.ts +28 -0
  514. package/src/contracts/composition_credits/deps/sui/vec_map.ts +34 -0
  515. package/src/contracts/composition_routed_stake/composition_routed_stake.ts +239 -0
  516. package/src/contracts/composition_royalty_pool/composition_royalty_pool.ts +154 -0
  517. package/src/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.ts +165 -0
  518. package/src/contracts/composition_royalty_pool_plugin/witness.ts +8 -0
  519. package/src/contracts/cover_art/cover_art.ts +98 -0
  520. package/src/contracts/cover_art/deps/ori/confidentiality.ts +24 -0
  521. package/src/contracts/cover_art/deps/ori/data.ts +12 -0
  522. package/src/contracts/genre/genre.ts +121 -0
  523. package/src/contracts/party_cta/party_cta.ts +213 -0
  524. package/src/contracts/party_genre/party_genre.ts +200 -0
  525. package/src/contracts/party_media/party_media.ts +142 -0
  526. package/src/contracts/party_music/party_music.ts +406 -0
  527. package/src/contracts/party_platform_link/party_platform_link.ts +149 -0
  528. package/src/contracts/party_pro_link/party_pro_link.ts +454 -0
  529. package/src/contracts/party_profile/deps/country_code/country_code.ts +20 -0
  530. package/src/contracts/party_profile/deps/language_code/language_code.ts +8 -0
  531. package/src/contracts/party_profile/party_profile.ts +240 -0
  532. package/src/contracts/party_roles/party_roles.ts +364 -0
  533. package/src/contracts/party_social/party_social.ts +503 -0
  534. package/src/contracts/party_tags/party_tags.ts +199 -0
  535. package/src/contracts/party_wallet/party_wallet.ts +174 -0
  536. package/src/contracts/record/deps/std/type_name.ts +23 -0
  537. package/src/contracts/record/deps/sui/vec_set.ts +22 -0
  538. package/src/contracts/record/pressing.ts +523 -0
  539. package/src/contracts/record/record.ts +339 -0
  540. package/src/contracts/record_shop/deps/std/type_name.ts +23 -0
  541. package/src/contracts/record_shop/listing.ts +603 -0
  542. package/src/contracts/record_shop/witness.ts +12 -0
  543. package/src/contracts/recording_advisory/recording_advisory.ts +316 -0
  544. package/src/contracts/recording_credits/deps/credit/credit.ts +28 -0
  545. package/src/contracts/recording_credits/deps/sui/vec_map.ts +34 -0
  546. package/src/contracts/recording_credits/deps/sui/vec_set.ts +22 -0
  547. package/src/contracts/recording_credits/recording_credits.ts +459 -0
  548. package/src/contracts/recording_credits/recording_party_role.ts +1042 -0
  549. package/src/contracts/recording_engine_session/deps/ori/confidentiality.ts +24 -0
  550. package/src/contracts/recording_engine_session/deps/ori/data.ts +12 -0
  551. package/src/contracts/recording_engine_session/recording_engine_session.ts +335 -0
  552. package/src/contracts/recording_genre/recording_genre.ts +235 -0
  553. package/src/contracts/recording_language/deps/language_code/language_code.ts +8 -0
  554. package/src/contracts/recording_language/recording_language.ts +238 -0
  555. package/src/contracts/recording_master_reference/deps/ori/confidentiality.ts +24 -0
  556. package/src/contracts/recording_master_reference/deps/ori/data.ts +12 -0
  557. package/src/contracts/recording_master_reference/recording_master_reference.ts +180 -0
  558. package/src/contracts/recording_royalty_pool/recording_royalty_pool.ts +157 -0
  559. package/src/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.ts +167 -0
  560. package/src/contracts/recording_royalty_pool_plugin/witness.ts +8 -0
  561. package/src/contracts/recording_streaming_transcode/deps/ori/data.ts +10 -0
  562. package/src/contracts/recording_streaming_transcode/recording_streaming_transcode.ts +203 -0
  563. package/src/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/confidentiality.ts +24 -0
  564. package/src/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/data.ts +12 -0
  565. package/src/contracts/release_cover_art/deps/cover_art/cover_art.ts +25 -0
  566. package/src/contracts/release_cover_art/deps/per_track/per_track.ts +37 -0
  567. package/src/contracts/release_cover_art/release_cover_art.ts +252 -0
  568. package/src/contracts/release_credits/deps/credit/credit.ts +28 -0
  569. package/src/contracts/release_credits/deps/sui/vec_map.ts +34 -0
  570. package/src/contracts/release_credits/release_credits.ts +157 -0
  571. package/src/contracts/release_credits/release_party_role.ts +87 -0
  572. package/src/contracts/release_description/release_description.ts +168 -0
  573. package/src/contracts/release_dsp_link/release_dsp_link.ts +813 -0
  574. package/src/contracts/release_genre/release_genre.ts +203 -0
  575. package/src/contracts/release_kind/release_kind.ts +154 -0
  576. package/src/contracts/release_revenue_distributor/release_revenue_distributor.ts +141 -0
  577. package/src/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.ts +143 -0
  578. package/src/contracts/release_revenue_distributor_plugin/witness.ts +8 -0
  579. package/src/contracts/routed_stake/deps/royalty_pool/stake.ts +53 -0
  580. package/src/contracts/routed_stake/deps/std/type_name.ts +23 -0
  581. package/src/contracts/routed_stake/deps/sui/balance.ts +18 -0
  582. package/src/contracts/routed_stake/deps/sui/vec_map.ts +34 -0
  583. package/src/contracts/routed_stake/routed_stake.ts +487 -0
  584. package/src/contracts/royalty_pool/deps/std/type_name.ts +23 -0
  585. package/src/contracts/royalty_pool/deps/sui/balance.ts +18 -0
  586. package/src/contracts/royalty_pool/deps/sui/vec_map.ts +34 -0
  587. package/src/contracts/royalty_pool/pool.ts +634 -0
  588. package/src/contracts/royalty_pool/stake.ts +305 -0
  589. package/src/contracts/utils/index.ts +428 -0
  590. package/src/contracts/vault/deps/sui/bag.ts +40 -0
  591. package/src/contracts/vault/deps/sui/borrow.ts +26 -0
  592. package/src/contracts/vault/vault.ts +509 -0
  593. package/src/contracts.ts +86 -39
  594. package/src/cover.ts +19 -28
  595. package/src/credits.ts +49 -81
  596. package/src/deployments.ts +321 -73
  597. package/src/errors.ts +156 -0
  598. package/src/events.ts +121 -0
  599. package/src/execute.ts +13 -9
  600. package/src/genre.ts +384 -0
  601. package/src/index.ts +10 -1
  602. package/src/internal.ts +2 -2
  603. package/src/packages.ts +243 -0
  604. package/src/party/client.ts +280 -0
  605. package/src/party/extensions/ctas.ts +46 -0
  606. package/src/party/extensions/genres.ts +62 -0
  607. package/src/party/extensions/links.ts +186 -0
  608. package/src/party/extensions/media.ts +72 -0
  609. package/src/party/extensions/profile.ts +81 -0
  610. package/src/party/extensions/roles.ts +94 -0
  611. package/src/party/extensions/tags.ts +54 -0
  612. package/src/party/index.ts +40 -0
  613. package/src/party/internal.ts +102 -0
  614. package/src/party/queries.ts +175 -0
  615. package/src/party/types.ts +88 -0
  616. package/src/pressing.ts +163 -166
  617. package/src/publication.ts +58 -45
  618. package/src/queries.ts +5 -5
  619. package/src/read/artist.ts +47 -42
  620. package/src/read/catalog.ts +201 -224
  621. package/src/read/client.ts +20 -13
  622. package/src/read/config.ts +9 -2
  623. package/src/read/genres.ts +24 -16
  624. package/src/read/index.ts +8 -2
  625. package/src/read/receipts.ts +131 -70
  626. package/src/read/types.ts +1 -1
  627. package/src/read/wallet.ts +199 -166
  628. package/src/read/works.ts +76 -195
  629. package/src/recording-extensions.ts +44 -98
  630. package/src/release-extensions.ts +11 -87
  631. package/src/release-graph.ts +2 -2
  632. package/src/royalty.ts +264 -0
  633. package/src/share.ts +45 -30
  634. package/src/transactions.ts +6 -6
  635. package/src/vault.ts +53 -30
@@ -1,10 +1,66 @@
1
1
  // Copyright (c) Miso Labs, Inc.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
- import type { MisoDeployment, MisoNetwork } from "@misofm/protocol/deployments";
5
- import { MISO_DEPLOYMENTS } from "@misofm/protocol/deployments";
6
- import { normalizeSuiObjectId } from "@mysten/sui/utils";
4
+ import type { MisoDeployment, MisoNetwork } from "@misofm/musicos/deployments";
5
+ import { MISO_DEPLOYMENTS } from "@misofm/musicos/deployments";
6
+ import type { PartyDeployment } from "@misofm/partyos/deployments";
7
+ import { PARTYOS_DEPLOYMENTS } from "@misofm/partyos/deployments";
8
+ import { normalizeSuiAddress, normalizeSuiObjectId } from "@mysten/sui/utils";
9
+ import { Context, Effect, Layer } from "effect";
10
+ import { DeploymentError } from "@misofm/effect/errors";
7
11
  import { immutableSnapshot } from "./internal.ts";
12
+ import {
13
+ MisoPlatformDeploymentInvalidError,
14
+ OperationsUnavailableError,
15
+ RecordSalesUnavailableError,
16
+ } from "./errors.ts";
17
+
18
+ export {
19
+ MisoPlatformDeploymentInvalidError,
20
+ OperationsUnavailableError,
21
+ RecordSalesUnavailableError,
22
+ } from "./errors.ts";
23
+
24
+ /** Every package address a platform deployment must supply, for canonical-id
25
+ * and pairwise-distinctness validation in {@link assertMisoPlatformDeployment}. */
26
+ const REQUIRED_PLATFORM_PACKAGE_KEYS = [
27
+ "minato",
28
+ "credit",
29
+ "compositionCredits",
30
+ "recordingCredits",
31
+ "releaseCredits",
32
+ "royaltyPool",
33
+ "routedStake",
34
+ "coverArt",
35
+ "releaseCoverArt",
36
+ "genre",
37
+ "releaseDescription",
38
+ "releaseDspLink",
39
+ "releaseGenre",
40
+ "releaseKind",
41
+ "recordingAdvisory",
42
+ "recordingLanguage",
43
+ "recordingMasterReference",
44
+ "ori",
45
+ "countryCode",
46
+ "languageCode",
47
+ ] as const;
48
+
49
+ /** Every first-party Party extension package (the PartyOS core lives in `@misofm/partyos`). */
50
+ const REQUIRED_PARTY_PACKAGE_KEYS = [
51
+ "partyCta",
52
+ "partyGenre",
53
+ "partyMedia",
54
+ "partyMusic",
55
+ "partyPlatformLink",
56
+ "partyProLink",
57
+ "partyProfile",
58
+ "partyRoles",
59
+ "partySocial",
60
+ "partyTags",
61
+ "countryCode",
62
+ "languageCode",
63
+ ] as const;
8
64
 
9
65
  /** Primary Record sales are unavailable on legacy deployments until both new
10
66
  * immutable packages have been freshly published and verified. */
@@ -23,20 +79,13 @@ export type RecordSalesDeployment =
23
79
  readonly recordShopPackageId: string;
24
80
  };
25
81
 
26
- export class RecordSalesUnavailableError extends Error {
27
- override readonly name = "RecordSalesUnavailableError";
28
- constructor(readonly reason: string) {
29
- super(`@misofm/platform: Record sales are unavailable: ${reason}`);
30
- }
31
- }
32
-
33
82
  export function requireRecordSalesDeployment(
34
83
  deployment: RecordSalesDeployment | undefined,
35
84
  ): Extract<RecordSalesDeployment, { status: "available" }> {
36
85
  if (!deployment || deployment.status === "unavailable") {
37
- throw new RecordSalesUnavailableError(
38
- deployment?.reason ?? "no Record sales deployment was configured",
39
- );
86
+ throw new RecordSalesUnavailableError({
87
+ reason: deployment?.reason ?? "no Record sales deployment was configured",
88
+ });
40
89
  }
41
90
  const canonicalPackageId = (value: string): boolean => {
42
91
  if (!/^0x[0-9a-f]{64}$/.test(value)) return false;
@@ -50,14 +99,14 @@ export function requireRecordSalesDeployment(
50
99
  !canonicalPackageId(deployment.recordPackageId) ||
51
100
  !canonicalPackageId(deployment.recordShopPackageId)
52
101
  ) {
53
- throw new RecordSalesUnavailableError(
54
- "Record and Record Shop package IDs must be canonical 32-byte Sui object IDs",
55
- );
102
+ throw new RecordSalesUnavailableError({
103
+ reason: "Record and Record Shop package IDs must be canonical 32-byte Sui object IDs",
104
+ });
56
105
  }
57
106
  if (deployment.recordPackageId === deployment.recordShopPackageId) {
58
- throw new RecordSalesUnavailableError(
59
- "Record and Record Shop package IDs must be distinct",
60
- );
107
+ throw new RecordSalesUnavailableError({
108
+ reason: "Record and Record Shop package IDs must be distinct",
109
+ });
61
110
  }
62
111
  return deployment;
63
112
  }
@@ -94,13 +143,6 @@ export type OperationsDeployment =
94
143
  };
95
144
  };
96
145
 
97
- export class OperationsUnavailableError extends Error {
98
- override readonly name = "OperationsUnavailableError";
99
- constructor(readonly reason: string) {
100
- super(`@misofm/platform: Vault operations are unavailable: ${reason}`);
101
- }
102
- }
103
-
104
146
  export type AvailableOperationsDeployment = Extract<
105
147
  OperationsDeployment,
106
148
  { status: "available" }
@@ -129,9 +171,9 @@ export function requireOperationsDeployment(
129
171
  deployment: OperationsDeployment | undefined,
130
172
  ): AvailableOperationsDeployment {
131
173
  if (!deployment || deployment.status !== "available") {
132
- throw new OperationsUnavailableError(
133
- deployment?.reason ?? "no Vault operations deployment was configured",
134
- );
174
+ throw new OperationsUnavailableError({
175
+ reason: deployment?.reason ?? "no Vault operations deployment was configured",
176
+ });
135
177
  }
136
178
 
137
179
  const candidate = deployment as Partial<AvailableOperationsDeployment>;
@@ -158,15 +200,15 @@ export function requireOperationsDeployment(
158
200
 
159
201
  for (const [field, id] of packageEntries) {
160
202
  if (!canonicalObjectId(id)) {
161
- throw new OperationsUnavailableError(
162
- `${field} must be a canonical 32-byte Sui package ID`,
163
- );
203
+ throw new OperationsUnavailableError({
204
+ reason: `${field} must be a canonical 32-byte Sui package ID`,
205
+ });
164
206
  }
165
207
  }
166
208
  if (!canonicalObjectId(vault?.registryId)) {
167
- throw new OperationsUnavailableError(
168
- "vault.registryId must be a canonical 32-byte Sui object ID",
169
- );
209
+ throw new OperationsUnavailableError({
210
+ reason: "vault.registryId must be a canonical 32-byte Sui object ID",
211
+ });
170
212
  }
171
213
 
172
214
  const identities = [
@@ -174,21 +216,49 @@ export function requireOperationsDeployment(
174
216
  vault.registryId,
175
217
  ];
176
218
  if (new Set(identities).size !== identities.length) {
177
- throw new OperationsUnavailableError(
178
- "the Vault registry object and all nine package IDs must be distinct",
179
- );
219
+ throw new OperationsUnavailableError({
220
+ reason: `the Vault registry object and all ${packageEntries.length} package IDs must be distinct`,
221
+ });
180
222
  }
181
223
  return deployment;
182
224
  }
183
225
 
226
+ /**
227
+ * The first-party Party EXTENSION packages (profile, media, roles, tags,
228
+ * genres, CTAs, platform links). The Party object model core (`partyos`) is
229
+ * owned by `@misofm/partyos` — see {@link MisoPlatformDeployment.partyos}.
230
+ * Platform-internal: not re-exported by `@misofm/musicos`, which only ever
231
+ * knew the object-model core.
232
+ */
233
+ export interface PartyExtensionsDeployment {
234
+ readonly partyCta: string;
235
+ readonly partyGenre: string;
236
+ readonly partyMedia: string;
237
+ readonly partyMusic: string;
238
+ readonly partyPlatformLink: string;
239
+ readonly partyProLink: string;
240
+ readonly partyProfile: string;
241
+ readonly partyRoles: string;
242
+ readonly partySocial: string;
243
+ readonly partyTags: string;
244
+ /** `country_code` — dependency of `party_profile`. */
245
+ readonly countryCode: string;
246
+ /** `language_code` — dependency of `party_profile` (and, via `packages`, `recording_language`). */
247
+ readonly languageCode: string;
248
+ }
249
+
184
250
  /** Complete on-chain identity used by the Miso platform SDK on one network. */
185
251
  export interface MisoPlatformDeployment {
186
252
  /** Network name this immutable deployment set belongs to. */
187
253
  readonly network: MisoNetwork;
188
254
  /** Full ledger genesis digest used to reject a mislabeled RPC endpoint. */
189
255
  readonly chainIdentifier: string;
190
- /** The complete protocol and Party deployment this platform build targets. */
256
+ /** The object-model deployment (`@misofm/musicos`) this platform build targets. */
191
257
  readonly protocol: MisoDeployment;
258
+ /** The Party object model deployment (`@misofm/partyos`) this platform build targets. */
259
+ readonly partyos: PartyDeployment;
260
+ /** The first-party Party extension packages. */
261
+ readonly party: PartyExtensionsDeployment;
192
262
  readonly recordSales: RecordSalesDeployment;
193
263
  /** Fail-closed, structurally complete Vault/Action/plugin identity set. */
194
264
  readonly operations: OperationsDeployment;
@@ -205,7 +275,7 @@ export interface MisoPlatformDeployment {
205
275
  /** Cover-art value type used by the release cover extension. */
206
276
  readonly coverArt: string;
207
277
  readonly releaseCoverArt: string;
208
- /** Curated Genre vocabulary package used by release_genre. */
278
+ /** Curated Genre vocabulary package used by release_genre and recording_genre. */
209
279
  readonly genre: string;
210
280
  readonly releaseDescription: string;
211
281
  readonly releaseDspLink: string;
@@ -213,6 +283,8 @@ export interface MisoPlatformDeployment {
213
283
  readonly releaseKind: string;
214
284
  readonly recordingAdvisory: string;
215
285
  readonly recordingLanguage: string;
286
+ /** Ordered recording genre list (primary first). Optional until first published. */
287
+ readonly recordingGenre?: string;
216
288
  readonly recordingMasterReference: string;
217
289
  /** Complete Walrus Quilt containing the Recording's streaming transcodes. */
218
290
  readonly recordingStreamingTranscode?: string;
@@ -226,6 +298,10 @@ export interface MisoPlatformDeployment {
226
298
  readonly recordSealPolicy?: string;
227
299
  /** External `ori` package (`data::WalrusBlob`, `data::WalrusQuilt`) used by Walrus-backed extensions. */
228
300
  readonly ori: string;
301
+ /** `country_code` — dependency of `party_profile`. */
302
+ readonly countryCode: string;
303
+ /** `language_code` — dependency of `recording_language` (and, via `party`, `party_profile`). */
304
+ readonly languageCode: string;
229
305
  };
230
306
  readonly objects: {
231
307
  readonly releaseRegistry: string;
@@ -239,6 +315,109 @@ export interface MisoPlatformDeployment {
239
315
  };
240
316
  }
241
317
 
318
+ /**
319
+ * Validates the `packages` and `party` package-id sets before any Move target
320
+ * is constructed from them: every required id must be a canonical 32-byte Sui
321
+ * package ID, and no two of them (nor the core `musicos` package) may collide.
322
+ * Optional generation fields (`recordingGenre`, `recordingStreamingTranscode`,
323
+ * `recordingEngineSession`, `recordSealPolicy`) are validated only when present.
324
+ */
325
+ export function assertMisoPlatformDeployment(
326
+ deployment: unknown,
327
+ ): asserts deployment is MisoPlatformDeployment {
328
+ if (!deployment || typeof deployment !== "object" || Array.isArray(deployment)) {
329
+ throw new MisoPlatformDeploymentInvalidError({
330
+ message: "@misofm/platform: deployment must be a complete MisoPlatformDeployment object.",
331
+ });
332
+ }
333
+ const candidate = deployment as Partial<MisoPlatformDeployment>;
334
+ const packages = candidate.packages as Partial<MisoPlatformDeployment["packages"]> | undefined;
335
+ const party = candidate.party as Partial<PartyExtensionsDeployment> | undefined;
336
+ const partyos = candidate.partyos as Partial<PartyDeployment> | undefined;
337
+ if (!packages || typeof packages !== "object") {
338
+ throw new MisoPlatformDeploymentInvalidError({
339
+ message: "@misofm/platform: deployment is missing its `packages` section.",
340
+ });
341
+ }
342
+ if (!party || typeof party !== "object") {
343
+ throw new MisoPlatformDeploymentInvalidError({
344
+ message: "@misofm/platform: deployment is missing its `party` section.",
345
+ });
346
+ }
347
+ if (!partyos || typeof partyos !== "object") {
348
+ throw new MisoPlatformDeploymentInvalidError({
349
+ message: "@misofm/platform: deployment is missing its `partyos` section.",
350
+ });
351
+ }
352
+
353
+ const seenPackageIds = new Set<string>();
354
+ /** `dedupeOk` lets `party.countryCode`/`party.languageCode` intentionally
355
+ * repeat `packages.countryCode`/`packages.languageCode` — both sections
356
+ * point the same shared dependency package at their own consumers — without
357
+ * tripping the distinctness check meant to catch a genuinely misconfigured
358
+ * manifest. */
359
+ const checkCanonical = (field: string, packageId: unknown, dedupeOk = false) => {
360
+ if (typeof packageId !== "string") {
361
+ throw new MisoPlatformDeploymentInvalidError({
362
+ message: `@misofm/platform: deployment is missing package ID for "${field}".`,
363
+ });
364
+ }
365
+ let normalized: string;
366
+ try {
367
+ normalized = normalizeSuiAddress(packageId);
368
+ } catch {
369
+ throw new MisoPlatformDeploymentInvalidError({
370
+ message: `@misofm/platform: deployment package ID for "${field}" is not a valid Sui address.`,
371
+ });
372
+ }
373
+ if (packageId !== normalized) {
374
+ throw new MisoPlatformDeploymentInvalidError({
375
+ message: `@misofm/platform: deployment package ID for "${field}" must be normalized (${normalized}).`,
376
+ });
377
+ }
378
+ if (!dedupeOk) {
379
+ if (seenPackageIds.has(packageId)) {
380
+ throw new MisoPlatformDeploymentInvalidError({
381
+ message:
382
+ `@misofm/platform: deployment package ID for "${field}" duplicates another package. ` +
383
+ "Every package in a deployment manifest must have its own address.",
384
+ });
385
+ }
386
+ seenPackageIds.add(packageId);
387
+ }
388
+ };
389
+
390
+ for (const key of REQUIRED_PLATFORM_PACKAGE_KEYS) {
391
+ checkCanonical(`packages.${key}`, packages[key]);
392
+ }
393
+ checkCanonical("partyos.partyos", partyos.partyos);
394
+ for (const key of REQUIRED_PARTY_PACKAGE_KEYS) {
395
+ // `country_code`/`language_code` are shared dependency packages, deliberately
396
+ // repeated from `packages.*` above rather than distinct party-only ids.
397
+ checkCanonical(`party.${key}`, party[key], key === "countryCode" || key === "languageCode");
398
+ }
399
+ if (party.countryCode !== packages.countryCode) {
400
+ throw new MisoPlatformDeploymentInvalidError({
401
+ message:
402
+ "@misofm/platform: party.countryCode must match packages.countryCode (the same shared dependency package).",
403
+ });
404
+ }
405
+ if (party.languageCode !== packages.languageCode) {
406
+ throw new MisoPlatformDeploymentInvalidError({
407
+ message:
408
+ "@misofm/platform: party.languageCode must match packages.languageCode (the same shared dependency package).",
409
+ });
410
+ }
411
+ }
412
+
413
+ /** Validate and snapshot an untrusted manifest so later caller mutation is inert. */
414
+ export function normalizeMisoPlatformDeployment(
415
+ deployment: unknown,
416
+ ): MisoPlatformDeployment {
417
+ assertMisoPlatformDeployment(deployment);
418
+ return immutableSnapshot(deployment);
419
+ }
420
+
242
421
  /**
243
422
  * Platform deployments bundled with this SDK release.
244
423
  *
@@ -250,92 +429,125 @@ export const MISO_PLATFORM_DEPLOYMENTS = immutableSnapshot({
250
429
  network: "testnet",
251
430
  chainIdentifier: "69WiPg3DAQiwdxfncX6wYQ2siKwAe6L9BZthQea3JNMD",
252
431
  protocol: MISO_DEPLOYMENTS.testnet,
432
+ partyos: PARTYOS_DEPLOYMENTS.testnet,
253
433
  recordSales: {
254
434
  status: "available",
255
435
  recordPackageId:
256
- "0x0ad1ad504c63f8e14f74f0535600eb965217bc9ef3305d6d4bd3dad077bb832f",
436
+ "0x8562a4c266b1229871551cec69c1a331f682920b9cad7685e42e7c6a5eba61d5",
257
437
  recordShopPackageId:
258
- "0x6f075182093837a6b9ea00be706c94d896a3cf62567e05a74d902716a7ac8730",
438
+ "0x5d1b79c312b5d2a2bc9aa0ce7ea6d41ecedd4a5d8698bc007000ca0c8a3459f9",
259
439
  },
260
440
  operations: {
261
441
  status: "available",
262
442
  vault: {
263
443
  packageId:
264
- "0x994699b7df4963aa3ad4ca3253d26e7271b8f8e76b50108f00eb69e7aca4637a",
444
+ "0xe7a5d1f895d7ca2571c2329a13a5703905d8903433b379db3aa987c7594a0198",
265
445
  registryId:
266
- "0xeaad77ce26cc610340c32c55f8fe0ae6f63639431c4608c7466703dee8450c7a",
446
+ "0xebd40980edb30e425b80f7d65378246254cc5787e07d23faa46e6b9a2b9dd14d",
267
447
  },
268
448
  actions: {
269
449
  compositionRoyaltyPool:
270
- "0x8a55e02198a9ab7997abf2815e7f4b587d976570128741dfed2e152b7c0e9cab",
450
+ "0xa4655e8c1319655cbc0ad5da0d8bccbd528372fea2cb767235e89f2be6eb403c",
271
451
  recordingRoyaltyPool:
272
- "0x404089e5da21fe26dd6b9b346f457b3cbe34977bb12c503036e6b625fa34ba41",
452
+ "0xff510b24ddba7755dafeb3ceae65204ed6be058a83b482f98da92b3d19eefcd2",
273
453
  partyWallet:
274
- "0x0bdd7e78d46834546b54d6c02697cf67b37d36a2c6fdbb19e290729529fdb3a9",
454
+ "0x493fa265fd7c8066cd80f644d22086fe36b2c8e26bd160d8a6f6f44743c42acc",
275
455
  compositionRoutedStake:
276
- "0xf5138fd64c16a43bead17e56fe7ac6900c214cd55233c069f47b13174d0a9ff8",
456
+ "0xff5b7a4e1791210c36f2ea071a87e2e6212ddbe2acc922d324cf5436f8ca0b47",
277
457
  releaseRevenueDistributor:
278
- "0x24656bb1feafc1a3d0ec30b8f10b364983c7a9c12febb5b7f6acd007f013a54b",
458
+ "0x72b175f79cdb1df5d597cdb07007ac309994e6c3f99823b04400a48565dd3989",
279
459
  },
280
460
  plugins: {
281
461
  compositionRoyaltyPool:
282
- "0x8934a96dd9cbdc64040d74810556deef0a39d28ea7033f633d76d7b560e9191c",
462
+ "0x57b58eb53ade40a7e1e6e4be4bdd0fecdd57f709efe8021830b2e3519e800254",
283
463
  recordingRoyaltyPool:
284
- "0x92b8b21483241e39ddab66a67fb1fc99f553eef9b53f47747cb59515540c8dec",
464
+ "0x69c859aba359ca8fbeb1df4cff3de53cca3b4ce5ffaa1a7516bc9eb3e016cf71",
285
465
  releaseRevenueDistributor:
286
- "0xbebed662371093a75c0d24a2c34a161339a2e4ab981594de8aa7157c555c620e",
466
+ "0x875a764569360ec7f4e676bcf5e30a50037229f33f2bae6d2acd205c0570e8b2",
287
467
  },
288
468
  },
289
469
  packages: {
290
470
  minato:
291
471
  "0xcdf58ed7e4580118a6a3f2a8077abffe633c551b2f19e95ce01685d42f90b8d9",
292
472
  credit:
293
- "0xdcbe495da81859e16540e2df44e86123217930ac9066a8aecebf479cbe73006f",
473
+ "0xd77981b6872d975ccebeac1c639eebbcd1f7916f468df0242d4b26d9bf7293c1",
294
474
  compositionCredits:
295
- "0x54cac9dde365a08eff983af16d74d798e6c0a14264bf6cc8a24790708498e37b",
475
+ "0x924a5e87230cf1218be23484e4914d9c5515528c8ef032b1796ebdc71dd3830c",
296
476
  recordingCredits:
297
- "0x0ca2c727c3eb8d3f889d9b29ce1118bc60518c6990e26e9ab278a7ffe635bf1e",
477
+ "0x982d946a34bb342913c81441be1c702b29f2a83bc801c4fce9ed4f9d7833b8b1",
298
478
  releaseCredits:
299
- "0x3a05d0c863ca0b5210f90f69cf87da59791b127c9eaaa10633961aee229a3ed5",
479
+ "0xdc854106cb76733bb012db2369e0a39319fb79b0587e2a887814c7cb67134d77",
300
480
  royaltyPool:
301
- "0xa49e297e4ed8c29ea9bd5941b3ac7d41327f97c85fc35e11bda466f09fce1943",
481
+ "0xf7be632d74f71574c2aa5ac2790a51e770b2cfbcf80233b875bdbe24ffe0b3b9",
302
482
  routedStake:
303
- "0xc920af18421cd11c315fa8d0cdd56056854cf453f1ced1fa1b32d555bca2955a",
483
+ "0xfe3f0c0008823330d2e465a300b34eec50ab3c7444e655602ed2efc517c91824",
304
484
  coverArt:
305
- "0xb7c82b0435e6f577cdc334a9b2d8940b869dacb846d72ddb3ee566b5e8c63b52",
485
+ "0xc0b1421b32e287559ec29f6d7c71dd83778234cb62d4fe9d296577710411f6d4",
306
486
  releaseCoverArt:
307
- "0xb289dfb58ccf2af3722f7bc93b072426a791d05a401115f2901d130f12d8e4b2",
487
+ "0x74c1708ff6016b5244f8d31559210ae6e5a2b5e52cb3c7996e1f630a7d4a87b2",
308
488
  genre:
309
- "0x6ae4aefdd9d147db6f04a14e4f6149944c485fc7d87d8201dcdb0dee15f0f296",
489
+ "0xeea93dd140ee2133d1baeeb71281846658b104d53403d4f89e75f65ade38f931",
310
490
  releaseDescription:
311
- "0x60a8bc11b7d41d594a2c54c8dee4534dcf94d3be20054100c7774026a543ec6f",
491
+ "0x8d59667b5e9476df33125153494246107a1384ecbea8862fa1b5c256588789fa",
312
492
  releaseDspLink:
313
- "0xbeffd79f656ce89d3595c9fb36dac42a169b72a5e7090504c48ba6c2425961a6",
493
+ "0xebcf0515a35c765ca89208162510bdddd2a9225866b9c66f33dc3cfa1e07bf8a",
314
494
  releaseGenre:
315
- "0x111dd8bff35a1779067d7c75f8a514691342f91f67d2fcdae392768ba6db26f2",
495
+ "0xc7269a52efa400b80009f8c9f7e31591a26c50c0ae925be31edaef8889e91c83",
316
496
  releaseKind:
317
- "0x90bf2633b45699d424da616869ecb3d824a88d78d8f8d2ccf5b711b18a734bf1",
497
+ "0x48f1651e00572525fb2e59ebb37c5367d45258d62486984825c972a8ab2d0ce3",
318
498
  recordingAdvisory:
319
- "0x48a16738e6af6548e50d8f76dce9b9de247f365ef2a07c171f732bdc9c88b235",
499
+ "0x4149faba212e3aca5440e5ea15bde535dca453f2701125a996d89188b0000ed0",
320
500
  recordingLanguage:
321
- "0x677cef9c766b17f87fdf9d6623f1adca0d2e244ee228c86d82c23599ad9a828a",
501
+ "0x78e48de29be0b9dca4921dd0740cc12c88cb02599ee8554854b4e423a689fd19",
502
+ recordingGenre:
503
+ "0x3c017256c66c7d48f4c23ae40dd6d5a0470a4f85a750aadef388ef9ac8e71b36",
322
504
  recordingMasterReference:
323
- "0x2b1ca393e8d41eba5b0d3cabf6df1e207a349bba0486ca9ea3a31734d3445971",
505
+ "0x2638edd3c9fec5650eda561e77fb390add0110088ad54c470e83ea079108bb1a",
324
506
  // Stems generation (Session V1 blob + Stem { digest, data } vector).
325
507
  // 0x2fcb9ab9… was the retired single-blob generation.
326
508
  recordingEngineSession:
327
- "0x55ca06d2ac044247e55165a9cb661219d47cee94789cc289a6e1e91ac8159a76",
509
+ "0xa3057f47e31683c1eba0afba56aa38af6734f6b9fc3fb679c2681a21ccfe3c24",
328
510
  recordingStreamingTranscode:
329
- "0x45ee95108ddc6f90c1f4c73fb8aff5f0b7047d4982e6f997e2c9afe02f908a05",
511
+ "0x67bde09257865521b221aebf83bc95e5a9ae9d38f2c77223772436bc9c70e8ec",
330
512
  recordSealPolicy:
331
- "0x3af51d7c48b32d37a1a3bd31f06cdd873032fca8663cb3f9d9cf516bc4ee08ba",
513
+ "0x7e1921715dbda4fbb73227d0764f4c0de55fdcf3892ddadc4ef1bf895453b2a2",
332
514
  ori: "0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60",
515
+ countryCode:
516
+ "0x69fb214a74d5253971a45b2d07f83f13ae96992dd38198d7bacb21e1f5fb5f81",
517
+ languageCode:
518
+ "0xac318126565a2fab608984a091b3582ba9cda6c32232f567eef50277c5042c36",
519
+ },
520
+ party: {
521
+ partyCta:
522
+ "0x310bd64b4d32b547ad52128df9839702a3b74e144e920d04d00bb2bd488b2036",
523
+ partyGenre:
524
+ "0x6b66b793a13c899e41d812a3feccafc9078184f0bd74c4af474d23ef7fd35ec5",
525
+ partyMedia:
526
+ "0xb4479afae1f14c4cf7064908c29ccf698b5e10f2e48a31d63f861131476594c5",
527
+ partyMusic:
528
+ "0xe583826d1610a252769eddb4fa81e81040d40468fc99eec4bf72c52456ff7f79",
529
+ partyPlatformLink:
530
+ "0xe0990445758d27732928759a33e73bcddd2b06604dc0c552b958b6b0220b060b",
531
+ partyProLink:
532
+ "0xdbf8f3d1d12cf15e435d74bfb910e88eae7094064176661a85bc79a76e6ce674",
533
+ partyProfile:
534
+ "0x0cb11099892f9a583077408369a1d838ec888660ed31af7f7bd52a3794f147a6",
535
+ partyRoles:
536
+ "0x53227d2c8c36b6bae17e2cdfaff50cf7e52261c40cbda65a11fe9f9486cc6104",
537
+ partySocial:
538
+ "0xb691711983ad484e8caecc3091872a163a4cf6f93bfab3d3974ad94bb4b63d2f",
539
+ partyTags:
540
+ "0xcc0a53bfa1310758c02607a9ee95fa1553ef3d9431e3df25f38a16e09c3466c5",
541
+ countryCode:
542
+ "0x69fb214a74d5253971a45b2d07f83f13ae96992dd38198d7bacb21e1f5fb5f81",
543
+ languageCode:
544
+ "0xac318126565a2fab608984a091b3582ba9cda6c32232f567eef50277c5042c36",
333
545
  },
334
546
  objects: {
335
547
  releaseRegistry:
336
- "0xbb947ba51420df59a726487e008adaf352b7c58c1dbfe1e5e6b19131a98cc43c",
548
+ "0xb0506d287b50a134a2773a5d4e0c9c4e3ef4aa3806cad6ff93d8b28be063c6df",
337
549
  genreRegistry:
338
- "0x63cfb245a15871b7a4c33b66487a3f4de0a7bd6431e3f0434cad4176c25e6eb5",
550
+ "0x9a5a7ce36906a0581e6e38a0dd6abc24093acc6ffd7c0d6a7f419c57b069d00e",
339
551
  },
340
552
  legacy: {
341
553
  releaseCoverArtPackages: [],
@@ -358,3 +570,39 @@ export function getMisoPlatformDeployment(
358
570
  }
359
571
  return deployment;
360
572
  }
573
+
574
+ /** Effect-returning `assertMisoPlatformDeployment`: validation failure becomes a typed `DeploymentError`. */
575
+ export function validateMisoPlatformDeployment(
576
+ deployment: unknown,
577
+ ): Effect.Effect<MisoPlatformDeployment, DeploymentError> {
578
+ return Effect.try({
579
+ try: () => normalizeMisoPlatformDeployment(deployment),
580
+ catch: (cause) =>
581
+ new DeploymentError({
582
+ message: cause instanceof Error ? cause.message : String(cause),
583
+ }),
584
+ });
585
+ }
586
+
587
+ /**
588
+ * The platform deployment manifest as a service, so the deployment-aware
589
+ * platform reads and PTB builders (notably {@link Genre.derive}, which needs
590
+ * the genre registry + package ids) can declare it in `R` instead of taking it
591
+ * as an explicit parameter. `MisoPlatformClient`/`misoPlatform()` provide this
592
+ * layer internally; a bare read composed from `queries.ts` functions must
593
+ * provide it explicitly, e.g.
594
+ * `program.pipe(Effect.provide(PlatformDeployment.layer(deployment)))`.
595
+ */
596
+ export class PlatformDeployment extends Context.Service<PlatformDeployment, MisoPlatformDeployment>()(
597
+ "@misofm/platform/PlatformDeployment",
598
+ ) {
599
+ /** Provides a concrete, already-validated `MisoPlatformDeployment` as the service. */
600
+ static layer(deployment: MisoPlatformDeployment): Layer.Layer<PlatformDeployment> {
601
+ return Layer.succeed(PlatformDeployment, deployment);
602
+ }
603
+
604
+ /** Resolves a bundled deployment for `network` and provides it as the service; fails closed for unknown networks. */
605
+ static fromNetwork(network: string): Layer.Layer<PlatformDeployment> {
606
+ return PlatformDeployment.layer(getMisoPlatformDeployment(network));
607
+ }
608
+ }