@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
package/src/read/works.ts CHANGED
@@ -1,139 +1,27 @@
1
1
  // Copyright (c) Miso Labs, Inc.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
- import type { ClientWithCoreApi } from "@mysten/sui/client";
5
- import type { SuiGraphQLClient } from "@mysten/sui/graphql";
4
+ import { Effect } from "effect";
6
5
  import { normalizeSuiAddress } from "@mysten/sui/utils";
7
6
  import {
8
7
  contracts,
9
8
  extractTypeParams2,
10
9
  getCompositionsByIds,
11
- type Composition,
12
- type Recording,
13
- type Release,
10
+ getWorkAddressesByShareTypes,
11
+ Composition,
12
+ Recording,
13
+ Release,
14
14
  type TrackState,
15
- } from "@misofm/protocol";
15
+ type WorkAddressesByShareType,
16
+ type WorkShareTypes,
17
+ } from "@misofm/musicos";
18
+ import { decodeBcs, SuiClient, SuiGraphQL, SuiRpcError, type BcsDecodeError } from "@misofm/effect";
16
19
 
17
- export interface WorkShareTypes {
18
- compositions: readonly string[];
19
- recordings: readonly string[];
20
- }
21
-
22
- export interface WorkAddressesByShareType {
23
- compositions: Partial<Record<string, string>>;
24
- recordings: Partial<Record<string, string>>;
25
- }
26
-
27
- interface WorkAddressConnection {
28
- nodes: Array<{
29
- address: string;
30
- asMoveObject?: {
31
- contents?: { type?: { repr?: string } | null } | null;
32
- } | null;
33
- }>;
34
- pageInfo?: { hasNextPage: boolean; endCursor: string | null };
35
- }
36
-
37
- /** Resolve all work share types in one aliased GraphQL request. */
38
- export async function getWorkAddressesByShareTypes(
39
- client: SuiGraphQLClient,
40
- shareTypes: WorkShareTypes,
41
- misoPackageId: string,
42
- ): Promise<WorkAddressesByShareType> {
43
- const compositions = [...new Set(shareTypes.compositions)];
44
- const recordings = new Set(shareTypes.recordings);
45
- const out: WorkAddressesByShareType = { compositions: {}, recordings: {} };
46
- if (compositions.length === 0 && recordings.size === 0) return out;
47
-
48
- const declarations: string[] = [];
49
- const selections: string[] = [];
50
- const variables: Record<string, string> = {};
51
- compositions.forEach((shareType, index) => {
52
- const variable = `compositionType${index}`;
53
- declarations.push(`$${variable}: String!`);
54
- selections.push(
55
- `composition${index}: objects(first: 1, filter: { type: $${variable} }) { nodes { address } }`,
56
- );
57
- variables[variable] =
58
- `${misoPackageId}::composition::Composition<${shareType}>`;
59
- });
60
- if (recordings.size > 0) {
61
- declarations.push("$recordingType: String!");
62
- selections.push(`recordings: objects(first: 50, filter: { type: $recordingType }) {
63
- pageInfo { hasNextPage endCursor }
64
- nodes { address asMoveObject { contents { type { repr } } } }
65
- }`);
66
- variables.recordingType = `${misoPackageId}::recording::Recording`;
67
- }
68
-
69
- const result = await client.query<
70
- Record<string, WorkAddressConnection | null>,
71
- Record<string, string>
72
- >({
73
- query: `query WorkAddressesByShareTypes(${declarations.join(", ")}) {
74
- ${selections.join("\n")}
75
- }`,
76
- variables,
77
- });
78
- if (result.errors?.length) {
79
- throw new AggregateError(
80
- result.errors.map((error) => new Error(error.message)),
81
- "Work type discovery failed",
82
- );
83
- }
84
- compositions.forEach((shareType, index) => {
85
- const address = result.data?.[`composition${index}`]?.nodes[0]?.address;
86
- if (address) out.compositions[shareType] = address;
87
- });
88
-
89
- const readRecordingPage = (
90
- page: WorkAddressConnection | null | undefined,
91
- ) => {
92
- for (const node of page?.nodes ?? []) {
93
- const repr = node.asMoveObject?.contents?.type?.repr;
94
- if (!repr) continue;
95
- try {
96
- const [shareType] = extractTypeParams2(repr);
97
- if (recordings.has(shareType)) out.recordings[shareType] = node.address;
98
- } catch {
99
- // Ignore objects whose deployed type does not match the Recording ABI.
100
- }
101
- }
102
- };
103
-
104
- let page = result.data?.recordings;
105
- readRecordingPage(page);
106
- while (
107
- page?.pageInfo?.hasNextPage &&
108
- page.pageInfo.endCursor &&
109
- Object.keys(out.recordings).length < recordings.size
110
- ) {
111
- const next = await client.query<
112
- { recordings: WorkAddressConnection | null },
113
- { recordingType: string; cursor: string }
114
- >({
115
- query: `query RecordingWorkAddresses($recordingType: String!, $cursor: String!) {
116
- recordings: objects(first: 50, after: $cursor, filter: { type: $recordingType }) {
117
- pageInfo { hasNextPage endCursor }
118
- nodes { address asMoveObject { contents { type { repr } } } }
119
- }
120
- }`,
121
- variables: {
122
- recordingType: variables.recordingType!,
123
- cursor: page.pageInfo.endCursor,
124
- },
125
- });
126
- if (next.errors?.length) {
127
- throw new AggregateError(
128
- next.errors.map((error) => new Error(error.message)),
129
- "Recording type discovery failed",
130
- );
131
- }
132
- page = next.data?.recordings;
133
- readRecordingPage(page);
134
- }
135
- return out;
136
- }
20
+ // `getWorkAddressesByShareTypes` (GraphQL type discovery) is owned by
21
+ // `@misofm/musicos` now — re-exported here so existing platform imports keep
22
+ // working.
23
+ export { getWorkAddressesByShareTypes };
24
+ export type { WorkAddressesByShareType, WorkShareTypes };
137
25
 
138
26
  export interface WorkIds {
139
27
  compositions: readonly string[];
@@ -147,122 +35,121 @@ export interface WorksById {
147
35
  releases: Partial<Record<string, Release>>;
148
36
  }
149
37
 
38
+ // deno-lint-ignore no-explicit-any -- generated parse output is loosely typed
150
39
  type Parsed = Record<string, any>;
151
40
 
152
- function workState(value: Parsed): Composition["state"] {
41
+ function workState(value: Parsed): (typeof Composition.Type)["state"] {
153
42
  return value?.$kind === "Published"
154
43
  ? { type: "Published", timestampMs: Number(value.Published) }
155
44
  : { type: "Initialized" };
156
45
  }
157
46
 
158
- function parseComposition(id: string, content: Uint8Array): Composition {
159
- const value = contracts.composition.Composition.parse(content) as Parsed;
47
+ function mapComposition(id: string, d: Parsed) {
160
48
  return {
161
49
  id,
162
- state: workState(value.state),
163
- title: String(value.title),
50
+ state: workState(d.state),
51
+ title: String(d.title),
164
52
  royaltyRate: {
165
- value: Number(
166
- Array.isArray(value.royalty_rate)
167
- ? value.royalty_rate[0]
168
- : value.royalty_rate,
169
- ),
53
+ value: Number(Array.isArray(d.royalty_rate) ? d.royalty_rate[0] : d.royalty_rate),
170
54
  },
171
55
  };
172
56
  }
173
57
 
174
- function parseRecording(id: string, content: Uint8Array): Recording {
175
- const value = contracts.recording.Recording.parse(content) as Parsed;
58
+ function mapRecording(id: string, d: Parsed) {
176
59
  return {
177
60
  id,
178
- state: workState(value.state),
179
- compositionId: String(value.composition_id),
61
+ state: workState(d.state),
62
+ compositionId: String(d.composition_id),
180
63
  };
181
64
  }
182
65
 
183
- export function parseReleaseObject(
184
- id: string,
185
- content: Uint8Array,
186
- ): Release {
187
- const value = contracts.release.Release.parse(content) as Parsed;
66
+ function mapReleaseObject(id: string, d: Parsed) {
188
67
  return {
189
68
  id,
190
- state: workState(value.state),
191
- title: String(value.title),
192
- tracks: (value.tracks ?? []).map((track: Parsed) => ({
69
+ state: workState(d.state),
70
+ title: String(d.title),
71
+ tracks: (d.tracks ?? []).map((track: Parsed) => ({
193
72
  state: (track.state?.$kind ?? "Unassigned") as TrackState,
194
73
  compositionId: String(track.composition_id),
195
74
  recordingId: String(track.recording_id),
196
75
  splitBps: {
197
- value: Number(
198
- Array.isArray(track.split_bps) ? track.split_bps[0] : track.split_bps,
199
- ),
76
+ value: Number(Array.isArray(track.split_bps) ? track.split_bps[0] : track.split_bps),
200
77
  },
201
78
  })),
202
79
  };
203
80
  }
204
81
 
82
+ /** Decode a Release object's raw BCS content into the public `Release` type. */
83
+ export function parseReleaseObject(id: string, content: Uint8Array): Effect.Effect<Release, BcsDecodeError> {
84
+ return decodeBcs(
85
+ { parse: (bytes: Uint8Array) => mapReleaseObject(id, contracts.release.Release.parse(bytes) as Parsed) },
86
+ Release,
87
+ content,
88
+ { type: "Release", objectId: id },
89
+ );
90
+ }
91
+
205
92
  /** Fetch and parse heterogeneous works through one Core bulk request. */
206
- export async function getWorksByIds(
207
- client: ClientWithCoreApi,
93
+ export const getWorksByIds = Effect.fn("getWorksByIds")(function* (
208
94
  ids: WorkIds,
209
- ): Promise<WorksById> {
95
+ ): Effect.fn.Return<WorksById, SuiRpcError | BcsDecodeError, SuiClient> {
210
96
  const kinds = new Map<string, keyof WorksById>();
211
- for (const [kind, objectIds] of Object.entries(ids) as Array<
212
- [keyof WorksById, readonly string[]]
213
- >) {
97
+ for (const [kind, objectIds] of Object.entries(ids) as Array<[keyof WorksById, readonly string[]]>) {
214
98
  for (const objectId of objectIds) {
215
99
  const normalized = normalizeSuiAddress(objectId);
216
100
  const previous = kinds.get(normalized);
217
101
  if (previous && previous !== kind) {
218
- throw new Error(
219
- `Work ${normalized} was requested as both ${previous} and ${kind}`,
220
- );
102
+ throw new Error(`Work ${normalized} was requested as both ${previous} and ${kind}`);
221
103
  }
222
104
  kinds.set(normalized, kind);
223
105
  }
224
106
  }
225
107
  const out: WorksById = { compositions: {}, recordings: {}, releases: {} };
226
108
  if (kinds.size === 0) return out;
227
- const { objects } = await client.core.getObjects({
228
- objectIds: [...kinds.keys()],
229
- include: { content: true },
109
+
110
+ const client = yield* SuiClient;
111
+ const { objects } = yield* Effect.tryPromise({
112
+ try: (signal) => client.core.getObjects({ objectIds: [...kinds.keys()], include: { content: true }, signal }),
113
+ catch: (cause) => new SuiRpcError({ operation: "getObjects", cause }),
230
114
  });
231
115
  for (const object of objects) {
232
116
  if (object instanceof Error || !object.content) continue;
233
117
  const kind = kinds.get(normalizeSuiAddress(object.objectId));
234
- if (kind === "compositions")
235
- out.compositions[object.objectId] = parseComposition(
236
- object.objectId,
237
- object.content,
118
+ const objectId = object.objectId;
119
+ const content = object.content;
120
+ if (kind === "compositions") {
121
+ out.compositions[objectId] = yield* decodeBcs(
122
+ { parse: (bytes: Uint8Array) => mapComposition(objectId, contracts.composition.Composition.parse(bytes) as Parsed) },
123
+ Composition,
124
+ content,
125
+ { type: "Composition", objectId },
238
126
  );
239
- else if (kind === "recordings")
240
- out.recordings[object.objectId] = parseRecording(
241
- object.objectId,
242
- object.content,
243
- );
244
- else if (kind === "releases")
245
- out.releases[object.objectId] = parseReleaseObject(
246
- object.objectId,
247
- object.content,
127
+ } else if (kind === "recordings") {
128
+ out.recordings[objectId] = yield* decodeBcs(
129
+ { parse: (bytes: Uint8Array) => mapRecording(objectId, contracts.recording.Recording.parse(bytes) as Parsed) },
130
+ Recording,
131
+ content,
132
+ { type: "Recording", objectId },
248
133
  );
134
+ } else if (kind === "releases") {
135
+ out.releases[objectId] = yield* parseReleaseObject(objectId, content);
136
+ }
249
137
  }
250
138
  return out;
251
- }
139
+ });
252
140
 
253
141
  /** Resolve recording titles through each recording's canonical composition type. */
254
- export async function getRecordingTitles(
255
- client: ClientWithCoreApi,
256
- graphql: SuiGraphQLClient,
142
+ export const getRecordingTitles = Effect.fn("getRecordingTitles")(function* (
257
143
  recordingIds: readonly string[],
258
144
  misoPackageId: string,
259
- ): Promise<Record<string, string>> {
145
+ ): Effect.fn.Return<Record<string, string>, SuiRpcError | BcsDecodeError, SuiClient | SuiGraphQL> {
260
146
  const ids = [...new Set(recordingIds)];
261
147
  if (ids.length === 0) return {};
262
148
 
263
- const { objects } = await client.core.getObjects({
264
- objectIds: ids,
265
- include: {},
149
+ const client = yield* SuiClient;
150
+ const { objects } = yield* Effect.tryPromise({
151
+ try: (signal) => client.core.getObjects({ objectIds: ids, include: {}, signal }),
152
+ catch: (cause) => new SuiRpcError({ operation: "getObjects", cause }),
266
153
  });
267
154
  const titles: Record<string, string> = {};
268
155
  const compositionShareByRecording: Record<string, string> = {};
@@ -275,23 +162,17 @@ export async function getRecordingTitles(
275
162
 
276
163
  const compositionShareTypes = Object.values(compositionShareByRecording);
277
164
  if (compositionShareTypes.length === 0) return titles;
278
- const addresses = await getWorkAddressesByShareTypes(
279
- graphql,
165
+ const addresses = yield* getWorkAddressesByShareTypes(
280
166
  { compositions: compositionShareTypes, recordings: [] },
281
167
  misoPackageId,
282
168
  );
283
- const compositions = await getCompositionsByIds(
284
- client,
169
+ const compositions = yield* getCompositionsByIds(
285
170
  Object.values(addresses.compositions).filter((id): id is string => !!id),
286
171
  );
287
- for (const [recordingId, shareType] of Object.entries(
288
- compositionShareByRecording,
289
- )) {
172
+ for (const [recordingId, shareType] of Object.entries(compositionShareByRecording)) {
290
173
  const compositionId = addresses.compositions[shareType];
291
- const title = compositionId
292
- ? compositions[compositionId]?.title
293
- : undefined;
174
+ const title = compositionId ? compositions[compositionId]?.title : undefined;
294
175
  if (title) titles[recordingId] = title;
295
176
  }
296
177
  return titles;
297
- }
178
+ });
@@ -4,18 +4,18 @@
4
4
  /** Cap-authorized builders and reads for data-only Recording metadata extensions. */
5
5
 
6
6
  import { bcs } from "@mysten/sui/bcs";
7
- import type { ClientWithCoreApi } from "@mysten/sui/client";
8
7
  import type { Transaction, TransactionArgument, TransactionObjectArgument } from "@mysten/sui/transactions";
9
8
  import { deriveDynamicFieldID, fromHex, toHex } from "@mysten/sui/utils";
10
- import { isNotFound } from "@misofm/protocol";
9
+ import { Effect, Option } from "effect";
10
+ import { getObjectsContent, getOptionalObjectContent, type SuiClient, type SuiRpcError } from "@misofm/effect";
11
11
  import type { TxThunk } from "./transactions.ts";
12
12
  import { invokeWithAdminCap, type AdminCapAuthority, type ObjectInput } from "./vault.ts";
13
- import * as advisory from "@misofm/protocol/contracts/recording_advisory/recording_advisory";
14
- import * as language from "@misofm/protocol/contracts/recording_language/recording_language";
15
- import * as walrusData from "@misofm/protocol/contracts/recording_master_reference/deps/ori/data";
16
- import * as masterReference from "@misofm/protocol/contracts/recording_master_reference/recording_master_reference";
17
- import * as engineSession from "@misofm/protocol/contracts/recording_engine_session/recording_engine_session";
18
- import * as streamingTranscode from "@misofm/protocol/contracts/recording_streaming_transcode/recording_streaming_transcode";
13
+ import * as advisory from "./contracts/recording_advisory/recording_advisory.ts";
14
+ import * as language from "./contracts/recording_language/recording_language.ts";
15
+ import * as walrusData from "./contracts/recording_master_reference/deps/ori/data.ts";
16
+ import * as masterReference from "./contracts/recording_master_reference/recording_master_reference.ts";
17
+ import * as engineSession from "./contracts/recording_engine_session/recording_engine_session.ts";
18
+ import * as streamingTranscode from "./contracts/recording_streaming_transcode/recording_streaming_transcode.ts";
19
19
  import { unencryptedWalrusBlob } from "./internal.ts";
20
20
 
21
21
  export interface RecordingExtensionTarget {
@@ -271,33 +271,23 @@ export function recordingStreamingTranscodeFieldId(
271
271
  }
272
272
 
273
273
  /** Read one Recording's streaming-transcode Quilt id, or null when absent. */
274
- export async function getRecordingStreamingTranscode(
275
- client: ClientWithCoreApi,
274
+ export const getRecordingStreamingTranscode = Effect.fn("getRecordingStreamingTranscode")(function* (
276
275
  recordingId: string,
277
276
  recordingStreamingTranscodePackageId: string,
278
- ): Promise<string | null> {
279
- return (
280
- (
281
- await getRecordingStreamingTranscodesByIds(
282
- client,
283
- [recordingId],
284
- recordingStreamingTranscodePackageId,
285
- )
286
- )[recordingId] ?? null
287
- );
288
- }
277
+ ): Effect.fn.Return<string | null, SuiRpcError, SuiClient> {
278
+ const found = yield* getRecordingStreamingTranscodesByIds([recordingId], recordingStreamingTranscodePackageId);
279
+ return found[recordingId] ?? null;
280
+ });
289
281
 
290
282
  /**
291
283
  * Read streaming-transcode Quilt ids for many Recordings in one Core request.
292
284
  * Missing and malformed fields are omitted, like master references.
293
285
  */
294
- export async function getRecordingStreamingTranscodesByIds(
295
- client: ClientWithCoreApi,
286
+ export function getRecordingStreamingTranscodesByIds(
296
287
  recordingIdsInput: readonly string[],
297
288
  recordingStreamingTranscodePackageId: string,
298
- ): Promise<Partial<Record<string, string>>> {
289
+ ): Effect.Effect<Partial<Record<string, string>>, SuiRpcError, SuiClient> {
299
290
  return readSoftFields(
300
- client,
301
291
  recordingIdsInput,
302
292
  (recordingId) => recordingStreamingTranscodeFieldId(recordingId, recordingStreamingTranscodePackageId),
303
293
  parseRecordingStreamingTranscodeContent,
@@ -309,30 +299,27 @@ export async function getRecordingStreamingTranscodesByIds(
309
299
  * parse each, dropping Recordings whose field is missing or malformed so one
310
300
  * stale extension cannot take a whole tracklist down.
311
301
  */
312
- async function readSoftFields<T>(
313
- client: ClientWithCoreApi,
302
+ const readSoftFields = Effect.fn("readSoftFields")(function* <T>(
314
303
  recordingIdsInput: readonly string[],
315
304
  fieldIdOf: (recordingId: string) => string,
316
305
  parse: (content: Uint8Array) => T,
317
- ): Promise<Partial<Record<string, T>>> {
306
+ ): Effect.fn.Return<Partial<Record<string, T>>, SuiRpcError, SuiClient> {
318
307
  const recordingIds = [...new Set(recordingIdsInput)];
319
308
  if (recordingIds.length === 0) return {};
320
- const { objects } = await client.core.getObjects({
321
- objectIds: recordingIds.map(fieldIdOf),
322
- include: { content: true },
323
- });
309
+ const fieldIds = recordingIds.map(fieldIdOf);
310
+ const contentById = yield* getObjectsContent(fieldIds);
324
311
  const out: Partial<Record<string, T>> = {};
325
- objects.forEach((object, index) => {
326
- const recordingId = recordingIds[index];
327
- if (!recordingId || object instanceof Error || !object.content) return;
312
+ recordingIds.forEach((recordingId, index) => {
313
+ const found = contentById.get(fieldIds[index]!);
314
+ if (!found) return;
328
315
  try {
329
- out[recordingId] = parse(object.content);
316
+ out[recordingId] = parse(found.content);
330
317
  } catch {
331
318
  // Extension metadata is soft: retain valid tracks when one field is stale.
332
319
  }
333
320
  });
334
321
  return out;
335
- }
322
+ });
336
323
 
337
324
  // ── Engine-session reads ─────────────────────────────────────────────────────
338
325
 
@@ -381,37 +368,25 @@ export function recordingEngineSessionFieldId(
381
368
  }
382
369
 
383
370
  /** Read one Recording's engine session, or null when none is attached. */
384
- export async function getRecordingEngineSession(
385
- client: ClientWithCoreApi,
371
+ export const getRecordingEngineSession = Effect.fn("getRecordingEngineSession")(function* (
386
372
  recordingId: string,
387
373
  recordingEngineSessionPackageId: string,
388
- ): Promise<RecordingEngineSessionView | null> {
374
+ ): Effect.fn.Return<RecordingEngineSessionView | null, SuiRpcError, SuiClient> {
389
375
  const fieldId = recordingEngineSessionFieldId(recordingId, recordingEngineSessionPackageId);
390
- const { objects } = await client.core.getObjects({
391
- objectIds: [fieldId],
392
- include: { content: true },
393
- });
394
- const field = objects[0];
395
- if (!field) throw new Error("Recording engine-session read returned no result");
396
- if (field instanceof Error) {
397
- if (isNotFound(field)) return null;
398
- throw field;
399
- }
400
- if (!field.content) throw new Error("Recording engine-session field is missing BCS content");
401
- return parseRecordingEngineSessionContent(field.content);
402
- }
376
+ const found = yield* getOptionalObjectContent(fieldId);
377
+ if (Option.isNone(found)) return null;
378
+ return parseRecordingEngineSessionContent(found.value.content);
379
+ });
403
380
 
404
381
  /**
405
382
  * Read engine sessions for many Recordings in one Core request. Missing and
406
383
  * malformed fields are omitted.
407
384
  */
408
- export async function getRecordingEngineSessionsByIds(
409
- client: ClientWithCoreApi,
385
+ export function getRecordingEngineSessionsByIds(
410
386
  recordingIdsInput: readonly string[],
411
387
  recordingEngineSessionPackageId: string,
412
- ): Promise<Partial<Record<string, RecordingEngineSessionView>>> {
388
+ ): Effect.Effect<Partial<Record<string, RecordingEngineSessionView>>, SuiRpcError, SuiClient> {
413
389
  return readSoftFields(
414
- client,
415
390
  recordingIdsInput,
416
391
  (recordingId) => recordingEngineSessionFieldId(recordingId, recordingEngineSessionPackageId),
417
392
  parseRecordingEngineSessionContent,
@@ -455,21 +430,13 @@ export function recordingMasterReferenceFieldId(
455
430
  }
456
431
 
457
432
  /** Read one Recording's master-reference blob id, or null when absent. */
458
- export async function getRecordingMasterReference(
459
- client: ClientWithCoreApi,
433
+ export const getRecordingMasterReference = Effect.fn("getRecordingMasterReference")(function* (
460
434
  recordingId: string,
461
435
  recordingMasterReferencePackageId: string,
462
- ): Promise<string | null> {
463
- return (
464
- (
465
- await getRecordingMasterReferencesByIds(
466
- client,
467
- [recordingId],
468
- recordingMasterReferencePackageId,
469
- )
470
- )[recordingId] ?? null
471
- );
472
- }
436
+ ): Effect.fn.Return<string | null, SuiRpcError, SuiClient> {
437
+ const found = yield* getRecordingMasterReferencesByIds([recordingId], recordingMasterReferencePackageId);
438
+ return found[recordingId] ?? null;
439
+ });
473
440
 
474
441
  /**
475
442
  * Read master-reference blob ids for many Recordings in one Core request.
@@ -477,34 +444,13 @@ export async function getRecordingMasterReference(
477
444
  * Missing fields and malformed individual objects are omitted so one Recording
478
445
  * without a playable master cannot make the rest of an album unplayable.
479
446
  */
480
- export async function getRecordingMasterReferencesByIds(
481
- client: ClientWithCoreApi,
447
+ export function getRecordingMasterReferencesByIds(
482
448
  recordingIdsInput: readonly string[],
483
449
  recordingMasterReferencePackageId: string,
484
- ): Promise<Partial<Record<string, string>>> {
485
- const recordingIds = [...new Set(recordingIdsInput)];
486
- const targets = recordingIds.map((recordingId) => ({
487
- recordingId,
488
- fieldId: recordingMasterReferenceFieldId(
489
- recordingId,
490
- recordingMasterReferencePackageId,
491
- ),
492
- }));
493
- if (targets.length === 0) return {};
494
-
495
- const { objects } = await client.core.getObjects({
496
- objectIds: targets.map((target) => target.fieldId),
497
- include: { content: true },
498
- });
499
- const out: Partial<Record<string, string>> = {};
500
- objects.forEach((object, index) => {
501
- const target = targets[index];
502
- if (!target || object instanceof Error || !object.content) return;
503
- try {
504
- out[target.recordingId] = parseRecordingMasterReferenceContent(object.content);
505
- } catch {
506
- // Extension metadata is soft: retain valid tracks when one field is stale.
507
- }
508
- });
509
- return out;
450
+ ): Effect.Effect<Partial<Record<string, string>>, SuiRpcError, SuiClient> {
451
+ return readSoftFields(
452
+ recordingIdsInput,
453
+ (recordingId) => recordingMasterReferenceFieldId(recordingId, recordingMasterReferencePackageId),
454
+ parseRecordingMasterReferenceContent,
455
+ );
510
456
  }