@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
package/dist/src/commands.js
CHANGED
|
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.InboundTunnelCommand = exports.AnyCommand = exports.RetryTaskCommand = exports.ChoiceResultCommand = exports.ActionSuggestionCommand = exports.RegisteredHooksCommand = exports.TransferCommand = exports.SendInstructionCommand = exports.SetLanguageModeCommand = exports.Language = exports.SetPersona = exports.AnswerQuestionCommand = exports.ReadScriptCommand = exports.SetTaskCommand = exports.AcceptInboundCallCommand = exports.RejectInboundCallCommand = exports.ListenInboundCommand = exports.StartOutboundCallCommand = void 0;
|
|
36
|
+
exports.InboundTunnelCommand = exports.AnyCommand = exports.SetAgentDTMFCommand = exports.RetryTaskCommand = exports.ChoiceResultCommand = exports.ActionSuggestionCommand = exports.ActionCandidate = exports.RegisteredHooksCommand = exports.TransferCommand = exports.SendInstructionCommand = exports.SetLanguageModeCommand = exports.Language = exports.SetPersona = exports.AnswerQuestionCommand = exports.ReadScriptCommand = exports.SetTaskCommand = exports.AcceptInboundCallCommand = exports.RejectInboundCallCommand = exports.ListenInboundCommand = exports.StartOutboundCallCommand = void 0;
|
|
37
37
|
const z = __importStar(require("zod"));
|
|
38
38
|
const action_item_ts_1 = require("./action-item.js");
|
|
39
39
|
exports.StartOutboundCallCommand = z.strictObject({
|
|
@@ -100,12 +100,17 @@ exports.RegisteredHooksCommand = z.strictObject({
|
|
|
100
100
|
has_on_question: z.boolean(),
|
|
101
101
|
has_on_intent: z.boolean(),
|
|
102
102
|
has_on_action_requested: z.boolean().optional().default(false),
|
|
103
|
+
has_on_escalate: z.boolean().optional().default(false),
|
|
104
|
+
accept_dtmf_for_numbers: z.boolean().default(true),
|
|
105
|
+
});
|
|
106
|
+
exports.ActionCandidate = z.strictObject({
|
|
107
|
+
key: z.string(),
|
|
108
|
+
description: z.string().default(""),
|
|
103
109
|
});
|
|
104
110
|
exports.ActionSuggestionCommand = z.strictObject({
|
|
105
111
|
command_type: z.literal("action-suggestion"),
|
|
106
112
|
intent_id: z.string(),
|
|
107
|
-
|
|
108
|
-
action_description: z.string().default(""),
|
|
113
|
+
actions: z.array(exports.ActionCandidate),
|
|
109
114
|
});
|
|
110
115
|
exports.ChoiceResultCommand = z.strictObject({
|
|
111
116
|
command_type: z.literal("choice-query-result"),
|
|
@@ -118,6 +123,10 @@ exports.RetryTaskCommand = z.strictObject({
|
|
|
118
123
|
command_type: z.literal("retry-task"),
|
|
119
124
|
reason: z.string(),
|
|
120
125
|
});
|
|
126
|
+
exports.SetAgentDTMFCommand = z.strictObject({
|
|
127
|
+
command_type: z.literal("set-agent-dtmf"),
|
|
128
|
+
enabled: z.boolean(),
|
|
129
|
+
});
|
|
121
130
|
exports.AnyCommand = z.union([
|
|
122
131
|
exports.StartOutboundCallCommand,
|
|
123
132
|
exports.ListenInboundCommand,
|
|
@@ -134,6 +143,7 @@ exports.AnyCommand = z.union([
|
|
|
134
143
|
exports.ChoiceResultCommand,
|
|
135
144
|
exports.ActionSuggestionCommand,
|
|
136
145
|
exports.RetryTaskCommand,
|
|
146
|
+
exports.SetAgentDTMFCommand,
|
|
137
147
|
]);
|
|
138
148
|
exports.InboundTunnelCommand = z.strictObject({
|
|
139
149
|
call_id: z.string(),
|
package/dist/src/commands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/commands.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/commands.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,qDAA8C;AAEjC,QAAA,wBAAwB,GAAG,CAAC,CAAC,YAAY,CAAC;IACrD,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IAEzC,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE;CACpB,CAAC,CAAC;AAGU,QAAA,oBAAoB,GAAG,CAAC;KAClC,YAAY,CAAC;IACZ,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IAEzC,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC9C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CAChD,CAAC;KACD,MAAM,CACL,CAAC,GAAG,EAAE,EAAE;IACN,OAAO,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC;AACrF,CAAC,EACD,EAAE,KAAK,EAAE,oDAAoD,EAAE,CAChE,CAAC;AAGS,QAAA,wBAAwB,GAAG,CAAC,CAAC,YAAY,CAAC;IACrD,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;CAC1C,CAAC,CAAC;AAGU,QAAA,wBAAwB,GAAG,CAAC,CAAC,YAAY,CAAC;IACrD,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;CAC1C,CAAC,CAAC;AAGU,QAAA,cAAc,GAAG,CAAC,CAAC,YAAY,CAAC;IAC3C,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,2BAAU,CAAC;IACjC,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAGU,QAAA,iBAAiB,GAAG,CAAC,CAAC,YAAY,CAAC;IAC9C,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IACtC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAGU,QAAA,qBAAqB,GAAG,CAAC,CAAC,YAAY,CAAC;IAClD,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;IAC1C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAGU,QAAA,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC;IACvC,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC;IACtC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAGU,QAAA,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;AAGzE,QAAA,sBAAsB,GAAG,CAAC,CAAC,YAAY,CAAC;IACnD,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;IAC5C,OAAO,EAAE,gBAAQ,CAAC,OAAO,CAAC,SAAS,CAAC;IACpC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,gBAAQ,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACzC,CAAC,CAAC;AAGU,QAAA,sBAAsB,GAAG,CAAC,CAAC,YAAY,CAAC;IACnD,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;IAC3C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;CACxB,CAAC,CAAC;AAGU,QAAA,eAAe,GAAG,CAAC,CAAC,YAAY,CAAC;IAC5C,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;IACxC,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;IAC5B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACrD,CAAC,CAAC;AAGU,QAAA,sBAAsB,GAAG,CAAC,CAAC,YAAY,CAAC;IACnD,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;IAC3C,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE;IAC5B,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE;IAC1B,uBAAuB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC9D,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACtD,uBAAuB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACnD,CAAC,CAAC;AAGU,QAAA,eAAe,GAAG,CAAC,CAAC,YAAY,CAAC;IAC5C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CACpC,CAAC,CAAC;AAGU,QAAA,uBAAuB,GAAG,CAAC,CAAC,YAAY,CAAC;IACpD,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;IAC5C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,uBAAe,CAAC;CAClC,CAAC,CAAC;AAGU,QAAA,mBAAmB,GAAG,CAAC,CAAC,YAAY,CAAC;IAChD,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAC;IAC9C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACpC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;CACnC,CAAC,CAAC;AAGU,QAAA,gBAAgB,GAAG,CAAC,CAAC,YAAY,CAAC;IAC7C,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;CACnB,CAAC,CAAC;AAGU,QAAA,mBAAmB,GAAG,CAAC,CAAC,YAAY,CAAC;IAChD,YAAY,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;CACrB,CAAC,CAAC;AAGU,QAAA,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC;IAChC,gCAAwB;IACxB,4BAAoB;IACpB,gCAAwB;IACxB,gCAAwB;IACxB,sBAAc;IACd,yBAAiB;IACjB,6BAAqB;IACrB,kBAAU;IACV,8BAAsB;IACtB,8BAAsB;IACtB,uBAAe;IACf,8BAAsB;IACtB,2BAAmB;IACnB,+BAAuB;IACvB,wBAAgB;IAChB,2BAAmB;CACpB,CAAC,CAAC;AAGU,QAAA,oBAAoB,GAAG,CAAC,CAAC,YAAY,CAAC;IACjD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,kBAAU;CACpB,CAAC,CAAC"}
|
package/dist/src/events.d.ts
CHANGED
|
@@ -11,11 +11,13 @@ export declare const InboundCallEvent: z.ZodObject<{
|
|
|
11
11
|
}, z.core.$strip>;
|
|
12
12
|
export type InboundCallEvent = z.infer<typeof InboundCallEvent>;
|
|
13
13
|
/**
|
|
14
|
-
* @description The caller has said something.
|
|
14
|
+
* @description The caller has said something. For utterances with the same id,
|
|
15
|
+
* all but the latest is out of date.
|
|
15
16
|
*/
|
|
16
17
|
export declare const CallerSpeechEvent: z.ZodObject<{
|
|
17
18
|
event_type: z.ZodLiteral<"caller-speech">;
|
|
18
19
|
utterance: z.ZodString;
|
|
20
|
+
utterance_id: z.ZodOptional<z.ZodString>;
|
|
19
21
|
}, z.core.$strip>;
|
|
20
22
|
export type CallerSpeechEvent = z.infer<typeof CallerSpeechEvent>;
|
|
21
23
|
/**
|
|
@@ -123,8 +125,17 @@ export declare const DTMFPressedEvent: z.ZodObject<{
|
|
|
123
125
|
C: "C";
|
|
124
126
|
D: "D";
|
|
125
127
|
}>;
|
|
128
|
+
recent_digits: z.ZodDefault<z.ZodString>;
|
|
126
129
|
}, z.core.$strip>;
|
|
127
130
|
export type DTMFPressedEvent = z.infer<typeof DTMFPressedEvent>;
|
|
131
|
+
export declare const EscalateEvent: z.ZodObject<{
|
|
132
|
+
event_type: z.ZodLiteral<"escalate">;
|
|
133
|
+
requested_by: z.ZodDefault<z.ZodEnum<{
|
|
134
|
+
human: "human";
|
|
135
|
+
agent: "agent";
|
|
136
|
+
}>>;
|
|
137
|
+
}, z.core.$strip>;
|
|
138
|
+
export type EscalateEvent = z.infer<typeof EscalateEvent>;
|
|
128
139
|
export declare const GuavaEvent: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
129
140
|
event_type: z.ZodLiteral<"session-started">;
|
|
130
141
|
session_id: z.ZodString;
|
|
@@ -135,6 +146,7 @@ export declare const GuavaEvent: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
135
146
|
}, z.core.$strip>, z.ZodObject<{
|
|
136
147
|
event_type: z.ZodLiteral<"caller-speech">;
|
|
137
148
|
utterance: z.ZodString;
|
|
149
|
+
utterance_id: z.ZodOptional<z.ZodString>;
|
|
138
150
|
}, z.core.$strip>, z.ZodObject<{
|
|
139
151
|
event_type: z.ZodLiteral<"agent-speech">;
|
|
140
152
|
utterance: z.ZodString;
|
|
@@ -188,6 +200,12 @@ export declare const GuavaEvent: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
188
200
|
}, z.core.$strip>, z.ZodObject<{
|
|
189
201
|
event_type: z.ZodLiteral<"execute-action">;
|
|
190
202
|
action_key: z.ZodString;
|
|
203
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
204
|
+
event_type: z.ZodLiteral<"escalate">;
|
|
205
|
+
requested_by: z.ZodDefault<z.ZodEnum<{
|
|
206
|
+
human: "human";
|
|
207
|
+
agent: "agent";
|
|
208
|
+
}>>;
|
|
191
209
|
}, z.core.$strip>, z.ZodObject<{
|
|
192
210
|
event_type: z.ZodLiteral<"dtmf">;
|
|
193
211
|
digit: z.ZodEnum<{
|
|
@@ -208,6 +226,7 @@ export declare const GuavaEvent: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
|
208
226
|
C: "C";
|
|
209
227
|
D: "D";
|
|
210
228
|
}>;
|
|
229
|
+
recent_digits: z.ZodDefault<z.ZodString>;
|
|
211
230
|
}, z.core.$strip>], "event_type">;
|
|
212
231
|
export type GuavaEvent = z.infer<typeof GuavaEvent>;
|
|
213
232
|
export declare function decodeEventDict(data: Record<string, unknown>): GuavaEvent | null;
|
|
@@ -224,6 +243,7 @@ export declare const InboundTunnelEvent: z.ZodObject<{
|
|
|
224
243
|
}, z.core.$strip>, z.ZodObject<{
|
|
225
244
|
event_type: z.ZodLiteral<"caller-speech">;
|
|
226
245
|
utterance: z.ZodString;
|
|
246
|
+
utterance_id: z.ZodOptional<z.ZodString>;
|
|
227
247
|
}, z.core.$strip>, z.ZodObject<{
|
|
228
248
|
event_type: z.ZodLiteral<"agent-speech">;
|
|
229
249
|
utterance: z.ZodString;
|
|
@@ -277,6 +297,12 @@ export declare const InboundTunnelEvent: z.ZodObject<{
|
|
|
277
297
|
}, z.core.$strip>, z.ZodObject<{
|
|
278
298
|
event_type: z.ZodLiteral<"execute-action">;
|
|
279
299
|
action_key: z.ZodString;
|
|
300
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
301
|
+
event_type: z.ZodLiteral<"escalate">;
|
|
302
|
+
requested_by: z.ZodDefault<z.ZodEnum<{
|
|
303
|
+
human: "human";
|
|
304
|
+
agent: "agent";
|
|
305
|
+
}>>;
|
|
280
306
|
}, z.core.$strip>, z.ZodObject<{
|
|
281
307
|
event_type: z.ZodLiteral<"dtmf">;
|
|
282
308
|
digit: z.ZodEnum<{
|
|
@@ -297,6 +323,7 @@ export declare const InboundTunnelEvent: z.ZodObject<{
|
|
|
297
323
|
C: "C";
|
|
298
324
|
D: "D";
|
|
299
325
|
}>;
|
|
326
|
+
recent_digits: z.ZodDefault<z.ZodString>;
|
|
300
327
|
}, z.core.$strip>], "event_type">;
|
|
301
328
|
}, z.core.$strip>;
|
|
302
329
|
export type InboundTunnelEvent = z.infer<typeof InboundTunnelEvent>;
|
package/dist/src/events.js
CHANGED
|
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
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;
|
|
36
|
+
exports.InboundTunnelEvent = exports.GuavaEvent = exports.EscalateEvent = 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
37
|
exports.decodeEventDict = decodeEventDict;
|
|
38
38
|
exports.decodeEvent = decodeEvent;
|
|
39
39
|
const z = __importStar(require("zod"));
|
|
@@ -47,11 +47,13 @@ exports.InboundCallEvent = z.object({
|
|
|
47
47
|
agent_number: z.e164().nullable(),
|
|
48
48
|
});
|
|
49
49
|
/**
|
|
50
|
-
* @description The caller has said something.
|
|
50
|
+
* @description The caller has said something. For utterances with the same id,
|
|
51
|
+
* all but the latest is out of date.
|
|
51
52
|
*/
|
|
52
53
|
exports.CallerSpeechEvent = z.object({
|
|
53
54
|
event_type: z.literal("caller-speech"),
|
|
54
55
|
utterance: z.string(),
|
|
56
|
+
utterance_id: z.string().optional(),
|
|
55
57
|
});
|
|
56
58
|
/**
|
|
57
59
|
* @description The agent has said something.
|
|
@@ -125,6 +127,11 @@ exports.ExecuteActionEvent = z.object({
|
|
|
125
127
|
exports.DTMFPressedEvent = z.object({
|
|
126
128
|
event_type: z.literal("dtmf"),
|
|
127
129
|
digit: z.enum(["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "*", "#", "A", "B", "C", "D"]),
|
|
130
|
+
recent_digits: z.string().default(""),
|
|
131
|
+
});
|
|
132
|
+
exports.EscalateEvent = z.object({
|
|
133
|
+
event_type: z.literal("escalate"),
|
|
134
|
+
requested_by: z.enum(["human", "agent"]).default("human"),
|
|
128
135
|
});
|
|
129
136
|
exports.GuavaEvent = z.discriminatedUnion("event_type", [
|
|
130
137
|
exports.SessionStartedEvent,
|
|
@@ -143,6 +150,7 @@ exports.GuavaEvent = z.discriminatedUnion("event_type", [
|
|
|
143
150
|
exports.ChoiceQueryEvent,
|
|
144
151
|
exports.ActionRequestEvent,
|
|
145
152
|
exports.ExecuteActionEvent,
|
|
153
|
+
exports.EscalateEvent,
|
|
146
154
|
exports.DTMFPressedEvent,
|
|
147
155
|
]);
|
|
148
156
|
const _KNOWN_EVENT_TYPES = new Set(exports.GuavaEvent.options.map((schema) => schema.shape.event_type.value));
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyLA,0CAaC;AAED,kCAkBC;AA1ND,uCAAyB;AAEZ,QAAA,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC;IACxC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAGU,QAAA,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IACrC,aAAa,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IAClC,YAAY,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC;AAGH;;;GAGG;AACU,QAAA,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC;IAEtC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACpC,CAAC,CAAC;AAGH;;GAEG;AACU,QAAA,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IAErC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACxC,CAAC,CAAC;AAGU,QAAA,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAGU,QAAA,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAChC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAGU,QAAA,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACvC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC;AAGU,QAAA,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC/B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;CAC3B,CAAC,CAAC;AAGU,QAAA,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;IACzC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;CACrB,CAAC,CAAC;AAGU,QAAA,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IAElC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;CACpB,CAAC,CAAC;AAGU,QAAA,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,yBAAyB,CAAC;CACjD,CAAC,CAAC;AAGU,QAAA,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,sBAAsB,CAAC;IAE7C,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE;IACnB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;CACzB,CAAC,CAAC;AAGU,QAAA,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC;IAC1C,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC;QACzB,aAAa;QACb,YAAY;QACZ,aAAa;QACb,cAAc;QACd,WAAW;KACZ,CAAC;IACF,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CAChC,CAAC,CAAC;AAMU,QAAA,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;IACrC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;CACrB,CAAC,CAAC;AAGU,QAAA,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACvC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;CAC3B,CAAC,CAAC;AAGU,QAAA,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC;IACvC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE;CACvB,CAAC,CAAC;AAqBU,QAAA,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC/F,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CACtC,CAAC,CAAC;AAGU,QAAA,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC;IACpC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IACjC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;CAC1D,CAAC,CAAC;AAGU,QAAA,UAAU,GAAG,CAAC,CAAC,kBAAkB,CAAC,YAAY,EAAE;IAC3D,2BAAmB;IACnB,wBAAgB;IAChB,yBAAiB;IACjB,wBAAgB;IAChB,kBAAU;IACV,oBAAY;IACZ,0BAAkB;IAClB,mBAAW;IACX,gCAAwB;IACxB,0BAAkB;IAClB,6BAAqB;IACrB,0BAAkB;IAClB,uBAAe;IACf,wBAAgB;IAChB,0BAAkB;IAClB,0BAAkB;IAClB,qBAAa;IACb,wBAAgB;CACjB,CAAC,CAAC;AAGH,MAAM,kBAAkB,GAAgB,IAAI,GAAG,CAC7C,kBAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAClE,CAAC;AAEF,SAAgB,eAAe,CAAC,IAA6B;IAC3D,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CACb,8CAA8C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAChF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7C,OAAO,CAAC,WAAW,CACjB,kCAAkC,IAAI,CAAC,UAAU,0CAA0C,CAC5F,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,kBAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,SAAgB,WAAW,CACzB,gBAA0D;IAE1D,IAAI,IAAyB,CAAC;IAC9B,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;QACzC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACtC,CAAC;SAAM,IAAI,gBAAgB,YAAY,WAAW,EAAE,CAAC;QACnD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAChE,CAAC;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC3C,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACnC,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACvD,CAAC;IACD,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAEY,QAAA,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,KAAK,EAAE,kBAAU;CAClB,CAAC,CAAC"}
|
|
@@ -0,0 +1,115 @@
|
|
|
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.getAgentNumber = getAgentNumber;
|
|
37
|
+
exports.terminalPicker = terminalPicker;
|
|
38
|
+
const process = __importStar(require("node:process"));
|
|
39
|
+
const client_ts_1 = require("./client.js");
|
|
40
|
+
async function getAgentNumber() {
|
|
41
|
+
if (process.env.GUAVA_AGENT_NUMBER)
|
|
42
|
+
return process.env.GUAVA_AGENT_NUMBER;
|
|
43
|
+
const client = new client_ts_1.Client();
|
|
44
|
+
const numbers = await client.listNumbers();
|
|
45
|
+
if (numbers.length === 0) {
|
|
46
|
+
console.error("No agent phone numbers found. Please purchase a number first.");
|
|
47
|
+
process.exit(1);
|
|
48
|
+
}
|
|
49
|
+
if (numbers.length === 1)
|
|
50
|
+
return numbers[0].phoneNumber;
|
|
51
|
+
if (process.stdin.isTTY && process.stdout.isTTY) {
|
|
52
|
+
return terminalPicker(numbers.map((n) => n.phoneNumber), "Multiple agent phone numbers found. Select one");
|
|
53
|
+
}
|
|
54
|
+
console.error(`Multiple agent phone numbers found: ${numbers.map((n) => n.phoneNumber).join(", ")}. Please set GUAVA_AGENT_NUMBER.`);
|
|
55
|
+
process.exit(1);
|
|
56
|
+
}
|
|
57
|
+
async function terminalPicker(options, prompt = "Select an option") {
|
|
58
|
+
if (!options.length)
|
|
59
|
+
throw new Error("options must be non-empty");
|
|
60
|
+
if (!process.stdin.isTTY || !process.stdout.isTTY)
|
|
61
|
+
throw new Error("terminalPicker requires a TTY stdin and stdout");
|
|
62
|
+
return new Promise((resolve, reject) => {
|
|
63
|
+
let selected = 0;
|
|
64
|
+
let renderedLines = 0;
|
|
65
|
+
function render() {
|
|
66
|
+
const lines = [`${prompt}:`];
|
|
67
|
+
for (let i = 0; i < options.length; i++) {
|
|
68
|
+
lines.push(`${i === selected ? "❯" : " "} ${options[i]}`);
|
|
69
|
+
}
|
|
70
|
+
if (renderedLines > 0)
|
|
71
|
+
process.stdout.write(`\x1b[${renderedLines}F`);
|
|
72
|
+
for (const line of lines) {
|
|
73
|
+
process.stdout.write("\r\x1b[2K");
|
|
74
|
+
process.stdout.write(line);
|
|
75
|
+
process.stdout.write("\n");
|
|
76
|
+
}
|
|
77
|
+
for (let i = 0; i < renderedLines - lines.length; i++) {
|
|
78
|
+
process.stdout.write("\r\x1b[2K\n");
|
|
79
|
+
}
|
|
80
|
+
renderedLines = lines.length;
|
|
81
|
+
}
|
|
82
|
+
function cleanup() {
|
|
83
|
+
process.stdin.removeListener("data", onData);
|
|
84
|
+
process.stdin.setRawMode(false);
|
|
85
|
+
process.stdin.pause();
|
|
86
|
+
process.stdout.write("\x1b[?25h");
|
|
87
|
+
}
|
|
88
|
+
function onData(data) {
|
|
89
|
+
const ch = data.toString();
|
|
90
|
+
if (ch === "\r" || ch === "\n") {
|
|
91
|
+
cleanup();
|
|
92
|
+
process.stdout.write(`\r\x1b[2KSelected: ${options[selected]}\n`);
|
|
93
|
+
resolve(options[selected]);
|
|
94
|
+
}
|
|
95
|
+
else if (ch === "\x03") {
|
|
96
|
+
cleanup();
|
|
97
|
+
reject(new Error("Interrupted"));
|
|
98
|
+
}
|
|
99
|
+
else if (ch === "\x1b[A") {
|
|
100
|
+
selected = (selected - 1 + options.length) % options.length;
|
|
101
|
+
render();
|
|
102
|
+
}
|
|
103
|
+
else if (ch === "\x1b[B") {
|
|
104
|
+
selected = (selected + 1) % options.length;
|
|
105
|
+
render();
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
process.stdin.setRawMode(true);
|
|
109
|
+
process.stdin.resume();
|
|
110
|
+
process.stdout.write("\x1b[?25l");
|
|
111
|
+
render();
|
|
112
|
+
process.stdin.on("data", onData);
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=example-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"example-utils.js","sourceRoot":"","sources":["../../src/example-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type Logger } from "./logging.ts";
|
|
2
|
+
export type HealthState = "starting" | "live" | "stopped";
|
|
3
|
+
export declare class HealthContext {
|
|
4
|
+
private _state;
|
|
5
|
+
setState(newState: HealthState): void;
|
|
6
|
+
ready(): void;
|
|
7
|
+
stopped(): void;
|
|
8
|
+
isLive(): boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare class MultiHealthContext {
|
|
11
|
+
private _ctxs;
|
|
12
|
+
createCtx(): HealthContext;
|
|
13
|
+
isLive(): boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface HealthServerOptions {
|
|
16
|
+
host?: string;
|
|
17
|
+
port?: number;
|
|
18
|
+
logger?: Logger;
|
|
19
|
+
}
|
|
20
|
+
export declare class HealthServer implements AsyncDisposable {
|
|
21
|
+
private readonly _server;
|
|
22
|
+
private readonly _logger;
|
|
23
|
+
private _stopping;
|
|
24
|
+
private constructor();
|
|
25
|
+
static start(healthCtx: HealthContext | MultiHealthContext, options?: HealthServerOptions): Promise<HealthServer>;
|
|
26
|
+
stop(): Promise<void>;
|
|
27
|
+
[Symbol.asyncDispose](): Promise<void>;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Returns an AsyncDisposable that, when the GUAVA_HEALTH_SERVER env var is
|
|
31
|
+
* truthy ("yes", "true", "on"), starts an HTTP health check server exposing
|
|
32
|
+
* `/live` on port 4828. Otherwise returns a no-op disposable. Intended for use
|
|
33
|
+
* with `await using`.
|
|
34
|
+
*/
|
|
35
|
+
export declare function getHealthServer(healthCtx: HealthContext | MultiHealthContext): Promise<AsyncDisposable>;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HealthServer = exports.MultiHealthContext = exports.HealthContext = void 0;
|
|
4
|
+
exports.getHealthServer = getHealthServer;
|
|
5
|
+
const node_http_1 = require("node:http");
|
|
6
|
+
const logging_ts_1 = require("./logging.js");
|
|
7
|
+
class HealthContext {
|
|
8
|
+
_state = "starting";
|
|
9
|
+
setState(newState) {
|
|
10
|
+
this._state = newState;
|
|
11
|
+
}
|
|
12
|
+
ready() {
|
|
13
|
+
this.setState("live");
|
|
14
|
+
}
|
|
15
|
+
stopped() {
|
|
16
|
+
this.setState("stopped");
|
|
17
|
+
}
|
|
18
|
+
isLive() {
|
|
19
|
+
return this._state === "live";
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.HealthContext = HealthContext;
|
|
23
|
+
class MultiHealthContext {
|
|
24
|
+
_ctxs = [];
|
|
25
|
+
createCtx() {
|
|
26
|
+
const ctx = new HealthContext();
|
|
27
|
+
this._ctxs.push(ctx);
|
|
28
|
+
return ctx;
|
|
29
|
+
}
|
|
30
|
+
isLive() {
|
|
31
|
+
return this._ctxs.length > 0 && this._ctxs.every((ctx) => ctx.isLive());
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
exports.MultiHealthContext = MultiHealthContext;
|
|
35
|
+
class HealthServer {
|
|
36
|
+
_server;
|
|
37
|
+
_logger;
|
|
38
|
+
_stopping = null;
|
|
39
|
+
constructor(server, logger) {
|
|
40
|
+
this._server = server;
|
|
41
|
+
this._logger = logger;
|
|
42
|
+
}
|
|
43
|
+
static async start(healthCtx, options = {}) {
|
|
44
|
+
const host = options.host ?? "0.0.0.0";
|
|
45
|
+
const port = options.port ?? 4828;
|
|
46
|
+
const logger = options.logger ?? (0, logging_ts_1.getDefaultLogger)();
|
|
47
|
+
const server = (0, node_http_1.createServer)((req, res) => {
|
|
48
|
+
if (req.method === "GET" && req.url === "/live") {
|
|
49
|
+
res.statusCode = healthCtx.isLive() ? 200 : 503;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
res.statusCode = 404;
|
|
53
|
+
}
|
|
54
|
+
res.end();
|
|
55
|
+
});
|
|
56
|
+
await new Promise((resolve, reject) => {
|
|
57
|
+
server.once("error", reject);
|
|
58
|
+
server.listen(port, host, () => {
|
|
59
|
+
server.off("error", reject);
|
|
60
|
+
resolve();
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
logger.info("Health check server listening on http://%s:%d/live", host, port);
|
|
64
|
+
return new HealthServer(server, logger);
|
|
65
|
+
}
|
|
66
|
+
stop() {
|
|
67
|
+
if (this._stopping)
|
|
68
|
+
return this._stopping;
|
|
69
|
+
this._logger.info("Health check server shutting down.");
|
|
70
|
+
this._stopping = new Promise((resolve, reject) => {
|
|
71
|
+
this._server.closeAllConnections();
|
|
72
|
+
this._server.close((err) => (err ? reject(err) : resolve()));
|
|
73
|
+
});
|
|
74
|
+
return this._stopping;
|
|
75
|
+
}
|
|
76
|
+
async [Symbol.asyncDispose]() {
|
|
77
|
+
await this.stop();
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.HealthServer = HealthServer;
|
|
81
|
+
const NOOP_DISPOSABLE = {
|
|
82
|
+
async [Symbol.asyncDispose]() { },
|
|
83
|
+
};
|
|
84
|
+
function isEnabled() {
|
|
85
|
+
const value = (process.env.GUAVA_HEALTH_SERVER ?? "false").toLowerCase().trim();
|
|
86
|
+
return value === "yes" || value === "true" || value === "on";
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Returns an AsyncDisposable that, when the GUAVA_HEALTH_SERVER env var is
|
|
90
|
+
* truthy ("yes", "true", "on"), starts an HTTP health check server exposing
|
|
91
|
+
* `/live` on port 4828. Otherwise returns a no-op disposable. Intended for use
|
|
92
|
+
* with `await using`.
|
|
93
|
+
*/
|
|
94
|
+
async function getHealthServer(healthCtx) {
|
|
95
|
+
if (!isEnabled())
|
|
96
|
+
return NOOP_DISPOSABLE;
|
|
97
|
+
return HealthServer.start(healthCtx);
|
|
98
|
+
}
|
|
99
|
+
//# sourceMappingURL=health.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/health.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { DatetimeFilter, DocumentQA, IntentRecognizer } from "./llm.ts";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IntentRecognizer = exports.DocumentQA = exports.DatetimeFilter = void 0;
|
|
4
|
+
/* This file must not include the OpenAI helpers. */
|
|
5
|
+
var llm_ts_1 = require("./llm.js");
|
|
6
|
+
Object.defineProperty(exports, "DatetimeFilter", { enumerable: true, get: function () { return llm_ts_1.DatetimeFilter; } });
|
|
7
|
+
Object.defineProperty(exports, "DocumentQA", { enumerable: true, get: function () { return llm_ts_1.DocumentQA; } });
|
|
8
|
+
Object.defineProperty(exports, "IntentRecognizer", { enumerable: true, get: function () { return llm_ts_1.IntentRecognizer; } });
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/helpers/index.ts"],"names":[],"mappings":";;;AAAA,oDAAoD;AACpD,mCAAwE;AAA/D,wGAAA,cAAc,OAAA;AAAE,oGAAA,UAAU,OAAA;AAAE,0GAAA,gBAAgB,OAAA"}
|
|
@@ -1,2 +1,44 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as z from "zod";
|
|
2
|
+
import type { SuggestedAction } from "../agent.ts";
|
|
3
|
+
import { Client } from "../client.ts";
|
|
2
4
|
export declare function _generate(client: Client, prompt: string, jsonSchema?: object): Promise<string>;
|
|
5
|
+
export declare class DocumentQA {
|
|
6
|
+
private readonly _rag;
|
|
7
|
+
private readonly _instructions;
|
|
8
|
+
private readonly _initialized;
|
|
9
|
+
constructor({ documents, ids, instructions, namespace, }?: {
|
|
10
|
+
documents?: string | string[];
|
|
11
|
+
ids?: string[];
|
|
12
|
+
instructions?: string;
|
|
13
|
+
namespace?: string;
|
|
14
|
+
});
|
|
15
|
+
upsertDocument(key: string, text: string): Promise<void>;
|
|
16
|
+
addDocument(text: string): Promise<void>;
|
|
17
|
+
deleteDocument(key: string): Promise<void>;
|
|
18
|
+
clear(): Promise<void>;
|
|
19
|
+
ask(question: string): Promise<string>;
|
|
20
|
+
}
|
|
21
|
+
export declare const _filterSchema: z.ZodObject<{
|
|
22
|
+
matching_appointments: z.ZodArray<z.ZodString>;
|
|
23
|
+
other_appointments: z.ZodArray<z.ZodString>;
|
|
24
|
+
}, z.core.$strip>;
|
|
25
|
+
export declare class DatetimeFilter {
|
|
26
|
+
private readonly _client;
|
|
27
|
+
private readonly _slotsStr;
|
|
28
|
+
constructor(sourceList: string[]);
|
|
29
|
+
filter(query: string, { maxResults }?: {
|
|
30
|
+
maxResults?: number;
|
|
31
|
+
}): Promise<[string[], string[]]>;
|
|
32
|
+
}
|
|
33
|
+
export declare function _makeIntentSchema(choiceList: [string, ...string[]]): z.ZodObject<{
|
|
34
|
+
possible_matches: z.ZodArray<z.ZodEnum<{
|
|
35
|
+
[x: string]: string;
|
|
36
|
+
}>>;
|
|
37
|
+
}, z.core.$strip>;
|
|
38
|
+
export declare class IntentRecognizer {
|
|
39
|
+
private readonly _client;
|
|
40
|
+
private readonly _intentChoices;
|
|
41
|
+
private readonly _schema;
|
|
42
|
+
constructor(intentChoices: string[] | Record<string, string>);
|
|
43
|
+
classify(intent: string): Promise<SuggestedAction[] | null>;
|
|
44
|
+
}
|