@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.
- package/CHANGELOG.md +11 -0
- package/README.md +701 -89
- package/dist/camera/camera_defaults.d.ts +14 -9
- package/dist/camera/camera_defaults.d.ts.map +1 -1
- package/dist/camera/camera_defaults.js +11 -9
- package/dist/camera/camera_defaults.js.map +1 -1
- package/dist/camera/orientation_degrees.d.ts +5 -6
- package/dist/camera/orientation_degrees.d.ts.map +1 -1
- package/dist/camera/orientation_degrees.js +5 -6
- package/dist/camera/orientation_degrees.js.map +1 -1
- package/dist/core/models/document_capture_mode.d.ts +8 -0
- package/dist/core/models/document_capture_mode.d.ts.map +1 -1
- package/dist/core/models/document_capture_mode.js +24 -0
- package/dist/core/models/document_capture_mode.js.map +1 -1
- package/dist/core/models/document_type.d.ts +2 -2
- package/dist/core/models/document_type.d.ts.map +1 -1
- package/dist/core/models/document_type.js +6 -4
- package/dist/core/models/document_type.js.map +1 -1
- package/dist/core/models/result.d.ts +9 -8
- package/dist/core/models/result.d.ts.map +1 -1
- package/dist/core/models/result.js +5 -6
- package/dist/core/models/result.js.map +1 -1
- package/dist/data/api/interceptors/smile_auth_interceptor.js +1 -1
- package/dist/data/api/interceptors/smile_auth_interceptor.js.map +1 -1
- package/dist/data/api/interceptors/smile_integrity_interceptor.d.ts +11 -0
- package/dist/data/api/interceptors/smile_integrity_interceptor.d.ts.map +1 -1
- package/dist/data/api/interceptors/smile_integrity_interceptor.js +13 -0
- package/dist/data/api/interceptors/smile_integrity_interceptor.js.map +1 -1
- package/dist/data/api/interceptors/smile_request_mac_interceptor.d.ts +8 -0
- package/dist/data/api/interceptors/smile_request_mac_interceptor.d.ts.map +1 -1
- package/dist/data/api/interceptors/smile_request_mac_interceptor.js +11 -0
- package/dist/data/api/interceptors/smile_request_mac_interceptor.js.map +1 -1
- package/dist/data/compression/compressible_asset.d.ts +41 -0
- package/dist/data/compression/compressible_asset.d.ts.map +1 -0
- package/dist/data/compression/compressible_asset.js +34 -0
- package/dist/data/compression/compressible_asset.js.map +1 -0
- package/dist/data/compression/payload_compression_config.d.ts +36 -0
- package/dist/data/compression/payload_compression_config.d.ts.map +1 -0
- package/dist/data/compression/payload_compression_config.js +52 -0
- package/dist/data/compression/payload_compression_config.js.map +1 -0
- package/dist/data/compression/payload_compression_runner.d.ts +29 -0
- package/dist/data/compression/payload_compression_runner.d.ts.map +1 -0
- package/dist/data/compression/payload_compression_runner.js +55 -0
- package/dist/data/compression/payload_compression_runner.js.map +1 -0
- package/dist/data/compression/payload_compressor.d.ts +40 -0
- package/dist/data/compression/payload_compressor.d.ts.map +1 -0
- package/dist/data/compression/payload_compressor.js +126 -0
- package/dist/data/compression/payload_compressor.js.map +1 -0
- package/dist/data/compression/uri_compressible_asset.d.ts +23 -0
- package/dist/data/compression/uri_compressible_asset.d.ts.map +1 -0
- package/dist/data/compression/uri_compressible_asset.js +77 -0
- package/dist/data/compression/uri_compressible_asset.js.map +1 -0
- package/dist/data/dsl/builder/cache_config_builder.d.ts +2 -1
- package/dist/data/dsl/builder/cache_config_builder.d.ts.map +1 -1
- package/dist/data/dsl/builder/cache_config_builder.js +2 -1
- package/dist/data/dsl/builder/cache_config_builder.js.map +1 -1
- package/dist/data/dsl/builder/config_builder.d.ts +40 -14
- package/dist/data/dsl/builder/config_builder.d.ts.map +1 -1
- package/dist/data/dsl/builder/config_builder.js +40 -14
- package/dist/data/dsl/builder/config_builder.js.map +1 -1
- package/dist/data/dsl/builder/interceptor_config_builder.d.ts +9 -7
- package/dist/data/dsl/builder/interceptor_config_builder.d.ts.map +1 -1
- package/dist/data/dsl/builder/interceptor_config_builder.js +9 -7
- package/dist/data/dsl/builder/interceptor_config_builder.js.map +1 -1
- package/dist/data/dsl/builder/retry_config_builder.d.ts +16 -1
- package/dist/data/dsl/builder/retry_config_builder.d.ts.map +1 -1
- package/dist/data/dsl/builder/retry_config_builder.js +16 -1
- package/dist/data/dsl/builder/retry_config_builder.js.map +1 -1
- package/dist/data/dsl/builder/timeout_config_builder.d.ts +4 -0
- package/dist/data/dsl/builder/timeout_config_builder.d.ts.map +1 -1
- package/dist/data/dsl/builder/timeout_config_builder.js +4 -0
- package/dist/data/dsl/builder/timeout_config_builder.js.map +1 -1
- package/dist/data/dsl/use_smile_id_network_builder.d.ts +17 -0
- package/dist/data/dsl/use_smile_id_network_builder.d.ts.map +1 -1
- package/dist/data/dsl/use_smile_id_network_builder.js +17 -0
- package/dist/data/dsl/use_smile_id_network_builder.js.map +1 -1
- package/dist/data/factory/networking_factory.d.ts.map +1 -1
- package/dist/data/factory/networking_factory.js +11 -1
- package/dist/data/factory/networking_factory.js.map +1 -1
- package/dist/data/repository/use_smile_id_repository_impl.d.ts +6 -0
- package/dist/data/repository/use_smile_id_repository_impl.d.ts.map +1 -1
- package/dist/data/repository/use_smile_id_repository_impl.js +82 -8
- package/dist/data/repository/use_smile_id_repository_impl.js.map +1 -1
- package/dist/data/security/request_canonicalizer.d.ts.map +1 -1
- package/dist/data/security/request_canonicalizer.js +14 -2
- package/dist/data/security/request_canonicalizer.js.map +1 -1
- package/dist/data/security/security_policy.d.ts +43 -0
- package/dist/data/security/security_policy.d.ts.map +1 -0
- package/dist/data/security/security_policy.js +61 -0
- package/dist/data/security/security_policy.js.map +1 -0
- package/dist/data/util/retry_util.d.ts +1 -1
- package/dist/data/util/retry_util.d.ts.map +1 -1
- package/dist/data/util/retry_util.js +2 -1
- package/dist/data/util/retry_util.js.map +1 -1
- package/dist/data/util/use_smile_id_token_decoder.d.ts +22 -0
- package/dist/data/util/use_smile_id_token_decoder.d.ts.map +1 -1
- package/dist/data/util/use_smile_id_token_decoder.js +58 -24
- package/dist/data/util/use_smile_id_token_decoder.js.map +1 -1
- package/dist/l10n/strings_en.d.ts +2 -1
- package/dist/l10n/strings_en.d.ts.map +1 -1
- package/dist/l10n/strings_en.js +2 -1
- package/dist/l10n/strings_en.js.map +1 -1
- package/dist/l10n/use_smile_id_localizations.d.ts +1 -0
- package/dist/l10n/use_smile_id_localizations.d.ts.map +1 -1
- package/dist/l10n/use_smile_id_localizations.js +3 -0
- package/dist/l10n/use_smile_id_localizations.js.map +1 -1
- package/dist/metadata/builder_configuration.d.ts +39 -0
- package/dist/metadata/builder_configuration.d.ts.map +1 -0
- package/dist/metadata/builder_configuration.js +34 -0
- package/dist/metadata/builder_configuration.js.map +1 -0
- package/dist/metadata/captured_image_properties.d.ts +11 -0
- package/dist/metadata/captured_image_properties.d.ts.map +1 -0
- package/dist/metadata/captured_image_properties.js +11 -0
- package/dist/metadata/captured_image_properties.js.map +1 -0
- package/dist/metadata/device_orientation_collector.d.ts +17 -0
- package/dist/metadata/device_orientation_collector.d.ts.map +1 -0
- package/dist/metadata/device_orientation_collector.js +66 -0
- package/dist/metadata/device_orientation_collector.js.map +1 -0
- package/dist/metadata/geolocation.d.ts +20 -0
- package/dist/metadata/geolocation.d.ts.map +1 -0
- package/dist/metadata/geolocation.js +40 -0
- package/dist/metadata/geolocation.js.map +1 -0
- package/dist/metadata/metadata_configuration_mappers.d.ts +48 -0
- package/dist/metadata/metadata_configuration_mappers.d.ts.map +1 -0
- package/dist/metadata/metadata_configuration_mappers.js +171 -0
- package/dist/metadata/metadata_configuration_mappers.js.map +1 -0
- package/dist/metadata/model_configuration.d.ts +41 -0
- package/dist/metadata/model_configuration.d.ts.map +1 -0
- package/dist/metadata/model_configuration.js +44 -0
- package/dist/metadata/model_configuration.js.map +1 -0
- package/dist/metadata/optional_native_modules.d.ts +79 -3
- package/dist/metadata/optional_native_modules.d.ts.map +1 -1
- package/dist/metadata/optional_native_modules.js +108 -3
- package/dist/metadata/optional_native_modules.js.map +1 -1
- package/dist/metadata/use_smile_id_metadata.d.ts +45 -7
- package/dist/metadata/use_smile_id_metadata.d.ts.map +1 -1
- package/dist/metadata/use_smile_id_metadata.js +85 -13
- package/dist/metadata/use_smile_id_metadata.js.map +1 -1
- package/dist/metadata/use_smile_id_metadata_factory.d.ts +37 -0
- package/dist/metadata/use_smile_id_metadata_factory.d.ts.map +1 -1
- package/dist/metadata/use_smile_id_metadata_factory.js +184 -12
- package/dist/metadata/use_smile_id_metadata_factory.js.map +1 -1
- package/dist/presentation/assets/svg/document_shimmer_strings.d.ts +14 -0
- package/dist/presentation/assets/svg/document_shimmer_strings.d.ts.map +1 -0
- package/dist/presentation/assets/svg/document_shimmer_strings.js +14 -0
- package/dist/presentation/assets/svg/document_shimmer_strings.js.map +1 -0
- package/dist/presentation/assets/svg/instruction_svg_strings.d.ts +12 -4
- package/dist/presentation/assets/svg/instruction_svg_strings.d.ts.map +1 -1
- package/dist/presentation/assets/svg/instruction_svg_strings.js +19 -8
- package/dist/presentation/assets/svg/instruction_svg_strings.js.map +1 -1
- package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.d.ts +0 -5
- package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.d.ts.map +1 -1
- package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.js +0 -5
- package/dist/presentation/components/helpers/enhanced_smart_selfie_animation_frames.js.map +1 -1
- package/dist/presentation/components/icons/index.d.ts +24 -8
- package/dist/presentation/components/icons/index.d.ts.map +1 -1
- package/dist/presentation/components/icons/index.js +31 -11
- package/dist/presentation/components/icons/index.js.map +1 -1
- package/dist/presentation/components/use_smile_id_attribution.d.ts +1 -1
- package/dist/presentation/components/use_smile_id_button.d.ts +2 -2
- package/dist/presentation/components/use_smile_id_button.js +4 -4
- package/dist/presentation/components/use_smile_id_button.js.map +1 -1
- package/dist/presentation/components/use_smile_id_capture_content.d.ts +13 -0
- package/dist/presentation/components/use_smile_id_capture_content.d.ts.map +1 -1
- package/dist/presentation/components/use_smile_id_capture_content.js +15 -9
- package/dist/presentation/components/use_smile_id_capture_content.js.map +1 -1
- package/dist/presentation/components/use_smile_id_captured_document_image.d.ts +2 -3
- package/dist/presentation/components/use_smile_id_captured_document_image.d.ts.map +1 -1
- package/dist/presentation/components/use_smile_id_captured_document_image.js +1 -3
- package/dist/presentation/components/use_smile_id_captured_document_image.js.map +1 -1
- package/dist/presentation/components/use_smile_id_document_capture_controls.d.ts +12 -6
- package/dist/presentation/components/use_smile_id_document_capture_controls.d.ts.map +1 -1
- package/dist/presentation/components/use_smile_id_document_capture_controls.js +59 -16
- package/dist/presentation/components/use_smile_id_document_capture_controls.js.map +1 -1
- package/dist/presentation/components/use_smile_id_document_overlay.d.ts +22 -5
- package/dist/presentation/components/use_smile_id_document_overlay.d.ts.map +1 -1
- package/dist/presentation/components/use_smile_id_document_overlay.js +80 -40
- package/dist/presentation/components/use_smile_id_document_overlay.js.map +1 -1
- package/dist/presentation/components/use_smile_id_document_shimmer.d.ts +15 -0
- package/dist/presentation/components/use_smile_id_document_shimmer.d.ts.map +1 -0
- package/dist/presentation/components/use_smile_id_document_shimmer.js +23 -0
- package/dist/presentation/components/use_smile_id_document_shimmer.js.map +1 -0
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.d.ts.map +1 -1
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.js +1 -3
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_clip.js.map +1 -1
- package/dist/presentation/components/use_smile_id_guideline_thumbnail.d.ts.map +1 -1
- package/dist/presentation/components/use_smile_id_guideline_thumbnail.js +84 -1
- package/dist/presentation/components/use_smile_id_guideline_thumbnail.js.map +1 -1
- package/dist/presentation/components/use_smile_id_instructions_hero.d.ts +3 -1
- package/dist/presentation/components/use_smile_id_instructions_hero.d.ts.map +1 -1
- package/dist/presentation/components/use_smile_id_instructions_hero.js +18 -3
- package/dist/presentation/components/use_smile_id_instructions_hero.js.map +1 -1
- package/dist/presentation/components/use_smile_id_oval_border_palette.d.ts.map +1 -1
- package/dist/presentation/components/use_smile_id_oval_border_palette.js +7 -3
- package/dist/presentation/components/use_smile_id_oval_border_palette.js.map +1 -1
- package/dist/presentation/flow/dsl/builder/config_builder.d.ts +12 -0
- package/dist/presentation/flow/dsl/builder/config_builder.d.ts.map +1 -1
- package/dist/presentation/flow/dsl/builder/config_builder.js +12 -0
- package/dist/presentation/flow/dsl/builder/config_builder.js.map +1 -1
- package/dist/presentation/flow/dsl/builder/ml_builder.d.ts +13 -4
- package/dist/presentation/flow/dsl/builder/ml_builder.d.ts.map +1 -1
- package/dist/presentation/flow/dsl/builder/ml_builder.js +3 -2
- package/dist/presentation/flow/dsl/builder/ml_builder.js.map +1 -1
- package/dist/presentation/flow/dsl/builder/screens_builder.d.ts +111 -10
- package/dist/presentation/flow/dsl/builder/screens_builder.d.ts.map +1 -1
- package/dist/presentation/flow/dsl/builder/screens_builder.js +111 -10
- package/dist/presentation/flow/dsl/builder/screens_builder.js.map +1 -1
- package/dist/presentation/flow/dsl/builder/theme_builder.d.ts +15 -2
- package/dist/presentation/flow/dsl/builder/theme_builder.d.ts.map +1 -1
- package/dist/presentation/flow/dsl/builder/theme_builder.js +15 -2
- package/dist/presentation/flow/dsl/builder/theme_builder.js.map +1 -1
- package/dist/presentation/flow/dsl/use_smile_id_builder.d.ts +6 -4
- package/dist/presentation/flow/dsl/use_smile_id_builder.d.ts.map +1 -1
- package/dist/presentation/flow/dsl/use_smile_id_builder.js.map +1 -1
- package/dist/presentation/flow/dsl/use_smile_id_flow_builder.d.ts +62 -36
- package/dist/presentation/flow/dsl/use_smile_id_flow_builder.d.ts.map +1 -1
- package/dist/presentation/flow/dsl/use_smile_id_flow_builder.js +62 -36
- package/dist/presentation/flow/dsl/use_smile_id_flow_builder.js.map +1 -1
- package/dist/presentation/flow/flow_navigation_manager.d.ts +39 -4
- package/dist/presentation/flow/flow_navigation_manager.d.ts.map +1 -1
- package/dist/presentation/flow/flow_navigation_manager.js +141 -10
- package/dist/presentation/flow/flow_navigation_manager.js.map +1 -1
- package/dist/presentation/flow/model/instruction_guideline.d.ts +9 -0
- package/dist/presentation/flow/model/instruction_guideline.d.ts.map +1 -1
- package/dist/presentation/flow/model/instructions_defaults.d.ts +11 -2
- package/dist/presentation/flow/model/instructions_defaults.d.ts.map +1 -1
- package/dist/presentation/flow/model/instructions_defaults.js +73 -25
- package/dist/presentation/flow/model/instructions_defaults.js.map +1 -1
- package/dist/presentation/flow/screen/orchestrated_capture_screen.d.ts.map +1 -1
- package/dist/presentation/flow/screen/orchestrated_capture_screen.js +36 -12
- package/dist/presentation/flow/screen/orchestrated_capture_screen.js.map +1 -1
- package/dist/presentation/flow/screen/orchestrated_instructions_screen.js +1 -1
- package/dist/presentation/flow/screen/orchestrated_instructions_screen.js.map +1 -1
- package/dist/presentation/flow/screen/orchestrated_preview_screen.d.ts.map +1 -1
- package/dist/presentation/flow/screen/orchestrated_preview_screen.js +3 -1
- package/dist/presentation/flow/screen/orchestrated_preview_screen.js.map +1 -1
- package/dist/presentation/flow/screen/orchestrated_processing_screen.js +3 -3
- package/dist/presentation/flow/screen/orchestrated_processing_screen.js.map +1 -1
- package/dist/presentation/flow/validation/job_type_validator.d.ts.map +1 -1
- package/dist/presentation/flow/validation/job_type_validator.js +14 -0
- package/dist/presentation/flow/validation/job_type_validator.js.map +1 -1
- package/dist/presentation/screen/helpers/capture_screen_helpers.d.ts.map +1 -1
- package/dist/presentation/screen/helpers/capture_screen_helpers.js +1 -0
- package/dist/presentation/screen/helpers/capture_screen_helpers.js.map +1 -1
- package/dist/presentation/screen/helpers/instructions_screen_helpers.d.ts +1 -0
- package/dist/presentation/screen/helpers/instructions_screen_helpers.d.ts.map +1 -1
- package/dist/presentation/screen/helpers/instructions_screen_helpers.js +6 -2
- package/dist/presentation/screen/helpers/instructions_screen_helpers.js.map +1 -1
- package/dist/presentation/screen/helpers/scan_state_to_overlay_state.js +3 -0
- package/dist/presentation/screen/helpers/scan_state_to_overlay_state.js.map +1 -1
- package/dist/presentation/screen/use_smile_id_capture_screen.d.ts +17 -1
- package/dist/presentation/screen/use_smile_id_capture_screen.d.ts.map +1 -1
- package/dist/presentation/screen/use_smile_id_capture_screen.js +153 -18
- package/dist/presentation/screen/use_smile_id_capture_screen.js.map +1 -1
- package/dist/presentation/screen/use_smile_id_document_preview_screen.d.ts +2 -3
- package/dist/presentation/screen/use_smile_id_document_preview_screen.d.ts.map +1 -1
- package/dist/presentation/screen/use_smile_id_document_preview_screen.js +16 -11
- package/dist/presentation/screen/use_smile_id_document_preview_screen.js.map +1 -1
- package/dist/presentation/screen/use_smile_id_instructions_screen.d.ts +2 -0
- package/dist/presentation/screen/use_smile_id_instructions_screen.d.ts.map +1 -1
- package/dist/presentation/screen/use_smile_id_instructions_screen.js +2 -1
- package/dist/presentation/screen/use_smile_id_instructions_screen.js.map +1 -1
- package/dist/presentation/screen/use_smile_id_preview_screen.d.ts +7 -6
- package/dist/presentation/screen/use_smile_id_preview_screen.d.ts.map +1 -1
- package/dist/presentation/screen/use_smile_id_preview_screen.js +9 -8
- package/dist/presentation/screen/use_smile_id_preview_screen.js.map +1 -1
- package/dist/presentation/screen/use_smile_id_processing_screen.d.ts +2 -3
- package/dist/presentation/screen/use_smile_id_processing_screen.d.ts.map +1 -1
- package/dist/presentation/screen/use_smile_id_processing_screen.js +3 -2
- package/dist/presentation/screen/use_smile_id_processing_screen.js.map +1 -1
- package/dist/presentation/theme/theme.d.ts +1 -1
- package/dist/presentation/theme/theme.d.ts.map +1 -1
- package/dist/presentation/theme/theme.js +20 -18
- package/dist/presentation/theme/theme.js.map +1 -1
- package/dist/presentation/utils/force_max_brightness.d.ts +4 -4
- package/package.json +26 -6
- package/src/__tests__/react_native_mock.tsx +8 -0
- package/src/camera/camera_defaults.ts +11 -9
- package/src/camera/orientation_degrees.ts +5 -6
- package/src/core/models/__tests__/document_type.test.ts +6 -4
- package/src/core/models/document_capture_mode.ts +27 -0
- package/src/core/models/document_type.ts +6 -4
- package/src/core/models/result.ts +9 -8
- package/src/data/api/interceptors/__tests__/smile_integrity_interceptor.test.ts +37 -1
- package/src/data/api/interceptors/__tests__/smile_request_mac_interceptor.test.ts +59 -1
- package/src/data/api/interceptors/smile_auth_interceptor.ts +1 -1
- package/src/data/api/interceptors/smile_integrity_interceptor.ts +20 -0
- package/src/data/api/interceptors/smile_request_mac_interceptor.ts +13 -0
- package/src/data/compression/__tests__/payload_compressor.test.ts +200 -0
- package/src/data/compression/__tests__/payload_compressor_real_jpeg.test.ts +222 -0
- package/src/data/compression/compressible_asset.ts +62 -0
- package/src/data/compression/payload_compression_config.ts +53 -0
- package/src/data/compression/payload_compression_runner.ts +102 -0
- package/src/data/compression/payload_compressor.ts +164 -0
- package/src/data/compression/uri_compressible_asset.ts +85 -0
- package/src/data/dsl/builder/cache_config_builder.ts +3 -1
- package/src/data/dsl/builder/config_builder.ts +45 -14
- package/src/data/dsl/builder/interceptor_config_builder.ts +9 -7
- package/src/data/dsl/builder/retry_config_builder.ts +22 -1
- package/src/data/dsl/builder/timeout_config_builder.ts +7 -0
- package/src/data/dsl/use_smile_id_network_builder.ts +17 -0
- package/src/data/factory/networking_factory.ts +14 -1
- package/src/data/repository/__tests__/network_retries.test.ts +117 -0
- package/src/data/repository/use_smile_id_repository_impl.ts +96 -9
- package/src/data/security/__tests__/security_policy.test.ts +96 -0
- package/src/data/security/__tests__/smile_id_crypto_manager.test.ts +18 -0
- package/src/data/security/request_canonicalizer.ts +15 -2
- package/src/data/security/security_policy.ts +70 -0
- package/src/data/util/__tests__/use_smile_id_token_decoder.test.ts +57 -1
- package/src/data/util/retry_util.ts +3 -2
- package/src/data/util/use_smile_id_token_decoder.ts +76 -28
- package/src/l10n/strings_en.ts +2 -1
- package/src/l10n/use_smile_id_localizations.ts +3 -0
- package/src/metadata/__tests__/device_orientation_collector.test.ts +15 -0
- package/src/metadata/__tests__/metadata_configuration_mappers.test.ts +215 -0
- package/src/metadata/__tests__/metadata_configuration_objects.test.ts +85 -0
- package/src/metadata/__tests__/metadata_device_context.test.ts +147 -0
- package/src/metadata/__tests__/metadata_golden_fixture.json +13 -0
- package/src/metadata/__tests__/metadata_payload_golden.test.ts +193 -0
- package/src/metadata/__tests__/use_smile_id_metadata.test.ts +18 -24
- package/src/metadata/builder_configuration.ts +63 -0
- package/src/metadata/captured_image_properties.ts +10 -0
- package/src/metadata/device_orientation_collector.ts +75 -0
- package/src/metadata/geolocation.ts +46 -0
- package/src/metadata/metadata_configuration_mappers.ts +234 -0
- package/src/metadata/model_configuration.ts +68 -0
- package/src/metadata/optional_native_modules.ts +157 -3
- package/src/metadata/use_smile_id_metadata.ts +140 -17
- package/src/metadata/use_smile_id_metadata_factory.ts +195 -11
- package/src/presentation/assets/si_ess_animation_all_directions.json +1300 -286
- package/src/presentation/assets/svg/document_shimmer_strings.ts +17 -0
- package/src/presentation/assets/svg/instruction_svg_strings.ts +34 -12
- package/src/presentation/components/__tests__/enhanced_smart_selfie_animation_frames.test.ts +1 -3
- package/src/presentation/components/__tests__/use_smile_id_enhanced_smart_selfie_clip.test.tsx +3 -4
- package/src/presentation/components/__tests__/use_smile_id_guideline_thumbnail.test.tsx +34 -1
- package/src/presentation/components/__tests__/use_smile_id_instructions_hero.test.tsx +27 -0
- package/src/presentation/components/__tests__/use_smile_id_oval_border_palette.test.ts +7 -5
- package/src/presentation/components/helpers/enhanced_smart_selfie_animation_frames.ts +0 -6
- package/src/presentation/components/icons/index.tsx +65 -18
- package/src/presentation/components/use_smile_id_attribution.tsx +1 -1
- package/src/presentation/components/use_smile_id_button.tsx +4 -4
- package/src/presentation/components/use_smile_id_capture_content.tsx +36 -12
- package/src/presentation/components/use_smile_id_captured_document_image.tsx +3 -8
- package/src/presentation/components/use_smile_id_document_capture_controls.tsx +103 -39
- package/src/presentation/components/use_smile_id_document_overlay.tsx +134 -44
- package/src/presentation/components/use_smile_id_document_shimmer.tsx +51 -0
- package/src/presentation/components/use_smile_id_enhanced_smart_selfie_clip.tsx +0 -3
- package/src/presentation/components/use_smile_id_guideline_thumbnail.tsx +131 -2
- package/src/presentation/components/use_smile_id_instructions_hero.tsx +100 -59
- package/src/presentation/components/use_smile_id_oval_border_palette.ts +7 -3
- package/src/presentation/flow/__tests__/document_flow_navigation.test.ts +200 -1
- package/src/presentation/flow/dsl/builder/config_builder.ts +14 -0
- package/src/presentation/flow/dsl/builder/ml_builder.ts +13 -4
- package/src/presentation/flow/dsl/builder/screens_builder.ts +111 -10
- package/src/presentation/flow/dsl/builder/theme_builder.ts +19 -2
- package/src/presentation/flow/dsl/use_smile_id_builder.tsx +6 -4
- package/src/presentation/flow/dsl/use_smile_id_flow_builder.ts +62 -36
- package/src/presentation/flow/flow_navigation_manager.ts +179 -13
- package/src/presentation/flow/model/instruction_guideline.ts +6 -0
- package/src/presentation/flow/model/instructions_defaults.ts +103 -25
- package/src/presentation/flow/screen/orchestrated_capture_screen.tsx +43 -10
- package/src/presentation/flow/screen/orchestrated_instructions_screen.tsx +1 -0
- package/src/presentation/flow/screen/orchestrated_preview_screen.tsx +4 -2
- package/src/presentation/flow/screen/orchestrated_processing_screen.tsx +3 -3
- package/src/presentation/flow/validation/__tests__/job_type_validator.test.ts +64 -0
- package/src/presentation/flow/validation/job_type_validator.ts +24 -0
- package/src/presentation/screen/__tests__/instructions_screen_helpers.test.ts +15 -3
- package/src/presentation/screen/__tests__/use_smile_id_capture_screen.test.tsx +6 -4
- package/src/presentation/screen/helpers/capture_screen_helpers.ts +1 -0
- package/src/presentation/screen/helpers/instructions_screen_helpers.ts +7 -2
- package/src/presentation/screen/helpers/scan_state_to_overlay_state.ts +3 -0
- package/src/presentation/screen/use_smile_id_capture_screen.tsx +234 -36
- package/src/presentation/screen/use_smile_id_document_preview_screen.tsx +32 -22
- package/src/presentation/screen/use_smile_id_instructions_screen.tsx +4 -0
- package/src/presentation/screen/use_smile_id_preview_screen.tsx +9 -9
- package/src/presentation/screen/use_smile_id_processing_screen.tsx +7 -7
- package/src/presentation/theme/theme.ts +21 -19
- package/src/presentation/utils/force_max_brightness.tsx +4 -4
- package/dist/camera/frame_processor_plugin.d.ts +0 -28
- package/dist/camera/frame_processor_plugin.d.ts.map +0 -1
- package/dist/camera/frame_processor_plugin.js +0 -21
- package/dist/camera/frame_processor_plugin.js.map +0 -1
- package/dist/camera/use_smile_id_frame_processor.d.ts +0 -38
- package/dist/camera/use_smile_id_frame_processor.d.ts.map +0 -1
- package/dist/camera/use_smile_id_frame_processor.js +0 -2
- package/dist/camera/use_smile_id_frame_processor.js.map +0 -1
- package/dist/presentation/components/use_smile_id_document_frame_glyph.d.ts +0 -17
- package/dist/presentation/components/use_smile_id_document_frame_glyph.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_document_frame_glyph.js +0 -17
- package/dist/presentation/components/use_smile_id_document_frame_glyph.js.map +0 -1
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_animation.d.ts +0 -24
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_animation.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_animation.js +0 -91
- package/dist/presentation/components/use_smile_id_enhanced_smart_selfie_animation.js.map +0 -1
- package/dist/presentation/components/use_smile_id_instruction_card.d.ts +0 -31
- package/dist/presentation/components/use_smile_id_instruction_card.d.ts.map +0 -1
- package/dist/presentation/components/use_smile_id_instruction_card.js +0 -43
- package/dist/presentation/components/use_smile_id_instruction_card.js.map +0 -1
- package/dist/presentation/screen/helpers/use_document_orientation_lock.d.ts +0 -24
- package/dist/presentation/screen/helpers/use_document_orientation_lock.d.ts.map +0 -1
- package/dist/presentation/screen/helpers/use_document_orientation_lock.js +0 -47
- package/dist/presentation/screen/helpers/use_document_orientation_lock.js.map +0 -1
- 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`
|
|
3
|
-
*
|
|
4
|
-
* partners who don't need richer metadata don't pay
|
|
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
|
|
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`, `
|
|
9
|
-
*
|
|
10
|
-
*
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
1
|
+
{"version":3,"file":"use_smile_id_metadata.d.ts","sourceRoot":"","sources":["../../src/metadata/use_smile_id_metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,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,gHAAgH;IAChH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,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,kIAAkI;IAClI,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,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,sKAAsK;IACtK,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,mHAAmH;IACnH,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,gGAAgG;IAChG,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IACxC,4HAA4H;IAC5H,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,uFAAuF;IACvF,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,6GAA6G;IAC7G,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,+GAA+G;IAC/G,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,4HAA4H;IAC5H,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,wEAAwE;IACxE,QAAQ,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC;IACvB,6HAA6H;IAC7H,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C,2FAA2F;IAC3F,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IACvC,sHAAsH;IACtH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,yHAAyH;IACzH,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,uFAAuF;IACvF,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,wFAAwF;IACxF,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACnC,gHAAgH;IAChH,QAAQ,CAAC,UAAU,CAAC,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;CA+JtC"}
|
|
@@ -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`, `
|
|
9
|
-
*
|
|
10
|
-
*
|
|
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,
|
|
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
|
-
//
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
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
|
|
99
|
-
|
|
100
|
-
|
|
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":"AAAA
|
|
1
|
+
{"version":3,"file":"use_smile_id_metadata.js","sourceRoot":"","sources":["../../src/metadata/use_smile_id_metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"
|
|
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"}
|