@deadair/sdk 0.7.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 (155) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +109 -0
  3. package/dist/activity/activity.client.d.ts +12 -0
  4. package/dist/activity/activity.client.d.ts.map +1 -0
  5. package/dist/activity/types/activity.types.d.ts +60 -0
  6. package/dist/activity/types/activity.types.d.ts.map +1 -0
  7. package/dist/activity/types/index.d.ts +2 -0
  8. package/dist/activity/types/index.d.ts.map +1 -0
  9. package/dist/art/art.client.d.ts +21 -0
  10. package/dist/art/art.client.d.ts.map +1 -0
  11. package/dist/authentication/authentication.client.d.ts +33 -0
  12. package/dist/authentication/authentication.client.d.ts.map +1 -0
  13. package/dist/authentication/authentication.factor.client.d.ts +41 -0
  14. package/dist/authentication/authentication.factor.client.d.ts.map +1 -0
  15. package/dist/authentication/authentication.sessions.client.d.ts +20 -0
  16. package/dist/authentication/authentication.sessions.client.d.ts.map +1 -0
  17. package/dist/authentication/types/authentication.types.d.ts +846 -0
  18. package/dist/authentication/types/authentication.types.d.ts.map +1 -0
  19. package/dist/authentication/types/index.d.ts +3 -0
  20. package/dist/authentication/types/index.d.ts.map +1 -0
  21. package/dist/authentication/types/registration.types.d.ts +336 -0
  22. package/dist/authentication/types/registration.types.d.ts.map +1 -0
  23. package/dist/catalog/catalog.client.d.ts +96 -0
  24. package/dist/catalog/catalog.client.d.ts.map +1 -0
  25. package/dist/catalog/types/catalog.types.d.ts +593 -0
  26. package/dist/catalog/types/catalog.types.d.ts.map +1 -0
  27. package/dist/catalog/types/index.d.ts +2 -0
  28. package/dist/catalog/types/index.d.ts.map +1 -0
  29. package/dist/charts/charts.client.d.ts +17 -0
  30. package/dist/charts/charts.client.d.ts.map +1 -0
  31. package/dist/charts/types/charts.types.d.ts +54 -0
  32. package/dist/charts/types/charts.types.d.ts.map +1 -0
  33. package/dist/charts/types/index.d.ts +2 -0
  34. package/dist/charts/types/index.d.ts.map +1 -0
  35. package/dist/deadair.sdk.d.ts +49 -0
  36. package/dist/deadair.sdk.d.ts.map +1 -0
  37. package/dist/director/director.client.d.ts +98 -0
  38. package/dist/director/director.client.d.ts.map +1 -0
  39. package/dist/director/types/clock.types.d.ts +57 -0
  40. package/dist/director/types/clock.types.d.ts.map +1 -0
  41. package/dist/director/types/director.types.d.ts +212 -0
  42. package/dist/director/types/director.types.d.ts.map +1 -0
  43. package/dist/director/types/index.d.ts +3 -0
  44. package/dist/director/types/index.d.ts.map +1 -0
  45. package/dist/history/history.client.d.ts +12 -0
  46. package/dist/history/history.client.d.ts.map +1 -0
  47. package/dist/history/types/history.types.d.ts +44 -0
  48. package/dist/history/types/history.types.d.ts.map +1 -0
  49. package/dist/history/types/index.d.ts +2 -0
  50. package/dist/history/types/index.d.ts.map +1 -0
  51. package/dist/index.d.ts +49 -0
  52. package/dist/index.d.ts.map +1 -0
  53. package/dist/index.js +3509 -0
  54. package/dist/index.js.map +1 -0
  55. package/dist/news/news.client.d.ts +17 -0
  56. package/dist/news/news.client.d.ts.map +1 -0
  57. package/dist/news/types/index.d.ts +2 -0
  58. package/dist/news/types/index.d.ts.map +1 -0
  59. package/dist/news/types/news.types.d.ts +61 -0
  60. package/dist/news/types/news.types.d.ts.map +1 -0
  61. package/dist/nowplaying/nowplaying.client.d.ts +12 -0
  62. package/dist/nowplaying/nowplaying.client.d.ts.map +1 -0
  63. package/dist/nowplaying/types/index.d.ts +2 -0
  64. package/dist/nowplaying/types/index.d.ts.map +1 -0
  65. package/dist/nowplaying/types/nowplaying.types.d.ts +59 -0
  66. package/dist/nowplaying/types/nowplaying.types.d.ts.map +1 -0
  67. package/dist/onboarding/onboarding.client.d.ts +11 -0
  68. package/dist/onboarding/onboarding.client.d.ts.map +1 -0
  69. package/dist/onboarding/types/index.d.ts +2 -0
  70. package/dist/onboarding/types/index.d.ts.map +1 -0
  71. package/dist/onboarding/types/onboarding.types.d.ts +41 -0
  72. package/dist/onboarding/types/onboarding.types.d.ts.map +1 -0
  73. package/dist/personas/personas.client.d.ts +167 -0
  74. package/dist/personas/personas.client.d.ts.map +1 -0
  75. package/dist/personas/types/index.d.ts +2 -0
  76. package/dist/personas/types/index.d.ts.map +1 -0
  77. package/dist/personas/types/personas.types.d.ts +545 -0
  78. package/dist/personas/types/personas.types.d.ts.map +1 -0
  79. package/dist/playlists/playlists.client.d.ts +17 -0
  80. package/dist/playlists/playlists.client.d.ts.map +1 -0
  81. package/dist/playlists/types/index.d.ts +2 -0
  82. package/dist/playlists/types/index.d.ts.map +1 -0
  83. package/dist/playlists/types/playlists.types.d.ts +71 -0
  84. package/dist/playlists/types/playlists.types.d.ts.map +1 -0
  85. package/dist/playout/playout.client.d.ts +37 -0
  86. package/dist/playout/playout.client.d.ts.map +1 -0
  87. package/dist/playout/types/index.d.ts +2 -0
  88. package/dist/playout/types/index.d.ts.map +1 -0
  89. package/dist/playout/types/playout.types.d.ts +163 -0
  90. package/dist/playout/types/playout.types.d.ts.map +1 -0
  91. package/dist/plugins/plugins.client.d.ts +107 -0
  92. package/dist/plugins/plugins.client.d.ts.map +1 -0
  93. package/dist/plugins/types/index.d.ts +2 -0
  94. package/dist/plugins/types/index.d.ts.map +1 -0
  95. package/dist/plugins/types/plugins.types.d.ts +330 -0
  96. package/dist/plugins/types/plugins.types.d.ts.map +1 -0
  97. package/dist/productions/productions.client.d.ts +22 -0
  98. package/dist/productions/productions.client.d.ts.map +1 -0
  99. package/dist/productions/types/index.d.ts +2 -0
  100. package/dist/productions/types/index.d.ts.map +1 -0
  101. package/dist/productions/types/productions.types.d.ts +90 -0
  102. package/dist/productions/types/productions.types.d.ts.map +1 -0
  103. package/dist/render/render.client.d.ts +210 -0
  104. package/dist/render/render.client.d.ts.map +1 -0
  105. package/dist/render/types/index.d.ts +2 -0
  106. package/dist/render/types/index.d.ts.map +1 -0
  107. package/dist/render/types/render.types.d.ts +518 -0
  108. package/dist/render/types/render.types.d.ts.map +1 -0
  109. package/dist/schedule/schedule.client.d.ts +37 -0
  110. package/dist/schedule/schedule.client.d.ts.map +1 -0
  111. package/dist/schedule/types/index.d.ts +2 -0
  112. package/dist/schedule/types/index.d.ts.map +1 -0
  113. package/dist/schedule/types/schedule.types.d.ts +119 -0
  114. package/dist/schedule/types/schedule.types.d.ts.map +1 -0
  115. package/dist/sdk-options.d.ts +45 -0
  116. package/dist/sdk-options.d.ts.map +1 -0
  117. package/dist/settings/settings.client.d.ts +17 -0
  118. package/dist/settings/settings.client.d.ts.map +1 -0
  119. package/dist/settings/types/index.d.ts +2 -0
  120. package/dist/settings/types/index.d.ts.map +1 -0
  121. package/dist/settings/types/settings.types.d.ts +35 -0
  122. package/dist/settings/types/settings.types.d.ts.map +1 -0
  123. package/dist/shared/types/index.d.ts +2 -0
  124. package/dist/shared/types/index.d.ts.map +1 -0
  125. package/dist/shared/types/pagination.d.ts +34 -0
  126. package/dist/shared/types/pagination.d.ts.map +1 -0
  127. package/dist/station/station.client.d.ts +49 -0
  128. package/dist/station/station.client.d.ts.map +1 -0
  129. package/dist/station/types/index.d.ts +4 -0
  130. package/dist/station/types/index.d.ts.map +1 -0
  131. package/dist/station/types/logs.types.d.ts +73 -0
  132. package/dist/station/types/logs.types.d.ts.map +1 -0
  133. package/dist/station/types/station.types.d.ts +120 -0
  134. package/dist/station/types/station.types.d.ts.map +1 -0
  135. package/dist/station/types/traces.types.d.ts +91 -0
  136. package/dist/station/types/traces.types.d.ts.map +1 -0
  137. package/dist/storage/storage.client.d.ts +12 -0
  138. package/dist/storage/storage.client.d.ts.map +1 -0
  139. package/dist/storage/types/index.d.ts +2 -0
  140. package/dist/storage/types/index.d.ts.map +1 -0
  141. package/dist/storage/types/storage.types.d.ts +59 -0
  142. package/dist/storage/types/storage.types.d.ts.map +1 -0
  143. package/dist/stream/stream.client.d.ts +32 -0
  144. package/dist/stream/stream.client.d.ts.map +1 -0
  145. package/dist/stream/types/index.d.ts +2 -0
  146. package/dist/stream/types/index.d.ts.map +1 -0
  147. package/dist/stream/types/stream.types.d.ts +47 -0
  148. package/dist/stream/types/stream.types.d.ts.map +1 -0
  149. package/dist/topics/topics.client.d.ts +32 -0
  150. package/dist/topics/topics.client.d.ts.map +1 -0
  151. package/dist/topics/types/index.d.ts +2 -0
  152. package/dist/topics/types/index.d.ts.map +1 -0
  153. package/dist/topics/types/topics.types.d.ts +65 -0
  154. package/dist/topics/types/topics.types.d.ts.map +1 -0
  155. package/package.json +53 -0
@@ -0,0 +1,518 @@
1
+ import { DateTime } from 'luxon';
2
+ /**
3
+ * One thing the station can play that is not a record
4
+ * generated from [Segment](../../../../../apps/api/data/contracts/render/render.types.ck#L7)
5
+ */
6
+ export interface Segment {
7
+ id: string;
8
+ /** What sort of element it is: `ident`, `stinger`, `talkbreak`, `news` */
9
+ kind: string;
10
+ /** One state per stage of making it. Only `ready` can go on air; the station skips anything else rather than waiting for it */
11
+ state: 'planned' | 'writing' | 'written' | 'rendering' | 'ready' | 'failed';
12
+ /** What the console calls it, and what the mount is labelled with while it airs */
13
+ label: string;
14
+ /** Who made it: `library` for a file dropped into the inbox */
15
+ source: string;
16
+ /** Whether there is audio behind it yet */
17
+ playable: boolean;
18
+ /** The words, for anything that speaks. Absent for an imported recording */
19
+ script?: string;
20
+ /** The words as the speech engine was handed them: symbols said, years read as a person reads them, the station's pronunciation list applied. Absent until something has spoken it */
21
+ spokenScript?: string;
22
+ /** The file in the inbox this came from. The bytes were copied, so emptying the inbox does not take it off the air */
23
+ sourcePath?: string;
24
+ /** How long it runs. A display value: the player measures the audio itself */
25
+ durationMs?: number;
26
+ /** Why it is `failed` */
27
+ error?: string;
28
+ /** The station's own name for the voice this is said in, e.g. `host`. Absent means the speech plugin's default */
29
+ voice?: string;
30
+ /** How the words are read: `hushed` or `frantic`. Absent is the voice's own ordinary reading, which is nearly every segment */
31
+ delivery?: string;
32
+ }
33
+ /**
34
+ * Something for the station to say, before anything has said it
35
+ * generated from [SegmentCreate](../../../../../apps/api/data/contracts/render/render.types.ck#L23)
36
+ */
37
+ export interface SegmentCreate {
38
+ /** What the console calls it, and what the mount is labelled with while it airs */
39
+ label: string;
40
+ /** The words to say */
41
+ script: string;
42
+ /** What sort of element it is. Defaults to `talkbreak` */
43
+ kind?: string;
44
+ /** A station voice name the speech plugin knows how to map. Absent uses its default */
45
+ voice?: string;
46
+ /** How to read the words: `hushed` or `frantic`, and refused otherwise. Absent is the voice's own ordinary reading. Dropped at render time by an engine that cannot perform it */
47
+ delivery?: string;
48
+ }
49
+ /**
50
+ * A recording arriving from the browser, as multipart form parts.
51
+ *
52
+ * Documentation rather than validation: a multipart body reaches the service as the raw parser and
53
+ * the generated client types the body as `FormData`, so nothing checks this shape. It says what to
54
+ * send
55
+ * generated from [SegmentUpload](../../../../../apps/api/data/contracts/render/render.types.ck#L36)
56
+ */
57
+ export interface SegmentUpload {
58
+ /** The audio itself. mp3, wav, ogg, flac or m4a, and at most 50 MB */
59
+ file: Blob;
60
+ /** What sort of element it is, which is also the directory it is filed under. A kind nothing else uses becomes a bookable band on the format clock */
61
+ kind: string;
62
+ /** What the console calls it, and what the mount is labelled with while it airs. Derived from the filename when absent */
63
+ label?: string;
64
+ }
65
+ /**
66
+ * A voice the station can be asked to speak in
67
+ * generated from [Voice](../../../../../apps/api/data/contracts/render/render.types.ck#L46)
68
+ */
69
+ export interface Voice {
70
+ /** What to pass as a segment's `voice`. Empty means the plugin's own default */
71
+ id: string;
72
+ /** What the console calls it */
73
+ label: string;
74
+ /** What it sounds like, or what it maps to on the engine */
75
+ description?: string;
76
+ }
77
+ /**
78
+ * Whether there are words, and if not, which way it went wrong
79
+ * generated from [ScriptOutcome](../../../../../apps/api/data/contracts/render/render.types.ck#L59)
80
+ */
81
+ export type ScriptOutcome = 'written' | 'declined' | 'failed';
82
+ /**
83
+ * A record a writer was told about, kept as it was told
84
+ * generated from [ScriptNeighbour](../../../../../apps/api/data/contracts/render/render.types.ck#L61)
85
+ */
86
+ export interface ScriptNeighbour {
87
+ title: string;
88
+ artist: string;
89
+ /** What it was shown about the record. A break that said nothing interesting and one that was TOLD nothing interesting read the same from the script alone */
90
+ facts?: string[];
91
+ }
92
+ /**
93
+ * What the provider said the attempt cost, when it said anything
94
+ * generated from [ScriptUsage](../../../../../apps/api/data/contracts/render/render.types.ck#L67)
95
+ */
96
+ export interface ScriptUsage {
97
+ inputTokens?: number;
98
+ outputTokens?: number;
99
+ totalTokens?: number;
100
+ }
101
+ /**
102
+ * One turn of the conversation a writer sent
103
+ * generated from [ScriptPromptMessage](../../../../../apps/api/data/contracts/render/render.types.ck#L73)
104
+ */
105
+ export interface ScriptPromptMessage {
106
+ role: string;
107
+ content: string;
108
+ }
109
+ /**
110
+ * What an operator thought of something the station said.
111
+ *
112
+ * The catalog's three spellings exactly, and deliberately not a second vocabulary: an opinion is an
113
+ * opinion whether it is about a record or about a sentence, and `catalog/rating.ts` is the one place
114
+ * the words and the column's numbers meet.
115
+ *
116
+ * `neutral` is a real answer rather than an absence. Rating something back to nothing is a thing an
117
+ * operator does, and it has to be distinguishable from never having listened, which is the field
118
+ * being absent on the attempt.
119
+ * generated from [ScriptRating](../../../../../apps/api/data/contracts/render/render.types.ck#L110)
120
+ */
121
+ export type ScriptRating = 'liked' | 'neutral' | 'disliked';
122
+ /**
123
+ * Words to hear before anything has aired them
124
+ * generated from [SpeechPreviewRequest](../../../../../apps/api/data/contracts/render/render.types.ck#L131)
125
+ */
126
+ export interface SpeechPreviewRequest {
127
+ /** What to say. Far under a segment's 20000 because this is one break heard once, and the cap is what bounds a cache keyed on the words themselves */
128
+ text: string;
129
+ /** A station voice name, as a segment's `voice`. Absent uses the plugin's own default */
130
+ voice?: string;
131
+ /** How to read it, as a segment's `delivery`: `hushed` or `frantic`, and refused otherwise. Absent is the voice's own ordinary reading */
132
+ delivery?: string;
133
+ }
134
+ /**
135
+ * The window the counts cover
136
+ * generated from [ScriptHistorySummaryQuery](../../../../../apps/api/data/contracts/render/render.types.ck#L138)
137
+ */
138
+ export interface ScriptHistorySummaryQuery {
139
+ /** How far back to count. Defaults to 24, and a week at most, because past that the nightly sweep may already have taken the rows and the count would quietly be of what survived rather than of what happened */
140
+ hours?: number;
141
+ }
142
+ /**
143
+ * One presenter's attempts in the window
144
+ * generated from [ScriptHistorySummaryRow](../../../../../apps/api/data/contracts/render/render.types.ck#L142)
145
+ */
146
+ export interface ScriptHistorySummaryRow {
147
+ /** Absent means nobody was presenting, which is an ordinary state rather than a gap in the data */
148
+ personaKey?: string;
149
+ written: number;
150
+ /** A decline is the writer registry working: the model had nothing to say and the floor covered for it */
151
+ declined: number;
152
+ failed: number;
153
+ }
154
+ /**
155
+ * What one pass over the inbox did
156
+ * generated from [SegmentScanResult](../../../../../apps/api/data/contracts/render/render.types.ck#L154)
157
+ */
158
+ export interface SegmentScanResult {
159
+ /** Audio files seen, whether or not they were already known */
160
+ scanned: number;
161
+ /** Segments the station did not have before this pass */
162
+ imported: number;
163
+ /** Files passed over: not audio it can serve, or unreadable */
164
+ skipped: number;
165
+ }
166
+ /**
167
+ * One name the station says differently from how it is written
168
+ * generated from [Pronunciation](../../../../../apps/api/data/contracts/render/render.types.ck#L160)
169
+ */
170
+ export interface Pronunciation {
171
+ id: string;
172
+ /** What appears in a script. Matched case-insensitively, and whole words only */
173
+ written: string;
174
+ /** What the engine is handed instead, untouched. EMPTY is meaningful: it drops the words, which is the honest reading for a marker that got into a title and is not a word */
175
+ spoken: string;
176
+ /** `active` is said. `suggested` is proposed and says nothing yet. `rejected` outlives the pass that proposed it, or the same article proposes it again forever */
177
+ state: 'active' | 'suggested' | 'rejected';
178
+ /** Who says so. `gloss` is a pronunciation key an encyclopaedia article printed for itself */
179
+ origin: 'operator' | 'gloss';
180
+ /** The article. Present on anything an operator did not type */
181
+ sourceUrl?: string;
182
+ /** The sentence that says so, as it stands in the article, which is what the decision is actually made on */
183
+ sourceQuote?: string;
184
+ /** What the article was about */
185
+ subjectKind?: 'track' | 'album' | 'artist';
186
+ subjectId?: string;
187
+ createdAt: string;
188
+ }
189
+ /**
190
+ * A name and how to say it
191
+ * generated from [PronunciationWrite](../../../../../apps/api/data/contracts/render/render.types.ck#L177)
192
+ */
193
+ export interface PronunciationWrite {
194
+ written: string;
195
+ /** Empty drops the words rather than saying them */
196
+ spoken: string;
197
+ }
198
+ /**
199
+ * Accepting a proposal, turning one down, or taking an entry out of use without losing it
200
+ * generated from [PronunciationStateWrite](../../../../../apps/api/data/contracts/render/render.types.ck#L182)
201
+ */
202
+ export interface PronunciationStateWrite {
203
+ state: 'active' | 'suggested' | 'rejected';
204
+ }
205
+ /**
206
+ * Which part of the lexicon to read
207
+ * generated from [PronunciationQuery](../../../../../apps/api/data/contracts/render/render.types.ck#L186)
208
+ */
209
+ export interface PronunciationQuery {
210
+ /** Absent is all of it */
211
+ state?: 'active' | 'suggested' | 'rejected';
212
+ }
213
+ /**
214
+ * One sound on a soundboard, as the console draws it.
215
+ *
216
+ * `name` is what a script writes to hit it and `label` is what a person reads: two columns rather
217
+ * than one, because a token for a model and prose for an operator are different things and the
218
+ * filename produces both
219
+ * generated from [Pad](../../../../../apps/api/data/contracts/render/render.types.ck#L195)
220
+ */
221
+ export interface Pad {
222
+ id: string;
223
+ /** Which directory it arrived in. Provenance: what reaches it is a set */
224
+ board: string;
225
+ /** The keys of the sets it is on. Empty means it is in the library and nothing can hit it */
226
+ sets: string[];
227
+ /** What a script writes: `[sfx:airhorn]` */
228
+ name: string;
229
+ label: string;
230
+ durationMs?: number;
231
+ /** How loud it came out, once something measured it. Absent on a station with no analyzer, which is ordinary */
232
+ loudnessLufs?: number;
233
+ /** Who put the file there: `library` for one the operator dropped in, `upload` or `url` for one the console wrote. It decides whether the console may delete it */
234
+ source: string;
235
+ /** The file in the library directory it was imported from, so the console can say where it came from */
236
+ sourcePath?: string;
237
+ /** When it was last hit. Absent for one nothing has reached for yet */
238
+ lastUsedAt?: DateTime;
239
+ state: 'active' | 'rejected';
240
+ }
241
+ export interface PadInput {
242
+ /** Which directory it arrived in. Provenance: what reaches it is a set */
243
+ board: string;
244
+ /** What a script writes: `[sfx:airhorn]` */
245
+ name: string;
246
+ label: string;
247
+ durationMs?: number;
248
+ /** How loud it came out, once something measured it. Absent on a station with no analyzer, which is ordinary */
249
+ loudnessLufs?: number;
250
+ /** The file in the library directory it was imported from, so the console can say where it came from */
251
+ sourcePath?: string;
252
+ /** When it was last hit. Absent for one nothing has reached for yet */
253
+ lastUsedAt?: DateTime;
254
+ state: 'active' | 'rejected';
255
+ }
256
+ /** Rehydrates every wire-encoded scalar in a Pad into its runtime type. Mutates and returns `raw`. */
257
+ export declare function revivePad(raw: Pad): Pad;
258
+ /**
259
+ * A sound arriving from the browser, as multipart form parts.
260
+ *
261
+ * Documentation rather than validation: a multipart body reaches the service as the raw parser and
262
+ * the generated client types the body as `FormData`, so nothing checks this shape. It says what to
263
+ * send
264
+ * generated from [PadUpload](../../../../../apps/api/data/contracts/render/render.types.ck#L214)
265
+ */
266
+ export interface PadUpload {
267
+ /** The audio itself. mp3, wav, ogg, flac or m4a, and at most 25 MB */
268
+ file: Blob;
269
+ /** The directory it is filed under, which is also the set it joins. A new name makes both */
270
+ board: string;
271
+ /** What a script will write. Derived from the filename when absent, and the FILE is named after this either way */
272
+ name?: string;
273
+ /** What the console calls it. Derived from the filename when absent */
274
+ label?: string;
275
+ }
276
+ /**
277
+ * A sound the station is being told to go and get.
278
+ *
279
+ * The operator names the address, so this is them choosing a file exactly as dropping one in the
280
+ * library is. Nothing inspects what comes back and nothing records a claim about its licence -- see
281
+ * `docs/internals/render.md` under "Pads", whose line is redistribution rather than use
282
+ * generated from [PadFetch](../../../../../apps/api/data/contracts/render/render.types.ck#L226)
283
+ */
284
+ export interface PadFetch {
285
+ /** Where the audio is. Followed once, bounded, and refused unless what comes back is a format the station serves */
286
+ url: string;
287
+ /** The directory it is filed under, which is also the set it joins */
288
+ board: string;
289
+ /** What a script will write. Derived from the address when absent */
290
+ name?: string;
291
+ label?: string;
292
+ }
293
+ /**
294
+ * A named collection of pads: what a presenter is actually handed.
295
+ *
296
+ * One library, cut as many ways as an operator likes. `personas.soundboard` holds the `key`, so
297
+ * renaming a set unpoints every persona naming it — which is why `personas` says who those are
298
+ * generated from [PadSet](../../../../../apps/api/data/contracts/render/render.types.ck#L242)
299
+ */
300
+ export interface PadSet {
301
+ id: string;
302
+ /** The slug a persona names. A directory in the pad library makes one of these */
303
+ key: string;
304
+ label: string;
305
+ position: number;
306
+ /** How many sounds are on it. Zero is ordinary: it is what a set looks like before anybody drops a file */
307
+ pads: number;
308
+ /** Who is pointed at it, so a rename or a delete can say what it is about to unpoint */
309
+ personas: string[];
310
+ }
311
+ export interface PadSetInput {
312
+ /** The slug a persona names. A directory in the pad library makes one of these */
313
+ key: string;
314
+ label: string;
315
+ position: number;
316
+ }
317
+ /**
318
+ * A set an operator is naming, or renaming
319
+ * generated from [PadSetWrite](../../../../../apps/api/data/contracts/render/render.types.ck#L251)
320
+ */
321
+ export interface PadSetWrite {
322
+ key: string;
323
+ label: string;
324
+ position?: number;
325
+ }
326
+ /**
327
+ * Which pad, and whether it is on the set
328
+ * generated from [PadSetMembership](../../../../../apps/api/data/contracts/render/render.types.ck#L257)
329
+ */
330
+ export interface PadSetMembership {
331
+ padId: string;
332
+ on: boolean;
333
+ }
334
+ /**
335
+ * Turning a pad down, or putting one back
336
+ * generated from [PadState](../../../../../apps/api/data/contracts/render/render.types.ck#L262)
337
+ */
338
+ export interface PadState {
339
+ state: 'active' | 'rejected';
340
+ }
341
+ /**
342
+ * What one pass over the pad library did
343
+ * generated from [PadScanResult](../../../../../apps/api/data/contracts/render/render.types.ck#L266)
344
+ */
345
+ export interface PadScanResult {
346
+ /** Audio files seen, whether or not anything changed */
347
+ scanned: number;
348
+ /** Sounds the station did not have before */
349
+ imported: number;
350
+ /** Slots whose file changed under them, which every script naming them now plays */
351
+ replaced: number;
352
+ /** Sounds that reached the library but not their set, because it already answered to their name. In the library and unreachable until somebody says where they go */
353
+ contested: number;
354
+ /** Files passed over: not audio, unreadable, or named something no script could write */
355
+ skipped: number;
356
+ }
357
+ /**
358
+ * Everything the station can play that is not a record
359
+ * generated from [SegmentList](../../../../../apps/api/data/contracts/render/render.types.ck#L42)
360
+ */
361
+ export interface SegmentList {
362
+ segments: Segment[];
363
+ }
364
+ /**
365
+ * The voices the station's current speech plugin offers
366
+ * generated from [VoiceList](../../../../../apps/api/data/contracts/render/render.types.ck#L52)
367
+ */
368
+ export interface VoiceList {
369
+ voices: Voice[];
370
+ /** Which plugin answered. Absent when nothing can speak */
371
+ pluginId?: string;
372
+ /** Why there are no voices, when there are none */
373
+ reason?: string;
374
+ /** Which readings that plugin can perform right now, out of `hushed` and `frantic`. Absent or empty means none, which is most engines and is not a fault */
375
+ deliveries?: string[];
376
+ }
377
+ /**
378
+ * One page of what the station has written, newest first
379
+ * generated from [ScriptHistoryQuery](../../../../../apps/api/data/contracts/render/render.types.ck#L116)
380
+ */
381
+ export interface ScriptHistoryQuery {
382
+ limit?: number;
383
+ /** Where the previous page ended. Opaque, and a keyset rather than an offset because rows arrive at the head continuously. Pass back whatever `nextBefore` said and nothing else */
384
+ before?: string;
385
+ kind?: string;
386
+ writer?: string;
387
+ outcome?: ScriptOutcome;
388
+ /** Everything ONE character has said. Absent is every character and none */
389
+ personaKey?: string;
390
+ /** Every attempt made for ONE break, which is how a console reaches the words behind an item of the running order. Absent is the whole history */
391
+ segmentId?: string;
392
+ }
393
+ /**
394
+ * One attempt to write something the station would say, including the ones that came to nothing
395
+ * generated from [ScriptAttempt](../../../../../apps/api/data/contracts/render/render.types.ck#L78)
396
+ */
397
+ export interface ScriptAttempt {
398
+ id: string;
399
+ at: DateTime;
400
+ /** What sort of break it was for: `talkbreak`, `welcome`, `news` */
401
+ kind: string;
402
+ /** The binding that produced or declined it */
403
+ writer: string;
404
+ outcome: ScriptOutcome;
405
+ /** Who was presenting, as the persona's own key. Absent means nobody was, which is an ordinary state. Stamped on every attempt including the declined ones, so a character whose model breaks are all being refused is visible rather than hidden behind the floor */
406
+ personaKey?: string;
407
+ label?: string;
408
+ /** The words. Absent for an attempt that produced none */
409
+ script?: string;
410
+ /** How the writer chose to have the words read, `hushed` or `frantic`. Absent for an ordinary reading */
411
+ delivery?: string;
412
+ /** The model that said it, for a writer that used one */
413
+ model?: string;
414
+ /** What the line was rendered from, for a writer working from something an operator can edit */
415
+ source?: string;
416
+ /** Why, for anything that is not `written` */
417
+ reason?: string;
418
+ /** The segment this was for, while it is still known. The row outlives it */
419
+ segmentId?: string;
420
+ previous?: ScriptNeighbour;
421
+ next?: ScriptNeighbour;
422
+ /** How long the attempt took */
423
+ durationMs?: number;
424
+ usage?: ScriptUsage;
425
+ /** The answer before anything read it. Only while `llm.captureWrites` is on */
426
+ raw?: string;
427
+ /** What the writer sent. Only while `llm.captureWrites` is on */
428
+ prompt?: ScriptPromptMessage[];
429
+ /** What the operator thought of it. ABSENT means nobody has said, which `neutral` does not */
430
+ rating?: ScriptRating;
431
+ }
432
+ export interface ScriptAttemptInput {
433
+ id: string;
434
+ at: DateTime;
435
+ /** What sort of break it was for: `talkbreak`, `welcome`, `news` */
436
+ kind: string;
437
+ /** The binding that produced or declined it */
438
+ writer: string;
439
+ outcome: ScriptOutcome;
440
+ /** Who was presenting, as the persona's own key. Absent means nobody was, which is an ordinary state. Stamped on every attempt including the declined ones, so a character whose model breaks are all being refused is visible rather than hidden behind the floor */
441
+ personaKey?: string;
442
+ label?: string;
443
+ /** The words. Absent for an attempt that produced none */
444
+ script?: string;
445
+ /** How the writer chose to have the words read, `hushed` or `frantic`. Absent for an ordinary reading */
446
+ delivery?: string;
447
+ /** The model that said it, for a writer that used one */
448
+ model?: string;
449
+ /** What the line was rendered from, for a writer working from something an operator can edit */
450
+ source?: string;
451
+ /** Why, for anything that is not `written` */
452
+ reason?: string;
453
+ /** The segment this was for, while it is still known. The row outlives it */
454
+ segmentId?: string;
455
+ previous?: ScriptNeighbour;
456
+ next?: ScriptNeighbour;
457
+ /** How long the attempt took */
458
+ durationMs?: number;
459
+ usage?: ScriptUsage;
460
+ /** The answer before anything read it. Only while `llm.captureWrites` is on */
461
+ raw?: string;
462
+ /** What the writer sent. Only while `llm.captureWrites` is on */
463
+ prompt?: ScriptPromptMessage[];
464
+ }
465
+ /** Rehydrates every wire-encoded scalar in a ScriptAttempt into its runtime type. Mutates and returns `raw`. */
466
+ export declare function reviveScriptAttempt(raw: ScriptAttempt): ScriptAttempt;
467
+ /**
468
+ * generated from [ScriptRatingInput](../../../../../apps/api/data/contracts/render/render.types.ck#L112)
469
+ */
470
+ export interface ScriptRatingInput {
471
+ rating: ScriptRating;
472
+ }
473
+ /**
474
+ * What each presenter has written lately, and over how long
475
+ * generated from [ScriptHistorySummary](../../../../../apps/api/data/contracts/render/render.types.ck#L149)
476
+ */
477
+ export interface ScriptHistorySummary {
478
+ /** The window actually counted, echoed so a console can label the numbers it draws */
479
+ hours: number;
480
+ rows: ScriptHistorySummaryRow[];
481
+ }
482
+ /**
483
+ * The station's lexicon, oldest first
484
+ * generated from [PronunciationList](../../../../../apps/api/data/contracts/render/render.types.ck#L173)
485
+ */
486
+ export interface PronunciationList {
487
+ pronunciations: Pronunciation[];
488
+ }
489
+ /**
490
+ * Every sound the station holds, and the sets over it
491
+ * generated from [PadList](../../../../../apps/api/data/contracts/render/render.types.ck#L233)
492
+ */
493
+ export interface PadList {
494
+ pads: Pad[];
495
+ sets: PadSet[];
496
+ }
497
+ export interface PadListInput {
498
+ pads: PadInput[];
499
+ sets: PadSetInput[];
500
+ }
501
+ /** Rehydrates every wire-encoded scalar in a PadList into its runtime type. Mutates and returns `raw`. */
502
+ export declare function revivePadList(raw: PadList): PadList;
503
+ /**
504
+ * generated from [ScriptHistoryPage](../../../../../apps/api/data/contracts/render/render.types.ck#L126)
505
+ */
506
+ export interface ScriptHistoryPage {
507
+ attempts: ScriptAttempt[];
508
+ /** The cursor for the page after this one, absent once the history has been read to its end */
509
+ nextBefore?: string;
510
+ }
511
+ export interface ScriptHistoryPageInput {
512
+ attempts: ScriptAttemptInput[];
513
+ /** The cursor for the page after this one, absent once the history has been read to its end */
514
+ nextBefore?: string;
515
+ }
516
+ /** Rehydrates every wire-encoded scalar in a ScriptHistoryPage into its runtime type. Mutates and returns `raw`. */
517
+ export declare function reviveScriptHistoryPage(raw: ScriptHistoryPage): ScriptHistoryPage;
518
+ //# sourceMappingURL=render.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"render.types.d.ts","sourceRoot":"","sources":["../../../src/render/types/render.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { SdkFetch } from '../sdk-options.js';
2
+ import type { ScheduleNow, ScheduleSlotInput, ScheduleSlotList, ScheduleTimetable, ScheduleTimetableQuery } from './types/schedule.types.js';
3
+ export declare class ScheduleClient {
4
+ private fetch;
5
+ constructor(fetch: SdkFetch);
6
+ /**
7
+ * @name List schedule
8
+ * @description Every slot in this station's schedule, earliest in the day first
9
+ */
10
+ listSchedule(): Promise<ScheduleSlotList>;
11
+ /**
12
+ * @name Create schedule slot
13
+ * @description Adds a slot. The station does not change over until its start time comes round
14
+ */
15
+ createScheduleSlot(body: ScheduleSlotInput): Promise<ScheduleSlotList>;
16
+ /**
17
+ * @name Read current slot
18
+ * @description Which slot the clock says should be on, and which one the station is actually airing
19
+ */
20
+ readCurrentSlot(): Promise<ScheduleNow>;
21
+ /**
22
+ * @name Read timetable
23
+ * @description The station's day as blocks, contiguous and gapless, for drawing
24
+ */
25
+ readTimetable(query?: ScheduleTimetableQuery): Promise<ScheduleTimetable>;
26
+ /**
27
+ * @name Update schedule slot
28
+ * @description Rewrites a slot. Takes effect at its next boundary rather than immediately
29
+ */
30
+ updateScheduleSlot(id: string, body: ScheduleSlotInput): Promise<ScheduleSlotList>;
31
+ /**
32
+ * @name Delete schedule slot
33
+ * @description Removes a slot. Whatever is on air stays on until the next slot begins
34
+ */
35
+ deleteScheduleSlot(id: string): Promise<ScheduleSlotList>;
36
+ }
37
+ //# sourceMappingURL=schedule.client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schedule.client.d.ts","sourceRoot":"","sources":["../../src/schedule/schedule.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAE7I,qBAAa,cAAc;IACX,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,QAAQ;IAEnC;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAK/C;;;OAGG;IACG,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAS5E;;;OAGG;IACG,eAAe,IAAI,OAAO,CAAC,WAAW,CAAC;IAK7C;;;OAGG;IACG,aAAa,CAAC,KAAK,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAQ/E;;;OAGG;IACG,kBAAkB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IASxF;;;OAGG;IACG,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAIlE"}
@@ -0,0 +1,2 @@
1
+ export * from './schedule.types.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/schedule/types/index.ts"],"names":[],"mappings":"AACA,cAAc,qBAAqB,CAAC"}