@reclaimprotocol/inapp-rn-sdk 0.3.0 → 0.6.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 (44) hide show
  1. package/InappRnSdk.podspec +2 -1
  2. package/README.md +19 -17
  3. package/android/build.gradle +3 -3
  4. package/android/generated/jni/react/renderer/components/RNInappRnSdkSpec/RNInappRnSdkSpecJSI.h +45 -35
  5. package/android/src/main/java/com/reclaimprotocol/inapp_rn_sdk/InappRnSdkModule.kt +18 -12
  6. package/ios/InappRnSdk.mm +8 -13
  7. package/ios/generated/RNInappRnSdkSpec/RNInappRnSdkSpec.h +18 -12
  8. package/ios/generated/RNInappRnSdkSpecJSI.h +45 -35
  9. package/ios/inapp_rn_sdk/Api.swift +32 -21
  10. package/lib/commonjs/index.js +327 -32
  11. package/lib/commonjs/index.js.map +1 -1
  12. package/lib/commonjs/specs/NativeInappRnSdk.js.map +1 -1
  13. package/lib/module/index.js +324 -14
  14. package/lib/module/index.js.map +1 -1
  15. package/lib/module/specs/NativeInappRnSdk.js.map +1 -1
  16. package/lib/typescript/commonjs/src/index.d.ts +170 -9
  17. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  18. package/lib/typescript/commonjs/src/specs/NativeInappRnSdk.d.ts +18 -11
  19. package/lib/typescript/commonjs/src/specs/NativeInappRnSdk.d.ts.map +1 -1
  20. package/lib/typescript/module/src/index.d.ts +170 -9
  21. package/lib/typescript/module/src/index.d.ts.map +1 -1
  22. package/lib/typescript/module/src/specs/NativeInappRnSdk.d.ts +18 -11
  23. package/lib/typescript/module/src/specs/NativeInappRnSdk.d.ts.map +1 -1
  24. package/package.json +4 -2
  25. package/src/index.ts +566 -21
  26. package/src/specs/NativeInappRnSdk.ts +22 -13
  27. package/lib/commonjs/ReclaimVerificationPlatformChannel.js +0 -306
  28. package/lib/commonjs/ReclaimVerificationPlatformChannel.js.map +0 -1
  29. package/lib/commonjs/types/proof.js +0 -16
  30. package/lib/commonjs/types/proof.js.map +0 -1
  31. package/lib/module/ReclaimVerificationPlatformChannel.js +0 -299
  32. package/lib/module/ReclaimVerificationPlatformChannel.js.map +0 -1
  33. package/lib/module/types/proof.js +0 -12
  34. package/lib/module/types/proof.js.map +0 -1
  35. package/lib/typescript/commonjs/src/ReclaimVerificationPlatformChannel.d.ts +0 -115
  36. package/lib/typescript/commonjs/src/ReclaimVerificationPlatformChannel.d.ts.map +0 -1
  37. package/lib/typescript/commonjs/src/types/proof.d.ts +0 -33
  38. package/lib/typescript/commonjs/src/types/proof.d.ts.map +0 -1
  39. package/lib/typescript/module/src/ReclaimVerificationPlatformChannel.d.ts +0 -115
  40. package/lib/typescript/module/src/ReclaimVerificationPlatformChannel.d.ts.map +0 -1
  41. package/lib/typescript/module/src/types/proof.d.ts +0 -33
  42. package/lib/typescript/module/src/types/proof.d.ts.map +0 -1
  43. package/src/ReclaimVerificationPlatformChannel.ts +0 -408
  44. package/src/types/proof.ts +0 -44
@@ -18,17 +18,16 @@ namespace facebook::react {
18
18
 
19
19
  #pragma mark - NativeInappRnSdkFeatureOptions
20
20
 
21
- template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6>
21
+ template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5>
22
22
  struct NativeInappRnSdkFeatureOptions {
23
23
  P0 cookiePersist;
24
24
  P1 singleReclaimRequest;
25
25
  P2 idleTimeThresholdForManualVerificationTrigger;
26
26
  P3 sessionTimeoutForManualVerificationTrigger;
27
27
  P4 attestorBrowserRpcUrl;
28
- P5 isResponseRedactionRegexEscapingEnabled;
29
- P6 isAIFlowEnabled;
28
+ P5 isAIFlowEnabled;
30
29
  bool operator==(const NativeInappRnSdkFeatureOptions &other) const {
31
- return cookiePersist == other.cookiePersist && singleReclaimRequest == other.singleReclaimRequest && idleTimeThresholdForManualVerificationTrigger == other.idleTimeThresholdForManualVerificationTrigger && sessionTimeoutForManualVerificationTrigger == other.sessionTimeoutForManualVerificationTrigger && attestorBrowserRpcUrl == other.attestorBrowserRpcUrl && isResponseRedactionRegexEscapingEnabled == other.isResponseRedactionRegexEscapingEnabled && isAIFlowEnabled == other.isAIFlowEnabled;
30
+ return cookiePersist == other.cookiePersist && singleReclaimRequest == other.singleReclaimRequest && idleTimeThresholdForManualVerificationTrigger == other.idleTimeThresholdForManualVerificationTrigger && sessionTimeoutForManualVerificationTrigger == other.sessionTimeoutForManualVerificationTrigger && attestorBrowserRpcUrl == other.attestorBrowserRpcUrl && isAIFlowEnabled == other.isAIFlowEnabled;
32
31
  }
33
32
  };
34
33
 
@@ -46,7 +45,6 @@ struct NativeInappRnSdkFeatureOptionsBridging {
46
45
  bridging::fromJs<decltype(types.idleTimeThresholdForManualVerificationTrigger)>(rt, value.getProperty(rt, "idleTimeThresholdForManualVerificationTrigger"), jsInvoker),
47
46
  bridging::fromJs<decltype(types.sessionTimeoutForManualVerificationTrigger)>(rt, value.getProperty(rt, "sessionTimeoutForManualVerificationTrigger"), jsInvoker),
48
47
  bridging::fromJs<decltype(types.attestorBrowserRpcUrl)>(rt, value.getProperty(rt, "attestorBrowserRpcUrl"), jsInvoker),
49
- bridging::fromJs<decltype(types.isResponseRedactionRegexEscapingEnabled)>(rt, value.getProperty(rt, "isResponseRedactionRegexEscapingEnabled"), jsInvoker),
50
48
  bridging::fromJs<decltype(types.isAIFlowEnabled)>(rt, value.getProperty(rt, "isAIFlowEnabled"), jsInvoker)};
51
49
  return result;
52
50
  }
@@ -72,10 +70,6 @@ struct NativeInappRnSdkFeatureOptionsBridging {
72
70
  return bridging::toJs(rt, value);
73
71
  }
74
72
 
75
- static std::optional<bool> isResponseRedactionRegexEscapingEnabledToJs(jsi::Runtime &rt, decltype(types.isResponseRedactionRegexEscapingEnabled) value) {
76
- return bridging::toJs(rt, value);
77
- }
78
-
79
73
  static std::optional<bool> isAIFlowEnabledToJs(jsi::Runtime &rt, decltype(types.isAIFlowEnabled) value) {
80
74
  return bridging::toJs(rt, value);
81
75
  }
@@ -101,9 +95,6 @@ struct NativeInappRnSdkFeatureOptionsBridging {
101
95
  if (value.attestorBrowserRpcUrl) {
102
96
  result.setProperty(rt, "attestorBrowserRpcUrl", bridging::toJs(rt, value.attestorBrowserRpcUrl.value(), jsInvoker));
103
97
  }
104
- if (value.isResponseRedactionRegexEscapingEnabled) {
105
- result.setProperty(rt, "isResponseRedactionRegexEscapingEnabled", bridging::toJs(rt, value.isResponseRedactionRegexEscapingEnabled.value(), jsInvoker));
106
- }
107
98
  if (value.isAIFlowEnabled) {
108
99
  result.setProperty(rt, "isAIFlowEnabled", bridging::toJs(rt, value.isAIFlowEnabled.value(), jsInvoker));
109
100
  }
@@ -557,7 +548,7 @@ struct NativeInappRnSdkReclaimSessionIdentityUpdateBridging {
557
548
 
558
549
  #pragma mark - NativeInappRnSdkRequest
559
550
 
560
- template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7, typename P8>
551
+ template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7>
561
552
  struct NativeInappRnSdkRequest {
562
553
  P0 appId;
563
554
  P1 secret;
@@ -565,11 +556,10 @@ struct NativeInappRnSdkRequest {
565
556
  P3 session;
566
557
  P4 contextString;
567
558
  P5 parameters;
568
- P6 autoSubmit;
569
- P7 acceptAiProviders;
570
- P8 webhookUrl;
559
+ P6 acceptAiProviders;
560
+ P7 webhookUrl;
571
561
  bool operator==(const NativeInappRnSdkRequest &other) const {
572
- 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;
562
+ return appId == other.appId && secret == other.secret && providerId == other.providerId && session == other.session && contextString == other.contextString && parameters == other.parameters && acceptAiProviders == other.acceptAiProviders && webhookUrl == other.webhookUrl;
573
563
  }
574
564
  };
575
565
 
@@ -588,7 +578,6 @@ struct NativeInappRnSdkRequestBridging {
588
578
  bridging::fromJs<decltype(types.session)>(rt, value.getProperty(rt, "session"), jsInvoker),
589
579
  bridging::fromJs<decltype(types.contextString)>(rt, value.getProperty(rt, "contextString"), jsInvoker),
590
580
  bridging::fromJs<decltype(types.parameters)>(rt, value.getProperty(rt, "parameters"), jsInvoker),
591
- bridging::fromJs<decltype(types.autoSubmit)>(rt, value.getProperty(rt, "autoSubmit"), jsInvoker),
592
581
  bridging::fromJs<decltype(types.acceptAiProviders)>(rt, value.getProperty(rt, "acceptAiProviders"), jsInvoker),
593
582
  bridging::fromJs<decltype(types.webhookUrl)>(rt, value.getProperty(rt, "webhookUrl"), jsInvoker)};
594
583
  return result;
@@ -619,10 +608,6 @@ struct NativeInappRnSdkRequestBridging {
619
608
  return bridging::toJs(rt, value);
620
609
  }
621
610
 
622
- static bool autoSubmitToJs(jsi::Runtime &rt, decltype(types.autoSubmit) value) {
623
- return bridging::toJs(rt, value);
624
- }
625
-
626
611
  static bool acceptAiProvidersToJs(jsi::Runtime &rt, decltype(types.acceptAiProviders) value) {
627
612
  return bridging::toJs(rt, value);
628
613
  }
@@ -649,9 +634,6 @@ struct NativeInappRnSdkRequestBridging {
649
634
  if (value.parameters) {
650
635
  result.setProperty(rt, "parameters", bridging::toJs(rt, value.parameters.value(), jsInvoker));
651
636
  }
652
- if (value.autoSubmit) {
653
- result.setProperty(rt, "autoSubmit", bridging::toJs(rt, value.autoSubmit.value(), jsInvoker));
654
- }
655
637
  if (value.acceptAiProviders) {
656
638
  result.setProperty(rt, "acceptAiProviders", bridging::toJs(rt, value.acceptAiProviders.value(), jsInvoker));
657
639
  }
@@ -721,14 +703,15 @@ struct NativeInappRnSdkResponseBridging {
721
703
 
722
704
  #pragma mark - NativeInappRnSdkSessionCreateRequestEvent
723
705
 
724
- template <typename P0, typename P1, typename P2, typename P3>
706
+ template <typename P0, typename P1, typename P2, typename P3, typename P4>
725
707
  struct NativeInappRnSdkSessionCreateRequestEvent {
726
708
  P0 appId;
727
709
  P1 providerId;
728
- P2 sessionId;
729
- P3 replyId;
710
+ P2 timestamp;
711
+ P3 signature;
712
+ P4 replyId;
730
713
  bool operator==(const NativeInappRnSdkSessionCreateRequestEvent &other) const {
731
- return appId == other.appId && providerId == other.providerId && sessionId == other.sessionId && replyId == other.replyId;
714
+ return appId == other.appId && providerId == other.providerId && timestamp == other.timestamp && signature == other.signature && replyId == other.replyId;
732
715
  }
733
716
  };
734
717
 
@@ -743,7 +726,8 @@ struct NativeInappRnSdkSessionCreateRequestEventBridging {
743
726
  T result{
744
727
  bridging::fromJs<decltype(types.appId)>(rt, value.getProperty(rt, "appId"), jsInvoker),
745
728
  bridging::fromJs<decltype(types.providerId)>(rt, value.getProperty(rt, "providerId"), jsInvoker),
746
- bridging::fromJs<decltype(types.sessionId)>(rt, value.getProperty(rt, "sessionId"), jsInvoker),
729
+ bridging::fromJs<decltype(types.timestamp)>(rt, value.getProperty(rt, "timestamp"), jsInvoker),
730
+ bridging::fromJs<decltype(types.signature)>(rt, value.getProperty(rt, "signature"), jsInvoker),
747
731
  bridging::fromJs<decltype(types.replyId)>(rt, value.getProperty(rt, "replyId"), jsInvoker)};
748
732
  return result;
749
733
  }
@@ -757,7 +741,11 @@ struct NativeInappRnSdkSessionCreateRequestEventBridging {
757
741
  return bridging::toJs(rt, value);
758
742
  }
759
743
 
760
- static jsi::String sessionIdToJs(jsi::Runtime &rt, decltype(types.sessionId) value) {
744
+ static jsi::String timestampToJs(jsi::Runtime &rt, decltype(types.timestamp) value) {
745
+ return bridging::toJs(rt, value);
746
+ }
747
+
748
+ static jsi::String signatureToJs(jsi::Runtime &rt, decltype(types.signature) value) {
761
749
  return bridging::toJs(rt, value);
762
750
  }
763
751
 
@@ -773,7 +761,8 @@ struct NativeInappRnSdkSessionCreateRequestEventBridging {
773
761
  auto result = facebook::jsi::Object(rt);
774
762
  result.setProperty(rt, "appId", bridging::toJs(rt, value.appId, jsInvoker));
775
763
  result.setProperty(rt, "providerId", bridging::toJs(rt, value.providerId, jsInvoker));
776
- result.setProperty(rt, "sessionId", bridging::toJs(rt, value.sessionId, jsInvoker));
764
+ result.setProperty(rt, "timestamp", bridging::toJs(rt, value.timestamp, jsInvoker));
765
+ result.setProperty(rt, "signature", bridging::toJs(rt, value.signature, jsInvoker));
777
766
  result.setProperty(rt, "replyId", bridging::toJs(rt, value.replyId, jsInvoker));
778
767
  return result;
779
768
  }
@@ -998,12 +987,15 @@ struct NativeInappRnSdkSessionUpdateRequestEventBridging {
998
987
 
999
988
  #pragma mark - NativeInappRnSdkVerificationOptions
1000
989
 
1001
- template <typename P0, typename P1>
990
+ template <typename P0, typename P1, typename P2, typename P3, typename P4>
1002
991
  struct NativeInappRnSdkVerificationOptions {
1003
992
  P0 canDeleteCookiesBeforeVerificationStarts;
1004
993
  P1 canUseAttestorAuthenticationRequest;
994
+ P2 claimCreationType;
995
+ P3 canAutoSubmit;
996
+ P4 isCloseButtonVisible;
1005
997
  bool operator==(const NativeInappRnSdkVerificationOptions &other) const {
1006
- return canDeleteCookiesBeforeVerificationStarts == other.canDeleteCookiesBeforeVerificationStarts && canUseAttestorAuthenticationRequest == other.canUseAttestorAuthenticationRequest;
998
+ return canDeleteCookiesBeforeVerificationStarts == other.canDeleteCookiesBeforeVerificationStarts && canUseAttestorAuthenticationRequest == other.canUseAttestorAuthenticationRequest && claimCreationType == other.claimCreationType && canAutoSubmit == other.canAutoSubmit && isCloseButtonVisible == other.isCloseButtonVisible;
1007
999
  }
1008
1000
  };
1009
1001
 
@@ -1017,7 +1009,10 @@ struct NativeInappRnSdkVerificationOptionsBridging {
1017
1009
  const std::shared_ptr<CallInvoker> &jsInvoker) {
1018
1010
  T result{
1019
1011
  bridging::fromJs<decltype(types.canDeleteCookiesBeforeVerificationStarts)>(rt, value.getProperty(rt, "canDeleteCookiesBeforeVerificationStarts"), jsInvoker),
1020
- bridging::fromJs<decltype(types.canUseAttestorAuthenticationRequest)>(rt, value.getProperty(rt, "canUseAttestorAuthenticationRequest"), jsInvoker)};
1012
+ bridging::fromJs<decltype(types.canUseAttestorAuthenticationRequest)>(rt, value.getProperty(rt, "canUseAttestorAuthenticationRequest"), jsInvoker),
1013
+ bridging::fromJs<decltype(types.claimCreationType)>(rt, value.getProperty(rt, "claimCreationType"), jsInvoker),
1014
+ bridging::fromJs<decltype(types.canAutoSubmit)>(rt, value.getProperty(rt, "canAutoSubmit"), jsInvoker),
1015
+ bridging::fromJs<decltype(types.isCloseButtonVisible)>(rt, value.getProperty(rt, "isCloseButtonVisible"), jsInvoker)};
1021
1016
  return result;
1022
1017
  }
1023
1018
 
@@ -1029,6 +1024,18 @@ struct NativeInappRnSdkVerificationOptionsBridging {
1029
1024
  static bool canUseAttestorAuthenticationRequestToJs(jsi::Runtime &rt, decltype(types.canUseAttestorAuthenticationRequest) value) {
1030
1025
  return bridging::toJs(rt, value);
1031
1026
  }
1027
+
1028
+ static jsi::String claimCreationTypeToJs(jsi::Runtime &rt, decltype(types.claimCreationType) value) {
1029
+ return bridging::toJs(rt, value);
1030
+ }
1031
+
1032
+ static bool canAutoSubmitToJs(jsi::Runtime &rt, decltype(types.canAutoSubmit) value) {
1033
+ return bridging::toJs(rt, value);
1034
+ }
1035
+
1036
+ static bool isCloseButtonVisibleToJs(jsi::Runtime &rt, decltype(types.isCloseButtonVisible) value) {
1037
+ return bridging::toJs(rt, value);
1038
+ }
1032
1039
  #endif
1033
1040
 
1034
1041
  static jsi::Object toJs(
@@ -1038,6 +1045,9 @@ struct NativeInappRnSdkVerificationOptionsBridging {
1038
1045
  auto result = facebook::jsi::Object(rt);
1039
1046
  result.setProperty(rt, "canDeleteCookiesBeforeVerificationStarts", bridging::toJs(rt, value.canDeleteCookiesBeforeVerificationStarts, jsInvoker));
1040
1047
  result.setProperty(rt, "canUseAttestorAuthenticationRequest", bridging::toJs(rt, value.canUseAttestorAuthenticationRequest, jsInvoker));
1048
+ result.setProperty(rt, "claimCreationType", bridging::toJs(rt, value.claimCreationType, jsInvoker));
1049
+ result.setProperty(rt, "canAutoSubmit", bridging::toJs(rt, value.canAutoSubmit, jsInvoker));
1050
+ result.setProperty(rt, "isCloseButtonVisible", bridging::toJs(rt, value.isCloseButtonVisible, jsInvoker));
1041
1051
  return result;
1042
1052
  }
1043
1053
  };
@@ -72,9 +72,8 @@ import ReclaimInAppSdk
72
72
  sessionSignature: String?,
73
73
  context: String?,
74
74
  parameters: [String: String]?,
75
- autoSubmit: Bool,
76
75
  acceptAiProviders: Bool,
77
- webhookUrl: String
76
+ webhookUrl: String?
78
77
  ) async throws -> [String: Any] {
79
78
  var session: ReclaimSessionInformation? = nil
80
79
  if let sessionTimestamp = sessionTimestamp, let sessionSessionId = sessionSessionId, let sessionSignature = sessionSignature {
@@ -92,7 +91,6 @@ import ReclaimInAppSdk
92
91
  session: session,
93
92
  context: context ?? "",
94
93
  parameters: parameters ?? [String:String](),
95
- autoSubmit: autoSubmit,
96
94
  acceptAiProviders: acceptAiProviders,
97
95
  webhookUrl: webhookUrl
98
96
  ))
@@ -102,7 +100,7 @@ import ReclaimInAppSdk
102
100
  session: session,
103
101
  context: context ?? "",
104
102
  parameters: parameters ?? [String:String](),
105
- autoSubmit: autoSubmit,
103
+ autoSubmit: true, // unused.
106
104
  acceptAiProviders: acceptAiProviders,
107
105
  webhookUrl: webhookUrl
108
106
  ))
@@ -134,14 +132,13 @@ import ReclaimInAppSdk
134
132
  nil
135
133
  }
136
134
 
137
- var featureOptionsOverrides: ReclaimOverrides.FeatureOptions? = if let featureOptions {
135
+ let featureOptionsOverrides: ReclaimOverrides.FeatureOptions? = if let featureOptions {
138
136
  .init(
139
137
  cookiePersist: featureOptions.cookiePersist?.boolValue,
140
138
  singleReclaimRequest: featureOptions.singleReclaimRequest?.boolValue,
141
139
  idleTimeThresholdForManualVerificationTrigger: featureOptions.idleTimeThresholdForManualVerificationTrigger?.int64Value,
142
140
  sessionTimeoutForManualVerificationTrigger: featureOptions.sessionTimeoutForManualVerificationTrigger?.int64Value,
143
141
  attestorBrowserRpcUrl: featureOptions.attestorBrowserRpcUrl,
144
- isResponseRedactionRegexEscapingEnabled: featureOptions.isResponseRedactionRegexEscapingEnabled?.boolValue,
145
142
  isAIFlowEnabled: featureOptions.isAIFlowEnabled?.boolValue
146
143
  )
147
144
  } else {
@@ -311,8 +308,6 @@ public typealias OverridenProviderCallback = (
311
308
  @objc public var sessionTimeoutForManualVerificationTrigger: NSNumber?
312
309
  @objc public var attestorBrowserRpcUrl: String?
313
310
  // bool
314
- @objc public var isResponseRedactionRegexEscapingEnabled: NSNumber?
315
- // bool
316
311
  @objc public var isAIFlowEnabled: NSNumber?
317
312
 
318
313
  @objc public init(
@@ -321,7 +316,6 @@ public typealias OverridenProviderCallback = (
321
316
  idleTimeThresholdForManualVerificationTrigger: NSNumber? = nil,
322
317
  sessionTimeoutForManualVerificationTrigger: NSNumber? = nil,
323
318
  attestorBrowserRpcUrl: String? = nil,
324
- isResponseRedactionRegexEscapingEnabled: NSNumber? = nil,
325
319
  isAIFlowEnabled: NSNumber? = nil
326
320
  ) {
327
321
  self.cookiePersist = cookiePersist
@@ -329,7 +323,6 @@ public typealias OverridenProviderCallback = (
329
323
  self.idleTimeThresholdForManualVerificationTrigger = idleTimeThresholdForManualVerificationTrigger
330
324
  self.sessionTimeoutForManualVerificationTrigger = sessionTimeoutForManualVerificationTrigger
331
325
  self.attestorBrowserRpcUrl = attestorBrowserRpcUrl
332
- self.isResponseRedactionRegexEscapingEnabled = isResponseRedactionRegexEscapingEnabled
333
326
  self.isAIFlowEnabled = isAIFlowEnabled
334
327
  }
335
328
  }
@@ -392,7 +385,8 @@ public typealias OverridenProviderCallback = (
392
385
  public typealias OverridenCreateSessionCallback = (
393
386
  _ appId: String,
394
387
  _ providerId: String,
395
- _ sessionId: String,
388
+ _ timestamp: String,
389
+ _ signature: String,
396
390
  _ replyId: String
397
391
  ) -> Void
398
392
  public typealias OverridenUpdateSessionCallback = (
@@ -416,7 +410,6 @@ public typealias OverridenLogSessionCallback = (
416
410
  }
417
411
 
418
412
  @objc(OverridenSessionHandler) public class OverridenSessionHandler: NSObject, ReclaimOverrides.SessionManagement.SessionHandler {
419
-
420
413
  @objc let _createSession: OverridenCreateSessionCallback
421
414
  @objc let _updateSession: OverridenUpdateSessionCallback
422
415
  @objc let _logSession: OverridenLogSessionCallback
@@ -430,12 +423,9 @@ public typealias OverridenLogSessionCallback = (
430
423
  self._updateSession = _updateSession
431
424
  self._logSession = _logSession
432
425
  }
433
-
434
- public func createSession(
435
- appId: String, providerId: String, sessionId: String, completion: @escaping (Result<Bool, any Error>) -> Void
436
- ) {
437
- let replyId = Api.setReplyCallback(completion)
438
- self._createSession(appId, providerId, sessionId, replyId)
426
+ public func createSession(appId: String, providerId: String, timestamp: String, signature: String, completion: @escaping (Result<String, any Error>) -> Void) {
427
+ let replyId = Api.setReplyWithStringCallback(completion)
428
+ self._createSession(appId, providerId, timestamp, signature, replyId)
439
429
  }
440
430
 
441
431
  public func updateSession(
@@ -469,7 +459,8 @@ public typealias OverridenLogSessionCallback = (
469
459
  appId: String,
470
460
  providerId: String,
471
461
  sessionId: String,
472
- logType: String
462
+ logType: String,
463
+ metadata: [String : (any Sendable)?]?
473
464
  ) {
474
465
  self._logSession(appId, providerId, sessionId, logType)
475
466
  }
@@ -484,10 +475,17 @@ public typealias ReclaimVerificationOptionFetchAttestorAuthRequestHandler = (
484
475
  @objc(ReclaimApiVerificationOptions) public class ReclaimApiVerificationOptions: NSObject {
485
476
  public let canDeleteCookiesBeforeVerificationStarts: Bool
486
477
  public let attestorAuthRequestProvider: ReclaimVerification.VerificationOptions.AttestorAuthRequestProvider?
478
+ public let claimCreationType: String?
479
+ public let canAutoSubmit: Bool
480
+ public let isCloseButtonVisible: Bool
481
+
487
482
 
488
483
  @objc public init(
489
484
  canDeleteCookiesBeforeVerificationStarts: Bool,
490
- fetchAttestorAuthenticationRequest: ReclaimVerificationOptionFetchAttestorAuthRequestHandler?
485
+ fetchAttestorAuthenticationRequest: ReclaimVerificationOptionFetchAttestorAuthRequestHandler?,
486
+ claimCreationType: String?,
487
+ canAutoSubmit: Bool,
488
+ isCloseButtonVisible: Bool
491
489
  ) {
492
490
  self.canDeleteCookiesBeforeVerificationStarts = canDeleteCookiesBeforeVerificationStarts
493
491
  if let fetchAttestorAuthenticationRequest {
@@ -497,12 +495,25 @@ public typealias ReclaimVerificationOptionFetchAttestorAuthRequestHandler = (
497
495
  } else {
498
496
  self.attestorAuthRequestProvider = nil
499
497
  }
498
+ self.claimCreationType = claimCreationType
499
+ self.canAutoSubmit = canAutoSubmit
500
+ self.isCloseButtonVisible = isCloseButtonVisible
501
+ }
502
+
503
+ func claimCreationTypeApi() -> ReclaimVerification.VerificationOptions.ClaimCreationType {
504
+ switch (claimCreationType) {
505
+ case "meChain": return .meChain
506
+ case _: return .standalone
507
+ }
500
508
  }
501
509
 
502
510
  func toSdkOptions() -> ReclaimVerification.VerificationOptions {
503
511
  return .init(
504
512
  canDeleteCookiesBeforeVerificationStarts: canDeleteCookiesBeforeVerificationStarts,
505
- attestorAuthRequestProvider: attestorAuthRequestProvider
513
+ attestorAuthRequestProvider: attestorAuthRequestProvider,
514
+ claimCreationType: claimCreationTypeApi(),
515
+ canAutoSubmit: canAutoSubmit,
516
+ isCloseButtonVisible: isCloseButtonVisible,
506
517
  )
507
518
  }
508
519