@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
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/read/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../src/read/catalog.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@
9
9
  // browser five sequential round-trips to the chain (pressing → release → cover →
10
10
  // credits → recordings); the same work happens once here, inside one datacenter,
11
11
  // and every subsequent visitor is served from cache.
12
+ import { Effect } from "effect";
12
13
  import { deriveListingId, getListing, getPressing, getRecord, getSale, } from "../pressing.js";
13
14
  import { requireRecordSalesDeployment } from "../deployments.js";
14
15
  import { getReleaseCoversByIds, parseReleaseCoverContent, releaseCoverFieldId, } from "../cover.js";
@@ -16,7 +17,9 @@ import { getReleaseCreditsByIds, parseReleaseCreditsContent, releaseCreditsField
16
17
  import { parseReleaseKindContent, releaseKindFieldId, } from "../release-extensions.js";
17
18
  import { getRecordingEngineSessionsByIds, getRecordingMasterReferencesByIds, getRecordingStreamingTranscodesByIds, } from "../recording-extensions.js";
18
19
  import { getTrackCreditsByRecordingIds } from "../catalog.js";
19
- import { getReleaseById, getReleasesByIds, isNotFound } from "@misofm/musicos";
20
+ import { getReleaseById, getReleasesByIds } from "@misofm/musicos";
21
+ import { getObjectsContent, ObjectTypeMismatchError, } from "@misofm/effect";
22
+ import { ReleaseNotFoundError } from "../errors.js";
20
23
  import { getRecordingTitles, parseReleaseObject } from "./works.js";
21
24
  import { int } from "./internal/scalars.js";
22
25
  import { u256ToB64Url, walrusBlobReadUrl, } from "./internal/walrus.js";
@@ -85,18 +88,18 @@ function toSaleView(pressing, listing) {
85
88
  return { pressing: toPressingView(pressing), listing: toListingView(listing) };
86
89
  }
87
90
  /** One permanent pressing, projected to the JSON-safe read boundary. */
88
- export async function getPressingView(client, pressingId) {
89
- const sales = requireRecordSalesDeployment(client.config.recordSales);
90
- const pressing = await getPressing(client.protocol, pressingId, sales.recordPackageId);
91
+ export const getPressingView = Effect.fn("getPressingView")(function* (pressingId, config) {
92
+ const sales = requireRecordSalesDeployment(config.recordSales);
93
+ const pressing = yield* getPressing(pressingId, sales.recordPackageId);
91
94
  return pressing ? toPressingView(pressing) : null;
92
- }
95
+ });
93
96
  /** One currency-specific listing derived from its permanent pressing. */
94
- export async function getListingView(client, pressingId, currencyType) {
95
- const sales = requireRecordSalesDeployment(client.config.recordSales);
97
+ export const getListingView = Effect.fn("getListingView")(function* (pressingId, currencyType, config) {
98
+ const sales = requireRecordSalesDeployment(config.recordSales);
96
99
  const listingId = deriveListingId(pressingId, currencyType, sales.recordShopPackageId);
97
- const listing = await getListing(client.protocol, listingId, sales.recordShopPackageId);
100
+ const listing = yield* getListing(listingId, sales.recordShopPackageId);
98
101
  return listing ? toListingView(listing) : null;
99
- }
102
+ });
100
103
  function toWorkState(state) {
101
104
  return state.type === "Published"
102
105
  ? { type: "Published", timestampMs: state.timestampMs }
@@ -115,6 +118,10 @@ export function primaryArtistNames(credits) {
115
118
  .filter((c) => c.roles.includes("Primary"))
116
119
  .map((c) => c.displayName);
117
120
  }
121
+ /**
122
+ * Number the protocol's flat tracklist. Display grouping such as discs belongs
123
+ * to metadata extensions and can be layered onto this projection later.
124
+ */
118
125
  export function toTracks(release, titles, audio) {
119
126
  return release.tracks.map((track, index) => {
120
127
  const masterBlobId = audio.masterBlobIds?.[track.recordingId];
@@ -150,72 +157,55 @@ function toTrackEngineSession(view) {
150
157
  }
151
158
  // ── Cover ────────────────────────────────────────────────────────────────────
152
159
  /** A release's cover from the configured `release_cover_art` package. */
153
- export async function readReleaseCover(client, releaseId) {
154
- const { releaseCoverArt } = client.config.protocol;
155
- const covers = await getReleaseCoversByIds(client.protocol, [releaseId], releaseCoverArt).catch(() => ({}));
156
- return toCover(client.config.walrusAggregatorUrl, covers[releaseId] ?? null);
157
- }
160
+ export const readReleaseCover = Effect.fn("readReleaseCover")(function* (releaseId, config) {
161
+ const { releaseCoverArt } = config.protocol;
162
+ const covers = yield* getReleaseCoversByIds([releaseId], releaseCoverArt).pipe(Effect.catch(() => Effect.succeed({})));
163
+ return toCover(config.walrusAggregatorUrl, covers[releaseId] ?? null);
164
+ });
158
165
  /**
159
166
  * A release plus selected derived resources in one heterogeneous Core batch.
160
167
  * Every extension id is deterministic, so separate object calls only add
161
168
  * network round trips without discovering anything new.
162
169
  */
163
- export async function getReleaseResources(client, releaseId, include = []) {
170
+ export const getReleaseResources = Effect.fn("getReleaseResources")(function* (releaseId, config, include = []) {
164
171
  const wantsCover = include.includes("cover");
165
172
  const wantsCredits = include.includes("credits");
166
173
  const wantsKind = include.includes("kind");
167
- const coverFieldIds = wantsCover
168
- ? [releaseCoverFieldId(releaseId, client.config.protocol.releaseCoverArt)]
169
- : [];
170
- const creditsFieldId = wantsCredits
171
- ? releaseCreditsFieldId(releaseId, client.config.protocol.releaseCredits)
172
- : null;
173
- const kindFieldId = wantsKind
174
- ? releaseKindFieldId(releaseId, client.config.protocol.releaseKind)
175
- : null;
174
+ const coverFieldId = wantsCover ? releaseCoverFieldId(releaseId, config.protocol.releaseCoverArt) : null;
175
+ const creditsFieldId = wantsCredits ? releaseCreditsFieldId(releaseId, config.protocol.releaseCredits) : null;
176
+ const kindFieldId = wantsKind ? releaseKindFieldId(releaseId, config.protocol.releaseKind) : null;
176
177
  const objectIds = [
177
178
  releaseId,
178
- ...coverFieldIds,
179
+ ...(coverFieldId ? [coverFieldId] : []),
179
180
  ...(creditsFieldId ? [creditsFieldId] : []),
180
181
  ...(kindFieldId ? [kindFieldId] : []),
181
182
  ];
182
- const { objects } = await client.protocol.core.getObjects({
183
- objectIds,
184
- include: { content: true },
185
- });
186
- const releaseObject = objects[0];
187
- if (!releaseObject)
188
- throw new Error(`Release not found: ${releaseId}`);
189
- if (releaseObject instanceof Error)
190
- throw releaseObject;
191
- if (!releaseObject.content)
192
- throw new Error(`Release has no content: ${releaseId}`);
193
- const release = parseReleaseObject(releaseObject.objectId, releaseObject.content);
183
+ const contentById = yield* getObjectsContent(objectIds);
184
+ const releaseFound = contentById.get(releaseId);
185
+ if (!releaseFound)
186
+ return yield* new ReleaseNotFoundError({ releaseId });
187
+ const release = yield* parseReleaseObject(releaseId, releaseFound.content);
194
188
  let cover;
195
189
  if (wantsCover) {
190
+ const found = coverFieldId ? contentById.get(coverFieldId) : undefined;
196
191
  let view = null;
197
- for (let index = 0; index < coverFieldIds.length; index += 1) {
198
- const object = objects[index + 1];
199
- if (!object || object instanceof Error || !object.content)
200
- continue;
192
+ if (found) {
201
193
  try {
202
- view = parseReleaseCoverContent(object.content);
194
+ view = parseReleaseCoverContent(found.content);
203
195
  }
204
196
  catch {
205
197
  view = null;
206
198
  }
207
- if (view)
208
- break;
209
199
  }
210
- cover = toCover(client.config.walrusAggregatorUrl, view);
200
+ cover = toCover(config.walrusAggregatorUrl, view);
211
201
  }
212
202
  let credits;
213
203
  if (wantsCredits) {
214
- const object = objects[1 + coverFieldIds.length];
204
+ const found = creditsFieldId ? contentById.get(creditsFieldId) : undefined;
215
205
  let view = [];
216
- if (object && !(object instanceof Error) && object.content) {
206
+ if (found) {
217
207
  try {
218
- view = parseReleaseCreditsContent(object.content);
208
+ view = parseReleaseCreditsContent(found.content);
219
209
  }
220
210
  catch {
221
211
  view = [];
@@ -225,11 +215,8 @@ export async function getReleaseResources(client, releaseId, include = []) {
225
215
  }
226
216
  let kind;
227
217
  if (wantsKind) {
228
- const object = objects[1 + coverFieldIds.length + (creditsFieldId ? 1 : 0)];
229
- kind =
230
- object && !(object instanceof Error) && object.content
231
- ? parseReleaseKindContent(object.content)
232
- : null;
218
+ const found = kindFieldId ? contentById.get(kindFieldId) : undefined;
219
+ kind = found ? parseReleaseKindContent(found.content) : null;
233
220
  }
234
221
  return {
235
222
  release,
@@ -237,23 +224,27 @@ export async function getReleaseResources(client, releaseId, include = []) {
237
224
  ...(wantsCredits ? { credits: credits ?? [] } : {}),
238
225
  ...(wantsKind ? { kind: kind ?? null } : {}),
239
226
  };
240
- }
241
- export async function getReleaseDetail(client, releaseId, options = {}) {
242
- const { release, cover, credits, kind } = await getReleaseResources(client, releaseId, ["cover", "credits", "kind"]);
227
+ });
228
+ export const getReleaseDetail = Effect.fn("getReleaseDetail")(function* (releaseId, config, options = {}) {
229
+ const { release, cover, credits, kind } = yield* getReleaseResources(releaseId, config, [
230
+ "cover",
231
+ "credits",
232
+ "kind",
233
+ ]);
243
234
  const recordingIds = release.tracks.map((track) => track.recordingId);
244
- const { recordingStreamingTranscode, recordingEngineSession } = client.config.protocol;
245
- const [titles, masterReferences, transcodes, engineSessions, trackCredits] = await Promise.all([
246
- getRecordingTitles(client.protocol, client.graphql, recordingIds, client.config.deployment.musicos),
247
- getRecordingMasterReferencesByIds(client.protocol, recordingIds, client.config.protocol.recordingMasterReference).catch(() => ({})),
235
+ const { recordingStreamingTranscode, recordingEngineSession } = config.protocol;
236
+ const [titles, masterReferences, transcodes, engineSessions, trackCredits] = yield* Effect.all([
237
+ getRecordingTitles(recordingIds, config.deployment.musicos).pipe(Effect.catch(() => Effect.succeed({}))),
238
+ getRecordingMasterReferencesByIds(recordingIds, config.protocol.recordingMasterReference).pipe(Effect.catch(() => Effect.succeed({}))),
248
239
  recordingStreamingTranscode
249
- ? getRecordingStreamingTranscodesByIds(client.protocol, recordingIds, recordingStreamingTranscode).catch(() => ({}))
250
- : Promise.resolve({}),
240
+ ? getRecordingStreamingTranscodesByIds(recordingIds, recordingStreamingTranscode).pipe(Effect.catch(() => Effect.succeed({})))
241
+ : Effect.succeed({}),
251
242
  recordingEngineSession
252
- ? getRecordingEngineSessionsByIds(client.protocol, recordingIds, recordingEngineSession).catch(() => ({}))
253
- : Promise.resolve({}),
243
+ ? getRecordingEngineSessionsByIds(recordingIds, recordingEngineSession).pipe(Effect.catch(() => Effect.succeed({})))
244
+ : Effect.succeed({}),
254
245
  options.include?.includes("trackCredits")
255
- ? getTrackCreditsForRecordingIds(client, recordingIds)
256
- : Promise.resolve(undefined),
246
+ ? getTrackCreditsForRecordingIds(recordingIds, config)
247
+ : Effect.succeed(undefined),
257
248
  ]);
258
249
  const audio = {
259
250
  masterBlobIds: b64UrlByRecording(masterReferences),
@@ -275,11 +266,11 @@ export async function getReleaseDetail(client, releaseId, options = {}) {
275
266
  tracks: toTracks(release, titles, audio),
276
267
  ...(trackCredits !== undefined ? { trackCredits } : {}),
277
268
  };
278
- }
279
- async function getTrackCreditsForRecordingIds(client, recordingIds) {
280
- const { compositionCredits, recordingCredits } = client.config.protocol;
281
- const tracks = await getTrackCreditsByRecordingIds(client.protocol, client.graphql, recordingIds, {
282
- misoPackageId: client.config.deployment.musicos,
269
+ });
270
+ const getTrackCreditsForRecordingIds = Effect.fn("getTrackCreditsForRecordingIds")(function* (recordingIds, config) {
271
+ const { compositionCredits, recordingCredits } = config.protocol;
272
+ const tracks = yield* getTrackCreditsByRecordingIds(recordingIds, {
273
+ misoPackageId: config.deployment.musicos,
283
274
  compositionCreditsPackageId: compositionCredits,
284
275
  recordingCreditsPackageId: recordingCredits,
285
276
  });
@@ -294,53 +285,53 @@ async function getTrackCreditsForRecordingIds(client, recordingIds) {
294
285
  },
295
286
  },
296
287
  ]));
297
- }
288
+ });
298
289
  /**
299
290
  * Per-track credits for a release, keyed by recording id. A track with no credits
300
291
  * set maps to an empty entry rather than being absent, so a caller can tell
301
292
  * "nothing credited" from "no such track".
302
293
  */
303
- export async function getTrackCredits(client, releaseId) {
304
- const release = await getReleaseById(client.protocol, releaseId);
294
+ export const getTrackCredits = Effect.fn("getTrackCredits")(function* (releaseId, config) {
295
+ const release = yield* getReleaseById(releaseId);
305
296
  const recordingIds = release.tracks.map((track) => track.recordingId);
306
- return getTrackCreditsForRecordingIds(client, recordingIds);
307
- }
297
+ return yield* getTrackCreditsForRecordingIds(recordingIds, config);
298
+ });
308
299
  // ── Pressing ─────────────────────────────────────────────────────────────────
309
300
  /** Everything a Pressing page renders. `null` when no such Pressing exists. */
310
- export async function getPressingDetail(client, pressingId, options = {}) {
311
- const pressing = await getPressingView(client, pressingId);
301
+ export const getPressingDetail = Effect.fn("getPressingDetail")(function* (pressingId, config, options = {}) {
302
+ const pressing = yield* getPressingView(pressingId, config);
312
303
  if (!pressing)
313
304
  return null;
314
- const release = await getReleaseDetail(client, pressing.releaseId, options);
305
+ const release = yield* getReleaseDetail(pressing.releaseId, config, options);
315
306
  return { pressing, release };
316
- }
307
+ });
317
308
  /**
318
309
  * A Pressing page plus one currency-specific Listing. Unlike `getSaleDetail`,
319
310
  * this starts from a Pressing id, which is the durable route and Party-feature
320
311
  * reference exposed to users.
321
312
  */
322
- export async function getPressingSaleDetail(client, pressingId, currencyType, options = {}) {
323
- const pressing = await getPressingView(client, pressingId);
313
+ export const getPressingSaleDetail = Effect.fn("getPressingSaleDetail")(function* (pressingId, currencyType, config, options = {}) {
314
+ const pressing = yield* getPressingView(pressingId, config);
324
315
  if (!pressing)
325
316
  return null;
326
- const [listing, release] = await Promise.all([
327
- getListingView(client, pressing.id, currencyType),
328
- getReleaseDetail(client, pressing.releaseId, options),
317
+ const [listing, release] = yield* Effect.all([
318
+ getListingView(pressing.id, currencyType, config),
319
+ getReleaseDetail(pressing.releaseId, config, options),
329
320
  ]);
330
321
  if (!listing)
331
322
  return null;
332
323
  return { sale: { pressing, listing }, release };
333
- }
324
+ });
334
325
  /**
335
326
  * The confirmation preview behind "paste a pressing id to pin it". Verifies the
336
327
  * object really is a `Pressing` before spending reads on it — a release id or a
337
328
  * record id pasted by mistake must come back as `null`, not as a half-built card.
338
329
  */
339
- export async function getPressingPreview(client, pressingId) {
340
- const pressing = await getPressingView(client, pressingId);
330
+ export const getPressingPreview = Effect.fn("getPressingPreview")(function* (pressingId, config) {
331
+ const pressing = yield* getPressingView(pressingId, config);
341
332
  if (!pressing)
342
333
  return null;
343
- const { release, cover } = await getReleaseResources(client, pressing.releaseId, ["cover"]);
334
+ const { release, cover } = yield* getReleaseResources(pressing.releaseId, config, ["cover"]);
344
335
  return {
345
336
  pressingId,
346
337
  title: release.title,
@@ -351,15 +342,15 @@ export async function getPressingPreview(client, pressingId) {
351
342
  maxSupply: pressing.maxSupply,
352
343
  trackCount: release.tracks.length,
353
344
  };
354
- }
345
+ });
355
346
  /**
356
347
  * Everything a currency-specific buy page renders. The Listing is derived from
357
348
  * the release's Pressing and the requested currency, never found through mutable
358
349
  * lookup state.
359
350
  */
360
- export async function getSaleDetail(client, releaseId, edition, currencyType, options = {}) {
361
- const sales = requireRecordSalesDeployment(client.config.recordSales);
362
- const sale = await getSale(client.protocol, {
351
+ export const getSaleDetail = Effect.fn("getSaleDetail")(function* (releaseId, edition, currencyType, config, options = {}) {
352
+ const sales = requireRecordSalesDeployment(config.recordSales);
353
+ const sale = yield* getSale({
363
354
  releaseId,
364
355
  edition,
365
356
  currencyType,
@@ -368,41 +359,38 @@ export async function getSaleDetail(client, releaseId, edition, currencyType, op
368
359
  });
369
360
  if (!sale.pressing || !sale.listing)
370
361
  return null;
371
- const release = await getReleaseDetail(client, sale.pressing.releaseId, options);
362
+ const release = yield* getReleaseDetail(sale.pressing.releaseId, config, options);
372
363
  return { sale: toSaleView(sale.pressing, sale.listing), release };
373
- }
364
+ });
374
365
  // ── Discover ─────────────────────────────────────────────────────────────────
375
366
  /**
376
367
  * The records currently on sale.
377
368
  *
378
369
  * Configured by release + edition + currency: both addresses are deterministic.
379
370
  */
380
- export async function getDiscoverShelf(client) {
381
- const configuredSales = [...client.config.discoverSales];
382
- const sales = requireRecordSalesDeployment(client.config.recordSales);
383
- const settled = await Promise.all(configuredSales.map(async (configured) => ({
384
- configured,
385
- result: await getSale(client.protocol, {
386
- ...configured,
387
- recordPackageId: sales.recordPackageId,
388
- recordShopPackageId: sales.recordShopPackageId,
389
- }),
390
- })));
371
+ export const getDiscoverShelf = Effect.fn("getDiscoverShelf")(function* (config) {
372
+ const configuredSales = [...config.discoverSales];
373
+ const sales = requireRecordSalesDeployment(config.recordSales);
374
+ const settled = yield* Effect.forEach(configuredSales, (configured) => getSale({
375
+ ...configured,
376
+ recordPackageId: sales.recordPackageId,
377
+ recordShopPackageId: sales.recordShopPackageId,
378
+ }).pipe(Effect.map((result) => ({ configured, result }))), { concurrency: "unbounded" });
391
379
  const available = settled.filter((item) => item.result.pressing !== null && item.result.listing !== null);
392
380
  const releaseIds = [...new Set(available.map((item) => item.result.pressing.releaseId))];
393
381
  if (releaseIds.length === 0)
394
382
  return [];
395
- const [releases, coverViews, credits] = await Promise.all([
396
- getReleasesByIds(client.protocol, releaseIds),
397
- getReleaseCoversByIds(client.protocol, releaseIds, client.config.protocol.releaseCoverArt).catch(() => ({})),
398
- getReleaseCreditsByIds(client.protocol, releaseIds, client.config.protocol.releaseCredits).catch(() => ({})),
383
+ const [releases, coverViews, credits] = yield* Effect.all([
384
+ getReleasesByIds(releaseIds),
385
+ getReleaseCoversByIds(releaseIds, config.protocol.releaseCoverArt).pipe(Effect.catch(() => Effect.succeed({}))),
386
+ getReleaseCreditsByIds(releaseIds, config.protocol.releaseCredits).pipe(Effect.catch(() => Effect.succeed({}))),
399
387
  ]);
400
388
  return available.flatMap(({ result }) => {
401
389
  const releaseId = result.pressing.releaseId;
402
390
  const release = releases[releaseId];
403
391
  if (!release)
404
392
  return [];
405
- const cover = toCover(client.config.walrusAggregatorUrl, coverViews[releaseId] ?? null);
393
+ const cover = toCover(config.walrusAggregatorUrl, coverViews[releaseId] ?? null);
406
394
  return [
407
395
  {
408
396
  sale: toSaleView(result.pressing, result.listing),
@@ -413,34 +401,25 @@ export async function getDiscoverShelf(client) {
413
401
  },
414
402
  ];
415
403
  });
416
- }
417
- export async function getRecordAlbum(client, recordId, options = {}) {
418
- try {
419
- const sales = requireRecordSalesDeployment(client.config.recordSales);
420
- const record = await getRecord(client.protocol, recordId, sales.recordPackageId);
421
- if (!record)
422
- return null;
423
- const releaseId = record.releaseId;
424
- const includeRelease = options.include?.some((part) => part === "release" || part === "trackCredits") ?? false;
425
- const release = includeRelease && releaseId
426
- ? await getReleaseDetail(client, releaseId, {
427
- include: options.include?.includes("trackCredits")
428
- ? ["trackCredits"]
429
- : [],
430
- })
431
- : includeRelease
432
- ? null
433
- : undefined;
434
- return {
435
- recordId,
436
- releaseId,
437
- ...(includeRelease ? { release } : {}),
438
- };
439
- }
440
- catch (e) {
441
- if (isNotFound(e))
442
- return null;
443
- throw e;
444
- }
445
- }
404
+ });
405
+ export const getRecordAlbum = Effect.fn("getRecordAlbum")(function* (recordId, config, options = {}) {
406
+ const sales = requireRecordSalesDeployment(config.recordSales);
407
+ const record = yield* getRecord(recordId, sales.recordPackageId);
408
+ if (!record)
409
+ return null;
410
+ const releaseId = record.releaseId;
411
+ const includeRelease = options.include?.some((part) => part === "release" || part === "trackCredits") ?? false;
412
+ const release = includeRelease && releaseId
413
+ ? yield* getReleaseDetail(releaseId, config, {
414
+ include: options.include?.includes("trackCredits") ? ["trackCredits"] : [],
415
+ })
416
+ : includeRelease
417
+ ? null
418
+ : undefined;
419
+ return {
420
+ recordId,
421
+ releaseId,
422
+ ...(includeRelease ? { release } : {}),
423
+ };
424
+ });
446
425
  //# sourceMappingURL=catalog.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/read/catalog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/read/catalog.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,16 @@
1
+ import type { ClientWithCoreApi } from "@mysten/sui/client";
1
2
  import { SuiGrpcClient } from "@mysten/sui/grpc";
2
3
  import { SuiGraphQLClient } from "@mysten/sui/graphql";
3
4
  import { type MisoProtocolClient } from "@misofm/musicos/client";
4
5
  import { PartyPlatformClient } from "../party/index.ts";
5
6
  import { type MisoConfig, type MisoConfigOverrides, type Network } from "./config.ts";
6
7
  /**
7
- * The structural slice of a Sui client the protocol SDK's read helpers want. They
8
- * declare `ClientWithCoreApi` against their own @mysten/sui; this alias names the
9
- * same shape from our side so the one cast in `createMisoClient` is explicit
10
- * rather than an `any` smeared across the codebase.
8
+ * The transport slice every `@misofm/platform/read` function needs to run its
9
+ * `Effect`: `Effect.provide(SuiClient.layer(client.protocol))`. `sui` (below)
10
+ * satisfies this structurally, since it is a real `ClientWithCoreApi`.
11
11
  */
12
- export type ProtocolClient = Parameters<typeof import("@misofm/musicos").getReleaseById>[0];
13
- /** A GraphQL client in the shape the protocol SDK's type-discovery queries want. */
12
+ export type ProtocolClient = ClientWithCoreApi;
13
+ /** A GraphQL client in the shape `@misofm/effect`'s `SuiGraphQL` service wants. */
14
14
  export type ProtocolGraphQLClient = SuiGraphQLClient;
15
15
  export interface MisoClient {
16
16
  config: MisoConfig;
@@ -18,11 +18,12 @@ export interface MisoClient {
18
18
  sui: SuiGrpcClient & {
19
19
  miso: MisoProtocolClient;
20
20
  };
21
- /** The same client, typed for the protocol SDK's read helpers. */
21
+ /** The same client, for `Effect.provide(SuiClient.layer(client.protocol))`. */
22
22
  protocol: ProtocolClient;
23
- /** GraphQL RPC, typed for the protocol SDK's type-discovery queries. */
23
+ /** GraphQL RPC, for `Effect.provide(SuiGraphQL.layer(client.graphql))`. */
24
24
  graphql: ProtocolGraphQLClient;
25
- /** The raw GraphQL client, for this SDK's own queries (the pruned-transaction read). */
25
+ /** The raw GraphQL client identical to `graphql`; both names are kept for
26
+ * source compatibility with callers migrating from the pre-Effect client. */
26
27
  graphqlRaw: SuiGraphQLClient;
27
28
  /** Party identity and profile reads/builders, bound to `config.partyos`/`config.party`. */
28
29
  party: PartyPlatformClient;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/read/client.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAQ,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAA2B,KAAK,UAAU,EAAE,KAAK,mBAAmB,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAM/G;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,cAAc,iBAAiB,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;AAE5F,oFAAoF;AACpF,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AAErD,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,UAAU,CAAC;IACnB,yEAAyE;IACzE,GAAG,EAAE,aAAa,GAAG;QAAE,IAAI,EAAE,kBAAkB,CAAA;KAAE,CAAC;IAClD,kEAAkE;IAClE,QAAQ,EAAE,cAAc,CAAC;IACzB,wEAAwE;IACxE,OAAO,EAAE,qBAAqB,CAAC;IAC/B,wFAAwF;IACxF,UAAU,EAAE,gBAAgB,CAAC;IAC7B,2FAA2F;IAC3F,KAAK,EAAE,mBAAmB,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAClE,wFAAwF;IACxF,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,4EAA4E;IAC5E,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,UAAU,CA4BlF"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/read/client.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAQ,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAA2B,KAAK,UAAU,EAAE,KAAK,mBAAmB,EAAE,KAAK,OAAO,EAAE,MAAM,aAAa,CAAC;AAM/G;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAE/C,mFAAmF;AACnF,MAAM,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AAErD,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,UAAU,CAAC;IACnB,yEAAyE;IACzE,GAAG,EAAE,aAAa,GAAG;QAAE,IAAI,EAAE,kBAAkB,CAAA;KAAE,CAAC;IAClD,+EAA+E;IAC/E,QAAQ,EAAE,cAAc,CAAC;IACzB,2EAA2E;IAC3E,OAAO,EAAE,qBAAqB,CAAC;IAC/B;iFAC6E;IAC7E,UAAU,EAAE,gBAAgB,CAAC;IAC7B,2FAA2F;IAC3F,KAAK,EAAE,mBAAmB,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAClE,wFAAwF;IACxF,OAAO,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC3B,4EAA4E;IAC5E,MAAM,CAAC,EAAE,UAAU,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,UAAU,CA4BlF"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/read/client.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AACtC,EAAE;AACF,sDAAsD;AACtD,EAAE;AACF,8CAA8C;AAC9C,6EAA6E;AAC7E,6DAA6D;AAC7D,iFAAiF;AACjF,iFAAiF;AACjF,yEAAyE;AACzE,EAAE;AACF,mFAAmF;AACnF,6DAA6D;AAC7D,EAAE;AACF,gFAAgF;AAChF,0DAA0D;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,IAAI,EAA2B,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,WAAW,EAA2D,MAAM,aAAa,CAAC;AAE/G,SAAS,gBAAgB,CAAmB,KAAQ;IAClD,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAe,CAAC;AAC1G,CAAC;AAkCD;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAO,GAA4B,EAAE;IACpE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC;IAClE,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9C,6EAA6E;IAC7E,2EAA2E;IAC3E,MAAM,MAAM,GAAG,cAAc;QAC3B,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,GAAG,gBAAgB,CAAC,SAAS,CAAC,EAAE;QACvD,CAAC,CAAC,UAAU,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IAC5C,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,gBAAgB,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CACb,iDAAiD,MAAM,CAAC,OAAO,SAAS,gBAAgB,GAAG,CAC5F,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACrF,MAAM,UAAU,GAAG,IAAI,gBAAgB,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAE7F,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,IAAI,mBAAmB,CAAC,GAAG,EAAE,IAAI,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAEjG,OAAO;QACL,MAAM;QACN,GAAG;QACH,QAAQ,EAAE,GAAgC;QAC1C,OAAO,EAAE,UAA8C;QACvD,UAAU;QACV,KAAK;KACN,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/read/client.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AACtC,EAAE;AACF,sDAAsD;AACtD,EAAE;AACF,8CAA8C;AAC9C,6EAA6E;AAC7E,6DAA6D;AAC7D,iFAAiF;AACjF,iFAAiF;AACjF,yEAAyE;AACzE,EAAE;AACF,mFAAmF;AACnF,6DAA6D;AAC7D,EAAE;AACF,gFAAgF;AAChF,0DAA0D;AAG1D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,IAAI,EAA2B,MAAM,wBAAwB,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,WAAW,EAA2D,MAAM,aAAa,CAAC;AAE/G,SAAS,gBAAgB,CAAmB,KAAQ;IAClD,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAe,CAAC;AAC1G,CAAC;AAkCD;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAO,GAA4B,EAAE;IACpE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,SAAS,EAAE,GAAG,OAAO,CAAC;IAClE,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IAC9C,6EAA6E;IAC7E,2EAA2E;IAC3E,MAAM,MAAM,GAAG,cAAc;QAC3B,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,GAAG,gBAAgB,CAAC,SAAS,CAAC,EAAE;QACvD,CAAC,CAAC,UAAU,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IAC5C,IAAI,OAAO,KAAK,SAAS,IAAI,MAAM,CAAC,OAAO,KAAK,gBAAgB,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CACb,iDAAiD,MAAM,CAAC,OAAO,SAAS,gBAAgB,GAAG,CAC5F,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,aAAa,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IACrF,MAAM,UAAU,GAAG,IAAI,gBAAgB,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAE7F,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;IAClE,MAAM,KAAK,GAAG,IAAI,mBAAmB,CAAC,GAAG,EAAE,IAAI,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IAEjG,OAAO;QACL,MAAM;QACN,GAAG;QACH,QAAQ,EAAE,GAAG;QACb,OAAO,EAAE,UAAU;QACnB,UAAU;QACV,KAAK;KACN,CAAC;AACJ,CAAC"}
@@ -1,7 +1,9 @@
1
- import type { MisoClient } from "./client.ts";
1
+ import { Effect } from "effect";
2
+ import { type SuiClient } from "@misofm/effect";
2
3
  /**
3
4
  * Resolve `Genre` object ids to display names. Best-effort: an id that fails to
4
- * read is dropped rather than failing the artist page around it.
5
+ * read, or whose content does not parse as a `Genre`, is dropped rather than
6
+ * failing the artist page around it.
5
7
  */
6
- export declare function resolveGenreNames(client: MisoClient, ids: string[]): Promise<string[]>;
8
+ export declare const resolveGenreNames: (ids: string[]) => Effect.Effect<string[], never, SuiClient>;
7
9
  //# sourceMappingURL=genres.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"genres.d.ts","sourceRoot":"","sources":["../../src/read/genres.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAW9C;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAc5F"}
1
+ {"version":3,"file":"genres.d.ts","sourceRoot":"","sources":["../../src/read/genres.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAYnE;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,8DAmB5B,CAAC"}