@observertc/observer-js 0.30.6-beta → 0.40.1-beta

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/lib/ObservedCall.d.ts +6 -12
  2. package/lib/ObservedCall.d.ts.map +1 -1
  3. package/lib/ObservedCall.js +24 -104
  4. package/lib/ObservedClient.d.ts +16 -32
  5. package/lib/ObservedClient.d.ts.map +1 -1
  6. package/lib/ObservedClient.js +381 -521
  7. package/lib/ObservedDataChannel.d.ts +68 -0
  8. package/lib/ObservedDataChannel.d.ts.map +1 -0
  9. package/lib/ObservedDataChannel.js +110 -0
  10. package/lib/ObservedInboundTrack.d.ts +3 -9
  11. package/lib/ObservedInboundTrack.d.ts.map +1 -1
  12. package/lib/ObservedInboundTrack.js +75 -157
  13. package/lib/ObservedOutboundTrack.d.ts +9 -9
  14. package/lib/ObservedOutboundTrack.d.ts.map +1 -1
  15. package/lib/ObservedOutboundTrack.js +77 -133
  16. package/lib/ObservedPeerConnection.d.ts +21 -15
  17. package/lib/ObservedPeerConnection.d.ts.map +1 -1
  18. package/lib/ObservedPeerConnection.js +85 -171
  19. package/lib/ObservedSfu.d.ts +5 -7
  20. package/lib/ObservedSfu.d.ts.map +1 -1
  21. package/lib/ObservedSfu.js +10 -74
  22. package/lib/Observer.d.ts +5 -6
  23. package/lib/Observer.d.ts.map +1 -1
  24. package/lib/Observer.js +28 -31
  25. package/lib/common/types.d.ts +0 -55
  26. package/lib/common/types.d.ts.map +1 -1
  27. package/lib/index.d.ts +5 -7
  28. package/lib/index.d.ts.map +1 -1
  29. package/package.json +1 -1
  30. package/src/ObservedCall.ts +27 -87
  31. package/src/ObservedClient.ts +451 -586
  32. package/src/ObservedDataChannel.ts +186 -0
  33. package/src/ObservedInboundTrack.ts +18 -72
  34. package/src/ObservedOutboundTrack.ts +36 -60
  35. package/src/ObservedPeerConnection.ts +79 -112
  36. package/src/ObservedSfu.ts +11 -46
  37. package/src/Observer.ts +11 -16
  38. package/src/common/types.ts +0 -69
  39. package/src/index.ts +5 -7
  40. package/lib/models/Models.d.ts +0 -642
  41. package/lib/models/Models.d.ts.map +0 -1
  42. package/lib/models/Models.js +0 -481
  43. package/lib/models/samples_pb.d.ts +0 -2452
  44. package/lib/models/samples_pb.d.ts.map +0 -1
  45. package/lib/models/samples_pb.js +0 -1495
  46. package/lib/storages/ObserverStorage.d.ts +0 -87
  47. package/lib/storages/ObserverStorage.d.ts.map +0 -1
  48. package/lib/storages/ObserverStorage.js +0 -2
  49. package/lib/storages/SimpleStorage.d.ts +0 -19
  50. package/lib/storages/SimpleStorage.d.ts.map +0 -1
  51. package/lib/storages/SimpleStorage.js +0 -106
  52. package/lib/storages/StorageProvider.d.ts +0 -16
  53. package/lib/storages/StorageProvider.d.ts.map +0 -1
  54. package/lib/storages/StorageProvider.js +0 -29
  55. package/src/models/Models.ts +0 -1103
  56. package/src/models/samples_pb.ts +0 -4061
  57. package/src/storages/ObserverStorage.ts +0 -99
  58. package/src/storages/SimpleStorage.ts +0 -120
  59. package/src/storages/StorageProvider.ts +0 -42
@@ -1,60 +1,5 @@
1
1
  import { CallEventReport, CallMetaReport, ClientDataChannelReport, ClientExtensionReport, IceCandidatePairReport, InboundAudioTrackReport, InboundVideoTrackReport, ObserverEventReport, OutboundAudioTrackReport, OutboundVideoTrackReport, PeerConnectionTransportReport, SfuEventReport, SfuExtensionReport, SfuInboundRtpPadReport, SfuMetaReport, SfuOutboundRtpPadReport, SfuSctpStreamReport, SFUTransportReport } from '@observertc/report-schemas-js';
2
- import * as Models from '../models/Models';
3
- import { StorageProvider } from '../storages/StorageProvider';
4
- import { Message } from '@bufbuild/protobuf';
5
2
  export type MediaKind = 'audio' | 'video';
6
- export interface EvaluatorContext {
7
- readonly startedCallIds: string[];
8
- readonly endedCalls: (Omit<Models.Call, keyof Message> & {
9
- ended: number;
10
- })[];
11
- readonly joinedClientIds: string[];
12
- readonly detachedClients: (Omit<Models.Client, keyof Message> & {
13
- detached: number;
14
- })[];
15
- readonly openedPeerConnectionIds: string[];
16
- readonly closedPeerConnections: (Omit<Models.PeerConnection, keyof Message> & {
17
- closed: number;
18
- })[];
19
- readonly addedInboundAudioTrackIds: string[];
20
- readonly removedInboundAudioTracks: (Omit<Models.InboundTrack, keyof Message> & {
21
- removed: number;
22
- })[];
23
- readonly addedInboundVideoTrackIds: string[];
24
- readonly removedInboundVideoTracks: (Omit<Models.InboundTrack, keyof Message> & {
25
- removed: number;
26
- })[];
27
- readonly addedOutboundAudioTrackIds: string[];
28
- readonly removedOutboundAudioTracks: (Omit<Models.OutboundTrack, keyof Message> & {
29
- removed: number;
30
- })[];
31
- readonly addedOutboundVideoTrackIds: string[];
32
- readonly removedOutboundVideoTracks: (Omit<Models.OutboundTrack, keyof Message> & {
33
- removed: number;
34
- })[];
35
- readonly joinedSfuIds: string[];
36
- readonly detachedSfus: (Omit<Models.Sfu, keyof Message> & {
37
- detached: number;
38
- })[];
39
- readonly openedSfuTransportIds: string[];
40
- readonly closedSfuTransports: (Omit<Models.SfuTransport, keyof Message> & {
41
- closed: number;
42
- })[];
43
- readonly addedSfuInbounRtpPadIds: string[];
44
- readonly removedSfuInbounRtpPadIds: (Omit<Models.SfuInboundRtpPad, keyof Message> & {
45
- removed: number;
46
- })[];
47
- readonly addedSfuOutbounRtpPadIds: string[];
48
- readonly removedSfuOutbounRtpPadIds: (Omit<Models.SfuOutboundRtpPad, keyof Message> & {
49
- removed: number;
50
- })[];
51
- readonly openedSfuSctpChannelIds: string[];
52
- readonly closedSfuSctpChannels: (Omit<Models.SfuSctpChannel, keyof Message> & {
53
- closed: number;
54
- })[];
55
- readonly storages: StorageProvider;
56
- readonly reports: ObserverSinkContext;
57
- }
58
3
  export interface ObserverSinkContext {
59
4
  readonly callEventReports: CallEventReport[];
60
5
  readonly callMetaReports: CallMetaReport[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/common/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,EACb,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EAClB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAI1C,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,gBAAgB,EAAE,eAAe,EAAE,CAAC;IAC7C,QAAQ,CAAC,eAAe,EAAE,cAAc,EAAE,CAAC;IAC3C,QAAQ,CAAC,wBAAwB,EAAE,uBAAuB,EAAE,CAAC;IAC7D,QAAQ,CAAC,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IACzD,QAAQ,CAAC,uBAAuB,EAAE,sBAAsB,EAAE,CAAC;IAC3D,QAAQ,CAAC,wBAAwB,EAAE,uBAAuB,EAAE,CAAC;IAC7D,QAAQ,CAAC,wBAAwB,EAAE,uBAAuB,EAAE,CAAC;IAC7D,QAAQ,CAAC,8BAA8B,EAAE,6BAA6B,EAAE,CAAC;IACzE,QAAQ,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IACrD,QAAQ,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,CAAC;IAC/D,QAAQ,CAAC,yBAAyB,EAAE,wBAAwB,EAAE,CAAC;IAC/D,QAAQ,CAAC,eAAe,EAAE,cAAc,EAAE,CAAC;IAC3C,QAAQ,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;IACnD,QAAQ,CAAC,uBAAuB,EAAE,sBAAsB,EAAE,CAAC;IAC3D,QAAQ,CAAC,wBAAwB,EAAE,uBAAuB,EAAE,CAAC;IAC7D,QAAQ,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IACrD,QAAQ,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;IACnD,QAAQ,CAAC,cAAc,EAAE,aAAa,EAAE,CAAC;CACzC"}
package/lib/index.d.ts CHANGED
@@ -1,17 +1,15 @@
1
1
  export type { ObserverConfig, ObserverEvents } from './Observer';
2
2
  export { Observer } from './Observer';
3
- export type { ObserverStorage } from './storages/ObserverStorage';
4
- export type { StorageProvider } from './storages/StorageProvider';
5
3
  export * as SampleSchema from '@observertc/sample-schemas-js';
6
4
  export * as ReportSchema from '@observertc/report-schemas-js';
7
5
  export type { LogLevel, Logger } from './common/logger';
8
6
  export type { Samples, ClientSample, SfuSample, ExtensionStat, PeerConnectionTransport, IceCandidatePair, MediaSourceStat, MediaCodecStats, InboundAudioTrack, InboundVideoTrack, OutboundAudioTrack, OutboundVideoTrack, IceLocalCandidate, IceRemoteCandidate, CustomCallEvent, SfuTransport, SfuInboundRtpPad, SfuOutboundRtpPad, SfuSctpChannel, SfuExtensionStats, DataChannel, } from '@observertc/sample-schemas-js';
9
7
  export type { CallEventReport, CallMetaReport, ClientDataChannelReport, ClientExtensionReport, IceCandidatePairReport, InboundAudioTrackReport, InboundVideoTrackReport, ObserverEventReport, OutboundAudioTrackReport, OutboundVideoTrackReport, PeerConnectionTransportReport, SfuEventReport, SfuExtensionReport, SfuInboundRtpPadReport, SfuMetaReport, SfuOutboundRtpPadReport, SfuSctpStreamReport, SFUTransportReport, } from '@observertc/report-schemas-js';
10
- export type { ObservedClient, ObservedClientConfig } from './ObservedClient';
11
- export type { ObservedPeerConnection, ObservedPeerConnectionConfig, ObservedPeerConnectionEvents } from './ObservedPeerConnection';
12
- export type { ObservedInboundTrack, ObservedInboundTrackConfig, ObservedInboundTrackEvents } from './ObservedInboundTrack';
13
- export type { ObservedOutboundTrack, ObservedOutboundTrackConfig, ObservedOutboundTrackEvents } from './ObservedOutboundTrack';
14
- export type { EvaluatorContext, ObserverSinkContext } from './common/types';
8
+ export type { ObservedClient, ObservedClientModel } from './ObservedClient';
9
+ export type { ObservedPeerConnection, ObservedPeerConnectionModel, ObservedPeerConnectionEvents } from './ObservedPeerConnection';
10
+ export type { ObservedInboundTrack, ObservedInboundTrackModel, ObservedInboundTrackEvents } from './ObservedInboundTrack';
11
+ export type { ObservedOutboundTrack, ObservedOutboundTrackModel, ObservedOutboundTrackEvents } from './ObservedOutboundTrack';
12
+ export type { ObserverSinkContext } from './common/types';
15
13
  import { Observer, ObserverConfig } from './Observer';
16
14
  export declare function createObserver(config?: Partial<ObserverConfig>): Observer;
17
15
  import { LogLevel, Logger } from './common/logger';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,YAAY,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAElE,OAAO,KAAK,YAAY,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,YAAY,MAAM,+BAA+B,CAAC;AAE9D,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAExD,YAAY,EACX,OAAO,EACP,YAAY,EACZ,SAAS,EACT,aAAa,EACb,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,WAAW,GACX,MAAM,+BAA+B,CAAC;AAEvC,YAAY,EACX,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,EACb,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,GAClB,MAAM,+BAA+B,CAAC;AAEvC,YAAY,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAC7E,YAAY,EAAE,sBAAsB,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AACnI,YAAY,EAAE,oBAAoB,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAC3H,YAAY,EAAE,qBAAqB,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAE/H,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE5E,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACtD,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,YAE9D;AAED,OAAO,EAAE,QAAQ,EAAE,MAAM,EAA8B,MAAM,iBAAiB,CAAC;AAC/E,wBAAgB,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAG3D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,KAAK,YAAY,MAAM,+BAA+B,CAAC;AAC9D,OAAO,KAAK,YAAY,MAAM,+BAA+B,CAAC;AAE9D,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAExD,YAAY,EACX,OAAO,EACP,YAAY,EACZ,SAAS,EACT,aAAa,EACb,uBAAuB,EACvB,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,WAAW,GACX,MAAM,+BAA+B,CAAC;AAEvC,YAAY,EACX,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,qBAAqB,EACrB,sBAAsB,EACtB,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,EACxB,wBAAwB,EACxB,6BAA6B,EAC7B,cAAc,EACd,kBAAkB,EAClB,sBAAsB,EACtB,aAAa,EACb,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,GAClB,MAAM,+BAA+B,CAAC;AAEvC,YAAY,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,YAAY,EAAE,sBAAsB,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAClI,YAAY,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAC1H,YAAY,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAE9H,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACtD,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,YAE9D;AAED,OAAO,EAAE,QAAQ,EAAE,MAAM,EAA8B,MAAM,iBAAiB,CAAC;AAC/E,wBAAgB,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,QAG3D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@observertc/observer-js",
3
- "version": "0.30.6-beta",
3
+ "version": "0.40.1-beta",
4
4
  "description": "Server Side NodeJS Library for processing ObserveRTC Samples",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",
@@ -1,16 +1,14 @@
1
1
  import { EventEmitter } from 'events';
2
- import * as Models from './models/Models';
3
- import { ObservedClient, ObservedClientConfig } from './ObservedClient';
4
- import { createSingleExecutor } from './common/SingleExecutor';
2
+ import { ObservedClient, ObservedClientModel } from './ObservedClient';
5
3
  import { ObservedOutboundTrack } from './ObservedOutboundTrack';
6
4
  import { Observer } from './Observer';
5
+ import { createClientJoinedEventReport } from './common/callEventReports';
7
6
 
8
- export type ObservedCallConfig<AppData extends Record<string, unknown> = Record<string, unknown>> = {
7
+ export type ObservedCallModel = {
9
8
  serviceId: string;
10
9
  roomId: string;
11
10
  callId: string;
12
11
  started: number,
13
- appData: AppData,
14
12
  };
15
13
 
16
14
  export type ObservedCallEvents = {
@@ -27,36 +25,6 @@ export declare interface ObservedCall {
27
25
  }
28
26
 
29
27
  export class ObservedCall<AppData extends Record<string, unknown> = Record<string, unknown>> extends EventEmitter {
30
- public static async create<T extends Record<string, unknown> = Record<string, unknown>>(
31
- config: ObservedCallConfig<T>,
32
- observer: Observer,
33
- // storageProvider: StorageProvider,
34
- // reportsCollector: ReportsCollector,
35
- ) {
36
- const model = new Models.Call({
37
- roomId: config.roomId,
38
- serviceId: config.serviceId,
39
- callId: config.callId,
40
- clientIds: [],
41
- started: BigInt(config.started ?? Date.now()),
42
- });
43
- const result = new ObservedCall(
44
- model,
45
- observer,
46
- // storageProvider,
47
- // reportsCollector,
48
- config.appData,
49
- );
50
-
51
- const alreadyInserted = await observer.storage.callStorage.insert(config.callId, model);
52
-
53
- if (alreadyInserted) throw new Error(`Call with id ${config.callId} already exists`);
54
-
55
- return result;
56
- }
57
-
58
- private readonly _execute = createSingleExecutor();
59
- private readonly _creatingClients = new Map<string, Promise<ObservedClient>>();
60
28
  private readonly _clients = new Map<string, ObservedClient>();
61
29
 
62
30
  public readonly sfuStreamIdToOutboundAudioTrack = new Map<string | number, ObservedOutboundTrack<'audio'>>();
@@ -64,8 +32,8 @@ export class ObservedCall<AppData extends Record<string, unknown> = Record<strin
64
32
  private _closed = false;
65
33
  private _ended?: number;
66
34
 
67
- private constructor(
68
- private readonly _model: Models.Call,
35
+ public constructor(
36
+ private readonly _model: ObservedCallModel,
69
37
  public readonly observer: Observer,
70
38
  public readonly appData: AppData,
71
39
  ) {
@@ -113,63 +81,35 @@ export class ObservedCall<AppData extends Record<string, unknown> = Record<strin
113
81
  this._ended = timestamp ?? Date.now();
114
82
 
115
83
  Array.from(this._clients.values()).forEach((client) => client.close());
116
-
117
- this._execute(() => this.observer.storage.callStorage.remove(this.callId))
118
- .catch(() => void 0)
119
- .finally(() => this.emit('close'));
120
- }
121
-
122
- public async createClient<ClientAppData extends Record<string, unknown> = Record<string, unknown>>(
123
- clientId: string,
124
- config: { mediaUnitId?: string, appData: ClientAppData, joined?: number }
125
- ): Promise<ObservedClient<ClientAppData>> {
126
- if (this._closed) throw new Error(`Call ${this.callId} is closed`);
127
- let creating = this._creatingClients.get(clientId);
128
-
129
- if (creating) return creating as Promise<ObservedClient<ClientAppData>>;
130
-
131
- creating = this._createObservedClient<ClientAppData>(clientId, {
132
- callId: this.callId,
133
- appData: config.appData,
134
- clientId,
135
- overflowingProcessingThreshold: 2,
136
- mediaUnitId: config.mediaUnitId ?? this.observer.config.defaultMediaUnitId,
137
- joined: config.joined,
138
- }).finally(() => this._creatingClients.delete(clientId));
139
-
140
- this._creatingClients.set(clientId, creating);
141
84
 
142
- return creating as Promise<ObservedClient<ClientAppData>>;
85
+ this.emit('close');
143
86
  }
144
87
 
145
- public async save() {
88
+ public createClient<ClientAppData extends Record<string, unknown> = Record<string, unknown>>(config: ObservedClientModel & { appData: ClientAppData, generateClientJoinedReport?: boolean, joined?: number }) {
146
89
  if (this._closed) throw new Error(`Call ${this.callId} is closed`);
147
-
148
- return this._execute(async () => {
149
- if (this._closed) throw new Error(`Call ${this.callId} is closed`);
150
- await this.observer.storage.callStorage.set(this.callId, this._model);
151
- });
152
- }
153
-
154
- private async _createObservedClient<ClientAppData extends Record<string, unknown> = Record<string, unknown>>(clientId: string, config: ObservedClientConfig<ClientAppData>): Promise<ObservedClient> {
155
- const client = await ObservedClient.create<ClientAppData>(config, this, this.observer.storage);
156
- const onUpdate = () => this.emit('update');
157
90
 
158
- await this.save();
159
-
160
- client.once('close', () => {
161
- client.off('update', onUpdate);
162
-
163
- this._clients.delete(clientId);
164
- this._model.clientIds = this._model.clientIds.filter((id) => id !== clientId);
165
- this.save().catch(() => void 0);
91
+ const { appData, generateClientJoinedReport, joined = Date.now(), ...model } = config;
92
+
93
+ const result = new ObservedClient(model, this, appData);
166
94
 
95
+ result.once('close', () => {
96
+ this._clients.delete(result.clientId);
167
97
  });
98
+ this._clients.set(result.clientId, result);
99
+
100
+ if (generateClientJoinedReport) {
101
+ this.reports.addCallEventReport(createClientJoinedEventReport(
102
+ this.serviceId,
103
+ result.mediaUnitId,
104
+ this.roomId,
105
+ this.callId,
106
+ result.clientId,
107
+ joined,
108
+ result.userId,
109
+ result.marker,
110
+ ));
111
+ }
168
112
 
169
- client.on('update', onUpdate);
170
- this._clients.set(clientId, client);
171
- this._model.clientIds.push(clientId);
172
-
173
- return client;
113
+ return result;
174
114
  }
175
115
  }