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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (303) hide show
  1. package/CLAUDE.md +24 -0
  2. package/env.example +6 -0
  3. package/lib/cjs/sdk.d.ts +376 -3
  4. package/lib/cjs/sdk.d.ts.map +1 -1
  5. package/lib/cjs/sdk.js +1 -0
  6. package/lib/cjs/sdk.js.map +1 -1
  7. package/lib/cjs/tests/api_tests/booking_prevent_upcoming_duplicate.test.d.ts +22 -0
  8. package/lib/cjs/tests/api_tests/booking_prevent_upcoming_duplicate.test.d.ts.map +1 -0
  9. package/lib/cjs/tests/api_tests/booking_prevent_upcoming_duplicate.test.js +506 -0
  10. package/lib/cjs/tests/api_tests/booking_prevent_upcoming_duplicate.test.js.map +1 -0
  11. package/lib/cjs/tests/api_tests/enduser_fields_sync.test.d.ts +3 -1
  12. package/lib/cjs/tests/api_tests/enduser_fields_sync.test.d.ts.map +1 -1
  13. package/lib/cjs/tests/api_tests/enduser_fields_sync.test.js +3 -1
  14. package/lib/cjs/tests/api_tests/enduser_fields_sync.test.js.map +1 -1
  15. package/lib/cjs/tests/api_tests/enduser_observations_auto_review.test.d.ts +3 -1
  16. package/lib/cjs/tests/api_tests/enduser_observations_auto_review.test.d.ts.map +1 -1
  17. package/lib/cjs/tests/api_tests/enduser_observations_auto_review.test.js +3 -1
  18. package/lib/cjs/tests/api_tests/enduser_observations_auto_review.test.js.map +1 -1
  19. package/lib/cjs/tests/api_tests/form_vital_reading.test.d.ts +7 -0
  20. package/lib/cjs/tests/api_tests/form_vital_reading.test.d.ts.map +1 -0
  21. package/lib/cjs/tests/api_tests/form_vital_reading.test.js +461 -0
  22. package/lib/cjs/tests/api_tests/form_vital_reading.test.js.map +1 -0
  23. package/lib/cjs/tests/api_tests/journey_statistics_cache.test.d.ts +26 -0
  24. package/lib/cjs/tests/api_tests/journey_statistics_cache.test.d.ts.map +1 -0
  25. package/lib/cjs/tests/api_tests/journey_statistics_cache.test.js +232 -0
  26. package/lib/cjs/tests/api_tests/journey_statistics_cache.test.js.map +1 -0
  27. package/lib/cjs/tests/api_tests/journey_step_manual_count.test.d.ts +34 -0
  28. package/lib/cjs/tests/api_tests/journey_step_manual_count.test.d.ts.map +1 -0
  29. package/lib/cjs/tests/api_tests/journey_step_manual_count.test.js +243 -0
  30. package/lib/cjs/tests/api_tests/journey_step_manual_count.test.js.map +1 -0
  31. package/lib/cjs/tests/api_tests/load_threads_care_team.test.d.ts +3 -1
  32. package/lib/cjs/tests/api_tests/load_threads_care_team.test.d.ts.map +1 -1
  33. package/lib/cjs/tests/api_tests/load_threads_care_team.test.js +3 -1
  34. package/lib/cjs/tests/api_tests/load_threads_care_team.test.js.map +1 -1
  35. package/lib/cjs/tests/api_tests/mdi_case_offerings.test.d.ts.map +1 -1
  36. package/lib/cjs/tests/api_tests/mdi_case_offerings.test.js +139 -9
  37. package/lib/cjs/tests/api_tests/mdi_case_offerings.test.js.map +1 -1
  38. package/lib/cjs/tests/api_tests/organization_signup.test.d.ts +3 -1
  39. package/lib/cjs/tests/api_tests/organization_signup.test.d.ts.map +1 -1
  40. package/lib/cjs/tests/api_tests/organization_signup.test.js +3 -1
  41. package/lib/cjs/tests/api_tests/organization_signup.test.js.map +1 -1
  42. package/lib/cjs/tests/api_tests/phone_embed_leave_message.test.d.ts +7 -0
  43. package/lib/cjs/tests/api_tests/phone_embed_leave_message.test.d.ts.map +1 -0
  44. package/lib/cjs/tests/api_tests/phone_embed_leave_message.test.js +571 -0
  45. package/lib/cjs/tests/api_tests/phone_embed_leave_message.test.js.map +1 -0
  46. package/lib/cjs/tests/api_tests/programs.test.d.ts +3 -1
  47. package/lib/cjs/tests/api_tests/programs.test.d.ts.map +1 -1
  48. package/lib/cjs/tests/api_tests/programs.test.js +73 -17
  49. package/lib/cjs/tests/api_tests/programs.test.js.map +1 -1
  50. package/lib/cjs/tests/api_tests/public_form_case_insensitive_match.test.d.ts +7 -0
  51. package/lib/cjs/tests/api_tests/public_form_case_insensitive_match.test.d.ts.map +1 -0
  52. package/lib/cjs/tests/api_tests/public_form_case_insensitive_match.test.js +733 -0
  53. package/lib/cjs/tests/api_tests/public_form_case_insensitive_match.test.js.map +1 -0
  54. package/lib/cjs/tests/api_tests/security/add-to-journey-foreign-enduserid.test.d.ts +3 -1
  55. package/lib/cjs/tests/api_tests/security/add-to-journey-foreign-enduserid.test.d.ts.map +1 -1
  56. package/lib/cjs/tests/api_tests/security/add-to-journey-foreign-enduserid.test.js +58 -48
  57. package/lib/cjs/tests/api_tests/security/add-to-journey-foreign-enduserid.test.js.map +1 -1
  58. package/lib/cjs/tests/api_tests/security/appointment-reschedule-ownership.test.d.ts +3 -1
  59. package/lib/cjs/tests/api_tests/security/appointment-reschedule-ownership.test.d.ts.map +1 -1
  60. package/lib/cjs/tests/api_tests/security/appointment-reschedule-ownership.test.js +3 -1
  61. package/lib/cjs/tests/api_tests/security/appointment-reschedule-ownership.test.js.map +1 -1
  62. package/lib/cjs/tests/api_tests/security/file-link-session-confinement.test.d.ts +3 -1
  63. package/lib/cjs/tests/api_tests/security/file-link-session-confinement.test.d.ts.map +1 -1
  64. package/lib/cjs/tests/api_tests/security/file-link-session-confinement.test.js +3 -1
  65. package/lib/cjs/tests/api_tests/security/file-link-session-confinement.test.js.map +1 -1
  66. package/lib/cjs/tests/api_tests/security/form-logic-js-execution.test.d.ts +3 -1
  67. package/lib/cjs/tests/api_tests/security/form-logic-js-execution.test.d.ts.map +1 -1
  68. package/lib/cjs/tests/api_tests/security/form-logic-js-execution.test.js +3 -1
  69. package/lib/cjs/tests/api_tests/security/form-logic-js-execution.test.js.map +1 -1
  70. package/lib/cjs/tests/api_tests/security/formsort_webhook_auth_field_lock.test.d.ts.map +1 -1
  71. package/lib/cjs/tests/api_tests/security/formsort_webhook_auth_field_lock.test.js +424 -39
  72. package/lib/cjs/tests/api_tests/security/formsort_webhook_auth_field_lock.test.js.map +1 -1
  73. package/lib/cjs/tests/api_tests/security/register_business_id_injection.test.js +2 -2
  74. package/lib/cjs/tests/api_tests/security/register_business_id_injection.test.js.map +1 -1
  75. package/lib/cjs/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.d.ts +3 -1
  76. package/lib/cjs/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.d.ts.map +1 -1
  77. package/lib/cjs/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.js +3 -1
  78. package/lib/cjs/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.js.map +1 -1
  79. package/lib/cjs/tests/api_tests/session_for_join_link.test.d.ts +10 -0
  80. package/lib/cjs/tests/api_tests/session_for_join_link.test.d.ts.map +1 -0
  81. package/lib/cjs/tests/api_tests/session_for_join_link.test.js +147 -0
  82. package/lib/cjs/tests/api_tests/session_for_join_link.test.js.map +1 -0
  83. package/lib/cjs/tests/api_tests/set_fields_order_templates.test.d.ts.map +1 -1
  84. package/lib/cjs/tests/api_tests/set_fields_order_templates.test.js +191 -88
  85. package/lib/cjs/tests/api_tests/set_fields_order_templates.test.js.map +1 -1
  86. package/lib/cjs/tests/api_tests/stripe_checkout_items.test.d.ts +17 -0
  87. package/lib/cjs/tests/api_tests/stripe_checkout_items.test.d.ts.map +1 -0
  88. package/lib/cjs/tests/api_tests/stripe_checkout_items.test.js +219 -0
  89. package/lib/cjs/tests/api_tests/stripe_checkout_items.test.js.map +1 -0
  90. package/lib/cjs/tests/api_tests/stripe_multiple_customer_ids.test.d.ts +5 -0
  91. package/lib/cjs/tests/api_tests/stripe_multiple_customer_ids.test.d.ts.map +1 -0
  92. package/lib/cjs/tests/api_tests/stripe_multiple_customer_ids.test.js +396 -0
  93. package/lib/cjs/tests/api_tests/stripe_multiple_customer_ids.test.js.map +1 -0
  94. package/lib/cjs/tests/api_tests/tickets_bulk_assign_from_queue.test.d.ts +3 -1
  95. package/lib/cjs/tests/api_tests/tickets_bulk_assign_from_queue.test.d.ts.map +1 -1
  96. package/lib/cjs/tests/api_tests/tickets_bulk_assign_from_queue.test.js +3 -1
  97. package/lib/cjs/tests/api_tests/tickets_bulk_assign_from_queue.test.js.map +1 -1
  98. package/lib/cjs/tests/api_tests/totp_mfa.test.d.ts.map +1 -1
  99. package/lib/cjs/tests/api_tests/totp_mfa.test.js +37 -31
  100. package/lib/cjs/tests/api_tests/totp_mfa.test.js.map +1 -1
  101. package/lib/cjs/tests/api_tests/trigger_contains_matching.test.d.ts +3 -1
  102. package/lib/cjs/tests/api_tests/trigger_contains_matching.test.d.ts.map +1 -1
  103. package/lib/cjs/tests/api_tests/trigger_contains_matching.test.js +3 -1
  104. package/lib/cjs/tests/api_tests/trigger_contains_matching.test.js.map +1 -1
  105. package/lib/cjs/tests/api_tests/user_logs_restore_deleted.test.d.ts +3 -1
  106. package/lib/cjs/tests/api_tests/user_logs_restore_deleted.test.d.ts.map +1 -1
  107. package/lib/cjs/tests/api_tests/user_logs_restore_deleted.test.js +3 -1
  108. package/lib/cjs/tests/api_tests/user_logs_restore_deleted.test.js.map +1 -1
  109. package/lib/cjs/tests/api_tests/vital_review_trigger_action.test.d.ts +3 -1
  110. package/lib/cjs/tests/api_tests/vital_review_trigger_action.test.d.ts.map +1 -1
  111. package/lib/cjs/tests/api_tests/vital_review_trigger_action.test.js +3 -1
  112. package/lib/cjs/tests/api_tests/vital_review_trigger_action.test.js.map +1 -1
  113. package/lib/cjs/tests/api_tests/vitl_push.test.d.ts +7 -0
  114. package/lib/cjs/tests/api_tests/vitl_push.test.d.ts.map +1 -0
  115. package/lib/cjs/tests/api_tests/vitl_push.test.js +341 -0
  116. package/lib/cjs/tests/api_tests/vitl_push.test.js.map +1 -0
  117. package/lib/cjs/tests/setup_isolated.d.ts +48 -0
  118. package/lib/cjs/tests/setup_isolated.d.ts.map +1 -1
  119. package/lib/cjs/tests/setup_isolated.js +119 -1
  120. package/lib/cjs/tests/setup_isolated.js.map +1 -1
  121. package/lib/cjs/tests/tests.d.ts.map +1 -1
  122. package/lib/cjs/tests/tests.js +378 -282
  123. package/lib/cjs/tests/tests.js.map +1 -1
  124. package/lib/cjs/tests/unit_tests/isolated_suite_discovery.test.d.ts +2 -0
  125. package/lib/cjs/tests/unit_tests/isolated_suite_discovery.test.d.ts.map +1 -0
  126. package/lib/cjs/tests/unit_tests/isolated_suite_discovery.test.js +201 -0
  127. package/lib/cjs/tests/unit_tests/isolated_suite_discovery.test.js.map +1 -0
  128. package/lib/cjs/tests/unit_tests/programs_conditional_logic.test.d.ts +3 -0
  129. package/lib/cjs/tests/unit_tests/programs_conditional_logic.test.d.ts.map +1 -0
  130. package/lib/cjs/tests/unit_tests/programs_conditional_logic.test.js +120 -0
  131. package/lib/cjs/tests/unit_tests/programs_conditional_logic.test.js.map +1 -0
  132. package/lib/cjs/tests/webhooks_tests.js +44 -34
  133. package/lib/cjs/tests/webhooks_tests.js.map +1 -1
  134. package/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  135. package/lib/esm/sdk.d.ts +376 -3
  136. package/lib/esm/sdk.d.ts.map +1 -1
  137. package/lib/esm/sdk.js +1 -0
  138. package/lib/esm/sdk.js.map +1 -1
  139. package/lib/esm/tests/api_tests/booking_prevent_upcoming_duplicate.test.d.ts +22 -0
  140. package/lib/esm/tests/api_tests/booking_prevent_upcoming_duplicate.test.d.ts.map +1 -0
  141. package/lib/esm/tests/api_tests/booking_prevent_upcoming_duplicate.test.js +501 -0
  142. package/lib/esm/tests/api_tests/booking_prevent_upcoming_duplicate.test.js.map +1 -0
  143. package/lib/esm/tests/api_tests/enduser_fields_sync.test.d.ts +3 -1
  144. package/lib/esm/tests/api_tests/enduser_fields_sync.test.d.ts.map +1 -1
  145. package/lib/esm/tests/api_tests/enduser_fields_sync.test.js +2 -0
  146. package/lib/esm/tests/api_tests/enduser_fields_sync.test.js.map +1 -1
  147. package/lib/esm/tests/api_tests/enduser_observations_auto_review.test.d.ts +3 -1
  148. package/lib/esm/tests/api_tests/enduser_observations_auto_review.test.d.ts.map +1 -1
  149. package/lib/esm/tests/api_tests/enduser_observations_auto_review.test.js +2 -0
  150. package/lib/esm/tests/api_tests/enduser_observations_auto_review.test.js.map +1 -1
  151. package/lib/esm/tests/api_tests/form_vital_reading.test.d.ts +7 -0
  152. package/lib/esm/tests/api_tests/form_vital_reading.test.d.ts.map +1 -0
  153. package/lib/esm/tests/api_tests/form_vital_reading.test.js +456 -0
  154. package/lib/esm/tests/api_tests/form_vital_reading.test.js.map +1 -0
  155. package/lib/esm/tests/api_tests/journey_statistics_cache.test.d.ts +26 -0
  156. package/lib/esm/tests/api_tests/journey_statistics_cache.test.d.ts.map +1 -0
  157. package/lib/esm/tests/api_tests/journey_statistics_cache.test.js +227 -0
  158. package/lib/esm/tests/api_tests/journey_statistics_cache.test.js.map +1 -0
  159. package/lib/esm/tests/api_tests/journey_step_manual_count.test.d.ts +34 -0
  160. package/lib/esm/tests/api_tests/journey_step_manual_count.test.d.ts.map +1 -0
  161. package/lib/esm/tests/api_tests/journey_step_manual_count.test.js +238 -0
  162. package/lib/esm/tests/api_tests/journey_step_manual_count.test.js.map +1 -0
  163. package/lib/esm/tests/api_tests/load_threads_care_team.test.d.ts +3 -1
  164. package/lib/esm/tests/api_tests/load_threads_care_team.test.d.ts.map +1 -1
  165. package/lib/esm/tests/api_tests/load_threads_care_team.test.js +2 -0
  166. package/lib/esm/tests/api_tests/load_threads_care_team.test.js.map +1 -1
  167. package/lib/esm/tests/api_tests/mdi_case_offerings.test.d.ts.map +1 -1
  168. package/lib/esm/tests/api_tests/mdi_case_offerings.test.js +139 -9
  169. package/lib/esm/tests/api_tests/mdi_case_offerings.test.js.map +1 -1
  170. package/lib/esm/tests/api_tests/organization_signup.test.d.ts +3 -1
  171. package/lib/esm/tests/api_tests/organization_signup.test.d.ts.map +1 -1
  172. package/lib/esm/tests/api_tests/organization_signup.test.js +2 -0
  173. package/lib/esm/tests/api_tests/organization_signup.test.js.map +1 -1
  174. package/lib/esm/tests/api_tests/phone_embed_leave_message.test.d.ts +7 -0
  175. package/lib/esm/tests/api_tests/phone_embed_leave_message.test.d.ts.map +1 -0
  176. package/lib/esm/tests/api_tests/phone_embed_leave_message.test.js +566 -0
  177. package/lib/esm/tests/api_tests/phone_embed_leave_message.test.js.map +1 -0
  178. package/lib/esm/tests/api_tests/programs.test.d.ts +3 -1
  179. package/lib/esm/tests/api_tests/programs.test.d.ts.map +1 -1
  180. package/lib/esm/tests/api_tests/programs.test.js +72 -16
  181. package/lib/esm/tests/api_tests/programs.test.js.map +1 -1
  182. package/lib/esm/tests/api_tests/public_form_case_insensitive_match.test.d.ts +7 -0
  183. package/lib/esm/tests/api_tests/public_form_case_insensitive_match.test.d.ts.map +1 -0
  184. package/lib/esm/tests/api_tests/public_form_case_insensitive_match.test.js +728 -0
  185. package/lib/esm/tests/api_tests/public_form_case_insensitive_match.test.js.map +1 -0
  186. package/lib/esm/tests/api_tests/security/add-to-journey-foreign-enduserid.test.d.ts +3 -1
  187. package/lib/esm/tests/api_tests/security/add-to-journey-foreign-enduserid.test.d.ts.map +1 -1
  188. package/lib/esm/tests/api_tests/security/add-to-journey-foreign-enduserid.test.js +57 -47
  189. package/lib/esm/tests/api_tests/security/add-to-journey-foreign-enduserid.test.js.map +1 -1
  190. package/lib/esm/tests/api_tests/security/appointment-reschedule-ownership.test.d.ts +3 -1
  191. package/lib/esm/tests/api_tests/security/appointment-reschedule-ownership.test.d.ts.map +1 -1
  192. package/lib/esm/tests/api_tests/security/appointment-reschedule-ownership.test.js +2 -0
  193. package/lib/esm/tests/api_tests/security/appointment-reschedule-ownership.test.js.map +1 -1
  194. package/lib/esm/tests/api_tests/security/file-link-session-confinement.test.d.ts +3 -1
  195. package/lib/esm/tests/api_tests/security/file-link-session-confinement.test.d.ts.map +1 -1
  196. package/lib/esm/tests/api_tests/security/file-link-session-confinement.test.js +2 -0
  197. package/lib/esm/tests/api_tests/security/file-link-session-confinement.test.js.map +1 -1
  198. package/lib/esm/tests/api_tests/security/form-logic-js-execution.test.d.ts +3 -1
  199. package/lib/esm/tests/api_tests/security/form-logic-js-execution.test.d.ts.map +1 -1
  200. package/lib/esm/tests/api_tests/security/form-logic-js-execution.test.js +2 -0
  201. package/lib/esm/tests/api_tests/security/form-logic-js-execution.test.js.map +1 -1
  202. package/lib/esm/tests/api_tests/security/formsort_webhook_auth_field_lock.test.d.ts.map +1 -1
  203. package/lib/esm/tests/api_tests/security/formsort_webhook_auth_field_lock.test.js +424 -39
  204. package/lib/esm/tests/api_tests/security/formsort_webhook_auth_field_lock.test.js.map +1 -1
  205. package/lib/esm/tests/api_tests/security/register_business_id_injection.test.js +2 -2
  206. package/lib/esm/tests/api_tests/security/register_business_id_injection.test.js.map +1 -1
  207. package/lib/esm/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.d.ts +3 -1
  208. package/lib/esm/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.d.ts.map +1 -1
  209. package/lib/esm/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.js +2 -0
  210. package/lib/esm/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.js.map +1 -1
  211. package/lib/esm/tests/api_tests/session_for_join_link.test.d.ts +10 -0
  212. package/lib/esm/tests/api_tests/session_for_join_link.test.d.ts.map +1 -0
  213. package/lib/esm/tests/api_tests/session_for_join_link.test.js +142 -0
  214. package/lib/esm/tests/api_tests/session_for_join_link.test.js.map +1 -0
  215. package/lib/esm/tests/api_tests/set_fields_order_templates.test.d.ts.map +1 -1
  216. package/lib/esm/tests/api_tests/set_fields_order_templates.test.js +191 -88
  217. package/lib/esm/tests/api_tests/set_fields_order_templates.test.js.map +1 -1
  218. package/lib/esm/tests/api_tests/stripe_checkout_items.test.d.ts +17 -0
  219. package/lib/esm/tests/api_tests/stripe_checkout_items.test.d.ts.map +1 -0
  220. package/lib/esm/tests/api_tests/stripe_checkout_items.test.js +214 -0
  221. package/lib/esm/tests/api_tests/stripe_checkout_items.test.js.map +1 -0
  222. package/lib/esm/tests/api_tests/stripe_multiple_customer_ids.test.d.ts +5 -0
  223. package/lib/esm/tests/api_tests/stripe_multiple_customer_ids.test.d.ts.map +1 -0
  224. package/lib/esm/tests/api_tests/stripe_multiple_customer_ids.test.js +388 -0
  225. package/lib/esm/tests/api_tests/stripe_multiple_customer_ids.test.js.map +1 -0
  226. package/lib/esm/tests/api_tests/tickets_bulk_assign_from_queue.test.d.ts +3 -1
  227. package/lib/esm/tests/api_tests/tickets_bulk_assign_from_queue.test.d.ts.map +1 -1
  228. package/lib/esm/tests/api_tests/tickets_bulk_assign_from_queue.test.js +2 -0
  229. package/lib/esm/tests/api_tests/tickets_bulk_assign_from_queue.test.js.map +1 -1
  230. package/lib/esm/tests/api_tests/totp_mfa.test.d.ts.map +1 -1
  231. package/lib/esm/tests/api_tests/totp_mfa.test.js +37 -31
  232. package/lib/esm/tests/api_tests/totp_mfa.test.js.map +1 -1
  233. package/lib/esm/tests/api_tests/trigger_contains_matching.test.d.ts +3 -1
  234. package/lib/esm/tests/api_tests/trigger_contains_matching.test.d.ts.map +1 -1
  235. package/lib/esm/tests/api_tests/trigger_contains_matching.test.js +2 -0
  236. package/lib/esm/tests/api_tests/trigger_contains_matching.test.js.map +1 -1
  237. package/lib/esm/tests/api_tests/user_logs_restore_deleted.test.d.ts +3 -1
  238. package/lib/esm/tests/api_tests/user_logs_restore_deleted.test.d.ts.map +1 -1
  239. package/lib/esm/tests/api_tests/user_logs_restore_deleted.test.js +2 -0
  240. package/lib/esm/tests/api_tests/user_logs_restore_deleted.test.js.map +1 -1
  241. package/lib/esm/tests/api_tests/vital_review_trigger_action.test.d.ts +3 -1
  242. package/lib/esm/tests/api_tests/vital_review_trigger_action.test.d.ts.map +1 -1
  243. package/lib/esm/tests/api_tests/vital_review_trigger_action.test.js +2 -0
  244. package/lib/esm/tests/api_tests/vital_review_trigger_action.test.js.map +1 -1
  245. package/lib/esm/tests/api_tests/vitl_push.test.d.ts +7 -0
  246. package/lib/esm/tests/api_tests/vitl_push.test.d.ts.map +1 -0
  247. package/lib/esm/tests/api_tests/vitl_push.test.js +333 -0
  248. package/lib/esm/tests/api_tests/vitl_push.test.js.map +1 -0
  249. package/lib/esm/tests/setup_isolated.d.ts +48 -0
  250. package/lib/esm/tests/setup_isolated.d.ts.map +1 -1
  251. package/lib/esm/tests/setup_isolated.js +114 -0
  252. package/lib/esm/tests/setup_isolated.js.map +1 -1
  253. package/lib/esm/tests/tests.d.ts.map +1 -1
  254. package/lib/esm/tests/tests.js +379 -283
  255. package/lib/esm/tests/tests.js.map +1 -1
  256. package/lib/esm/tests/unit_tests/isolated_suite_discovery.test.d.ts +2 -0
  257. package/lib/esm/tests/unit_tests/isolated_suite_discovery.test.d.ts.map +1 -0
  258. package/lib/esm/tests/unit_tests/isolated_suite_discovery.test.js +174 -0
  259. package/lib/esm/tests/unit_tests/isolated_suite_discovery.test.js.map +1 -0
  260. package/lib/esm/tests/unit_tests/programs_conditional_logic.test.d.ts +3 -0
  261. package/lib/esm/tests/unit_tests/programs_conditional_logic.test.d.ts.map +1 -0
  262. package/lib/esm/tests/unit_tests/programs_conditional_logic.test.js +117 -0
  263. package/lib/esm/tests/unit_tests/programs_conditional_logic.test.js.map +1 -0
  264. package/lib/esm/tests/webhooks_tests.js +44 -34
  265. package/lib/esm/tests/webhooks_tests.js.map +1 -1
  266. package/lib/tsconfig.tsbuildinfo +1 -1
  267. package/package.json +12 -11
  268. package/src/sdk.ts +9 -2
  269. package/src/tests/api_tests/booking_prevent_upcoming_duplicate.test.ts +541 -0
  270. package/src/tests/api_tests/enduser_fields_sync.test.ts +154 -0
  271. package/src/tests/api_tests/enduser_observations_auto_review.test.ts +4 -0
  272. package/src/tests/api_tests/form_vital_reading.test.ts +393 -0
  273. package/src/tests/api_tests/journey_statistics_cache.test.ts +237 -0
  274. package/src/tests/api_tests/journey_step_manual_count.test.ts +220 -0
  275. package/src/tests/api_tests/load_threads_care_team.test.ts +214 -0
  276. package/src/tests/api_tests/mdi_case_offerings.test.ts +138 -0
  277. package/src/tests/api_tests/organization_signup.test.ts +4 -0
  278. package/src/tests/api_tests/phone_embed_leave_message.test.ts +541 -0
  279. package/src/tests/api_tests/programs.test.ts +351 -0
  280. package/src/tests/api_tests/public_form_case_insensitive_match.test.ts +632 -0
  281. package/src/tests/api_tests/security/add-to-journey-foreign-enduserid.test.ts +37 -26
  282. package/src/tests/api_tests/security/appointment-reschedule-ownership.test.ts +436 -0
  283. package/src/tests/api_tests/security/file-link-session-confinement.test.ts +4 -0
  284. package/src/tests/api_tests/security/form-logic-js-execution.test.ts +4 -0
  285. package/src/tests/api_tests/security/formsort_webhook_auth_field_lock.test.ts +225 -0
  286. package/src/tests/api_tests/security/register_business_id_injection.test.ts +2 -2
  287. package/src/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.ts +4 -0
  288. package/src/tests/api_tests/session_for_join_link.test.ts +99 -0
  289. package/src/tests/api_tests/set_fields_order_templates.test.ts +94 -9
  290. package/src/tests/api_tests/stripe_checkout_items.test.ts +186 -0
  291. package/src/tests/api_tests/tickets_bulk_assign_from_queue.test.ts +4 -0
  292. package/src/tests/api_tests/totp_mfa.test.ts +10 -5
  293. package/src/tests/api_tests/trigger_contains_matching.test.ts +349 -0
  294. package/src/tests/api_tests/user_logs_restore_deleted.test.ts +419 -0
  295. package/src/tests/api_tests/vital_review_trigger_action.test.ts +455 -0
  296. package/src/tests/api_tests/vitl_push.test.ts +323 -0
  297. package/src/tests/setup_isolated.ts +140 -0
  298. package/src/tests/tests.ts +126 -20
  299. package/src/tests/unit_tests/isolated_suite_discovery.test.ts +178 -0
  300. package/src/tests/unit_tests/programs_conditional_logic.test.ts +189 -0
  301. package/src/tests/unit_tests/trigger_title_partials.test.ts +174 -0
  302. package/src/tests/webhooks_tests.ts +6 -1
  303. package/test_generated.pdf +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"enduser_observations_auto_review.test.js","sourceRoot":"","sources":["../../../../src/tests/api_tests/enduser_observations_auto_review.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"enduser_observations_auto_review.test.js","sourceRoot":"","sources":["../../../../src/tests/api_tests/enduser_observations_auto_review.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Check, IsolatedSuite } from "../setup_isolated";
2
+ export declare const form_vital_reading_checks: () => Promise<Check[]>;
3
+ /** Asserting wrapper, for standalone runs and for sequential use in the suite. */
4
+ export declare const form_vital_reading_tests: () => Promise<void>;
5
+ /** Enrolls this suite in the auto-discovered parallel pool — see run_discovered_isolated_suites. */
6
+ export declare const ISOLATED_SUITE: IsolatedSuite;
7
+ //# sourceMappingURL=form_vital_reading.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form_vital_reading.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/api_tests/form_vital_reading.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,EAEL,aAAa,EACd,MAAM,mBAAmB,CAAA;AAoC1B,eAAO,MAAM,yBAAyB,QAAa,QAAQ,KAAK,EAAE,CAuUjE,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,wBAAwB,qBAEpC,CAAA;AAED,oGAAoG;AACpG,eAAO,MAAM,cAAc,EAAE,aAAwF,CAAA"}
@@ -0,0 +1,456 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ var __generator = (this && this.__generator) || function (thisArg, body) {
11
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
12
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
13
+ function verb(n) { return function (v) { return step([n, v]); }; }
14
+ function step(op) {
15
+ if (f) throw new TypeError("Generator is already executing.");
16
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
17
+ 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;
18
+ if (y = 0, t) op = [op[0] & 2, t.value];
19
+ switch (op[0]) {
20
+ case 0: case 1: t = op; break;
21
+ case 4: _.label++; return { value: op[1], done: false };
22
+ case 5: _.label++; y = op[1]; op = [0]; continue;
23
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
24
+ default:
25
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
26
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
27
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
28
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
29
+ if (t[2]) _.ops.pop();
30
+ _.trys.pop(); continue;
31
+ }
32
+ op = body.call(thisArg, _);
33
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
34
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
35
+ }
36
+ };
37
+ require('source-map-support').install();
38
+ import { assert_checks, setup_isolated_tenant, } from "../setup_isolated";
39
+ var host = process.env.API_URL || 'http://localhost:8080';
40
+ var RAND = function () { return Math.random().toString(36).slice(2, 10); };
41
+ var FORM_VITAL_READING_SOURCE = 'tellescope-form';
42
+ /**
43
+ * Coverage for the per-question opt-in that turns a numeric form answer into an
44
+ * `enduser_observations` vital reading on submission — `form_fields.options.vitalUnit`, consumed by
45
+ * `create_vital_readings_for_form_response` in api/modules/forms.ts.
46
+ *
47
+ * The point of the feature is that weight (and the other VITAL_UNITS) collected in a form charts
48
+ * beside device, portal and manually entered readings. The point of the opt-in being per FIELD is
49
+ * that nothing changes for an existing org or form until an admin configures a question — which is
50
+ * why the "no opt-in configured" check below is as load-bearing as the positive ones.
51
+ *
52
+ * Provisions its own throwaway tenant: readings are read back by enduser, and `handle_vital_create`
53
+ * reads business-wide vital_configurations, so a shared tenant would let concurrently running suites
54
+ * see each other's observations. Never calls `sdk.reset_db()`.
55
+ *
56
+ * Readings are created as an asynchronous side effect of the submission (fire-and-forget, so that a
57
+ * reading can never delay or fail a patient's submit), so every read polls — and every NEGATIVE
58
+ * check polls too, with a barrier that proves the submission's side effects have run.
59
+ */
60
+ var poll_for = function (get, done, attempts) {
61
+ if (attempts === void 0) { attempts = 20; }
62
+ return __awaiter(void 0, void 0, void 0, function () {
63
+ var value, i;
64
+ return __generator(this, function (_a) {
65
+ switch (_a.label) {
66
+ case 0: return [4 /*yield*/, get()];
67
+ case 1:
68
+ value = _a.sent();
69
+ i = 0;
70
+ _a.label = 2;
71
+ case 2:
72
+ if (!(i < attempts && !done(value))) return [3 /*break*/, 6];
73
+ return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, 250); })];
74
+ case 3:
75
+ _a.sent();
76
+ return [4 /*yield*/, get()];
77
+ case 4:
78
+ value = _a.sent();
79
+ _a.label = 5;
80
+ case 5:
81
+ i++;
82
+ return [3 /*break*/, 2];
83
+ case 6: return [2 /*return*/, value];
84
+ }
85
+ });
86
+ });
87
+ };
88
+ export var form_vital_reading_checks = function () { return __awaiter(void 0, void 0, void 0, function () {
89
+ var checks, record, tenant, sdk_1, observations_for_1, form, weightField, plainField, enduser_1, prepared, submittedAt, readings, reading, plainForm, plainOnlyField, plainEnduser_1, plainPrepared_1, plainReadings, skipEnduser_1, skipPrepared_1, submitError, err_1, skipReadings, badEnduser_1, badPrepared, badError, err_2, badReadings, bpForm, sbpField, dbpField, bpEnduser_1, bpPrepared, bpReadings, sbp, dbp, quietEnduser_1, quietPrepared, quietReadings, partialEnduser_1, partialPrepared_1, partialReadings, clearedForm, clearedField, storedCleared, clearedEnduser_1, clearedPrepared_1, clearedReadings, e_1;
90
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
91
+ return __generator(this, function (_l) {
92
+ switch (_l.label) {
93
+ case 0:
94
+ checks = [];
95
+ record = function (label, pass, detail) { return checks.push({ label: label, pass: pass, detail: detail }); };
96
+ _l.label = 1;
97
+ case 1:
98
+ _l.trys.push([1, , 58, 63]);
99
+ return [4 /*yield*/, setup_isolated_tenant({
100
+ name: "FormVitals ".concat(RAND()),
101
+ users: [{ isAdmin: true }],
102
+ apiKeys: 0,
103
+ })];
104
+ case 2:
105
+ tenant = _l.sent();
106
+ sdk_1 = tenant.sdk;
107
+ observations_for_1 = function (enduserId) { return (sdk_1.api.enduser_observations.getSome({ filter: { enduserId: enduserId } })); };
108
+ return [4 /*yield*/, sdk_1.api.forms.createOne({ title: "Vitals intake ".concat(RAND()) })];
109
+ case 3:
110
+ form = _l.sent();
111
+ return [4 /*yield*/, sdk_1.api.form_fields.createOne({
112
+ formId: form.id,
113
+ title: 'Weight (lbs)',
114
+ type: 'number',
115
+ options: { vitalUnit: 'LB' },
116
+ previousFields: [{ type: 'root', info: {} }],
117
+ })
118
+ // a second question with NO vitalUnit, to prove the opt-in is per field and not per form
119
+ ];
120
+ case 4:
121
+ weightField = _l.sent();
122
+ return [4 /*yield*/, sdk_1.api.form_fields.createOne({
123
+ formId: form.id,
124
+ title: 'How many glasses of water?',
125
+ type: 'number',
126
+ previousFields: [{ type: 'after', info: { fieldId: weightField.id } }],
127
+ })];
128
+ case 5:
129
+ plainField = _l.sent();
130
+ return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'Form', lname: 'Vitals' })];
131
+ case 6:
132
+ enduser_1 = _l.sent();
133
+ return [4 /*yield*/, sdk_1.api.form_responses.prepare_form_response({
134
+ formId: form.id, enduserId: enduser_1.id,
135
+ })];
136
+ case 7:
137
+ prepared = _l.sent();
138
+ submittedAt = new Date();
139
+ return [4 /*yield*/, sdk_1.api.form_responses.submit_form_response({
140
+ accessCode: prepared.accessCode,
141
+ responses: [
142
+ { fieldId: weightField.id, fieldTitle: weightField.title, answer: { type: 'number', value: 185 } },
143
+ { fieldId: plainField.id, fieldTitle: plainField.title, answer: { type: 'number', value: 8 } },
144
+ ],
145
+ })];
146
+ case 8:
147
+ _l.sent();
148
+ return [4 /*yield*/, poll_for(function () { return observations_for_1(enduser_1.id); }, function (o) { return o.length >= 1; })];
149
+ case 9:
150
+ readings = _l.sent();
151
+ record('A1: exactly one reading is created — the opt-in is per field, not per form', readings.length === 1, "created ".concat(readings.length, ": ").concat(JSON.stringify(readings.map(function (r) { return r.measurement; })))
152
+ + " \u2014 the second Number question has no vitalUnit and must contribute nothing");
153
+ reading = readings[0];
154
+ record('A2: the reading carries the answer value in the configured unit', ((_a = reading === null || reading === void 0 ? void 0 : reading.measurement) === null || _a === void 0 ? void 0 : _a.value) === 185 && ((_b = reading === null || reading === void 0 ? void 0 : reading.measurement) === null || _b === void 0 ? void 0 : _b.unit) === 'LB', "measurement=".concat(JSON.stringify(reading === null || reading === void 0 ? void 0 : reading.measurement), " (want { value: 185, unit: 'LB' })"));
155
+ record('A3: source marks it as form-collected', (reading === null || reading === void 0 ? void 0 : reading.source) === FORM_VITAL_READING_SOURCE, "source=".concat(JSON.stringify(reading === null || reading === void 0 ? void 0 : reading.source), " (want ").concat(JSON.stringify(FORM_VITAL_READING_SOURCE), ")")
156
+ + " \u2014 the webapp Vitals table renders an unlisted source as \"Source: <source>\"");
157
+ record('A4: it is a final vital-signs observation, like any other charted reading', (reading === null || reading === void 0 ? void 0 : reading.category) === 'vital-signs' && (reading === null || reading === void 0 ? void 0 : reading.status) === 'final', "category=".concat(JSON.stringify(reading === null || reading === void 0 ? void 0 : reading.category), " status=").concat(JSON.stringify(reading === null || reading === void 0 ? void 0 : reading.status)));
158
+ record('A5: timestamp and recordedAt are the submission time', (!!(reading === null || reading === void 0 ? void 0 : reading.timestamp) && !!(reading === null || reading === void 0 ? void 0 : reading.recordedAt)
159
+ && new Date(reading.recordedAt).getTime() === new Date(reading.timestamp).getTime()
160
+ && Math.abs(new Date(reading.timestamp).getTime() - submittedAt.getTime()) < 1000 * 60 * 5), "timestamp=".concat(JSON.stringify(reading === null || reading === void 0 ? void 0 : reading.timestamp), " recordedAt=").concat(JSON.stringify(reading === null || reading === void 0 ? void 0 : reading.recordedAt))
161
+ + " (want both ~= the submission at ".concat(submittedAt.toISOString(), ")"));
162
+ record('A6: externalId links the reading back to <formResponseId>:<fieldId>', (reading === null || reading === void 0 ? void 0 : reading.externalId) === "".concat(prepared.response.id, ":").concat(weightField.id), "externalId=".concat(JSON.stringify(reading === null || reading === void 0 ? void 0 : reading.externalId))
163
+ + " (want ".concat(JSON.stringify("".concat(prepared.response.id, ":").concat(weightField.id)), ")"));
164
+ record('A7: vital triggers are left enabled for an ordinary enduser', (reading === null || reading === void 0 ? void 0 : reading.dontTrigger) !== true, "dontTrigger=".concat(JSON.stringify(reading === null || reading === void 0 ? void 0 : reading.dontTrigger), " (want not true, so Vital Update triggers fire)"));
165
+ return [4 /*yield*/, sdk_1.api.forms.createOne({ title: "No vitals ".concat(RAND()) })];
166
+ case 10:
167
+ plainForm = _l.sent();
168
+ return [4 /*yield*/, sdk_1.api.form_fields.createOne({
169
+ formId: plainForm.id,
170
+ title: 'Current weight',
171
+ type: 'number',
172
+ previousFields: [{ type: 'root', info: {} }],
173
+ })];
174
+ case 11:
175
+ plainOnlyField = _l.sent();
176
+ return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'NoOptIn', lname: 'Patient' })];
177
+ case 12:
178
+ plainEnduser_1 = _l.sent();
179
+ return [4 /*yield*/, sdk_1.api.form_responses.prepare_form_response({
180
+ formId: plainForm.id, enduserId: plainEnduser_1.id,
181
+ })];
182
+ case 13:
183
+ plainPrepared_1 = _l.sent();
184
+ return [4 /*yield*/, sdk_1.api.form_responses.submit_form_response({
185
+ accessCode: plainPrepared_1.accessCode,
186
+ responses: [
187
+ { fieldId: plainOnlyField.id, fieldTitle: plainOnlyField.title, answer: { type: 'number', value: 200 } },
188
+ ],
189
+ })
190
+ // barrier: the submission completed, so its side effects have had their chance
191
+ ];
192
+ case 14:
193
+ _l.sent();
194
+ // barrier: the submission completed, so its side effects have had their chance
195
+ return [4 /*yield*/, poll_for(function () { return sdk_1.api.form_responses.getOne(plainPrepared_1.response.id); }, function (r) { return !!r.submittedAt; })];
196
+ case 15:
197
+ // barrier: the submission completed, so its side effects have had their chance
198
+ _l.sent();
199
+ return [4 /*yield*/, poll_for(function () { return observations_for_1(plainEnduser_1.id); }, function (o) { return o.length > 0; }, 8)];
200
+ case 16:
201
+ plainReadings = _l.sent();
202
+ record('C1: a Number question with no vitalUnit creates no reading', plainReadings.length === 0, "created ".concat(plainReadings.length, ": ").concat(JSON.stringify(plainReadings.map(function (r) { return r.measurement; })))
203
+ + " \u2014 this is what keeps every existing org and form unchanged");
204
+ return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'Skipped', lname: 'Answers' })];
205
+ case 17:
206
+ skipEnduser_1 = _l.sent();
207
+ return [4 /*yield*/, sdk_1.api.form_responses.prepare_form_response({
208
+ formId: form.id, enduserId: skipEnduser_1.id,
209
+ })];
210
+ case 18:
211
+ skipPrepared_1 = _l.sent();
212
+ submitError = undefined;
213
+ _l.label = 19;
214
+ case 19:
215
+ _l.trys.push([19, 21, , 22]);
216
+ return [4 /*yield*/, sdk_1.api.form_responses.submit_form_response({
217
+ accessCode: skipPrepared_1.accessCode,
218
+ responses: [
219
+ // a blank answer for the opted-in question
220
+ { fieldId: weightField.id, fieldTitle: weightField.title, answer: { type: 'number', value: '' } },
221
+ { fieldId: plainField.id, fieldTitle: plainField.title, answer: { type: 'number', value: 8 } },
222
+ ],
223
+ })];
224
+ case 20:
225
+ _l.sent();
226
+ return [3 /*break*/, 22];
227
+ case 21:
228
+ err_1 = _l.sent();
229
+ submitError = err_1;
230
+ return [3 /*break*/, 22];
231
+ case 22:
232
+ record('D1: a blank answer does not fail the submission', submitError === undefined, "error=".concat(submitError ? (submitError.message || JSON.stringify(submitError)) : 'none')
233
+ + " \u2014 a patient must never see an error because of a vital reading");
234
+ if (!(submitError === undefined)) return [3 /*break*/, 25];
235
+ return [4 /*yield*/, poll_for(function () { return sdk_1.api.form_responses.getOne(skipPrepared_1.response.id); }, function (r) { return !!r.submittedAt; })];
236
+ case 23:
237
+ _l.sent();
238
+ return [4 /*yield*/, poll_for(function () { return observations_for_1(skipEnduser_1.id); }, function (o) { return o.length > 0; }, 8)];
239
+ case 24:
240
+ skipReadings = _l.sent();
241
+ record('D2: a blank answer creates no reading', skipReadings.length === 0, "created ".concat(skipReadings.length, ": ").concat(JSON.stringify(skipReadings.map(function (r) { return r.measurement; }))));
242
+ _l.label = 25;
243
+ case 25: return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'NonNumeric', lname: 'Answer' })];
244
+ case 26:
245
+ badEnduser_1 = _l.sent();
246
+ return [4 /*yield*/, sdk_1.api.form_responses.prepare_form_response({
247
+ formId: form.id, enduserId: badEnduser_1.id,
248
+ })];
249
+ case 27:
250
+ badPrepared = _l.sent();
251
+ badError = undefined;
252
+ _l.label = 28;
253
+ case 28:
254
+ _l.trys.push([28, 30, , 31]);
255
+ return [4 /*yield*/, sdk_1.api.form_responses.submit_form_response({
256
+ accessCode: badPrepared.accessCode,
257
+ responses: [
258
+ { fieldId: weightField.id, fieldTitle: weightField.title, answer: { type: 'number', value: 'one hundred' } },
259
+ ],
260
+ })];
261
+ case 29:
262
+ _l.sent();
263
+ return [3 /*break*/, 31];
264
+ case 30:
265
+ err_2 = _l.sent();
266
+ badError = err_2;
267
+ return [3 /*break*/, 31];
268
+ case 31: return [4 /*yield*/, poll_for(function () { return observations_for_1(badEnduser_1.id); }, function (o) { return o.length > 0; }, 8)];
269
+ case 32:
270
+ badReadings = _l.sent();
271
+ record('D3: a non-numeric answer on a Number question is rejected and creates no reading',
272
+ // assert the rejection too, so this check starts failing if numberValidator ever stops
273
+ // rejecting and the answer begins reaching create_vital_readings_for_form_response for real
274
+ !!badError && badReadings.length === 0, "submit ".concat(badError ? "rejected (".concat(badError.message || JSON.stringify(badError), ")") : 'ACCEPTED', ";")
275
+ + " ".concat(badReadings.length, " reading(s) \u2014 rejection happens in numberValidator, before this feature"));
276
+ return [4 /*yield*/, sdk_1.api.forms.createOne({ title: "Blood pressure ".concat(RAND()) })];
277
+ case 33:
278
+ bpForm = _l.sent();
279
+ return [4 /*yield*/, sdk_1.api.form_fields.createOne({
280
+ formId: bpForm.id, title: 'Systolic', type: 'number',
281
+ options: { vitalUnit: 'SBP' },
282
+ previousFields: [{ type: 'root', info: {} }],
283
+ })];
284
+ case 34:
285
+ sbpField = _l.sent();
286
+ return [4 /*yield*/, sdk_1.api.form_fields.createOne({
287
+ formId: bpForm.id, title: 'Diastolic', type: 'number',
288
+ options: { vitalUnit: 'DBP' },
289
+ previousFields: [{ type: 'after', info: { fieldId: sbpField.id } }],
290
+ })];
291
+ case 35:
292
+ dbpField = _l.sent();
293
+ return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'Blood', lname: 'Pressure' })];
294
+ case 36:
295
+ bpEnduser_1 = _l.sent();
296
+ return [4 /*yield*/, sdk_1.api.form_responses.prepare_form_response({
297
+ formId: bpForm.id, enduserId: bpEnduser_1.id,
298
+ })];
299
+ case 37:
300
+ bpPrepared = _l.sent();
301
+ return [4 /*yield*/, sdk_1.api.form_responses.submit_form_response({
302
+ accessCode: bpPrepared.accessCode,
303
+ responses: [
304
+ { fieldId: sbpField.id, fieldTitle: sbpField.title, answer: { type: 'number', value: 128 } },
305
+ { fieldId: dbpField.id, fieldTitle: dbpField.title, answer: { type: 'number', value: 82 } },
306
+ ],
307
+ })];
308
+ case 38:
309
+ _l.sent();
310
+ return [4 /*yield*/, poll_for(function () { return observations_for_1(bpEnduser_1.id); }, function (o) { return o.length >= 2; })];
311
+ case 39:
312
+ bpReadings = _l.sent();
313
+ sbp = bpReadings.find(function (r) { var _a; return ((_a = r.measurement) === null || _a === void 0 ? void 0 : _a.unit) === 'SBP'; });
314
+ dbp = bpReadings.find(function (r) { var _a; return ((_a = r.measurement) === null || _a === void 0 ? void 0 : _a.unit) === 'DBP'; });
315
+ record('E1: two opted-in questions produce one reading each, in their own units', bpReadings.length === 2 && ((_c = sbp === null || sbp === void 0 ? void 0 : sbp.measurement) === null || _c === void 0 ? void 0 : _c.value) === 128 && ((_d = dbp === null || dbp === void 0 ? void 0 : dbp.measurement) === null || _d === void 0 ? void 0 : _d.value) === 82, "readings=".concat(JSON.stringify(bpReadings.map(function (r) { return r.measurement; })), " (want SBP 128 and DBP 82)"));
316
+ return [4 /*yield*/, sdk_1.api.endusers.createOne({
317
+ fname: 'Quiet', lname: 'Triggers', vitalTriggersDisabled: true,
318
+ })];
319
+ case 40:
320
+ quietEnduser_1 = _l.sent();
321
+ return [4 /*yield*/, sdk_1.api.form_responses.prepare_form_response({
322
+ formId: form.id, enduserId: quietEnduser_1.id,
323
+ })];
324
+ case 41:
325
+ quietPrepared = _l.sent();
326
+ return [4 /*yield*/, sdk_1.api.form_responses.submit_form_response({
327
+ accessCode: quietPrepared.accessCode,
328
+ responses: [
329
+ { fieldId: weightField.id, fieldTitle: weightField.title, answer: { type: 'number', value: 210 } },
330
+ ],
331
+ })];
332
+ case 42:
333
+ _l.sent();
334
+ return [4 /*yield*/, poll_for(function () { return observations_for_1(quietEnduser_1.id); }, function (o) { return o.length >= 1; })];
335
+ case 43:
336
+ quietReadings = _l.sent();
337
+ record('F1: the reading is still created and charted for a triggers-disabled enduser', quietReadings.length === 1 && ((_f = (_e = quietReadings[0]) === null || _e === void 0 ? void 0 : _e.measurement) === null || _f === void 0 ? void 0 : _f.value) === 210, "readings=".concat(JSON.stringify(quietReadings.map(function (r) { return r.measurement; })), " (want one, 210 LB)"));
338
+ record('F2: but it is marked dontTrigger, so no Vital Update automation fires', ((_g = quietReadings[0]) === null || _g === void 0 ? void 0 : _g.dontTrigger) === true, "dontTrigger=".concat(JSON.stringify((_h = quietReadings[0]) === null || _h === void 0 ? void 0 : _h.dontTrigger), " (want true, as smartmeter.ts does)"));
339
+ return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'Partial', lname: 'Save' })];
340
+ case 44:
341
+ partialEnduser_1 = _l.sent();
342
+ return [4 /*yield*/, sdk_1.api.form_responses.prepare_form_response({
343
+ formId: form.id, enduserId: partialEnduser_1.id,
344
+ })];
345
+ case 45:
346
+ partialPrepared_1 = _l.sent();
347
+ return [4 /*yield*/, sdk_1.api.form_responses.save_field_response({
348
+ accessCode: partialPrepared_1.accessCode,
349
+ response: { fieldId: weightField.id, fieldTitle: weightField.title, answer: { type: 'number', value: 175 } },
350
+ })
351
+ // barrier: the draft answer is persisted, so anything the save path triggers has had its chance
352
+ ];
353
+ case 46:
354
+ _l.sent();
355
+ // barrier: the draft answer is persisted, so anything the save path triggers has had its chance
356
+ return [4 /*yield*/, poll_for(function () { return sdk_1.api.form_responses.getOne(partialPrepared_1.response.id); }, function (r) { return !!(r.responses || []).length; })];
357
+ case 47:
358
+ // barrier: the draft answer is persisted, so anything the save path triggers has had its chance
359
+ _l.sent();
360
+ return [4 /*yield*/, poll_for(function () { return observations_for_1(partialEnduser_1.id); }, function (o) { return o.length > 0; }, 8)];
361
+ case 48:
362
+ partialReadings = _l.sent();
363
+ record('G1: a partial save creates no reading before the response is submitted', partialReadings.length === 0, "created ".concat(partialReadings.length, ": ").concat(JSON.stringify(partialReadings.map(function (r) { return r.measurement; })))
364
+ + " \u2014 readings are a final-submission side effect only");
365
+ return [4 /*yield*/, sdk_1.api.forms.createOne({ title: "Cleared unit ".concat(RAND()) })];
366
+ case 49:
367
+ clearedForm = _l.sent();
368
+ return [4 /*yield*/, sdk_1.api.form_fields.createOne({
369
+ formId: clearedForm.id, title: 'Weight (lbs)', type: 'number',
370
+ options: { vitalUnit: 'LB' },
371
+ previousFields: [{ type: 'root', info: {} }],
372
+ })];
373
+ case 50:
374
+ clearedField = _l.sent();
375
+ return [4 /*yield*/, sdk_1.api.form_fields.updateOne(clearedField.id, { options: { vitalUnit: '' } })];
376
+ case 51:
377
+ _l.sent();
378
+ return [4 /*yield*/, sdk_1.api.form_fields.getOne(clearedField.id)];
379
+ case 52:
380
+ storedCleared = _l.sent();
381
+ record("H1: clearing the unit persists as '', it is not dropped back to the old value", ((_j = storedCleared.options) === null || _j === void 0 ? void 0 : _j.vitalUnit) === '', "stored vitalUnit=".concat(JSON.stringify((_k = storedCleared.options) === null || _k === void 0 ? void 0 : _k.vitalUnit), " (want '')")
382
+ + " \u2014 stringValidatorOptionalEmptyOkay is what lets the empty round-trip");
383
+ return [4 /*yield*/, sdk_1.api.endusers.createOne({ fname: 'Cleared', lname: 'OptIn' })];
384
+ case 53:
385
+ clearedEnduser_1 = _l.sent();
386
+ return [4 /*yield*/, sdk_1.api.form_responses.prepare_form_response({
387
+ formId: clearedForm.id, enduserId: clearedEnduser_1.id,
388
+ })];
389
+ case 54:
390
+ clearedPrepared_1 = _l.sent();
391
+ return [4 /*yield*/, sdk_1.api.form_responses.submit_form_response({
392
+ accessCode: clearedPrepared_1.accessCode,
393
+ responses: [
394
+ { fieldId: clearedField.id, fieldTitle: clearedField.title, answer: { type: 'number', value: 199 } },
395
+ ],
396
+ })];
397
+ case 55:
398
+ _l.sent();
399
+ return [4 /*yield*/, poll_for(function () { return sdk_1.api.form_responses.getOne(clearedPrepared_1.response.id); }, function (r) { return !!r.submittedAt; })];
400
+ case 56:
401
+ _l.sent();
402
+ return [4 /*yield*/, poll_for(function () { return observations_for_1(clearedEnduser_1.id); }, function (o) { return o.length > 0; }, 8)];
403
+ case 57:
404
+ clearedReadings = _l.sent();
405
+ record('H2: a question whose unit was cleared creates no reading', clearedReadings.length === 0, "created ".concat(clearedReadings.length, ": ").concat(JSON.stringify(clearedReadings.map(function (r) { return r.measurement; })))
406
+ + " \u2014 the field query treats '' as off, same as an absent vitalUnit");
407
+ return [3 /*break*/, 63];
408
+ case 58:
409
+ if (!tenant) return [3 /*break*/, 62];
410
+ _l.label = 59;
411
+ case 59:
412
+ _l.trys.push([59, 61, , 62]);
413
+ return [4 /*yield*/, tenant.teardown()];
414
+ case 60:
415
+ _l.sent();
416
+ return [3 /*break*/, 62];
417
+ case 61:
418
+ e_1 = _l.sent();
419
+ console.error('teardown failed', e_1);
420
+ return [3 /*break*/, 62];
421
+ case 62: return [7 /*endfinally*/];
422
+ case 63: return [2 /*return*/, checks];
423
+ }
424
+ });
425
+ }); };
426
+ /** Asserting wrapper, for standalone runs and for sequential use in the suite. */
427
+ export var form_vital_reading_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
428
+ var _a, _b;
429
+ return __generator(this, function (_c) {
430
+ switch (_c.label) {
431
+ case 0:
432
+ _a = assert_checks;
433
+ _b = ['Vitals from form submissions'];
434
+ return [4 /*yield*/, form_vital_reading_checks()];
435
+ case 1:
436
+ _a.apply(void 0, _b.concat([_c.sent()]));
437
+ return [2 /*return*/];
438
+ }
439
+ });
440
+ }); };
441
+ /** Enrolls this suite in the auto-discovered parallel pool — see run_discovered_isolated_suites. */
442
+ export var ISOLATED_SUITE = { name: 'Vitals from form submissions', run: form_vital_reading_checks };
443
+ // Allow running this test file independently
444
+ if (require.main === module) {
445
+ console.log("\uD83C\uDF10 Using API URL: ".concat(host));
446
+ form_vital_reading_tests()
447
+ .then(function () {
448
+ console.log("✅ Vitals from form submissions test suite completed successfully");
449
+ process.exit(0);
450
+ })
451
+ .catch(function (error) {
452
+ console.error("❌ Vitals from form submissions test suite failed:", error);
453
+ process.exit(1);
454
+ });
455
+ }
456
+ //# sourceMappingURL=form_vital_reading.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form_vital_reading.test.js","sourceRoot":"","sources":["../../../../src/tests/api_tests/form_vital_reading.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { Check, IsolatedSuite } from "../setup_isolated";
2
+ /**
3
+ * Coverage for the caching added to GET /v1/journeys/statistics.
4
+ *
5
+ * The aggregation behind this endpoint runs past the proxy's 30s socket timeout on large tenants,
6
+ * so the handler now stores each complete result in the `cache` collection and can serve it back
7
+ * without aggregating (`cachedOnly: true`). The editor paints the stored blob on mount and decides
8
+ * for itself when to rebuild.
9
+ *
10
+ * `setup_isolated` rather than the shared fixture because these checks assert on the COMPLETE
11
+ * per-step counts of a journey — on the shared org, other journey suites leave automated_actions
12
+ * behind and every "exactly these counts" assertion would be flaky. It also gives each run its own
13
+ * businessId, which is what the cache key is scoped by.
14
+ *
15
+ * automated_actions are created directly rather than by driving a real journey: the counts are what
16
+ * is under test, and seeding them makes the expected numbers exact and the test fast.
17
+ *
18
+ * The >30s path itself is not automatable here — it needs a tenant whose aggregation genuinely
19
+ * exceeds the proxy timeout. What IS covered is the contract the fix rests on: a non-cachedOnly
20
+ * call stores a blob, and a later cachedOnly call returns that same blob without recomputing.
21
+ */
22
+ export declare const journey_statistics_cache_checks: () => Promise<Check[]>;
23
+ export declare const journey_statistics_cache_tests: () => Promise<void>;
24
+ /** Enrolls this suite in the auto-discovered parallel pool — see run_discovered_isolated_suites. */
25
+ export declare const ISOLATED_SUITE: IsolatedSuite;
26
+ //# sourceMappingURL=journey_statistics_cache.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"journey_statistics_cache.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/api_tests/journey_statistics_cache.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,EAEL,aAAa,EACd,MAAM,mBAAmB,CAAA;AAI1B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,+BAA+B,QAAa,QAAQ,KAAK,EAAE,CAuLvE,CAAA;AAED,eAAO,MAAM,8BAA8B,qBAE1C,CAAA;AAED,oGAAoG;AACpG,eAAO,MAAM,cAAc,EAAE,aAA0F,CAAA"}