@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
@@ -35,11 +35,10 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
35
35
  }
36
36
  };
37
37
  require('source-map-support').install();
38
- import { Session, EnduserSession } from "../../../sdk";
39
- import { async_test, log_header, } from "@tellescope/testing";
40
- import { setup_tests } from "../../setup";
38
+ import { EnduserSession } from "../../../sdk";
39
+ import { assert_checks, setup_isolated_tenant, } from "../../setup_isolated";
41
40
  var host = process.env.API_URL || 'http://localhost:8080';
42
- var businessId = process.env.TEST_BUSINESS_ID || '60398b1131a295e64f084ff6';
41
+ var RAND = function () { return Math.random().toString(36).slice(2, 10); };
43
42
  var ENDUSER_PASSWORD = 'F0116TestPassword!123';
44
43
  var CROSS_ENDUSER_MESSAGE = "enduserId does not match creator id for enduser session";
45
44
  /**
@@ -56,296 +55,436 @@ var CROSS_ENDUSER_MESSAGE = "enduserId does not match creator id for enduser ses
56
55
  *
57
56
  * Methodology: each section asserts BOTH the exploit-is-blocked case AND that the
58
57
  * legitimate path (self-create + staff-create) still works.
58
+ *
59
+ * Runs on its own provisioned tenant, so the patient session's businessId comes from the tenant
60
+ * rather than a TEST_BUSINESS_ID env var with a hardcoded shared-org fallback. Checks are collected
61
+ * and returned rather than asserted inline: `assert` calls process.exit, which would skip this
62
+ * suite's `finally` cleanup and, in the parallel pool, every other in-flight suite's teardown.
59
63
  */
60
- export var enduser_cross_create_tests = function (_a) {
61
- var sdk = _a.sdk;
62
- return __awaiter(void 0, void 0, void 0, function () {
63
- 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;
64
- return __generator(this, function (_l) {
65
- switch (_l.label) {
66
- case 0:
67
- log_header("enduser cross-enduser create gates");
68
- createdObservationIds = [];
69
- createdOrderIds = [];
70
- createdContentIds = [];
71
- createdRoomIds = [];
72
- _l.label = 1;
73
- case 1:
74
- _l.trys.push([1, , 21, 54]);
75
- attackerEmail = "f0116-attacker-".concat(Date.now(), "@example.com");
76
- victimEmail = "f0116-victim-".concat(Date.now(), "@example.com");
77
- return [4 /*yield*/, sdk.api.endusers.createOne({ email: attackerEmail, fname: 'F0116', lname: 'Attacker' })];
78
- case 2:
79
- attacker = _l.sent();
80
- attackerId = attacker.id;
81
- return [4 /*yield*/, sdk.api.endusers.createOne({ email: victimEmail, fname: 'F0116', lname: 'Victim' })];
82
- case 3:
83
- victim = _l.sent();
84
- victimId = victim.id;
85
- return [4 /*yield*/, sdk.api.endusers.set_password({ id: attacker.id, password: ENDUSER_PASSWORD })];
86
- case 4:
87
- _l.sent();
88
- attackerSDK_1 = new EnduserSession({ host: host, businessId: businessId });
89
- return [4 /*yield*/, attackerSDK_1.authenticate(attackerEmail, ENDUSER_PASSWORD)
90
- // ============================================================
91
- // enduser_observations
92
- // ============================================================
93
- ];
94
- case 5:
95
- _l.sent();
64
+ export var enduser_cross_create_checks = function () { return __awaiter(void 0, void 0, void 0, function () {
65
+ var checks, record, describe, errorMessage, expect_rejection, expect_result, tenant, attackerId, victimId, createdObservationIds, createdOrderIds, createdContentIds, createdRoomIds, sdk_1, 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;
66
+ return __generator(this, function (_k) {
67
+ switch (_k.label) {
68
+ case 0:
69
+ checks = [];
70
+ record = function (label, pass, detail) { return checks.push({ label: label, pass: pass, detail: detail }); };
71
+ describe = function (value) {
72
+ if (value === undefined || value === null)
73
+ return String(value);
74
+ var stringified = JSON.stringify(value);
75
+ return stringified === undefined ? String(value) : stringified;
76
+ };
77
+ errorMessage = function (e) { return (typeof (e === null || e === void 0 ? void 0 : e.message) === 'string' && e.message !== '' ? e.message : describe(e)); };
78
+ expect_rejection = function (label, fn, expectedMessage) { return __awaiter(void 0, void 0, void 0, function () {
79
+ var created, error, rejected, e_2, message;
80
+ return __generator(this, function (_a) {
81
+ switch (_a.label) {
82
+ case 0:
83
+ rejected = false;
84
+ _a.label = 1;
85
+ case 1:
86
+ _a.trys.push([1, 3, , 4]);
87
+ return [4 /*yield*/, fn()];
88
+ case 2:
89
+ created = _a.sent();
90
+ return [3 /*break*/, 4];
91
+ case 3:
92
+ e_2 = _a.sent();
93
+ rejected = true;
94
+ error = e_2;
95
+ return [3 /*break*/, 4];
96
+ case 4:
97
+ if (!rejected) {
98
+ // id only — the created record carries the patient linkage this check is about, and the table
99
+ // prints on every run
100
+ record(label, false, "NOT REJECTED: created ".concat(describe(created === null || created === void 0 ? void 0 : created.id), " (expected \"").concat(expectedMessage, "\")"));
101
+ return [2 /*return*/];
102
+ }
103
+ message = errorMessage(error);
104
+ record(label, message === expectedMessage, message === expectedMessage
105
+ ? "rejected: ".concat(message)
106
+ : "rejected with the WRONG error: ".concat(message, " (expected \"").concat(expectedMessage, "\")"));
107
+ return [2 /*return*/];
108
+ }
109
+ });
110
+ }); };
111
+ expect_result = function (label, fn, inspect) { return __awaiter(void 0, void 0, void 0, function () {
112
+ var _a, pass, detail, _b, e_3;
113
+ return __generator(this, function (_c) {
114
+ switch (_c.label) {
115
+ case 0:
116
+ _c.trys.push([0, 2, , 3]);
117
+ _b = inspect;
118
+ return [4 /*yield*/, fn()];
119
+ case 1:
120
+ _a = _b.apply(void 0, [_c.sent()]), pass = _a.pass, detail = _a.detail;
121
+ record(label, pass, detail);
122
+ return [3 /*break*/, 3];
123
+ case 2:
124
+ e_3 = _c.sent();
125
+ record(label, false, "rejected instead of resolving: ".concat(errorMessage(e_3)));
126
+ return [3 /*break*/, 3];
127
+ case 3: return [2 /*return*/];
128
+ }
129
+ });
130
+ }); };
131
+ createdObservationIds = [];
132
+ createdOrderIds = [];
133
+ createdContentIds = [];
134
+ createdRoomIds = [];
135
+ _k.label = 1;
136
+ case 1:
137
+ _k.trys.push([1, , 22, 58]);
138
+ return [4 /*yield*/, setup_isolated_tenant({
139
+ name: "Enduser cross-enduser create gates ".concat(RAND()),
140
+ users: [{ isAdmin: true }],
141
+ apiKeys: 0,
142
+ })];
143
+ case 2:
144
+ tenant = _k.sent();
145
+ sdk_1 = tenant.sdk;
146
+ attackerEmail = "f0116-attacker-".concat(Date.now(), "@example.com");
147
+ victimEmail = "f0116-victim-".concat(Date.now(), "@example.com");
148
+ return [4 /*yield*/, sdk_1.api.endusers.createOne({ email: attackerEmail, fname: 'F0116', lname: 'Attacker' })];
149
+ case 3:
150
+ attacker = _k.sent();
151
+ attackerId = attacker.id;
152
+ return [4 /*yield*/, sdk_1.api.endusers.createOne({ email: victimEmail, fname: 'F0116', lname: 'Victim' })];
153
+ case 4:
154
+ victim = _k.sent();
155
+ victimId = victim.id;
156
+ return [4 /*yield*/, sdk_1.api.endusers.set_password({ id: attacker.id, password: ENDUSER_PASSWORD })];
157
+ case 5:
158
+ _k.sent();
159
+ attackerSDK_1 = new EnduserSession({ host: host, businessId: tenant.businessId });
160
+ return [4 /*yield*/, attackerSDK_1.authenticate(attackerEmail, ENDUSER_PASSWORD)
96
161
  // ============================================================
97
162
  // enduser_observations
98
163
  // ============================================================
99
- return [4 /*yield*/, async_test("enduser cannot create observation on another enduser (createOne)", function () { return attackerSDK_1.api.enduser_observations.createOne({
164
+ ];
165
+ case 6:
166
+ _k.sent();
167
+ // ============================================================
168
+ // enduser_observations
169
+ // ============================================================
170
+ return [4 /*yield*/, expect_rejection("enduser cannot create observation on another enduser (createOne)", function () { return attackerSDK_1.api.enduser_observations.createOne({
171
+ enduserId: victimId, category: 'vital-signs', status: 'final',
172
+ measurement: { unit: 'mmHg', value: 220 },
173
+ }); }, CROSS_ENDUSER_MESSAGE)];
174
+ case 7:
175
+ // ============================================================
176
+ // enduser_observations
177
+ // ============================================================
178
+ _k.sent();
179
+ return [4 /*yield*/, expect_rejection("enduser cannot create observation on another enduser (createMany)", function () { return attackerSDK_1.api.enduser_observations.createSome([{
100
180
  enduserId: victimId, category: 'vital-signs', status: 'final',
101
181
  measurement: { unit: 'mmHg', value: 220 },
102
- }); }, { shouldError: true, onError: function (e) { return e.message === CROSS_ENDUSER_MESSAGE; } })];
103
- case 6:
104
- // ============================================================
105
- // enduser_observations
106
- // ============================================================
107
- _l.sent();
108
- return [4 /*yield*/, async_test("enduser cannot create observation on another enduser (createMany)", function () { return attackerSDK_1.api.enduser_observations.createSome([{
109
- enduserId: victimId, category: 'vital-signs', status: 'final',
110
- measurement: { unit: 'mmHg', value: 220 },
111
- }]); }, { shouldError: true, onError: function (e) { return e.message === CROSS_ENDUSER_MESSAGE; } })
112
- // Positive control: enduser CAN create an observation on their OWN record
113
- ];
114
- case 7:
115
- _l.sent();
182
+ }]); }, CROSS_ENDUSER_MESSAGE)
116
183
  // Positive control: enduser CAN create an observation on their OWN record
117
- return [4 /*yield*/, async_test("enduser can still create observation on own record", function () { return attackerSDK_1.api.enduser_observations.createOne({
118
- enduserId: attackerId, category: 'vital-signs', status: 'final',
119
- measurement: { unit: 'mmHg', value: 120 },
120
- }); }, { onResult: function (o) { if (o === null || o === void 0 ? void 0 : o.id)
121
- createdObservationIds.push(o.id); return (o === null || o === void 0 ? void 0 : o.enduserId) === attackerId; } })
122
- // Positive control: staff CAN create an observation on any tenant enduser
123
- ];
124
- case 8:
125
- // Positive control: enduser CAN create an observation on their OWN record
126
- _l.sent();
127
- // Positive control: staff CAN create an observation on any tenant enduser
128
- return [4 /*yield*/, async_test("staff can still create observation on any enduser", function () { return sdk.api.enduser_observations.createOne({
129
- enduserId: victimId, category: 'vital-signs', status: 'final',
130
- measurement: { unit: 'mmHg', value: 118 },
131
- }); }, { onResult: function (o) { if (o === null || o === void 0 ? void 0 : o.id)
132
- createdObservationIds.push(o.id); return (o === null || o === void 0 ? void 0 : o.enduserId) === victimId; } })
133
- // ============================================================
134
- // enduser_orders
135
- // ============================================================
136
- ];
137
- case 9:
184
+ ];
185
+ case 8:
186
+ _k.sent();
187
+ // Positive control: enduser CAN create an observation on their OWN record
188
+ return [4 /*yield*/, expect_result("enduser can still create observation on own record", function () { return attackerSDK_1.api.enduser_observations.createOne({
189
+ enduserId: attackerId, category: 'vital-signs', status: 'final',
190
+ measurement: { unit: 'mmHg', value: 120 },
191
+ }); }, function (o) {
192
+ if (o === null || o === void 0 ? void 0 : o.id)
193
+ createdObservationIds.push(o.id);
194
+ return {
195
+ pass: (o === null || o === void 0 ? void 0 : o.enduserId) === attackerId,
196
+ detail: "enduserId=".concat(describe(o === null || o === void 0 ? void 0 : o.enduserId), " (self=").concat(attackerId, ")"),
197
+ };
198
+ })
138
199
  // Positive control: staff CAN create an observation on any tenant enduser
139
- _l.sent();
140
- orderPayload_1 = function (enduserId) { return ({
141
- enduserId: enduserId,
142
- externalId: "f0117-".concat(Date.now()), source: 'f0117-source',
143
- title: 'f0117 order', status: 'pending',
144
- }); };
145
- return [4 /*yield*/, 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; } })];
146
- case 10:
147
- _l.sent();
148
- return [4 /*yield*/, 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)
149
- createdOrderIds.push(o.id); return (o === null || o === void 0 ? void 0 : o.enduserId) === attackerId; } })];
150
- case 11:
151
- _l.sent();
152
- return [4 /*yield*/, 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)
153
- createdOrderIds.push(o.id); return (o === null || o === void 0 ? void 0 : o.enduserId) === victimId; } })
154
- // ============================================================
155
- // managed_content_records
156
- // ============================================================
157
- ];
158
- case 12:
159
- _l.sent();
200
+ ];
201
+ case 9:
202
+ // Positive control: enduser CAN create an observation on their OWN record
203
+ _k.sent();
204
+ // Positive control: staff CAN create an observation on any tenant enduser
205
+ return [4 /*yield*/, expect_result("staff can still create observation on any enduser", function () { return sdk_1.api.enduser_observations.createOne({
206
+ enduserId: victimId, category: 'vital-signs', status: 'final',
207
+ measurement: { unit: 'mmHg', value: 118 },
208
+ }); }, function (o) {
209
+ if (o === null || o === void 0 ? void 0 : o.id)
210
+ createdObservationIds.push(o.id);
211
+ return {
212
+ pass: (o === null || o === void 0 ? void 0 : o.enduserId) === victimId,
213
+ detail: "enduserId=".concat(describe(o === null || o === void 0 ? void 0 : o.enduserId), " (target=").concat(victimId, ")"),
214
+ };
215
+ })
160
216
  // ============================================================
161
- // managed_content_records
217
+ // enduser_orders
162
218
  // ============================================================
163
- return [4 /*yield*/, async_test("enduser cannot create content with allowUnauthenticatedAccess", function () { return attackerSDK_1.api.managed_content_records.createOne({
164
- title: 'f0119 phishing', textContent: 'x', allowUnauthenticatedAccess: true,
165
- }); }, { shouldError: true, onError: function (e) { return e.message === "allowUnauthenticatedAccess cannot be set by endusers"; } })];
166
- case 13:
219
+ ];
220
+ case 10:
221
+ // Positive control: staff CAN create an observation on any tenant enduser
222
+ _k.sent();
223
+ orderPayload_1 = function (enduserId) { return ({
224
+ enduserId: enduserId,
225
+ externalId: "f0117-".concat(Date.now()), source: 'f0117-source',
226
+ title: 'f0117 order', status: 'pending',
227
+ }); };
228
+ 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)];
229
+ case 11:
230
+ _k.sent();
231
+ 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) {
232
+ if (o === null || o === void 0 ? void 0 : o.id)
233
+ createdOrderIds.push(o.id);
234
+ return {
235
+ pass: (o === null || o === void 0 ? void 0 : o.enduserId) === attackerId,
236
+ detail: "enduserId=".concat(describe(o === null || o === void 0 ? void 0 : o.enduserId), " (self=").concat(attackerId, ")"),
237
+ };
238
+ })];
239
+ case 12:
240
+ _k.sent();
241
+ return [4 /*yield*/, expect_result("staff can still create order on any enduser", function () { return sdk_1.api.enduser_orders.createOne(orderPayload_1(victimId)); }, function (o) {
242
+ if (o === null || o === void 0 ? void 0 : o.id)
243
+ createdOrderIds.push(o.id);
244
+ return {
245
+ pass: (o === null || o === void 0 ? void 0 : o.enduserId) === victimId,
246
+ detail: "enduserId=".concat(describe(o === null || o === void 0 ? void 0 : o.enduserId), " (target=").concat(victimId, ")"),
247
+ };
248
+ })
167
249
  // ============================================================
168
250
  // managed_content_records
169
251
  // ============================================================
170
- _l.sent();
171
- return [4 /*yield*/, async_test("enduser cannot create content with publicRead", function () { return attackerSDK_1.api.managed_content_records.createOne({
172
- title: 'f0119 broadcast', textContent: 'x', publicRead: true,
173
- }); }, { shouldError: true, onError: function (e) { return e.message === "publicRead cannot be set by endusers"; } })];
174
- case 14:
175
- _l.sent();
176
- return [4 /*yield*/, async_test("enduser cannot create content bound to another enduser", function () { return attackerSDK_1.api.managed_content_records.createOne({
177
- title: 'f0119 cross', textContent: 'x', enduserId: victimId,
178
- }); }, { shouldError: true, onError: function (e) { return e.message === CROSS_ENDUSER_MESSAGE; } })];
179
- case 15:
180
- _l.sent();
181
- return [4 /*yield*/, async_test("enduser can still create ordinary content", function () { return attackerSDK_1.api.managed_content_records.createOne({
182
- title: 'f0119 ok', textContent: 'hello',
183
- }); }, { onResult: function (o) { if (o === null || o === void 0 ? void 0 : o.id)
184
- createdContentIds.push(o.id); return !(o === null || o === void 0 ? void 0 : o.publicRead) && !(o === null || o === void 0 ? void 0 : o.allowUnauthenticatedAccess); } })];
185
- case 16:
186
- _l.sent();
187
- return [4 /*yield*/, async_test("staff can still create public content", function () { return sdk.api.managed_content_records.createOne({
188
- title: 'f0119 staff public', textContent: 'x', publicRead: true,
189
- }); }, { onResult: function (o) { if (o === null || o === void 0 ? void 0 : o.id)
190
- createdContentIds.push(o.id); return (o === null || o === void 0 ? void 0 : o.publicRead) === true; } })
191
- // ============================================================
192
- // chat_rooms (enduserIds-only gate; staff userIds targeting is by-design)
193
- // ============================================================
194
- ];
195
- case 17:
196
- _l.sent();
197
- staffId_1 = sdk.userInfo.id;
198
- return [4 /*yield*/, async_test("enduser cannot add another patient to a chat room (enduserIds)", function () { return attackerSDK_1.api.chat_rooms.createOne({
199
- type: 'internal', enduserIds: [attackerId, victimId], userIds: [staffId_1],
200
- }); }, { shouldError: true, onError: function (e) { return e.message === "enduserIds may only contain your own id for enduser session"; } })
201
- // Positive control: patient CAN create a room with care-team staff + self (intended feature)
202
- ];
203
- case 18:
204
- _l.sent();
205
- // Positive control: patient CAN create a room with care-team staff + self (intended feature)
206
- return [4 /*yield*/, async_test("enduser can still create a room with staff + self", function () { return attackerSDK_1.api.chat_rooms.createOne({
207
- type: 'internal', enduserIds: [attackerId], userIds: [staffId_1],
208
- }); }, { onResult: function (o) { var _a, _b; if (o === null || o === void 0 ? void 0 : o.id)
209
- 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)); } })
210
- // Positive control: staff can still create multi-patient rooms
211
- ];
212
- case 19:
252
+ ];
253
+ case 13:
254
+ _k.sent();
255
+ // ============================================================
256
+ // managed_content_records
257
+ // ============================================================
258
+ return [4 /*yield*/, expect_rejection("enduser cannot create content with allowUnauthenticatedAccess", function () { return attackerSDK_1.api.managed_content_records.createOne({
259
+ title: 'f0119 phishing', textContent: 'x', allowUnauthenticatedAccess: true,
260
+ }); }, "allowUnauthenticatedAccess cannot be set by endusers")];
261
+ case 14:
262
+ // ============================================================
263
+ // managed_content_records
264
+ // ============================================================
265
+ _k.sent();
266
+ return [4 /*yield*/, expect_rejection("enduser cannot create content with publicRead", function () { return attackerSDK_1.api.managed_content_records.createOne({
267
+ title: 'f0119 broadcast', textContent: 'x', publicRead: true,
268
+ }); }, "publicRead cannot be set by endusers")];
269
+ case 15:
270
+ _k.sent();
271
+ return [4 /*yield*/, expect_rejection("enduser cannot create content bound to another enduser", function () { return attackerSDK_1.api.managed_content_records.createOne({
272
+ title: 'f0119 cross', textContent: 'x', enduserId: victimId,
273
+ }); }, CROSS_ENDUSER_MESSAGE)];
274
+ case 16:
275
+ _k.sent();
276
+ return [4 /*yield*/, expect_result("enduser can still create ordinary content", function () { return attackerSDK_1.api.managed_content_records.createOne({
277
+ title: 'f0119 ok', textContent: 'hello',
278
+ }); }, function (o) {
279
+ if (o === null || o === void 0 ? void 0 : o.id)
280
+ createdContentIds.push(o.id);
281
+ return {
282
+ pass: !(o === null || o === void 0 ? void 0 : o.publicRead) && !(o === null || o === void 0 ? void 0 : o.allowUnauthenticatedAccess),
283
+ detail: "publicRead=".concat(describe(o === null || o === void 0 ? void 0 : o.publicRead), " ")
284
+ + "allowUnauthenticatedAccess=".concat(describe(o === null || o === void 0 ? void 0 : o.allowUnauthenticatedAccess), " (want both unset)"),
285
+ };
286
+ })];
287
+ case 17:
288
+ _k.sent();
289
+ return [4 /*yield*/, expect_result("staff can still create public content", function () { return sdk_1.api.managed_content_records.createOne({
290
+ title: 'f0119 staff public', textContent: 'x', publicRead: true,
291
+ }); }, function (o) {
292
+ if (o === null || o === void 0 ? void 0 : o.id)
293
+ createdContentIds.push(o.id);
294
+ return {
295
+ pass: (o === null || o === void 0 ? void 0 : o.publicRead) === true,
296
+ detail: "publicRead=".concat(describe(o === null || o === void 0 ? void 0 : o.publicRead), " (want true)"),
297
+ };
298
+ })
299
+ // ============================================================
300
+ // chat_rooms (enduserIds-only gate; staff userIds targeting is by-design)
301
+ // ============================================================
302
+ ];
303
+ case 18:
304
+ _k.sent();
305
+ staffId_1 = sdk_1.userInfo.id;
306
+ return [4 /*yield*/, expect_rejection("enduser cannot add another patient to a chat room (enduserIds)", function () { return attackerSDK_1.api.chat_rooms.createOne({
307
+ type: 'internal', enduserIds: [attackerId, victimId], userIds: [staffId_1],
308
+ }); }, "enduserIds may only contain your own id for enduser session")
213
309
  // Positive control: patient CAN create a room with care-team staff + self (intended feature)
214
- _l.sent();
215
- // Positive control: staff can still create multi-patient rooms
216
- return [4 /*yield*/, async_test("staff can still create a room with multiple endusers", function () { return sdk.api.chat_rooms.createOne({
217
- type: 'internal', enduserIds: [attackerId, victimId], userIds: [staffId_1],
218
- }); }, { onResult: function (o) { var _a; if (o === null || o === void 0 ? void 0 : o.id)
219
- createdRoomIds.push(o.id); return ((_a = o === null || o === void 0 ? void 0 : o.enduserIds) === null || _a === void 0 ? void 0 : _a.length) === 2; } })];
220
- case 20:
310
+ ];
311
+ case 19:
312
+ _k.sent();
313
+ // Positive control: patient CAN create a room with care-team staff + self (intended feature)
314
+ return [4 /*yield*/, expect_result("enduser can still create a room with staff + self", function () { return attackerSDK_1.api.chat_rooms.createOne({
315
+ type: 'internal', enduserIds: [attackerId], userIds: [staffId_1],
316
+ }); }, function (o) {
317
+ var _a, _b, _c, _d;
318
+ if (o === null || o === void 0 ? void 0 : o.id)
319
+ createdRoomIds.push(o.id);
320
+ return {
321
+ 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)),
322
+ 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=")
323
+ + "".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)"),
324
+ };
325
+ })
221
326
  // Positive control: staff can still create multi-patient rooms
222
- _l.sent();
223
- return [3 /*break*/, 54];
224
- case 21:
225
- _i = 0, createdRoomIds_1 = createdRoomIds;
226
- _l.label = 22;
227
- case 22:
228
- if (!(_i < createdRoomIds_1.length)) return [3 /*break*/, 27];
229
- id = createdRoomIds_1[_i];
230
- _l.label = 23;
231
- case 23:
232
- _l.trys.push([23, 25, , 26]);
233
- return [4 /*yield*/, sdk.api.chat_rooms.deleteOne(id)];
234
- case 24:
235
- _l.sent();
236
- return [3 /*break*/, 26];
237
- case 25:
238
- _b = _l.sent();
239
- return [3 /*break*/, 26];
240
- case 26:
241
- _i++;
242
- return [3 /*break*/, 22];
243
- case 27:
244
- _c = 0, createdContentIds_1 = createdContentIds;
245
- _l.label = 28;
246
- case 28:
247
- if (!(_c < createdContentIds_1.length)) return [3 /*break*/, 33];
248
- id = createdContentIds_1[_c];
249
- _l.label = 29;
250
- case 29:
251
- _l.trys.push([29, 31, , 32]);
252
- return [4 /*yield*/, sdk.api.managed_content_records.deleteOne(id)];
253
- case 30:
254
- _l.sent();
255
- return [3 /*break*/, 32];
256
- case 31:
257
- _d = _l.sent();
258
- return [3 /*break*/, 32];
259
- case 32:
260
- _c++;
261
- return [3 /*break*/, 28];
262
- case 33:
263
- _e = 0, createdObservationIds_1 = createdObservationIds;
264
- _l.label = 34;
265
- case 34:
266
- if (!(_e < createdObservationIds_1.length)) return [3 /*break*/, 39];
267
- id = createdObservationIds_1[_e];
268
- _l.label = 35;
269
- case 35:
270
- _l.trys.push([35, 37, , 38]);
271
- return [4 /*yield*/, sdk.api.enduser_observations.deleteOne(id)];
272
- case 36:
273
- _l.sent();
274
- return [3 /*break*/, 38];
275
- case 37:
276
- _f = _l.sent();
277
- return [3 /*break*/, 38];
278
- case 38:
279
- _e++;
280
- return [3 /*break*/, 34];
281
- case 39:
282
- _g = 0, createdOrderIds_1 = createdOrderIds;
283
- _l.label = 40;
284
- case 40:
285
- if (!(_g < createdOrderIds_1.length)) return [3 /*break*/, 45];
286
- id = createdOrderIds_1[_g];
287
- _l.label = 41;
288
- case 41:
289
- _l.trys.push([41, 43, , 44]);
290
- return [4 /*yield*/, sdk.api.enduser_orders.deleteOne(id)];
291
- case 42:
292
- _l.sent();
293
- return [3 /*break*/, 44];
294
- case 43:
295
- _h = _l.sent();
296
- return [3 /*break*/, 44];
297
- case 44:
298
- _g++;
299
- return [3 /*break*/, 40];
300
- case 45:
301
- if (!attackerId) return [3 /*break*/, 49];
302
- _l.label = 46;
303
- case 46:
304
- _l.trys.push([46, 48, , 49]);
305
- return [4 /*yield*/, sdk.api.endusers.deleteOne(attackerId)];
306
- case 47:
307
- _l.sent();
308
- return [3 /*break*/, 49];
309
- case 48:
310
- _j = _l.sent();
311
- return [3 /*break*/, 49];
312
- case 49:
313
- if (!victimId) return [3 /*break*/, 53];
314
- _l.label = 50;
315
- case 50:
316
- _l.trys.push([50, 52, , 53]);
317
- return [4 /*yield*/, sdk.api.endusers.deleteOne(victimId)];
318
- case 51:
319
- _l.sent();
320
- return [3 /*break*/, 53];
321
- case 52:
322
- _k = _l.sent();
323
- return [3 /*break*/, 53];
324
- case 53: return [7 /*endfinally*/];
325
- case 54: return [2 /*return*/];
326
- }
327
- });
327
+ ];
328
+ case 20:
329
+ // Positive control: patient CAN create a room with care-team staff + self (intended feature)
330
+ _k.sent();
331
+ // Positive control: staff can still create multi-patient rooms
332
+ return [4 /*yield*/, expect_result("staff can still create a room with multiple endusers", function () { return sdk_1.api.chat_rooms.createOne({
333
+ type: 'internal', enduserIds: [attackerId, victimId], userIds: [staffId_1],
334
+ }); }, function (o) {
335
+ var _a, _b;
336
+ if (o === null || o === void 0 ? void 0 : o.id)
337
+ createdRoomIds.push(o.id);
338
+ return {
339
+ pass: ((_a = o === null || o === void 0 ? void 0 : o.enduserIds) === null || _a === void 0 ? void 0 : _a.length) === 2,
340
+ detail: "enduserIds=".concat(describe((_b = o === null || o === void 0 ? void 0 : o.enduserIds) === null || _b === void 0 ? void 0 : _b.length), " (want 2)"),
341
+ };
342
+ })];
343
+ case 21:
344
+ // Positive control: staff can still create multi-patient rooms
345
+ _k.sent();
346
+ return [3 /*break*/, 58];
347
+ case 22:
348
+ if (!tenant) return [3 /*break*/, 57];
349
+ sdk = tenant.sdk;
350
+ _i = 0, createdRoomIds_1 = createdRoomIds;
351
+ _k.label = 23;
352
+ case 23:
353
+ if (!(_i < createdRoomIds_1.length)) return [3 /*break*/, 28];
354
+ id = createdRoomIds_1[_i];
355
+ _k.label = 24;
356
+ case 24:
357
+ _k.trys.push([24, 26, , 27]);
358
+ return [4 /*yield*/, sdk.api.chat_rooms.deleteOne(id)];
359
+ case 25:
360
+ _k.sent();
361
+ return [3 /*break*/, 27];
362
+ case 26:
363
+ _a = _k.sent();
364
+ return [3 /*break*/, 27];
365
+ case 27:
366
+ _i++;
367
+ return [3 /*break*/, 23];
368
+ case 28:
369
+ _b = 0, createdContentIds_1 = createdContentIds;
370
+ _k.label = 29;
371
+ case 29:
372
+ if (!(_b < createdContentIds_1.length)) return [3 /*break*/, 34];
373
+ id = createdContentIds_1[_b];
374
+ _k.label = 30;
375
+ case 30:
376
+ _k.trys.push([30, 32, , 33]);
377
+ return [4 /*yield*/, sdk.api.managed_content_records.deleteOne(id)];
378
+ case 31:
379
+ _k.sent();
380
+ return [3 /*break*/, 33];
381
+ case 32:
382
+ _c = _k.sent();
383
+ return [3 /*break*/, 33];
384
+ case 33:
385
+ _b++;
386
+ return [3 /*break*/, 29];
387
+ case 34:
388
+ _d = 0, createdObservationIds_1 = createdObservationIds;
389
+ _k.label = 35;
390
+ case 35:
391
+ if (!(_d < createdObservationIds_1.length)) return [3 /*break*/, 40];
392
+ id = createdObservationIds_1[_d];
393
+ _k.label = 36;
394
+ case 36:
395
+ _k.trys.push([36, 38, , 39]);
396
+ return [4 /*yield*/, sdk.api.enduser_observations.deleteOne(id)];
397
+ case 37:
398
+ _k.sent();
399
+ return [3 /*break*/, 39];
400
+ case 38:
401
+ _e = _k.sent();
402
+ return [3 /*break*/, 39];
403
+ case 39:
404
+ _d++;
405
+ return [3 /*break*/, 35];
406
+ case 40:
407
+ _f = 0, createdOrderIds_1 = createdOrderIds;
408
+ _k.label = 41;
409
+ case 41:
410
+ if (!(_f < createdOrderIds_1.length)) return [3 /*break*/, 46];
411
+ id = createdOrderIds_1[_f];
412
+ _k.label = 42;
413
+ case 42:
414
+ _k.trys.push([42, 44, , 45]);
415
+ return [4 /*yield*/, sdk.api.enduser_orders.deleteOne(id)];
416
+ case 43:
417
+ _k.sent();
418
+ return [3 /*break*/, 45];
419
+ case 44:
420
+ _g = _k.sent();
421
+ return [3 /*break*/, 45];
422
+ case 45:
423
+ _f++;
424
+ return [3 /*break*/, 41];
425
+ case 46:
426
+ if (!attackerId) return [3 /*break*/, 50];
427
+ _k.label = 47;
428
+ case 47:
429
+ _k.trys.push([47, 49, , 50]);
430
+ return [4 /*yield*/, sdk.api.endusers.deleteOne(attackerId)];
431
+ case 48:
432
+ _k.sent();
433
+ return [3 /*break*/, 50];
434
+ case 49:
435
+ _h = _k.sent();
436
+ return [3 /*break*/, 50];
437
+ case 50:
438
+ if (!victimId) return [3 /*break*/, 54];
439
+ _k.label = 51;
440
+ case 51:
441
+ _k.trys.push([51, 53, , 54]);
442
+ return [4 /*yield*/, sdk.api.endusers.deleteOne(victimId)];
443
+ case 52:
444
+ _k.sent();
445
+ return [3 /*break*/, 54];
446
+ case 53:
447
+ _j = _k.sent();
448
+ return [3 /*break*/, 54];
449
+ case 54:
450
+ _k.trys.push([54, 56, , 57]);
451
+ return [4 /*yield*/, tenant.teardown()];
452
+ case 55:
453
+ _k.sent();
454
+ return [3 /*break*/, 57];
455
+ case 56:
456
+ e_1 = _k.sent();
457
+ console.error('teardown failed', e_1);
458
+ return [3 /*break*/, 57];
459
+ case 57: return [7 /*endfinally*/];
460
+ case 58: return [2 /*return*/, checks];
461
+ }
462
+ });
463
+ }); };
464
+ /** Asserting wrapper, for standalone runs. */
465
+ export var enduser_cross_create_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
466
+ var _a, _b;
467
+ return __generator(this, function (_c) {
468
+ switch (_c.label) {
469
+ case 0:
470
+ _a = assert_checks;
471
+ _b = ['Enduser cross-enduser create gates'];
472
+ return [4 /*yield*/, enduser_cross_create_checks()];
473
+ case 1:
474
+ _a.apply(void 0, _b.concat([_c.sent()]));
475
+ return [2 /*return*/];
476
+ }
328
477
  });
478
+ }); };
479
+ /** Enrolls this suite in the auto-discovered parallel pool — see run_discovered_isolated_suites. */
480
+ export var ISOLATED_SUITE = {
481
+ name: 'Enduser cross-enduser create gates',
482
+ run: enduser_cross_create_checks,
329
483
  };
330
484
  // Allow running this test file independently
331
485
  if (require.main === module) {
332
486
  console.log("\uD83C\uDF10 Using API URL: ".concat(host));
333
- var sdk_1 = new Session({ host: host });
334
- var sdkNonAdmin_1 = new Session({ host: host });
335
- var runTests = function () { return __awaiter(void 0, void 0, void 0, function () {
336
- return __generator(this, function (_a) {
337
- switch (_a.label) {
338
- case 0: return [4 /*yield*/, setup_tests(sdk_1, sdkNonAdmin_1)];
339
- case 1:
340
- _a.sent();
341
- return [4 /*yield*/, enduser_cross_create_tests({ sdk: sdk_1, sdkNonAdmin: sdkNonAdmin_1 })];
342
- case 2:
343
- _a.sent();
344
- return [2 /*return*/];
345
- }
346
- });
347
- }); };
348
- runTests()
487
+ enduser_cross_create_tests()
349
488
  .then(function () {
350
489
  console.log("✅ enduser cross-create test suite completed successfully");
351
490
  process.exit(0);