@mobileai/react-native 0.7.19 → 0.7.20

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.
@@ -777,13 +777,48 @@ ${screen.elementsText}
777
777
  if (!tool) {
778
778
  return `❌ Unknown tool: ${name}`;
779
779
  }
780
+ return this.executeToolSafely(tool, args, name);
781
+ }
782
+
783
+ /**
784
+ * Execute a tool with global error safety.
785
+ * Overrides ErrorUtils.setGlobalHandler during execution to catch
786
+ * ALL errors (JS, native-to-JS, Fabric JSI) and prevent app crashes.
787
+ * This is the same pattern used by Sentry/Bugsnag crash SDKs.
788
+ */
789
+ async executeToolSafely(tool, args, toolName) {
790
+ // Get the global ErrorUtils (available in all RN architectures)
791
+ const ErrorUtils = global.ErrorUtils;
792
+ const originalHandler = ErrorUtils?.getGlobalHandler?.();
793
+ const errorRef = {
794
+ error: null
795
+ };
796
+
797
+ // Install safety handler — catch errors instead of crashing
798
+ if (ErrorUtils?.setGlobalHandler) {
799
+ ErrorUtils.setGlobalHandler((error, isFatal) => {
800
+ errorRef.error = error;
801
+ logger.warn('AgentRuntime', `🛡️ Caught ${isFatal ? 'FATAL' : 'non-fatal'} error during "${toolName}": ${error.message}`);
802
+ // Don't re-throw — suppress the crash
803
+ });
804
+ }
780
805
  try {
781
806
  const result = await tool.execute(args);
782
- logger.info('AgentRuntime', `Voice tool executed: ${name} ${result}`);
807
+ // Brief settle window for async side-effects (useEffect, native callbacks)
808
+ await new Promise(resolve => setTimeout(resolve, 100));
809
+ if (errorRef.error) {
810
+ logger.warn('AgentRuntime', `🛡️ Tool "${toolName}" succeeded but caused a side-effect error: ${errorRef.error.message}`);
811
+ return `${result} (⚠️ a background error was safely caught: ${errorRef.error.message})`;
812
+ }
783
813
  return result;
784
814
  } catch (error) {
785
- logger.error('AgentRuntime', `Voice tool error: ${name} ${error.message}`);
786
- return `❌ Tool "${name}" failed: ${error.message}`;
815
+ logger.error('AgentRuntime', `Tool "${toolName}" threw: ${error.message}`);
816
+ return `❌ Tool "${toolName}" failed: ${error.message}`;
817
+ } finally {
818
+ // Restore original handler
819
+ if (ErrorUtils?.setGlobalHandler && originalHandler) {
820
+ ErrorUtils.setGlobalHandler(originalHandler);
821
+ }
787
822
  }
788
823
  }
789
824
 
@@ -990,7 +1025,7 @@ ${screen.elementsText}
990
1025
  for (const tc of response.toolCalls) {
991
1026
  const tool = this.tools.get(tc.name);
992
1027
  if (tool) {
993
- const result = await tool.execute(tc.args);
1028
+ const result = await this.executeToolSafely(tool, tc.args, tc.name);
994
1029
  if (tc.name === 'done') {
995
1030
  message = result;
996
1031
  } else if (tc.name === 'query_knowledge') {
@@ -1117,7 +1152,7 @@ ${screen.elementsText}
1117
1152
  const tool = this.tools.get(toolCall.name) || this.buildToolsForProvider().find(t => t.name === toolCall.name);
1118
1153
  let output;
1119
1154
  if (tool) {
1120
- output = await tool.execute(toolCall.args);
1155
+ output = await this.executeToolSafely(tool, toolCall.args, toolCall.name);
1121
1156
  } else {
1122
1157
  output = `❌ Unknown tool: ${toolCall.name}`;
1123
1158
  }
@@ -1 +1 @@
1
- {"version":3,"names":["logger","walkFiberTree","findScrollableContainers","dehydrateScreen","buildSystemPrompt","buildKnowledgeOnlyPrompt","KnowledgeBaseService","DEFAULT_MAX_STEPS","AgentRuntime","tools","Map","actions","history","isRunning","lastAskUserQuestion","knowledgeService","constructor","provider","config","rootRef","navRef","debug","screenMap","knowledgeBase","knowledgeMaxTokens","enableUIControl","registerKnowledgeOnlyTools","registerBuiltInTools","customTools","name","tool","Object","entries","delete","info","set","description","parameters","index","type","required","execute","args","interactives","elements","getWalkConfig","element","find","el","map","e","join","props","onValueChange","value","Promise","resolve","setTimeout","label","error","message","onPress","fiber","fiberNode","return","bubbleDepth","parentProps","memoizedProps","text","onChangeText","screen","params","router","path","startsWith","push","isReady","JSON","parse","undefined","availableRoutes","getRouteNames","stringify","matchedScreen","r","toLowerCase","errMsg","warn","screenPath","findScreenPath","length","nestedParams","buildNestedParams","navigate","success","seconds","Math","min","Number","question","onAskUser","onStatusUpdate","answer","screenshot","captureScreenshot","round","direction","enum","amount","containerIndex","screenName","getCurrentScreenName","containers","targetIndex","container","available","c","componentName","scrollRef","stateNode","scrollToEnd","animated","scrollTo","y","scrollToOffset","offset","PAGE_OFFSET","amountLabel","retrieve","registerAction","action","unregisterAction","state","getRootState","getState","names","collectRouteNames","routeNames","routes","route","Set","targetScreen","some","nestedNames","includes","leafParams","result","i","pathname","segments","split","filter","Boolean","getDeepestScreenName","setUIControlOverride","enabled","uiControlOverride","isUIEnabled","getToolStatusLabel","toolName","moduleName","viewShot","require","captureRef","default","uri","format","quality","width","code","getScreenContext","keys","screens","chains","walkResult","elementsText","availableScreensText","appMapText","screenLines","entry","title","line","chainLines","chain","detectStaleMap","context","substring","staleMapWarned","mapScreens","missing","has","console","buildToolsForProvider","allTools","values","fromEntries","key","typeStr","handler","getTools","executeTool","get","t","interactiveBlacklist","interactiveWhitelist","getInstructions","instructions","system","trim","getScreenInstructions","screenInstructions","observations","lastScreenName","handleObservations","step","maxSteps","remaining","assembleUserPrompt","contextualMessage","screenContent","chatHistory","prompt","recentHistory","slice","msg","role","content","stepIndex","event","reflection","previousGoalEval","memory","plan","output","obs","userMessage","steps","stepDelay","sessionUsage","promptTokens","completionTokens","totalTokens","estimatedCostUSD","onBeforeTask","hasKnowledge","systemPrompt","userPrompt","response","generateContent","tokenUsage","onTokenUsage","toolCalls","tc","followUp","followUpResponse","ftc","doneResult","onAfterTask","onBeforeStep","transformScreenContent","contextMessage","reasoning","toolCall","statusLabel","statusDisplay","agentStep","input","onAfterStep","updateRefs","getIsRunning"],"sourceRoot":"../../../src","sources":["core/AgentRuntime.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["logger","walkFiberTree","findScrollableContainers","dehydrateScreen","buildSystemPrompt","buildKnowledgeOnlyPrompt","KnowledgeBaseService","DEFAULT_MAX_STEPS","AgentRuntime","tools","Map","actions","history","isRunning","lastAskUserQuestion","knowledgeService","constructor","provider","config","rootRef","navRef","debug","screenMap","knowledgeBase","knowledgeMaxTokens","enableUIControl","registerKnowledgeOnlyTools","registerBuiltInTools","customTools","name","tool","Object","entries","delete","info","set","description","parameters","index","type","required","execute","args","interactives","elements","getWalkConfig","element","find","el","map","e","join","props","onValueChange","value","Promise","resolve","setTimeout","label","error","message","onPress","fiber","fiberNode","return","bubbleDepth","parentProps","memoizedProps","text","onChangeText","screen","params","router","path","startsWith","push","isReady","JSON","parse","undefined","availableRoutes","getRouteNames","stringify","matchedScreen","r","toLowerCase","errMsg","warn","screenPath","findScreenPath","length","nestedParams","buildNestedParams","navigate","success","seconds","Math","min","Number","question","onAskUser","onStatusUpdate","answer","screenshot","captureScreenshot","round","direction","enum","amount","containerIndex","screenName","getCurrentScreenName","containers","targetIndex","container","available","c","componentName","scrollRef","stateNode","scrollToEnd","animated","scrollTo","y","scrollToOffset","offset","PAGE_OFFSET","amountLabel","retrieve","registerAction","action","unregisterAction","state","getRootState","getState","names","collectRouteNames","routeNames","routes","route","Set","targetScreen","some","nestedNames","includes","leafParams","result","i","pathname","segments","split","filter","Boolean","getDeepestScreenName","setUIControlOverride","enabled","uiControlOverride","isUIEnabled","getToolStatusLabel","toolName","moduleName","viewShot","require","captureRef","default","uri","format","quality","width","code","getScreenContext","keys","screens","chains","walkResult","elementsText","availableScreensText","appMapText","screenLines","entry","title","line","chainLines","chain","detectStaleMap","context","substring","staleMapWarned","mapScreens","missing","has","console","buildToolsForProvider","allTools","values","fromEntries","key","typeStr","handler","getTools","executeTool","get","t","executeToolSafely","ErrorUtils","global","originalHandler","getGlobalHandler","errorRef","setGlobalHandler","isFatal","interactiveBlacklist","interactiveWhitelist","getInstructions","instructions","system","trim","getScreenInstructions","screenInstructions","observations","lastScreenName","handleObservations","step","maxSteps","remaining","assembleUserPrompt","contextualMessage","screenContent","chatHistory","prompt","recentHistory","slice","msg","role","content","stepIndex","event","reflection","previousGoalEval","memory","plan","output","obs","userMessage","steps","stepDelay","sessionUsage","promptTokens","completionTokens","totalTokens","estimatedCostUSD","onBeforeTask","hasKnowledge","systemPrompt","userPrompt","response","generateContent","tokenUsage","onTokenUsage","toolCalls","tc","followUp","followUpResponse","ftc","doneResult","onAfterTask","onBeforeStep","transformScreenContent","contextMessage","reasoning","toolCall","statusLabel","statusDisplay","agentStep","input","onAfterStep","updateRefs","getIsRunning"],"sourceRoot":"../../../src","sources":["core/AgentRuntime.ts"],"mappings":"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","ignoreList":[]}
@@ -77,6 +77,13 @@ export declare class AgentRuntime {
77
77
  getTools(): ToolDefinition[];
78
78
  /** Execute a tool by name (for voice mode tool calls from WebSocket). */
79
79
  executeTool(name: string, args: Record<string, any>): Promise<string>;
80
+ /**
81
+ * Execute a tool with global error safety.
82
+ * Overrides ErrorUtils.setGlobalHandler during execution to catch
83
+ * ALL errors (JS, native-to-JS, Fabric JSI) and prevent app crashes.
84
+ * This is the same pattern used by Sentry/Bugsnag crash SDKs.
85
+ */
86
+ private executeToolSafely;
80
87
  private getWalkConfig;
81
88
  private getInstructions;
82
89
  private observations;
@@ -1 +1 @@
1
- {"version":3,"file":"AgentRuntime.d.ts","sourceRoot":"","sources":["../../../../src/core/AgentRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EAEX,eAAe,EACf,cAAc,EACd,gBAAgB,EAEjB,MAAM,SAAS,CAAC;AAMjB,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,KAAK,CAA0C;IACvD,OAAO,CAAC,OAAO,CAA4C;IAC3D,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,gBAAgB,CAAqC;IAC7D,OAAO,CAAC,iBAAiB,CAAC,CAAU;gBAGlC,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,GAAG,EACZ,MAAM,EAAE,GAAG;IAuCb,OAAO,CAAC,oBAAoB;IAmU5B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAuClC,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAK9C,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMpC;;;OAGG;IACH,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,iBAAiB;IAkBzB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAyBtB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IASzB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,oBAAoB;IAarB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAIxD,OAAO,CAAC,WAAW;IAKnB,gFAAgF;IAChF,OAAO,CAAC,kBAAkB;IAyB1B;;;;OAIG;YACW,iBAAiB;IA+B/B;;;;OAIG;IACI,gBAAgB,IAAI,MAAM;IAsEjC,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,qBAAqB;IA6B7B,gFAAgF;IACzE,QAAQ,IAAI,cAAc,EAAE;IAInC,yEAAyE;IAC5D,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAkBlF,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,cAAc,CAAc;IAEpC,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,kBAAkB;IAiGpB,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAiS/G,qDAAqD;IACrD,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI;IAK3C,4CAA4C;IAC5C,YAAY,IAAI,OAAO;CAGxB"}
1
+ {"version":3,"file":"AgentRuntime.d.ts","sourceRoot":"","sources":["../../../../src/core/AgentRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAQH,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EAEX,eAAe,EACf,cAAc,EACd,gBAAgB,EAEjB,MAAM,SAAS,CAAC;AAMjB,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,KAAK,CAA0C;IACvD,OAAO,CAAC,OAAO,CAA4C;IAC3D,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,gBAAgB,CAAqC;IAC7D,OAAO,CAAC,iBAAiB,CAAC,CAAU;gBAGlC,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,GAAG,EACZ,MAAM,EAAE,GAAG;IAuCb,OAAO,CAAC,oBAAoB;IAmU5B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAuClC,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAK9C,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMpC;;;OAGG;IACH,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,iBAAiB;IAkBzB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAyBtB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IASzB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,oBAAoB;IAarB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAIxD,OAAO,CAAC,WAAW;IAKnB,gFAAgF;IAChF,OAAO,CAAC,kBAAkB;IAyB1B;;;;OAIG;YACW,iBAAiB;IA+B/B;;;;OAIG;IACI,gBAAgB,IAAI,MAAM;IAsEjC,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,qBAAqB;IA6B7B,gFAAgF;IACzE,QAAQ,IAAI,cAAc,EAAE;IAInC,yEAAyE;IAC5D,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IASlF;;;;;OAKG;YACW,iBAAiB;IA6C/B,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,cAAc,CAAc;IAEpC,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,kBAAkB;IAiGpB,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAiS/G,qDAAqD;IACrD,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI;IAK3C,4CAA4C;IAC5C,YAAY,IAAI,OAAO;CAGxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mobileai/react-native",
3
- "version": "0.7.19",
3
+ "version": "0.7.20",
4
4
  "description": "Build autonomous AI agents for React Native and Expo apps. Provides AI-native UI traversal, tool calling, and structured reasoning.",
5
5
  "main": "./lib/module/index.js",
6
6
  "source": "./src/index.ts",
@@ -781,13 +781,55 @@ ${screen.elementsText}
781
781
  if (!tool) {
782
782
  return `❌ Unknown tool: ${name}`;
783
783
  }
784
+ return this.executeToolSafely(tool, args, name);
785
+ }
786
+
787
+ /**
788
+ * Execute a tool with global error safety.
789
+ * Overrides ErrorUtils.setGlobalHandler during execution to catch
790
+ * ALL errors (JS, native-to-JS, Fabric JSI) and prevent app crashes.
791
+ * This is the same pattern used by Sentry/Bugsnag crash SDKs.
792
+ */
793
+ private async executeToolSafely(
794
+ tool: { execute: (args: any) => Promise<string> },
795
+ args: any,
796
+ toolName: string
797
+ ): Promise<string> {
798
+ // Get the global ErrorUtils (available in all RN architectures)
799
+ const ErrorUtils = (global as any).ErrorUtils;
800
+ const originalHandler = ErrorUtils?.getGlobalHandler?.();
801
+ const errorRef: { error: Error | null } = { error: null };
802
+
803
+ // Install safety handler — catch errors instead of crashing
804
+ if (ErrorUtils?.setGlobalHandler) {
805
+ ErrorUtils.setGlobalHandler((error: Error, isFatal?: boolean) => {
806
+ errorRef.error = error;
807
+ logger.warn(
808
+ 'AgentRuntime',
809
+ `🛡️ Caught ${isFatal ? 'FATAL' : 'non-fatal'} error during "${toolName}": ${error.message}`
810
+ );
811
+ // Don't re-throw — suppress the crash
812
+ });
813
+ }
814
+
784
815
  try {
785
816
  const result = await tool.execute(args);
786
- logger.info('AgentRuntime', `Voice tool executed: ${name} ${result}`);
817
+ // Brief settle window for async side-effects (useEffect, native callbacks)
818
+ await new Promise(resolve => setTimeout(resolve, 100));
819
+
820
+ if (errorRef.error) {
821
+ logger.warn('AgentRuntime', `🛡️ Tool "${toolName}" succeeded but caused a side-effect error: ${errorRef.error.message}`);
822
+ return `${result} (⚠️ a background error was safely caught: ${errorRef.error.message})`;
823
+ }
787
824
  return result;
788
825
  } catch (error: any) {
789
- logger.error('AgentRuntime', `Voice tool error: ${name} ${error.message}`);
790
- return `❌ Tool "${name}" failed: ${error.message}`;
826
+ logger.error('AgentRuntime', `Tool "${toolName}" threw: ${error.message}`);
827
+ return `❌ Tool "${toolName}" failed: ${error.message}`;
828
+ } finally {
829
+ // Restore original handler
830
+ if (ErrorUtils?.setGlobalHandler && originalHandler) {
831
+ ErrorUtils.setGlobalHandler(originalHandler);
832
+ }
791
833
  }
792
834
  }
793
835
 
@@ -1017,7 +1059,7 @@ ${screen.elementsText}
1017
1059
  for (const tc of response.toolCalls) {
1018
1060
  const tool = this.tools.get(tc.name);
1019
1061
  if (tool) {
1020
- const result = await tool.execute(tc.args);
1062
+ const result = await this.executeToolSafely(tool, tc.args, tc.name);
1021
1063
  if (tc.name === 'done') {
1022
1064
  message = result;
1023
1065
  } else if (tc.name === 'query_knowledge') {
@@ -1164,7 +1206,7 @@ ${screen.elementsText}
1164
1206
 
1165
1207
  let output: string;
1166
1208
  if (tool) {
1167
- output = await tool.execute(toolCall.args);
1209
+ output = await this.executeToolSafely(tool, toolCall.args, toolCall.name);
1168
1210
  } else {
1169
1211
  output = `❌ Unknown tool: ${toolCall.name}`;
1170
1212
  }