@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.
@@ -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;
@@ -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
- // We start by requesting device permissions first. The idea is that, after permission has been granted,
106
- // it makes sence to play a ringback, but it doesn't make sense to do so during the permission prompt.
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
- // hangup() was called during the permission prompt.
124
- if (this.state === "ended") {
125
- this._teardown();
126
- return;
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({ type: "auth", body: this._webrtcCode });
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._send({ type: "connect", body: {} });
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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"}
@@ -29,3 +29,10 @@ export declare class JingleTone implements ConnectingTone {
29
29
  private playPulse;
30
30
  private playNote;
31
31
  }
32
+ export interface Tone {
33
+ play(): void;
34
+ }
35
+ export declare class LeavingTone implements Tone {
36
+ play(): void;
37
+ private playNote;
38
+ }
@@ -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.25;
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":"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"}
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.38.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 && tsx scripts/update-readme.ts",
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": {
@@ -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.38.0";
1
+ export const SDK_VERSION = "0.40.0";