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.
@@ -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: '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
- * 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
 
@@ -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(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
- }
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
- [Gleap setAiTools:aiTools];
691
- } @catch (NSException *exception) {
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
  }
@@ -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":[]}
@@ -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
- 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;
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": "15.3.4",
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",
@@ -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.4"
19
+ s.dependency "Gleap", "16.4.0"
20
20
  end
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
- 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
- }[]
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);