@smileid/usesmileid 12.0.0-beta01 → 12.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. package/CHANGELOG.md +11 -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/models/document_capture_mode.d.ts +8 -0
  12. package/dist/core/models/document_capture_mode.d.ts.map +1 -1
  13. package/dist/core/models/document_capture_mode.js +24 -0
  14. package/dist/core/models/document_capture_mode.js.map +1 -1
  15. package/dist/core/models/document_type.d.ts +2 -2
  16. package/dist/core/models/document_type.d.ts.map +1 -1
  17. package/dist/core/models/document_type.js +6 -4
  18. package/dist/core/models/document_type.js.map +1 -1
  19. package/dist/core/models/result.d.ts +9 -8
  20. package/dist/core/models/result.d.ts.map +1 -1
  21. package/dist/core/models/result.js +5 -6
  22. package/dist/core/models/result.js.map +1 -1
  23. package/dist/data/api/interceptors/smile_auth_interceptor.js +1 -1
  24. package/dist/data/api/interceptors/smile_auth_interceptor.js.map +1 -1
  25. package/dist/data/api/interceptors/smile_integrity_interceptor.d.ts +11 -0
  26. package/dist/data/api/interceptors/smile_integrity_interceptor.d.ts.map +1 -1
  27. package/dist/data/api/interceptors/smile_integrity_interceptor.js +13 -0
  28. package/dist/data/api/interceptors/smile_integrity_interceptor.js.map +1 -1
  29. package/dist/data/api/interceptors/smile_request_mac_interceptor.d.ts +8 -0
  30. package/dist/data/api/interceptors/smile_request_mac_interceptor.d.ts.map +1 -1
  31. package/dist/data/api/interceptors/smile_request_mac_interceptor.js +11 -0
  32. package/dist/data/api/interceptors/smile_request_mac_interceptor.js.map +1 -1
  33. package/dist/data/compression/compressible_asset.d.ts +41 -0
  34. package/dist/data/compression/compressible_asset.d.ts.map +1 -0
  35. package/dist/data/compression/compressible_asset.js +34 -0
  36. package/dist/data/compression/compressible_asset.js.map +1 -0
  37. package/dist/data/compression/payload_compression_config.d.ts +36 -0
  38. package/dist/data/compression/payload_compression_config.d.ts.map +1 -0
  39. package/dist/data/compression/payload_compression_config.js +52 -0
  40. package/dist/data/compression/payload_compression_config.js.map +1 -0
  41. package/dist/data/compression/payload_compression_runner.d.ts +29 -0
  42. package/dist/data/compression/payload_compression_runner.d.ts.map +1 -0
  43. package/dist/data/compression/payload_compression_runner.js +55 -0
  44. package/dist/data/compression/payload_compression_runner.js.map +1 -0
  45. package/dist/data/compression/payload_compressor.d.ts +40 -0
  46. package/dist/data/compression/payload_compressor.d.ts.map +1 -0
  47. package/dist/data/compression/payload_compressor.js +126 -0
  48. package/dist/data/compression/payload_compressor.js.map +1 -0
  49. package/dist/data/compression/uri_compressible_asset.d.ts +23 -0
  50. package/dist/data/compression/uri_compressible_asset.d.ts.map +1 -0
  51. package/dist/data/compression/uri_compressible_asset.js +77 -0
  52. package/dist/data/compression/uri_compressible_asset.js.map +1 -0
  53. package/dist/data/dsl/builder/cache_config_builder.d.ts +2 -1
  54. package/dist/data/dsl/builder/cache_config_builder.d.ts.map +1 -1
  55. package/dist/data/dsl/builder/cache_config_builder.js +2 -1
  56. package/dist/data/dsl/builder/cache_config_builder.js.map +1 -1
  57. package/dist/data/dsl/builder/config_builder.d.ts +40 -14
  58. package/dist/data/dsl/builder/config_builder.d.ts.map +1 -1
  59. package/dist/data/dsl/builder/config_builder.js +40 -14
  60. package/dist/data/dsl/builder/config_builder.js.map +1 -1
  61. package/dist/data/dsl/builder/interceptor_config_builder.d.ts +9 -7
  62. package/dist/data/dsl/builder/interceptor_config_builder.d.ts.map +1 -1
  63. package/dist/data/dsl/builder/interceptor_config_builder.js +9 -7
  64. package/dist/data/dsl/builder/interceptor_config_builder.js.map +1 -1
  65. package/dist/data/dsl/builder/retry_config_builder.d.ts +16 -1
  66. package/dist/data/dsl/builder/retry_config_builder.d.ts.map +1 -1
  67. package/dist/data/dsl/builder/retry_config_builder.js +16 -1
  68. package/dist/data/dsl/builder/retry_config_builder.js.map +1 -1
  69. package/dist/data/dsl/builder/timeout_config_builder.d.ts +4 -0
  70. package/dist/data/dsl/builder/timeout_config_builder.d.ts.map +1 -1
  71. package/dist/data/dsl/builder/timeout_config_builder.js +4 -0
  72. package/dist/data/dsl/builder/timeout_config_builder.js.map +1 -1
  73. package/dist/data/dsl/use_smile_id_network_builder.d.ts +17 -0
  74. package/dist/data/dsl/use_smile_id_network_builder.d.ts.map +1 -1
  75. package/dist/data/dsl/use_smile_id_network_builder.js +17 -0
  76. package/dist/data/dsl/use_smile_id_network_builder.js.map +1 -1
  77. package/dist/data/factory/networking_factory.d.ts.map +1 -1
  78. package/dist/data/factory/networking_factory.js +11 -1
  79. package/dist/data/factory/networking_factory.js.map +1 -1
  80. package/dist/data/repository/use_smile_id_repository_impl.d.ts +6 -0
  81. package/dist/data/repository/use_smile_id_repository_impl.d.ts.map +1 -1
  82. package/dist/data/repository/use_smile_id_repository_impl.js +82 -8
  83. package/dist/data/repository/use_smile_id_repository_impl.js.map +1 -1
  84. package/dist/data/security/request_canonicalizer.d.ts.map +1 -1
  85. package/dist/data/security/request_canonicalizer.js +14 -2
  86. package/dist/data/security/request_canonicalizer.js.map +1 -1
  87. package/dist/data/security/security_policy.d.ts +43 -0
  88. package/dist/data/security/security_policy.d.ts.map +1 -0
  89. package/dist/data/security/security_policy.js +61 -0
  90. package/dist/data/security/security_policy.js.map +1 -0
  91. package/dist/data/util/retry_util.d.ts +1 -1
  92. package/dist/data/util/retry_util.d.ts.map +1 -1
  93. package/dist/data/util/retry_util.js +2 -1
  94. package/dist/data/util/retry_util.js.map +1 -1
  95. package/dist/data/util/use_smile_id_token_decoder.d.ts +22 -0
  96. package/dist/data/util/use_smile_id_token_decoder.d.ts.map +1 -1
  97. package/dist/data/util/use_smile_id_token_decoder.js +58 -24
  98. package/dist/data/util/use_smile_id_token_decoder.js.map +1 -1
  99. package/dist/l10n/strings_en.d.ts +2 -1
  100. package/dist/l10n/strings_en.d.ts.map +1 -1
  101. package/dist/l10n/strings_en.js +2 -1
  102. package/dist/l10n/strings_en.js.map +1 -1
  103. package/dist/l10n/use_smile_id_localizations.d.ts +1 -0
  104. package/dist/l10n/use_smile_id_localizations.d.ts.map +1 -1
  105. package/dist/l10n/use_smile_id_localizations.js +3 -0
  106. package/dist/l10n/use_smile_id_localizations.js.map +1 -1
  107. package/dist/metadata/builder_configuration.d.ts +39 -0
  108. package/dist/metadata/builder_configuration.d.ts.map +1 -0
  109. package/dist/metadata/builder_configuration.js +34 -0
  110. package/dist/metadata/builder_configuration.js.map +1 -0
  111. package/dist/metadata/captured_image_properties.d.ts +11 -0
  112. package/dist/metadata/captured_image_properties.d.ts.map +1 -0
  113. package/dist/metadata/captured_image_properties.js +11 -0
  114. package/dist/metadata/captured_image_properties.js.map +1 -0
  115. package/dist/metadata/device_orientation_collector.d.ts +17 -0
  116. package/dist/metadata/device_orientation_collector.d.ts.map +1 -0
  117. package/dist/metadata/device_orientation_collector.js +66 -0
  118. package/dist/metadata/device_orientation_collector.js.map +1 -0
  119. package/dist/metadata/geolocation.d.ts +20 -0
  120. package/dist/metadata/geolocation.d.ts.map +1 -0
  121. package/dist/metadata/geolocation.js +40 -0
  122. package/dist/metadata/geolocation.js.map +1 -0
  123. package/dist/metadata/metadata_configuration_mappers.d.ts +48 -0
  124. package/dist/metadata/metadata_configuration_mappers.d.ts.map +1 -0
  125. package/dist/metadata/metadata_configuration_mappers.js +171 -0
  126. package/dist/metadata/metadata_configuration_mappers.js.map +1 -0
  127. package/dist/metadata/model_configuration.d.ts +41 -0
  128. package/dist/metadata/model_configuration.d.ts.map +1 -0
  129. package/dist/metadata/model_configuration.js +44 -0
  130. package/dist/metadata/model_configuration.js.map +1 -0
  131. package/dist/metadata/optional_native_modules.d.ts +79 -3
  132. package/dist/metadata/optional_native_modules.d.ts.map +1 -1
  133. package/dist/metadata/optional_native_modules.js +108 -3
  134. package/dist/metadata/optional_native_modules.js.map +1 -1
  135. package/dist/metadata/use_smile_id_metadata.d.ts +45 -7
  136. package/dist/metadata/use_smile_id_metadata.d.ts.map +1 -1
  137. package/dist/metadata/use_smile_id_metadata.js +85 -13
  138. package/dist/metadata/use_smile_id_metadata.js.map +1 -1
  139. package/dist/metadata/use_smile_id_metadata_factory.d.ts +37 -0
  140. package/dist/metadata/use_smile_id_metadata_factory.d.ts.map +1 -1
  141. package/dist/metadata/use_smile_id_metadata_factory.js +184 -12
  142. package/dist/metadata/use_smile_id_metadata_factory.js.map +1 -1
  143. package/dist/presentation/assets/svg/document_shimmer_strings.d.ts +14 -0
  144. package/dist/presentation/assets/svg/document_shimmer_strings.d.ts.map +1 -0
  145. package/dist/presentation/assets/svg/document_shimmer_strings.js +14 -0
  146. package/dist/presentation/assets/svg/document_shimmer_strings.js.map +1 -0
  147. package/dist/presentation/assets/svg/instruction_svg_strings.d.ts +12 -4
  148. package/dist/presentation/assets/svg/instruction_svg_strings.d.ts.map +1 -1
  149. package/dist/presentation/assets/svg/instruction_svg_strings.js +19 -8
  150. package/dist/presentation/assets/svg/instruction_svg_strings.js.map +1 -1
  151. package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.d.ts +0 -5
  152. package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.d.ts.map +1 -1
  153. package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.js +0 -5
  154. package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.js.map +1 -1
  155. package/dist/presentation/components/icons/index.d.ts +24 -8
  156. package/dist/presentation/components/icons/index.d.ts.map +1 -1
  157. package/dist/presentation/components/icons/index.js +31 -11
  158. package/dist/presentation/components/icons/index.js.map +1 -1
  159. package/dist/presentation/components/use_smile_id_attribution.d.ts +1 -1
  160. package/dist/presentation/components/use_smile_id_button.d.ts +2 -2
  161. package/dist/presentation/components/use_smile_id_button.js +4 -4
  162. package/dist/presentation/components/use_smile_id_button.js.map +1 -1
  163. package/dist/presentation/components/use_smile_id_capture_content.d.ts +13 -0
  164. package/dist/presentation/components/use_smile_id_capture_content.d.ts.map +1 -1
  165. package/dist/presentation/components/use_smile_id_capture_content.js +15 -9
  166. package/dist/presentation/components/use_smile_id_capture_content.js.map +1 -1
  167. package/dist/presentation/components/use_smile_id_captured_document_image.d.ts +2 -3
  168. package/dist/presentation/components/use_smile_id_captured_document_image.d.ts.map +1 -1
  169. package/dist/presentation/components/use_smile_id_captured_document_image.js +1 -3
  170. package/dist/presentation/components/use_smile_id_captured_document_image.js.map +1 -1
  171. package/dist/presentation/components/use_smile_id_document_capture_controls.d.ts +12 -6
  172. package/dist/presentation/components/use_smile_id_document_capture_controls.d.ts.map +1 -1
  173. package/dist/presentation/components/use_smile_id_document_capture_controls.js +59 -16
  174. package/dist/presentation/components/use_smile_id_document_capture_controls.js.map +1 -1
  175. package/dist/presentation/components/use_smile_id_document_overlay.d.ts +22 -5
  176. package/dist/presentation/components/use_smile_id_document_overlay.d.ts.map +1 -1
  177. package/dist/presentation/components/use_smile_id_document_overlay.js +80 -40
  178. package/dist/presentation/components/use_smile_id_document_overlay.js.map +1 -1
  179. package/dist/presentation/components/use_smile_id_document_shimmer.d.ts +15 -0
  180. package/dist/presentation/components/use_smile_id_document_shimmer.d.ts.map +1 -0
  181. package/dist/presentation/components/use_smile_id_document_shimmer.js +23 -0
  182. package/dist/presentation/components/use_smile_id_document_shimmer.js.map +1 -0
  183. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.d.ts.map +1 -1
  184. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.js +1 -3
  185. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.js.map +1 -1
  186. package/dist/presentation/components/use_smile_id_guideline_thumbnail.d.ts.map +1 -1
  187. package/dist/presentation/components/use_smile_id_guideline_thumbnail.js +84 -1
  188. package/dist/presentation/components/use_smile_id_guideline_thumbnail.js.map +1 -1
  189. package/dist/presentation/components/use_smile_id_instructions_hero.d.ts +3 -1
  190. package/dist/presentation/components/use_smile_id_instructions_hero.d.ts.map +1 -1
  191. package/dist/presentation/components/use_smile_id_instructions_hero.js +18 -3
  192. package/dist/presentation/components/use_smile_id_instructions_hero.js.map +1 -1
  193. package/dist/presentation/components/use_smile_id_oval_border_palette.d.ts.map +1 -1
  194. package/dist/presentation/components/use_smile_id_oval_border_palette.js +7 -3
  195. package/dist/presentation/components/use_smile_id_oval_border_palette.js.map +1 -1
  196. package/dist/presentation/flow/dsl/builder/config_builder.d.ts +12 -0
  197. package/dist/presentation/flow/dsl/builder/config_builder.d.ts.map +1 -1
  198. package/dist/presentation/flow/dsl/builder/config_builder.js +12 -0
  199. package/dist/presentation/flow/dsl/builder/config_builder.js.map +1 -1
  200. package/dist/presentation/flow/dsl/builder/ml_builder.d.ts +13 -4
  201. package/dist/presentation/flow/dsl/builder/ml_builder.d.ts.map +1 -1
  202. package/dist/presentation/flow/dsl/builder/ml_builder.js +3 -2
  203. package/dist/presentation/flow/dsl/builder/ml_builder.js.map +1 -1
  204. package/dist/presentation/flow/dsl/builder/screens_builder.d.ts +111 -10
  205. package/dist/presentation/flow/dsl/builder/screens_builder.d.ts.map +1 -1
  206. package/dist/presentation/flow/dsl/builder/screens_builder.js +111 -10
  207. package/dist/presentation/flow/dsl/builder/screens_builder.js.map +1 -1
  208. package/dist/presentation/flow/dsl/builder/theme_builder.d.ts +15 -2
  209. package/dist/presentation/flow/dsl/builder/theme_builder.d.ts.map +1 -1
  210. package/dist/presentation/flow/dsl/builder/theme_builder.js +15 -2
  211. package/dist/presentation/flow/dsl/builder/theme_builder.js.map +1 -1
  212. package/dist/presentation/flow/dsl/use_smile_id_builder.d.ts +6 -4
  213. package/dist/presentation/flow/dsl/use_smile_id_builder.d.ts.map +1 -1
  214. package/dist/presentation/flow/dsl/use_smile_id_builder.js.map +1 -1
  215. package/dist/presentation/flow/dsl/use_smile_id_flow_builder.d.ts +62 -36
  216. package/dist/presentation/flow/dsl/use_smile_id_flow_builder.d.ts.map +1 -1
  217. package/dist/presentation/flow/dsl/use_smile_id_flow_builder.js +62 -36
  218. package/dist/presentation/flow/dsl/use_smile_id_flow_builder.js.map +1 -1
  219. package/dist/presentation/flow/flow_navigation_manager.d.ts +39 -4
  220. package/dist/presentation/flow/flow_navigation_manager.d.ts.map +1 -1
  221. package/dist/presentation/flow/flow_navigation_manager.js +141 -10
  222. package/dist/presentation/flow/flow_navigation_manager.js.map +1 -1
  223. package/dist/presentation/flow/model/instruction_guideline.d.ts +9 -0
  224. package/dist/presentation/flow/model/instruction_guideline.d.ts.map +1 -1
  225. package/dist/presentation/flow/model/instructions_defaults.d.ts +11 -2
  226. package/dist/presentation/flow/model/instructions_defaults.d.ts.map +1 -1
  227. package/dist/presentation/flow/model/instructions_defaults.js +73 -25
  228. package/dist/presentation/flow/model/instructions_defaults.js.map +1 -1
  229. package/dist/presentation/flow/screen/orchestrated_capture_screen.d.ts.map +1 -1
  230. package/dist/presentation/flow/screen/orchestrated_capture_screen.js +36 -12
  231. package/dist/presentation/flow/screen/orchestrated_capture_screen.js.map +1 -1
  232. package/dist/presentation/flow/screen/orchestrated_instructions_screen.js +1 -1
  233. package/dist/presentation/flow/screen/orchestrated_instructions_screen.js.map +1 -1
  234. package/dist/presentation/flow/screen/orchestrated_preview_screen.d.ts.map +1 -1
  235. package/dist/presentation/flow/screen/orchestrated_preview_screen.js +3 -1
  236. package/dist/presentation/flow/screen/orchestrated_preview_screen.js.map +1 -1
  237. package/dist/presentation/flow/screen/orchestrated_processing_screen.js +3 -3
  238. package/dist/presentation/flow/screen/orchestrated_processing_screen.js.map +1 -1
  239. package/dist/presentation/flow/validation/job_type_validator.d.ts.map +1 -1
  240. package/dist/presentation/flow/validation/job_type_validator.js +14 -0
  241. package/dist/presentation/flow/validation/job_type_validator.js.map +1 -1
  242. package/dist/presentation/screen/helpers/capture_screen_helpers.d.ts.map +1 -1
  243. package/dist/presentation/screen/helpers/capture_screen_helpers.js +1 -0
  244. package/dist/presentation/screen/helpers/capture_screen_helpers.js.map +1 -1
  245. package/dist/presentation/screen/helpers/instructions_screen_helpers.d.ts +1 -0
  246. package/dist/presentation/screen/helpers/instructions_screen_helpers.d.ts.map +1 -1
  247. package/dist/presentation/screen/helpers/instructions_screen_helpers.js +6 -2
  248. package/dist/presentation/screen/helpers/instructions_screen_helpers.js.map +1 -1
  249. package/dist/presentation/screen/helpers/scan_state_to_overlay_state.js +3 -0
  250. package/dist/presentation/screen/helpers/scan_state_to_overlay_state.js.map +1 -1
  251. package/dist/presentation/screen/use_smile_id_capture_screen.d.ts +17 -1
  252. package/dist/presentation/screen/use_smile_id_capture_screen.d.ts.map +1 -1
  253. package/dist/presentation/screen/use_smile_id_capture_screen.js +153 -18
  254. package/dist/presentation/screen/use_smile_id_capture_screen.js.map +1 -1
  255. package/dist/presentation/screen/use_smile_id_document_preview_screen.d.ts +2 -3
  256. package/dist/presentation/screen/use_smile_id_document_preview_screen.d.ts.map +1 -1
  257. package/dist/presentation/screen/use_smile_id_document_preview_screen.js +16 -11
  258. package/dist/presentation/screen/use_smile_id_document_preview_screen.js.map +1 -1
  259. package/dist/presentation/screen/use_smile_id_instructions_screen.d.ts +2 -0
  260. package/dist/presentation/screen/use_smile_id_instructions_screen.d.ts.map +1 -1
  261. package/dist/presentation/screen/use_smile_id_instructions_screen.js +2 -1
  262. package/dist/presentation/screen/use_smile_id_instructions_screen.js.map +1 -1
  263. package/dist/presentation/screen/use_smile_id_preview_screen.d.ts +7 -6
  264. package/dist/presentation/screen/use_smile_id_preview_screen.d.ts.map +1 -1
  265. package/dist/presentation/screen/use_smile_id_preview_screen.js +9 -8
  266. package/dist/presentation/screen/use_smile_id_preview_screen.js.map +1 -1
  267. package/dist/presentation/screen/use_smile_id_processing_screen.d.ts +2 -3
  268. package/dist/presentation/screen/use_smile_id_processing_screen.d.ts.map +1 -1
  269. package/dist/presentation/screen/use_smile_id_processing_screen.js +3 -2
  270. package/dist/presentation/screen/use_smile_id_processing_screen.js.map +1 -1
  271. package/dist/presentation/theme/theme.d.ts +1 -1
  272. package/dist/presentation/theme/theme.d.ts.map +1 -1
  273. package/dist/presentation/theme/theme.js +20 -18
  274. package/dist/presentation/theme/theme.js.map +1 -1
  275. package/dist/presentation/utils/force_max_brightness.d.ts +4 -4
  276. package/package.json +26 -6
  277. package/src/__tests__/react_native_mock.tsx +8 -0
  278. package/src/camera/camera_defaults.ts +11 -9
  279. package/src/camera/orientation_degrees.ts +5 -6
  280. package/src/core/models/__tests__/document_type.test.ts +6 -4
  281. package/src/core/models/document_capture_mode.ts +27 -0
  282. package/src/core/models/document_type.ts +6 -4
  283. package/src/core/models/result.ts +9 -8
  284. package/src/data/api/interceptors/__tests__/smile_integrity_interceptor.test.ts +37 -1
  285. package/src/data/api/interceptors/__tests__/smile_request_mac_interceptor.test.ts +59 -1
  286. package/src/data/api/interceptors/smile_auth_interceptor.ts +1 -1
  287. package/src/data/api/interceptors/smile_integrity_interceptor.ts +20 -0
  288. package/src/data/api/interceptors/smile_request_mac_interceptor.ts +13 -0
  289. package/src/data/compression/__tests__/payload_compressor.test.ts +200 -0
  290. package/src/data/compression/__tests__/payload_compressor_real_jpeg.test.ts +222 -0
  291. package/src/data/compression/compressible_asset.ts +62 -0
  292. package/src/data/compression/payload_compression_config.ts +53 -0
  293. package/src/data/compression/payload_compression_runner.ts +102 -0
  294. package/src/data/compression/payload_compressor.ts +164 -0
  295. package/src/data/compression/uri_compressible_asset.ts +85 -0
  296. package/src/data/dsl/builder/cache_config_builder.ts +3 -1
  297. package/src/data/dsl/builder/config_builder.ts +45 -14
  298. package/src/data/dsl/builder/interceptor_config_builder.ts +9 -7
  299. package/src/data/dsl/builder/retry_config_builder.ts +22 -1
  300. package/src/data/dsl/builder/timeout_config_builder.ts +7 -0
  301. package/src/data/dsl/use_smile_id_network_builder.ts +17 -0
  302. package/src/data/factory/networking_factory.ts +14 -1
  303. package/src/data/repository/__tests__/network_retries.test.ts +117 -0
  304. package/src/data/repository/use_smile_id_repository_impl.ts +96 -9
  305. package/src/data/security/__tests__/security_policy.test.ts +96 -0
  306. package/src/data/security/__tests__/smile_id_crypto_manager.test.ts +18 -0
  307. package/src/data/security/request_canonicalizer.ts +15 -2
  308. package/src/data/security/security_policy.ts +70 -0
  309. package/src/data/util/__tests__/use_smile_id_token_decoder.test.ts +57 -1
  310. package/src/data/util/retry_util.ts +3 -2
  311. package/src/data/util/use_smile_id_token_decoder.ts +76 -28
  312. package/src/l10n/strings_en.ts +2 -1
  313. package/src/l10n/use_smile_id_localizations.ts +3 -0
  314. package/src/metadata/__tests__/device_orientation_collector.test.ts +15 -0
  315. package/src/metadata/__tests__/metadata_configuration_mappers.test.ts +215 -0
  316. package/src/metadata/__tests__/metadata_configuration_objects.test.ts +85 -0
  317. package/src/metadata/__tests__/metadata_device_context.test.ts +147 -0
  318. package/src/metadata/__tests__/metadata_golden_fixture.json +13 -0
  319. package/src/metadata/__tests__/metadata_payload_golden.test.ts +193 -0
  320. package/src/metadata/__tests__/use_smile_id_metadata.test.ts +18 -24
  321. package/src/metadata/builder_configuration.ts +63 -0
  322. package/src/metadata/captured_image_properties.ts +10 -0
  323. package/src/metadata/device_orientation_collector.ts +75 -0
  324. package/src/metadata/geolocation.ts +46 -0
  325. package/src/metadata/metadata_configuration_mappers.ts +234 -0
  326. package/src/metadata/model_configuration.ts +68 -0
  327. package/src/metadata/optional_native_modules.ts +157 -3
  328. package/src/metadata/use_smile_id_metadata.ts +140 -17
  329. package/src/metadata/use_smile_id_metadata_factory.ts +195 -11
  330. package/src/presentation/assets/si_ess_animation_all_directions.json +1300 -286
  331. package/src/presentation/assets/svg/document_shimmer_strings.ts +17 -0
  332. package/src/presentation/assets/svg/instruction_svg_strings.ts +34 -12
  333. package/src/presentation/components/__tests__/enhanced_smart_selfie_animation_frames.test.ts +1 -3
  334. package/src/presentation/components/__tests__/use_smile_id_enhanced_smart_selfie_clip.test.tsx +3 -4
  335. package/src/presentation/components/__tests__/use_smile_id_guideline_thumbnail.test.tsx +34 -1
  336. package/src/presentation/components/__tests__/use_smile_id_instructions_hero.test.tsx +27 -0
  337. package/src/presentation/components/__tests__/use_smile_id_oval_border_palette.test.ts +7 -5
  338. package/src/presentation/components/helpers/enhanced_smart_selfie_animation_frames.ts +0 -6
  339. package/src/presentation/components/icons/index.tsx +65 -18
  340. package/src/presentation/components/use_smile_id_attribution.tsx +1 -1
  341. package/src/presentation/components/use_smile_id_button.tsx +4 -4
  342. package/src/presentation/components/use_smile_id_capture_content.tsx +36 -12
  343. package/src/presentation/components/use_smile_id_captured_document_image.tsx +3 -8
  344. package/src/presentation/components/use_smile_id_document_capture_controls.tsx +103 -39
  345. package/src/presentation/components/use_smile_id_document_overlay.tsx +134 -44
  346. package/src/presentation/components/use_smile_id_document_shimmer.tsx +51 -0
  347. package/src/presentation/components/use_smile_id_enhanced_smart_selfie_clip.tsx +0 -3
  348. package/src/presentation/components/use_smile_id_guideline_thumbnail.tsx +131 -2
  349. package/src/presentation/components/use_smile_id_instructions_hero.tsx +100 -59
  350. package/src/presentation/components/use_smile_id_oval_border_palette.ts +7 -3
  351. package/src/presentation/flow/__tests__/document_flow_navigation.test.ts +200 -1
  352. package/src/presentation/flow/dsl/builder/config_builder.ts +14 -0
  353. package/src/presentation/flow/dsl/builder/ml_builder.ts +13 -4
  354. package/src/presentation/flow/dsl/builder/screens_builder.ts +111 -10
  355. package/src/presentation/flow/dsl/builder/theme_builder.ts +19 -2
  356. package/src/presentation/flow/dsl/use_smile_id_builder.tsx +6 -4
  357. package/src/presentation/flow/dsl/use_smile_id_flow_builder.ts +62 -36
  358. package/src/presentation/flow/flow_navigation_manager.ts +179 -13
  359. package/src/presentation/flow/model/instruction_guideline.ts +6 -0
  360. package/src/presentation/flow/model/instructions_defaults.ts +103 -25
  361. package/src/presentation/flow/screen/orchestrated_capture_screen.tsx +43 -10
  362. package/src/presentation/flow/screen/orchestrated_instructions_screen.tsx +1 -0
  363. package/src/presentation/flow/screen/orchestrated_preview_screen.tsx +4 -2
  364. package/src/presentation/flow/screen/orchestrated_processing_screen.tsx +3 -3
  365. package/src/presentation/flow/validation/__tests__/job_type_validator.test.ts +64 -0
  366. package/src/presentation/flow/validation/job_type_validator.ts +24 -0
  367. package/src/presentation/screen/__tests__/instructions_screen_helpers.test.ts +15 -3
  368. package/src/presentation/screen/__tests__/use_smile_id_capture_screen.test.tsx +6 -4
  369. package/src/presentation/screen/helpers/capture_screen_helpers.ts +1 -0
  370. package/src/presentation/screen/helpers/instructions_screen_helpers.ts +7 -2
  371. package/src/presentation/screen/helpers/scan_state_to_overlay_state.ts +3 -0
  372. package/src/presentation/screen/use_smile_id_capture_screen.tsx +234 -36
  373. package/src/presentation/screen/use_smile_id_document_preview_screen.tsx +32 -22
  374. package/src/presentation/screen/use_smile_id_instructions_screen.tsx +4 -0
  375. package/src/presentation/screen/use_smile_id_preview_screen.tsx +9 -9
  376. package/src/presentation/screen/use_smile_id_processing_screen.tsx +7 -7
  377. package/src/presentation/theme/theme.ts +21 -19
  378. package/src/presentation/utils/force_max_brightness.tsx +4 -4
  379. package/dist/camera/frame_processor_plugin.d.ts +0 -28
  380. package/dist/camera/frame_processor_plugin.d.ts.map +0 -1
  381. package/dist/camera/frame_processor_plugin.js +0 -21
  382. package/dist/camera/frame_processor_plugin.js.map +0 -1
  383. package/dist/camera/use_smile_id_frame_processor.d.ts +0 -38
  384. package/dist/camera/use_smile_id_frame_processor.d.ts.map +0 -1
  385. package/dist/camera/use_smile_id_frame_processor.js +0 -2
  386. package/dist/camera/use_smile_id_frame_processor.js.map +0 -1
  387. package/dist/presentation/components/use_smile_id_document_frame_glyph.d.ts +0 -17
  388. package/dist/presentation/components/use_smile_id_document_frame_glyph.d.ts.map +0 -1
  389. package/dist/presentation/components/use_smile_id_document_frame_glyph.js +0 -17
  390. package/dist/presentation/components/use_smile_id_document_frame_glyph.js.map +0 -1
  391. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_animation.d.ts +0 -24
  392. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_animation.d.ts.map +0 -1
  393. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_animation.js +0 -91
  394. package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_animation.js.map +0 -1
  395. package/dist/presentation/components/use_smile_id_instruction_card.d.ts +0 -31
  396. package/dist/presentation/components/use_smile_id_instruction_card.d.ts.map +0 -1
  397. package/dist/presentation/components/use_smile_id_instruction_card.js +0 -43
  398. package/dist/presentation/components/use_smile_id_instruction_card.js.map +0 -1
  399. package/dist/presentation/screen/helpers/use_document_orientation_lock.d.ts +0 -24
  400. package/dist/presentation/screen/helpers/use_document_orientation_lock.d.ts.map +0 -1
  401. package/dist/presentation/screen/helpers/use_document_orientation_lock.js +0 -47
  402. package/dist/presentation/screen/helpers/use_document_orientation_lock.js.map +0 -1
  403. package/src/presentation/components/use_smile_id_document_frame_glyph.tsx +0 -162
@@ -1,7 +1,8 @@
1
1
  /**
2
- * Lazy bridges to optional `expo-device` / `expo-network` peer deps.
3
- * Both are declared `optional: true` in `peerDependenciesMeta` so
4
- * partners who don't need richer metadata don't pay the install cost.
2
+ * Lazy bridges to optional `expo-device` / `expo-network` / `expo-battery` /
3
+ * `expo-cellular` peer deps. All are declared `optional: true` in
4
+ * `peerDependenciesMeta` so partners who don't need richer metadata don't pay
5
+ * the install cost.
5
6
  *
6
7
  * **Pattern:** dynamic `require()` wrapped in `try/catch`. Metro
7
8
  * tolerates the missing-module case without failing the build —
@@ -15,6 +16,11 @@
15
16
  */
16
17
  let _device;
17
18
  let _network;
19
+ let _battery;
20
+ let _cellular;
21
+ let _asyncStorage;
22
+ let _sensors;
23
+ let _location;
18
24
  /**
19
25
  * Load `expo-device`'s native module once, cached for the process
20
26
  * lifetime. Returns `null` if the native module isn't linked into
@@ -93,9 +99,108 @@ export function loadExpoNetwork() {
93
99
  }
94
100
  return _network;
95
101
  }
102
+ /**
103
+ * Load `expo-battery`'s native module once, cached for the process lifetime.
104
+ * Returns `null` when the native module isn't linked (graceful degradation).
105
+ * Mirrors [loadExpoDevice] — pulls the raw `ExpoBattery` native module via
106
+ * `expo-modules-core`'s non-throwing `requireOptionalNativeModule`.
107
+ */
108
+ export function loadExpoBattery() {
109
+ if (_battery !== undefined)
110
+ return _battery;
111
+ try {
112
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
113
+ const core = require("expo-modules-core");
114
+ _battery =
115
+ core.requireOptionalNativeModule?.("ExpoBattery") ?? null;
116
+ }
117
+ catch {
118
+ _battery = null;
119
+ }
120
+ return _battery;
121
+ }
122
+ /**
123
+ * Load `expo-cellular`'s native module once, cached for the process lifetime.
124
+ * Returns `null` when the native module isn't linked (graceful degradation).
125
+ * The raw `ExpoCellular` module exposes the `carrier` name constant directly.
126
+ */
127
+ export function loadExpoCellular() {
128
+ if (_cellular !== undefined)
129
+ return _cellular;
130
+ try {
131
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
132
+ const core = require("expo-modules-core");
133
+ _cellular =
134
+ core.requireOptionalNativeModule?.("ExpoCellular") ??
135
+ null;
136
+ }
137
+ catch {
138
+ _cellular = null;
139
+ }
140
+ return _cellular;
141
+ }
142
+ /**
143
+ * Load `@react-native-async-storage/async-storage` once, cached for the process
144
+ * lifetime. Returns `null` when the package isn't installed (graceful
145
+ * degradation). Unlike the expo modules, async-storage's JS entry does not throw
146
+ * at import when the native side is missing, so a plain `require` (wrapped in
147
+ * try/catch for the not-installed case) is sufficient; per-call native errors
148
+ * are handled by the caller. Backed by Android `SharedPreferences` /
149
+ * iOS `NSUserDefaults`.
150
+ */
151
+ export function loadAsyncStorage() {
152
+ if (_asyncStorage !== undefined)
153
+ return _asyncStorage;
154
+ try {
155
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
156
+ const module = require("@react-native-async-storage/async-storage");
157
+ _asyncStorage = module.default ?? module;
158
+ }
159
+ catch {
160
+ _asyncStorage = null;
161
+ }
162
+ return _asyncStorage;
163
+ }
164
+ /**
165
+ * Load `expo-sensors` for accelerometer sampling. Returns `null` when the peer
166
+ * dep isn't installed/linked (graceful degradation — device_positions omitted).
167
+ */
168
+ export function loadExpoSensors() {
169
+ if (_sensors !== undefined)
170
+ return _sensors;
171
+ try {
172
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
173
+ _sensors = require("expo-sensors");
174
+ }
175
+ catch {
176
+ _sensors = null;
177
+ }
178
+ return _sensors;
179
+ }
180
+ /**
181
+ * Load `expo-location` for the geolocation metadata. Returns `null` when the
182
+ * peer dep isn't installed/linked (graceful degradation — geolocation omitted).
183
+ */
184
+ export function loadExpoLocation() {
185
+ if (_location !== undefined)
186
+ return _location;
187
+ try {
188
+ // eslint-disable-next-line @typescript-eslint/no-require-imports
189
+ _location = require("expo-location");
190
+ }
191
+ catch {
192
+ _location = null;
193
+ }
194
+ return _location;
195
+ }
96
196
  /** Test-only seam — clears the module cache so tests can re-evaluate. */
97
197
  export function _resetOptionalModulesForTesting() {
98
198
  _device = undefined;
99
199
  _network = undefined;
200
+ _battery = undefined;
201
+ _cellular = undefined;
202
+ _asyncStorage = undefined;
203
+ _sensors = undefined;
204
+ _location = undefined;
100
205
  }
101
206
  //# sourceMappingURL=optional_native_modules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"optional_native_modules.js","sourceRoot":"","sources":["../../src/metadata/optional_native_modules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAkBH,IAAI,OAAwC,CAAC;AAC7C,IAAI,QAA0C,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,cAAc;IAC5B,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,OAAO,CAAC;IAC1C,IAAI,CAAC;QACH,iEAAiE;QACjE,MAAM,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAEvC,CAAC;QACF,OAAO;YACL,IAAI,CAAC,2BAA2B,EAAE,CAAe,YAAY,CAAC,IAAI,IAAI,CAAC;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,eAAe;IAC7B,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAC;IAC5C,IAAI,CAAC;QACH,iEAAiE;QACjE,MAAM,IAAI,GAAG,OAAO,CAAC,mBAAmB,CAEvC,CAAC;QACF,QAAQ;YACN,IAAI,CAAC,2BAA2B,EAAE,CAAgB,aAAa,CAAC,IAAI,IAAI,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,+BAA+B;IAC7C,OAAO,GAAG,SAAS,CAAC;IACpB,QAAQ,GAAG,SAAS,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"optional_native_modules.js","sourceRoot":"","sources":["../../src/metadata/optional_native_modules.ts"],"names":[],"mappings":"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"}
@@ -5,10 +5,12 @@
5
5
  * server and partner dashboards parse it positionally; `toEntries()` produces it.
6
6
  *
7
7
  * Omission rules: always-present (`sdk_version`, `sdk`, `device_os`,
8
- * `device_model`, `app_name`, `session_id`, `proxy`, `proximity_sensor`,
9
- * `security_policy_version`); conditional strings dropped when empty; conditional
10
- * integers dropped when zero; booleans always included, stringified.
8
+ * `device_model`, `app_name`, `session_id`, `security_policy_version`);
9
+ * conditional strings dropped when empty; conditional integers dropped when
10
+ * zero; `proxy` / `proximity_sensor` emitted only when actually measured
11
+ * (undefined = unknown, dropped) — a measured `false` is kept.
11
12
  */
13
+ import type { Geolocation } from "./geolocation";
12
14
  export type MetadataEntry = {
13
15
  readonly name: string;
14
16
  readonly value: string;
@@ -23,7 +25,8 @@ export type UseSmileIDMetadataFields = {
23
25
  readonly clientIp: string;
24
26
  readonly networkConnection: string;
25
27
  readonly carrierInfo: string;
26
- readonly proxy: boolean;
28
+ /** Proxy detection result → `proxy`. Undefined when never measured (omitted); a measured `false` is emitted. */
29
+ readonly proxy?: boolean;
27
30
  readonly timezone: string;
28
31
  readonly locale: string;
29
32
  readonly screenResolution: string;
@@ -32,7 +35,8 @@ export type UseSmileIDMetadataFields = {
32
35
  readonly systemArchitecture: string;
33
36
  readonly numberOfCameras: number;
34
37
  readonly hostApplication: string;
35
- readonly proximitySensor: boolean;
38
+ /** Proximity-sensor availability → `proximity_sensor`. Undefined when never measured (omitted); a measured `false` is emitted. */
39
+ readonly proximitySensor?: boolean;
36
40
  readonly securityPolicyVersion: string;
37
41
  /** Android Keystore security level (`KeyInfo.getSecurityLevel()`, `-2`…`2`) → `supports_hardware_attestation`. Undefined on iOS and before warm-up resolves. */
38
42
  readonly hardwareAttestationSecurityLevel?: number;
@@ -42,10 +46,44 @@ export type UseSmileIDMetadataFields = {
42
46
  readonly supportsAppAttest?: boolean;
43
47
  /** Capture-param provenance → `sdk_config_source`: `"sdk_config"` when a valid JWT claim was decoded, else `"default"`. */
44
48
  readonly sdkConfigSource: string;
45
- /** Resolved selfie width (px) → `image_width`: `sdk_config.selfie.width` override (when width+height > 0) or SDK default (480). Omitted when zero. */
49
+ /** Resolved selfie capture target dimensions → `selfie_image_dimensions` `"WxH"`: `sdk_config.selfie` override or SDK default (480x640). Dropped when a side is 0. */
46
50
  readonly imageWidth: number;
47
- /** Resolved selfie height (px) → `image_height`: `sdk_config.selfie.height` override (when width+height > 0) or SDK default (640). Omitted when zero. */
48
51
  readonly imageHeight: number;
52
+ /** Resolved liveness capture target dimensions → `liveness_image_dimensions` `"WxH"`. Dropped when a side is 0. */
53
+ readonly livenessImageWidth: number;
54
+ readonly livenessImageHeight: number;
55
+ /** Device UTC offset in minutes (may be negative or 0) → `timezone_offset`. Undefined omits. */
56
+ readonly timezoneOffsetMinutes?: number;
57
+ /** `android.os.Build.*` device-context strings; empty on iOS except `buildDevice` (iOS hardware id). Omitted when empty. */
58
+ readonly buildBrand?: string;
59
+ readonly buildDevice?: string;
60
+ readonly buildFingerprint?: string;
61
+ readonly buildProduct?: string;
62
+ /** `Build.HARDWARE` (Android) → `build_hardware`; empty on iOS. Omitted when empty. */
63
+ readonly buildHardware?: string;
64
+ /** Install source / store (Android `PackageManager` install source) → `build_source`. Omitted when empty. */
65
+ readonly buildSource?: string;
66
+ /** Host app package id (Android) / bundle id (iOS), computed natively → `package_name`. Omitted when empty. */
67
+ readonly packageName?: string;
68
+ /** Stable per-device fingerprint (Android `ANDROID_ID` / iOS `identifierForVendor`) → `fingerprint`. Omitted when empty. */
69
+ readonly fingerprint?: string;
70
+ /** Whether an active VPN is present → `vpn`. Omitted when undefined. */
71
+ readonly vpn?: boolean;
72
+ /** App-signing certificate SHA-256 digests (Android only) → `certificate_digest` (JSON-array string). Omitted when empty. */
73
+ readonly certificateDigest?: readonly string[];
74
+ /** ISO-8601 local timestamp captured at request build time → `local_time_of_enrolment`. */
75
+ readonly localTimeOfEnrolment?: string;
76
+ /** Charging plug status → `battery_status` (`-1` unknown, `0` on-battery, `1` plugged in). Omitted when undefined. */
77
+ readonly batteryStatus?: number;
78
+ /** Wrapper SDK identity → `wrapper_name` / `wrapper_version` (`react_native_expo` + SDK version). Omitted when empty. */
79
+ readonly wrapperName?: string;
80
+ readonly wrapperVersion?: string;
81
+ /** Persisted SDK launch count → `sdk_launch_count`. Omitted when undefined or zero. */
82
+ readonly sdkLaunchCount?: number;
83
+ /** Last-known location → `geolocation` (JSON-object string). Omitted when undefined. */
84
+ readonly geolocation?: Geolocation;
85
+ /** Obfuscated device security-state signal (computed natively) → `privileges`. Omitted when undefined/blank. */
86
+ readonly privileges?: string;
49
87
  };
50
88
  export declare class UseSmileIDMetadata {
51
89
  private readonly _fields;
@@ -1 +1 @@
1
- {"version":3,"file":"use_smile_id_metadata.d.ts","sourceRoot":"","sources":["../../src/metadata/use_smile_id_metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,gKAAgK;IAChK,QAAQ,CAAC,gCAAgC,CAAC,EAAE,MAAM,CAAC;IACnD,yIAAyI;IACzI,QAAQ,CAAC,2BAA2B,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACzD,0GAA0G;IAC1G,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IACrC,2HAA2H;IAC3H,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,sJAAsJ;IACtJ,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,yJAAyJ;IACzJ,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B,CAAC;AAEF,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA2B;gBAGvD,MAAM,EAAE,wBAAwB,EAChC,YAAY,GAAE,SAAS,aAAa,EAAO;IAM7C,0EAA0E;IAC1E,QAAQ,IAAI,wBAAwB;IAIpC;;;;OAIG;IACH,qBAAqB,CAAC,KAAK,EAAE,SAAS,aAAa,EAAE,GAAG,kBAAkB;IAO1E;;;;OAIG;IACH,SAAS,IAAI,SAAS,aAAa,EAAE;CA2EtC"}
1
+ {"version":3,"file":"use_smile_id_metadata.d.ts","sourceRoot":"","sources":["../../src/metadata/use_smile_id_metadata.ts"],"names":[],"mappings":"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"}
@@ -5,9 +5,10 @@
5
5
  * server and partner dashboards parse it positionally; `toEntries()` produces it.
6
6
  *
7
7
  * Omission rules: always-present (`sdk_version`, `sdk`, `device_os`,
8
- * `device_model`, `app_name`, `session_id`, `proxy`, `proximity_sensor`,
9
- * `security_policy_version`); conditional strings dropped when empty; conditional
10
- * integers dropped when zero; booleans always included, stringified.
8
+ * `device_model`, `app_name`, `session_id`, `security_policy_version`);
9
+ * conditional strings dropped when empty; conditional integers dropped when
10
+ * zero; `proxy` / `proximity_sensor` emitted only when actually measured
11
+ * (undefined = unknown, dropped) — a measured `false` is kept.
11
12
  */
12
13
  export class UseSmileIDMetadata {
13
14
  _fields;
@@ -39,7 +40,7 @@ export class UseSmileIDMetadata {
39
40
  toEntries() {
40
41
  const fields = this._fields;
41
42
  const entries = [];
42
- // Always-present: SDK constants, booleans, sessionId (UUID), and
43
+ // Always-present: SDK constants, sessionId (UUID), and
43
44
  // device_os/device_model/app_name (emitted even when empty). The rest
44
45
  // below use the drop-when-empty rule.
45
46
  entries.push({ name: "sdk_version", value: fields.sdkVersion });
@@ -48,12 +49,16 @@ export class UseSmileIDMetadata {
48
49
  entries.push({ name: "device_model", value: fields.deviceModel });
49
50
  entries.push({ name: "app_name", value: fields.appName });
50
51
  entries.push({ name: "session_id", value: fields.sessionId });
51
- // Always-present booleans (stringified, never empty by construction)
52
- entries.push({ name: "proxy", value: String(fields.proxy) });
53
- entries.push({
54
- name: "proximity_sensor",
55
- value: String(fields.proximitySensor),
56
- });
52
+ // Measured booleans — omitted when never measured; a measured false is kept.
53
+ if (fields.proxy !== undefined) {
54
+ entries.push({ name: "proxy", value: String(fields.proxy) });
55
+ }
56
+ if (fields.proximitySensor !== undefined) {
57
+ entries.push({
58
+ name: "proximity_sensor",
59
+ value: String(fields.proximitySensor),
60
+ });
61
+ }
57
62
  // Conditional strings — omitted when empty
58
63
  pushIfNonEmpty(entries, "client_ip", fields.clientIp);
59
64
  pushIfNonEmpty(entries, "network_connection", fields.networkConnection);
@@ -95,9 +100,76 @@ export class UseSmileIDMetadata {
95
100
  }
96
101
  // sdk_config provenance — always-present string, never empty.
97
102
  entries.push({ name: "sdk_config_source", value: fields.sdkConfigSource });
98
- // Resolved selfie dimensions — omitted when zero.
99
- pushIfNonZero(entries, "image_width", fields.imageWidth);
100
- pushIfNonZero(entries, "image_height", fields.imageHeight);
103
+ // Resolved selfie / liveness capture target dimensions as "WxH"; each dropped when a side is 0.
104
+ if (fields.imageWidth > 0 && fields.imageHeight > 0) {
105
+ entries.push({
106
+ name: "selfie_image_dimensions",
107
+ value: `${fields.imageWidth}x${fields.imageHeight}`,
108
+ });
109
+ }
110
+ if (fields.livenessImageWidth > 0 && fields.livenessImageHeight > 0) {
111
+ entries.push({
112
+ name: "liveness_image_dimensions",
113
+ value: `${fields.livenessImageWidth}x${fields.livenessImageHeight}`,
114
+ });
115
+ }
116
+ // UTC offset in minutes (may be negative or 0); emitted whenever resolved.
117
+ if (fields.timezoneOffsetMinutes !== undefined) {
118
+ entries.push({
119
+ name: "timezone_offset",
120
+ value: String(fields.timezoneOffsetMinutes),
121
+ });
122
+ }
123
+ // Build / device-context strings — omitted when empty.
124
+ pushIfNonEmpty(entries, "build_brand", fields.buildBrand ?? "");
125
+ pushIfNonEmpty(entries, "build_device", fields.buildDevice ?? "");
126
+ pushIfNonEmpty(entries, "build_fingerprint", fields.buildFingerprint ?? "");
127
+ pushIfNonEmpty(entries, "build_product", fields.buildProduct ?? "");
128
+ pushIfNonEmpty(entries, "build_hardware", fields.buildHardware ?? "");
129
+ pushIfNonEmpty(entries, "build_source", fields.buildSource ?? "");
130
+ pushIfNonEmpty(entries, "package_name", fields.packageName ?? "");
131
+ pushIfNonEmpty(entries, "fingerprint", fields.fingerprint ?? "");
132
+ pushIfNonEmpty(entries, "local_time_of_enrolment", fields.localTimeOfEnrolment ?? "");
133
+ // Charging status — omitted until resolved. `0` (on battery) is meaningful.
134
+ if (fields.batteryStatus !== undefined) {
135
+ entries.push({
136
+ name: "battery_status",
137
+ value: String(fields.batteryStatus),
138
+ });
139
+ }
140
+ // VPN presence — omitted until resolved; `false` is meaningful.
141
+ if (fields.vpn !== undefined) {
142
+ entries.push({ name: "vpn", value: String(fields.vpn) });
143
+ }
144
+ // App-signing certificate digests (Android) — JSON-array string, omitted when empty.
145
+ if (fields.certificateDigest !== undefined &&
146
+ fields.certificateDigest.length > 0) {
147
+ entries.push({
148
+ name: "certificate_digest",
149
+ value: JSON.stringify(fields.certificateDigest),
150
+ });
151
+ }
152
+ // Wrapper SDK identity — omitted when empty.
153
+ pushIfNonEmpty(entries, "wrapper_name", fields.wrapperName ?? "");
154
+ pushIfNonEmpty(entries, "wrapper_version", fields.wrapperVersion ?? "");
155
+ // Persisted launch count — omitted until resolved or when zero.
156
+ if (fields.sdkLaunchCount !== undefined && fields.sdkLaunchCount > 0) {
157
+ entries.push({
158
+ name: "sdk_launch_count",
159
+ value: String(fields.sdkLaunchCount),
160
+ });
161
+ }
162
+ // Last-known location — JSON-object string, omitted when unresolved.
163
+ if (fields.geolocation !== undefined) {
164
+ entries.push({
165
+ name: "geolocation",
166
+ value: JSON.stringify(fields.geolocation),
167
+ });
168
+ }
169
+ // Obfuscated device privileges signal — emitted verbatim, omitted when blank.
170
+ if (fields.privileges !== undefined && fields.privileges.length > 0) {
171
+ entries.push({ name: "privileges", value: fields.privileges });
172
+ }
101
173
  // Flow-state entries appended after the device-metadata fields.
102
174
  entries.push(...this._extraEntries);
103
175
  return Object.freeze(entries);
@@ -1 +1 @@
1
- {"version":3,"file":"use_smile_id_metadata.js","sourceRoot":"","sources":["../../src/metadata/use_smile_id_metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use_smile_id_metadata.js","sourceRoot":"","sources":["../../src/metadata/use_smile_id_metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAgFH,MAAM,OAAO,kBAAkB;IACZ,OAAO,CAA2B;IAClC,aAAa,CAA2B;IAEzD,YACE,MAAgC,EAChC,eAAyC,EAAE;QAE3C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAED,0EAA0E;IAC1E,QAAQ;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,qBAAqB,CAAC,KAA+B;QACnD,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE;YAC1C,GAAG,IAAI,CAAC,aAAa;YACrB,GAAG,KAAK;SACT,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,MAAM,OAAO,GAAoB,EAAE,CAAC;QAEpC,uDAAuD;QACvD,sEAAsE;QACtE,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAChE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;QAE9D,6EAA6E;QAC7E,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,MAAM,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;aACtC,CAAC,CAAC;QACL,CAAC;QAED,2CAA2C;QAC3C,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtD,cAAc,CAAC,OAAO,EAAE,oBAAoB,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACxE,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAC5D,cAAc,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QACrD,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACjD,cAAc,CAAC,OAAO,EAAE,mBAAmB,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACtE,cAAc,CAAC,OAAO,EAAE,oBAAoB,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACxE,cAAc,CAAC,OAAO,EAAE,qBAAqB,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC1E,cAAc,CAAC,OAAO,EAAE,kBAAkB,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;QAEpE,2CAA2C;QAC3C,aAAa,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;QAC3D,aAAa,CAAC,OAAO,EAAE,mBAAmB,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;QAEpE,yBAAyB;QACzB,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,yBAAyB;YAC/B,KAAK,EAAE,MAAM,CAAC,qBAAqB;SACpC,CAAC,CAAC;QAEH,4EAA4E;QAC5E,+EAA+E;QAC/E,IAAI,MAAM,CAAC,gCAAgC,KAAK,SAAS,EAAE,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,+BAA+B;gBACrC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,gCAAgC,CAAC;aACvD,CAAC,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,CAAC,2BAA2B,CAAC;YACjD,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,+BAA+B;oBACrC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;iBAC7B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAC3C,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,qBAAqB;gBAC3B,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC;aACxC,CAAC,CAAC;QACL,CAAC;QAED,8DAA8D;QAC9D,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;QAC3E,gGAAgG;QAChG,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,IAAI,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YACpD,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,yBAAyB;gBAC/B,KAAK,EAAE,GAAG,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE;aACpD,CAAC,CAAC;QACL,CAAC;QACD,IAAI,MAAM,CAAC,kBAAkB,GAAG,CAAC,IAAI,MAAM,CAAC,mBAAmB,GAAG,CAAC,EAAE,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,2BAA2B;gBACjC,KAAK,EAAE,GAAG,MAAM,CAAC,kBAAkB,IAAI,MAAM,CAAC,mBAAmB,EAAE;aACpE,CAAC,CAAC;QACL,CAAC;QACD,2EAA2E;QAC3E,IAAI,MAAM,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,iBAAiB;gBACvB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC;aAC5C,CAAC,CAAC;QACL,CAAC;QAED,uDAAuD;QACvD,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;QAChE,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAClE,cAAc,CAAC,OAAO,EAAE,mBAAmB,EAAE,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC;QAC5E,cAAc,CAAC,OAAO,EAAE,eAAe,EAAE,MAAM,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;QACpE,cAAc,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC;QACtE,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAClE,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAClE,cAAc,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QACjE,cAAc,CACZ,OAAO,EACP,yBAAyB,EACzB,MAAM,CAAC,oBAAoB,IAAI,EAAE,CAClC,CAAC;QACF,4EAA4E;QAC5E,IAAI,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YACvC,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;aACpC,CAAC,CAAC;QACL,CAAC;QAED,gEAAgE;QAChE,IAAI,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,qFAAqF;QACrF,IACE,MAAM,CAAC,iBAAiB,KAAK,SAAS;YACtC,MAAM,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EACnC,CAAC;YACD,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,oBAAoB;gBAC1B,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC;aAChD,CAAC,CAAC;QACL,CAAC;QAED,6CAA6C;QAC7C,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAClE,cAAc,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;QAExE,gEAAgE;QAChE,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,IAAI,MAAM,CAAC,cAAc,GAAG,CAAC,EAAE,CAAC;YACrE,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC;aACrC,CAAC,CAAC;QACL,CAAC;QAED,qEAAqE;QACrE,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC;aAC1C,CAAC,CAAC;QACL,CAAC;QAED,8EAA8E;QAC9E,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,gEAAgE;QAChE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;QAEpC,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;CACF;AAED,SAAS,cAAc,CACrB,OAAwB,EACxB,IAAY,EACZ,KAAa;IAEb,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAED,SAAS,aAAa,CACpB,OAAwB,EACxB,IAAY,EACZ,KAAa;IAEb,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC"}
@@ -43,6 +43,16 @@ export declare class UseSmileIDMetadataFactory implements MetadataProvider {
43
43
  private readonly _hostApplication;
44
44
  private readonly _systemArchitecture;
45
45
  private readonly _memoryInfoMb;
46
+ private readonly _buildBrand;
47
+ private readonly _buildDevice;
48
+ private readonly _buildFingerprint;
49
+ private readonly _buildProduct;
50
+ private readonly _carrierInfo;
51
+ private _batteryStatus?;
52
+ private _sdkLaunchCount?;
53
+ private _geolocation?;
54
+ private _privileges?;
55
+ private _deviceIntegrity?;
46
56
  private _clientIp;
47
57
  private _networkConnection;
48
58
  private _hardwareAttestation?;
@@ -62,6 +72,33 @@ export declare class UseSmileIDMetadataFactory implements MetadataProvider {
62
72
  */
63
73
  warmup(): Promise<void>;
64
74
  private _warmupAsync;
75
+ /**
76
+ * Resolve the last-known location (expo-location) into the cache — only when a permission
77
+ * is already granted (never prompts). Fail-open: leaves `_geolocation` unset otherwise.
78
+ */
79
+ private _warmUpGeolocation;
80
+ /**
81
+ * Resolve the obfuscated device privileges signal from the native bridge into the cache.
82
+ * Fail-open: `PrivilegesProvider` returns `"{}"` when the native module is unavailable.
83
+ */
84
+ private _warmUpPrivileges;
85
+ /**
86
+ * Resolve the native device-integrity signals (fingerprint, package name, vpn, build
87
+ * hardware, install source, cert digests) from the bridge into the cache. Fail-open:
88
+ * `DeviceIntegrityProvider` returns empty/undefined values when the native module is absent.
89
+ */
90
+ private _warmUpDeviceIntegrity;
91
+ /**
92
+ * Read, increment, and persist the SDK launch counter via async-storage.
93
+ * Fail-open: leaves `_sdkLaunchCount` unset when the package is absent.
94
+ */
95
+ private _warmUpLaunchCount;
96
+ /**
97
+ * Resolve the charging state (expo-battery) into the cache, mapped to the
98
+ * cross-platform plug status: `-1` unknown, `0` on battery, `1` plugged in.
99
+ * Fail-open: leaves `_batteryStatus` unset when the module is absent.
100
+ */
101
+ private _warmUpBatteryStatus;
65
102
  /**
66
103
  * Resolve the per-session hardware-attestation snapshot. Called from the
67
104
  * constructor as fire-and-forget. Android mints a Keystore-backed key
@@ -1 +1 @@
1
- {"version":3,"file":"use_smile_id_metadata_factory.d.ts","sourceRoot":"","sources":["../../src/metadata/use_smile_id_metadata_factory.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AA+C1D,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;;;;OAYG;IACH,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,kBAAkB,CAAC;IAEhD;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,qBAAa,yBAA0B,YAAW,gBAAgB;IAEhE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IAKvC,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,kBAAkB,CAAM;IAIhC,OAAO,CAAC,oBAAoB,CAAC,CAAsB;gBAEvC,OAAO,GAAE,sBAA2B;IAkDhD;;;;;OAKG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;;;;OAKG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;YAIf,YAAY;IA0B1B;;;;OAIG;YACW,0BAA0B;IAWxC,yDAAyD;IACzD,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,kBAAkB;CAqEhD;AA2DD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAqB1C"}
1
+ {"version":3,"file":"use_smile_id_metadata_factory.d.ts","sourceRoot":"","sources":["../../src/metadata/use_smile_id_metadata_factory.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AASjC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAkD1D,MAAM,WAAW,gBAAgB;IAC/B;;;;;;;;;;;;OAYG;IACH,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,kBAAkB,CAAC;IAEhD;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,qBAAa,yBAA0B,YAAW,gBAAgB;IAEhE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IAIvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAS;IAC3C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IAGtC,OAAO,CAAC,cAAc,CAAC,CAAS;IAGhC,OAAO,CAAC,eAAe,CAAC,CAAS;IAGjC,OAAO,CAAC,YAAY,CAAC,CAAc;IAGnC,OAAO,CAAC,WAAW,CAAC,CAAS;IAI7B,OAAO,CAAC,gBAAgB,CAAC,CAAyB;IAKlD,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,kBAAkB,CAAM;IAIhC,OAAO,CAAC,oBAAoB,CAAC,CAAsB;gBAEvC,OAAO,GAAE,sBAA2B;IAgEhD;;;;;OAKG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;;;;OAKG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;YAIf,YAAY;IAkC1B;;;OAGG;YACW,kBAAkB;IAKhC;;;OAGG;YACW,iBAAiB;IAK/B;;;;OAIG;YACW,sBAAsB;IAIpC;;;OAGG;YACW,kBAAkB;IAahC;;;;OAIG;YACW,oBAAoB;IAsBlC;;;;OAIG;YACW,0BAA0B;IAWxC,yDAAyD;IACzD,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,GAAG,kBAAkB;CA2GhD;AA2ED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAqB1C"}