@deepgram/sdk 4.5.1 → 4.7.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/main/lib/errors.d.ts +33 -0
- package/dist/main/lib/errors.d.ts.map +1 -1
- package/dist/main/lib/errors.js +35 -1
- package/dist/main/lib/errors.js.map +1 -1
- package/dist/main/lib/version.d.ts +1 -1
- package/dist/main/lib/version.js +1 -1
- package/dist/main/packages/AbstractClient.d.ts +1 -0
- package/dist/main/packages/AbstractClient.d.ts.map +1 -1
- package/dist/main/packages/AbstractClient.js +9 -3
- package/dist/main/packages/AbstractClient.js.map +1 -1
- package/dist/main/packages/AbstractLiveClient.d.ts +163 -0
- package/dist/main/packages/AbstractLiveClient.d.ts.map +1 -1
- package/dist/main/packages/AbstractLiveClient.js +162 -0
- package/dist/main/packages/AbstractLiveClient.js.map +1 -1
- package/dist/main/packages/AgentLiveClient.d.ts.map +1 -1
- package/dist/main/packages/AgentLiveClient.js +15 -10
- package/dist/main/packages/AgentLiveClient.js.map +1 -1
- package/dist/main/packages/ListenLiveClient.d.ts.map +1 -1
- package/dist/main/packages/ListenLiveClient.js +12 -9
- package/dist/main/packages/ListenLiveClient.js.map +1 -1
- package/dist/main/packages/SpeakLiveClient.d.ts.map +1 -1
- package/dist/main/packages/SpeakLiveClient.js +15 -9
- package/dist/main/packages/SpeakLiveClient.js.map +1 -1
- package/dist/module/lib/errors.d.ts +33 -0
- package/dist/module/lib/errors.d.ts.map +1 -1
- package/dist/module/lib/errors.js +33 -0
- package/dist/module/lib/errors.js.map +1 -1
- package/dist/module/lib/version.d.ts +1 -1
- package/dist/module/lib/version.js +1 -1
- package/dist/module/packages/AbstractClient.d.ts +1 -0
- package/dist/module/packages/AbstractClient.d.ts.map +1 -1
- package/dist/module/packages/AbstractClient.js +9 -3
- package/dist/module/packages/AbstractClient.js.map +1 -1
- package/dist/module/packages/AbstractLiveClient.d.ts +163 -0
- package/dist/module/packages/AbstractLiveClient.d.ts.map +1 -1
- package/dist/module/packages/AbstractLiveClient.js +162 -0
- package/dist/module/packages/AbstractLiveClient.js.map +1 -1
- package/dist/module/packages/AgentLiveClient.d.ts.map +1 -1
- package/dist/module/packages/AgentLiveClient.js +15 -10
- package/dist/module/packages/AgentLiveClient.js.map +1 -1
- package/dist/module/packages/ListenLiveClient.d.ts.map +1 -1
- package/dist/module/packages/ListenLiveClient.js +12 -9
- package/dist/module/packages/ListenLiveClient.js.map +1 -1
- package/dist/module/packages/SpeakLiveClient.d.ts.map +1 -1
- package/dist/module/packages/SpeakLiveClient.js +15 -9
- package/dist/module/packages/SpeakLiveClient.js.map +1 -1
- package/dist/umd/deepgram.js +1 -1
- package/package.json +1 -1
- package/src/lib/errors.ts +52 -0
- package/src/lib/version.ts +1 -1
- package/src/packages/AbstractClient.ts +10 -3
- package/src/packages/AbstractLiveClient.ts +230 -0
- package/src/packages/AgentLiveClient.ts +16 -13
- package/src/packages/ListenLiveClient.ts +13 -12
- package/src/packages/SpeakLiveClient.ts +16 -12
|
@@ -19,4 +19,37 @@ export declare class DeepgramUnknownError extends DeepgramError {
|
|
|
19
19
|
export declare class DeepgramVersionError extends DeepgramError {
|
|
20
20
|
constructor();
|
|
21
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Enhanced WebSocket error that captures additional debugging information
|
|
24
|
+
* including status codes, request IDs, and response headers when available.
|
|
25
|
+
*/
|
|
26
|
+
export declare class DeepgramWebSocketError extends DeepgramError {
|
|
27
|
+
originalEvent?: ErrorEvent | Event;
|
|
28
|
+
statusCode?: number;
|
|
29
|
+
requestId?: string;
|
|
30
|
+
responseHeaders?: Record<string, string>;
|
|
31
|
+
url?: string;
|
|
32
|
+
readyState?: number;
|
|
33
|
+
constructor(message: string, options?: {
|
|
34
|
+
originalEvent?: ErrorEvent | Event;
|
|
35
|
+
statusCode?: number;
|
|
36
|
+
requestId?: string;
|
|
37
|
+
responseHeaders?: Record<string, string>;
|
|
38
|
+
url?: string;
|
|
39
|
+
readyState?: number;
|
|
40
|
+
});
|
|
41
|
+
toJSON(): {
|
|
42
|
+
name: string;
|
|
43
|
+
message: string;
|
|
44
|
+
statusCode: number | undefined;
|
|
45
|
+
requestId: string | undefined;
|
|
46
|
+
responseHeaders: Record<string, string> | undefined;
|
|
47
|
+
url: string | undefined;
|
|
48
|
+
readyState: number | undefined;
|
|
49
|
+
originalEvent: {
|
|
50
|
+
type: string;
|
|
51
|
+
timeStamp: number;
|
|
52
|
+
} | undefined;
|
|
53
|
+
};
|
|
54
|
+
}
|
|
22
55
|
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,aAAc,SAAQ,KAAK;IACtC,SAAS,CAAC,SAAS,UAAQ;gBAEf,OAAO,EAAE,MAAM;CAI5B;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAEtE;AAED,qBAAa,gBAAiB,SAAQ,aAAa;IACjD,MAAM,EAAE,MAAM,CAAC;gBAEH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAM3C,MAAM;;;;;CAOP;AAED,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,aAAa,EAAE,OAAO,CAAC;gBAEX,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO;CAKpD;AAED,qBAAa,oBAAqB,SAAQ,aAAa;;CAQtD"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,aAAc,SAAQ,KAAK;IACtC,SAAS,CAAC,SAAS,UAAQ;gBAEf,OAAO,EAAE,MAAM;CAI5B;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAEtE;AAED,qBAAa,gBAAiB,SAAQ,aAAa;IACjD,MAAM,EAAE,MAAM,CAAC;gBAEH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAM3C,MAAM;;;;;CAOP;AAED,qBAAa,oBAAqB,SAAQ,aAAa;IACrD,aAAa,EAAE,OAAO,CAAC;gBAEX,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO;CAKpD;AAED,qBAAa,oBAAqB,SAAQ,aAAa;;CAQtD;AAED;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,aAAa;IACvD,aAAa,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;gBAGlB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QACP,aAAa,CAAC,EAAE,UAAU,GAAG,KAAK,CAAC;QACnC,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACzC,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,MAAM,CAAC;KAChB;IAYR,MAAM;;;;;;;;;;;;;CAiBP"}
|
package/dist/main/lib/errors.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DeepgramVersionError = exports.DeepgramUnknownError = exports.DeepgramApiError = exports.isDeepgramError = exports.DeepgramError = void 0;
|
|
3
|
+
exports.DeepgramWebSocketError = exports.DeepgramVersionError = exports.DeepgramUnknownError = exports.DeepgramApiError = exports.isDeepgramError = exports.DeepgramError = void 0;
|
|
4
4
|
class DeepgramError extends Error {
|
|
5
5
|
constructor(message) {
|
|
6
6
|
super(message);
|
|
@@ -43,4 +43,38 @@ class DeepgramVersionError extends DeepgramError {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
exports.DeepgramVersionError = DeepgramVersionError;
|
|
46
|
+
/**
|
|
47
|
+
* Enhanced WebSocket error that captures additional debugging information
|
|
48
|
+
* including status codes, request IDs, and response headers when available.
|
|
49
|
+
*/
|
|
50
|
+
class DeepgramWebSocketError extends DeepgramError {
|
|
51
|
+
constructor(message, options = {}) {
|
|
52
|
+
super(message);
|
|
53
|
+
this.name = "DeepgramWebSocketError";
|
|
54
|
+
this.originalEvent = options.originalEvent;
|
|
55
|
+
this.statusCode = options.statusCode;
|
|
56
|
+
this.requestId = options.requestId;
|
|
57
|
+
this.responseHeaders = options.responseHeaders;
|
|
58
|
+
this.url = options.url;
|
|
59
|
+
this.readyState = options.readyState;
|
|
60
|
+
}
|
|
61
|
+
toJSON() {
|
|
62
|
+
return {
|
|
63
|
+
name: this.name,
|
|
64
|
+
message: this.message,
|
|
65
|
+
statusCode: this.statusCode,
|
|
66
|
+
requestId: this.requestId,
|
|
67
|
+
responseHeaders: this.responseHeaders,
|
|
68
|
+
url: this.url,
|
|
69
|
+
readyState: this.readyState,
|
|
70
|
+
originalEvent: this.originalEvent
|
|
71
|
+
? {
|
|
72
|
+
type: this.originalEvent.type,
|
|
73
|
+
timeStamp: this.originalEvent.timeStamp,
|
|
74
|
+
}
|
|
75
|
+
: undefined,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.DeepgramWebSocketError = DeepgramWebSocketError;
|
|
46
80
|
//# sourceMappingURL=errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/lib/errors.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAc,SAAQ,KAAK;IAGtC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHP,cAAS,GAAG,IAAI,CAAC;QAIzB,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAPD,sCAOC;AAED,SAAgB,eAAe,CAAC,KAAc;IAC5C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,WAAW,IAAI,KAAK,CAAC;AAC7E,CAAC;AAFD,0CAEC;AAED,MAAa,gBAAiB,SAAQ,aAAa;IAGjD,YAAY,OAAe,EAAE,MAAc;QACzC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;IACJ,CAAC;CACF;AAhBD,4CAgBC;AAED,MAAa,oBAAqB,SAAQ,aAAa;IAGrD,YAAY,OAAe,EAAE,aAAsB;QACjD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;CACF;AARD,oDAQC;AAED,MAAa,oBAAqB,SAAQ,aAAa;IACrD;QACE,KAAK,CACH,wGAAwG,CACzG,CAAC;QAEF,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AARD,oDAQC"}
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/lib/errors.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAc,SAAQ,KAAK;IAGtC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QAHP,cAAS,GAAG,IAAI,CAAC;QAIzB,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AAPD,sCAOC;AAED,SAAgB,eAAe,CAAC,KAAc;IAC5C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,WAAW,IAAI,KAAK,CAAC;AAC7E,CAAC;AAFD,0CAEC;AAED,MAAa,gBAAiB,SAAQ,aAAa;IAGjD,YAAY,OAAe,EAAE,MAAc;QACzC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;IACJ,CAAC;CACF;AAhBD,4CAgBC;AAED,MAAa,oBAAqB,SAAQ,aAAa;IAGrD,YAAY,OAAe,EAAE,aAAsB;QACjD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACrC,CAAC;CACF;AARD,oDAQC;AAED,MAAa,oBAAqB,SAAQ,aAAa;IACrD;QACE,KAAK,CACH,wGAAwG,CACzG,CAAC;QAEF,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AARD,oDAQC;AAED;;;GAGG;AACH,MAAa,sBAAuB,SAAQ,aAAa;IAQvD,YACE,OAAe,EACf,UAOI,EAAE;QAEN,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAC/C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;IACvC,CAAC;IAED,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;gBAC/B,CAAC,CAAC;oBACE,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI;oBAC7B,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,SAAS;iBACxC;gBACH,CAAC,CAAC,SAAS;SACd,CAAC;IACJ,CAAC;CACF;AA9CD,wDA8CC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "4.
|
|
1
|
+
export declare const version = "4.7.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/main/lib/version.js
CHANGED
|
@@ -26,6 +26,7 @@ export declare abstract class AbstractClient extends EventEmitter {
|
|
|
26
26
|
*
|
|
27
27
|
* @param options - The options to configure the DeepgramClient instance.
|
|
28
28
|
* @param options.key - The Deepgram API key to use for authentication. If not provided, the `DEEPGRAM_API_KEY` environment variable will be used.
|
|
29
|
+
* @param options.accessToken - The Deepgram access token to use for authentication. If not provided, the `DEEPGRAM_ACCESS_TOKEN` environment variable will be used.
|
|
29
30
|
* @param options.global - Global options that apply to all requests made by the DeepgramClient instance.
|
|
30
31
|
* @param options.global.fetch - Options to configure the fetch requests made by the DeepgramClient instance.
|
|
31
32
|
* @param options.global.fetch.options - Additional options to pass to the fetch function, such as `url` and `headers`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractClient.d.ts","sourceRoot":"","sources":["../../../src/packages/AbstractClient.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EAExB,MAAM,cAAc,CAAC;AAEtB,eAAO,MAAM,IAAI,YAAW,CAAC;AAE7B;;;;;;;;;GASG;AACH,8BAAsB,cAAe,SAAQ,YAAY;IACvD,SAAS,CAAC,OAAO,EAAE,QAAQ,GAAG,SAAS,CAAa;IACpD,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAa;IAC9C,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAa;IACtD,SAAS,CAAC,OAAO,EAAE,oBAAoB,CAAC;IACjC,SAAS,EAAE,MAAM,CAAY;IAC7B,OAAO,EAAE,MAAM,CAAQ;IACvB,OAAO,EAAE,MAAM,CAAe;IAC9B,MAAM,EAAE,QAAQ,CAAQ;IAE/B
|
|
1
|
+
{"version":3,"file":"AbstractClient.d.ts","sourceRoot":"","sources":["../../../src/packages/AbstractClient.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAItC,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,uBAAuB,EAExB,MAAM,cAAc,CAAC;AAEtB,eAAO,MAAM,IAAI,YAAW,CAAC;AAE7B;;;;;;;;;GASG;AACH,8BAAsB,cAAe,SAAQ,YAAY;IACvD,SAAS,CAAC,OAAO,EAAE,QAAQ,GAAG,SAAS,CAAa;IACpD,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAa;IAC9C,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAa;IACtD,SAAS,CAAC,OAAO,EAAE,oBAAoB,CAAC;IACjC,SAAS,EAAE,MAAM,CAAY;IAC7B,OAAO,EAAE,MAAM,CAAQ;IACvB,OAAO,EAAE,MAAM,CAAe;IAC9B,MAAM,EAAE,QAAQ,CAAQ;IAE/B;;;;;;;;;;OAUG;gBACS,OAAO,EAAE,qBAAqB;IA8C1C;;;;;OAKG;IACI,CAAC,CAAC,OAAO,GAAE,MAAa,GAAG,IAAI;IAMtC;;;;;;OAMG;IACH,IAAI,gBAAgB,IAAI,uBAAuB,CAU9C;IAED;;;;;;;OAOG;IACI,aAAa,CAClB,QAAQ,EAAE,MAAM,EAChB,MAAM,GAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAA8B,EAC7D,oBAAoB,CAAC,EAAE;QACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,GACA,GAAG;IA4BN;;;;OAIG;IACI,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG;CAGjD"}
|
|
@@ -23,6 +23,7 @@ class AbstractClient extends events_1.EventEmitter {
|
|
|
23
23
|
*
|
|
24
24
|
* @param options - The options to configure the DeepgramClient instance.
|
|
25
25
|
* @param options.key - The Deepgram API key to use for authentication. If not provided, the `DEEPGRAM_API_KEY` environment variable will be used.
|
|
26
|
+
* @param options.accessToken - The Deepgram access token to use for authentication. If not provided, the `DEEPGRAM_ACCESS_TOKEN` environment variable will be used.
|
|
26
27
|
* @param options.global - Global options that apply to all requests made by the DeepgramClient instance.
|
|
27
28
|
* @param options.global.fetch - Options to configure the fetch requests made by the DeepgramClient instance.
|
|
28
29
|
* @param options.global.fetch.options - Additional options to pass to the fetch function, such as `url` and `headers`.
|
|
@@ -53,13 +54,18 @@ class AbstractClient extends events_1.EventEmitter {
|
|
|
53
54
|
else {
|
|
54
55
|
this.key = options.key;
|
|
55
56
|
}
|
|
56
|
-
//
|
|
57
|
+
// implement priority-based credential resolution for environment variables
|
|
57
58
|
if (!this.key && !this.accessToken) {
|
|
58
|
-
|
|
59
|
+
// check for DEEPGRAM_ACCESS_TOKEN first (higher priority)
|
|
60
|
+
this.accessToken = process.env.DEEPGRAM_ACCESS_TOKEN;
|
|
61
|
+
// if still no access token, fall back to DEEPGRAM_API_KEY (lower priority)
|
|
62
|
+
if (!this.accessToken) {
|
|
63
|
+
this.key = process.env.DEEPGRAM_API_KEY;
|
|
64
|
+
}
|
|
59
65
|
}
|
|
60
66
|
// if we STILL have neither, throw an error
|
|
61
67
|
if (!this.key && !this.accessToken) {
|
|
62
|
-
throw new errors_1.DeepgramError("A deepgram API key or
|
|
68
|
+
throw new errors_1.DeepgramError("A deepgram API key or access token is required.");
|
|
63
69
|
}
|
|
64
70
|
options = (0, helpers_1.convertLegacyOptions)(options);
|
|
65
71
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractClient.js","sourceRoot":"","sources":["../../../src/packages/AbstractClient.ts"],"names":[],"mappings":";;;AAAA,mCAAsC;AACtC,gDAAgE;AAChE,0CAA8C;AAC9C,4CAAyF;AAQlF,MAAM,IAAI,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;AAAhB,QAAA,IAAI,QAAY;AAE7B;;;;;;;;;GASG;AACH,MAAsB,cAAe,SAAQ,qBAAY;IAUvD
|
|
1
|
+
{"version":3,"file":"AbstractClient.js","sourceRoot":"","sources":["../../../src/packages/AbstractClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { AbstractClient } from "./AbstractClient";
|
|
|
2
2
|
import { CONNECTION_STATE, SOCKET_STATES } from "../lib/constants";
|
|
3
3
|
import type { DeepgramClientOptions, LiveSchema } from "../lib/types";
|
|
4
4
|
import type { WebSocket as WSWebSocket } from "ws";
|
|
5
|
+
import { DeepgramWebSocketError } from "../lib/errors";
|
|
5
6
|
/**
|
|
6
7
|
* Represents a constructor for a WebSocket-like object that can be used in the application.
|
|
7
8
|
* The constructor takes the following parameters:
|
|
@@ -89,6 +90,168 @@ export declare abstract class AbstractLiveClient extends AbstractClient {
|
|
|
89
90
|
* @returns {boolean} true if the current instance should proxy requests; otherwise, false
|
|
90
91
|
*/
|
|
91
92
|
get proxy(): boolean;
|
|
93
|
+
/**
|
|
94
|
+
* Extracts enhanced error information from a WebSocket error event.
|
|
95
|
+
* This method attempts to capture additional debugging information such as
|
|
96
|
+
* status codes, request IDs, and response headers when available.
|
|
97
|
+
*
|
|
98
|
+
* @example
|
|
99
|
+
* ```typescript
|
|
100
|
+
* // Enhanced error information is now available in error events:
|
|
101
|
+
* connection.on(LiveTranscriptionEvents.Error, (err) => {
|
|
102
|
+
* console.error("WebSocket Error:", err.message);
|
|
103
|
+
*
|
|
104
|
+
* // Access HTTP status code (e.g., 502, 403, etc.)
|
|
105
|
+
* if (err.statusCode) {
|
|
106
|
+
* console.error(`HTTP Status Code: ${err.statusCode}`);
|
|
107
|
+
* }
|
|
108
|
+
*
|
|
109
|
+
* // Access Deepgram request ID for support tickets
|
|
110
|
+
* if (err.requestId) {
|
|
111
|
+
* console.error(`Deepgram Request ID: ${err.requestId}`);
|
|
112
|
+
* }
|
|
113
|
+
*
|
|
114
|
+
* // Access WebSocket URL and connection state
|
|
115
|
+
* if (err.url) {
|
|
116
|
+
* console.error(`WebSocket URL: ${err.url}`);
|
|
117
|
+
* }
|
|
118
|
+
*
|
|
119
|
+
* if (err.readyState !== undefined) {
|
|
120
|
+
* const stateNames = ['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'];
|
|
121
|
+
* console.error(`Connection State: ${stateNames[err.readyState]}`);
|
|
122
|
+
* }
|
|
123
|
+
*
|
|
124
|
+
* // Access response headers for additional debugging
|
|
125
|
+
* if (err.responseHeaders) {
|
|
126
|
+
* console.error("Response Headers:", err.responseHeaders);
|
|
127
|
+
* }
|
|
128
|
+
*
|
|
129
|
+
* // Access the enhanced error object for detailed debugging
|
|
130
|
+
* if (err.error?.name === 'DeepgramWebSocketError') {
|
|
131
|
+
* console.error("Enhanced Error Details:", err.error.toJSON());
|
|
132
|
+
* }
|
|
133
|
+
* });
|
|
134
|
+
* ```
|
|
135
|
+
*
|
|
136
|
+
* @param event - The error event from the WebSocket
|
|
137
|
+
* @param conn - The WebSocket connection object
|
|
138
|
+
* @returns Enhanced error information object
|
|
139
|
+
*/
|
|
140
|
+
protected extractErrorInformation(event: ErrorEvent | Event, conn?: WebSocketLike): {
|
|
141
|
+
statusCode?: number;
|
|
142
|
+
requestId?: string;
|
|
143
|
+
responseHeaders?: Record<string, string>;
|
|
144
|
+
url?: string;
|
|
145
|
+
readyState?: number;
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* Creates an enhanced error object with additional debugging information.
|
|
149
|
+
* This method provides backward compatibility by including both the original
|
|
150
|
+
* error event and enhanced error information.
|
|
151
|
+
*
|
|
152
|
+
* @param event - The original error event
|
|
153
|
+
* @param enhancedInfo - Additional error information extracted from the connection
|
|
154
|
+
* @returns An object containing both original and enhanced error information
|
|
155
|
+
*/
|
|
156
|
+
protected createEnhancedError(event: ErrorEvent | Event, enhancedInfo: {
|
|
157
|
+
statusCode?: number;
|
|
158
|
+
requestId?: string;
|
|
159
|
+
responseHeaders?: Record<string, string>;
|
|
160
|
+
url?: string;
|
|
161
|
+
readyState?: number;
|
|
162
|
+
}): {
|
|
163
|
+
error: DeepgramWebSocketError;
|
|
164
|
+
statusCode: number | undefined;
|
|
165
|
+
requestId: string | undefined;
|
|
166
|
+
responseHeaders: Record<string, string> | undefined;
|
|
167
|
+
url: string | undefined;
|
|
168
|
+
readyState: number | undefined;
|
|
169
|
+
message: string;
|
|
170
|
+
bubbles: boolean;
|
|
171
|
+
cancelBubble: boolean;
|
|
172
|
+
cancelable: boolean;
|
|
173
|
+
composed: boolean;
|
|
174
|
+
currentTarget: EventTarget | null;
|
|
175
|
+
defaultPrevented: boolean;
|
|
176
|
+
eventPhase: number;
|
|
177
|
+
isTrusted: boolean;
|
|
178
|
+
returnValue: boolean;
|
|
179
|
+
srcElement: EventTarget | null;
|
|
180
|
+
target: EventTarget | null;
|
|
181
|
+
timeStamp: number;
|
|
182
|
+
type: string;
|
|
183
|
+
composedPath(): EventTarget[];
|
|
184
|
+
initEvent(type: string, bubbles?: boolean | undefined, cancelable?: boolean | undefined): void;
|
|
185
|
+
preventDefault(): void;
|
|
186
|
+
stopImmediatePropagation(): void;
|
|
187
|
+
stopPropagation(): void;
|
|
188
|
+
AT_TARGET: number;
|
|
189
|
+
BUBBLING_PHASE: number;
|
|
190
|
+
CAPTURING_PHASE: number;
|
|
191
|
+
NONE: number;
|
|
192
|
+
} | {
|
|
193
|
+
error: DeepgramWebSocketError;
|
|
194
|
+
statusCode: number | undefined;
|
|
195
|
+
requestId: string | undefined;
|
|
196
|
+
responseHeaders: Record<string, string> | undefined;
|
|
197
|
+
url: string | undefined;
|
|
198
|
+
readyState: number | undefined;
|
|
199
|
+
message: string;
|
|
200
|
+
colno: number;
|
|
201
|
+
filename: string;
|
|
202
|
+
lineno: number;
|
|
203
|
+
bubbles: boolean;
|
|
204
|
+
cancelBubble: boolean;
|
|
205
|
+
cancelable: boolean;
|
|
206
|
+
composed: boolean;
|
|
207
|
+
currentTarget: EventTarget | null;
|
|
208
|
+
defaultPrevented: boolean;
|
|
209
|
+
eventPhase: number;
|
|
210
|
+
isTrusted: boolean;
|
|
211
|
+
returnValue: boolean;
|
|
212
|
+
srcElement: EventTarget | null;
|
|
213
|
+
target: EventTarget | null;
|
|
214
|
+
timeStamp: number;
|
|
215
|
+
type: string;
|
|
216
|
+
composedPath(): EventTarget[];
|
|
217
|
+
initEvent(type: string, bubbles?: boolean | undefined, cancelable?: boolean | undefined): void;
|
|
218
|
+
preventDefault(): void;
|
|
219
|
+
stopImmediatePropagation(): void;
|
|
220
|
+
stopPropagation(): void;
|
|
221
|
+
AT_TARGET: number;
|
|
222
|
+
BUBBLING_PHASE: number;
|
|
223
|
+
CAPTURING_PHASE: number;
|
|
224
|
+
NONE: number;
|
|
225
|
+
};
|
|
226
|
+
/**
|
|
227
|
+
* Builds an enhanced error message with additional context information.
|
|
228
|
+
*
|
|
229
|
+
* @param event - The original error event
|
|
230
|
+
* @param enhancedInfo - Additional error information
|
|
231
|
+
* @returns A more descriptive error message
|
|
232
|
+
*/
|
|
233
|
+
protected buildEnhancedErrorMessage(event: ErrorEvent | Event, enhancedInfo: {
|
|
234
|
+
statusCode?: number;
|
|
235
|
+
requestId?: string;
|
|
236
|
+
responseHeaders?: Record<string, string>;
|
|
237
|
+
url?: string;
|
|
238
|
+
readyState?: number;
|
|
239
|
+
}): string;
|
|
240
|
+
/**
|
|
241
|
+
* Sets up the standard connection event handlers (open, close, error) for WebSocket connections.
|
|
242
|
+
* This method abstracts the common connection event registration pattern used across all live clients.
|
|
243
|
+
*
|
|
244
|
+
* @param events - Object containing the event constants for the specific client type
|
|
245
|
+
* @param events.Open - Event constant for connection open
|
|
246
|
+
* @param events.Close - Event constant for connection close
|
|
247
|
+
* @param events.Error - Event constant for connection error
|
|
248
|
+
* @protected
|
|
249
|
+
*/
|
|
250
|
+
protected setupConnectionEvents(events: {
|
|
251
|
+
Open: string;
|
|
252
|
+
Close: string;
|
|
253
|
+
Error: string;
|
|
254
|
+
}): void;
|
|
92
255
|
/**
|
|
93
256
|
* Sets up the connection event handlers.
|
|
94
257
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractLiveClient.d.ts","sourceRoot":"","sources":["../../../src/packages/AbstractLiveClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAQ,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACnE,OAAO,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,KAAK,EAAE,SAAS,IAAI,WAAW,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"AbstractLiveClient.d.ts","sourceRoot":"","sources":["../../../src/packages/AbstractLiveClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,7 @@ exports.AbstractWsClient = exports.AbstractLiveClient = void 0;
|
|
|
36
36
|
const AbstractClient_1 = require("./AbstractClient");
|
|
37
37
|
const constants_1 = require("../lib/constants");
|
|
38
38
|
const runtime_1 = require("../lib/runtime");
|
|
39
|
+
const errors_1 = require("../lib/errors");
|
|
39
40
|
/**
|
|
40
41
|
* Represents an error that occurred in a WebSocket-like connection.
|
|
41
42
|
* @property {any} error - The underlying error object.
|
|
@@ -257,6 +258,167 @@ class AbstractLiveClient extends AbstractClient_1.AbstractClient {
|
|
|
257
258
|
var _a;
|
|
258
259
|
return this.key === "proxy" && !!((_a = this.namespaceOptions.websocket.options.proxy) === null || _a === void 0 ? void 0 : _a.url);
|
|
259
260
|
}
|
|
261
|
+
/**
|
|
262
|
+
* Extracts enhanced error information from a WebSocket error event.
|
|
263
|
+
* This method attempts to capture additional debugging information such as
|
|
264
|
+
* status codes, request IDs, and response headers when available.
|
|
265
|
+
*
|
|
266
|
+
* @example
|
|
267
|
+
* ```typescript
|
|
268
|
+
* // Enhanced error information is now available in error events:
|
|
269
|
+
* connection.on(LiveTranscriptionEvents.Error, (err) => {
|
|
270
|
+
* console.error("WebSocket Error:", err.message);
|
|
271
|
+
*
|
|
272
|
+
* // Access HTTP status code (e.g., 502, 403, etc.)
|
|
273
|
+
* if (err.statusCode) {
|
|
274
|
+
* console.error(`HTTP Status Code: ${err.statusCode}`);
|
|
275
|
+
* }
|
|
276
|
+
*
|
|
277
|
+
* // Access Deepgram request ID for support tickets
|
|
278
|
+
* if (err.requestId) {
|
|
279
|
+
* console.error(`Deepgram Request ID: ${err.requestId}`);
|
|
280
|
+
* }
|
|
281
|
+
*
|
|
282
|
+
* // Access WebSocket URL and connection state
|
|
283
|
+
* if (err.url) {
|
|
284
|
+
* console.error(`WebSocket URL: ${err.url}`);
|
|
285
|
+
* }
|
|
286
|
+
*
|
|
287
|
+
* if (err.readyState !== undefined) {
|
|
288
|
+
* const stateNames = ['CONNECTING', 'OPEN', 'CLOSING', 'CLOSED'];
|
|
289
|
+
* console.error(`Connection State: ${stateNames[err.readyState]}`);
|
|
290
|
+
* }
|
|
291
|
+
*
|
|
292
|
+
* // Access response headers for additional debugging
|
|
293
|
+
* if (err.responseHeaders) {
|
|
294
|
+
* console.error("Response Headers:", err.responseHeaders);
|
|
295
|
+
* }
|
|
296
|
+
*
|
|
297
|
+
* // Access the enhanced error object for detailed debugging
|
|
298
|
+
* if (err.error?.name === 'DeepgramWebSocketError') {
|
|
299
|
+
* console.error("Enhanced Error Details:", err.error.toJSON());
|
|
300
|
+
* }
|
|
301
|
+
* });
|
|
302
|
+
* ```
|
|
303
|
+
*
|
|
304
|
+
* @param event - The error event from the WebSocket
|
|
305
|
+
* @param conn - The WebSocket connection object
|
|
306
|
+
* @returns Enhanced error information object
|
|
307
|
+
*/
|
|
308
|
+
extractErrorInformation(event, conn) {
|
|
309
|
+
var _a;
|
|
310
|
+
const errorInfo = {};
|
|
311
|
+
// Extract basic connection information
|
|
312
|
+
if (conn) {
|
|
313
|
+
errorInfo.readyState = conn.readyState;
|
|
314
|
+
errorInfo.url = typeof conn.url === "string" ? conn.url : (_a = conn.url) === null || _a === void 0 ? void 0 : _a.toString();
|
|
315
|
+
}
|
|
316
|
+
// Try to extract additional information from the WebSocket connection
|
|
317
|
+
// This works with the 'ws' package which exposes more detailed error information
|
|
318
|
+
if (conn && typeof conn === "object") {
|
|
319
|
+
const wsConn = conn;
|
|
320
|
+
// Extract status code if available (from 'ws' package)
|
|
321
|
+
if (wsConn._req && wsConn._req.res) {
|
|
322
|
+
errorInfo.statusCode = wsConn._req.res.statusCode;
|
|
323
|
+
// Extract response headers if available
|
|
324
|
+
if (wsConn._req.res.headers) {
|
|
325
|
+
errorInfo.responseHeaders = Object.assign({}, wsConn._req.res.headers);
|
|
326
|
+
// Extract request ID from Deepgram response headers
|
|
327
|
+
const requestId = wsConn._req.res.headers["dg-request-id"] || wsConn._req.res.headers["x-dg-request-id"];
|
|
328
|
+
if (requestId) {
|
|
329
|
+
errorInfo.requestId = requestId;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
// For native WebSocket, try to extract information from the event
|
|
334
|
+
if (event && "target" in event && event.target) {
|
|
335
|
+
const target = event.target;
|
|
336
|
+
if (target.url) {
|
|
337
|
+
errorInfo.url = target.url;
|
|
338
|
+
}
|
|
339
|
+
if (target.readyState !== undefined) {
|
|
340
|
+
errorInfo.readyState = target.readyState;
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
}
|
|
344
|
+
return errorInfo;
|
|
345
|
+
}
|
|
346
|
+
/**
|
|
347
|
+
* Creates an enhanced error object with additional debugging information.
|
|
348
|
+
* This method provides backward compatibility by including both the original
|
|
349
|
+
* error event and enhanced error information.
|
|
350
|
+
*
|
|
351
|
+
* @param event - The original error event
|
|
352
|
+
* @param enhancedInfo - Additional error information extracted from the connection
|
|
353
|
+
* @returns An object containing both original and enhanced error information
|
|
354
|
+
*/
|
|
355
|
+
createEnhancedError(event, enhancedInfo) {
|
|
356
|
+
// Create the enhanced error for detailed debugging
|
|
357
|
+
const enhancedError = new errors_1.DeepgramWebSocketError(event.message || "WebSocket connection error", Object.assign({ originalEvent: event }, enhancedInfo));
|
|
358
|
+
// Return an object that maintains backward compatibility
|
|
359
|
+
// while providing enhanced information
|
|
360
|
+
return Object.assign(Object.assign({}, event), {
|
|
361
|
+
// Enhanced error information
|
|
362
|
+
error: enhancedError,
|
|
363
|
+
// Additional fields for easier access
|
|
364
|
+
statusCode: enhancedInfo.statusCode, requestId: enhancedInfo.requestId, responseHeaders: enhancedInfo.responseHeaders, url: enhancedInfo.url, readyState: enhancedInfo.readyState,
|
|
365
|
+
// Enhanced message with more context
|
|
366
|
+
message: this.buildEnhancedErrorMessage(event, enhancedInfo) });
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Builds an enhanced error message with additional context information.
|
|
370
|
+
*
|
|
371
|
+
* @param event - The original error event
|
|
372
|
+
* @param enhancedInfo - Additional error information
|
|
373
|
+
* @returns A more descriptive error message
|
|
374
|
+
*/
|
|
375
|
+
buildEnhancedErrorMessage(event, enhancedInfo) {
|
|
376
|
+
let message = event.message || "WebSocket connection error";
|
|
377
|
+
const details = [];
|
|
378
|
+
if (enhancedInfo.statusCode) {
|
|
379
|
+
details.push(`Status: ${enhancedInfo.statusCode}`);
|
|
380
|
+
}
|
|
381
|
+
if (enhancedInfo.requestId) {
|
|
382
|
+
details.push(`Request ID: ${enhancedInfo.requestId}`);
|
|
383
|
+
}
|
|
384
|
+
if (enhancedInfo.readyState !== undefined) {
|
|
385
|
+
const stateNames = ["CONNECTING", "OPEN", "CLOSING", "CLOSED"];
|
|
386
|
+
const stateName = stateNames[enhancedInfo.readyState] || `Unknown(${enhancedInfo.readyState})`;
|
|
387
|
+
details.push(`Ready State: ${stateName}`);
|
|
388
|
+
}
|
|
389
|
+
if (enhancedInfo.url) {
|
|
390
|
+
details.push(`URL: ${enhancedInfo.url}`);
|
|
391
|
+
}
|
|
392
|
+
if (details.length > 0) {
|
|
393
|
+
message += ` (${details.join(", ")})`;
|
|
394
|
+
}
|
|
395
|
+
return message;
|
|
396
|
+
}
|
|
397
|
+
/**
|
|
398
|
+
* Sets up the standard connection event handlers (open, close, error) for WebSocket connections.
|
|
399
|
+
* This method abstracts the common connection event registration pattern used across all live clients.
|
|
400
|
+
*
|
|
401
|
+
* @param events - Object containing the event constants for the specific client type
|
|
402
|
+
* @param events.Open - Event constant for connection open
|
|
403
|
+
* @param events.Close - Event constant for connection close
|
|
404
|
+
* @param events.Error - Event constant for connection error
|
|
405
|
+
* @protected
|
|
406
|
+
*/
|
|
407
|
+
setupConnectionEvents(events) {
|
|
408
|
+
if (this.conn) {
|
|
409
|
+
this.conn.onopen = () => {
|
|
410
|
+
this.emit(events.Open, this);
|
|
411
|
+
};
|
|
412
|
+
this.conn.onclose = (event) => {
|
|
413
|
+
this.emit(events.Close, event);
|
|
414
|
+
};
|
|
415
|
+
this.conn.onerror = (event) => {
|
|
416
|
+
const enhancedInfo = this.extractErrorInformation(event, this.conn || undefined);
|
|
417
|
+
const enhancedError = this.createEnhancedError(event, enhancedInfo);
|
|
418
|
+
this.emit(events.Error, enhancedError);
|
|
419
|
+
};
|
|
420
|
+
}
|
|
421
|
+
}
|
|
260
422
|
}
|
|
261
423
|
exports.AbstractLiveClient = AbstractLiveClient;
|
|
262
424
|
exports.AbstractWsClient = AbstractLiveClient;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractLiveClient.js","sourceRoot":"","sources":["../../../src/packages/AbstractLiveClient.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAwD;AACxD,gDAAmE;AAGnE,4CAAuC;AA+
|
|
1
|
+
{"version":3,"file":"AbstractLiveClient.js","sourceRoot":"","sources":["../../../src/packages/AbstractLiveClient.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAwD;AACxD,gDAAmE;AAGnE,4CAAuC;AACvC,0CAAuD;AA+BvD;;;;;GAKG;AACH,iCAAiC;AACjC,gBAAgB;AAChB,qBAAqB;AACrB,kBAAkB;AAClB,IAAI;AAEJ;;GAEG;AACH,MAAM,0BAA0B,GAAG,OAAO,SAAS,KAAK,WAAW,CAAC;AAEpE;;;;;;GAMG;AACH,MAAsB,kBAAmB,SAAQ,+BAAc;IAM7D,YAAY,OAA8B;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC;QAJV,SAAI,GAAyB,IAAI,CAAC;QAClC,eAAU,GAAe,EAAE,CAAC;QAwHnC;;;;WAIG;QACI,cAAS,GAAkC,qBAAI,CAAC;QAxHrD,MAAM,EACJ,GAAG,EACH,SAAS,EAAE,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,GACjD,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAE1B,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC,KAAM,CAAC,GAAG,CAAC;SAC5C;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAC;SACrC;QAED,IAAI,MAAM,EAAE;YACV,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;SACzB;aAAM;YACL,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACvB;QAED,IAAI,gBAAgB,CAAC,gBAAgB,EAAE;YACrC,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC,gBAAgB,CAAC;SAClD;aAAM;YACL,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;SACnB;QAED,IAAI,CAAC,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,CAAC,EAAE;YACtC,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,yBAAyB;aACxF;iBAAM;gBACL,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,GAAG,EAAE,CAAC,CAAC,oBAAoB;aACrE;SACF;IACH,CAAC;IAED;;;;OAIG;IACO,OAAO,CAAC,oBAAgC,EAAE,QAAgB;QAClE,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,OAAO;SACR;QAED,IAAI,CAAC,SAAS,GAAG,CAAC,OAAO,GAAG,oBAAoB,EAAE,EAAE;YAClD,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC;QAEF,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,EAAE,oBAAoB,CAAC,CAAC;QAC1E,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC;QAExB,IAAI,CAAC,WAAW,IAAI,CAAC,MAAM,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;SAC9E;QAED;;WAEG;QACH,IAAI,IAAI,CAAC,SAAS,EAAE;YAClB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE;gBACpD,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,OAAO;SACR;QAED;;;;;WAKG;QACH,IAAI,IAAA,eAAK,GAAE,EAAE;YACX,kDAAO,IAAI,IAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE;gBACpC,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC,UAAU,EAAE;oBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;iBACtB,CAAC,CAAC;gBACH,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,OAAO;SACR;QAED;;WAEG;QACH,IAAI,0BAA0B,EAAE;YAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,SAAS,CACvB,UAAU,EACV,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,MAAO,CAAC,CAC3D,CAAC;YACF,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,OAAO;SACR;QAED;;WAEG;QACH,IAAI,CAAC,IAAI,GAAG,IAAI,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE;YACtD,KAAK,EAAE,GAAG,EAAE;gBACV,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACnB,CAAC;SACF,CAAC,CAAC;QAEH;;WAEG;QACH,kDAAO,IAAI,IAAE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE;YACpC,IAAI,CAAC,IAAI,GAAG,IAAI,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE;gBACxC,OAAO,EAAE,IAAI,CAAC,OAAO;aACtB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IASD;;;;;OAKG;IACI,UAAU,CAAC,IAAa,EAAE,MAAe;QAC9C,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,cAAa,CAAC,CAAC,CAAC,OAAO;YAC3C,IAAI,IAAI,EAAE;gBACR,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,CAAC;aACrC;iBAAM;gBACL,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;aACnB;YACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;SAClB;IACH,CAAC;IAED;;;;OAIG;IACI,eAAe;QACpB,QAAQ,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACzC,KAAK,yBAAa,CAAC,UAAU;gBAC3B,OAAO,4BAAgB,CAAC,UAAU,CAAC;YACrC,KAAK,yBAAa,CAAC,IAAI;gBACrB,OAAO,4BAAgB,CAAC,IAAI,CAAC;YAC/B,KAAK,yBAAa,CAAC,OAAO;gBACxB,OAAO,4BAAgB,CAAC,OAAO,CAAC;YAClC;gBACE,OAAO,4BAAgB,CAAC,MAAM,CAAC;SAClC;IACH,CAAC;IAED;;;;OAIG;IACI,aAAa;;QAClB,OAAO,MAAA,MAAA,IAAI,CAAC,IAAI,0CAAE,UAAU,mCAAI,yBAAa,CAAC,MAAM,CAAC;IACvD,CAAC;IAED;;OAEG;IACI,WAAW;QAChB,OAAO,IAAI,CAAC,eAAe,EAAE,KAAK,4BAAgB,CAAC,IAAI,CAAC;IAC1D,CAAC;IAED;;;;;;OAMG;IACH,IAAI,CAAC,IAAoB;QACvB,MAAM,QAAQ,GAAG,GAAS,EAAE;;YAC1B,IAAI,IAAI,YAAY,IAAI,EAAE;gBACxB,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE;oBACnB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,oCAAoC,EAAE,IAAI,CAAC,CAAC;oBAE7D,OAAO;iBACR;gBAED,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;aACjC;YAED,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;gBAC5B,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,CAAA,EAAE;oBACrB,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,uCAAuC,EAAE,IAAI,CAAC,CAAC;oBAEhE,OAAO;iBACR;aACF;YAED,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC,CAAA,CAAC;QAEF,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;YACtB,QAAQ,EAAE,CAAC;SACZ;aAAM;YACL,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAChC;IACH,CAAC;IAED;;;OAGG;IACH,IAAI,KAAK;;QACP,OAAO,IAAI,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,CAAA,MAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,0CAAE,GAAG,CAAA,CAAC;IACtF,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8CG;IACO,uBAAuB,CAC/B,KAAyB,EACzB,IAAoB;;QAQpB,MAAM,SAAS,GAMX,EAAE,CAAC;QAEP,uCAAuC;QACvC,IAAI,IAAI,EAAE;YACR,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YACvC,SAAS,CAAC,GAAG,GAAG,OAAO,IAAI,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,GAAG,0CAAE,QAAQ,EAAE,CAAC;SAChF;QAED,sEAAsE;QACtE,iFAAiF;QACjF,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;YACpC,MAAM,MAAM,GAAG,IAAW,CAAC;YAE3B,uDAAuD;YACvD,IAAI,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;gBAClC,SAAS,CAAC,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC;gBAElD,wCAAwC;gBACxC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;oBAC3B,SAAS,CAAC,eAAe,qBAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;oBAE3D,oDAAoD;oBACpD,MAAM,SAAS,GACb,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;oBACzF,IAAI,SAAS,EAAE;wBACb,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC;qBACjC;iBACF;aACF;YAED,kEAAkE;YAClE,IAAI,KAAK,IAAI,QAAQ,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;gBAC9C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAa,CAAC;gBACnC,IAAI,MAAM,CAAC,GAAG,EAAE;oBACd,SAAS,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;iBAC5B;gBACD,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE;oBACnC,SAAS,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;iBAC1C;aACF;SACF;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;;OAQG;IACO,mBAAmB,CAC3B,KAAyB,EACzB,YAMC;QAED,mDAAmD;QACnD,MAAM,aAAa,GAAG,IAAI,+BAAsB,CAC7C,KAAoB,CAAC,OAAO,IAAI,4BAA4B,kBAE3D,aAAa,EAAE,KAAK,IACjB,YAAY,EAElB,CAAC;QAEF,yDAAyD;QACzD,uCAAuC;QACvC,uCAEK,KAAK;YACR,6BAA6B;YAC7B,KAAK,EAAE,aAAa;YACpB,sCAAsC;YACtC,UAAU,EAAE,YAAY,CAAC,UAAU,EACnC,SAAS,EAAE,YAAY,CAAC,SAAS,EACjC,eAAe,EAAE,YAAY,CAAC,eAAe,EAC7C,GAAG,EAAE,YAAY,CAAC,GAAG,EACrB,UAAU,EAAE,YAAY,CAAC,UAAU;YACnC,qCAAqC;YACrC,OAAO,EAAE,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,YAAY,CAAC,IAC5D;IACJ,CAAC;IAED;;;;;;OAMG;IACO,yBAAyB,CACjC,KAAyB,EACzB,YAMC;QAED,IAAI,OAAO,GAAI,KAAoB,CAAC,OAAO,IAAI,4BAA4B,CAAC;QAE5E,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,IAAI,YAAY,CAAC,UAAU,EAAE;YAC3B,OAAO,CAAC,IAAI,CAAC,WAAW,YAAY,CAAC,UAAU,EAAE,CAAC,CAAC;SACpD;QAED,IAAI,YAAY,CAAC,SAAS,EAAE;YAC1B,OAAO,CAAC,IAAI,CAAC,eAAe,YAAY,CAAC,SAAS,EAAE,CAAC,CAAC;SACvD;QAED,IAAI,YAAY,CAAC,UAAU,KAAK,SAAS,EAAE;YACzC,MAAM,UAAU,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;YAC/D,MAAM,SAAS,GACb,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,WAAW,YAAY,CAAC,UAAU,GAAG,CAAC;YAC/E,OAAO,CAAC,IAAI,CAAC,gBAAgB,SAAS,EAAE,CAAC,CAAC;SAC3C;QAED,IAAI,YAAY,CAAC,GAAG,EAAE;YACpB,OAAO,CAAC,IAAI,CAAC,QAAQ,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC;SAC1C;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,OAAO,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;SACvC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;;OASG;IACO,qBAAqB,CAAC,MAAsD;QACpF,IAAI,IAAI,CAAC,IAAI,EAAE;YACb,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE;gBACtB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC/B,CAAC,CAAC;YAEF,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,KAAU,EAAE,EAAE;gBACjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACjC,CAAC,CAAC;YAEF,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,CAAC,KAAiB,EAAE,EAAE;gBACxC,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;gBACjF,MAAM,aAAa,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;gBACpE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;YACzC,CAAC,CAAC;SACH;IACH,CAAC;CAQF;AA/cD,gDA+cC;AAmB8B,8CAAgB;AAjB/C,MAAM,gBAAgB;IAWpB,YAAY,OAAY,EAAE,UAAqB,EAAE,OAA4B;QAV7E,eAAU,GAAW,aAAa,CAAC;QAEnC,YAAO,GAAa,GAAG,EAAE,GAAE,CAAC,CAAC;QAC7B,YAAO,GAAa,GAAG,EAAE,GAAE,CAAC,CAAC;QAC7B,cAAS,GAAa,GAAG,EAAE,GAAE,CAAC,CAAC;QAC/B,WAAM,GAAa,GAAG,EAAE,GAAE,CAAC,CAAC;QAC5B,eAAU,GAAW,yBAAa,CAAC,UAAU,CAAC;QAC9C,SAAI,GAAa,GAAG,EAAE,GAAE,CAAC,CAAC;QAC1B,QAAG,GAAwB,IAAI,CAAC;QAG9B,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC7B,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentLiveClient.d.ts","sourceRoot":"","sources":["../../../src/packages/AgentLiveClient.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACjG,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,qBAAa,eAAgB,SAAQ,kBAAkB;IAC9C,SAAS,EAAE,MAAM,CAAW;gBAEvB,OAAO,EAAE,qBAAqB,EAAE,QAAQ,GAAE,MAAmC;IAOzF;;;;;;;OAOG;IACI,eAAe,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"AgentLiveClient.d.ts","sourceRoot":"","sources":["../../../src/packages/AgentLiveClient.ts"],"names":[],"mappings":";AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACjG,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,qBAAa,eAAgB,SAAQ,kBAAkB;IAC9C,SAAS,EAAE,MAAM,CAAW;gBAEvB,OAAO,EAAE,qBAAqB,EAAE,QAAQ,GAAE,MAAmC;IAOzF;;;;;;;OAOG;IACI,eAAe,IAAI,IAAI;IAgB9B;;;OAGG;IACH,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAqClD;;;OAGG;IACH,SAAS,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAIjD;;;OAGG;IACH,SAAS,CAAC,iBAAiB,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAQ5C;;;;OAIG;IACI,SAAS,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAQhD;;;OAGG;IACI,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIzC;;;OAGG;IACI,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,GAAG,IAAI;IAI5F;;;;;;;;OAQG;IACI,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAIhD;;;OAGG;IACI,oBAAoB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,IAAI;IAIjE;;;;OAIG;IACI,SAAS,IAAI,IAAI;CAGzB"}
|
|
@@ -21,16 +21,14 @@ class AgentLiveClient extends AbstractLiveClient_1.AbstractLiveClient {
|
|
|
21
21
|
* - When a message is received, it parses the message and emits the appropriate event based on the message type.
|
|
22
22
|
*/
|
|
23
23
|
setupConnection() {
|
|
24
|
+
// Set up standard connection events (open, close, error) using abstracted method
|
|
25
|
+
this.setupConnectionEvents({
|
|
26
|
+
Open: AgentEvents_1.AgentEvents.Open,
|
|
27
|
+
Close: AgentEvents_1.AgentEvents.Close,
|
|
28
|
+
Error: AgentEvents_1.AgentEvents.Error,
|
|
29
|
+
});
|
|
30
|
+
// Set up message handling specific to agent conversations
|
|
24
31
|
if (this.conn) {
|
|
25
|
-
this.conn.onopen = () => {
|
|
26
|
-
this.emit(AgentEvents_1.AgentEvents.Open, this);
|
|
27
|
-
};
|
|
28
|
-
this.conn.onclose = (event) => {
|
|
29
|
-
this.emit(AgentEvents_1.AgentEvents.Close, event);
|
|
30
|
-
};
|
|
31
|
-
this.conn.onerror = (event) => {
|
|
32
|
-
this.emit(AgentEvents_1.AgentEvents.Error, event);
|
|
33
|
-
};
|
|
34
32
|
this.conn.onmessage = (event) => {
|
|
35
33
|
this.handleMessage(event);
|
|
36
34
|
};
|
|
@@ -41,6 +39,7 @@ class AgentLiveClient extends AbstractLiveClient_1.AbstractLiveClient {
|
|
|
41
39
|
* @param event - The MessageEvent object representing the received message.
|
|
42
40
|
*/
|
|
43
41
|
handleMessage(event) {
|
|
42
|
+
var _a, _b, _c, _d, _e, _f;
|
|
44
43
|
if (typeof event.data === "string") {
|
|
45
44
|
try {
|
|
46
45
|
const data = JSON.parse(event.data);
|
|
@@ -49,9 +48,12 @@ class AgentLiveClient extends AbstractLiveClient_1.AbstractLiveClient {
|
|
|
49
48
|
catch (error) {
|
|
50
49
|
this.emit(AgentEvents_1.AgentEvents.Error, {
|
|
51
50
|
event,
|
|
52
|
-
data: event.data,
|
|
51
|
+
data: ((_a = event.data) === null || _a === void 0 ? void 0 : _a.toString().substring(0, 200)) +
|
|
52
|
+
(((_b = event.data) === null || _b === void 0 ? void 0 : _b.toString().length) > 200 ? "..." : ""),
|
|
53
53
|
message: "Unable to parse `data` as JSON.",
|
|
54
54
|
error,
|
|
55
|
+
url: (_c = this.conn) === null || _c === void 0 ? void 0 : _c.url,
|
|
56
|
+
readyState: (_d = this.conn) === null || _d === void 0 ? void 0 : _d.readyState,
|
|
55
57
|
});
|
|
56
58
|
}
|
|
57
59
|
}
|
|
@@ -71,6 +73,9 @@ class AgentLiveClient extends AbstractLiveClient_1.AbstractLiveClient {
|
|
|
71
73
|
this.emit(AgentEvents_1.AgentEvents.Error, {
|
|
72
74
|
event,
|
|
73
75
|
message: "Received unknown data type.",
|
|
76
|
+
url: (_e = this.conn) === null || _e === void 0 ? void 0 : _e.url,
|
|
77
|
+
readyState: (_f = this.conn) === null || _f === void 0 ? void 0 : _f.readyState,
|
|
78
|
+
dataType: typeof event.data,
|
|
74
79
|
});
|
|
75
80
|
}
|
|
76
81
|
}
|