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,71 +0,0 @@
|
|
|
1
|
-
import * as Deferred from "effect/Deferred";
|
|
2
|
-
import * as Effect from "effect/Effect";
|
|
3
|
-
import * as Exit from "effect/Exit";
|
|
4
|
-
import { terminal } from "../../contract.js";
|
|
5
|
-
import { ReactorError } from "../../errors.js";
|
|
6
|
-
export const isKnownRemote = (remote) => remote?.ownership === "owned" || remote?.ownership === "attached";
|
|
7
|
-
/** One allocation's evidence survives peer generations and interrupted acquisition. */
|
|
8
|
-
export class RemoteSession {
|
|
9
|
-
value;
|
|
10
|
-
get current() {
|
|
11
|
-
return this.value;
|
|
12
|
-
}
|
|
13
|
-
get id() {
|
|
14
|
-
return isKnownRemote(this.value) ? this.value.id : undefined;
|
|
15
|
-
}
|
|
16
|
-
get isKnown() {
|
|
17
|
-
return isKnownRemote(this.value);
|
|
18
|
-
}
|
|
19
|
-
requireKnown() {
|
|
20
|
-
if (!isKnownRemote(this.value))
|
|
21
|
-
throw ReactorError.fromCode("InvalidState", "no known session id");
|
|
22
|
-
return this.value;
|
|
23
|
-
}
|
|
24
|
-
allocationLost() {
|
|
25
|
-
if (this.value?.ownership === "allocating")
|
|
26
|
-
this.value = { ownership: "unknown" };
|
|
27
|
-
}
|
|
28
|
-
allocate(options, http, lifecycle) {
|
|
29
|
-
const self = this;
|
|
30
|
-
return Effect.uninterruptibleMask((restore) => Effect.gen(function* () {
|
|
31
|
-
if (lifecycle.isClosing)
|
|
32
|
-
return yield* ReactorError.fromCode("Closed", "session is closed", {
|
|
33
|
-
outcome: "not-submitted",
|
|
34
|
-
});
|
|
35
|
-
if (isKnownRemote(self.value))
|
|
36
|
-
return self.value.id;
|
|
37
|
-
if (self.value !== undefined)
|
|
38
|
-
return yield* ReactorError.fromCode("InvalidState", "session allocation is already pending or unresolved", { outcome: "unknown" });
|
|
39
|
-
const intent = options.intent;
|
|
40
|
-
if (intent._tag === "Attach") {
|
|
41
|
-
// An adopted session is owned from here on: its cleanup terminates it.
|
|
42
|
-
self.value = {
|
|
43
|
-
ownership: intent.adopt === true ? "owned" : "attached",
|
|
44
|
-
id: intent.sessionId,
|
|
45
|
-
...(intent.connectionId === undefined ? {} : { connectionId: intent.connectionId }),
|
|
46
|
-
};
|
|
47
|
-
return self.value.id;
|
|
48
|
-
}
|
|
49
|
-
self.value = { ownership: "allocating" };
|
|
50
|
-
return yield* restore(http
|
|
51
|
-
.create(intent.model, intent.extraArgs)
|
|
52
|
-
.pipe(Effect.raceFirst(Deferred.await(lifecycle.closing)))).pipe(Effect.onExit((exit) => Exit.isFailure(exit) ? Effect.sync(() => self.allocationLost()) : Effect.void),
|
|
53
|
-
// Ownership rests on the id alone: if the rest of the reply cannot
|
|
54
|
-
// describe the session, owned cleanup still has an id to terminate.
|
|
55
|
-
Effect.flatMap((allocation) => {
|
|
56
|
-
const owned = { ownership: "owned", id: allocation.sessionId };
|
|
57
|
-
self.value = owned;
|
|
58
|
-
return http.describe(allocation).pipe(Effect.map((descriptor) => {
|
|
59
|
-
owned.descriptor = descriptor;
|
|
60
|
-
return owned.id;
|
|
61
|
-
}));
|
|
62
|
-
}));
|
|
63
|
-
}));
|
|
64
|
-
}
|
|
65
|
-
isKnownTerminal() {
|
|
66
|
-
return (isKnownRemote(this.value) &&
|
|
67
|
-
this.value.descriptor !== undefined &&
|
|
68
|
-
terminal(this.value.descriptor.state));
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
//# sourceMappingURL=remote.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"remote.js","sourceRoot":"","sources":["../../../src/session/_internal/remote.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { UploadReference } from "../../wire.generated.js";
|
|
2
|
-
/**
|
|
3
|
-
* Detach caller-owned references before correlation or dispatch can begin.
|
|
4
|
-
* Each rejection is an InvalidInput ReactorError that was never submitted.
|
|
5
|
-
*/
|
|
6
|
-
export declare const captureUploads: (input: ReadonlyMap<string, UploadReference>) => Map<string, UploadReference>;
|
|
7
|
-
//# sourceMappingURL=uploads.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"uploads.d.ts","sourceRoot":"","sources":["../../../src/session/_internal/uploads.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAQ/D;;;GAGG;AACH,eAAO,MAAM,cAAc,UAClB,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,KAC1C,GAAG,CAAC,MAAM,EAAE,eAAe,CAoB7B,CAAC"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { ReactorError } from "../../errors.js";
|
|
2
|
-
import { nonempty, record } from "../../json.js";
|
|
3
|
-
const maximumWireSize = (1n << 63n) - 1n;
|
|
4
|
-
const invalid = (message) => {
|
|
5
|
-
throw ReactorError.fromCode("InvalidInput", message, { outcome: "not-submitted" });
|
|
6
|
-
};
|
|
7
|
-
/**
|
|
8
|
-
* Detach caller-owned references before correlation or dispatch can begin.
|
|
9
|
-
* Each rejection is an InvalidInput ReactorError that was never submitted.
|
|
10
|
-
*/
|
|
11
|
-
export const captureUploads = (input) => {
|
|
12
|
-
if (!(input instanceof Map))
|
|
13
|
-
return invalid("upload references must be a Map");
|
|
14
|
-
const result = new Map();
|
|
15
|
-
for (const [key, value] of input) {
|
|
16
|
-
if (result.size >= 128)
|
|
17
|
-
return invalid("too many upload references");
|
|
18
|
-
const reference = record(value, "upload reference");
|
|
19
|
-
const size = reference.size;
|
|
20
|
-
if (typeof size !== "bigint" || size < 0n || size > maximumWireSize)
|
|
21
|
-
return invalid("upload size must be a nonnegative signed-64-bit bigint");
|
|
22
|
-
result.set(nonempty(key, "upload key"), Object.freeze({
|
|
23
|
-
upload_id: nonempty(reference.upload_id, "upload id"),
|
|
24
|
-
name: nonempty(reference.name, "upload name"),
|
|
25
|
-
mime_type: nonempty(reference.mime_type, "upload MIME type"),
|
|
26
|
-
size,
|
|
27
|
-
}));
|
|
28
|
-
}
|
|
29
|
-
return result;
|
|
30
|
-
};
|
|
31
|
-
//# sourceMappingURL=uploads.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"uploads.js","sourceRoot":"","sources":["../../../src/session/_internal/uploads.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAGjD,MAAM,eAAe,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;AAEzC,MAAM,OAAO,GAAG,CAAC,OAAe,EAAS,EAAE;IACzC,MAAM,YAAY,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC;AACrF,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAA2C,EACb,EAAE;IAChC,IAAI,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC,iCAAiC,CAAC,CAAC;IAC/E,MAAM,MAAM,GAAG,IAAI,GAAG,EAA2B,CAAC;IAClD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,KAAsC,EAAE,CAAC;QAClE,IAAI,MAAM,CAAC,IAAI,IAAI,GAAG;YAAE,OAAO,OAAO,CAAC,4BAA4B,CAAC,CAAC;QACrE,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC;QAC5B,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,GAAG,EAAE,IAAI,IAAI,GAAG,eAAe;YACjE,OAAO,OAAO,CAAC,wDAAwD,CAAC,CAAC;QAC3E,MAAM,CAAC,GAAG,CACR,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,EAC3B,MAAM,CAAC,MAAM,CAAC;YACZ,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,WAAW,CAAC;YACrD,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC;YAC7C,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,kBAAkB,CAAC;YAC5D,IAAI;SACL,CAAC,CACH,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/session/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/session/commands.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/session/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/session/files.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type * as Duration from "effect/Duration";
|
|
2
|
-
import * as Effect from "effect/Effect";
|
|
3
|
-
import * as FileSystem from "effect/FileSystem";
|
|
4
|
-
import * as Path from "effect/Path";
|
|
5
|
-
import { ReactorError } from "../errors.js";
|
|
6
|
-
import type { UploadTimeoutOptions } from "../SessionTypes.js";
|
|
7
|
-
import type { Session, Uploaded } from "./index.js";
|
|
8
|
-
export interface FileUploadOptions extends UploadTimeoutOptions {
|
|
9
|
-
readonly mimeType?: string;
|
|
10
|
-
readonly maxBytes?: number;
|
|
11
|
-
/**
|
|
12
|
-
* How long reading the file may take; 30 seconds by default. A bare number
|
|
13
|
-
* is milliseconds.
|
|
14
|
-
*/
|
|
15
|
-
readonly readTimeout?: Duration.Input | undefined;
|
|
16
|
-
}
|
|
17
|
-
/** Scoped, bounded host file loading shared by uploads and reference preparation. */
|
|
18
|
-
export declare const readFileBytes: (file: string, maxBytes: number) => Effect.Effect<Uint8Array, ReactorError, FileSystem.FileSystem>;
|
|
19
|
-
/** File IO is a host convenience; the result retains canonical upload evidence. */
|
|
20
|
-
export declare const uploadFile: (session: Session, file: string, options?: FileUploadOptions) => Effect.Effect<Uploaded, ReactorError, FileSystem.FileSystem | Path.Path>;
|
|
21
|
-
//# sourceMappingURL=files.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../../src/session/files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAGpC,OAAO,EAAU,YAAY,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEpD,MAAM,WAAW,iBAAkB,SAAQ,oBAAoB;IAC7D,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC;CACnD;AAED,qFAAqF;AACrF,eAAO,MAAM,aAAa,SAClB,MAAM,YACF,MAAM,KACf,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,EAAE,UAAU,CAAC,UAAU,CAyB5D,CAAC;AAEL,mFAAmF;AACnF,eAAO,MAAM,UAAU,YACZ,OAAO,QACV,MAAM,YACH,iBAAiB,KACzB,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CA0CtE,CAAC"}
|
package/dist/session/files.js
DELETED
|
@@ -1,49 +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 { collectBytes } from "../bytes.js";
|
|
5
|
-
import { duration } from "../duration.js";
|
|
6
|
-
import { parsed, ReactorError } from "../errors.js";
|
|
7
|
-
/** Scoped, bounded host file loading shared by uploads and reference preparation. */
|
|
8
|
-
export const readFileBytes = (file, maxBytes) => Effect.gen(function* () {
|
|
9
|
-
if (typeof file !== "string" ||
|
|
10
|
-
file.length === 0 ||
|
|
11
|
-
!Number.isSafeInteger(maxBytes) ||
|
|
12
|
-
maxBytes <= 0) {
|
|
13
|
-
return yield* ReactorError.fromCode("InvalidInput", "A file and positive byte bound are required", { outcome: "not-submitted" });
|
|
14
|
-
}
|
|
15
|
-
const fs = yield* FileSystem.FileSystem;
|
|
16
|
-
return yield* collectBytes(fs.stream(file, { bytesToRead: maxBytes + 1 }), maxBytes).pipe(Effect.mapError((cause) => ReactorError.is(cause)
|
|
17
|
-
? cause
|
|
18
|
-
: ReactorError.fromCode("Upload", "Source file could not be read", {
|
|
19
|
-
outcome: "not-submitted",
|
|
20
|
-
detail: cause,
|
|
21
|
-
})));
|
|
22
|
-
});
|
|
23
|
-
/** File IO is a host convenience; the result retains canonical upload evidence. */
|
|
24
|
-
export const uploadFile = (session, file, options = {}) => Effect.gen(function* () {
|
|
25
|
-
const before = yield* session.ready;
|
|
26
|
-
const timeout = yield* parsed(() => duration(options.readTimeout ?? "30 seconds", "file read timeout"));
|
|
27
|
-
const bytes = yield* readFileBytes(file, options.maxBytes ?? 64 * 1024 * 1024).pipe(Effect.timeoutOrElse({
|
|
28
|
-
duration: timeout,
|
|
29
|
-
orElse: () => Effect.fail(ReactorError.fromCode("Upload", "Source file read timed out", {
|
|
30
|
-
outcome: "not-submitted",
|
|
31
|
-
})),
|
|
32
|
-
}));
|
|
33
|
-
const after = yield* session.ready;
|
|
34
|
-
if (after.generation !== before.generation)
|
|
35
|
-
return yield* ReactorError.fromCode("Disconnected", "Connection changed while reading the upload file", { outcome: "not-submitted" });
|
|
36
|
-
const path = yield* Path.Path;
|
|
37
|
-
const name = path.basename(file);
|
|
38
|
-
const extension = path.extname(name).toLowerCase();
|
|
39
|
-
const mime = options.mimeType ??
|
|
40
|
-
(extension === ".png"
|
|
41
|
-
? "image/png"
|
|
42
|
-
: extension === ".webp"
|
|
43
|
-
? "image/webp"
|
|
44
|
-
: extension === ".jpg" || extension === ".jpeg"
|
|
45
|
-
? "image/jpeg"
|
|
46
|
-
: "application/octet-stream");
|
|
47
|
-
return yield* session.upload(name, mime, bytes, options.uploadTimeout === undefined ? {} : { uploadTimeout: options.uploadTimeout });
|
|
48
|
-
});
|
|
49
|
-
//# sourceMappingURL=files.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"files.js","sourceRoot":"","sources":["../../src/session/files.ts"],"names":[],"mappings":"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"}
|
package/dist/session/index.d.ts
DELETED
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import * as Context from "effect/Context";
|
|
2
|
-
import * as Crypto from "effect/Crypto";
|
|
3
|
-
import * as Effect from "effect/Effect";
|
|
4
|
-
import * as Layer from "effect/Layer";
|
|
5
|
-
import type * as Redacted from "effect/Redacted";
|
|
6
|
-
import type * as Scope from "effect/Scope";
|
|
7
|
-
import type * as Stream from "effect/Stream";
|
|
8
|
-
import * as Http from "effect/unstable/http/HttpClient";
|
|
9
|
-
import type { HttpOptions } from "../coordinator/_internal/client.js";
|
|
10
|
-
import { PeerFactory } from "../PeerFactory.js";
|
|
11
|
-
import type { ReactorError } from "../errors.js";
|
|
12
|
-
import type { Json, JsonObject } from "../json.js";
|
|
13
|
-
import type { Statistics } from "../stats.js";
|
|
14
|
-
import type { ClipReady } from "../wire.generated.js";
|
|
15
|
-
import type { CommandOptions, SessionOptions, SessionTimeouts, UploadTimeoutOptions, Snapshot, ReadyState, SessionEvent, CommandReply, CloseReport, Uploaded, Observe } from "../SessionTypes.js";
|
|
16
|
-
import type { CommandFailure } from "./commands.js";
|
|
17
|
-
import { type AcquisitionFailure } from "./_internal/acquire.js";
|
|
18
|
-
export interface Configuration extends Omit<HttpOptions, "apiUrl" | "credential"> {
|
|
19
|
-
readonly apiUrl?: string;
|
|
20
|
-
readonly credential?: Effect.Effect<Redacted.Redacted<string>, ReactorError>;
|
|
21
|
-
readonly session?: SessionTimeouts & Pick<SessionOptions, "maxPending" | "maxUploadBytes">;
|
|
22
|
-
}
|
|
23
|
-
export interface CreateOptions {
|
|
24
|
-
readonly model: string;
|
|
25
|
-
readonly version?: string;
|
|
26
|
-
readonly jwt?: Redacted.Redacted<string>;
|
|
27
|
-
readonly extraArgs?: Json;
|
|
28
|
-
}
|
|
29
|
-
export interface AttachOptions {
|
|
30
|
-
readonly sessionId: string;
|
|
31
|
-
readonly connectionId?: number;
|
|
32
|
-
readonly jwt?: Redacted.Redacted<string>;
|
|
33
|
-
/**
|
|
34
|
-
* Take over the session's remote lifetime, as a process that resumes a
|
|
35
|
-
* session its dead owner recorded does: the session is `owned`, so closing
|
|
36
|
-
* it, or a failed connected attach, terminates it and its `CloseReport`
|
|
37
|
-
* says whether the end was confirmed. Without it an attach never
|
|
38
|
-
* terminates the session it joined.
|
|
39
|
-
*/
|
|
40
|
-
readonly adopt?: true;
|
|
41
|
-
}
|
|
42
|
-
/** One lifecycle and command contract, independent of the selected host peer. */
|
|
43
|
-
export interface Session {
|
|
44
|
-
readonly id: string;
|
|
45
|
-
readonly ownership: "owned" | "attached";
|
|
46
|
-
readonly connect: Effect.Effect<void, ReactorError>;
|
|
47
|
-
readonly reconnect: Effect.Effect<void, ReactorError>;
|
|
48
|
-
readonly current: Effect.Effect<Snapshot>;
|
|
49
|
-
readonly ready: Effect.Effect<ReadyState, ReactorError>;
|
|
50
|
-
readonly events: (options?: {
|
|
51
|
-
readonly capacity?: number;
|
|
52
|
-
readonly maxBytes?: number;
|
|
53
|
-
}) => Stream.Stream<SessionEvent, ReactorError>;
|
|
54
|
-
readonly observe: Observe;
|
|
55
|
-
readonly command: (name: string, data: unknown, options?: CommandOptions) => Effect.Effect<CommandReply, CommandFailure>;
|
|
56
|
-
readonly schema: Effect.Effect<{
|
|
57
|
-
readonly openapi?: JsonObject;
|
|
58
|
-
}, ReactorError>;
|
|
59
|
-
readonly upload: (name: string, mimeType: string, bytes: Uint8Array, options?: UploadTimeoutOptions) => Effect.Effect<Uploaded, ReactorError>;
|
|
60
|
-
readonly requestRecordingClip: (seconds: number) => Effect.Effect<ClipReady, ReactorError>;
|
|
61
|
-
readonly recording: Effect.Effect<ClipReady, ReactorError>;
|
|
62
|
-
readonly stats: Effect.Effect<Statistics, ReactorError>;
|
|
63
|
-
readonly close: Effect.Effect<CloseReport>;
|
|
64
|
-
}
|
|
65
|
-
export interface Factory {
|
|
66
|
-
/** Allocate without connecting so a supervisor can first register the owner. */
|
|
67
|
-
readonly create: (options: CreateOptions) => Effect.Effect<Session, AcquisitionFailure, Scope.Scope>;
|
|
68
|
-
/** Identify an existing session without acquiring its remote lifetime. */
|
|
69
|
-
readonly attach: (options: AttachOptions) => Effect.Effect<Session, AcquisitionFailure, Scope.Scope>;
|
|
70
|
-
/** Failure releases this partial acquisition before returning to the caller. */
|
|
71
|
-
readonly createConnected: (options: CreateOptions) => Effect.Effect<Session, AcquisitionFailure, Scope.Scope>;
|
|
72
|
-
readonly attachConnected: (options: AttachOptions) => Effect.Effect<Session, AcquisitionFailure, Scope.Scope>;
|
|
73
|
-
}
|
|
74
|
-
declare const Client_base: Context.ServiceClass<Client, "reactor-effect-client/Client", Factory>;
|
|
75
|
-
export declare class Client extends Client_base {
|
|
76
|
-
}
|
|
77
|
-
export declare const make: (configuration?: Configuration) => Effect.Effect<Factory, never, Http.HttpClient | PeerFactory | Crypto.Crypto>;
|
|
78
|
-
export declare const layer: (configuration?: Configuration) => Layer.Layer<Client, never, Http.HttpClient | PeerFactory | Crypto.Crypto>;
|
|
79
|
-
export { CommandFailure } from "./commands.js";
|
|
80
|
-
export { AcquisitionFailure } from "./_internal/acquire.js";
|
|
81
|
-
export type { CommandContext } from "./commands.js";
|
|
82
|
-
export type { CommandOptions, ReplyTimeoutOptions, SessionTimeouts, UploadTimeoutOptions, Snapshot, ReadyState, SessionEvent, CommandReply, CloseReport, Uploaded, UploadProgress, Observation, } from "../SessionTypes.js";
|
|
83
|
-
export type { VideoFrame, AudioFrame, MediaPressure, MediaGeneration, RawMedia } from "./media.js";
|
|
84
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"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"}
|
package/dist/session/index.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import * as Context from "effect/Context";
|
|
2
|
-
import * as Crypto from "effect/Crypto";
|
|
3
|
-
import * as Effect from "effect/Effect";
|
|
4
|
-
import * as Layer from "effect/Layer";
|
|
5
|
-
import * as Http from "effect/unstable/http/HttpClient";
|
|
6
|
-
import { PeerFactory } from "../PeerFactory.js";
|
|
7
|
-
import { makeFactory } from "./_internal/acquire.js";
|
|
8
|
-
export class Client extends Context.Service()("reactor-effect-client/Client") {
|
|
9
|
-
}
|
|
10
|
-
export const make = (configuration = {}) => Effect.gen(function* () {
|
|
11
|
-
return makeFactory(configuration, yield* Http.HttpClient, yield* PeerFactory, yield* Crypto.Crypto);
|
|
12
|
-
});
|
|
13
|
-
export const layer = (configuration = {}) => Layer.effect(Client, make(configuration));
|
|
14
|
-
export { CommandFailure } from "./commands.js";
|
|
15
|
-
export { AcquisitionFailure } from "./_internal/acquire.js";
|
|
16
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/session/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAC;AAItC,OAAO,KAAK,IAAI,MAAM,iCAAiC,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAmBhD,OAAO,EAAE,WAAW,EAA2B,MAAM,wBAAwB,CAAC;AA8E9E,MAAM,OAAO,MAAO,SAAQ,OAAO,CAAC,OAAO,EAAmB,CAAC,8BAA8B,CAAC;CAAG;AAEjG,MAAM,CAAC,MAAM,IAAI,GAAG,CAClB,aAAa,GAAkB,EAAE,EAC6C,EAAE,CAChF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClB,OAAO,WAAW,CAChB,aAAa,EACb,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,EACtB,KAAK,CAAC,CAAC,WAAW,EAClB,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CACrB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,aAAa,GAAkB,EAAE,EAC0C,EAAE,CAC7E,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;AAE5C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC"}
|
package/dist/session/media.d.ts
DELETED
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
import type * as Effect from "effect/Effect";
|
|
2
|
-
import type * as Stream from "effect/Stream";
|
|
3
|
-
import type * as Scope from "effect/Scope";
|
|
4
|
-
import type { Track } from "../contract.js";
|
|
5
|
-
import type { ReactorError } from "../errors.js";
|
|
6
|
-
import type { MediaTrack } from "../PeerTypes.js";
|
|
7
|
-
/**
|
|
8
|
-
* How a frame's `data` lays out its pixels: four bytes per pixel, rows packed
|
|
9
|
-
* without padding, in this channel order. A host declares the format it
|
|
10
|
-
* produces; nothing converts between formats implicitly.
|
|
11
|
-
*/
|
|
12
|
-
export type VideoFormat = "BGRA" | "RGBA";
|
|
13
|
-
/**
|
|
14
|
-
* One decoded video frame. Every subscriber to a track receives the same frame
|
|
15
|
-
* object and the same buffers, so a reader treats them as read-only and copies
|
|
16
|
-
* the bytes before changing them.
|
|
17
|
-
*/
|
|
18
|
-
export interface VideoFrame {
|
|
19
|
-
readonly _tag: "VideoFrame";
|
|
20
|
-
readonly track: string;
|
|
21
|
-
readonly width: number;
|
|
22
|
-
readonly height: number;
|
|
23
|
-
/** Zero means the sender supplied no frame identity. */
|
|
24
|
-
readonly frameId: bigint;
|
|
25
|
-
/** Sender-clock microseconds; zero means absent. */
|
|
26
|
-
readonly timestampMicros: bigint;
|
|
27
|
-
/**
|
|
28
|
-
* The frame's admission sequence on its track in this generation, from 0,
|
|
29
|
-
* taken before any bounded queue could drop it: a gap between consecutive
|
|
30
|
-
* frames is the count of frames the host dropped there. `recorder` makes the
|
|
31
|
-
* gaps explicit.
|
|
32
|
-
*/
|
|
33
|
-
readonly sequence: bigint;
|
|
34
|
-
/** The pixel layout of `data`; the native host produces `"BGRA"`. */
|
|
35
|
-
readonly format: VideoFormat;
|
|
36
|
-
/**
|
|
37
|
-
* Owned pixel bytes in `format`, `width * height * 4` of them: the whole of
|
|
38
|
-
* an `ArrayBuffer` of their own, so the buffer can be transferred. Retaining
|
|
39
|
-
* a frame never retains native memory.
|
|
40
|
-
*/
|
|
41
|
-
readonly data: Uint8Array<ArrayBuffer>;
|
|
42
|
-
readonly metadata: Uint8Array<ArrayBuffer>;
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* One block of decoded audio, shared read-only across a track's subscribers
|
|
46
|
-
* as a `VideoFrame` is.
|
|
47
|
-
*/
|
|
48
|
-
export interface AudioFrame {
|
|
49
|
-
readonly _tag: "AudioFrame";
|
|
50
|
-
readonly track: string;
|
|
51
|
-
readonly sampleRate: number;
|
|
52
|
-
readonly channels: number;
|
|
53
|
-
/** The block's admission sequence on its track in this generation, as a `VideoFrame`'s. */
|
|
54
|
-
readonly sequence: bigint;
|
|
55
|
-
/** Owned, interleaved signed 16-bit PCM samples, in an `ArrayBuffer` of their own. */
|
|
56
|
-
readonly samples: Int16Array<ArrayBuffer>;
|
|
57
|
-
}
|
|
58
|
-
/** Observed transport pressure, scoped to one connection generation. */
|
|
59
|
-
export interface MediaPressure {
|
|
60
|
-
readonly closed: boolean;
|
|
61
|
-
readonly queuedControl: number;
|
|
62
|
-
readonly queuedVideo: number;
|
|
63
|
-
readonly queuedAudio: number;
|
|
64
|
-
readonly queuedBytes: number;
|
|
65
|
-
readonly droppedVideo: bigint;
|
|
66
|
-
readonly droppedAudio: bigint;
|
|
67
|
-
readonly pendingRequests: number;
|
|
68
|
-
readonly deliveredVideo: bigint;
|
|
69
|
-
readonly deliveredAudio: bigint;
|
|
70
|
-
/**
|
|
71
|
-
* Readers of this generation's tracks that fell behind their per-reader
|
|
72
|
-
* bound. Each such reader failed with `Overflow` and missed every frame
|
|
73
|
-
* after it: the loss a recorder cannot see in `droppedVideo`/`droppedAudio`,
|
|
74
|
-
* which count what the transport discarded before any reader.
|
|
75
|
-
*/
|
|
76
|
-
readonly readerOverflows: bigint;
|
|
77
|
-
}
|
|
78
|
-
/** A peer capability. It owns its bounded buffers and source termination. */
|
|
79
|
-
export interface RawMedia {
|
|
80
|
-
readonly video: (name: string) => Stream.Stream<VideoFrame, ReactorError>;
|
|
81
|
-
readonly audio: (name: string) => Stream.Stream<AudioFrame, ReactorError>;
|
|
82
|
-
readonly snapshot: Effect.Effect<MediaPressure, ReactorError>;
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* A generation's streams end or fail with their source.
|
|
86
|
-
*
|
|
87
|
-
* Two ways to consume a track over one generation:
|
|
88
|
-
* - **Recorder:** read the stream directly. Every element is an admitted
|
|
89
|
-
* frame. Loss before admission shows as a rise in `droppedVideo` or
|
|
90
|
-
* `droppedAudio`; a reader that falls behind its bound fails with
|
|
91
|
-
* `Overflow` (and counts in `readerOverflows`); the generation's end is
|
|
92
|
-
* `retired`.
|
|
93
|
-
* - **Preview:** keep only the newest frame, per consumer, with
|
|
94
|
-
* `Stream.buffer({ capacity: 1, strategy: "sliding" })`. It never overflows
|
|
95
|
-
* and never delays other readers. Reconnect creates a new
|
|
96
|
-
* value; it never silently replaces the source underneath an existing reader.
|
|
97
|
-
*/
|
|
98
|
-
export interface MediaGeneration extends RawMedia {
|
|
99
|
-
readonly generation: bigint;
|
|
100
|
-
readonly tracks: readonly Track[];
|
|
101
|
-
readonly retired: Effect.Effect<never, ReactorError>;
|
|
102
|
-
}
|
|
103
|
-
/** Host track capability bound to one negotiated connection, without DOM types. */
|
|
104
|
-
export interface TrackGeneration {
|
|
105
|
-
readonly generation: bigint;
|
|
106
|
-
readonly tracks: readonly Track[];
|
|
107
|
-
readonly retired: Effect.Effect<never, ReactorError>;
|
|
108
|
-
readonly track: (name: string) => Effect.Effect<MediaTrack, ReactorError, Scope.Scope>;
|
|
109
|
-
readonly publish: (name: string, source: MediaTrack) => Effect.Effect<void, ReactorError>;
|
|
110
|
-
readonly unpublish: (name: string) => Effect.Effect<void, ReactorError>;
|
|
111
|
-
readonly setTrackActive: (name: string, active: boolean) => Effect.Effect<void, ReactorError>;
|
|
112
|
-
readonly setMaxBitrate: (name: string, bitsPerSecond: number) => Effect.Effect<void, ReactorError>;
|
|
113
|
-
}
|
|
114
|
-
//# sourceMappingURL=media.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/session/media.ts"],"names":[],"mappings":"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"}
|
package/dist/session/media.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/session/media.ts"],"names":[],"mappings":""}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import * as Stream from "effect/Stream";
|
|
2
|
-
/** A recorder's view of one track: each frame, and each run the host dropped, in place. */
|
|
3
|
-
export type Recorded<F> = {
|
|
4
|
-
readonly _tag: "Frame";
|
|
5
|
-
readonly frame: F;
|
|
6
|
-
} | {
|
|
7
|
-
readonly _tag: "Lost";
|
|
8
|
-
/** The sequence of the last frame received before the loss. */
|
|
9
|
-
readonly after: bigint;
|
|
10
|
-
/** How many frames the host dropped there. */
|
|
11
|
-
readonly count: bigint;
|
|
12
|
-
};
|
|
13
|
-
/**
|
|
14
|
-
* Every frame a track stream delivers, with a `Lost` element wherever the host
|
|
15
|
-
* dropped frames between two it delivered: their admission sequences are not
|
|
16
|
-
* consecutive. The view starts at the first frame received, so frames before
|
|
17
|
-
* a reader subscribed are not loss. A sequence that goes back marks a new
|
|
18
|
-
* generation, such as an orchestration's next source, and starts a new run.
|
|
19
|
-
* Read one track: each track numbers its own frames.
|
|
20
|
-
*/
|
|
21
|
-
export declare const recorder: <F extends {
|
|
22
|
-
readonly sequence: bigint;
|
|
23
|
-
}, E, R>(frames: Stream.Stream<F, E, R>) => Stream.Stream<Recorded<F>, E, R>;
|
|
24
|
-
//# sourceMappingURL=recorder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"recorder.d.ts","sourceRoot":"","sources":["../../src/session/recorder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,2FAA2F;AAC3F,MAAM,MAAM,QAAQ,CAAC,CAAC,IAClB;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAC7C;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+DAA+D;IAC/D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEN;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,GAAI,CAAC,SAAS;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAAE,CAAC,EAAE,CAAC,UAC5D,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC7B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAc/B,CAAC"}
|
package/dist/session/recorder.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import * as Stream from "effect/Stream";
|
|
2
|
-
/**
|
|
3
|
-
* Every frame a track stream delivers, with a `Lost` element wherever the host
|
|
4
|
-
* dropped frames between two it delivered: their admission sequences are not
|
|
5
|
-
* consecutive. The view starts at the first frame received, so frames before
|
|
6
|
-
* a reader subscribed are not loss. A sequence that goes back marks a new
|
|
7
|
-
* generation, such as an orchestration's next source, and starts a new run.
|
|
8
|
-
* Read one track: each track numbers its own frames.
|
|
9
|
-
*/
|
|
10
|
-
export const recorder = (frames) => frames.pipe(Stream.mapAccum(() => undefined, (last, frame) => {
|
|
11
|
-
const received = { _tag: "Frame", frame };
|
|
12
|
-
if (last === undefined || frame.sequence <= last || frame.sequence === last + 1n)
|
|
13
|
-
return [frame.sequence, [received]];
|
|
14
|
-
return [
|
|
15
|
-
frame.sequence,
|
|
16
|
-
[{ _tag: "Lost", after: last, count: frame.sequence - last - 1n }, received],
|
|
17
|
-
];
|
|
18
|
-
}));
|
|
19
|
-
//# sourceMappingURL=recorder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"recorder.js","sourceRoot":"","sources":["../../src/session/recorder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAaxC;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,MAA8B,EACI,EAAE,CACpC,MAAM,CAAC,IAAI,CACT,MAAM,CAAC,QAAQ,CACb,GAAuB,EAAE,CAAC,SAAS,EACnC,CAAC,IAAI,EAAE,KAAK,EAAiD,EAAE;IAC7D,MAAM,QAAQ,GAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACvD,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,IAAI,IAAI,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,GAAG,EAAE;QAC9E,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IACtC,OAAO;QACL,KAAK,CAAC,QAAQ;QACd,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,GAAG,IAAI,GAAG,EAAE,EAAE,EAAE,QAAQ,CAAC;KAC7E,CAAC;AACJ,CAAC,CACF,CACF,CAAC"}
|