@guava-ai/guava-sdk 0.29.0 → 0.30.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.
@@ -110,6 +110,16 @@ class GuavaSocketConnectionFailed extends Error {
110
110
  }
111
111
  }
112
112
  exports.GuavaSocketConnectionFailed = GuavaSocketConnectionFailed;
113
+ /** Raised when the server rejects the websocket handshake with an HTTP response. */
114
+ class UnexpectedResponseError extends Error {
115
+ statusCode;
116
+ body;
117
+ constructor(statusCode, body) {
118
+ super(`Unexpected server response: ${statusCode ?? "unknown"}. Body: ${body || "<empty>"}`);
119
+ this.statusCode = statusCode;
120
+ this.body = body;
121
+ }
122
+ }
113
123
  const HandshakeResponse = z.union([protocol_ts_1.GuavaOpenAck, protocol_ts_1.GuavaClose]);
114
124
  function _sendMessage(ws, message) {
115
125
  ws.send(JSON.stringify(message));
@@ -213,7 +223,7 @@ let GuavaSocket = (() => {
213
223
  body += chunk.toString();
214
224
  });
215
225
  res.on("end", () => {
216
- settle(() => reject(new Error(`Unexpected server response: ${res.statusCode}. Body: ${body || "<empty>"}`)));
226
+ settle(() => reject(new UnexpectedResponseError(res.statusCode, body)));
217
227
  });
218
228
  });
219
229
  socket.once("close", () => settle(() => reject(new Error("Connection closed before open-ack"))));
@@ -268,10 +278,17 @@ let GuavaSocket = (() => {
268
278
  if (e instanceof GuavaSocketClosedError)
269
279
  throw e;
270
280
  if (attempt >= MAX_RECONNECT_ATTEMPTS) {
281
+ this._logger.error("Couldn't connect to server after %d attempts.", attempt);
271
282
  this._setCloseReason("reconnection-failed", `Couldn't connect after ${attempt} attempts.`);
272
283
  throw new GuavaSocketConnectionFailed();
273
284
  }
274
- this._logger.error("Failed to connect (attempt %d/%d). Retrying in a few seconds...\n", attempt, MAX_RECONNECT_ATTEMPTS, e);
285
+ if (e instanceof UnexpectedResponseError) {
286
+ const interpretation = e.statusCode === 401 || e.statusCode === 403 ? "Authentication Failure" : "HTTP error";
287
+ this._logger.error("Failed to connect to websocket endpoint %s due to %s. HTTP %s, Body: %s. Retrying in a few seconds...", this._connectionUrl, interpretation, e.statusCode ?? "unknown", e.body || "No response body.");
288
+ }
289
+ else {
290
+ this._logger.error("Failed to connect to %s (attempt %d/%d). Retrying in a few seconds...\n", this._connectionUrl, attempt, MAX_RECONNECT_ATTEMPTS, e);
291
+ }
275
292
  await sleep(reconnectDelay(attempt));
276
293
  }
277
294
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/socket/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/socket/client.ts"],"names":[],"mappings":"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"}
@@ -17,9 +17,10 @@ export declare class TestSession {
17
17
  private _closed;
18
18
  executedActions: string[];
19
19
  terminationReason: string | null;
20
+ readonly id: string;
20
21
  /** @internal */
21
22
  get _events(): ReadonlyArray<InjectASR | BotTTS>;
22
- constructor(ws: WebSocket, client: Client);
23
+ constructor(ws: WebSocket, client: Client, id: string);
23
24
  private _rawSend;
24
25
  say(utterance: string): void;
25
26
  recv(): Promise<TestingEvent>;
@@ -53,13 +53,15 @@ class TestSession {
53
53
  _closed = false;
54
54
  executedActions = [];
55
55
  terminationReason = null;
56
+ id;
56
57
  /** @internal */
57
58
  get _events() {
58
59
  return this._sessionEvents;
59
60
  }
60
- constructor(ws, client) {
61
+ constructor(ws, client, id) {
61
62
  this._ws = ws;
62
63
  this._client = client;
64
+ this.id = id;
63
65
  ws.on("message", (data) => {
64
66
  let event;
65
67
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/testing/session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/testing/session.ts"],"names":[],"mappings":"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"}
@@ -4,3 +4,7 @@ export declare function getCliConfigPath(): string;
4
4
  export declare function getBaseUrl(): string;
5
5
  export declare function sleep(ms: number): Promise<void>;
6
6
  export declare function fetchOrThrow(input: RequestInfo | URL, init?: RequestInit): Promise<Response>;
7
+ /** A Disposable whose disposal does nothing. Useful as a conditional no-op. */
8
+ export declare const nullDisposable: Disposable;
9
+ export declare function onAbort(signal: AbortSignal, listener: () => void): Disposable;
10
+ export declare function onSignal(handler: (signal: "SIGINT" | "SIGTERM") => void): Disposable;
package/dist/src/utils.js CHANGED
@@ -33,12 +33,14 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.DEFAULT_BASE_URL = void 0;
36
+ exports.nullDisposable = exports.DEFAULT_BASE_URL = void 0;
37
37
  exports.getPlatformConfigDir = getPlatformConfigDir;
38
38
  exports.getCliConfigPath = getCliConfigPath;
39
39
  exports.getBaseUrl = getBaseUrl;
40
40
  exports.sleep = sleep;
41
41
  exports.fetchOrThrow = fetchOrThrow;
42
+ exports.onAbort = onAbort;
43
+ exports.onSignal = onSignal;
42
44
  const fs = __importStar(require("node:fs"));
43
45
  const os = __importStar(require("node:os"));
44
46
  const path = __importStar(require("node:path"));
@@ -98,4 +100,36 @@ async function fetchOrThrow(input, init) {
98
100
  }
99
101
  return res;
100
102
  }
103
+ /** A Disposable whose disposal does nothing. Useful as a conditional no-op. */
104
+ exports.nullDisposable = { [Symbol.dispose]() { } };
105
+ function onAbort(signal, listener) {
106
+ signal.throwIfAborted();
107
+ signal.addEventListener("abort", listener, { once: true });
108
+ return {
109
+ [Symbol.dispose]() {
110
+ signal.removeEventListener("abort", listener);
111
+ },
112
+ };
113
+ }
114
+ function onSignal(handler) {
115
+ // Remove both handlers on the first signal so any second signal (of either
116
+ // type) falls through to Node's default behavior and terminates the process.
117
+ const remove = () => {
118
+ process.off("SIGINT", sigint);
119
+ process.off("SIGTERM", sigterm);
120
+ };
121
+ const sigint = () => {
122
+ remove();
123
+ handler("SIGINT");
124
+ };
125
+ const sigterm = () => {
126
+ remove();
127
+ handler("SIGTERM");
128
+ };
129
+ process.on("SIGINT", sigint);
130
+ process.on("SIGTERM", sigterm);
131
+ return {
132
+ [Symbol.dispose]: remove,
133
+ };
134
+ }
101
135
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "0.29.0";
1
+ export declare const SDK_VERSION = "0.30.0";
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SDK_VERSION = void 0;
4
- exports.SDK_VERSION = "0.29.0";
4
+ exports.SDK_VERSION = "0.30.0";
5
5
  //# sourceMappingURL=version.js.map
@@ -1,4 +1,5 @@
1
1
  import * as guava from "@guava-ai/guava-sdk";
2
+ import { getAgentNumber } from "@guava-ai/guava-sdk/example-utils";
2
3
 
3
4
  const agentA = new guava.Agent({
4
5
  name: "Grace",
@@ -12,7 +13,7 @@ const agentB = new guava.Agent({
12
13
 
13
14
  export async function run(_prog: string, _args: string[]) {
14
15
  const runner = new guava.Runner();
15
- runner.listenPhone(agentA, process.env.GUAVA_AGENT_NUMBER!);
16
+ runner.listenPhone(agentA, await getAgentNumber());
16
17
  runner.listenWebrtc(agentB);
17
18
  await runner.run();
18
19
  }
@@ -4,7 +4,7 @@ import { DocumentQA } from "@guava-ai/guava-sdk/helpers";
4
4
  import { PROPERTY_INSURANCE_POLICY } from "@guava-ai/guava-sdk/example-data";
5
5
  import { getAgentNumber } from "@guava-ai/guava-sdk/example-utils";
6
6
 
7
- const agent = new guava.Agent({
7
+ export const agent = new guava.Agent({
8
8
  organization: "Harper Valley Property Insurance",
9
9
  purpose: "Answer questions regarding property insurance policy until there are no more questions",
10
10
  });
@@ -5,7 +5,7 @@ import { getAgentNumber } from "@guava-ai/guava-sdk/example-utils";
5
5
 
6
6
  const logger = getDefaultLogger();
7
7
 
8
- const agent = new guava.Agent({
8
+ export const agent = new guava.Agent({
9
9
  name: "Mia",
10
10
  organization: "Thai Palace",
11
11
  purpose: "Helping callers join the restaurant waitlist",
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.29.0",
5
+ "version": "0.30.0",
6
6
  "type": "commonjs",
7
7
  "main": "dist/src/index.js",
8
8
  "types": "dist/src/index.d.ts",
@@ -38,16 +38,24 @@
38
38
  "@types/node": "^25.0.7",
39
39
  "@types/ws": "^8.18.1",
40
40
  "jest": "^30.4.2",
41
+ "openai": "^6.16.0",
41
42
  "ts-jest": "^29.4.11",
42
43
  "tsx": "^4.21.0",
43
44
  "typescript": "^5.9.3"
44
45
  },
46
+ "peerDependencies": {
47
+ "openai": "^6.16.0"
48
+ },
49
+ "peerDependenciesMeta": {
50
+ "openai": {
51
+ "optional": true
52
+ }
53
+ },
45
54
  "bin": {
46
55
  "guava-example": "dist/bin/example-runner.js"
47
56
  },
48
57
  "dependencies": {
49
58
  "commander": "^15.0.0",
50
- "openai": "^6.16.0",
51
59
  "ws": "^8.19.0",
52
60
  "zod": "^4.3.5"
53
61
  },
@@ -59,6 +67,7 @@
59
67
  "check-format": "biome format ./src ./examples",
60
68
  "format": "biome format --write ./src ./examples",
61
69
  "test": "jest",
70
+ "test:e2e": "jest --config jest.e2e.config.cjs",
62
71
  "check": "npm run typecheck && npm audit --omit=dev && npm run lint && npm run check-format",
63
72
  "clean": "rm -rf ./dist",
64
73
  "build": "tsx scripts/update-version.ts && tsc && chmod +x ./dist/bin/example-runner.js",
package/src/agent.ts CHANGED
@@ -34,7 +34,7 @@ import { runChat } from "./testing/chat.ts";
34
34
  import { SessionStarted } from "./testing/protocol.ts";
35
35
  import { TestSession } from "./testing/session.ts";
36
36
  import * as z from "zod";
37
- import { fetchOrThrow, getBaseUrl } from "./utils.ts";
37
+ import { fetchOrThrow, getBaseUrl, onAbort } from "./utils.ts";
38
38
  import { runWebrtcHelper } from "./webrtc-helper.ts";
39
39
 
40
40
  export const _roleplayActionSchema = z.object({
@@ -580,6 +580,7 @@ export class Agent {
580
580
  healthCtx: HealthContext,
581
581
  conn: InboundConnection,
582
582
  initialVariables: Record<string, any> = {},
583
+ drainSignal: AbortSignal = new AbortController().signal,
583
584
  ): Promise<void> {
584
585
  const url = new URL("v2/listen-inbound", this._client.getWebsocketBase());
585
586
  if ("agent_number" in conn) {
@@ -590,6 +591,8 @@ export class Agent {
590
591
  url.searchParams.set("sip_code", conn.sip_code);
591
592
  }
592
593
 
594
+ const activeCalls: Promise<void>[] = [];
595
+
593
596
  try {
594
597
  await using socket = await new GuavaSocket<
595
598
  ListenInbound.ClientMessage,
@@ -602,6 +605,10 @@ export class Agent {
602
605
  ListenInbound.decodeServerMessage,
603
606
  ).connect();
604
607
 
608
+ using _ = onAbort(drainSignal, () => {
609
+ socket.close();
610
+ });
611
+
605
612
  try {
606
613
  for await (const msg of socket) {
607
614
  switch (msg.message_type) {
@@ -638,10 +645,13 @@ export class Agent {
638
645
  case "assign-call": {
639
646
  const { call_id, call_info } = msg;
640
647
  this._logger.info("Received call (session ID: %s)", call_id);
641
- this._handleAssignedCall(call_id, call_info, socket, initialVariables).catch(
642
- (err) => {
643
- this._logger.error("Error handling assigned call %s: %s", call_id, err);
644
- },
648
+ // TODO: Possible memory leak.
649
+ activeCalls.push(
650
+ this._handleAssignedCall(call_id, call_info, socket, initialVariables).catch(
651
+ (err) => {
652
+ this._logger.error("Error handling assigned call %s: %s", call_id, err);
653
+ },
654
+ ),
645
655
  );
646
656
  break;
647
657
  }
@@ -651,6 +661,10 @@ export class Agent {
651
661
  if (!(e instanceof GuavaSocketClosedError)) throw e;
652
662
  }
653
663
  } finally {
664
+ this._logger.debug("Listener disconnected. Starting drain...");
665
+ healthCtx.draining();
666
+ await Promise.all(activeCalls);
667
+
654
668
  healthCtx.stopped();
655
669
  }
656
670
  }
@@ -735,7 +749,7 @@ export class Agent {
735
749
  });
736
750
 
737
751
  const sessionStarted = SessionStarted.parse(JSON.parse(rawFirst));
738
- const testSession = new TestSession(ws, this._client);
752
+ const testSession = new TestSession(ws, this._client, sessionStarted.session_id);
739
753
 
740
754
  const testCallInfo: CallInfo = {
741
755
  call_type: "pstn",
@@ -898,24 +912,32 @@ Choose "speak" and provide your next utterance, or choose "hangup" if the conver
898
912
  return cloned;
899
913
  }
900
914
 
901
- async _serveCampaign(healthCtx: HealthContext, campaignCode: string): Promise<void> {
902
- try {
903
- const campaign = await this._client.getCampaign(campaignCode);
915
+ async _serveCampaign(
916
+ healthCtx: HealthContext,
917
+ campaignCode: string,
918
+ drainSignal: AbortSignal = new AbortController().signal,
919
+ ): Promise<void> {
920
+ const campaign = await this._client.getCampaign(campaignCode);
904
921
 
905
- const wsUrl = new URL(`v1/serve-campaign/${campaign.id}`, this._client.getWebsocketBase());
906
- this._logger.info("Connecting to campaign '%s' (id: %s).", campaign.name, campaign.id);
922
+ const url = new URL(`v1/serve-campaign/${campaign.id}`, this._client.getWebsocketBase());
923
+ this._logger.info("Connecting to campaign '%s' (id: %s).", campaign.name, campaign.id);
907
924
 
925
+ const activeCalls: Promise<void>[] = [];
926
+
927
+ try {
908
928
  await using socket = await new GuavaSocket<DialerClientMessage, DialerServerMessage>(
909
929
  "serve-campaign",
910
- wsUrl.toString(),
930
+ url.toString(),
911
931
  this._client,
912
932
  (msg) => msg as unknown as Record<string, unknown>,
913
933
  decodeDialerServerMessage,
914
934
  ).connect();
915
935
 
916
- const activeCalls: Promise<void>[] = [];
917
-
918
936
  try {
937
+ using _ = onAbort(drainSignal, () => {
938
+ socket.close();
939
+ });
940
+
919
941
  for await (const msg of socket) {
920
942
  switch (msg.message_type) {
921
943
  case "listen-started":
@@ -931,6 +953,7 @@ Choose "speak" and provide your next utterance, or choose "hangup" if the conver
931
953
  call_id,
932
954
  logPhone,
933
955
  );
956
+ // TODO: Possible memory leak.
934
957
  activeCalls.push(
935
958
  (async () => {
936
959
  socket.send({ message_type: "controller-ready", call_id });
@@ -948,7 +971,9 @@ Choose "speak" and provide your next utterance, or choose "hangup" if the conver
948
971
  undefined,
949
972
  "v2/connect-campaign-call",
950
973
  );
951
- })(),
974
+ })().catch((err) => {
975
+ this._logger.error("Error handling campaign call %s: %s", call_id, err);
976
+ }),
952
977
  );
953
978
  break;
954
979
  }
@@ -956,11 +981,11 @@ Choose "speak" and provide your next utterance, or choose "hangup" if the conver
956
981
  }
957
982
  } catch (e) {
958
983
  if (!(e instanceof GuavaSocketClosedError)) throw e;
959
- this._logger.info("Campaign '%s' disconnected.", campaign.name);
960
984
  }
961
-
962
- await Promise.all(activeCalls);
963
985
  } finally {
986
+ this._logger.info("Campaign '%s' disconnected. Starting drain...", campaign.name);
987
+ healthCtx.draining();
988
+ await Promise.all(activeCalls);
964
989
  healthCtx.stopped();
965
990
  }
966
991
  }
package/src/runner.ts CHANGED
@@ -1,13 +1,27 @@
1
1
  import type { Agent } from "./agent.ts";
2
2
  import { MultiHealthContext, getHealthServer } from "./health.ts";
3
+ import { nullDisposable, onSignal } from "./utils.ts";
4
+ import { getDefaultLogger, type Logger } from "./logging.ts";
5
+
6
+ export interface RunOptions {
7
+ /**
8
+ * Install SIGINT/SIGTERM handlers that drain in-flight calls on the first
9
+ * signal; a second signal terminates the process. Defaults to `true`.
10
+ */
11
+ handleSignals?: boolean;
12
+ }
3
13
 
4
14
  export class Runner {
5
15
  private _healthCtx = new MultiHealthContext();
6
16
  private _tasks: Array<() => Promise<void>> = [];
17
+ private _drainController: AbortController = new AbortController();
18
+ private _logger: Logger = getDefaultLogger();
7
19
 
8
20
  listenPhone(agent: Agent, agentNumber: string): this {
9
21
  const ctx = this._healthCtx.createCtx();
10
- this._tasks.push(() => agent._listenInbound(ctx, { agent_number: agentNumber }));
22
+ this._tasks.push(() =>
23
+ agent._listenInbound(ctx, { agent_number: agentNumber }, {}, this._drainController.signal),
24
+ );
11
25
  return this;
12
26
  }
13
27
 
@@ -15,25 +29,34 @@ export class Runner {
15
29
  const ctx = this._healthCtx.createCtx();
16
30
  this._tasks.push(async () => {
17
31
  const code = webrtcCode ?? (await agent._client.createWebrtcAgent(3600));
18
- return agent._listenInbound(ctx, { webrtc_code: code });
32
+ return agent._listenInbound(ctx, { webrtc_code: code }, {}, this._drainController.signal);
19
33
  });
20
34
  return this;
21
35
  }
22
36
 
23
37
  listenSip(agent: Agent, sipCode: string): this {
24
38
  const ctx = this._healthCtx.createCtx();
25
- this._tasks.push(() => agent._listenInbound(ctx, { sip_code: sipCode }));
39
+ this._tasks.push(() =>
40
+ agent._listenInbound(ctx, { sip_code: sipCode }, {}, this._drainController.signal),
41
+ );
26
42
  return this;
27
43
  }
28
44
 
29
45
  attachCampaign(agent: Agent, campaignCode: string): this {
30
46
  const ctx = this._healthCtx.createCtx();
31
- this._tasks.push(() => agent._serveCampaign(ctx, campaignCode));
47
+ this._tasks.push(() => agent._serveCampaign(ctx, campaignCode, this._drainController.signal));
32
48
  return this;
33
49
  }
34
50
 
35
- async run(): Promise<void> {
51
+ async run({ handleSignals = true }: RunOptions = {}): Promise<void> {
36
52
  await using _server = await getHealthServer(this._healthCtx);
53
+ using _ = handleSignals
54
+ ? onSignal((signal) => {
55
+ this._logger.info(`Received ${signal} - draining calls. Send signal again to terminate.`);
56
+ this._drainController.abort();
57
+ })
58
+ : nullDisposable;
37
59
  await Promise.all(this._tasks.map((task) => task()));
60
+ this._logger.info("All tasks done.");
38
61
  }
39
62
  }
@@ -49,6 +49,16 @@ export class GuavaSocketConnectionFailed extends Error {
49
49
  }
50
50
  }
51
51
 
52
+ /** Raised when the server rejects the websocket handshake with an HTTP response. */
53
+ class UnexpectedResponseError extends Error {
54
+ constructor(
55
+ readonly statusCode: number | undefined,
56
+ readonly body: string,
57
+ ) {
58
+ super(`Unexpected server response: ${statusCode ?? "unknown"}. Body: ${body || "<empty>"}`);
59
+ }
60
+ }
61
+
52
62
  const HandshakeResponse = z.union([GuavaOpenAck, GuavaClose]);
53
63
 
54
64
  function _sendMessage(ws: WebSocket, message: GuavaClientMessage): void {
@@ -160,13 +170,7 @@ export class GuavaSocket<SendT, RecvT> {
160
170
  body += chunk.toString();
161
171
  });
162
172
  res.on("end", () => {
163
- settle(() =>
164
- reject(
165
- new Error(
166
- `Unexpected server response: ${res.statusCode}. Body: ${body || "<empty>"}`,
167
- ),
168
- ),
169
- );
173
+ settle(() => reject(new UnexpectedResponseError(res.statusCode, body)));
170
174
  });
171
175
  });
172
176
  socket.once("close", () =>
@@ -225,6 +229,7 @@ export class GuavaSocket<SendT, RecvT> {
225
229
  if (e instanceof GuavaSocketClosedError) throw e;
226
230
 
227
231
  if (attempt >= MAX_RECONNECT_ATTEMPTS) {
232
+ this._logger.error("Couldn't connect to server after %d attempts.", attempt);
228
233
  this._setCloseReason(
229
234
  "reconnection-failed",
230
235
  `Couldn't connect after ${attempt} attempts.`,
@@ -232,12 +237,25 @@ export class GuavaSocket<SendT, RecvT> {
232
237
  throw new GuavaSocketConnectionFailed();
233
238
  }
234
239
 
235
- this._logger.error(
236
- "Failed to connect (attempt %d/%d). Retrying in a few seconds...\n",
237
- attempt,
238
- MAX_RECONNECT_ATTEMPTS,
239
- e,
240
- );
240
+ if (e instanceof UnexpectedResponseError) {
241
+ const interpretation =
242
+ e.statusCode === 401 || e.statusCode === 403 ? "Authentication Failure" : "HTTP error";
243
+ this._logger.error(
244
+ "Failed to connect to websocket endpoint %s due to %s. HTTP %s, Body: %s. Retrying in a few seconds...",
245
+ this._connectionUrl,
246
+ interpretation,
247
+ e.statusCode ?? "unknown",
248
+ e.body || "No response body.",
249
+ );
250
+ } else {
251
+ this._logger.error(
252
+ "Failed to connect to %s (attempt %d/%d). Retrying in a few seconds...\n",
253
+ this._connectionUrl,
254
+ attempt,
255
+ MAX_RECONNECT_ATTEMPTS,
256
+ e,
257
+ );
258
+ }
241
259
  await sleep(reconnectDelay(attempt));
242
260
  }
243
261
  }
@@ -29,15 +29,17 @@ export class TestSession {
29
29
 
30
30
  executedActions: string[] = [];
31
31
  terminationReason: string | null = null;
32
+ readonly id: string;
32
33
 
33
34
  /** @internal */
34
35
  get _events(): ReadonlyArray<InjectASR | BotTTS> {
35
36
  return this._sessionEvents;
36
37
  }
37
38
 
38
- constructor(ws: WebSocket, client: Client) {
39
+ constructor(ws: WebSocket, client: Client, id: string) {
39
40
  this._ws = ws;
40
41
  this._client = client;
42
+ this.id = id;
41
43
 
42
44
  ws.on("message", (data) => {
43
45
  let event: TestingEvent;