@guava-ai/guava-sdk 0.38.0 → 0.40.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/README.md +7 -5
- package/dist/guava-webrtc.esm.min.js +1 -1
- package/dist/guava-webrtc.esm.min.js.map +3 -3
- package/dist/guava-webrtc.min.js +1 -1
- package/dist/guava-webrtc.min.js.map +3 -3
- package/dist/src/socket/call-info.d.ts +2 -0
- package/dist/src/socket/call-info.js +1 -0
- package/dist/src/socket/call-info.js.map +1 -1
- package/dist/src/socket/listen-inbound.d.ts +2 -0
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/webrtc/index.d.ts +56 -4
- package/dist/src/webrtc/index.js +153 -25
- package/dist/src/webrtc/index.js.map +1 -1
- package/dist/src/webrtc/tones.d.ts +7 -0
- package/dist/src/webrtc/tones.js +54 -2
- package/dist/src/webrtc/tones.js.map +1 -1
- package/package.json +3 -3
- package/src/socket/call-info.ts +1 -0
- package/src/version.ts +1 -1
- package/src/webrtc/index.ts +194 -26
- package/src/webrtc/tones.ts +85 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { type ConnectingTone } from "./tones.ts";
|
|
2
|
-
export { type ConnectingTone, JingleTone, RingbackTone } from "./tones.ts";
|
|
1
|
+
import { type ConnectingTone, type Tone } from "./tones.ts";
|
|
2
|
+
export { type ConnectingTone, JingleTone, RingbackTone, LeavingTone, type Tone } from "./tones.ts";
|
|
3
3
|
export type CallState = "not-started" | "starting" | "waiting-for-permission" | "connecting" | "connected" | "ended";
|
|
4
|
-
export type CallErrorCode = "MICROPHONE_ACCESS_FAILED" | "CONNECTION_FAILED" | "AUTHENTICATION_FAILED" | "PROTOCOL_ERROR" | "SERVER_ERROR" | "REMOTE_HANGUP";
|
|
4
|
+
export type CallErrorCode = "MICROPHONE_ACCESS_FAILED" | "CONNECTION_FAILED" | "AUTHENTICATION_FAILED" | "PROTOCOL_ERROR" | "SERVER_ERROR" | "REMOTE_HANGUP" | "CONNECTION_TIMEOUT";
|
|
5
5
|
export declare class CallError extends Error {
|
|
6
6
|
readonly code: CallErrorCode;
|
|
7
7
|
constructor(code: CallErrorCode, message: string, options?: ErrorOptions);
|
|
@@ -11,28 +11,80 @@ export declare class Call {
|
|
|
11
11
|
private _error?;
|
|
12
12
|
private readonly _stateHandlers;
|
|
13
13
|
private readonly _remoteStreamHandlers;
|
|
14
|
+
private readonly _messageHandlers;
|
|
14
15
|
private readonly _webrtcCode;
|
|
15
16
|
private readonly _sockUrl;
|
|
16
17
|
private readonly _remoteAudio;
|
|
17
18
|
private readonly _connectingTone?;
|
|
19
|
+
private readonly _leavingTone?;
|
|
20
|
+
private readonly _connectionTimeoutMs?;
|
|
21
|
+
private readonly _customPayload;
|
|
22
|
+
private readonly _customAudioTrack?;
|
|
23
|
+
private _connectionTimer?;
|
|
18
24
|
private _sock?;
|
|
25
|
+
private readonly _chatSockUrl;
|
|
26
|
+
private readonly _chatSessionId;
|
|
27
|
+
private _chatSock?;
|
|
28
|
+
private _chatReady;
|
|
29
|
+
private _pendingChatMessages;
|
|
19
30
|
private _localStream?;
|
|
31
|
+
private _micMuted;
|
|
20
32
|
private _peerConnection?;
|
|
21
33
|
private _remoteStream?;
|
|
22
34
|
private _iceServers?;
|
|
23
35
|
private _pendingStart?;
|
|
24
|
-
constructor({ webrtcCode, baseUrl, connectingTone, }: {
|
|
36
|
+
constructor({ webrtcCode, baseUrl, connectingTone, leavingTone, connectionTimeoutMs, customPayload, audioTrack, }: {
|
|
37
|
+
/** Code used to authenticate with the signaling server. */
|
|
25
38
|
webrtcCode: string;
|
|
39
|
+
/** Base URL of the Guava server. Defaults to `https://app.goguava.ai/`. */
|
|
26
40
|
baseUrl?: string;
|
|
41
|
+
/** Played while the call is in the "connecting" state. Defaults to {@link JingleTone}. */
|
|
27
42
|
connectingTone?: ConnectingTone | "disabled";
|
|
43
|
+
/** Played when the call ends. Defaults to {@link LeavingTone}. */
|
|
44
|
+
leavingTone?: Tone | "disabled";
|
|
45
|
+
/** Max time in the "connecting" state before the call fails with CONNECTION_TIMEOUT. Defaults to 30 seconds. */
|
|
46
|
+
connectionTimeoutMs?: number | "disabled";
|
|
47
|
+
/** A custom payload that is forwarded to the agent at the start of the call. */
|
|
48
|
+
customPayload?: Record<string, unknown>;
|
|
49
|
+
/**
|
|
50
|
+
* An audio track to send. Supplying this skips requesting the microphone with `getUserMedia()`.
|
|
51
|
+
* We use `track.clone()` to create a clone of this track. The caller is responsible for calling
|
|
52
|
+
* `track.stop()` on their original reference when it is no longer needed.
|
|
53
|
+
* Because we use a clone, use {@link Call.setMicrophoneMuted} to mute the call, rather than setting
|
|
54
|
+
* `enabled` on the original track.
|
|
55
|
+
*/
|
|
56
|
+
audioTrack?: MediaStreamTrack;
|
|
28
57
|
});
|
|
29
58
|
get state(): CallState;
|
|
30
59
|
get error(): CallError | undefined;
|
|
31
60
|
get remoteStream(): MediaStream | undefined;
|
|
32
61
|
onStateChange(handler: (state: CallState) => void): () => void;
|
|
33
62
|
onRemoteStream(handler: (stream: MediaStream) => void): () => void;
|
|
63
|
+
/**
|
|
64
|
+
* Registers a handler for messages the agent sends with `call.send_webrtc_message()`.
|
|
65
|
+
* @param handler - Called with each message's payload.
|
|
66
|
+
* @returns A function that unregisters the handler.
|
|
67
|
+
*/
|
|
68
|
+
onMessage(handler: (payload: Record<string, unknown>) => void): () => void;
|
|
34
69
|
private _setState;
|
|
35
70
|
start(): Promise<void>;
|
|
71
|
+
/**
|
|
72
|
+
* Mutes or unmutes the microphone. Can be called before the call starts.
|
|
73
|
+
* @param muted - Whether the microphone should be muted.
|
|
74
|
+
*/
|
|
75
|
+
setMicrophoneMuted(muted: boolean): void;
|
|
76
|
+
/**
|
|
77
|
+
* Mutes or unmutes playback of the remote audio. Can be called before the call starts.
|
|
78
|
+
* @param muted - Whether the remote audio should be muted.
|
|
79
|
+
*/
|
|
80
|
+
setRemoteMuted(muted: boolean): void;
|
|
81
|
+
/**
|
|
82
|
+
* Sends a message to the agent, delivered to its `on_webrtc_message` handler.
|
|
83
|
+
* Messages sent before the message channel is ready are queued.
|
|
84
|
+
* @param payload - A JSON-serializable object.
|
|
85
|
+
*/
|
|
86
|
+
sendMessage(payload: Record<string, unknown>): void;
|
|
87
|
+
private _openChatSocket;
|
|
36
88
|
hangup(): Promise<void>;
|
|
37
89
|
private _send;
|
|
38
90
|
private _onMessage;
|
package/dist/src/webrtc/index.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Call = exports.CallError = exports.RingbackTone = exports.JingleTone = void 0;
|
|
3
|
+
exports.Call = exports.CallError = exports.LeavingTone = exports.RingbackTone = exports.JingleTone = void 0;
|
|
4
4
|
const tones_ts_1 = require("./tones.js");
|
|
5
5
|
var tones_ts_2 = require("./tones.js");
|
|
6
6
|
Object.defineProperty(exports, "JingleTone", { enumerable: true, get: function () { return tones_ts_2.JingleTone; } });
|
|
7
7
|
Object.defineProperty(exports, "RingbackTone", { enumerable: true, get: function () { return tones_ts_2.RingbackTone; } });
|
|
8
|
+
Object.defineProperty(exports, "LeavingTone", { enumerable: true, get: function () { return tones_ts_2.LeavingTone; } });
|
|
8
9
|
class CallError extends Error {
|
|
9
10
|
code;
|
|
10
11
|
constructor(code, message, options) {
|
|
@@ -29,28 +30,51 @@ class Call {
|
|
|
29
30
|
_error;
|
|
30
31
|
_stateHandlers = new Set();
|
|
31
32
|
_remoteStreamHandlers = new Set();
|
|
33
|
+
_messageHandlers = new Set();
|
|
32
34
|
_webrtcCode;
|
|
33
35
|
_sockUrl;
|
|
34
36
|
_remoteAudio;
|
|
35
37
|
_connectingTone;
|
|
38
|
+
_leavingTone;
|
|
39
|
+
_connectionTimeoutMs;
|
|
40
|
+
_customPayload;
|
|
41
|
+
_customAudioTrack;
|
|
42
|
+
_connectionTimer;
|
|
36
43
|
_sock;
|
|
44
|
+
_chatSockUrl;
|
|
45
|
+
// Links the chat socket to this call's session on the server.
|
|
46
|
+
_chatSessionId = crypto.randomUUID();
|
|
47
|
+
_chatSock;
|
|
48
|
+
_chatReady = false;
|
|
49
|
+
// Messages sent before the chat socket is ready.
|
|
50
|
+
_pendingChatMessages = [];
|
|
37
51
|
_localStream;
|
|
52
|
+
_micMuted = false;
|
|
38
53
|
_peerConnection;
|
|
39
54
|
_remoteStream;
|
|
40
55
|
_iceServers;
|
|
41
56
|
// Settles the promise returned by start().
|
|
42
57
|
_pendingStart;
|
|
43
|
-
constructor({ webrtcCode, baseUrl = "https://app.goguava.ai/", connectingTone = new tones_ts_1.JingleTone(), }) {
|
|
58
|
+
constructor({ webrtcCode, baseUrl = "https://app.goguava.ai/", connectingTone = new tones_ts_1.JingleTone(), leavingTone = new tones_ts_1.LeavingTone(), connectionTimeoutMs = 30_000, customPayload = {}, audioTrack, }) {
|
|
44
59
|
this._webrtcCode = webrtcCode;
|
|
60
|
+
this._customPayload = customPayload;
|
|
61
|
+
this._customAudioTrack = audioTrack;
|
|
45
62
|
if (connectingTone !== "disabled") {
|
|
46
63
|
this._connectingTone = connectingTone;
|
|
47
64
|
}
|
|
65
|
+
if (leavingTone !== "disabled") {
|
|
66
|
+
this._leavingTone = leavingTone;
|
|
67
|
+
}
|
|
68
|
+
if (connectionTimeoutMs !== "disabled") {
|
|
69
|
+
this._connectionTimeoutMs = connectionTimeoutMs;
|
|
70
|
+
}
|
|
48
71
|
this._sockUrl = new URL("/webrtc/", baseUrl);
|
|
49
72
|
const sockProtocol = SOCKET_PROTOCOLS[this._sockUrl.protocol];
|
|
50
73
|
if (sockProtocol === undefined) {
|
|
51
74
|
throw new Error(`Unsupported baseUrl protocol: ${this._sockUrl.protocol}`);
|
|
52
75
|
}
|
|
53
76
|
this._sockUrl.protocol = sockProtocol;
|
|
77
|
+
this._chatSockUrl = new URL("/webrtc-chat/", this._sockUrl);
|
|
54
78
|
this._remoteAudio = document.createElement("audio");
|
|
55
79
|
this._remoteAudio.autoplay = true;
|
|
56
80
|
}
|
|
@@ -80,16 +104,38 @@ class Call {
|
|
|
80
104
|
this._remoteStreamHandlers.delete(handler);
|
|
81
105
|
};
|
|
82
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* Registers a handler for messages the agent sends with `call.send_webrtc_message()`.
|
|
109
|
+
* @param handler - Called with each message's payload.
|
|
110
|
+
* @returns A function that unregisters the handler.
|
|
111
|
+
*/
|
|
112
|
+
onMessage(handler) {
|
|
113
|
+
this._messageHandlers.add(handler);
|
|
114
|
+
return () => {
|
|
115
|
+
this._messageHandlers.delete(handler);
|
|
116
|
+
};
|
|
117
|
+
}
|
|
83
118
|
_setState(state) {
|
|
84
119
|
if (state === this._state) {
|
|
85
120
|
return;
|
|
86
121
|
}
|
|
122
|
+
if (state === "ended") {
|
|
123
|
+
this._leavingTone?.play();
|
|
124
|
+
}
|
|
87
125
|
this._state = state;
|
|
88
126
|
if (state === "connecting") {
|
|
89
127
|
this._connectingTone?.start();
|
|
128
|
+
if (this._connectionTimeoutMs !== undefined) {
|
|
129
|
+
this._connectionTimer = setTimeout(() => {
|
|
130
|
+
this._send({ type: "hangup" });
|
|
131
|
+
this._end(new CallError("CONNECTION_TIMEOUT", "Timed out connecting the call."));
|
|
132
|
+
}, this._connectionTimeoutMs);
|
|
133
|
+
}
|
|
90
134
|
}
|
|
91
135
|
else {
|
|
92
136
|
this._connectingTone?.stop();
|
|
137
|
+
clearTimeout(this._connectionTimer);
|
|
138
|
+
this._connectionTimer = undefined;
|
|
93
139
|
}
|
|
94
140
|
for (const handler of this._stateHandlers) {
|
|
95
141
|
handler(state);
|
|
@@ -102,28 +148,36 @@ class Call {
|
|
|
102
148
|
this._setState("starting");
|
|
103
149
|
// Add the audio element.
|
|
104
150
|
document.body.appendChild(this._remoteAudio);
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
const permissionTimer = setTimeout(() => {
|
|
108
|
-
this._setState("waiting-for-permission");
|
|
109
|
-
}, 500);
|
|
110
|
-
try {
|
|
111
|
-
this._localStream = await navigator.mediaDevices.getUserMedia({ audio: true, video: false });
|
|
112
|
-
}
|
|
113
|
-
catch (error) {
|
|
114
|
-
const callError = new CallError("MICROPHONE_ACCESS_FAILED", "Failed to access microphone.", {
|
|
115
|
-
cause: error,
|
|
116
|
-
});
|
|
117
|
-
this._end(callError);
|
|
118
|
-
throw callError;
|
|
119
|
-
}
|
|
120
|
-
finally {
|
|
121
|
-
clearTimeout(permissionTimer);
|
|
151
|
+
if (this._customAudioTrack !== undefined) {
|
|
152
|
+
this._localStream = new MediaStream([this._customAudioTrack.clone()]);
|
|
122
153
|
}
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
154
|
+
else {
|
|
155
|
+
// We start by requesting device permissions first. The idea is that, after permission has been granted,
|
|
156
|
+
// it makes sence to play a ringback, but it doesn't make sense to do so during the permission prompt.
|
|
157
|
+
const permissionTimer = setTimeout(() => {
|
|
158
|
+
this._setState("waiting-for-permission");
|
|
159
|
+
}, 500);
|
|
160
|
+
try {
|
|
161
|
+
this._localStream = await navigator.mediaDevices.getUserMedia({
|
|
162
|
+
audio: true,
|
|
163
|
+
video: false,
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
catch (error) {
|
|
167
|
+
const callError = new CallError("MICROPHONE_ACCESS_FAILED", "Failed to access microphone.", {
|
|
168
|
+
cause: error,
|
|
169
|
+
});
|
|
170
|
+
this._end(callError);
|
|
171
|
+
throw callError;
|
|
172
|
+
}
|
|
173
|
+
finally {
|
|
174
|
+
clearTimeout(permissionTimer);
|
|
175
|
+
}
|
|
176
|
+
// hangup() was called during the permission prompt.
|
|
177
|
+
if (this.state === "ended") {
|
|
178
|
+
this._teardown();
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
127
181
|
}
|
|
128
182
|
// Now open and authenticate the signaling socket.
|
|
129
183
|
this._setState("connecting"); // UI can start playing rinback tones here.
|
|
@@ -132,7 +186,13 @@ class Call {
|
|
|
132
186
|
});
|
|
133
187
|
this._sock = new WebSocket(this._sockUrl);
|
|
134
188
|
this._sock.onopen = () => {
|
|
135
|
-
this._send({
|
|
189
|
+
this._send({
|
|
190
|
+
type: "auth",
|
|
191
|
+
body: JSON.stringify({
|
|
192
|
+
webrtc_code: this._webrtcCode,
|
|
193
|
+
chat_session_id: this._chatSessionId,
|
|
194
|
+
}),
|
|
195
|
+
});
|
|
136
196
|
};
|
|
137
197
|
this._sock.onmessage = (event) => {
|
|
138
198
|
this._onMessage(JSON.parse(event.data));
|
|
@@ -142,6 +202,62 @@ class Call {
|
|
|
142
202
|
};
|
|
143
203
|
await started;
|
|
144
204
|
}
|
|
205
|
+
/**
|
|
206
|
+
* Mutes or unmutes the microphone. Can be called before the call starts.
|
|
207
|
+
* @param muted - Whether the microphone should be muted.
|
|
208
|
+
*/
|
|
209
|
+
setMicrophoneMuted(muted) {
|
|
210
|
+
this._micMuted = muted;
|
|
211
|
+
for (const track of this._localStream?.getAudioTracks() ?? []) {
|
|
212
|
+
track.enabled = !muted;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
/**
|
|
216
|
+
* Mutes or unmutes playback of the remote audio. Can be called before the call starts.
|
|
217
|
+
* @param muted - Whether the remote audio should be muted.
|
|
218
|
+
*/
|
|
219
|
+
setRemoteMuted(muted) {
|
|
220
|
+
this._remoteAudio.muted = muted;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Sends a message to the agent, delivered to its `on_webrtc_message` handler.
|
|
224
|
+
* Messages sent before the message channel is ready are queued.
|
|
225
|
+
* @param payload - A JSON-serializable object.
|
|
226
|
+
*/
|
|
227
|
+
sendMessage(payload) {
|
|
228
|
+
if (this._state === "not-started" || this._state === "ended") {
|
|
229
|
+
throw new Error(`sendMessage() called while the call is ${this._state}.`);
|
|
230
|
+
}
|
|
231
|
+
const message = JSON.stringify({ type: "webrtc-message", payload });
|
|
232
|
+
if (this._chatReady && this._chatSock !== undefined) {
|
|
233
|
+
this._chatSock.send(message);
|
|
234
|
+
}
|
|
235
|
+
else {
|
|
236
|
+
this._pendingChatMessages.push(message);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
_openChatSocket() {
|
|
240
|
+
this._chatSock = new WebSocket(this._chatSockUrl);
|
|
241
|
+
this._chatSock.onopen = () => {
|
|
242
|
+
this._chatSock?.send(JSON.stringify({ webrtc_code: this._webrtcCode, chat_session_id: this._chatSessionId }));
|
|
243
|
+
};
|
|
244
|
+
this._chatSock.onmessage = (event) => {
|
|
245
|
+
const message = JSON.parse(event.data);
|
|
246
|
+
// The server sends "ready" once the call session is found.
|
|
247
|
+
if (message.type === "ready" && !this._chatReady) {
|
|
248
|
+
this._chatReady = true;
|
|
249
|
+
for (const pending of this._pendingChatMessages) {
|
|
250
|
+
this._chatSock?.send(pending);
|
|
251
|
+
}
|
|
252
|
+
this._pendingChatMessages = [];
|
|
253
|
+
}
|
|
254
|
+
else if (message.command_type === "send-webrtc-message") {
|
|
255
|
+
for (const handler of this._messageHandlers) {
|
|
256
|
+
handler(message.payload ?? {});
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
};
|
|
260
|
+
}
|
|
145
261
|
async hangup() {
|
|
146
262
|
if (this._state === "not-started") {
|
|
147
263
|
throw new Error(`hangup() called before start().`);
|
|
@@ -165,7 +281,8 @@ class Call {
|
|
|
165
281
|
return;
|
|
166
282
|
}
|
|
167
283
|
this._iceServers = message.ice_servers;
|
|
168
|
-
this.
|
|
284
|
+
this._openChatSocket();
|
|
285
|
+
this._send({ type: "connect", body: { custom_payload: this._customPayload } });
|
|
169
286
|
void this._connectPeer();
|
|
170
287
|
break;
|
|
171
288
|
case "desc":
|
|
@@ -242,6 +359,7 @@ class Call {
|
|
|
242
359
|
}
|
|
243
360
|
};
|
|
244
361
|
for (const track of this._localStream.getAudioTracks()) {
|
|
362
|
+
track.enabled = !this._micMuted;
|
|
245
363
|
this._peerConnection.addTrack(track);
|
|
246
364
|
}
|
|
247
365
|
try {
|
|
@@ -276,12 +394,21 @@ class Call {
|
|
|
276
394
|
}
|
|
277
395
|
}
|
|
278
396
|
_teardown() {
|
|
397
|
+
// Close the signaling socket.
|
|
279
398
|
if (this._sock) {
|
|
280
399
|
// Don't fire close handlers for a socket we closed ourselves.
|
|
281
400
|
this._sock.onclose = null;
|
|
282
401
|
this._sock.close();
|
|
283
402
|
this._sock = undefined;
|
|
284
403
|
}
|
|
404
|
+
// Close the chat socket.
|
|
405
|
+
if (this._chatSock) {
|
|
406
|
+
this._chatSock.close();
|
|
407
|
+
this._chatSock = undefined;
|
|
408
|
+
}
|
|
409
|
+
this._chatReady = false;
|
|
410
|
+
this._pendingChatMessages = [];
|
|
411
|
+
// Close the peer connection.
|
|
285
412
|
if (this._peerConnection !== undefined) {
|
|
286
413
|
this._peerConnection.close();
|
|
287
414
|
this._peerConnection = undefined;
|
|
@@ -291,6 +418,7 @@ class Call {
|
|
|
291
418
|
}
|
|
292
419
|
this._localStream = undefined;
|
|
293
420
|
this._remoteStream = undefined;
|
|
421
|
+
// Remove the audio element.
|
|
294
422
|
this._remoteAudio.srcObject = null;
|
|
295
423
|
this._remoteAudio.remove();
|
|
296
424
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/webrtc/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/webrtc/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/webrtc/tones.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.JingleTone = exports.RingbackTone = void 0;
|
|
3
|
+
exports.LeavingTone = exports.JingleTone = exports.RingbackTone = void 0;
|
|
4
4
|
// Seconds from the start of bar 0 to the given 0-indexed beat.
|
|
5
5
|
function beatTime(beat, bpm) {
|
|
6
6
|
return beat * (60 / bpm);
|
|
@@ -59,7 +59,7 @@ class JingleTone {
|
|
|
59
59
|
// Audio-clock time of the next bar to schedule.
|
|
60
60
|
nextBarStart = 0;
|
|
61
61
|
// Configuration
|
|
62
|
-
volume = 0.
|
|
62
|
+
volume = 0.3;
|
|
63
63
|
bpm = 120;
|
|
64
64
|
beatsPerBar = 4;
|
|
65
65
|
// Delay before the first note, so near-instant connections stay silent.
|
|
@@ -169,4 +169,56 @@ class JingleTone {
|
|
|
169
169
|
}
|
|
170
170
|
}
|
|
171
171
|
exports.JingleTone = JingleTone;
|
|
172
|
+
class LeavingTone {
|
|
173
|
+
play() {
|
|
174
|
+
const ctx = new AudioContext();
|
|
175
|
+
if (ctx.state === "suspended") {
|
|
176
|
+
void ctx.resume();
|
|
177
|
+
}
|
|
178
|
+
const now = ctx.currentTime;
|
|
179
|
+
// First note: D4
|
|
180
|
+
const first = this.playNote(ctx, {
|
|
181
|
+
frequency: 293.665,
|
|
182
|
+
startTime: now,
|
|
183
|
+
attack: 0.065,
|
|
184
|
+
decay: 0.085,
|
|
185
|
+
volume: 0.2,
|
|
186
|
+
});
|
|
187
|
+
// Second note: A3, starts 139ms later
|
|
188
|
+
const second = this.playNote(ctx, {
|
|
189
|
+
frequency: 220.0,
|
|
190
|
+
startTime: now + 0.139,
|
|
191
|
+
attack: 0.018,
|
|
192
|
+
decay: 0.075,
|
|
193
|
+
volume: 0.2,
|
|
194
|
+
});
|
|
195
|
+
void Promise.all([first, second]).then(() => ctx.close());
|
|
196
|
+
}
|
|
197
|
+
// Resolves once the note has finished playing.
|
|
198
|
+
playNote(ctx, { frequency, startTime, attack, decay, volume, }) {
|
|
199
|
+
const oscillator = ctx.createOscillator();
|
|
200
|
+
const gain = ctx.createGain();
|
|
201
|
+
oscillator.type = "sine";
|
|
202
|
+
oscillator.frequency.setValueAtTime(frequency, startTime);
|
|
203
|
+
// Smooth onset
|
|
204
|
+
gain.gain.setValueAtTime(0, startTime);
|
|
205
|
+
gain.gain.linearRampToValueAtTime(volume, startTime + attack);
|
|
206
|
+
// Exponential decay
|
|
207
|
+
const peakTime = startTime + attack;
|
|
208
|
+
const endTime = peakTime + decay * 5;
|
|
209
|
+
gain.gain.setTargetAtTime(0.00001, peakTime, decay);
|
|
210
|
+
oscillator.connect(gain);
|
|
211
|
+
gain.connect(ctx.destination);
|
|
212
|
+
oscillator.start(startTime);
|
|
213
|
+
oscillator.stop(endTime);
|
|
214
|
+
return new Promise((resolve) => {
|
|
215
|
+
oscillator.onended = () => {
|
|
216
|
+
oscillator.disconnect();
|
|
217
|
+
gain.disconnect();
|
|
218
|
+
resolve();
|
|
219
|
+
};
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
exports.LeavingTone = LeavingTone;
|
|
172
224
|
//# sourceMappingURL=tones.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tones.js","sourceRoot":"","sources":["../../../src/webrtc/tones.ts"],"names":[],"mappings":";;;AAAA,+DAA+D;AAC/D,SAAS,QAAQ,CAAC,IAAY,EAAE,GAAW;IACzC,OAAO,IAAI,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC;AAC3B,CAAC;AAOD,wDAAwD;AACxD,MAAa,YAAY;IACf,OAAO,GAAwB,IAAI,CAAC;IACpC,UAAU,GAA0C,IAAI,CAAC;IAEhD,MAAM,GAAG,IAAI,CAAC;IACd,SAAS,GAAG,CAAC,CAAC;IACd,aAAa,GAAG,CAAC,CAAC;IACnC,wEAAwE;IACvD,UAAU,GAAG,GAAG,CAAC;IAElC,KAAK;QACH,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QAEzB,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAElC,KAAK,MAAM,SAAS,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAC9C,UAAU,CAAC,SAAS,CAAC,KAAK,GAAG,SAAS,CAAC;YACvC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACzB,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;QAED,IAAI,QAAQ,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;QACrD,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YACvD,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC;QACjC,CAAC,CAAC;QACF,IAAI,EAAE,CAAC;QACP,IAAI,CAAC,UAAU,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE1B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,6CAA6C;QAC7C,KAAK,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACtB,CAAC;CACF;AA/CD,oCA+CC;AAED,MAAa,UAAU;IACb,OAAO,GAAwB,IAAI,CAAC;IACpC,UAAU,GAAoB,IAAI,CAAC;IACnC,UAAU,GAA0C,IAAI,CAAC;IACzD,OAAO,GAAG,KAAK,CAAC;IAChB,UAAU,GAAG,CAAC,CAAC;IACvB,gDAAgD;IACxC,YAAY,GAAG,CAAC,CAAC;IAEzB,gBAAgB;IACC,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"tones.js","sourceRoot":"","sources":["../../../src/webrtc/tones.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@guava-ai/guava-sdk",
|
|
3
3
|
"description": "The official TypeScript SDK for building Guava voice agents.",
|
|
4
4
|
"homepage": "https://docs.goguava.ai/typescript-sdk/",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.40.0",
|
|
6
6
|
"type": "commonjs",
|
|
7
7
|
"main": "dist/src/index.js",
|
|
8
8
|
"types": "dist/src/index.d.ts",
|
|
@@ -76,11 +76,11 @@
|
|
|
76
76
|
"test:e2e": "jest --config jest.e2e.config.cjs",
|
|
77
77
|
"check": "npm run typecheck && npm audit --omit=dev && npm run lint && npm run check-format",
|
|
78
78
|
"clean": "rm -rf ./dist",
|
|
79
|
-
"build": "tsx scripts/update-version.ts && tsc && chmod +x ./dist/bin/example-runner.js && npm run build-webrtc
|
|
79
|
+
"build": "tsx scripts/update-version.ts && tsc && chmod +x ./dist/bin/example-runner.js && npm run build-webrtc",
|
|
80
80
|
"build-webrtc": "npm run build-webrtc:esm && npm run build-webrtc:iife",
|
|
81
81
|
"build-webrtc:esm": "esbuild src/webrtc/index.ts --bundle --minify --sourcemap --target=es2020 --format=esm --outfile=dist/guava-webrtc.esm.min.js",
|
|
82
82
|
"build-webrtc:iife": "esbuild src/webrtc/index.ts --bundle --minify --sourcemap --target=es2020 --format=iife --global-name=Guava --outfile=dist/guava-webrtc.min.js",
|
|
83
|
-
"prepare": "npm run clean && npm run build",
|
|
83
|
+
"prepare": "npm run clean && npm run build && if [ \"$npm_command\" = publish ]; then tsx scripts/update-readme.ts; fi",
|
|
84
84
|
"release": "npm publish --ignore-scripts=false"
|
|
85
85
|
},
|
|
86
86
|
"publishConfig": {
|
package/src/socket/call-info.ts
CHANGED
|
@@ -11,6 +11,7 @@ export type PSTNCallInfo = z.infer<typeof PSTNCallInfo>;
|
|
|
11
11
|
export const WebRTCCallInfo = z.object({
|
|
12
12
|
call_type: z.literal("webrtc"),
|
|
13
13
|
webrtc_code: z.string(),
|
|
14
|
+
custom_payload: z.record(z.string(), z.unknown()).default({}),
|
|
14
15
|
});
|
|
15
16
|
export type WebRTCCallInfo = z.infer<typeof WebRTCCallInfo>;
|
|
16
17
|
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const SDK_VERSION = "0.
|
|
1
|
+
export const SDK_VERSION = "0.40.0";
|