@misofm/platform 0.24.0 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (635) hide show
  1. package/README.md +262 -95
  2. package/dist/auth.d.ts +8 -13
  3. package/dist/auth.d.ts.map +1 -1
  4. package/dist/auth.js +78 -59
  5. package/dist/auth.js.map +1 -1
  6. package/dist/catalog.d.ts +6 -6
  7. package/dist/catalog.d.ts.map +1 -1
  8. package/dist/catalog.js +33 -21
  9. package/dist/catalog.js.map +1 -1
  10. package/dist/client.d.ts +124 -127
  11. package/dist/client.d.ts.map +1 -1
  12. package/dist/client.js +112 -114
  13. package/dist/client.js.map +1 -1
  14. package/dist/contracts/composition_credits/composition_credits.d.ts +181 -0
  15. package/dist/contracts/composition_credits/composition_credits.d.ts.map +1 -0
  16. package/dist/contracts/composition_credits/composition_credits.js +109 -0
  17. package/dist/contracts/composition_credits/composition_credits.js.map +1 -0
  18. package/dist/contracts/composition_credits/composition_party_role.d.ts +119 -0
  19. package/dist/contracts/composition_credits/composition_party_role.d.ts.map +1 -0
  20. package/dist/contracts/composition_credits/composition_party_role.js +139 -0
  21. package/dist/contracts/composition_credits/composition_party_role.js.map +1 -0
  22. package/dist/contracts/composition_credits/deps/credit/credit.d.ts +24 -0
  23. package/dist/contracts/composition_credits/deps/credit/credit.d.ts.map +1 -0
  24. package/dist/contracts/composition_credits/deps/credit/credit.js +23 -0
  25. package/dist/contracts/composition_credits/deps/credit/credit.js.map +1 -0
  26. package/dist/contracts/composition_credits/deps/sui/vec_map.d.ts +37 -0
  27. package/dist/contracts/composition_credits/deps/sui/vec_map.d.ts.map +1 -0
  28. package/dist/contracts/composition_credits/deps/sui/vec_map.js +28 -0
  29. package/dist/contracts/composition_credits/deps/sui/vec_map.js.map +1 -0
  30. package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts +143 -0
  31. package/dist/contracts/composition_routed_stake/composition_routed_stake.d.ts.map +1 -0
  32. package/dist/contracts/composition_routed_stake/composition_routed_stake.js +125 -0
  33. package/dist/contracts/composition_routed_stake/composition_routed_stake.js.map +1 -0
  34. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts +93 -0
  35. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.d.ts.map +1 -0
  36. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js +86 -0
  37. package/dist/contracts/composition_royalty_pool/composition_royalty_pool.js.map +1 -0
  38. package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.d.ts +90 -0
  39. package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.d.ts.map +1 -0
  40. package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.js +85 -0
  41. package/dist/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.js.map +1 -0
  42. package/dist/contracts/composition_royalty_pool_plugin/witness.d.ts +6 -0
  43. package/dist/contracts/composition_royalty_pool_plugin/witness.d.ts.map +1 -0
  44. package/dist/contracts/composition_royalty_pool_plugin/witness.js +8 -0
  45. package/dist/contracts/composition_royalty_pool_plugin/witness.js.map +1 -0
  46. package/dist/contracts/cover_art/cover_art.d.ts +83 -0
  47. package/dist/contracts/cover_art/cover_art.d.ts.map +1 -0
  48. package/dist/contracts/cover_art/cover_art.js +66 -0
  49. package/dist/contracts/cover_art/cover_art.js.map +1 -0
  50. package/dist/contracts/cover_art/deps/ori/confidentiality.d.ts +24 -0
  51. package/dist/contracts/cover_art/deps/ori/confidentiality.d.ts.map +1 -0
  52. package/dist/contracts/cover_art/deps/ori/confidentiality.js +24 -0
  53. package/dist/contracts/cover_art/deps/ori/confidentiality.js.map +1 -0
  54. package/dist/contracts/cover_art/deps/ori/data.d.ts +16 -0
  55. package/dist/contracts/cover_art/deps/ori/data.d.ts.map +1 -0
  56. package/dist/contracts/cover_art/deps/ori/data.js +12 -0
  57. package/dist/contracts/cover_art/deps/ori/data.js.map +1 -0
  58. package/dist/contracts/genre/genre.d.ts +78 -0
  59. package/dist/contracts/genre/genre.d.ts.map +1 -0
  60. package/dist/contracts/genre/genre.js +87 -0
  61. package/dist/contracts/genre/genre.js.map +1 -0
  62. package/dist/contracts/party_cta/party_cta.d.ts +120 -0
  63. package/dist/contracts/party_cta/party_cta.d.ts.map +1 -0
  64. package/dist/contracts/party_cta/party_cta.js +139 -0
  65. package/dist/contracts/party_cta/party_cta.js.map +1 -0
  66. package/dist/contracts/party_genre/party_genre.d.ts +117 -0
  67. package/dist/contracts/party_genre/party_genre.d.ts.map +1 -0
  68. package/dist/contracts/party_genre/party_genre.js +131 -0
  69. package/dist/contracts/party_genre/party_genre.js.map +1 -0
  70. package/dist/contracts/party_media/party_media.d.ts +86 -0
  71. package/dist/contracts/party_media/party_media.d.ts.map +1 -0
  72. package/dist/contracts/party_media/party_media.js +97 -0
  73. package/dist/contracts/party_media/party_media.js.map +1 -0
  74. package/dist/contracts/party_music/party_music.d.ts +209 -0
  75. package/dist/contracts/party_music/party_music.d.ts.map +1 -0
  76. package/dist/contracts/party_music/party_music.js +259 -0
  77. package/dist/contracts/party_music/party_music.js.map +1 -0
  78. package/dist/contracts/party_platform_link/party_platform_link.d.ts +89 -0
  79. package/dist/contracts/party_platform_link/party_platform_link.d.ts.map +1 -0
  80. package/dist/contracts/party_platform_link/party_platform_link.js +92 -0
  81. package/dist/contracts/party_platform_link/party_platform_link.js.map +1 -0
  82. package/dist/contracts/party_pro_link/party_pro_link.d.ts +233 -0
  83. package/dist/contracts/party_pro_link/party_pro_link.d.ts.map +1 -0
  84. package/dist/contracts/party_pro_link/party_pro_link.js +289 -0
  85. package/dist/contracts/party_pro_link/party_pro_link.js.map +1 -0
  86. package/dist/contracts/party_profile/deps/country_code/country_code.d.ts +15 -0
  87. package/dist/contracts/party_profile/deps/country_code/country_code.d.ts.map +1 -0
  88. package/dist/contracts/party_profile/deps/country_code/country_code.js +17 -0
  89. package/dist/contracts/party_profile/deps/country_code/country_code.js.map +1 -0
  90. package/dist/contracts/party_profile/deps/language_code/language_code.d.ts +6 -0
  91. package/dist/contracts/party_profile/deps/language_code/language_code.d.ts.map +1 -0
  92. package/dist/contracts/party_profile/deps/language_code/language_code.js +8 -0
  93. package/dist/contracts/party_profile/deps/language_code/language_code.js.map +1 -0
  94. package/dist/contracts/party_profile/party_profile.d.ts +133 -0
  95. package/dist/contracts/party_profile/party_profile.d.ts.map +1 -0
  96. package/dist/contracts/party_profile/party_profile.js +153 -0
  97. package/dist/contracts/party_profile/party_profile.js.map +1 -0
  98. package/dist/contracts/party_roles/party_roles.d.ts +201 -0
  99. package/dist/contracts/party_roles/party_roles.d.ts.map +1 -0
  100. package/dist/contracts/party_roles/party_roles.js +237 -0
  101. package/dist/contracts/party_roles/party_roles.js.map +1 -0
  102. package/dist/contracts/party_social/party_social.d.ts +258 -0
  103. package/dist/contracts/party_social/party_social.d.ts.map +1 -0
  104. package/dist/contracts/party_social/party_social.js +320 -0
  105. package/dist/contracts/party_social/party_social.js.map +1 -0
  106. package/dist/contracts/party_tags/party_tags.d.ts +116 -0
  107. package/dist/contracts/party_tags/party_tags.d.ts.map +1 -0
  108. package/dist/contracts/party_tags/party_tags.js +130 -0
  109. package/dist/contracts/party_tags/party_tags.js.map +1 -0
  110. package/dist/contracts/party_wallet/party_wallet.d.ts +112 -0
  111. package/dist/contracts/party_wallet/party_wallet.d.ts.map +1 -0
  112. package/dist/contracts/party_wallet/party_wallet.js +114 -0
  113. package/dist/contracts/party_wallet/party_wallet.js.map +1 -0
  114. package/dist/contracts/record/deps/std/type_name.d.ts +18 -0
  115. package/dist/contracts/record/deps/std/type_name.d.ts.map +1 -0
  116. package/dist/contracts/record/deps/std/type_name.js +20 -0
  117. package/dist/contracts/record/deps/std/type_name.js.map +1 -0
  118. package/dist/contracts/record/deps/sui/vec_set.d.ts +21 -0
  119. package/dist/contracts/record/deps/sui/vec_set.d.ts.map +1 -0
  120. package/dist/contracts/record/deps/sui/vec_set.js +20 -0
  121. package/dist/contracts/record/deps/sui/vec_set.js.map +1 -0
  122. package/dist/contracts/record/pressing.d.ts +327 -0
  123. package/dist/contracts/record/pressing.d.ts.map +1 -0
  124. package/dist/contracts/record/pressing.js +345 -0
  125. package/dist/contracts/record/pressing.js.map +1 -0
  126. package/dist/contracts/record/record.d.ts +190 -0
  127. package/dist/contracts/record/record.d.ts.map +1 -0
  128. package/dist/contracts/record/record.js +226 -0
  129. package/dist/contracts/record/record.js.map +1 -0
  130. package/dist/contracts/record_shop/deps/std/type_name.d.ts +18 -0
  131. package/dist/contracts/record_shop/deps/std/type_name.d.ts.map +1 -0
  132. package/dist/contracts/record_shop/deps/std/type_name.js +20 -0
  133. package/dist/contracts/record_shop/deps/std/type_name.js.map +1 -0
  134. package/dist/contracts/record_shop/listing.d.ts +387 -0
  135. package/dist/contracts/record_shop/listing.d.ts.map +1 -0
  136. package/dist/contracts/record_shop/listing.js +380 -0
  137. package/dist/contracts/record_shop/listing.js.map +1 -0
  138. package/dist/contracts/record_shop/witness.d.ts +7 -0
  139. package/dist/contracts/record_shop/witness.d.ts.map +1 -0
  140. package/dist/contracts/record_shop/witness.js +9 -0
  141. package/dist/contracts/record_shop/witness.js.map +1 -0
  142. package/dist/contracts/recording_advisory/recording_advisory.d.ts +194 -0
  143. package/dist/contracts/recording_advisory/recording_advisory.d.ts.map +1 -0
  144. package/dist/contracts/recording_advisory/recording_advisory.js +204 -0
  145. package/dist/contracts/recording_advisory/recording_advisory.js.map +1 -0
  146. package/dist/contracts/recording_credits/deps/credit/credit.d.ts +24 -0
  147. package/dist/contracts/recording_credits/deps/credit/credit.d.ts.map +1 -0
  148. package/dist/contracts/recording_credits/deps/credit/credit.js +23 -0
  149. package/dist/contracts/recording_credits/deps/credit/credit.js.map +1 -0
  150. package/dist/contracts/recording_credits/deps/sui/vec_map.d.ts +37 -0
  151. package/dist/contracts/recording_credits/deps/sui/vec_map.d.ts.map +1 -0
  152. package/dist/contracts/recording_credits/deps/sui/vec_map.js +28 -0
  153. package/dist/contracts/recording_credits/deps/sui/vec_map.js.map +1 -0
  154. package/dist/contracts/recording_credits/deps/sui/vec_set.d.ts +21 -0
  155. package/dist/contracts/recording_credits/deps/sui/vec_set.d.ts.map +1 -0
  156. package/dist/contracts/recording_credits/deps/sui/vec_set.js +20 -0
  157. package/dist/contracts/recording_credits/deps/sui/vec_set.js.map +1 -0
  158. package/dist/contracts/recording_credits/recording_credits.d.ts +2313 -0
  159. package/dist/contracts/recording_credits/recording_credits.d.ts.map +1 -0
  160. package/dist/contracts/recording_credits/recording_credits.js +270 -0
  161. package/dist/contracts/recording_credits/recording_credits.js.map +1 -0
  162. package/dist/contracts/recording_credits/recording_party_role.d.ts +1174 -0
  163. package/dist/contracts/recording_credits/recording_party_role.d.ts.map +1 -0
  164. package/dist/contracts/recording_credits/recording_party_role.js +692 -0
  165. package/dist/contracts/recording_credits/recording_party_role.js.map +1 -0
  166. package/dist/contracts/recording_engine_session/deps/ori/confidentiality.d.ts +24 -0
  167. package/dist/contracts/recording_engine_session/deps/ori/confidentiality.d.ts.map +1 -0
  168. package/dist/contracts/recording_engine_session/deps/ori/confidentiality.js +24 -0
  169. package/dist/contracts/recording_engine_session/deps/ori/confidentiality.js.map +1 -0
  170. package/dist/contracts/recording_engine_session/deps/ori/data.d.ts +16 -0
  171. package/dist/contracts/recording_engine_session/deps/ori/data.d.ts.map +1 -0
  172. package/dist/contracts/recording_engine_session/deps/ori/data.js +12 -0
  173. package/dist/contracts/recording_engine_session/deps/ori/data.js.map +1 -0
  174. package/dist/contracts/recording_engine_session/recording_engine_session.d.ts +296 -0
  175. package/dist/contracts/recording_engine_session/recording_engine_session.d.ts.map +1 -0
  176. package/dist/contracts/recording_engine_session/recording_engine_session.js +216 -0
  177. package/dist/contracts/recording_engine_session/recording_engine_session.js.map +1 -0
  178. package/dist/contracts/recording_genre/recording_genre.d.ts +173 -0
  179. package/dist/contracts/recording_genre/recording_genre.d.ts.map +1 -0
  180. package/dist/contracts/recording_genre/recording_genre.js +170 -0
  181. package/dist/contracts/recording_genre/recording_genre.js.map +1 -0
  182. package/dist/contracts/recording_language/deps/language_code/language_code.d.ts +6 -0
  183. package/dist/contracts/recording_language/deps/language_code/language_code.d.ts.map +1 -0
  184. package/dist/contracts/recording_language/deps/language_code/language_code.js +8 -0
  185. package/dist/contracts/recording_language/deps/language_code/language_code.js.map +1 -0
  186. package/dist/contracts/recording_language/recording_language.d.ts +152 -0
  187. package/dist/contracts/recording_language/recording_language.d.ts.map +1 -0
  188. package/dist/contracts/recording_language/recording_language.js +149 -0
  189. package/dist/contracts/recording_language/recording_language.js.map +1 -0
  190. package/dist/contracts/recording_master_reference/deps/ori/confidentiality.d.ts +24 -0
  191. package/dist/contracts/recording_master_reference/deps/ori/confidentiality.d.ts.map +1 -0
  192. package/dist/contracts/recording_master_reference/deps/ori/confidentiality.js +24 -0
  193. package/dist/contracts/recording_master_reference/deps/ori/confidentiality.js.map +1 -0
  194. package/dist/contracts/recording_master_reference/deps/ori/data.d.ts +16 -0
  195. package/dist/contracts/recording_master_reference/deps/ori/data.d.ts.map +1 -0
  196. package/dist/contracts/recording_master_reference/deps/ori/data.js +12 -0
  197. package/dist/contracts/recording_master_reference/deps/ori/data.js.map +1 -0
  198. package/dist/contracts/recording_master_reference/recording_master_reference.d.ts +129 -0
  199. package/dist/contracts/recording_master_reference/recording_master_reference.d.ts.map +1 -0
  200. package/dist/contracts/recording_master_reference/recording_master_reference.js +119 -0
  201. package/dist/contracts/recording_master_reference/recording_master_reference.js.map +1 -0
  202. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts +96 -0
  203. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.d.ts.map +1 -0
  204. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js +85 -0
  205. package/dist/contracts/recording_royalty_pool/recording_royalty_pool.js.map +1 -0
  206. package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.d.ts +92 -0
  207. package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.d.ts.map +1 -0
  208. package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.js +85 -0
  209. package/dist/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.js.map +1 -0
  210. package/dist/contracts/recording_royalty_pool_plugin/witness.d.ts +6 -0
  211. package/dist/contracts/recording_royalty_pool_plugin/witness.d.ts.map +1 -0
  212. package/dist/contracts/recording_royalty_pool_plugin/witness.js +8 -0
  213. package/dist/contracts/recording_royalty_pool_plugin/witness.js.map +1 -0
  214. package/dist/contracts/recording_streaming_transcode/deps/ori/data.d.ts +8 -0
  215. package/dist/contracts/recording_streaming_transcode/deps/ori/data.d.ts.map +1 -0
  216. package/dist/contracts/recording_streaming_transcode/deps/ori/data.js +10 -0
  217. package/dist/contracts/recording_streaming_transcode/deps/ori/data.js.map +1 -0
  218. package/dist/contracts/recording_streaming_transcode/recording_streaming_transcode.d.ts +124 -0
  219. package/dist/contracts/recording_streaming_transcode/recording_streaming_transcode.d.ts.map +1 -0
  220. package/dist/contracts/recording_streaming_transcode/recording_streaming_transcode.js +124 -0
  221. package/dist/contracts/recording_streaming_transcode/recording_streaming_transcode.js.map +1 -0
  222. package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/confidentiality.d.ts +24 -0
  223. package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/confidentiality.d.ts.map +1 -0
  224. package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/confidentiality.js +24 -0
  225. package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/confidentiality.js.map +1 -0
  226. package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/data.d.ts +16 -0
  227. package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/data.d.ts.map +1 -0
  228. package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/data.js +12 -0
  229. package/dist/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/data.js.map +1 -0
  230. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.d.ts +47 -0
  231. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.d.ts.map +1 -0
  232. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.js +22 -0
  233. package/dist/contracts/release_cover_art/deps/cover_art/cover_art.js.map +1 -0
  234. package/dist/contracts/release_cover_art/deps/per_track/per_track.d.ts +33 -0
  235. package/dist/contracts/release_cover_art/deps/per_track/per_track.d.ts.map +1 -0
  236. package/dist/contracts/release_cover_art/deps/per_track/per_track.js +32 -0
  237. package/dist/contracts/release_cover_art/deps/per_track/per_track.js.map +1 -0
  238. package/dist/contracts/release_cover_art/release_cover_art.d.ts +300 -0
  239. package/dist/contracts/release_cover_art/release_cover_art.d.ts.map +1 -0
  240. package/dist/contracts/release_cover_art/release_cover_art.js +168 -0
  241. package/dist/contracts/release_cover_art/release_cover_art.js.map +1 -0
  242. package/dist/contracts/release_credits/deps/credit/credit.d.ts +24 -0
  243. package/dist/contracts/release_credits/deps/credit/credit.d.ts.map +1 -0
  244. package/dist/contracts/release_credits/deps/credit/credit.js +23 -0
  245. package/dist/contracts/release_credits/deps/credit/credit.js.map +1 -0
  246. package/dist/contracts/release_credits/deps/sui/vec_map.d.ts +37 -0
  247. package/dist/contracts/release_credits/deps/sui/vec_map.d.ts.map +1 -0
  248. package/dist/contracts/release_credits/deps/sui/vec_map.js +28 -0
  249. package/dist/contracts/release_credits/deps/sui/vec_map.js.map +1 -0
  250. package/dist/contracts/release_credits/release_credits.d.ts +142 -0
  251. package/dist/contracts/release_credits/release_credits.d.ts.map +1 -0
  252. package/dist/contracts/release_credits/release_credits.js +108 -0
  253. package/dist/contracts/release_credits/release_credits.js.map +1 -0
  254. package/dist/contracts/release_credits/release_party_role.d.ts +58 -0
  255. package/dist/contracts/release_credits/release_party_role.d.ts.map +1 -0
  256. package/dist/contracts/release_credits/release_party_role.js +66 -0
  257. package/dist/contracts/release_credits/release_party_role.js.map +1 -0
  258. package/dist/contracts/release_description/release_description.d.ts +112 -0
  259. package/dist/contracts/release_description/release_description.d.ts.map +1 -0
  260. package/dist/contracts/release_description/release_description.js +123 -0
  261. package/dist/contracts/release_description/release_description.js.map +1 -0
  262. package/dist/contracts/release_dsp_link/release_dsp_link.d.ts +643 -0
  263. package/dist/contracts/release_dsp_link/release_dsp_link.d.ts.map +1 -0
  264. package/dist/contracts/release_dsp_link/release_dsp_link.js +555 -0
  265. package/dist/contracts/release_dsp_link/release_dsp_link.js.map +1 -0
  266. package/dist/contracts/release_genre/release_genre.d.ts +145 -0
  267. package/dist/contracts/release_genre/release_genre.d.ts.map +1 -0
  268. package/dist/contracts/release_genre/release_genre.js +154 -0
  269. package/dist/contracts/release_genre/release_genre.js.map +1 -0
  270. package/dist/contracts/release_kind/release_kind.d.ts +98 -0
  271. package/dist/contracts/release_kind/release_kind.d.ts.map +1 -0
  272. package/dist/contracts/release_kind/release_kind.js +109 -0
  273. package/dist/contracts/release_kind/release_kind.js.map +1 -0
  274. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts +91 -0
  275. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.d.ts.map +1 -0
  276. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js +92 -0
  277. package/dist/contracts/release_revenue_distributor/release_revenue_distributor.js.map +1 -0
  278. package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.d.ts +73 -0
  279. package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.d.ts.map +1 -0
  280. package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.js +80 -0
  281. package/dist/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.js.map +1 -0
  282. package/dist/contracts/release_revenue_distributor_plugin/witness.d.ts +6 -0
  283. package/dist/contracts/release_revenue_distributor_plugin/witness.d.ts.map +1 -0
  284. package/dist/contracts/release_revenue_distributor_plugin/witness.js +8 -0
  285. package/dist/contracts/release_revenue_distributor_plugin/witness.js.map +1 -0
  286. package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts +67 -0
  287. package/dist/contracts/routed_stake/deps/royalty_pool/stake.d.ts.map +1 -0
  288. package/dist/contracts/routed_stake/deps/royalty_pool/stake.js +50 -0
  289. package/dist/contracts/routed_stake/deps/royalty_pool/stake.js.map +1 -0
  290. package/dist/contracts/routed_stake/deps/std/type_name.d.ts +18 -0
  291. package/dist/contracts/routed_stake/deps/std/type_name.d.ts.map +1 -0
  292. package/dist/contracts/routed_stake/deps/std/type_name.js +20 -0
  293. package/dist/contracts/routed_stake/deps/std/type_name.js.map +1 -0
  294. package/dist/contracts/routed_stake/deps/sui/balance.d.ts +13 -0
  295. package/dist/contracts/routed_stake/deps/sui/balance.d.ts.map +1 -0
  296. package/dist/contracts/routed_stake/deps/sui/balance.js +15 -0
  297. package/dist/contracts/routed_stake/deps/sui/balance.js.map +1 -0
  298. package/dist/contracts/routed_stake/deps/sui/vec_map.d.ts +37 -0
  299. package/dist/contracts/routed_stake/deps/sui/vec_map.d.ts.map +1 -0
  300. package/dist/contracts/routed_stake/deps/sui/vec_map.js +28 -0
  301. package/dist/contracts/routed_stake/deps/sui/vec_map.js.map +1 -0
  302. package/dist/contracts/routed_stake/routed_stake.d.ts +347 -0
  303. package/dist/contracts/routed_stake/routed_stake.d.ts.map +1 -0
  304. package/dist/contracts/routed_stake/routed_stake.js +302 -0
  305. package/dist/contracts/routed_stake/routed_stake.js.map +1 -0
  306. package/dist/contracts/royalty_pool/deps/std/type_name.d.ts +18 -0
  307. package/dist/contracts/royalty_pool/deps/std/type_name.d.ts.map +1 -0
  308. package/dist/contracts/royalty_pool/deps/std/type_name.js +20 -0
  309. package/dist/contracts/royalty_pool/deps/std/type_name.js.map +1 -0
  310. package/dist/contracts/royalty_pool/deps/sui/balance.d.ts +13 -0
  311. package/dist/contracts/royalty_pool/deps/sui/balance.d.ts.map +1 -0
  312. package/dist/contracts/royalty_pool/deps/sui/balance.js +15 -0
  313. package/dist/contracts/royalty_pool/deps/sui/balance.js.map +1 -0
  314. package/dist/contracts/royalty_pool/deps/sui/vec_map.d.ts +37 -0
  315. package/dist/contracts/royalty_pool/deps/sui/vec_map.d.ts.map +1 -0
  316. package/dist/contracts/royalty_pool/deps/sui/vec_map.js +28 -0
  317. package/dist/contracts/royalty_pool/deps/sui/vec_map.js.map +1 -0
  318. package/dist/contracts/royalty_pool/pool.d.ts +414 -0
  319. package/dist/contracts/royalty_pool/pool.d.ts.map +1 -0
  320. package/dist/contracts/royalty_pool/pool.js +409 -0
  321. package/dist/contracts/royalty_pool/pool.js.map +1 -0
  322. package/dist/contracts/royalty_pool/stake.d.ts +202 -0
  323. package/dist/contracts/royalty_pool/stake.d.ts.map +1 -0
  324. package/dist/contracts/royalty_pool/stake.js +196 -0
  325. package/dist/contracts/royalty_pool/stake.js.map +1 -0
  326. package/dist/contracts/utils/index.d.ts +104 -0
  327. package/dist/contracts/utils/index.d.ts.map +1 -0
  328. package/dist/contracts/utils/index.js +272 -0
  329. package/dist/contracts/utils/index.js.map +1 -0
  330. package/dist/contracts/vault/deps/sui/bag.d.ts +35 -0
  331. package/dist/contracts/vault/deps/sui/bag.d.ts.map +1 -0
  332. package/dist/contracts/vault/deps/sui/bag.js +37 -0
  333. package/dist/contracts/vault/deps/sui/bag.js.map +1 -0
  334. package/dist/contracts/vault/deps/sui/borrow.d.ts +20 -0
  335. package/dist/contracts/vault/deps/sui/borrow.d.ts.map +1 -0
  336. package/dist/contracts/vault/deps/sui/borrow.js +21 -0
  337. package/dist/contracts/vault/deps/sui/borrow.js.map +1 -0
  338. package/dist/contracts/vault/vault.d.ts +316 -0
  339. package/dist/contracts/vault/vault.d.ts.map +1 -0
  340. package/dist/contracts/vault/vault.js +308 -0
  341. package/dist/contracts/vault/vault.js.map +1 -0
  342. package/dist/contracts.d.ts +57 -33
  343. package/dist/contracts.d.ts.map +1 -1
  344. package/dist/contracts.js +63 -41
  345. package/dist/contracts.js.map +1 -1
  346. package/dist/cover.d.ts +4 -3
  347. package/dist/cover.d.ts.map +1 -1
  348. package/dist/cover.js +30 -19
  349. package/dist/cover.js.map +1 -1
  350. package/dist/credits.d.ts +12 -10
  351. package/dist/credits.d.ts.map +1 -1
  352. package/dist/credits.js +66 -39
  353. package/dist/credits.js.map +1 -1
  354. package/dist/deployments.d.ts +122 -74
  355. package/dist/deployments.d.ts.map +1 -1
  356. package/dist/deployments.js +239 -58
  357. package/dist/deployments.js.map +1 -1
  358. package/dist/errors.d.ts +91 -0
  359. package/dist/errors.d.ts.map +1 -0
  360. package/dist/errors.js +111 -0
  361. package/dist/errors.js.map +1 -0
  362. package/dist/events.d.ts +1045 -0
  363. package/dist/events.d.ts.map +1 -0
  364. package/dist/events.js +116 -0
  365. package/dist/events.js.map +1 -0
  366. package/dist/execute.d.ts +5 -3
  367. package/dist/execute.d.ts.map +1 -1
  368. package/dist/execute.js +11 -6
  369. package/dist/execute.js.map +1 -1
  370. package/dist/genre.d.ts +108 -0
  371. package/dist/genre.d.ts.map +1 -0
  372. package/dist/genre.js +289 -0
  373. package/dist/genre.js.map +1 -0
  374. package/dist/index.d.ts +4 -0
  375. package/dist/index.d.ts.map +1 -1
  376. package/dist/index.js +9 -1
  377. package/dist/index.js.map +1 -1
  378. package/dist/internal.js +2 -2
  379. package/dist/internal.js.map +1 -1
  380. package/dist/packages.d.ts +4185 -0
  381. package/dist/packages.d.ts.map +1 -0
  382. package/dist/packages.js +190 -0
  383. package/dist/packages.js.map +1 -0
  384. package/dist/party/client.d.ts +327 -0
  385. package/dist/party/client.d.ts.map +1 -0
  386. package/dist/party/client.js +225 -0
  387. package/dist/party/client.js.map +1 -0
  388. package/dist/party/extensions/ctas.d.ts +19 -0
  389. package/dist/party/extensions/ctas.d.ts.map +1 -0
  390. package/dist/party/extensions/ctas.js +25 -0
  391. package/dist/party/extensions/ctas.js.map +1 -0
  392. package/dist/party/extensions/genres.d.ts +27 -0
  393. package/dist/party/extensions/genres.d.ts.map +1 -0
  394. package/dist/party/extensions/genres.js +31 -0
  395. package/dist/party/extensions/genres.js.map +1 -0
  396. package/dist/party/extensions/links.d.ts +66 -0
  397. package/dist/party/extensions/links.d.ts.map +1 -0
  398. package/dist/party/extensions/links.js +118 -0
  399. package/dist/party/extensions/links.js.map +1 -0
  400. package/dist/party/extensions/media.d.ts +36 -0
  401. package/dist/party/extensions/media.d.ts.map +1 -0
  402. package/dist/party/extensions/media.js +45 -0
  403. package/dist/party/extensions/media.js.map +1 -0
  404. package/dist/party/extensions/profile.d.ts +24 -0
  405. package/dist/party/extensions/profile.d.ts.map +1 -0
  406. package/dist/party/extensions/profile.js +48 -0
  407. package/dist/party/extensions/profile.js.map +1 -0
  408. package/dist/party/extensions/roles.d.ts +37 -0
  409. package/dist/party/extensions/roles.d.ts.map +1 -0
  410. package/dist/party/extensions/roles.js +46 -0
  411. package/dist/party/extensions/roles.js.map +1 -0
  412. package/dist/party/extensions/tags.d.ts +25 -0
  413. package/dist/party/extensions/tags.d.ts.map +1 -0
  414. package/dist/party/extensions/tags.js +25 -0
  415. package/dist/party/extensions/tags.js.map +1 -0
  416. package/dist/party/index.d.ts +12 -0
  417. package/dist/party/index.d.ts.map +1 -0
  418. package/dist/party/index.js +18 -0
  419. package/dist/party/index.js.map +1 -0
  420. package/dist/party/internal.d.ts +14 -0
  421. package/dist/party/internal.d.ts.map +1 -0
  422. package/dist/party/internal.js +89 -0
  423. package/dist/party/internal.js.map +1 -0
  424. package/dist/party/queries.d.ts +18 -0
  425. package/dist/party/queries.d.ts.map +1 -0
  426. package/dist/party/queries.js +124 -0
  427. package/dist/party/queries.js.map +1 -0
  428. package/dist/party/types.d.ts +54 -0
  429. package/dist/party/types.d.ts.map +1 -0
  430. package/dist/party/types.js +85 -0
  431. package/dist/party/types.js.map +1 -0
  432. package/dist/pressing.d.ts +55 -35
  433. package/dist/pressing.d.ts.map +1 -1
  434. package/dist/pressing.js +102 -79
  435. package/dist/pressing.js.map +1 -1
  436. package/dist/publication.d.ts +4 -8
  437. package/dist/publication.d.ts.map +1 -1
  438. package/dist/publication.js +53 -40
  439. package/dist/publication.js.map +1 -1
  440. package/dist/queries.d.ts +1 -1
  441. package/dist/queries.d.ts.map +1 -1
  442. package/dist/queries.js +5 -4
  443. package/dist/queries.js.map +1 -1
  444. package/dist/read/artist.d.ts +6 -4
  445. package/dist/read/artist.d.ts.map +1 -1
  446. package/dist/read/artist.js +29 -27
  447. package/dist/read/artist.js.map +1 -1
  448. package/dist/read/catalog.d.ts +21 -18
  449. package/dist/read/catalog.d.ts.map +1 -1
  450. package/dist/read/catalog.js +120 -141
  451. package/dist/read/catalog.js.map +1 -1
  452. package/dist/read/client.d.ts +15 -11
  453. package/dist/read/client.d.ts.map +1 -1
  454. package/dist/read/client.js +5 -1
  455. package/dist/read/client.js.map +1 -1
  456. package/dist/read/config.d.ts +7 -2
  457. package/dist/read/config.d.ts.map +1 -1
  458. package/dist/read/config.js +2 -0
  459. package/dist/read/config.js.map +1 -1
  460. package/dist/read/genres.d.ts +5 -3
  461. package/dist/read/genres.d.ts.map +1 -1
  462. package/dist/read/genres.js +18 -15
  463. package/dist/read/genres.js.map +1 -1
  464. package/dist/read/index.d.ts.map +1 -1
  465. package/dist/read/index.js +8 -2
  466. package/dist/read/index.js.map +1 -1
  467. package/dist/read/receipts.d.ts +15 -6
  468. package/dist/read/receipts.d.ts.map +1 -1
  469. package/dist/read/receipts.js +76 -63
  470. package/dist/read/receipts.js.map +1 -1
  471. package/dist/read/types.d.ts +1 -1
  472. package/dist/read/types.d.ts.map +1 -1
  473. package/dist/read/wallet.d.ts +12 -10
  474. package/dist/read/wallet.d.ts.map +1 -1
  475. package/dist/read/wallet.js +122 -136
  476. package/dist/read/wallet.js.map +1 -1
  477. package/dist/read/works.d.ts +9 -16
  478. package/dist/read/works.d.ts.map +1 -1
  479. package/dist/read/works.js +48 -117
  480. package/dist/read/works.js.map +1 -1
  481. package/dist/recording-extensions.d.ts +8 -7
  482. package/dist/recording-extensions.d.ts.map +1 -1
  483. package/dist/recording-extensions.js +36 -69
  484. package/dist/recording-extensions.js.map +1 -1
  485. package/dist/release-extensions.d.ts +3 -20
  486. package/dist/release-extensions.d.ts.map +1 -1
  487. package/dist/release-extensions.js +13 -59
  488. package/dist/release-extensions.js.map +1 -1
  489. package/dist/release-graph.js +2 -2
  490. package/dist/release-graph.js.map +1 -1
  491. package/dist/royalty.d.ts +87 -0
  492. package/dist/royalty.d.ts.map +1 -0
  493. package/dist/royalty.js +160 -0
  494. package/dist/royalty.js.map +1 -0
  495. package/dist/share.d.ts +7 -6
  496. package/dist/share.d.ts.map +1 -1
  497. package/dist/share.js +38 -31
  498. package/dist/share.js.map +1 -1
  499. package/dist/transactions.d.ts +2 -2
  500. package/dist/transactions.d.ts.map +1 -1
  501. package/dist/transactions.js +6 -6
  502. package/dist/transactions.js.map +1 -1
  503. package/dist/vault.d.ts +20 -8
  504. package/dist/vault.d.ts.map +1 -1
  505. package/dist/vault.js +37 -21
  506. package/dist/vault.js.map +1 -1
  507. package/package.json +31 -10
  508. package/src/auth.ts +89 -70
  509. package/src/catalog.ts +35 -51
  510. package/src/client.ts +220 -141
  511. package/src/contracts/composition_credits/composition_credits.ts +170 -0
  512. package/src/contracts/composition_credits/composition_party_role.ts +190 -0
  513. package/src/contracts/composition_credits/deps/credit/credit.ts +28 -0
  514. package/src/contracts/composition_credits/deps/sui/vec_map.ts +34 -0
  515. package/src/contracts/composition_routed_stake/composition_routed_stake.ts +239 -0
  516. package/src/contracts/composition_royalty_pool/composition_royalty_pool.ts +154 -0
  517. package/src/contracts/composition_royalty_pool_plugin/composition_royalty_pool_plugin.ts +165 -0
  518. package/src/contracts/composition_royalty_pool_plugin/witness.ts +8 -0
  519. package/src/contracts/cover_art/cover_art.ts +98 -0
  520. package/src/contracts/cover_art/deps/ori/confidentiality.ts +24 -0
  521. package/src/contracts/cover_art/deps/ori/data.ts +12 -0
  522. package/src/contracts/genre/genre.ts +121 -0
  523. package/src/contracts/party_cta/party_cta.ts +213 -0
  524. package/src/contracts/party_genre/party_genre.ts +200 -0
  525. package/src/contracts/party_media/party_media.ts +142 -0
  526. package/src/contracts/party_music/party_music.ts +406 -0
  527. package/src/contracts/party_platform_link/party_platform_link.ts +149 -0
  528. package/src/contracts/party_pro_link/party_pro_link.ts +454 -0
  529. package/src/contracts/party_profile/deps/country_code/country_code.ts +20 -0
  530. package/src/contracts/party_profile/deps/language_code/language_code.ts +8 -0
  531. package/src/contracts/party_profile/party_profile.ts +240 -0
  532. package/src/contracts/party_roles/party_roles.ts +364 -0
  533. package/src/contracts/party_social/party_social.ts +503 -0
  534. package/src/contracts/party_tags/party_tags.ts +199 -0
  535. package/src/contracts/party_wallet/party_wallet.ts +174 -0
  536. package/src/contracts/record/deps/std/type_name.ts +23 -0
  537. package/src/contracts/record/deps/sui/vec_set.ts +22 -0
  538. package/src/contracts/record/pressing.ts +523 -0
  539. package/src/contracts/record/record.ts +339 -0
  540. package/src/contracts/record_shop/deps/std/type_name.ts +23 -0
  541. package/src/contracts/record_shop/listing.ts +603 -0
  542. package/src/contracts/record_shop/witness.ts +12 -0
  543. package/src/contracts/recording_advisory/recording_advisory.ts +316 -0
  544. package/src/contracts/recording_credits/deps/credit/credit.ts +28 -0
  545. package/src/contracts/recording_credits/deps/sui/vec_map.ts +34 -0
  546. package/src/contracts/recording_credits/deps/sui/vec_set.ts +22 -0
  547. package/src/contracts/recording_credits/recording_credits.ts +459 -0
  548. package/src/contracts/recording_credits/recording_party_role.ts +1042 -0
  549. package/src/contracts/recording_engine_session/deps/ori/confidentiality.ts +24 -0
  550. package/src/contracts/recording_engine_session/deps/ori/data.ts +12 -0
  551. package/src/contracts/recording_engine_session/recording_engine_session.ts +335 -0
  552. package/src/contracts/recording_genre/recording_genre.ts +235 -0
  553. package/src/contracts/recording_language/deps/language_code/language_code.ts +8 -0
  554. package/src/contracts/recording_language/recording_language.ts +238 -0
  555. package/src/contracts/recording_master_reference/deps/ori/confidentiality.ts +24 -0
  556. package/src/contracts/recording_master_reference/deps/ori/data.ts +12 -0
  557. package/src/contracts/recording_master_reference/recording_master_reference.ts +180 -0
  558. package/src/contracts/recording_royalty_pool/recording_royalty_pool.ts +157 -0
  559. package/src/contracts/recording_royalty_pool_plugin/recording_royalty_pool_plugin.ts +167 -0
  560. package/src/contracts/recording_royalty_pool_plugin/witness.ts +8 -0
  561. package/src/contracts/recording_streaming_transcode/deps/ori/data.ts +10 -0
  562. package/src/contracts/recording_streaming_transcode/recording_streaming_transcode.ts +203 -0
  563. package/src/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/confidentiality.ts +24 -0
  564. package/src/contracts/release_cover_art/deps/0x51792b9adb9a5d05d7c4d74d7d0cb5aefc5639afa80c0089399cab8b99752e60/data.ts +12 -0
  565. package/src/contracts/release_cover_art/deps/cover_art/cover_art.ts +25 -0
  566. package/src/contracts/release_cover_art/deps/per_track/per_track.ts +37 -0
  567. package/src/contracts/release_cover_art/release_cover_art.ts +252 -0
  568. package/src/contracts/release_credits/deps/credit/credit.ts +28 -0
  569. package/src/contracts/release_credits/deps/sui/vec_map.ts +34 -0
  570. package/src/contracts/release_credits/release_credits.ts +157 -0
  571. package/src/contracts/release_credits/release_party_role.ts +87 -0
  572. package/src/contracts/release_description/release_description.ts +168 -0
  573. package/src/contracts/release_dsp_link/release_dsp_link.ts +813 -0
  574. package/src/contracts/release_genre/release_genre.ts +203 -0
  575. package/src/contracts/release_kind/release_kind.ts +154 -0
  576. package/src/contracts/release_revenue_distributor/release_revenue_distributor.ts +141 -0
  577. package/src/contracts/release_revenue_distributor_plugin/release_revenue_distributor_plugin.ts +143 -0
  578. package/src/contracts/release_revenue_distributor_plugin/witness.ts +8 -0
  579. package/src/contracts/routed_stake/deps/royalty_pool/stake.ts +53 -0
  580. package/src/contracts/routed_stake/deps/std/type_name.ts +23 -0
  581. package/src/contracts/routed_stake/deps/sui/balance.ts +18 -0
  582. package/src/contracts/routed_stake/deps/sui/vec_map.ts +34 -0
  583. package/src/contracts/routed_stake/routed_stake.ts +487 -0
  584. package/src/contracts/royalty_pool/deps/std/type_name.ts +23 -0
  585. package/src/contracts/royalty_pool/deps/sui/balance.ts +18 -0
  586. package/src/contracts/royalty_pool/deps/sui/vec_map.ts +34 -0
  587. package/src/contracts/royalty_pool/pool.ts +634 -0
  588. package/src/contracts/royalty_pool/stake.ts +305 -0
  589. package/src/contracts/utils/index.ts +428 -0
  590. package/src/contracts/vault/deps/sui/bag.ts +40 -0
  591. package/src/contracts/vault/deps/sui/borrow.ts +26 -0
  592. package/src/contracts/vault/vault.ts +509 -0
  593. package/src/contracts.ts +86 -39
  594. package/src/cover.ts +19 -28
  595. package/src/credits.ts +49 -81
  596. package/src/deployments.ts +321 -73
  597. package/src/errors.ts +156 -0
  598. package/src/events.ts +121 -0
  599. package/src/execute.ts +13 -9
  600. package/src/genre.ts +384 -0
  601. package/src/index.ts +10 -1
  602. package/src/internal.ts +2 -2
  603. package/src/packages.ts +243 -0
  604. package/src/party/client.ts +280 -0
  605. package/src/party/extensions/ctas.ts +46 -0
  606. package/src/party/extensions/genres.ts +62 -0
  607. package/src/party/extensions/links.ts +186 -0
  608. package/src/party/extensions/media.ts +72 -0
  609. package/src/party/extensions/profile.ts +81 -0
  610. package/src/party/extensions/roles.ts +94 -0
  611. package/src/party/extensions/tags.ts +54 -0
  612. package/src/party/index.ts +40 -0
  613. package/src/party/internal.ts +102 -0
  614. package/src/party/queries.ts +175 -0
  615. package/src/party/types.ts +88 -0
  616. package/src/pressing.ts +163 -166
  617. package/src/publication.ts +58 -45
  618. package/src/queries.ts +5 -5
  619. package/src/read/artist.ts +47 -42
  620. package/src/read/catalog.ts +201 -224
  621. package/src/read/client.ts +20 -13
  622. package/src/read/config.ts +9 -2
  623. package/src/read/genres.ts +24 -16
  624. package/src/read/index.ts +8 -2
  625. package/src/read/receipts.ts +131 -70
  626. package/src/read/types.ts +1 -1
  627. package/src/read/wallet.ts +199 -166
  628. package/src/read/works.ts +76 -195
  629. package/src/recording-extensions.ts +44 -98
  630. package/src/release-extensions.ts +11 -87
  631. package/src/release-graph.ts +2 -2
  632. package/src/royalty.ts +264 -0
  633. package/src/share.ts +45 -30
  634. package/src/transactions.ts +6 -6
  635. package/src/vault.ts +53 -30
@@ -1,4 +1,6 @@
1
- import type { MisoClient } from "./client.ts";
1
+ import { Effect } from "effect";
2
+ import { SuiClient, SuiGraphQL, SuiRpcError, type BcsDecodeError, type ObjectNotFoundError, type ObjectTypeMismatchError } from "@misofm/effect";
3
+ import type { MisoConfig } from "./config.ts";
2
4
  import type { Balance, OwnedParty, OwnedRecord, OwnedWork, Ownership, PendingMembership, WorkDetail } from "./types.ts";
3
5
  type WorkAdminCapType = {
4
6
  kind: "composition";
@@ -13,18 +15,18 @@ type WorkAdminCapType = {
13
15
  export declare function classifyVaultedWorkAdminCapType(type: string, vaultPackageId: string, misoPackageId: string): WorkAdminCapType | null;
14
16
  /**
15
17
  * The records `owner` holds. Ownership is DIRECT — a record is an address-owned
16
- * `<miso_record>::record::Record` with no pressing/license/receipt intermediary.
18
+ * `<record>::record::Record` with no pressing/license/receipt intermediary.
17
19
  * The server-side type filter and exact local check deliberately exclude records
18
20
  * from any retired package namespace.
19
21
  */
20
- export declare function getOwnedRecords(client: MisoClient, owner: string): Promise<OwnedRecord[]>;
22
+ export declare const getOwnedRecords: (owner: string, config: MisoConfig) => Effect.Effect<OwnedRecord[], SuiRpcError, SuiClient>;
21
23
  /**
22
24
  * The parties `owner` administers. A wallet "owns" a party iff it holds the
23
25
  * party's `PartyAdminCap`, so this is one owned-objects listing filtered to the
24
26
  * cap type plus a name resolve. Caps are transferable, which is why this is
25
27
  * authoritative in a way that remembering created parties client-side is not.
26
28
  */
27
- export declare function getOwnedParties(client: MisoClient, owner: string): Promise<OwnedParty[]>;
29
+ export declare const getOwnedParties: (owner: string, config: MisoConfig) => Effect.Effect<OwnedParty[], BcsDecodeError | ObjectTypeMismatchError | SuiRpcError, SuiClient>;
28
30
  /**
29
31
  * Pending group invitations for every individual party the wallet administers.
30
32
  *
@@ -33,7 +35,7 @@ export declare function getOwnedParties(client: MisoClient, owner: string): Prom
33
35
  * names are resolved in one batch so the API can render an inbox without extra
34
36
  * browser reads.
35
37
  */
36
- export declare function getPendingMemberships(client: MisoClient, owner: string): Promise<PendingMembership[]>;
38
+ export declare const getPendingMemberships: (owner: string, config: MisoConfig) => Effect.Effect<PendingMembership[], BcsDecodeError | ObjectTypeMismatchError | SuiRpcError, SuiClient>;
37
39
  /**
38
40
  * Every work the wallet administers, keyed by its ADMIN CAP id (the studio
39
41
  * catalog's routing unit — caps are what control means here).
@@ -44,15 +46,15 @@ export declare function getPendingMemberships(client: MisoClient, owner: string)
44
46
  * the GraphQL hop entirely — `ReleaseAdminCap` is not generic and carries
45
47
  * `release_id` directly.
46
48
  */
47
- export declare function getOwnedWorks(client: MisoClient, owner: string): Promise<OwnedWork[]>;
49
+ export declare const getOwnedWorks: (owner: string, config: MisoConfig) => Effect.Effect<OwnedWork[], BcsDecodeError | SuiRpcError, SuiClient | SuiGraphQL>;
48
50
  /** Classify a direct or vaulted cap by its on-chain type, then resolve its work. */
49
- export declare function getWorkByCap(client: MisoClient, capId: string): Promise<WorkDetail | null>;
51
+ export declare const getWorkByCap: (capId: string, config: MisoConfig) => Effect.Effect<WorkDetail | null, BcsDecodeError | ObjectNotFoundError | SuiRpcError, SuiClient | SuiGraphQL>;
50
52
  /**
51
53
  * A wallet's balance in one currency. Keep the aggregate and both Sui storage
52
54
  * classes: callers using a `FundsWithdrawal` must never mistake coin-object
53
55
  * value for immediately withdrawable address balance.
54
56
  */
55
- export declare function getBalance(client: MisoClient, address: string, coinType?: string): Promise<Balance>;
57
+ export declare const getBalance: (address: string, config: MisoConfig, coinType?: string | undefined) => Effect.Effect<Balance, SuiRpcError, SuiClient>;
56
58
  /**
57
59
  * Whether `address` controls a party — i.e. holds its `PartyAdminCap`. The cap is
58
60
  * a DERIVED object of the party, so this is one `getObject` on a computed id, no
@@ -62,13 +64,13 @@ export declare function getBalance(client: MisoClient, address: string, coinType
62
64
  * A failed read means "can't confirm", which resolves to `false` — the editor
63
65
  * stays hidden rather than being offered and then rejected on submit.
64
66
  */
65
- export declare function ownsParty(client: MisoClient, address: string, partyId: string): Promise<Ownership>;
67
+ export declare const ownsParty: (address: string, partyId: string, config: MisoConfig) => Effect.Effect<Ownership, never, SuiClient>;
66
68
  /**
67
69
  * Whether `address` owns a record. Records are address-owned objects, so this is
68
70
  * one `getObject` and an owner compare. Presentation gating only — it decides
69
71
  * whether the Snapshots tab appears, and a non-owner has no snapshot content to
70
72
  * fetch regardless.
71
73
  */
72
- export declare function ownsRecord(client: MisoClient, address: string, recordId: string): Promise<Ownership>;
74
+ export declare const ownsRecord: (address: string, recordId: string) => Effect.Effect<Ownership, never, SuiClient>;
73
75
  export {};
74
76
  //# sourceMappingURL=wallet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/read/wallet.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAM9C,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,WAAW,EACX,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,UAAU,EACX,MAAM,YAAY,CAAC;AAUpB,KAAK,gBAAgB,GACjB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAsDxB,mFAAmF;AACnF,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,GACpB,gBAAgB,GAAG,IAAI,CAmBzB;AA+BD;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAgD/F;AAID;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CA2B9F;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAuB9B;AAoHD;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAwD3F;AAED,oFAAoF;AACpF,wBAAsB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CA2HhG;AAkCD;;;;GAIG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAczG;AAWD;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAOxG;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAM1G"}
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/read/wallet.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AAUxC,OAAO,EAGL,SAAS,EACT,UAAU,EACV,WAAW,EACX,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC7B,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAM9C,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,WAAW,EACX,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,UAAU,EACX,MAAM,YAAY,CAAC;AAUpB,KAAK,gBAAgB,GACjB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAsDxB,mFAAmF;AACnF,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,GACpB,gBAAgB,GAAG,IAAI,CAmBzB;AA4DD;;;;;GAKG;AACH,eAAO,MAAM,eAAe,6FA0C1B,CAAC;AAIH;;;;;GAKG;AACH,eAAO,MAAM,eAAe,uIA4B1B,CAAC;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,8IA0BhC,CAAC;AA8GH;;;;;;;;;GASG;AACH,eAAO,MAAM,aAAa,yHAwDxB,CAAC;AAEH,oFAAoF;AACpF,eAAO,MAAM,YAAY,qJAoGvB,CAAC;AAkCH;;;;GAIG;AACH,eAAO,MAAM,UAAU,wHAyBrB,CAAC;AAWH;;;;;;;;GAQG;AACH,eAAO,MAAM,SAAS,sGAepB,CAAC;AAEH;;;;;GAKG;AACH,eAAO,MAAM,UAAU,mFAarB,CAAC"}
@@ -10,10 +10,14 @@
10
10
  // gRPC) is exactly the sort of thing that should exist once in the SDK rather
11
11
  // than be reimplemented by every browser, Worker, server, or native client.
12
12
  import { normalizeStructTag, normalizeSuiAddress, parseStructTag } from "@mysten/sui/utils";
13
- import { contracts as networkContracts, getCompositionByShareType, getOwnedReleaseAdminCaps, getRecordingByShareType, getReleaseById, isNotFound, } from "@misofm/protocol";
13
+ import { Effect, Option } from "effect";
14
+ import { contracts as networkContracts, getCompositionByShareType, getOwnedReleaseAdminCaps, getRecordingByShareType, getReleaseById, } from "@misofm/musicos";
15
+ import { party as partyContracts } from "@misofm/partyos/contracts";
16
+ import { derivePartyAdminCapId, getPartiesByIds, getPendingMemberships as getPartyPendingMemberships } from "@misofm/partyos";
17
+ import { getObjectsContent, getOptionalObjectContent, SuiClient, SuiGraphQL, SuiRpcError, } from "@misofm/effect";
14
18
  import { int, u64 } from "./internal/scalars.js";
15
- import * as vaultContract from "@misofm/protocol/contracts/vault/vault";
16
- import * as recordContract from "@misofm/protocol/contracts/miso_record/record";
19
+ import * as vaultContract from "../contracts/vault/vault.js";
20
+ import * as recordContract from "../contracts/record/record.js";
17
21
  import { deriveRecordId } from "../pressing.js";
18
22
  import { requireRecordSalesDeployment } from "../deployments.js";
19
23
  import { getRecordingTitles, getWorkAddressesByShareTypes, getWorksByIds } from "./works.js";
@@ -100,27 +104,34 @@ function isCanonicalRecordType(type, recordPackageId) {
100
104
  }
101
105
  return true;
102
106
  }
107
+ /** One page of `client.core.listOwnedObjects`, requesting `content` when `withContent` is set. */
108
+ const listOwnedObjectsPage = Effect.fn("listOwnedObjectsPage")(function* (owner, type, cursor, withContent) {
109
+ const client = yield* SuiClient;
110
+ return yield* Effect.tryPromise({
111
+ try: (signal) => client.core.listOwnedObjects({
112
+ owner,
113
+ type,
114
+ cursor,
115
+ limit: 50,
116
+ ...(withContent ? { include: { content: true } } : {}),
117
+ signal,
118
+ }),
119
+ catch: (cause) => new SuiRpcError({ operation: "listOwnedObjects", cause }),
120
+ });
121
+ });
103
122
  /**
104
123
  * The records `owner` holds. Ownership is DIRECT — a record is an address-owned
105
- * `<miso_record>::record::Record` with no pressing/license/receipt intermediary.
124
+ * `<record>::record::Record` with no pressing/license/receipt intermediary.
106
125
  * The server-side type filter and exact local check deliberately exclude records
107
126
  * from any retired package namespace.
108
127
  */
109
- export async function getOwnedRecords(client, owner) {
128
+ export const getOwnedRecords = Effect.fn("getOwnedRecords")(function* (owner, config) {
110
129
  const out = [];
111
130
  let cursor = null;
112
- const sales = requireRecordSalesDeployment(client.config.recordSales);
131
+ const sales = requireRecordSalesDeployment(config.recordSales);
113
132
  const recordType = `${sales.recordPackageId}::record::Record`;
114
133
  for (let page = 0; page < MAX_PAGES; page++) {
115
- // Annotated: `cursor` is both an input and assigned from the result, which
116
- // TypeScript reads as a circular initializer without an explicit type.
117
- const res = await client.protocol.core.listOwnedObjects({
118
- owner,
119
- type: recordType,
120
- cursor,
121
- limit: 50,
122
- include: { content: true },
123
- });
134
+ const res = (yield* listOwnedObjectsPage(owner, recordType, cursor, true));
124
135
  for (const obj of res.objects) {
125
136
  if (!isCanonicalRecordType(obj.type, sales.recordPackageId)) {
126
137
  continue;
@@ -155,7 +166,7 @@ export async function getOwnedRecords(client, owner) {
155
166
  break;
156
167
  }
157
168
  return out;
158
- }
169
+ });
159
170
  // ── Parties ──────────────────────────────────────────────────────────────────
160
171
  /**
161
172
  * The parties `owner` administers. A wallet "owns" a party iff it holds the
@@ -163,19 +174,14 @@ export async function getOwnedRecords(client, owner) {
163
174
  * cap type plus a name resolve. Caps are transferable, which is why this is
164
175
  * authoritative in a way that remembering created parties client-side is not.
165
176
  */
166
- export async function getOwnedParties(client, owner) {
167
- const capType = `${client.config.deployment.misoParty}::party::PartyAdminCap`;
177
+ export const getOwnedParties = Effect.fn("getOwnedParties")(function* (owner, config) {
178
+ const capType = `${config.partyos.partyos}::party::PartyAdminCap`;
168
179
  // One page of 50 caps is plenty for launch-scale artists; paginate if labels
169
180
  // ever start hitting the cap.
170
- const { objects } = await client.protocol.core.listOwnedObjects({
171
- owner,
172
- type: capType,
173
- limit: 50,
174
- include: { content: true },
175
- });
181
+ const { objects } = yield* listOwnedObjectsPage(owner, capType, null, true);
176
182
  const caps = objects.flatMap((obj) => {
177
183
  try {
178
- const cap = networkContracts.party.PartyAdminCap.parse(obj.content);
184
+ const cap = partyContracts.PartyAdminCap.parse(obj.content);
179
185
  return [{ capId: obj.objectId, partyId: cap.party_id }];
180
186
  }
181
187
  catch {
@@ -184,12 +190,12 @@ export async function getOwnedParties(client, owner) {
184
190
  });
185
191
  if (caps.length === 0)
186
192
  return [];
187
- const parties = await client.sui.miso.party.getPartiesByIds(caps.map((c) => c.partyId));
193
+ const parties = yield* getPartiesByIds(caps.map((c) => c.partyId), config.partyos.partyos);
188
194
  return caps.flatMap(({ capId, partyId }) => {
189
195
  const p = parties[partyId];
190
196
  return p ? [{ partyId, capId, name: p.name, kind: p.kind }] : [];
191
197
  });
192
- }
198
+ });
193
199
  /**
194
200
  * Pending group invitations for every individual party the wallet administers.
195
201
  *
@@ -198,26 +204,23 @@ export async function getOwnedParties(client, owner) {
198
204
  * names are resolved in one batch so the API can render an inbox without extra
199
205
  * browser reads.
200
206
  */
201
- export async function getPendingMemberships(client, owner) {
202
- const controlled = await getOwnedParties(client, owner);
207
+ export const getPendingMemberships = Effect.fn("getPendingMemberships")(function* (owner, config) {
208
+ const controlled = yield* getOwnedParties(owner, config);
203
209
  const individuals = controlled.filter((party) => party.kind === "individual");
204
210
  if (individuals.length === 0)
205
211
  return [];
206
- const invitations = await Promise.all(individuals.map(async (member) => ({
207
- member,
208
- groupIds: await client.sui.miso.party.getPendingMemberships(member.partyId),
209
- })));
212
+ const invitations = yield* Effect.forEach(individuals, (member) => getPartyPendingMemberships(member.partyId).pipe(Effect.map((groupIds) => ({ member, groupIds }))), { concurrency: "unbounded" });
210
213
  const groupIds = [...new Set(invitations.flatMap(({ groupIds }) => groupIds))];
211
214
  if (groupIds.length === 0)
212
215
  return [];
213
- const groups = await client.sui.miso.party.getPartiesByIds(groupIds);
216
+ const groups = yield* getPartiesByIds(groupIds, config.partyos.partyos);
214
217
  return invitations.flatMap(({ member, groupIds }) => groupIds.flatMap((groupId) => {
215
218
  const group = groups[groupId];
216
219
  return group?.kind === "group"
217
220
  ? [{ memberPartyId: member.partyId, memberCapId: member.capId, groupId, groupName: group.name }]
218
221
  : [];
219
222
  }));
220
- }
223
+ });
221
224
  // ── Works (studio catalog) ───────────────────────────────────────────────────
222
225
  /**
223
226
  * Owned generic admin caps over gRPC. The bare type filter matches every
@@ -225,11 +228,11 @@ export async function getPendingMemberships(client, owner) {
225
228
  * type `T` is parsed back out of each instance's type tag, because the cap does
226
229
  * not store the work's id — only its share type.
227
230
  */
228
- async function ownedGenericCaps(client, owner, capType) {
231
+ const ownedGenericCaps = Effect.fn("ownedGenericCaps")(function* (owner, capType) {
229
232
  const caps = [];
230
233
  let cursor = null;
231
234
  for (let page = 0; page < MAX_PAGES; page++) {
232
- const res = await client.protocol.core.listOwnedObjects({ owner, type: capType, cursor, limit: 50 });
235
+ const res = (yield* listOwnedObjectsPage(owner, capType, cursor, false));
233
236
  for (const obj of res.objects) {
234
237
  const match = /<(.+)>$/.exec(obj.type);
235
238
  if (match?.[1])
@@ -242,26 +245,20 @@ async function ownedGenericCaps(client, owner, capType) {
242
245
  break;
243
246
  }
244
247
  return caps;
245
- }
248
+ });
246
249
  /**
247
250
  * Discover owner-held VaultAdminCaps whose wrapped capability administers a
248
251
  * catalog work. PressingAdminCap is deliberately ignored: Catalog is a work
249
252
  * surface (composition / recording / release), not a sale-management surface.
250
253
  */
251
- async function ownedVaultedWorkCaps(client, owner) {
254
+ const ownedVaultedWorkCaps = Effect.fn("ownedVaultedWorkCaps")(function* (owner, config) {
252
255
  const out = { compositions: [], recordings: [], releases: [] };
253
- const vaultPackageId = client.config.protocol.vault;
254
- const misoPackageId = client.config.deployment.miso;
256
+ const vaultPackageId = config.protocol.vault;
257
+ const misoPackageId = config.deployment.musicos;
255
258
  const capType = `${vaultPackageId}::vault::VaultAdminCap`;
256
259
  let cursor = null;
257
260
  for (let page = 0; page < MAX_PAGES; page++) {
258
- const res = await client.protocol.core.listOwnedObjects({
259
- owner,
260
- type: capType,
261
- cursor,
262
- limit: 50,
263
- include: { content: true },
264
- });
261
+ const res = (yield* listOwnedObjectsPage(owner, capType, cursor, true));
265
262
  for (const object of res.objects) {
266
263
  if (!object.content)
267
264
  continue;
@@ -292,28 +289,23 @@ async function ownedVaultedWorkCaps(client, owner) {
292
289
  break;
293
290
  }
294
291
  return out;
295
- }
292
+ });
296
293
  /** Read the ReleaseAdminCap wrapped by each shared release vault. */
297
- async function resolveVaultedReleaseCaps(client, caps) {
294
+ const resolveVaultedReleaseCaps = Effect.fn("resolveVaultedReleaseCaps")(function* (caps, config) {
298
295
  if (caps.length === 0)
299
296
  return [];
300
- const releaseCapType = `${client.config.deployment.miso}::release::ReleaseAdminCap`;
301
- const vaultType = normalizeStructTag(`${client.config.protocol.vault}::vault::Vault<${releaseCapType}>`);
302
- const { objects } = await client.protocol.core.getObjects({
303
- objectIds: caps.map((cap) => cap.vaultId),
304
- include: { content: true },
305
- });
297
+ const releaseCapType = `${config.deployment.musicos}::release::ReleaseAdminCap`;
298
+ const vaultType = normalizeStructTag(`${config.protocol.vault}::vault::Vault<${releaseCapType}>`);
299
+ const contentById = yield* getObjectsContent(caps.map((cap) => cap.vaultId));
306
300
  const releasesByVault = new Map();
307
- for (const object of objects) {
308
- if (object instanceof Error || !object.content)
309
- continue;
301
+ for (const [objectId, object] of contentById) {
310
302
  try {
311
303
  if (normalizeStructTag(object.type) !== vaultType)
312
304
  continue;
313
305
  const vault = vaultContract.Vault(networkContracts.release.ReleaseAdminCap).parse(object.content);
314
306
  const releaseId = vault.cap?.value?.release_id;
315
307
  if (releaseId)
316
- releasesByVault.set(object.objectId, releaseId);
308
+ releasesByVault.set(objectId, releaseId);
317
309
  }
318
310
  catch {
319
311
  // Batch catalog discovery is best-effort per authority, matching the
@@ -324,7 +316,7 @@ async function resolveVaultedReleaseCaps(client, caps) {
324
316
  const releaseId = releasesByVault.get(cap.vaultId);
325
317
  return releaseId ? [{ id: cap.id, releaseId }] : [];
326
318
  });
327
- }
319
+ });
328
320
  /**
329
321
  * Every work the wallet administers, keyed by its ADMIN CAP id (the studio
330
322
  * catalog's routing unit — caps are what control means here).
@@ -335,25 +327,25 @@ async function resolveVaultedReleaseCaps(client, caps) {
335
327
  * the GraphQL hop entirely — `ReleaseAdminCap` is not generic and carries
336
328
  * `release_id` directly.
337
329
  */
338
- export async function getOwnedWorks(client, owner) {
339
- const miso = client.config.deployment.miso;
340
- const [directCompCaps, directRecCaps, directRelCaps, vaulted] = await Promise.all([
341
- ownedGenericCaps(client, owner, `${miso}::composition::CompositionAdminCap`),
342
- ownedGenericCaps(client, owner, `${miso}::recording::RecordingAdminCap`),
343
- getOwnedReleaseAdminCaps(client.protocol, owner, miso),
344
- ownedVaultedWorkCaps(client, owner),
330
+ export const getOwnedWorks = Effect.fn("getOwnedWorks")(function* (owner, config) {
331
+ const miso = config.deployment.musicos;
332
+ const [directCompCaps, directRecCaps, directRelCaps, vaulted] = yield* Effect.all([
333
+ ownedGenericCaps(owner, `${miso}::composition::CompositionAdminCap`),
334
+ ownedGenericCaps(owner, `${miso}::recording::RecordingAdminCap`),
335
+ getOwnedReleaseAdminCaps(owner, miso),
336
+ ownedVaultedWorkCaps(owner, config),
345
337
  ]);
346
- const vaultedRelCaps = await resolveVaultedReleaseCaps(client, vaulted.releases);
338
+ const vaultedRelCaps = yield* resolveVaultedReleaseCaps(vaulted.releases, config);
347
339
  const compCaps = [...directCompCaps, ...vaulted.compositions];
348
340
  const recCaps = [...directRecCaps, ...vaulted.recordings];
349
341
  const relCaps = [...directRelCaps, ...vaultedRelCaps];
350
- const addresses = await getWorkAddressesByShareTypes(client.graphql, { compositions: compCaps.map((c) => c.shareType), recordings: recCaps.map((c) => c.shareType) }, miso);
351
- const works = await getWorksByIds(client.protocol, {
342
+ const addresses = yield* getWorkAddressesByShareTypes({ compositions: compCaps.map((c) => c.shareType), recordings: recCaps.map((c) => c.shareType) }, miso);
343
+ const works = yield* getWorksByIds({
352
344
  compositions: Object.values(addresses.compositions).filter((id) => id !== undefined),
353
345
  recordings: Object.values(addresses.recordings).filter((id) => id !== undefined),
354
346
  releases: relCaps.map((c) => c.releaseId),
355
347
  });
356
- const recordingTitles = await getRecordingTitles(client.protocol, client.graphql, Object.values(addresses.recordings).filter((id) => id !== undefined), miso);
348
+ const recordingTitles = yield* getRecordingTitles(Object.values(addresses.recordings).filter((id) => id !== undefined), miso);
357
349
  const comps = compCaps.flatMap((cap) => {
358
350
  const workId = addresses.compositions[cap.shareType];
359
351
  const composition = workId ? works.compositions[workId] : undefined;
@@ -381,31 +373,18 @@ export async function getOwnedWorks(client, owner) {
381
373
  return [{ capId: cap.id, kind: "release", workId: release.id, title: release.title, state: release.state.type }];
382
374
  });
383
375
  return [...comps, ...recs, ...rels];
384
- }
376
+ });
385
377
  /** Classify a direct or vaulted cap by its on-chain type, then resolve its work. */
386
- export async function getWorkByCap(client, capId) {
387
- const miso = client.config.deployment.miso;
388
- let type;
389
- let json;
390
- let content;
391
- try {
392
- const { object } = await client.protocol.core.getObject({
393
- objectId: capId,
394
- include: { json: true, content: true },
395
- });
396
- type = object.type;
397
- json = (object.json ?? null);
398
- content = object.content;
399
- }
400
- catch (e) {
401
- if (isNotFound(e))
402
- return null;
403
- throw e;
404
- }
378
+ export const getWorkByCap = Effect.fn("getWorkByCap")(function* (capId, config) {
379
+ const miso = config.deployment.musicos;
380
+ const found = yield* getOptionalObjectContent(capId);
381
+ if (Option.isNone(found))
382
+ return null;
383
+ const { content, type } = found.value;
405
384
  const direct = classifyWorkAdminCapType(type, miso);
406
385
  if (direct?.kind === "composition") {
407
386
  const { shareType } = direct;
408
- const c = await getCompositionByShareType(client.protocol, client.graphql, shareType, miso);
387
+ const c = yield* getCompositionByShareType(shareType, miso);
409
388
  return {
410
389
  capId,
411
390
  kind: "composition",
@@ -418,8 +397,8 @@ export async function getWorkByCap(client, capId) {
418
397
  }
419
398
  if (direct?.kind === "recording") {
420
399
  const { shareType } = direct;
421
- const r = await getRecordingByShareType(client.protocol, client.graphql, shareType, miso);
422
- const titles = await getRecordingTitles(client.protocol, client.graphql, [r.id], miso);
400
+ const r = yield* getRecordingByShareType(shareType, miso);
401
+ const titles = yield* getRecordingTitles([r.id], miso);
423
402
  return {
424
403
  capId,
425
404
  kind: "recording",
@@ -430,10 +409,9 @@ export async function getWorkByCap(client, capId) {
430
409
  };
431
410
  }
432
411
  if (direct?.kind === "release") {
433
- const releaseId = typeof json?.release_id === "string" ? json.release_id : null;
434
- if (!releaseId)
435
- throw new Error(`Release cap ${capId} carries no release id`);
436
- const r = await getReleaseById(client.protocol, releaseId);
412
+ // `ReleaseAdminCap`'s BCS carries `release_id` directly no `json` include needed.
413
+ const { release_id: releaseId } = networkContracts.release.ReleaseAdminCap.parse(content);
414
+ const r = yield* getReleaseById(releaseId);
437
415
  return {
438
416
  capId,
439
417
  kind: "release",
@@ -444,15 +422,15 @@ export async function getWorkByCap(client, capId) {
444
422
  trackCount: r.tracks.length,
445
423
  };
446
424
  }
447
- const vaulted = classifyVaultedWorkAdminCapType(type, client.config.protocol.vault, miso);
448
- if (!vaulted || !content) {
425
+ const vaulted = classifyVaultedWorkAdminCapType(type, config.protocol.vault, miso);
426
+ if (!vaulted) {
449
427
  // A real object, but not a supported work authority — "no such work",
450
428
  // not a transport failure. PressingAdminCap intentionally lands here.
451
429
  return null;
452
430
  }
453
431
  const { vault_id: vaultId } = vaultContract.VaultAdminCap.parse(content);
454
432
  if (vaulted.kind === "composition") {
455
- const c = await getCompositionByShareType(client.protocol, client.graphql, vaulted.shareType, miso);
433
+ const c = yield* getCompositionByShareType(vaulted.shareType, miso);
456
434
  return {
457
435
  capId,
458
436
  kind: "composition",
@@ -464,8 +442,8 @@ export async function getWorkByCap(client, capId) {
464
442
  };
465
443
  }
466
444
  if (vaulted.kind === "recording") {
467
- const r = await getRecordingByShareType(client.protocol, client.graphql, vaulted.shareType, miso);
468
- const titles = await getRecordingTitles(client.protocol, client.graphql, [r.id], miso);
445
+ const r = yield* getRecordingByShareType(vaulted.shareType, miso);
446
+ const titles = yield* getRecordingTitles([r.id], miso);
469
447
  return {
470
448
  capId,
471
449
  kind: "recording",
@@ -475,10 +453,10 @@ export async function getWorkByCap(client, capId) {
475
453
  shareType: vaulted.shareType,
476
454
  };
477
455
  }
478
- const [releaseCap] = await resolveVaultedReleaseCaps(client, [{ id: capId, vaultId }]);
456
+ const [releaseCap] = yield* resolveVaultedReleaseCaps([{ id: capId, vaultId }], config);
479
457
  if (!releaseCap)
480
458
  throw new Error(`Release vault ${vaultId} carries no release admin cap`);
481
- const r = await getReleaseById(client.protocol, releaseCap.releaseId);
459
+ const r = yield* getReleaseById(releaseCap.releaseId);
482
460
  return {
483
461
  capId,
484
462
  kind: "release",
@@ -488,12 +466,14 @@ export async function getWorkByCap(client, capId) {
488
466
  discCount: r.tracks.length > 0 ? 1 : 0,
489
467
  trackCount: r.tracks.length,
490
468
  };
491
- }
469
+ });
492
470
  // ── Balance ──────────────────────────────────────────────────────────────────
493
471
  const decimalsByClient = new WeakMap();
494
- /** Resolve once per client/type. Failed lookups are evicted so a transient
495
- * fullnode error cannot poison a long-lived API worker. */
496
- async function coinDecimals(client, coinType) {
472
+ /**
473
+ * Resolve once per (transport client, coin type). Failed lookups are evicted so
474
+ * a transient fullnode error cannot poison a long-lived API worker.
475
+ */
476
+ function coinDecimalsPromise(client, coinType) {
497
477
  let cache = decimalsByClient.get(client);
498
478
  if (!cache) {
499
479
  cache = new Map();
@@ -503,7 +483,7 @@ async function coinDecimals(client, coinType) {
503
483
  const cached = cache.get(key);
504
484
  if (cached)
505
485
  return cached;
506
- const pending = client.protocol.core.getCoinMetadata({ coinType: key }).then(({ coinMetadata }) => {
486
+ const pending = client.core.getCoinMetadata({ coinType: key }).then(({ coinMetadata }) => {
507
487
  const decimals = coinMetadata?.decimals;
508
488
  if (!Number.isSafeInteger(decimals) || decimals < 0 || decimals > 18) {
509
489
  throw new Error(`Coin metadata for ${key} has no supported decimal precision`);
@@ -511,25 +491,29 @@ async function coinDecimals(client, coinType) {
511
491
  return decimals;
512
492
  });
513
493
  cache.set(key, pending);
514
- try {
515
- return await pending;
516
- }
517
- catch (error) {
494
+ pending.catch(() => {
518
495
  if (cache.get(key) === pending)
519
496
  cache.delete(key);
520
- throw error;
521
- }
497
+ });
498
+ return pending;
522
499
  }
523
500
  /**
524
501
  * A wallet's balance in one currency. Keep the aggregate and both Sui storage
525
502
  * classes: callers using a `FundsWithdrawal` must never mistake coin-object
526
503
  * value for immediately withdrawable address balance.
527
504
  */
528
- export async function getBalance(client, address, coinType) {
529
- const type = coinType ?? client.config.money.usdCoinType;
530
- const [res, decimals] = await Promise.all([
531
- client.protocol.core.getBalance({ owner: address, coinType: type }),
532
- coinDecimals(client, type),
505
+ export const getBalance = Effect.fn("getBalance")(function* (address, config, coinType) {
506
+ const client = yield* SuiClient;
507
+ const type = coinType ?? config.money.usdCoinType;
508
+ const [res, decimals] = yield* Effect.all([
509
+ Effect.tryPromise({
510
+ try: (signal) => client.core.getBalance({ owner: address, coinType: type, signal }),
511
+ catch: (cause) => new SuiRpcError({ operation: "getBalance", cause }),
512
+ }),
513
+ Effect.tryPromise({
514
+ try: () => coinDecimalsPromise(client, type),
515
+ catch: (cause) => new SuiRpcError({ operation: "getCoinMetadata", cause }),
516
+ }),
533
517
  ]);
534
518
  return {
535
519
  address: normalizeSuiAddress(address),
@@ -539,7 +523,7 @@ export async function getBalance(client, address, coinType) {
539
523
  addressBalance: u64(res.balance.addressBalance),
540
524
  decimals,
541
525
  };
542
- }
526
+ });
543
527
  // ── Ownership ────────────────────────────────────────────────────────────────
544
528
  function isAddressOwner(owner, address) {
545
529
  const o = owner;
@@ -554,25 +538,27 @@ function isAddressOwner(owner, address) {
554
538
  * A failed read means "can't confirm", which resolves to `false` — the editor
555
539
  * stays hidden rather than being offered and then rejected on submit.
556
540
  */
557
- export async function ownsParty(client, address, partyId) {
558
- const capId = client.sui.miso.party.derivePartyAdminCapId(partyId);
559
- const isOwner = await client.protocol.core
560
- .getObject({ objectId: capId })
561
- .then(({ object }) => isAddressOwner(object?.owner, address))
562
- .catch(() => false);
541
+ export const ownsParty = Effect.fn("ownsParty")(function* (address, partyId, config) {
542
+ const capId = derivePartyAdminCapId(partyId, config.partyos.partyos);
543
+ const client = yield* SuiClient;
544
+ const isOwner = yield* Effect.tryPromise({
545
+ try: (signal) => client.core.getObject({ objectId: capId, signal }),
546
+ catch: (cause) => cause,
547
+ }).pipe(Effect.map(({ object }) => isAddressOwner(object?.owner, address)), Effect.catch(() => Effect.succeed(false)));
563
548
  return { address: normalizeSuiAddress(address), objectId: partyId, isOwner, capId };
564
- }
549
+ });
565
550
  /**
566
551
  * Whether `address` owns a record. Records are address-owned objects, so this is
567
552
  * one `getObject` and an owner compare. Presentation gating only — it decides
568
553
  * whether the Snapshots tab appears, and a non-owner has no snapshot content to
569
554
  * fetch regardless.
570
555
  */
571
- export async function ownsRecord(client, address, recordId) {
572
- const isOwner = await client.protocol.core
573
- .getObject({ objectId: recordId })
574
- .then(({ object }) => isAddressOwner(object?.owner, address))
575
- .catch(() => false);
556
+ export const ownsRecord = Effect.fn("ownsRecord")(function* (address, recordId) {
557
+ const client = yield* SuiClient;
558
+ const isOwner = yield* Effect.tryPromise({
559
+ try: (signal) => client.core.getObject({ objectId: recordId, signal }),
560
+ catch: (cause) => cause,
561
+ }).pipe(Effect.map(({ object }) => isAddressOwner(object?.owner, address)), Effect.catch(() => Effect.succeed(false)));
576
562
  return { address: normalizeSuiAddress(address), objectId: recordId, isOwner };
577
- }
563
+ });
578
564
  //# sourceMappingURL=wallet.js.map