@whereby.com/core 0.28.7 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -76,7 +76,7 @@ const createReactor = (selectors, callback) => {
76
76
  });
77
77
  };
78
78
 
79
- const coreVersion = "0.28.7";
79
+ const coreVersion = "0.29.0";
80
80
 
81
81
  const initialState$g = {
82
82
  isNodeSdk: false,
@@ -119,6 +119,7 @@ function createSignalEventAction(name) {
119
119
  const signalEvents = {
120
120
  audioEnabled: createSignalEventAction("audioEnabled"),
121
121
  audioEnableRequested: createSignalEventAction("audioEnableRequested"),
122
+ breakoutGroupJoined: createSignalEventAction("breakoutGroupJoined"),
122
123
  chatMessage: createSignalEventAction("chatMessage"),
123
124
  clientLeft: createSignalEventAction("clientLeft"),
124
125
  clientKicked: createSignalEventAction("clientKicked"),
@@ -305,6 +306,7 @@ function forwardSocketEvents(socket, dispatch) {
305
306
  socket.on("live_transcription_started", (payload) => dispatch(signalEvents.liveTranscriptionStarted(payload)));
306
307
  socket.on("live_transcription_stopped", (payload) => dispatch(signalEvents.liveTranscriptionStopped(payload)));
307
308
  socket.on("video_enable_requested", (payload) => dispatch(signalEvents.videoEnableRequested(payload)));
309
+ socket.on("breakout_group_joined", (payload) => dispatch(signalEvents.breakoutGroupJoined(payload)));
308
310
  }
309
311
  const SIGNAL_BASE_URL = "wss://signal.appearin.net" ;
310
312
  function createSocket() {
@@ -1161,6 +1163,7 @@ const NON_PERSON_ROLES = ["recorder", "streamer"];
1161
1163
  const initialState$a = {
1162
1164
  displayName: "",
1163
1165
  id: "",
1166
+ breakoutGroup: null,
1164
1167
  isAudioEnabled: true,
1165
1168
  isVideoEnabled: true,
1166
1169
  isLocalParticipant: true,
@@ -1195,7 +1198,14 @@ const localParticipantSlice = toolkit.createSlice({
1195
1198
  builder.addCase(signalEvents.roomJoined, (state, action) => {
1196
1199
  var _a, _b;
1197
1200
  const client = (_b = (_a = action.payload) === null || _a === void 0 ? void 0 : _a.room) === null || _b === void 0 ? void 0 : _b.clients.find((c) => { var _a; return c.id === ((_a = action.payload) === null || _a === void 0 ? void 0 : _a.selfId); });
1198
- return Object.assign(Object.assign({}, state), { id: action.payload.selfId, roleName: (client === null || client === void 0 ? void 0 : client.role.roleName) || "none", clientClaim: action.payload.clientClaim });
1201
+ return Object.assign(Object.assign({}, state), { id: action.payload.selfId, roleName: (client === null || client === void 0 ? void 0 : client.role.roleName) || "none", clientClaim: action.payload.clientClaim, breakoutGroup: (client === null || client === void 0 ? void 0 : client.breakoutGroup) || null });
1202
+ });
1203
+ builder.addCase(signalEvents.breakoutGroupJoined, (state, action) => {
1204
+ var _a, _b;
1205
+ if (((_a = action.payload) === null || _a === void 0 ? void 0 : _a.clientId) !== state.id) {
1206
+ return state;
1207
+ }
1208
+ return Object.assign(Object.assign({}, state), { breakoutGroup: (_b = action.payload) === null || _b === void 0 ? void 0 : _b.group });
1199
1209
  });
1200
1210
  },
1201
1211
  });
@@ -1473,8 +1483,8 @@ const rtcEvents = {
1473
1483
  };
1474
1484
 
1475
1485
  function createRemoteParticipant(client, newJoiner = false) {
1476
- const { streams, role } = client, rest = __rest(client, ["streams", "role"]);
1477
- return Object.assign(Object.assign({}, rest), { stream: null, streams: streams.map((streamId) => ({ id: streamId, state: newJoiner ? "new_accept" : "to_accept" })), isLocalParticipant: false, roleName: (role === null || role === void 0 ? void 0 : role.roleName) || "none", presentationStream: null, newJoiner });
1486
+ const { streams, role, breakoutGroup } = client, rest = __rest(client, ["streams", "role", "breakoutGroup"]);
1487
+ return Object.assign(Object.assign({}, rest), { stream: null, streams: streams.map((streamId) => ({ id: streamId, state: newJoiner ? "new_accept" : "to_accept" })), isLocalParticipant: false, roleName: (role === null || role === void 0 ? void 0 : role.roleName) || "none", presentationStream: null, breakoutGroup: breakoutGroup || null, newJoiner });
1478
1488
  }
1479
1489
  function findParticipant(state, participantId) {
1480
1490
  const index = state.remoteParticipants.findIndex((c) => c.id === participantId);
@@ -1632,6 +1642,12 @@ const remoteParticipantsSlice = toolkit.createSlice({
1632
1642
  stickyReaction,
1633
1643
  });
1634
1644
  });
1645
+ builder.addCase(signalEvents.breakoutGroupJoined, (state, action) => {
1646
+ const { clientId, group } = action.payload;
1647
+ return updateParticipant(state, clientId, {
1648
+ breakoutGroup: group || null,
1649
+ });
1650
+ });
1635
1651
  builder.addCase(signalEvents.screenshareStarted, (state, action) => {
1636
1652
  const { clientId, streamId } = action.payload;
1637
1653
  return addStreamId(state, clientId, streamId);
@@ -2101,13 +2117,14 @@ const doEndMeeting = createAppAuthorizedThunk((state) => selectIsAuthorizedToEnd
2101
2117
  }
2102
2118
  });
2103
2119
  const selectRoomIsLocked = (state) => state.room.isLocked;
2104
- const selectScreenshares = toolkit.createSelector(selectLocalScreenshareStream, selectRemoteParticipants, (localScreenshareStream, remoteParticipants) => {
2120
+ const selectScreenshares = toolkit.createSelector(selectLocalScreenshareStream, selectLocalParticipantRaw, selectRemoteParticipants, (localScreenshareStream, localParticipant, remoteParticipants) => {
2105
2121
  const screenshares = [];
2106
2122
  if (localScreenshareStream) {
2107
2123
  screenshares.push({
2108
2124
  id: localScreenshareStream.id || "local-screenshare",
2109
2125
  participantId: "local",
2110
2126
  hasAudioTrack: localScreenshareStream.getTracks().some((track) => track.kind === "audio"),
2127
+ breakoutGroup: localParticipant.breakoutGroup,
2111
2128
  stream: localScreenshareStream,
2112
2129
  isLocal: true,
2113
2130
  });
@@ -2118,6 +2135,7 @@ const selectScreenshares = toolkit.createSelector(selectLocalScreenshareStream,
2118
2135
  id: participant.presentationStream.id || `pres-${participant.id}`,
2119
2136
  participantId: participant.id,
2120
2137
  hasAudioTrack: participant.presentationStream.getTracks().some((track) => track.kind === "audio"),
2138
+ breakoutGroup: participant.breakoutGroup,
2121
2139
  stream: participant.presentationStream,
2122
2140
  isLocal: false,
2123
2141
  });
@@ -3825,20 +3843,21 @@ class RoomService {
3825
3843
  }
3826
3844
 
3827
3845
  class RoomParticipant {
3828
- constructor({ displayName, id, stream, isAudioEnabled, isVideoEnabled, stickyReaction, isDialIn, }) {
3846
+ constructor({ displayName, id, stream, isAudioEnabled, isVideoEnabled, breakoutGroup, stickyReaction, isDialIn, }) {
3829
3847
  this.isLocalParticipant = false;
3830
3848
  this.displayName = displayName;
3831
3849
  this.id = id;
3832
3850
  this.stream = stream;
3833
3851
  this.isAudioEnabled = isAudioEnabled;
3834
3852
  this.isVideoEnabled = isVideoEnabled;
3853
+ this.breakoutGroup = breakoutGroup;
3835
3854
  this.stickyReaction = stickyReaction;
3836
3855
  this.isDialIn = isDialIn;
3837
3856
  }
3838
3857
  }
3839
3858
  class LocalParticipant extends RoomParticipant {
3840
- constructor({ displayName, id, stream, isAudioEnabled, isVideoEnabled, stickyReaction, isDialIn, }) {
3841
- super({ displayName, id, stream, isAudioEnabled, isVideoEnabled, stickyReaction, isDialIn });
3859
+ constructor({ displayName, id, stream, isAudioEnabled, isVideoEnabled, breakoutGroup, stickyReaction, isDialIn, }) {
3860
+ super({ displayName, id, stream, isAudioEnabled, isVideoEnabled, breakoutGroup, stickyReaction, isDialIn });
3842
3861
  this.isLocalParticipant = true;
3843
3862
  }
3844
3863
  }
@@ -3891,6 +3910,7 @@ exports.createAppThunk = createAppThunk;
3891
3910
  exports.createAsyncRoomConnectedThunk = createAsyncRoomConnectedThunk;
3892
3911
  exports.createAuthorizedRoomConnectedThunk = createAuthorizedRoomConnectedThunk;
3893
3912
  exports.createReactor = createReactor;
3913
+ exports.createRemoteParticipant = createRemoteParticipant;
3894
3914
  exports.createRoomConnectedThunk = createRoomConnectedThunk;
3895
3915
  exports.createServices = createServices;
3896
3916
  exports.createStore = createStore;
package/dist/index.d.cts CHANGED
@@ -3,7 +3,7 @@ import { PayloadAction, ActionCreatorWithPayload, AsyncThunkPayloadCreator, Asyn
3
3
  import * as redux_thunk from 'redux-thunk';
4
4
  import * as redux from 'redux';
5
5
  import * as _whereby_com_media from '@whereby.com/media';
6
- import { RoleName, ChatMessage as ChatMessage$1, getDeviceData, RtcStreamAddedPayload, AudioEnableRequest, VideoEnableRequest, RtcEvents, RtcManager, RtcManagerDispatcher, RtcManagerCreatedPayload, AudioEnabledEvent, AudioEnableRequestedEvent, ClientLeftEvent, ClientKickedEvent, ClientMetadataReceivedEvent, ClientUnableToJoinEvent, CloudRecordingStartedEvent, KnockerLeftEvent, KnockAcceptedEvent, KnockRejectedEvent, NewClientEvent, RoomJoinedEvent, RoomKnockedEvent, RoomLockedEvent, RoomSessionEndedEvent, ScreenshareStartedEvent, ScreenshareStoppedEvent, SpotlightAddedEvent, SpotlightRemovedEvent, VideoEnabledEvent, VideoEnableRequestedEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, ServerSocket, Spotlight } from '@whereby.com/media';
6
+ import { RoleName, ChatMessage as ChatMessage$1, getDeviceData, SignalClient, RtcStreamAddedPayload, AudioEnableRequest, VideoEnableRequest, RtcEvents, RtcManager, RtcManagerDispatcher, RtcManagerCreatedPayload, AudioEnabledEvent, AudioEnableRequestedEvent, BreakoutGroupJoinedEvent, ClientLeftEvent, ClientKickedEvent, ClientMetadataReceivedEvent, ClientUnableToJoinEvent, CloudRecordingStartedEvent, KnockerLeftEvent, KnockAcceptedEvent, KnockRejectedEvent, NewClientEvent, RoomJoinedEvent, RoomKnockedEvent, RoomLockedEvent, RoomSessionEndedEvent, ScreenshareStartedEvent, ScreenshareStoppedEvent, SpotlightAddedEvent, SpotlightRemovedEvent, VideoEnabledEvent, VideoEnableRequestedEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, ServerSocket, Spotlight } from '@whereby.com/media';
7
7
  import * as reselect from 'reselect';
8
8
  import { AsyncThunkFulfilledActionCreator } from '@reduxjs/toolkit/dist/createAsyncThunk';
9
9
  import { EventEmitter as EventEmitter$1 } from 'events';
@@ -171,6 +171,7 @@ interface RoomParticipantData {
171
171
  stream?: MediaStream;
172
172
  isAudioEnabled: boolean;
173
173
  isVideoEnabled: boolean;
174
+ breakoutGroup: string | null;
174
175
  stickyReaction?: StickyReaction | null;
175
176
  isDialIn: boolean;
176
177
  }
@@ -181,9 +182,10 @@ declare class RoomParticipant {
181
182
  readonly isAudioEnabled: boolean;
182
183
  readonly isLocalParticipant: boolean;
183
184
  readonly isVideoEnabled: boolean;
185
+ readonly breakoutGroup: string | null;
184
186
  readonly stickyReaction?: StickyReaction | null;
185
187
  readonly isDialIn: boolean;
186
- constructor({ displayName, id, stream, isAudioEnabled, isVideoEnabled, stickyReaction, isDialIn, }: RoomParticipantData);
188
+ constructor({ displayName, id, stream, isAudioEnabled, isVideoEnabled, breakoutGroup, stickyReaction, isDialIn, }: RoomParticipantData);
187
189
  }
188
190
  interface RemoteParticipantData {
189
191
  newJoiner: boolean;
@@ -201,6 +203,7 @@ interface RemoteParticipant {
201
203
  isAudioEnabled: boolean;
202
204
  isVideoEnabled: boolean;
203
205
  isLocalParticipant: boolean;
206
+ breakoutGroup: string | null;
204
207
  stream: (MediaStream & {
205
208
  inboundId?: string;
206
209
  }) | null;
@@ -215,7 +218,7 @@ interface RemoteParticipant {
215
218
  }
216
219
  declare class LocalParticipant extends RoomParticipant {
217
220
  readonly isLocalParticipant = true;
218
- constructor({ displayName, id, stream, isAudioEnabled, isVideoEnabled, stickyReaction, isDialIn, }: RoomParticipantData);
221
+ constructor({ displayName, id, stream, isAudioEnabled, isVideoEnabled, breakoutGroup, stickyReaction, isDialIn, }: RoomParticipantData);
219
222
  }
220
223
  interface WaitingParticipant {
221
224
  id: string;
@@ -225,6 +228,7 @@ interface Screenshare {
225
228
  participantId: string;
226
229
  id: string;
227
230
  hasAudioTrack: boolean;
231
+ breakoutGroup: string | null;
228
232
  stream?: MediaStream;
229
233
  isLocal: boolean;
230
234
  }
@@ -4330,6 +4334,7 @@ declare const localParticipantSlice: _reduxjs_toolkit.Slice<LocalParticipantStat
4330
4334
  } | undefined;
4331
4335
  isAudioEnabled: boolean;
4332
4336
  isVideoEnabled: boolean;
4337
+ breakoutGroup: string | null;
4333
4338
  stickyReaction?: {
4334
4339
  reaction: string;
4335
4340
  timestamp: string;
@@ -4368,6 +4373,7 @@ declare const localParticipantSlice: _reduxjs_toolkit.Slice<LocalParticipantStat
4368
4373
  } | undefined;
4369
4374
  isAudioEnabled: boolean;
4370
4375
  isVideoEnabled: boolean;
4376
+ breakoutGroup: string | null;
4371
4377
  stickyReaction?: {
4372
4378
  reaction: string;
4373
4379
  timestamp: string;
@@ -4564,6 +4570,7 @@ interface StreamStatusUpdate {
4564
4570
  state: StreamState;
4565
4571
  }
4566
4572
 
4573
+ declare function createRemoteParticipant(client: SignalClient, newJoiner?: boolean): RemoteParticipant;
4567
4574
  interface RemoteParticipantState {
4568
4575
  remoteParticipants: RemoteParticipant[];
4569
4576
  }
@@ -4576,6 +4583,7 @@ declare const remoteParticipantsSlice: _reduxjs_toolkit.Slice<RemoteParticipantS
4576
4583
  isAudioEnabled: boolean;
4577
4584
  isVideoEnabled: boolean;
4578
4585
  isLocalParticipant: boolean;
4586
+ breakoutGroup: string | null;
4579
4587
  stream: {
4580
4588
  active: boolean;
4581
4589
  id: string;
@@ -4642,6 +4650,7 @@ declare const remoteParticipantsSlice: _reduxjs_toolkit.Slice<RemoteParticipantS
4642
4650
  isAudioEnabled: boolean;
4643
4651
  isVideoEnabled: boolean;
4644
4652
  isLocalParticipant: boolean;
4653
+ breakoutGroup: string | null;
4645
4654
  stream: {
4646
4655
  active: boolean;
4647
4656
  id: string;
@@ -4709,6 +4718,7 @@ declare const remoteParticipantsSlice: _reduxjs_toolkit.Slice<RemoteParticipantS
4709
4718
  isAudioEnabled: boolean;
4710
4719
  isVideoEnabled: boolean;
4711
4720
  isLocalParticipant: boolean;
4721
+ breakoutGroup: string | null;
4712
4722
  stream: {
4713
4723
  active: boolean;
4714
4724
  id: string;
@@ -4776,6 +4786,7 @@ declare const remoteParticipantsSlice: _reduxjs_toolkit.Slice<RemoteParticipantS
4776
4786
  isAudioEnabled: boolean;
4777
4787
  isVideoEnabled: boolean;
4778
4788
  isLocalParticipant: boolean;
4789
+ breakoutGroup: string | null;
4779
4790
  stream: {
4780
4791
  active: boolean;
4781
4792
  id: string;
@@ -5078,8 +5089,8 @@ declare const selectScreenshares: ((state: {
5078
5089
  resultsCount: () => number;
5079
5090
  resetResultsCount: () => void;
5080
5091
  } & {
5081
- resultFunc: (resultFuncArgs_0: MediaStream | null, resultFuncArgs_1: RemoteParticipant[]) => Screenshare[];
5082
- memoizedResultFunc: ((resultFuncArgs_0: MediaStream | null, resultFuncArgs_1: RemoteParticipant[]) => Screenshare[]) & {
5092
+ resultFunc: (resultFuncArgs_0: MediaStream | null, resultFuncArgs_1: LocalParticipantState, resultFuncArgs_2: RemoteParticipant[]) => Screenshare[];
5093
+ memoizedResultFunc: ((resultFuncArgs_0: MediaStream | null, resultFuncArgs_1: LocalParticipantState, resultFuncArgs_2: RemoteParticipant[]) => Screenshare[]) & {
5083
5094
  clearCache: () => void;
5084
5095
  resultsCount: () => number;
5085
5096
  resetResultsCount: () => void;
@@ -5106,7 +5117,28 @@ declare const selectScreenshares: ((state: {
5106
5117
  spotlights: SpotlightsState;
5107
5118
  streaming: StreamingState;
5108
5119
  waitingParticipants: WaitingParticipantsState;
5109
- }) => MediaStream | null, ((state: {
5120
+ }) => MediaStream | null, (state: {
5121
+ app: AppState;
5122
+ authorization: AuthorizationState;
5123
+ chat: ChatState;
5124
+ cloudRecording: CloudRecordingState;
5125
+ connectionMonitor: ConnectionMonitorState;
5126
+ deviceCredentials: DeviceCredentialsState;
5127
+ localMedia: LocalMediaState;
5128
+ localParticipant: LocalParticipantState;
5129
+ localScreenshare: LocalScreenshareState;
5130
+ notifications: NotificationsState;
5131
+ organization: OrganizationState;
5132
+ remoteParticipants: RemoteParticipantState;
5133
+ room: RoomState;
5134
+ roomConnection: RoomConnectionState;
5135
+ rtcAnalytics: rtcAnalyticsState;
5136
+ rtcConnection: RtcConnectionState;
5137
+ signalConnection: SignalConnectionState;
5138
+ spotlights: SpotlightsState;
5139
+ streaming: StreamingState;
5140
+ waitingParticipants: WaitingParticipantsState;
5141
+ }) => LocalParticipantState, ((state: {
5110
5142
  app: AppState;
5111
5143
  authorization: AuthorizationState;
5112
5144
  chat: ChatState;
@@ -6928,6 +6960,7 @@ declare const selectStreamsToAccept: ((state: {
6928
6960
  declare const signalEvents: {
6929
6961
  audioEnabled: _reduxjs_toolkit.ActionCreatorWithPayload<AudioEnabledEvent, string>;
6930
6962
  audioEnableRequested: _reduxjs_toolkit.ActionCreatorWithPayload<AudioEnableRequestedEvent, string>;
6963
+ breakoutGroupJoined: _reduxjs_toolkit.ActionCreatorWithPayload<BreakoutGroupJoinedEvent, string>;
6931
6964
  chatMessage: _reduxjs_toolkit.ActionCreatorWithPayload<ChatMessage$1, string>;
6932
6965
  clientLeft: _reduxjs_toolkit.ActionCreatorWithPayload<ClientLeftEvent, string>;
6933
6966
  clientKicked: _reduxjs_toolkit.ActionCreatorWithPayload<ClientKickedEvent, string>;
@@ -8897,4 +8930,4 @@ declare function parseRoomUrlAndSubdomain(roomAttribute?: string, subdomainAttri
8897
8930
 
8898
8931
  declare function parseUnverifiedRoomKeyData(roomKey: string): any;
8899
8932
 
8900
- export { ApiClient, type AppConfig, type AppDispatch, type AppReducer, type AppStartListening, type AppState, type AppThunk, type AuthorizationState, type ChatMessage, type ChatMessageEvent, type ChatMessageEventProps, type ChatState, type ClientView, type CloudRecordingState, type ConnectionMonitorStart, type ConnectionMonitorState, type ConnectionStatus, Credentials, CredentialsService, type DeviceCredentialsState, type FullOrganizationPermissions, type LocalMediaOptions, type LocalMediaState, LocalParticipant, type LocalParticipantState, type LocalScreenshareState, type Notification, type NotificationEvent, type NotificationEventMap, type NotificationEvents, type NotificationsEventEmitter, type NotificationsState, OrganizationApiClient, type OrganizationLimits, type OrganizationOnboardingSurvey, type OrganizationPermissionAction, type OrganizationPermissions, type OrganizationPreferences, OrganizationService, OrganizationServiceCache, type OrganizationState, type RemoteParticipant, type RemoteParticipantData, type RemoteParticipantState, type RequestAudioEvent, type RequestAudioEventProps, type RequestVideoEvent, type RequestVideoEventProps, type RoomConnectionState, RoomService, type RoomState, type RootState, type RtcConnectionState, type Screenshare, type SignalClientEvent, type SignalClientEventProps, type SignalConnectionState, type SignalStatusEvent, type SignalStatusEventProps, type SpotlightsState, type StickyReaction, type StickyReactionEvent, type StickyReactionEventProps, type Store, type StreamState, type StreamingState, type ThunkConfig, type WaitingParticipant, type WaitingParticipantsState, addAppListener, addSpotlight, appSlice, authorizationSlice, chatSlice, cloudRecordingSlice, connectionMonitorSlice, connectionMonitorStarted, connectionMonitorStopped, createAppAsyncThunk, createAppAuthorizedThunk, createAppThunk, createAsyncRoomConnectedThunk, createAuthorizedRoomConnectedThunk, createReactor, createRoomConnectedThunk, createServices, createStore, createWebRtcEmitter, debounce, deviceBusy, deviceCredentialsSlice, deviceIdentified, deviceIdentifying, doAcceptWaitingParticipant, doAppStart, doAppStop, doClearNotifications, doConnectRoom, doConnectRtc, doDisconnectRtc, doEnableAudio, doEnableVideo, doEndMeeting, doGetDeviceCredentials, doHandleAcceptStreams, doHandleStreamingStarted, doHandleStreamingStopped, doKickParticipant, doKnockRoom, doLockRoom, doOrganizationFetch, doRejectWaitingParticipant, doRemoveSpotlight, doRequestAudioEnable, doRequestVideoEnable, doRtcAnalyticsCustomEventsInitialize, doRtcManagerCreated, doRtcManagerInitialize, doRtcReportStreamResolution, doSendChatMessage, doSendClientMetadata, doSetDevice, doSetDisplayName, doSetLocalStickyReaction, doSetNotification, doSignalConnect, doSignalDisconnect, doSignalIdentifyDevice, doSpotlightParticipant, doStartCloudRecording, doStartConnectionMonitor, doStartLocalMedia, doStartScreenshare, doStopCloudRecording, doStopConnectionMonitor, doStopLocalMedia, doStopScreenshare, doSwitchLocalStream, doToggleCamera, doToggleLowDataMode, doUpdateDeviceList, getAudioTrack, getFakeMediaStream, getVideoTrack, hasValue, initialCloudRecordingState, initialLocalMediaState, initialNotificationsState, initialState, isAcceptingStreams, isClientSpotlighted, listenerMiddleware, localMediaSlice, localMediaStopped, localParticipantSlice, localScreenshareSlice, localStreamMetadataUpdated, notificationsSlice, observeStore, organizationSlice, parseRoomUrlAndSubdomain, parseUnverifiedRoomKeyData, participantStreamAdded, participantStreamIdAdded, recordingRequestStarted, remoteParticipantsSlice, removeSpotlight, resolutionReported, roomConnectionSlice, roomSlice, rootReducer, rtcAnalyticsCustomEvents, rtcAnalyticsSlice, type rtcAnalyticsState, rtcConnectionSlice, rtcDisconnected, rtcDispatcherCreated, rtcManagerCreated, rtcManagerDestroyed, rtcManagerInitialized, selectAllClientViews, selectAppDisplayName, selectAppExternalId, selectAppInitialConfig, selectAppIsActive, selectAppIsDialIn, selectAppIsNodeSdk, selectAppRaw, selectAppRoomName, selectAppRoomUrl, selectAppUserAgent, selectAuthorizationRoleName, selectBusyDeviceIds, selectCameraDeviceError, selectCameraDevices, selectChatMessages, selectChatRaw, selectCloudRecordingError, selectCloudRecordingRaw, selectCloudRecordingStartedAt, selectCloudRecordingStatus, selectConnectionMonitorIsRunning, selectCurrentCameraDeviceId, selectCurrentMicrophoneDeviceId, selectCurrentSpeakerDeviceId, selectDeviceCredentialsRaw, selectDeviceId, selectHasFetchedDeviceCredentials, selectIsAcceptingStreams, selectIsAuthorizedToAskToSpeak, selectIsAuthorizedToEndMeeting, selectIsAuthorizedToKickClient, selectIsAuthorizedToLockRoom, selectIsAuthorizedToRequestAudioEnable, selectIsAuthorizedToRequestVideoEnable, selectIsAuthorizedToSpotlight, selectIsCameraEnabled, selectIsCloudRecording, selectIsLocalMediaStarting, selectIsLocalParticipantSpotlighted, selectIsLowDataModeEnabled, selectIsMicrophoneEnabled, selectIsSettingCameraDevice, selectIsSettingMicrophoneDevice, selectIsToggleCamera, selectLocalMediaConstraintsOptions, selectLocalMediaDevices, selectLocalMediaIsSwitchingStream, selectLocalMediaOptions, selectLocalMediaOwnsStream, selectLocalMediaRaw, selectLocalMediaShouldStartWithOptions, selectLocalMediaShouldStop, selectLocalMediaStartError, selectLocalMediaStatus, selectLocalMediaStream, selectLocalParticipantClientClaim, selectLocalParticipantDisplayName, selectLocalParticipantIsScreenSharing, selectLocalParticipantRaw, selectLocalParticipantStickyReaction, selectLocalParticipantView, selectLocalScreenshareRaw, selectLocalScreenshareStatus, selectLocalScreenshareStream, selectMicrophoneDeviceError, selectMicrophoneDevices, selectNotificationsEmitter, selectNotificationsEvents, selectNotificationsRaw, selectNumClients, selectNumParticipants, selectOrganizationId, selectOrganizationRaw, selectRemoteClientViews, selectRemoteClients, selectRemoteParticipants, selectRemoteParticipantsRaw, selectRoomConnectionError, selectRoomConnectionRaw, selectRoomConnectionSession, selectRoomConnectionSessionId, selectRoomConnectionStatus, selectRoomIsLocked, selectRoomKey, selectRtcConnectionRaw, selectRtcDispatcherCreated, selectRtcIsCreatingDispatcher, selectRtcManager, selectRtcManagerInitialized, selectRtcStatus, selectScreenshares, selectSelfId, selectShouldConnectRoom, selectShouldConnectRtc, selectShouldConnectSignal, selectShouldDisconnectRtc, selectShouldFetchDeviceCredentials, selectShouldFetchOrganization, selectShouldIdentifyDevice, selectShouldInitializeRtc, selectShouldStartConnectionMonitor, selectShouldStopConnectionMonitor, selectSignalConnectionDeviceIdentified, selectSignalConnectionRaw, selectSignalConnectionSocket, selectSignalIsIdentifyingDevice, selectSignalStatus, selectSpeakerDevices, selectSpotlightedClientViews, selectSpotlights, selectSpotlightsRaw, selectStopCallbackFunction, selectStreamingRaw, selectStreamsToAccept, selectWaitingParticipants, selectWaitingParticipantsRaw, setCurrentCameraDeviceId, setCurrentMicrophoneDeviceId, setCurrentSpeakerDeviceId, setDisplayName, setLocalMediaOptions, setLocalMediaStream, setRoomKey, signalConnectionSlice, signalEvents, socketConnected, socketConnecting, socketDisconnected, socketReconnecting, spotlightsSlice, startAppListening, stopScreenshare, streamIdForClient, streamStatusUpdated, streamingSlice, toggleCameraEnabled, toggleLowDataModeEnabled, toggleMicrophoneEnabled, updateReportedValues, waitingParticipantsSlice };
8933
+ export { ApiClient, type AppConfig, type AppDispatch, type AppReducer, type AppStartListening, type AppState, type AppThunk, type AuthorizationState, type ChatMessage, type ChatMessageEvent, type ChatMessageEventProps, type ChatState, type ClientView, type CloudRecordingState, type ConnectionMonitorStart, type ConnectionMonitorState, type ConnectionStatus, Credentials, CredentialsService, type DeviceCredentialsState, type FullOrganizationPermissions, type LocalMediaOptions, type LocalMediaState, LocalParticipant, type LocalParticipantState, type LocalScreenshareState, type Notification, type NotificationEvent, type NotificationEventMap, type NotificationEvents, type NotificationsEventEmitter, type NotificationsState, OrganizationApiClient, type OrganizationLimits, type OrganizationOnboardingSurvey, type OrganizationPermissionAction, type OrganizationPermissions, type OrganizationPreferences, OrganizationService, OrganizationServiceCache, type OrganizationState, type RemoteParticipant, type RemoteParticipantData, type RemoteParticipantState, type RequestAudioEvent, type RequestAudioEventProps, type RequestVideoEvent, type RequestVideoEventProps, type RoomConnectionState, RoomService, type RoomState, type RootState, type RtcConnectionState, type Screenshare, type SignalClientEvent, type SignalClientEventProps, type SignalConnectionState, type SignalStatusEvent, type SignalStatusEventProps, type SpotlightsState, type StickyReaction, type StickyReactionEvent, type StickyReactionEventProps, type Store, type StreamState, type StreamingState, type ThunkConfig, type WaitingParticipant, type WaitingParticipantsState, addAppListener, addSpotlight, appSlice, authorizationSlice, chatSlice, cloudRecordingSlice, connectionMonitorSlice, connectionMonitorStarted, connectionMonitorStopped, createAppAsyncThunk, createAppAuthorizedThunk, createAppThunk, createAsyncRoomConnectedThunk, createAuthorizedRoomConnectedThunk, createReactor, createRemoteParticipant, createRoomConnectedThunk, createServices, createStore, createWebRtcEmitter, debounce, deviceBusy, deviceCredentialsSlice, deviceIdentified, deviceIdentifying, doAcceptWaitingParticipant, doAppStart, doAppStop, doClearNotifications, doConnectRoom, doConnectRtc, doDisconnectRtc, doEnableAudio, doEnableVideo, doEndMeeting, doGetDeviceCredentials, doHandleAcceptStreams, doHandleStreamingStarted, doHandleStreamingStopped, doKickParticipant, doKnockRoom, doLockRoom, doOrganizationFetch, doRejectWaitingParticipant, doRemoveSpotlight, doRequestAudioEnable, doRequestVideoEnable, doRtcAnalyticsCustomEventsInitialize, doRtcManagerCreated, doRtcManagerInitialize, doRtcReportStreamResolution, doSendChatMessage, doSendClientMetadata, doSetDevice, doSetDisplayName, doSetLocalStickyReaction, doSetNotification, doSignalConnect, doSignalDisconnect, doSignalIdentifyDevice, doSpotlightParticipant, doStartCloudRecording, doStartConnectionMonitor, doStartLocalMedia, doStartScreenshare, doStopCloudRecording, doStopConnectionMonitor, doStopLocalMedia, doStopScreenshare, doSwitchLocalStream, doToggleCamera, doToggleLowDataMode, doUpdateDeviceList, getAudioTrack, getFakeMediaStream, getVideoTrack, hasValue, initialCloudRecordingState, initialLocalMediaState, initialNotificationsState, initialState, isAcceptingStreams, isClientSpotlighted, listenerMiddleware, localMediaSlice, localMediaStopped, localParticipantSlice, localScreenshareSlice, localStreamMetadataUpdated, notificationsSlice, observeStore, organizationSlice, parseRoomUrlAndSubdomain, parseUnverifiedRoomKeyData, participantStreamAdded, participantStreamIdAdded, recordingRequestStarted, remoteParticipantsSlice, removeSpotlight, resolutionReported, roomConnectionSlice, roomSlice, rootReducer, rtcAnalyticsCustomEvents, rtcAnalyticsSlice, type rtcAnalyticsState, rtcConnectionSlice, rtcDisconnected, rtcDispatcherCreated, rtcManagerCreated, rtcManagerDestroyed, rtcManagerInitialized, selectAllClientViews, selectAppDisplayName, selectAppExternalId, selectAppInitialConfig, selectAppIsActive, selectAppIsDialIn, selectAppIsNodeSdk, selectAppRaw, selectAppRoomName, selectAppRoomUrl, selectAppUserAgent, selectAuthorizationRoleName, selectBusyDeviceIds, selectCameraDeviceError, selectCameraDevices, selectChatMessages, selectChatRaw, selectCloudRecordingError, selectCloudRecordingRaw, selectCloudRecordingStartedAt, selectCloudRecordingStatus, selectConnectionMonitorIsRunning, selectCurrentCameraDeviceId, selectCurrentMicrophoneDeviceId, selectCurrentSpeakerDeviceId, selectDeviceCredentialsRaw, selectDeviceId, selectHasFetchedDeviceCredentials, selectIsAcceptingStreams, selectIsAuthorizedToAskToSpeak, selectIsAuthorizedToEndMeeting, selectIsAuthorizedToKickClient, selectIsAuthorizedToLockRoom, selectIsAuthorizedToRequestAudioEnable, selectIsAuthorizedToRequestVideoEnable, selectIsAuthorizedToSpotlight, selectIsCameraEnabled, selectIsCloudRecording, selectIsLocalMediaStarting, selectIsLocalParticipantSpotlighted, selectIsLowDataModeEnabled, selectIsMicrophoneEnabled, selectIsSettingCameraDevice, selectIsSettingMicrophoneDevice, selectIsToggleCamera, selectLocalMediaConstraintsOptions, selectLocalMediaDevices, selectLocalMediaIsSwitchingStream, selectLocalMediaOptions, selectLocalMediaOwnsStream, selectLocalMediaRaw, selectLocalMediaShouldStartWithOptions, selectLocalMediaShouldStop, selectLocalMediaStartError, selectLocalMediaStatus, selectLocalMediaStream, selectLocalParticipantClientClaim, selectLocalParticipantDisplayName, selectLocalParticipantIsScreenSharing, selectLocalParticipantRaw, selectLocalParticipantStickyReaction, selectLocalParticipantView, selectLocalScreenshareRaw, selectLocalScreenshareStatus, selectLocalScreenshareStream, selectMicrophoneDeviceError, selectMicrophoneDevices, selectNotificationsEmitter, selectNotificationsEvents, selectNotificationsRaw, selectNumClients, selectNumParticipants, selectOrganizationId, selectOrganizationRaw, selectRemoteClientViews, selectRemoteClients, selectRemoteParticipants, selectRemoteParticipantsRaw, selectRoomConnectionError, selectRoomConnectionRaw, selectRoomConnectionSession, selectRoomConnectionSessionId, selectRoomConnectionStatus, selectRoomIsLocked, selectRoomKey, selectRtcConnectionRaw, selectRtcDispatcherCreated, selectRtcIsCreatingDispatcher, selectRtcManager, selectRtcManagerInitialized, selectRtcStatus, selectScreenshares, selectSelfId, selectShouldConnectRoom, selectShouldConnectRtc, selectShouldConnectSignal, selectShouldDisconnectRtc, selectShouldFetchDeviceCredentials, selectShouldFetchOrganization, selectShouldIdentifyDevice, selectShouldInitializeRtc, selectShouldStartConnectionMonitor, selectShouldStopConnectionMonitor, selectSignalConnectionDeviceIdentified, selectSignalConnectionRaw, selectSignalConnectionSocket, selectSignalIsIdentifyingDevice, selectSignalStatus, selectSpeakerDevices, selectSpotlightedClientViews, selectSpotlights, selectSpotlightsRaw, selectStopCallbackFunction, selectStreamingRaw, selectStreamsToAccept, selectWaitingParticipants, selectWaitingParticipantsRaw, setCurrentCameraDeviceId, setCurrentMicrophoneDeviceId, setCurrentSpeakerDeviceId, setDisplayName, setLocalMediaOptions, setLocalMediaStream, setRoomKey, signalConnectionSlice, signalEvents, socketConnected, socketConnecting, socketDisconnected, socketReconnecting, spotlightsSlice, startAppListening, stopScreenshare, streamIdForClient, streamStatusUpdated, streamingSlice, toggleCameraEnabled, toggleLowDataModeEnabled, toggleMicrophoneEnabled, updateReportedValues, waitingParticipantsSlice };
package/dist/index.d.mts CHANGED
@@ -3,7 +3,7 @@ import { PayloadAction, ActionCreatorWithPayload, AsyncThunkPayloadCreator, Asyn
3
3
  import * as redux_thunk from 'redux-thunk';
4
4
  import * as redux from 'redux';
5
5
  import * as _whereby_com_media from '@whereby.com/media';
6
- import { RoleName, ChatMessage as ChatMessage$1, getDeviceData, RtcStreamAddedPayload, AudioEnableRequest, VideoEnableRequest, RtcEvents, RtcManager, RtcManagerDispatcher, RtcManagerCreatedPayload, AudioEnabledEvent, AudioEnableRequestedEvent, ClientLeftEvent, ClientKickedEvent, ClientMetadataReceivedEvent, ClientUnableToJoinEvent, CloudRecordingStartedEvent, KnockerLeftEvent, KnockAcceptedEvent, KnockRejectedEvent, NewClientEvent, RoomJoinedEvent, RoomKnockedEvent, RoomLockedEvent, RoomSessionEndedEvent, ScreenshareStartedEvent, ScreenshareStoppedEvent, SpotlightAddedEvent, SpotlightRemovedEvent, VideoEnabledEvent, VideoEnableRequestedEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, ServerSocket, Spotlight } from '@whereby.com/media';
6
+ import { RoleName, ChatMessage as ChatMessage$1, getDeviceData, SignalClient, RtcStreamAddedPayload, AudioEnableRequest, VideoEnableRequest, RtcEvents, RtcManager, RtcManagerDispatcher, RtcManagerCreatedPayload, AudioEnabledEvent, AudioEnableRequestedEvent, BreakoutGroupJoinedEvent, ClientLeftEvent, ClientKickedEvent, ClientMetadataReceivedEvent, ClientUnableToJoinEvent, CloudRecordingStartedEvent, KnockerLeftEvent, KnockAcceptedEvent, KnockRejectedEvent, NewClientEvent, RoomJoinedEvent, RoomKnockedEvent, RoomLockedEvent, RoomSessionEndedEvent, ScreenshareStartedEvent, ScreenshareStoppedEvent, SpotlightAddedEvent, SpotlightRemovedEvent, VideoEnabledEvent, VideoEnableRequestedEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, ServerSocket, Spotlight } from '@whereby.com/media';
7
7
  import * as reselect from 'reselect';
8
8
  import { AsyncThunkFulfilledActionCreator } from '@reduxjs/toolkit/dist/createAsyncThunk';
9
9
  import { EventEmitter as EventEmitter$1 } from 'events';
@@ -171,6 +171,7 @@ interface RoomParticipantData {
171
171
  stream?: MediaStream;
172
172
  isAudioEnabled: boolean;
173
173
  isVideoEnabled: boolean;
174
+ breakoutGroup: string | null;
174
175
  stickyReaction?: StickyReaction | null;
175
176
  isDialIn: boolean;
176
177
  }
@@ -181,9 +182,10 @@ declare class RoomParticipant {
181
182
  readonly isAudioEnabled: boolean;
182
183
  readonly isLocalParticipant: boolean;
183
184
  readonly isVideoEnabled: boolean;
185
+ readonly breakoutGroup: string | null;
184
186
  readonly stickyReaction?: StickyReaction | null;
185
187
  readonly isDialIn: boolean;
186
- constructor({ displayName, id, stream, isAudioEnabled, isVideoEnabled, stickyReaction, isDialIn, }: RoomParticipantData);
188
+ constructor({ displayName, id, stream, isAudioEnabled, isVideoEnabled, breakoutGroup, stickyReaction, isDialIn, }: RoomParticipantData);
187
189
  }
188
190
  interface RemoteParticipantData {
189
191
  newJoiner: boolean;
@@ -201,6 +203,7 @@ interface RemoteParticipant {
201
203
  isAudioEnabled: boolean;
202
204
  isVideoEnabled: boolean;
203
205
  isLocalParticipant: boolean;
206
+ breakoutGroup: string | null;
204
207
  stream: (MediaStream & {
205
208
  inboundId?: string;
206
209
  }) | null;
@@ -215,7 +218,7 @@ interface RemoteParticipant {
215
218
  }
216
219
  declare class LocalParticipant extends RoomParticipant {
217
220
  readonly isLocalParticipant = true;
218
- constructor({ displayName, id, stream, isAudioEnabled, isVideoEnabled, stickyReaction, isDialIn, }: RoomParticipantData);
221
+ constructor({ displayName, id, stream, isAudioEnabled, isVideoEnabled, breakoutGroup, stickyReaction, isDialIn, }: RoomParticipantData);
219
222
  }
220
223
  interface WaitingParticipant {
221
224
  id: string;
@@ -225,6 +228,7 @@ interface Screenshare {
225
228
  participantId: string;
226
229
  id: string;
227
230
  hasAudioTrack: boolean;
231
+ breakoutGroup: string | null;
228
232
  stream?: MediaStream;
229
233
  isLocal: boolean;
230
234
  }
@@ -4330,6 +4334,7 @@ declare const localParticipantSlice: _reduxjs_toolkit.Slice<LocalParticipantStat
4330
4334
  } | undefined;
4331
4335
  isAudioEnabled: boolean;
4332
4336
  isVideoEnabled: boolean;
4337
+ breakoutGroup: string | null;
4333
4338
  stickyReaction?: {
4334
4339
  reaction: string;
4335
4340
  timestamp: string;
@@ -4368,6 +4373,7 @@ declare const localParticipantSlice: _reduxjs_toolkit.Slice<LocalParticipantStat
4368
4373
  } | undefined;
4369
4374
  isAudioEnabled: boolean;
4370
4375
  isVideoEnabled: boolean;
4376
+ breakoutGroup: string | null;
4371
4377
  stickyReaction?: {
4372
4378
  reaction: string;
4373
4379
  timestamp: string;
@@ -4564,6 +4570,7 @@ interface StreamStatusUpdate {
4564
4570
  state: StreamState;
4565
4571
  }
4566
4572
 
4573
+ declare function createRemoteParticipant(client: SignalClient, newJoiner?: boolean): RemoteParticipant;
4567
4574
  interface RemoteParticipantState {
4568
4575
  remoteParticipants: RemoteParticipant[];
4569
4576
  }
@@ -4576,6 +4583,7 @@ declare const remoteParticipantsSlice: _reduxjs_toolkit.Slice<RemoteParticipantS
4576
4583
  isAudioEnabled: boolean;
4577
4584
  isVideoEnabled: boolean;
4578
4585
  isLocalParticipant: boolean;
4586
+ breakoutGroup: string | null;
4579
4587
  stream: {
4580
4588
  active: boolean;
4581
4589
  id: string;
@@ -4642,6 +4650,7 @@ declare const remoteParticipantsSlice: _reduxjs_toolkit.Slice<RemoteParticipantS
4642
4650
  isAudioEnabled: boolean;
4643
4651
  isVideoEnabled: boolean;
4644
4652
  isLocalParticipant: boolean;
4653
+ breakoutGroup: string | null;
4645
4654
  stream: {
4646
4655
  active: boolean;
4647
4656
  id: string;
@@ -4709,6 +4718,7 @@ declare const remoteParticipantsSlice: _reduxjs_toolkit.Slice<RemoteParticipantS
4709
4718
  isAudioEnabled: boolean;
4710
4719
  isVideoEnabled: boolean;
4711
4720
  isLocalParticipant: boolean;
4721
+ breakoutGroup: string | null;
4712
4722
  stream: {
4713
4723
  active: boolean;
4714
4724
  id: string;
@@ -4776,6 +4786,7 @@ declare const remoteParticipantsSlice: _reduxjs_toolkit.Slice<RemoteParticipantS
4776
4786
  isAudioEnabled: boolean;
4777
4787
  isVideoEnabled: boolean;
4778
4788
  isLocalParticipant: boolean;
4789
+ breakoutGroup: string | null;
4779
4790
  stream: {
4780
4791
  active: boolean;
4781
4792
  id: string;
@@ -5078,8 +5089,8 @@ declare const selectScreenshares: ((state: {
5078
5089
  resultsCount: () => number;
5079
5090
  resetResultsCount: () => void;
5080
5091
  } & {
5081
- resultFunc: (resultFuncArgs_0: MediaStream | null, resultFuncArgs_1: RemoteParticipant[]) => Screenshare[];
5082
- memoizedResultFunc: ((resultFuncArgs_0: MediaStream | null, resultFuncArgs_1: RemoteParticipant[]) => Screenshare[]) & {
5092
+ resultFunc: (resultFuncArgs_0: MediaStream | null, resultFuncArgs_1: LocalParticipantState, resultFuncArgs_2: RemoteParticipant[]) => Screenshare[];
5093
+ memoizedResultFunc: ((resultFuncArgs_0: MediaStream | null, resultFuncArgs_1: LocalParticipantState, resultFuncArgs_2: RemoteParticipant[]) => Screenshare[]) & {
5083
5094
  clearCache: () => void;
5084
5095
  resultsCount: () => number;
5085
5096
  resetResultsCount: () => void;
@@ -5106,7 +5117,28 @@ declare const selectScreenshares: ((state: {
5106
5117
  spotlights: SpotlightsState;
5107
5118
  streaming: StreamingState;
5108
5119
  waitingParticipants: WaitingParticipantsState;
5109
- }) => MediaStream | null, ((state: {
5120
+ }) => MediaStream | null, (state: {
5121
+ app: AppState;
5122
+ authorization: AuthorizationState;
5123
+ chat: ChatState;
5124
+ cloudRecording: CloudRecordingState;
5125
+ connectionMonitor: ConnectionMonitorState;
5126
+ deviceCredentials: DeviceCredentialsState;
5127
+ localMedia: LocalMediaState;
5128
+ localParticipant: LocalParticipantState;
5129
+ localScreenshare: LocalScreenshareState;
5130
+ notifications: NotificationsState;
5131
+ organization: OrganizationState;
5132
+ remoteParticipants: RemoteParticipantState;
5133
+ room: RoomState;
5134
+ roomConnection: RoomConnectionState;
5135
+ rtcAnalytics: rtcAnalyticsState;
5136
+ rtcConnection: RtcConnectionState;
5137
+ signalConnection: SignalConnectionState;
5138
+ spotlights: SpotlightsState;
5139
+ streaming: StreamingState;
5140
+ waitingParticipants: WaitingParticipantsState;
5141
+ }) => LocalParticipantState, ((state: {
5110
5142
  app: AppState;
5111
5143
  authorization: AuthorizationState;
5112
5144
  chat: ChatState;
@@ -6928,6 +6960,7 @@ declare const selectStreamsToAccept: ((state: {
6928
6960
  declare const signalEvents: {
6929
6961
  audioEnabled: _reduxjs_toolkit.ActionCreatorWithPayload<AudioEnabledEvent, string>;
6930
6962
  audioEnableRequested: _reduxjs_toolkit.ActionCreatorWithPayload<AudioEnableRequestedEvent, string>;
6963
+ breakoutGroupJoined: _reduxjs_toolkit.ActionCreatorWithPayload<BreakoutGroupJoinedEvent, string>;
6931
6964
  chatMessage: _reduxjs_toolkit.ActionCreatorWithPayload<ChatMessage$1, string>;
6932
6965
  clientLeft: _reduxjs_toolkit.ActionCreatorWithPayload<ClientLeftEvent, string>;
6933
6966
  clientKicked: _reduxjs_toolkit.ActionCreatorWithPayload<ClientKickedEvent, string>;
@@ -8897,4 +8930,4 @@ declare function parseRoomUrlAndSubdomain(roomAttribute?: string, subdomainAttri
8897
8930
 
8898
8931
  declare function parseUnverifiedRoomKeyData(roomKey: string): any;
8899
8932
 
8900
- export { ApiClient, type AppConfig, type AppDispatch, type AppReducer, type AppStartListening, type AppState, type AppThunk, type AuthorizationState, type ChatMessage, type ChatMessageEvent, type ChatMessageEventProps, type ChatState, type ClientView, type CloudRecordingState, type ConnectionMonitorStart, type ConnectionMonitorState, type ConnectionStatus, Credentials, CredentialsService, type DeviceCredentialsState, type FullOrganizationPermissions, type LocalMediaOptions, type LocalMediaState, LocalParticipant, type LocalParticipantState, type LocalScreenshareState, type Notification, type NotificationEvent, type NotificationEventMap, type NotificationEvents, type NotificationsEventEmitter, type NotificationsState, OrganizationApiClient, type OrganizationLimits, type OrganizationOnboardingSurvey, type OrganizationPermissionAction, type OrganizationPermissions, type OrganizationPreferences, OrganizationService, OrganizationServiceCache, type OrganizationState, type RemoteParticipant, type RemoteParticipantData, type RemoteParticipantState, type RequestAudioEvent, type RequestAudioEventProps, type RequestVideoEvent, type RequestVideoEventProps, type RoomConnectionState, RoomService, type RoomState, type RootState, type RtcConnectionState, type Screenshare, type SignalClientEvent, type SignalClientEventProps, type SignalConnectionState, type SignalStatusEvent, type SignalStatusEventProps, type SpotlightsState, type StickyReaction, type StickyReactionEvent, type StickyReactionEventProps, type Store, type StreamState, type StreamingState, type ThunkConfig, type WaitingParticipant, type WaitingParticipantsState, addAppListener, addSpotlight, appSlice, authorizationSlice, chatSlice, cloudRecordingSlice, connectionMonitorSlice, connectionMonitorStarted, connectionMonitorStopped, createAppAsyncThunk, createAppAuthorizedThunk, createAppThunk, createAsyncRoomConnectedThunk, createAuthorizedRoomConnectedThunk, createReactor, createRoomConnectedThunk, createServices, createStore, createWebRtcEmitter, debounce, deviceBusy, deviceCredentialsSlice, deviceIdentified, deviceIdentifying, doAcceptWaitingParticipant, doAppStart, doAppStop, doClearNotifications, doConnectRoom, doConnectRtc, doDisconnectRtc, doEnableAudio, doEnableVideo, doEndMeeting, doGetDeviceCredentials, doHandleAcceptStreams, doHandleStreamingStarted, doHandleStreamingStopped, doKickParticipant, doKnockRoom, doLockRoom, doOrganizationFetch, doRejectWaitingParticipant, doRemoveSpotlight, doRequestAudioEnable, doRequestVideoEnable, doRtcAnalyticsCustomEventsInitialize, doRtcManagerCreated, doRtcManagerInitialize, doRtcReportStreamResolution, doSendChatMessage, doSendClientMetadata, doSetDevice, doSetDisplayName, doSetLocalStickyReaction, doSetNotification, doSignalConnect, doSignalDisconnect, doSignalIdentifyDevice, doSpotlightParticipant, doStartCloudRecording, doStartConnectionMonitor, doStartLocalMedia, doStartScreenshare, doStopCloudRecording, doStopConnectionMonitor, doStopLocalMedia, doStopScreenshare, doSwitchLocalStream, doToggleCamera, doToggleLowDataMode, doUpdateDeviceList, getAudioTrack, getFakeMediaStream, getVideoTrack, hasValue, initialCloudRecordingState, initialLocalMediaState, initialNotificationsState, initialState, isAcceptingStreams, isClientSpotlighted, listenerMiddleware, localMediaSlice, localMediaStopped, localParticipantSlice, localScreenshareSlice, localStreamMetadataUpdated, notificationsSlice, observeStore, organizationSlice, parseRoomUrlAndSubdomain, parseUnverifiedRoomKeyData, participantStreamAdded, participantStreamIdAdded, recordingRequestStarted, remoteParticipantsSlice, removeSpotlight, resolutionReported, roomConnectionSlice, roomSlice, rootReducer, rtcAnalyticsCustomEvents, rtcAnalyticsSlice, type rtcAnalyticsState, rtcConnectionSlice, rtcDisconnected, rtcDispatcherCreated, rtcManagerCreated, rtcManagerDestroyed, rtcManagerInitialized, selectAllClientViews, selectAppDisplayName, selectAppExternalId, selectAppInitialConfig, selectAppIsActive, selectAppIsDialIn, selectAppIsNodeSdk, selectAppRaw, selectAppRoomName, selectAppRoomUrl, selectAppUserAgent, selectAuthorizationRoleName, selectBusyDeviceIds, selectCameraDeviceError, selectCameraDevices, selectChatMessages, selectChatRaw, selectCloudRecordingError, selectCloudRecordingRaw, selectCloudRecordingStartedAt, selectCloudRecordingStatus, selectConnectionMonitorIsRunning, selectCurrentCameraDeviceId, selectCurrentMicrophoneDeviceId, selectCurrentSpeakerDeviceId, selectDeviceCredentialsRaw, selectDeviceId, selectHasFetchedDeviceCredentials, selectIsAcceptingStreams, selectIsAuthorizedToAskToSpeak, selectIsAuthorizedToEndMeeting, selectIsAuthorizedToKickClient, selectIsAuthorizedToLockRoom, selectIsAuthorizedToRequestAudioEnable, selectIsAuthorizedToRequestVideoEnable, selectIsAuthorizedToSpotlight, selectIsCameraEnabled, selectIsCloudRecording, selectIsLocalMediaStarting, selectIsLocalParticipantSpotlighted, selectIsLowDataModeEnabled, selectIsMicrophoneEnabled, selectIsSettingCameraDevice, selectIsSettingMicrophoneDevice, selectIsToggleCamera, selectLocalMediaConstraintsOptions, selectLocalMediaDevices, selectLocalMediaIsSwitchingStream, selectLocalMediaOptions, selectLocalMediaOwnsStream, selectLocalMediaRaw, selectLocalMediaShouldStartWithOptions, selectLocalMediaShouldStop, selectLocalMediaStartError, selectLocalMediaStatus, selectLocalMediaStream, selectLocalParticipantClientClaim, selectLocalParticipantDisplayName, selectLocalParticipantIsScreenSharing, selectLocalParticipantRaw, selectLocalParticipantStickyReaction, selectLocalParticipantView, selectLocalScreenshareRaw, selectLocalScreenshareStatus, selectLocalScreenshareStream, selectMicrophoneDeviceError, selectMicrophoneDevices, selectNotificationsEmitter, selectNotificationsEvents, selectNotificationsRaw, selectNumClients, selectNumParticipants, selectOrganizationId, selectOrganizationRaw, selectRemoteClientViews, selectRemoteClients, selectRemoteParticipants, selectRemoteParticipantsRaw, selectRoomConnectionError, selectRoomConnectionRaw, selectRoomConnectionSession, selectRoomConnectionSessionId, selectRoomConnectionStatus, selectRoomIsLocked, selectRoomKey, selectRtcConnectionRaw, selectRtcDispatcherCreated, selectRtcIsCreatingDispatcher, selectRtcManager, selectRtcManagerInitialized, selectRtcStatus, selectScreenshares, selectSelfId, selectShouldConnectRoom, selectShouldConnectRtc, selectShouldConnectSignal, selectShouldDisconnectRtc, selectShouldFetchDeviceCredentials, selectShouldFetchOrganization, selectShouldIdentifyDevice, selectShouldInitializeRtc, selectShouldStartConnectionMonitor, selectShouldStopConnectionMonitor, selectSignalConnectionDeviceIdentified, selectSignalConnectionRaw, selectSignalConnectionSocket, selectSignalIsIdentifyingDevice, selectSignalStatus, selectSpeakerDevices, selectSpotlightedClientViews, selectSpotlights, selectSpotlightsRaw, selectStopCallbackFunction, selectStreamingRaw, selectStreamsToAccept, selectWaitingParticipants, selectWaitingParticipantsRaw, setCurrentCameraDeviceId, setCurrentMicrophoneDeviceId, setCurrentSpeakerDeviceId, setDisplayName, setLocalMediaOptions, setLocalMediaStream, setRoomKey, signalConnectionSlice, signalEvents, socketConnected, socketConnecting, socketDisconnected, socketReconnecting, spotlightsSlice, startAppListening, stopScreenshare, streamIdForClient, streamStatusUpdated, streamingSlice, toggleCameraEnabled, toggleLowDataModeEnabled, toggleMicrophoneEnabled, updateReportedValues, waitingParticipantsSlice };
8933
+ export { ApiClient, type AppConfig, type AppDispatch, type AppReducer, type AppStartListening, type AppState, type AppThunk, type AuthorizationState, type ChatMessage, type ChatMessageEvent, type ChatMessageEventProps, type ChatState, type ClientView, type CloudRecordingState, type ConnectionMonitorStart, type ConnectionMonitorState, type ConnectionStatus, Credentials, CredentialsService, type DeviceCredentialsState, type FullOrganizationPermissions, type LocalMediaOptions, type LocalMediaState, LocalParticipant, type LocalParticipantState, type LocalScreenshareState, type Notification, type NotificationEvent, type NotificationEventMap, type NotificationEvents, type NotificationsEventEmitter, type NotificationsState, OrganizationApiClient, type OrganizationLimits, type OrganizationOnboardingSurvey, type OrganizationPermissionAction, type OrganizationPermissions, type OrganizationPreferences, OrganizationService, OrganizationServiceCache, type OrganizationState, type RemoteParticipant, type RemoteParticipantData, type RemoteParticipantState, type RequestAudioEvent, type RequestAudioEventProps, type RequestVideoEvent, type RequestVideoEventProps, type RoomConnectionState, RoomService, type RoomState, type RootState, type RtcConnectionState, type Screenshare, type SignalClientEvent, type SignalClientEventProps, type SignalConnectionState, type SignalStatusEvent, type SignalStatusEventProps, type SpotlightsState, type StickyReaction, type StickyReactionEvent, type StickyReactionEventProps, type Store, type StreamState, type StreamingState, type ThunkConfig, type WaitingParticipant, type WaitingParticipantsState, addAppListener, addSpotlight, appSlice, authorizationSlice, chatSlice, cloudRecordingSlice, connectionMonitorSlice, connectionMonitorStarted, connectionMonitorStopped, createAppAsyncThunk, createAppAuthorizedThunk, createAppThunk, createAsyncRoomConnectedThunk, createAuthorizedRoomConnectedThunk, createReactor, createRemoteParticipant, createRoomConnectedThunk, createServices, createStore, createWebRtcEmitter, debounce, deviceBusy, deviceCredentialsSlice, deviceIdentified, deviceIdentifying, doAcceptWaitingParticipant, doAppStart, doAppStop, doClearNotifications, doConnectRoom, doConnectRtc, doDisconnectRtc, doEnableAudio, doEnableVideo, doEndMeeting, doGetDeviceCredentials, doHandleAcceptStreams, doHandleStreamingStarted, doHandleStreamingStopped, doKickParticipant, doKnockRoom, doLockRoom, doOrganizationFetch, doRejectWaitingParticipant, doRemoveSpotlight, doRequestAudioEnable, doRequestVideoEnable, doRtcAnalyticsCustomEventsInitialize, doRtcManagerCreated, doRtcManagerInitialize, doRtcReportStreamResolution, doSendChatMessage, doSendClientMetadata, doSetDevice, doSetDisplayName, doSetLocalStickyReaction, doSetNotification, doSignalConnect, doSignalDisconnect, doSignalIdentifyDevice, doSpotlightParticipant, doStartCloudRecording, doStartConnectionMonitor, doStartLocalMedia, doStartScreenshare, doStopCloudRecording, doStopConnectionMonitor, doStopLocalMedia, doStopScreenshare, doSwitchLocalStream, doToggleCamera, doToggleLowDataMode, doUpdateDeviceList, getAudioTrack, getFakeMediaStream, getVideoTrack, hasValue, initialCloudRecordingState, initialLocalMediaState, initialNotificationsState, initialState, isAcceptingStreams, isClientSpotlighted, listenerMiddleware, localMediaSlice, localMediaStopped, localParticipantSlice, localScreenshareSlice, localStreamMetadataUpdated, notificationsSlice, observeStore, organizationSlice, parseRoomUrlAndSubdomain, parseUnverifiedRoomKeyData, participantStreamAdded, participantStreamIdAdded, recordingRequestStarted, remoteParticipantsSlice, removeSpotlight, resolutionReported, roomConnectionSlice, roomSlice, rootReducer, rtcAnalyticsCustomEvents, rtcAnalyticsSlice, type rtcAnalyticsState, rtcConnectionSlice, rtcDisconnected, rtcDispatcherCreated, rtcManagerCreated, rtcManagerDestroyed, rtcManagerInitialized, selectAllClientViews, selectAppDisplayName, selectAppExternalId, selectAppInitialConfig, selectAppIsActive, selectAppIsDialIn, selectAppIsNodeSdk, selectAppRaw, selectAppRoomName, selectAppRoomUrl, selectAppUserAgent, selectAuthorizationRoleName, selectBusyDeviceIds, selectCameraDeviceError, selectCameraDevices, selectChatMessages, selectChatRaw, selectCloudRecordingError, selectCloudRecordingRaw, selectCloudRecordingStartedAt, selectCloudRecordingStatus, selectConnectionMonitorIsRunning, selectCurrentCameraDeviceId, selectCurrentMicrophoneDeviceId, selectCurrentSpeakerDeviceId, selectDeviceCredentialsRaw, selectDeviceId, selectHasFetchedDeviceCredentials, selectIsAcceptingStreams, selectIsAuthorizedToAskToSpeak, selectIsAuthorizedToEndMeeting, selectIsAuthorizedToKickClient, selectIsAuthorizedToLockRoom, selectIsAuthorizedToRequestAudioEnable, selectIsAuthorizedToRequestVideoEnable, selectIsAuthorizedToSpotlight, selectIsCameraEnabled, selectIsCloudRecording, selectIsLocalMediaStarting, selectIsLocalParticipantSpotlighted, selectIsLowDataModeEnabled, selectIsMicrophoneEnabled, selectIsSettingCameraDevice, selectIsSettingMicrophoneDevice, selectIsToggleCamera, selectLocalMediaConstraintsOptions, selectLocalMediaDevices, selectLocalMediaIsSwitchingStream, selectLocalMediaOptions, selectLocalMediaOwnsStream, selectLocalMediaRaw, selectLocalMediaShouldStartWithOptions, selectLocalMediaShouldStop, selectLocalMediaStartError, selectLocalMediaStatus, selectLocalMediaStream, selectLocalParticipantClientClaim, selectLocalParticipantDisplayName, selectLocalParticipantIsScreenSharing, selectLocalParticipantRaw, selectLocalParticipantStickyReaction, selectLocalParticipantView, selectLocalScreenshareRaw, selectLocalScreenshareStatus, selectLocalScreenshareStream, selectMicrophoneDeviceError, selectMicrophoneDevices, selectNotificationsEmitter, selectNotificationsEvents, selectNotificationsRaw, selectNumClients, selectNumParticipants, selectOrganizationId, selectOrganizationRaw, selectRemoteClientViews, selectRemoteClients, selectRemoteParticipants, selectRemoteParticipantsRaw, selectRoomConnectionError, selectRoomConnectionRaw, selectRoomConnectionSession, selectRoomConnectionSessionId, selectRoomConnectionStatus, selectRoomIsLocked, selectRoomKey, selectRtcConnectionRaw, selectRtcDispatcherCreated, selectRtcIsCreatingDispatcher, selectRtcManager, selectRtcManagerInitialized, selectRtcStatus, selectScreenshares, selectSelfId, selectShouldConnectRoom, selectShouldConnectRtc, selectShouldConnectSignal, selectShouldDisconnectRtc, selectShouldFetchDeviceCredentials, selectShouldFetchOrganization, selectShouldIdentifyDevice, selectShouldInitializeRtc, selectShouldStartConnectionMonitor, selectShouldStopConnectionMonitor, selectSignalConnectionDeviceIdentified, selectSignalConnectionRaw, selectSignalConnectionSocket, selectSignalIsIdentifyingDevice, selectSignalStatus, selectSpeakerDevices, selectSpotlightedClientViews, selectSpotlights, selectSpotlightsRaw, selectStopCallbackFunction, selectStreamingRaw, selectStreamsToAccept, selectWaitingParticipants, selectWaitingParticipantsRaw, setCurrentCameraDeviceId, setCurrentMicrophoneDeviceId, setCurrentSpeakerDeviceId, setDisplayName, setLocalMediaOptions, setLocalMediaStream, setRoomKey, signalConnectionSlice, signalEvents, socketConnected, socketConnecting, socketDisconnected, socketReconnecting, spotlightsSlice, startAppListening, stopScreenshare, streamIdForClient, streamStatusUpdated, streamingSlice, toggleCameraEnabled, toggleLowDataModeEnabled, toggleMicrophoneEnabled, updateReportedValues, waitingParticipantsSlice };
package/dist/index.d.ts CHANGED
@@ -3,7 +3,7 @@ import { PayloadAction, ActionCreatorWithPayload, AsyncThunkPayloadCreator, Asyn
3
3
  import * as redux_thunk from 'redux-thunk';
4
4
  import * as redux from 'redux';
5
5
  import * as _whereby_com_media from '@whereby.com/media';
6
- import { RoleName, ChatMessage as ChatMessage$1, getDeviceData, RtcStreamAddedPayload, AudioEnableRequest, VideoEnableRequest, RtcEvents, RtcManager, RtcManagerDispatcher, RtcManagerCreatedPayload, AudioEnabledEvent, AudioEnableRequestedEvent, ClientLeftEvent, ClientKickedEvent, ClientMetadataReceivedEvent, ClientUnableToJoinEvent, CloudRecordingStartedEvent, KnockerLeftEvent, KnockAcceptedEvent, KnockRejectedEvent, NewClientEvent, RoomJoinedEvent, RoomKnockedEvent, RoomLockedEvent, RoomSessionEndedEvent, ScreenshareStartedEvent, ScreenshareStoppedEvent, SpotlightAddedEvent, SpotlightRemovedEvent, VideoEnabledEvent, VideoEnableRequestedEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, ServerSocket, Spotlight } from '@whereby.com/media';
6
+ import { RoleName, ChatMessage as ChatMessage$1, getDeviceData, SignalClient, RtcStreamAddedPayload, AudioEnableRequest, VideoEnableRequest, RtcEvents, RtcManager, RtcManagerDispatcher, RtcManagerCreatedPayload, AudioEnabledEvent, AudioEnableRequestedEvent, BreakoutGroupJoinedEvent, ClientLeftEvent, ClientKickedEvent, ClientMetadataReceivedEvent, ClientUnableToJoinEvent, CloudRecordingStartedEvent, KnockerLeftEvent, KnockAcceptedEvent, KnockRejectedEvent, NewClientEvent, RoomJoinedEvent, RoomKnockedEvent, RoomLockedEvent, RoomSessionEndedEvent, ScreenshareStartedEvent, ScreenshareStoppedEvent, SpotlightAddedEvent, SpotlightRemovedEvent, VideoEnabledEvent, VideoEnableRequestedEvent, LiveTranscriptionStartedEvent, LiveTranscriptionStoppedEvent, ServerSocket, Spotlight } from '@whereby.com/media';
7
7
  import * as reselect from 'reselect';
8
8
  import { AsyncThunkFulfilledActionCreator } from '@reduxjs/toolkit/dist/createAsyncThunk';
9
9
  import { EventEmitter as EventEmitter$1 } from 'events';
@@ -171,6 +171,7 @@ interface RoomParticipantData {
171
171
  stream?: MediaStream;
172
172
  isAudioEnabled: boolean;
173
173
  isVideoEnabled: boolean;
174
+ breakoutGroup: string | null;
174
175
  stickyReaction?: StickyReaction | null;
175
176
  isDialIn: boolean;
176
177
  }
@@ -181,9 +182,10 @@ declare class RoomParticipant {
181
182
  readonly isAudioEnabled: boolean;
182
183
  readonly isLocalParticipant: boolean;
183
184
  readonly isVideoEnabled: boolean;
185
+ readonly breakoutGroup: string | null;
184
186
  readonly stickyReaction?: StickyReaction | null;
185
187
  readonly isDialIn: boolean;
186
- constructor({ displayName, id, stream, isAudioEnabled, isVideoEnabled, stickyReaction, isDialIn, }: RoomParticipantData);
188
+ constructor({ displayName, id, stream, isAudioEnabled, isVideoEnabled, breakoutGroup, stickyReaction, isDialIn, }: RoomParticipantData);
187
189
  }
188
190
  interface RemoteParticipantData {
189
191
  newJoiner: boolean;
@@ -201,6 +203,7 @@ interface RemoteParticipant {
201
203
  isAudioEnabled: boolean;
202
204
  isVideoEnabled: boolean;
203
205
  isLocalParticipant: boolean;
206
+ breakoutGroup: string | null;
204
207
  stream: (MediaStream & {
205
208
  inboundId?: string;
206
209
  }) | null;
@@ -215,7 +218,7 @@ interface RemoteParticipant {
215
218
  }
216
219
  declare class LocalParticipant extends RoomParticipant {
217
220
  readonly isLocalParticipant = true;
218
- constructor({ displayName, id, stream, isAudioEnabled, isVideoEnabled, stickyReaction, isDialIn, }: RoomParticipantData);
221
+ constructor({ displayName, id, stream, isAudioEnabled, isVideoEnabled, breakoutGroup, stickyReaction, isDialIn, }: RoomParticipantData);
219
222
  }
220
223
  interface WaitingParticipant {
221
224
  id: string;
@@ -225,6 +228,7 @@ interface Screenshare {
225
228
  participantId: string;
226
229
  id: string;
227
230
  hasAudioTrack: boolean;
231
+ breakoutGroup: string | null;
228
232
  stream?: MediaStream;
229
233
  isLocal: boolean;
230
234
  }
@@ -4330,6 +4334,7 @@ declare const localParticipantSlice: _reduxjs_toolkit.Slice<LocalParticipantStat
4330
4334
  } | undefined;
4331
4335
  isAudioEnabled: boolean;
4332
4336
  isVideoEnabled: boolean;
4337
+ breakoutGroup: string | null;
4333
4338
  stickyReaction?: {
4334
4339
  reaction: string;
4335
4340
  timestamp: string;
@@ -4368,6 +4373,7 @@ declare const localParticipantSlice: _reduxjs_toolkit.Slice<LocalParticipantStat
4368
4373
  } | undefined;
4369
4374
  isAudioEnabled: boolean;
4370
4375
  isVideoEnabled: boolean;
4376
+ breakoutGroup: string | null;
4371
4377
  stickyReaction?: {
4372
4378
  reaction: string;
4373
4379
  timestamp: string;
@@ -4564,6 +4570,7 @@ interface StreamStatusUpdate {
4564
4570
  state: StreamState;
4565
4571
  }
4566
4572
 
4573
+ declare function createRemoteParticipant(client: SignalClient, newJoiner?: boolean): RemoteParticipant;
4567
4574
  interface RemoteParticipantState {
4568
4575
  remoteParticipants: RemoteParticipant[];
4569
4576
  }
@@ -4576,6 +4583,7 @@ declare const remoteParticipantsSlice: _reduxjs_toolkit.Slice<RemoteParticipantS
4576
4583
  isAudioEnabled: boolean;
4577
4584
  isVideoEnabled: boolean;
4578
4585
  isLocalParticipant: boolean;
4586
+ breakoutGroup: string | null;
4579
4587
  stream: {
4580
4588
  active: boolean;
4581
4589
  id: string;
@@ -4642,6 +4650,7 @@ declare const remoteParticipantsSlice: _reduxjs_toolkit.Slice<RemoteParticipantS
4642
4650
  isAudioEnabled: boolean;
4643
4651
  isVideoEnabled: boolean;
4644
4652
  isLocalParticipant: boolean;
4653
+ breakoutGroup: string | null;
4645
4654
  stream: {
4646
4655
  active: boolean;
4647
4656
  id: string;
@@ -4709,6 +4718,7 @@ declare const remoteParticipantsSlice: _reduxjs_toolkit.Slice<RemoteParticipantS
4709
4718
  isAudioEnabled: boolean;
4710
4719
  isVideoEnabled: boolean;
4711
4720
  isLocalParticipant: boolean;
4721
+ breakoutGroup: string | null;
4712
4722
  stream: {
4713
4723
  active: boolean;
4714
4724
  id: string;
@@ -4776,6 +4786,7 @@ declare const remoteParticipantsSlice: _reduxjs_toolkit.Slice<RemoteParticipantS
4776
4786
  isAudioEnabled: boolean;
4777
4787
  isVideoEnabled: boolean;
4778
4788
  isLocalParticipant: boolean;
4789
+ breakoutGroup: string | null;
4779
4790
  stream: {
4780
4791
  active: boolean;
4781
4792
  id: string;
@@ -5078,8 +5089,8 @@ declare const selectScreenshares: ((state: {
5078
5089
  resultsCount: () => number;
5079
5090
  resetResultsCount: () => void;
5080
5091
  } & {
5081
- resultFunc: (resultFuncArgs_0: MediaStream | null, resultFuncArgs_1: RemoteParticipant[]) => Screenshare[];
5082
- memoizedResultFunc: ((resultFuncArgs_0: MediaStream | null, resultFuncArgs_1: RemoteParticipant[]) => Screenshare[]) & {
5092
+ resultFunc: (resultFuncArgs_0: MediaStream | null, resultFuncArgs_1: LocalParticipantState, resultFuncArgs_2: RemoteParticipant[]) => Screenshare[];
5093
+ memoizedResultFunc: ((resultFuncArgs_0: MediaStream | null, resultFuncArgs_1: LocalParticipantState, resultFuncArgs_2: RemoteParticipant[]) => Screenshare[]) & {
5083
5094
  clearCache: () => void;
5084
5095
  resultsCount: () => number;
5085
5096
  resetResultsCount: () => void;
@@ -5106,7 +5117,28 @@ declare const selectScreenshares: ((state: {
5106
5117
  spotlights: SpotlightsState;
5107
5118
  streaming: StreamingState;
5108
5119
  waitingParticipants: WaitingParticipantsState;
5109
- }) => MediaStream | null, ((state: {
5120
+ }) => MediaStream | null, (state: {
5121
+ app: AppState;
5122
+ authorization: AuthorizationState;
5123
+ chat: ChatState;
5124
+ cloudRecording: CloudRecordingState;
5125
+ connectionMonitor: ConnectionMonitorState;
5126
+ deviceCredentials: DeviceCredentialsState;
5127
+ localMedia: LocalMediaState;
5128
+ localParticipant: LocalParticipantState;
5129
+ localScreenshare: LocalScreenshareState;
5130
+ notifications: NotificationsState;
5131
+ organization: OrganizationState;
5132
+ remoteParticipants: RemoteParticipantState;
5133
+ room: RoomState;
5134
+ roomConnection: RoomConnectionState;
5135
+ rtcAnalytics: rtcAnalyticsState;
5136
+ rtcConnection: RtcConnectionState;
5137
+ signalConnection: SignalConnectionState;
5138
+ spotlights: SpotlightsState;
5139
+ streaming: StreamingState;
5140
+ waitingParticipants: WaitingParticipantsState;
5141
+ }) => LocalParticipantState, ((state: {
5110
5142
  app: AppState;
5111
5143
  authorization: AuthorizationState;
5112
5144
  chat: ChatState;
@@ -6928,6 +6960,7 @@ declare const selectStreamsToAccept: ((state: {
6928
6960
  declare const signalEvents: {
6929
6961
  audioEnabled: _reduxjs_toolkit.ActionCreatorWithPayload<AudioEnabledEvent, string>;
6930
6962
  audioEnableRequested: _reduxjs_toolkit.ActionCreatorWithPayload<AudioEnableRequestedEvent, string>;
6963
+ breakoutGroupJoined: _reduxjs_toolkit.ActionCreatorWithPayload<BreakoutGroupJoinedEvent, string>;
6931
6964
  chatMessage: _reduxjs_toolkit.ActionCreatorWithPayload<ChatMessage$1, string>;
6932
6965
  clientLeft: _reduxjs_toolkit.ActionCreatorWithPayload<ClientLeftEvent, string>;
6933
6966
  clientKicked: _reduxjs_toolkit.ActionCreatorWithPayload<ClientKickedEvent, string>;
@@ -8897,4 +8930,4 @@ declare function parseRoomUrlAndSubdomain(roomAttribute?: string, subdomainAttri
8897
8930
 
8898
8931
  declare function parseUnverifiedRoomKeyData(roomKey: string): any;
8899
8932
 
8900
- export { ApiClient, type AppConfig, type AppDispatch, type AppReducer, type AppStartListening, type AppState, type AppThunk, type AuthorizationState, type ChatMessage, type ChatMessageEvent, type ChatMessageEventProps, type ChatState, type ClientView, type CloudRecordingState, type ConnectionMonitorStart, type ConnectionMonitorState, type ConnectionStatus, Credentials, CredentialsService, type DeviceCredentialsState, type FullOrganizationPermissions, type LocalMediaOptions, type LocalMediaState, LocalParticipant, type LocalParticipantState, type LocalScreenshareState, type Notification, type NotificationEvent, type NotificationEventMap, type NotificationEvents, type NotificationsEventEmitter, type NotificationsState, OrganizationApiClient, type OrganizationLimits, type OrganizationOnboardingSurvey, type OrganizationPermissionAction, type OrganizationPermissions, type OrganizationPreferences, OrganizationService, OrganizationServiceCache, type OrganizationState, type RemoteParticipant, type RemoteParticipantData, type RemoteParticipantState, type RequestAudioEvent, type RequestAudioEventProps, type RequestVideoEvent, type RequestVideoEventProps, type RoomConnectionState, RoomService, type RoomState, type RootState, type RtcConnectionState, type Screenshare, type SignalClientEvent, type SignalClientEventProps, type SignalConnectionState, type SignalStatusEvent, type SignalStatusEventProps, type SpotlightsState, type StickyReaction, type StickyReactionEvent, type StickyReactionEventProps, type Store, type StreamState, type StreamingState, type ThunkConfig, type WaitingParticipant, type WaitingParticipantsState, addAppListener, addSpotlight, appSlice, authorizationSlice, chatSlice, cloudRecordingSlice, connectionMonitorSlice, connectionMonitorStarted, connectionMonitorStopped, createAppAsyncThunk, createAppAuthorizedThunk, createAppThunk, createAsyncRoomConnectedThunk, createAuthorizedRoomConnectedThunk, createReactor, createRoomConnectedThunk, createServices, createStore, createWebRtcEmitter, debounce, deviceBusy, deviceCredentialsSlice, deviceIdentified, deviceIdentifying, doAcceptWaitingParticipant, doAppStart, doAppStop, doClearNotifications, doConnectRoom, doConnectRtc, doDisconnectRtc, doEnableAudio, doEnableVideo, doEndMeeting, doGetDeviceCredentials, doHandleAcceptStreams, doHandleStreamingStarted, doHandleStreamingStopped, doKickParticipant, doKnockRoom, doLockRoom, doOrganizationFetch, doRejectWaitingParticipant, doRemoveSpotlight, doRequestAudioEnable, doRequestVideoEnable, doRtcAnalyticsCustomEventsInitialize, doRtcManagerCreated, doRtcManagerInitialize, doRtcReportStreamResolution, doSendChatMessage, doSendClientMetadata, doSetDevice, doSetDisplayName, doSetLocalStickyReaction, doSetNotification, doSignalConnect, doSignalDisconnect, doSignalIdentifyDevice, doSpotlightParticipant, doStartCloudRecording, doStartConnectionMonitor, doStartLocalMedia, doStartScreenshare, doStopCloudRecording, doStopConnectionMonitor, doStopLocalMedia, doStopScreenshare, doSwitchLocalStream, doToggleCamera, doToggleLowDataMode, doUpdateDeviceList, getAudioTrack, getFakeMediaStream, getVideoTrack, hasValue, initialCloudRecordingState, initialLocalMediaState, initialNotificationsState, initialState, isAcceptingStreams, isClientSpotlighted, listenerMiddleware, localMediaSlice, localMediaStopped, localParticipantSlice, localScreenshareSlice, localStreamMetadataUpdated, notificationsSlice, observeStore, organizationSlice, parseRoomUrlAndSubdomain, parseUnverifiedRoomKeyData, participantStreamAdded, participantStreamIdAdded, recordingRequestStarted, remoteParticipantsSlice, removeSpotlight, resolutionReported, roomConnectionSlice, roomSlice, rootReducer, rtcAnalyticsCustomEvents, rtcAnalyticsSlice, type rtcAnalyticsState, rtcConnectionSlice, rtcDisconnected, rtcDispatcherCreated, rtcManagerCreated, rtcManagerDestroyed, rtcManagerInitialized, selectAllClientViews, selectAppDisplayName, selectAppExternalId, selectAppInitialConfig, selectAppIsActive, selectAppIsDialIn, selectAppIsNodeSdk, selectAppRaw, selectAppRoomName, selectAppRoomUrl, selectAppUserAgent, selectAuthorizationRoleName, selectBusyDeviceIds, selectCameraDeviceError, selectCameraDevices, selectChatMessages, selectChatRaw, selectCloudRecordingError, selectCloudRecordingRaw, selectCloudRecordingStartedAt, selectCloudRecordingStatus, selectConnectionMonitorIsRunning, selectCurrentCameraDeviceId, selectCurrentMicrophoneDeviceId, selectCurrentSpeakerDeviceId, selectDeviceCredentialsRaw, selectDeviceId, selectHasFetchedDeviceCredentials, selectIsAcceptingStreams, selectIsAuthorizedToAskToSpeak, selectIsAuthorizedToEndMeeting, selectIsAuthorizedToKickClient, selectIsAuthorizedToLockRoom, selectIsAuthorizedToRequestAudioEnable, selectIsAuthorizedToRequestVideoEnable, selectIsAuthorizedToSpotlight, selectIsCameraEnabled, selectIsCloudRecording, selectIsLocalMediaStarting, selectIsLocalParticipantSpotlighted, selectIsLowDataModeEnabled, selectIsMicrophoneEnabled, selectIsSettingCameraDevice, selectIsSettingMicrophoneDevice, selectIsToggleCamera, selectLocalMediaConstraintsOptions, selectLocalMediaDevices, selectLocalMediaIsSwitchingStream, selectLocalMediaOptions, selectLocalMediaOwnsStream, selectLocalMediaRaw, selectLocalMediaShouldStartWithOptions, selectLocalMediaShouldStop, selectLocalMediaStartError, selectLocalMediaStatus, selectLocalMediaStream, selectLocalParticipantClientClaim, selectLocalParticipantDisplayName, selectLocalParticipantIsScreenSharing, selectLocalParticipantRaw, selectLocalParticipantStickyReaction, selectLocalParticipantView, selectLocalScreenshareRaw, selectLocalScreenshareStatus, selectLocalScreenshareStream, selectMicrophoneDeviceError, selectMicrophoneDevices, selectNotificationsEmitter, selectNotificationsEvents, selectNotificationsRaw, selectNumClients, selectNumParticipants, selectOrganizationId, selectOrganizationRaw, selectRemoteClientViews, selectRemoteClients, selectRemoteParticipants, selectRemoteParticipantsRaw, selectRoomConnectionError, selectRoomConnectionRaw, selectRoomConnectionSession, selectRoomConnectionSessionId, selectRoomConnectionStatus, selectRoomIsLocked, selectRoomKey, selectRtcConnectionRaw, selectRtcDispatcherCreated, selectRtcIsCreatingDispatcher, selectRtcManager, selectRtcManagerInitialized, selectRtcStatus, selectScreenshares, selectSelfId, selectShouldConnectRoom, selectShouldConnectRtc, selectShouldConnectSignal, selectShouldDisconnectRtc, selectShouldFetchDeviceCredentials, selectShouldFetchOrganization, selectShouldIdentifyDevice, selectShouldInitializeRtc, selectShouldStartConnectionMonitor, selectShouldStopConnectionMonitor, selectSignalConnectionDeviceIdentified, selectSignalConnectionRaw, selectSignalConnectionSocket, selectSignalIsIdentifyingDevice, selectSignalStatus, selectSpeakerDevices, selectSpotlightedClientViews, selectSpotlights, selectSpotlightsRaw, selectStopCallbackFunction, selectStreamingRaw, selectStreamsToAccept, selectWaitingParticipants, selectWaitingParticipantsRaw, setCurrentCameraDeviceId, setCurrentMicrophoneDeviceId, setCurrentSpeakerDeviceId, setDisplayName, setLocalMediaOptions, setLocalMediaStream, setRoomKey, signalConnectionSlice, signalEvents, socketConnected, socketConnecting, socketDisconnected, socketReconnecting, spotlightsSlice, startAppListening, stopScreenshare, streamIdForClient, streamStatusUpdated, streamingSlice, toggleCameraEnabled, toggleLowDataModeEnabled, toggleMicrophoneEnabled, updateReportedValues, waitingParticipantsSlice };
8933
+ export { ApiClient, type AppConfig, type AppDispatch, type AppReducer, type AppStartListening, type AppState, type AppThunk, type AuthorizationState, type ChatMessage, type ChatMessageEvent, type ChatMessageEventProps, type ChatState, type ClientView, type CloudRecordingState, type ConnectionMonitorStart, type ConnectionMonitorState, type ConnectionStatus, Credentials, CredentialsService, type DeviceCredentialsState, type FullOrganizationPermissions, type LocalMediaOptions, type LocalMediaState, LocalParticipant, type LocalParticipantState, type LocalScreenshareState, type Notification, type NotificationEvent, type NotificationEventMap, type NotificationEvents, type NotificationsEventEmitter, type NotificationsState, OrganizationApiClient, type OrganizationLimits, type OrganizationOnboardingSurvey, type OrganizationPermissionAction, type OrganizationPermissions, type OrganizationPreferences, OrganizationService, OrganizationServiceCache, type OrganizationState, type RemoteParticipant, type RemoteParticipantData, type RemoteParticipantState, type RequestAudioEvent, type RequestAudioEventProps, type RequestVideoEvent, type RequestVideoEventProps, type RoomConnectionState, RoomService, type RoomState, type RootState, type RtcConnectionState, type Screenshare, type SignalClientEvent, type SignalClientEventProps, type SignalConnectionState, type SignalStatusEvent, type SignalStatusEventProps, type SpotlightsState, type StickyReaction, type StickyReactionEvent, type StickyReactionEventProps, type Store, type StreamState, type StreamingState, type ThunkConfig, type WaitingParticipant, type WaitingParticipantsState, addAppListener, addSpotlight, appSlice, authorizationSlice, chatSlice, cloudRecordingSlice, connectionMonitorSlice, connectionMonitorStarted, connectionMonitorStopped, createAppAsyncThunk, createAppAuthorizedThunk, createAppThunk, createAsyncRoomConnectedThunk, createAuthorizedRoomConnectedThunk, createReactor, createRemoteParticipant, createRoomConnectedThunk, createServices, createStore, createWebRtcEmitter, debounce, deviceBusy, deviceCredentialsSlice, deviceIdentified, deviceIdentifying, doAcceptWaitingParticipant, doAppStart, doAppStop, doClearNotifications, doConnectRoom, doConnectRtc, doDisconnectRtc, doEnableAudio, doEnableVideo, doEndMeeting, doGetDeviceCredentials, doHandleAcceptStreams, doHandleStreamingStarted, doHandleStreamingStopped, doKickParticipant, doKnockRoom, doLockRoom, doOrganizationFetch, doRejectWaitingParticipant, doRemoveSpotlight, doRequestAudioEnable, doRequestVideoEnable, doRtcAnalyticsCustomEventsInitialize, doRtcManagerCreated, doRtcManagerInitialize, doRtcReportStreamResolution, doSendChatMessage, doSendClientMetadata, doSetDevice, doSetDisplayName, doSetLocalStickyReaction, doSetNotification, doSignalConnect, doSignalDisconnect, doSignalIdentifyDevice, doSpotlightParticipant, doStartCloudRecording, doStartConnectionMonitor, doStartLocalMedia, doStartScreenshare, doStopCloudRecording, doStopConnectionMonitor, doStopLocalMedia, doStopScreenshare, doSwitchLocalStream, doToggleCamera, doToggleLowDataMode, doUpdateDeviceList, getAudioTrack, getFakeMediaStream, getVideoTrack, hasValue, initialCloudRecordingState, initialLocalMediaState, initialNotificationsState, initialState, isAcceptingStreams, isClientSpotlighted, listenerMiddleware, localMediaSlice, localMediaStopped, localParticipantSlice, localScreenshareSlice, localStreamMetadataUpdated, notificationsSlice, observeStore, organizationSlice, parseRoomUrlAndSubdomain, parseUnverifiedRoomKeyData, participantStreamAdded, participantStreamIdAdded, recordingRequestStarted, remoteParticipantsSlice, removeSpotlight, resolutionReported, roomConnectionSlice, roomSlice, rootReducer, rtcAnalyticsCustomEvents, rtcAnalyticsSlice, type rtcAnalyticsState, rtcConnectionSlice, rtcDisconnected, rtcDispatcherCreated, rtcManagerCreated, rtcManagerDestroyed, rtcManagerInitialized, selectAllClientViews, selectAppDisplayName, selectAppExternalId, selectAppInitialConfig, selectAppIsActive, selectAppIsDialIn, selectAppIsNodeSdk, selectAppRaw, selectAppRoomName, selectAppRoomUrl, selectAppUserAgent, selectAuthorizationRoleName, selectBusyDeviceIds, selectCameraDeviceError, selectCameraDevices, selectChatMessages, selectChatRaw, selectCloudRecordingError, selectCloudRecordingRaw, selectCloudRecordingStartedAt, selectCloudRecordingStatus, selectConnectionMonitorIsRunning, selectCurrentCameraDeviceId, selectCurrentMicrophoneDeviceId, selectCurrentSpeakerDeviceId, selectDeviceCredentialsRaw, selectDeviceId, selectHasFetchedDeviceCredentials, selectIsAcceptingStreams, selectIsAuthorizedToAskToSpeak, selectIsAuthorizedToEndMeeting, selectIsAuthorizedToKickClient, selectIsAuthorizedToLockRoom, selectIsAuthorizedToRequestAudioEnable, selectIsAuthorizedToRequestVideoEnable, selectIsAuthorizedToSpotlight, selectIsCameraEnabled, selectIsCloudRecording, selectIsLocalMediaStarting, selectIsLocalParticipantSpotlighted, selectIsLowDataModeEnabled, selectIsMicrophoneEnabled, selectIsSettingCameraDevice, selectIsSettingMicrophoneDevice, selectIsToggleCamera, selectLocalMediaConstraintsOptions, selectLocalMediaDevices, selectLocalMediaIsSwitchingStream, selectLocalMediaOptions, selectLocalMediaOwnsStream, selectLocalMediaRaw, selectLocalMediaShouldStartWithOptions, selectLocalMediaShouldStop, selectLocalMediaStartError, selectLocalMediaStatus, selectLocalMediaStream, selectLocalParticipantClientClaim, selectLocalParticipantDisplayName, selectLocalParticipantIsScreenSharing, selectLocalParticipantRaw, selectLocalParticipantStickyReaction, selectLocalParticipantView, selectLocalScreenshareRaw, selectLocalScreenshareStatus, selectLocalScreenshareStream, selectMicrophoneDeviceError, selectMicrophoneDevices, selectNotificationsEmitter, selectNotificationsEvents, selectNotificationsRaw, selectNumClients, selectNumParticipants, selectOrganizationId, selectOrganizationRaw, selectRemoteClientViews, selectRemoteClients, selectRemoteParticipants, selectRemoteParticipantsRaw, selectRoomConnectionError, selectRoomConnectionRaw, selectRoomConnectionSession, selectRoomConnectionSessionId, selectRoomConnectionStatus, selectRoomIsLocked, selectRoomKey, selectRtcConnectionRaw, selectRtcDispatcherCreated, selectRtcIsCreatingDispatcher, selectRtcManager, selectRtcManagerInitialized, selectRtcStatus, selectScreenshares, selectSelfId, selectShouldConnectRoom, selectShouldConnectRtc, selectShouldConnectSignal, selectShouldDisconnectRtc, selectShouldFetchDeviceCredentials, selectShouldFetchOrganization, selectShouldIdentifyDevice, selectShouldInitializeRtc, selectShouldStartConnectionMonitor, selectShouldStopConnectionMonitor, selectSignalConnectionDeviceIdentified, selectSignalConnectionRaw, selectSignalConnectionSocket, selectSignalIsIdentifyingDevice, selectSignalStatus, selectSpeakerDevices, selectSpotlightedClientViews, selectSpotlights, selectSpotlightsRaw, selectStopCallbackFunction, selectStreamingRaw, selectStreamsToAccept, selectWaitingParticipants, selectWaitingParticipantsRaw, setCurrentCameraDeviceId, setCurrentMicrophoneDeviceId, setCurrentSpeakerDeviceId, setDisplayName, setLocalMediaOptions, setLocalMediaStream, setRoomKey, signalConnectionSlice, signalEvents, socketConnected, socketConnecting, socketDisconnected, socketReconnecting, spotlightsSlice, startAppListening, stopScreenshare, streamIdForClient, streamStatusUpdated, streamingSlice, toggleCameraEnabled, toggleLowDataModeEnabled, toggleMicrophoneEnabled, updateReportedValues, waitingParticipantsSlice };
package/dist/index.mjs CHANGED
@@ -74,7 +74,7 @@ const createReactor = (selectors, callback) => {
74
74
  });
75
75
  };
76
76
 
77
- const coreVersion = "0.28.7";
77
+ const coreVersion = "0.29.0";
78
78
 
79
79
  const initialState$g = {
80
80
  isNodeSdk: false,
@@ -117,6 +117,7 @@ function createSignalEventAction(name) {
117
117
  const signalEvents = {
118
118
  audioEnabled: createSignalEventAction("audioEnabled"),
119
119
  audioEnableRequested: createSignalEventAction("audioEnableRequested"),
120
+ breakoutGroupJoined: createSignalEventAction("breakoutGroupJoined"),
120
121
  chatMessage: createSignalEventAction("chatMessage"),
121
122
  clientLeft: createSignalEventAction("clientLeft"),
122
123
  clientKicked: createSignalEventAction("clientKicked"),
@@ -303,6 +304,7 @@ function forwardSocketEvents(socket, dispatch) {
303
304
  socket.on("live_transcription_started", (payload) => dispatch(signalEvents.liveTranscriptionStarted(payload)));
304
305
  socket.on("live_transcription_stopped", (payload) => dispatch(signalEvents.liveTranscriptionStopped(payload)));
305
306
  socket.on("video_enable_requested", (payload) => dispatch(signalEvents.videoEnableRequested(payload)));
307
+ socket.on("breakout_group_joined", (payload) => dispatch(signalEvents.breakoutGroupJoined(payload)));
306
308
  }
307
309
  const SIGNAL_BASE_URL = "wss://signal.appearin.net" ;
308
310
  function createSocket() {
@@ -1159,6 +1161,7 @@ const NON_PERSON_ROLES = ["recorder", "streamer"];
1159
1161
  const initialState$a = {
1160
1162
  displayName: "",
1161
1163
  id: "",
1164
+ breakoutGroup: null,
1162
1165
  isAudioEnabled: true,
1163
1166
  isVideoEnabled: true,
1164
1167
  isLocalParticipant: true,
@@ -1193,7 +1196,14 @@ const localParticipantSlice = createSlice({
1193
1196
  builder.addCase(signalEvents.roomJoined, (state, action) => {
1194
1197
  var _a, _b;
1195
1198
  const client = (_b = (_a = action.payload) === null || _a === void 0 ? void 0 : _a.room) === null || _b === void 0 ? void 0 : _b.clients.find((c) => { var _a; return c.id === ((_a = action.payload) === null || _a === void 0 ? void 0 : _a.selfId); });
1196
- return Object.assign(Object.assign({}, state), { id: action.payload.selfId, roleName: (client === null || client === void 0 ? void 0 : client.role.roleName) || "none", clientClaim: action.payload.clientClaim });
1199
+ return Object.assign(Object.assign({}, state), { id: action.payload.selfId, roleName: (client === null || client === void 0 ? void 0 : client.role.roleName) || "none", clientClaim: action.payload.clientClaim, breakoutGroup: (client === null || client === void 0 ? void 0 : client.breakoutGroup) || null });
1200
+ });
1201
+ builder.addCase(signalEvents.breakoutGroupJoined, (state, action) => {
1202
+ var _a, _b;
1203
+ if (((_a = action.payload) === null || _a === void 0 ? void 0 : _a.clientId) !== state.id) {
1204
+ return state;
1205
+ }
1206
+ return Object.assign(Object.assign({}, state), { breakoutGroup: (_b = action.payload) === null || _b === void 0 ? void 0 : _b.group });
1197
1207
  });
1198
1208
  },
1199
1209
  });
@@ -1471,8 +1481,8 @@ const rtcEvents = {
1471
1481
  };
1472
1482
 
1473
1483
  function createRemoteParticipant(client, newJoiner = false) {
1474
- const { streams, role } = client, rest = __rest(client, ["streams", "role"]);
1475
- return Object.assign(Object.assign({}, rest), { stream: null, streams: streams.map((streamId) => ({ id: streamId, state: newJoiner ? "new_accept" : "to_accept" })), isLocalParticipant: false, roleName: (role === null || role === void 0 ? void 0 : role.roleName) || "none", presentationStream: null, newJoiner });
1484
+ const { streams, role, breakoutGroup } = client, rest = __rest(client, ["streams", "role", "breakoutGroup"]);
1485
+ return Object.assign(Object.assign({}, rest), { stream: null, streams: streams.map((streamId) => ({ id: streamId, state: newJoiner ? "new_accept" : "to_accept" })), isLocalParticipant: false, roleName: (role === null || role === void 0 ? void 0 : role.roleName) || "none", presentationStream: null, breakoutGroup: breakoutGroup || null, newJoiner });
1476
1486
  }
1477
1487
  function findParticipant(state, participantId) {
1478
1488
  const index = state.remoteParticipants.findIndex((c) => c.id === participantId);
@@ -1630,6 +1640,12 @@ const remoteParticipantsSlice = createSlice({
1630
1640
  stickyReaction,
1631
1641
  });
1632
1642
  });
1643
+ builder.addCase(signalEvents.breakoutGroupJoined, (state, action) => {
1644
+ const { clientId, group } = action.payload;
1645
+ return updateParticipant(state, clientId, {
1646
+ breakoutGroup: group || null,
1647
+ });
1648
+ });
1633
1649
  builder.addCase(signalEvents.screenshareStarted, (state, action) => {
1634
1650
  const { clientId, streamId } = action.payload;
1635
1651
  return addStreamId(state, clientId, streamId);
@@ -2099,13 +2115,14 @@ const doEndMeeting = createAppAuthorizedThunk((state) => selectIsAuthorizedToEnd
2099
2115
  }
2100
2116
  });
2101
2117
  const selectRoomIsLocked = (state) => state.room.isLocked;
2102
- const selectScreenshares = createSelector(selectLocalScreenshareStream, selectRemoteParticipants, (localScreenshareStream, remoteParticipants) => {
2118
+ const selectScreenshares = createSelector(selectLocalScreenshareStream, selectLocalParticipantRaw, selectRemoteParticipants, (localScreenshareStream, localParticipant, remoteParticipants) => {
2103
2119
  const screenshares = [];
2104
2120
  if (localScreenshareStream) {
2105
2121
  screenshares.push({
2106
2122
  id: localScreenshareStream.id || "local-screenshare",
2107
2123
  participantId: "local",
2108
2124
  hasAudioTrack: localScreenshareStream.getTracks().some((track) => track.kind === "audio"),
2125
+ breakoutGroup: localParticipant.breakoutGroup,
2109
2126
  stream: localScreenshareStream,
2110
2127
  isLocal: true,
2111
2128
  });
@@ -2116,6 +2133,7 @@ const selectScreenshares = createSelector(selectLocalScreenshareStream, selectRe
2116
2133
  id: participant.presentationStream.id || `pres-${participant.id}`,
2117
2134
  participantId: participant.id,
2118
2135
  hasAudioTrack: participant.presentationStream.getTracks().some((track) => track.kind === "audio"),
2136
+ breakoutGroup: participant.breakoutGroup,
2119
2137
  stream: participant.presentationStream,
2120
2138
  isLocal: false,
2121
2139
  });
@@ -3823,20 +3841,21 @@ class RoomService {
3823
3841
  }
3824
3842
 
3825
3843
  class RoomParticipant {
3826
- constructor({ displayName, id, stream, isAudioEnabled, isVideoEnabled, stickyReaction, isDialIn, }) {
3844
+ constructor({ displayName, id, stream, isAudioEnabled, isVideoEnabled, breakoutGroup, stickyReaction, isDialIn, }) {
3827
3845
  this.isLocalParticipant = false;
3828
3846
  this.displayName = displayName;
3829
3847
  this.id = id;
3830
3848
  this.stream = stream;
3831
3849
  this.isAudioEnabled = isAudioEnabled;
3832
3850
  this.isVideoEnabled = isVideoEnabled;
3851
+ this.breakoutGroup = breakoutGroup;
3833
3852
  this.stickyReaction = stickyReaction;
3834
3853
  this.isDialIn = isDialIn;
3835
3854
  }
3836
3855
  }
3837
3856
  class LocalParticipant extends RoomParticipant {
3838
- constructor({ displayName, id, stream, isAudioEnabled, isVideoEnabled, stickyReaction, isDialIn, }) {
3839
- super({ displayName, id, stream, isAudioEnabled, isVideoEnabled, stickyReaction, isDialIn });
3857
+ constructor({ displayName, id, stream, isAudioEnabled, isVideoEnabled, breakoutGroup, stickyReaction, isDialIn, }) {
3858
+ super({ displayName, id, stream, isAudioEnabled, isVideoEnabled, breakoutGroup, stickyReaction, isDialIn });
3840
3859
  this.isLocalParticipant = true;
3841
3860
  }
3842
3861
  }
@@ -3866,4 +3885,4 @@ function createServices() {
3866
3885
  };
3867
3886
  }
3868
3887
 
3869
- export { ApiClient, Credentials, CredentialsService, LocalParticipant, OrganizationApiClient, OrganizationService, OrganizationServiceCache, RoomService, addAppListener, addSpotlight, appSlice, authorizationSlice, chatSlice, cloudRecordingSlice, connectionMonitorSlice, connectionMonitorStarted, connectionMonitorStopped, createAppAsyncThunk, createAppAuthorizedThunk, createAppThunk, createAsyncRoomConnectedThunk, createAuthorizedRoomConnectedThunk, createReactor, createRoomConnectedThunk, createServices, createStore, createWebRtcEmitter, debounce, deviceBusy, deviceCredentialsSlice, deviceIdentified, deviceIdentifying, doAcceptWaitingParticipant, doAppStart, doAppStop, doClearNotifications, doConnectRoom, doConnectRtc, doDisconnectRtc, doEnableAudio, doEnableVideo, doEndMeeting, doGetDeviceCredentials, doHandleAcceptStreams, doHandleStreamingStarted, doHandleStreamingStopped, doKickParticipant, doKnockRoom, doLockRoom, doOrganizationFetch, doRejectWaitingParticipant, doRemoveSpotlight, doRequestAudioEnable, doRequestVideoEnable, doRtcAnalyticsCustomEventsInitialize, doRtcManagerCreated, doRtcManagerInitialize, doRtcReportStreamResolution, doSendChatMessage, doSendClientMetadata, doSetDevice, doSetDisplayName, doSetLocalStickyReaction, doSetNotification, doSignalConnect, doSignalDisconnect, doSignalIdentifyDevice, doSpotlightParticipant, doStartCloudRecording, doStartConnectionMonitor, doStartLocalMedia, doStartScreenshare, doStopCloudRecording, doStopConnectionMonitor, doStopLocalMedia, doStopScreenshare, doSwitchLocalStream, doToggleCamera, doToggleLowDataMode, doUpdateDeviceList, getAudioTrack, getFakeMediaStream, getVideoTrack, hasValue, initialCloudRecordingState, initialLocalMediaState, initialNotificationsState, initialState$g as initialState, isAcceptingStreams, isClientSpotlighted, listenerMiddleware, localMediaSlice, localMediaStopped, localParticipantSlice, localScreenshareSlice, localStreamMetadataUpdated, notificationsSlice, observeStore, organizationSlice, parseRoomUrlAndSubdomain, parseUnverifiedRoomKeyData, participantStreamAdded, participantStreamIdAdded, recordingRequestStarted, remoteParticipantsSlice, removeSpotlight, resolutionReported, roomConnectionSlice, roomSlice, rootReducer, rtcAnalyticsCustomEvents, rtcAnalyticsSlice, rtcConnectionSlice, rtcDisconnected, rtcDispatcherCreated, rtcManagerCreated, rtcManagerDestroyed, rtcManagerInitialized, selectAllClientViews, selectAppDisplayName, selectAppExternalId, selectAppInitialConfig, selectAppIsActive, selectAppIsDialIn, selectAppIsNodeSdk, selectAppRaw, selectAppRoomName, selectAppRoomUrl, selectAppUserAgent, selectAuthorizationRoleName, selectBusyDeviceIds, selectCameraDeviceError, selectCameraDevices, selectChatMessages, selectChatRaw, selectCloudRecordingError, selectCloudRecordingRaw, selectCloudRecordingStartedAt, selectCloudRecordingStatus, selectConnectionMonitorIsRunning, selectCurrentCameraDeviceId, selectCurrentMicrophoneDeviceId, selectCurrentSpeakerDeviceId, selectDeviceCredentialsRaw, selectDeviceId, selectHasFetchedDeviceCredentials, selectIsAcceptingStreams, selectIsAuthorizedToAskToSpeak, selectIsAuthorizedToEndMeeting, selectIsAuthorizedToKickClient, selectIsAuthorizedToLockRoom, selectIsAuthorizedToRequestAudioEnable, selectIsAuthorizedToRequestVideoEnable, selectIsAuthorizedToSpotlight, selectIsCameraEnabled, selectIsCloudRecording, selectIsLocalMediaStarting, selectIsLocalParticipantSpotlighted, selectIsLowDataModeEnabled, selectIsMicrophoneEnabled, selectIsSettingCameraDevice, selectIsSettingMicrophoneDevice, selectIsToggleCamera, selectLocalMediaConstraintsOptions, selectLocalMediaDevices, selectLocalMediaIsSwitchingStream, selectLocalMediaOptions, selectLocalMediaOwnsStream, selectLocalMediaRaw, selectLocalMediaShouldStartWithOptions, selectLocalMediaShouldStop, selectLocalMediaStartError, selectLocalMediaStatus, selectLocalMediaStream, selectLocalParticipantClientClaim, selectLocalParticipantDisplayName, selectLocalParticipantIsScreenSharing, selectLocalParticipantRaw, selectLocalParticipantStickyReaction, selectLocalParticipantView, selectLocalScreenshareRaw, selectLocalScreenshareStatus, selectLocalScreenshareStream, selectMicrophoneDeviceError, selectMicrophoneDevices, selectNotificationsEmitter, selectNotificationsEvents, selectNotificationsRaw, selectNumClients, selectNumParticipants, selectOrganizationId, selectOrganizationRaw, selectRemoteClientViews, selectRemoteClients, selectRemoteParticipants, selectRemoteParticipantsRaw, selectRoomConnectionError, selectRoomConnectionRaw, selectRoomConnectionSession, selectRoomConnectionSessionId, selectRoomConnectionStatus, selectRoomIsLocked, selectRoomKey, selectRtcConnectionRaw, selectRtcDispatcherCreated, selectRtcIsCreatingDispatcher, selectRtcManager, selectRtcManagerInitialized, selectRtcStatus, selectScreenshares, selectSelfId, selectShouldConnectRoom, selectShouldConnectRtc, selectShouldConnectSignal, selectShouldDisconnectRtc, selectShouldFetchDeviceCredentials, selectShouldFetchOrganization, selectShouldIdentifyDevice, selectShouldInitializeRtc, selectShouldStartConnectionMonitor, selectShouldStopConnectionMonitor, selectSignalConnectionDeviceIdentified, selectSignalConnectionRaw, selectSignalConnectionSocket, selectSignalIsIdentifyingDevice, selectSignalStatus, selectSpeakerDevices, selectSpotlightedClientViews, selectSpotlights, selectSpotlightsRaw, selectStopCallbackFunction, selectStreamingRaw, selectStreamsToAccept, selectWaitingParticipants, selectWaitingParticipantsRaw, setCurrentCameraDeviceId, setCurrentMicrophoneDeviceId, setCurrentSpeakerDeviceId, setDisplayName, setLocalMediaOptions, setLocalMediaStream, setRoomKey, signalConnectionSlice, signalEvents, socketConnected, socketConnecting, socketDisconnected, socketReconnecting, spotlightsSlice, startAppListening, stopScreenshare, streamIdForClient, streamStatusUpdated, streamingSlice, toggleCameraEnabled, toggleLowDataModeEnabled, toggleMicrophoneEnabled, updateReportedValues, waitingParticipantsSlice };
3888
+ export { ApiClient, Credentials, CredentialsService, LocalParticipant, OrganizationApiClient, OrganizationService, OrganizationServiceCache, RoomService, addAppListener, addSpotlight, appSlice, authorizationSlice, chatSlice, cloudRecordingSlice, connectionMonitorSlice, connectionMonitorStarted, connectionMonitorStopped, createAppAsyncThunk, createAppAuthorizedThunk, createAppThunk, createAsyncRoomConnectedThunk, createAuthorizedRoomConnectedThunk, createReactor, createRemoteParticipant, createRoomConnectedThunk, createServices, createStore, createWebRtcEmitter, debounce, deviceBusy, deviceCredentialsSlice, deviceIdentified, deviceIdentifying, doAcceptWaitingParticipant, doAppStart, doAppStop, doClearNotifications, doConnectRoom, doConnectRtc, doDisconnectRtc, doEnableAudio, doEnableVideo, doEndMeeting, doGetDeviceCredentials, doHandleAcceptStreams, doHandleStreamingStarted, doHandleStreamingStopped, doKickParticipant, doKnockRoom, doLockRoom, doOrganizationFetch, doRejectWaitingParticipant, doRemoveSpotlight, doRequestAudioEnable, doRequestVideoEnable, doRtcAnalyticsCustomEventsInitialize, doRtcManagerCreated, doRtcManagerInitialize, doRtcReportStreamResolution, doSendChatMessage, doSendClientMetadata, doSetDevice, doSetDisplayName, doSetLocalStickyReaction, doSetNotification, doSignalConnect, doSignalDisconnect, doSignalIdentifyDevice, doSpotlightParticipant, doStartCloudRecording, doStartConnectionMonitor, doStartLocalMedia, doStartScreenshare, doStopCloudRecording, doStopConnectionMonitor, doStopLocalMedia, doStopScreenshare, doSwitchLocalStream, doToggleCamera, doToggleLowDataMode, doUpdateDeviceList, getAudioTrack, getFakeMediaStream, getVideoTrack, hasValue, initialCloudRecordingState, initialLocalMediaState, initialNotificationsState, initialState$g as initialState, isAcceptingStreams, isClientSpotlighted, listenerMiddleware, localMediaSlice, localMediaStopped, localParticipantSlice, localScreenshareSlice, localStreamMetadataUpdated, notificationsSlice, observeStore, organizationSlice, parseRoomUrlAndSubdomain, parseUnverifiedRoomKeyData, participantStreamAdded, participantStreamIdAdded, recordingRequestStarted, remoteParticipantsSlice, removeSpotlight, resolutionReported, roomConnectionSlice, roomSlice, rootReducer, rtcAnalyticsCustomEvents, rtcAnalyticsSlice, rtcConnectionSlice, rtcDisconnected, rtcDispatcherCreated, rtcManagerCreated, rtcManagerDestroyed, rtcManagerInitialized, selectAllClientViews, selectAppDisplayName, selectAppExternalId, selectAppInitialConfig, selectAppIsActive, selectAppIsDialIn, selectAppIsNodeSdk, selectAppRaw, selectAppRoomName, selectAppRoomUrl, selectAppUserAgent, selectAuthorizationRoleName, selectBusyDeviceIds, selectCameraDeviceError, selectCameraDevices, selectChatMessages, selectChatRaw, selectCloudRecordingError, selectCloudRecordingRaw, selectCloudRecordingStartedAt, selectCloudRecordingStatus, selectConnectionMonitorIsRunning, selectCurrentCameraDeviceId, selectCurrentMicrophoneDeviceId, selectCurrentSpeakerDeviceId, selectDeviceCredentialsRaw, selectDeviceId, selectHasFetchedDeviceCredentials, selectIsAcceptingStreams, selectIsAuthorizedToAskToSpeak, selectIsAuthorizedToEndMeeting, selectIsAuthorizedToKickClient, selectIsAuthorizedToLockRoom, selectIsAuthorizedToRequestAudioEnable, selectIsAuthorizedToRequestVideoEnable, selectIsAuthorizedToSpotlight, selectIsCameraEnabled, selectIsCloudRecording, selectIsLocalMediaStarting, selectIsLocalParticipantSpotlighted, selectIsLowDataModeEnabled, selectIsMicrophoneEnabled, selectIsSettingCameraDevice, selectIsSettingMicrophoneDevice, selectIsToggleCamera, selectLocalMediaConstraintsOptions, selectLocalMediaDevices, selectLocalMediaIsSwitchingStream, selectLocalMediaOptions, selectLocalMediaOwnsStream, selectLocalMediaRaw, selectLocalMediaShouldStartWithOptions, selectLocalMediaShouldStop, selectLocalMediaStartError, selectLocalMediaStatus, selectLocalMediaStream, selectLocalParticipantClientClaim, selectLocalParticipantDisplayName, selectLocalParticipantIsScreenSharing, selectLocalParticipantRaw, selectLocalParticipantStickyReaction, selectLocalParticipantView, selectLocalScreenshareRaw, selectLocalScreenshareStatus, selectLocalScreenshareStream, selectMicrophoneDeviceError, selectMicrophoneDevices, selectNotificationsEmitter, selectNotificationsEvents, selectNotificationsRaw, selectNumClients, selectNumParticipants, selectOrganizationId, selectOrganizationRaw, selectRemoteClientViews, selectRemoteClients, selectRemoteParticipants, selectRemoteParticipantsRaw, selectRoomConnectionError, selectRoomConnectionRaw, selectRoomConnectionSession, selectRoomConnectionSessionId, selectRoomConnectionStatus, selectRoomIsLocked, selectRoomKey, selectRtcConnectionRaw, selectRtcDispatcherCreated, selectRtcIsCreatingDispatcher, selectRtcManager, selectRtcManagerInitialized, selectRtcStatus, selectScreenshares, selectSelfId, selectShouldConnectRoom, selectShouldConnectRtc, selectShouldConnectSignal, selectShouldDisconnectRtc, selectShouldFetchDeviceCredentials, selectShouldFetchOrganization, selectShouldIdentifyDevice, selectShouldInitializeRtc, selectShouldStartConnectionMonitor, selectShouldStopConnectionMonitor, selectSignalConnectionDeviceIdentified, selectSignalConnectionRaw, selectSignalConnectionSocket, selectSignalIsIdentifyingDevice, selectSignalStatus, selectSpeakerDevices, selectSpotlightedClientViews, selectSpotlights, selectSpotlightsRaw, selectStopCallbackFunction, selectStreamingRaw, selectStreamsToAccept, selectWaitingParticipants, selectWaitingParticipantsRaw, setCurrentCameraDeviceId, setCurrentMicrophoneDeviceId, setCurrentSpeakerDeviceId, setDisplayName, setLocalMediaOptions, setLocalMediaStream, setRoomKey, signalConnectionSlice, signalEvents, socketConnected, socketConnecting, socketDisconnected, socketReconnecting, spotlightsSlice, startAppListening, stopScreenshare, streamIdForClient, streamStatusUpdated, streamingSlice, toggleCameraEnabled, toggleLowDataModeEnabled, toggleMicrophoneEnabled, updateReportedValues, waitingParticipantsSlice };
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@whereby.com/core",
3
3
  "description": "Core library for whereby.com sdk",
4
4
  "author": "Whereby AS",
5
- "version": "0.28.7",
5
+ "version": "0.29.0",
6
6
  "license": "MIT",
7
7
  "scripts": {
8
8
  "clean": "rimraf dist node_modules .turbo",
@@ -48,7 +48,7 @@
48
48
  },
49
49
  "dependencies": {
50
50
  "@reduxjs/toolkit": "^2.2.3",
51
- "@whereby.com/media": "1.17.1",
51
+ "@whereby.com/media": "1.17.2",
52
52
  "axios": "^1.2.3",
53
53
  "btoa": "^1.2.1",
54
54
  "events": "^3.3.0"