@tellescope/sdk 1.255.6 → 1.255.8

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.
Files changed (54) hide show
  1. package/lib/cjs/sdk.d.ts +2 -2
  2. package/lib/cjs/session.d.ts +1 -0
  3. package/lib/cjs/session.d.ts.map +1 -1
  4. package/lib/cjs/tests/api_tests/custom_dashboards.test.d.ts.map +1 -1
  5. package/lib/cjs/tests/api_tests/custom_dashboards.test.js +258 -32
  6. package/lib/cjs/tests/api_tests/custom_dashboards.test.js.map +1 -1
  7. package/lib/cjs/tests/api_tests/gmail_sync_related_contact_emails.test.d.ts +6 -0
  8. package/lib/cjs/tests/api_tests/gmail_sync_related_contact_emails.test.d.ts.map +1 -0
  9. package/lib/cjs/tests/api_tests/gmail_sync_related_contact_emails.test.js +183 -0
  10. package/lib/cjs/tests/api_tests/gmail_sync_related_contact_emails.test.js.map +1 -0
  11. package/lib/cjs/tests/api_tests/journey_delete_cancels_actions.test.d.ts +6 -0
  12. package/lib/cjs/tests/api_tests/journey_delete_cancels_actions.test.d.ts.map +1 -0
  13. package/lib/cjs/tests/api_tests/journey_delete_cancels_actions.test.js +250 -0
  14. package/lib/cjs/tests/api_tests/journey_delete_cancels_actions.test.js.map +1 -0
  15. package/lib/cjs/tests/api_tests/security/register_business_id_injection.test.d.ts +36 -0
  16. package/lib/cjs/tests/api_tests/security/register_business_id_injection.test.d.ts.map +1 -0
  17. package/lib/cjs/tests/api_tests/security/register_business_id_injection.test.js +203 -0
  18. package/lib/cjs/tests/api_tests/security/register_business_id_injection.test.js.map +1 -0
  19. package/lib/cjs/tests/tests.d.ts.map +1 -1
  20. package/lib/cjs/tests/tests.js +174 -166
  21. package/lib/cjs/tests/tests.js.map +1 -1
  22. package/lib/esm/enduser.d.ts +0 -1
  23. package/lib/esm/enduser.d.ts.map +1 -1
  24. package/lib/esm/sdk.d.ts +2 -3
  25. package/lib/esm/sdk.d.ts.map +1 -1
  26. package/lib/esm/tests/api_tests/gmail_sync_related_contact_emails.test.d.ts +6 -0
  27. package/lib/esm/tests/api_tests/gmail_sync_related_contact_emails.test.d.ts.map +1 -0
  28. package/lib/esm/tests/api_tests/gmail_sync_related_contact_emails.test.js +179 -0
  29. package/lib/esm/tests/api_tests/gmail_sync_related_contact_emails.test.js.map +1 -0
  30. package/lib/esm/tests/api_tests/journey_delete_cancels_actions.test.d.ts +6 -0
  31. package/lib/esm/tests/api_tests/journey_delete_cancels_actions.test.d.ts.map +1 -0
  32. package/lib/esm/tests/api_tests/journey_delete_cancels_actions.test.js +223 -0
  33. package/lib/esm/tests/api_tests/journey_delete_cancels_actions.test.js.map +1 -0
  34. package/lib/esm/tests/api_tests/medication_added_trigger.test.d.ts.map +1 -1
  35. package/lib/esm/tests/api_tests/medication_added_trigger.test.js +136 -206
  36. package/lib/esm/tests/api_tests/medication_added_trigger.test.js.map +1 -1
  37. package/lib/esm/tests/api_tests/security/F-0005-ai-conversations-rbac.test.d.ts +0 -10
  38. package/lib/esm/tests/api_tests/security/F-0005-ai-conversations-rbac.test.d.ts.map +1 -1
  39. package/lib/esm/tests/api_tests/security/F-0005-ai-conversations-rbac.test.js +41 -184
  40. package/lib/esm/tests/api_tests/security/F-0005-ai-conversations-rbac.test.js.map +1 -1
  41. package/lib/esm/tests/api_tests/security/register_business_id_injection.test.d.ts +36 -0
  42. package/lib/esm/tests/api_tests/security/register_business_id_injection.test.d.ts.map +1 -0
  43. package/lib/esm/tests/api_tests/security/register_business_id_injection.test.js +196 -0
  44. package/lib/esm/tests/api_tests/security/register_business_id_injection.test.js.map +1 -0
  45. package/lib/esm/tests/tests.d.ts.map +1 -1
  46. package/lib/esm/tests/tests.js +127 -131
  47. package/lib/esm/tests/tests.js.map +1 -1
  48. package/lib/tsconfig.tsbuildinfo +1 -1
  49. package/package.json +8 -8
  50. package/src/tests/api_tests/custom_dashboards.test.ts +208 -0
  51. package/src/tests/api_tests/journey_delete_cancels_actions.test.ts +152 -0
  52. package/src/tests/api_tests/security/register_business_id_injection.test.ts +140 -0
  53. package/src/tests/tests.ts +5 -1
  54. package/test_generated.pdf +0 -0
@@ -42,7 +42,7 @@ var host = process.env.API_URL || "http://localhost:8080";
42
42
  export var medication_added_trigger_tests = function (_a) {
43
43
  var sdk = _a.sdk, sdkNonAdmin = _a.sdkNonAdmin;
44
44
  return __awaiter(void 0, void 0, void 0, function () {
45
- var t1, t2, t3, t4, t5, enduser1, enduser2, enduser3, enduser4, enduser5, enduser6, med1, med2, med3, med4, med5, med6, belugaForm, belugaEnduser, belugaFormResponse, belugaTrigger, webhookResponse, _b, _c, _d, belugaMeds, belugaMedSemaglutide, belugaMedMetformin, belugaFormNoCategory, belugaEnduserNoCategory, belugaFormResponseNoCategory, webhookResponseNoCategory, _e, _f, _g, belugaMedsNoCategory, belugaMedNoCategory, setFieldsTrigger, setFieldsEnduser, setFieldsMed, setFieldsTriggerFiltered, setFieldsEnduser2, setFieldsMed2, setFieldsCategoryTrigger, setFieldsCategoryEnduser, setFieldsCategoryMed, setFieldsCategoryEnduserEmpty, setFieldsCategoryMedEmpty, setFieldsPharmacyNotesTrigger, setFieldsPharmacyNotesEnduser, setFieldsPharmacyNotesMed, setFieldsPharmacyNotesEnduserEmpty, setFieldsPharmacyNotesMedEmpty, c1Trigger, c1MatchEnduser, c1MissEnduser, c2Trigger, c2MatchEnduser, c2MissEnduser, c3Trigger, c3MatchEnduser, c3MissEnduser, c4Trigger, c4MatchA, c4MatchB, c4Miss, c5Trigger, c5Match, c5Miss, c6Trigger, c6Match;
45
+ var t1, t2, t3, t4, t5, enduser1, enduser2, enduser3, enduser4, enduser5, enduser6, med1, med2, med3, med4, med5, med6, belugaForm, belugaEnduser, belugaFormResponse, belugaTrigger, webhookResponse, _b, _c, _d, belugaMeds, belugaMedSemaglutide, belugaMedMetformin, belugaFormNoCategory, belugaEnduserNoCategory, belugaFormResponseNoCategory, webhookResponseNoCategory, _e, _f, _g, belugaMedsNoCategory, belugaMedNoCategory, setFieldsTrigger, setFieldsEnduser, setFieldsMed, setFieldsTriggerFiltered, setFieldsEnduser2, setFieldsMed2, setFieldsCategoryTrigger, setFieldsCategoryEnduser, setFieldsCategoryMed, setFieldsCategoryEnduserEmpty, setFieldsCategoryMedEmpty, c1Trigger, c1MatchEnduser, c1MissEnduser, c2Trigger, c2MatchEnduser, c2MissEnduser, c3Trigger, c3MatchEnduser, c3MissEnduser, c4Trigger, c4MatchA, c4MatchB, c4Miss, c5Trigger, c5Match, c5Miss, c6Trigger, c6Match;
46
46
  return __generator(this, function (_h) {
47
47
  switch (_h.label) {
48
48
  case 0:
@@ -280,7 +280,7 @@ export var medication_added_trigger_tests = function (_a) {
280
280
  status: 'Active',
281
281
  title: "Medication - Beluga Protocol Test"
282
282
  })
283
- // Simulate the Beluga RX_WRITTEN webhook with two meds covering category/pharmacyNotes present (typical) and "N/A"/absent
283
+ // Simulate the Beluga RX_WRITTEN webhook with two meds covering category present (typical) and "N/A"
284
284
  ];
285
285
  case 47:
286
286
  belugaTrigger = _h.sent();
@@ -299,7 +299,6 @@ export var medication_added_trigger_tests = function (_a) {
299
299
  medId: 'test-ndc-123',
300
300
  rxId: 'test-rx-456',
301
301
  category: 'weightloss1',
302
- pharmacyNotes: 'Dispense with syringes',
303
302
  }, {
304
303
  name: 'Metformin',
305
304
  strength: '500mg',
@@ -350,29 +349,19 @@ export var medication_added_trigger_tests = function (_a) {
350
349
  _h.sent();
351
350
  return [4 /*yield*/, async_test("Beluga RX_WRITTEN - Medication preserves N/A category verbatim", function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
352
351
  return [2 /*return*/, belugaMedMetformin];
353
- }); }); }, { onResult: function (m) { return (m === null || m === void 0 ? void 0 : m.category) === 'N/A'; } })];
354
- case 56:
355
- _h.sent();
356
- return [4 /*yield*/, async_test("Beluga RX_WRITTEN - Medication has notes from webhook pharmacyNotes", function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
357
- return [2 /*return*/, belugaMedSemaglutide];
358
- }); }); }, { onResult: function (m) { return (m === null || m === void 0 ? void 0 : m.notes) === 'Dispense with syringes'; } })];
359
- case 57:
360
- _h.sent();
361
- return [4 /*yield*/, async_test("Beluga RX_WRITTEN - Medication omits notes when pharmacyNotes not provided on med", function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
362
- return [2 /*return*/, belugaMedMetformin];
363
- }); }); }, { onResult: function (m) { return (m === null || m === void 0 ? void 0 : m.notes) === undefined || (m === null || m === void 0 ? void 0 : m.notes) === null; } })
352
+ }); }); }, { onResult: function (m) { return (m === null || m === void 0 ? void 0 : m.category) === 'N/A'; } })
364
353
  // Backwards-compatibility: a webhook with no category on any med should result in undefined category
365
354
  ];
366
- case 58:
355
+ case 56:
367
356
  _h.sent();
368
357
  return [4 /*yield*/, sdk.api.forms.createOne({
369
358
  title: 'Beluga Protocol Test Form (no category)',
370
359
  belugaVisitType: 'Weight Loss',
371
360
  })];
372
- case 59:
361
+ case 57:
373
362
  belugaFormNoCategory = _h.sent();
374
363
  return [4 /*yield*/, sdk.api.endusers.createOne({})];
375
- case 60:
364
+ case 58:
376
365
  belugaEnduserNoCategory = _h.sent();
377
366
  return [4 /*yield*/, sdk.api.form_responses.createOne({
378
367
  formId: belugaFormNoCategory.id,
@@ -384,7 +373,7 @@ export var medication_added_trigger_tests = function (_a) {
384
373
  answer: { type: 'string', value: 'test' },
385
374
  }],
386
375
  })];
387
- case 61:
376
+ case 59:
388
377
  belugaFormResponseNoCategory = _h.sent();
389
378
  return [4 /*yield*/, fetch("".concat(host, "/v1/webhooks/beluga"), {
390
379
  method: 'POST',
@@ -403,53 +392,48 @@ export var medication_added_trigger_tests = function (_a) {
403
392
  }],
404
393
  }),
405
394
  })];
406
- case 62:
395
+ case 60:
407
396
  webhookResponseNoCategory = _h.sent();
408
- if (!!webhookResponseNoCategory.ok) return [3 /*break*/, 64];
397
+ if (!!webhookResponseNoCategory.ok) return [3 /*break*/, 62];
409
398
  _e = Error.bind;
410
399
  _g = (_f = "Beluga webhook (no category) failed with status ".concat(webhookResponseNoCategory.status, ": ")).concat;
411
400
  return [4 /*yield*/, webhookResponseNoCategory.text()];
412
- case 63: throw new (_e.apply(Error, [void 0, _g.apply(_f, [_h.sent()])]))();
413
- case 64: return [4 /*yield*/, wait(undefined, 500)];
414
- case 65:
401
+ case 61: throw new (_e.apply(Error, [void 0, _g.apply(_f, [_h.sent()])]))();
402
+ case 62: return [4 /*yield*/, wait(undefined, 500)];
403
+ case 63:
415
404
  _h.sent();
416
405
  return [4 /*yield*/, sdk.api.enduser_medications.getSome({ filter: { enduserId: belugaEnduserNoCategory.id } })];
417
- case 66:
406
+ case 64:
418
407
  belugaMedsNoCategory = _h.sent();
419
408
  belugaMedNoCategory = belugaMedsNoCategory[0];
420
409
  return [4 /*yield*/, async_test("Beluga RX_WRITTEN - Medication omits category when not provided", function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
421
410
  return [2 /*return*/, belugaMedNoCategory];
422
411
  }); }); }, { onResult: function (m) { return (m === null || m === void 0 ? void 0 : m.category) === undefined || (m === null || m === void 0 ? void 0 : m.category) === null; } })];
423
- case 67:
424
- _h.sent();
425
- return [4 /*yield*/, async_test("Beluga RX_WRITTEN - Medication omits notes when pharmacyNotes not provided", function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
426
- return [2 /*return*/, belugaMedNoCategory];
427
- }); }); }, { onResult: function (m) { return (m === null || m === void 0 ? void 0 : m.notes) === undefined || (m === null || m === void 0 ? void 0 : m.notes) === null; } })];
428
- case 68:
412
+ case 65:
429
413
  _h.sent();
430
- _h.label = 69;
431
- case 69:
432
- _h.trys.push([69, , 75, 76]);
414
+ _h.label = 66;
415
+ case 66:
416
+ _h.trys.push([66, , 72, 73]);
433
417
  // Clean up Beluga test data
434
418
  return [4 /*yield*/, sdk.api.automation_triggers.deleteOne(belugaTrigger.id)];
435
- case 70:
419
+ case 67:
436
420
  // Clean up Beluga test data
437
421
  _h.sent();
438
422
  return [4 /*yield*/, sdk.api.forms.deleteOne(belugaForm.id)];
439
- case 71:
423
+ case 68:
440
424
  _h.sent();
441
425
  return [4 /*yield*/, sdk.api.forms.deleteOne(belugaFormNoCategory.id)];
442
- case 72:
426
+ case 69:
443
427
  _h.sent();
444
428
  return [4 /*yield*/, sdk.api.endusers.deleteOne(belugaEnduser.id)]; // also cleans up form response and medications
445
- case 73:
429
+ case 70:
446
430
  _h.sent(); // also cleans up form response and medications
447
431
  return [4 /*yield*/, sdk.api.endusers.deleteOne(belugaEnduserNoCategory.id)]; // also cleans up form response and medications
448
- case 74:
432
+ case 71:
449
433
  _h.sent(); // also cleans up form response and medications
450
- return [3 /*break*/, 76];
451
- case 75: return [7 /*endfinally*/];
452
- case 76:
434
+ return [3 /*break*/, 73];
435
+ case 72: return [7 /*endfinally*/];
436
+ case 73:
453
437
  // ---- Set Fields with {{medication.name}} Test ----
454
438
  log_header("Medication Added - Set Fields with {{medication.name}}");
455
439
  return [4 /*yield*/, sdk.api.automation_triggers.createOne({
@@ -458,24 +442,24 @@ export var medication_added_trigger_tests = function (_a) {
458
442
  status: 'Active',
459
443
  title: "Medication - Set Fields medication.name"
460
444
  })];
461
- case 77:
445
+ case 74:
462
446
  setFieldsTrigger = _h.sent();
463
447
  return [4 /*yield*/, sdk.api.endusers.createOne({})];
464
- case 78:
448
+ case 75:
465
449
  setFieldsEnduser = _h.sent();
466
450
  return [4 /*yield*/, sdk.api.enduser_medications.createOne({
467
451
  enduserId: setFieldsEnduser.id,
468
452
  title: 'Lisinopril 10mg',
469
453
  })];
470
- case 79:
454
+ case 76:
471
455
  setFieldsMed = _h.sent();
472
456
  return [4 /*yield*/, wait(undefined, 500)];
473
- case 80:
457
+ case 77:
474
458
  _h.sent();
475
459
  return [4 /*yield*/, async_test("Medication Added - Set Fields copies medication.name to enduser field", function () { return sdk.api.endusers.getOne(setFieldsEnduser.id); }, { onResult: function (e) { var _a; return ((_a = e.fields) === null || _a === void 0 ? void 0 : _a['Medication Name']) === 'Lisinopril 10mg'; } })
476
460
  // Test with title-filtered trigger to verify medication context is passed correctly
477
461
  ];
478
- case 81:
462
+ case 78:
479
463
  _h.sent();
480
464
  return [4 /*yield*/, sdk.api.automation_triggers.createOne({
481
465
  event: { type: 'Medication Added', info: { titles: ['Metformin 500mg'], protocols: [] } },
@@ -483,24 +467,24 @@ export var medication_added_trigger_tests = function (_a) {
483
467
  status: 'Active',
484
468
  title: "Medication - Set Fields filtered"
485
469
  })];
486
- case 82:
470
+ case 79:
487
471
  setFieldsTriggerFiltered = _h.sent();
488
472
  return [4 /*yield*/, sdk.api.endusers.createOne({})];
489
- case 83:
473
+ case 80:
490
474
  setFieldsEnduser2 = _h.sent();
491
475
  return [4 /*yield*/, sdk.api.enduser_medications.createOne({
492
476
  enduserId: setFieldsEnduser2.id,
493
477
  title: 'Metformin 500mg',
494
478
  })];
495
- case 84:
479
+ case 81:
496
480
  setFieldsMed2 = _h.sent();
497
481
  return [4 /*yield*/, wait(undefined, 500)];
498
- case 85:
482
+ case 82:
499
483
  _h.sent();
500
484
  return [4 /*yield*/, async_test("Medication Added - Set Fields with title filter copies medication.name", function () { return sdk.api.endusers.getOne(setFieldsEnduser2.id); }, { onResult: function (e) { var _a; return ((_a = e.fields) === null || _a === void 0 ? void 0 : _a['Specific Med']) === 'Metformin 500mg'; } })
501
485
  // ---- Set Fields with {{medication.category}} Test ----
502
486
  ];
503
- case 86:
487
+ case 83:
504
488
  _h.sent();
505
489
  // ---- Set Fields with {{medication.category}} Test ----
506
490
  log_header("Medication Added - Set Fields with {{medication.category}}");
@@ -510,122 +494,68 @@ export var medication_added_trigger_tests = function (_a) {
510
494
  status: 'Active',
511
495
  title: "Medication - Set Fields medication.category"
512
496
  })];
513
- case 87:
497
+ case 84:
514
498
  setFieldsCategoryTrigger = _h.sent();
515
499
  return [4 /*yield*/, sdk.api.endusers.createOne({})];
516
- case 88:
500
+ case 85:
517
501
  setFieldsCategoryEnduser = _h.sent();
518
502
  return [4 /*yield*/, sdk.api.enduser_medications.createOne({
519
503
  enduserId: setFieldsCategoryEnduser.id,
520
504
  title: 'Ozempic 0.5mg',
521
505
  category: 'weightloss1',
522
506
  })];
523
- case 89:
507
+ case 86:
524
508
  setFieldsCategoryMed = _h.sent();
525
509
  return [4 /*yield*/, wait(undefined, 500)];
526
- case 90:
510
+ case 87:
527
511
  _h.sent();
528
512
  return [4 /*yield*/, async_test("Medication Added - Set Fields copies medication.category to enduser field", function () { return sdk.api.endusers.getOne(setFieldsCategoryEnduser.id); }, { onResult: function (e) { var _a; return ((_a = e.fields) === null || _a === void 0 ? void 0 : _a['Medication Category']) === 'weightloss1'; } })
529
513
  // Category absent on medication → placeholder resolves to empty string
530
514
  ];
531
- case 91:
515
+ case 88:
532
516
  _h.sent();
533
517
  return [4 /*yield*/, sdk.api.endusers.createOne({})];
534
- case 92:
518
+ case 89:
535
519
  setFieldsCategoryEnduserEmpty = _h.sent();
536
520
  return [4 /*yield*/, sdk.api.enduser_medications.createOne({
537
521
  enduserId: setFieldsCategoryEnduserEmpty.id,
538
522
  title: 'Lisinopril 20mg',
539
523
  })];
540
- case 93:
524
+ case 90:
541
525
  setFieldsCategoryMedEmpty = _h.sent();
542
526
  return [4 /*yield*/, wait(undefined, 500)];
543
- case 94:
544
- _h.sent();
545
- return [4 /*yield*/, async_test("Medication Added - Set Fields with no category resolves to empty string", function () { return sdk.api.endusers.getOne(setFieldsCategoryEnduserEmpty.id); }, { onResult: function (e) { var _a; return ((_a = e.fields) === null || _a === void 0 ? void 0 : _a['Medication Category']) === ''; } })
546
- // ---- Set Fields with {{medication.notes}} Test ----
547
- ];
548
- case 95:
549
- _h.sent();
550
- // ---- Set Fields with {{medication.notes}} Test ----
551
- log_header("Medication Added - Set Fields with {{medication.notes}}");
552
- return [4 /*yield*/, sdk.api.automation_triggers.createOne({
553
- event: { type: 'Medication Added', info: { titles: [], protocols: [] } },
554
- action: { type: 'Set Fields', info: { fields: [{ name: 'Medication Notes', type: 'Custom Value', value: '{{medication.notes}}' }] } },
555
- status: 'Active',
556
- title: "Medication - Set Fields medication.notes"
557
- })];
558
- case 96:
559
- setFieldsPharmacyNotesTrigger = _h.sent();
560
- return [4 /*yield*/, sdk.api.endusers.createOne({})];
561
- case 97:
562
- setFieldsPharmacyNotesEnduser = _h.sent();
563
- return [4 /*yield*/, sdk.api.enduser_medications.createOne({
564
- enduserId: setFieldsPharmacyNotesEnduser.id,
565
- title: 'Ozempic 1mg',
566
- notes: 'Dispense with syringes',
567
- })];
568
- case 98:
569
- setFieldsPharmacyNotesMed = _h.sent();
570
- return [4 /*yield*/, wait(undefined, 500)];
571
- case 99:
572
- _h.sent();
573
- return [4 /*yield*/, async_test("Medication Added - Set Fields copies medication.notes to enduser field", function () { return sdk.api.endusers.getOne(setFieldsPharmacyNotesEnduser.id); }, { onResult: function (e) { var _a; return ((_a = e.fields) === null || _a === void 0 ? void 0 : _a['Medication Notes']) === 'Dispense with syringes'; } })
574
- // notes absent on medication → placeholder resolves to empty string
575
- ];
576
- case 100:
577
- _h.sent();
578
- return [4 /*yield*/, sdk.api.endusers.createOne({})];
579
- case 101:
580
- setFieldsPharmacyNotesEnduserEmpty = _h.sent();
581
- return [4 /*yield*/, sdk.api.enduser_medications.createOne({
582
- enduserId: setFieldsPharmacyNotesEnduserEmpty.id,
583
- title: 'Lisinopril 40mg',
584
- })];
585
- case 102:
586
- setFieldsPharmacyNotesMedEmpty = _h.sent();
587
- return [4 /*yield*/, wait(undefined, 500)];
588
- case 103:
527
+ case 91:
589
528
  _h.sent();
590
- return [4 /*yield*/, async_test("Medication Added - Set Fields with no notes resolves to empty string", function () { return sdk.api.endusers.getOne(setFieldsPharmacyNotesEnduserEmpty.id); }, { onResult: function (e) { var _a; return ((_a = e.fields) === null || _a === void 0 ? void 0 : _a['Medication Notes']) === ''; } })];
591
- case 104:
529
+ return [4 /*yield*/, async_test("Medication Added - Set Fields with no category resolves to empty string", function () { return sdk.api.endusers.getOne(setFieldsCategoryEnduserEmpty.id); }, { onResult: function (e) { var _a; return ((_a = e.fields) === null || _a === void 0 ? void 0 : _a['Medication Category']) === ''; } })];
530
+ case 92:
592
531
  _h.sent();
593
- _h.label = 105;
594
- case 105:
595
- _h.trys.push([105, , 116, 117]);
532
+ _h.label = 93;
533
+ case 93:
534
+ _h.trys.push([93, , 101, 102]);
596
535
  return [4 /*yield*/, sdk.api.automation_triggers.deleteOne(setFieldsTrigger.id)];
597
- case 106:
536
+ case 94:
598
537
  _h.sent();
599
538
  return [4 /*yield*/, sdk.api.automation_triggers.deleteOne(setFieldsTriggerFiltered.id)];
600
- case 107:
539
+ case 95:
601
540
  _h.sent();
602
541
  return [4 /*yield*/, sdk.api.automation_triggers.deleteOne(setFieldsCategoryTrigger.id)];
603
- case 108:
604
- _h.sent();
605
- return [4 /*yield*/, sdk.api.automation_triggers.deleteOne(setFieldsPharmacyNotesTrigger.id)];
606
- case 109:
542
+ case 96:
607
543
  _h.sent();
608
544
  return [4 /*yield*/, sdk.api.endusers.deleteOne(setFieldsEnduser.id)];
609
- case 110:
545
+ case 97:
610
546
  _h.sent();
611
547
  return [4 /*yield*/, sdk.api.endusers.deleteOne(setFieldsEnduser2.id)];
612
- case 111:
548
+ case 98:
613
549
  _h.sent();
614
550
  return [4 /*yield*/, sdk.api.endusers.deleteOne(setFieldsCategoryEnduser.id)];
615
- case 112:
551
+ case 99:
616
552
  _h.sent();
617
553
  return [4 /*yield*/, sdk.api.endusers.deleteOne(setFieldsCategoryEnduserEmpty.id)];
618
- case 113:
619
- _h.sent();
620
- return [4 /*yield*/, sdk.api.endusers.deleteOne(setFieldsPharmacyNotesEnduser.id)];
621
- case 114:
622
- _h.sent();
623
- return [4 /*yield*/, sdk.api.endusers.deleteOne(setFieldsPharmacyNotesEnduserEmpty.id)];
624
- case 115:
554
+ case 100:
625
555
  _h.sent();
626
- return [3 /*break*/, 117];
627
- case 116: return [7 /*endfinally*/];
628
- case 117:
556
+ return [3 /*break*/, 102];
557
+ case 101: return [7 /*endfinally*/];
558
+ case 102:
629
559
  // ---- titleCondition (compound conditional logic on title) ----
630
560
  log_header("Medication Added - titleCondition compound logic");
631
561
  return [4 /*yield*/, sdk.api.automation_triggers.createOne({
@@ -641,33 +571,33 @@ export var medication_added_trigger_tests = function (_a) {
641
571
  status: 'Active',
642
572
  title: "Medication - titleCondition contains GLP"
643
573
  })];
644
- case 118:
574
+ case 103:
645
575
  c1Trigger = _h.sent();
646
576
  return [4 /*yield*/, sdk.api.endusers.createOne({})];
647
- case 119:
577
+ case 104:
648
578
  c1MatchEnduser = _h.sent();
649
579
  return [4 /*yield*/, sdk.api.enduser_medications.createOne({ enduserId: c1MatchEnduser.id, title: 'Semaglutide GLP-1' })];
650
- case 120:
580
+ case 105:
651
581
  _h.sent();
652
582
  return [4 /*yield*/, wait(undefined, 500)];
653
- case 121:
583
+ case 106:
654
584
  _h.sent();
655
585
  return [4 /*yield*/, async_test("titleCondition $contains - matching medication fires", function () { return sdk.api.endusers.getOne(c1MatchEnduser.id); }, { onResult: function (e) { var _a; return !!((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('Med-Cond-Contains-GLP')); } })];
656
- case 122:
586
+ case 107:
657
587
  _h.sent();
658
588
  return [4 /*yield*/, sdk.api.endusers.createOne({})];
659
- case 123:
589
+ case 108:
660
590
  c1MissEnduser = _h.sent();
661
591
  return [4 /*yield*/, sdk.api.enduser_medications.createOne({ enduserId: c1MissEnduser.id, title: 'Aspirin' })];
662
- case 124:
592
+ case 109:
663
593
  _h.sent();
664
594
  return [4 /*yield*/, wait(undefined, 500)];
665
- case 125:
595
+ case 110:
666
596
  _h.sent();
667
597
  return [4 /*yield*/, async_test("titleCondition $contains - non-matching medication does NOT fire", function () { return sdk.api.endusers.getOne(c1MissEnduser.id); }, { onResult: function (e) { var _a; return !((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('Med-Cond-Contains-GLP')); } })
668
598
  // C2: $ne — fires for everything except 'Placebo'
669
599
  ];
670
- case 126:
600
+ case 111:
671
601
  _h.sent();
672
602
  return [4 /*yield*/, sdk.api.automation_triggers.createOne({
673
603
  event: {
@@ -682,33 +612,33 @@ export var medication_added_trigger_tests = function (_a) {
682
612
  status: 'Active',
683
613
  title: "Medication - titleCondition ne Placebo"
684
614
  })];
685
- case 127:
615
+ case 112:
686
616
  c2Trigger = _h.sent();
687
617
  return [4 /*yield*/, sdk.api.endusers.createOne({})];
688
- case 128:
618
+ case 113:
689
619
  c2MatchEnduser = _h.sent();
690
620
  return [4 /*yield*/, sdk.api.enduser_medications.createOne({ enduserId: c2MatchEnduser.id, title: 'Metformin' })];
691
- case 129:
621
+ case 114:
692
622
  _h.sent();
693
623
  return [4 /*yield*/, wait(undefined, 500)];
694
- case 130:
624
+ case 115:
695
625
  _h.sent();
696
626
  return [4 /*yield*/, async_test("titleCondition $ne - non-Placebo medication fires", function () { return sdk.api.endusers.getOne(c2MatchEnduser.id); }, { onResult: function (e) { var _a; return !!((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('Med-Cond-Ne-Placebo')); } })];
697
- case 131:
627
+ case 116:
698
628
  _h.sent();
699
629
  return [4 /*yield*/, sdk.api.endusers.createOne({})];
700
- case 132:
630
+ case 117:
701
631
  c2MissEnduser = _h.sent();
702
632
  return [4 /*yield*/, sdk.api.enduser_medications.createOne({ enduserId: c2MissEnduser.id, title: 'Placebo' })];
703
- case 133:
633
+ case 118:
704
634
  _h.sent();
705
635
  return [4 /*yield*/, wait(undefined, 500)];
706
- case 134:
636
+ case 119:
707
637
  _h.sent();
708
638
  return [4 /*yield*/, async_test("titleCondition $ne - Placebo medication does NOT fire", function () { return sdk.api.endusers.getOne(c2MissEnduser.id); }, { onResult: function (e) { var _a; return !((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('Med-Cond-Ne-Placebo')); } })
709
639
  // C3: compound $and — contains 'mg' AND does not contain 'Placebo' (case-sensitive)
710
640
  ];
711
- case 135:
641
+ case 120:
712
642
  _h.sent();
713
643
  return [4 /*yield*/, sdk.api.automation_triggers.createOne({
714
644
  event: {
@@ -728,33 +658,33 @@ export var medication_added_trigger_tests = function (_a) {
728
658
  status: 'Active',
729
659
  title: "Medication - titleCondition compound AND"
730
660
  })];
731
- case 136:
661
+ case 121:
732
662
  c3Trigger = _h.sent();
733
663
  return [4 /*yield*/, sdk.api.endusers.createOne({})];
734
- case 137:
664
+ case 122:
735
665
  c3MatchEnduser = _h.sent();
736
666
  return [4 /*yield*/, sdk.api.enduser_medications.createOne({ enduserId: c3MatchEnduser.id, title: 'Lisinopril 10mg' })];
737
- case 138:
667
+ case 123:
738
668
  _h.sent();
739
669
  return [4 /*yield*/, wait(undefined, 500)];
740
- case 139:
670
+ case 124:
741
671
  _h.sent();
742
672
  return [4 /*yield*/, async_test("titleCondition $and - both pass fires", function () { return sdk.api.endusers.getOne(c3MatchEnduser.id); }, { onResult: function (e) { var _a; return !!((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('Med-Cond-And')); } })];
743
- case 140:
673
+ case 125:
744
674
  _h.sent();
745
675
  return [4 /*yield*/, sdk.api.endusers.createOne({})];
746
- case 141:
676
+ case 126:
747
677
  c3MissEnduser = _h.sent();
748
678
  return [4 /*yield*/, sdk.api.enduser_medications.createOne({ enduserId: c3MissEnduser.id, title: 'Placebo 5mg' })];
749
- case 142:
679
+ case 127:
750
680
  _h.sent();
751
681
  return [4 /*yield*/, wait(undefined, 500)];
752
- case 143:
682
+ case 128:
753
683
  _h.sent();
754
684
  return [4 /*yield*/, async_test("titleCondition $and - second branch fails does NOT fire", function () { return sdk.api.endusers.getOne(c3MissEnduser.id); }, { onResult: function (e) { var _a; return !((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('Med-Cond-And')); } })
755
685
  // C4: compound $or — equals 'Aspirin' OR contains 'pril'
756
686
  ];
757
- case 144:
687
+ case 129:
758
688
  _h.sent();
759
689
  return [4 /*yield*/, sdk.api.automation_triggers.createOne({
760
690
  event: {
@@ -774,45 +704,45 @@ export var medication_added_trigger_tests = function (_a) {
774
704
  status: 'Active',
775
705
  title: "Medication - titleCondition compound OR"
776
706
  })];
777
- case 145:
707
+ case 130:
778
708
  c4Trigger = _h.sent();
779
709
  return [4 /*yield*/, sdk.api.endusers.createOne({})];
780
- case 146:
710
+ case 131:
781
711
  c4MatchA = _h.sent();
782
712
  return [4 /*yield*/, sdk.api.enduser_medications.createOne({ enduserId: c4MatchA.id, title: 'Aspirin' })];
783
- case 147:
713
+ case 132:
784
714
  _h.sent();
785
715
  return [4 /*yield*/, wait(undefined, 500)];
786
- case 148:
716
+ case 133:
787
717
  _h.sent();
788
718
  return [4 /*yield*/, async_test("titleCondition $or - first branch matches fires", function () { return sdk.api.endusers.getOne(c4MatchA.id); }, { onResult: function (e) { var _a; return !!((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('Med-Cond-Or')); } })];
789
- case 149:
719
+ case 134:
790
720
  _h.sent();
791
721
  return [4 /*yield*/, sdk.api.endusers.createOne({})];
792
- case 150:
722
+ case 135:
793
723
  c4MatchB = _h.sent();
794
724
  return [4 /*yield*/, sdk.api.enduser_medications.createOne({ enduserId: c4MatchB.id, title: 'Lisinopril' })];
795
- case 151:
725
+ case 136:
796
726
  _h.sent();
797
727
  return [4 /*yield*/, wait(undefined, 500)];
798
- case 152:
728
+ case 137:
799
729
  _h.sent();
800
730
  return [4 /*yield*/, async_test("titleCondition $or - second branch matches fires", function () { return sdk.api.endusers.getOne(c4MatchB.id); }, { onResult: function (e) { var _a; return !!((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('Med-Cond-Or')); } })];
801
- case 153:
731
+ case 138:
802
732
  _h.sent();
803
733
  return [4 /*yield*/, sdk.api.endusers.createOne({})];
804
- case 154:
734
+ case 139:
805
735
  c4Miss = _h.sent();
806
736
  return [4 /*yield*/, sdk.api.enduser_medications.createOne({ enduserId: c4Miss.id, title: 'Metformin' })];
807
- case 155:
737
+ case 140:
808
738
  _h.sent();
809
739
  return [4 /*yield*/, wait(undefined, 500)];
810
- case 156:
740
+ case 141:
811
741
  _h.sent();
812
742
  return [4 /*yield*/, async_test("titleCondition $or - neither branch matches does NOT fire", function () { return sdk.api.endusers.getOne(c4Miss.id); }, { onResult: function (e) { var _a; return !((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('Med-Cond-Or')); } })
813
743
  // C5: backwards compatibility — no titleCondition, titles array still works
814
744
  ];
815
- case 157:
745
+ case 142:
816
746
  _h.sent();
817
747
  return [4 /*yield*/, sdk.api.automation_triggers.createOne({
818
748
  event: { type: 'Medication Added', info: { titles: ['Atorvastatin'], protocols: [] } },
@@ -820,33 +750,33 @@ export var medication_added_trigger_tests = function (_a) {
820
750
  status: 'Active',
821
751
  title: "Medication - titles array back-compat"
822
752
  })];
823
- case 158:
753
+ case 143:
824
754
  c5Trigger = _h.sent();
825
755
  return [4 /*yield*/, sdk.api.endusers.createOne({})];
826
- case 159:
756
+ case 144:
827
757
  c5Match = _h.sent();
828
758
  return [4 /*yield*/, sdk.api.enduser_medications.createOne({ enduserId: c5Match.id, title: 'Atorvastatin' })];
829
- case 160:
759
+ case 145:
830
760
  _h.sent();
831
761
  return [4 /*yield*/, wait(undefined, 500)];
832
- case 161:
762
+ case 146:
833
763
  _h.sent();
834
764
  return [4 /*yield*/, async_test("titles back-compat - title match still fires without titleCondition", function () { return sdk.api.endusers.getOne(c5Match.id); }, { onResult: function (e) { var _a; return !!((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('Med-Cond-BackCompat')); } })];
835
- case 162:
765
+ case 147:
836
766
  _h.sent();
837
767
  return [4 /*yield*/, sdk.api.endusers.createOne({})];
838
- case 163:
768
+ case 148:
839
769
  c5Miss = _h.sent();
840
770
  return [4 /*yield*/, sdk.api.enduser_medications.createOne({ enduserId: c5Miss.id, title: 'Aspirin' })];
841
- case 164:
771
+ case 149:
842
772
  _h.sent();
843
773
  return [4 /*yield*/, wait(undefined, 500)];
844
- case 165:
774
+ case 150:
845
775
  _h.sent();
846
776
  return [4 /*yield*/, async_test("titles back-compat - non-match does NOT fire without titleCondition", function () { return sdk.api.endusers.getOne(c5Miss.id); }, { onResult: function (e) { var _a; return !((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('Med-Cond-BackCompat')); } })
847
777
  // C6: combined — titles array AND titleCondition compose (both must pass)
848
778
  ];
849
- case 166:
779
+ case 151:
850
780
  _h.sent();
851
781
  return [4 /*yield*/, sdk.api.automation_triggers.createOne({
852
782
  event: {
@@ -861,80 +791,80 @@ export var medication_added_trigger_tests = function (_a) {
861
791
  status: 'Active',
862
792
  title: "Medication - titles + titleCondition combined"
863
793
  })];
864
- case 167:
794
+ case 152:
865
795
  c6Trigger = _h.sent();
866
796
  return [4 /*yield*/, sdk.api.endusers.createOne({})];
867
- case 168:
797
+ case 153:
868
798
  c6Match = _h.sent();
869
799
  return [4 /*yield*/, sdk.api.enduser_medications.createOne({ enduserId: c6Match.id, title: 'Lisinopril' })];
870
- case 169:
800
+ case 154:
871
801
  _h.sent();
872
802
  return [4 /*yield*/, wait(undefined, 500)];
873
- case 170:
803
+ case 155:
874
804
  _h.sent();
875
805
  return [4 /*yield*/, async_test("titleCondition combined - both pass fires", function () { return sdk.api.endusers.getOne(c6Match.id); }, { onResult: function (e) { var _a; return !!((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes('Med-Cond-Combined')); } })];
876
- case 171:
806
+ case 156:
877
807
  _h.sent();
878
- _h.label = 172;
879
- case 172:
880
- _h.trys.push([172, , 191, 192]);
808
+ _h.label = 157;
809
+ case 157:
810
+ _h.trys.push([157, , 176, 177]);
881
811
  return [4 /*yield*/, sdk.api.automation_triggers.deleteOne(c1Trigger.id)];
882
- case 173:
812
+ case 158:
883
813
  _h.sent();
884
814
  return [4 /*yield*/, sdk.api.automation_triggers.deleteOne(c2Trigger.id)];
885
- case 174:
815
+ case 159:
886
816
  _h.sent();
887
817
  return [4 /*yield*/, sdk.api.automation_triggers.deleteOne(c3Trigger.id)];
888
- case 175:
818
+ case 160:
889
819
  _h.sent();
890
820
  return [4 /*yield*/, sdk.api.automation_triggers.deleteOne(c4Trigger.id)];
891
- case 176:
821
+ case 161:
892
822
  _h.sent();
893
823
  return [4 /*yield*/, sdk.api.automation_triggers.deleteOne(c5Trigger.id)];
894
- case 177:
824
+ case 162:
895
825
  _h.sent();
896
826
  return [4 /*yield*/, sdk.api.automation_triggers.deleteOne(c6Trigger.id)];
897
- case 178:
827
+ case 163:
898
828
  _h.sent();
899
829
  return [4 /*yield*/, sdk.api.endusers.deleteOne(c1MatchEnduser.id)];
900
- case 179:
830
+ case 164:
901
831
  _h.sent();
902
832
  return [4 /*yield*/, sdk.api.endusers.deleteOne(c1MissEnduser.id)];
903
- case 180:
833
+ case 165:
904
834
  _h.sent();
905
835
  return [4 /*yield*/, sdk.api.endusers.deleteOne(c2MatchEnduser.id)];
906
- case 181:
836
+ case 166:
907
837
  _h.sent();
908
838
  return [4 /*yield*/, sdk.api.endusers.deleteOne(c2MissEnduser.id)];
909
- case 182:
839
+ case 167:
910
840
  _h.sent();
911
841
  return [4 /*yield*/, sdk.api.endusers.deleteOne(c3MatchEnduser.id)];
912
- case 183:
842
+ case 168:
913
843
  _h.sent();
914
844
  return [4 /*yield*/, sdk.api.endusers.deleteOne(c3MissEnduser.id)];
915
- case 184:
845
+ case 169:
916
846
  _h.sent();
917
847
  return [4 /*yield*/, sdk.api.endusers.deleteOne(c4MatchA.id)];
918
- case 185:
848
+ case 170:
919
849
  _h.sent();
920
850
  return [4 /*yield*/, sdk.api.endusers.deleteOne(c4MatchB.id)];
921
- case 186:
851
+ case 171:
922
852
  _h.sent();
923
853
  return [4 /*yield*/, sdk.api.endusers.deleteOne(c4Miss.id)];
924
- case 187:
854
+ case 172:
925
855
  _h.sent();
926
856
  return [4 /*yield*/, sdk.api.endusers.deleteOne(c5Match.id)];
927
- case 188:
857
+ case 173:
928
858
  _h.sent();
929
859
  return [4 /*yield*/, sdk.api.endusers.deleteOne(c5Miss.id)];
930
- case 189:
860
+ case 174:
931
861
  _h.sent();
932
862
  return [4 /*yield*/, sdk.api.endusers.deleteOne(c6Match.id)];
933
- case 190:
863
+ case 175:
934
864
  _h.sent();
935
- return [3 /*break*/, 192];
936
- case 191: return [7 /*endfinally*/];
937
- case 192: return [2 /*return*/];
865
+ return [3 /*break*/, 177];
866
+ case 176: return [7 /*endfinally*/];
867
+ case 177: return [2 /*return*/];
938
868
  }
939
869
  });
940
870
  });