@edge-base/web 0.2.5 → 0.2.6

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.
@@ -1,7 +1,14 @@
1
+ import { EdgeBaseError } from '@edge-base/core';
1
2
  import { createSubscription } from './room.js';
2
3
  function buildRemoteTrackKey(participantId, kind) {
3
4
  return `${participantId}:${kind}`;
4
5
  }
6
+ function getErrorMessage(error) {
7
+ if (error instanceof Error && typeof error.message === 'string' && error.message.length > 0) {
8
+ return error.message;
9
+ }
10
+ return 'Unknown room media error.';
11
+ }
5
12
  export class RoomCloudflareMediaTransport {
6
13
  room;
7
14
  options;
@@ -56,8 +63,20 @@ export class RoomCloudflareMediaTransport {
56
63
  if (payload && typeof payload === 'object' && 'sessionDescription' in payload) {
57
64
  throw new Error('RoomCloudflareMediaTransport.connect() does not accept sessionDescription; provider signaling is managed internally.');
58
65
  }
66
+ const lifecycleVersion = this.lifecycleVersion;
67
+ const capabilities = await this.getCapabilities();
68
+ this.assertConnectStillActive(lifecycleVersion);
69
+ const fatalIssue = capabilities.issues.find((issue) => issue.fatal);
70
+ if (fatalIssue) {
71
+ const error = new EdgeBaseError(400, fatalIssue.message, { preflight: { code: fatalIssue.code, message: fatalIssue.message } }, 'room-media-preflight-failed');
72
+ Object.assign(error, {
73
+ provider: capabilities.provider,
74
+ issue: fatalIssue,
75
+ capabilities,
76
+ });
77
+ throw error;
78
+ }
59
79
  const connectPromise = (async () => {
60
- const lifecycleVersion = this.lifecycleVersion;
61
80
  const session = await this.room.media.cloudflareRealtimeKit.createSession(payload);
62
81
  this.assertConnectStillActive(lifecycleVersion);
63
82
  const factory = await this.resolveClientFactory();
@@ -99,6 +118,99 @@ export class RoomCloudflareMediaTransport {
99
118
  }
100
119
  }
101
120
  }
121
+ async getCapabilities() {
122
+ const issues = [];
123
+ const currentMember = this.room.members?.current() ?? null;
124
+ const roomIssueFatal = !currentMember;
125
+ let room = {
126
+ ok: true,
127
+ type: 'room_connect_ready',
128
+ category: 'ready',
129
+ message: 'Room WebSocket preflight passed',
130
+ };
131
+ if (typeof this.room.checkConnection === 'function') {
132
+ try {
133
+ room = await this.room.checkConnection();
134
+ }
135
+ catch (error) {
136
+ issues.push({
137
+ code: 'room_connect_check_failed',
138
+ category: 'room',
139
+ message: `Room connect-check failed: ${getErrorMessage(error)}`,
140
+ fatal: roomIssueFatal,
141
+ });
142
+ }
143
+ }
144
+ if (!room.ok) {
145
+ issues.push({
146
+ code: room.type,
147
+ category: 'room',
148
+ message: room.message,
149
+ fatal: roomIssueFatal,
150
+ });
151
+ }
152
+ if (!currentMember) {
153
+ issues.push({
154
+ code: 'room_member_not_joined',
155
+ category: 'room',
156
+ message: 'Join the room before connecting a Cloudflare media transport.',
157
+ fatal: true,
158
+ });
159
+ }
160
+ const browser = {
161
+ mediaDevices: !!this.options.mediaDevices,
162
+ getUserMedia: typeof this.options.mediaDevices?.getUserMedia === 'function',
163
+ getDisplayMedia: typeof this.options.mediaDevices?.getDisplayMedia === 'function',
164
+ enumerateDevices: typeof this.options.mediaDevices?.enumerateDevices === 'function',
165
+ rtcPeerConnection: typeof this.options.peerConnectionFactory === 'function'
166
+ || typeof RTCPeerConnection !== 'undefined',
167
+ };
168
+ if (!browser.rtcPeerConnection) {
169
+ issues.push({
170
+ code: 'webrtc_unavailable',
171
+ category: 'browser',
172
+ message: 'RTCPeerConnection is not available in this environment.',
173
+ fatal: true,
174
+ });
175
+ }
176
+ if (!browser.getUserMedia) {
177
+ issues.push({
178
+ code: 'media_devices_get_user_media_unavailable',
179
+ category: 'browser',
180
+ message: 'getUserMedia() is not available; local audio/video capture will be unavailable.',
181
+ fatal: false,
182
+ });
183
+ }
184
+ if (!browser.getDisplayMedia) {
185
+ issues.push({
186
+ code: 'media_devices_get_display_media_unavailable',
187
+ category: 'browser',
188
+ message: 'getDisplayMedia() is not available; screen sharing will be unavailable.',
189
+ fatal: false,
190
+ });
191
+ }
192
+ try {
193
+ await this.resolveClientFactory();
194
+ }
195
+ catch (error) {
196
+ issues.push({
197
+ code: 'cloudflare_realtimekit_client_unavailable',
198
+ category: 'provider',
199
+ message: `Failed to load the Cloudflare RealtimeKit client: ${getErrorMessage(error)}`,
200
+ fatal: true,
201
+ });
202
+ }
203
+ return {
204
+ provider: 'cloudflare_realtimekit',
205
+ canConnect: !issues.some((issue) => issue.fatal),
206
+ issues,
207
+ room,
208
+ joined: !!currentMember,
209
+ currentMemberId: currentMember?.memberId ?? null,
210
+ sessionId: this.getSessionId(),
211
+ browser,
212
+ };
213
+ }
102
214
  async enableAudio(constraints = true) {
103
215
  const meeting = await this.ensureMeeting();
104
216
  const customTrack = await this.createUserMediaTrack('audio', constraints);
@@ -1 +1 @@
1
- {"version":3,"file":"room-cloudflare-media.js","sourceRoot":"","sources":["../src/room-cloudflare-media.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"room-cloudflare-media.js","sourceRoot":"","sources":["../src/room-cloudflare-media.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { RoomMediaKind, RoomMediaMember, RoomMediaRemoteTrackEvent, RoomMediaTrack, RoomMemberMediaState, RoomRealtimeIceServersRequest, RoomRealtimeIceServersResponse, RoomMediaTransport, RoomMediaTransportConnectPayload, RoomMember, RoomMemberLeaveReason, RoomSignalMeta, Subscription } from './room.js';
1
+ import type { RoomConnectDiagnostic, RoomMediaKind, RoomMediaMember, RoomMediaRemoteTrackEvent, RoomMediaTrack, RoomMediaTransportCapabilities, RoomMemberMediaState, RoomRealtimeIceServersRequest, RoomRealtimeIceServersResponse, RoomMediaTransport, RoomMediaTransportConnectPayload, RoomMember, RoomMemberLeaveReason, RoomSignalMeta, Subscription } from './room.js';
2
2
  interface RoomP2PAudioVideoControls {
3
3
  disable(): Promise<void>;
4
4
  setMuted?(muted: boolean): Promise<void>;
@@ -43,6 +43,7 @@ interface RoomP2PMediaAdapter {
43
43
  onJoin(handler: (member: RoomMember) => void): Subscription;
44
44
  onLeave(handler: (member: RoomMember, reason: RoomMemberLeaveReason) => void): Subscription;
45
45
  };
46
+ checkConnection?(): Promise<RoomConnectDiagnostic>;
46
47
  signals: {
47
48
  sendTo(memberId: string, event: string, payload?: unknown): Promise<void>;
48
49
  on(event: string, handler: (payload: unknown, meta: RoomSignalMeta) => void): Subscription;
@@ -84,6 +85,8 @@ export declare class RoomP2PMediaTransport implements RoomMediaTransport {
84
85
  getSessionId(): string | null;
85
86
  getPeerConnection(): RTCPeerConnection | null;
86
87
  connect(payload?: RoomMediaTransportConnectPayload): Promise<string>;
88
+ getCapabilities(): Promise<RoomMediaTransportCapabilities>;
89
+ private collectCapabilities;
87
90
  private waitForCurrentMember;
88
91
  private resolveRtcConfiguration;
89
92
  enableAudio(constraints?: MediaTrackConstraints | boolean): Promise<MediaStreamTrack>;
@@ -1 +1 @@
1
- {"version":3,"file":"room-p2p-media.d.ts","sourceRoot":"","sources":["../src/room-p2p-media.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"room-p2p-media.d.ts","sourceRoot":"","sources":["../src/room-p2p-media.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { EdgeBaseError } from '@edge-base/core';
1
2
  import { createSubscription } from './room.js';
2
3
  const DEFAULT_SIGNAL_PREFIX = 'edgebase.media.p2p';
3
4
  const DEFAULT_ICE_SERVERS = [
@@ -95,6 +96,12 @@ function sameIceServer(candidate, urls) {
95
96
  const candidateUrls = normalizeIceServerUrls(candidate.urls);
96
97
  return candidateUrls.length === urls.length && candidateUrls.every((url, index) => url === urls[index]);
97
98
  }
99
+ function getErrorMessage(error) {
100
+ if (error instanceof Error && typeof error.message === 'string' && error.message.length > 0) {
101
+ return error.message;
102
+ }
103
+ return 'Unknown room media error.';
104
+ }
98
105
  export class RoomP2PMediaTransport {
99
106
  room;
100
107
  options;
@@ -152,6 +159,17 @@ export class RoomP2PMediaTransport {
152
159
  if (payload && typeof payload === 'object' && 'sessionDescription' in payload) {
153
160
  throw new Error('RoomP2PMediaTransport.connect() does not accept sessionDescription; use room.signals through the built-in transport instead.');
154
161
  }
162
+ const capabilities = await this.collectCapabilities({ includeProviderChecks: false });
163
+ const fatalIssue = capabilities.issues.find((issue) => issue.fatal);
164
+ if (fatalIssue) {
165
+ const error = new EdgeBaseError(400, fatalIssue.message, { preflight: { code: fatalIssue.code, message: fatalIssue.message } }, 'room-media-preflight-failed');
166
+ Object.assign(error, {
167
+ provider: capabilities.provider,
168
+ issue: fatalIssue,
169
+ capabilities,
170
+ });
171
+ throw error;
172
+ }
155
173
  const currentMember = await this.waitForCurrentMember();
156
174
  if (!currentMember) {
157
175
  throw new Error('Join the room before connecting a P2P media transport.');
@@ -175,6 +193,124 @@ export class RoomP2PMediaTransport {
175
193
  }
176
194
  return this.localMemberId;
177
195
  }
196
+ async getCapabilities() {
197
+ return this.collectCapabilities({ includeProviderChecks: true });
198
+ }
199
+ async collectCapabilities(options) {
200
+ const issues = [];
201
+ const currentMember = this.room.members.current();
202
+ const roomIssueFatal = !currentMember;
203
+ let room = {
204
+ ok: true,
205
+ type: 'room_connect_ready',
206
+ category: 'ready',
207
+ message: 'Room WebSocket preflight passed',
208
+ };
209
+ if (typeof this.room.checkConnection === 'function') {
210
+ try {
211
+ room = await this.room.checkConnection();
212
+ }
213
+ catch (error) {
214
+ issues.push({
215
+ code: 'room_connect_check_failed',
216
+ category: 'room',
217
+ message: `Room connect-check failed: ${getErrorMessage(error)}`,
218
+ fatal: roomIssueFatal,
219
+ });
220
+ }
221
+ }
222
+ if (!room.ok) {
223
+ issues.push({
224
+ code: room.type,
225
+ category: 'room',
226
+ message: room.message,
227
+ fatal: roomIssueFatal,
228
+ });
229
+ }
230
+ if (!currentMember) {
231
+ issues.push({
232
+ code: 'room_member_not_joined',
233
+ category: 'room',
234
+ message: 'Join the room before connecting a P2P media transport.',
235
+ fatal: true,
236
+ });
237
+ }
238
+ const browser = {
239
+ mediaDevices: !!this.options.mediaDevices,
240
+ getUserMedia: typeof this.options.mediaDevices?.getUserMedia === 'function',
241
+ getDisplayMedia: typeof this.options.mediaDevices?.getDisplayMedia === 'function',
242
+ enumerateDevices: typeof this.options.mediaDevices?.enumerateDevices === 'function',
243
+ rtcPeerConnection: typeof this.options.peerConnectionFactory === 'function'
244
+ || typeof RTCPeerConnection !== 'undefined',
245
+ };
246
+ if (!browser.rtcPeerConnection) {
247
+ issues.push({
248
+ code: 'webrtc_unavailable',
249
+ category: 'browser',
250
+ message: 'RTCPeerConnection is not available in this environment.',
251
+ fatal: true,
252
+ });
253
+ }
254
+ if (!browser.getUserMedia) {
255
+ issues.push({
256
+ code: 'media_devices_get_user_media_unavailable',
257
+ category: 'browser',
258
+ message: 'getUserMedia() is not available; local audio/video capture will be unavailable.',
259
+ fatal: false,
260
+ });
261
+ }
262
+ if (!browser.getDisplayMedia) {
263
+ issues.push({
264
+ code: 'media_devices_get_display_media_unavailable',
265
+ category: 'browser',
266
+ message: 'getDisplayMedia() is not available; screen sharing will be unavailable.',
267
+ fatal: false,
268
+ });
269
+ }
270
+ let turn;
271
+ const loadIceServers = this.room.media.realtime?.iceServers;
272
+ if (options.includeProviderChecks && typeof loadIceServers === 'function') {
273
+ turn = {
274
+ requested: true,
275
+ available: false,
276
+ iceServerCount: 0,
277
+ };
278
+ try {
279
+ const response = await loadIceServers({ ttl: this.options.turnCredentialTtlSeconds });
280
+ const servers = normalizeIceServers(response?.iceServers);
281
+ turn.available = servers.length > 0;
282
+ turn.iceServerCount = servers.length;
283
+ if (!turn.available) {
284
+ issues.push({
285
+ code: 'turn_credentials_unavailable',
286
+ category: 'provider',
287
+ message: 'No TURN credentials were returned; the transport will fall back to its configured ICE servers.',
288
+ fatal: false,
289
+ });
290
+ }
291
+ }
292
+ catch (error) {
293
+ turn.error = getErrorMessage(error);
294
+ issues.push({
295
+ code: 'turn_credentials_failed',
296
+ category: 'provider',
297
+ message: `Failed to resolve TURN credentials: ${turn.error}`,
298
+ fatal: false,
299
+ });
300
+ }
301
+ }
302
+ return {
303
+ provider: 'p2p',
304
+ canConnect: !issues.some((issue) => issue.fatal),
305
+ issues,
306
+ room,
307
+ joined: !!currentMember,
308
+ currentMemberId: currentMember?.memberId ?? null,
309
+ sessionId: this.getSessionId(),
310
+ browser,
311
+ turn,
312
+ };
313
+ }
178
314
  async waitForCurrentMember(timeoutMs = DEFAULT_MEMBER_READY_TIMEOUT_MS) {
179
315
  const startedAt = Date.now();
180
316
  while (Date.now() - startedAt < timeoutMs) {