@bbc/sofie-live-status-gateway-api 1.53.0-in-development

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 (141) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +13 -0
  3. package/api/asyncapi.yaml +51 -0
  4. package/api/components/adLibs/actionType/actionType-example.yaml +2 -0
  5. package/api/components/adLibs/actionType/actionType.yaml +15 -0
  6. package/api/components/adLibs/adLibBase/adLibBase-example.yaml +9 -0
  7. package/api/components/adLibs/adLibBase/adLibBase.yaml +35 -0
  8. package/api/components/adLibs/adLibStatus/adLibStatus-example.yaml +3 -0
  9. package/api/components/adLibs/adLibStatus/adLibStatus.yaml +17 -0
  10. package/api/components/adLibs/adLibsEvent/adLibsEvent-example.yaml +6 -0
  11. package/api/components/adLibs/adLibsEvent/adLibsEvent.yaml +29 -0
  12. package/api/components/adLibs/bucketAdLibStatus/bucketAdLibStatus-example.yaml +2 -0
  13. package/api/components/adLibs/bucketAdLibStatus/bucketAdLibStatus.yaml +14 -0
  14. package/api/components/adLibs/globalAdLibStatus/globalAdLibStatus-example.yaml +1 -0
  15. package/api/components/adLibs/globalAdLibStatus/globalAdLibStatus.yaml +7 -0
  16. package/api/components/adLibs/messages/adLibsMessage.yaml +10 -0
  17. package/api/components/buckets/bucketStatus/bucketStatus-example.yaml +4 -0
  18. package/api/components/buckets/bucketStatus/bucketStatus.yaml +20 -0
  19. package/api/components/buckets/bucketsEvent/bucketsEvent-example.yaml +3 -0
  20. package/api/components/buckets/bucketsEvent/bucketsEvent.yaml +17 -0
  21. package/api/components/buckets/messages/bucketsMessage.yaml +10 -0
  22. package/api/components/connection/heartbeatEvent/heartbeatEvent-example.yaml +1 -0
  23. package/api/components/connection/heartbeatEvent/heartbeatEvent.yaml +12 -0
  24. package/api/components/connection/messages/heartbeatMessage.yaml +11 -0
  25. package/api/components/connection/messages/pingMessage.yaml +12 -0
  26. package/api/components/connection/messages/pongMessage.yaml +12 -0
  27. package/api/components/connection/pingEvent/pingEvent-example.yaml +2 -0
  28. package/api/components/connection/pingEvent/pingEvent.yaml +14 -0
  29. package/api/components/connection/pongEvent/pongEvent-example.yaml +2 -0
  30. package/api/components/connection/pongEvent/pongEvent.yaml +14 -0
  31. package/api/components/connection/reqid/reqid.yaml +4 -0
  32. package/api/components/notifications/events/notificationsEvent/notificationsEvent-example.yaml +3 -0
  33. package/api/components/notifications/events/notificationsEvent/notificationsEvent.yaml +18 -0
  34. package/api/components/notifications/messages/notificationsMessage.yaml +10 -0
  35. package/api/components/notifications/notificationObj/notificationObj-example.yaml +7 -0
  36. package/api/components/notifications/notificationObj/notificationObj.yaml +33 -0
  37. package/api/components/notifications/notificationSeverity.yaml +9 -0
  38. package/api/components/notifications/target/notificationTarget.yaml +16 -0
  39. package/api/components/notifications/target/notificationTargetType.yaml +11 -0
  40. package/api/components/notifications/target/partInstance/notificationTargetPartInstance-example.yaml +4 -0
  41. package/api/components/notifications/target/partInstance/notificationTargetPartInstance.yaml +18 -0
  42. package/api/components/notifications/target/pieceInstance/notificationTargetPieceInstance-example.yaml +5 -0
  43. package/api/components/notifications/target/pieceInstance/notificationTargetPieceInstance.yaml +20 -0
  44. package/api/components/notifications/target/rundown/notificationTargetRundown-example.yaml +3 -0
  45. package/api/components/notifications/target/rundown/notificationTargetRundown.yaml +16 -0
  46. package/api/components/notifications/target/rundownPlaylist/notificationTargetRundownPlaylist-example.yaml +3 -0
  47. package/api/components/notifications/target/rundownPlaylist/notificationTargetRundownPlaylist.yaml +16 -0
  48. package/api/components/notifications/target/unknown/notificationTargetUnknown-example.yaml +1 -0
  49. package/api/components/notifications/target/unknown/notificationTargetUnknown.yaml +12 -0
  50. package/api/components/packages/messages/packagesMessage.yaml +8 -0
  51. package/api/components/packages/packageInfoStatus/packageInfoStatus-example.yaml +8 -0
  52. package/api/components/packages/packageInfoStatus/packageInfoStatus.yaml +32 -0
  53. package/api/components/packages/packageStatus/packageStatus.yaml +23 -0
  54. package/api/components/packages/packagesEvent/packagesEvent-example.yaml +4 -0
  55. package/api/components/packages/packagesEvent/packagesEvent.yaml +20 -0
  56. package/api/components/part/currentPart/currentPartStatus-example.yaml +3 -0
  57. package/api/components/part/currentPart/currentPartStatus.yaml +13 -0
  58. package/api/components/part/currentSegmentPart/currentSegmentPart-example.yaml +3 -0
  59. package/api/components/part/currentSegmentPart/currentSegmentPart.yaml +14 -0
  60. package/api/components/part/partBase/partBase-example.yaml +3 -0
  61. package/api/components/part/partBase/partBase.yaml +18 -0
  62. package/api/components/part/partStatus/partStatus-example.yaml +6 -0
  63. package/api/components/part/partStatus/partStatus.yaml +22 -0
  64. package/api/components/piece/activePiecesEvent/activePiecesEvent-example.yaml +4 -0
  65. package/api/components/piece/activePiecesEvent/activePiecesEvent.yaml +22 -0
  66. package/api/components/piece/messages/activePiecesMessage.yaml +10 -0
  67. package/api/components/piece/pieceStatus/pieceStatus-example.yaml +7 -0
  68. package/api/components/piece/pieceStatus/pieceStatus.yaml +28 -0
  69. package/api/components/playlist/activePlaylistEvent/activePlaylistEvent-example.yaml +17 -0
  70. package/api/components/playlist/activePlaylistEvent/activePlaylistEvent.yaml +50 -0
  71. package/api/components/playlist/messages/activePlaylistMessage.yaml +11 -0
  72. package/api/components/playlist/playlistStatus/playlistStatus-example.yaml +4 -0
  73. package/api/components/playlist/playlistStatus/playlistStatus.yaml +26 -0
  74. package/api/components/quickLoop/activePlaylistQuickLoop/activePlaylistQuickLoop-example.yaml +6 -0
  75. package/api/components/quickLoop/activePlaylistQuickLoop/activePlaylistQuickLoop.yaml +19 -0
  76. package/api/components/quickLoop/quickLoopMarker/quickLoopMarker-example.yaml +2 -0
  77. package/api/components/quickLoop/quickLoopMarker/quickLoopMarker.yaml +20 -0
  78. package/api/components/quickLoop/quickLoopMarkerType.yaml +10 -0
  79. package/api/components/segment/currentSegment/currentSegment-example.yaml +5 -0
  80. package/api/components/segment/currentSegment/currentSegment.yaml +19 -0
  81. package/api/components/segment/messages/segmentsMessage.yaml +10 -0
  82. package/api/components/segment/segment/segment-example.yaml +8 -0
  83. package/api/components/segment/segment/segment.yaml +26 -0
  84. package/api/components/segment/segmentBase/segmentBase-example.yaml +1 -0
  85. package/api/components/segment/segmentBase/segmentBase.yaml +11 -0
  86. package/api/components/segment/segmentsEvent/segmentsEvent-example.yaml +4 -0
  87. package/api/components/segment/segmentsEvent/segmentsEvent.yaml +23 -0
  88. package/api/components/studio/messages/studioUpdate.yaml +11 -0
  89. package/api/components/studio/studioEvent/studioEvent-example.yaml +2 -0
  90. package/api/components/studio/studioEvent/studioEvent.yaml +16 -0
  91. package/api/components/studio/studioStatus/studioStatus-example.yaml +4 -0
  92. package/api/components/studio/studioStatus/studioStatus.yaml +21 -0
  93. package/api/components/subscriptions/events/subscribeEvent/subscribeEvent-example.yaml +4 -0
  94. package/api/components/subscriptions/events/subscribeEvent/subscribeEvent.yaml +15 -0
  95. package/api/components/subscriptions/events/subscriptionStatusEvent/subscriptionStatusError/subscriptionStatusError-example.yaml +2 -0
  96. package/api/components/subscriptions/events/subscriptionStatusEvent/subscriptionStatusError/subscriptionStatusError.yaml +14 -0
  97. package/api/components/subscriptions/events/subscriptionStatusEvent/subscriptionStatusEvent-example.yaml +4 -0
  98. package/api/components/subscriptions/events/subscriptionStatusEvent/subscriptionStatusEvent.yaml +10 -0
  99. package/api/components/subscriptions/events/subscriptionStatusEvent/subscriptionStatusSuccess/subscriptionStatusSuccess-example.yaml +4 -0
  100. package/api/components/subscriptions/events/subscriptionStatusEvent/subscriptionStatusSuccess/subscriptionStatusSuccess.yaml +16 -0
  101. package/api/components/subscriptions/messages/subscribeMessage.yaml +12 -0
  102. package/api/components/subscriptions/messages/subscriptionStatusErrorMessage.yaml +10 -0
  103. package/api/components/subscriptions/messages/subscriptionStatusSuccessMessage.yaml +10 -0
  104. package/api/components/subscriptions/subscriptionDetails/subscriptionDetails-example.yaml +2 -0
  105. package/api/components/subscriptions/subscriptionDetails/subscriptionDetails.yaml +13 -0
  106. package/api/components/subscriptions/subscriptionEventName.yaml +8 -0
  107. package/api/components/subscriptions/subscriptionName.yaml +14 -0
  108. package/api/components/subscriptions/subscriptionRequestDetails/subscriptionRequestDetails.yaml +11 -0
  109. package/api/components/subscriptions/subscriptionStatusName.yaml +8 -0
  110. package/api/components/timing/activePlaylistTiming/activePlaylistTiming-example.yaml +3 -0
  111. package/api/components/timing/activePlaylistTiming/activePlaylistTiming.yaml +24 -0
  112. package/api/components/timing/activePlaylistTiming/activePlaylistTimingMode.yaml +7 -0
  113. package/api/components/timing/currentPartTiming/currentPartTiming-example.yaml +3 -0
  114. package/api/components/timing/currentPartTiming/currentPartTiming.yaml +20 -0
  115. package/api/components/timing/currentSegmentPartTiming/currentSegmentPartTiming-example.yaml +1 -0
  116. package/api/components/timing/currentSegmentPartTiming/currentSegmentPartTiming.yaml +8 -0
  117. package/api/components/timing/currentSegmentTiming/currentSegmentTiming-example.yaml +2 -0
  118. package/api/components/timing/currentSegmentTiming/currentSegmentTiming.yaml +16 -0
  119. package/api/components/timing/segmentCountdownType.yaml +6 -0
  120. package/api/components/timing/segmentTiming/segmentTiming-example.yaml +3 -0
  121. package/api/components/timing/segmentTiming/segmentTiming.yaml +19 -0
  122. package/api/topics/activePieces/activePiecesTopic.yaml +8 -0
  123. package/api/topics/activePlaylist/activePlaylistTopic.yaml +8 -0
  124. package/api/topics/adLibs/adLibsTopic.yaml +8 -0
  125. package/api/topics/buckets/bucketsTopic.yaml +8 -0
  126. package/api/topics/heartbeat/heartbeatTopic.yaml +7 -0
  127. package/api/topics/notifications/notificationsTopic.yaml +7 -0
  128. package/api/topics/packages/packagesTopic.yaml +7 -0
  129. package/api/topics/ping/pingTopic.yaml +11 -0
  130. package/api/topics/segments/segmentsTopic.yaml +7 -0
  131. package/api/topics/studio/studioTopic.yaml +7 -0
  132. package/api/topics/subscriptions/subscriptionsTopic.yaml +16 -0
  133. package/dist/generated/schema.d.ts +824 -0
  134. package/dist/generated/schema.d.ts.map +1 -0
  135. package/dist/generated/schema.js +118 -0
  136. package/dist/generated/schema.js.map +1 -0
  137. package/dist/index.d.ts +3 -0
  138. package/dist/index.d.ts.map +1 -0
  139. package/dist/index.js +6 -0
  140. package/dist/index.js.map +1 -0
  141. package/package.json +68 -0
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 (Live Status Gateway API)
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,51 @@
1
+ asyncapi: '2.6.0'
2
+ id: 'sofie:live-status-gateway:server'
3
+ info:
4
+ title: Sofie Live Status Service
5
+ version: '2.0.1'
6
+ description: This service provides subscriptions for status updates from Sofie
7
+ license:
8
+ name: MIT License
9
+ url: http://opensource.org/licenses/MIT
10
+ contact:
11
+ name: Sofie TV Automation
12
+ url: https://github.com/Sofie-Automation/sofie-core/issues
13
+
14
+ servers:
15
+ development:
16
+ url: localhost
17
+ description: Server available without authorization
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
+ # As the LSG is websocket only, channels are only used for logical grouping for the generated docs and folder structure.
30
+ ping:
31
+ $ref: './topics/ping/pingTopic.yaml'
32
+ heartbeat:
33
+ $ref: './topics/heartbeat/heartbeatTopic.yaml'
34
+ subscriptions:
35
+ $ref: './topics/subscriptions/subscriptionsTopic.yaml'
36
+ studio:
37
+ $ref: './topics/studio/studioTopic.yaml'
38
+ activePlaylist:
39
+ $ref: './topics/activePlaylist/activePlaylistTopic.yaml'
40
+ activePieces:
41
+ $ref: './topics/activePieces/activePiecesTopic.yaml'
42
+ segments:
43
+ $ref: './topics/segments/segmentsTopic.yaml'
44
+ adLibs:
45
+ $ref: './topics/adLibs/adLibsTopic.yaml'
46
+ packages:
47
+ $ref: './topics/packages/packagesTopic.yaml'
48
+ buckets:
49
+ $ref: './topics/buckets/bucketsTopic.yaml'
50
+ notifications:
51
+ $ref: './topics/notifications/notificationsTopic.yaml'
@@ -0,0 +1,2 @@
1
+ name: pvw
2
+ label: Preview
@@ -0,0 +1,15 @@
1
+ $defs:
2
+ adLibActionType:
3
+ title: AdLibActionType
4
+ type: object
5
+ properties:
6
+ name:
7
+ type: string
8
+ description: The string to be passed to the ExecuteAdlib function
9
+ label:
10
+ type: string
11
+ description: The label for the AdLib type
12
+ required: [name, label]
13
+ additionalProperties: false
14
+ examples:
15
+ - $ref: './actionType-example.yaml'
@@ -0,0 +1,9 @@
1
+ id: 'C6K_yIMuGFUk8X_L9A9_jRT6aq4_'
2
+ name: Music video clip
3
+ sourceLayer: Video Clip
4
+ actionType:
5
+ - $ref: '../actionType/actionType-example.yaml'
6
+ tags: ['music_video']
7
+ publicData:
8
+ fileName: MV000123.mxf
9
+ 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,35 @@
1
+ $defs:
2
+ adLibBase:
3
+ title: AdLibBase
4
+ type: object
5
+ properties:
6
+ id:
7
+ type: string
8
+ description: Unique id of the AdLib
9
+ name:
10
+ type: string
11
+ description: The user defined AdLib name
12
+ sourceLayer:
13
+ type: string
14
+ description: The source layer name for this AdLib
15
+ outputLayer:
16
+ type: string
17
+ description: The output layer name for this AdLib
18
+ actionType:
19
+ type: array
20
+ description: The available action type names that can be used to modify the execution of the AdLib
21
+ items:
22
+ $ref: '../actionType/actionType.yaml#/$defs/adLibActionType'
23
+ tags:
24
+ type: array
25
+ description: Tags attached to this AdLib
26
+ items:
27
+ type: string
28
+ publicData:
29
+ description: Optional arbitrary data
30
+ optionsSchema:
31
+ type: string
32
+ description: JSON schema definition of the adLib properties that can be modified using the adLibOptions property in executeAdLib
33
+ required: [id, name, sourceLayer, actionType]
34
+ examples:
35
+ - $ref: './adLibBase-example.yaml'
@@ -0,0 +1,3 @@
1
+ $ref: '../adLibBase/adLibBase-example.yaml'
2
+ segmentId: HsD8_QwE1ZmR5vN3XcK_Ab7y
3
+ partId: JkL3_OpR6WxT1bF8Vq2_Zy9u
@@ -0,0 +1,17 @@
1
+ $defs:
2
+ adLibStatus:
3
+ title: AdLibStatus
4
+ allOf:
5
+ - $ref: '../adLibBase/adLibBase.yaml#/$defs/adLibBase'
6
+ - type: object
7
+ title: AdLibStatus
8
+ properties:
9
+ segmentId:
10
+ description: Unique id of the segment this adLib belongs to
11
+ type: string
12
+ partId:
13
+ description: Unique id of the part this adLib belongs to
14
+ type: string
15
+ required: [segmentId, partId]
16
+ examples:
17
+ - $ref: './adLibStatus-example.yaml'
@@ -0,0 +1,6 @@
1
+ event: 'adLibs'
2
+ rundownPlaylistId: 'OKAgZmZ0Buc99lE_2uPPSKVbMrQ_'
3
+ adLibs:
4
+ - $ref: '../adLibStatus/adLibStatus-example.yaml'
5
+ globalAdLibs:
6
+ - $ref: '../globalAdLibStatus/globalAdLibStatus-example.yaml'
@@ -0,0 +1,29 @@
1
+ $defs:
2
+ adLibsEvent:
3
+ type: object
4
+ title: AdLibsEvent
5
+ properties:
6
+ event:
7
+ type: string
8
+ const: adLibs
9
+ rundownPlaylistId:
10
+ description: Unique id of the rundown playlist, or null if no playlist is active
11
+ oneOf:
12
+ - type: string
13
+ title: Unique id of the rundown playlist
14
+ - type: 'null'
15
+ title: Null if no playlist is active
16
+ adLibs:
17
+ type: array
18
+ description: The available AdLibs for this playlist
19
+ items:
20
+ $ref: '../adLibStatus/adLibStatus.yaml#/$defs/adLibStatus'
21
+ globalAdLibs:
22
+ type: array
23
+ description: The available Global AdLibs for this playlist
24
+ items:
25
+ $ref: '../globalAdLibStatus/globalAdLibStatus.yaml#/$defs/globalAdLibStatus'
26
+ required: [event, rundownPlaylistId, adLibs, globalAdLibs]
27
+ additionalProperties: false
28
+ examples:
29
+ - $ref: './adLibsEvent-example.yaml'
@@ -0,0 +1,2 @@
1
+ $ref: '../adLibBase/adLibBase-example.yaml'
2
+ externalId: 'C6K_yIMuGFUk8X_L9A9_jRT6aq4_'
@@ -0,0 +1,14 @@
1
+ $defs:
2
+ bucketAdLibStatus:
3
+ title: BucketAdLibStatus
4
+ allOf:
5
+ - $ref: '../adLibBase/adLibBase.yaml#/$defs/adLibBase'
6
+ - type: object
7
+ title: BucketAdLibStatus
8
+ properties:
9
+ externalId:
10
+ type: string
11
+ description: Id of the adLib recognizable by the external source. Unique within a bucket.
12
+ required: [externalId]
13
+ examples:
14
+ - $ref: './bucketAdLibStatus-example.yaml'
@@ -0,0 +1 @@
1
+ $ref: '../adLibBase/adLibBase-example.yaml'
@@ -0,0 +1,7 @@
1
+ $defs:
2
+ globalAdLibStatus:
3
+ title: GlobalAdLibStatus
4
+ allOf:
5
+ - $ref: '../adLibBase/adLibBase.yaml#/$defs/adLibBase'
6
+ examples:
7
+ - $ref: './globalAdLibStatus-example.yaml'
@@ -0,0 +1,10 @@
1
+ components:
2
+ messages:
3
+ adLibsMessage:
4
+ messageId: adLibs
5
+ title: AdLibs Event Message
6
+ payload:
7
+ $ref: '../adLibsEvent/adLibsEvent.yaml#/$defs/adLibsEvent'
8
+ examples:
9
+ - payload:
10
+ $ref: '../adLibsEvent/adLibsEvent-example.yaml'
@@ -0,0 +1,4 @@
1
+ id: 'C6K_yIMuGFUk8X_L9A9_jRT6aq4_'
2
+ name: My Bucket
3
+ adLibs:
4
+ - $ref: '../../adLibs/bucketAdLibStatus/bucketAdLibStatus-example.yaml'
@@ -0,0 +1,20 @@
1
+ $defs:
2
+ bucketStatus:
3
+ title: BucketStatus
4
+ type: object
5
+ properties:
6
+ id:
7
+ description: Unique id of the bucket
8
+ type: string
9
+ name:
10
+ description: The user defined bucket name
11
+ type: string
12
+ adLibs:
13
+ description: The AdLibs in this bucket
14
+ type: array
15
+ items:
16
+ $ref: '../../adLibs/bucketAdLibStatus/bucketAdLibStatus.yaml#/$defs/bucketAdLibStatus'
17
+ required: [id, name, adLibs]
18
+ additionalProperties: false
19
+ examples:
20
+ - $ref: './bucketStatus-example.yaml'
@@ -0,0 +1,3 @@
1
+ event: buckets
2
+ buckets:
3
+ - $ref: '../bucketStatus/bucketStatus-example.yaml'
@@ -0,0 +1,17 @@
1
+ $defs:
2
+ bucketsEvent:
3
+ title: BucketsEvent
4
+ type: object
5
+ properties:
6
+ event:
7
+ type: string
8
+ const: buckets
9
+ buckets:
10
+ description: Buckets available in the Studio
11
+ type: array
12
+ items:
13
+ $ref: '../bucketStatus/bucketStatus.yaml#/$defs/bucketStatus'
14
+ required: [event, buckets]
15
+ additionalProperties: false
16
+ examples:
17
+ - $ref: './bucketsEvent-example.yaml'
@@ -0,0 +1,10 @@
1
+ components:
2
+ messages:
3
+ bucketsMessage:
4
+ messageId: buckets
5
+ title: Buckets in Studio
6
+ payload:
7
+ $ref: '../bucketsEvent/bucketsEvent.yaml#/$defs/bucketsEvent'
8
+ examples:
9
+ - payload:
10
+ $ref: '../bucketsEvent/bucketsEvent-example.yaml'
@@ -0,0 +1,12 @@
1
+ $defs:
2
+ heartbeatEvent:
3
+ title: HeartbeatEvent
4
+ type: object
5
+ properties:
6
+ event:
7
+ type: string
8
+ const: heartbeat
9
+ required: [event]
10
+ additionalProperties: false
11
+ examples:
12
+ - $ref: './heartbeatEvent-example.yaml'
@@ -0,0 +1,11 @@
1
+ components:
2
+ messages:
3
+ heartbeatMessage:
4
+ name: heartbeat
5
+ messageId: heartbeat
6
+ description: Server heartbeat sent if no subscription traffic within 1 second (approximately)
7
+ payload:
8
+ $ref: '../heartbeatEvent/heartbeatEvent.yaml#/$defs/heartbeatEvent'
9
+ examples:
10
+ - payload:
11
+ $ref: '../heartbeatEvent/heartbeatEvent-example.yaml'
@@ -0,0 +1,12 @@
1
+ components:
2
+ messages:
3
+ pingMessage:
4
+ name: ping
5
+ messageId: ping
6
+ summary: Ping server to determine whether connection is alive
7
+ 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
8
+ payload:
9
+ $ref: '../pingEvent/pingEvent.yaml#/$defs/pingEvent'
10
+ examples:
11
+ - payload:
12
+ $ref: '../pingEvent/pingEvent-example.yaml'
@@ -0,0 +1,12 @@
1
+ components:
2
+ messages:
3
+ pongMessage:
4
+ name: pong
5
+ messageId: pong
6
+ summary: Pong is a response to ping message
7
+ 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
8
+ payload:
9
+ $ref: '../pongEvent/pongEvent.yaml#/$defs/pongEvent'
10
+ examples:
11
+ - payload:
12
+ $ref: '../pongEvent/pongEvent-example.yaml'
@@ -0,0 +1,2 @@
1
+ event: ping
2
+ reqid: 27
@@ -0,0 +1,14 @@
1
+ $defs:
2
+ pingEvent:
3
+ title: PingEvent
4
+ type: object
5
+ properties:
6
+ event:
7
+ type: string
8
+ const: ping
9
+ reqid:
10
+ $ref: '../reqid/reqid.yaml#/$defs/reqid'
11
+ required: [event, reqid]
12
+ additionalProperties: false
13
+ examples:
14
+ - $ref: './pingEvent-example.yaml'
@@ -0,0 +1,2 @@
1
+ event: pong
2
+ reqid: 27
@@ -0,0 +1,14 @@
1
+ $defs:
2
+ pongEvent:
3
+ title: PongEvent
4
+ type: object
5
+ properties:
6
+ event:
7
+ type: string
8
+ const: pong
9
+ reqid:
10
+ $ref: '../reqid/reqid.yaml#/$defs/reqid'
11
+ required: [event, reqid]
12
+ additionalProperties: false
13
+ examples:
14
+ - $ref: './pongEvent-example.yaml'
@@ -0,0 +1,4 @@
1
+ $defs:
2
+ reqid:
3
+ type: integer
4
+ description: Client originated ID reflected in response message.
@@ -0,0 +1,3 @@
1
+ event: notifications
2
+ activeNotifications:
3
+ - $ref: '../../notificationObj/notificationObj-example.yaml'
@@ -0,0 +1,18 @@
1
+ $defs:
2
+ notificationsEvent:
3
+ type: object
4
+ title: NotificationsEvent
5
+ description: Active notifications in Sofie
6
+ properties:
7
+ event:
8
+ type: string
9
+ const: notifications
10
+ activeNotifications:
11
+ description: Active notifications in Sofie
12
+ type: array
13
+ items:
14
+ $ref: '../../notificationObj/notificationObj.yaml#/$defs/NotificationObj'
15
+ required: [event, activeNotifications]
16
+ additionalProperties: false
17
+ examples:
18
+ - $ref: './notificationsEvent-example.yaml'
@@ -0,0 +1,10 @@
1
+ components:
2
+ messages:
3
+ notificationsMessage:
4
+ messageId: notificationsUpdate
5
+ title: Active notifications in Sofie
6
+ payload:
7
+ $ref: '../events/notificationsEvent/notificationsEvent.yaml#/$defs/notificationsEvent'
8
+ examples:
9
+ - payload:
10
+ $ref: '../events/notificationsEvent/notificationsEvent-example.yaml'
@@ -0,0 +1,7 @@
1
+ _id: 'notif123'
2
+ severity: error
3
+ message: 'disk.space.low'
4
+ relatedTo:
5
+ $ref: '../target/pieceInstance/notificationTargetPieceInstance-example.yaml'
6
+ created: 1694784932
7
+ modified: 1694784950
@@ -0,0 +1,33 @@
1
+ $defs:
2
+ NotificationObj:
3
+ type: object
4
+ title: NotificationObj
5
+ description: This describes a notification that should be shown to a user. These can come from various sources, and are added and removed dynamically during system usage
6
+ required:
7
+ - _id
8
+ - severity
9
+ - message
10
+ - relatedTo
11
+ - created
12
+ properties:
13
+ _id:
14
+ type: string
15
+ description: Unique identifier for the notification
16
+ severity:
17
+ $ref: '../notificationSeverity.yaml#/$defs/severity'
18
+ message:
19
+ type: string
20
+ description: The message of the notification
21
+ relatedTo:
22
+ $ref: '../target/notificationTarget.yaml#/$defs/NotificationTarget'
23
+ created:
24
+ type: integer
25
+ format: int64
26
+ description: Unix timestamp of creation
27
+ modified:
28
+ type: integer
29
+ format: int64
30
+ description: Unix timestamp of last modification
31
+ additionalProperties: false
32
+ examples:
33
+ - $ref: './notificationObj-example.yaml'
@@ -0,0 +1,9 @@
1
+ $defs:
2
+ severity:
3
+ type: string
4
+ title: NotificationSeverity
5
+ description: Severity level of the notification.
6
+ enum:
7
+ - warning
8
+ - error
9
+ - info
@@ -0,0 +1,16 @@
1
+ $defs:
2
+ NotificationTarget:
3
+ title: NotificationTarget
4
+ description: Describes what the notification is related to
5
+ oneOf:
6
+ - $ref: './rundown/notificationTargetRundown.yaml#/$defs/NotificationTargetRundown'
7
+ - $ref: './rundownPlaylist/notificationTargetRundownPlaylist.yaml#/$defs/NotificationTargetRundownPlaylist'
8
+ - $ref: './partInstance/notificationTargetPartInstance.yaml#/$defs/NotificationTargetPartInstance'
9
+ - $ref: './pieceInstance/notificationTargetPieceInstance.yaml#/$defs/NotificationTargetPieceInstance'
10
+ - $ref: './unknown/notificationTargetUnknown.yaml#/$defs/NotificationTargetUnknown'
11
+ examples:
12
+ - $ref: './rundown/notificationTargetRundown-example.yaml'
13
+ - $ref: './rundownPlaylist/notificationTargetRundownPlaylist-example.yaml'
14
+ - $ref: './partInstance/notificationTargetPartInstance-example.yaml'
15
+ - $ref: './pieceInstance/notificationTargetPieceInstance-example.yaml'
16
+ - $ref: './unknown/notificationTargetUnknown-example.yaml'
@@ -0,0 +1,11 @@
1
+ $defs:
2
+ NotificationTargetType:
3
+ type: string
4
+ title: NotificationTargetType
5
+ description: Possible NotificationTarget types
6
+ enum:
7
+ - rundown
8
+ - playlist
9
+ - partInstance
10
+ - pieceInstance
11
+ - unknown
@@ -0,0 +1,4 @@
1
+ type: partInstance
2
+ studioId: studio01
3
+ rundownId: rd123
4
+ partInstanceId: pi789
@@ -0,0 +1,18 @@
1
+ $defs:
2
+ NotificationTargetPartInstance:
3
+ type: object
4
+ title: NotificationTargetPartInstance
5
+ required: [type, studioId, rundownId, partInstanceId]
6
+ properties:
7
+ type:
8
+ $ref: '../notificationTargetType.yaml#/$defs/NotificationTargetType'
9
+ const: partInstance
10
+ studioId:
11
+ type: string
12
+ rundownId:
13
+ type: string
14
+ partInstanceId:
15
+ type: string
16
+ additionalProperties: false
17
+ examples:
18
+ - $ref: './notificationTargetPartInstance-example.yaml'
@@ -0,0 +1,5 @@
1
+ type: pieceInstance
2
+ studioId: studio01
3
+ rundownId: rd123
4
+ partInstanceId: pi789
5
+ pieceInstanceId: pc1011
@@ -0,0 +1,20 @@
1
+ $defs:
2
+ NotificationTargetPieceInstance:
3
+ type: object
4
+ title: NotificationTargetPieceInstance
5
+ required: [type, studioId, rundownId, partInstanceId, pieceInstanceId]
6
+ properties:
7
+ type:
8
+ $ref: '../notificationTargetType.yaml#/$defs/NotificationTargetType'
9
+ const: pieceInstance
10
+ studioId:
11
+ type: string
12
+ rundownId:
13
+ type: string
14
+ partInstanceId:
15
+ type: string
16
+ pieceInstanceId:
17
+ type: string
18
+ additionalProperties: false
19
+ examples:
20
+ - $ref: './notificationTargetPieceInstance-example.yaml'
@@ -0,0 +1,3 @@
1
+ type: rundown
2
+ studioId: studio01
3
+ rundownId: rd123
@@ -0,0 +1,16 @@
1
+ $defs:
2
+ NotificationTargetRundown:
3
+ type: object
4
+ title: NotificationTargetRundown
5
+ required: [type, studioId, rundownId]
6
+ properties:
7
+ type:
8
+ $ref: '../notificationTargetType.yaml#/$defs/NotificationTargetType'
9
+ const: rundown
10
+ studioId:
11
+ type: string
12
+ rundownId:
13
+ type: string
14
+ additionalProperties: false
15
+ examples:
16
+ - $ref: './notificationTargetRundown-example.yaml'
@@ -0,0 +1,3 @@
1
+ type: playlist
2
+ studioId: studio01
3
+ playlistId: pl456