@stream-io/video-client 0.0.1-alpha.7

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 (157) hide show
  1. package/LICENSE +219 -0
  2. package/README.md +14 -0
  3. package/dist/index.d.ts +23 -0
  4. package/dist/index.js +14663 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/src/Batcher.d.ts +12 -0
  7. package/dist/src/CallDropScheduler.d.ts +44 -0
  8. package/dist/src/StreamSfuClient.d.ts +25 -0
  9. package/dist/src/StreamVideoClient.d.ts +145 -0
  10. package/dist/src/__tests__/StreamVideoClient.test.d.ts +1 -0
  11. package/dist/src/config/defaultConfigs.d.ts +2 -0
  12. package/dist/src/config/types.d.ts +29 -0
  13. package/dist/src/coordinator/StreamCoordinatorClient.d.ts +19 -0
  14. package/dist/src/coordinator/connection/base64.d.ts +2 -0
  15. package/dist/src/coordinator/connection/client.d.ts +174 -0
  16. package/dist/src/coordinator/connection/connection.d.ts +139 -0
  17. package/dist/src/coordinator/connection/connection_fallback.d.ts +38 -0
  18. package/dist/src/coordinator/connection/errors.d.ts +16 -0
  19. package/dist/src/coordinator/connection/events.d.ts +7 -0
  20. package/dist/src/coordinator/connection/insights.d.ts +58 -0
  21. package/dist/src/coordinator/connection/signing.d.ts +30 -0
  22. package/dist/src/coordinator/connection/token_manager.d.ts +39 -0
  23. package/dist/src/coordinator/connection/types.d.ts +96 -0
  24. package/dist/src/coordinator/connection/utils.d.ts +25 -0
  25. package/dist/src/devices.d.ts +79 -0
  26. package/dist/src/events/call.d.ts +26 -0
  27. package/dist/src/events/internal.d.ts +8 -0
  28. package/dist/src/events/participant.d.ts +21 -0
  29. package/dist/src/events/speaker.d.ts +10 -0
  30. package/dist/src/gen/coordinator/index.d.ts +1664 -0
  31. package/dist/src/gen/google/protobuf/descriptor.d.ts +1650 -0
  32. package/dist/src/gen/google/protobuf/duration.d.ts +113 -0
  33. package/dist/src/gen/google/protobuf/struct.d.ts +184 -0
  34. package/dist/src/gen/google/protobuf/timestamp.d.ts +158 -0
  35. package/dist/src/gen/video/coordinator/broadcast_v1/broadcast.d.ts +66 -0
  36. package/dist/src/gen/video/coordinator/call_v1/call.d.ts +254 -0
  37. package/dist/src/gen/video/coordinator/client_v1_rpc/client_rpc.client.d.ts +351 -0
  38. package/dist/src/gen/video/coordinator/client_v1_rpc/client_rpc.d.ts +1488 -0
  39. package/dist/src/gen/video/coordinator/client_v1_rpc/envelopes.d.ts +143 -0
  40. package/dist/src/gen/video/coordinator/client_v1_rpc/websocket.d.ts +292 -0
  41. package/dist/src/gen/video/coordinator/edge_v1/edge.d.ts +183 -0
  42. package/dist/src/gen/video/coordinator/event_v1/event.d.ts +411 -0
  43. package/dist/src/gen/video/coordinator/geofence_v1/geofence.d.ts +63 -0
  44. package/dist/src/gen/video/coordinator/member_v1/member.d.ts +59 -0
  45. package/dist/src/gen/video/coordinator/participant_v1/participant.d.ts +103 -0
  46. package/dist/src/gen/video/coordinator/push_v1/push.d.ts +240 -0
  47. package/dist/src/gen/video/coordinator/stat_v1/stat.d.ts +308 -0
  48. package/dist/src/gen/video/coordinator/user_v1/user.d.ts +112 -0
  49. package/dist/src/gen/video/coordinator/utils_v1/utils.d.ts +47 -0
  50. package/dist/src/gen/video/sfu/event/events.d.ts +736 -0
  51. package/dist/src/gen/video/sfu/models/models.d.ts +460 -0
  52. package/dist/src/gen/video/sfu/signal_rpc/signal.client.d.ts +89 -0
  53. package/dist/src/gen/video/sfu/signal_rpc/signal.d.ts +320 -0
  54. package/dist/src/helpers/browsers.d.ts +8 -0
  55. package/dist/src/helpers/sound-detector.d.ts +34 -0
  56. package/dist/src/rpc/createClient.d.ts +10 -0
  57. package/dist/src/rpc/index.d.ts +2 -0
  58. package/dist/src/rpc/latency.d.ts +9 -0
  59. package/dist/src/rtc/Call.d.ts +180 -0
  60. package/dist/src/rtc/CallMetadata.d.ts +9 -0
  61. package/dist/src/rtc/Dispatcher.d.ts +9 -0
  62. package/dist/src/rtc/IceTrickleBuffer.d.ts +11 -0
  63. package/dist/src/rtc/callEventHandlers.d.ts +5 -0
  64. package/dist/src/rtc/codecs.d.ts +2 -0
  65. package/dist/src/rtc/helpers/iceCandidate.d.ts +2 -0
  66. package/dist/src/rtc/helpers/tracks.d.ts +3 -0
  67. package/dist/src/rtc/publisher.d.ts +53 -0
  68. package/dist/src/rtc/signal.d.ts +5 -0
  69. package/dist/src/rtc/subscriber.d.ts +7 -0
  70. package/dist/src/rtc/types.d.ts +84 -0
  71. package/dist/src/rtc/videoLayers.d.ts +17 -0
  72. package/dist/src/stats/coordinator-stats-reporter.d.ts +10 -0
  73. package/dist/src/stats/state-store-stats-reporter.d.ts +57 -0
  74. package/dist/src/stats/types.d.ts +42 -0
  75. package/dist/src/store/index.d.ts +2 -0
  76. package/dist/src/store/rxUtils.d.ts +18 -0
  77. package/dist/src/store/stateStore.d.ts +182 -0
  78. package/generate-openapi.sh +32 -0
  79. package/index.ts +30 -0
  80. package/openapitools.json +7 -0
  81. package/package.json +54 -0
  82. package/rollup.config.mjs +48 -0
  83. package/src/Batcher.ts +43 -0
  84. package/src/CallDropScheduler.ts +192 -0
  85. package/src/StreamSfuClient.ts +185 -0
  86. package/src/StreamVideoClient.ts +487 -0
  87. package/src/__tests__/StreamVideoClient.test.ts +83 -0
  88. package/src/config/defaultConfigs.ts +15 -0
  89. package/src/config/types.ts +30 -0
  90. package/src/coordinator/StreamCoordinatorClient.ts +111 -0
  91. package/src/coordinator/connection/base64.ts +80 -0
  92. package/src/coordinator/connection/client.ts +815 -0
  93. package/src/coordinator/connection/connection.ts +750 -0
  94. package/src/coordinator/connection/connection_fallback.ts +239 -0
  95. package/src/coordinator/connection/errors.ts +70 -0
  96. package/src/coordinator/connection/events.ts +10 -0
  97. package/src/coordinator/connection/insights.ts +88 -0
  98. package/src/coordinator/connection/signing.ts +104 -0
  99. package/src/coordinator/connection/token_manager.ts +160 -0
  100. package/src/coordinator/connection/types.ts +120 -0
  101. package/src/coordinator/connection/utils.ts +148 -0
  102. package/src/devices.ts +266 -0
  103. package/src/events/call.ts +166 -0
  104. package/src/events/internal.ts +47 -0
  105. package/src/events/participant.ts +97 -0
  106. package/src/events/speaker.ts +62 -0
  107. package/src/gen/coordinator/index.ts +1653 -0
  108. package/src/gen/google/protobuf/descriptor.ts +3466 -0
  109. package/src/gen/google/protobuf/duration.ts +232 -0
  110. package/src/gen/google/protobuf/struct.ts +481 -0
  111. package/src/gen/google/protobuf/timestamp.ts +291 -0
  112. package/src/gen/video/coordinator/broadcast_v1/broadcast.ts +154 -0
  113. package/src/gen/video/coordinator/call_v1/call.ts +651 -0
  114. package/src/gen/video/coordinator/client_v1_rpc/client_rpc.client.ts +463 -0
  115. package/src/gen/video/coordinator/client_v1_rpc/client_rpc.ts +3819 -0
  116. package/src/gen/video/coordinator/client_v1_rpc/envelopes.ts +424 -0
  117. package/src/gen/video/coordinator/client_v1_rpc/websocket.ts +719 -0
  118. package/src/gen/video/coordinator/edge_v1/edge.ts +532 -0
  119. package/src/gen/video/coordinator/event_v1/event.ts +1171 -0
  120. package/src/gen/video/coordinator/geofence_v1/geofence.ts +128 -0
  121. package/src/gen/video/coordinator/member_v1/member.ts +138 -0
  122. package/src/gen/video/coordinator/participant_v1/participant.ts +261 -0
  123. package/src/gen/video/coordinator/push_v1/push.ts +651 -0
  124. package/src/gen/video/coordinator/stat_v1/stat.ts +656 -0
  125. package/src/gen/video/coordinator/user_v1/user.ts +277 -0
  126. package/src/gen/video/coordinator/utils_v1/utils.ts +98 -0
  127. package/src/gen/video/sfu/event/events.ts +1962 -0
  128. package/src/gen/video/sfu/models/models.ts +1062 -0
  129. package/src/gen/video/sfu/signal_rpc/signal.client.ts +108 -0
  130. package/src/gen/video/sfu/signal_rpc/signal.ts +906 -0
  131. package/src/helpers/browsers.ts +13 -0
  132. package/src/helpers/sound-detector.ts +85 -0
  133. package/src/rpc/createClient.ts +50 -0
  134. package/src/rpc/index.ts +2 -0
  135. package/src/rpc/latency.ts +43 -0
  136. package/src/rtc/Call.ts +585 -0
  137. package/src/rtc/CallMetadata.ts +24 -0
  138. package/src/rtc/Dispatcher.ts +46 -0
  139. package/src/rtc/IceTrickleBuffer.ts +21 -0
  140. package/src/rtc/callEventHandlers.ts +37 -0
  141. package/src/rtc/codecs.ts +61 -0
  142. package/src/rtc/helpers/iceCandidate.ts +16 -0
  143. package/src/rtc/helpers/tracks.ts +18 -0
  144. package/src/rtc/publisher.ts +305 -0
  145. package/src/rtc/signal.ts +34 -0
  146. package/src/rtc/subscriber.ts +85 -0
  147. package/src/rtc/types.ts +105 -0
  148. package/src/rtc/videoLayers.ts +103 -0
  149. package/src/stats/coordinator-stats-reporter.ts +167 -0
  150. package/src/stats/state-store-stats-reporter.ts +364 -0
  151. package/src/stats/types.ts +46 -0
  152. package/src/store/index.ts +2 -0
  153. package/src/store/rxUtils.ts +42 -0
  154. package/src/store/stateStore.ts +341 -0
  155. package/tsconfig.json +25 -0
  156. package/typedoc.json +11 -0
  157. package/vite.config.ts +11 -0
@@ -0,0 +1,240 @@
1
+ import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
2
+ import type { IBinaryWriter } from "@protobuf-ts/runtime";
3
+ import type { BinaryReadOptions } from "@protobuf-ts/runtime";
4
+ import type { IBinaryReader } from "@protobuf-ts/runtime";
5
+ import type { PartialMessage } from "@protobuf-ts/runtime";
6
+ import { MessageType } from "@protobuf-ts/runtime";
7
+ import { Timestamp } from "../../../google/protobuf/timestamp";
8
+ /**
9
+ * Keep in sync with stream.config.push.PushProvider
10
+ *
11
+ * @generated from protobuf message stream.video.coordinator.push_v1.PushProvider
12
+ */
13
+ export interface PushProvider {
14
+ /**
15
+ * @generated from protobuf field: string id = 1;
16
+ */
17
+ id: string;
18
+ /**
19
+ * @generated from protobuf field: bool disabled = 2;
20
+ */
21
+ disabled: boolean;
22
+ /**
23
+ * @generated from protobuf field: string disabled_reason = 3;
24
+ */
25
+ disabledReason: string;
26
+ /**
27
+ * @generated from protobuf field: google.protobuf.Timestamp created_at = 4;
28
+ */
29
+ createdAt?: Timestamp;
30
+ /**
31
+ * @generated from protobuf field: google.protobuf.Timestamp updated_at = 5;
32
+ */
33
+ updatedAt?: Timestamp;
34
+ /**
35
+ * @generated from protobuf oneof: credentials
36
+ */
37
+ credentials: {
38
+ oneofKind: "apn";
39
+ /**
40
+ * @generated from protobuf field: stream.video.coordinator.push_v1.ApnCredentials apn = 6;
41
+ */
42
+ apn: ApnCredentials;
43
+ } | {
44
+ oneofKind: "firebase";
45
+ /**
46
+ * @generated from protobuf field: stream.video.coordinator.push_v1.FirebaseCredentials firebase = 7;
47
+ */
48
+ firebase: FirebaseCredentials;
49
+ } | {
50
+ oneofKind: "huawei";
51
+ /**
52
+ * @generated from protobuf field: stream.video.coordinator.push_v1.HuaweiCredentials huawei = 8;
53
+ */
54
+ huawei: HuaweiCredentials;
55
+ } | {
56
+ oneofKind: "xiaomi";
57
+ /**
58
+ * @generated from protobuf field: stream.video.coordinator.push_v1.XiaomiCredentials xiaomi = 9;
59
+ */
60
+ xiaomi: XiaomiCredentials;
61
+ } | {
62
+ oneofKind: undefined;
63
+ };
64
+ }
65
+ /**
66
+ * @generated from protobuf message stream.video.coordinator.push_v1.ApnCredentials
67
+ */
68
+ export interface ApnCredentials {
69
+ /**
70
+ * @generated from protobuf field: bytes certificate_p12 = 1;
71
+ */
72
+ certificateP12: Uint8Array;
73
+ /**
74
+ * @generated from protobuf field: string topic = 2;
75
+ */
76
+ topic: string;
77
+ /**
78
+ * @generated from protobuf field: string team_id = 3;
79
+ */
80
+ teamId: string;
81
+ }
82
+ /**
83
+ * @generated from protobuf message stream.video.coordinator.push_v1.FirebaseCredentials
84
+ */
85
+ export interface FirebaseCredentials {
86
+ /**
87
+ * @generated from protobuf field: string credentials = 1;
88
+ */
89
+ credentials: string;
90
+ }
91
+ /**
92
+ * @generated from protobuf message stream.video.coordinator.push_v1.HuaweiCredentials
93
+ */
94
+ export interface HuaweiCredentials {
95
+ /**
96
+ * @generated from protobuf field: string id = 1;
97
+ */
98
+ id: string;
99
+ /**
100
+ * @generated from protobuf field: string secret = 2;
101
+ */
102
+ secret: string;
103
+ }
104
+ /**
105
+ * @generated from protobuf message stream.video.coordinator.push_v1.XiaomiCredentials
106
+ */
107
+ export interface XiaomiCredentials {
108
+ /**
109
+ * @generated from protobuf field: string package_name = 1;
110
+ */
111
+ packageName: string;
112
+ /**
113
+ * @generated from protobuf field: string secret = 2;
114
+ */
115
+ secret: string;
116
+ }
117
+ /**
118
+ * @generated from protobuf message stream.video.coordinator.push_v1.Device
119
+ */
120
+ export interface Device {
121
+ /**
122
+ * @generated from protobuf field: string user_id = 1;
123
+ */
124
+ userId: string;
125
+ /**
126
+ * @generated from protobuf field: string id = 2;
127
+ */
128
+ id: string;
129
+ /**
130
+ * @generated from protobuf field: bool disabled = 3;
131
+ */
132
+ disabled: boolean;
133
+ /**
134
+ * @generated from protobuf field: string disabled_reason = 4;
135
+ */
136
+ disabledReason: string;
137
+ /**
138
+ * @generated from protobuf field: string push_provider_name = 5;
139
+ */
140
+ pushProviderName: string;
141
+ /**
142
+ * @generated from protobuf field: google.protobuf.Timestamp created_at = 6;
143
+ */
144
+ createdAt?: Timestamp;
145
+ /**
146
+ * @generated from protobuf field: google.protobuf.Timestamp updated_at = 7;
147
+ */
148
+ updatedAt?: Timestamp;
149
+ }
150
+ /**
151
+ * An object that is used in requests to create or update a device
152
+ *
153
+ * @generated from protobuf message stream.video.coordinator.push_v1.DeviceInput
154
+ */
155
+ export interface DeviceInput {
156
+ /**
157
+ * Unique device ID, specific to a provider
158
+ *
159
+ * @generated from protobuf field: string id = 1;
160
+ */
161
+ id: string;
162
+ /**
163
+ * Push provider ID, as configured in application push notification settings
164
+ * Refers to a set of credentials and templates of one of the supported push providers
165
+ *
166
+ * @generated from protobuf field: string push_provider_id = 2;
167
+ */
168
+ pushProviderId: string;
169
+ }
170
+ declare class PushProvider$Type extends MessageType<PushProvider> {
171
+ constructor();
172
+ create(value?: PartialMessage<PushProvider>): PushProvider;
173
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PushProvider): PushProvider;
174
+ internalBinaryWrite(message: PushProvider, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
175
+ }
176
+ /**
177
+ * @generated MessageType for protobuf message stream.video.coordinator.push_v1.PushProvider
178
+ */
179
+ export declare const PushProvider: PushProvider$Type;
180
+ declare class ApnCredentials$Type extends MessageType<ApnCredentials> {
181
+ constructor();
182
+ create(value?: PartialMessage<ApnCredentials>): ApnCredentials;
183
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ApnCredentials): ApnCredentials;
184
+ internalBinaryWrite(message: ApnCredentials, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
185
+ }
186
+ /**
187
+ * @generated MessageType for protobuf message stream.video.coordinator.push_v1.ApnCredentials
188
+ */
189
+ export declare const ApnCredentials: ApnCredentials$Type;
190
+ declare class FirebaseCredentials$Type extends MessageType<FirebaseCredentials> {
191
+ constructor();
192
+ create(value?: PartialMessage<FirebaseCredentials>): FirebaseCredentials;
193
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: FirebaseCredentials): FirebaseCredentials;
194
+ internalBinaryWrite(message: FirebaseCredentials, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
195
+ }
196
+ /**
197
+ * @generated MessageType for protobuf message stream.video.coordinator.push_v1.FirebaseCredentials
198
+ */
199
+ export declare const FirebaseCredentials: FirebaseCredentials$Type;
200
+ declare class HuaweiCredentials$Type extends MessageType<HuaweiCredentials> {
201
+ constructor();
202
+ create(value?: PartialMessage<HuaweiCredentials>): HuaweiCredentials;
203
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: HuaweiCredentials): HuaweiCredentials;
204
+ internalBinaryWrite(message: HuaweiCredentials, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
205
+ }
206
+ /**
207
+ * @generated MessageType for protobuf message stream.video.coordinator.push_v1.HuaweiCredentials
208
+ */
209
+ export declare const HuaweiCredentials: HuaweiCredentials$Type;
210
+ declare class XiaomiCredentials$Type extends MessageType<XiaomiCredentials> {
211
+ constructor();
212
+ create(value?: PartialMessage<XiaomiCredentials>): XiaomiCredentials;
213
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: XiaomiCredentials): XiaomiCredentials;
214
+ internalBinaryWrite(message: XiaomiCredentials, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
215
+ }
216
+ /**
217
+ * @generated MessageType for protobuf message stream.video.coordinator.push_v1.XiaomiCredentials
218
+ */
219
+ export declare const XiaomiCredentials: XiaomiCredentials$Type;
220
+ declare class Device$Type extends MessageType<Device> {
221
+ constructor();
222
+ create(value?: PartialMessage<Device>): Device;
223
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Device): Device;
224
+ internalBinaryWrite(message: Device, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
225
+ }
226
+ /**
227
+ * @generated MessageType for protobuf message stream.video.coordinator.push_v1.Device
228
+ */
229
+ export declare const Device: Device$Type;
230
+ declare class DeviceInput$Type extends MessageType<DeviceInput> {
231
+ constructor();
232
+ create(value?: PartialMessage<DeviceInput>): DeviceInput;
233
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeviceInput): DeviceInput;
234
+ internalBinaryWrite(message: DeviceInput, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
235
+ }
236
+ /**
237
+ * @generated MessageType for protobuf message stream.video.coordinator.push_v1.DeviceInput
238
+ */
239
+ export declare const DeviceInput: DeviceInput$Type;
240
+ export {};
@@ -0,0 +1,308 @@
1
+ import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
2
+ import type { IBinaryWriter } from "@protobuf-ts/runtime";
3
+ import type { BinaryReadOptions } from "@protobuf-ts/runtime";
4
+ import type { IBinaryReader } from "@protobuf-ts/runtime";
5
+ import type { PartialMessage } from "@protobuf-ts/runtime";
6
+ import { MessageType } from "@protobuf-ts/runtime";
7
+ import { Timestamp } from "../../../google/protobuf/timestamp";
8
+ import { Duration } from "../../../google/protobuf/duration";
9
+ /**
10
+ * ParticipantConnected is fired when a user joins a call
11
+ *
12
+ * @generated from protobuf message stream.video.coordinator.stat_v1.ParticipantConnected
13
+ */
14
+ export interface ParticipantConnected {
15
+ }
16
+ /**
17
+ * ParticipantDisconnected is fired when a user leaves a call
18
+ *
19
+ * @generated from protobuf message stream.video.coordinator.stat_v1.ParticipantDisconnected
20
+ */
21
+ export interface ParticipantDisconnected {
22
+ }
23
+ /**
24
+ * The participant experienced a significant amount of audio/video freeze when observing a given peer
25
+ *
26
+ * @generated from protobuf message stream.video.coordinator.stat_v1.Freeze
27
+ */
28
+ export interface Freeze {
29
+ /**
30
+ * @generated from protobuf field: stream.video.coordinator.stat_v1.MediaType media_type = 1;
31
+ */
32
+ mediaType: MediaType;
33
+ /**
34
+ * Sender of the media stream
35
+ *
36
+ * @generated from protobuf field: string peer_id = 2;
37
+ */
38
+ peerId: string;
39
+ /**
40
+ * @generated from protobuf field: google.protobuf.Duration duration = 3;
41
+ */
42
+ duration?: Duration;
43
+ }
44
+ /**
45
+ * A participant started/ended sending/receiving audio/video for a given reason
46
+ *
47
+ * @generated from protobuf message stream.video.coordinator.stat_v1.MediaStateChanged
48
+ */
49
+ export interface MediaStateChanged {
50
+ /**
51
+ * @generated from protobuf field: stream.video.coordinator.stat_v1.MediaType media_type = 1;
52
+ */
53
+ mediaType: MediaType;
54
+ /**
55
+ * @generated from protobuf field: stream.video.coordinator.stat_v1.MediaStateChange change = 2;
56
+ */
57
+ change: MediaStateChange;
58
+ /**
59
+ * @generated from protobuf field: stream.video.coordinator.stat_v1.MediaDirection direction = 3;
60
+ */
61
+ direction: MediaDirection;
62
+ /**
63
+ * @generated from protobuf field: stream.video.coordinator.stat_v1.MediaStateChangeReason reason = 4;
64
+ */
65
+ reason: MediaStateChangeReason;
66
+ }
67
+ /**
68
+ * A stat event from the perspective of a particular participant
69
+ *
70
+ * @generated from protobuf message stream.video.coordinator.stat_v1.TimelineEvent
71
+ */
72
+ export interface TimelineEvent {
73
+ /**
74
+ * Event timestamp as RFC3339 string.
75
+ *
76
+ * @generated from protobuf field: google.protobuf.Timestamp timestamp = 1;
77
+ */
78
+ timestamp?: Timestamp;
79
+ /**
80
+ * @generated from protobuf oneof: event
81
+ */
82
+ event: {
83
+ oneofKind: "participantConnected";
84
+ /**
85
+ * @generated from protobuf field: stream.video.coordinator.stat_v1.ParticipantConnected participant_connected = 2;
86
+ */
87
+ participantConnected: ParticipantConnected;
88
+ } | {
89
+ oneofKind: "participantDisconnected";
90
+ /**
91
+ * @generated from protobuf field: stream.video.coordinator.stat_v1.ParticipantDisconnected participant_disconnected = 3;
92
+ */
93
+ participantDisconnected: ParticipantDisconnected;
94
+ } | {
95
+ oneofKind: "mediaStateChanged";
96
+ /**
97
+ * @generated from protobuf field: stream.video.coordinator.stat_v1.MediaStateChanged media_state_changed = 4;
98
+ */
99
+ mediaStateChanged: MediaStateChanged;
100
+ } | {
101
+ oneofKind: "freeze";
102
+ /**
103
+ * @generated from protobuf field: stream.video.coordinator.stat_v1.Freeze freeze = 5;
104
+ */
105
+ freeze: Freeze;
106
+ } | {
107
+ oneofKind: undefined;
108
+ };
109
+ }
110
+ /**
111
+ * @generated from protobuf message stream.video.coordinator.stat_v1.CallParticipantTimeline
112
+ */
113
+ export interface CallParticipantTimeline {
114
+ /**
115
+ * The events in this timeline are from the perspective of the user with this ID
116
+ *
117
+ * @generated from protobuf field: string user_id = 1;
118
+ */
119
+ userId: string;
120
+ /**
121
+ * time when participant joined
122
+ *
123
+ * @generated from protobuf field: google.protobuf.Timestamp start = 2;
124
+ */
125
+ start?: Timestamp;
126
+ /**
127
+ * time when participant left
128
+ *
129
+ * @generated from protobuf field: google.protobuf.Timestamp end = 3;
130
+ */
131
+ end?: Timestamp;
132
+ /**
133
+ * @generated from protobuf field: repeated stream.video.coordinator.stat_v1.TimelineEvent events = 4;
134
+ */
135
+ events: TimelineEvent[];
136
+ }
137
+ /**
138
+ * @generated from protobuf message stream.video.coordinator.stat_v1.Session
139
+ */
140
+ export interface Session {
141
+ /**
142
+ * @generated from protobuf field: string session_id = 1;
143
+ */
144
+ sessionId: string;
145
+ /**
146
+ * @generated from protobuf field: string call_id = 2;
147
+ */
148
+ callId: string;
149
+ /**
150
+ * @generated from protobuf field: string call_type = 3;
151
+ */
152
+ callType: string;
153
+ /**
154
+ * time when first participant joined
155
+ *
156
+ * @generated from protobuf field: google.protobuf.Timestamp start = 4;
157
+ */
158
+ start?: Timestamp;
159
+ /**
160
+ * time when last participant left
161
+ *
162
+ * @generated from protobuf field: google.protobuf.Timestamp end = 5;
163
+ */
164
+ end?: Timestamp;
165
+ }
166
+ /**
167
+ * @generated from protobuf enum stream.video.coordinator.stat_v1.MediaType
168
+ */
169
+ export declare enum MediaType {
170
+ /**
171
+ * @generated from protobuf enum value: MEDIA_TYPE_UNSPECIFIED = 0;
172
+ */
173
+ UNSPECIFIED = 0,
174
+ /**
175
+ * @generated from protobuf enum value: MEDIA_TYPE_AUDIO = 1;
176
+ */
177
+ AUDIO = 1,
178
+ /**
179
+ * @generated from protobuf enum value: MEDIA_TYPE_VIDEO = 2;
180
+ */
181
+ VIDEO = 2,
182
+ /**
183
+ * @generated from protobuf enum value: MEDIA_TYPE_SCREEN_SHARE = 3;
184
+ */
185
+ SCREEN_SHARE = 3
186
+ }
187
+ /**
188
+ * @generated from protobuf enum stream.video.coordinator.stat_v1.MediaStateChange
189
+ */
190
+ export declare enum MediaStateChange {
191
+ /**
192
+ * @generated from protobuf enum value: MEDIA_STATE_CHANGE_UNSPECIFIED = 0;
193
+ */
194
+ UNSPECIFIED = 0,
195
+ /**
196
+ * @generated from protobuf enum value: MEDIA_STATE_CHANGE_STARTED = 1;
197
+ */
198
+ STARTED = 1,
199
+ /**
200
+ * @generated from protobuf enum value: MEDIA_STATE_CHANGE_ENDED = 2;
201
+ */
202
+ ENDED = 2
203
+ }
204
+ /**
205
+ * @generated from protobuf enum stream.video.coordinator.stat_v1.MediaDirection
206
+ */
207
+ export declare enum MediaDirection {
208
+ /**
209
+ * @generated from protobuf enum value: MEDIA_DIRECTION_UNSPECIFIED = 0;
210
+ */
211
+ UNSPECIFIED = 0,
212
+ /**
213
+ * @generated from protobuf enum value: MEDIA_DIRECTION_SEND = 1;
214
+ */
215
+ SEND = 1,
216
+ /**
217
+ * @generated from protobuf enum value: MEDIA_DIRECTION_RECEIVE = 2;
218
+ */
219
+ RECEIVE = 2
220
+ }
221
+ /**
222
+ * @generated from protobuf enum stream.video.coordinator.stat_v1.MediaStateChangeReason
223
+ */
224
+ export declare enum MediaStateChangeReason {
225
+ /**
226
+ * @generated from protobuf enum value: MEDIA_STATE_CHANGE_REASON_UNSPECIFIED = 0;
227
+ */
228
+ UNSPECIFIED = 0,
229
+ /**
230
+ * @generated from protobuf enum value: MEDIA_STATE_CHANGE_REASON_MUTE = 1;
231
+ */
232
+ MUTE = 1,
233
+ /**
234
+ * @generated from protobuf enum value: MEDIA_STATE_CHANGE_REASON_CONNECTION = 2;
235
+ */
236
+ CONNECTION = 2
237
+ }
238
+ declare class ParticipantConnected$Type extends MessageType<ParticipantConnected> {
239
+ constructor();
240
+ create(value?: PartialMessage<ParticipantConnected>): ParticipantConnected;
241
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ParticipantConnected): ParticipantConnected;
242
+ internalBinaryWrite(message: ParticipantConnected, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
243
+ }
244
+ /**
245
+ * @generated MessageType for protobuf message stream.video.coordinator.stat_v1.ParticipantConnected
246
+ */
247
+ export declare const ParticipantConnected: ParticipantConnected$Type;
248
+ declare class ParticipantDisconnected$Type extends MessageType<ParticipantDisconnected> {
249
+ constructor();
250
+ create(value?: PartialMessage<ParticipantDisconnected>): ParticipantDisconnected;
251
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ParticipantDisconnected): ParticipantDisconnected;
252
+ internalBinaryWrite(message: ParticipantDisconnected, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
253
+ }
254
+ /**
255
+ * @generated MessageType for protobuf message stream.video.coordinator.stat_v1.ParticipantDisconnected
256
+ */
257
+ export declare const ParticipantDisconnected: ParticipantDisconnected$Type;
258
+ declare class Freeze$Type extends MessageType<Freeze> {
259
+ constructor();
260
+ create(value?: PartialMessage<Freeze>): Freeze;
261
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Freeze): Freeze;
262
+ internalBinaryWrite(message: Freeze, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
263
+ }
264
+ /**
265
+ * @generated MessageType for protobuf message stream.video.coordinator.stat_v1.Freeze
266
+ */
267
+ export declare const Freeze: Freeze$Type;
268
+ declare class MediaStateChanged$Type extends MessageType<MediaStateChanged> {
269
+ constructor();
270
+ create(value?: PartialMessage<MediaStateChanged>): MediaStateChanged;
271
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: MediaStateChanged): MediaStateChanged;
272
+ internalBinaryWrite(message: MediaStateChanged, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
273
+ }
274
+ /**
275
+ * @generated MessageType for protobuf message stream.video.coordinator.stat_v1.MediaStateChanged
276
+ */
277
+ export declare const MediaStateChanged: MediaStateChanged$Type;
278
+ declare class TimelineEvent$Type extends MessageType<TimelineEvent> {
279
+ constructor();
280
+ create(value?: PartialMessage<TimelineEvent>): TimelineEvent;
281
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: TimelineEvent): TimelineEvent;
282
+ internalBinaryWrite(message: TimelineEvent, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
283
+ }
284
+ /**
285
+ * @generated MessageType for protobuf message stream.video.coordinator.stat_v1.TimelineEvent
286
+ */
287
+ export declare const TimelineEvent: TimelineEvent$Type;
288
+ declare class CallParticipantTimeline$Type extends MessageType<CallParticipantTimeline> {
289
+ constructor();
290
+ create(value?: PartialMessage<CallParticipantTimeline>): CallParticipantTimeline;
291
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CallParticipantTimeline): CallParticipantTimeline;
292
+ internalBinaryWrite(message: CallParticipantTimeline, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
293
+ }
294
+ /**
295
+ * @generated MessageType for protobuf message stream.video.coordinator.stat_v1.CallParticipantTimeline
296
+ */
297
+ export declare const CallParticipantTimeline: CallParticipantTimeline$Type;
298
+ declare class Session$Type extends MessageType<Session> {
299
+ constructor();
300
+ create(value?: PartialMessage<Session>): Session;
301
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Session): Session;
302
+ internalBinaryWrite(message: Session, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
303
+ }
304
+ /**
305
+ * @generated MessageType for protobuf message stream.video.coordinator.stat_v1.Session
306
+ */
307
+ export declare const Session: Session$Type;
308
+ export {};
@@ -0,0 +1,112 @@
1
+ import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
2
+ import type { IBinaryWriter } from "@protobuf-ts/runtime";
3
+ import type { BinaryReadOptions } from "@protobuf-ts/runtime";
4
+ import type { IBinaryReader } from "@protobuf-ts/runtime";
5
+ import type { PartialMessage } from "@protobuf-ts/runtime";
6
+ import { MessageType } from "@protobuf-ts/runtime";
7
+ import { Timestamp } from "../../../google/protobuf/timestamp";
8
+ /**
9
+ * @generated from protobuf message stream.video.coordinator.user_v1.User
10
+ */
11
+ export interface User {
12
+ /**
13
+ * @generated from protobuf field: string id = 1;
14
+ */
15
+ id: string;
16
+ /**
17
+ * @generated from protobuf field: repeated string teams = 2;
18
+ */
19
+ teams: string[];
20
+ /**
21
+ * @generated from protobuf field: string role = 3;
22
+ */
23
+ role: string;
24
+ /**
25
+ * @generated from protobuf field: bytes custom_json = 4;
26
+ */
27
+ customJson: Uint8Array;
28
+ /**
29
+ * @generated from protobuf field: string name = 5;
30
+ */
31
+ name: string;
32
+ /**
33
+ * @generated from protobuf field: string image_url = 6;
34
+ */
35
+ imageUrl: string;
36
+ /**
37
+ * User creation date
38
+ *
39
+ * @generated from protobuf field: google.protobuf.Timestamp created_at = 7;
40
+ */
41
+ createdAt?: Timestamp;
42
+ /**
43
+ * User last update date.
44
+ *
45
+ * @generated from protobuf field: google.protobuf.Timestamp updated_at = 8;
46
+ */
47
+ updatedAt?: Timestamp;
48
+ }
49
+ /**
50
+ * A message that is used in User requests to create and modify user data
51
+ *
52
+ * @generated from protobuf message stream.video.coordinator.user_v1.UserInput
53
+ */
54
+ export interface UserInput {
55
+ /**
56
+ * A unique ID for the user
57
+ *
58
+ * @generated from protobuf field: string id = 1;
59
+ */
60
+ id: string;
61
+ /**
62
+ * A human-readable name of the user
63
+ *
64
+ * @generated from protobuf field: string name = 2;
65
+ */
66
+ name: string;
67
+ /**
68
+ * User role, as defined by permission settings
69
+ *
70
+ * @generated from protobuf field: string role = 3;
71
+ */
72
+ role: string;
73
+ /**
74
+ * List of user teams for multi-tenant applications
75
+ *
76
+ * @generated from protobuf field: repeated string teams = 4;
77
+ */
78
+ teams: string[];
79
+ /**
80
+ * A URL that points to a user image
81
+ *
82
+ * @generated from protobuf field: string image_url = 5;
83
+ */
84
+ imageUrl: string;
85
+ /**
86
+ * A JSON object with custom user information
87
+ *
88
+ * @generated from protobuf field: bytes custom_json = 6;
89
+ */
90
+ customJson: Uint8Array;
91
+ }
92
+ declare class User$Type extends MessageType<User> {
93
+ constructor();
94
+ create(value?: PartialMessage<User>): User;
95
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: User): User;
96
+ internalBinaryWrite(message: User, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
97
+ }
98
+ /**
99
+ * @generated MessageType for protobuf message stream.video.coordinator.user_v1.User
100
+ */
101
+ export declare const User: User$Type;
102
+ declare class UserInput$Type extends MessageType<UserInput> {
103
+ constructor();
104
+ create(value?: PartialMessage<UserInput>): UserInput;
105
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UserInput): UserInput;
106
+ internalBinaryWrite(message: UserInput, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
107
+ }
108
+ /**
109
+ * @generated MessageType for protobuf message stream.video.coordinator.user_v1.UserInput
110
+ */
111
+ export declare const UserInput: UserInput$Type;
112
+ export {};