@deadair/sdk 0.31.3 → 0.32.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.
@@ -1,5 +1,6 @@
1
1
  import type { SdkFetch } from '../sdk-options.js';
2
2
  import type { CatalogPlaylistPage, CatalogPlaylistTracks } from './types/playlists.types.js';
3
+ import type { PlaylistFile, PlaylistImportInput, PlaylistImportPlan, PlaylistImportResult, StationPlaylist, StationPlaylistDetail, StationPlaylistList, StationPlaylistUpdate } from './types/station.playlists.types.js';
3
4
  export declare class PlaylistsClient {
4
5
  private fetch;
5
6
  constructor(fetch: SdkFetch);
@@ -33,5 +34,50 @@ export declare class PlaylistsClient {
33
34
  * @description Reads one playlist again, in the background. New records reach the library; a record taken out of it stays until the next full read judges it
34
35
  */
35
36
  refreshPlaylist(pluginId: string, playlistId: string): Promise<void>;
37
+ /**
38
+ * @name List station playlists
39
+ * @description Every playlist the station owns, newest first
40
+ */
41
+ listStationPlaylists(): Promise<StationPlaylistList>;
42
+ /**
43
+ * @name Get station playlist
44
+ * @description One station playlist with its records in order, placeholders included
45
+ */
46
+ getStationPlaylist(id: string): Promise<StationPlaylistDetail>;
47
+ /**
48
+ * @name Update station playlist
49
+ * @description Renames a station playlist, or rewrites what it is for
50
+ */
51
+ updateStationPlaylist(id: string, body: StationPlaylistUpdate): Promise<StationPlaylist>;
52
+ /**
53
+ * @name Delete station playlist
54
+ * @description Deletes a station playlist. The records it named stay in the library
55
+ */
56
+ deleteStationPlaylist(id: string): Promise<void>;
57
+ /**
58
+ * @name Fill station playlist
59
+ * @description Looks up the records this playlist names and the library does not hold, in the background, and adds the ones a provider has. The activity feed says how it went
60
+ */
61
+ fillStationPlaylist(id: string): Promise<void>;
62
+ /**
63
+ * @name Export station playlist
64
+ * @description One station playlist as a file another station can import
65
+ */
66
+ exportStationPlaylist(id: string): Promise<{
67
+ data: PlaylistFile;
68
+ headers: {
69
+ contentDisposition?: string;
70
+ };
71
+ }>;
72
+ /**
73
+ * @name Preview playlist import
74
+ * @description Reads a source and reports which of its records the library holds and which it would have to find. Writes nothing
75
+ */
76
+ previewPlaylistImport(body: PlaylistImportInput): Promise<PlaylistImportPlan>;
77
+ /**
78
+ * @name Import playlist
79
+ * @description Makes a new station playlist from a source and answers with what it did
80
+ */
81
+ importPlaylist(body: PlaylistImportInput): Promise<PlaylistImportResult>;
36
82
  }
37
83
  //# sourceMappingURL=playlists.client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"playlists.client.d.ts","sourceRoot":"","sources":["../../src/playlists/playlists.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAE7F,qBAAa,eAAe;IACZ,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,QAAQ;IAEnC;;;OAGG;IACG,uBAAuB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAK7D;;;OAGG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAK7F;;;OAGG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvE;;;OAGG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvE;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvC;;;OAGG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG7E"}
1
+ {"version":3,"file":"playlists.client.d.ts","sourceRoot":"","sources":["../../src/playlists/playlists.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAC7F,OAAO,KAAK,EACR,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACxB,MAAM,oCAAoC,CAAC;AAQ5C,qBAAa,eAAe;IACZ,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,QAAQ;IAEnC;;;OAGG;IACG,uBAAuB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAK7D;;;OAGG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAK7F;;;OAGG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvE;;;OAGG;IACG,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvE;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvC;;;OAGG;IACG,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1E;;;OAGG;IACG,oBAAoB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAK1D;;;OAGG;IACG,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAKpE;;;OAGG;IACG,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,eAAe,CAAC;IAS9F;;;OAGG;IACG,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD;;;OAGG;IACG,mBAAmB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD;;;OAGG;IACG,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,OAAO,EAAE;YAAE,kBAAkB,CAAC,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,CAAC;IAMlH;;;OAGG;IACG,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IASnF;;;OAGG;IACG,cAAc,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;CAQjF"}
@@ -1,2 +1,3 @@
1
1
  export * from './playlists.types.js';
2
+ export * from './station.playlists.types.js';
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/playlists/types/index.ts"],"names":[],"mappings":"AACA,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/playlists/types/index.ts"],"names":[],"mappings":"AACA,cAAc,sBAAsB,CAAC;AACrC,cAAc,8BAA8B,CAAC"}
@@ -0,0 +1,185 @@
1
+ import { DateTime } from 'luxon';
2
+ /**
3
+ * A playlist the station owns: records it holds in its own library, in an order somebody chose, cloned
4
+ * from somewhere else and free to differ from it afterwards
5
+ * generated from [StationPlaylist](../../../../../apps/api/data/contracts/playlists/station.playlists.types.ck#L9)
6
+ */
7
+ export interface StationPlaylist {
8
+ id: string;
9
+ name: string;
10
+ /** What this playlist is for, in the operator's own words. Empty when nobody said */
11
+ prompt: string;
12
+ /** The plugin this was cloned from, for a badge and nothing else. Absent for one read from a file or made here */
13
+ originPluginId?: string;
14
+ /** Every row, placeholders included */
15
+ trackCount: number;
16
+ /** The rows that name a record in the library, which are the ones that can air */
17
+ resolvedCount: number;
18
+ createdAt: DateTime;
19
+ updatedAt: DateTime;
20
+ }
21
+ export interface StationPlaylistInput {
22
+ name: string;
23
+ /** What this playlist is for, in the operator's own words. Empty when nobody said */
24
+ prompt: string;
25
+ }
26
+ /** Rehydrates every wire-encoded scalar in a StationPlaylist into its runtime type. Mutates and returns `raw`. */
27
+ export declare function reviveStationPlaylist(raw: StationPlaylist): StationPlaylist;
28
+ /**
29
+ * One row of a station playlist: a record in the library, or a placeholder for one it does not hold yet
30
+ * generated from [StationPlaylistTrack](../../../../../apps/api/data/contracts/playlists/station.playlists.types.ck#L25)
31
+ */
32
+ export interface StationPlaylistTrack {
33
+ /** The row's own id, not the record's */
34
+ id: string;
35
+ position: number;
36
+ title: string;
37
+ /** Ordered, primary artist first */
38
+ artists: string[];
39
+ album?: string;
40
+ durationMs?: number;
41
+ /** The library record this row plays. Absent on a placeholder */
42
+ trackId?: string;
43
+ artistId?: string;
44
+ albumId?: string;
45
+ /** On a placeholder, the plugin whose copy it was cloned from. Absent on one read from a file, which names a record and no copy of it */
46
+ originPluginId?: string;
47
+ }
48
+ /**
49
+ * What may change about a station playlist after it exists. Absent fields are left alone
50
+ * generated from [StationPlaylistUpdate](../../../../../apps/api/data/contracts/playlists/station.playlists.types.ck#L43)
51
+ */
52
+ export interface StationPlaylistUpdate {
53
+ name?: string;
54
+ prompt?: string;
55
+ }
56
+ /**
57
+ * Where a record in a file came from, when it came from a provider's copy. Carried so a record the
58
+ * receiving library does not hold can still be matched by that copy later
59
+ * generated from [PlaylistFileOrigin](../../../../../apps/api/data/contracts/playlists/station.playlists.types.ck#L50)
60
+ */
61
+ export interface PlaylistFileOrigin {
62
+ pluginId: string;
63
+ externalId: string;
64
+ }
65
+ /**
66
+ * A playlist one of the station's music sources holds, named the way the playlists listing names it
67
+ * generated from [PlaylistProviderRef](../../../../../apps/api/data/contracts/playlists/station.playlists.types.ck#L77)
68
+ */
69
+ export interface PlaylistProviderRef {
70
+ pluginId: string;
71
+ playlistId: string;
72
+ }
73
+ /**
74
+ * What importing one record would do here
75
+ * generated from [PlaylistImportEntry](../../../../../apps/api/data/contracts/playlists/station.playlists.types.ck#L94)
76
+ */
77
+ export interface PlaylistImportEntry {
78
+ position: number;
79
+ title: string;
80
+ artists: string[];
81
+ /** `matched`: the library holds it. `toAdd`: it names a provider's copy, which the station can add to its library. `toLookUp`: it names only a record, which the station has to search its providers for */
82
+ outcome: 'matched' | 'toAdd' | 'toLookUp';
83
+ /** The library record a `matched` row plays */
84
+ trackId?: string;
85
+ }
86
+ /**
87
+ * generated from [StationPlaylistList](../../../../../apps/api/data/contracts/playlists/station.playlists.types.ck#L20)
88
+ */
89
+ export interface StationPlaylistList {
90
+ playlists: StationPlaylist[];
91
+ }
92
+ export interface StationPlaylistListInput {
93
+ playlists: StationPlaylistInput[];
94
+ }
95
+ /** Rehydrates every wire-encoded scalar in a StationPlaylistList into its runtime type. Mutates and returns `raw`. */
96
+ export declare function reviveStationPlaylistList(raw: StationPlaylistList): StationPlaylistList;
97
+ /**
98
+ * generated from [StationPlaylistDetail](../../../../../apps/api/data/contracts/playlists/station.playlists.types.ck#L38)
99
+ */
100
+ export interface StationPlaylistDetail extends StationPlaylist {
101
+ tracks: StationPlaylistTrack[];
102
+ }
103
+ export interface StationPlaylistDetailInput extends StationPlaylistInput {
104
+ tracks: StationPlaylistTrack[];
105
+ }
106
+ /** Rehydrates every wire-encoded scalar in a StationPlaylistDetail into its runtime type. Mutates and returns `raw`. */
107
+ export declare function reviveStationPlaylistDetail(raw: StationPlaylistDetail): StationPlaylistDetail;
108
+ /**
109
+ * One record as a playlist file names it. By its words and its ISRC, never by an id of this station's:
110
+ * ids are minted afresh by every library, so a file keyed by them would restore onto nothing
111
+ * generated from [PlaylistFileTrack](../../../../../apps/api/data/contracts/playlists/station.playlists.types.ck#L57)
112
+ */
113
+ export interface PlaylistFileTrack {
114
+ title: string;
115
+ /** Ordered, primary artist first */
116
+ artists: string[];
117
+ album?: string;
118
+ durationMs?: number;
119
+ isrc?: string;
120
+ origin?: PlaylistFileOrigin;
121
+ }
122
+ /**
123
+ * What an import WOULD do, written nowhere
124
+ * generated from [PlaylistImportPlan](../../../../../apps/api/data/contracts/playlists/station.playlists.types.ck#L107)
125
+ */
126
+ export interface PlaylistImportPlan {
127
+ name: string;
128
+ matched: number;
129
+ toAdd: number;
130
+ toLookUp: number;
131
+ /** Lines of the source that named no record the station could read */
132
+ skipped: number;
133
+ entries: PlaylistImportEntry[];
134
+ /** Anything about the source as a whole an operator should know before importing it */
135
+ notices: string[];
136
+ }
137
+ /**
138
+ * A playlist as a file: everything somebody would need to rebuild it on another station
139
+ * generated from [PlaylistFile](../../../../../apps/api/data/contracts/playlists/station.playlists.types.ck#L67)
140
+ */
141
+ export interface PlaylistFile {
142
+ /** What shape this is, so a file from a later build says so rather than being read wrongly */
143
+ format: string;
144
+ /** When it was exported, ISO-8601 */
145
+ takenAt: string;
146
+ /** The station it was taken from. Provenance only */
147
+ station?: string;
148
+ name: string;
149
+ prompt?: string;
150
+ tracks: PlaylistFileTrack[];
151
+ }
152
+ /**
153
+ * generated from [PlaylistImportResult](../../../../../apps/api/data/contracts/playlists/station.playlists.types.ck#L117)
154
+ */
155
+ export interface PlaylistImportResult {
156
+ plan: PlaylistImportPlan;
157
+ playlist: StationPlaylist;
158
+ }
159
+ export interface PlaylistImportResultInput {
160
+ plan: PlaylistImportPlan;
161
+ playlist: StationPlaylistInput;
162
+ }
163
+ /** Rehydrates every wire-encoded scalar in a PlaylistImportResult into its runtime type. Mutates and returns `raw`. */
164
+ export declare function revivePlaylistImportResult(raw: PlaylistImportResult): PlaylistImportResult;
165
+ /**
166
+ * Something to import a playlist from. Exactly one source
167
+ * generated from [PlaylistImportInput](../../../../../apps/api/data/contracts/playlists/station.playlists.types.ck#L83)
168
+ */
169
+ export interface PlaylistImportInput {
170
+ /** A playlist exported from a deadair station */
171
+ file?: PlaylistFile;
172
+ /** A playlist another program wrote, as its text: an M3U, a CSV with a header row, or one `Artist - Title` per line */
173
+ text?: string;
174
+ /** Which of those `text` is. Absent works it out from the text */
175
+ format?: 'm3u' | 'csv' | 'text';
176
+ /** The name of the file `text` came from, which names the playlist when the text does not */
177
+ fileName?: string;
178
+ /** A link to a playlist at one of the station's music sources, as a browser or an app shows it */
179
+ url?: string;
180
+ /** A playlist a music source lists here, by its plugin and its id */
181
+ providerPlaylist?: PlaylistProviderRef;
182
+ /** What to call the new playlist. Absent keeps the name the source gives it */
183
+ name?: string;
184
+ }
185
+ //# sourceMappingURL=station.playlists.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"station.playlists.types.d.ts","sourceRoot":"","sources":["../../../src/playlists/types/station.playlists.types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { SdkFetch } from '../sdk-options.js';
2
- import type { PlayoutChartInput, PlayoutPlaylistInput, PlayoutStatus } from './types/playout.types.js';
2
+ import type { PlayoutChartInput, PlayoutPlaylistInput, PlayoutStationPlaylistInput, PlayoutStatus } from './types/playout.types.js';
3
3
  export declare class PlayoutClient {
4
4
  private fetch;
5
5
  constructor(fetch: SdkFetch);
@@ -13,6 +13,11 @@ export declare class PlayoutClient {
13
13
  * @description Loads a plugin playlist into the running order and starts handing it to the player. Replaces whatever was queued; what is on air finishes rather than being cut off
14
14
  */
15
15
  playAPlaylist(body: PlayoutPlaylistInput): Promise<PlayoutStatus>;
16
+ /**
17
+ * @name Play a station playlist
18
+ * @description Loads a playlist the station owns into the running order and starts handing it to the player. The same replacement a plugin playlist makes, from records the library already holds
19
+ */
20
+ playAStationPlaylist(body: PlayoutStationPlaylistInput): Promise<PlayoutStatus>;
16
21
  /**
17
22
  * @name Play a chart
18
23
  * @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
@@ -1 +1 @@
1
- {"version":3,"file":"playout.client.d.ts","sourceRoot":"","sources":["../../src/playout/playout.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEvG,qBAAa,aAAa;IACV,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,QAAQ;IAEnC;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC;IAKhD;;;OAGG;IACG,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC;IASvE;;;OAGG;IACG,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IASjE;;;OAGG;IACG,kBAAkB,IAAI,OAAO,CAAC,aAAa,CAAC;IAKlD;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,aAAa,CAAC;IAK5C;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;CAI9C"}
1
+ {"version":3,"file":"playout.client.d.ts","sourceRoot":"","sources":["../../src/playout/playout.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEpI,qBAAa,aAAa;IACV,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,QAAQ;IAEnC;;;OAGG;IACG,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC;IAKhD;;;OAGG;IACG,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC;IASvE;;;OAGG;IACG,oBAAoB,CAAC,IAAI,EAAE,2BAA2B,GAAG,OAAO,CAAC,aAAa,CAAC;IASrF;;;OAGG;IACG,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IASjE;;;OAGG;IACG,kBAAkB,IAAI,OAAO,CAAC,aAAa,CAAC;IAKlD;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,aAAa,CAAC;IAK5C;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC;CAI9C"}
@@ -8,9 +8,18 @@ export interface PlayoutPlaylistInput {
8
8
  /** Whether records that sound like the ones on this playlist are mixed in among them, one every `rotation.mixInEvery` records. The playlist still plays in full and in its own order around them. Absent takes the station's own setting, which is off */
9
9
  mixInSimilar?: boolean;
10
10
  }
11
+ /**
12
+ * A playlist the station owns, to load into the running order
13
+ * generated from [PlayoutStationPlaylistInput](../../../../../apps/api/data/contracts/playout/playout.types.ck#L13)
14
+ */
15
+ export interface PlayoutStationPlaylistInput {
16
+ stationPlaylistId: string;
17
+ /** Whether records that sound like the ones on this playlist are mixed in among them, one every `rotation.mixInEvery` records. Absent takes the station's own setting, which is off */
18
+ mixInSimilar?: boolean;
19
+ }
11
20
  /**
12
21
  * The published chart to build the running order from
13
- * generated from [PlayoutChartInput](../../../../../apps/api/data/contracts/playout/playout.types.ck#L13)
22
+ * generated from [PlayoutChartInput](../../../../../apps/api/data/contracts/playout/playout.types.ck#L18)
14
23
  */
15
24
  export interface PlayoutChartInput {
16
25
  /** As `pluginId:chartId`, which is how `GET /charts` lists them */
@@ -20,7 +29,7 @@ export interface PlayoutChartInput {
20
29
  }
21
30
  /**
22
31
  * One item in the running order, as the console sees it
23
- * generated from [PlayoutItem](../../../../../apps/api/data/contracts/playout/playout.types.ck#L18)
32
+ * generated from [PlayoutItem](../../../../../apps/api/data/contracts/playout/playout.types.ck#L23)
24
33
  */
25
34
  export interface PlayoutItem {
26
35
  /** deadair's own id for this item, not the provider's: a playlist may hold the same track twice */
@@ -46,7 +55,7 @@ export interface PlayoutItem {
46
55
  * re-rendered — so a reseeded secret leaves a process holding credentials that match nothing,
47
56
  * and the symptom names something else entirely (every listener refused, or no mount at all).
48
57
  * The app cannot restart a sibling container and should not be able to, so it reports.
49
- * generated from [StreamConfigWarning](../../../../../apps/api/data/contracts/playout/playout.types.ck#L42)
58
+ * generated from [StreamConfigWarning](../../../../../apps/api/data/contracts/playout/playout.types.ck#L47)
50
59
  */
51
60
  export interface StreamConfigWarning {
52
61
  /** Which one is behind */
@@ -59,19 +68,19 @@ export interface StreamConfigWarning {
59
68
  /**
60
69
  * Which gate is keeping the station quiet, or `airing` when none of them is. Ordered by cause: a
61
70
  * stalled transport loop makes every reading under it stale, so it is ruled out first
62
- * generated from [SilenceCause](../../../../../apps/api/data/contracts/playout/playout.types.ck#L50)
71
+ * generated from [SilenceCause](../../../../../apps/api/data/contracts/playout/playout.types.ck#L55)
63
72
  */
64
73
  export type SilenceCause = 'airing' | 'transportStalled' | 'controlDenied' | 'streamUnreachable' | 'configNotAdopted' | 'stoodDown' | 'noProgramme' | 'noAudience' | 'warmingUp' | 'waitingOnAudio' | 'notDriving' | 'starved';
65
74
  /**
66
75
  * How one gate is doing. `waiting` is its own state rather than a mild fault, because a station
67
76
  * idling for want of a listener and a station that cannot reach its stream are both silent and only
68
77
  * one of them is something to go and fix
69
- * generated from [SilenceState](../../../../../apps/api/data/contracts/playout/playout.types.ck#L68)
78
+ * generated from [SilenceState](../../../../../apps/api/data/contracts/playout/playout.types.ck#L73)
70
79
  */
71
80
  export type SilenceState = 'ok' | 'waiting' | 'fault';
72
81
  /**
73
82
  * One mount the station is publishing right now
74
- * generated from [PlayoutMount](../../../../../apps/api/data/contracts/playout/playout.types.ck#L85)
83
+ * generated from [PlayoutMount](../../../../../apps/api/data/contracts/playout/playout.types.ck#L90)
75
84
  */
76
85
  export interface PlayoutMount {
77
86
  format: 'mp3' | 'opus' | 'aac' | 'flac';
@@ -82,7 +91,7 @@ export interface PlayoutMount {
82
91
  }
83
92
  /**
84
93
  * Which rundown item Liquidsoap has just started playing
85
- * generated from [PlayoutAiredQuery](../../../../../apps/api/data/contracts/playout/playout.types.ck#L105)
94
+ * generated from [PlayoutAiredQuery](../../../../../apps/api/data/contracts/playout/playout.types.ck#L110)
86
95
  */
87
96
  export interface PlayoutAiredQuery {
88
97
  /** The id the app put on the pushed uri's `annotate:` metadata */
@@ -90,7 +99,7 @@ export interface PlayoutAiredQuery {
90
99
  }
91
100
  /**
92
101
  * Which way the running order went, and how long it had been that way
93
- * generated from [PlayoutStarveQuery](../../../../../apps/api/data/contracts/playout/playout.types.ck#L109)
102
+ * generated from [PlayoutStarveQuery](../../../../../apps/api/data/contracts/playout/playout.types.ck#L114)
94
103
  */
95
104
  export interface PlayoutStarveQuery {
96
105
  /** `starved`: the queue stopped producing while deadair was driving, so the mount fell through to the local bed. `recovered`: it is producing again */
@@ -100,7 +109,7 @@ export interface PlayoutStarveQuery {
100
109
  }
101
110
  /**
102
111
  * What the PLAYER says is airing, which is not the same as what was last handed to it
103
- * generated from [PlayoutNowPlaying](../../../../../apps/api/data/contracts/playout/playout.types.ck#L31)
112
+ * generated from [PlayoutNowPlaying](../../../../../apps/api/data/contracts/playout/playout.types.ck#L36)
104
113
  */
105
114
  export interface PlayoutNowPlaying {
106
115
  item: PlayoutItem;
@@ -111,7 +120,7 @@ export interface PlayoutNowPlaying {
111
120
  }
112
121
  /**
113
122
  * One gate's answer about itself
114
- * generated from [SilenceCheck](../../../../../apps/api/data/contracts/playout/playout.types.ck#L70)
123
+ * generated from [SilenceCheck](../../../../../apps/api/data/contracts/playout/playout.types.ck#L75)
115
124
  */
116
125
  export interface SilenceCheck {
117
126
  /** Never `airing`, which is the absence of a blocking gate rather than a gate */
@@ -124,7 +133,7 @@ export interface SilenceCheck {
124
133
  }
125
134
  /**
126
135
  * Why the station cannot be heard, as one answer
127
- * generated from [StationSilence](../../../../../apps/api/data/contracts/playout/playout.types.ck#L77)
136
+ * generated from [StationSilence](../../../../../apps/api/data/contracts/playout/playout.types.ck#L82)
128
137
  */
129
138
  export interface StationSilence {
130
139
  /** Whether the station believes its programme is reaching the mount. NOT whether anybody is hearing it: a station can be audible with no listeners in `always` mode, and can have listeners while airing the local bed */
@@ -137,7 +146,7 @@ export interface StationSilence {
137
146
  }
138
147
  /**
139
148
  * The station's transport, as one reading
140
- * generated from [PlayoutStatus](../../../../../apps/api/data/contracts/playout/playout.types.ck#L91)
149
+ * generated from [PlayoutStatus](../../../../../apps/api/data/contracts/playout/playout.types.ck#L96)
141
150
  */
142
151
  export interface PlayoutStatus {
143
152
  /** Whether Liquidsoap's control API is answering at all. False means nothing can air, whatever the running order holds */
@@ -1 +1 @@
1
- {"version":3,"file":"playout.types.d.ts","sourceRoot":"","sources":["../../../src/playout/types/playout.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"playout.types.d.ts","sourceRoot":"","sources":["../../../src/playout/types/playout.types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deadair/sdk",
3
- "version": "0.31.3",
3
+ "version": "0.32.0",
4
4
  "description": "A typed client for the deadair station's HTTP API, generated from the same contracts the station serves.",
5
5
  "keywords": [
6
6
  "deadair",