@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
package/dist/pressing.js CHANGED
@@ -1,7 +1,10 @@
1
1
  // Copyright (c) Miso Labs, Inc.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
+ // Primary Record sales. `record` owns concrete Records and edition-scoped
4
+ // Pressings; immutable `record_shop` owns per-currency Listings and payment.
3
5
  import { deriveObjectID, normalizeStructTag, normalizeSuiAddress, parseStructTag, } from "@mysten/sui/utils";
4
- import { isNotFound } from "./queries.js";
6
+ import { Effect, Schema } from "effect";
7
+ import { assertObjectType, decodeBcs, getObjectsContent, getOptionalObjectContent, ObjectTypeMismatchError, } from "@misofm/effect";
5
8
  import { asU64 } from "./vault.js";
6
9
  import * as pressingContract from "./contracts/record/pressing.js";
7
10
  import * as recordContract from "./contracts/record/record.js";
@@ -228,23 +231,45 @@ export function purchaseRecord(p) {
228
231
  tx.transferObjects([record], p.recipient);
229
232
  };
230
233
  }
231
- async function fetch(client, objectId) {
232
- try {
233
- const { object } = await client.core.getObject({
234
- objectId,
235
- include: { content: true },
236
- });
237
- if (!object)
238
- return null;
239
- if (!object.content || !object.type)
240
- throw new Error(`object ${objectId} has no BCS content or full type`);
241
- return { content: object.content, type: object.type };
242
- }
243
- catch (error) {
244
- if (isNotFound(error))
245
- return null;
246
- throw error;
247
- }
234
+ /** One permanent record-production run derived from a release. */
235
+ export class Pressing extends Schema.Class("@misofm/platform/Pressing")({
236
+ id: Schema.String,
237
+ releaseId: Schema.String,
238
+ edition: Schema.Number,
239
+ supply: Schema.Number,
240
+ maxSupply: Schema.NullOr(Schema.Number),
241
+ distributors: Schema.Array(Schema.String),
242
+ }) {
243
+ }
244
+ /** One permanent currency offer derived from a Pressing. */
245
+ export class Listing extends Schema.Class("@misofm/platform/Listing")({
246
+ id: Schema.String,
247
+ releaseId: Schema.String,
248
+ pressingId: Schema.String,
249
+ pricing: Schema.Struct({
250
+ kind: Schema.Literals(["fixed", "floor"]),
251
+ amount: Schema.String,
252
+ }),
253
+ state: Schema.Literals(["enabled", "disabled"]),
254
+ currencyType: Schema.String,
255
+ }) {
256
+ }
257
+ /**
258
+ * One purchased copy of a Pressing. Named `PressingRecord`, not `Record` — the
259
+ * Move type is `record::Record`, but `Record` collides with TypeScript's
260
+ * built-in `Record<K, V>` utility type, which this codebase uses constantly.
261
+ */
262
+ export class PressingRecord extends Schema.Class("@misofm/platform/PressingRecord")({
263
+ id: Schema.String,
264
+ releaseId: Schema.String,
265
+ pressingId: Schema.String,
266
+ edition: Schema.Number,
267
+ number: Schema.Number,
268
+ purchaseCurrency: Schema.String,
269
+ purchasePrice: Schema.String,
270
+ purchasedBy: Schema.String,
271
+ purchasedTimestampMs: Schema.String,
272
+ }) {
248
273
  }
249
274
  function sameId(a, b) {
250
275
  return normalizeSuiAddress(a) === normalizeSuiAddress(b);
@@ -253,12 +278,6 @@ function requireId(label, actual, expected) {
253
278
  if (!sameId(actual, expected))
254
279
  throw new Error(`${label} ${actual} does not match expected ${expected}`);
255
280
  }
256
- function requireExactType(type, expected, label) {
257
- const actual = normalizeStructTag(type);
258
- const normalizedExpected = normalizeStructTag(expected);
259
- if (actual !== normalizedExpected)
260
- throw new Error(`${label} has type ${actual}, expected ${normalizedExpected}`);
261
- }
262
281
  function requireListingCurrency(type, recordShopPackageId) {
263
282
  const actual = normalizeStructTag(type);
264
283
  const tag = parseStructTag(actual);
@@ -285,8 +304,8 @@ function parsePricing(value) {
285
304
  throw new Error("Listing has invalid pricing amount");
286
305
  return { kind: kind === "Fixed" ? "fixed" : "floor", amount };
287
306
  }
288
- function parsePressing(pressingId, content, type, recordPackageId) {
289
- requireExactType(type, `${recordPackageId}::pressing::Pressing`, "Pressing");
307
+ /** Raw BCS-parse -> camelCase mapper; `Schema.decodeUnknownEffect` (via `decodeBcs`) validates and constructs `Pressing`. */
308
+ function mapPressing(pressingId, recordPackageId, content) {
290
309
  const parsed = pressingContract.Pressing.parse(content);
291
310
  requireId("Pressing UID", parsed.id, pressingId);
292
311
  requireId("Pressing derived id", pressingId, derivePressingId(parsed.release_id, parsed.edition, recordPackageId));
@@ -299,8 +318,7 @@ function parsePressing(pressingId, content, type, recordPackageId) {
299
318
  distributors: parsed.distributors.contents.map((item) => normalizeStructTag(item.name)),
300
319
  };
301
320
  }
302
- function parseListing(listingId, content, type, recordShopPackageId) {
303
- const currencyType = requireListingCurrency(type, recordShopPackageId);
321
+ function mapListing(listingId, recordShopPackageId, currencyType, content) {
304
322
  const parsed = listingContract.Listing.parse(content);
305
323
  requireId("Listing UID", parsed.id, listingId);
306
324
  requireId("Listing derived id", listingId, deriveListingId(parsed.pressing_id, currencyType, recordShopPackageId));
@@ -314,8 +332,7 @@ function parseListing(listingId, content, type, recordShopPackageId) {
314
332
  currencyType,
315
333
  };
316
334
  }
317
- function parseRecord(recordId, content, type, recordPackageId) {
318
- requireExactType(type, `${recordPackageId}::record::Record`, "Record");
335
+ function mapRecord(recordId, recordPackageId, content) {
319
336
  const parsed = recordContract.Record.parse(content);
320
337
  requireId("Record UID", parsed.id, recordId);
321
338
  requireId("Record derived id", recordId, deriveRecordId(parsed.pressing_id, parsed.number, recordPackageId));
@@ -331,44 +348,60 @@ function parseRecord(recordId, content, type, recordPackageId) {
331
348
  purchasedTimestampMs: parsed.purchased_timestamp_ms,
332
349
  };
333
350
  }
334
- export async function getPressing(client, pressingId, recordPackageId) {
335
- const got = await fetch(client, pressingId);
336
- return got
337
- ? parsePressing(pressingId, got.content, got.type, recordPackageId)
338
- : null;
339
- }
340
- export async function getListing(client, listingId, recordShopPackageId) {
341
- const got = await fetch(client, listingId);
342
- return got
343
- ? parseListing(listingId, got.content, got.type, recordShopPackageId)
344
- : null;
345
- }
346
- export async function getRecord(client, recordId, recordPackageId) {
347
- const got = await fetch(client, recordId);
348
- return got
349
- ? parseRecord(recordId, got.content, got.type, recordPackageId)
350
- : null;
351
+ /** Fails with `ObjectTypeMismatchError` unless `type` is `recordShopPackageId`'s `listing::Listing<Currency>`; returns the currency type argument. */
352
+ function assertListingType(objectId, type, recordShopPackageId) {
353
+ return Effect.try({
354
+ try: () => requireListingCurrency(type, recordShopPackageId),
355
+ catch: () => new ObjectTypeMismatchError({
356
+ objectId,
357
+ expected: `${normalizeSuiAddress(recordShopPackageId)}::listing::Listing<Currency>`,
358
+ actual: normalizeStructTag(type),
359
+ }),
360
+ });
351
361
  }
352
- export async function getSale(client, p) {
362
+ /** One permanent pressing by id, or `null` when no such Pressing exists. */
363
+ export const getPressing = Effect.fn("getPressing")(function* (pressingId, recordPackageId) {
364
+ const found = yield* getOptionalObjectContent(pressingId);
365
+ if (found._tag === "None")
366
+ return null;
367
+ const { content, type } = found.value;
368
+ yield* assertObjectType(pressingId, normalizeStructTag(type), normalizeStructTag(`${recordPackageId}::pressing::Pressing`));
369
+ return yield* decodeBcs({ parse: (bytes) => mapPressing(pressingId, recordPackageId, bytes) }, Pressing, content, { type: "Pressing", objectId: pressingId });
370
+ });
371
+ /** One currency-specific listing by id, or `null` when no such Listing exists. */
372
+ export const getListing = Effect.fn("getListing")(function* (listingId, recordShopPackageId) {
373
+ const found = yield* getOptionalObjectContent(listingId);
374
+ if (found._tag === "None")
375
+ return null;
376
+ const { content, type } = found.value;
377
+ const currencyType = yield* assertListingType(listingId, type, recordShopPackageId);
378
+ return yield* decodeBcs({ parse: (bytes) => mapListing(listingId, recordShopPackageId, currencyType, bytes) }, Listing, content, { type: "Listing", objectId: listingId });
379
+ });
380
+ /** One purchased copy by id, or `null` when no such Record exists. */
381
+ export const getRecord = Effect.fn("getRecord")(function* (recordId, recordPackageId) {
382
+ const found = yield* getOptionalObjectContent(recordId);
383
+ if (found._tag === "None")
384
+ return null;
385
+ const { content, type } = found.value;
386
+ yield* assertObjectType(recordId, normalizeStructTag(type), normalizeStructTag(`${recordPackageId}::record::Record`));
387
+ return yield* decodeBcs({ parse: (bytes) => mapRecord(recordId, recordPackageId, bytes) }, PressingRecord, content, { type: "Record", objectId: recordId });
388
+ });
389
+ /** A Pressing and its currency-specific Listing, read in one Core batch. Either half may be `null`. */
390
+ export const getSale = Effect.fn("getSale")(function* (p) {
353
391
  const { pressingId, listingId } = deriveSaleIds(p.releaseId, p.edition, p.currencyType, p.recordPackageId, p.recordShopPackageId);
354
- const { objects } = await client.core.getObjects({
355
- objectIds: [pressingId, listingId],
356
- include: { content: true },
357
- });
358
- const [pressingObject, listingObject] = objects;
359
- if (pressingObject instanceof Error && !isNotFound(pressingObject))
360
- throw pressingObject;
361
- if (listingObject instanceof Error && !isNotFound(listingObject))
362
- throw listingObject;
363
- const pressing = !pressingObject || pressingObject instanceof Error
364
- ? null
365
- : parseBatchPressing(pressingId, pressingObject.content, pressingObject.type, p.recordPackageId);
366
- const listing = !listingObject || listingObject instanceof Error
367
- ? null
368
- : parseBatchListing(listingId, listingObject.content, listingObject.type, p.recordShopPackageId);
369
- if (pressing)
392
+ const contentById = yield* getObjectsContent([pressingId, listingId]);
393
+ const pressingFound = contentById.get(pressingId);
394
+ let pressing = null;
395
+ if (pressingFound) {
396
+ yield* assertObjectType(pressingId, normalizeStructTag(pressingFound.type), normalizeStructTag(`${p.recordPackageId}::pressing::Pressing`));
397
+ pressing = yield* decodeBcs({ parse: (bytes) => mapPressing(pressingId, p.recordPackageId, bytes) }, Pressing, pressingFound.content, { type: "Pressing", objectId: pressingId });
370
398
  requireId("Sale pressing release", pressing.releaseId, p.releaseId);
371
- if (listing) {
399
+ }
400
+ const listingFound = contentById.get(listingId);
401
+ let listing = null;
402
+ if (listingFound) {
403
+ const currencyType = yield* assertListingType(listingId, listingFound.type, p.recordShopPackageId);
404
+ listing = yield* decodeBcs({ parse: (bytes) => mapListing(listingId, p.recordShopPackageId, currencyType, bytes) }, Listing, listingFound.content, { type: "Listing", objectId: listingId });
372
405
  requireId("Sale listing release", listing.releaseId, p.releaseId);
373
406
  requireId("Sale listing pressing", listing.pressingId, pressingId);
374
407
  if (listing.currencyType !== normalizeStructTag(p.currencyType)) {
@@ -376,15 +409,5 @@ export async function getSale(client, p) {
376
409
  }
377
410
  }
378
411
  return { pressing, listing };
379
- }
380
- function parseBatchPressing(id, content, type, packageId) {
381
- if (!content || !type)
382
- throw new Error(`Pressing ${id} has no BCS content or full type`);
383
- return parsePressing(id, content, type, packageId);
384
- }
385
- function parseBatchListing(id, content, type, packageId) {
386
- if (!content || !type)
387
- throw new Error(`Listing ${id} has no BCS content or full type`);
388
- return parseListing(id, content, type, packageId);
389
- }
412
+ });
390
413
  //# sourceMappingURL=pressing.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pressing.js","sourceRoot":"","sources":["../src/pressing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pressing.js","sourceRoot":"","sources":["../src/pressing.ts"],"names":[],"mappings":"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"}
package/dist/queries.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { isNotFound } from "@misofm/musicos";
1
+ export {};
2
2
  //# sourceMappingURL=queries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,CAAC"}
package/dist/queries.js CHANGED
@@ -1,8 +1,9 @@
1
1
  // Copyright (c) Miso Labs, Inc.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  // Shared read plumbing for the platform reads.
4
- // `isNotFound` is the protocol SDK's — the not-found taxonomy is a property of
5
- // the Sui transports, not of any one package's objects, so it is defined once in
6
- // `@misofm/musicos` and re-exported here for the platform readers.
7
- export { isNotFound } from "@misofm/musicos";
4
+ //
5
+ // Not-found is a typed `ObjectNotFoundError` (see `@misofm/effect/errors`),
6
+ // matched with `Effect.catchTag("ObjectNotFoundError", ...)` there is no
7
+ // `isNotFound` predicate to re-export anymore.
8
+ export {};
8
9
  //# sourceMappingURL=queries.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AAEtC,+CAA+C;AAE/C,+EAA+E;AAC/E,iFAAiF;AACjF,mEAAmE;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../src/queries.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AAEtC,+CAA+C;AAC/C,EAAE;AACF,4EAA4E;AAC5E,2EAA2E;AAC3E,+CAA+C;AAC/C,OAAO,EAAE,CAAC"}
@@ -1,4 +1,6 @@
1
- import type { MisoClient } from "./client.ts";
1
+ import { Effect } from "effect";
2
+ import type { BcsDecodeError, ObjectNotFoundError, ObjectTypeMismatchError, SuiClient, SuiRpcError } from "@misofm/effect";
3
+ import type { MisoConfig } from "./config.ts";
2
4
  import type { ArtistProfile, PartySummary } from "./types.ts";
3
5
  /** Optional sub-resources — read only when asked for. */
4
6
  export type ArtistInclude = "roles" | "tags";
@@ -8,11 +10,11 @@ export interface GetArtistOptions {
8
10
  /** Public avatar URL for a party (served from the API's R2 lane; 404 when unset). */
9
11
  export declare function partyAvatarUrl(apiBaseUrl: string, partyId: string): string;
10
12
  /**
11
- * An artist page, fully resolved. Throws only if the PARTY itself can't be read —
13
+ * An artist page, fully resolved. Fails only if the PARTY itself can't be read —
12
14
  * every extension is optional by design (a party with no profile set is a new
13
15
  * party, not a broken one), so each decoration read falls back to its empty value.
14
16
  */
15
- export declare function getArtistProfile(client: MisoClient, partyId: string, options?: GetArtistOptions): Promise<ArtistProfile>;
17
+ export declare const getArtistProfile: (partyId: string, config: MisoConfig, options?: GetArtistOptions | undefined) => Effect.Effect<ArtistProfile, BcsDecodeError | ObjectNotFoundError | ObjectTypeMismatchError | SuiRpcError, SuiClient>;
16
18
  /** Name + kind for many parties at once. Ids that don't resolve are omitted. */
17
- export declare function getPartySummaries(client: MisoClient, ids: readonly string[]): Promise<PartySummary[]>;
19
+ export declare const getPartySummaries: (ids: readonly string[], config: MisoConfig) => Effect.Effect<PartySummary[], BcsDecodeError | ObjectTypeMismatchError | SuiRpcError, SuiClient>;
18
20
  //# sourceMappingURL=artist.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"artist.d.ts","sourceRoot":"","sources":["../../src/read/artist.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EACV,aAAa,EAEb,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,yDAAyD;AACzD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;CACpC;AAED,qFAAqF;AACrF,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,gBAAqB,GAC7B,OAAO,CAAC,aAAa,CAAC,CAgDxB;AAiBD,gFAAgF;AAChF,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,UAAU,EAClB,GAAG,EAAE,SAAS,MAAM,EAAE,GACrB,OAAO,CAAC,YAAY,EAAE,CAAC,CAOzB"}
1
+ {"version":3,"file":"artist.d.ts","sourceRoot":"","sources":["../../src/read/artist.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,MAAM,EAAU,MAAM,QAAQ,CAAC;AAExC,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG3H,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EACV,aAAa,EAEb,YAAY,EACb,MAAM,YAAY,CAAC;AAEpB,yDAAyD;AACzD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;CACpC;AAED,qFAAqF;AACrF,wBAAgB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1E;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,wMAqD3B,CAAC;AAiBH,gFAAgF;AAChF,eAAO,MAAM,iBAAiB,kJAU5B,CAAC"}
@@ -9,35 +9,39 @@
9
9
  // once.
10
10
  //
11
11
  // `roles` and `tags` are opt-in via `include`.
12
+ import { Effect, Option } from "effect";
13
+ import { getPartiesByIds, getPartyById } from "@misofm/partyos";
14
+ import { getCtas, getGenres, getLinks, getProfile, getRoles, getTags } from "../party/queries.js";
12
15
  import { resolveGenreNames } from "./genres.js";
13
16
  /** Public avatar URL for a party (served from the API's R2 lane; 404 when unset). */
14
17
  export function partyAvatarUrl(apiBaseUrl, partyId) {
15
18
  return `${apiBaseUrl.replace(/\/$/, "")}/media/avatar/${partyId}`;
16
19
  }
17
20
  /**
18
- * An artist page, fully resolved. Throws only if the PARTY itself can't be read —
21
+ * An artist page, fully resolved. Fails only if the PARTY itself can't be read —
19
22
  * every extension is optional by design (a party with no profile set is a new
20
23
  * party, not a broken one), so each decoration read falls back to its empty value.
21
24
  */
22
- export async function getArtistProfile(client, partyId, options = {}) {
25
+ export const getArtistProfile = Effect.fn("getArtistProfile")(function* (partyId, config, options = {}) {
23
26
  const include = new Set(options.include ?? []);
24
- const { party } = client;
25
- const [profile, ctas, genreIds, links, roles, tags, entity] = await Promise.all([
26
- party.getProfile(partyId).catch(() => null),
27
- party.getCtas(partyId).catch(() => []),
28
- party.getGenres(partyId).catch(() => []),
29
- party.getLinks(partyId).catch(() => []),
27
+ const party = config.party;
28
+ const [profileOpt, ctas, genreIds, links, roles, tags, entity] = yield* Effect.all([
29
+ getProfile(partyId, party.partyProfile).pipe(Effect.catch(() => Effect.succeed(Option.none()))),
30
+ getCtas(partyId, party.partyCta).pipe(Effect.catch(() => Effect.succeed([]))),
31
+ getGenres(partyId, party.partyGenre).pipe(Effect.catch(() => Effect.succeed([]))),
32
+ getLinks(partyId).pipe(Effect.catch(() => Effect.succeed([]))),
30
33
  include.has("roles")
31
- ? party.getRoles(partyId).catch(() => [])
32
- : Promise.resolve(undefined),
34
+ ? getRoles(partyId, party.partyRoles).pipe(Effect.catch(() => Effect.succeed([])))
35
+ : Effect.succeed(undefined),
33
36
  include.has("tags")
34
- ? party.getTags(partyId).catch(() => [])
35
- : Promise.resolve(undefined),
36
- party.getPartyById(partyId),
37
+ ? getTags(partyId, party.partyTags).pipe(Effect.catch(() => Effect.succeed([])))
38
+ : Effect.succeed(undefined),
39
+ getPartyById(partyId, config.partyos.partyos),
37
40
  ]);
38
- const [genres, members] = await Promise.all([
39
- resolveGenreNames(client, genreIds),
40
- resolveMembers(client, entity.kind === "group" ? (entity.members ?? []) : []),
41
+ const profile = Option.getOrNull(profileOpt);
42
+ const [genres, members] = yield* Effect.all([
43
+ resolveGenreNames(genreIds),
44
+ resolveMembers(entity.kind === "group" ? (entity.members ?? []) : [], config),
41
45
  ]);
42
46
  return {
43
47
  id: entity.id,
@@ -47,7 +51,7 @@ export async function getArtistProfile(client, partyId, options = {}) {
47
51
  bioShort: profile?.bioShort ?? null,
48
52
  bioLong: profile?.bioLong ?? null,
49
53
  country: profile?.country ?? null,
50
- languages: profile?.languages ?? [],
54
+ languages: profile?.languages ? [...profile.languages] : [],
51
55
  genres,
52
56
  links: links.map((l) => ({
53
57
  platform: l.platform,
@@ -58,29 +62,27 @@ export async function getArtistProfile(client, partyId, options = {}) {
58
62
  members,
59
63
  ...(roles !== undefined ? { roles } : {}),
60
64
  ...(tags !== undefined ? { tags } : {}),
61
- avatarUrl: partyAvatarUrl(client.config.apiBaseUrl, entity.id),
65
+ avatarUrl: partyAvatarUrl(config.apiBaseUrl, entity.id),
62
66
  };
63
- }
67
+ });
64
68
  /** Group members with names resolved. A member that fails to read is dropped. */
65
- async function resolveMembers(client, memberIds) {
69
+ const resolveMembers = Effect.fn("resolveMembers")(function* (memberIds, config) {
66
70
  if (memberIds.length === 0)
67
71
  return [];
68
- const parties = await client.party
69
- .getPartiesByIds([...memberIds])
70
- .catch(() => ({}));
72
+ const parties = yield* getPartiesByIds([...memberIds], config.partyos.partyos).pipe(Effect.catch(() => Effect.succeed({})));
71
73
  return memberIds.flatMap((id) => {
72
74
  const p = parties[id];
73
75
  return p ? [{ id, name: p.name }] : [];
74
76
  });
75
- }
77
+ });
76
78
  /** Name + kind for many parties at once. Ids that don't resolve are omitted. */
77
- export async function getPartySummaries(client, ids) {
79
+ export const getPartySummaries = Effect.fn("getPartySummaries")(function* (ids, config) {
78
80
  if (ids.length === 0)
79
81
  return [];
80
- const parties = await client.party.getPartiesByIds([...ids]);
82
+ const parties = yield* getPartiesByIds([...ids], config.partyos.partyos);
81
83
  return ids.flatMap((id) => {
82
84
  const p = parties[id];
83
85
  return p ? [{ id, name: p.name, kind: p.kind }] : [];
84
86
  });
85
- }
87
+ });
86
88
  //# sourceMappingURL=artist.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"artist.js","sourceRoot":"","sources":["../../src/read/artist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artist.js","sourceRoot":"","sources":["../../src/read/artist.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
+ import { Effect } from "effect";
1
2
  import type { Release } from "@misofm/musicos";
2
- import type { MisoClient } from "./client.ts";
3
+ import { ObjectTypeMismatchError, type BcsDecodeError, type ObjectNotFoundError, type SuiClient, type SuiGraphQL, type SuiRpcError } from "@misofm/effect";
4
+ import { ReleaseNotFoundError } from "../errors.ts";
5
+ import type { MisoConfig } from "./config.ts";
3
6
  import type { Cover, Credit, Currency, DiscoverItem, ListingView, PressingDetail, PressingPreview, PressingView, RecordAlbum, ReleaseDetail, SaleDetail, TrackCredits, TrackEngineSession, TrackView } from "./types.ts";
4
7
  /**
5
8
  * Symbol + decimals for a coin type. FakeUsd (the testnet dollar) is 6dp; SUI is
@@ -8,24 +11,24 @@ import type { Cover, Credit, Currency, DiscoverItem, ListingView, PressingDetail
8
11
  */
9
12
  export declare function currencyInfo(type: string | null): Currency;
10
13
  /** One permanent pressing, projected to the JSON-safe read boundary. */
11
- export declare function getPressingView(client: MisoClient, pressingId: string): Promise<PressingView | null>;
14
+ export declare const getPressingView: (pressingId: string, config: MisoConfig) => Effect.Effect<PressingView | null, BcsDecodeError | ObjectTypeMismatchError | SuiRpcError, SuiClient>;
12
15
  /** One currency-specific listing derived from its permanent pressing. */
13
- export declare function getListingView(client: MisoClient, pressingId: string, currencyType: string): Promise<ListingView | null>;
16
+ export declare const getListingView: (pressingId: string, currencyType: string, config: MisoConfig) => Effect.Effect<ListingView | null, BcsDecodeError | ObjectTypeMismatchError | SuiRpcError, SuiClient>;
14
17
  /** The release's PRIMARY credits, in chain order — a release's artist line. */
15
18
  export declare function primaryArtistNames(credits: Credit[]): string[];
16
- /**
17
- * Number the protocol's flat tracklist. Display grouping such as discs belongs
18
- * to metadata extensions and can be layered onto this projection later.
19
- */
20
19
  /** Per-recording audio attachments, every id already base64url. */
21
20
  export interface TrackAudio {
22
21
  masterBlobIds?: Partial<Record<string, string>>;
23
22
  transcodeQuiltIds?: Partial<Record<string, string>>;
24
23
  engineSessions?: Partial<Record<string, TrackEngineSession>>;
25
24
  }
25
+ /**
26
+ * Number the protocol's flat tracklist. Display grouping such as discs belongs
27
+ * to metadata extensions and can be layered onto this projection later.
28
+ */
26
29
  export declare function toTracks(release: Release, titles: Record<string, string>, audio: TrackAudio): TrackView[];
27
30
  /** A release's cover from the configured `release_cover_art` package. */
28
- export declare function readReleaseCover(client: MisoClient, releaseId: string): Promise<Cover | null>;
31
+ export declare const readReleaseCover: (releaseId: string, config: MisoConfig) => Effect.Effect<Cover | null, never, SuiClient>;
29
32
  export type ReleaseResourceInclude = "cover" | "credits" | "kind";
30
33
  export interface ReleaseResources {
31
34
  release: Release;
@@ -38,7 +41,7 @@ export interface ReleaseResources {
38
41
  * Every extension id is deterministic, so separate object calls only add
39
42
  * network round trips without discovering anything new.
40
43
  */
41
- export declare function getReleaseResources(client: MisoClient, releaseId: string, include?: readonly ReleaseResourceInclude[]): Promise<ReleaseResources>;
44
+ export declare const getReleaseResources: (releaseId: string, config: MisoConfig, include?: readonly ReleaseResourceInclude[] | undefined) => Effect.Effect<ReleaseResources, BcsDecodeError | ReleaseNotFoundError | SuiRpcError, SuiClient>;
42
45
  /**
43
46
  * A release with its cover, credits, and resolved tracklist.
44
47
  *
@@ -52,39 +55,39 @@ export type ReleaseInclude = "trackCredits";
52
55
  export interface GetReleaseOptions {
53
56
  include?: readonly ReleaseInclude[];
54
57
  }
55
- export declare function getReleaseDetail(client: MisoClient, releaseId: string, options?: GetReleaseOptions): Promise<ReleaseDetail>;
58
+ export declare const getReleaseDetail: (releaseId: string, config: MisoConfig, options?: GetReleaseOptions | undefined) => Effect.Effect<ReleaseDetail, BcsDecodeError | ReleaseNotFoundError | SuiRpcError, SuiClient | SuiGraphQL>;
56
59
  /**
57
60
  * Per-track credits for a release, keyed by recording id. A track with no credits
58
61
  * set maps to an empty entry rather than being absent, so a caller can tell
59
62
  * "nothing credited" from "no such track".
60
63
  */
61
- export declare function getTrackCredits(client: MisoClient, releaseId: string): Promise<Record<string, TrackCredits>>;
64
+ export declare const getTrackCredits: (releaseId: string, config: MisoConfig) => Effect.Effect<Record<string, TrackCredits>, BcsDecodeError | ObjectNotFoundError | SuiRpcError, SuiClient | SuiGraphQL>;
62
65
  /** Everything a Pressing page renders. `null` when no such Pressing exists. */
63
- export declare function getPressingDetail(client: MisoClient, pressingId: string, options?: GetReleaseOptions): Promise<PressingDetail | null>;
66
+ export declare const getPressingDetail: (pressingId: string, config: MisoConfig, options?: GetReleaseOptions | undefined) => Effect.Effect<PressingDetail | null, BcsDecodeError | ObjectTypeMismatchError | ReleaseNotFoundError | SuiRpcError, SuiClient | SuiGraphQL>;
64
67
  /**
65
68
  * A Pressing page plus one currency-specific Listing. Unlike `getSaleDetail`,
66
69
  * this starts from a Pressing id, which is the durable route and Party-feature
67
70
  * reference exposed to users.
68
71
  */
69
- export declare function getPressingSaleDetail(client: MisoClient, pressingId: string, currencyType: string, options?: GetReleaseOptions): Promise<SaleDetail | null>;
72
+ export declare const getPressingSaleDetail: (pressingId: string, currencyType: string, config: MisoConfig, options?: GetReleaseOptions | undefined) => Effect.Effect<SaleDetail | null, BcsDecodeError | ObjectTypeMismatchError | ReleaseNotFoundError | SuiRpcError, SuiClient | SuiGraphQL>;
70
73
  /**
71
74
  * The confirmation preview behind "paste a pressing id to pin it". Verifies the
72
75
  * object really is a `Pressing` before spending reads on it — a release id or a
73
76
  * record id pasted by mistake must come back as `null`, not as a half-built card.
74
77
  */
75
- export declare function getPressingPreview(client: MisoClient, pressingId: string): Promise<PressingPreview | null>;
78
+ export declare const getPressingPreview: (pressingId: string, config: MisoConfig) => Effect.Effect<PressingPreview | null, BcsDecodeError | ObjectTypeMismatchError | ReleaseNotFoundError | SuiRpcError, SuiClient>;
76
79
  /**
77
80
  * Everything a currency-specific buy page renders. The Listing is derived from
78
81
  * the release's Pressing and the requested currency, never found through mutable
79
82
  * lookup state.
80
83
  */
81
- export declare function getSaleDetail(client: MisoClient, releaseId: string, edition: number, currencyType: string, options?: GetReleaseOptions): Promise<SaleDetail | null>;
84
+ export declare const getSaleDetail: (releaseId: string, edition: number, currencyType: string, config: MisoConfig, options?: GetReleaseOptions | undefined) => Effect.Effect<SaleDetail | null, BcsDecodeError | ObjectTypeMismatchError | ReleaseNotFoundError | SuiRpcError, SuiClient | SuiGraphQL>;
82
85
  /**
83
86
  * The records currently on sale.
84
87
  *
85
88
  * Configured by release + edition + currency: both addresses are deterministic.
86
89
  */
87
- export declare function getDiscoverShelf(client: MisoClient): Promise<DiscoverItem[]>;
90
+ export declare const getDiscoverShelf: (config: MisoConfig) => Effect.Effect<DiscoverItem[], BcsDecodeError | ObjectTypeMismatchError | SuiRpcError, SuiClient>;
88
91
  /**
89
92
  * A record's parent release. Fresh `Record` objects expose `release_id`.
90
93
  *
@@ -95,5 +98,5 @@ export type RecordAlbumInclude = "release" | "trackCredits";
95
98
  export interface GetRecordAlbumOptions {
96
99
  include?: readonly RecordAlbumInclude[];
97
100
  }
98
- export declare function getRecordAlbum(client: MisoClient, recordId: string, options?: GetRecordAlbumOptions): Promise<RecordAlbum | null>;
101
+ export declare const getRecordAlbum: (recordId: string, config: MisoConfig, options?: GetRecordAlbumOptions | undefined) => Effect.Effect<RecordAlbum | null, BcsDecodeError | ObjectTypeMismatchError | ReleaseNotFoundError | SuiRpcError, SuiClient | SuiGraphQL>;
99
102
  //# sourceMappingURL=catalog.d.ts.map