@forgerock/journey-client 0.0.0-beta-20251222204813

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 (528) hide show
  1. package/CHANGELOG.md +45 -0
  2. package/LICENSE +21 -0
  3. package/README.md +143 -0
  4. package/coverage/base.css +224 -0
  5. package/coverage/block-navigation.js +87 -0
  6. package/coverage/coverage-final.json +1 -0
  7. package/coverage/favicon.png +0 -0
  8. package/coverage/index.html +101 -0
  9. package/coverage/prettify.css +1 -0
  10. package/coverage/prettify.js +2 -0
  11. package/coverage/sort-arrow-sprite.png +0 -0
  12. package/coverage/sorter.js +210 -0
  13. package/dist/package.json +62 -0
  14. package/dist/src/index.d.ts +2 -0
  15. package/dist/src/index.d.ts.map +1 -0
  16. package/dist/src/index.js +7 -0
  17. package/dist/src/lib/callbacks/attribute-input-callback.d.ts +44 -0
  18. package/dist/src/lib/callbacks/attribute-input-callback.d.ts.map +1 -0
  19. package/dist/src/lib/callbacks/attribute-input-callback.js +71 -0
  20. package/dist/src/lib/callbacks/base-callback.d.ts +45 -0
  21. package/dist/src/lib/callbacks/base-callback.d.ts.map +1 -0
  22. package/dist/src/lib/callbacks/base-callback.js +88 -0
  23. package/dist/src/lib/callbacks/choice-callback.d.ts +33 -0
  24. package/dist/src/lib/callbacks/choice-callback.d.ts.map +1 -0
  25. package/dist/src/lib/callbacks/choice-callback.js +57 -0
  26. package/dist/src/lib/callbacks/confirmation-callback.d.ts +41 -0
  27. package/dist/src/lib/callbacks/confirmation-callback.d.ts.map +1 -0
  28. package/dist/src/lib/callbacks/confirmation-callback.js +69 -0
  29. package/dist/src/lib/callbacks/device-profile-callback.d.ts +30 -0
  30. package/dist/src/lib/callbacks/device-profile-callback.d.ts.map +1 -0
  31. package/dist/src/lib/callbacks/device-profile-callback.js +43 -0
  32. package/dist/src/lib/callbacks/factory.d.ts +8 -0
  33. package/dist/src/lib/callbacks/factory.d.ts.map +1 -0
  34. package/dist/src/lib/callbacks/factory.js +87 -0
  35. package/dist/src/lib/callbacks/hidden-value-callback.d.ts +13 -0
  36. package/dist/src/lib/callbacks/hidden-value-callback.d.ts.map +1 -0
  37. package/dist/src/lib/callbacks/hidden-value-callback.js +19 -0
  38. package/dist/src/lib/callbacks/kba-create-callback.d.ts +34 -0
  39. package/dist/src/lib/callbacks/kba-create-callback.d.ts.map +1 -0
  40. package/dist/src/lib/callbacks/kba-create-callback.js +59 -0
  41. package/dist/src/lib/callbacks/metadata-callback.d.ts +17 -0
  42. package/dist/src/lib/callbacks/metadata-callback.d.ts.map +1 -0
  43. package/dist/src/lib/callbacks/metadata-callback.js +25 -0
  44. package/dist/src/lib/callbacks/name-callback.d.ts +21 -0
  45. package/dist/src/lib/callbacks/name-callback.d.ts.map +1 -0
  46. package/dist/src/lib/callbacks/name-callback.js +31 -0
  47. package/dist/src/lib/callbacks/password-callback.d.ts +29 -0
  48. package/dist/src/lib/callbacks/password-callback.d.ts.map +1 -0
  49. package/dist/src/lib/callbacks/password-callback.js +43 -0
  50. package/dist/src/lib/callbacks/ping-protect-evaluation-callback.d.ts +52 -0
  51. package/dist/src/lib/callbacks/ping-protect-evaluation-callback.d.ts.map +1 -0
  52. package/dist/src/lib/callbacks/ping-protect-evaluation-callback.js +64 -0
  53. package/dist/src/lib/callbacks/ping-protect-initialize-callback.d.ts +29 -0
  54. package/dist/src/lib/callbacks/ping-protect-initialize-callback.d.ts.map +1 -0
  55. package/dist/src/lib/callbacks/ping-protect-initialize-callback.js +40 -0
  56. package/dist/src/lib/callbacks/polling-wait-callback.d.ts +21 -0
  57. package/dist/src/lib/callbacks/polling-wait-callback.d.ts.map +1 -0
  58. package/dist/src/lib/callbacks/polling-wait-callback.js +31 -0
  59. package/dist/src/lib/callbacks/recaptcha-callback.d.ts +21 -0
  60. package/dist/src/lib/callbacks/recaptcha-callback.d.ts.map +1 -0
  61. package/dist/src/lib/callbacks/recaptcha-callback.js +31 -0
  62. package/dist/src/lib/callbacks/recaptcha-enterprise-callback.d.ts +41 -0
  63. package/dist/src/lib/callbacks/recaptcha-enterprise-callback.d.ts.map +1 -0
  64. package/dist/src/lib/callbacks/recaptcha-enterprise-callback.js +65 -0
  65. package/dist/src/lib/callbacks/redirect-callback.d.ts +17 -0
  66. package/dist/src/lib/callbacks/redirect-callback.d.ts.map +1 -0
  67. package/dist/src/lib/callbacks/redirect-callback.js +25 -0
  68. package/dist/src/lib/callbacks/select-idp-callback.d.ts +28 -0
  69. package/dist/src/lib/callbacks/select-idp-callback.d.ts.map +1 -0
  70. package/dist/src/lib/callbacks/select-idp-callback.js +35 -0
  71. package/dist/src/lib/callbacks/suspended-text-output-callback.d.ts +13 -0
  72. package/dist/src/lib/callbacks/suspended-text-output-callback.d.ts.map +1 -0
  73. package/dist/src/lib/callbacks/suspended-text-output-callback.js +19 -0
  74. package/dist/src/lib/callbacks/terms-and-conditions-callback.d.ts +29 -0
  75. package/dist/src/lib/callbacks/terms-and-conditions-callback.d.ts.map +1 -0
  76. package/dist/src/lib/callbacks/terms-and-conditions-callback.js +45 -0
  77. package/dist/src/lib/callbacks/text-input-callback.d.ts +21 -0
  78. package/dist/src/lib/callbacks/text-input-callback.d.ts.map +1 -0
  79. package/dist/src/lib/callbacks/text-input-callback.js +31 -0
  80. package/dist/src/lib/callbacks/text-output-callback.d.ts +22 -0
  81. package/dist/src/lib/callbacks/text-output-callback.d.ts.map +1 -0
  82. package/dist/src/lib/callbacks/text-output-callback.js +32 -0
  83. package/dist/src/lib/callbacks/validated-create-password-callback.d.ts +37 -0
  84. package/dist/src/lib/callbacks/validated-create-password-callback.d.ts.map +1 -0
  85. package/dist/src/lib/callbacks/validated-create-password-callback.js +63 -0
  86. package/dist/src/lib/callbacks/validated-create-username-callback.d.ts +37 -0
  87. package/dist/src/lib/callbacks/validated-create-username-callback.d.ts.map +1 -0
  88. package/dist/src/lib/callbacks/validated-create-username-callback.js +64 -0
  89. package/dist/src/lib/client.store.d.ts +37 -0
  90. package/dist/src/lib/client.store.d.ts.map +1 -0
  91. package/dist/src/lib/client.store.js +147 -0
  92. package/dist/src/lib/client.store.utils.d.ts +81 -0
  93. package/dist/src/lib/client.store.utils.d.ts.map +1 -0
  94. package/dist/src/lib/client.store.utils.js +28 -0
  95. package/dist/src/lib/config.types.d.ts +8 -0
  96. package/dist/src/lib/config.types.d.ts.map +1 -0
  97. package/dist/src/lib/config.types.js +7 -0
  98. package/dist/src/lib/device/defaults.d.ts +13 -0
  99. package/dist/src/lib/device/defaults.d.ts.map +1 -0
  100. package/dist/src/lib/device/defaults.js +78 -0
  101. package/dist/src/lib/device/device-profile.d.ts +41 -0
  102. package/dist/src/lib/device/device-profile.d.ts.map +1 -0
  103. package/dist/src/lib/device/device-profile.js +216 -0
  104. package/dist/src/lib/device/device-profile.mock.data.d.ts +109 -0
  105. package/dist/src/lib/device/device-profile.mock.data.d.ts.map +1 -0
  106. package/dist/src/lib/device/device-profile.mock.data.js +117 -0
  107. package/dist/src/lib/device/interfaces.d.ts +43 -0
  108. package/dist/src/lib/device/interfaces.d.ts.map +1 -0
  109. package/dist/src/lib/device/interfaces.js +10 -0
  110. package/dist/src/lib/interfaces.d.ts +15 -0
  111. package/dist/src/lib/interfaces.d.ts.map +1 -0
  112. package/dist/src/lib/interfaces.js +7 -0
  113. package/dist/src/lib/journey.api.d.ts +15 -0
  114. package/dist/src/lib/journey.api.d.ts.map +1 -0
  115. package/dist/src/lib/journey.api.js +129 -0
  116. package/dist/src/lib/journey.slice.d.ts +12 -0
  117. package/dist/src/lib/journey.slice.d.ts.map +1 -0
  118. package/dist/src/lib/journey.slice.js +18 -0
  119. package/dist/src/lib/journey.utils.d.ts +7 -0
  120. package/dist/src/lib/journey.utils.d.ts.map +1 -0
  121. package/dist/src/lib/journey.utils.js +33 -0
  122. package/dist/src/lib/login-failure.utils.d.ts +16 -0
  123. package/dist/src/lib/login-failure.utils.d.ts.map +1 -0
  124. package/dist/src/lib/login-failure.utils.js +34 -0
  125. package/dist/src/lib/login-success.utils.d.ts +16 -0
  126. package/dist/src/lib/login-success.utils.d.ts.map +1 -0
  127. package/dist/src/lib/login-success.utils.js +25 -0
  128. package/dist/src/lib/policy/interfaces.d.ts +11 -0
  129. package/dist/src/lib/policy/interfaces.d.ts.map +1 -0
  130. package/dist/src/lib/policy/interfaces.js +6 -0
  131. package/dist/src/lib/policy/message-creator.d.ts +3 -0
  132. package/dist/src/lib/policy/message-creator.d.ts.map +1 -0
  133. package/dist/src/lib/policy/message-creator.js +58 -0
  134. package/dist/src/lib/policy/policy.d.ts +57 -0
  135. package/dist/src/lib/policy/policy.d.ts.map +1 -0
  136. package/dist/src/lib/policy/policy.js +108 -0
  137. package/dist/src/lib/qr-code/qr-code.d.ts +35 -0
  138. package/dist/src/lib/qr-code/qr-code.d.ts.map +1 -0
  139. package/dist/src/lib/qr-code/qr-code.js +73 -0
  140. package/dist/src/lib/qr-code/qr-code.mock.data.d.ts +66 -0
  141. package/dist/src/lib/qr-code/qr-code.mock.data.d.ts.map +1 -0
  142. package/dist/src/lib/qr-code/qr-code.mock.data.js +175 -0
  143. package/dist/src/lib/recovery-codes/recovery-codes.d.ts +40 -0
  144. package/dist/src/lib/recovery-codes/recovery-codes.d.ts.map +1 -0
  145. package/dist/src/lib/recovery-codes/recovery-codes.js +64 -0
  146. package/dist/src/lib/recovery-codes/script-parser.d.ts +8 -0
  147. package/dist/src/lib/recovery-codes/script-parser.d.ts.map +1 -0
  148. package/dist/src/lib/recovery-codes/script-parser.js +45 -0
  149. package/dist/src/lib/recovery-codes/script-text.mock.data.d.ts +27 -0
  150. package/dist/src/lib/recovery-codes/script-text.mock.data.d.ts.map +1 -0
  151. package/dist/src/lib/recovery-codes/script-text.mock.data.js +103 -0
  152. package/dist/src/lib/step.types.d.ts +14 -0
  153. package/dist/src/lib/step.types.d.ts.map +1 -0
  154. package/dist/src/lib/step.types.js +7 -0
  155. package/dist/src/lib/step.utils.d.ts +10 -0
  156. package/dist/src/lib/step.utils.d.ts.map +1 -0
  157. package/dist/src/lib/step.utils.js +62 -0
  158. package/dist/src/lib/webauthn/enums.d.ts +24 -0
  159. package/dist/src/lib/webauthn/enums.d.ts.map +1 -0
  160. package/dist/src/lib/webauthn/enums.js +35 -0
  161. package/dist/src/lib/webauthn/helpers.d.ts +18 -0
  162. package/dist/src/lib/webauthn/helpers.d.ts.map +1 -0
  163. package/dist/src/lib/webauthn/helpers.js +103 -0
  164. package/dist/src/lib/webauthn/helpers.mock.data.d.ts +6 -0
  165. package/dist/src/lib/webauthn/helpers.mock.data.d.ts.map +1 -0
  166. package/dist/src/lib/webauthn/helpers.mock.data.js +14 -0
  167. package/dist/src/lib/webauthn/interfaces.d.ts +92 -0
  168. package/dist/src/lib/webauthn/interfaces.d.ts.map +1 -0
  169. package/dist/src/lib/webauthn/interfaces.js +34 -0
  170. package/dist/src/lib/webauthn/script-text.mock.data.d.ts +76 -0
  171. package/dist/src/lib/webauthn/script-text.mock.data.d.ts.map +1 -0
  172. package/dist/src/lib/webauthn/script-text.mock.data.js +451 -0
  173. package/dist/src/lib/webauthn/webauthn.d.ts +124 -0
  174. package/dist/src/lib/webauthn/webauthn.d.ts.map +1 -0
  175. package/dist/src/lib/webauthn/webauthn.js +383 -0
  176. package/dist/src/lib/webauthn/webauthn.mock.data.d.ts +331 -0
  177. package/dist/src/lib/webauthn/webauthn.mock.data.d.ts.map +1 -0
  178. package/dist/src/lib/webauthn/webauthn.mock.data.js +446 -0
  179. package/dist/src/types.d.ts +31 -0
  180. package/dist/src/types.d.ts.map +1 -0
  181. package/dist/src/types.js +34 -0
  182. package/dist/tsconfig.lib.tsbuildinfo +1 -0
  183. package/eslint.config.mjs +19 -0
  184. package/out-tsc/vitest/packages/journey-client/src/lib/callbacks/attribute-input-callback.test.d.ts +1 -0
  185. package/out-tsc/vitest/packages/journey-client/src/lib/callbacks/fr-auth-callback.test.d.ts +1 -0
  186. package/out-tsc/vitest/packages/journey-client/src/lib/callbacks/ping-protect-evaluation-callback.test.d.ts +1 -0
  187. package/out-tsc/vitest/packages/journey-client/src/lib/callbacks/ping-protect-initialize-callback.test.d.ts +1 -0
  188. package/out-tsc/vitest/packages/journey-client/src/lib/callbacks/recaptcha-enterprise-callback.test.d.ts +1 -0
  189. package/out-tsc/vitest/packages/journey-client/src/lib/callbacks/text-input-callback.test.d.ts +1 -0
  190. package/out-tsc/vitest/packages/journey-client/src/lib/callbacks/validated-create-password-callback.test.d.ts +1 -0
  191. package/out-tsc/vitest/packages/journey-client/src/lib/callbacks/validated-create-username-callback.test.d.ts +1 -0
  192. package/out-tsc/vitest/packages/journey-client/src/lib/fr-device/device-profile.test.d.ts +1 -0
  193. package/out-tsc/vitest/packages/journey-client/src/lib/fr-policy/fr-policy.test.d.ts +1 -0
  194. package/out-tsc/vitest/packages/journey-client/tsconfig.spec.tsbuildinfo +1 -0
  195. package/out-tsc/vitest/packages/journey-client/vite.config.d.ts +2 -0
  196. package/out-tsc/vitest/src/lib/callbacks/attribute-input-callback-operators.test.d.ts +2 -0
  197. package/out-tsc/vitest/src/lib/callbacks/attribute-input-callback-operators.test.d.ts.map +1 -0
  198. package/out-tsc/vitest/src/lib/callbacks/attribute-input-callback.operators.test.d.ts +2 -0
  199. package/out-tsc/vitest/src/lib/callbacks/attribute-input-callback.operators.test.d.ts.map +1 -0
  200. package/out-tsc/vitest/src/lib/callbacks/attribute-input-callback.test.d.ts +2 -0
  201. package/out-tsc/vitest/src/lib/callbacks/attribute-input-callback.test.d.ts.map +1 -0
  202. package/out-tsc/vitest/src/lib/callbacks/base-callback.test.d.ts +2 -0
  203. package/out-tsc/vitest/src/lib/callbacks/base-callback.test.d.ts.map +1 -0
  204. package/out-tsc/vitest/src/lib/callbacks/callback-types.test.d.ts +2 -0
  205. package/out-tsc/vitest/src/lib/callbacks/callback-types.test.d.ts.map +1 -0
  206. package/out-tsc/vitest/src/lib/callbacks/callback-utils.test.d.ts +2 -0
  207. package/out-tsc/vitest/src/lib/callbacks/callback-utils.test.d.ts.map +1 -0
  208. package/out-tsc/vitest/src/lib/callbacks/choice-callback-operators.test.d.ts +2 -0
  209. package/out-tsc/vitest/src/lib/callbacks/choice-callback-operators.test.d.ts.map +1 -0
  210. package/out-tsc/vitest/src/lib/callbacks/choice-callback.operators.test.d.ts +2 -0
  211. package/out-tsc/vitest/src/lib/callbacks/choice-callback.operators.test.d.ts.map +1 -0
  212. package/out-tsc/vitest/src/lib/callbacks/choice-callback.test.d.ts +2 -0
  213. package/out-tsc/vitest/src/lib/callbacks/choice-callback.test.d.ts.map +1 -0
  214. package/out-tsc/vitest/src/lib/callbacks/confirmation-callback-operators.test.d.ts +2 -0
  215. package/out-tsc/vitest/src/lib/callbacks/confirmation-callback-operators.test.d.ts.map +1 -0
  216. package/out-tsc/vitest/src/lib/callbacks/confirmation-callback.operators.test.d.ts +2 -0
  217. package/out-tsc/vitest/src/lib/callbacks/confirmation-callback.operators.test.d.ts.map +1 -0
  218. package/out-tsc/vitest/src/lib/callbacks/confirmation-callback.test.d.ts +2 -0
  219. package/out-tsc/vitest/src/lib/callbacks/confirmation-callback.test.d.ts.map +1 -0
  220. package/out-tsc/vitest/src/lib/callbacks/device-profile-callback.test.d.ts +2 -0
  221. package/out-tsc/vitest/src/lib/callbacks/device-profile-callback.test.d.ts.map +1 -0
  222. package/out-tsc/vitest/src/lib/callbacks/factory.test.d.ts +2 -0
  223. package/out-tsc/vitest/src/lib/callbacks/factory.test.d.ts.map +1 -0
  224. package/out-tsc/vitest/src/lib/callbacks/fr-auth-callback.test.d.ts +2 -0
  225. package/out-tsc/vitest/src/lib/callbacks/fr-auth-callback.test.d.ts.map +1 -0
  226. package/out-tsc/vitest/src/lib/callbacks/hidden-value-callback-operators.test.d.ts +2 -0
  227. package/out-tsc/vitest/src/lib/callbacks/hidden-value-callback-operators.test.d.ts.map +1 -0
  228. package/out-tsc/vitest/src/lib/callbacks/hidden-value-callback.operators.test.d.ts +2 -0
  229. package/out-tsc/vitest/src/lib/callbacks/hidden-value-callback.operators.test.d.ts.map +1 -0
  230. package/out-tsc/vitest/src/lib/callbacks/hidden-value-callback.test.d.ts +2 -0
  231. package/out-tsc/vitest/src/lib/callbacks/hidden-value-callback.test.d.ts.map +1 -0
  232. package/out-tsc/vitest/src/lib/callbacks/kba-create-callback-operators.test.d.ts +2 -0
  233. package/out-tsc/vitest/src/lib/callbacks/kba-create-callback-operators.test.d.ts.map +1 -0
  234. package/out-tsc/vitest/src/lib/callbacks/kba-create-callback.operators.test.d.ts +2 -0
  235. package/out-tsc/vitest/src/lib/callbacks/kba-create-callback.operators.test.d.ts.map +1 -0
  236. package/out-tsc/vitest/src/lib/callbacks/kba-create-callback.test.d.ts +2 -0
  237. package/out-tsc/vitest/src/lib/callbacks/kba-create-callback.test.d.ts.map +1 -0
  238. package/out-tsc/vitest/src/lib/callbacks/metadata-callback-operators.test.d.ts +2 -0
  239. package/out-tsc/vitest/src/lib/callbacks/metadata-callback-operators.test.d.ts.map +1 -0
  240. package/out-tsc/vitest/src/lib/callbacks/metadata-callback.operators.test.d.ts +2 -0
  241. package/out-tsc/vitest/src/lib/callbacks/metadata-callback.operators.test.d.ts.map +1 -0
  242. package/out-tsc/vitest/src/lib/callbacks/metadata-callback.test.d.ts +2 -0
  243. package/out-tsc/vitest/src/lib/callbacks/metadata-callback.test.d.ts.map +1 -0
  244. package/out-tsc/vitest/src/lib/callbacks/name-callback-operators.test.d.ts +2 -0
  245. package/out-tsc/vitest/src/lib/callbacks/name-callback-operators.test.d.ts.map +1 -0
  246. package/out-tsc/vitest/src/lib/callbacks/name-callback.operators.test.d.ts +2 -0
  247. package/out-tsc/vitest/src/lib/callbacks/name-callback.operators.test.d.ts.map +1 -0
  248. package/out-tsc/vitest/src/lib/callbacks/name-callback.test.d.ts +2 -0
  249. package/out-tsc/vitest/src/lib/callbacks/name-callback.test.d.ts.map +1 -0
  250. package/out-tsc/vitest/src/lib/callbacks/password-callback-operators.test.d.ts +2 -0
  251. package/out-tsc/vitest/src/lib/callbacks/password-callback-operators.test.d.ts.map +1 -0
  252. package/out-tsc/vitest/src/lib/callbacks/password-callback.operators.test.d.ts +2 -0
  253. package/out-tsc/vitest/src/lib/callbacks/password-callback.operators.test.d.ts.map +1 -0
  254. package/out-tsc/vitest/src/lib/callbacks/password-callback.test.d.ts +2 -0
  255. package/out-tsc/vitest/src/lib/callbacks/password-callback.test.d.ts.map +1 -0
  256. package/out-tsc/vitest/src/lib/callbacks/ping-protect-evaluation-callback-operators.test.d.ts +2 -0
  257. package/out-tsc/vitest/src/lib/callbacks/ping-protect-evaluation-callback-operators.test.d.ts.map +1 -0
  258. package/out-tsc/vitest/src/lib/callbacks/ping-protect-evaluation-callback.operators.test.d.ts +2 -0
  259. package/out-tsc/vitest/src/lib/callbacks/ping-protect-evaluation-callback.operators.test.d.ts.map +1 -0
  260. package/out-tsc/vitest/src/lib/callbacks/ping-protect-evaluation-callback.test.d.ts +2 -0
  261. package/out-tsc/vitest/src/lib/callbacks/ping-protect-evaluation-callback.test.d.ts.map +1 -0
  262. package/out-tsc/vitest/src/lib/callbacks/ping-protect-initialize-callback-operators.test.d.ts +2 -0
  263. package/out-tsc/vitest/src/lib/callbacks/ping-protect-initialize-callback-operators.test.d.ts.map +1 -0
  264. package/out-tsc/vitest/src/lib/callbacks/ping-protect-initialize-callback.operators.test.d.ts +2 -0
  265. package/out-tsc/vitest/src/lib/callbacks/ping-protect-initialize-callback.operators.test.d.ts.map +1 -0
  266. package/out-tsc/vitest/src/lib/callbacks/ping-protect-initialize-callback.test.d.ts +2 -0
  267. package/out-tsc/vitest/src/lib/callbacks/ping-protect-initialize-callback.test.d.ts.map +1 -0
  268. package/out-tsc/vitest/src/lib/callbacks/polling-wait-callback-operators.test.d.ts +2 -0
  269. package/out-tsc/vitest/src/lib/callbacks/polling-wait-callback-operators.test.d.ts.map +1 -0
  270. package/out-tsc/vitest/src/lib/callbacks/polling-wait-callback.operators.test.d.ts +2 -0
  271. package/out-tsc/vitest/src/lib/callbacks/polling-wait-callback.operators.test.d.ts.map +1 -0
  272. package/out-tsc/vitest/src/lib/callbacks/polling-wait-callback.test.d.ts +2 -0
  273. package/out-tsc/vitest/src/lib/callbacks/polling-wait-callback.test.d.ts.map +1 -0
  274. package/out-tsc/vitest/src/lib/callbacks/recaptcha-callback-operators.test.d.ts +2 -0
  275. package/out-tsc/vitest/src/lib/callbacks/recaptcha-callback-operators.test.d.ts.map +1 -0
  276. package/out-tsc/vitest/src/lib/callbacks/recaptcha-callback.operators.test.d.ts +2 -0
  277. package/out-tsc/vitest/src/lib/callbacks/recaptcha-callback.operators.test.d.ts.map +1 -0
  278. package/out-tsc/vitest/src/lib/callbacks/recaptcha-callback.test.d.ts +2 -0
  279. package/out-tsc/vitest/src/lib/callbacks/recaptcha-callback.test.d.ts.map +1 -0
  280. package/out-tsc/vitest/src/lib/callbacks/recaptcha-enterprise-callback-operators.test.d.ts +2 -0
  281. package/out-tsc/vitest/src/lib/callbacks/recaptcha-enterprise-callback-operators.test.d.ts.map +1 -0
  282. package/out-tsc/vitest/src/lib/callbacks/recaptcha-enterprise-callback.operators.test.d.ts +2 -0
  283. package/out-tsc/vitest/src/lib/callbacks/recaptcha-enterprise-callback.operators.test.d.ts.map +1 -0
  284. package/out-tsc/vitest/src/lib/callbacks/recaptcha-enterprise-callback.test.d.ts +2 -0
  285. package/out-tsc/vitest/src/lib/callbacks/recaptcha-enterprise-callback.test.d.ts.map +1 -0
  286. package/out-tsc/vitest/src/lib/callbacks/redirect-callback-operators.test.d.ts +2 -0
  287. package/out-tsc/vitest/src/lib/callbacks/redirect-callback-operators.test.d.ts.map +1 -0
  288. package/out-tsc/vitest/src/lib/callbacks/redirect-callback.operators.test.d.ts +2 -0
  289. package/out-tsc/vitest/src/lib/callbacks/redirect-callback.operators.test.d.ts.map +1 -0
  290. package/out-tsc/vitest/src/lib/callbacks/redirect-callback.test.d.ts +2 -0
  291. package/out-tsc/vitest/src/lib/callbacks/redirect-callback.test.d.ts.map +1 -0
  292. package/out-tsc/vitest/src/lib/callbacks/select-idp-callback-operators.test.d.ts +2 -0
  293. package/out-tsc/vitest/src/lib/callbacks/select-idp-callback-operators.test.d.ts.map +1 -0
  294. package/out-tsc/vitest/src/lib/callbacks/select-idp-callback.operators.test.d.ts +2 -0
  295. package/out-tsc/vitest/src/lib/callbacks/select-idp-callback.operators.test.d.ts.map +1 -0
  296. package/out-tsc/vitest/src/lib/callbacks/select-idp-callback.test.d.ts +2 -0
  297. package/out-tsc/vitest/src/lib/callbacks/select-idp-callback.test.d.ts.map +1 -0
  298. package/out-tsc/vitest/src/lib/callbacks/suspended-text-output-callback-operators.test.d.ts +2 -0
  299. package/out-tsc/vitest/src/lib/callbacks/suspended-text-output-callback-operators.test.d.ts.map +1 -0
  300. package/out-tsc/vitest/src/lib/callbacks/suspended-text-output-callback.operators.test.d.ts +2 -0
  301. package/out-tsc/vitest/src/lib/callbacks/suspended-text-output-callback.operators.test.d.ts.map +1 -0
  302. package/out-tsc/vitest/src/lib/callbacks/suspended-text-output-callback.test.d.ts +2 -0
  303. package/out-tsc/vitest/src/lib/callbacks/suspended-text-output-callback.test.d.ts.map +1 -0
  304. package/out-tsc/vitest/src/lib/callbacks/terms-and-conditions-callback-operators.test.d.ts +2 -0
  305. package/out-tsc/vitest/src/lib/callbacks/terms-and-conditions-callback-operators.test.d.ts.map +1 -0
  306. package/out-tsc/vitest/src/lib/callbacks/terms-and-conditions-callback.operators.test.d.ts +2 -0
  307. package/out-tsc/vitest/src/lib/callbacks/terms-and-conditions-callback.operators.test.d.ts.map +1 -0
  308. package/out-tsc/vitest/src/lib/callbacks/terms-and-conditions-callback.test.d.ts +2 -0
  309. package/out-tsc/vitest/src/lib/callbacks/terms-and-conditions-callback.test.d.ts.map +1 -0
  310. package/out-tsc/vitest/src/lib/callbacks/text-input-callback-operators.test.d.ts +2 -0
  311. package/out-tsc/vitest/src/lib/callbacks/text-input-callback-operators.test.d.ts.map +1 -0
  312. package/out-tsc/vitest/src/lib/callbacks/text-input-callback.operators.test.d.ts +2 -0
  313. package/out-tsc/vitest/src/lib/callbacks/text-input-callback.operators.test.d.ts.map +1 -0
  314. package/out-tsc/vitest/src/lib/callbacks/text-input-callback.test.d.ts +2 -0
  315. package/out-tsc/vitest/src/lib/callbacks/text-input-callback.test.d.ts.map +1 -0
  316. package/out-tsc/vitest/src/lib/callbacks/text-output-callback-operators.test.d.ts +2 -0
  317. package/out-tsc/vitest/src/lib/callbacks/text-output-callback-operators.test.d.ts.map +1 -0
  318. package/out-tsc/vitest/src/lib/callbacks/text-output-callback.operators.test.d.ts +2 -0
  319. package/out-tsc/vitest/src/lib/callbacks/text-output-callback.operators.test.d.ts.map +1 -0
  320. package/out-tsc/vitest/src/lib/callbacks/text-output-callback.test.d.ts +2 -0
  321. package/out-tsc/vitest/src/lib/callbacks/text-output-callback.test.d.ts.map +1 -0
  322. package/out-tsc/vitest/src/lib/callbacks/validated-create-password-callback-operators.test.d.ts +2 -0
  323. package/out-tsc/vitest/src/lib/callbacks/validated-create-password-callback-operators.test.d.ts.map +1 -0
  324. package/out-tsc/vitest/src/lib/callbacks/validated-create-password-callback.operators.test.d.ts +2 -0
  325. package/out-tsc/vitest/src/lib/callbacks/validated-create-password-callback.operators.test.d.ts.map +1 -0
  326. package/out-tsc/vitest/src/lib/callbacks/validated-create-password-callback.test.d.ts +2 -0
  327. package/out-tsc/vitest/src/lib/callbacks/validated-create-password-callback.test.d.ts.map +1 -0
  328. package/out-tsc/vitest/src/lib/callbacks/validated-create-username-callback-operators.test.d.ts +2 -0
  329. package/out-tsc/vitest/src/lib/callbacks/validated-create-username-callback-operators.test.d.ts.map +1 -0
  330. package/out-tsc/vitest/src/lib/callbacks/validated-create-username-callback.operators.test.d.ts +2 -0
  331. package/out-tsc/vitest/src/lib/callbacks/validated-create-username-callback.operators.test.d.ts.map +1 -0
  332. package/out-tsc/vitest/src/lib/callbacks/validated-create-username-callback.test.d.ts +2 -0
  333. package/out-tsc/vitest/src/lib/callbacks/validated-create-username-callback.test.d.ts.map +1 -0
  334. package/out-tsc/vitest/src/lib/client.store.test.d.ts +2 -0
  335. package/out-tsc/vitest/src/lib/client.store.test.d.ts.map +1 -0
  336. package/out-tsc/vitest/src/lib/device/device-profile.test.d.ts +2 -0
  337. package/out-tsc/vitest/src/lib/device/device-profile.test.d.ts.map +1 -0
  338. package/out-tsc/vitest/src/lib/fr-device/device-profile.test.d.ts +2 -0
  339. package/out-tsc/vitest/src/lib/fr-device/device-profile.test.d.ts.map +1 -0
  340. package/out-tsc/vitest/src/lib/fr-policy/fr-policy.test.d.ts +2 -0
  341. package/out-tsc/vitest/src/lib/fr-policy/fr-policy.test.d.ts.map +1 -0
  342. package/out-tsc/vitest/src/lib/fr-qrcode/fr-qrcode.test.d.ts +2 -0
  343. package/out-tsc/vitest/src/lib/fr-qrcode/fr-qrcode.test.d.ts.map +1 -0
  344. package/out-tsc/vitest/src/lib/fr-recovery-codes/recovery-codes.test.d.ts +2 -0
  345. package/out-tsc/vitest/src/lib/fr-recovery-codes/recovery-codes.test.d.ts.map +1 -0
  346. package/out-tsc/vitest/src/lib/fr-recovery-codes/script-parser.test.d.ts +2 -0
  347. package/out-tsc/vitest/src/lib/fr-recovery-codes/script-parser.test.d.ts.map +1 -0
  348. package/out-tsc/vitest/src/lib/fr-step.test.d.ts +2 -0
  349. package/out-tsc/vitest/src/lib/fr-step.test.d.ts.map +1 -0
  350. package/out-tsc/vitest/src/lib/fr-webauthn/fr-webauthn.test.d.ts +2 -0
  351. package/out-tsc/vitest/src/lib/fr-webauthn/fr-webauthn.test.d.ts.map +1 -0
  352. package/out-tsc/vitest/src/lib/fr-webauthn/helpers.test.d.ts +2 -0
  353. package/out-tsc/vitest/src/lib/fr-webauthn/helpers.test.d.ts.map +1 -0
  354. package/out-tsc/vitest/src/lib/fr-webauthn/script-parser.test.d.ts +2 -0
  355. package/out-tsc/vitest/src/lib/fr-webauthn/script-parser.test.d.ts.map +1 -0
  356. package/out-tsc/vitest/src/lib/journey-client.test.d.ts +2 -0
  357. package/out-tsc/vitest/src/lib/journey-client.test.d.ts.map +1 -0
  358. package/out-tsc/vitest/src/lib/journey-device/device-profile.test.d.ts +2 -0
  359. package/out-tsc/vitest/src/lib/journey-device/device-profile.test.d.ts.map +1 -0
  360. package/out-tsc/vitest/src/lib/journey-login-failure.utils.test.d.ts +2 -0
  361. package/out-tsc/vitest/src/lib/journey-login-failure.utils.test.d.ts.map +1 -0
  362. package/out-tsc/vitest/src/lib/journey-login-success.utils.test.d.ts +2 -0
  363. package/out-tsc/vitest/src/lib/journey-login-success.utils.test.d.ts.map +1 -0
  364. package/out-tsc/vitest/src/lib/journey-policy/fr-policy.test.d.ts +2 -0
  365. package/out-tsc/vitest/src/lib/journey-policy/fr-policy.test.d.ts.map +1 -0
  366. package/out-tsc/vitest/src/lib/journey-policy/journey-policy.test.d.ts +2 -0
  367. package/out-tsc/vitest/src/lib/journey-policy/journey-policy.test.d.ts.map +1 -0
  368. package/out-tsc/vitest/src/lib/journey-qrcode/journey-qrcode.test.d.ts +2 -0
  369. package/out-tsc/vitest/src/lib/journey-qrcode/journey-qrcode.test.d.ts.map +1 -0
  370. package/out-tsc/vitest/src/lib/journey-step.test.d.ts +2 -0
  371. package/out-tsc/vitest/src/lib/journey-step.test.d.ts.map +1 -0
  372. package/out-tsc/vitest/src/lib/journey-webauthn/enums.d.ts +24 -0
  373. package/out-tsc/vitest/src/lib/journey-webauthn/enums.d.ts.map +1 -0
  374. package/out-tsc/vitest/src/lib/journey-webauthn/helpers.d.ts +18 -0
  375. package/out-tsc/vitest/src/lib/journey-webauthn/helpers.d.ts.map +1 -0
  376. package/out-tsc/vitest/src/lib/journey-webauthn/helpers.mock.data.d.ts +6 -0
  377. package/out-tsc/vitest/src/lib/journey-webauthn/helpers.mock.data.d.ts.map +1 -0
  378. package/out-tsc/vitest/src/lib/journey-webauthn/helpers.test.d.ts +2 -0
  379. package/out-tsc/vitest/src/lib/journey-webauthn/helpers.test.d.ts.map +1 -0
  380. package/out-tsc/vitest/src/lib/journey-webauthn/index.d.ts +123 -0
  381. package/out-tsc/vitest/src/lib/journey-webauthn/index.d.ts.map +1 -0
  382. package/out-tsc/vitest/src/lib/journey-webauthn/interfaces.d.ts +93 -0
  383. package/out-tsc/vitest/src/lib/journey-webauthn/interfaces.d.ts.map +1 -0
  384. package/out-tsc/vitest/src/lib/journey-webauthn/journey-webauthn.mock.data.d.ts +331 -0
  385. package/out-tsc/vitest/src/lib/journey-webauthn/journey-webauthn.mock.data.d.ts.map +1 -0
  386. package/out-tsc/vitest/src/lib/journey-webauthn/journey-webauthn.test.d.ts +2 -0
  387. package/out-tsc/vitest/src/lib/journey-webauthn/journey-webauthn.test.d.ts.map +1 -0
  388. package/out-tsc/vitest/src/lib/journey-webauthn/script-parser.d.ts +4 -0
  389. package/out-tsc/vitest/src/lib/journey-webauthn/script-parser.d.ts.map +1 -0
  390. package/out-tsc/vitest/src/lib/journey-webauthn/script-parser.test.d.ts +2 -0
  391. package/out-tsc/vitest/src/lib/journey-webauthn/script-parser.test.d.ts.map +1 -0
  392. package/out-tsc/vitest/src/lib/journey-webauthn/script-text.mock.data.d.ts +76 -0
  393. package/out-tsc/vitest/src/lib/journey-webauthn/script-text.mock.data.d.ts.map +1 -0
  394. package/out-tsc/vitest/src/lib/journey-webauthn/webauthn-utils.d.ts +38 -0
  395. package/out-tsc/vitest/src/lib/journey-webauthn/webauthn-utils.d.ts.map +1 -0
  396. package/out-tsc/vitest/src/lib/journey.api.test.d.ts +2 -0
  397. package/out-tsc/vitest/src/lib/journey.api.test.d.ts.map +1 -0
  398. package/out-tsc/vitest/src/lib/journey.store.test.d.ts +2 -0
  399. package/out-tsc/vitest/src/lib/journey.store.test.d.ts.map +1 -0
  400. package/out-tsc/vitest/src/lib/login-failure.utils.test.d.ts +2 -0
  401. package/out-tsc/vitest/src/lib/login-failure.utils.test.d.ts.map +1 -0
  402. package/out-tsc/vitest/src/lib/login-success.utils.test.d.ts +2 -0
  403. package/out-tsc/vitest/src/lib/login-success.utils.test.d.ts.map +1 -0
  404. package/out-tsc/vitest/src/lib/object-utils.test.d.ts +2 -0
  405. package/out-tsc/vitest/src/lib/object-utils.test.d.ts.map +1 -0
  406. package/out-tsc/vitest/src/lib/policy/policy.test.d.ts +2 -0
  407. package/out-tsc/vitest/src/lib/policy/policy.test.d.ts.map +1 -0
  408. package/out-tsc/vitest/src/lib/qr-code/qr-code.test.d.ts +2 -0
  409. package/out-tsc/vitest/src/lib/qr-code/qr-code.test.d.ts.map +1 -0
  410. package/out-tsc/vitest/src/lib/recovery-codes/index.d.ts +37 -0
  411. package/out-tsc/vitest/src/lib/recovery-codes/index.d.ts.map +1 -0
  412. package/out-tsc/vitest/src/lib/recovery-codes/recovery-codes.test.d.ts +2 -0
  413. package/out-tsc/vitest/src/lib/recovery-codes/recovery-codes.test.d.ts.map +1 -0
  414. package/out-tsc/vitest/src/lib/recovery-codes/script-parser.d.ts +9 -0
  415. package/out-tsc/vitest/src/lib/recovery-codes/script-parser.d.ts.map +1 -0
  416. package/out-tsc/vitest/src/lib/recovery-codes/script-parser.test.d.ts +2 -0
  417. package/out-tsc/vitest/src/lib/recovery-codes/script-parser.test.d.ts.map +1 -0
  418. package/out-tsc/vitest/src/lib/recovery-codes/script-text.mock.data.d.ts +27 -0
  419. package/out-tsc/vitest/src/lib/recovery-codes/script-text.mock.data.d.ts.map +1 -0
  420. package/out-tsc/vitest/src/lib/step-utils.test.d.ts +2 -0
  421. package/out-tsc/vitest/src/lib/step-utils.test.d.ts.map +1 -0
  422. package/out-tsc/vitest/src/lib/step.test.d.ts +2 -0
  423. package/out-tsc/vitest/src/lib/step.test.d.ts.map +1 -0
  424. package/out-tsc/vitest/src/lib/webauthn/helpers.test.d.ts +2 -0
  425. package/out-tsc/vitest/src/lib/webauthn/helpers.test.d.ts.map +1 -0
  426. package/out-tsc/vitest/src/lib/webauthn/webauthn.test.d.ts +2 -0
  427. package/out-tsc/vitest/src/lib/webauthn/webauthn.test.d.ts.map +1 -0
  428. package/out-tsc/vitest/tsconfig.spec.tsbuildinfo +1 -0
  429. package/out-tsc/vitest/vite.config.d.ts +3 -0
  430. package/out-tsc/vitest/vite.config.d.ts.map +1 -0
  431. package/package.json +62 -0
  432. package/src/index.ts +8 -0
  433. package/src/lib/callbacks/attribute-input-callback.test.ts +89 -0
  434. package/src/lib/callbacks/attribute-input-callback.ts +81 -0
  435. package/src/lib/callbacks/base-callback.test.ts +42 -0
  436. package/src/lib/callbacks/base-callback.ts +101 -0
  437. package/src/lib/callbacks/choice-callback.test.ts +77 -0
  438. package/src/lib/callbacks/choice-callback.ts +64 -0
  439. package/src/lib/callbacks/confirmation-callback.test.ts +94 -0
  440. package/src/lib/callbacks/confirmation-callback.ts +78 -0
  441. package/src/lib/callbacks/device-profile-callback.test.ts +68 -0
  442. package/src/lib/callbacks/device-profile-callback.ts +51 -0
  443. package/src/lib/callbacks/factory.test.ts +89 -0
  444. package/src/lib/callbacks/factory.ts +95 -0
  445. package/src/lib/callbacks/hidden-value-callback.test.ts +26 -0
  446. package/src/lib/callbacks/hidden-value-callback.ts +21 -0
  447. package/src/lib/callbacks/kba-create-callback.test.ts +62 -0
  448. package/src/lib/callbacks/kba-create-callback.ts +68 -0
  449. package/src/lib/callbacks/metadata-callback.test.ts +31 -0
  450. package/src/lib/callbacks/metadata-callback.ts +28 -0
  451. package/src/lib/callbacks/name-callback.test.ts +42 -0
  452. package/src/lib/callbacks/name-callback.ts +35 -0
  453. package/src/lib/callbacks/password-callback.test.ts +60 -0
  454. package/src/lib/callbacks/password-callback.ts +49 -0
  455. package/src/lib/callbacks/ping-protect-evaluation-callback.test.ts +69 -0
  456. package/src/lib/callbacks/ping-protect-evaluation-callback.ts +70 -0
  457. package/src/lib/callbacks/ping-protect-initialize-callback.test.ts +153 -0
  458. package/src/lib/callbacks/ping-protect-initialize-callback.ts +44 -0
  459. package/src/lib/callbacks/polling-wait-callback.test.ts +36 -0
  460. package/src/lib/callbacks/polling-wait-callback.ts +35 -0
  461. package/src/lib/callbacks/recaptcha-callback.test.ts +42 -0
  462. package/src/lib/callbacks/recaptcha-callback.ts +35 -0
  463. package/src/lib/callbacks/recaptcha-enterprise-callback.test.ts +86 -0
  464. package/src/lib/callbacks/recaptcha-enterprise-callback.ts +72 -0
  465. package/src/lib/callbacks/redirect-callback.test.ts +31 -0
  466. package/src/lib/callbacks/redirect-callback.ts +28 -0
  467. package/src/lib/callbacks/select-idp-callback.test.ts +51 -0
  468. package/src/lib/callbacks/select-idp-callback.ts +48 -0
  469. package/src/lib/callbacks/suspended-text-output-callback.test.ts +35 -0
  470. package/src/lib/callbacks/suspended-text-output-callback.ts +21 -0
  471. package/src/lib/callbacks/terms-and-conditions-callback.test.ts +55 -0
  472. package/src/lib/callbacks/terms-and-conditions-callback.ts +51 -0
  473. package/src/lib/callbacks/text-input-callback.test.ts +43 -0
  474. package/src/lib/callbacks/text-input-callback.ts +35 -0
  475. package/src/lib/callbacks/text-output-callback.test.ts +36 -0
  476. package/src/lib/callbacks/text-output-callback.ts +36 -0
  477. package/src/lib/callbacks/validated-create-password-callback.test.ts +84 -0
  478. package/src/lib/callbacks/validated-create-password-callback.ts +75 -0
  479. package/src/lib/callbacks/validated-create-username-callback.test.ts +84 -0
  480. package/src/lib/callbacks/validated-create-username-callback.ts +76 -0
  481. package/src/lib/client.store.test.ts +324 -0
  482. package/src/lib/client.store.ts +194 -0
  483. package/src/lib/client.store.utils.ts +46 -0
  484. package/src/lib/config.types.ts +17 -0
  485. package/src/lib/device/defaults.ts +79 -0
  486. package/src/lib/device/device-profile.mock.data.ts +120 -0
  487. package/src/lib/device/device-profile.test.ts +128 -0
  488. package/src/lib/device/device-profile.ts +287 -0
  489. package/src/lib/device/interfaces.ts +63 -0
  490. package/src/lib/device/sample-profile.json +45 -0
  491. package/src/lib/interfaces.ts +25 -0
  492. package/src/lib/journey.api.ts +198 -0
  493. package/src/lib/journey.slice.ts +33 -0
  494. package/src/lib/journey.utils.ts +44 -0
  495. package/src/lib/login-failure.utils.test.ts +31 -0
  496. package/src/lib/login-failure.utils.ts +62 -0
  497. package/src/lib/login-success.utils.test.ts +29 -0
  498. package/src/lib/login-success.utils.ts +43 -0
  499. package/src/lib/policy/interfaces.ts +16 -0
  500. package/src/lib/policy/message-creator.ts +66 -0
  501. package/src/lib/policy/policy.test.ts +202 -0
  502. package/src/lib/policy/policy.ts +134 -0
  503. package/src/lib/qr-code/qr-code.mock.data.ts +184 -0
  504. package/src/lib/qr-code/qr-code.test.ts +78 -0
  505. package/src/lib/qr-code/qr-code.ts +96 -0
  506. package/src/lib/recovery-codes/recovery-codes.test.ts +43 -0
  507. package/src/lib/recovery-codes/recovery-codes.ts +72 -0
  508. package/src/lib/recovery-codes/script-parser.test.ts +34 -0
  509. package/src/lib/recovery-codes/script-parser.ts +50 -0
  510. package/src/lib/recovery-codes/script-text.mock.data.ts +120 -0
  511. package/src/lib/step.test.ts +104 -0
  512. package/src/lib/step.types.ts +22 -0
  513. package/src/lib/step.utils.ts +99 -0
  514. package/src/lib/webauthn/enums.ts +36 -0
  515. package/src/lib/webauthn/helpers.mock.data.ts +24 -0
  516. package/src/lib/webauthn/helpers.test.ts +54 -0
  517. package/src/lib/webauthn/helpers.ts +124 -0
  518. package/src/lib/webauthn/interfaces.ts +112 -0
  519. package/src/lib/webauthn/script-text.mock.data.ts +463 -0
  520. package/src/lib/webauthn/webauthn.mock.data.ts +478 -0
  521. package/src/lib/webauthn/webauthn.test.ts +100 -0
  522. package/src/lib/webauthn/webauthn.ts +508 -0
  523. package/src/types.ts +50 -0
  524. package/tsconfig.json +28 -0
  525. package/tsconfig.lib.json +37 -0
  526. package/tsconfig.spec.json +42 -0
  527. package/vite.config.ts +0 -0
  528. package/vitest.setup.ts +1 -0
@@ -0,0 +1,508 @@
1
+ /*
2
+ * @forgerock/ping-javascript-sdk
3
+ *
4
+ * index.ts
5
+ *
6
+ * Copyright (c) 2024 - 2025 Ping Identity Corporation. All rights reserved.
7
+ *
8
+ * This software may be modified and distributed under the terms
9
+ * of the MIT license. See the LICENSE file for details.
10
+ */
11
+
12
+ import { callbackType } from '@forgerock/sdk-types';
13
+
14
+ import { WebAuthnOutcome, WebAuthnOutcomeType, WebAuthnStepType } from './enums.js';
15
+ import {
16
+ arrayBufferToString,
17
+ parseCredentials,
18
+ parsePubKeyArray,
19
+ parseRelyingPartyId,
20
+ } from './helpers.js';
21
+
22
+ import type { HiddenValueCallback } from '../callbacks/hidden-value-callback.js';
23
+ import type { JourneyStep } from '../step.utils.js';
24
+ import type {
25
+ AttestationType,
26
+ RelyingParty,
27
+ WebAuthnAuthenticationMetadata,
28
+ WebAuthnCallbacks,
29
+ WebAuthnRegistrationMetadata,
30
+ WebAuthnTextOutputRegistration,
31
+ } from './interfaces.js';
32
+ import type { MetadataCallback } from '../callbacks/metadata-callback.js';
33
+ import type { TextOutputCallback } from '../callbacks/text-output-callback.js';
34
+
35
+ // <clientdata>::<attestation>::<publickeyCredential>::<DeviceName>
36
+ type OutcomeWithName<
37
+ ClientId extends string,
38
+ Attestation extends AttestationType,
39
+ PubKeyCred extends PublicKeyCredential,
40
+ Name = '',
41
+ > = Name extends infer P extends string
42
+ ? `${ClientId}::${Attestation}::${PubKeyCred['id']}${P extends '' ? '' : `::${P}`}`
43
+ : never;
44
+ // JSON-based WebAuthn
45
+ type WebAuthnMetadata = WebAuthnAuthenticationMetadata | WebAuthnRegistrationMetadata;
46
+
47
+ /**
48
+ * Utility for integrating a web browser's WebAuthn API.
49
+ *
50
+ * Example:
51
+ *
52
+ * ```js
53
+ * // Determine if a step is a WebAuthn step
54
+ * const stepType = WebAuthn.getWebAuthnStepType(step);
55
+ * if (stepType === WebAuthnStepType.Registration) {
56
+ * // Register a new device
57
+ * await WebAuthn.register(step);
58
+ * } else if (stepType === WebAuthnStepType.Authentication) {
59
+ * // Authenticate with a registered device
60
+ * await WebAuthn.authenticate(step);
61
+ * }
62
+ * ```
63
+ */
64
+ export abstract class WebAuthn {
65
+ /**
66
+ * Determines if the given step is a WebAuthn step.
67
+ *
68
+ * @param step The step to evaluate
69
+ * @return A WebAuthnStepType value
70
+ */
71
+ public static getWebAuthnStepType(step: JourneyStep): WebAuthnStepType {
72
+ const outcomeCallback = this.getOutcomeCallback(step);
73
+ const metadataCallback = this.getMetadataCallback(step);
74
+ const textOutputCallback = this.getTextOutputCallback(step);
75
+
76
+ if (outcomeCallback && metadataCallback) {
77
+ const metadata = metadataCallback.getOutputValue('data') as {
78
+ pubKeyCredParams?: [];
79
+ };
80
+ if (metadata?.pubKeyCredParams) {
81
+ return WebAuthnStepType.Registration;
82
+ }
83
+
84
+ return WebAuthnStepType.Authentication;
85
+ }
86
+
87
+ if (outcomeCallback && textOutputCallback) {
88
+ const message = textOutputCallback.getMessage() as string | WebAuthnTextOutputRegistration;
89
+
90
+ if (message.includes('pubKeyCredParams')) {
91
+ return WebAuthnStepType.Registration;
92
+ }
93
+
94
+ return WebAuthnStepType.Authentication;
95
+ } else {
96
+ return WebAuthnStepType.None;
97
+ }
98
+ }
99
+
100
+ /**
101
+ * Populates the step with the necessary authentication outcome.
102
+ *
103
+ * @param step The step that contains WebAuthn authentication data
104
+ * @return The populated step
105
+ */
106
+ public static async authenticate(step: JourneyStep): Promise<JourneyStep> {
107
+ const { hiddenCallback, metadataCallback, textOutputCallback } = this.getCallbacks(step);
108
+ if (hiddenCallback && (metadataCallback || textOutputCallback)) {
109
+ let outcome: ReturnType<typeof this.getAuthenticationOutcome>;
110
+ let credential: PublicKeyCredential | null = null;
111
+
112
+ try {
113
+ let publicKey: PublicKeyCredentialRequestOptions;
114
+ if (metadataCallback) {
115
+ const meta = metadataCallback.getOutputValue('data') as WebAuthnAuthenticationMetadata;
116
+ publicKey = this.createAuthenticationPublicKey(meta);
117
+
118
+ credential = await this.getAuthenticationCredential(
119
+ publicKey as PublicKeyCredentialRequestOptions,
120
+ );
121
+ outcome = this.getAuthenticationOutcome(credential);
122
+ } else {
123
+ throw new Error(
124
+ 'No metadata callback found for WebAuthn authentication. Please disable JavaScript in server node.',
125
+ );
126
+ }
127
+ } catch (error) {
128
+ if (!(error instanceof Error)) throw error;
129
+ // NotSupportedError is a special case
130
+ if (error.name === WebAuthnOutcomeType.NotSupportedError) {
131
+ hiddenCallback.setInputValue(WebAuthnOutcome.Unsupported);
132
+ throw error;
133
+ }
134
+ hiddenCallback.setInputValue(`${WebAuthnOutcome.Error}::${error.name}:${error.message}`);
135
+ throw error;
136
+ }
137
+
138
+ if (metadataCallback) {
139
+ const meta = metadataCallback.getOutputValue('data') as WebAuthnAuthenticationMetadata;
140
+ if (meta?.supportsJsonResponse && credential && 'authenticatorAttachment' in credential) {
141
+ hiddenCallback.setInputValue(
142
+ JSON.stringify({
143
+ authenticatorAttachment: credential.authenticatorAttachment,
144
+ legacyData: outcome,
145
+ }),
146
+ );
147
+ return step;
148
+ }
149
+ }
150
+ hiddenCallback.setInputValue(outcome);
151
+ return step;
152
+ } else {
153
+ const e = new Error('Incorrect callbacks for WebAuthn authentication');
154
+ e.name = WebAuthnOutcomeType.DataError;
155
+ hiddenCallback?.setInputValue(`${WebAuthnOutcome.Error}::${e.name}:${e.message}`);
156
+ throw e;
157
+ }
158
+ }
159
+ /**
160
+ * Populates the step with the necessary registration outcome.
161
+ *
162
+ * @param step The step that contains WebAuthn registration data
163
+ * @return The populated step
164
+ */
165
+ // Can make this generic const in Typescript 5.0 > and the name itself will
166
+ // be inferred from the type so `typeof deviceName` will not just return string
167
+ // but the actual name of the deviceName passed in as a generic.
168
+ public static async register<T extends string = ''>(
169
+ step: JourneyStep,
170
+ deviceName?: T,
171
+ ): Promise<JourneyStep> {
172
+ const { hiddenCallback, metadataCallback, textOutputCallback } = this.getCallbacks(step);
173
+ if (hiddenCallback && (metadataCallback || textOutputCallback)) {
174
+ let outcome: OutcomeWithName<string, AttestationType, PublicKeyCredential>;
175
+ let credential: PublicKeyCredential | null = null;
176
+
177
+ try {
178
+ let publicKey: PublicKeyCredentialRequestOptions;
179
+ if (metadataCallback) {
180
+ const meta = metadataCallback.getOutputValue('data') as WebAuthnRegistrationMetadata;
181
+ publicKey = this.createRegistrationPublicKey(meta);
182
+ credential = await this.getRegistrationCredential(
183
+ publicKey as PublicKeyCredentialCreationOptions,
184
+ );
185
+ outcome = this.getRegistrationOutcome(credential);
186
+ } else {
187
+ throw new Error(
188
+ 'No metadata callback found for WebAuthn registration. Please disable JavaScript in server node.',
189
+ );
190
+ }
191
+ } catch (error) {
192
+ if (!(error instanceof Error)) throw error;
193
+ // NotSupportedError is a special case
194
+ if (error.name === WebAuthnOutcomeType.NotSupportedError) {
195
+ hiddenCallback.setInputValue(WebAuthnOutcome.Unsupported);
196
+ throw error;
197
+ }
198
+ hiddenCallback.setInputValue(`${WebAuthnOutcome.Error}::${error.name}:${error.message}`);
199
+ throw error;
200
+ }
201
+
202
+ if (metadataCallback) {
203
+ const meta = metadataCallback.getOutputValue('data') as WebAuthnAuthenticationMetadata;
204
+ if (meta?.supportsJsonResponse && credential && 'authenticatorAttachment' in credential) {
205
+ hiddenCallback.setInputValue(
206
+ JSON.stringify({
207
+ authenticatorAttachment: credential.authenticatorAttachment,
208
+ legacyData:
209
+ deviceName && deviceName.length > 0 ? `${outcome}::${deviceName}` : outcome,
210
+ }),
211
+ );
212
+ return step;
213
+ }
214
+ }
215
+
216
+ hiddenCallback.setInputValue(
217
+ deviceName && deviceName.length > 0 ? `${outcome}::${deviceName}` : outcome,
218
+ );
219
+ return step;
220
+ } else {
221
+ const e = new Error('Incorrect callbacks for WebAuthn registration');
222
+ e.name = WebAuthnOutcomeType.DataError;
223
+ hiddenCallback?.setInputValue(`${WebAuthnOutcome.Error}::${e.name}:${e.message}`);
224
+ throw e;
225
+ }
226
+ }
227
+
228
+ /**
229
+ * Returns an object containing the two WebAuthn callbacks.
230
+ *
231
+ * @param step The step that contains WebAuthn callbacks
232
+ * @return The WebAuthn callbacks
233
+ */
234
+ public static getCallbacks(step: JourneyStep): WebAuthnCallbacks {
235
+ const hiddenCallback = this.getOutcomeCallback(step);
236
+ const metadataCallback = this.getMetadataCallback(step);
237
+ const textOutputCallback = this.getTextOutputCallback(step);
238
+
239
+ const returnObj: WebAuthnCallbacks = {
240
+ hiddenCallback,
241
+ };
242
+
243
+ if (metadataCallback) {
244
+ returnObj.metadataCallback = metadataCallback;
245
+ } else if (textOutputCallback) {
246
+ returnObj.textOutputCallback = textOutputCallback;
247
+ }
248
+ return returnObj;
249
+ }
250
+
251
+ /**
252
+ * Returns the WebAuthn metadata callback containing data to pass to the browser
253
+ * Web Authentication API.
254
+ *
255
+ * @param step The step that contains WebAuthn callbacks
256
+ * @return The metadata callback
257
+ */
258
+ public static getMetadataCallback(step: JourneyStep): MetadataCallback | undefined {
259
+ return step.getCallbacksOfType<MetadataCallback>(callbackType.MetadataCallback).find((x) => {
260
+ const cb = x.getOutputByName<WebAuthnMetadata | undefined>('data', undefined);
261
+ // eslint-disable-next-line no-prototype-builtins
262
+ return cb && cb.hasOwnProperty('relyingPartyId');
263
+ });
264
+ }
265
+
266
+ /**
267
+ * Returns the WebAuthn hidden value callback where the outcome should be populated.
268
+ *
269
+ * @param step The step that contains WebAuthn callbacks
270
+ * @return The hidden value callback
271
+ */
272
+ public static getOutcomeCallback(step: JourneyStep): HiddenValueCallback | undefined {
273
+ return step
274
+ .getCallbacksOfType<HiddenValueCallback>(callbackType.HiddenValueCallback)
275
+ .find((x) => x.getOutputByName<string>('id', '') === 'webAuthnOutcome');
276
+ }
277
+
278
+ /**
279
+ * Returns the WebAuthn metadata callback containing data to pass to the browser
280
+ * Web Authentication API.
281
+ *
282
+ * @param step The step that contains WebAuthn callbacks
283
+ * @return The metadata callback
284
+ */
285
+ public static getTextOutputCallback(step: JourneyStep): TextOutputCallback | undefined {
286
+ return step
287
+ .getCallbacksOfType<TextOutputCallback>(callbackType.TextOutputCallback)
288
+ .find((x) => {
289
+ const cb = x.getOutputByName<string | undefined>('message', undefined);
290
+ return cb && cb.includes('webAuthnOutcome');
291
+ });
292
+ }
293
+
294
+ /**
295
+ * Retrieves the credential from the browser Web Authentication API.
296
+ *
297
+ * @param options The public key options associated with the request
298
+ * @return The credential
299
+ */
300
+ public static async getAuthenticationCredential(
301
+ options: PublicKeyCredentialRequestOptions,
302
+ ): Promise<PublicKeyCredential | null> {
303
+ // Feature check before we attempt registering a device
304
+ if (!window.PublicKeyCredential) {
305
+ const e = new Error('PublicKeyCredential not supported by this browser');
306
+ e.name = WebAuthnOutcomeType.NotSupportedError;
307
+ throw e;
308
+ }
309
+ const credential = await navigator.credentials.get({ publicKey: options });
310
+ return credential as PublicKeyCredential;
311
+ }
312
+
313
+ /**
314
+ * Converts an authentication credential into the outcome expected by OpenAM.
315
+ *
316
+ * @param credential The credential to convert
317
+ * @return The outcome string
318
+ */
319
+ public static getAuthenticationOutcome(
320
+ credential: PublicKeyCredential | null,
321
+ ):
322
+ | OutcomeWithName<string, AttestationType, PublicKeyCredential>
323
+ | OutcomeWithName<string, AttestationType, PublicKeyCredential, string> {
324
+ if (credential === null) {
325
+ const e = new Error('No credential generated from authentication');
326
+ e.name = WebAuthnOutcomeType.UnknownError;
327
+ throw e;
328
+ }
329
+
330
+ try {
331
+ const clientDataJSON = arrayBufferToString(credential.response.clientDataJSON);
332
+ const assertionResponse = credential.response as AuthenticatorAssertionResponse;
333
+ const authenticatorData = new Int8Array(
334
+ assertionResponse.authenticatorData,
335
+ ).toString() as AttestationType;
336
+ const signature = new Int8Array(assertionResponse.signature).toString();
337
+
338
+ // Current native typing for PublicKeyCredential does not include `userHandle`
339
+ // eslint-disable-next-line
340
+ // @ts-ignore
341
+ const userHandle = arrayBufferToString(credential.response.userHandle);
342
+
343
+ let stringOutput =
344
+ `${clientDataJSON}::${authenticatorData}::${signature}::${credential.id}` as OutcomeWithName<
345
+ string,
346
+ AttestationType,
347
+ PublicKeyCredential
348
+ >;
349
+ // Check if Username is stored on device
350
+ if (userHandle) {
351
+ stringOutput = `${stringOutput}::${userHandle}`;
352
+ return stringOutput as OutcomeWithName<
353
+ string,
354
+ AttestationType,
355
+ PublicKeyCredential,
356
+ string
357
+ >;
358
+ }
359
+
360
+ return stringOutput;
361
+ } catch {
362
+ const e = new Error('Transforming credential object to string failed');
363
+ e.name = WebAuthnOutcomeType.EncodingError;
364
+ throw e;
365
+ }
366
+ }
367
+
368
+ /**
369
+ * Retrieves the credential from the browser Web Authentication API.
370
+ *
371
+ * @param options The public key options associated with the request
372
+ * @return The credential
373
+ */
374
+ public static async getRegistrationCredential(
375
+ options: PublicKeyCredentialCreationOptions,
376
+ ): Promise<PublicKeyCredential | null> {
377
+ // Feature check before we attempt registering a device
378
+ if (!window.PublicKeyCredential) {
379
+ const e = new Error('PublicKeyCredential not supported by this browser');
380
+ e.name = WebAuthnOutcomeType.NotSupportedError;
381
+ throw e;
382
+ }
383
+ const credential = await navigator.credentials.create({
384
+ publicKey: options,
385
+ });
386
+ return credential as PublicKeyCredential;
387
+ }
388
+
389
+ /**
390
+ * Converts a registration credential into the outcome expected by OpenAM.
391
+ *
392
+ * @param credential The credential to convert
393
+ * @return The outcome string
394
+ */
395
+ public static getRegistrationOutcome(
396
+ credential: PublicKeyCredential | null,
397
+ ): OutcomeWithName<string, AttestationType, PublicKeyCredential> {
398
+ if (credential === null) {
399
+ const e = new Error('No credential generated from registration');
400
+ e.name = WebAuthnOutcomeType.UnknownError;
401
+ throw e;
402
+ }
403
+
404
+ try {
405
+ const clientDataJSON = arrayBufferToString(credential.response.clientDataJSON);
406
+ const attestationResponse = credential.response as AuthenticatorAttestationResponse;
407
+ const attestationObject = new Int8Array(
408
+ attestationResponse.attestationObject,
409
+ ).toString() as AttestationType.Direct;
410
+ return `${clientDataJSON}::${attestationObject}::${credential.id}`;
411
+ } catch {
412
+ const e = new Error('Transforming credential object to string failed');
413
+ e.name = WebAuthnOutcomeType.EncodingError;
414
+ throw e;
415
+ }
416
+ }
417
+
418
+ /**
419
+ * Converts authentication tree metadata into options required by the browser
420
+ * Web Authentication API.
421
+ *
422
+ * @param metadata The metadata provided in the authentication tree MetadataCallback
423
+ * @return The Web Authentication API request options
424
+ */
425
+ public static createAuthenticationPublicKey(
426
+ metadata: WebAuthnAuthenticationMetadata,
427
+ ): PublicKeyCredentialRequestOptions {
428
+ const {
429
+ acceptableCredentials,
430
+ allowCredentials,
431
+ challenge,
432
+ relyingPartyId,
433
+ timeout,
434
+ userVerification,
435
+ } = metadata;
436
+ const rpId = parseRelyingPartyId(relyingPartyId);
437
+ const allowCredentialsValue = parseCredentials(allowCredentials || acceptableCredentials || '');
438
+
439
+ return {
440
+ challenge: Uint8Array.from(atob(challenge), (c) => c.charCodeAt(0)).buffer,
441
+ timeout,
442
+ // only add key-value pair if proper value is provided
443
+ ...(allowCredentialsValue && { allowCredentials: allowCredentialsValue }),
444
+ ...(userVerification && { userVerification }),
445
+ ...(rpId && { rpId }),
446
+ };
447
+ }
448
+
449
+ /**
450
+ * Converts authentication tree metadata into options required by the browser
451
+ * Web Authentication API.
452
+ *
453
+ * @param metadata The metadata provided in the authentication tree MetadataCallback
454
+ * @return The Web Authentication API request options
455
+ */
456
+ public static createRegistrationPublicKey(
457
+ metadata: WebAuthnRegistrationMetadata,
458
+ ): PublicKeyCredentialCreationOptions {
459
+ const { pubKeyCredParams: pubKeyCredParamsString } = metadata;
460
+ const pubKeyCredParams = parsePubKeyArray(pubKeyCredParamsString);
461
+ if (!pubKeyCredParams) {
462
+ const e = new Error('Missing pubKeyCredParams property from registration options');
463
+ e.name = WebAuthnOutcomeType.DataError;
464
+ throw e;
465
+ }
466
+ const excludeCredentials = parseCredentials(metadata.excludeCredentials);
467
+
468
+ const {
469
+ attestationPreference,
470
+ authenticatorSelection,
471
+ challenge,
472
+ relyingPartyId,
473
+ relyingPartyName,
474
+ timeout,
475
+ userId,
476
+ userName,
477
+ displayName,
478
+ } = metadata;
479
+ const rpId = parseRelyingPartyId(relyingPartyId);
480
+ const rp: RelyingParty = {
481
+ name: relyingPartyName,
482
+ ...(rpId && { id: rpId }),
483
+ };
484
+
485
+ return {
486
+ attestation: attestationPreference,
487
+ authenticatorSelection: JSON.parse(authenticatorSelection),
488
+ challenge: Uint8Array.from(atob(challenge), (c) => c.charCodeAt(0)).buffer,
489
+ ...(excludeCredentials.length && { excludeCredentials }),
490
+ pubKeyCredParams,
491
+ rp,
492
+ timeout,
493
+ user: {
494
+ displayName: displayName || userName,
495
+ id: Int8Array.from(userId.split('').map((c: string) => c.charCodeAt(0))),
496
+ name: displayName || userName,
497
+ },
498
+ };
499
+ }
500
+ }
501
+
502
+ export { WebAuthnOutcome, WebAuthnStepType };
503
+ export type {
504
+ RelyingParty,
505
+ WebAuthnAuthenticationMetadata,
506
+ WebAuthnCallbacks,
507
+ WebAuthnRegistrationMetadata,
508
+ };
package/src/types.ts ADDED
@@ -0,0 +1,50 @@
1
+ /*
2
+ * Copyright (c) 2020 - 2025 Ping Identity Corporation. All rights reserved.
3
+ *
4
+ * This software may be modified and distributed under the terms
5
+ * of the MIT license. See the LICENSE file for details.
6
+ */
7
+
8
+ // Re-export types from internal packages that consumers need
9
+ export type { LogLevel, CustomLogger } from '@forgerock/sdk-logger';
10
+ export type { RequestMiddleware } from '@forgerock/sdk-request-middleware';
11
+ export type {
12
+ Step,
13
+ Callback,
14
+ CallbackType,
15
+ StepType,
16
+ callbackType,
17
+ GenericError,
18
+ PolicyRequirement,
19
+ FailedPolicyRequirement,
20
+ } from '@forgerock/sdk-types';
21
+
22
+ // Re-export local types
23
+ export * from './lib/config.types.js';
24
+ export * from './lib/interfaces.js';
25
+ export * from './lib/step.types.js';
26
+
27
+ export * from './lib/callbacks/attribute-input-callback.js';
28
+ export * from './lib/callbacks/base-callback.js';
29
+ export * from './lib/callbacks/choice-callback.js';
30
+ export * from './lib/callbacks/confirmation-callback.js';
31
+ export * from './lib/callbacks/device-profile-callback.js';
32
+ export * from './lib/callbacks/factory.js';
33
+ export * from './lib/callbacks/hidden-value-callback.js';
34
+ export * from './lib/callbacks/kba-create-callback.js';
35
+ export * from './lib/callbacks/metadata-callback.js';
36
+ export * from './lib/callbacks/name-callback.js';
37
+ export * from './lib/callbacks/password-callback.js';
38
+ export * from './lib/callbacks/ping-protect-evaluation-callback.js';
39
+ export * from './lib/callbacks/ping-protect-initialize-callback.js';
40
+ export * from './lib/callbacks/polling-wait-callback.js';
41
+ export * from './lib/callbacks/recaptcha-callback.js';
42
+ export * from './lib/callbacks/recaptcha-enterprise-callback.js';
43
+ export * from './lib/callbacks/redirect-callback.js';
44
+ export * from './lib/callbacks/select-idp-callback.js';
45
+ export * from './lib/callbacks/suspended-text-output-callback.js';
46
+ export * from './lib/callbacks/text-input-callback.js';
47
+ export * from './lib/callbacks/text-output-callback.js';
48
+ export * from './lib/callbacks/terms-and-conditions-callback.js';
49
+ export * from './lib/callbacks/validated-create-password-callback.js';
50
+ export * from './lib/callbacks/validated-create-username-callback.js';
package/tsconfig.json ADDED
@@ -0,0 +1,28 @@
1
+ {
2
+ "extends": "../../tsconfig.base.json",
3
+ "files": [],
4
+ "include": [],
5
+ "references": [
6
+ {
7
+ "path": "../sdk-effects/storage"
8
+ },
9
+ {
10
+ "path": "../sdk-utilities"
11
+ },
12
+ {
13
+ "path": "../sdk-types"
14
+ },
15
+ {
16
+ "path": "../sdk-effects/sdk-request-middleware"
17
+ },
18
+ {
19
+ "path": "../sdk-effects/logger"
20
+ },
21
+ {
22
+ "path": "./tsconfig.lib.json"
23
+ },
24
+ {
25
+ "path": "./tsconfig.spec.json"
26
+ }
27
+ ]
28
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "extends": "../../tsconfig.base.json",
3
+ "compilerOptions": {
4
+ "baseUrl": ".",
5
+ "outDir": "dist",
6
+ "tsBuildInfoFile": "dist/tsconfig.lib.tsbuildinfo",
7
+ "emitDeclarationOnly": false,
8
+ "module": "nodenext",
9
+ "moduleResolution": "nodenext",
10
+ "forceConsistentCasingInFileNames": true,
11
+ "strict": true,
12
+ "importHelpers": true,
13
+ "noImplicitOverride": true,
14
+ "noImplicitReturns": true,
15
+ "noFallthroughCasesInSwitch": true,
16
+ "types": ["node"]
17
+ },
18
+ "include": ["src/**/*.ts"],
19
+ "exclude": ["src/**/*.test.ts", "src/**/*.spec.ts"],
20
+ "references": [
21
+ {
22
+ "path": "../sdk-effects/storage/tsconfig.lib.json"
23
+ },
24
+ {
25
+ "path": "../sdk-effects/sdk-request-middleware/tsconfig.lib.json"
26
+ },
27
+ {
28
+ "path": "../sdk-utilities/tsconfig.lib.json"
29
+ },
30
+ {
31
+ "path": "../sdk-types/tsconfig.lib.json"
32
+ },
33
+ {
34
+ "path": "../sdk-effects/logger/tsconfig.lib.json"
35
+ }
36
+ ]
37
+ }
@@ -0,0 +1,42 @@
1
+ {
2
+ "extends": "../../tsconfig.base.json",
3
+ "compilerOptions": {
4
+ "outDir": "./out-tsc/vitest",
5
+ "types": [
6
+ "vitest/globals",
7
+ "vitest/importMeta",
8
+ "vite/client",
9
+ "node",
10
+ "vitest"
11
+ ],
12
+ "module": "nodenext",
13
+ "moduleResolution": "nodenext",
14
+ "forceConsistentCasingInFileNames": true,
15
+ "strict": true,
16
+ "importHelpers": true,
17
+ "noImplicitOverride": true,
18
+ "noImplicitReturns": true,
19
+ "noFallthroughCasesInSwitch": true,
20
+ "declaration": true
21
+ },
22
+ "include": [
23
+ "vite.config.ts",
24
+ "vite.config.mts",
25
+ "vitest.config.ts",
26
+ "vitest.config.mts",
27
+ "src/**/*.test.ts",
28
+ "src/**/*.spec.ts",
29
+ "src/**/*.test.tsx",
30
+ "src/**/*.spec.tsx",
31
+ "src/**/*.test.js",
32
+ "src/**/*.spec.js",
33
+ "src/**/*.test.jsx",
34
+ "src/**/*.spec.jsx",
35
+ "src/**/*.d.ts"
36
+ ],
37
+ "references": [
38
+ {
39
+ "path": "./tsconfig.lib.json"
40
+ }
41
+ ]
42
+ }
package/vite.config.ts ADDED
Binary file
@@ -0,0 +1 @@
1
+ import 'vitest-canvas-mock';