@observertc/observer-js 0.9.27-beta → 0.30.0-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.
- package/lib/ObservedCall.d.ts +54 -0
- package/lib/ObservedCall.d.ts.map +1 -0
- package/lib/ObservedCall.js +166 -0
- package/lib/ObservedClient.d.ts +73 -0
- package/lib/ObservedClient.d.ts.map +1 -0
- package/lib/ObservedClient.js +487 -0
- package/lib/ObservedInboundTrack.d.ts +65 -0
- package/lib/ObservedInboundTrack.d.ts.map +1 -0
- package/lib/ObservedInboundTrack.js +192 -0
- package/lib/ObservedOutboundTrack.d.ts +55 -0
- package/lib/ObservedOutboundTrack.d.ts.map +1 -0
- package/lib/ObservedOutboundTrack.js +166 -0
- package/lib/ObservedPeerConnection.d.ts +57 -0
- package/lib/ObservedPeerConnection.d.ts.map +1 -0
- package/lib/ObservedPeerConnection.js +217 -0
- package/lib/Observer.d.ts +26 -1465
- package/lib/Observer.d.ts.map +1 -1
- package/lib/Observer.js +53 -605
- package/lib/{sinks/ObserverSink.d.ts → ReportsCollector.d.ts} +7 -23
- package/lib/ReportsCollector.d.ts.map +1 -0
- package/lib/{sinks/ObserverSink.js → ReportsCollector.js} +27 -85
- package/lib/common/ReportsCollector.d.ts +21 -24
- package/lib/common/ReportsCollector.d.ts.map +1 -1
- package/lib/common/ReportsCollector.js +24 -0
- package/lib/common/SingleExecutor.d.ts +3 -0
- package/lib/common/SingleExecutor.d.ts.map +1 -0
- package/lib/common/SingleExecutor.js +31 -0
- package/lib/common/TypedEventEmitter.d.ts +22 -0
- package/lib/common/TypedEventEmitter.d.ts.map +1 -0
- package/lib/common/TypedEventEmitter.js +11 -0
- package/lib/common/callEventReports.d.ts.map +1 -0
- package/lib/common/logger.d.ts +3 -9
- package/lib/common/logger.d.ts.map +1 -1
- package/lib/common/logger.js +58 -141
- package/lib/common/types.d.ts +2 -14
- package/lib/common/types.d.ts.map +1 -1
- package/lib/common/utils.d.ts +1 -0
- package/lib/common/utils.d.ts.map +1 -1
- package/lib/common/utils.js +6 -1
- package/lib/index.d.ts +8 -19
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +7 -2
- package/package.json +1 -1
- package/src/ObservedCall.ts +201 -0
- package/src/ObservedClient.ts +681 -0
- package/src/ObservedInboundTrack.ts +238 -0
- package/src/ObservedOutboundTrack.ts +205 -0
- package/src/ObservedPeerConnection.ts +249 -0
- package/src/Observer.ts +86 -442
- package/src/{sinks/ObserverSink.ts → ReportsCollector.ts} +29 -94
- package/src/common/ReportsCollector.ts +48 -23
- package/src/common/SingleExecutor.ts +36 -0
- package/src/common/TypedEventEmitter.ts +32 -0
- package/src/common/logger.ts +58 -161
- package/src/common/types.ts +4 -24
- package/src/common/utils.ts +6 -0
- package/src/index.ts +12 -23
- package/lib/Evaluator.d.ts +0 -43
- package/lib/Evaluator.d.ts.map +0 -1
- package/lib/Evaluator.js +0 -171
- package/lib/common/Semaphore.d.ts +0 -31
- package/lib/common/Semaphore.d.ts.map +0 -1
- package/lib/common/Semaphore.js +0 -16
- package/lib/entries/CallEntry.d.ts +0 -619
- package/lib/entries/CallEntry.d.ts.map +0 -1
- package/lib/entries/CallEntry.js +0 -75
- package/lib/entries/ClientEntry.d.ts +0 -478
- package/lib/entries/ClientEntry.d.ts.map +0 -1
- package/lib/entries/ClientEntry.js +0 -114
- package/lib/entries/InboundTrackEntry.d.ts +0 -682
- package/lib/entries/InboundTrackEntry.d.ts.map +0 -1
- package/lib/entries/InboundTrackEntry.js +0 -76
- package/lib/entries/OutboundTrackEntry.d.ts +0 -682
- package/lib/entries/OutboundTrackEntry.d.ts.map +0 -1
- package/lib/entries/OutboundTrackEntry.js +0 -73
- package/lib/entries/PeerConnectionEntry.d.ts +0 -505
- package/lib/entries/PeerConnectionEntry.d.ts.map +0 -1
- package/lib/entries/PeerConnectionEntry.js +0 -144
- package/lib/entries/SfuEntry.d.ts +0 -150
- package/lib/entries/SfuEntry.d.ts.map +0 -1
- package/lib/entries/SfuEntry.js +0 -77
- package/lib/entries/SfuInboundRtpPadEntry.d.ts +0 -14
- package/lib/entries/SfuInboundRtpPadEntry.d.ts.map +0 -1
- package/lib/entries/SfuInboundRtpPadEntry.js +0 -49
- package/lib/entries/SfuOutboundRtpPadEntry.d.ts +0 -14
- package/lib/entries/SfuOutboundRtpPadEntry.d.ts.map +0 -1
- package/lib/entries/SfuOutboundRtpPadEntry.js +0 -47
- package/lib/entries/SfuSctpChannelEntry.d.ts +0 -12
- package/lib/entries/SfuSctpChannelEntry.d.ts.map +0 -1
- package/lib/entries/SfuSctpChannelEntry.js +0 -43
- package/lib/entries/SfuTransportEntry.d.ts +0 -82
- package/lib/entries/SfuTransportEntry.d.ts.map +0 -1
- package/lib/entries/SfuTransportEntry.js +0 -122
- package/lib/evaluators/SetClientsCoordinateEvaluator.d.ts +0 -9
- package/lib/evaluators/SetClientsCoordinateEvaluator.d.ts.map +0 -1
- package/lib/evaluators/SetClientsCoordinateEvaluator.js +0 -95
- package/lib/middlewares/CallOperationsContext.d.ts +0 -18
- package/lib/middlewares/CallOperationsContext.d.ts.map +0 -1
- package/lib/middlewares/CallOperationsContext.js +0 -27
- package/lib/middlewares/CallProcessor.d.ts +0 -6
- package/lib/middlewares/CallProcessor.d.ts.map +0 -1
- package/lib/middlewares/CallProcessor.js +0 -36
- package/lib/middlewares/CommitTransactionMiddleware.d.ts +0 -6
- package/lib/middlewares/CommitTransactionMiddleware.d.ts.map +0 -1
- package/lib/middlewares/CommitTransactionMiddleware.js +0 -179
- package/lib/middlewares/DeleteOutdatedCallEntries.d.ts +0 -6
- package/lib/middlewares/DeleteOutdatedCallEntries.d.ts.map +0 -1
- package/lib/middlewares/DeleteOutdatedCallEntries.js +0 -121
- package/lib/middlewares/DeleteOutdatedSfuEntries.d.ts +0 -6
- package/lib/middlewares/DeleteOutdatedSfuEntries.d.ts.map +0 -1
- package/lib/middlewares/DeleteOutdatedSfuEntries.js +0 -127
- package/lib/middlewares/Middleware.d.ts +0 -3
- package/lib/middlewares/Middleware.d.ts.map +0 -1
- package/lib/middlewares/Middleware.js +0 -21
- package/lib/middlewares/Processor.d.ts +0 -9
- package/lib/middlewares/Processor.d.ts.map +0 -1
- package/lib/middlewares/Processor.js +0 -54
- package/lib/middlewares/TransactionContext.d.ts +0 -35
- package/lib/middlewares/TransactionContext.d.ts.map +0 -1
- package/lib/middlewares/TransactionContext.js +0 -90
- package/lib/middlewares/TransactoinProcessor.d.ts +0 -6
- package/lib/middlewares/TransactoinProcessor.d.ts.map +0 -1
- package/lib/middlewares/TransactoinProcessor.js +0 -17
- package/lib/middlewares/VisitObservedCallsMiddleware.d.ts +0 -7
- package/lib/middlewares/VisitObservedCallsMiddleware.d.ts.map +0 -1
- package/lib/middlewares/VisitObservedCallsMiddleware.js +0 -96
- package/lib/middlewares/VisitObservedSfusMiddleware.d.ts +0 -6
- package/lib/middlewares/VisitObservedSfusMiddleware.d.ts.map +0 -1
- package/lib/middlewares/VisitObservedSfusMiddleware.js +0 -151
- package/lib/middlewares/visitors/visitClient.d.ts +0 -5
- package/lib/middlewares/visitors/visitClient.d.ts.map +0 -1
- package/lib/middlewares/visitors/visitClient.js +0 -174
- package/lib/middlewares/visitors/visitInboundAudioTrack.d.ts +0 -5
- package/lib/middlewares/visitors/visitInboundAudioTrack.d.ts.map +0 -1
- package/lib/middlewares/visitors/visitInboundAudioTrack.js +0 -93
- package/lib/middlewares/visitors/visitInboundVideoTrack.d.ts +0 -5
- package/lib/middlewares/visitors/visitInboundVideoTrack.d.ts.map +0 -1
- package/lib/middlewares/visitors/visitInboundVideoTrack.js +0 -94
- package/lib/middlewares/visitors/visitOutboundAudioTrack.d.ts +0 -5
- package/lib/middlewares/visitors/visitOutboundAudioTrack.d.ts.map +0 -1
- package/lib/middlewares/visitors/visitOutboundAudioTrack.js +0 -90
- package/lib/middlewares/visitors/visitOutboundVideoTarck.d.ts +0 -5
- package/lib/middlewares/visitors/visitOutboundVideoTarck.d.ts.map +0 -1
- package/lib/middlewares/visitors/visitOutboundVideoTarck.js +0 -90
- package/lib/middlewares/visitors/visitPeerConnection.d.ts +0 -5
- package/lib/middlewares/visitors/visitPeerConnection.d.ts.map +0 -1
- package/lib/middlewares/visitors/visitPeerConnection.js +0 -111
- package/lib/middlewares/visitors/visitSfu.d.ts +0 -5
- package/lib/middlewares/visitors/visitSfu.d.ts.map +0 -1
- package/lib/middlewares/visitors/visitSfu.js +0 -78
- package/lib/middlewares/visitors/visitSfuInboundRtpPad.d.ts +0 -5
- package/lib/middlewares/visitors/visitSfuInboundRtpPad.d.ts.map +0 -1
- package/lib/middlewares/visitors/visitSfuInboundRtpPad.js +0 -56
- package/lib/middlewares/visitors/visitSfuOutboundRtpPad.d.ts +0 -5
- package/lib/middlewares/visitors/visitSfuOutboundRtpPad.d.ts.map +0 -1
- package/lib/middlewares/visitors/visitSfuOutboundRtpPad.js +0 -56
- package/lib/middlewares/visitors/visitSfuSctpChannel.d.ts +0 -5
- package/lib/middlewares/visitors/visitSfuSctpChannel.d.ts.map +0 -1
- package/lib/middlewares/visitors/visitSfuSctpChannel.js +0 -55
- package/lib/middlewares/visitors/visitSfuTransport.d.ts +0 -5
- package/lib/middlewares/visitors/visitSfuTransport.d.ts.map +0 -1
- package/lib/middlewares/visitors/visitSfuTransport.js +0 -56
- package/lib/processes/closePeerConnectionProcess.d.ts +0 -10
- package/lib/processes/closePeerConnectionProcess.d.ts.map +0 -1
- package/lib/processes/closePeerConnectionProcess.js +0 -51
- package/lib/processes/detachClientProcess.d.ts +0 -14
- package/lib/processes/detachClientProcess.d.ts.map +0 -1
- package/lib/processes/detachClientProcess.js +0 -106
- package/lib/processes/findRemoteMatches.d.ts +0 -9
- package/lib/processes/findRemoteMatches.d.ts.map +0 -1
- package/lib/processes/findRemoteMatches.js +0 -96
- package/lib/processes/inboundTrackRemoved.d.ts +0 -9
- package/lib/processes/inboundTrackRemoved.d.ts.map +0 -1
- package/lib/processes/inboundTrackRemoved.js +0 -22
- package/lib/processes/joinClientProcess.d.ts +0 -11
- package/lib/processes/joinClientProcess.d.ts.map +0 -1
- package/lib/processes/joinClientProcess.js +0 -120
- package/lib/processes/outboundTrackRemoved.d.ts +0 -9
- package/lib/processes/outboundTrackRemoved.d.ts.map +0 -1
- package/lib/processes/outboundTrackRemoved.js +0 -22
- package/lib/samples/ObservedCall.d.ts +0 -17
- package/lib/samples/ObservedCall.d.ts.map +0 -1
- package/lib/samples/ObservedCall.js +0 -29
- package/lib/samples/ObservedCalls.d.ts +0 -19
- package/lib/samples/ObservedCalls.d.ts.map +0 -1
- package/lib/samples/ObservedCalls.js +0 -113
- package/lib/samples/ObservedClient.d.ts +0 -28
- package/lib/samples/ObservedClient.d.ts.map +0 -1
- package/lib/samples/ObservedClient.js +0 -110
- package/lib/samples/ObservedInboundAudioTrack.d.ts +0 -17
- package/lib/samples/ObservedInboundAudioTrack.d.ts.map +0 -1
- package/lib/samples/ObservedInboundAudioTrack.js +0 -17
- package/lib/samples/ObservedInboundVideoTrack.d.ts +0 -17
- package/lib/samples/ObservedInboundVideoTrack.d.ts.map +0 -1
- package/lib/samples/ObservedInboundVideoTrack.js +0 -17
- package/lib/samples/ObservedOutboundAudioTrack.d.ts +0 -16
- package/lib/samples/ObservedOutboundAudioTrack.d.ts.map +0 -1
- package/lib/samples/ObservedOutboundAudioTrack.js +0 -17
- package/lib/samples/ObservedOutboundVideoTrack.d.ts +0 -16
- package/lib/samples/ObservedOutboundVideoTrack.d.ts.map +0 -1
- package/lib/samples/ObservedOutboundVideoTrack.js +0 -17
- package/lib/samples/ObservedPeerConnection.d.ts +0 -47
- package/lib/samples/ObservedPeerConnection.d.ts.map +0 -1
- package/lib/samples/ObservedPeerConnection.js +0 -130
- package/lib/samples/ObservedSfu.d.ts +0 -27
- package/lib/samples/ObservedSfu.d.ts.map +0 -1
- package/lib/samples/ObservedSfu.js +0 -65
- package/lib/samples/ObservedSfuInboundRtpPad.d.ts +0 -15
- package/lib/samples/ObservedSfuInboundRtpPad.d.ts.map +0 -1
- package/lib/samples/ObservedSfuInboundRtpPad.js +0 -17
- package/lib/samples/ObservedSfuOutboundRtpPad.d.ts +0 -15
- package/lib/samples/ObservedSfuOutboundRtpPad.d.ts.map +0 -1
- package/lib/samples/ObservedSfuOutboundRtpPad.js +0 -17
- package/lib/samples/ObservedSfuSctpChannel.d.ts +0 -15
- package/lib/samples/ObservedSfuSctpChannel.d.ts.map +0 -1
- package/lib/samples/ObservedSfuSctpChannel.js +0 -17
- package/lib/samples/ObservedSfuTransport.d.ts +0 -30
- package/lib/samples/ObservedSfuTransport.d.ts.map +0 -1
- package/lib/samples/ObservedSfuTransport.js +0 -86
- package/lib/samples/ObservedSfus.d.ts +0 -16
- package/lib/samples/ObservedSfus.d.ts.map +0 -1
- package/lib/samples/ObservedSfus.js +0 -72
- package/lib/sinks/ObserverSink.d.ts.map +0 -1
- package/lib/sinks/callEventReports.d.ts.map +0 -1
- package/lib/sources/ObservedCallSource.d.ts +0 -18
- package/lib/sources/ObservedCallSource.d.ts.map +0 -1
- package/lib/sources/ObservedCallSource.js +0 -2
- package/lib/sources/ObservedClientSource.d.ts +0 -19
- package/lib/sources/ObservedClientSource.d.ts.map +0 -1
- package/lib/sources/ObservedClientSource.js +0 -2
- package/lib/sources/ObservedSfuSource.d.ts +0 -15
- package/lib/sources/ObservedSfuSource.d.ts.map +0 -1
- package/lib/sources/ObservedSfuSource.js +0 -2
- package/lib/sources/Sources.d.ts +0 -49
- package/lib/sources/Sources.d.ts.map +0 -1
- package/lib/sources/Sources.js +0 -213
- package/src/Evaluator.ts +0 -229
- package/src/common/Semaphore.ts +0 -45
- package/src/entries/CallEntry.ts +0 -62
- package/src/entries/ClientEntry.ts +0 -106
- package/src/entries/InboundTrackEntry.ts +0 -74
- package/src/entries/OutboundTrackEntry.ts +0 -72
- package/src/entries/PeerConnectionEntry.ts +0 -133
- package/src/entries/SfuEntry.ts +0 -62
- package/src/entries/SfuInboundRtpPadEntry.ts +0 -46
- package/src/entries/SfuOutboundRtpPadEntry.ts +0 -44
- package/src/entries/SfuSctpChannelEntry.ts +0 -39
- package/src/entries/SfuTransportEntry.ts +0 -109
- package/src/evaluators/SetClientsCoordinateEvaluator.ts +0 -78
- package/src/middlewares/CallOperationsContext.ts +0 -56
- package/src/middlewares/CallProcessor.ts +0 -38
- package/src/middlewares/CommitTransactionMiddleware.ts +0 -328
- package/src/middlewares/DeleteOutdatedCallEntries.ts +0 -159
- package/src/middlewares/DeleteOutdatedSfuEntries.ts +0 -168
- package/src/middlewares/Middleware.ts +0 -10
- package/src/middlewares/Processor.ts +0 -59
- package/src/middlewares/TransactionContext.ts +0 -176
- package/src/middlewares/TransactoinProcessor.ts +0 -28
- package/src/middlewares/VisitObservedCallsMiddleware.ts +0 -172
- package/src/middlewares/VisitObservedSfusMiddleware.ts +0 -203
- package/src/middlewares/visitors/visitClient.ts +0 -239
- package/src/middlewares/visitors/visitInboundAudioTrack.ts +0 -113
- package/src/middlewares/visitors/visitInboundVideoTrack.ts +0 -117
- package/src/middlewares/visitors/visitOutboundAudioTrack.ts +0 -100
- package/src/middlewares/visitors/visitOutboundVideoTarck.ts +0 -102
- package/src/middlewares/visitors/visitPeerConnection.ts +0 -151
- package/src/middlewares/visitors/visitSfu.ts +0 -70
- package/src/middlewares/visitors/visitSfuInboundRtpPad.ts +0 -52
- package/src/middlewares/visitors/visitSfuOutboundRtpPad.ts +0 -53
- package/src/middlewares/visitors/visitSfuSctpChannel.ts +0 -50
- package/src/middlewares/visitors/visitSfuTransport.ts +0 -50
- package/src/processes/closePeerConnectionProcess.ts +0 -54
- package/src/processes/detachClientProcess.ts +0 -136
- package/src/processes/findRemoteMatches.ts +0 -104
- package/src/processes/inboundTrackRemoved.ts +0 -22
- package/src/processes/joinClientProcess.ts +0 -138
- package/src/processes/outboundTrackRemoved.ts +0 -22
- package/src/samples/ObservedCall.ts +0 -49
- package/src/samples/ObservedCalls.ts +0 -143
- package/src/samples/ObservedClient.ts +0 -172
- package/src/samples/ObservedInboundAudioTrack.ts +0 -35
- package/src/samples/ObservedInboundVideoTrack.ts +0 -36
- package/src/samples/ObservedOutboundAudioTrack.ts +0 -35
- package/src/samples/ObservedOutboundVideoTrack.ts +0 -35
- package/src/samples/ObservedPeerConnection.ts +0 -227
- package/src/samples/ObservedSfu.ts +0 -115
- package/src/samples/ObservedSfuInboundRtpPad.ts +0 -35
- package/src/samples/ObservedSfuOutboundRtpPad.ts +0 -35
- package/src/samples/ObservedSfuSctpChannel.ts +0 -35
- package/src/samples/ObservedSfuTransport.ts +0 -142
- package/src/samples/ObservedSfus.ts +0 -95
- package/src/sources/ObservedCallSource.ts +0 -26
- package/src/sources/ObservedClientSource.ts +0 -28
- package/src/sources/ObservedSfuSource.ts +0 -19
- package/src/sources/Sources.ts +0 -301
- /package/lib/{sinks → common}/callEventReports.d.ts +0 -0
- /package/lib/{sinks → common}/callEventReports.js +0 -0
- /package/src/{sinks → common}/callEventReports.ts +0 -0
package/src/common/utils.ts
CHANGED
|
@@ -22,4 +22,10 @@ export function asyncIteratorConverter<T>(generator: AsyncGenerator<T, void, und
|
|
|
22
22
|
return generator.next();
|
|
23
23
|
},
|
|
24
24
|
};
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export function isValidUuid(str: string): boolean {
|
|
28
|
+
const regexp = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-5][0-9a-f]{3}-[089ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
29
|
+
|
|
30
|
+
return regexp.test(str);
|
|
25
31
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,29 +1,13 @@
|
|
|
1
1
|
export type { ObserverConfig, ObserverEvents } from './Observer';
|
|
2
2
|
|
|
3
|
-
export type { EvaluatorConfig, EvaluatorProcess } from './Evaluator';
|
|
4
|
-
|
|
5
|
-
export type { SourcesConfig } from './sources/Sources';
|
|
6
|
-
|
|
7
3
|
export { Observer } from './Observer';
|
|
8
|
-
export type { ObserverReportsEmitter, ObserverSinkProcess } from './sinks/ObserverSink';
|
|
9
4
|
export type { ObserverStorage } from './storages/ObserverStorage';
|
|
10
5
|
export type { StorageProvider } from './storages/StorageProvider';
|
|
11
|
-
export * as Models from './models/Models';
|
|
12
6
|
|
|
13
7
|
export * as SampleSchema from '@observertc/sample-schemas-js';
|
|
14
8
|
export * as ReportSchema from '@observertc/report-schemas-js';
|
|
15
9
|
|
|
16
|
-
export type {
|
|
17
|
-
export type { ClientEntry } from './entries/ClientEntry';
|
|
18
|
-
export type { PeerConnectionEntry } from './entries/PeerConnectionEntry';
|
|
19
|
-
export type { InboundTrackEntry } from './entries/InboundTrackEntry';
|
|
20
|
-
export type { OutboundTrackEntry } from './entries/OutboundTrackEntry';
|
|
21
|
-
export type { SfuEntry } from './entries/SfuEntry';
|
|
22
|
-
export type { SfuTransportEntry } from './entries/SfuTransportEntry';
|
|
23
|
-
export type { SfuInboundRtpPadEntry } from './entries/SfuInboundRtpPadEntry';
|
|
24
|
-
export type { SfuOutboundRtpPadEntry } from './entries/SfuOutboundRtpPadEntry';
|
|
25
|
-
export type { SfuSctpChannelEntry } from './entries/SfuSctpChannelEntry';
|
|
26
|
-
export type { GetClientCoordinate, ClientCoordinate } from './evaluators/SetClientsCoordinateEvaluator';
|
|
10
|
+
export type { LogLevel, Logger } from './common/logger';
|
|
27
11
|
|
|
28
12
|
export type {
|
|
29
13
|
Samples,
|
|
@@ -70,15 +54,20 @@ export type {
|
|
|
70
54
|
SFUTransportReport,
|
|
71
55
|
} from '@observertc/report-schemas-js';
|
|
72
56
|
|
|
73
|
-
export type {
|
|
74
|
-
|
|
75
|
-
export type {
|
|
57
|
+
export type { ObservedClient, ObservedClientConfig } from './ObservedClient';
|
|
58
|
+
export type { ObservedPeerConnection, ObservedPeerConnectionConfig, ObservedPeerConnectionEvents } from './ObservedPeerConnection';
|
|
59
|
+
export type { ObservedInboundTrack, ObservedInboundTrackConfig, ObservedInboundTrackEvents } from './ObservedInboundTrack';
|
|
60
|
+
export type { ObservedOutboundTrack, ObservedOutboundTrackConfig, ObservedOutboundTrackEvents } from './ObservedOutboundTrack';
|
|
76
61
|
|
|
77
|
-
export type {
|
|
78
|
-
|
|
79
|
-
export type { EvaluatorContext, EvaluatorMiddleware, ObserverSinkContext, ObserverSinkMiddleware } from './common/types';
|
|
62
|
+
export type { EvaluatorContext, ObserverSinkContext } from './common/types';
|
|
80
63
|
|
|
81
64
|
import { Observer, ObserverConfig } from './Observer';
|
|
82
65
|
export function createObserver(config?: Partial<ObserverConfig>) {
|
|
83
66
|
return Observer.create(config ?? {});
|
|
84
67
|
}
|
|
68
|
+
|
|
69
|
+
import { LogLevel, Logger, forwardLogsTo, setLogLevel } from './common/logger';
|
|
70
|
+
export function setupLogs(logLevel: LogLevel, logger: Logger) {
|
|
71
|
+
setLogLevel(logLevel);
|
|
72
|
+
forwardLogsTo(logger);
|
|
73
|
+
}
|
package/lib/Evaluator.d.ts
DELETED
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { Semaphore } from './common/Semaphore';
|
|
2
|
-
import { EvaluatorContext } from './common/types';
|
|
3
|
-
import { ReportsCollector } from './common/ReportsCollector';
|
|
4
|
-
import { ObservedClientSourceConfig } from './sources/ObservedClientSource';
|
|
5
|
-
import { SourcesEvents } from './sources/Sources';
|
|
6
|
-
import { StorageProvider } from './storages/StorageProvider';
|
|
7
|
-
export type EvaluatorEvents = {
|
|
8
|
-
ready: Error | undefined;
|
|
9
|
-
};
|
|
10
|
-
export type EvaluatorConfig = {
|
|
11
|
-
fetchSamples: boolean;
|
|
12
|
-
maxIdleTimeInMs?: number;
|
|
13
|
-
findRemoteMatches?: boolean;
|
|
14
|
-
};
|
|
15
|
-
export type EvaluatorProcess = (evaluatorContext: EvaluatorContext) => Promise<void>;
|
|
16
|
-
export declare class Evaluator {
|
|
17
|
-
readonly config: EvaluatorConfig;
|
|
18
|
-
private readonly _callSemaphore;
|
|
19
|
-
private readonly _storageProvider;
|
|
20
|
-
private readonly _reportsCollector;
|
|
21
|
-
private _index;
|
|
22
|
-
private _evaluations;
|
|
23
|
-
private _clientOperations;
|
|
24
|
-
private _emitter;
|
|
25
|
-
private _evaluatorProcesses;
|
|
26
|
-
private _callProcessor;
|
|
27
|
-
private _transactionProcessor;
|
|
28
|
-
private _customProcessor;
|
|
29
|
-
constructor(config: EvaluatorConfig, _callSemaphore: Semaphore, _storageProvider: StorageProvider, _reportsCollector: ReportsCollector);
|
|
30
|
-
addProcess(process: EvaluatorProcess): void;
|
|
31
|
-
removeProcess(process: EvaluatorProcess): void;
|
|
32
|
-
addClosedClientSource(clientSource: ObservedClientSourceConfig): void;
|
|
33
|
-
addCreatedClientSource(clientSource: ObservedClientSourceConfig): void;
|
|
34
|
-
on<K extends keyof EvaluatorEvents>(event: K, listener: (data: EvaluatorEvents[K]) => void): this;
|
|
35
|
-
once<K extends keyof EvaluatorEvents>(event: K, listener: (data: EvaluatorEvents[K]) => void): this;
|
|
36
|
-
off<K extends keyof EvaluatorEvents>(event: K, listener: (data: EvaluatorEvents[K]) => void): this;
|
|
37
|
-
private _emit;
|
|
38
|
-
addObservedSamples(samples: SourcesEvents['observed-samples']): void;
|
|
39
|
-
private _eval;
|
|
40
|
-
get ongoingProcess(): number;
|
|
41
|
-
private _process;
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=Evaluator.d.ts.map
|
package/lib/Evaluator.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Evaluator.d.ts","sourceRoot":"","sources":["../src/Evaluator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,0BAA0B,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAW7D,MAAM,MAAM,eAAe,GAAG;IAC7B,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,YAAY,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,gBAAgB,EAAE,gBAAgB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAErF,qBAAa,SAAS;aAaJ,MAAM,EAAE,eAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAfnC,OAAO,CAAC,MAAM,CAAK;IACnB,OAAO,CAAC,YAAY,CAAoC;IAExD,OAAO,CAAC,iBAAiB,CAAoC;IAC7D,OAAO,CAAC,QAAQ,CAAsB;IAEtC,OAAO,CAAC,mBAAmB,CAA6D;IACxF,OAAO,CAAC,cAAc,CAAmC;IACzD,OAAO,CAAC,qBAAqB,CAAgC;IAC7D,OAAO,CAAC,gBAAgB,CAA8B;gBAGrC,MAAM,EAAE,eAAe,EACtB,cAAc,EAAE,SAAS,EACzB,gBAAgB,EAAE,eAAe,EACjC,iBAAiB,EAAE,gBAAgB;IAe9C,UAAU,CAAC,OAAO,EAAE,gBAAgB;IAUpC,aAAa,CAAC,OAAO,EAAE,gBAAgB;IAUvC,qBAAqB,CAAC,YAAY,EAAE,0BAA0B;IAQ9D,sBAAsB,CAAC,YAAY,EAAE,0BAA0B;IAO/D,EAAE,CAAC,CAAC,SAAS,MAAM,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAMjG,IAAI,CAAC,CAAC,SAAS,MAAM,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAMnG,GAAG,CAAC,CAAC,SAAS,MAAM,eAAe,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,IAAI;IAMzG,OAAO,CAAC,KAAK;IAIN,kBAAkB,CAAC,OAAO,EAAE,aAAa,CAAC,kBAAkB,CAAC,GAAG,IAAI;YAqD7D,KAAK;IAyBnB,IAAW,cAAc,IAAI,MAAM,CAElC;YAEa,QAAQ;CA6BtB"}
|
package/lib/Evaluator.js
DELETED
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.Evaluator = void 0;
|
|
13
|
-
const logger_1 = require("./common/logger");
|
|
14
|
-
const Processor_1 = require("./middlewares/Processor");
|
|
15
|
-
const TransactionContext_1 = require("./middlewares/TransactionContext");
|
|
16
|
-
const CallOperationsContext_1 = require("./middlewares/CallOperationsContext");
|
|
17
|
-
const CallProcessor_1 = require("./middlewares/CallProcessor");
|
|
18
|
-
const TransactoinProcessor_1 = require("./middlewares/TransactoinProcessor");
|
|
19
|
-
const events_1 = require("events");
|
|
20
|
-
const logger = (0, logger_1.createLogger)('Evaluator');
|
|
21
|
-
class Evaluator {
|
|
22
|
-
constructor(config, _callSemaphore, _storageProvider, _reportsCollector) {
|
|
23
|
-
var _a;
|
|
24
|
-
this.config = config;
|
|
25
|
-
this._callSemaphore = _callSemaphore;
|
|
26
|
-
this._storageProvider = _storageProvider;
|
|
27
|
-
this._reportsCollector = _reportsCollector;
|
|
28
|
-
this._index = 0;
|
|
29
|
-
this._evaluations = new Map();
|
|
30
|
-
this._clientOperations = new Map();
|
|
31
|
-
this._emitter = new events_1.EventEmitter();
|
|
32
|
-
this._evaluatorProcesses = new Map();
|
|
33
|
-
this._callProcessor = (0, CallProcessor_1.createCallProcessor)(_storageProvider, _reportsCollector);
|
|
34
|
-
this._transactionProcessor = (0, TransactoinProcessor_1.createTransactionProcessor)(_storageProvider, _reportsCollector, this.config.fetchSamples, BigInt((_a = this.config.maxIdleTimeInMs) !== null && _a !== void 0 ? _a : 10000), this.config.findRemoteMatches);
|
|
35
|
-
this._customProcessor = (0, Processor_1.createProcessor)();
|
|
36
|
-
}
|
|
37
|
-
addProcess(process) {
|
|
38
|
-
const middleware = (context, next) => __awaiter(this, void 0, void 0, function* () {
|
|
39
|
-
yield process(context);
|
|
40
|
-
if (next)
|
|
41
|
-
yield next(context);
|
|
42
|
-
});
|
|
43
|
-
this._evaluatorProcesses.set(process, middleware);
|
|
44
|
-
this._customProcessor.addMiddleware(middleware);
|
|
45
|
-
}
|
|
46
|
-
removeProcess(process) {
|
|
47
|
-
const middleware = this._evaluatorProcesses.get(process);
|
|
48
|
-
if (!middleware) {
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
this._evaluatorProcesses.delete(process);
|
|
52
|
-
this._customProcessor.removeMiddleware(middleware);
|
|
53
|
-
}
|
|
54
|
-
addClosedClientSource(clientSource) {
|
|
55
|
-
this._clientOperations.set(clientSource.clientId, Object.assign(Object.assign({ type: 'detach' }, clientSource), { detached: Date.now() }));
|
|
56
|
-
}
|
|
57
|
-
addCreatedClientSource(clientSource) {
|
|
58
|
-
this._clientOperations.set(clientSource.clientId, Object.assign({ type: 'join' }, clientSource));
|
|
59
|
-
}
|
|
60
|
-
on(event, listener) {
|
|
61
|
-
this._emitter.addListener(event, listener);
|
|
62
|
-
return this;
|
|
63
|
-
}
|
|
64
|
-
once(event, listener) {
|
|
65
|
-
this._emitter.once(event, listener);
|
|
66
|
-
return this;
|
|
67
|
-
}
|
|
68
|
-
off(event, listener) {
|
|
69
|
-
this._emitter.removeListener(event, listener);
|
|
70
|
-
return this;
|
|
71
|
-
}
|
|
72
|
-
_emit(event, data) {
|
|
73
|
-
return this._emitter.emit(event, data);
|
|
74
|
-
}
|
|
75
|
-
addObservedSamples(samples) {
|
|
76
|
-
// this triggers the evaluation
|
|
77
|
-
const { observedCalls, observedSfus } = samples;
|
|
78
|
-
const evaluatorContext = {
|
|
79
|
-
observedCalls,
|
|
80
|
-
observedSfus,
|
|
81
|
-
reports: this._reportsCollector,
|
|
82
|
-
storages: this._storageProvider,
|
|
83
|
-
joinedClientIds: [],
|
|
84
|
-
detachedClients: [],
|
|
85
|
-
startedCallIds: [],
|
|
86
|
-
endedCalls: [],
|
|
87
|
-
openedPeerConnectionIds: [],
|
|
88
|
-
closedPeerConnections: [],
|
|
89
|
-
addedInboundAudioTrackIds: [],
|
|
90
|
-
removedInboundAudioTracks: [],
|
|
91
|
-
addedInboundVideoTrackIds: [],
|
|
92
|
-
removedInboundVideoTracks: [],
|
|
93
|
-
addedOutboundAudioTrackIds: [],
|
|
94
|
-
removedOutboundAudioTracks: [],
|
|
95
|
-
addedOutboundVideoTrackIds: [],
|
|
96
|
-
removedOutboundVideoTracks: [],
|
|
97
|
-
joinedSfuIds: [],
|
|
98
|
-
detachedSfus: [],
|
|
99
|
-
openedSfuTransportIds: [],
|
|
100
|
-
closedSfuTransports: [],
|
|
101
|
-
addedSfuInbounRtpPadIds: [],
|
|
102
|
-
removedSfuInbounRtpPadIds: [],
|
|
103
|
-
addedSfuOutbounRtpPadIds: [],
|
|
104
|
-
removedSfuOutbounRtpPadIds: [],
|
|
105
|
-
openedSfuSctpChannelIds: [],
|
|
106
|
-
closedSfuSctpChannels: [],
|
|
107
|
-
clientExtensionStats: [],
|
|
108
|
-
callEvents: [],
|
|
109
|
-
sfuEvents: [],
|
|
110
|
-
sfuExtensionStats: [],
|
|
111
|
-
};
|
|
112
|
-
const callOperations = (0, CallOperationsContext_1.createCallOperationContext)(this._clientOperations, evaluatorContext);
|
|
113
|
-
this._clientOperations.clear();
|
|
114
|
-
this._eval(callOperations, evaluatorContext)
|
|
115
|
-
.then(() => {
|
|
116
|
-
logger.debug('Evaluator is successfully performed eval process');
|
|
117
|
-
})
|
|
118
|
-
.catch((err) => {
|
|
119
|
-
logger.warn('Error occurred while evaluating', err);
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
_eval(callOperationsContext, evaluatorContext) {
|
|
123
|
-
var _a;
|
|
124
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
125
|
-
const actualBlockingPoint = (_a = this._evaluations.get(this._index)) !== null && _a !== void 0 ? _a : Promise.resolve();
|
|
126
|
-
const index = ++this._index;
|
|
127
|
-
const result = new Promise((resolve, reject) => {
|
|
128
|
-
actualBlockingPoint.then(() => {
|
|
129
|
-
this._process(callOperationsContext, evaluatorContext)
|
|
130
|
-
.then(() => resolve())
|
|
131
|
-
.catch((err) => reject(err));
|
|
132
|
-
});
|
|
133
|
-
});
|
|
134
|
-
const nextBlockingPoint = new Promise((resolve) => {
|
|
135
|
-
result.then(() => {
|
|
136
|
-
this._evaluations.delete(index);
|
|
137
|
-
resolve();
|
|
138
|
-
}).catch(() => {
|
|
139
|
-
this._evaluations.delete(index);
|
|
140
|
-
resolve();
|
|
141
|
-
});
|
|
142
|
-
});
|
|
143
|
-
this._evaluations.set(index, nextBlockingPoint);
|
|
144
|
-
return result;
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
get ongoingProcess() {
|
|
148
|
-
return this._evaluations.size;
|
|
149
|
-
}
|
|
150
|
-
_process(callOperationsContext, evaluatorContext) {
|
|
151
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
152
|
-
const process = () => __awaiter(this, void 0, void 0, function* () {
|
|
153
|
-
yield this._callSemaphore.acquire();
|
|
154
|
-
yield this._callProcessor.use(callOperationsContext).finally(() => {
|
|
155
|
-
this._callSemaphore.release();
|
|
156
|
-
});
|
|
157
|
-
const transactionContext = yield (0, TransactionContext_1.createTransactionContext)(evaluatorContext, this._storageProvider, evaluatorContext.observedCalls, evaluatorContext.observedSfus);
|
|
158
|
-
yield this._transactionProcessor.use(transactionContext);
|
|
159
|
-
yield this._customProcessor.use(evaluatorContext);
|
|
160
|
-
});
|
|
161
|
-
yield process().then(() => {
|
|
162
|
-
this._emit('ready', undefined);
|
|
163
|
-
})
|
|
164
|
-
.catch((err) => {
|
|
165
|
-
logger.warn('Error occurred while evaluating samples', err);
|
|
166
|
-
this._emit('ready', err);
|
|
167
|
-
});
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
exports.Evaluator = Evaluator;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Interface for a Semaphore, a synchronization primitive that provides exclusive access to a shared resource.
|
|
3
|
-
* Semaphores are used to ensure that only one process can access the shared resource at a time.
|
|
4
|
-
*/
|
|
5
|
-
export interface Semaphore {
|
|
6
|
-
/**
|
|
7
|
-
* Acquires the semaphore, blocking until the semaphore is available.
|
|
8
|
-
* When the semaphore is acquired, it prevents other processes from acquiring it.
|
|
9
|
-
* @returns A Promise that resolves when the semaphore is successfully acquired.
|
|
10
|
-
*/
|
|
11
|
-
acquire(): Promise<void>;
|
|
12
|
-
/**
|
|
13
|
-
* Releases the semaphore, allowing other processes to acquire it.
|
|
14
|
-
* @returns A Promise that resolves when the semaphore is successfully released.
|
|
15
|
-
*/
|
|
16
|
-
release(): Promise<void>;
|
|
17
|
-
}
|
|
18
|
-
export declare function createDummySemaphore(): Semaphore;
|
|
19
|
-
/**
|
|
20
|
-
* Interface for a SemaphoreProvider, an object that provides semaphore instances for different shared resources.
|
|
21
|
-
* SemaphoreProviders are used to manage access to shared resources across multiple processes.
|
|
22
|
-
*/
|
|
23
|
-
export interface SemaphoreProvider {
|
|
24
|
-
/**
|
|
25
|
-
* A Semaphore instance that manages access to the 'call' shared resource.
|
|
26
|
-
* This semaphore ensures that only one process can access the 'call' resource at a time.
|
|
27
|
-
*/
|
|
28
|
-
readonly callSemaphore: Semaphore;
|
|
29
|
-
}
|
|
30
|
-
export declare function createSimpleSemaphoreProvider(): SemaphoreProvider;
|
|
31
|
-
//# sourceMappingURL=Semaphore.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Semaphore.d.ts","sourceRoot":"","sources":["../../src/common/Semaphore.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,SAAS;IAEzB;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzB;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AAED,wBAAgB,oBAAoB,IAAI,SAAS,CAKhD;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAEjC;;;OAGG;IACH,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC;CAClC;AAED,wBAAgB,6BAA6B,IAAI,iBAAiB,CAIjE"}
|
package/lib/common/Semaphore.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createSimpleSemaphoreProvider = exports.createDummySemaphore = void 0;
|
|
4
|
-
function createDummySemaphore() {
|
|
5
|
-
return {
|
|
6
|
-
acquire: () => Promise.resolve(),
|
|
7
|
-
release: () => Promise.resolve(),
|
|
8
|
-
};
|
|
9
|
-
}
|
|
10
|
-
exports.createDummySemaphore = createDummySemaphore;
|
|
11
|
-
function createSimpleSemaphoreProvider() {
|
|
12
|
-
return {
|
|
13
|
-
callSemaphore: createDummySemaphore(),
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
exports.createSimpleSemaphoreProvider = createSimpleSemaphoreProvider;
|