@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.
Files changed (38) hide show
  1. package/dist/examples/multiple-agents.js +2 -1
  2. package/dist/examples/multiple-agents.js.map +1 -1
  3. package/dist/examples/property-insurance.d.ts +2 -0
  4. package/dist/examples/property-insurance.js +8 -7
  5. package/dist/examples/property-insurance.js.map +1 -1
  6. package/dist/examples/restaurant-waitlist.d.ts +2 -0
  7. package/dist/examples/restaurant-waitlist.js +10 -9
  8. package/dist/examples/restaurant-waitlist.js.map +1 -1
  9. package/dist/src/agent.d.ts +2 -2
  10. package/dist/src/agent.js +68 -43
  11. package/dist/src/agent.js.map +1 -1
  12. package/dist/src/health.d.ts +4 -1
  13. package/dist/src/health.js +14 -2
  14. package/dist/src/health.js.map +1 -1
  15. package/dist/src/runner.d.ts +10 -1
  16. package/dist/src/runner.js +16 -5
  17. package/dist/src/runner.js.map +1 -1
  18. package/dist/src/socket/client.js +19 -2
  19. package/dist/src/socket/client.js.map +1 -1
  20. package/dist/src/testing/session.d.ts +2 -1
  21. package/dist/src/testing/session.js +3 -1
  22. package/dist/src/testing/session.js.map +1 -1
  23. package/dist/src/utils.d.ts +4 -0
  24. package/dist/src/utils.js +35 -1
  25. package/dist/src/utils.js.map +1 -1
  26. package/dist/src/version.d.ts +1 -1
  27. package/dist/src/version.js +1 -1
  28. package/examples/multiple-agents.ts +2 -1
  29. package/examples/property-insurance.ts +1 -1
  30. package/examples/restaurant-waitlist.ts +1 -1
  31. package/package.json +11 -2
  32. package/src/agent.ts +43 -18
  33. package/src/health.ts +17 -3
  34. package/src/runner.ts +28 -5
  35. package/src/socket/client.ts +31 -13
  36. package/src/testing/session.ts +3 -1
  37. package/src/utils.ts +38 -0
  38. package/src/version.ts +1 -1
@@ -35,6 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.run = run;
37
37
  const guava = __importStar(require("@guava-ai/guava-sdk"));
38
+ const example_utils_1 = require("@guava-ai/guava-sdk/example-utils");
38
39
  const agentA = new guava.Agent({
39
40
  name: "Grace",
40
41
  purpose: "You are a helpful voice agent.",
@@ -45,7 +46,7 @@ const agentB = new guava.Agent({
45
46
  });
46
47
  async function run(_prog, _args) {
47
48
  const runner = new guava.Runner();
48
- runner.listenPhone(agentA, process.env.GUAVA_AGENT_NUMBER);
49
+ runner.listenPhone(agentA, await (0, example_utils_1.getAgentNumber)());
49
50
  runner.listenWebrtc(agentB);
50
51
  await runner.run();
51
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"multiple-agents.js","sourceRoot":"","sources":["../../examples/multiple-agents.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,kBAKC;AAjBD,2DAA6C;AAE7C,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC;IAC7B,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,gCAAgC;CAC1C,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC;IAC7B,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,gCAAgC;CAC1C,CAAC,CAAC;AAEI,KAAK,UAAU,GAAG,CAAC,KAAa,EAAE,KAAe;IACtD,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;IAClC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAmB,CAAC,CAAC;IAC5D,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"multiple-agents.js","sourceRoot":"","sources":["../../examples/multiple-agents.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAaA,kBAKC;AAlBD,2DAA6C;AAC7C,qEAAmE;AAEnE,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC;IAC7B,IAAI,EAAE,OAAO;IACb,OAAO,EAAE,gCAAgC;CAC1C,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC;IAC7B,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,gCAAgC;CAC1C,CAAC,CAAC;AAEI,KAAK,UAAU,GAAG,CAAC,KAAa,EAAE,KAAe;IACtD,MAAM,MAAM,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;IAClC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,IAAA,8BAAc,GAAE,CAAC,CAAC;IACnD,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC"}
@@ -1 +1,3 @@
1
+ import * as guava from "@guava-ai/guava-sdk";
2
+ export declare const agent: guava.Agent;
1
3
  export declare function run(prog: string, args: string[]): Promise<void>;
@@ -33,13 +33,14 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.agent = void 0;
36
37
  exports.run = run;
37
38
  const commander_1 = require("commander");
38
39
  const guava = __importStar(require("@guava-ai/guava-sdk"));
39
40
  const helpers_1 = require("@guava-ai/guava-sdk/helpers");
40
41
  const example_data_1 = require("@guava-ai/guava-sdk/example-data");
41
42
  const example_utils_1 = require("@guava-ai/guava-sdk/example-utils");
42
- const agent = new guava.Agent({
43
+ exports.agent = new guava.Agent({
43
44
  organization: "Harper Valley Property Insurance",
44
45
  purpose: "Answer questions regarding property insurance policy until there are no more questions",
45
46
  });
@@ -50,7 +51,7 @@ const documentQA = new helpers_1.DocumentQA({
50
51
  namespace: "harper-valley-property-insurance",
51
52
  });
52
53
  // When the Agent is asked a question that it cannot answer, it will invoke the on_question callback.
53
- agent.onQuestion(async (call, question) => {
54
+ exports.agent.onQuestion(async (call, question) => {
54
55
  // Forward the Agent's question to the knowledge base and return the answer.
55
56
  // You can plug in any knowledge base system you want here.
56
57
  return await documentQA.ask(question);
@@ -62,31 +63,31 @@ async function run(prog, args) {
62
63
  .command("phone [number]")
63
64
  .description("Listen for phone calls.")
64
65
  .action(async (number) => {
65
- await agent.listenPhone(number ?? (await (0, example_utils_1.getAgentNumber)()));
66
+ await exports.agent.listenPhone(number ?? (await (0, example_utils_1.getAgentNumber)()));
66
67
  });
67
68
  program
68
69
  .command("webrtc [code]")
69
70
  .description("Listen on a WebRTC code.")
70
71
  .action(async (code) => {
71
- await agent.listenWebrtc(code);
72
+ await exports.agent.listenWebrtc(code);
72
73
  });
73
74
  program
74
75
  .command("sip <code>")
75
76
  .description("Listen on a SIP code 'guavasip-...'.")
76
77
  .action(async (code) => {
77
- await agent.listenSip(code);
78
+ await exports.agent.listenSip(code);
78
79
  });
79
80
  program
80
81
  .command("local")
81
82
  .description("Start a local call.")
82
83
  .action(async () => {
83
- await agent.callLocal();
84
+ await exports.agent.callLocal();
84
85
  });
85
86
  program
86
87
  .command("chat")
87
88
  .description("Start an interactive terminal chat.")
88
89
  .action(async () => {
89
- await agent.chat();
90
+ await exports.agent.chat();
90
91
  });
91
92
  await program.parseAsync(args, { from: "user" });
92
93
  }
@@ -1 +1 @@
1
- {"version":3,"file":"property-insurance.js","sourceRoot":"","sources":["../../examples/property-insurance.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,kBAwCC;AAjED,yCAAoC;AACpC,2DAA6C;AAC7C,yDAAyD;AACzD,mEAA6E;AAC7E,qEAAmE;AAEnE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC;IAC5B,YAAY,EAAE,kCAAkC;IAChD,OAAO,EAAE,wFAAwF;CAClG,CAAC,CAAC;AAEH,8EAA8E;AAC9E,yCAAyC;AACzC,MAAM,UAAU,GAAG,IAAI,oBAAU,CAAC;IAChC,SAAS,EAAE,wCAAyB;IACpC,SAAS,EAAE,kCAAkC;CAC9C,CAAC,CAAC;AAEH,qGAAqG;AACrG,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,IAAgB,EAAE,QAAgB,EAAE,EAAE;IAC5D,4EAA4E;IAC5E,2DAA2D;IAC3D,OAAO,MAAM,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC;AAEI,KAAK,UAAU,GAAG,CAAC,IAAY,EAAE,IAAc;IACpD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,CAAC;IAE9D,iEAAiE;IACjE,OAAO;SACJ,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,yBAAyB,CAAC;SACtC,MAAM,CAAC,KAAK,EAAE,MAAe,EAAE,EAAE;QAChC,MAAM,KAAK,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,MAAM,IAAA,8BAAc,GAAE,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,0BAA0B,CAAC;SACvC,MAAM,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE;QAC9B,MAAM,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,sCAAsC,CAAC;SACnD,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;QAC7B,MAAM,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,qBAAqB,CAAC;SAClC,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,KAAK,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEL,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AACnD,CAAC"}
1
+ {"version":3,"file":"property-insurance.js","sourceRoot":"","sources":["../../examples/property-insurance.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,kBAwCC;AAjED,yCAAoC;AACpC,2DAA6C;AAC7C,yDAAyD;AACzD,mEAA6E;AAC7E,qEAAmE;AAEtD,QAAA,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC;IACnC,YAAY,EAAE,kCAAkC;IAChD,OAAO,EAAE,wFAAwF;CAClG,CAAC,CAAC;AAEH,8EAA8E;AAC9E,yCAAyC;AACzC,MAAM,UAAU,GAAG,IAAI,oBAAU,CAAC;IAChC,SAAS,EAAE,wCAAyB;IACpC,SAAS,EAAE,kCAAkC;CAC9C,CAAC,CAAC;AAEH,qGAAqG;AACrG,aAAK,CAAC,UAAU,CAAC,KAAK,EAAE,IAAgB,EAAE,QAAgB,EAAE,EAAE;IAC5D,4EAA4E;IAC5E,2DAA2D;IAC3D,OAAO,MAAM,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACxC,CAAC,CAAC,CAAC;AAEI,KAAK,UAAU,GAAG,CAAC,IAAY,EAAE,IAAc;IACpD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,CAAC;IAE9D,iEAAiE;IACjE,OAAO;SACJ,OAAO,CAAC,gBAAgB,CAAC;SACzB,WAAW,CAAC,yBAAyB,CAAC;SACtC,MAAM,CAAC,KAAK,EAAE,MAAe,EAAE,EAAE;QAChC,MAAM,aAAK,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,MAAM,IAAA,8BAAc,GAAE,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,0BAA0B,CAAC;SACvC,MAAM,CAAC,KAAK,EAAE,IAAa,EAAE,EAAE;QAC9B,MAAM,aAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,YAAY,CAAC;SACrB,WAAW,CAAC,sCAAsC,CAAC;SACnD,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE;QAC7B,MAAM,aAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,qBAAqB,CAAC;SAClC,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,aAAK,CAAC,SAAS,EAAE,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEL,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,qCAAqC,CAAC;SAClD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,aAAK,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEL,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AACnD,CAAC"}
@@ -1 +1,3 @@
1
+ import * as guava from "@guava-ai/guava-sdk";
2
+ export declare const agent: guava.Agent;
1
3
  export declare function run(prog: string, args: string[]): Promise<void>;
@@ -33,24 +33,25 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.agent = void 0;
36
37
  exports.run = run;
37
38
  const commander_1 = require("commander");
38
39
  const guava = __importStar(require("@guava-ai/guava-sdk"));
39
40
  const guava_sdk_1 = require("@guava-ai/guava-sdk");
40
41
  const example_utils_1 = require("@guava-ai/guava-sdk/example-utils");
41
42
  const logger = (0, guava_sdk_1.getDefaultLogger)();
42
- const agent = new guava.Agent({
43
+ exports.agent = new guava.Agent({
43
44
  name: "Mia",
44
45
  organization: "Thai Palace",
45
46
  purpose: "Helping callers join the restaurant waitlist",
46
47
  });
47
- agent.onCallReceived(async (_callInfo) => {
48
+ exports.agent.onCallReceived(async (_callInfo) => {
48
49
  // In this callback you have the option to accept or reject a call based off the caller info.
49
50
  // For now we will accept all calls. If this callback is not provided, the default behavior is
50
51
  // to accept all calls.
51
52
  return { action: "accept" };
52
53
  });
53
- agent.onCallStart(async (call) => {
54
+ exports.agent.onCallStart(async (call) => {
54
55
  await call.setTask({
55
56
  taskId: "waitlist",
56
57
  objective: "You are a virtual assistant for Thai Palace. Add callers to the waitlist.",
@@ -66,7 +67,7 @@ agent.onCallStart(async (call) => {
66
67
  ],
67
68
  });
68
69
  });
69
- agent.onTaskComplete("waitlist", async (call) => {
70
+ exports.agent.onTaskComplete("waitlist", async (call) => {
70
71
  logger.info("Added %s, party of %d, to waitlist.", await call.getField("caller_name"), await call.getField("party_size"));
71
72
  await call.hangup("Thank the caller and let them know we'll text when their table is ready.");
72
73
  });
@@ -77,31 +78,31 @@ async function run(prog, args) {
77
78
  .command("phone [number]")
78
79
  .description("Listen for phone calls.")
79
80
  .action(async (number) => {
80
- await agent.listenPhone(number ?? (await (0, example_utils_1.getAgentNumber)()));
81
+ await exports.agent.listenPhone(number ?? (await (0, example_utils_1.getAgentNumber)()));
81
82
  });
82
83
  program
83
84
  .command("webrtc [code]")
84
85
  .description("Listen on a WebRTC code.")
85
86
  .action(async (code) => {
86
- await agent.listenWebrtc(code);
87
+ await exports.agent.listenWebrtc(code);
87
88
  });
88
89
  program
89
90
  .command("sip <code>")
90
91
  .description("Listen on a SIP code 'guavasip-...'.")
91
92
  .action(async (code) => {
92
- await agent.listenSip(code);
93
+ await exports.agent.listenSip(code);
93
94
  });
94
95
  program
95
96
  .command("local")
96
97
  .description("Start a local call.")
97
98
  .action(async () => {
98
- await agent.callLocal();
99
+ await exports.agent.callLocal();
99
100
  });
100
101
  program
101
102
  .command("chat")
102
103
  .description("Start an interactive terminal chat.")
103
104
  .action(async () => {
104
- await agent.chat();
105
+ await exports.agent.chat();
105
106
  });
106
107
  await program.parseAsync(args, { from: "user" });
107
108
  }
@@ -1 +1 @@
1
- {"version":3,"file":"restaurant-waitlist.js","sourceRoot":"","sources":["../../examples/restaurant-waitlist.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"restaurant-waitlist.js","sourceRoot":"","sources":["../../examples/restaurant-waitlist.ts"],"names":[],"mappings":"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"}
@@ -96,7 +96,7 @@ export declare class Agent {
96
96
  private _dispatchEvent;
97
97
  _initCall(callId: string, callInfo: CallInfo, variables?: Record<string, any>): Promise<Call>;
98
98
  _attachToCall(callId: string, callInfo: CallInfo, initialVariables?: Record<string, any>, testSession?: TestSession, route?: string): Promise<void>;
99
- _listenInbound(healthCtx: HealthContext, conn: InboundConnection, initialVariables?: Record<string, any>): Promise<void>;
99
+ _listenInbound(healthCtx: HealthContext, conn: InboundConnection, initialVariables?: Record<string, any>, drainSignal?: AbortSignal): Promise<void>;
100
100
  private _handleAssignedCall;
101
101
  /**
102
102
  * @description use the Guava API to call out to a number
@@ -163,7 +163,7 @@ export declare class Agent {
163
163
  * affecting the original agent.
164
164
  */
165
165
  patch(): Agent;
166
- _serveCampaign(healthCtx: HealthContext, campaignCode: string): Promise<void>;
166
+ _serveCampaign(healthCtx: HealthContext, campaignCode: string, drainSignal?: AbortSignal): Promise<void>;
167
167
  /**
168
168
  * Attach this agent to an active Guava campaign and handle outbound calls.
169
169
  *
package/dist/src/agent.js CHANGED
@@ -651,7 +651,7 @@ let Agent = (() => {
651
651
  await result_4;
652
652
  }
653
653
  }
654
- async _listenInbound(healthCtx, conn, initialVariables = {}) {
654
+ async _listenInbound(healthCtx, conn, initialVariables = {}, drainSignal = new AbortController().signal) {
655
655
  const url = new URL("v2/listen-inbound", this._client.getWebsocketBase());
656
656
  if ("agent_number" in conn) {
657
657
  url.searchParams.set("phone_number", conn.agent_number);
@@ -662,10 +662,14 @@ let Agent = (() => {
662
662
  else {
663
663
  url.searchParams.set("sip_code", conn.sip_code);
664
664
  }
665
+ const activeCalls = [];
665
666
  try {
666
667
  const env_5 = { stack: [], error: void 0, hasError: false };
667
668
  try {
668
669
  const socket = __addDisposableResource(env_5, await new client_ts_1.GuavaSocket("listen-inbound", url.toString(), this._client, (msg) => msg, ListenInbound.decodeServerMessage).connect(), true);
670
+ const _ = __addDisposableResource(env_5, (0, utils_ts_1.onAbort)(drainSignal, () => {
671
+ socket.close();
672
+ }), false);
669
673
  try {
670
674
  for await (const msg of socket) {
671
675
  switch (msg.message_type) {
@@ -689,9 +693,10 @@ let Agent = (() => {
689
693
  case "assign-call": {
690
694
  const { call_id, call_info } = msg;
691
695
  this._logger.info("Received call (session ID: %s)", call_id);
692
- this._handleAssignedCall(call_id, call_info, socket, initialVariables).catch((err) => {
696
+ // TODO: Possible memory leak.
697
+ activeCalls.push(this._handleAssignedCall(call_id, call_info, socket, initialVariables).catch((err) => {
693
698
  this._logger.error("Error handling assigned call %s: %s", call_id, err);
694
- });
699
+ }));
695
700
  break;
696
701
  }
697
702
  }
@@ -713,6 +718,9 @@ let Agent = (() => {
713
718
  }
714
719
  }
715
720
  finally {
721
+ this._logger.debug("Listener disconnected. Starting drain...");
722
+ healthCtx.draining();
723
+ await Promise.all(activeCalls);
716
724
  healthCtx.stopped();
717
725
  }
718
726
  }
@@ -778,7 +786,7 @@ let Agent = (() => {
778
786
  ws.once("error", reject);
779
787
  });
780
788
  const sessionStarted = protocol_ts_1.SessionStarted.parse(JSON.parse(rawFirst));
781
- const testSession = new session_ts_1.TestSession(ws, this._client);
789
+ const testSession = new session_ts_1.TestSession(ws, this._client, sessionStarted.session_id);
782
790
  const testCallInfo = {
783
791
  call_type: "pstn",
784
792
  from_number: null,
@@ -919,52 +927,66 @@ Choose "speak" and provide your next utterance, or choose "hangup" if the conver
919
927
  cloned._onOutboundFailed = this._onOutboundFailed;
920
928
  return cloned;
921
929
  }
922
- async _serveCampaign(healthCtx, campaignCode) {
930
+ async _serveCampaign(healthCtx, campaignCode, drainSignal = new AbortController().signal) {
931
+ const campaign = await this._client.getCampaign(campaignCode);
932
+ const url = new URL(`v1/serve-campaign/${campaign.id}`, this._client.getWebsocketBase());
933
+ this._logger.info("Connecting to campaign '%s' (id: %s).", campaign.name, campaign.id);
934
+ const activeCalls = [];
923
935
  try {
924
936
  const env_6 = { stack: [], error: void 0, hasError: false };
925
937
  try {
926
- const campaign = await this._client.getCampaign(campaignCode);
927
- const wsUrl = new URL(`v1/serve-campaign/${campaign.id}`, this._client.getWebsocketBase());
928
- this._logger.info("Connecting to campaign '%s' (id: %s).", campaign.name, campaign.id);
929
- const socket = __addDisposableResource(env_6, await new client_ts_1.GuavaSocket("serve-campaign", wsUrl.toString(), this._client, (msg) => msg, guavadialer_events_ts_1.decodeServerMessage).connect(), true);
930
- const activeCalls = [];
938
+ const socket = __addDisposableResource(env_6, await new client_ts_1.GuavaSocket("serve-campaign", url.toString(), this._client, (msg) => msg, guavadialer_events_ts_1.decodeServerMessage).connect(), true);
931
939
  try {
932
- for await (const msg of socket) {
933
- switch (msg.message_type) {
934
- case "listen-started":
935
- this._logger.info("Listening for calls on campaign '%s'. Ready.", campaign.name);
936
- healthCtx.ready();
937
- break;
938
- case "initiate-and-assign-call": {
939
- const { call_id, contact_data } = msg;
940
- const data = contact_data;
941
- const logPhone = data?.phone_number ?? "?";
942
- this._logger.info("Ready to make call, id %s — initiating call setup and dispatch for contact %s.", call_id, logPhone);
943
- activeCalls.push((async () => {
944
- socket.send({ message_type: "controller-ready", call_id });
945
- const variables = data?.data ?? {};
946
- const campaignCallInfo = {
947
- call_type: "pstn",
948
- from_number: null,
949
- to_number: data?.phone_number ?? "",
950
- caller_id: null,
951
- };
952
- await this._attachToCall(call_id, campaignCallInfo, variables, undefined, "v2/connect-campaign-call");
953
- })());
954
- break;
940
+ const env_7 = { stack: [], error: void 0, hasError: false };
941
+ try {
942
+ const _ = __addDisposableResource(env_7, (0, utils_ts_1.onAbort)(drainSignal, () => {
943
+ socket.close();
944
+ }), false);
945
+ for await (const msg of socket) {
946
+ switch (msg.message_type) {
947
+ case "listen-started":
948
+ this._logger.info("Listening for calls on campaign '%s'. Ready.", campaign.name);
949
+ healthCtx.ready();
950
+ break;
951
+ case "initiate-and-assign-call": {
952
+ const { call_id, contact_data } = msg;
953
+ const data = contact_data;
954
+ const logPhone = data?.phone_number ?? "?";
955
+ this._logger.info("Ready to make call, id %s — initiating call setup and dispatch for contact %s.", call_id, logPhone);
956
+ // TODO: Possible memory leak.
957
+ activeCalls.push((async () => {
958
+ socket.send({ message_type: "controller-ready", call_id });
959
+ const variables = data?.data ?? {};
960
+ const campaignCallInfo = {
961
+ call_type: "pstn",
962
+ from_number: null,
963
+ to_number: data?.phone_number ?? "",
964
+ caller_id: null,
965
+ };
966
+ await this._attachToCall(call_id, campaignCallInfo, variables, undefined, "v2/connect-campaign-call");
967
+ })().catch((err) => {
968
+ this._logger.error("Error handling campaign call %s: %s", call_id, err);
969
+ }));
970
+ break;
971
+ }
955
972
  }
956
973
  }
957
974
  }
975
+ catch (e_6) {
976
+ env_7.error = e_6;
977
+ env_7.hasError = true;
978
+ }
979
+ finally {
980
+ __disposeResources(env_7);
981
+ }
958
982
  }
959
983
  catch (e) {
960
984
  if (!(e instanceof client_ts_1.GuavaSocketClosedError))
961
985
  throw e;
962
- this._logger.info("Campaign '%s' disconnected.", campaign.name);
963
986
  }
964
- await Promise.all(activeCalls);
965
987
  }
966
- catch (e_6) {
967
- env_6.error = e_6;
988
+ catch (e_7) {
989
+ env_6.error = e_7;
968
990
  env_6.hasError = true;
969
991
  }
970
992
  finally {
@@ -974,6 +996,9 @@ Choose "speak" and provide your next utterance, or choose "hangup" if the conver
974
996
  }
975
997
  }
976
998
  finally {
999
+ this._logger.info("Campaign '%s' disconnected. Starting drain...", campaign.name);
1000
+ healthCtx.draining();
1001
+ await Promise.all(activeCalls);
977
1002
  healthCtx.stopped();
978
1003
  }
979
1004
  }
@@ -989,18 +1014,18 @@ Choose "speak" and provide your next utterance, or choose "hangup" if the conver
989
1014
  * await agent.attachCampaign("gcmp-abc123");
990
1015
  */
991
1016
  async attachCampaign(campaignCode) {
992
- const env_7 = { stack: [], error: void 0, hasError: false };
1017
+ const env_8 = { stack: [], error: void 0, hasError: false };
993
1018
  try {
994
1019
  const healthCtx = new health_ts_1.HealthContext();
995
- const _server = __addDisposableResource(env_7, await (0, health_ts_1.getHealthServer)(healthCtx), true);
1020
+ const _server = __addDisposableResource(env_8, await (0, health_ts_1.getHealthServer)(healthCtx), true);
996
1021
  return this._serveCampaign(healthCtx, campaignCode);
997
1022
  }
998
- catch (e_7) {
999
- env_7.error = e_7;
1000
- env_7.hasError = true;
1023
+ catch (e_8) {
1024
+ env_8.error = e_8;
1025
+ env_8.hasError = true;
1001
1026
  }
1002
1027
  finally {
1003
- const result_7 = __disposeResources(env_7);
1028
+ const result_7 = __disposeResources(env_8);
1004
1029
  if (result_7)
1005
1030
  await result_7;
1006
1031
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/agent.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,19 @@
1
1
  import { type Logger } from "./logging.ts";
2
- export type HealthState = "starting" | "live" | "stopped";
2
+ export type HealthState = "starting" | "running" | "draining" | "stopped";
3
3
  export declare class HealthContext {
4
4
  private _state;
5
5
  setState(newState: HealthState): void;
6
6
  ready(): void;
7
+ draining(): void;
7
8
  stopped(): void;
8
9
  isLive(): boolean;
10
+ isReady(): boolean;
9
11
  }
10
12
  export declare class MultiHealthContext {
11
13
  private _ctxs;
12
14
  createCtx(): HealthContext;
13
15
  isLive(): boolean;
16
+ isReady(): boolean;
14
17
  }
15
18
  export interface HealthServerOptions {
16
19
  host?: string;
@@ -10,13 +10,19 @@ class HealthContext {
10
10
  this._state = newState;
11
11
  }
12
12
  ready() {
13
- this.setState("live");
13
+ this.setState("running");
14
+ }
15
+ draining() {
16
+ this.setState("draining");
14
17
  }
15
18
  stopped() {
16
19
  this.setState("stopped");
17
20
  }
18
21
  isLive() {
19
- return this._state === "live";
22
+ return this._state !== "stopped";
23
+ }
24
+ isReady() {
25
+ return this._state === "running";
20
26
  }
21
27
  }
22
28
  exports.HealthContext = HealthContext;
@@ -30,6 +36,9 @@ class MultiHealthContext {
30
36
  isLive() {
31
37
  return this._ctxs.length > 0 && this._ctxs.every((ctx) => ctx.isLive());
32
38
  }
39
+ isReady() {
40
+ return this._ctxs.length > 0 && this._ctxs.every((ctx) => ctx.isReady());
41
+ }
33
42
  }
34
43
  exports.MultiHealthContext = MultiHealthContext;
35
44
  class HealthServer {
@@ -48,6 +57,9 @@ class HealthServer {
48
57
  if (req.method === "GET" && req.url === "/live") {
49
58
  res.statusCode = healthCtx.isLive() ? 200 : 503;
50
59
  }
60
+ else if (req.method === "GET" && req.url === "/ready") {
61
+ res.statusCode = healthCtx.isReady() ? 200 : 503;
62
+ }
51
63
  else {
52
64
  res.statusCode = 404;
53
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/health.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/health.ts"],"names":[],"mappings":"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"}