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
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import * as Effect from "effect/Effect";
|
|
2
|
-
import * as FileSystem from "effect/FileSystem";
|
|
3
|
-
import * as Path from "effect/Path";
|
|
4
|
-
import * as Schema from "effect/Schema";
|
|
5
|
-
import * as Http from "effect/unstable/http/HttpClient";
|
|
6
|
-
import * as Result from "effect/Result";
|
|
7
|
-
import { duration } from "../duration.js";
|
|
8
|
-
import { parse, ReactorError } from "../errors.js";
|
|
9
|
-
import { collectBytes } from "../bytes.js";
|
|
10
|
-
import { readFileBytes } from "../session/files.js";
|
|
11
|
-
const failure = (message, detail) => ReactorError.fromCode("Upload", message, {
|
|
12
|
-
operation: "load reference",
|
|
13
|
-
outcome: "not-submitted",
|
|
14
|
-
...(detail === undefined ? {} : { detail }),
|
|
15
|
-
});
|
|
16
|
-
const load = (uri, maxBytes) => Effect.gen(function* () {
|
|
17
|
-
if (uri.startsWith("data:")) {
|
|
18
|
-
const comma = uri.indexOf(",");
|
|
19
|
-
if (comma < 0 || !uri.slice(0, comma).endsWith(";base64"))
|
|
20
|
-
return yield* failure("Only base64 data URIs are supported");
|
|
21
|
-
const encoded = uri.slice(comma + 1);
|
|
22
|
-
if (encoded.length > 4 * Math.ceil(maxBytes / 3))
|
|
23
|
-
return yield* failure("Reference exceeds the byte bound");
|
|
24
|
-
const result = Schema.decodeResult(Schema.Uint8ArrayFromBase64)(encoded);
|
|
25
|
-
if (result._tag === "Failure")
|
|
26
|
-
return yield* failure("Invalid base64 reference", result.failure);
|
|
27
|
-
if (result.success.byteLength > maxBytes)
|
|
28
|
-
return yield* failure("Reference exceeds the byte bound");
|
|
29
|
-
return result.success;
|
|
30
|
-
}
|
|
31
|
-
if (uri.startsWith("/") || uri.startsWith("file://")) {
|
|
32
|
-
const path = uri.startsWith("/")
|
|
33
|
-
? uri
|
|
34
|
-
: yield* Effect.gen(function* () {
|
|
35
|
-
const url = yield* Effect.try({
|
|
36
|
-
try: () => new URL(uri),
|
|
37
|
-
catch: (cause) => failure("Invalid file URI", cause),
|
|
38
|
-
});
|
|
39
|
-
return yield* (yield* Path.Path)
|
|
40
|
-
.fromFileUrl(url)
|
|
41
|
-
.pipe(Effect.mapError((cause) => failure("Invalid file URI", cause)));
|
|
42
|
-
});
|
|
43
|
-
return yield* readFileBytes(path, maxBytes).pipe(Effect.mapError((cause) => ReactorError.is(cause) ? cause : failure("Reference file could not be read", cause)));
|
|
44
|
-
}
|
|
45
|
-
if (uri.startsWith("http://") || uri.startsWith("https://")) {
|
|
46
|
-
const http = Http.withScope(yield* Http.HttpClient);
|
|
47
|
-
return yield* Effect.scoped(Effect.gen(function* () {
|
|
48
|
-
const response = yield* http
|
|
49
|
-
.get(uri)
|
|
50
|
-
.pipe(Effect.mapError((cause) => failure("Reference download failed", cause)));
|
|
51
|
-
if (response.status < 200 || response.status >= 300)
|
|
52
|
-
return yield* failure(`Reference download returned HTTP ${response.status}`);
|
|
53
|
-
const declared = Number(response.headers["content-length"] ?? "0");
|
|
54
|
-
if (Number.isFinite(declared) && declared > maxBytes)
|
|
55
|
-
return yield* failure("Reference exceeds the byte bound");
|
|
56
|
-
return yield* collectBytes(response.stream, maxBytes).pipe(Effect.mapError((cause) => ReactorError.is(cause) ? cause : failure("Reference download failed", cause)));
|
|
57
|
-
}));
|
|
58
|
-
}
|
|
59
|
-
return yield* failure("Unsupported reference URI scheme");
|
|
60
|
-
});
|
|
61
|
-
/**
|
|
62
|
-
* Every call rereads the URI. The H3 provider deduplicates subsequent uploads by
|
|
63
|
-
* the bytes' hash; a URI cache cannot establish that mutable content is unchanged.
|
|
64
|
-
* This loader works independently of any live provider session.
|
|
65
|
-
*/
|
|
66
|
-
export const loadReferenceBytes = (uri, limits) => Effect.gen(function* () {
|
|
67
|
-
const timeout = parse(() => duration(limits.loadTimeout, "reference load timeout"));
|
|
68
|
-
if (typeof uri !== "string" ||
|
|
69
|
-
!Number.isSafeInteger(limits.maxBytes) ||
|
|
70
|
-
limits.maxBytes <= 0 ||
|
|
71
|
-
Result.isFailure(timeout)) {
|
|
72
|
-
return yield* failure("Reference URI and positive finite loading bounds are required");
|
|
73
|
-
}
|
|
74
|
-
return yield* load(uri, limits.maxBytes).pipe(Effect.timeoutOrElse({
|
|
75
|
-
duration: timeout.success,
|
|
76
|
-
orElse: () => Effect.fail(failure("Reference loading timed out")),
|
|
77
|
-
}));
|
|
78
|
-
});
|
|
79
|
-
//# sourceMappingURL=references.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"references.js","sourceRoot":"","sources":["../../src/orchestration/references.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import type { ClipId } from "./request.js";
|
|
2
|
-
import type { Renewal } from "./types.js";
|
|
3
|
-
/** Pure renewal policy. Inputs are observations, never resource handles or effects. */
|
|
4
|
-
export type RecoveryMode = "reconnect" | "replace";
|
|
5
|
-
export type SourcePhase = {
|
|
6
|
-
readonly _tag: "Active";
|
|
7
|
-
} | {
|
|
8
|
-
readonly _tag: "Recovering";
|
|
9
|
-
readonly mode: RecoveryMode;
|
|
10
|
-
} | {
|
|
11
|
-
readonly _tag: "Closing";
|
|
12
|
-
} | {
|
|
13
|
-
readonly _tag: "Closed";
|
|
14
|
-
};
|
|
15
|
-
export type SourceTransition = {
|
|
16
|
-
readonly _tag: "Recover";
|
|
17
|
-
readonly mode: RecoveryMode;
|
|
18
|
-
} | {
|
|
19
|
-
readonly _tag: "Recovered";
|
|
20
|
-
} | {
|
|
21
|
-
readonly _tag: "Close";
|
|
22
|
-
} | {
|
|
23
|
-
readonly _tag: "Closed";
|
|
24
|
-
};
|
|
25
|
-
/** Recovery can escalate, but neither a late completion nor another error can reopen a source. */
|
|
26
|
-
export declare const transitionSource: (phase: SourcePhase, event: SourceTransition) => SourcePhase;
|
|
27
|
-
export declare const isClosed: (phase: SourcePhase) => boolean;
|
|
28
|
-
export interface Lifetime {
|
|
29
|
-
/** When the source opened, in monotonic milliseconds, so wall-clock corrections cannot age it. */
|
|
30
|
-
readonly openedAt: number;
|
|
31
|
-
readonly maxSeconds: number;
|
|
32
|
-
}
|
|
33
|
-
export declare const ageMillis: (source: Lifetime, now: number) => number;
|
|
34
|
-
export declare const expired: (source: Lifetime, now: number) => boolean;
|
|
35
|
-
/** Recovery shares the remote lifetime; post-lease accounting has a separate cleanup budget. */
|
|
36
|
-
export declare const recoveryBudget: (source: Lifetime, now: number, timeoutMs: number) => number;
|
|
37
|
-
export interface RenewalFacts {
|
|
38
|
-
readonly running: boolean;
|
|
39
|
-
/** Monotonic milliseconds, as `Lifetime.openedAt` and `retryAt` are. */
|
|
40
|
-
readonly now: number;
|
|
41
|
-
readonly current: (Lifetime & {
|
|
42
|
-
readonly phase: SourcePhase;
|
|
43
|
-
}) | undefined;
|
|
44
|
-
readonly replacement: "Absent" | "Opening" | SourcePhase;
|
|
45
|
-
readonly leadSeconds: number;
|
|
46
|
-
readonly retryAt: number;
|
|
47
|
-
}
|
|
48
|
-
export type RenewalDecision = "Retain" | "Prepare" | "InspectHandoff" | "Expire";
|
|
49
|
-
/** Expiry is checked before sequence, queue, or media readiness can delay retirement. */
|
|
50
|
-
export declare const decideRenewal: (facts: RenewalFacts) => RenewalDecision;
|
|
51
|
-
/** The retiring source's last started clip, as its owner has observed it. */
|
|
52
|
-
export interface FinalClip {
|
|
53
|
-
readonly video: "not-started" | "count-complete" | "incomplete";
|
|
54
|
-
readonly clipId: ClipId | undefined;
|
|
55
|
-
readonly expectedVideoFrames: number;
|
|
56
|
-
readonly receivedVideoFrames: number;
|
|
57
|
-
/** Monotonic milliseconds since Ended or the idle fallback; undefined while it plays. */
|
|
58
|
-
readonly endedAgoMs: number | undefined;
|
|
59
|
-
readonly graceOrigin: "Ended" | "Idle" | undefined;
|
|
60
|
-
}
|
|
61
|
-
export interface HandoffFacts {
|
|
62
|
-
readonly sequenceOpen: boolean;
|
|
63
|
-
readonly currentIdle: boolean;
|
|
64
|
-
readonly replacementReady: boolean;
|
|
65
|
-
readonly finalClip: FinalClip;
|
|
66
|
-
readonly graceMs: number;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Media and provider events arrive on separate readers, so a clip's last frames
|
|
70
|
-
* can land after its Ended. A frame the provider never sent never lands, so a
|
|
71
|
-
* short clip is waited on only for the grace past Ended; waiting for the count
|
|
72
|
-
* instead left the retiring source idle until expiry. The shortfall is still
|
|
73
|
-
* reported, with any earlier loss, on the retirement's tail.
|
|
74
|
-
*/
|
|
75
|
-
export declare const finalClipSettled: (clip: Pick<FinalClip, "video" | "endedAgoMs">, graceMs: number) => boolean;
|
|
76
|
-
type Handoff = NonNullable<Extract<Renewal, {
|
|
77
|
-
readonly _tag: "Switched";
|
|
78
|
-
}>["handoff"]>;
|
|
79
|
-
/** One decision owns both admission and evidence, so the two cannot disagree at a grace boundary. */
|
|
80
|
-
export declare const handoffEvidence: (facts: HandoffFacts) => Omit<Handoff, "replacementSessionId"> | undefined;
|
|
81
|
-
export declare const canHandoff: (facts: HandoffFacts) => boolean;
|
|
82
|
-
export declare const needsReplacement: (phase: SourcePhase, indeterminate: boolean, isExpired: boolean) => boolean;
|
|
83
|
-
export {};
|
|
84
|
-
//# sourceMappingURL=renewal-state.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"renewal-state.d.ts","sourceRoot":"","sources":["../../src/orchestration/renewal-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
/** Recovery can escalate, but neither a late completion nor another error can reopen a source. */
|
|
2
|
-
export const transitionSource = (phase, event) => {
|
|
3
|
-
switch (phase._tag) {
|
|
4
|
-
case "Closed":
|
|
5
|
-
return phase;
|
|
6
|
-
case "Closing":
|
|
7
|
-
return event._tag === "Closed" ? { _tag: "Closed" } : phase;
|
|
8
|
-
case "Active":
|
|
9
|
-
switch (event._tag) {
|
|
10
|
-
case "Recover":
|
|
11
|
-
return { _tag: "Recovering", mode: event.mode };
|
|
12
|
-
case "Close":
|
|
13
|
-
return { _tag: "Closing" };
|
|
14
|
-
default:
|
|
15
|
-
return phase;
|
|
16
|
-
}
|
|
17
|
-
case "Recovering":
|
|
18
|
-
switch (event._tag) {
|
|
19
|
-
case "Recover":
|
|
20
|
-
return event.mode === "replace" ? { _tag: "Recovering", mode: "replace" } : phase;
|
|
21
|
-
case "Recovered":
|
|
22
|
-
return phase.mode === "reconnect" ? { _tag: "Active" } : phase;
|
|
23
|
-
case "Close":
|
|
24
|
-
return { _tag: "Closing" };
|
|
25
|
-
default:
|
|
26
|
-
return phase;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
export const isClosed = (phase) => phase._tag === "Closing" || phase._tag === "Closed";
|
|
31
|
-
export const ageMillis = (source, now) => now - source.openedAt;
|
|
32
|
-
export const expired = (source, now) => ageMillis(source, now) >= source.maxSeconds * 1000;
|
|
33
|
-
/** Recovery shares the remote lifetime; post-lease accounting has a separate cleanup budget. */
|
|
34
|
-
export const recoveryBudget = (source, now, timeoutMs) => Math.min(timeoutMs, Math.max(1, source.maxSeconds * 1000 - ageMillis(source, now)));
|
|
35
|
-
/** Expiry is checked before sequence, queue, or media readiness can delay retirement. */
|
|
36
|
-
export const decideRenewal = (facts) => {
|
|
37
|
-
const current = facts.current;
|
|
38
|
-
if (!facts.running || current?.phase._tag !== "Active")
|
|
39
|
-
return "Retain";
|
|
40
|
-
if (expired(current, facts.now))
|
|
41
|
-
return "Expire";
|
|
42
|
-
if (facts.replacement === "Absent") {
|
|
43
|
-
return ageMillis(current, facts.now) >= (current.maxSeconds - facts.leadSeconds) * 1000 &&
|
|
44
|
-
facts.now >= facts.retryAt
|
|
45
|
-
? "Prepare"
|
|
46
|
-
: "Retain";
|
|
47
|
-
}
|
|
48
|
-
return facts.replacement !== "Opening" && facts.replacement._tag === "Active"
|
|
49
|
-
? "InspectHandoff"
|
|
50
|
-
: "Retain";
|
|
51
|
-
};
|
|
52
|
-
/**
|
|
53
|
-
* Media and provider events arrive on separate readers, so a clip's last frames
|
|
54
|
-
* can land after its Ended. A frame the provider never sent never lands, so a
|
|
55
|
-
* short clip is waited on only for the grace past Ended; waiting for the count
|
|
56
|
-
* instead left the retiring source idle until expiry. The shortfall is still
|
|
57
|
-
* reported, with any earlier loss, on the retirement's tail.
|
|
58
|
-
*/
|
|
59
|
-
export const finalClipSettled = (clip, graceMs) => clip.video !== "incomplete" || (clip.endedAgoMs !== undefined && clip.endedAgoMs >= graceMs);
|
|
60
|
-
/** One decision owns both admission and evidence, so the two cannot disagree at a grace boundary. */
|
|
61
|
-
export const handoffEvidence = (facts) => {
|
|
62
|
-
if (facts.sequenceOpen ||
|
|
63
|
-
!facts.currentIdle ||
|
|
64
|
-
!facts.replacementReady ||
|
|
65
|
-
!finalClipSettled(facts.finalClip, facts.graceMs))
|
|
66
|
-
return undefined;
|
|
67
|
-
const clip = facts.finalClip;
|
|
68
|
-
return Object.freeze({
|
|
69
|
-
decision: clip.clipId === undefined
|
|
70
|
-
? "no-observed-start"
|
|
71
|
-
: clip.video === "incomplete"
|
|
72
|
-
? "grace-elapsed"
|
|
73
|
-
: "count-complete",
|
|
74
|
-
finalClip: clip.clipId === undefined
|
|
75
|
-
? Object.freeze({ _tag: "NoObservedStart" })
|
|
76
|
-
: Object.freeze({
|
|
77
|
-
_tag: "Observed",
|
|
78
|
-
clipId: clip.clipId,
|
|
79
|
-
expectedVideoFrames: clip.expectedVideoFrames,
|
|
80
|
-
receivedVideoFrames: clip.receivedVideoFrames,
|
|
81
|
-
videoStatus: clip.video === "incomplete" ? "incomplete" : "count-complete",
|
|
82
|
-
}),
|
|
83
|
-
grace: clip.endedAgoMs === undefined || clip.graceOrigin === undefined
|
|
84
|
-
? Object.freeze({ _tag: "NotObserved" })
|
|
85
|
-
: Object.freeze({
|
|
86
|
-
_tag: "Observed",
|
|
87
|
-
origin: clip.graceOrigin,
|
|
88
|
-
elapsedMs: clip.endedAgoMs,
|
|
89
|
-
limitMs: facts.graceMs,
|
|
90
|
-
}),
|
|
91
|
-
});
|
|
92
|
-
};
|
|
93
|
-
export const canHandoff = (facts) => handoffEvidence(facts) !== undefined;
|
|
94
|
-
export const needsReplacement = (phase, indeterminate, isExpired) => indeterminate || isExpired || (phase._tag === "Recovering" && phase.mode === "replace");
|
|
95
|
-
//# sourceMappingURL=renewal-state.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"renewal-state.js","sourceRoot":"","sources":["../../src/orchestration/renewal-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import * as Crypto from "effect/Crypto";
|
|
2
|
-
import * as Duration from "effect/Duration";
|
|
3
|
-
import * as Effect from "effect/Effect";
|
|
4
|
-
import * as Layer from "effect/Layer";
|
|
5
|
-
import * as Scope from "effect/Scope";
|
|
6
|
-
import { AcquisitionFailure, ReactorError } from "../errors.js";
|
|
7
|
-
import type { ContinuousHandleShape, HandleShape, Renewal, Source } from "./types.js";
|
|
8
|
-
import type { Engine, Handle, Media } from "./types.js";
|
|
9
|
-
export type { MediaTail, Renewal } from "./types.js";
|
|
10
|
-
/** An opened source and how long its remote session may live. */
|
|
11
|
-
export interface Opened {
|
|
12
|
-
readonly source: Source;
|
|
13
|
-
/**
|
|
14
|
-
* The source's remote session lifetime, positive, or `"Infinity"` for a
|
|
15
|
-
* source that never expires. A bare number is milliseconds, so build it with
|
|
16
|
-
* a unit from a grant in seconds: `` `${seconds} seconds` ``.
|
|
17
|
-
*/
|
|
18
|
-
readonly lifetime: Duration.Input;
|
|
19
|
-
}
|
|
20
|
-
export interface Options<R = never> {
|
|
21
|
-
readonly open: Effect.Effect<Opened, ReactorError | AcquisitionFailure, Scope.Scope | R>;
|
|
22
|
-
/**
|
|
23
|
-
* How long before a source's lifetime ends to prepare its replacement; 30
|
|
24
|
-
* seconds by default, and zero prepares at expiry. A bare number is
|
|
25
|
-
* milliseconds, so `lead: 30` is 30 milliseconds.
|
|
26
|
-
*/
|
|
27
|
-
readonly lead?: Duration.Input | undefined;
|
|
28
|
-
/**
|
|
29
|
-
* How long recovering a source's connection may take, and the local cleanup
|
|
30
|
-
* budget of a retired source; 10 seconds by default. A bare number is
|
|
31
|
-
* milliseconds.
|
|
32
|
-
*/
|
|
33
|
-
readonly reconnectTimeout?: Duration.Input | undefined;
|
|
34
|
-
readonly maxSessions?: number;
|
|
35
|
-
/**
|
|
36
|
-
* How long past the retiring source's final clip a planned switch waits for
|
|
37
|
-
* that clip's missing video frames; 250 milliseconds by default. Frames can
|
|
38
|
-
* land after the clip's Ended, but one the provider never sent never does,
|
|
39
|
-
* so the switch then proceeds and `Switched.tail` reports the shortfall. The
|
|
40
|
-
* grace also starts when the source reports nothing playing, in case Ended
|
|
41
|
-
* was lost. At most 5 seconds, since the retiring source running dry within
|
|
42
|
-
* it is not reported as `Starved`. Renewal checks every 100 milliseconds, so
|
|
43
|
-
* the switch can come up to one check after the grace. A bare number is
|
|
44
|
-
* milliseconds.
|
|
45
|
-
*/
|
|
46
|
-
readonly handoffGrace?: Duration.Input | undefined;
|
|
47
|
-
/**
|
|
48
|
-
* The video frames the media output keeps for a reader that has not taken
|
|
49
|
-
* them, 96 by default (4 seconds at 24 fps). Past it the orchestration fails
|
|
50
|
-
* with `Overflow`.
|
|
51
|
-
*/
|
|
52
|
-
readonly maxQueuedVideoFrames?: number;
|
|
53
|
-
/**
|
|
54
|
-
* The interleaved audio samples the media output keeps for a reader that has
|
|
55
|
-
* not taken them, 192,000 by default (4 seconds at 48 kHz). Past it the
|
|
56
|
-
* orchestration fails with `Overflow`.
|
|
57
|
-
*/
|
|
58
|
-
readonly maxQueuedAudioSamples?: number;
|
|
59
|
-
/**
|
|
60
|
-
* Runs for each renewal event, in order, on a reader the handle forks: it
|
|
61
|
-
* never holds the handle's command permit, so a slow observer delays no
|
|
62
|
-
* enqueue or control. A failure is logged and the next event still runs.
|
|
63
|
-
* Events that queue past 4096 end the reader with an `Overflow` warning; use
|
|
64
|
-
* `observe` to read renewals together with the engine events they follow.
|
|
65
|
-
*/
|
|
66
|
-
readonly onRenewal?: (event: Renewal) => Effect.Effect<void>;
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Each open must supply a globally unique physical source ID; clip IDs must
|
|
70
|
-
* never be reassigned during this handle's lifetime. Continuous mode checks live
|
|
71
|
-
* collisions, but cannot detect historical reuse after eviction with bounded memory.
|
|
72
|
-
* Source/clip IDs are limited to 1024 UTF-16 code units; each source admits at most
|
|
73
|
-
* 4096 accepted IDs and 4096 distinct Started IDs. Sequence history still requires
|
|
74
|
-
* explicit acknowledgement/release and keeps its independent bounds.
|
|
75
|
-
*/
|
|
76
|
-
export interface ContinuousOptions<R = never> extends Options<R> {
|
|
77
|
-
/** Supply globally unique source IDs and never reassign clip IDs; historical reuse cannot be checked after eviction. */
|
|
78
|
-
readonly open: Options<R>["open"];
|
|
79
|
-
/** No cumulative successful-open cap when omitted; explicit values retain legacy semantics. */
|
|
80
|
-
readonly maxSessions?: number;
|
|
81
|
-
/** Newest complete cleanup details retained, 0..4096; defaults to 64. */
|
|
82
|
-
readonly retainedSuccessfulCleanups?: number;
|
|
83
|
-
/**
|
|
84
|
-
* Incomplete cleanup or unknown-submission records plus outstanding reservations,
|
|
85
|
-
* 2..4096; defaults to 16. Unknown outcomes can exhaust it despite confirmed termination.
|
|
86
|
-
*/
|
|
87
|
-
readonly maxUnresolvedCleanups?: number;
|
|
88
|
-
}
|
|
89
|
-
/** Legacy renewal retains complete cleanup history and defaults to 64 successful opens. */
|
|
90
|
-
export declare const make: <R>(options: Options<R>) => Effect.Effect<HandleShape, ReactorError | AcquisitionFailure, Scope.Scope | Crypto.Crypto | R>;
|
|
91
|
-
/**
|
|
92
|
-
* Bounded continuous renewal. Adapters must meet ContinuousOptions' unique-ID
|
|
93
|
-
* precondition. Retired anchors no longer retained can refuse as missing rather
|
|
94
|
-
* than SessionRetired; captured operations remain fenced to their exact incarnation.
|
|
95
|
-
*/
|
|
96
|
-
export declare const makeContinuous: <R>(options: ContinuousOptions<R>) => Effect.Effect<ContinuousHandleShape, ReactorError | AcquisitionFailure, Scope.Scope | Crypto.Crypto | R>;
|
|
97
|
-
/**
|
|
98
|
-
* The handle's `Engine`, `Media` and `Handle` services from one orchestration,
|
|
99
|
-
* so the three can never come from two paid session chains. Each build of the
|
|
100
|
-
* layer opens its own chain: bind it to a `const` and provide that one value.
|
|
101
|
-
*/
|
|
102
|
-
export declare const layer: <R>(options: Options<R>) => Layer.Layer<Engine | Media | Handle, ReactorError | AcquisitionFailure, Crypto.Crypto | Exclude<R, Scope.Scope>>;
|
|
103
|
-
//# sourceMappingURL=renewal.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"renewal.d.ts","sourceRoot":"","sources":["../../src/orchestration/renewal.ts"],"names":[],"mappings":"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"}
|