@tellescope/sdk 1.252.3 → 1.253.1

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 (51) hide show
  1. package/lib/cjs/tests/api_tests/beluga_manual_sync.test.d.ts +6 -0
  2. package/lib/cjs/tests/api_tests/beluga_manual_sync.test.d.ts.map +1 -0
  3. package/lib/cjs/tests/api_tests/beluga_manual_sync.test.js +256 -0
  4. package/lib/cjs/tests/api_tests/beluga_manual_sync.test.js.map +1 -0
  5. package/lib/cjs/tests/api_tests/gcal_sync_retry.test.d.ts +43 -0
  6. package/lib/cjs/tests/api_tests/gcal_sync_retry.test.d.ts.map +1 -0
  7. package/lib/cjs/tests/api_tests/gcal_sync_retry.test.js +168 -0
  8. package/lib/cjs/tests/api_tests/gcal_sync_retry.test.js.map +1 -0
  9. package/lib/cjs/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.d.ts +23 -0
  10. package/lib/cjs/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.d.ts.map +1 -0
  11. package/lib/cjs/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.js +325 -0
  12. package/lib/cjs/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.js.map +1 -0
  13. package/lib/cjs/tests/api_tests/set_fields_order_templates.test.d.ts.map +1 -1
  14. package/lib/cjs/tests/api_tests/set_fields_order_templates.test.js +177 -0
  15. package/lib/cjs/tests/api_tests/set_fields_order_templates.test.js.map +1 -1
  16. package/lib/cjs/tests/api_tests/user_portal_settings.test.d.ts.map +1 -1
  17. package/lib/cjs/tests/api_tests/user_portal_settings.test.js +104 -28
  18. package/lib/cjs/tests/api_tests/user_portal_settings.test.js.map +1 -1
  19. package/lib/cjs/tests/tests.d.ts.map +1 -1
  20. package/lib/cjs/tests/tests.js +444 -174
  21. package/lib/cjs/tests/tests.js.map +1 -1
  22. package/lib/esm/tests/api_tests/beluga_manual_sync.test.d.ts +6 -0
  23. package/lib/esm/tests/api_tests/beluga_manual_sync.test.d.ts.map +1 -0
  24. package/lib/esm/tests/api_tests/beluga_manual_sync.test.js +252 -0
  25. package/lib/esm/tests/api_tests/beluga_manual_sync.test.js.map +1 -0
  26. package/lib/esm/tests/api_tests/gcal_sync_retry.test.d.ts +43 -0
  27. package/lib/esm/tests/api_tests/gcal_sync_retry.test.d.ts.map +1 -0
  28. package/lib/esm/tests/api_tests/gcal_sync_retry.test.js +164 -0
  29. package/lib/esm/tests/api_tests/gcal_sync_retry.test.js.map +1 -0
  30. package/lib/esm/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.d.ts +23 -0
  31. package/lib/esm/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.d.ts.map +1 -0
  32. package/lib/esm/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.js +321 -0
  33. package/lib/esm/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.js.map +1 -0
  34. package/lib/esm/tests/api_tests/set_fields_order_templates.test.d.ts.map +1 -1
  35. package/lib/esm/tests/api_tests/set_fields_order_templates.test.js +177 -0
  36. package/lib/esm/tests/api_tests/set_fields_order_templates.test.js.map +1 -1
  37. package/lib/esm/tests/api_tests/user_portal_settings.test.d.ts.map +1 -1
  38. package/lib/esm/tests/api_tests/user_portal_settings.test.js +104 -28
  39. package/lib/esm/tests/api_tests/user_portal_settings.test.js.map +1 -1
  40. package/lib/esm/tests/tests.d.ts.map +1 -1
  41. package/lib/esm/tests/tests.js +444 -174
  42. package/lib/esm/tests/tests.js.map +1 -1
  43. package/lib/tsconfig.tsbuildinfo +1 -1
  44. package/package.json +10 -10
  45. package/src/tests/api_tests/beluga_manual_sync.test.ts +159 -0
  46. package/src/tests/api_tests/gcal_sync_retry.test.ts +104 -0
  47. package/src/tests/api_tests/security/F-0106-F-0110-enduser-write-restrictions.test.ts +214 -0
  48. package/src/tests/api_tests/set_fields_order_templates.test.ts +122 -0
  49. package/src/tests/api_tests/user_portal_settings.test.ts +71 -1
  50. package/src/tests/tests.ts +222 -6
  51. package/test_generated.pdf +0 -0
@@ -110,6 +110,7 @@ import { chats_analytics_tests } from "./api_tests/chats_analytics.test";
110
110
  import { no_access_permission_checks_tests } from "./api_tests/no_access_permission_checks.test";
111
111
  import { field_redaction_tests } from "./api_tests/field_redaction.test";
112
112
  import { data_sync_redaction_bypass_tests } from "./api_tests/security/F-0001-data-sync-redaction-bypass.test";
113
+ import { enduser_write_restrictions_tests } from "./api_tests/security/F-0106-F-0110-enduser-write-restrictions.test";
113
114
  import { ai_conversations_rbac_tests } from "./api_tests/security/F-0005-ai-conversations-rbac.test";
114
115
  import { cascade_role_rename_cross_tenant_tests } from "./api_tests/security/F-0053-cascade-role-rename-cross-tenant.test";
115
116
  import { self_admin_role_assignment_tests } from "./api_tests/security/F-0076-self-admin-role-assignment.test";
@@ -133,6 +134,7 @@ import { organization_settings_duplicates_tests } from "./api_tests/organization
133
134
  import { calendar_events_bulk_update_tests } from "./api_tests/calendar_events_bulk_update.test";
134
135
  import { openloop_webhooks_tests } from "./api_tests/openloop_webhooks.test";
135
136
  import { beluga_pharmacy_mappings_tests } from "./api_tests/beluga_pharmacy_mappings.test";
137
+ import { beluga_manual_sync_tests } from "./api_tests/beluga_manual_sync.test";
136
138
  import { mdi_webhooks_tests } from "./api_tests/mdi_webhooks.test";
137
139
  import { account_switcher_tests } from "./api_tests/account_switcher.test";
138
140
  import { set_fields_order_templates_tests } from "./api_tests/set_fields_order_templates.test";
@@ -5134,7 +5136,7 @@ var contact_created_tests = function () { return __awaiter(void 0, void 0, void
5134
5136
  }); };
5135
5137
  // includes primary care team tests
5136
5138
  var assign_care_team_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
5137
- var t1, t2, t3, e1;
5139
+ var t1, t2, t3, e1, t4, e2, e3, e4, t5, e5, e6, e7, bulkEvents, t6, bulkEventsAny, u2, t7, e8, t8, e9, e10, bulkEventsOne;
5138
5140
  return __generator(this, function (_a) {
5139
5141
  switch (_a.label) {
5140
5142
  case 0:
@@ -5217,17 +5219,244 @@ var assign_care_team_tests = function () { return __awaiter(void 0, void 0, void
5217
5219
  return [4 /*yield*/, wait(undefined, 500)]; // allow triggers to happen
5218
5220
  case 13:
5219
5221
  _a.sent(); // allow triggers to happen
5220
- return [4 /*yield*/, async_test("Care team added and set as primary", function () { return sdk.api.endusers.getOne(e1.id); }, { onResult: function (e) { var _a; return ((_a = e.assignedTo) === null || _a === void 0 ? void 0 : _a.length) === 1 && e.primaryAssignee === e.assignedTo[0]; } })];
5222
+ return [4 /*yield*/, async_test("Care team added and set as primary", function () { return sdk.api.endusers.getOne(e1.id); }, { onResult: function (e) { var _a; return ((_a = e.assignedTo) === null || _a === void 0 ? void 0 : _a.length) === 1 && e.primaryAssignee === e.assignedTo[0]; } })
5223
+ // restrictByState (state credentialing) tests
5224
+ ];
5221
5225
  case 14:
5222
5226
  _a.sent();
5227
+ // restrictByState (state credentialing) tests
5228
+ return [4 /*yield*/, sdk.api.users.updateOne(sdk.userInfo.id, { credentialedStates: [{ state: 'CA' }] }, { replaceObjectFields: true })];
5229
+ case 15:
5230
+ // restrictByState (state credentialing) tests
5231
+ _a.sent();
5232
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
5233
+ title: 't4',
5234
+ event: { type: 'Tag Added', info: { tag: 'Trigger State' } },
5235
+ action: {
5236
+ type: "Assign Care Team",
5237
+ info: {
5238
+ tags: { qualifier: 'One Of', values: ["Assignment"] },
5239
+ restrictByState: true,
5240
+ },
5241
+ },
5242
+ status: 'Active',
5243
+ })];
5244
+ case 16:
5245
+ t4 = _a.sent();
5246
+ return [4 /*yield*/, sdk.api.endusers.createOne({ state: 'CA' })];
5247
+ case 17:
5248
+ e2 = _a.sent();
5249
+ return [4 /*yield*/, sdk.api.endusers.createOne({ state: 'NY' })];
5250
+ case 18:
5251
+ e3 = _a.sent();
5252
+ return [4 /*yield*/, sdk.api.endusers.createOne({})];
5253
+ case 19:
5254
+ e4 = _a.sent();
5223
5255
  return [4 /*yield*/, Promise.all([
5224
- sdk.api.users.updateOne(sdk.userInfo.id, { tags: [] }, { replaceObjectFields: true }),
5256
+ sdk.api.endusers.updateOne(e2.id, { tags: ['Trigger State'] }),
5257
+ sdk.api.endusers.updateOne(e3.id, { tags: ['Trigger State'] }),
5258
+ sdk.api.endusers.updateOne(e4.id, { tags: ['Trigger State'] }),
5259
+ ])];
5260
+ case 20:
5261
+ _a.sent();
5262
+ return [4 /*yield*/, wait(undefined, 500)]; // allow triggers to happen
5263
+ case 21:
5264
+ _a.sent(); // allow triggers to happen
5265
+ return [4 /*yield*/, async_test("Care team added for enduser in credentialed state", function () { return sdk.api.endusers.getOne(e2.id); }, { onResult: function (e) { var _a; return ((_a = e.assignedTo) === null || _a === void 0 ? void 0 : _a.length) === 1; } })];
5266
+ case 22:
5267
+ _a.sent();
5268
+ return [4 /*yield*/, async_test("No care team added for enduser in non-credentialed state", function () { return sdk.api.endusers.getOne(e3.id); }, { onResult: function (e) { var _a; return !((_a = e.assignedTo) === null || _a === void 0 ? void 0 : _a.length); } })];
5269
+ case 23:
5270
+ _a.sent();
5271
+ return [4 /*yield*/, async_test("No care team added for enduser with unknown state", function () { return sdk.api.endusers.getOne(e4.id); }, { onResult: function (e) { var _a; return !((_a = e.assignedTo) === null || _a === void 0 ? void 0 : _a.length); } })
5272
+ // creating multiple appointments in a single request routes through bulk_handle_actions_for_triggers
5273
+ // (unlike Tag Added above, which uses the per-enduser handler), covering the bulk Assign Care Team
5274
+ // path with mixed enduser states in one batch
5275
+ ];
5276
+ case 24:
5277
+ _a.sent();
5278
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
5279
+ title: 't5',
5280
+ event: { type: 'Appointment Created', info: { titles: ['Bulk Assign State'] } },
5281
+ action: {
5282
+ type: "Assign Care Team",
5283
+ info: {
5284
+ tags: { qualifier: 'One Of', values: ["Assignment"] },
5285
+ restrictByState: true,
5286
+ setAsPrimary: true, // not yet supported in the bulk handler — see canary assertion below
5287
+ },
5288
+ },
5289
+ status: 'Active',
5290
+ })];
5291
+ case 25:
5292
+ t5 = _a.sent();
5293
+ return [4 /*yield*/, sdk.api.endusers.createOne({ state: 'CA' })];
5294
+ case 26:
5295
+ e5 = _a.sent();
5296
+ return [4 /*yield*/, sdk.api.endusers.createOne({ state: 'NY' })];
5297
+ case 27:
5298
+ e6 = _a.sent();
5299
+ return [4 /*yield*/, sdk.api.endusers.createOne({})];
5300
+ case 28:
5301
+ e7 = _a.sent();
5302
+ return [4 /*yield*/, sdk.api.calendar_events.createSome([
5303
+ { title: 'Bulk Assign State', durationInMinutes: 30, startTimeInMS: Date.now(), attendees: [{ type: 'enduser', id: e5.id }] },
5304
+ { title: 'Bulk Assign State', durationInMinutes: 30, startTimeInMS: Date.now(), attendees: [{ type: 'enduser', id: e6.id }] },
5305
+ { title: 'Bulk Assign State', durationInMinutes: 30, startTimeInMS: Date.now(), attendees: [{ type: 'enduser', id: e7.id }] },
5306
+ ])];
5307
+ case 29:
5308
+ bulkEvents = (_a.sent()).created;
5309
+ return [4 /*yield*/, wait(undefined, 500)]; // allow triggers to happen
5310
+ case 30:
5311
+ _a.sent(); // allow triggers to happen
5312
+ return [4 /*yield*/, async_test("(Bulk) Care team added for enduser in credentialed state", function () { return sdk.api.endusers.getOne(e5.id); }, { onResult: function (e) { var _a; return ((_a = e.assignedTo) === null || _a === void 0 ? void 0 : _a.length) === 1; } })
5313
+ // canary: the bulk handler doesn't implement setAsPrimary (the per-enduser handler does), so a set
5314
+ // primaryAssignee here means multi-event creates no longer route through the bulk handler (or
5315
+ // setAsPrimary was implemented there — update this test if so)
5316
+ ];
5317
+ case 31:
5318
+ _a.sent();
5319
+ // canary: the bulk handler doesn't implement setAsPrimary (the per-enduser handler does), so a set
5320
+ // primaryAssignee here means multi-event creates no longer route through the bulk handler (or
5321
+ // setAsPrimary was implemented there — update this test if so)
5322
+ return [4 /*yield*/, async_test("(Bulk) Primary not set (bulk handler routing canary)", function () { return sdk.api.endusers.getOne(e5.id); }, { onResult: function (e) { return !e.primaryAssignee; } })];
5323
+ case 32:
5324
+ // canary: the bulk handler doesn't implement setAsPrimary (the per-enduser handler does), so a set
5325
+ // primaryAssignee here means multi-event creates no longer route through the bulk handler (or
5326
+ // setAsPrimary was implemented there — update this test if so)
5327
+ _a.sent();
5328
+ return [4 /*yield*/, async_test("(Bulk) No care team added for enduser in non-credentialed state", function () { return sdk.api.endusers.getOne(e6.id); }, { onResult: function (e) { var _a; return !((_a = e.assignedTo) === null || _a === void 0 ? void 0 : _a.length); } })];
5329
+ case 33:
5330
+ _a.sent();
5331
+ return [4 /*yield*/, async_test("(Bulk) No care team added for enduser with unknown state", function () { return sdk.api.endusers.getOne(e7.id); }, { onResult: function (e) { var _a; return !((_a = e.assignedTo) === null || _a === void 0 ? void 0 : _a.length); } })
5332
+ // bulk path with restrictByState off: state should not matter (default behavior unchanged)
5333
+ ];
5334
+ case 34:
5335
+ _a.sent();
5336
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
5337
+ title: 't6',
5338
+ event: { type: 'Appointment Created', info: { titles: ['Bulk Assign Any'] } },
5339
+ action: {
5340
+ type: "Assign Care Team",
5341
+ info: {
5342
+ tags: { qualifier: 'One Of', values: ["Assignment"] },
5343
+ },
5344
+ },
5345
+ status: 'Active',
5346
+ })];
5347
+ case 35:
5348
+ t6 = _a.sent();
5349
+ return [4 /*yield*/, sdk.api.calendar_events.createSome([
5350
+ { title: 'Bulk Assign Any', durationInMinutes: 30, startTimeInMS: Date.now(), attendees: [{ type: 'enduser', id: e6.id }] },
5351
+ { title: 'Bulk Assign Any', durationInMinutes: 30, startTimeInMS: Date.now(), attendees: [{ type: 'enduser', id: e7.id }] },
5352
+ ])];
5353
+ case 36:
5354
+ bulkEventsAny = (_a.sent()).created;
5355
+ return [4 /*yield*/, wait(undefined, 500)]; // allow triggers to happen
5356
+ case 37:
5357
+ _a.sent(); // allow triggers to happen
5358
+ return [4 /*yield*/, async_test("(Bulk, no restriction) Care team added for enduser in non-credentialed state", function () { return sdk.api.endusers.getOne(e6.id); }, { onResult: function (e) { var _a; return ((_a = e.assignedTo) === null || _a === void 0 ? void 0 : _a.length) === 1; } })];
5359
+ case 38:
5360
+ _a.sent();
5361
+ return [4 /*yield*/, async_test("(Bulk, no restriction) Care team added for enduser with unknown state", function () { return sdk.api.endusers.getOne(e7.id); }, { onResult: function (e) { var _a; return ((_a = e.assignedTo) === null || _a === void 0 ? void 0 : _a.length) === 1; } })
5362
+ // limitToOneUser on both handler branches: with two matching users, exactly one is assigned
5363
+ ];
5364
+ case 39:
5365
+ _a.sent();
5366
+ return [4 /*yield*/, sdk.api.users.createOne({
5367
+ email: "assign-care-team-limit-".concat(Date.now(), "@tellescope.example"), fname: 'Throwaway', lname: 'Assignment',
5368
+ })];
5369
+ case 40:
5370
+ u2 = _a.sent();
5371
+ return [4 /*yield*/, sdk.api.users.updateOne(u2.id, { tags: ['Assignment'], credentialedStates: [{ state: 'CA' }] }, { replaceObjectFields: true })];
5372
+ case 41:
5373
+ _a.sent();
5374
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
5375
+ title: 't7',
5376
+ event: { type: 'Tag Added', info: { tag: 'Trigger One' } },
5377
+ action: {
5378
+ type: "Assign Care Team",
5379
+ info: {
5380
+ tags: { qualifier: 'One Of', values: ["Assignment"] },
5381
+ restrictByState: true,
5382
+ limitToOneUser: true,
5383
+ },
5384
+ },
5385
+ status: 'Active',
5386
+ })];
5387
+ case 42:
5388
+ t7 = _a.sent();
5389
+ return [4 /*yield*/, sdk.api.endusers.createOne({ state: 'CA' })];
5390
+ case 43:
5391
+ e8 = _a.sent();
5392
+ return [4 /*yield*/, sdk.api.endusers.updateOne(e8.id, { tags: ['Trigger One'] })];
5393
+ case 44:
5394
+ _a.sent();
5395
+ return [4 /*yield*/, wait(undefined, 500)]; // allow triggers to happen
5396
+ case 45:
5397
+ _a.sent(); // allow triggers to happen
5398
+ return [4 /*yield*/, async_test("(limitToOneUser) Exactly one of multiple matching users assigned", function () { return sdk.api.endusers.getOne(e8.id); }, { onResult: function (e) { var _a; return ((_a = e.assignedTo) === null || _a === void 0 ? void 0 : _a.length) === 1; } })];
5399
+ case 46:
5400
+ _a.sent();
5401
+ return [4 /*yield*/, sdk.api.automation_triggers.createOne({
5402
+ title: 't8',
5403
+ event: { type: 'Appointment Created', info: { titles: ['Bulk Assign One'] } },
5404
+ action: {
5405
+ type: "Assign Care Team",
5406
+ info: {
5407
+ tags: { qualifier: 'One Of', values: ["Assignment"] },
5408
+ restrictByState: true,
5409
+ limitToOneUser: true,
5410
+ },
5411
+ },
5412
+ status: 'Active',
5413
+ })];
5414
+ case 47:
5415
+ t8 = _a.sent();
5416
+ return [4 /*yield*/, sdk.api.endusers.createOne({ state: 'CA' })];
5417
+ case 48:
5418
+ e9 = _a.sent();
5419
+ return [4 /*yield*/, sdk.api.endusers.createOne({ state: 'CA' })];
5420
+ case 49:
5421
+ e10 = _a.sent();
5422
+ return [4 /*yield*/, sdk.api.calendar_events.createSome([
5423
+ { title: 'Bulk Assign One', durationInMinutes: 30, startTimeInMS: Date.now(), attendees: [{ type: 'enduser', id: e9.id }] },
5424
+ { title: 'Bulk Assign One', durationInMinutes: 30, startTimeInMS: Date.now(), attendees: [{ type: 'enduser', id: e10.id }] },
5425
+ ])];
5426
+ case 50:
5427
+ bulkEventsOne = (_a.sent()).created;
5428
+ return [4 /*yield*/, wait(undefined, 500)]; // allow triggers to happen
5429
+ case 51:
5430
+ _a.sent(); // allow triggers to happen
5431
+ return [4 /*yield*/, async_test("(Bulk, limitToOneUser) Exactly one of multiple matching users assigned", function () { return sdk.api.endusers.getOne(e9.id); }, { onResult: function (e) { var _a; return ((_a = e.assignedTo) === null || _a === void 0 ? void 0 : _a.length) === 1; } })];
5432
+ case 52:
5433
+ _a.sent();
5434
+ return [4 /*yield*/, async_test("(Bulk, limitToOneUser) Exactly one of multiple matching users assigned (second enduser)", function () { return sdk.api.endusers.getOne(e10.id); }, { onResult: function (e) { var _a; return ((_a = e.assignedTo) === null || _a === void 0 ? void 0 : _a.length) === 1; } })];
5435
+ case 53:
5436
+ _a.sent();
5437
+ return [4 /*yield*/, Promise.all(__spreadArray(__spreadArray(__spreadArray([
5438
+ sdk.api.users.updateOne(sdk.userInfo.id, { tags: [], credentialedStates: [] }, { replaceObjectFields: true }),
5225
5439
  sdk.api.endusers.deleteOne(e1.id),
5440
+ sdk.api.endusers.deleteOne(e2.id),
5441
+ sdk.api.endusers.deleteOne(e3.id),
5442
+ sdk.api.endusers.deleteOne(e4.id),
5443
+ sdk.api.endusers.deleteOne(e5.id),
5444
+ sdk.api.endusers.deleteOne(e6.id),
5445
+ sdk.api.endusers.deleteOne(e7.id),
5226
5446
  sdk.api.automation_triggers.deleteOne(t1.id),
5227
5447
  sdk.api.automation_triggers.deleteOne(t2.id),
5228
5448
  sdk.api.automation_triggers.deleteOne(t3.id),
5229
- ])];
5230
- case 15:
5449
+ sdk.api.endusers.deleteOne(e8.id),
5450
+ sdk.api.endusers.deleteOne(e9.id),
5451
+ sdk.api.endusers.deleteOne(e10.id),
5452
+ sdk.api.users.deleteOne(u2.id),
5453
+ sdk.api.automation_triggers.deleteOne(t4.id),
5454
+ sdk.api.automation_triggers.deleteOne(t5.id),
5455
+ sdk.api.automation_triggers.deleteOne(t6.id),
5456
+ sdk.api.automation_triggers.deleteOne(t7.id),
5457
+ sdk.api.automation_triggers.deleteOne(t8.id)
5458
+ ], bulkEvents.map(function (e) { return sdk.api.calendar_events.deleteOne(e.id); }), true), bulkEventsAny.map(function (e) { return sdk.api.calendar_events.deleteOne(e.id); }), true), bulkEventsOne.map(function (e) { return sdk.api.calendar_events.deleteOne(e.id); }), true))];
5459
+ case 54:
5231
5460
  _a.sent();
5232
5461
  return [2 /*return*/];
5233
5462
  }
@@ -6180,49 +6409,49 @@ var automation_trigger_tests = function () { return __awaiter(void 0, void 0, vo
6180
6409
  switch (_a.label) {
6181
6410
  case 0:
6182
6411
  log_header("Automation Trigger Tests");
6183
- return [4 /*yield*/, push_forms_to_portal_group_completion_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
6412
+ return [4 /*yield*/, assign_care_team_tests()];
6184
6413
  case 1:
6185
6414
  _a.sent();
6186
- return [4 /*yield*/, order_status_equals_tests()];
6415
+ return [4 /*yield*/, push_forms_to_portal_group_completion_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
6187
6416
  case 2:
6188
6417
  _a.sent();
6189
- return [4 /*yield*/, set_fields_order_templates_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
6418
+ return [4 /*yield*/, order_status_equals_tests()];
6190
6419
  case 3:
6191
6420
  _a.sent();
6192
- return [4 /*yield*/, medication_added_trigger_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
6421
+ return [4 /*yield*/, set_fields_order_templates_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
6193
6422
  case 4:
6194
6423
  _a.sent();
6195
- return [4 /*yield*/, appointment_cancelled_tests()];
6424
+ return [4 /*yield*/, medication_added_trigger_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
6196
6425
  case 5:
6197
6426
  _a.sent();
6198
- return [4 /*yield*/, set_fields_tests()];
6427
+ return [4 /*yield*/, appointment_cancelled_tests()];
6199
6428
  case 6:
6200
6429
  _a.sent();
6201
- return [4 /*yield*/, purchase_made_trigger_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
6430
+ return [4 /*yield*/, set_fields_tests()];
6202
6431
  case 7:
6203
6432
  _a.sent();
6204
- return [4 /*yield*/, appointment_rescheduled_trigger_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
6433
+ return [4 /*yield*/, purchase_made_trigger_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
6205
6434
  case 8:
6206
6435
  _a.sent();
6207
- return [4 /*yield*/, form_response_set_fields_trigger_tests()];
6436
+ return [4 /*yield*/, appointment_rescheduled_trigger_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
6208
6437
  case 9:
6209
6438
  _a.sent();
6210
- return [4 /*yield*/, form_response_set_fields_journey_tests()];
6439
+ return [4 /*yield*/, form_response_set_fields_trigger_tests()];
6211
6440
  case 10:
6212
6441
  _a.sent();
6213
- return [4 /*yield*/, appointment_completed_trigger_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
6442
+ return [4 /*yield*/, form_response_set_fields_journey_tests()];
6214
6443
  case 11:
6215
6444
  _a.sent();
6216
- return [4 /*yield*/, trigger_events_api_tests()];
6445
+ return [4 /*yield*/, appointment_completed_trigger_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
6217
6446
  case 12:
6218
6447
  _a.sent();
6219
- return [4 /*yield*/, fields_changed_tests()];
6448
+ return [4 /*yield*/, trigger_events_api_tests()];
6220
6449
  case 13:
6221
6450
  _a.sent();
6222
- return [4 /*yield*/, field_equals_trigger_tests()];
6451
+ return [4 /*yield*/, fields_changed_tests()];
6223
6452
  case 14:
6224
6453
  _a.sent();
6225
- return [4 /*yield*/, assign_care_team_tests()];
6454
+ return [4 /*yield*/, field_equals_trigger_tests()];
6226
6455
  case 15:
6227
6456
  _a.sent();
6228
6457
  return [4 /*yield*/, contact_created_tests()];
@@ -12728,7 +12957,42 @@ var register_as_enduser_tests = function () { return __awaiter(void 0, void 0, v
12728
12957
  return [4 /*yield*/, async_test("Enduser register", function () { return enduserSDK.register({ email: 'test@tellescope.com', password: 'testpassWord12345!' }); }, passOnAnyResult)];
12729
12958
  case 1:
12730
12959
  _a.sent();
12731
- return [4 /*yield*/, async_test("Enduser register (rate limited)", function () { return enduserSDK.register({ email: 'test@tellescope.com', password: 'testpassWord12345!' }); }, { shouldError: true, onError: function (e) { return e.message === "Too many requests"; } })];
12960
+ return [4 /*yield*/, async_test("Enduser register (rate limited)",
12961
+ // The register limiter records its throttle event at request start with a 1s expiry
12962
+ // (countPerInterval: 1, intervalInMS: 1000), so back-to-back registers are only
12963
+ // rate limited when they land within 1s of each other. A slow register (bcrypt on a
12964
+ // cold/loaded server) can exceed the window and flake — retry the pair instead of
12965
+ // failing on a timing miss. Any "Too many requests" from either call is the expected error.
12966
+ function () { return __awaiter(void 0, void 0, void 0, function () {
12967
+ var attempt, windowStart;
12968
+ return __generator(this, function (_a) {
12969
+ switch (_a.label) {
12970
+ case 0:
12971
+ attempt = 0;
12972
+ _a.label = 1;
12973
+ case 1:
12974
+ if (!(attempt < 3)) return [3 /*break*/, 6];
12975
+ windowStart = Date.now();
12976
+ return [4 /*yield*/, enduserSDK.register({ email: 'test@tellescope.com', password: 'testpassWord12345!' })];
12977
+ case 2:
12978
+ _a.sent();
12979
+ return [4 /*yield*/, enduserSDK.register({ email: 'test@tellescope.com', password: 'testpassWord12345!' })];
12980
+ case 3:
12981
+ _a.sent();
12982
+ if (Date.now() - windowStart < 900) {
12983
+ return [2 /*return*/, 'two registers within the same 1s window were not rate limited'];
12984
+ }
12985
+ return [4 /*yield*/, wait(undefined, 1100)]; // let the throttle window expire before retrying the pair
12986
+ case 4:
12987
+ _a.sent(); // let the throttle window expire before retrying the pair
12988
+ _a.label = 5;
12989
+ case 5:
12990
+ attempt++;
12991
+ return [3 /*break*/, 1];
12992
+ case 6: return [2 /*return*/, 'rate-limit timing window missed on every attempt'];
12993
+ }
12994
+ });
12995
+ }); }, { shouldError: true, onError: function (e) { return e.message === "Too many requests"; } })];
12732
12996
  case 2:
12733
12997
  _a.sent();
12734
12998
  return [4 /*yield*/, wait(undefined, 1000)];
@@ -16024,7 +16288,7 @@ var ip_address_form_tests = function () { return __awaiter(void 0, void 0, void
16024
16288
  assert(truncate_string(null, { length: 4, showEllipsis: false }) === '', 'truncate doesnt work for non string', 'trucate works for non-string');
16025
16289
  _l.label = 2;
16026
16290
  case 2:
16027
- _l.trys.push([2, 144, , 145]);
16291
+ _l.trys.push([2, 146, , 147]);
16028
16292
  get_next_reminder_timestamp_tests();
16029
16293
  form_conditional_logic_tests();
16030
16294
  return [4 /*yield*/, test_weighted_round_robin()];
@@ -16171,387 +16435,393 @@ var ip_address_form_tests = function () { return __awaiter(void 0, void 0, void
16171
16435
  return [4 /*yield*/, setup_tests(sdk, sdkNonAdmin)];
16172
16436
  case 18:
16173
16437
  _l.sent();
16174
- return [4 /*yield*/, invite_user_enumeration_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16438
+ return [4 /*yield*/, beluga_manual_sync_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16175
16439
  case 19:
16176
16440
  _l.sent();
16177
- return [4 /*yield*/, handle_incoming_communication_cross_tenant_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16441
+ return [4 /*yield*/, beluga_pharmacy_mappings_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16178
16442
  case 20:
16179
16443
  _l.sent();
16180
- return [4 /*yield*/, calendar_event_webhook_template_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16444
+ return [4 /*yield*/, enduser_write_restrictions_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16181
16445
  case 21:
16182
16446
  _l.sent();
16183
- return [4 /*yield*/, outbound_chat_sent_trigger_tests({ sdk: sdk })];
16447
+ return [4 /*yield*/, user_portal_settings_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16184
16448
  case 22:
16185
16449
  _l.sent();
16186
- return [4 /*yield*/, enduser_login_rate_limits_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16450
+ return [4 /*yield*/, automation_trigger_tests()];
16187
16451
  case 23:
16188
16452
  _l.sent();
16189
- return [4 /*yield*/, data_sync_redaction_bypass_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16453
+ return [4 /*yield*/, invite_user_enumeration_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16190
16454
  case 24:
16191
16455
  _l.sent();
16192
- return [4 /*yield*/, ai_conversations_rbac_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16456
+ return [4 /*yield*/, handle_incoming_communication_cross_tenant_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16193
16457
  case 25:
16194
16458
  _l.sent();
16195
- return [4 /*yield*/, cascade_role_rename_cross_tenant_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16459
+ return [4 /*yield*/, calendar_event_webhook_template_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16196
16460
  case 26:
16197
16461
  _l.sent();
16198
- return [4 /*yield*/, self_admin_role_assignment_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16462
+ return [4 /*yield*/, outbound_chat_sent_trigger_tests({ sdk: sdk })];
16199
16463
  case 27:
16200
16464
  _l.sent();
16201
- return [4 /*yield*/, sanitize_user_html_xss_tests()];
16465
+ return [4 /*yield*/, enduser_login_rate_limits_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16202
16466
  case 28:
16203
16467
  _l.sent();
16204
- return [4 /*yield*/, prototype_pollution_tests()];
16468
+ return [4 /*yield*/, data_sync_redaction_bypass_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16205
16469
  case 29:
16206
16470
  _l.sent();
16207
- return [4 /*yield*/, automation_trigger_tests()];
16471
+ return [4 /*yield*/, ai_conversations_rbac_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16208
16472
  case 30:
16209
16473
  _l.sent();
16210
- return [4 /*yield*/, account_switcher_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16474
+ return [4 /*yield*/, cascade_role_rename_cross_tenant_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16211
16475
  case 31:
16212
16476
  _l.sent();
16213
- return [4 /*yield*/, enduser_login_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16477
+ return [4 /*yield*/, self_admin_role_assignment_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16214
16478
  case 32:
16215
16479
  _l.sent();
16216
- return [4 /*yield*/, outbound_chat_sent_trigger_tests({ sdk: sdk })];
16480
+ return [4 /*yield*/, sanitize_user_html_xss_tests()];
16217
16481
  case 33:
16218
16482
  _l.sent();
16219
- return [4 /*yield*/, enduser_cross_access_isolation_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16483
+ return [4 /*yield*/, prototype_pollution_tests()];
16220
16484
  case 34:
16221
16485
  _l.sent();
16222
- return [4 /*yield*/, eom_procedure_codes_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16486
+ return [4 /*yield*/, account_switcher_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16223
16487
  case 35:
16224
16488
  _l.sent();
16225
- return [4 /*yield*/, cross_org_api_key_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16489
+ return [4 /*yield*/, enduser_login_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16226
16490
  case 36:
16227
16491
  _l.sent();
16228
- return [4 /*yield*/, organization_settings_duplicates_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16492
+ return [4 /*yield*/, outbound_chat_sent_trigger_tests({ sdk: sdk })];
16229
16493
  case 37:
16230
16494
  _l.sent();
16231
- return [4 /*yield*/, enduser_session_invalidation_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16495
+ return [4 /*yield*/, enduser_cross_access_isolation_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16232
16496
  case 38:
16233
16497
  _l.sent();
16234
- return [4 /*yield*/, chats_analytics_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16498
+ return [4 /*yield*/, eom_procedure_codes_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16235
16499
  case 39:
16236
16500
  _l.sent();
16237
- return [4 /*yield*/, field_redaction_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16501
+ return [4 /*yield*/, cross_org_api_key_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16238
16502
  case 40:
16239
16503
  _l.sent();
16240
- return [4 /*yield*/, form_submitted_trigger_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16504
+ return [4 /*yield*/, organization_settings_duplicates_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16241
16505
  case 41:
16242
16506
  _l.sent();
16243
- return [4 /*yield*/, date_string_validation_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16507
+ return [4 /*yield*/, enduser_session_invalidation_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16244
16508
  case 42:
16245
16509
  _l.sent();
16246
- return [4 /*yield*/, openloop_webhooks_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16510
+ return [4 /*yield*/, chats_analytics_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16247
16511
  case 43:
16248
16512
  _l.sent();
16249
- return [4 /*yield*/, mdi_webhooks_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16513
+ return [4 /*yield*/, field_redaction_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16250
16514
  case 44:
16251
16515
  _l.sent();
16252
- return [4 /*yield*/, integrations_redacted_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16516
+ return [4 /*yield*/, form_submitted_trigger_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16253
16517
  case 45:
16254
16518
  _l.sent();
16255
- return [4 /*yield*/, mdb_sort_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16519
+ return [4 /*yield*/, date_string_validation_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16256
16520
  case 46:
16257
16521
  _l.sent();
16258
- return [4 /*yield*/, search_tests()];
16522
+ return [4 /*yield*/, openloop_webhooks_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16259
16523
  case 47:
16260
16524
  _l.sent();
16261
- return [4 /*yield*/, time_tracks_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16525
+ return [4 /*yield*/, mdi_webhooks_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16262
16526
  case 48:
16263
16527
  _l.sent();
16264
- return [4 /*yield*/, time_tracks_historical_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16528
+ return [4 /*yield*/, integrations_redacted_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16265
16529
  case 49:
16266
16530
  _l.sent();
16267
- return [4 /*yield*/, time_tracks_correction_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16531
+ return [4 /*yield*/, mdb_sort_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16268
16532
  case 50:
16269
16533
  _l.sent();
16270
- return [4 /*yield*/, time_tracks_review_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16534
+ return [4 /*yield*/, search_tests()];
16271
16535
  case 51:
16272
16536
  _l.sent();
16273
- return [4 /*yield*/, time_tracks_lock_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16537
+ return [4 /*yield*/, time_tracks_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16274
16538
  case 52:
16275
16539
  _l.sent();
16276
- return [4 /*yield*/, time_tracks_edge_case_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16540
+ return [4 /*yield*/, time_tracks_historical_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16277
16541
  case 53:
16278
16542
  _l.sent();
16279
- return [4 /*yield*/, calendar_event_limits_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16543
+ return [4 /*yield*/, time_tracks_correction_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16280
16544
  case 54:
16281
16545
  _l.sent();
16282
- return [4 /*yield*/, get_some_projection_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16546
+ return [4 /*yield*/, time_tracks_review_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16283
16547
  case 55:
16284
16548
  _l.sent();
16285
- return [4 /*yield*/, elation_user_id_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16549
+ return [4 /*yield*/, time_tracks_lock_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16286
16550
  case 56:
16287
16551
  _l.sent();
16288
- return [4 /*yield*/, custom_dashboards_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16552
+ return [4 /*yield*/, time_tracks_edge_case_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16289
16553
  case 57:
16290
16554
  _l.sent();
16291
- return [4 /*yield*/, concurrent_build_threads_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16555
+ return [4 /*yield*/, calendar_event_limits_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16292
16556
  case 58:
16293
16557
  _l.sent();
16294
- return [4 /*yield*/, custom_aggregation_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16558
+ return [4 /*yield*/, get_some_projection_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16295
16559
  case 59:
16296
16560
  _l.sent();
16297
- return [4 /*yield*/, no_access_permission_checks_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16561
+ return [4 /*yield*/, elation_user_id_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16298
16562
  case 60:
16299
16563
  _l.sent();
16300
- return [4 /*yield*/, enduser_tests()];
16564
+ return [4 /*yield*/, custom_dashboards_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16301
16565
  case 61:
16302
16566
  _l.sent();
16303
- return [4 /*yield*/, form_started_trigger_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16567
+ return [4 /*yield*/, concurrent_build_threads_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16304
16568
  case 62:
16305
16569
  _l.sent();
16306
- return [4 /*yield*/, load_team_chat_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16570
+ return [4 /*yield*/, custom_aggregation_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16307
16571
  case 63:
16308
16572
  _l.sent();
16309
- return [4 /*yield*/, ai_conversations_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16573
+ return [4 /*yield*/, no_access_permission_checks_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16310
16574
  case 64:
16311
16575
  _l.sent();
16312
- return [4 /*yield*/, inbox_thread_assignment_updates_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16576
+ return [4 /*yield*/, enduser_tests()];
16313
16577
  case 65:
16314
16578
  _l.sent();
16315
- return [4 /*yield*/, inbox_thread_draft_scheduled_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16579
+ return [4 /*yield*/, form_started_trigger_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16316
16580
  case 66:
16317
16581
  _l.sent();
16318
- return [4 /*yield*/, load_threads_autobuild_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16582
+ return [4 /*yield*/, load_team_chat_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16319
16583
  case 67:
16320
16584
  _l.sent();
16321
- return [4 /*yield*/, inbox_threads_new_fields_tests()];
16585
+ return [4 /*yield*/, ai_conversations_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16322
16586
  case 68:
16323
16587
  _l.sent();
16324
- return [4 /*yield*/, auto_merge_form_submission_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16588
+ return [4 /*yield*/, inbox_thread_assignment_updates_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16325
16589
  case 69:
16326
16590
  _l.sent();
16327
- return [4 /*yield*/, beluga_pharmacy_mappings_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16591
+ return [4 /*yield*/, inbox_thread_draft_scheduled_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16328
16592
  case 70:
16329
16593
  _l.sent();
16330
- return [4 /*yield*/, threadKeyTests()];
16594
+ return [4 /*yield*/, load_threads_autobuild_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16331
16595
  case 71:
16332
16596
  _l.sent();
16333
- return [4 /*yield*/, managed_content_enduser_access_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16597
+ return [4 /*yield*/, inbox_threads_new_fields_tests()];
16334
16598
  case 72:
16335
16599
  _l.sent();
16336
- return [4 /*yield*/, managed_content_file_access_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16600
+ return [4 /*yield*/, auto_merge_form_submission_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16337
16601
  case 73:
16338
16602
  _l.sent();
16339
- return [4 /*yield*/, afteraction_day_of_month_delay_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16603
+ return [4 /*yield*/, threadKeyTests()];
16340
16604
  case 74:
16341
16605
  _l.sent();
16342
- return [4 /*yield*/, bulk_assignment_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16606
+ return [4 /*yield*/, managed_content_enduser_access_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16343
16607
  case 75:
16344
16608
  _l.sent();
16345
- return [4 /*yield*/, formsort_tests()];
16609
+ return [4 /*yield*/, managed_content_file_access_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16346
16610
  case 76:
16347
16611
  _l.sent();
16348
- return [4 /*yield*/, self_serve_appointment_booking_tests()];
16612
+ return [4 /*yield*/, afteraction_day_of_month_delay_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16349
16613
  case 77:
16350
16614
  _l.sent();
16351
- return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
16615
+ return [4 /*yield*/, bulk_assignment_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16352
16616
  case 78:
16353
16617
  _l.sent();
16354
- return [4 /*yield*/, monthly_availability_restrictions_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16618
+ return [4 /*yield*/, formsort_tests()];
16355
16619
  case 79:
16356
16620
  _l.sent();
16357
- return [4 /*yield*/, journey_error_branching_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16621
+ return [4 /*yield*/, self_serve_appointment_booking_tests()];
16358
16622
  case 80:
16359
16623
  _l.sent();
16360
- return [4 /*yield*/, message_assignment_trigger_tests({ sdk: sdk })];
16624
+ return [4 /*yield*/, test_ticket_automation_assignment_and_optimization()];
16361
16625
  case 81:
16362
16626
  _l.sent();
16363
- return [4 /*yield*/, inbox_threads_building_tests()];
16627
+ return [4 /*yield*/, monthly_availability_restrictions_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16364
16628
  case 82:
16365
16629
  _l.sent();
16366
- return [4 /*yield*/, inbox_threads_loading_tests()];
16630
+ return [4 /*yield*/, journey_error_branching_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16367
16631
  case 83:
16368
16632
  _l.sent();
16369
- return [4 /*yield*/, load_inbox_data_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16633
+ return [4 /*yield*/, message_assignment_trigger_tests({ sdk: sdk })];
16370
16634
  case 84:
16371
16635
  _l.sent();
16372
- return [4 /*yield*/, enduser_observations_acknowledge_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16636
+ return [4 /*yield*/, inbox_threads_building_tests()];
16373
16637
  case 85:
16374
16638
  _l.sent();
16375
- return [4 /*yield*/, user_portal_settings_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16639
+ return [4 /*yield*/, inbox_threads_loading_tests()];
16376
16640
  case 86:
16377
16641
  _l.sent();
16378
- return [4 /*yield*/, create_user_notifications_trigger_tests({ sdk: sdk })];
16642
+ return [4 /*yield*/, load_inbox_data_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16379
16643
  case 87:
16380
16644
  _l.sent();
16381
- return [4 /*yield*/, group_mms_active_tests()];
16645
+ return [4 /*yield*/, enduser_observations_acknowledge_tests({ sdk: sdk, sdkNonAdmin: sdkNonAdmin })];
16382
16646
  case 88:
16383
16647
  _l.sent();
16384
- return [4 /*yield*/, auto_reply_tests()];
16648
+ return [4 /*yield*/, create_user_notifications_trigger_tests({ sdk: sdk })];
16385
16649
  case 89:
16386
16650
  _l.sent();
16387
- return [4 /*yield*/, relationships_tests()];
16651
+ return [4 /*yield*/, group_mms_active_tests()];
16388
16652
  case 90:
16389
16653
  _l.sent();
16390
- return [4 /*yield*/, rate_limit_tests()];
16654
+ return [4 /*yield*/, auto_reply_tests()];
16391
16655
  case 91:
16392
16656
  _l.sent();
16393
- return [4 /*yield*/, ip_address_form_tests()];
16657
+ return [4 /*yield*/, relationships_tests()];
16394
16658
  case 92:
16395
16659
  _l.sent();
16396
- return [4 /*yield*/, bulk_update_tests()];
16660
+ return [4 /*yield*/, rate_limit_tests()];
16397
16661
  case 93:
16398
16662
  _l.sent();
16399
- return [4 /*yield*/, calendar_events_bulk_update_tests({ sdk: sdk })];
16663
+ return [4 /*yield*/, ip_address_form_tests()];
16400
16664
  case 94:
16401
16665
  _l.sent();
16402
- return [4 /*yield*/, cancel_upcoming_appointments_journey_action_test()];
16666
+ return [4 /*yield*/, bulk_update_tests()];
16403
16667
  case 95:
16404
16668
  _l.sent();
16405
- return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
16669
+ return [4 /*yield*/, calendar_events_bulk_update_tests({ sdk: sdk })];
16406
16670
  case 96:
16671
+ _l.sent();
16672
+ return [4 /*yield*/, cancel_upcoming_appointments_journey_action_test()];
16673
+ case 97:
16674
+ _l.sent();
16675
+ return [4 /*yield*/, multi_tenant_tests()]; // should come right after setup tests
16676
+ case 98:
16407
16677
  _l.sent(); // should come right after setup tests
16408
16678
  return [4 /*yield*/, sync_tests_with_access_tags()]; // should come directly after setup to avoid extra sync values
16409
- case 97:
16679
+ case 99:
16410
16680
  _l.sent(); // should come directly after setup to avoid extra sync values
16411
16681
  return [4 /*yield*/, sync_tests()]; // should come directly after setup to avoid extra sync values
16412
- case 98:
16682
+ case 100:
16413
16683
  _l.sent(); // should come directly after setup to avoid extra sync values
16414
16684
  return [4 /*yield*/, get_templated_message_tests()];
16415
- case 99:
16685
+ case 101:
16416
16686
  _l.sent();
16417
16687
  return [4 /*yield*/, updatedAt_tests()];
16418
- case 100:
16688
+ case 102:
16419
16689
  _l.sent();
16420
16690
  return [4 /*yield*/, file_source_tests()];
16421
- case 101:
16691
+ case 103:
16422
16692
  _l.sent();
16423
16693
  return [4 /*yield*/, enduser_access_tags_tests()];
16424
- case 102:
16694
+ case 104:
16425
16695
  _l.sent();
16426
16696
  return [4 /*yield*/, enduserAccessTests()];
16427
- case 103:
16697
+ case 105:
16428
16698
  _l.sent();
16429
16699
  return [4 /*yield*/, test_form_response_search()];
16430
- case 104:
16700
+ case 106:
16431
16701
  _l.sent();
16432
16702
  return [4 /*yield*/, date_parsing_tests()];
16433
- case 105:
16703
+ case 107:
16434
16704
  _l.sent();
16435
16705
  return [4 /*yield*/, fromEmailOverride_tests()];
16436
- case 106:
16706
+ case 108:
16437
16707
  _l.sent();
16438
16708
  return [4 /*yield*/, ticket_tests()];
16439
- case 107:
16709
+ case 109:
16440
16710
  _l.sent();
16441
16711
  return [4 /*yield*/, uniqueness_tests()];
16442
- case 108:
16712
+ case 110:
16443
16713
  _l.sent();
16444
16714
  return [4 /*yield*/, enduser_orders_tests()];
16445
- case 109:
16715
+ case 111:
16446
16716
  _l.sent();
16447
16717
  return [4 /*yield*/, calendar_event_care_team_tests()];
16448
- case 110:
16718
+ case 112:
16449
16719
  _l.sent();
16450
16720
  return [4 /*yield*/, merge_enduser_tests()];
16451
- case 111:
16721
+ case 113:
16452
16722
  _l.sent();
16453
16723
  return [4 /*yield*/, input_modifier_tests()];
16454
- case 112:
16724
+ case 114:
16455
16725
  _l.sent();
16456
16726
  return [4 /*yield*/, switch_to_related_contacts_tests()];
16457
- case 113:
16727
+ case 115:
16458
16728
  _l.sent();
16459
16729
  return [4 /*yield*/, redaction_tests()];
16460
- case 114:
16730
+ case 116:
16461
16731
  _l.sent();
16462
16732
  return [4 /*yield*/, no_chained_triggers_tests()];
16463
- case 115:
16733
+ case 117:
16464
16734
  _l.sent();
16465
16735
  return [4 /*yield*/, mdb_filter_tests()];
16466
- case 116:
16736
+ case 118:
16467
16737
  _l.sent();
16468
16738
  return [4 /*yield*/, superadmin_tests()];
16469
- case 117:
16739
+ case 119:
16470
16740
  _l.sent();
16471
16741
  return [4 /*yield*/, ticket_queue_tests()];
16472
- case 118:
16742
+ case 120:
16473
16743
  _l.sent();
16474
16744
  return [4 /*yield*/, vital_trigger_tests()];
16475
- case 119:
16745
+ case 121:
16476
16746
  _l.sent();
16477
16747
  return [4 /*yield*/, close_reasons_no_duplicates_tests()];
16478
- case 120:
16748
+ case 122:
16479
16749
  _l.sent();
16480
16750
  return [4 /*yield*/, register_as_enduser_tests()];
16481
- case 121:
16751
+ case 123:
16482
16752
  _l.sent();
16483
16753
  return [4 /*yield*/, lockout_tests()];
16484
- case 122:
16754
+ case 124:
16485
16755
  _l.sent();
16486
16756
  return [4 /*yield*/, delete_user_tests()
16487
16757
  // await test_send_with_template()
16488
16758
  ];
16489
- case 123:
16759
+ case 125:
16490
16760
  _l.sent();
16491
16761
  // await test_send_with_template()
16492
16762
  return [4 /*yield*/, bulk_read_tests()];
16493
- case 124:
16763
+ case 126:
16494
16764
  // await test_send_with_template()
16495
16765
  _l.sent();
16496
16766
  return [4 /*yield*/, ticket_reminder_tests()];
16497
- case 125:
16767
+ case 127:
16498
16768
  _l.sent();
16499
16769
  return [4 /*yield*/, marketing_email_unsubscribe_tests()];
16500
- case 126:
16770
+ case 128:
16501
16771
  _l.sent();
16502
16772
  return [4 /*yield*/, unique_strings_tests()];
16503
- case 127:
16773
+ case 129:
16504
16774
  _l.sent();
16505
16775
  return [4 /*yield*/, alternate_phones_tests()];
16506
- case 128:
16776
+ case 130:
16507
16777
  _l.sent();
16508
16778
  return [4 /*yield*/, role_based_access_tests()];
16509
- case 129:
16779
+ case 131:
16510
16780
  _l.sent();
16511
16781
  return [4 /*yield*/, enduser_session_tests()];
16512
- case 130:
16782
+ case 132:
16513
16783
  _l.sent();
16514
16784
  return [4 /*yield*/, nextReminderInMS_tests()];
16515
- case 131:
16785
+ case 133:
16516
16786
  _l.sent();
16517
16787
  return [4 /*yield*/, wait_for_trigger_tests()];
16518
- case 132:
16788
+ case 134:
16519
16789
  _l.sent();
16520
16790
  return [4 /*yield*/, pdf_generation()];
16521
- case 133:
16791
+ case 135:
16522
16792
  _l.sent();
16523
16793
  return [4 /*yield*/, remove_from_journey_on_incoming_comms_tests().catch(console.error)]; // timing is unreliable, uncomment if changing logic
16524
- case 134:
16794
+ case 136:
16525
16795
  _l.sent(); // timing is unreliable, uncomment if changing logic
16526
16796
  return [4 /*yield*/, sub_organization_enduser_tests()];
16527
- case 135:
16797
+ case 137:
16528
16798
  _l.sent();
16529
16799
  return [4 /*yield*/, sub_organization_tests()];
16530
- case 136:
16800
+ case 138:
16531
16801
  _l.sent();
16532
16802
  return [4 /*yield*/, filter_by_date_tests()];
16533
- case 137:
16803
+ case 139:
16534
16804
  _l.sent();
16535
16805
  return [4 /*yield*/, generate_user_auth_tests()];
16536
- case 138:
16806
+ case 140:
16537
16807
  _l.sent();
16538
16808
  return [4 /*yield*/, generateEnduserAuthTests()];
16539
- case 139:
16809
+ case 141:
16540
16810
  _l.sent();
16541
16811
  return [4 /*yield*/, public_form_tests()];
16542
- case 140:
16812
+ case 142:
16543
16813
  _l.sent();
16544
16814
  return [4 /*yield*/, badInputTests()];
16545
- case 141:
16815
+ case 143:
16546
16816
  _l.sent();
16547
16817
  return [4 /*yield*/, filterTests()];
16548
- case 142:
16818
+ case 144:
16549
16819
  _l.sent();
16550
16820
  return [4 /*yield*/, updatesTests()];
16551
- case 143:
16821
+ case 145:
16552
16822
  _l.sent();
16553
- return [3 /*break*/, 145];
16554
- case 144:
16823
+ return [3 /*break*/, 147];
16824
+ case 146:
16555
16825
  err_1 = _l.sent();
16556
16826
  console.error("Failed during custom test");
16557
16827
  if (err_1.message && err_1.info) {
@@ -16561,18 +16831,18 @@ var ip_address_form_tests = function () { return __awaiter(void 0, void 0, void
16561
16831
  console.error(err_1);
16562
16832
  }
16563
16833
  process.exit(1);
16564
- return [3 /*break*/, 145];
16565
- case 145:
16834
+ return [3 /*break*/, 147];
16835
+ case 147:
16566
16836
  _a = schema;
16567
16837
  _b = [];
16568
16838
  for (_c in _a)
16569
16839
  _b.push(_c);
16570
16840
  _i = 0;
16571
- _l.label = 146;
16572
- case 146:
16573
- if (!(_i < _b.length)) return [3 /*break*/, 149];
16841
+ _l.label = 148;
16842
+ case 148:
16843
+ if (!(_i < _b.length)) return [3 /*break*/, 151];
16574
16844
  _c = _b[_i];
16575
- if (!(_c in _a)) return [3 /*break*/, 148];
16845
+ if (!(_c in _a)) return [3 /*break*/, 150];
16576
16846
  n = _c;
16577
16847
  returnValidation = (_k = (_j = schema[n].customActions) === null || _j === void 0 ? void 0 : _j.create) === null || _k === void 0 ? void 0 : _k.returns;
16578
16848
  return [4 /*yield*/, run_generated_tests({
@@ -16583,41 +16853,41 @@ var ip_address_form_tests = function () { return __awaiter(void 0, void 0, void
16583
16853
  create: returnValidation // ModelFields<ClientModel>,
16584
16854
  }
16585
16855
  })];
16586
- case 147:
16856
+ case 149:
16587
16857
  _l.sent();
16588
- _l.label = 148;
16589
- case 148:
16858
+ _l.label = 150;
16859
+ case 150:
16590
16860
  _i++;
16591
- return [3 /*break*/, 146];
16592
- case 149:
16861
+ return [3 /*break*/, 148];
16862
+ case 151:
16593
16863
  _d = tests;
16594
16864
  _f = [];
16595
16865
  for (_g in _d)
16596
16866
  _f.push(_g);
16597
16867
  _h = 0;
16598
- _l.label = 150;
16599
- case 150:
16600
- if (!(_h < _f.length)) return [3 /*break*/, 155];
16868
+ _l.label = 152;
16869
+ case 152:
16870
+ if (!(_h < _f.length)) return [3 /*break*/, 157];
16601
16871
  _g = _f[_h];
16602
- if (!(_g in _d)) return [3 /*break*/, 154];
16872
+ if (!(_g in _d)) return [3 /*break*/, 156];
16603
16873
  t = _g;
16604
- _l.label = 151;
16605
- case 151:
16606
- _l.trys.push([151, 153, , 154]);
16874
+ _l.label = 153;
16875
+ case 153:
16876
+ _l.trys.push([153, 155, , 156]);
16607
16877
  return [4 /*yield*/, tests[t]()];
16608
- case 152:
16878
+ case 154:
16609
16879
  _l.sent();
16610
- return [3 /*break*/, 154];
16611
- case 153:
16880
+ return [3 /*break*/, 156];
16881
+ case 155:
16612
16882
  err_2 = _l.sent();
16613
16883
  console.error("Error running test:");
16614
16884
  console.error(err_2);
16615
16885
  process.exit(1);
16616
- return [3 /*break*/, 154];
16617
- case 154:
16886
+ return [3 /*break*/, 156];
16887
+ case 156:
16618
16888
  _h++;
16619
- return [3 /*break*/, 150];
16620
- case 155:
16889
+ return [3 /*break*/, 152];
16890
+ case 157:
16621
16891
  process.exit();
16622
16892
  return [2 /*return*/];
16623
16893
  }