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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (717) hide show
  1. package/lib/cjs/sdk.d.ts +6 -5
  2. package/lib/cjs/sdk.d.ts.map +1 -1
  3. package/lib/cjs/sdk.js +5 -0
  4. package/lib/cjs/sdk.js.map +1 -1
  5. package/lib/cjs/tests/api_tests/ai_conversations.test.d.ts +14 -5
  6. package/lib/cjs/tests/api_tests/ai_conversations.test.d.ts.map +1 -1
  7. package/lib/cjs/tests/api_tests/ai_conversations.test.js +163 -149
  8. package/lib/cjs/tests/api_tests/ai_conversations.test.js.map +1 -1
  9. package/lib/cjs/tests/api_tests/ai_conversations_agent_message.test.d.ts +22 -0
  10. package/lib/cjs/tests/api_tests/ai_conversations_agent_message.test.d.ts.map +1 -0
  11. package/lib/cjs/tests/api_tests/ai_conversations_agent_message.test.js +518 -0
  12. package/lib/cjs/tests/api_tests/ai_conversations_agent_message.test.js.map +1 -0
  13. package/lib/cjs/tests/api_tests/appointment_link_expiration.test.d.ts +6 -5
  14. package/lib/cjs/tests/api_tests/appointment_link_expiration.test.d.ts.map +1 -1
  15. package/lib/cjs/tests/api_tests/appointment_link_expiration.test.js +135 -73
  16. package/lib/cjs/tests/api_tests/appointment_link_expiration.test.js.map +1 -1
  17. package/lib/cjs/tests/api_tests/appointment_no_showed_trigger.test.d.ts +6 -5
  18. package/lib/cjs/tests/api_tests/appointment_no_showed_trigger.test.d.ts.map +1 -1
  19. package/lib/cjs/tests/api_tests/appointment_no_showed_trigger.test.js +240 -174
  20. package/lib/cjs/tests/api_tests/appointment_no_showed_trigger.test.js.map +1 -1
  21. package/lib/cjs/tests/api_tests/availability_block_buffer.test.d.ts +22 -0
  22. package/lib/cjs/tests/api_tests/availability_block_buffer.test.d.ts.map +1 -0
  23. package/lib/cjs/tests/api_tests/availability_block_buffer.test.js +311 -0
  24. package/lib/cjs/tests/api_tests/availability_block_buffer.test.js.map +1 -0
  25. package/lib/cjs/tests/api_tests/beluga_manual_sync.test.d.ts +6 -5
  26. package/lib/cjs/tests/api_tests/beluga_manual_sync.test.d.ts.map +1 -1
  27. package/lib/cjs/tests/api_tests/beluga_manual_sync.test.js +235 -192
  28. package/lib/cjs/tests/api_tests/beluga_manual_sync.test.js.map +1 -1
  29. package/lib/cjs/tests/api_tests/beluga_trigger_refill.test.d.ts +6 -5
  30. package/lib/cjs/tests/api_tests/beluga_trigger_refill.test.d.ts.map +1 -1
  31. package/lib/cjs/tests/api_tests/beluga_trigger_refill.test.js +351 -264
  32. package/lib/cjs/tests/api_tests/beluga_trigger_refill.test.js.map +1 -1
  33. package/lib/cjs/tests/api_tests/bulk_assignment.test.d.ts +16 -5
  34. package/lib/cjs/tests/api_tests/bulk_assignment.test.d.ts.map +1 -1
  35. package/lib/cjs/tests/api_tests/bulk_assignment.test.js +336 -243
  36. package/lib/cjs/tests/api_tests/bulk_assignment.test.js.map +1 -1
  37. package/lib/cjs/tests/api_tests/calendar_event_references_update.test.d.ts +13 -5
  38. package/lib/cjs/tests/api_tests/calendar_event_references_update.test.d.ts.map +1 -1
  39. package/lib/cjs/tests/api_tests/calendar_event_references_update.test.js +131 -108
  40. package/lib/cjs/tests/api_tests/calendar_event_references_update.test.js.map +1 -1
  41. package/lib/cjs/tests/api_tests/calendar_event_webhook_template.test.d.ts +15 -5
  42. package/lib/cjs/tests/api_tests/calendar_event_webhook_template.test.d.ts.map +1 -1
  43. package/lib/cjs/tests/api_tests/calendar_event_webhook_template.test.js +240 -252
  44. package/lib/cjs/tests/api_tests/calendar_event_webhook_template.test.js.map +1 -1
  45. package/lib/cjs/tests/api_tests/chats_analytics.test.d.ts +14 -5
  46. package/lib/cjs/tests/api_tests/chats_analytics.test.d.ts.map +1 -1
  47. package/lib/cjs/tests/api_tests/chats_analytics.test.js +190 -189
  48. package/lib/cjs/tests/api_tests/chats_analytics.test.js.map +1 -1
  49. package/lib/cjs/tests/api_tests/concurrent_build_threads.test.d.ts +23 -5
  50. package/lib/cjs/tests/api_tests/concurrent_build_threads.test.d.ts.map +1 -1
  51. package/lib/cjs/tests/api_tests/concurrent_build_threads.test.js +121 -118
  52. package/lib/cjs/tests/api_tests/concurrent_build_threads.test.js.map +1 -1
  53. package/lib/cjs/tests/api_tests/configurations_public_read.test.d.ts +21 -5
  54. package/lib/cjs/tests/api_tests/configurations_public_read.test.d.ts.map +1 -1
  55. package/lib/cjs/tests/api_tests/configurations_public_read.test.js +235 -119
  56. package/lib/cjs/tests/api_tests/configurations_public_read.test.js.map +1 -1
  57. package/lib/cjs/tests/api_tests/copied_form_response_no_enduser_sync.test.d.ts +7 -0
  58. package/lib/cjs/tests/api_tests/copied_form_response_no_enduser_sync.test.d.ts.map +1 -0
  59. package/lib/cjs/tests/api_tests/copied_form_response_no_enduser_sync.test.js +356 -0
  60. package/lib/cjs/tests/api_tests/copied_form_response_no_enduser_sync.test.js.map +1 -0
  61. package/lib/cjs/tests/api_tests/create_note_action.test.d.ts +18 -5
  62. package/lib/cjs/tests/api_tests/create_note_action.test.d.ts.map +1 -1
  63. package/lib/cjs/tests/api_tests/create_note_action.test.js +218 -173
  64. package/lib/cjs/tests/api_tests/create_note_action.test.js.map +1 -1
  65. package/lib/cjs/tests/api_tests/create_user_notifications_trigger.test.d.ts +17 -4
  66. package/lib/cjs/tests/api_tests/create_user_notifications_trigger.test.d.ts.map +1 -1
  67. package/lib/cjs/tests/api_tests/create_user_notifications_trigger.test.js +144 -205
  68. package/lib/cjs/tests/api_tests/create_user_notifications_trigger.test.js.map +1 -1
  69. package/lib/cjs/tests/api_tests/custom_aggregation.test.d.ts +15 -5
  70. package/lib/cjs/tests/api_tests/custom_aggregation.test.d.ts.map +1 -1
  71. package/lib/cjs/tests/api_tests/custom_aggregation.test.js +284 -223
  72. package/lib/cjs/tests/api_tests/custom_aggregation.test.js.map +1 -1
  73. package/lib/cjs/tests/api_tests/database_cascade_delete.test.d.ts +13 -5
  74. package/lib/cjs/tests/api_tests/database_cascade_delete.test.d.ts.map +1 -1
  75. package/lib/cjs/tests/api_tests/database_cascade_delete.test.js +218 -242
  76. package/lib/cjs/tests/api_tests/database_cascade_delete.test.js.map +1 -1
  77. package/lib/cjs/tests/api_tests/dont_sync_to_elation_form_submission.test.d.ts +21 -5
  78. package/lib/cjs/tests/api_tests/dont_sync_to_elation_form_submission.test.d.ts.map +1 -1
  79. package/lib/cjs/tests/api_tests/dont_sync_to_elation_form_submission.test.js +168 -112
  80. package/lib/cjs/tests/api_tests/dont_sync_to_elation_form_submission.test.js.map +1 -1
  81. package/lib/cjs/tests/api_tests/elation_user_id.test.d.ts +17 -5
  82. package/lib/cjs/tests/api_tests/elation_user_id.test.d.ts.map +1 -1
  83. package/lib/cjs/tests/api_tests/elation_user_id.test.js +121 -54
  84. package/lib/cjs/tests/api_tests/elation_user_id.test.js.map +1 -1
  85. package/lib/cjs/tests/api_tests/file_download_unicode_names.test.d.ts +6 -5
  86. package/lib/cjs/tests/api_tests/file_download_unicode_names.test.d.ts.map +1 -1
  87. package/lib/cjs/tests/api_tests/file_download_unicode_names.test.js +193 -143
  88. package/lib/cjs/tests/api_tests/file_download_unicode_names.test.js.map +1 -1
  89. package/lib/cjs/tests/api_tests/form_intake_email_normalization.test.d.ts +7 -0
  90. package/lib/cjs/tests/api_tests/form_intake_email_normalization.test.d.ts.map +1 -0
  91. package/lib/cjs/tests/api_tests/form_intake_email_normalization.test.js +532 -0
  92. package/lib/cjs/tests/api_tests/form_intake_email_normalization.test.js.map +1 -0
  93. package/lib/cjs/tests/api_tests/form_submitted_trigger.test.d.ts +25 -5
  94. package/lib/cjs/tests/api_tests/form_submitted_trigger.test.d.ts.map +1 -1
  95. package/lib/cjs/tests/api_tests/form_submitted_trigger.test.js +395 -366
  96. package/lib/cjs/tests/api_tests/form_submitted_trigger.test.js.map +1 -1
  97. package/lib/cjs/tests/api_tests/form_translations.test.d.ts +6 -5
  98. package/lib/cjs/tests/api_tests/form_translations.test.d.ts.map +1 -1
  99. package/lib/cjs/tests/api_tests/form_translations.test.js +269 -189
  100. package/lib/cjs/tests/api_tests/form_translations.test.js.map +1 -1
  101. package/lib/cjs/tests/api_tests/formsort_header_auth.test.d.ts +29 -5
  102. package/lib/cjs/tests/api_tests/formsort_header_auth.test.d.ts.map +1 -1
  103. package/lib/cjs/tests/api_tests/formsort_header_auth.test.js +179 -162
  104. package/lib/cjs/tests/api_tests/formsort_header_auth.test.js.map +1 -1
  105. package/lib/cjs/tests/api_tests/gcal_sync_retry.test.d.ts +12 -6
  106. package/lib/cjs/tests/api_tests/gcal_sync_retry.test.d.ts.map +1 -1
  107. package/lib/cjs/tests/api_tests/gcal_sync_retry.test.js +98 -84
  108. package/lib/cjs/tests/api_tests/gcal_sync_retry.test.js.map +1 -1
  109. package/lib/cjs/tests/api_tests/get_some_projection.test.d.ts +20 -5
  110. package/lib/cjs/tests/api_tests/get_some_projection.test.d.ts.map +1 -1
  111. package/lib/cjs/tests/api_tests/get_some_projection.test.js +342 -298
  112. package/lib/cjs/tests/api_tests/get_some_projection.test.js.map +1 -1
  113. package/lib/cjs/tests/api_tests/group_event_attendee_self_update.test.d.ts +6 -5
  114. package/lib/cjs/tests/api_tests/group_event_attendee_self_update.test.d.ts.map +1 -1
  115. package/lib/cjs/tests/api_tests/group_event_attendee_self_update.test.js +294 -223
  116. package/lib/cjs/tests/api_tests/group_event_attendee_self_update.test.js.map +1 -1
  117. package/lib/cjs/tests/api_tests/integrations_redacted.test.d.ts +6 -5
  118. package/lib/cjs/tests/api_tests/integrations_redacted.test.d.ts.map +1 -1
  119. package/lib/cjs/tests/api_tests/integrations_redacted.test.js +307 -213
  120. package/lib/cjs/tests/api_tests/integrations_redacted.test.js.map +1 -1
  121. package/lib/cjs/tests/api_tests/journey_delete_cancels_actions.test.d.ts +6 -5
  122. package/lib/cjs/tests/api_tests/journey_delete_cancels_actions.test.d.ts.map +1 -1
  123. package/lib/cjs/tests/api_tests/journey_delete_cancels_actions.test.js +179 -178
  124. package/lib/cjs/tests/api_tests/journey_delete_cancels_actions.test.js.map +1 -1
  125. package/lib/cjs/tests/api_tests/load_team_chat.test.d.ts.map +1 -1
  126. package/lib/cjs/tests/api_tests/load_team_chat.test.js +181 -124
  127. package/lib/cjs/tests/api_tests/load_team_chat.test.js.map +1 -1
  128. package/lib/cjs/tests/api_tests/load_threads_autobuild.test.d.ts +24 -5
  129. package/lib/cjs/tests/api_tests/load_threads_autobuild.test.d.ts.map +1 -1
  130. package/lib/cjs/tests/api_tests/load_threads_autobuild.test.js +261 -227
  131. package/lib/cjs/tests/api_tests/load_threads_autobuild.test.js.map +1 -1
  132. package/lib/cjs/tests/api_tests/load_threads_care_team.test.d.ts +6 -0
  133. package/lib/cjs/tests/api_tests/load_threads_care_team.test.d.ts.map +1 -1
  134. package/lib/cjs/tests/api_tests/load_threads_care_team.test.js +115 -31
  135. package/lib/cjs/tests/api_tests/load_threads_care_team.test.js.map +1 -1
  136. package/lib/cjs/tests/api_tests/managed_content_file_access.test.d.ts +15 -5
  137. package/lib/cjs/tests/api_tests/managed_content_file_access.test.d.ts.map +1 -1
  138. package/lib/cjs/tests/api_tests/managed_content_file_access.test.js +285 -311
  139. package/lib/cjs/tests/api_tests/managed_content_file_access.test.js.map +1 -1
  140. package/lib/cjs/tests/api_tests/mdb_sort.test.d.ts +20 -5
  141. package/lib/cjs/tests/api_tests/mdb_sort.test.d.ts.map +1 -1
  142. package/lib/cjs/tests/api_tests/mdb_sort.test.js +361 -305
  143. package/lib/cjs/tests/api_tests/mdb_sort.test.js.map +1 -1
  144. package/lib/cjs/tests/api_tests/mdi_manual_sync.test.d.ts +27 -0
  145. package/lib/cjs/tests/api_tests/mdi_manual_sync.test.d.ts.map +1 -0
  146. package/lib/cjs/tests/api_tests/mdi_manual_sync.test.js +395 -0
  147. package/lib/cjs/tests/api_tests/mdi_manual_sync.test.js.map +1 -0
  148. package/lib/cjs/tests/api_tests/mdi_trigger_refill.test.d.ts +6 -5
  149. package/lib/cjs/tests/api_tests/mdi_trigger_refill.test.d.ts.map +1 -1
  150. package/lib/cjs/tests/api_tests/mdi_trigger_refill.test.js +259 -209
  151. package/lib/cjs/tests/api_tests/mdi_trigger_refill.test.js.map +1 -1
  152. package/lib/cjs/tests/api_tests/mdi_webhooks.test.d.ts +12 -5
  153. package/lib/cjs/tests/api_tests/mdi_webhooks.test.d.ts.map +1 -1
  154. package/lib/cjs/tests/api_tests/mdi_webhooks.test.js +67 -61
  155. package/lib/cjs/tests/api_tests/mdi_webhooks.test.js.map +1 -1
  156. package/lib/cjs/tests/api_tests/message_assignment_trigger.test.d.ts +23 -14
  157. package/lib/cjs/tests/api_tests/message_assignment_trigger.test.d.ts.map +1 -1
  158. package/lib/cjs/tests/api_tests/message_assignment_trigger.test.js +258 -306
  159. package/lib/cjs/tests/api_tests/message_assignment_trigger.test.js.map +1 -1
  160. package/lib/cjs/tests/api_tests/metriport_push_form_response.test.d.ts +6 -5
  161. package/lib/cjs/tests/api_tests/metriport_push_form_response.test.d.ts.map +1 -1
  162. package/lib/cjs/tests/api_tests/metriport_push_form_response.test.js +301 -238
  163. package/lib/cjs/tests/api_tests/metriport_push_form_response.test.js.map +1 -1
  164. package/lib/cjs/tests/api_tests/organization_api_keys.test.d.ts.map +1 -1
  165. package/lib/cjs/tests/api_tests/organization_api_keys.test.js +226 -59
  166. package/lib/cjs/tests/api_tests/organization_api_keys.test.js.map +1 -1
  167. package/lib/cjs/tests/api_tests/organization_settings_duplicates.test.d.ts +19 -5
  168. package/lib/cjs/tests/api_tests/organization_settings_duplicates.test.d.ts.map +1 -1
  169. package/lib/cjs/tests/api_tests/organization_settings_duplicates.test.js +335 -222
  170. package/lib/cjs/tests/api_tests/organization_settings_duplicates.test.js.map +1 -1
  171. package/lib/cjs/tests/api_tests/organization_signup.test.d.ts.map +1 -1
  172. package/lib/cjs/tests/api_tests/organization_signup.test.js +218 -51
  173. package/lib/cjs/tests/api_tests/organization_signup.test.js.map +1 -1
  174. package/lib/cjs/tests/api_tests/out_of_office_endpoint.test.d.ts.map +1 -1
  175. package/lib/cjs/tests/api_tests/out_of_office_endpoint.test.js +109 -1
  176. package/lib/cjs/tests/api_tests/out_of_office_endpoint.test.js.map +1 -1
  177. package/lib/cjs/tests/api_tests/outbound_chat_sent_trigger.test.d.ts +6 -6
  178. package/lib/cjs/tests/api_tests/outbound_chat_sent_trigger.test.d.ts.map +1 -1
  179. package/lib/cjs/tests/api_tests/outbound_chat_sent_trigger.test.js +309 -361
  180. package/lib/cjs/tests/api_tests/outbound_chat_sent_trigger.test.js.map +1 -1
  181. package/lib/cjs/tests/api_tests/phone_calls_cold_transfer.test.d.ts +6 -5
  182. package/lib/cjs/tests/api_tests/phone_calls_cold_transfer.test.d.ts.map +1 -1
  183. package/lib/cjs/tests/api_tests/phone_calls_cold_transfer.test.js +246 -165
  184. package/lib/cjs/tests/api_tests/phone_calls_cold_transfer.test.js.map +1 -1
  185. package/lib/cjs/tests/api_tests/phone_calls_conference_hold.test.d.ts +15 -5
  186. package/lib/cjs/tests/api_tests/phone_calls_conference_hold.test.d.ts.map +1 -1
  187. package/lib/cjs/tests/api_tests/phone_calls_conference_hold.test.js +130 -47
  188. package/lib/cjs/tests/api_tests/phone_calls_conference_hold.test.js.map +1 -1
  189. package/lib/cjs/tests/api_tests/phone_tree_enduser_condition.test.d.ts +6 -5
  190. package/lib/cjs/tests/api_tests/phone_tree_enduser_condition.test.d.ts.map +1 -1
  191. package/lib/cjs/tests/api_tests/phone_tree_enduser_condition.test.js +180 -132
  192. package/lib/cjs/tests/api_tests/phone_tree_enduser_condition.test.js.map +1 -1
  193. package/lib/cjs/tests/api_tests/programs.test.d.ts.map +1 -1
  194. package/lib/cjs/tests/api_tests/programs.test.js +417 -50
  195. package/lib/cjs/tests/api_tests/programs.test.js.map +1 -1
  196. package/lib/cjs/tests/api_tests/security/ai-conversations-rbac.test.d.ts +10 -5
  197. package/lib/cjs/tests/api_tests/security/ai-conversations-rbac.test.d.ts.map +1 -1
  198. package/lib/cjs/tests/api_tests/security/ai-conversations-rbac.test.js +401 -282
  199. package/lib/cjs/tests/api_tests/security/ai-conversations-rbac.test.js.map +1 -1
  200. package/lib/cjs/tests/api_tests/security/automated-actions-process-gate.test.d.ts +9 -5
  201. package/lib/cjs/tests/api_tests/security/automated-actions-process-gate.test.d.ts.map +1 -1
  202. package/lib/cjs/tests/api_tests/security/automated-actions-process-gate.test.js +228 -211
  203. package/lib/cjs/tests/api_tests/security/automated-actions-process-gate.test.js.map +1 -1
  204. package/lib/cjs/tests/api_tests/security/booking-info-idor-token-mint.test.d.ts +13 -8
  205. package/lib/cjs/tests/api_tests/security/booking-info-idor-token-mint.test.d.ts.map +1 -1
  206. package/lib/cjs/tests/api_tests/security/booking-info-idor-token-mint.test.js +270 -254
  207. package/lib/cjs/tests/api_tests/security/booking-info-idor-token-mint.test.js.map +1 -1
  208. package/lib/cjs/tests/api_tests/security/cascade-role-rename-cross-tenant.test.d.ts +16 -6
  209. package/lib/cjs/tests/api_tests/security/cascade-role-rename-cross-tenant.test.d.ts.map +1 -1
  210. package/lib/cjs/tests/api_tests/security/cascade-role-rename-cross-tenant.test.js +167 -142
  211. package/lib/cjs/tests/api_tests/security/cascade-role-rename-cross-tenant.test.js.map +1 -1
  212. package/lib/cjs/tests/api_tests/security/data-sync-redaction-bypass.test.d.ts +10 -5
  213. package/lib/cjs/tests/api_tests/security/data-sync-redaction-bypass.test.d.ts.map +1 -1
  214. package/lib/cjs/tests/api_tests/security/data-sync-redaction-bypass.test.js +296 -221
  215. package/lib/cjs/tests/api_tests/security/data-sync-redaction-bypass.test.js.map +1 -1
  216. package/lib/cjs/tests/api_tests/security/develop-health-benefit-verification-rbac.test.d.ts +12 -5
  217. package/lib/cjs/tests/api_tests/security/develop-health-benefit-verification-rbac.test.d.ts.map +1 -1
  218. package/lib/cjs/tests/api_tests/security/develop-health-benefit-verification-rbac.test.js +221 -216
  219. package/lib/cjs/tests/api_tests/security/develop-health-benefit-verification-rbac.test.js.map +1 -1
  220. package/lib/cjs/tests/api_tests/security/enduser-ai-summary-trust-gate.test.d.ts +11 -5
  221. package/lib/cjs/tests/api_tests/security/enduser-ai-summary-trust-gate.test.d.ts.map +1 -1
  222. package/lib/cjs/tests/api_tests/security/enduser-ai-summary-trust-gate.test.js +300 -203
  223. package/lib/cjs/tests/api_tests/security/enduser-ai-summary-trust-gate.test.js.map +1 -1
  224. package/lib/cjs/tests/api_tests/security/enduser-cross-create.test.d.ts +11 -5
  225. package/lib/cjs/tests/api_tests/security/enduser-cross-create.test.d.ts.map +1 -1
  226. package/lib/cjs/tests/api_tests/security/enduser-cross-create.test.js +415 -275
  227. package/lib/cjs/tests/api_tests/security/enduser-cross-create.test.js.map +1 -1
  228. package/lib/cjs/tests/api_tests/security/enduser-write-restrictions.test.d.ts +11 -5
  229. package/lib/cjs/tests/api_tests/security/enduser-write-restrictions.test.d.ts.map +1 -1
  230. package/lib/cjs/tests/api_tests/security/enduser-write-restrictions.test.js +347 -228
  231. package/lib/cjs/tests/api_tests/security/enduser-write-restrictions.test.js.map +1 -1
  232. package/lib/cjs/tests/api_tests/security/globalunique-conflict-redaction.test.d.ts +18 -7
  233. package/lib/cjs/tests/api_tests/security/globalunique-conflict-redaction.test.d.ts.map +1 -1
  234. package/lib/cjs/tests/api_tests/security/globalunique-conflict-redaction.test.js +164 -75
  235. package/lib/cjs/tests/api_tests/security/globalunique-conflict-redaction.test.js.map +1 -1
  236. package/lib/cjs/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.d.ts +15 -9
  237. package/lib/cjs/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.d.ts.map +1 -1
  238. package/lib/cjs/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.js +99 -102
  239. package/lib/cjs/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.js.map +1 -1
  240. package/lib/cjs/tests/api_tests/security/load-inbox-redaction.test.d.ts +11 -5
  241. package/lib/cjs/tests/api_tests/security/load-inbox-redaction.test.d.ts.map +1 -1
  242. package/lib/cjs/tests/api_tests/security/load-inbox-redaction.test.js +132 -89
  243. package/lib/cjs/tests/api_tests/security/load-inbox-redaction.test.js.map +1 -1
  244. package/lib/cjs/tests/api_tests/security/proxy-image-unauth-ssrf.test.d.ts +12 -5
  245. package/lib/cjs/tests/api_tests/security/proxy-image-unauth-ssrf.test.d.ts.map +1 -1
  246. package/lib/cjs/tests/api_tests/security/proxy-image-unauth-ssrf.test.js +190 -138
  247. package/lib/cjs/tests/api_tests/security/proxy-image-unauth-ssrf.test.js.map +1 -1
  248. package/lib/cjs/tests/api_tests/security/register_business_id_injection.test.d.ts +18 -16
  249. package/lib/cjs/tests/api_tests/security/register_business_id_injection.test.d.ts.map +1 -1
  250. package/lib/cjs/tests/api_tests/security/register_business_id_injection.test.js +164 -124
  251. package/lib/cjs/tests/api_tests/security/register_business_id_injection.test.js.map +1 -1
  252. package/lib/cjs/tests/api_tests/security/sanitize-user-html-with-iframes.test.d.ts.map +1 -1
  253. package/lib/cjs/tests/api_tests/security/sanitize-user-html-with-iframes.test.js +122 -2
  254. package/lib/cjs/tests/api_tests/security/sanitize-user-html-with-iframes.test.js.map +1 -1
  255. package/lib/cjs/tests/api_tests/security/schema-adminonly-enforcement.test.d.ts +11 -5
  256. package/lib/cjs/tests/api_tests/security/schema-adminonly-enforcement.test.d.ts.map +1 -1
  257. package/lib/cjs/tests/api_tests/security/schema-adminonly-enforcement.test.js +288 -274
  258. package/lib/cjs/tests/api_tests/security/schema-adminonly-enforcement.test.js.map +1 -1
  259. package/lib/cjs/tests/api_tests/security/self-admin-role-assignment.test.d.ts +17 -10
  260. package/lib/cjs/tests/api_tests/security/self-admin-role-assignment.test.d.ts.map +1 -1
  261. package/lib/cjs/tests/api_tests/security/self-admin-role-assignment.test.js +173 -138
  262. package/lib/cjs/tests/api_tests/security/self-admin-role-assignment.test.js.map +1 -1
  263. package/lib/cjs/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.d.ts +6 -5
  264. package/lib/cjs/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.d.ts.map +1 -1
  265. package/lib/cjs/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.js +310 -265
  266. package/lib/cjs/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.js.map +1 -1
  267. package/lib/cjs/tests/api_tests/security/webhook-timeout.test.d.ts +9 -5
  268. package/lib/cjs/tests/api_tests/security/webhook-timeout.test.d.ts.map +1 -1
  269. package/lib/cjs/tests/api_tests/security/webhook-timeout.test.js +108 -83
  270. package/lib/cjs/tests/api_tests/security/webhook-timeout.test.js.map +1 -1
  271. package/lib/cjs/tests/api_tests/stedi_approval.test.d.ts +6 -5
  272. package/lib/cjs/tests/api_tests/stedi_approval.test.d.ts.map +1 -1
  273. package/lib/cjs/tests/api_tests/stedi_approval.test.js +206 -137
  274. package/lib/cjs/tests/api_tests/stedi_approval.test.js.map +1 -1
  275. package/lib/cjs/tests/api_tests/ticket_stage_archive.test.d.ts +7 -0
  276. package/lib/cjs/tests/api_tests/ticket_stage_archive.test.d.ts.map +1 -0
  277. package/lib/cjs/tests/api_tests/ticket_stage_archive.test.js +344 -0
  278. package/lib/cjs/tests/api_tests/ticket_stage_archive.test.js.map +1 -0
  279. package/lib/cjs/tests/api_tests/tickets_bulk_assign_care_team.test.d.ts +6 -5
  280. package/lib/cjs/tests/api_tests/tickets_bulk_assign_care_team.test.d.ts.map +1 -1
  281. package/lib/cjs/tests/api_tests/tickets_bulk_assign_care_team.test.js +165 -149
  282. package/lib/cjs/tests/api_tests/tickets_bulk_assign_care_team.test.js.map +1 -1
  283. package/lib/cjs/tests/api_tests/translations.test.d.ts +6 -5
  284. package/lib/cjs/tests/api_tests/translations.test.d.ts.map +1 -1
  285. package/lib/cjs/tests/api_tests/translations.test.js +104 -75
  286. package/lib/cjs/tests/api_tests/translations.test.js.map +1 -1
  287. package/lib/cjs/tests/api_tests/trigger_set_fields_date_difference.test.d.ts +21 -4
  288. package/lib/cjs/tests/api_tests/trigger_set_fields_date_difference.test.d.ts.map +1 -1
  289. package/lib/cjs/tests/api_tests/trigger_set_fields_date_difference.test.js +238 -370
  290. package/lib/cjs/tests/api_tests/trigger_set_fields_date_difference.test.js.map +1 -1
  291. package/lib/cjs/tests/api_tests/user_preferences.test.d.ts +30 -0
  292. package/lib/cjs/tests/api_tests/user_preferences.test.d.ts.map +1 -0
  293. package/lib/cjs/tests/api_tests/user_preferences.test.js +279 -0
  294. package/lib/cjs/tests/api_tests/user_preferences.test.js.map +1 -0
  295. package/lib/cjs/tests/api_tests/webhook_error_handling.test.d.ts +17 -5
  296. package/lib/cjs/tests/api_tests/webhook_error_handling.test.d.ts.map +1 -1
  297. package/lib/cjs/tests/api_tests/webhook_error_handling.test.js +204 -195
  298. package/lib/cjs/tests/api_tests/webhook_error_handling.test.js.map +1 -1
  299. package/lib/cjs/tests/api_tests/webhook_raw_json_number.test.d.ts +15 -5
  300. package/lib/cjs/tests/api_tests/webhook_raw_json_number.test.d.ts.map +1 -1
  301. package/lib/cjs/tests/api_tests/webhook_raw_json_number.test.js +154 -179
  302. package/lib/cjs/tests/api_tests/webhook_raw_json_number.test.js.map +1 -1
  303. package/lib/cjs/tests/api_tests/welle_partner_token.test.d.ts +6 -5
  304. package/lib/cjs/tests/api_tests/welle_partner_token.test.d.ts.map +1 -1
  305. package/lib/cjs/tests/api_tests/welle_partner_token.test.js +393 -251
  306. package/lib/cjs/tests/api_tests/welle_partner_token.test.js.map +1 -1
  307. package/lib/cjs/tests/setup_isolated.d.ts +7 -0
  308. package/lib/cjs/tests/setup_isolated.d.ts.map +1 -1
  309. package/lib/cjs/tests/setup_isolated.js.map +1 -1
  310. package/lib/cjs/tests/tests.d.ts.map +1 -1
  311. package/lib/cjs/tests/tests.js +229 -461
  312. package/lib/cjs/tests/tests.js.map +1 -1
  313. package/lib/cjs/tests/unit_tests/date_string_validation.test.d.ts +2 -0
  314. package/lib/cjs/tests/unit_tests/date_string_validation.test.d.ts.map +1 -0
  315. package/lib/cjs/tests/unit_tests/date_string_validation.test.js +112 -0
  316. package/lib/cjs/tests/unit_tests/date_string_validation.test.js.map +1 -0
  317. package/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  318. package/lib/esm/sdk.d.ts +6 -5
  319. package/lib/esm/sdk.d.ts.map +1 -1
  320. package/lib/esm/sdk.js +5 -0
  321. package/lib/esm/sdk.js.map +1 -1
  322. package/lib/esm/tests/api_tests/ai_conversations.test.d.ts +14 -5
  323. package/lib/esm/tests/api_tests/ai_conversations.test.d.ts.map +1 -1
  324. package/lib/esm/tests/api_tests/ai_conversations.test.js +161 -148
  325. package/lib/esm/tests/api_tests/ai_conversations.test.js.map +1 -1
  326. package/lib/esm/tests/api_tests/ai_conversations_agent_message.test.d.ts +22 -0
  327. package/lib/esm/tests/api_tests/ai_conversations_agent_message.test.d.ts.map +1 -0
  328. package/lib/esm/tests/api_tests/ai_conversations_agent_message.test.js +510 -0
  329. package/lib/esm/tests/api_tests/ai_conversations_agent_message.test.js.map +1 -0
  330. package/lib/esm/tests/api_tests/appointment_link_expiration.test.d.ts +6 -5
  331. package/lib/esm/tests/api_tests/appointment_link_expiration.test.d.ts.map +1 -1
  332. package/lib/esm/tests/api_tests/appointment_link_expiration.test.js +132 -71
  333. package/lib/esm/tests/api_tests/appointment_link_expiration.test.js.map +1 -1
  334. package/lib/esm/tests/api_tests/appointment_no_showed_trigger.test.d.ts +6 -5
  335. package/lib/esm/tests/api_tests/appointment_no_showed_trigger.test.d.ts.map +1 -1
  336. package/lib/esm/tests/api_tests/appointment_no_showed_trigger.test.js +238 -173
  337. package/lib/esm/tests/api_tests/appointment_no_showed_trigger.test.js.map +1 -1
  338. package/lib/esm/tests/api_tests/availability_block_buffer.test.d.ts +22 -0
  339. package/lib/esm/tests/api_tests/availability_block_buffer.test.d.ts.map +1 -0
  340. package/lib/esm/tests/api_tests/availability_block_buffer.test.js +306 -0
  341. package/lib/esm/tests/api_tests/availability_block_buffer.test.js.map +1 -0
  342. package/lib/esm/tests/api_tests/beluga_manual_sync.test.d.ts +6 -5
  343. package/lib/esm/tests/api_tests/beluga_manual_sync.test.d.ts.map +1 -1
  344. package/lib/esm/tests/api_tests/beluga_manual_sync.test.js +232 -190
  345. package/lib/esm/tests/api_tests/beluga_manual_sync.test.js.map +1 -1
  346. package/lib/esm/tests/api_tests/beluga_trigger_refill.test.d.ts +6 -5
  347. package/lib/esm/tests/api_tests/beluga_trigger_refill.test.d.ts.map +1 -1
  348. package/lib/esm/tests/api_tests/beluga_trigger_refill.test.js +348 -262
  349. package/lib/esm/tests/api_tests/beluga_trigger_refill.test.js.map +1 -1
  350. package/lib/esm/tests/api_tests/bulk_assignment.test.d.ts +16 -5
  351. package/lib/esm/tests/api_tests/bulk_assignment.test.d.ts.map +1 -1
  352. package/lib/esm/tests/api_tests/bulk_assignment.test.js +333 -241
  353. package/lib/esm/tests/api_tests/bulk_assignment.test.js.map +1 -1
  354. package/lib/esm/tests/api_tests/calendar_event_references_update.test.d.ts +13 -5
  355. package/lib/esm/tests/api_tests/calendar_event_references_update.test.d.ts.map +1 -1
  356. package/lib/esm/tests/api_tests/calendar_event_references_update.test.js +129 -107
  357. package/lib/esm/tests/api_tests/calendar_event_references_update.test.js.map +1 -1
  358. package/lib/esm/tests/api_tests/calendar_event_webhook_template.test.d.ts +15 -5
  359. package/lib/esm/tests/api_tests/calendar_event_webhook_template.test.d.ts.map +1 -1
  360. package/lib/esm/tests/api_tests/calendar_event_webhook_template.test.js +238 -251
  361. package/lib/esm/tests/api_tests/calendar_event_webhook_template.test.js.map +1 -1
  362. package/lib/esm/tests/api_tests/chats_analytics.test.d.ts +14 -5
  363. package/lib/esm/tests/api_tests/chats_analytics.test.d.ts.map +1 -1
  364. package/lib/esm/tests/api_tests/chats_analytics.test.js +188 -188
  365. package/lib/esm/tests/api_tests/chats_analytics.test.js.map +1 -1
  366. package/lib/esm/tests/api_tests/concurrent_build_threads.test.d.ts +23 -5
  367. package/lib/esm/tests/api_tests/concurrent_build_threads.test.d.ts.map +1 -1
  368. package/lib/esm/tests/api_tests/concurrent_build_threads.test.js +119 -117
  369. package/lib/esm/tests/api_tests/concurrent_build_threads.test.js.map +1 -1
  370. package/lib/esm/tests/api_tests/configurations_public_read.test.d.ts +21 -5
  371. package/lib/esm/tests/api_tests/configurations_public_read.test.d.ts.map +1 -1
  372. package/lib/esm/tests/api_tests/configurations_public_read.test.js +233 -118
  373. package/lib/esm/tests/api_tests/configurations_public_read.test.js.map +1 -1
  374. package/lib/esm/tests/api_tests/copied_form_response_no_enduser_sync.test.d.ts +7 -0
  375. package/lib/esm/tests/api_tests/copied_form_response_no_enduser_sync.test.d.ts.map +1 -0
  376. package/lib/esm/tests/api_tests/copied_form_response_no_enduser_sync.test.js +351 -0
  377. package/lib/esm/tests/api_tests/copied_form_response_no_enduser_sync.test.js.map +1 -0
  378. package/lib/esm/tests/api_tests/create_note_action.test.d.ts +18 -5
  379. package/lib/esm/tests/api_tests/create_note_action.test.d.ts.map +1 -1
  380. package/lib/esm/tests/api_tests/create_note_action.test.js +216 -172
  381. package/lib/esm/tests/api_tests/create_note_action.test.js.map +1 -1
  382. package/lib/esm/tests/api_tests/create_user_notifications_trigger.test.d.ts +17 -4
  383. package/lib/esm/tests/api_tests/create_user_notifications_trigger.test.d.ts.map +1 -1
  384. package/lib/esm/tests/api_tests/create_user_notifications_trigger.test.js +141 -203
  385. package/lib/esm/tests/api_tests/create_user_notifications_trigger.test.js.map +1 -1
  386. package/lib/esm/tests/api_tests/custom_aggregation.test.d.ts +15 -5
  387. package/lib/esm/tests/api_tests/custom_aggregation.test.d.ts.map +1 -1
  388. package/lib/esm/tests/api_tests/custom_aggregation.test.js +282 -222
  389. package/lib/esm/tests/api_tests/custom_aggregation.test.js.map +1 -1
  390. package/lib/esm/tests/api_tests/database_cascade_delete.test.d.ts +13 -5
  391. package/lib/esm/tests/api_tests/database_cascade_delete.test.d.ts.map +1 -1
  392. package/lib/esm/tests/api_tests/database_cascade_delete.test.js +216 -241
  393. package/lib/esm/tests/api_tests/database_cascade_delete.test.js.map +1 -1
  394. package/lib/esm/tests/api_tests/dont_sync_to_elation_form_submission.test.d.ts +21 -5
  395. package/lib/esm/tests/api_tests/dont_sync_to_elation_form_submission.test.d.ts.map +1 -1
  396. package/lib/esm/tests/api_tests/dont_sync_to_elation_form_submission.test.js +165 -110
  397. package/lib/esm/tests/api_tests/dont_sync_to_elation_form_submission.test.js.map +1 -1
  398. package/lib/esm/tests/api_tests/elation_user_id.test.d.ts +17 -5
  399. package/lib/esm/tests/api_tests/elation_user_id.test.d.ts.map +1 -1
  400. package/lib/esm/tests/api_tests/elation_user_id.test.js +119 -53
  401. package/lib/esm/tests/api_tests/elation_user_id.test.js.map +1 -1
  402. package/lib/esm/tests/api_tests/file_download_unicode_names.test.d.ts +6 -5
  403. package/lib/esm/tests/api_tests/file_download_unicode_names.test.d.ts.map +1 -1
  404. package/lib/esm/tests/api_tests/file_download_unicode_names.test.js +190 -141
  405. package/lib/esm/tests/api_tests/file_download_unicode_names.test.js.map +1 -1
  406. package/lib/esm/tests/api_tests/form_intake_email_normalization.test.d.ts +7 -0
  407. package/lib/esm/tests/api_tests/form_intake_email_normalization.test.d.ts.map +1 -0
  408. package/lib/esm/tests/api_tests/form_intake_email_normalization.test.js +527 -0
  409. package/lib/esm/tests/api_tests/form_intake_email_normalization.test.js.map +1 -0
  410. package/lib/esm/tests/api_tests/form_submitted_trigger.test.d.ts +25 -5
  411. package/lib/esm/tests/api_tests/form_submitted_trigger.test.d.ts.map +1 -1
  412. package/lib/esm/tests/api_tests/form_submitted_trigger.test.js +393 -365
  413. package/lib/esm/tests/api_tests/form_submitted_trigger.test.js.map +1 -1
  414. package/lib/esm/tests/api_tests/form_translations.test.d.ts +6 -5
  415. package/lib/esm/tests/api_tests/form_translations.test.d.ts.map +1 -1
  416. package/lib/esm/tests/api_tests/form_translations.test.js +268 -189
  417. package/lib/esm/tests/api_tests/form_translations.test.js.map +1 -1
  418. package/lib/esm/tests/api_tests/formsort_header_auth.test.d.ts +29 -5
  419. package/lib/esm/tests/api_tests/formsort_header_auth.test.d.ts.map +1 -1
  420. package/lib/esm/tests/api_tests/formsort_header_auth.test.js +177 -161
  421. package/lib/esm/tests/api_tests/formsort_header_auth.test.js.map +1 -1
  422. package/lib/esm/tests/api_tests/gcal_sync_retry.test.d.ts +12 -6
  423. package/lib/esm/tests/api_tests/gcal_sync_retry.test.d.ts.map +1 -1
  424. package/lib/esm/tests/api_tests/gcal_sync_retry.test.js +96 -83
  425. package/lib/esm/tests/api_tests/gcal_sync_retry.test.js.map +1 -1
  426. package/lib/esm/tests/api_tests/get_some_projection.test.d.ts +20 -5
  427. package/lib/esm/tests/api_tests/get_some_projection.test.d.ts.map +1 -1
  428. package/lib/esm/tests/api_tests/get_some_projection.test.js +339 -296
  429. package/lib/esm/tests/api_tests/get_some_projection.test.js.map +1 -1
  430. package/lib/esm/tests/api_tests/group_event_attendee_self_update.test.d.ts +6 -5
  431. package/lib/esm/tests/api_tests/group_event_attendee_self_update.test.d.ts.map +1 -1
  432. package/lib/esm/tests/api_tests/group_event_attendee_self_update.test.js +292 -222
  433. package/lib/esm/tests/api_tests/group_event_attendee_self_update.test.js.map +1 -1
  434. package/lib/esm/tests/api_tests/integrations_redacted.test.d.ts +6 -5
  435. package/lib/esm/tests/api_tests/integrations_redacted.test.d.ts.map +1 -1
  436. package/lib/esm/tests/api_tests/integrations_redacted.test.js +304 -211
  437. package/lib/esm/tests/api_tests/integrations_redacted.test.js.map +1 -1
  438. package/lib/esm/tests/api_tests/journey_delete_cancels_actions.test.d.ts +6 -5
  439. package/lib/esm/tests/api_tests/journey_delete_cancels_actions.test.d.ts.map +1 -1
  440. package/lib/esm/tests/api_tests/journey_delete_cancels_actions.test.js +177 -154
  441. package/lib/esm/tests/api_tests/journey_delete_cancels_actions.test.js.map +1 -1
  442. package/lib/esm/tests/api_tests/load_team_chat.test.d.ts.map +1 -1
  443. package/lib/esm/tests/api_tests/load_team_chat.test.js +181 -124
  444. package/lib/esm/tests/api_tests/load_team_chat.test.js.map +1 -1
  445. package/lib/esm/tests/api_tests/load_threads_autobuild.test.d.ts +24 -5
  446. package/lib/esm/tests/api_tests/load_threads_autobuild.test.d.ts.map +1 -1
  447. package/lib/esm/tests/api_tests/load_threads_autobuild.test.js +259 -226
  448. package/lib/esm/tests/api_tests/load_threads_autobuild.test.js.map +1 -1
  449. package/lib/esm/tests/api_tests/load_threads_care_team.test.d.ts +6 -0
  450. package/lib/esm/tests/api_tests/load_threads_care_team.test.d.ts.map +1 -1
  451. package/lib/esm/tests/api_tests/load_threads_care_team.test.js +115 -31
  452. package/lib/esm/tests/api_tests/load_threads_care_team.test.js.map +1 -1
  453. package/lib/esm/tests/api_tests/managed_content_file_access.test.d.ts +15 -5
  454. package/lib/esm/tests/api_tests/managed_content_file_access.test.d.ts.map +1 -1
  455. package/lib/esm/tests/api_tests/managed_content_file_access.test.js +283 -287
  456. package/lib/esm/tests/api_tests/managed_content_file_access.test.js.map +1 -1
  457. package/lib/esm/tests/api_tests/mdb_sort.test.d.ts +20 -5
  458. package/lib/esm/tests/api_tests/mdb_sort.test.d.ts.map +1 -1
  459. package/lib/esm/tests/api_tests/mdb_sort.test.js +358 -303
  460. package/lib/esm/tests/api_tests/mdb_sort.test.js.map +1 -1
  461. package/lib/esm/tests/api_tests/mdi_manual_sync.test.d.ts +27 -0
  462. package/lib/esm/tests/api_tests/mdi_manual_sync.test.d.ts.map +1 -0
  463. package/lib/esm/tests/api_tests/mdi_manual_sync.test.js +390 -0
  464. package/lib/esm/tests/api_tests/mdi_manual_sync.test.js.map +1 -0
  465. package/lib/esm/tests/api_tests/mdi_trigger_refill.test.d.ts +6 -5
  466. package/lib/esm/tests/api_tests/mdi_trigger_refill.test.d.ts.map +1 -1
  467. package/lib/esm/tests/api_tests/mdi_trigger_refill.test.js +257 -208
  468. package/lib/esm/tests/api_tests/mdi_trigger_refill.test.js.map +1 -1
  469. package/lib/esm/tests/api_tests/mdi_webhooks.test.d.ts +12 -5
  470. package/lib/esm/tests/api_tests/mdi_webhooks.test.d.ts.map +1 -1
  471. package/lib/esm/tests/api_tests/mdi_webhooks.test.js +65 -60
  472. package/lib/esm/tests/api_tests/mdi_webhooks.test.js.map +1 -1
  473. package/lib/esm/tests/api_tests/message_assignment_trigger.test.d.ts +23 -14
  474. package/lib/esm/tests/api_tests/message_assignment_trigger.test.d.ts.map +1 -1
  475. package/lib/esm/tests/api_tests/message_assignment_trigger.test.js +256 -305
  476. package/lib/esm/tests/api_tests/message_assignment_trigger.test.js.map +1 -1
  477. package/lib/esm/tests/api_tests/metriport_push_form_response.test.d.ts +6 -5
  478. package/lib/esm/tests/api_tests/metriport_push_form_response.test.d.ts.map +1 -1
  479. package/lib/esm/tests/api_tests/metriport_push_form_response.test.js +298 -236
  480. package/lib/esm/tests/api_tests/metriport_push_form_response.test.js.map +1 -1
  481. package/lib/esm/tests/api_tests/organization_api_keys.test.d.ts.map +1 -1
  482. package/lib/esm/tests/api_tests/organization_api_keys.test.js +226 -59
  483. package/lib/esm/tests/api_tests/organization_api_keys.test.js.map +1 -1
  484. package/lib/esm/tests/api_tests/organization_settings_duplicates.test.d.ts +19 -5
  485. package/lib/esm/tests/api_tests/organization_settings_duplicates.test.d.ts.map +1 -1
  486. package/lib/esm/tests/api_tests/organization_settings_duplicates.test.js +332 -220
  487. package/lib/esm/tests/api_tests/organization_settings_duplicates.test.js.map +1 -1
  488. package/lib/esm/tests/api_tests/organization_signup.test.d.ts.map +1 -1
  489. package/lib/esm/tests/api_tests/organization_signup.test.js +218 -51
  490. package/lib/esm/tests/api_tests/organization_signup.test.js.map +1 -1
  491. package/lib/esm/tests/api_tests/out_of_office_endpoint.test.d.ts.map +1 -1
  492. package/lib/esm/tests/api_tests/out_of_office_endpoint.test.js +109 -1
  493. package/lib/esm/tests/api_tests/out_of_office_endpoint.test.js.map +1 -1
  494. package/lib/esm/tests/api_tests/outbound_chat_sent_trigger.test.d.ts +6 -6
  495. package/lib/esm/tests/api_tests/outbound_chat_sent_trigger.test.d.ts.map +1 -1
  496. package/lib/esm/tests/api_tests/outbound_chat_sent_trigger.test.js +308 -361
  497. package/lib/esm/tests/api_tests/outbound_chat_sent_trigger.test.js.map +1 -1
  498. package/lib/esm/tests/api_tests/phone_calls_cold_transfer.test.d.ts +6 -5
  499. package/lib/esm/tests/api_tests/phone_calls_cold_transfer.test.d.ts.map +1 -1
  500. package/lib/esm/tests/api_tests/phone_calls_cold_transfer.test.js +243 -163
  501. package/lib/esm/tests/api_tests/phone_calls_cold_transfer.test.js.map +1 -1
  502. package/lib/esm/tests/api_tests/phone_calls_conference_hold.test.d.ts +15 -5
  503. package/lib/esm/tests/api_tests/phone_calls_conference_hold.test.d.ts.map +1 -1
  504. package/lib/esm/tests/api_tests/phone_calls_conference_hold.test.js +127 -45
  505. package/lib/esm/tests/api_tests/phone_calls_conference_hold.test.js.map +1 -1
  506. package/lib/esm/tests/api_tests/phone_tree_enduser_condition.test.d.ts +6 -5
  507. package/lib/esm/tests/api_tests/phone_tree_enduser_condition.test.d.ts.map +1 -1
  508. package/lib/esm/tests/api_tests/phone_tree_enduser_condition.test.js +177 -130
  509. package/lib/esm/tests/api_tests/phone_tree_enduser_condition.test.js.map +1 -1
  510. package/lib/esm/tests/api_tests/programs.test.d.ts.map +1 -1
  511. package/lib/esm/tests/api_tests/programs.test.js +417 -50
  512. package/lib/esm/tests/api_tests/programs.test.js.map +1 -1
  513. package/lib/esm/tests/api_tests/security/ai-conversations-rbac.test.d.ts +10 -5
  514. package/lib/esm/tests/api_tests/security/ai-conversations-rbac.test.d.ts.map +1 -1
  515. package/lib/esm/tests/api_tests/security/ai-conversations-rbac.test.js +399 -281
  516. package/lib/esm/tests/api_tests/security/ai-conversations-rbac.test.js.map +1 -1
  517. package/lib/esm/tests/api_tests/security/automated-actions-process-gate.test.d.ts +9 -5
  518. package/lib/esm/tests/api_tests/security/automated-actions-process-gate.test.d.ts.map +1 -1
  519. package/lib/esm/tests/api_tests/security/automated-actions-process-gate.test.js +225 -209
  520. package/lib/esm/tests/api_tests/security/automated-actions-process-gate.test.js.map +1 -1
  521. package/lib/esm/tests/api_tests/security/booking-info-idor-token-mint.test.d.ts +13 -8
  522. package/lib/esm/tests/api_tests/security/booking-info-idor-token-mint.test.d.ts.map +1 -1
  523. package/lib/esm/tests/api_tests/security/booking-info-idor-token-mint.test.js +268 -253
  524. package/lib/esm/tests/api_tests/security/booking-info-idor-token-mint.test.js.map +1 -1
  525. package/lib/esm/tests/api_tests/security/cascade-role-rename-cross-tenant.test.d.ts +16 -6
  526. package/lib/esm/tests/api_tests/security/cascade-role-rename-cross-tenant.test.d.ts.map +1 -1
  527. package/lib/esm/tests/api_tests/security/cascade-role-rename-cross-tenant.test.js +165 -141
  528. package/lib/esm/tests/api_tests/security/cascade-role-rename-cross-tenant.test.js.map +1 -1
  529. package/lib/esm/tests/api_tests/security/data-sync-redaction-bypass.test.d.ts +10 -5
  530. package/lib/esm/tests/api_tests/security/data-sync-redaction-bypass.test.d.ts.map +1 -1
  531. package/lib/esm/tests/api_tests/security/data-sync-redaction-bypass.test.js +294 -220
  532. package/lib/esm/tests/api_tests/security/data-sync-redaction-bypass.test.js.map +1 -1
  533. package/lib/esm/tests/api_tests/security/develop-health-benefit-verification-rbac.test.d.ts +12 -5
  534. package/lib/esm/tests/api_tests/security/develop-health-benefit-verification-rbac.test.d.ts.map +1 -1
  535. package/lib/esm/tests/api_tests/security/develop-health-benefit-verification-rbac.test.js +219 -215
  536. package/lib/esm/tests/api_tests/security/develop-health-benefit-verification-rbac.test.js.map +1 -1
  537. package/lib/esm/tests/api_tests/security/enduser-ai-summary-trust-gate.test.d.ts +11 -5
  538. package/lib/esm/tests/api_tests/security/enduser-ai-summary-trust-gate.test.d.ts.map +1 -1
  539. package/lib/esm/tests/api_tests/security/enduser-ai-summary-trust-gate.test.js +298 -202
  540. package/lib/esm/tests/api_tests/security/enduser-ai-summary-trust-gate.test.js.map +1 -1
  541. package/lib/esm/tests/api_tests/security/enduser-cross-create.test.d.ts +11 -5
  542. package/lib/esm/tests/api_tests/security/enduser-cross-create.test.d.ts.map +1 -1
  543. package/lib/esm/tests/api_tests/security/enduser-cross-create.test.js +413 -274
  544. package/lib/esm/tests/api_tests/security/enduser-cross-create.test.js.map +1 -1
  545. package/lib/esm/tests/api_tests/security/enduser-write-restrictions.test.d.ts +11 -5
  546. package/lib/esm/tests/api_tests/security/enduser-write-restrictions.test.d.ts.map +1 -1
  547. package/lib/esm/tests/api_tests/security/enduser-write-restrictions.test.js +345 -227
  548. package/lib/esm/tests/api_tests/security/enduser-write-restrictions.test.js.map +1 -1
  549. package/lib/esm/tests/api_tests/security/globalunique-conflict-redaction.test.d.ts +18 -7
  550. package/lib/esm/tests/api_tests/security/globalunique-conflict-redaction.test.d.ts.map +1 -1
  551. package/lib/esm/tests/api_tests/security/globalunique-conflict-redaction.test.js +162 -74
  552. package/lib/esm/tests/api_tests/security/globalunique-conflict-redaction.test.js.map +1 -1
  553. package/lib/esm/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.d.ts +15 -9
  554. package/lib/esm/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.d.ts.map +1 -1
  555. package/lib/esm/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.js +96 -100
  556. package/lib/esm/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.js.map +1 -1
  557. package/lib/esm/tests/api_tests/security/load-inbox-redaction.test.d.ts +11 -5
  558. package/lib/esm/tests/api_tests/security/load-inbox-redaction.test.d.ts.map +1 -1
  559. package/lib/esm/tests/api_tests/security/load-inbox-redaction.test.js +129 -87
  560. package/lib/esm/tests/api_tests/security/load-inbox-redaction.test.js.map +1 -1
  561. package/lib/esm/tests/api_tests/security/proxy-image-unauth-ssrf.test.d.ts +12 -5
  562. package/lib/esm/tests/api_tests/security/proxy-image-unauth-ssrf.test.d.ts.map +1 -1
  563. package/lib/esm/tests/api_tests/security/proxy-image-unauth-ssrf.test.js +187 -136
  564. package/lib/esm/tests/api_tests/security/proxy-image-unauth-ssrf.test.js.map +1 -1
  565. package/lib/esm/tests/api_tests/security/register_business_id_injection.test.d.ts +18 -16
  566. package/lib/esm/tests/api_tests/security/register_business_id_injection.test.d.ts.map +1 -1
  567. package/lib/esm/tests/api_tests/security/register_business_id_injection.test.js +162 -123
  568. package/lib/esm/tests/api_tests/security/register_business_id_injection.test.js.map +1 -1
  569. package/lib/esm/tests/api_tests/security/sanitize-user-html-with-iframes.test.d.ts.map +1 -1
  570. package/lib/esm/tests/api_tests/security/sanitize-user-html-with-iframes.test.js +122 -2
  571. package/lib/esm/tests/api_tests/security/sanitize-user-html-with-iframes.test.js.map +1 -1
  572. package/lib/esm/tests/api_tests/security/schema-adminonly-enforcement.test.d.ts +11 -5
  573. package/lib/esm/tests/api_tests/security/schema-adminonly-enforcement.test.d.ts.map +1 -1
  574. package/lib/esm/tests/api_tests/security/schema-adminonly-enforcement.test.js +285 -272
  575. package/lib/esm/tests/api_tests/security/schema-adminonly-enforcement.test.js.map +1 -1
  576. package/lib/esm/tests/api_tests/security/self-admin-role-assignment.test.d.ts +17 -10
  577. package/lib/esm/tests/api_tests/security/self-admin-role-assignment.test.d.ts.map +1 -1
  578. package/lib/esm/tests/api_tests/security/self-admin-role-assignment.test.js +171 -137
  579. package/lib/esm/tests/api_tests/security/self-admin-role-assignment.test.js.map +1 -1
  580. package/lib/esm/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.d.ts +6 -5
  581. package/lib/esm/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.d.ts.map +1 -1
  582. package/lib/esm/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.js +307 -263
  583. package/lib/esm/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.js.map +1 -1
  584. package/lib/esm/tests/api_tests/security/webhook-timeout.test.d.ts +9 -5
  585. package/lib/esm/tests/api_tests/security/webhook-timeout.test.d.ts.map +1 -1
  586. package/lib/esm/tests/api_tests/security/webhook-timeout.test.js +105 -81
  587. package/lib/esm/tests/api_tests/security/webhook-timeout.test.js.map +1 -1
  588. package/lib/esm/tests/api_tests/stedi_approval.test.d.ts +6 -5
  589. package/lib/esm/tests/api_tests/stedi_approval.test.d.ts.map +1 -1
  590. package/lib/esm/tests/api_tests/stedi_approval.test.js +204 -136
  591. package/lib/esm/tests/api_tests/stedi_approval.test.js.map +1 -1
  592. package/lib/esm/tests/api_tests/ticket_stage_archive.test.d.ts +7 -0
  593. package/lib/esm/tests/api_tests/ticket_stage_archive.test.d.ts.map +1 -0
  594. package/lib/esm/tests/api_tests/ticket_stage_archive.test.js +339 -0
  595. package/lib/esm/tests/api_tests/ticket_stage_archive.test.js.map +1 -0
  596. package/lib/esm/tests/api_tests/tickets_bulk_assign_care_team.test.d.ts +6 -5
  597. package/lib/esm/tests/api_tests/tickets_bulk_assign_care_team.test.d.ts.map +1 -1
  598. package/lib/esm/tests/api_tests/tickets_bulk_assign_care_team.test.js +162 -147
  599. package/lib/esm/tests/api_tests/tickets_bulk_assign_care_team.test.js.map +1 -1
  600. package/lib/esm/tests/api_tests/translations.test.d.ts +6 -5
  601. package/lib/esm/tests/api_tests/translations.test.d.ts.map +1 -1
  602. package/lib/esm/tests/api_tests/translations.test.js +102 -74
  603. package/lib/esm/tests/api_tests/translations.test.js.map +1 -1
  604. package/lib/esm/tests/api_tests/trigger_set_fields_date_difference.test.d.ts +21 -4
  605. package/lib/esm/tests/api_tests/trigger_set_fields_date_difference.test.d.ts.map +1 -1
  606. package/lib/esm/tests/api_tests/trigger_set_fields_date_difference.test.js +236 -369
  607. package/lib/esm/tests/api_tests/trigger_set_fields_date_difference.test.js.map +1 -1
  608. package/lib/esm/tests/api_tests/user_preferences.test.d.ts +30 -0
  609. package/lib/esm/tests/api_tests/user_preferences.test.d.ts.map +1 -0
  610. package/lib/esm/tests/api_tests/user_preferences.test.js +274 -0
  611. package/lib/esm/tests/api_tests/user_preferences.test.js.map +1 -0
  612. package/lib/esm/tests/api_tests/webhook_error_handling.test.d.ts +17 -5
  613. package/lib/esm/tests/api_tests/webhook_error_handling.test.d.ts.map +1 -1
  614. package/lib/esm/tests/api_tests/webhook_error_handling.test.js +202 -194
  615. package/lib/esm/tests/api_tests/webhook_error_handling.test.js.map +1 -1
  616. package/lib/esm/tests/api_tests/webhook_raw_json_number.test.d.ts +15 -5
  617. package/lib/esm/tests/api_tests/webhook_raw_json_number.test.d.ts.map +1 -1
  618. package/lib/esm/tests/api_tests/webhook_raw_json_number.test.js +152 -178
  619. package/lib/esm/tests/api_tests/webhook_raw_json_number.test.js.map +1 -1
  620. package/lib/esm/tests/api_tests/welle_partner_token.test.d.ts +6 -5
  621. package/lib/esm/tests/api_tests/welle_partner_token.test.d.ts.map +1 -1
  622. package/lib/esm/tests/api_tests/welle_partner_token.test.js +391 -250
  623. package/lib/esm/tests/api_tests/welle_partner_token.test.js.map +1 -1
  624. package/lib/esm/tests/setup_isolated.d.ts +7 -0
  625. package/lib/esm/tests/setup_isolated.d.ts.map +1 -1
  626. package/lib/esm/tests/setup_isolated.js.map +1 -1
  627. package/lib/esm/tests/tests.d.ts.map +1 -1
  628. package/lib/esm/tests/tests.js +229 -461
  629. package/lib/esm/tests/tests.js.map +1 -1
  630. package/lib/esm/tests/unit_tests/date_string_validation.test.d.ts +2 -0
  631. package/lib/esm/tests/unit_tests/date_string_validation.test.d.ts.map +1 -0
  632. package/lib/esm/tests/unit_tests/date_string_validation.test.js +108 -0
  633. package/lib/esm/tests/unit_tests/date_string_validation.test.js.map +1 -0
  634. package/lib/tsconfig.tsbuildinfo +1 -1
  635. package/package.json +10 -10
  636. package/src/sdk.ts +14 -3
  637. package/src/tests/api_tests/ai_conversations.test.ts +170 -138
  638. package/src/tests/api_tests/ai_conversations_agent_message.test.ts +491 -0
  639. package/src/tests/api_tests/appointment_link_expiration.test.ts +94 -35
  640. package/src/tests/api_tests/appointment_no_showed_trigger.test.ts +181 -128
  641. package/src/tests/api_tests/availability_block_buffer.test.ts +286 -0
  642. package/src/tests/api_tests/beluga_manual_sync.test.ts +103 -53
  643. package/src/tests/api_tests/beluga_trigger_refill.test.ts +131 -46
  644. package/src/tests/api_tests/bulk_assignment.test.ts +307 -220
  645. package/src/tests/api_tests/calendar_event_references_update.test.ts +97 -54
  646. package/src/tests/api_tests/calendar_event_webhook_template.test.ts +198 -158
  647. package/src/tests/api_tests/chats_analytics.test.ts +161 -123
  648. package/src/tests/api_tests/concurrent_build_threads.test.ts +80 -69
  649. package/src/tests/api_tests/configurations_public_read.test.ts +154 -67
  650. package/src/tests/api_tests/copied_form_response_no_enduser_sync.test.ts +307 -0
  651. package/src/tests/api_tests/create_note_action.test.ts +149 -70
  652. package/src/tests/api_tests/create_user_notifications_trigger.test.ts +116 -144
  653. package/src/tests/api_tests/custom_aggregation.test.ts +163 -92
  654. package/src/tests/api_tests/database_cascade_delete.test.ts +101 -87
  655. package/src/tests/api_tests/dont_sync_to_elation_form_submission.test.ts +122 -51
  656. package/src/tests/api_tests/elation_user_id.test.ts +105 -42
  657. package/src/tests/api_tests/file_download_unicode_names.test.ts +171 -122
  658. package/src/tests/api_tests/form_intake_email_normalization.test.ts +489 -0
  659. package/src/tests/api_tests/form_submitted_trigger.test.ts +152 -86
  660. package/src/tests/api_tests/form_translations.test.ts +117 -48
  661. package/src/tests/api_tests/formsort_header_auth.test.ts +147 -97
  662. package/src/tests/api_tests/gcal_sync_retry.test.ts +71 -49
  663. package/src/tests/api_tests/get_some_projection.test.ts +333 -169
  664. package/src/tests/api_tests/group_event_attendee_self_update.test.ts +103 -52
  665. package/src/tests/api_tests/integrations_redacted.test.ts +161 -84
  666. package/src/tests/api_tests/journey_delete_cancels_actions.test.ts +93 -64
  667. package/src/tests/api_tests/load_team_chat.test.ts +62 -6
  668. package/src/tests/api_tests/load_threads_autobuild.test.ts +163 -67
  669. package/src/tests/api_tests/load_threads_care_team.test.ts +103 -0
  670. package/src/tests/api_tests/managed_content_file_access.test.ts +132 -108
  671. package/src/tests/api_tests/mdb_sort.test.ts +247 -161
  672. package/src/tests/api_tests/mdi_manual_sync.test.ts +277 -0
  673. package/src/tests/api_tests/mdi_trigger_refill.test.ts +132 -78
  674. package/src/tests/api_tests/mdi_webhooks.test.ts +52 -22
  675. package/src/tests/api_tests/message_assignment_trigger.test.ts +129 -155
  676. package/src/tests/api_tests/metriport_push_form_response.test.ts +109 -49
  677. package/src/tests/api_tests/organization_api_keys.test.ts +170 -2
  678. package/src/tests/api_tests/organization_settings_duplicates.test.ts +291 -181
  679. package/src/tests/api_tests/organization_signup.test.ts +170 -5
  680. package/src/tests/api_tests/out_of_office_endpoint.test.ts +98 -0
  681. package/src/tests/api_tests/outbound_chat_sent_trigger.test.ts +163 -175
  682. package/src/tests/api_tests/phone_calls_cold_transfer.test.ts +195 -133
  683. package/src/tests/api_tests/phone_calls_conference_hold.test.ts +112 -42
  684. package/src/tests/api_tests/phone_tree_enduser_condition.test.ts +81 -32
  685. package/src/tests/api_tests/programs.test.ts +350 -0
  686. package/src/tests/api_tests/security/ai-conversations-rbac.test.ts +248 -128
  687. package/src/tests/api_tests/security/automated-actions-process-gate.test.ts +47 -42
  688. package/src/tests/api_tests/security/booking-info-idor-token-mint.test.ts +53 -45
  689. package/src/tests/api_tests/security/cascade-role-rename-cross-tenant.test.ts +100 -73
  690. package/src/tests/api_tests/security/data-sync-redaction-bypass.test.ts +125 -59
  691. package/src/tests/api_tests/security/develop-health-benefit-verification-rbac.test.ts +131 -103
  692. package/src/tests/api_tests/security/enduser-ai-summary-trust-gate.test.ts +161 -68
  693. package/src/tests/api_tests/security/enduser-cross-create.test.ts +200 -61
  694. package/src/tests/api_tests/security/enduser-write-restrictions.test.ts +179 -61
  695. package/src/tests/api_tests/security/globalunique-conflict-redaction.test.ts +163 -44
  696. package/src/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.ts +78 -70
  697. package/src/tests/api_tests/security/load-inbox-redaction.test.ts +79 -44
  698. package/src/tests/api_tests/security/proxy-image-unauth-ssrf.test.ts +95 -52
  699. package/src/tests/api_tests/security/register_business_id_injection.test.ts +132 -93
  700. package/src/tests/api_tests/security/sanitize-user-html-with-iframes.test.ts +127 -0
  701. package/src/tests/api_tests/security/schema-adminonly-enforcement.test.ts +42 -37
  702. package/src/tests/api_tests/security/self-admin-role-assignment.test.ts +92 -54
  703. package/src/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.ts +76 -34
  704. package/src/tests/api_tests/security/webhook-timeout.test.ts +67 -36
  705. package/src/tests/api_tests/stedi_approval.test.ts +156 -90
  706. package/src/tests/api_tests/ticket_stage_archive.test.ts +314 -0
  707. package/src/tests/api_tests/tickets_bulk_assign_care_team.test.ts +138 -103
  708. package/src/tests/api_tests/translations.test.ts +69 -46
  709. package/src/tests/api_tests/trigger_set_fields_date_difference.test.ts +198 -256
  710. package/src/tests/api_tests/user_preferences.test.ts +227 -0
  711. package/src/tests/api_tests/webhook_error_handling.test.ts +121 -60
  712. package/src/tests/api_tests/webhook_raw_json_number.test.ts +127 -109
  713. package/src/tests/api_tests/welle_partner_token.test.ts +217 -90
  714. package/src/tests/setup_isolated.ts +7 -0
  715. package/src/tests/tests.ts +41 -147
  716. package/src/tests/{api_tests → unit_tests}/date_string_validation.test.ts +2 -23
  717. package/test_generated.pdf +0 -0
@@ -46,12 +46,11 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
46
46
  }
47
47
  };
48
48
  require('source-map-support').install();
49
- import { Session } from "../../../sdk";
50
- import { async_test, log_header, wait, } from "@tellescope/testing";
51
- import { setup_tests } from "../../setup";
49
+ import { wait, } from "@tellescope/testing";
50
+ import { assert_checks, setup_isolated_tenant, } from "../../setup_isolated";
52
51
  import { PROVIDER_PERMISSIONS } from "@tellescope/constants";
53
52
  var host = process.env.API_URL || 'http://localhost:8080';
54
- var _a = [process.env.NON_ADMIN_EMAIL, process.env.NON_ADMIN_PASSWORD], nonAdminEmail = _a[0], nonAdminPassword = _a[1];
53
+ var RAND = function () { return Math.random().toString(36).slice(2, 10); };
55
54
  var FULL_ACCESS = { create: 'All', read: 'All', update: 'All', delete: 'All' };
56
55
  // Schema fields tagged `redactions: ['all']` that must never appear in
57
56
  // `/v1/data-sync` results. See packages/public/schema/src/schema.ts.
@@ -105,234 +104,309 @@ var collectViolations = function (results) {
105
104
  *
106
105
  * Pre-fix: assertion fails with leaked records.
107
106
  * Post-fix: assertion passes.
107
+ *
108
+ * Runs on its own provisioned tenant. It used to overwrite the SHARED non-admin user's roles with
109
+ * this deliberately over-permissive role and restore them in a finally, so a crash stranded the
110
+ * fixture user on it; the mutated user is now this tenant's own, and it is thrown away at teardown.
108
111
  */
109
- export var data_sync_redaction_bypass_tests = function (_a) {
110
- var sdk = _a.sdk, sdkNonAdmin = _a.sdkNonAdmin;
111
- return __awaiter(void 0, void 0, void 0, function () {
112
- var roleName, testEnduserId, rbapId, originalRoles, rbap, testEnduser, sync_1, violations_1, userRecordsInStream_1, adminSync, adminViolations_1, otherUsersInStream_2, linkedAccountLeaks_1, _i, otherUsersInStream_1, record, parsed, _b, _c, _d, _e;
113
- return __generator(this, function (_f) {
114
- switch (_f.label) {
115
- case 0:
116
- log_header("/v1/data-sync field-redaction bypass regression");
117
- roleName = "f0001-data-sync-bypass-".concat(Date.now());
118
- originalRoles = sdkNonAdmin.userInfo.roles;
119
- _f.label = 1;
120
- case 1:
121
- _f.trys.push([1, , 15, 32]);
122
- return [4 /*yield*/, sdk.api.role_based_access_permissions.createOne({
123
- role: roleName,
124
- permissions: __assign(__assign({}, PROVIDER_PERMISSIONS), { users: FULL_ACCESS, endusers: FULL_ACCESS }),
125
- // intentionally NO fieldRedactions — this is the exploit condition.
126
- })];
127
- case 2:
128
- rbap = _f.sent();
129
- rbapId = rbap.id;
130
- // 2. Assign role to the non-admin user and re-authenticate so the new
131
- // session reflects the role's permissions.
132
- return [4 /*yield*/, sdk.api.users.updateOne(sdkNonAdmin.userInfo.id, { roles: [roleName] }, { replaceObjectFields: true })];
133
- case 3:
134
- // 2. Assign role to the non-admin user and re-authenticate so the new
112
+ export var data_sync_redaction_bypass_checks = function () { return __awaiter(void 0, void 0, void 0, function () {
113
+ var checks, record, describe, errorMessage, expect_result, roleName, tenant, sdk_1, sdkNonAdmin, _a, admin_1, nonAdmin_1, testEnduser, sync_1, violations_1, userRecordsInStream_1, adminSync, adminViolations_1, otherUsersInStream_2, linkedAccountLeaks_1, _i, otherUsersInStream_1, syncRecord, parsed, e_1;
114
+ return __generator(this, function (_b) {
115
+ switch (_b.label) {
116
+ case 0:
117
+ checks = [];
118
+ record = function (label, pass, detail) { return checks.push({ label: label, pass: pass, detail: detail }); };
119
+ describe = function (value) {
120
+ if (value === undefined || value === null)
121
+ return String(value);
122
+ var stringified = JSON.stringify(value);
123
+ return stringified === undefined ? String(value) : stringified;
124
+ };
125
+ errorMessage = function (e) { return (typeof (e === null || e === void 0 ? void 0 : e.message) === 'string' && e.message !== '' ? e.message : describe(e)); };
126
+ expect_result = function (label, fn, onResult) { return __awaiter(void 0, void 0, void 0, function () {
127
+ var resolved, e_2, value;
128
+ var _a;
129
+ return __generator(this, function (_b) {
130
+ switch (_b.label) {
131
+ case 0:
132
+ _b.trys.push([0, 2, , 3]);
133
+ _a = {};
134
+ return [4 /*yield*/, fn()];
135
+ case 1:
136
+ resolved = (_a.value = _b.sent(), _a);
137
+ return [3 /*break*/, 3];
138
+ case 2:
139
+ e_2 = _b.sent();
140
+ record(label, false, "rejected instead of resolving: ".concat(errorMessage(e_2)));
141
+ return [2 /*return*/];
142
+ case 3:
143
+ value = resolved.value;
144
+ try {
145
+ record(label, onResult(value), "result=".concat(describe(value)));
146
+ }
147
+ catch (predicateError) {
148
+ record(label, false, "predicate threw on result=".concat(describe(value), ": ").concat(errorMessage(predicateError)));
149
+ }
150
+ return [2 /*return*/];
151
+ }
152
+ });
153
+ }); };
154
+ roleName = "f0001-data-sync-bypass-".concat(RAND());
155
+ _b.label = 1;
156
+ case 1:
157
+ _b.trys.push([1, , 20, 25]);
158
+ return [4 /*yield*/, setup_isolated_tenant({
159
+ name: "Data-sync field redaction ".concat(RAND()),
160
+ users: [{ isAdmin: true }, { roles: ['Non-Admin'] }],
161
+ apiKeys: 0,
162
+ })];
163
+ case 2:
164
+ tenant = _b.sent();
165
+ sdk_1 = tenant.sdk, sdkNonAdmin = tenant.sdkNonAdmin;
166
+ _a = tenant.users, admin_1 = _a[0], nonAdmin_1 = _a[1];
167
+ // 1. Create a role with broad read access but NO fieldRedactions.
168
+ // This is the realistic "regular user with read access" condition
169
+ // that triggers the bypass in the pre-fix handler.
170
+ return [4 /*yield*/, sdk_1.api.role_based_access_permissions.createOne({
171
+ role: roleName,
172
+ permissions: __assign(__assign({}, PROVIDER_PERMISSIONS), { users: FULL_ACCESS, endusers: FULL_ACCESS }),
173
+ // intentionally NO fieldRedactions — this is the exploit condition.
174
+ })
175
+ // 2. Assign role to this tenant's own non-admin user and re-authenticate so the new
135
176
  // session reflects the role's permissions.
136
- _f.sent();
137
- return [4 /*yield*/, wait(undefined, 1500)];
138
- case 4:
139
- _f.sent();
140
- return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)
141
- // 3. Create a test enduser and set a password — this populates
142
- // `hashedPassword` on the enduser record and writes a data_sync_records
143
- // row for it.
144
- ];
145
- case 5:
146
- _f.sent();
147
- return [4 /*yield*/, sdk.api.endusers.createOne({
148
- fname: 'F0001Target',
149
- lname: 'Patient',
150
- email: "f0001-target-".concat(Date.now(), "@example.com"),
151
- })];
152
- case 6:
153
- testEnduser = _f.sent();
154
- testEnduserId = testEnduser.id;
155
- return [4 /*yield*/, sdk.api.endusers.set_password({ id: testEnduser.id, password: 'F0001TestPassword!123' })
156
- // The non-admin user's own `hashedPass` is set from login and refreshed
157
- // on every write to their user record (e.g., the role-assignment update
158
- // above). No extra setup needed for users.hashedPass to be in the stream.
159
- ];
160
- case 7:
161
- _f.sent();
162
- // The non-admin user's own `hashedPass` is set from login and refreshed
163
- // on every write to their user record (e.g., the role-assignment update
164
- // above). No extra setup needed for users.hashedPass to be in the stream.
165
- return [4 /*yield*/, wait(undefined, 500)
166
- // 4. As the non-admin, call /v1/data-sync from epoch zero to capture all
167
- // sync records the role can see.
168
- ];
169
- case 8:
177
+ ];
178
+ case 3:
179
+ // 1. Create a role with broad read access but NO fieldRedactions.
180
+ // This is the realistic "regular user with read access" condition
181
+ // that triggers the bypass in the pre-fix handler.
182
+ _b.sent();
183
+ // 2. Assign role to this tenant's own non-admin user and re-authenticate so the new
184
+ // session reflects the role's permissions.
185
+ return [4 /*yield*/, sdk_1.api.users.updateOne(nonAdmin_1.id, { roles: [roleName] }, { replaceObjectFields: true })];
186
+ case 4:
187
+ // 2. Assign role to this tenant's own non-admin user and re-authenticate so the new
188
+ // session reflects the role's permissions.
189
+ _b.sent();
190
+ return [4 /*yield*/, wait(undefined, 1500)];
191
+ case 5:
192
+ _b.sent();
193
+ return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdmin_1.email, nonAdmin_1.password)
194
+ // 2b. Seed a real `linkedAccountAccess` entry on the ADMIN's user record, so coverage B below
195
+ // can actually fail. A verbatim port asserted "no other user's record carries the field",
196
+ // which on a fresh tenant no record carries anyway — it passed even with applyRedactions'
197
+ // owner-only branch deleted.
198
+ //
199
+ // The entry is written by request_linked_account_access, which needs account switching
200
+ // enabled on both the actor's and the target's org (here, the one tenant org), and lands
201
+ // the requester's snapshot on the TARGET's record — hence the non-admin requesting access
202
+ // to the admin. The handler writes raw through getDB() and leaves no data_sync_record, so
203
+ // the admin then touches its own record through the SDK to produce one.
204
+ ];
205
+ case 6:
206
+ _b.sent();
207
+ // 2b. Seed a real `linkedAccountAccess` entry on the ADMIN's user record, so coverage B below
208
+ // can actually fail. A verbatim port asserted "no other user's record carries the field",
209
+ // which on a fresh tenant no record carries anyway — it passed even with applyRedactions'
210
+ // owner-only branch deleted.
211
+ //
212
+ // The entry is written by request_linked_account_access, which needs account switching
213
+ // enabled on both the actor's and the target's org (here, the one tenant org), and lands
214
+ // the requester's snapshot on the TARGET's record — hence the non-admin requesting access
215
+ // to the admin. The handler writes raw through getDB() and leaves no data_sync_record, so
216
+ // the admin then touches its own record through the SDK to produce one.
217
+ return [4 /*yield*/, sdk_1.api.organizations.updateOne(tenant.businessId, { accountSwitchingEnabled: true })];
218
+ case 7:
219
+ // 2b. Seed a real `linkedAccountAccess` entry on the ADMIN's user record, so coverage B below
220
+ // can actually fail. A verbatim port asserted "no other user's record carries the field",
221
+ // which on a fresh tenant no record carries anyway — it passed even with applyRedactions'
222
+ // owner-only branch deleted.
223
+ //
224
+ // The entry is written by request_linked_account_access, which needs account switching
225
+ // enabled on both the actor's and the target's org (here, the one tenant org), and lands
226
+ // the requester's snapshot on the TARGET's record — hence the non-admin requesting access
227
+ // to the admin. The handler writes raw through getDB() and leaves no data_sync_record, so
228
+ // the admin then touches its own record through the SDK to produce one.
229
+ _b.sent();
230
+ return [4 /*yield*/, sdkNonAdmin.api.users.request_linked_account_access({ targetEmail: admin_1.email })];
231
+ case 8:
232
+ _b.sent();
233
+ return [4 /*yield*/, sdk_1.api.users.updateOne(admin_1.id, { fname: 'DataSyncAdmin' })
234
+ // The handler answers `{}` on every rejection path (enumeration safety), so the only way to
235
+ // know the seed landed is to read it back as the record's owner — the one session
236
+ // applyRedactions does not strip the field from. Without this the coverage-B check below is
237
+ // vacuous, so a missing field is a FAIL here rather than a silent no-op.
238
+ ];
239
+ case 9:
240
+ _b.sent();
241
+ // The handler answers `{}` on every rejection path (enumeration safety), so the only way to
242
+ // know the seed landed is to read it back as the record's owner — the one session
243
+ // applyRedactions does not strip the field from. Without this the coverage-B check below is
244
+ // vacuous, so a missing field is a FAIL here rather than a silent no-op.
245
+ return [4 /*yield*/, expect_result("fixture: linkedAccountAccess is seeded on the admin's user record (owner read)", function () { return sdk_1.api.users.getOne(admin_1.id); }, function (u) { var _a; return ((_a = u.linkedAccountAccess) !== null && _a !== void 0 ? _a : []).some(function (e) { return (e === null || e === void 0 ? void 0 : e.userId) === nonAdmin_1.id; }); })
246
+ // 3. Create a test enduser and set a password — this populates
247
+ // `hashedPassword` on the enduser record and writes a data_sync_records
248
+ // row for it.
249
+ ];
250
+ case 10:
251
+ // The handler answers `{}` on every rejection path (enumeration safety), so the only way to
252
+ // know the seed landed is to read it back as the record's owner — the one session
253
+ // applyRedactions does not strip the field from. Without this the coverage-B check below is
254
+ // vacuous, so a missing field is a FAIL here rather than a silent no-op.
255
+ _b.sent();
256
+ return [4 /*yield*/, sdk_1.api.endusers.createOne({
257
+ fname: 'F0001Target',
258
+ lname: 'Patient',
259
+ email: "f0001-target-".concat(Date.now(), "@example.com"),
260
+ })];
261
+ case 11:
262
+ testEnduser = _b.sent();
263
+ return [4 /*yield*/, sdk_1.api.endusers.set_password({ id: testEnduser.id, password: 'F0001TestPassword!123' })
170
264
  // The non-admin user's own `hashedPass` is set from login and refreshed
171
265
  // on every write to their user record (e.g., the role-assignment update
172
266
  // above). No extra setup needed for users.hashedPass to be in the stream.
173
- _f.sent();
174
- return [4 /*yield*/, sdkNonAdmin.sync({ from: new Date(0) })
175
- // 5. Walk every record. Fail if any contains a `redactions: ['all']` field.
176
- ];
177
- case 9:
178
- sync_1 = _f.sent();
179
- violations_1 = collectViolations(sync_1.results);
180
- userRecordsInStream_1 = sync_1.results.filter(function (r) { return r.modelName === 'users'; }).length;
181
- return [4 /*yield*/, async_test("guard: /v1/data-sync sync stream contains at least one user record", function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
182
- return [2 /*return*/, ({ userRecords: userRecordsInStream_1, totalRecords: sync_1.results.length })];
183
- }); }); }, { onResult: function (r) { return r.userRecords >= 1; } })];
184
- case 10:
185
- _f.sent();
186
- return [4 /*yield*/, async_test("/v1/data-sync must NOT return hashedPass / hashedPassword / hashedInviteCode", function () { return __awaiter(void 0, void 0, void 0, function () {
187
- return __generator(this, function (_a) {
188
- return [2 /*return*/, ({
189
- violationCount: violations_1.length,
190
- violations: violations_1.slice(0, 10),
191
- affectedModels: Array.from(new Set(violations_1.map(function (v) { return v.modelName; }))),
192
- affectedFields: Array.from(new Set(violations_1.map(function (v) { return v.leakedField; }))),
193
- })];
194
- });
195
- }); }, { onResult: function (r) { return r.violationCount === 0; } })
196
- // ========================================================================
197
- // Additional coverage for applyRedactions code paths reachable via /v1/data-sync.
198
- // Each of these is a distinct branch in applyRedactions (routing.ts:1165-1238)
199
- // and could regress independently of this fix.
200
- // ========================================================================
201
- // Case A: schema-level `redactions: ['all']` must apply to ADMIN sessions too.
202
- // Admins have no session.fieldRedactions, but `redactions: ['all']` is universal.
203
- // Pre-fix: admin saw hashedPass via data-sync because applyRedactions was skipped entirely.
204
- // Post-fix: applyRedactions always runs and `redactions: ['all']` strips for everyone.
205
- ];
206
- case 11:
207
- _f.sent();
208
- return [4 /*yield*/, sdk.sync({ from: new Date(0) })];
209
- case 12:
210
- adminSync = _f.sent();
211
- adminViolations_1 = collectViolations(adminSync.results);
212
- return [4 /*yield*/, async_test("coverage A: admin /v1/data-sync also strips redactions:['all'] fields (hashedPass etc.)", function () { return __awaiter(void 0, void 0, void 0, function () {
213
- return __generator(this, function (_a) {
214
- return [2 /*return*/, ({
215
- violationCount: adminViolations_1.length,
216
- violations: adminViolations_1.slice(0, 10),
217
- })];
218
- });
219
- }); }, { onResult: function (r) { return r.violationCount === 0; } })
220
- // Case B: `linkedAccountAccess` on users must be stripped when the caller is NOT
221
- // the record's owner. This is a separate branch in applyRedactions (routing.ts:1220-1225)
222
- // and protects against cross-user enumeration of who-requested-access-to-whom.
223
- // The non-admin user reads other user records via data-sync; if any of those
224
- // records have linkedAccountAccess set, it must be stripped on read.
225
- ];
226
- case 13:
227
- _f.sent();
228
- otherUsersInStream_2 = sync_1.results.filter(function (r) { return r.modelName === 'users' && r.recordId !== sdkNonAdmin.userInfo.id; });
229
- linkedAccountLeaks_1 = [];
230
- for (_i = 0, otherUsersInStream_1 = otherUsersInStream_2; _i < otherUsersInStream_1.length; _i++) {
231
- record = otherUsersInStream_1[_i];
232
- if (!record.data || record.data === 'deleted')
233
- continue;
234
- try {
235
- parsed = JSON.parse(record.data);
236
- if ('linkedAccountAccess' in parsed && parsed.linkedAccountAccess !== undefined) {
237
- linkedAccountLeaks_1.push({ recordId: record.recordId });
238
- }
267
+ ];
268
+ case 12:
269
+ _b.sent();
270
+ // The non-admin user's own `hashedPass` is set from login and refreshed
271
+ // on every write to their user record (e.g., the role-assignment update
272
+ // above). No extra setup needed for users.hashedPass to be in the stream.
273
+ return [4 /*yield*/, wait(undefined, 500)
274
+ // 4. As the non-admin, call /v1/data-sync from epoch zero to capture all
275
+ // sync records the role can see.
276
+ ];
277
+ case 13:
278
+ // The non-admin user's own `hashedPass` is set from login and refreshed
279
+ // on every write to their user record (e.g., the role-assignment update
280
+ // above). No extra setup needed for users.hashedPass to be in the stream.
281
+ _b.sent();
282
+ return [4 /*yield*/, sdkNonAdmin.sync({ from: new Date(0) })
283
+ // 5. Walk every record. Fail if any contains a `redactions: ['all']` field.
284
+ ];
285
+ case 14:
286
+ sync_1 = _b.sent();
287
+ violations_1 = collectViolations(sync_1.results);
288
+ userRecordsInStream_1 = sync_1.results.filter(function (r) { return r.modelName === 'users'; }).length;
289
+ return [4 /*yield*/, expect_result("guard: /v1/data-sync sync stream contains at least one user record", function () { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
290
+ return [2 /*return*/, ({ userRecords: userRecordsInStream_1, totalRecords: sync_1.results.length })];
291
+ }); }); }, function (r) { return r.userRecords >= 1; })];
292
+ case 15:
293
+ _b.sent();
294
+ return [4 /*yield*/, expect_result("/v1/data-sync must NOT return hashedPass / hashedPassword / hashedInviteCode", function () { return __awaiter(void 0, void 0, void 0, function () {
295
+ return __generator(this, function (_a) {
296
+ return [2 /*return*/, ({
297
+ violationCount: violations_1.length,
298
+ violations: violations_1.slice(0, 10),
299
+ affectedModels: Array.from(new Set(violations_1.map(function (v) { return v.modelName; }))),
300
+ affectedFields: Array.from(new Set(violations_1.map(function (v) { return v.leakedField; }))),
301
+ })];
302
+ });
303
+ }); }, function (r) { return r.violationCount === 0; })
304
+ // ========================================================================
305
+ // Additional coverage for applyRedactions code paths reachable via /v1/data-sync.
306
+ // Each of these is a distinct branch in applyRedactions (routing.ts:1165-1238)
307
+ // and could regress independently of this fix.
308
+ // ========================================================================
309
+ // Case A: schema-level `redactions: ['all']` must apply to ADMIN sessions too.
310
+ // Admins have no session.fieldRedactions, but `redactions: ['all']` is universal.
311
+ // Pre-fix: admin saw hashedPass via data-sync because applyRedactions was skipped entirely.
312
+ // Post-fix: applyRedactions always runs and `redactions: ['all']` strips for everyone.
313
+ ];
314
+ case 16:
315
+ _b.sent();
316
+ return [4 /*yield*/, sdk_1.sync({ from: new Date(0) })];
317
+ case 17:
318
+ adminSync = _b.sent();
319
+ adminViolations_1 = collectViolations(adminSync.results);
320
+ return [4 /*yield*/, expect_result("coverage A: admin /v1/data-sync also strips redactions:['all'] fields (hashedPass etc.)", function () { return __awaiter(void 0, void 0, void 0, function () {
321
+ return __generator(this, function (_a) {
322
+ return [2 /*return*/, ({
323
+ violationCount: adminViolations_1.length,
324
+ violations: adminViolations_1.slice(0, 10),
325
+ })];
326
+ });
327
+ }); }, function (r) { return r.violationCount === 0; })
328
+ // Case B: `linkedAccountAccess` on users must be stripped when the caller is NOT
329
+ // the record's owner. This is a separate branch in applyRedactions (routing.ts:1220-1225)
330
+ // and protects against cross-user enumeration of who-requested-access-to-whom.
331
+ // The non-admin user reads other user records via data-sync; if any of those
332
+ // records have linkedAccountAccess set, it must be stripped on read.
333
+ // The admin's record genuinely carries the field (seeded in 2b), so deleting the owner-only
334
+ // branch turns this check red.
335
+ ];
336
+ case 18:
337
+ _b.sent();
338
+ otherUsersInStream_2 = sync_1.results.filter(function (r) { return r.modelName === 'users' && r.recordId !== nonAdmin_1.id; });
339
+ linkedAccountLeaks_1 = [];
340
+ for (_i = 0, otherUsersInStream_1 = otherUsersInStream_2; _i < otherUsersInStream_1.length; _i++) {
341
+ syncRecord = otherUsersInStream_1[_i];
342
+ if (!syncRecord.data || syncRecord.data === 'deleted')
343
+ continue;
344
+ try {
345
+ parsed = JSON.parse(syncRecord.data);
346
+ if ('linkedAccountAccess' in parsed && parsed.linkedAccountAccess !== undefined) {
347
+ linkedAccountLeaks_1.push({ recordId: syncRecord.recordId });
239
348
  }
240
- catch (_g) { }
241
349
  }
242
- return [4 /*yield*/, async_test("coverage B: /v1/data-sync strips linkedAccountAccess from other users' records", function () { return __awaiter(void 0, void 0, void 0, function () {
243
- return __generator(this, function (_a) {
244
- return [2 /*return*/, ({
245
- otherUserRecords: otherUsersInStream_2.length,
246
- leakCount: linkedAccountLeaks_1.length,
247
- leaks: linkedAccountLeaks_1.slice(0, 5),
248
- })];
249
- });
250
- }); }, { onResult: function (r) { return r.leakCount === 0; } })];
251
- case 14:
252
- _f.sent();
253
- return [3 /*break*/, 32];
254
- case 15:
255
- _f.trys.push([15, 17, , 18]);
256
- return [4 /*yield*/, sdk.api.users.updateOne(sdkNonAdmin.userInfo.id, { roles: originalRoles !== null && originalRoles !== void 0 ? originalRoles : [] }, { replaceObjectFields: true })];
257
- case 16:
258
- _f.sent();
259
- return [3 /*break*/, 18];
260
- case 17:
261
- _b = _f.sent();
262
- return [3 /*break*/, 18];
263
- case 18:
264
- if (!rbapId) return [3 /*break*/, 22];
265
- _f.label = 19;
266
- case 19:
267
- _f.trys.push([19, 21, , 22]);
268
- return [4 /*yield*/, sdk.api.role_based_access_permissions.deleteOne(rbapId)];
269
- case 20:
270
- _f.sent();
271
- return [3 /*break*/, 22];
272
- case 21:
273
- _c = _f.sent();
274
- return [3 /*break*/, 22];
275
- case 22:
276
- if (!testEnduserId) return [3 /*break*/, 26];
277
- _f.label = 23;
278
- case 23:
279
- _f.trys.push([23, 25, , 26]);
280
- return [4 /*yield*/, sdk.api.endusers.deleteOne(testEnduserId)];
281
- case 24:
282
- _f.sent();
283
- return [3 /*break*/, 26];
284
- case 25:
285
- _d = _f.sent();
286
- return [3 /*break*/, 26];
287
- case 26:
288
- // Re-authenticate the non-admin to drop the exploit role from their JWT
289
- // before subsequent tests run.
290
- // Role restore above re-triggers deauthenticate_user; wait > 1s so the freshly minted
291
- // token's (second-floored) iat lands after the deauth timestamp and isn't permanently
292
- // rejected by is_logged_in's iat-slack check. Matches the in-test re-auth above.
293
- return [4 /*yield*/, wait(undefined, 1500)];
294
- case 27:
295
- // Re-authenticate the non-admin to drop the exploit role from their JWT
296
- // before subsequent tests run.
297
- // Role restore above re-triggers deauthenticate_user; wait > 1s so the freshly minted
298
- // token's (second-floored) iat lands after the deauth timestamp and isn't permanently
299
- // rejected by is_logged_in's iat-slack check. Matches the in-test re-auth above.
300
- _f.sent();
301
- _f.label = 28;
302
- case 28:
303
- _f.trys.push([28, 30, , 31]);
304
- return [4 /*yield*/, sdkNonAdmin.authenticate(nonAdminEmail, nonAdminPassword)];
305
- case 29:
306
- _f.sent();
307
- return [3 /*break*/, 31];
308
- case 30:
309
- _e = _f.sent();
310
- return [3 /*break*/, 31];
311
- case 31: return [7 /*endfinally*/];
312
- case 32: return [2 /*return*/];
313
- }
314
- });
350
+ catch (_c) { }
351
+ }
352
+ return [4 /*yield*/, expect_result("coverage B: /v1/data-sync strips linkedAccountAccess from other users' records", function () { return __awaiter(void 0, void 0, void 0, function () {
353
+ return __generator(this, function (_a) {
354
+ return [2 /*return*/, ({
355
+ otherUserRecords: otherUsersInStream_2.length,
356
+ adminRecordInStream: otherUsersInStream_2.some(function (r) { return r.recordId === admin_1.id; }),
357
+ leakCount: linkedAccountLeaks_1.length,
358
+ leaks: linkedAccountLeaks_1.slice(0, 5),
359
+ })];
360
+ });
361
+ }); },
362
+ // The seeded admin record must be in the stream, or there is nothing to strip and the check
363
+ // proves nothing.
364
+ function (r) { return r.adminRecordInStream && r.leakCount === 0; })];
365
+ case 19:
366
+ _b.sent();
367
+ return [3 /*break*/, 25];
368
+ case 20:
369
+ if (!tenant) return [3 /*break*/, 24];
370
+ _b.label = 21;
371
+ case 21:
372
+ _b.trys.push([21, 23, , 24]);
373
+ return [4 /*yield*/, tenant.teardown()];
374
+ case 22:
375
+ _b.sent();
376
+ return [3 /*break*/, 24];
377
+ case 23:
378
+ e_1 = _b.sent();
379
+ console.error('teardown failed', e_1);
380
+ return [3 /*break*/, 24];
381
+ case 24: return [7 /*endfinally*/];
382
+ case 25: return [2 /*return*/, checks];
383
+ }
315
384
  });
385
+ }); };
386
+ /** Asserting wrapper, for standalone runs. */
387
+ export var data_sync_redaction_bypass_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
388
+ var _a, _b;
389
+ return __generator(this, function (_c) {
390
+ switch (_c.label) {
391
+ case 0:
392
+ _a = assert_checks;
393
+ _b = ['data-sync field-redaction bypass'];
394
+ return [4 /*yield*/, data_sync_redaction_bypass_checks()];
395
+ case 1:
396
+ _a.apply(void 0, _b.concat([_c.sent()]));
397
+ return [2 /*return*/];
398
+ }
399
+ });
400
+ }); };
401
+ /** Enrolls this suite in the auto-discovered parallel pool — see run_discovered_isolated_suites. */
402
+ export var ISOLATED_SUITE = {
403
+ name: 'data-sync field-redaction bypass',
404
+ run: data_sync_redaction_bypass_checks,
316
405
  };
317
406
  // Allow running this test file independently
318
407
  if (require.main === module) {
319
408
  console.log("\uD83C\uDF10 Using API URL: ".concat(host));
320
- var sdk_1 = new Session({ host: host });
321
- var sdkNonAdmin_1 = new Session({ host: host });
322
- var runTests = function () { return __awaiter(void 0, void 0, void 0, function () {
323
- return __generator(this, function (_a) {
324
- switch (_a.label) {
325
- case 0: return [4 /*yield*/, setup_tests(sdk_1, sdkNonAdmin_1)];
326
- case 1:
327
- _a.sent();
328
- return [4 /*yield*/, data_sync_redaction_bypass_tests({ sdk: sdk_1, sdkNonAdmin: sdkNonAdmin_1 })];
329
- case 2:
330
- _a.sent();
331
- return [2 /*return*/];
332
- }
333
- });
334
- }); };
335
- runTests()
409
+ data_sync_redaction_bypass_tests()
336
410
  .then(function () {
337
411
  console.log("✅ data-sync redaction-bypass test suite completed successfully");
338
412
  process.exit(0);
@@ -1 +1 @@
1
- {"version":3,"file":"data-sync-redaction-bypass.test.js","sourceRoot":"","sources":["../../../../../src/tests/api_tests/security/data-sync-redaction-bypass.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"data-sync-redaction-bypass.test.js","sourceRoot":"","sources":["../../../../../src/tests/api_tests/security/data-sync-redaction-bypass.test.ts"],"names":[],"mappings":"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"}