react-native-gleapsdk 15.3.2 → 15.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.
@@ -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: '15.3.1'
59
+ implementation group: 'io.gleap', name: 'gleap-android-sdk', version: '15.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
- * Set the ai tools.
803
- * @param tools
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 setAiTools(ReadableArray tools) {
811
+ public void registerAgentTool(String name) {
807
812
  try {
808
- if (Gleap.getInstance() == null) {
809
- return;
810
- }
811
-
812
- ArrayList<GleapAiTool> gleapAiTools = new ArrayList<>();
813
-
814
- // Loop through the tools array
815
- for (int i = 0; i < tools.size(); i++) {
816
- ReadableMap tool = tools.getMap(i);
817
- if (tool == null) continue;
818
-
819
- String name = tool.getString("name");
820
- String description = tool.getString("description");
821
- String response = tool.getString("response");
822
- String executionType = tool.getString("executionType");
823
- ReadableArray parametersArray = tool.getArray("parameters");
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
- // Create the AI tool with parameters
853
- GleapAiToolParameter[] paramsArray = new GleapAiToolParameter[gleapParameters.size()];
854
- paramsArray = gleapParameters.toArray(paramsArray);
855
- GleapAiTool gleapAiTool = new GleapAiTool(
856
- name, description, response, executionType, paramsArray);
857
-
858
- // Add the AI tool to the list
859
- gleapAiTools.add(gleapAiTool);
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 setting AI tools: " + e);
851
+ System.out.println("Error sending agent tool result: " + e);
869
852
  }
870
853
  }
871
854
 
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)
@@ -636,60 +637,40 @@ RCT_EXPORT_METHOD(clearTicketAttributes) {
636
637
  });
637
638
  }
638
639
 
639
- RCT_EXPORT_METHOD(setAiTools:(NSArray *)toolsArray) {
640
- dispatch_async(dispatch_get_main_queue(), ^{
641
- @try {
642
- NSMutableArray *aiTools = [[NSMutableArray alloc] init];
643
-
644
- for (NSDictionary *toolDict in toolsArray) {
645
- // Safely unwrap tool dictionary properties
646
- NSString *name = toolDict[@"name"];
647
- NSString *toolDescription = toolDict[@"description"];
648
- NSString *response = toolDict[@"response"];
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
- }
640
+ RCT_EXPORT_METHOD(registerAgentTool:(NSString *)name) {
641
+ dispatch_async(dispatch_get_main_queue(), ^{
642
+ [Gleap registerAgentTool: name handler:^(NSDictionary *params, GleapAgentToolCompletion completion) {
643
+ if (!self->_hasListeners) {
644
+ completion(@"Tool execution failed: no listener attached.");
645
+ return;
646
+ }
647
+
648
+ if (self->_pendingAgentToolExecutions == nil) {
649
+ self->_pendingAgentToolExecutions = [[NSMutableDictionary alloc] init];
688
650
  }
689
651
 
690
- [Gleap setAiTools:aiTools];
691
- } @catch (NSException *exception) {
692
-
652
+ NSString *executionId = [[NSUUID UUID] UUIDString];
653
+ [self->_pendingAgentToolExecutions setObject: completion forKey: executionId];
654
+
655
+ [self sendEventWithName:@"agentToolExecution" body:@{
656
+ @"executionId": executionId,
657
+ @"name": name,
658
+ @"params": params ?: @{}
659
+ }];
660
+ }];
661
+ });
662
+ }
663
+
664
+ RCT_EXPORT_METHOD(sendAgentToolResult:(NSString *)executionId result:(NSString *)result) {
665
+ dispatch_async(dispatch_get_main_queue(), ^{
666
+ if (executionId == nil || self->_pendingAgentToolExecutions == nil) {
667
+ return;
668
+ }
669
+
670
+ GleapAgentToolCompletion completion = [self->_pendingAgentToolExecutions objectForKey: executionId];
671
+ if (completion != nil) {
672
+ [self->_pendingAgentToolExecutions removeObjectForKey: executionId];
673
+ completion(result);
693
674
  }
694
675
  });
695
676
  }
@@ -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":"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","ignoreList":[]}
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":[]}
@@ -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);
@@ -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":"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","ignoreList":[]}
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":[]}
@@ -89,19 +89,13 @@ type GleapSdkType = {
89
89
  setTicketAttribute(key: string, value: string): void;
90
90
  unsetTicketAttribute(key: string): void;
91
91
  clearTicketAttributes(): void;
92
- setAiTools(tools: {
93
- name: string;
94
- description: string;
95
- response: string;
96
- executionType: 'auto' | 'button';
97
- parameters: {
98
- name: string;
99
- description: string;
100
- type: 'string' | 'number' | 'boolean';
101
- required: boolean;
102
- enums?: string[];
103
- }[];
104
- }[]): void;
92
+ /**
93
+ * Registers the handler for a Frontend tool defined on your AI agent in the
94
+ * Gleap dashboard. The agent calls the handler with the configured
95
+ * parameters and waits for the returned result (string or object, which
96
+ * gets stringified).
97
+ */
98
+ registerAgentTool(name: string, handler: (params: Record<string, any>) => any | Promise<any>): void;
105
99
  };
106
100
  declare const _default: GleapSdkType;
107
101
  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": "15.3.2",
3
+ "version": "15.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",
@@ -16,5 +16,5 @@ Pod::Spec.new do |s|
16
16
  s.source_files = "ios/**/*.{h,m,mm}"
17
17
 
18
18
  s.dependency "React-Core"
19
- s.dependency "Gleap", "15.3.3"
19
+ s.dependency "Gleap", "15.4.0"
20
20
  end
package/src/index.tsx CHANGED
@@ -109,20 +109,15 @@ type GleapSdkType = {
109
109
  setTicketAttribute(key: string, value: string): void;
110
110
  unsetTicketAttribute(key: string): void;
111
111
  clearTicketAttributes(): void;
112
- setAiTools(
113
- tools: {
114
- name: string;
115
- description: string;
116
- response: string;
117
- executionType: 'auto' | 'button';
118
- parameters: {
119
- name: string;
120
- description: string;
121
- type: 'string' | 'number' | 'boolean';
122
- required: boolean;
123
- enums?: string[];
124
- }[];
125
- }[]
112
+ /**
113
+ * Registers the handler for a Frontend tool defined on your AI agent in the
114
+ * Gleap dashboard. The agent calls the handler with the configured
115
+ * parameters and waits for the returned result (string or object, which
116
+ * gets stringified).
117
+ */
118
+ registerAgentTool(
119
+ name: string,
120
+ handler: (params: Record<string, any>) => any | Promise<any>
126
121
  ): void;
127
122
  };
128
123
 
@@ -190,6 +185,22 @@ if (GleapSdk && !GleapSdk.touched) {
190
185
  GleapSdk.registerListener('customActionTriggered', customActionCallback);
191
186
  };
192
187
 
188
+ const registeredAgentTools: {
189
+ [name: string]: (params: Record<string, any>) => any;
190
+ } = {};
191
+ const nativeRegisterAgentTool = GleapSdk.registerAgentTool;
192
+
193
+ GleapSdk.registerAgentTool = (
194
+ name: string,
195
+ handler: (params: Record<string, any>) => any
196
+ ) => {
197
+ if (!name || typeof handler !== 'function') {
198
+ return;
199
+ }
200
+ registeredAgentTools[name] = handler;
201
+ nativeRegisterAgentTool(name);
202
+ };
203
+
193
204
  const notifyCallback = function (eventType: string, data?: any) {
194
205
  if (callbacks && callbacks[eventType] && callbacks[eventType].length > 0) {
195
206
  for (var i = 0; i < callbacks[eventType].length; i++) {
@@ -225,6 +236,39 @@ if (GleapSdk && !GleapSdk.touched) {
225
236
  } catch (exp) {}
226
237
  });
227
238
 
239
+ gleapEmitter.addListener('agentToolExecution', async (data) => {
240
+ try {
241
+ const dataJSON = data instanceof Object ? data : JSON.parse(data);
242
+ const { executionId, name, params } = dataJSON;
243
+ if (!executionId || !name) {
244
+ return;
245
+ }
246
+
247
+ let result;
248
+ const handler = registeredAgentTools[name];
249
+ if (!handler) {
250
+ result = `No handler registered for tool '${name}' in the app. Register one via Gleap.registerAgentTool('${name}', handler).`;
251
+ } else {
252
+ try {
253
+ const handlerResult = await handler(params ?? {});
254
+ result =
255
+ typeof handlerResult === 'string'
256
+ ? handlerResult
257
+ : JSON.stringify(handlerResult ?? '');
258
+ if (!result) {
259
+ result = 'The action completed without returning a result.';
260
+ }
261
+ } catch (error: any) {
262
+ result = `Tool execution failed: ${
263
+ error?.message ?? 'unknown error'
264
+ }`;
265
+ }
266
+ }
267
+
268
+ GleapSdk.sendAgentToolResult(executionId, result);
269
+ } catch (exp) {}
270
+ });
271
+
228
272
  gleapEmitter.addListener('feedbackSent', (data) => {
229
273
  try {
230
274
  const dataJSON = data instanceof Object ? data : JSON.parse(data);