reactor-effect-client 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (514) hide show
  1. package/NOTICE +7 -2
  2. package/README.md +103 -141
  3. package/dist/Coordinator.d.ts +382 -0
  4. package/dist/Coordinator.d.ts.map +1 -0
  5. package/dist/Coordinator.js +732 -0
  6. package/dist/Coordinator.js.map +1 -0
  7. package/dist/H3.d.ts +159 -0
  8. package/dist/H3.d.ts.map +1 -0
  9. package/dist/H3.js +21 -0
  10. package/dist/H3.js.map +1 -0
  11. package/dist/H3Source.d.ts +93 -0
  12. package/dist/H3Source.d.ts.map +1 -0
  13. package/dist/H3Source.js +401 -0
  14. package/dist/H3Source.js.map +1 -0
  15. package/dist/LocalSource.d.ts +68 -0
  16. package/dist/LocalSource.d.ts.map +1 -0
  17. package/dist/LocalSource.js +354 -0
  18. package/dist/LocalSource.js.map +1 -0
  19. package/dist/Media.d.ts +106 -0
  20. package/dist/Media.d.ts.map +1 -0
  21. package/dist/Media.js +16 -0
  22. package/dist/Media.js.map +1 -0
  23. package/dist/Peer.d.ts +134 -0
  24. package/dist/Peer.d.ts.map +1 -0
  25. package/dist/Peer.js +57 -0
  26. package/dist/Peer.js.map +1 -0
  27. package/dist/Playout.d.ts +724 -0
  28. package/dist/Playout.d.ts.map +1 -0
  29. package/dist/Playout.js +28 -0
  30. package/dist/Playout.js.map +1 -0
  31. package/dist/Reactor.d.ts +135 -0
  32. package/dist/Reactor.d.ts.map +1 -0
  33. package/dist/Reactor.js +158 -0
  34. package/dist/Reactor.js.map +1 -0
  35. package/dist/ReactorError.d.ts +331 -0
  36. package/dist/ReactorError.d.ts.map +1 -0
  37. package/dist/ReactorError.js +316 -0
  38. package/dist/ReactorError.js.map +1 -0
  39. package/dist/ReactorTest.d.ts +383 -0
  40. package/dist/ReactorTest.d.ts.map +1 -0
  41. package/dist/ReactorTest.js +317 -0
  42. package/dist/ReactorTest.js.map +1 -0
  43. package/dist/Session.d.ts +314 -0
  44. package/dist/Session.d.ts.map +1 -0
  45. package/dist/Session.js +51 -0
  46. package/dist/Session.js.map +1 -0
  47. package/dist/index.d.ts +12 -22
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +12 -11
  50. package/dist/index.js.map +1 -1
  51. package/dist/internal/correlator.d.ts +46 -0
  52. package/dist/internal/correlator.d.ts.map +1 -0
  53. package/dist/internal/correlator.js +150 -0
  54. package/dist/internal/correlator.js.map +1 -0
  55. package/dist/internal/deadline.d.ts +24 -0
  56. package/dist/internal/deadline.d.ts.map +1 -0
  57. package/dist/internal/deadline.js +44 -0
  58. package/dist/internal/deadline.js.map +1 -0
  59. package/dist/{h3/_internal/contracts.d.ts → internal/h3/commands.d.ts} +39 -33
  60. package/dist/internal/h3/commands.d.ts.map +1 -0
  61. package/dist/internal/h3/commands.js +128 -0
  62. package/dist/internal/h3/commands.js.map +1 -0
  63. package/dist/{h3 → internal/h3}/messages.d.ts +16 -11
  64. package/dist/internal/h3/messages.d.ts.map +1 -0
  65. package/dist/{h3 → internal/h3}/messages.js +19 -31
  66. package/dist/internal/h3/messages.js.map +1 -0
  67. package/dist/internal/h3/operations.d.ts +145 -0
  68. package/dist/internal/h3/operations.d.ts.map +1 -0
  69. package/dist/internal/h3/operations.js +284 -0
  70. package/dist/internal/h3/operations.js.map +1 -0
  71. package/dist/{h3 → internal/h3}/profile.d.ts +63 -65
  72. package/dist/internal/h3/profile.d.ts.map +1 -0
  73. package/dist/{h3 → internal/h3}/profile.js +39 -39
  74. package/dist/internal/h3/profile.js.map +1 -0
  75. package/dist/internal/h3/provider.d.ts +14 -0
  76. package/dist/internal/h3/provider.d.ts.map +1 -0
  77. package/dist/internal/h3/provider.js +672 -0
  78. package/dist/internal/h3/provider.js.map +1 -0
  79. package/dist/internal/h3/references.d.ts +68 -0
  80. package/dist/internal/h3/references.d.ts.map +1 -0
  81. package/dist/internal/h3/references.js +339 -0
  82. package/dist/internal/h3/references.js.map +1 -0
  83. package/dist/internal/h3/request.d.ts +56 -0
  84. package/dist/internal/h3/request.d.ts.map +1 -0
  85. package/dist/internal/h3/request.js +70 -0
  86. package/dist/internal/h3/request.js.map +1 -0
  87. package/dist/internal/h3/state.d.ts +120 -0
  88. package/dist/internal/h3/state.d.ts.map +1 -0
  89. package/dist/internal/h3/state.js +270 -0
  90. package/dist/internal/h3/state.js.map +1 -0
  91. package/dist/{Submission.d.ts → internal/h3/submission.d.ts} +1 -3
  92. package/dist/internal/h3/submission.d.ts.map +1 -0
  93. package/dist/{Submission.js → internal/h3/submission.js} +1 -9
  94. package/dist/internal/h3/submission.js.map +1 -0
  95. package/dist/internal/hub.d.ts +32 -0
  96. package/dist/internal/hub.d.ts.map +1 -0
  97. package/dist/internal/hub.js +92 -0
  98. package/dist/internal/hub.js.map +1 -0
  99. package/dist/internal/playout/errors.d.ts +51 -0
  100. package/dist/internal/playout/errors.d.ts.map +1 -0
  101. package/dist/internal/playout/errors.js +40 -0
  102. package/dist/internal/playout/errors.js.map +1 -0
  103. package/dist/internal/playout/policy.d.ts +559 -0
  104. package/dist/internal/playout/policy.d.ts.map +1 -0
  105. package/dist/internal/playout/policy.js +2338 -0
  106. package/dist/internal/playout/policy.js.map +1 -0
  107. package/dist/internal/playout/runtime.d.ts +28 -0
  108. package/dist/internal/playout/runtime.d.ts.map +1 -0
  109. package/dist/internal/playout/runtime.js +766 -0
  110. package/dist/internal/playout/runtime.js.map +1 -0
  111. package/dist/internal/playout/tag.d.ts +14 -0
  112. package/dist/internal/playout/tag.d.ts.map +1 -0
  113. package/dist/internal/playout/tag.js +43 -0
  114. package/dist/internal/playout/tag.js.map +1 -0
  115. package/dist/internal/proto/reactor_wire/v1/common_pb.d.ts +55 -0
  116. package/dist/internal/proto/reactor_wire/v1/common_pb.d.ts.map +1 -0
  117. package/dist/internal/proto/reactor_wire/v1/common_pb.js +42 -0
  118. package/dist/internal/proto/reactor_wire/v1/common_pb.js.map +1 -0
  119. package/dist/internal/proto/reactor_wire/v1/control_pb.d.ts +160 -0
  120. package/dist/internal/proto/reactor_wire/v1/control_pb.d.ts.map +1 -0
  121. package/dist/internal/proto/reactor_wire/v1/control_pb.js +21 -0
  122. package/dist/internal/proto/reactor_wire/v1/control_pb.js.map +1 -0
  123. package/dist/internal/proto/reactor_wire/v1/data_pb.d.ts +89 -0
  124. package/dist/internal/proto/reactor_wire/v1/data_pb.d.ts.map +1 -0
  125. package/dist/internal/proto/reactor_wire/v1/data_pb.js +20 -0
  126. package/dist/internal/proto/reactor_wire/v1/data_pb.js.map +1 -0
  127. package/dist/internal/proto/reactor_wire/v1/model_pb.d.ts +85 -0
  128. package/dist/internal/proto/reactor_wire/v1/model_pb.d.ts.map +1 -0
  129. package/dist/internal/proto/reactor_wire/v1/model_pb.js +24 -0
  130. package/dist/internal/proto/reactor_wire/v1/model_pb.js.map +1 -0
  131. package/dist/internal/proto/reactor_wire/v1/platform_pb.d.ts +190 -0
  132. package/dist/internal/proto/reactor_wire/v1/platform_pb.d.ts.map +1 -0
  133. package/dist/internal/proto/reactor_wire/v1/platform_pb.js +54 -0
  134. package/dist/internal/proto/reactor_wire/v1/platform_pb.js.map +1 -0
  135. package/dist/internal/proto/reactor_wire/v1/track_pb.d.ts +88 -0
  136. package/dist/internal/proto/reactor_wire/v1/track_pb.d.ts.map +1 -0
  137. package/dist/internal/proto/reactor_wire/v1/track_pb.js +33 -0
  138. package/dist/internal/proto/reactor_wire/v1/track_pb.js.map +1 -0
  139. package/dist/internal/queue.d.ts +4 -0
  140. package/dist/internal/queue.d.ts.map +1 -0
  141. package/dist/{_internal → internal}/queue.js +0 -9
  142. package/dist/internal/queue.js.map +1 -0
  143. package/dist/internal/reactorTest/coordinator.d.ts +5 -0
  144. package/dist/internal/reactorTest/coordinator.d.ts.map +1 -0
  145. package/dist/internal/reactorTest/coordinator.js +178 -0
  146. package/dist/internal/reactorTest/coordinator.js.map +1 -0
  147. package/dist/internal/reactorTest/faults.d.ts +172 -0
  148. package/dist/internal/reactorTest/faults.d.ts.map +1 -0
  149. package/dist/internal/reactorTest/faults.js +23 -0
  150. package/dist/internal/reactorTest/faults.js.map +1 -0
  151. package/dist/internal/reactorTest/h3.d.ts +431 -0
  152. package/dist/internal/reactorTest/h3.d.ts.map +1 -0
  153. package/dist/internal/reactorTest/h3.js +625 -0
  154. package/dist/internal/reactorTest/h3.js.map +1 -0
  155. package/dist/internal/reactorTest/media.d.ts +22 -0
  156. package/dist/internal/reactorTest/media.d.ts.map +1 -0
  157. package/dist/internal/reactorTest/media.js +34 -0
  158. package/dist/internal/reactorTest/media.js.map +1 -0
  159. package/dist/internal/reactorTest/peer.d.ts +318 -0
  160. package/dist/internal/reactorTest/peer.d.ts.map +1 -0
  161. package/dist/internal/reactorTest/peer.js +206 -0
  162. package/dist/internal/reactorTest/peer.js.map +1 -0
  163. package/dist/internal/reactorTest/playout.d.ts +34 -0
  164. package/dist/internal/reactorTest/playout.d.ts.map +1 -0
  165. package/dist/internal/reactorTest/playout.js +340 -0
  166. package/dist/internal/reactorTest/playout.js.map +1 -0
  167. package/dist/internal/reactorTest/references.d.ts +25 -0
  168. package/dist/internal/reactorTest/references.d.ts.map +1 -0
  169. package/dist/{testing/Png.js → internal/reactorTest/references.js} +50 -12
  170. package/dist/internal/reactorTest/references.js.map +1 -0
  171. package/dist/internal/reactorTest/sessions.d.ts +364 -0
  172. package/dist/internal/reactorTest/sessions.d.ts.map +1 -0
  173. package/dist/internal/reactorTest/sessions.js +592 -0
  174. package/dist/internal/reactorTest/sessions.js.map +1 -0
  175. package/dist/internal/reactorTest/timing.d.ts +13 -0
  176. package/dist/internal/reactorTest/timing.d.ts.map +1 -0
  177. package/dist/internal/reactorTest/timing.js +20 -0
  178. package/dist/internal/reactorTest/timing.js.map +1 -0
  179. package/dist/internal/recording.d.ts +52 -0
  180. package/dist/internal/recording.d.ts.map +1 -0
  181. package/dist/internal/recording.js +141 -0
  182. package/dist/internal/recording.js.map +1 -0
  183. package/dist/internal/session/connect.d.ts +34 -0
  184. package/dist/internal/session/connect.d.ts.map +1 -0
  185. package/dist/internal/session/connect.js +502 -0
  186. package/dist/internal/session/connect.js.map +1 -0
  187. package/dist/internal/session/generation.d.ts +35 -0
  188. package/dist/internal/session/generation.d.ts.map +1 -0
  189. package/dist/internal/session/generation.js +185 -0
  190. package/dist/internal/session/generation.js.map +1 -0
  191. package/dist/internal/session/ice.d.ts +23 -0
  192. package/dist/internal/session/ice.d.ts.map +1 -0
  193. package/dist/internal/session/ice.js +57 -0
  194. package/dist/internal/session/ice.js.map +1 -0
  195. package/dist/internal/session/inbound.d.ts +50 -0
  196. package/dist/internal/session/inbound.d.ts.map +1 -0
  197. package/dist/internal/session/inbound.js +202 -0
  198. package/dist/internal/session/inbound.js.map +1 -0
  199. package/dist/internal/session/model.d.ts +163 -0
  200. package/dist/internal/session/model.d.ts.map +1 -0
  201. package/dist/internal/session/model.js +78 -0
  202. package/dist/internal/session/model.js.map +1 -0
  203. package/dist/internal/session/requests.d.ts +71 -0
  204. package/dist/internal/session/requests.d.ts.map +1 -0
  205. package/dist/internal/session/requests.js +240 -0
  206. package/dist/internal/session/requests.js.map +1 -0
  207. package/dist/internal/session/tracks.d.ts +21 -0
  208. package/dist/internal/session/tracks.d.ts.map +1 -0
  209. package/dist/internal/session/tracks.js +166 -0
  210. package/dist/internal/session/tracks.js.map +1 -0
  211. package/dist/internal/session/upload.d.ts +21 -0
  212. package/dist/internal/session/upload.d.ts.map +1 -0
  213. package/dist/internal/session/upload.js +68 -0
  214. package/dist/internal/session/upload.js.map +1 -0
  215. package/dist/internal/session.d.ts +66 -0
  216. package/dist/internal/session.d.ts.map +1 -0
  217. package/dist/internal/session.js +280 -0
  218. package/dist/internal/session.js.map +1 -0
  219. package/dist/{stats.d.ts → internal/stats.d.ts} +30 -16
  220. package/dist/internal/stats.d.ts.map +1 -0
  221. package/dist/internal/stats.js +201 -0
  222. package/dist/internal/stats.js.map +1 -0
  223. package/dist/internal/token.d.ts +22 -0
  224. package/dist/internal/token.d.ts.map +1 -0
  225. package/dist/internal/token.js +65 -0
  226. package/dist/internal/token.js.map +1 -0
  227. package/dist/internal/wire.d.ts +37 -0
  228. package/dist/internal/wire.d.ts.map +1 -0
  229. package/dist/internal/wire.js +49 -0
  230. package/dist/internal/wire.js.map +1 -0
  231. package/notices/bufbuild-protobuf-LICENSE +201 -0
  232. package/package.json +17 -38
  233. package/dist/FetchHttp.d.ts +0 -9
  234. package/dist/FetchHttp.d.ts.map +0 -1
  235. package/dist/FetchHttp.js +0 -63
  236. package/dist/FetchHttp.js.map +0 -1
  237. package/dist/PeerFactory.d.ts +0 -26
  238. package/dist/PeerFactory.d.ts.map +0 -1
  239. package/dist/PeerFactory.js +0 -4
  240. package/dist/PeerFactory.js.map +0 -1
  241. package/dist/PeerTypes.d.ts +0 -64
  242. package/dist/PeerTypes.d.ts.map +0 -1
  243. package/dist/PeerTypes.js +0 -2
  244. package/dist/PeerTypes.js.map +0 -1
  245. package/dist/Sequence.d.ts +0 -85
  246. package/dist/Sequence.d.ts.map +0 -1
  247. package/dist/Sequence.js +0 -210
  248. package/dist/Sequence.js.map +0 -1
  249. package/dist/SessionTypes.d.ts +0 -312
  250. package/dist/SessionTypes.d.ts.map +0 -1
  251. package/dist/SessionTypes.js +0 -19
  252. package/dist/SessionTypes.js.map +0 -1
  253. package/dist/Submission.d.ts.map +0 -1
  254. package/dist/Submission.js.map +0 -1
  255. package/dist/_internal/queue.d.ts +0 -6
  256. package/dist/_internal/queue.d.ts.map +0 -1
  257. package/dist/_internal/queue.js.map +0 -1
  258. package/dist/bytes.d.ts +0 -6
  259. package/dist/bytes.d.ts.map +0 -1
  260. package/dist/bytes.js +0 -32
  261. package/dist/bytes.js.map +0 -1
  262. package/dist/contract.d.ts +0 -149
  263. package/dist/contract.d.ts.map +0 -1
  264. package/dist/contract.js +0 -119
  265. package/dist/contract.js.map +0 -1
  266. package/dist/coordinator/_internal/client.d.ts +0 -215
  267. package/dist/coordinator/_internal/client.d.ts.map +0 -1
  268. package/dist/coordinator/_internal/client.js +0 -563
  269. package/dist/coordinator/_internal/client.js.map +0 -1
  270. package/dist/coordinator/_internal/recording.d.ts +0 -31
  271. package/dist/coordinator/_internal/recording.d.ts.map +0 -1
  272. package/dist/coordinator/_internal/recording.js +0 -123
  273. package/dist/coordinator/_internal/recording.js.map +0 -1
  274. package/dist/coordinator/_internal/response.d.ts +0 -15
  275. package/dist/coordinator/_internal/response.d.ts.map +0 -1
  276. package/dist/coordinator/_internal/response.js +0 -55
  277. package/dist/coordinator/_internal/response.js.map +0 -1
  278. package/dist/coordinator/_internal/schemas.d.ts +0 -73
  279. package/dist/coordinator/_internal/schemas.d.ts.map +0 -1
  280. package/dist/coordinator/_internal/schemas.js +0 -200
  281. package/dist/coordinator/_internal/schemas.js.map +0 -1
  282. package/dist/coordinator/index.d.ts +0 -40
  283. package/dist/coordinator/index.d.ts.map +0 -1
  284. package/dist/coordinator/index.js +0 -21
  285. package/dist/coordinator/index.js.map +0 -1
  286. package/dist/correlation.d.ts +0 -47
  287. package/dist/correlation.d.ts.map +0 -1
  288. package/dist/correlation.js +0 -131
  289. package/dist/correlation.js.map +0 -1
  290. package/dist/duration.d.ts +0 -27
  291. package/dist/duration.d.ts.map +0 -1
  292. package/dist/duration.js +0 -47
  293. package/dist/duration.js.map +0 -1
  294. package/dist/errors.d.ts +0 -1303
  295. package/dist/errors.d.ts.map +0 -1
  296. package/dist/errors.js +0 -745
  297. package/dist/errors.js.map +0 -1
  298. package/dist/h3/_internal/client.d.ts +0 -9
  299. package/dist/h3/_internal/client.d.ts.map +0 -1
  300. package/dist/h3/_internal/client.js +0 -652
  301. package/dist/h3/_internal/client.js.map +0 -1
  302. package/dist/h3/_internal/contracts.d.ts.map +0 -1
  303. package/dist/h3/_internal/contracts.js +0 -123
  304. package/dist/h3/_internal/contracts.js.map +0 -1
  305. package/dist/h3/_internal/deployment.d.ts +0 -8
  306. package/dist/h3/_internal/deployment.d.ts.map +0 -1
  307. package/dist/h3/_internal/deployment.js +0 -149
  308. package/dist/h3/_internal/deployment.js.map +0 -1
  309. package/dist/h3/_internal/evidence.d.ts +0 -17
  310. package/dist/h3/_internal/evidence.d.ts.map +0 -1
  311. package/dist/h3/_internal/evidence.js +0 -48
  312. package/dist/h3/_internal/evidence.js.map +0 -1
  313. package/dist/h3/_internal/operations.d.ts +0 -58
  314. package/dist/h3/_internal/operations.d.ts.map +0 -1
  315. package/dist/h3/_internal/operations.js +0 -268
  316. package/dist/h3/_internal/operations.js.map +0 -1
  317. package/dist/h3/_internal/references.d.ts +0 -24
  318. package/dist/h3/_internal/references.d.ts.map +0 -1
  319. package/dist/h3/_internal/references.js +0 -309
  320. package/dist/h3/_internal/references.js.map +0 -1
  321. package/dist/h3/_internal/request.d.ts +0 -21
  322. package/dist/h3/_internal/request.d.ts.map +0 -1
  323. package/dist/h3/_internal/request.js +0 -97
  324. package/dist/h3/_internal/request.js.map +0 -1
  325. package/dist/h3/_internal/retained.d.ts +0 -22
  326. package/dist/h3/_internal/retained.d.ts.map +0 -1
  327. package/dist/h3/_internal/retained.js +0 -89
  328. package/dist/h3/_internal/retained.js.map +0 -1
  329. package/dist/h3/_internal/state.d.ts +0 -44
  330. package/dist/h3/_internal/state.d.ts.map +0 -1
  331. package/dist/h3/_internal/state.js +0 -283
  332. package/dist/h3/_internal/state.js.map +0 -1
  333. package/dist/h3/index.d.ts +0 -10
  334. package/dist/h3/index.d.ts.map +0 -1
  335. package/dist/h3/index.js +0 -7
  336. package/dist/h3/index.js.map +0 -1
  337. package/dist/h3/messages.d.ts.map +0 -1
  338. package/dist/h3/messages.js.map +0 -1
  339. package/dist/h3/profile.d.ts.map +0 -1
  340. package/dist/h3/profile.js.map +0 -1
  341. package/dist/h3/types.d.ts +0 -291
  342. package/dist/h3/types.d.ts.map +0 -1
  343. package/dist/h3/types.js +0 -2
  344. package/dist/h3/types.js.map +0 -1
  345. package/dist/host.d.ts +0 -26
  346. package/dist/host.d.ts.map +0 -1
  347. package/dist/host.js +0 -20
  348. package/dist/host.js.map +0 -1
  349. package/dist/json.d.ts +0 -25
  350. package/dist/json.d.ts.map +0 -1
  351. package/dist/json.js +0 -143
  352. package/dist/json.js.map +0 -1
  353. package/dist/media-stream.d.ts +0 -10
  354. package/dist/media-stream.d.ts.map +0 -1
  355. package/dist/media-stream.js +0 -18
  356. package/dist/media-stream.js.map +0 -1
  357. package/dist/observation.d.ts +0 -38
  358. package/dist/observation.d.ts.map +0 -1
  359. package/dist/observation.js +0 -113
  360. package/dist/observation.js.map +0 -1
  361. package/dist/orchestration/elapsed.d.ts +0 -9
  362. package/dist/orchestration/elapsed.d.ts.map +0 -1
  363. package/dist/orchestration/elapsed.js +0 -8
  364. package/dist/orchestration/elapsed.js.map +0 -1
  365. package/dist/orchestration/h3-source.d.ts +0 -58
  366. package/dist/orchestration/h3-source.d.ts.map +0 -1
  367. package/dist/orchestration/h3-source.js +0 -362
  368. package/dist/orchestration/h3-source.js.map +0 -1
  369. package/dist/orchestration/index.d.ts +0 -17
  370. package/dist/orchestration/index.d.ts.map +0 -1
  371. package/dist/orchestration/index.js +0 -12
  372. package/dist/orchestration/index.js.map +0 -1
  373. package/dist/orchestration/media-buffer.d.ts +0 -32
  374. package/dist/orchestration/media-buffer.d.ts.map +0 -1
  375. package/dist/orchestration/media-buffer.js +0 -94
  376. package/dist/orchestration/media-buffer.js.map +0 -1
  377. package/dist/orchestration/open-h3.d.ts +0 -101
  378. package/dist/orchestration/open-h3.d.ts.map +0 -1
  379. package/dist/orchestration/open-h3.js +0 -127
  380. package/dist/orchestration/open-h3.js.map +0 -1
  381. package/dist/orchestration/queries.d.ts +0 -10
  382. package/dist/orchestration/queries.d.ts.map +0 -1
  383. package/dist/orchestration/queries.js +0 -43
  384. package/dist/orchestration/queries.js.map +0 -1
  385. package/dist/orchestration/references.d.ts +0 -18
  386. package/dist/orchestration/references.d.ts.map +0 -1
  387. package/dist/orchestration/references.js +0 -79
  388. package/dist/orchestration/references.js.map +0 -1
  389. package/dist/orchestration/renewal-state.d.ts +0 -84
  390. package/dist/orchestration/renewal-state.d.ts.map +0 -1
  391. package/dist/orchestration/renewal-state.js +0 -95
  392. package/dist/orchestration/renewal-state.js.map +0 -1
  393. package/dist/orchestration/renewal.d.ts +0 -103
  394. package/dist/orchestration/renewal.d.ts.map +0 -1
  395. package/dist/orchestration/renewal.js +0 -1088
  396. package/dist/orchestration/renewal.js.map +0 -1
  397. package/dist/orchestration/request.d.ts +0 -65
  398. package/dist/orchestration/request.d.ts.map +0 -1
  399. package/dist/orchestration/request.js +0 -134
  400. package/dist/orchestration/request.js.map +0 -1
  401. package/dist/orchestration/retention.d.ts +0 -100
  402. package/dist/orchestration/retention.d.ts.map +0 -1
  403. package/dist/orchestration/retention.js +0 -134
  404. package/dist/orchestration/retention.js.map +0 -1
  405. package/dist/orchestration/routing.d.ts +0 -21
  406. package/dist/orchestration/routing.d.ts.map +0 -1
  407. package/dist/orchestration/routing.js +0 -93
  408. package/dist/orchestration/routing.js.map +0 -1
  409. package/dist/orchestration/scheduler-key.d.ts +0 -14
  410. package/dist/orchestration/scheduler-key.d.ts.map +0 -1
  411. package/dist/orchestration/scheduler-key.js +0 -62
  412. package/dist/orchestration/scheduler-key.js.map +0 -1
  413. package/dist/orchestration/scheduler-policy.d.ts +0 -222
  414. package/dist/orchestration/scheduler-policy.d.ts.map +0 -1
  415. package/dist/orchestration/scheduler-policy.js +0 -582
  416. package/dist/orchestration/scheduler-policy.js.map +0 -1
  417. package/dist/orchestration/scheduler.d.ts +0 -383
  418. package/dist/orchestration/scheduler.d.ts.map +0 -1
  419. package/dist/orchestration/scheduler.js +0 -2597
  420. package/dist/orchestration/scheduler.js.map +0 -1
  421. package/dist/orchestration/source-slot.d.ts +0 -124
  422. package/dist/orchestration/source-slot.d.ts.map +0 -1
  423. package/dist/orchestration/source-slot.js +0 -348
  424. package/dist/orchestration/source-slot.js.map +0 -1
  425. package/dist/orchestration/types.d.ts +0 -1462
  426. package/dist/orchestration/types.d.ts.map +0 -1
  427. package/dist/orchestration/types.js +0 -135
  428. package/dist/orchestration/types.js.map +0 -1
  429. package/dist/protobuf.d.ts +0 -63
  430. package/dist/protobuf.d.ts.map +0 -1
  431. package/dist/protobuf.js +0 -252
  432. package/dist/protobuf.js.map +0 -1
  433. package/dist/session/_internal/acquire.d.ts +0 -21
  434. package/dist/session/_internal/acquire.d.ts.map +0 -1
  435. package/dist/session/_internal/acquire.js +0 -168
  436. package/dist/session/_internal/acquire.js.map +0 -1
  437. package/dist/session/_internal/cleanup.d.ts +0 -19
  438. package/dist/session/_internal/cleanup.d.ts.map +0 -1
  439. package/dist/session/_internal/cleanup.js +0 -102
  440. package/dist/session/_internal/cleanup.js.map +0 -1
  441. package/dist/session/_internal/lifecycle.d.ts +0 -67
  442. package/dist/session/_internal/lifecycle.d.ts.map +0 -1
  443. package/dist/session/_internal/lifecycle.js +0 -142
  444. package/dist/session/_internal/lifecycle.js.map +0 -1
  445. package/dist/session/_internal/remote.d.ts +0 -28
  446. package/dist/session/_internal/remote.d.ts.map +0 -1
  447. package/dist/session/_internal/remote.js +0 -71
  448. package/dist/session/_internal/remote.js.map +0 -1
  449. package/dist/session/_internal/uploads.d.ts +0 -7
  450. package/dist/session/_internal/uploads.d.ts.map +0 -1
  451. package/dist/session/_internal/uploads.js +0 -31
  452. package/dist/session/_internal/uploads.js.map +0 -1
  453. package/dist/session/commands.d.ts +0 -2
  454. package/dist/session/commands.d.ts.map +0 -1
  455. package/dist/session/commands.js +0 -2
  456. package/dist/session/commands.js.map +0 -1
  457. package/dist/session/files.d.ts +0 -21
  458. package/dist/session/files.d.ts.map +0 -1
  459. package/dist/session/files.js +0 -49
  460. package/dist/session/files.js.map +0 -1
  461. package/dist/session/index.d.ts +0 -84
  462. package/dist/session/index.d.ts.map +0 -1
  463. package/dist/session/index.js +0 -16
  464. package/dist/session/index.js.map +0 -1
  465. package/dist/session/media.d.ts +0 -114
  466. package/dist/session/media.d.ts.map +0 -1
  467. package/dist/session/media.js +0 -2
  468. package/dist/session/media.js.map +0 -1
  469. package/dist/session/recorder.d.ts +0 -24
  470. package/dist/session/recorder.d.ts.map +0 -1
  471. package/dist/session/recorder.js +0 -19
  472. package/dist/session/recorder.js.map +0 -1
  473. package/dist/session.d.ts +0 -105
  474. package/dist/session.d.ts.map +0 -1
  475. package/dist/session.js +0 -976
  476. package/dist/session.js.map +0 -1
  477. package/dist/simulation/_internal/source.d.ts +0 -12
  478. package/dist/simulation/_internal/source.d.ts.map +0 -1
  479. package/dist/simulation/_internal/source.js +0 -513
  480. package/dist/simulation/_internal/source.js.map +0 -1
  481. package/dist/simulation/index.d.ts +0 -13
  482. package/dist/simulation/index.d.ts.map +0 -1
  483. package/dist/simulation/index.js +0 -12
  484. package/dist/simulation/index.js.map +0 -1
  485. package/dist/simulation/types.d.ts +0 -39
  486. package/dist/simulation/types.d.ts.map +0 -1
  487. package/dist/simulation/types.js +0 -2
  488. package/dist/simulation/types.js.map +0 -1
  489. package/dist/stats.d.ts.map +0 -1
  490. package/dist/stats.js +0 -205
  491. package/dist/stats.js.map +0 -1
  492. package/dist/testing/Faults.d.ts +0 -4
  493. package/dist/testing/Faults.d.ts.map +0 -1
  494. package/dist/testing/Faults.js +0 -7
  495. package/dist/testing/Faults.js.map +0 -1
  496. package/dist/testing/Png.d.ts +0 -3
  497. package/dist/testing/Png.d.ts.map +0 -1
  498. package/dist/testing/Png.js.map +0 -1
  499. package/dist/testing/Wav.d.ts +0 -14
  500. package/dist/testing/Wav.d.ts.map +0 -1
  501. package/dist/testing/Wav.js +0 -37
  502. package/dist/testing/Wav.js.map +0 -1
  503. package/dist/testing/index.d.ts +0 -5
  504. package/dist/testing/index.d.ts.map +0 -1
  505. package/dist/testing/index.js +0 -4
  506. package/dist/testing/index.js.map +0 -1
  507. package/dist/wire.d.ts +0 -7
  508. package/dist/wire.d.ts.map +0 -1
  509. package/dist/wire.generated.d.ts +0 -305
  510. package/dist/wire.generated.d.ts.map +0 -1
  511. package/dist/wire.generated.js +0 -1257
  512. package/dist/wire.generated.js.map +0 -1
  513. package/dist/wire.js +0 -5
  514. 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,2 +0,0 @@
1
- export { CommandContext, CommandFailure } from "../errors.js";
2
- //# sourceMappingURL=commands.d.ts.map
@@ -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"}
@@ -1,2 +0,0 @@
1
- export { CommandContext, CommandFailure } from "../errors.js";
2
- //# sourceMappingURL=commands.js.map
@@ -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"}
@@ -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"}
@@ -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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"}
@@ -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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"}
@@ -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"}
@@ -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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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=media.js.map
@@ -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"}
@@ -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"}