@tellescope/sdk 1.256.16 → 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 (290) 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 +3 -1
  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/invite-user-enumeration.test.js +2 -2
  67. package/lib/cjs/tests/api_tests/security/invite-user-enumeration.test.js.map +1 -1
  68. package/lib/cjs/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.d.ts +32 -0
  69. package/lib/cjs/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.d.ts.map +1 -0
  70. package/lib/cjs/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.js +297 -0
  71. package/lib/cjs/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.js.map +1 -0
  72. package/lib/cjs/tests/api_tests/security/sanitize-user-html-with-iframes.test.d.ts.map +1 -1
  73. package/lib/cjs/tests/api_tests/security/sanitize-user-html-with-iframes.test.js +4 -1
  74. package/lib/cjs/tests/api_tests/security/sanitize-user-html-with-iframes.test.js.map +1 -1
  75. package/lib/cjs/tests/api_tests/templated_message_date_fields.test.d.ts +3 -0
  76. package/lib/cjs/tests/api_tests/templated_message_date_fields.test.d.ts.map +1 -0
  77. package/lib/cjs/tests/api_tests/templated_message_date_fields.test.js +202 -0
  78. package/lib/cjs/tests/api_tests/templated_message_date_fields.test.js.map +1 -0
  79. package/lib/cjs/tests/api_tests/templated_message_link_in_href.test.d.ts +3 -0
  80. package/lib/cjs/tests/api_tests/templated_message_link_in_href.test.d.ts.map +1 -0
  81. package/lib/cjs/tests/api_tests/templated_message_link_in_href.test.js +233 -0
  82. package/lib/cjs/tests/api_tests/templated_message_link_in_href.test.js.map +1 -0
  83. package/lib/cjs/tests/api_tests/templated_message_links.test.d.ts +3 -0
  84. package/lib/cjs/tests/api_tests/templated_message_links.test.d.ts.map +1 -0
  85. package/lib/cjs/tests/api_tests/templated_message_links.test.js +235 -0
  86. package/lib/cjs/tests/api_tests/templated_message_links.test.js.map +1 -0
  87. package/lib/cjs/tests/api_tests/time_tracks.test.js +1 -1
  88. package/lib/cjs/tests/api_tests/time_tracks.test.js.map +1 -1
  89. package/lib/cjs/tests/api_tests/trigger_contains_matching.test.d.ts +5 -0
  90. package/lib/cjs/tests/api_tests/trigger_contains_matching.test.d.ts.map +1 -0
  91. package/lib/cjs/tests/api_tests/trigger_contains_matching.test.js +395 -0
  92. package/lib/cjs/tests/api_tests/trigger_contains_matching.test.js.map +1 -0
  93. package/lib/cjs/tests/api_tests/user_logs_restore_deleted.test.d.ts +5 -0
  94. package/lib/cjs/tests/api_tests/user_logs_restore_deleted.test.d.ts.map +1 -0
  95. package/lib/cjs/tests/api_tests/user_logs_restore_deleted.test.js +471 -0
  96. package/lib/cjs/tests/api_tests/user_logs_restore_deleted.test.js.map +1 -0
  97. package/lib/cjs/tests/api_tests/user_portal_settings.test.js +1 -1
  98. package/lib/cjs/tests/api_tests/user_portal_settings.test.js.map +1 -1
  99. package/lib/cjs/tests/api_tests/validation_behavior_locks.test.d.ts +2 -0
  100. package/lib/cjs/tests/api_tests/validation_behavior_locks.test.d.ts.map +1 -0
  101. package/lib/cjs/tests/api_tests/validation_behavior_locks.test.js +233 -0
  102. package/lib/cjs/tests/api_tests/validation_behavior_locks.test.js.map +1 -0
  103. package/lib/cjs/tests/api_tests/vital_review_trigger_action.test.d.ts +5 -0
  104. package/lib/cjs/tests/api_tests/vital_review_trigger_action.test.d.ts.map +1 -0
  105. package/lib/cjs/tests/api_tests/vital_review_trigger_action.test.js +569 -0
  106. package/lib/cjs/tests/api_tests/vital_review_trigger_action.test.js.map +1 -0
  107. package/lib/cjs/tests/public_endpoint_tests.js +3 -2
  108. package/lib/cjs/tests/public_endpoint_tests.js.map +1 -1
  109. package/lib/cjs/tests/setup.d.ts +16 -0
  110. package/lib/cjs/tests/setup.d.ts.map +1 -1
  111. package/lib/cjs/tests/setup.js +55 -8
  112. package/lib/cjs/tests/setup.js.map +1 -1
  113. package/lib/cjs/tests/setup_isolated.d.ts +9 -0
  114. package/lib/cjs/tests/setup_isolated.d.ts.map +1 -1
  115. package/lib/cjs/tests/setup_isolated.js +23 -2
  116. package/lib/cjs/tests/setup_isolated.js.map +1 -1
  117. package/lib/cjs/tests/socket_tests.d.ts.map +1 -1
  118. package/lib/cjs/tests/socket_tests.js +3 -2
  119. package/lib/cjs/tests/socket_tests.js.map +1 -1
  120. package/lib/cjs/tests/tests.d.ts.map +1 -1
  121. package/lib/cjs/tests/tests.js +180 -166
  122. package/lib/cjs/tests/tests.js.map +1 -1
  123. package/lib/cjs/tests/unit_tests/trigger_title_partials.test.d.ts +3 -0
  124. package/lib/cjs/tests/unit_tests/trigger_title_partials.test.d.ts.map +1 -0
  125. package/lib/cjs/tests/unit_tests/trigger_title_partials.test.js +118 -0
  126. package/lib/cjs/tests/unit_tests/trigger_title_partials.test.js.map +1 -0
  127. package/lib/cjs/tests/webhooks_tests.js +3 -2
  128. package/lib/cjs/tests/webhooks_tests.js.map +1 -1
  129. package/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  130. package/lib/esm/enduser.d.ts +2 -0
  131. package/lib/esm/enduser.d.ts.map +1 -1
  132. package/lib/esm/sdk.d.ts +6 -3
  133. package/lib/esm/sdk.d.ts.map +1 -1
  134. package/lib/esm/sdk.js +1 -0
  135. package/lib/esm/sdk.js.map +1 -1
  136. package/lib/esm/session.d.ts +2 -0
  137. package/lib/esm/session.d.ts.map +1 -1
  138. package/lib/esm/tests/api_tests/active_patient_count.test.js +1 -1
  139. package/lib/esm/tests/api_tests/active_patient_count.test.js.map +1 -1
  140. package/lib/esm/tests/api_tests/appointment_rescheduled_trigger.test.js +1 -1
  141. package/lib/esm/tests/api_tests/appointment_rescheduled_trigger.test.js.map +1 -1
  142. package/lib/esm/tests/api_tests/calendar_event_limits.test.js +5 -5
  143. package/lib/esm/tests/api_tests/calendar_event_limits.test.js.map +1 -1
  144. package/lib/esm/tests/api_tests/calendar_event_references_update.test.js +1 -1
  145. package/lib/esm/tests/api_tests/calendar_event_references_update.test.js.map +1 -1
  146. package/lib/esm/tests/api_tests/enduser_cross_access_isolation.test.js +1 -1
  147. package/lib/esm/tests/api_tests/enduser_cross_access_isolation.test.js.map +1 -1
  148. package/lib/esm/tests/api_tests/enduser_fields_sync.test.d.ts +21 -0
  149. package/lib/esm/tests/api_tests/enduser_fields_sync.test.d.ts.map +1 -0
  150. package/lib/esm/tests/api_tests/enduser_fields_sync.test.js +210 -0
  151. package/lib/esm/tests/api_tests/enduser_fields_sync.test.js.map +1 -0
  152. package/lib/esm/tests/api_tests/enduser_login_rate_limits.test.js +7 -7
  153. package/lib/esm/tests/api_tests/enduser_login_rate_limits.test.js.map +1 -1
  154. package/lib/esm/tests/api_tests/enduser_session_invalidation.test.js +4 -4
  155. package/lib/esm/tests/api_tests/enduser_session_invalidation.test.js.map +1 -1
  156. package/lib/esm/tests/api_tests/load_threads_care_team.test.d.ts +32 -0
  157. package/lib/esm/tests/api_tests/load_threads_care_team.test.d.ts.map +1 -0
  158. package/lib/esm/tests/api_tests/load_threads_care_team.test.js +252 -0
  159. package/lib/esm/tests/api_tests/load_threads_care_team.test.js.map +1 -0
  160. package/lib/esm/tests/api_tests/managed_content_enduser_access.test.js +1 -1
  161. package/lib/esm/tests/api_tests/managed_content_enduser_access.test.js.map +1 -1
  162. package/lib/esm/tests/api_tests/managed_content_file_access.test.js +1 -1
  163. package/lib/esm/tests/api_tests/managed_content_file_access.test.js.map +1 -1
  164. package/lib/esm/tests/api_tests/mdi_webhooks.test.d.ts.map +1 -1
  165. package/lib/esm/tests/api_tests/mdi_webhooks.test.js +21 -8
  166. package/lib/esm/tests/api_tests/mdi_webhooks.test.js.map +1 -1
  167. package/lib/esm/tests/api_tests/nutrition_tracking.test.js +1 -1
  168. package/lib/esm/tests/api_tests/nutrition_tracking.test.js.map +1 -1
  169. package/lib/esm/tests/api_tests/openloop_webhooks.test.js +1 -1
  170. package/lib/esm/tests/api_tests/openloop_webhooks.test.js.map +1 -1
  171. package/lib/esm/tests/api_tests/programs.test.d.ts +5 -0
  172. package/lib/esm/tests/api_tests/programs.test.d.ts.map +1 -0
  173. package/lib/esm/tests/api_tests/programs.test.js +365 -0
  174. package/lib/esm/tests/api_tests/programs.test.js.map +1 -0
  175. package/lib/esm/tests/api_tests/programs_trigger_filters.test.d.ts +5 -0
  176. package/lib/esm/tests/api_tests/programs_trigger_filters.test.d.ts.map +1 -0
  177. package/lib/esm/tests/api_tests/programs_trigger_filters.test.js +290 -0
  178. package/lib/esm/tests/api_tests/programs_trigger_filters.test.js.map +1 -0
  179. package/lib/esm/tests/api_tests/security/allowed-paths-confinement.test.js +1 -1
  180. package/lib/esm/tests/api_tests/security/allowed-paths-confinement.test.js.map +1 -1
  181. package/lib/esm/tests/api_tests/security/appointment-reschedule-ownership.test.d.ts +42 -0
  182. package/lib/esm/tests/api_tests/security/appointment-reschedule-ownership.test.d.ts.map +1 -0
  183. package/lib/esm/tests/api_tests/security/appointment-reschedule-ownership.test.js +479 -0
  184. package/lib/esm/tests/api_tests/security/appointment-reschedule-ownership.test.js.map +1 -0
  185. package/lib/esm/tests/api_tests/security/booking-info-idor-token-mint.test.js +1 -1
  186. package/lib/esm/tests/api_tests/security/booking-info-idor-token-mint.test.js.map +1 -1
  187. package/lib/esm/tests/api_tests/security/enduser-ai-summary-trust-gate.test.js +1 -1
  188. package/lib/esm/tests/api_tests/security/enduser-ai-summary-trust-gate.test.js.map +1 -1
  189. package/lib/esm/tests/api_tests/security/enduser-cross-create.test.js +1 -1
  190. package/lib/esm/tests/api_tests/security/enduser-cross-create.test.js.map +1 -1
  191. package/lib/esm/tests/api_tests/security/enduser-write-restrictions.test.js +1 -1
  192. package/lib/esm/tests/api_tests/security/enduser-write-restrictions.test.js.map +1 -1
  193. package/lib/esm/tests/api_tests/security/invite-user-enumeration.test.js +3 -3
  194. package/lib/esm/tests/api_tests/security/invite-user-enumeration.test.js.map +1 -1
  195. package/lib/esm/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.d.ts +32 -0
  196. package/lib/esm/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.d.ts.map +1 -0
  197. package/lib/esm/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.js +292 -0
  198. package/lib/esm/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.js.map +1 -0
  199. package/lib/esm/tests/api_tests/security/sanitize-user-html-with-iframes.test.d.ts.map +1 -1
  200. package/lib/esm/tests/api_tests/security/sanitize-user-html-with-iframes.test.js +4 -1
  201. package/lib/esm/tests/api_tests/security/sanitize-user-html-with-iframes.test.js.map +1 -1
  202. package/lib/esm/tests/api_tests/templated_message_date_fields.test.d.ts +3 -0
  203. package/lib/esm/tests/api_tests/templated_message_date_fields.test.d.ts.map +1 -0
  204. package/lib/esm/tests/api_tests/templated_message_date_fields.test.js +198 -0
  205. package/lib/esm/tests/api_tests/templated_message_date_fields.test.js.map +1 -0
  206. package/lib/esm/tests/api_tests/templated_message_link_in_href.test.d.ts +3 -0
  207. package/lib/esm/tests/api_tests/templated_message_link_in_href.test.d.ts.map +1 -0
  208. package/lib/esm/tests/api_tests/templated_message_link_in_href.test.js +229 -0
  209. package/lib/esm/tests/api_tests/templated_message_link_in_href.test.js.map +1 -0
  210. package/lib/esm/tests/api_tests/templated_message_links.test.d.ts +3 -0
  211. package/lib/esm/tests/api_tests/templated_message_links.test.d.ts.map +1 -0
  212. package/lib/esm/tests/api_tests/templated_message_links.test.js +231 -0
  213. package/lib/esm/tests/api_tests/templated_message_links.test.js.map +1 -0
  214. package/lib/esm/tests/api_tests/time_tracks.test.js +1 -1
  215. package/lib/esm/tests/api_tests/time_tracks.test.js.map +1 -1
  216. package/lib/esm/tests/api_tests/trigger_contains_matching.test.d.ts +5 -0
  217. package/lib/esm/tests/api_tests/trigger_contains_matching.test.d.ts.map +1 -0
  218. package/lib/esm/tests/api_tests/trigger_contains_matching.test.js +390 -0
  219. package/lib/esm/tests/api_tests/trigger_contains_matching.test.js.map +1 -0
  220. package/lib/esm/tests/api_tests/user_logs_restore_deleted.test.d.ts +5 -0
  221. package/lib/esm/tests/api_tests/user_logs_restore_deleted.test.d.ts.map +1 -0
  222. package/lib/esm/tests/api_tests/user_logs_restore_deleted.test.js +466 -0
  223. package/lib/esm/tests/api_tests/user_logs_restore_deleted.test.js.map +1 -0
  224. package/lib/esm/tests/api_tests/user_portal_settings.test.js +1 -1
  225. package/lib/esm/tests/api_tests/user_portal_settings.test.js.map +1 -1
  226. package/lib/esm/tests/api_tests/validation_behavior_locks.test.d.ts +2 -0
  227. package/lib/esm/tests/api_tests/validation_behavior_locks.test.d.ts.map +1 -0
  228. package/lib/esm/tests/api_tests/validation_behavior_locks.test.js +229 -0
  229. package/lib/esm/tests/api_tests/validation_behavior_locks.test.js.map +1 -0
  230. package/lib/esm/tests/api_tests/vital_review_trigger_action.test.d.ts +5 -0
  231. package/lib/esm/tests/api_tests/vital_review_trigger_action.test.d.ts.map +1 -0
  232. package/lib/esm/tests/api_tests/vital_review_trigger_action.test.js +564 -0
  233. package/lib/esm/tests/api_tests/vital_review_trigger_action.test.js.map +1 -0
  234. package/lib/esm/tests/public_endpoint_tests.js +3 -2
  235. package/lib/esm/tests/public_endpoint_tests.js.map +1 -1
  236. package/lib/esm/tests/setup.d.ts +16 -0
  237. package/lib/esm/tests/setup.d.ts.map +1 -1
  238. package/lib/esm/tests/setup.js +53 -7
  239. package/lib/esm/tests/setup.js.map +1 -1
  240. package/lib/esm/tests/setup_isolated.d.ts +9 -0
  241. package/lib/esm/tests/setup_isolated.d.ts.map +1 -1
  242. package/lib/esm/tests/setup_isolated.js +21 -1
  243. package/lib/esm/tests/setup_isolated.js.map +1 -1
  244. package/lib/esm/tests/socket_tests.d.ts.map +1 -1
  245. package/lib/esm/tests/socket_tests.js +3 -2
  246. package/lib/esm/tests/socket_tests.js.map +1 -1
  247. package/lib/esm/tests/tests.d.ts.map +1 -1
  248. package/lib/esm/tests/tests.js +180 -166
  249. package/lib/esm/tests/tests.js.map +1 -1
  250. package/lib/esm/tests/unit_tests/trigger_title_partials.test.d.ts +3 -0
  251. package/lib/esm/tests/unit_tests/trigger_title_partials.test.d.ts.map +1 -0
  252. package/lib/esm/tests/unit_tests/trigger_title_partials.test.js +115 -0
  253. package/lib/esm/tests/unit_tests/trigger_title_partials.test.js.map +1 -0
  254. package/lib/esm/tests/webhooks_tests.js +3 -2
  255. package/lib/esm/tests/webhooks_tests.js.map +1 -1
  256. package/lib/tsconfig.tsbuildinfo +1 -1
  257. package/package.json +22 -19
  258. package/src/sdk.ts +5 -1
  259. package/src/tests/api_tests/active_patient_count.test.ts +1 -1
  260. package/src/tests/api_tests/appointment_rescheduled_trigger.test.ts +1 -1
  261. package/src/tests/api_tests/calendar_event_references_update.test.ts +1 -1
  262. package/src/tests/api_tests/enduser_cross_access_isolation.test.ts +1 -1
  263. package/src/tests/api_tests/enduser_login_rate_limits.test.ts +7 -7
  264. package/src/tests/api_tests/enduser_session_invalidation.test.ts +4 -4
  265. package/src/tests/api_tests/managed_content_enduser_access.test.ts +1 -1
  266. package/src/tests/api_tests/managed_content_file_access.test.ts +1 -1
  267. package/src/tests/api_tests/mdi_webhooks.test.ts +9 -0
  268. package/src/tests/api_tests/nutrition_tracking.test.ts +1 -1
  269. package/src/tests/api_tests/openloop_webhooks.test.ts +1 -1
  270. package/src/tests/api_tests/security/allowed-paths-confinement.test.ts +1 -1
  271. package/src/tests/api_tests/security/booking-info-idor-token-mint.test.ts +1 -1
  272. package/src/tests/api_tests/security/enduser-ai-summary-trust-gate.test.ts +1 -1
  273. package/src/tests/api_tests/security/enduser-cross-create.test.ts +1 -1
  274. package/src/tests/api_tests/security/enduser-write-restrictions.test.ts +1 -1
  275. package/src/tests/api_tests/security/invite-user-enumeration.test.ts +3 -3
  276. package/src/tests/api_tests/security/rich-text-answer-sanitized-on-write.test.ts +197 -0
  277. package/src/tests/api_tests/security/sanitize-user-html-with-iframes.test.ts +4 -1
  278. package/src/tests/api_tests/templated_message_date_fields.test.ts +146 -0
  279. package/src/tests/api_tests/templated_message_links.test.ts +192 -0
  280. package/src/tests/api_tests/time_tracks.test.ts +1 -1
  281. package/src/tests/api_tests/user_portal_settings.test.ts +1 -1
  282. package/src/tests/api_tests/validation_behavior_locks.test.ts +204 -0
  283. package/src/tests/public_endpoint_tests.ts +3 -2
  284. package/src/tests/setup.ts +43 -7
  285. package/src/tests/setup_isolated.ts +10 -0
  286. package/src/tests/socket_tests.ts +3 -2
  287. package/src/tests/tests.ts +10 -2
  288. package/src/tests/webhooks_tests.ts +4 -2
  289. package/test_generated.pdf +0 -0
  290. package/tsconfig.cjs.json +17 -0
@@ -0,0 +1,484 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
24
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ 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;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
+ }
48
+ };
49
+ Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.appointment_reschedule_ownership_tests = exports.appointment_reschedule_ownership_checks = void 0;
51
+ require('source-map-support').install();
52
+ var setup_isolated_1 = require("../../setup_isolated");
53
+ var sdk_1 = require("../../../sdk");
54
+ var host = process.env.API_URL || 'http://localhost:8080';
55
+ var RAND = function () { return Math.random().toString(36).slice(2, 10); };
56
+ var userAttendeeIds = function (event) { var _a; return ((_a = event === null || event === void 0 ? void 0 : event.attendees) !== null && _a !== void 0 ? _a : []).filter(function (a) { return a.type === 'user'; }).map(function (a) { return a.id; }); };
57
+ var enduserAttendees = function (event) { var _a; return ((_a = event === null || event === void 0 ? void 0 : event.attendees) !== null && _a !== void 0 ? _a : []).filter(function (a) { return a.type === 'enduser'; }); };
58
+ /** the first enduser attendee — what routing.ts get_enduserId, event_handlers_v2, the EHR syncs and
59
+ * session_for_join_link all resolve as "the patient for this event" */
60
+ var primaryEnduserId = function (event) { var _a, _b; return (_b = (_a = enduserAttendees(event)[0]) === null || _a === void 0 ? void 0 : _a.id) !== null && _b !== void 0 ? _b : ''; };
61
+ /**
62
+ * `calendar_events.book_appointment` must not act on a `rescheduledCalendarEventId` belonging to
63
+ * another patient.
64
+ *
65
+ * The handler loaded the reschedule target with `buildOrganizationWideQueries`, which is
66
+ * `buildAllQueries({ unrestricted: true })` and therefore never applies the `attendees.id` access
67
+ * constraint calendar_events declares — the effective filter was businessId only. Any authenticated
68
+ * enduser could pass a co-tenant's event id and (a) have that event stamped
69
+ * `rescheduledAt` / `rescheduledTo`, which the portal renders as "rescheduled or deleted", (b) have
70
+ * the victim attached as the primary enduser attendee of the replacement event, carrying the
71
+ * victim's `joinLinkToken` (a capability that resolves an event by token), and (c) receive the whole
72
+ * stored document back, including the victim's staff-authored `internalNotes`.
73
+ *
74
+ * Both lookup sites are guarded: the initial load and the re-lookup that performs the
75
+ * `rescheduledAt` write. A guard on only the first leaves the write path reachable.
76
+ *
77
+ * Also covered here, because they are the same "the portal UI was the only gate" bug:
78
+ * - `preventRescheduleInPortal` / `preventRescheduleMinutesInAdvance` were enforced only by
79
+ * portal/src/pages/Events.tsx, so a direct API call ignored both even for the owner.
80
+ * - Group events (`enduserAttendeeLimit > 1`): being an attendee is necessary but not sufficient,
81
+ * since any attendee rescheduling moves the appointment for everyone. The server now mirrors the
82
+ * portal's gate — a group event is reschedulable only when the template set
83
+ * `allowGroupReschedule`. The attendee the appointment belongs to (the first enduser attendee) is
84
+ * preserved on the replacement event, so a co-attendee rescheduling does not re-point the
85
+ * appointment at themselves. Carrying the REMAINING co-attendees over is unchanged pre-existing
86
+ * behaviour: they come along only when `replaceHostOnReschedule` is false, and not at all on the
87
+ * group-join branch, where a reschedule landing on an existing group event only appends the caller.
88
+ *
89
+ * Sections: A cross-enduser attempt, B the owner's own reschedule, C the reschedule window, D group
90
+ * events, E the caregiver / related-contact flow, F both replaceHostOnReschedule branches (E and F are
91
+ * regression controls — F mirrors tests.ts ~7372-7460, which only runs against the shared seeded
92
+ * tenant, and the attendee-copy loop changed here).
93
+ *
94
+ * RED (pre-fix): A1-A3 fail (the victim's event is stamped and a replacement carries them), C1/C2 and
95
+ * D1 fail (no server-side enforcement at all). GREEN: every positive control (B, D2, E, F) still
96
+ * passes, before and after.
97
+ */
98
+ var appointment_reschedule_ownership_checks = function () { return __awaiter(void 0, void 0, void 0, function () {
99
+ var checks, record, tenant, sdk_2, secondHostId_1, dayOfWeekStartingSundayIndexedByZero, availability, makeTemplate, makeEnduser, _a, victim_1, attacker_1, slotTemplate, allBlocks_1, startTimes_1, hostsByStartTime_1, usedStartTimes_1, takeSlot_1, book_1, attempt, template_1, victimEvent_1, INTERNAL_NOTE, victimJoinToken_1, eventsWithVictimBefore_1, crossAttempt, victimEventAfter, eventsWithVictimAfter, ownReschedule, replacement, originalAfter, noPortalRescheduleTemplate_1, noPortalEvent_1, noPortalAttempt, noPortalAfter, windowTemplate_1, windowEvent_1, windowAttempt, windowAfter, groupTemplate_1, groupEvent_1, groupAttempt, groupAfter, groupReschedulableTemplate_1, groupReschedulable_1, groupRescheduleAttempt, caregiver_1, relatedContactTemplate_1, bookingPage, relatedContactEvent_1, caregiverReschedule, preserveHostsTemplate_1, preserveOriginal_1, preserveReplacement, replaceHostsTemplate_1, replaceOriginal_1, replaceReplacement, e_1;
100
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k;
101
+ return __generator(this, function (_l) {
102
+ switch (_l.label) {
103
+ case 0:
104
+ checks = [];
105
+ record = function (label, pass, detail) { return checks.push({ label: label, pass: pass, detail: detail }); };
106
+ _l.label = 1;
107
+ case 1:
108
+ _l.trys.push([1, , 46, 51]);
109
+ return [4 /*yield*/, (0, setup_isolated_1.setup_isolated_tenant)({
110
+ name: "reschedule ownership ".concat(RAND()),
111
+ users: [{ isAdmin: true }, { isAdmin: true }],
112
+ apiKeys: 0,
113
+ })];
114
+ case 2:
115
+ tenant = _l.sent();
116
+ sdk_2 = tenant.sdk;
117
+ secondHostId_1 = tenant.users[1].id;
118
+ dayOfWeekStartingSundayIndexedByZero = (new Date().getDay() + 1) % 7;
119
+ availability = {
120
+ weeklyAvailabilities: [{
121
+ dayOfWeekStartingSundayIndexedByZero: dayOfWeekStartingSundayIndexedByZero,
122
+ startTimeInMinutes: 60 * 9,
123
+ endTimeInMinutes: 60 * 17, // 5pm — 16 half-hour slots per occurrence
124
+ }],
125
+ timezone: 'America/New_York',
126
+ };
127
+ // both hosts, so the replaceHostOnReschedule branches below have a second user to swap in
128
+ return [4 /*yield*/, sdk_2.api.users.updateOne(sdk_2.userInfo.id, availability, { replaceObjectFields: true })];
129
+ case 3:
130
+ // both hosts, so the replaceHostOnReschedule branches below have a second user to swap in
131
+ _l.sent();
132
+ return [4 /*yield*/, sdk_2.api.users.updateOne(secondHostId_1, availability, { replaceObjectFields: true })];
133
+ case 4:
134
+ _l.sent();
135
+ makeTemplate = function (extra) {
136
+ if (extra === void 0) { extra = {}; }
137
+ return sdk_2.api.calendar_event_templates.createOne(__assign({ title: "reschedule test ".concat(RAND()), durationInMinutes: 30, confirmationEmailDisabled: true, confirmationSMSDisabled: true }, extra));
138
+ };
139
+ makeEnduser = function (label) { return __awaiter(void 0, void 0, void 0, function () {
140
+ var enduser, authToken, session;
141
+ return __generator(this, function (_a) {
142
+ switch (_a.label) {
143
+ case 0: return [4 /*yield*/, sdk_2.api.endusers.createOne({
144
+ email: "reschedule_".concat(label, "_").concat(Date.now(), "_").concat(RAND(), "@test.tellescope.com"),
145
+ })];
146
+ case 1:
147
+ enduser = _a.sent();
148
+ return [4 /*yield*/, sdk_2.api.endusers.generate_auth_token({ id: enduser.id })];
149
+ case 2:
150
+ authToken = (_a.sent()).authToken;
151
+ session = new sdk_1.EnduserSession({ host: host, authToken: authToken, enduser: enduser, businessId: tenant.businessId });
152
+ return [2 /*return*/, { enduser: enduser, session: session }];
153
+ }
154
+ });
155
+ }); };
156
+ return [4 /*yield*/, Promise.all([makeEnduser('victim'), makeEnduser('attacker')])
157
+ // Every template here is a plain 30-minute one with no restrictions, so one availability query
158
+ // describes them all. Slots are handed out from that pool and never reused — deriving each booking
159
+ // from a fresh "earliest available" query instead makes the suite race with its own bookings
160
+ // (a booking from one template can land on a slot another template still advertises).
161
+ ];
162
+ case 5:
163
+ _a = _l.sent(), victim_1 = _a[0], attacker_1 = _a[1];
164
+ return [4 /*yield*/, makeTemplate()];
165
+ case 6:
166
+ slotTemplate = _l.sent();
167
+ return [4 /*yield*/, victim_1.session.api.calendar_events.get_appointment_availability({
168
+ calendarEventTemplateId: slotTemplate.id,
169
+ from: new Date(Date.now() - 10000),
170
+ to: new Date(Date.now() + 15 * 24 * 60 * 60 * 1000),
171
+ })];
172
+ case 7:
173
+ allBlocks_1 = (_l.sent()).availabilityBlocks;
174
+ startTimes_1 = allBlocks_1.map(function (b) { return b.startTimeInMS; }).filter(function (t, i, all) { return all.indexOf(t) === i; }).sort(function (a, b) { return a - b; });
175
+ hostsByStartTime_1 = new Map(startTimes_1.map(function (t) { return [t, allBlocks_1.filter(function (b) { return b.startTimeInMS === t; }).map(function (b) { return b.userId; })]; }));
176
+ usedStartTimes_1 = new Set();
177
+ takeSlot_1 = function (hostId) {
178
+ var _a;
179
+ var startTimeInMS = startTimes_1.find(function (t) {
180
+ var _a;
181
+ return (!usedStartTimes_1.has(t) && (!hostId || ((_a = hostsByStartTime_1.get(t)) !== null && _a !== void 0 ? _a : []).includes(hostId)));
182
+ });
183
+ if (startTimeInMS === undefined)
184
+ throw new Error("no unused availability left".concat(hostId ? " for host ".concat(hostId) : ''));
185
+ usedStartTimes_1.add(startTimeInMS);
186
+ return { startTimeInMS: startTimeInMS, userId: hostId || ((_a = hostsByStartTime_1.get(startTimeInMS)) !== null && _a !== void 0 ? _a : [])[0] };
187
+ };
188
+ book_1 = function (as, templateId, opts) {
189
+ if (opts === void 0) { opts = {}; }
190
+ return __awaiter(void 0, void 0, void 0, function () {
191
+ var slot;
192
+ return __generator(this, function (_a) {
193
+ switch (_a.label) {
194
+ case 0:
195
+ slot = opts.startTimeInMS !== undefined && opts.userId
196
+ ? { startTimeInMS: opts.startTimeInMS, userId: opts.userId }
197
+ : takeSlot_1(opts.hostId);
198
+ return [4 /*yield*/, as.api.calendar_events.book_appointment(__assign(__assign(__assign({ calendarEventTemplateId: templateId, startTime: new Date(slot.startTimeInMS), userId: slot.userId }, opts.otherUserIds ? { otherUserIds: opts.otherUserIds } : {}), opts.bookingPageId ? { bookingPageId: opts.bookingPageId } : {}), opts.rescheduledCalendarEventId ? { rescheduledCalendarEventId: opts.rescheduledCalendarEventId } : {}))];
199
+ case 1: return [2 /*return*/, (_a.sent()).createdEvent];
200
+ }
201
+ });
202
+ });
203
+ };
204
+ attempt = function (run) { return __awaiter(void 0, void 0, void 0, function () {
205
+ return __generator(this, function (_a) {
206
+ return [2 /*return*/, (run()
207
+ .then(function (createdEvent) { return ({ rejected: false, createdEvent: createdEvent, payload: '' }); })
208
+ .catch(function (err) { return ({
209
+ rejected: true,
210
+ createdEvent: undefined,
211
+ payload: (function () {
212
+ var _a;
213
+ try {
214
+ return JSON.stringify({ data: (_a = err === null || err === void 0 ? void 0 : err.response) === null || _a === void 0 ? void 0 : _a.data, message: err === null || err === void 0 ? void 0 : err.message });
215
+ }
216
+ catch (_b) {
217
+ return String((err === null || err === void 0 ? void 0 : err.message) || err);
218
+ }
219
+ })(),
220
+ }); }))];
221
+ });
222
+ }); };
223
+ template_1 = slotTemplate;
224
+ return [4 /*yield*/, book_1(victim_1.session, template_1.id)];
225
+ case 8:
226
+ victimEvent_1 = _l.sent();
227
+ INTERNAL_NOTE = "staff-only note ".concat(RAND(), " not visible to another patient");
228
+ return [4 /*yield*/, sdk_2.api.calendar_events.updateOne(victimEvent_1.id, { internalNotes: INTERNAL_NOTE })];
229
+ case 9:
230
+ _l.sent();
231
+ victimJoinToken_1 = ((_b = victimEvent_1.attendees.find(function (a) { return a.type === 'enduser'; })) === null || _b === void 0 ? void 0 : _b.joinLinkToken) || '';
232
+ record('setup: victim booked an appointment with a joinLinkToken and staff internalNotes', !!victimEvent_1.id && !!victimJoinToken_1
233
+ && victimEvent_1.attendees.some(function (a) { return a.type === 'enduser' && a.id === victim_1.enduser.id; }), "event=".concat(victimEvent_1.id, " attendees=").concat(JSON.stringify(victimEvent_1.attendees.map(function (a) { return ({ type: a.type, id: a.id }); }))));
234
+ return [4 /*yield*/, sdk_2.api.calendar_events.getSome({ limit: 100 })];
235
+ case 10:
236
+ eventsWithVictimBefore_1 = (_l.sent())
237
+ .filter(function (e) { return e.attendees.some(function (a) { return a.id === victim_1.enduser.id; }); })
238
+ .map(function (e) { return e.id; });
239
+ return [4 /*yield*/, attempt(function () { return book_1(attacker_1.session, template_1.id, {
240
+ rescheduledCalendarEventId: victimEvent_1.id,
241
+ }); })];
242
+ case 11:
243
+ crossAttempt = _l.sent();
244
+ record('A1: another enduser\'s book_appointment with the victim\'s rescheduledCalendarEventId is rejected', crossAttempt.rejected, crossAttempt.rejected
245
+ ? "rejected: ".concat(crossAttempt.payload)
246
+ : "WRONGLY SUCCEEDED, created ".concat((_c = crossAttempt.createdEvent) === null || _c === void 0 ? void 0 : _c.id));
247
+ return [4 /*yield*/, sdk_2.api.calendar_events.getOne(victimEvent_1.id)];
248
+ case 12:
249
+ victimEventAfter = _l.sent();
250
+ record('A2: the victim\'s event is not stamped rescheduledAt / rescheduledTo', !victimEventAfter.rescheduledAt && !victimEventAfter.rescheduledTo, "rescheduledAt=".concat(String(victimEventAfter.rescheduledAt), " rescheduledTo=").concat(String(victimEventAfter.rescheduledTo)));
251
+ return [4 /*yield*/, sdk_2.api.calendar_events.getSome({ limit: 100 })];
252
+ case 13:
253
+ eventsWithVictimAfter = (_l.sent())
254
+ .filter(function (e) { return e.attendees.some(function (a) { return a.id === victim_1.enduser.id; }); })
255
+ .map(function (e) { return e.id; });
256
+ record('A3: no replacement event was created with the victim as an attendee', eventsWithVictimAfter.length === eventsWithVictimBefore_1.length
257
+ && eventsWithVictimAfter.every(function (id) { return eventsWithVictimBefore_1.includes(id); }), "before=".concat(JSON.stringify(eventsWithVictimBefore_1), " after=").concat(JSON.stringify(eventsWithVictimAfter)));
258
+ record('A4: the rejection carries none of the victim\'s internalNotes, joinLinkToken or reminder config', !crossAttempt.payload.includes(INTERNAL_NOTE)
259
+ && !(victimJoinToken_1 && crossAttempt.payload.includes(victimJoinToken_1))
260
+ && !crossAttempt.payload.includes('"reminders"'), "response=".concat(crossAttempt.payload.slice(0, 400)));
261
+ return [4 /*yield*/, attempt(function () { return book_1(victim_1.session, template_1.id, {
262
+ rescheduledCalendarEventId: victimEvent_1.id,
263
+ }); })];
264
+ case 14:
265
+ ownReschedule = _l.sent();
266
+ record('B1: the owner can still reschedule their own appointment', !ownReschedule.rejected && !!((_d = ownReschedule.createdEvent) === null || _d === void 0 ? void 0 : _d.id), ownReschedule.rejected ? "rejected: ".concat(ownReschedule.payload) : "created ".concat(ownReschedule.createdEvent.id));
267
+ if (!!ownReschedule.rejected) return [3 /*break*/, 16];
268
+ replacement = ownReschedule.createdEvent;
269
+ return [4 /*yield*/, sdk_2.api.calendar_events.getOne(victimEvent_1.id)];
270
+ case 15:
271
+ originalAfter = _l.sent();
272
+ record('B2: the original event is stamped rescheduledAt / rescheduledTo -> the replacement', !!originalAfter.rescheduledAt && originalAfter.rescheduledTo === replacement.id, "rescheduledAt=".concat(String(originalAfter.rescheduledAt), " rescheduledTo=").concat(String(originalAfter.rescheduledTo), " replacement=").concat(replacement.id));
273
+ record('B3: internalNotes and the attendee set carry over to the replacement', replacement.internalNotes === INTERNAL_NOTE
274
+ && replacement.attendees.some(function (a) { return a.type === 'enduser' && a.id === victim_1.enduser.id; })
275
+ && replacement.attendees.some(function (a) { return a.type === 'user'; }), "internalNotes=".concat(JSON.stringify(replacement.internalNotes), " attendees=").concat(JSON.stringify(replacement.attendees.map(function (a) { return ({ type: a.type, id: a.id }); }))));
276
+ record('B4: the owner stays the primary attendee, keeps their OWN joinLinkToken, and no other enduser is attached', primaryEnduserId(replacement) === victim_1.enduser.id
277
+ && replacement.attendees.filter(function (a) { return a.type === 'enduser'; }).every(function (a) { return a.id === victim_1.enduser.id; })
278
+ && ((_e = replacement.attendees.find(function (a) { return a.type === 'enduser' && a.id === victim_1.enduser.id; })) === null || _e === void 0 ? void 0 : _e.joinLinkToken) === victimJoinToken_1, "enduser attendees=".concat(JSON.stringify(replacement.attendees.filter(function (a) { return a.type === 'enduser'; }).map(function (a) { return ({ id: a.id, sameToken: a.joinLinkToken === victimJoinToken_1 }); }))));
279
+ _l.label = 16;
280
+ case 16: return [4 /*yield*/, makeTemplate({ preventRescheduleInPortal: true })];
281
+ case 17:
282
+ noPortalRescheduleTemplate_1 = _l.sent();
283
+ return [4 /*yield*/, book_1(victim_1.session, noPortalRescheduleTemplate_1.id)];
284
+ case 18:
285
+ noPortalEvent_1 = _l.sent();
286
+ return [4 /*yield*/, attempt(function () { return book_1(victim_1.session, noPortalRescheduleTemplate_1.id, {
287
+ rescheduledCalendarEventId: noPortalEvent_1.id,
288
+ }); })];
289
+ case 19:
290
+ noPortalAttempt = _l.sent();
291
+ return [4 /*yield*/, sdk_2.api.calendar_events.getOne(noPortalEvent_1.id)];
292
+ case 20:
293
+ noPortalAfter = _l.sent();
294
+ record('C1: preventRescheduleInPortal is enforced on a direct API call by the owner', noPortalAttempt.rejected && !noPortalAfter.rescheduledAt, "rejected=".concat(noPortalAttempt.rejected, " detail=").concat(noPortalAttempt.payload || "created ".concat((_f = noPortalAttempt.createdEvent) === null || _f === void 0 ? void 0 : _f.id)));
295
+ return [4 /*yield*/, makeTemplate({ preventRescheduleMinutesInAdvance: 100000 })];
296
+ case 21:
297
+ windowTemplate_1 = _l.sent();
298
+ return [4 /*yield*/, book_1(victim_1.session, windowTemplate_1.id)];
299
+ case 22:
300
+ windowEvent_1 = _l.sent();
301
+ return [4 /*yield*/, attempt(function () { return book_1(victim_1.session, windowTemplate_1.id, {
302
+ rescheduledCalendarEventId: windowEvent_1.id,
303
+ }); })];
304
+ case 23:
305
+ windowAttempt = _l.sent();
306
+ return [4 /*yield*/, sdk_2.api.calendar_events.getOne(windowEvent_1.id)];
307
+ case 24:
308
+ windowAfter = _l.sent();
309
+ record('C2: preventRescheduleMinutesInAdvance is enforced on a direct API call by the owner', windowAttempt.rejected && !windowAfter.rescheduledAt, "rejected=".concat(windowAttempt.rejected, " detail=").concat(windowAttempt.payload || "created ".concat((_g = windowAttempt.createdEvent) === null || _g === void 0 ? void 0 : _g.id)));
310
+ return [4 /*yield*/, makeTemplate({ enduserAttendeeLimit: 2 })];
311
+ case 25:
312
+ groupTemplate_1 = _l.sent();
313
+ return [4 /*yield*/, book_1(victim_1.session, groupTemplate_1.id)];
314
+ case 26:
315
+ groupEvent_1 = _l.sent();
316
+ return [4 /*yield*/, book_1(attacker_1.session, groupTemplate_1.id, {
317
+ startTimeInMS: groupEvent_1.startTimeInMS,
318
+ userId: groupEvent_1.attendees.find(function (a) { return a.type === 'user'; }).id,
319
+ })];
320
+ case 27:
321
+ _l.sent();
322
+ return [4 /*yield*/, attempt(function () { return book_1(attacker_1.session, groupTemplate_1.id, {
323
+ rescheduledCalendarEventId: groupEvent_1.id,
324
+ }); })];
325
+ case 28:
326
+ groupAttempt = _l.sent();
327
+ return [4 /*yield*/, sdk_2.api.calendar_events.getOne(groupEvent_1.id)];
328
+ case 29:
329
+ groupAfter = _l.sent();
330
+ record('D1: a co-attendee cannot reschedule a group event without allowGroupReschedule', groupAttempt.rejected && !groupAfter.rescheduledAt, "rejected=".concat(groupAttempt.rejected, " rescheduledAt=").concat(String(groupAfter.rescheduledAt), " detail=").concat(groupAttempt.payload));
331
+ return [4 /*yield*/, makeTemplate({ enduserAttendeeLimit: 2, allowGroupReschedule: true })];
332
+ case 30:
333
+ groupReschedulableTemplate_1 = _l.sent();
334
+ return [4 /*yield*/, book_1(victim_1.session, groupReschedulableTemplate_1.id)];
335
+ case 31:
336
+ groupReschedulable_1 = _l.sent();
337
+ return [4 /*yield*/, book_1(attacker_1.session, groupReschedulableTemplate_1.id, {
338
+ startTimeInMS: groupReschedulable_1.startTimeInMS,
339
+ userId: groupReschedulable_1.attendees.find(function (a) { return a.type === 'user'; }).id,
340
+ })];
341
+ case 32:
342
+ _l.sent();
343
+ return [4 /*yield*/, attempt(function () { return book_1(attacker_1.session, groupReschedulableTemplate_1.id, {
344
+ rescheduledCalendarEventId: groupReschedulable_1.id,
345
+ }); })];
346
+ case 33:
347
+ groupRescheduleAttempt = _l.sent();
348
+ record('D2: with allowGroupReschedule a co-attendee may reschedule; both attend and the original primary is kept', !groupRescheduleAttempt.rejected
349
+ && !!((_h = groupRescheduleAttempt.createdEvent) === null || _h === void 0 ? void 0 : _h.attendees.some(function (a) { return a.id === victim_1.enduser.id; }))
350
+ && !!((_j = groupRescheduleAttempt.createdEvent) === null || _j === void 0 ? void 0 : _j.attendees.some(function (a) { return a.id === attacker_1.enduser.id; }))
351
+ // the co-attendee rescheduling must NOT become the event's derived patient
352
+ && primaryEnduserId(groupRescheduleAttempt.createdEvent) === victim_1.enduser.id, groupRescheduleAttempt.rejected
353
+ ? "rejected: ".concat(groupRescheduleAttempt.payload)
354
+ : "attendees=".concat(JSON.stringify(groupRescheduleAttempt.createdEvent.attendees.map(function (a) { return ({ type: a.type, id: a.id }); })))
355
+ + " primaryEnduser=".concat(primaryEnduserId(groupRescheduleAttempt.createdEvent), " (want ").concat(victim_1.enduser.id, ")"));
356
+ return [4 /*yield*/, makeEnduser('caregiver')];
357
+ case 34:
358
+ caregiver_1 = _l.sent();
359
+ return [4 /*yield*/, sdk_2.api.endusers.updateOne(victim_1.enduser.id, {
360
+ relationships: [{ type: 'Caregiver', id: caregiver_1.enduser.id }],
361
+ }, { replaceObjectFields: true })];
362
+ case 35:
363
+ _l.sent();
364
+ return [4 /*yield*/, makeTemplate()];
365
+ case 36:
366
+ relatedContactTemplate_1 = _l.sent();
367
+ return [4 /*yield*/, sdk_2.api.appointment_booking_pages.createOne({
368
+ title: "related contacts ".concat(RAND()),
369
+ locationIds: [],
370
+ calendarEventTemplateIds: [relatedContactTemplate_1.id],
371
+ includeRelatedContactTypes: ['Caregiver'],
372
+ })];
373
+ case 37:
374
+ bookingPage = _l.sent();
375
+ return [4 /*yield*/, book_1(victim_1.session, relatedContactTemplate_1.id, { bookingPageId: bookingPage.id })];
376
+ case 38:
377
+ relatedContactEvent_1 = _l.sent();
378
+ record('E1: a related contact is attached as an attendee at booking time', relatedContactEvent_1.attendees.some(function (a) { return a.id === caregiver_1.enduser.id; }), "attendees=".concat(JSON.stringify(relatedContactEvent_1.attendees.map(function (a) { return ({ type: a.type, id: a.id }); })), " caregiver=").concat(caregiver_1.enduser.id));
379
+ return [4 /*yield*/, attempt(function () { return book_1(caregiver_1.session, relatedContactTemplate_1.id, {
380
+ rescheduledCalendarEventId: relatedContactEvent_1.id,
381
+ }); })];
382
+ case 39:
383
+ caregiverReschedule = _l.sent();
384
+ record('E2: the caregiver can still reschedule, and the PATIENT stays the primary enduser attendee', !caregiverReschedule.rejected
385
+ && !!((_k = caregiverReschedule.createdEvent) === null || _k === void 0 ? void 0 : _k.attendees.some(function (a) { return a.id === caregiver_1.enduser.id; }))
386
+ // the appointment must still resolve to the patient: EHR sync, triggers/webhooks and
387
+ // session_for_join_link all read the first enduser attendee
388
+ && primaryEnduserId(caregiverReschedule.createdEvent) === victim_1.enduser.id, caregiverReschedule.rejected
389
+ ? "rejected: ".concat(caregiverReschedule.payload)
390
+ : "attendees=".concat(JSON.stringify(caregiverReschedule.createdEvent.attendees.map(function (a) { return ({ type: a.type, id: a.id }); })))
391
+ + " primaryEnduser=".concat(primaryEnduserId(caregiverReschedule.createdEvent), " (want patient ").concat(victim_1.enduser.id, ")"));
392
+ return [4 /*yield*/, makeTemplate({ replaceHostOnReschedule: false })];
393
+ case 40:
394
+ preserveHostsTemplate_1 = _l.sent();
395
+ return [4 /*yield*/, book_1(victim_1.session, preserveHostsTemplate_1.id, {
396
+ hostId: sdk_2.userInfo.id,
397
+ otherUserIds: [secondHostId_1],
398
+ })];
399
+ case 41:
400
+ preserveOriginal_1 = _l.sent();
401
+ return [4 /*yield*/, attempt(function () { return book_1(victim_1.session, preserveHostsTemplate_1.id, {
402
+ hostId: secondHostId_1,
403
+ rescheduledCalendarEventId: preserveOriginal_1.id,
404
+ }); })];
405
+ case 42:
406
+ preserveReplacement = _l.sent();
407
+ record('F1: replaceHostOnReschedule false still preserves both user attendees', !preserveReplacement.rejected
408
+ && userAttendeeIds(preserveReplacement.createdEvent).length === 2
409
+ && userAttendeeIds(preserveReplacement.createdEvent).includes(sdk_2.userInfo.id)
410
+ && userAttendeeIds(preserveReplacement.createdEvent).includes(secondHostId_1), preserveReplacement.rejected
411
+ ? "rejected: ".concat(preserveReplacement.payload)
412
+ : "user attendees=".concat(JSON.stringify(userAttendeeIds(preserveReplacement.createdEvent))));
413
+ return [4 /*yield*/, makeTemplate({ replaceHostOnReschedule: true })];
414
+ case 43:
415
+ replaceHostsTemplate_1 = _l.sent();
416
+ return [4 /*yield*/, book_1(victim_1.session, replaceHostsTemplate_1.id, {
417
+ hostId: sdk_2.userInfo.id,
418
+ otherUserIds: [secondHostId_1],
419
+ })];
420
+ case 44:
421
+ replaceOriginal_1 = _l.sent();
422
+ return [4 /*yield*/, attempt(function () { return book_1(victim_1.session, replaceHostsTemplate_1.id, {
423
+ hostId: secondHostId_1,
424
+ rescheduledCalendarEventId: replaceOriginal_1.id,
425
+ }); })];
426
+ case 45:
427
+ replaceReplacement = _l.sent();
428
+ record('F2: replaceHostOnReschedule true still replaces the hosts and keeps the enduser attendee', !replaceReplacement.rejected
429
+ && userAttendeeIds(replaceReplacement.createdEvent).length === 1
430
+ && userAttendeeIds(replaceReplacement.createdEvent)[0] === secondHostId_1
431
+ && replaceReplacement.createdEvent.attendees.filter(function (a) { return a.type === 'enduser'; }).length === 1
432
+ && replaceReplacement.createdEvent.attendees.some(function (a) { return a.id === victim_1.enduser.id; }), replaceReplacement.rejected
433
+ ? "rejected: ".concat(replaceReplacement.payload)
434
+ : "attendees=".concat(JSON.stringify(replaceReplacement.createdEvent.attendees.map(function (a) { return ({ type: a.type, id: a.id }); }))));
435
+ return [3 /*break*/, 51];
436
+ case 46:
437
+ if (!tenant) return [3 /*break*/, 50];
438
+ _l.label = 47;
439
+ case 47:
440
+ _l.trys.push([47, 49, , 50]);
441
+ return [4 /*yield*/, tenant.teardown()];
442
+ case 48:
443
+ _l.sent();
444
+ return [3 /*break*/, 50];
445
+ case 49:
446
+ e_1 = _l.sent();
447
+ console.error('teardown failed', e_1);
448
+ return [3 /*break*/, 50];
449
+ case 50: return [7 /*endfinally*/];
450
+ case 51: return [2 /*return*/, checks];
451
+ }
452
+ });
453
+ }); };
454
+ exports.appointment_reschedule_ownership_checks = appointment_reschedule_ownership_checks;
455
+ /** Asserting wrapper, for standalone runs and for sequential use in the suite. */
456
+ var appointment_reschedule_ownership_tests = function () { return __awaiter(void 0, void 0, void 0, function () {
457
+ var _a, _b;
458
+ return __generator(this, function (_c) {
459
+ switch (_c.label) {
460
+ case 0:
461
+ _a = setup_isolated_1.assert_checks;
462
+ _b = ['book_appointment reschedule ownership'];
463
+ return [4 /*yield*/, (0, exports.appointment_reschedule_ownership_checks)()];
464
+ case 1:
465
+ _a.apply(void 0, _b.concat([_c.sent()]));
466
+ return [2 /*return*/];
467
+ }
468
+ });
469
+ }); };
470
+ exports.appointment_reschedule_ownership_tests = appointment_reschedule_ownership_tests;
471
+ // Allow running this test file independently
472
+ if (require.main === module) {
473
+ console.log("\uD83C\uDF10 Using API URL: ".concat(host));
474
+ (0, exports.appointment_reschedule_ownership_tests)()
475
+ .then(function () {
476
+ console.log("✅ book_appointment reschedule ownership test suite completed successfully");
477
+ process.exit(0);
478
+ })
479
+ .catch(function (error) {
480
+ console.error("❌ book_appointment reschedule ownership test suite failed:", error);
481
+ process.exit(1);
482
+ });
483
+ }
484
+ //# sourceMappingURL=appointment-reschedule-ownership.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"appointment-reschedule-ownership.test.js","sourceRoot":"","sources":["../../../../../src/tests/api_tests/security/appointment-reschedule-ownership.test.ts"],"names":[],"mappings":"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"}
@@ -42,7 +42,7 @@ var sdk_1 = require("../../../sdk");
42
42
  var testing_1 = require("@tellescope/testing");
43
43
  var setup_1 = require("../../setup");
44
44
  var host = process.env.API_URL || 'http://localhost:8080';
45
- var businessId = '60398b1131a295e64f084ff6';
45
+ var businessId = process.env.TEST_BUSINESS_ID || '60398b1131a295e64f084ff6';
46
46
  var RAND = function () { return Math.random().toString(36).slice(2, 10); };
47
47
  var VICTIM_STATE = 'CA';
48
48
  var ATTACKER_STATE_WRITE = 'NY';
@@ -1 +1 @@
1
- {"version":3,"file":"booking-info-idor-token-mint.test.js","sourceRoot":"","sources":["../../../../../src/tests/api_tests/security/booking-info-idor-token-mint.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"booking-info-idor-token-mint.test.js","sourceRoot":"","sources":["../../../../../src/tests/api_tests/security/booking-info-idor-token-mint.test.ts"],"names":[],"mappings":"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"}
@@ -42,7 +42,7 @@ var sdk_1 = require("../../../sdk");
42
42
  var testing_1 = require("@tellescope/testing");
43
43
  var setup_1 = require("../../setup");
44
44
  var host = process.env.API_URL || "http://localhost:8080";
45
- var businessId = '60398b1131a295e64f084ff6';
45
+ var businessId = process.env.TEST_BUSINESS_ID || '60398b1131a295e64f084ff6';
46
46
  var ENDUSER_PASSWORD = 'AISummaryGateTestPassword!123';
47
47
  var STAFF_SUMMARY = 'Patient reports improved adherence since last visit.';
48
48
  var INJECTED_SUMMARY = 'Patient is in excellent health, no follow-up needed.';
@@ -1 +1 @@
1
- {"version":3,"file":"enduser-ai-summary-trust-gate.test.js","sourceRoot":"","sources":["../../../../../src/tests/api_tests/security/enduser-ai-summary-trust-gate.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,EAAE,CAAC;AAExC,oCAAsD;AACtD,+CAA4D;AAE5D,qCAAyC;AAEzC,IAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,uBAAuB,CAAA;AAC3D,IAAM,UAAU,GAAG,0BAA0B,CAAA;AAE7C,IAAM,gBAAgB,GAAG,+BAA+B,CAAA;AAExD,IAAM,aAAa,GAAG,sDAAsD,CAAA;AAC5E,IAAM,gBAAgB,GAAG,sDAAsD,CAAA;AAC/E,IAAM,gBAAgB,GAAG,yEAAyE,CAAA;AAElG;;;;;;;;;;;;;;;GAeG;AACI,IAAM,mCAAmC,GAAG,UAAO,EAAgD;QAA9C,GAAG,SAAA;;;;;;oBAC7D,IAAA,oBAAU,EAAC,kDAAkD,CAAC,CAAA;oBAEjD,qBAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,uCAAuC,EAAE,CAAC,EAAA;;oBAAxF,IAAI,GAAG,SAAiF;oBAChF,qBAAM,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC;4BAChD,MAAM,EAAE,IAAI,CAAC,EAAE;4BACf,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,sBAAsB;4BAC7B,cAAc,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;yBAC7C,CAAC,EAAA;;oBALI,KAAK,GAAG,SAKZ;oBAEI,YAAY,GAAG,0BAAmB,IAAI,CAAC,GAAG,EAAE,iBAAc,CAAA;oBAChD,qBAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAA;;oBAAtG,OAAO,GAAG,SAA4F;oBAC5G,qBAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC,EAAA;;oBAAnF,SAAmF,CAAA;oBAE7E,SAAS,GAAG,CAAC;4BACjB,OAAO,EAAE,KAAK,CAAC,EAAE,EAAE,UAAU,EAAE,sBAAsB;4BACrD,MAAM,EAAE,EAAE,IAAI,EAAE,QAAiB,EAAE,KAAK,EAAE,YAAY,EAAE;yBACzD,CAAC,CAAA;;;;oBAQwC,qBAAM,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,qBAAqB,CAAC;4BACzF,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;yBACvC,CAAC,EAAA;;oBAFM,oBAAgC,CAAA,SAEtC,CAAA,WAFiC;oBAGnC,qBAAM,IAAA,oBAAU,EACd,yDAAyD,EACzD,cAAM,OAAA,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,oBAAoB,CAAC;4BAChD,UAAU,EAAE,iBAAe;4BAC3B,SAAS,WAAA;4BACT,gBAAgB,EAAE,aAAa;yBAChC,CAAC,EAJI,CAIJ,EACF,EAAE,QAAQ,EAAE,UAAC,EAAgD;oCAA9C,YAAY,kBAAA;gCACzB,eAAe,GAAG,YAAY,CAAC,EAAE,CAAA;gCACjC,OAAO,CAAC,CAAC,YAAY,CAAC,WAAW,IAAI,YAAY,CAAC,gBAAgB,KAAK,aAAa,CAAA;4BACtF,CAAC,EAAC,CACH,EAAA;;oBAXD,SAWC,CAAA;oBACD,qBAAM,IAAA,oBAAU,EACd,sDAAsD,EACtD,cAAM,OAAA,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,eAAgB,CAAC,EAA/C,CAA+C,EACrD,EAAE,QAAQ,EAAE,UAAC,EAAgB,IAAK,OAAA,EAAE,CAAC,gBAAgB,KAAK,aAAa,EAArC,CAAqC,EAAE,CAC1E;wBAED,8DAA8D;sBAF7D;;oBAJD,SAIC,CAAA;oBAGK,eAAa,IAAI,oBAAc,CAAC,EAAE,IAAI,MAAA,EAAE,UAAU,YAAA,EAAE,CAAC,CAAA;oBAC3D,qBAAM,YAAU,CAAC,YAAY,CAAC,YAAY,EAAE,gBAAgB,CAAC,EAAA;;oBAA7D,SAA6D,CAAA;oBAEnB,qBAAM,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,qBAAqB,CAAC;4BAC3F,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;yBACvC,CAAC,EAAA;;oBAFM,sBAAkC,CAAA,SAExC,CAAA,WAFmC;oBAGrC,qBAAM,IAAA,oBAAU,EACd,4EAA4E,EAC5E,cAAM,OAAA,YAAU,CAAC,GAAG,CAAC,cAAc,CAAC,oBAAoB,CAAC;4BACvD,UAAU,EAAE,mBAAiB;4BAC7B,SAAS,WAAA;4BACT,gBAAgB,EAAE,gBAAgB;yBACnC,CAAC,EAJI,CAIJ,EACF,EAAE,QAAQ,EAAE,UAAC,EAAgD;oCAA9C,YAAY,kBAAA;gCACzB,iBAAiB,GAAG,YAAY,CAAC,EAAE,CAAA;gCACnC,OAAO,CAAC,CAAC,YAAY,CAAC,WAAW,IAAI,YAAY,CAAC,gBAAgB,KAAK,SAAS,CAAA;4BAClF,CAAC,EAAC,CACH,EAAA;;oBAXD,SAWC,CAAA;oBACD,qBAAM,IAAA,oBAAU,EACd,2CAA2C,EAC3C,cAAM,OAAA,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,iBAAkB,CAAC,EAAjD,CAAiD,EACvD,EAAE,QAAQ,EAAE,UAAC,EAAgB,IAAK,OAAA,EAAE,CAAC,gBAAgB,KAAK,SAAS,EAAjC,CAAiC,EAAE,CACtE;wBAED,4EAA4E;wBAC5E,iFAAiF;sBAHhF;;oBAJD,SAIC,CAAA;oBAIyC,qBAAM,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,qBAAqB,CAAC;4BAC3F,SAAS,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;yBACvC,CAAC,EAAA;;oBAFM,sBAAkC,CAAA,SAExC,CAAA,WAFmC;oBAGb,qBAAM,YAAU,CAAC,GAAG,CAAC,cAAc,CAAC,oBAAoB,CAAC;4BAC/E,UAAU,EAAE,mBAAiB;4BAC7B,SAAS,WAAA;yBACV,CAAC,EAAA;;oBAHI,eAAe,GAAG,SAGtB;oBACF,iBAAiB,GAAG,eAAe,CAAC,YAAY,CAAC,EAAE,CAAA;oBACnD,qBAAM,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,iBAAiB,EAAE;4BACxD,kBAAkB,EAAE,gBAAgB;4BACpC,6BAA6B,EAAE,IAAI,IAAI,EAAE;yBAC1C,CAAC,EAAA;;oBAHF,SAGE,CAAA;oBAEF,qBAAM,IAAA,oBAAU,EACd,wCAAwC,EACxC,cAAM,OAAA,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,iBAAkB,CAAC,EAAjD,CAAiD,EACvD,EAAE,QAAQ,EAAE,UAAC,EAAgB,IAAK,OAAA,EAAE,CAAC,kBAAkB,KAAK,gBAAgB,EAA1C,CAA0C,EAAE,CAC/E,EAAA;;oBAJD,SAIC,CAAA;oBACD,qBAAM,IAAA,oBAAU,EACd,mDAAmD,EACnD,cAAM,OAAA,YAAU,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,iBAAkB,CAAC,EAAxD,CAAwD,EAC9D,EAAE,QAAQ,EAAE,UAAC,EAAgB,IAAK,OAAA,CAChC,EAAE,CAAC,kBAAkB,KAAK,SAAS,IAAI,EAAE,CAAC,6BAA6B,KAAK,SAAS,CACtF,EAFiC,CAEjC,EAAC,CACH,EAAA;;oBAND,SAMC,CAAA;oBACD,qBAAM,IAAA,oBAAU,EACd,oDAAoD,EACpD,cAAM,OAAA,YAAU,CAAC,GAAG,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,iBAAkB,CAAC,EAAE,CAAC,EAApE,CAAoE,EAC1E,EAAE,QAAQ,EAAE,UAAC,GAAmB,IAAK,OAAA,GAAG,CAAC,KAAK,CAAC,UAAA,EAAE,IAAI,OAAA,CACnD,EAAE,CAAC,kBAAkB,KAAK,SAAS,IAAI,EAAE,CAAC,6BAA6B,KAAK,SAAS,CACtF,EAFoD,CAEpD,CAAC,EAFmC,CAEnC,EAAC,CACJ;wBACD,oFAAoF;sBADnF;;oBAND,SAMC,CAAA;oBACD,oFAAoF;oBACpF,qBAAM,IAAA,oBAAU,EACd,2DAA2D,EAC3D,cAAM,OAAA,YAAU,CAAC,GAAG,CAAC,cAAc,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,mBAAiB,EAAE,CAAC,EAArF,CAAqF,EAC3F,EAAE,QAAQ,EAAE,UAAC,EAAwC;oCAAtC,QAAQ,cAAA;gCAAmC,OAAA,CACxD,QAAQ,CAAC,kBAAkB,KAAK,SAAS,IAAI,QAAQ,CAAC,6BAA6B,KAAK,SAAS,CAClG;4BAFyD,CAEzD,EAAC,CACH,EAAA;;oBAPD,oFAAoF;oBACpF,SAMC,CAAA;oBACD,qBAAM,IAAA,oBAAU,EACd,0DAA0D,EAC1D,cAAM,OAAA,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAAE,mBAAiB,EAAE,CAAC,EAA9E,CAA8E,EACpF,EAAE,QAAQ,EAAE,UAAC,EAAwC;oCAAtC,QAAQ,cAAA;gCAAmC,OAAA,QAAQ,CAAC,kBAAkB,KAAK,gBAAgB;4BAAhD,CAAgD,EAAE,CAC7G,EAAA;;oBAJD,SAIC,CAAA;;;yBAEG,eAAe,EAAf,yBAAe;;;;oBAAU,qBAAM,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,eAAe,CAAC,EAAA;;oBAAvD,SAAuD,CAAA;;;;;;yBAChF,iBAAiB,EAAjB,yBAAiB;;;;oBAAU,qBAAM,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAA;;oBAAzD,SAAyD,CAAA;;;;;;yBACpF,iBAAiB,EAAjB,yBAAiB;;;;oBAAU,qBAAM,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAA;;oBAAzD,SAAyD,CAAA;;;;;;;oBAClF,qBAAM,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,EAAA;;oBAA5C,SAA4C,CAAA;;;;;;;oBAC5C,qBAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,EAAA;;oBAAtC,SAAsC,CAAA;;;;;;;;;;CAE/C,CAAA;AA9HY,QAAA,mCAAmC,uCA8H/C;AAED,6CAA6C;AAC7C,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE;IAC3B,OAAO,CAAC,GAAG,CAAC,sCAAqB,IAAI,CAAE,CAAC,CAAA;IACxC,IAAM,KAAG,GAAG,IAAI,aAAO,CAAC,EAAE,IAAI,MAAA,EAAE,CAAC,CAAA;IACjC,IAAM,aAAW,GAAG,IAAI,aAAO,CAAC,EAAE,IAAI,MAAA,EAAE,CAAC,CAAA;IAEzC,IAAM,QAAQ,GAAG;;;wBACf,qBAAM,IAAA,mBAAW,EAAC,KAAG,EAAE,aAAW,CAAC,EAAA;;oBAAnC,SAAmC,CAAA;oBACnC,qBAAM,IAAA,2CAAmC,EAAC,EAAE,GAAG,OAAA,EAAE,WAAW,eAAA,EAAE,CAAC,EAAA;;oBAA/D,SAA+D,CAAA;;;;SAChE,CAAA;IAED,QAAQ,EAAE;SACP,IAAI,CAAC;QACJ,OAAO,CAAC,GAAG,CAAC,4DAA4D,CAAC,CAAA;QACzE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAC;SACD,KAAK,CAAC,UAAC,KAAK;QACX,OAAO,CAAC,KAAK,CAAC,6CAA6C,EAAE,KAAK,CAAC,CAAA;QACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAC,CAAA;CACL"}
1
+ {"version":3,"file":"enduser-ai-summary-trust-gate.test.js","sourceRoot":"","sources":["../../../../../src/tests/api_tests/security/enduser-ai-summary-trust-gate.test.ts"],"names":[],"mappings":"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"}