reactor-effect-client 0.7.1 → 0.8.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/NOTICE +7 -2
- package/README.md +103 -141
- package/dist/Coordinator.d.ts +382 -0
- package/dist/Coordinator.d.ts.map +1 -0
- package/dist/Coordinator.js +732 -0
- package/dist/Coordinator.js.map +1 -0
- package/dist/H3.d.ts +159 -0
- package/dist/H3.d.ts.map +1 -0
- package/dist/H3.js +21 -0
- package/dist/H3.js.map +1 -0
- package/dist/H3Source.d.ts +93 -0
- package/dist/H3Source.d.ts.map +1 -0
- package/dist/H3Source.js +401 -0
- package/dist/H3Source.js.map +1 -0
- package/dist/LocalSource.d.ts +68 -0
- package/dist/LocalSource.d.ts.map +1 -0
- package/dist/LocalSource.js +354 -0
- package/dist/LocalSource.js.map +1 -0
- package/dist/Media.d.ts +106 -0
- package/dist/Media.d.ts.map +1 -0
- package/dist/Media.js +16 -0
- package/dist/Media.js.map +1 -0
- package/dist/Peer.d.ts +134 -0
- package/dist/Peer.d.ts.map +1 -0
- package/dist/Peer.js +57 -0
- package/dist/Peer.js.map +1 -0
- package/dist/Playout.d.ts +724 -0
- package/dist/Playout.d.ts.map +1 -0
- package/dist/Playout.js +28 -0
- package/dist/Playout.js.map +1 -0
- package/dist/Reactor.d.ts +135 -0
- package/dist/Reactor.d.ts.map +1 -0
- package/dist/Reactor.js +158 -0
- package/dist/Reactor.js.map +1 -0
- package/dist/ReactorError.d.ts +331 -0
- package/dist/ReactorError.d.ts.map +1 -0
- package/dist/ReactorError.js +316 -0
- package/dist/ReactorError.js.map +1 -0
- package/dist/ReactorTest.d.ts +383 -0
- package/dist/ReactorTest.d.ts.map +1 -0
- package/dist/ReactorTest.js +317 -0
- package/dist/ReactorTest.js.map +1 -0
- package/dist/Session.d.ts +314 -0
- package/dist/Session.d.ts.map +1 -0
- package/dist/Session.js +51 -0
- package/dist/Session.js.map +1 -0
- package/dist/index.d.ts +12 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -11
- package/dist/index.js.map +1 -1
- package/dist/internal/correlator.d.ts +46 -0
- package/dist/internal/correlator.d.ts.map +1 -0
- package/dist/internal/correlator.js +150 -0
- package/dist/internal/correlator.js.map +1 -0
- package/dist/internal/deadline.d.ts +24 -0
- package/dist/internal/deadline.d.ts.map +1 -0
- package/dist/internal/deadline.js +44 -0
- package/dist/internal/deadline.js.map +1 -0
- package/dist/{h3/_internal/contracts.d.ts → internal/h3/commands.d.ts} +39 -33
- package/dist/internal/h3/commands.d.ts.map +1 -0
- package/dist/internal/h3/commands.js +128 -0
- package/dist/internal/h3/commands.js.map +1 -0
- package/dist/{h3 → internal/h3}/messages.d.ts +16 -11
- package/dist/internal/h3/messages.d.ts.map +1 -0
- package/dist/{h3 → internal/h3}/messages.js +19 -31
- package/dist/internal/h3/messages.js.map +1 -0
- package/dist/internal/h3/operations.d.ts +145 -0
- package/dist/internal/h3/operations.d.ts.map +1 -0
- package/dist/internal/h3/operations.js +284 -0
- package/dist/internal/h3/operations.js.map +1 -0
- package/dist/{h3 → internal/h3}/profile.d.ts +63 -65
- package/dist/internal/h3/profile.d.ts.map +1 -0
- package/dist/{h3 → internal/h3}/profile.js +39 -39
- package/dist/internal/h3/profile.js.map +1 -0
- package/dist/internal/h3/provider.d.ts +14 -0
- package/dist/internal/h3/provider.d.ts.map +1 -0
- package/dist/internal/h3/provider.js +672 -0
- package/dist/internal/h3/provider.js.map +1 -0
- package/dist/internal/h3/references.d.ts +68 -0
- package/dist/internal/h3/references.d.ts.map +1 -0
- package/dist/internal/h3/references.js +339 -0
- package/dist/internal/h3/references.js.map +1 -0
- package/dist/internal/h3/request.d.ts +56 -0
- package/dist/internal/h3/request.d.ts.map +1 -0
- package/dist/internal/h3/request.js +70 -0
- package/dist/internal/h3/request.js.map +1 -0
- package/dist/internal/h3/state.d.ts +120 -0
- package/dist/internal/h3/state.d.ts.map +1 -0
- package/dist/internal/h3/state.js +270 -0
- package/dist/internal/h3/state.js.map +1 -0
- package/dist/{Submission.d.ts → internal/h3/submission.d.ts} +1 -3
- package/dist/internal/h3/submission.d.ts.map +1 -0
- package/dist/{Submission.js → internal/h3/submission.js} +1 -9
- package/dist/internal/h3/submission.js.map +1 -0
- package/dist/internal/hub.d.ts +32 -0
- package/dist/internal/hub.d.ts.map +1 -0
- package/dist/internal/hub.js +92 -0
- package/dist/internal/hub.js.map +1 -0
- package/dist/internal/playout/errors.d.ts +51 -0
- package/dist/internal/playout/errors.d.ts.map +1 -0
- package/dist/internal/playout/errors.js +40 -0
- package/dist/internal/playout/errors.js.map +1 -0
- package/dist/internal/playout/policy.d.ts +559 -0
- package/dist/internal/playout/policy.d.ts.map +1 -0
- package/dist/internal/playout/policy.js +2338 -0
- package/dist/internal/playout/policy.js.map +1 -0
- package/dist/internal/playout/runtime.d.ts +28 -0
- package/dist/internal/playout/runtime.d.ts.map +1 -0
- package/dist/internal/playout/runtime.js +766 -0
- package/dist/internal/playout/runtime.js.map +1 -0
- package/dist/internal/playout/tag.d.ts +14 -0
- package/dist/internal/playout/tag.d.ts.map +1 -0
- package/dist/internal/playout/tag.js +43 -0
- package/dist/internal/playout/tag.js.map +1 -0
- package/dist/internal/proto/reactor_wire/v1/common_pb.d.ts +55 -0
- package/dist/internal/proto/reactor_wire/v1/common_pb.d.ts.map +1 -0
- package/dist/internal/proto/reactor_wire/v1/common_pb.js +42 -0
- package/dist/internal/proto/reactor_wire/v1/common_pb.js.map +1 -0
- package/dist/internal/proto/reactor_wire/v1/control_pb.d.ts +160 -0
- package/dist/internal/proto/reactor_wire/v1/control_pb.d.ts.map +1 -0
- package/dist/internal/proto/reactor_wire/v1/control_pb.js +21 -0
- package/dist/internal/proto/reactor_wire/v1/control_pb.js.map +1 -0
- package/dist/internal/proto/reactor_wire/v1/data_pb.d.ts +89 -0
- package/dist/internal/proto/reactor_wire/v1/data_pb.d.ts.map +1 -0
- package/dist/internal/proto/reactor_wire/v1/data_pb.js +20 -0
- package/dist/internal/proto/reactor_wire/v1/data_pb.js.map +1 -0
- package/dist/internal/proto/reactor_wire/v1/model_pb.d.ts +85 -0
- package/dist/internal/proto/reactor_wire/v1/model_pb.d.ts.map +1 -0
- package/dist/internal/proto/reactor_wire/v1/model_pb.js +24 -0
- package/dist/internal/proto/reactor_wire/v1/model_pb.js.map +1 -0
- package/dist/internal/proto/reactor_wire/v1/platform_pb.d.ts +190 -0
- package/dist/internal/proto/reactor_wire/v1/platform_pb.d.ts.map +1 -0
- package/dist/internal/proto/reactor_wire/v1/platform_pb.js +54 -0
- package/dist/internal/proto/reactor_wire/v1/platform_pb.js.map +1 -0
- package/dist/internal/proto/reactor_wire/v1/track_pb.d.ts +88 -0
- package/dist/internal/proto/reactor_wire/v1/track_pb.d.ts.map +1 -0
- package/dist/internal/proto/reactor_wire/v1/track_pb.js +33 -0
- package/dist/internal/proto/reactor_wire/v1/track_pb.js.map +1 -0
- package/dist/internal/queue.d.ts +4 -0
- package/dist/internal/queue.d.ts.map +1 -0
- package/dist/{_internal → internal}/queue.js +0 -9
- package/dist/internal/queue.js.map +1 -0
- package/dist/internal/reactorTest/coordinator.d.ts +5 -0
- package/dist/internal/reactorTest/coordinator.d.ts.map +1 -0
- package/dist/internal/reactorTest/coordinator.js +178 -0
- package/dist/internal/reactorTest/coordinator.js.map +1 -0
- package/dist/internal/reactorTest/faults.d.ts +172 -0
- package/dist/internal/reactorTest/faults.d.ts.map +1 -0
- package/dist/internal/reactorTest/faults.js +23 -0
- package/dist/internal/reactorTest/faults.js.map +1 -0
- package/dist/internal/reactorTest/h3.d.ts +431 -0
- package/dist/internal/reactorTest/h3.d.ts.map +1 -0
- package/dist/internal/reactorTest/h3.js +625 -0
- package/dist/internal/reactorTest/h3.js.map +1 -0
- package/dist/internal/reactorTest/media.d.ts +22 -0
- package/dist/internal/reactorTest/media.d.ts.map +1 -0
- package/dist/internal/reactorTest/media.js +34 -0
- package/dist/internal/reactorTest/media.js.map +1 -0
- package/dist/internal/reactorTest/peer.d.ts +318 -0
- package/dist/internal/reactorTest/peer.d.ts.map +1 -0
- package/dist/internal/reactorTest/peer.js +206 -0
- package/dist/internal/reactorTest/peer.js.map +1 -0
- package/dist/internal/reactorTest/playout.d.ts +34 -0
- package/dist/internal/reactorTest/playout.d.ts.map +1 -0
- package/dist/internal/reactorTest/playout.js +340 -0
- package/dist/internal/reactorTest/playout.js.map +1 -0
- package/dist/internal/reactorTest/references.d.ts +25 -0
- package/dist/internal/reactorTest/references.d.ts.map +1 -0
- package/dist/{testing/Png.js → internal/reactorTest/references.js} +50 -12
- package/dist/internal/reactorTest/references.js.map +1 -0
- package/dist/internal/reactorTest/sessions.d.ts +364 -0
- package/dist/internal/reactorTest/sessions.d.ts.map +1 -0
- package/dist/internal/reactorTest/sessions.js +592 -0
- package/dist/internal/reactorTest/sessions.js.map +1 -0
- package/dist/internal/reactorTest/timing.d.ts +13 -0
- package/dist/internal/reactorTest/timing.d.ts.map +1 -0
- package/dist/internal/reactorTest/timing.js +20 -0
- package/dist/internal/reactorTest/timing.js.map +1 -0
- package/dist/internal/recording.d.ts +52 -0
- package/dist/internal/recording.d.ts.map +1 -0
- package/dist/internal/recording.js +141 -0
- package/dist/internal/recording.js.map +1 -0
- package/dist/internal/session/connect.d.ts +34 -0
- package/dist/internal/session/connect.d.ts.map +1 -0
- package/dist/internal/session/connect.js +502 -0
- package/dist/internal/session/connect.js.map +1 -0
- package/dist/internal/session/generation.d.ts +35 -0
- package/dist/internal/session/generation.d.ts.map +1 -0
- package/dist/internal/session/generation.js +185 -0
- package/dist/internal/session/generation.js.map +1 -0
- package/dist/internal/session/ice.d.ts +23 -0
- package/dist/internal/session/ice.d.ts.map +1 -0
- package/dist/internal/session/ice.js +57 -0
- package/dist/internal/session/ice.js.map +1 -0
- package/dist/internal/session/inbound.d.ts +50 -0
- package/dist/internal/session/inbound.d.ts.map +1 -0
- package/dist/internal/session/inbound.js +202 -0
- package/dist/internal/session/inbound.js.map +1 -0
- package/dist/internal/session/model.d.ts +163 -0
- package/dist/internal/session/model.d.ts.map +1 -0
- package/dist/internal/session/model.js +78 -0
- package/dist/internal/session/model.js.map +1 -0
- package/dist/internal/session/requests.d.ts +71 -0
- package/dist/internal/session/requests.d.ts.map +1 -0
- package/dist/internal/session/requests.js +240 -0
- package/dist/internal/session/requests.js.map +1 -0
- package/dist/internal/session/tracks.d.ts +21 -0
- package/dist/internal/session/tracks.d.ts.map +1 -0
- package/dist/internal/session/tracks.js +166 -0
- package/dist/internal/session/tracks.js.map +1 -0
- package/dist/internal/session/upload.d.ts +21 -0
- package/dist/internal/session/upload.d.ts.map +1 -0
- package/dist/internal/session/upload.js +68 -0
- package/dist/internal/session/upload.js.map +1 -0
- package/dist/internal/session.d.ts +66 -0
- package/dist/internal/session.d.ts.map +1 -0
- package/dist/internal/session.js +280 -0
- package/dist/internal/session.js.map +1 -0
- package/dist/{stats.d.ts → internal/stats.d.ts} +30 -16
- package/dist/internal/stats.d.ts.map +1 -0
- package/dist/internal/stats.js +201 -0
- package/dist/internal/stats.js.map +1 -0
- package/dist/internal/token.d.ts +22 -0
- package/dist/internal/token.d.ts.map +1 -0
- package/dist/internal/token.js +65 -0
- package/dist/internal/token.js.map +1 -0
- package/dist/internal/wire.d.ts +37 -0
- package/dist/internal/wire.d.ts.map +1 -0
- package/dist/internal/wire.js +49 -0
- package/dist/internal/wire.js.map +1 -0
- package/notices/bufbuild-protobuf-LICENSE +201 -0
- package/package.json +17 -38
- package/dist/FetchHttp.d.ts +0 -9
- package/dist/FetchHttp.d.ts.map +0 -1
- package/dist/FetchHttp.js +0 -63
- package/dist/FetchHttp.js.map +0 -1
- package/dist/PeerFactory.d.ts +0 -26
- package/dist/PeerFactory.d.ts.map +0 -1
- package/dist/PeerFactory.js +0 -4
- package/dist/PeerFactory.js.map +0 -1
- package/dist/PeerTypes.d.ts +0 -64
- package/dist/PeerTypes.d.ts.map +0 -1
- package/dist/PeerTypes.js +0 -2
- package/dist/PeerTypes.js.map +0 -1
- package/dist/Sequence.d.ts +0 -85
- package/dist/Sequence.d.ts.map +0 -1
- package/dist/Sequence.js +0 -210
- package/dist/Sequence.js.map +0 -1
- package/dist/SessionTypes.d.ts +0 -312
- package/dist/SessionTypes.d.ts.map +0 -1
- package/dist/SessionTypes.js +0 -19
- package/dist/SessionTypes.js.map +0 -1
- package/dist/Submission.d.ts.map +0 -1
- package/dist/Submission.js.map +0 -1
- package/dist/_internal/queue.d.ts +0 -6
- package/dist/_internal/queue.d.ts.map +0 -1
- package/dist/_internal/queue.js.map +0 -1
- package/dist/bytes.d.ts +0 -6
- package/dist/bytes.d.ts.map +0 -1
- package/dist/bytes.js +0 -32
- package/dist/bytes.js.map +0 -1
- package/dist/contract.d.ts +0 -149
- package/dist/contract.d.ts.map +0 -1
- package/dist/contract.js +0 -119
- package/dist/contract.js.map +0 -1
- package/dist/coordinator/_internal/client.d.ts +0 -215
- package/dist/coordinator/_internal/client.d.ts.map +0 -1
- package/dist/coordinator/_internal/client.js +0 -563
- package/dist/coordinator/_internal/client.js.map +0 -1
- package/dist/coordinator/_internal/recording.d.ts +0 -31
- package/dist/coordinator/_internal/recording.d.ts.map +0 -1
- package/dist/coordinator/_internal/recording.js +0 -123
- package/dist/coordinator/_internal/recording.js.map +0 -1
- package/dist/coordinator/_internal/response.d.ts +0 -15
- package/dist/coordinator/_internal/response.d.ts.map +0 -1
- package/dist/coordinator/_internal/response.js +0 -55
- package/dist/coordinator/_internal/response.js.map +0 -1
- package/dist/coordinator/_internal/schemas.d.ts +0 -73
- package/dist/coordinator/_internal/schemas.d.ts.map +0 -1
- package/dist/coordinator/_internal/schemas.js +0 -200
- package/dist/coordinator/_internal/schemas.js.map +0 -1
- package/dist/coordinator/index.d.ts +0 -40
- package/dist/coordinator/index.d.ts.map +0 -1
- package/dist/coordinator/index.js +0 -21
- package/dist/coordinator/index.js.map +0 -1
- package/dist/correlation.d.ts +0 -47
- package/dist/correlation.d.ts.map +0 -1
- package/dist/correlation.js +0 -131
- package/dist/correlation.js.map +0 -1
- package/dist/duration.d.ts +0 -27
- package/dist/duration.d.ts.map +0 -1
- package/dist/duration.js +0 -47
- package/dist/duration.js.map +0 -1
- package/dist/errors.d.ts +0 -1303
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -745
- package/dist/errors.js.map +0 -1
- package/dist/h3/_internal/client.d.ts +0 -9
- package/dist/h3/_internal/client.d.ts.map +0 -1
- package/dist/h3/_internal/client.js +0 -652
- package/dist/h3/_internal/client.js.map +0 -1
- package/dist/h3/_internal/contracts.d.ts.map +0 -1
- package/dist/h3/_internal/contracts.js +0 -123
- package/dist/h3/_internal/contracts.js.map +0 -1
- package/dist/h3/_internal/deployment.d.ts +0 -8
- package/dist/h3/_internal/deployment.d.ts.map +0 -1
- package/dist/h3/_internal/deployment.js +0 -149
- package/dist/h3/_internal/deployment.js.map +0 -1
- package/dist/h3/_internal/evidence.d.ts +0 -17
- package/dist/h3/_internal/evidence.d.ts.map +0 -1
- package/dist/h3/_internal/evidence.js +0 -48
- package/dist/h3/_internal/evidence.js.map +0 -1
- package/dist/h3/_internal/operations.d.ts +0 -58
- package/dist/h3/_internal/operations.d.ts.map +0 -1
- package/dist/h3/_internal/operations.js +0 -268
- package/dist/h3/_internal/operations.js.map +0 -1
- package/dist/h3/_internal/references.d.ts +0 -24
- package/dist/h3/_internal/references.d.ts.map +0 -1
- package/dist/h3/_internal/references.js +0 -309
- package/dist/h3/_internal/references.js.map +0 -1
- package/dist/h3/_internal/request.d.ts +0 -21
- package/dist/h3/_internal/request.d.ts.map +0 -1
- package/dist/h3/_internal/request.js +0 -97
- package/dist/h3/_internal/request.js.map +0 -1
- package/dist/h3/_internal/retained.d.ts +0 -22
- package/dist/h3/_internal/retained.d.ts.map +0 -1
- package/dist/h3/_internal/retained.js +0 -89
- package/dist/h3/_internal/retained.js.map +0 -1
- package/dist/h3/_internal/state.d.ts +0 -44
- package/dist/h3/_internal/state.d.ts.map +0 -1
- package/dist/h3/_internal/state.js +0 -283
- package/dist/h3/_internal/state.js.map +0 -1
- package/dist/h3/index.d.ts +0 -10
- package/dist/h3/index.d.ts.map +0 -1
- package/dist/h3/index.js +0 -7
- package/dist/h3/index.js.map +0 -1
- package/dist/h3/messages.d.ts.map +0 -1
- package/dist/h3/messages.js.map +0 -1
- package/dist/h3/profile.d.ts.map +0 -1
- package/dist/h3/profile.js.map +0 -1
- package/dist/h3/types.d.ts +0 -291
- package/dist/h3/types.d.ts.map +0 -1
- package/dist/h3/types.js +0 -2
- package/dist/h3/types.js.map +0 -1
- package/dist/host.d.ts +0 -26
- package/dist/host.d.ts.map +0 -1
- package/dist/host.js +0 -20
- package/dist/host.js.map +0 -1
- package/dist/json.d.ts +0 -25
- package/dist/json.d.ts.map +0 -1
- package/dist/json.js +0 -143
- package/dist/json.js.map +0 -1
- package/dist/media-stream.d.ts +0 -10
- package/dist/media-stream.d.ts.map +0 -1
- package/dist/media-stream.js +0 -18
- package/dist/media-stream.js.map +0 -1
- package/dist/observation.d.ts +0 -38
- package/dist/observation.d.ts.map +0 -1
- package/dist/observation.js +0 -113
- package/dist/observation.js.map +0 -1
- package/dist/orchestration/elapsed.d.ts +0 -9
- package/dist/orchestration/elapsed.d.ts.map +0 -1
- package/dist/orchestration/elapsed.js +0 -8
- package/dist/orchestration/elapsed.js.map +0 -1
- package/dist/orchestration/h3-source.d.ts +0 -58
- package/dist/orchestration/h3-source.d.ts.map +0 -1
- package/dist/orchestration/h3-source.js +0 -362
- package/dist/orchestration/h3-source.js.map +0 -1
- package/dist/orchestration/index.d.ts +0 -17
- package/dist/orchestration/index.d.ts.map +0 -1
- package/dist/orchestration/index.js +0 -12
- package/dist/orchestration/index.js.map +0 -1
- package/dist/orchestration/media-buffer.d.ts +0 -32
- package/dist/orchestration/media-buffer.d.ts.map +0 -1
- package/dist/orchestration/media-buffer.js +0 -94
- package/dist/orchestration/media-buffer.js.map +0 -1
- package/dist/orchestration/open-h3.d.ts +0 -101
- package/dist/orchestration/open-h3.d.ts.map +0 -1
- package/dist/orchestration/open-h3.js +0 -127
- package/dist/orchestration/open-h3.js.map +0 -1
- package/dist/orchestration/queries.d.ts +0 -10
- package/dist/orchestration/queries.d.ts.map +0 -1
- package/dist/orchestration/queries.js +0 -43
- package/dist/orchestration/queries.js.map +0 -1
- package/dist/orchestration/references.d.ts +0 -18
- package/dist/orchestration/references.d.ts.map +0 -1
- package/dist/orchestration/references.js +0 -79
- package/dist/orchestration/references.js.map +0 -1
- package/dist/orchestration/renewal-state.d.ts +0 -84
- package/dist/orchestration/renewal-state.d.ts.map +0 -1
- package/dist/orchestration/renewal-state.js +0 -95
- package/dist/orchestration/renewal-state.js.map +0 -1
- package/dist/orchestration/renewal.d.ts +0 -103
- package/dist/orchestration/renewal.d.ts.map +0 -1
- package/dist/orchestration/renewal.js +0 -1099
- package/dist/orchestration/renewal.js.map +0 -1
- package/dist/orchestration/request.d.ts +0 -65
- package/dist/orchestration/request.d.ts.map +0 -1
- package/dist/orchestration/request.js +0 -134
- package/dist/orchestration/request.js.map +0 -1
- package/dist/orchestration/retention.d.ts +0 -100
- package/dist/orchestration/retention.d.ts.map +0 -1
- package/dist/orchestration/retention.js +0 -134
- package/dist/orchestration/retention.js.map +0 -1
- package/dist/orchestration/routing.d.ts +0 -21
- package/dist/orchestration/routing.d.ts.map +0 -1
- package/dist/orchestration/routing.js +0 -93
- package/dist/orchestration/routing.js.map +0 -1
- package/dist/orchestration/scheduler-key.d.ts +0 -14
- package/dist/orchestration/scheduler-key.d.ts.map +0 -1
- package/dist/orchestration/scheduler-key.js +0 -62
- package/dist/orchestration/scheduler-key.js.map +0 -1
- package/dist/orchestration/scheduler-policy.d.ts +0 -246
- package/dist/orchestration/scheduler-policy.d.ts.map +0 -1
- package/dist/orchestration/scheduler-policy.js +0 -668
- package/dist/orchestration/scheduler-policy.js.map +0 -1
- package/dist/orchestration/scheduler.d.ts +0 -393
- package/dist/orchestration/scheduler.d.ts.map +0 -1
- package/dist/orchestration/scheduler.js +0 -2621
- package/dist/orchestration/scheduler.js.map +0 -1
- package/dist/orchestration/source-slot.d.ts +0 -124
- package/dist/orchestration/source-slot.d.ts.map +0 -1
- package/dist/orchestration/source-slot.js +0 -348
- package/dist/orchestration/source-slot.js.map +0 -1
- package/dist/orchestration/types.d.ts +0 -1462
- package/dist/orchestration/types.d.ts.map +0 -1
- package/dist/orchestration/types.js +0 -135
- package/dist/orchestration/types.js.map +0 -1
- package/dist/protobuf.d.ts +0 -63
- package/dist/protobuf.d.ts.map +0 -1
- package/dist/protobuf.js +0 -252
- package/dist/protobuf.js.map +0 -1
- package/dist/session/_internal/acquire.d.ts +0 -21
- package/dist/session/_internal/acquire.d.ts.map +0 -1
- package/dist/session/_internal/acquire.js +0 -168
- package/dist/session/_internal/acquire.js.map +0 -1
- package/dist/session/_internal/cleanup.d.ts +0 -19
- package/dist/session/_internal/cleanup.d.ts.map +0 -1
- package/dist/session/_internal/cleanup.js +0 -102
- package/dist/session/_internal/cleanup.js.map +0 -1
- package/dist/session/_internal/lifecycle.d.ts +0 -67
- package/dist/session/_internal/lifecycle.d.ts.map +0 -1
- package/dist/session/_internal/lifecycle.js +0 -142
- package/dist/session/_internal/lifecycle.js.map +0 -1
- package/dist/session/_internal/remote.d.ts +0 -28
- package/dist/session/_internal/remote.d.ts.map +0 -1
- package/dist/session/_internal/remote.js +0 -71
- package/dist/session/_internal/remote.js.map +0 -1
- package/dist/session/_internal/uploads.d.ts +0 -7
- package/dist/session/_internal/uploads.d.ts.map +0 -1
- package/dist/session/_internal/uploads.js +0 -31
- package/dist/session/_internal/uploads.js.map +0 -1
- package/dist/session/commands.d.ts +0 -2
- package/dist/session/commands.d.ts.map +0 -1
- package/dist/session/commands.js +0 -2
- package/dist/session/commands.js.map +0 -1
- package/dist/session/files.d.ts +0 -21
- package/dist/session/files.d.ts.map +0 -1
- package/dist/session/files.js +0 -49
- package/dist/session/files.js.map +0 -1
- package/dist/session/index.d.ts +0 -84
- package/dist/session/index.d.ts.map +0 -1
- package/dist/session/index.js +0 -16
- package/dist/session/index.js.map +0 -1
- package/dist/session/media.d.ts +0 -114
- package/dist/session/media.d.ts.map +0 -1
- package/dist/session/media.js +0 -2
- package/dist/session/media.js.map +0 -1
- package/dist/session/recorder.d.ts +0 -24
- package/dist/session/recorder.d.ts.map +0 -1
- package/dist/session/recorder.js +0 -19
- package/dist/session/recorder.js.map +0 -1
- package/dist/session.d.ts +0 -105
- package/dist/session.d.ts.map +0 -1
- package/dist/session.js +0 -976
- package/dist/session.js.map +0 -1
- package/dist/simulation/_internal/source.d.ts +0 -12
- package/dist/simulation/_internal/source.d.ts.map +0 -1
- package/dist/simulation/_internal/source.js +0 -513
- package/dist/simulation/_internal/source.js.map +0 -1
- package/dist/simulation/index.d.ts +0 -13
- package/dist/simulation/index.d.ts.map +0 -1
- package/dist/simulation/index.js +0 -12
- package/dist/simulation/index.js.map +0 -1
- package/dist/simulation/types.d.ts +0 -39
- package/dist/simulation/types.d.ts.map +0 -1
- package/dist/simulation/types.js +0 -2
- package/dist/simulation/types.js.map +0 -1
- package/dist/stats.d.ts.map +0 -1
- package/dist/stats.js +0 -205
- package/dist/stats.js.map +0 -1
- package/dist/testing/Faults.d.ts +0 -4
- package/dist/testing/Faults.d.ts.map +0 -1
- package/dist/testing/Faults.js +0 -7
- package/dist/testing/Faults.js.map +0 -1
- package/dist/testing/Png.d.ts +0 -3
- package/dist/testing/Png.d.ts.map +0 -1
- package/dist/testing/Png.js.map +0 -1
- package/dist/testing/Wav.d.ts +0 -14
- package/dist/testing/Wav.d.ts.map +0 -1
- package/dist/testing/Wav.js +0 -37
- package/dist/testing/Wav.js.map +0 -1
- package/dist/testing/index.d.ts +0 -5
- package/dist/testing/index.d.ts.map +0 -1
- package/dist/testing/index.js +0 -4
- package/dist/testing/index.js.map +0 -1
- package/dist/wire.d.ts +0 -7
- package/dist/wire.d.ts.map +0 -1
- package/dist/wire.generated.d.ts +0 -305
- package/dist/wire.generated.d.ts.map +0 -1
- package/dist/wire.generated.js +0 -1257
- package/dist/wire.generated.js.map +0 -1
- package/dist/wire.js +0 -5
- package/dist/wire.js.map +0 -1
|
@@ -0,0 +1,559 @@
|
|
|
1
|
+
import type { Request } from "../../H3.js";
|
|
2
|
+
import type { CommandFailure } from "../../ReactorError.js";
|
|
3
|
+
import type { AsRunStatus, ClipTag, Event, FillContext, NotStarted, PlayingClip, Settled, SourceEvent, SourceState, State as PublicState, WithdrawOutcome } from "../../Playout.js";
|
|
4
|
+
import type { ItemKey } from "./errors.js";
|
|
5
|
+
export type Late = "nextBoundary" | "drop" | {
|
|
6
|
+
readonly skipAfterMs: number;
|
|
7
|
+
};
|
|
8
|
+
/** A submission as the runtime normalized it: durations in milliseconds, lanes as indexes. */
|
|
9
|
+
export interface Spec {
|
|
10
|
+
readonly key: ItemKey;
|
|
11
|
+
readonly lane: number;
|
|
12
|
+
readonly request: Request;
|
|
13
|
+
readonly seconds: number;
|
|
14
|
+
readonly fingerprint: string;
|
|
15
|
+
readonly cues: ReadonlyArray<{
|
|
16
|
+
readonly name: string;
|
|
17
|
+
readonly from: "start" | "end";
|
|
18
|
+
readonly offsetMs: number;
|
|
19
|
+
}>;
|
|
20
|
+
readonly continuity: boolean;
|
|
21
|
+
readonly window?: {
|
|
22
|
+
readonly notBeforeMs?: number;
|
|
23
|
+
readonly startByMs?: number;
|
|
24
|
+
readonly firm: boolean;
|
|
25
|
+
};
|
|
26
|
+
readonly start: {
|
|
27
|
+
readonly _tag: "Follow" | "Asap" | "Manual";
|
|
28
|
+
} | {
|
|
29
|
+
readonly _tag: "At";
|
|
30
|
+
readonly time: number;
|
|
31
|
+
readonly late: Late;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export type EditInput = {
|
|
35
|
+
readonly _tag: "Submit";
|
|
36
|
+
readonly spec: Spec;
|
|
37
|
+
} | {
|
|
38
|
+
readonly _tag: "SubmitGroup";
|
|
39
|
+
readonly key: ItemKey;
|
|
40
|
+
readonly lane: number;
|
|
41
|
+
readonly parts: ReadonlyArray<Spec>;
|
|
42
|
+
readonly fingerprint: string;
|
|
43
|
+
} | {
|
|
44
|
+
readonly _tag: "Insert";
|
|
45
|
+
readonly spec: Spec;
|
|
46
|
+
readonly anchor: ItemKey;
|
|
47
|
+
readonly side: "before" | "after";
|
|
48
|
+
} | {
|
|
49
|
+
readonly _tag: "Replace";
|
|
50
|
+
readonly key: ItemKey;
|
|
51
|
+
readonly spec: Spec;
|
|
52
|
+
} | {
|
|
53
|
+
readonly _tag: "Withdraw";
|
|
54
|
+
readonly key: ItemKey;
|
|
55
|
+
};
|
|
56
|
+
export type Command = {
|
|
57
|
+
readonly _tag: "Enqueue";
|
|
58
|
+
readonly request: Request;
|
|
59
|
+
readonly tag: ClipTag;
|
|
60
|
+
readonly continueFrom?: string | undefined;
|
|
61
|
+
} | {
|
|
62
|
+
readonly _tag: "Remove";
|
|
63
|
+
readonly clipId: string;
|
|
64
|
+
} | {
|
|
65
|
+
readonly _tag: "Move";
|
|
66
|
+
readonly clipId: string;
|
|
67
|
+
readonly position: number;
|
|
68
|
+
} | {
|
|
69
|
+
readonly _tag: "Autoplay";
|
|
70
|
+
readonly enabled: boolean;
|
|
71
|
+
}
|
|
72
|
+
/** Stop `clipId` if it still plays, once autoplay is off; done when its end is reported. */
|
|
73
|
+
| {
|
|
74
|
+
readonly _tag: "Stop";
|
|
75
|
+
readonly clipId: string;
|
|
76
|
+
} | {
|
|
77
|
+
readonly _tag: "Play";
|
|
78
|
+
readonly clipId: string;
|
|
79
|
+
};
|
|
80
|
+
/** A command's result: the clip an enqueue created, or how a failure left the provider. */
|
|
81
|
+
export type CommandResult = {
|
|
82
|
+
readonly _tag: "Done";
|
|
83
|
+
readonly clipId?: string | undefined;
|
|
84
|
+
}
|
|
85
|
+
/** Its outcome says whether the provider may have applied it, and whether a retry may mend it. */
|
|
86
|
+
| {
|
|
87
|
+
readonly _tag: "Failed";
|
|
88
|
+
readonly cause: CommandFailure;
|
|
89
|
+
}
|
|
90
|
+
/** It died or was interrupted, so whether the provider applied it cannot be told. */
|
|
91
|
+
| {
|
|
92
|
+
readonly _tag: "Died";
|
|
93
|
+
};
|
|
94
|
+
export type Input =
|
|
95
|
+
/** `batch`: the edits take effect together, make-before-break, as `Playout.edit` promises. */
|
|
96
|
+
{
|
|
97
|
+
readonly _tag: "Edit";
|
|
98
|
+
readonly id: number;
|
|
99
|
+
readonly edits: ReadonlyArray<EditInput>;
|
|
100
|
+
readonly batch: boolean;
|
|
101
|
+
} | {
|
|
102
|
+
readonly _tag: "Release";
|
|
103
|
+
readonly id: number;
|
|
104
|
+
readonly key: ItemKey;
|
|
105
|
+
} | {
|
|
106
|
+
readonly _tag: "Drain";
|
|
107
|
+
readonly id: number;
|
|
108
|
+
readonly finish: "playing" | "accepted";
|
|
109
|
+
} | {
|
|
110
|
+
readonly _tag: "Opened";
|
|
111
|
+
readonly sessionId: string;
|
|
112
|
+
readonly lifetimeMs: number;
|
|
113
|
+
} | {
|
|
114
|
+
readonly _tag: "OpenFailed";
|
|
115
|
+
readonly reason: string;
|
|
116
|
+
readonly fatal: boolean;
|
|
117
|
+
/** It allocated a session, or may have: all but a refusal known to have allocated nothing. */
|
|
118
|
+
readonly allocated: boolean;
|
|
119
|
+
/** How long the refusal asked to wait before asking again. */
|
|
120
|
+
readonly retryAfterMs?: number | undefined;
|
|
121
|
+
} | {
|
|
122
|
+
readonly _tag: "Source";
|
|
123
|
+
readonly sessionId: string;
|
|
124
|
+
readonly event: SourceEvent;
|
|
125
|
+
} | {
|
|
126
|
+
readonly _tag: "Lost";
|
|
127
|
+
readonly sessionId: string;
|
|
128
|
+
readonly reason: string;
|
|
129
|
+
} | {
|
|
130
|
+
readonly _tag: "Result";
|
|
131
|
+
readonly id: number;
|
|
132
|
+
readonly result: CommandResult;
|
|
133
|
+
} | {
|
|
134
|
+
readonly _tag: "Tick";
|
|
135
|
+
} | {
|
|
136
|
+
readonly _tag: "Close";
|
|
137
|
+
};
|
|
138
|
+
export type Refusal = {
|
|
139
|
+
readonly _tag: "KeyMismatch";
|
|
140
|
+
readonly key: ItemKey;
|
|
141
|
+
} | {
|
|
142
|
+
readonly _tag: "WouldMissDeadline";
|
|
143
|
+
readonly key: ItemKey;
|
|
144
|
+
} | {
|
|
145
|
+
readonly _tag: "LaneBusy";
|
|
146
|
+
readonly key: ItemKey;
|
|
147
|
+
readonly lane: number;
|
|
148
|
+
} | {
|
|
149
|
+
readonly _tag: "InvalidItem";
|
|
150
|
+
readonly key: string;
|
|
151
|
+
readonly message: string;
|
|
152
|
+
} | {
|
|
153
|
+
readonly _tag: "PlayoutClosed";
|
|
154
|
+
};
|
|
155
|
+
export type EditReply = {
|
|
156
|
+
readonly _tag: "Added";
|
|
157
|
+
readonly key: ItemKey;
|
|
158
|
+
} | {
|
|
159
|
+
readonly _tag: "AddedGroup";
|
|
160
|
+
readonly key: ItemKey;
|
|
161
|
+
readonly parts: ReadonlyArray<ItemKey>;
|
|
162
|
+
} | {
|
|
163
|
+
readonly _tag: "Withdrawal";
|
|
164
|
+
};
|
|
165
|
+
export type Action = {
|
|
166
|
+
readonly _tag: "Command";
|
|
167
|
+
readonly id: number;
|
|
168
|
+
readonly sessionId: string;
|
|
169
|
+
readonly command: Command;
|
|
170
|
+
} | {
|
|
171
|
+
readonly _tag: "Open";
|
|
172
|
+
} | {
|
|
173
|
+
readonly _tag: "Close";
|
|
174
|
+
readonly sessionId: string;
|
|
175
|
+
} | {
|
|
176
|
+
readonly _tag: "OnAir";
|
|
177
|
+
readonly sessionId: string;
|
|
178
|
+
} | {
|
|
179
|
+
readonly _tag: "Emit";
|
|
180
|
+
readonly event: Event;
|
|
181
|
+
} | {
|
|
182
|
+
readonly _tag: "Accepted";
|
|
183
|
+
readonly id: number;
|
|
184
|
+
readonly results: ReadonlyArray<EditReply>;
|
|
185
|
+
} | {
|
|
186
|
+
readonly _tag: "Refused";
|
|
187
|
+
readonly id: number;
|
|
188
|
+
readonly refusal: Refusal;
|
|
189
|
+
} | {
|
|
190
|
+
readonly _tag: "Committed";
|
|
191
|
+
readonly id: number;
|
|
192
|
+
} | {
|
|
193
|
+
readonly _tag: "Withdrawn";
|
|
194
|
+
readonly id: number;
|
|
195
|
+
readonly index: number;
|
|
196
|
+
readonly outcome: WithdrawOutcome;
|
|
197
|
+
} | {
|
|
198
|
+
readonly _tag: "Drained";
|
|
199
|
+
readonly id: number;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* The playout fails for good: `open` when sessions could not be opened, `lost`
|
|
203
|
+
* when they were lost before playing, `moderation` when content moderation
|
|
204
|
+
* ended too many.
|
|
205
|
+
*/
|
|
206
|
+
| {
|
|
207
|
+
readonly _tag: "Fail";
|
|
208
|
+
readonly reason: string;
|
|
209
|
+
readonly cause: "open" | "lost" | "moderation";
|
|
210
|
+
}
|
|
211
|
+
/** The filler clip at `index` asked for a request outside H3's limits, which would be refused again. */
|
|
212
|
+
| {
|
|
213
|
+
readonly _tag: "Fail";
|
|
214
|
+
readonly reason: string;
|
|
215
|
+
readonly cause: "filler";
|
|
216
|
+
readonly index: number;
|
|
217
|
+
}
|
|
218
|
+
/** Settled keys the history bound dropped: they may be submitted afresh. */
|
|
219
|
+
| {
|
|
220
|
+
readonly _tag: "Forget";
|
|
221
|
+
readonly keys: ReadonlyArray<ItemKey>;
|
|
222
|
+
};
|
|
223
|
+
export interface Config {
|
|
224
|
+
readonly lanes: ReadonlyArray<{
|
|
225
|
+
readonly name: string;
|
|
226
|
+
readonly conflict: "queue" | "replace" | "skip";
|
|
227
|
+
readonly cut: boolean;
|
|
228
|
+
}>;
|
|
229
|
+
readonly filler: {
|
|
230
|
+
readonly floor: number;
|
|
231
|
+
readonly target: number;
|
|
232
|
+
readonly clip: (context: FillContext) => Request;
|
|
233
|
+
readonly lengths: {
|
|
234
|
+
readonly min: number;
|
|
235
|
+
readonly max: number;
|
|
236
|
+
};
|
|
237
|
+
/** Where the filler clip at `index` asks for more than H3 takes, or undefined. */
|
|
238
|
+
readonly invalid: (request: Request, index: number) => string | undefined;
|
|
239
|
+
/**
|
|
240
|
+
* What goes first when an item's build would outlast the air secured: a
|
|
241
|
+
* filler clip covering it, or the item.
|
|
242
|
+
*/
|
|
243
|
+
readonly protect: "air" | "order";
|
|
244
|
+
} | undefined;
|
|
245
|
+
readonly maxBuildsInFlight: number;
|
|
246
|
+
readonly maxHistory: number;
|
|
247
|
+
readonly unknownTimeoutMs: number;
|
|
248
|
+
readonly leadMs: number;
|
|
249
|
+
readonly graceMs: number;
|
|
250
|
+
readonly maxSetupFailures: number;
|
|
251
|
+
readonly maxModerations: number;
|
|
252
|
+
}
|
|
253
|
+
export interface Now {
|
|
254
|
+
readonly mono: number;
|
|
255
|
+
readonly wall: number;
|
|
256
|
+
}
|
|
257
|
+
type Phase = "Accepted" | "Building" | "Ready" | "Started" | "Settled" | "Unknown";
|
|
258
|
+
type DropReason = "late" | "withdrawn" | "replaced";
|
|
259
|
+
interface Item {
|
|
260
|
+
readonly spec: Spec;
|
|
261
|
+
readonly order: number;
|
|
262
|
+
readonly generation: number;
|
|
263
|
+
readonly group?: {
|
|
264
|
+
readonly key: ItemKey;
|
|
265
|
+
readonly index: number;
|
|
266
|
+
} | undefined;
|
|
267
|
+
readonly inserted: boolean;
|
|
268
|
+
/** Where an insert was placed, which a resubmission under its key must repeat. */
|
|
269
|
+
readonly anchor?: {
|
|
270
|
+
readonly key: ItemKey;
|
|
271
|
+
readonly side: "before" | "after";
|
|
272
|
+
} | undefined;
|
|
273
|
+
readonly replaces?: ItemKey | undefined;
|
|
274
|
+
/** The pending batch that added it: it builds, but does not air until the batch commits. */
|
|
275
|
+
readonly batch?: number | undefined;
|
|
276
|
+
readonly mode: "follow" | "asap" | "held";
|
|
277
|
+
readonly phase: Phase;
|
|
278
|
+
readonly status?: AsRunStatus | undefined;
|
|
279
|
+
readonly clipId?: string | undefined;
|
|
280
|
+
readonly sessionId?: string | undefined;
|
|
281
|
+
readonly notBefore?: number | undefined;
|
|
282
|
+
readonly startBy?: number | undefined;
|
|
283
|
+
readonly dispatchedAt?: number | undefined;
|
|
284
|
+
/** Its build in flight continues from another clip, so its build time is measured apart. */
|
|
285
|
+
readonly continued?: boolean | undefined;
|
|
286
|
+
/**
|
|
287
|
+
* A filler clip went ahead of its build to cover it: it waits for no other,
|
|
288
|
+
* though its enqueue goes again. Carried to another session, or taken off to
|
|
289
|
+
* be built again later, it may be covered again.
|
|
290
|
+
*/
|
|
291
|
+
readonly covered?: boolean | undefined;
|
|
292
|
+
/**
|
|
293
|
+
* The Ready clip it continues from when that clip airs after its place: it
|
|
294
|
+
* was projected Ready only after the clip before its place ended. It waits
|
|
295
|
+
* behind that clip until the clip starts.
|
|
296
|
+
*/
|
|
297
|
+
readonly follows?: string | undefined;
|
|
298
|
+
readonly everUnknown: boolean;
|
|
299
|
+
/** Sessions in a row its clip was lost with before it was built. */
|
|
300
|
+
readonly unbuiltLosses: number;
|
|
301
|
+
readonly unknownSince?: number | undefined;
|
|
302
|
+
readonly retryAt?: number | undefined;
|
|
303
|
+
readonly startedAt?: number | undefined;
|
|
304
|
+
readonly fired: ReadonlyArray<number>;
|
|
305
|
+
/** A withdrawal the plan wants, and the batch withdrawals waiting on its outcome. */
|
|
306
|
+
readonly withdraw?: DropReason | undefined;
|
|
307
|
+
readonly waiting: ReadonlyArray<{
|
|
308
|
+
readonly id: number;
|
|
309
|
+
readonly index: number;
|
|
310
|
+
}>;
|
|
311
|
+
/** The source state a refused remove saw; it is retried once that changes. */
|
|
312
|
+
readonly blockedRemove?: string | undefined;
|
|
313
|
+
/**
|
|
314
|
+
* The session that last refused its enqueue unsent, not ready for it, and
|
|
315
|
+
* that session's availability changes then: it is sent there again only after
|
|
316
|
+
* another change.
|
|
317
|
+
*/
|
|
318
|
+
readonly unsent?: {
|
|
319
|
+
readonly sessionId: string;
|
|
320
|
+
readonly changes: number;
|
|
321
|
+
} | undefined;
|
|
322
|
+
/**
|
|
323
|
+
* A clip of its own taken off because it was Ready too early, and its
|
|
324
|
+
* session: never adopted again as queued, nor taken off again for that,
|
|
325
|
+
* though if it plays anyway, it aired.
|
|
326
|
+
*/
|
|
327
|
+
readonly discarded?: {
|
|
328
|
+
readonly sessionId: string;
|
|
329
|
+
readonly clipId: string;
|
|
330
|
+
} | undefined;
|
|
331
|
+
/** The provider's length for its clip, once it started. */
|
|
332
|
+
readonly airSeconds?: number | undefined;
|
|
333
|
+
}
|
|
334
|
+
interface Session {
|
|
335
|
+
readonly id: string;
|
|
336
|
+
readonly openedAt: number;
|
|
337
|
+
readonly lifetimeMs: number;
|
|
338
|
+
readonly source: SourceState | undefined;
|
|
339
|
+
/** How often its source's `available` has changed: a reconnect changes it twice. */
|
|
340
|
+
readonly changes: number;
|
|
341
|
+
readonly autoplay: boolean | undefined;
|
|
342
|
+
readonly wantAutoplay: boolean;
|
|
343
|
+
/**
|
|
344
|
+
* The last autoplay change that failed, refused or uncertain, and when it is
|
|
345
|
+
* asked again: a second later. Nothing but asking shows whether it applied,
|
|
346
|
+
* and a provider that refused autoplay on would air nothing. Only that value
|
|
347
|
+
* waits; a change the other way goes at once.
|
|
348
|
+
*/
|
|
349
|
+
readonly autoplayRetry: {
|
|
350
|
+
readonly enabled: boolean;
|
|
351
|
+
readonly at: number;
|
|
352
|
+
} | undefined;
|
|
353
|
+
readonly retiring: boolean;
|
|
354
|
+
readonly lastEndedAt: number | undefined;
|
|
355
|
+
readonly startedAny: boolean;
|
|
356
|
+
/** An enqueue here stayed unknown past the deadline: new work goes elsewhere, and a replacement takes over. */
|
|
357
|
+
readonly indeterminate: boolean;
|
|
358
|
+
/**
|
|
359
|
+
* Filler enqueues sent here whose outcome is unknown, until a queue read shows
|
|
360
|
+
* their clip or the session goes: each may be building here, and only here.
|
|
361
|
+
*/
|
|
362
|
+
readonly unknownFiller: ReadonlyArray<{
|
|
363
|
+
readonly index: number;
|
|
364
|
+
readonly since: number;
|
|
365
|
+
}>;
|
|
366
|
+
/**
|
|
367
|
+
* The clip the provider last reported playing, and when its start was
|
|
368
|
+
* observed: `at` on the monotonic clock, `wall` in epoch milliseconds.
|
|
369
|
+
*/
|
|
370
|
+
readonly playing: (PlayingClip & {
|
|
371
|
+
readonly at: number;
|
|
372
|
+
readonly wall: number;
|
|
373
|
+
}) | undefined;
|
|
374
|
+
/** What the latest enqueue sent here was for: a moderation verdict names no clip. */
|
|
375
|
+
readonly lastEnqueue: ClipTag | undefined;
|
|
376
|
+
/** Filler clips whose removal was refused, asked again only once its queues have changed. */
|
|
377
|
+
readonly refusedFiller: {
|
|
378
|
+
readonly signature: string;
|
|
379
|
+
readonly clipIds: ReadonlyArray<string>;
|
|
380
|
+
};
|
|
381
|
+
/** Its last refused move, by its queues then and the clip: sent again only once they change. */
|
|
382
|
+
readonly blockedMove: string | undefined;
|
|
383
|
+
/** No move goes out before it: one whose command died is asked again a second later. */
|
|
384
|
+
readonly moveRetryAt: number;
|
|
385
|
+
/** The command in flight on its lane, which carries its commands one at a time. */
|
|
386
|
+
readonly busy: {
|
|
387
|
+
readonly id: number;
|
|
388
|
+
readonly command: Command;
|
|
389
|
+
} | undefined;
|
|
390
|
+
/** When its latest filler enqueue went out and the seconds it asked for, unless refused. */
|
|
391
|
+
readonly fillerSent: {
|
|
392
|
+
readonly at: number;
|
|
393
|
+
readonly seconds: number;
|
|
394
|
+
} | undefined;
|
|
395
|
+
/** Its filler clips by id, with the index each was asked for. */
|
|
396
|
+
readonly fillers: ReadonlyMap<string, {
|
|
397
|
+
readonly index: number;
|
|
398
|
+
/** When its enqueue went out and the seconds it asked for, until its build is measured. */
|
|
399
|
+
readonly build?: {
|
|
400
|
+
readonly dispatchedAt: number;
|
|
401
|
+
readonly seconds: number;
|
|
402
|
+
} | undefined;
|
|
403
|
+
}>;
|
|
404
|
+
}
|
|
405
|
+
interface Batch {
|
|
406
|
+
readonly id: number;
|
|
407
|
+
readonly adds: ReadonlyArray<ItemKey>;
|
|
408
|
+
readonly targets: ReadonlyArray<{
|
|
409
|
+
readonly key: ItemKey;
|
|
410
|
+
readonly index: number;
|
|
411
|
+
readonly reason: DropReason;
|
|
412
|
+
}>;
|
|
413
|
+
}
|
|
414
|
+
export interface State {
|
|
415
|
+
readonly items: ReadonlyMap<ItemKey, Item>;
|
|
416
|
+
readonly groups: ReadonlyMap<ItemKey, {
|
|
417
|
+
readonly fingerprint: string;
|
|
418
|
+
readonly parts: ReadonlyArray<ItemKey>;
|
|
419
|
+
}>;
|
|
420
|
+
readonly settled: ReadonlyArray<ItemKey>;
|
|
421
|
+
readonly nextOrder: number;
|
|
422
|
+
readonly sessions: ReadonlyArray<Session>;
|
|
423
|
+
readonly air: string | undefined;
|
|
424
|
+
readonly opening: boolean;
|
|
425
|
+
/**
|
|
426
|
+
* No open goes out before it: after a failed setup, a second for each in a
|
|
427
|
+
* row up to `maxSetupFailures`, or a refusal's `Retry-After` if that is
|
|
428
|
+
* longer.
|
|
429
|
+
*/
|
|
430
|
+
readonly openRetryAt: number;
|
|
431
|
+
/**
|
|
432
|
+
* Failed setups ran out while a session held the air: nothing opens until
|
|
433
|
+
* none does, and then one more open is tried, at `openRetryAt` at the
|
|
434
|
+
* soonest.
|
|
435
|
+
*/
|
|
436
|
+
readonly openingPaused: boolean;
|
|
437
|
+
/** Failed setups in a row: each makes the next open wait a second longer, up to a limit. */
|
|
438
|
+
readonly setupFailures: number;
|
|
439
|
+
/**
|
|
440
|
+
* Of those, the ones `maxSetupFailures` counts: all but refusals that
|
|
441
|
+
* allocated nothing, and so billed nothing, refused while a session held the
|
|
442
|
+
* air.
|
|
443
|
+
*/
|
|
444
|
+
readonly countedFailures: number;
|
|
445
|
+
/** Sessions content moderation ended. */
|
|
446
|
+
readonly moderations: number;
|
|
447
|
+
readonly nextCommand: number;
|
|
448
|
+
readonly filler: {
|
|
449
|
+
/** The next filler clip's index: each clip takes its own as its enqueue goes out. */
|
|
450
|
+
readonly index: number;
|
|
451
|
+
/**
|
|
452
|
+
* Clips whose enqueue did not apply, or applied only on a session since lost: each is asked
|
|
453
|
+
* for again as it was, first in index order, on whichever lane is free.
|
|
454
|
+
*/
|
|
455
|
+
readonly retries: ReadonlyArray<{
|
|
456
|
+
readonly index: number;
|
|
457
|
+
readonly request: Request;
|
|
458
|
+
}>;
|
|
459
|
+
/** Clips moderation flagged: never asked for again. */
|
|
460
|
+
readonly flagged: ReadonlyArray<number>;
|
|
461
|
+
readonly retryAt: number;
|
|
462
|
+
readonly refilling: boolean;
|
|
463
|
+
};
|
|
464
|
+
readonly batches: ReadonlyArray<Batch>;
|
|
465
|
+
/**
|
|
466
|
+
* Withdrawals of a group key still waiting on some of its parts, by edit and
|
|
467
|
+
* position: the parts not answered yet, and whether any was withdrawn.
|
|
468
|
+
*/
|
|
469
|
+
readonly joins: ReadonlyMap<string, {
|
|
470
|
+
readonly left: number;
|
|
471
|
+
readonly outcomes: ReadonlyArray<WithdrawOutcome>;
|
|
472
|
+
}>;
|
|
473
|
+
readonly drains: ReadonlyArray<{
|
|
474
|
+
readonly id: number;
|
|
475
|
+
readonly finish: "playing" | "accepted";
|
|
476
|
+
}>;
|
|
477
|
+
readonly accepting: boolean;
|
|
478
|
+
readonly closed: boolean;
|
|
479
|
+
/**
|
|
480
|
+
* Recent builds, in build seconds per requested second, of independent
|
|
481
|
+
* clips and of clips continued from another; and actual over requested length.
|
|
482
|
+
*/
|
|
483
|
+
readonly samples: {
|
|
484
|
+
readonly build: ReadonlyArray<number>;
|
|
485
|
+
readonly continued: ReadonlyArray<number>;
|
|
486
|
+
readonly length: ReadonlyArray<number>;
|
|
487
|
+
};
|
|
488
|
+
/**
|
|
489
|
+
* The clip last cut, and its session. It is never cut again, whatever its
|
|
490
|
+
* cut's result: H3's stop names no clip, and a stopped clip goes on looking
|
|
491
|
+
* like it plays until its end is reported, so a second cut would stop the
|
|
492
|
+
* clip after it.
|
|
493
|
+
*/
|
|
494
|
+
readonly cut: {
|
|
495
|
+
readonly sessionId: string;
|
|
496
|
+
readonly clipId: string;
|
|
497
|
+
} | undefined;
|
|
498
|
+
/**
|
|
499
|
+
* The cut under way, one command at a time: autoplay off on its session, a
|
|
500
|
+
* stop of the clip it cuts, then a play of its cutter. Autoplay stays off
|
|
501
|
+
* until the cutter has left the Ready queue, played or withdrawn, or a step
|
|
502
|
+
* failed with the cutter still wanted, which then airs at the next boundary.
|
|
503
|
+
*/
|
|
504
|
+
readonly cutting: {
|
|
505
|
+
readonly sessionId: string;
|
|
506
|
+
readonly clipId: string;
|
|
507
|
+
readonly next: string;
|
|
508
|
+
readonly stage: "stopping" | "stopped" | "played" | "failed";
|
|
509
|
+
} | undefined;
|
|
510
|
+
readonly starving: boolean;
|
|
511
|
+
readonly starved: number;
|
|
512
|
+
}
|
|
513
|
+
export interface Step {
|
|
514
|
+
readonly state: State;
|
|
515
|
+
readonly actions: ReadonlyArray<Action>;
|
|
516
|
+
/**
|
|
517
|
+
* Monotonic milliseconds at which a `Tick` is due, if nothing comes sooner. Before it
|
|
518
|
+
* nothing falls due: a `Tick` then decides nothing and names the same wake.
|
|
519
|
+
*/
|
|
520
|
+
readonly wake: number | undefined;
|
|
521
|
+
}
|
|
522
|
+
export declare const initial: State;
|
|
523
|
+
/**
|
|
524
|
+
* Applies one input: a pure function of the state, the input, the configuration and the time.
|
|
525
|
+
* A decision can make another due at the same instant, as a build sent can leave a firm item
|
|
526
|
+
* projected late, or a session lost at its cap settle what a batch waits on: the plan looks
|
|
527
|
+
* again until nothing more is due, so none of it waits for a later input or wake.
|
|
528
|
+
*/
|
|
529
|
+
export declare const step: {
|
|
530
|
+
(previous: State, input: Input, now: Now): (config: Config) => Step;
|
|
531
|
+
(config: Config, previous: State, input: Input, now: Now): Step;
|
|
532
|
+
};
|
|
533
|
+
/**
|
|
534
|
+
* What a withdrawal of `key` finds once nothing can change: the recorded fate of
|
|
535
|
+
* the item, or of a group's parts, answered as a withdrawal waiting on them would be.
|
|
536
|
+
*/
|
|
537
|
+
export declare const fate: {
|
|
538
|
+
(key: ItemKey): (state: State) => WithdrawOutcome;
|
|
539
|
+
(state: State, key: ItemKey): WithdrawOutcome;
|
|
540
|
+
};
|
|
541
|
+
/** The public view of the plan. */
|
|
542
|
+
export declare const view: {
|
|
543
|
+
(state: State, now: Now): (config: Config) => PublicState;
|
|
544
|
+
(config: Config, state: State, now: Now): PublicState;
|
|
545
|
+
};
|
|
546
|
+
/** The status of an item nothing can settle any more. */
|
|
547
|
+
export declare const indeterminate: {
|
|
548
|
+
readonly _tag: "Unknown";
|
|
549
|
+
readonly terminal: true;
|
|
550
|
+
};
|
|
551
|
+
/** What an as-run status settles: the item's start, its outcome, or both. */
|
|
552
|
+
export declare const decides: (status: AsRunStatus) => {
|
|
553
|
+
readonly started?: Extract<AsRunStatus, {
|
|
554
|
+
readonly _tag: "Started";
|
|
555
|
+
}> | NotStarted | undefined;
|
|
556
|
+
readonly outcome?: Settled | undefined;
|
|
557
|
+
};
|
|
558
|
+
export {};
|
|
559
|
+
//# sourceMappingURL=policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../src/internal/playout/policy.ts"],"names":[],"mappings":"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"}
|