@pipecat-ai/websocket-transport 1.1.0 → 1.2.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 +12 -13
- package/dist/index.d.ts +13 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +48 -11
- package/dist/index.js.map +1 -1
- package/dist/index.module.js +48 -11
- package/dist/index.module.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -28,25 +28,24 @@ The WebSocketTransport class provides a Websocket transport layer establishing a
|
|
|
28
28
|
### Basic Setup
|
|
29
29
|
|
|
30
30
|
```javascript
|
|
31
|
-
import {
|
|
32
|
-
import { WebSocketTransport } from "@pipecat-ai/
|
|
31
|
+
import { PipecatClient } from "@pipecat-ai/client-js";
|
|
32
|
+
import { WebSocketTransport } from "@pipecat-ai/websocket-transport";
|
|
33
33
|
|
|
34
|
-
const
|
|
35
|
-
|
|
36
|
-
const rtviClient = new RTVIClient({
|
|
37
|
-
transport,
|
|
34
|
+
const pcClient = new PipecatClient({
|
|
35
|
+
transport: new WebSocketTransport(),
|
|
38
36
|
enableMic: true, // Default microphone on
|
|
39
37
|
callbacks: {
|
|
40
38
|
// Event handlers
|
|
41
39
|
},
|
|
42
|
-
params: {
|
|
43
|
-
baseUrl,
|
|
44
|
-
endpoints
|
|
45
|
-
}
|
|
46
|
-
// ...
|
|
47
40
|
});
|
|
48
41
|
|
|
49
|
-
|
|
42
|
+
pcClient.connect({
|
|
43
|
+
ws_url: 'https://your.websocket/endpoint'
|
|
44
|
+
});
|
|
45
|
+
// OR...
|
|
46
|
+
pcClient.connect({
|
|
47
|
+
endpoint: 'https://your-server/connect', // endpoint to return ws_url
|
|
48
|
+
});
|
|
50
49
|
```
|
|
51
50
|
|
|
52
51
|
## API Reference
|
|
@@ -64,7 +63,7 @@ The transport can be in one of these states:
|
|
|
64
63
|
|
|
65
64
|
## Events
|
|
66
65
|
|
|
67
|
-
The transport implements the various [
|
|
66
|
+
The transport implements the various [Pipecat event handlers](https://docs.pipecat.ai/client/js/api-reference/callbacks). Check out the docs or samples for more info.
|
|
68
67
|
|
|
69
68
|
## Error Handling
|
|
70
69
|
|
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ declare abstract class MediaManager {
|
|
|
7
7
|
protected _callbacks: RTVIEventCallbacks;
|
|
8
8
|
protected _micEnabled: boolean;
|
|
9
9
|
protected _camEnabled: boolean;
|
|
10
|
+
protected _supportsScreenShare: boolean;
|
|
10
11
|
constructor();
|
|
11
12
|
setUserAudioCallback(userAudioCallback: (data: ArrayBuffer) => void): void;
|
|
12
13
|
setClientOptions(options: PipecatClientOptions, override?: boolean): void;
|
|
@@ -26,9 +27,12 @@ declare abstract class MediaManager {
|
|
|
26
27
|
abstract get selectedSpeaker(): MediaDeviceInfo | Record<string, never>;
|
|
27
28
|
abstract enableMic(enable: boolean): void;
|
|
28
29
|
abstract enableCam(enable: boolean): void;
|
|
30
|
+
abstract enableScreenShare(enable: boolean): void;
|
|
29
31
|
abstract get isCamEnabled(): boolean;
|
|
30
32
|
abstract get isMicEnabled(): boolean;
|
|
33
|
+
abstract get isSharingScreen(): boolean;
|
|
31
34
|
abstract tracks(): Tracks;
|
|
35
|
+
get supportsScreenShare(): boolean;
|
|
32
36
|
}
|
|
33
37
|
export class WavMediaManager extends MediaManager {
|
|
34
38
|
constructor(recorderChunkSize?: number | undefined, recorderSampleRate?: number | undefined);
|
|
@@ -48,8 +52,10 @@ export class WavMediaManager extends MediaManager {
|
|
|
48
52
|
get selectedSpeaker(): MediaDeviceInfo | Record<string, never>;
|
|
49
53
|
enableMic(enable: boolean): Promise<void>;
|
|
50
54
|
enableCam(enable: boolean): void;
|
|
55
|
+
enableScreenShare(enable: boolean): void;
|
|
51
56
|
get isCamEnabled(): boolean;
|
|
52
57
|
get isMicEnabled(): boolean;
|
|
58
|
+
get isSharingScreen(): boolean;
|
|
53
59
|
tracks(): Tracks;
|
|
54
60
|
}
|
|
55
61
|
export class DailyMediaManager extends MediaManager {
|
|
@@ -70,8 +76,10 @@ export class DailyMediaManager extends MediaManager {
|
|
|
70
76
|
get selectedSpeaker(): MediaDeviceInfo | Record<string, never>;
|
|
71
77
|
enableMic(enable: boolean): Promise<void>;
|
|
72
78
|
enableCam(enable: boolean): void;
|
|
79
|
+
enableScreenShare(enable: boolean): void;
|
|
73
80
|
get isCamEnabled(): boolean;
|
|
74
81
|
get isMicEnabled(): boolean;
|
|
82
|
+
get isSharingScreen(): boolean;
|
|
75
83
|
tracks(): Tracks;
|
|
76
84
|
protected handleTrackStarted(event: DailyEventObjectTrack): Promise<void>;
|
|
77
85
|
protected handleTrackStopped(event: DailyEventObjectTrack): void;
|
|
@@ -194,13 +202,15 @@ export class ProtobufFrameSerializer implements WebSocketSerializer {
|
|
|
194
202
|
}>;
|
|
195
203
|
}
|
|
196
204
|
type WebSocketTransportOptions = {
|
|
205
|
+
/** @deprecated Use wsUrl instead */
|
|
197
206
|
ws_url?: string;
|
|
198
|
-
|
|
199
|
-
recorderSampleRate?: number;
|
|
200
|
-
playerSampleRate?: number;
|
|
207
|
+
wsUrl?: string;
|
|
201
208
|
};
|
|
202
209
|
interface WebSocketTransportConstructorOptions extends WebSocketTransportOptions {
|
|
203
210
|
mediaManager?: MediaManager;
|
|
211
|
+
serializer?: WebSocketSerializer;
|
|
212
|
+
recorderSampleRate?: number;
|
|
213
|
+
playerSampleRate?: number;
|
|
204
214
|
}
|
|
205
215
|
export class WebSocketTransport extends Transport {
|
|
206
216
|
constructor(opts?: WebSocketTransportConstructorOptions);
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;ASUA,QAAO,QAAQ;IACb,UAAkB,kBAAkB,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IAClE,UAAkB,QAAQ,EAAE,oBAAoB,CAAC;IACjD,SAAS,CAAC,UAAU,EAAE,kBAAkB,CAAM;IAE9C,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC;IAC/B,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC
|
|
1
|
+
{"mappings":"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","sources":["transports/lib/wavtools/lib/wav_packer.js","transports/lib/wavtools/lib/analysis/constants.js","transports/lib/wavtools/lib/analysis/audio_analysis.js","transports/lib/wavtools/lib/worklets/stream_processor.js","transports/lib/wavtools/lib/wav_stream_player.js","transports/lib/wavtools/lib/worklets/audio_processor.js","transports/lib/wavtools/lib/wav_recorder.js","transports/lib/wavtools/lib/mediastream_recorder.js","transports/lib/wavtools/index.js","transports/lib/media-mgmt/mediaManager.ts","transports/lib/media-mgmt/dailyMediaManager.ts","transports/lib/websocket-utils/reconnectingWebSocket.ts","transports/websocket-transport/src/src/serializers/websocketSerializer.ts","transports/websocket-transport/src/src/generated/proto/frames.ts","transports/websocket-transport/src/src/serializers/protobufSerializer.ts","transports/websocket-transport/src/src/webSocketTransport.ts","transports/websocket-transport/src/src/serializers/twilioSerializer.ts","transports/websocket-transport/src/src/index.ts","transports/websocket-transport/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"// export * from \"./realTimeWebSocketTransport\";\n// export * from \"../../../lib/wavtools/dist/index.d.ts\";\n\nimport { WavMediaManager } from \"../../../lib/media-mgmt/mediaManager\";\nimport { DailyMediaManager } from \"../../../lib/media-mgmt/dailyMediaManager\";\nimport { WebSocketTransport } from \"./webSocketTransport.ts\";\nimport { ProtobufFrameSerializer } from \"./serializers/protobufSerializer.ts\";\nimport { TwilioSerializer } from \"./serializers/twilioSerializer.ts\";\n\nexport {\n WavMediaManager,\n DailyMediaManager,\n WebSocketTransport,\n ProtobufFrameSerializer,\n TwilioSerializer,\n};\n"],"names":[],"version":3,"file":"index.d.ts.map"}
|
package/dist/index.js
CHANGED
|
@@ -1613,6 +1613,7 @@ var $23859655abfc5f5c$export$4a0c46dbbe2ddb67 = /** @class */ function() {
|
|
|
1613
1613
|
this._callbacks = {};
|
|
1614
1614
|
this._micEnabled = true;
|
|
1615
1615
|
this._camEnabled = false;
|
|
1616
|
+
this._supportsScreenShare = false;
|
|
1616
1617
|
}
|
|
1617
1618
|
MediaManager.prototype.setUserAudioCallback = function(userAudioCallback) {
|
|
1618
1619
|
this._userAudioCallback = userAudioCallback;
|
|
@@ -1626,6 +1627,13 @@ var $23859655abfc5f5c$export$4a0c46dbbe2ddb67 = /** @class */ function() {
|
|
|
1626
1627
|
this._micEnabled = (_b = options.enableMic) !== null && _b !== void 0 ? _b : true;
|
|
1627
1628
|
this._camEnabled = (_c = options.enableCam) !== null && _c !== void 0 ? _c : false;
|
|
1628
1629
|
};
|
|
1630
|
+
Object.defineProperty(MediaManager.prototype, "supportsScreenShare", {
|
|
1631
|
+
get: function() {
|
|
1632
|
+
return this._supportsScreenShare;
|
|
1633
|
+
},
|
|
1634
|
+
enumerable: false,
|
|
1635
|
+
configurable: true
|
|
1636
|
+
});
|
|
1629
1637
|
return MediaManager;
|
|
1630
1638
|
}();
|
|
1631
1639
|
var $23859655abfc5f5c$export$45c5b9bfba2f6304 = /** @class */ function(_super) {
|
|
@@ -1926,6 +1934,10 @@ var $23859655abfc5f5c$export$45c5b9bfba2f6304 = /** @class */ function(_super) {
|
|
|
1926
1934
|
// TODO: Video not supported yet
|
|
1927
1935
|
console.warn("WavMediaManager does not support video input.");
|
|
1928
1936
|
};
|
|
1937
|
+
WavMediaManager.prototype.enableScreenShare = function(enable) {
|
|
1938
|
+
// TODO: Screensharing not supported yet
|
|
1939
|
+
console.warn("WavMediaManager does not support screen sharing.");
|
|
1940
|
+
};
|
|
1929
1941
|
Object.defineProperty(WavMediaManager.prototype, "isCamEnabled", {
|
|
1930
1942
|
get: function() {
|
|
1931
1943
|
// TODO: Video not supported yet
|
|
@@ -1941,6 +1953,14 @@ var $23859655abfc5f5c$export$45c5b9bfba2f6304 = /** @class */ function(_super) {
|
|
|
1941
1953
|
enumerable: false,
|
|
1942
1954
|
configurable: true
|
|
1943
1955
|
});
|
|
1956
|
+
Object.defineProperty(WavMediaManager.prototype, "isSharingScreen", {
|
|
1957
|
+
get: function() {
|
|
1958
|
+
// TODO: Screensharing not supported yet
|
|
1959
|
+
return false;
|
|
1960
|
+
},
|
|
1961
|
+
enumerable: false,
|
|
1962
|
+
configurable: true
|
|
1963
|
+
});
|
|
1944
1964
|
WavMediaManager.prototype.tracks = function() {
|
|
1945
1965
|
var _a;
|
|
1946
1966
|
var tracks = (_a = this._wavRecorder.stream) === null || _a === void 0 ? void 0 : _a.getTracks()[0];
|
|
@@ -2177,6 +2197,7 @@ var $1c088932741d88e6$export$c95c65abc5f47125 = /** @class */ function(_super) {
|
|
|
2177
2197
|
_this.onTrackStartedCallback = onTrackStartedCallback;
|
|
2178
2198
|
_this.onTrackStoppedCallback = onTrackStoppedCallback;
|
|
2179
2199
|
_this._recorderChunkSize = recorderChunkSize;
|
|
2200
|
+
_this._supportsScreenShare = true;
|
|
2180
2201
|
_this._daily = (_a = (0, ($parcel$interopDefault($fkNis$dailycodailyjs))).getCallInstance()) !== null && _a !== void 0 ? _a : (0, ($parcel$interopDefault($fkNis$dailycodailyjs))).createCallObject();
|
|
2181
2202
|
if (enableRecording) _this._mediaStreamRecorder = new (0, $7cef7a69bdf8f84d$export$2934cf2d25c67a48)({
|
|
2182
2203
|
sampleRate: recorderSampleRate
|
|
@@ -2543,6 +2564,10 @@ var $1c088932741d88e6$export$c95c65abc5f47125 = /** @class */ function(_super) {
|
|
|
2543
2564
|
this._camEnabled = enable;
|
|
2544
2565
|
this._daily.setLocalVideo(enable);
|
|
2545
2566
|
};
|
|
2567
|
+
DailyMediaManager.prototype.enableScreenShare = function(enable) {
|
|
2568
|
+
if (enable) this._daily.startScreenShare();
|
|
2569
|
+
else this._daily.stopScreenShare();
|
|
2570
|
+
};
|
|
2546
2571
|
Object.defineProperty(DailyMediaManager.prototype, "isCamEnabled", {
|
|
2547
2572
|
get: function() {
|
|
2548
2573
|
return this._daily.localVideo();
|
|
@@ -2557,13 +2582,22 @@ var $1c088932741d88e6$export$c95c65abc5f47125 = /** @class */ function(_super) {
|
|
|
2557
2582
|
enumerable: false,
|
|
2558
2583
|
configurable: true
|
|
2559
2584
|
});
|
|
2585
|
+
Object.defineProperty(DailyMediaManager.prototype, "isSharingScreen", {
|
|
2586
|
+
get: function() {
|
|
2587
|
+
return this._daily.localScreenAudio() || this._daily.localScreenVideo();
|
|
2588
|
+
},
|
|
2589
|
+
enumerable: false,
|
|
2590
|
+
configurable: true
|
|
2591
|
+
});
|
|
2560
2592
|
DailyMediaManager.prototype.tracks = function() {
|
|
2561
|
-
var _a, _b, _c, _d, _e, _f;
|
|
2593
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
2562
2594
|
var participants = this._daily.participants();
|
|
2563
2595
|
return {
|
|
2564
2596
|
local: {
|
|
2565
2597
|
audio: (_c = (_b = (_a = participants === null || participants === void 0 ? void 0 : participants.local) === null || _a === void 0 ? void 0 : _a.tracks) === null || _b === void 0 ? void 0 : _b.audio) === null || _c === void 0 ? void 0 : _c.persistentTrack,
|
|
2566
|
-
|
|
2598
|
+
screenAudio: (_f = (_e = (_d = participants === null || participants === void 0 ? void 0 : participants.local) === null || _d === void 0 ? void 0 : _d.tracks) === null || _e === void 0 ? void 0 : _e.screenAudio) === null || _f === void 0 ? void 0 : _f.persistentTrack,
|
|
2599
|
+
screenVideo: (_j = (_h = (_g = participants === null || participants === void 0 ? void 0 : participants.local) === null || _g === void 0 ? void 0 : _g.tracks) === null || _h === void 0 ? void 0 : _h.screenVideo) === null || _j === void 0 ? void 0 : _j.persistentTrack,
|
|
2600
|
+
video: (_m = (_l = (_k = participants === null || participants === void 0 ? void 0 : participants.local) === null || _k === void 0 ? void 0 : _k.tracks) === null || _l === void 0 ? void 0 : _l.video) === null || _m === void 0 ? void 0 : _m.persistentTrack
|
|
2567
2601
|
}
|
|
2568
2602
|
};
|
|
2569
2603
|
};
|
|
@@ -4054,9 +4088,9 @@ class $bee70417e8ead9ed$export$de21836fc42c6f9c extends (0, $fkNis$pipecataiclie
|
|
|
4054
4088
|
super();
|
|
4055
4089
|
this._wsUrl = null;
|
|
4056
4090
|
this.audioQueue = [];
|
|
4057
|
-
this._wsUrl = opts.ws_url
|
|
4058
|
-
this._recorderSampleRate = opts.recorderSampleRate
|
|
4059
|
-
this._mediaManager = opts.mediaManager || new (0, $1c088932741d88e6$export$c95c65abc5f47125)(true, true, undefined, undefined, 512, this._recorderSampleRate, opts.playerSampleRate
|
|
4091
|
+
this._wsUrl = opts.wsUrl ?? opts.ws_url ?? null;
|
|
4092
|
+
this._recorderSampleRate = opts.recorderSampleRate ?? $bee70417e8ead9ed$export$de21836fc42c6f9c.RECORDER_SAMPLE_RATE;
|
|
4093
|
+
this._mediaManager = opts.mediaManager || new (0, $1c088932741d88e6$export$c95c65abc5f47125)(true, true, undefined, undefined, 512, this._recorderSampleRate, opts.playerSampleRate ?? $bee70417e8ead9ed$export$de21836fc42c6f9c.PLAYER_SAMPLE_RATE);
|
|
4060
4094
|
this._mediaManager.setUserAudioCallback(this.handleUserAudioStream.bind(this));
|
|
4061
4095
|
this._ws = null;
|
|
4062
4096
|
this._serializer = opts.serializer || new (0, $49316c2028553492$export$4b2026f8e11b148a)();
|
|
@@ -4076,20 +4110,23 @@ class $bee70417e8ead9ed$export$de21836fc42c6f9c extends (0, $fkNis$pipecataiclie
|
|
|
4076
4110
|
_validateConnectionParams(connectParams) {
|
|
4077
4111
|
if (connectParams === undefined || connectParams === null) return undefined;
|
|
4078
4112
|
if (typeof connectParams !== "object") throw new (0, $fkNis$pipecataiclientjs.RTVIError)("Invalid connection parameters");
|
|
4113
|
+
const snakeToCamel = (snakeCaseString)=>{
|
|
4114
|
+
return snakeCaseString.replace(/_([a-z,A-Z])/g, (_, letter)=>letter.toUpperCase());
|
|
4115
|
+
};
|
|
4079
4116
|
const fixedParams = {};
|
|
4080
4117
|
for (const [key, val] of Object.entries(connectParams)){
|
|
4081
|
-
|
|
4082
|
-
if (
|
|
4083
|
-
if (typeof val !== "string") throw new (0, $fkNis$pipecataiclientjs.RTVIError)(`Invalid type for
|
|
4084
|
-
|
|
4085
|
-
|
|
4118
|
+
const camelKey = snakeToCamel(key);
|
|
4119
|
+
if (camelKey === "wsUrl") {
|
|
4120
|
+
if (typeof val !== "string") throw new (0, $fkNis$pipecataiclientjs.RTVIError)(`Invalid type for wsUrl: expected string, got ${typeof val}`);
|
|
4121
|
+
} else throw new (0, $fkNis$pipecataiclientjs.RTVIError)(`Unrecognized connection parameter: ${key}.`);
|
|
4122
|
+
fixedParams[camelKey] = val;
|
|
4086
4123
|
}
|
|
4087
4124
|
return fixedParams;
|
|
4088
4125
|
}
|
|
4089
4126
|
async _connect(connectParams) {
|
|
4090
4127
|
if (this._abortController?.signal.aborted) return;
|
|
4091
4128
|
this.state = "connecting";
|
|
4092
|
-
this._wsUrl = connectParams?.ws_url
|
|
4129
|
+
this._wsUrl = connectParams?.wsUrl ?? connectParams?.ws_url ?? this._wsUrl;
|
|
4093
4130
|
if (!this._wsUrl) {
|
|
4094
4131
|
(0, $fkNis$pipecataiclientjs.logger).error("No url provided for connection");
|
|
4095
4132
|
this.state = "error";
|