@deadair/sdk 0.41.0 → 0.43.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.
Files changed (31) hide show
  1. package/dist/art/art.client.d.ts +16 -1
  2. package/dist/art/art.client.d.ts.map +1 -1
  3. package/dist/art/types/art.types.d.ts +25 -0
  4. package/dist/art/types/art.types.d.ts.map +1 -1
  5. package/dist/catalog/catalog.client.d.ts +16 -1
  6. package/dist/catalog/catalog.client.d.ts.map +1 -1
  7. package/dist/catalog/types/catalog.types.d.ts +61 -23
  8. package/dist/catalog/types/catalog.types.d.ts.map +1 -1
  9. package/dist/director/director.client.d.ts +36 -0
  10. package/dist/director/director.client.d.ts.map +1 -1
  11. package/dist/director/types/director.types.d.ts +10 -6
  12. package/dist/director/types/director.types.d.ts.map +1 -1
  13. package/dist/director/types/index.d.ts +1 -0
  14. package/dist/director/types/index.d.ts.map +1 -1
  15. package/dist/director/types/rules.types.d.ts +97 -0
  16. package/dist/director/types/rules.types.d.ts.map +1 -0
  17. package/dist/index.js +314 -86
  18. package/dist/index.js.map +1 -1
  19. package/dist/nowplaying/types/nowplaying.types.d.ts +3 -1
  20. package/dist/nowplaying/types/nowplaying.types.d.ts.map +1 -1
  21. package/dist/personas/types/personas.types.d.ts +6 -6
  22. package/dist/personas/types/personas.types.d.ts.map +1 -1
  23. package/dist/playout/playout.client.d.ts +6 -1
  24. package/dist/playout/playout.client.d.ts.map +1 -1
  25. package/dist/playout/types/playout.types.d.ts +19 -12
  26. package/dist/playout/types/playout.types.d.ts.map +1 -1
  27. package/dist/schedule/types/schedule.types.d.ts +11 -5
  28. package/dist/schedule/types/schedule.types.d.ts.map +1 -1
  29. package/dist/station/types/station.types.d.ts +65 -30
  30. package/dist/station/types/station.types.d.ts.map +1 -1
  31. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -251,6 +251,37 @@ var ArtClient = class {
251
251
  };
252
252
  }
253
253
  }
254
+ /**
255
+ * @name List persona portraits
256
+ * @description Every persona that has a portrait
257
+ */
258
+ async listPersonaPortraits() {
259
+ const result = await this.fetch(`/art/personas`, {
260
+ method: "GET"
261
+ });
262
+ return await parseJson(result);
263
+ }
264
+ /**
265
+ * @name Replace persona portrait
266
+ * @description Puts a picture on a persona. A persona that already had one keeps its URL, so a player holding it picks up the new picture
267
+ */
268
+ async replacePersonaPortrait(personaId, body) {
269
+ const result = await this.fetch(`/art/personas/${encodeURIComponent(personaId)}`, {
270
+ method: "POST",
271
+ body
272
+ });
273
+ return await parseJson(result);
274
+ }
275
+ /**
276
+ * @name Remove persona portrait
277
+ * @description Takes a persona's picture away. A player shows the record's cover instead
278
+ */
279
+ async removePersonaPortrait(personaId) {
280
+ const result = await this.fetch(`/art/personas/${encodeURIComponent(personaId)}`, {
281
+ method: "DELETE"
282
+ });
283
+ return await parseJson(result);
284
+ }
254
285
  };
255
286
 
256
287
  // src/authentication/types/authentication.types.ts
@@ -1161,6 +1192,40 @@ var CatalogClient = class {
1161
1192
  });
1162
1193
  return await parseJson(result);
1163
1194
  }
1195
+ /**
1196
+ * @name Get vocal markers
1197
+ * @description Where the singing starts and stops on one record, from an operator's correction or its timed lyrics
1198
+ */
1199
+ async getVocalMarkers(id) {
1200
+ const result = await this.fetch(`/catalog/tracks/${encodeURIComponent(id)}/vocal-markers`, {
1201
+ method: "GET"
1202
+ });
1203
+ return await parseJson(result);
1204
+ }
1205
+ /**
1206
+ * @name Set vocal markers
1207
+ * @description Correct where the singing starts and stops, over whatever the lyrics say
1208
+ */
1209
+ async setVocalMarkers(id, body) {
1210
+ const result = await this.fetch(`/catalog/tracks/${encodeURIComponent(id)}/vocal-markers`, {
1211
+ method: "PUT",
1212
+ headers: {
1213
+ "Content-Type": "application/json"
1214
+ },
1215
+ body: JSON.stringify(body, bigIntReplacer)
1216
+ });
1217
+ return await parseJson(result);
1218
+ }
1219
+ /**
1220
+ * @name Clear vocal markers
1221
+ * @description Drop the correction, so the record's timed lyrics decide again
1222
+ */
1223
+ async clearVocalMarkers(id) {
1224
+ const result = await this.fetch(`/catalog/tracks/${encodeURIComponent(id)}/vocal-markers`, {
1225
+ method: "DELETE"
1226
+ });
1227
+ return await parseJson(result);
1228
+ }
1164
1229
  /**
1165
1230
  * @name Retry track audio
1166
1231
  * @description Try this record's copies again now, rather than when the backoff says
@@ -1261,6 +1326,50 @@ var ChartsClient = class {
1261
1326
  }
1262
1327
  };
1263
1328
 
1329
+ // src/director/types/rules.types.ts
1330
+ import { DateTime as DateTime5 } from "luxon";
1331
+ var __dt5 = /* @__PURE__ */ __name((v, path) => {
1332
+ if (typeof v !== "string") {
1333
+ throw new TypeError(`ContractKit: expected an ISO 8601 string at '${path}', received ${typeof v}.`);
1334
+ }
1335
+ const d = DateTime5.fromISO(v);
1336
+ if (!d.isValid) throw new TypeError(`ContractKit: '${v}' at '${path}' is not a valid ISO 8601 datetime.`);
1337
+ return d;
1338
+ }, "__dt");
1339
+ function reviveBlockRule(raw) {
1340
+ const __o0 = raw;
1341
+ if (__o0["endsAt"] != null) {
1342
+ __o0["endsAt"] = __dt5(__o0["endsAt"], "BlockRule.endsAt");
1343
+ }
1344
+ return raw;
1345
+ }
1346
+ __name(reviveBlockRule, "reviveBlockRule");
1347
+ function reviveGenreSteer(raw) {
1348
+ const __o0 = raw;
1349
+ __o0["endsAt"] = __dt5(__o0["endsAt"], "GenreSteer.endsAt");
1350
+ return raw;
1351
+ }
1352
+ __name(reviveGenreSteer, "reviveGenreSteer");
1353
+ function reviveBlockRuleList(raw) {
1354
+ const __o0 = raw;
1355
+ {
1356
+ const __a1 = __o0["rules"];
1357
+ for (let __i2 = 0; __i2 < __a1.length; __i2++) {
1358
+ reviveBlockRule(__a1[__i2]);
1359
+ }
1360
+ }
1361
+ return raw;
1362
+ }
1363
+ __name(reviveBlockRuleList, "reviveBlockRuleList");
1364
+ function reviveGenreSteerReading(raw) {
1365
+ const __o0 = raw;
1366
+ if (__o0["steer"] != null) {
1367
+ reviveGenreSteer(__o0["steer"]);
1368
+ }
1369
+ return raw;
1370
+ }
1371
+ __name(reviveGenreSteerReading, "reviveGenreSteerReading");
1372
+
1264
1373
  // src/director/director.client.ts
1265
1374
  var DirectorClient = class {
1266
1375
  static {
@@ -1502,21 +1611,103 @@ var DirectorClient = class {
1502
1611
  });
1503
1612
  return await parseJson(result);
1504
1613
  }
1614
+ /**
1615
+ * @name List never-play rules
1616
+ * @description Every never-play rule on this station, newest first, each saying whether it holds right now
1617
+ */
1618
+ async listNeverPlayRules() {
1619
+ const result = await this.fetch(`/rules`, {
1620
+ method: "GET"
1621
+ });
1622
+ return reviveBlockRuleList(await parseJson(result));
1623
+ }
1624
+ /**
1625
+ * @name Add a never-play rule
1626
+ * @description Adds a rule. It holds from the next record the station chooses
1627
+ */
1628
+ async addANeverPlayRule(body) {
1629
+ const result = await this.fetch(`/rules`, {
1630
+ method: "POST",
1631
+ headers: {
1632
+ "Content-Type": "application/json"
1633
+ },
1634
+ body: JSON.stringify(body, bigIntReplacer)
1635
+ });
1636
+ return reviveBlockRuleList(await parseJson(result));
1637
+ }
1638
+ /**
1639
+ * @name Read the genre steer
1640
+ * @description The lean in force, if any
1641
+ */
1642
+ async readTheGenreSteer() {
1643
+ const result = await this.fetch(`/rules/steer`, {
1644
+ method: "GET"
1645
+ });
1646
+ return reviveGenreSteerReading(await parseJson(result));
1647
+ }
1648
+ /**
1649
+ * @name Steer toward genres
1650
+ * @description Leans the station toward some genres for a number of hours, replacing any lean already in force
1651
+ */
1652
+ async steerTowardGenres(body) {
1653
+ const result = await this.fetch(`/rules/steer`, {
1654
+ method: "PUT",
1655
+ headers: {
1656
+ "Content-Type": "application/json"
1657
+ },
1658
+ body: JSON.stringify(body, bigIntReplacer)
1659
+ });
1660
+ return reviveGenreSteerReading(await parseJson(result));
1661
+ }
1662
+ /**
1663
+ * @name Stop steering
1664
+ * @description Ends the lean now
1665
+ */
1666
+ async stopSteering() {
1667
+ const result = await this.fetch(`/rules/steer`, {
1668
+ method: "DELETE"
1669
+ });
1670
+ return reviveGenreSteerReading(await parseJson(result));
1671
+ }
1672
+ /**
1673
+ * @name Change a never-play rule
1674
+ * @description Replaces a rule
1675
+ */
1676
+ async changeANeverPlayRule(id, body) {
1677
+ const result = await this.fetch(`/rules/${encodeURIComponent(id)}`, {
1678
+ method: "PUT",
1679
+ headers: {
1680
+ "Content-Type": "application/json"
1681
+ },
1682
+ body: JSON.stringify(body, bigIntReplacer)
1683
+ });
1684
+ return reviveBlockRuleList(await parseJson(result));
1685
+ }
1686
+ /**
1687
+ * @name Remove a never-play rule
1688
+ * @description Removes a rule
1689
+ */
1690
+ async removeANeverPlayRule(id) {
1691
+ const result = await this.fetch(`/rules/${encodeURIComponent(id)}`, {
1692
+ method: "DELETE"
1693
+ });
1694
+ return reviveBlockRuleList(await parseJson(result));
1695
+ }
1505
1696
  };
1506
1697
 
1507
1698
  // src/history/types/history.types.ts
1508
- import { DateTime as DateTime5 } from "luxon";
1509
- var __dt5 = /* @__PURE__ */ __name((v, path) => {
1699
+ import { DateTime as DateTime6 } from "luxon";
1700
+ var __dt6 = /* @__PURE__ */ __name((v, path) => {
1510
1701
  if (typeof v !== "string") {
1511
1702
  throw new TypeError(`ContractKit: expected an ISO 8601 string at '${path}', received ${typeof v}.`);
1512
1703
  }
1513
- const d = DateTime5.fromISO(v);
1704
+ const d = DateTime6.fromISO(v);
1514
1705
  if (!d.isValid) throw new TypeError(`ContractKit: '${v}' at '${path}' is not a valid ISO 8601 datetime.`);
1515
1706
  return d;
1516
1707
  }, "__dt");
1517
1708
  function reviveHistoryEntry(raw) {
1518
1709
  const __o0 = raw;
1519
- __o0["airedAt"] = __dt5(__o0["airedAt"], "HistoryEntry.airedAt");
1710
+ __o0["airedAt"] = __dt6(__o0["airedAt"], "HistoryEntry.airedAt");
1520
1711
  return raw;
1521
1712
  }
1522
1713
  __name(reviveHistoryEntry, "reviveHistoryEntry");
@@ -1555,18 +1746,18 @@ var HistoryClient = class {
1555
1746
  };
1556
1747
 
1557
1748
  // src/languages/types/languages.types.ts
1558
- import { DateTime as DateTime6 } from "luxon";
1559
- var __dt6 = /* @__PURE__ */ __name((v, path) => {
1749
+ import { DateTime as DateTime7 } from "luxon";
1750
+ var __dt7 = /* @__PURE__ */ __name((v, path) => {
1560
1751
  if (typeof v !== "string") {
1561
1752
  throw new TypeError(`ContractKit: expected an ISO 8601 string at '${path}', received ${typeof v}.`);
1562
1753
  }
1563
- const d = DateTime6.fromISO(v);
1754
+ const d = DateTime7.fromISO(v);
1564
1755
  if (!d.isValid) throw new TypeError(`ContractKit: '${v}' at '${path}' is not a valid ISO 8601 datetime.`);
1565
1756
  return d;
1566
1757
  }, "__dt");
1567
1758
  function reviveConsoleLanguage(raw) {
1568
1759
  const __o0 = raw;
1569
- __o0["importedAt"] = __dt6(__o0["importedAt"], "ConsoleLanguage.importedAt");
1760
+ __o0["importedAt"] = __dt7(__o0["importedAt"], "ConsoleLanguage.importedAt");
1570
1761
  return raw;
1571
1762
  }
1572
1763
  __name(reviveConsoleLanguage, "reviveConsoleLanguage");
@@ -1662,24 +1853,24 @@ var LanguagesClient = class {
1662
1853
  };
1663
1854
 
1664
1855
  // src/messaging/types/messaging.types.ts
1665
- import { DateTime as DateTime7 } from "luxon";
1666
- var __dt7 = /* @__PURE__ */ __name((v, path) => {
1856
+ import { DateTime as DateTime8 } from "luxon";
1857
+ var __dt8 = /* @__PURE__ */ __name((v, path) => {
1667
1858
  if (typeof v !== "string") {
1668
1859
  throw new TypeError(`ContractKit: expected an ISO 8601 string at '${path}', received ${typeof v}.`);
1669
1860
  }
1670
- const d = DateTime7.fromISO(v);
1861
+ const d = DateTime8.fromISO(v);
1671
1862
  if (!d.isValid) throw new TypeError(`ContractKit: '${v}' at '${path}' is not a valid ISO 8601 datetime.`);
1672
1863
  return d;
1673
1864
  }, "__dt");
1674
1865
  function reviveMessagingLinkCode(raw) {
1675
1866
  const __o0 = raw;
1676
- __o0["expiresAt"] = __dt7(__o0["expiresAt"], "MessagingLinkCode.expiresAt");
1867
+ __o0["expiresAt"] = __dt8(__o0["expiresAt"], "MessagingLinkCode.expiresAt");
1677
1868
  return raw;
1678
1869
  }
1679
1870
  __name(reviveMessagingLinkCode, "reviveMessagingLinkCode");
1680
1871
  function reviveMessagingLink(raw) {
1681
1872
  const __o0 = raw;
1682
- __o0["createdAt"] = __dt7(__o0["createdAt"], "MessagingLink.createdAt");
1873
+ __o0["createdAt"] = __dt8(__o0["createdAt"], "MessagingLink.createdAt");
1683
1874
  return raw;
1684
1875
  }
1685
1876
  __name(reviveMessagingLink, "reviveMessagingLink");
@@ -1840,32 +2031,32 @@ var NowplayingClient = class {
1840
2031
  };
1841
2032
 
1842
2033
  // src/oauth/types/oauth.types.ts
1843
- import { DateTime as DateTime8 } from "luxon";
1844
- var __dt8 = /* @__PURE__ */ __name((v, path) => {
2034
+ import { DateTime as DateTime9 } from "luxon";
2035
+ var __dt9 = /* @__PURE__ */ __name((v, path) => {
1845
2036
  if (typeof v !== "string") {
1846
2037
  throw new TypeError(`ContractKit: expected an ISO 8601 string at '${path}', received ${typeof v}.`);
1847
2038
  }
1848
- const d = DateTime8.fromISO(v);
2039
+ const d = DateTime9.fromISO(v);
1849
2040
  if (!d.isValid) throw new TypeError(`ContractKit: '${v}' at '${path}' is not a valid ISO 8601 datetime.`);
1850
2041
  return d;
1851
2042
  }, "__dt");
1852
2043
  function reviveOAuthGrant(raw) {
1853
2044
  const __o0 = raw;
1854
- __o0["createdAt"] = __dt8(__o0["createdAt"], "OAuthGrant.createdAt");
2045
+ __o0["createdAt"] = __dt9(__o0["createdAt"], "OAuthGrant.createdAt");
1855
2046
  if (__o0["lastUsedAt"] != null) {
1856
- __o0["lastUsedAt"] = __dt8(__o0["lastUsedAt"], "OAuthGrant.lastUsedAt");
2047
+ __o0["lastUsedAt"] = __dt9(__o0["lastUsedAt"], "OAuthGrant.lastUsedAt");
1857
2048
  }
1858
2049
  return raw;
1859
2050
  }
1860
2051
  __name(reviveOAuthGrant, "reviveOAuthGrant");
1861
2052
  function reviveOAuthClientSummary(raw) {
1862
2053
  const __o0 = raw;
1863
- __o0["createdAt"] = __dt8(__o0["createdAt"], "OAuthClientSummary.createdAt");
2054
+ __o0["createdAt"] = __dt9(__o0["createdAt"], "OAuthClientSummary.createdAt");
1864
2055
  if (__o0["lastUsedAt"] != null) {
1865
- __o0["lastUsedAt"] = __dt8(__o0["lastUsedAt"], "OAuthClientSummary.lastUsedAt");
2056
+ __o0["lastUsedAt"] = __dt9(__o0["lastUsedAt"], "OAuthClientSummary.lastUsedAt");
1866
2057
  }
1867
2058
  if (__o0["expiresAt"] != null) {
1868
- __o0["expiresAt"] = __dt8(__o0["expiresAt"], "OAuthClientSummary.expiresAt");
2059
+ __o0["expiresAt"] = __dt9(__o0["expiresAt"], "OAuthClientSummary.expiresAt");
1869
2060
  }
1870
2061
  return raw;
1871
2062
  }
@@ -2034,18 +2225,18 @@ var OnboardingClient = class {
2034
2225
  };
2035
2226
 
2036
2227
  // src/outputs/types/outputs.types.ts
2037
- import { DateTime as DateTime9 } from "luxon";
2038
- var __dt9 = /* @__PURE__ */ __name((v, path) => {
2228
+ import { DateTime as DateTime10 } from "luxon";
2229
+ var __dt10 = /* @__PURE__ */ __name((v, path) => {
2039
2230
  if (typeof v !== "string") {
2040
2231
  throw new TypeError(`ContractKit: expected an ISO 8601 string at '${path}', received ${typeof v}.`);
2041
2232
  }
2042
- const d = DateTime9.fromISO(v);
2233
+ const d = DateTime10.fromISO(v);
2043
2234
  if (!d.isValid) throw new TypeError(`ContractKit: '${v}' at '${path}' is not a valid ISO 8601 datetime.`);
2044
2235
  return d;
2045
2236
  }, "__dt");
2046
2237
  function reviveOutputCast(raw) {
2047
2238
  const __o0 = raw;
2048
- __o0["startedAt"] = __dt9(__o0["startedAt"], "OutputCast.startedAt");
2239
+ __o0["startedAt"] = __dt10(__o0["startedAt"], "OutputCast.startedAt");
2049
2240
  return raw;
2050
2241
  }
2051
2242
  __name(reviveOutputCast, "reviveOutputCast");
@@ -2586,18 +2777,18 @@ var PersonasClient = class {
2586
2777
  };
2587
2778
 
2588
2779
  // src/playlists/types/playlists.types.ts
2589
- import { DateTime as DateTime10 } from "luxon";
2590
- var __dt10 = /* @__PURE__ */ __name((v, path) => {
2780
+ import { DateTime as DateTime11 } from "luxon";
2781
+ var __dt11 = /* @__PURE__ */ __name((v, path) => {
2591
2782
  if (typeof v !== "string") {
2592
2783
  throw new TypeError(`ContractKit: expected an ISO 8601 string at '${path}', received ${typeof v}.`);
2593
2784
  }
2594
- const d = DateTime10.fromISO(v);
2785
+ const d = DateTime11.fromISO(v);
2595
2786
  if (!d.isValid) throw new TypeError(`ContractKit: '${v}' at '${path}' is not a valid ISO 8601 datetime.`);
2596
2787
  return d;
2597
2788
  }, "__dt");
2598
2789
  function reviveCatalogPlaylistSource(raw) {
2599
2790
  const __o0 = raw;
2600
- __o0["listedAt"] = __dt10(__o0["listedAt"], "CatalogPlaylistSource.listedAt");
2791
+ __o0["listedAt"] = __dt11(__o0["listedAt"], "CatalogPlaylistSource.listedAt");
2601
2792
  return raw;
2602
2793
  }
2603
2794
  __name(reviveCatalogPlaylistSource, "reviveCatalogPlaylistSource");
@@ -2616,19 +2807,19 @@ function reviveCatalogPlaylistPage(raw) {
2616
2807
  __name(reviveCatalogPlaylistPage, "reviveCatalogPlaylistPage");
2617
2808
 
2618
2809
  // src/playlists/types/station.playlists.types.ts
2619
- import { DateTime as DateTime11 } from "luxon";
2620
- var __dt11 = /* @__PURE__ */ __name((v, path) => {
2810
+ import { DateTime as DateTime12 } from "luxon";
2811
+ var __dt12 = /* @__PURE__ */ __name((v, path) => {
2621
2812
  if (typeof v !== "string") {
2622
2813
  throw new TypeError(`ContractKit: expected an ISO 8601 string at '${path}', received ${typeof v}.`);
2623
2814
  }
2624
- const d = DateTime11.fromISO(v);
2815
+ const d = DateTime12.fromISO(v);
2625
2816
  if (!d.isValid) throw new TypeError(`ContractKit: '${v}' at '${path}' is not a valid ISO 8601 datetime.`);
2626
2817
  return d;
2627
2818
  }, "__dt");
2628
2819
  function reviveStationPlaylist(raw) {
2629
2820
  const __o0 = raw;
2630
- __o0["createdAt"] = __dt11(__o0["createdAt"], "StationPlaylist.createdAt");
2631
- __o0["updatedAt"] = __dt11(__o0["updatedAt"], "StationPlaylist.updatedAt");
2821
+ __o0["createdAt"] = __dt12(__o0["createdAt"], "StationPlaylist.createdAt");
2822
+ __o0["updatedAt"] = __dt12(__o0["updatedAt"], "StationPlaylist.updatedAt");
2632
2823
  return raw;
2633
2824
  }
2634
2825
  __name(reviveStationPlaylist, "reviveStationPlaylist");
@@ -2865,6 +3056,20 @@ var PlayoutClient = class {
2865
3056
  });
2866
3057
  return await parseJson(result);
2867
3058
  }
3059
+ /**
3060
+ * @name Play an album
3061
+ * @description Plays an album the library holds, whole and in the order it was made: by disc, then by track. A feature, so no breaks and no blends between its records, and what is on air finishes rather than being cut off. It stops at the end of the album, or when the schedule's next block starts
3062
+ */
3063
+ async playAnAlbum(body) {
3064
+ const result = await this.fetch(`/playout/album`, {
3065
+ method: "POST",
3066
+ headers: {
3067
+ "Content-Type": "application/json"
3068
+ },
3069
+ body: JSON.stringify(body, bigIntReplacer)
3070
+ });
3071
+ return await parseJson(result);
3072
+ }
2868
3073
  /**
2869
3074
  * @name Play a chart
2870
3075
  * @description Builds the running order from a published chart and starts handing it to the player. The same replacement a playlist makes, from a document somebody else ranked
@@ -2912,22 +3117,22 @@ var PlayoutClient = class {
2912
3117
  };
2913
3118
 
2914
3119
  // src/plugins/types/plugins.types.ts
2915
- import { DateTime as DateTime12 } from "luxon";
2916
- var __dt12 = /* @__PURE__ */ __name((v, path) => {
3120
+ import { DateTime as DateTime13 } from "luxon";
3121
+ var __dt13 = /* @__PURE__ */ __name((v, path) => {
2917
3122
  if (typeof v !== "string") {
2918
3123
  throw new TypeError(`ContractKit: expected an ISO 8601 string at '${path}', received ${typeof v}.`);
2919
3124
  }
2920
- const d = DateTime12.fromISO(v);
3125
+ const d = DateTime13.fromISO(v);
2921
3126
  if (!d.isValid) throw new TypeError(`ContractKit: '${v}' at '${path}' is not a valid ISO 8601 datetime.`);
2922
3127
  return d;
2923
3128
  }, "__dt");
2924
3129
  function revivePluginSummary(raw) {
2925
3130
  const __o0 = raw;
2926
3131
  if (__o0["firstEnabledAt"] != null) {
2927
- __o0["firstEnabledAt"] = __dt12(__o0["firstEnabledAt"], "PluginSummary.firstEnabledAt");
3132
+ __o0["firstEnabledAt"] = __dt13(__o0["firstEnabledAt"], "PluginSummary.firstEnabledAt");
2928
3133
  }
2929
3134
  if (__o0["nextProbeAt"] != null) {
2930
- __o0["nextProbeAt"] = __dt12(__o0["nextProbeAt"], "PluginSummary.nextProbeAt");
3135
+ __o0["nextProbeAt"] = __dt13(__o0["nextProbeAt"], "PluginSummary.nextProbeAt");
2931
3136
  }
2932
3137
  return raw;
2933
3138
  }
@@ -3244,19 +3449,19 @@ var PodcastsClient = class {
3244
3449
  };
3245
3450
 
3246
3451
  // src/productions/types/productions.types.ts
3247
- import { DateTime as DateTime13 } from "luxon";
3248
- var __dt13 = /* @__PURE__ */ __name((v, path) => {
3452
+ import { DateTime as DateTime14 } from "luxon";
3453
+ var __dt14 = /* @__PURE__ */ __name((v, path) => {
3249
3454
  if (typeof v !== "string") {
3250
3455
  throw new TypeError(`ContractKit: expected an ISO 8601 string at '${path}', received ${typeof v}.`);
3251
3456
  }
3252
- const d = DateTime13.fromISO(v);
3457
+ const d = DateTime14.fromISO(v);
3253
3458
  if (!d.isValid) throw new TypeError(`ContractKit: '${v}' at '${path}' is not a valid ISO 8601 datetime.`);
3254
3459
  return d;
3255
3460
  }, "__dt");
3256
3461
  function reviveProductionRequest(raw) {
3257
3462
  const __o0 = raw;
3258
3463
  if (__o0["scheduledFor"] != null) {
3259
- __o0["scheduledFor"] = __dt13(__o0["scheduledFor"], "ProductionRequest.scheduledFor");
3464
+ __o0["scheduledFor"] = __dt14(__o0["scheduledFor"], "ProductionRequest.scheduledFor");
3260
3465
  }
3261
3466
  return raw;
3262
3467
  }
@@ -3264,12 +3469,12 @@ __name(reviveProductionRequest, "reviveProductionRequest");
3264
3469
  function reviveProduction(raw) {
3265
3470
  const __o0 = raw;
3266
3471
  if (__o0["scheduledFor"] != null) {
3267
- __o0["scheduledFor"] = __dt13(__o0["scheduledFor"], "Production.scheduledFor");
3472
+ __o0["scheduledFor"] = __dt14(__o0["scheduledFor"], "Production.scheduledFor");
3268
3473
  }
3269
3474
  if (__o0["cancelledAt"] != null) {
3270
- __o0["cancelledAt"] = __dt13(__o0["cancelledAt"], "Production.cancelledAt");
3475
+ __o0["cancelledAt"] = __dt14(__o0["cancelledAt"], "Production.cancelledAt");
3271
3476
  }
3272
- __o0["createdAt"] = __dt13(__o0["createdAt"], "Production.createdAt");
3477
+ __o0["createdAt"] = __dt14(__o0["createdAt"], "Production.createdAt");
3273
3478
  return raw;
3274
3479
  }
3275
3480
  __name(reviveProduction, "reviveProduction");
@@ -3331,26 +3536,26 @@ var ProductionsClient = class {
3331
3536
  };
3332
3537
 
3333
3538
  // src/render/types/render.types.ts
3334
- import { DateTime as DateTime14 } from "luxon";
3335
- var __dt14 = /* @__PURE__ */ __name((v, path) => {
3539
+ import { DateTime as DateTime15 } from "luxon";
3540
+ var __dt15 = /* @__PURE__ */ __name((v, path) => {
3336
3541
  if (typeof v !== "string") {
3337
3542
  throw new TypeError(`ContractKit: expected an ISO 8601 string at '${path}', received ${typeof v}.`);
3338
3543
  }
3339
- const d = DateTime14.fromISO(v);
3544
+ const d = DateTime15.fromISO(v);
3340
3545
  if (!d.isValid) throw new TypeError(`ContractKit: '${v}' at '${path}' is not a valid ISO 8601 datetime.`);
3341
3546
  return d;
3342
3547
  }, "__dt");
3343
3548
  function revivePad(raw) {
3344
3549
  const __o0 = raw;
3345
3550
  if (__o0["lastUsedAt"] != null) {
3346
- __o0["lastUsedAt"] = __dt14(__o0["lastUsedAt"], "Pad.lastUsedAt");
3551
+ __o0["lastUsedAt"] = __dt15(__o0["lastUsedAt"], "Pad.lastUsedAt");
3347
3552
  }
3348
3553
  return raw;
3349
3554
  }
3350
3555
  __name(revivePad, "revivePad");
3351
3556
  function reviveScriptAttempt(raw) {
3352
3557
  const __o0 = raw;
3353
- __o0["at"] = __dt14(__o0["at"], "ScriptAttempt.at");
3558
+ __o0["at"] = __dt15(__o0["at"], "ScriptAttempt.at");
3354
3559
  return raw;
3355
3560
  }
3356
3561
  __name(reviveScriptAttempt, "reviveScriptAttempt");
@@ -3833,20 +4038,20 @@ var RenderClient = class {
3833
4038
  };
3834
4039
 
3835
4040
  // src/requests/types/requests.types.ts
3836
- import { DateTime as DateTime15 } from "luxon";
3837
- var __dt15 = /* @__PURE__ */ __name((v, path) => {
4041
+ import { DateTime as DateTime16 } from "luxon";
4042
+ var __dt16 = /* @__PURE__ */ __name((v, path) => {
3838
4043
  if (typeof v !== "string") {
3839
4044
  throw new TypeError(`ContractKit: expected an ISO 8601 string at '${path}', received ${typeof v}.`);
3840
4045
  }
3841
- const d = DateTime15.fromISO(v);
4046
+ const d = DateTime16.fromISO(v);
3842
4047
  if (!d.isValid) throw new TypeError(`ContractKit: '${v}' at '${path}' is not a valid ISO 8601 datetime.`);
3843
4048
  return d;
3844
4049
  }, "__dt");
3845
4050
  function reviveListenerRequest(raw) {
3846
4051
  const __o0 = raw;
3847
- __o0["createdAt"] = __dt15(__o0["createdAt"], "ListenerRequest.createdAt");
4052
+ __o0["createdAt"] = __dt16(__o0["createdAt"], "ListenerRequest.createdAt");
3848
4053
  if (__o0["airedAt"] != null) {
3849
- __o0["airedAt"] = __dt15(__o0["airedAt"], "ListenerRequest.airedAt");
4054
+ __o0["airedAt"] = __dt16(__o0["airedAt"], "ListenerRequest.airedAt");
3850
4055
  }
3851
4056
  return raw;
3852
4057
  }
@@ -4070,19 +4275,19 @@ var SettingsClient = class {
4070
4275
  };
4071
4276
 
4072
4277
  // src/station/types/logs.types.ts
4073
- import { DateTime as DateTime16 } from "luxon";
4074
- var __dt16 = /* @__PURE__ */ __name((v, path) => {
4278
+ import { DateTime as DateTime17 } from "luxon";
4279
+ var __dt17 = /* @__PURE__ */ __name((v, path) => {
4075
4280
  if (typeof v !== "string") {
4076
4281
  throw new TypeError(`ContractKit: expected an ISO 8601 string at '${path}', received ${typeof v}.`);
4077
4282
  }
4078
- const d = DateTime16.fromISO(v);
4283
+ const d = DateTime17.fromISO(v);
4079
4284
  if (!d.isValid) throw new TypeError(`ContractKit: '${v}' at '${path}' is not a valid ISO 8601 datetime.`);
4080
4285
  return d;
4081
4286
  }, "__dt");
4082
4287
  function reviveLogSource(raw) {
4083
4288
  const __o0 = raw;
4084
4289
  if (__o0["lastWriteAt"] != null) {
4085
- __o0["lastWriteAt"] = __dt16(__o0["lastWriteAt"], "LogSource.lastWriteAt");
4290
+ __o0["lastWriteAt"] = __dt17(__o0["lastWriteAt"], "LogSource.lastWriteAt");
4086
4291
  }
4087
4292
  return raw;
4088
4293
  }
@@ -4100,12 +4305,12 @@ function reviveLogSourceList(raw) {
4100
4305
  __name(reviveLogSourceList, "reviveLogSourceList");
4101
4306
 
4102
4307
  // src/station/types/station.types.ts
4103
- import { DateTime as DateTime17 } from "luxon";
4104
- var __dt17 = /* @__PURE__ */ __name((v, path) => {
4308
+ import { DateTime as DateTime18 } from "luxon";
4309
+ var __dt18 = /* @__PURE__ */ __name((v, path) => {
4105
4310
  if (typeof v !== "string") {
4106
4311
  throw new TypeError(`ContractKit: expected an ISO 8601 string at '${path}', received ${typeof v}.`);
4107
4312
  }
4108
- const d = DateTime17.fromISO(v);
4313
+ const d = DateTime18.fromISO(v);
4109
4314
  if (!d.isValid) throw new TypeError(`ContractKit: '${v}' at '${path}' is not a valid ISO 8601 datetime.`);
4110
4315
  return d;
4111
4316
  }, "__dt");
@@ -4113,19 +4318,25 @@ var __dtf = /* @__PURE__ */ __name((v, path, fmt) => {
4113
4318
  if (typeof v !== "string") {
4114
4319
  throw new TypeError(`ContractKit: expected a string at '${path}' in format ${fmt}, received ${typeof v}.`);
4115
4320
  }
4116
- const d = DateTime17.fromFormat(v, fmt);
4321
+ const d = DateTime18.fromFormat(v, fmt);
4117
4322
  if (!d.isValid) throw new TypeError(`ContractKit: '${v}' at '${path}' does not match format ${fmt}.`);
4118
4323
  return d;
4119
4324
  }, "__dtf");
4120
4325
  function reviveStationHeartbeat(raw) {
4121
4326
  const __o0 = raw;
4122
- __o0["startedAt"] = __dt17(__o0["startedAt"], "StationHeartbeat.startedAt");
4327
+ __o0["startedAt"] = __dt18(__o0["startedAt"], "StationHeartbeat.startedAt");
4123
4328
  if (__o0["lastBeat"] != null) {
4124
- __o0["lastBeat"] = __dt17(__o0["lastBeat"], "StationHeartbeat.lastBeat");
4329
+ __o0["lastBeat"] = __dt18(__o0["lastBeat"], "StationHeartbeat.lastBeat");
4125
4330
  }
4126
4331
  return raw;
4127
4332
  }
4128
4333
  __name(reviveStationHeartbeat, "reviveStationHeartbeat");
4334
+ function reviveStationModelHolder(raw) {
4335
+ const __o0 = raw;
4336
+ __o0["heldSince"] = __dt18(__o0["heldSince"], "StationModelHolder.heldSince");
4337
+ return raw;
4338
+ }
4339
+ __name(reviveStationModelHolder, "reviveStationModelHolder");
4129
4340
  function reviveStationRelease(raw) {
4130
4341
  const __o0 = raw;
4131
4342
  if (__o0["date"] != null) {
@@ -4134,20 +4345,14 @@ function reviveStationRelease(raw) {
4134
4345
  return raw;
4135
4346
  }
4136
4347
  __name(reviveStationRelease, "reviveStationRelease");
4137
- function reviveStationCheckup(raw) {
4348
+ function reviveStationModel(raw) {
4138
4349
  const __o0 = raw;
4139
- __o0["readAt"] = __dt17(__o0["readAt"], "StationCheckup.readAt");
4140
- if (__o0["heartbeats"] != null) {
4141
- {
4142
- const __a1 = __o0["heartbeats"];
4143
- for (let __i2 = 0; __i2 < __a1.length; __i2++) {
4144
- reviveStationHeartbeat(__a1[__i2]);
4145
- }
4146
- }
4350
+ if (__o0["holder"] != null) {
4351
+ reviveStationModelHolder(__o0["holder"]);
4147
4352
  }
4148
4353
  return raw;
4149
4354
  }
4150
- __name(reviveStationCheckup, "reviveStationCheckup");
4355
+ __name(reviveStationModel, "reviveStationModel");
4151
4356
  function reviveStationReleases(raw) {
4152
4357
  const __o0 = raw;
4153
4358
  {
@@ -4157,7 +4362,7 @@ function reviveStationReleases(raw) {
4157
4362
  }
4158
4363
  }
4159
4364
  if (__o0["checkedAt"] != null) {
4160
- __o0["checkedAt"] = __dt17(__o0["checkedAt"], "StationReleases.checkedAt");
4365
+ __o0["checkedAt"] = __dt18(__o0["checkedAt"], "StationReleases.checkedAt");
4161
4366
  }
4162
4367
  {
4163
4368
  const __a3 = __o0["available"];
@@ -4168,26 +4373,43 @@ function reviveStationReleases(raw) {
4168
4373
  return raw;
4169
4374
  }
4170
4375
  __name(reviveStationReleases, "reviveStationReleases");
4376
+ function reviveStationCheckup(raw) {
4377
+ const __o0 = raw;
4378
+ __o0["readAt"] = __dt18(__o0["readAt"], "StationCheckup.readAt");
4379
+ if (__o0["heartbeats"] != null) {
4380
+ {
4381
+ const __a1 = __o0["heartbeats"];
4382
+ for (let __i2 = 0; __i2 < __a1.length; __i2++) {
4383
+ reviveStationHeartbeat(__a1[__i2]);
4384
+ }
4385
+ }
4386
+ }
4387
+ if (__o0["model"] != null) {
4388
+ reviveStationModel(__o0["model"]);
4389
+ }
4390
+ return raw;
4391
+ }
4392
+ __name(reviveStationCheckup, "reviveStationCheckup");
4171
4393
 
4172
4394
  // src/station/types/traces.types.ts
4173
- import { DateTime as DateTime18 } from "luxon";
4174
- var __dt18 = /* @__PURE__ */ __name((v, path) => {
4395
+ import { DateTime as DateTime19 } from "luxon";
4396
+ var __dt19 = /* @__PURE__ */ __name((v, path) => {
4175
4397
  if (typeof v !== "string") {
4176
4398
  throw new TypeError(`ContractKit: expected an ISO 8601 string at '${path}', received ${typeof v}.`);
4177
4399
  }
4178
- const d = DateTime18.fromISO(v);
4400
+ const d = DateTime19.fromISO(v);
4179
4401
  if (!d.isValid) throw new TypeError(`ContractKit: '${v}' at '${path}' is not a valid ISO 8601 datetime.`);
4180
4402
  return d;
4181
4403
  }, "__dt");
4182
4404
  function reviveTraceDecision(raw) {
4183
4405
  const __o0 = raw;
4184
- __o0["at"] = __dt18(__o0["at"], "TraceDecision.at");
4406
+ __o0["at"] = __dt19(__o0["at"], "TraceDecision.at");
4185
4407
  return raw;
4186
4408
  }
4187
4409
  __name(reviveTraceDecision, "reviveTraceDecision");
4188
4410
  function reviveTraceSpan(raw) {
4189
4411
  const __o0 = raw;
4190
- __o0["at"] = __dt18(__o0["at"], "TraceSpan.at");
4412
+ __o0["at"] = __dt19(__o0["at"], "TraceSpan.at");
4191
4413
  return raw;
4192
4414
  }
4193
4415
  __name(reviveTraceSpan, "reviveTraceSpan");
@@ -4334,18 +4556,18 @@ var StationClient = class {
4334
4556
  };
4335
4557
 
4336
4558
  // src/storage/types/storage.types.ts
4337
- import { DateTime as DateTime19 } from "luxon";
4338
- var __dt19 = /* @__PURE__ */ __name((v, path) => {
4559
+ import { DateTime as DateTime20 } from "luxon";
4560
+ var __dt20 = /* @__PURE__ */ __name((v, path) => {
4339
4561
  if (typeof v !== "string") {
4340
4562
  throw new TypeError(`ContractKit: expected an ISO 8601 string at '${path}', received ${typeof v}.`);
4341
4563
  }
4342
- const d = DateTime19.fromISO(v);
4564
+ const d = DateTime20.fromISO(v);
4343
4565
  if (!d.isValid) throw new TypeError(`ContractKit: '${v}' at '${path}' is not a valid ISO 8601 datetime.`);
4344
4566
  return d;
4345
4567
  }, "__dt");
4346
4568
  function reviveStorageReport(raw) {
4347
4569
  const __o0 = raw;
4348
- __o0["readAt"] = __dt19(__o0["readAt"], "StorageReport.readAt");
4570
+ __o0["readAt"] = __dt20(__o0["readAt"], "StorageReport.readAt");
4349
4571
  return raw;
4350
4572
  }
4351
4573
  __name(reviveStorageReport, "reviveStorageReport");
@@ -4650,6 +4872,8 @@ export {
4650
4872
  reviveAuthenticationTokenResponseOutput,
4651
4873
  reviveAuthenticatorFactorRegistrationResponse,
4652
4874
  reviveBaseAuthenticationLoginStartResponse,
4875
+ reviveBlockRule,
4876
+ reviveBlockRuleList,
4653
4877
  reviveCatalogPlaylistPage,
4654
4878
  reviveCatalogPlaylistSource,
4655
4879
  reviveCodeAuthenticationLoginStartResponse,
@@ -4667,6 +4891,8 @@ export {
4667
4891
  reviveFactorChallengeStartResponseOutput,
4668
4892
  reviveFidoAuthenticationLoginStartResponse,
4669
4893
  reviveFidoFactorRegistrationResponse,
4894
+ reviveGenreSteer,
4895
+ reviveGenreSteerReading,
4670
4896
  reviveHistoryEntry,
4671
4897
  reviveHistoryPage,
4672
4898
  reviveLinkAuthenticationLoginStartResponse,
@@ -4707,6 +4933,8 @@ export {
4707
4933
  reviveSessionFactor,
4708
4934
  reviveStationCheckup,
4709
4935
  reviveStationHeartbeat,
4936
+ reviveStationModel,
4937
+ reviveStationModelHolder,
4710
4938
  reviveStationPlaylist,
4711
4939
  reviveStationPlaylistDetail,
4712
4940
  reviveStationPlaylistList,