reactor-effect-client 0.7.0 → 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 -1088
- 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 -222
- package/dist/orchestration/scheduler-policy.d.ts.map +0 -1
- package/dist/orchestration/scheduler-policy.js +0 -582
- package/dist/orchestration/scheduler-policy.js.map +0 -1
- package/dist/orchestration/scheduler.d.ts +0 -383
- package/dist/orchestration/scheduler.d.ts.map +0 -1
- package/dist/orchestration/scheduler.js +0 -2597
- 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
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import * as Option from "effect/Option";
|
|
3
|
-
import { PolicyFailure } from "./request.js";
|
|
4
|
-
export const generation = (state) => {
|
|
5
|
-
const records = new Map(state.queued.map((clip) => [clip.clipId, clip]));
|
|
6
|
-
if (Option.isSome(state.building))
|
|
7
|
-
records.set(state.building.value.record.clipId, state.building.value.record);
|
|
8
|
-
return state.generationOrder.map((id) => {
|
|
9
|
-
const clip = records.get(id);
|
|
10
|
-
if (clip === undefined)
|
|
11
|
-
throw new Error("Source generation order refers to a missing clip");
|
|
12
|
-
return clip;
|
|
13
|
-
});
|
|
14
|
-
};
|
|
15
|
-
export const activeIds = (state) => [
|
|
16
|
-
...new Set([
|
|
17
|
-
...generation(state).map((clip) => clip.clipId),
|
|
18
|
-
...state.ready.map((clip) => clip.clipId),
|
|
19
|
-
...Option.match(state.playing, { onNone: () => [], onSome: (playing) => [playing.clipId] }),
|
|
20
|
-
]),
|
|
21
|
-
];
|
|
22
|
-
const owns = (candidate, id) => candidate.accepted.has(id) ||
|
|
23
|
-
candidate.state.continuable.includes(id) ||
|
|
24
|
-
activeIds(candidate.state).includes(id) ||
|
|
25
|
-
candidate.state.failed.includes(id);
|
|
26
|
-
/** Resolve every ownership constraint once, before committing any member. */
|
|
27
|
-
export const resolve = (request, candidates, defaultOwner, sequence) => Effect.try({
|
|
28
|
-
try: () => {
|
|
29
|
-
if (sequence !== undefined && (sequence.status !== "open" || sequence.sealRequested)) {
|
|
30
|
-
throw PolicyFailure.sequence(sequence.id, sequence.status === "open" ? "sealing" : sequence.status);
|
|
31
|
-
}
|
|
32
|
-
const constraints = sequence === undefined ? [] : [sequence.owner];
|
|
33
|
-
const ownerFor = (id, purpose) => {
|
|
34
|
-
const matches = candidates.filter((candidate) => owns(candidate, id));
|
|
35
|
-
if (matches.length === 0)
|
|
36
|
-
throw PolicyFailure.missing(purpose);
|
|
37
|
-
if (matches.length !== 1)
|
|
38
|
-
throw PolicyFailure.refuse("OwnerConflict", "A clip identity was observed in multiple sessions");
|
|
39
|
-
return matches[0];
|
|
40
|
-
};
|
|
41
|
-
const anchor = request.before === undefined ? undefined : ownerFor(request.before, "anchor");
|
|
42
|
-
const sessionAnchor = request.sameSessionAs === undefined
|
|
43
|
-
? undefined
|
|
44
|
-
: ownerFor(request.sameSessionAs, "session_anchor");
|
|
45
|
-
const continuation = request.continueFrom === undefined
|
|
46
|
-
? undefined
|
|
47
|
-
: ownerFor(request.continueFrom, "continuation");
|
|
48
|
-
if (anchor !== undefined)
|
|
49
|
-
constraints.push(anchor.owner);
|
|
50
|
-
if (sessionAnchor !== undefined)
|
|
51
|
-
constraints.push(sessionAnchor.owner);
|
|
52
|
-
if (continuation !== undefined)
|
|
53
|
-
constraints.push(continuation.owner);
|
|
54
|
-
const owner = constraints[0] ?? defaultOwner;
|
|
55
|
-
if (constraints.some((value) => value !== owner)) {
|
|
56
|
-
throw PolicyFailure.refuse("OwnerConflict", "Sequence, source affinity, insertion anchor and continuation require different sessions");
|
|
57
|
-
}
|
|
58
|
-
const candidate = candidates.find((value) => value.owner === owner);
|
|
59
|
-
if (candidate === undefined || candidate.closed)
|
|
60
|
-
throw PolicyFailure.refuse("SessionRetired", "The request's owning session has retired");
|
|
61
|
-
if (candidate.recovering || candidate.state.availability !== "Ready") {
|
|
62
|
-
throw PolicyFailure.refuse("SessionRecovering", "Waiting for a coherent provider snapshot");
|
|
63
|
-
}
|
|
64
|
-
const queue = generation(candidate.state);
|
|
65
|
-
if (queue.length >= candidate.state.capacities.generation)
|
|
66
|
-
throw PolicyFailure.refuse("QueueFull", "The generation queue is full");
|
|
67
|
-
if (request.continueFrom !== undefined &&
|
|
68
|
-
!candidate.state.continuable.includes(request.continueFrom)) {
|
|
69
|
-
throw PolicyFailure.refuse("ContinuationUnavailable", "Continuation ownership is known, but the retained provider view no longer offers that clip");
|
|
70
|
-
}
|
|
71
|
-
let position = request.position;
|
|
72
|
-
if (request.before !== undefined) {
|
|
73
|
-
const index = queue.findIndex((clip) => clip.clipId === request.before);
|
|
74
|
-
if (index < 0)
|
|
75
|
-
throw PolicyFailure.refuse("AnchorUnavailable", "Insertion anchor is no longer in the generation queue");
|
|
76
|
-
if (position !== undefined && position !== index) {
|
|
77
|
-
throw PolicyFailure.refuse("PositionConflict", "Explicit position and insertion anchor disagree");
|
|
78
|
-
}
|
|
79
|
-
position = index;
|
|
80
|
-
}
|
|
81
|
-
// An explicit index, including a past-end index, reaches the provider
|
|
82
|
-
// unchanged. With no index or anchor, omission retains provider append.
|
|
83
|
-
return Object.freeze({ owner, position });
|
|
84
|
-
},
|
|
85
|
-
// Only a refusal is a typed failure; any other throw, such as a generation
|
|
86
|
-
// order naming a missing clip, is a broken invariant and stays a defect.
|
|
87
|
-
catch: (cause) => {
|
|
88
|
-
if (PolicyFailure.is(cause))
|
|
89
|
-
return cause;
|
|
90
|
-
throw cause;
|
|
91
|
-
},
|
|
92
|
-
});
|
|
93
|
-
//# sourceMappingURL=routing.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"routing.js","sourceRoot":"","sources":["../../src/orchestration/routing.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import { ClipRequest, PolicyFailure } from "./request.js";
|
|
3
|
-
import type { ClipId } from "./request.js";
|
|
4
|
-
export declare const isReservedSchedulerKey: (key: string) => boolean;
|
|
5
|
-
export declare const fillerKey: (index: number) => string;
|
|
6
|
-
export declare const fillerIndexFromKey: (key: string | undefined) => number | undefined;
|
|
7
|
-
/** Give each scheduled item its own captured request, even when callers reuse one input. */
|
|
8
|
-
export declare const keyedRequest: (input: ClipRequest, key: string, continueFrom?: ClipId) => Effect.Effect<ClipRequest, PolicyFailure>;
|
|
9
|
-
export declare const schedulerKeyOf: (request: ClipRequest) => string | undefined;
|
|
10
|
-
/** The H3 adapter keeps its existing caller bytes for ordinary unscheduled clips. */
|
|
11
|
-
export declare const metadataForH3: (request: ClipRequest) => string;
|
|
12
|
-
/** Recognize only this library's nested scheduler envelope on a provider clip. */
|
|
13
|
-
export declare const keyFromProviderMetadata: (metadata: string) => string | undefined;
|
|
14
|
-
//# sourceMappingURL=scheduler-key.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler-key.d.ts","sourceRoot":"","sources":["../../src/orchestration/scheduler-key.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAkB,MAAM,cAAc,CAAC;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAgB3C,eAAO,MAAM,sBAAsB,QAAS,MAAM,KAAG,OAAuC,CAAC;AAC7F,eAAO,MAAM,SAAS,UAAW,MAAM,KAAG,MAAmC,CAAC;AAC9E,eAAO,MAAM,kBAAkB,QAAS,MAAM,GAAG,SAAS,KAAG,MAAM,GAAG,SAMrE,CAAC;AAEF,4FAA4F;AAC5F,eAAO,MAAM,YAAY,UAChB,WAAW,OACb,MAAM,iBACI,MAAM,KACpB,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,aAAa,CAUvC,CAAC;AAEL,eAAO,MAAM,cAAc,YAAa,WAAW,KAAG,MAAM,GAAG,SAA8B,CAAC;AAE9F,qFAAqF;AACrF,eAAO,MAAM,aAAa,YAAa,WAAW,KAAG,MAKpD,CAAC;AAEF,kFAAkF;AAClF,eAAO,MAAM,uBAAuB,aAAc,MAAM,KAAG,MAAM,GAAG,SAcnE,CAAC"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import * as Option from "effect/Option";
|
|
3
|
-
import * as Schema from "effect/Schema";
|
|
4
|
-
import { metadataMaxChars } from "../h3/profile.js";
|
|
5
|
-
import { ClipRequest, PolicyFailure, captureRequest } from "./request.js";
|
|
6
|
-
const keys = new WeakMap();
|
|
7
|
-
const ProviderEnvelope = Schema.Struct({
|
|
8
|
-
reactor_effect_h3: Schema.Literal(1),
|
|
9
|
-
namespace: Schema.NonEmptyString,
|
|
10
|
-
submission: Schema.NonEmptyString,
|
|
11
|
-
caller: Schema.String,
|
|
12
|
-
});
|
|
13
|
-
const SchedulerEnvelope = Schema.Struct({
|
|
14
|
-
reactor_effect_scheduler: Schema.Literal(1),
|
|
15
|
-
key: Schema.NonEmptyString,
|
|
16
|
-
application: Schema.JsonObject,
|
|
17
|
-
});
|
|
18
|
-
const fillerPrefix = "\u0000reactor-effect-client:filler:";
|
|
19
|
-
export const isReservedSchedulerKey = (key) => key.startsWith(fillerPrefix);
|
|
20
|
-
export const fillerKey = (index) => `${fillerPrefix}${index}`;
|
|
21
|
-
export const fillerIndexFromKey = (key) => {
|
|
22
|
-
if (key === undefined || !isReservedSchedulerKey(key))
|
|
23
|
-
return undefined;
|
|
24
|
-
const suffix = key.slice(fillerPrefix.length);
|
|
25
|
-
if (!/^(0|[1-9][0-9]*)$/.test(suffix))
|
|
26
|
-
return undefined;
|
|
27
|
-
const index = Number(suffix);
|
|
28
|
-
return Number.isSafeInteger(index) ? index : undefined;
|
|
29
|
-
};
|
|
30
|
-
/** Give each scheduled item its own captured request, even when callers reuse one input. */
|
|
31
|
-
export const keyedRequest = (input, key, continueFrom) => Effect.gen(function* () {
|
|
32
|
-
if (typeof key !== "string" || key.length === 0)
|
|
33
|
-
return yield* PolicyFailure.refuse("InvalidRequest", "Scheduler key must be nonempty");
|
|
34
|
-
const captured = yield* captureRequest(input);
|
|
35
|
-
const copy = yield* captureRequest(new ClipRequest({ ...captured, ...(continueFrom === undefined ? {} : { continueFrom }) }));
|
|
36
|
-
keys.set(copy, key);
|
|
37
|
-
return copy;
|
|
38
|
-
});
|
|
39
|
-
export const schedulerKeyOf = (request) => keys.get(request);
|
|
40
|
-
/** The H3 adapter keeps its existing caller bytes for ordinary unscheduled clips. */
|
|
41
|
-
export const metadataForH3 = (request) => {
|
|
42
|
-
const key = schedulerKeyOf(request);
|
|
43
|
-
return key === undefined
|
|
44
|
-
? JSON.stringify(request.metadata)
|
|
45
|
-
: JSON.stringify({ reactor_effect_scheduler: 1, key, application: request.metadata });
|
|
46
|
-
};
|
|
47
|
-
/** Recognize only this library's nested scheduler envelope on a provider clip. */
|
|
48
|
-
export const keyFromProviderMetadata = (metadata) => {
|
|
49
|
-
if (Array.from(metadata).length > metadataMaxChars)
|
|
50
|
-
return undefined;
|
|
51
|
-
try {
|
|
52
|
-
const h3 = Schema.decodeUnknownOption(ProviderEnvelope, { onExcessProperty: "error" })(JSON.parse(metadata));
|
|
53
|
-
if (Option.isNone(h3))
|
|
54
|
-
return undefined;
|
|
55
|
-
const caller = Schema.decodeUnknownOption(SchedulerEnvelope, { onExcessProperty: "error" })(JSON.parse(h3.value.caller));
|
|
56
|
-
return Option.isSome(caller) ? caller.value.key : undefined;
|
|
57
|
-
}
|
|
58
|
-
catch {
|
|
59
|
-
return undefined;
|
|
60
|
-
}
|
|
61
|
-
};
|
|
62
|
-
//# sourceMappingURL=scheduler-key.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler-key.js","sourceRoot":"","sources":["../../src/orchestration/scheduler-key.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,222 +0,0 @@
|
|
|
1
|
-
import type { ClipId } from "./request.js";
|
|
2
|
-
import type { EngineState } from "./types.js";
|
|
3
|
-
import type { AsRunStatus, ItemKey } from "./scheduler.js";
|
|
4
|
-
export type DropReason = Extract<AsRunStatus, {
|
|
5
|
-
readonly _tag: "Dropped";
|
|
6
|
-
}>["reason"];
|
|
7
|
-
/** The actor's immutable projection of one caller item. */
|
|
8
|
-
export interface PlannedItem {
|
|
9
|
-
readonly key: ItemKey;
|
|
10
|
-
readonly lane: string;
|
|
11
|
-
readonly admission: number;
|
|
12
|
-
readonly phase: "Accepted" | "Building" | "Ready" | "Started" | "Terminal" | "Unknown";
|
|
13
|
-
readonly clipId?: ClipId;
|
|
14
|
-
readonly sessionId: string | undefined;
|
|
15
|
-
readonly unknownSessionId: string | undefined;
|
|
16
|
-
readonly notBeforeMs?: number;
|
|
17
|
-
readonly startByMs?: number;
|
|
18
|
-
/** A retryable admission refusal is not replayed in the same scheduler turn. */
|
|
19
|
-
readonly retryAtMs?: number;
|
|
20
|
-
readonly firm: boolean;
|
|
21
|
-
readonly atMs?: number;
|
|
22
|
-
readonly late: "nextBoundary" | "drop" | {
|
|
23
|
-
readonly skipIfLaterThanMs: number;
|
|
24
|
-
};
|
|
25
|
-
/** The group this item is a part of, and its place in that group. */
|
|
26
|
-
readonly group?: {
|
|
27
|
-
readonly key: ItemKey;
|
|
28
|
-
readonly index: number;
|
|
29
|
-
};
|
|
30
|
-
/** Set once the item's start was observed. */
|
|
31
|
-
readonly startedAtMonoMs?: number;
|
|
32
|
-
/** The item this one replaces; it keeps that item's place and builds first in its lane. */
|
|
33
|
-
readonly replaces?: ItemKey;
|
|
34
|
-
/** How many replacements this item is in its place: the tiebreak behind the one it replaces. */
|
|
35
|
-
readonly generation?: number;
|
|
36
|
-
/** Inserted beside an anchor: it keeps its place in a group, but its fate never breaks one. */
|
|
37
|
-
readonly inserted?: boolean;
|
|
38
|
-
/** The requested length, in seconds; the provider's actual length follows once built. */
|
|
39
|
-
readonly seconds?: number;
|
|
40
|
-
/** When its build command was sent, until the clip is Ready. */
|
|
41
|
-
readonly dispatchedAtMs?: number;
|
|
42
|
-
/** A `Manual` item not yet released: it waits behind everything and is not runway. */
|
|
43
|
-
readonly held?: boolean;
|
|
44
|
-
/** An `Asap` or released item: it airs ahead of everything waiting in every lane. */
|
|
45
|
-
readonly asap?: boolean;
|
|
46
|
-
/** Built continuing from the clip that airs just before it. */
|
|
47
|
-
readonly continuity?: "previous";
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* The indexes of a playing clip's cues that fall due by `untilMs` and have not fired, in
|
|
51
|
-
* the order they fall: an offset from its start, or back from the end of its length.
|
|
52
|
-
*/
|
|
53
|
-
export declare const dueCues: (cues: ReadonlyArray<{
|
|
54
|
-
readonly from: "start" | "end";
|
|
55
|
-
readonly offsetMs: number;
|
|
56
|
-
}>, fired: ReadonlySet<number>, startedAtMs: number, durationSeconds: number, untilMs: number) => ReadonlyArray<number>;
|
|
57
|
-
/**
|
|
58
|
-
* The requested length for the next filler clip. Before an anchor, equal clips that tile the
|
|
59
|
-
* uncovered gap within the provider's lengths, so filler ends on the anchor; otherwise the
|
|
60
|
-
* shortest clip, which keeps boundaries, and so reactions, frequent. `ratio` is a built
|
|
61
|
-
* clip's actual over requested length.
|
|
62
|
-
*/
|
|
63
|
-
export declare const fillLength: (uncoveredSeconds: number, lengths: {
|
|
64
|
-
readonly min: number;
|
|
65
|
-
readonly max: number;
|
|
66
|
-
}, ratio: number) => number;
|
|
67
|
-
/** What the scheduler has measured of its provider, from its own builds. */
|
|
68
|
-
export interface Estimates {
|
|
69
|
-
/** Seconds of build per requested second of clip, once a few builds were measured. */
|
|
70
|
-
readonly build: {
|
|
71
|
-
readonly median: number;
|
|
72
|
-
readonly p95: number;
|
|
73
|
-
} | undefined;
|
|
74
|
-
/** A built clip's actual length over its requested length. */
|
|
75
|
-
readonly length: number;
|
|
76
|
-
}
|
|
77
|
-
/** Enough measured builds to act on. */
|
|
78
|
-
export declare const minimumSamples = 3;
|
|
79
|
-
/** Estimates from recent samples: build seconds per requested second, and actual over requested length. */
|
|
80
|
-
export declare const estimatesFrom: (build: ReadonlyArray<number>, length: ReadonlyArray<number>) => Estimates;
|
|
81
|
-
/**
|
|
82
|
-
* An edit batch that has not taken effect yet. Until it does, what it withdraws is only
|
|
83
|
-
* cover: it airs after everything else in its lane, so any clip the batch adds goes first.
|
|
84
|
-
*/
|
|
85
|
-
export interface PendingBatch {
|
|
86
|
-
readonly id: number;
|
|
87
|
-
/** The batch takes effect once each of these is Ready, started or settled. */
|
|
88
|
-
readonly waitFor: ReadonlyArray<ItemKey>;
|
|
89
|
-
/** The items it withdraws once it takes effect, and why. */
|
|
90
|
-
readonly targets: ReadonlyArray<PolicyWithdrawal>;
|
|
91
|
-
}
|
|
92
|
-
/** Items that pending batches withdraw. */
|
|
93
|
-
export declare const supersededBy: (batches: ReadonlyArray<PendingBatch>) => ReadonlySet<ItemKey>;
|
|
94
|
-
export type OwnedClip = {
|
|
95
|
-
readonly _tag: "Item";
|
|
96
|
-
readonly key: ItemKey;
|
|
97
|
-
} | {
|
|
98
|
-
readonly _tag: "Filler";
|
|
99
|
-
readonly index: number;
|
|
100
|
-
readonly sessionId: string | undefined;
|
|
101
|
-
};
|
|
102
|
-
export interface PolicySnapshot {
|
|
103
|
-
readonly engine: EngineState;
|
|
104
|
-
readonly items: ReadonlyArray<PlannedItem>;
|
|
105
|
-
readonly owned: ReadonlyMap<ClipId, OwnedClip>;
|
|
106
|
-
readonly lanes: ReadonlyArray<string>;
|
|
107
|
-
readonly nowMs: number;
|
|
108
|
-
readonly playingStartedMs: ReadonlyMap<ClipId, number>;
|
|
109
|
-
readonly floorSeconds: number;
|
|
110
|
-
readonly targetSeconds: number;
|
|
111
|
-
readonly refillActive: boolean;
|
|
112
|
-
readonly maxBuildsInFlight: number;
|
|
113
|
-
/** New admissions are open: the scheduler is neither draining nor closed. */
|
|
114
|
-
readonly accepting: boolean;
|
|
115
|
-
/** How a requested drain finishes, once one is requested. */
|
|
116
|
-
readonly drain: "playing" | "accepted" | undefined;
|
|
117
|
-
readonly fillerRetryAtMs: number;
|
|
118
|
-
/** Uncertain filler reservations on the preferred source, including unfenced sends. */
|
|
119
|
-
readonly unknownFillerCount: number;
|
|
120
|
-
/** A refused move is retried only after the Ready snapshot changes. */
|
|
121
|
-
readonly blockedMove: string | undefined;
|
|
122
|
-
/** Items with a withdrawal already requested. */
|
|
123
|
-
readonly withdrawing: ReadonlySet<ItemKey>;
|
|
124
|
-
/** Items whose build command has been sent and has not returned. */
|
|
125
|
-
readonly dispatched: ReadonlySet<ItemKey>;
|
|
126
|
-
/** The first failed or dropped part of each broken group. */
|
|
127
|
-
readonly brokenGroups: ReadonlyMap<ItemKey, number>;
|
|
128
|
-
readonly batches: ReadonlyArray<PendingBatch>;
|
|
129
|
-
readonly estimates: Estimates;
|
|
130
|
-
/** When the filler build in flight on the preferred source was sent, if one is. */
|
|
131
|
-
readonly fillerDispatchedAtMs: number | undefined;
|
|
132
|
-
/** The requested length of the next filler clip, if known. */
|
|
133
|
-
readonly fillerSeconds: number | undefined;
|
|
134
|
-
/** Lanes whose Ready items cut a playing clip that ranks below them. */
|
|
135
|
-
readonly cutLanes: ReadonlySet<string>;
|
|
136
|
-
/** The requested clip lengths filler may take, in seconds. */
|
|
137
|
-
readonly fillLengths: {
|
|
138
|
-
readonly min: number;
|
|
139
|
-
readonly max: number;
|
|
140
|
-
};
|
|
141
|
-
/** A playing clip whose cut was refused is not cut again. */
|
|
142
|
-
readonly blockedCut: ClipId | undefined;
|
|
143
|
-
}
|
|
144
|
-
export type PolicyAction = {
|
|
145
|
-
readonly _tag: "DeferAt";
|
|
146
|
-
readonly key: ItemKey;
|
|
147
|
-
readonly clipId: ClipId;
|
|
148
|
-
} | {
|
|
149
|
-
readonly _tag: "Build";
|
|
150
|
-
readonly key: ItemKey;
|
|
151
|
-
/** The generated clip it continues from, for an item that asks for continuity. */
|
|
152
|
-
readonly continueFrom?: ClipId;
|
|
153
|
-
} | {
|
|
154
|
-
readonly _tag: "Cut";
|
|
155
|
-
readonly clipId: ClipId;
|
|
156
|
-
} | {
|
|
157
|
-
readonly _tag: "BuildFiller";
|
|
158
|
-
readonly targetSeconds: number;
|
|
159
|
-
/** The requested length suggested for this filler clip. */
|
|
160
|
-
readonly durationSeconds: number;
|
|
161
|
-
} | {
|
|
162
|
-
readonly _tag: "Order";
|
|
163
|
-
readonly clipId: ClipId;
|
|
164
|
-
readonly position: number;
|
|
165
|
-
};
|
|
166
|
-
export interface PolicyWithdrawal {
|
|
167
|
-
readonly key: ItemKey;
|
|
168
|
-
readonly reason: DropReason;
|
|
169
|
-
}
|
|
170
|
-
export interface PolicyDecision {
|
|
171
|
-
readonly runwaySeconds: number;
|
|
172
|
-
readonly refillActive: boolean;
|
|
173
|
-
/** Every item the plan no longer wants, with the reason as-run records; the first reason wins. */
|
|
174
|
-
readonly withdraw: ReadonlyArray<PolicyWithdrawal>;
|
|
175
|
-
/** Filler clips the plan no longer wants. */
|
|
176
|
-
readonly withdrawFiller: ReadonlyArray<ClipId>;
|
|
177
|
-
/** Edit batches to take effect now; the plan is read again once they have. */
|
|
178
|
-
readonly commit: ReadonlyArray<number>;
|
|
179
|
-
/** The one provider command to send when none is in flight. */
|
|
180
|
-
readonly action?: PolicyAction;
|
|
181
|
-
}
|
|
182
|
-
/** Ready material on a retiring source is not runway for the replacement. */
|
|
183
|
-
export declare const runwaySeconds: (state: EngineState, nowMs: number, playingStartedMs: ReadonlyMap<ClipId, number>, owned: ReadonlyMap<ClipId, OwnedClip>, items: ReadonlyArray<PlannedItem>) => number;
|
|
184
|
-
/** Lexicographic place in a session's Ready order; lower airs first. */
|
|
185
|
-
export type Rank = readonly [number, number, number, number];
|
|
186
|
-
export interface ProjectionView {
|
|
187
|
-
readonly engine: EngineState;
|
|
188
|
-
readonly items: ReadonlyArray<PlannedItem>;
|
|
189
|
-
readonly owned: ReadonlyMap<ClipId, OwnedClip>;
|
|
190
|
-
readonly lanes: ReadonlyArray<string>;
|
|
191
|
-
readonly playingStartedMs: ReadonlyMap<ClipId, number>;
|
|
192
|
-
readonly nowMs: number;
|
|
193
|
-
readonly batches: ReadonlyArray<PendingBatch>;
|
|
194
|
-
readonly estimates: Estimates;
|
|
195
|
-
readonly fillerDispatchedAtMs: number | undefined;
|
|
196
|
-
readonly fillerSeconds: number | undefined;
|
|
197
|
-
/** Items being withdrawn, which count for nothing ahead. */
|
|
198
|
-
readonly withdrawing?: ReadonlySet<ItemKey>;
|
|
199
|
-
}
|
|
200
|
-
/** The place a projection is for: a new submission's is the end of its lane. */
|
|
201
|
-
export type ProjectedPlace = Pick<PlannedItem, "lane" | "admission" | "group"> & {
|
|
202
|
-
readonly key?: ItemKey;
|
|
203
|
-
readonly seconds?: number;
|
|
204
|
-
readonly startByMs?: number;
|
|
205
|
-
readonly asap?: boolean;
|
|
206
|
-
readonly held?: boolean;
|
|
207
|
-
readonly replaces?: ItemKey;
|
|
208
|
-
};
|
|
209
|
-
/**
|
|
210
|
-
* When a clip could start at the earliest if it took `place`, optimistically, so a refusal
|
|
211
|
-
* means it cannot make it: after the rest of the playing clip and every Ready clip on the
|
|
212
|
-
* preferred source ranked ahead, and after its own build, once builds have been measured.
|
|
213
|
-
* The build waits for the one in flight and for every build that must go first: higher
|
|
214
|
-
* lanes, a replacement or a group already under way in its lane, and earlier deadlines.
|
|
215
|
-
*/
|
|
216
|
-
export declare const projectedStartMs: (view: ProjectionView, place: ProjectedPlace) => number;
|
|
217
|
-
/**
|
|
218
|
-
* The pure policy: every withdrawal the plan wants now, and at most one serialized provider
|
|
219
|
-
* command. The actor re-reads Engine after each applied command.
|
|
220
|
-
*/
|
|
221
|
-
export declare const plan: (snapshot: PolicySnapshot) => PolicyDecision;
|
|
222
|
-
//# sourceMappingURL=scheduler-policy.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler-policy.d.ts","sourceRoot":"","sources":["../../src/orchestration/scheduler-policy.ts"],"names":[],"mappings":"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"}
|