@misofm/sdk 0.15.0 → 0.15.2

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.
@@ -1,12 +1,16 @@
1
1
  import type { Release } from "@misonetwork/sdk";
2
2
  import type { MisoClient } from "./client.ts";
3
- import type { Cover, Credit, Currency, DiscoverItem, PressingDetail, PressingPreview, RecordAlbum, ReleaseDetail, SaleDetail, TrackCredits } from "./types.ts";
3
+ import type { Cover, Credit, Currency, DiscoverItem, ListingView, PressingDetail, PressingPreview, PressingView, RecordAlbum, ReleaseDetail, SaleDetail, TrackCredits } from "./types.ts";
4
4
  /**
5
5
  * Symbol + decimals for a coin type. FakeUsd (the testnet dollar) is 6dp; SUI is
6
6
  * 9dp; anything else falls back to its module name at 9dp, which is the Sui
7
7
  * default and the honest guess for a coin we have no table entry for.
8
8
  */
9
9
  export declare function currencyInfo(type: string | null): Currency;
10
+ /** One permanent pressing, projected to the JSON-safe read boundary. */
11
+ export declare function getPressingView(client: MisoClient, pressingId: string): Promise<PressingView | null>;
12
+ /** One currency-specific listing derived from its permanent pressing. */
13
+ export declare function getListingView(client: MisoClient, pressingId: string, currencyType: string): Promise<ListingView | null>;
10
14
  /** The release's PRIMARY credits, in chain order — a release's artist line. */
11
15
  export declare function primaryArtistNames(credits: Credit[]): string[];
12
16
  /** A release's cover from the configured `release_cover_art` package. */
@@ -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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"}
@@ -90,6 +90,18 @@ function toListingView(listing) {
90
90
  function toSaleView(pressing, listing) {
91
91
  return { pressing: toPressingView(pressing), listing: toListingView(listing) };
92
92
  }
93
+ /** One permanent pressing, projected to the JSON-safe read boundary. */
94
+ export async function getPressingView(client, pressingId) {
95
+ const pressing = await getPressing(client.protocol, pressingId, client.config.protocol.pressing);
96
+ return pressing ? toPressingView(pressing) : null;
97
+ }
98
+ /** One currency-specific listing derived from its permanent pressing. */
99
+ export async function getListingView(client, pressingId, currencyType) {
100
+ const packageId = client.config.protocol.pressing;
101
+ const listingId = deriveListingId(pressingId, currencyType, packageId);
102
+ const listing = await getListing(client.protocol, listingId, packageId);
103
+ return listing ? toListingView(listing) : null;
104
+ }
93
105
  function toWorkState(state) {
94
106
  return state.type === "Published"
95
107
  ? { type: "Published", timestampMs: state.timestampMs }
@@ -254,11 +266,11 @@ export async function getTrackCredits(client, releaseId) {
254
266
  // ── Pressing ─────────────────────────────────────────────────────────────────
255
267
  /** Everything a Pressing page renders. `null` when no such Pressing exists. */
256
268
  export async function getPressingDetail(client, pressingId, options = {}) {
257
- const pressing = await getPressing(client.protocol, pressingId, client.config.protocol.pressing);
269
+ const pressing = await getPressingView(client, pressingId);
258
270
  if (!pressing)
259
271
  return null;
260
272
  const release = await getReleaseDetail(client, pressing.releaseId, options);
261
- return { pressing: toPressingView(pressing), release };
273
+ return { pressing, release };
262
274
  }
263
275
  /**
264
276
  * A Pressing page plus one currency-specific Listing. Unlike `getSaleDetail`,
@@ -266,18 +278,16 @@ export async function getPressingDetail(client, pressingId, options = {}) {
266
278
  * reference exposed to users.
267
279
  */
268
280
  export async function getPressingSaleDetail(client, pressingId, currencyType, options = {}) {
269
- const packageId = client.config.protocol.pressing;
270
- const pressing = await getPressing(client.protocol, pressingId, packageId);
281
+ const pressing = await getPressingView(client, pressingId);
271
282
  if (!pressing)
272
283
  return null;
273
- const listingId = deriveListingId(pressing.id, currencyType, packageId);
274
284
  const [listing, release] = await Promise.all([
275
- getListing(client.protocol, listingId, packageId),
285
+ getListingView(client, pressing.id, currencyType),
276
286
  getReleaseDetail(client, pressing.releaseId, options),
277
287
  ]);
278
288
  if (!listing)
279
289
  return null;
280
- return { sale: toSaleView(pressing, listing), release };
290
+ return { sale: { pressing, listing }, release };
281
291
  }
282
292
  /**
283
293
  * The confirmation preview behind "paste a pressing id to pin it". Verifies the
@@ -285,7 +295,7 @@ export async function getPressingSaleDetail(client, pressingId, currencyType, op
285
295
  * record id pasted by mistake must come back as `null`, not as a half-built card.
286
296
  */
287
297
  export async function getPressingPreview(client, pressingId) {
288
- const pressing = await getPressing(client.protocol, pressingId, client.config.protocol.pressing);
298
+ const pressing = await getPressingView(client, pressingId);
289
299
  if (!pressing)
290
300
  return null;
291
301
  const { release, cover } = await getReleaseResources(client, pressing.releaseId, ["cover"]);
@@ -294,8 +304,8 @@ export async function getPressingPreview(client, pressingId) {
294
304
  title: release.title,
295
305
  subtitle: null,
296
306
  coverUrl: cover?.still.url ?? null,
297
- state: toPressingView(pressing).state,
298
- supply: u64(pressing.supply),
307
+ state: pressing.state,
308
+ supply: pressing.supply,
299
309
  trackCount: release.tracks.length,
300
310
  };
301
311
  }
@@ -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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"}
@@ -8,6 +8,8 @@ export interface ProtocolIds {
8
8
  pressing: string;
9
9
  /** `miso_record` package — the exact owner/type namespace for `record::Record`. */
10
10
  record: string;
11
+ /** `vault` — shared custody for protocol admin capabilities. */
12
+ vault: string;
11
13
  /** `release_cover_art` — the release cover extension. */
12
14
  releaseCoverArt: string;
13
15
  /** `composition_credits` / `recording_credits` / `release_credits` extensions. */
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/read/config.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAGnE,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAE5C,qFAAqF;AACrF,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAI9D;AAED,wFAAwF;AACxF,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,eAAe,EAAE,MAAM,CAAC;IACxB,kFAAkF;IAClF,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,gFAAgF;AAChF,MAAM,WAAW,QAAQ;IACvB,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,qEAAqE;IACrE,UAAU,EAAE,cAAc,CAAC;IAC3B,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,QAAQ,CAAC;IAChB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;CACxC;AAED,oFAAoF;AACpF,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,4FAA4F;AAC5F,MAAM,MAAM,mBAAmB,GAAG,OAAO,CACvC,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,YAAY,GAAG,qBAAqB,GAAG,YAAY,GAAG,eAAe,CAAC,CACpG,CAAC;AAEF,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,GAAE,mBAAwB,GAAG,UAAU,CA0B5F"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/read/config.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAGnE,MAAM,MAAM,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAE5C,qFAAqF;AACrF,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAI9D;AAED,wFAAwF;AACxF,MAAM,WAAW,WAAW;IAC1B,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,eAAe,EAAE,MAAM,CAAC;IACxB,kFAAkF;IAClF,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,gFAAgF;AAChF,MAAM,WAAW,QAAQ;IACvB,sEAAsE;IACtE,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,qEAAqE;IACrE,UAAU,EAAE,cAAc,CAAC;IAC3B,QAAQ,EAAE,WAAW,CAAC;IACtB,KAAK,EAAE,QAAQ,CAAC;IAChB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,mBAAmB,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,aAAa,EAAE,SAAS,YAAY,EAAE,CAAC;CACxC;AAED,oFAAoF;AACpF,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,4FAA4F;AAC5F,MAAM,MAAM,mBAAmB,GAAG,OAAO,CACvC,IAAI,CAAC,UAAU,EAAE,SAAS,GAAG,YAAY,GAAG,qBAAqB,GAAG,YAAY,GAAG,eAAe,CAAC,CACpG,CAAC;AAEF,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,GAAE,mBAAwB,GAAG,UAAU,CA2B5F"}
@@ -28,6 +28,7 @@ export function misoConfig(network, overrides = {}) {
28
28
  protocol: {
29
29
  pressing: platform.packages.pressing,
30
30
  record: platform.packages.record,
31
+ vault: platform.packages.vault,
31
32
  releaseCoverArt: platform.packages.releaseCoverArt,
32
33
  compositionCredits: platform.packages.compositionCredits,
33
34
  recordingCredits: platform.packages.recordingCredits,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/read/config.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AACtC,EAAE;AACF,iFAAiF;AACjF,+EAA+E;AAC/E,yEAAyE;AACzE,mFAAmF;AACnF,2CAA2C;AAC3C,EAAE;AACF,+EAA+E;AAC/E,iFAAiF;AACjF,gCAAgC;AAGhC,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAI9D,qFAAqF;AACrF,MAAM,UAAU,WAAW,CAAC,KAAyB;IACnD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACjE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,IAAI,KAAK,CAAC,0CAA0C,KAAK,IAAI,CAAC,CAAC;AACvE,CAAC;AA8DD,iFAAiF;AACjF,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,YAAiC,EAAE;IAC9E,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,MAAM,GAAe;QACzB,OAAO;QACP,UAAU,EAAE,QAAQ,CAAC,QAAQ;QAC7B,QAAQ,EAAE;YACR,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,QAAQ;YACpC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM;YAChC,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAAC,eAAe;YAClD,kBAAkB,EAAE,QAAQ,CAAC,QAAQ,CAAC,kBAAkB;YACxD,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,CAAC,gBAAgB;YACpD,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,cAAc;YAChD,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM;SACjC;QACD,KAAK,EAAE;YACL,WAAW,EACT,sFAAsF;YACxF,WAAW,EAAE,CAAC;SACf;QACD,OAAO,EAAE,iCAAiC;QAC1C,UAAU,EAAE,wCAAwC;QACpD,mBAAmB,EAAE,gDAAgD;QACrE,UAAU,EAAE,6BAA6B;QACzC,aAAa,EAAE,EAAE;KAClB,CAAC;IACF,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;AACrD,CAAC;AAED,sEAAsE;AACtE,SAAS,cAAc,CAAmB,CAAI;IAC5C,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAe,CAAC;AAChG,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/read/config.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AACtC,EAAE;AACF,iFAAiF;AACjF,+EAA+E;AAC/E,yEAAyE;AACzE,mFAAmF;AACnF,2CAA2C;AAC3C,EAAE;AACF,+EAA+E;AAC/E,iFAAiF;AACjF,gCAAgC;AAGhC,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAI9D,qFAAqF;AACrF,MAAM,UAAU,WAAW,CAAC,KAAyB;IACnD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACjE,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,MAAM,IAAI,KAAK,CAAC,0CAA0C,KAAK,IAAI,CAAC,CAAC;AACvE,CAAC;AAgED,iFAAiF;AACjF,MAAM,UAAU,UAAU,CAAC,OAAgB,EAAE,YAAiC,EAAE;IAC9E,MAAM,QAAQ,GAAG,yBAAyB,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,MAAM,GAAe;QACzB,OAAO;QACP,UAAU,EAAE,QAAQ,CAAC,QAAQ;QAC7B,QAAQ,EAAE;YACR,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,QAAQ;YACpC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM;YAChC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK;YAC9B,eAAe,EAAE,QAAQ,CAAC,QAAQ,CAAC,eAAe;YAClD,kBAAkB,EAAE,QAAQ,CAAC,QAAQ,CAAC,kBAAkB;YACxD,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,CAAC,gBAAgB;YACpD,cAAc,EAAE,QAAQ,CAAC,QAAQ,CAAC,cAAc;YAChD,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM;SACjC;QACD,KAAK,EAAE;YACL,WAAW,EACT,sFAAsF;YACxF,WAAW,EAAE,CAAC;SACf;QACD,OAAO,EAAE,iCAAiC;QAC1C,UAAU,EAAE,wCAAwC;QACpD,mBAAmB,EAAE,gDAAgD;QACrE,UAAU,EAAE,6BAA6B;QACzC,aAAa,EAAE,EAAE;KAClB,CAAC;IACF,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;AACrD,CAAC;AAED,sEAAsE;AACtE,SAAS,cAAc,CAAmB,CAAI;IAC5C,OAAO,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAe,CAAC;AAChG,CAAC"}
@@ -2,7 +2,7 @@ export { createMisoClient } from "./client.ts";
2
2
  export type { MisoClient, CreateMisoClientOptions } from "./client.ts";
3
3
  export { misoConfig, networkFrom } from "./config.ts";
4
4
  export type { MisoConfig, MisoConfigOverrides, DiscoverSale, MoneyIds, Network, ProtocolIds, } from "./config.ts";
5
- export { currencyInfo, getDiscoverShelf, getPressingDetail, getPressingSaleDetail, getPressingPreview, getRecordAlbum, getReleaseDetail, getReleaseResources, getTrackCredits, getSaleDetail, primaryArtistNames, readReleaseCover, } from "./catalog.ts";
5
+ export { currencyInfo, getDiscoverShelf, getListingView, getPressingDetail, getPressingView, getPressingSaleDetail, getPressingPreview, getRecordAlbum, getReleaseDetail, getReleaseResources, getTrackCredits, getSaleDetail, primaryArtistNames, readReleaseCover, } from "./catalog.ts";
6
6
  export type { GetRecordAlbumOptions, GetReleaseOptions, RecordAlbumInclude, ReleaseInclude, ReleaseResourceInclude, } from "./catalog.ts";
7
7
  export type { ReleaseResources } from "./catalog.ts";
8
8
  export { getArtistProfile, getPartySummaries, partyAvatarUrl, } from "./artist.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/read/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,YAAY,EACV,UAAU,EACV,mBAAmB,EACnB,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EACL,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,SAAS,EACT,UAAU,GACX,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE9D,mBAAmB,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/read/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEvE,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,YAAY,EACV,UAAU,EACV,mBAAmB,EACnB,YAAY,EACZ,QAAQ,EACR,OAAO,EACP,WAAW,GACZ,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,sBAAsB,GACvB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,GACf,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EACL,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,SAAS,EACT,UAAU,GACX,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE9D,mBAAmB,YAAY,CAAC"}
@@ -15,7 +15,7 @@
15
15
  // const pressing = await getPressingDetail(miso, pressingId)
16
16
  export { createMisoClient } from "./client.js";
17
17
  export { misoConfig, networkFrom } from "./config.js";
18
- export { currencyInfo, getDiscoverShelf, getPressingDetail, getPressingSaleDetail, getPressingPreview, getRecordAlbum, getReleaseDetail, getReleaseResources, getTrackCredits, getSaleDetail, primaryArtistNames, readReleaseCover, } from "./catalog.js";
18
+ export { currencyInfo, getDiscoverShelf, getListingView, getPressingDetail, getPressingView, getPressingSaleDetail, getPressingPreview, getRecordAlbum, getReleaseDetail, getReleaseResources, getTrackCredits, getSaleDetail, primaryArtistNames, readReleaseCover, } from "./catalog.js";
19
19
  export { getArtistProfile, getPartySummaries, partyAvatarUrl, } from "./artist.js";
20
20
  export { resolveGenreNames } from "./genres.js";
21
21
  export { getBalance, getOwnedParties, getPendingMemberships, getOwnedRecords, getOwnedWorks, getWorkByCap, ownsParty, ownsRecord, } from "./wallet.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/read/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AACtC,EAAE;AACF,8DAA8D;AAC9D,EAAE;AACF,iFAAiF;AACjF,sEAAsE;AACtE,kFAAkF;AAClF,gBAAgB;AAChB,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,EAAE;AACF,0DAA0D;AAC1D,+DAA+D;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAUtD,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAUtB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,GACf,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EACL,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,SAAS,EACT,UAAU,GACX,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/read/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,sCAAsC;AACtC,EAAE;AACF,8DAA8D;AAC9D,EAAE;AACF,iFAAiF;AACjF,sEAAsE;AACtE,kFAAkF;AAClF,gBAAgB;AAChB,EAAE;AACF,+EAA+E;AAC/E,8EAA8E;AAC9E,EAAE;AACF,0DAA0D;AAC1D,+DAA+D;AAE/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAG/C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAUtD,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAUtB,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,GACf,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EACL,UAAU,EACV,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,aAAa,EACb,YAAY,EACZ,SAAS,EACT,UAAU,GACX,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC"}
@@ -1,5 +1,16 @@
1
1
  import type { MisoClient } from "./client.ts";
2
2
  import type { Balance, OwnedParty, OwnedRecord, OwnedWork, Ownership, PendingMembership, WorkDetail } from "./types.ts";
3
+ type WorkAdminCapType = {
4
+ kind: "composition";
5
+ shareType: string;
6
+ } | {
7
+ kind: "recording";
8
+ shareType: string;
9
+ } | {
10
+ kind: "release";
11
+ };
12
+ /** @internal Exact nested-type classifier used by the vault-aware catalog read. */
13
+ export declare function classifyVaultedWorkAdminCapType(type: string, vaultPackageId: string, misoPackageId: string): WorkAdminCapType | null;
3
14
  /**
4
15
  * The records `owner` holds. Ownership is DIRECT — a record is an address-owned
5
16
  * `<miso_record>::record::Record` with no pressing/license/receipt intermediary.
@@ -27,14 +38,14 @@ export declare function getPendingMemberships(client: MisoClient, owner: string)
27
38
  * Every work the wallet administers, keyed by its ADMIN CAP id (the studio
28
39
  * catalog's routing unit — caps are what control means here).
29
40
  *
30
- * Three transports, one answer: cap discovery is gRPC; one aliased GraphQL
41
+ * Three transports, one answer: direct or vaulted cap discovery is gRPC; one aliased GraphQL
31
42
  * request maps every share type to its work address (gRPC cannot ask "which
32
43
  * object has type X"); one gRPC batch loads all the work contents. Releases skip
33
44
  * the GraphQL hop entirely — `ReleaseAdminCap` is not generic and carries
34
45
  * `release_id` directly.
35
46
  */
36
47
  export declare function getOwnedWorks(client: MisoClient, owner: string): Promise<OwnedWork[]>;
37
- /** Classify a cap by its on-chain type, then resolve the work behind it. */
48
+ /** Classify a direct or vaulted cap by its on-chain type, then resolve its work. */
38
49
  export declare function getWorkByCap(client: MisoClient, capId: string): Promise<WorkDetail | null>;
39
50
  /**
40
51
  * A wallet's spendable balance in one currency. `core.getBalance` totals coin
@@ -60,4 +71,5 @@ export declare function ownsParty(client: MisoClient, address: string, partyId:
60
71
  * fetch regardless.
61
72
  */
62
73
  export declare function ownsRecord(client: MisoClient, address: string, recordId: string): Promise<Ownership>;
74
+ export {};
63
75
  //# sourceMappingURL=wallet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/read/wallet.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,WAAW,EACX,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,UAAU,EACX,MAAM,YAAY,CAAC;AAiCpB;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CA+B/F;AAID;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CA2B9F;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAuB9B;AAoBD;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAmD3F;AAED,4EAA4E;AAC5E,wBAAsB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CA2DhG;AAID;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASzG;AAWD;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAOxG;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAM1G"}
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/read/wallet.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAG9C,OAAO,KAAK,EACV,OAAO,EACP,UAAU,EACV,WAAW,EACX,SAAS,EACT,SAAS,EACT,iBAAiB,EACjB,UAAU,EACX,MAAM,YAAY,CAAC;AAUpB,KAAK,gBAAgB,GACjB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GACxC;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAsDxB,mFAAmF;AACnF,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,MAAM,EACZ,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,GACpB,gBAAgB,GAAG,IAAI,CAmBzB;AAyBD;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CA+B/F;AAID;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CA2B9F;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAuB9B;AAoHD;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAwD3F;AAED,oFAAoF;AACpF,wBAAsB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CA2HhG;AAID;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASzG;AAWD;;;;;;;;GAQG;AACH,wBAAsB,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAOxG;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAM1G"}
@@ -9,9 +9,10 @@
9
9
  // dance (owned caps over gRPC → share types over GraphQL → work contents over
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
- import { normalizeSuiAddress } from "@mysten/sui/utils";
12
+ import { normalizeStructTag, normalizeSuiAddress, parseStructTag } from "@mysten/sui/utils";
13
13
  import { contracts as networkContracts, getCompositionByShareType, getOwnedReleaseAdminCaps, getRecordingByShareType, getReleaseById, isNotFound, } from "@misonetwork/sdk";
14
14
  import { int, u64 } from "./internal/scalars.js";
15
+ import * as vaultContract from "../contracts/vault/vault.js";
15
16
  import { getRecordingTitles, getWorkAddressesByShareTypes, getWorksByIds } from "./works.js";
16
17
  /**
17
18
  * Page cap on the owned-objects scan, so a wallet holding a huge unrelated object
@@ -19,6 +20,61 @@ import { getRecordingTitles, getWorkAddressesByShareTypes, getWorksByIds } from
19
20
  * library.
20
21
  */
21
22
  const MAX_PAGES = 20;
23
+ function classifyWorkAdminCapType(type, misoPackageId) {
24
+ let tag;
25
+ try {
26
+ tag = parseStructTag(type);
27
+ }
28
+ catch {
29
+ return null;
30
+ }
31
+ if (tag.address !== misoPackageId)
32
+ return null;
33
+ if (tag.module === "composition" &&
34
+ tag.name === "CompositionAdminCap" &&
35
+ tag.typeParams.length === 1) {
36
+ const share = tag.typeParams[0];
37
+ return {
38
+ kind: "composition",
39
+ shareType: typeof share === "string" ? share : normalizeStructTag(share),
40
+ };
41
+ }
42
+ if (tag.module === "recording" &&
43
+ tag.name === "RecordingAdminCap" &&
44
+ tag.typeParams.length === 1) {
45
+ const share = tag.typeParams[0];
46
+ return {
47
+ kind: "recording",
48
+ shareType: typeof share === "string" ? share : normalizeStructTag(share),
49
+ };
50
+ }
51
+ if (tag.module === "release" &&
52
+ tag.name === "ReleaseAdminCap" &&
53
+ tag.typeParams.length === 0) {
54
+ return { kind: "release" };
55
+ }
56
+ return null;
57
+ }
58
+ /** @internal Exact nested-type classifier used by the vault-aware catalog read. */
59
+ export function classifyVaultedWorkAdminCapType(type, vaultPackageId, misoPackageId) {
60
+ let tag;
61
+ try {
62
+ tag = parseStructTag(type);
63
+ }
64
+ catch {
65
+ return null;
66
+ }
67
+ if (tag.address !== vaultPackageId ||
68
+ tag.module !== "vault" ||
69
+ tag.name !== "VaultAdminCap" ||
70
+ tag.typeParams.length !== 1) {
71
+ return null;
72
+ }
73
+ const wrapped = tag.typeParams[0];
74
+ return wrapped && typeof wrapped !== "string"
75
+ ? classifyWorkAdminCapType(normalizeStructTag(wrapped), misoPackageId)
76
+ : null;
77
+ }
22
78
  // ── Records ──────────────────────────────────────────────────────────────────
23
79
  function coerceNumber(v) {
24
80
  if (typeof v === "number" && Number.isFinite(v))
@@ -150,20 +206,110 @@ export async function getPendingMemberships(client, owner) {
150
206
  * not store the work's id — only its share type.
151
207
  */
152
208
  async function ownedGenericCaps(client, owner, capType) {
153
- const { objects } = await client.protocol.core.listOwnedObjects({ owner, type: capType, limit: 50 });
154
209
  const caps = [];
155
- for (const obj of objects) {
156
- const match = /<(.+)>$/.exec(obj.type);
157
- if (match?.[1])
158
- caps.push({ id: obj.objectId, shareType: match[1] });
210
+ let cursor = null;
211
+ for (let page = 0; page < MAX_PAGES; page++) {
212
+ const res = await client.protocol.core.listOwnedObjects({ owner, type: capType, cursor, limit: 50 });
213
+ for (const obj of res.objects) {
214
+ const match = /<(.+)>$/.exec(obj.type);
215
+ if (match?.[1])
216
+ caps.push({ id: obj.objectId, shareType: match[1] });
217
+ }
218
+ if (!res.hasNextPage)
219
+ break;
220
+ cursor = res.cursor;
221
+ if (!cursor)
222
+ break;
159
223
  }
160
224
  return caps;
161
225
  }
226
+ /**
227
+ * Discover owner-held VaultAdminCaps whose wrapped capability administers a
228
+ * catalog work. PressingAdminCap is deliberately ignored: Catalog is a work
229
+ * surface (composition / recording / release), not a sale-management surface.
230
+ */
231
+ async function ownedVaultedWorkCaps(client, owner) {
232
+ const out = { compositions: [], recordings: [], releases: [] };
233
+ const vaultPackageId = client.config.protocol.vault;
234
+ const misoPackageId = client.config.deployment.miso;
235
+ const capType = `${vaultPackageId}::vault::VaultAdminCap`;
236
+ let cursor = null;
237
+ for (let page = 0; page < MAX_PAGES; page++) {
238
+ const res = await client.protocol.core.listOwnedObjects({
239
+ owner,
240
+ type: capType,
241
+ cursor,
242
+ limit: 50,
243
+ include: { content: true },
244
+ });
245
+ for (const object of res.objects) {
246
+ if (!object.content)
247
+ continue;
248
+ const work = classifyVaultedWorkAdminCapType(object.type, vaultPackageId, misoPackageId);
249
+ if (!work)
250
+ continue;
251
+ try {
252
+ const { vault_id: vaultId } = vaultContract.VaultAdminCap.parse(object.content);
253
+ if (work.kind === "composition") {
254
+ out.compositions.push({ id: object.objectId, shareType: work.shareType, vaultId });
255
+ }
256
+ else if (work.kind === "recording") {
257
+ out.recordings.push({ id: object.objectId, shareType: work.shareType, vaultId });
258
+ }
259
+ else {
260
+ out.releases.push({ id: object.objectId, vaultId });
261
+ }
262
+ }
263
+ catch {
264
+ // A malformed object under the configured vault namespace is not usable
265
+ // authority and should not hide otherwise valid catalog entries.
266
+ }
267
+ }
268
+ if (!res.hasNextPage)
269
+ break;
270
+ cursor = res.cursor;
271
+ if (!cursor)
272
+ break;
273
+ }
274
+ return out;
275
+ }
276
+ /** Read the ReleaseAdminCap wrapped by each shared release vault. */
277
+ async function resolveVaultedReleaseCaps(client, caps) {
278
+ if (caps.length === 0)
279
+ return [];
280
+ const releaseCapType = `${client.config.deployment.miso}::release::ReleaseAdminCap`;
281
+ const vaultType = normalizeStructTag(`${client.config.protocol.vault}::vault::Vault<${releaseCapType}>`);
282
+ const { objects } = await client.protocol.core.getObjects({
283
+ objectIds: caps.map((cap) => cap.vaultId),
284
+ include: { content: true },
285
+ });
286
+ const releasesByVault = new Map();
287
+ for (const object of objects) {
288
+ if (object instanceof Error || !object.content)
289
+ continue;
290
+ try {
291
+ if (normalizeStructTag(object.type) !== vaultType)
292
+ continue;
293
+ const vault = vaultContract.Vault(networkContracts.release.ReleaseAdminCap).parse(object.content);
294
+ const releaseId = vault.cap.value?.release_id;
295
+ if (releaseId)
296
+ releasesByVault.set(object.objectId, releaseId);
297
+ }
298
+ catch {
299
+ // Batch catalog discovery is best-effort per authority, matching the
300
+ // existing direct-cap path's treatment of unreadable work objects.
301
+ }
302
+ }
303
+ return caps.flatMap((cap) => {
304
+ const releaseId = releasesByVault.get(cap.vaultId);
305
+ return releaseId ? [{ id: cap.id, releaseId }] : [];
306
+ });
307
+ }
162
308
  /**
163
309
  * Every work the wallet administers, keyed by its ADMIN CAP id (the studio
164
310
  * catalog's routing unit — caps are what control means here).
165
311
  *
166
- * Three transports, one answer: cap discovery is gRPC; one aliased GraphQL
312
+ * Three transports, one answer: direct or vaulted cap discovery is gRPC; one aliased GraphQL
167
313
  * request maps every share type to its work address (gRPC cannot ask "which
168
314
  * object has type X"); one gRPC batch loads all the work contents. Releases skip
169
315
  * the GraphQL hop entirely — `ReleaseAdminCap` is not generic and carries
@@ -171,11 +317,16 @@ async function ownedGenericCaps(client, owner, capType) {
171
317
  */
172
318
  export async function getOwnedWorks(client, owner) {
173
319
  const miso = client.config.deployment.miso;
174
- const [compCaps, recCaps, relCaps] = await Promise.all([
320
+ const [directCompCaps, directRecCaps, directRelCaps, vaulted] = await Promise.all([
175
321
  ownedGenericCaps(client, owner, `${miso}::composition::CompositionAdminCap`),
176
322
  ownedGenericCaps(client, owner, `${miso}::recording::RecordingAdminCap`),
177
323
  getOwnedReleaseAdminCaps(client.protocol, owner, miso),
324
+ ownedVaultedWorkCaps(client, owner),
178
325
  ]);
326
+ const vaultedRelCaps = await resolveVaultedReleaseCaps(client, vaulted.releases);
327
+ const compCaps = [...directCompCaps, ...vaulted.compositions];
328
+ const recCaps = [...directRecCaps, ...vaulted.recordings];
329
+ const relCaps = [...directRelCaps, ...vaultedRelCaps];
179
330
  const addresses = await getWorkAddressesByShareTypes(client.graphql, { compositions: compCaps.map((c) => c.shareType), recordings: recCaps.map((c) => c.shareType) }, miso);
180
331
  const works = await getWorksByIds(client.protocol, {
181
332
  compositions: Object.values(addresses.compositions).filter((id) => id !== undefined),
@@ -211,23 +362,29 @@ export async function getOwnedWorks(client, owner) {
211
362
  });
212
363
  return [...comps, ...recs, ...rels];
213
364
  }
214
- /** Classify a cap by its on-chain type, then resolve the work behind it. */
365
+ /** Classify a direct or vaulted cap by its on-chain type, then resolve its work. */
215
366
  export async function getWorkByCap(client, capId) {
216
367
  const miso = client.config.deployment.miso;
217
368
  let type;
218
369
  let json;
370
+ let content;
219
371
  try {
220
- const { object } = await client.protocol.core.getObject({ objectId: capId, include: { json: true } });
372
+ const { object } = await client.protocol.core.getObject({
373
+ objectId: capId,
374
+ include: { json: true, content: true },
375
+ });
221
376
  type = object.type;
222
377
  json = (object.json ?? null);
378
+ content = object.content;
223
379
  }
224
380
  catch (e) {
225
381
  if (isNotFound(e))
226
382
  return null;
227
383
  throw e;
228
384
  }
229
- if (type.startsWith(`${miso}::composition::CompositionAdminCap<`)) {
230
- const shareType = type.slice(type.indexOf("<") + 1, -1);
385
+ const direct = classifyWorkAdminCapType(type, miso);
386
+ if (direct?.kind === "composition") {
387
+ const { shareType } = direct;
231
388
  const c = await getCompositionByShareType(client.protocol, client.graphql, shareType, miso);
232
389
  return {
233
390
  capId,
@@ -239,8 +396,8 @@ export async function getWorkByCap(client, capId) {
239
396
  shareType,
240
397
  };
241
398
  }
242
- if (type.startsWith(`${miso}::recording::RecordingAdminCap<`)) {
243
- const shareType = type.slice(type.indexOf("<") + 1, -1);
399
+ if (direct?.kind === "recording") {
400
+ const { shareType } = direct;
244
401
  const r = await getRecordingByShareType(client.protocol, client.graphql, shareType, miso);
245
402
  const titles = await getRecordingTitles(client.protocol, client.graphql, [r.id], miso);
246
403
  return {
@@ -252,7 +409,7 @@ export async function getWorkByCap(client, capId) {
252
409
  shareType,
253
410
  };
254
411
  }
255
- if (type.startsWith(`${miso}::release::ReleaseAdminCap`)) {
412
+ if (direct?.kind === "release") {
256
413
  const releaseId = typeof json?.release_id === "string" ? json.release_id : null;
257
414
  if (!releaseId)
258
415
  throw new Error(`Release cap ${capId} carries no release id`);
@@ -267,8 +424,50 @@ export async function getWorkByCap(client, capId) {
267
424
  trackCount: r.tracks.length,
268
425
  };
269
426
  }
270
- // A real object, but not a work admin cap — "no such work", not an error.
271
- return null;
427
+ const vaulted = classifyVaultedWorkAdminCapType(type, client.config.protocol.vault, miso);
428
+ if (!vaulted || !content) {
429
+ // A real object, but not a supported work authority — "no such work",
430
+ // not a transport failure. PressingAdminCap intentionally lands here.
431
+ return null;
432
+ }
433
+ const { vault_id: vaultId } = vaultContract.VaultAdminCap.parse(content);
434
+ if (vaulted.kind === "composition") {
435
+ const c = await getCompositionByShareType(client.protocol, client.graphql, vaulted.shareType, miso);
436
+ return {
437
+ capId,
438
+ kind: "composition",
439
+ workId: c.id,
440
+ title: c.title,
441
+ state: c.state.type,
442
+ royaltyRateBps: int(c.royaltyRate.value),
443
+ shareType: vaulted.shareType,
444
+ };
445
+ }
446
+ if (vaulted.kind === "recording") {
447
+ const r = await getRecordingByShareType(client.protocol, client.graphql, vaulted.shareType, miso);
448
+ const titles = await getRecordingTitles(client.protocol, client.graphql, [r.id], miso);
449
+ return {
450
+ capId,
451
+ kind: "recording",
452
+ workId: r.id,
453
+ title: titles[r.id] ?? "Untitled",
454
+ state: r.state.type,
455
+ shareType: vaulted.shareType,
456
+ };
457
+ }
458
+ const [releaseCap] = await resolveVaultedReleaseCaps(client, [{ id: capId, vaultId }]);
459
+ if (!releaseCap)
460
+ throw new Error(`Release vault ${vaultId} carries no release admin cap`);
461
+ const r = await getReleaseById(client.protocol, releaseCap.releaseId);
462
+ return {
463
+ capId,
464
+ kind: "release",
465
+ workId: r.id,
466
+ title: r.title,
467
+ state: r.state.type,
468
+ discCount: r.tracks.length > 0 ? 1 : 0,
469
+ trackCount: r.tracks.length,
470
+ };
272
471
  }
273
472
  // ── Balance ──────────────────────────────────────────────────────────────────
274
473
  /**
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@misofm/sdk",
3
- "version": "0.15.0",
3
+ "version": "0.15.2",
4
4
  "packageManager": "bun@1.4.0",
5
5
  "description": "Complete client SDK for the Miso platform on Sui — high-level reads, pressings, listings, records, and work publishing.",
6
6
  "license": "Apache-2.0",
@@ -149,6 +149,31 @@ function toSaleView(
149
149
  return { pressing: toPressingView(pressing), listing: toListingView(listing) };
150
150
  }
151
151
 
152
+ /** One permanent pressing, projected to the JSON-safe read boundary. */
153
+ export async function getPressingView(
154
+ client: MisoClient,
155
+ pressingId: string,
156
+ ): Promise<PressingView | null> {
157
+ const pressing = await getPressing(
158
+ client.protocol,
159
+ pressingId,
160
+ client.config.protocol.pressing,
161
+ );
162
+ return pressing ? toPressingView(pressing) : null;
163
+ }
164
+
165
+ /** One currency-specific listing derived from its permanent pressing. */
166
+ export async function getListingView(
167
+ client: MisoClient,
168
+ pressingId: string,
169
+ currencyType: string,
170
+ ): Promise<ListingView | null> {
171
+ const packageId = client.config.protocol.pressing;
172
+ const listingId = deriveListingId(pressingId, currencyType, packageId);
173
+ const listing = await getListing(client.protocol, listingId, packageId);
174
+ return listing ? toListingView(listing) : null;
175
+ }
176
+
152
177
  function toWorkState(state: Release["state"]): WorkState {
153
178
  return state.type === "Published"
154
179
  ? { type: "Published", timestampMs: state.timestampMs }
@@ -395,10 +420,10 @@ export async function getPressingDetail(
395
420
  pressingId: string,
396
421
  options: GetReleaseOptions = {},
397
422
  ): Promise<PressingDetail | null> {
398
- const pressing = await getPressing(client.protocol, pressingId, client.config.protocol.pressing);
423
+ const pressing = await getPressingView(client, pressingId);
399
424
  if (!pressing) return null;
400
425
  const release = await getReleaseDetail(client, pressing.releaseId, options);
401
- return { pressing: toPressingView(pressing), release };
426
+ return { pressing, release };
402
427
  }
403
428
 
404
429
  /**
@@ -412,17 +437,15 @@ export async function getPressingSaleDetail(
412
437
  currencyType: string,
413
438
  options: GetReleaseOptions = {},
414
439
  ): Promise<SaleDetail | null> {
415
- const packageId = client.config.protocol.pressing;
416
- const pressing = await getPressing(client.protocol, pressingId, packageId);
440
+ const pressing = await getPressingView(client, pressingId);
417
441
  if (!pressing) return null;
418
442
 
419
- const listingId = deriveListingId(pressing.id, currencyType, packageId);
420
443
  const [listing, release] = await Promise.all([
421
- getListing(client.protocol, listingId, packageId),
444
+ getListingView(client, pressing.id, currencyType),
422
445
  getReleaseDetail(client, pressing.releaseId, options),
423
446
  ]);
424
447
  if (!listing) return null;
425
- return { sale: toSaleView(pressing, listing), release };
448
+ return { sale: { pressing, listing }, release };
426
449
  }
427
450
 
428
451
  /**
@@ -434,7 +457,7 @@ export async function getPressingPreview(
434
457
  client: MisoClient,
435
458
  pressingId: string,
436
459
  ): Promise<PressingPreview | null> {
437
- const pressing = await getPressing(client.protocol, pressingId, client.config.protocol.pressing);
460
+ const pressing = await getPressingView(client, pressingId);
438
461
  if (!pressing) return null;
439
462
 
440
463
  const { release, cover } = await getReleaseResources(
@@ -448,8 +471,8 @@ export async function getPressingPreview(
448
471
  title: release.title,
449
472
  subtitle: null,
450
473
  coverUrl: cover?.still.url ?? null,
451
- state: toPressingView(pressing).state,
452
- supply: u64(pressing.supply),
474
+ state: pressing.state,
475
+ supply: pressing.supply,
453
476
  trackCount: release.tracks.length,
454
477
  };
455
478
  }
@@ -29,6 +29,8 @@ export interface ProtocolIds {
29
29
  pressing: string;
30
30
  /** `miso_record` package — the exact owner/type namespace for `record::Record`. */
31
31
  record: string;
32
+ /** `vault` — shared custody for protocol admin capabilities. */
33
+ vault: string;
32
34
  /** `release_cover_art` — the release cover extension. */
33
35
  releaseCoverArt: string;
34
36
  /** `composition_credits` / `recording_credits` / `release_credits` extensions. */
@@ -92,6 +94,7 @@ export function misoConfig(network: Network, overrides: MisoConfigOverrides = {}
92
94
  protocol: {
93
95
  pressing: platform.packages.pressing,
94
96
  record: platform.packages.record,
97
+ vault: platform.packages.vault,
95
98
  releaseCoverArt: platform.packages.releaseCoverArt,
96
99
  compositionCredits: platform.packages.compositionCredits,
97
100
  recordingCredits: platform.packages.recordingCredits,
package/src/read/index.ts CHANGED
@@ -30,7 +30,9 @@ export type {
30
30
  export {
31
31
  currencyInfo,
32
32
  getDiscoverShelf,
33
+ getListingView,
33
34
  getPressingDetail,
35
+ getPressingView,
34
36
  getPressingSaleDetail,
35
37
  getPressingPreview,
36
38
  getRecordAlbum,
@@ -10,7 +10,7 @@
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
 
13
- import { normalizeSuiAddress } from "@mysten/sui/utils";
13
+ import { normalizeStructTag, normalizeSuiAddress, parseStructTag } from "@mysten/sui/utils";
14
14
  import {
15
15
  contracts as networkContracts,
16
16
  getCompositionByShareType,
@@ -21,6 +21,7 @@ import {
21
21
  } from "@misonetwork/sdk";
22
22
  import type { MisoClient } from "./client.ts";
23
23
  import { int, u64 } from "./internal/scalars.ts";
24
+ import * as vaultContract from "../contracts/vault/vault.ts";
24
25
  import type {
25
26
  Balance,
26
27
  OwnedParty,
@@ -39,6 +40,89 @@ import { getRecordingTitles, getWorkAddressesByShareTypes, getWorksByIds } from
39
40
  */
40
41
  const MAX_PAGES = 20;
41
42
 
43
+ type WorkAdminCapType =
44
+ | { kind: "composition"; shareType: string }
45
+ | { kind: "recording"; shareType: string }
46
+ | { kind: "release" };
47
+
48
+ type VaultedGenericCap = {
49
+ id: string;
50
+ shareType: string;
51
+ vaultId: string;
52
+ };
53
+
54
+ type VaultedReleaseCap = {
55
+ id: string;
56
+ vaultId: string;
57
+ };
58
+
59
+ function classifyWorkAdminCapType(type: string, misoPackageId: string): WorkAdminCapType | null {
60
+ let tag: ReturnType<typeof parseStructTag>;
61
+ try {
62
+ tag = parseStructTag(type);
63
+ } catch {
64
+ return null;
65
+ }
66
+ if (tag.address !== misoPackageId) return null;
67
+
68
+ if (
69
+ tag.module === "composition" &&
70
+ tag.name === "CompositionAdminCap" &&
71
+ tag.typeParams.length === 1
72
+ ) {
73
+ const share = tag.typeParams[0]!;
74
+ return {
75
+ kind: "composition",
76
+ shareType: typeof share === "string" ? share : normalizeStructTag(share),
77
+ };
78
+ }
79
+ if (
80
+ tag.module === "recording" &&
81
+ tag.name === "RecordingAdminCap" &&
82
+ tag.typeParams.length === 1
83
+ ) {
84
+ const share = tag.typeParams[0]!;
85
+ return {
86
+ kind: "recording",
87
+ shareType: typeof share === "string" ? share : normalizeStructTag(share),
88
+ };
89
+ }
90
+ if (
91
+ tag.module === "release" &&
92
+ tag.name === "ReleaseAdminCap" &&
93
+ tag.typeParams.length === 0
94
+ ) {
95
+ return { kind: "release" };
96
+ }
97
+ return null;
98
+ }
99
+
100
+ /** @internal Exact nested-type classifier used by the vault-aware catalog read. */
101
+ export function classifyVaultedWorkAdminCapType(
102
+ type: string,
103
+ vaultPackageId: string,
104
+ misoPackageId: string,
105
+ ): WorkAdminCapType | null {
106
+ let tag: ReturnType<typeof parseStructTag>;
107
+ try {
108
+ tag = parseStructTag(type);
109
+ } catch {
110
+ return null;
111
+ }
112
+ if (
113
+ tag.address !== vaultPackageId ||
114
+ tag.module !== "vault" ||
115
+ tag.name !== "VaultAdminCap" ||
116
+ tag.typeParams.length !== 1
117
+ ) {
118
+ return null;
119
+ }
120
+ const wrapped = tag.typeParams[0];
121
+ return wrapped && typeof wrapped !== "string"
122
+ ? classifyWorkAdminCapType(normalizeStructTag(wrapped), misoPackageId)
123
+ : null;
124
+ }
125
+
42
126
  // ── Records ──────────────────────────────────────────────────────────────────
43
127
 
44
128
  function coerceNumber(v: unknown): number | null {
@@ -183,20 +267,116 @@ export async function getPendingMemberships(
183
267
  * not store the work's id — only its share type.
184
268
  */
185
269
  async function ownedGenericCaps(client: MisoClient, owner: string, capType: string) {
186
- const { objects } = await client.protocol.core.listOwnedObjects({ owner, type: capType, limit: 50 });
187
270
  const caps: { id: string; shareType: string }[] = [];
188
- for (const obj of objects) {
189
- const match = /<(.+)>$/.exec(obj.type);
190
- if (match?.[1]) caps.push({ id: obj.objectId, shareType: match[1] });
271
+ let cursor: string | null = null;
272
+ for (let page = 0; page < MAX_PAGES; page++) {
273
+ const res: Awaited<ReturnType<typeof client.protocol.core.listOwnedObjects>> =
274
+ await client.protocol.core.listOwnedObjects({ owner, type: capType, cursor, limit: 50 });
275
+ for (const obj of res.objects) {
276
+ const match = /<(.+)>$/.exec(obj.type);
277
+ if (match?.[1]) caps.push({ id: obj.objectId, shareType: match[1] });
278
+ }
279
+ if (!res.hasNextPage) break;
280
+ cursor = res.cursor;
281
+ if (!cursor) break;
191
282
  }
192
283
  return caps;
193
284
  }
194
285
 
286
+ /**
287
+ * Discover owner-held VaultAdminCaps whose wrapped capability administers a
288
+ * catalog work. PressingAdminCap is deliberately ignored: Catalog is a work
289
+ * surface (composition / recording / release), not a sale-management surface.
290
+ */
291
+ async function ownedVaultedWorkCaps(client: MisoClient, owner: string) {
292
+ const out: {
293
+ compositions: VaultedGenericCap[];
294
+ recordings: VaultedGenericCap[];
295
+ releases: VaultedReleaseCap[];
296
+ } = { compositions: [], recordings: [], releases: [] };
297
+ const vaultPackageId = client.config.protocol.vault;
298
+ const misoPackageId = client.config.deployment.miso;
299
+ const capType = `${vaultPackageId}::vault::VaultAdminCap`;
300
+ let cursor: string | null = null;
301
+
302
+ for (let page = 0; page < MAX_PAGES; page++) {
303
+ const res: Awaited<ReturnType<typeof client.protocol.core.listOwnedObjects>> =
304
+ await client.protocol.core.listOwnedObjects({
305
+ owner,
306
+ type: capType,
307
+ cursor,
308
+ limit: 50,
309
+ include: { content: true },
310
+ });
311
+ for (const object of res.objects) {
312
+ if (!object.content) continue;
313
+ const work = classifyVaultedWorkAdminCapType(
314
+ object.type,
315
+ vaultPackageId,
316
+ misoPackageId,
317
+ );
318
+ if (!work) continue;
319
+ try {
320
+ const { vault_id: vaultId } = vaultContract.VaultAdminCap.parse(object.content);
321
+ if (work.kind === "composition") {
322
+ out.compositions.push({ id: object.objectId, shareType: work.shareType, vaultId });
323
+ } else if (work.kind === "recording") {
324
+ out.recordings.push({ id: object.objectId, shareType: work.shareType, vaultId });
325
+ } else {
326
+ out.releases.push({ id: object.objectId, vaultId });
327
+ }
328
+ } catch {
329
+ // A malformed object under the configured vault namespace is not usable
330
+ // authority and should not hide otherwise valid catalog entries.
331
+ }
332
+ }
333
+ if (!res.hasNextPage) break;
334
+ cursor = res.cursor;
335
+ if (!cursor) break;
336
+ }
337
+ return out;
338
+ }
339
+
340
+ /** Read the ReleaseAdminCap wrapped by each shared release vault. */
341
+ async function resolveVaultedReleaseCaps(
342
+ client: MisoClient,
343
+ caps: readonly VaultedReleaseCap[],
344
+ ): Promise<{ id: string; releaseId: string }[]> {
345
+ if (caps.length === 0) return [];
346
+ const releaseCapType = `${client.config.deployment.miso}::release::ReleaseAdminCap`;
347
+ const vaultType = normalizeStructTag(
348
+ `${client.config.protocol.vault}::vault::Vault<${releaseCapType}>`,
349
+ );
350
+ const { objects } = await client.protocol.core.getObjects({
351
+ objectIds: caps.map((cap) => cap.vaultId),
352
+ include: { content: true },
353
+ });
354
+ const releasesByVault = new Map<string, string>();
355
+ for (const object of objects) {
356
+ if (object instanceof Error || !object.content) continue;
357
+ try {
358
+ if (normalizeStructTag(object.type) !== vaultType) continue;
359
+ const vault = vaultContract.Vault(networkContracts.release.ReleaseAdminCap).parse(
360
+ object.content,
361
+ );
362
+ const releaseId = vault.cap.value?.release_id;
363
+ if (releaseId) releasesByVault.set(object.objectId, releaseId);
364
+ } catch {
365
+ // Batch catalog discovery is best-effort per authority, matching the
366
+ // existing direct-cap path's treatment of unreadable work objects.
367
+ }
368
+ }
369
+ return caps.flatMap((cap) => {
370
+ const releaseId = releasesByVault.get(cap.vaultId);
371
+ return releaseId ? [{ id: cap.id, releaseId }] : [];
372
+ });
373
+ }
374
+
195
375
  /**
196
376
  * Every work the wallet administers, keyed by its ADMIN CAP id (the studio
197
377
  * catalog's routing unit — caps are what control means here).
198
378
  *
199
- * Three transports, one answer: cap discovery is gRPC; one aliased GraphQL
379
+ * Three transports, one answer: direct or vaulted cap discovery is gRPC; one aliased GraphQL
200
380
  * request maps every share type to its work address (gRPC cannot ask "which
201
381
  * object has type X"); one gRPC batch loads all the work contents. Releases skip
202
382
  * the GraphQL hop entirely — `ReleaseAdminCap` is not generic and carries
@@ -205,11 +385,16 @@ async function ownedGenericCaps(client: MisoClient, owner: string, capType: stri
205
385
  export async function getOwnedWorks(client: MisoClient, owner: string): Promise<OwnedWork[]> {
206
386
  const miso = client.config.deployment.miso;
207
387
 
208
- const [compCaps, recCaps, relCaps] = await Promise.all([
388
+ const [directCompCaps, directRecCaps, directRelCaps, vaulted] = await Promise.all([
209
389
  ownedGenericCaps(client, owner, `${miso}::composition::CompositionAdminCap`),
210
390
  ownedGenericCaps(client, owner, `${miso}::recording::RecordingAdminCap`),
211
391
  getOwnedReleaseAdminCaps(client.protocol, owner, miso),
392
+ ownedVaultedWorkCaps(client, owner),
212
393
  ]);
394
+ const vaultedRelCaps = await resolveVaultedReleaseCaps(client, vaulted.releases);
395
+ const compCaps = [...directCompCaps, ...vaulted.compositions];
396
+ const recCaps = [...directRecCaps, ...vaulted.recordings];
397
+ const relCaps = [...directRelCaps, ...vaultedRelCaps];
213
398
 
214
399
  const addresses = await getWorkAddressesByShareTypes(
215
400
  client.graphql,
@@ -255,23 +440,29 @@ export async function getOwnedWorks(client: MisoClient, owner: string): Promise<
255
440
  return [...comps, ...recs, ...rels];
256
441
  }
257
442
 
258
- /** Classify a cap by its on-chain type, then resolve the work behind it. */
443
+ /** Classify a direct or vaulted cap by its on-chain type, then resolve its work. */
259
444
  export async function getWorkByCap(client: MisoClient, capId: string): Promise<WorkDetail | null> {
260
445
  const miso = client.config.deployment.miso;
261
446
 
262
447
  let type: string;
263
448
  let json: Record<string, unknown> | null;
449
+ let content: Uint8Array | undefined;
264
450
  try {
265
- const { object } = await client.protocol.core.getObject({ objectId: capId, include: { json: true } });
451
+ const { object } = await client.protocol.core.getObject({
452
+ objectId: capId,
453
+ include: { json: true, content: true },
454
+ });
266
455
  type = object.type;
267
456
  json = (object.json ?? null) as Record<string, unknown> | null;
457
+ content = object.content;
268
458
  } catch (e) {
269
459
  if (isNotFound(e)) return null;
270
460
  throw e;
271
461
  }
272
462
 
273
- if (type.startsWith(`${miso}::composition::CompositionAdminCap<`)) {
274
- const shareType = type.slice(type.indexOf("<") + 1, -1);
463
+ const direct = classifyWorkAdminCapType(type, miso);
464
+ if (direct?.kind === "composition") {
465
+ const { shareType } = direct;
275
466
  const c = await getCompositionByShareType(client.protocol, client.graphql, shareType, miso);
276
467
  return {
277
468
  capId,
@@ -284,8 +475,8 @@ export async function getWorkByCap(client: MisoClient, capId: string): Promise<W
284
475
  };
285
476
  }
286
477
 
287
- if (type.startsWith(`${miso}::recording::RecordingAdminCap<`)) {
288
- const shareType = type.slice(type.indexOf("<") + 1, -1);
478
+ if (direct?.kind === "recording") {
479
+ const { shareType } = direct;
289
480
  const r = await getRecordingByShareType(client.protocol, client.graphql, shareType, miso);
290
481
  const titles = await getRecordingTitles(client.protocol, client.graphql, [r.id], miso);
291
482
  return {
@@ -298,7 +489,7 @@ export async function getWorkByCap(client: MisoClient, capId: string): Promise<W
298
489
  };
299
490
  }
300
491
 
301
- if (type.startsWith(`${miso}::release::ReleaseAdminCap`)) {
492
+ if (direct?.kind === "release") {
302
493
  const releaseId = typeof json?.release_id === "string" ? json.release_id : null;
303
494
  if (!releaseId) throw new Error(`Release cap ${capId} carries no release id`);
304
495
  const r = await getReleaseById(client.protocol, releaseId);
@@ -313,8 +504,66 @@ export async function getWorkByCap(client: MisoClient, capId: string): Promise<W
313
504
  };
314
505
  }
315
506
 
316
- // A real object, but not a work admin cap — "no such work", not an error.
317
- return null;
507
+ const vaulted = classifyVaultedWorkAdminCapType(
508
+ type,
509
+ client.config.protocol.vault,
510
+ miso,
511
+ );
512
+ if (!vaulted || !content) {
513
+ // A real object, but not a supported work authority — "no such work",
514
+ // not a transport failure. PressingAdminCap intentionally lands here.
515
+ return null;
516
+ }
517
+ const { vault_id: vaultId } = vaultContract.VaultAdminCap.parse(content);
518
+
519
+ if (vaulted.kind === "composition") {
520
+ const c = await getCompositionByShareType(
521
+ client.protocol,
522
+ client.graphql,
523
+ vaulted.shareType,
524
+ miso,
525
+ );
526
+ return {
527
+ capId,
528
+ kind: "composition",
529
+ workId: c.id,
530
+ title: c.title,
531
+ state: c.state.type,
532
+ royaltyRateBps: int(c.royaltyRate.value),
533
+ shareType: vaulted.shareType,
534
+ };
535
+ }
536
+
537
+ if (vaulted.kind === "recording") {
538
+ const r = await getRecordingByShareType(
539
+ client.protocol,
540
+ client.graphql,
541
+ vaulted.shareType,
542
+ miso,
543
+ );
544
+ const titles = await getRecordingTitles(client.protocol, client.graphql, [r.id], miso);
545
+ return {
546
+ capId,
547
+ kind: "recording",
548
+ workId: r.id,
549
+ title: titles[r.id] ?? "Untitled",
550
+ state: r.state.type,
551
+ shareType: vaulted.shareType,
552
+ };
553
+ }
554
+
555
+ const [releaseCap] = await resolveVaultedReleaseCaps(client, [{ id: capId, vaultId }]);
556
+ if (!releaseCap) throw new Error(`Release vault ${vaultId} carries no release admin cap`);
557
+ const r = await getReleaseById(client.protocol, releaseCap.releaseId);
558
+ return {
559
+ capId,
560
+ kind: "release",
561
+ workId: r.id,
562
+ title: r.title,
563
+ state: r.state.type,
564
+ discCount: r.tracks.length > 0 ? 1 : 0,
565
+ trackCount: r.tracks.length,
566
+ };
318
567
  }
319
568
 
320
569
  // ── Balance ──────────────────────────────────────────────────────────────────