@tellescope/sdk 1.256.15 → 2.0.0-beta.0

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 (299) hide show
  1. package/CLAUDE.md +5 -0
  2. package/env.example +39 -0
  3. package/lib/cjs/enduser.d.ts +1 -0
  4. package/lib/cjs/enduser.d.ts.map +1 -1
  5. package/lib/cjs/sdk.d.ts +5 -3
  6. package/lib/cjs/sdk.d.ts.map +1 -1
  7. package/lib/cjs/sdk.js +1 -0
  8. package/lib/cjs/sdk.js.map +1 -1
  9. package/lib/cjs/session.d.ts +1 -0
  10. package/lib/cjs/session.d.ts.map +1 -1
  11. package/lib/cjs/tests/api_tests/active_patient_count.test.js +1 -1
  12. package/lib/cjs/tests/api_tests/active_patient_count.test.js.map +1 -1
  13. package/lib/cjs/tests/api_tests/appointment_rescheduled_trigger.test.js +1 -1
  14. package/lib/cjs/tests/api_tests/appointment_rescheduled_trigger.test.js.map +1 -1
  15. package/lib/cjs/tests/api_tests/calendar_event_limits.test.js +5 -5
  16. package/lib/cjs/tests/api_tests/calendar_event_limits.test.js.map +1 -1
  17. package/lib/cjs/tests/api_tests/calendar_event_references_update.test.js +1 -1
  18. package/lib/cjs/tests/api_tests/calendar_event_references_update.test.js.map +1 -1
  19. package/lib/cjs/tests/api_tests/enduser_cross_access_isolation.test.js +1 -1
  20. package/lib/cjs/tests/api_tests/enduser_cross_access_isolation.test.js.map +1 -1
  21. package/lib/cjs/tests/api_tests/enduser_fields_sync.test.d.ts +21 -0
  22. package/lib/cjs/tests/api_tests/enduser_fields_sync.test.d.ts.map +1 -0
  23. package/lib/cjs/tests/api_tests/enduser_fields_sync.test.js +215 -0
  24. package/lib/cjs/tests/api_tests/enduser_fields_sync.test.js.map +1 -0
  25. package/lib/cjs/tests/api_tests/enduser_login_rate_limits.test.js +6 -6
  26. package/lib/cjs/tests/api_tests/enduser_login_rate_limits.test.js.map +1 -1
  27. package/lib/cjs/tests/api_tests/enduser_session_invalidation.test.js +3 -3
  28. package/lib/cjs/tests/api_tests/enduser_session_invalidation.test.js.map +1 -1
  29. package/lib/cjs/tests/api_tests/load_threads_care_team.test.d.ts +32 -0
  30. package/lib/cjs/tests/api_tests/load_threads_care_team.test.d.ts.map +1 -0
  31. package/lib/cjs/tests/api_tests/load_threads_care_team.test.js +257 -0
  32. package/lib/cjs/tests/api_tests/load_threads_care_team.test.js.map +1 -0
  33. package/lib/cjs/tests/api_tests/managed_content_enduser_access.test.js +1 -1
  34. package/lib/cjs/tests/api_tests/managed_content_enduser_access.test.js.map +1 -1
  35. package/lib/cjs/tests/api_tests/managed_content_file_access.test.js +1 -1
  36. package/lib/cjs/tests/api_tests/managed_content_file_access.test.js.map +1 -1
  37. package/lib/cjs/tests/api_tests/mdi_webhooks.test.d.ts.map +1 -1
  38. package/lib/cjs/tests/api_tests/mdi_webhooks.test.js +21 -8
  39. package/lib/cjs/tests/api_tests/mdi_webhooks.test.js.map +1 -1
  40. package/lib/cjs/tests/api_tests/nutrition_tracking.test.js +1 -1
  41. package/lib/cjs/tests/api_tests/nutrition_tracking.test.js.map +1 -1
  42. package/lib/cjs/tests/api_tests/openloop_webhooks.test.js +1 -1
  43. package/lib/cjs/tests/api_tests/openloop_webhooks.test.js.map +1 -1
  44. package/lib/cjs/tests/api_tests/programs.test.d.ts +5 -0
  45. package/lib/cjs/tests/api_tests/programs.test.d.ts.map +1 -0
  46. package/lib/cjs/tests/api_tests/programs.test.js +370 -0
  47. package/lib/cjs/tests/api_tests/programs.test.js.map +1 -0
  48. package/lib/cjs/tests/api_tests/programs_trigger_filters.test.d.ts +5 -0
  49. package/lib/cjs/tests/api_tests/programs_trigger_filters.test.d.ts.map +1 -0
  50. package/lib/cjs/tests/api_tests/programs_trigger_filters.test.js +295 -0
  51. package/lib/cjs/tests/api_tests/programs_trigger_filters.test.js.map +1 -0
  52. package/lib/cjs/tests/api_tests/security/allowed-paths-confinement.test.js +1 -1
  53. package/lib/cjs/tests/api_tests/security/allowed-paths-confinement.test.js.map +1 -1
  54. package/lib/cjs/tests/api_tests/security/appointment-reschedule-ownership.test.d.ts +42 -0
  55. package/lib/cjs/tests/api_tests/security/appointment-reschedule-ownership.test.d.ts.map +1 -0
  56. package/lib/cjs/tests/api_tests/security/appointment-reschedule-ownership.test.js +484 -0
  57. package/lib/cjs/tests/api_tests/security/appointment-reschedule-ownership.test.js.map +1 -0
  58. package/lib/cjs/tests/api_tests/security/booking-info-idor-token-mint.test.js +1 -1
  59. package/lib/cjs/tests/api_tests/security/booking-info-idor-token-mint.test.js.map +1 -1
  60. package/lib/cjs/tests/api_tests/security/enduser-ai-summary-trust-gate.test.js +1 -1
  61. package/lib/cjs/tests/api_tests/security/enduser-ai-summary-trust-gate.test.js.map +1 -1
  62. package/lib/cjs/tests/api_tests/security/enduser-cross-create.test.js +1 -1
  63. package/lib/cjs/tests/api_tests/security/enduser-cross-create.test.js.map +1 -1
  64. package/lib/cjs/tests/api_tests/security/enduser-write-restrictions.test.js +1 -1
  65. package/lib/cjs/tests/api_tests/security/enduser-write-restrictions.test.js.map +1 -1
  66. package/lib/cjs/tests/api_tests/security/file-link-session-confinement.test.d.ts +5 -0
  67. package/lib/cjs/tests/api_tests/security/file-link-session-confinement.test.d.ts.map +1 -0
  68. package/lib/cjs/tests/api_tests/security/file-link-session-confinement.test.js +357 -0
  69. package/lib/cjs/tests/api_tests/security/file-link-session-confinement.test.js.map +1 -0
  70. package/lib/cjs/tests/api_tests/security/invite-user-enumeration.test.js +2 -2
  71. package/lib/cjs/tests/api_tests/security/invite-user-enumeration.test.js.map +1 -1
  72. package/lib/cjs/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.d.ts +32 -0
  73. package/lib/cjs/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.d.ts.map +1 -0
  74. package/lib/cjs/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.js +297 -0
  75. package/lib/cjs/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.js.map +1 -0
  76. package/lib/cjs/tests/api_tests/security/sanitize-user-html-with-iframes.test.d.ts.map +1 -1
  77. package/lib/cjs/tests/api_tests/security/sanitize-user-html-with-iframes.test.js +4 -1
  78. package/lib/cjs/tests/api_tests/security/sanitize-user-html-with-iframes.test.js.map +1 -1
  79. package/lib/cjs/tests/api_tests/templated_message_date_fields.test.d.ts +3 -0
  80. package/lib/cjs/tests/api_tests/templated_message_date_fields.test.d.ts.map +1 -0
  81. package/lib/cjs/tests/api_tests/templated_message_date_fields.test.js +202 -0
  82. package/lib/cjs/tests/api_tests/templated_message_date_fields.test.js.map +1 -0
  83. package/lib/cjs/tests/api_tests/templated_message_link_in_href.test.d.ts +3 -0
  84. package/lib/cjs/tests/api_tests/templated_message_link_in_href.test.d.ts.map +1 -0
  85. package/lib/cjs/tests/api_tests/templated_message_link_in_href.test.js +233 -0
  86. package/lib/cjs/tests/api_tests/templated_message_link_in_href.test.js.map +1 -0
  87. package/lib/cjs/tests/api_tests/templated_message_links.test.d.ts +3 -0
  88. package/lib/cjs/tests/api_tests/templated_message_links.test.d.ts.map +1 -0
  89. package/lib/cjs/tests/api_tests/templated_message_links.test.js +235 -0
  90. package/lib/cjs/tests/api_tests/templated_message_links.test.js.map +1 -0
  91. package/lib/cjs/tests/api_tests/time_tracks.test.js +1 -1
  92. package/lib/cjs/tests/api_tests/time_tracks.test.js.map +1 -1
  93. package/lib/cjs/tests/api_tests/trigger_contains_matching.test.d.ts +5 -0
  94. package/lib/cjs/tests/api_tests/trigger_contains_matching.test.d.ts.map +1 -0
  95. package/lib/cjs/tests/api_tests/trigger_contains_matching.test.js +395 -0
  96. package/lib/cjs/tests/api_tests/trigger_contains_matching.test.js.map +1 -0
  97. package/lib/cjs/tests/api_tests/user_logs_restore_deleted.test.d.ts +5 -0
  98. package/lib/cjs/tests/api_tests/user_logs_restore_deleted.test.d.ts.map +1 -0
  99. package/lib/cjs/tests/api_tests/user_logs_restore_deleted.test.js +471 -0
  100. package/lib/cjs/tests/api_tests/user_logs_restore_deleted.test.js.map +1 -0
  101. package/lib/cjs/tests/api_tests/user_portal_settings.test.js +1 -1
  102. package/lib/cjs/tests/api_tests/user_portal_settings.test.js.map +1 -1
  103. package/lib/cjs/tests/api_tests/validation_behavior_locks.test.d.ts +2 -0
  104. package/lib/cjs/tests/api_tests/validation_behavior_locks.test.d.ts.map +1 -0
  105. package/lib/cjs/tests/api_tests/validation_behavior_locks.test.js +233 -0
  106. package/lib/cjs/tests/api_tests/validation_behavior_locks.test.js.map +1 -0
  107. package/lib/cjs/tests/api_tests/vital_review_trigger_action.test.d.ts +5 -0
  108. package/lib/cjs/tests/api_tests/vital_review_trigger_action.test.d.ts.map +1 -0
  109. package/lib/cjs/tests/api_tests/vital_review_trigger_action.test.js +569 -0
  110. package/lib/cjs/tests/api_tests/vital_review_trigger_action.test.js.map +1 -0
  111. package/lib/cjs/tests/public_endpoint_tests.js +3 -2
  112. package/lib/cjs/tests/public_endpoint_tests.js.map +1 -1
  113. package/lib/cjs/tests/setup.d.ts +16 -0
  114. package/lib/cjs/tests/setup.d.ts.map +1 -1
  115. package/lib/cjs/tests/setup.js +55 -8
  116. package/lib/cjs/tests/setup.js.map +1 -1
  117. package/lib/cjs/tests/setup_isolated.d.ts +9 -0
  118. package/lib/cjs/tests/setup_isolated.d.ts.map +1 -1
  119. package/lib/cjs/tests/setup_isolated.js +23 -2
  120. package/lib/cjs/tests/setup_isolated.js.map +1 -1
  121. package/lib/cjs/tests/socket_tests.d.ts.map +1 -1
  122. package/lib/cjs/tests/socket_tests.js +3 -2
  123. package/lib/cjs/tests/socket_tests.js.map +1 -1
  124. package/lib/cjs/tests/tests.d.ts.map +1 -1
  125. package/lib/cjs/tests/tests.js +182 -166
  126. package/lib/cjs/tests/tests.js.map +1 -1
  127. package/lib/cjs/tests/unit_tests/trigger_title_partials.test.d.ts +3 -0
  128. package/lib/cjs/tests/unit_tests/trigger_title_partials.test.d.ts.map +1 -0
  129. package/lib/cjs/tests/unit_tests/trigger_title_partials.test.js +118 -0
  130. package/lib/cjs/tests/unit_tests/trigger_title_partials.test.js.map +1 -0
  131. package/lib/cjs/tests/webhooks_tests.js +3 -2
  132. package/lib/cjs/tests/webhooks_tests.js.map +1 -1
  133. package/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  134. package/lib/esm/enduser.d.ts +2 -0
  135. package/lib/esm/enduser.d.ts.map +1 -1
  136. package/lib/esm/sdk.d.ts +8 -5
  137. package/lib/esm/sdk.d.ts.map +1 -1
  138. package/lib/esm/sdk.js +1 -0
  139. package/lib/esm/sdk.js.map +1 -1
  140. package/lib/esm/session.d.ts +2 -0
  141. package/lib/esm/session.d.ts.map +1 -1
  142. package/lib/esm/tests/api_tests/active_patient_count.test.js +1 -1
  143. package/lib/esm/tests/api_tests/active_patient_count.test.js.map +1 -1
  144. package/lib/esm/tests/api_tests/appointment_rescheduled_trigger.test.js +1 -1
  145. package/lib/esm/tests/api_tests/appointment_rescheduled_trigger.test.js.map +1 -1
  146. package/lib/esm/tests/api_tests/calendar_event_limits.test.js +5 -5
  147. package/lib/esm/tests/api_tests/calendar_event_limits.test.js.map +1 -1
  148. package/lib/esm/tests/api_tests/calendar_event_references_update.test.js +1 -1
  149. package/lib/esm/tests/api_tests/calendar_event_references_update.test.js.map +1 -1
  150. package/lib/esm/tests/api_tests/enduser_cross_access_isolation.test.js +1 -1
  151. package/lib/esm/tests/api_tests/enduser_cross_access_isolation.test.js.map +1 -1
  152. package/lib/esm/tests/api_tests/enduser_fields_sync.test.d.ts +21 -0
  153. package/lib/esm/tests/api_tests/enduser_fields_sync.test.d.ts.map +1 -0
  154. package/lib/esm/tests/api_tests/enduser_fields_sync.test.js +210 -0
  155. package/lib/esm/tests/api_tests/enduser_fields_sync.test.js.map +1 -0
  156. package/lib/esm/tests/api_tests/enduser_login_rate_limits.test.js +7 -7
  157. package/lib/esm/tests/api_tests/enduser_login_rate_limits.test.js.map +1 -1
  158. package/lib/esm/tests/api_tests/enduser_session_invalidation.test.js +4 -4
  159. package/lib/esm/tests/api_tests/enduser_session_invalidation.test.js.map +1 -1
  160. package/lib/esm/tests/api_tests/load_threads_care_team.test.d.ts +32 -0
  161. package/lib/esm/tests/api_tests/load_threads_care_team.test.d.ts.map +1 -0
  162. package/lib/esm/tests/api_tests/load_threads_care_team.test.js +252 -0
  163. package/lib/esm/tests/api_tests/load_threads_care_team.test.js.map +1 -0
  164. package/lib/esm/tests/api_tests/managed_content_enduser_access.test.js +1 -1
  165. package/lib/esm/tests/api_tests/managed_content_enduser_access.test.js.map +1 -1
  166. package/lib/esm/tests/api_tests/managed_content_file_access.test.js +1 -1
  167. package/lib/esm/tests/api_tests/managed_content_file_access.test.js.map +1 -1
  168. package/lib/esm/tests/api_tests/mdi_webhooks.test.d.ts.map +1 -1
  169. package/lib/esm/tests/api_tests/mdi_webhooks.test.js +21 -8
  170. package/lib/esm/tests/api_tests/mdi_webhooks.test.js.map +1 -1
  171. package/lib/esm/tests/api_tests/nutrition_tracking.test.js +1 -1
  172. package/lib/esm/tests/api_tests/nutrition_tracking.test.js.map +1 -1
  173. package/lib/esm/tests/api_tests/openloop_webhooks.test.js +1 -1
  174. package/lib/esm/tests/api_tests/openloop_webhooks.test.js.map +1 -1
  175. package/lib/esm/tests/api_tests/programs.test.d.ts +5 -0
  176. package/lib/esm/tests/api_tests/programs.test.d.ts.map +1 -0
  177. package/lib/esm/tests/api_tests/programs.test.js +365 -0
  178. package/lib/esm/tests/api_tests/programs.test.js.map +1 -0
  179. package/lib/esm/tests/api_tests/programs_trigger_filters.test.d.ts +5 -0
  180. package/lib/esm/tests/api_tests/programs_trigger_filters.test.d.ts.map +1 -0
  181. package/lib/esm/tests/api_tests/programs_trigger_filters.test.js +290 -0
  182. package/lib/esm/tests/api_tests/programs_trigger_filters.test.js.map +1 -0
  183. package/lib/esm/tests/api_tests/security/allowed-paths-confinement.test.js +1 -1
  184. package/lib/esm/tests/api_tests/security/allowed-paths-confinement.test.js.map +1 -1
  185. package/lib/esm/tests/api_tests/security/appointment-reschedule-ownership.test.d.ts +42 -0
  186. package/lib/esm/tests/api_tests/security/appointment-reschedule-ownership.test.d.ts.map +1 -0
  187. package/lib/esm/tests/api_tests/security/appointment-reschedule-ownership.test.js +479 -0
  188. package/lib/esm/tests/api_tests/security/appointment-reschedule-ownership.test.js.map +1 -0
  189. package/lib/esm/tests/api_tests/security/booking-info-idor-token-mint.test.js +1 -1
  190. package/lib/esm/tests/api_tests/security/booking-info-idor-token-mint.test.js.map +1 -1
  191. package/lib/esm/tests/api_tests/security/enduser-ai-summary-trust-gate.test.js +1 -1
  192. package/lib/esm/tests/api_tests/security/enduser-ai-summary-trust-gate.test.js.map +1 -1
  193. package/lib/esm/tests/api_tests/security/enduser-cross-create.test.js +1 -1
  194. package/lib/esm/tests/api_tests/security/enduser-cross-create.test.js.map +1 -1
  195. package/lib/esm/tests/api_tests/security/enduser-write-restrictions.test.js +1 -1
  196. package/lib/esm/tests/api_tests/security/enduser-write-restrictions.test.js.map +1 -1
  197. package/lib/esm/tests/api_tests/security/file-link-session-confinement.test.d.ts +5 -0
  198. package/lib/esm/tests/api_tests/security/file-link-session-confinement.test.d.ts.map +1 -0
  199. package/lib/esm/tests/api_tests/security/file-link-session-confinement.test.js +349 -0
  200. package/lib/esm/tests/api_tests/security/file-link-session-confinement.test.js.map +1 -0
  201. package/lib/esm/tests/api_tests/security/invite-user-enumeration.test.js +3 -3
  202. package/lib/esm/tests/api_tests/security/invite-user-enumeration.test.js.map +1 -1
  203. package/lib/esm/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.d.ts +32 -0
  204. package/lib/esm/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.d.ts.map +1 -0
  205. package/lib/esm/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.js +292 -0
  206. package/lib/esm/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.js.map +1 -0
  207. package/lib/esm/tests/api_tests/security/sanitize-user-html-with-iframes.test.d.ts.map +1 -1
  208. package/lib/esm/tests/api_tests/security/sanitize-user-html-with-iframes.test.js +4 -1
  209. package/lib/esm/tests/api_tests/security/sanitize-user-html-with-iframes.test.js.map +1 -1
  210. package/lib/esm/tests/api_tests/templated_message_date_fields.test.d.ts +3 -0
  211. package/lib/esm/tests/api_tests/templated_message_date_fields.test.d.ts.map +1 -0
  212. package/lib/esm/tests/api_tests/templated_message_date_fields.test.js +198 -0
  213. package/lib/esm/tests/api_tests/templated_message_date_fields.test.js.map +1 -0
  214. package/lib/esm/tests/api_tests/templated_message_link_in_href.test.d.ts +3 -0
  215. package/lib/esm/tests/api_tests/templated_message_link_in_href.test.d.ts.map +1 -0
  216. package/lib/esm/tests/api_tests/templated_message_link_in_href.test.js +229 -0
  217. package/lib/esm/tests/api_tests/templated_message_link_in_href.test.js.map +1 -0
  218. package/lib/esm/tests/api_tests/templated_message_links.test.d.ts +3 -0
  219. package/lib/esm/tests/api_tests/templated_message_links.test.d.ts.map +1 -0
  220. package/lib/esm/tests/api_tests/templated_message_links.test.js +231 -0
  221. package/lib/esm/tests/api_tests/templated_message_links.test.js.map +1 -0
  222. package/lib/esm/tests/api_tests/time_tracks.test.js +1 -1
  223. package/lib/esm/tests/api_tests/time_tracks.test.js.map +1 -1
  224. package/lib/esm/tests/api_tests/trigger_contains_matching.test.d.ts +5 -0
  225. package/lib/esm/tests/api_tests/trigger_contains_matching.test.d.ts.map +1 -0
  226. package/lib/esm/tests/api_tests/trigger_contains_matching.test.js +390 -0
  227. package/lib/esm/tests/api_tests/trigger_contains_matching.test.js.map +1 -0
  228. package/lib/esm/tests/api_tests/user_logs_restore_deleted.test.d.ts +5 -0
  229. package/lib/esm/tests/api_tests/user_logs_restore_deleted.test.d.ts.map +1 -0
  230. package/lib/esm/tests/api_tests/user_logs_restore_deleted.test.js +466 -0
  231. package/lib/esm/tests/api_tests/user_logs_restore_deleted.test.js.map +1 -0
  232. package/lib/esm/tests/api_tests/user_portal_settings.test.js +1 -1
  233. package/lib/esm/tests/api_tests/user_portal_settings.test.js.map +1 -1
  234. package/lib/esm/tests/api_tests/validation_behavior_locks.test.d.ts +2 -0
  235. package/lib/esm/tests/api_tests/validation_behavior_locks.test.d.ts.map +1 -0
  236. package/lib/esm/tests/api_tests/validation_behavior_locks.test.js +229 -0
  237. package/lib/esm/tests/api_tests/validation_behavior_locks.test.js.map +1 -0
  238. package/lib/esm/tests/api_tests/vital_review_trigger_action.test.d.ts +5 -0
  239. package/lib/esm/tests/api_tests/vital_review_trigger_action.test.d.ts.map +1 -0
  240. package/lib/esm/tests/api_tests/vital_review_trigger_action.test.js +564 -0
  241. package/lib/esm/tests/api_tests/vital_review_trigger_action.test.js.map +1 -0
  242. package/lib/esm/tests/public_endpoint_tests.js +3 -2
  243. package/lib/esm/tests/public_endpoint_tests.js.map +1 -1
  244. package/lib/esm/tests/setup.d.ts +16 -0
  245. package/lib/esm/tests/setup.d.ts.map +1 -1
  246. package/lib/esm/tests/setup.js +53 -7
  247. package/lib/esm/tests/setup.js.map +1 -1
  248. package/lib/esm/tests/setup_isolated.d.ts +9 -0
  249. package/lib/esm/tests/setup_isolated.d.ts.map +1 -1
  250. package/lib/esm/tests/setup_isolated.js +21 -1
  251. package/lib/esm/tests/setup_isolated.js.map +1 -1
  252. package/lib/esm/tests/socket_tests.d.ts.map +1 -1
  253. package/lib/esm/tests/socket_tests.js +3 -2
  254. package/lib/esm/tests/socket_tests.js.map +1 -1
  255. package/lib/esm/tests/tests.d.ts.map +1 -1
  256. package/lib/esm/tests/tests.js +182 -166
  257. package/lib/esm/tests/tests.js.map +1 -1
  258. package/lib/esm/tests/unit_tests/trigger_title_partials.test.d.ts +3 -0
  259. package/lib/esm/tests/unit_tests/trigger_title_partials.test.d.ts.map +1 -0
  260. package/lib/esm/tests/unit_tests/trigger_title_partials.test.js +115 -0
  261. package/lib/esm/tests/unit_tests/trigger_title_partials.test.js.map +1 -0
  262. package/lib/esm/tests/webhooks_tests.js +3 -2
  263. package/lib/esm/tests/webhooks_tests.js.map +1 -1
  264. package/lib/tsconfig.tsbuildinfo +1 -1
  265. package/package.json +22 -19
  266. package/src/sdk.ts +5 -1
  267. package/src/tests/api_tests/active_patient_count.test.ts +1 -1
  268. package/src/tests/api_tests/appointment_rescheduled_trigger.test.ts +1 -1
  269. package/src/tests/api_tests/calendar_event_references_update.test.ts +1 -1
  270. package/src/tests/api_tests/enduser_cross_access_isolation.test.ts +1 -1
  271. package/src/tests/api_tests/enduser_login_rate_limits.test.ts +7 -7
  272. package/src/tests/api_tests/enduser_session_invalidation.test.ts +4 -4
  273. package/src/tests/api_tests/managed_content_enduser_access.test.ts +1 -1
  274. package/src/tests/api_tests/managed_content_file_access.test.ts +1 -1
  275. package/src/tests/api_tests/mdi_webhooks.test.ts +9 -0
  276. package/src/tests/api_tests/nutrition_tracking.test.ts +1 -1
  277. package/src/tests/api_tests/openloop_webhooks.test.ts +1 -1
  278. package/src/tests/api_tests/security/allowed-paths-confinement.test.ts +1 -1
  279. package/src/tests/api_tests/security/booking-info-idor-token-mint.test.ts +1 -1
  280. package/src/tests/api_tests/security/enduser-ai-summary-trust-gate.test.ts +1 -1
  281. package/src/tests/api_tests/security/enduser-cross-create.test.ts +1 -1
  282. package/src/tests/api_tests/security/enduser-write-restrictions.test.ts +1 -1
  283. package/src/tests/api_tests/security/file-link-session-confinement.test.ts +291 -0
  284. package/src/tests/api_tests/security/invite-user-enumeration.test.ts +3 -3
  285. package/src/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.ts +197 -0
  286. package/src/tests/api_tests/security/sanitize-user-html-with-iframes.test.ts +4 -1
  287. package/src/tests/api_tests/templated_message_date_fields.test.ts +146 -0
  288. package/src/tests/api_tests/templated_message_links.test.ts +192 -0
  289. package/src/tests/api_tests/time_tracks.test.ts +1 -1
  290. package/src/tests/api_tests/user_portal_settings.test.ts +1 -1
  291. package/src/tests/api_tests/validation_behavior_locks.test.ts +204 -0
  292. package/src/tests/public_endpoint_tests.ts +3 -2
  293. package/src/tests/setup.ts +43 -7
  294. package/src/tests/setup_isolated.ts +10 -0
  295. package/src/tests/socket_tests.ts +3 -2
  296. package/src/tests/tests.ts +12 -2
  297. package/src/tests/webhooks_tests.ts +4 -2
  298. package/test_generated.pdf +0 -0
  299. package/tsconfig.cjs.json +17 -0
@@ -0,0 +1,229 @@
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
+ import { dateValidator, dateOptionalOrEmptyStringValidator, dateValidatorOptional, slugValidator, urlValidator } from "@tellescope/validation";
38
+ // Pins the accept-sets of the validators whose behavior is delegated to the `validator` package, so
39
+ // a dependency upgrade cannot move what the API accepts without a test failing.
40
+ //
41
+ // These assertions describe PRODUCTION — deliberately, including the parts that are wrong. Two of
42
+ // them are: a bare `YYYY-MM-DD` is rejected while an ISO datetime is accepted, and an unparseable
43
+ // string is accepted and persisted as an `Invalid Date`. Both predate this work and both are
44
+ // API-visible across ~135 schema fields, so changing them belongs in its own PR. Pinning them is
45
+ // what makes this file useful: it is proof of how the deployed API behaves, not an aspiration.
46
+ //
47
+ // Why it was needed. Validator 13.11.0's `isDate` was timezone-dependent — its last step compared a
48
+ // UTC-parsed date against a local-time `.getDate()` — so it answered false west of Greenwich and
49
+ // true in UTC. The servers run UTC, so the behavior pinned below is what production has been doing,
50
+ // while the same code on a US developer's machine did the opposite. 13.12.0 fixed that (#2257), and
51
+ // 13.15.35 was verified to return exactly what 13.11.0 returned under UTC, across 26 inputs and four
52
+ // timezones. So every assertion here holds in EVERY timezone — that is the point of the file, and
53
+ // the reason it can be trusted as a statement about production while running on a laptop.
54
+ //
55
+ // The `isSlug` half is different: 13.15.35 genuinely narrowed it (lowercase-only, alphanumeric ends,
56
+ // 1-character minimum), which would have moved the subdomain accept-set. `validation.ts` pins
57
+ // 13.11.0's pattern inline instead, and the checks below are that pattern.
58
+ //
59
+ // The `isURL` half (section 5) is neither: 13.11.0 and 13.15.35 were compared across 37 URL inputs
60
+ // and agreed on every one, so nothing was at risk in that upgrade and nothing needed pinning inline.
61
+ // It is here as a forward guard — webhook destinations are customer-configured and an accept-set that
62
+ // narrows silently breaks live integrations — and because the staging QA asserted this behavior with
63
+ // no test behind it. `isURL` reads no clock, so that section has no timezone caveat.
64
+ //
65
+ // Pure-function test — no Session needed. Runs as part of the main suite and standalone:
66
+ // npm run test:modular -- api_tests/validation_behavior_locks
67
+ // TZ=UTC npm run test:modular -- api_tests/validation_behavior_locks (must give the same result)
68
+ // Every assertion runs before anything throws, so one run reports the complete diff rather than the
69
+ // first case that happened to trip.
70
+ var failures = [];
71
+ var accepts = function (label, validate, value) {
72
+ try {
73
+ validate(value);
74
+ }
75
+ catch (err) {
76
+ failures.push("".concat(label, ": expected to ACCEPT ").concat(JSON.stringify(value), ", but it was rejected (").concat((err === null || err === void 0 ? void 0 : err.message) || err, ")"));
77
+ }
78
+ };
79
+ var rejects = function (label, validate, value) {
80
+ var accepted = false;
81
+ try {
82
+ validate(value);
83
+ accepted = true;
84
+ }
85
+ catch ( /* expected */_a) { /* expected */ }
86
+ if (accepted)
87
+ failures.push("".concat(label, ": expected to REJECT ").concat(JSON.stringify(value), ", but it was accepted"));
88
+ };
89
+ export var validation_behavior_lock_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
90
+ var date, dateOptional, dateOrEmpty, _i, _a, value, _b, _c, value, _d, _e, value, slug, _f, _g, value, _h, _j, value, _k, _l, value, url, _m, _o, value, _p, _q, value, _r, _s, value;
91
+ return __generator(this, function (_t) {
92
+ console.log("Running validation behavior lock tests (TZ=".concat(process.env.TZ || Intl.DateTimeFormat().resolvedOptions().timeZone, ")"));
93
+ date = dateValidator.validate();
94
+ dateOptional = dateValidatorOptional.validate();
95
+ dateOrEmpty = dateOptionalOrEmptyStringValidator.validate();
96
+ // -----------------------------------------------------------------------------------------------
97
+ // 1. Date fields: ISO datetimes are accepted
98
+ // -----------------------------------------------------------------------------------------------
99
+ // What the SDK sends, since JSON.stringify turns a Date into one of these.
100
+ for (_i = 0, _a = [
101
+ '2024-06-15T14:30:00Z',
102
+ '2024-06-15T00:00:00.000Z',
103
+ '2024-06-15T14:30:00+05:00',
104
+ ]; _i < _a.length; _i++) {
105
+ value = _a[_i];
106
+ accepts('dateValidator', date, value);
107
+ accepts('dateValidatorOptional', dateOptional, value);
108
+ accepts('dateOptionalOrEmptyStringValidator', dateOrEmpty, value);
109
+ }
110
+ // Epoch milliseconds round-trip through `new Date()`.
111
+ accepts('dateValidator', date, 1718400000000);
112
+ // The empty string is the "cleared" value for the two lenient variants only.
113
+ accepts('dateOptionalOrEmptyStringValidator', dateOrEmpty, '');
114
+ rejects('dateValidator', date, '');
115
+ // -----------------------------------------------------------------------------------------------
116
+ // 2. Date fields: a bare calendar date is REJECTED
117
+ // -----------------------------------------------------------------------------------------------
118
+ // Surprising, and not a typo. `isDate` returns true for these and the check is inverted, so they
119
+ // 400. This is long-standing production behavior; it is pinned, not endorsed. A client sending
120
+ // `"1985-03-12"` to a date field gets an error and must send an ISO datetime instead.
121
+ for (_b = 0, _c = ['1985-03-12', '2024-01-01', '2026-10-01', '2000-02-29', '1999/12/31']; _b < _c.length; _b++) {
122
+ value = _c[_b];
123
+ rejects('dateValidator', date, value);
124
+ rejects('dateValidatorOptional', dateOptional, value);
125
+ }
126
+ // A real Date object is rejected by the same mechanism (isDate is true for one). Nothing sends a
127
+ // Date over HTTP, so this only reaches internal callers — but the three validators disagree here:
128
+ // the `dateOrEmpty` variant coerces with `.toString()` first, producing "Sat Jun 15 2024 ...",
129
+ // which isDate calls false, so it accepts. Pinned because it is a real inconsistency.
130
+ rejects('dateValidator', date, new Date('2024-06-15T14:30:00Z'));
131
+ rejects('dateValidatorOptional', dateOptional, new Date('2024-06-15T14:30:00Z'));
132
+ accepts('dateOptionalOrEmptyStringValidator', dateOrEmpty, new Date('2024-06-15T14:30:00Z'));
133
+ // -----------------------------------------------------------------------------------------------
134
+ // 3. Date fields: an unparseable string is ACCEPTED and stored as an Invalid Date
135
+ // -----------------------------------------------------------------------------------------------
136
+ // A data-corruption path, pinned so it is documented and so a future fix is a deliberate, visible
137
+ // change rather than a silent one. `new Date('not a date')` is an Invalid Date, and it is what
138
+ // gets written.
139
+ for (_d = 0, _e = ['not a date', 'hello world', 'tomorrow', '??']; _d < _e.length; _d++) {
140
+ value = _e[_d];
141
+ accepts('dateValidator', date, value);
142
+ accepts('dateValidatorOptional', dateOptional, value);
143
+ accepts('dateOptionalOrEmptyStringValidator', dateOrEmpty, value);
144
+ }
145
+ slug = slugValidator.validate();
146
+ // Valid, and must stay valid — 13.15.35's isSlug would reject the mixed-case ones.
147
+ for (_f = 0, _g = ['acme', 'acme-health', 'tellescope-demo', 'demo_org_1', 'Acme', 'My-Org', 'TellescopeDemo', 'abc']; _f < _g.length; _f++) {
148
+ value = _g[_f];
149
+ accepts('slugValidator', slug, value);
150
+ }
151
+ // Also accepted today, though none of these are valid DNS labels. Pinned so the upgrade does not
152
+ // quietly change them; tightening is a separate decision.
153
+ for (_h = 0, _j = ['acme.health', 'org/sub', 'my@org', 'org?x=1']; _h < _j.length; _h++) {
154
+ value = _j[_h];
155
+ accepts('slugValidator', slug, value);
156
+ }
157
+ // Rejected today — note 13.15.35's isSlug would ACCEPT the 1- and 2-character cases.
158
+ for (_k = 0, _l = ['a', 'ab', 'my--org', 'my__org', '-acme', 'acme-', 'org name']; _k < _l.length; _k++) {
159
+ value = _l[_k];
160
+ rejects('slugValidator', slug, value);
161
+ }
162
+ url = urlValidator.validate();
163
+ // Ports and query strings, the cases the staging QA calls out.
164
+ for (_m = 0, _o = [
165
+ 'https://example.com:8443/hook',
166
+ 'https://example.com/hook?a=1&b=two',
167
+ 'https://example.com:8443/hook?a=1',
168
+ 'https://example.com/a?b=c&d=%7B%22x%22%3A1%7D',
169
+ 'https://example.com:443/hook',
170
+ 'https://example.com:8443',
171
+ 'https://example.com/hook#frag',
172
+ 'HTTPS://EXAMPLE.COM/Hook',
173
+ 'https://[::1]:8443/hook',
174
+ ]; _m < _o.length; _m++) {
175
+ value = _o[_m];
176
+ accepts('urlValidator', url, value);
177
+ }
178
+ // Accepted, but quirks rather than intent — pinned like the date quirks above so that tightening any
179
+ // of them is a deliberate, visible change.
180
+ // - schemeless: values of this shape exist in the webhooks collection today (outbound_url.ts:213)
181
+ // - ftp: isURL's default protocol list is http/https/ftp
182
+ // - the last two are refused by assertPublicHttpUrl at delivery, not here
183
+ for (_p = 0, _q = [
184
+ 'api.customer.com/hook',
185
+ 'ftp://example.com/x',
186
+ 'http://10.0.0.1/hook',
187
+ 'https://user:pass@example.com/hook',
188
+ ]; _p < _q.length; _p++) {
189
+ value = _q[_p];
190
+ accepts('urlValidator', url, value);
191
+ }
192
+ // Rejected. `localhost` fails isURL's require_tld, which defaults on — a local webhook receiver has
193
+ // to be configured as 127.0.0.1, and that is why the SSRF suite binds loopback by address.
194
+ for (_r = 0, _s = [
195
+ 'http://localhost:8080/hook',
196
+ 'localhost:8080/hook',
197
+ 'https://example.com:65536/hook',
198
+ 'https://example.com:0/hook',
199
+ 'https://example.com:abc/x',
200
+ 'javascript:alert(1)',
201
+ 'file:///etc/passwd',
202
+ 'mailto:a@b.com',
203
+ '//example.com/hook',
204
+ 'not a url',
205
+ 'https://example.com/hook with space',
206
+ 'https://example.com./hook', // trailing dot
207
+ ]; _r < _s.length; _r++) {
208
+ value = _s[_r];
209
+ rejects('urlValidator', url, value);
210
+ }
211
+ // Non-string and absent values. The empty string is rejected by build_validator's non-empty rule
212
+ // rather than by isURL, so it is pinned separately from the malformed strings above.
213
+ rejects('urlValidator', url, '');
214
+ rejects('urlValidator', url, 123);
215
+ rejects('urlValidator', url, null);
216
+ rejects('urlValidator', url, undefined);
217
+ if (failures.length) {
218
+ throw new Error("".concat(failures.length, " validation behavior lock(s) broken:\n - ") + failures.join('\n - '));
219
+ }
220
+ console.log("✅ validation behavior lock tests passed");
221
+ return [2 /*return*/];
222
+ });
223
+ }); };
224
+ if (require.main === module) {
225
+ validation_behavior_lock_tests()
226
+ .then(function () { console.log("✅ suite completed"); process.exit(0); })
227
+ .catch(function (err) { console.error("❌ suite failed:", err); process.exit(1); });
228
+ }
229
+ //# sourceMappingURL=validation_behavior_locks.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation_behavior_locks.test.js","sourceRoot":"","sources":["../../../../src/tests/api_tests/validation_behavior_locks.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Check } from "../setup_isolated";
2
+ export declare const vital_review_trigger_action_checks: () => Promise<Check[]>;
3
+ /** Asserting wrapper, for standalone runs and for sequential use in the suite. */
4
+ export declare const vital_review_trigger_action_tests: () => Promise<void>;
5
+ //# sourceMappingURL=vital_review_trigger_action.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vital_review_trigger_action.test.d.ts","sourceRoot":"","sources":["../../../../src/tests/api_tests/vital_review_trigger_action.test.ts"],"names":[],"mappings":"AAGA,OAAO,EAEL,KAAK,EAEN,MAAM,mBAAmB,CAAA;AAyD1B,eAAO,MAAM,kCAAkC,QAAa,QAAQ,KAAK,EAAE,CA+W1E,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,iCAAiC,qBAE7C,CAAA"}