@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
@@ -0,0 +1,126 @@
1
+ import { base64Len, PayloadCompressionConfig as C, } from "./payload_compression_config";
2
+ /**
3
+ * Adaptive image-compression orchestrator that keeps a v3 submission under the Lambda payload
4
+ * cap. Pure decision logic over `CompressibleAssets` — the native JPEG encode + EXIF re-stamp
5
+ * lives behind `CompressibleAsset.recompress`.
6
+ *
7
+ * **Cross-SDK source of truth.** The size formulas, plan order, sub-rules, and loop here are
8
+ * mirrored byte-for-byte with the Android / iOS / Flutter SDKs. See `PayloadCompressionConfig`.
9
+ *
10
+ * Scope: image compression only. Metadata is **measured** (it counts toward the bundle and the
11
+ * projected encoded size) but never modified.
12
+ */
13
+ export const PayloadCompressor = {
14
+ /** Raw bundle size: sum of current image bytes + serialized metadata JSON bytes. */
15
+ rawBundleSize(assets, metadataBytes) {
16
+ return (assets.all().reduce((sum, asset) => sum + asset.encodedSize(), 0) +
17
+ metadataBytes);
18
+ },
19
+ /**
20
+ * Projected size of the base64-encoded body API Gateway forwards to Lambda: images are
21
+ * base64-expanded, metadata JSON is counted raw, plus a fixed structural allowance. The real
22
+ * guardrail.
23
+ */
24
+ projectedEncodedSize(assets, metadataBytes) {
25
+ return (assets
26
+ .all()
27
+ .reduce((sum, asset) => sum + base64Len(asset.encodedSize()), 0) +
28
+ metadataBytes +
29
+ C.structuralOverheadBytes);
30
+ },
31
+ /**
32
+ * Ordered (asset, minQuality) plan. Faces take the higher penalty (lower floor); documents are
33
+ * preserved. Rule B (selfie > 1 MB → faces first), Rule A (documents > 4 MB → back, front,
34
+ * faces last), else generic (faces first).
35
+ */
36
+ buildCompressionPlan(assets) {
37
+ const plan = [];
38
+ const selfieSize = assets.selfie?.encodedSize() ?? 0;
39
+ const docCombined = assets.documentCombinedSize();
40
+ if (assets.selfie && selfieSize > C.selfieTrigger) {
41
+ plan.push([assets.selfie, C.faceMinQ]);
42
+ for (const frame of assets.liveness)
43
+ plan.push([frame, C.faceMinQ]);
44
+ if (assets.documentBack)
45
+ plan.push([assets.documentBack, C.docMinQ]);
46
+ if (assets.documentFront)
47
+ plan.push([assets.documentFront, C.docMinQ]);
48
+ }
49
+ else if (docCombined > C.docCombinedTrigger) {
50
+ if (assets.documentBack)
51
+ plan.push([assets.documentBack, C.docMinQ]);
52
+ if (assets.documentFront)
53
+ plan.push([assets.documentFront, C.docMinQ]);
54
+ if (assets.selfie)
55
+ plan.push([assets.selfie, C.faceMinQ]);
56
+ for (const frame of assets.liveness)
57
+ plan.push([frame, C.faceMinQ]);
58
+ }
59
+ else {
60
+ if (assets.selfie)
61
+ plan.push([assets.selfie, C.faceMinQ]);
62
+ for (const frame of assets.liveness)
63
+ plan.push([frame, C.faceMinQ]);
64
+ if (assets.documentBack)
65
+ plan.push([assets.documentBack, C.docMinQ]);
66
+ if (assets.documentFront)
67
+ plan.push([assets.documentFront, C.docMinQ]);
68
+ }
69
+ return plan;
70
+ },
71
+ /**
72
+ * Compress `assets` in place until the bundle is guaranteed to ship. Steps: early-out → Rule A
73
+ * document sub-target → walk the global plan to the per-type floors → hard-guarantee pass that
74
+ * drops past the floors (down to `absoluteMinQ`) until the bundle fits both caps. Never throws;
75
+ * a job never fails submission purely on payload size.
76
+ */
77
+ async prepareBundleForTransmission(assets, metadataBytes) {
78
+ // Step 0: already within both guardrails.
79
+ if (this.projectedEncodedSize(assets, metadataBytes) <= C.hardEncodedCap &&
80
+ this.rawBundleSize(assets, metadataBytes) <= C.rawTarget) {
81
+ return;
82
+ }
83
+ // Step 1 (Rule A): pull the documents under the combined sub-target first (back, then front).
84
+ if (assets.documentCombinedSize() > C.docCombinedTrigger) {
85
+ const group = [assets.documentBack, assets.documentFront].filter((a) => a !== undefined);
86
+ await this._compressGroupToTarget(group, C.docMinQ, C.docCombinedTarget, () => assets.documentCombinedSize());
87
+ }
88
+ // Step 2: walk the global plan, re-measuring after each decrement, down to the per-type floors.
89
+ for (const [asset, minQuality] of this.buildCompressionPlan(assets)) {
90
+ while (this.rawBundleSize(assets, metadataBytes) > C.rawTarget &&
91
+ asset.quality() > minQuality) {
92
+ await asset.recompress(Math.max(minQuality, asset.quality() - C.qualityStep));
93
+ }
94
+ if (this.rawBundleSize(assets, metadataBytes) <= C.rawTarget)
95
+ return;
96
+ }
97
+ // Step 3 (hard guarantee): if the bundle is still over the relaxed raw ceiling or the encoded
98
+ // cap after every image hit its per-type floor, keep stepping quality down past the floors to
99
+ // `absoluteMinQ` — faces first per the plan order — so the bundle always ships under the cap
100
+ // regardless of any per-type quality floor.
101
+ for (const [asset] of this.buildCompressionPlan(assets)) {
102
+ while (this._overRelaxedCap(assets, metadataBytes) &&
103
+ asset.quality() > C.absoluteMinQ) {
104
+ await asset.recompress(Math.max(C.absoluteMinQ, asset.quality() - C.qualityStep));
105
+ }
106
+ if (!this._overRelaxedCap(assets, metadataBytes))
107
+ return;
108
+ }
109
+ },
110
+ /** True while the bundle exceeds the relaxed raw ceiling or the projected encoded cap. */
111
+ _overRelaxedCap(assets, metadataBytes) {
112
+ return (this.rawBundleSize(assets, metadataBytes) > C.rawFallback ||
113
+ this.projectedEncodedSize(assets, metadataBytes) > C.hardEncodedCap);
114
+ },
115
+ /** Reduce each asset in `group` (order matters) toward `target` as measured by `measure`. */
116
+ async _compressGroupToTarget(group, minQuality, target, measure) {
117
+ for (const asset of group) {
118
+ while (measure() > target && asset.quality() > minQuality) {
119
+ await asset.recompress(Math.max(minQuality, asset.quality() - C.qualityStep));
120
+ }
121
+ if (measure() <= target)
122
+ return;
123
+ }
124
+ },
125
+ };
126
+ //# sourceMappingURL=payload_compressor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payload_compressor.js","sourceRoot":"","sources":["../../../src/data/compression/payload_compressor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { ImageTypeId } from "@smileid/usesmileid_bridge";
2
+ import type { CompressibleAsset } from "./compressible_asset";
3
+ /**
4
+ * `CompressibleAsset` backed by a captured JPEG at `uri`.
5
+ *
6
+ * The re-encode is **native** (`expo-image-manipulator`, per the spec's "do not reimplement
7
+ * compression in JS" rule), and the Smile EXIF `image_digest` re-stamp is **native**
8
+ * (`SmileExifTagger.finalize`). The original bytes are preserved once on the first `recompress`
9
+ * so every step re-encodes from source (no generational stacking; deterministic retries).
10
+ */
11
+ export declare class UriCompressibleAsset implements CompressibleAsset {
12
+ readonly imageType: ImageTypeId;
13
+ private readonly uri;
14
+ private _quality;
15
+ private _size;
16
+ private _sourceUri;
17
+ constructor(imageType: ImageTypeId, uri: string, captureQuality: number);
18
+ encodedSize(): number;
19
+ quality(): number;
20
+ recompress(quality: number): Promise<void>;
21
+ private static _fileSize;
22
+ }
23
+ //# sourceMappingURL=uri_compressible_asset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uri_compressible_asset.d.ts","sourceRoot":"","sources":["../../../src/data/compression/uri_compressible_asset.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAI9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D;;;;;;;GAOG;AACH,qBAAa,oBAAqB,YAAW,iBAAiB;IAM1D,QAAQ,CAAC,SAAS,EAAE,WAAW;IAC/B,OAAO,CAAC,QAAQ,CAAC,GAAG;IANtB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,UAAU,CAAqB;gBAG5B,SAAS,EAAE,WAAW,EACd,GAAG,EAAE,MAAM,EAC5B,cAAc,EAAE,MAAM;IAMxB,WAAW,IAAI,MAAM;IAIrB,OAAO,IAAI,MAAM;IAIX,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuChD,OAAO,CAAC,MAAM,CAAC,SAAS;CAOzB"}
@@ -0,0 +1,77 @@
1
+ import { File } from "expo-file-system";
2
+ import { ImageManipulator, SaveFormat } from "expo-image-manipulator";
3
+ // SmileExifTagger is SDK-internal (not on the public barrel) — deep import, matching the capture screen.
4
+ import { SmileExifTagger } from "@smileid/usesmileid_bridge/src/exif/smile_exif_tagger";
5
+ /**
6
+ * `CompressibleAsset` backed by a captured JPEG at `uri`.
7
+ *
8
+ * The re-encode is **native** (`expo-image-manipulator`, per the spec's "do not reimplement
9
+ * compression in JS" rule), and the Smile EXIF `image_digest` re-stamp is **native**
10
+ * (`SmileExifTagger.finalize`). The original bytes are preserved once on the first `recompress`
11
+ * so every step re-encodes from source (no generational stacking; deterministic retries).
12
+ */
13
+ export class UriCompressibleAsset {
14
+ imageType;
15
+ uri;
16
+ _quality;
17
+ _size;
18
+ _sourceUri;
19
+ constructor(imageType, uri, captureQuality) {
20
+ this.imageType = imageType;
21
+ this.uri = uri;
22
+ this._quality = Math.min(Math.max(captureQuality, 0), 1);
23
+ this._size = UriCompressibleAsset._fileSize(uri);
24
+ }
25
+ encodedSize() {
26
+ return this._size;
27
+ }
28
+ quality() {
29
+ return this._quality;
30
+ }
31
+ async recompress(quality) {
32
+ const target = new File(this.uri);
33
+ if (!target.exists)
34
+ return;
35
+ // Preserve the source once so each step re-encodes from the original (no generational loss).
36
+ if (this._sourceUri === undefined) {
37
+ const originalUri = `${this.uri}.orig`;
38
+ try {
39
+ target.copy(new File(originalUri));
40
+ this._sourceUri = originalUri;
41
+ }
42
+ catch {
43
+ // Copy failed — fall back to re-encoding in place (still functional, mild generational loss).
44
+ this._sourceUri = this.uri;
45
+ }
46
+ }
47
+ const clamped = Math.min(Math.max(quality, 0), 1);
48
+ const context = ImageManipulator.manipulate(this._sourceUri);
49
+ const rendered = await context.renderAsync();
50
+ const result = await rendered.saveAsync({
51
+ compress: clamped,
52
+ format: SaveFormat.JPEG,
53
+ });
54
+ // Overwrite the request's path with the re-encoded bytes.
55
+ try {
56
+ if (target.exists)
57
+ target.delete();
58
+ new File(result.uri).move(target);
59
+ }
60
+ catch {
61
+ // Move failed — leave the request pointing at its original path; best effort.
62
+ }
63
+ // Re-stamp the Smile EXIF image_digest over the new bytes (native; context set at capture).
64
+ await SmileExifTagger.finalize(this.uri, this.imageType);
65
+ this._quality = quality;
66
+ this._size = UriCompressibleAsset._fileSize(this.uri);
67
+ }
68
+ static _fileSize(uri) {
69
+ try {
70
+ return new File(uri).size ?? 0;
71
+ }
72
+ catch {
73
+ return 0;
74
+ }
75
+ }
76
+ }
77
+ //# sourceMappingURL=uri_compressible_asset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uri_compressible_asset.js","sourceRoot":"","sources":["../../../src/data/compression/uri_compressible_asset.ts"],"names":[],"mappings":"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"}
@@ -6,8 +6,9 @@ import type { CacheConfig } from "../../../core/models/network_config";
6
6
  * verification flows without aggressive trimming.
7
7
  */
8
8
  export declare class CacheConfigBuilder {
9
+ /** Whether HTTP response caching is on. */
9
10
  enabled: boolean;
10
- /** Bytes — default 50 MB. */
11
+ /** Maximum on-disk cache size, in bytes. Default 50 MB. */
11
12
  maxSize: number;
12
13
  /**
13
14
  * Multiplier helper: `c.megabytes(50)` evaluates to `50 * 1024 * 1024`
@@ -1 +1 @@
1
- {"version":3,"file":"cache_config_builder.d.ts","sourceRoot":"","sources":["../../../../src/data/dsl/builder/cache_config_builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAEvE;;;;;GAKG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,UAAQ;IACf,6BAA6B;IAC7B,OAAO,SAAoB;IAE3B;;;;OAIG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIhC,KAAK,IAAI,WAAW;CAGrB"}
1
+ {"version":3,"file":"cache_config_builder.d.ts","sourceRoot":"","sources":["../../../../src/data/dsl/builder/cache_config_builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAEvE;;;;;GAKG;AACH,qBAAa,kBAAkB;IAC7B,2CAA2C;IAC3C,OAAO,UAAQ;IAEf,2DAA2D;IAC3D,OAAO,SAAoB;IAE3B;;;;OAIG;IACH,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAIhC,KAAK,IAAI,WAAW;CAGrB"}
@@ -5,8 +5,9 @@
5
5
  * verification flows without aggressive trimming.
6
6
  */
7
7
  export class CacheConfigBuilder {
8
+ /** Whether HTTP response caching is on. */
8
9
  enabled = true;
9
- /** Bytes — default 50 MB. */
10
+ /** Maximum on-disk cache size, in bytes. Default 50 MB. */
10
11
  maxSize = 50 * 1024 * 1024;
11
12
  /**
12
13
  * Multiplier helper: `c.megabytes(50)` evaluates to `50 * 1024 * 1024`
@@ -1 +1 @@
1
- {"version":3,"file":"cache_config_builder.js","sourceRoot":"","sources":["../../../../src/data/dsl/builder/cache_config_builder.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,OAAO,kBAAkB;IAC7B,OAAO,GAAG,IAAI,CAAC;IACf,6BAA6B;IAC7B,OAAO,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;IAE3B;;;;OAIG;IACH,SAAS,CAAC,KAAa;QACrB,OAAO,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,KAAK;QACH,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;CACF"}
1
+ {"version":3,"file":"cache_config_builder.js","sourceRoot":"","sources":["../../../../src/data/dsl/builder/cache_config_builder.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,OAAO,kBAAkB;IAC7B,2CAA2C;IAC3C,OAAO,GAAG,IAAI,CAAC;IAEf,2DAA2D;IAC3D,OAAO,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;IAE3B;;;;OAIG;IACH,SAAS,CAAC,KAAa;QACrB,OAAO,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,KAAK;QACH,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACzE,CAAC;CACF"}
@@ -12,13 +12,22 @@ import { LogLevel, type NetworkInnerConfig, type NetworkLoggingConfig, type Part
12
12
  * identity.
13
13
  */
14
14
  export declare class PartnerConfigBuilder {
15
+ /** Your Smile ID partner id. Required. */
15
16
  partnerId: string;
17
+ /**
18
+ * Optional webhook URL Smile ID calls with the job result. It is also
19
+ * sent as a per-request identity header.
20
+ */
16
21
  callbackUrl: string;
22
+ /**
23
+ * When true, routes requests to the sandbox environment instead of
24
+ * production. Defaults to false.
25
+ */
17
26
  useSandbox: boolean;
18
27
  /**
19
- * Optional partner-supplied key/value metadata. Forwarded onto the
20
- * `partner_params` JSON multipart form part on Enhanced / Biometric
21
- * KYC submissions when set.
28
+ * Optional free-form key/value pairs echoed back on the job result for
29
+ * your own correlation. Forwarded onto the `partner_params` JSON
30
+ * multipart form part on Enhanced / Biometric KYC submissions when set.
22
31
  */
23
32
  partnerParams?: Record<string, string>;
24
33
  build(): PartnerConfig;
@@ -32,8 +41,14 @@ export declare class PartnerConfigBuilder {
32
41
  * redaction list with their own proxy-injected headers.
33
42
  */
34
43
  export declare class LoggingConfigBuilder {
44
+ /** Whether HTTP request/response logging is on. */
35
45
  enabled: boolean;
46
+ /** Logging verbosity: none, basic, headers, or full body. */
36
47
  level: LogLevel;
48
+ /**
49
+ * Header names whose values are masked in logs (for example
50
+ * authorization headers).
51
+ */
37
52
  redactHeaders: readonly string[];
38
53
  build(): NetworkLoggingConfig;
39
54
  }
@@ -50,27 +65,38 @@ export declare class LoggingConfigBuilder {
50
65
  * omit blocks they don't need.
51
66
  */
52
67
  export declare class ConfigBuilder {
68
+ /**
69
+ * The verification job this flow submits (for example smart-selfie
70
+ * enrollment, biometric KYC, or document verification). Required.
71
+ */
53
72
  jobType?: JobType;
54
73
  /**
55
- * Short-lived v3 auth token issued by `/v3/token`. The partner
56
- * application is responsible for exchanging its API key for a token
57
- * before invoking the SDK and supplying the result here. Stamped as
58
- * the `smileid-token` HTTP header on every authenticated request.
74
+ * The short-lived authentication token for this session. Your backend
75
+ * obtains it from Smile ID's `/v3/token` endpoint using your API key;
76
+ * the SDK never exchanges credentials itself. Stamped as the
77
+ * `smileid-token` HTTP header on every authenticated request.
59
78
  */
60
79
  token: string;
61
80
  /**
62
- * Optional async refresh callback invoked when the server responds
63
- * with `401 Unauthorized`. The callback receives the token the SDK
64
- * was using and returns a fresh token; the SDK then retries the
65
- * original request once with the new value. Concurrent 401s collapse
66
- * to a single callback invocation via the SDK's shared `TokenHolder`.
67
- * If the callback throws or the retry also returns 401, the original
68
- * 401 response is surfaced unchanged.
81
+ * Optional async callback invoked when the server rejects the token
82
+ * with a 401. Return a fresh token and the SDK retries the request
83
+ * once with it. The callback receives the token the SDK was using.
84
+ * Concurrent 401s collapse to a single callback invocation via the
85
+ * SDK's shared `TokenHolder`. If the callback throws or the retry also
86
+ * returns 401, the original 401 response is surfaced unchanged.
69
87
  */
70
88
  onTokenExpired?: (previousToken: string) => Promise<string>;
71
89
  private _partnerConfig?;
72
90
  private _logging?;
91
+ /**
92
+ * Configures partner identity and per-job environment settings —
93
+ * partner id, callback URL, sandbox mode, and partner params.
94
+ */
73
95
  partnerConfig(block: (p: PartnerConfigBuilder) => void): void;
96
+ /**
97
+ * Configures HTTP request/response logging: on/off, verbosity, and
98
+ * redacted headers.
99
+ */
74
100
  logging(block: (l: LoggingConfigBuilder) => void): void;
75
101
  build(): NetworkInnerConfig;
76
102
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config_builder.d.ts","sourceRoot":"","sources":["../../../../src/data/dsl/builder/config_builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EACL,QAAQ,EACR,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EACnB,MAAM,qCAAqC,CAAC;AAE7C;;;;;;;;;;GAUG;AACH,qBAAa,oBAAoB;IAC/B,SAAS,SAAM;IACf,WAAW,SAAM;IACjB,UAAU,UAAS;IACnB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEvC,KAAK,IAAI,aAAa;CAUvB;AAED;;;;;;;GAOG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,UAAQ;IACf,KAAK,EAAE,QAAQ,CAAkB;IACjC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAM;IAEtC,KAAK,IAAI,oBAAoB;CAO9B;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;OAKG;IACH,KAAK,SAAM;IAEX;;;;;;;;OAQG;IACH,cAAc,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5D,OAAO,CAAC,cAAc,CAAC,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,CAAuB;IAExC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,oBAAoB,KAAK,IAAI,GAAG,IAAI;IAK7D,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,oBAAoB,KAAK,IAAI,GAAG,IAAI;IAKvD,KAAK,IAAI,kBAAkB;CAa5B"}
1
+ {"version":3,"file":"config_builder.d.ts","sourceRoot":"","sources":["../../../../src/data/dsl/builder/config_builder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EACL,QAAQ,EACR,KAAK,kBAAkB,EACvB,KAAK,oBAAoB,EACzB,KAAK,aAAa,EACnB,MAAM,qCAAqC,CAAC;AAE7C;;;;;;;;;;GAUG;AACH,qBAAa,oBAAoB;IAC/B,0CAA0C;IAC1C,SAAS,SAAM;IAEf;;;OAGG;IACH,WAAW,SAAM;IAEjB;;;OAGG;IACH,UAAU,UAAS;IAEnB;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEvC,KAAK,IAAI,aAAa;CAUvB;AAED;;;;;;;GAOG;AACH,qBAAa,oBAAoB;IAC/B,mDAAmD;IACnD,OAAO,UAAQ;IAEf,6DAA6D;IAC7D,KAAK,EAAE,QAAQ,CAAkB;IAEjC;;;OAGG;IACH,aAAa,EAAE,SAAS,MAAM,EAAE,CAAM;IAEtC,KAAK,IAAI,oBAAoB;CAO9B;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,aAAa;IACxB;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;;OAKG;IACH,KAAK,SAAM;IAEX;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5D,OAAO,CAAC,cAAc,CAAC,CAAuB;IAC9C,OAAO,CAAC,QAAQ,CAAC,CAAuB;IAExC;;;OAGG;IACH,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,oBAAoB,KAAK,IAAI,GAAG,IAAI;IAK7D;;;OAGG;IACH,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,oBAAoB,KAAK,IAAI,GAAG,IAAI;IAKvD,KAAK,IAAI,kBAAkB;CAa5B"}
@@ -11,13 +11,22 @@ import { LogLevel, } from "../../../core/models/network_config";
11
11
  * identity.
12
12
  */
13
13
  export class PartnerConfigBuilder {
14
+ /** Your Smile ID partner id. Required. */
14
15
  partnerId = "";
16
+ /**
17
+ * Optional webhook URL Smile ID calls with the job result. It is also
18
+ * sent as a per-request identity header.
19
+ */
15
20
  callbackUrl = "";
21
+ /**
22
+ * When true, routes requests to the sandbox environment instead of
23
+ * production. Defaults to false.
24
+ */
16
25
  useSandbox = false;
17
26
  /**
18
- * Optional partner-supplied key/value metadata. Forwarded onto the
19
- * `partner_params` JSON multipart form part on Enhanced / Biometric
20
- * KYC submissions when set.
27
+ * Optional free-form key/value pairs echoed back on the job result for
28
+ * your own correlation. Forwarded onto the `partner_params` JSON
29
+ * multipart form part on Enhanced / Biometric KYC submissions when set.
21
30
  */
22
31
  partnerParams;
23
32
  build() {
@@ -40,8 +49,14 @@ export class PartnerConfigBuilder {
40
49
  * redaction list with their own proxy-injected headers.
41
50
  */
42
51
  export class LoggingConfigBuilder {
52
+ /** Whether HTTP request/response logging is on. */
43
53
  enabled = true;
54
+ /** Logging verbosity: none, basic, headers, or full body. */
44
55
  level = LogLevel.basic;
56
+ /**
57
+ * Header names whose values are masked in logs (for example
58
+ * authorization headers).
59
+ */
45
60
  redactHeaders = [];
46
61
  build() {
47
62
  return Object.freeze({
@@ -64,31 +79,42 @@ export class LoggingConfigBuilder {
64
79
  * omit blocks they don't need.
65
80
  */
66
81
  export class ConfigBuilder {
82
+ /**
83
+ * The verification job this flow submits (for example smart-selfie
84
+ * enrollment, biometric KYC, or document verification). Required.
85
+ */
67
86
  jobType;
68
87
  /**
69
- * Short-lived v3 auth token issued by `/v3/token`. The partner
70
- * application is responsible for exchanging its API key for a token
71
- * before invoking the SDK and supplying the result here. Stamped as
72
- * the `smileid-token` HTTP header on every authenticated request.
88
+ * The short-lived authentication token for this session. Your backend
89
+ * obtains it from Smile ID's `/v3/token` endpoint using your API key;
90
+ * the SDK never exchanges credentials itself. Stamped as the
91
+ * `smileid-token` HTTP header on every authenticated request.
73
92
  */
74
93
  token = "";
75
94
  /**
76
- * Optional async refresh callback invoked when the server responds
77
- * with `401 Unauthorized`. The callback receives the token the SDK
78
- * was using and returns a fresh token; the SDK then retries the
79
- * original request once with the new value. Concurrent 401s collapse
80
- * to a single callback invocation via the SDK's shared `TokenHolder`.
81
- * If the callback throws or the retry also returns 401, the original
82
- * 401 response is surfaced unchanged.
95
+ * Optional async callback invoked when the server rejects the token
96
+ * with a 401. Return a fresh token and the SDK retries the request
97
+ * once with it. The callback receives the token the SDK was using.
98
+ * Concurrent 401s collapse to a single callback invocation via the
99
+ * SDK's shared `TokenHolder`. If the callback throws or the retry also
100
+ * returns 401, the original 401 response is surfaced unchanged.
83
101
  */
84
102
  onTokenExpired;
85
103
  _partnerConfig;
86
104
  _logging;
105
+ /**
106
+ * Configures partner identity and per-job environment settings —
107
+ * partner id, callback URL, sandbox mode, and partner params.
108
+ */
87
109
  partnerConfig(block) {
88
110
  if (!this._partnerConfig)
89
111
  this._partnerConfig = new PartnerConfigBuilder();
90
112
  block(this._partnerConfig);
91
113
  }
114
+ /**
115
+ * Configures HTTP request/response logging: on/off, verbosity, and
116
+ * redacted headers.
117
+ */
92
118
  logging(block) {
93
119
  if (!this._logging)
94
120
  this._logging = new LoggingConfigBuilder();
@@ -1 +1 @@
1
- {"version":3,"file":"config_builder.js","sourceRoot":"","sources":["../../../../src/data/dsl/builder/config_builder.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,GAIT,MAAM,qCAAqC,CAAC;AAE7C;;;;;;;;;;GAUG;AACH,MAAM,OAAO,oBAAoB;IAC/B,SAAS,GAAG,EAAE,CAAC;IACf,WAAW,GAAG,EAAE,CAAC;IACjB,UAAU,GAAG,KAAK,CAAC;IACnB;;;;OAIG;IACH,aAAa,CAA0B;IAEvC,KAAK;QACH,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS;gBAClC,CAAC,CAAC,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE;gBAC7D,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,CAAC;IACL,CAAC;CACF;AAED;;;;;;;GAOG;AACH,MAAM,OAAO,oBAAoB;IAC/B,OAAO,GAAG,IAAI,CAAC;IACf,KAAK,GAAa,QAAQ,CAAC,KAAK,CAAC;IACjC,aAAa,GAAsB,EAAE,CAAC;IAEtC,KAAK;QACH,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;SACtD,CAAC,CAAC;IACL,CAAC;CACF;AAED;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,aAAa;IACxB,OAAO,CAAW;IAElB;;;;;OAKG;IACH,KAAK,GAAG,EAAE,CAAC;IAEX;;;;;;;;OAQG;IACH,cAAc,CAA8C;IAEpD,cAAc,CAAwB;IACtC,QAAQ,CAAwB;IAExC,aAAa,CAAC,KAAwC;QACpD,IAAI,CAAC,IAAI,CAAC,cAAc;YAAE,IAAI,CAAC,cAAc,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC3E,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,KAAwC;QAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC/D,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAED,KAAK;QACH,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnD,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,SAAS;gBACnC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE;gBACzC,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,IAAI,CAAC,cAAc;gBACrB,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE;gBAChD,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC7D,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"config_builder.js","sourceRoot":"","sources":["../../../../src/data/dsl/builder/config_builder.ts"],"names":[],"mappings":"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"}
@@ -19,18 +19,20 @@ import { LogLevel, type Interceptor } from "../../../core/models/network_config"
19
19
  */
20
20
  export declare class InterceptorConfigBuilder {
21
21
  private _interceptors;
22
+ /** Appends a custom interceptor to the chain. */
22
23
  add(interceptor: Interceptor): void;
23
24
  /**
24
- * Returns an interceptor that stamps `Accept-Encoding: gzip` on
25
- * every outbound request. Hint-only — the SDK does not pull in a
26
- * JS gzip dependency to compress request bodies. See
27
- * [createGzipInterceptor] for the rationale.
25
+ * Adds the gzip interceptor, which requests compressed responses by
26
+ * stamping `Accept-Encoding: gzip` on every outbound request.
27
+ * Hint-only — the SDK does not pull in a JS gzip dependency to
28
+ * compress request bodies. See [createGzipInterceptor] for the
29
+ * rationale.
28
30
  */
29
31
  gzip(): Interceptor;
30
32
  /**
31
- * Returns a logging interceptor configured by `configure`. The
32
- * partner block mutates a `LoggingInterceptorBuilder` carrying
33
- * `level` and `redactHeaders`.
33
+ * Adds the logging interceptor with the given verbosity. The partner
34
+ * block mutates a `LoggingInterceptorBuilder` carrying `level` and
35
+ * `redactHeaders`.
34
36
  */
35
37
  logging(configure?: (builder: LoggingInterceptorBuilder) => void): Interceptor;
36
38
  build(): readonly Interceptor[];
@@ -1 +1 @@
1
- {"version":3,"file":"interceptor_config_builder.d.ts","sourceRoot":"","sources":["../../../../src/data/dsl/builder/interceptor_config_builder.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,QAAQ,EACR,KAAK,WAAW,EAEjB,MAAM,qCAAqC,CAAC;AAE7C;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,aAAa,CAAqB;IAE1C,GAAG,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAInC;;;;;OAKG;IACH,IAAI,IAAI,WAAW;IAInB;;;;OAIG;IACH,OAAO,CACL,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,yBAAyB,KAAK,IAAI,GACvD,WAAW;IAiBd,KAAK,IAAI,SAAS,WAAW,EAAE;CAGhC;AAED;;GAEG;AACH,qBAAa,yBAAyB;IACpC,OAAO,UAAQ;IACf,KAAK,EAAE,QAAQ,CAAkB;IACjC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAM;CACvC"}
1
+ {"version":3,"file":"interceptor_config_builder.d.ts","sourceRoot":"","sources":["../../../../src/data/dsl/builder/interceptor_config_builder.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,QAAQ,EACR,KAAK,WAAW,EAEjB,MAAM,qCAAqC,CAAC;AAE7C;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,aAAa,CAAqB;IAE1C,iDAAiD;IACjD,GAAG,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAInC;;;;;;OAMG;IACH,IAAI,IAAI,WAAW;IAInB;;;;OAIG;IACH,OAAO,CACL,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,yBAAyB,KAAK,IAAI,GACvD,WAAW;IAiBd,KAAK,IAAI,SAAS,WAAW,EAAE;CAGhC;AAED;;GAEG;AACH,qBAAa,yBAAyB;IACpC,OAAO,UAAQ;IACf,KAAK,EAAE,QAAQ,CAAkB;IACjC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAM;CACvC"}
@@ -21,22 +21,24 @@ import { LogLevel, } from "../../../core/models/network_config";
21
21
  */
22
22
  export class InterceptorConfigBuilder {
23
23
  _interceptors = [];
24
+ /** Appends a custom interceptor to the chain. */
24
25
  add(interceptor) {
25
26
  this._interceptors.push(interceptor);
26
27
  }
27
28
  /**
28
- * Returns an interceptor that stamps `Accept-Encoding: gzip` on
29
- * every outbound request. Hint-only — the SDK does not pull in a
30
- * JS gzip dependency to compress request bodies. See
31
- * [createGzipInterceptor] for the rationale.
29
+ * Adds the gzip interceptor, which requests compressed responses by
30
+ * stamping `Accept-Encoding: gzip` on every outbound request.
31
+ * Hint-only — the SDK does not pull in a JS gzip dependency to
32
+ * compress request bodies. See [createGzipInterceptor] for the
33
+ * rationale.
32
34
  */
33
35
  gzip() {
34
36
  return createGzipInterceptor();
35
37
  }
36
38
  /**
37
- * Returns a logging interceptor configured by `configure`. The
38
- * partner block mutates a `LoggingInterceptorBuilder` carrying
39
- * `level` and `redactHeaders`.
39
+ * Adds the logging interceptor with the given verbosity. The partner
40
+ * block mutates a `LoggingInterceptorBuilder` carrying `level` and
41
+ * `redactHeaders`.
40
42
  */
41
43
  logging(configure) {
42
44
  const builder = new LoggingInterceptorBuilder();
@@ -1 +1 @@
1
- {"version":3,"file":"interceptor_config_builder.js","sourceRoot":"","sources":["../../../../src/data/dsl/builder/interceptor_config_builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EACL,QAAQ,GAGT,MAAM,qCAAqC,CAAC;AAE7C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,wBAAwB;IAC3B,aAAa,GAAkB,EAAE,CAAC;IAE1C,GAAG,CAAC,WAAwB;QAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAED;;;;;OAKG;IACH,IAAI;QACF,OAAO,qBAAqB,EAAE,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACH,OAAO,CACL,SAAwD;QAExD,MAAM,OAAO,GAAG,IAAI,yBAAyB,EAAE,CAAC;QAChD,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC;QACD,MAAM,aAAa,GAAyB,MAAM,CAAC,MAAM,CAAC;YACxD,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;SACzD,CAAC,CAAC;QACH,OAAO;YACL,MAAM,CAAC,MAAqB;gBAC1B,wBAAwB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAClD,CAAC;SACF,CAAC;IACJ,CAAC;IAED,KAAK;QACH,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAChD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,yBAAyB;IACpC,OAAO,GAAG,IAAI,CAAC;IACf,KAAK,GAAa,QAAQ,CAAC,KAAK,CAAC;IACjC,aAAa,GAAsB,EAAE,CAAC;CACvC"}
1
+ {"version":3,"file":"interceptor_config_builder.js","sourceRoot":"","sources":["../../../../src/data/dsl/builder/interceptor_config_builder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EACL,QAAQ,GAGT,MAAM,qCAAqC,CAAC;AAE7C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,wBAAwB;IAC3B,aAAa,GAAkB,EAAE,CAAC;IAE1C,iDAAiD;IACjD,GAAG,CAAC,WAAwB;QAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;OAMG;IACH,IAAI;QACF,OAAO,qBAAqB,EAAE,CAAC;IACjC,CAAC;IAED;;;;OAIG;IACH,OAAO,CACL,SAAwD;QAExD,MAAM,OAAO,GAAG,IAAI,yBAAyB,EAAE,CAAC;QAChD,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC;QACD,MAAM,aAAa,GAAyB,MAAM,CAAC,MAAM,CAAC;YACxD,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;SACzD,CAAC,CAAC;QACH,OAAO;YACL,MAAM,CAAC,MAAqB;gBAC1B,wBAAwB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAClD,CAAC;SACF,CAAC;IACJ,CAAC;IAED,KAAK;QACH,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAChD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,yBAAyB;IACpC,OAAO,GAAG,IAAI,CAAC;IACf,KAAK,GAAa,QAAQ,CAAC,KAAK,CAAC;IACjC,aAAa,GAAsB,EAAE,CAAC;CACvC"}
@@ -3,18 +3,33 @@ 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 declare class RetryConfigBuilder {
11
+ /** Attempts per request including the first; applies once `strategy` opts in. */
11
12
  maxAttempts: number;
13
+ /** Backoff strategy between attempts: exponential, fixed, or none. */
12
14
  strategy: RetryStrategy;
15
+ /** Delay before the first retry, in seconds (exponential strategy). */
13
16
  initialDelay: number;
17
+ /**
18
+ * Factor by which the delay grows after each attempt (exponential
19
+ * strategy).
20
+ */
14
21
  multiplier: number;
22
+ /**
23
+ * Upper bound on the delay between attempts, in seconds (exponential
24
+ * strategy).
25
+ */
15
26
  maxDelay: number;
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: number;
32
+ /** Constant delay between attempts, in seconds (fixed strategy). */
18
33
  fixedDelay: number;
19
34
  build(): RetryConfig;
20
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"retry_config_builder.d.ts","sourceRoot":"","sources":["../../../../src/data/dsl/builder/retry_config_builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,KAAK,WAAW,EACjB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB;;;;;;GAMG;AACH,qBAAa,kBAAkB;IAC7B,WAAW,SAAK;IAChB,QAAQ,EAAE,aAAa,CAA6B;IACpD,YAAY,SAAK;IACjB,UAAU,SAAK;IACf,QAAQ,SAAM;IACd,+DAA+D;IAC/D,MAAM,SAAO;IACb,UAAU,SAAK;IAEf,KAAK,IAAI,WAAW;CAWrB"}
1
+ {"version":3,"file":"retry_config_builder.d.ts","sourceRoot":"","sources":["../../../../src/data/dsl/builder/retry_config_builder.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,KAAK,WAAW,EACjB,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,CAAC;AAEzB;;;;;;GAMG;AACH,qBAAa,kBAAkB;IAC7B,iFAAiF;IACjF,WAAW,SAAK;IAEhB,sEAAsE;IACtE,QAAQ,EAAE,aAAa,CAAsB;IAE7C,uEAAuE;IACvE,YAAY,SAAK;IAEjB;;;OAGG;IACH,UAAU,SAAK;IAEf;;;OAGG;IACH,QAAQ,SAAM;IAEd;;;OAGG;IACH,MAAM,SAAO;IAEb,oEAAoE;IACpE,UAAU,SAAK;IAEf,KAAK,IAAI,WAAW;CAWrB"}