@misofm/platform 0.27.0 → 0.28.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 (425) hide show
  1. package/README.md +309 -204
  2. package/dist/Miso.d.ts +403 -0
  3. package/dist/Miso.d.ts.map +1 -0
  4. package/dist/Miso.js +455 -0
  5. package/dist/Miso.js.map +1 -0
  6. package/dist/auth.d.ts +11 -1
  7. package/dist/auth.d.ts.map +1 -1
  8. package/dist/auth.js +16 -3
  9. package/dist/auth.js.map +1 -1
  10. package/dist/catalog.d.ts +8 -5
  11. package/dist/catalog.d.ts.map +1 -1
  12. package/dist/catalog.js +36 -19
  13. package/dist/catalog.js.map +1 -1
  14. package/dist/client.d.ts +52 -443
  15. package/dist/client.d.ts.map +1 -1
  16. package/dist/client.js +58 -775
  17. package/dist/client.js.map +1 -1
  18. package/dist/contracts/composition_credits/composition_credits.d.ts +38 -48
  19. package/dist/contracts/composition_credits/composition_credits.d.ts.map +1 -1
  20. package/dist/contracts/composition_credits/composition_credits.js +20 -4
  21. package/dist/contracts/composition_credits/composition_credits.js.map +1 -1
  22. package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts +64 -1
  23. package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts.map +1 -1
  24. package/dist/contracts/composition_routed_stake/composition_routed_stake.js +66 -1
  25. package/dist/contracts/composition_routed_stake/composition_routed_stake.js.map +1 -1
  26. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts +52 -4
  27. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts.map +1 -1
  28. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js +52 -4
  29. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js.map +1 -1
  30. package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.d.ts +63 -1
  31. package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.d.ts.map +1 -1
  32. package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.js +63 -1
  33. package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.js.map +1 -1
  34. package/dist/contracts/genre/genre.d.ts +10 -1
  35. package/dist/contracts/genre/genre.d.ts.map +1 -1
  36. package/dist/contracts/genre/genre.js +8 -1
  37. package/dist/contracts/genre/genre.js.map +1 -1
  38. package/dist/contracts/miso_pay/deps/std/type_name.d.ts.map +1 -0
  39. package/dist/contracts/miso_pay/deps/std/type_name.js.map +1 -0
  40. package/dist/contracts/miso_pay/pay.d.ts +209 -0
  41. package/dist/contracts/miso_pay/pay.d.ts.map +1 -0
  42. package/dist/contracts/miso_pay/pay.js +195 -0
  43. package/dist/contracts/miso_pay/pay.js.map +1 -0
  44. package/dist/contracts/party_cta/party_cta.d.ts +49 -3
  45. package/dist/contracts/party_cta/party_cta.d.ts.map +1 -1
  46. package/dist/contracts/party_cta/party_cta.js +27 -5
  47. package/dist/contracts/party_cta/party_cta.js.map +1 -1
  48. package/dist/contracts/party_genre/party_genre.d.ts +25 -0
  49. package/dist/contracts/party_genre/party_genre.d.ts.map +1 -1
  50. package/dist/contracts/party_genre/party_genre.js +14 -3
  51. package/dist/contracts/party_genre/party_genre.js.map +1 -1
  52. package/dist/contracts/party_media/party_media.d.ts +19 -3
  53. package/dist/contracts/party_media/party_media.d.ts.map +1 -1
  54. package/dist/contracts/party_media/party_media.js +20 -4
  55. package/dist/contracts/party_media/party_media.js.map +1 -1
  56. package/dist/contracts/party_platform_link/party_platform_link.d.ts +15 -7
  57. package/dist/contracts/party_platform_link/party_platform_link.d.ts.map +1 -1
  58. package/dist/contracts/party_platform_link/party_platform_link.js +15 -7
  59. package/dist/contracts/party_platform_link/party_platform_link.js.map +1 -1
  60. package/dist/contracts/party_profile/party_profile.d.ts +63 -8
  61. package/dist/contracts/party_profile/party_profile.d.ts.map +1 -1
  62. package/dist/contracts/party_profile/party_profile.js +33 -8
  63. package/dist/contracts/party_profile/party_profile.js.map +1 -1
  64. package/dist/contracts/party_roles/party_roles.d.ts +28 -3
  65. package/dist/contracts/party_roles/party_roles.d.ts.map +1 -1
  66. package/dist/contracts/party_roles/party_roles.js +19 -4
  67. package/dist/contracts/party_roles/party_roles.js.map +1 -1
  68. package/dist/contracts/party_tags/party_tags.d.ts +23 -3
  69. package/dist/contracts/party_tags/party_tags.d.ts.map +1 -1
  70. package/dist/contracts/party_tags/party_tags.js +16 -4
  71. package/dist/contracts/party_tags/party_tags.js.map +1 -1
  72. package/dist/contracts/party_wallet/party_wallet.d.ts +4 -1
  73. package/dist/contracts/party_wallet/party_wallet.d.ts.map +1 -1
  74. package/dist/contracts/party_wallet/party_wallet.js +2 -1
  75. package/dist/contracts/party_wallet/party_wallet.js.map +1 -1
  76. package/dist/contracts/platform_link/platform_link.d.ts +207 -0
  77. package/dist/contracts/platform_link/platform_link.d.ts.map +1 -0
  78. package/dist/contracts/platform_link/platform_link.js +209 -0
  79. package/dist/contracts/platform_link/platform_link.js.map +1 -0
  80. package/dist/contracts/record/pressing.d.ts +53 -7
  81. package/dist/contracts/record/pressing.d.ts.map +1 -1
  82. package/dist/contracts/record/pressing.js +50 -4
  83. package/dist/contracts/record/pressing.js.map +1 -1
  84. package/dist/contracts/record/record.d.ts +14 -0
  85. package/dist/contracts/record/record.d.ts.map +1 -1
  86. package/dist/contracts/record/record.js +15 -1
  87. package/dist/contracts/record/record.js.map +1 -1
  88. package/dist/contracts/record_shop/listing.d.ts +80 -35
  89. package/dist/contracts/record_shop/listing.d.ts.map +1 -1
  90. package/dist/contracts/record_shop/listing.js +76 -13
  91. package/dist/contracts/record_shop/listing.js.map +1 -1
  92. package/dist/contracts/recording_advisory/recording_advisory.d.ts +15 -15
  93. package/dist/contracts/recording_advisory/recording_advisory.d.ts.map +1 -1
  94. package/dist/contracts/recording_advisory/recording_advisory.js +15 -8
  95. package/dist/contracts/recording_advisory/recording_advisory.js.map +1 -1
  96. package/dist/contracts/recording_credits/recording_credits.d.ts +95 -1350
  97. package/dist/contracts/recording_credits/recording_credits.d.ts.map +1 -1
  98. package/dist/contracts/recording_credits/recording_credits.js +63 -12
  99. package/dist/contracts/recording_credits/recording_credits.js.map +1 -1
  100. package/dist/contracts/recording_engine_session/recording_engine_session.d.ts +30 -49
  101. package/dist/contracts/recording_engine_session/recording_engine_session.d.ts.map +1 -1
  102. package/dist/contracts/recording_engine_session/recording_engine_session.js +19 -4
  103. package/dist/contracts/recording_engine_session/recording_engine_session.js.map +1 -1
  104. package/dist/contracts/recording_genre/recording_genre.d.ts +67 -9
  105. package/dist/contracts/recording_genre/recording_genre.d.ts.map +1 -1
  106. package/dist/contracts/recording_genre/recording_genre.js +53 -9
  107. package/dist/contracts/recording_genre/recording_genre.js.map +1 -1
  108. package/dist/contracts/recording_language/recording_language.d.ts +29 -5
  109. package/dist/contracts/recording_language/recording_language.d.ts.map +1 -1
  110. package/dist/contracts/recording_language/recording_language.js +18 -5
  111. package/dist/contracts/recording_language/recording_language.js.map +1 -1
  112. package/dist/contracts/recording_master_reference/recording_master_reference.d.ts +25 -15
  113. package/dist/contracts/recording_master_reference/recording_master_reference.d.ts.map +1 -1
  114. package/dist/contracts/recording_master_reference/recording_master_reference.js +18 -5
  115. package/dist/contracts/recording_master_reference/recording_master_reference.js.map +1 -1
  116. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts +55 -4
  117. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts.map +1 -1
  118. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js +55 -4
  119. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js.map +1 -1
  120. package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.d.ts +66 -1
  121. package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.d.ts.map +1 -1
  122. package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.js +66 -1
  123. package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.js.map +1 -1
  124. package/dist/contracts/recording_streaming_transcode/recording_streaming_transcode.d.ts +12 -9
  125. package/dist/contracts/recording_streaming_transcode/recording_streaming_transcode.d.ts.map +1 -1
  126. package/dist/contracts/recording_streaming_transcode/recording_streaming_transcode.js +11 -4
  127. package/dist/contracts/recording_streaming_transcode/recording_streaming_transcode.js.map +1 -1
  128. package/dist/contracts/release_cover_art/release_cover_art.d.ts +168 -74
  129. package/dist/contracts/release_cover_art/release_cover_art.d.ts.map +1 -1
  130. package/dist/contracts/release_cover_art/release_cover_art.js +126 -10
  131. package/dist/contracts/release_cover_art/release_cover_art.js.map +1 -1
  132. package/dist/contracts/release_credits/release_credits.d.ts +24 -28
  133. package/dist/contracts/release_credits/release_credits.d.ts.map +1 -1
  134. package/dist/contracts/release_credits/release_credits.js +18 -4
  135. package/dist/contracts/release_credits/release_credits.js.map +1 -1
  136. package/dist/contracts/release_description/release_description.d.ts +16 -5
  137. package/dist/contracts/release_description/release_description.d.ts.map +1 -1
  138. package/dist/contracts/release_description/release_description.js +9 -4
  139. package/dist/contracts/release_description/release_description.js.map +1 -1
  140. package/dist/contracts/release_dsp_link/release_dsp_link.d.ts +130 -160
  141. package/dist/contracts/release_dsp_link/release_dsp_link.d.ts.map +1 -1
  142. package/dist/contracts/release_dsp_link/release_dsp_link.js +74 -19
  143. package/dist/contracts/release_dsp_link/release_dsp_link.js.map +1 -1
  144. package/dist/contracts/release_genre/release_genre.d.ts +66 -11
  145. package/dist/contracts/release_genre/release_genre.d.ts.map +1 -1
  146. package/dist/contracts/release_genre/release_genre.js +52 -11
  147. package/dist/contracts/release_genre/release_genre.js.map +1 -1
  148. package/dist/contracts/release_kind/release_kind.d.ts +28 -5
  149. package/dist/contracts/release_kind/release_kind.d.ts.map +1 -1
  150. package/dist/contracts/release_kind/release_kind.js +19 -4
  151. package/dist/contracts/release_kind/release_kind.js.map +1 -1
  152. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts +17 -0
  153. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts.map +1 -1
  154. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js +15 -0
  155. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js.map +1 -1
  156. package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.d.ts +37 -1
  157. package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.d.ts.map +1 -1
  158. package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.js +37 -1
  159. package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.js.map +1 -1
  160. package/dist/contracts/routed_stake/routed_stake.d.ts +78 -6
  161. package/dist/contracts/routed_stake/routed_stake.d.ts.map +1 -1
  162. package/dist/contracts/routed_stake/routed_stake.js +79 -7
  163. package/dist/contracts/routed_stake/routed_stake.js.map +1 -1
  164. package/dist/contracts/royalty_pool/pool.d.ts +117 -27
  165. package/dist/contracts/royalty_pool/pool.d.ts.map +1 -1
  166. package/dist/contracts/royalty_pool/pool.js +117 -28
  167. package/dist/contracts/royalty_pool/pool.js.map +1 -1
  168. package/dist/contracts/royalty_pool/stake.d.ts +3 -0
  169. package/dist/contracts/royalty_pool/stake.d.ts.map +1 -1
  170. package/dist/contracts/royalty_pool/stake.js +5 -2
  171. package/dist/contracts/royalty_pool/stake.js.map +1 -1
  172. package/dist/contracts/share/share.d.ts +80 -0
  173. package/dist/contracts/share/share.d.ts.map +1 -0
  174. package/dist/contracts/share/share.js +72 -0
  175. package/dist/contracts/share/share.js.map +1 -0
  176. package/dist/contracts/vault/vault.d.ts +51 -0
  177. package/dist/contracts/vault/vault.d.ts.map +1 -1
  178. package/dist/contracts/vault/vault.js +55 -4
  179. package/dist/contracts/vault/vault.js.map +1 -1
  180. package/dist/contracts.d.ts +60 -0
  181. package/dist/contracts.d.ts.map +1 -1
  182. package/dist/contracts.js +17 -0
  183. package/dist/contracts.js.map +1 -1
  184. package/dist/cover.d.ts +5 -6
  185. package/dist/cover.d.ts.map +1 -1
  186. package/dist/cover.js +10 -10
  187. package/dist/cover.js.map +1 -1
  188. package/dist/credits.d.ts +12 -13
  189. package/dist/credits.d.ts.map +1 -1
  190. package/dist/credits.js +16 -10
  191. package/dist/credits.js.map +1 -1
  192. package/dist/deployments.d.ts +3 -3
  193. package/dist/deployments.d.ts.map +1 -1
  194. package/dist/deployments.js +2 -3
  195. package/dist/deployments.js.map +1 -1
  196. package/dist/errors.d.ts +24 -9
  197. package/dist/errors.d.ts.map +1 -1
  198. package/dist/errors.js +43 -16
  199. package/dist/errors.js.map +1 -1
  200. package/dist/events.d.ts +1687 -835
  201. package/dist/events.d.ts.map +1 -1
  202. package/dist/events.js +258 -39
  203. package/dist/events.js.map +1 -1
  204. package/dist/genre.d.ts +11 -12
  205. package/dist/genre.d.ts.map +1 -1
  206. package/dist/genre.js +5 -3
  207. package/dist/genre.js.map +1 -1
  208. package/dist/index.d.ts +3 -3
  209. package/dist/index.d.ts.map +1 -1
  210. package/dist/index.js +7 -2
  211. package/dist/index.js.map +1 -1
  212. package/dist/packages.d.ts +1047 -1695
  213. package/dist/packages.d.ts.map +1 -1
  214. package/dist/party/client.d.ts +113 -296
  215. package/dist/party/client.d.ts.map +1 -1
  216. package/dist/party/client.js +93 -178
  217. package/dist/party/client.js.map +1 -1
  218. package/dist/party/extensions/ctas.d.ts +3 -3
  219. package/dist/party/extensions/ctas.d.ts.map +1 -1
  220. package/dist/party/extensions/genres.d.ts +4 -4
  221. package/dist/party/extensions/genres.d.ts.map +1 -1
  222. package/dist/party/extensions/links.d.ts +5 -5
  223. package/dist/party/extensions/links.d.ts.map +1 -1
  224. package/dist/party/extensions/links.js.map +1 -1
  225. package/dist/party/extensions/media.d.ts +3 -3
  226. package/dist/party/extensions/media.d.ts.map +1 -1
  227. package/dist/party/extensions/profile.d.ts +3 -3
  228. package/dist/party/extensions/profile.d.ts.map +1 -1
  229. package/dist/party/extensions/roles.d.ts +4 -4
  230. package/dist/party/extensions/roles.d.ts.map +1 -1
  231. package/dist/party/extensions/roles.js.map +1 -1
  232. package/dist/party/extensions/tags.d.ts +4 -4
  233. package/dist/party/extensions/tags.d.ts.map +1 -1
  234. package/dist/party/index.d.ts +1 -1
  235. package/dist/party/index.d.ts.map +1 -1
  236. package/dist/party/index.js.map +1 -1
  237. package/dist/party/queries.d.ts +8 -8
  238. package/dist/party/queries.d.ts.map +1 -1
  239. package/dist/party/queries.js +83 -56
  240. package/dist/party/queries.js.map +1 -1
  241. package/dist/pressing.d.ts +13 -15
  242. package/dist/pressing.d.ts.map +1 -1
  243. package/dist/pressing.js +99 -29
  244. package/dist/pressing.js.map +1 -1
  245. package/dist/publication.d.ts +13 -6
  246. package/dist/publication.d.ts.map +1 -1
  247. package/dist/publication.js +26 -21
  248. package/dist/publication.js.map +1 -1
  249. package/dist/queries.js +3 -3
  250. package/dist/queries.js.map +1 -1
  251. package/dist/read/artist.d.ts +4 -3
  252. package/dist/read/artist.d.ts.map +1 -1
  253. package/dist/read/artist.js +24 -8
  254. package/dist/read/artist.js.map +1 -1
  255. package/dist/read/catalog.d.ts +17 -16
  256. package/dist/read/catalog.d.ts.map +1 -1
  257. package/dist/read/catalog.js +25 -11
  258. package/dist/read/catalog.js.map +1 -1
  259. package/dist/read/client.d.ts +41 -20
  260. package/dist/read/client.d.ts.map +1 -1
  261. package/dist/read/client.js +20 -12
  262. package/dist/read/client.js.map +1 -1
  263. package/dist/read/config.d.ts +25 -3
  264. package/dist/read/config.d.ts.map +1 -1
  265. package/dist/read/config.js +42 -25
  266. package/dist/read/config.js.map +1 -1
  267. package/dist/read/genres.d.ts +8 -3
  268. package/dist/read/genres.d.ts.map +1 -1
  269. package/dist/read/genres.js +23 -17
  270. package/dist/read/genres.js.map +1 -1
  271. package/dist/read/index.d.ts +1 -1
  272. package/dist/read/index.d.ts.map +1 -1
  273. package/dist/read/index.js +8 -6
  274. package/dist/read/index.js.map +1 -1
  275. package/dist/read/receipts.d.ts +5 -4
  276. package/dist/read/receipts.d.ts.map +1 -1
  277. package/dist/read/receipts.js +94 -46
  278. package/dist/read/receipts.js.map +1 -1
  279. package/dist/read/royalties.d.ts +6 -5
  280. package/dist/read/royalties.d.ts.map +1 -1
  281. package/dist/read/royalties.js +16 -9
  282. package/dist/read/royalties.js.map +1 -1
  283. package/dist/read/wallet.d.ts +23 -12
  284. package/dist/read/wallet.d.ts.map +1 -1
  285. package/dist/read/wallet.js +158 -177
  286. package/dist/read/wallet.js.map +1 -1
  287. package/dist/read/works.d.ts +6 -6
  288. package/dist/read/works.d.ts.map +1 -1
  289. package/dist/read/works.js +40 -26
  290. package/dist/read/works.js.map +1 -1
  291. package/dist/recording-extensions.d.ts +15 -16
  292. package/dist/recording-extensions.d.ts.map +1 -1
  293. package/dist/recording-extensions.js +12 -8
  294. package/dist/recording-extensions.js.map +1 -1
  295. package/dist/release-extensions.d.ts +5 -6
  296. package/dist/release-extensions.d.ts.map +1 -1
  297. package/dist/release-extensions.js +3 -2
  298. package/dist/release-extensions.js.map +1 -1
  299. package/dist/release-graph.d.ts +2 -2
  300. package/dist/release-graph.d.ts.map +1 -1
  301. package/dist/release-graph.js.map +1 -1
  302. package/dist/royalty.d.ts +4 -4
  303. package/dist/royalty.d.ts.map +1 -1
  304. package/dist/royalty.js +16 -7
  305. package/dist/royalty.js.map +1 -1
  306. package/dist/share.d.ts +58 -24
  307. package/dist/share.d.ts.map +1 -1
  308. package/dist/share.js +167 -92
  309. package/dist/share.js.map +1 -1
  310. package/dist/transactions.d.ts +15 -6
  311. package/dist/transactions.d.ts.map +1 -1
  312. package/dist/transactions.js +1 -0
  313. package/dist/transactions.js.map +1 -1
  314. package/dist/vault.d.ts +13 -3
  315. package/dist/vault.d.ts.map +1 -1
  316. package/dist/vault.js +22 -16
  317. package/dist/vault.js.map +1 -1
  318. package/package.json +9 -8
  319. package/src/Miso.ts +951 -0
  320. package/src/auth.ts +16 -3
  321. package/src/catalog.ts +58 -25
  322. package/src/client.ts +98 -1359
  323. package/src/contracts/composition_credits/composition_credits.ts +20 -4
  324. package/src/contracts/composition_routed_stake/composition_routed_stake.ts +67 -1
  325. package/src/contracts/composition_royalty_pool/composition_royalty_pool.ts +53 -4
  326. package/src/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.ts +64 -1
  327. package/src/contracts/genre/genre.ts +8 -1
  328. package/src/contracts/miso_pay/pay.ts +356 -0
  329. package/src/contracts/party_cta/party_cta.ts +27 -5
  330. package/src/contracts/party_genre/party_genre.ts +14 -3
  331. package/src/contracts/party_media/party_media.ts +20 -4
  332. package/src/contracts/party_platform_link/party_platform_link.ts +15 -7
  333. package/src/contracts/party_profile/party_profile.ts +33 -8
  334. package/src/contracts/party_roles/party_roles.ts +19 -4
  335. package/src/contracts/party_tags/party_tags.ts +16 -4
  336. package/src/contracts/party_wallet/party_wallet.ts +2 -1
  337. package/src/contracts/platform_link/platform_link.ts +322 -0
  338. package/src/contracts/record/pressing.ts +50 -4
  339. package/src/contracts/record/record.ts +15 -1
  340. package/src/contracts/record_shop/listing.ts +76 -13
  341. package/src/contracts/recording_advisory/recording_advisory.ts +15 -8
  342. package/src/contracts/recording_credits/recording_credits.ts +63 -12
  343. package/src/contracts/recording_engine_session/recording_engine_session.ts +19 -4
  344. package/src/contracts/recording_genre/recording_genre.ts +53 -9
  345. package/src/contracts/recording_language/recording_language.ts +18 -5
  346. package/src/contracts/recording_master_reference/recording_master_reference.ts +18 -5
  347. package/src/contracts/recording_royalty_pool/recording_royalty_pool.ts +56 -4
  348. package/src/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.ts +67 -1
  349. package/src/contracts/recording_streaming_transcode/recording_streaming_transcode.ts +11 -4
  350. package/src/contracts/release_cover_art/release_cover_art.ts +126 -10
  351. package/src/contracts/release_credits/release_credits.ts +18 -4
  352. package/src/contracts/release_description/release_description.ts +9 -4
  353. package/src/contracts/release_dsp_link/release_dsp_link.ts +74 -19
  354. package/src/contracts/release_genre/release_genre.ts +52 -11
  355. package/src/contracts/release_kind/release_kind.ts +19 -4
  356. package/src/contracts/release_revenue_distributor/release_revenue_distributor.ts +15 -0
  357. package/src/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.ts +38 -1
  358. package/src/contracts/routed_stake/routed_stake.ts +79 -7
  359. package/src/contracts/royalty_pool/pool.ts +140 -38
  360. package/src/contracts/royalty_pool/stake.ts +5 -2
  361. package/src/contracts/share/share.ts +97 -0
  362. package/src/contracts/vault/vault.ts +55 -4
  363. package/src/contracts.ts +18 -0
  364. package/src/cover.ts +14 -15
  365. package/src/credits.ts +27 -22
  366. package/src/deployments.ts +3 -4
  367. package/src/errors.ts +64 -34
  368. package/src/events.ts +260 -39
  369. package/src/genre.ts +15 -14
  370. package/src/index.ts +19 -10
  371. package/src/party/client.ts +217 -208
  372. package/src/party/extensions/ctas.ts +3 -3
  373. package/src/party/extensions/genres.ts +4 -4
  374. package/src/party/extensions/links.ts +7 -7
  375. package/src/party/extensions/media.ts +3 -3
  376. package/src/party/extensions/profile.ts +3 -3
  377. package/src/party/extensions/roles.ts +5 -5
  378. package/src/party/extensions/tags.ts +4 -4
  379. package/src/party/index.ts +0 -1
  380. package/src/party/queries.ts +90 -87
  381. package/src/pressing.ts +132 -89
  382. package/src/publication.ts +33 -32
  383. package/src/queries.ts +3 -3
  384. package/src/read/artist.ts +36 -17
  385. package/src/read/catalog.ts +68 -36
  386. package/src/read/client.ts +55 -30
  387. package/src/read/config.ts +55 -30
  388. package/src/read/genres.ts +22 -18
  389. package/src/read/index.ts +8 -6
  390. package/src/read/receipts.ts +130 -67
  391. package/src/read/royalties.ts +22 -10
  392. package/src/read/wallet.ts +226 -216
  393. package/src/read/works.ts +51 -44
  394. package/src/recording-extensions.ts +27 -24
  395. package/src/release-extensions.ts +7 -7
  396. package/src/release-graph.ts +2 -1
  397. package/src/royalty.ts +19 -25
  398. package/src/share.ts +197 -128
  399. package/src/transactions.ts +15 -8
  400. package/src/vault.ts +24 -31
  401. package/dist/contracts/record_shop/deps/std/type_name.d.ts.map +0 -1
  402. package/dist/contracts/record_shop/deps/std/type_name.js.map +0 -1
  403. package/dist/contracts/recording_language/deps/language_code/language_code.d.ts +0 -6
  404. package/dist/contracts/recording_language/deps/language_code/language_code.d.ts.map +0 -1
  405. package/dist/contracts/recording_language/deps/language_code/language_code.js +0 -8
  406. package/dist/contracts/recording_language/deps/language_code/language_code.js.map +0 -1
  407. package/dist/contracts/recording_master_reference/deps/ori/confidentiality.d.ts +0 -24
  408. package/dist/contracts/recording_master_reference/deps/ori/confidentiality.d.ts.map +0 -1
  409. package/dist/contracts/recording_master_reference/deps/ori/confidentiality.js +0 -24
  410. package/dist/contracts/recording_master_reference/deps/ori/confidentiality.js.map +0 -1
  411. package/dist/contracts/recording_master_reference/deps/ori/data.d.ts +0 -16
  412. package/dist/contracts/recording_master_reference/deps/ori/data.d.ts.map +0 -1
  413. package/dist/contracts/recording_master_reference/deps/ori/data.js +0 -12
  414. package/dist/contracts/recording_master_reference/deps/ori/data.js.map +0 -1
  415. package/dist/execute.d.ts +0 -32
  416. package/dist/execute.d.ts.map +0 -1
  417. package/dist/execute.js +0 -36
  418. package/dist/execute.js.map +0 -1
  419. package/src/contracts/recording_language/deps/language_code/language_code.ts +0 -8
  420. package/src/contracts/recording_master_reference/deps/ori/confidentiality.ts +0 -24
  421. package/src/contracts/recording_master_reference/deps/ori/data.ts +0 -12
  422. package/src/execute.ts +0 -56
  423. /package/dist/contracts/{record_shop → miso_pay}/deps/std/type_name.d.ts +0 -0
  424. /package/dist/contracts/{record_shop → miso_pay}/deps/std/type_name.js +0 -0
  425. /package/src/contracts/{record_shop → miso_pay}/deps/std/type_name.ts +0 -0
package/src/events.ts CHANGED
@@ -2,53 +2,82 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
4
  /**
5
- * BCS decoders for extension and generic-primitive execution events. Core
6
- * object-model events (release registry creation, …) decode through
7
- * `@misofm/musicos`'s own `eventParsers`; this module covers everything Miso
8
- * layers on top: work extensions, and the royalty-pool / routed-stake
9
- * primitives. Each decoder preserves the generated Move field names and
10
- * nested layouts exactly, which is the safe indexer boundary for
11
- * independently versioned extension packages.
5
+ * BCS decoders for platform events. The registry intentionally preserves the
6
+ * generated Move field names and nested layouts: this is the lossless event
7
+ * boundary for indexers and consumers that may not share the SDK's domain
8
+ * models. Core object-model events remain in `@misofm/musicos/events` and
9
+ * `@misofm/partyos/events`.
10
+ *
11
+ * Phantom type arguments are represented by the generated codecs' structural
12
+ * layouts and therefore require no BCS type arguments. As with every BCS
13
+ * parser, callers must still filter by the full on-chain event type because a
14
+ * byte decoder cannot validate a Move type identity.
12
15
  */
13
16
 
14
17
  import { decodeEvent } from "@misofm/musicos/events";
15
18
  import type { BcsParser } from "@misofm/musicos/queries";
19
+ import type { BcsType } from "@mysten/sui/bcs";
16
20
 
17
21
  import * as compositionCredits from "./contracts/composition_credits/composition_credits.ts";
22
+ import * as compositionRoutedStake from "./contracts/composition_routed_stake/composition_routed_stake.ts";
23
+ import * as compositionRoyaltyPool from "./contracts/composition_royalty_pool/composition_royalty_pool.ts";
24
+ import * as compositionRoyaltyPoolPlugin from "./contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.ts";
25
+ import * as genre from "./contracts/genre/genre.ts";
26
+ import * as misoPay from "./contracts/miso_pay/pay.ts";
27
+ import * as partyCta from "./contracts/party_cta/party_cta.ts";
28
+ import * as partyGenre from "./contracts/party_genre/party_genre.ts";
29
+ import * as partyMedia from "./contracts/party_media/party_media.ts";
30
+ import * as partyPlatformLink from "./contracts/party_platform_link/party_platform_link.ts";
31
+ import * as partyProfile from "./contracts/party_profile/party_profile.ts";
32
+ import * as partyRoles from "./contracts/party_roles/party_roles.ts";
33
+ import * as partyTags from "./contracts/party_tags/party_tags.ts";
34
+ import * as partyWallet from "./contracts/party_wallet/party_wallet.ts";
35
+ import * as pressing from "./contracts/record/pressing.ts";
36
+ import * as record from "./contracts/record/record.ts";
37
+ import * as listing from "./contracts/record_shop/listing.ts";
18
38
  import * as recordingAdvisory from "./contracts/recording_advisory/recording_advisory.ts";
19
39
  import * as recordingCredits from "./contracts/recording_credits/recording_credits.ts";
40
+ import * as recordingEngineSession from "./contracts/recording_engine_session/recording_engine_session.ts";
20
41
  import * as recordingGenre from "./contracts/recording_genre/recording_genre.ts";
21
42
  import * as recordingLanguage from "./contracts/recording_language/recording_language.ts";
22
43
  import * as recordingMasterReference from "./contracts/recording_master_reference/recording_master_reference.ts";
44
+ import * as recordingRoyaltyPool from "./contracts/recording_royalty_pool/recording_royalty_pool.ts";
45
+ import * as recordingRoyaltyPoolPlugin from "./contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.ts";
46
+ import * as recordingStreamingTranscode from "./contracts/recording_streaming_transcode/recording_streaming_transcode.ts";
23
47
  import * as releaseCoverArt from "./contracts/release_cover_art/release_cover_art.ts";
24
48
  import * as releaseCredits from "./contracts/release_credits/release_credits.ts";
25
49
  import * as releaseDescription from "./contracts/release_description/release_description.ts";
26
50
  import * as releaseDspLink from "./contracts/release_dsp_link/release_dsp_link.ts";
27
51
  import * as releaseGenre from "./contracts/release_genre/release_genre.ts";
28
52
  import * as releaseKind from "./contracts/release_kind/release_kind.ts";
53
+ import * as releaseRevenueDistributor from "./contracts/release_revenue_distributor/release_revenue_distributor.ts";
54
+ import * as releaseRevenueDistributorPlugin from "./contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.ts";
29
55
  import * as royaltyPool from "./contracts/royalty_pool/pool.ts";
30
56
  import * as royaltyStake from "./contracts/royalty_pool/stake.ts";
31
57
  import * as routedStake from "./contracts/routed_stake/routed_stake.ts";
58
+ import * as share from "./contracts/share/share.ts";
59
+ import * as platformLink from "./contracts/platform_link/platform_link.ts";
60
+ import * as vault from "./contracts/vault/vault.ts";
32
61
 
33
62
  function decoder<T>(codec: BcsParser<T>) {
34
63
  return (bytes: Uint8Array): T => decodeEvent(codec, bytes);
35
64
  }
36
65
 
37
66
  /**
38
- * Platform event decoder registry, grouped by package responsibility:
39
- * `extensions` (work extensions) and `primitives` (royalty pool / routed
40
- * stake). Merge with `@misofm/musicos`'s `eventParsers.core` at the call site
41
- * when a single indexer needs both.
67
+ * Public decoder registry, grouped by package responsibility. Work and Party
68
+ * extensions belong to platform because they are Miso's product choices; the
69
+ * object model's own event registry is kept in its owning package.
42
70
  */
43
71
  export const platformEventParsers = {
44
72
  extensions: {
45
73
  compositionCredits: {
46
- creditAdded: decoder(compositionCredits.CreditAddedEvent),
47
- creditRemoved: decoder(compositionCredits.CreditRemovedEvent),
74
+ creditAdded: decoder(compositionCredits.CompositionCreditAddedEvent),
75
+ creditRemoved: decoder(compositionCredits.CompositionCreditRemovedEvent),
48
76
  },
49
77
  recordingAdvisory: {
50
- ratingSet: decoder(recordingAdvisory.AdvisoryRatingSetEvent),
51
- ratingUnset: decoder(recordingAdvisory.AdvisoryRatingUnsetEvent),
78
+ ratingSet: decoder(recordingAdvisory.RecordingAdvisoryRatingSetEvent),
79
+ ratingUnset: decoder(recordingAdvisory.RecordingAdvisoryRatingClearedEvent),
80
+ ratingCleared: decoder(recordingAdvisory.RecordingAdvisoryRatingClearedEvent),
52
81
  },
53
82
  recordingCredits: {
54
83
  creditAdded: decoder(recordingCredits.CreditAddedEvent),
@@ -58,53 +87,125 @@ export const platformEventParsers = {
58
87
  featuredArtistAdded: decoder(recordingCredits.FeaturedArtistAddedEvent),
59
88
  featuredArtistRemoved: decoder(recordingCredits.FeaturedArtistRemovedEvent),
60
89
  },
90
+ recordingEngineSession: {
91
+ set: decoder(recordingEngineSession.EngineSessionSetEvent),
92
+ unset: decoder(recordingEngineSession.EngineSessionUnsetEvent),
93
+ },
61
94
  recordingGenre: {
62
- genreAdded: decoder(recordingGenre.GenreAddedEvent),
63
- genreRemoved: decoder(recordingGenre.GenreRemovedEvent),
64
- genresCleared: decoder(recordingGenre.GenresClearedEvent),
95
+ genreAdded: decoder(recordingGenre.RecordingGenreAddedEvent),
96
+ genreRemoved: decoder(recordingGenre.RecordingGenreRemovedEvent),
97
+ genresCleared: decoder(recordingGenre.RecordingGenresClearedEvent),
65
98
  },
66
99
  recordingLanguage: {
67
- languagesSet: decoder(recordingLanguage.LanguagesSetEvent),
68
- languagesUnset: decoder(recordingLanguage.LanguagesUnsetEvent),
100
+ languagesSet: decoder(recordingLanguage.RecordingLanguagesSetEvent),
101
+ languagesUnset: decoder(recordingLanguage.RecordingLanguagesClearedEvent),
102
+ languagesCleared: decoder(recordingLanguage.RecordingLanguagesClearedEvent),
69
103
  },
70
104
  recordingMasterReference: {
71
- masterReferenceSet: decoder(recordingMasterReference.MasterReferenceSetEvent),
72
- masterReferenceUnset: decoder(recordingMasterReference.MasterReferenceUnsetEvent),
105
+ masterReferenceSet: decoder(recordingMasterReference.RecordingMasterReferenceSetEvent),
106
+ masterReferenceUnset: decoder(recordingMasterReference.RecordingMasterReferenceClearedEvent),
107
+ masterReferenceCleared: decoder(recordingMasterReference.RecordingMasterReferenceClearedEvent),
108
+ },
109
+ recordingStreamingTranscode: {
110
+ set: decoder(recordingStreamingTranscode.RecordingStreamingTranscodeSetEvent),
111
+ cleared: decoder(recordingStreamingTranscode.RecordingStreamingTranscodeClearedEvent),
73
112
  },
74
113
  releaseCoverArt: {
75
- coverSet: decoder(releaseCoverArt.CoverSetEvent),
76
- coverUnset: decoder(releaseCoverArt.CoverUnsetEvent),
77
- trackCoverSet: decoder(releaseCoverArt.TrackCoverSetEvent),
78
- trackCoverUnset: decoder(releaseCoverArt.TrackCoverUnsetEvent),
114
+ coverSet: decoder(releaseCoverArt.ReleaseCoverArtSetEvent),
115
+ coverUnset: decoder(releaseCoverArt.ReleaseCoverArtUnsetEvent),
116
+ coverCleared: decoder(releaseCoverArt.ReleaseCoverArtUnsetEvent),
117
+ trackCoverSet: decoder(releaseCoverArt.ReleaseTrackCoverArtSetEvent),
118
+ trackCoverUnset: decoder(releaseCoverArt.ReleaseTrackCoverArtUnsetEvent),
119
+ trackCoverCleared: decoder(releaseCoverArt.ReleaseTrackCoverArtUnsetEvent),
79
120
  },
80
121
  releaseCredits: {
81
- creditAdded: decoder(releaseCredits.CreditAddedEvent),
82
- creditRemoved: decoder(releaseCredits.CreditRemovedEvent),
122
+ creditAdded: decoder(releaseCredits.ReleaseCreditAddedEvent),
123
+ creditRemoved: decoder(releaseCredits.ReleaseCreditRemovedEvent),
83
124
  },
84
125
  releaseDescription: {
85
- descriptionSet: decoder(releaseDescription.DescriptionSetEvent),
86
- descriptionCleared: decoder(releaseDescription.DescriptionClearedEvent),
126
+ descriptionSet: decoder(releaseDescription.ReleaseDescriptionSetEvent),
127
+ descriptionCleared: decoder(releaseDescription.ReleaseDescriptionClearedEvent),
87
128
  },
88
129
  releaseDspLink: {
89
- releaseLinkSet: decoder(releaseDspLink.ReleaseLinkSetEvent),
90
- releaseLinkCleared: decoder(releaseDspLink.ReleaseLinkClearedEvent),
91
- trackLinkSet: decoder(releaseDspLink.TrackLinkSetEvent),
92
- trackLinksCleared: decoder(releaseDspLink.TrackLinksClearedEvent),
130
+ releaseLinkSet: decoder(releaseDspLink.ReleaseDspLinkSetEvent),
131
+ releaseLinkCleared: decoder(releaseDspLink.ReleaseDspLinkClearedEvent),
132
+ trackLinkSet: decoder(releaseDspLink.ReleaseTrackDspLinkSetEvent),
133
+ trackLinkCleared: decoder(releaseDspLink.ReleaseTrackDspLinkClearedEvent),
134
+ trackLinksCleared: decoder(releaseDspLink.ReleaseTrackDspLinksClearedEvent),
93
135
  },
94
136
  releaseGenre: {
95
- genreAdded: decoder(releaseGenre.GenreAddedEvent),
96
- genreRemoved: decoder(releaseGenre.GenreRemovedEvent),
97
- genresCleared: decoder(releaseGenre.GenresClearedEvent),
137
+ genreAdded: decoder(releaseGenre.ReleaseGenreAddedEvent),
138
+ genreRemoved: decoder(releaseGenre.ReleaseGenreRemovedEvent),
139
+ genresCleared: decoder(releaseGenre.ReleaseGenresClearedEvent),
98
140
  },
99
141
  releaseKind: {
100
- kindSet: decoder(releaseKind.KindSetEvent),
101
- kindUnset: decoder(releaseKind.KindUnsetEvent),
142
+ kindSet: decoder(releaseKind.ReleaseKindSetEvent),
143
+ kindUnset: decoder(releaseKind.ReleaseKindUnsetEvent),
144
+ kindCleared: decoder(releaseKind.ReleaseKindUnsetEvent),
145
+ },
146
+ partyCta: {
147
+ set: decoder(partyCta.CtasSetEvent),
148
+ cleared: decoder(partyCta.CtasClearedEvent),
149
+ ctasSet: decoder(partyCta.CtasSetEvent),
150
+ ctasCleared: decoder(partyCta.CtasClearedEvent),
151
+ },
152
+ partyGenre: {
153
+ added: decoder(partyGenre.GenreAddedEvent),
154
+ removed: decoder(partyGenre.GenreRemovedEvent),
155
+ cleared: decoder(partyGenre.GenresClearedEvent),
156
+ genreAdded: decoder(partyGenre.GenreAddedEvent),
157
+ genreRemoved: decoder(partyGenre.GenreRemovedEvent),
158
+ genresCleared: decoder(partyGenre.GenresClearedEvent),
159
+ },
160
+ partyMedia: {
161
+ set: decoder(partyMedia.MediaSetEvent),
162
+ cleared: decoder(partyMedia.MediaClearedEvent),
163
+ mediaSet: decoder(partyMedia.MediaSetEvent),
164
+ mediaCleared: decoder(partyMedia.MediaClearedEvent),
165
+ },
166
+ partyPlatformLink: {
167
+ // The platform_link primitive is authoritative for party_music,
168
+ // party_social, and party_pro_link. These wrapper declarations remain
169
+ // exposed for bytes from historical releases and are marked legacy.
170
+ legacy: {
171
+ set: decoder(partyPlatformLink.LinkSetEvent),
172
+ cleared: decoder(partyPlatformLink.LinkClearedEvent),
173
+ linkSet: decoder(partyPlatformLink.LinkSetEvent),
174
+ linkCleared: decoder(partyPlatformLink.LinkClearedEvent),
175
+ },
176
+ legacySet: decoder(partyPlatformLink.LinkSetEvent),
177
+ legacyCleared: decoder(partyPlatformLink.LinkClearedEvent),
178
+ },
179
+ partyProfile: {
180
+ set: decoder(partyProfile.PartyProfileSetEvent),
181
+ cleared: decoder(partyProfile.PartyProfileClearedEvent),
182
+ profileSet: decoder(partyProfile.PartyProfileSetEvent),
183
+ profileCleared: decoder(partyProfile.PartyProfileClearedEvent),
184
+ },
185
+ partyRoles: {
186
+ added: decoder(partyRoles.RoleAddedEvent),
187
+ removed: decoder(partyRoles.RoleRemovedEvent),
188
+ cleared: decoder(partyRoles.RolesClearedEvent),
189
+ roleAdded: decoder(partyRoles.RoleAddedEvent),
190
+ roleRemoved: decoder(partyRoles.RoleRemovedEvent),
191
+ rolesCleared: decoder(partyRoles.RolesClearedEvent),
192
+ },
193
+ partyTags: {
194
+ added: decoder(partyTags.TagAddedEvent),
195
+ removed: decoder(partyTags.TagRemovedEvent),
196
+ cleared: decoder(partyTags.TagsClearedEvent),
197
+ tagAdded: decoder(partyTags.TagAddedEvent),
198
+ tagRemoved: decoder(partyTags.TagRemovedEvent),
199
+ tagsCleared: decoder(partyTags.TagsClearedEvent),
102
200
  },
103
201
  },
104
202
  primitives: {
105
203
  royaltyPool: {
106
204
  poolCreated: decoder(royaltyPool.RoyaltyPoolCreatedEvent),
205
+ poolShared: decoder(royaltyPool.RoyaltyPoolSharedEvent),
107
206
  deposited: decoder(royaltyPool.RoyaltyDepositedEvent),
207
+ fundsSettled: decoder(royaltyPool.RoyaltyPoolFundsSettledEvent),
208
+ coinsRecovered: decoder(royaltyPool.RoyaltyPoolCoinsRecoveredEvent),
108
209
  stakeRegistered: decoder(royaltyPool.StakeRegisteredEvent),
109
210
  stakeUnregistered: decoder(royaltyPool.StakeUnregisteredEvent),
110
211
  royaltyClaimed: decoder(royaltyPool.RoyaltyClaimedEvent),
@@ -113,9 +214,129 @@ export const platformEventParsers = {
113
214
  },
114
215
  routedStake: {
115
216
  created: decoder(routedStake.RoutedStakeCreatedEvent),
217
+ shared: decoder(routedStake.RoutedStakeSharedEvent),
218
+ registered: decoder(routedStake.RoutedStakeRegisteredEvent),
219
+ unregistered: decoder(routedStake.RoutedStakeUnregisteredEvent),
116
220
  swept: decoder(routedStake.RoutedStakeSweptEvent),
117
221
  unstaked: decoder(routedStake.RoutedStakeUnstakedEvent),
118
222
  restaked: decoder(routedStake.RoutedStakeRestakedEvent),
119
223
  },
224
+ vault: {
225
+ registryCreated: decoder(vault.VaultRegistryCreatedEvent),
226
+ created: decoder(vault.VaultCreatedEvent),
227
+ shared: decoder(vault.VaultSharedEvent),
228
+ pluginAuthorized: decoder(vault.PluginAuthorizedEvent),
229
+ pluginRevoked: decoder(vault.PluginRevokedEvent),
230
+ capabilityWithdrawn: decoder(vault.VaultCapabilityWithdrawnEvent),
231
+ capabilityRestored: decoder(vault.VaultCapabilityRestoredEvent),
232
+ capabilityBorrowedByPlugin: decoder(vault.VaultCapabilityBorrowedByPluginEvent),
233
+ capabilityBorrowedByAdmin: decoder(vault.VaultCapabilityBorrowedByAdminEvent),
234
+ capabilityReturned: decoder(vault.VaultCapabilityReturnedEvent),
235
+ vaultRegistryCreated: decoder(vault.VaultRegistryCreatedEvent),
236
+ vaultCreated: decoder(vault.VaultCreatedEvent),
237
+ vaultShared: decoder(vault.VaultSharedEvent),
238
+ },
239
+ genre: {
240
+ registryCreated: decoder(genre.GenreRegistryCreatedEvent),
241
+ created: decoder(genre.GenreCreatedEvent),
242
+ genreRegistryCreated: decoder(genre.GenreRegistryCreatedEvent),
243
+ genreCreated: decoder(genre.GenreCreatedEvent),
244
+ },
245
+ platformLink: {
246
+ set: decoder(platformLink.PlatformLinkSetEvent),
247
+ removed: decoder(platformLink.PlatformLinkRemovedEvent),
248
+ linkSet: decoder(platformLink.PlatformLinkSetEvent),
249
+ linkRemoved: decoder(platformLink.PlatformLinkRemovedEvent),
250
+ platformLinkSet: decoder(platformLink.PlatformLinkSetEvent),
251
+ platformLinkRemoved: decoder(platformLink.PlatformLinkRemovedEvent),
252
+ },
253
+ share: {
254
+ initialized: decoder(share.ShareInitializedEvent),
255
+ shareInitialized: decoder(share.ShareInitializedEvent),
256
+ },
257
+ },
258
+ actions: {
259
+ compositionRoyaltyPool: {
260
+ poolCreated: decoder(compositionRoyaltyPool.CompositionRoyaltyPoolCreatedEvent),
261
+ coinsDeposited: decoder(compositionRoyaltyPool.CompositionCoinsDepositedEvent),
262
+ fundsDeposited: decoder(compositionRoyaltyPool.CompositionFundsDepositedEvent),
263
+ },
264
+ recordingRoyaltyPool: {
265
+ poolCreated: decoder(recordingRoyaltyPool.RecordingRoyaltyPoolCreatedEvent),
266
+ coinsDeposited: decoder(recordingRoyaltyPool.RecordingCoinsDepositedEvent),
267
+ fundsDeposited: decoder(recordingRoyaltyPool.RecordingFundsDepositedEvent),
268
+ },
269
+ compositionRoutedStake: {
270
+ created: decoder(compositionRoutedStake.CompositionRoutedStakeCreatedEvent),
271
+ registered: decoder(compositionRoutedStake.CompositionRoutedStakeRegisteredEvent),
272
+ unregistered: decoder(compositionRoutedStake.CompositionRoutedStakeUnregisteredEvent),
273
+ unstaked: decoder(compositionRoutedStake.CompositionRoutedStakeUnstakedEvent),
274
+ restaked: decoder(compositionRoutedStake.CompositionRoutedStakeRestakedEvent),
275
+ },
276
+ releaseRevenueDistributor: {
277
+ coinsReceived: decoder(releaseRevenueDistributor.ReleaseCoinsReceivedEvent),
278
+ fundsRedeemed: decoder(releaseRevenueDistributor.ReleaseFundsRedeemedEvent),
279
+ trackRevenueDistributed: decoder(releaseRevenueDistributor.ReleaseTrackRevenueDistributedEvent),
280
+ revenueDistributed: decoder(releaseRevenueDistributor.ReleaseRevenueDistributedEvent),
281
+ },
282
+ partyWallet: {
283
+ objectReceived: decoder(partyWallet.ObjectReceivedEvent),
284
+ coinsReceived: decoder(partyWallet.CoinsReceivedEvent),
285
+ fundsRedeemed: decoder(partyWallet.FundsRedeemedEvent),
286
+ },
287
+ pay: {
288
+ // Metadata is a real (non-phantom) generic in Move, so its BCS layout
289
+ // must be supplied by the caller. Target and Currency remain phantom.
290
+ paymentSent: <Metadata extends BcsType<any>>(metadata: Metadata) =>
291
+ decoder(misoPay.PaymentSentEvent(metadata)),
292
+ },
293
+ },
294
+ plugins: {
295
+ compositionRoyaltyPool: {
296
+ installed: decoder(compositionRoyaltyPoolPlugin.CompositionRoyaltyPoolPluginInstalledEvent),
297
+ uninstalled: decoder(compositionRoyaltyPoolPlugin.CompositionRoyaltyPoolPluginUninstalledEvent),
298
+ capabilityBorrowed: decoder(compositionRoyaltyPoolPlugin.CompositionVaultCapabilityBorrowedEvent),
299
+ coinsDeposited: decoder(compositionRoyaltyPoolPlugin.CompositionCoinsDepositedEvent),
300
+ fundsDeposited: decoder(compositionRoyaltyPoolPlugin.CompositionFundsDepositedEvent),
301
+ },
302
+ recordingRoyaltyPool: {
303
+ installed: decoder(recordingRoyaltyPoolPlugin.RecordingRoyaltyPoolPluginInstalledEvent),
304
+ uninstalled: decoder(recordingRoyaltyPoolPlugin.RecordingRoyaltyPoolPluginUninstalledEvent),
305
+ capabilityBorrowed: decoder(recordingRoyaltyPoolPlugin.RecordingVaultCapabilityBorrowedEvent),
306
+ coinsDeposited: decoder(recordingRoyaltyPoolPlugin.RecordingCoinsDepositedEvent),
307
+ fundsDeposited: decoder(recordingRoyaltyPoolPlugin.RecordingFundsDepositedEvent),
308
+ },
309
+ releaseRevenueDistributor: {
310
+ installed: decoder(releaseRevenueDistributorPlugin.ReleaseRevenueDistributorPluginInstalledEvent),
311
+ uninstalled: decoder(releaseRevenueDistributorPlugin.ReleaseRevenueDistributorPluginUninstalledEvent),
312
+ coinsDistributed: decoder(releaseRevenueDistributorPlugin.ReleaseRevenueCoinsDistributedEvent),
313
+ fundsDistributed: decoder(releaseRevenueDistributorPlugin.ReleaseRevenueFundsDistributedEvent),
314
+ },
315
+ },
316
+ products: {
317
+ record: {
318
+ destroyed: decoder(record.RecordDestroyedEvent),
319
+ legacy: {
320
+ created: decoder(record.RecordCreatedEvent),
321
+ },
322
+ },
323
+ pressing: {
324
+ created: decoder(pressing.PressingCreatedEvent),
325
+ purchased: decoder(pressing.RecordPurchasedEvent),
326
+ shared: decoder(pressing.PressingSharedEvent),
327
+ distributorAuthorized: decoder(pressing.PressingDistributorAuthorizedEvent),
328
+ distributorRevoked: decoder(pressing.PressingDistributorRevokedEvent),
329
+ legacy: {
330
+ distributorAuthorized: decoder(pressing.DistributorAuthorizedEvent),
331
+ distributorRevoked: decoder(pressing.DistributorRevokedEvent),
332
+ },
333
+ },
334
+ listing: {
335
+ created: decoder(listing.ListingCreatedEvent),
336
+ shared: decoder(listing.ListingSharedEvent),
337
+ priceChanged: decoder(listing.ListingPriceChangedEvent),
338
+ stateChanged: decoder(listing.ListingStateChangedEvent),
339
+ sold: decoder(listing.RecordSoldEvent),
340
+ },
120
341
  },
121
342
  } as const;
package/src/genre.ts CHANGED
@@ -44,8 +44,7 @@ import { bcs } from "@mysten/sui/bcs";
44
44
  import { deriveDynamicFieldID, deriveObjectID, normalizeSuiObjectId } from "@mysten/sui/utils";
45
45
  import type { Transaction, TransactionObjectArgument } from "@mysten/sui/transactions";
46
46
  import { Effect, Schema } from "effect";
47
- import { getOptionalObjectContent, type SuiClient, type SuiRpcError } from "@misofm/effect";
48
- import type { TxThunk } from "./transactions.ts";
47
+ import { ObjectId, Sui, type ObjectUnavailable, type DecodeError, type TransportError, type Recipe } from "@unconfirmed/sui-effect";
49
48
  import { directAdminCap, invokeWithAdminCap, type AdminCapAuthority, type ObjectInput } from "./vault.ts";
50
49
  import { PlatformDeployment } from "./deployments.ts";
51
50
  import type { ReleaseExtensionTarget } from "./release-extensions.ts";
@@ -162,7 +161,7 @@ export type SetReleaseGenresParams = ReleaseExtensionTarget & {
162
161
  * when nothing is attached, so this is safe to run against a fresh release
163
162
  * and safe to re-run against one that already has genres assigned.
164
163
  */
165
- export function setReleaseGenres(p: SetReleaseGenresParams): TxThunk {
164
+ export function setReleaseGenres(p: SetReleaseGenresParams): Recipe {
166
165
  const genreIds = validateGenreIds("setReleaseGenres", p.genreIds);
167
166
  return (tx) => {
168
167
  const authority = releaseAuthorityOf(p);
@@ -186,7 +185,7 @@ export type ClearReleaseGenresParams = ReleaseExtensionTarget & {
186
185
  };
187
186
 
188
187
  /** Remove a Release's entire genre list. A no-op on-chain if nothing is attached. */
189
- export function clearReleaseGenres(p: ClearReleaseGenresParams): TxThunk {
188
+ export function clearReleaseGenres(p: ClearReleaseGenresParams): Recipe {
190
189
  return (tx) => {
191
190
  invokeWithAdminCap(tx, releaseAuthorityOf(p), {
192
191
  target: `${p.releaseGenrePackageId}::release_genre::clear_genres`,
@@ -202,7 +201,7 @@ export type ReleaseGenreMutationParams = ReleaseExtensionTarget & {
202
201
  };
203
202
 
204
203
  /** Append one genre to a Release's list. */
205
- export function addReleaseGenre(p: ReleaseGenreMutationParams): TxThunk {
204
+ export function addReleaseGenre(p: ReleaseGenreMutationParams): Recipe {
206
205
  return (tx) => {
207
206
  invokeWithAdminCap(tx, releaseAuthorityOf(p), {
208
207
  target: `${p.releaseGenrePackageId}::release_genre::add_genre`,
@@ -213,7 +212,7 @@ export function addReleaseGenre(p: ReleaseGenreMutationParams): TxThunk {
213
212
  }
214
213
 
215
214
  /** Remove one genre from a Release by id. */
216
- export function removeReleaseGenre(p: ReleaseGenreMutationParams): TxThunk {
215
+ export function removeReleaseGenre(p: ReleaseGenreMutationParams): Recipe {
217
216
  return (tx) => {
218
217
  invokeWithAdminCap(tx, releaseAuthorityOf(p), {
219
218
  target: `${p.releaseGenrePackageId}::release_genre::remove_genre`,
@@ -238,7 +237,7 @@ export interface SetRecordingGenresParams extends RecordingExtensionTarget {
238
237
  * no-op when nothing is attached, so this is safe to run against a fresh
239
238
  * recording and safe to re-run against one that already has genres assigned.
240
239
  */
241
- export function setRecordingGenres(p: SetRecordingGenresParams): TxThunk {
240
+ export function setRecordingGenres(p: SetRecordingGenresParams): Recipe {
242
241
  const genreIds = validateGenreIds("setRecordingGenres", p.genreIds);
243
242
  return (tx) => {
244
243
  invokeWithAdminCap(tx, p.authority, {
@@ -263,7 +262,7 @@ export interface ClearRecordingGenresParams extends RecordingExtensionTarget {
263
262
  }
264
263
 
265
264
  /** Remove a Recording's entire genre list. A no-op on-chain if nothing is attached. */
266
- export function clearRecordingGenres(p: ClearRecordingGenresParams): TxThunk {
265
+ export function clearRecordingGenres(p: ClearRecordingGenresParams): Recipe {
267
266
  return (tx) => {
268
267
  invokeWithAdminCap(tx, p.authority, {
269
268
  target: `${p.recordingGenrePackageId}::recording_genre::clear_genres`,
@@ -280,7 +279,7 @@ export interface RecordingGenreMutationParams extends RecordingExtensionTarget {
280
279
  }
281
280
 
282
281
  /** Append one genre to a Recording's list. */
283
- export function addRecordingGenre(p: RecordingGenreMutationParams): TxThunk {
282
+ export function addRecordingGenre(p: RecordingGenreMutationParams): Recipe {
284
283
  return (tx) => {
285
284
  invokeWithAdminCap(tx, p.authority, {
286
285
  target: `${p.recordingGenrePackageId}::recording_genre::add_genre`,
@@ -292,7 +291,7 @@ export function addRecordingGenre(p: RecordingGenreMutationParams): TxThunk {
292
291
  }
293
292
 
294
293
  /** Remove one genre from a Recording by id. */
295
- export function removeRecordingGenre(p: RecordingGenreMutationParams): TxThunk {
294
+ export function removeRecordingGenre(p: RecordingGenreMutationParams): Recipe {
296
295
  return (tx) => {
297
296
  invokeWithAdminCap(tx, p.authority, {
298
297
  target: `${p.recordingGenrePackageId}::recording_genre::remove_genre`,
@@ -364,8 +363,9 @@ export function recordingGenresFieldId(
364
363
  export const getReleaseGenres = Effect.fn("getReleaseGenres")(function* (
365
364
  releaseId: string,
366
365
  releaseGenrePackageId: string,
367
- ): Effect.fn.Return<string[], SuiRpcError, SuiClient> {
368
- const found = yield* getOptionalObjectContent(releaseGenresFieldId(releaseId, releaseGenrePackageId));
366
+ ): Effect.fn.Return<string[], ObjectUnavailable | DecodeError | TransportError, Sui> {
367
+ const sui = yield* Sui;
368
+ const found = yield* sui.getObjectOption(ObjectId.make(releaseGenresFieldId(releaseId, releaseGenrePackageId)));
369
369
  return found._tag === "None" ? [] : parseReleaseGenresContent(found.value.content);
370
370
  });
371
371
 
@@ -378,7 +378,8 @@ export const getReleaseGenres = Effect.fn("getReleaseGenres")(function* (
378
378
  export const getRecordingGenres = Effect.fn("getRecordingGenres")(function* (
379
379
  recordingId: string,
380
380
  recordingGenrePackageId: string,
381
- ): Effect.fn.Return<string[], SuiRpcError, SuiClient> {
382
- const found = yield* getOptionalObjectContent(recordingGenresFieldId(recordingId, recordingGenrePackageId));
381
+ ): Effect.fn.Return<string[], ObjectUnavailable | DecodeError | TransportError, Sui> {
382
+ const sui = yield* Sui;
383
+ const found = yield* sui.getObjectOption(ObjectId.make(recordingGenresFieldId(recordingId, recordingGenrePackageId)));
383
384
  return found._tag === "None" ? [] : parseRecordingGenresContent(found.value.content);
384
385
  });
package/src/index.ts CHANGED
@@ -24,26 +24,35 @@
24
24
  // extensions a `&mut UID` hook and stops there; every opinion about what to hang
25
25
  // off it is business logic, and business logic ships from the platform package.
26
26
 
27
+ // The `Miso` sui-effect service (misofm/sdks#35) — the complete `MisoService`
28
+ // (WP6 "facade derivation"): `getPressing`/`getListing`/`getRecord`/`getSale`,
29
+ // `ids`/`tx`/`call`/`bcs`/`vault`, `createShareCurrency`/
30
+ // `publishShareCurrencies`/`initializeShareCurrencies`/`publishCatalog`,
31
+ // `read.*`, `events`, `protocol`/`party`. See docs/CONVERSION.md.
32
+ export {
33
+ Miso,
34
+ normalizeMisoPlatformDeployment,
35
+ type ConfiguredReleaseGraphParams,
36
+ type MisoBcs,
37
+ type MisoCall,
38
+ type MisoIds,
39
+ type MisoLayerError,
40
+ type MisoService,
41
+ type MisoTx,
42
+ type MisoVault,
43
+ } from "./Miso.ts";
44
+
27
45
  // The recommended entry point is the client extension (see ./client.ts); the bare
28
46
  // builders and readers stay exported for callers that hold ids themselves.
29
47
  export {
30
48
  miso,
31
- misoPlatform,
32
49
  MisoChainIdentifierMismatchError,
33
- MisoClientNotReadyError,
34
- MisoClient,
35
50
  MisoNetworkMismatchError,
36
- MisoPlatformClient,
37
- } from "./client.ts";
38
- export type {
39
- ConfiguredReleaseGraphParams,
40
- MisoOptions,
41
- MisoPlatformConfig,
42
51
  } from "./client.ts";
52
+ export type { MisoClient, MisoOptions } from "./client.ts";
43
53
  export * from "./deployments.ts";
44
54
  export * from "./pressing.ts";
45
55
  export * from "./transactions.ts";
46
- export * from "./execute.ts";
47
56
  export * from "./share.ts";
48
57
  export * from "./share-template.ts";
49
58
  export * from "./release-graph.ts";