@xapp/stentor-service-housecall-pro 1.86.7 → 1.86.9

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.
@@ -18,11 +18,29 @@ export interface HouseCallProServiceProps extends BaseService, CrmServiceAvailab
18
18
  }
19
19
  export declare class HouseCallProService extends FetchService implements CrmService {
20
20
  private props;
21
+ /** Wait between customer-address lookups; overridable so tests don't sleep. */
22
+ private addressRetryDelayMs;
21
23
  constructor(props: HouseCallProServiceProps);
22
24
  getAvailability(range: DateTimeRange, options?: CrmServiceAvailabilityOptions): Promise<CrmServiceAvailability>;
23
25
  private setBlockedDays;
24
26
  getJobType(message: string, externalLead?: ExternalLead): Promise<CrmServiceJobType>;
27
+ /**
28
+ * Send the lead or scheduling request.
29
+ *
30
+ * Implements the partial/abandoned lead standard in `packages/services/README.md`: an
31
+ * incomplete lead (`extras.isAbandoned` or `extras.isPartial`) is only sent when it carries a
32
+ * name plus a phone or an email, its `notes` and `note` lead with a `[Partial Form Fill]` /
33
+ * `[Partial Chat Capture]` line carrying its status, capture time and source, and it never
34
+ * schedules a job.
35
+ */
25
36
  send(externalLead: ExternalLead, extras?: HouseCallProExternalLeadExtras): Promise<CrmResponse>;
37
+ /**
38
+ * Book the job for a scheduled, consented lead. Runs inline — it used to run on a
39
+ * `setTimeout` after send() had returned, which a frozen Lambda never fires.
40
+ *
41
+ * @returns A description of why no job was booked, or undefined when it was booked or
42
+ * none was requested.
43
+ */
26
44
  private processJobRequest;
27
45
  getCustomers(query: CustomerQuery, page?: number): Promise<HouseCallProResponse>;
28
46
  getCustomerAddresses(id: string): Promise<HouseCallProResponse>;
@@ -23,10 +23,14 @@ const JobTypes_1 = require("./Data/JobTypes");
23
23
  const stentor_utils_1 = require("stentor-utils");
24
24
  const base_url = "https://api.housecallpro.com/";
25
25
  const lead_source = process.env.HOUSECALL_PRO_LEADSOURCE ? process.env.HOUSECALL_PRO_LEADSOURCE : "XAPP AI";
26
+ /** Extra customer-address lookups while an embedded address propagates. */
27
+ const ADDRESS_LOOKUP_RETRIES = 2;
26
28
  const util_1 = require("./util");
27
29
  class HouseCallProService extends stentor_service_fetch_1.FetchService {
28
30
  constructor(props) {
29
31
  super(props);
32
+ /** Wait between customer-address lookups; overridable so tests don't sleep. */
33
+ this.addressRetryDelayMs = 1000;
30
34
  this.props = Object.assign({}, props);
31
35
  if (!this.props.channel) {
32
36
  this.props.channel = "Chat";
@@ -34,7 +38,7 @@ class HouseCallProService extends stentor_service_fetch_1.FetchService {
34
38
  }
35
39
  getAvailability(range, options) {
36
40
  return __awaiter(this, void 0, void 0, function* () {
37
- var _a, _b, _c, _d;
41
+ var _a, _b, _c, _d, _e;
38
42
  const availability = {
39
43
  range,
40
44
  unavailabilities: []
@@ -48,9 +52,10 @@ class HouseCallProService extends stentor_service_fetch_1.FetchService {
48
52
  const startsOnOrAfter = range.start ? (0, stentor_utils_1.dateTimeToString)(range.start) : new Date().toISOString();
49
53
  const daysOut = 31; // Default, Max allowed by HCP is 31
50
54
  const appointments = yield this.getBookingWindows(daysOut, (_a = range.start) === null || _a === void 0 ? void 0 : _a.date);
51
- const bookingWindows = appointments.data.booking_windows;
52
- if (appointments === null) {
53
- return Promise.resolve(availability); // All available if we fail
55
+ const bookingWindows = (_b = appointments === null || appointments === void 0 ? void 0 : appointments.data) === null || _b === void 0 ? void 0 : _b.booking_windows;
56
+ if ((appointments === null || appointments === void 0 ? void 0 : appointments.status) !== "Success" || !Array.isArray(bookingWindows)) {
57
+ (0, stentor_logger_1.log)().warn("Housecall Pro: No booking windows returned, reporting full availability");
58
+ return availability; // All available if we fail
54
59
  }
55
60
  (0, stentor_logger_1.log)().info(`Housecall Pro: Got ${bookingWindows === null || bookingWindows === void 0 ? void 0 : bookingWindows.length} appointments on or after ${startsOnOrAfter}`);
56
61
  // Lucky us. The format is YYYY-MM-DD
@@ -59,8 +64,8 @@ class HouseCallProService extends stentor_service_fetch_1.FetchService {
59
64
  available: day.available
60
65
  }));
61
66
  // Add locked days for job type (usually skip next N). This needs a map (jobType: skippedDays) in the CRM constructor
62
- if ((options === null || options === void 0 ? void 0 : options.jobType) && ((_b = this.props) === null || _b === void 0 ? void 0 : _b.delayedJobTypes)) {
63
- if (this.props.delayedJobTypes.indexOf((_c = options === null || options === void 0 ? void 0 : options.jobType) === null || _c === void 0 ? void 0 : _c.id) !== -1) {
67
+ if ((options === null || options === void 0 ? void 0 : options.jobType) && ((_c = this.props) === null || _c === void 0 ? void 0 : _c.delayedJobTypes)) {
68
+ if (this.props.delayedJobTypes.indexOf((_d = options === null || options === void 0 ? void 0 : options.jobType) === null || _d === void 0 ? void 0 : _d.id) !== -1) {
64
69
  const nextDays = (0, util_1.getNextDays)(3);
65
70
  const skippedDays = nextDays.map((date) => ({
66
71
  date,
@@ -70,7 +75,7 @@ class HouseCallProService extends stentor_service_fetch_1.FetchService {
70
75
  }
71
76
  }
72
77
  // Add class specific blocked days
73
- if ((_d = options === null || options === void 0 ? void 0 : options.jobType) === null || _d === void 0 ? void 0 : _d.class) {
78
+ if ((_e = options === null || options === void 0 ? void 0 : options.jobType) === null || _e === void 0 ? void 0 : _e.class) {
74
79
  let daysToSkip = 0;
75
80
  switch (options.jobType.class) {
76
81
  case "ESTIMATION":
@@ -125,13 +130,13 @@ class HouseCallProService extends stentor_service_fetch_1.FetchService {
125
130
  }
126
131
  getJobType(message, externalLead) {
127
132
  return __awaiter(this, void 0, void 0, function* () {
128
- var _a;
133
+ var _a, _b;
129
134
  const aiService = new ai_1.AIService({
130
- apiKey: process.env.OPENAI_API_KEY,
135
+ apiKey: (_a = this.props.openAI) === null || _a === void 0 ? void 0 : _a.apiKey,
131
136
  jobTypes: (0, JobTypes_1.getJobTypes)()
132
137
  });
133
138
  const jTypes = yield this.getJobTypes();
134
- const response = yield aiService.selectJobCategoryFromDescription(message, (_a = jTypes.data) === null || _a === void 0 ? void 0 : _a.job_types);
139
+ const response = yield aiService.selectJobCategoryFromDescription(message, (_b = jTypes.data) === null || _b === void 0 ? void 0 : _b.job_types);
135
140
  let jobType;
136
141
  if (response === null || response === void 0 ? void 0 : response.id) {
137
142
  jobType = {
@@ -163,15 +168,25 @@ class HouseCallProService extends stentor_service_fetch_1.FetchService {
163
168
  }
164
169
  });
165
170
  }
166
- // Send the lead or scheduling request
171
+ /**
172
+ * Send the lead or scheduling request.
173
+ *
174
+ * Implements the partial/abandoned lead standard in `packages/services/README.md`: an
175
+ * incomplete lead (`extras.isAbandoned` or `extras.isPartial`) is only sent when it carries a
176
+ * name plus a phone or an email, its `notes` and `note` lead with a `[Partial Form Fill]` /
177
+ * `[Partial Chat Capture]` line carrying its status, capture time and source, and it never
178
+ * schedules a job.
179
+ */
167
180
  send(externalLead, extras) {
168
181
  return __awaiter(this, void 0, void 0, function* () {
169
- var _a, _b, _c, _d, _e, _f, _g, _h;
182
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
170
183
  const customerQuery = {};
171
184
  const crmResponse = {
172
185
  status: "Failure",
173
186
  message: ""
174
187
  };
188
+ const isAbandoned = !!(extras === null || extras === void 0 ? void 0 : extras.isAbandoned);
189
+ const isIncomplete = isAbandoned || !!(extras === null || extras === void 0 ? void 0 : extras.isPartial);
175
190
  try {
176
191
  let transcript = "";
177
192
  (_a = externalLead.transcript) === null || _a === void 0 ? void 0 : _a.forEach((x) => (transcript += `${x.from.id != this.props.appId && x.from.id != "bot" ? "user: " : this.props.appId + ": "} ${x.message} \n`));
@@ -185,6 +200,14 @@ class HouseCallProService extends stentor_service_fetch_1.FetchService {
185
200
  const preferredTime = (_g = externalLead.fields.find((x) => x.name == "PREFERRED_TIME")) === null || _g === void 0 ? void 0 : _g.value;
186
201
  const consentApproval = (_h = externalLead.fields.find((x) => x.name == "CONSENT_APPROVAL")) === null || _h === void 0 ? void 0 : _h.value;
187
202
  // look at fields on Jobber, figure out some way to standardize these across the FSM Services.
203
+ // An incomplete lead nobody can call back is an expected outcome, not an error.
204
+ const fullName = [names === null || names === void 0 ? void 0 : names.firstName, names === null || names === void 0 ? void 0 : names.lastName].filter(util_1.isValidString).join(" ");
205
+ if (isIncomplete && !(0, util_1.isValidPartial)(fullName, email, phone)) {
206
+ (0, stentor_logger_1.log)().info("Housecall Pro: Incomplete lead missing minimum data (name + email/phone), skipping");
207
+ crmResponse.status = "Success";
208
+ crmResponse.message = "Incomplete lead skipped - insufficient data";
209
+ return crmResponse;
210
+ }
188
211
  let parsedAddress;
189
212
  try {
190
213
  // TODO: POTENTIAL ISSUE HERE AS ADDRESS CAN SOMETIMES BE JUST STREET NUMBER AND STREET NAME, WHICH CAUSES PARSE ADDRESS TO THROW AN ERROR
@@ -225,6 +248,14 @@ class HouseCallProService extends stentor_service_fetch_1.FetchService {
225
248
  .filter(Boolean)
226
249
  .join("\n\n");
227
250
  }
251
+ // Label last, so it leads both free-text fields ahead of anything prepended above.
252
+ // Which of the two Housecall Pro shows is unverified, so both carry it.
253
+ if (isIncomplete) {
254
+ (0, stentor_logger_1.log)().info(`Housecall Pro: Processing ${isAbandoned ? "abandoned" : "partial"} lead from ${(extras === null || extras === void 0 ? void 0 : extras.source) || "unknown"}`);
255
+ const label = (0, util_1.incompleteLeadLabel)(extras, !!transcript.trim());
256
+ crmRequest.notes = [label, crmRequest.notes].filter(Boolean).join("\n\n");
257
+ crmRequest.note = [label, crmRequest.note].filter(Boolean).join("\n\n");
258
+ }
228
259
  // Check if customer exists
229
260
  if (phone) {
230
261
  customerQuery.phone = phone;
@@ -234,112 +265,157 @@ class HouseCallProService extends stentor_service_fetch_1.FetchService {
234
265
  }
235
266
  const customerMatches = yield this.getCustomers(customerQuery);
236
267
  // Customer exists, use this account
237
- if (customerMatches.status === "Success" && customerMatches.data.total_items > 0) {
268
+ if (customerMatches.status === "Success" && ((_j = customerMatches.data) === null || _j === void 0 ? void 0 : _j.total_items) > 0) {
238
269
  crmRequest.customer_id = customerMatches.data.customers[0].id;
239
- yield this.addLead(crmRequest);
240
270
  }
241
271
  else {
242
272
  const addCustomerResponse = yield this.addCustomer(crmRequest);
243
- crmRequest.customer_id = addCustomerResponse.data.id;
244
- yield this.addLead(crmRequest);
273
+ const customerId = (_k = addCustomerResponse.data) === null || _k === void 0 ? void 0 : _k.id;
274
+ if (addCustomerResponse.status !== "Success" || !customerId) {
275
+ crmResponse.message = `Housecall Pro: Unable to create customer: ${addCustomerResponse.error || "no customer id returned"}`;
276
+ (0, stentor_logger_1.log)().error(crmResponse.message);
277
+ return crmResponse;
278
+ }
279
+ crmRequest.customer_id = customerId;
280
+ }
281
+ const addLeadResponse = yield this.addLead(crmRequest);
282
+ if (addLeadResponse.status !== "Success") {
283
+ crmResponse.message = `Housecall Pro: Unable to create lead for customer ${crmRequest.customer_id}: ${addLeadResponse.error}`;
284
+ (0, stentor_logger_1.log)().error(crmResponse.message);
285
+ return crmResponse;
245
286
  }
246
- yield this.processJobRequest({
247
- dateTime,
248
- consentApproval: consentApproval && consentApproval.includes("agreed"),
249
- message,
250
- crmRequest,
251
- parsedAddress,
252
- preferredTime
253
- });
254
287
  crmResponse.status = "Success";
288
+ // Never for an incomplete lead: a visitor who closed the tab did not agree to a visit,
289
+ // however complete the form was.
290
+ if (!isIncomplete) {
291
+ // The lead has landed, so a failed booking is reported but does not fail the send.
292
+ try {
293
+ const jobError = yield this.processJobRequest({
294
+ dateTime,
295
+ consentApproval: consentApproval && consentApproval.includes("agreed"),
296
+ message,
297
+ crmRequest,
298
+ parsedAddress,
299
+ preferredTime
300
+ });
301
+ if (jobError) {
302
+ crmResponse.message = `Lead created, but job creation failed: ${jobError}`;
303
+ }
304
+ }
305
+ catch (err) {
306
+ crmResponse.message = `Lead created, but job creation failed: ${err}`;
307
+ }
308
+ if (crmResponse.message) {
309
+ (0, stentor_logger_1.log)().error(`Housecall Pro: ${crmResponse.message} (customer ${crmRequest.customer_id})`);
310
+ }
311
+ }
255
312
  }
256
313
  catch (err) {
257
314
  (0, stentor_logger_1.log)().error(`Housecall Pro error send(): ${err}`);
258
- crmResponse.message = err;
315
+ crmResponse.status = "Failure";
316
+ crmResponse.message = `${err}`;
259
317
  }
260
318
  return crmResponse;
261
319
  });
262
320
  }
321
+ /**
322
+ * Book the job for a scheduled, consented lead. Runs inline — it used to run on a
323
+ * `setTimeout` after send() had returned, which a frozen Lambda never fires.
324
+ *
325
+ * @returns A description of why no job was booked, or undefined when it was booked or
326
+ * none was requested.
327
+ */
263
328
  processJobRequest(request) {
264
329
  return __awaiter(this, void 0, void 0, function* () {
265
- if (request.dateTime && request.consentApproval) {
266
- let location_id = "";
267
- const jobs = (0, JobTypes_1.getJobTypes)();
268
- const aiService = new ai_1.AIService({
269
- jobTypes: jobs,
270
- apiKey: this.props.openAI.apiKey
271
- });
272
- const aiResponse = yield aiService.labelJob(request.message);
273
- let jobNote = request.message;
274
- if (aiResponse.success && aiResponse.jobCategory) {
275
- jobNote = `${aiResponse.serviceType} - ${aiResponse.jobCategory} - ${aiResponse.jobService}`;
330
+ var _a, _b, _c;
331
+ if (!request.dateTime || !request.consentApproval) {
332
+ return undefined;
333
+ }
334
+ let location_id = "";
335
+ const jobs = (0, JobTypes_1.getJobTypes)();
336
+ const aiService = new ai_1.AIService({
337
+ jobTypes: jobs,
338
+ apiKey: this.props.openAI.apiKey
339
+ });
340
+ const aiResponse = yield aiService.labelJob(request.message);
341
+ let jobNote = request.message;
342
+ if (aiResponse.success && aiResponse.jobCategory) {
343
+ jobNote = `${aiResponse.serviceType} - ${aiResponse.jobCategory} - ${aiResponse.jobService}`;
344
+ }
345
+ // A lead without a usable address must still schedule cleanly. Before #5324,
346
+ // request.parsedAddress was dereferenced unguarded here and a missing address
347
+ // threw a TypeError, silently killing the job creation.
348
+ const parsedAddress = (0, util_1.isSendableAddress)(request.parsedAddress) ? request.parsedAddress : undefined;
349
+ // An address embedded in the customer create can take a moment to show up on the
350
+ // customer (this used to be covered by a blind 2s timer). Retry the lookup before
351
+ // creating a new location, so it isn't duplicated.
352
+ for (let attempt = 0; attempt <= ADDRESS_LOOKUP_RETRIES && !location_id; attempt++) {
353
+ if (attempt > 0) {
354
+ yield new Promise((resolve) => setTimeout(resolve, this.addressRetryDelayMs));
276
355
  }
277
- // A lead without a usable address must still schedule cleanly. Before #5324,
278
- // request.parsedAddress was dereferenced unguarded here and a missing address
279
- // threw a TypeError inside the timer, silently killing the job creation.
280
- const parsedAddress = (0, util_1.isSendableAddress)(request.parsedAddress) ? request.parsedAddress : undefined;
281
- setTimeout(() => __awaiter(this, void 0, void 0, function* () {
282
- var _a, _b;
283
- const customerAddresses = yield this.getCustomerAddresses(request.crmRequest.customer_id);
284
- (0, stentor_logger_1.log)().info(`Customer address: ${customerAddresses}`);
285
- const addresses = ((_a = customerAddresses.data) === null || _a === void 0 ? void 0 : _a.addresses) || [];
286
- for (let i = 0; i < addresses.length; i++) {
287
- if (parsedAddress && addresses[i].zip === parsedAddress.zipCode) {
288
- location_id = addresses[i].id;
289
- }
290
- }
291
- let appointmentTime = (0, date_fns_1.parseISO)(request.dateTime); // Localized time
292
- const zoneOffset = 0;
293
- let offsetHours;
294
- if (request.preferredTime) {
295
- if (request.preferredTime.includes("morning")) {
296
- offsetHours = 8 + zoneOffset;
297
- }
298
- else if (request.preferredTime.includes("afternoon")) {
299
- offsetHours = 14 + zoneOffset;
300
- }
301
- else {
302
- offsetHours = 8 + zoneOffset; // first available = morning
303
- }
304
- }
305
- else {
306
- offsetHours = 8; // no time part
307
- }
308
- appointmentTime = (0, date_fns_1.addHours)(appointmentTime, offsetHours);
309
- const requestTime = appointmentTime ? appointmentTime.toISOString() : undefined;
310
- const endTime = (0, date_fns_1.addHours)((0, date_fns_1.parseISO)(requestTime), 2).toISOString();
311
- // New Address? Only a complete one is worth creating — see
312
- // __test__/address-required.test.ts for the enforcement evidence table.
313
- if (!location_id && parsedAddress) {
314
- const addLocationResponse = yield this.addLocation(request.crmRequest.customer_id, {
315
- street: parsedAddress.addressLine1,
316
- city: parsedAddress.placeName,
317
- state: parsedAddress.stateAbbreviation,
318
- zip: parsedAddress.zipCode,
319
- country: "USA"
320
- });
321
- location_id = (_b = addLocationResponse.data) === null || _b === void 0 ? void 0 : _b.id;
322
- }
323
- if (location_id) {
324
- const addJobResponse = yield this.addJob({
325
- customer_id: request.crmRequest.customer_id,
326
- address_id: location_id,
327
- schedule: {
328
- scheduled_start: requestTime,
329
- scheduled_end: endTime,
330
- arrival_window: 120
331
- },
332
- notes: request.message,
333
- lead_source: "XAPP AI"
334
- });
335
- // AI Summary
336
- yield this.addJobNote(addJobResponse.data.id, jobNote);
337
- }
338
- else {
339
- (0, stentor_logger_1.log)().error("No Location, Cannot add Job");
340
- }
341
- }), 2000);
356
+ const customerAddresses = yield this.getCustomerAddresses(request.crmRequest.customer_id);
357
+ const addresses = ((_a = customerAddresses.data) === null || _a === void 0 ? void 0 : _a.addresses) || [];
358
+ const match = parsedAddress && addresses.find((a) => a.zip === parsedAddress.zipCode);
359
+ if (match) {
360
+ location_id = match.id;
361
+ }
362
+ if (!parsedAddress) {
363
+ break; // Nothing to match against, so nothing to wait for.
364
+ }
365
+ }
366
+ let appointmentTime = (0, date_fns_1.parseISO)(request.dateTime); // Localized time
367
+ const zoneOffset = 0;
368
+ let offsetHours;
369
+ if (request.preferredTime) {
370
+ if (request.preferredTime.includes("morning")) {
371
+ offsetHours = 8 + zoneOffset;
372
+ }
373
+ else if (request.preferredTime.includes("afternoon")) {
374
+ offsetHours = 14 + zoneOffset;
375
+ }
376
+ else {
377
+ offsetHours = 8 + zoneOffset; // first available = morning
378
+ }
379
+ }
380
+ else {
381
+ offsetHours = 8; // no time part
382
+ }
383
+ appointmentTime = (0, date_fns_1.addHours)(appointmentTime, offsetHours);
384
+ const requestTime = appointmentTime ? appointmentTime.toISOString() : undefined;
385
+ const endTime = (0, date_fns_1.addHours)((0, date_fns_1.parseISO)(requestTime), 2).toISOString();
386
+ // New Address? Only a complete one is worth creating — see
387
+ // __test__/address-required.test.ts for the enforcement evidence table.
388
+ if (!location_id && parsedAddress) {
389
+ const addLocationResponse = yield this.addLocation(request.crmRequest.customer_id, {
390
+ street: parsedAddress.addressLine1,
391
+ city: parsedAddress.placeName,
392
+ state: parsedAddress.stateAbbreviation,
393
+ zip: parsedAddress.zipCode,
394
+ country: "USA"
395
+ });
396
+ location_id = (_b = addLocationResponse.data) === null || _b === void 0 ? void 0 : _b.id;
397
+ }
398
+ if (!location_id) {
399
+ return "no location for the customer, cannot add job";
400
+ }
401
+ const addJobResponse = yield this.addJob({
402
+ customer_id: request.crmRequest.customer_id,
403
+ address_id: location_id,
404
+ schedule: {
405
+ scheduled_start: requestTime,
406
+ scheduled_end: endTime,
407
+ arrival_window: 120
408
+ },
409
+ notes: request.message,
410
+ lead_source: "XAPP AI"
411
+ });
412
+ const jobId = (_c = addJobResponse.data) === null || _c === void 0 ? void 0 : _c.id;
413
+ if (addJobResponse.status !== "Success" || !jobId) {
414
+ return `unable to add job: ${addJobResponse.error || "no job id returned"}`;
342
415
  }
416
+ // AI Summary
417
+ yield this.addJobNote(jobId, jobNote);
418
+ return undefined;
343
419
  });
344
420
  }
345
421
  getCustomers(query_1) {
@@ -1 +1 @@
1
- {"version":3,"file":"HouseCallProService.js","sourceRoot":"","sources":["../src/HouseCallProService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HouseCallProService.js","sourceRoot":"","sources":["../src/HouseCallProService.ts"],"names":[],"mappings":"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"}
package/lib/models.d.ts CHANGED
@@ -17,6 +17,14 @@ export interface HouseCallProExternalLeadExtras {
17
17
  * Was the session abandoned i.e. widget was closed (= no more data)?
18
18
  */
19
19
  isAbandoned?: boolean;
20
+ /**
21
+ * Is this a partial submission (timeout, error, drop-off)?
22
+ */
23
+ isPartial?: boolean;
24
+ /**
25
+ * ISO timestamp of when the partial/abandoned lead was captured
26
+ */
27
+ partialAt?: string;
20
28
  }
21
29
  export interface HouseCallProLeadTranscript {
22
30
  /**
package/lib/util.d.ts CHANGED
@@ -27,3 +27,37 @@ export declare function getName(lead: ExternalLead): any;
27
27
  * @returns
28
28
  */
29
29
  export declare function getNextDays(n: number): DateTime[];
30
+ /**
31
+ * Is the value a string with something other than whitespace in it?
32
+ */
33
+ export declare function isValidString(s: unknown): s is string;
34
+ /**
35
+ * Does an incomplete lead carry the minimum needed to act on it: a name, plus a phone or an email?
36
+ *
37
+ * Rule 1 of the partial/abandoned lead standard (`packages/services/README.md`).
38
+ */
39
+ export declare function isValidPartial(name: string | undefined, email: string | undefined, phone: string | undefined): boolean;
40
+ /**
41
+ * Is the value a parseable ISO 8601 timestamp (date and time)?
42
+ */
43
+ export declare function isValidISOString(s: unknown): s is string;
44
+ /**
45
+ * Is the value an http(s) URL? Anything else — `javascript:`, `data:`, free text — is rejected.
46
+ */
47
+ export declare function isValidUrl(s: unknown): s is string;
48
+ export interface IncompleteLeadFlags {
49
+ isAbandoned?: boolean;
50
+ isPartial?: boolean;
51
+ partialAt?: string;
52
+ source?: string;
53
+ }
54
+ /**
55
+ * The line that leads the CRM's persistent free-text field for an incomplete lead: the rule 2
56
+ * label followed by the rule 4 metadata, e.g.
57
+ *
58
+ * `[Partial Form Fill] Status: ABANDONED | Captured: 2026-08-15T14:03:00.000Z | Source: https://example.com/contact`
59
+ *
60
+ * `partialAt` and `source` come from the client, so a bad timestamp falls back to now and a
61
+ * source that is not an http(s) URL is left out.
62
+ */
63
+ export declare function incompleteLeadLabel(flags: IncompleteLeadFlags, hasTranscript: boolean): string;
package/lib/util.js CHANGED
@@ -19,6 +19,11 @@ exports.queryfy = queryfy;
19
19
  exports.getUTCOffset = getUTCOffset;
20
20
  exports.getName = getName;
21
21
  exports.getNextDays = getNextDays;
22
+ exports.isValidString = isValidString;
23
+ exports.isValidPartial = isValidPartial;
24
+ exports.isValidISOString = isValidISOString;
25
+ exports.isValidUrl = isValidUrl;
26
+ exports.incompleteLeadLabel = incompleteLeadLabel;
22
27
  /*! Copyright (c) 2024, XAPP AI */
23
28
  const stentor_logger_1 = require("stentor-logger");
24
29
  const addresser_1 = __importDefault(require("addresser"));
@@ -154,6 +159,7 @@ function getUTCOffset(dateString) {
154
159
  return -utcOffsetHours; // Return negative because getTimezoneOffset returns positive for timezones ahead of UTC
155
160
  }
156
161
  function getName(lead) {
162
+ var _a, _b;
157
163
  // Try to find a field with the name "FULL_NAME" in the lead.fields array
158
164
  const fullNameField = lead.fields.find((field) => field.name === "FULL_NAME");
159
165
  // If a "FULL_NAME" field is found, return its value
@@ -169,12 +175,14 @@ function getName(lead) {
169
175
  // If no "FULL_NAME" field is found, try to find "FIRST_NAME" and "LAST_NAME" fields
170
176
  const firstNameField = lead.fields.find((field) => field.name === "FIRST_NAME");
171
177
  const lastNameField = lead.fields.find((field) => field.name === "LAST_NAME");
172
- // If both "FIRST_NAME" and "LAST_NAME" fields are found, concatenate their values with a space in between
173
- if (firstNameField && lastNameField)
178
+ // Use the values — this used to return the field objects themselves — and accept either part
179
+ // on its own, so a first-name-only lead is not treated as nameless.
180
+ if (isValidString(firstNameField === null || firstNameField === void 0 ? void 0 : firstNameField.value) || isValidString(lastNameField === null || lastNameField === void 0 ? void 0 : lastNameField.value)) {
174
181
  return {
175
- firstName: firstNameField,
176
- lastName: lastNameField
182
+ firstName: (_a = firstNameField === null || firstNameField === void 0 ? void 0 : firstNameField.value) !== null && _a !== void 0 ? _a : "",
183
+ lastName: (_b = lastNameField === null || lastNameField === void 0 ? void 0 : lastNameField.value) !== null && _b !== void 0 ? _b : ""
177
184
  };
185
+ }
178
186
  return null;
179
187
  }
180
188
  /**
@@ -205,4 +213,60 @@ function moveBackByMinutes(d, minutes) {
205
213
  (0, stentor_logger_1.log)().info(`Jobber: Moved back ${minutes} minutes: ${d}`);
206
214
  return d;
207
215
  }
216
+ /**
217
+ * Is the value a string with something other than whitespace in it?
218
+ */
219
+ function isValidString(s) {
220
+ return typeof s === "string" && s.trim().length > 0;
221
+ }
222
+ /**
223
+ * Does an incomplete lead carry the minimum needed to act on it: a name, plus a phone or an email?
224
+ *
225
+ * Rule 1 of the partial/abandoned lead standard (`packages/services/README.md`).
226
+ */
227
+ function isValidPartial(name, email, phone) {
228
+ return isValidString(name) && (isValidString(email) || isValidString(phone));
229
+ }
230
+ /**
231
+ * Is the value a parseable ISO 8601 timestamp (date and time)?
232
+ */
233
+ function isValidISOString(s) {
234
+ return isValidString(s) && s.includes("T") && !isNaN(new Date(s).getTime());
235
+ }
236
+ /**
237
+ * Is the value an http(s) URL? Anything else — `javascript:`, `data:`, free text — is rejected.
238
+ */
239
+ function isValidUrl(s) {
240
+ if (!isValidString(s)) {
241
+ return false;
242
+ }
243
+ try {
244
+ const url = new URL(s);
245
+ return url.protocol === "http:" || url.protocol === "https:";
246
+ }
247
+ catch (_a) {
248
+ return false;
249
+ }
250
+ }
251
+ /**
252
+ * The line that leads the CRM's persistent free-text field for an incomplete lead: the rule 2
253
+ * label followed by the rule 4 metadata, e.g.
254
+ *
255
+ * `[Partial Form Fill] Status: ABANDONED | Captured: 2026-08-15T14:03:00.000Z | Source: https://example.com/contact`
256
+ *
257
+ * `partialAt` and `source` come from the client, so a bad timestamp falls back to now and a
258
+ * source that is not an http(s) URL is left out.
259
+ */
260
+ function incompleteLeadLabel(flags, hasTranscript) {
261
+ const prefix = hasTranscript ? "Partial Chat Capture" : "Partial Form Fill";
262
+ const status = flags.isAbandoned ? "ABANDONED" : "PARTIAL";
263
+ const capturedAt = isValidISOString(flags.partialAt) ? flags.partialAt : new Date().toISOString();
264
+ const metadata = [`Status: ${status}`, `Captured: ${capturedAt}`];
265
+ if (isValidUrl(flags.source)) {
266
+ // The normalized href, so stray whitespace or newlines in the client value cannot
267
+ // break the label onto extra lines.
268
+ metadata.push(`Source: ${new URL(flags.source).href}`);
269
+ }
270
+ return `[${prefix}] ${metadata.join(" | ")}`;
271
+ }
208
272
  //# sourceMappingURL=util.js.map
package/lib/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "version": "1.86.7",
7
+ "version": "1.86.9",
8
8
  "description": "Service to integrate with Housecall Pro",
9
9
  "types": "lib/index",
10
10
  "main": "lib/index",
@@ -15,10 +15,13 @@
15
15
  "node": "^20 || ^22 || ^24"
16
16
  },
17
17
  "devDependencies": {
18
+ "@types/sinon": "4.3.3",
18
19
  "@xapp/config": "0.3.0",
20
+ "axios-mock-adapter": "2.1.0",
19
21
  "chai": "4.5.0",
20
22
  "dotenv": "17.4.2",
21
23
  "mocha": "11.8.0",
24
+ "sinon": "21.0.0",
22
25
  "stentor-logger": "1.74.9",
23
26
  "stentor-models": "1.79.0",
24
27
  "stentor-service-fetch": "1.74.5",
@@ -34,7 +37,7 @@
34
37
  "prepack": "yarn build",
35
38
  "build": "tsc -d true -p .",
36
39
  "clean": "rm -rf ./lib/*",
37
- "test": "exit 0",
40
+ "test": "mocha --recursive --timeout 9000 -r ts-node/register \"./src/**/*.test.ts\"",
38
41
  "local": "mocha --recursive --timeout 9000 -r ts-node/register \"./src/**/*.test.ts\""
39
42
  },
40
43
  "gitHead": "3a345719866a5c39329b605545f04c465e6baf48",