@guava-ai/guava-sdk 0.18.0 → 0.20.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/example.test.d.ts +5 -0
- package/dist/examples/example.test.js +46 -0
- package/dist/examples/example.test.js.map +1 -0
- package/dist/examples/help-desk.d.ts +3 -1
- package/dist/examples/help-desk.js +25 -9
- package/dist/examples/help-desk.js.map +1 -1
- package/dist/examples/property-insurance.js +4 -1
- package/dist/examples/property-insurance.js.map +1 -1
- package/dist/examples/restaurant-waitlist.js +4 -1
- package/dist/examples/restaurant-waitlist.js.map +1 -1
- package/dist/examples/scheduling-outbound.js +6 -0
- package/dist/examples/scheduling-outbound.js.map +1 -1
- package/dist/src/action-item.d.ts +4 -4
- package/dist/src/agent.d.ts +85 -18
- package/dist/src/agent.js +404 -129
- package/dist/src/agent.js.map +1 -1
- package/dist/src/auth.d.ts +27 -0
- package/dist/src/auth.js +127 -0
- package/dist/src/auth.js.map +1 -0
- package/dist/src/call.d.ts +1 -1
- package/dist/src/call.js +2 -2
- package/dist/src/call.js.map +1 -1
- package/dist/src/client.d.ts +38 -12
- package/dist/src/client.js +88 -16
- package/dist/src/client.js.map +1 -1
- package/dist/src/commands.d.ts +3 -3
- package/dist/src/events.d.ts +87 -0
- package/dist/src/events.js +25 -6
- package/dist/src/events.js.map +1 -1
- package/dist/src/helpers/llm.d.ts +2 -0
- package/dist/src/helpers/llm.js +17 -0
- package/dist/src/helpers/llm.js.map +1 -0
- package/dist/src/index.d.ts +4 -0
- package/dist/src/index.js +5 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/logging.js +16 -11
- package/dist/src/logging.js.map +1 -1
- package/dist/src/sms.d.ts +19 -0
- package/dist/src/sms.js +52 -0
- package/dist/src/sms.js.map +1 -0
- package/dist/src/socket/call-info.d.ts +35 -0
- package/dist/src/socket/call-info.js +59 -0
- package/dist/src/socket/call-info.js.map +1 -0
- package/dist/src/socket/client.d.ts +51 -0
- package/dist/src/socket/client.js +455 -0
- package/dist/src/socket/client.js.map +1 -0
- package/dist/src/socket/listen-inbound.d.ts +83 -0
- package/dist/src/socket/listen-inbound.js +82 -0
- package/dist/src/socket/listen-inbound.js.map +1 -0
- package/dist/src/socket/protocol.d.ts +127 -0
- package/dist/src/socket/protocol.js +69 -0
- package/dist/src/socket/protocol.js.map +1 -0
- package/dist/src/socket/utils.d.ts +8 -0
- package/dist/src/socket/utils.js +26 -0
- package/dist/src/socket/utils.js.map +1 -0
- package/dist/src/telemetry.d.ts +3 -3
- package/dist/src/telemetry.js +9 -7
- package/dist/src/telemetry.js.map +1 -1
- package/dist/src/testing/chat.d.ts +2 -0
- package/dist/src/testing/chat.js +181 -0
- package/dist/src/testing/chat.js.map +1 -0
- package/dist/src/testing/mocks.d.ts +6 -0
- package/dist/src/testing/mocks.js +14 -0
- package/dist/src/testing/mocks.js.map +1 -0
- package/dist/src/testing/protocol.d.ts +46 -0
- package/dist/src/testing/protocol.js +61 -0
- package/dist/src/testing/protocol.js.map +1 -0
- package/dist/src/testing/session.d.ts +26 -0
- package/dist/src/testing/session.js +219 -0
- package/dist/src/testing/session.js.map +1 -0
- package/dist/src/utils.d.ts +2 -0
- package/dist/src/utils.js +19 -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/example.test.ts +58 -0
- package/examples/help-desk.ts +14 -3
- package/examples/property-insurance.ts +3 -1
- package/examples/restaurant-waitlist.ts +3 -1
- package/examples/scheduling-outbound.ts +7 -0
- package/package.json +10 -2
- package/src/agent.ts +386 -166
- package/src/auth.ts +109 -0
- package/src/call.ts +3 -3
- package/src/client.ts +119 -18
- package/src/events.ts +52 -10
- package/src/helpers/llm.ts +20 -0
- package/src/index.ts +4 -0
- package/src/logging.ts +21 -13
- package/src/sms.ts +17 -0
- package/src/socket/call-info.ts +30 -0
- package/src/socket/client.ts +433 -0
- package/src/socket/listen-inbound.ts +62 -0
- package/src/socket/protocol.ts +89 -0
- package/src/socket/utils.ts +25 -0
- package/src/telemetry.ts +11 -8
- package/src/testing/chat.ts +196 -0
- package/src/testing/mocks.ts +12 -0
- package/src/testing/protocol.ts +40 -0
- package/src/testing/session.ts +218 -0
- package/src/utils.ts +19 -1
- package/src/version.ts +1 -1
package/dist/src/events.d.ts
CHANGED
|
@@ -72,8 +72,17 @@ export declare const OutboundCallFailed: z.ZodObject<{
|
|
|
72
72
|
export type OutboundCallFailed = z.infer<typeof OutboundCallFailed>;
|
|
73
73
|
export declare const BotSessionEnded: z.ZodObject<{
|
|
74
74
|
event_type: z.ZodLiteral<"bot-session-ended">;
|
|
75
|
+
termination_reason: z.ZodEnum<{
|
|
76
|
+
"user-hangup": "user-hangup";
|
|
77
|
+
"bot-hangup": "bot-hangup";
|
|
78
|
+
"bot-failure": "bot-failure";
|
|
79
|
+
"bot-transfer": "bot-transfer";
|
|
80
|
+
voicemail: "voicemail";
|
|
81
|
+
}>;
|
|
75
82
|
}, z.core.$strip>;
|
|
76
83
|
export type BotSessionEnded = z.infer<typeof BotSessionEnded>;
|
|
84
|
+
/** Why a bot session ended. */
|
|
85
|
+
export type TerminationReason = BotSessionEnded["termination_reason"];
|
|
77
86
|
export declare const ChoiceQueryEvent: z.ZodObject<{
|
|
78
87
|
event_type: z.ZodLiteral<"choice-query">;
|
|
79
88
|
field_key: z.ZodString;
|
|
@@ -92,6 +101,29 @@ export declare const ExecuteActionEvent: z.ZodObject<{
|
|
|
92
101
|
action_key: z.ZodString;
|
|
93
102
|
}, z.core.$strip>;
|
|
94
103
|
export type ExecuteActionEvent = z.infer<typeof ExecuteActionEvent>;
|
|
104
|
+
export type DTMFDigit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "*" | "#" | "A" | "B" | "C" | "D";
|
|
105
|
+
export declare const DTMFPressedEvent: z.ZodObject<{
|
|
106
|
+
event_type: z.ZodLiteral<"dtmf">;
|
|
107
|
+
digit: z.ZodEnum<{
|
|
108
|
+
0: "0";
|
|
109
|
+
1: "1";
|
|
110
|
+
2: "2";
|
|
111
|
+
3: "3";
|
|
112
|
+
4: "4";
|
|
113
|
+
5: "5";
|
|
114
|
+
6: "6";
|
|
115
|
+
7: "7";
|
|
116
|
+
8: "8";
|
|
117
|
+
9: "9";
|
|
118
|
+
"*": "*";
|
|
119
|
+
"#": "#";
|
|
120
|
+
A: "A";
|
|
121
|
+
B: "B";
|
|
122
|
+
C: "C";
|
|
123
|
+
D: "D";
|
|
124
|
+
}>;
|
|
125
|
+
}, z.core.$strip>;
|
|
126
|
+
export type DTMFPressedEvent = z.infer<typeof DTMFPressedEvent>;
|
|
95
127
|
export declare const GuavaEvent: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
96
128
|
event_type: z.ZodLiteral<"session-started">;
|
|
97
129
|
session_id: z.ZodString;
|
|
@@ -135,6 +167,13 @@ export declare const GuavaEvent: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
135
167
|
error_reason: z.ZodString;
|
|
136
168
|
}, z.core.$strip>, z.ZodObject<{
|
|
137
169
|
event_type: z.ZodLiteral<"bot-session-ended">;
|
|
170
|
+
termination_reason: z.ZodEnum<{
|
|
171
|
+
"user-hangup": "user-hangup";
|
|
172
|
+
"bot-hangup": "bot-hangup";
|
|
173
|
+
"bot-failure": "bot-failure";
|
|
174
|
+
"bot-transfer": "bot-transfer";
|
|
175
|
+
voicemail: "voicemail";
|
|
176
|
+
}>;
|
|
138
177
|
}, z.core.$strip>, z.ZodObject<{
|
|
139
178
|
event_type: z.ZodLiteral<"choice-query">;
|
|
140
179
|
field_key: z.ZodString;
|
|
@@ -147,8 +186,29 @@ export declare const GuavaEvent: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
147
186
|
}, z.core.$strip>, z.ZodObject<{
|
|
148
187
|
event_type: z.ZodLiteral<"execute-action">;
|
|
149
188
|
action_key: z.ZodString;
|
|
189
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
190
|
+
event_type: z.ZodLiteral<"dtmf">;
|
|
191
|
+
digit: z.ZodEnum<{
|
|
192
|
+
0: "0";
|
|
193
|
+
1: "1";
|
|
194
|
+
2: "2";
|
|
195
|
+
3: "3";
|
|
196
|
+
4: "4";
|
|
197
|
+
5: "5";
|
|
198
|
+
6: "6";
|
|
199
|
+
7: "7";
|
|
200
|
+
8: "8";
|
|
201
|
+
9: "9";
|
|
202
|
+
"*": "*";
|
|
203
|
+
"#": "#";
|
|
204
|
+
A: "A";
|
|
205
|
+
B: "B";
|
|
206
|
+
C: "C";
|
|
207
|
+
D: "D";
|
|
208
|
+
}>;
|
|
150
209
|
}, z.core.$strip>], "event_type">;
|
|
151
210
|
export type GuavaEvent = z.infer<typeof GuavaEvent>;
|
|
211
|
+
export declare function decodeEventDict(data: Record<string, unknown>): GuavaEvent | null;
|
|
152
212
|
export declare function decodeEvent(serialized_event: string | ArrayBuffer | Buffer | Buffer[]): GuavaEvent | null;
|
|
153
213
|
export declare const InboundTunnelEvent: z.ZodObject<{
|
|
154
214
|
call_id: z.ZodString;
|
|
@@ -195,6 +255,13 @@ export declare const InboundTunnelEvent: z.ZodObject<{
|
|
|
195
255
|
error_reason: z.ZodString;
|
|
196
256
|
}, z.core.$strip>, z.ZodObject<{
|
|
197
257
|
event_type: z.ZodLiteral<"bot-session-ended">;
|
|
258
|
+
termination_reason: z.ZodEnum<{
|
|
259
|
+
"user-hangup": "user-hangup";
|
|
260
|
+
"bot-hangup": "bot-hangup";
|
|
261
|
+
"bot-failure": "bot-failure";
|
|
262
|
+
"bot-transfer": "bot-transfer";
|
|
263
|
+
voicemail: "voicemail";
|
|
264
|
+
}>;
|
|
198
265
|
}, z.core.$strip>, z.ZodObject<{
|
|
199
266
|
event_type: z.ZodLiteral<"choice-query">;
|
|
200
267
|
field_key: z.ZodString;
|
|
@@ -207,6 +274,26 @@ export declare const InboundTunnelEvent: z.ZodObject<{
|
|
|
207
274
|
}, z.core.$strip>, z.ZodObject<{
|
|
208
275
|
event_type: z.ZodLiteral<"execute-action">;
|
|
209
276
|
action_key: z.ZodString;
|
|
277
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
278
|
+
event_type: z.ZodLiteral<"dtmf">;
|
|
279
|
+
digit: z.ZodEnum<{
|
|
280
|
+
0: "0";
|
|
281
|
+
1: "1";
|
|
282
|
+
2: "2";
|
|
283
|
+
3: "3";
|
|
284
|
+
4: "4";
|
|
285
|
+
5: "5";
|
|
286
|
+
6: "6";
|
|
287
|
+
7: "7";
|
|
288
|
+
8: "8";
|
|
289
|
+
9: "9";
|
|
290
|
+
"*": "*";
|
|
291
|
+
"#": "#";
|
|
292
|
+
A: "A";
|
|
293
|
+
B: "B";
|
|
294
|
+
C: "C";
|
|
295
|
+
D: "D";
|
|
296
|
+
}>;
|
|
210
297
|
}, z.core.$strip>], "event_type">;
|
|
211
298
|
}, z.core.$strip>;
|
|
212
299
|
export type InboundTunnelEvent = z.infer<typeof InboundTunnelEvent>;
|
package/dist/src/events.js
CHANGED
|
@@ -33,7 +33,8 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.InboundTunnelEvent = exports.GuavaEvent = exports.ExecuteActionEvent = exports.ActionRequestEvent = exports.ChoiceQueryEvent = exports.BotSessionEnded = exports.OutboundCallFailed = exports.OutboundCallConnected = exports.TaskCompletedEvent = exports.ActionItemCompletedEvent = exports.IntentEvent = exports.AgentQuestionEvent = exports.WarningEvent = exports.ErrorEvent = exports.AgentSpeechEvent = exports.CallerSpeechEvent = exports.InboundCallEvent = exports.SessionStartedEvent = void 0;
|
|
36
|
+
exports.InboundTunnelEvent = exports.GuavaEvent = exports.DTMFPressedEvent = exports.ExecuteActionEvent = exports.ActionRequestEvent = exports.ChoiceQueryEvent = exports.BotSessionEnded = exports.OutboundCallFailed = exports.OutboundCallConnected = exports.TaskCompletedEvent = exports.ActionItemCompletedEvent = exports.IntentEvent = exports.AgentQuestionEvent = exports.WarningEvent = exports.ErrorEvent = exports.AgentSpeechEvent = exports.CallerSpeechEvent = exports.InboundCallEvent = exports.SessionStartedEvent = void 0;
|
|
37
|
+
exports.decodeEventDict = decodeEventDict;
|
|
37
38
|
exports.decodeEvent = decodeEvent;
|
|
38
39
|
const z = __importStar(require("zod"));
|
|
39
40
|
exports.SessionStartedEvent = z.object({
|
|
@@ -97,6 +98,13 @@ exports.OutboundCallFailed = z.object({
|
|
|
97
98
|
});
|
|
98
99
|
exports.BotSessionEnded = z.object({
|
|
99
100
|
event_type: z.literal("bot-session-ended"),
|
|
101
|
+
termination_reason: z.enum([
|
|
102
|
+
"user-hangup",
|
|
103
|
+
"bot-hangup",
|
|
104
|
+
"bot-failure",
|
|
105
|
+
"bot-transfer",
|
|
106
|
+
"voicemail",
|
|
107
|
+
]),
|
|
100
108
|
});
|
|
101
109
|
exports.ChoiceQueryEvent = z.object({
|
|
102
110
|
event_type: z.literal("choice-query"),
|
|
@@ -113,6 +121,10 @@ exports.ExecuteActionEvent = z.object({
|
|
|
113
121
|
event_type: z.literal("execute-action"),
|
|
114
122
|
action_key: z.string(),
|
|
115
123
|
});
|
|
124
|
+
exports.DTMFPressedEvent = z.object({
|
|
125
|
+
event_type: z.literal("dtmf"),
|
|
126
|
+
digit: z.enum(["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "*", "#", "A", "B", "C", "D"]),
|
|
127
|
+
});
|
|
116
128
|
exports.GuavaEvent = z.discriminatedUnion("event_type", [
|
|
117
129
|
exports.SessionStartedEvent,
|
|
118
130
|
exports.InboundCallEvent,
|
|
@@ -130,8 +142,19 @@ exports.GuavaEvent = z.discriminatedUnion("event_type", [
|
|
|
130
142
|
exports.ChoiceQueryEvent,
|
|
131
143
|
exports.ActionRequestEvent,
|
|
132
144
|
exports.ExecuteActionEvent,
|
|
145
|
+
exports.DTMFPressedEvent,
|
|
133
146
|
]);
|
|
134
147
|
const _KNOWN_EVENT_TYPES = new Set(exports.GuavaEvent.options.map((schema) => schema.shape.event_type.value));
|
|
148
|
+
function decodeEventDict(data) {
|
|
149
|
+
if (typeof data.event_type !== "string") {
|
|
150
|
+
throw new Error(`Received event with non-string event_type: ${JSON.stringify(data.event_type)}`);
|
|
151
|
+
}
|
|
152
|
+
if (!_KNOWN_EVENT_TYPES.has(data.event_type)) {
|
|
153
|
+
process.emitWarning(`Received an unknown event type ${data.event_type}. Update to a newer version of this SDK.`);
|
|
154
|
+
return null;
|
|
155
|
+
}
|
|
156
|
+
return exports.GuavaEvent.parse(data);
|
|
157
|
+
}
|
|
135
158
|
function decodeEvent(serialized_event) {
|
|
136
159
|
let data;
|
|
137
160
|
if (typeof serialized_event === "string") {
|
|
@@ -150,11 +173,7 @@ function decodeEvent(serialized_event) {
|
|
|
150
173
|
else {
|
|
151
174
|
data = JSON.parse(serialized_event.toString("utf8"));
|
|
152
175
|
}
|
|
153
|
-
|
|
154
|
-
process.emitWarning(`Received an unknown event type ${data.event_type}. Update to a newer version of this SDK.`);
|
|
155
|
-
return null;
|
|
156
|
-
}
|
|
157
|
-
return exports.GuavaEvent.parse(data);
|
|
176
|
+
return decodeEventDict(data);
|
|
158
177
|
}
|
|
159
178
|
exports.InboundTunnelEvent = z.object({
|
|
160
179
|
call_id: z.string(),
|
package/dist/src/events.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports._generate = _generate;
|
|
4
|
+
const utils_ts_1 = require("../utils.js");
|
|
5
|
+
async function _generate(client, prompt, jsonSchema) {
|
|
6
|
+
const url = new URL("v1/llm/generate", client.getHttpBase());
|
|
7
|
+
const body = { prompt };
|
|
8
|
+
if (jsonSchema !== undefined)
|
|
9
|
+
body.json_schema = jsonSchema;
|
|
10
|
+
const response = await (0, utils_ts_1.fetchOrThrow)(url, {
|
|
11
|
+
method: "POST",
|
|
12
|
+
headers: { ...(await client.headers()), "Content-Type": "application/json" },
|
|
13
|
+
body: JSON.stringify(body),
|
|
14
|
+
});
|
|
15
|
+
return (await response.json()).text;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=llm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"llm.js","sourceRoot":"","sources":["../../../src/helpers/llm.ts"],"names":[],"mappings":";;AAGA,8BAgBC;AAlBD,0CAA2C;AAEpC,KAAK,UAAU,SAAS,CAC7B,MAAc,EACd,MAAc,EACd,UAAmB;IAEnB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,iBAAiB,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;IAC7D,MAAM,IAAI,GAA4B,EAAE,MAAM,EAAE,CAAC;IACjD,IAAI,UAAU,KAAK,SAAS;QAAE,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAE5D,MAAM,QAAQ,GAAG,MAAM,IAAA,uBAAY,EAAC,GAAG,EAAE;QACvC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC5E,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CAAC,CAAC;IAEH,OAAQ,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAsB,CAAC,IAAI,CAAC;AAC5D,CAAC"}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
export { Client, type InboundConnection } from "./client.ts";
|
|
2
|
+
export type { SmsMessage } from "./sms.ts";
|
|
2
3
|
export { CallController, type TaskObjective } from "./call-controller.ts";
|
|
3
4
|
export { Say, Field } from "./action-item.ts";
|
|
4
5
|
export { Logger, getConsoleLogger, getDefaultLogger } from "./logging.ts";
|
|
5
6
|
export { Agent, CallInfo } from "./agent.ts";
|
|
6
7
|
export { Call } from "./call.ts";
|
|
8
|
+
export type { BotSessionEnded, TerminationReason, DTMFPressedEvent, DTMFDigit } from "./events.ts";
|
|
9
|
+
export { TestSession } from "./testing/session.ts";
|
|
10
|
+
export { MockCall } from "./testing/mocks.ts";
|
package/dist/src/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Call = exports.Agent = exports.getDefaultLogger = exports.getConsoleLogger = exports.Field = exports.Say = exports.CallController = exports.Client = void 0;
|
|
3
|
+
exports.MockCall = exports.TestSession = exports.Call = exports.Agent = exports.getDefaultLogger = exports.getConsoleLogger = exports.Field = exports.Say = exports.CallController = exports.Client = void 0;
|
|
4
4
|
var client_ts_1 = require("./client.js");
|
|
5
5
|
Object.defineProperty(exports, "Client", { enumerable: true, get: function () { return client_ts_1.Client; } });
|
|
6
6
|
var call_controller_ts_1 = require("./call-controller.js");
|
|
@@ -15,4 +15,8 @@ var agent_ts_1 = require("./agent.js");
|
|
|
15
15
|
Object.defineProperty(exports, "Agent", { enumerable: true, get: function () { return agent_ts_1.Agent; } });
|
|
16
16
|
var call_ts_1 = require("./call.js");
|
|
17
17
|
Object.defineProperty(exports, "Call", { enumerable: true, get: function () { return call_ts_1.Call; } });
|
|
18
|
+
var session_ts_1 = require("./testing/session.js");
|
|
19
|
+
Object.defineProperty(exports, "TestSession", { enumerable: true, get: function () { return session_ts_1.TestSession; } });
|
|
20
|
+
var mocks_ts_1 = require("./testing/mocks.js");
|
|
21
|
+
Object.defineProperty(exports, "MockCall", { enumerable: true, get: function () { return mocks_ts_1.MockCall; } });
|
|
18
22
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,yCAA6D;AAApD,mGAAA,MAAM,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,yCAA6D;AAApD,mGAAA,MAAM,OAAA;AAEf,2DAA0E;AAAjE,oHAAA,cAAc,OAAA;AACvB,mDAA8C;AAArC,qGAAA,GAAG,OAAA;AAAE,uGAAA,KAAK,OAAA;AACnB,2CAA0E;AAAzD,8GAAA,gBAAgB,OAAA;AAAE,8GAAA,gBAAgB,OAAA;AACnD,uCAA6C;AAApC,iGAAA,KAAK,OAAA;AACd,qCAAiC;AAAxB,+FAAA,IAAI,OAAA;AAEb,mDAAmD;AAA1C,yGAAA,WAAW,OAAA;AACpB,+CAA8C;AAArC,oGAAA,QAAQ,OAAA"}
|
package/dist/src/logging.js
CHANGED
|
@@ -27,21 +27,26 @@ function shouldLog(messageLevel, loggerLevel) {
|
|
|
27
27
|
return LOG_RANKS[messageLevel] <= LOG_RANKS[loggerLevel];
|
|
28
28
|
}
|
|
29
29
|
function noop(format, ...args) { }
|
|
30
|
-
function makeColoredMethod(
|
|
30
|
+
function makeColoredMethod(level, useColor) {
|
|
31
31
|
if (!useColor)
|
|
32
|
-
return
|
|
33
|
-
return (format, ...args) =>
|
|
32
|
+
return (format, ...args) => console[level](format, ...args);
|
|
33
|
+
return (format, ...args) => {
|
|
34
|
+
const now = new Date();
|
|
35
|
+
const time = now.toLocaleTimeString("en-US", {
|
|
36
|
+
hour12: false,
|
|
37
|
+
hour: "2-digit",
|
|
38
|
+
minute: "2-digit",
|
|
39
|
+
second: "2-digit",
|
|
40
|
+
});
|
|
41
|
+
console[level](`${LEVEL_COLORS[level]}[${level.toLocaleUpperCase().padEnd(5)} ${time}] ${format}${ANSI_RESET}`, ...args);
|
|
42
|
+
};
|
|
34
43
|
}
|
|
35
44
|
function getConsoleLogger(loggerLevel, useColor = false) {
|
|
36
45
|
return {
|
|
37
|
-
debug: shouldLog("debug", loggerLevel)
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
warn: shouldLog("warn", loggerLevel) ? makeColoredMethod(console.warn, "warn", useColor) : noop,
|
|
42
|
-
error: shouldLog("error", loggerLevel)
|
|
43
|
-
? makeColoredMethod(console.error, "error", useColor)
|
|
44
|
-
: noop,
|
|
46
|
+
debug: shouldLog("debug", loggerLevel) ? makeColoredMethod("debug", useColor) : noop,
|
|
47
|
+
info: shouldLog("info", loggerLevel) ? makeColoredMethod("info", useColor) : noop,
|
|
48
|
+
warn: shouldLog("warn", loggerLevel) ? makeColoredMethod("warn", useColor) : noop,
|
|
49
|
+
error: shouldLog("error", loggerLevel) ? makeColoredMethod("error", useColor) : noop,
|
|
45
50
|
};
|
|
46
51
|
}
|
|
47
52
|
function getDefaultLogger() {
|
package/dist/src/logging.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/logging.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/logging.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as z from "zod";
|
|
2
|
+
/**
|
|
3
|
+
* An inbound SMS message received on one of your Guava numbers.
|
|
4
|
+
*
|
|
5
|
+
* Field names mirror the wire format returned by `GET /v1/messages`.
|
|
6
|
+
*/
|
|
7
|
+
export declare const SmsMessage: z.ZodObject<{
|
|
8
|
+
id: z.ZodString;
|
|
9
|
+
from_number: z.ZodString;
|
|
10
|
+
to_number: z.ZodString;
|
|
11
|
+
content: z.ZodString;
|
|
12
|
+
received_at: z.ZodString;
|
|
13
|
+
modality: z.ZodLiteral<"sms">;
|
|
14
|
+
direction: z.ZodEnum<{
|
|
15
|
+
inbound: "inbound";
|
|
16
|
+
outbound: "outbound";
|
|
17
|
+
}>;
|
|
18
|
+
}, z.core.$strip>;
|
|
19
|
+
export type SmsMessage = z.infer<typeof SmsMessage>;
|
package/dist/src/sms.js
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.SmsMessage = void 0;
|
|
37
|
+
const z = __importStar(require("zod"));
|
|
38
|
+
/**
|
|
39
|
+
* An inbound SMS message received on one of your Guava numbers.
|
|
40
|
+
*
|
|
41
|
+
* Field names mirror the wire format returned by `GET /v1/messages`.
|
|
42
|
+
*/
|
|
43
|
+
exports.SmsMessage = z.object({
|
|
44
|
+
id: z.string(),
|
|
45
|
+
from_number: z.string(),
|
|
46
|
+
to_number: z.string(),
|
|
47
|
+
content: z.string(),
|
|
48
|
+
received_at: z.string(),
|
|
49
|
+
modality: z.literal("sms"),
|
|
50
|
+
direction: z.enum(["inbound", "outbound"]),
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=sms.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sms.js","sourceRoot":"","sources":["../../src/sms.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AAEzB;;;;GAIG;AACU,QAAA,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAC1B,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;CAC3C,CAAC,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import * as z from "zod";
|
|
2
|
+
export declare const PSTNCallInfo: z.ZodObject<{
|
|
3
|
+
call_type: z.ZodLiteral<"pstn">;
|
|
4
|
+
from_number: z.ZodNullable<z.ZodString>;
|
|
5
|
+
to_number: z.ZodString;
|
|
6
|
+
caller_id: z.ZodNullable<z.ZodString>;
|
|
7
|
+
}, z.core.$strip>;
|
|
8
|
+
export type PSTNCallInfo = z.infer<typeof PSTNCallInfo>;
|
|
9
|
+
export declare const WebRTCCallInfo: z.ZodObject<{
|
|
10
|
+
call_type: z.ZodLiteral<"webrtc">;
|
|
11
|
+
webrtc_code: z.ZodString;
|
|
12
|
+
}, z.core.$strip>;
|
|
13
|
+
export type WebRTCCallInfo = z.infer<typeof WebRTCCallInfo>;
|
|
14
|
+
export declare const SIPCallInfo: z.ZodObject<{
|
|
15
|
+
call_type: z.ZodLiteral<"sip">;
|
|
16
|
+
from_aor: z.ZodString;
|
|
17
|
+
sip_code: z.ZodOptional<z.ZodString>;
|
|
18
|
+
sip_headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
19
|
+
}, z.core.$strip>;
|
|
20
|
+
export type SIPCallInfo = z.infer<typeof SIPCallInfo>;
|
|
21
|
+
export declare const CallInfo: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
22
|
+
call_type: z.ZodLiteral<"pstn">;
|
|
23
|
+
from_number: z.ZodNullable<z.ZodString>;
|
|
24
|
+
to_number: z.ZodString;
|
|
25
|
+
caller_id: z.ZodNullable<z.ZodString>;
|
|
26
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
27
|
+
call_type: z.ZodLiteral<"webrtc">;
|
|
28
|
+
webrtc_code: z.ZodString;
|
|
29
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
30
|
+
call_type: z.ZodLiteral<"sip">;
|
|
31
|
+
from_aor: z.ZodString;
|
|
32
|
+
sip_code: z.ZodOptional<z.ZodString>;
|
|
33
|
+
sip_headers: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
34
|
+
}, z.core.$strip>], "call_type">;
|
|
35
|
+
export type CallInfo = z.infer<typeof CallInfo>;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.CallInfo = exports.SIPCallInfo = exports.WebRTCCallInfo = exports.PSTNCallInfo = void 0;
|
|
37
|
+
const z = __importStar(require("zod"));
|
|
38
|
+
exports.PSTNCallInfo = z.object({
|
|
39
|
+
call_type: z.literal("pstn"),
|
|
40
|
+
from_number: z.string().nullable(),
|
|
41
|
+
to_number: z.string(),
|
|
42
|
+
caller_id: z.string().nullable(),
|
|
43
|
+
});
|
|
44
|
+
exports.WebRTCCallInfo = z.object({
|
|
45
|
+
call_type: z.literal("webrtc"),
|
|
46
|
+
webrtc_code: z.string(),
|
|
47
|
+
});
|
|
48
|
+
exports.SIPCallInfo = z.object({
|
|
49
|
+
call_type: z.literal("sip"),
|
|
50
|
+
from_aor: z.string(),
|
|
51
|
+
sip_code: z.string().optional(),
|
|
52
|
+
sip_headers: z.record(z.string(), z.string()).default({}),
|
|
53
|
+
});
|
|
54
|
+
exports.CallInfo = z.discriminatedUnion("call_type", [
|
|
55
|
+
exports.PSTNCallInfo,
|
|
56
|
+
exports.WebRTCCallInfo,
|
|
57
|
+
exports.SIPCallInfo,
|
|
58
|
+
]);
|
|
59
|
+
//# sourceMappingURL=call-info.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call-info.js","sourceRoot":"","sources":["../../../src/socket/call-info.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AAEZ,QAAA,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAGU,QAAA,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC9B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;CACxB,CAAC,CAAC;AAGU,QAAA,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC1D,CAAC,CAAC;AAGU,QAAA,QAAQ,GAAG,CAAC,CAAC,kBAAkB,CAAC,WAAW,EAAE;IACxD,oBAAY;IACZ,sBAAc;IACd,mBAAW;CACZ,CAAC,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import type { Client } from "../client.ts";
|
|
2
|
+
import type { Logger } from "../logging.ts";
|
|
3
|
+
import { type CloseReason } from "./protocol.ts";
|
|
4
|
+
export declare class GuavaSocketClosedError extends Error {
|
|
5
|
+
readonly reason: CloseReason;
|
|
6
|
+
readonly description: string;
|
|
7
|
+
constructor(reason?: CloseReason, description?: string);
|
|
8
|
+
}
|
|
9
|
+
export declare class GuavaSocketConnectionFailed extends Error {
|
|
10
|
+
constructor();
|
|
11
|
+
}
|
|
12
|
+
export declare class GuavaSocket<SendT, RecvT> {
|
|
13
|
+
private readonly _name;
|
|
14
|
+
private readonly _connectionUrl;
|
|
15
|
+
private readonly _client;
|
|
16
|
+
private readonly _serializer;
|
|
17
|
+
private readonly _deserializer;
|
|
18
|
+
private readonly _maxAgeSeconds?;
|
|
19
|
+
private readonly _socketCreateTime;
|
|
20
|
+
private readonly _connectionId;
|
|
21
|
+
private readonly _openCounter;
|
|
22
|
+
private readonly _logger;
|
|
23
|
+
private _lastSeenSequence;
|
|
24
|
+
private _lastSentSequence;
|
|
25
|
+
private _rtxBuffer;
|
|
26
|
+
private _state;
|
|
27
|
+
private _ws?;
|
|
28
|
+
private _shouldClose;
|
|
29
|
+
private _closeReason?;
|
|
30
|
+
private _closeDescription?;
|
|
31
|
+
private _recvBuffer;
|
|
32
|
+
private _recvWaiters;
|
|
33
|
+
private _readyResolve?;
|
|
34
|
+
private _readyReject?;
|
|
35
|
+
private _reconnectLoopPromise?;
|
|
36
|
+
constructor(_name: string, _connectionUrl: string, _client: Client, _serializer: (msg: SendT) => Record<string, unknown>, _deserializer: (payload: Record<string, unknown>) => RecvT, _maxAgeSeconds?: number | undefined, logger?: Logger);
|
|
37
|
+
isOpen(): boolean;
|
|
38
|
+
private _setCloseReason;
|
|
39
|
+
private _pruneRtxBuffer;
|
|
40
|
+
private _pushPayload;
|
|
41
|
+
private _rejectAllWaiters;
|
|
42
|
+
private _establishSocket;
|
|
43
|
+
private _runConnection;
|
|
44
|
+
private _reconnectLoop;
|
|
45
|
+
connect(): Promise<this>;
|
|
46
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
47
|
+
close(): Promise<void>;
|
|
48
|
+
send(message: SendT): void;
|
|
49
|
+
_recv(): Promise<RecvT>;
|
|
50
|
+
[Symbol.asyncIterator](): AsyncGenerator<RecvT>;
|
|
51
|
+
}
|