@smileid/usesmileid 12.0.0-beta01 → 12.0.1

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 (556) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +701 -89
  3. package/dist/camera/camera_defaults.d.ts +14 -9
  4. package/dist/camera/camera_defaults.d.ts.map +1 -1
  5. package/dist/camera/camera_defaults.js +11 -9
  6. package/dist/camera/camera_defaults.js.map +1 -1
  7. package/dist/camera/orientation_degrees.d.ts +5 -6
  8. package/dist/camera/orientation_degrees.d.ts.map +1 -1
  9. package/dist/camera/orientation_degrees.js +5 -6
  10. package/dist/camera/orientation_degrees.js.map +1 -1
  11. package/dist/core/exception/agent_mode_with_enhanced_liveness_exception.d.ts +11 -0
  12. package/dist/core/exception/agent_mode_with_enhanced_liveness_exception.d.ts.map +1 -0
  13. package/dist/core/exception/agent_mode_with_enhanced_liveness_exception.js +17 -0
  14. package/dist/core/exception/agent_mode_with_enhanced_liveness_exception.js.map +1 -0
  15. package/dist/core/exception/capture_validation_exceptions.d.ts +1 -0
  16. package/dist/core/exception/capture_validation_exceptions.d.ts.map +1 -1
  17. package/dist/core/exception/capture_validation_exceptions.js +1 -0
  18. package/dist/core/exception/capture_validation_exceptions.js.map +1 -1
  19. package/dist/core/exception/index.d.ts +1 -0
  20. package/dist/core/exception/index.d.ts.map +1 -1
  21. package/dist/core/exception/index.js +1 -0
  22. package/dist/core/exception/index.js.map +1 -1
  23. package/dist/core/exception/use_smile_id_error_code.d.ts +1 -0
  24. package/dist/core/exception/use_smile_id_error_code.d.ts.map +1 -1
  25. package/dist/core/exception/use_smile_id_error_code.js +1 -0
  26. package/dist/core/exception/use_smile_id_error_code.js.map +1 -1
  27. package/dist/core/models/config.d.ts +19 -0
  28. package/dist/core/models/config.d.ts.map +1 -1
  29. package/dist/core/models/document_capture_mode.d.ts +8 -0
  30. package/dist/core/models/document_capture_mode.d.ts.map +1 -1
  31. package/dist/core/models/document_capture_mode.js +24 -0
  32. package/dist/core/models/document_capture_mode.js.map +1 -1
  33. package/dist/core/models/document_type.d.ts +2 -2
  34. package/dist/core/models/document_type.d.ts.map +1 -1
  35. package/dist/core/models/document_type.js +7 -5
  36. package/dist/core/models/document_type.js.map +1 -1
  37. package/dist/core/models/global_privacy_control.d.ts +36 -0
  38. package/dist/core/models/global_privacy_control.d.ts.map +1 -0
  39. package/dist/core/models/global_privacy_control.js +39 -0
  40. package/dist/core/models/global_privacy_control.js.map +1 -0
  41. package/dist/core/models/network_config.d.ts +2 -2
  42. package/dist/core/models/network_config.js +2 -2
  43. package/dist/core/models/result.d.ts +9 -8
  44. package/dist/core/models/result.d.ts.map +1 -1
  45. package/dist/core/models/result.js +5 -6
  46. package/dist/core/models/result.js.map +1 -1
  47. package/dist/data/api/interceptors/smile_auth_interceptor.d.ts.map +1 -1
  48. package/dist/data/api/interceptors/smile_auth_interceptor.js +3 -17
  49. package/dist/data/api/interceptors/smile_auth_interceptor.js.map +1 -1
  50. package/dist/data/api/interceptors/smile_integrity_interceptor.d.ts +11 -0
  51. package/dist/data/api/interceptors/smile_integrity_interceptor.d.ts.map +1 -1
  52. package/dist/data/api/interceptors/smile_integrity_interceptor.js +13 -0
  53. package/dist/data/api/interceptors/smile_integrity_interceptor.js.map +1 -1
  54. package/dist/data/api/interceptors/smile_request_mac_interceptor.d.ts +8 -0
  55. package/dist/data/api/interceptors/smile_request_mac_interceptor.d.ts.map +1 -1
  56. package/dist/data/api/interceptors/smile_request_mac_interceptor.js +11 -0
  57. package/dist/data/api/interceptors/smile_request_mac_interceptor.js.map +1 -1
  58. package/dist/data/api/smile_id_api.d.ts +1 -1
  59. package/dist/data/api/smile_id_api.d.ts.map +1 -1
  60. package/dist/data/compression/compressible_asset.d.ts +41 -0
  61. package/dist/data/compression/compressible_asset.d.ts.map +1 -0
  62. package/dist/data/compression/compressible_asset.js +34 -0
  63. package/dist/data/compression/compressible_asset.js.map +1 -0
  64. package/dist/data/compression/payload_compression_config.d.ts +36 -0
  65. package/dist/data/compression/payload_compression_config.d.ts.map +1 -0
  66. package/dist/data/compression/payload_compression_config.js +52 -0
  67. package/dist/data/compression/payload_compression_config.js.map +1 -0
  68. package/dist/data/compression/payload_compression_runner.d.ts +29 -0
  69. package/dist/data/compression/payload_compression_runner.d.ts.map +1 -0
  70. package/dist/data/compression/payload_compression_runner.js +55 -0
  71. package/dist/data/compression/payload_compression_runner.js.map +1 -0
  72. package/dist/data/compression/payload_compressor.d.ts +40 -0
  73. package/dist/data/compression/payload_compressor.d.ts.map +1 -0
  74. package/dist/data/compression/payload_compressor.js +126 -0
  75. package/dist/data/compression/payload_compressor.js.map +1 -0
  76. package/dist/data/compression/uri_compressible_asset.d.ts +23 -0
  77. package/dist/data/compression/uri_compressible_asset.d.ts.map +1 -0
  78. package/dist/data/compression/uri_compressible_asset.js +77 -0
  79. package/dist/data/compression/uri_compressible_asset.js.map +1 -0
  80. package/dist/data/dsl/builder/cache_config_builder.d.ts +2 -1
  81. package/dist/data/dsl/builder/cache_config_builder.d.ts.map +1 -1
  82. package/dist/data/dsl/builder/cache_config_builder.js +2 -1
  83. package/dist/data/dsl/builder/cache_config_builder.js.map +1 -1
  84. package/dist/data/dsl/builder/config_builder.d.ts +40 -14
  85. package/dist/data/dsl/builder/config_builder.d.ts.map +1 -1
  86. package/dist/data/dsl/builder/config_builder.js +40 -14
  87. package/dist/data/dsl/builder/config_builder.js.map +1 -1
  88. package/dist/data/dsl/builder/interceptor_config_builder.d.ts +9 -7
  89. package/dist/data/dsl/builder/interceptor_config_builder.d.ts.map +1 -1
  90. package/dist/data/dsl/builder/interceptor_config_builder.js +9 -7
  91. package/dist/data/dsl/builder/interceptor_config_builder.js.map +1 -1
  92. package/dist/data/dsl/builder/retry_config_builder.d.ts +19 -4
  93. package/dist/data/dsl/builder/retry_config_builder.d.ts.map +1 -1
  94. package/dist/data/dsl/builder/retry_config_builder.js +21 -6
  95. package/dist/data/dsl/builder/retry_config_builder.js.map +1 -1
  96. package/dist/data/dsl/builder/timeout_config_builder.d.ts +4 -0
  97. package/dist/data/dsl/builder/timeout_config_builder.d.ts.map +1 -1
  98. package/dist/data/dsl/builder/timeout_config_builder.js +4 -0
  99. package/dist/data/dsl/builder/timeout_config_builder.js.map +1 -1
  100. package/dist/data/dsl/use_smile_id_network_builder.d.ts +17 -0
  101. package/dist/data/dsl/use_smile_id_network_builder.d.ts.map +1 -1
  102. package/dist/data/dsl/use_smile_id_network_builder.js +17 -0
  103. package/dist/data/dsl/use_smile_id_network_builder.js.map +1 -1
  104. package/dist/data/factory/networking_factory.d.ts.map +1 -1
  105. package/dist/data/factory/networking_factory.js +11 -1
  106. package/dist/data/factory/networking_factory.js.map +1 -1
  107. package/dist/data/repository/use_smile_id_repository_impl.d.ts +6 -0
  108. package/dist/data/repository/use_smile_id_repository_impl.d.ts.map +1 -1
  109. package/dist/data/repository/use_smile_id_repository_impl.js +82 -8
  110. package/dist/data/repository/use_smile_id_repository_impl.js.map +1 -1
  111. package/dist/data/security/request_canonicalizer.d.ts.map +1 -1
  112. package/dist/data/security/request_canonicalizer.js +14 -2
  113. package/dist/data/security/request_canonicalizer.js.map +1 -1
  114. package/dist/data/security/security_policy.d.ts +43 -0
  115. package/dist/data/security/security_policy.d.ts.map +1 -0
  116. package/dist/data/security/security_policy.js +61 -0
  117. package/dist/data/security/security_policy.js.map +1 -0
  118. package/dist/data/smile_id_urls.d.ts +1 -1
  119. package/dist/data/smile_id_urls.js +1 -1
  120. package/dist/data/smile_id_urls.js.map +1 -1
  121. package/dist/data/util/retry_util.d.ts +2 -2
  122. package/dist/data/util/retry_util.d.ts.map +1 -1
  123. package/dist/data/util/retry_util.js +7 -1
  124. package/dist/data/util/retry_util.js.map +1 -1
  125. package/dist/data/util/use_smile_id_token_decoder.d.ts +22 -0
  126. package/dist/data/util/use_smile_id_token_decoder.d.ts.map +1 -1
  127. package/dist/data/util/use_smile_id_token_decoder.js +58 -24
  128. package/dist/data/util/use_smile_id_token_decoder.js.map +1 -1
  129. package/dist/index.d.ts +2 -2
  130. package/dist/index.d.ts.map +1 -1
  131. package/dist/index.js +2 -2
  132. package/dist/index.js.map +1 -1
  133. package/dist/l10n/strings_en.d.ts +2 -1
  134. package/dist/l10n/strings_en.d.ts.map +1 -1
  135. package/dist/l10n/strings_en.js +2 -1
  136. package/dist/l10n/strings_en.js.map +1 -1
  137. package/dist/l10n/use_smile_id_localizations.d.ts +1 -0
  138. package/dist/l10n/use_smile_id_localizations.d.ts.map +1 -1
  139. package/dist/l10n/use_smile_id_localizations.js +3 -0
  140. package/dist/l10n/use_smile_id_localizations.js.map +1 -1
  141. package/dist/metadata/builder_configuration.d.ts +44 -0
  142. package/dist/metadata/builder_configuration.d.ts.map +1 -0
  143. package/dist/metadata/builder_configuration.js +35 -0
  144. package/dist/metadata/builder_configuration.js.map +1 -0
  145. package/dist/metadata/captured_image_properties.d.ts +11 -0
  146. package/dist/metadata/captured_image_properties.d.ts.map +1 -0
  147. package/dist/metadata/captured_image_properties.js +11 -0
  148. package/dist/metadata/captured_image_properties.js.map +1 -0
  149. package/dist/metadata/device_orientation_collector.d.ts +17 -0
  150. package/dist/metadata/device_orientation_collector.d.ts.map +1 -0
  151. package/dist/metadata/device_orientation_collector.js +66 -0
  152. package/dist/metadata/device_orientation_collector.js.map +1 -0
  153. package/dist/metadata/geolocation.d.ts +20 -0
  154. package/dist/metadata/geolocation.d.ts.map +1 -0
  155. package/dist/metadata/geolocation.js +40 -0
  156. package/dist/metadata/geolocation.js.map +1 -0
  157. package/dist/metadata/metadata_configuration_mappers.d.ts +47 -0
  158. package/dist/metadata/metadata_configuration_mappers.d.ts.map +1 -0
  159. package/dist/metadata/metadata_configuration_mappers.js +178 -0
  160. package/dist/metadata/metadata_configuration_mappers.js.map +1 -0
  161. package/dist/metadata/model_configuration.d.ts +41 -0
  162. package/dist/metadata/model_configuration.d.ts.map +1 -0
  163. package/dist/metadata/model_configuration.js +44 -0
  164. package/dist/metadata/model_configuration.js.map +1 -0
  165. package/dist/metadata/optional_native_modules.d.ts +79 -3
  166. package/dist/metadata/optional_native_modules.d.ts.map +1 -1
  167. package/dist/metadata/optional_native_modules.js +108 -3
  168. package/dist/metadata/optional_native_modules.js.map +1 -1
  169. package/dist/metadata/use_smile_id_metadata.d.ts +45 -7
  170. package/dist/metadata/use_smile_id_metadata.d.ts.map +1 -1
  171. package/dist/metadata/use_smile_id_metadata.js +85 -13
  172. package/dist/metadata/use_smile_id_metadata.js.map +1 -1
  173. package/dist/metadata/use_smile_id_metadata_factory.d.ts +37 -0
  174. package/dist/metadata/use_smile_id_metadata_factory.d.ts.map +1 -1
  175. package/dist/metadata/use_smile_id_metadata_factory.js +197 -16
  176. package/dist/metadata/use_smile_id_metadata_factory.js.map +1 -1
  177. package/dist/presentation/assets/svg/document_shimmer_strings.d.ts +14 -0
  178. package/dist/presentation/assets/svg/document_shimmer_strings.d.ts.map +1 -0
  179. package/dist/presentation/assets/svg/document_shimmer_strings.js +14 -0
  180. package/dist/presentation/assets/svg/document_shimmer_strings.js.map +1 -0
  181. package/dist/presentation/assets/svg/instruction_svg_strings.d.ts +12 -4
  182. package/dist/presentation/assets/svg/instruction_svg_strings.d.ts.map +1 -1
  183. package/dist/presentation/assets/svg/instruction_svg_strings.js +19 -8
  184. package/dist/presentation/assets/svg/instruction_svg_strings.js.map +1 -1
  185. package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.d.ts +0 -5
  186. package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.d.ts.map +1 -1
  187. package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.js +0 -5
  188. package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.js.map +1 -1
  189. package/dist/presentation/components/icons/index.d.ts +24 -8
  190. package/dist/presentation/components/icons/index.d.ts.map +1 -1
  191. package/dist/presentation/components/icons/index.js +31 -11
  192. package/dist/presentation/components/icons/index.js.map +1 -1
  193. package/dist/presentation/components/use_smile_id_attribution.d.ts +1 -1
  194. package/dist/presentation/components/use_smile_id_button.d.ts +2 -2
  195. package/dist/presentation/components/use_smile_id_button.js +4 -4
  196. package/dist/presentation/components/use_smile_id_button.js.map +1 -1
  197. package/dist/presentation/components/use_smile_id_capture_content.d.ts +13 -0
  198. package/dist/presentation/components/use_smile_id_capture_content.d.ts.map +1 -1
  199. package/dist/presentation/components/use_smile_id_capture_content.js +15 -9
  200. package/dist/presentation/components/use_smile_id_capture_content.js.map +1 -1
  201. package/dist/presentation/components/use_smile_id_captured_document_image.d.ts +2 -3
  202. package/dist/presentation/components/use_smile_id_captured_document_image.d.ts.map +1 -1
  203. package/dist/presentation/components/use_smile_id_captured_document_image.js +1 -3
  204. package/dist/presentation/components/use_smile_id_captured_document_image.js.map +1 -1
  205. package/dist/presentation/components/use_smile_id_document_capture_controls.d.ts +12 -6
  206. package/dist/presentation/components/use_smile_id_document_capture_controls.d.ts.map +1 -1
  207. package/dist/presentation/components/use_smile_id_document_capture_controls.js +59 -16
  208. package/dist/presentation/components/use_smile_id_document_capture_controls.js.map +1 -1
  209. package/dist/presentation/components/use_smile_id_document_overlay.d.ts +22 -5
  210. package/dist/presentation/components/use_smile_id_document_overlay.d.ts.map +1 -1
  211. package/dist/presentation/components/use_smile_id_document_overlay.js +80 -40
  212. package/dist/presentation/components/use_smile_id_document_overlay.js.map +1 -1
  213. package/dist/presentation/components/use_smile_id_document_shimmer.d.ts +15 -0
  214. package/dist/presentation/components/use_smile_id_document_shimmer.d.ts.map +1 -0
  215. package/dist/presentation/components/use_smile_id_document_shimmer.js +23 -0
  216. package/dist/presentation/components/use_smile_id_document_shimmer.js.map +1 -0
  217. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.d.ts +5 -2
  218. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.d.ts.map +1 -1
  219. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.js +9 -6
  220. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.js.map +1 -1
  221. package/dist/presentation/components/use_smile_id_guideline_thumbnail.d.ts.map +1 -1
  222. package/dist/presentation/components/use_smile_id_guideline_thumbnail.js +84 -1
  223. package/dist/presentation/components/use_smile_id_guideline_thumbnail.js.map +1 -1
  224. package/dist/presentation/components/use_smile_id_instructions_hero.d.ts +3 -1
  225. package/dist/presentation/components/use_smile_id_instructions_hero.d.ts.map +1 -1
  226. package/dist/presentation/components/use_smile_id_instructions_hero.js +25 -5
  227. package/dist/presentation/components/use_smile_id_instructions_hero.js.map +1 -1
  228. package/dist/presentation/components/use_smile_id_oval_border_palette.d.ts.map +1 -1
  229. package/dist/presentation/components/use_smile_id_oval_border_palette.js +7 -3
  230. package/dist/presentation/components/use_smile_id_oval_border_palette.js.map +1 -1
  231. package/dist/presentation/flow/dsl/builder/config_builder.d.ts +28 -0
  232. package/dist/presentation/flow/dsl/builder/config_builder.d.ts.map +1 -1
  233. package/dist/presentation/flow/dsl/builder/config_builder.js +30 -0
  234. package/dist/presentation/flow/dsl/builder/config_builder.js.map +1 -1
  235. package/dist/presentation/flow/dsl/builder/ml_builder.d.ts +13 -4
  236. package/dist/presentation/flow/dsl/builder/ml_builder.d.ts.map +1 -1
  237. package/dist/presentation/flow/dsl/builder/ml_builder.js +3 -2
  238. package/dist/presentation/flow/dsl/builder/ml_builder.js.map +1 -1
  239. package/dist/presentation/flow/dsl/builder/screens_builder.d.ts +110 -12
  240. package/dist/presentation/flow/dsl/builder/screens_builder.d.ts.map +1 -1
  241. package/dist/presentation/flow/dsl/builder/screens_builder.js +110 -12
  242. package/dist/presentation/flow/dsl/builder/screens_builder.js.map +1 -1
  243. package/dist/presentation/flow/dsl/builder/theme_builder.d.ts +15 -2
  244. package/dist/presentation/flow/dsl/builder/theme_builder.d.ts.map +1 -1
  245. package/dist/presentation/flow/dsl/builder/theme_builder.js +15 -2
  246. package/dist/presentation/flow/dsl/builder/theme_builder.js.map +1 -1
  247. package/dist/presentation/flow/dsl/use_smile_id_builder.d.ts +6 -4
  248. package/dist/presentation/flow/dsl/use_smile_id_builder.d.ts.map +1 -1
  249. package/dist/presentation/flow/dsl/use_smile_id_builder.js.map +1 -1
  250. package/dist/presentation/flow/dsl/use_smile_id_flow_builder.d.ts +62 -36
  251. package/dist/presentation/flow/dsl/use_smile_id_flow_builder.d.ts.map +1 -1
  252. package/dist/presentation/flow/dsl/use_smile_id_flow_builder.js +62 -36
  253. package/dist/presentation/flow/dsl/use_smile_id_flow_builder.js.map +1 -1
  254. package/dist/presentation/flow/flow_navigation_manager.d.ts +44 -5
  255. package/dist/presentation/flow/flow_navigation_manager.d.ts.map +1 -1
  256. package/dist/presentation/flow/flow_navigation_manager.js +148 -11
  257. package/dist/presentation/flow/flow_navigation_manager.js.map +1 -1
  258. package/dist/presentation/flow/model/instruction_guideline.d.ts +9 -0
  259. package/dist/presentation/flow/model/instruction_guideline.d.ts.map +1 -1
  260. package/dist/presentation/flow/model/instructions_defaults.d.ts +11 -2
  261. package/dist/presentation/flow/model/instructions_defaults.d.ts.map +1 -1
  262. package/dist/presentation/flow/model/instructions_defaults.js +74 -26
  263. package/dist/presentation/flow/model/instructions_defaults.js.map +1 -1
  264. package/dist/presentation/flow/screen/orchestrated_capture_screen.d.ts.map +1 -1
  265. package/dist/presentation/flow/screen/orchestrated_capture_screen.js +48 -14
  266. package/dist/presentation/flow/screen/orchestrated_capture_screen.js.map +1 -1
  267. package/dist/presentation/flow/screen/orchestrated_consent_screen.d.ts.map +1 -1
  268. package/dist/presentation/flow/screen/orchestrated_consent_screen.js +3 -1
  269. package/dist/presentation/flow/screen/orchestrated_consent_screen.js.map +1 -1
  270. package/dist/presentation/flow/screen/orchestrated_instructions_screen.js +1 -1
  271. package/dist/presentation/flow/screen/orchestrated_instructions_screen.js.map +1 -1
  272. package/dist/presentation/flow/screen/orchestrated_preview_screen.d.ts.map +1 -1
  273. package/dist/presentation/flow/screen/orchestrated_preview_screen.js +3 -9
  274. package/dist/presentation/flow/screen/orchestrated_preview_screen.js.map +1 -1
  275. package/dist/presentation/flow/screen/orchestrated_processing_screen.js +3 -3
  276. package/dist/presentation/flow/screen/orchestrated_processing_screen.js.map +1 -1
  277. package/dist/presentation/flow/use_smile_id_flow.d.ts.map +1 -1
  278. package/dist/presentation/flow/use_smile_id_flow.js +10 -4
  279. package/dist/presentation/flow/use_smile_id_flow.js.map +1 -1
  280. package/dist/presentation/flow/validation/flow_validator.d.ts.map +1 -1
  281. package/dist/presentation/flow/validation/flow_validator.js +42 -20
  282. package/dist/presentation/flow/validation/flow_validator.js.map +1 -1
  283. package/dist/presentation/flow/validation/job_type_validator.d.ts.map +1 -1
  284. package/dist/presentation/flow/validation/job_type_validator.js +14 -0
  285. package/dist/presentation/flow/validation/job_type_validator.js.map +1 -1
  286. package/dist/presentation/screen/helpers/capture_screen_helpers.d.ts.map +1 -1
  287. package/dist/presentation/screen/helpers/capture_screen_helpers.js +1 -0
  288. package/dist/presentation/screen/helpers/capture_screen_helpers.js.map +1 -1
  289. package/dist/presentation/screen/helpers/capture_ui_state.d.ts +6 -6
  290. package/dist/presentation/screen/helpers/capture_ui_state.d.ts.map +1 -1
  291. package/dist/presentation/screen/helpers/capture_ui_state.js +19 -19
  292. package/dist/presentation/screen/helpers/capture_ui_state.js.map +1 -1
  293. package/dist/presentation/screen/helpers/ess_turn_haptics.d.ts +2 -2
  294. package/dist/presentation/screen/helpers/ess_turn_haptics.d.ts.map +1 -1
  295. package/dist/presentation/screen/helpers/ess_turn_haptics.js +6 -6
  296. package/dist/presentation/screen/helpers/ess_turn_haptics.js.map +1 -1
  297. package/dist/presentation/screen/helpers/instructions_screen_helpers.d.ts +1 -0
  298. package/dist/presentation/screen/helpers/instructions_screen_helpers.d.ts.map +1 -1
  299. package/dist/presentation/screen/helpers/instructions_screen_helpers.js +6 -2
  300. package/dist/presentation/screen/helpers/instructions_screen_helpers.js.map +1 -1
  301. package/dist/presentation/screen/helpers/scan_state_to_overlay_state.d.ts +5 -5
  302. package/dist/presentation/screen/helpers/scan_state_to_overlay_state.d.ts.map +1 -1
  303. package/dist/presentation/screen/helpers/scan_state_to_overlay_state.js +14 -11
  304. package/dist/presentation/screen/helpers/scan_state_to_overlay_state.js.map +1 -1
  305. package/dist/presentation/screen/helpers/use_capture_orientation_lock.d.ts +13 -3
  306. package/dist/presentation/screen/helpers/use_capture_orientation_lock.d.ts.map +1 -1
  307. package/dist/presentation/screen/helpers/use_capture_orientation_lock.js +48 -6
  308. package/dist/presentation/screen/helpers/use_capture_orientation_lock.js.map +1 -1
  309. package/dist/presentation/screen/use_smile_id_capture_screen.d.ts +21 -3
  310. package/dist/presentation/screen/use_smile_id_capture_screen.d.ts.map +1 -1
  311. package/dist/presentation/screen/use_smile_id_capture_screen.js +188 -32
  312. package/dist/presentation/screen/use_smile_id_capture_screen.js.map +1 -1
  313. package/dist/presentation/screen/use_smile_id_consent_screen.d.ts +7 -0
  314. package/dist/presentation/screen/use_smile_id_consent_screen.d.ts.map +1 -1
  315. package/dist/presentation/screen/use_smile_id_consent_screen.js +6 -5
  316. package/dist/presentation/screen/use_smile_id_consent_screen.js.map +1 -1
  317. package/dist/presentation/screen/use_smile_id_document_back_instructions.d.ts.map +1 -1
  318. package/dist/presentation/screen/use_smile_id_document_back_instructions.js +5 -13
  319. package/dist/presentation/screen/use_smile_id_document_back_instructions.js.map +1 -1
  320. package/dist/presentation/screen/use_smile_id_document_preview_screen.d.ts +2 -3
  321. package/dist/presentation/screen/use_smile_id_document_preview_screen.d.ts.map +1 -1
  322. package/dist/presentation/screen/use_smile_id_document_preview_screen.js +17 -12
  323. package/dist/presentation/screen/use_smile_id_document_preview_screen.js.map +1 -1
  324. package/dist/presentation/screen/use_smile_id_instructions_screen.d.ts +2 -0
  325. package/dist/presentation/screen/use_smile_id_instructions_screen.d.ts.map +1 -1
  326. package/dist/presentation/screen/use_smile_id_instructions_screen.js +2 -1
  327. package/dist/presentation/screen/use_smile_id_instructions_screen.js.map +1 -1
  328. package/dist/presentation/screen/use_smile_id_preview_screen.d.ts +7 -26
  329. package/dist/presentation/screen/use_smile_id_preview_screen.d.ts.map +1 -1
  330. package/dist/presentation/screen/use_smile_id_preview_screen.js +10 -20
  331. package/dist/presentation/screen/use_smile_id_preview_screen.js.map +1 -1
  332. package/dist/presentation/screen/use_smile_id_processing_screen.d.ts +2 -3
  333. package/dist/presentation/screen/use_smile_id_processing_screen.d.ts.map +1 -1
  334. package/dist/presentation/screen/use_smile_id_processing_screen.js +4 -3
  335. package/dist/presentation/screen/use_smile_id_processing_screen.js.map +1 -1
  336. package/dist/presentation/theme/theme.d.ts +1 -1
  337. package/dist/presentation/theme/theme.d.ts.map +1 -1
  338. package/dist/presentation/theme/theme.js +20 -18
  339. package/dist/presentation/theme/theme.js.map +1 -1
  340. package/dist/presentation/utils/force_max_brightness.d.ts +4 -4
  341. package/dist/presentation/utils/locale_utils.d.ts +10 -4
  342. package/dist/presentation/utils/locale_utils.d.ts.map +1 -1
  343. package/dist/presentation/utils/locale_utils.js +13 -5
  344. package/dist/presentation/utils/locale_utils.js.map +1 -1
  345. package/dist/testing/fake_face_analyzer.d.ts +43 -0
  346. package/dist/testing/fake_face_analyzer.d.ts.map +1 -0
  347. package/dist/testing/fake_face_analyzer.js +52 -0
  348. package/dist/testing/fake_face_analyzer.js.map +1 -0
  349. package/dist/testing/index.d.ts +5 -0
  350. package/dist/testing/index.d.ts.map +1 -0
  351. package/dist/testing/index.js +7 -0
  352. package/dist/testing/index.js.map +1 -0
  353. package/dist/testing/scenario_expectations.d.ts +28 -0
  354. package/dist/testing/scenario_expectations.d.ts.map +1 -0
  355. package/dist/testing/scenario_expectations.js +65 -0
  356. package/dist/testing/scenario_expectations.js.map +1 -0
  357. package/dist/testing/scenario_loader.d.ts +11 -0
  358. package/dist/testing/scenario_loader.d.ts.map +1 -0
  359. package/dist/testing/scenario_loader.js +64 -0
  360. package/dist/testing/scenario_loader.js.map +1 -0
  361. package/dist/testing/scripted_scan_results.d.ts +17 -0
  362. package/dist/testing/scripted_scan_results.d.ts.map +1 -0
  363. package/dist/testing/scripted_scan_results.js +52 -0
  364. package/dist/testing/scripted_scan_results.js.map +1 -0
  365. package/package.json +34 -7
  366. package/src/__tests__/dsl.test.ts +51 -1
  367. package/src/__tests__/react_native_mock.tsx +8 -0
  368. package/src/__tests__/setup_react_native.ts +17 -2
  369. package/src/__tests__/snapshots/__snapshots__/screens_structural.test.tsx.snap +5261 -0
  370. package/src/__tests__/snapshots/screens_structural.test.tsx +230 -0
  371. package/src/camera/__tests__/use_smile_id_camera_system.test.ts +103 -0
  372. package/src/camera/camera_defaults.ts +11 -9
  373. package/src/camera/orientation_degrees.ts +5 -6
  374. package/src/core/exception/__tests__/builder_validation_exceptions.test.ts +67 -0
  375. package/src/core/exception/agent_mode_with_enhanced_liveness_exception.ts +20 -0
  376. package/src/core/exception/capture_validation_exceptions.ts +1 -0
  377. package/src/core/exception/index.ts +1 -0
  378. package/src/core/exception/use_smile_id_error_code.ts +1 -0
  379. package/src/core/models/__tests__/document_type.test.ts +7 -5
  380. package/src/core/models/__tests__/flow_models.test.ts +26 -0
  381. package/src/core/models/config.ts +22 -0
  382. package/src/core/models/document_capture_mode.ts +27 -0
  383. package/src/core/models/document_type.ts +7 -5
  384. package/src/core/models/global_privacy_control.ts +45 -0
  385. package/src/core/models/network_config.ts +2 -2
  386. package/src/core/models/result.ts +9 -8
  387. package/src/data/api/__tests__/smile_id_api.test.ts +1 -1
  388. package/src/data/api/interceptors/__tests__/gzip_interceptor.test.ts +83 -0
  389. package/src/data/api/interceptors/__tests__/smile_integrity_interceptor.test.ts +37 -1
  390. package/src/data/api/interceptors/__tests__/smile_request_mac_interceptor.test.ts +59 -1
  391. package/src/data/api/interceptors/smile_auth_interceptor.ts +3 -18
  392. package/src/data/api/interceptors/smile_integrity_interceptor.ts +20 -0
  393. package/src/data/api/interceptors/smile_request_mac_interceptor.ts +13 -0
  394. package/src/data/compression/__tests__/payload_compressor.test.ts +200 -0
  395. package/src/data/compression/__tests__/payload_compressor_real_jpeg.test.ts +226 -0
  396. package/src/data/compression/compressible_asset.ts +62 -0
  397. package/src/data/compression/payload_compression_config.ts +53 -0
  398. package/src/data/compression/payload_compression_runner.ts +102 -0
  399. package/src/data/compression/payload_compressor.ts +164 -0
  400. package/src/data/compression/uri_compressible_asset.ts +85 -0
  401. package/src/data/dsl/builder/__tests__/config_builders.test.ts +62 -0
  402. package/src/data/dsl/builder/cache_config_builder.ts +3 -1
  403. package/src/data/dsl/builder/config_builder.ts +45 -14
  404. package/src/data/dsl/builder/interceptor_config_builder.ts +9 -7
  405. package/src/data/dsl/builder/retry_config_builder.ts +27 -6
  406. package/src/data/dsl/builder/timeout_config_builder.ts +7 -0
  407. package/src/data/dsl/use_smile_id_network_builder.ts +17 -0
  408. package/src/data/factory/__tests__/retry_gzip_mac_composition.test.ts +163 -0
  409. package/src/data/factory/__tests__/signed_job_submission_headers.test.ts +1 -1
  410. package/src/data/factory/networking_factory.ts +14 -1
  411. package/src/data/repository/__tests__/network_retries.test.ts +117 -0
  412. package/src/data/repository/__tests__/use_smile_id_repository.test.ts +1 -1
  413. package/src/data/repository/use_smile_id_repository_impl.ts +96 -9
  414. package/src/data/security/__tests__/request_canonicalizer.test.ts +132 -0
  415. package/src/data/security/__tests__/security_policy.test.ts +96 -0
  416. package/src/data/security/__tests__/smile_id_crypto_manager.test.ts +18 -0
  417. package/src/data/security/request_canonicalizer.ts +15 -2
  418. package/src/data/security/security_policy.ts +70 -0
  419. package/src/data/smile_id_urls.ts +1 -1
  420. package/src/data/util/__tests__/retry_util.test.ts +25 -0
  421. package/src/data/util/__tests__/use_smile_id_token_decoder.test.ts +57 -1
  422. package/src/data/util/retry_util.ts +12 -3
  423. package/src/data/util/use_smile_id_token_decoder.ts +76 -28
  424. package/src/index.ts +6 -4
  425. package/src/l10n/strings_en.ts +2 -1
  426. package/src/l10n/use_smile_id_localizations.ts +3 -0
  427. package/src/metadata/__tests__/device_orientation_collector.test.ts +15 -0
  428. package/src/metadata/__tests__/metadata_configuration_mappers.test.ts +254 -0
  429. package/src/metadata/__tests__/metadata_configuration_objects.test.ts +86 -0
  430. package/src/metadata/__tests__/metadata_device_context.test.ts +147 -0
  431. package/src/metadata/__tests__/metadata_device_os_android.test.ts +18 -0
  432. package/src/metadata/__tests__/metadata_golden_fixture.json +13 -0
  433. package/src/metadata/__tests__/metadata_payload_golden.test.ts +193 -0
  434. package/src/metadata/__tests__/use_smile_id_metadata.test.ts +19 -25
  435. package/src/metadata/builder_configuration.ts +69 -0
  436. package/src/metadata/captured_image_properties.ts +10 -0
  437. package/src/metadata/device_orientation_collector.ts +75 -0
  438. package/src/metadata/geolocation.ts +46 -0
  439. package/src/metadata/metadata_configuration_mappers.ts +248 -0
  440. package/src/metadata/model_configuration.ts +68 -0
  441. package/src/metadata/optional_native_modules.ts +157 -3
  442. package/src/metadata/use_smile_id_metadata.ts +140 -17
  443. package/src/metadata/use_smile_id_metadata_factory.ts +211 -16
  444. package/src/presentation/assets/si_document_green_book_hero_animation.json +1 -4668
  445. package/src/presentation/assets/si_document_hero_animation.json +1 -4799
  446. package/src/presentation/assets/si_document_hero_back_animation.json +1 -2039
  447. package/src/presentation/assets/si_document_passport_hero_animation.json +1 -14491
  448. package/src/presentation/assets/si_ess_all_directions_hero_animation.json +1 -0
  449. package/src/presentation/assets/si_ess_animation_all_directions.json +1 -5575
  450. package/src/presentation/assets/si_selfie_hero_animation.json +1 -1439
  451. package/src/presentation/assets/si_smile_to_capture_animation.json +1 -1439
  452. package/src/presentation/assets/svg/document_shimmer_strings.ts +17 -0
  453. package/src/presentation/assets/svg/instruction_svg_strings.ts +34 -12
  454. package/src/presentation/components/__tests__/enhanced_smart_selfie_animation_frames.test.ts +1 -3
  455. package/src/presentation/components/__tests__/use_smile_id_enhanced_smart_selfie_clip.test.tsx +12 -8
  456. package/src/presentation/components/__tests__/use_smile_id_guideline_thumbnail.test.tsx +34 -1
  457. package/src/presentation/components/__tests__/use_smile_id_instructions_hero.test.tsx +71 -0
  458. package/src/presentation/components/__tests__/use_smile_id_oval_border_palette.test.ts +7 -5
  459. package/src/presentation/components/helpers/enhanced_smart_selfie_animation_frames.ts +0 -6
  460. package/src/presentation/components/icons/index.tsx +65 -18
  461. package/src/presentation/components/use_smile_id_attribution.tsx +1 -1
  462. package/src/presentation/components/use_smile_id_button.tsx +4 -4
  463. package/src/presentation/components/use_smile_id_capture_content.tsx +36 -12
  464. package/src/presentation/components/use_smile_id_captured_document_image.tsx +3 -8
  465. package/src/presentation/components/use_smile_id_document_capture_controls.tsx +103 -39
  466. package/src/presentation/components/use_smile_id_document_overlay.tsx +134 -44
  467. package/src/presentation/components/use_smile_id_document_shimmer.tsx +51 -0
  468. package/src/presentation/components/use_smile_id_enhanced_smart_selfie_clip.tsx +9 -6
  469. package/src/presentation/components/use_smile_id_guideline_thumbnail.tsx +131 -2
  470. package/src/presentation/components/use_smile_id_instructions_hero.tsx +111 -60
  471. package/src/presentation/components/use_smile_id_oval_border_palette.ts +7 -3
  472. package/src/presentation/flow/__tests__/document_flow_navigation.test.ts +203 -4
  473. package/src/presentation/flow/__tests__/flow_navigation_manager.test.ts +49 -0
  474. package/src/presentation/flow/dsl/builder/__tests__/config_builder.test.ts +25 -0
  475. package/src/presentation/flow/dsl/builder/config_builder.ts +35 -0
  476. package/src/presentation/flow/dsl/builder/ml_builder.ts +13 -4
  477. package/src/presentation/flow/dsl/builder/screens_builder.ts +110 -12
  478. package/src/presentation/flow/dsl/builder/theme_builder.ts +19 -2
  479. package/src/presentation/flow/dsl/use_smile_id_builder.tsx +6 -4
  480. package/src/presentation/flow/dsl/use_smile_id_flow_builder.ts +62 -36
  481. package/src/presentation/flow/flow_navigation_manager.ts +185 -14
  482. package/src/presentation/flow/model/instruction_guideline.ts +6 -0
  483. package/src/presentation/flow/model/instructions_defaults.ts +104 -26
  484. package/src/presentation/flow/screen/orchestrated_capture_screen.tsx +60 -12
  485. package/src/presentation/flow/screen/orchestrated_consent_screen.tsx +5 -0
  486. package/src/presentation/flow/screen/orchestrated_instructions_screen.tsx +1 -0
  487. package/src/presentation/flow/screen/orchestrated_preview_screen.tsx +4 -14
  488. package/src/presentation/flow/screen/orchestrated_processing_screen.tsx +3 -3
  489. package/src/presentation/flow/use_smile_id_flow.tsx +11 -4
  490. package/src/presentation/flow/validation/__tests__/flow_validator.test.ts +61 -1
  491. package/src/presentation/flow/validation/__tests__/job_type_validator.test.ts +64 -0
  492. package/src/presentation/flow/validation/flow_validator.ts +55 -26
  493. package/src/presentation/flow/validation/job_type_validator.ts +24 -0
  494. package/src/presentation/screen/__tests__/capture_ui_state.test.ts +66 -47
  495. package/src/presentation/screen/__tests__/ess_turn_haptics.test.ts +15 -11
  496. package/src/presentation/screen/__tests__/instructions_screen_helpers.test.ts +15 -3
  497. package/src/presentation/screen/__tests__/scan_state_to_overlay_state.test.ts +47 -27
  498. package/src/presentation/screen/__tests__/use_smile_id_capture_screen.test.tsx +182 -18
  499. package/src/presentation/screen/__tests__/use_smile_id_document_back_instructions.test.tsx +1 -1
  500. package/src/presentation/screen/__tests__/use_smile_id_preview_screen.test.tsx +10 -40
  501. package/src/presentation/screen/helpers/__tests__/use_capture_orientation_lock.test.tsx +212 -0
  502. package/src/presentation/screen/helpers/capture_screen_helpers.ts +1 -0
  503. package/src/presentation/screen/helpers/capture_ui_state.ts +27 -27
  504. package/src/presentation/screen/helpers/ess_turn_haptics.ts +9 -9
  505. package/src/presentation/screen/helpers/instructions_screen_helpers.ts +7 -2
  506. package/src/presentation/screen/helpers/scan_state_to_overlay_state.ts +16 -13
  507. package/src/presentation/screen/helpers/use_capture_orientation_lock.ts +69 -7
  508. package/src/presentation/screen/use_smile_id_capture_screen.tsx +280 -54
  509. package/src/presentation/screen/use_smile_id_consent_screen.tsx +16 -5
  510. package/src/presentation/screen/use_smile_id_document_back_instructions.tsx +14 -23
  511. package/src/presentation/screen/use_smile_id_document_preview_screen.tsx +33 -23
  512. package/src/presentation/screen/use_smile_id_instructions_screen.tsx +4 -0
  513. package/src/presentation/screen/use_smile_id_preview_screen.tsx +21 -53
  514. package/src/presentation/screen/use_smile_id_processing_screen.tsx +8 -8
  515. package/src/presentation/theme/theme.ts +21 -19
  516. package/src/presentation/utils/__tests__/locale_utils.test.ts +46 -5
  517. package/src/presentation/utils/force_max_brightness.tsx +4 -4
  518. package/src/presentation/utils/locale_utils.ts +13 -4
  519. package/src/testing/__tests__/fake_face_analyzer.test.ts +42 -0
  520. package/src/testing/__tests__/scenario_expectations.test.ts +110 -0
  521. package/src/testing/__tests__/scenario_loader.test.ts +64 -0
  522. package/src/testing/fake_face_analyzer.ts +82 -0
  523. package/src/testing/index.ts +15 -0
  524. package/src/testing/scenario_expectations.ts +87 -0
  525. package/src/testing/scenario_loader.ts +83 -0
  526. package/src/testing/scripted_scan_results.ts +66 -0
  527. package/dist/camera/frame_processor_plugin.d.ts +0 -28
  528. package/dist/camera/frame_processor_plugin.d.ts.map +0 -1
  529. package/dist/camera/frame_processor_plugin.js +0 -21
  530. package/dist/camera/frame_processor_plugin.js.map +0 -1
  531. package/dist/camera/use_smile_id_frame_processor.d.ts +0 -38
  532. package/dist/camera/use_smile_id_frame_processor.d.ts.map +0 -1
  533. package/dist/camera/use_smile_id_frame_processor.js +0 -2
  534. package/dist/camera/use_smile_id_frame_processor.js.map +0 -1
  535. package/dist/presentation/components/use_smile_id_document_frame_glyph.d.ts +0 -17
  536. package/dist/presentation/components/use_smile_id_document_frame_glyph.d.ts.map +0 -1
  537. package/dist/presentation/components/use_smile_id_document_frame_glyph.js +0 -17
  538. package/dist/presentation/components/use_smile_id_document_frame_glyph.js.map +0 -1
  539. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_animation.d.ts +0 -24
  540. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_animation.d.ts.map +0 -1
  541. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_animation.js +0 -91
  542. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_animation.js.map +0 -1
  543. package/dist/presentation/components/use_smile_id_face_silhouette_overlay.d.ts +0 -15
  544. package/dist/presentation/components/use_smile_id_face_silhouette_overlay.d.ts.map +0 -1
  545. package/dist/presentation/components/use_smile_id_face_silhouette_overlay.js +0 -19
  546. package/dist/presentation/components/use_smile_id_face_silhouette_overlay.js.map +0 -1
  547. package/dist/presentation/components/use_smile_id_instruction_card.d.ts +0 -31
  548. package/dist/presentation/components/use_smile_id_instruction_card.d.ts.map +0 -1
  549. package/dist/presentation/components/use_smile_id_instruction_card.js +0 -43
  550. package/dist/presentation/components/use_smile_id_instruction_card.js.map +0 -1
  551. package/dist/presentation/screen/helpers/use_document_orientation_lock.d.ts +0 -24
  552. package/dist/presentation/screen/helpers/use_document_orientation_lock.d.ts.map +0 -1
  553. package/dist/presentation/screen/helpers/use_document_orientation_lock.js +0 -47
  554. package/dist/presentation/screen/helpers/use_document_orientation_lock.js.map +0 -1
  555. package/src/presentation/components/use_smile_id_document_frame_glyph.tsx +0 -162
  556. package/src/presentation/components/use_smile_id_face_silhouette_overlay.tsx +0 -27
@@ -3,22 +3,37 @@ export { RetryStrategy };
3
3
  /**
4
4
  * DSL builder for request retry behaviour.
5
5
  *
6
- * Defaults to exponential backoff with 3 attempts, 1 s initial delay,
7
- * 32 s ceiling, ±20% jitter. `fixedDelay` is honoured only when
8
- * `strategy = RetryStrategy.fixed`.
6
+ * Defaults to no retry. Set `strategy` to opt in, and the remaining fields
7
+ * then apply: 3 attempts, 1 s initial delay, 32 s ceiling, ±20% jitter.
8
+ * `fixedDelay` is honoured only when `strategy = RetryStrategy.fixed`.
9
9
  */
10
10
  export class RetryConfigBuilder {
11
+ /** Attempts per request including the first; applies once `strategy` opts in. */
11
12
  maxAttempts = 3;
12
- strategy = RetryStrategy.exponential;
13
+ /** Backoff strategy between attempts: exponential, fixed, or none. */
14
+ strategy = RetryStrategy.none;
15
+ /** Delay before the first retry, in seconds (exponential strategy). */
13
16
  initialDelay = 1;
17
+ /**
18
+ * Factor by which the delay grows after each attempt (exponential
19
+ * strategy).
20
+ */
14
21
  multiplier = 2;
22
+ /**
23
+ * Upper bound on the delay between attempts, in seconds (exponential
24
+ * strategy).
25
+ */
15
26
  maxDelay = 32;
16
- /** ±20% randomized jitter on the computed delay, in [0, 1]. */
27
+ /**
28
+ * Random fraction between 0 and 1 added to each delay to avoid
29
+ * synchronized retry storms.
30
+ */
17
31
  jitter = 0.2;
32
+ /** Constant delay between attempts, in seconds (fixed strategy). */
18
33
  fixedDelay = 1;
19
34
  build() {
20
35
  return Object.freeze({
21
- maxAttempts: this.maxAttempts,
36
+ maxAttempts: this.strategy === RetryStrategy.none ? 1 : this.maxAttempts,
22
37
  strategy: this.strategy,
23
38
  initialDelay: this.initialDelay,
24
39
  multiplier: this.multiplier,
@@ -1 +1 @@
1
- {"version":3,"file":"retry_config_builder.js","sourceRoot":"","sources":["../../../../src/data/dsl/builder/retry_config_builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,GAEd,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB;;;;;;GAMG;AACH,MAAM,OAAO,kBAAkB;IAC7B,WAAW,GAAG,CAAC,CAAC;IAChB,QAAQ,GAAkB,aAAa,CAAC,WAAW,CAAC;IACpD,YAAY,GAAG,CAAC,CAAC;IACjB,UAAU,GAAG,CAAC,CAAC;IACf,QAAQ,GAAG,EAAE,CAAC;IACd,+DAA+D;IAC/D,MAAM,GAAG,GAAG,CAAC;IACb,UAAU,GAAG,CAAC,CAAC;IAEf,KAAK;QACH,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"retry_config_builder.js","sourceRoot":"","sources":["../../../../src/data/dsl/builder/retry_config_builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,GAEd,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB;;;;;;GAMG;AACH,MAAM,OAAO,kBAAkB;IAC7B,iFAAiF;IACjF,WAAW,GAAG,CAAC,CAAC;IAEhB,sEAAsE;IACtE,QAAQ,GAAkB,aAAa,CAAC,IAAI,CAAC;IAE7C,uEAAuE;IACvE,YAAY,GAAG,CAAC,CAAC;IAEjB;;;OAGG;IACH,UAAU,GAAG,CAAC,CAAC;IAEf;;;OAGG;IACH,QAAQ,GAAG,EAAE,CAAC;IAEd;;;OAGG;IACH,MAAM,GAAG,GAAG,CAAC;IAEb,oEAAoE;IACpE,UAAU,GAAG,CAAC,CAAC;IAEf,KAAK;QACH,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,WAAW,EAAE,IAAI,CAAC,QAAQ,KAAK,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW;YACxE,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -7,9 +7,13 @@ import type { TimeoutConfig } from "../../../core/models/network_config";
7
7
  * the end-to-end ceiling for the whole request including retries.
8
8
  */
9
9
  export declare class TimeoutConfigBuilder {
10
+ /** Maximum time to establish a connection, in seconds. */
10
11
  connect: number;
12
+ /** Maximum time to wait for response data, in seconds. */
11
13
  read: number;
14
+ /** Maximum time to send request data, in seconds. */
12
15
  write: number;
16
+ /** Maximum total time for the entire request, in seconds. */
13
17
  call: number;
14
18
  build(): TimeoutConfig;
15
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"timeout_config_builder.d.ts","sourceRoot":"","sources":["../../../../src/data/dsl/builder/timeout_config_builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEzE;;;;;;GAMG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,SAAM;IACb,IAAI,SAAM;IACV,KAAK,SAAM;IACX,IAAI,SAAO;IAEX,KAAK,IAAI,aAAa;CAQvB"}
1
+ {"version":3,"file":"timeout_config_builder.d.ts","sourceRoot":"","sources":["../../../../src/data/dsl/builder/timeout_config_builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEzE;;;;;;GAMG;AACH,qBAAa,oBAAoB;IAC/B,0DAA0D;IAC1D,OAAO,SAAM;IAEb,0DAA0D;IAC1D,IAAI,SAAM;IAEV,qDAAqD;IACrD,KAAK,SAAM;IAEX,6DAA6D;IAC7D,IAAI,SAAO;IAEX,KAAK,IAAI,aAAa;CAQvB"}
@@ -6,9 +6,13 @@
6
6
  * the end-to-end ceiling for the whole request including retries.
7
7
  */
8
8
  export class TimeoutConfigBuilder {
9
+ /** Maximum time to establish a connection, in seconds. */
9
10
  connect = 60;
11
+ /** Maximum time to wait for response data, in seconds. */
10
12
  read = 60;
13
+ /** Maximum time to send request data, in seconds. */
11
14
  write = 60;
15
+ /** Maximum total time for the entire request, in seconds. */
12
16
  call = 120;
13
17
  build() {
14
18
  return Object.freeze({
@@ -1 +1 @@
1
- {"version":3,"file":"timeout_config_builder.js","sourceRoot":"","sources":["../../../../src/data/dsl/builder/timeout_config_builder.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,OAAO,oBAAoB;IAC/B,OAAO,GAAG,EAAE,CAAC;IACb,IAAI,GAAG,EAAE,CAAC;IACV,KAAK,GAAG,EAAE,CAAC;IACX,IAAI,GAAG,GAAG,CAAC;IAEX,KAAK;QACH,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"timeout_config_builder.js","sourceRoot":"","sources":["../../../../src/data/dsl/builder/timeout_config_builder.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,OAAO,oBAAoB;IAC/B,0DAA0D;IAC1D,OAAO,GAAG,EAAE,CAAC;IAEb,0DAA0D;IAC1D,IAAI,GAAG,EAAE,CAAC;IAEV,qDAAqD;IACrD,KAAK,GAAG,EAAE,CAAC;IAEX,6DAA6D;IAC7D,IAAI,GAAG,GAAG,CAAC;IAEX,KAAK;QACH,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -27,10 +27,27 @@ export declare class UseSmileIDNetworkBuilder {
27
27
  private _cache?;
28
28
  private _retry?;
29
29
  private _interceptors?;
30
+ /**
31
+ * Configures the job type, authentication token, token-refresh
32
+ * callback, and partner identity for this flow.
33
+ */
30
34
  config(block: (c: ConfigBuilder) => void): void;
35
+ /**
36
+ * Configures per-phase HTTP timeouts — connect, read, write, and
37
+ * overall call — in seconds.
38
+ */
31
39
  timeouts(block: (t: TimeoutConfigBuilder) => void): void;
40
+ /** Configures the HTTP response cache (on/off and maximum size). */
32
41
  cache(block: (c: CacheConfigBuilder) => void): void;
42
+ /**
43
+ * Configures automatic retry of failed requests: strategy, attempt
44
+ * count, and backoff.
45
+ */
33
46
  retry(block: (r: RetryConfigBuilder) => void): void;
47
+ /**
48
+ * Registers additional request/response interceptors, appended to the
49
+ * SDK's interceptor chain.
50
+ */
34
51
  interceptors(block: (i: InterceptorConfigBuilder) => void): void;
35
52
  build(): NetworkConfig;
36
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"use_smile_id_network_builder.d.ts","sourceRoot":"","sources":["../../../src/data/dsl/use_smile_id_network_builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,OAAO,CAAC,CAAgB;IAChC,OAAO,CAAC,SAAS,CAAC,CAAuB;IACzC,OAAO,CAAC,MAAM,CAAC,CAAqB;IACpC,OAAO,CAAC,MAAM,CAAC,CAAqB;IACpC,OAAO,CAAC,aAAa,CAAC,CAA2B;IAEjD,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI;IAK/C,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,oBAAoB,KAAK,IAAI,GAAG,IAAI;IAKxD,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,kBAAkB,KAAK,IAAI,GAAG,IAAI;IAKnD,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,kBAAkB,KAAK,IAAI,GAAG,IAAI;IAKnD,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,wBAAwB,KAAK,IAAI,GAAG,IAAI;IAMhE,KAAK,IAAI,aAAa;CAWvB"}
1
+ {"version":3,"file":"use_smile_id_network_builder.d.ts","sourceRoot":"","sources":["../../../src/data/dsl/use_smile_id_network_builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,OAAO,CAAC,CAAgB;IAChC,OAAO,CAAC,SAAS,CAAC,CAAuB;IACzC,OAAO,CAAC,MAAM,CAAC,CAAqB;IACpC,OAAO,CAAC,MAAM,CAAC,CAAqB;IACpC,OAAO,CAAC,aAAa,CAAC,CAA2B;IAEjD;;;OAGG;IACH,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI;IAK/C;;;OAGG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,oBAAoB,KAAK,IAAI,GAAG,IAAI;IAKxD,oEAAoE;IACpE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,kBAAkB,KAAK,IAAI,GAAG,IAAI;IAKnD;;;OAGG;IACH,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,kBAAkB,KAAK,IAAI,GAAG,IAAI;IAKnD;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,wBAAwB,KAAK,IAAI,GAAG,IAAI;IAMhE,KAAK,IAAI,aAAa;CAWvB"}
@@ -26,26 +26,43 @@ export class UseSmileIDNetworkBuilder {
26
26
  _cache;
27
27
  _retry;
28
28
  _interceptors;
29
+ /**
30
+ * Configures the job type, authentication token, token-refresh
31
+ * callback, and partner identity for this flow.
32
+ */
29
33
  config(block) {
30
34
  if (!this._config)
31
35
  this._config = new ConfigBuilder();
32
36
  block(this._config);
33
37
  }
38
+ /**
39
+ * Configures per-phase HTTP timeouts — connect, read, write, and
40
+ * overall call — in seconds.
41
+ */
34
42
  timeouts(block) {
35
43
  if (!this._timeouts)
36
44
  this._timeouts = new TimeoutConfigBuilder();
37
45
  block(this._timeouts);
38
46
  }
47
+ /** Configures the HTTP response cache (on/off and maximum size). */
39
48
  cache(block) {
40
49
  if (!this._cache)
41
50
  this._cache = new CacheConfigBuilder();
42
51
  block(this._cache);
43
52
  }
53
+ /**
54
+ * Configures automatic retry of failed requests: strategy, attempt
55
+ * count, and backoff.
56
+ */
44
57
  retry(block) {
45
58
  if (!this._retry)
46
59
  this._retry = new RetryConfigBuilder();
47
60
  block(this._retry);
48
61
  }
62
+ /**
63
+ * Registers additional request/response interceptors, appended to the
64
+ * SDK's interceptor chain.
65
+ */
49
66
  interceptors(block) {
50
67
  if (!this._interceptors)
51
68
  this._interceptors = new InterceptorConfigBuilder();
@@ -1 +1 @@
1
- {"version":3,"file":"use_smile_id_network_builder.js","sourceRoot":"","sources":["../../../src/data/dsl/use_smile_id_network_builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,wBAAwB;IAC3B,OAAO,CAAiB;IACxB,SAAS,CAAwB;IACjC,MAAM,CAAsB;IAC5B,MAAM,CAAsB;IAC5B,aAAa,CAA4B;IAEjD,MAAM,CAAC,KAAiC;QACtC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAED,QAAQ,CAAC,KAAwC;QAC/C,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,KAAsC;QAC1C,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,KAAsC;QAC1C,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAED,YAAY,CAAC,KAA4C;QACvD,IAAI,CAAC,IAAI,CAAC,aAAa;YACrB,IAAI,CAAC,aAAa,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK;QACH,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC,aAAa;gBACpB,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE;gBAC9C,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"use_smile_id_network_builder.js","sourceRoot":"","sources":["../../../src/data/dsl/use_smile_id_network_builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,OAAO,wBAAwB;IAC3B,OAAO,CAAiB;IACxB,SAAS,CAAwB;IACjC,MAAM,CAAsB;IAC5B,MAAM,CAAsB;IAC5B,aAAa,CAA4B;IAEjD;;;OAGG;IACH,MAAM,CAAC,KAAiC;QACtC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,EAAE,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC;IAED;;;OAGG;IACH,QAAQ,CAAC,KAAwC;QAC/C,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QACjE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC;IAED,oEAAoE;IACpE,KAAK,CAAC,KAAsC;QAC1C,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAsC;QAC1C,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACzD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,KAA4C;QACvD,IAAI,CAAC,IAAI,CAAC,aAAa;YACrB,IAAI,CAAC,aAAa,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACtD,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK;QACH,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzD,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/D,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACtD,GAAG,CAAC,IAAI,CAAC,aAAa;gBACpB,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE;gBAC9C,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"networking_factory.d.ts","sourceRoot":"","sources":["../../../src/data/factory/networking_factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EACL,UAAU,EAIX,MAAM,qBAAqB,CAAC;AAU7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAErF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,aAAa,EAGrB,aAAa,GAAE,MAAM,MAAoD,GACxE;IACD,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;CACrC,CAoHA"}
1
+ {"version":3,"file":"networking_factory.d.ts","sourceRoot":"","sources":["../../../src/data/factory/networking_factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EACL,UAAU,EAIX,MAAM,qBAAqB,CAAC;AAY7B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8CAA8C,CAAC;AAErF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,aAAa,EAGrB,aAAa,GAAE,MAAM,MAAoD,GACxE;IACD,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;CACrC,CA+HA"}
@@ -5,6 +5,8 @@ import { SmileIntegrityInterceptor } from "../api/interceptors/smile_integrity_i
5
5
  import { TokenRefreshInterceptor } from "../api/interceptors/token_refresh_interceptor";
6
6
  import { TokenHolder } from "../api/auth/token_holder";
7
7
  import { SmileIDCryptoManager } from "../security/smile_id_crypto_manager";
8
+ import { SecurityPolicy } from "../security/security_policy";
9
+ import { decodeSecurityPolicyBitCode } from "../util/use_smile_id_token_decoder";
8
10
  import { Attestation, SigningSecretProvider } from "@smileid/usesmileid_bridge";
9
11
  import { MissingPartnerConfigException } from "../../core/exception";
10
12
  import { UseSmileIDMetadataFactory } from "../../metadata/use_smile_id_metadata_factory";
@@ -88,6 +90,11 @@ signingSecret = () => SigningSecretProvider.signingSecret()) {
88
90
  // TokenRefreshInterceptor writes a refreshed value on a 401 so the
89
91
  // next outgoing request automatically picks up the new token.
90
92
  const tokenHolder = new TokenHolder(config.config?.token ?? "");
93
+ // Server-driven security policy for this flow, decoded from the top-level `policy` claim on the
94
+ // JWT (a sibling of `sdk_config`). Decoding is fail-secure: a malformed token, an absent claim, or an absent
95
+ // bit-code all resolve to "every behaviour active", so a token without the claim keeps the
96
+ // pre-policy behaviour rather than dropping security.
97
+ const securityPolicy = SecurityPolicy.fromBitCode(decodeSecurityPolicyBitCode(config.config?.token ?? ""));
91
98
  // 1. Gzip is registered FIRST so it runs LAST on the request path
92
99
  // (innermost / closest to the wire). It stamps `Accept-Encoding:
93
100
  // gzip` so the server can compress responses (axios
@@ -107,7 +114,9 @@ signingSecret = () => SigningSecretProvider.signingSecret()) {
107
114
  // request path — it reads the `smileid-request-mac` header the MAC
108
115
  // interceptor sets and binds the per-request token to it. Per-request
109
116
  // opt-in via `config._useSmileIDAttestation`; pass-through otherwise.
110
- const integrityInterceptor = new SmileIntegrityInterceptor();
117
+ const integrityInterceptor = new SmileIntegrityInterceptor({
118
+ securityPolicy,
119
+ });
111
120
  integrityInterceptor.attach(client);
112
121
  // 4. Request MAC runs after auth (so the `smileid-*` headers + timestamp it
113
122
  // signs are present) and before integrity (which binds to the MAC). The
@@ -116,6 +125,7 @@ signingSecret = () => SigningSecretProvider.signingSecret()) {
116
125
  const cryptoManager = new SmileIDCryptoManager(signingSecret());
117
126
  const requestMacInterceptor = new SmileRequestMacInterceptor({
118
127
  cryptoManager,
128
+ securityPolicy,
119
129
  });
120
130
  requestMacInterceptor.attach(client);
121
131
  // 5. Auth is registered LAST of these three so it runs FIRST on the request
@@ -1 +1 @@
1
- {"version":3,"file":"networking_factory.js","sourceRoot":"","sources":["../../../src/data/factory/networking_factory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"networking_factory.js","sourceRoot":"","sources":["../../../src/data/factory/networking_factory.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,12 @@ export declare class UseSmileIDRepositoryImpl {
16
16
  private readonly _retry;
17
17
  constructor(api: SmileIDAPI, retry: RetryConfig);
18
18
  submit(request: JobRequest): Promise<UseSmileIDResult<JobSubmissionResponse>>;
19
+ /**
20
+ * Pre-flight payload compression entry — extracts the captured image URIs for the job type and
21
+ * compresses the bundle under the transmission cap (metadata is measured, never modified).
22
+ * No-op for job types that carry no captured images (Enhanced KYC / BVN).
23
+ */
24
+ private _compressPayload;
19
25
  private _dispatch;
20
26
  /**
21
27
  * Translate any caught error into the typed
@@ -1 +1 @@
1
- {"version":3,"file":"use_smile_id_repository_impl.d.ts","sourceRoot":"","sources":["../../../src/data/repository/use_smile_id_repository_impl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAWjE;;;;;;;GAOG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAEzB,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW;IAKzC,MAAM,CACV,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;IA8BnD,OAAO,CAAC,SAAS;IAmBjB;;;;;;OAMG;IACH,OAAO,CAAC,SAAS;CAGlB"}
1
+ {"version":3,"file":"use_smile_id_repository_impl.d.ts","sourceRoot":"","sources":["../../../src/data/repository/use_smile_id_repository_impl.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAkCjE;;;;;;;GAOG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;gBAEzB,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW;IAKzC,MAAM,CACV,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;IAiDnD;;;;OAIG;YACW,gBAAgB;IA2B9B,OAAO,CAAC,SAAS;IAgCjB;;;;;;OAMG;IACH,OAAO,CAAC,SAAS;CAGlB"}
@@ -4,6 +4,22 @@ import { withRetry } from "../util/retry_util";
4
4
  import { InvalidFieldValueException } from "../../core/exception/job_validation_exceptions";
5
5
  import { UseSmileIDValidationException } from "../../core/exception/use_smile_id_validation_exception";
6
6
  import { mapAxiosError, } from "../../core/exception/use_smile_id_network_exception";
7
+ import { PayloadCompressionRunner, } from "../compression/payload_compression_runner";
8
+ /** Builds the per-image original/final compressed size wire entries, omitting absent/zero sizes. */
9
+ function compressionSizeEntries(sizes) {
10
+ const entries = [];
11
+ const push = (name, value) => {
12
+ if (value !== undefined && value > 0)
13
+ entries.push({ name, value: String(value) });
14
+ };
15
+ push("selfie_original_size", sizes.selfieOriginalMb);
16
+ push("selfie_final_compressed_size", sizes.selfieFinalMb);
17
+ push("document_front_original_size", sizes.frontOriginalMb);
18
+ push("document_front_final_compressed_size", sizes.frontFinalMb);
19
+ push("document_back_original_size", sizes.backOriginalMb);
20
+ push("document_back_final_compressed_size", sizes.backFinalMb);
21
+ return entries;
22
+ }
7
23
  /**
8
24
  * Concrete repository.
9
25
  *
@@ -30,8 +46,26 @@ export class UseSmileIDRepositoryImpl {
30
46
  reason: "BVN submission is not yet supported",
31
47
  }));
32
48
  }
49
+ // Pre-flight payload compression — best effort: shrink the captured JPEGs under the Lambda
50
+ // cap before transmission (runs once, outside the retry loop), but never block submission, so
51
+ // any compression failure ships the captured images as-is and lets the server validate. The
52
+ // per-image original + final compressed sizes are stamped onto the metadata for telemetry.
53
+ let submitted = request;
54
+ try {
55
+ const sizes = await this._compressPayload(request);
56
+ const sizeEntries = sizes ? compressionSizeEntries(sizes) : [];
57
+ if (sizeEntries.length > 0) {
58
+ submitted = {
59
+ ...request,
60
+ metadata: request.metadata.withAdditionalEntries(sizeEntries),
61
+ };
62
+ }
63
+ }
64
+ catch {
65
+ // Best-effort: compression is an optimization; submit the captured images as-is on failure.
66
+ }
33
67
  try {
34
- const response = await withRetry(this._retry, () => this._dispatch(request));
68
+ const response = await withRetry(this._retry, (attempt) => this._dispatch(submitted, attempt));
35
69
  return success(response);
36
70
  }
37
71
  catch (error) {
@@ -45,20 +79,60 @@ export class UseSmileIDRepositoryImpl {
45
79
  return failure(this._mapError(error));
46
80
  }
47
81
  }
48
- _dispatch(request) {
82
+ /**
83
+ * Pre-flight payload compression entry — extracts the captured image URIs for the job type and
84
+ * compresses the bundle under the transmission cap (metadata is measured, never modified).
85
+ * No-op for job types that carry no captured images (Enhanced KYC / BVN).
86
+ */
87
+ async _compressPayload(request) {
88
+ const metadataBytes = JSON.stringify(request.metadata.toEntries()).length;
49
89
  switch (request.jobType) {
50
90
  case JobType.smartSelfieEnrollment:
51
- return this._api.smartSelfieEnrollment(request);
52
91
  case JobType.smartSelfieAuthentication:
53
- return this._api.smartSelfieAuthentication(request);
92
+ case JobType.biometricKyc:
93
+ return PayloadCompressionRunner.compress({
94
+ selfieImage: request.selfieImage,
95
+ livenessImages: request.livenessImages,
96
+ metadataBytes,
97
+ });
98
+ case JobType.documentVerification:
99
+ case JobType.enhancedDocumentVerification:
100
+ return PayloadCompressionRunner.compress({
101
+ selfieImage: request.selfieImage,
102
+ livenessImages: request.livenessImages,
103
+ frontDocument: request.frontDocument,
104
+ backDocument: request.backDocument,
105
+ metadataBytes,
106
+ });
107
+ default:
108
+ return undefined;
109
+ }
110
+ }
111
+ _dispatch(request, attempt) {
112
+ // Stamp how many network retries preceded this attempt onto the metadata
113
+ // (re-evaluated per attempt inside the retry loop). Appended as a flow-state
114
+ // entry so the already-appended document / config entries are preserved.
115
+ const stamped = attempt > 0
116
+ ? {
117
+ ...request,
118
+ metadata: request.metadata.withAdditionalEntries([
119
+ { name: "network_retries", value: String(attempt) },
120
+ ]),
121
+ }
122
+ : request;
123
+ switch (stamped.jobType) {
124
+ case JobType.smartSelfieEnrollment:
125
+ return this._api.smartSelfieEnrollment(stamped);
126
+ case JobType.smartSelfieAuthentication:
127
+ return this._api.smartSelfieAuthentication(stamped);
54
128
  case JobType.enhancedKyc:
55
- return this._api.enhancedKyc(request);
129
+ return this._api.enhancedKyc(stamped);
56
130
  case JobType.biometricKyc:
57
- return this._api.biometricKyc(request);
131
+ return this._api.biometricKyc(stamped);
58
132
  case JobType.documentVerification:
59
- return this._api.documentVerification(request);
133
+ return this._api.documentVerification(stamped);
60
134
  case JobType.enhancedDocumentVerification:
61
- return this._api.enhancedDocumentVerification(request);
135
+ return this._api.enhancedDocumentVerification(stamped);
62
136
  }
63
137
  }
64
138
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"use_smile_id_repository_impl.js","sourceRoot":"","sources":["../../../src/data/repository/use_smile_id_repository_impl.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,0BAA0B,EAAE,MAAM,gDAAgD,CAAC;AAC5F,OAAO,EAAE,6BAA6B,EAAE,MAAM,wDAAwD,CAAC;AACvG,OAAO,EACL,aAAa,GAEd,MAAM,qDAAqD,CAAC;AAE7D;;;;;;;GAOG;AACH,MAAM,OAAO,wBAAwB;IAClB,IAAI,CAAa;IACjB,MAAM,CAAc;IAErC,YAAY,GAAe,EAAE,KAAkB;QAC7C,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,MAAM,CACV,OAAmB;QAEnB,iEAAiE;QACjE,kEAAkE;QAClE,6DAA6D;QAC7D,UAAU;QACV,IAAI,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,GAAG,EAAE,CAAC;YACpC,OAAO,OAAO,CACZ,IAAI,0BAA0B,CAAC;gBAC7B,SAAS,EAAE,SAAS;gBACpB,MAAM,EAAE,qCAAqC;aAC9C,CAAC,CACH,CAAC;QACJ,CAAC;QACD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CACjD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CACxB,CAAC;YACF,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,6DAA6D;YAC7D,iEAAiE;YACjE,oEAAoE;YACpE,uDAAuD;YACvD,IAAI,KAAK,YAAY,6BAA6B,EAAE,CAAC;gBACnD,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;YACD,OAAO,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAEO,SAAS,CACf,OAA6D;QAE7D,QAAQ,OAAO,CAAC,OAAO,EAAE,CAAC;YACxB,KAAK,OAAO,CAAC,qBAAqB;gBAChC,OAAO,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YAClD,KAAK,OAAO,CAAC,yBAAyB;gBACpC,OAAO,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;YACtD,KAAK,OAAO,CAAC,WAAW;gBACtB,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACxC,KAAK,OAAO,CAAC,YAAY;gBACvB,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACzC,KAAK,OAAO,CAAC,oBAAoB;gBAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;YACjD,KAAK,OAAO,CAAC,4BAA4B;gBACvC,OAAO,IAAI,CAAC,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACK,SAAS,CAAC,KAAc;QAC9B,OAAO,aAAa,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;CACF"}
1
+ {"version":3,"file":"use_smile_id_repository_impl.js","sourceRoot":"","sources":["../../../src/data/repository/use_smile_id_repository_impl.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"request_canonicalizer.d.ts","sourceRoot":"","sources":["../../../src/data/security/request_canonicalizer.ts"],"names":[],"mappings":"AAoDA,eAAO,MAAM,oBAAoB;0BAEpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QACzB,OAAO,GACZ,OAAO,CAAC,UAAU,CAAC;CAGvB,CAAC"}
1
+ {"version":3,"file":"request_canonicalizer.d.ts","sourceRoot":"","sources":["../../../src/data/security/request_canonicalizer.ts"],"names":[],"mappings":"AAqDA,eAAO,MAAM,oBAAoB;0BAEpB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,QACzB,OAAO,GACZ,OAAO,CAAC,UAAU,CAAC;CAGvB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { base64Encode, utf8Bytes } from "./signing_crypto";
2
+ import { SmileIDCryptoError } from "./smile_id_crypto_error";
2
3
  /**
3
4
  * Reduces a request to the canonical bytes that get signed: the signed headers
4
5
  * as sorted-key JSON, followed by the canonicalised body. Canonicalisation
@@ -62,8 +63,19 @@ async function canonicalBody(body) {
62
63
  /** File parts (a `uri`) → Base64 of bytes; JSON fields → parsed; else string with bool coercion. */
63
64
  async function partValue(part) {
64
65
  if (part.uri != null) {
65
- const response = await fetch(part.uri);
66
- return base64Encode(new Uint8Array(await response.arrayBuffer()));
66
+ // Reading a file part can reject — e.g. the captured-image `file://` URI is
67
+ // unreadable, or the RN runtime rejects a local-file `fetch` when the device
68
+ // is offline (behaviour differs between the Expo and bare-RN runtimes).
69
+ // Surface it as a SmileIDCryptoError so the signing interceptor's narrow
70
+ // catch fails open (ships the request unsigned) instead of letting the
71
+ // rejection escape and crash the submission flow.
72
+ try {
73
+ const response = await fetch(part.uri);
74
+ return base64Encode(new Uint8Array(await response.arrayBuffer()));
75
+ }
76
+ catch (cause) {
77
+ throw new SmileIDCryptoError(`Failed to read request part "${part.fieldName}" for signing: ${String(cause)}`);
78
+ }
67
79
  }
68
80
  const value = part.string ?? "";
69
81
  if (JSON_FIELDS.has(part.fieldName)) {
@@ -1 +1 @@
1
- {"version":3,"file":"request_canonicalizer.js","sourceRoot":"","sources":["../../../src/data/security/request_canonicalizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request_canonicalizer.js","sourceRoot":"","sources":["../../../src/data/security/request_canonicalizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,oBAAoB,GAAG,UAAU,CAAC;AACxC,MAAM,kBAAkB,GAAG,qBAAqB,CAAC;AACjD,MAAM,mBAAmB,GAAG,sBAAsB,CAAC;AACnD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC;IAC1B,gBAAgB;IAChB,UAAU;IACV,gBAAgB;IAChB,SAAS;IACT,cAAc;CACf,CAAC,CAAC;AAEH,MAAM,kBAAkB,GACtB,8DAA8D,CAAC;AACjE,MAAM,eAAe,GACnB,sFAAsF,CAAC;AAUzF,SAAS,cAAc,CAAC,IAAa;IACnC,OAAO,CACL,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACb,OAAQ,IAA+B,CAAC,QAAQ,KAAK,UAAU,CAChE,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,KAAK,CAAC,YAAY,CAChB,OAA+B,EAC/B,IAAa;QAEb,OAAO,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,MAAM,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IACtE,CAAC;CACF,CAAC;AAEF,SAAS,gBAAgB,CAAC,OAA+B;IACvD,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAC/B,IACE,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC;YACrC,IAAI,KAAK,kBAAkB;YAC3B,IAAI,KAAK,mBAAmB,EAC5B,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,IAAa;IACxC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC;QACnC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,SAAS,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,oGAAoG;AACpG,KAAK,UAAU,SAAS,CAAC,IAAkB;IACzC,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,4EAA4E;QAC5E,6EAA6E;QAC7E,wEAAwE;QACxE,yEAAyE;QACzE,uEAAuE;QACvE,kDAAkD;QAClD,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACvC,OAAO,YAAY,CAAC,IAAI,UAAU,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,kBAAkB,CAC1B,gCAAgC,IAAI,CAAC,SAAS,kBAAkB,MAAM,CAAC,KAAK,CAAC,EAAE,CAChF,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IAChC,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACpC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,KAAK,CACZ,OAAgC,EAChC,IAAY,EACZ,KAAc;IAEd,IAAI,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACtB,OAAO;IACT,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QACrC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC;QACtB,CAAC,CAAC,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,wEAAwE;AACxE,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACtD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAChD,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAgC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YACvE,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAE,KAAiC,CAAC,GAAG,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO,IAAI;SACR,OAAO,CAAC,kBAAkB,EAAE,SAAS,CAAC;SACtC,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;AACtC,CAAC;AAED,SAAS,MAAM,CAAC,CAAa,EAAE,CAAa;IAC1C,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;IAChD,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACd,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;IACrB,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Server-driven security policy decoded from the integer `policy` bit-code carried as a top-level
3
+ * claim on the SmileID JWT — a sibling of the `sdk_config` claim, not nested inside it (see
4
+ * `decodeSecurityPolicyBitCode` and `docs/Policy.md`).
5
+ *
6
+ * Each bit toggles one SDK security behaviour, so the backend can dial protection up or down per
7
+ * session without shipping a new SDK build. The bit-code contract — which bit means what — is
8
+ * documented in `docs/Policy.md`, not here, so the four SDKs share one source of truth.
9
+ *
10
+ * **Fail-secure:** an absent (`undefined`) bit-code enables every behaviour, so a token that omits
11
+ * the claim — or a malformed token that fails to decode — runs with full protection rather than
12
+ * silently dropping security. This matches the value `undefined` produces in
13
+ * {@link SecurityPolicy.fromBitCode}.
14
+ *
15
+ * **Internal by design:** this class is not exported from the package entrypoint (`src/index.ts`),
16
+ * so it never becomes part of the partner-facing API; it exists only so the SDK can gate its own
17
+ * request signing and device attestation.
18
+ */
19
+ export declare class SecurityPolicy {
20
+ private static readonly _BIT_PAYLOAD_SIGNING;
21
+ private static readonly _BIT_PAYLOAD_ENCRYPTION;
22
+ private static readonly _BIT_ROOTED_DEVICE_CHECK;
23
+ private static readonly _BIT_PLAY_INTEGRITY_CHECK;
24
+ private static readonly _ALL_ACTIVE;
25
+ private readonly _bitCode;
26
+ private constructor();
27
+ /**
28
+ * Decode a `bitCode` into a typed policy. An `undefined` code is fail-secure — every behaviour
29
+ * is active. For a defined code, behaviour `b` is active when bit `b` is set, least-significant
30
+ * bit first.
31
+ */
32
+ static fromBitCode(bitCode: number | undefined): SecurityPolicy;
33
+ /** True when the server enabled request-payload HMAC signing for this session. */
34
+ isPayloadSigningActive(): boolean;
35
+ /** True when the server enabled request-payload encryption for this session. */
36
+ isPayloadEncryptionActive(): boolean;
37
+ /** True when the server enabled the rooted / jailbroken device check for this session. */
38
+ isRootedDeviceCheckActive(): boolean;
39
+ /** True when the server enabled device attestation for this session. */
40
+ isPlayIntegrityCheckActive(): boolean;
41
+ private _isSet;
42
+ }
43
+ //# sourceMappingURL=security_policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security_policy.d.ts","sourceRoot":"","sources":["../../../src/data/security/security_policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAK;IACjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,uBAAuB,CAAK;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAK;IACrD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAK;IAGtD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAIe;IAElD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAElC,OAAO;IAIP;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,cAAc;IAI/D,kFAAkF;IAClF,sBAAsB,IAAI,OAAO;IAIjC,gFAAgF;IAChF,yBAAyB,IAAI,OAAO;IAIpC,0FAA0F;IAC1F,yBAAyB,IAAI,OAAO;IAIpC,wEAAwE;IACxE,0BAA0B,IAAI,OAAO;IAIrC,OAAO,CAAC,MAAM;CAGf"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Server-driven security policy decoded from the integer `policy` bit-code carried as a top-level
3
+ * claim on the SmileID JWT — a sibling of the `sdk_config` claim, not nested inside it (see
4
+ * `decodeSecurityPolicyBitCode` and `docs/Policy.md`).
5
+ *
6
+ * Each bit toggles one SDK security behaviour, so the backend can dial protection up or down per
7
+ * session without shipping a new SDK build. The bit-code contract — which bit means what — is
8
+ * documented in `docs/Policy.md`, not here, so the four SDKs share one source of truth.
9
+ *
10
+ * **Fail-secure:** an absent (`undefined`) bit-code enables every behaviour, so a token that omits
11
+ * the claim — or a malformed token that fails to decode — runs with full protection rather than
12
+ * silently dropping security. This matches the value `undefined` produces in
13
+ * {@link SecurityPolicy.fromBitCode}.
14
+ *
15
+ * **Internal by design:** this class is not exported from the package entrypoint (`src/index.ts`),
16
+ * so it never becomes part of the partner-facing API; it exists only so the SDK can gate its own
17
+ * request signing and device attestation.
18
+ */
19
+ export class SecurityPolicy {
20
+ static _BIT_PAYLOAD_SIGNING = 0;
21
+ static _BIT_PAYLOAD_ENCRYPTION = 1;
22
+ static _BIT_ROOTED_DEVICE_CHECK = 2;
23
+ static _BIT_PLAY_INTEGRITY_CHECK = 3;
24
+ // Fail-secure default for an absent bit-code: every known behaviour active.
25
+ static _ALL_ACTIVE = (1 << SecurityPolicy._BIT_PAYLOAD_SIGNING) |
26
+ (1 << SecurityPolicy._BIT_PAYLOAD_ENCRYPTION) |
27
+ (1 << SecurityPolicy._BIT_ROOTED_DEVICE_CHECK) |
28
+ (1 << SecurityPolicy._BIT_PLAY_INTEGRITY_CHECK);
29
+ _bitCode;
30
+ constructor(bitCode) {
31
+ this._bitCode = bitCode;
32
+ }
33
+ /**
34
+ * Decode a `bitCode` into a typed policy. An `undefined` code is fail-secure — every behaviour
35
+ * is active. For a defined code, behaviour `b` is active when bit `b` is set, least-significant
36
+ * bit first.
37
+ */
38
+ static fromBitCode(bitCode) {
39
+ return new SecurityPolicy(bitCode ?? SecurityPolicy._ALL_ACTIVE);
40
+ }
41
+ /** True when the server enabled request-payload HMAC signing for this session. */
42
+ isPayloadSigningActive() {
43
+ return this._isSet(SecurityPolicy._BIT_PAYLOAD_SIGNING);
44
+ }
45
+ /** True when the server enabled request-payload encryption for this session. */
46
+ isPayloadEncryptionActive() {
47
+ return this._isSet(SecurityPolicy._BIT_PAYLOAD_ENCRYPTION);
48
+ }
49
+ /** True when the server enabled the rooted / jailbroken device check for this session. */
50
+ isRootedDeviceCheckActive() {
51
+ return this._isSet(SecurityPolicy._BIT_ROOTED_DEVICE_CHECK);
52
+ }
53
+ /** True when the server enabled device attestation for this session. */
54
+ isPlayIntegrityCheckActive() {
55
+ return this._isSet(SecurityPolicy._BIT_PLAY_INTEGRITY_CHECK);
56
+ }
57
+ _isSet(bit) {
58
+ return ((this._bitCode >> bit) & 1) === 1;
59
+ }
60
+ }
61
+ //# sourceMappingURL=security_policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"security_policy.js","sourceRoot":"","sources":["../../../src/data/security/security_policy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,cAAc;IACjB,MAAM,CAAU,oBAAoB,GAAG,CAAC,CAAC;IACzC,MAAM,CAAU,uBAAuB,GAAG,CAAC,CAAC;IAC5C,MAAM,CAAU,wBAAwB,GAAG,CAAC,CAAC;IAC7C,MAAM,CAAU,yBAAyB,GAAG,CAAC,CAAC;IAEtD,4EAA4E;IACpE,MAAM,CAAU,WAAW,GACjC,CAAC,CAAC,IAAI,cAAc,CAAC,oBAAoB,CAAC;QAC1C,CAAC,CAAC,IAAI,cAAc,CAAC,uBAAuB,CAAC;QAC7C,CAAC,CAAC,IAAI,cAAc,CAAC,wBAAwB,CAAC;QAC9C,CAAC,CAAC,IAAI,cAAc,CAAC,yBAAyB,CAAC,CAAC;IAEjC,QAAQ,CAAS;IAElC,YAAoB,OAAe;QACjC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,OAA2B;QAC5C,OAAO,IAAI,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,WAAW,CAAC,CAAC;IACnE,CAAC;IAED,kFAAkF;IAClF,sBAAsB;QACpB,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,oBAAoB,CAAC,CAAC;IAC1D,CAAC;IAED,gFAAgF;IAChF,yBAAyB;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,uBAAuB,CAAC,CAAC;IAC7D,CAAC;IAED,0FAA0F;IAC1F,yBAAyB;QACvB,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;IAC9D,CAAC;IAED,wEAAwE;IACxE,0BAA0B;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,yBAAyB,CAAC,CAAC;IAC/D,CAAC;IAEO,MAAM,CAAC,GAAW;QACxB,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC"}
@@ -5,7 +5,7 @@
5
5
  * kept so the production host can diverge without touching call sites.
6
6
  */
7
7
  export declare const SmileIDUrls: {
8
- readonly sandbox: "https://devapi.smileidentity.com/";
8
+ readonly sandbox: "https://testapi.smileidentity.com/";
9
9
  readonly production: "https://api.smileidentity.com/";
10
10
  readonly forConfig: (useSandbox: boolean) => string;
11
11
  };
@@ -5,7 +5,7 @@
5
5
  * kept so the production host can diverge without touching call sites.
6
6
  */
7
7
  export const SmileIDUrls = {
8
- sandbox: "https://devapi.smileidentity.com/",
8
+ sandbox: "https://testapi.smileidentity.com/",
9
9
  production: "https://api.smileidentity.com/",
10
10
  forConfig(useSandbox) {
11
11
  return useSandbox ? this.sandbox : this.production;
@@ -1 +1 @@
1
- {"version":3,"file":"smile_id_urls.js","sourceRoot":"","sources":["../../src/data/smile_id_urls.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,mCAAmC;IAC5C,UAAU,EAAE,gCAAgC;IAC5C,SAAS,CAAC,UAAmB;QAC3B,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IACrD,CAAC;CACO,CAAC"}
1
+ {"version":3,"file":"smile_id_urls.js","sourceRoot":"","sources":["../../src/data/smile_id_urls.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,oCAAoC;IAC7C,UAAU,EAAE,gCAAgC;IAC5C,SAAS,CAAC,UAAmB;QAC3B,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC;IACrD,CAAC;CACO,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { RetryConfig } from "../../core/models/network_config";
1
+ import { type RetryConfig } from "../../core/models/network_config";
2
2
  /**
3
3
  * Retry helper. Retries `block` until success or `maxAttempts`
4
4
  * exhausted, with delays driven by the configured strategy. Only
@@ -9,7 +9,7 @@ import type { RetryConfig } from "../../core/models/network_config";
9
9
  * the auth interceptor can invalidate its cache. A 503 (server busy)
10
10
  * is retried up to `maxAttempts` times with exponential backoff.
11
11
  */
12
- export declare function withRetry<T>(config: RetryConfig, block: () => Promise<T>): Promise<T>;
12
+ export declare function withRetry<T>(config: RetryConfig, block: (attempt: number) => Promise<T>): Promise<T>;
13
13
  /**
14
14
  * Network-class failure check. Returns `true` for axios errors that
15
15
  * indicate transient transport problems (timeout, 5xx, 408, 429) and