@tellescope/sdk 2.0.0-beta.1 → 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 (957) hide show
  1. package/CLAUDE.md +24 -0
  2. package/env.example +6 -0
  3. package/lib/cjs/sdk.d.ts +375 -4
  4. package/lib/cjs/sdk.d.ts.map +1 -1
  5. package/lib/cjs/sdk.js +5 -0
  6. package/lib/cjs/sdk.js.map +1 -1
  7. package/lib/cjs/tests/api_tests/ai_conversations.test.d.ts +14 -5
  8. package/lib/cjs/tests/api_tests/ai_conversations.test.d.ts.map +1 -1
  9. package/lib/cjs/tests/api_tests/ai_conversations.test.js +163 -149
  10. package/lib/cjs/tests/api_tests/ai_conversations.test.js.map +1 -1
  11. package/lib/cjs/tests/api_tests/ai_conversations_agent_message.test.d.ts +22 -0
  12. package/lib/cjs/tests/api_tests/ai_conversations_agent_message.test.d.ts.map +1 -0
  13. package/lib/cjs/tests/api_tests/ai_conversations_agent_message.test.js +518 -0
  14. package/lib/cjs/tests/api_tests/ai_conversations_agent_message.test.js.map +1 -0
  15. package/lib/cjs/tests/api_tests/appointment_link_expiration.test.d.ts +6 -5
  16. package/lib/cjs/tests/api_tests/appointment_link_expiration.test.d.ts.map +1 -1
  17. package/lib/cjs/tests/api_tests/appointment_link_expiration.test.js +135 -73
  18. package/lib/cjs/tests/api_tests/appointment_link_expiration.test.js.map +1 -1
  19. package/lib/cjs/tests/api_tests/appointment_no_showed_trigger.test.d.ts +6 -5
  20. package/lib/cjs/tests/api_tests/appointment_no_showed_trigger.test.d.ts.map +1 -1
  21. package/lib/cjs/tests/api_tests/appointment_no_showed_trigger.test.js +240 -174
  22. package/lib/cjs/tests/api_tests/appointment_no_showed_trigger.test.js.map +1 -1
  23. package/lib/cjs/tests/api_tests/availability_block_buffer.test.d.ts +22 -0
  24. package/lib/cjs/tests/api_tests/availability_block_buffer.test.d.ts.map +1 -0
  25. package/lib/cjs/tests/api_tests/availability_block_buffer.test.js +311 -0
  26. package/lib/cjs/tests/api_tests/availability_block_buffer.test.js.map +1 -0
  27. package/lib/cjs/tests/api_tests/beluga_manual_sync.test.d.ts +6 -5
  28. package/lib/cjs/tests/api_tests/beluga_manual_sync.test.d.ts.map +1 -1
  29. package/lib/cjs/tests/api_tests/beluga_manual_sync.test.js +235 -192
  30. package/lib/cjs/tests/api_tests/beluga_manual_sync.test.js.map +1 -1
  31. package/lib/cjs/tests/api_tests/beluga_trigger_refill.test.d.ts +6 -5
  32. package/lib/cjs/tests/api_tests/beluga_trigger_refill.test.d.ts.map +1 -1
  33. package/lib/cjs/tests/api_tests/beluga_trigger_refill.test.js +351 -264
  34. package/lib/cjs/tests/api_tests/beluga_trigger_refill.test.js.map +1 -1
  35. package/lib/cjs/tests/api_tests/booking_prevent_upcoming_duplicate.test.d.ts +22 -0
  36. package/lib/cjs/tests/api_tests/booking_prevent_upcoming_duplicate.test.d.ts.map +1 -0
  37. package/lib/cjs/tests/api_tests/booking_prevent_upcoming_duplicate.test.js +506 -0
  38. package/lib/cjs/tests/api_tests/booking_prevent_upcoming_duplicate.test.js.map +1 -0
  39. package/lib/cjs/tests/api_tests/bulk_assignment.test.d.ts +16 -5
  40. package/lib/cjs/tests/api_tests/bulk_assignment.test.d.ts.map +1 -1
  41. package/lib/cjs/tests/api_tests/bulk_assignment.test.js +336 -243
  42. package/lib/cjs/tests/api_tests/bulk_assignment.test.js.map +1 -1
  43. package/lib/cjs/tests/api_tests/calendar_event_references_update.test.d.ts +13 -5
  44. package/lib/cjs/tests/api_tests/calendar_event_references_update.test.d.ts.map +1 -1
  45. package/lib/cjs/tests/api_tests/calendar_event_references_update.test.js +131 -108
  46. package/lib/cjs/tests/api_tests/calendar_event_references_update.test.js.map +1 -1
  47. package/lib/cjs/tests/api_tests/calendar_event_webhook_template.test.d.ts +15 -5
  48. package/lib/cjs/tests/api_tests/calendar_event_webhook_template.test.d.ts.map +1 -1
  49. package/lib/cjs/tests/api_tests/calendar_event_webhook_template.test.js +240 -252
  50. package/lib/cjs/tests/api_tests/calendar_event_webhook_template.test.js.map +1 -1
  51. package/lib/cjs/tests/api_tests/chats_analytics.test.d.ts +14 -5
  52. package/lib/cjs/tests/api_tests/chats_analytics.test.d.ts.map +1 -1
  53. package/lib/cjs/tests/api_tests/chats_analytics.test.js +190 -189
  54. package/lib/cjs/tests/api_tests/chats_analytics.test.js.map +1 -1
  55. package/lib/cjs/tests/api_tests/concurrent_build_threads.test.d.ts +23 -5
  56. package/lib/cjs/tests/api_tests/concurrent_build_threads.test.d.ts.map +1 -1
  57. package/lib/cjs/tests/api_tests/concurrent_build_threads.test.js +121 -118
  58. package/lib/cjs/tests/api_tests/concurrent_build_threads.test.js.map +1 -1
  59. package/lib/cjs/tests/api_tests/configurations_public_read.test.d.ts +21 -5
  60. package/lib/cjs/tests/api_tests/configurations_public_read.test.d.ts.map +1 -1
  61. package/lib/cjs/tests/api_tests/configurations_public_read.test.js +235 -119
  62. package/lib/cjs/tests/api_tests/configurations_public_read.test.js.map +1 -1
  63. package/lib/cjs/tests/api_tests/copied_form_response_no_enduser_sync.test.d.ts +7 -0
  64. package/lib/cjs/tests/api_tests/copied_form_response_no_enduser_sync.test.d.ts.map +1 -0
  65. package/lib/cjs/tests/api_tests/copied_form_response_no_enduser_sync.test.js +356 -0
  66. package/lib/cjs/tests/api_tests/copied_form_response_no_enduser_sync.test.js.map +1 -0
  67. package/lib/cjs/tests/api_tests/create_note_action.test.d.ts +18 -5
  68. package/lib/cjs/tests/api_tests/create_note_action.test.d.ts.map +1 -1
  69. package/lib/cjs/tests/api_tests/create_note_action.test.js +218 -173
  70. package/lib/cjs/tests/api_tests/create_note_action.test.js.map +1 -1
  71. package/lib/cjs/tests/api_tests/create_user_notifications_trigger.test.d.ts +17 -4
  72. package/lib/cjs/tests/api_tests/create_user_notifications_trigger.test.d.ts.map +1 -1
  73. package/lib/cjs/tests/api_tests/create_user_notifications_trigger.test.js +144 -205
  74. package/lib/cjs/tests/api_tests/create_user_notifications_trigger.test.js.map +1 -1
  75. package/lib/cjs/tests/api_tests/custom_aggregation.test.d.ts +15 -5
  76. package/lib/cjs/tests/api_tests/custom_aggregation.test.d.ts.map +1 -1
  77. package/lib/cjs/tests/api_tests/custom_aggregation.test.js +284 -223
  78. package/lib/cjs/tests/api_tests/custom_aggregation.test.js.map +1 -1
  79. package/lib/cjs/tests/api_tests/database_cascade_delete.test.d.ts +13 -5
  80. package/lib/cjs/tests/api_tests/database_cascade_delete.test.d.ts.map +1 -1
  81. package/lib/cjs/tests/api_tests/database_cascade_delete.test.js +218 -242
  82. package/lib/cjs/tests/api_tests/database_cascade_delete.test.js.map +1 -1
  83. package/lib/cjs/tests/api_tests/dont_sync_to_elation_form_submission.test.d.ts +21 -5
  84. package/lib/cjs/tests/api_tests/dont_sync_to_elation_form_submission.test.d.ts.map +1 -1
  85. package/lib/cjs/tests/api_tests/dont_sync_to_elation_form_submission.test.js +168 -112
  86. package/lib/cjs/tests/api_tests/dont_sync_to_elation_form_submission.test.js.map +1 -1
  87. package/lib/cjs/tests/api_tests/elation_user_id.test.d.ts +17 -5
  88. package/lib/cjs/tests/api_tests/elation_user_id.test.d.ts.map +1 -1
  89. package/lib/cjs/tests/api_tests/elation_user_id.test.js +121 -54
  90. package/lib/cjs/tests/api_tests/elation_user_id.test.js.map +1 -1
  91. package/lib/cjs/tests/api_tests/enduser_fields_sync.test.d.ts +3 -1
  92. package/lib/cjs/tests/api_tests/enduser_fields_sync.test.d.ts.map +1 -1
  93. package/lib/cjs/tests/api_tests/enduser_fields_sync.test.js +3 -1
  94. package/lib/cjs/tests/api_tests/enduser_fields_sync.test.js.map +1 -1
  95. package/lib/cjs/tests/api_tests/enduser_observations_auto_review.test.d.ts +3 -1
  96. package/lib/cjs/tests/api_tests/enduser_observations_auto_review.test.d.ts.map +1 -1
  97. package/lib/cjs/tests/api_tests/enduser_observations_auto_review.test.js +3 -1
  98. package/lib/cjs/tests/api_tests/enduser_observations_auto_review.test.js.map +1 -1
  99. package/lib/cjs/tests/api_tests/file_download_unicode_names.test.d.ts +6 -5
  100. package/lib/cjs/tests/api_tests/file_download_unicode_names.test.d.ts.map +1 -1
  101. package/lib/cjs/tests/api_tests/file_download_unicode_names.test.js +193 -143
  102. package/lib/cjs/tests/api_tests/file_download_unicode_names.test.js.map +1 -1
  103. package/lib/cjs/tests/api_tests/form_intake_email_normalization.test.d.ts +7 -0
  104. package/lib/cjs/tests/api_tests/form_intake_email_normalization.test.d.ts.map +1 -0
  105. package/lib/cjs/tests/api_tests/form_intake_email_normalization.test.js +532 -0
  106. package/lib/cjs/tests/api_tests/form_intake_email_normalization.test.js.map +1 -0
  107. package/lib/cjs/tests/api_tests/form_submitted_trigger.test.d.ts +25 -5
  108. package/lib/cjs/tests/api_tests/form_submitted_trigger.test.d.ts.map +1 -1
  109. package/lib/cjs/tests/api_tests/form_submitted_trigger.test.js +395 -366
  110. package/lib/cjs/tests/api_tests/form_submitted_trigger.test.js.map +1 -1
  111. package/lib/cjs/tests/api_tests/form_translations.test.d.ts +6 -5
  112. package/lib/cjs/tests/api_tests/form_translations.test.d.ts.map +1 -1
  113. package/lib/cjs/tests/api_tests/form_translations.test.js +269 -189
  114. package/lib/cjs/tests/api_tests/form_translations.test.js.map +1 -1
  115. package/lib/cjs/tests/api_tests/form_vital_reading.test.d.ts +7 -0
  116. package/lib/cjs/tests/api_tests/form_vital_reading.test.d.ts.map +1 -0
  117. package/lib/cjs/tests/api_tests/form_vital_reading.test.js +461 -0
  118. package/lib/cjs/tests/api_tests/form_vital_reading.test.js.map +1 -0
  119. package/lib/cjs/tests/api_tests/formsort_header_auth.test.d.ts +29 -5
  120. package/lib/cjs/tests/api_tests/formsort_header_auth.test.d.ts.map +1 -1
  121. package/lib/cjs/tests/api_tests/formsort_header_auth.test.js +179 -162
  122. package/lib/cjs/tests/api_tests/formsort_header_auth.test.js.map +1 -1
  123. package/lib/cjs/tests/api_tests/gcal_sync_retry.test.d.ts +12 -6
  124. package/lib/cjs/tests/api_tests/gcal_sync_retry.test.d.ts.map +1 -1
  125. package/lib/cjs/tests/api_tests/gcal_sync_retry.test.js +98 -84
  126. package/lib/cjs/tests/api_tests/gcal_sync_retry.test.js.map +1 -1
  127. package/lib/cjs/tests/api_tests/get_some_projection.test.d.ts +20 -5
  128. package/lib/cjs/tests/api_tests/get_some_projection.test.d.ts.map +1 -1
  129. package/lib/cjs/tests/api_tests/get_some_projection.test.js +342 -298
  130. package/lib/cjs/tests/api_tests/get_some_projection.test.js.map +1 -1
  131. package/lib/cjs/tests/api_tests/group_event_attendee_self_update.test.d.ts +6 -5
  132. package/lib/cjs/tests/api_tests/group_event_attendee_self_update.test.d.ts.map +1 -1
  133. package/lib/cjs/tests/api_tests/group_event_attendee_self_update.test.js +294 -223
  134. package/lib/cjs/tests/api_tests/group_event_attendee_self_update.test.js.map +1 -1
  135. package/lib/cjs/tests/api_tests/integrations_redacted.test.d.ts +6 -5
  136. package/lib/cjs/tests/api_tests/integrations_redacted.test.d.ts.map +1 -1
  137. package/lib/cjs/tests/api_tests/integrations_redacted.test.js +307 -213
  138. package/lib/cjs/tests/api_tests/integrations_redacted.test.js.map +1 -1
  139. package/lib/cjs/tests/api_tests/journey_delete_cancels_actions.test.d.ts +6 -5
  140. package/lib/cjs/tests/api_tests/journey_delete_cancels_actions.test.d.ts.map +1 -1
  141. package/lib/cjs/tests/api_tests/journey_delete_cancels_actions.test.js +179 -178
  142. package/lib/cjs/tests/api_tests/journey_delete_cancels_actions.test.js.map +1 -1
  143. package/lib/cjs/tests/api_tests/journey_statistics_cache.test.d.ts +26 -0
  144. package/lib/cjs/tests/api_tests/journey_statistics_cache.test.d.ts.map +1 -0
  145. package/lib/cjs/tests/api_tests/journey_statistics_cache.test.js +232 -0
  146. package/lib/cjs/tests/api_tests/journey_statistics_cache.test.js.map +1 -0
  147. package/lib/cjs/tests/api_tests/journey_step_manual_count.test.d.ts +34 -0
  148. package/lib/cjs/tests/api_tests/journey_step_manual_count.test.d.ts.map +1 -0
  149. package/lib/cjs/tests/api_tests/journey_step_manual_count.test.js +243 -0
  150. package/lib/cjs/tests/api_tests/journey_step_manual_count.test.js.map +1 -0
  151. package/lib/cjs/tests/api_tests/load_team_chat.test.d.ts.map +1 -1
  152. package/lib/cjs/tests/api_tests/load_team_chat.test.js +181 -124
  153. package/lib/cjs/tests/api_tests/load_team_chat.test.js.map +1 -1
  154. package/lib/cjs/tests/api_tests/load_threads_autobuild.test.d.ts +24 -5
  155. package/lib/cjs/tests/api_tests/load_threads_autobuild.test.d.ts.map +1 -1
  156. package/lib/cjs/tests/api_tests/load_threads_autobuild.test.js +261 -227
  157. package/lib/cjs/tests/api_tests/load_threads_autobuild.test.js.map +1 -1
  158. package/lib/cjs/tests/api_tests/load_threads_care_team.test.d.ts +9 -1
  159. package/lib/cjs/tests/api_tests/load_threads_care_team.test.d.ts.map +1 -1
  160. package/lib/cjs/tests/api_tests/load_threads_care_team.test.js +118 -32
  161. package/lib/cjs/tests/api_tests/load_threads_care_team.test.js.map +1 -1
  162. package/lib/cjs/tests/api_tests/managed_content_file_access.test.d.ts +15 -5
  163. package/lib/cjs/tests/api_tests/managed_content_file_access.test.d.ts.map +1 -1
  164. package/lib/cjs/tests/api_tests/managed_content_file_access.test.js +285 -311
  165. package/lib/cjs/tests/api_tests/managed_content_file_access.test.js.map +1 -1
  166. package/lib/cjs/tests/api_tests/mdb_sort.test.d.ts +20 -5
  167. package/lib/cjs/tests/api_tests/mdb_sort.test.d.ts.map +1 -1
  168. package/lib/cjs/tests/api_tests/mdb_sort.test.js +361 -305
  169. package/lib/cjs/tests/api_tests/mdb_sort.test.js.map +1 -1
  170. package/lib/cjs/tests/api_tests/mdi_manual_sync.test.d.ts +27 -0
  171. package/lib/cjs/tests/api_tests/mdi_manual_sync.test.d.ts.map +1 -0
  172. package/lib/cjs/tests/api_tests/mdi_manual_sync.test.js +395 -0
  173. package/lib/cjs/tests/api_tests/mdi_manual_sync.test.js.map +1 -0
  174. package/lib/cjs/tests/api_tests/mdi_trigger_refill.test.d.ts +6 -5
  175. package/lib/cjs/tests/api_tests/mdi_trigger_refill.test.d.ts.map +1 -1
  176. package/lib/cjs/tests/api_tests/mdi_trigger_refill.test.js +259 -209
  177. package/lib/cjs/tests/api_tests/mdi_trigger_refill.test.js.map +1 -1
  178. package/lib/cjs/tests/api_tests/mdi_webhooks.test.d.ts +12 -5
  179. package/lib/cjs/tests/api_tests/mdi_webhooks.test.d.ts.map +1 -1
  180. package/lib/cjs/tests/api_tests/mdi_webhooks.test.js +67 -61
  181. package/lib/cjs/tests/api_tests/mdi_webhooks.test.js.map +1 -1
  182. package/lib/cjs/tests/api_tests/message_assignment_trigger.test.d.ts +23 -14
  183. package/lib/cjs/tests/api_tests/message_assignment_trigger.test.d.ts.map +1 -1
  184. package/lib/cjs/tests/api_tests/message_assignment_trigger.test.js +258 -306
  185. package/lib/cjs/tests/api_tests/message_assignment_trigger.test.js.map +1 -1
  186. package/lib/cjs/tests/api_tests/metriport_push_form_response.test.d.ts +6 -5
  187. package/lib/cjs/tests/api_tests/metriport_push_form_response.test.d.ts.map +1 -1
  188. package/lib/cjs/tests/api_tests/metriport_push_form_response.test.js +301 -238
  189. package/lib/cjs/tests/api_tests/metriport_push_form_response.test.js.map +1 -1
  190. package/lib/cjs/tests/api_tests/organization_api_keys.test.d.ts.map +1 -1
  191. package/lib/cjs/tests/api_tests/organization_api_keys.test.js +226 -59
  192. package/lib/cjs/tests/api_tests/organization_api_keys.test.js.map +1 -1
  193. package/lib/cjs/tests/api_tests/organization_settings_duplicates.test.d.ts +19 -5
  194. package/lib/cjs/tests/api_tests/organization_settings_duplicates.test.d.ts.map +1 -1
  195. package/lib/cjs/tests/api_tests/organization_settings_duplicates.test.js +335 -222
  196. package/lib/cjs/tests/api_tests/organization_settings_duplicates.test.js.map +1 -1
  197. package/lib/cjs/tests/api_tests/organization_signup.test.d.ts +3 -1
  198. package/lib/cjs/tests/api_tests/organization_signup.test.d.ts.map +1 -1
  199. package/lib/cjs/tests/api_tests/organization_signup.test.js +221 -52
  200. package/lib/cjs/tests/api_tests/organization_signup.test.js.map +1 -1
  201. package/lib/cjs/tests/api_tests/out_of_office_endpoint.test.d.ts.map +1 -1
  202. package/lib/cjs/tests/api_tests/out_of_office_endpoint.test.js +109 -1
  203. package/lib/cjs/tests/api_tests/out_of_office_endpoint.test.js.map +1 -1
  204. package/lib/cjs/tests/api_tests/outbound_chat_sent_trigger.test.d.ts +6 -6
  205. package/lib/cjs/tests/api_tests/outbound_chat_sent_trigger.test.d.ts.map +1 -1
  206. package/lib/cjs/tests/api_tests/outbound_chat_sent_trigger.test.js +309 -361
  207. package/lib/cjs/tests/api_tests/outbound_chat_sent_trigger.test.js.map +1 -1
  208. package/lib/cjs/tests/api_tests/phone_calls_cold_transfer.test.d.ts +6 -5
  209. package/lib/cjs/tests/api_tests/phone_calls_cold_transfer.test.d.ts.map +1 -1
  210. package/lib/cjs/tests/api_tests/phone_calls_cold_transfer.test.js +246 -165
  211. package/lib/cjs/tests/api_tests/phone_calls_cold_transfer.test.js.map +1 -1
  212. package/lib/cjs/tests/api_tests/phone_calls_conference_hold.test.d.ts +15 -5
  213. package/lib/cjs/tests/api_tests/phone_calls_conference_hold.test.d.ts.map +1 -1
  214. package/lib/cjs/tests/api_tests/phone_calls_conference_hold.test.js +130 -47
  215. package/lib/cjs/tests/api_tests/phone_calls_conference_hold.test.js.map +1 -1
  216. package/lib/cjs/tests/api_tests/phone_embed_leave_message.test.d.ts +7 -0
  217. package/lib/cjs/tests/api_tests/phone_embed_leave_message.test.d.ts.map +1 -0
  218. package/lib/cjs/tests/api_tests/phone_embed_leave_message.test.js +571 -0
  219. package/lib/cjs/tests/api_tests/phone_embed_leave_message.test.js.map +1 -0
  220. package/lib/cjs/tests/api_tests/phone_tree_enduser_condition.test.d.ts +6 -5
  221. package/lib/cjs/tests/api_tests/phone_tree_enduser_condition.test.d.ts.map +1 -1
  222. package/lib/cjs/tests/api_tests/phone_tree_enduser_condition.test.js +180 -132
  223. package/lib/cjs/tests/api_tests/phone_tree_enduser_condition.test.js.map +1 -1
  224. package/lib/cjs/tests/api_tests/programs.test.d.ts +3 -1
  225. package/lib/cjs/tests/api_tests/programs.test.d.ts.map +1 -1
  226. package/lib/cjs/tests/api_tests/programs.test.js +474 -51
  227. package/lib/cjs/tests/api_tests/programs.test.js.map +1 -1
  228. package/lib/cjs/tests/api_tests/public_form_case_insensitive_match.test.d.ts +7 -0
  229. package/lib/cjs/tests/api_tests/public_form_case_insensitive_match.test.d.ts.map +1 -0
  230. package/lib/cjs/tests/api_tests/public_form_case_insensitive_match.test.js +733 -0
  231. package/lib/cjs/tests/api_tests/public_form_case_insensitive_match.test.js.map +1 -0
  232. package/lib/cjs/tests/api_tests/security/add-to-journey-foreign-enduserid.test.d.ts +3 -1
  233. package/lib/cjs/tests/api_tests/security/add-to-journey-foreign-enduserid.test.d.ts.map +1 -1
  234. package/lib/cjs/tests/api_tests/security/add-to-journey-foreign-enduserid.test.js +3 -1
  235. package/lib/cjs/tests/api_tests/security/add-to-journey-foreign-enduserid.test.js.map +1 -1
  236. package/lib/cjs/tests/api_tests/security/ai-conversations-rbac.test.d.ts +10 -5
  237. package/lib/cjs/tests/api_tests/security/ai-conversations-rbac.test.d.ts.map +1 -1
  238. package/lib/cjs/tests/api_tests/security/ai-conversations-rbac.test.js +401 -282
  239. package/lib/cjs/tests/api_tests/security/ai-conversations-rbac.test.js.map +1 -1
  240. package/lib/cjs/tests/api_tests/security/appointment-reschedule-ownership.test.d.ts +3 -1
  241. package/lib/cjs/tests/api_tests/security/appointment-reschedule-ownership.test.d.ts.map +1 -1
  242. package/lib/cjs/tests/api_tests/security/appointment-reschedule-ownership.test.js +3 -1
  243. package/lib/cjs/tests/api_tests/security/appointment-reschedule-ownership.test.js.map +1 -1
  244. package/lib/cjs/tests/api_tests/security/automated-actions-process-gate.test.d.ts +9 -5
  245. package/lib/cjs/tests/api_tests/security/automated-actions-process-gate.test.d.ts.map +1 -1
  246. package/lib/cjs/tests/api_tests/security/automated-actions-process-gate.test.js +228 -211
  247. package/lib/cjs/tests/api_tests/security/automated-actions-process-gate.test.js.map +1 -1
  248. package/lib/cjs/tests/api_tests/security/booking-info-idor-token-mint.test.d.ts +13 -8
  249. package/lib/cjs/tests/api_tests/security/booking-info-idor-token-mint.test.d.ts.map +1 -1
  250. package/lib/cjs/tests/api_tests/security/booking-info-idor-token-mint.test.js +270 -254
  251. package/lib/cjs/tests/api_tests/security/booking-info-idor-token-mint.test.js.map +1 -1
  252. package/lib/cjs/tests/api_tests/security/cascade-role-rename-cross-tenant.test.d.ts +16 -6
  253. package/lib/cjs/tests/api_tests/security/cascade-role-rename-cross-tenant.test.d.ts.map +1 -1
  254. package/lib/cjs/tests/api_tests/security/cascade-role-rename-cross-tenant.test.js +167 -142
  255. package/lib/cjs/tests/api_tests/security/cascade-role-rename-cross-tenant.test.js.map +1 -1
  256. package/lib/cjs/tests/api_tests/security/data-sync-redaction-bypass.test.d.ts +10 -5
  257. package/lib/cjs/tests/api_tests/security/data-sync-redaction-bypass.test.d.ts.map +1 -1
  258. package/lib/cjs/tests/api_tests/security/data-sync-redaction-bypass.test.js +296 -221
  259. package/lib/cjs/tests/api_tests/security/data-sync-redaction-bypass.test.js.map +1 -1
  260. package/lib/cjs/tests/api_tests/security/develop-health-benefit-verification-rbac.test.d.ts +12 -5
  261. package/lib/cjs/tests/api_tests/security/develop-health-benefit-verification-rbac.test.d.ts.map +1 -1
  262. package/lib/cjs/tests/api_tests/security/develop-health-benefit-verification-rbac.test.js +221 -216
  263. package/lib/cjs/tests/api_tests/security/develop-health-benefit-verification-rbac.test.js.map +1 -1
  264. package/lib/cjs/tests/api_tests/security/enduser-ai-summary-trust-gate.test.d.ts +11 -5
  265. package/lib/cjs/tests/api_tests/security/enduser-ai-summary-trust-gate.test.d.ts.map +1 -1
  266. package/lib/cjs/tests/api_tests/security/enduser-ai-summary-trust-gate.test.js +300 -203
  267. package/lib/cjs/tests/api_tests/security/enduser-ai-summary-trust-gate.test.js.map +1 -1
  268. package/lib/cjs/tests/api_tests/security/enduser-cross-create.test.d.ts +11 -5
  269. package/lib/cjs/tests/api_tests/security/enduser-cross-create.test.d.ts.map +1 -1
  270. package/lib/cjs/tests/api_tests/security/enduser-cross-create.test.js +415 -275
  271. package/lib/cjs/tests/api_tests/security/enduser-cross-create.test.js.map +1 -1
  272. package/lib/cjs/tests/api_tests/security/enduser-write-restrictions.test.d.ts +11 -5
  273. package/lib/cjs/tests/api_tests/security/enduser-write-restrictions.test.d.ts.map +1 -1
  274. package/lib/cjs/tests/api_tests/security/enduser-write-restrictions.test.js +347 -228
  275. package/lib/cjs/tests/api_tests/security/enduser-write-restrictions.test.js.map +1 -1
  276. package/lib/cjs/tests/api_tests/security/file-link-session-confinement.test.d.ts +3 -1
  277. package/lib/cjs/tests/api_tests/security/file-link-session-confinement.test.d.ts.map +1 -1
  278. package/lib/cjs/tests/api_tests/security/file-link-session-confinement.test.js +3 -1
  279. package/lib/cjs/tests/api_tests/security/file-link-session-confinement.test.js.map +1 -1
  280. package/lib/cjs/tests/api_tests/security/form-logic-js-execution.test.d.ts +3 -1
  281. package/lib/cjs/tests/api_tests/security/form-logic-js-execution.test.d.ts.map +1 -1
  282. package/lib/cjs/tests/api_tests/security/form-logic-js-execution.test.js +3 -1
  283. package/lib/cjs/tests/api_tests/security/form-logic-js-execution.test.js.map +1 -1
  284. package/lib/cjs/tests/api_tests/security/formsort_webhook_auth_field_lock.test.d.ts.map +1 -1
  285. package/lib/cjs/tests/api_tests/security/formsort_webhook_auth_field_lock.test.js +424 -39
  286. package/lib/cjs/tests/api_tests/security/formsort_webhook_auth_field_lock.test.js.map +1 -1
  287. package/lib/cjs/tests/api_tests/security/globalunique-conflict-redaction.test.d.ts +18 -7
  288. package/lib/cjs/tests/api_tests/security/globalunique-conflict-redaction.test.d.ts.map +1 -1
  289. package/lib/cjs/tests/api_tests/security/globalunique-conflict-redaction.test.js +164 -75
  290. package/lib/cjs/tests/api_tests/security/globalunique-conflict-redaction.test.js.map +1 -1
  291. package/lib/cjs/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.d.ts +15 -9
  292. package/lib/cjs/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.d.ts.map +1 -1
  293. package/lib/cjs/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.js +99 -102
  294. package/lib/cjs/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.js.map +1 -1
  295. package/lib/cjs/tests/api_tests/security/load-inbox-redaction.test.d.ts +11 -5
  296. package/lib/cjs/tests/api_tests/security/load-inbox-redaction.test.d.ts.map +1 -1
  297. package/lib/cjs/tests/api_tests/security/load-inbox-redaction.test.js +132 -89
  298. package/lib/cjs/tests/api_tests/security/load-inbox-redaction.test.js.map +1 -1
  299. package/lib/cjs/tests/api_tests/security/proxy-image-unauth-ssrf.test.d.ts +12 -5
  300. package/lib/cjs/tests/api_tests/security/proxy-image-unauth-ssrf.test.d.ts.map +1 -1
  301. package/lib/cjs/tests/api_tests/security/proxy-image-unauth-ssrf.test.js +190 -138
  302. package/lib/cjs/tests/api_tests/security/proxy-image-unauth-ssrf.test.js.map +1 -1
  303. package/lib/cjs/tests/api_tests/security/register_business_id_injection.test.d.ts +18 -16
  304. package/lib/cjs/tests/api_tests/security/register_business_id_injection.test.d.ts.map +1 -1
  305. package/lib/cjs/tests/api_tests/security/register_business_id_injection.test.js +164 -124
  306. package/lib/cjs/tests/api_tests/security/register_business_id_injection.test.js.map +1 -1
  307. package/lib/cjs/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.d.ts +3 -1
  308. package/lib/cjs/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.d.ts.map +1 -1
  309. package/lib/cjs/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.js +3 -1
  310. package/lib/cjs/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.js.map +1 -1
  311. package/lib/cjs/tests/api_tests/security/sanitize-user-html-with-iframes.test.d.ts.map +1 -1
  312. package/lib/cjs/tests/api_tests/security/sanitize-user-html-with-iframes.test.js +122 -2
  313. package/lib/cjs/tests/api_tests/security/sanitize-user-html-with-iframes.test.js.map +1 -1
  314. package/lib/cjs/tests/api_tests/security/schema-adminonly-enforcement.test.d.ts +11 -5
  315. package/lib/cjs/tests/api_tests/security/schema-adminonly-enforcement.test.d.ts.map +1 -1
  316. package/lib/cjs/tests/api_tests/security/schema-adminonly-enforcement.test.js +288 -274
  317. package/lib/cjs/tests/api_tests/security/schema-adminonly-enforcement.test.js.map +1 -1
  318. package/lib/cjs/tests/api_tests/security/self-admin-role-assignment.test.d.ts +17 -10
  319. package/lib/cjs/tests/api_tests/security/self-admin-role-assignment.test.d.ts.map +1 -1
  320. package/lib/cjs/tests/api_tests/security/self-admin-role-assignment.test.js +173 -138
  321. package/lib/cjs/tests/api_tests/security/self-admin-role-assignment.test.js.map +1 -1
  322. package/lib/cjs/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.d.ts +6 -5
  323. package/lib/cjs/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.d.ts.map +1 -1
  324. package/lib/cjs/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.js +310 -265
  325. package/lib/cjs/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.js.map +1 -1
  326. package/lib/cjs/tests/api_tests/security/webhook-timeout.test.d.ts +9 -5
  327. package/lib/cjs/tests/api_tests/security/webhook-timeout.test.d.ts.map +1 -1
  328. package/lib/cjs/tests/api_tests/security/webhook-timeout.test.js +108 -83
  329. package/lib/cjs/tests/api_tests/security/webhook-timeout.test.js.map +1 -1
  330. package/lib/cjs/tests/api_tests/session_for_join_link.test.d.ts +10 -0
  331. package/lib/cjs/tests/api_tests/session_for_join_link.test.d.ts.map +1 -0
  332. package/lib/cjs/tests/api_tests/session_for_join_link.test.js +147 -0
  333. package/lib/cjs/tests/api_tests/session_for_join_link.test.js.map +1 -0
  334. package/lib/cjs/tests/api_tests/set_fields_order_templates.test.d.ts.map +1 -1
  335. package/lib/cjs/tests/api_tests/set_fields_order_templates.test.js +191 -88
  336. package/lib/cjs/tests/api_tests/set_fields_order_templates.test.js.map +1 -1
  337. package/lib/cjs/tests/api_tests/stedi_approval.test.d.ts +6 -5
  338. package/lib/cjs/tests/api_tests/stedi_approval.test.d.ts.map +1 -1
  339. package/lib/cjs/tests/api_tests/stedi_approval.test.js +206 -137
  340. package/lib/cjs/tests/api_tests/stedi_approval.test.js.map +1 -1
  341. package/lib/cjs/tests/api_tests/stripe_checkout_items.test.d.ts +17 -0
  342. package/lib/cjs/tests/api_tests/stripe_checkout_items.test.d.ts.map +1 -0
  343. package/lib/cjs/tests/api_tests/stripe_checkout_items.test.js +219 -0
  344. package/lib/cjs/tests/api_tests/stripe_checkout_items.test.js.map +1 -0
  345. package/lib/cjs/tests/api_tests/stripe_multiple_customer_ids.test.d.ts +5 -0
  346. package/lib/cjs/tests/api_tests/stripe_multiple_customer_ids.test.d.ts.map +1 -0
  347. package/lib/cjs/tests/api_tests/stripe_multiple_customer_ids.test.js +396 -0
  348. package/lib/cjs/tests/api_tests/stripe_multiple_customer_ids.test.js.map +1 -0
  349. package/lib/cjs/tests/api_tests/ticket_stage_archive.test.d.ts +7 -0
  350. package/lib/cjs/tests/api_tests/ticket_stage_archive.test.d.ts.map +1 -0
  351. package/lib/cjs/tests/api_tests/ticket_stage_archive.test.js +344 -0
  352. package/lib/cjs/tests/api_tests/ticket_stage_archive.test.js.map +1 -0
  353. package/lib/cjs/tests/api_tests/tickets_bulk_assign_care_team.test.d.ts +6 -5
  354. package/lib/cjs/tests/api_tests/tickets_bulk_assign_care_team.test.d.ts.map +1 -1
  355. package/lib/cjs/tests/api_tests/tickets_bulk_assign_care_team.test.js +165 -149
  356. package/lib/cjs/tests/api_tests/tickets_bulk_assign_care_team.test.js.map +1 -1
  357. package/lib/cjs/tests/api_tests/tickets_bulk_assign_from_queue.test.d.ts +3 -1
  358. package/lib/cjs/tests/api_tests/tickets_bulk_assign_from_queue.test.d.ts.map +1 -1
  359. package/lib/cjs/tests/api_tests/tickets_bulk_assign_from_queue.test.js +3 -1
  360. package/lib/cjs/tests/api_tests/tickets_bulk_assign_from_queue.test.js.map +1 -1
  361. package/lib/cjs/tests/api_tests/totp_mfa.test.d.ts.map +1 -1
  362. package/lib/cjs/tests/api_tests/totp_mfa.test.js +37 -31
  363. package/lib/cjs/tests/api_tests/totp_mfa.test.js.map +1 -1
  364. package/lib/cjs/tests/api_tests/translations.test.d.ts +6 -5
  365. package/lib/cjs/tests/api_tests/translations.test.d.ts.map +1 -1
  366. package/lib/cjs/tests/api_tests/translations.test.js +104 -75
  367. package/lib/cjs/tests/api_tests/translations.test.js.map +1 -1
  368. package/lib/cjs/tests/api_tests/trigger_contains_matching.test.d.ts +3 -1
  369. package/lib/cjs/tests/api_tests/trigger_contains_matching.test.d.ts.map +1 -1
  370. package/lib/cjs/tests/api_tests/trigger_contains_matching.test.js +3 -1
  371. package/lib/cjs/tests/api_tests/trigger_contains_matching.test.js.map +1 -1
  372. package/lib/cjs/tests/api_tests/trigger_set_fields_date_difference.test.d.ts +21 -4
  373. package/lib/cjs/tests/api_tests/trigger_set_fields_date_difference.test.d.ts.map +1 -1
  374. package/lib/cjs/tests/api_tests/trigger_set_fields_date_difference.test.js +238 -370
  375. package/lib/cjs/tests/api_tests/trigger_set_fields_date_difference.test.js.map +1 -1
  376. package/lib/cjs/tests/api_tests/user_logs_restore_deleted.test.d.ts +3 -1
  377. package/lib/cjs/tests/api_tests/user_logs_restore_deleted.test.d.ts.map +1 -1
  378. package/lib/cjs/tests/api_tests/user_logs_restore_deleted.test.js +3 -1
  379. package/lib/cjs/tests/api_tests/user_logs_restore_deleted.test.js.map +1 -1
  380. package/lib/cjs/tests/api_tests/user_preferences.test.d.ts +30 -0
  381. package/lib/cjs/tests/api_tests/user_preferences.test.d.ts.map +1 -0
  382. package/lib/cjs/tests/api_tests/user_preferences.test.js +279 -0
  383. package/lib/cjs/tests/api_tests/user_preferences.test.js.map +1 -0
  384. package/lib/cjs/tests/api_tests/vital_review_trigger_action.test.d.ts +3 -1
  385. package/lib/cjs/tests/api_tests/vital_review_trigger_action.test.d.ts.map +1 -1
  386. package/lib/cjs/tests/api_tests/vital_review_trigger_action.test.js +3 -1
  387. package/lib/cjs/tests/api_tests/vital_review_trigger_action.test.js.map +1 -1
  388. package/lib/cjs/tests/api_tests/vitl_push.test.d.ts +7 -0
  389. package/lib/cjs/tests/api_tests/vitl_push.test.d.ts.map +1 -0
  390. package/lib/cjs/tests/api_tests/vitl_push.test.js +341 -0
  391. package/lib/cjs/tests/api_tests/vitl_push.test.js.map +1 -0
  392. package/lib/cjs/tests/api_tests/webhook_error_handling.test.d.ts +17 -5
  393. package/lib/cjs/tests/api_tests/webhook_error_handling.test.d.ts.map +1 -1
  394. package/lib/cjs/tests/api_tests/webhook_error_handling.test.js +204 -195
  395. package/lib/cjs/tests/api_tests/webhook_error_handling.test.js.map +1 -1
  396. package/lib/cjs/tests/api_tests/webhook_raw_json_number.test.d.ts +15 -5
  397. package/lib/cjs/tests/api_tests/webhook_raw_json_number.test.d.ts.map +1 -1
  398. package/lib/cjs/tests/api_tests/webhook_raw_json_number.test.js +154 -179
  399. package/lib/cjs/tests/api_tests/webhook_raw_json_number.test.js.map +1 -1
  400. package/lib/cjs/tests/api_tests/welle_partner_token.test.d.ts +6 -5
  401. package/lib/cjs/tests/api_tests/welle_partner_token.test.d.ts.map +1 -1
  402. package/lib/cjs/tests/api_tests/welle_partner_token.test.js +393 -251
  403. package/lib/cjs/tests/api_tests/welle_partner_token.test.js.map +1 -1
  404. package/lib/cjs/tests/setup_isolated.d.ts +55 -0
  405. package/lib/cjs/tests/setup_isolated.d.ts.map +1 -1
  406. package/lib/cjs/tests/setup_isolated.js +119 -1
  407. package/lib/cjs/tests/setup_isolated.js.map +1 -1
  408. package/lib/cjs/tests/tests.d.ts.map +1 -1
  409. package/lib/cjs/tests/tests.js +385 -535
  410. package/lib/cjs/tests/tests.js.map +1 -1
  411. package/lib/cjs/tests/unit_tests/date_string_validation.test.d.ts +2 -0
  412. package/lib/cjs/tests/unit_tests/date_string_validation.test.d.ts.map +1 -0
  413. package/lib/cjs/tests/unit_tests/date_string_validation.test.js +112 -0
  414. package/lib/cjs/tests/unit_tests/date_string_validation.test.js.map +1 -0
  415. package/lib/cjs/tests/unit_tests/isolated_suite_discovery.test.d.ts +2 -0
  416. package/lib/cjs/tests/unit_tests/isolated_suite_discovery.test.d.ts.map +1 -0
  417. package/lib/cjs/tests/unit_tests/isolated_suite_discovery.test.js +201 -0
  418. package/lib/cjs/tests/unit_tests/isolated_suite_discovery.test.js.map +1 -0
  419. package/lib/cjs/tests/unit_tests/programs_conditional_logic.test.d.ts +3 -0
  420. package/lib/cjs/tests/unit_tests/programs_conditional_logic.test.d.ts.map +1 -0
  421. package/lib/cjs/tests/unit_tests/programs_conditional_logic.test.js +120 -0
  422. package/lib/cjs/tests/unit_tests/programs_conditional_logic.test.js.map +1 -0
  423. package/lib/cjs/tests/webhooks_tests.js +44 -34
  424. package/lib/cjs/tests/webhooks_tests.js.map +1 -1
  425. package/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  426. package/lib/esm/sdk.d.ts +375 -4
  427. package/lib/esm/sdk.d.ts.map +1 -1
  428. package/lib/esm/sdk.js +5 -0
  429. package/lib/esm/sdk.js.map +1 -1
  430. package/lib/esm/tests/api_tests/ai_conversations.test.d.ts +14 -5
  431. package/lib/esm/tests/api_tests/ai_conversations.test.d.ts.map +1 -1
  432. package/lib/esm/tests/api_tests/ai_conversations.test.js +161 -148
  433. package/lib/esm/tests/api_tests/ai_conversations.test.js.map +1 -1
  434. package/lib/esm/tests/api_tests/ai_conversations_agent_message.test.d.ts +22 -0
  435. package/lib/esm/tests/api_tests/ai_conversations_agent_message.test.d.ts.map +1 -0
  436. package/lib/esm/tests/api_tests/ai_conversations_agent_message.test.js +510 -0
  437. package/lib/esm/tests/api_tests/ai_conversations_agent_message.test.js.map +1 -0
  438. package/lib/esm/tests/api_tests/appointment_link_expiration.test.d.ts +6 -5
  439. package/lib/esm/tests/api_tests/appointment_link_expiration.test.d.ts.map +1 -1
  440. package/lib/esm/tests/api_tests/appointment_link_expiration.test.js +132 -71
  441. package/lib/esm/tests/api_tests/appointment_link_expiration.test.js.map +1 -1
  442. package/lib/esm/tests/api_tests/appointment_no_showed_trigger.test.d.ts +6 -5
  443. package/lib/esm/tests/api_tests/appointment_no_showed_trigger.test.d.ts.map +1 -1
  444. package/lib/esm/tests/api_tests/appointment_no_showed_trigger.test.js +238 -173
  445. package/lib/esm/tests/api_tests/appointment_no_showed_trigger.test.js.map +1 -1
  446. package/lib/esm/tests/api_tests/availability_block_buffer.test.d.ts +22 -0
  447. package/lib/esm/tests/api_tests/availability_block_buffer.test.d.ts.map +1 -0
  448. package/lib/esm/tests/api_tests/availability_block_buffer.test.js +306 -0
  449. package/lib/esm/tests/api_tests/availability_block_buffer.test.js.map +1 -0
  450. package/lib/esm/tests/api_tests/beluga_manual_sync.test.d.ts +6 -5
  451. package/lib/esm/tests/api_tests/beluga_manual_sync.test.d.ts.map +1 -1
  452. package/lib/esm/tests/api_tests/beluga_manual_sync.test.js +232 -190
  453. package/lib/esm/tests/api_tests/beluga_manual_sync.test.js.map +1 -1
  454. package/lib/esm/tests/api_tests/beluga_trigger_refill.test.d.ts +6 -5
  455. package/lib/esm/tests/api_tests/beluga_trigger_refill.test.d.ts.map +1 -1
  456. package/lib/esm/tests/api_tests/beluga_trigger_refill.test.js +348 -262
  457. package/lib/esm/tests/api_tests/beluga_trigger_refill.test.js.map +1 -1
  458. package/lib/esm/tests/api_tests/booking_prevent_upcoming_duplicate.test.d.ts +22 -0
  459. package/lib/esm/tests/api_tests/booking_prevent_upcoming_duplicate.test.d.ts.map +1 -0
  460. package/lib/esm/tests/api_tests/booking_prevent_upcoming_duplicate.test.js +501 -0
  461. package/lib/esm/tests/api_tests/booking_prevent_upcoming_duplicate.test.js.map +1 -0
  462. package/lib/esm/tests/api_tests/bulk_assignment.test.d.ts +16 -5
  463. package/lib/esm/tests/api_tests/bulk_assignment.test.d.ts.map +1 -1
  464. package/lib/esm/tests/api_tests/bulk_assignment.test.js +333 -241
  465. package/lib/esm/tests/api_tests/bulk_assignment.test.js.map +1 -1
  466. package/lib/esm/tests/api_tests/calendar_event_references_update.test.d.ts +13 -5
  467. package/lib/esm/tests/api_tests/calendar_event_references_update.test.d.ts.map +1 -1
  468. package/lib/esm/tests/api_tests/calendar_event_references_update.test.js +129 -107
  469. package/lib/esm/tests/api_tests/calendar_event_references_update.test.js.map +1 -1
  470. package/lib/esm/tests/api_tests/calendar_event_webhook_template.test.d.ts +15 -5
  471. package/lib/esm/tests/api_tests/calendar_event_webhook_template.test.d.ts.map +1 -1
  472. package/lib/esm/tests/api_tests/calendar_event_webhook_template.test.js +238 -251
  473. package/lib/esm/tests/api_tests/calendar_event_webhook_template.test.js.map +1 -1
  474. package/lib/esm/tests/api_tests/chats_analytics.test.d.ts +14 -5
  475. package/lib/esm/tests/api_tests/chats_analytics.test.d.ts.map +1 -1
  476. package/lib/esm/tests/api_tests/chats_analytics.test.js +188 -188
  477. package/lib/esm/tests/api_tests/chats_analytics.test.js.map +1 -1
  478. package/lib/esm/tests/api_tests/concurrent_build_threads.test.d.ts +23 -5
  479. package/lib/esm/tests/api_tests/concurrent_build_threads.test.d.ts.map +1 -1
  480. package/lib/esm/tests/api_tests/concurrent_build_threads.test.js +119 -117
  481. package/lib/esm/tests/api_tests/concurrent_build_threads.test.js.map +1 -1
  482. package/lib/esm/tests/api_tests/configurations_public_read.test.d.ts +21 -5
  483. package/lib/esm/tests/api_tests/configurations_public_read.test.d.ts.map +1 -1
  484. package/lib/esm/tests/api_tests/configurations_public_read.test.js +233 -118
  485. package/lib/esm/tests/api_tests/configurations_public_read.test.js.map +1 -1
  486. package/lib/esm/tests/api_tests/copied_form_response_no_enduser_sync.test.d.ts +7 -0
  487. package/lib/esm/tests/api_tests/copied_form_response_no_enduser_sync.test.d.ts.map +1 -0
  488. package/lib/esm/tests/api_tests/copied_form_response_no_enduser_sync.test.js +351 -0
  489. package/lib/esm/tests/api_tests/copied_form_response_no_enduser_sync.test.js.map +1 -0
  490. package/lib/esm/tests/api_tests/create_note_action.test.d.ts +18 -5
  491. package/lib/esm/tests/api_tests/create_note_action.test.d.ts.map +1 -1
  492. package/lib/esm/tests/api_tests/create_note_action.test.js +216 -172
  493. package/lib/esm/tests/api_tests/create_note_action.test.js.map +1 -1
  494. package/lib/esm/tests/api_tests/create_user_notifications_trigger.test.d.ts +17 -4
  495. package/lib/esm/tests/api_tests/create_user_notifications_trigger.test.d.ts.map +1 -1
  496. package/lib/esm/tests/api_tests/create_user_notifications_trigger.test.js +141 -203
  497. package/lib/esm/tests/api_tests/create_user_notifications_trigger.test.js.map +1 -1
  498. package/lib/esm/tests/api_tests/custom_aggregation.test.d.ts +15 -5
  499. package/lib/esm/tests/api_tests/custom_aggregation.test.d.ts.map +1 -1
  500. package/lib/esm/tests/api_tests/custom_aggregation.test.js +282 -222
  501. package/lib/esm/tests/api_tests/custom_aggregation.test.js.map +1 -1
  502. package/lib/esm/tests/api_tests/database_cascade_delete.test.d.ts +13 -5
  503. package/lib/esm/tests/api_tests/database_cascade_delete.test.d.ts.map +1 -1
  504. package/lib/esm/tests/api_tests/database_cascade_delete.test.js +216 -241
  505. package/lib/esm/tests/api_tests/database_cascade_delete.test.js.map +1 -1
  506. package/lib/esm/tests/api_tests/dont_sync_to_elation_form_submission.test.d.ts +21 -5
  507. package/lib/esm/tests/api_tests/dont_sync_to_elation_form_submission.test.d.ts.map +1 -1
  508. package/lib/esm/tests/api_tests/dont_sync_to_elation_form_submission.test.js +165 -110
  509. package/lib/esm/tests/api_tests/dont_sync_to_elation_form_submission.test.js.map +1 -1
  510. package/lib/esm/tests/api_tests/elation_user_id.test.d.ts +17 -5
  511. package/lib/esm/tests/api_tests/elation_user_id.test.d.ts.map +1 -1
  512. package/lib/esm/tests/api_tests/elation_user_id.test.js +119 -53
  513. package/lib/esm/tests/api_tests/elation_user_id.test.js.map +1 -1
  514. package/lib/esm/tests/api_tests/enduser_fields_sync.test.d.ts +3 -1
  515. package/lib/esm/tests/api_tests/enduser_fields_sync.test.d.ts.map +1 -1
  516. package/lib/esm/tests/api_tests/enduser_fields_sync.test.js +2 -0
  517. package/lib/esm/tests/api_tests/enduser_fields_sync.test.js.map +1 -1
  518. package/lib/esm/tests/api_tests/enduser_observations_auto_review.test.d.ts +3 -1
  519. package/lib/esm/tests/api_tests/enduser_observations_auto_review.test.d.ts.map +1 -1
  520. package/lib/esm/tests/api_tests/enduser_observations_auto_review.test.js +2 -0
  521. package/lib/esm/tests/api_tests/enduser_observations_auto_review.test.js.map +1 -1
  522. package/lib/esm/tests/api_tests/file_download_unicode_names.test.d.ts +6 -5
  523. package/lib/esm/tests/api_tests/file_download_unicode_names.test.d.ts.map +1 -1
  524. package/lib/esm/tests/api_tests/file_download_unicode_names.test.js +190 -141
  525. package/lib/esm/tests/api_tests/file_download_unicode_names.test.js.map +1 -1
  526. package/lib/esm/tests/api_tests/form_intake_email_normalization.test.d.ts +7 -0
  527. package/lib/esm/tests/api_tests/form_intake_email_normalization.test.d.ts.map +1 -0
  528. package/lib/esm/tests/api_tests/form_intake_email_normalization.test.js +527 -0
  529. package/lib/esm/tests/api_tests/form_intake_email_normalization.test.js.map +1 -0
  530. package/lib/esm/tests/api_tests/form_submitted_trigger.test.d.ts +25 -5
  531. package/lib/esm/tests/api_tests/form_submitted_trigger.test.d.ts.map +1 -1
  532. package/lib/esm/tests/api_tests/form_submitted_trigger.test.js +393 -365
  533. package/lib/esm/tests/api_tests/form_submitted_trigger.test.js.map +1 -1
  534. package/lib/esm/tests/api_tests/form_translations.test.d.ts +6 -5
  535. package/lib/esm/tests/api_tests/form_translations.test.d.ts.map +1 -1
  536. package/lib/esm/tests/api_tests/form_translations.test.js +268 -189
  537. package/lib/esm/tests/api_tests/form_translations.test.js.map +1 -1
  538. package/lib/esm/tests/api_tests/form_vital_reading.test.d.ts +7 -0
  539. package/lib/esm/tests/api_tests/form_vital_reading.test.d.ts.map +1 -0
  540. package/lib/esm/tests/api_tests/form_vital_reading.test.js +456 -0
  541. package/lib/esm/tests/api_tests/form_vital_reading.test.js.map +1 -0
  542. package/lib/esm/tests/api_tests/formsort_header_auth.test.d.ts +29 -5
  543. package/lib/esm/tests/api_tests/formsort_header_auth.test.d.ts.map +1 -1
  544. package/lib/esm/tests/api_tests/formsort_header_auth.test.js +177 -161
  545. package/lib/esm/tests/api_tests/formsort_header_auth.test.js.map +1 -1
  546. package/lib/esm/tests/api_tests/gcal_sync_retry.test.d.ts +12 -6
  547. package/lib/esm/tests/api_tests/gcal_sync_retry.test.d.ts.map +1 -1
  548. package/lib/esm/tests/api_tests/gcal_sync_retry.test.js +96 -83
  549. package/lib/esm/tests/api_tests/gcal_sync_retry.test.js.map +1 -1
  550. package/lib/esm/tests/api_tests/get_some_projection.test.d.ts +20 -5
  551. package/lib/esm/tests/api_tests/get_some_projection.test.d.ts.map +1 -1
  552. package/lib/esm/tests/api_tests/get_some_projection.test.js +339 -296
  553. package/lib/esm/tests/api_tests/get_some_projection.test.js.map +1 -1
  554. package/lib/esm/tests/api_tests/group_event_attendee_self_update.test.d.ts +6 -5
  555. package/lib/esm/tests/api_tests/group_event_attendee_self_update.test.d.ts.map +1 -1
  556. package/lib/esm/tests/api_tests/group_event_attendee_self_update.test.js +292 -222
  557. package/lib/esm/tests/api_tests/group_event_attendee_self_update.test.js.map +1 -1
  558. package/lib/esm/tests/api_tests/integrations_redacted.test.d.ts +6 -5
  559. package/lib/esm/tests/api_tests/integrations_redacted.test.d.ts.map +1 -1
  560. package/lib/esm/tests/api_tests/integrations_redacted.test.js +304 -211
  561. package/lib/esm/tests/api_tests/integrations_redacted.test.js.map +1 -1
  562. package/lib/esm/tests/api_tests/journey_delete_cancels_actions.test.d.ts +6 -5
  563. package/lib/esm/tests/api_tests/journey_delete_cancels_actions.test.d.ts.map +1 -1
  564. package/lib/esm/tests/api_tests/journey_delete_cancels_actions.test.js +177 -154
  565. package/lib/esm/tests/api_tests/journey_delete_cancels_actions.test.js.map +1 -1
  566. package/lib/esm/tests/api_tests/journey_statistics_cache.test.d.ts +26 -0
  567. package/lib/esm/tests/api_tests/journey_statistics_cache.test.d.ts.map +1 -0
  568. package/lib/esm/tests/api_tests/journey_statistics_cache.test.js +227 -0
  569. package/lib/esm/tests/api_tests/journey_statistics_cache.test.js.map +1 -0
  570. package/lib/esm/tests/api_tests/journey_step_manual_count.test.d.ts +34 -0
  571. package/lib/esm/tests/api_tests/journey_step_manual_count.test.d.ts.map +1 -0
  572. package/lib/esm/tests/api_tests/journey_step_manual_count.test.js +238 -0
  573. package/lib/esm/tests/api_tests/journey_step_manual_count.test.js.map +1 -0
  574. package/lib/esm/tests/api_tests/load_team_chat.test.d.ts.map +1 -1
  575. package/lib/esm/tests/api_tests/load_team_chat.test.js +181 -124
  576. package/lib/esm/tests/api_tests/load_team_chat.test.js.map +1 -1
  577. package/lib/esm/tests/api_tests/load_threads_autobuild.test.d.ts +24 -5
  578. package/lib/esm/tests/api_tests/load_threads_autobuild.test.d.ts.map +1 -1
  579. package/lib/esm/tests/api_tests/load_threads_autobuild.test.js +259 -226
  580. package/lib/esm/tests/api_tests/load_threads_autobuild.test.js.map +1 -1
  581. package/lib/esm/tests/api_tests/load_threads_care_team.test.d.ts +9 -1
  582. package/lib/esm/tests/api_tests/load_threads_care_team.test.d.ts.map +1 -1
  583. package/lib/esm/tests/api_tests/load_threads_care_team.test.js +117 -31
  584. package/lib/esm/tests/api_tests/load_threads_care_team.test.js.map +1 -1
  585. package/lib/esm/tests/api_tests/managed_content_file_access.test.d.ts +15 -5
  586. package/lib/esm/tests/api_tests/managed_content_file_access.test.d.ts.map +1 -1
  587. package/lib/esm/tests/api_tests/managed_content_file_access.test.js +283 -287
  588. package/lib/esm/tests/api_tests/managed_content_file_access.test.js.map +1 -1
  589. package/lib/esm/tests/api_tests/mdb_sort.test.d.ts +20 -5
  590. package/lib/esm/tests/api_tests/mdb_sort.test.d.ts.map +1 -1
  591. package/lib/esm/tests/api_tests/mdb_sort.test.js +358 -303
  592. package/lib/esm/tests/api_tests/mdb_sort.test.js.map +1 -1
  593. package/lib/esm/tests/api_tests/mdi_manual_sync.test.d.ts +27 -0
  594. package/lib/esm/tests/api_tests/mdi_manual_sync.test.d.ts.map +1 -0
  595. package/lib/esm/tests/api_tests/mdi_manual_sync.test.js +390 -0
  596. package/lib/esm/tests/api_tests/mdi_manual_sync.test.js.map +1 -0
  597. package/lib/esm/tests/api_tests/mdi_trigger_refill.test.d.ts +6 -5
  598. package/lib/esm/tests/api_tests/mdi_trigger_refill.test.d.ts.map +1 -1
  599. package/lib/esm/tests/api_tests/mdi_trigger_refill.test.js +257 -208
  600. package/lib/esm/tests/api_tests/mdi_trigger_refill.test.js.map +1 -1
  601. package/lib/esm/tests/api_tests/mdi_webhooks.test.d.ts +12 -5
  602. package/lib/esm/tests/api_tests/mdi_webhooks.test.d.ts.map +1 -1
  603. package/lib/esm/tests/api_tests/mdi_webhooks.test.js +65 -60
  604. package/lib/esm/tests/api_tests/mdi_webhooks.test.js.map +1 -1
  605. package/lib/esm/tests/api_tests/message_assignment_trigger.test.d.ts +23 -14
  606. package/lib/esm/tests/api_tests/message_assignment_trigger.test.d.ts.map +1 -1
  607. package/lib/esm/tests/api_tests/message_assignment_trigger.test.js +256 -305
  608. package/lib/esm/tests/api_tests/message_assignment_trigger.test.js.map +1 -1
  609. package/lib/esm/tests/api_tests/metriport_push_form_response.test.d.ts +6 -5
  610. package/lib/esm/tests/api_tests/metriport_push_form_response.test.d.ts.map +1 -1
  611. package/lib/esm/tests/api_tests/metriport_push_form_response.test.js +298 -236
  612. package/lib/esm/tests/api_tests/metriport_push_form_response.test.js.map +1 -1
  613. package/lib/esm/tests/api_tests/organization_api_keys.test.d.ts.map +1 -1
  614. package/lib/esm/tests/api_tests/organization_api_keys.test.js +226 -59
  615. package/lib/esm/tests/api_tests/organization_api_keys.test.js.map +1 -1
  616. package/lib/esm/tests/api_tests/organization_settings_duplicates.test.d.ts +19 -5
  617. package/lib/esm/tests/api_tests/organization_settings_duplicates.test.d.ts.map +1 -1
  618. package/lib/esm/tests/api_tests/organization_settings_duplicates.test.js +332 -220
  619. package/lib/esm/tests/api_tests/organization_settings_duplicates.test.js.map +1 -1
  620. package/lib/esm/tests/api_tests/organization_signup.test.d.ts +3 -1
  621. package/lib/esm/tests/api_tests/organization_signup.test.d.ts.map +1 -1
  622. package/lib/esm/tests/api_tests/organization_signup.test.js +220 -51
  623. package/lib/esm/tests/api_tests/organization_signup.test.js.map +1 -1
  624. package/lib/esm/tests/api_tests/out_of_office_endpoint.test.d.ts.map +1 -1
  625. package/lib/esm/tests/api_tests/out_of_office_endpoint.test.js +109 -1
  626. package/lib/esm/tests/api_tests/out_of_office_endpoint.test.js.map +1 -1
  627. package/lib/esm/tests/api_tests/outbound_chat_sent_trigger.test.d.ts +6 -6
  628. package/lib/esm/tests/api_tests/outbound_chat_sent_trigger.test.d.ts.map +1 -1
  629. package/lib/esm/tests/api_tests/outbound_chat_sent_trigger.test.js +308 -361
  630. package/lib/esm/tests/api_tests/outbound_chat_sent_trigger.test.js.map +1 -1
  631. package/lib/esm/tests/api_tests/phone_calls_cold_transfer.test.d.ts +6 -5
  632. package/lib/esm/tests/api_tests/phone_calls_cold_transfer.test.d.ts.map +1 -1
  633. package/lib/esm/tests/api_tests/phone_calls_cold_transfer.test.js +243 -163
  634. package/lib/esm/tests/api_tests/phone_calls_cold_transfer.test.js.map +1 -1
  635. package/lib/esm/tests/api_tests/phone_calls_conference_hold.test.d.ts +15 -5
  636. package/lib/esm/tests/api_tests/phone_calls_conference_hold.test.d.ts.map +1 -1
  637. package/lib/esm/tests/api_tests/phone_calls_conference_hold.test.js +127 -45
  638. package/lib/esm/tests/api_tests/phone_calls_conference_hold.test.js.map +1 -1
  639. package/lib/esm/tests/api_tests/phone_embed_leave_message.test.d.ts +7 -0
  640. package/lib/esm/tests/api_tests/phone_embed_leave_message.test.d.ts.map +1 -0
  641. package/lib/esm/tests/api_tests/phone_embed_leave_message.test.js +566 -0
  642. package/lib/esm/tests/api_tests/phone_embed_leave_message.test.js.map +1 -0
  643. package/lib/esm/tests/api_tests/phone_tree_enduser_condition.test.d.ts +6 -5
  644. package/lib/esm/tests/api_tests/phone_tree_enduser_condition.test.d.ts.map +1 -1
  645. package/lib/esm/tests/api_tests/phone_tree_enduser_condition.test.js +177 -130
  646. package/lib/esm/tests/api_tests/phone_tree_enduser_condition.test.js.map +1 -1
  647. package/lib/esm/tests/api_tests/programs.test.d.ts +3 -1
  648. package/lib/esm/tests/api_tests/programs.test.d.ts.map +1 -1
  649. package/lib/esm/tests/api_tests/programs.test.js +473 -50
  650. package/lib/esm/tests/api_tests/programs.test.js.map +1 -1
  651. package/lib/esm/tests/api_tests/public_form_case_insensitive_match.test.d.ts +7 -0
  652. package/lib/esm/tests/api_tests/public_form_case_insensitive_match.test.d.ts.map +1 -0
  653. package/lib/esm/tests/api_tests/public_form_case_insensitive_match.test.js +728 -0
  654. package/lib/esm/tests/api_tests/public_form_case_insensitive_match.test.js.map +1 -0
  655. package/lib/esm/tests/api_tests/security/add-to-journey-foreign-enduserid.test.d.ts +3 -1
  656. package/lib/esm/tests/api_tests/security/add-to-journey-foreign-enduserid.test.d.ts.map +1 -1
  657. package/lib/esm/tests/api_tests/security/add-to-journey-foreign-enduserid.test.js +2 -0
  658. package/lib/esm/tests/api_tests/security/add-to-journey-foreign-enduserid.test.js.map +1 -1
  659. package/lib/esm/tests/api_tests/security/ai-conversations-rbac.test.d.ts +10 -5
  660. package/lib/esm/tests/api_tests/security/ai-conversations-rbac.test.d.ts.map +1 -1
  661. package/lib/esm/tests/api_tests/security/ai-conversations-rbac.test.js +399 -281
  662. package/lib/esm/tests/api_tests/security/ai-conversations-rbac.test.js.map +1 -1
  663. package/lib/esm/tests/api_tests/security/appointment-reschedule-ownership.test.d.ts +3 -1
  664. package/lib/esm/tests/api_tests/security/appointment-reschedule-ownership.test.d.ts.map +1 -1
  665. package/lib/esm/tests/api_tests/security/appointment-reschedule-ownership.test.js +2 -0
  666. package/lib/esm/tests/api_tests/security/appointment-reschedule-ownership.test.js.map +1 -1
  667. package/lib/esm/tests/api_tests/security/automated-actions-process-gate.test.d.ts +9 -5
  668. package/lib/esm/tests/api_tests/security/automated-actions-process-gate.test.d.ts.map +1 -1
  669. package/lib/esm/tests/api_tests/security/automated-actions-process-gate.test.js +225 -209
  670. package/lib/esm/tests/api_tests/security/automated-actions-process-gate.test.js.map +1 -1
  671. package/lib/esm/tests/api_tests/security/booking-info-idor-token-mint.test.d.ts +13 -8
  672. package/lib/esm/tests/api_tests/security/booking-info-idor-token-mint.test.d.ts.map +1 -1
  673. package/lib/esm/tests/api_tests/security/booking-info-idor-token-mint.test.js +268 -253
  674. package/lib/esm/tests/api_tests/security/booking-info-idor-token-mint.test.js.map +1 -1
  675. package/lib/esm/tests/api_tests/security/cascade-role-rename-cross-tenant.test.d.ts +16 -6
  676. package/lib/esm/tests/api_tests/security/cascade-role-rename-cross-tenant.test.d.ts.map +1 -1
  677. package/lib/esm/tests/api_tests/security/cascade-role-rename-cross-tenant.test.js +165 -141
  678. package/lib/esm/tests/api_tests/security/cascade-role-rename-cross-tenant.test.js.map +1 -1
  679. package/lib/esm/tests/api_tests/security/data-sync-redaction-bypass.test.d.ts +10 -5
  680. package/lib/esm/tests/api_tests/security/data-sync-redaction-bypass.test.d.ts.map +1 -1
  681. package/lib/esm/tests/api_tests/security/data-sync-redaction-bypass.test.js +294 -220
  682. package/lib/esm/tests/api_tests/security/data-sync-redaction-bypass.test.js.map +1 -1
  683. package/lib/esm/tests/api_tests/security/develop-health-benefit-verification-rbac.test.d.ts +12 -5
  684. package/lib/esm/tests/api_tests/security/develop-health-benefit-verification-rbac.test.d.ts.map +1 -1
  685. package/lib/esm/tests/api_tests/security/develop-health-benefit-verification-rbac.test.js +219 -215
  686. package/lib/esm/tests/api_tests/security/develop-health-benefit-verification-rbac.test.js.map +1 -1
  687. package/lib/esm/tests/api_tests/security/enduser-ai-summary-trust-gate.test.d.ts +11 -5
  688. package/lib/esm/tests/api_tests/security/enduser-ai-summary-trust-gate.test.d.ts.map +1 -1
  689. package/lib/esm/tests/api_tests/security/enduser-ai-summary-trust-gate.test.js +298 -202
  690. package/lib/esm/tests/api_tests/security/enduser-ai-summary-trust-gate.test.js.map +1 -1
  691. package/lib/esm/tests/api_tests/security/enduser-cross-create.test.d.ts +11 -5
  692. package/lib/esm/tests/api_tests/security/enduser-cross-create.test.d.ts.map +1 -1
  693. package/lib/esm/tests/api_tests/security/enduser-cross-create.test.js +413 -274
  694. package/lib/esm/tests/api_tests/security/enduser-cross-create.test.js.map +1 -1
  695. package/lib/esm/tests/api_tests/security/enduser-write-restrictions.test.d.ts +11 -5
  696. package/lib/esm/tests/api_tests/security/enduser-write-restrictions.test.d.ts.map +1 -1
  697. package/lib/esm/tests/api_tests/security/enduser-write-restrictions.test.js +345 -227
  698. package/lib/esm/tests/api_tests/security/enduser-write-restrictions.test.js.map +1 -1
  699. package/lib/esm/tests/api_tests/security/file-link-session-confinement.test.d.ts +3 -1
  700. package/lib/esm/tests/api_tests/security/file-link-session-confinement.test.d.ts.map +1 -1
  701. package/lib/esm/tests/api_tests/security/file-link-session-confinement.test.js +2 -0
  702. package/lib/esm/tests/api_tests/security/file-link-session-confinement.test.js.map +1 -1
  703. package/lib/esm/tests/api_tests/security/form-logic-js-execution.test.d.ts +3 -1
  704. package/lib/esm/tests/api_tests/security/form-logic-js-execution.test.d.ts.map +1 -1
  705. package/lib/esm/tests/api_tests/security/form-logic-js-execution.test.js +2 -0
  706. package/lib/esm/tests/api_tests/security/form-logic-js-execution.test.js.map +1 -1
  707. package/lib/esm/tests/api_tests/security/formsort_webhook_auth_field_lock.test.d.ts.map +1 -1
  708. package/lib/esm/tests/api_tests/security/formsort_webhook_auth_field_lock.test.js +424 -39
  709. package/lib/esm/tests/api_tests/security/formsort_webhook_auth_field_lock.test.js.map +1 -1
  710. package/lib/esm/tests/api_tests/security/globalunique-conflict-redaction.test.d.ts +18 -7
  711. package/lib/esm/tests/api_tests/security/globalunique-conflict-redaction.test.d.ts.map +1 -1
  712. package/lib/esm/tests/api_tests/security/globalunique-conflict-redaction.test.js +162 -74
  713. package/lib/esm/tests/api_tests/security/globalunique-conflict-redaction.test.js.map +1 -1
  714. package/lib/esm/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.d.ts +15 -9
  715. package/lib/esm/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.d.ts.map +1 -1
  716. package/lib/esm/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.js +96 -100
  717. package/lib/esm/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.js.map +1 -1
  718. package/lib/esm/tests/api_tests/security/load-inbox-redaction.test.d.ts +11 -5
  719. package/lib/esm/tests/api_tests/security/load-inbox-redaction.test.d.ts.map +1 -1
  720. package/lib/esm/tests/api_tests/security/load-inbox-redaction.test.js +129 -87
  721. package/lib/esm/tests/api_tests/security/load-inbox-redaction.test.js.map +1 -1
  722. package/lib/esm/tests/api_tests/security/proxy-image-unauth-ssrf.test.d.ts +12 -5
  723. package/lib/esm/tests/api_tests/security/proxy-image-unauth-ssrf.test.d.ts.map +1 -1
  724. package/lib/esm/tests/api_tests/security/proxy-image-unauth-ssrf.test.js +187 -136
  725. package/lib/esm/tests/api_tests/security/proxy-image-unauth-ssrf.test.js.map +1 -1
  726. package/lib/esm/tests/api_tests/security/register_business_id_injection.test.d.ts +18 -16
  727. package/lib/esm/tests/api_tests/security/register_business_id_injection.test.d.ts.map +1 -1
  728. package/lib/esm/tests/api_tests/security/register_business_id_injection.test.js +162 -123
  729. package/lib/esm/tests/api_tests/security/register_business_id_injection.test.js.map +1 -1
  730. package/lib/esm/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.d.ts +3 -1
  731. package/lib/esm/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.d.ts.map +1 -1
  732. package/lib/esm/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.js +2 -0
  733. package/lib/esm/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.js.map +1 -1
  734. package/lib/esm/tests/api_tests/security/sanitize-user-html-with-iframes.test.d.ts.map +1 -1
  735. package/lib/esm/tests/api_tests/security/sanitize-user-html-with-iframes.test.js +122 -2
  736. package/lib/esm/tests/api_tests/security/sanitize-user-html-with-iframes.test.js.map +1 -1
  737. package/lib/esm/tests/api_tests/security/schema-adminonly-enforcement.test.d.ts +11 -5
  738. package/lib/esm/tests/api_tests/security/schema-adminonly-enforcement.test.d.ts.map +1 -1
  739. package/lib/esm/tests/api_tests/security/schema-adminonly-enforcement.test.js +285 -272
  740. package/lib/esm/tests/api_tests/security/schema-adminonly-enforcement.test.js.map +1 -1
  741. package/lib/esm/tests/api_tests/security/self-admin-role-assignment.test.d.ts +17 -10
  742. package/lib/esm/tests/api_tests/security/self-admin-role-assignment.test.d.ts.map +1 -1
  743. package/lib/esm/tests/api_tests/security/self-admin-role-assignment.test.js +171 -137
  744. package/lib/esm/tests/api_tests/security/self-admin-role-assignment.test.js.map +1 -1
  745. package/lib/esm/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.d.ts +6 -5
  746. package/lib/esm/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.d.ts.map +1 -1
  747. package/lib/esm/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.js +307 -263
  748. package/lib/esm/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.js.map +1 -1
  749. package/lib/esm/tests/api_tests/security/webhook-timeout.test.d.ts +9 -5
  750. package/lib/esm/tests/api_tests/security/webhook-timeout.test.d.ts.map +1 -1
  751. package/lib/esm/tests/api_tests/security/webhook-timeout.test.js +105 -81
  752. package/lib/esm/tests/api_tests/security/webhook-timeout.test.js.map +1 -1
  753. package/lib/esm/tests/api_tests/session_for_join_link.test.d.ts +10 -0
  754. package/lib/esm/tests/api_tests/session_for_join_link.test.d.ts.map +1 -0
  755. package/lib/esm/tests/api_tests/session_for_join_link.test.js +142 -0
  756. package/lib/esm/tests/api_tests/session_for_join_link.test.js.map +1 -0
  757. package/lib/esm/tests/api_tests/set_fields_order_templates.test.d.ts.map +1 -1
  758. package/lib/esm/tests/api_tests/set_fields_order_templates.test.js +191 -88
  759. package/lib/esm/tests/api_tests/set_fields_order_templates.test.js.map +1 -1
  760. package/lib/esm/tests/api_tests/stedi_approval.test.d.ts +6 -5
  761. package/lib/esm/tests/api_tests/stedi_approval.test.d.ts.map +1 -1
  762. package/lib/esm/tests/api_tests/stedi_approval.test.js +204 -136
  763. package/lib/esm/tests/api_tests/stedi_approval.test.js.map +1 -1
  764. package/lib/esm/tests/api_tests/stripe_checkout_items.test.d.ts +17 -0
  765. package/lib/esm/tests/api_tests/stripe_checkout_items.test.d.ts.map +1 -0
  766. package/lib/esm/tests/api_tests/stripe_checkout_items.test.js +214 -0
  767. package/lib/esm/tests/api_tests/stripe_checkout_items.test.js.map +1 -0
  768. package/lib/esm/tests/api_tests/stripe_multiple_customer_ids.test.d.ts +5 -0
  769. package/lib/esm/tests/api_tests/stripe_multiple_customer_ids.test.d.ts.map +1 -0
  770. package/lib/esm/tests/api_tests/stripe_multiple_customer_ids.test.js +388 -0
  771. package/lib/esm/tests/api_tests/stripe_multiple_customer_ids.test.js.map +1 -0
  772. package/lib/esm/tests/api_tests/ticket_stage_archive.test.d.ts +7 -0
  773. package/lib/esm/tests/api_tests/ticket_stage_archive.test.d.ts.map +1 -0
  774. package/lib/esm/tests/api_tests/ticket_stage_archive.test.js +339 -0
  775. package/lib/esm/tests/api_tests/ticket_stage_archive.test.js.map +1 -0
  776. package/lib/esm/tests/api_tests/tickets_bulk_assign_care_team.test.d.ts +6 -5
  777. package/lib/esm/tests/api_tests/tickets_bulk_assign_care_team.test.d.ts.map +1 -1
  778. package/lib/esm/tests/api_tests/tickets_bulk_assign_care_team.test.js +162 -147
  779. package/lib/esm/tests/api_tests/tickets_bulk_assign_care_team.test.js.map +1 -1
  780. package/lib/esm/tests/api_tests/tickets_bulk_assign_from_queue.test.d.ts +3 -1
  781. package/lib/esm/tests/api_tests/tickets_bulk_assign_from_queue.test.d.ts.map +1 -1
  782. package/lib/esm/tests/api_tests/tickets_bulk_assign_from_queue.test.js +2 -0
  783. package/lib/esm/tests/api_tests/tickets_bulk_assign_from_queue.test.js.map +1 -1
  784. package/lib/esm/tests/api_tests/totp_mfa.test.d.ts.map +1 -1
  785. package/lib/esm/tests/api_tests/totp_mfa.test.js +37 -31
  786. package/lib/esm/tests/api_tests/totp_mfa.test.js.map +1 -1
  787. package/lib/esm/tests/api_tests/translations.test.d.ts +6 -5
  788. package/lib/esm/tests/api_tests/translations.test.d.ts.map +1 -1
  789. package/lib/esm/tests/api_tests/translations.test.js +102 -74
  790. package/lib/esm/tests/api_tests/translations.test.js.map +1 -1
  791. package/lib/esm/tests/api_tests/trigger_contains_matching.test.d.ts +3 -1
  792. package/lib/esm/tests/api_tests/trigger_contains_matching.test.d.ts.map +1 -1
  793. package/lib/esm/tests/api_tests/trigger_contains_matching.test.js +2 -0
  794. package/lib/esm/tests/api_tests/trigger_contains_matching.test.js.map +1 -1
  795. package/lib/esm/tests/api_tests/trigger_set_fields_date_difference.test.d.ts +21 -4
  796. package/lib/esm/tests/api_tests/trigger_set_fields_date_difference.test.d.ts.map +1 -1
  797. package/lib/esm/tests/api_tests/trigger_set_fields_date_difference.test.js +236 -369
  798. package/lib/esm/tests/api_tests/trigger_set_fields_date_difference.test.js.map +1 -1
  799. package/lib/esm/tests/api_tests/user_logs_restore_deleted.test.d.ts +3 -1
  800. package/lib/esm/tests/api_tests/user_logs_restore_deleted.test.d.ts.map +1 -1
  801. package/lib/esm/tests/api_tests/user_logs_restore_deleted.test.js +2 -0
  802. package/lib/esm/tests/api_tests/user_logs_restore_deleted.test.js.map +1 -1
  803. package/lib/esm/tests/api_tests/user_preferences.test.d.ts +30 -0
  804. package/lib/esm/tests/api_tests/user_preferences.test.d.ts.map +1 -0
  805. package/lib/esm/tests/api_tests/user_preferences.test.js +274 -0
  806. package/lib/esm/tests/api_tests/user_preferences.test.js.map +1 -0
  807. package/lib/esm/tests/api_tests/vital_review_trigger_action.test.d.ts +3 -1
  808. package/lib/esm/tests/api_tests/vital_review_trigger_action.test.d.ts.map +1 -1
  809. package/lib/esm/tests/api_tests/vital_review_trigger_action.test.js +2 -0
  810. package/lib/esm/tests/api_tests/vital_review_trigger_action.test.js.map +1 -1
  811. package/lib/esm/tests/api_tests/vitl_push.test.d.ts +7 -0
  812. package/lib/esm/tests/api_tests/vitl_push.test.d.ts.map +1 -0
  813. package/lib/esm/tests/api_tests/vitl_push.test.js +333 -0
  814. package/lib/esm/tests/api_tests/vitl_push.test.js.map +1 -0
  815. package/lib/esm/tests/api_tests/webhook_error_handling.test.d.ts +17 -5
  816. package/lib/esm/tests/api_tests/webhook_error_handling.test.d.ts.map +1 -1
  817. package/lib/esm/tests/api_tests/webhook_error_handling.test.js +202 -194
  818. package/lib/esm/tests/api_tests/webhook_error_handling.test.js.map +1 -1
  819. package/lib/esm/tests/api_tests/webhook_raw_json_number.test.d.ts +15 -5
  820. package/lib/esm/tests/api_tests/webhook_raw_json_number.test.d.ts.map +1 -1
  821. package/lib/esm/tests/api_tests/webhook_raw_json_number.test.js +152 -178
  822. package/lib/esm/tests/api_tests/webhook_raw_json_number.test.js.map +1 -1
  823. package/lib/esm/tests/api_tests/welle_partner_token.test.d.ts +6 -5
  824. package/lib/esm/tests/api_tests/welle_partner_token.test.d.ts.map +1 -1
  825. package/lib/esm/tests/api_tests/welle_partner_token.test.js +391 -250
  826. package/lib/esm/tests/api_tests/welle_partner_token.test.js.map +1 -1
  827. package/lib/esm/tests/setup_isolated.d.ts +55 -0
  828. package/lib/esm/tests/setup_isolated.d.ts.map +1 -1
  829. package/lib/esm/tests/setup_isolated.js +114 -0
  830. package/lib/esm/tests/setup_isolated.js.map +1 -1
  831. package/lib/esm/tests/tests.d.ts.map +1 -1
  832. package/lib/esm/tests/tests.js +386 -536
  833. package/lib/esm/tests/tests.js.map +1 -1
  834. package/lib/esm/tests/unit_tests/date_string_validation.test.d.ts +2 -0
  835. package/lib/esm/tests/unit_tests/date_string_validation.test.d.ts.map +1 -0
  836. package/lib/esm/tests/unit_tests/date_string_validation.test.js +108 -0
  837. package/lib/esm/tests/unit_tests/date_string_validation.test.js.map +1 -0
  838. package/lib/esm/tests/unit_tests/isolated_suite_discovery.test.d.ts +2 -0
  839. package/lib/esm/tests/unit_tests/isolated_suite_discovery.test.d.ts.map +1 -0
  840. package/lib/esm/tests/unit_tests/isolated_suite_discovery.test.js +174 -0
  841. package/lib/esm/tests/unit_tests/isolated_suite_discovery.test.js.map +1 -0
  842. package/lib/esm/tests/unit_tests/programs_conditional_logic.test.d.ts +3 -0
  843. package/lib/esm/tests/unit_tests/programs_conditional_logic.test.d.ts.map +1 -0
  844. package/lib/esm/tests/unit_tests/programs_conditional_logic.test.js +117 -0
  845. package/lib/esm/tests/unit_tests/programs_conditional_logic.test.js.map +1 -0
  846. package/lib/esm/tests/webhooks_tests.js +44 -34
  847. package/lib/esm/tests/webhooks_tests.js.map +1 -1
  848. package/lib/tsconfig.tsbuildinfo +1 -1
  849. package/package.json +12 -11
  850. package/src/sdk.ts +14 -2
  851. package/src/tests/api_tests/ai_conversations.test.ts +170 -138
  852. package/src/tests/api_tests/ai_conversations_agent_message.test.ts +491 -0
  853. package/src/tests/api_tests/appointment_link_expiration.test.ts +94 -35
  854. package/src/tests/api_tests/appointment_no_showed_trigger.test.ts +181 -128
  855. package/src/tests/api_tests/availability_block_buffer.test.ts +286 -0
  856. package/src/tests/api_tests/beluga_manual_sync.test.ts +103 -53
  857. package/src/tests/api_tests/beluga_trigger_refill.test.ts +131 -46
  858. package/src/tests/api_tests/booking_prevent_upcoming_duplicate.test.ts +541 -0
  859. package/src/tests/api_tests/bulk_assignment.test.ts +307 -220
  860. package/src/tests/api_tests/calendar_event_references_update.test.ts +97 -54
  861. package/src/tests/api_tests/calendar_event_webhook_template.test.ts +198 -158
  862. package/src/tests/api_tests/chats_analytics.test.ts +161 -123
  863. package/src/tests/api_tests/concurrent_build_threads.test.ts +80 -69
  864. package/src/tests/api_tests/configurations_public_read.test.ts +154 -67
  865. package/src/tests/api_tests/copied_form_response_no_enduser_sync.test.ts +307 -0
  866. package/src/tests/api_tests/create_note_action.test.ts +149 -70
  867. package/src/tests/api_tests/create_user_notifications_trigger.test.ts +116 -144
  868. package/src/tests/api_tests/custom_aggregation.test.ts +163 -92
  869. package/src/tests/api_tests/database_cascade_delete.test.ts +101 -87
  870. package/src/tests/api_tests/dont_sync_to_elation_form_submission.test.ts +122 -51
  871. package/src/tests/api_tests/elation_user_id.test.ts +105 -42
  872. package/src/tests/api_tests/enduser_fields_sync.test.ts +4 -0
  873. package/src/tests/api_tests/enduser_observations_auto_review.test.ts +4 -0
  874. package/src/tests/api_tests/file_download_unicode_names.test.ts +171 -122
  875. package/src/tests/api_tests/form_intake_email_normalization.test.ts +489 -0
  876. package/src/tests/api_tests/form_submitted_trigger.test.ts +152 -86
  877. package/src/tests/api_tests/form_translations.test.ts +117 -48
  878. package/src/tests/api_tests/form_vital_reading.test.ts +393 -0
  879. package/src/tests/api_tests/formsort_header_auth.test.ts +147 -97
  880. package/src/tests/api_tests/gcal_sync_retry.test.ts +71 -49
  881. package/src/tests/api_tests/get_some_projection.test.ts +333 -169
  882. package/src/tests/api_tests/group_event_attendee_self_update.test.ts +103 -52
  883. package/src/tests/api_tests/integrations_redacted.test.ts +161 -84
  884. package/src/tests/api_tests/journey_delete_cancels_actions.test.ts +93 -64
  885. package/src/tests/api_tests/journey_statistics_cache.test.ts +237 -0
  886. package/src/tests/api_tests/journey_step_manual_count.test.ts +220 -0
  887. package/src/tests/api_tests/load_team_chat.test.ts +62 -6
  888. package/src/tests/api_tests/load_threads_autobuild.test.ts +163 -67
  889. package/src/tests/api_tests/load_threads_care_team.test.ts +107 -0
  890. package/src/tests/api_tests/managed_content_file_access.test.ts +132 -108
  891. package/src/tests/api_tests/mdb_sort.test.ts +247 -161
  892. package/src/tests/api_tests/mdi_manual_sync.test.ts +277 -0
  893. package/src/tests/api_tests/mdi_trigger_refill.test.ts +132 -78
  894. package/src/tests/api_tests/mdi_webhooks.test.ts +52 -22
  895. package/src/tests/api_tests/message_assignment_trigger.test.ts +129 -155
  896. package/src/tests/api_tests/metriport_push_form_response.test.ts +109 -49
  897. package/src/tests/api_tests/organization_api_keys.test.ts +170 -2
  898. package/src/tests/api_tests/organization_settings_duplicates.test.ts +291 -181
  899. package/src/tests/api_tests/organization_signup.test.ts +174 -5
  900. package/src/tests/api_tests/out_of_office_endpoint.test.ts +98 -0
  901. package/src/tests/api_tests/outbound_chat_sent_trigger.test.ts +163 -175
  902. package/src/tests/api_tests/phone_calls_cold_transfer.test.ts +195 -133
  903. package/src/tests/api_tests/phone_calls_conference_hold.test.ts +112 -42
  904. package/src/tests/api_tests/phone_embed_leave_message.test.ts +541 -0
  905. package/src/tests/api_tests/phone_tree_enduser_condition.test.ts +81 -32
  906. package/src/tests/api_tests/programs.test.ts +701 -0
  907. package/src/tests/api_tests/public_form_case_insensitive_match.test.ts +632 -0
  908. package/src/tests/api_tests/security/add-to-journey-foreign-enduserid.test.ts +4 -0
  909. package/src/tests/api_tests/security/ai-conversations-rbac.test.ts +248 -128
  910. package/src/tests/api_tests/security/appointment-reschedule-ownership.test.ts +4 -0
  911. package/src/tests/api_tests/security/automated-actions-process-gate.test.ts +47 -42
  912. package/src/tests/api_tests/security/booking-info-idor-token-mint.test.ts +53 -45
  913. package/src/tests/api_tests/security/cascade-role-rename-cross-tenant.test.ts +100 -73
  914. package/src/tests/api_tests/security/data-sync-redaction-bypass.test.ts +125 -59
  915. package/src/tests/api_tests/security/develop-health-benefit-verification-rbac.test.ts +131 -103
  916. package/src/tests/api_tests/security/enduser-ai-summary-trust-gate.test.ts +161 -68
  917. package/src/tests/api_tests/security/enduser-cross-create.test.ts +200 -61
  918. package/src/tests/api_tests/security/enduser-write-restrictions.test.ts +179 -61
  919. package/src/tests/api_tests/security/file-link-session-confinement.test.ts +4 -0
  920. package/src/tests/api_tests/security/form-logic-js-execution.test.ts +4 -0
  921. package/src/tests/api_tests/security/formsort_webhook_auth_field_lock.test.ts +225 -0
  922. package/src/tests/api_tests/security/globalunique-conflict-redaction.test.ts +163 -44
  923. package/src/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.ts +78 -70
  924. package/src/tests/api_tests/security/load-inbox-redaction.test.ts +79 -44
  925. package/src/tests/api_tests/security/proxy-image-unauth-ssrf.test.ts +95 -52
  926. package/src/tests/api_tests/security/register_business_id_injection.test.ts +132 -93
  927. package/src/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.ts +4 -0
  928. package/src/tests/api_tests/security/sanitize-user-html-with-iframes.test.ts +127 -0
  929. package/src/tests/api_tests/security/schema-adminonly-enforcement.test.ts +42 -37
  930. package/src/tests/api_tests/security/self-admin-role-assignment.test.ts +92 -54
  931. package/src/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.ts +76 -34
  932. package/src/tests/api_tests/security/webhook-timeout.test.ts +67 -36
  933. package/src/tests/api_tests/session_for_join_link.test.ts +99 -0
  934. package/src/tests/api_tests/set_fields_order_templates.test.ts +94 -9
  935. package/src/tests/api_tests/stedi_approval.test.ts +156 -90
  936. package/src/tests/api_tests/stripe_checkout_items.test.ts +186 -0
  937. package/src/tests/api_tests/ticket_stage_archive.test.ts +314 -0
  938. package/src/tests/api_tests/tickets_bulk_assign_care_team.test.ts +138 -103
  939. package/src/tests/api_tests/tickets_bulk_assign_from_queue.test.ts +4 -0
  940. package/src/tests/api_tests/totp_mfa.test.ts +10 -5
  941. package/src/tests/api_tests/translations.test.ts +69 -46
  942. package/src/tests/api_tests/trigger_contains_matching.test.ts +4 -0
  943. package/src/tests/api_tests/trigger_set_fields_date_difference.test.ts +198 -256
  944. package/src/tests/api_tests/user_logs_restore_deleted.test.ts +4 -0
  945. package/src/tests/api_tests/user_preferences.test.ts +227 -0
  946. package/src/tests/api_tests/vital_review_trigger_action.test.ts +455 -0
  947. package/src/tests/api_tests/vitl_push.test.ts +323 -0
  948. package/src/tests/api_tests/webhook_error_handling.test.ts +121 -60
  949. package/src/tests/api_tests/webhook_raw_json_number.test.ts +127 -109
  950. package/src/tests/api_tests/welle_partner_token.test.ts +217 -90
  951. package/src/tests/setup_isolated.ts +147 -0
  952. package/src/tests/tests.ts +165 -177
  953. package/src/tests/{api_tests → unit_tests}/date_string_validation.test.ts +2 -23
  954. package/src/tests/unit_tests/isolated_suite_discovery.test.ts +178 -0
  955. package/src/tests/unit_tests/programs_conditional_logic.test.ts +189 -0
  956. package/src/tests/webhooks_tests.ts +6 -1
  957. package/test_generated.pdf +0 -0
@@ -35,9 +35,11 @@ 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 { log_header, wait, } from "@tellescope/testing";
40
- import { setup_tests } from "../setup";
38
+ import { EnduserSession } from "../../sdk";
39
+ import { poll_for_results, wait, } from "@tellescope/testing";
40
+ import { assert_checks, setup_isolated_tenant, } from "../setup_isolated";
41
+ var host = process.env.API_URL || 'http://localhost:8080';
42
+ var RAND = function () { return Math.random().toString(36).slice(2, 10); };
41
43
  /**
42
44
  * Tests for the "Outbound Chat Sent" automation trigger event.
43
45
  *
@@ -47,8 +49,22 @@ import { setup_tests } from "../setup";
47
49
  * 3. Multi-enduser room, inbound (one enduser's session) → neither enduser tagged or stamped
48
50
  * 4. Multi-enduser room, outbound (user session) → BOTH endusers tagged + stamped
49
51
  * 5. User session, senderId = enduser.id (backfill case) → treated as inbound: no trigger, no stamp
52
+ * 6. Autoreply chat (isAutoreply: true) → no trigger, no stamp
50
53
  *
51
- * Chats are NOT explicitly deleted — they cascade-delete from chat_rooms.
54
+ * Runs on its own provisioned tenant, which is not optional here for two reasons: the trigger it
55
+ * installs is ENTIRELY unfiltered (`info: {}`), so on the shared organization it tagged every
56
+ * outbound chat any concurrently running suite sent; and case 6 switches `outOfOfficeHours` and
57
+ * `settings.endusers.autoReplyEnabled` ON at the organization level, which made every other suite's
58
+ * inbound chats generate autoreplies while this one ran. It never calls `sdk.reset_db()`, which
59
+ * clears throttle namespaces shared with other suites.
60
+ *
61
+ * The org settings are deliberately NOT restored any more: they are this tenant's own settings, no
62
+ * other suite can observe them, and the tenant (organization record included) is deleted in the
63
+ * `finally`. For the same reason no record is deleted individually — teardown removes them all.
64
+ *
65
+ * The `wait` after each send is the trigger-processing barrier. The positive cases then poll, which
66
+ * returns immediately once the tag is visible; the "did NOT fire" cases read once after the same
67
+ * fixed wait, since polling a must-not-happen check only delays it.
52
68
  */
53
69
  var isRecent = function (value, sinceMs) {
54
70
  if (!value)
@@ -56,370 +72,301 @@ var isRecent = function (value, sinceMs) {
56
72
  var t = new Date(value).valueOf();
57
73
  return t >= sinceMs - 1000 && t <= Date.now() + 1000;
58
74
  };
59
- export var outbound_chat_sent_trigger_tests = function (_a) {
60
- var sdk = _a.sdk;
61
- return __awaiter(void 0, void 0, void 0, function () {
62
- var host, TAG, endSolo, endA, endB, endBackfill, endAutoreply, trigger, roomSolo, roomGroup, roomBackfill, roomAutoreply, settingsModified, originalOutOfOfficeHours, originalAutoReplyEnabled, tokenSolo, endSoloSDK, tokenA, endASDK, soloAfterInbound, c1_notTagged, c1_noStamp, c2_sendStart, soloAfterOutbound, c2_tagged, c2_stamped, aAfterInbound, bAfterInbound, c3_aNotTagged, c3_bNotTagged, c3_neitherTagged, c3_neitherStamped, c4_sendStart, aAfterOutbound, bAfterOutbound, c4_bothTagged, c4_bothStamped, backfillAfter, c5_notTagged, c5_noStamp, originalOrg, tokenAR, endAutoreplySDK, arAfter, roomChats, sanity_autoreplySent, c6_notTagged, c6_noStamp, allPassed, err_1, cleanups, error_1;
63
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
64
- return __generator(this, function (_o) {
65
- switch (_o.label) {
66
- case 0:
67
- log_header("Outbound Chat Sent Trigger Tests");
68
- host = process.env.API_URL || 'http://localhost:8080';
69
- TAG = "outbound-chat-sent-".concat(Date.now());
70
- settingsModified = false;
71
- originalOutOfOfficeHours = [];
72
- originalAutoReplyEnabled = false;
73
- _o.label = 1;
74
- case 1:
75
- _o.trys.push([1, , 38, 46]);
76
- return [4 /*yield*/, sdk.api.endusers.createOne({ fname: 'Solo', lname: 'Patient' })];
77
- case 2:
78
- // ── Endusers ──────────────────────────────────────────────────────
79
- endSolo = _o.sent();
80
- return [4 /*yield*/, sdk.api.endusers.createOne({ fname: 'GroupA', lname: 'Patient' })];
81
- case 3:
82
- endA = _o.sent();
83
- return [4 /*yield*/, sdk.api.endusers.createOne({ fname: 'GroupB', lname: 'Patient' })];
84
- case 4:
85
- endB = _o.sent();
86
- return [4 /*yield*/, sdk.api.endusers.createOne({ fname: 'Backfill', lname: 'Patient' })];
87
- case 5:
88
- endBackfill = _o.sent();
89
- console.log("Created endusers: solo=".concat(endSolo.id, ", A=").concat(endA.id, ", B=").concat(endB.id, ", backfill=").concat(endBackfill.id));
90
- return [4 /*yield*/, sdk.api.endusers.generate_auth_token({ id: endSolo.id })];
91
- case 6:
92
- tokenSolo = (_o.sent()).authToken;
93
- endSoloSDK = new EnduserSession({ host: host, authToken: tokenSolo, businessId: sdk.userInfo.businessId });
94
- return [4 /*yield*/, sdk.api.endusers.generate_auth_token({ id: endA.id })];
95
- case 7:
96
- tokenA = (_o.sent()).authToken;
97
- endASDK = new EnduserSession({ host: host, authToken: tokenA, businessId: sdk.userInfo.businessId });
98
- return [4 /*yield*/, sdk.api.automation_triggers.createOne({
99
- title: "Outbound Chat Sent Test ".concat(Date.now()),
100
- status: 'Active',
101
- event: { type: 'Outbound Chat Sent', info: {} },
102
- action: { type: 'Add Tags', info: { tags: [TAG] } },
103
- })];
104
- case 8:
105
- // ── Trigger ───────────────────────────────────────────────────────
106
- trigger = _o.sent();
107
- console.log("Created trigger: ".concat(trigger.id));
108
- return [4 /*yield*/, sdk.api.chat_rooms.createOne({
109
- userIds: [sdk.userInfo.id],
110
- enduserIds: [endSolo.id],
111
- })];
112
- case 9:
113
- // ── Rooms ─────────────────────────────────────────────────────────
114
- roomSolo = _o.sent();
115
- return [4 /*yield*/, sdk.api.chat_rooms.createOne({
116
- userIds: [sdk.userInfo.id],
117
- enduserIds: [endA.id, endB.id],
118
- })];
119
- case 10:
120
- roomGroup = _o.sent();
121
- return [4 /*yield*/, sdk.api.chat_rooms.createOne({
122
- userIds: [sdk.userInfo.id],
123
- enduserIds: [endBackfill.id],
124
- })];
125
- case 11:
126
- roomBackfill = _o.sent();
127
- console.log("Created rooms: solo=".concat(roomSolo.id, ", group=").concat(roomGroup.id, ", backfill=").concat(roomBackfill.id));
128
- // ═════════════════════════════════════════════════════════════════
129
- // Case 1: Single-enduser inbound (enduser session)
130
- // ═════════════════════════════════════════════════════════════════
131
- return [4 /*yield*/, endSoloSDK.api.chats.createOne({
132
- roomId: roomSolo.id,
133
- message: 'solo inbound from enduser',
134
- })];
135
- case 12:
136
- // ═════════════════════════════════════════════════════════════════
137
- // Case 1: Single-enduser inbound (enduser session)
138
- // ═════════════════════════════════════════════════════════════════
139
- _o.sent();
140
- return [4 /*yield*/, wait(undefined, 2000)];
141
- case 13:
142
- _o.sent();
143
- return [4 /*yield*/, sdk.api.endusers.getOne(endSolo.id)];
144
- case 14:
145
- soloAfterInbound = _o.sent();
146
- c1_notTagged = !((_b = soloAfterInbound.tags) === null || _b === void 0 ? void 0 : _b.includes(TAG));
147
- c1_noStamp = !soloAfterInbound.recentOutboundChatAt;
148
- console.log(c1_notTagged
149
- ? "\u2705 [1] Solo inbound did NOT fire trigger"
150
- : "\u274C [1] Solo inbound fired trigger. tags=".concat(JSON.stringify(soloAfterInbound.tags)));
151
- console.log(c1_noStamp
152
- ? "\u2705 [1] Solo inbound did NOT set recentOutboundChatAt"
153
- : "\u274C [1] Solo inbound set recentOutboundChatAt=".concat(soloAfterInbound.recentOutboundChatAt));
154
- c2_sendStart = Date.now();
155
- return [4 /*yield*/, sdk.api.chats.createOne({
156
- roomId: roomSolo.id,
157
- message: 'solo outbound from user',
158
- senderId: sdk.userInfo.id,
159
- })];
160
- case 15:
161
- _o.sent();
162
- return [4 /*yield*/, wait(undefined, 2000)];
163
- case 16:
164
- _o.sent();
165
- return [4 /*yield*/, sdk.api.endusers.getOne(endSolo.id)];
166
- case 17:
167
- soloAfterOutbound = _o.sent();
168
- c2_tagged = !!((_c = soloAfterOutbound.tags) === null || _c === void 0 ? void 0 : _c.includes(TAG));
169
- c2_stamped = isRecent(soloAfterOutbound.recentOutboundChatAt, c2_sendStart);
170
- console.log(c2_tagged
171
- ? "\u2705 [2] Solo outbound fired trigger"
172
- : "\u274C [2] Solo outbound did NOT fire trigger. tags=".concat(JSON.stringify(soloAfterOutbound.tags)));
173
- console.log(c2_stamped
174
- ? "\u2705 [2] Solo outbound set recentOutboundChatAt=".concat(soloAfterOutbound.recentOutboundChatAt)
175
- : "\u274C [2] Solo outbound did not set a recent recentOutboundChatAt. got=".concat(soloAfterOutbound.recentOutboundChatAt));
176
- // ═════════════════════════════════════════════════════════════════
177
- // Case 3: Multi-enduser inbound (endA sends in [A, B] room)
178
- // ═════════════════════════════════════════════════════════════════
179
- return [4 /*yield*/, endASDK.api.chats.createOne({
180
- roomId: roomGroup.id,
181
- message: 'group inbound from endA',
182
- })];
183
- case 18:
184
- // ═════════════════════════════════════════════════════════════════
185
- // Case 3: Multi-enduser inbound (endA sends in [A, B] room)
186
- // ═════════════════════════════════════════════════════════════════
187
- _o.sent();
188
- return [4 /*yield*/, wait(undefined, 2000)];
189
- case 19:
190
- _o.sent();
191
- return [4 /*yield*/, sdk.api.endusers.getOne(endA.id)];
192
- case 20:
193
- aAfterInbound = _o.sent();
194
- return [4 /*yield*/, sdk.api.endusers.getOne(endB.id)];
195
- case 21:
196
- bAfterInbound = _o.sent();
197
- c3_aNotTagged = !((_d = aAfterInbound.tags) === null || _d === void 0 ? void 0 : _d.includes(TAG));
198
- c3_bNotTagged = !((_e = bAfterInbound.tags) === null || _e === void 0 ? void 0 : _e.includes(TAG));
199
- c3_neitherTagged = c3_aNotTagged && c3_bNotTagged;
200
- c3_neitherStamped = !aAfterInbound.recentOutboundChatAt && !bAfterInbound.recentOutboundChatAt;
201
- console.log(c3_neitherTagged
202
- ? "\u2705 [3] Group inbound did NOT fire trigger on either enduser"
203
- : "\u274C [3] Group inbound fired trigger. A tags=".concat(JSON.stringify(aAfterInbound.tags), " B tags=").concat(JSON.stringify(bAfterInbound.tags)));
204
- console.log(c3_neitherStamped
205
- ? "\u2705 [3] Group inbound did NOT set recentOutboundChatAt on either enduser"
206
- : "\u274C [3] Group inbound stamped recentOutboundChatAt. A=".concat(aAfterInbound.recentOutboundChatAt, " B=").concat(bAfterInbound.recentOutboundChatAt));
207
- c4_sendStart = Date.now();
208
- return [4 /*yield*/, sdk.api.chats.createOne({
209
- roomId: roomGroup.id,
210
- message: 'group outbound from user',
211
- senderId: sdk.userInfo.id,
212
- })];
213
- case 22:
214
- _o.sent();
215
- return [4 /*yield*/, wait(undefined, 2000)];
216
- case 23:
217
- _o.sent();
218
- return [4 /*yield*/, sdk.api.endusers.getOne(endA.id)];
219
- case 24:
220
- aAfterOutbound = _o.sent();
221
- return [4 /*yield*/, sdk.api.endusers.getOne(endB.id)];
222
- case 25:
223
- bAfterOutbound = _o.sent();
224
- c4_bothTagged = !!((_f = aAfterOutbound.tags) === null || _f === void 0 ? void 0 : _f.includes(TAG)) && !!((_g = bAfterOutbound.tags) === null || _g === void 0 ? void 0 : _g.includes(TAG));
225
- c4_bothStamped = isRecent(aAfterOutbound.recentOutboundChatAt, c4_sendStart)
226
- && isRecent(bAfterOutbound.recentOutboundChatAt, c4_sendStart);
227
- console.log(c4_bothTagged
228
- ? "\u2705 [4] Group outbound fired trigger on BOTH endusers"
229
- : "\u274C [4] Group outbound did not tag both. A tags=".concat(JSON.stringify(aAfterOutbound.tags), " B tags=").concat(JSON.stringify(bAfterOutbound.tags)));
230
- console.log(c4_bothStamped
231
- ? "\u2705 [4] Group outbound set recentOutboundChatAt on BOTH endusers"
232
- : "\u274C [4] Group outbound did not stamp both. A=".concat(aAfterOutbound.recentOutboundChatAt, " B=").concat(bAfterOutbound.recentOutboundChatAt));
233
- // ═════════════════════════════════════════════════════════════════
234
- // Case 5: User session, senderId = enduser.id (backfill)
235
- // ═════════════════════════════════════════════════════════════════
236
- return [4 /*yield*/, sdk.api.chats.createOne({
237
- roomId: roomBackfill.id,
238
- message: 'backfilled inbound (user session, enduser senderId)',
239
- senderId: endBackfill.id,
240
- })];
241
- case 26:
242
- // ═════════════════════════════════════════════════════════════════
243
- // Case 5: User session, senderId = enduser.id (backfill)
244
- // ═════════════════════════════════════════════════════════════════
245
- _o.sent();
246
- return [4 /*yield*/, wait(undefined, 2000)];
247
- case 27:
248
- _o.sent();
249
- return [4 /*yield*/, sdk.api.endusers.getOne(endBackfill.id)];
250
- case 28:
251
- backfillAfter = _o.sent();
252
- c5_notTagged = !((_h = backfillAfter.tags) === null || _h === void 0 ? void 0 : _h.includes(TAG));
253
- c5_noStamp = !backfillAfter.recentOutboundChatAt;
254
- console.log(c5_notTagged
255
- ? "\u2705 [5] Backfill (user-session + enduser senderId) did NOT fire trigger"
256
- : "\u274C [5] Backfill fired trigger. tags=".concat(JSON.stringify(backfillAfter.tags)));
257
- console.log(c5_noStamp
258
- ? "\u2705 [5] Backfill did NOT set recentOutboundChatAt"
259
- : "\u274C [5] Backfill set recentOutboundChatAt=".concat(backfillAfter.recentOutboundChatAt));
260
- return [4 /*yield*/, sdk.api.organizations.getOne(sdk.userInfo.businessId)];
261
- case 29:
262
- originalOrg = _o.sent();
263
- originalOutOfOfficeHours = (_j = originalOrg.outOfOfficeHours) !== null && _j !== void 0 ? _j : [];
264
- originalAutoReplyEnabled = !!((_l = (_k = originalOrg.settings) === null || _k === void 0 ? void 0 : _k.endusers) === null || _l === void 0 ? void 0 : _l.autoReplyEnabled);
265
- settingsModified = true;
266
- return [4 /*yield*/, sdk.api.organizations.updateOne(sdk.userInfo.businessId, {
267
- outOfOfficeHours: [{
268
- from: new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString(),
269
- to: new Date(Date.now() + 24 * 60 * 60 * 1000).toISOString(),
270
- autoreplyText: 'OOO autoreply (test)',
271
- }],
272
- settings: { endusers: { autoReplyEnabled: true } },
273
- }, { replaceObjectFields: true })];
274
- case 30:
275
- _o.sent();
276
- return [4 /*yield*/, sdk.api.endusers.createOne({ fname: 'Autoreply', lname: 'Patient' })];
277
- case 31:
278
- endAutoreply = _o.sent();
279
- return [4 /*yield*/, sdk.api.endusers.generate_auth_token({ id: endAutoreply.id })];
280
- case 32:
281
- tokenAR = (_o.sent()).authToken;
282
- endAutoreplySDK = new EnduserSession({ host: host, authToken: tokenAR, businessId: sdk.userInfo.businessId });
283
- return [4 /*yield*/, sdk.api.chat_rooms.createOne({
284
- userIds: [sdk.userInfo.id],
285
- enduserIds: [endAutoreply.id],
286
- })];
287
- case 33:
288
- roomAutoreply = _o.sent();
289
- return [4 /*yield*/, endAutoreplySDK.api.chats.createOne({
290
- roomId: roomAutoreply.id,
291
- message: 'trigger an autoreply',
292
- })
293
- // Autoreply path involves an extra org/user lookup + insert before
294
- // handle_chat_create re-runs against the autoreply chat.
295
- ];
296
- case 34:
297
- _o.sent();
298
- // Autoreply path involves an extra org/user lookup + insert before
299
- // handle_chat_create re-runs against the autoreply chat.
300
- return [4 /*yield*/, wait(undefined, 4000)];
301
- case 35:
75
+ export var outbound_chat_sent_trigger_checks = function () { return __awaiter(void 0, void 0, void 0, function () {
76
+ var checks, record, TAG, tenant, sdk_1, endSolo_1, endA_1, endB_1, endBackfill, tokenSolo, endSoloSDK, tokenA, endASDK, trigger, roomSolo, roomGroup, roomBackfill, soloAfterInbound, c2_sendStart, soloAfterOutbound, aAfterInbound, bAfterInbound, c4_sendStart, _a, aAfterOutbound, bAfterOutbound, backfillAfter, endAutoreply, tokenAR, endAutoreplySDK, roomAutoreply_1, roomChats, sanity_autoreplySent, arAfter, e_1;
77
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;
78
+ return __generator(this, function (_t) {
79
+ switch (_t.label) {
80
+ case 0:
81
+ checks = [];
82
+ record = function (label, pass, detail) { return checks.push({ label: label, pass: pass, detail: detail }); };
83
+ TAG = "outbound-chat-sent-".concat(Date.now());
84
+ _t.label = 1;
85
+ case 1:
86
+ _t.trys.push([1, , 38, 43]);
87
+ return [4 /*yield*/, setup_isolated_tenant({
88
+ name: "Outbound Chat Sent trigger ".concat(RAND()),
89
+ users: [{ isAdmin: true }],
90
+ apiKeys: 0,
91
+ })];
92
+ case 2:
93
+ tenant = _t.sent();
94
+ sdk_1 = tenant.sdk;
95
+ return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'Solo', lname: 'Patient' })];
96
+ case 3:
97
+ endSolo_1 = _t.sent();
98
+ return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'GroupA', lname: 'Patient' })];
99
+ case 4:
100
+ endA_1 = _t.sent();
101
+ return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'GroupB', lname: 'Patient' })];
102
+ case 5:
103
+ endB_1 = _t.sent();
104
+ return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'Backfill', lname: 'Patient' })];
105
+ case 6:
106
+ endBackfill = _t.sent();
107
+ console.log("Created endusers: solo=".concat(endSolo_1.id, ", A=").concat(endA_1.id, ", B=").concat(endB_1.id, ", backfill=").concat(endBackfill.id));
108
+ return [4 /*yield*/, sdk_1.api.endusers.generate_auth_token({ id: endSolo_1.id })];
109
+ case 7:
110
+ tokenSolo = (_t.sent()).authToken;
111
+ endSoloSDK = new EnduserSession({ host: host, authToken: tokenSolo, businessId: tenant.businessId });
112
+ return [4 /*yield*/, sdk_1.api.endusers.generate_auth_token({ id: endA_1.id })];
113
+ case 8:
114
+ tokenA = (_t.sent()).authToken;
115
+ endASDK = new EnduserSession({ host: host, authToken: tokenA, businessId: tenant.businessId });
116
+ return [4 /*yield*/, sdk_1.api.automation_triggers.createOne({
117
+ title: "Outbound Chat Sent Test ".concat(Date.now()),
118
+ status: 'Active',
119
+ event: { type: 'Outbound Chat Sent', info: {} },
120
+ action: { type: 'Add Tags', info: { tags: [TAG] } },
121
+ })];
122
+ case 9:
123
+ trigger = _t.sent();
124
+ console.log("Created trigger: ".concat(trigger.id));
125
+ return [4 /*yield*/, sdk_1.api.chat_rooms.createOne({
126
+ userIds: [sdk_1.userInfo.id],
127
+ enduserIds: [endSolo_1.id],
128
+ })];
129
+ case 10:
130
+ roomSolo = _t.sent();
131
+ return [4 /*yield*/, sdk_1.api.chat_rooms.createOne({
132
+ userIds: [sdk_1.userInfo.id],
133
+ enduserIds: [endA_1.id, endB_1.id],
134
+ })];
135
+ case 11:
136
+ roomGroup = _t.sent();
137
+ return [4 /*yield*/, sdk_1.api.chat_rooms.createOne({
138
+ userIds: [sdk_1.userInfo.id],
139
+ enduserIds: [endBackfill.id],
140
+ })];
141
+ case 12:
142
+ roomBackfill = _t.sent();
143
+ console.log("Created rooms: solo=".concat(roomSolo.id, ", group=").concat(roomGroup.id, ", backfill=").concat(roomBackfill.id));
144
+ // ═════════════════════════════════════════════════════════════════
145
+ // Case 1: Single-enduser inbound (enduser session)
146
+ // ═════════════════════════════════════════════════════════════════
147
+ return [4 /*yield*/, endSoloSDK.api.chats.createOne({
148
+ roomId: roomSolo.id,
149
+ message: 'solo inbound from enduser',
150
+ })];
151
+ case 13:
152
+ // ═════════════════════════════════════════════════════════════════
153
+ // Case 1: Single-enduser inbound (enduser session)
154
+ // ═════════════════════════════════════════════════════════════════
155
+ _t.sent();
156
+ return [4 /*yield*/, wait(undefined, 2000)];
157
+ case 14:
158
+ _t.sent();
159
+ return [4 /*yield*/, sdk_1.api.endusers.getOne(endSolo_1.id)];
160
+ case 15:
161
+ soloAfterInbound = _t.sent();
162
+ record('[1] Solo inbound did NOT fire trigger', !((_b = soloAfterInbound.tags) === null || _b === void 0 ? void 0 : _b.includes(TAG)), "tags=".concat(JSON.stringify(soloAfterInbound.tags), " expected to exclude ").concat(TAG));
163
+ record('[1] Solo inbound did NOT set recentOutboundChatAt', !soloAfterInbound.recentOutboundChatAt, "recentOutboundChatAt=".concat((_c = soloAfterInbound.recentOutboundChatAt) !== null && _c !== void 0 ? _c : '(unset)'));
164
+ c2_sendStart = Date.now();
165
+ return [4 /*yield*/, sdk_1.api.chats.createOne({
166
+ roomId: roomSolo.id,
167
+ message: 'solo outbound from user',
168
+ senderId: sdk_1.userInfo.id,
169
+ })];
170
+ case 16:
171
+ _t.sent();
172
+ return [4 /*yield*/, wait(undefined, 2000)];
173
+ case 17:
174
+ _t.sent();
175
+ return [4 /*yield*/, poll_for_results(function () { return sdk_1.api.endusers.getOne(endSolo_1.id); }, function (e) { var _a; return !!((_a = e.tags) === null || _a === void 0 ? void 0 : _a.includes(TAG)) && !!e.recentOutboundChatAt; })];
176
+ case 18:
177
+ soloAfterOutbound = _t.sent();
178
+ record('[2] Solo outbound fired trigger', !!((_d = soloAfterOutbound.tags) === null || _d === void 0 ? void 0 : _d.includes(TAG)), "tags=".concat(JSON.stringify(soloAfterOutbound.tags), " expected to include ").concat(TAG));
179
+ record('[2] Solo outbound set a recent recentOutboundChatAt', isRecent(soloAfterOutbound.recentOutboundChatAt, c2_sendStart), "recentOutboundChatAt=".concat((_e = soloAfterOutbound.recentOutboundChatAt) !== null && _e !== void 0 ? _e : '(unset)')
180
+ + " sendStart=".concat(new Date(c2_sendStart).toISOString()));
181
+ // ═════════════════════════════════════════════════════════════════
182
+ // Case 3: Multi-enduser inbound (endA sends in [A, B] room)
183
+ // ═════════════════════════════════════════════════════════════════
184
+ return [4 /*yield*/, endASDK.api.chats.createOne({
185
+ roomId: roomGroup.id,
186
+ message: 'group inbound from endA',
187
+ })];
188
+ case 19:
189
+ // ═════════════════════════════════════════════════════════════════
190
+ // Case 3: Multi-enduser inbound (endA sends in [A, B] room)
191
+ // ═════════════════════════════════════════════════════════════════
192
+ _t.sent();
193
+ return [4 /*yield*/, wait(undefined, 2000)];
194
+ case 20:
195
+ _t.sent();
196
+ return [4 /*yield*/, sdk_1.api.endusers.getOne(endA_1.id)];
197
+ case 21:
198
+ aAfterInbound = _t.sent();
199
+ return [4 /*yield*/, sdk_1.api.endusers.getOne(endB_1.id)];
200
+ case 22:
201
+ bAfterInbound = _t.sent();
202
+ record('[3] Group inbound did NOT fire trigger on either enduser', !((_f = aAfterInbound.tags) === null || _f === void 0 ? void 0 : _f.includes(TAG)) && !((_g = bAfterInbound.tags) === null || _g === void 0 ? void 0 : _g.includes(TAG)), "A tags=".concat(JSON.stringify(aAfterInbound.tags), " B tags=").concat(JSON.stringify(bAfterInbound.tags))
203
+ + " expected both to exclude ".concat(TAG));
204
+ record('[3] Group inbound did NOT set recentOutboundChatAt on either enduser', !aAfterInbound.recentOutboundChatAt && !bAfterInbound.recentOutboundChatAt, "A=".concat((_h = aAfterInbound.recentOutboundChatAt) !== null && _h !== void 0 ? _h : '(unset)', " B=").concat((_j = bAfterInbound.recentOutboundChatAt) !== null && _j !== void 0 ? _j : '(unset)'));
205
+ c4_sendStart = Date.now();
206
+ return [4 /*yield*/, sdk_1.api.chats.createOne({
207
+ roomId: roomGroup.id,
208
+ message: 'group outbound from user',
209
+ senderId: sdk_1.userInfo.id,
210
+ })];
211
+ case 23:
212
+ _t.sent();
213
+ return [4 /*yield*/, wait(undefined, 2000)];
214
+ case 24:
215
+ _t.sent();
216
+ return [4 /*yield*/, poll_for_results(function () { return Promise.all([sdk_1.api.endusers.getOne(endA_1.id), sdk_1.api.endusers.getOne(endB_1.id)]); }, function (_a) {
217
+ var _b, _c;
218
+ var a = _a[0], b = _a[1];
219
+ return (!!((_b = a.tags) === null || _b === void 0 ? void 0 : _b.includes(TAG)) && !!a.recentOutboundChatAt
220
+ && !!((_c = b.tags) === null || _c === void 0 ? void 0 : _c.includes(TAG)) && !!b.recentOutboundChatAt);
221
+ })];
222
+ case 25:
223
+ _a = _t.sent(), aAfterOutbound = _a[0], bAfterOutbound = _a[1];
224
+ record('[4] Group outbound fired trigger on BOTH endusers', !!((_k = aAfterOutbound.tags) === null || _k === void 0 ? void 0 : _k.includes(TAG)) && !!((_l = bAfterOutbound.tags) === null || _l === void 0 ? void 0 : _l.includes(TAG)), "A tags=".concat(JSON.stringify(aAfterOutbound.tags), " B tags=").concat(JSON.stringify(bAfterOutbound.tags))
225
+ + " expected both to include ".concat(TAG));
226
+ record('[4] Group outbound set recentOutboundChatAt on BOTH endusers', isRecent(aAfterOutbound.recentOutboundChatAt, c4_sendStart)
227
+ && isRecent(bAfterOutbound.recentOutboundChatAt, c4_sendStart), "A=".concat((_m = aAfterOutbound.recentOutboundChatAt) !== null && _m !== void 0 ? _m : '(unset)', " B=").concat((_o = bAfterOutbound.recentOutboundChatAt) !== null && _o !== void 0 ? _o : '(unset)')
228
+ + " sendStart=".concat(new Date(c4_sendStart).toISOString()));
229
+ // ═════════════════════════════════════════════════════════════════
230
+ // Case 5: User session, senderId = enduser.id (backfill)
231
+ // ═════════════════════════════════════════════════════════════════
232
+ return [4 /*yield*/, sdk_1.api.chats.createOne({
233
+ roomId: roomBackfill.id,
234
+ message: 'backfilled inbound (user session, enduser senderId)',
235
+ senderId: endBackfill.id,
236
+ })];
237
+ case 26:
238
+ // ═════════════════════════════════════════════════════════════════
239
+ // Case 5: User session, senderId = enduser.id (backfill)
240
+ // ═════════════════════════════════════════════════════════════════
241
+ _t.sent();
242
+ return [4 /*yield*/, wait(undefined, 2000)];
243
+ case 27:
244
+ _t.sent();
245
+ return [4 /*yield*/, sdk_1.api.endusers.getOne(endBackfill.id)];
246
+ case 28:
247
+ backfillAfter = _t.sent();
248
+ record('[5] Backfill (user-session + enduser senderId) did NOT fire trigger', !((_p = backfillAfter.tags) === null || _p === void 0 ? void 0 : _p.includes(TAG)), "tags=".concat(JSON.stringify(backfillAfter.tags), " expected to exclude ").concat(TAG));
249
+ record('[5] Backfill did NOT set recentOutboundChatAt', !backfillAfter.recentOutboundChatAt, "recentOutboundChatAt=".concat((_q = backfillAfter.recentOutboundChatAt) !== null && _q !== void 0 ? _q : '(unset)'));
250
+ // ═════════════════════════════════════════════════════════════════
251
+ // Case 6: Autoreply — enduser inbound triggers an org autoreply.
252
+ // The autoreply chat (isAutoreply: true) MUST NOT fire the trigger
253
+ // or stamp recentOutboundChatAt.
254
+ //
255
+ // Setup requires enabling org autoreply with an OOO window covering
256
+ // "now" (is_out_of_office returns false on empty config). These are
257
+ // this tenant's own settings and go away with it at teardown.
258
+ // ═════════════════════════════════════════════════════════════════
259
+ return [4 /*yield*/, sdk_1.api.organizations.updateOne(tenant.businessId, {
260
+ outOfOfficeHours: [{
261
+ from: new Date(Date.now() - 24 * 60 * 60 * 1000).toISOString(),
262
+ to: new Date(Date.now() + 24 * 60 * 60 * 1000).toISOString(),
263
+ autoreplyText: 'OOO autoreply (test)',
264
+ }],
265
+ settings: { endusers: { autoReplyEnabled: true } },
266
+ }, { replaceObjectFields: true })];
267
+ case 29:
268
+ // ═════════════════════════════════════════════════════════════════
269
+ // Case 6: Autoreply — enduser inbound triggers an org autoreply.
270
+ // The autoreply chat (isAutoreply: true) MUST NOT fire the trigger
271
+ // or stamp recentOutboundChatAt.
272
+ //
273
+ // Setup requires enabling org autoreply with an OOO window covering
274
+ // "now" (is_out_of_office returns false on empty config). These are
275
+ // this tenant's own settings and go away with it at teardown.
276
+ // ═════════════════════════════════════════════════════════════════
277
+ _t.sent();
278
+ return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'Autoreply', lname: 'Patient' })];
279
+ case 30:
280
+ endAutoreply = _t.sent();
281
+ return [4 /*yield*/, sdk_1.api.endusers.generate_auth_token({ id: endAutoreply.id })];
282
+ case 31:
283
+ tokenAR = (_t.sent()).authToken;
284
+ endAutoreplySDK = new EnduserSession({ host: host, authToken: tokenAR, businessId: tenant.businessId });
285
+ return [4 /*yield*/, sdk_1.api.chat_rooms.createOne({
286
+ userIds: [sdk_1.userInfo.id],
287
+ enduserIds: [endAutoreply.id],
288
+ })];
289
+ case 32:
290
+ roomAutoreply_1 = _t.sent();
291
+ return [4 /*yield*/, endAutoreplySDK.api.chats.createOne({
292
+ roomId: roomAutoreply_1.id,
293
+ message: 'trigger an autoreply',
294
+ })
302
295
  // Autoreply path involves an extra org/user lookup + insert before
303
296
  // handle_chat_create re-runs against the autoreply chat.
304
- _o.sent();
305
- return [4 /*yield*/, sdk.api.endusers.getOne(endAutoreply.id)];
306
- case 36:
307
- arAfter = _o.sent();
308
- return [4 /*yield*/, sdk.api.chats.getSome({ filter: { roomId: roomAutoreply.id } })];
309
- case 37:
310
- roomChats = _o.sent();
311
- sanity_autoreplySent = roomChats.some(function (c) { return c.isAutoreply === true; });
312
- c6_notTagged = !((_m = arAfter.tags) === null || _m === void 0 ? void 0 : _m.includes(TAG));
313
- c6_noStamp = !arAfter.recentOutboundChatAt;
314
- console.log(sanity_autoreplySent
315
- ? "\u2705 [6] Autoreply chat was sent (sanity check)"
316
- : "\u274C [6] No autoreply chat found in room \u2014 test setup invalid. Cannot validate trigger skip.");
317
- console.log(c6_notTagged
318
- ? "\u2705 [6] Autoreply did NOT fire trigger"
319
- : "\u274C [6] Autoreply fired trigger. tags=".concat(JSON.stringify(arAfter.tags)));
320
- console.log(c6_noStamp
321
- ? "\u2705 [6] Autoreply did NOT set recentOutboundChatAt"
322
- : "\u274C [6] Autoreply set recentOutboundChatAt=".concat(arAfter.recentOutboundChatAt));
323
- // ── Summary ───────────────────────────────────────────────────────
324
- console.log("\n=== Outbound Chat Sent Trigger Test Results ===");
325
- console.log("[1] Solo inbound \u2014 no trigger: ".concat(c1_notTagged ? '✅' : '❌'));
326
- console.log("[1] Solo inbound \u2014 no stamp: ".concat(c1_noStamp ? '✅' : '❌'));
327
- console.log("[2] Solo outbound \u2014 trigger: ".concat(c2_tagged ? '✅' : '❌'));
328
- console.log("[2] Solo outbound \u2014 stamp: ".concat(c2_stamped ? '✅' : '❌'));
329
- console.log("[3] Group inbound \u2014 no trigger (both): ".concat(c3_neitherTagged ? '✅' : '❌'));
330
- console.log("[3] Group inbound \u2014 no stamp (both): ".concat(c3_neitherStamped ? '✅' : '❌'));
331
- console.log("[4] Group outbound \u2014 trigger (both): ".concat(c4_bothTagged ? '✅' : '❌'));
332
- console.log("[4] Group outbound \u2014 stamp (both): ".concat(c4_bothStamped ? '✅' : '❌'));
333
- console.log("[5] Backfill \u2014 no trigger: ".concat(c5_notTagged ? '✅' : '❌'));
334
- console.log("[5] Backfill \u2014 no stamp: ".concat(c5_noStamp ? '✅' : '❌'));
335
- console.log("[6] Autoreply \u2014 sanity sent: ".concat(sanity_autoreplySent ? '✅' : '❌'));
336
- console.log("[6] Autoreply \u2014 no trigger: ".concat(c6_notTagged ? '✅' : '❌'));
337
- console.log("[6] Autoreply \u2014 no stamp: ".concat(c6_noStamp ? '✅' : '❌'));
338
- allPassed = c1_notTagged && c1_noStamp
339
- && c2_tagged && c2_stamped
340
- && c3_neitherTagged && c3_neitherStamped
341
- && c4_bothTagged && c4_bothStamped
342
- && c5_notTagged && c5_noStamp
343
- && sanity_autoreplySent && c6_notTagged && c6_noStamp;
344
- if (!allPassed) {
345
- throw new Error('Outbound Chat Sent trigger tests failed');
346
- }
347
- return [2 /*return*/, { success: true }];
348
- case 38:
349
- _o.trys.push([38, 44, , 45]);
350
- if (!settingsModified) return [3 /*break*/, 42];
351
- _o.label = 39;
352
- case 39:
353
- _o.trys.push([39, 41, , 42]);
354
- return [4 /*yield*/, sdk.api.organizations.updateOne(sdk.userInfo.businessId, {
355
- outOfOfficeHours: originalOutOfOfficeHours,
356
- settings: { endusers: { autoReplyEnabled: originalAutoReplyEnabled } },
357
- }, { replaceObjectFields: true })];
358
- case 40:
359
- _o.sent();
360
- console.log("Restored org settings (autoReplyEnabled=".concat(originalAutoReplyEnabled, ", outOfOfficeHours.length=").concat(originalOutOfOfficeHours.length, ")"));
361
- return [3 /*break*/, 42];
362
- case 41:
363
- err_1 = _o.sent();
364
- console.error("\u274C Failed to restore org settings \u2014 manual cleanup may be required: ".concat(err_1));
365
- return [3 /*break*/, 42];
366
- case 42:
367
- cleanups = [];
368
- if (trigger === null || trigger === void 0 ? void 0 : trigger.id)
369
- cleanups.push(sdk.api.automation_triggers.deleteOne(trigger.id).catch(function () { }));
370
- if (roomSolo === null || roomSolo === void 0 ? void 0 : roomSolo.id)
371
- cleanups.push(sdk.api.chat_rooms.deleteOne(roomSolo.id).catch(function () { }));
372
- if (roomGroup === null || roomGroup === void 0 ? void 0 : roomGroup.id)
373
- cleanups.push(sdk.api.chat_rooms.deleteOne(roomGroup.id).catch(function () { }));
374
- if (roomBackfill === null || roomBackfill === void 0 ? void 0 : roomBackfill.id)
375
- cleanups.push(sdk.api.chat_rooms.deleteOne(roomBackfill.id).catch(function () { }));
376
- if (roomAutoreply === null || roomAutoreply === void 0 ? void 0 : roomAutoreply.id)
377
- cleanups.push(sdk.api.chat_rooms.deleteOne(roomAutoreply.id).catch(function () { }));
378
- if (endSolo === null || endSolo === void 0 ? void 0 : endSolo.id)
379
- cleanups.push(sdk.api.endusers.deleteOne(endSolo.id).catch(function () { }));
380
- if (endA === null || endA === void 0 ? void 0 : endA.id)
381
- cleanups.push(sdk.api.endusers.deleteOne(endA.id).catch(function () { }));
382
- if (endB === null || endB === void 0 ? void 0 : endB.id)
383
- cleanups.push(sdk.api.endusers.deleteOne(endB.id).catch(function () { }));
384
- if (endBackfill === null || endBackfill === void 0 ? void 0 : endBackfill.id)
385
- cleanups.push(sdk.api.endusers.deleteOne(endBackfill.id).catch(function () { }));
386
- if (endAutoreply === null || endAutoreply === void 0 ? void 0 : endAutoreply.id)
387
- cleanups.push(sdk.api.endusers.deleteOne(endAutoreply.id).catch(function () { }));
388
- return [4 /*yield*/, Promise.all(cleanups)];
389
- case 43:
390
- _o.sent();
391
- console.log("Outbound Chat Sent trigger test cleanup completed");
392
- return [3 /*break*/, 45];
393
- case 44:
394
- error_1 = _o.sent();
395
- console.error("Cleanup error: ".concat(error_1));
396
- return [3 /*break*/, 45];
397
- case 45: return [7 /*endfinally*/];
398
- case 46: return [2 /*return*/];
399
- }
400
- });
297
+ ];
298
+ case 33:
299
+ _t.sent();
300
+ // Autoreply path involves an extra org/user lookup + insert before
301
+ // handle_chat_create re-runs against the autoreply chat.
302
+ return [4 /*yield*/, wait(undefined, 4000)];
303
+ case 34:
304
+ // Autoreply path involves an extra org/user lookup + insert before
305
+ // handle_chat_create re-runs against the autoreply chat.
306
+ _t.sent();
307
+ return [4 /*yield*/, poll_for_results(function () { return sdk_1.api.chats.getSome({ filter: { roomId: roomAutoreply_1.id } }); }, function (cs) { return cs.some(function (c) { return c.isAutoreply === true; }); })];
308
+ case 35:
309
+ roomChats = _t.sent();
310
+ sanity_autoreplySent = roomChats.some(function (c) { return c.isAutoreply === true; });
311
+ record('[6] Autoreply chat was sent (sanity check)', sanity_autoreplySent, sanity_autoreplySent
312
+ ? "".concat(roomChats.length, " chat(s) in the room, one of them isAutoreply")
313
+ : "no autoreply chat found in room \u2014 test setup invalid, the trigger skip is NOT validated."
314
+ + " chats=".concat(JSON.stringify(roomChats.map(function (c) { return ({ id: c.id, isAutoreply: c.isAutoreply }); }))));
315
+ // Only read the enduser once the autoreply chat exists, plus a barrier: the negative checks
316
+ // below would pass vacuously if the chat the trigger must ignore had not been written yet.
317
+ return [4 /*yield*/, wait(undefined, 1000)];
318
+ case 36:
319
+ // Only read the enduser once the autoreply chat exists, plus a barrier: the negative checks
320
+ // below would pass vacuously if the chat the trigger must ignore had not been written yet.
321
+ _t.sent();
322
+ return [4 /*yield*/, sdk_1.api.endusers.getOne(endAutoreply.id)];
323
+ case 37:
324
+ arAfter = _t.sent();
325
+ record('[6] Autoreply did NOT fire trigger', !((_r = arAfter.tags) === null || _r === void 0 ? void 0 : _r.includes(TAG)), "tags=".concat(JSON.stringify(arAfter.tags), " expected to exclude ").concat(TAG));
326
+ record('[6] Autoreply did NOT set recentOutboundChatAt', !arAfter.recentOutboundChatAt, "recentOutboundChatAt=".concat((_s = arAfter.recentOutboundChatAt) !== null && _s !== void 0 ? _s : '(unset)'));
327
+ return [3 /*break*/, 43];
328
+ case 38:
329
+ if (!tenant) return [3 /*break*/, 42];
330
+ _t.label = 39;
331
+ case 39:
332
+ _t.trys.push([39, 41, , 42]);
333
+ return [4 /*yield*/, tenant.teardown()];
334
+ case 40:
335
+ _t.sent();
336
+ return [3 /*break*/, 42];
337
+ case 41:
338
+ e_1 = _t.sent();
339
+ console.error('teardown failed', e_1);
340
+ return [3 /*break*/, 42];
341
+ case 42: return [7 /*endfinally*/];
342
+ case 43: return [2 /*return*/, checks];
343
+ }
344
+ });
345
+ }); };
346
+ /** Asserting wrapper, for standalone runs and for sequential use in the suite. */
347
+ export var outbound_chat_sent_trigger_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
348
+ var _a, _b;
349
+ return __generator(this, function (_c) {
350
+ switch (_c.label) {
351
+ case 0:
352
+ _a = assert_checks;
353
+ _b = ['Outbound Chat Sent trigger'];
354
+ return [4 /*yield*/, outbound_chat_sent_trigger_checks()];
355
+ case 1:
356
+ _a.apply(void 0, _b.concat([_c.sent()]));
357
+ return [2 /*return*/];
358
+ }
401
359
  });
360
+ }); };
361
+ /** Enrolls this suite in the auto-discovered parallel pool — see run_discovered_isolated_suites. */
362
+ export var ISOLATED_SUITE = {
363
+ name: 'Outbound Chat Sent trigger',
364
+ run: outbound_chat_sent_trigger_checks,
402
365
  };
403
366
  // Allow running this test file independently
404
367
  if (require.main === module) {
405
- var host = process.env.API_URL || 'http://localhost:8080';
406
368
  console.log("\uD83C\uDF10 Using API URL: ".concat(host));
407
- var sdk_1 = new Session({ host: host });
408
- var sdkNonAdmin_1 = new Session({ host: host });
409
- var runTests = function () { return __awaiter(void 0, void 0, void 0, function () {
410
- return __generator(this, function (_a) {
411
- switch (_a.label) {
412
- case 0: return [4 /*yield*/, setup_tests(sdk_1, sdkNonAdmin_1)];
413
- case 1:
414
- _a.sent();
415
- return [4 /*yield*/, outbound_chat_sent_trigger_tests({ sdk: sdk_1 })];
416
- case 2:
417
- _a.sent();
418
- return [2 /*return*/];
419
- }
420
- });
421
- }); };
422
- runTests()
369
+ outbound_chat_sent_trigger_tests()
423
370
  .then(function () {
424
371
  console.log("✅ Outbound Chat Sent trigger tests completed successfully");
425
372
  process.exit(0);