@reclaimprotocol/inapp-rn-sdk 0.1.7 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/InappRnSdk.podspec +1 -1
  2. package/README.md +10 -6
  3. package/android/build.gradle +3 -3
  4. package/android/generated/java/com/reclaimprotocol/inapp_rn_sdk/NativeInappRnSdkSpec.java +16 -0
  5. package/android/generated/jni/RNInappRnSdkSpec-generated.cpp +14 -0
  6. package/android/generated/jni/react/renderer/components/RNInappRnSdkSpec/RNInappRnSdkSpecJSI-generated.cpp +15 -0
  7. package/android/generated/jni/react/renderer/components/RNInappRnSdkSpec/RNInappRnSdkSpecJSI.h +192 -20
  8. package/android/src/main/java/com/reclaimprotocol/inapp_rn_sdk/InappRnSdkModule.kt +99 -20
  9. package/ios/InappRnSdk.mm +35 -8
  10. package/ios/generated/RNInappRnSdkSpec/RNInappRnSdkSpec-generated.mm +24 -0
  11. package/ios/generated/RNInappRnSdkSpec/RNInappRnSdkSpec.h +18 -6
  12. package/ios/generated/RNInappRnSdkSpecJSI-generated.cpp +15 -0
  13. package/ios/generated/RNInappRnSdkSpecJSI.h +192 -20
  14. package/ios/inapp_rn_sdk/Api.swift +73 -7
  15. package/lib/commonjs/ReclaimVerificationPlatformChannel.js +120 -36
  16. package/lib/commonjs/ReclaimVerificationPlatformChannel.js.map +1 -1
  17. package/lib/commonjs/index.js +11 -2
  18. package/lib/commonjs/index.js.map +1 -1
  19. package/lib/commonjs/specs/NativeInappRnSdk.js +1 -0
  20. package/lib/commonjs/specs/NativeInappRnSdk.js.map +1 -1
  21. package/lib/module/ReclaimVerificationPlatformChannel.js +117 -34
  22. package/lib/module/ReclaimVerificationPlatformChannel.js.map +1 -1
  23. package/lib/module/index.js +7 -4
  24. package/lib/module/index.js.map +1 -1
  25. package/lib/module/specs/NativeInappRnSdk.js +2 -0
  26. package/lib/module/specs/NativeInappRnSdk.js.map +1 -1
  27. package/lib/typescript/commonjs/src/ReclaimVerificationPlatformChannel.d.ts +29 -4
  28. package/lib/typescript/commonjs/src/ReclaimVerificationPlatformChannel.d.ts.map +1 -1
  29. package/lib/typescript/commonjs/src/index.d.ts +4 -3
  30. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  31. package/lib/typescript/commonjs/src/specs/NativeInappRnSdk.d.ts +22 -4
  32. package/lib/typescript/commonjs/src/specs/NativeInappRnSdk.d.ts.map +1 -1
  33. package/lib/typescript/module/src/ReclaimVerificationPlatformChannel.d.ts +29 -4
  34. package/lib/typescript/module/src/ReclaimVerificationPlatformChannel.d.ts.map +1 -1
  35. package/lib/typescript/module/src/index.d.ts +4 -3
  36. package/lib/typescript/module/src/index.d.ts.map +1 -1
  37. package/lib/typescript/module/src/specs/NativeInappRnSdk.d.ts +22 -4
  38. package/lib/typescript/module/src/specs/NativeInappRnSdk.d.ts.map +1 -1
  39. package/package.json +1 -1
  40. package/src/ReclaimVerificationPlatformChannel.ts +149 -41
  41. package/src/index.ts +8 -4
  42. package/src/specs/NativeInappRnSdk.ts +32 -6
@@ -16,7 +16,7 @@ Pod::Spec.new do |s|
16
16
 
17
17
  s.source_files = "ios/**/*.{h,m,mm,cpp,swift}"
18
18
  s.private_header_files = "ios/generated/**/*.h"
19
- s.dependency "ReclaimInAppSdk"
19
+ s.dependency "ReclaimInAppSdk", "~> 0.2.1"
20
20
 
21
21
  # Use install_modules_dependencies helper to install the dependencies if React Native version >=0.71.0.
22
22
  # See https://github.com/facebook/react-native/blob/febf6b7f33fdb4904669f99d795eba4c0f95d7bf/scripts/cocoapods/new_architecture.rb#L79.
package/README.md CHANGED
@@ -59,7 +59,7 @@ add the following to the end of settings.gradle:
59
59
  dependencyResolutionManagement {
60
60
  repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
61
61
  String flutterStorageUrl = System.env.FLUTTER_STORAGE_BASE_URL ?: "https://storage.googleapis.com"
62
- String reclaimStorageUrl = System.env.RECLAIM_STORAGE_BASE_URL ?: "https://reclaim-inapp-sdk.s3.ap-south-1.amazonaws.com/android/0.1.2/repo"
62
+ String reclaimStorageUrl = System.env.RECLAIM_STORAGE_BASE_URL ?: "https://reclaim-inapp-sdk.s3.ap-south-1.amazonaws.com/android/0.2.1/repo"
63
63
  repositories {
64
64
  google()
65
65
  mavenCentral()
@@ -78,7 +78,7 @@ or alternatively add the following repositories to the relevant repositories blo
78
78
 
79
79
  ```groovy
80
80
  String flutterStorageUrl = System.env.FLUTTER_STORAGE_BASE_URL ?: "https://storage.googleapis.com"
81
- String reclaimStorageUrl = System.env.RECLAIM_STORAGE_BASE_URL ?: "https://reclaim-inapp-sdk.s3.ap-south-1.amazonaws.com/android/0.1.2/repo"
81
+ String reclaimStorageUrl = System.env.RECLAIM_STORAGE_BASE_URL ?: "https://reclaim-inapp-sdk.s3.ap-south-1.amazonaws.com/android/0.2.1/repo"
82
82
  maven {
83
83
  url "$reclaimStorageUrl"
84
84
  }
@@ -108,13 +108,13 @@ Ignore if you already have this declaration in your `Podfile`.
108
108
 
109
109
  ```ruby
110
110
  # Cocoapods is the recommended way to install the SDK.
111
- pod 'ReclaimInAppSdk', '~> 0.1.4'
111
+ pod 'ReclaimInAppSdk', '~> 0.2.1'
112
112
  ```
113
113
 
114
114
  ##### From a specific tag
115
115
 
116
116
  ```ruby
117
- pod 'ReclaimInAppSdk', :git => 'https://github.com/reclaimprotocol/reclaim-inapp-ios-sdk.git', :tag => '0.1.4'
117
+ pod 'ReclaimInAppSdk', :git => 'https://github.com/reclaimprotocol/reclaim-inapp-ios-sdk.git', :tag => '0.2.1'
118
118
  ```
119
119
 
120
120
  ##### From git HEAD
@@ -126,7 +126,7 @@ pod 'ReclaimInAppSdk', :git => 'https://github.com/reclaimprotocol/reclaim-inapp
126
126
  ##### From a specific commit
127
127
 
128
128
  ```ruby
129
- pod 'ReclaimInAppSdk', :git => 'https://github.com/reclaimprotocol/reclaim-inapp-ios-sdk.git', :commit => '184d41628026768feb703dc7bb9a3d913c6b271e'
129
+ pod 'ReclaimInAppSdk', :git => 'https://github.com/reclaimprotocol/reclaim-inapp-ios-sdk.git', :commit => 'eeb5a5484a5927217065e5c988fab8201cb2db2e'
130
130
  ```
131
131
 
132
132
  ##### From a specific branch
@@ -151,7 +151,7 @@ target 'InappRnSdkExample' do
151
151
  )
152
152
 
153
153
  # This is the line that you may need to add in your podfile.
154
- pod 'ReclaimInAppSdk', '~> 0.1.4'
154
+ pod 'ReclaimInAppSdk', '~> 0.2.1'
155
155
 
156
156
  pre_install do |installer|
157
157
  system("cd ../../ && npx bob build --target codegen")
@@ -288,6 +288,10 @@ error.reason
288
288
  error.innerError
289
289
  ```
290
290
 
291
+ ## Migration
292
+
293
+ - Migration steps for [0.2.1](https://github.com/reclaimprotocol/reclaim-inapp-reactnative-sdk/blob/main/documentation/migration.md#021)
294
+
291
295
  ## Advanced Usage
292
296
 
293
297
  ### Overriding SDK Config
@@ -3,7 +3,7 @@ buildscript {
3
3
  return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties['InappRnSdk_' + name]
4
4
  }
5
5
  String flutterStorageUrl = System.env.FLUTTER_STORAGE_BASE_URL ?: "https://storage.googleapis.com"
6
- String reclaimStorageUrl = System.env.RECLAIM_STORAGE_BASE_URL ?: "https://reclaim-inapp-sdk.s3.ap-south-1.amazonaws.com/android/0.1.2/repo"
6
+ String reclaimStorageUrl = System.env.RECLAIM_STORAGE_BASE_URL ?: "https://reclaim-inapp-sdk.s3.ap-south-1.amazonaws.com/android/0.2.1/repo"
7
7
  repositories {
8
8
  google()
9
9
  mavenCentral()
@@ -98,7 +98,7 @@ android {
98
98
  }
99
99
 
100
100
  String flutterStorageUrl = System.env.FLUTTER_STORAGE_BASE_URL ?: "https://storage.googleapis.com"
101
- String reclaimStorageUrl = System.env.RECLAIM_STORAGE_BASE_URL ?: "https://reclaim-inapp-sdk.s3.ap-south-1.amazonaws.com/android/0.1.2/repo"
101
+ String reclaimStorageUrl = System.env.RECLAIM_STORAGE_BASE_URL ?: "https://reclaim-inapp-sdk.s3.ap-south-1.amazonaws.com/android/0.2.1/repo"
102
102
 
103
103
  repositories {
104
104
  mavenCentral()
@@ -118,7 +118,7 @@ dependencies {
118
118
  implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
119
119
 
120
120
  //noinspection UseTomlInstead
121
- implementation "org.reclaimprotocol:inapp_sdk:0.1.2"
121
+ implementation "org.reclaimprotocol:inapp_sdk:0.2.1"
122
122
  }
123
123
 
124
124
  if (isNewArchitectureEnabled()) {
@@ -49,6 +49,14 @@ public abstract class NativeInappRnSdkSpec extends ReactContextBaseJavaModule im
49
49
  mEventEmitterCallback.invoke("onSessionUpdateRequest", value);
50
50
  }
51
51
 
52
+ protected final void emitOnSessionIdentityUpdate(ReadableMap value) {
53
+ mEventEmitterCallback.invoke("onSessionIdentityUpdate", value);
54
+ }
55
+
56
+ protected final void emitOnProviderInformationRequest(ReadableMap value) {
57
+ mEventEmitterCallback.invoke("onProviderInformationRequest", value);
58
+ }
59
+
52
60
  @ReactMethod
53
61
  @DoNotStrip
54
62
  public abstract void startVerification(ReadableMap request, Promise promise);
@@ -61,10 +69,18 @@ public abstract class NativeInappRnSdkSpec extends ReactContextBaseJavaModule im
61
69
  @DoNotStrip
62
70
  public abstract void setOverrides(ReadableMap overrides, Promise promise);
63
71
 
72
+ @ReactMethod
73
+ @DoNotStrip
74
+ public abstract void clearAllOverrides(Promise promise);
75
+
64
76
  @ReactMethod
65
77
  @DoNotStrip
66
78
  public abstract void reply(String replyId, boolean reply);
67
79
 
80
+ @ReactMethod
81
+ @DoNotStrip
82
+ public abstract void replyWithProviderInformation(String replyId, String providerInformation);
83
+
68
84
  @ReactMethod
69
85
  @DoNotStrip
70
86
  public abstract void ping(Promise promise);
@@ -27,11 +27,21 @@ static facebook::jsi::Value __hostFunction_NativeInappRnSdkSpecJSI_setOverrides(
27
27
  return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "setOverrides", "(Lcom/facebook/react/bridge/ReadableMap;Lcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
28
28
  }
29
29
 
30
+ static facebook::jsi::Value __hostFunction_NativeInappRnSdkSpecJSI_clearAllOverrides(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
31
+ static jmethodID cachedMethodId = nullptr;
32
+ return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "clearAllOverrides", "(Lcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
33
+ }
34
+
30
35
  static facebook::jsi::Value __hostFunction_NativeInappRnSdkSpecJSI_reply(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
31
36
  static jmethodID cachedMethodId = nullptr;
32
37
  return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, VoidKind, "reply", "(Ljava/lang/String;Z)V", args, count, cachedMethodId);
33
38
  }
34
39
 
40
+ static facebook::jsi::Value __hostFunction_NativeInappRnSdkSpecJSI_replyWithProviderInformation(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
41
+ static jmethodID cachedMethodId = nullptr;
42
+ return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, VoidKind, "replyWithProviderInformation", "(Ljava/lang/String;Ljava/lang/String;)V", args, count, cachedMethodId);
43
+ }
44
+
35
45
  static facebook::jsi::Value __hostFunction_NativeInappRnSdkSpecJSI_ping(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
36
46
  static jmethodID cachedMethodId = nullptr;
37
47
  return static_cast<JavaTurboModule &>(turboModule).invokeJavaMethod(rt, PromiseKind, "ping", "(Lcom/facebook/react/bridge/Promise;)V", args, count, cachedMethodId);
@@ -42,12 +52,16 @@ NativeInappRnSdkSpecJSI::NativeInappRnSdkSpecJSI(const JavaTurboModule::InitPara
42
52
  methodMap_["startVerification"] = MethodMetadata {1, __hostFunction_NativeInappRnSdkSpecJSI_startVerification};
43
53
  methodMap_["startVerificationFromUrl"] = MethodMetadata {1, __hostFunction_NativeInappRnSdkSpecJSI_startVerificationFromUrl};
44
54
  methodMap_["setOverrides"] = MethodMetadata {1, __hostFunction_NativeInappRnSdkSpecJSI_setOverrides};
55
+ methodMap_["clearAllOverrides"] = MethodMetadata {0, __hostFunction_NativeInappRnSdkSpecJSI_clearAllOverrides};
45
56
  methodMap_["reply"] = MethodMetadata {2, __hostFunction_NativeInappRnSdkSpecJSI_reply};
57
+ methodMap_["replyWithProviderInformation"] = MethodMetadata {2, __hostFunction_NativeInappRnSdkSpecJSI_replyWithProviderInformation};
46
58
  methodMap_["ping"] = MethodMetadata {0, __hostFunction_NativeInappRnSdkSpecJSI_ping};
47
59
  eventEmitterMap_["onLogs"] = std::make_shared<AsyncEventEmitter<folly::dynamic>>();
48
60
  eventEmitterMap_["onSessionLogs"] = std::make_shared<AsyncEventEmitter<folly::dynamic>>();
49
61
  eventEmitterMap_["onSessionCreateRequest"] = std::make_shared<AsyncEventEmitter<folly::dynamic>>();
50
62
  eventEmitterMap_["onSessionUpdateRequest"] = std::make_shared<AsyncEventEmitter<folly::dynamic>>();
63
+ eventEmitterMap_["onSessionIdentityUpdate"] = std::make_shared<AsyncEventEmitter<folly::dynamic>>();
64
+ eventEmitterMap_["onProviderInformationRequest"] = std::make_shared<AsyncEventEmitter<folly::dynamic>>();
51
65
  setEventEmitterCallback(params.instance);
52
66
  }
53
67
 
@@ -29,6 +29,11 @@ static jsi::Value __hostFunction_NativeInappRnSdkCxxSpecJSI_setOverrides(jsi::Ru
29
29
  count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asObject(rt)
30
30
  );
31
31
  }
32
+ static jsi::Value __hostFunction_NativeInappRnSdkCxxSpecJSI_clearAllOverrides(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
33
+ return static_cast<NativeInappRnSdkCxxSpecJSI *>(&turboModule)->clearAllOverrides(
34
+ rt
35
+ );
36
+ }
32
37
  static jsi::Value __hostFunction_NativeInappRnSdkCxxSpecJSI_reply(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
33
38
  static_cast<NativeInappRnSdkCxxSpecJSI *>(&turboModule)->reply(
34
39
  rt,
@@ -37,6 +42,14 @@ static jsi::Value __hostFunction_NativeInappRnSdkCxxSpecJSI_reply(jsi::Runtime &
37
42
  );
38
43
  return jsi::Value::undefined();
39
44
  }
45
+ static jsi::Value __hostFunction_NativeInappRnSdkCxxSpecJSI_replyWithProviderInformation(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
46
+ static_cast<NativeInappRnSdkCxxSpecJSI *>(&turboModule)->replyWithProviderInformation(
47
+ rt,
48
+ count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt),
49
+ count <= 1 ? throw jsi::JSError(rt, "Expected argument in position 1 to be passed") : args[1].asString(rt)
50
+ );
51
+ return jsi::Value::undefined();
52
+ }
40
53
  static jsi::Value __hostFunction_NativeInappRnSdkCxxSpecJSI_ping(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
41
54
  return static_cast<NativeInappRnSdkCxxSpecJSI *>(&turboModule)->ping(
42
55
  rt
@@ -48,7 +61,9 @@ NativeInappRnSdkCxxSpecJSI::NativeInappRnSdkCxxSpecJSI(std::shared_ptr<CallInvok
48
61
  methodMap_["startVerification"] = MethodMetadata {1, __hostFunction_NativeInappRnSdkCxxSpecJSI_startVerification};
49
62
  methodMap_["startVerificationFromUrl"] = MethodMetadata {1, __hostFunction_NativeInappRnSdkCxxSpecJSI_startVerificationFromUrl};
50
63
  methodMap_["setOverrides"] = MethodMetadata {1, __hostFunction_NativeInappRnSdkCxxSpecJSI_setOverrides};
64
+ methodMap_["clearAllOverrides"] = MethodMetadata {0, __hostFunction_NativeInappRnSdkCxxSpecJSI_clearAllOverrides};
51
65
  methodMap_["reply"] = MethodMetadata {2, __hostFunction_NativeInappRnSdkCxxSpecJSI_reply};
66
+ methodMap_["replyWithProviderInformation"] = MethodMetadata {2, __hostFunction_NativeInappRnSdkCxxSpecJSI_replyWithProviderInformation};
52
67
  methodMap_["ping"] = MethodMetadata {0, __hostFunction_NativeInappRnSdkCxxSpecJSI_ping};
53
68
  }
54
69
 
@@ -174,15 +174,16 @@ struct NativeInappRnSdkLogConsumerBridging {
174
174
 
175
175
  #pragma mark - NativeInappRnSdkOverrides
176
176
 
177
- template <typename P0, typename P1, typename P2, typename P3, typename P4>
177
+ template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5>
178
178
  struct NativeInappRnSdkOverrides {
179
179
  P0 provider;
180
180
  P1 featureOptions;
181
181
  P2 logConsumer;
182
182
  P3 sessionManagement;
183
183
  P4 appInfo;
184
+ P5 capabilityAccessToken;
184
185
  bool operator==(const NativeInappRnSdkOverrides &other) const {
185
- return provider == other.provider && featureOptions == other.featureOptions && logConsumer == other.logConsumer && sessionManagement == other.sessionManagement && appInfo == other.appInfo;
186
+ return provider == other.provider && featureOptions == other.featureOptions && logConsumer == other.logConsumer && sessionManagement == other.sessionManagement && appInfo == other.appInfo && capabilityAccessToken == other.capabilityAccessToken;
186
187
  }
187
188
  };
188
189
 
@@ -199,7 +200,8 @@ struct NativeInappRnSdkOverridesBridging {
199
200
  bridging::fromJs<decltype(types.featureOptions)>(rt, value.getProperty(rt, "featureOptions"), jsInvoker),
200
201
  bridging::fromJs<decltype(types.logConsumer)>(rt, value.getProperty(rt, "logConsumer"), jsInvoker),
201
202
  bridging::fromJs<decltype(types.sessionManagement)>(rt, value.getProperty(rt, "sessionManagement"), jsInvoker),
202
- bridging::fromJs<decltype(types.appInfo)>(rt, value.getProperty(rt, "appInfo"), jsInvoker)};
203
+ bridging::fromJs<decltype(types.appInfo)>(rt, value.getProperty(rt, "appInfo"), jsInvoker),
204
+ bridging::fromJs<decltype(types.capabilityAccessToken)>(rt, value.getProperty(rt, "capabilityAccessToken"), jsInvoker)};
203
205
  return result;
204
206
  }
205
207
 
@@ -223,6 +225,10 @@ struct NativeInappRnSdkOverridesBridging {
223
225
  static std::optional<jsi::Object> appInfoToJs(jsi::Runtime &rt, decltype(types.appInfo) value) {
224
226
  return bridging::toJs(rt, value);
225
227
  }
228
+
229
+ static std::optional<jsi::String> capabilityAccessTokenToJs(jsi::Runtime &rt, decltype(types.capabilityAccessToken) value) {
230
+ return bridging::toJs(rt, value);
231
+ }
226
232
  #endif
227
233
 
228
234
  static jsi::Object toJs(
@@ -245,6 +251,9 @@ struct NativeInappRnSdkOverridesBridging {
245
251
  if (value.appInfo) {
246
252
  result.setProperty(rt, "appInfo", bridging::toJs(rt, value.appInfo.value(), jsInvoker));
247
253
  }
254
+ if (value.capabilityAccessToken) {
255
+ result.setProperty(rt, "capabilityAccessToken", bridging::toJs(rt, value.capabilityAccessToken.value(), jsInvoker));
256
+ }
248
257
  return result;
249
258
  }
250
259
  };
@@ -253,12 +262,13 @@ struct NativeInappRnSdkOverridesBridging {
253
262
 
254
263
  #pragma mark - NativeInappRnSdkProviderInformation
255
264
 
256
- template <typename P0, typename P1>
265
+ template <typename P0, typename P1, typename P2>
257
266
  struct NativeInappRnSdkProviderInformation {
258
267
  P0 url;
259
268
  P1 jsonString;
269
+ P2 canFetchProviderInformationFromHost;
260
270
  bool operator==(const NativeInappRnSdkProviderInformation &other) const {
261
- return url == other.url && jsonString == other.jsonString;
271
+ return url == other.url && jsonString == other.jsonString && canFetchProviderInformationFromHost == other.canFetchProviderInformationFromHost;
262
272
  }
263
273
  };
264
274
 
@@ -272,7 +282,8 @@ struct NativeInappRnSdkProviderInformationBridging {
272
282
  const std::shared_ptr<CallInvoker> &jsInvoker) {
273
283
  T result{
274
284
  bridging::fromJs<decltype(types.url)>(rt, value.getProperty(rt, "url"), jsInvoker),
275
- bridging::fromJs<decltype(types.jsonString)>(rt, value.getProperty(rt, "jsonString"), jsInvoker)};
285
+ bridging::fromJs<decltype(types.jsonString)>(rt, value.getProperty(rt, "jsonString"), jsInvoker),
286
+ bridging::fromJs<decltype(types.canFetchProviderInformationFromHost)>(rt, value.getProperty(rt, "canFetchProviderInformationFromHost"), jsInvoker)};
276
287
  return result;
277
288
  }
278
289
 
@@ -284,6 +295,10 @@ struct NativeInappRnSdkProviderInformationBridging {
284
295
  static jsi::String jsonStringToJs(jsi::Runtime &rt, decltype(types.jsonString) value) {
285
296
  return bridging::toJs(rt, value);
286
297
  }
298
+
299
+ static bool canFetchProviderInformationFromHostToJs(jsi::Runtime &rt, decltype(types.canFetchProviderInformationFromHost) value) {
300
+ return bridging::toJs(rt, value);
301
+ }
287
302
  #endif
288
303
 
289
304
  static jsi::Object toJs(
@@ -297,6 +312,83 @@ struct NativeInappRnSdkProviderInformationBridging {
297
312
  if (value.jsonString) {
298
313
  result.setProperty(rt, "jsonString", bridging::toJs(rt, value.jsonString.value(), jsInvoker));
299
314
  }
315
+ result.setProperty(rt, "canFetchProviderInformationFromHost", bridging::toJs(rt, value.canFetchProviderInformationFromHost, jsInvoker));
316
+ return result;
317
+ }
318
+ };
319
+
320
+
321
+
322
+ #pragma mark - NativeInappRnSdkProviderInformationRequest
323
+
324
+ template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5>
325
+ struct NativeInappRnSdkProviderInformationRequest {
326
+ P0 appId;
327
+ P1 providerId;
328
+ P2 sessionId;
329
+ P3 signature;
330
+ P4 timestamp;
331
+ P5 replyId;
332
+ bool operator==(const NativeInappRnSdkProviderInformationRequest &other) const {
333
+ return appId == other.appId && providerId == other.providerId && sessionId == other.sessionId && signature == other.signature && timestamp == other.timestamp && replyId == other.replyId;
334
+ }
335
+ };
336
+
337
+ template <typename T>
338
+ struct NativeInappRnSdkProviderInformationRequestBridging {
339
+ static T types;
340
+
341
+ static T fromJs(
342
+ jsi::Runtime &rt,
343
+ const jsi::Object &value,
344
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
345
+ T result{
346
+ bridging::fromJs<decltype(types.appId)>(rt, value.getProperty(rt, "appId"), jsInvoker),
347
+ bridging::fromJs<decltype(types.providerId)>(rt, value.getProperty(rt, "providerId"), jsInvoker),
348
+ bridging::fromJs<decltype(types.sessionId)>(rt, value.getProperty(rt, "sessionId"), jsInvoker),
349
+ bridging::fromJs<decltype(types.signature)>(rt, value.getProperty(rt, "signature"), jsInvoker),
350
+ bridging::fromJs<decltype(types.timestamp)>(rt, value.getProperty(rt, "timestamp"), jsInvoker),
351
+ bridging::fromJs<decltype(types.replyId)>(rt, value.getProperty(rt, "replyId"), jsInvoker)};
352
+ return result;
353
+ }
354
+
355
+ #ifdef DEBUG
356
+ static jsi::String appIdToJs(jsi::Runtime &rt, decltype(types.appId) value) {
357
+ return bridging::toJs(rt, value);
358
+ }
359
+
360
+ static jsi::String providerIdToJs(jsi::Runtime &rt, decltype(types.providerId) value) {
361
+ return bridging::toJs(rt, value);
362
+ }
363
+
364
+ static jsi::String sessionIdToJs(jsi::Runtime &rt, decltype(types.sessionId) value) {
365
+ return bridging::toJs(rt, value);
366
+ }
367
+
368
+ static jsi::String signatureToJs(jsi::Runtime &rt, decltype(types.signature) value) {
369
+ return bridging::toJs(rt, value);
370
+ }
371
+
372
+ static jsi::String timestampToJs(jsi::Runtime &rt, decltype(types.timestamp) value) {
373
+ return bridging::toJs(rt, value);
374
+ }
375
+
376
+ static jsi::String replyIdToJs(jsi::Runtime &rt, decltype(types.replyId) value) {
377
+ return bridging::toJs(rt, value);
378
+ }
379
+ #endif
380
+
381
+ static jsi::Object toJs(
382
+ jsi::Runtime &rt,
383
+ const T &value,
384
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
385
+ auto result = facebook::jsi::Object(rt);
386
+ result.setProperty(rt, "appId", bridging::toJs(rt, value.appId, jsInvoker));
387
+ result.setProperty(rt, "providerId", bridging::toJs(rt, value.providerId, jsInvoker));
388
+ result.setProperty(rt, "sessionId", bridging::toJs(rt, value.sessionId, jsInvoker));
389
+ result.setProperty(rt, "signature", bridging::toJs(rt, value.signature, jsInvoker));
390
+ result.setProperty(rt, "timestamp", bridging::toJs(rt, value.timestamp, jsInvoker));
391
+ result.setProperty(rt, "replyId", bridging::toJs(rt, value.replyId, jsInvoker));
300
392
  return result;
301
393
  }
302
394
  };
@@ -360,9 +452,64 @@ struct NativeInappRnSdkReclaimAppInfoBridging {
360
452
 
361
453
 
362
454
 
455
+ #pragma mark - NativeInappRnSdkReclaimSessionIdentityUpdate
456
+
457
+ template <typename P0, typename P1, typename P2>
458
+ struct NativeInappRnSdkReclaimSessionIdentityUpdate {
459
+ P0 appId;
460
+ P1 providerId;
461
+ P2 sessionId;
462
+ bool operator==(const NativeInappRnSdkReclaimSessionIdentityUpdate &other) const {
463
+ return appId == other.appId && providerId == other.providerId && sessionId == other.sessionId;
464
+ }
465
+ };
466
+
467
+ template <typename T>
468
+ struct NativeInappRnSdkReclaimSessionIdentityUpdateBridging {
469
+ static T types;
470
+
471
+ static T fromJs(
472
+ jsi::Runtime &rt,
473
+ const jsi::Object &value,
474
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
475
+ T result{
476
+ bridging::fromJs<decltype(types.appId)>(rt, value.getProperty(rt, "appId"), jsInvoker),
477
+ bridging::fromJs<decltype(types.providerId)>(rt, value.getProperty(rt, "providerId"), jsInvoker),
478
+ bridging::fromJs<decltype(types.sessionId)>(rt, value.getProperty(rt, "sessionId"), jsInvoker)};
479
+ return result;
480
+ }
481
+
482
+ #ifdef DEBUG
483
+ static jsi::String appIdToJs(jsi::Runtime &rt, decltype(types.appId) value) {
484
+ return bridging::toJs(rt, value);
485
+ }
486
+
487
+ static jsi::String providerIdToJs(jsi::Runtime &rt, decltype(types.providerId) value) {
488
+ return bridging::toJs(rt, value);
489
+ }
490
+
491
+ static jsi::String sessionIdToJs(jsi::Runtime &rt, decltype(types.sessionId) value) {
492
+ return bridging::toJs(rt, value);
493
+ }
494
+ #endif
495
+
496
+ static jsi::Object toJs(
497
+ jsi::Runtime &rt,
498
+ const T &value,
499
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
500
+ auto result = facebook::jsi::Object(rt);
501
+ result.setProperty(rt, "appId", bridging::toJs(rt, value.appId, jsInvoker));
502
+ result.setProperty(rt, "providerId", bridging::toJs(rt, value.providerId, jsInvoker));
503
+ result.setProperty(rt, "sessionId", bridging::toJs(rt, value.sessionId, jsInvoker));
504
+ return result;
505
+ }
506
+ };
507
+
508
+
509
+
363
510
  #pragma mark - NativeInappRnSdkRequest
364
511
 
365
- template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8, typename P9>
512
+ template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8>
366
513
  struct NativeInappRnSdkRequest {
367
514
  P0 appId;
368
515
  P1 secret;
@@ -370,12 +517,11 @@ struct NativeInappRnSdkRequest {
370
517
  P3 session;
371
518
  P4 contextString;
372
519
  P5 parameters;
373
- P6 hideLanding;
374
- P7 autoSubmit;
375
- P8 acceptAiProviders;
376
- P9 webhookUrl;
520
+ P6 autoSubmit;
521
+ P7 acceptAiProviders;
522
+ P8 webhookUrl;
377
523
  bool operator==(const NativeInappRnSdkRequest &other) const {
378
- return appId == other.appId && secret == other.secret && providerId == other.providerId && session == other.session && contextString == other.contextString && parameters == other.parameters && hideLanding == other.hideLanding && autoSubmit == other.autoSubmit && acceptAiProviders == other.acceptAiProviders && webhookUrl == other.webhookUrl;
524
+ return appId == other.appId && secret == other.secret && providerId == other.providerId && session == other.session && contextString == other.contextString && parameters == other.parameters && autoSubmit == other.autoSubmit && acceptAiProviders == other.acceptAiProviders && webhookUrl == other.webhookUrl;
379
525
  }
380
526
  };
381
527
 
@@ -394,7 +540,6 @@ struct NativeInappRnSdkRequestBridging {
394
540
  bridging::fromJs<decltype(types.session)>(rt, value.getProperty(rt, "session"), jsInvoker),
395
541
  bridging::fromJs<decltype(types.contextString)>(rt, value.getProperty(rt, "contextString"), jsInvoker),
396
542
  bridging::fromJs<decltype(types.parameters)>(rt, value.getProperty(rt, "parameters"), jsInvoker),
397
- bridging::fromJs<decltype(types.hideLanding)>(rt, value.getProperty(rt, "hideLanding"), jsInvoker),
398
543
  bridging::fromJs<decltype(types.autoSubmit)>(rt, value.getProperty(rt, "autoSubmit"), jsInvoker),
399
544
  bridging::fromJs<decltype(types.acceptAiProviders)>(rt, value.getProperty(rt, "acceptAiProviders"), jsInvoker),
400
545
  bridging::fromJs<decltype(types.webhookUrl)>(rt, value.getProperty(rt, "webhookUrl"), jsInvoker)};
@@ -426,10 +571,6 @@ struct NativeInappRnSdkRequestBridging {
426
571
  return bridging::toJs(rt, value);
427
572
  }
428
573
 
429
- static bool hideLandingToJs(jsi::Runtime &rt, decltype(types.hideLanding) value) {
430
- return bridging::toJs(rt, value);
431
- }
432
-
433
574
  static bool autoSubmitToJs(jsi::Runtime &rt, decltype(types.autoSubmit) value) {
434
575
  return bridging::toJs(rt, value);
435
576
  }
@@ -460,9 +601,6 @@ struct NativeInappRnSdkRequestBridging {
460
601
  if (value.parameters) {
461
602
  result.setProperty(rt, "parameters", bridging::toJs(rt, value.parameters.value(), jsInvoker));
462
603
  }
463
- if (value.hideLanding) {
464
- result.setProperty(rt, "hideLanding", bridging::toJs(rt, value.hideLanding.value(), jsInvoker));
465
- }
466
604
  if (value.autoSubmit) {
467
605
  result.setProperty(rt, "autoSubmit", bridging::toJs(rt, value.autoSubmit.value(), jsInvoker));
468
606
  }
@@ -816,7 +954,9 @@ public:
816
954
  virtual jsi::Value startVerification(jsi::Runtime &rt, jsi::Object request) = 0;
817
955
  virtual jsi::Value startVerificationFromUrl(jsi::Runtime &rt, jsi::String requestUrl) = 0;
818
956
  virtual jsi::Value setOverrides(jsi::Runtime &rt, jsi::Object overrides) = 0;
957
+ virtual jsi::Value clearAllOverrides(jsi::Runtime &rt) = 0;
819
958
  virtual void reply(jsi::Runtime &rt, jsi::String replyId, bool reply) = 0;
959
+ virtual void replyWithProviderInformation(jsi::Runtime &rt, jsi::String replyId, jsi::String providerInformation) = 0;
820
960
  virtual jsi::Value ping(jsi::Runtime &rt) = 0;
821
961
 
822
962
  };
@@ -867,6 +1007,20 @@ protected:
867
1007
  });
868
1008
  }
869
1009
 
1010
+ template <typename OnSessionIdentityUpdateType> void emitOnSessionIdentityUpdate(OnSessionIdentityUpdateType value) {
1011
+ static_assert(bridging::supportsFromJs<OnSessionIdentityUpdateType, jsi::Object>, "value cannnot be converted to jsi::Object");
1012
+ static_cast<AsyncEventEmitter<jsi::Value>&>(*delegate_.eventEmitterMap_["onSessionIdentityUpdate"]).emit([jsInvoker = jsInvoker_, eventValue = value](jsi::Runtime& rt) -> jsi::Value {
1013
+ return bridging::toJs(rt, eventValue, jsInvoker);
1014
+ });
1015
+ }
1016
+
1017
+ template <typename OnProviderInformationRequestType> void emitOnProviderInformationRequest(OnProviderInformationRequestType value) {
1018
+ static_assert(bridging::supportsFromJs<OnProviderInformationRequestType, jsi::Object>, "value cannnot be converted to jsi::Object");
1019
+ static_cast<AsyncEventEmitter<jsi::Value>&>(*delegate_.eventEmitterMap_["onProviderInformationRequest"]).emit([jsInvoker = jsInvoker_, eventValue = value](jsi::Runtime& rt) -> jsi::Value {
1020
+ return bridging::toJs(rt, eventValue, jsInvoker);
1021
+ });
1022
+ }
1023
+
870
1024
  private:
871
1025
  class Delegate : public NativeInappRnSdkCxxSpecJSI {
872
1026
  public:
@@ -876,6 +1030,8 @@ private:
876
1030
  eventEmitterMap_["onSessionLogs"] = std::make_shared<AsyncEventEmitter<jsi::Value>>();
877
1031
  eventEmitterMap_["onSessionCreateRequest"] = std::make_shared<AsyncEventEmitter<jsi::Value>>();
878
1032
  eventEmitterMap_["onSessionUpdateRequest"] = std::make_shared<AsyncEventEmitter<jsi::Value>>();
1033
+ eventEmitterMap_["onSessionIdentityUpdate"] = std::make_shared<AsyncEventEmitter<jsi::Value>>();
1034
+ eventEmitterMap_["onProviderInformationRequest"] = std::make_shared<AsyncEventEmitter<jsi::Value>>();
879
1035
  }
880
1036
 
881
1037
  jsi::Value startVerification(jsi::Runtime &rt, jsi::Object request) override {
@@ -902,6 +1058,14 @@ private:
902
1058
  return bridging::callFromJs<jsi::Value>(
903
1059
  rt, &T::setOverrides, jsInvoker_, instance_, std::move(overrides));
904
1060
  }
1061
+ jsi::Value clearAllOverrides(jsi::Runtime &rt) override {
1062
+ static_assert(
1063
+ bridging::getParameterCount(&T::clearAllOverrides) == 1,
1064
+ "Expected clearAllOverrides(...) to have 1 parameters");
1065
+
1066
+ return bridging::callFromJs<jsi::Value>(
1067
+ rt, &T::clearAllOverrides, jsInvoker_, instance_);
1068
+ }
905
1069
  void reply(jsi::Runtime &rt, jsi::String replyId, bool reply) override {
906
1070
  static_assert(
907
1071
  bridging::getParameterCount(&T::reply) == 3,
@@ -910,6 +1074,14 @@ private:
910
1074
  return bridging::callFromJs<void>(
911
1075
  rt, &T::reply, jsInvoker_, instance_, std::move(replyId), std::move(reply));
912
1076
  }
1077
+ void replyWithProviderInformation(jsi::Runtime &rt, jsi::String replyId, jsi::String providerInformation) override {
1078
+ static_assert(
1079
+ bridging::getParameterCount(&T::replyWithProviderInformation) == 3,
1080
+ "Expected replyWithProviderInformation(...) to have 3 parameters");
1081
+
1082
+ return bridging::callFromJs<void>(
1083
+ rt, &T::replyWithProviderInformation, jsInvoker_, instance_, std::move(replyId), std::move(providerInformation));
1084
+ }
913
1085
  jsi::Value ping(jsi::Runtime &rt) override {
914
1086
  static_assert(
915
1087
  bridging::getParameterCount(&T::ping) == 1,