@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
@@ -10,11 +10,12 @@
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 { Effect, Option } from "effect";
14
- import { contracts as networkContracts, getCompositionByShareType, getOwnedReleaseAdminCaps, getRecordingByShareType, getReleaseById, } from "@misofm/musicos";
13
+ import { Effect, Option, Result, Stream } from "effect";
14
+ import { contracts as networkContracts, getCompositionByShareType, getRecordingByShareType, Musicos, } from "@misofm/musicos";
15
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";
16
+ import { derivePartyAdminCapId, Partyos } from "@misofm/partyos";
17
+ import { CoinType, DecodeError, ObjectId, Sui, SuiAddress, SuiGraphQL, StructTag, } from "@unconfirmed/sui-effect";
18
+ import { OperationsUnavailableError } from "../errors.js";
18
19
  import { int, u64 } from "./internal/scalars.js";
19
20
  import * as vaultContract from "../contracts/vault/vault.js";
20
21
  import * as recordContract from "../contracts/record/record.js";
@@ -26,7 +27,25 @@ import { getRecordingTitles, getWorkAddressesByShareTypes, getWorksByIds } from
26
27
  * set can't spin forever. 50/page × 20 = 1000 objects — far beyond any realistic
27
28
  * library.
28
29
  */
29
- const MAX_PAGES = 20;
30
+ const MAX_OWNED_OBJECTS = 1000;
31
+ /**
32
+ * Builds `Musicos.layer({ deployment: { packageId } })` / `Partyos.layer({
33
+ * deployment })`, provides it, and hands back the effect it wraps — see
34
+ * `../catalog.ts`'s `withMusicos` for the same idiom (kept file-local; see
35
+ * `docs/CONVERSION-STATUS.md`).
36
+ */
37
+ function withMusicos(packageId, effect) {
38
+ return Effect.gen(function* () {
39
+ const musicos = yield* Musicos;
40
+ return yield* effect(musicos);
41
+ }).pipe(Effect.provide(Musicos.layer({ deployment: { packageId } })));
42
+ }
43
+ function withPartyos(partyosPackageId, effect) {
44
+ return Effect.gen(function* () {
45
+ const partyos = yield* Partyos;
46
+ return yield* effect(partyos);
47
+ }).pipe(Effect.provide(Partyos.layer({ deployment: { partyos: partyosPackageId } })));
48
+ }
30
49
  function classifyWorkAdminCapType(type, misoPackageId) {
31
50
  let tag;
32
51
  try {
@@ -104,21 +123,6 @@ function isCanonicalRecordType(type, recordPackageId) {
104
123
  }
105
124
  return true;
106
125
  }
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
- });
122
126
  /**
123
127
  * The records `owner` holds. Ownership is DIRECT — a record is an address-owned
124
128
  * `<record>::record::Record` with no pressing/license/receipt intermediary.
@@ -126,44 +130,35 @@ const listOwnedObjectsPage = Effect.fn("listOwnedObjectsPage")(function* (owner,
126
130
  * from any retired package namespace.
127
131
  */
128
132
  export const getOwnedRecords = Effect.fn("getOwnedRecords")(function* (owner, config) {
129
- const out = [];
130
- let cursor = null;
133
+ const sui = yield* Sui;
131
134
  const sales = requireRecordSalesDeployment(config.recordSales);
132
- const recordType = `${sales.recordPackageId}::record::Record`;
133
- for (let page = 0; page < MAX_PAGES; page++) {
134
- const res = (yield* listOwnedObjectsPage(owner, recordType, cursor, true));
135
- for (const obj of res.objects) {
136
- if (!isCanonicalRecordType(obj.type, sales.recordPackageId)) {
137
- continue;
138
- }
139
- if (!obj.content)
140
- throw new Error(`Record ${obj.objectId} has no BCS content`);
141
- const record = recordContract.Record.parse(obj.content);
142
- if (normalizeSuiAddress(record.id) !== normalizeSuiAddress(obj.objectId)) {
143
- throw new Error(`Record ${obj.objectId} has mismatched embedded UID ${record.id}`);
144
- }
145
- const derived = deriveRecordId(record.pressing_id, record.number, sales.recordPackageId);
146
- if (normalizeSuiAddress(derived) !== normalizeSuiAddress(obj.objectId)) {
147
- throw new Error(`Record ${obj.objectId} is not derived from its Pressing and number`);
148
- }
149
- out.push({
150
- id: obj.objectId,
151
- type: obj.type,
152
- releaseId: record.release_id,
153
- pressingId: record.pressing_id,
154
- edition: record.edition,
155
- number: record.number,
156
- purchaseCurrency: normalizeStructTag(record.purchase_currency.name),
157
- purchasePrice: record.purchase_price,
158
- purchasedBy: record.purchased_by,
159
- purchasedTimestampMs: record.purchased_timestamp_ms,
160
- });
135
+ const recordType = StructTag.make(`${sales.recordPackageId}::record::Record`);
136
+ const objects = yield* Stream.runCollect(sui.streamOwnedObjects(SuiAddress.make(normalizeSuiAddress(owner)), { type: recordType }).pipe(Stream.take(MAX_OWNED_OBJECTS)));
137
+ const out = [];
138
+ for (const obj of objects) {
139
+ if (!isCanonicalRecordType(obj.type, sales.recordPackageId)) {
140
+ continue;
141
+ }
142
+ const record = recordContract.Record.parse(obj.content);
143
+ if (normalizeSuiAddress(record.id) !== normalizeSuiAddress(obj.id)) {
144
+ throw new Error(`Record ${obj.id} has mismatched embedded UID ${record.id}`);
161
145
  }
162
- if (!res.hasNextPage)
163
- break;
164
- cursor = res.cursor;
165
- if (!cursor)
166
- break;
146
+ const derived = deriveRecordId(record.pressing_id, record.number, sales.recordPackageId);
147
+ if (normalizeSuiAddress(derived) !== normalizeSuiAddress(obj.id)) {
148
+ throw new Error(`Record ${obj.id} is not derived from its Pressing and number`);
149
+ }
150
+ out.push({
151
+ id: obj.id,
152
+ type: obj.type,
153
+ releaseId: record.release_id,
154
+ pressingId: record.pressing_id,
155
+ edition: record.edition,
156
+ number: record.number,
157
+ purchaseCurrency: normalizeStructTag(record.purchase_currency.name),
158
+ purchasePrice: record.purchase_price,
159
+ purchasedBy: record.purchased_by,
160
+ purchasedTimestampMs: record.purchased_timestamp_ms,
161
+ });
167
162
  }
168
163
  return out;
169
164
  });
@@ -175,14 +170,15 @@ export const getOwnedRecords = Effect.fn("getOwnedRecords")(function* (owner, co
175
170
  * authoritative in a way that remembering created parties client-side is not.
176
171
  */
177
172
  export const getOwnedParties = Effect.fn("getOwnedParties")(function* (owner, config) {
178
- const capType = `${config.partyos.partyos}::party::PartyAdminCap`;
173
+ const sui = yield* Sui;
174
+ const capType = StructTag.make(`${config.partyos.partyos}::party::PartyAdminCap`);
179
175
  // One page of 50 caps is plenty for launch-scale artists; paginate if labels
180
176
  // ever start hitting the cap.
181
- const { objects } = yield* listOwnedObjectsPage(owner, capType, null, true);
177
+ const objects = yield* Stream.runCollect(sui.streamOwnedObjects(SuiAddress.make(normalizeSuiAddress(owner)), { type: capType }).pipe(Stream.take(50)));
182
178
  const caps = objects.flatMap((obj) => {
183
179
  try {
184
180
  const cap = partyContracts.PartyAdminCap.parse(obj.content);
185
- return [{ capId: obj.objectId, partyId: cap.party_id }];
181
+ return [{ capId: obj.id, partyId: cap.party_id }];
186
182
  }
187
183
  catch {
188
184
  return [];
@@ -190,9 +186,10 @@ export const getOwnedParties = Effect.fn("getOwnedParties")(function* (owner, co
190
186
  });
191
187
  if (caps.length === 0)
192
188
  return [];
193
- const parties = yield* getPartiesByIds(caps.map((c) => c.partyId), config.partyos.partyos);
189
+ const results = yield* withPartyos(config.partyos.partyos, (partyos) => partyos.getPartiesByIds(caps.map((c) => ObjectId.make(c.partyId))));
190
+ const parties = new Map(results.flatMap((result, index) => (Result.isSuccess(result) ? [[caps[index].partyId, result.success]] : [])));
194
191
  return caps.flatMap(({ capId, partyId }) => {
195
- const p = parties[partyId];
192
+ const p = parties.get(partyId);
196
193
  return p ? [{ partyId, capId, name: p.name, kind: p.kind }] : [];
197
194
  });
198
195
  });
@@ -209,13 +206,14 @@ export const getPendingMemberships = Effect.fn("getPendingMemberships")(function
209
206
  const individuals = controlled.filter((party) => party.kind === "individual");
210
207
  if (individuals.length === 0)
211
208
  return [];
212
- const invitations = yield* Effect.forEach(individuals, (member) => getPartyPendingMemberships(member.partyId).pipe(Effect.map((groupIds) => ({ member, groupIds }))), { concurrency: "unbounded" });
209
+ const invitations = yield* withPartyos(config.partyos.partyos, (partyos) => Effect.forEach(individuals, (member) => partyos.getPendingMemberships(ObjectId.make(member.partyId)).pipe(Effect.map((groupIds) => ({ member, groupIds }))), { concurrency: "unbounded" }));
213
210
  const groupIds = [...new Set(invitations.flatMap(({ groupIds }) => groupIds))];
214
211
  if (groupIds.length === 0)
215
212
  return [];
216
- const groups = yield* getPartiesByIds(groupIds, config.partyos.partyos);
217
- return invitations.flatMap(({ member, groupIds }) => groupIds.flatMap((groupId) => {
218
- const group = groups[groupId];
213
+ const groupResults = yield* withPartyos(config.partyos.partyos, (partyos) => partyos.getPartiesByIds(groupIds));
214
+ const groups = new Map(groupResults.flatMap((result, index) => (Result.isSuccess(result) ? [[groupIds[index], result.success]] : [])));
215
+ return invitations.flatMap(({ member, groupIds: memberGroupIds }) => memberGroupIds.flatMap((groupId) => {
216
+ const group = groups.get(groupId);
219
217
  return group?.kind === "group"
220
218
  ? [{ memberPartyId: member.partyId, memberCapId: member.capId, groupId, groupName: group.name }]
221
219
  : [];
@@ -223,26 +221,19 @@ export const getPendingMemberships = Effect.fn("getPendingMemberships")(function
223
221
  });
224
222
  // ── Works (studio catalog) ───────────────────────────────────────────────────
225
223
  /**
226
- * Owned generic admin caps over gRPC. The bare type filter matches every
227
- * instantiation of `CompositionAdminCap<T>` / `RecordingAdminCap<T>`; the share
228
- * type `T` is parsed back out of each instance's type tag, because the cap does
229
- * not store the work's id — only its share type.
224
+ * Owned generic admin caps. The bare type filter matches every instantiation of
225
+ * `CompositionAdminCap<T>` / `RecordingAdminCap<T>`; the share type `T` is
226
+ * parsed back out of each instance's type tag, because the cap does not store
227
+ * the work's id — only its share type.
230
228
  */
231
229
  const ownedGenericCaps = Effect.fn("ownedGenericCaps")(function* (owner, capType) {
230
+ const sui = yield* Sui;
231
+ const objects = yield* Stream.runCollect(sui.streamOwnedObjects(SuiAddress.make(normalizeSuiAddress(owner)), { type: StructTag.make(capType) }).pipe(Stream.take(MAX_OWNED_OBJECTS)));
232
232
  const caps = [];
233
- let cursor = null;
234
- for (let page = 0; page < MAX_PAGES; page++) {
235
- const res = (yield* listOwnedObjectsPage(owner, capType, cursor, false));
236
- for (const obj of res.objects) {
237
- const match = /<(.+)>$/.exec(obj.type);
238
- if (match?.[1])
239
- caps.push({ id: obj.objectId, shareType: match[1] });
240
- }
241
- if (!res.hasNextPage)
242
- break;
243
- cursor = res.cursor;
244
- if (!cursor)
245
- break;
233
+ for (const obj of objects) {
234
+ const match = /<(.+)>$/.exec(obj.type);
235
+ if (match?.[1])
236
+ caps.push({ id: obj.id, shareType: match[1] });
246
237
  }
247
238
  return caps;
248
239
  });
@@ -252,41 +243,40 @@ const ownedGenericCaps = Effect.fn("ownedGenericCaps")(function* (owner, capType
252
243
  * surface (composition / recording / release), not a sale-management surface.
253
244
  */
254
245
  const ownedVaultedWorkCaps = Effect.fn("ownedVaultedWorkCaps")(function* (owner, config) {
246
+ // No current-or-legacy Vault package id: this deployment has no vaulted
247
+ // works to enumerate at all, so the caller (`getOwnedWorks`) fails typed
248
+ // rather than silently reporting only the direct caps (B1, misofm/sdks#35
249
+ // verification — `MisoConfig` itself always constructs; this is the one
250
+ // member that actually needs the missing field).
251
+ if (config.protocol.vault === null) {
252
+ return yield* new OperationsUnavailableError({ reason: "no current or legacy Vault package id is configured for this deployment" });
253
+ }
255
254
  const out = { compositions: [], recordings: [], releases: [] };
256
255
  const vaultPackageId = config.protocol.vault;
257
256
  const misoPackageId = config.deployment.musicos;
258
- const capType = `${vaultPackageId}::vault::VaultAdminCap`;
259
- let cursor = null;
260
- for (let page = 0; page < MAX_PAGES; page++) {
261
- const res = (yield* listOwnedObjectsPage(owner, capType, cursor, true));
262
- for (const object of res.objects) {
263
- if (!object.content)
264
- continue;
265
- const work = classifyVaultedWorkAdminCapType(object.type, vaultPackageId, misoPackageId);
266
- if (!work)
267
- continue;
268
- try {
269
- const { vault_id: vaultId } = vaultContract.VaultAdminCap.parse(object.content);
270
- if (work.kind === "composition") {
271
- out.compositions.push({ id: object.objectId, shareType: work.shareType, vaultId });
272
- }
273
- else if (work.kind === "recording") {
274
- out.recordings.push({ id: object.objectId, shareType: work.shareType, vaultId });
275
- }
276
- else {
277
- out.releases.push({ id: object.objectId, vaultId });
278
- }
257
+ const capType = StructTag.make(`${vaultPackageId}::vault::VaultAdminCap`);
258
+ const sui = yield* Sui;
259
+ const objects = yield* Stream.runCollect(sui.streamOwnedObjects(SuiAddress.make(normalizeSuiAddress(owner)), { type: capType }).pipe(Stream.take(MAX_OWNED_OBJECTS)));
260
+ for (const object of objects) {
261
+ const work = classifyVaultedWorkAdminCapType(object.type, vaultPackageId, misoPackageId);
262
+ if (!work)
263
+ continue;
264
+ try {
265
+ const { vault_id: vaultId } = vaultContract.VaultAdminCap.parse(object.content);
266
+ if (work.kind === "composition") {
267
+ out.compositions.push({ id: object.id, shareType: work.shareType, vaultId });
279
268
  }
280
- catch {
281
- // A malformed object under the configured vault namespace is not usable
282
- // authority and should not hide otherwise valid catalog entries.
269
+ else if (work.kind === "recording") {
270
+ out.recordings.push({ id: object.id, shareType: work.shareType, vaultId });
283
271
  }
272
+ else {
273
+ out.releases.push({ id: object.id, vaultId });
274
+ }
275
+ }
276
+ catch {
277
+ // A malformed object under the configured vault namespace is not usable
278
+ // authority and should not hide otherwise valid catalog entries.
284
279
  }
285
- if (!res.hasNextPage)
286
- break;
287
- cursor = res.cursor;
288
- if (!cursor)
289
- break;
290
280
  }
291
281
  return out;
292
282
  });
@@ -294,24 +284,35 @@ const ownedVaultedWorkCaps = Effect.fn("ownedVaultedWorkCaps")(function* (owner,
294
284
  const resolveVaultedReleaseCaps = Effect.fn("resolveVaultedReleaseCaps")(function* (caps, config) {
295
285
  if (caps.length === 0)
296
286
  return [];
287
+ // Every caller only reaches here with a non-empty `caps` after already
288
+ // establishing `config.protocol.vault` is configured (`ownedVaultedWorkCaps`,
289
+ // `getWorkByCap`'s own guard below) — this is a defensive typed failure,
290
+ // not an expected path, so an interpolated `null` can never reach `vaultType`.
291
+ if (config.protocol.vault === null) {
292
+ return yield* new OperationsUnavailableError({ reason: "no current or legacy Vault package id is configured for this deployment" });
293
+ }
297
294
  const releaseCapType = `${config.deployment.musicos}::release::ReleaseAdminCap`;
298
295
  const vaultType = normalizeStructTag(`${config.protocol.vault}::vault::Vault<${releaseCapType}>`);
299
- const contentById = yield* getObjectsContent(caps.map((cap) => cap.vaultId));
296
+ const sui = yield* Sui;
297
+ const results = yield* sui.getObjects(caps.map((cap) => ObjectId.make(cap.vaultId)));
300
298
  const releasesByVault = new Map();
301
- for (const [objectId, object] of contentById) {
299
+ results.forEach((result, index) => {
300
+ if (!Result.isSuccess(result))
301
+ return;
302
+ const object = result.success;
302
303
  try {
303
304
  if (normalizeStructTag(object.type) !== vaultType)
304
- continue;
305
+ return;
305
306
  const vault = vaultContract.Vault(networkContracts.release.ReleaseAdminCap).parse(object.content);
306
307
  const releaseId = vault.cap?.value?.release_id;
307
308
  if (releaseId)
308
- releasesByVault.set(objectId, releaseId);
309
+ releasesByVault.set(caps[index].vaultId, releaseId);
309
310
  }
310
311
  catch {
311
312
  // Batch catalog discovery is best-effort per authority, matching the
312
313
  // existing direct-cap path's treatment of unreadable work objects.
313
314
  }
314
- }
315
+ });
315
316
  return caps.flatMap((cap) => {
316
317
  const releaseId = releasesByVault.get(cap.vaultId);
317
318
  return releaseId ? [{ id: cap.id, releaseId }] : [];
@@ -321,9 +322,9 @@ const resolveVaultedReleaseCaps = Effect.fn("resolveVaultedReleaseCaps")(functio
321
322
  * Every work the wallet administers, keyed by its ADMIN CAP id (the studio
322
323
  * catalog's routing unit — caps are what control means here).
323
324
  *
324
- * Three transports, one answer: direct or vaulted cap discovery is gRPC; one aliased GraphQL
325
- * request maps every share type to its work address (gRPC cannot ask "which
326
- * object has type X"); one gRPC batch loads all the work contents. Releases skip
325
+ * Three transports, one answer: direct or vaulted cap discovery is Core; one aliased GraphQL
326
+ * request maps every share type to its work address (Core cannot ask "which
327
+ * object has type X"); one Core batch loads all the work contents. Releases skip
327
328
  * the GraphQL hop entirely — `ReleaseAdminCap` is not generic and carries
328
329
  * `release_id` directly.
329
330
  */
@@ -332,13 +333,13 @@ export const getOwnedWorks = Effect.fn("getOwnedWorks")(function* (owner, config
332
333
  const [directCompCaps, directRecCaps, directRelCaps, vaulted] = yield* Effect.all([
333
334
  ownedGenericCaps(owner, `${miso}::composition::CompositionAdminCap`),
334
335
  ownedGenericCaps(owner, `${miso}::recording::RecordingAdminCap`),
335
- getOwnedReleaseAdminCaps(owner, miso),
336
+ withMusicos(miso, (musicos) => musicos.getOwnedReleaseAdminCaps(SuiAddress.make(normalizeSuiAddress(owner)))),
336
337
  ownedVaultedWorkCaps(owner, config),
337
338
  ]);
338
339
  const vaultedRelCaps = yield* resolveVaultedReleaseCaps(vaulted.releases, config);
339
340
  const compCaps = [...directCompCaps, ...vaulted.compositions];
340
341
  const recCaps = [...directRecCaps, ...vaulted.recordings];
341
- const relCaps = [...directRelCaps, ...vaultedRelCaps];
342
+ const relCaps = [...directRelCaps.map((cap) => ({ id: String(cap.id), releaseId: String(cap.id) })), ...vaultedRelCaps];
342
343
  const addresses = yield* getWorkAddressesByShareTypes({ compositions: compCaps.map((c) => c.shareType), recordings: recCaps.map((c) => c.shareType) }, miso);
343
344
  const works = yield* getWorksByIds({
344
345
  compositions: Object.values(addresses.compositions).filter((id) => id !== undefined),
@@ -377,7 +378,8 @@ export const getOwnedWorks = Effect.fn("getOwnedWorks")(function* (owner, config
377
378
  /** Classify a direct or vaulted cap by its on-chain type, then resolve its work. */
378
379
  export const getWorkByCap = Effect.fn("getWorkByCap")(function* (capId, config) {
379
380
  const miso = config.deployment.musicos;
380
- const found = yield* getOptionalObjectContent(capId);
381
+ const sui = yield* Sui;
382
+ const found = yield* sui.getObjectOption(ObjectId.make(normalizeSuiAddress(capId)));
381
383
  if (Option.isNone(found))
382
384
  return null;
383
385
  const { content, type } = found.value;
@@ -411,7 +413,7 @@ export const getWorkByCap = Effect.fn("getWorkByCap")(function* (capId, config)
411
413
  if (direct?.kind === "release") {
412
414
  // `ReleaseAdminCap`'s BCS carries `release_id` directly — no `json` include needed.
413
415
  const { release_id: releaseId } = networkContracts.release.ReleaseAdminCap.parse(content);
414
- const r = yield* getReleaseById(releaseId);
416
+ const r = yield* withMusicos(miso, (musicos) => musicos.getReleaseById(ObjectId.make(releaseId)));
415
417
  return {
416
418
  capId,
417
419
  kind: "release",
@@ -422,6 +424,13 @@ export const getWorkByCap = Effect.fn("getWorkByCap")(function* (capId, config)
422
424
  trackCount: r.tracks.length,
423
425
  };
424
426
  }
427
+ // Every direct classification above already fell through: this cap can
428
+ // only be a legitimate work authority if it is a vaulted one, which
429
+ // requires the deployment's Vault package id (B1, misofm/sdks#35
430
+ // verification) — fail typed rather than misreport "no such work".
431
+ if (config.protocol.vault === null) {
432
+ return yield* new OperationsUnavailableError({ reason: "no current or legacy Vault package id is configured for this deployment" });
433
+ }
425
434
  const vaulted = classifyVaultedWorkAdminCapType(type, config.protocol.vault, miso);
426
435
  if (!vaulted) {
427
436
  // A real object, but not a supported work authority — "no such work",
@@ -456,7 +465,7 @@ export const getWorkByCap = Effect.fn("getWorkByCap")(function* (capId, config)
456
465
  const [releaseCap] = yield* resolveVaultedReleaseCaps([{ id: capId, vaultId }], config);
457
466
  if (!releaseCap)
458
467
  throw new Error(`Release vault ${vaultId} carries no release admin cap`);
459
- const r = yield* getReleaseById(releaseCap.releaseId);
468
+ const r = yield* withMusicos(miso, (musicos) => musicos.getReleaseById(ObjectId.make(releaseCap.releaseId)));
460
469
  return {
461
470
  capId,
462
471
  kind: "release",
@@ -468,59 +477,37 @@ export const getWorkByCap = Effect.fn("getWorkByCap")(function* (capId, config)
468
477
  };
469
478
  });
470
479
  // ── Balance ──────────────────────────────────────────────────────────────────
471
- const decimalsByClient = new WeakMap();
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) {
477
- let cache = decimalsByClient.get(client);
478
- if (!cache) {
479
- cache = new Map();
480
- decimalsByClient.set(client, cache);
481
- }
482
- const key = normalizeStructTag(coinType);
483
- const cached = cache.get(key);
484
- if (cached)
485
- return cached;
486
- const pending = client.core.getCoinMetadata({ coinType: key }).then(({ coinMetadata }) => {
487
- const decimals = coinMetadata?.decimals;
488
- if (!Number.isSafeInteger(decimals) || decimals < 0 || decimals > 18) {
489
- throw new Error(`Coin metadata for ${key} has no supported decimal precision`);
490
- }
491
- return decimals;
492
- });
493
- cache.set(key, pending);
494
- pending.catch(() => {
495
- if (cache.get(key) === pending)
496
- cache.delete(key);
497
- });
498
- return pending;
499
- }
500
480
  /**
501
481
  * A wallet's balance in one currency. Keep the aggregate and both Sui storage
502
482
  * classes: callers using a `FundsWithdrawal` must never mistake coin-object
503
483
  * value for immediately withdrawable address balance.
484
+ *
485
+ * TODO(stage 2/3): the predecessor cached `getCoinMetadata` per (transport
486
+ * client, coin type) in a module-level `WeakMap`. This standalone function has
487
+ * no layer to hold an `Effect.cachedWithTTL`-backed cache in (the issue's own
488
+ * target design for this); dropped rather than reintroducing a module-level
489
+ * cache keyed on a raw client object, which `Sui`'s per-call service instance
490
+ * makes awkward to key by. Revisit once this becomes a `Miso.read.getBalance`
491
+ * service member with a layer to hold the cache.
504
492
  */
505
493
  export const getBalance = Effect.fn("getBalance")(function* (address, config, coinType) {
506
- const client = yield* SuiClient;
494
+ const sui = yield* Sui;
507
495
  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
- }),
496
+ const [balance, metadata] = yield* Effect.all([
497
+ sui.getBalance(SuiAddress.make(normalizeSuiAddress(address)), CoinType.make(normalizeStructTag(type))),
498
+ sui.core.getCoinMetadata({ coinType: normalizeStructTag(type) }),
517
499
  ]);
500
+ const rawDecimals = metadata.coinMetadata?.decimals;
501
+ if (!Number.isSafeInteger(rawDecimals) || rawDecimals < 0 || rawDecimals > 18) {
502
+ return yield* new DecodeError({ expectedType: type, issue: `coin metadata for ${type} has no supported decimal precision` });
503
+ }
504
+ const decimals = rawDecimals;
518
505
  return {
519
506
  address: normalizeSuiAddress(address),
520
507
  coinType: type,
521
- balance: u64(res.balance.balance),
522
- coinBalance: u64(res.balance.coinBalance),
523
- addressBalance: u64(res.balance.addressBalance),
508
+ balance: u64(balance.balance),
509
+ coinBalance: u64(balance.coinBalance),
510
+ addressBalance: u64(balance.addressBalance),
524
511
  decimals,
525
512
  };
526
513
  });
@@ -540,12 +527,9 @@ function isAddressOwner(owner, address) {
540
527
  */
541
528
  export const ownsParty = Effect.fn("ownsParty")(function* (address, partyId, config) {
542
529
  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)));
548
- return { address: normalizeSuiAddress(address), objectId: partyId, isOwner, capId };
530
+ const sui = yield* Sui;
531
+ const isOwner = yield* sui.getObject(ObjectId.make(capId)).pipe(Effect.map((object) => isAddressOwner(object.owner, address)), Effect.catch(() => Effect.succeed(false)));
532
+ return { address: normalizeSuiAddress(address), objectId: partyId, isOwner, capId: String(capId) };
549
533
  });
550
534
  /**
551
535
  * Whether `address` owns a record. Records are address-owned objects, so this is
@@ -554,11 +538,8 @@ export const ownsParty = Effect.fn("ownsParty")(function* (address, partyId, con
554
538
  * fetch regardless.
555
539
  */
556
540
  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)));
541
+ const sui = yield* Sui;
542
+ const isOwner = yield* sui.getObject(ObjectId.make(normalizeSuiAddress(recordId))).pipe(Effect.map((object) => isAddressOwner(object.owner, address)), Effect.catch(() => Effect.succeed(false)));
562
543
  return { address: normalizeSuiAddress(address), objectId: recordId, isOwner };
563
544
  });
564
545
  //# sourceMappingURL=wallet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/read/wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../src/read/wallet.ts"],"names":[],"mappings":"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"}