reactor-effect-client 0.0.0-reserved.0 → 0.2.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.
Files changed (267) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +29 -0
  3. package/README.md +124 -2
  4. package/dist/FetchHttp.d.ts +9 -0
  5. package/dist/FetchHttp.d.ts.map +1 -0
  6. package/dist/FetchHttp.js +63 -0
  7. package/dist/FetchHttp.js.map +1 -0
  8. package/dist/PeerFactory.d.ts +15 -0
  9. package/dist/PeerFactory.d.ts.map +1 -0
  10. package/dist/PeerFactory.js +4 -0
  11. package/dist/PeerFactory.js.map +1 -0
  12. package/dist/PeerTypes.d.ts +64 -0
  13. package/dist/PeerTypes.d.ts.map +1 -0
  14. package/dist/PeerTypes.js +2 -0
  15. package/dist/PeerTypes.js.map +1 -0
  16. package/dist/Sequence.d.ts +81 -0
  17. package/dist/Sequence.d.ts.map +1 -0
  18. package/dist/Sequence.js +215 -0
  19. package/dist/Sequence.js.map +1 -0
  20. package/dist/SessionTypes.d.ts +164 -0
  21. package/dist/SessionTypes.d.ts.map +1 -0
  22. package/dist/SessionTypes.js +2 -0
  23. package/dist/SessionTypes.js.map +1 -0
  24. package/dist/Submission.d.ts +42 -0
  25. package/dist/Submission.d.ts.map +1 -0
  26. package/dist/Submission.js +52 -0
  27. package/dist/Submission.js.map +1 -0
  28. package/dist/bytes.d.ts +6 -0
  29. package/dist/bytes.d.ts.map +1 -0
  30. package/dist/bytes.js +32 -0
  31. package/dist/bytes.js.map +1 -0
  32. package/dist/contract.d.ts +58 -0
  33. package/dist/contract.d.ts.map +1 -0
  34. package/dist/contract.js +87 -0
  35. package/dist/contract.js.map +1 -0
  36. package/dist/coordinator/_internal/client.d.ts +127 -0
  37. package/dist/coordinator/_internal/client.d.ts.map +1 -0
  38. package/dist/coordinator/_internal/client.js +450 -0
  39. package/dist/coordinator/_internal/client.js.map +1 -0
  40. package/dist/coordinator/_internal/response.d.ts +15 -0
  41. package/dist/coordinator/_internal/response.d.ts.map +1 -0
  42. package/dist/coordinator/_internal/response.js +57 -0
  43. package/dist/coordinator/_internal/response.js.map +1 -0
  44. package/dist/coordinator/_internal/schemas.d.ts +51 -0
  45. package/dist/coordinator/_internal/schemas.d.ts.map +1 -0
  46. package/dist/coordinator/_internal/schemas.js +170 -0
  47. package/dist/coordinator/_internal/schemas.js.map +1 -0
  48. package/dist/coordinator/index.d.ts +28 -0
  49. package/dist/coordinator/index.d.ts.map +1 -0
  50. package/dist/coordinator/index.js +25 -0
  51. package/dist/coordinator/index.js.map +1 -0
  52. package/dist/correlation.d.ts +32 -0
  53. package/dist/correlation.d.ts.map +1 -0
  54. package/dist/correlation.js +113 -0
  55. package/dist/correlation.js.map +1 -0
  56. package/dist/errors.d.ts +88 -0
  57. package/dist/errors.d.ts.map +1 -0
  58. package/dist/errors.js +93 -0
  59. package/dist/errors.js.map +1 -0
  60. package/dist/h3/_internal/client.d.ts +9 -0
  61. package/dist/h3/_internal/client.d.ts.map +1 -0
  62. package/dist/h3/_internal/client.js +510 -0
  63. package/dist/h3/_internal/client.js.map +1 -0
  64. package/dist/h3/_internal/contracts.d.ts +123 -0
  65. package/dist/h3/_internal/contracts.d.ts.map +1 -0
  66. package/dist/h3/_internal/contracts.js +113 -0
  67. package/dist/h3/_internal/contracts.js.map +1 -0
  68. package/dist/h3/_internal/deployment.d.ts +8 -0
  69. package/dist/h3/_internal/deployment.d.ts.map +1 -0
  70. package/dist/h3/_internal/deployment.js +132 -0
  71. package/dist/h3/_internal/deployment.js.map +1 -0
  72. package/dist/h3/_internal/evidence.d.ts +17 -0
  73. package/dist/h3/_internal/evidence.d.ts.map +1 -0
  74. package/dist/h3/_internal/evidence.js +48 -0
  75. package/dist/h3/_internal/evidence.js.map +1 -0
  76. package/dist/h3/_internal/references.d.ts +18 -0
  77. package/dist/h3/_internal/references.d.ts.map +1 -0
  78. package/dist/h3/_internal/references.js +186 -0
  79. package/dist/h3/_internal/references.js.map +1 -0
  80. package/dist/h3/_internal/request.d.ts +16 -0
  81. package/dist/h3/_internal/request.d.ts.map +1 -0
  82. package/dist/h3/_internal/request.js +79 -0
  83. package/dist/h3/_internal/request.js.map +1 -0
  84. package/dist/h3/_internal/state.d.ts +30 -0
  85. package/dist/h3/_internal/state.d.ts.map +1 -0
  86. package/dist/h3/_internal/state.js +243 -0
  87. package/dist/h3/_internal/state.js.map +1 -0
  88. package/dist/h3/index.d.ts +10 -0
  89. package/dist/h3/index.d.ts.map +1 -0
  90. package/dist/h3/index.js +7 -0
  91. package/dist/h3/index.js.map +1 -0
  92. package/dist/h3/messages.d.ts +310 -0
  93. package/dist/h3/messages.d.ts.map +1 -0
  94. package/dist/h3/messages.js +114 -0
  95. package/dist/h3/messages.js.map +1 -0
  96. package/dist/h3/profile.d.ts +109 -0
  97. package/dist/h3/profile.d.ts.map +1 -0
  98. package/dist/h3/profile.js +70 -0
  99. package/dist/h3/profile.js.map +1 -0
  100. package/dist/h3/types.d.ts +173 -0
  101. package/dist/h3/types.d.ts.map +1 -0
  102. package/dist/h3/types.js +2 -0
  103. package/dist/h3/types.js.map +1 -0
  104. package/dist/host.d.ts +25 -0
  105. package/dist/host.d.ts.map +1 -0
  106. package/dist/host.js +20 -0
  107. package/dist/host.js.map +1 -0
  108. package/dist/index.d.ts +17 -0
  109. package/dist/index.d.ts.map +1 -0
  110. package/dist/index.js +8 -0
  111. package/dist/index.js.map +1 -0
  112. package/dist/json.d.ts +18 -0
  113. package/dist/json.d.ts.map +1 -0
  114. package/dist/json.js +123 -0
  115. package/dist/json.js.map +1 -0
  116. package/dist/media-stream.d.ts +10 -0
  117. package/dist/media-stream.d.ts.map +1 -0
  118. package/dist/media-stream.js +20 -0
  119. package/dist/media-stream.js.map +1 -0
  120. package/dist/observation.d.ts +26 -0
  121. package/dist/observation.d.ts.map +1 -0
  122. package/dist/observation.js +106 -0
  123. package/dist/observation.js.map +1 -0
  124. package/dist/orchestration/h3-source.d.ts +30 -0
  125. package/dist/orchestration/h3-source.d.ts.map +1 -0
  126. package/dist/orchestration/h3-source.js +303 -0
  127. package/dist/orchestration/h3-source.js.map +1 -0
  128. package/dist/orchestration/index.d.ts +12 -0
  129. package/dist/orchestration/index.d.ts.map +1 -0
  130. package/dist/orchestration/index.js +9 -0
  131. package/dist/orchestration/index.js.map +1 -0
  132. package/dist/orchestration/media-buffer.d.ts +23 -0
  133. package/dist/orchestration/media-buffer.d.ts.map +1 -0
  134. package/dist/orchestration/media-buffer.js +73 -0
  135. package/dist/orchestration/media-buffer.js.map +1 -0
  136. package/dist/orchestration/queries.d.ts +10 -0
  137. package/dist/orchestration/queries.d.ts.map +1 -0
  138. package/dist/orchestration/queries.js +40 -0
  139. package/dist/orchestration/queries.js.map +1 -0
  140. package/dist/orchestration/references.d.ts +16 -0
  141. package/dist/orchestration/references.d.ts.map +1 -0
  142. package/dist/orchestration/references.js +76 -0
  143. package/dist/orchestration/references.js.map +1 -0
  144. package/dist/orchestration/renewal-state.d.ts +58 -0
  145. package/dist/orchestration/renewal-state.d.ts.map +1 -0
  146. package/dist/orchestration/renewal-state.js +60 -0
  147. package/dist/orchestration/renewal-state.js.map +1 -0
  148. package/dist/orchestration/renewal.d.ts +76 -0
  149. package/dist/orchestration/renewal.d.ts.map +1 -0
  150. package/dist/orchestration/renewal.js +633 -0
  151. package/dist/orchestration/renewal.js.map +1 -0
  152. package/dist/orchestration/request.d.ts +53 -0
  153. package/dist/orchestration/request.d.ts.map +1 -0
  154. package/dist/orchestration/request.js +122 -0
  155. package/dist/orchestration/request.js.map +1 -0
  156. package/dist/orchestration/routing.d.ts +21 -0
  157. package/dist/orchestration/routing.d.ts.map +1 -0
  158. package/dist/orchestration/routing.js +90 -0
  159. package/dist/orchestration/routing.js.map +1 -0
  160. package/dist/orchestration/source-slot.d.ts +99 -0
  161. package/dist/orchestration/source-slot.d.ts.map +1 -0
  162. package/dist/orchestration/source-slot.js +206 -0
  163. package/dist/orchestration/source-slot.js.map +1 -0
  164. package/dist/orchestration/types.d.ts +334 -0
  165. package/dist/orchestration/types.d.ts.map +1 -0
  166. package/dist/orchestration/types.js +11 -0
  167. package/dist/orchestration/types.js.map +1 -0
  168. package/dist/protobuf.d.ts +63 -0
  169. package/dist/protobuf.d.ts.map +1 -0
  170. package/dist/protobuf.js +252 -0
  171. package/dist/protobuf.js.map +1 -0
  172. package/dist/session/_internal/acquire.d.ts +23 -0
  173. package/dist/session/_internal/acquire.d.ts.map +1 -0
  174. package/dist/session/_internal/acquire.js +167 -0
  175. package/dist/session/_internal/acquire.js.map +1 -0
  176. package/dist/session/_internal/cleanup.d.ts +18 -0
  177. package/dist/session/_internal/cleanup.d.ts.map +1 -0
  178. package/dist/session/_internal/cleanup.js +94 -0
  179. package/dist/session/_internal/cleanup.js.map +1 -0
  180. package/dist/session/_internal/lifecycle.d.ts +62 -0
  181. package/dist/session/_internal/lifecycle.d.ts.map +1 -0
  182. package/dist/session/_internal/lifecycle.js +132 -0
  183. package/dist/session/_internal/lifecycle.js.map +1 -0
  184. package/dist/session/_internal/remote.d.ts +28 -0
  185. package/dist/session/_internal/remote.d.ts.map +1 -0
  186. package/dist/session/_internal/remote.js +61 -0
  187. package/dist/session/_internal/remote.js.map +1 -0
  188. package/dist/session/_internal/uploads.d.ts +4 -0
  189. package/dist/session/_internal/uploads.d.ts.map +1 -0
  190. package/dist/session/_internal/uploads.js +33 -0
  191. package/dist/session/_internal/uploads.js.map +1 -0
  192. package/dist/session/commands.d.ts +22 -0
  193. package/dist/session/commands.d.ts.map +1 -0
  194. package/dist/session/commands.js +13 -0
  195. package/dist/session/commands.js.map +1 -0
  196. package/dist/session/files.d.ts +15 -0
  197. package/dist/session/files.d.ts.map +1 -0
  198. package/dist/session/files.js +54 -0
  199. package/dist/session/files.js.map +1 -0
  200. package/dist/session/index.d.ts +76 -0
  201. package/dist/session/index.d.ts.map +1 -0
  202. package/dist/session/index.js +16 -0
  203. package/dist/session/index.js.map +1 -0
  204. package/dist/session/media.d.ts +67 -0
  205. package/dist/session/media.d.ts.map +1 -0
  206. package/dist/session/media.js +2 -0
  207. package/dist/session/media.js.map +1 -0
  208. package/dist/session.d.ts +104 -0
  209. package/dist/session.d.ts.map +1 -0
  210. package/dist/session.js +872 -0
  211. package/dist/session.js.map +1 -0
  212. package/dist/simulation/_internal/source.d.ts +12 -0
  213. package/dist/simulation/_internal/source.d.ts.map +1 -0
  214. package/dist/simulation/_internal/source.js +477 -0
  215. package/dist/simulation/_internal/source.js.map +1 -0
  216. package/dist/simulation/index.d.ts +14 -0
  217. package/dist/simulation/index.d.ts.map +1 -0
  218. package/dist/simulation/index.js +13 -0
  219. package/dist/simulation/index.js.map +1 -0
  220. package/dist/simulation/types.d.ts +29 -0
  221. package/dist/simulation/types.d.ts.map +1 -0
  222. package/dist/simulation/types.js +2 -0
  223. package/dist/simulation/types.js.map +1 -0
  224. package/dist/stats.d.ts +33 -0
  225. package/dist/stats.d.ts.map +1 -0
  226. package/dist/stats.js +134 -0
  227. package/dist/stats.js.map +1 -0
  228. package/dist/testing/Faults.d.ts +4 -0
  229. package/dist/testing/Faults.d.ts.map +1 -0
  230. package/dist/testing/Faults.js +7 -0
  231. package/dist/testing/Faults.js.map +1 -0
  232. package/dist/testing/Png.d.ts +3 -0
  233. package/dist/testing/Png.d.ts.map +1 -0
  234. package/dist/testing/Png.js +68 -0
  235. package/dist/testing/Png.js.map +1 -0
  236. package/dist/testing/index.d.ts +3 -0
  237. package/dist/testing/index.d.ts.map +1 -0
  238. package/dist/testing/index.js +3 -0
  239. package/dist/testing/index.js.map +1 -0
  240. package/dist/wire.d.ts +7 -0
  241. package/dist/wire.d.ts.map +1 -0
  242. package/dist/wire.generated.d.ts +305 -0
  243. package/dist/wire.generated.d.ts.map +1 -0
  244. package/dist/wire.generated.js +1257 -0
  245. package/dist/wire.generated.js.map +1 -0
  246. package/dist/wire.js +5 -0
  247. package/dist/wire.js.map +1 -0
  248. package/notices/effect-LICENSE +21 -0
  249. package/notices/google-protobuf-LICENSE +32 -0
  250. package/notices/owned-webrtc/Effect-MIT.txt +21 -0
  251. package/notices/owned-webrtc/IETF.txt +43 -0
  252. package/notices/owned-webrtc/LICENSE +21 -0
  253. package/notices/owned-webrtc/UPSTREAM.md +20 -0
  254. package/notices/owned-webrtc/VP8-ADAPTATION.md +32 -0
  255. package/notices/owned-webrtc/VP8-AUTHORS.txt +42 -0
  256. package/notices/owned-webrtc/VP8-LICENSE.txt +25 -0
  257. package/notices/owned-webrtc/VP8-PATENTS.txt +21 -0
  258. package/notices/owned-webrtc/Werift-MIT.txt +21 -0
  259. package/notices/owned-webrtc/libvpx-v1.12.0-LICENSE.txt +28 -0
  260. package/notices/owned-webrtc/libvpx-v1.12.0-PATENTS.txt +22 -0
  261. package/notices/owned-webrtc/rfc3711.txt +3139 -0
  262. package/notices/owned-webrtc/str0m-MIT.txt +7 -0
  263. package/notices/owned-webrtc-LICENSE +21 -0
  264. package/notices/reactor-runtime-LICENSE +201 -0
  265. package/notices/reactor-runtime-NOTICE +5 -0
  266. package/notices/reactor-sdk-LICENSE +201 -0
  267. package/package.json +62 -4
@@ -0,0 +1,67 @@
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
+ export interface VideoFrame {
8
+ readonly _tag: "VideoFrame";
9
+ readonly track: string;
10
+ readonly width: number;
11
+ readonly height: number;
12
+ /** Zero means the sender supplied no frame identity. */
13
+ readonly frameId: bigint;
14
+ /** Sender-clock microseconds; zero means absent. */
15
+ readonly timestampMicros: bigint;
16
+ /** Owned BGRA bytes. Retaining a frame never retains native memory. */
17
+ readonly data: Uint8Array;
18
+ readonly metadata: Uint8Array;
19
+ }
20
+ export interface AudioFrame {
21
+ readonly _tag: "AudioFrame";
22
+ readonly track: string;
23
+ readonly sampleRate: number;
24
+ readonly channels: number;
25
+ /** Owned, interleaved signed 16-bit PCM samples. */
26
+ readonly samples: Int16Array;
27
+ }
28
+ /** Observed transport pressure, scoped to one connection generation. */
29
+ export interface MediaPressure {
30
+ readonly closed: boolean;
31
+ readonly queuedControl: number;
32
+ readonly queuedVideo: number;
33
+ readonly queuedAudio: number;
34
+ readonly queuedBytes: number;
35
+ readonly droppedVideo: bigint;
36
+ readonly droppedAudio: bigint;
37
+ readonly pendingRequests: number;
38
+ readonly deliveredVideo: bigint;
39
+ readonly deliveredAudio: bigint;
40
+ }
41
+ /** A peer capability. It owns its bounded buffers and source termination. */
42
+ export interface RawMedia {
43
+ readonly video: (name: string) => Stream.Stream<VideoFrame, ReactorError>;
44
+ readonly audio: (name: string) => Stream.Stream<AudioFrame, ReactorError>;
45
+ readonly snapshot: Effect.Effect<MediaPressure, ReactorError>;
46
+ }
47
+ /**
48
+ * A generation's streams end or fail with their source. Reconnect creates a new
49
+ * value; it never silently replaces the source underneath an existing reader.
50
+ */
51
+ export interface MediaGeneration extends RawMedia {
52
+ readonly generation: bigint;
53
+ readonly tracks: readonly Track[];
54
+ readonly retired: Effect.Effect<never, ReactorError>;
55
+ }
56
+ /** Host track capability bound to one negotiated connection, without DOM types. */
57
+ export interface TrackGeneration {
58
+ readonly generation: bigint;
59
+ readonly tracks: readonly Track[];
60
+ readonly retired: Effect.Effect<never, ReactorError>;
61
+ readonly track: (name: string) => Effect.Effect<MediaTrack, ReactorError, Scope.Scope>;
62
+ readonly publish: (name: string, source: MediaTrack) => Effect.Effect<void, ReactorError>;
63
+ readonly unpublish: (name: string) => Effect.Effect<void, ReactorError>;
64
+ readonly setTrackActive: (name: string, active: boolean) => Effect.Effect<void, ReactorError>;
65
+ readonly setMaxBitrate: (name: string, bitsPerSecond: number) => Effect.Effect<void, ReactorError>;
66
+ }
67
+ //# sourceMappingURL=media.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../src/session/media.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../../src/session/media.ts"],"names":[],"mappings":""}
@@ -0,0 +1,104 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Scope from "effect/Scope";
3
+ import * as Stream from "effect/Stream";
4
+ import { ReactorError } from "./errors.js";
5
+ import type { JsonObject } from "./json.js";
6
+ import { CoordinatorClient } from "./coordinator/_internal/client.js";
7
+ import type { Peer, MediaTrack } from "./PeerTypes.js";
8
+ import * as W from "./wire.generated.js";
9
+ import type { Statistics } from "./stats.js";
10
+ import type { SessionOptions, CloseReport, Snapshot, ReadyState, CommandReply, SessionEvent, Uploaded } from "./SessionTypes.js";
11
+ import { CommandFailure } from "./session/commands.js";
12
+ import type { MediaGeneration, RawMedia, TrackGeneration } from "./session/media.js";
13
+ import type { ReadyConnection } from "./session/_internal/lifecycle.js";
14
+ export type { Status, SessionOptions, CloseReport, Snapshot, CommandReply, SessionEvent, UploadProgress, Uploaded, } from "./SessionTypes.js";
15
+ /** The canonical Reactor state and wire engine for both public host exports.
16
+ * Platform and peer dependencies are supplied by the configured client factory. */
17
+ export declare class Session {
18
+ readonly options: SessionOptions;
19
+ private readonly makePeer;
20
+ private readonly lifecycle;
21
+ private readonly remote;
22
+ private readonly data;
23
+ private readonly control;
24
+ private readonly observations;
25
+ private sequence;
26
+ private readonly sampler;
27
+ private closeGate;
28
+ private closeReport;
29
+ private readonly received;
30
+ private readonly bitrates;
31
+ private readonly commandTimeout;
32
+ private readonly connectTimeout;
33
+ private readonly readyTimeout;
34
+ private readonly heartbeat;
35
+ private readonly uploadBound;
36
+ readonly http: CoordinatorClient;
37
+ constructor(options: SessionOptions, makePeer: () => Peer, http: CoordinatorClient);
38
+ get snapshot(): Snapshot;
39
+ events(options?: {
40
+ readonly capacity?: number;
41
+ readonly maxBytes?: number;
42
+ }): Stream.Stream<SessionEvent, ReactorError>;
43
+ observe(options?: {
44
+ readonly capacity?: number;
45
+ readonly maxBytes?: number;
46
+ }): Effect.Effect<{
47
+ readonly initial: Snapshot;
48
+ readonly revision: bigint;
49
+ readonly events: Stream.Stream<SessionEvent, ReactorError>;
50
+ }, ReactorError, Scope.Scope>;
51
+ private emit;
52
+ private assertCurrent;
53
+ private currentReady;
54
+ private currentRemote;
55
+ private fail;
56
+ private guard;
57
+ private onPeer;
58
+ private receive;
59
+ private flushIce;
60
+ private background;
61
+ private begin;
62
+ /** Allocate or identify one remote session, without opening a peer connection. */
63
+ allocate(): Effect.Effect<string, ReactorError>;
64
+ get id(): string | undefined;
65
+ get rawMedia(): RawMedia | undefined;
66
+ readyState(): Effect.Effect<ReadyState, ReactorError>;
67
+ mediaGeneration(): Effect.Effect<MediaGeneration, ReactorError>;
68
+ trackGeneration(): Effect.Effect<TrackGeneration, ReactorError>;
69
+ /** Internal initial acquisition. Reconnect is a distinct operation and never replays a model command. */
70
+ start(): Effect.Effect<void, ReactorError>;
71
+ reconnect(): Effect.Effect<void, ReactorError>;
72
+ private connectAttempt;
73
+ private request;
74
+ command(type: string, data: unknown, uploads?: ReadonlyMap<string, W.UploadReference>, timeoutMs?: number): Effect.Effect<CommandReply, CommandFailure>;
75
+ private controlRequest;
76
+ private notification;
77
+ ping(): Effect.Effect<void, ReactorError>;
78
+ schema(): Effect.Effect<{
79
+ readonly openapi?: JsonObject;
80
+ readonly raw: W.ModelSchema;
81
+ }, ReactorError>;
82
+ private clip;
83
+ requestClip(seconds: number): Effect.Effect<W.ClipReady, ReactorError>;
84
+ recording(): Effect.Effect<W.ClipReady, ReactorError>;
85
+ private namedTrack;
86
+ private trackOperation;
87
+ setTrackActive(name: string, active: boolean, expected?: ReadyConnection): Effect.Effect<void, ReactorError>;
88
+ /** Native replaceTrack cannot be cancelled. Atomic local ownership transfer is
89
+ * masked; only the bounded native wait is interruptible. An abandoned wait retires
90
+ * this generation, preventing late replacement from racing another sender operation. */
91
+ private replaceSender;
92
+ /** Claims the publisher slot, then attaches a session-owned clone. Caller retains its source track. */
93
+ publish(name: string, source: MediaTrack, expected?: ReadyConnection): Effect.Effect<void, ReactorError>;
94
+ unpublish(name: string, expected?: ReadyConnection): Effect.Effect<void, ReactorError>;
95
+ track(name: string, expected?: ReadyConnection): Effect.Effect<MediaTrack, ReactorError, Scope.Scope>;
96
+ setMaxBitrate(name: string, bitsPerSecond: number, expected?: ReadyConnection): Effect.Effect<void, ReactorError>;
97
+ stats(): Effect.Effect<Statistics, ReactorError>;
98
+ rawStats(): Effect.Effect<readonly unknown[], ReactorError>;
99
+ upload(name: string, mimeType: string, bytes: Uint8Array, timeoutMs?: number): Effect.Effect<Uploaded, ReactorError>;
100
+ /** Idempotent close. Owned-session termination is attempted once; response is not terminal proof. */
101
+ close(): Effect.Effect<CloseReport>;
102
+ isKnownTerminal(): boolean;
103
+ }
104
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}