@guava-ai/guava-sdk 0.23.0 → 0.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -3
- package/bin/example-runner.ts +138 -11
- package/dist/bin/example-runner.d.ts +23 -6
- package/dist/bin/example-runner.js +112 -9
- package/dist/bin/example-runner.js.map +1 -1
- package/dist/examples/{example.test.js → agent-testing.test.js} +2 -2
- package/dist/examples/agent-testing.test.js.map +1 -0
- package/dist/examples/help-desk.js +22 -8
- package/dist/examples/help-desk.js.map +1 -1
- package/dist/examples/multiple-agents.d.ts +1 -0
- package/dist/examples/multiple-agents.js +52 -0
- package/dist/examples/multiple-agents.js.map +1 -0
- package/dist/examples/property-insurance.js +14 -3
- package/dist/examples/property-insurance.js.map +1 -1
- package/dist/examples/restaurant-waitlist.js +9 -1
- package/dist/examples/restaurant-waitlist.js.map +1 -1
- package/dist/examples/scheduling-outbound.js +5 -6
- package/dist/examples/scheduling-outbound.js.map +1 -1
- package/dist/src/action-item.d.ts +4 -4
- package/dist/src/action-item.js +1 -1
- package/dist/src/action-item.js.map +1 -1
- package/dist/src/agent.d.ts +31 -11
- package/dist/src/agent.js +278 -135
- package/dist/src/agent.js.map +1 -1
- package/dist/src/call.d.ts +12 -1
- package/dist/src/call.js +87 -24
- package/dist/src/call.js.map +1 -1
- package/dist/src/client.d.ts +3 -0
- package/dist/src/client.js +6 -0
- package/dist/src/client.js.map +1 -1
- package/dist/src/commands.d.ts +37 -9
- package/dist/src/commands.js +13 -3
- package/dist/src/commands.js.map +1 -1
- package/dist/src/events.d.ts +28 -1
- package/dist/src/events.js +10 -2
- package/dist/src/events.js.map +1 -1
- package/dist/src/example-utils.d.ts +2 -0
- package/dist/src/example-utils.js +115 -0
- package/dist/src/example-utils.js.map +1 -0
- package/dist/src/health.d.ts +35 -0
- package/dist/src/health.js +99 -0
- package/dist/src/health.js.map +1 -0
- package/dist/src/helpers/index.d.ts +1 -0
- package/dist/src/helpers/index.js +9 -0
- package/dist/src/helpers/index.js.map +1 -0
- package/dist/src/helpers/llm.d.ts +43 -1
- package/dist/src/helpers/llm.js +247 -0
- package/dist/src/helpers/llm.js.map +1 -1
- package/dist/src/helpers/server-rag.d.ts +25 -0
- package/dist/src/helpers/server-rag.js +119 -0
- package/dist/src/helpers/server-rag.js.map +1 -0
- package/dist/src/index.d.ts +3 -1
- package/dist/src/index.js +4 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/runner.d.ts +10 -0
- package/dist/src/runner.js +101 -0
- package/dist/src/runner.js.map +1 -0
- package/dist/src/socket/protocol.d.ts +4 -4
- package/dist/src/testing/mocks.d.ts +6 -0
- package/dist/src/testing/mocks.js +12 -0
- package/dist/src/testing/mocks.js.map +1 -1
- package/dist/src/testing/session.d.ts +7 -0
- package/dist/src/testing/session.js +3 -22
- package/dist/src/testing/session.js.map +1 -1
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/examples/{example.test.ts → agent-testing.test.ts} +1 -1
- package/examples/help-desk.ts +21 -12
- package/examples/multiple-agents.ts +18 -0
- package/examples/property-insurance.ts +15 -3
- package/examples/restaurant-waitlist.ts +10 -1
- package/examples/scheduling-outbound.ts +5 -6
- package/package.json +9 -1
- package/src/action-item.ts +1 -1
- package/src/agent.ts +273 -147
- package/src/call.ts +115 -24
- package/src/client.ts +7 -0
- package/src/commands.ts +16 -2
- package/src/events.ts +11 -1
- package/src/example-utils.ts +87 -0
- package/src/health.ts +120 -0
- package/src/helpers/index.ts +2 -0
- package/src/helpers/llm.ts +170 -1
- package/src/helpers/server-rag.ts +132 -0
- package/src/index.ts +3 -1
- package/src/runner.ts +39 -0
- package/src/testing/mocks.ts +17 -0
- package/src/testing/session.ts +2 -22
- package/src/version.ts +1 -1
- package/dist/examples/example.test.js.map +0 -1
- /package/dist/examples/{example.test.d.ts → agent-testing.test.d.ts} +0 -0
|
@@ -35,15 +35,14 @@ 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
|
|
38
|
+
const helpers_1 = require("@guava-ai/guava-sdk/helpers");
|
|
39
39
|
const example_data_1 = require("@guava-ai/guava-sdk/example-data");
|
|
40
|
+
const example_utils_1 = require("@guava-ai/guava-sdk/example-utils");
|
|
40
41
|
const agent = new guava.Agent({
|
|
41
42
|
organization: "Bright Smile Dental",
|
|
42
43
|
purpose: "You are calling patients to help them schedule a dental appointment",
|
|
43
44
|
});
|
|
44
|
-
const datetimeFilter = new
|
|
45
|
-
sourceList: (0, example_data_1.mockAppointmentsForFuture)(),
|
|
46
|
-
});
|
|
45
|
+
const datetimeFilter = new helpers_1.DatetimeFilter((0, example_data_1.mockAppointmentsForFuture)());
|
|
47
46
|
agent.onCallStart(async (call) => {
|
|
48
47
|
await call.reachPerson(await call.getVariable("patientName"));
|
|
49
48
|
});
|
|
@@ -67,7 +66,7 @@ agent.onReachPerson(async (call, outcome) => {
|
|
|
67
66
|
});
|
|
68
67
|
}
|
|
69
68
|
else {
|
|
70
|
-
await call.hangup("
|
|
69
|
+
await call.hangup("Appropriately end the call.");
|
|
71
70
|
}
|
|
72
71
|
});
|
|
73
72
|
agent.onTaskComplete("schedule_appointment", async (call) => {
|
|
@@ -85,7 +84,7 @@ async function run(args) {
|
|
|
85
84
|
console.error(" guava-example scheduling-outbound --chat [name]");
|
|
86
85
|
process.exit(1);
|
|
87
86
|
}
|
|
88
|
-
agent.callPhone(
|
|
87
|
+
agent.callPhone(await (0, example_utils_1.getAgentNumber)(), toNumber, {
|
|
89
88
|
patientName: patientName,
|
|
90
89
|
});
|
|
91
90
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduling-outbound.js","sourceRoot":"","sources":["../../examples/scheduling-outbound.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"scheduling-outbound.js","sourceRoot":"","sources":["../../examples/scheduling-outbound.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4CA,kBAkBC;AA9DD,2DAA6C;AAC7C,yDAA6D;AAC7D,mEAA6E;AAC7E,qEAAmE;AAEnE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC;IAC5B,YAAY,EAAE,qBAAqB;IACnC,OAAO,EAAE,qEAAqE;CAC/E,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,IAAI,wBAAc,CAAC,IAAA,wCAAyB,GAAE,CAAC,CAAC;AAEvE,KAAK,CAAC,WAAW,CAAC,KAAK,EAAE,IAAgB,EAAE,EAAE;IAC3C,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;AAEH,KAAK,CAAC,aAAa,CAAC,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;IAC7D,OAAO,cAAc,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;AAEH,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,IAAgB,EAAE,OAAe,EAAE,EAAE;IAC9D,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;QAC5B,MAAM,IAAI,CAAC,OAAO,CAAC;YACjB,MAAM,EAAE,sBAAsB;YAC9B,SAAS,EAAE;gBACT,+EAA+E;gBAC/E,KAAK,CAAC,KAAK,CAAC;oBACV,GAAG,EAAE,kBAAkB;oBACvB,SAAS,EAAE,eAAe;oBAC1B,WAAW,EAAE,uCAAuC;oBACpD,UAAU,EAAE,IAAI;iBACjB,CAAC;gBACF,iGAAiG;aAClG;SACF,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,CAAC,MAAM,CAAC,6BAA6B,CAAC,CAAC;IACnD,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,KAAK,CAAC,cAAc,CAAC,sBAAsB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;IAC1D,MAAM,IAAI,CAAC,MAAM,CAAC,iDAAiD,CAAC,CAAC;AACvE,CAAC,CAAC,CAAC;AAEI,KAAK,UAAU,GAAG,CAAC,IAAc;IACtC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,kBAAkB,CAAC;QAC3E,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;QAClC,OAAO;IACT,CAAC;IAED,MAAM,CAAC,QAAQ,EAAE,WAAW,GAAG,kBAAkB,CAAC,GAAG,IAAI,CAAC;IAE1D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;QACzE,OAAO,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAM,IAAA,8BAAc,GAAE,EAAE,QAAQ,EAAE;QAChD,WAAW,EAAE,WAAW;KACzB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as z from "zod";
|
|
2
|
-
export declare const FieldItemType: z.ZodUnion<z.ZodLiteral<"text" | "date" | "
|
|
2
|
+
export declare const FieldItemType: z.ZodUnion<z.ZodLiteral<"text" | "date" | "integer" | "digit_sequence" | "multiple_choice" | "calendar_slot">[]>;
|
|
3
3
|
export type FieldItemType = z.input<typeof FieldItemType>;
|
|
4
4
|
export type ChoiceGenerator = (query: string) => Promise<[string[], string[]]>;
|
|
5
5
|
export declare const FieldItem: z.ZodObject<{
|
|
@@ -7,7 +7,7 @@ export declare const FieldItem: z.ZodObject<{
|
|
|
7
7
|
key: z.ZodString;
|
|
8
8
|
description: z.ZodDefault<z.ZodString>;
|
|
9
9
|
question: z.ZodDefault<z.ZodString>;
|
|
10
|
-
field_type: z.ZodUnion<z.ZodLiteral<"text" | "date" | "
|
|
10
|
+
field_type: z.ZodUnion<z.ZodLiteral<"text" | "date" | "integer" | "digit_sequence" | "multiple_choice" | "calendar_slot">[]>;
|
|
11
11
|
required: z.ZodDefault<z.ZodBoolean>;
|
|
12
12
|
choices: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
13
13
|
choiceGenerator: z.ZodOptional<z.ZodCustom<ChoiceGenerator, ChoiceGenerator>>;
|
|
@@ -19,7 +19,7 @@ export declare const SerializableFieldItem: z.ZodObject<{
|
|
|
19
19
|
key: z.ZodString;
|
|
20
20
|
description: z.ZodDefault<z.ZodString>;
|
|
21
21
|
question: z.ZodDefault<z.ZodString>;
|
|
22
|
-
field_type: z.ZodUnion<z.ZodLiteral<"text" | "date" | "
|
|
22
|
+
field_type: z.ZodUnion<z.ZodLiteral<"text" | "date" | "integer" | "digit_sequence" | "multiple_choice" | "calendar_slot">[]>;
|
|
23
23
|
required: z.ZodDefault<z.ZodBoolean>;
|
|
24
24
|
choices: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
25
25
|
is_search_field: z.ZodDefault<z.ZodBoolean>;
|
|
@@ -42,7 +42,7 @@ export declare const ActionItem: z.ZodUnion<readonly [z.ZodObject<{
|
|
|
42
42
|
key: z.ZodString;
|
|
43
43
|
description: z.ZodDefault<z.ZodString>;
|
|
44
44
|
question: z.ZodDefault<z.ZodString>;
|
|
45
|
-
field_type: z.ZodUnion<z.ZodLiteral<"text" | "date" | "
|
|
45
|
+
field_type: z.ZodUnion<z.ZodLiteral<"text" | "date" | "integer" | "digit_sequence" | "multiple_choice" | "calendar_slot">[]>;
|
|
46
46
|
required: z.ZodDefault<z.ZodBoolean>;
|
|
47
47
|
choices: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
48
48
|
is_search_field: z.ZodDefault<z.ZodBoolean>;
|
package/dist/src/action-item.js
CHANGED
|
@@ -37,7 +37,7 @@ exports.ActionItem = exports.TodoItem = exports.SayItem = exports.SerializableFi
|
|
|
37
37
|
exports.Field = Field;
|
|
38
38
|
exports.Say = Say;
|
|
39
39
|
const z = __importStar(require("zod"));
|
|
40
|
-
exports.FieldItemType = z.union(["text", "date", "
|
|
40
|
+
exports.FieldItemType = z.union(["text", "date", "integer", "digit_sequence", "multiple_choice", "calendar_slot"].map((val) => z.literal(val)));
|
|
41
41
|
exports.FieldItem = z
|
|
42
42
|
.object({
|
|
43
43
|
item_type: z.literal("field"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"action-item.js","sourceRoot":"","sources":["../../src/action-item.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+DA,sBAqBC;AAED,kBAKC;AA3FD,uCAAyB;AAEZ,QAAA,aAAa,GAAG,CAAC,CAAC,KAAK,CACjC,CAAC,MAAM,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"action-item.js","sourceRoot":"","sources":["../../src/action-item.ts"],"names":[],"mappings":"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"}
|
package/dist/src/agent.d.ts
CHANGED
|
@@ -1,7 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { type AgentSpeechEvent, type BotSessionEnded, type CallerSpeechEvent, type DTMFPressedEvent, type EscalateEvent } from "./events.ts";
|
|
2
|
+
import { HealthContext } from "./health.ts";
|
|
3
|
+
import { Call, Client } from "./index.ts";
|
|
3
4
|
import type { CallInfo } from "./socket/call-info.ts";
|
|
4
5
|
import { TestSession } from "./testing/session.ts";
|
|
6
|
+
import * as z from "zod";
|
|
7
|
+
export declare const _roleplayActionSchema: z.ZodObject<{
|
|
8
|
+
action: z.ZodEnum<{
|
|
9
|
+
hangup: "hangup";
|
|
10
|
+
speak: "speak";
|
|
11
|
+
}>;
|
|
12
|
+
utterance: z.ZodOptional<z.ZodString>;
|
|
13
|
+
}, z.core.$strip>;
|
|
5
14
|
export type { CallInfo } from "./socket/call-info.ts";
|
|
6
15
|
export type IncomingCallAction = {
|
|
7
16
|
action: "accept";
|
|
@@ -16,13 +25,17 @@ export type InboundConnection = {
|
|
|
16
25
|
agent_number: string;
|
|
17
26
|
} | {
|
|
18
27
|
webrtc_code: string;
|
|
28
|
+
} | {
|
|
29
|
+
sip_code: string;
|
|
19
30
|
};
|
|
20
31
|
export declare class Agent {
|
|
21
32
|
private _name?;
|
|
22
33
|
private _organization?;
|
|
23
34
|
private _purpose?;
|
|
35
|
+
private _voice?;
|
|
36
|
+
private _acceptDtmfForNumbers;
|
|
24
37
|
private _logger;
|
|
25
|
-
|
|
38
|
+
_client: Client;
|
|
26
39
|
private _onCallReceived;
|
|
27
40
|
private _onCallStart?;
|
|
28
41
|
private _onCallerSpeech?;
|
|
@@ -34,12 +47,16 @@ export declare class Agent {
|
|
|
34
47
|
private _onActionRequested?;
|
|
35
48
|
private _onActionGeneric?;
|
|
36
49
|
private _onActionHandlers;
|
|
50
|
+
private _onValidateHandlers;
|
|
37
51
|
private _onSessionEnd?;
|
|
52
|
+
private _onEscalate?;
|
|
38
53
|
private _onDtmf?;
|
|
39
54
|
constructor(args?: {
|
|
40
55
|
name?: string;
|
|
41
56
|
organization?: string;
|
|
42
57
|
purpose?: string;
|
|
58
|
+
voice?: string;
|
|
59
|
+
acceptDtmf?: boolean;
|
|
43
60
|
});
|
|
44
61
|
onCallReceived(callback: (callInfo: CallInfo) => Promise<IncomingCallAction>): void;
|
|
45
62
|
onCallStart(callback: (call: Call) => Promise<void>): void;
|
|
@@ -48,11 +65,13 @@ export declare class Agent {
|
|
|
48
65
|
onQuestion(callback: (call: Call, question: string) => Promise<string>): void;
|
|
49
66
|
onTaskComplete(callback: (call: Call, taskId: string) => Promise<void>): void;
|
|
50
67
|
onTaskComplete(taskName: string, callback: (call: Call) => Promise<void>): void;
|
|
68
|
+
onValidate(fieldKey: string, callback: (call: Call, value: unknown) => Promise<true | [false, string]>): void;
|
|
51
69
|
onSearchQuery(fieldKey: string, callback: (call: Call, query: string) => Promise<[string[], string[]]>): void;
|
|
52
|
-
onActionRequest(callback: (call: Call, intentSummary: string) => Promise<SuggestedAction | undefined>): void;
|
|
70
|
+
onActionRequest(callback: (call: Call, intentSummary: string) => Promise<SuggestedAction | SuggestedAction[] | null | undefined>): void;
|
|
53
71
|
onAction(callback: (call: Call, actionKey: string) => Promise<void>): void;
|
|
54
72
|
onAction(actionKey: string, callback: (call: Call) => Promise<void>): void;
|
|
55
73
|
onSessionEnd(callback: (call: Call, event: BotSessionEnded) => Promise<void>): void;
|
|
74
|
+
onEscalate(callback: (call: Call, event: EscalateEvent) => Promise<void>): void;
|
|
56
75
|
onDtmf(callback: (call: Call, event: DTMFPressedEvent) => Promise<void>): void;
|
|
57
76
|
get handlers(): {
|
|
58
77
|
onCallReceived: (callInfo: CallInfo) => Promise<IncomingCallAction>;
|
|
@@ -62,23 +81,24 @@ export declare class Agent {
|
|
|
62
81
|
onQuestion: (call: Call, question: string) => Promise<string>;
|
|
63
82
|
onTaskComplete: (taskId: string, call: Call) => Promise<void>;
|
|
64
83
|
onSearchQuery: (fieldKey: string, call: Call, query: string) => Promise<[string[], string[]]>;
|
|
65
|
-
onActionRequest: (call: Call, intentSummary: string) => Promise<SuggestedAction | undefined>;
|
|
84
|
+
onActionRequest: (call: Call, intentSummary: string) => Promise<SuggestedAction | SuggestedAction[] | null | undefined>;
|
|
66
85
|
onAction: (actionKey: string, call: Call) => Promise<void>;
|
|
67
86
|
onSessionEnd: (call: Call, event: BotSessionEnded) => Promise<void>;
|
|
68
87
|
};
|
|
69
88
|
onReachPerson(callback: (call: Call, availability: string) => Promise<void>): void;
|
|
70
89
|
listenPhone(phoneNumber: string): Promise<void>;
|
|
71
90
|
listenWebrtc(webrtcCode?: string): Promise<void>;
|
|
91
|
+
listenSip(sipCode: string): Promise<void>;
|
|
72
92
|
callLocal(): Promise<void>;
|
|
73
93
|
private _dispatchEvent;
|
|
74
|
-
_initCall(variables?: Record<string, any>): Promise<Call>;
|
|
75
|
-
_attachToCall(callId: string, initialVariables?: Record<string, any>, testSession?: TestSession, route?: string): Promise<void>;
|
|
76
|
-
_listenInbound(conn: InboundConnection): Promise<void>;
|
|
94
|
+
_initCall(callId: string, callInfo: CallInfo, variables?: Record<string, any>): Promise<Call>;
|
|
95
|
+
_attachToCall(callId: string, callInfo: CallInfo, initialVariables?: Record<string, any>, testSession?: TestSession, route?: string): Promise<void>;
|
|
96
|
+
_listenInbound(healthCtx: HealthContext, conn: InboundConnection): Promise<void>;
|
|
77
97
|
private _handleAssignedCall;
|
|
78
98
|
/**
|
|
79
99
|
* @description use the Guava API to call out to a number
|
|
80
100
|
*/
|
|
81
|
-
callPhone(fromNumber: string
|
|
101
|
+
callPhone(fromNumber: string, toNumber: string, variables?: Record<string, any>): Promise<void>;
|
|
82
102
|
/**
|
|
83
103
|
* Run the agent against a live test session.
|
|
84
104
|
*
|
|
@@ -140,7 +160,7 @@ export declare class Agent {
|
|
|
140
160
|
* affecting the original agent.
|
|
141
161
|
*/
|
|
142
162
|
patch(): Agent;
|
|
143
|
-
|
|
163
|
+
_serveCampaign(healthCtx: HealthContext, campaignCode: string): Promise<void>;
|
|
144
164
|
/**
|
|
145
165
|
* Attach this agent to an active Guava campaign and handle outbound calls.
|
|
146
166
|
*
|
|
@@ -156,5 +176,5 @@ export declare class Agent {
|
|
|
156
176
|
/** @deprecated Use {@link listenPhone} instead. */
|
|
157
177
|
inboundPhone(phoneNumber: string): Promise<void>;
|
|
158
178
|
/** @deprecated Use {@link callPhone} instead. */
|
|
159
|
-
outboundPhone(fromNumber: string
|
|
179
|
+
outboundPhone(fromNumber: string, toNumber: string, variables?: Record<string, any>): Promise<void>;
|
|
160
180
|
}
|