@reclaimprotocol/inapp-rn-sdk 0.7.2 → 0.8.3

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 (40) hide show
  1. package/InappRnSdk.podspec +1 -1
  2. package/README.md +7 -6
  3. package/android/build.gradle +1 -1
  4. package/android/generated/java/com/reclaimprotocol/inapp_rn_sdk/NativeInappRnSdkSpec.java +4 -0
  5. package/android/generated/jni/RNInappRnSdkSpec-generated.cpp +6 -0
  6. package/android/generated/jni/react/renderer/components/RNInappRnSdkSpec/RNInappRnSdkSpecJSI-generated.cpp +7 -0
  7. package/android/generated/jni/react/renderer/components/RNInappRnSdkSpec/RNInappRnSdkSpecJSI.h +95 -22
  8. package/android/src/main/java/com/reclaimprotocol/inapp_rn_sdk/InappRnSdkModule.kt +44 -9
  9. package/android/src/main/java/com/reclaimprotocol/inapp_rn_sdk/JsonExtension.kt +18 -0
  10. package/ios/InappRnSdk.mm +266 -138
  11. package/ios/generated/RNInappRnSdkSpec/RNInappRnSdkSpec-generated.mm +13 -0
  12. package/ios/generated/RNInappRnSdkSpec/RNInappRnSdkSpec.h +45 -10
  13. package/ios/generated/RNInappRnSdkSpecJSI-generated.cpp +7 -0
  14. package/ios/generated/RNInappRnSdkSpecJSI.h +95 -22
  15. package/ios/inapp_rn_sdk/Api.swift +322 -154
  16. package/lib/commonjs/index.js +36 -1
  17. package/lib/commonjs/index.js.map +1 -1
  18. package/lib/commonjs/specs/NativeInappRnSdk.js.map +1 -1
  19. package/lib/module/index.js +36 -1
  20. package/lib/module/index.js.map +1 -1
  21. package/lib/module/specs/NativeInappRnSdk.js.map +1 -1
  22. package/lib/typescript/commonjs/src/index.d.ts +18 -2
  23. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  24. package/lib/typescript/commonjs/src/specs/NativeInappRnSdk.d.ts +22 -2
  25. package/lib/typescript/commonjs/src/specs/NativeInappRnSdk.d.ts.map +1 -1
  26. package/lib/typescript/commonjs/user-workspace/src/App.d.ts +2 -0
  27. package/lib/typescript/commonjs/user-workspace/src/App.d.ts.map +1 -0
  28. package/lib/typescript/commonjs/user-workspace/src/App.overrides.d.ts +2 -0
  29. package/lib/typescript/commonjs/user-workspace/src/App.overrides.d.ts.map +1 -0
  30. package/lib/typescript/module/src/index.d.ts +18 -2
  31. package/lib/typescript/module/src/index.d.ts.map +1 -1
  32. package/lib/typescript/module/src/specs/NativeInappRnSdk.d.ts +22 -2
  33. package/lib/typescript/module/src/specs/NativeInappRnSdk.d.ts.map +1 -1
  34. package/lib/typescript/module/user-workspace/src/App.d.ts +2 -0
  35. package/lib/typescript/module/user-workspace/src/App.d.ts.map +1 -0
  36. package/lib/typescript/module/user-workspace/src/App.overrides.d.ts +2 -0
  37. package/lib/typescript/module/user-workspace/src/App.overrides.d.ts.map +1 -0
  38. package/package.json +8 -7
  39. package/src/index.ts +59 -3
  40. package/src/specs/NativeInappRnSdk.ts +24 -2
@@ -23,6 +23,12 @@ static jsi::Value __hostFunction_NativeInappRnSdkCxxSpecJSI_startVerificationFro
23
23
  count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt)
24
24
  );
25
25
  }
26
+ static jsi::Value __hostFunction_NativeInappRnSdkCxxSpecJSI_startVerificationFromJson(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
27
+ return static_cast<NativeInappRnSdkCxxSpecJSI *>(&turboModule)->startVerificationFromJson(
28
+ rt,
29
+ count <= 0 ? throw jsi::JSError(rt, "Expected argument in position 0 to be passed") : args[0].asString(rt)
30
+ );
31
+ }
26
32
  static jsi::Value __hostFunction_NativeInappRnSdkCxxSpecJSI_setOverrides(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
27
33
  return static_cast<NativeInappRnSdkCxxSpecJSI *>(&turboModule)->setOverrides(
28
34
  rt,
@@ -66,6 +72,7 @@ NativeInappRnSdkCxxSpecJSI::NativeInappRnSdkCxxSpecJSI(std::shared_ptr<CallInvok
66
72
  : TurboModule("InappRnSdk", jsInvoker) {
67
73
  methodMap_["startVerification"] = MethodMetadata {1, __hostFunction_NativeInappRnSdkCxxSpecJSI_startVerification};
68
74
  methodMap_["startVerificationFromUrl"] = MethodMetadata {1, __hostFunction_NativeInappRnSdkCxxSpecJSI_startVerificationFromUrl};
75
+ methodMap_["startVerificationFromJson"] = MethodMetadata {1, __hostFunction_NativeInappRnSdkCxxSpecJSI_startVerificationFromJson};
69
76
  methodMap_["setOverrides"] = MethodMetadata {1, __hostFunction_NativeInappRnSdkCxxSpecJSI_setOverrides};
70
77
  methodMap_["clearAllOverrides"] = MethodMetadata {0, __hostFunction_NativeInappRnSdkCxxSpecJSI_clearAllOverrides};
71
78
  methodMap_["setVerificationOptions"] = MethodMetadata {1, __hostFunction_NativeInappRnSdkCxxSpecJSI_setVerificationOptions};
@@ -18,7 +18,7 @@ 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>
21
+ template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7>
22
22
  struct NativeInappRnSdkFeatureOptions {
23
23
  P0 cookiePersist;
24
24
  P1 singleReclaimRequest;
@@ -26,8 +26,10 @@ struct NativeInappRnSdkFeatureOptions {
26
26
  P3 sessionTimeoutForManualVerificationTrigger;
27
27
  P4 attestorBrowserRpcUrl;
28
28
  P5 isAIFlowEnabled;
29
+ P6 manualReviewMessage;
30
+ P7 loginPromptMessage;
29
31
  bool operator==(const NativeInappRnSdkFeatureOptions &other) const {
30
- return cookiePersist == other.cookiePersist && singleReclaimRequest == other.singleReclaimRequest && idleTimeThresholdForManualVerificationTrigger == other.idleTimeThresholdForManualVerificationTrigger && sessionTimeoutForManualVerificationTrigger == other.sessionTimeoutForManualVerificationTrigger && attestorBrowserRpcUrl == other.attestorBrowserRpcUrl && isAIFlowEnabled == other.isAIFlowEnabled;
32
+ return cookiePersist == other.cookiePersist && singleReclaimRequest == other.singleReclaimRequest && idleTimeThresholdForManualVerificationTrigger == other.idleTimeThresholdForManualVerificationTrigger && sessionTimeoutForManualVerificationTrigger == other.sessionTimeoutForManualVerificationTrigger && attestorBrowserRpcUrl == other.attestorBrowserRpcUrl && isAIFlowEnabled == other.isAIFlowEnabled && manualReviewMessage == other.manualReviewMessage && loginPromptMessage == other.loginPromptMessage;
31
33
  }
32
34
  };
33
35
 
@@ -45,7 +47,9 @@ struct NativeInappRnSdkFeatureOptionsBridging {
45
47
  bridging::fromJs<decltype(types.idleTimeThresholdForManualVerificationTrigger)>(rt, value.getProperty(rt, "idleTimeThresholdForManualVerificationTrigger"), jsInvoker),
46
48
  bridging::fromJs<decltype(types.sessionTimeoutForManualVerificationTrigger)>(rt, value.getProperty(rt, "sessionTimeoutForManualVerificationTrigger"), jsInvoker),
47
49
  bridging::fromJs<decltype(types.attestorBrowserRpcUrl)>(rt, value.getProperty(rt, "attestorBrowserRpcUrl"), jsInvoker),
48
- bridging::fromJs<decltype(types.isAIFlowEnabled)>(rt, value.getProperty(rt, "isAIFlowEnabled"), jsInvoker)};
50
+ bridging::fromJs<decltype(types.isAIFlowEnabled)>(rt, value.getProperty(rt, "isAIFlowEnabled"), jsInvoker),
51
+ bridging::fromJs<decltype(types.manualReviewMessage)>(rt, value.getProperty(rt, "manualReviewMessage"), jsInvoker),
52
+ bridging::fromJs<decltype(types.loginPromptMessage)>(rt, value.getProperty(rt, "loginPromptMessage"), jsInvoker)};
49
53
  return result;
50
54
  }
51
55
 
@@ -73,6 +77,14 @@ struct NativeInappRnSdkFeatureOptionsBridging {
73
77
  static std::optional<bool> isAIFlowEnabledToJs(jsi::Runtime &rt, decltype(types.isAIFlowEnabled) value) {
74
78
  return bridging::toJs(rt, value);
75
79
  }
80
+
81
+ static std::optional<jsi::String> manualReviewMessageToJs(jsi::Runtime &rt, decltype(types.manualReviewMessage) value) {
82
+ return bridging::toJs(rt, value);
83
+ }
84
+
85
+ static std::optional<jsi::String> loginPromptMessageToJs(jsi::Runtime &rt, decltype(types.loginPromptMessage) value) {
86
+ return bridging::toJs(rt, value);
87
+ }
76
88
  #endif
77
89
 
78
90
  static jsi::Object toJs(
@@ -98,6 +110,12 @@ struct NativeInappRnSdkFeatureOptionsBridging {
98
110
  if (value.isAIFlowEnabled) {
99
111
  result.setProperty(rt, "isAIFlowEnabled", bridging::toJs(rt, value.isAIFlowEnabled.value(), jsInvoker));
100
112
  }
113
+ if (value.manualReviewMessage) {
114
+ result.setProperty(rt, "manualReviewMessage", bridging::toJs(rt, value.manualReviewMessage.value(), jsInvoker));
115
+ }
116
+ if (value.loginPromptMessage) {
117
+ result.setProperty(rt, "loginPromptMessage", bridging::toJs(rt, value.loginPromptMessage.value(), jsInvoker));
118
+ }
101
119
  return result;
102
120
  }
103
121
  };
@@ -386,6 +404,54 @@ struct NativeInappRnSdkProviderInformationRequestBridging {
386
404
 
387
405
 
388
406
 
407
+ #pragma mark - NativeInappRnSdkProviderVersion
408
+
409
+ template <typename P0, typename P1>
410
+ struct NativeInappRnSdkProviderVersion {
411
+ P0 resolvedVersion;
412
+ P1 versionExpression;
413
+ bool operator==(const NativeInappRnSdkProviderVersion &other) const {
414
+ return resolvedVersion == other.resolvedVersion && versionExpression == other.versionExpression;
415
+ }
416
+ };
417
+
418
+ template <typename T>
419
+ struct NativeInappRnSdkProviderVersionBridging {
420
+ static T types;
421
+
422
+ static T fromJs(
423
+ jsi::Runtime &rt,
424
+ const jsi::Object &value,
425
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
426
+ T result{
427
+ bridging::fromJs<decltype(types.resolvedVersion)>(rt, value.getProperty(rt, "resolvedVersion"), jsInvoker),
428
+ bridging::fromJs<decltype(types.versionExpression)>(rt, value.getProperty(rt, "versionExpression"), jsInvoker)};
429
+ return result;
430
+ }
431
+
432
+ #ifdef DEBUG
433
+ static jsi::String resolvedVersionToJs(jsi::Runtime &rt, decltype(types.resolvedVersion) value) {
434
+ return bridging::toJs(rt, value);
435
+ }
436
+
437
+ static jsi::String versionExpressionToJs(jsi::Runtime &rt, decltype(types.versionExpression) value) {
438
+ return bridging::toJs(rt, value);
439
+ }
440
+ #endif
441
+
442
+ static jsi::Object toJs(
443
+ jsi::Runtime &rt,
444
+ const T &value,
445
+ const std::shared_ptr<CallInvoker> &jsInvoker) {
446
+ auto result = facebook::jsi::Object(rt);
447
+ result.setProperty(rt, "resolvedVersion", bridging::toJs(rt, value.resolvedVersion, jsInvoker));
448
+ result.setProperty(rt, "versionExpression", bridging::toJs(rt, value.versionExpression, jsInvoker));
449
+ return result;
450
+ }
451
+ };
452
+
453
+
454
+
389
455
  #pragma mark - NativeInappRnSdkReclaimAppInfo
390
456
 
391
457
  template <typename P0, typename P1, typename P2>
@@ -548,7 +614,7 @@ struct NativeInappRnSdkReclaimSessionIdentityUpdateBridging {
548
614
 
549
615
  #pragma mark - NativeInappRnSdkRequest
550
616
 
551
- template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6, typename P7>
617
+ template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5, typename P6>
552
618
  struct NativeInappRnSdkRequest {
553
619
  P0 appId;
554
620
  P1 secret;
@@ -556,10 +622,9 @@ struct NativeInappRnSdkRequest {
556
622
  P3 session;
557
623
  P4 contextString;
558
624
  P5 parameters;
559
- P6 acceptAiProviders;
560
- P7 webhookUrl;
625
+ P6 providerVersion;
561
626
  bool operator==(const NativeInappRnSdkRequest &other) const {
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;
627
+ return appId == other.appId && secret == other.secret && providerId == other.providerId && session == other.session && contextString == other.contextString && parameters == other.parameters && providerVersion == other.providerVersion;
563
628
  }
564
629
  };
565
630
 
@@ -578,8 +643,7 @@ struct NativeInappRnSdkRequestBridging {
578
643
  bridging::fromJs<decltype(types.session)>(rt, value.getProperty(rt, "session"), jsInvoker),
579
644
  bridging::fromJs<decltype(types.contextString)>(rt, value.getProperty(rt, "contextString"), jsInvoker),
580
645
  bridging::fromJs<decltype(types.parameters)>(rt, value.getProperty(rt, "parameters"), jsInvoker),
581
- bridging::fromJs<decltype(types.acceptAiProviders)>(rt, value.getProperty(rt, "acceptAiProviders"), jsInvoker),
582
- bridging::fromJs<decltype(types.webhookUrl)>(rt, value.getProperty(rt, "webhookUrl"), jsInvoker)};
646
+ bridging::fromJs<decltype(types.providerVersion)>(rt, value.getProperty(rt, "providerVersion"), jsInvoker)};
583
647
  return result;
584
648
  }
585
649
 
@@ -608,11 +672,7 @@ struct NativeInappRnSdkRequestBridging {
608
672
  return bridging::toJs(rt, value);
609
673
  }
610
674
 
611
- static bool acceptAiProvidersToJs(jsi::Runtime &rt, decltype(types.acceptAiProviders) value) {
612
- return bridging::toJs(rt, value);
613
- }
614
-
615
- static std::optional<jsi::String> webhookUrlToJs(jsi::Runtime &rt, decltype(types.webhookUrl) value) {
675
+ static std::optional<jsi::Object> providerVersionToJs(jsi::Runtime &rt, decltype(types.providerVersion) value) {
616
676
  return bridging::toJs(rt, value);
617
677
  }
618
678
  #endif
@@ -634,11 +694,8 @@ struct NativeInappRnSdkRequestBridging {
634
694
  if (value.parameters) {
635
695
  result.setProperty(rt, "parameters", bridging::toJs(rt, value.parameters.value(), jsInvoker));
636
696
  }
637
- if (value.acceptAiProviders) {
638
- result.setProperty(rt, "acceptAiProviders", bridging::toJs(rt, value.acceptAiProviders.value(), jsInvoker));
639
- }
640
- if (value.webhookUrl) {
641
- result.setProperty(rt, "webhookUrl", bridging::toJs(rt, value.webhookUrl.value(), jsInvoker));
697
+ if (value.providerVersion) {
698
+ result.setProperty(rt, "providerVersion", bridging::toJs(rt, value.providerVersion.value(), jsInvoker));
642
699
  }
643
700
  return result;
644
701
  }
@@ -703,15 +760,16 @@ struct NativeInappRnSdkResponseBridging {
703
760
 
704
761
  #pragma mark - NativeInappRnSdkSessionCreateRequestEvent
705
762
 
706
- template <typename P0, typename P1, typename P2, typename P3, typename P4>
763
+ template <typename P0, typename P1, typename P2, typename P3, typename P4, typename P5>
707
764
  struct NativeInappRnSdkSessionCreateRequestEvent {
708
765
  P0 appId;
709
766
  P1 providerId;
710
767
  P2 timestamp;
711
768
  P3 signature;
712
- P4 replyId;
769
+ P4 providerVersion;
770
+ P5 replyId;
713
771
  bool operator==(const NativeInappRnSdkSessionCreateRequestEvent &other) const {
714
- return appId == other.appId && providerId == other.providerId && timestamp == other.timestamp && signature == other.signature && replyId == other.replyId;
772
+ return appId == other.appId && providerId == other.providerId && timestamp == other.timestamp && signature == other.signature && providerVersion == other.providerVersion && replyId == other.replyId;
715
773
  }
716
774
  };
717
775
 
@@ -728,6 +786,7 @@ struct NativeInappRnSdkSessionCreateRequestEventBridging {
728
786
  bridging::fromJs<decltype(types.providerId)>(rt, value.getProperty(rt, "providerId"), jsInvoker),
729
787
  bridging::fromJs<decltype(types.timestamp)>(rt, value.getProperty(rt, "timestamp"), jsInvoker),
730
788
  bridging::fromJs<decltype(types.signature)>(rt, value.getProperty(rt, "signature"), jsInvoker),
789
+ bridging::fromJs<decltype(types.providerVersion)>(rt, value.getProperty(rt, "providerVersion"), jsInvoker),
731
790
  bridging::fromJs<decltype(types.replyId)>(rt, value.getProperty(rt, "replyId"), jsInvoker)};
732
791
  return result;
733
792
  }
@@ -749,6 +808,10 @@ struct NativeInappRnSdkSessionCreateRequestEventBridging {
749
808
  return bridging::toJs(rt, value);
750
809
  }
751
810
 
811
+ static jsi::String providerVersionToJs(jsi::Runtime &rt, decltype(types.providerVersion) value) {
812
+ return bridging::toJs(rt, value);
813
+ }
814
+
752
815
  static jsi::String replyIdToJs(jsi::Runtime &rt, decltype(types.replyId) value) {
753
816
  return bridging::toJs(rt, value);
754
817
  }
@@ -763,6 +826,7 @@ struct NativeInappRnSdkSessionCreateRequestEventBridging {
763
826
  result.setProperty(rt, "providerId", bridging::toJs(rt, value.providerId, jsInvoker));
764
827
  result.setProperty(rt, "timestamp", bridging::toJs(rt, value.timestamp, jsInvoker));
765
828
  result.setProperty(rt, "signature", bridging::toJs(rt, value.signature, jsInvoker));
829
+ result.setProperty(rt, "providerVersion", bridging::toJs(rt, value.providerVersion, jsInvoker));
766
830
  result.setProperty(rt, "replyId", bridging::toJs(rt, value.replyId, jsInvoker));
767
831
  return result;
768
832
  }
@@ -1102,6 +1166,7 @@ protected:
1102
1166
  public:
1103
1167
  virtual jsi::Value startVerification(jsi::Runtime &rt, jsi::Object request) = 0;
1104
1168
  virtual jsi::Value startVerificationFromUrl(jsi::Runtime &rt, jsi::String requestUrl) = 0;
1169
+ virtual jsi::Value startVerificationFromJson(jsi::Runtime &rt, jsi::String templateJsonString) = 0;
1105
1170
  virtual jsi::Value setOverrides(jsi::Runtime &rt, jsi::Object overrides) = 0;
1106
1171
  virtual jsi::Value clearAllOverrides(jsi::Runtime &rt) = 0;
1107
1172
  virtual jsi::Value setVerificationOptions(jsi::Runtime &rt, jsi::Object args) = 0;
@@ -1208,6 +1273,14 @@ private:
1208
1273
  return bridging::callFromJs<jsi::Value>(
1209
1274
  rt, &T::startVerificationFromUrl, jsInvoker_, instance_, std::move(requestUrl));
1210
1275
  }
1276
+ jsi::Value startVerificationFromJson(jsi::Runtime &rt, jsi::String templateJsonString) override {
1277
+ static_assert(
1278
+ bridging::getParameterCount(&T::startVerificationFromJson) == 2,
1279
+ "Expected startVerificationFromJson(...) to have 2 parameters");
1280
+
1281
+ return bridging::callFromJs<jsi::Value>(
1282
+ rt, &T::startVerificationFromJson, jsInvoker_, instance_, std::move(templateJsonString));
1283
+ }
1211
1284
  jsi::Value setOverrides(jsi::Runtime &rt, jsi::Object overrides) override {
1212
1285
  static_assert(
1213
1286
  bridging::getParameterCount(&T::setOverrides) == 2,