@guava-ai/guava-sdk 0.28.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.
- package/dist/examples/multiple-agents.js +2 -1
- package/dist/examples/multiple-agents.js.map +1 -1
- package/dist/examples/property-insurance.d.ts +2 -0
- package/dist/examples/property-insurance.js +8 -7
- package/dist/examples/property-insurance.js.map +1 -1
- package/dist/examples/restaurant-waitlist.d.ts +2 -0
- package/dist/examples/restaurant-waitlist.js +10 -9
- package/dist/examples/restaurant-waitlist.js.map +1 -1
- package/dist/src/agent.d.ts +2 -2
- package/dist/src/agent.js +68 -43
- package/dist/src/agent.js.map +1 -1
- package/dist/src/health.d.ts +4 -1
- package/dist/src/health.js +14 -2
- package/dist/src/health.js.map +1 -1
- package/dist/src/runner.d.ts +10 -1
- package/dist/src/runner.js +16 -5
- package/dist/src/runner.js.map +1 -1
- package/dist/src/socket/client.js +19 -2
- package/dist/src/socket/client.js.map +1 -1
- package/dist/src/testing/session.d.ts +2 -1
- package/dist/src/testing/session.js +3 -1
- package/dist/src/testing/session.js.map +1 -1
- package/dist/src/utils.d.ts +4 -0
- package/dist/src/utils.js +35 -1
- package/dist/src/utils.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/examples/multiple-agents.ts +2 -1
- package/examples/property-insurance.ts +1 -1
- package/examples/restaurant-waitlist.ts +1 -1
- package/package.json +11 -2
- package/src/agent.ts +43 -18
- package/src/health.ts +17 -3
- package/src/runner.ts +28 -5
- package/src/socket/client.ts +31 -13
- package/src/testing/session.ts +3 -1
- package/src/utils.ts +38 -0
- package/src/version.ts +1 -1
package/dist/src/runner.d.ts
CHANGED
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
import type { Agent } from "./agent.ts";
|
|
2
|
+
export interface RunOptions {
|
|
3
|
+
/**
|
|
4
|
+
* Install SIGINT/SIGTERM handlers that drain in-flight calls on the first
|
|
5
|
+
* signal; a second signal terminates the process. Defaults to `true`.
|
|
6
|
+
*/
|
|
7
|
+
handleSignals?: boolean;
|
|
8
|
+
}
|
|
2
9
|
export declare class Runner {
|
|
3
10
|
private _healthCtx;
|
|
4
11
|
private _tasks;
|
|
12
|
+
private _drainController;
|
|
13
|
+
private _logger;
|
|
5
14
|
listenPhone(agent: Agent, agentNumber: string): this;
|
|
6
15
|
listenWebrtc(agent: Agent, webrtcCode?: string): this;
|
|
7
16
|
listenSip(agent: Agent, sipCode: string): this;
|
|
8
17
|
attachCampaign(agent: Agent, campaignCode: string): this;
|
|
9
|
-
run(): Promise<void>;
|
|
18
|
+
run({ handleSignals }?: RunOptions): Promise<void>;
|
|
10
19
|
}
|
package/dist/src/runner.js
CHANGED
|
@@ -54,37 +54,48 @@ var __disposeResources = (this && this.__disposeResources) || (function (Suppres
|
|
|
54
54
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
55
55
|
exports.Runner = void 0;
|
|
56
56
|
const health_ts_1 = require("./health.js");
|
|
57
|
+
const utils_ts_1 = require("./utils.js");
|
|
58
|
+
const logging_ts_1 = require("./logging.js");
|
|
57
59
|
class Runner {
|
|
58
60
|
_healthCtx = new health_ts_1.MultiHealthContext();
|
|
59
61
|
_tasks = [];
|
|
62
|
+
_drainController = new AbortController();
|
|
63
|
+
_logger = (0, logging_ts_1.getDefaultLogger)();
|
|
60
64
|
listenPhone(agent, agentNumber) {
|
|
61
65
|
const ctx = this._healthCtx.createCtx();
|
|
62
|
-
this._tasks.push(() => agent._listenInbound(ctx, { agent_number: agentNumber }));
|
|
66
|
+
this._tasks.push(() => agent._listenInbound(ctx, { agent_number: agentNumber }, {}, this._drainController.signal));
|
|
63
67
|
return this;
|
|
64
68
|
}
|
|
65
69
|
listenWebrtc(agent, webrtcCode) {
|
|
66
70
|
const ctx = this._healthCtx.createCtx();
|
|
67
71
|
this._tasks.push(async () => {
|
|
68
72
|
const code = webrtcCode ?? (await agent._client.createWebrtcAgent(3600));
|
|
69
|
-
return agent._listenInbound(ctx, { webrtc_code: code });
|
|
73
|
+
return agent._listenInbound(ctx, { webrtc_code: code }, {}, this._drainController.signal);
|
|
70
74
|
});
|
|
71
75
|
return this;
|
|
72
76
|
}
|
|
73
77
|
listenSip(agent, sipCode) {
|
|
74
78
|
const ctx = this._healthCtx.createCtx();
|
|
75
|
-
this._tasks.push(() => agent._listenInbound(ctx, { sip_code: sipCode }));
|
|
79
|
+
this._tasks.push(() => agent._listenInbound(ctx, { sip_code: sipCode }, {}, this._drainController.signal));
|
|
76
80
|
return this;
|
|
77
81
|
}
|
|
78
82
|
attachCampaign(agent, campaignCode) {
|
|
79
83
|
const ctx = this._healthCtx.createCtx();
|
|
80
|
-
this._tasks.push(() => agent._serveCampaign(ctx, campaignCode));
|
|
84
|
+
this._tasks.push(() => agent._serveCampaign(ctx, campaignCode, this._drainController.signal));
|
|
81
85
|
return this;
|
|
82
86
|
}
|
|
83
|
-
async run() {
|
|
87
|
+
async run({ handleSignals = true } = {}) {
|
|
84
88
|
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
85
89
|
try {
|
|
86
90
|
const _server = __addDisposableResource(env_1, await (0, health_ts_1.getHealthServer)(this._healthCtx), true);
|
|
91
|
+
const _ = __addDisposableResource(env_1, handleSignals
|
|
92
|
+
? (0, utils_ts_1.onSignal)((signal) => {
|
|
93
|
+
this._logger.info(`Received ${signal} - draining calls. Send signal again to terminate.`);
|
|
94
|
+
this._drainController.abort();
|
|
95
|
+
})
|
|
96
|
+
: utils_ts_1.nullDisposable, false);
|
|
87
97
|
await Promise.all(this._tasks.map((task) => task()));
|
|
98
|
+
this._logger.info("All tasks done.");
|
|
88
99
|
}
|
|
89
100
|
catch (e_1) {
|
|
90
101
|
env_1.error = e_1;
|
package/dist/src/runner.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/runner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2CAAkE;
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/runner.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2CAAkE;AAClE,yCAAsD;AACtD,6CAA6D;AAU7D,MAAa,MAAM;IACT,UAAU,GAAG,IAAI,8BAAkB,EAAE,CAAC;IACtC,MAAM,GAA+B,EAAE,CAAC;IACxC,gBAAgB,GAAoB,IAAI,eAAe,EAAE,CAAC;IAC1D,OAAO,GAAW,IAAA,6BAAgB,GAAE,CAAC;IAE7C,WAAW,CAAC,KAAY,EAAE,WAAmB;QAC3C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CACpB,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAC3F,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,KAAY,EAAE,UAAmB;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAC1B,MAAM,IAAI,GAAG,UAAU,IAAI,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;YACzE,OAAO,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC5F,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,KAAY,EAAE,OAAe;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CACpB,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CACnF,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc,CAAC,KAAY,EAAE,YAAoB;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9F,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,KAAiB,EAAE;;;YACjD,MAAY,OAAO,kCAAG,MAAM,IAAA,2BAAe,EAAC,IAAI,CAAC,UAAU,CAAC,OAAA,CAAC;YAC7D,MAAM,CAAC,kCAAG,aAAa;gBACrB,CAAC,CAAC,IAAA,mBAAQ,EAAC,CAAC,MAAM,EAAE,EAAE;oBAClB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,MAAM,oDAAoD,CAAC,CAAC;oBAC1F,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;gBAChC,CAAC,CAAC;gBACJ,CAAC,CAAC,yBAAc,QAAA,CAAC;YACnB,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YACrD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;;;;;;;;;;;KACtC;CACF;AAhDD,wBAgDC"}
|
|
@@ -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
|
|
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
|
-
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA2B;AAE3B,6CAA0C;AAC1C,uCAAyB;AAGzB,8CAAiD;AACjD,yCAA0C;AAC1C,kDAAkD;AAClD,+CAMuB;AAEvB,SAAS,KAAK,CAAC,EAAU;IACvB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,cAAc,CAAC,OAAe;IACrC,IAAI,OAAO,IAAI,CAAC;QAAE,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7D,IAAI,OAAO,IAAI,CAAC;QAAE,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7D,OAAO,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC;AACjD,CAAC;AAED,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAClC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AACtC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAChC,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAEtC,MAAa,sBAAuB,SAAQ,KAAK;IACtC,MAAM,CAAc;IACpB,WAAW,CAAS;IAE7B,YAAY,MAAoB,EAAE,WAAoB;QACpD,MAAM,CAAC,GAAG,MAAM,IAAI,SAAS,CAAC;QAC9B,MAAM,CAAC,GAAG,WAAW,IAAI,0BAA0B,CAAC;QACpD,KAAK,CAAC,gCAAgC,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;CACF;AAXD,wDAWC;AAED,MAAa,2BAA4B,SAAQ,KAAK;IACpD;QACE,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACzE,CAAC;CACF;AAJD,kEAIC;AAED,oFAAoF;AACpF,MAAM,uBAAwB,SAAQ,KAAK;IAE9B;IACA;IAFX,YACW,UAA8B,EAC9B,IAAY;QAErB,KAAK,CAAC,+BAA+B,UAAU,IAAI,SAAS,WAAW,IAAI,IAAI,SAAS,EAAE,CAAC,CAAC;QAHnF,eAAU,GAAV,UAAU,CAAoB;QAC9B,SAAI,GAAJ,IAAI,CAAQ;IAGvB,CAAC;CACF;AAED,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,0BAAY,EAAE,wBAAU,CAAC,CAAC,CAAC;AAE9D,SAAS,YAAY,CAAC,EAAa,EAAE,OAA2B;IAC9D,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;AACnC,CAAC;IAGY,WAAW;4BADvB,8BAAe,CAAC,UAAU,EAAE;;;;;;;;YAC7B,6KAoZC;;;YApZY,uDAAW;;QA6BH,KAAK;QACL,cAAc;QACd,OAAO;QACP,WAAW;QACX,aAAa;QACb,cAAc;QAjChB,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC/B,aAAa,GAAG,IAAA,yBAAW,EAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChD,YAAY,GAAG,IAAI,uBAAY,CAAC,EAAE,CAAC,CAAC;QACpC,OAAO,CAAS;QAEzB,iBAAiB,GAAG,CAAC,CAAC;QACtB,iBAAiB,GAAG,CAAC,CAAC;QACtB,UAAU,GAA6C,EAAE,CAAC;QAE1D,MAAM,GAAuC,cAAc,CAAC;QAC5D,GAAG,CAAa;QAChB,YAAY,GAAG,KAAK,CAAC;QAErB,YAAY,CAAe;QAC3B,iBAAiB,CAAU;QAEnC,6FAA6F;QACrF,WAAW,GAAmC,EAAE,CAAC;QACjD,YAAY,GAGf,EAAE,CAAC;QAEA,aAAa,CAAc;QAC3B,YAAY,CAAsB;QAClC,qBAAqB,CAAiB;QAE9C,YACmB,KAAa,EACb,cAAsB,EACtB,OAAe,EACf,WAAoD,EACpD,aAA0D,EAC1D,cAAuB,EACxC,MAAe;YANE,UAAK,GAAL,KAAK,CAAQ;YACb,mBAAc,GAAd,cAAc,CAAQ;YACtB,YAAO,GAAP,OAAO,CAAQ;YACf,gBAAW,GAAX,WAAW,CAAyC;YACpD,kBAAa,GAAb,aAAa,CAA6C;YAC1D,mBAAc,GAAd,cAAc,CAAS;YAGxC,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,IAAA,6BAAgB,GAAE,CAAC;QAC9C,CAAC;QAED,MAAM;YACJ,OAAO,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC;QAChC,CAAC;QAEO,eAAe,CAAC,MAAmB,EAAE,WAAmB;YAC9D,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBACpC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;gBAC3B,IAAI,CAAC,iBAAiB,GAAG,WAAW,CAAC;YACvC,CAAC;QACH,CAAC;QAEO,eAAe,CAAC,oBAA4B;YAClD,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,IAAI,oBAAoB,EAAE,CAAC;gBACpF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC;QAEO,YAAY,CAAC,OAAgC;YACnD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;YACzC,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAEO,iBAAiB;YACvB,MAAM,GAAG,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAClF,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACvC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;YACD,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;QACzB,CAAC;QAEO,KAAK,CAAC,gBAAgB,CAAC,QAAiB;YAC9C,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,sBAAsB,EAAE,OAAO,EAAE,EAAE,CAAC;gBACnE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAE7C,IAAI,CAAC;oBACH,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,qCAAqC,EACrC,IAAI,CAAC,cAAc,EACnB,OAAO,EACP,sBAAsB,CACvB,CAAC;oBACF,MAAM,EAAE,GAAG,MAAM,IAAI,OAAO,CAAY,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;wBAC1D,MAAM,MAAM,GAAG,IAAI,YAAS,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;wBAC/D,IAAI,OAAO,GAAG,KAAK,CAAC;wBAEpB,MAAM,MAAM,GAAG,CAAC,EAAc,EAAE,EAAE;4BAChC,IAAI,CAAC,OAAO,EAAE,CAAC;gCACb,OAAO,GAAG,IAAI,CAAC;gCACf,MAAM,CAAC,kBAAkB,EAAE,CAAC;gCAC5B,EAAE,EAAE,CAAC;4BACP,CAAC;wBACH,CAAC,CAAC;wBAEF,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;wBACzD,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,GAAoB,EAAE,EAAE;4BAChE,IAAI,IAAI,GAAG,EAAE,CAAC;4BACd,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gCAC/B,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;4BAC3B,CAAC,CAAC,CAAC;4BACH,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;gCACjB,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,uBAAuB,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;4BAC1E,CAAC,CAAC,CAAC;wBACL,CAAC,CAAC,CAAC;wBACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CACxB,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC,CAAC,CACrE,CAAC;wBAEF,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE;4BACvB,YAAY,CAAC,MAAM,EAAE;gCACnB,YAAY,EAAE,MAAM;gCACpB,IAAI,EAAE,IAAI,CAAC,KAAK;gCAChB,aAAa,EAAE,IAAI,CAAC,aAAa;gCACjC,SAAS,EAAE,QAAQ;gCACnB,kBAAkB,EAAE,IAAI,CAAC,iBAAiB;6BAC3C,CAAC,CAAC;4BAEH,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;gCACjC,MAAM,CAAC,GAAG,EAAE;oCACV,MAAM,CAAC,KAAK,EAAE,CAAC;oCACf,MAAM,CAAC,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC,CAAC;gCACtD,CAAC,CAAC,CAAC;4BACL,CAAC,EAAE,MAAM,CAAC,CAAC;4BAEX,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;gCAC9B,YAAY,CAAC,UAAU,CAAC,CAAC;gCACzB,IAAI,CAAC;oCACH,MAAM,GAAG,GAAG,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oCAEjE,IAAI,GAAG,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;wCACjC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;wCAClD,MAAM,CAAC,GAAG,EAAE;4CACV,MAAM,CAAC,KAAK,EAAE,CAAC;4CACf,MAAM,CAAC,IAAI,sBAAsB,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;wCAClE,CAAC,CAAC,CAAC;oCACL,CAAC;yCAAM,CAAC;wCACN,iDAAiD;wCACjD,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;4CAC7C,IAAI,GAAG,GAAG,GAAG,CAAC,kBAAkB,EAAE,CAAC;gDACjC,YAAY,CAAC,MAAM,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;4CAC5E,CAAC;wCACH,CAAC;wCACD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;wCAC7C,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;oCAChC,CAAC;gCACH,CAAC;gCAAC,OAAO,CAAC,EAAE,CAAC;oCACX,MAAM,CAAC,GAAG,EAAE;wCACV,MAAM,CAAC,KAAK,EAAE,CAAC;wCACf,MAAM,CAAC,CAAC,CAAC,CAAC;oCACZ,CAAC,CAAC,CAAC;gCACL,CAAC;4BACH,CAAC,CAAC,CAAC;wBACL,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC,CAAC;oBAEH,OAAO,EAAE,CAAC;gBACZ,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,CAAC,YAAY,sBAAsB;wBAAE,MAAM,CAAC,CAAC;oBAEjD,IAAI,OAAO,IAAI,sBAAsB,EAAE,CAAC;wBACtC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,OAAO,CAAC,CAAC;wBAC7E,IAAI,CAAC,eAAe,CAClB,qBAAqB,EACrB,0BAA0B,OAAO,YAAY,CAC9C,CAAC;wBACF,MAAM,IAAI,2BAA2B,EAAE,CAAC;oBAC1C,CAAC;oBAED,IAAI,CAAC,YAAY,uBAAuB,EAAE,CAAC;wBACzC,MAAM,cAAc,GAClB,CAAC,CAAC,UAAU,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,KAAK,GAAG,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,YAAY,CAAC;wBACzF,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,uGAAuG,EACvG,IAAI,CAAC,cAAc,EACnB,cAAc,EACd,CAAC,CAAC,UAAU,IAAI,SAAS,EACzB,CAAC,CAAC,IAAI,IAAI,mBAAmB,CAC9B,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,OAAO,CAAC,KAAK,CAChB,yEAAyE,EACzE,IAAI,CAAC,cAAc,EACnB,OAAO,EACP,sBAAsB,EACtB,CAAC,CACF,CAAC;oBACJ,CAAC;oBACD,MAAM,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;YAED,MAAM,IAAI,2BAA2B,EAAE,CAAC;QAC1C,CAAC;QAEO,cAAc,CAAC,EAAa;YAClC,iEAAiE;YACjE,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;gBACtC,IAAI,SAAwC,CAAC;gBAC7C,IAAI,SAAwC,CAAC;gBAE7C,MAAM,cAAc,GAAG,GAAG,EAAE;oBAC1B,YAAY,CAAC,SAAS,CAAC,CAAC;oBACxB,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC1B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;wBAC9E,YAAY,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBACvE,cAAc,EAAE,CAAC;oBACnB,CAAC,EAAE,gBAAgB,CAAC,CAAC;gBACvB,CAAC,CAAC;gBAEF,MAAM,cAAc,GAAG,GAAG,EAAE;oBAC1B,YAAY,CAAC,SAAS,CAAC,CAAC;oBACxB,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC1B,IAAI,CAAC,OAAO,CAAC,IAAI,CACf,oFAAoF,EACpF,sBAAsB,CACvB,CAAC;wBACF,EAAE,CAAC,SAAS,EAAE,CAAC;oBACjB,CAAC,EAAE,sBAAsB,CAAC,CAAC;gBAC7B,CAAC,CAAC;gBAEF,cAAc,EAAE,CAAC;gBACjB,cAAc,EAAE,CAAC;gBAEjB,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,EAAE;oBACxB,cAAc,EAAE,CAAC;oBACjB,cAAc,EAAE,CAAC;oBAEjB,IAAI,GAAuC,CAAC;oBAC5C,IAAI,CAAC;wBACH,GAAG,GAAG,gCAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;oBAC9D,CAAC;oBAAC,MAAM,CAAC;wBACP,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;wBAC/D,OAAO;oBACT,CAAC;oBAED,QAAQ,GAAG,CAAC,YAAY,EAAE,CAAC;wBACzB,KAAK,MAAM;4BACT,YAAY,CAAC,EAAE,EAAE;gCACf,YAAY,EAAE,MAAM;gCACpB,cAAc,EAAE,GAAG,CAAC,cAAc;gCAClC,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE;6BAC3B,CAAC,CAAC;4BACH,MAAM;wBACR,KAAK,MAAM;4BACT,MAAM;wBACR,KAAK,OAAO;4BACV,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC;4BAClD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;4BACzB,EAAE,CAAC,KAAK,EAAE,CAAC;4BACX,MAAM;wBACR,KAAK,SAAS;4BACZ,IAAI,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;gCAC1C,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,QAAQ,CAAC;gCACtC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,OAAkC,CAAC,CAAC;4BAC5D,CAAC;4BACD,YAAY,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC;4BACtF,MAAM;wBACR,KAAK,KAAK;4BACR,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;4BAC7C,MAAM;oBACV,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;oBACpB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;oBACtD,YAAY,CAAC,SAAS,CAAC,CAAC;oBACxB,YAAY,CAAC,SAAS,CAAC,CAAC;oBACxB,EAAE,CAAC,kBAAkB,EAAE,CAAC;oBACxB,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC9B,CAAC,CAAC,CAAC;gBAEH,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;oBACvB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAC;oBACzD,YAAY,CAAC,SAAS,CAAC,CAAC;oBACxB,YAAY,CAAC,SAAS,CAAC,CAAC;oBACxB,EAAE,CAAC,kBAAkB,EAAE,CAAC;oBACxB,OAAO,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC9B,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QAEO,KAAK,CAAC,cAAc;YAC1B,IAAI,cAAc,GAAG,IAAI,CAAC;YAE1B,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC1B,IAAI,EAAa,CAAC;oBAClB,IAAI,CAAC;wBACH,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,cAAc,CAAC,CAAC;oBACpD,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,IAAI,CAAC,YAAY,EAAE,CAAC,CAAU,CAAC,CAAC;wBAChC,OAAO;oBACT,CAAC;oBAED,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;oBACd,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;oBAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;oBACrB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;oBAE1D,IAAI,cAAc,EAAE,CAAC;wBACnB,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;wBACvB,cAAc,GAAG,KAAK,CAAC;oBACzB,CAAC;oBAED,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,0BAA0B,EAAE,CAAC;wBAC5D,IAAI,CAAC,eAAe,CAClB,cAAc,EACd,iFAAiF,CAClF,CAAC;wBACF,EAAE,CAAC,KAAK,EAAE,CAAC;wBACX,OAAO;oBACT,CAAC;oBAED,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;oBACtD,IAAI,CAAC,eAAe;wBAAE,OAAO;oBAE7B,IACE,IAAI,CAAC,cAAc,KAAK,SAAS;wBACjC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,EAChE,CAAC;wBACD,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,mCAAmC,CAAC,CAAC;wBACnE,OAAO;oBACT,CAAC;oBAED,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;gBACvB,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC;gBAClB,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC;gBACrB,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACzB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,KAAK,CAAC,OAAO;YACX,IAAI,IAAI,CAAC,MAAM,KAAK,cAAc;gBAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAEhF,MAAM,YAAY,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACzD,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;gBAC7B,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC;YAC7B,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YACnD,MAAM,YAAY,CAAC;YACnB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;YACzB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;QAED,KAAK,CAAC,KAAK;YACT,IAAI,CAAC,IAAI,CAAC,qBAAqB;gBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YAClF,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,sCAAsC,CAAC,CAAC;YACrE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC;YAClB,MAAM,IAAI,CAAC,qBAAqB,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,OAAc;YACjB,IAAI,IAAI,CAAC,MAAM,KAAK,cAAc;gBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACrF,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAC1B,MAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAE9E,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC1C,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC,CAAC;YAExD,IAAI,CAAC;gBACH,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;oBACb,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE;wBACrB,YAAY,EAAE,SAAS;wBACvB,QAAQ,EAAE,IAAI,CAAC,iBAAiB;wBAChC,OAAO;qBACR,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,8EAA8E;YAChF,CAAC;QACH,CAAC;QAED,KAAK,CAAC,KAAK;YACT,IAAI,IAAI,CAAC,MAAM,KAAK,cAAc;gBAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACrF,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ;gBAC1B,MAAM,IAAI,sBAAsB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAE9E,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;YAC1C,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAEhE,MAAM,OAAO,GAAG,MAAM,IAAI,OAAO,CAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC7E,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9C,CAAC,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACrC,CAAC;QAED,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC;YAC3B,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC;;;;AAnZU,kCAAW"}
|
|
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,6CAA0C;AAC1C,uCAAyB;AACzB,+CAA0E;AAE1E,8CAA8C;AAIjC,QAAA,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,OAAO,EAAE,CAAC,CAAC,KAAK,CACd,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;QACnB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACjC,CAAC,CACH;CACF,CAAC,CAAC;AAEH,MAAa,WAAW;IACL,GAAG,CAAY;IACf,OAAO,CAAS;IACzB,cAAc,GAAmB,EAAE,CAAC;IACpC,WAAW,GAAmB,EAAE,CAAC;IACjC,YAAY,GAGf,EAAE,CAAC;IACA,OAAO,GAAG,KAAK,CAAC;IAExB,eAAe,GAAa,EAAE,CAAC;IAC/B,iBAAiB,GAAkB,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/testing/session.ts"],"names":[],"mappings":"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"}
|
package/dist/src/utils.d.ts
CHANGED
|
@@ -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
|
package/dist/src/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,oDAUC;AAED,4CAEC;AAED,gCAWC;AAcD,sBAEC;AAED,oCAaC;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,oDAUC;AAED,4CAEC;AAED,gCAWC;AAcD,sBAEC;AAED,oCAaC;AAKD,0BASC;AAED,4BAsBC;AAtGD,4CAA8B;AAC9B,4CAA8B;AAC9B,gDAAkC;AAErB,QAAA,gBAAgB,GAAG,yBAAyB,CAAC;AAE1D,SAAgB,oBAAoB;IAClC,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QACpC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC1F,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC1B,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;IAC9F,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;IAC5F,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACnE,CAAC;AAED,SAAgB,gBAAgB;IAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;AACnE,CAAC;AAED,SAAgB,UAAU;IACxB,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;IAElE,mCAAmC;IACnC,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;IACtC,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAA0B,CAAC;QACxF,IAAI,MAAM,CAAC,QAAQ;YAAE,OAAO,MAAM,CAAC,QAAQ,CAAC;IAC9C,CAAC;IAED,OAAO,wBAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,eAAgB,SAAQ,KAAK;IAEf;IACA;IACA;IACA;IAJlB,YACkB,MAAc,EACd,UAAkB,EAClB,IAAY,EACZ,QAAkB;QAElC,KAAK,CAAC,QAAQ,MAAM,IAAI,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QALjD,WAAM,GAAN,MAAM,CAAQ;QACd,eAAU,GAAV,UAAU,CAAQ;QAClB,SAAI,GAAJ,IAAI,CAAQ;QACZ,aAAQ,GAAR,QAAQ,CAAU;QAGlC,IAAI,CAAC,IAAI,GAAG,iBAAiB,CAAC;IAChC,CAAC;CACF;AAED,SAAgB,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAEM,KAAK,UAAU,YAAY,CAChC,KAAwB,EACxB,IAAkB;IAElB,kDAAkD;IAClD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAErC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9C,MAAM,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACnE,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,+EAA+E;AAClE,QAAA,cAAc,GAAe,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,KAAI,CAAC,EAAE,CAAC;AAEpE,SAAgB,OAAO,CAAC,MAAmB,EAAE,QAAoB;IAC/D,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAE3D,OAAO;QACL,CAAC,MAAM,CAAC,OAAO,CAAC;YACd,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAChD,CAAC;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,QAAQ,CAAC,OAA+C;IACtE,2EAA2E;IAC3E,6EAA6E;IAC7E,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC9B,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,GAAG,EAAE;QAClB,MAAM,EAAE,CAAC;QACT,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,MAAM,EAAE,CAAC;QACT,OAAO,CAAC,SAAS,CAAC,CAAC;IACrB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAE/B,OAAO;QACL,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM;KACzB,CAAC;AACJ,CAAC"}
|
package/dist/src/version.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "0.
|
|
1
|
+
export declare const SDK_VERSION = "0.30.0";
|
package/dist/src/version.js
CHANGED
|
@@ -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,
|
|
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.
|
|
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
|
-
|
|
642
|
-
|
|
643
|
-
|
|
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(
|
|
902
|
-
|
|
903
|
-
|
|
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
|
-
|
|
906
|
-
|
|
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
|
-
|
|
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/health.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Server, createServer } from "node:http";
|
|
2
2
|
import { getDefaultLogger, type Logger } from "./logging.ts";
|
|
3
3
|
|
|
4
|
-
export type HealthState = "starting" | "
|
|
4
|
+
export type HealthState = "starting" | "running" | "draining" | "stopped";
|
|
5
5
|
|
|
6
6
|
export class HealthContext {
|
|
7
7
|
private _state: HealthState = "starting";
|
|
@@ -11,7 +11,11 @@ export class HealthContext {
|
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
ready(): void {
|
|
14
|
-
this.setState("
|
|
14
|
+
this.setState("running");
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
draining(): void {
|
|
18
|
+
this.setState("draining");
|
|
15
19
|
}
|
|
16
20
|
|
|
17
21
|
stopped(): void {
|
|
@@ -19,7 +23,11 @@ export class HealthContext {
|
|
|
19
23
|
}
|
|
20
24
|
|
|
21
25
|
isLive(): boolean {
|
|
22
|
-
return this._state
|
|
26
|
+
return this._state !== "stopped";
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
isReady(): boolean {
|
|
30
|
+
return this._state === "running";
|
|
23
31
|
}
|
|
24
32
|
}
|
|
25
33
|
|
|
@@ -35,6 +43,10 @@ export class MultiHealthContext {
|
|
|
35
43
|
isLive(): boolean {
|
|
36
44
|
return this._ctxs.length > 0 && this._ctxs.every((ctx) => ctx.isLive());
|
|
37
45
|
}
|
|
46
|
+
|
|
47
|
+
isReady(): boolean {
|
|
48
|
+
return this._ctxs.length > 0 && this._ctxs.every((ctx) => ctx.isReady());
|
|
49
|
+
}
|
|
38
50
|
}
|
|
39
51
|
|
|
40
52
|
export interface HealthServerOptions {
|
|
@@ -64,6 +76,8 @@ export class HealthServer implements AsyncDisposable {
|
|
|
64
76
|
const server = createServer((req, res) => {
|
|
65
77
|
if (req.method === "GET" && req.url === "/live") {
|
|
66
78
|
res.statusCode = healthCtx.isLive() ? 200 : 503;
|
|
79
|
+
} else if (req.method === "GET" && req.url === "/ready") {
|
|
80
|
+
res.statusCode = healthCtx.isReady() ? 200 : 503;
|
|
67
81
|
} else {
|
|
68
82
|
res.statusCode = 404;
|
|
69
83
|
}
|