@misofm/platform 0.25.0 → 0.26.1

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 (140) hide show
  1. package/README.md +144 -45
  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 +5 -5
  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 +17 -30
  11. package/dist/client.d.ts.map +1 -1
  12. package/dist/client.js +53 -75
  13. package/dist/client.js.map +1 -1
  14. package/dist/cover.d.ts +4 -3
  15. package/dist/cover.d.ts.map +1 -1
  16. package/dist/cover.js +28 -17
  17. package/dist/cover.js.map +1 -1
  18. package/dist/credits.d.ts +12 -10
  19. package/dist/credits.d.ts.map +1 -1
  20. package/dist/credits.js +60 -33
  21. package/dist/credits.js.map +1 -1
  22. package/dist/deployments.d.ts +21 -13
  23. package/dist/deployments.d.ts.map +1 -1
  24. package/dist/deployments.js +84 -37
  25. package/dist/deployments.js.map +1 -1
  26. package/dist/errors.d.ts +91 -0
  27. package/dist/errors.d.ts.map +1 -0
  28. package/dist/errors.js +111 -0
  29. package/dist/errors.js.map +1 -0
  30. package/dist/execute.d.ts +3 -1
  31. package/dist/execute.d.ts.map +1 -1
  32. package/dist/execute.js +9 -4
  33. package/dist/execute.js.map +1 -1
  34. package/dist/genre.d.ts +25 -41
  35. package/dist/genre.d.ts.map +1 -1
  36. package/dist/genre.js +71 -20
  37. package/dist/genre.js.map +1 -1
  38. package/dist/party/client.d.ts +16 -13
  39. package/dist/party/client.d.ts.map +1 -1
  40. package/dist/party/client.js +33 -22
  41. package/dist/party/client.js.map +1 -1
  42. package/dist/party/extensions/links.d.ts +2 -1
  43. package/dist/party/extensions/links.d.ts.map +1 -1
  44. package/dist/party/extensions/links.js +2 -1
  45. package/dist/party/extensions/links.js.map +1 -1
  46. package/dist/party/queries.d.ts +12 -11
  47. package/dist/party/queries.d.ts.map +1 -1
  48. package/dist/party/queries.js +63 -57
  49. package/dist/party/queries.js.map +1 -1
  50. package/dist/party/types.d.ts +31 -20
  51. package/dist/party/types.d.ts.map +1 -1
  52. package/dist/party/types.js +82 -1
  53. package/dist/party/types.js.map +1 -1
  54. package/dist/pressing.d.ts +55 -35
  55. package/dist/pressing.d.ts.map +1 -1
  56. package/dist/pressing.js +99 -76
  57. package/dist/pressing.js.map +1 -1
  58. package/dist/queries.d.ts +1 -1
  59. package/dist/queries.d.ts.map +1 -1
  60. package/dist/queries.js +5 -4
  61. package/dist/queries.js.map +1 -1
  62. package/dist/read/artist.d.ts +6 -4
  63. package/dist/read/artist.d.ts.map +1 -1
  64. package/dist/read/artist.js +29 -27
  65. package/dist/read/artist.js.map +1 -1
  66. package/dist/read/catalog.d.ts +20 -17
  67. package/dist/read/catalog.d.ts.map +1 -1
  68. package/dist/read/catalog.js +120 -141
  69. package/dist/read/catalog.js.map +1 -1
  70. package/dist/read/client.d.ts +10 -9
  71. package/dist/read/client.d.ts.map +1 -1
  72. package/dist/read/client.js.map +1 -1
  73. package/dist/read/genres.d.ts +5 -3
  74. package/dist/read/genres.d.ts.map +1 -1
  75. package/dist/read/genres.js +18 -15
  76. package/dist/read/genres.js.map +1 -1
  77. package/dist/read/index.d.ts.map +1 -1
  78. package/dist/read/index.js +7 -1
  79. package/dist/read/index.js.map +1 -1
  80. package/dist/read/receipts.d.ts +15 -6
  81. package/dist/read/receipts.d.ts.map +1 -1
  82. package/dist/read/receipts.js +73 -60
  83. package/dist/read/receipts.js.map +1 -1
  84. package/dist/read/wallet.d.ts +11 -9
  85. package/dist/read/wallet.d.ts.map +1 -1
  86. package/dist/read/wallet.js +117 -132
  87. package/dist/read/wallet.js.map +1 -1
  88. package/dist/read/works.d.ts +9 -16
  89. package/dist/read/works.d.ts.map +1 -1
  90. package/dist/read/works.js +48 -117
  91. package/dist/read/works.js.map +1 -1
  92. package/dist/recording-extensions.d.ts +8 -7
  93. package/dist/recording-extensions.d.ts.map +1 -1
  94. package/dist/recording-extensions.js +30 -63
  95. package/dist/recording-extensions.js.map +1 -1
  96. package/dist/release-extensions.d.ts +3 -2
  97. package/dist/release-extensions.d.ts.map +1 -1
  98. package/dist/release-extensions.js +9 -10
  99. package/dist/release-extensions.js.map +1 -1
  100. package/dist/royalty.d.ts +51 -51
  101. package/dist/royalty.d.ts.map +1 -1
  102. package/dist/royalty.js +93 -11
  103. package/dist/royalty.js.map +1 -1
  104. package/dist/share.d.ts +7 -6
  105. package/dist/share.d.ts.map +1 -1
  106. package/dist/share.js +37 -30
  107. package/dist/share.js.map +1 -1
  108. package/dist/vault.d.ts +20 -8
  109. package/dist/vault.d.ts.map +1 -1
  110. package/dist/vault.js +31 -15
  111. package/dist/vault.js.map +1 -1
  112. package/package.json +11 -4
  113. package/src/auth.ts +89 -70
  114. package/src/catalog.ts +33 -49
  115. package/src/client.ts +117 -97
  116. package/src/cover.ts +17 -26
  117. package/src/credits.ts +43 -75
  118. package/src/deployments.ts +103 -69
  119. package/src/errors.ts +156 -0
  120. package/src/execute.ts +10 -6
  121. package/src/genre.ts +38 -23
  122. package/src/party/client.ts +35 -23
  123. package/src/party/extensions/links.ts +3 -2
  124. package/src/party/queries.ts +77 -65
  125. package/src/party/types.ts +52 -48
  126. package/src/pressing.ts +158 -161
  127. package/src/queries.ts +5 -5
  128. package/src/read/artist.ts +47 -42
  129. package/src/read/catalog.ts +200 -223
  130. package/src/read/client.ts +12 -11
  131. package/src/read/genres.ts +24 -16
  132. package/src/read/index.ts +7 -1
  133. package/src/read/receipts.ts +128 -67
  134. package/src/read/wallet.ts +194 -162
  135. package/src/read/works.ts +75 -194
  136. package/src/recording-extensions.ts +38 -92
  137. package/src/release-extensions.ts +7 -12
  138. package/src/royalty.ts +117 -20
  139. package/src/share.ts +44 -29
  140. package/src/vault.ts +47 -24
@@ -10,8 +10,11 @@
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/musicos";
13
+ import { Effect, Option } from "effect";
14
+ import { contracts as networkContracts, getCompositionByShareType, getOwnedReleaseAdminCaps, getRecordingByShareType, getReleaseById, } from "@misofm/musicos";
14
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";
15
18
  import { int, u64 } from "./internal/scalars.js";
16
19
  import * as vaultContract from "../contracts/vault/vault.js";
17
20
  import * as recordContract from "../contracts/record/record.js";
@@ -101,27 +104,34 @@ function isCanonicalRecordType(type, recordPackageId) {
101
104
  }
102
105
  return true;
103
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
+ });
104
122
  /**
105
123
  * The records `owner` holds. Ownership is DIRECT — a record is an address-owned
106
124
  * `<record>::record::Record` with no pressing/license/receipt intermediary.
107
125
  * The server-side type filter and exact local check deliberately exclude records
108
126
  * from any retired package namespace.
109
127
  */
110
- export async function getOwnedRecords(client, owner) {
128
+ export const getOwnedRecords = Effect.fn("getOwnedRecords")(function* (owner, config) {
111
129
  const out = [];
112
130
  let cursor = null;
113
- const sales = requireRecordSalesDeployment(client.config.recordSales);
131
+ const sales = requireRecordSalesDeployment(config.recordSales);
114
132
  const recordType = `${sales.recordPackageId}::record::Record`;
115
133
  for (let page = 0; page < MAX_PAGES; page++) {
116
- // Annotated: `cursor` is both an input and assigned from the result, which
117
- // TypeScript reads as a circular initializer without an explicit type.
118
- const res = await client.protocol.core.listOwnedObjects({
119
- owner,
120
- type: recordType,
121
- cursor,
122
- limit: 50,
123
- include: { content: true },
124
- });
134
+ const res = (yield* listOwnedObjectsPage(owner, recordType, cursor, true));
125
135
  for (const obj of res.objects) {
126
136
  if (!isCanonicalRecordType(obj.type, sales.recordPackageId)) {
127
137
  continue;
@@ -156,7 +166,7 @@ export async function getOwnedRecords(client, owner) {
156
166
  break;
157
167
  }
158
168
  return out;
159
- }
169
+ });
160
170
  // ── Parties ──────────────────────────────────────────────────────────────────
161
171
  /**
162
172
  * The parties `owner` administers. A wallet "owns" a party iff it holds the
@@ -164,16 +174,11 @@ export async function getOwnedRecords(client, owner) {
164
174
  * cap type plus a name resolve. Caps are transferable, which is why this is
165
175
  * authoritative in a way that remembering created parties client-side is not.
166
176
  */
167
- export async function getOwnedParties(client, owner) {
168
- const capType = `${client.config.partyos.partyos}::party::PartyAdminCap`;
177
+ export const getOwnedParties = Effect.fn("getOwnedParties")(function* (owner, config) {
178
+ const capType = `${config.partyos.partyos}::party::PartyAdminCap`;
169
179
  // One page of 50 caps is plenty for launch-scale artists; paginate if labels
170
180
  // ever start hitting the cap.
171
- const { objects } = await client.protocol.core.listOwnedObjects({
172
- owner,
173
- type: capType,
174
- limit: 50,
175
- include: { content: true },
176
- });
181
+ const { objects } = yield* listOwnedObjectsPage(owner, capType, null, true);
177
182
  const caps = objects.flatMap((obj) => {
178
183
  try {
179
184
  const cap = partyContracts.PartyAdminCap.parse(obj.content);
@@ -185,12 +190,12 @@ export async function getOwnedParties(client, owner) {
185
190
  });
186
191
  if (caps.length === 0)
187
192
  return [];
188
- const parties = await client.party.getPartiesByIds(caps.map((c) => c.partyId));
193
+ const parties = yield* getPartiesByIds(caps.map((c) => c.partyId), config.partyos.partyos);
189
194
  return caps.flatMap(({ capId, partyId }) => {
190
195
  const p = parties[partyId];
191
196
  return p ? [{ partyId, capId, name: p.name, kind: p.kind }] : [];
192
197
  });
193
- }
198
+ });
194
199
  /**
195
200
  * Pending group invitations for every individual party the wallet administers.
196
201
  *
@@ -199,26 +204,23 @@ export async function getOwnedParties(client, owner) {
199
204
  * names are resolved in one batch so the API can render an inbox without extra
200
205
  * browser reads.
201
206
  */
202
- export async function getPendingMemberships(client, owner) {
203
- const controlled = await getOwnedParties(client, owner);
207
+ export const getPendingMemberships = Effect.fn("getPendingMemberships")(function* (owner, config) {
208
+ const controlled = yield* getOwnedParties(owner, config);
204
209
  const individuals = controlled.filter((party) => party.kind === "individual");
205
210
  if (individuals.length === 0)
206
211
  return [];
207
- const invitations = await Promise.all(individuals.map(async (member) => ({
208
- member,
209
- groupIds: await client.party.getPendingMemberships(member.partyId),
210
- })));
212
+ const invitations = yield* Effect.forEach(individuals, (member) => getPartyPendingMemberships(member.partyId).pipe(Effect.map((groupIds) => ({ member, groupIds }))), { concurrency: "unbounded" });
211
213
  const groupIds = [...new Set(invitations.flatMap(({ groupIds }) => groupIds))];
212
214
  if (groupIds.length === 0)
213
215
  return [];
214
- const groups = await client.party.getPartiesByIds(groupIds);
216
+ const groups = yield* getPartiesByIds(groupIds, config.partyos.partyos);
215
217
  return invitations.flatMap(({ member, groupIds }) => groupIds.flatMap((groupId) => {
216
218
  const group = groups[groupId];
217
219
  return group?.kind === "group"
218
220
  ? [{ memberPartyId: member.partyId, memberCapId: member.capId, groupId, groupName: group.name }]
219
221
  : [];
220
222
  }));
221
- }
223
+ });
222
224
  // ── Works (studio catalog) ───────────────────────────────────────────────────
223
225
  /**
224
226
  * Owned generic admin caps over gRPC. The bare type filter matches every
@@ -226,11 +228,11 @@ export async function getPendingMemberships(client, owner) {
226
228
  * type `T` is parsed back out of each instance's type tag, because the cap does
227
229
  * not store the work's id — only its share type.
228
230
  */
229
- async function ownedGenericCaps(client, owner, capType) {
231
+ const ownedGenericCaps = Effect.fn("ownedGenericCaps")(function* (owner, capType) {
230
232
  const caps = [];
231
233
  let cursor = null;
232
234
  for (let page = 0; page < MAX_PAGES; page++) {
233
- const res = await client.protocol.core.listOwnedObjects({ owner, type: capType, cursor, limit: 50 });
235
+ const res = (yield* listOwnedObjectsPage(owner, capType, cursor, false));
234
236
  for (const obj of res.objects) {
235
237
  const match = /<(.+)>$/.exec(obj.type);
236
238
  if (match?.[1])
@@ -243,26 +245,20 @@ async function ownedGenericCaps(client, owner, capType) {
243
245
  break;
244
246
  }
245
247
  return caps;
246
- }
248
+ });
247
249
  /**
248
250
  * Discover owner-held VaultAdminCaps whose wrapped capability administers a
249
251
  * catalog work. PressingAdminCap is deliberately ignored: Catalog is a work
250
252
  * surface (composition / recording / release), not a sale-management surface.
251
253
  */
252
- async function ownedVaultedWorkCaps(client, owner) {
254
+ const ownedVaultedWorkCaps = Effect.fn("ownedVaultedWorkCaps")(function* (owner, config) {
253
255
  const out = { compositions: [], recordings: [], releases: [] };
254
- const vaultPackageId = client.config.protocol.vault;
255
- const misoPackageId = client.config.deployment.musicos;
256
+ const vaultPackageId = config.protocol.vault;
257
+ const misoPackageId = config.deployment.musicos;
256
258
  const capType = `${vaultPackageId}::vault::VaultAdminCap`;
257
259
  let cursor = null;
258
260
  for (let page = 0; page < MAX_PAGES; page++) {
259
- const res = await client.protocol.core.listOwnedObjects({
260
- owner,
261
- type: capType,
262
- cursor,
263
- limit: 50,
264
- include: { content: true },
265
- });
261
+ const res = (yield* listOwnedObjectsPage(owner, capType, cursor, true));
266
262
  for (const object of res.objects) {
267
263
  if (!object.content)
268
264
  continue;
@@ -293,28 +289,23 @@ async function ownedVaultedWorkCaps(client, owner) {
293
289
  break;
294
290
  }
295
291
  return out;
296
- }
292
+ });
297
293
  /** Read the ReleaseAdminCap wrapped by each shared release vault. */
298
- async function resolveVaultedReleaseCaps(client, caps) {
294
+ const resolveVaultedReleaseCaps = Effect.fn("resolveVaultedReleaseCaps")(function* (caps, config) {
299
295
  if (caps.length === 0)
300
296
  return [];
301
- const releaseCapType = `${client.config.deployment.musicos}::release::ReleaseAdminCap`;
302
- const vaultType = normalizeStructTag(`${client.config.protocol.vault}::vault::Vault<${releaseCapType}>`);
303
- const { objects } = await client.protocol.core.getObjects({
304
- objectIds: caps.map((cap) => cap.vaultId),
305
- include: { content: true },
306
- });
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));
307
300
  const releasesByVault = new Map();
308
- for (const object of objects) {
309
- if (object instanceof Error || !object.content)
310
- continue;
301
+ for (const [objectId, object] of contentById) {
311
302
  try {
312
303
  if (normalizeStructTag(object.type) !== vaultType)
313
304
  continue;
314
305
  const vault = vaultContract.Vault(networkContracts.release.ReleaseAdminCap).parse(object.content);
315
306
  const releaseId = vault.cap?.value?.release_id;
316
307
  if (releaseId)
317
- releasesByVault.set(object.objectId, releaseId);
308
+ releasesByVault.set(objectId, releaseId);
318
309
  }
319
310
  catch {
320
311
  // Batch catalog discovery is best-effort per authority, matching the
@@ -325,7 +316,7 @@ async function resolveVaultedReleaseCaps(client, caps) {
325
316
  const releaseId = releasesByVault.get(cap.vaultId);
326
317
  return releaseId ? [{ id: cap.id, releaseId }] : [];
327
318
  });
328
- }
319
+ });
329
320
  /**
330
321
  * Every work the wallet administers, keyed by its ADMIN CAP id (the studio
331
322
  * catalog's routing unit — caps are what control means here).
@@ -336,25 +327,25 @@ async function resolveVaultedReleaseCaps(client, caps) {
336
327
  * the GraphQL hop entirely — `ReleaseAdminCap` is not generic and carries
337
328
  * `release_id` directly.
338
329
  */
339
- export async function getOwnedWorks(client, owner) {
340
- const miso = client.config.deployment.musicos;
341
- const [directCompCaps, directRecCaps, directRelCaps, vaulted] = await Promise.all([
342
- ownedGenericCaps(client, owner, `${miso}::composition::CompositionAdminCap`),
343
- ownedGenericCaps(client, owner, `${miso}::recording::RecordingAdminCap`),
344
- getOwnedReleaseAdminCaps(client.protocol, owner, miso),
345
- 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),
346
337
  ]);
347
- const vaultedRelCaps = await resolveVaultedReleaseCaps(client, vaulted.releases);
338
+ const vaultedRelCaps = yield* resolveVaultedReleaseCaps(vaulted.releases, config);
348
339
  const compCaps = [...directCompCaps, ...vaulted.compositions];
349
340
  const recCaps = [...directRecCaps, ...vaulted.recordings];
350
341
  const relCaps = [...directRelCaps, ...vaultedRelCaps];
351
- const addresses = await getWorkAddressesByShareTypes(client.graphql, { compositions: compCaps.map((c) => c.shareType), recordings: recCaps.map((c) => c.shareType) }, miso);
352
- 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({
353
344
  compositions: Object.values(addresses.compositions).filter((id) => id !== undefined),
354
345
  recordings: Object.values(addresses.recordings).filter((id) => id !== undefined),
355
346
  releases: relCaps.map((c) => c.releaseId),
356
347
  });
357
- 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);
358
349
  const comps = compCaps.flatMap((cap) => {
359
350
  const workId = addresses.compositions[cap.shareType];
360
351
  const composition = workId ? works.compositions[workId] : undefined;
@@ -382,31 +373,18 @@ export async function getOwnedWorks(client, owner) {
382
373
  return [{ capId: cap.id, kind: "release", workId: release.id, title: release.title, state: release.state.type }];
383
374
  });
384
375
  return [...comps, ...recs, ...rels];
385
- }
376
+ });
386
377
  /** Classify a direct or vaulted cap by its on-chain type, then resolve its work. */
387
- export async function getWorkByCap(client, capId) {
388
- const miso = client.config.deployment.musicos;
389
- let type;
390
- let json;
391
- let content;
392
- try {
393
- const { object } = await client.protocol.core.getObject({
394
- objectId: capId,
395
- include: { json: true, content: true },
396
- });
397
- type = object.type;
398
- json = (object.json ?? null);
399
- content = object.content;
400
- }
401
- catch (e) {
402
- if (isNotFound(e))
403
- return null;
404
- throw e;
405
- }
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;
406
384
  const direct = classifyWorkAdminCapType(type, miso);
407
385
  if (direct?.kind === "composition") {
408
386
  const { shareType } = direct;
409
- const c = await getCompositionByShareType(client.protocol, client.graphql, shareType, miso);
387
+ const c = yield* getCompositionByShareType(shareType, miso);
410
388
  return {
411
389
  capId,
412
390
  kind: "composition",
@@ -419,8 +397,8 @@ export async function getWorkByCap(client, capId) {
419
397
  }
420
398
  if (direct?.kind === "recording") {
421
399
  const { shareType } = direct;
422
- const r = await getRecordingByShareType(client.protocol, client.graphql, shareType, miso);
423
- 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);
424
402
  return {
425
403
  capId,
426
404
  kind: "recording",
@@ -431,10 +409,9 @@ export async function getWorkByCap(client, capId) {
431
409
  };
432
410
  }
433
411
  if (direct?.kind === "release") {
434
- const releaseId = typeof json?.release_id === "string" ? json.release_id : null;
435
- if (!releaseId)
436
- throw new Error(`Release cap ${capId} carries no release id`);
437
- 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);
438
415
  return {
439
416
  capId,
440
417
  kind: "release",
@@ -445,15 +422,15 @@ export async function getWorkByCap(client, capId) {
445
422
  trackCount: r.tracks.length,
446
423
  };
447
424
  }
448
- const vaulted = classifyVaultedWorkAdminCapType(type, client.config.protocol.vault, miso);
449
- if (!vaulted || !content) {
425
+ const vaulted = classifyVaultedWorkAdminCapType(type, config.protocol.vault, miso);
426
+ if (!vaulted) {
450
427
  // A real object, but not a supported work authority — "no such work",
451
428
  // not a transport failure. PressingAdminCap intentionally lands here.
452
429
  return null;
453
430
  }
454
431
  const { vault_id: vaultId } = vaultContract.VaultAdminCap.parse(content);
455
432
  if (vaulted.kind === "composition") {
456
- const c = await getCompositionByShareType(client.protocol, client.graphql, vaulted.shareType, miso);
433
+ const c = yield* getCompositionByShareType(vaulted.shareType, miso);
457
434
  return {
458
435
  capId,
459
436
  kind: "composition",
@@ -465,8 +442,8 @@ export async function getWorkByCap(client, capId) {
465
442
  };
466
443
  }
467
444
  if (vaulted.kind === "recording") {
468
- const r = await getRecordingByShareType(client.protocol, client.graphql, vaulted.shareType, miso);
469
- 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);
470
447
  return {
471
448
  capId,
472
449
  kind: "recording",
@@ -476,10 +453,10 @@ export async function getWorkByCap(client, capId) {
476
453
  shareType: vaulted.shareType,
477
454
  };
478
455
  }
479
- const [releaseCap] = await resolveVaultedReleaseCaps(client, [{ id: capId, vaultId }]);
456
+ const [releaseCap] = yield* resolveVaultedReleaseCaps([{ id: capId, vaultId }], config);
480
457
  if (!releaseCap)
481
458
  throw new Error(`Release vault ${vaultId} carries no release admin cap`);
482
- const r = await getReleaseById(client.protocol, releaseCap.releaseId);
459
+ const r = yield* getReleaseById(releaseCap.releaseId);
483
460
  return {
484
461
  capId,
485
462
  kind: "release",
@@ -489,12 +466,14 @@ export async function getWorkByCap(client, capId) {
489
466
  discCount: r.tracks.length > 0 ? 1 : 0,
490
467
  trackCount: r.tracks.length,
491
468
  };
492
- }
469
+ });
493
470
  // ── Balance ──────────────────────────────────────────────────────────────────
494
471
  const decimalsByClient = new WeakMap();
495
- /** Resolve once per client/type. Failed lookups are evicted so a transient
496
- * fullnode error cannot poison a long-lived API worker. */
497
- 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) {
498
477
  let cache = decimalsByClient.get(client);
499
478
  if (!cache) {
500
479
  cache = new Map();
@@ -504,7 +483,7 @@ async function coinDecimals(client, coinType) {
504
483
  const cached = cache.get(key);
505
484
  if (cached)
506
485
  return cached;
507
- const pending = client.protocol.core.getCoinMetadata({ coinType: key }).then(({ coinMetadata }) => {
486
+ const pending = client.core.getCoinMetadata({ coinType: key }).then(({ coinMetadata }) => {
508
487
  const decimals = coinMetadata?.decimals;
509
488
  if (!Number.isSafeInteger(decimals) || decimals < 0 || decimals > 18) {
510
489
  throw new Error(`Coin metadata for ${key} has no supported decimal precision`);
@@ -512,25 +491,29 @@ async function coinDecimals(client, coinType) {
512
491
  return decimals;
513
492
  });
514
493
  cache.set(key, pending);
515
- try {
516
- return await pending;
517
- }
518
- catch (error) {
494
+ pending.catch(() => {
519
495
  if (cache.get(key) === pending)
520
496
  cache.delete(key);
521
- throw error;
522
- }
497
+ });
498
+ return pending;
523
499
  }
524
500
  /**
525
501
  * A wallet's balance in one currency. Keep the aggregate and both Sui storage
526
502
  * classes: callers using a `FundsWithdrawal` must never mistake coin-object
527
503
  * value for immediately withdrawable address balance.
528
504
  */
529
- export async function getBalance(client, address, coinType) {
530
- const type = coinType ?? client.config.money.usdCoinType;
531
- const [res, decimals] = await Promise.all([
532
- client.protocol.core.getBalance({ owner: address, coinType: type }),
533
- 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
+ }),
534
517
  ]);
535
518
  return {
536
519
  address: normalizeSuiAddress(address),
@@ -540,7 +523,7 @@ export async function getBalance(client, address, coinType) {
540
523
  addressBalance: u64(res.balance.addressBalance),
541
524
  decimals,
542
525
  };
543
- }
526
+ });
544
527
  // ── Ownership ────────────────────────────────────────────────────────────────
545
528
  function isAddressOwner(owner, address) {
546
529
  const o = owner;
@@ -555,25 +538,27 @@ function isAddressOwner(owner, address) {
555
538
  * A failed read means "can't confirm", which resolves to `false` — the editor
556
539
  * stays hidden rather than being offered and then rejected on submit.
557
540
  */
558
- export async function ownsParty(client, address, partyId) {
559
- const capId = client.party.derivePartyAdminCapId(partyId);
560
- const isOwner = await client.protocol.core
561
- .getObject({ objectId: capId })
562
- .then(({ object }) => isAddressOwner(object?.owner, address))
563
- .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)));
564
548
  return { address: normalizeSuiAddress(address), objectId: partyId, isOwner, capId };
565
- }
549
+ });
566
550
  /**
567
551
  * Whether `address` owns a record. Records are address-owned objects, so this is
568
552
  * one `getObject` and an owner compare. Presentation gating only — it decides
569
553
  * whether the Snapshots tab appears, and a non-owner has no snapshot content to
570
554
  * fetch regardless.
571
555
  */
572
- export async function ownsRecord(client, address, recordId) {
573
- const isOwner = await client.protocol.core
574
- .getObject({ objectId: recordId })
575
- .then(({ object }) => isAddressOwner(object?.owner, address))
576
- .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)));
577
562
  return { address: normalizeSuiAddress(address), objectId: recordId, isOwner };
578
- }
563
+ });
579
564
  //# 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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"}
@@ -1,16 +1,8 @@
1
- import type { ClientWithCoreApi } from "@mysten/sui/client";
2
- import type { SuiGraphQLClient } from "@mysten/sui/graphql";
3
- import { type Composition, type Recording, type Release } from "@misofm/musicos";
4
- export interface WorkShareTypes {
5
- compositions: readonly string[];
6
- recordings: readonly string[];
7
- }
8
- export interface WorkAddressesByShareType {
9
- compositions: Partial<Record<string, string>>;
10
- recordings: Partial<Record<string, string>>;
11
- }
12
- /** Resolve all work share types in one aliased GraphQL request. */
13
- export declare function getWorkAddressesByShareTypes(client: SuiGraphQLClient, shareTypes: WorkShareTypes, misoPackageId: string): Promise<WorkAddressesByShareType>;
1
+ import { Effect } from "effect";
2
+ import { getWorkAddressesByShareTypes, Composition, Recording, Release, type WorkAddressesByShareType, type WorkShareTypes } from "@misofm/musicos";
3
+ import { SuiClient, SuiGraphQL, SuiRpcError, type BcsDecodeError } from "@misofm/effect";
4
+ export { getWorkAddressesByShareTypes };
5
+ export type { WorkAddressesByShareType, WorkShareTypes };
14
6
  export interface WorkIds {
15
7
  compositions: readonly string[];
16
8
  recordings: readonly string[];
@@ -21,9 +13,10 @@ export interface WorksById {
21
13
  recordings: Partial<Record<string, Recording>>;
22
14
  releases: Partial<Record<string, Release>>;
23
15
  }
24
- export declare function parseReleaseObject(id: string, content: Uint8Array): Release;
16
+ /** Decode a Release object's raw BCS content into the public `Release` type. */
17
+ export declare function parseReleaseObject(id: string, content: Uint8Array): Effect.Effect<Release, BcsDecodeError>;
25
18
  /** Fetch and parse heterogeneous works through one Core bulk request. */
26
- export declare function getWorksByIds(client: ClientWithCoreApi, ids: WorkIds): Promise<WorksById>;
19
+ export declare const getWorksByIds: (ids: WorkIds) => Effect.Effect<WorksById, BcsDecodeError | SuiRpcError, SuiClient>;
27
20
  /** Resolve recording titles through each recording's canonical composition type. */
28
- export declare function getRecordingTitles(client: ClientWithCoreApi, graphql: SuiGraphQLClient, recordingIds: readonly string[], misoPackageId: string): Promise<Record<string, string>>;
21
+ export declare const getRecordingTitles: (recordingIds: readonly string[], misoPackageId: string) => Effect.Effect<Record<string, string>, BcsDecodeError | SuiRpcError, SuiClient | SuiGraphQL>;
29
22
  //# sourceMappingURL=works.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"works.d.ts","sourceRoot":"","sources":["../../src/read/works.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAIL,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,KAAK,OAAO,EAEb,MAAM,iBAAiB,CAAC;AAEzB,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9C,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC7C;AAYD,mEAAmE;AACnE,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,cAAc,EAC1B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,wBAAwB,CAAC,CA8FnC;AAED,MAAM,WAAW,OAAO;IACtB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IACnD,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/C,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC5C;AAmCD,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,UAAU,GAClB,OAAO,CAiBT;AAED,yEAAyE;AACzE,wBAAsB,aAAa,CACjC,MAAM,EAAE,iBAAiB,EACzB,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,SAAS,CAAC,CA0CpB;AAED,oFAAoF;AACpF,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,SAAS,MAAM,EAAE,EAC/B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAsCjC"}
1
+ {"version":3,"file":"works.d.ts","sourceRoot":"","sources":["../../src/read/works.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAIL,4BAA4B,EAC5B,WAAW,EACX,SAAS,EACT,OAAO,EAEP,KAAK,wBAAwB,EAC7B,KAAK,cAAc,EACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAa,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAKpG,OAAO,EAAE,4BAA4B,EAAE,CAAC;AACxC,YAAY,EAAE,wBAAwB,EAAE,cAAc,EAAE,CAAC;AAEzD,MAAM,WAAW,OAAO;IACtB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IACnD,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/C,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC5C;AA8CD,gFAAgF;AAChF,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,CAAC,CAO1G;AAED,yEAAyE;AACzE,eAAO,MAAM,aAAa,qFA8CxB,CAAC;AAEH,oFAAoF;AACpF,eAAO,MAAM,kBAAkB,yJAoC7B,CAAC"}