react-native-gleapsdk 15.3.4 → 16.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +1 -1
- package/android/src/main/java/com/reactnativegleapsdk/GleapsdkModule.java +62 -61
- package/ios/Gleapsdk.m +41 -53
- package/lib/commonjs/index.js +38 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +38 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/index.d.ts +17 -13
- package/lib/typescript/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/react-native-gleapsdk.podspec +1 -1
- package/src/index.tsx +66 -14
package/android/build.gradle
CHANGED
|
@@ -56,7 +56,7 @@ repositories {
|
|
|
56
56
|
|
|
57
57
|
dependencies {
|
|
58
58
|
implementation "com.facebook.react:react-native:+"
|
|
59
|
-
implementation group: 'io.gleap', name: 'gleap-android-sdk', version: '
|
|
59
|
+
implementation group: 'io.gleap', name: 'gleap-android-sdk', version: '16.4.0'
|
|
60
60
|
|
|
61
61
|
if(rootProject && rootProject.ext) {
|
|
62
62
|
if(rootProject.ext.targetSdkVersion == 30 || rootProject.ext.compileSdkVersion == 30) {
|
|
@@ -27,15 +27,18 @@ import java.io.FileOutputStream;
|
|
|
27
27
|
import java.io.OutputStream;
|
|
28
28
|
import java.util.ArrayList;
|
|
29
29
|
import java.util.Base64;
|
|
30
|
+
import java.util.Map;
|
|
31
|
+
import java.util.UUID;
|
|
32
|
+
import java.util.concurrent.ConcurrentHashMap;
|
|
30
33
|
import java.util.regex.Matcher;
|
|
31
34
|
import java.util.regex.Pattern;
|
|
32
35
|
|
|
33
36
|
import io.gleap.APPLICATIONTYPE;
|
|
34
|
-
import io.gleap.GleapAiTool;
|
|
35
|
-
import io.gleap.GleapAiToolParameter;
|
|
36
37
|
import io.gleap.GleapSessionProperties;
|
|
37
38
|
import io.gleap.SurveyType;
|
|
38
39
|
import io.gleap.callbacks.AiToolExecutedCallback;
|
|
40
|
+
import io.gleap.callbacks.GleapAgentToolHandler;
|
|
41
|
+
import io.gleap.callbacks.GleapAgentToolResultCallback;
|
|
39
42
|
import io.gleap.callbacks.GetActivityCallback;
|
|
40
43
|
import io.gleap.Gleap;
|
|
41
44
|
import io.gleap.GleapActivationMethod;
|
|
@@ -61,6 +64,7 @@ public class GleapsdkModule extends ReactContextBaseJavaModule {
|
|
|
61
64
|
public static final String NAME = "Gleapsdk";
|
|
62
65
|
private boolean isSilentBugReport = false;
|
|
63
66
|
private boolean invalidated = false;
|
|
67
|
+
private final Map<String, GleapAgentToolResultCallback> pendingAgentToolExecutions = new ConcurrentHashMap<>();
|
|
64
68
|
|
|
65
69
|
public GleapsdkModule(ReactApplicationContext context) {
|
|
66
70
|
super(context);
|
|
@@ -799,73 +803,52 @@ public class GleapsdkModule extends ReactContextBaseJavaModule {
|
|
|
799
803
|
}
|
|
800
804
|
|
|
801
805
|
/**
|
|
802
|
-
*
|
|
803
|
-
*
|
|
806
|
+
* Registers the handler for a dashboard-defined Frontend tool. Executions
|
|
807
|
+
* round-trip to JS via the agentToolExecution event and sendAgentToolResult.
|
|
808
|
+
* @param name The tool's runtime name as defined on the AI agent.
|
|
804
809
|
*/
|
|
805
810
|
@ReactMethod
|
|
806
|
-
public void
|
|
811
|
+
public void registerAgentTool(String name) {
|
|
807
812
|
try {
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
ArrayList<GleapAiToolParameter> gleapParameters = new ArrayList<>();
|
|
825
|
-
|
|
826
|
-
if (parametersArray != null) {
|
|
827
|
-
// Loop through the parameters array
|
|
828
|
-
for (int j = 0; j < parametersArray.size(); j++) {
|
|
829
|
-
ReadableMap parameter = parametersArray.getMap(j);
|
|
830
|
-
if (parameter == null) continue;
|
|
831
|
-
|
|
832
|
-
String paramName = parameter.getString("name");
|
|
833
|
-
String paramDescription = parameter.getString("description");
|
|
834
|
-
String type = parameter.getString("type");
|
|
835
|
-
boolean required = parameter.getBoolean("required");
|
|
836
|
-
String[] enums = null;
|
|
837
|
-
if (parameter.hasKey("enum") && !parameter.isNull("enum")) {
|
|
838
|
-
ReadableArray enumsArray = parameter.getArray("enum");
|
|
839
|
-
enums = new String[enumsArray.size()];
|
|
840
|
-
for (int k = 0; k < enumsArray.size(); k++) {
|
|
841
|
-
enums[k] = enumsArray.getString(k);
|
|
842
|
-
}
|
|
843
|
-
}
|
|
844
|
-
|
|
845
|
-
// Create a new parameter and add it to the list
|
|
846
|
-
GleapAiToolParameter gleapParameter = new GleapAiToolParameter(
|
|
847
|
-
paramName, paramDescription, type, required, enums);
|
|
848
|
-
gleapParameters.add(gleapParameter);
|
|
813
|
+
Gleap.getInstance().registerAgentTool(name, new GleapAgentToolHandler() {
|
|
814
|
+
@Override
|
|
815
|
+
public void execute(JSONObject params, GleapAgentToolResultCallback callback) {
|
|
816
|
+
try {
|
|
817
|
+
String executionId = UUID.randomUUID().toString();
|
|
818
|
+
pendingAgentToolExecutions.put(executionId, callback);
|
|
819
|
+
|
|
820
|
+
JSONObject eventData = new JSONObject();
|
|
821
|
+
eventData.put("executionId", executionId);
|
|
822
|
+
eventData.put("name", name);
|
|
823
|
+
eventData.put("params", params != null ? params : new JSONObject());
|
|
824
|
+
|
|
825
|
+
getReactApplicationContext().getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
|
|
826
|
+
.emit("agentToolExecution", eventData.toString());
|
|
827
|
+
} catch (Exception e) {
|
|
828
|
+
callback.onResult("Tool execution failed: " + e.getMessage());
|
|
849
829
|
}
|
|
850
830
|
}
|
|
831
|
+
});
|
|
832
|
+
} catch (Exception e) {
|
|
833
|
+
System.out.println("Error registering agent tool: " + e);
|
|
834
|
+
}
|
|
835
|
+
}
|
|
851
836
|
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
837
|
+
/**
|
|
838
|
+
* Resolves a pending agent tool execution with the handler's result.
|
|
839
|
+
*/
|
|
840
|
+
@ReactMethod
|
|
841
|
+
public void sendAgentToolResult(String executionId, String result) {
|
|
842
|
+
try {
|
|
843
|
+
if (executionId == null) {
|
|
844
|
+
return;
|
|
845
|
+
}
|
|
846
|
+
GleapAgentToolResultCallback callback = pendingAgentToolExecutions.remove(executionId);
|
|
847
|
+
if (callback != null) {
|
|
848
|
+
callback.onResult(result);
|
|
860
849
|
}
|
|
861
|
-
|
|
862
|
-
// Convert the list to an array and set the AI tools
|
|
863
|
-
GleapAiTool[] toolsArray = new GleapAiTool[gleapAiTools.size()];
|
|
864
|
-
toolsArray = gleapAiTools.toArray(toolsArray);
|
|
865
|
-
Gleap.getInstance().setAiTools(toolsArray);
|
|
866
|
-
|
|
867
850
|
} catch (Exception e) {
|
|
868
|
-
System.out.println("Error
|
|
851
|
+
System.out.println("Error sending agent tool result: " + e);
|
|
869
852
|
}
|
|
870
853
|
}
|
|
871
854
|
|
|
@@ -1195,6 +1178,24 @@ public class GleapsdkModule extends ReactContextBaseJavaModule {
|
|
|
1195
1178
|
}
|
|
1196
1179
|
}
|
|
1197
1180
|
|
|
1181
|
+
@ReactMethod
|
|
1182
|
+
public void handlePushNotification(ReadableMap notificationData) {
|
|
1183
|
+
try {
|
|
1184
|
+
getActivitySafe().runOnUiThread(
|
|
1185
|
+
new Runnable() {
|
|
1186
|
+
@Override
|
|
1187
|
+
public void run() {
|
|
1188
|
+
try {
|
|
1189
|
+
JSONObject jsonObject = GleapUtil.convertMapToJson(notificationData);
|
|
1190
|
+
Gleap.getInstance().handlePushNotification(jsonObject);
|
|
1191
|
+
} catch (Exception ignore) {
|
|
1192
|
+
}
|
|
1193
|
+
}
|
|
1194
|
+
});
|
|
1195
|
+
} catch (NoUiThreadException e) {
|
|
1196
|
+
}
|
|
1197
|
+
}
|
|
1198
|
+
|
|
1198
1199
|
@ReactMethod
|
|
1199
1200
|
public void startConversation(Boolean showBackButton) {
|
|
1200
1201
|
try {
|
package/ios/Gleapsdk.m
CHANGED
|
@@ -24,6 +24,7 @@ static NSString *const RCTShowDevMenuNotification = @"RCTShowDevMenuNotification
|
|
|
24
24
|
@implementation Gleapsdk
|
|
25
25
|
{
|
|
26
26
|
BOOL _hasListeners;
|
|
27
|
+
NSMutableDictionary<NSString *, GleapAgentToolCompletion> *_pendingAgentToolExecutions;
|
|
27
28
|
}
|
|
28
29
|
|
|
29
30
|
RCT_EXPORT_MODULE()
|
|
@@ -179,7 +180,7 @@ RCT_EXPORT_METHOD(initialize:(NSString *)token)
|
|
|
179
180
|
}
|
|
180
181
|
|
|
181
182
|
- (NSArray<NSString *> *)supportedEvents {
|
|
182
|
-
return @[@"feedbackSent", @"outboundSent", @"toolExecution", @"feedbackSendingFailed", @"notificationCountUpdated", @"initialized", @"configLoaded", @"customActionTriggered", @"feedbackFlowStarted", @"widgetOpened", @"widgetClosed", @"registerPushMessageGroup", @"unregisterPushMessageGroup"];
|
|
183
|
+
return @[@"feedbackSent", @"outboundSent", @"toolExecution", @"agentToolExecution", @"feedbackSendingFailed", @"notificationCountUpdated", @"initialized", @"configLoaded", @"customActionTriggered", @"feedbackFlowStarted", @"widgetOpened", @"widgetClosed", @"registerPushMessageGroup", @"unregisterPushMessageGroup"];
|
|
183
184
|
}
|
|
184
185
|
|
|
185
186
|
RCT_EXPORT_METHOD(sendSilentCrashReport:(NSString *)description andSeverity:(NSString *)severity)
|
|
@@ -278,6 +279,13 @@ RCT_EXPORT_METHOD(openConversation:(NSString *)shareToken)
|
|
|
278
279
|
});
|
|
279
280
|
}
|
|
280
281
|
|
|
282
|
+
RCT_EXPORT_METHOD(handlePushNotification:(NSDictionary *)notificationData)
|
|
283
|
+
{
|
|
284
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
285
|
+
[Gleap handlePushNotification: notificationData];
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
|
|
281
289
|
RCT_EXPORT_METHOD(startConversation:(BOOL)showBackButton)
|
|
282
290
|
{
|
|
283
291
|
dispatch_async(dispatch_get_main_queue(), ^{
|
|
@@ -636,60 +644,40 @@ RCT_EXPORT_METHOD(clearTicketAttributes) {
|
|
|
636
644
|
});
|
|
637
645
|
}
|
|
638
646
|
|
|
639
|
-
RCT_EXPORT_METHOD(
|
|
640
|
-
dispatch_async(dispatch_get_main_queue(), ^{
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
NSString *executionType = toolDict[@"executionType"];
|
|
650
|
-
NSArray *parametersArray = toolDict[@"parameters"];
|
|
651
|
-
|
|
652
|
-
if (name && toolDescription && response && parametersArray) {
|
|
653
|
-
NSMutableArray *parameters = [[NSMutableArray alloc] init];
|
|
654
|
-
|
|
655
|
-
for (NSDictionary *paramDict in parametersArray) {
|
|
656
|
-
// Safely unwrap parameter dictionary properties
|
|
657
|
-
NSString *paramName = paramDict[@"name"];
|
|
658
|
-
NSString *paramDescription = paramDict[@"description"];
|
|
659
|
-
NSString *type = paramDict[@"type"];
|
|
660
|
-
NSNumber *required = paramDict[@"required"];
|
|
661
|
-
NSArray *enums = paramDict[@"enum"];
|
|
662
|
-
if (enums == nil) {
|
|
663
|
-
enums = [[NSArray alloc] init];
|
|
664
|
-
}
|
|
665
|
-
|
|
666
|
-
// Check for required properties in parameter dictionary
|
|
667
|
-
if (paramName && paramDescription && type && required) {
|
|
668
|
-
GleapAiToolParameter *parameter = [[GleapAiToolParameter alloc]
|
|
669
|
-
initWithName:paramName
|
|
670
|
-
parameterDescription:paramDescription
|
|
671
|
-
type:type
|
|
672
|
-
required:[required boolValue]
|
|
673
|
-
enums:enums];
|
|
674
|
-
|
|
675
|
-
[parameters addObject:parameter];
|
|
676
|
-
}
|
|
677
|
-
}
|
|
678
|
-
|
|
679
|
-
GleapAiTool *aiTool = [[GleapAiTool alloc]
|
|
680
|
-
initWithName:name
|
|
681
|
-
toolDescription:toolDescription
|
|
682
|
-
response:response
|
|
683
|
-
executionType:executionType
|
|
684
|
-
parameters:parameters];
|
|
685
|
-
|
|
686
|
-
[aiTools addObject:aiTool];
|
|
687
|
-
}
|
|
647
|
+
RCT_EXPORT_METHOD(registerAgentTool:(NSString *)name) {
|
|
648
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
649
|
+
[Gleap registerAgentTool: name handler:^(NSDictionary *params, GleapAgentToolCompletion completion) {
|
|
650
|
+
if (!self->_hasListeners) {
|
|
651
|
+
completion(@"Tool execution failed: no listener attached.");
|
|
652
|
+
return;
|
|
653
|
+
}
|
|
654
|
+
|
|
655
|
+
if (self->_pendingAgentToolExecutions == nil) {
|
|
656
|
+
self->_pendingAgentToolExecutions = [[NSMutableDictionary alloc] init];
|
|
688
657
|
}
|
|
689
658
|
|
|
690
|
-
[
|
|
691
|
-
|
|
692
|
-
|
|
659
|
+
NSString *executionId = [[NSUUID UUID] UUIDString];
|
|
660
|
+
[self->_pendingAgentToolExecutions setObject: completion forKey: executionId];
|
|
661
|
+
|
|
662
|
+
[self sendEventWithName:@"agentToolExecution" body:@{
|
|
663
|
+
@"executionId": executionId,
|
|
664
|
+
@"name": name,
|
|
665
|
+
@"params": params ?: @{}
|
|
666
|
+
}];
|
|
667
|
+
}];
|
|
668
|
+
});
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
RCT_EXPORT_METHOD(sendAgentToolResult:(NSString *)executionId result:(NSString *)result) {
|
|
672
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
673
|
+
if (executionId == nil || self->_pendingAgentToolExecutions == nil) {
|
|
674
|
+
return;
|
|
675
|
+
}
|
|
676
|
+
|
|
677
|
+
GleapAgentToolCompletion completion = [self->_pendingAgentToolExecutions objectForKey: executionId];
|
|
678
|
+
if (completion != nil) {
|
|
679
|
+
[self->_pendingAgentToolExecutions removeObjectForKey: executionId];
|
|
680
|
+
completion(result);
|
|
693
681
|
}
|
|
694
682
|
});
|
|
695
683
|
}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -58,6 +58,15 @@ if (GleapSdk && !GleapSdk.touched) {
|
|
|
58
58
|
GleapSdk.registerCustomAction = customActionCallback => {
|
|
59
59
|
GleapSdk.registerListener('customActionTriggered', customActionCallback);
|
|
60
60
|
};
|
|
61
|
+
const registeredAgentTools = {};
|
|
62
|
+
const nativeRegisterAgentTool = GleapSdk.registerAgentTool;
|
|
63
|
+
GleapSdk.registerAgentTool = (name, handler) => {
|
|
64
|
+
if (!name || typeof handler !== 'function') {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
registeredAgentTools[name] = handler;
|
|
68
|
+
nativeRegisterAgentTool(name);
|
|
69
|
+
};
|
|
61
70
|
const notifyCallback = function (eventType, data) {
|
|
62
71
|
if (callbacks && callbacks[eventType] && callbacks[eventType].length > 0) {
|
|
63
72
|
for (var i = 0; i < callbacks[eventType].length; i++) {
|
|
@@ -88,6 +97,35 @@ if (GleapSdk && !GleapSdk.touched) {
|
|
|
88
97
|
notifyCallback('toolExecution', dataJSON);
|
|
89
98
|
} catch (exp) {}
|
|
90
99
|
});
|
|
100
|
+
gleapEmitter.addListener('agentToolExecution', async data => {
|
|
101
|
+
try {
|
|
102
|
+
const dataJSON = data instanceof Object ? data : JSON.parse(data);
|
|
103
|
+
const {
|
|
104
|
+
executionId,
|
|
105
|
+
name,
|
|
106
|
+
params
|
|
107
|
+
} = dataJSON;
|
|
108
|
+
if (!executionId || !name) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
let result;
|
|
112
|
+
const handler = registeredAgentTools[name];
|
|
113
|
+
if (!handler) {
|
|
114
|
+
result = `No handler registered for tool '${name}' in the app. Register one via Gleap.registerAgentTool('${name}', handler).`;
|
|
115
|
+
} else {
|
|
116
|
+
try {
|
|
117
|
+
const handlerResult = await handler(params ?? {});
|
|
118
|
+
result = typeof handlerResult === 'string' ? handlerResult : JSON.stringify(handlerResult ?? '');
|
|
119
|
+
if (!result) {
|
|
120
|
+
result = 'The action completed without returning a result.';
|
|
121
|
+
}
|
|
122
|
+
} catch (error) {
|
|
123
|
+
result = `Tool execution failed: ${(error === null || error === void 0 ? void 0 : error.message) ?? 'unknown error'}`;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
GleapSdk.sendAgentToolResult(executionId, result);
|
|
127
|
+
} catch (exp) {}
|
|
128
|
+
});
|
|
91
129
|
gleapEmitter.addListener('feedbackSent', data => {
|
|
92
130
|
try {
|
|
93
131
|
const dataJSON = data instanceof Object ? data : JSON.parse(data);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_networklogger","_interopRequireDefault","obj","__esModule","default","LINKING_ERROR","Platform","select","ios","GleapSdk","NativeModules","Gleapsdk","Proxy","get","Error","touched","networkLogger","GleapNetworkIntercepter","startNetworkLogging","setUpdatedCallback","requests","getRequests","attachNetworkLog","OS","JSON","stringify","parse","start","stopNetworkLogging","setStopped","logEvent","name","data","console","log","trackEvent","callbacks","registerListener","eventType","callback","push","registerCustomAction","customActionCallback","notifyCallback","length","i","gleapEmitter","NativeEventEmitter","addListener","config","configJSON","Object","enableNetworkLogs","exp","dataJSON","feedbackAction","count","pushMessageGroup","isJsonString","str","e","shareToken","removeAllAttachments","_default","exports"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAsD,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAEtD,MAAMG,aAAa,GACjB,gFAAgF,GAChFC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEJ,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,6CAA6C;
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_networklogger","_interopRequireDefault","obj","__esModule","default","LINKING_ERROR","Platform","select","ios","GleapSdk","NativeModules","Gleapsdk","Proxy","get","Error","touched","networkLogger","GleapNetworkIntercepter","startNetworkLogging","setUpdatedCallback","requests","getRequests","attachNetworkLog","OS","JSON","stringify","parse","start","stopNetworkLogging","setStopped","logEvent","name","data","console","log","trackEvent","callbacks","registerListener","eventType","callback","push","registerCustomAction","customActionCallback","registeredAgentTools","nativeRegisterAgentTool","registerAgentTool","handler","notifyCallback","length","i","gleapEmitter","NativeEventEmitter","addListener","config","configJSON","Object","enableNetworkLogs","exp","dataJSON","executionId","params","result","handlerResult","error","message","sendAgentToolResult","feedbackAction","count","pushMessageGroup","isJsonString","str","e","shareToken","removeAllAttachments","_default","exports"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -51,6 +51,15 @@ if (GleapSdk && !GleapSdk.touched) {
|
|
|
51
51
|
GleapSdk.registerCustomAction = customActionCallback => {
|
|
52
52
|
GleapSdk.registerListener('customActionTriggered', customActionCallback);
|
|
53
53
|
};
|
|
54
|
+
const registeredAgentTools = {};
|
|
55
|
+
const nativeRegisterAgentTool = GleapSdk.registerAgentTool;
|
|
56
|
+
GleapSdk.registerAgentTool = (name, handler) => {
|
|
57
|
+
if (!name || typeof handler !== 'function') {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
registeredAgentTools[name] = handler;
|
|
61
|
+
nativeRegisterAgentTool(name);
|
|
62
|
+
};
|
|
54
63
|
const notifyCallback = function (eventType, data) {
|
|
55
64
|
if (callbacks && callbacks[eventType] && callbacks[eventType].length > 0) {
|
|
56
65
|
for (var i = 0; i < callbacks[eventType].length; i++) {
|
|
@@ -81,6 +90,35 @@ if (GleapSdk && !GleapSdk.touched) {
|
|
|
81
90
|
notifyCallback('toolExecution', dataJSON);
|
|
82
91
|
} catch (exp) {}
|
|
83
92
|
});
|
|
93
|
+
gleapEmitter.addListener('agentToolExecution', async data => {
|
|
94
|
+
try {
|
|
95
|
+
const dataJSON = data instanceof Object ? data : JSON.parse(data);
|
|
96
|
+
const {
|
|
97
|
+
executionId,
|
|
98
|
+
name,
|
|
99
|
+
params
|
|
100
|
+
} = dataJSON;
|
|
101
|
+
if (!executionId || !name) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
let result;
|
|
105
|
+
const handler = registeredAgentTools[name];
|
|
106
|
+
if (!handler) {
|
|
107
|
+
result = `No handler registered for tool '${name}' in the app. Register one via Gleap.registerAgentTool('${name}', handler).`;
|
|
108
|
+
} else {
|
|
109
|
+
try {
|
|
110
|
+
const handlerResult = await handler(params ?? {});
|
|
111
|
+
result = typeof handlerResult === 'string' ? handlerResult : JSON.stringify(handlerResult ?? '');
|
|
112
|
+
if (!result) {
|
|
113
|
+
result = 'The action completed without returning a result.';
|
|
114
|
+
}
|
|
115
|
+
} catch (error) {
|
|
116
|
+
result = `Tool execution failed: ${(error === null || error === void 0 ? void 0 : error.message) ?? 'unknown error'}`;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
GleapSdk.sendAgentToolResult(executionId, result);
|
|
120
|
+
} catch (exp) {}
|
|
121
|
+
});
|
|
84
122
|
gleapEmitter.addListener('feedbackSent', data => {
|
|
85
123
|
try {
|
|
86
124
|
const dataJSON = data instanceof Object ? data : JSON.parse(data);
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","NativeEventEmitter","Platform","GleapNetworkIntercepter","LINKING_ERROR","select","ios","default","GleapSdk","Gleapsdk","Proxy","get","Error","touched","networkLogger","startNetworkLogging","setUpdatedCallback","requests","getRequests","attachNetworkLog","OS","JSON","stringify","parse","start","stopNetworkLogging","setStopped","logEvent","name","data","console","log","trackEvent","callbacks","registerListener","eventType","callback","push","registerCustomAction","customActionCallback","notifyCallback","length","i","gleapEmitter","addListener","config","configJSON","Object","enableNetworkLogs","exp","dataJSON","feedbackAction","count","pushMessageGroup","isJsonString","str","e","shareToken","removeAllAttachments"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"AAAA,SAASA,aAAa,EAAEC,kBAAkB,EAAEC,QAAQ,QAAQ,cAAc;AAC1E,OAAOC,uBAAuB,MAAM,iBAAiB;AAErD,MAAMC,aAAa,GACjB,gFAAgF,GAChFF,QAAQ,CAACG,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,6CAA6C;
|
|
1
|
+
{"version":3,"names":["NativeModules","NativeEventEmitter","Platform","GleapNetworkIntercepter","LINKING_ERROR","select","ios","default","GleapSdk","Gleapsdk","Proxy","get","Error","touched","networkLogger","startNetworkLogging","setUpdatedCallback","requests","getRequests","attachNetworkLog","OS","JSON","stringify","parse","start","stopNetworkLogging","setStopped","logEvent","name","data","console","log","trackEvent","callbacks","registerListener","eventType","callback","push","registerCustomAction","customActionCallback","registeredAgentTools","nativeRegisterAgentTool","registerAgentTool","handler","notifyCallback","length","i","gleapEmitter","addListener","config","configJSON","Object","enableNetworkLogs","exp","dataJSON","executionId","params","result","handlerResult","error","message","sendAgentToolResult","feedbackAction","count","pushMessageGroup","isJsonString","str","e","shareToken","removeAllAttachments"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -30,6 +30,16 @@ type GleapSdkType = {
|
|
|
30
30
|
}): void;
|
|
31
31
|
openConversations(showBackButton: boolean): void;
|
|
32
32
|
openConversation(shareToken: string): void;
|
|
33
|
+
/**
|
|
34
|
+
* Handles a tapped Gleap push notification. Pass the FCM message's `data`
|
|
35
|
+
* payload (e.g. `remoteMessage.data`) after checking
|
|
36
|
+
* `data.sender === 'GLEAP'`. Opens the right destination based on
|
|
37
|
+
* `data.type` ('conversation' | 'news' | 'checklist') and `data.id`, and
|
|
38
|
+
* safely defers until the Gleap session is ready (cold starts).
|
|
39
|
+
*/
|
|
40
|
+
handlePushNotification(notificationData: {
|
|
41
|
+
[key: string]: any;
|
|
42
|
+
}): void;
|
|
33
43
|
startConversation(showBackButton: boolean): void;
|
|
34
44
|
startClassicForm(formId: string, showBackButton: boolean): void;
|
|
35
45
|
open(): void;
|
|
@@ -89,19 +99,13 @@ type GleapSdkType = {
|
|
|
89
99
|
setTicketAttribute(key: string, value: string): void;
|
|
90
100
|
unsetTicketAttribute(key: string): void;
|
|
91
101
|
clearTicketAttributes(): void;
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
description: string;
|
|
100
|
-
type: 'string' | 'number' | 'boolean';
|
|
101
|
-
required: boolean;
|
|
102
|
-
enums?: string[];
|
|
103
|
-
}[];
|
|
104
|
-
}[]): void;
|
|
102
|
+
/**
|
|
103
|
+
* Registers the handler for a Frontend tool defined on your AI agent in the
|
|
104
|
+
* Gleap dashboard. The agent calls the handler with the configured
|
|
105
|
+
* parameters and waits for the returned result (string or object, which
|
|
106
|
+
* gets stringified).
|
|
107
|
+
*/
|
|
108
|
+
registerAgentTool(name: string, handler: (params: Record<string, any>) => any | Promise<any>): void;
|
|
105
109
|
};
|
|
106
110
|
declare const _default: GleapSdkType;
|
|
107
111
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-gleapsdk",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "16.4.0",
|
|
4
4
|
"description": "Know exactly why and how a bug happened. Get reports with screenshots, live action replays and all of the important metadata every time.",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
package/src/index.tsx
CHANGED
|
@@ -46,6 +46,14 @@ type GleapSdkType = {
|
|
|
46
46
|
): void;
|
|
47
47
|
openConversations(showBackButton: boolean): void;
|
|
48
48
|
openConversation(shareToken: string): void;
|
|
49
|
+
/**
|
|
50
|
+
* Handles a tapped Gleap push notification. Pass the FCM message's `data`
|
|
51
|
+
* payload (e.g. `remoteMessage.data`) after checking
|
|
52
|
+
* `data.sender === 'GLEAP'`. Opens the right destination based on
|
|
53
|
+
* `data.type` ('conversation' | 'news' | 'checklist') and `data.id`, and
|
|
54
|
+
* safely defers until the Gleap session is ready (cold starts).
|
|
55
|
+
*/
|
|
56
|
+
handlePushNotification(notificationData: { [key: string]: any }): void;
|
|
49
57
|
startConversation(showBackButton: boolean): void;
|
|
50
58
|
startClassicForm(formId: string, showBackButton: boolean): void;
|
|
51
59
|
open(): void;
|
|
@@ -109,20 +117,15 @@ type GleapSdkType = {
|
|
|
109
117
|
setTicketAttribute(key: string, value: string): void;
|
|
110
118
|
unsetTicketAttribute(key: string): void;
|
|
111
119
|
clearTicketAttributes(): void;
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
type: 'string' | 'number' | 'boolean';
|
|
122
|
-
required: boolean;
|
|
123
|
-
enums?: string[];
|
|
124
|
-
}[];
|
|
125
|
-
}[]
|
|
120
|
+
/**
|
|
121
|
+
* Registers the handler for a Frontend tool defined on your AI agent in the
|
|
122
|
+
* Gleap dashboard. The agent calls the handler with the configured
|
|
123
|
+
* parameters and waits for the returned result (string or object, which
|
|
124
|
+
* gets stringified).
|
|
125
|
+
*/
|
|
126
|
+
registerAgentTool(
|
|
127
|
+
name: string,
|
|
128
|
+
handler: (params: Record<string, any>) => any | Promise<any>
|
|
126
129
|
): void;
|
|
127
130
|
};
|
|
128
131
|
|
|
@@ -190,6 +193,22 @@ if (GleapSdk && !GleapSdk.touched) {
|
|
|
190
193
|
GleapSdk.registerListener('customActionTriggered', customActionCallback);
|
|
191
194
|
};
|
|
192
195
|
|
|
196
|
+
const registeredAgentTools: {
|
|
197
|
+
[name: string]: (params: Record<string, any>) => any;
|
|
198
|
+
} = {};
|
|
199
|
+
const nativeRegisterAgentTool = GleapSdk.registerAgentTool;
|
|
200
|
+
|
|
201
|
+
GleapSdk.registerAgentTool = (
|
|
202
|
+
name: string,
|
|
203
|
+
handler: (params: Record<string, any>) => any
|
|
204
|
+
) => {
|
|
205
|
+
if (!name || typeof handler !== 'function') {
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
208
|
+
registeredAgentTools[name] = handler;
|
|
209
|
+
nativeRegisterAgentTool(name);
|
|
210
|
+
};
|
|
211
|
+
|
|
193
212
|
const notifyCallback = function (eventType: string, data?: any) {
|
|
194
213
|
if (callbacks && callbacks[eventType] && callbacks[eventType].length > 0) {
|
|
195
214
|
for (var i = 0; i < callbacks[eventType].length; i++) {
|
|
@@ -225,6 +244,39 @@ if (GleapSdk && !GleapSdk.touched) {
|
|
|
225
244
|
} catch (exp) {}
|
|
226
245
|
});
|
|
227
246
|
|
|
247
|
+
gleapEmitter.addListener('agentToolExecution', async (data) => {
|
|
248
|
+
try {
|
|
249
|
+
const dataJSON = data instanceof Object ? data : JSON.parse(data);
|
|
250
|
+
const { executionId, name, params } = dataJSON;
|
|
251
|
+
if (!executionId || !name) {
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
let result;
|
|
256
|
+
const handler = registeredAgentTools[name];
|
|
257
|
+
if (!handler) {
|
|
258
|
+
result = `No handler registered for tool '${name}' in the app. Register one via Gleap.registerAgentTool('${name}', handler).`;
|
|
259
|
+
} else {
|
|
260
|
+
try {
|
|
261
|
+
const handlerResult = await handler(params ?? {});
|
|
262
|
+
result =
|
|
263
|
+
typeof handlerResult === 'string'
|
|
264
|
+
? handlerResult
|
|
265
|
+
: JSON.stringify(handlerResult ?? '');
|
|
266
|
+
if (!result) {
|
|
267
|
+
result = 'The action completed without returning a result.';
|
|
268
|
+
}
|
|
269
|
+
} catch (error: any) {
|
|
270
|
+
result = `Tool execution failed: ${
|
|
271
|
+
error?.message ?? 'unknown error'
|
|
272
|
+
}`;
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
GleapSdk.sendAgentToolResult(executionId, result);
|
|
277
|
+
} catch (exp) {}
|
|
278
|
+
});
|
|
279
|
+
|
|
228
280
|
gleapEmitter.addListener('feedbackSent', (data) => {
|
|
229
281
|
try {
|
|
230
282
|
const dataJSON = data instanceof Object ? data : JSON.parse(data);
|