@guava-ai/guava-sdk 0.27.1 → 0.29.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.
@@ -0,0 +1,195 @@
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 __esDecorate = (this && this.__esDecorate) || function (ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {
19
+ function accept(f) { if (f !== void 0 && typeof f !== "function") throw new TypeError("Function expected"); return f; }
20
+ var kind = contextIn.kind, key = kind === "getter" ? "get" : kind === "setter" ? "set" : "value";
21
+ var target = !descriptorIn && ctor ? contextIn["static"] ? ctor : ctor.prototype : null;
22
+ var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});
23
+ var _, done = false;
24
+ for (var i = decorators.length - 1; i >= 0; i--) {
25
+ var context = {};
26
+ for (var p in contextIn) context[p] = p === "access" ? {} : contextIn[p];
27
+ for (var p in contextIn.access) context.access[p] = contextIn.access[p];
28
+ context.addInitializer = function (f) { if (done) throw new TypeError("Cannot add initializers after decoration has completed"); extraInitializers.push(accept(f || null)); };
29
+ var result = (0, decorators[i])(kind === "accessor" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);
30
+ if (kind === "accessor") {
31
+ if (result === void 0) continue;
32
+ if (result === null || typeof result !== "object") throw new TypeError("Object expected");
33
+ if (_ = accept(result.get)) descriptor.get = _;
34
+ if (_ = accept(result.set)) descriptor.set = _;
35
+ if (_ = accept(result.init)) initializers.unshift(_);
36
+ }
37
+ else if (_ = accept(result)) {
38
+ if (kind === "field") initializers.unshift(_);
39
+ else descriptor[key] = _;
40
+ }
41
+ }
42
+ if (target) Object.defineProperty(target, contextIn.name, descriptor);
43
+ done = true;
44
+ };
45
+ var __runInitializers = (this && this.__runInitializers) || function (thisArg, initializers, value) {
46
+ var useValue = arguments.length > 2;
47
+ for (var i = 0; i < initializers.length; i++) {
48
+ value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);
49
+ }
50
+ return useValue ? value : void 0;
51
+ };
52
+ var __importStar = (this && this.__importStar) || (function () {
53
+ var ownKeys = function(o) {
54
+ ownKeys = Object.getOwnPropertyNames || function (o) {
55
+ var ar = [];
56
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
57
+ return ar;
58
+ };
59
+ return ownKeys(o);
60
+ };
61
+ return function (mod) {
62
+ if (mod && mod.__esModule) return mod;
63
+ var result = {};
64
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
65
+ __setModuleDefault(result, mod);
66
+ return result;
67
+ };
68
+ })();
69
+ Object.defineProperty(exports, "__esModule", { value: true });
70
+ exports.Campaign = exports.Contact = exports.OutreachModality = void 0;
71
+ const node_util_1 = require("node:util");
72
+ const z = __importStar(require("zod"));
73
+ const utils_ts_1 = require("./utils.js");
74
+ const telemetry_ts_1 = require("./telemetry.js");
75
+ /**
76
+ * Modality used for campaign agentic outreach.
77
+ *
78
+ * Currently only SMS is available.
79
+ */
80
+ exports.OutreachModality = z.enum(["sms"]);
81
+ /**
82
+ * A contact to upload to a campaign.
83
+ */
84
+ exports.Contact = z.object({
85
+ /** The contact's phone number in E.164 format (e.g. `"+14155550123"`). */
86
+ phoneNumber: z.e164(),
87
+ /**
88
+ * Arbitrary per-contact data. This is delivered to the agent when the call is
89
+ * initiated and can be read during the call (e.g. via `call.getVariable`).
90
+ */
91
+ data: z.record(z.string(), z.unknown()).default({}),
92
+ /**
93
+ * Modalities used to reach this contact. When omitted, falls back to the
94
+ * `outreachModalities` passed to {@link Campaign.uploadContacts}.
95
+ */
96
+ outreachModalities: z.array(exports.OutreachModality).optional(),
97
+ });
98
+ // Wire-format schemas for parsing responses (snake_case, as returned by the API).
99
+ const UploadContactsResultWire = z.object({ created: z.number().int() });
100
+ const CampaignStatusWire = z.object({
101
+ status_counts: z.record(z.string(), z.number()).default({}),
102
+ });
103
+ /**
104
+ * A handle to an existing Guava campaign.
105
+ *
106
+ * Obtain instances via {@link Client.getCampaign} or {@link Client.listCampaigns};
107
+ * do not construct directly. Campaigns are created via the Guava dashboard or CLI.
108
+ */
109
+ let Campaign = (() => {
110
+ let _classDecorators = [telemetry_ts_1.telemetryClient.trackClass()];
111
+ let _classDescriptor;
112
+ let _classExtraInitializers = [];
113
+ let _classThis;
114
+ var Campaign = class {
115
+ static { _classThis = this; }
116
+ static {
117
+ const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
118
+ __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
119
+ Campaign = _classThis = _classDescriptor.value;
120
+ if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
121
+ __runInitializers(_classThis, _classExtraInitializers);
122
+ }
123
+ _client;
124
+ _id;
125
+ _code;
126
+ // Snapshot of the name at the time this handle was fetched. Used for
127
+ // display/logging only; identity is keyed off id/code, never name.
128
+ _name;
129
+ constructor(client, id, code, name) {
130
+ this._client = client;
131
+ this._id = id;
132
+ this._code = code;
133
+ this._name = name;
134
+ }
135
+ get id() {
136
+ return this._id;
137
+ }
138
+ get name() {
139
+ return this._name;
140
+ }
141
+ /**
142
+ * Upload contacts to this campaign.
143
+ *
144
+ * @param contacts - The contacts to upload.
145
+ * @param options.allowDuplicates - Insert contacts whose number already
146
+ * exists in the campaign. Defaults to `false`.
147
+ * @param options.acceptedTermsOfService - Confirms you have consent to
148
+ * contact these numbers. Defaults to `false`.
149
+ * @param options.outreachModalities - Default modalities for any contact that
150
+ * doesn't set its own {@link Contact.outreachModalities}.
151
+ * @returns The number of contacts that were inserted.
152
+ */
153
+ async uploadContacts(contacts, options = {}) {
154
+ const { allowDuplicates = false, acceptedTermsOfService = false, outreachModalities } = options;
155
+ const wireContacts = contacts.map((contact) => {
156
+ const parsed = exports.Contact.parse(contact);
157
+ return {
158
+ phone_number: parsed.phoneNumber,
159
+ data: parsed.data,
160
+ // Per-contact modalities take precedence; fall back to the method-level
161
+ // default, otherwise leave unset (server applies the campaign default).
162
+ outreach_modalities: parsed.outreachModalities ?? outreachModalities ?? null,
163
+ };
164
+ });
165
+ const url = new URL(`v2/campaigns/${this._code}/contacts`, this._client.getHttpBase());
166
+ url.searchParams.set("allow_duplicates", String(allowDuplicates));
167
+ url.searchParams.set("accepted_terms_of_service", String(acceptedTermsOfService));
168
+ const response = await (0, utils_ts_1.fetchOrThrow)(url, {
169
+ method: "POST",
170
+ headers: { ...(await this._client.headers()), "Content-Type": "application/json" },
171
+ body: JSON.stringify({ contacts: wireContacts }),
172
+ });
173
+ const { created } = UploadContactsResultWire.parse(await response.json());
174
+ return { created };
175
+ }
176
+ /** Fetch the current status of this campaign. */
177
+ async getStatus() {
178
+ const url = new URL(`v1/campaigns/${this._id}/status`, this._client.getHttpBase());
179
+ const response = await (0, utils_ts_1.fetchOrThrow)(url, { headers: await this._client.headers() });
180
+ const { status_counts } = CampaignStatusWire.parse(await response.json());
181
+ return { statusCounts: status_counts };
182
+ }
183
+ /** Permanently delete this campaign. */
184
+ async delete() {
185
+ const url = new URL(`v1/campaigns/${this._id}`, this._client.getHttpBase());
186
+ await (0, utils_ts_1.fetchOrThrow)(url, { method: "DELETE", headers: await this._client.headers() });
187
+ }
188
+ [node_util_1.inspect.custom]() {
189
+ return `Campaign { name: '${this._name}', code: '${this._code}' }`;
190
+ }
191
+ };
192
+ return Campaign = _classThis;
193
+ })();
194
+ exports.Campaign = Campaign;
195
+ //# sourceMappingURL=campaigns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"campaigns.js","sourceRoot":"","sources":["../../src/campaigns.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAAoC;AACpC,uCAAyB;AACzB,yCAA0C;AAC1C,iDAAiD;AAGjD;;;;GAIG;AACU,QAAA,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAGhD;;GAEG;AACU,QAAA,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9B,0EAA0E;IAC1E,WAAW,EAAE,CAAC,CAAC,IAAI,EAAE;IACrB;;;OAGG;IACH,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACnD;;;OAGG;IACH,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,wBAAgB,CAAC,CAAC,QAAQ,EAAE;CACzD,CAAC,CAAC;AA6BH,kFAAkF;AAClF,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACzE,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,aAAa,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC5D,CAAC,CAAC;AAEH;;;;;GAKG;IAEU,QAAQ;4BADpB,8BAAe,CAAC,UAAU,EAAE;;;;;;;;YAC7B,6KAmFC;;;YAnFY,uDAAQ;;QACX,OAAO,CAAS;QAChB,GAAG,CAAS;QACZ,KAAK,CAAS;QACtB,qEAAqE;QACrE,mEAAmE;QAC3D,KAAK,CAAS;QAEtB,YAAY,MAAc,EAAE,EAAU,EAAE,IAAY,EAAE,IAAY;YAChE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;QAED,IAAI,EAAE;YACJ,OAAO,IAAI,CAAC,GAAG,CAAC;QAClB,CAAC;QAED,IAAI,IAAI;YACN,OAAO,IAAI,CAAC,KAAK,CAAC;QACpB,CAAC;QAED;;;;;;;;;;;WAWG;QACH,KAAK,CAAC,cAAc,CAClB,QAAmB,EACnB,UAAiC,EAAE;YAEnC,MAAM,EAAE,eAAe,GAAG,KAAK,EAAE,sBAAsB,GAAG,KAAK,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;YAEhG,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC5C,MAAM,MAAM,GAAG,eAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;gBACtC,OAAO;oBACL,YAAY,EAAE,MAAM,CAAC,WAAW;oBAChC,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,wEAAwE;oBACxE,wEAAwE;oBACxE,mBAAmB,EAAE,MAAM,CAAC,kBAAkB,IAAI,kBAAkB,IAAI,IAAI;iBAC7E,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,gBAAgB,IAAI,CAAC,KAAK,WAAW,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YACvF,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,kBAAkB,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC;YAClE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,2BAA2B,EAAE,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;YAElF,MAAM,QAAQ,GAAG,MAAM,IAAA,uBAAY,EAAC,GAAG,EAAE;gBACvC,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAClF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC;aACjD,CAAC,CAAC;YAEH,MAAM,EAAE,OAAO,EAAE,GAAG,wBAAwB,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1E,OAAO,EAAE,OAAO,EAAE,CAAC;QACrB,CAAC;QAED,iDAAiD;QACjD,KAAK,CAAC,SAAS;YACb,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,gBAAgB,IAAI,CAAC,GAAG,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YACnF,MAAM,QAAQ,GAAG,MAAM,IAAA,uBAAY,EAAC,GAAG,EAAE,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YACpF,MAAM,EAAE,aAAa,EAAE,GAAG,kBAAkB,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YAC1E,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;QACzC,CAAC;QAED,wCAAwC;QACxC,KAAK,CAAC,MAAM;YACV,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,gBAAgB,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YAC5E,MAAM,IAAA,uBAAY,EAAC,GAAG,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACvF,CAAC;QAED,CAAC,mBAAO,CAAC,MAAM,CAAC;YACd,OAAO,qBAAqB,IAAI,CAAC,KAAK,aAAa,IAAI,CAAC,KAAK,KAAK,CAAC;QACrE,CAAC;;;;AAlFU,4BAAQ"}
@@ -1,5 +1,6 @@
1
1
  import { type Logger } from "./logging.ts";
2
2
  import { SmsMessage } from "./sms.ts";
3
+ import { Campaign } from "./campaigns.ts";
3
4
  export interface ClientOptions {
4
5
  apiKey?: string;
5
6
  baseUrl?: string;
@@ -26,6 +27,15 @@ export declare class Client {
26
27
  * @param ttlSec - How long the agent code remains valid, in seconds. Defaults to no expiration.
27
28
  */
28
29
  createWebrtcAgent(ttlSec?: number): Promise<string>;
30
+ createSipAgent(): Promise<string>;
31
+ /**
32
+ * Fetch an existing campaign by its code.
33
+ *
34
+ * @param campaignCode - The campaign code (e.g. `gcmp-...`).
35
+ */
36
+ getCampaign(campaignCode: string): Promise<Campaign>;
37
+ /** List all campaigns in your organization. */
38
+ listCampaigns(): Promise<Campaign[]>;
29
39
  listNumbers(): Promise<{
30
40
  phoneNumber: string;
31
41
  }[]>;
@@ -77,6 +77,7 @@ const node_os_1 = __importDefault(require("node:os"));
77
77
  const fs = __importStar(require("node:fs"));
78
78
  const utils_ts_1 = require("./utils.js");
79
79
  const sms_ts_1 = require("./sms.js");
80
+ const campaigns_ts_1 = require("./campaigns.js");
80
81
  const telemetry_ts_1 = require("./telemetry.js");
81
82
  const auth_ts_1 = require("./auth.js");
82
83
  const SDK_NAME = "typescript-sdk";
@@ -209,6 +210,33 @@ let Client = (() => {
209
210
  const body = (await response.json());
210
211
  return body.webrtc_code;
211
212
  }
213
+ async createSipAgent() {
214
+ const url = new URL("v1/sip-agents", this.getHttpBase());
215
+ const response = await (0, utils_ts_1.fetchOrThrow)(url, {
216
+ method: "POST",
217
+ headers: await this.headers(),
218
+ });
219
+ const body = (await response.json());
220
+ return body.sip_code;
221
+ }
222
+ /**
223
+ * Fetch an existing campaign by its code.
224
+ *
225
+ * @param campaignCode - The campaign code (e.g. `gcmp-...`).
226
+ */
227
+ async getCampaign(campaignCode) {
228
+ const url = new URL(`v1/campaigns/${campaignCode}`, this.getHttpBase());
229
+ const response = await (0, utils_ts_1.fetchOrThrow)(url, { headers: await this.headers() });
230
+ const body = (await response.json());
231
+ return new campaigns_ts_1.Campaign(this, body.id, body.campaign_code, body.name);
232
+ }
233
+ /** List all campaigns in your organization. */
234
+ async listCampaigns() {
235
+ const url = new URL("v1/campaigns", this.getHttpBase());
236
+ const response = await (0, utils_ts_1.fetchOrThrow)(url, { headers: await this.headers() });
237
+ const items = (await response.json());
238
+ return items.map((c) => new campaigns_ts_1.Campaign(this, c.id, c.campaign_code, c.name));
239
+ }
212
240
  async listNumbers() {
213
241
  const url = new URL("v1/phone-numbers", this.getHttpBase());
214
242
  const response = await (0, utils_ts_1.fetchOrThrow)(url, { headers: await this.headers() });
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -28,10 +28,11 @@ export declare const SetTaskCommand: z.ZodObject<{
28
28
  key: z.ZodString;
29
29
  description: z.ZodDefault<z.ZodString>;
30
30
  question: z.ZodDefault<z.ZodString>;
31
- field_type: z.ZodUnion<z.ZodLiteral<"text" | "date" | "integer" | "digit_sequence" | "multiple_choice" | "calendar_slot">[]>;
31
+ field_type: z.ZodUnion<z.ZodLiteral<"text" | "date" | "integer" | "digit_sequence" | "multiple_choice" | "calendar_slot" | "cvv">[]>;
32
32
  required: z.ZodDefault<z.ZodBoolean>;
33
33
  choices: z.ZodDefault<z.ZodArray<z.ZodString>>;
34
34
  is_search_field: z.ZodDefault<z.ZodBoolean>;
35
+ sensitive: z.ZodDefault<z.ZodBoolean>;
35
36
  }, z.core.$strip>, z.ZodObject<{
36
37
  item_type: z.ZodLiteral<"say">;
37
38
  statement: z.ZodString;
@@ -190,10 +191,11 @@ export declare const AnyCommand: z.ZodUnion<readonly [z.ZodObject<{
190
191
  key: z.ZodString;
191
192
  description: z.ZodDefault<z.ZodString>;
192
193
  question: z.ZodDefault<z.ZodString>;
193
- field_type: z.ZodUnion<z.ZodLiteral<"text" | "date" | "integer" | "digit_sequence" | "multiple_choice" | "calendar_slot">[]>;
194
+ field_type: z.ZodUnion<z.ZodLiteral<"text" | "date" | "integer" | "digit_sequence" | "multiple_choice" | "calendar_slot" | "cvv">[]>;
194
195
  required: z.ZodDefault<z.ZodBoolean>;
195
196
  choices: z.ZodDefault<z.ZodArray<z.ZodString>>;
196
197
  is_search_field: z.ZodDefault<z.ZodBoolean>;
198
+ sensitive: z.ZodDefault<z.ZodBoolean>;
197
199
  }, z.core.$strip>, z.ZodObject<{
198
200
  item_type: z.ZodLiteral<"say">;
199
201
  statement: z.ZodString;
@@ -315,10 +317,11 @@ export declare const InboundTunnelCommand: z.ZodObject<{
315
317
  key: z.ZodString;
316
318
  description: z.ZodDefault<z.ZodString>;
317
319
  question: z.ZodDefault<z.ZodString>;
318
- field_type: z.ZodUnion<z.ZodLiteral<"text" | "date" | "integer" | "digit_sequence" | "multiple_choice" | "calendar_slot">[]>;
320
+ field_type: z.ZodUnion<z.ZodLiteral<"text" | "date" | "integer" | "digit_sequence" | "multiple_choice" | "calendar_slot" | "cvv">[]>;
319
321
  required: z.ZodDefault<z.ZodBoolean>;
320
322
  choices: z.ZodDefault<z.ZodArray<z.ZodString>>;
321
323
  is_search_field: z.ZodDefault<z.ZodBoolean>;
324
+ sensitive: z.ZodDefault<z.ZodBoolean>;
322
325
  }, z.core.$strip>, z.ZodObject<{
323
326
  item_type: z.ZodLiteral<"say">;
324
327
  statement: z.ZodString;
@@ -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":";;;AAkHA,0CAKC;AAvHD,yCAAsD;AACtD,6CAA6D;AAI7D,MAAa,aAAa;IAChB,MAAM,GAAgB,UAAU,CAAC;IAEzC,QAAQ,CAAC,QAAqB;QAC5B,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;IACzB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC;IAChC,CAAC;CACF;AAlBD,sCAkBC;AAED,MAAa,kBAAkB;IACrB,KAAK,GAAoB,EAAE,CAAC;IAEpC,SAAS;QACP,MAAM,GAAG,GAAG,IAAI,aAAa,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC;CACF;AAZD,gDAYC;AAQD,MAAa,YAAY;IACN,OAAO,CAAS;IAChB,OAAO,CAAS;IACzB,SAAS,GAAyB,IAAI,CAAC;IAE/C,YAAoB,MAAc,EAAE,MAAc;QAChD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,KAAK,CAChB,SAA6C,EAC7C,UAA+B,EAAE;QAEjC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC;QACvC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAA,6BAAgB,GAAE,CAAC;QAEpD,MAAM,MAAM,GAAG,IAAA,wBAAY,EAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACvC,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;gBAChD,GAAG,CAAC,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACvB,CAAC;YACD,GAAG,CAAC,GAAG,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1C,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;gBAC7B,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC5B,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC9E,OAAO,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrD,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;YACnC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QACzB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;CACF;AApDD,oCAoDC;AAED,MAAM,eAAe,GAAoB;IACvC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,KAAI,CAAC;CACjC,CAAC;AAEF,SAAS,SAAS;IAChB,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IAChF,OAAO,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,IAAI,CAAC;AAC/D,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,eAAe,CACnC,SAA6C;IAE7C,IAAI,CAAC,SAAS,EAAE;QAAE,OAAO,eAAe,CAAC;IACzC,OAAO,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/health.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  export { Client, type InboundConnection } from "./client.ts";
2
2
  export { Runner } from "./runner.ts";
3
3
  export type { SmsMessage } from "./sms.ts";
4
+ export { Campaign } from "./campaigns.ts";
5
+ export type { Contact, CampaignStatus, UploadContactsResult, UploadContactsOptions, OutreachModality, } from "./campaigns.ts";
4
6
  export { Say, Field } from "./action-item.ts";
5
7
  export { Logger, getConsoleLogger, getDefaultLogger } from "./logging.ts";
6
8
  export { Agent, CallInfo } from "./agent.ts";
package/dist/src/index.js CHANGED
@@ -1,10 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MockCall = exports.TestSession = exports.DEFAULT_REACH_PERSON_OUTCOMES = exports.Call = exports.Agent = exports.getDefaultLogger = exports.getConsoleLogger = exports.Field = exports.Say = exports.Runner = exports.Client = void 0;
3
+ exports.MockCall = exports.TestSession = exports.DEFAULT_REACH_PERSON_OUTCOMES = exports.Call = exports.Agent = exports.getDefaultLogger = exports.getConsoleLogger = exports.Field = exports.Say = exports.Campaign = exports.Runner = 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 runner_ts_1 = require("./runner.js");
7
7
  Object.defineProperty(exports, "Runner", { enumerable: true, get: function () { return runner_ts_1.Runner; } });
8
+ var campaigns_ts_1 = require("./campaigns.js");
9
+ Object.defineProperty(exports, "Campaign", { enumerable: true, get: function () { return campaigns_ts_1.Campaign; } });
8
10
  var action_item_ts_1 = require("./action-item.js");
9
11
  Object.defineProperty(exports, "Say", { enumerable: true, get: function () { return action_item_ts_1.Say; } });
10
12
  Object.defineProperty(exports, "Field", { enumerable: true, get: function () { return action_item_ts_1.Field; } });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,yCAA6D;AAApD,mGAAA,MAAM,OAAA;AACf,yCAAqC;AAA5B,mGAAA,MAAM,OAAA;AAEf,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,qCAAgE;AAAvD,+FAAA,IAAI,OAAA;AAAE,wHAAA,6BAA6B,OAAA;AAG5C,mDAAmD;AAA1C,yGAAA,WAAW,OAAA;AACpB,+CAA8C;AAArC,oGAAA,QAAQ,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,yCAA6D;AAApD,mGAAA,MAAM,OAAA;AACf,yCAAqC;AAA5B,mGAAA,MAAM,OAAA;AAEf,+CAA0C;AAAjC,wGAAA,QAAQ,OAAA;AAQjB,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,qCAAgE;AAAvD,+FAAA,IAAI,OAAA;AAAE,wHAAA,6BAA6B,OAAA;AAG5C,mDAAmD;AAA1C,yGAAA,WAAW,OAAA;AACpB,+CAA8C;AAArC,oGAAA,QAAQ,OAAA"}
@@ -1 +1 @@
1
- export declare const SDK_VERSION = "0.27.1";
1
+ export declare const SDK_VERSION = "0.29.0";
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SDK_VERSION = void 0;
4
- exports.SDK_VERSION = "0.27.1";
4
+ exports.SDK_VERSION = "0.29.0";
5
5
  //# sourceMappingURL=version.js.map
@@ -16,12 +16,15 @@ const documentQA = new DocumentQA({
16
16
  namespace: "clearfield-home-living-qa",
17
17
  });
18
18
 
19
- const intentRecognizer = new IntentRecognizer([
20
- "sales",
21
- "delivery-and-returns",
22
- "account-management",
23
- "other",
24
- ]);
19
+ const intentRecognizer = new IntentRecognizer({
20
+ sales:
21
+ "New purchases, product availability, pricing, promotions, price matching, store hours, order status, order changes and cancellations",
22
+ "delivery-and-returns":
23
+ "Delivery scheduling and rescheduling, installation, assembly, damaged-on-arrival items, returns, exchanges, refund status, warranty claims and repairs",
24
+ "account-management":
25
+ "Charges, invoices, payment plans, financing, billing disputes, rewards points, membership accounts, bulk and business orders",
26
+ other: "Anything else not listed under another category.",
27
+ });
25
28
 
26
29
  agent.onQuestion(async (_call: guava.Call, question: string) => {
27
30
  return await documentQA.ask(question);
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@guava-ai/guava-sdk",
3
3
  "description": "The official TypeScript SDK for building Guava voice agents.",
4
4
  "homepage": "https://docs.goguava.ai/typescript-sdk/",
5
- "version": "0.27.1",
5
+ "version": "0.29.0",
6
6
  "type": "commonjs",
7
7
  "main": "dist/src/index.js",
8
8
  "types": "dist/src/index.d.ts",
@@ -1,9 +1,17 @@
1
1
  import * as z from "zod";
2
2
 
3
3
  export const FieldItemType = z.union(
4
- (["text", "date", "integer", "digit_sequence", "multiple_choice", "calendar_slot"] as const).map(
5
- (val) => z.literal(val),
6
- ),
4
+ (
5
+ [
6
+ "text",
7
+ "date",
8
+ "integer",
9
+ "digit_sequence",
10
+ "multiple_choice",
11
+ "calendar_slot",
12
+ "cvv",
13
+ ] as const
14
+ ).map((val) => z.literal(val)),
7
15
  );
8
16
  export type FieldItemType = z.input<typeof FieldItemType>;
9
17
 
@@ -20,15 +28,27 @@ export const FieldItem = z
20
28
  choices: z.array(z.string()).default([]),
21
29
  choiceGenerator: z.custom<ChoiceGenerator>((val) => typeof val === "function").optional(),
22
30
  searchable: z.boolean().default(false),
31
+ sensitive: z.boolean().default(false),
23
32
  })
24
- .refine((field) => {
33
+ .superRefine((field, ctx) => {
34
+ const hasChoices = field.choices.length > 0 || field.choiceGenerator !== undefined;
35
+ if (
36
+ hasChoices &&
37
+ field.field_type !== "multiple_choice" &&
38
+ field.field_type !== "calendar_slot"
39
+ ) {
40
+ ctx.addIssue({
41
+ code: "custom",
42
+ message: `Field type ${field.field_type} does not support choices attribute.`,
43
+ });
44
+ }
45
+
25
46
  if (field.field_type === "multiple_choice" && field.choices.length > 10) {
26
47
  process.emitWarning(
27
48
  "Performance degrades with large number of choices for multiple choice field.",
28
49
  "ACTION_ITEM",
29
50
  );
30
51
  }
31
- return true;
32
52
  });
33
53
  export type FieldItem = z.input<typeof FieldItem>;
34
54
 
@@ -41,6 +61,7 @@ export const SerializableFieldItem = z.object({
41
61
  required: z.boolean().default(true),
42
62
  choices: z.array(z.string()).default([]),
43
63
  is_search_field: z.boolean().default(false),
64
+ sensitive: z.boolean().default(false),
44
65
  });
45
66
  export type SerializableFieldItem = z.input<typeof SerializableFieldItem>;
46
67
 
@@ -70,6 +91,7 @@ export function Field(options: {
70
91
  choices?: string[];
71
92
  choiceGenerator?: ChoiceGenerator;
72
93
  searchable?: boolean;
94
+ sensitive?: boolean;
73
95
  }): FieldItem {
74
96
  return FieldItem.parse({
75
97
  item_type: "field",
@@ -81,6 +103,7 @@ export function Field(options: {
81
103
  choices: options.choices,
82
104
  choiceGenerator: options.choiceGenerator,
83
105
  searchable: options.searchable,
106
+ sensitive: options.sensitive,
84
107
  });
85
108
  }
86
109
 
package/src/agent.ts CHANGED
@@ -900,11 +900,7 @@ Choose "speak" and provide your next utterance, or choose "hangup" if the conver
900
900
 
901
901
  async _serveCampaign(healthCtx: HealthContext, campaignCode: string): Promise<void> {
902
902
  try {
903
- const campaignUrl = new URL(`v1/campaigns/${campaignCode}`, this._client.getHttpBase());
904
- const campaignResponse = await fetchOrThrow(campaignUrl, {
905
- headers: await this._client.headers(),
906
- });
907
- const campaign = (await campaignResponse.json()) as { id: string; name: string };
903
+ const campaign = await this._client.getCampaign(campaignCode);
908
904
 
909
905
  const wsUrl = new URL(`v1/serve-campaign/${campaign.id}`, this._client.getWebsocketBase());
910
906
  this._logger.info("Connecting to campaign '%s' (id: %s).", campaign.name, campaign.id);
package/src/call.ts CHANGED
@@ -404,4 +404,13 @@ TASK COMPLETION REQUIREMENTS:
404
404
  async getVariable(variableName: string) {
405
405
  return this._variables[variableName] ?? null;
406
406
  }
407
+
408
+ // Aliases for setVariable / getVariable, matching the Python SDK.
409
+ async setVar(variableName: string, variableValue: any) {
410
+ return this.setVariable(variableName, variableValue);
411
+ }
412
+
413
+ async getVar(variableName: string) {
414
+ return this.getVariable(variableName);
415
+ }
407
416
  }