@tellescope/sdk 1.256.14 → 1.256.16

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 (293) hide show
  1. package/lib/cjs/sdk.d.ts +2 -2
  2. package/lib/cjs/tests/api_tests/auto_merge_form_submission.test.js +1 -1
  3. package/lib/cjs/tests/api_tests/auto_merge_form_submission.test.js.map +1 -1
  4. package/lib/cjs/tests/api_tests/enduser_observations_auto_review.test.d.ts +5 -0
  5. package/lib/cjs/tests/api_tests/enduser_observations_auto_review.test.d.ts.map +1 -0
  6. package/lib/cjs/tests/api_tests/enduser_observations_auto_review.test.js +388 -0
  7. package/lib/cjs/tests/api_tests/enduser_observations_auto_review.test.js.map +1 -0
  8. package/lib/cjs/tests/api_tests/integrations_redacted.test.js +3 -3
  9. package/lib/cjs/tests/api_tests/integrations_redacted.test.js.map +1 -1
  10. package/lib/cjs/tests/api_tests/organization_signup.test.d.ts +1 -1
  11. package/lib/cjs/tests/api_tests/organization_signup.test.js +1 -1
  12. package/lib/cjs/tests/api_tests/purchase_made_trigger.test.d.ts.map +1 -1
  13. package/lib/cjs/tests/api_tests/purchase_made_trigger.test.js +103 -162
  14. package/lib/cjs/tests/api_tests/purchase_made_trigger.test.js.map +1 -1
  15. package/lib/cjs/tests/api_tests/security/F-0200-form-logic-js-execution.test.d.ts +33 -0
  16. package/lib/cjs/tests/api_tests/security/F-0200-form-logic-js-execution.test.d.ts.map +1 -0
  17. package/lib/cjs/tests/api_tests/security/F-0200-form-logic-js-execution.test.js +249 -0
  18. package/lib/cjs/tests/api_tests/security/F-0200-form-logic-js-execution.test.js.map +1 -0
  19. package/lib/cjs/tests/api_tests/security/add-to-journey-foreign-enduserid.test.d.ts +42 -0
  20. package/lib/cjs/tests/api_tests/security/add-to-journey-foreign-enduserid.test.d.ts.map +1 -0
  21. package/lib/cjs/tests/api_tests/security/add-to-journey-foreign-enduserid.test.js +281 -0
  22. package/lib/cjs/tests/api_tests/security/add-to-journey-foreign-enduserid.test.js.map +1 -0
  23. package/lib/cjs/tests/api_tests/security/ai-conversations-rbac.test.d.ts +38 -0
  24. package/lib/cjs/tests/api_tests/security/ai-conversations-rbac.test.d.ts.map +1 -0
  25. package/lib/cjs/tests/api_tests/security/ai-conversations-rbac.test.js +390 -0
  26. package/lib/cjs/tests/api_tests/security/ai-conversations-rbac.test.js.map +1 -0
  27. package/lib/cjs/tests/api_tests/security/allowed-paths-confinement.test.d.ts +6 -0
  28. package/lib/cjs/tests/api_tests/security/allowed-paths-confinement.test.d.ts.map +1 -0
  29. package/lib/cjs/tests/api_tests/security/allowed-paths-confinement.test.js +1003 -0
  30. package/lib/cjs/tests/api_tests/security/allowed-paths-confinement.test.js.map +1 -0
  31. package/lib/cjs/tests/api_tests/security/automated-actions-process-gate.test.d.ts +42 -0
  32. package/lib/cjs/tests/api_tests/security/automated-actions-process-gate.test.d.ts.map +1 -0
  33. package/lib/cjs/tests/api_tests/security/automated-actions-process-gate.test.js +323 -0
  34. package/lib/cjs/tests/api_tests/security/automated-actions-process-gate.test.js.map +1 -0
  35. package/lib/cjs/tests/api_tests/security/booking-info-idor-token-mint.test.d.ts +29 -0
  36. package/lib/cjs/tests/api_tests/security/booking-info-idor-token-mint.test.d.ts.map +1 -0
  37. package/lib/cjs/tests/api_tests/security/booking-info-idor-token-mint.test.js +335 -0
  38. package/lib/cjs/tests/api_tests/security/booking-info-idor-token-mint.test.js.map +1 -0
  39. package/lib/cjs/tests/api_tests/security/cascade-role-rename-cross-tenant.test.d.ts +32 -0
  40. package/lib/cjs/tests/api_tests/security/cascade-role-rename-cross-tenant.test.d.ts.map +1 -0
  41. package/lib/cjs/tests/api_tests/security/cascade-role-rename-cross-tenant.test.js +237 -0
  42. package/lib/cjs/tests/api_tests/security/cascade-role-rename-cross-tenant.test.js.map +1 -0
  43. package/lib/cjs/tests/api_tests/security/data-sync-redaction-bypass.test.d.ts +28 -0
  44. package/lib/cjs/tests/api_tests/security/data-sync-redaction-bypass.test.d.ts.map +1 -0
  45. package/lib/cjs/tests/api_tests/security/data-sync-redaction-bypass.test.js +349 -0
  46. package/lib/cjs/tests/api_tests/security/data-sync-redaction-bypass.test.js.map +1 -0
  47. package/lib/cjs/tests/api_tests/security/develop-health-benefit-verification-rbac.test.d.ts +30 -0
  48. package/lib/cjs/tests/api_tests/security/develop-health-benefit-verification-rbac.test.d.ts.map +1 -0
  49. package/lib/cjs/tests/api_tests/security/develop-health-benefit-verification-rbac.test.js +314 -0
  50. package/lib/cjs/tests/api_tests/security/develop-health-benefit-verification-rbac.test.js.map +1 -0
  51. package/lib/cjs/tests/api_tests/security/enduser-cross-create.test.d.ts +21 -0
  52. package/lib/cjs/tests/api_tests/security/enduser-cross-create.test.d.ts.map +1 -0
  53. package/lib/cjs/tests/api_tests/security/enduser-cross-create.test.js +362 -0
  54. package/lib/cjs/tests/api_tests/security/enduser-cross-create.test.js.map +1 -0
  55. package/lib/cjs/tests/api_tests/security/enduser-write-restrictions.test.d.ts +21 -0
  56. package/lib/cjs/tests/api_tests/security/enduser-write-restrictions.test.d.ts.map +1 -0
  57. package/lib/cjs/tests/api_tests/security/enduser-write-restrictions.test.js +366 -0
  58. package/lib/cjs/tests/api_tests/security/enduser-write-restrictions.test.js.map +1 -0
  59. package/lib/cjs/tests/api_tests/security/file-link-session-confinement.test.d.ts +5 -0
  60. package/lib/cjs/tests/api_tests/security/file-link-session-confinement.test.d.ts.map +1 -0
  61. package/lib/cjs/tests/api_tests/security/file-link-session-confinement.test.js +357 -0
  62. package/lib/cjs/tests/api_tests/security/file-link-session-confinement.test.js.map +1 -0
  63. package/lib/cjs/tests/api_tests/security/form-logic-js-execution.test.d.ts +32 -0
  64. package/lib/cjs/tests/api_tests/security/form-logic-js-execution.test.d.ts.map +1 -0
  65. package/lib/cjs/tests/api_tests/security/form-logic-js-execution.test.js +248 -0
  66. package/lib/cjs/tests/api_tests/security/form-logic-js-execution.test.js.map +1 -0
  67. package/lib/cjs/tests/api_tests/security/globalunique-conflict-redaction.test.d.ts +19 -0
  68. package/lib/cjs/tests/api_tests/security/globalunique-conflict-redaction.test.d.ts.map +1 -0
  69. package/lib/cjs/tests/api_tests/security/globalunique-conflict-redaction.test.js +138 -0
  70. package/lib/cjs/tests/api_tests/security/globalunique-conflict-redaction.test.js.map +1 -0
  71. package/lib/cjs/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.d.ts +24 -0
  72. package/lib/cjs/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.d.ts.map +1 -0
  73. package/lib/cjs/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.js +201 -0
  74. package/lib/cjs/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.js.map +1 -0
  75. package/lib/cjs/tests/api_tests/security/invite-user-enumeration.test.d.ts +29 -0
  76. package/lib/cjs/tests/api_tests/security/invite-user-enumeration.test.d.ts.map +1 -0
  77. package/lib/cjs/tests/api_tests/security/invite-user-enumeration.test.js +278 -0
  78. package/lib/cjs/tests/api_tests/security/invite-user-enumeration.test.js.map +1 -0
  79. package/lib/cjs/tests/api_tests/security/load-inbox-redaction.test.d.ts +17 -0
  80. package/lib/cjs/tests/api_tests/security/load-inbox-redaction.test.d.ts.map +1 -0
  81. package/lib/cjs/tests/api_tests/security/load-inbox-redaction.test.js +155 -0
  82. package/lib/cjs/tests/api_tests/security/load-inbox-redaction.test.js.map +1 -0
  83. package/lib/cjs/tests/api_tests/security/prototype-pollution.test.d.ts +2 -0
  84. package/lib/cjs/tests/api_tests/security/prototype-pollution.test.d.ts.map +1 -0
  85. package/lib/cjs/tests/api_tests/security/prototype-pollution.test.js +88 -0
  86. package/lib/cjs/tests/api_tests/security/prototype-pollution.test.js.map +1 -0
  87. package/lib/cjs/tests/api_tests/security/proxy-image-unauth-ssrf.test.d.ts +34 -0
  88. package/lib/cjs/tests/api_tests/security/proxy-image-unauth-ssrf.test.d.ts.map +1 -0
  89. package/lib/cjs/tests/api_tests/security/proxy-image-unauth-ssrf.test.js +230 -0
  90. package/lib/cjs/tests/api_tests/security/proxy-image-unauth-ssrf.test.js.map +1 -0
  91. package/lib/cjs/tests/api_tests/security/sanitize-user-html-with-iframes.test.d.ts +2 -0
  92. package/lib/cjs/tests/api_tests/security/sanitize-user-html-with-iframes.test.d.ts.map +1 -0
  93. package/lib/cjs/tests/api_tests/security/sanitize-user-html-with-iframes.test.js +242 -0
  94. package/lib/cjs/tests/api_tests/security/sanitize-user-html-with-iframes.test.js.map +1 -0
  95. package/lib/cjs/tests/api_tests/security/sanitize-user-html.test.d.ts +2 -0
  96. package/lib/cjs/tests/api_tests/security/sanitize-user-html.test.d.ts.map +1 -0
  97. package/lib/cjs/tests/api_tests/security/sanitize-user-html.test.js +148 -0
  98. package/lib/cjs/tests/api_tests/security/sanitize-user-html.test.js.map +1 -0
  99. package/lib/cjs/tests/api_tests/security/schema-adminonly-enforcement.test.d.ts +45 -0
  100. package/lib/cjs/tests/api_tests/security/schema-adminonly-enforcement.test.d.ts.map +1 -0
  101. package/lib/cjs/tests/api_tests/security/schema-adminonly-enforcement.test.js +388 -0
  102. package/lib/cjs/tests/api_tests/security/schema-adminonly-enforcement.test.js.map +1 -0
  103. package/lib/cjs/tests/api_tests/security/self-admin-role-assignment.test.d.ts +38 -0
  104. package/lib/cjs/tests/api_tests/security/self-admin-role-assignment.test.d.ts.map +1 -0
  105. package/lib/cjs/tests/api_tests/security/self-admin-role-assignment.test.js +222 -0
  106. package/lib/cjs/tests/api_tests/security/self-admin-role-assignment.test.js.map +1 -0
  107. package/lib/cjs/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.d.ts +6 -0
  108. package/lib/cjs/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.d.ts.map +1 -0
  109. package/lib/cjs/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.js +354 -0
  110. package/lib/cjs/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.js.map +1 -0
  111. package/lib/cjs/tests/api_tests/security/webhook-outbound-ssrf.test.d.ts +28 -0
  112. package/lib/cjs/tests/api_tests/security/webhook-outbound-ssrf.test.d.ts.map +1 -0
  113. package/lib/cjs/tests/api_tests/security/webhook-outbound-ssrf.test.js +442 -0
  114. package/lib/cjs/tests/api_tests/security/webhook-outbound-ssrf.test.js.map +1 -0
  115. package/lib/cjs/tests/api_tests/security/webhook-timeout.test.d.ts +19 -0
  116. package/lib/cjs/tests/api_tests/security/webhook-timeout.test.d.ts.map +1 -0
  117. package/lib/cjs/tests/api_tests/security/webhook-timeout.test.js +156 -0
  118. package/lib/cjs/tests/api_tests/security/webhook-timeout.test.js.map +1 -0
  119. package/lib/cjs/tests/api_tests/webhook_error_handling.test.js +2 -2
  120. package/lib/cjs/tests/api_tests/webhook_error_handling.test.js.map +1 -1
  121. package/lib/cjs/tests/tests.d.ts.map +1 -1
  122. package/lib/cjs/tests/tests.js +60 -46
  123. package/lib/cjs/tests/tests.js.map +1 -1
  124. package/lib/cjs/tests/unit_tests/openapi_spec_freshness.test.d.ts +1 -1
  125. package/lib/cjs/tests/unit_tests/openapi_spec_freshness.test.js +1 -1
  126. package/lib/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  127. package/lib/esm/enduser.d.ts +0 -1
  128. package/lib/esm/enduser.d.ts.map +1 -1
  129. package/lib/esm/sdk.d.ts +4 -5
  130. package/lib/esm/sdk.d.ts.map +1 -1
  131. package/lib/esm/session.d.ts +0 -1
  132. package/lib/esm/session.d.ts.map +1 -1
  133. package/lib/esm/tests/api_tests/auto_merge_form_submission.test.js +1 -1
  134. package/lib/esm/tests/api_tests/auto_merge_form_submission.test.js.map +1 -1
  135. package/lib/esm/tests/api_tests/enduser_observations_auto_review.test.d.ts +5 -0
  136. package/lib/esm/tests/api_tests/enduser_observations_auto_review.test.d.ts.map +1 -0
  137. package/lib/esm/tests/api_tests/enduser_observations_auto_review.test.js +383 -0
  138. package/lib/esm/tests/api_tests/enduser_observations_auto_review.test.js.map +1 -0
  139. package/lib/esm/tests/api_tests/integrations_redacted.test.js +3 -3
  140. package/lib/esm/tests/api_tests/integrations_redacted.test.js.map +1 -1
  141. package/lib/esm/tests/api_tests/organization_signup.test.d.ts +1 -1
  142. package/lib/esm/tests/api_tests/organization_signup.test.js +1 -1
  143. package/lib/esm/tests/api_tests/purchase_made_trigger.test.d.ts.map +1 -1
  144. package/lib/esm/tests/api_tests/purchase_made_trigger.test.js +104 -163
  145. package/lib/esm/tests/api_tests/purchase_made_trigger.test.js.map +1 -1
  146. package/lib/esm/tests/api_tests/security/F-0200-form-logic-js-execution.test.d.ts +33 -0
  147. package/lib/esm/tests/api_tests/security/F-0200-form-logic-js-execution.test.d.ts.map +1 -0
  148. package/lib/esm/tests/api_tests/security/F-0200-form-logic-js-execution.test.js +244 -0
  149. package/lib/esm/tests/api_tests/security/F-0200-form-logic-js-execution.test.js.map +1 -0
  150. package/lib/esm/tests/api_tests/security/add-to-journey-foreign-enduserid.test.d.ts +42 -0
  151. package/lib/esm/tests/api_tests/security/add-to-journey-foreign-enduserid.test.d.ts.map +1 -0
  152. package/lib/esm/tests/api_tests/security/add-to-journey-foreign-enduserid.test.js +276 -0
  153. package/lib/esm/tests/api_tests/security/add-to-journey-foreign-enduserid.test.js.map +1 -0
  154. package/lib/esm/tests/api_tests/security/ai-conversations-rbac.test.d.ts +38 -0
  155. package/lib/esm/tests/api_tests/security/ai-conversations-rbac.test.d.ts.map +1 -0
  156. package/lib/esm/tests/api_tests/security/ai-conversations-rbac.test.js +386 -0
  157. package/lib/esm/tests/api_tests/security/ai-conversations-rbac.test.js.map +1 -0
  158. package/lib/esm/tests/api_tests/security/allowed-paths-confinement.test.d.ts +6 -0
  159. package/lib/esm/tests/api_tests/security/allowed-paths-confinement.test.d.ts.map +1 -0
  160. package/lib/esm/tests/api_tests/security/allowed-paths-confinement.test.js +996 -0
  161. package/lib/esm/tests/api_tests/security/allowed-paths-confinement.test.js.map +1 -0
  162. package/lib/esm/tests/api_tests/security/automated-actions-process-gate.test.d.ts +42 -0
  163. package/lib/esm/tests/api_tests/security/automated-actions-process-gate.test.d.ts.map +1 -0
  164. package/lib/esm/tests/api_tests/security/automated-actions-process-gate.test.js +316 -0
  165. package/lib/esm/tests/api_tests/security/automated-actions-process-gate.test.js.map +1 -0
  166. package/lib/esm/tests/api_tests/security/booking-info-idor-token-mint.test.d.ts +29 -0
  167. package/lib/esm/tests/api_tests/security/booking-info-idor-token-mint.test.d.ts.map +1 -0
  168. package/lib/esm/tests/api_tests/security/booking-info-idor-token-mint.test.js +331 -0
  169. package/lib/esm/tests/api_tests/security/booking-info-idor-token-mint.test.js.map +1 -0
  170. package/lib/esm/tests/api_tests/security/cascade-role-rename-cross-tenant.test.d.ts +32 -0
  171. package/lib/esm/tests/api_tests/security/cascade-role-rename-cross-tenant.test.d.ts.map +1 -0
  172. package/lib/esm/tests/api_tests/security/cascade-role-rename-cross-tenant.test.js +233 -0
  173. package/lib/esm/tests/api_tests/security/cascade-role-rename-cross-tenant.test.js.map +1 -0
  174. package/lib/esm/tests/api_tests/security/data-sync-redaction-bypass.test.d.ts +28 -0
  175. package/lib/esm/tests/api_tests/security/data-sync-redaction-bypass.test.d.ts.map +1 -0
  176. package/lib/esm/tests/api_tests/security/data-sync-redaction-bypass.test.js +345 -0
  177. package/lib/esm/tests/api_tests/security/data-sync-redaction-bypass.test.js.map +1 -0
  178. package/lib/esm/tests/api_tests/security/develop-health-benefit-verification-rbac.test.d.ts +30 -0
  179. package/lib/esm/tests/api_tests/security/develop-health-benefit-verification-rbac.test.d.ts.map +1 -0
  180. package/lib/esm/tests/api_tests/security/develop-health-benefit-verification-rbac.test.js +310 -0
  181. package/lib/esm/tests/api_tests/security/develop-health-benefit-verification-rbac.test.js.map +1 -0
  182. package/lib/esm/tests/api_tests/security/enduser-cross-create.test.d.ts +21 -0
  183. package/lib/esm/tests/api_tests/security/enduser-cross-create.test.d.ts.map +1 -0
  184. package/lib/esm/tests/api_tests/security/enduser-cross-create.test.js +358 -0
  185. package/lib/esm/tests/api_tests/security/enduser-cross-create.test.js.map +1 -0
  186. package/lib/esm/tests/api_tests/security/enduser-write-restrictions.test.d.ts +21 -0
  187. package/lib/esm/tests/api_tests/security/enduser-write-restrictions.test.d.ts.map +1 -0
  188. package/lib/esm/tests/api_tests/security/enduser-write-restrictions.test.js +362 -0
  189. package/lib/esm/tests/api_tests/security/enduser-write-restrictions.test.js.map +1 -0
  190. package/lib/esm/tests/api_tests/security/file-link-session-confinement.test.d.ts +5 -0
  191. package/lib/esm/tests/api_tests/security/file-link-session-confinement.test.d.ts.map +1 -0
  192. package/lib/esm/tests/api_tests/security/file-link-session-confinement.test.js +349 -0
  193. package/lib/esm/tests/api_tests/security/file-link-session-confinement.test.js.map +1 -0
  194. package/lib/esm/tests/api_tests/security/form-logic-js-execution.test.d.ts +32 -0
  195. package/lib/esm/tests/api_tests/security/form-logic-js-execution.test.d.ts.map +1 -0
  196. package/lib/esm/tests/api_tests/security/form-logic-js-execution.test.js +243 -0
  197. package/lib/esm/tests/api_tests/security/form-logic-js-execution.test.js.map +1 -0
  198. package/lib/esm/tests/api_tests/security/globalunique-conflict-redaction.test.d.ts +19 -0
  199. package/lib/esm/tests/api_tests/security/globalunique-conflict-redaction.test.d.ts.map +1 -0
  200. package/lib/esm/tests/api_tests/security/globalunique-conflict-redaction.test.js +134 -0
  201. package/lib/esm/tests/api_tests/security/globalunique-conflict-redaction.test.js.map +1 -0
  202. package/lib/esm/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.d.ts +24 -0
  203. package/lib/esm/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.d.ts.map +1 -0
  204. package/lib/esm/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.js +194 -0
  205. package/lib/esm/tests/api_tests/security/handle-incoming-communication-cross-tenant.test.js.map +1 -0
  206. package/lib/esm/tests/api_tests/security/invite-user-enumeration.test.d.ts +29 -0
  207. package/lib/esm/tests/api_tests/security/invite-user-enumeration.test.d.ts.map +1 -0
  208. package/lib/esm/tests/api_tests/security/invite-user-enumeration.test.js +271 -0
  209. package/lib/esm/tests/api_tests/security/invite-user-enumeration.test.js.map +1 -0
  210. package/lib/esm/tests/api_tests/security/load-inbox-redaction.test.d.ts +17 -0
  211. package/lib/esm/tests/api_tests/security/load-inbox-redaction.test.d.ts.map +1 -0
  212. package/lib/esm/tests/api_tests/security/load-inbox-redaction.test.js +151 -0
  213. package/lib/esm/tests/api_tests/security/load-inbox-redaction.test.js.map +1 -0
  214. package/lib/esm/tests/api_tests/security/prototype-pollution.test.d.ts +2 -0
  215. package/lib/esm/tests/api_tests/security/prototype-pollution.test.d.ts.map +1 -0
  216. package/lib/esm/tests/api_tests/security/prototype-pollution.test.js +84 -0
  217. package/lib/esm/tests/api_tests/security/prototype-pollution.test.js.map +1 -0
  218. package/lib/esm/tests/api_tests/security/proxy-image-unauth-ssrf.test.d.ts +34 -0
  219. package/lib/esm/tests/api_tests/security/proxy-image-unauth-ssrf.test.d.ts.map +1 -0
  220. package/lib/esm/tests/api_tests/security/proxy-image-unauth-ssrf.test.js +223 -0
  221. package/lib/esm/tests/api_tests/security/proxy-image-unauth-ssrf.test.js.map +1 -0
  222. package/lib/esm/tests/api_tests/security/sanitize-user-html-with-iframes.test.d.ts +2 -0
  223. package/lib/esm/tests/api_tests/security/sanitize-user-html-with-iframes.test.d.ts.map +1 -0
  224. package/lib/esm/tests/api_tests/security/sanitize-user-html-with-iframes.test.js +238 -0
  225. package/lib/esm/tests/api_tests/security/sanitize-user-html-with-iframes.test.js.map +1 -0
  226. package/lib/esm/tests/api_tests/security/sanitize-user-html.test.d.ts +2 -0
  227. package/lib/esm/tests/api_tests/security/sanitize-user-html.test.d.ts.map +1 -0
  228. package/lib/esm/tests/api_tests/security/sanitize-user-html.test.js +144 -0
  229. package/lib/esm/tests/api_tests/security/sanitize-user-html.test.js.map +1 -0
  230. package/lib/esm/tests/api_tests/security/schema-adminonly-enforcement.test.d.ts +45 -0
  231. package/lib/esm/tests/api_tests/security/schema-adminonly-enforcement.test.d.ts.map +1 -0
  232. package/lib/esm/tests/api_tests/security/schema-adminonly-enforcement.test.js +381 -0
  233. package/lib/esm/tests/api_tests/security/schema-adminonly-enforcement.test.js.map +1 -0
  234. package/lib/esm/tests/api_tests/security/self-admin-role-assignment.test.d.ts +38 -0
  235. package/lib/esm/tests/api_tests/security/self-admin-role-assignment.test.d.ts.map +1 -0
  236. package/lib/esm/tests/api_tests/security/self-admin-role-assignment.test.js +218 -0
  237. package/lib/esm/tests/api_tests/security/self-admin-role-assignment.test.js.map +1 -0
  238. package/lib/esm/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.d.ts +6 -0
  239. package/lib/esm/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.d.ts.map +1 -0
  240. package/lib/esm/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.js +350 -0
  241. package/lib/esm/tests/api_tests/security/startlinktoken-enduser-staff-escalation.test.js.map +1 -0
  242. package/lib/esm/tests/api_tests/security/webhook-outbound-ssrf.test.d.ts +28 -0
  243. package/lib/esm/tests/api_tests/security/webhook-outbound-ssrf.test.d.ts.map +1 -0
  244. package/lib/esm/tests/api_tests/security/webhook-outbound-ssrf.test.js +435 -0
  245. package/lib/esm/tests/api_tests/security/webhook-outbound-ssrf.test.js.map +1 -0
  246. package/lib/esm/tests/api_tests/security/webhook-timeout.test.d.ts +19 -0
  247. package/lib/esm/tests/api_tests/security/webhook-timeout.test.d.ts.map +1 -0
  248. package/lib/esm/tests/api_tests/security/webhook-timeout.test.js +149 -0
  249. package/lib/esm/tests/api_tests/security/webhook-timeout.test.js.map +1 -0
  250. package/lib/esm/tests/api_tests/webhook_error_handling.test.js +2 -2
  251. package/lib/esm/tests/api_tests/webhook_error_handling.test.js.map +1 -1
  252. package/lib/esm/tests/tests.d.ts.map +1 -1
  253. package/lib/esm/tests/tests.js +38 -24
  254. package/lib/esm/tests/tests.js.map +1 -1
  255. package/lib/esm/tests/unit_tests/openapi_spec_freshness.test.d.ts +1 -1
  256. package/lib/esm/tests/unit_tests/openapi_spec_freshness.test.js +1 -1
  257. package/lib/tsconfig.tsbuildinfo +1 -1
  258. package/package.json +10 -10
  259. package/src/tests/api_tests/auto_merge_form_submission.test.ts +1 -1
  260. package/src/tests/api_tests/enduser_observations_auto_review.test.ts +358 -0
  261. package/src/tests/api_tests/integrations_redacted.test.ts +1 -1
  262. package/src/tests/api_tests/organization_signup.test.ts +2 -2
  263. package/src/tests/api_tests/purchase_made_trigger.test.ts +29 -41
  264. package/src/tests/api_tests/security/{F-0196-add-to-journey-foreign-enduserid.test.ts → add-to-journey-foreign-enduserid.test.ts} +6 -7
  265. package/src/tests/api_tests/security/{F-0005-ai-conversations-rbac.test.ts → ai-conversations-rbac.test.ts} +14 -14
  266. package/src/tests/api_tests/security/{F-0166-allowed-paths-wildcard-bypass.test.ts → allowed-paths-confinement.test.ts} +11 -11
  267. package/src/tests/api_tests/security/{F-0192-automated-actions-process-gate.test.ts → automated-actions-process-gate.test.ts} +6 -7
  268. package/src/tests/api_tests/security/{F-0179-booking-info-idor-token-mint.test.ts → booking-info-idor-token-mint.test.ts} +5 -6
  269. package/src/tests/api_tests/security/{F-0053-cascade-role-rename-cross-tenant.test.ts → cascade-role-rename-cross-tenant.test.ts} +10 -10
  270. package/src/tests/api_tests/security/{F-0001-data-sync-redaction-bypass.test.ts → data-sync-redaction-bypass.test.ts} +9 -9
  271. package/src/tests/api_tests/security/{F-0006-develop-health-benefit-verification-rbac.test.ts → develop-health-benefit-verification-rbac.test.ts} +7 -8
  272. package/src/tests/api_tests/security/{F-0116-F-0119-enduser-cross-create.test.ts → enduser-cross-create.test.ts} +25 -25
  273. package/src/tests/api_tests/security/{F-0106-F-0110-enduser-write-restrictions.test.ts → enduser-write-restrictions.test.ts} +12 -14
  274. package/src/tests/api_tests/security/file-link-session-confinement.test.ts +291 -0
  275. package/src/tests/api_tests/security/form-logic-js-execution.test.ts +183 -0
  276. package/src/tests/api_tests/security/{F-0145-globalunique-leak.test.ts → globalunique-conflict-redaction.test.ts} +5 -6
  277. package/src/tests/api_tests/security/{F-0008-handle-incoming-communication-cross-tenant.test.ts → handle-incoming-communication-cross-tenant.test.ts} +8 -8
  278. package/src/tests/api_tests/security/{F-0007-invite-user-enumeration.test.ts → invite-user-enumeration.test.ts} +8 -8
  279. package/src/tests/api_tests/security/{F-0151-load-inbox-redaction.test.ts → load-inbox-redaction.test.ts} +5 -6
  280. package/src/tests/api_tests/security/{F-0016-prototype-pollution.test.ts → prototype-pollution.test.ts} +4 -4
  281. package/src/tests/api_tests/security/{F-0025-proxy-image-unauth-ssrf.test.ts → proxy-image-unauth-ssrf.test.ts} +11 -12
  282. package/src/tests/api_tests/security/{F-0013-sanitize-user-html-with-iframes.test.ts → sanitize-user-html-with-iframes.test.ts} +5 -5
  283. package/src/tests/api_tests/security/{F-0013-sanitize-user-html.test.ts → sanitize-user-html.test.ts} +4 -4
  284. package/src/tests/api_tests/security/{F-0191-schema-adminonly-enforcement.test.ts → schema-adminonly-enforcement.test.ts} +6 -7
  285. package/src/tests/api_tests/security/{F-0076-self-admin-role-assignment.test.ts → self-admin-role-assignment.test.ts} +13 -13
  286. package/src/tests/api_tests/security/{F-0185-startlinktoken-enduser-staff-escalation.test.ts → startlinktoken-enduser-staff-escalation.test.ts} +6 -6
  287. package/src/tests/api_tests/security/{F-0015-webhook-outbound-ssrf.test.ts → webhook-outbound-ssrf.test.ts} +13 -14
  288. package/src/tests/api_tests/security/{F-0155-webhook-timeout.test.ts → webhook-timeout.test.ts} +6 -7
  289. package/src/tests/api_tests/webhook_error_handling.test.ts +1 -1
  290. package/src/tests/tests.ts +43 -24
  291. package/src/tests/unit_tests/openapi_spec_freshness.test.ts +1 -1
  292. package/test_generated.pdf +0 -0
  293. package/src/tests/api_tests/security/readonly-enduser-preview.test.ts +0 -301
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allowed-paths-confinement.test.js","sourceRoot":"","sources":["../../../../../src/tests/api_tests/security/allowed-paths-confinement.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ import { Session } from "../../../sdk";
2
+ /**
3
+ * Regression test: `automated_actions.process` must be admin-gated, single-fire and audited.
4
+ *
5
+ * `automated_actions.process` (api.ts:3902) is the WORKER's action runner — its schema description
6
+ * reads "Used by worker for new action types". It was registered with only
7
+ * `{ requiresSubscription: true }`, so the framework gated it on the ordinary
8
+ * `automated_actions.update` verb, which the default provider role holds ('Assigned'). The handler
9
+ * then dispatched `automatedAction.action` through a 14-branch if-chain reaching real vendors:
10
+ * chargebeeChargeCardOnFile (card charge), belugaAutoRx / belugaTriggerRefill / mdiTriggerRefill
11
+ * (prescriptions and refills), createScriptSureDraft (medication draft), healthiePushForms /
12
+ * metriportPushFormResponse (PHI export). It checked neither the row's `status` nor whether it had
13
+ * already run, so any row was replayable: MDI advances to the next scheduled refill each call,
14
+ * Chargebee charges again. And there was no storeUserLog, so the action was attributed to the
15
+ * worker rather than the caller.
16
+ *
17
+ * The fix has three parts:
18
+ * 1. `adminOnly: true` on the api.ts registration (routing.ts:944 reads the flag from that
19
+ * options object — a schema-only flag is inert, which is a separate issue).
20
+ * 2. A single-fire claim for human callers: an atomic findOneAndUpdate with `status: 'active'` in
21
+ * the filter, stamping `finished` + `processedAt` before the vendor dispatch. The worker
22
+ * (`wasAutomated`) is exempt because its own claim in
23
+ * worker/modules/database.ts:114 is already atomic and it needs the row to stay 'active'
24
+ * across the call so a retryable failure (worker/modules/automations.ts:2053) can be
25
+ * re-claimed after the lock times out.
26
+ * 3. storeUserLog on the human path, recording the caller and the automatedActionId.
27
+ *
28
+ * The seeded row uses `setEnduserStatus`, which is NOT one of the API's if-chain branches, so it
29
+ * falls through to `{ success: false, unimplemented: true }` (api.ts) — no vendor call, no Bedrock,
30
+ * no PHI export. `processAfter` is set an hour out so the live worker cannot race the row (the same
31
+ * trick mdi_trigger_refill / beluga_trigger_refill use).
32
+ *
33
+ * RED (pre-fix): A1 fails (a non-admin holding only `automated_actions.update` reaches the handler)
34
+ * and C1 fails (the second call on the same row executes again instead of being rejected).
35
+ * B1 (admin positive control) passes pre-fix and must keep passing.
36
+ * GREEN (post-fix): all five checks pass.
37
+ */
38
+ export declare const automated_actions_process_gate_tests: ({ sdk }: {
39
+ sdk: Session;
40
+ sdkNonAdmin: Session;
41
+ }) => Promise<void>;
42
+ //# sourceMappingURL=automated-actions-process-gate.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automated-actions-process-gate.test.d.ts","sourceRoot":"","sources":["../../../../../src/tests/api_tests/security/automated-actions-process-gate.test.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AA0BtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,eAAO,MAAM,oCAAoC;SAA2B,OAAO;iBAAe,OAAO;mBAoJxG,CAAA"}
@@ -0,0 +1,323 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
50
+ return (mod && mod.__esModule) ? mod : { "default": mod };
51
+ };
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ exports.automated_actions_process_gate_tests = void 0;
54
+ require('source-map-support').install();
55
+ var axios_1 = __importDefault(require("axios"));
56
+ var sdk_1 = require("../../../sdk");
57
+ var testing_1 = require("@tellescope/testing");
58
+ var constants_1 = require("@tellescope/constants");
59
+ var setup_1 = require("../../setup");
60
+ var host = process.env.API_URL || 'http://localhost:8080';
61
+ var RAND = function () { return Math.random().toString(36).slice(2, 10); };
62
+ var ALL = 'All';
63
+ var FULL_ACCESS = { create: ALL, read: ALL, update: ALL, delete: ALL };
64
+ var PROCESS_PATH = '/v1/automated-actions/process';
65
+ /**
66
+ * Regression test: `automated_actions.process` must be admin-gated, single-fire and audited.
67
+ *
68
+ * `automated_actions.process` (api.ts:3902) is the WORKER's action runner — its schema description
69
+ * reads "Used by worker for new action types". It was registered with only
70
+ * `{ requiresSubscription: true }`, so the framework gated it on the ordinary
71
+ * `automated_actions.update` verb, which the default provider role holds ('Assigned'). The handler
72
+ * then dispatched `automatedAction.action` through a 14-branch if-chain reaching real vendors:
73
+ * chargebeeChargeCardOnFile (card charge), belugaAutoRx / belugaTriggerRefill / mdiTriggerRefill
74
+ * (prescriptions and refills), createScriptSureDraft (medication draft), healthiePushForms /
75
+ * metriportPushFormResponse (PHI export). It checked neither the row's `status` nor whether it had
76
+ * already run, so any row was replayable: MDI advances to the next scheduled refill each call,
77
+ * Chargebee charges again. And there was no storeUserLog, so the action was attributed to the
78
+ * worker rather than the caller.
79
+ *
80
+ * The fix has three parts:
81
+ * 1. `adminOnly: true` on the api.ts registration (routing.ts:944 reads the flag from that
82
+ * options object — a schema-only flag is inert, which is a separate issue).
83
+ * 2. A single-fire claim for human callers: an atomic findOneAndUpdate with `status: 'active'` in
84
+ * the filter, stamping `finished` + `processedAt` before the vendor dispatch. The worker
85
+ * (`wasAutomated`) is exempt because its own claim in
86
+ * worker/modules/database.ts:114 is already atomic and it needs the row to stay 'active'
87
+ * across the call so a retryable failure (worker/modules/automations.ts:2053) can be
88
+ * re-claimed after the lock times out.
89
+ * 3. storeUserLog on the human path, recording the caller and the automatedActionId.
90
+ *
91
+ * The seeded row uses `setEnduserStatus`, which is NOT one of the API's if-chain branches, so it
92
+ * falls through to `{ success: false, unimplemented: true }` (api.ts) — no vendor call, no Bedrock,
93
+ * no PHI export. `processAfter` is set an hour out so the live worker cannot race the row (the same
94
+ * trick mdi_trigger_refill / beluga_trigger_refill use).
95
+ *
96
+ * RED (pre-fix): A1 fails (a non-admin holding only `automated_actions.update` reaches the handler)
97
+ * and C1 fails (the second call on the same row executes again instead of being rejected).
98
+ * B1 (admin positive control) passes pre-fix and must keep passing.
99
+ * GREEN (post-fix): all five checks pass.
100
+ */
101
+ var automated_actions_process_gate_tests = function (_a) {
102
+ var sdk = _a.sdk;
103
+ return __awaiter(void 0, void 0, void 0, function () {
104
+ var checks, record, post, roleId, attackerId, enduserId, automatedActionIds, role, rbap, attacker, attackerToken, adminToken, attackerSDK, enduser, seedAction, attackerRow, attackerAttempt, baselineRow, baseline, badProbe, attackerRowAfter, replay, baselineRowAfter, _i, checks_1, c, _b, checks_2, c, _c, automatedActionIds_1, id, _d, _e, _f, _g;
105
+ var _h, _j;
106
+ return __generator(this, function (_k) {
107
+ switch (_k.label) {
108
+ case 0:
109
+ (0, testing_1.log_header)("automated_actions.process must be admin-only and single-fire");
110
+ checks = [];
111
+ record = function (label, pass, detail) { return checks.push({ label: label, pass: pass, detail: detail }); };
112
+ post = function (authToken, automatedActionId) { return __awaiter(void 0, void 0, void 0, function () {
113
+ var r;
114
+ return __generator(this, function (_a) {
115
+ switch (_a.label) {
116
+ case 0: return [4 /*yield*/, axios_1.default.request({
117
+ method: 'post',
118
+ url: "".concat(host).concat(PROCESS_PATH),
119
+ data: { automatedActionId: automatedActionId },
120
+ headers: { Authorization: "Bearer ".concat(authToken) },
121
+ validateStatus: function () { return true; },
122
+ })];
123
+ case 1:
124
+ r = _a.sent();
125
+ return [2 /*return*/, { status: r.status, body: r.data }];
126
+ }
127
+ });
128
+ }); };
129
+ roleId = '';
130
+ attackerId = '';
131
+ enduserId = '';
132
+ automatedActionIds = [];
133
+ _k.label = 1;
134
+ case 1:
135
+ _k.trys.push([1, , 15, 34]);
136
+ role = "f0192-automations-".concat(RAND());
137
+ return [4 /*yield*/, sdk.api.role_based_access_permissions.createOne({
138
+ role: role,
139
+ permissions: __assign(__assign({}, constants_1.PROVIDER_PERMISSIONS), { automated_actions: FULL_ACCESS }),
140
+ })];
141
+ case 2:
142
+ rbap = _k.sent();
143
+ roleId = rbap.id;
144
+ return [4 /*yield*/, sdk.api.users.createOne({
145
+ email: "f0192-attacker-".concat(RAND(), "@tellescope.example"),
146
+ fname: 'F0192', lname: 'Staff',
147
+ verifiedEmail: true,
148
+ notificationEmailsDisabled: true,
149
+ roles: [role],
150
+ })];
151
+ case 3:
152
+ attacker = _k.sent();
153
+ attackerId = attacker.id;
154
+ return [4 /*yield*/, sdk.api.users.generate_auth_token({ id: attackerId })];
155
+ case 4:
156
+ attackerToken = (_k.sent()).authToken;
157
+ return [4 /*yield*/, sdk.api.users.generate_auth_token({ id: sdk.userInfo.id })];
158
+ case 5:
159
+ adminToken = (_k.sent()).authToken;
160
+ attackerSDK = new sdk_1.Session({ host: host, authToken: attackerToken });
161
+ return [4 /*yield*/, attackerSDK.refresh_session()];
162
+ case 6:
163
+ _k.sent();
164
+ record('setup: attacker session is a non-admin holding automated_actions.update', attackerSDK.userInfo.id === attackerId && !((_h = attackerSDK.userInfo.roles) !== null && _h !== void 0 ? _h : []).includes('Admin'), "id=".concat(attackerSDK.userInfo.id, " roles=").concat(JSON.stringify(attackerSDK.userInfo.roles)));
165
+ return [4 /*yield*/, sdk.api.endusers.createOne({ fname: 'F0192', lname: 'Patient' })];
166
+ case 7:
167
+ enduser = _k.sent();
168
+ enduserId = enduser.id;
169
+ seedAction = function () { return __awaiter(void 0, void 0, void 0, function () {
170
+ var a;
171
+ return __generator(this, function (_a) {
172
+ switch (_a.label) {
173
+ case 0: return [4 /*yield*/, sdk.api.automated_actions.createOne({
174
+ enduserId: enduserId,
175
+ journeyId: constants_1.PLACEHOLDER_ID,
176
+ automationStepId: constants_1.PLACEHOLDER_ID,
177
+ event: { type: 'onJourneyStart', info: {} },
178
+ action: { type: 'setEnduserStatus', info: { status: 'Working' } },
179
+ status: 'active',
180
+ processAfter: Date.now() + 60 * 60 * 1000,
181
+ })];
182
+ case 1:
183
+ a = _a.sent();
184
+ automatedActionIds.push(a.id);
185
+ return [2 /*return*/, a];
186
+ }
187
+ });
188
+ }); };
189
+ return [4 /*yield*/, seedAction()];
190
+ case 8:
191
+ attackerRow = _k.sent();
192
+ return [4 /*yield*/, post(attackerToken, attackerRow.id)
193
+ // Baseline on the same path with an admin token, so a blanket 401 (expired subscription,
194
+ // bad route, broken fixture) cannot masquerade as a working gate.
195
+ ];
196
+ case 9:
197
+ attackerAttempt = _k.sent();
198
+ return [4 /*yield*/, seedAction()];
199
+ case 10:
200
+ baselineRow = _k.sent();
201
+ return [4 /*yield*/, post(adminToken, baselineRow.id)];
202
+ case 11:
203
+ baseline = _k.sent();
204
+ badProbe = baseline.status === 401 || baseline.status === 403;
205
+ record('A1: a non-admin holding automated_actions.update cannot call process', !badProbe && (attackerAttempt.status === 401 || attackerAttempt.status === 403), "attacker=".concat(attackerAttempt.status, " ").concat(JSON.stringify(attackerAttempt.body), " baseline(admin)=").concat(baseline.status)
206
+ + (badProbe ? ' BAD PROBE: admin baseline was also rejected' : ''));
207
+ return [4 /*yield*/, sdk.api.automated_actions.getOne(attackerRow.id)];
208
+ case 12:
209
+ attackerRowAfter = _k.sent();
210
+ record('A2: a rejected non-admin call leaves the row unfired (status still active)', attackerRowAfter.status === 'active', "status=".concat(attackerRowAfter.status, " (expected active)"));
211
+ /* ===== B: positive control — an admin can still call it ===== */
212
+ record('B1: an admin can still process a pending row', baseline.status === 200 && ((_j = baseline.body) === null || _j === void 0 ? void 0 : _j.unimplemented) === true, "status=".concat(baseline.status, " body=").concat(JSON.stringify(baseline.body)));
213
+ return [4 /*yield*/, post(adminToken, baselineRow.id)];
214
+ case 13:
215
+ replay = _k.sent();
216
+ record('C1: processing the same row twice is rejected (no replay)', replay.status === 409, "second call status=".concat(replay.status, " body=").concat(JSON.stringify(replay.body), " (expected 409)"));
217
+ return [4 /*yield*/, sdk.api.automated_actions.getOne(baselineRow.id)];
218
+ case 14:
219
+ baselineRowAfter = _k.sent();
220
+ record('C2: a processed row is marked finished so neither a replay nor the worker re-runs it', baselineRowAfter.status === 'finished', "status=".concat(baselineRowAfter.status, " (expected finished)"));
221
+ /* ===== report: print full table first, then assert (harness exits on first failure) ===== */
222
+ console.log('\n check summary:');
223
+ for (_i = 0, checks_1 = checks; _i < checks_1.length; _i++) {
224
+ c = checks_1[_i];
225
+ console.log(" ".concat(c.pass ? 'PASS' : 'FAIL', " ").concat(c.label, " \u2014 ").concat(c.detail));
226
+ }
227
+ console.log('');
228
+ for (_b = 0, checks_2 = checks; _b < checks_2.length; _b++) {
229
+ c = checks_2[_b];
230
+ (0, testing_1.assert)(c.pass, "".concat(c.label, " \u2014 ").concat(c.detail), c.label);
231
+ }
232
+ return [3 /*break*/, 34];
233
+ case 15:
234
+ _c = 0, automatedActionIds_1 = automatedActionIds;
235
+ _k.label = 16;
236
+ case 16:
237
+ if (!(_c < automatedActionIds_1.length)) return [3 /*break*/, 21];
238
+ id = automatedActionIds_1[_c];
239
+ _k.label = 17;
240
+ case 17:
241
+ _k.trys.push([17, 19, , 20]);
242
+ return [4 /*yield*/, sdk.api.automated_actions.deleteOne(id)];
243
+ case 18:
244
+ _k.sent();
245
+ return [3 /*break*/, 20];
246
+ case 19:
247
+ _d = _k.sent();
248
+ return [3 /*break*/, 20];
249
+ case 20:
250
+ _c++;
251
+ return [3 /*break*/, 16];
252
+ case 21:
253
+ if (!enduserId) return [3 /*break*/, 25];
254
+ _k.label = 22;
255
+ case 22:
256
+ _k.trys.push([22, 24, , 25]);
257
+ return [4 /*yield*/, sdk.api.endusers.deleteOne(enduserId)];
258
+ case 23:
259
+ _k.sent();
260
+ return [3 /*break*/, 25];
261
+ case 24:
262
+ _e = _k.sent();
263
+ return [3 /*break*/, 25];
264
+ case 25:
265
+ if (!attackerId) return [3 /*break*/, 29];
266
+ _k.label = 26;
267
+ case 26:
268
+ _k.trys.push([26, 28, , 29]);
269
+ return [4 /*yield*/, sdk.api.users.deleteOne(attackerId)];
270
+ case 27:
271
+ _k.sent();
272
+ return [3 /*break*/, 29];
273
+ case 28:
274
+ _f = _k.sent();
275
+ return [3 /*break*/, 29];
276
+ case 29:
277
+ if (!roleId) return [3 /*break*/, 33];
278
+ _k.label = 30;
279
+ case 30:
280
+ _k.trys.push([30, 32, , 33]);
281
+ return [4 /*yield*/, sdk.api.role_based_access_permissions.deleteOne(roleId)];
282
+ case 31:
283
+ _k.sent();
284
+ return [3 /*break*/, 33];
285
+ case 32:
286
+ _g = _k.sent();
287
+ return [3 /*break*/, 33];
288
+ case 33: return [7 /*endfinally*/];
289
+ case 34: return [2 /*return*/];
290
+ }
291
+ });
292
+ });
293
+ };
294
+ exports.automated_actions_process_gate_tests = automated_actions_process_gate_tests;
295
+ // Allow running this test file independently
296
+ if (require.main === module) {
297
+ console.log("\uD83C\uDF10 Using API URL: ".concat(host));
298
+ var sdk_2 = new sdk_1.Session({ host: host });
299
+ var sdkNonAdmin_1 = new sdk_1.Session({ host: host });
300
+ var runTests = function () { return __awaiter(void 0, void 0, void 0, function () {
301
+ return __generator(this, function (_a) {
302
+ switch (_a.label) {
303
+ case 0: return [4 /*yield*/, (0, setup_1.setup_tests)(sdk_2, sdkNonAdmin_1)];
304
+ case 1:
305
+ _a.sent();
306
+ return [4 /*yield*/, (0, exports.automated_actions_process_gate_tests)({ sdk: sdk_2, sdkNonAdmin: sdkNonAdmin_1 })];
307
+ case 2:
308
+ _a.sent();
309
+ return [2 /*return*/];
310
+ }
311
+ });
312
+ }); };
313
+ runTests()
314
+ .then(function () {
315
+ console.log("✅ automated_actions.process gate test suite completed successfully");
316
+ process.exit(0);
317
+ })
318
+ .catch(function (error) {
319
+ console.error("❌ automated_actions.process gate test suite failed:", error);
320
+ process.exit(1);
321
+ });
322
+ }
323
+ //# sourceMappingURL=automated-actions-process-gate.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"automated-actions-process-gate.test.js","sourceRoot":"","sources":["../../../../../src/tests/api_tests/security/automated-actions-process-gate.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { Session } from "../../../sdk";
2
+ /**
3
+ * Regression test: `form_fields.booking_info` must not mint a booking token for another patient.
4
+ *
5
+ * `form_fields.booking_info` resolved its target patient as
6
+ * `DB.endusers.findById(enduserId || req.session.id)` with no ownership check for enduser
7
+ * sessions. The enduser DB branch builds the endusers collection with `enduserAccess: true`
8
+ * (database.ts), so a FOREIGN in-tenant id resolves — and the handler then writes
9
+ * `enduserFields.state` onto that record and calls `login_enduser` with
10
+ * `sessionScopes: ['appointment-booking']`, returning a live 24h token for the victim inside
11
+ * `bookingURL`. booking_info is enduser-callable AND granted to the 'public-form' scope, so a
12
+ * portal patient or an anonymous form-filler could mint a working session as any co-tenant patient.
13
+ *
14
+ * The fix mirrors `prepare_form_response` (api.ts): reject when an enduser session supplies an
15
+ * `enduserId` other than its own, before the booking-page lookup and before the `state` write.
16
+ *
17
+ * RED (pre-fix): A1 and A2 fail — the exploit returns 200 with a bookingURL whose token decodes to
18
+ * the VICTIM's id, and the victim's `state` is overwritten. B/C (positive controls) pass pre-fix.
19
+ * GREEN (post-fix): all six checks pass.
20
+ *
21
+ * Checks are collected and printed before any assert runs: the testing harness has
22
+ * EXIT_ON_FIRST_ERROR, so asserting inline would kill the process before the evidence table and
23
+ * before `finally` cleanup.
24
+ */
25
+ export declare const booking_info_idor_tests: ({ sdk }: {
26
+ sdk: Session;
27
+ sdkNonAdmin: Session;
28
+ }) => Promise<void>;
29
+ //# sourceMappingURL=booking-info-idor-token-mint.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"booking-info-idor-token-mint.test.d.ts","sourceRoot":"","sources":["../../../../../src/tests/api_tests/security/booking-info-idor-token-mint.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAkB,MAAM,cAAc,CAAA;AAqBtD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,uBAAuB;SAA2B,OAAO;iBAAe,OAAO;mBA2J3F,CAAA"}