@tellescope/sdk 2.0.0-beta.2 → 2.0.0-beta.3

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 (717) hide show
  1. package/lib/cjs/sdk.d.ts +6 -5
  2. package/lib/cjs/sdk.d.ts.map +1 -1
  3. package/lib/cjs/sdk.js +5 -0
  4. package/lib/cjs/sdk.js.map +1 -1
  5. package/lib/cjs/tests/api_tests/ai_conversations.test.d.ts +14 -5
  6. package/lib/cjs/tests/api_tests/ai_conversations.test.d.ts.map +1 -1
  7. package/lib/cjs/tests/api_tests/ai_conversations.test.js +163 -149
  8. package/lib/cjs/tests/api_tests/ai_conversations.test.js.map +1 -1
  9. package/lib/cjs/tests/api_tests/ai_conversations_agent_message.test.d.ts +22 -0
  10. package/lib/cjs/tests/api_tests/ai_conversations_agent_message.test.d.ts.map +1 -0
  11. package/lib/cjs/tests/api_tests/ai_conversations_agent_message.test.js +518 -0
  12. package/lib/cjs/tests/api_tests/ai_conversations_agent_message.test.js.map +1 -0
  13. package/lib/cjs/tests/api_tests/appointment_link_expiration.test.d.ts +6 -5
  14. package/lib/cjs/tests/api_tests/appointment_link_expiration.test.d.ts.map +1 -1
  15. package/lib/cjs/tests/api_tests/appointment_link_expiration.test.js +135 -73
  16. package/lib/cjs/tests/api_tests/appointment_link_expiration.test.js.map +1 -1
  17. package/lib/cjs/tests/api_tests/appointment_no_showed_trigger.test.d.ts +6 -5
  18. package/lib/cjs/tests/api_tests/appointment_no_showed_trigger.test.d.ts.map +1 -1
  19. package/lib/cjs/tests/api_tests/appointment_no_showed_trigger.test.js +240 -174
  20. package/lib/cjs/tests/api_tests/appointment_no_showed_trigger.test.js.map +1 -1
  21. package/lib/cjs/tests/api_tests/availability_block_buffer.test.d.ts +22 -0
  22. package/lib/cjs/tests/api_tests/availability_block_buffer.test.d.ts.map +1 -0
  23. package/lib/cjs/tests/api_tests/availability_block_buffer.test.js +311 -0
  24. package/lib/cjs/tests/api_tests/availability_block_buffer.test.js.map +1 -0
  25. package/lib/cjs/tests/api_tests/beluga_manual_sync.test.d.ts +6 -5
  26. package/lib/cjs/tests/api_tests/beluga_manual_sync.test.d.ts.map +1 -1
  27. package/lib/cjs/tests/api_tests/beluga_manual_sync.test.js +235 -192
  28. package/lib/cjs/tests/api_tests/beluga_manual_sync.test.js.map +1 -1
  29. package/lib/cjs/tests/api_tests/beluga_trigger_refill.test.d.ts +6 -5
  30. package/lib/cjs/tests/api_tests/beluga_trigger_refill.test.d.ts.map +1 -1
  31. package/lib/cjs/tests/api_tests/beluga_trigger_refill.test.js +351 -264
  32. package/lib/cjs/tests/api_tests/beluga_trigger_refill.test.js.map +1 -1
  33. package/lib/cjs/tests/api_tests/bulk_assignment.test.d.ts +16 -5
  34. package/lib/cjs/tests/api_tests/bulk_assignment.test.d.ts.map +1 -1
  35. package/lib/cjs/tests/api_tests/bulk_assignment.test.js +336 -243
  36. package/lib/cjs/tests/api_tests/bulk_assignment.test.js.map +1 -1
  37. package/lib/cjs/tests/api_tests/calendar_event_references_update.test.d.ts +13 -5
  38. package/lib/cjs/tests/api_tests/calendar_event_references_update.test.d.ts.map +1 -1
  39. package/lib/cjs/tests/api_tests/calendar_event_references_update.test.js +131 -108
  40. package/lib/cjs/tests/api_tests/calendar_event_references_update.test.js.map +1 -1
  41. package/lib/cjs/tests/api_tests/calendar_event_webhook_template.test.d.ts +15 -5
  42. package/lib/cjs/tests/api_tests/calendar_event_webhook_template.test.d.ts.map +1 -1
  43. package/lib/cjs/tests/api_tests/calendar_event_webhook_template.test.js +240 -252
  44. package/lib/cjs/tests/api_tests/calendar_event_webhook_template.test.js.map +1 -1
  45. package/lib/cjs/tests/api_tests/chats_analytics.test.d.ts +14 -5
  46. package/lib/cjs/tests/api_tests/chats_analytics.test.d.ts.map +1 -1
  47. package/lib/cjs/tests/api_tests/chats_analytics.test.js +190 -189
  48. package/lib/cjs/tests/api_tests/chats_analytics.test.js.map +1 -1
  49. package/lib/cjs/tests/api_tests/concurrent_build_threads.test.d.ts +23 -5
  50. package/lib/cjs/tests/api_tests/concurrent_build_threads.test.d.ts.map +1 -1
  51. package/lib/cjs/tests/api_tests/concurrent_build_threads.test.js +121 -118
  52. package/lib/cjs/tests/api_tests/concurrent_build_threads.test.js.map +1 -1
  53. package/lib/cjs/tests/api_tests/configurations_public_read.test.d.ts +21 -5
  54. package/lib/cjs/tests/api_tests/configurations_public_read.test.d.ts.map +1 -1
  55. package/lib/cjs/tests/api_tests/configurations_public_read.test.js +235 -119
  56. package/lib/cjs/tests/api_tests/configurations_public_read.test.js.map +1 -1
  57. package/lib/cjs/tests/api_tests/copied_form_response_no_enduser_sync.test.d.ts +7 -0
  58. package/lib/cjs/tests/api_tests/copied_form_response_no_enduser_sync.test.d.ts.map +1 -0
  59. package/lib/cjs/tests/api_tests/copied_form_response_no_enduser_sync.test.js +356 -0
  60. package/lib/cjs/tests/api_tests/copied_form_response_no_enduser_sync.test.js.map +1 -0
  61. package/lib/cjs/tests/api_tests/create_note_action.test.d.ts +18 -5
  62. package/lib/cjs/tests/api_tests/create_note_action.test.d.ts.map +1 -1
  63. package/lib/cjs/tests/api_tests/create_note_action.test.js +218 -173
  64. package/lib/cjs/tests/api_tests/create_note_action.test.js.map +1 -1
  65. package/lib/cjs/tests/api_tests/create_user_notifications_trigger.test.d.ts +17 -4
  66. package/lib/cjs/tests/api_tests/create_user_notifications_trigger.test.d.ts.map +1 -1
  67. package/lib/cjs/tests/api_tests/create_user_notifications_trigger.test.js +144 -205
  68. package/lib/cjs/tests/api_tests/create_user_notifications_trigger.test.js.map +1 -1
  69. package/lib/cjs/tests/api_tests/custom_aggregation.test.d.ts +15 -5
  70. package/lib/cjs/tests/api_tests/custom_aggregation.test.d.ts.map +1 -1
  71. package/lib/cjs/tests/api_tests/custom_aggregation.test.js +284 -223
  72. package/lib/cjs/tests/api_tests/custom_aggregation.test.js.map +1 -1
  73. package/lib/cjs/tests/api_tests/database_cascade_delete.test.d.ts +13 -5
  74. package/lib/cjs/tests/api_tests/database_cascade_delete.test.d.ts.map +1 -1
  75. package/lib/cjs/tests/api_tests/database_cascade_delete.test.js +218 -242
  76. package/lib/cjs/tests/api_tests/database_cascade_delete.test.js.map +1 -1
  77. package/lib/cjs/tests/api_tests/dont_sync_to_elation_form_submission.test.d.ts +21 -5
  78. package/lib/cjs/tests/api_tests/dont_sync_to_elation_form_submission.test.d.ts.map +1 -1
  79. package/lib/cjs/tests/api_tests/dont_sync_to_elation_form_submission.test.js +168 -112
  80. package/lib/cjs/tests/api_tests/dont_sync_to_elation_form_submission.test.js.map +1 -1
  81. package/lib/cjs/tests/api_tests/elation_user_id.test.d.ts +17 -5
  82. package/lib/cjs/tests/api_tests/elation_user_id.test.d.ts.map +1 -1
  83. package/lib/cjs/tests/api_tests/elation_user_id.test.js +121 -54
  84. package/lib/cjs/tests/api_tests/elation_user_id.test.js.map +1 -1
  85. package/lib/cjs/tests/api_tests/file_download_unicode_names.test.d.ts +6 -5
  86. package/lib/cjs/tests/api_tests/file_download_unicode_names.test.d.ts.map +1 -1
  87. package/lib/cjs/tests/api_tests/file_download_unicode_names.test.js +193 -143
  88. package/lib/cjs/tests/api_tests/file_download_unicode_names.test.js.map +1 -1
  89. package/lib/cjs/tests/api_tests/form_intake_email_normalization.test.d.ts +7 -0
  90. package/lib/cjs/tests/api_tests/form_intake_email_normalization.test.d.ts.map +1 -0
  91. package/lib/cjs/tests/api_tests/form_intake_email_normalization.test.js +532 -0
  92. package/lib/cjs/tests/api_tests/form_intake_email_normalization.test.js.map +1 -0
  93. package/lib/cjs/tests/api_tests/form_submitted_trigger.test.d.ts +25 -5
  94. package/lib/cjs/tests/api_tests/form_submitted_trigger.test.d.ts.map +1 -1
  95. package/lib/cjs/tests/api_tests/form_submitted_trigger.test.js +395 -366
  96. package/lib/cjs/tests/api_tests/form_submitted_trigger.test.js.map +1 -1
  97. package/lib/cjs/tests/api_tests/form_translations.test.d.ts +6 -5
  98. package/lib/cjs/tests/api_tests/form_translations.test.d.ts.map +1 -1
  99. package/lib/cjs/tests/api_tests/form_translations.test.js +269 -189
  100. package/lib/cjs/tests/api_tests/form_translations.test.js.map +1 -1
  101. package/lib/cjs/tests/api_tests/formsort_header_auth.test.d.ts +29 -5
  102. package/lib/cjs/tests/api_tests/formsort_header_auth.test.d.ts.map +1 -1
  103. package/lib/cjs/tests/api_tests/formsort_header_auth.test.js +179 -162
  104. package/lib/cjs/tests/api_tests/formsort_header_auth.test.js.map +1 -1
  105. package/lib/cjs/tests/api_tests/gcal_sync_retry.test.d.ts +12 -6
  106. package/lib/cjs/tests/api_tests/gcal_sync_retry.test.d.ts.map +1 -1
  107. package/lib/cjs/tests/api_tests/gcal_sync_retry.test.js +98 -84
  108. package/lib/cjs/tests/api_tests/gcal_sync_retry.test.js.map +1 -1
  109. package/lib/cjs/tests/api_tests/get_some_projection.test.d.ts +20 -5
  110. package/lib/cjs/tests/api_tests/get_some_projection.test.d.ts.map +1 -1
  111. package/lib/cjs/tests/api_tests/get_some_projection.test.js +342 -298
  112. package/lib/cjs/tests/api_tests/get_some_projection.test.js.map +1 -1
  113. package/lib/cjs/tests/api_tests/group_event_attendee_self_update.test.d.ts +6 -5
  114. package/lib/cjs/tests/api_tests/group_event_attendee_self_update.test.d.ts.map +1 -1
  115. package/lib/cjs/tests/api_tests/group_event_attendee_self_update.test.js +294 -223
  116. package/lib/cjs/tests/api_tests/group_event_attendee_self_update.test.js.map +1 -1
  117. package/lib/cjs/tests/api_tests/integrations_redacted.test.d.ts +6 -5
  118. package/lib/cjs/tests/api_tests/integrations_redacted.test.d.ts.map +1 -1
  119. package/lib/cjs/tests/api_tests/integrations_redacted.test.js +307 -213
  120. package/lib/cjs/tests/api_tests/integrations_redacted.test.js.map +1 -1
  121. package/lib/cjs/tests/api_tests/journey_delete_cancels_actions.test.d.ts +6 -5
  122. package/lib/cjs/tests/api_tests/journey_delete_cancels_actions.test.d.ts.map +1 -1
  123. package/lib/cjs/tests/api_tests/journey_delete_cancels_actions.test.js +179 -178
  124. package/lib/cjs/tests/api_tests/journey_delete_cancels_actions.test.js.map +1 -1
  125. package/lib/cjs/tests/api_tests/load_team_chat.test.d.ts.map +1 -1
  126. package/lib/cjs/tests/api_tests/load_team_chat.test.js +181 -124
  127. package/lib/cjs/tests/api_tests/load_team_chat.test.js.map +1 -1
  128. package/lib/cjs/tests/api_tests/load_threads_autobuild.test.d.ts +24 -5
  129. package/lib/cjs/tests/api_tests/load_threads_autobuild.test.d.ts.map +1 -1
  130. package/lib/cjs/tests/api_tests/load_threads_autobuild.test.js +261 -227
  131. package/lib/cjs/tests/api_tests/load_threads_autobuild.test.js.map +1 -1
  132. package/lib/cjs/tests/api_tests/load_threads_care_team.test.d.ts +6 -0
  133. package/lib/cjs/tests/api_tests/load_threads_care_team.test.d.ts.map +1 -1
  134. package/lib/cjs/tests/api_tests/load_threads_care_team.test.js +115 -31
  135. package/lib/cjs/tests/api_tests/load_threads_care_team.test.js.map +1 -1
  136. package/lib/cjs/tests/api_tests/managed_content_file_access.test.d.ts +15 -5
  137. package/lib/cjs/tests/api_tests/managed_content_file_access.test.d.ts.map +1 -1
  138. package/lib/cjs/tests/api_tests/managed_content_file_access.test.js +285 -311
  139. package/lib/cjs/tests/api_tests/managed_content_file_access.test.js.map +1 -1
  140. package/lib/cjs/tests/api_tests/mdb_sort.test.d.ts +20 -5
  141. package/lib/cjs/tests/api_tests/mdb_sort.test.d.ts.map +1 -1
  142. package/lib/cjs/tests/api_tests/mdb_sort.test.js +361 -305
  143. package/lib/cjs/tests/api_tests/mdb_sort.test.js.map +1 -1
  144. package/lib/cjs/tests/api_tests/mdi_manual_sync.test.d.ts +27 -0
  145. package/lib/cjs/tests/api_tests/mdi_manual_sync.test.d.ts.map +1 -0
  146. package/lib/cjs/tests/api_tests/mdi_manual_sync.test.js +395 -0
  147. package/lib/cjs/tests/api_tests/mdi_manual_sync.test.js.map +1 -0
  148. package/lib/cjs/tests/api_tests/mdi_trigger_refill.test.d.ts +6 -5
  149. package/lib/cjs/tests/api_tests/mdi_trigger_refill.test.d.ts.map +1 -1
  150. package/lib/cjs/tests/api_tests/mdi_trigger_refill.test.js +259 -209
  151. package/lib/cjs/tests/api_tests/mdi_trigger_refill.test.js.map +1 -1
  152. package/lib/cjs/tests/api_tests/mdi_webhooks.test.d.ts +12 -5
  153. package/lib/cjs/tests/api_tests/mdi_webhooks.test.d.ts.map +1 -1
  154. package/lib/cjs/tests/api_tests/mdi_webhooks.test.js +67 -61
  155. package/lib/cjs/tests/api_tests/mdi_webhooks.test.js.map +1 -1
  156. package/lib/cjs/tests/api_tests/message_assignment_trigger.test.d.ts +23 -14
  157. package/lib/cjs/tests/api_tests/message_assignment_trigger.test.d.ts.map +1 -1
  158. package/lib/cjs/tests/api_tests/message_assignment_trigger.test.js +258 -306
  159. package/lib/cjs/tests/api_tests/message_assignment_trigger.test.js.map +1 -1
  160. package/lib/cjs/tests/api_tests/metriport_push_form_response.test.d.ts +6 -5
  161. package/lib/cjs/tests/api_tests/metriport_push_form_response.test.d.ts.map +1 -1
  162. package/lib/cjs/tests/api_tests/metriport_push_form_response.test.js +301 -238
  163. package/lib/cjs/tests/api_tests/metriport_push_form_response.test.js.map +1 -1
  164. package/lib/cjs/tests/api_tests/organization_api_keys.test.d.ts.map +1 -1
  165. package/lib/cjs/tests/api_tests/organization_api_keys.test.js +226 -59
  166. package/lib/cjs/tests/api_tests/organization_api_keys.test.js.map +1 -1
  167. package/lib/cjs/tests/api_tests/organization_settings_duplicates.test.d.ts +19 -5
  168. package/lib/cjs/tests/api_tests/organization_settings_duplicates.test.d.ts.map +1 -1
  169. package/lib/cjs/tests/api_tests/organization_settings_duplicates.test.js +335 -222
  170. package/lib/cjs/tests/api_tests/organization_settings_duplicates.test.js.map +1 -1
  171. package/lib/cjs/tests/api_tests/organization_signup.test.d.ts.map +1 -1
  172. package/lib/cjs/tests/api_tests/organization_signup.test.js +218 -51
  173. package/lib/cjs/tests/api_tests/organization_signup.test.js.map +1 -1
  174. package/lib/cjs/tests/api_tests/out_of_office_endpoint.test.d.ts.map +1 -1
  175. package/lib/cjs/tests/api_tests/out_of_office_endpoint.test.js +109 -1
  176. package/lib/cjs/tests/api_tests/out_of_office_endpoint.test.js.map +1 -1
  177. package/lib/cjs/tests/api_tests/outbound_chat_sent_trigger.test.d.ts +6 -6
  178. package/lib/cjs/tests/api_tests/outbound_chat_sent_trigger.test.d.ts.map +1 -1
  179. package/lib/cjs/tests/api_tests/outbound_chat_sent_trigger.test.js +309 -361
  180. package/lib/cjs/tests/api_tests/outbound_chat_sent_trigger.test.js.map +1 -1
  181. package/lib/cjs/tests/api_tests/phone_calls_cold_transfer.test.d.ts +6 -5
  182. package/lib/cjs/tests/api_tests/phone_calls_cold_transfer.test.d.ts.map +1 -1
  183. package/lib/cjs/tests/api_tests/phone_calls_cold_transfer.test.js +246 -165
  184. package/lib/cjs/tests/api_tests/phone_calls_cold_transfer.test.js.map +1 -1
  185. package/lib/cjs/tests/api_tests/phone_calls_conference_hold.test.d.ts +15 -5
  186. package/lib/cjs/tests/api_tests/phone_calls_conference_hold.test.d.ts.map +1 -1
  187. package/lib/cjs/tests/api_tests/phone_calls_conference_hold.test.js +130 -47
  188. package/lib/cjs/tests/api_tests/phone_calls_conference_hold.test.js.map +1 -1
  189. package/lib/cjs/tests/api_tests/phone_tree_enduser_condition.test.d.ts +6 -5
  190. package/lib/cjs/tests/api_tests/phone_tree_enduser_condition.test.d.ts.map +1 -1
  191. package/lib/cjs/tests/api_tests/phone_tree_enduser_condition.test.js +180 -132
  192. package/lib/cjs/tests/api_tests/phone_tree_enduser_condition.test.js.map +1 -1
  193. package/lib/cjs/tests/api_tests/programs.test.d.ts.map +1 -1
  194. package/lib/cjs/tests/api_tests/programs.test.js +417 -50
  195. package/lib/cjs/tests/api_tests/programs.test.js.map +1 -1
  196. package/lib/cjs/tests/api_tests/security/ai-conversations-rbac.test.d.ts +10 -5
  197. package/lib/cjs/tests/api_tests/security/ai-conversations-rbac.test.d.ts.map +1 -1
  198. package/lib/cjs/tests/api_tests/security/ai-conversations-rbac.test.js +401 -282
  199. package/lib/cjs/tests/api_tests/security/ai-conversations-rbac.test.js.map +1 -1
  200. package/lib/cjs/tests/api_tests/security/automated-actions-process-gate.test.d.ts +9 -5
  201. package/lib/cjs/tests/api_tests/security/automated-actions-process-gate.test.d.ts.map +1 -1
  202. package/lib/cjs/tests/api_tests/security/automated-actions-process-gate.test.js +228 -211
  203. package/lib/cjs/tests/api_tests/security/automated-actions-process-gate.test.js.map +1 -1
  204. package/lib/cjs/tests/api_tests/security/booking-info-idor-token-mint.test.d.ts +13 -8
  205. package/lib/cjs/tests/api_tests/security/booking-info-idor-token-mint.test.d.ts.map +1 -1
  206. package/lib/cjs/tests/api_tests/security/booking-info-idor-token-mint.test.js +270 -254
  207. package/lib/cjs/tests/api_tests/security/booking-info-idor-token-mint.test.js.map +1 -1
  208. package/lib/cjs/tests/api_tests/security/cascade-role-rename-cross-tenant.test.d.ts +16 -6
  209. package/lib/cjs/tests/api_tests/security/cascade-role-rename-cross-tenant.test.d.ts.map +1 -1
  210. package/lib/cjs/tests/api_tests/security/cascade-role-rename-cross-tenant.test.js +167 -142
  211. package/lib/cjs/tests/api_tests/security/cascade-role-rename-cross-tenant.test.js.map +1 -1
  212. package/lib/cjs/tests/api_tests/security/data-sync-redaction-bypass.test.d.ts +10 -5
  213. package/lib/cjs/tests/api_tests/security/data-sync-redaction-bypass.test.d.ts.map +1 -1
  214. package/lib/cjs/tests/api_tests/security/data-sync-redaction-bypass.test.js +296 -221
  215. package/lib/cjs/tests/api_tests/security/data-sync-redaction-bypass.test.js.map +1 -1
  216. package/lib/cjs/tests/api_tests/security/develop-health-benefit-verification-rbac.test.d.ts +12 -5
  217. package/lib/cjs/tests/api_tests/security/develop-health-benefit-verification-rbac.test.d.ts.map +1 -1
  218. package/lib/cjs/tests/api_tests/security/develop-health-benefit-verification-rbac.test.js +221 -216
  219. package/lib/cjs/tests/api_tests/security/develop-health-benefit-verification-rbac.test.js.map +1 -1
  220. package/lib/cjs/tests/api_tests/security/enduser-ai-summary-trust-gate.test.d.ts +11 -5
  221. package/lib/cjs/tests/api_tests/security/enduser-ai-summary-trust-gate.test.d.ts.map +1 -1
  222. package/lib/cjs/tests/api_tests/security/enduser-ai-summary-trust-gate.test.js +300 -203
  223. package/lib/cjs/tests/api_tests/security/enduser-ai-summary-trust-gate.test.js.map +1 -1
  224. package/lib/cjs/tests/api_tests/security/enduser-cross-create.test.d.ts +11 -5
  225. package/lib/cjs/tests/api_tests/security/enduser-cross-create.test.d.ts.map +1 -1
  226. package/lib/cjs/tests/api_tests/security/enduser-cross-create.test.js +415 -275
  227. package/lib/cjs/tests/api_tests/security/enduser-cross-create.test.js.map +1 -1
  228. package/lib/cjs/tests/api_tests/security/enduser-write-restrictions.test.d.ts +11 -5
  229. package/lib/cjs/tests/api_tests/security/enduser-write-restrictions.test.d.ts.map +1 -1
  230. package/lib/cjs/tests/api_tests/security/enduser-write-restrictions.test.js +347 -228
  231. package/lib/cjs/tests/api_tests/security/enduser-write-restrictions.test.js.map +1 -1
  232. package/lib/cjs/tests/api_tests/security/globalunique-conflict-redaction.test.d.ts +18 -7
  233. package/lib/cjs/tests/api_tests/security/globalunique-conflict-redaction.test.d.ts.map +1 -1
  234. package/lib/cjs/tests/api_tests/security/globalunique-conflict-redaction.test.js +164 -75
  235. package/lib/cjs/tests/api_tests/security/globalunique-conflict-redaction.test.js.map +1 -1
  236. package/lib/cjs/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.d.ts +15 -9
  237. package/lib/cjs/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.d.ts.map +1 -1
  238. package/lib/cjs/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.js +99 -102
  239. package/lib/cjs/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.js.map +1 -1
  240. package/lib/cjs/tests/api_tests/security/load-inbox-redaction.test.d.ts +11 -5
  241. package/lib/cjs/tests/api_tests/security/load-inbox-redaction.test.d.ts.map +1 -1
  242. package/lib/cjs/tests/api_tests/security/load-inbox-redaction.test.js +132 -89
  243. package/lib/cjs/tests/api_tests/security/load-inbox-redaction.test.js.map +1 -1
  244. package/lib/cjs/tests/api_tests/security/proxy-image-unauth-ssrf.test.d.ts +12 -5
  245. package/lib/cjs/tests/api_tests/security/proxy-image-unauth-ssrf.test.d.ts.map +1 -1
  246. package/lib/cjs/tests/api_tests/security/proxy-image-unauth-ssrf.test.js +190 -138
  247. package/lib/cjs/tests/api_tests/security/proxy-image-unauth-ssrf.test.js.map +1 -1
  248. package/lib/cjs/tests/api_tests/security/register_business_id_injection.test.d.ts +18 -16
  249. package/lib/cjs/tests/api_tests/security/register_business_id_injection.test.d.ts.map +1 -1
  250. package/lib/cjs/tests/api_tests/security/register_business_id_injection.test.js +164 -124
  251. package/lib/cjs/tests/api_tests/security/register_business_id_injection.test.js.map +1 -1
  252. package/lib/cjs/tests/api_tests/security/sanitize-user-html-with-iframes.test.d.ts.map +1 -1
  253. package/lib/cjs/tests/api_tests/security/sanitize-user-html-with-iframes.test.js +122 -2
  254. package/lib/cjs/tests/api_tests/security/sanitize-user-html-with-iframes.test.js.map +1 -1
  255. package/lib/cjs/tests/api_tests/security/schema-adminonly-enforcement.test.d.ts +11 -5
  256. package/lib/cjs/tests/api_tests/security/schema-adminonly-enforcement.test.d.ts.map +1 -1
  257. package/lib/cjs/tests/api_tests/security/schema-adminonly-enforcement.test.js +288 -274
  258. package/lib/cjs/tests/api_tests/security/schema-adminonly-enforcement.test.js.map +1 -1
  259. package/lib/cjs/tests/api_tests/security/self-admin-role-assignment.test.d.ts +17 -10
  260. package/lib/cjs/tests/api_tests/security/self-admin-role-assignment.test.d.ts.map +1 -1
  261. package/lib/cjs/tests/api_tests/security/self-admin-role-assignment.test.js +173 -138
  262. package/lib/cjs/tests/api_tests/security/self-admin-role-assignment.test.js.map +1 -1
  263. package/lib/cjs/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.d.ts +6 -5
  264. package/lib/cjs/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.d.ts.map +1 -1
  265. package/lib/cjs/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.js +310 -265
  266. package/lib/cjs/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.js.map +1 -1
  267. package/lib/cjs/tests/api_tests/security/webhook-timeout.test.d.ts +9 -5
  268. package/lib/cjs/tests/api_tests/security/webhook-timeout.test.d.ts.map +1 -1
  269. package/lib/cjs/tests/api_tests/security/webhook-timeout.test.js +108 -83
  270. package/lib/cjs/tests/api_tests/security/webhook-timeout.test.js.map +1 -1
  271. package/lib/cjs/tests/api_tests/stedi_approval.test.d.ts +6 -5
  272. package/lib/cjs/tests/api_tests/stedi_approval.test.d.ts.map +1 -1
  273. package/lib/cjs/tests/api_tests/stedi_approval.test.js +206 -137
  274. package/lib/cjs/tests/api_tests/stedi_approval.test.js.map +1 -1
  275. package/lib/cjs/tests/api_tests/ticket_stage_archive.test.d.ts +7 -0
  276. package/lib/cjs/tests/api_tests/ticket_stage_archive.test.d.ts.map +1 -0
  277. package/lib/cjs/tests/api_tests/ticket_stage_archive.test.js +344 -0
  278. package/lib/cjs/tests/api_tests/ticket_stage_archive.test.js.map +1 -0
  279. package/lib/cjs/tests/api_tests/tickets_bulk_assign_care_team.test.d.ts +6 -5
  280. package/lib/cjs/tests/api_tests/tickets_bulk_assign_care_team.test.d.ts.map +1 -1
  281. package/lib/cjs/tests/api_tests/tickets_bulk_assign_care_team.test.js +165 -149
  282. package/lib/cjs/tests/api_tests/tickets_bulk_assign_care_team.test.js.map +1 -1
  283. package/lib/cjs/tests/api_tests/translations.test.d.ts +6 -5
  284. package/lib/cjs/tests/api_tests/translations.test.d.ts.map +1 -1
  285. package/lib/cjs/tests/api_tests/translations.test.js +104 -75
  286. package/lib/cjs/tests/api_tests/translations.test.js.map +1 -1
  287. package/lib/cjs/tests/api_tests/trigger_set_fields_date_difference.test.d.ts +21 -4
  288. package/lib/cjs/tests/api_tests/trigger_set_fields_date_difference.test.d.ts.map +1 -1
  289. package/lib/cjs/tests/api_tests/trigger_set_fields_date_difference.test.js +238 -370
  290. package/lib/cjs/tests/api_tests/trigger_set_fields_date_difference.test.js.map +1 -1
  291. package/lib/cjs/tests/api_tests/user_preferences.test.d.ts +30 -0
  292. package/lib/cjs/tests/api_tests/user_preferences.test.d.ts.map +1 -0
  293. package/lib/cjs/tests/api_tests/user_preferences.test.js +279 -0
  294. package/lib/cjs/tests/api_tests/user_preferences.test.js.map +1 -0
  295. package/lib/cjs/tests/api_tests/webhook_error_handling.test.d.ts +17 -5
  296. package/lib/cjs/tests/api_tests/webhook_error_handling.test.d.ts.map +1 -1
  297. package/lib/cjs/tests/api_tests/webhook_error_handling.test.js +204 -195
  298. package/lib/cjs/tests/api_tests/webhook_error_handling.test.js.map +1 -1
  299. package/lib/cjs/tests/api_tests/webhook_raw_json_number.test.d.ts +15 -5
  300. package/lib/cjs/tests/api_tests/webhook_raw_json_number.test.d.ts.map +1 -1
  301. package/lib/cjs/tests/api_tests/webhook_raw_json_number.test.js +154 -179
  302. package/lib/cjs/tests/api_tests/webhook_raw_json_number.test.js.map +1 -1
  303. package/lib/cjs/tests/api_tests/welle_partner_token.test.d.ts +6 -5
  304. package/lib/cjs/tests/api_tests/welle_partner_token.test.d.ts.map +1 -1
  305. package/lib/cjs/tests/api_tests/welle_partner_token.test.js +393 -251
  306. package/lib/cjs/tests/api_tests/welle_partner_token.test.js.map +1 -1
  307. package/lib/cjs/tests/setup_isolated.d.ts +7 -0
  308. package/lib/cjs/tests/setup_isolated.d.ts.map +1 -1
  309. package/lib/cjs/tests/setup_isolated.js.map +1 -1
  310. package/lib/cjs/tests/tests.d.ts.map +1 -1
  311. package/lib/cjs/tests/tests.js +229 -461
  312. package/lib/cjs/tests/tests.js.map +1 -1
  313. package/lib/cjs/tests/unit_tests/date_string_validation.test.d.ts +2 -0
  314. package/lib/cjs/tests/unit_tests/date_string_validation.test.d.ts.map +1 -0
  315. package/lib/cjs/tests/unit_tests/date_string_validation.test.js +112 -0
  316. package/lib/cjs/tests/unit_tests/date_string_validation.test.js.map +1 -0
  317. package/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  318. package/lib/esm/sdk.d.ts +6 -5
  319. package/lib/esm/sdk.d.ts.map +1 -1
  320. package/lib/esm/sdk.js +5 -0
  321. package/lib/esm/sdk.js.map +1 -1
  322. package/lib/esm/tests/api_tests/ai_conversations.test.d.ts +14 -5
  323. package/lib/esm/tests/api_tests/ai_conversations.test.d.ts.map +1 -1
  324. package/lib/esm/tests/api_tests/ai_conversations.test.js +161 -148
  325. package/lib/esm/tests/api_tests/ai_conversations.test.js.map +1 -1
  326. package/lib/esm/tests/api_tests/ai_conversations_agent_message.test.d.ts +22 -0
  327. package/lib/esm/tests/api_tests/ai_conversations_agent_message.test.d.ts.map +1 -0
  328. package/lib/esm/tests/api_tests/ai_conversations_agent_message.test.js +510 -0
  329. package/lib/esm/tests/api_tests/ai_conversations_agent_message.test.js.map +1 -0
  330. package/lib/esm/tests/api_tests/appointment_link_expiration.test.d.ts +6 -5
  331. package/lib/esm/tests/api_tests/appointment_link_expiration.test.d.ts.map +1 -1
  332. package/lib/esm/tests/api_tests/appointment_link_expiration.test.js +132 -71
  333. package/lib/esm/tests/api_tests/appointment_link_expiration.test.js.map +1 -1
  334. package/lib/esm/tests/api_tests/appointment_no_showed_trigger.test.d.ts +6 -5
  335. package/lib/esm/tests/api_tests/appointment_no_showed_trigger.test.d.ts.map +1 -1
  336. package/lib/esm/tests/api_tests/appointment_no_showed_trigger.test.js +238 -173
  337. package/lib/esm/tests/api_tests/appointment_no_showed_trigger.test.js.map +1 -1
  338. package/lib/esm/tests/api_tests/availability_block_buffer.test.d.ts +22 -0
  339. package/lib/esm/tests/api_tests/availability_block_buffer.test.d.ts.map +1 -0
  340. package/lib/esm/tests/api_tests/availability_block_buffer.test.js +306 -0
  341. package/lib/esm/tests/api_tests/availability_block_buffer.test.js.map +1 -0
  342. package/lib/esm/tests/api_tests/beluga_manual_sync.test.d.ts +6 -5
  343. package/lib/esm/tests/api_tests/beluga_manual_sync.test.d.ts.map +1 -1
  344. package/lib/esm/tests/api_tests/beluga_manual_sync.test.js +232 -190
  345. package/lib/esm/tests/api_tests/beluga_manual_sync.test.js.map +1 -1
  346. package/lib/esm/tests/api_tests/beluga_trigger_refill.test.d.ts +6 -5
  347. package/lib/esm/tests/api_tests/beluga_trigger_refill.test.d.ts.map +1 -1
  348. package/lib/esm/tests/api_tests/beluga_trigger_refill.test.js +348 -262
  349. package/lib/esm/tests/api_tests/beluga_trigger_refill.test.js.map +1 -1
  350. package/lib/esm/tests/api_tests/bulk_assignment.test.d.ts +16 -5
  351. package/lib/esm/tests/api_tests/bulk_assignment.test.d.ts.map +1 -1
  352. package/lib/esm/tests/api_tests/bulk_assignment.test.js +333 -241
  353. package/lib/esm/tests/api_tests/bulk_assignment.test.js.map +1 -1
  354. package/lib/esm/tests/api_tests/calendar_event_references_update.test.d.ts +13 -5
  355. package/lib/esm/tests/api_tests/calendar_event_references_update.test.d.ts.map +1 -1
  356. package/lib/esm/tests/api_tests/calendar_event_references_update.test.js +129 -107
  357. package/lib/esm/tests/api_tests/calendar_event_references_update.test.js.map +1 -1
  358. package/lib/esm/tests/api_tests/calendar_event_webhook_template.test.d.ts +15 -5
  359. package/lib/esm/tests/api_tests/calendar_event_webhook_template.test.d.ts.map +1 -1
  360. package/lib/esm/tests/api_tests/calendar_event_webhook_template.test.js +238 -251
  361. package/lib/esm/tests/api_tests/calendar_event_webhook_template.test.js.map +1 -1
  362. package/lib/esm/tests/api_tests/chats_analytics.test.d.ts +14 -5
  363. package/lib/esm/tests/api_tests/chats_analytics.test.d.ts.map +1 -1
  364. package/lib/esm/tests/api_tests/chats_analytics.test.js +188 -188
  365. package/lib/esm/tests/api_tests/chats_analytics.test.js.map +1 -1
  366. package/lib/esm/tests/api_tests/concurrent_build_threads.test.d.ts +23 -5
  367. package/lib/esm/tests/api_tests/concurrent_build_threads.test.d.ts.map +1 -1
  368. package/lib/esm/tests/api_tests/concurrent_build_threads.test.js +119 -117
  369. package/lib/esm/tests/api_tests/concurrent_build_threads.test.js.map +1 -1
  370. package/lib/esm/tests/api_tests/configurations_public_read.test.d.ts +21 -5
  371. package/lib/esm/tests/api_tests/configurations_public_read.test.d.ts.map +1 -1
  372. package/lib/esm/tests/api_tests/configurations_public_read.test.js +233 -118
  373. package/lib/esm/tests/api_tests/configurations_public_read.test.js.map +1 -1
  374. package/lib/esm/tests/api_tests/copied_form_response_no_enduser_sync.test.d.ts +7 -0
  375. package/lib/esm/tests/api_tests/copied_form_response_no_enduser_sync.test.d.ts.map +1 -0
  376. package/lib/esm/tests/api_tests/copied_form_response_no_enduser_sync.test.js +351 -0
  377. package/lib/esm/tests/api_tests/copied_form_response_no_enduser_sync.test.js.map +1 -0
  378. package/lib/esm/tests/api_tests/create_note_action.test.d.ts +18 -5
  379. package/lib/esm/tests/api_tests/create_note_action.test.d.ts.map +1 -1
  380. package/lib/esm/tests/api_tests/create_note_action.test.js +216 -172
  381. package/lib/esm/tests/api_tests/create_note_action.test.js.map +1 -1
  382. package/lib/esm/tests/api_tests/create_user_notifications_trigger.test.d.ts +17 -4
  383. package/lib/esm/tests/api_tests/create_user_notifications_trigger.test.d.ts.map +1 -1
  384. package/lib/esm/tests/api_tests/create_user_notifications_trigger.test.js +141 -203
  385. package/lib/esm/tests/api_tests/create_user_notifications_trigger.test.js.map +1 -1
  386. package/lib/esm/tests/api_tests/custom_aggregation.test.d.ts +15 -5
  387. package/lib/esm/tests/api_tests/custom_aggregation.test.d.ts.map +1 -1
  388. package/lib/esm/tests/api_tests/custom_aggregation.test.js +282 -222
  389. package/lib/esm/tests/api_tests/custom_aggregation.test.js.map +1 -1
  390. package/lib/esm/tests/api_tests/database_cascade_delete.test.d.ts +13 -5
  391. package/lib/esm/tests/api_tests/database_cascade_delete.test.d.ts.map +1 -1
  392. package/lib/esm/tests/api_tests/database_cascade_delete.test.js +216 -241
  393. package/lib/esm/tests/api_tests/database_cascade_delete.test.js.map +1 -1
  394. package/lib/esm/tests/api_tests/dont_sync_to_elation_form_submission.test.d.ts +21 -5
  395. package/lib/esm/tests/api_tests/dont_sync_to_elation_form_submission.test.d.ts.map +1 -1
  396. package/lib/esm/tests/api_tests/dont_sync_to_elation_form_submission.test.js +165 -110
  397. package/lib/esm/tests/api_tests/dont_sync_to_elation_form_submission.test.js.map +1 -1
  398. package/lib/esm/tests/api_tests/elation_user_id.test.d.ts +17 -5
  399. package/lib/esm/tests/api_tests/elation_user_id.test.d.ts.map +1 -1
  400. package/lib/esm/tests/api_tests/elation_user_id.test.js +119 -53
  401. package/lib/esm/tests/api_tests/elation_user_id.test.js.map +1 -1
  402. package/lib/esm/tests/api_tests/file_download_unicode_names.test.d.ts +6 -5
  403. package/lib/esm/tests/api_tests/file_download_unicode_names.test.d.ts.map +1 -1
  404. package/lib/esm/tests/api_tests/file_download_unicode_names.test.js +190 -141
  405. package/lib/esm/tests/api_tests/file_download_unicode_names.test.js.map +1 -1
  406. package/lib/esm/tests/api_tests/form_intake_email_normalization.test.d.ts +7 -0
  407. package/lib/esm/tests/api_tests/form_intake_email_normalization.test.d.ts.map +1 -0
  408. package/lib/esm/tests/api_tests/form_intake_email_normalization.test.js +527 -0
  409. package/lib/esm/tests/api_tests/form_intake_email_normalization.test.js.map +1 -0
  410. package/lib/esm/tests/api_tests/form_submitted_trigger.test.d.ts +25 -5
  411. package/lib/esm/tests/api_tests/form_submitted_trigger.test.d.ts.map +1 -1
  412. package/lib/esm/tests/api_tests/form_submitted_trigger.test.js +393 -365
  413. package/lib/esm/tests/api_tests/form_submitted_trigger.test.js.map +1 -1
  414. package/lib/esm/tests/api_tests/form_translations.test.d.ts +6 -5
  415. package/lib/esm/tests/api_tests/form_translations.test.d.ts.map +1 -1
  416. package/lib/esm/tests/api_tests/form_translations.test.js +268 -189
  417. package/lib/esm/tests/api_tests/form_translations.test.js.map +1 -1
  418. package/lib/esm/tests/api_tests/formsort_header_auth.test.d.ts +29 -5
  419. package/lib/esm/tests/api_tests/formsort_header_auth.test.d.ts.map +1 -1
  420. package/lib/esm/tests/api_tests/formsort_header_auth.test.js +177 -161
  421. package/lib/esm/tests/api_tests/formsort_header_auth.test.js.map +1 -1
  422. package/lib/esm/tests/api_tests/gcal_sync_retry.test.d.ts +12 -6
  423. package/lib/esm/tests/api_tests/gcal_sync_retry.test.d.ts.map +1 -1
  424. package/lib/esm/tests/api_tests/gcal_sync_retry.test.js +96 -83
  425. package/lib/esm/tests/api_tests/gcal_sync_retry.test.js.map +1 -1
  426. package/lib/esm/tests/api_tests/get_some_projection.test.d.ts +20 -5
  427. package/lib/esm/tests/api_tests/get_some_projection.test.d.ts.map +1 -1
  428. package/lib/esm/tests/api_tests/get_some_projection.test.js +339 -296
  429. package/lib/esm/tests/api_tests/get_some_projection.test.js.map +1 -1
  430. package/lib/esm/tests/api_tests/group_event_attendee_self_update.test.d.ts +6 -5
  431. package/lib/esm/tests/api_tests/group_event_attendee_self_update.test.d.ts.map +1 -1
  432. package/lib/esm/tests/api_tests/group_event_attendee_self_update.test.js +292 -222
  433. package/lib/esm/tests/api_tests/group_event_attendee_self_update.test.js.map +1 -1
  434. package/lib/esm/tests/api_tests/integrations_redacted.test.d.ts +6 -5
  435. package/lib/esm/tests/api_tests/integrations_redacted.test.d.ts.map +1 -1
  436. package/lib/esm/tests/api_tests/integrations_redacted.test.js +304 -211
  437. package/lib/esm/tests/api_tests/integrations_redacted.test.js.map +1 -1
  438. package/lib/esm/tests/api_tests/journey_delete_cancels_actions.test.d.ts +6 -5
  439. package/lib/esm/tests/api_tests/journey_delete_cancels_actions.test.d.ts.map +1 -1
  440. package/lib/esm/tests/api_tests/journey_delete_cancels_actions.test.js +177 -154
  441. package/lib/esm/tests/api_tests/journey_delete_cancels_actions.test.js.map +1 -1
  442. package/lib/esm/tests/api_tests/load_team_chat.test.d.ts.map +1 -1
  443. package/lib/esm/tests/api_tests/load_team_chat.test.js +181 -124
  444. package/lib/esm/tests/api_tests/load_team_chat.test.js.map +1 -1
  445. package/lib/esm/tests/api_tests/load_threads_autobuild.test.d.ts +24 -5
  446. package/lib/esm/tests/api_tests/load_threads_autobuild.test.d.ts.map +1 -1
  447. package/lib/esm/tests/api_tests/load_threads_autobuild.test.js +259 -226
  448. package/lib/esm/tests/api_tests/load_threads_autobuild.test.js.map +1 -1
  449. package/lib/esm/tests/api_tests/load_threads_care_team.test.d.ts +6 -0
  450. package/lib/esm/tests/api_tests/load_threads_care_team.test.d.ts.map +1 -1
  451. package/lib/esm/tests/api_tests/load_threads_care_team.test.js +115 -31
  452. package/lib/esm/tests/api_tests/load_threads_care_team.test.js.map +1 -1
  453. package/lib/esm/tests/api_tests/managed_content_file_access.test.d.ts +15 -5
  454. package/lib/esm/tests/api_tests/managed_content_file_access.test.d.ts.map +1 -1
  455. package/lib/esm/tests/api_tests/managed_content_file_access.test.js +283 -287
  456. package/lib/esm/tests/api_tests/managed_content_file_access.test.js.map +1 -1
  457. package/lib/esm/tests/api_tests/mdb_sort.test.d.ts +20 -5
  458. package/lib/esm/tests/api_tests/mdb_sort.test.d.ts.map +1 -1
  459. package/lib/esm/tests/api_tests/mdb_sort.test.js +358 -303
  460. package/lib/esm/tests/api_tests/mdb_sort.test.js.map +1 -1
  461. package/lib/esm/tests/api_tests/mdi_manual_sync.test.d.ts +27 -0
  462. package/lib/esm/tests/api_tests/mdi_manual_sync.test.d.ts.map +1 -0
  463. package/lib/esm/tests/api_tests/mdi_manual_sync.test.js +390 -0
  464. package/lib/esm/tests/api_tests/mdi_manual_sync.test.js.map +1 -0
  465. package/lib/esm/tests/api_tests/mdi_trigger_refill.test.d.ts +6 -5
  466. package/lib/esm/tests/api_tests/mdi_trigger_refill.test.d.ts.map +1 -1
  467. package/lib/esm/tests/api_tests/mdi_trigger_refill.test.js +257 -208
  468. package/lib/esm/tests/api_tests/mdi_trigger_refill.test.js.map +1 -1
  469. package/lib/esm/tests/api_tests/mdi_webhooks.test.d.ts +12 -5
  470. package/lib/esm/tests/api_tests/mdi_webhooks.test.d.ts.map +1 -1
  471. package/lib/esm/tests/api_tests/mdi_webhooks.test.js +65 -60
  472. package/lib/esm/tests/api_tests/mdi_webhooks.test.js.map +1 -1
  473. package/lib/esm/tests/api_tests/message_assignment_trigger.test.d.ts +23 -14
  474. package/lib/esm/tests/api_tests/message_assignment_trigger.test.d.ts.map +1 -1
  475. package/lib/esm/tests/api_tests/message_assignment_trigger.test.js +256 -305
  476. package/lib/esm/tests/api_tests/message_assignment_trigger.test.js.map +1 -1
  477. package/lib/esm/tests/api_tests/metriport_push_form_response.test.d.ts +6 -5
  478. package/lib/esm/tests/api_tests/metriport_push_form_response.test.d.ts.map +1 -1
  479. package/lib/esm/tests/api_tests/metriport_push_form_response.test.js +298 -236
  480. package/lib/esm/tests/api_tests/metriport_push_form_response.test.js.map +1 -1
  481. package/lib/esm/tests/api_tests/organization_api_keys.test.d.ts.map +1 -1
  482. package/lib/esm/tests/api_tests/organization_api_keys.test.js +226 -59
  483. package/lib/esm/tests/api_tests/organization_api_keys.test.js.map +1 -1
  484. package/lib/esm/tests/api_tests/organization_settings_duplicates.test.d.ts +19 -5
  485. package/lib/esm/tests/api_tests/organization_settings_duplicates.test.d.ts.map +1 -1
  486. package/lib/esm/tests/api_tests/organization_settings_duplicates.test.js +332 -220
  487. package/lib/esm/tests/api_tests/organization_settings_duplicates.test.js.map +1 -1
  488. package/lib/esm/tests/api_tests/organization_signup.test.d.ts.map +1 -1
  489. package/lib/esm/tests/api_tests/organization_signup.test.js +218 -51
  490. package/lib/esm/tests/api_tests/organization_signup.test.js.map +1 -1
  491. package/lib/esm/tests/api_tests/out_of_office_endpoint.test.d.ts.map +1 -1
  492. package/lib/esm/tests/api_tests/out_of_office_endpoint.test.js +109 -1
  493. package/lib/esm/tests/api_tests/out_of_office_endpoint.test.js.map +1 -1
  494. package/lib/esm/tests/api_tests/outbound_chat_sent_trigger.test.d.ts +6 -6
  495. package/lib/esm/tests/api_tests/outbound_chat_sent_trigger.test.d.ts.map +1 -1
  496. package/lib/esm/tests/api_tests/outbound_chat_sent_trigger.test.js +308 -361
  497. package/lib/esm/tests/api_tests/outbound_chat_sent_trigger.test.js.map +1 -1
  498. package/lib/esm/tests/api_tests/phone_calls_cold_transfer.test.d.ts +6 -5
  499. package/lib/esm/tests/api_tests/phone_calls_cold_transfer.test.d.ts.map +1 -1
  500. package/lib/esm/tests/api_tests/phone_calls_cold_transfer.test.js +243 -163
  501. package/lib/esm/tests/api_tests/phone_calls_cold_transfer.test.js.map +1 -1
  502. package/lib/esm/tests/api_tests/phone_calls_conference_hold.test.d.ts +15 -5
  503. package/lib/esm/tests/api_tests/phone_calls_conference_hold.test.d.ts.map +1 -1
  504. package/lib/esm/tests/api_tests/phone_calls_conference_hold.test.js +127 -45
  505. package/lib/esm/tests/api_tests/phone_calls_conference_hold.test.js.map +1 -1
  506. package/lib/esm/tests/api_tests/phone_tree_enduser_condition.test.d.ts +6 -5
  507. package/lib/esm/tests/api_tests/phone_tree_enduser_condition.test.d.ts.map +1 -1
  508. package/lib/esm/tests/api_tests/phone_tree_enduser_condition.test.js +177 -130
  509. package/lib/esm/tests/api_tests/phone_tree_enduser_condition.test.js.map +1 -1
  510. package/lib/esm/tests/api_tests/programs.test.d.ts.map +1 -1
  511. package/lib/esm/tests/api_tests/programs.test.js +417 -50
  512. package/lib/esm/tests/api_tests/programs.test.js.map +1 -1
  513. package/lib/esm/tests/api_tests/security/ai-conversations-rbac.test.d.ts +10 -5
  514. package/lib/esm/tests/api_tests/security/ai-conversations-rbac.test.d.ts.map +1 -1
  515. package/lib/esm/tests/api_tests/security/ai-conversations-rbac.test.js +399 -281
  516. package/lib/esm/tests/api_tests/security/ai-conversations-rbac.test.js.map +1 -1
  517. package/lib/esm/tests/api_tests/security/automated-actions-process-gate.test.d.ts +9 -5
  518. package/lib/esm/tests/api_tests/security/automated-actions-process-gate.test.d.ts.map +1 -1
  519. package/lib/esm/tests/api_tests/security/automated-actions-process-gate.test.js +225 -209
  520. package/lib/esm/tests/api_tests/security/automated-actions-process-gate.test.js.map +1 -1
  521. package/lib/esm/tests/api_tests/security/booking-info-idor-token-mint.test.d.ts +13 -8
  522. package/lib/esm/tests/api_tests/security/booking-info-idor-token-mint.test.d.ts.map +1 -1
  523. package/lib/esm/tests/api_tests/security/booking-info-idor-token-mint.test.js +268 -253
  524. package/lib/esm/tests/api_tests/security/booking-info-idor-token-mint.test.js.map +1 -1
  525. package/lib/esm/tests/api_tests/security/cascade-role-rename-cross-tenant.test.d.ts +16 -6
  526. package/lib/esm/tests/api_tests/security/cascade-role-rename-cross-tenant.test.d.ts.map +1 -1
  527. package/lib/esm/tests/api_tests/security/cascade-role-rename-cross-tenant.test.js +165 -141
  528. package/lib/esm/tests/api_tests/security/cascade-role-rename-cross-tenant.test.js.map +1 -1
  529. package/lib/esm/tests/api_tests/security/data-sync-redaction-bypass.test.d.ts +10 -5
  530. package/lib/esm/tests/api_tests/security/data-sync-redaction-bypass.test.d.ts.map +1 -1
  531. package/lib/esm/tests/api_tests/security/data-sync-redaction-bypass.test.js +294 -220
  532. package/lib/esm/tests/api_tests/security/data-sync-redaction-bypass.test.js.map +1 -1
  533. package/lib/esm/tests/api_tests/security/develop-health-benefit-verification-rbac.test.d.ts +12 -5
  534. package/lib/esm/tests/api_tests/security/develop-health-benefit-verification-rbac.test.d.ts.map +1 -1
  535. package/lib/esm/tests/api_tests/security/develop-health-benefit-verification-rbac.test.js +219 -215
  536. package/lib/esm/tests/api_tests/security/develop-health-benefit-verification-rbac.test.js.map +1 -1
  537. package/lib/esm/tests/api_tests/security/enduser-ai-summary-trust-gate.test.d.ts +11 -5
  538. package/lib/esm/tests/api_tests/security/enduser-ai-summary-trust-gate.test.d.ts.map +1 -1
  539. package/lib/esm/tests/api_tests/security/enduser-ai-summary-trust-gate.test.js +298 -202
  540. package/lib/esm/tests/api_tests/security/enduser-ai-summary-trust-gate.test.js.map +1 -1
  541. package/lib/esm/tests/api_tests/security/enduser-cross-create.test.d.ts +11 -5
  542. package/lib/esm/tests/api_tests/security/enduser-cross-create.test.d.ts.map +1 -1
  543. package/lib/esm/tests/api_tests/security/enduser-cross-create.test.js +413 -274
  544. package/lib/esm/tests/api_tests/security/enduser-cross-create.test.js.map +1 -1
  545. package/lib/esm/tests/api_tests/security/enduser-write-restrictions.test.d.ts +11 -5
  546. package/lib/esm/tests/api_tests/security/enduser-write-restrictions.test.d.ts.map +1 -1
  547. package/lib/esm/tests/api_tests/security/enduser-write-restrictions.test.js +345 -227
  548. package/lib/esm/tests/api_tests/security/enduser-write-restrictions.test.js.map +1 -1
  549. package/lib/esm/tests/api_tests/security/globalunique-conflict-redaction.test.d.ts +18 -7
  550. package/lib/esm/tests/api_tests/security/globalunique-conflict-redaction.test.d.ts.map +1 -1
  551. package/lib/esm/tests/api_tests/security/globalunique-conflict-redaction.test.js +162 -74
  552. package/lib/esm/tests/api_tests/security/globalunique-conflict-redaction.test.js.map +1 -1
  553. package/lib/esm/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.d.ts +15 -9
  554. package/lib/esm/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.d.ts.map +1 -1
  555. package/lib/esm/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.js +96 -100
  556. package/lib/esm/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.js.map +1 -1
  557. package/lib/esm/tests/api_tests/security/load-inbox-redaction.test.d.ts +11 -5
  558. package/lib/esm/tests/api_tests/security/load-inbox-redaction.test.d.ts.map +1 -1
  559. package/lib/esm/tests/api_tests/security/load-inbox-redaction.test.js +129 -87
  560. package/lib/esm/tests/api_tests/security/load-inbox-redaction.test.js.map +1 -1
  561. package/lib/esm/tests/api_tests/security/proxy-image-unauth-ssrf.test.d.ts +12 -5
  562. package/lib/esm/tests/api_tests/security/proxy-image-unauth-ssrf.test.d.ts.map +1 -1
  563. package/lib/esm/tests/api_tests/security/proxy-image-unauth-ssrf.test.js +187 -136
  564. package/lib/esm/tests/api_tests/security/proxy-image-unauth-ssrf.test.js.map +1 -1
  565. package/lib/esm/tests/api_tests/security/register_business_id_injection.test.d.ts +18 -16
  566. package/lib/esm/tests/api_tests/security/register_business_id_injection.test.d.ts.map +1 -1
  567. package/lib/esm/tests/api_tests/security/register_business_id_injection.test.js +162 -123
  568. package/lib/esm/tests/api_tests/security/register_business_id_injection.test.js.map +1 -1
  569. package/lib/esm/tests/api_tests/security/sanitize-user-html-with-iframes.test.d.ts.map +1 -1
  570. package/lib/esm/tests/api_tests/security/sanitize-user-html-with-iframes.test.js +122 -2
  571. package/lib/esm/tests/api_tests/security/sanitize-user-html-with-iframes.test.js.map +1 -1
  572. package/lib/esm/tests/api_tests/security/schema-adminonly-enforcement.test.d.ts +11 -5
  573. package/lib/esm/tests/api_tests/security/schema-adminonly-enforcement.test.d.ts.map +1 -1
  574. package/lib/esm/tests/api_tests/security/schema-adminonly-enforcement.test.js +285 -272
  575. package/lib/esm/tests/api_tests/security/schema-adminonly-enforcement.test.js.map +1 -1
  576. package/lib/esm/tests/api_tests/security/self-admin-role-assignment.test.d.ts +17 -10
  577. package/lib/esm/tests/api_tests/security/self-admin-role-assignment.test.d.ts.map +1 -1
  578. package/lib/esm/tests/api_tests/security/self-admin-role-assignment.test.js +171 -137
  579. package/lib/esm/tests/api_tests/security/self-admin-role-assignment.test.js.map +1 -1
  580. package/lib/esm/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.d.ts +6 -5
  581. package/lib/esm/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.d.ts.map +1 -1
  582. package/lib/esm/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.js +307 -263
  583. package/lib/esm/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.js.map +1 -1
  584. package/lib/esm/tests/api_tests/security/webhook-timeout.test.d.ts +9 -5
  585. package/lib/esm/tests/api_tests/security/webhook-timeout.test.d.ts.map +1 -1
  586. package/lib/esm/tests/api_tests/security/webhook-timeout.test.js +105 -81
  587. package/lib/esm/tests/api_tests/security/webhook-timeout.test.js.map +1 -1
  588. package/lib/esm/tests/api_tests/stedi_approval.test.d.ts +6 -5
  589. package/lib/esm/tests/api_tests/stedi_approval.test.d.ts.map +1 -1
  590. package/lib/esm/tests/api_tests/stedi_approval.test.js +204 -136
  591. package/lib/esm/tests/api_tests/stedi_approval.test.js.map +1 -1
  592. package/lib/esm/tests/api_tests/ticket_stage_archive.test.d.ts +7 -0
  593. package/lib/esm/tests/api_tests/ticket_stage_archive.test.d.ts.map +1 -0
  594. package/lib/esm/tests/api_tests/ticket_stage_archive.test.js +339 -0
  595. package/lib/esm/tests/api_tests/ticket_stage_archive.test.js.map +1 -0
  596. package/lib/esm/tests/api_tests/tickets_bulk_assign_care_team.test.d.ts +6 -5
  597. package/lib/esm/tests/api_tests/tickets_bulk_assign_care_team.test.d.ts.map +1 -1
  598. package/lib/esm/tests/api_tests/tickets_bulk_assign_care_team.test.js +162 -147
  599. package/lib/esm/tests/api_tests/tickets_bulk_assign_care_team.test.js.map +1 -1
  600. package/lib/esm/tests/api_tests/translations.test.d.ts +6 -5
  601. package/lib/esm/tests/api_tests/translations.test.d.ts.map +1 -1
  602. package/lib/esm/tests/api_tests/translations.test.js +102 -74
  603. package/lib/esm/tests/api_tests/translations.test.js.map +1 -1
  604. package/lib/esm/tests/api_tests/trigger_set_fields_date_difference.test.d.ts +21 -4
  605. package/lib/esm/tests/api_tests/trigger_set_fields_date_difference.test.d.ts.map +1 -1
  606. package/lib/esm/tests/api_tests/trigger_set_fields_date_difference.test.js +236 -369
  607. package/lib/esm/tests/api_tests/trigger_set_fields_date_difference.test.js.map +1 -1
  608. package/lib/esm/tests/api_tests/user_preferences.test.d.ts +30 -0
  609. package/lib/esm/tests/api_tests/user_preferences.test.d.ts.map +1 -0
  610. package/lib/esm/tests/api_tests/user_preferences.test.js +274 -0
  611. package/lib/esm/tests/api_tests/user_preferences.test.js.map +1 -0
  612. package/lib/esm/tests/api_tests/webhook_error_handling.test.d.ts +17 -5
  613. package/lib/esm/tests/api_tests/webhook_error_handling.test.d.ts.map +1 -1
  614. package/lib/esm/tests/api_tests/webhook_error_handling.test.js +202 -194
  615. package/lib/esm/tests/api_tests/webhook_error_handling.test.js.map +1 -1
  616. package/lib/esm/tests/api_tests/webhook_raw_json_number.test.d.ts +15 -5
  617. package/lib/esm/tests/api_tests/webhook_raw_json_number.test.d.ts.map +1 -1
  618. package/lib/esm/tests/api_tests/webhook_raw_json_number.test.js +152 -178
  619. package/lib/esm/tests/api_tests/webhook_raw_json_number.test.js.map +1 -1
  620. package/lib/esm/tests/api_tests/welle_partner_token.test.d.ts +6 -5
  621. package/lib/esm/tests/api_tests/welle_partner_token.test.d.ts.map +1 -1
  622. package/lib/esm/tests/api_tests/welle_partner_token.test.js +391 -250
  623. package/lib/esm/tests/api_tests/welle_partner_token.test.js.map +1 -1
  624. package/lib/esm/tests/setup_isolated.d.ts +7 -0
  625. package/lib/esm/tests/setup_isolated.d.ts.map +1 -1
  626. package/lib/esm/tests/setup_isolated.js.map +1 -1
  627. package/lib/esm/tests/tests.d.ts.map +1 -1
  628. package/lib/esm/tests/tests.js +229 -461
  629. package/lib/esm/tests/tests.js.map +1 -1
  630. package/lib/esm/tests/unit_tests/date_string_validation.test.d.ts +2 -0
  631. package/lib/esm/tests/unit_tests/date_string_validation.test.d.ts.map +1 -0
  632. package/lib/esm/tests/unit_tests/date_string_validation.test.js +108 -0
  633. package/lib/esm/tests/unit_tests/date_string_validation.test.js.map +1 -0
  634. package/lib/tsconfig.tsbuildinfo +1 -1
  635. package/package.json +10 -10
  636. package/src/sdk.ts +14 -3
  637. package/src/tests/api_tests/ai_conversations.test.ts +170 -138
  638. package/src/tests/api_tests/ai_conversations_agent_message.test.ts +491 -0
  639. package/src/tests/api_tests/appointment_link_expiration.test.ts +94 -35
  640. package/src/tests/api_tests/appointment_no_showed_trigger.test.ts +181 -128
  641. package/src/tests/api_tests/availability_block_buffer.test.ts +286 -0
  642. package/src/tests/api_tests/beluga_manual_sync.test.ts +103 -53
  643. package/src/tests/api_tests/beluga_trigger_refill.test.ts +131 -46
  644. package/src/tests/api_tests/bulk_assignment.test.ts +307 -220
  645. package/src/tests/api_tests/calendar_event_references_update.test.ts +97 -54
  646. package/src/tests/api_tests/calendar_event_webhook_template.test.ts +198 -158
  647. package/src/tests/api_tests/chats_analytics.test.ts +161 -123
  648. package/src/tests/api_tests/concurrent_build_threads.test.ts +80 -69
  649. package/src/tests/api_tests/configurations_public_read.test.ts +154 -67
  650. package/src/tests/api_tests/copied_form_response_no_enduser_sync.test.ts +307 -0
  651. package/src/tests/api_tests/create_note_action.test.ts +149 -70
  652. package/src/tests/api_tests/create_user_notifications_trigger.test.ts +116 -144
  653. package/src/tests/api_tests/custom_aggregation.test.ts +163 -92
  654. package/src/tests/api_tests/database_cascade_delete.test.ts +101 -87
  655. package/src/tests/api_tests/dont_sync_to_elation_form_submission.test.ts +122 -51
  656. package/src/tests/api_tests/elation_user_id.test.ts +105 -42
  657. package/src/tests/api_tests/file_download_unicode_names.test.ts +171 -122
  658. package/src/tests/api_tests/form_intake_email_normalization.test.ts +489 -0
  659. package/src/tests/api_tests/form_submitted_trigger.test.ts +152 -86
  660. package/src/tests/api_tests/form_translations.test.ts +117 -48
  661. package/src/tests/api_tests/formsort_header_auth.test.ts +147 -97
  662. package/src/tests/api_tests/gcal_sync_retry.test.ts +71 -49
  663. package/src/tests/api_tests/get_some_projection.test.ts +333 -169
  664. package/src/tests/api_tests/group_event_attendee_self_update.test.ts +103 -52
  665. package/src/tests/api_tests/integrations_redacted.test.ts +161 -84
  666. package/src/tests/api_tests/journey_delete_cancels_actions.test.ts +93 -64
  667. package/src/tests/api_tests/load_team_chat.test.ts +62 -6
  668. package/src/tests/api_tests/load_threads_autobuild.test.ts +163 -67
  669. package/src/tests/api_tests/load_threads_care_team.test.ts +103 -0
  670. package/src/tests/api_tests/managed_content_file_access.test.ts +132 -108
  671. package/src/tests/api_tests/mdb_sort.test.ts +247 -161
  672. package/src/tests/api_tests/mdi_manual_sync.test.ts +277 -0
  673. package/src/tests/api_tests/mdi_trigger_refill.test.ts +132 -78
  674. package/src/tests/api_tests/mdi_webhooks.test.ts +52 -22
  675. package/src/tests/api_tests/message_assignment_trigger.test.ts +129 -155
  676. package/src/tests/api_tests/metriport_push_form_response.test.ts +109 -49
  677. package/src/tests/api_tests/organization_api_keys.test.ts +170 -2
  678. package/src/tests/api_tests/organization_settings_duplicates.test.ts +291 -181
  679. package/src/tests/api_tests/organization_signup.test.ts +170 -5
  680. package/src/tests/api_tests/out_of_office_endpoint.test.ts +98 -0
  681. package/src/tests/api_tests/outbound_chat_sent_trigger.test.ts +163 -175
  682. package/src/tests/api_tests/phone_calls_cold_transfer.test.ts +195 -133
  683. package/src/tests/api_tests/phone_calls_conference_hold.test.ts +112 -42
  684. package/src/tests/api_tests/phone_tree_enduser_condition.test.ts +81 -32
  685. package/src/tests/api_tests/programs.test.ts +350 -0
  686. package/src/tests/api_tests/security/ai-conversations-rbac.test.ts +248 -128
  687. package/src/tests/api_tests/security/automated-actions-process-gate.test.ts +47 -42
  688. package/src/tests/api_tests/security/booking-info-idor-token-mint.test.ts +53 -45
  689. package/src/tests/api_tests/security/cascade-role-rename-cross-tenant.test.ts +100 -73
  690. package/src/tests/api_tests/security/data-sync-redaction-bypass.test.ts +125 -59
  691. package/src/tests/api_tests/security/develop-health-benefit-verification-rbac.test.ts +131 -103
  692. package/src/tests/api_tests/security/enduser-ai-summary-trust-gate.test.ts +161 -68
  693. package/src/tests/api_tests/security/enduser-cross-create.test.ts +200 -61
  694. package/src/tests/api_tests/security/enduser-write-restrictions.test.ts +179 -61
  695. package/src/tests/api_tests/security/globalunique-conflict-redaction.test.ts +163 -44
  696. package/src/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.ts +78 -70
  697. package/src/tests/api_tests/security/load-inbox-redaction.test.ts +79 -44
  698. package/src/tests/api_tests/security/proxy-image-unauth-ssrf.test.ts +95 -52
  699. package/src/tests/api_tests/security/register_business_id_injection.test.ts +132 -93
  700. package/src/tests/api_tests/security/sanitize-user-html-with-iframes.test.ts +127 -0
  701. package/src/tests/api_tests/security/schema-adminonly-enforcement.test.ts +42 -37
  702. package/src/tests/api_tests/security/self-admin-role-assignment.test.ts +92 -54
  703. package/src/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.ts +76 -34
  704. package/src/tests/api_tests/security/webhook-timeout.test.ts +67 -36
  705. package/src/tests/api_tests/stedi_approval.test.ts +156 -90
  706. package/src/tests/api_tests/ticket_stage_archive.test.ts +314 -0
  707. package/src/tests/api_tests/tickets_bulk_assign_care_team.test.ts +138 -103
  708. package/src/tests/api_tests/translations.test.ts +69 -46
  709. package/src/tests/api_tests/trigger_set_fields_date_difference.test.ts +198 -256
  710. package/src/tests/api_tests/user_preferences.test.ts +227 -0
  711. package/src/tests/api_tests/webhook_error_handling.test.ts +121 -60
  712. package/src/tests/api_tests/webhook_raw_json_number.test.ts +127 -109
  713. package/src/tests/api_tests/welle_partner_token.test.ts +217 -90
  714. package/src/tests/setup_isolated.ts +7 -0
  715. package/src/tests/tests.ts +41 -147
  716. package/src/tests/{api_tests → unit_tests}/date_string_validation.test.ts +2 -23
  717. package/test_generated.pdf +0 -0
@@ -36,13 +36,12 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  }
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.enduser_cross_create_tests = void 0;
39
+ exports.ISOLATED_SUITE = exports.enduser_cross_create_tests = exports.enduser_cross_create_checks = void 0;
40
40
  require('source-map-support').install();
41
41
  var sdk_1 = require("../../../sdk");
42
- var testing_1 = require("@tellescope/testing");
43
- var setup_1 = require("../../setup");
42
+ var setup_isolated_1 = require("../../setup_isolated");
44
43
  var host = process.env.API_URL || 'http://localhost:8080';
45
- var businessId = process.env.TEST_BUSINESS_ID || '60398b1131a295e64f084ff6';
44
+ var RAND = function () { return Math.random().toString(36).slice(2, 10); };
46
45
  var ENDUSER_PASSWORD = 'F0116TestPassword!123';
47
46
  var CROSS_ENDUSER_MESSAGE = "enduserId does not match creator id for enduser session";
48
47
  /**
@@ -59,297 +58,438 @@ var CROSS_ENDUSER_MESSAGE = "enduserId does not match creator id for enduser ses
59
58
  *
60
59
  * Methodology: each section asserts BOTH the exploit-is-blocked case AND that the
61
60
  * legitimate path (self-create + staff-create) still works.
61
+ *
62
+ * Runs on its own provisioned tenant, so the patient session's businessId comes from the tenant
63
+ * rather than a TEST_BUSINESS_ID env var with a hardcoded shared-org fallback. Checks are collected
64
+ * and returned rather than asserted inline: `assert` calls process.exit, which would skip this
65
+ * suite's `finally` cleanup and, in the parallel pool, every other in-flight suite's teardown.
62
66
  */
63
- var enduser_cross_create_tests = function (_a) {
64
- var sdk = _a.sdk;
65
- return __awaiter(void 0, void 0, void 0, function () {
66
- var attackerId, victimId, createdObservationIds, createdOrderIds, createdContentIds, createdRoomIds, attackerEmail, victimEmail, attacker, victim, attackerSDK_1, orderPayload_1, staffId_1, _i, createdRoomIds_1, id, _b, _c, createdContentIds_1, id, _d, _e, createdObservationIds_1, id, _f, _g, createdOrderIds_1, id, _h, _j, _k;
67
- return __generator(this, function (_l) {
68
- switch (_l.label) {
69
- case 0:
70
- (0, testing_1.log_header)("enduser cross-enduser create gates");
71
- createdObservationIds = [];
72
- createdOrderIds = [];
73
- createdContentIds = [];
74
- createdRoomIds = [];
75
- _l.label = 1;
76
- case 1:
77
- _l.trys.push([1, , 21, 54]);
78
- attackerEmail = "f0116-attacker-".concat(Date.now(), "@example.com");
79
- victimEmail = "f0116-victim-".concat(Date.now(), "@example.com");
80
- return [4 /*yield*/, sdk.api.endusers.createOne({ email: attackerEmail, fname: 'F0116', lname: 'Attacker' })];
81
- case 2:
82
- attacker = _l.sent();
83
- attackerId = attacker.id;
84
- return [4 /*yield*/, sdk.api.endusers.createOne({ email: victimEmail, fname: 'F0116', lname: 'Victim' })];
85
- case 3:
86
- victim = _l.sent();
87
- victimId = victim.id;
88
- return [4 /*yield*/, sdk.api.endusers.set_password({ id: attacker.id, password: ENDUSER_PASSWORD })];
89
- case 4:
90
- _l.sent();
91
- attackerSDK_1 = new sdk_1.EnduserSession({ host: host, businessId: businessId });
92
- return [4 /*yield*/, attackerSDK_1.authenticate(attackerEmail, ENDUSER_PASSWORD)
93
- // ============================================================
94
- // enduser_observations
95
- // ============================================================
96
- ];
97
- case 5:
98
- _l.sent();
67
+ var enduser_cross_create_checks = function () { return __awaiter(void 0, void 0, void 0, function () {
68
+ var checks, record, describe, errorMessage, expect_rejection, expect_result, tenant, attackerId, victimId, createdObservationIds, createdOrderIds, createdContentIds, createdRoomIds, sdk_2, attackerEmail, victimEmail, attacker, victim, attackerSDK_1, orderPayload_1, staffId_1, sdk, _i, createdRoomIds_1, id, _a, _b, createdContentIds_1, id, _c, _d, createdObservationIds_1, id, _e, _f, createdOrderIds_1, id, _g, _h, _j, e_1;
69
+ return __generator(this, function (_k) {
70
+ switch (_k.label) {
71
+ case 0:
72
+ checks = [];
73
+ record = function (label, pass, detail) { return checks.push({ label: label, pass: pass, detail: detail }); };
74
+ describe = function (value) {
75
+ if (value === undefined || value === null)
76
+ return String(value);
77
+ var stringified = JSON.stringify(value);
78
+ return stringified === undefined ? String(value) : stringified;
79
+ };
80
+ errorMessage = function (e) { return (typeof (e === null || e === void 0 ? void 0 : e.message) === 'string' && e.message !== '' ? e.message : describe(e)); };
81
+ expect_rejection = function (label, fn, expectedMessage) { return __awaiter(void 0, void 0, void 0, function () {
82
+ var created, error, rejected, e_2, message;
83
+ return __generator(this, function (_a) {
84
+ switch (_a.label) {
85
+ case 0:
86
+ rejected = false;
87
+ _a.label = 1;
88
+ case 1:
89
+ _a.trys.push([1, 3, , 4]);
90
+ return [4 /*yield*/, fn()];
91
+ case 2:
92
+ created = _a.sent();
93
+ return [3 /*break*/, 4];
94
+ case 3:
95
+ e_2 = _a.sent();
96
+ rejected = true;
97
+ error = e_2;
98
+ return [3 /*break*/, 4];
99
+ case 4:
100
+ if (!rejected) {
101
+ // id only — the created record carries the patient linkage this check is about, and the table
102
+ // prints on every run
103
+ record(label, false, "NOT REJECTED: created ".concat(describe(created === null || created === void 0 ? void 0 : created.id), " (expected \"").concat(expectedMessage, "\")"));
104
+ return [2 /*return*/];
105
+ }
106
+ message = errorMessage(error);
107
+ record(label, message === expectedMessage, message === expectedMessage
108
+ ? "rejected: ".concat(message)
109
+ : "rejected with the WRONG error: ".concat(message, " (expected \"").concat(expectedMessage, "\")"));
110
+ return [2 /*return*/];
111
+ }
112
+ });
113
+ }); };
114
+ expect_result = function (label, fn, inspect) { return __awaiter(void 0, void 0, void 0, function () {
115
+ var _a, pass, detail, _b, e_3;
116
+ return __generator(this, function (_c) {
117
+ switch (_c.label) {
118
+ case 0:
119
+ _c.trys.push([0, 2, , 3]);
120
+ _b = inspect;
121
+ return [4 /*yield*/, fn()];
122
+ case 1:
123
+ _a = _b.apply(void 0, [_c.sent()]), pass = _a.pass, detail = _a.detail;
124
+ record(label, pass, detail);
125
+ return [3 /*break*/, 3];
126
+ case 2:
127
+ e_3 = _c.sent();
128
+ record(label, false, "rejected instead of resolving: ".concat(errorMessage(e_3)));
129
+ return [3 /*break*/, 3];
130
+ case 3: return [2 /*return*/];
131
+ }
132
+ });
133
+ }); };
134
+ createdObservationIds = [];
135
+ createdOrderIds = [];
136
+ createdContentIds = [];
137
+ createdRoomIds = [];
138
+ _k.label = 1;
139
+ case 1:
140
+ _k.trys.push([1, , 22, 58]);
141
+ return [4 /*yield*/, (0, setup_isolated_1.setup_isolated_tenant)({
142
+ name: "Enduser cross-enduser create gates ".concat(RAND()),
143
+ users: [{ isAdmin: true }],
144
+ apiKeys: 0,
145
+ })];
146
+ case 2:
147
+ tenant = _k.sent();
148
+ sdk_2 = tenant.sdk;
149
+ attackerEmail = "f0116-attacker-".concat(Date.now(), "@example.com");
150
+ victimEmail = "f0116-victim-".concat(Date.now(), "@example.com");
151
+ return [4 /*yield*/, sdk_2.api.endusers.createOne({ email: attackerEmail, fname: 'F0116', lname: 'Attacker' })];
152
+ case 3:
153
+ attacker = _k.sent();
154
+ attackerId = attacker.id;
155
+ return [4 /*yield*/, sdk_2.api.endusers.createOne({ email: victimEmail, fname: 'F0116', lname: 'Victim' })];
156
+ case 4:
157
+ victim = _k.sent();
158
+ victimId = victim.id;
159
+ return [4 /*yield*/, sdk_2.api.endusers.set_password({ id: attacker.id, password: ENDUSER_PASSWORD })];
160
+ case 5:
161
+ _k.sent();
162
+ attackerSDK_1 = new sdk_1.EnduserSession({ host: host, businessId: tenant.businessId });
163
+ return [4 /*yield*/, attackerSDK_1.authenticate(attackerEmail, ENDUSER_PASSWORD)
99
164
  // ============================================================
100
165
  // enduser_observations
101
166
  // ============================================================
102
- return [4 /*yield*/, (0, testing_1.async_test)("enduser cannot create observation on another enduser (createOne)", function () { return attackerSDK_1.api.enduser_observations.createOne({
167
+ ];
168
+ case 6:
169
+ _k.sent();
170
+ // ============================================================
171
+ // enduser_observations
172
+ // ============================================================
173
+ return [4 /*yield*/, expect_rejection("enduser cannot create observation on another enduser (createOne)", function () { return attackerSDK_1.api.enduser_observations.createOne({
174
+ enduserId: victimId, category: 'vital-signs', status: 'final',
175
+ measurement: { unit: 'mmHg', value: 220 },
176
+ }); }, CROSS_ENDUSER_MESSAGE)];
177
+ case 7:
178
+ // ============================================================
179
+ // enduser_observations
180
+ // ============================================================
181
+ _k.sent();
182
+ return [4 /*yield*/, expect_rejection("enduser cannot create observation on another enduser (createMany)", function () { return attackerSDK_1.api.enduser_observations.createSome([{
103
183
  enduserId: victimId, category: 'vital-signs', status: 'final',
104
184
  measurement: { unit: 'mmHg', value: 220 },
105
- }); }, { shouldError: true, onError: function (e) { return e.message === CROSS_ENDUSER_MESSAGE; } })];
106
- case 6:
107
- // ============================================================
108
- // enduser_observations
109
- // ============================================================
110
- _l.sent();
111
- return [4 /*yield*/, (0, testing_1.async_test)("enduser cannot create observation on another enduser (createMany)", function () { return attackerSDK_1.api.enduser_observations.createSome([{
112
- enduserId: victimId, category: 'vital-signs', status: 'final',
113
- measurement: { unit: 'mmHg', value: 220 },
114
- }]); }, { shouldError: true, onError: function (e) { return e.message === CROSS_ENDUSER_MESSAGE; } })
115
- // Positive control: enduser CAN create an observation on their OWN record
116
- ];
117
- case 7:
118
- _l.sent();
119
- // Positive control: enduser CAN create an observation on their OWN record
120
- return [4 /*yield*/, (0, testing_1.async_test)("enduser can still create observation on own record", function () { return attackerSDK_1.api.enduser_observations.createOne({
121
- enduserId: attackerId, category: 'vital-signs', status: 'final',
122
- measurement: { unit: 'mmHg', value: 120 },
123
- }); }, { onResult: function (o) { if (o === null || o === void 0 ? void 0 : o.id)
124
- createdObservationIds.push(o.id); return (o === null || o === void 0 ? void 0 : o.enduserId) === attackerId; } })
125
- // Positive control: staff CAN create an observation on any tenant enduser
126
- ];
127
- case 8:
185
+ }]); }, CROSS_ENDUSER_MESSAGE)
128
186
  // Positive control: enduser CAN create an observation on their OWN record
129
- _l.sent();
187
+ ];
188
+ case 8:
189
+ _k.sent();
190
+ // Positive control: enduser CAN create an observation on their OWN record
191
+ return [4 /*yield*/, expect_result("enduser can still create observation on own record", function () { return attackerSDK_1.api.enduser_observations.createOne({
192
+ enduserId: attackerId, category: 'vital-signs', status: 'final',
193
+ measurement: { unit: 'mmHg', value: 120 },
194
+ }); }, function (o) {
195
+ if (o === null || o === void 0 ? void 0 : o.id)
196
+ createdObservationIds.push(o.id);
197
+ return {
198
+ pass: (o === null || o === void 0 ? void 0 : o.enduserId) === attackerId,
199
+ detail: "enduserId=".concat(describe(o === null || o === void 0 ? void 0 : o.enduserId), " (self=").concat(attackerId, ")"),
200
+ };
201
+ })
130
202
  // Positive control: staff CAN create an observation on any tenant enduser
131
- return [4 /*yield*/, (0, testing_1.async_test)("staff can still create observation on any enduser", function () { return sdk.api.enduser_observations.createOne({
132
- enduserId: victimId, category: 'vital-signs', status: 'final',
133
- measurement: { unit: 'mmHg', value: 118 },
134
- }); }, { onResult: function (o) { if (o === null || o === void 0 ? void 0 : o.id)
135
- createdObservationIds.push(o.id); return (o === null || o === void 0 ? void 0 : o.enduserId) === victimId; } })
136
- // ============================================================
137
- // enduser_orders
138
- // ============================================================
139
- ];
140
- case 9:
141
- // Positive control: staff CAN create an observation on any tenant enduser
142
- _l.sent();
143
- orderPayload_1 = function (enduserId) { return ({
144
- enduserId: enduserId,
145
- externalId: "f0117-".concat(Date.now()), source: 'f0117-source',
146
- title: 'f0117 order', status: 'pending',
147
- }); };
148
- return [4 /*yield*/, (0, testing_1.async_test)("enduser cannot create order on another enduser", function () { return attackerSDK_1.api.enduser_orders.createOne(orderPayload_1(victimId)); }, { shouldError: true, onError: function (e) { return e.message === CROSS_ENDUSER_MESSAGE; } })];
149
- case 10:
150
- _l.sent();
151
- return [4 /*yield*/, (0, testing_1.async_test)("enduser can still create order on own record", function () { return attackerSDK_1.api.enduser_orders.createOne(orderPayload_1(attackerId)); }, { onResult: function (o) { if (o === null || o === void 0 ? void 0 : o.id)
152
- createdOrderIds.push(o.id); return (o === null || o === void 0 ? void 0 : o.enduserId) === attackerId; } })];
153
- case 11:
154
- _l.sent();
155
- return [4 /*yield*/, (0, testing_1.async_test)("staff can still create order on any enduser", function () { return sdk.api.enduser_orders.createOne(orderPayload_1(victimId)); }, { onResult: function (o) { if (o === null || o === void 0 ? void 0 : o.id)
156
- createdOrderIds.push(o.id); return (o === null || o === void 0 ? void 0 : o.enduserId) === victimId; } })
157
- // ============================================================
158
- // managed_content_records
159
- // ============================================================
160
- ];
161
- case 12:
162
- _l.sent();
203
+ ];
204
+ case 9:
205
+ // Positive control: enduser CAN create an observation on their OWN record
206
+ _k.sent();
207
+ // Positive control: staff CAN create an observation on any tenant enduser
208
+ return [4 /*yield*/, expect_result("staff can still create observation on any enduser", function () { return sdk_2.api.enduser_observations.createOne({
209
+ enduserId: victimId, category: 'vital-signs', status: 'final',
210
+ measurement: { unit: 'mmHg', value: 118 },
211
+ }); }, function (o) {
212
+ if (o === null || o === void 0 ? void 0 : o.id)
213
+ createdObservationIds.push(o.id);
214
+ return {
215
+ pass: (o === null || o === void 0 ? void 0 : o.enduserId) === victimId,
216
+ detail: "enduserId=".concat(describe(o === null || o === void 0 ? void 0 : o.enduserId), " (target=").concat(victimId, ")"),
217
+ };
218
+ })
163
219
  // ============================================================
164
- // managed_content_records
220
+ // enduser_orders
165
221
  // ============================================================
166
- return [4 /*yield*/, (0, testing_1.async_test)("enduser cannot create content with allowUnauthenticatedAccess", function () { return attackerSDK_1.api.managed_content_records.createOne({
167
- title: 'f0119 phishing', textContent: 'x', allowUnauthenticatedAccess: true,
168
- }); }, { shouldError: true, onError: function (e) { return e.message === "allowUnauthenticatedAccess cannot be set by endusers"; } })];
169
- case 13:
222
+ ];
223
+ case 10:
224
+ // Positive control: staff CAN create an observation on any tenant enduser
225
+ _k.sent();
226
+ orderPayload_1 = function (enduserId) { return ({
227
+ enduserId: enduserId,
228
+ externalId: "f0117-".concat(Date.now()), source: 'f0117-source',
229
+ title: 'f0117 order', status: 'pending',
230
+ }); };
231
+ return [4 /*yield*/, expect_rejection("enduser cannot create order on another enduser", function () { return attackerSDK_1.api.enduser_orders.createOne(orderPayload_1(victimId)); }, CROSS_ENDUSER_MESSAGE)];
232
+ case 11:
233
+ _k.sent();
234
+ return [4 /*yield*/, expect_result("enduser can still create order on own record", function () { return attackerSDK_1.api.enduser_orders.createOne(orderPayload_1(attackerId)); }, function (o) {
235
+ if (o === null || o === void 0 ? void 0 : o.id)
236
+ createdOrderIds.push(o.id);
237
+ return {
238
+ pass: (o === null || o === void 0 ? void 0 : o.enduserId) === attackerId,
239
+ detail: "enduserId=".concat(describe(o === null || o === void 0 ? void 0 : o.enduserId), " (self=").concat(attackerId, ")"),
240
+ };
241
+ })];
242
+ case 12:
243
+ _k.sent();
244
+ return [4 /*yield*/, expect_result("staff can still create order on any enduser", function () { return sdk_2.api.enduser_orders.createOne(orderPayload_1(victimId)); }, function (o) {
245
+ if (o === null || o === void 0 ? void 0 : o.id)
246
+ createdOrderIds.push(o.id);
247
+ return {
248
+ pass: (o === null || o === void 0 ? void 0 : o.enduserId) === victimId,
249
+ detail: "enduserId=".concat(describe(o === null || o === void 0 ? void 0 : o.enduserId), " (target=").concat(victimId, ")"),
250
+ };
251
+ })
170
252
  // ============================================================
171
253
  // managed_content_records
172
254
  // ============================================================
173
- _l.sent();
174
- return [4 /*yield*/, (0, testing_1.async_test)("enduser cannot create content with publicRead", function () { return attackerSDK_1.api.managed_content_records.createOne({
175
- title: 'f0119 broadcast', textContent: 'x', publicRead: true,
176
- }); }, { shouldError: true, onError: function (e) { return e.message === "publicRead cannot be set by endusers"; } })];
177
- case 14:
178
- _l.sent();
179
- return [4 /*yield*/, (0, testing_1.async_test)("enduser cannot create content bound to another enduser", function () { return attackerSDK_1.api.managed_content_records.createOne({
180
- title: 'f0119 cross', textContent: 'x', enduserId: victimId,
181
- }); }, { shouldError: true, onError: function (e) { return e.message === CROSS_ENDUSER_MESSAGE; } })];
182
- case 15:
183
- _l.sent();
184
- return [4 /*yield*/, (0, testing_1.async_test)("enduser can still create ordinary content", function () { return attackerSDK_1.api.managed_content_records.createOne({
185
- title: 'f0119 ok', textContent: 'hello',
186
- }); }, { onResult: function (o) { if (o === null || o === void 0 ? void 0 : o.id)
187
- createdContentIds.push(o.id); return !(o === null || o === void 0 ? void 0 : o.publicRead) && !(o === null || o === void 0 ? void 0 : o.allowUnauthenticatedAccess); } })];
188
- case 16:
189
- _l.sent();
190
- return [4 /*yield*/, (0, testing_1.async_test)("staff can still create public content", function () { return sdk.api.managed_content_records.createOne({
191
- title: 'f0119 staff public', textContent: 'x', publicRead: true,
192
- }); }, { onResult: function (o) { if (o === null || o === void 0 ? void 0 : o.id)
193
- createdContentIds.push(o.id); return (o === null || o === void 0 ? void 0 : o.publicRead) === true; } })
194
- // ============================================================
195
- // chat_rooms (enduserIds-only gate; staff userIds targeting is by-design)
196
- // ============================================================
197
- ];
198
- case 17:
199
- _l.sent();
200
- staffId_1 = sdk.userInfo.id;
201
- return [4 /*yield*/, (0, testing_1.async_test)("enduser cannot add another patient to a chat room (enduserIds)", function () { return attackerSDK_1.api.chat_rooms.createOne({
202
- type: 'internal', enduserIds: [attackerId, victimId], userIds: [staffId_1],
203
- }); }, { shouldError: true, onError: function (e) { return e.message === "enduserIds may only contain your own id for enduser session"; } })
204
- // Positive control: patient CAN create a room with care-team staff + self (intended feature)
205
- ];
206
- case 18:
207
- _l.sent();
208
- // Positive control: patient CAN create a room with care-team staff + self (intended feature)
209
- return [4 /*yield*/, (0, testing_1.async_test)("enduser can still create a room with staff + self", function () { return attackerSDK_1.api.chat_rooms.createOne({
210
- type: 'internal', enduserIds: [attackerId], userIds: [staffId_1],
211
- }); }, { onResult: function (o) { var _a, _b; if (o === null || o === void 0 ? void 0 : o.id)
212
- createdRoomIds.push(o.id); return ((_a = o === null || o === void 0 ? void 0 : o.enduserIds) === null || _a === void 0 ? void 0 : _a.length) === 1 && ((_b = o === null || o === void 0 ? void 0 : o.userIds) === null || _b === void 0 ? void 0 : _b.includes(staffId_1)); } })
213
- // Positive control: staff can still create multi-patient rooms
214
- ];
215
- case 19:
255
+ ];
256
+ case 13:
257
+ _k.sent();
258
+ // ============================================================
259
+ // managed_content_records
260
+ // ============================================================
261
+ return [4 /*yield*/, expect_rejection("enduser cannot create content with allowUnauthenticatedAccess", function () { return attackerSDK_1.api.managed_content_records.createOne({
262
+ title: 'f0119 phishing', textContent: 'x', allowUnauthenticatedAccess: true,
263
+ }); }, "allowUnauthenticatedAccess cannot be set by endusers")];
264
+ case 14:
265
+ // ============================================================
266
+ // managed_content_records
267
+ // ============================================================
268
+ _k.sent();
269
+ return [4 /*yield*/, expect_rejection("enduser cannot create content with publicRead", function () { return attackerSDK_1.api.managed_content_records.createOne({
270
+ title: 'f0119 broadcast', textContent: 'x', publicRead: true,
271
+ }); }, "publicRead cannot be set by endusers")];
272
+ case 15:
273
+ _k.sent();
274
+ return [4 /*yield*/, expect_rejection("enduser cannot create content bound to another enduser", function () { return attackerSDK_1.api.managed_content_records.createOne({
275
+ title: 'f0119 cross', textContent: 'x', enduserId: victimId,
276
+ }); }, CROSS_ENDUSER_MESSAGE)];
277
+ case 16:
278
+ _k.sent();
279
+ return [4 /*yield*/, expect_result("enduser can still create ordinary content", function () { return attackerSDK_1.api.managed_content_records.createOne({
280
+ title: 'f0119 ok', textContent: 'hello',
281
+ }); }, function (o) {
282
+ if (o === null || o === void 0 ? void 0 : o.id)
283
+ createdContentIds.push(o.id);
284
+ return {
285
+ pass: !(o === null || o === void 0 ? void 0 : o.publicRead) && !(o === null || o === void 0 ? void 0 : o.allowUnauthenticatedAccess),
286
+ detail: "publicRead=".concat(describe(o === null || o === void 0 ? void 0 : o.publicRead), " ")
287
+ + "allowUnauthenticatedAccess=".concat(describe(o === null || o === void 0 ? void 0 : o.allowUnauthenticatedAccess), " (want both unset)"),
288
+ };
289
+ })];
290
+ case 17:
291
+ _k.sent();
292
+ return [4 /*yield*/, expect_result("staff can still create public content", function () { return sdk_2.api.managed_content_records.createOne({
293
+ title: 'f0119 staff public', textContent: 'x', publicRead: true,
294
+ }); }, function (o) {
295
+ if (o === null || o === void 0 ? void 0 : o.id)
296
+ createdContentIds.push(o.id);
297
+ return {
298
+ pass: (o === null || o === void 0 ? void 0 : o.publicRead) === true,
299
+ detail: "publicRead=".concat(describe(o === null || o === void 0 ? void 0 : o.publicRead), " (want true)"),
300
+ };
301
+ })
302
+ // ============================================================
303
+ // chat_rooms (enduserIds-only gate; staff userIds targeting is by-design)
304
+ // ============================================================
305
+ ];
306
+ case 18:
307
+ _k.sent();
308
+ staffId_1 = sdk_2.userInfo.id;
309
+ return [4 /*yield*/, expect_rejection("enduser cannot add another patient to a chat room (enduserIds)", function () { return attackerSDK_1.api.chat_rooms.createOne({
310
+ type: 'internal', enduserIds: [attackerId, victimId], userIds: [staffId_1],
311
+ }); }, "enduserIds may only contain your own id for enduser session")
216
312
  // Positive control: patient CAN create a room with care-team staff + self (intended feature)
217
- _l.sent();
313
+ ];
314
+ case 19:
315
+ _k.sent();
316
+ // Positive control: patient CAN create a room with care-team staff + self (intended feature)
317
+ return [4 /*yield*/, expect_result("enduser can still create a room with staff + self", function () { return attackerSDK_1.api.chat_rooms.createOne({
318
+ type: 'internal', enduserIds: [attackerId], userIds: [staffId_1],
319
+ }); }, function (o) {
320
+ var _a, _b, _c, _d;
321
+ if (o === null || o === void 0 ? void 0 : o.id)
322
+ createdRoomIds.push(o.id);
323
+ return {
324
+ pass: ((_a = o === null || o === void 0 ? void 0 : o.enduserIds) === null || _a === void 0 ? void 0 : _a.length) === 1 && ((_b = o === null || o === void 0 ? void 0 : o.userIds) === null || _b === void 0 ? void 0 : _b.includes(staffId_1)),
325
+ detail: "enduserIds=".concat(describe((_c = o === null || o === void 0 ? void 0 : o.enduserIds) === null || _c === void 0 ? void 0 : _c.length), " userIds include staff=")
326
+ + "".concat(describe(!!((_d = o === null || o === void 0 ? void 0 : o.userIds) === null || _d === void 0 ? void 0 : _d.includes(staffId_1))), " (want 1 and true)"),
327
+ };
328
+ })
218
329
  // Positive control: staff can still create multi-patient rooms
219
- return [4 /*yield*/, (0, testing_1.async_test)("staff can still create a room with multiple endusers", function () { return sdk.api.chat_rooms.createOne({
220
- type: 'internal', enduserIds: [attackerId, victimId], userIds: [staffId_1],
221
- }); }, { onResult: function (o) { var _a; if (o === null || o === void 0 ? void 0 : o.id)
222
- createdRoomIds.push(o.id); return ((_a = o === null || o === void 0 ? void 0 : o.enduserIds) === null || _a === void 0 ? void 0 : _a.length) === 2; } })];
223
- case 20:
224
- // Positive control: staff can still create multi-patient rooms
225
- _l.sent();
226
- return [3 /*break*/, 54];
227
- case 21:
228
- _i = 0, createdRoomIds_1 = createdRoomIds;
229
- _l.label = 22;
230
- case 22:
231
- if (!(_i < createdRoomIds_1.length)) return [3 /*break*/, 27];
232
- id = createdRoomIds_1[_i];
233
- _l.label = 23;
234
- case 23:
235
- _l.trys.push([23, 25, , 26]);
236
- return [4 /*yield*/, sdk.api.chat_rooms.deleteOne(id)];
237
- case 24:
238
- _l.sent();
239
- return [3 /*break*/, 26];
240
- case 25:
241
- _b = _l.sent();
242
- return [3 /*break*/, 26];
243
- case 26:
244
- _i++;
245
- return [3 /*break*/, 22];
246
- case 27:
247
- _c = 0, createdContentIds_1 = createdContentIds;
248
- _l.label = 28;
249
- case 28:
250
- if (!(_c < createdContentIds_1.length)) return [3 /*break*/, 33];
251
- id = createdContentIds_1[_c];
252
- _l.label = 29;
253
- case 29:
254
- _l.trys.push([29, 31, , 32]);
255
- return [4 /*yield*/, sdk.api.managed_content_records.deleteOne(id)];
256
- case 30:
257
- _l.sent();
258
- return [3 /*break*/, 32];
259
- case 31:
260
- _d = _l.sent();
261
- return [3 /*break*/, 32];
262
- case 32:
263
- _c++;
264
- return [3 /*break*/, 28];
265
- case 33:
266
- _e = 0, createdObservationIds_1 = createdObservationIds;
267
- _l.label = 34;
268
- case 34:
269
- if (!(_e < createdObservationIds_1.length)) return [3 /*break*/, 39];
270
- id = createdObservationIds_1[_e];
271
- _l.label = 35;
272
- case 35:
273
- _l.trys.push([35, 37, , 38]);
274
- return [4 /*yield*/, sdk.api.enduser_observations.deleteOne(id)];
275
- case 36:
276
- _l.sent();
277
- return [3 /*break*/, 38];
278
- case 37:
279
- _f = _l.sent();
280
- return [3 /*break*/, 38];
281
- case 38:
282
- _e++;
283
- return [3 /*break*/, 34];
284
- case 39:
285
- _g = 0, createdOrderIds_1 = createdOrderIds;
286
- _l.label = 40;
287
- case 40:
288
- if (!(_g < createdOrderIds_1.length)) return [3 /*break*/, 45];
289
- id = createdOrderIds_1[_g];
290
- _l.label = 41;
291
- case 41:
292
- _l.trys.push([41, 43, , 44]);
293
- return [4 /*yield*/, sdk.api.enduser_orders.deleteOne(id)];
294
- case 42:
295
- _l.sent();
296
- return [3 /*break*/, 44];
297
- case 43:
298
- _h = _l.sent();
299
- return [3 /*break*/, 44];
300
- case 44:
301
- _g++;
302
- return [3 /*break*/, 40];
303
- case 45:
304
- if (!attackerId) return [3 /*break*/, 49];
305
- _l.label = 46;
306
- case 46:
307
- _l.trys.push([46, 48, , 49]);
308
- return [4 /*yield*/, sdk.api.endusers.deleteOne(attackerId)];
309
- case 47:
310
- _l.sent();
311
- return [3 /*break*/, 49];
312
- case 48:
313
- _j = _l.sent();
314
- return [3 /*break*/, 49];
315
- case 49:
316
- if (!victimId) return [3 /*break*/, 53];
317
- _l.label = 50;
318
- case 50:
319
- _l.trys.push([50, 52, , 53]);
320
- return [4 /*yield*/, sdk.api.endusers.deleteOne(victimId)];
321
- case 51:
322
- _l.sent();
323
- return [3 /*break*/, 53];
324
- case 52:
325
- _k = _l.sent();
326
- return [3 /*break*/, 53];
327
- case 53: return [7 /*endfinally*/];
328
- case 54: return [2 /*return*/];
329
- }
330
- });
330
+ ];
331
+ case 20:
332
+ // Positive control: patient CAN create a room with care-team staff + self (intended feature)
333
+ _k.sent();
334
+ // Positive control: staff can still create multi-patient rooms
335
+ return [4 /*yield*/, expect_result("staff can still create a room with multiple endusers", function () { return sdk_2.api.chat_rooms.createOne({
336
+ type: 'internal', enduserIds: [attackerId, victimId], userIds: [staffId_1],
337
+ }); }, function (o) {
338
+ var _a, _b;
339
+ if (o === null || o === void 0 ? void 0 : o.id)
340
+ createdRoomIds.push(o.id);
341
+ return {
342
+ pass: ((_a = o === null || o === void 0 ? void 0 : o.enduserIds) === null || _a === void 0 ? void 0 : _a.length) === 2,
343
+ detail: "enduserIds=".concat(describe((_b = o === null || o === void 0 ? void 0 : o.enduserIds) === null || _b === void 0 ? void 0 : _b.length), " (want 2)"),
344
+ };
345
+ })];
346
+ case 21:
347
+ // Positive control: staff can still create multi-patient rooms
348
+ _k.sent();
349
+ return [3 /*break*/, 58];
350
+ case 22:
351
+ if (!tenant) return [3 /*break*/, 57];
352
+ sdk = tenant.sdk;
353
+ _i = 0, createdRoomIds_1 = createdRoomIds;
354
+ _k.label = 23;
355
+ case 23:
356
+ if (!(_i < createdRoomIds_1.length)) return [3 /*break*/, 28];
357
+ id = createdRoomIds_1[_i];
358
+ _k.label = 24;
359
+ case 24:
360
+ _k.trys.push([24, 26, , 27]);
361
+ return [4 /*yield*/, sdk.api.chat_rooms.deleteOne(id)];
362
+ case 25:
363
+ _k.sent();
364
+ return [3 /*break*/, 27];
365
+ case 26:
366
+ _a = _k.sent();
367
+ return [3 /*break*/, 27];
368
+ case 27:
369
+ _i++;
370
+ return [3 /*break*/, 23];
371
+ case 28:
372
+ _b = 0, createdContentIds_1 = createdContentIds;
373
+ _k.label = 29;
374
+ case 29:
375
+ if (!(_b < createdContentIds_1.length)) return [3 /*break*/, 34];
376
+ id = createdContentIds_1[_b];
377
+ _k.label = 30;
378
+ case 30:
379
+ _k.trys.push([30, 32, , 33]);
380
+ return [4 /*yield*/, sdk.api.managed_content_records.deleteOne(id)];
381
+ case 31:
382
+ _k.sent();
383
+ return [3 /*break*/, 33];
384
+ case 32:
385
+ _c = _k.sent();
386
+ return [3 /*break*/, 33];
387
+ case 33:
388
+ _b++;
389
+ return [3 /*break*/, 29];
390
+ case 34:
391
+ _d = 0, createdObservationIds_1 = createdObservationIds;
392
+ _k.label = 35;
393
+ case 35:
394
+ if (!(_d < createdObservationIds_1.length)) return [3 /*break*/, 40];
395
+ id = createdObservationIds_1[_d];
396
+ _k.label = 36;
397
+ case 36:
398
+ _k.trys.push([36, 38, , 39]);
399
+ return [4 /*yield*/, sdk.api.enduser_observations.deleteOne(id)];
400
+ case 37:
401
+ _k.sent();
402
+ return [3 /*break*/, 39];
403
+ case 38:
404
+ _e = _k.sent();
405
+ return [3 /*break*/, 39];
406
+ case 39:
407
+ _d++;
408
+ return [3 /*break*/, 35];
409
+ case 40:
410
+ _f = 0, createdOrderIds_1 = createdOrderIds;
411
+ _k.label = 41;
412
+ case 41:
413
+ if (!(_f < createdOrderIds_1.length)) return [3 /*break*/, 46];
414
+ id = createdOrderIds_1[_f];
415
+ _k.label = 42;
416
+ case 42:
417
+ _k.trys.push([42, 44, , 45]);
418
+ return [4 /*yield*/, sdk.api.enduser_orders.deleteOne(id)];
419
+ case 43:
420
+ _k.sent();
421
+ return [3 /*break*/, 45];
422
+ case 44:
423
+ _g = _k.sent();
424
+ return [3 /*break*/, 45];
425
+ case 45:
426
+ _f++;
427
+ return [3 /*break*/, 41];
428
+ case 46:
429
+ if (!attackerId) return [3 /*break*/, 50];
430
+ _k.label = 47;
431
+ case 47:
432
+ _k.trys.push([47, 49, , 50]);
433
+ return [4 /*yield*/, sdk.api.endusers.deleteOne(attackerId)];
434
+ case 48:
435
+ _k.sent();
436
+ return [3 /*break*/, 50];
437
+ case 49:
438
+ _h = _k.sent();
439
+ return [3 /*break*/, 50];
440
+ case 50:
441
+ if (!victimId) return [3 /*break*/, 54];
442
+ _k.label = 51;
443
+ case 51:
444
+ _k.trys.push([51, 53, , 54]);
445
+ return [4 /*yield*/, sdk.api.endusers.deleteOne(victimId)];
446
+ case 52:
447
+ _k.sent();
448
+ return [3 /*break*/, 54];
449
+ case 53:
450
+ _j = _k.sent();
451
+ return [3 /*break*/, 54];
452
+ case 54:
453
+ _k.trys.push([54, 56, , 57]);
454
+ return [4 /*yield*/, tenant.teardown()];
455
+ case 55:
456
+ _k.sent();
457
+ return [3 /*break*/, 57];
458
+ case 56:
459
+ e_1 = _k.sent();
460
+ console.error('teardown failed', e_1);
461
+ return [3 /*break*/, 57];
462
+ case 57: return [7 /*endfinally*/];
463
+ case 58: return [2 /*return*/, checks];
464
+ }
331
465
  });
332
- };
466
+ }); };
467
+ exports.enduser_cross_create_checks = enduser_cross_create_checks;
468
+ /** Asserting wrapper, for standalone runs. */
469
+ var enduser_cross_create_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
470
+ var _a, _b;
471
+ return __generator(this, function (_c) {
472
+ switch (_c.label) {
473
+ case 0:
474
+ _a = setup_isolated_1.assert_checks;
475
+ _b = ['Enduser cross-enduser create gates'];
476
+ return [4 /*yield*/, (0, exports.enduser_cross_create_checks)()];
477
+ case 1:
478
+ _a.apply(void 0, _b.concat([_c.sent()]));
479
+ return [2 /*return*/];
480
+ }
481
+ });
482
+ }); };
333
483
  exports.enduser_cross_create_tests = enduser_cross_create_tests;
484
+ /** Enrolls this suite in the auto-discovered parallel pool — see run_discovered_isolated_suites. */
485
+ exports.ISOLATED_SUITE = {
486
+ name: 'Enduser cross-enduser create gates',
487
+ run: exports.enduser_cross_create_checks,
488
+ };
334
489
  // Allow running this test file independently
335
490
  if (require.main === module) {
336
491
  console.log("\uD83C\uDF10 Using API URL: ".concat(host));
337
- var sdk_2 = new sdk_1.Session({ host: host });
338
- var sdkNonAdmin_1 = new sdk_1.Session({ host: host });
339
- var runTests = function () { return __awaiter(void 0, void 0, void 0, function () {
340
- return __generator(this, function (_a) {
341
- switch (_a.label) {
342
- case 0: return [4 /*yield*/, (0, setup_1.setup_tests)(sdk_2, sdkNonAdmin_1)];
343
- case 1:
344
- _a.sent();
345
- return [4 /*yield*/, (0, exports.enduser_cross_create_tests)({ sdk: sdk_2, sdkNonAdmin: sdkNonAdmin_1 })];
346
- case 2:
347
- _a.sent();
348
- return [2 /*return*/];
349
- }
350
- });
351
- }); };
352
- runTests()
492
+ (0, exports.enduser_cross_create_tests)()
353
493
  .then(function () {
354
494
  console.log("✅ enduser cross-create test suite completed successfully");
355
495
  process.exit(0);