@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.
- package/CLAUDE.md +24 -0
- package/env.example +6 -0
- package/lib/cjs/sdk.d.ts +375 -4
- package/lib/cjs/sdk.d.ts.map +1 -1
- package/lib/cjs/sdk.js +5 -0
- package/lib/cjs/sdk.js.map +1 -1
- package/lib/cjs/tests/api_tests/ai_conversations.test.d.ts +14 -5
- package/lib/cjs/tests/api_tests/ai_conversations.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/ai_conversations.test.js +163 -149
- package/lib/cjs/tests/api_tests/ai_conversations.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/ai_conversations_agent_message.test.d.ts +22 -0
- package/lib/cjs/tests/api_tests/ai_conversations_agent_message.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/ai_conversations_agent_message.test.js +518 -0
- package/lib/cjs/tests/api_tests/ai_conversations_agent_message.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/appointment_link_expiration.test.d.ts +6 -5
- package/lib/cjs/tests/api_tests/appointment_link_expiration.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/appointment_link_expiration.test.js +135 -73
- package/lib/cjs/tests/api_tests/appointment_link_expiration.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/appointment_no_showed_trigger.test.d.ts +6 -5
- package/lib/cjs/tests/api_tests/appointment_no_showed_trigger.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/appointment_no_showed_trigger.test.js +240 -174
- package/lib/cjs/tests/api_tests/appointment_no_showed_trigger.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/availability_block_buffer.test.d.ts +22 -0
- package/lib/cjs/tests/api_tests/availability_block_buffer.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/availability_block_buffer.test.js +311 -0
- package/lib/cjs/tests/api_tests/availability_block_buffer.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/beluga_manual_sync.test.d.ts +6 -5
- package/lib/cjs/tests/api_tests/beluga_manual_sync.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/beluga_manual_sync.test.js +235 -192
- package/lib/cjs/tests/api_tests/beluga_manual_sync.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/beluga_trigger_refill.test.d.ts +6 -5
- package/lib/cjs/tests/api_tests/beluga_trigger_refill.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/beluga_trigger_refill.test.js +351 -264
- package/lib/cjs/tests/api_tests/beluga_trigger_refill.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/booking_prevent_upcoming_duplicate.test.d.ts +22 -0
- package/lib/cjs/tests/api_tests/booking_prevent_upcoming_duplicate.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/booking_prevent_upcoming_duplicate.test.js +506 -0
- package/lib/cjs/tests/api_tests/booking_prevent_upcoming_duplicate.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/bulk_assignment.test.d.ts +16 -5
- package/lib/cjs/tests/api_tests/bulk_assignment.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/bulk_assignment.test.js +336 -243
- package/lib/cjs/tests/api_tests/bulk_assignment.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/calendar_event_references_update.test.d.ts +13 -5
- package/lib/cjs/tests/api_tests/calendar_event_references_update.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/calendar_event_references_update.test.js +131 -108
- package/lib/cjs/tests/api_tests/calendar_event_references_update.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/calendar_event_webhook_template.test.d.ts +15 -5
- package/lib/cjs/tests/api_tests/calendar_event_webhook_template.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/calendar_event_webhook_template.test.js +240 -252
- package/lib/cjs/tests/api_tests/calendar_event_webhook_template.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/chats_analytics.test.d.ts +14 -5
- package/lib/cjs/tests/api_tests/chats_analytics.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/chats_analytics.test.js +190 -189
- package/lib/cjs/tests/api_tests/chats_analytics.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/concurrent_build_threads.test.d.ts +23 -5
- package/lib/cjs/tests/api_tests/concurrent_build_threads.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/concurrent_build_threads.test.js +121 -118
- package/lib/cjs/tests/api_tests/concurrent_build_threads.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/configurations_public_read.test.d.ts +21 -5
- package/lib/cjs/tests/api_tests/configurations_public_read.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/configurations_public_read.test.js +235 -119
- package/lib/cjs/tests/api_tests/configurations_public_read.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/copied_form_response_no_enduser_sync.test.d.ts +7 -0
- package/lib/cjs/tests/api_tests/copied_form_response_no_enduser_sync.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/copied_form_response_no_enduser_sync.test.js +356 -0
- package/lib/cjs/tests/api_tests/copied_form_response_no_enduser_sync.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/create_note_action.test.d.ts +18 -5
- package/lib/cjs/tests/api_tests/create_note_action.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/create_note_action.test.js +218 -173
- package/lib/cjs/tests/api_tests/create_note_action.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/create_user_notifications_trigger.test.d.ts +17 -4
- package/lib/cjs/tests/api_tests/create_user_notifications_trigger.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/create_user_notifications_trigger.test.js +144 -205
- package/lib/cjs/tests/api_tests/create_user_notifications_trigger.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/custom_aggregation.test.d.ts +15 -5
- package/lib/cjs/tests/api_tests/custom_aggregation.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/custom_aggregation.test.js +284 -223
- package/lib/cjs/tests/api_tests/custom_aggregation.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/database_cascade_delete.test.d.ts +13 -5
- package/lib/cjs/tests/api_tests/database_cascade_delete.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/database_cascade_delete.test.js +218 -242
- package/lib/cjs/tests/api_tests/database_cascade_delete.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/dont_sync_to_elation_form_submission.test.d.ts +21 -5
- package/lib/cjs/tests/api_tests/dont_sync_to_elation_form_submission.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/dont_sync_to_elation_form_submission.test.js +168 -112
- package/lib/cjs/tests/api_tests/dont_sync_to_elation_form_submission.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/elation_user_id.test.d.ts +17 -5
- package/lib/cjs/tests/api_tests/elation_user_id.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/elation_user_id.test.js +121 -54
- package/lib/cjs/tests/api_tests/elation_user_id.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/enduser_fields_sync.test.d.ts +3 -1
- package/lib/cjs/tests/api_tests/enduser_fields_sync.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/enduser_fields_sync.test.js +3 -1
- package/lib/cjs/tests/api_tests/enduser_fields_sync.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/enduser_observations_auto_review.test.d.ts +3 -1
- package/lib/cjs/tests/api_tests/enduser_observations_auto_review.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/enduser_observations_auto_review.test.js +3 -1
- package/lib/cjs/tests/api_tests/enduser_observations_auto_review.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/file_download_unicode_names.test.d.ts +6 -5
- package/lib/cjs/tests/api_tests/file_download_unicode_names.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/file_download_unicode_names.test.js +193 -143
- package/lib/cjs/tests/api_tests/file_download_unicode_names.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/form_intake_email_normalization.test.d.ts +7 -0
- package/lib/cjs/tests/api_tests/form_intake_email_normalization.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/form_intake_email_normalization.test.js +532 -0
- package/lib/cjs/tests/api_tests/form_intake_email_normalization.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/form_submitted_trigger.test.d.ts +25 -5
- package/lib/cjs/tests/api_tests/form_submitted_trigger.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/form_submitted_trigger.test.js +395 -366
- package/lib/cjs/tests/api_tests/form_submitted_trigger.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/form_translations.test.d.ts +6 -5
- package/lib/cjs/tests/api_tests/form_translations.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/form_translations.test.js +269 -189
- package/lib/cjs/tests/api_tests/form_translations.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/form_vital_reading.test.d.ts +7 -0
- package/lib/cjs/tests/api_tests/form_vital_reading.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/form_vital_reading.test.js +461 -0
- package/lib/cjs/tests/api_tests/form_vital_reading.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/formsort_header_auth.test.d.ts +29 -5
- package/lib/cjs/tests/api_tests/formsort_header_auth.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/formsort_header_auth.test.js +179 -162
- package/lib/cjs/tests/api_tests/formsort_header_auth.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/gcal_sync_retry.test.d.ts +12 -6
- package/lib/cjs/tests/api_tests/gcal_sync_retry.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/gcal_sync_retry.test.js +98 -84
- package/lib/cjs/tests/api_tests/gcal_sync_retry.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/get_some_projection.test.d.ts +20 -5
- package/lib/cjs/tests/api_tests/get_some_projection.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/get_some_projection.test.js +342 -298
- package/lib/cjs/tests/api_tests/get_some_projection.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/group_event_attendee_self_update.test.d.ts +6 -5
- package/lib/cjs/tests/api_tests/group_event_attendee_self_update.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/group_event_attendee_self_update.test.js +294 -223
- package/lib/cjs/tests/api_tests/group_event_attendee_self_update.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/integrations_redacted.test.d.ts +6 -5
- package/lib/cjs/tests/api_tests/integrations_redacted.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/integrations_redacted.test.js +307 -213
- package/lib/cjs/tests/api_tests/integrations_redacted.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/journey_delete_cancels_actions.test.d.ts +6 -5
- package/lib/cjs/tests/api_tests/journey_delete_cancels_actions.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/journey_delete_cancels_actions.test.js +179 -178
- package/lib/cjs/tests/api_tests/journey_delete_cancels_actions.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/journey_statistics_cache.test.d.ts +26 -0
- package/lib/cjs/tests/api_tests/journey_statistics_cache.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/journey_statistics_cache.test.js +232 -0
- package/lib/cjs/tests/api_tests/journey_statistics_cache.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/journey_step_manual_count.test.d.ts +34 -0
- package/lib/cjs/tests/api_tests/journey_step_manual_count.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/journey_step_manual_count.test.js +243 -0
- package/lib/cjs/tests/api_tests/journey_step_manual_count.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/load_team_chat.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/load_team_chat.test.js +181 -124
- package/lib/cjs/tests/api_tests/load_team_chat.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/load_threads_autobuild.test.d.ts +24 -5
- package/lib/cjs/tests/api_tests/load_threads_autobuild.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/load_threads_autobuild.test.js +261 -227
- package/lib/cjs/tests/api_tests/load_threads_autobuild.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/load_threads_care_team.test.d.ts +9 -1
- package/lib/cjs/tests/api_tests/load_threads_care_team.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/load_threads_care_team.test.js +118 -32
- package/lib/cjs/tests/api_tests/load_threads_care_team.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/managed_content_file_access.test.d.ts +15 -5
- package/lib/cjs/tests/api_tests/managed_content_file_access.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/managed_content_file_access.test.js +285 -311
- package/lib/cjs/tests/api_tests/managed_content_file_access.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/mdb_sort.test.d.ts +20 -5
- package/lib/cjs/tests/api_tests/mdb_sort.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/mdb_sort.test.js +361 -305
- package/lib/cjs/tests/api_tests/mdb_sort.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/mdi_manual_sync.test.d.ts +27 -0
- package/lib/cjs/tests/api_tests/mdi_manual_sync.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/mdi_manual_sync.test.js +395 -0
- package/lib/cjs/tests/api_tests/mdi_manual_sync.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/mdi_trigger_refill.test.d.ts +6 -5
- package/lib/cjs/tests/api_tests/mdi_trigger_refill.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/mdi_trigger_refill.test.js +259 -209
- package/lib/cjs/tests/api_tests/mdi_trigger_refill.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/mdi_webhooks.test.d.ts +12 -5
- package/lib/cjs/tests/api_tests/mdi_webhooks.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/mdi_webhooks.test.js +67 -61
- package/lib/cjs/tests/api_tests/mdi_webhooks.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/message_assignment_trigger.test.d.ts +23 -14
- package/lib/cjs/tests/api_tests/message_assignment_trigger.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/message_assignment_trigger.test.js +258 -306
- package/lib/cjs/tests/api_tests/message_assignment_trigger.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/metriport_push_form_response.test.d.ts +6 -5
- package/lib/cjs/tests/api_tests/metriport_push_form_response.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/metriport_push_form_response.test.js +301 -238
- package/lib/cjs/tests/api_tests/metriport_push_form_response.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/organization_api_keys.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/organization_api_keys.test.js +226 -59
- package/lib/cjs/tests/api_tests/organization_api_keys.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/organization_settings_duplicates.test.d.ts +19 -5
- package/lib/cjs/tests/api_tests/organization_settings_duplicates.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/organization_settings_duplicates.test.js +335 -222
- package/lib/cjs/tests/api_tests/organization_settings_duplicates.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/organization_signup.test.d.ts +3 -1
- package/lib/cjs/tests/api_tests/organization_signup.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/organization_signup.test.js +221 -52
- package/lib/cjs/tests/api_tests/organization_signup.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/out_of_office_endpoint.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/out_of_office_endpoint.test.js +109 -1
- package/lib/cjs/tests/api_tests/out_of_office_endpoint.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/outbound_chat_sent_trigger.test.d.ts +6 -6
- package/lib/cjs/tests/api_tests/outbound_chat_sent_trigger.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/outbound_chat_sent_trigger.test.js +309 -361
- package/lib/cjs/tests/api_tests/outbound_chat_sent_trigger.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/phone_calls_cold_transfer.test.d.ts +6 -5
- package/lib/cjs/tests/api_tests/phone_calls_cold_transfer.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/phone_calls_cold_transfer.test.js +246 -165
- package/lib/cjs/tests/api_tests/phone_calls_cold_transfer.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/phone_calls_conference_hold.test.d.ts +15 -5
- package/lib/cjs/tests/api_tests/phone_calls_conference_hold.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/phone_calls_conference_hold.test.js +130 -47
- package/lib/cjs/tests/api_tests/phone_calls_conference_hold.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/phone_embed_leave_message.test.d.ts +7 -0
- package/lib/cjs/tests/api_tests/phone_embed_leave_message.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/phone_embed_leave_message.test.js +571 -0
- package/lib/cjs/tests/api_tests/phone_embed_leave_message.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/phone_tree_enduser_condition.test.d.ts +6 -5
- package/lib/cjs/tests/api_tests/phone_tree_enduser_condition.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/phone_tree_enduser_condition.test.js +180 -132
- package/lib/cjs/tests/api_tests/phone_tree_enduser_condition.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/programs.test.d.ts +3 -1
- package/lib/cjs/tests/api_tests/programs.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/programs.test.js +474 -51
- package/lib/cjs/tests/api_tests/programs.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/public_form_case_insensitive_match.test.d.ts +7 -0
- package/lib/cjs/tests/api_tests/public_form_case_insensitive_match.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/public_form_case_insensitive_match.test.js +733 -0
- package/lib/cjs/tests/api_tests/public_form_case_insensitive_match.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/security/add-to-journey-foreign-enduserid.test.d.ts +3 -1
- package/lib/cjs/tests/api_tests/security/add-to-journey-foreign-enduserid.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/security/add-to-journey-foreign-enduserid.test.js +3 -1
- package/lib/cjs/tests/api_tests/security/add-to-journey-foreign-enduserid.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/security/ai-conversations-rbac.test.d.ts +10 -5
- package/lib/cjs/tests/api_tests/security/ai-conversations-rbac.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/security/ai-conversations-rbac.test.js +401 -282
- package/lib/cjs/tests/api_tests/security/ai-conversations-rbac.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/security/appointment-reschedule-ownership.test.d.ts +3 -1
- package/lib/cjs/tests/api_tests/security/appointment-reschedule-ownership.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/security/appointment-reschedule-ownership.test.js +3 -1
- package/lib/cjs/tests/api_tests/security/appointment-reschedule-ownership.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/security/automated-actions-process-gate.test.d.ts +9 -5
- package/lib/cjs/tests/api_tests/security/automated-actions-process-gate.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/security/automated-actions-process-gate.test.js +228 -211
- package/lib/cjs/tests/api_tests/security/automated-actions-process-gate.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/security/booking-info-idor-token-mint.test.d.ts +13 -8
- package/lib/cjs/tests/api_tests/security/booking-info-idor-token-mint.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/security/booking-info-idor-token-mint.test.js +270 -254
- package/lib/cjs/tests/api_tests/security/booking-info-idor-token-mint.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/security/cascade-role-rename-cross-tenant.test.d.ts +16 -6
- package/lib/cjs/tests/api_tests/security/cascade-role-rename-cross-tenant.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/security/cascade-role-rename-cross-tenant.test.js +167 -142
- package/lib/cjs/tests/api_tests/security/cascade-role-rename-cross-tenant.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/security/data-sync-redaction-bypass.test.d.ts +10 -5
- package/lib/cjs/tests/api_tests/security/data-sync-redaction-bypass.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/security/data-sync-redaction-bypass.test.js +296 -221
- package/lib/cjs/tests/api_tests/security/data-sync-redaction-bypass.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/security/develop-health-benefit-verification-rbac.test.d.ts +12 -5
- package/lib/cjs/tests/api_tests/security/develop-health-benefit-verification-rbac.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/security/develop-health-benefit-verification-rbac.test.js +221 -216
- package/lib/cjs/tests/api_tests/security/develop-health-benefit-verification-rbac.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/security/enduser-ai-summary-trust-gate.test.d.ts +11 -5
- package/lib/cjs/tests/api_tests/security/enduser-ai-summary-trust-gate.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/security/enduser-ai-summary-trust-gate.test.js +300 -203
- package/lib/cjs/tests/api_tests/security/enduser-ai-summary-trust-gate.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/security/enduser-cross-create.test.d.ts +11 -5
- package/lib/cjs/tests/api_tests/security/enduser-cross-create.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/security/enduser-cross-create.test.js +415 -275
- package/lib/cjs/tests/api_tests/security/enduser-cross-create.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/security/enduser-write-restrictions.test.d.ts +11 -5
- package/lib/cjs/tests/api_tests/security/enduser-write-restrictions.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/security/enduser-write-restrictions.test.js +347 -228
- package/lib/cjs/tests/api_tests/security/enduser-write-restrictions.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/security/file-link-session-confinement.test.d.ts +3 -1
- package/lib/cjs/tests/api_tests/security/file-link-session-confinement.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/security/file-link-session-confinement.test.js +3 -1
- package/lib/cjs/tests/api_tests/security/file-link-session-confinement.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/security/form-logic-js-execution.test.d.ts +3 -1
- package/lib/cjs/tests/api_tests/security/form-logic-js-execution.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/security/form-logic-js-execution.test.js +3 -1
- package/lib/cjs/tests/api_tests/security/form-logic-js-execution.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/security/formsort_webhook_auth_field_lock.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/security/formsort_webhook_auth_field_lock.test.js +424 -39
- package/lib/cjs/tests/api_tests/security/formsort_webhook_auth_field_lock.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/security/globalunique-conflict-redaction.test.d.ts +18 -7
- package/lib/cjs/tests/api_tests/security/globalunique-conflict-redaction.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/security/globalunique-conflict-redaction.test.js +164 -75
- package/lib/cjs/tests/api_tests/security/globalunique-conflict-redaction.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.d.ts +15 -9
- package/lib/cjs/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.js +99 -102
- package/lib/cjs/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/security/load-inbox-redaction.test.d.ts +11 -5
- package/lib/cjs/tests/api_tests/security/load-inbox-redaction.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/security/load-inbox-redaction.test.js +132 -89
- package/lib/cjs/tests/api_tests/security/load-inbox-redaction.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/security/proxy-image-unauth-ssrf.test.d.ts +12 -5
- package/lib/cjs/tests/api_tests/security/proxy-image-unauth-ssrf.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/security/proxy-image-unauth-ssrf.test.js +190 -138
- package/lib/cjs/tests/api_tests/security/proxy-image-unauth-ssrf.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/security/register_business_id_injection.test.d.ts +18 -16
- package/lib/cjs/tests/api_tests/security/register_business_id_injection.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/security/register_business_id_injection.test.js +164 -124
- package/lib/cjs/tests/api_tests/security/register_business_id_injection.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.d.ts +3 -1
- package/lib/cjs/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.js +3 -1
- package/lib/cjs/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/security/sanitize-user-html-with-iframes.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/security/sanitize-user-html-with-iframes.test.js +122 -2
- package/lib/cjs/tests/api_tests/security/sanitize-user-html-with-iframes.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/security/schema-adminonly-enforcement.test.d.ts +11 -5
- package/lib/cjs/tests/api_tests/security/schema-adminonly-enforcement.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/security/schema-adminonly-enforcement.test.js +288 -274
- package/lib/cjs/tests/api_tests/security/schema-adminonly-enforcement.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/security/self-admin-role-assignment.test.d.ts +17 -10
- package/lib/cjs/tests/api_tests/security/self-admin-role-assignment.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/security/self-admin-role-assignment.test.js +173 -138
- package/lib/cjs/tests/api_tests/security/self-admin-role-assignment.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.d.ts +6 -5
- package/lib/cjs/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.js +310 -265
- package/lib/cjs/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/security/webhook-timeout.test.d.ts +9 -5
- package/lib/cjs/tests/api_tests/security/webhook-timeout.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/security/webhook-timeout.test.js +108 -83
- package/lib/cjs/tests/api_tests/security/webhook-timeout.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/session_for_join_link.test.d.ts +10 -0
- package/lib/cjs/tests/api_tests/session_for_join_link.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/session_for_join_link.test.js +147 -0
- package/lib/cjs/tests/api_tests/session_for_join_link.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/set_fields_order_templates.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/set_fields_order_templates.test.js +191 -88
- package/lib/cjs/tests/api_tests/set_fields_order_templates.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/stedi_approval.test.d.ts +6 -5
- package/lib/cjs/tests/api_tests/stedi_approval.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/stedi_approval.test.js +206 -137
- package/lib/cjs/tests/api_tests/stedi_approval.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/stripe_checkout_items.test.d.ts +17 -0
- package/lib/cjs/tests/api_tests/stripe_checkout_items.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/stripe_checkout_items.test.js +219 -0
- package/lib/cjs/tests/api_tests/stripe_checkout_items.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/stripe_multiple_customer_ids.test.d.ts +5 -0
- package/lib/cjs/tests/api_tests/stripe_multiple_customer_ids.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/stripe_multiple_customer_ids.test.js +396 -0
- package/lib/cjs/tests/api_tests/stripe_multiple_customer_ids.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/ticket_stage_archive.test.d.ts +7 -0
- package/lib/cjs/tests/api_tests/ticket_stage_archive.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/ticket_stage_archive.test.js +344 -0
- package/lib/cjs/tests/api_tests/ticket_stage_archive.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/tickets_bulk_assign_care_team.test.d.ts +6 -5
- package/lib/cjs/tests/api_tests/tickets_bulk_assign_care_team.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/tickets_bulk_assign_care_team.test.js +165 -149
- package/lib/cjs/tests/api_tests/tickets_bulk_assign_care_team.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/tickets_bulk_assign_from_queue.test.d.ts +3 -1
- package/lib/cjs/tests/api_tests/tickets_bulk_assign_from_queue.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/tickets_bulk_assign_from_queue.test.js +3 -1
- package/lib/cjs/tests/api_tests/tickets_bulk_assign_from_queue.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/totp_mfa.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/totp_mfa.test.js +37 -31
- package/lib/cjs/tests/api_tests/totp_mfa.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/translations.test.d.ts +6 -5
- package/lib/cjs/tests/api_tests/translations.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/translations.test.js +104 -75
- package/lib/cjs/tests/api_tests/translations.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/trigger_contains_matching.test.d.ts +3 -1
- package/lib/cjs/tests/api_tests/trigger_contains_matching.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/trigger_contains_matching.test.js +3 -1
- package/lib/cjs/tests/api_tests/trigger_contains_matching.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/trigger_set_fields_date_difference.test.d.ts +21 -4
- package/lib/cjs/tests/api_tests/trigger_set_fields_date_difference.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/trigger_set_fields_date_difference.test.js +238 -370
- package/lib/cjs/tests/api_tests/trigger_set_fields_date_difference.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/user_logs_restore_deleted.test.d.ts +3 -1
- package/lib/cjs/tests/api_tests/user_logs_restore_deleted.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/user_logs_restore_deleted.test.js +3 -1
- package/lib/cjs/tests/api_tests/user_logs_restore_deleted.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/user_preferences.test.d.ts +30 -0
- package/lib/cjs/tests/api_tests/user_preferences.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/user_preferences.test.js +279 -0
- package/lib/cjs/tests/api_tests/user_preferences.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/vital_review_trigger_action.test.d.ts +3 -1
- package/lib/cjs/tests/api_tests/vital_review_trigger_action.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/vital_review_trigger_action.test.js +3 -1
- package/lib/cjs/tests/api_tests/vital_review_trigger_action.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/vitl_push.test.d.ts +7 -0
- package/lib/cjs/tests/api_tests/vitl_push.test.d.ts.map +1 -0
- package/lib/cjs/tests/api_tests/vitl_push.test.js +341 -0
- package/lib/cjs/tests/api_tests/vitl_push.test.js.map +1 -0
- package/lib/cjs/tests/api_tests/webhook_error_handling.test.d.ts +17 -5
- package/lib/cjs/tests/api_tests/webhook_error_handling.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/webhook_error_handling.test.js +204 -195
- package/lib/cjs/tests/api_tests/webhook_error_handling.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/webhook_raw_json_number.test.d.ts +15 -5
- package/lib/cjs/tests/api_tests/webhook_raw_json_number.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/webhook_raw_json_number.test.js +154 -179
- package/lib/cjs/tests/api_tests/webhook_raw_json_number.test.js.map +1 -1
- package/lib/cjs/tests/api_tests/welle_partner_token.test.d.ts +6 -5
- package/lib/cjs/tests/api_tests/welle_partner_token.test.d.ts.map +1 -1
- package/lib/cjs/tests/api_tests/welle_partner_token.test.js +393 -251
- package/lib/cjs/tests/api_tests/welle_partner_token.test.js.map +1 -1
- package/lib/cjs/tests/setup_isolated.d.ts +55 -0
- package/lib/cjs/tests/setup_isolated.d.ts.map +1 -1
- package/lib/cjs/tests/setup_isolated.js +119 -1
- package/lib/cjs/tests/setup_isolated.js.map +1 -1
- package/lib/cjs/tests/tests.d.ts.map +1 -1
- package/lib/cjs/tests/tests.js +385 -535
- package/lib/cjs/tests/tests.js.map +1 -1
- package/lib/cjs/tests/unit_tests/date_string_validation.test.d.ts +2 -0
- package/lib/cjs/tests/unit_tests/date_string_validation.test.d.ts.map +1 -0
- package/lib/cjs/tests/unit_tests/date_string_validation.test.js +112 -0
- package/lib/cjs/tests/unit_tests/date_string_validation.test.js.map +1 -0
- package/lib/cjs/tests/unit_tests/isolated_suite_discovery.test.d.ts +2 -0
- package/lib/cjs/tests/unit_tests/isolated_suite_discovery.test.d.ts.map +1 -0
- package/lib/cjs/tests/unit_tests/isolated_suite_discovery.test.js +201 -0
- package/lib/cjs/tests/unit_tests/isolated_suite_discovery.test.js.map +1 -0
- package/lib/cjs/tests/unit_tests/programs_conditional_logic.test.d.ts +3 -0
- package/lib/cjs/tests/unit_tests/programs_conditional_logic.test.d.ts.map +1 -0
- package/lib/cjs/tests/unit_tests/programs_conditional_logic.test.js +120 -0
- package/lib/cjs/tests/unit_tests/programs_conditional_logic.test.js.map +1 -0
- package/lib/cjs/tests/webhooks_tests.js +44 -34
- package/lib/cjs/tests/webhooks_tests.js.map +1 -1
- package/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/esm/sdk.d.ts +375 -4
- package/lib/esm/sdk.d.ts.map +1 -1
- package/lib/esm/sdk.js +5 -0
- package/lib/esm/sdk.js.map +1 -1
- package/lib/esm/tests/api_tests/ai_conversations.test.d.ts +14 -5
- package/lib/esm/tests/api_tests/ai_conversations.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/ai_conversations.test.js +161 -148
- package/lib/esm/tests/api_tests/ai_conversations.test.js.map +1 -1
- package/lib/esm/tests/api_tests/ai_conversations_agent_message.test.d.ts +22 -0
- package/lib/esm/tests/api_tests/ai_conversations_agent_message.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/ai_conversations_agent_message.test.js +510 -0
- package/lib/esm/tests/api_tests/ai_conversations_agent_message.test.js.map +1 -0
- package/lib/esm/tests/api_tests/appointment_link_expiration.test.d.ts +6 -5
- package/lib/esm/tests/api_tests/appointment_link_expiration.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/appointment_link_expiration.test.js +132 -71
- package/lib/esm/tests/api_tests/appointment_link_expiration.test.js.map +1 -1
- package/lib/esm/tests/api_tests/appointment_no_showed_trigger.test.d.ts +6 -5
- package/lib/esm/tests/api_tests/appointment_no_showed_trigger.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/appointment_no_showed_trigger.test.js +238 -173
- package/lib/esm/tests/api_tests/appointment_no_showed_trigger.test.js.map +1 -1
- package/lib/esm/tests/api_tests/availability_block_buffer.test.d.ts +22 -0
- package/lib/esm/tests/api_tests/availability_block_buffer.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/availability_block_buffer.test.js +306 -0
- package/lib/esm/tests/api_tests/availability_block_buffer.test.js.map +1 -0
- package/lib/esm/tests/api_tests/beluga_manual_sync.test.d.ts +6 -5
- package/lib/esm/tests/api_tests/beluga_manual_sync.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/beluga_manual_sync.test.js +232 -190
- package/lib/esm/tests/api_tests/beluga_manual_sync.test.js.map +1 -1
- package/lib/esm/tests/api_tests/beluga_trigger_refill.test.d.ts +6 -5
- package/lib/esm/tests/api_tests/beluga_trigger_refill.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/beluga_trigger_refill.test.js +348 -262
- package/lib/esm/tests/api_tests/beluga_trigger_refill.test.js.map +1 -1
- package/lib/esm/tests/api_tests/booking_prevent_upcoming_duplicate.test.d.ts +22 -0
- package/lib/esm/tests/api_tests/booking_prevent_upcoming_duplicate.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/booking_prevent_upcoming_duplicate.test.js +501 -0
- package/lib/esm/tests/api_tests/booking_prevent_upcoming_duplicate.test.js.map +1 -0
- package/lib/esm/tests/api_tests/bulk_assignment.test.d.ts +16 -5
- package/lib/esm/tests/api_tests/bulk_assignment.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/bulk_assignment.test.js +333 -241
- package/lib/esm/tests/api_tests/bulk_assignment.test.js.map +1 -1
- package/lib/esm/tests/api_tests/calendar_event_references_update.test.d.ts +13 -5
- package/lib/esm/tests/api_tests/calendar_event_references_update.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/calendar_event_references_update.test.js +129 -107
- package/lib/esm/tests/api_tests/calendar_event_references_update.test.js.map +1 -1
- package/lib/esm/tests/api_tests/calendar_event_webhook_template.test.d.ts +15 -5
- package/lib/esm/tests/api_tests/calendar_event_webhook_template.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/calendar_event_webhook_template.test.js +238 -251
- package/lib/esm/tests/api_tests/calendar_event_webhook_template.test.js.map +1 -1
- package/lib/esm/tests/api_tests/chats_analytics.test.d.ts +14 -5
- package/lib/esm/tests/api_tests/chats_analytics.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/chats_analytics.test.js +188 -188
- package/lib/esm/tests/api_tests/chats_analytics.test.js.map +1 -1
- package/lib/esm/tests/api_tests/concurrent_build_threads.test.d.ts +23 -5
- package/lib/esm/tests/api_tests/concurrent_build_threads.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/concurrent_build_threads.test.js +119 -117
- package/lib/esm/tests/api_tests/concurrent_build_threads.test.js.map +1 -1
- package/lib/esm/tests/api_tests/configurations_public_read.test.d.ts +21 -5
- package/lib/esm/tests/api_tests/configurations_public_read.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/configurations_public_read.test.js +233 -118
- package/lib/esm/tests/api_tests/configurations_public_read.test.js.map +1 -1
- package/lib/esm/tests/api_tests/copied_form_response_no_enduser_sync.test.d.ts +7 -0
- package/lib/esm/tests/api_tests/copied_form_response_no_enduser_sync.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/copied_form_response_no_enduser_sync.test.js +351 -0
- package/lib/esm/tests/api_tests/copied_form_response_no_enduser_sync.test.js.map +1 -0
- package/lib/esm/tests/api_tests/create_note_action.test.d.ts +18 -5
- package/lib/esm/tests/api_tests/create_note_action.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/create_note_action.test.js +216 -172
- package/lib/esm/tests/api_tests/create_note_action.test.js.map +1 -1
- package/lib/esm/tests/api_tests/create_user_notifications_trigger.test.d.ts +17 -4
- package/lib/esm/tests/api_tests/create_user_notifications_trigger.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/create_user_notifications_trigger.test.js +141 -203
- package/lib/esm/tests/api_tests/create_user_notifications_trigger.test.js.map +1 -1
- package/lib/esm/tests/api_tests/custom_aggregation.test.d.ts +15 -5
- package/lib/esm/tests/api_tests/custom_aggregation.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/custom_aggregation.test.js +282 -222
- package/lib/esm/tests/api_tests/custom_aggregation.test.js.map +1 -1
- package/lib/esm/tests/api_tests/database_cascade_delete.test.d.ts +13 -5
- package/lib/esm/tests/api_tests/database_cascade_delete.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/database_cascade_delete.test.js +216 -241
- package/lib/esm/tests/api_tests/database_cascade_delete.test.js.map +1 -1
- package/lib/esm/tests/api_tests/dont_sync_to_elation_form_submission.test.d.ts +21 -5
- package/lib/esm/tests/api_tests/dont_sync_to_elation_form_submission.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/dont_sync_to_elation_form_submission.test.js +165 -110
- package/lib/esm/tests/api_tests/dont_sync_to_elation_form_submission.test.js.map +1 -1
- package/lib/esm/tests/api_tests/elation_user_id.test.d.ts +17 -5
- package/lib/esm/tests/api_tests/elation_user_id.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/elation_user_id.test.js +119 -53
- package/lib/esm/tests/api_tests/elation_user_id.test.js.map +1 -1
- package/lib/esm/tests/api_tests/enduser_fields_sync.test.d.ts +3 -1
- package/lib/esm/tests/api_tests/enduser_fields_sync.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/enduser_fields_sync.test.js +2 -0
- package/lib/esm/tests/api_tests/enduser_fields_sync.test.js.map +1 -1
- package/lib/esm/tests/api_tests/enduser_observations_auto_review.test.d.ts +3 -1
- package/lib/esm/tests/api_tests/enduser_observations_auto_review.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/enduser_observations_auto_review.test.js +2 -0
- package/lib/esm/tests/api_tests/enduser_observations_auto_review.test.js.map +1 -1
- package/lib/esm/tests/api_tests/file_download_unicode_names.test.d.ts +6 -5
- package/lib/esm/tests/api_tests/file_download_unicode_names.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/file_download_unicode_names.test.js +190 -141
- package/lib/esm/tests/api_tests/file_download_unicode_names.test.js.map +1 -1
- package/lib/esm/tests/api_tests/form_intake_email_normalization.test.d.ts +7 -0
- package/lib/esm/tests/api_tests/form_intake_email_normalization.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/form_intake_email_normalization.test.js +527 -0
- package/lib/esm/tests/api_tests/form_intake_email_normalization.test.js.map +1 -0
- package/lib/esm/tests/api_tests/form_submitted_trigger.test.d.ts +25 -5
- package/lib/esm/tests/api_tests/form_submitted_trigger.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/form_submitted_trigger.test.js +393 -365
- package/lib/esm/tests/api_tests/form_submitted_trigger.test.js.map +1 -1
- package/lib/esm/tests/api_tests/form_translations.test.d.ts +6 -5
- package/lib/esm/tests/api_tests/form_translations.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/form_translations.test.js +268 -189
- package/lib/esm/tests/api_tests/form_translations.test.js.map +1 -1
- package/lib/esm/tests/api_tests/form_vital_reading.test.d.ts +7 -0
- package/lib/esm/tests/api_tests/form_vital_reading.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/form_vital_reading.test.js +456 -0
- package/lib/esm/tests/api_tests/form_vital_reading.test.js.map +1 -0
- package/lib/esm/tests/api_tests/formsort_header_auth.test.d.ts +29 -5
- package/lib/esm/tests/api_tests/formsort_header_auth.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/formsort_header_auth.test.js +177 -161
- package/lib/esm/tests/api_tests/formsort_header_auth.test.js.map +1 -1
- package/lib/esm/tests/api_tests/gcal_sync_retry.test.d.ts +12 -6
- package/lib/esm/tests/api_tests/gcal_sync_retry.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/gcal_sync_retry.test.js +96 -83
- package/lib/esm/tests/api_tests/gcal_sync_retry.test.js.map +1 -1
- package/lib/esm/tests/api_tests/get_some_projection.test.d.ts +20 -5
- package/lib/esm/tests/api_tests/get_some_projection.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/get_some_projection.test.js +339 -296
- package/lib/esm/tests/api_tests/get_some_projection.test.js.map +1 -1
- package/lib/esm/tests/api_tests/group_event_attendee_self_update.test.d.ts +6 -5
- package/lib/esm/tests/api_tests/group_event_attendee_self_update.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/group_event_attendee_self_update.test.js +292 -222
- package/lib/esm/tests/api_tests/group_event_attendee_self_update.test.js.map +1 -1
- package/lib/esm/tests/api_tests/integrations_redacted.test.d.ts +6 -5
- package/lib/esm/tests/api_tests/integrations_redacted.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/integrations_redacted.test.js +304 -211
- package/lib/esm/tests/api_tests/integrations_redacted.test.js.map +1 -1
- package/lib/esm/tests/api_tests/journey_delete_cancels_actions.test.d.ts +6 -5
- package/lib/esm/tests/api_tests/journey_delete_cancels_actions.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/journey_delete_cancels_actions.test.js +177 -154
- package/lib/esm/tests/api_tests/journey_delete_cancels_actions.test.js.map +1 -1
- package/lib/esm/tests/api_tests/journey_statistics_cache.test.d.ts +26 -0
- package/lib/esm/tests/api_tests/journey_statistics_cache.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/journey_statistics_cache.test.js +227 -0
- package/lib/esm/tests/api_tests/journey_statistics_cache.test.js.map +1 -0
- package/lib/esm/tests/api_tests/journey_step_manual_count.test.d.ts +34 -0
- package/lib/esm/tests/api_tests/journey_step_manual_count.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/journey_step_manual_count.test.js +238 -0
- package/lib/esm/tests/api_tests/journey_step_manual_count.test.js.map +1 -0
- package/lib/esm/tests/api_tests/load_team_chat.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/load_team_chat.test.js +181 -124
- package/lib/esm/tests/api_tests/load_team_chat.test.js.map +1 -1
- package/lib/esm/tests/api_tests/load_threads_autobuild.test.d.ts +24 -5
- package/lib/esm/tests/api_tests/load_threads_autobuild.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/load_threads_autobuild.test.js +259 -226
- package/lib/esm/tests/api_tests/load_threads_autobuild.test.js.map +1 -1
- package/lib/esm/tests/api_tests/load_threads_care_team.test.d.ts +9 -1
- package/lib/esm/tests/api_tests/load_threads_care_team.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/load_threads_care_team.test.js +117 -31
- package/lib/esm/tests/api_tests/load_threads_care_team.test.js.map +1 -1
- package/lib/esm/tests/api_tests/managed_content_file_access.test.d.ts +15 -5
- package/lib/esm/tests/api_tests/managed_content_file_access.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/managed_content_file_access.test.js +283 -287
- package/lib/esm/tests/api_tests/managed_content_file_access.test.js.map +1 -1
- package/lib/esm/tests/api_tests/mdb_sort.test.d.ts +20 -5
- package/lib/esm/tests/api_tests/mdb_sort.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/mdb_sort.test.js +358 -303
- package/lib/esm/tests/api_tests/mdb_sort.test.js.map +1 -1
- package/lib/esm/tests/api_tests/mdi_manual_sync.test.d.ts +27 -0
- package/lib/esm/tests/api_tests/mdi_manual_sync.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/mdi_manual_sync.test.js +390 -0
- package/lib/esm/tests/api_tests/mdi_manual_sync.test.js.map +1 -0
- package/lib/esm/tests/api_tests/mdi_trigger_refill.test.d.ts +6 -5
- package/lib/esm/tests/api_tests/mdi_trigger_refill.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/mdi_trigger_refill.test.js +257 -208
- package/lib/esm/tests/api_tests/mdi_trigger_refill.test.js.map +1 -1
- package/lib/esm/tests/api_tests/mdi_webhooks.test.d.ts +12 -5
- package/lib/esm/tests/api_tests/mdi_webhooks.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/mdi_webhooks.test.js +65 -60
- package/lib/esm/tests/api_tests/mdi_webhooks.test.js.map +1 -1
- package/lib/esm/tests/api_tests/message_assignment_trigger.test.d.ts +23 -14
- package/lib/esm/tests/api_tests/message_assignment_trigger.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/message_assignment_trigger.test.js +256 -305
- package/lib/esm/tests/api_tests/message_assignment_trigger.test.js.map +1 -1
- package/lib/esm/tests/api_tests/metriport_push_form_response.test.d.ts +6 -5
- package/lib/esm/tests/api_tests/metriport_push_form_response.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/metriport_push_form_response.test.js +298 -236
- package/lib/esm/tests/api_tests/metriport_push_form_response.test.js.map +1 -1
- package/lib/esm/tests/api_tests/organization_api_keys.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/organization_api_keys.test.js +226 -59
- package/lib/esm/tests/api_tests/organization_api_keys.test.js.map +1 -1
- package/lib/esm/tests/api_tests/organization_settings_duplicates.test.d.ts +19 -5
- package/lib/esm/tests/api_tests/organization_settings_duplicates.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/organization_settings_duplicates.test.js +332 -220
- package/lib/esm/tests/api_tests/organization_settings_duplicates.test.js.map +1 -1
- package/lib/esm/tests/api_tests/organization_signup.test.d.ts +3 -1
- package/lib/esm/tests/api_tests/organization_signup.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/organization_signup.test.js +220 -51
- package/lib/esm/tests/api_tests/organization_signup.test.js.map +1 -1
- package/lib/esm/tests/api_tests/out_of_office_endpoint.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/out_of_office_endpoint.test.js +109 -1
- package/lib/esm/tests/api_tests/out_of_office_endpoint.test.js.map +1 -1
- package/lib/esm/tests/api_tests/outbound_chat_sent_trigger.test.d.ts +6 -6
- package/lib/esm/tests/api_tests/outbound_chat_sent_trigger.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/outbound_chat_sent_trigger.test.js +308 -361
- package/lib/esm/tests/api_tests/outbound_chat_sent_trigger.test.js.map +1 -1
- package/lib/esm/tests/api_tests/phone_calls_cold_transfer.test.d.ts +6 -5
- package/lib/esm/tests/api_tests/phone_calls_cold_transfer.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/phone_calls_cold_transfer.test.js +243 -163
- package/lib/esm/tests/api_tests/phone_calls_cold_transfer.test.js.map +1 -1
- package/lib/esm/tests/api_tests/phone_calls_conference_hold.test.d.ts +15 -5
- package/lib/esm/tests/api_tests/phone_calls_conference_hold.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/phone_calls_conference_hold.test.js +127 -45
- package/lib/esm/tests/api_tests/phone_calls_conference_hold.test.js.map +1 -1
- package/lib/esm/tests/api_tests/phone_embed_leave_message.test.d.ts +7 -0
- package/lib/esm/tests/api_tests/phone_embed_leave_message.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/phone_embed_leave_message.test.js +566 -0
- package/lib/esm/tests/api_tests/phone_embed_leave_message.test.js.map +1 -0
- package/lib/esm/tests/api_tests/phone_tree_enduser_condition.test.d.ts +6 -5
- package/lib/esm/tests/api_tests/phone_tree_enduser_condition.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/phone_tree_enduser_condition.test.js +177 -130
- package/lib/esm/tests/api_tests/phone_tree_enduser_condition.test.js.map +1 -1
- package/lib/esm/tests/api_tests/programs.test.d.ts +3 -1
- package/lib/esm/tests/api_tests/programs.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/programs.test.js +473 -50
- package/lib/esm/tests/api_tests/programs.test.js.map +1 -1
- package/lib/esm/tests/api_tests/public_form_case_insensitive_match.test.d.ts +7 -0
- package/lib/esm/tests/api_tests/public_form_case_insensitive_match.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/public_form_case_insensitive_match.test.js +728 -0
- package/lib/esm/tests/api_tests/public_form_case_insensitive_match.test.js.map +1 -0
- package/lib/esm/tests/api_tests/security/add-to-journey-foreign-enduserid.test.d.ts +3 -1
- package/lib/esm/tests/api_tests/security/add-to-journey-foreign-enduserid.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/security/add-to-journey-foreign-enduserid.test.js +2 -0
- package/lib/esm/tests/api_tests/security/add-to-journey-foreign-enduserid.test.js.map +1 -1
- package/lib/esm/tests/api_tests/security/ai-conversations-rbac.test.d.ts +10 -5
- package/lib/esm/tests/api_tests/security/ai-conversations-rbac.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/security/ai-conversations-rbac.test.js +399 -281
- package/lib/esm/tests/api_tests/security/ai-conversations-rbac.test.js.map +1 -1
- package/lib/esm/tests/api_tests/security/appointment-reschedule-ownership.test.d.ts +3 -1
- package/lib/esm/tests/api_tests/security/appointment-reschedule-ownership.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/security/appointment-reschedule-ownership.test.js +2 -0
- package/lib/esm/tests/api_tests/security/appointment-reschedule-ownership.test.js.map +1 -1
- package/lib/esm/tests/api_tests/security/automated-actions-process-gate.test.d.ts +9 -5
- package/lib/esm/tests/api_tests/security/automated-actions-process-gate.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/security/automated-actions-process-gate.test.js +225 -209
- package/lib/esm/tests/api_tests/security/automated-actions-process-gate.test.js.map +1 -1
- package/lib/esm/tests/api_tests/security/booking-info-idor-token-mint.test.d.ts +13 -8
- package/lib/esm/tests/api_tests/security/booking-info-idor-token-mint.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/security/booking-info-idor-token-mint.test.js +268 -253
- package/lib/esm/tests/api_tests/security/booking-info-idor-token-mint.test.js.map +1 -1
- package/lib/esm/tests/api_tests/security/cascade-role-rename-cross-tenant.test.d.ts +16 -6
- package/lib/esm/tests/api_tests/security/cascade-role-rename-cross-tenant.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/security/cascade-role-rename-cross-tenant.test.js +165 -141
- package/lib/esm/tests/api_tests/security/cascade-role-rename-cross-tenant.test.js.map +1 -1
- package/lib/esm/tests/api_tests/security/data-sync-redaction-bypass.test.d.ts +10 -5
- package/lib/esm/tests/api_tests/security/data-sync-redaction-bypass.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/security/data-sync-redaction-bypass.test.js +294 -220
- package/lib/esm/tests/api_tests/security/data-sync-redaction-bypass.test.js.map +1 -1
- package/lib/esm/tests/api_tests/security/develop-health-benefit-verification-rbac.test.d.ts +12 -5
- package/lib/esm/tests/api_tests/security/develop-health-benefit-verification-rbac.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/security/develop-health-benefit-verification-rbac.test.js +219 -215
- package/lib/esm/tests/api_tests/security/develop-health-benefit-verification-rbac.test.js.map +1 -1
- package/lib/esm/tests/api_tests/security/enduser-ai-summary-trust-gate.test.d.ts +11 -5
- package/lib/esm/tests/api_tests/security/enduser-ai-summary-trust-gate.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/security/enduser-ai-summary-trust-gate.test.js +298 -202
- package/lib/esm/tests/api_tests/security/enduser-ai-summary-trust-gate.test.js.map +1 -1
- package/lib/esm/tests/api_tests/security/enduser-cross-create.test.d.ts +11 -5
- package/lib/esm/tests/api_tests/security/enduser-cross-create.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/security/enduser-cross-create.test.js +413 -274
- package/lib/esm/tests/api_tests/security/enduser-cross-create.test.js.map +1 -1
- package/lib/esm/tests/api_tests/security/enduser-write-restrictions.test.d.ts +11 -5
- package/lib/esm/tests/api_tests/security/enduser-write-restrictions.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/security/enduser-write-restrictions.test.js +345 -227
- package/lib/esm/tests/api_tests/security/enduser-write-restrictions.test.js.map +1 -1
- package/lib/esm/tests/api_tests/security/file-link-session-confinement.test.d.ts +3 -1
- package/lib/esm/tests/api_tests/security/file-link-session-confinement.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/security/file-link-session-confinement.test.js +2 -0
- package/lib/esm/tests/api_tests/security/file-link-session-confinement.test.js.map +1 -1
- package/lib/esm/tests/api_tests/security/form-logic-js-execution.test.d.ts +3 -1
- package/lib/esm/tests/api_tests/security/form-logic-js-execution.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/security/form-logic-js-execution.test.js +2 -0
- package/lib/esm/tests/api_tests/security/form-logic-js-execution.test.js.map +1 -1
- package/lib/esm/tests/api_tests/security/formsort_webhook_auth_field_lock.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/security/formsort_webhook_auth_field_lock.test.js +424 -39
- package/lib/esm/tests/api_tests/security/formsort_webhook_auth_field_lock.test.js.map +1 -1
- package/lib/esm/tests/api_tests/security/globalunique-conflict-redaction.test.d.ts +18 -7
- package/lib/esm/tests/api_tests/security/globalunique-conflict-redaction.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/security/globalunique-conflict-redaction.test.js +162 -74
- package/lib/esm/tests/api_tests/security/globalunique-conflict-redaction.test.js.map +1 -1
- package/lib/esm/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.d.ts +15 -9
- package/lib/esm/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.js +96 -100
- package/lib/esm/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.js.map +1 -1
- package/lib/esm/tests/api_tests/security/load-inbox-redaction.test.d.ts +11 -5
- package/lib/esm/tests/api_tests/security/load-inbox-redaction.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/security/load-inbox-redaction.test.js +129 -87
- package/lib/esm/tests/api_tests/security/load-inbox-redaction.test.js.map +1 -1
- package/lib/esm/tests/api_tests/security/proxy-image-unauth-ssrf.test.d.ts +12 -5
- package/lib/esm/tests/api_tests/security/proxy-image-unauth-ssrf.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/security/proxy-image-unauth-ssrf.test.js +187 -136
- package/lib/esm/tests/api_tests/security/proxy-image-unauth-ssrf.test.js.map +1 -1
- package/lib/esm/tests/api_tests/security/register_business_id_injection.test.d.ts +18 -16
- package/lib/esm/tests/api_tests/security/register_business_id_injection.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/security/register_business_id_injection.test.js +162 -123
- package/lib/esm/tests/api_tests/security/register_business_id_injection.test.js.map +1 -1
- package/lib/esm/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.d.ts +3 -1
- package/lib/esm/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.js +2 -0
- package/lib/esm/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.js.map +1 -1
- package/lib/esm/tests/api_tests/security/sanitize-user-html-with-iframes.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/security/sanitize-user-html-with-iframes.test.js +122 -2
- package/lib/esm/tests/api_tests/security/sanitize-user-html-with-iframes.test.js.map +1 -1
- package/lib/esm/tests/api_tests/security/schema-adminonly-enforcement.test.d.ts +11 -5
- package/lib/esm/tests/api_tests/security/schema-adminonly-enforcement.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/security/schema-adminonly-enforcement.test.js +285 -272
- package/lib/esm/tests/api_tests/security/schema-adminonly-enforcement.test.js.map +1 -1
- package/lib/esm/tests/api_tests/security/self-admin-role-assignment.test.d.ts +17 -10
- package/lib/esm/tests/api_tests/security/self-admin-role-assignment.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/security/self-admin-role-assignment.test.js +171 -137
- package/lib/esm/tests/api_tests/security/self-admin-role-assignment.test.js.map +1 -1
- package/lib/esm/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.d.ts +6 -5
- package/lib/esm/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.js +307 -263
- package/lib/esm/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.js.map +1 -1
- package/lib/esm/tests/api_tests/security/webhook-timeout.test.d.ts +9 -5
- package/lib/esm/tests/api_tests/security/webhook-timeout.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/security/webhook-timeout.test.js +105 -81
- package/lib/esm/tests/api_tests/security/webhook-timeout.test.js.map +1 -1
- package/lib/esm/tests/api_tests/session_for_join_link.test.d.ts +10 -0
- package/lib/esm/tests/api_tests/session_for_join_link.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/session_for_join_link.test.js +142 -0
- package/lib/esm/tests/api_tests/session_for_join_link.test.js.map +1 -0
- package/lib/esm/tests/api_tests/set_fields_order_templates.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/set_fields_order_templates.test.js +191 -88
- package/lib/esm/tests/api_tests/set_fields_order_templates.test.js.map +1 -1
- package/lib/esm/tests/api_tests/stedi_approval.test.d.ts +6 -5
- package/lib/esm/tests/api_tests/stedi_approval.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/stedi_approval.test.js +204 -136
- package/lib/esm/tests/api_tests/stedi_approval.test.js.map +1 -1
- package/lib/esm/tests/api_tests/stripe_checkout_items.test.d.ts +17 -0
- package/lib/esm/tests/api_tests/stripe_checkout_items.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/stripe_checkout_items.test.js +214 -0
- package/lib/esm/tests/api_tests/stripe_checkout_items.test.js.map +1 -0
- package/lib/esm/tests/api_tests/stripe_multiple_customer_ids.test.d.ts +5 -0
- package/lib/esm/tests/api_tests/stripe_multiple_customer_ids.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/stripe_multiple_customer_ids.test.js +388 -0
- package/lib/esm/tests/api_tests/stripe_multiple_customer_ids.test.js.map +1 -0
- package/lib/esm/tests/api_tests/ticket_stage_archive.test.d.ts +7 -0
- package/lib/esm/tests/api_tests/ticket_stage_archive.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/ticket_stage_archive.test.js +339 -0
- package/lib/esm/tests/api_tests/ticket_stage_archive.test.js.map +1 -0
- package/lib/esm/tests/api_tests/tickets_bulk_assign_care_team.test.d.ts +6 -5
- package/lib/esm/tests/api_tests/tickets_bulk_assign_care_team.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/tickets_bulk_assign_care_team.test.js +162 -147
- package/lib/esm/tests/api_tests/tickets_bulk_assign_care_team.test.js.map +1 -1
- package/lib/esm/tests/api_tests/tickets_bulk_assign_from_queue.test.d.ts +3 -1
- package/lib/esm/tests/api_tests/tickets_bulk_assign_from_queue.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/tickets_bulk_assign_from_queue.test.js +2 -0
- package/lib/esm/tests/api_tests/tickets_bulk_assign_from_queue.test.js.map +1 -1
- package/lib/esm/tests/api_tests/totp_mfa.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/totp_mfa.test.js +37 -31
- package/lib/esm/tests/api_tests/totp_mfa.test.js.map +1 -1
- package/lib/esm/tests/api_tests/translations.test.d.ts +6 -5
- package/lib/esm/tests/api_tests/translations.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/translations.test.js +102 -74
- package/lib/esm/tests/api_tests/translations.test.js.map +1 -1
- package/lib/esm/tests/api_tests/trigger_contains_matching.test.d.ts +3 -1
- package/lib/esm/tests/api_tests/trigger_contains_matching.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/trigger_contains_matching.test.js +2 -0
- package/lib/esm/tests/api_tests/trigger_contains_matching.test.js.map +1 -1
- package/lib/esm/tests/api_tests/trigger_set_fields_date_difference.test.d.ts +21 -4
- package/lib/esm/tests/api_tests/trigger_set_fields_date_difference.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/trigger_set_fields_date_difference.test.js +236 -369
- package/lib/esm/tests/api_tests/trigger_set_fields_date_difference.test.js.map +1 -1
- package/lib/esm/tests/api_tests/user_logs_restore_deleted.test.d.ts +3 -1
- package/lib/esm/tests/api_tests/user_logs_restore_deleted.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/user_logs_restore_deleted.test.js +2 -0
- package/lib/esm/tests/api_tests/user_logs_restore_deleted.test.js.map +1 -1
- package/lib/esm/tests/api_tests/user_preferences.test.d.ts +30 -0
- package/lib/esm/tests/api_tests/user_preferences.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/user_preferences.test.js +274 -0
- package/lib/esm/tests/api_tests/user_preferences.test.js.map +1 -0
- package/lib/esm/tests/api_tests/vital_review_trigger_action.test.d.ts +3 -1
- package/lib/esm/tests/api_tests/vital_review_trigger_action.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/vital_review_trigger_action.test.js +2 -0
- package/lib/esm/tests/api_tests/vital_review_trigger_action.test.js.map +1 -1
- package/lib/esm/tests/api_tests/vitl_push.test.d.ts +7 -0
- package/lib/esm/tests/api_tests/vitl_push.test.d.ts.map +1 -0
- package/lib/esm/tests/api_tests/vitl_push.test.js +333 -0
- package/lib/esm/tests/api_tests/vitl_push.test.js.map +1 -0
- package/lib/esm/tests/api_tests/webhook_error_handling.test.d.ts +17 -5
- package/lib/esm/tests/api_tests/webhook_error_handling.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/webhook_error_handling.test.js +202 -194
- package/lib/esm/tests/api_tests/webhook_error_handling.test.js.map +1 -1
- package/lib/esm/tests/api_tests/webhook_raw_json_number.test.d.ts +15 -5
- package/lib/esm/tests/api_tests/webhook_raw_json_number.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/webhook_raw_json_number.test.js +152 -178
- package/lib/esm/tests/api_tests/webhook_raw_json_number.test.js.map +1 -1
- package/lib/esm/tests/api_tests/welle_partner_token.test.d.ts +6 -5
- package/lib/esm/tests/api_tests/welle_partner_token.test.d.ts.map +1 -1
- package/lib/esm/tests/api_tests/welle_partner_token.test.js +391 -250
- package/lib/esm/tests/api_tests/welle_partner_token.test.js.map +1 -1
- package/lib/esm/tests/setup_isolated.d.ts +55 -0
- package/lib/esm/tests/setup_isolated.d.ts.map +1 -1
- package/lib/esm/tests/setup_isolated.js +114 -0
- package/lib/esm/tests/setup_isolated.js.map +1 -1
- package/lib/esm/tests/tests.d.ts.map +1 -1
- package/lib/esm/tests/tests.js +386 -536
- package/lib/esm/tests/tests.js.map +1 -1
- package/lib/esm/tests/unit_tests/date_string_validation.test.d.ts +2 -0
- package/lib/esm/tests/unit_tests/date_string_validation.test.d.ts.map +1 -0
- package/lib/esm/tests/unit_tests/date_string_validation.test.js +108 -0
- package/lib/esm/tests/unit_tests/date_string_validation.test.js.map +1 -0
- package/lib/esm/tests/unit_tests/isolated_suite_discovery.test.d.ts +2 -0
- package/lib/esm/tests/unit_tests/isolated_suite_discovery.test.d.ts.map +1 -0
- package/lib/esm/tests/unit_tests/isolated_suite_discovery.test.js +174 -0
- package/lib/esm/tests/unit_tests/isolated_suite_discovery.test.js.map +1 -0
- package/lib/esm/tests/unit_tests/programs_conditional_logic.test.d.ts +3 -0
- package/lib/esm/tests/unit_tests/programs_conditional_logic.test.d.ts.map +1 -0
- package/lib/esm/tests/unit_tests/programs_conditional_logic.test.js +117 -0
- package/lib/esm/tests/unit_tests/programs_conditional_logic.test.js.map +1 -0
- package/lib/esm/tests/webhooks_tests.js +44 -34
- package/lib/esm/tests/webhooks_tests.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +12 -11
- package/src/sdk.ts +14 -2
- package/src/tests/api_tests/ai_conversations.test.ts +170 -138
- package/src/tests/api_tests/ai_conversations_agent_message.test.ts +491 -0
- package/src/tests/api_tests/appointment_link_expiration.test.ts +94 -35
- package/src/tests/api_tests/appointment_no_showed_trigger.test.ts +181 -128
- package/src/tests/api_tests/availability_block_buffer.test.ts +286 -0
- package/src/tests/api_tests/beluga_manual_sync.test.ts +103 -53
- package/src/tests/api_tests/beluga_trigger_refill.test.ts +131 -46
- package/src/tests/api_tests/booking_prevent_upcoming_duplicate.test.ts +541 -0
- package/src/tests/api_tests/bulk_assignment.test.ts +307 -220
- package/src/tests/api_tests/calendar_event_references_update.test.ts +97 -54
- package/src/tests/api_tests/calendar_event_webhook_template.test.ts +198 -158
- package/src/tests/api_tests/chats_analytics.test.ts +161 -123
- package/src/tests/api_tests/concurrent_build_threads.test.ts +80 -69
- package/src/tests/api_tests/configurations_public_read.test.ts +154 -67
- package/src/tests/api_tests/copied_form_response_no_enduser_sync.test.ts +307 -0
- package/src/tests/api_tests/create_note_action.test.ts +149 -70
- package/src/tests/api_tests/create_user_notifications_trigger.test.ts +116 -144
- package/src/tests/api_tests/custom_aggregation.test.ts +163 -92
- package/src/tests/api_tests/database_cascade_delete.test.ts +101 -87
- package/src/tests/api_tests/dont_sync_to_elation_form_submission.test.ts +122 -51
- package/src/tests/api_tests/elation_user_id.test.ts +105 -42
- package/src/tests/api_tests/enduser_fields_sync.test.ts +4 -0
- package/src/tests/api_tests/enduser_observations_auto_review.test.ts +4 -0
- package/src/tests/api_tests/file_download_unicode_names.test.ts +171 -122
- package/src/tests/api_tests/form_intake_email_normalization.test.ts +489 -0
- package/src/tests/api_tests/form_submitted_trigger.test.ts +152 -86
- package/src/tests/api_tests/form_translations.test.ts +117 -48
- package/src/tests/api_tests/form_vital_reading.test.ts +393 -0
- package/src/tests/api_tests/formsort_header_auth.test.ts +147 -97
- package/src/tests/api_tests/gcal_sync_retry.test.ts +71 -49
- package/src/tests/api_tests/get_some_projection.test.ts +333 -169
- package/src/tests/api_tests/group_event_attendee_self_update.test.ts +103 -52
- package/src/tests/api_tests/integrations_redacted.test.ts +161 -84
- package/src/tests/api_tests/journey_delete_cancels_actions.test.ts +93 -64
- package/src/tests/api_tests/journey_statistics_cache.test.ts +237 -0
- package/src/tests/api_tests/journey_step_manual_count.test.ts +220 -0
- package/src/tests/api_tests/load_team_chat.test.ts +62 -6
- package/src/tests/api_tests/load_threads_autobuild.test.ts +163 -67
- package/src/tests/api_tests/load_threads_care_team.test.ts +107 -0
- package/src/tests/api_tests/managed_content_file_access.test.ts +132 -108
- package/src/tests/api_tests/mdb_sort.test.ts +247 -161
- package/src/tests/api_tests/mdi_manual_sync.test.ts +277 -0
- package/src/tests/api_tests/mdi_trigger_refill.test.ts +132 -78
- package/src/tests/api_tests/mdi_webhooks.test.ts +52 -22
- package/src/tests/api_tests/message_assignment_trigger.test.ts +129 -155
- package/src/tests/api_tests/metriport_push_form_response.test.ts +109 -49
- package/src/tests/api_tests/organization_api_keys.test.ts +170 -2
- package/src/tests/api_tests/organization_settings_duplicates.test.ts +291 -181
- package/src/tests/api_tests/organization_signup.test.ts +174 -5
- package/src/tests/api_tests/out_of_office_endpoint.test.ts +98 -0
- package/src/tests/api_tests/outbound_chat_sent_trigger.test.ts +163 -175
- package/src/tests/api_tests/phone_calls_cold_transfer.test.ts +195 -133
- package/src/tests/api_tests/phone_calls_conference_hold.test.ts +112 -42
- package/src/tests/api_tests/phone_embed_leave_message.test.ts +541 -0
- package/src/tests/api_tests/phone_tree_enduser_condition.test.ts +81 -32
- package/src/tests/api_tests/programs.test.ts +701 -0
- package/src/tests/api_tests/public_form_case_insensitive_match.test.ts +632 -0
- package/src/tests/api_tests/security/add-to-journey-foreign-enduserid.test.ts +4 -0
- package/src/tests/api_tests/security/ai-conversations-rbac.test.ts +248 -128
- package/src/tests/api_tests/security/appointment-reschedule-ownership.test.ts +4 -0
- package/src/tests/api_tests/security/automated-actions-process-gate.test.ts +47 -42
- package/src/tests/api_tests/security/booking-info-idor-token-mint.test.ts +53 -45
- package/src/tests/api_tests/security/cascade-role-rename-cross-tenant.test.ts +100 -73
- package/src/tests/api_tests/security/data-sync-redaction-bypass.test.ts +125 -59
- package/src/tests/api_tests/security/develop-health-benefit-verification-rbac.test.ts +131 -103
- package/src/tests/api_tests/security/enduser-ai-summary-trust-gate.test.ts +161 -68
- package/src/tests/api_tests/security/enduser-cross-create.test.ts +200 -61
- package/src/tests/api_tests/security/enduser-write-restrictions.test.ts +179 -61
- package/src/tests/api_tests/security/file-link-session-confinement.test.ts +4 -0
- package/src/tests/api_tests/security/form-logic-js-execution.test.ts +4 -0
- package/src/tests/api_tests/security/formsort_webhook_auth_field_lock.test.ts +225 -0
- package/src/tests/api_tests/security/globalunique-conflict-redaction.test.ts +163 -44
- package/src/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.ts +78 -70
- package/src/tests/api_tests/security/load-inbox-redaction.test.ts +79 -44
- package/src/tests/api_tests/security/proxy-image-unauth-ssrf.test.ts +95 -52
- package/src/tests/api_tests/security/register_business_id_injection.test.ts +132 -93
- package/src/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.ts +4 -0
- package/src/tests/api_tests/security/sanitize-user-html-with-iframes.test.ts +127 -0
- package/src/tests/api_tests/security/schema-adminonly-enforcement.test.ts +42 -37
- package/src/tests/api_tests/security/self-admin-role-assignment.test.ts +92 -54
- package/src/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.ts +76 -34
- package/src/tests/api_tests/security/webhook-timeout.test.ts +67 -36
- package/src/tests/api_tests/session_for_join_link.test.ts +99 -0
- package/src/tests/api_tests/set_fields_order_templates.test.ts +94 -9
- package/src/tests/api_tests/stedi_approval.test.ts +156 -90
- package/src/tests/api_tests/stripe_checkout_items.test.ts +186 -0
- package/src/tests/api_tests/ticket_stage_archive.test.ts +314 -0
- package/src/tests/api_tests/tickets_bulk_assign_care_team.test.ts +138 -103
- package/src/tests/api_tests/tickets_bulk_assign_from_queue.test.ts +4 -0
- package/src/tests/api_tests/totp_mfa.test.ts +10 -5
- package/src/tests/api_tests/translations.test.ts +69 -46
- package/src/tests/api_tests/trigger_contains_matching.test.ts +4 -0
- package/src/tests/api_tests/trigger_set_fields_date_difference.test.ts +198 -256
- package/src/tests/api_tests/user_logs_restore_deleted.test.ts +4 -0
- package/src/tests/api_tests/user_preferences.test.ts +227 -0
- package/src/tests/api_tests/vital_review_trigger_action.test.ts +455 -0
- package/src/tests/api_tests/vitl_push.test.ts +323 -0
- package/src/tests/api_tests/webhook_error_handling.test.ts +121 -60
- package/src/tests/api_tests/webhook_raw_json_number.test.ts +127 -109
- package/src/tests/api_tests/welle_partner_token.test.ts +217 -90
- package/src/tests/setup_isolated.ts +147 -0
- package/src/tests/tests.ts +165 -177
- package/src/tests/{api_tests → unit_tests}/date_string_validation.test.ts +2 -23
- package/src/tests/unit_tests/isolated_suite_discovery.test.ts +178 -0
- package/src/tests/unit_tests/programs_conditional_logic.test.ts +189 -0
- package/src/tests/webhooks_tests.ts +6 -1
- package/test_generated.pdf +0 -0
|
@@ -0,0 +1,728 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
13
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
14
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
15
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
16
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
17
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
18
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
22
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
23
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
24
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
25
|
+
function step(op) {
|
|
26
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
27
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
28
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
29
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
30
|
+
switch (op[0]) {
|
|
31
|
+
case 0: case 1: t = op; break;
|
|
32
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
33
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
34
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
35
|
+
default:
|
|
36
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
37
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
38
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
39
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
40
|
+
if (t[2]) _.ops.pop();
|
|
41
|
+
_.trys.pop(); continue;
|
|
42
|
+
}
|
|
43
|
+
op = body.call(thisArg, _);
|
|
44
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
45
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
require('source-map-support').install();
|
|
49
|
+
import { EnduserSession } from "../../sdk";
|
|
50
|
+
import { assert_checks, setup_isolated_tenant, } from "../setup_isolated";
|
|
51
|
+
var host = process.env.API_URL || 'http://localhost:8080';
|
|
52
|
+
var RAND = function () { return Math.random().toString(36).slice(2, 10); };
|
|
53
|
+
/**
|
|
54
|
+
* Coverage for `settings.endusers.caseInsensitiveMatching` — the per-org opt-in that makes public
|
|
55
|
+
* form intake match an existing contact when only the CAPITALIZATION of fname/lname differs.
|
|
56
|
+
*
|
|
57
|
+
* Two matchers are gated by the setting and both are exercised here:
|
|
58
|
+
* - `session_for_public_form` (api/v1/api.ts), the intake screen
|
|
59
|
+
* - `resolveAutoMergeBeforeSubmission` (api/modules/auto_merge.ts), for autoMergeOnSubmission forms
|
|
60
|
+
*
|
|
61
|
+
* Fixture warning: `nameValidator` applies `first_letter_capitalized`, so "john" is already stored and
|
|
62
|
+
* submitted as "John" and a "john"/"John" fixture would pass with the setting OFF, proving nothing.
|
|
63
|
+
* Every case here differs AFTER the first letter ("MCDONALD" vs "Mcdonald").
|
|
64
|
+
*
|
|
65
|
+
* `setup_isolated` rather than `setup_tests` because these checks flip an ORGANIZATION setting, which
|
|
66
|
+
* on the shared fixture org would change behavior under every concurrently running suite. It also
|
|
67
|
+
* asserts on "how many contacts match this name", which needs a tenant nobody else writes to.
|
|
68
|
+
*
|
|
69
|
+
* Runs standalone or as part of the main suite:
|
|
70
|
+
* npm run test:modular -- api_tests/public_form_case_insensitive_match
|
|
71
|
+
*/
|
|
72
|
+
/** Builds a public form with the intake questions the matchers read.
|
|
73
|
+
* `intakePhone: 'optional'` so `session_for_public_form` does not reject a submission with no phone
|
|
74
|
+
* — the endpoint requires a phone number unless the form configures one. */
|
|
75
|
+
var createPublicForm = function (sdk, _a) {
|
|
76
|
+
var _b = _a === void 0 ? {} : _a, _c = _b.autoMergeOnSubmission, autoMergeOnSubmission = _c === void 0 ? false : _c;
|
|
77
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
78
|
+
var form, fnameField, lnameField, dobField, emailField, phoneField;
|
|
79
|
+
return __generator(this, function (_d) {
|
|
80
|
+
switch (_d.label) {
|
|
81
|
+
case 0: return [4 /*yield*/, sdk.api.forms.createOne({
|
|
82
|
+
title: "Case Insensitive Match ".concat(RAND()),
|
|
83
|
+
allowPublicURL: true,
|
|
84
|
+
intakePhone: 'optional',
|
|
85
|
+
autoMergeOnSubmission: autoMergeOnSubmission,
|
|
86
|
+
})
|
|
87
|
+
// sequential: each field's previousFields references the one before it
|
|
88
|
+
];
|
|
89
|
+
case 1:
|
|
90
|
+
form = _d.sent();
|
|
91
|
+
return [4 /*yield*/, sdk.api.form_fields.createOne({
|
|
92
|
+
formId: form.id, title: 'First Name', type: 'string', intakeField: 'fname',
|
|
93
|
+
previousFields: [{ type: 'root', info: {} }],
|
|
94
|
+
})];
|
|
95
|
+
case 2:
|
|
96
|
+
fnameField = _d.sent();
|
|
97
|
+
return [4 /*yield*/, sdk.api.form_fields.createOne({
|
|
98
|
+
formId: form.id, title: 'Last Name', type: 'string', intakeField: 'lname',
|
|
99
|
+
previousFields: [{ type: 'after', info: { fieldId: fnameField.id } }],
|
|
100
|
+
})];
|
|
101
|
+
case 3:
|
|
102
|
+
lnameField = _d.sent();
|
|
103
|
+
return [4 /*yield*/, sdk.api.form_fields.createOne({
|
|
104
|
+
formId: form.id, title: 'Date of Birth', type: 'dateString', intakeField: 'dateOfBirth',
|
|
105
|
+
previousFields: [{ type: 'after', info: { fieldId: lnameField.id } }],
|
|
106
|
+
})];
|
|
107
|
+
case 4:
|
|
108
|
+
dobField = _d.sent();
|
|
109
|
+
return [4 /*yield*/, sdk.api.form_fields.createOne({
|
|
110
|
+
formId: form.id, title: 'Email', type: 'email', intakeField: 'email',
|
|
111
|
+
previousFields: [{ type: 'after', info: { fieldId: dobField.id } }],
|
|
112
|
+
})];
|
|
113
|
+
case 5:
|
|
114
|
+
emailField = _d.sent();
|
|
115
|
+
return [4 /*yield*/, sdk.api.form_fields.createOne({
|
|
116
|
+
formId: form.id, title: 'Phone', type: 'phone', intakeField: 'phone',
|
|
117
|
+
previousFields: [{ type: 'after', info: { fieldId: emailField.id } }],
|
|
118
|
+
})];
|
|
119
|
+
case 6:
|
|
120
|
+
phoneField = _d.sent();
|
|
121
|
+
return [2 /*return*/, { form: form, fields: [fnameField, lnameField, dobField, emailField, phoneField] }];
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
};
|
|
126
|
+
/** Drives the intake screen exactly as a public visitor would, returning the enduser the session was
|
|
127
|
+
* minted for. This is the `session_for_public_form` matcher under test. */
|
|
128
|
+
var intakeSession = function (form, values) { return __awaiter(void 0, void 0, void 0, function () {
|
|
129
|
+
var enduserSDK, _a, enduserId, accessCode, authToken;
|
|
130
|
+
return __generator(this, function (_b) {
|
|
131
|
+
switch (_b.label) {
|
|
132
|
+
case 0:
|
|
133
|
+
enduserSDK = new EnduserSession({ host: host, businessId: form.businessId });
|
|
134
|
+
return [4 /*yield*/, enduserSDK.api.form_responses.session_for_public_form(__assign({ formId: form.id, businessId: form.businessId }, values))];
|
|
135
|
+
case 1:
|
|
136
|
+
_a = _b.sent(), enduserId = _a.enduserId, accessCode = _a.accessCode, authToken = _a.authToken;
|
|
137
|
+
return [2 /*return*/, { enduserId: enduserId, accessCode: accessCode, authedSDK: new EnduserSession({ host: host, businessId: form.businessId, authToken: authToken }) }];
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
}); };
|
|
141
|
+
/** The intake screen alone, which is the matcher under test. */
|
|
142
|
+
var intake = function (form, values) { return __awaiter(void 0, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
143
|
+
switch (_a.label) {
|
|
144
|
+
case 0: return [4 /*yield*/, intakeSession(form, values)];
|
|
145
|
+
case 1: return [2 /*return*/, (_a.sent()).enduserId
|
|
146
|
+
/** Intake followed by a real submission, so the intake-field write onto the matched contact runs. */
|
|
147
|
+
];
|
|
148
|
+
}
|
|
149
|
+
}); }); };
|
|
150
|
+
/** Intake followed by a real submission, so the intake-field write onto the matched contact runs. */
|
|
151
|
+
var intakeAndSubmit = function (form, fields, values) { return __awaiter(void 0, void 0, void 0, function () {
|
|
152
|
+
var _a, enduserId, accessCode, authedSDK, byIntake;
|
|
153
|
+
return __generator(this, function (_b) {
|
|
154
|
+
switch (_b.label) {
|
|
155
|
+
case 0: return [4 /*yield*/, intakeSession(form, values)];
|
|
156
|
+
case 1:
|
|
157
|
+
_a = _b.sent(), enduserId = _a.enduserId, accessCode = _a.accessCode, authedSDK = _a.authedSDK;
|
|
158
|
+
byIntake = function (intakeField) { return fields.find(function (f) { return f.intakeField === intakeField; }); };
|
|
159
|
+
return [4 /*yield*/, authedSDK.api.form_responses.submit_form_response({
|
|
160
|
+
accessCode: accessCode,
|
|
161
|
+
responses: [
|
|
162
|
+
{ fieldId: byIntake('fname').id, fieldTitle: 'First Name', answer: { type: 'string', value: values.fname } },
|
|
163
|
+
{ fieldId: byIntake('lname').id, fieldTitle: 'Last Name', answer: { type: 'string', value: values.lname } },
|
|
164
|
+
{ fieldId: byIntake('dateOfBirth').id, fieldTitle: 'Date of Birth', answer: { type: 'dateString', value: values.dateOfBirth } },
|
|
165
|
+
],
|
|
166
|
+
})];
|
|
167
|
+
case 2:
|
|
168
|
+
_b.sent();
|
|
169
|
+
return [2 /*return*/, enduserId];
|
|
170
|
+
}
|
|
171
|
+
});
|
|
172
|
+
}); };
|
|
173
|
+
/** Drives an auto-merge submission: a `skipMatch` session (which always inserts a fresh contact),
|
|
174
|
+
* then a submission whose intake answers are what `resolveAutoMergeBeforeSubmission` matches on. */
|
|
175
|
+
var submitWithSkipMatch = function (form, fields, values) { return __awaiter(void 0, void 0, void 0, function () {
|
|
176
|
+
var enduserSDK, _a, authToken, accessCode, enduserId, authedSDK, byIntake;
|
|
177
|
+
return __generator(this, function (_b) {
|
|
178
|
+
switch (_b.label) {
|
|
179
|
+
case 0:
|
|
180
|
+
enduserSDK = new EnduserSession({ host: host, businessId: form.businessId });
|
|
181
|
+
return [4 /*yield*/, enduserSDK.api.form_responses.session_for_public_form({
|
|
182
|
+
formId: form.id,
|
|
183
|
+
businessId: form.businessId,
|
|
184
|
+
skipMatch: true,
|
|
185
|
+
})];
|
|
186
|
+
case 1:
|
|
187
|
+
_a = _b.sent(), authToken = _a.authToken, accessCode = _a.accessCode, enduserId = _a.enduserId;
|
|
188
|
+
authedSDK = new EnduserSession({ host: host, businessId: form.businessId, authToken: authToken });
|
|
189
|
+
byIntake = function (intakeField) { return fields.find(function (f) { return f.intakeField === intakeField; }); };
|
|
190
|
+
return [4 /*yield*/, authedSDK.api.form_responses.submit_form_response({
|
|
191
|
+
accessCode: accessCode,
|
|
192
|
+
responses: [
|
|
193
|
+
{ fieldId: byIntake('fname').id, fieldTitle: 'First Name', answer: { type: 'string', value: values.fname } },
|
|
194
|
+
{ fieldId: byIntake('lname').id, fieldTitle: 'Last Name', answer: { type: 'string', value: values.lname } },
|
|
195
|
+
{ fieldId: byIntake('dateOfBirth').id, fieldTitle: 'Date of Birth', answer: { type: 'dateString', value: values.dateOfBirth } },
|
|
196
|
+
],
|
|
197
|
+
})];
|
|
198
|
+
case 2:
|
|
199
|
+
_b.sent();
|
|
200
|
+
return [2 /*return*/, enduserId];
|
|
201
|
+
}
|
|
202
|
+
});
|
|
203
|
+
}); };
|
|
204
|
+
var enduserExists = function (sdk, enduserId) { return __awaiter(void 0, void 0, void 0, function () {
|
|
205
|
+
var _a;
|
|
206
|
+
return __generator(this, function (_b) {
|
|
207
|
+
switch (_b.label) {
|
|
208
|
+
case 0:
|
|
209
|
+
_b.trys.push([0, 2, , 3]);
|
|
210
|
+
return [4 /*yield*/, sdk.api.endusers.getOne(enduserId)];
|
|
211
|
+
case 1:
|
|
212
|
+
_b.sent();
|
|
213
|
+
return [2 /*return*/, true];
|
|
214
|
+
case 2:
|
|
215
|
+
_a = _b.sent();
|
|
216
|
+
return [2 /*return*/, false];
|
|
217
|
+
case 3: return [2 /*return*/];
|
|
218
|
+
}
|
|
219
|
+
});
|
|
220
|
+
}); };
|
|
221
|
+
export var public_form_case_insensitive_match_checks = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
222
|
+
var checks, record, tenant, sdk_1, businessId_1, caseInsensitiveState_1, setCaseInsensitive, _a, form, fields_1, DOB, stored, matchedId, exactId, OFF_EMAIL, offContact, offSession, offField, offAfter, _b, form_1, fields_2, DOB, stored, matchedId, afterIntake, submittedId, afterSubmit, storedResponses, LOCK_DOB, LOCK_EMAIL, lockContact, lockSession, lockField, lockAfter, RENAME_EMAIL, renameTarget, renameSession, byIntake, renamed, EMAIL, byEmail, emailMatchedId, nameless, namelessMatchId, form, DOB, a, b, _c, lowest_1, highest, resolved, i, _d, _e, form, DOB, target, matchedId, WILDCARD_DOB, decoy, decoyProbeId, HYPHEN_DOB, hyphenated, hyphenMatchedId, DOB, offForm, offDestination, offSourceId, _f, _g, onForm, ON_DOB, onDestination, onSourceId, onSourceGone, mergedDestination, AMBIGUOUS_DOB, ambiguousForm, candidateA, candidateB, ambiguousSourceId, _h, a, b, _j, _k, _l, _m, DOB, stored, first, second_1, group, enduserSDK, _o, authToken, enduserId, authedSDK, secondResponse, attempt, responses, submitted, f, after, form, DOB, dobContact, wrongDobId, EMAIL, emailContact, matchedId, DOB, stored, template, bookingSDK, bookingMatched, sameName, err_1;
|
|
223
|
+
var _p, _q, _r;
|
|
224
|
+
return __generator(this, function (_s) {
|
|
225
|
+
switch (_s.label) {
|
|
226
|
+
case 0:
|
|
227
|
+
checks = [];
|
|
228
|
+
record = function (label, pass, detail) { return checks.push({ label: label, pass: pass, detail: detail }); };
|
|
229
|
+
_s.label = 1;
|
|
230
|
+
case 1:
|
|
231
|
+
_s.trys.push([1, , 99, 101]);
|
|
232
|
+
return [4 /*yield*/, setup_isolated_tenant({
|
|
233
|
+
name: "PublicFormCaseInsensitive ".concat(RAND()),
|
|
234
|
+
users: [{ isAdmin: true }],
|
|
235
|
+
apiKeys: 0,
|
|
236
|
+
})];
|
|
237
|
+
case 2:
|
|
238
|
+
tenant = _s.sent();
|
|
239
|
+
sdk_1 = tenant.sdk, businessId_1 = tenant.businessId;
|
|
240
|
+
setCaseInsensitive = function (on) { return __awaiter(void 0, void 0, void 0, function () {
|
|
241
|
+
return __generator(this, function (_a) {
|
|
242
|
+
switch (_a.label) {
|
|
243
|
+
case 0:
|
|
244
|
+
if (caseInsensitiveState_1 === on)
|
|
245
|
+
return [2 /*return*/];
|
|
246
|
+
return [4 /*yield*/, sdk_1.api.organizations.updateOne(businessId_1, {
|
|
247
|
+
settings: { endusers: { caseInsensitiveMatching: on } },
|
|
248
|
+
})];
|
|
249
|
+
case 1:
|
|
250
|
+
_a.sent();
|
|
251
|
+
caseInsensitiveState_1 = on;
|
|
252
|
+
return [2 /*return*/];
|
|
253
|
+
}
|
|
254
|
+
});
|
|
255
|
+
}); };
|
|
256
|
+
return [4 /*yield*/, setCaseInsensitive(false)];
|
|
257
|
+
case 3:
|
|
258
|
+
_s.sent();
|
|
259
|
+
return [4 /*yield*/, createPublicForm(sdk_1)];
|
|
260
|
+
case 4:
|
|
261
|
+
_a = _s.sent(), form = _a.form, fields_1 = _a.fields;
|
|
262
|
+
DOB = '1990-01-02';
|
|
263
|
+
return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'John', lname: 'MCDONALD', dateOfBirth: DOB })];
|
|
264
|
+
case 5:
|
|
265
|
+
stored = _s.sent();
|
|
266
|
+
record('fixture: a non-first-letter capitalization variant is stored verbatim', stored.lname === 'MCDONALD', "stored lname=".concat(JSON.stringify(stored.lname), " (if this is not MCDONALD every other check is vacuous)"));
|
|
267
|
+
return [4 /*yield*/, intake(form, { fname: 'John', lname: 'Mcdonald', dateOfBirth: DOB })];
|
|
268
|
+
case 6:
|
|
269
|
+
matchedId = _s.sent();
|
|
270
|
+
record('setting OFF: "Mcdonald" does NOT match stored "MCDONALD" (unchanged behavior)', matchedId !== stored.id, "intake resolved to ".concat(matchedId, ", stored contact is ").concat(stored.id));
|
|
271
|
+
return [4 /*yield*/, intake(form, { fname: 'John', lname: 'MCDONALD', dateOfBirth: DOB })];
|
|
272
|
+
case 7:
|
|
273
|
+
exactId = _s.sent();
|
|
274
|
+
record('setting OFF: an exactly-matching name still matches (control)', exactId === stored.id, "intake resolved to ".concat(exactId, ", expected ").concat(stored.id));
|
|
275
|
+
OFF_EMAIL = "dontsend-off-".concat(RAND(), "@tellescope.com");
|
|
276
|
+
return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'Off', lname: 'MCDONALD', email: OFF_EMAIL })];
|
|
277
|
+
case 8:
|
|
278
|
+
offContact = _s.sent();
|
|
279
|
+
return [4 /*yield*/, intakeSession(form, { email: OFF_EMAIL })];
|
|
280
|
+
case 9:
|
|
281
|
+
offSession = _s.sent();
|
|
282
|
+
offField = function (intakeField) { return fields_1.find(function (f) { return f.intakeField === intakeField; }); };
|
|
283
|
+
return [4 /*yield*/, offSession.authedSDK.api.form_responses.submit_form_response({
|
|
284
|
+
accessCode: offSession.accessCode,
|
|
285
|
+
responses: [
|
|
286
|
+
{ fieldId: offField('fname').id, fieldTitle: 'First Name', answer: { type: 'string', value: 'Off' } },
|
|
287
|
+
{ fieldId: offField('lname').id, fieldTitle: 'Last Name', answer: { type: 'string', value: 'Mcdonald' } },
|
|
288
|
+
],
|
|
289
|
+
})];
|
|
290
|
+
case 10:
|
|
291
|
+
_s.sent();
|
|
292
|
+
return [4 /*yield*/, sdk_1.api.endusers.getOne(offContact.id)];
|
|
293
|
+
case 11:
|
|
294
|
+
offAfter = _s.sent();
|
|
295
|
+
record('setting OFF: a case-only name change from intake still writes through (guard is inert)', offSession.enduserId === offContact.id && offAfter.lname === 'Mcdonald', "intake resolved to ".concat(offSession.enduserId, " (expected ").concat(offContact.id, "); stored lname is ").concat(JSON.stringify(offAfter.lname), ", expected \"Mcdonald\""));
|
|
296
|
+
return [4 /*yield*/, setCaseInsensitive(true)];
|
|
297
|
+
case 12:
|
|
298
|
+
_s.sent();
|
|
299
|
+
return [4 /*yield*/, createPublicForm(sdk_1)];
|
|
300
|
+
case 13:
|
|
301
|
+
_b = _s.sent(), form_1 = _b.form, fields_2 = _b.fields;
|
|
302
|
+
DOB = '1991-02-03';
|
|
303
|
+
return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'Jane', lname: 'MCDONALD', dateOfBirth: DOB })];
|
|
304
|
+
case 14:
|
|
305
|
+
stored = _s.sent();
|
|
306
|
+
return [4 /*yield*/, intake(form_1, { fname: 'Jane', lname: 'Mcdonald', dateOfBirth: DOB })];
|
|
307
|
+
case 15:
|
|
308
|
+
matchedId = _s.sent();
|
|
309
|
+
record('setting ON: "Mcdonald" matches stored "MCDONALD"', matchedId === stored.id, "intake resolved to ".concat(matchedId, ", expected ").concat(stored.id));
|
|
310
|
+
return [4 /*yield*/, sdk_1.api.endusers.getOne(stored.id)];
|
|
311
|
+
case 16:
|
|
312
|
+
afterIntake = _s.sent();
|
|
313
|
+
record('setting ON: the intake screen does not rewrite a matched contact\'s capitalization', afterIntake.lname === 'MCDONALD', "stored lname is now ".concat(JSON.stringify(afterIntake.lname), ", must still be \"MCDONALD\""));
|
|
314
|
+
return [4 /*yield*/, intakeAndSubmit(form_1, fields_2, { fname: 'Jane', lname: 'Mcdonald', dateOfBirth: DOB })];
|
|
315
|
+
case 17:
|
|
316
|
+
submittedId = _s.sent();
|
|
317
|
+
return [4 /*yield*/, sdk_1.api.endusers.getOne(stored.id)];
|
|
318
|
+
case 18:
|
|
319
|
+
afterSubmit = _s.sent();
|
|
320
|
+
record('setting ON: SUBMITTING the form does not rewrite a matched contact\'s capitalization', submittedId === stored.id && afterSubmit.lname === 'MCDONALD', "submission resolved to ".concat(submittedId, " (expected ").concat(stored.id, "); stored lname is now ").concat(JSON.stringify(afterSubmit.lname), ", must still be \"MCDONALD\""));
|
|
321
|
+
return [4 /*yield*/, sdk_1.api.form_responses.getSome({ filter: { enduserId: stored.id } })];
|
|
322
|
+
case 19:
|
|
323
|
+
storedResponses = _s.sent();
|
|
324
|
+
record('setting ON: the submitted response is attached to the matched contact', storedResponses.some(function (r) { return r.formId === form_1.id && !!r.submittedAt; }), "form_responses on ".concat(stored.id, ": ").concat(JSON.stringify(storedResponses.map(function (r) { return ({ formId: r.formId, submitted: !!r.submittedAt }); }))));
|
|
325
|
+
LOCK_DOB = '1991-02-04';
|
|
326
|
+
LOCK_EMAIL = "dontsend-lock-".concat(RAND(), "@tellescope.com");
|
|
327
|
+
return [4 /*yield*/, sdk_1.api.endusers.createOne({
|
|
328
|
+
fname: 'Lock', lname: 'MCDONALD', dateOfBirth: LOCK_DOB, email: LOCK_EMAIL, phone: '+15555550123',
|
|
329
|
+
})];
|
|
330
|
+
case 20:
|
|
331
|
+
lockContact = _s.sent();
|
|
332
|
+
return [4 /*yield*/, intakeSession(form_1, { fname: 'Lock', lname: 'Mcdonald', dateOfBirth: LOCK_DOB })];
|
|
333
|
+
case 21:
|
|
334
|
+
lockSession = _s.sent();
|
|
335
|
+
lockField = function (intakeField) { return fields_2.find(function (f) { return f.intakeField === intakeField; }); };
|
|
336
|
+
return [4 /*yield*/, lockSession.authedSDK.api.form_responses.submit_form_response({
|
|
337
|
+
accessCode: lockSession.accessCode,
|
|
338
|
+
responses: [
|
|
339
|
+
{ fieldId: lockField('fname').id, fieldTitle: 'First Name', answer: { type: 'string', value: 'Lock' } },
|
|
340
|
+
{ fieldId: lockField('lname').id, fieldTitle: 'Last Name', answer: { type: 'string', value: 'Mcdonald' } },
|
|
341
|
+
{ fieldId: lockField('email').id, fieldTitle: 'Email', answer: { type: 'email', value: "attacker-".concat(RAND(), "@example.com") } },
|
|
342
|
+
{ fieldId: lockField('phone').id, fieldTitle: 'Phone', answer: { type: 'phone', value: '+15555559999' } },
|
|
343
|
+
],
|
|
344
|
+
})];
|
|
345
|
+
case 22:
|
|
346
|
+
_s.sent();
|
|
347
|
+
return [4 /*yield*/, sdk_1.api.endusers.getOne(lockContact.id)];
|
|
348
|
+
case 23:
|
|
349
|
+
lockAfter = _s.sent();
|
|
350
|
+
record('setting ON: a case-insensitively matched contact keeps its email and phone (auth-field lock holds)', lockSession.enduserId === lockContact.id
|
|
351
|
+
&& lockAfter.email === LOCK_EMAIL
|
|
352
|
+
&& lockAfter.phone === '+15555550123', "intake resolved to ".concat(lockSession.enduserId, " (expected ").concat(lockContact.id, ");")
|
|
353
|
+
+ " email=".concat(JSON.stringify(lockAfter.email), " (expected ").concat(JSON.stringify(LOCK_EMAIL), "),")
|
|
354
|
+
+ " phone=".concat(JSON.stringify(lockAfter.phone), " (expected \"+15555550123\")"));
|
|
355
|
+
RENAME_EMAIL = "dontsend-rename-".concat(RAND(), "@tellescope.com");
|
|
356
|
+
return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'Rename', lname: 'Smith', email: RENAME_EMAIL })];
|
|
357
|
+
case 24:
|
|
358
|
+
renameTarget = _s.sent();
|
|
359
|
+
return [4 /*yield*/, intakeSession(form_1, { email: RENAME_EMAIL })];
|
|
360
|
+
case 25:
|
|
361
|
+
renameSession = _s.sent();
|
|
362
|
+
byIntake = function (intakeField) { return fields_2.find(function (f) { return f.intakeField === intakeField; }); };
|
|
363
|
+
return [4 /*yield*/, renameSession.authedSDK.api.form_responses.submit_form_response({
|
|
364
|
+
accessCode: renameSession.accessCode,
|
|
365
|
+
responses: [
|
|
366
|
+
{ fieldId: byIntake('fname').id, fieldTitle: 'First Name', answer: { type: 'string', value: 'Rename' } },
|
|
367
|
+
{ fieldId: byIntake('lname').id, fieldTitle: 'Last Name', answer: { type: 'string', value: 'Smyth' } },
|
|
368
|
+
],
|
|
369
|
+
})];
|
|
370
|
+
case 26:
|
|
371
|
+
_s.sent();
|
|
372
|
+
return [4 /*yield*/, sdk_1.api.endusers.getOne(renameTarget.id)];
|
|
373
|
+
case 27:
|
|
374
|
+
renamed = _s.sent();
|
|
375
|
+
record('setting ON: a GENUINE name change from intake is still written through (control)', renameSession.enduserId === renameTarget.id && renamed.lname === 'Smyth', "intake resolved to ".concat(renameSession.enduserId, " (expected ").concat(renameTarget.id, "); stored lname is ").concat(JSON.stringify(renamed.lname), ", expected \"Smyth\""));
|
|
376
|
+
EMAIL = "dontsend-ci-".concat(RAND(), "@tellescope.com");
|
|
377
|
+
return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'Email', lname: 'Only', email: EMAIL })];
|
|
378
|
+
case 28:
|
|
379
|
+
byEmail = _s.sent();
|
|
380
|
+
return [4 /*yield*/, intake(form_1, { email: EMAIL })];
|
|
381
|
+
case 29:
|
|
382
|
+
emailMatchedId = _s.sent();
|
|
383
|
+
record('setting ON: matching by email alone is unchanged', emailMatchedId === byEmail.id, "intake resolved to ".concat(emailMatchedId, ", expected ").concat(byEmail.id));
|
|
384
|
+
return [4 /*yield*/, sdk_1.api.endusers.createOne({ dateOfBirth: '1960-06-06' })];
|
|
385
|
+
case 30:
|
|
386
|
+
nameless = _s.sent();
|
|
387
|
+
return [4 /*yield*/, intake(form_1, { fname: 'Nobody', dateOfBirth: '1960-06-06' })];
|
|
388
|
+
case 31:
|
|
389
|
+
namelessMatchId = _s.sent();
|
|
390
|
+
record('setting ON: a blank name does not match a nameless contact (sentinel survives)', namelessMatchId !== nameless.id, "intake resolved to ".concat(namelessMatchId, ", nameless contact is ").concat(nameless.id));
|
|
391
|
+
return [4 /*yield*/, setCaseInsensitive(true)];
|
|
392
|
+
case 32:
|
|
393
|
+
_s.sent();
|
|
394
|
+
return [4 /*yield*/, createPublicForm(sdk_1)];
|
|
395
|
+
case 33:
|
|
396
|
+
form = (_s.sent()).form;
|
|
397
|
+
DOB = '1992-03-04';
|
|
398
|
+
return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'Olive', lname: 'Mcdonald', dateOfBirth: DOB })];
|
|
399
|
+
case 34:
|
|
400
|
+
a = _s.sent();
|
|
401
|
+
return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'Olive', lname: 'MCDONALD', dateOfBirth: DOB })];
|
|
402
|
+
case 35:
|
|
403
|
+
b = _s.sent();
|
|
404
|
+
_c = a.id < b.id ? [a, b] : [b, a], lowest_1 = _c[0], highest = _c[1];
|
|
405
|
+
resolved = [];
|
|
406
|
+
i = 0;
|
|
407
|
+
_s.label = 36;
|
|
408
|
+
case 36:
|
|
409
|
+
if (!(i < 3)) return [3 /*break*/, 39];
|
|
410
|
+
_e = (_d = resolved).push;
|
|
411
|
+
return [4 /*yield*/, intake(form, { fname: 'Olive', lname: 'McDonald', dateOfBirth: DOB })];
|
|
412
|
+
case 37:
|
|
413
|
+
_e.apply(_d, [_s.sent()]);
|
|
414
|
+
_s.label = 38;
|
|
415
|
+
case 38:
|
|
416
|
+
i++;
|
|
417
|
+
return [3 /*break*/, 36];
|
|
418
|
+
case 39:
|
|
419
|
+
record('setting ON: with two case variants, the lowest-_id (oldest) contact wins on every submission', resolved.every(function (id) { return id === lowest_1.id; }), "resolved ".concat(JSON.stringify(resolved), ", lowest _id=").concat(lowest_1.id, ", other=").concat(highest.id));
|
|
420
|
+
return [4 /*yield*/, setCaseInsensitive(true)];
|
|
421
|
+
case 40:
|
|
422
|
+
_s.sent();
|
|
423
|
+
return [4 /*yield*/, createPublicForm(sdk_1)];
|
|
424
|
+
case 41:
|
|
425
|
+
form = (_s.sent()).form;
|
|
426
|
+
DOB = '1993-04-05';
|
|
427
|
+
return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'Mary', lname: 'O.Brien', dateOfBirth: DOB })];
|
|
428
|
+
case 42:
|
|
429
|
+
target = _s.sent();
|
|
430
|
+
return [4 /*yield*/, intake(form, { fname: 'Mary', lname: 'o.BRIEN', dateOfBirth: DOB })];
|
|
431
|
+
case 43:
|
|
432
|
+
matchedId = _s.sent();
|
|
433
|
+
record('setting ON: "." in a name is matched literally (matches the contact that has it)', matchedId === target.id, "intake resolved to ".concat(matchedId, ", expected O.Brien ").concat(target.id));
|
|
434
|
+
WILDCARD_DOB = '1993-04-06';
|
|
435
|
+
return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'Mary', lname: 'OXBrien', dateOfBirth: WILDCARD_DOB })];
|
|
436
|
+
case 44:
|
|
437
|
+
decoy = _s.sent();
|
|
438
|
+
return [4 /*yield*/, intake(form, { fname: 'Mary', lname: 'O.Brien', dateOfBirth: WILDCARD_DOB })];
|
|
439
|
+
case 45:
|
|
440
|
+
decoyProbeId = _s.sent();
|
|
441
|
+
record('setting ON: "." is NOT a wildcard (does not match a contact with another character there)', decoyProbeId !== decoy.id, "intake resolved to ".concat(decoyProbeId, ", must NOT be the OXBrien contact ").concat(decoy.id));
|
|
442
|
+
HYPHEN_DOB = '1994-05-06';
|
|
443
|
+
return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'Ann', lname: 'Smith-Jones', dateOfBirth: HYPHEN_DOB })];
|
|
444
|
+
case 46:
|
|
445
|
+
hyphenated = _s.sent();
|
|
446
|
+
return [4 /*yield*/, intake(form, { fname: 'Ann', lname: 'SMITH-JONES', dateOfBirth: HYPHEN_DOB })];
|
|
447
|
+
case 47:
|
|
448
|
+
hyphenMatchedId = _s.sent();
|
|
449
|
+
record('setting ON: a hyphenated name matches case-insensitively', hyphenMatchedId === hyphenated.id, "intake resolved to ".concat(hyphenMatchedId, ", expected ").concat(hyphenated.id));
|
|
450
|
+
DOB = '1995-06-07';
|
|
451
|
+
// 5a. setting OFF: a capitalization variant is not a merge candidate
|
|
452
|
+
return [4 /*yield*/, setCaseInsensitive(false)];
|
|
453
|
+
case 48:
|
|
454
|
+
// 5a. setting OFF: a capitalization variant is not a merge candidate
|
|
455
|
+
_s.sent();
|
|
456
|
+
return [4 /*yield*/, createPublicForm(sdk_1, { autoMergeOnSubmission: true })];
|
|
457
|
+
case 49:
|
|
458
|
+
offForm = _s.sent();
|
|
459
|
+
return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'Merge', lname: 'MCDONALD', dateOfBirth: DOB })];
|
|
460
|
+
case 50:
|
|
461
|
+
offDestination = _s.sent();
|
|
462
|
+
return [4 /*yield*/, submitWithSkipMatch(offForm.form, offForm.fields, {
|
|
463
|
+
fname: 'Merge', lname: 'Mcdonald', dateOfBirth: DOB,
|
|
464
|
+
})];
|
|
465
|
+
case 51:
|
|
466
|
+
offSourceId = _s.sent();
|
|
467
|
+
_f = record;
|
|
468
|
+
_g = ['auto-merge, setting OFF: a capitalization variant does NOT merge (unchanged behavior)'];
|
|
469
|
+
return [4 /*yield*/, enduserExists(sdk_1, offSourceId)];
|
|
470
|
+
case 52:
|
|
471
|
+
_f.apply(void 0, _g.concat([_s.sent(), "source ".concat(offSourceId, " should still exist alongside destination ").concat(offDestination.id)]));
|
|
472
|
+
// 5b. setting ON: the same submission merges
|
|
473
|
+
return [4 /*yield*/, setCaseInsensitive(true)];
|
|
474
|
+
case 53:
|
|
475
|
+
// 5b. setting ON: the same submission merges
|
|
476
|
+
_s.sent();
|
|
477
|
+
return [4 /*yield*/, createPublicForm(sdk_1, { autoMergeOnSubmission: true })];
|
|
478
|
+
case 54:
|
|
479
|
+
onForm = _s.sent();
|
|
480
|
+
ON_DOB = '1996-07-08';
|
|
481
|
+
return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'Merge', lname: 'MCDONNELL', dateOfBirth: ON_DOB })];
|
|
482
|
+
case 55:
|
|
483
|
+
onDestination = _s.sent();
|
|
484
|
+
return [4 /*yield*/, submitWithSkipMatch(onForm.form, onForm.fields, {
|
|
485
|
+
fname: 'Merge', lname: 'Mcdonnell', dateOfBirth: ON_DOB,
|
|
486
|
+
})];
|
|
487
|
+
case 56:
|
|
488
|
+
onSourceId = _s.sent();
|
|
489
|
+
return [4 /*yield*/, enduserExists(sdk_1, onSourceId)];
|
|
490
|
+
case 57:
|
|
491
|
+
onSourceGone = !(_s.sent());
|
|
492
|
+
return [4 /*yield*/, sdk_1.api.endusers.getOne(onDestination.id)];
|
|
493
|
+
case 58:
|
|
494
|
+
mergedDestination = _s.sent();
|
|
495
|
+
record('auto-merge, setting ON: a capitalization variant merges into the existing contact', onSourceGone && !!((_p = mergedDestination.mergedIds) === null || _p === void 0 ? void 0 : _p.includes(onSourceId)), "source deleted=".concat(onSourceGone, ", destination mergedIds=").concat(JSON.stringify(mergedDestination.mergedIds)));
|
|
496
|
+
record('auto-merge, setting ON: the merged-into contact keeps its stored capitalization', mergedDestination.lname === 'MCDONNELL', "destination lname is ".concat(JSON.stringify(mergedDestination.lname), ", must still be \"MCDONNELL\""));
|
|
497
|
+
AMBIGUOUS_DOB = '1997-08-09';
|
|
498
|
+
return [4 /*yield*/, createPublicForm(sdk_1, { autoMergeOnSubmission: true })];
|
|
499
|
+
case 59:
|
|
500
|
+
ambiguousForm = _s.sent();
|
|
501
|
+
return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'Ambi', lname: 'Mcguire', dateOfBirth: AMBIGUOUS_DOB })];
|
|
502
|
+
case 60:
|
|
503
|
+
candidateA = _s.sent();
|
|
504
|
+
return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'Ambi', lname: 'MCGUIRE', dateOfBirth: AMBIGUOUS_DOB })];
|
|
505
|
+
case 61:
|
|
506
|
+
candidateB = _s.sent();
|
|
507
|
+
return [4 /*yield*/, submitWithSkipMatch(ambiguousForm.form, ambiguousForm.fields, {
|
|
508
|
+
fname: 'Ambi', lname: 'McGuire', dateOfBirth: AMBIGUOUS_DOB,
|
|
509
|
+
})];
|
|
510
|
+
case 62:
|
|
511
|
+
ambiguousSourceId = _s.sent();
|
|
512
|
+
return [4 /*yield*/, Promise.all([
|
|
513
|
+
sdk_1.api.endusers.getOne(candidateA.id),
|
|
514
|
+
sdk_1.api.endusers.getOne(candidateB.id),
|
|
515
|
+
])];
|
|
516
|
+
case 63:
|
|
517
|
+
_h = _s.sent(), a = _h[0], b = _h[1];
|
|
518
|
+
_j = record;
|
|
519
|
+
_k = ['auto-merge, setting ON: two case variants are ambiguous, so NOTHING is merged'];
|
|
520
|
+
return [4 /*yield*/, enduserExists(sdk_1, ambiguousSourceId)];
|
|
521
|
+
case 64:
|
|
522
|
+
_k = _k.concat([(_s.sent())
|
|
523
|
+
&& !((_q = a.mergedIds) === null || _q === void 0 ? void 0 : _q.includes(ambiguousSourceId))
|
|
524
|
+
&& !((_r = b.mergedIds) === null || _r === void 0 ? void 0 : _r.includes(ambiguousSourceId))]);
|
|
525
|
+
_m = (_l = "source ".concat(ambiguousSourceId, " exists=")).concat;
|
|
526
|
+
return [4 /*yield*/, enduserExists(sdk_1, ambiguousSourceId)];
|
|
527
|
+
case 65:
|
|
528
|
+
_j.apply(void 0, _k.concat([_m.apply(_l, [_s.sent(), ","])
|
|
529
|
+
+ " A.mergedIds=".concat(JSON.stringify(a.mergedIds), ", B.mergedIds=").concat(JSON.stringify(b.mergedIds))]));
|
|
530
|
+
return [4 /*yield*/, setCaseInsensitive(true)];
|
|
531
|
+
case 66:
|
|
532
|
+
_s.sent();
|
|
533
|
+
DOB = '1986-06-16';
|
|
534
|
+
return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'Group', lname: 'MCDONALD', dateOfBirth: DOB })
|
|
535
|
+
// Form 1 carries the intake screen that does the matching; form 2 ALSO carries name intake
|
|
536
|
+
// questions, which is the case that escapes a publicSubmit-only guard — the follow-on group
|
|
537
|
+
// responses are inserted by session_for_public_form without publicSubmit.
|
|
538
|
+
];
|
|
539
|
+
case 67:
|
|
540
|
+
stored = _s.sent();
|
|
541
|
+
return [4 /*yield*/, createPublicForm(sdk_1)];
|
|
542
|
+
case 68:
|
|
543
|
+
first = _s.sent();
|
|
544
|
+
return [4 /*yield*/, createPublicForm(sdk_1)];
|
|
545
|
+
case 69:
|
|
546
|
+
second_1 = _s.sent();
|
|
547
|
+
return [4 /*yield*/, sdk_1.api.form_groups.createOne({
|
|
548
|
+
title: "Case Insensitive Group ".concat(RAND()),
|
|
549
|
+
formIds: [first.form.id, second_1.form.id],
|
|
550
|
+
})];
|
|
551
|
+
case 70:
|
|
552
|
+
group = _s.sent();
|
|
553
|
+
enduserSDK = new EnduserSession({ host: host, businessId: businessId_1 });
|
|
554
|
+
return [4 /*yield*/, enduserSDK.api.form_responses.session_for_public_form({
|
|
555
|
+
formId: first.form.id,
|
|
556
|
+
businessId: businessId_1,
|
|
557
|
+
groupId: group.id,
|
|
558
|
+
fname: 'Group',
|
|
559
|
+
lname: 'Mcdonald',
|
|
560
|
+
dateOfBirth: DOB,
|
|
561
|
+
})];
|
|
562
|
+
case 71:
|
|
563
|
+
_o = _s.sent(), authToken = _o.authToken, enduserId = _o.enduserId;
|
|
564
|
+
authedSDK = new EnduserSession({ host: host, businessId: businessId_1, authToken: authToken });
|
|
565
|
+
secondResponse = void 0;
|
|
566
|
+
attempt = 0;
|
|
567
|
+
_s.label = 72;
|
|
568
|
+
case 72:
|
|
569
|
+
if (!(attempt < 20 && !secondResponse)) return [3 /*break*/, 76];
|
|
570
|
+
return [4 /*yield*/, sdk_1.api.form_responses.getSome({ filter: { enduserId: stored.id } })];
|
|
571
|
+
case 73:
|
|
572
|
+
responses = _s.sent();
|
|
573
|
+
secondResponse = responses.find(function (r) { return r.formId === second_1.form.id; });
|
|
574
|
+
if (!!secondResponse) return [3 /*break*/, 75];
|
|
575
|
+
return [4 /*yield*/, new Promise(function (res) { return setTimeout(res, 100); })];
|
|
576
|
+
case 74:
|
|
577
|
+
_s.sent();
|
|
578
|
+
_s.label = 75;
|
|
579
|
+
case 75:
|
|
580
|
+
attempt++;
|
|
581
|
+
return [3 /*break*/, 72];
|
|
582
|
+
case 76:
|
|
583
|
+
submitted = false;
|
|
584
|
+
if (!(secondResponse === null || secondResponse === void 0 ? void 0 : secondResponse.accessCode)) return [3 /*break*/, 78];
|
|
585
|
+
f = function (intakeField) { return second_1.fields.find(function (x) { return x.intakeField === intakeField; }); };
|
|
586
|
+
return [4 /*yield*/, authedSDK.api.form_responses.submit_form_response({
|
|
587
|
+
accessCode: secondResponse.accessCode,
|
|
588
|
+
responses: [
|
|
589
|
+
{ fieldId: f('fname').id, fieldTitle: 'First Name', answer: { type: 'string', value: 'Group' } },
|
|
590
|
+
{ fieldId: f('lname').id, fieldTitle: 'Last Name', answer: { type: 'string', value: 'Mcdonald' } },
|
|
591
|
+
],
|
|
592
|
+
})];
|
|
593
|
+
case 77:
|
|
594
|
+
_s.sent();
|
|
595
|
+
submitted = true;
|
|
596
|
+
_s.label = 78;
|
|
597
|
+
case 78: return [4 /*yield*/, sdk_1.api.endusers.getOne(stored.id)];
|
|
598
|
+
case 79:
|
|
599
|
+
after = _s.sent();
|
|
600
|
+
record('setting ON: form 2 of a public GROUP does not rewrite the matched contact\'s capitalization', enduserId === stored.id && submitted && after.lname === 'MCDONALD', "intake resolved to ".concat(enduserId, " (expected ").concat(stored.id, "); submitted form 2 = ").concat(submitted)
|
|
601
|
+
+ " (accessCode present = ".concat(!!(secondResponse === null || secondResponse === void 0 ? void 0 : secondResponse.accessCode), "); stored lname is ").concat(JSON.stringify(after.lname), ", must still be \"MCDONALD\""));
|
|
602
|
+
return [4 /*yield*/, setCaseInsensitive(true)];
|
|
603
|
+
case 80:
|
|
604
|
+
_s.sent();
|
|
605
|
+
return [4 /*yield*/, createPublicForm(sdk_1)
|
|
606
|
+
// dateOfBirth is an identifier and stays an exact match: the same name with a different DOB
|
|
607
|
+
// must not match, with the setting on
|
|
608
|
+
];
|
|
609
|
+
case 81:
|
|
610
|
+
form = (_s.sent()).form;
|
|
611
|
+
DOB = '1999-10-11';
|
|
612
|
+
return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'Dob', lname: 'MCDONALD', dateOfBirth: DOB })];
|
|
613
|
+
case 82:
|
|
614
|
+
dobContact = _s.sent();
|
|
615
|
+
return [4 /*yield*/, intake(form, { fname: 'Dob', lname: 'Mcdonald', dateOfBirth: '1999-10-12' })];
|
|
616
|
+
case 83:
|
|
617
|
+
wrongDobId = _s.sent();
|
|
618
|
+
record('setting ON: dateOfBirth is still an exact match (a different DOB does not match)', wrongDobId !== dobContact.id, "intake resolved to ".concat(wrongDobId, ", contact with DOB ").concat(DOB, " is ").concat(dobContact.id));
|
|
619
|
+
// with matchEmailAndNames on, the email branch of the $or additionally requires fname + lname;
|
|
620
|
+
// those two must be case-insensitive as well, or the opt-in silently excludes email matching
|
|
621
|
+
return [4 /*yield*/, sdk_1.api.organizations.updateOne(businessId_1, {
|
|
622
|
+
settings: { endusers: { matchEmailAndNames: true } },
|
|
623
|
+
})];
|
|
624
|
+
case 84:
|
|
625
|
+
// with matchEmailAndNames on, the email branch of the $or additionally requires fname + lname;
|
|
626
|
+
// those two must be case-insensitive as well, or the opt-in silently excludes email matching
|
|
627
|
+
_s.sent();
|
|
628
|
+
_s.label = 85;
|
|
629
|
+
case 85:
|
|
630
|
+
_s.trys.push([85, , 88, 90]);
|
|
631
|
+
EMAIL = "dontsend-mean-".concat(RAND(), "@tellescope.com");
|
|
632
|
+
return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'Mean', lname: 'MCDONALD', email: EMAIL })];
|
|
633
|
+
case 86:
|
|
634
|
+
emailContact = _s.sent();
|
|
635
|
+
return [4 /*yield*/, intake(form, { email: EMAIL, fname: 'Mean', lname: 'Mcdonald' })];
|
|
636
|
+
case 87:
|
|
637
|
+
matchedId = _s.sent();
|
|
638
|
+
record('setting ON + matchEmailAndNames: the email+fname+lname clause is case-insensitive too', matchedId === emailContact.id, "intake resolved to ".concat(matchedId, ", expected ").concat(emailContact.id));
|
|
639
|
+
return [3 /*break*/, 90];
|
|
640
|
+
case 88: return [4 /*yield*/, sdk_1.api.organizations.updateOne(businessId_1, {
|
|
641
|
+
settings: { endusers: { matchEmailAndNames: false } },
|
|
642
|
+
})];
|
|
643
|
+
case 89:
|
|
644
|
+
_s.sent();
|
|
645
|
+
return [7 /*endfinally*/];
|
|
646
|
+
case 90: return [4 /*yield*/, setCaseInsensitive(true)];
|
|
647
|
+
case 91:
|
|
648
|
+
_s.sent();
|
|
649
|
+
DOB = '1998-09-10';
|
|
650
|
+
return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'Booking', lname: 'MCDONALD', dateOfBirth: DOB })];
|
|
651
|
+
case 92:
|
|
652
|
+
stored = _s.sent();
|
|
653
|
+
return [4 /*yield*/, sdk_1.api.calendar_event_templates.createOne({
|
|
654
|
+
title: "Case Insensitive Booking ".concat(RAND()),
|
|
655
|
+
durationInMinutes: 30,
|
|
656
|
+
})];
|
|
657
|
+
case 93:
|
|
658
|
+
template = _s.sent();
|
|
659
|
+
bookingSDK = new EnduserSession({ host: host, businessId: businessId_1 });
|
|
660
|
+
bookingMatched = void 0;
|
|
661
|
+
_s.label = 94;
|
|
662
|
+
case 94:
|
|
663
|
+
_s.trys.push([94, 97, , 98]);
|
|
664
|
+
return [4 /*yield*/, bookingSDK.api.calendar_events.session_for_public_appointment_booking({
|
|
665
|
+
calendarEventTemplateId: template.id,
|
|
666
|
+
businessId: businessId_1,
|
|
667
|
+
fname: 'Booking',
|
|
668
|
+
lname: 'Mcdonald',
|
|
669
|
+
dateOfBirth: DOB,
|
|
670
|
+
})
|
|
671
|
+
// the booking endpoint returns only an authToken, so "did it match?" is read off the contact
|
|
672
|
+
// list: a non-match inserts a SECOND contact with the submitted capitalization
|
|
673
|
+
];
|
|
674
|
+
case 95:
|
|
675
|
+
_s.sent();
|
|
676
|
+
return [4 /*yield*/, sdk_1.api.endusers.getSome({ filter: { dateOfBirth: DOB } })];
|
|
677
|
+
case 96:
|
|
678
|
+
sameName = _s.sent();
|
|
679
|
+
bookingMatched = sameName.length === 1;
|
|
680
|
+
return [3 /*break*/, 98];
|
|
681
|
+
case 97:
|
|
682
|
+
err_1 = _s.sent();
|
|
683
|
+
bookingMatched = undefined;
|
|
684
|
+
return [3 /*break*/, 98];
|
|
685
|
+
case 98:
|
|
686
|
+
record('appointment booking stays byte-exact even with the setting ON (deliberately out of scope)', bookingMatched === false, bookingMatched === undefined
|
|
687
|
+
? 'the booking endpoint errored, so this check could not be evaluated'
|
|
688
|
+
: "contacts with dateOfBirth ".concat(DOB, ": ").concat(bookingMatched ? 1 : 2, "; expected 2 (a separate contact), stored=").concat(stored.id));
|
|
689
|
+
return [2 /*return*/, checks];
|
|
690
|
+
case 99: return [4 /*yield*/, (tenant === null || tenant === void 0 ? void 0 : tenant.teardown())];
|
|
691
|
+
case 100:
|
|
692
|
+
_s.sent();
|
|
693
|
+
return [7 /*endfinally*/];
|
|
694
|
+
case 101: return [2 /*return*/];
|
|
695
|
+
}
|
|
696
|
+
});
|
|
697
|
+
}); };
|
|
698
|
+
/** Asserting wrapper, for standalone runs. */
|
|
699
|
+
export var public_form_case_insensitive_match_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
700
|
+
var _a, _b;
|
|
701
|
+
return __generator(this, function (_c) {
|
|
702
|
+
switch (_c.label) {
|
|
703
|
+
case 0:
|
|
704
|
+
_a = assert_checks;
|
|
705
|
+
_b = ['Public form case-insensitive matching'];
|
|
706
|
+
return [4 /*yield*/, public_form_case_insensitive_match_checks()];
|
|
707
|
+
case 1:
|
|
708
|
+
_a.apply(void 0, _b.concat([_c.sent()]));
|
|
709
|
+
return [2 /*return*/];
|
|
710
|
+
}
|
|
711
|
+
});
|
|
712
|
+
}); };
|
|
713
|
+
/** Enrolls this suite in the auto-discovered parallel pool — see run_discovered_isolated_suites. */
|
|
714
|
+
export var ISOLATED_SUITE = { name: 'Public form case-insensitive matching', run: public_form_case_insensitive_match_checks };
|
|
715
|
+
// Allow running this test file independently
|
|
716
|
+
if (require.main === module) {
|
|
717
|
+
console.log("Using API URL: ".concat(host));
|
|
718
|
+
public_form_case_insensitive_match_tests()
|
|
719
|
+
.then(function () {
|
|
720
|
+
console.log("Public form case-insensitive match test suite completed successfully");
|
|
721
|
+
process.exit(0);
|
|
722
|
+
})
|
|
723
|
+
.catch(function (error) {
|
|
724
|
+
console.error("Public form case-insensitive match test suite failed:", error);
|
|
725
|
+
process.exit(1);
|
|
726
|
+
});
|
|
727
|
+
}
|
|
728
|
+
//# sourceMappingURL=public_form_case_insensitive_match.test.js.map
|