@bbc/sofie-live-status-gateway-api 1.53.0-nightly-fix-syncingestchanges-removePartInstance-59fb212-20250318-201816.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.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License (MIT)
2
+
3
+ Copyright (c) 2018 Norsk rikskringkasting AS (NRK)
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,13 @@
1
+ # Sofie: The Modern TV News Studio Automation System (Shared Lib)
2
+
3
+ [![npm](https://img.shields.io/npm/v/@sofie-automation/live-status-gateway-api)](https://www.npmjs.com/package/@sofie-automation/live-status-gateway-api)
4
+
5
+ This library is used as part of [**Sofie Server Core**](https://github.com/nrkno/sofie-core).
6
+
7
+ This is a part of the [**Sofie** TV News Studio Automation System](https://github.com/nrkno/Sofie-TV-automation/).
8
+
9
+ ## Purpose
10
+
11
+ This library is a collection of typings used by the `live-status-gateway` and consumers of the api it provides.
12
+
13
+ The package also contains the asyncapi schema, to allow for other consumers of the library to do their own generating if desired.
@@ -0,0 +1,139 @@
1
+ asyncapi: 2.6.0
2
+ id: 'urn:nrk:no:sofie:live-status-gateway:server'
3
+ info:
4
+ title: Sofie Live Status Service
5
+ description: This service provides subscriptions for status updates from Sofie
6
+ version: 2.0.0
7
+ license:
8
+ name: MIT License
9
+ url: http://opensource.org/licenses/MIT
10
+ contact:
11
+ name: Sofie TV Automation - NRK Team
12
+ url: https://github.com/nrkno/sofie-core/issues
13
+
14
+ servers:
15
+ development:
16
+ url: localhost
17
+ description: Server available without authorisation
18
+ protocol: ws
19
+ protocolVersion: '13'
20
+
21
+ defaultContentType: application/json
22
+
23
+ tags:
24
+ - name: sofie
25
+ - name: tv-automation
26
+ - name: broadcast
27
+
28
+ channels:
29
+ /:
30
+ publish:
31
+ description: Send messages to the root API
32
+ operationId: processRootMessage
33
+ message:
34
+ oneOf:
35
+ - $ref: '#/components/messages/ping'
36
+ - $ref: '#/components/messages/subscribe'
37
+ - $ref: '#/components/messages/unsubscribe'
38
+ subscribe:
39
+ description: Messages that are received from the API
40
+ operationId: sendRootMessage
41
+ message:
42
+ oneOf:
43
+ - $ref: '#/components/messages/pong'
44
+ - $ref: '#/components/messages/heartbeat'
45
+ - $ref: '#/components/messages/subscriptionStatus'
46
+ - $ref: '#/components/messages/studio'
47
+ - $ref: '#/components/messages/activePlaylist'
48
+ - $ref: '#/components/messages/activePieces'
49
+ - $ref: '#/components/messages/segments'
50
+ - $ref: '#/components/messages/adLibs'
51
+ - $ref: '#/components/messages/packages'
52
+ - $ref: '#/components/messages/buckets'
53
+ components:
54
+ messages:
55
+ ping:
56
+ name: ping
57
+ messageId: ping
58
+ summary: Ping server to determine whether connection is alive
59
+ description: Client can ping server to determine whether connection is alive, server responds with pong. This is an application level ping as opposed to default ping in websockets standard which is server initiated
60
+ payload:
61
+ $ref: './schemas/root.yaml#/$defs/ping'
62
+ x-response:
63
+ $ref: '#/components/messages/pong'
64
+ pong:
65
+ name: pong
66
+ messageId: pong
67
+ summary: Pong is a response to ping message
68
+ description: Server pong response to a ping to determine whether connection is alive. This is an application level pong as opposed to default pong in websockets standard which is sent by client in response to a ping
69
+ payload:
70
+ $ref: './schemas/root.yaml#/$defs/pong'
71
+ heartbeat:
72
+ name: heartbeat
73
+ messageId: heartbeat
74
+ description: Server heartbeat sent if no subscription traffic within 1 second (approximately)
75
+ payload:
76
+ $ref: './schemas/root.yaml#/$defs/heartbeat'
77
+ subscribe:
78
+ name: subscribe
79
+ messageId: subscribe
80
+ description: Subscribe to a topic
81
+ payload:
82
+ $ref: './schemas/root.yaml#/$defs/subscribe'
83
+ x-response:
84
+ $ref: './schemas/root.yaml#/$defs/subscriptionStatus'
85
+ unsubscribe:
86
+ name: unsubscribe
87
+ messageId: unsubscribe
88
+ description: Unsubscribe from a topic
89
+ payload:
90
+ $ref: './schemas/root.yaml#/$defs/unsubscribe'
91
+ x-response:
92
+ $ref: './schemas/root.yaml#/$defs/subscriptionStatus'
93
+ subscriptionStatus:
94
+ messageId: subscriptionStatus
95
+ description: Subscription status response to subscribe or unsubscribe
96
+ payload:
97
+ $ref: './schemas/root.yaml#/$defs/subscriptionStatus'
98
+ studio:
99
+ name: studio
100
+ messageId: studioUpdate
101
+ description: Studio status
102
+ payload:
103
+ $ref: './schemas/studio.yaml#/$defs/studio'
104
+ activePlaylist:
105
+ name: activePlaylist
106
+ messageId: activePlaylistUpdate
107
+ description: Active Playlist status
108
+ payload:
109
+ $ref: './schemas/activePlaylist.yaml#/$defs/activePlaylist'
110
+ activePieces:
111
+ name: activePieces
112
+ messageId: activePiecesUpdate
113
+ summary: Active Pieces status
114
+ description: Pieces from the active Playlist that are currently active (on air)
115
+ payload:
116
+ $ref: './schemas/activePieces.yaml#/$defs/activePieces'
117
+ segments:
118
+ name: segments
119
+ messageId: segmentsUpdate
120
+ description: Segments in active Playlist
121
+ payload:
122
+ $ref: './schemas/segments.yaml#/$defs/segments'
123
+ adLibs:
124
+ name: adLibs
125
+ messageId: adLibsUpdate
126
+ description: AdLibs in active Playlist
127
+ payload:
128
+ $ref: './schemas/adLibs.yaml#/$defs/adLibs'
129
+ packages:
130
+ name: packages
131
+ messageId: packages
132
+ description: Status of Packages expected by Pieces
133
+ payload:
134
+ $ref: './schemas/packages.yaml#/$defs/packages'
135
+ buckets:
136
+ name: buckets
137
+ description: Buckets in Studio
138
+ payload:
139
+ $ref: './schemas/buckets.yaml#/$defs/buckets'
@@ -0,0 +1,27 @@
1
+ title: Active Pieces
2
+ description: Active Pieces schema for websocket subscriptions
3
+ $defs:
4
+ activePieces:
5
+ type: object
6
+ title: ActivePiecesEvent
7
+ properties:
8
+ event:
9
+ type: string
10
+ const: activePieces
11
+ rundownPlaylistId:
12
+ description: Unique id of the rundown playlist, or null if no playlist is active
13
+ oneOf:
14
+ - type: string
15
+ - type: 'null'
16
+ activePieces:
17
+ description: Pieces that are currently active (on air)
18
+ type: array
19
+ items:
20
+ $ref: './activePlaylist.yaml#/$defs/piece'
21
+ required: [event, rundownPlaylistId, activePieces]
22
+ additionalProperties: false
23
+ examples:
24
+ - event: activePieces
25
+ rundownPlaylistId: 'OKAgZmZ0Buc99lE_2uPPSKVbMrQ_'
26
+ activePieces:
27
+ - $ref: './activePlaylist.yaml#/$defs/piece/examples/0'
@@ -0,0 +1,277 @@
1
+ title: Active Playlist
2
+ description: Active Playlist schema for websocket subscriptions
3
+ $defs:
4
+ activePlaylist:
5
+ type: object
6
+ title: ActivePlaylistEvent
7
+ properties:
8
+ event:
9
+ type: string
10
+ const: activePlaylist
11
+ id:
12
+ description: Unique id of the active playlist
13
+ oneOf:
14
+ - type: string
15
+ - type: 'null'
16
+ name:
17
+ description: User-presentable name for the active playlist
18
+ type: string
19
+ rundownIds:
20
+ description: The set of rundownIds in the active playlist, in order
21
+ type: array
22
+ items:
23
+ type: string
24
+ currentPart:
25
+ description: The current Part - if empty, no part in the active playlist is live
26
+ $ref: '#/$defs/currentPart'
27
+ currentSegment:
28
+ description: The Segment of the current Part - if empty, no part in the active playlist is live
29
+ $ref: '#/$defs/currentSegment'
30
+ nextPart:
31
+ description: The next Part - if empty, no part will follow live part
32
+ $ref: '#/$defs/part'
33
+ publicData:
34
+ description: Optional arbitrary data
35
+ timing:
36
+ description: Timing information about the active playlist
37
+ type: object
38
+ title: ActivePlaylistTiming
39
+ properties:
40
+ timingMode:
41
+ description: 'Timing mode for the playlist.'
42
+ type: string
43
+ title: ActivePlaylistTimingMode
44
+ enum:
45
+ - none
46
+ - forward-time
47
+ - back-time
48
+ startedPlayback:
49
+ description: Unix timestamp of when the playlist started (milliseconds)
50
+ type: number
51
+ expectedStart:
52
+ description: Unix timestamp of when the playlist is expected to start (milliseconds). Required when the timingMode is set to forward-time.
53
+ type: number
54
+ expectedDurationMs:
55
+ description: Duration of the playlist in ms
56
+ type: number
57
+ expectedEnd:
58
+ description: Unix timestamp of when the playlist is expected to end (milliseconds) Required when the timingMode is set to back-time.
59
+ type: number
60
+ required: [timingMode]
61
+ additionalProperties: false
62
+ quickLoop:
63
+ description: Information about the current quickLoop, if any
64
+ type: object
65
+ title: ActivePlaylistQuickLoop
66
+ properties:
67
+ locked:
68
+ description: Whether the user is allowed to make alterations to the Start/End markers
69
+ type: boolean
70
+ running:
71
+ description: Whether the loop has two valid markers and is currently running
72
+ type: boolean
73
+ start:
74
+ description: The start of the loop
75
+ $ref: '#/$defs/quickLoopMarker'
76
+ end:
77
+ description: The end of the loop
78
+ $ref: '#/$defs/quickLoopMarker'
79
+ required: [locked, running]
80
+ required: [event, id, name, rundownIds, currentPart, currentSegment, nextPart, timing]
81
+ additionalProperties: false
82
+ examples:
83
+ - event: activePlaylist
84
+ id: 'OKAgZmZ0Buc99lE_2uPPSKVbMrQ_'
85
+ name: 'Playlist 0'
86
+ rundownIds: ['y9HauyWkcxQS3XaAOsW40BRLLsI_']
87
+ currentPart:
88
+ $ref: '#/$defs/currentPart/examples/0'
89
+ currentSegment:
90
+ $ref: '#/$defs/currentSegment/examples/0'
91
+ nextPart:
92
+ $ref: '#/$defs/part/examples/0'
93
+ publicData:
94
+ category: 'Evening News'
95
+ timing:
96
+ timingMode: 'forward-time'
97
+ expectedStart: 1728895750727
98
+ expectedDurationMs: 180000
99
+ partBase:
100
+ type: object
101
+ title: PartStatus
102
+ properties:
103
+ id:
104
+ description: Unique id of the part
105
+ type: string
106
+ name:
107
+ description: User name of the part
108
+ type: string
109
+ segmentId:
110
+ description: Unique id of the segment this part belongs to
111
+ type: string
112
+ autoNext:
113
+ description: If this part will progress to the next automatically
114
+ type: boolean
115
+ default: false
116
+ pieces:
117
+ description: All pieces in this part
118
+ type: array
119
+ items:
120
+ $ref: '#/$defs/piece'
121
+ publicData:
122
+ description: Optional arbitrary data
123
+ required: [id, name, segmentId, pieces]
124
+ # additionalProperties: false
125
+ examples:
126
+ - id: 'H5CBGYjThrMSmaYvRaa5FVKJIzk_'
127
+ name: 'Intro'
128
+ segmentId: 'n1mOVd5_K5tt4sfk6HYfTuwumGQ_'
129
+ autoNext: false
130
+ pieces:
131
+ - $ref: '#/$defs/piece/examples/0'
132
+ publicData:
133
+ partType: 'intro'
134
+ part:
135
+ oneOf:
136
+ - $ref: '#/$defs/partBase'
137
+ - type: 'null'
138
+ examples:
139
+ - id: 'H5CBGYjThrMSmaYvRaa5FVKJIzk_'
140
+ name: 'Intro'
141
+ segmentId: 'n1mOVd5_K5tt4sfk6HYfTuwumGQ_'
142
+ autoNext: false
143
+ pieces:
144
+ - $ref: '#/$defs/piece/examples/0'
145
+ currentPart:
146
+ oneOf:
147
+ - title: CurrentPartStatus
148
+ allOf:
149
+ - $ref: '#/$defs/partBase'
150
+ - type: object
151
+ properties:
152
+ timing:
153
+ description: Timing information about the current part
154
+ type: object
155
+ title: CurrentPartTiming
156
+ properties:
157
+ startTime:
158
+ description: Unix timestamp of when the part started (milliseconds)
159
+ type: number
160
+ expectedDurationMs:
161
+ description: Expected duration of the part (milliseconds)
162
+ type: number
163
+ projectedEndTime:
164
+ description: Unix timestamp of when the part is projected to end (milliseconds). A sum of `startTime` and `expectedDurationMs`.
165
+ type: number
166
+ required: [startTime, expectedDurationMs, projectedEndTime]
167
+ required: [timing]
168
+ - type: 'null'
169
+ examples:
170
+ - id: 'H5CBGYjThrMSmaYvRaa5FVKJIzk_'
171
+ name: 'Intro'
172
+ segmentId: 'n1mOVd5_K5tt4sfk6HYfTuwumGQ_'
173
+ autoNext: false
174
+ timing:
175
+ startTime: 1600000060000
176
+ expectedDurationMs: 15000
177
+ projectedEndTime: 1600000075000
178
+ pieces:
179
+ - $ref: '#/$defs/piece/examples/0'
180
+ publicData:
181
+ partType: 'intro'
182
+ currentSegment:
183
+ oneOf:
184
+ - type: object
185
+ title: CurrentSegment
186
+ properties:
187
+ id:
188
+ description: Unique id of the segment
189
+ type: string
190
+ timing:
191
+ description: Timing information about the current segment
192
+ type: object
193
+ title: CurrentSegmentTiming
194
+ properties:
195
+ expectedDurationMs:
196
+ description: Expected duration of the segment
197
+ type: number
198
+ budgetDurationMs:
199
+ description: Budget duration of the segment
200
+ type: number
201
+ projectedEndTime:
202
+ description: Unix timestamp of when the segment is projected to end (milliseconds). The time this segment started, offset by its budget duration, if the segment has a defined budget duration. Otherwise, the time the current part started, offset by the difference between expected durations of all parts in this segment and the as-played durations of the parts that already stopped.
203
+ type: number
204
+ countdownType:
205
+ description: 'Countdown type within the segment. Default: `part_expected_duration`'
206
+ type: string
207
+ title: SegmentCountdownType
208
+ enum:
209
+ - part_expected_duration
210
+ - segment_budget_duration
211
+ required: [expectedDurationMs, projectedEndTime]
212
+ required: [id, timing]
213
+ additionalProperties: false
214
+ - type: 'null'
215
+ examples:
216
+ - id: 'H5CBGYjThrMSmaYvRaa5FVKJIzk_'
217
+ timing:
218
+ expectedDurationMs: 15000
219
+ budgetDurationMs: 20000
220
+ projectedEndTime: 1600000075000
221
+ countdownType: segment_budget_duration
222
+ piece:
223
+ type: object
224
+ title: PieceStatus
225
+ properties:
226
+ id:
227
+ description: Unique id of the Piece
228
+ type: string
229
+ name:
230
+ description: User-facing name of the Piece
231
+ type: string
232
+ sourceLayer:
233
+ description: The source layer name for this Piece
234
+ type: string
235
+ outputLayer:
236
+ description: The output layer name for this Piece
237
+ type: string
238
+ tags:
239
+ description: Tags attached to this Piece
240
+ type: array
241
+ items:
242
+ type: string
243
+ publicData:
244
+ description: Optional arbitrary data
245
+ required: [id, name, sourceLayer, outputLayer]
246
+ additionalProperties: false
247
+ examples:
248
+ - id: 'H5CBGYjThrMSmaYvRaa5FVKJIzk_'
249
+ name: 'Camera 1'
250
+ sourceLayer: 'Camera'
251
+ outputLayer: 'PGM'
252
+ tags: ['camera']
253
+ publicData:
254
+ switcherSource: 1
255
+ quickLoopMarker:
256
+ type: object
257
+ title: QuickLoopMarker
258
+ properties:
259
+ markerType:
260
+ description: The type of entity the marker is locked to
261
+ title: QuickLoopMarkerType
262
+ type: string
263
+ enum:
264
+ - playlist
265
+ - rundown
266
+ - segment
267
+ - part
268
+ rundownId:
269
+ description: The rundown that this marker references. This will be set for rundown, segment and part markers
270
+ type: string
271
+ segmentId:
272
+ description: The segment that this marker references. This will be set for segment and part markers
273
+ type: string
274
+ partId:
275
+ description: The part that this marker references. This will be set for only part markers
276
+ type: string
277
+ required: [markerType]
@@ -0,0 +1,116 @@
1
+ title: AdLibs
2
+ description: AdLibs schema for websocket subscriptions
3
+ $defs:
4
+ adLibs:
5
+ type: object
6
+ title: AdLibsEvent
7
+ properties:
8
+ event:
9
+ type: string
10
+ const: adLibs
11
+ rundownPlaylistId:
12
+ description: Unique id of the rundown playlist, or null if no playlist is active
13
+ oneOf:
14
+ - type: string
15
+ - type: 'null'
16
+ adLibs:
17
+ description: The available AdLibs for this playlist
18
+ type: array
19
+ items:
20
+ $ref: '#/$defs/adLib'
21
+ globalAdLibs:
22
+ description: The available Global AdLibs for this playlist
23
+ type: array
24
+ items:
25
+ $ref: '#/$defs/globalAdLib'
26
+ required: [event, rundownPlaylistId, adLibs, globalAdLibs]
27
+ additionalProperties: false
28
+ examples:
29
+ - event: adLibs
30
+ rundownPlaylistId: 'OKAgZmZ0Buc99lE_2uPPSKVbMrQ_'
31
+ adLibs:
32
+ $ref: '#/$defs/adLib/examples'
33
+ globalAdLibs:
34
+ $ref: '#/$defs/adLibBase/examples'
35
+ adLib:
36
+ title: AdLibStatus
37
+ allOf:
38
+ - $ref: '#/$defs/adLibBase'
39
+ - type: object
40
+ properties:
41
+ segmentId:
42
+ description: Unique id of the segment this adLib belongs to
43
+ type: string
44
+ partId:
45
+ description: Unique id of the part this adLib belongs to
46
+ type: string
47
+ required: [segmentId, partId]
48
+ examples:
49
+ - id: 'C6K_yIMuGFUk8X_L9A9_jRT6aq4_'
50
+ name: Music video clip
51
+ sourceLayer: Video Clip
52
+ actionType:
53
+ - name: pvw
54
+ label: Preview
55
+ tags: ['music_video']
56
+ segmentId: 'n1mOVd5_K5tt4sfk6HYfTuwumGQ_'
57
+ partId: 'H5CBGYjThrMSmaYvRaa5FVKJIzk_'
58
+ publicData:
59
+ fileName: MV000123.mxf
60
+ globalAdLib:
61
+ title: GlobalAdLibStatus
62
+ allOf:
63
+ - $ref: '#/$defs/adLibBase'
64
+ adLibBase:
65
+ type: object
66
+ title: AdLibBaseStatus
67
+ properties:
68
+ id:
69
+ description: Unique id of the AdLib
70
+ type: string
71
+ name:
72
+ description: The user defined AdLib name
73
+ type: string
74
+ sourceLayer:
75
+ description: The source layer name for this AdLib
76
+ type: string
77
+ outputLayer:
78
+ description: The output layer name for this AdLib
79
+ type: string
80
+ actionType:
81
+ description: The available action type names that can be used to modify the execution of the AdLib
82
+ type: array
83
+ items:
84
+ type: object
85
+ title: AdLibActionType
86
+ properties:
87
+ name:
88
+ description: The string to be passed to the ExecuteAdlib function
89
+ type: string
90
+ label:
91
+ description: The label for the AdLib type
92
+ type: string
93
+ required: [name, label]
94
+ additionalProperties: false
95
+ tags:
96
+ description: Tags attached to this AdLib
97
+ type: array
98
+ items:
99
+ type: string
100
+ publicData:
101
+ description: Optional arbitrary data
102
+ optionsSchema:
103
+ description: JSON schema definition of the adLib properties that can be modified using the adLibOptions property in executeAdLib
104
+ type: string
105
+ required: [id, name, sourceLayer, actionType]
106
+ examples:
107
+ - id: 'C6K_yIMuGFUk8X_L9A9_jRT6aq4_'
108
+ name: Music video clip
109
+ sourceLayer: Video Clip
110
+ actionType:
111
+ - name: pvw
112
+ label: Preview
113
+ tags: ['music_video']
114
+ publicData:
115
+ fileName: MV000123.mxf
116
+ optionsSchema: '{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"Play Video Clip","type":"object","properties":{"type":"adlib_action_video_clip","label":{"type":"string"},"clipId":{"type":"string"},"vo":{"type":"boolean"},"target":{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"Object Id","description":"Id of an object sent to Sofie","type":"string"},"duration":{"type":"number","exclusiveMinimum":0},"takeType":{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"AdLib Action Take Type","type":"string","enum":["take_immediate","queue"]},"transition":{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"AdLib Action Transition Type","oneOf":[{"type":"object","properties":{"type":"cut"},"required":["type"],"additionalProperties":false},{"type":"object","properties":{"type":"mix","duration":{"type":"number","exclusiveMinimum":0,"description":"Duration in ms"}},"required":["type","duration"],"additionalProperties":false},{"type":"object","properties":{"type":"wipe","duration":{"type":"number","exclusiveMinimum":0,"description":"Duration in ms"},"patternId":{"type":"string","description":"Type of wipe to use"}},"required":["type","duration","patternId"],"additionalProperties":false},{"type":"object","properties":{"type":"macro","macroId":{"type":"string","description":"Macro template to recall"}},"required":["type","macroId"],"additionalProperties":false}]}},"required":["type","clipId","vo","target"],"additionalProperties":false}"'
@@ -0,0 +1,62 @@
1
+ title: Buckets
2
+ description: Buckets schema for websocket subscriptions
3
+ $defs:
4
+ buckets:
5
+ type: object
6
+ title: BucketsEvent
7
+ properties:
8
+ event:
9
+ type: string
10
+ const: buckets
11
+ buckets:
12
+ description: Buckets available in the Studio
13
+ type: array
14
+ items:
15
+ $ref: '#/$defs/bucket'
16
+ required: [event, buckets]
17
+ additionalProperties: false
18
+ examples:
19
+ - event: buckets
20
+ buckets:
21
+ $ref: '#/$defs/bucket/examples'
22
+ bucket:
23
+ type: object
24
+ title: BucketStatus
25
+ properties:
26
+ id:
27
+ description: Unique id of the bucket
28
+ type: string
29
+ name:
30
+ description: The user defined bucket name
31
+ type: string
32
+ adLibs:
33
+ description: The AdLibs in this bucket
34
+ type: array
35
+ items:
36
+ $ref: '#/$defs/bucketAdlib'
37
+ examples:
38
+ - id: 'C6K_yIMuGFUk8X_L9A9_jRT6aq4_'
39
+ name: My Bucket
40
+ adLibs:
41
+ $ref: '#/$defs/bucketAdlib/examples'
42
+ bucketAdlib:
43
+ title: BucketAdLibStatus
44
+ allOf:
45
+ - $ref: './adLibs.yaml#/$defs/adLibBase'
46
+ - type: object
47
+ properties:
48
+ externalId:
49
+ type: string
50
+ description: Id of the adlib recognizable by the external source. Unique within a bucket.
51
+ required: [externalId]
52
+ examples:
53
+ - externalId: 'C6K_yIMuGFUk8X_L9A9_jRT6aq4_'
54
+ id: 'C6K_yIMuGFUk8X_L9A9_jRT6aq4_'
55
+ name: Music video clip
56
+ sourceLayer: Video Clip
57
+ actionType:
58
+ - name: pvw
59
+ label: Preview
60
+ tags: ['music_video']
61
+ publicData:
62
+ fileName: MV000123.mxf