@convai/web-sdk 1.2.1-beta.0 → 1.2.1-beta.1
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/README.md +187 -29
- package/dist/core/ConvaiClient.d.ts +4 -7
- package/dist/core/ConvaiClient.d.ts.map +1 -1
- package/dist/core/ConvaiClient.js +74 -24
- package/dist/core/ConvaiClient.js.map +1 -1
- package/dist/core/MessageHandler.d.ts +1 -7
- package/dist/core/MessageHandler.d.ts.map +1 -1
- package/dist/core/MessageHandler.js +8 -21
- package/dist/core/MessageHandler.js.map +1 -1
- package/dist/core/types.d.ts +116 -8
- package/dist/core/types.d.ts.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lipsync-helpers/mappingTypes.d.ts +1 -1
- package/dist/lipsync-helpers/mappingTypes.js +4 -4
- package/dist/react/hooks/useConvaiClient.d.ts.map +1 -1
- package/dist/react/hooks/useConvaiClient.js +0 -1
- package/dist/react/hooks/useConvaiClient.js.map +1 -1
- package/dist/types/index.d.ts +116 -5
- package/dist/types/index.d.ts.map +1 -1
- package/dist/vanilla/ConvaiWidget.d.ts.map +1 -1
- package/dist/vanilla/ConvaiWidget.js.map +1 -1
- package/dist/vanilla/index.d.ts +2 -1
- package/dist/vanilla/index.d.ts.map +1 -1
- package/dist/vanilla/index.js +2 -0
- package/dist/vanilla/index.js.map +1 -1
- package/dist/vanilla/types.d.ts +0 -1
- package/dist/vanilla/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/dev.d.ts +0 -12
- package/dist/dev.d.ts.map +0 -1
- package/dist/dev.js +0 -12
- package/dist/dev.js.map +0 -1
- package/dist/utils/LatencyMonitor.d.ts +0 -88
- package/dist/utils/LatencyMonitor.d.ts.map +0 -1
- package/dist/utils/LatencyMonitor.js +0 -136
- package/dist/utils/LatencyMonitor.js.map +0 -1
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
import { EventEmitter } from "../core/EventEmitter";
|
|
2
|
-
/**
|
|
3
|
-
* LatencyMonitor - Tracks and manages latency measurements
|
|
4
|
-
* This is for dev/debugging purposes only
|
|
5
|
-
*/
|
|
6
|
-
export class LatencyMonitor extends EventEmitter {
|
|
7
|
-
constructor(enabled = false) {
|
|
8
|
-
super();
|
|
9
|
-
this.measurements = [];
|
|
10
|
-
this.pendingMeasurement = null;
|
|
11
|
-
this.maxMeasurements = 100; // Keep last 100 measurements
|
|
12
|
-
this.isEnabled = false;
|
|
13
|
-
this.isEnabled = enabled;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Enable latency monitoring
|
|
17
|
-
*/
|
|
18
|
-
enable() {
|
|
19
|
-
this.isEnabled = true;
|
|
20
|
-
this.emit("enabledChange", true);
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Disable latency monitoring
|
|
24
|
-
*/
|
|
25
|
-
disable() {
|
|
26
|
-
this.isEnabled = false;
|
|
27
|
-
this.emit("enabledChange", false);
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Check if monitoring is enabled
|
|
31
|
-
*/
|
|
32
|
-
get enabled() {
|
|
33
|
-
return this.isEnabled;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Start a new latency measurement
|
|
37
|
-
*/
|
|
38
|
-
startMeasurement(type, userMessage) {
|
|
39
|
-
if (!this.isEnabled)
|
|
40
|
-
return;
|
|
41
|
-
const id = `${type}-${Date.now()}-${Math.random()}`;
|
|
42
|
-
this.pendingMeasurement = {
|
|
43
|
-
id,
|
|
44
|
-
startTime: Date.now(),
|
|
45
|
-
type,
|
|
46
|
-
userMessage: userMessage?.substring(0, 50), // Keep first 50 chars
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Complete the current measurement
|
|
51
|
-
*/
|
|
52
|
-
endMeasurement() {
|
|
53
|
-
if (!this.isEnabled || !this.pendingMeasurement)
|
|
54
|
-
return;
|
|
55
|
-
const endTime = Date.now();
|
|
56
|
-
const latency = endTime - this.pendingMeasurement.startTime;
|
|
57
|
-
const measurement = {
|
|
58
|
-
id: this.pendingMeasurement.id,
|
|
59
|
-
startTime: this.pendingMeasurement.startTime,
|
|
60
|
-
endTime,
|
|
61
|
-
latency,
|
|
62
|
-
type: this.pendingMeasurement.type,
|
|
63
|
-
userMessage: this.pendingMeasurement.userMessage,
|
|
64
|
-
};
|
|
65
|
-
// Add to measurements array
|
|
66
|
-
this.measurements.push(measurement);
|
|
67
|
-
// Keep only the last N measurements
|
|
68
|
-
if (this.measurements.length > this.maxMeasurements) {
|
|
69
|
-
this.measurements.shift();
|
|
70
|
-
}
|
|
71
|
-
// Clear pending measurement
|
|
72
|
-
this.pendingMeasurement = null;
|
|
73
|
-
// Emit new measurement
|
|
74
|
-
this.emit("measurement", measurement);
|
|
75
|
-
this.emit("measurementsChange", this.measurements);
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Cancel the current pending measurement
|
|
79
|
-
*/
|
|
80
|
-
cancelMeasurement() {
|
|
81
|
-
this.pendingMeasurement = null;
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Get all measurements
|
|
85
|
-
*/
|
|
86
|
-
getMeasurements() {
|
|
87
|
-
return [...this.measurements];
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Get the latest measurement
|
|
91
|
-
*/
|
|
92
|
-
getLatestMeasurement() {
|
|
93
|
-
return this.measurements.length > 0
|
|
94
|
-
? this.measurements[this.measurements.length - 1]
|
|
95
|
-
: null;
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Get latency statistics
|
|
99
|
-
*/
|
|
100
|
-
getStats() {
|
|
101
|
-
if (this.measurements.length === 0)
|
|
102
|
-
return null;
|
|
103
|
-
const latencies = this.measurements.map((m) => m.latency).sort((a, b) => a - b);
|
|
104
|
-
const sum = latencies.reduce((acc, val) => acc + val, 0);
|
|
105
|
-
const p95Index = Math.floor(latencies.length * 0.95);
|
|
106
|
-
return {
|
|
107
|
-
average: sum / latencies.length,
|
|
108
|
-
min: latencies[0],
|
|
109
|
-
max: latencies[latencies.length - 1],
|
|
110
|
-
median: latencies[Math.floor(latencies.length / 2)],
|
|
111
|
-
p95: latencies[p95Index],
|
|
112
|
-
count: latencies.length,
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Clear all measurements
|
|
117
|
-
*/
|
|
118
|
-
clear() {
|
|
119
|
-
this.measurements = [];
|
|
120
|
-
this.pendingMeasurement = null;
|
|
121
|
-
this.emit("measurementsChange", this.measurements);
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Check if there's a pending measurement
|
|
125
|
-
*/
|
|
126
|
-
get hasPendingMeasurement() {
|
|
127
|
-
return this.pendingMeasurement !== null;
|
|
128
|
-
}
|
|
129
|
-
/**
|
|
130
|
-
* Get pending measurement info
|
|
131
|
-
*/
|
|
132
|
-
getPendingMeasurement() {
|
|
133
|
-
return this.pendingMeasurement ? { ...this.pendingMeasurement } : null;
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
//# sourceMappingURL=LatencyMonitor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LatencyMonitor.js","sourceRoot":"","sources":["../../src/utils/LatencyMonitor.ts"],"names":[],"mappings":"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"}
|