playlist-data-engine 1.3.2 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -230,6 +230,8 @@ export declare class ArweaveGatewayManager {
230
230
  private readonly MAX_HEALTH_RECORDS;
231
231
  /** In-flight resolveUrl requests keyed by txId, for request deduplication */
232
232
  private inflightResolves;
233
+ /** AbortControllers for in-flight resolves, so stale chains can be cancelled */
234
+ private inflightControllers;
233
235
  /** AR.IO Wayfinder client for dynamic routing */
234
236
  private wayfinder;
235
237
  /** The currently active dynamic gateway. Used globally to prevent constant switching. */
@@ -373,7 +375,7 @@ export declare class ArweaveGatewayManager {
373
375
  * @param signal - Optional external AbortSignal to cancel the check
374
376
  * @returns true if the gateway can serve the transaction
375
377
  */
376
- checkGateway(txId: string, gateway: GatewayConfig, pathSuffix?: string, signal?: AbortSignal): Promise<boolean>;
378
+ checkGateway(txId: string, gateway: GatewayConfig, pathSuffix?: string, signal?: AbortSignal): Promise<boolean | 'maybe'>;
377
379
  /**
378
380
  * Get the cached working gateway for a transaction ID
379
381
  *
@@ -1 +1 @@
1
- {"version":3,"file":"arweaveGatewayManager.d.ts","sourceRoot":"","sources":["../../src/utils/arweaveGatewayManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"arweaveGatewayManager.d.ts","sourceRoot":"","sources":["../../src/utils/arweaveGatewayManager.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@
8
8
  * Each entry is checked with hostname matching (exact or subdomain).
9
9
  * All known gateway hosts — extend this array to add new gateways.
10
10
  */
11
- export declare const KNOWN_IPFS_GATEWAY_HOSTS: readonly ["ipfs.io", "cloudflare-ipfs.com", "dweb.link", "gateway.pinata.cloud", "ipfs.infura.io", "nftstorage.link", "web3-music-pipeline.mypinata.cloud", "soundxyz.mypinata.cloud", "gold-broad-gibbon-29.mypinata.cloud", "bonfire.mypinata.cloud", "spinamp.mypinata.cloud", "catalogworks.b-cdn.net"];
11
+ export declare const KNOWN_IPFS_GATEWAY_HOSTS: readonly ["ipfs.io", "cloudflare-ipfs.com", "dweb.link", "gateway.pinata.cloud", "ipfs.infura.io", "nftstorage.link", "web3-music-pipeline.mypinata.cloud", "soundxyz.mypinata.cloud", "gold-broad-gibbon-29.mypinata.cloud", "bonfire.mypinata.cloud", "spinamp.mypinata.cloud", "catalogworks.b-cdn.net", "www.heds.cloud"];
12
12
  /** Default gateway used by resolveIPFSLink */
13
13
  export declare const DEFAULT_IPFS_GATEWAY = "ipfs.io";
14
14
  /**
@@ -52,6 +52,31 @@ export declare function extractIPFSPath(url: string): string | null;
52
52
  * ```
53
53
  */
54
54
  export declare function isIPFS(url: string | undefined): boolean;
55
+ /** Options for resolveIPFSLink */
56
+ export interface ResolveIPFSOptions {
57
+ /** Gateway host to resolve to (default: ipfs.io) */
58
+ gatewayHost?: string;
59
+ /**
60
+ * When true, keep the original URL's gateway if it's a recognized IPFS host.
61
+ * When false (default), always resolve to the target gateway.
62
+ *
63
+ * @example
64
+ * ```ts
65
+ * // preserveOriginalGateway: true — keeps the original gateway
66
+ * resolveIPFSLink('https://soundxyz.mypinata.cloud/ipfs/QmXxx', { preserveOriginalGateway: true });
67
+ * // => 'https://soundxyz.mypinata.cloud/ipfs/QmXxx'
68
+ *
69
+ * // preserveOriginalGateway: false — forces swap to target gateway
70
+ * resolveIPFSLink('https://soundxyz.mypinata.cloud/ipfs/QmXxx', { preserveOriginalGateway: false });
71
+ * // => 'https://ipfs.io/ipfs/QmXxx'
72
+ *
73
+ * // No option set — defaults to forcing swap (backward compatible)
74
+ * resolveIPFSLink('https://soundxyz.mypinata.cloud/ipfs/QmXxx');
75
+ * // => 'https://ipfs.io/ipfs/QmXxx'
76
+ * ```
77
+ */
78
+ preserveOriginalGateway?: boolean;
79
+ }
55
80
  /**
56
81
  * Resolve an IPFS URL to a specific gateway.
57
82
  *
@@ -59,18 +84,38 @@ export declare function isIPFS(url: string | undefined): boolean;
59
84
  * reconstructs it with the specified gateway host.
60
85
  *
61
86
  * @param url - The IPFS URL to resolve
62
- * @param gatewayHost - Gateway host to resolve to (default: ipfs.io)
87
+ * @param optionsOrGateway - Either a string gateway host (backward compatible) or a {@link ResolveIPFSOptions} object
63
88
  * @returns The resolved URL, or the original URL if not IPFS
64
89
  *
65
90
  * @example
66
91
  * ```ts
92
+ * // String gateway (backward compatible)
67
93
  * resolveIPFSLink('ipfs://QmXxx'); // 'https://ipfs.io/ipfs/QmXxx'
68
94
  * resolveIPFSLink('ipfs://QmXxx', 'cloudflare-ipfs.com'); // 'https://cloudflare-ipfs.com/ipfs/QmXxx'
69
- * resolveIPFSLink('https://soundxyz.mypinata.cloud/ipfs/QmXxx'); // 'https://ipfs.io/ipfs/QmXxx'
95
+ *
96
+ * // Options object
97
+ * resolveIPFSLink('https://soundxyz.mypinata.cloud/ipfs/QmXxx', { preserveOriginalGateway: true });
98
+ * // => 'https://soundxyz.mypinata.cloud/ipfs/QmXxx' (kept original)
99
+ *
100
+ * resolveIPFSLink('https://soundxyz.mypinata.cloud/ipfs/QmXxx', {
101
+ * gatewayHost: 'dweb.link',
102
+ * preserveOriginalGateway: true,
103
+ * });
104
+ * // => 'https://soundxyz.mypinata.cloud/ipfs/QmXxx' (original takes precedence)
105
+ *
106
+ * resolveIPFSLink('https://soundxyz.mypinata.cloud/ipfs/QmXxx', {
107
+ * gatewayHost: 'dweb.link',
108
+ * preserveOriginalGateway: false,
109
+ * });
110
+ * // => 'https://dweb.link/ipfs/QmXxx' (forced swap)
111
+ *
112
+ * // Subdomain format always gets resolved (no original gateway to preserve)
70
113
  * resolveIPFSLink('https://QmXxx.ipfs.dweb.link'); // 'https://ipfs.io/ipfs/QmXxx'
114
+ *
115
+ * // Non-IPFS URLs pass through unchanged
71
116
  * resolveIPFSLink('https://example.com/file.png'); // 'https://example.com/file.png'
72
117
  * resolveIPFSLink(undefined); // undefined
73
118
  * ```
74
119
  */
75
- export declare function resolveIPFSLink(url: string | undefined, gatewayHost?: string): string | undefined;
120
+ export declare function resolveIPFSLink(url: string | undefined, optionsOrGateway?: string | ResolveIPFSOptions): string | undefined;
76
121
  //# sourceMappingURL=ipfsUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ipfsUtils.d.ts","sourceRoot":"","sources":["../../src/utils/ipfsUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,6SAa3B,CAAC;AAEX,8CAA8C;AAC9C,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAI9C;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkC1D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAwBvD;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,eAAe,CAC3B,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,WAAW,GAAE,MAA6B,GAC3C,MAAM,GAAG,SAAS,CASpB"}
1
+ {"version":3,"file":"ipfsUtils.d.ts","sourceRoot":"","sources":["../../src/utils/ipfsUtils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,+TAc3B,CAAC;AAEX,8CAA8C;AAC9C,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAI9C;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAkC1D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAwBvD;AAED,kCAAkC;AAClC,MAAM,WAAW,kBAAkB;IAC/B,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;;;;;;;;;;;;;OAkBG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;CACrC;AAoBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,wBAAgB,eAAe,CAC3B,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,gBAAgB,GAAE,MAAM,GAAG,kBAAuB,GACnD,MAAM,GAAG,SAAS,CAsBpB"}
@@ -13,6 +13,8 @@ export interface SimpleTrack {
13
13
  audio_url_lossless?: string;
14
14
  image_url: string;
15
15
  image_thumb_url?: string;
16
+ audioIpfsHash?: string;
17
+ artworkIpfsHash?: string;
16
18
  }
17
19
  /** Track object with VRM data for getVRMTracks() */
18
20
  export interface VRMTrack {
@@ -1 +1 @@
1
- {"version":3,"file":"playlistUtils.d.ts","sourceRoot":"","sources":["../../src/utils/playlistUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAiB,MAAM,2BAA2B,CAAC;AAOvG,4DAA4D;AAC5D,MAAM,MAAM,aAAa,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AAEpE,8CAA8C;AAC9C,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,oDAAoD;AACpD,MAAM,WAAW,QAAQ;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;CACf;AAmHD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,EAAE,CAW9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,EAAE,CAW9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,EAAE,CAuBhE;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,EAAE,CAuB5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,EAAE,CAoB3D;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,EAAE,CA4BzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAoBhE;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAE7D;AAMD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,WAAW,EAAE,CAiDhE;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA8CrF;AAMD;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,EAAE,CAWzD;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,QAAQ,EAAE,CA4ChE"}
1
+ {"version":3,"file":"playlistUtils.d.ts","sourceRoot":"","sources":["../../src/utils/playlistUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAiB,MAAM,2BAA2B,CAAC;AAOvG,4DAA4D;AAC5D,MAAM,MAAM,aAAa,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AAEpE,8CAA8C;AAC9C,MAAM,WAAW,WAAW;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,oDAAoD;AACpD,MAAM,WAAW,QAAQ;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,EAAE,MAAM,CAAC;CACf;AAmHD;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,EAAE,CAW9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,EAAE,CAW9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,EAAE,CAuBhE;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,EAAE,CAuB5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,EAAE,CAoB3D;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,EAAE,CA4BzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAoBhE;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAE7D;AAMD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,WAAW,EAAE,CAyDhE;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAuDrF;AAMD;;;;;;;;;GASG;AACH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,EAAE,CAWzD;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,aAAa,GAAG,QAAQ,EAAE,CA4ChE"}
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  "type": "git",
7
7
  "url": "git+https://github.com/jasondesante/playlist-data-engine.git"
8
8
  },
9
- "version": "1.3.2",
9
+ "version": "1.4.0",
10
10
  "type": "module",
11
11
  "main": "./dist/playlist-data-engine.js",
12
12
  "module": "./dist/playlist-data-engine.mjs",