@kindly-ai/react-native 1.0.13 → 1.0.15
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/README.md +54 -1
- package/android/src/main/java/com/kindlyai/reactnative/KindlyReactNativeModule.kt +73 -1
- package/ios/Frameworks/Kindly.xcframework/_CodeSignature/CodeDirectory +0 -0
- package/ios/Frameworks/Kindly.xcframework/_CodeSignature/CodeResources +52 -172
- package/ios/Frameworks/Kindly.xcframework/_CodeSignature/CodeSignature +0 -0
- package/ios/Frameworks/Kindly.xcframework/ios-arm64/Kindly.framework/Assets.car +0 -0
- package/ios/Frameworks/Kindly.xcframework/ios-arm64/Kindly.framework/ConfirmationWindow.nib +0 -0
- package/ios/Frameworks/Kindly.xcframework/ios-arm64/Kindly.framework/Headers/Kindly-Swift.h +72 -7
- package/ios/Frameworks/Kindly.xcframework/ios-arm64/Kindly.framework/Info.plist +0 -0
- package/ios/Frameworks/Kindly.xcframework/ios-arm64/Kindly.framework/Kindly +0 -0
- package/ios/Frameworks/Kindly.xcframework/ios-arm64/Kindly.framework/Modules/Kindly.swiftmodule/arm64-apple-ios.abi.json +598 -432
- package/ios/Frameworks/Kindly.xcframework/ios-arm64/Kindly.framework/Modules/Kindly.swiftmodule/arm64-apple-ios.private.swiftinterface +4 -4
- package/ios/Frameworks/Kindly.xcframework/ios-arm64/Kindly.framework/Modules/Kindly.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
- package/ios/Frameworks/Kindly.xcframework/ios-arm64/Kindly.framework/Modules/Kindly.swiftmodule/arm64-apple-ios.swiftinterface +3 -4
- package/ios/Frameworks/Kindly.xcframework/ios-arm64/Kindly.framework/Modules/module.modulemap +0 -1
- package/ios/Frameworks/Kindly.xcframework/ios-arm64/Kindly.framework/_CodeSignature/CodeResources +17 -17
- package/ios/Frameworks/Kindly.xcframework/ios-arm64_x86_64-simulator/Kindly.framework/Assets.car +0 -0
- package/ios/Frameworks/Kindly.xcframework/ios-arm64_x86_64-simulator/Kindly.framework/ConfirmationWindow.nib +0 -0
- package/ios/Frameworks/Kindly.xcframework/ios-arm64_x86_64-simulator/Kindly.framework/Headers/Kindly-Swift.h +146 -16
- package/ios/Frameworks/Kindly.xcframework/ios-arm64_x86_64-simulator/Kindly.framework/Info.plist +0 -0
- package/ios/Frameworks/Kindly.xcframework/ios-arm64_x86_64-simulator/Kindly.framework/Kindly +0 -0
- package/ios/Frameworks/Kindly.xcframework/ios-arm64_x86_64-simulator/Kindly.framework/Modules/Kindly.swiftmodule/arm64-apple-ios-simulator.abi.json +598 -432
- package/ios/Frameworks/Kindly.xcframework/ios-arm64_x86_64-simulator/Kindly.framework/Modules/Kindly.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +4 -4
- package/ios/Frameworks/Kindly.xcframework/ios-arm64_x86_64-simulator/Kindly.framework/Modules/Kindly.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
- package/ios/Frameworks/Kindly.xcframework/ios-arm64_x86_64-simulator/Kindly.framework/Modules/Kindly.swiftmodule/arm64-apple-ios-simulator.swiftinterface +3 -4
- package/ios/Frameworks/Kindly.xcframework/ios-arm64_x86_64-simulator/Kindly.framework/Modules/Kindly.swiftmodule/x86_64-apple-ios-simulator.abi.json +598 -432
- package/ios/Frameworks/Kindly.xcframework/ios-arm64_x86_64-simulator/Kindly.framework/Modules/Kindly.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +4 -4
- package/ios/Frameworks/Kindly.xcframework/ios-arm64_x86_64-simulator/Kindly.framework/Modules/Kindly.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
- package/ios/Frameworks/Kindly.xcframework/ios-arm64_x86_64-simulator/Kindly.framework/Modules/Kindly.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +3 -4
- package/ios/Frameworks/Kindly.xcframework/ios-arm64_x86_64-simulator/Kindly.framework/Modules/module.modulemap +0 -1
- package/ios/Frameworks/Kindly.xcframework/ios-arm64_x86_64-simulator/Kindly.framework/_CodeSignature/CodeResources +25 -25
- package/ios/KindlyReactNative.mm +24 -6
- package/ios/KindlyReactNativeImpl.swift +91 -3
- package/lib/module/NativeKindlyReactNative.js.map +1 -1
- package/lib/module/index.js +67 -1
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/NativeKindlyReactNative.d.ts +6 -1
- package/lib/typescript/src/NativeKindlyReactNative.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +75 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/NativeKindlyReactNative.ts +8 -1
- package/src/index.tsx +113 -1
- package/ios/Frameworks/Kindly.xcframework/_CodeSignature/CodeRequirements-1 +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// swift-interface-format-version: 1.0
|
|
2
|
-
// swift-compiler-version: Apple Swift version 6.
|
|
3
|
-
// swift-module-flags: -target x86_64-apple-ios15.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -
|
|
4
|
-
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -interface-compiler-version 6.
|
|
2
|
+
// swift-compiler-version: Apple Swift version 6.3.3 effective-5.10 (swiftlang-6.3.3.1.3 clang-2100.1.1.101)
|
|
3
|
+
// swift-module-flags: -target x86_64-apple-ios15.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name Kindly
|
|
4
|
+
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.3.3
|
|
5
5
|
import AVFoundation
|
|
6
6
|
import AVKit
|
|
7
7
|
import Combine
|
|
@@ -562,7 +562,7 @@ extension Kindly.KindlyChatClient {
|
|
|
562
562
|
final public class func triggerDialogue(id: Swift.String)
|
|
563
563
|
@discardableResult
|
|
564
564
|
final public class func handleURL(_ url: Foundation.URL) -> Swift.Bool
|
|
565
|
-
final public class func play()
|
|
565
|
+
@_spi(Testing) final public class func play()
|
|
566
566
|
}
|
|
567
567
|
@_spi(Testing) extension Kindly.KindlyChatClient {
|
|
568
568
|
@_spi(Testing) final public class func _overrideSettings(_ overrides: [Swift.String : Any])
|
|
Binary file
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// swift-interface-format-version: 1.0
|
|
2
|
-
// swift-compiler-version: Apple Swift version 6.
|
|
3
|
-
// swift-module-flags: -target x86_64-apple-ios15.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -
|
|
4
|
-
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -interface-compiler-version 6.
|
|
2
|
+
// swift-compiler-version: Apple Swift version 6.3.3 effective-5.10 (swiftlang-6.3.3.1.3 clang-2100.1.1.101)
|
|
3
|
+
// swift-module-flags: -target x86_64-apple-ios15.0-simulator -enable-objc-interop -enable-library-evolution -swift-version 5 -O -enable-experimental-feature DebugDescriptionMacro -enable-bare-slash-regex -module-name Kindly
|
|
4
|
+
// swift-module-flags-ignorable: -no-verify-emitted-module-interface -formal-cxx-interoperability-mode=off -interface-compiler-version 6.3.3
|
|
5
5
|
import AVFoundation
|
|
6
6
|
import AVKit
|
|
7
7
|
import Combine
|
|
@@ -562,7 +562,6 @@ extension Kindly.KindlyChatClient {
|
|
|
562
562
|
final public class func triggerDialogue(id: Swift.String)
|
|
563
563
|
@discardableResult
|
|
564
564
|
final public class func handleURL(_ url: Foundation.URL) -> Swift.Bool
|
|
565
|
-
final public class func play()
|
|
566
565
|
}
|
|
567
566
|
public typealias AuthTokenCallback = (_ chatId: Swift.String, _ promise: Kindly.Promise<Swift.String>) -> Swift.Void
|
|
568
567
|
extension Kindly.KindlyEventType : Swift.Equatable {}
|
|
@@ -6,15 +6,15 @@
|
|
|
6
6
|
<dict>
|
|
7
7
|
<key>Assets.car</key>
|
|
8
8
|
<data>
|
|
9
|
-
|
|
9
|
+
pb8HRKALxN+PXhfWzC+ZJ15eX0A=
|
|
10
10
|
</data>
|
|
11
11
|
<key>ConfirmationWindow.nib</key>
|
|
12
12
|
<data>
|
|
13
|
-
|
|
13
|
+
lt475aLovs+eAsFKv9oiNI35lA4=
|
|
14
14
|
</data>
|
|
15
15
|
<key>Headers/Kindly-Swift.h</key>
|
|
16
16
|
<data>
|
|
17
|
-
|
|
17
|
+
5lOAU2cddGgN0u78nmu7rsO67+w=
|
|
18
18
|
</data>
|
|
19
19
|
<key>Headers/Kindly.h</key>
|
|
20
20
|
<data>
|
|
@@ -22,43 +22,43 @@
|
|
|
22
22
|
</data>
|
|
23
23
|
<key>Info.plist</key>
|
|
24
24
|
<data>
|
|
25
|
-
|
|
25
|
+
w6OrHWHP/squHEXOqQgoIWt4/ew=
|
|
26
26
|
</data>
|
|
27
27
|
<key>Modules/Kindly.swiftmodule/arm64-apple-ios-simulator.abi.json</key>
|
|
28
28
|
<data>
|
|
29
|
-
|
|
29
|
+
i9OqVHaW9/eNgr2ha0guXp7up9Q=
|
|
30
30
|
</data>
|
|
31
31
|
<key>Modules/Kindly.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key>
|
|
32
32
|
<data>
|
|
33
|
-
|
|
33
|
+
QRsmsrJ1Hyq4SK0kTm2lzjnBD1k=
|
|
34
34
|
</data>
|
|
35
35
|
<key>Modules/Kindly.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key>
|
|
36
36
|
<data>
|
|
37
|
-
|
|
37
|
+
T+8SzWPlcStHyoNykICFtvtL1sM=
|
|
38
38
|
</data>
|
|
39
39
|
<key>Modules/Kindly.swiftmodule/arm64-apple-ios-simulator.swiftinterface</key>
|
|
40
40
|
<data>
|
|
41
|
-
|
|
41
|
+
gQoXpS8vgGwYTkLoPtBibaL7xh8=
|
|
42
42
|
</data>
|
|
43
43
|
<key>Modules/Kindly.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
|
|
44
44
|
<data>
|
|
45
|
-
|
|
45
|
+
i9OqVHaW9/eNgr2ha0guXp7up9Q=
|
|
46
46
|
</data>
|
|
47
47
|
<key>Modules/Kindly.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key>
|
|
48
48
|
<data>
|
|
49
|
-
|
|
49
|
+
ufhns/nZhX7ByanQc7DWf0s0WsQ=
|
|
50
50
|
</data>
|
|
51
51
|
<key>Modules/Kindly.swiftmodule/x86_64-apple-ios-simulator.swiftdoc</key>
|
|
52
52
|
<data>
|
|
53
|
-
|
|
53
|
+
zFtTDiaJfYw1NDeQxNWLdSb+oFo=
|
|
54
54
|
</data>
|
|
55
55
|
<key>Modules/Kindly.swiftmodule/x86_64-apple-ios-simulator.swiftinterface</key>
|
|
56
56
|
<data>
|
|
57
|
-
|
|
57
|
+
SNvlvh1KRvvLUk3d3+uOa33JnRA=
|
|
58
58
|
</data>
|
|
59
59
|
<key>Modules/module.modulemap</key>
|
|
60
60
|
<data>
|
|
61
|
-
|
|
61
|
+
S928CXQn5JlUgxmfC4x6bV0TKWA=
|
|
62
62
|
</data>
|
|
63
63
|
<key>PrivacyInfo.xcprivacy</key>
|
|
64
64
|
<data>
|
|
@@ -71,21 +71,21 @@
|
|
|
71
71
|
<dict>
|
|
72
72
|
<key>hash2</key>
|
|
73
73
|
<data>
|
|
74
|
-
|
|
74
|
+
ey78vbaAGGAofgnSK6XV7mHuSf7yN9GYnimtvVbGLAo=
|
|
75
75
|
</data>
|
|
76
76
|
</dict>
|
|
77
77
|
<key>ConfirmationWindow.nib</key>
|
|
78
78
|
<dict>
|
|
79
79
|
<key>hash2</key>
|
|
80
80
|
<data>
|
|
81
|
-
|
|
81
|
+
64LtNk/rVUhftyn+3fVZ/HQwxGIdmkq4Dxm5MIvMoDw=
|
|
82
82
|
</data>
|
|
83
83
|
</dict>
|
|
84
84
|
<key>Headers/Kindly-Swift.h</key>
|
|
85
85
|
<dict>
|
|
86
86
|
<key>hash2</key>
|
|
87
87
|
<data>
|
|
88
|
-
|
|
88
|
+
ZGEHHCg1j5xI95CFU1/uN04FIlho7wClooOa7fFz6kk=
|
|
89
89
|
</data>
|
|
90
90
|
</dict>
|
|
91
91
|
<key>Headers/Kindly.h</key>
|
|
@@ -99,63 +99,63 @@
|
|
|
99
99
|
<dict>
|
|
100
100
|
<key>hash2</key>
|
|
101
101
|
<data>
|
|
102
|
-
|
|
102
|
+
OyaJYj+Pe2tEent9Gu8gABrwW76tatP6tLrzdnY7B+w=
|
|
103
103
|
</data>
|
|
104
104
|
</dict>
|
|
105
105
|
<key>Modules/Kindly.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key>
|
|
106
106
|
<dict>
|
|
107
107
|
<key>hash2</key>
|
|
108
108
|
<data>
|
|
109
|
-
|
|
109
|
+
gws8iR7UEv2HzegdmeKQtj/lj3Y3j4vvWW91Zm5ZLxs=
|
|
110
110
|
</data>
|
|
111
111
|
</dict>
|
|
112
112
|
<key>Modules/Kindly.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key>
|
|
113
113
|
<dict>
|
|
114
114
|
<key>hash2</key>
|
|
115
115
|
<data>
|
|
116
|
-
|
|
116
|
+
RWXIxZq6GcQXrlWLdhQ/a3gAb2Ih2xQcE14WuaahXnY=
|
|
117
117
|
</data>
|
|
118
118
|
</dict>
|
|
119
119
|
<key>Modules/Kindly.swiftmodule/arm64-apple-ios-simulator.swiftinterface</key>
|
|
120
120
|
<dict>
|
|
121
121
|
<key>hash2</key>
|
|
122
122
|
<data>
|
|
123
|
-
|
|
123
|
+
ccysaYGogXhIwbsSC/xqFKkwBFzpcTS3lMSiIEgkGbc=
|
|
124
124
|
</data>
|
|
125
125
|
</dict>
|
|
126
126
|
<key>Modules/Kindly.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
|
|
127
127
|
<dict>
|
|
128
128
|
<key>hash2</key>
|
|
129
129
|
<data>
|
|
130
|
-
|
|
130
|
+
OyaJYj+Pe2tEent9Gu8gABrwW76tatP6tLrzdnY7B+w=
|
|
131
131
|
</data>
|
|
132
132
|
</dict>
|
|
133
133
|
<key>Modules/Kindly.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key>
|
|
134
134
|
<dict>
|
|
135
135
|
<key>hash2</key>
|
|
136
136
|
<data>
|
|
137
|
-
|
|
137
|
+
2uirprTVBIozWVm3naAquVGfhvPDQdj2ArVKZ32Q8fU=
|
|
138
138
|
</data>
|
|
139
139
|
</dict>
|
|
140
140
|
<key>Modules/Kindly.swiftmodule/x86_64-apple-ios-simulator.swiftdoc</key>
|
|
141
141
|
<dict>
|
|
142
142
|
<key>hash2</key>
|
|
143
143
|
<data>
|
|
144
|
-
|
|
144
|
+
z3iUIBO9r9mCqWAPyR96d2Z9VZA5fFbew2kBGaMnvvg=
|
|
145
145
|
</data>
|
|
146
146
|
</dict>
|
|
147
147
|
<key>Modules/Kindly.swiftmodule/x86_64-apple-ios-simulator.swiftinterface</key>
|
|
148
148
|
<dict>
|
|
149
149
|
<key>hash2</key>
|
|
150
150
|
<data>
|
|
151
|
-
|
|
151
|
+
4Y6TjgFlLS1Hvf3t0gwNF4V86pObK8KFZG8kpH47bWk=
|
|
152
152
|
</data>
|
|
153
153
|
</dict>
|
|
154
154
|
<key>Modules/module.modulemap</key>
|
|
155
155
|
<dict>
|
|
156
156
|
<key>hash2</key>
|
|
157
157
|
<data>
|
|
158
|
-
|
|
158
|
+
VCMDJsjIOE4fs3dyXsBgZv3pXixHj+sCiLWCZ4lxZVU=
|
|
159
159
|
</data>
|
|
160
160
|
</dict>
|
|
161
161
|
<key>PrivacyInfo.xcprivacy</key>
|
package/ios/KindlyReactNative.mm
CHANGED
|
@@ -78,6 +78,7 @@ static __weak KindlyReactNative *_sharedInstance;
|
|
|
78
78
|
- (NSArray<NSString *> *)supportedEvents {
|
|
79
79
|
return @[
|
|
80
80
|
@"KindlyGetAuthToken",
|
|
81
|
+
@"KindlyGetAuthCredentials",
|
|
81
82
|
@"KindlyOnHandover",
|
|
82
83
|
@"KindlyOnButtonPressed",
|
|
83
84
|
@"KindlyShouldHandleLink",
|
|
@@ -99,13 +100,15 @@ static __weak KindlyReactNative *_sharedInstance;
|
|
|
99
100
|
#pragma mark - Lifecycle
|
|
100
101
|
|
|
101
102
|
- (void)start:(NSString *)botKey
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
103
|
+
languageCode:(NSString *_Nullable)languageCode
|
|
104
|
+
market:(NSString *)market
|
|
105
|
+
hasAuthCallback:(BOOL)hasAuthCallback
|
|
106
|
+
hasAuthCredentialsCallback:(BOOL)hasAuthCredentialsCallback {
|
|
105
107
|
[_impl startWithBotKey:botKey
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
108
|
+
languageCode:languageCode
|
|
109
|
+
market:market
|
|
110
|
+
hasAuthCallback:hasAuthCallback
|
|
111
|
+
hasAuthCredentialsCallback:hasAuthCredentialsCallback];
|
|
109
112
|
}
|
|
110
113
|
|
|
111
114
|
- (void)displayChat:(NSString *_Nullable)languageCode
|
|
@@ -132,6 +135,16 @@ static __weak KindlyReactNative *_sharedInstance;
|
|
|
132
135
|
[_impl killWithResolve:resolve reject:reject];
|
|
133
136
|
}
|
|
134
137
|
|
|
138
|
+
- (void)authenticate:(RCTPromiseResolveBlock)resolve
|
|
139
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
140
|
+
[_impl authenticateWithResolve:resolve reject:reject];
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
- (void)deauthenticate:(RCTPromiseResolveBlock)resolve
|
|
144
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
145
|
+
[_impl deauthenticateWithResolve:resolve reject:reject];
|
|
146
|
+
}
|
|
147
|
+
|
|
135
148
|
- (void)setLanguage:(NSString *)languageCode
|
|
136
149
|
resolve:(RCTPromiseResolveBlock)resolve
|
|
137
150
|
reject:(RCTPromiseRejectBlock)reject {
|
|
@@ -241,6 +254,11 @@ static __weak KindlyReactNative *_sharedInstance;
|
|
|
241
254
|
|
|
242
255
|
#pragma mark - Auth + delegate round-trips
|
|
243
256
|
|
|
257
|
+
- (void)respondToAuthCredentials:(NSString *)requestId
|
|
258
|
+
credentials:(NSDictionary *_Nullable)credentials {
|
|
259
|
+
[_impl respondToAuthCredentials:requestId credentials:credentials];
|
|
260
|
+
}
|
|
261
|
+
|
|
244
262
|
- (void)respondToAuthToken:(NSString *)requestId
|
|
245
263
|
token:(NSString *_Nullable)token {
|
|
246
264
|
[_impl respondToAuthToken:requestId token:token];
|
|
@@ -33,9 +33,11 @@ import UIKit
|
|
|
33
33
|
|
|
34
34
|
// Pending request maps for the sync round-trips. Each entry pairs a
|
|
35
35
|
// request UUID with a (semaphore, answer) tuple. Native blocks on the
|
|
36
|
-
// semaphore
|
|
37
|
-
//
|
|
36
|
+
// semaphore - 30s for auth and credentials, 5s for the shouldHandle bools -
|
|
37
|
+
// and JS replies via respondToAuthToken / respondToAuthCredentials /
|
|
38
|
+
// respondToShouldHandle, which signals it.
|
|
38
39
|
private var authPending: [String: PendingAuth] = [:]
|
|
40
|
+
private var credentialsPending: [String: PendingCredentials] = [:]
|
|
39
41
|
private var shouldHandlePending: [String: PendingBool] = [:]
|
|
40
42
|
private let pendingLock = NSLock()
|
|
41
43
|
|
|
@@ -43,6 +45,10 @@ import UIKit
|
|
|
43
45
|
let semaphore: DispatchSemaphore
|
|
44
46
|
var token: String?
|
|
45
47
|
}
|
|
48
|
+
private struct PendingCredentials {
|
|
49
|
+
let semaphore: DispatchSemaphore
|
|
50
|
+
var credentials: [String: Any]?
|
|
51
|
+
}
|
|
46
52
|
private struct PendingBool {
|
|
47
53
|
let semaphore: DispatchSemaphore
|
|
48
54
|
var value: Bool = true
|
|
@@ -66,7 +72,8 @@ import UIKit
|
|
|
66
72
|
@objc public func start(botKey: String,
|
|
67
73
|
languageCode: String?,
|
|
68
74
|
market: String,
|
|
69
|
-
hasAuthCallback: Bool
|
|
75
|
+
hasAuthCallback: Bool,
|
|
76
|
+
hasAuthCredentialsCallback: Bool) {
|
|
70
77
|
let lang = languageCode ?? "en"
|
|
71
78
|
|
|
72
79
|
let authCallback: AuthTokenCallback? = hasAuthCallback ? { [weak self] chatId, promise in
|
|
@@ -105,9 +112,81 @@ import UIKit
|
|
|
105
112
|
}
|
|
106
113
|
} : nil
|
|
107
114
|
|
|
115
|
+
// The credentials callback wins when both are wired, matching the native SDKs.
|
|
116
|
+
if hasAuthCredentialsCallback {
|
|
117
|
+
// Labelled, not a trailing closure: `start` has two overloads whose last
|
|
118
|
+
// parameter is a closure, and only the label says which one we mean.
|
|
119
|
+
KindlyChatClient.start(
|
|
120
|
+
botKey: botKey,
|
|
121
|
+
languageCode: lang,
|
|
122
|
+
market: market,
|
|
123
|
+
authCredentialsCallback: { [weak self] chatId, promise in
|
|
124
|
+
guard let self = self else {
|
|
125
|
+
promise.reject(NSError(domain: "KindlyReactNative",
|
|
126
|
+
code: -1,
|
|
127
|
+
userInfo: [NSLocalizedDescriptionKey: "self deallocated"]))
|
|
128
|
+
return
|
|
129
|
+
}
|
|
130
|
+
let requestId = UUID().uuidString
|
|
131
|
+
let semaphore = DispatchSemaphore(value: 0)
|
|
132
|
+
|
|
133
|
+
self.pendingLock.lock()
|
|
134
|
+
self.credentialsPending[requestId] = PendingCredentials(semaphore: semaphore, credentials: nil)
|
|
135
|
+
self.pendingLock.unlock()
|
|
136
|
+
|
|
137
|
+
self.emit(name: "KindlyGetAuthCredentials", body: ["requestId": requestId, "chatId": chatId])
|
|
138
|
+
|
|
139
|
+
DispatchQueue.global().async {
|
|
140
|
+
_ = semaphore.wait(timeout: .now() + 30.0)
|
|
141
|
+
self.pendingLock.lock()
|
|
142
|
+
let entry = self.credentialsPending.removeValue(forKey: requestId)
|
|
143
|
+
self.pendingLock.unlock()
|
|
144
|
+
|
|
145
|
+
// Both tokens are optional and either one alone is a valid credential:
|
|
146
|
+
// the SDK picks the bearer itself via `bearerToken`. The only thing
|
|
147
|
+
// that disqualifies a credential is carrying neither, which is what
|
|
148
|
+
// `hasToken` answers. Never gate on `idToken`.
|
|
149
|
+
let payload = entry?.credentials
|
|
150
|
+
let credentials = KindlyAuthCredentials(
|
|
151
|
+
idToken: payload?["idToken"] as? String,
|
|
152
|
+
accessToken: payload?["accessToken"] as? String,
|
|
153
|
+
issuer: payload?["issuer"] as? String,
|
|
154
|
+
expiresAtUnixSeconds: (payload?["expiresAt"] as? NSNumber)?.intValue
|
|
155
|
+
)
|
|
156
|
+
guard credentials.hasToken else {
|
|
157
|
+
promise.reject(NSError(domain: "KindlyReactNative",
|
|
158
|
+
code: -1,
|
|
159
|
+
userInfo: [NSLocalizedDescriptionKey: "Auth credentials not provided"]))
|
|
160
|
+
return
|
|
161
|
+
}
|
|
162
|
+
promise.fulfill(credentials)
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
)
|
|
166
|
+
return
|
|
167
|
+
}
|
|
168
|
+
|
|
108
169
|
KindlyChatClient.start(botKey: botKey, languageCode: lang, market: market, authTokenCallback: authCallback)
|
|
109
170
|
}
|
|
110
171
|
|
|
172
|
+
@objc public func authenticate(resolve: @escaping RCTPromiseResolveBlock,
|
|
173
|
+
reject: @escaping RCTPromiseRejectBlock) {
|
|
174
|
+
KindlyChatClient.authenticate().then { _ in
|
|
175
|
+
resolve(NSNull())
|
|
176
|
+
}.catch { error in
|
|
177
|
+
reject("AUTH_FAILED", error.localizedDescription, error)
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
@objc public func deauthenticate(resolve: @escaping RCTPromiseResolveBlock,
|
|
182
|
+
reject: @escaping RCTPromiseRejectBlock) {
|
|
183
|
+
KindlyChatClient.deauthenticate().then { _ in
|
|
184
|
+
resolve(NSNull())
|
|
185
|
+
}.catch { error in
|
|
186
|
+
reject("DEAUTH_FAILED", error.localizedDescription, error)
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
|
|
111
190
|
// displayChat / launchChat / closeChat MUST be invoked from the main
|
|
112
191
|
// queue — they present/dismiss a UIViewController, and UIKit asserts
|
|
113
192
|
// hard on off-thread layer mutations. TurboModule method invocations
|
|
@@ -277,6 +356,15 @@ import UIKit
|
|
|
277
356
|
|
|
278
357
|
// MARK: - Round-trip responders (called by JS)
|
|
279
358
|
|
|
359
|
+
@objc public func respondToAuthCredentials(_ requestId: String, credentials: [String: Any]?) {
|
|
360
|
+
pendingLock.lock()
|
|
361
|
+
defer { pendingLock.unlock() }
|
|
362
|
+
guard var entry = credentialsPending[requestId] else { return }
|
|
363
|
+
entry.credentials = credentials
|
|
364
|
+
credentialsPending[requestId] = entry
|
|
365
|
+
entry.semaphore.signal()
|
|
366
|
+
}
|
|
367
|
+
|
|
280
368
|
@objc public func respondToAuthToken(_ requestId: String, token: String?) {
|
|
281
369
|
pendingLock.lock()
|
|
282
370
|
defer { pendingLock.unlock() }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeKindlyReactNative.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,mBAAmB,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeKindlyReactNative.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,mBAAmB,QAAQ,cAAc;AAoFlD,eAAeA,mBAAmB,CAACC,YAAY,CAAO,mBAAmB,CAAC","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -26,6 +26,23 @@ import NativeKindly from "./NativeKindlyReactNative.js";
|
|
|
26
26
|
* anonymous.
|
|
27
27
|
*/
|
|
28
28
|
|
|
29
|
+
/**
|
|
30
|
+
* Credentials the host app hands the SDK to authenticate a chat.
|
|
31
|
+
*
|
|
32
|
+
* The Kindly platform verifies an authenticated chat in one of three ways: a
|
|
33
|
+
* JWT your own backend signs, a JWT from your identity provider (optionally
|
|
34
|
+
* paired with an access token), or an opaque bearer token validated by
|
|
35
|
+
* introspection. This one type covers all of them.
|
|
36
|
+
*/
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Callback invoked by the SDK when it needs fresh auth credentials.
|
|
40
|
+
*
|
|
41
|
+
* Use instead of {@link AuthTokenCallback} when your identity provider issues
|
|
42
|
+
* more than a single JWT. Return `null` if credentials can't be provided, and
|
|
43
|
+
* the SDK treats the chat as anonymous.
|
|
44
|
+
*/
|
|
45
|
+
|
|
29
46
|
/** Callback invoked when a handover to a human agent is initiated. */
|
|
30
47
|
|
|
31
48
|
/**
|
|
@@ -77,6 +94,7 @@ export function hexColor(hex) {
|
|
|
77
94
|
// ────────────────────────────────────────────────────────────────────────────
|
|
78
95
|
const eventEmitter = new NativeEventEmitter(Platform.OS === 'ios' ? NativeModules.KindlyReactNative : undefined);
|
|
79
96
|
let authTokenCallback = null;
|
|
97
|
+
let authCredentialsCallback = null;
|
|
80
98
|
let handoverCallback = null;
|
|
81
99
|
let onButtonPressed = null;
|
|
82
100
|
let shouldHandleLink = null;
|
|
@@ -102,6 +120,24 @@ function attachListeners() {
|
|
|
102
120
|
NativeKindly.respondToAuthToken(event.requestId, null);
|
|
103
121
|
}
|
|
104
122
|
});
|
|
123
|
+
eventEmitter.addListener('KindlyGetAuthCredentials', async raw => {
|
|
124
|
+
const event = raw;
|
|
125
|
+
if (authCredentialsCallback == null) {
|
|
126
|
+
NativeKindly.respondToAuthCredentials(event.requestId, null);
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
try {
|
|
130
|
+
const credentials = await authCredentialsCallback(event.chatId);
|
|
131
|
+
NativeKindly.respondToAuthCredentials(event.requestId, credentials == null ? null : {
|
|
132
|
+
idToken: credentials.idToken ?? null,
|
|
133
|
+
accessToken: credentials.accessToken ?? null,
|
|
134
|
+
issuer: credentials.issuer ?? null,
|
|
135
|
+
expiresAt: credentials.expiresAt ?? null
|
|
136
|
+
});
|
|
137
|
+
} catch {
|
|
138
|
+
NativeKindly.respondToAuthCredentials(event.requestId, null);
|
|
139
|
+
}
|
|
140
|
+
});
|
|
105
141
|
eventEmitter.addListener('KindlyOnHandover', () => {
|
|
106
142
|
handoverCallback?.();
|
|
107
143
|
});
|
|
@@ -139,7 +175,37 @@ export class KindlySDK {
|
|
|
139
175
|
static start(args) {
|
|
140
176
|
attachListeners();
|
|
141
177
|
authTokenCallback = args.authTokenCallback ?? null;
|
|
142
|
-
|
|
178
|
+
authCredentialsCallback = args.authCredentialsCallback ?? null;
|
|
179
|
+
NativeKindly.start(args.botKey, args.languageCode ?? null, args.market, args.authTokenCallback != null, args.authCredentialsCallback != null);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Re-authenticate the live chat, asking your callback for fresh credentials.
|
|
184
|
+
*
|
|
185
|
+
* For when the *identity* changed rather than the token: the user signed in,
|
|
186
|
+
* or switched account, while the chat was already open. Expiry is handled by
|
|
187
|
+
* the SDK on its own.
|
|
188
|
+
*
|
|
189
|
+
* The chat, its history and its socket are all kept. Rejects if the callback
|
|
190
|
+
* failed or the backend refused the credentials.
|
|
191
|
+
*/
|
|
192
|
+
static authenticate() {
|
|
193
|
+
return NativeKindly.authenticate();
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Sign the user out of the chat without ending it.
|
|
198
|
+
*
|
|
199
|
+
* Unbinds the identity on the backend and forgets the stored credentials. The
|
|
200
|
+
* chat carries on anonymously with its history intact. Use `endChat()` when
|
|
201
|
+
* the conversation itself should end.
|
|
202
|
+
*
|
|
203
|
+
* Safe to call when already anonymous. The local credentials are cleared even
|
|
204
|
+
* if the backend call fails, but the promise still rejects so you know the
|
|
205
|
+
* backend did not hear about it.
|
|
206
|
+
*/
|
|
207
|
+
static deauthenticate() {
|
|
208
|
+
return NativeKindly.deauthenticate();
|
|
143
209
|
}
|
|
144
210
|
|
|
145
211
|
/** Show the chat UI. */
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeEventEmitter","NativeModules","Platform","NativeKindly","hexColor","hex","cleaned","replace","v","parseInt","length","Error","eventEmitter","OS","KindlyReactNative","undefined","authTokenCallback","handoverCallback","onButtonPressed","shouldHandleLink","shouldHandleNotification","listenersAttached","attachListeners","addListener","raw","event","respondToAuthToken","requestId","token","chatId","button","chatLog","value","url","respondToShouldHandle","notification","KindlySDK","start","args","botKey","languageCode","market","displayChat","triggerDialogueId","launchChat","closeChat","endChat","kill","setLanguage","sendMessage","text","options","newContext","setCustomTheme","theme","colors","Object","keys","forEach","k","clearCustomTheme","setNewContext","context","clearNewContext","saveAuthToken","setAPNSDeviceToken","saveNotificationToken","handleNotification","data","isKindlyNotification","triggerDialogue","dialogueId","clearTriggerDialogue","handleUrl","callHandover","callback","isChatDisplayed","setVerboseLogging","enabled","setCrashReporting","setAllowCameraAccess","setAllowPhotoLibraryAccess","setAutoMatchStatusBarColor","setForceOverrideStatusBarColor","setDelegate","clearDelegate"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,kBAAkB,EAAEC,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAC1E,OAAOC,YAAY,MAAM,8BAA2B;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;;AAGA;AACA;AACA;AACA;AACA;AACA;;AAMA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;;AAKA;;AAqBA;AACA;AACA;AACA;AACA,OAAO,SAASC,QAAQA,CAACC,GAAW,EAAU;EAC5C,MAAMC,OAAO,GAAGD,GAAG,CAACE,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;EACrC,MAAMC,CAAC,GAAGC,QAAQ,CAACH,OAAO,EAAE,EAAE,CAAC;EAC/B,IAAIA,OAAO,CAACI,MAAM,KAAK,CAAC,EAAE;IACxB,OAAO,CAAC,UAAU,GAAGF,CAAC,MAAM,CAAC;EAC/B;EACA,IAAIF,OAAO,CAACI,MAAM,KAAK,CAAC,EAAE;IACxB,OAAOF,CAAC,KAAK,CAAC;EAChB;EACA,MAAM,IAAIG,KAAK,CAAC,iDAAiDN,GAAG,GAAG,CAAC;AAC1E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMO,YAAY,GAAG,IAAIZ,kBAAkB,CACzCE,QAAQ,CAACW,EAAE,KAAK,KAAK,GAChBZ,aAAa,CAACa,iBAAiB,GAChCC,SACN,CAAC;AAED,IAAIC,iBAA2C,GAAG,IAAI;AACtD,IAAIC,gBAAyC,GAAG,IAAI;AACpD,IAAIC,eAAmD,GAAG,IAAI;AAC9D,IAAIC,gBAAoD,GAAG,IAAI;AAC/D,IAAIC,wBAAoE,GAAG,IAAI;AAE/E,IAAIC,iBAAiB,GAAG,KAAK;AAE7B,SAASC,eAAeA,CAAA,EAAS;EAC/B,IAAID,iBAAiB,EAAE;EACvBA,iBAAiB,GAAG,IAAI;;EAExB;EACA;EACA;
|
|
1
|
+
{"version":3,"names":["NativeEventEmitter","NativeModules","Platform","NativeKindly","hexColor","hex","cleaned","replace","v","parseInt","length","Error","eventEmitter","OS","KindlyReactNative","undefined","authTokenCallback","authCredentialsCallback","handoverCallback","onButtonPressed","shouldHandleLink","shouldHandleNotification","listenersAttached","attachListeners","addListener","raw","event","respondToAuthToken","requestId","token","chatId","respondToAuthCredentials","credentials","idToken","accessToken","issuer","expiresAt","button","chatLog","value","url","respondToShouldHandle","notification","KindlySDK","start","args","botKey","languageCode","market","authenticate","deauthenticate","displayChat","triggerDialogueId","launchChat","closeChat","endChat","kill","setLanguage","sendMessage","text","options","newContext","setCustomTheme","theme","colors","Object","keys","forEach","k","clearCustomTheme","setNewContext","context","clearNewContext","saveAuthToken","setAPNSDeviceToken","saveNotificationToken","handleNotification","data","isKindlyNotification","triggerDialogue","dialogueId","clearTriggerDialogue","handleUrl","callHandover","callback","isChatDisplayed","setVerboseLogging","enabled","setCrashReporting","setAllowCameraAccess","setAllowPhotoLibraryAccess","setAutoMatchStatusBarColor","setForceOverrideStatusBarColor","setDelegate","clearDelegate"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import type { TurboModule } from 'react-native';
|
|
2
2
|
export interface Spec extends TurboModule {
|
|
3
|
-
start(botKey: string, languageCode: string | null, market: string, hasAuthCallback: boolean): void;
|
|
3
|
+
start(botKey: string, languageCode: string | null, market: string, hasAuthCallback: boolean, hasAuthCredentialsCallback: boolean): void;
|
|
4
4
|
displayChat(languageCode: string | null, triggerDialogueId: string | null): void;
|
|
5
5
|
launchChat(triggerDialogueId: string | null): void;
|
|
6
6
|
closeChat(): void;
|
|
7
7
|
endChat(): Promise<void>;
|
|
8
8
|
kill(): Promise<void>;
|
|
9
|
+
authenticate(): Promise<void>;
|
|
10
|
+
deauthenticate(): Promise<void>;
|
|
9
11
|
setLanguage(languageCode: string): Promise<void>;
|
|
10
12
|
sendMessage(message: string, newContext: {
|
|
11
13
|
[key: string]: string;
|
|
@@ -40,6 +42,9 @@ export interface Spec extends TurboModule {
|
|
|
40
42
|
setAutoMatchStatusBarColor(enabled: boolean): void;
|
|
41
43
|
setForceOverrideStatusBarColor(enabled: boolean): void;
|
|
42
44
|
respondToAuthToken(requestId: string, token: string | null): void;
|
|
45
|
+
respondToAuthCredentials(requestId: string, credentials: {
|
|
46
|
+
[key: string]: unknown;
|
|
47
|
+
} | null): void;
|
|
43
48
|
respondToShouldHandle(requestId: string, value: boolean): void;
|
|
44
49
|
setDelegate(onButtonPressed: boolean, shouldHandleLink: boolean, shouldHandleNotification: boolean, onHandover: boolean): void;
|
|
45
50
|
callHandover(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeKindlyReactNative.d.ts","sourceRoot":"","sources":["../../../src/NativeKindlyReactNative.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD,MAAM,WAAW,IAAK,SAAQ,WAAW;IAEvC,KAAK,CACH,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"NativeKindlyReactNative.d.ts","sourceRoot":"","sources":["../../../src/NativeKindlyReactNative.ts"],"names":[],"mappings":"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"}
|