@mobileai/react-native 0.7.23 → 0.7.25
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.
|
@@ -28,6 +28,14 @@ export class AgentRuntime {
|
|
|
28
28
|
isRunning = false;
|
|
29
29
|
lastAskUserQuestion = null;
|
|
30
30
|
knowledgeService = null;
|
|
31
|
+
// ─── Task-scoped error suppression ──────────────────────────
|
|
32
|
+
// Installed once at execute() start, removed after grace period.
|
|
33
|
+
// Catches ALL async errors (useEffect, native callbacks, PagerView)
|
|
34
|
+
// that would otherwise crash the host app during agent execution.
|
|
35
|
+
originalErrorHandler = null;
|
|
36
|
+
lastSuppressedError = null;
|
|
37
|
+
graceTimer = null;
|
|
38
|
+
originalReportErrorsAsExceptions = undefined;
|
|
31
39
|
constructor(provider, config, rootRef, navRef) {
|
|
32
40
|
this.provider = provider;
|
|
33
41
|
this.config = config;
|
|
@@ -618,54 +626,110 @@ ${screen.elementsText}
|
|
|
618
626
|
}
|
|
619
627
|
return this.executeToolSafely(tool, args, name);
|
|
620
628
|
}
|
|
621
|
-
|
|
622
629
|
/**
|
|
623
|
-
*
|
|
624
|
-
*
|
|
625
|
-
*
|
|
626
|
-
*
|
|
630
|
+
* Start 3-layer error suppression for the agent task lifecycle.
|
|
631
|
+
*
|
|
632
|
+
* Layer 1 — ErrorUtils: Catches non-React async errors (setTimeout, fetch, native callbacks).
|
|
633
|
+
* Layer 2 — console.reportErrorsAsExceptions: React Native dev-mode flag. When false,
|
|
634
|
+
* console.error calls don't trigger ExceptionsManager.handleException(),
|
|
635
|
+
* preventing the red "Render Error" screen for errors that React surfaces
|
|
636
|
+
* via console.error (useEffect, lifecycle, invariant violations).
|
|
637
|
+
* Layer 3 — Grace period (in _stopErrorSuppression): Keeps suppression active
|
|
638
|
+
* for N ms after task completion, covering delayed useEffect effects.
|
|
639
|
+
*
|
|
640
|
+
* Same compound approach used by Sentry React Native SDK (ErrorUtils + ExceptionsManager override).
|
|
627
641
|
*/
|
|
628
|
-
|
|
629
|
-
//
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
};
|
|
642
|
+
_startErrorSuppression() {
|
|
643
|
+
// Cancel any pending grace timer from a previous task
|
|
644
|
+
if (this.graceTimer) {
|
|
645
|
+
clearTimeout(this.graceTimer);
|
|
646
|
+
this.graceTimer = null;
|
|
647
|
+
}
|
|
635
648
|
|
|
636
|
-
//
|
|
649
|
+
// Layer 1: ErrorUtils global handler
|
|
650
|
+
const ErrorUtils = global.ErrorUtils;
|
|
637
651
|
if (ErrorUtils?.setGlobalHandler) {
|
|
652
|
+
this.originalErrorHandler = ErrorUtils.getGlobalHandler?.() ?? null;
|
|
653
|
+
this.lastSuppressedError = null;
|
|
638
654
|
ErrorUtils.setGlobalHandler((error, isFatal) => {
|
|
639
|
-
|
|
640
|
-
logger.warn('AgentRuntime', `🛡️
|
|
641
|
-
// Don't re-throw — suppress the crash
|
|
655
|
+
this.lastSuppressedError = error;
|
|
656
|
+
logger.warn('AgentRuntime', `🛡️ Suppressed ${isFatal ? 'FATAL' : 'non-fatal'} error during agent task: ${error.message}`);
|
|
657
|
+
// Don't re-throw — suppress the crash entirely.
|
|
642
658
|
});
|
|
643
659
|
}
|
|
660
|
+
|
|
661
|
+
// Layer 2: Suppress dev-mode red screen
|
|
662
|
+
// In RN dev mode, useEffect errors trigger console.error → ExceptionsManager → red screen.
|
|
663
|
+
// This flag is the official RN mechanism to disable that pipeline.
|
|
664
|
+
const consoleAny = console;
|
|
665
|
+
if (consoleAny.reportErrorsAsExceptions !== undefined) {
|
|
666
|
+
this.originalReportErrorsAsExceptions = consoleAny.reportErrorsAsExceptions;
|
|
667
|
+
consoleAny.reportErrorsAsExceptions = false;
|
|
668
|
+
}
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
/**
|
|
672
|
+
* Stop error suppression after a grace period.
|
|
673
|
+
* The grace period covers delayed React side-effects (useEffect, PagerView onPageSelected,
|
|
674
|
+
* scrollToIndex) that can fire AFTER execute() returns.
|
|
675
|
+
*/
|
|
676
|
+
_stopErrorSuppression(gracePeriodMs = 0) {
|
|
677
|
+
const restore = () => {
|
|
678
|
+
// Restore Layer 1: ErrorUtils
|
|
679
|
+
const ErrorUtils = global.ErrorUtils;
|
|
680
|
+
if (ErrorUtils?.setGlobalHandler && this.originalErrorHandler) {
|
|
681
|
+
ErrorUtils.setGlobalHandler(this.originalErrorHandler);
|
|
682
|
+
this.originalErrorHandler = null;
|
|
683
|
+
}
|
|
684
|
+
this.lastSuppressedError = null;
|
|
685
|
+
|
|
686
|
+
// Restore Layer 2: console.reportErrorsAsExceptions
|
|
687
|
+
const consoleAny = console;
|
|
688
|
+
if (this.originalReportErrorsAsExceptions !== undefined) {
|
|
689
|
+
consoleAny.reportErrorsAsExceptions = this.originalReportErrorsAsExceptions;
|
|
690
|
+
this.originalReportErrorsAsExceptions = undefined;
|
|
691
|
+
}
|
|
692
|
+
this.graceTimer = null;
|
|
693
|
+
};
|
|
694
|
+
if (gracePeriodMs > 0) {
|
|
695
|
+
this.graceTimer = setTimeout(restore, gracePeriodMs);
|
|
696
|
+
} else {
|
|
697
|
+
restore();
|
|
698
|
+
}
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
/**
|
|
702
|
+
* Execute a tool with safety checks.
|
|
703
|
+
* Validates args before execution (Detox/Appium pattern).
|
|
704
|
+
* Checks for async errors that were suppressed during the settle window.
|
|
705
|
+
* The global ErrorUtils handler is task-scoped (installed in execute()),
|
|
706
|
+
* so this method only needs to CHECK for errors, not install/remove.
|
|
707
|
+
*/
|
|
708
|
+
async executeToolSafely(tool, args, toolName) {
|
|
709
|
+
// Clear any previous suppressed error before this tool
|
|
710
|
+
this.lastSuppressedError = null;
|
|
644
711
|
try {
|
|
645
712
|
// ── Argument Validation (Pattern from Detox/Appium: typeof checks before native dispatch) ──
|
|
646
|
-
// Prevents null/undefined/wrong-type args from reaching native components
|
|
647
713
|
const validationError = this.validateToolArgs(args, toolName);
|
|
648
714
|
if (validationError) {
|
|
649
715
|
logger.warn('AgentRuntime', `🛡️ Arg validation rejected "${toolName}": ${validationError}`);
|
|
650
716
|
return validationError;
|
|
651
717
|
}
|
|
652
718
|
const result = await tool.execute(args);
|
|
653
|
-
|
|
654
|
-
//
|
|
719
|
+
|
|
720
|
+
// Settle window for async side-effects (useEffect, native callbacks)
|
|
721
|
+
// The global ErrorUtils handler catches any errors during this window
|
|
655
722
|
await new Promise(resolve => setTimeout(resolve, 2000));
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
723
|
+
const suppressedError = this.lastSuppressedError;
|
|
724
|
+
if (suppressedError) {
|
|
725
|
+
logger.warn('AgentRuntime', `🛡️ Tool "${toolName}" caused async error (suppressed): ${suppressedError.message}`);
|
|
726
|
+
this.lastSuppressedError = null;
|
|
727
|
+
return `${result} (⚠️ a background error was safely caught: ${suppressedError.message})`;
|
|
659
728
|
}
|
|
660
729
|
return result;
|
|
661
730
|
} catch (error) {
|
|
662
731
|
logger.error('AgentRuntime', `Tool "${toolName}" threw: ${error.message}`);
|
|
663
732
|
return `❌ Tool "${toolName}" failed: ${error.message}`;
|
|
664
|
-
} finally {
|
|
665
|
-
// Restore original handler
|
|
666
|
-
if (ErrorUtils?.setGlobalHandler && originalHandler) {
|
|
667
|
-
ErrorUtils.setGlobalHandler(originalHandler);
|
|
668
|
-
}
|
|
669
733
|
}
|
|
670
734
|
}
|
|
671
735
|
|
|
@@ -872,6 +936,9 @@ ${screen.elementsText}
|
|
|
872
936
|
// Lifecycle: onBeforeTask
|
|
873
937
|
await this.config.onBeforeTask?.();
|
|
874
938
|
try {
|
|
939
|
+
// ── Start error suppression (3 layers) ──────────────────
|
|
940
|
+
this._startErrorSuppression();
|
|
941
|
+
|
|
875
942
|
// ─── Knowledge-only fast path ─────────────────────────────────
|
|
876
943
|
// Skip fiber walk, dehydration, screenshots, and multi-step loop.
|
|
877
944
|
// Only sends the user question → single LLM call → done.
|
|
@@ -1098,6 +1165,10 @@ ${screen.elementsText}
|
|
|
1098
1165
|
return result;
|
|
1099
1166
|
} finally {
|
|
1100
1167
|
this.isRunning = false;
|
|
1168
|
+
// ── Grace period: keep error suppression for delayed side-effects ──
|
|
1169
|
+
// useEffect callbacks, PagerView onPageSelected, scrollToIndex, etc.
|
|
1170
|
+
// can fire AFTER execute() returns. Keep suppression active for 10s.
|
|
1171
|
+
this._stopErrorSuppression(10000);
|
|
1101
1172
|
}
|
|
1102
1173
|
}
|
|
1103
1174
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["logger","walkFiberTree","dehydrateScreen","buildSystemPrompt","buildKnowledgeOnlyPrompt","KnowledgeBaseService","createTapTool","createLongPressTool","createTypeTool","createScrollTool","createSliderTool","createPickerTool","createDatePickerTool","createKeyboardTool","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","toolContext","getWalkConfig","getCurrentScreenName","routerRef","router","getRouteNames","findScreenPath","buildNestedParams","path","params","captureScreenshot","modularTools","description","parameters","screen","type","required","execute","args","startsWith","push","Promise","resolve","setTimeout","error","message","isReady","JSON","parse","undefined","availableRoutes","join","stringify","matchedScreen","find","r","toLowerCase","errMsg","warn","screenPath","length","nestedParams","navigate","text","success","seconds","Math","min","Number","question","onAskUser","onStatusUpdate","answer","screenshot","round","screenName","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","index","setUIControlOverride","enabled","uiControlOverride","isUIEnabled","getToolStatusLabel","toolName","direction","value","date","moduleName","viewShot","require","captureRef","default","uri","format","quality","width","code","getScreenContext","keys","screens","chains","walkResult","elementsText","interactives","availableScreensText","appMapText","map","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","validationError","validateToolArgs","numericArgs","val","isFinite","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","dehydrateScreen","buildSystemPrompt","buildKnowledgeOnlyPrompt","KnowledgeBaseService","createTapTool","createLongPressTool","createTypeTool","createScrollTool","createSliderTool","createPickerTool","createDatePickerTool","createKeyboardTool","DEFAULT_MAX_STEPS","AgentRuntime","tools","Map","actions","history","isRunning","lastAskUserQuestion","knowledgeService","originalErrorHandler","lastSuppressedError","graceTimer","originalReportErrorsAsExceptions","undefined","constructor","provider","config","rootRef","navRef","debug","screenMap","knowledgeBase","knowledgeMaxTokens","enableUIControl","registerKnowledgeOnlyTools","registerBuiltInTools","customTools","name","tool","Object","entries","delete","info","set","toolContext","getWalkConfig","getCurrentScreenName","routerRef","router","getRouteNames","findScreenPath","buildNestedParams","path","params","captureScreenshot","modularTools","description","parameters","screen","type","required","execute","args","startsWith","push","Promise","resolve","setTimeout","error","message","isReady","JSON","parse","availableRoutes","join","stringify","matchedScreen","find","r","toLowerCase","errMsg","warn","screenPath","length","nestedParams","navigate","text","success","seconds","Math","min","Number","question","onAskUser","onStatusUpdate","answer","screenshot","round","screenName","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","index","setUIControlOverride","enabled","uiControlOverride","isUIEnabled","getToolStatusLabel","toolName","direction","value","date","moduleName","viewShot","require","captureRef","default","uri","format","quality","width","code","getScreenContext","keys","screens","chains","walkResult","elementsText","interactives","availableScreensText","appMapText","map","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","_startErrorSuppression","clearTimeout","ErrorUtils","global","setGlobalHandler","getGlobalHandler","isFatal","consoleAny","reportErrorsAsExceptions","_stopErrorSuppression","gracePeriodMs","restore","validationError","validateToolArgs","suppressedError","numericArgs","val","isFinite","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":[]}
|
|
@@ -21,6 +21,10 @@ export declare class AgentRuntime {
|
|
|
21
21
|
private lastAskUserQuestion;
|
|
22
22
|
private knowledgeService;
|
|
23
23
|
private uiControlOverride?;
|
|
24
|
+
private originalErrorHandler;
|
|
25
|
+
private lastSuppressedError;
|
|
26
|
+
private graceTimer;
|
|
27
|
+
private originalReportErrorsAsExceptions;
|
|
24
28
|
constructor(provider: AIProvider, config: AgentConfig, rootRef: any, navRef: any);
|
|
25
29
|
private registerBuiltInTools;
|
|
26
30
|
/**
|
|
@@ -78,10 +82,31 @@ export declare class AgentRuntime {
|
|
|
78
82
|
/** Execute a tool by name (for voice mode tool calls from WebSocket). */
|
|
79
83
|
executeTool(name: string, args: Record<string, any>): Promise<string>;
|
|
80
84
|
/**
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
+
* Start 3-layer error suppression for the agent task lifecycle.
|
|
86
|
+
*
|
|
87
|
+
* Layer 1 — ErrorUtils: Catches non-React async errors (setTimeout, fetch, native callbacks).
|
|
88
|
+
* Layer 2 — console.reportErrorsAsExceptions: React Native dev-mode flag. When false,
|
|
89
|
+
* console.error calls don't trigger ExceptionsManager.handleException(),
|
|
90
|
+
* preventing the red "Render Error" screen for errors that React surfaces
|
|
91
|
+
* via console.error (useEffect, lifecycle, invariant violations).
|
|
92
|
+
* Layer 3 — Grace period (in _stopErrorSuppression): Keeps suppression active
|
|
93
|
+
* for N ms after task completion, covering delayed useEffect effects.
|
|
94
|
+
*
|
|
95
|
+
* Same compound approach used by Sentry React Native SDK (ErrorUtils + ExceptionsManager override).
|
|
96
|
+
*/
|
|
97
|
+
private _startErrorSuppression;
|
|
98
|
+
/**
|
|
99
|
+
* Stop error suppression after a grace period.
|
|
100
|
+
* The grace period covers delayed React side-effects (useEffect, PagerView onPageSelected,
|
|
101
|
+
* scrollToIndex) that can fire AFTER execute() returns.
|
|
102
|
+
*/
|
|
103
|
+
private _stopErrorSuppression;
|
|
104
|
+
/**
|
|
105
|
+
* Execute a tool with safety checks.
|
|
106
|
+
* Validates args before execution (Detox/Appium pattern).
|
|
107
|
+
* Checks for async errors that were suppressed during the settle window.
|
|
108
|
+
* The global ErrorUtils handler is task-scoped (installed in execute()),
|
|
109
|
+
* so this method only needs to CHECK for errors, not install/remove.
|
|
85
110
|
*/
|
|
86
111
|
private executeToolSafely;
|
|
87
112
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgentRuntime.d.ts","sourceRoot":"","sources":["../../../../src/core/AgentRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAmBH,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;
|
|
1
|
+
{"version":3,"file":"AgentRuntime.d.ts","sourceRoot":"","sources":["../../../../src/core/AgentRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAmBH,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;IAMpC,OAAO,CAAC,oBAAoB,CAA4D;IACxF,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,gCAAgC,CAAkC;gBAGxE,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,GAAG,EACZ,MAAM,EAAE,GAAG;IAuCb,OAAO,CAAC,oBAAoB;IAyL5B;;;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;IAmC1B;;;;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;IAQlF;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,sBAAsB;IAgC9B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IA2B7B;;;;;;OAMG;YACW,iBAAiB;IAmC/B;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IA0BxB,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;IAwS/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.
|
|
3
|
+
"version": "0.7.25",
|
|
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",
|
package/src/core/AgentRuntime.ts
CHANGED
|
@@ -53,6 +53,15 @@ export class AgentRuntime {
|
|
|
53
53
|
private knowledgeService: KnowledgeBaseService | null = null;
|
|
54
54
|
private uiControlOverride?: boolean;
|
|
55
55
|
|
|
56
|
+
// ─── Task-scoped error suppression ──────────────────────────
|
|
57
|
+
// Installed once at execute() start, removed after grace period.
|
|
58
|
+
// Catches ALL async errors (useEffect, native callbacks, PagerView)
|
|
59
|
+
// that would otherwise crash the host app during agent execution.
|
|
60
|
+
private originalErrorHandler: ((error: Error, isFatal?: boolean) => void) | null = null;
|
|
61
|
+
private lastSuppressedError: Error | null = null;
|
|
62
|
+
private graceTimer: ReturnType<typeof setTimeout> | null = null;
|
|
63
|
+
private originalReportErrorsAsExceptions: boolean | undefined = undefined;
|
|
64
|
+
|
|
56
65
|
constructor(
|
|
57
66
|
provider: AIProvider,
|
|
58
67
|
config: AgentConfig,
|
|
@@ -666,38 +675,100 @@ ${screen.elementsText}
|
|
|
666
675
|
}
|
|
667
676
|
return this.executeToolSafely(tool, args, name);
|
|
668
677
|
}
|
|
669
|
-
|
|
670
678
|
/**
|
|
671
|
-
*
|
|
672
|
-
*
|
|
673
|
-
*
|
|
674
|
-
*
|
|
679
|
+
* Start 3-layer error suppression for the agent task lifecycle.
|
|
680
|
+
*
|
|
681
|
+
* Layer 1 — ErrorUtils: Catches non-React async errors (setTimeout, fetch, native callbacks).
|
|
682
|
+
* Layer 2 — console.reportErrorsAsExceptions: React Native dev-mode flag. When false,
|
|
683
|
+
* console.error calls don't trigger ExceptionsManager.handleException(),
|
|
684
|
+
* preventing the red "Render Error" screen for errors that React surfaces
|
|
685
|
+
* via console.error (useEffect, lifecycle, invariant violations).
|
|
686
|
+
* Layer 3 — Grace period (in _stopErrorSuppression): Keeps suppression active
|
|
687
|
+
* for N ms after task completion, covering delayed useEffect effects.
|
|
688
|
+
*
|
|
689
|
+
* Same compound approach used by Sentry React Native SDK (ErrorUtils + ExceptionsManager override).
|
|
675
690
|
*/
|
|
676
|
-
private
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
const ErrorUtils = (global as any).ErrorUtils;
|
|
683
|
-
const originalHandler = ErrorUtils?.getGlobalHandler?.();
|
|
684
|
-
const errorRef: { error: Error | null } = { error: null };
|
|
691
|
+
private _startErrorSuppression(): void {
|
|
692
|
+
// Cancel any pending grace timer from a previous task
|
|
693
|
+
if (this.graceTimer) {
|
|
694
|
+
clearTimeout(this.graceTimer);
|
|
695
|
+
this.graceTimer = null;
|
|
696
|
+
}
|
|
685
697
|
|
|
686
|
-
//
|
|
698
|
+
// Layer 1: ErrorUtils global handler
|
|
699
|
+
const ErrorUtils = (global as any).ErrorUtils;
|
|
687
700
|
if (ErrorUtils?.setGlobalHandler) {
|
|
701
|
+
this.originalErrorHandler = ErrorUtils.getGlobalHandler?.() ?? null;
|
|
702
|
+
this.lastSuppressedError = null;
|
|
688
703
|
ErrorUtils.setGlobalHandler((error: Error, isFatal?: boolean) => {
|
|
689
|
-
|
|
704
|
+
this.lastSuppressedError = error;
|
|
690
705
|
logger.warn(
|
|
691
706
|
'AgentRuntime',
|
|
692
|
-
`🛡️
|
|
707
|
+
`🛡️ Suppressed ${isFatal ? 'FATAL' : 'non-fatal'} error during agent task: ${error.message}`
|
|
693
708
|
);
|
|
694
|
-
// Don't re-throw — suppress the crash
|
|
709
|
+
// Don't re-throw — suppress the crash entirely.
|
|
695
710
|
});
|
|
696
711
|
}
|
|
697
712
|
|
|
713
|
+
// Layer 2: Suppress dev-mode red screen
|
|
714
|
+
// In RN dev mode, useEffect errors trigger console.error → ExceptionsManager → red screen.
|
|
715
|
+
// This flag is the official RN mechanism to disable that pipeline.
|
|
716
|
+
const consoleAny = console as any;
|
|
717
|
+
if (consoleAny.reportErrorsAsExceptions !== undefined) {
|
|
718
|
+
this.originalReportErrorsAsExceptions = consoleAny.reportErrorsAsExceptions;
|
|
719
|
+
consoleAny.reportErrorsAsExceptions = false;
|
|
720
|
+
}
|
|
721
|
+
}
|
|
722
|
+
|
|
723
|
+
/**
|
|
724
|
+
* Stop error suppression after a grace period.
|
|
725
|
+
* The grace period covers delayed React side-effects (useEffect, PagerView onPageSelected,
|
|
726
|
+
* scrollToIndex) that can fire AFTER execute() returns.
|
|
727
|
+
*/
|
|
728
|
+
private _stopErrorSuppression(gracePeriodMs: number = 0): void {
|
|
729
|
+
const restore = () => {
|
|
730
|
+
// Restore Layer 1: ErrorUtils
|
|
731
|
+
const ErrorUtils = (global as any).ErrorUtils;
|
|
732
|
+
if (ErrorUtils?.setGlobalHandler && this.originalErrorHandler) {
|
|
733
|
+
ErrorUtils.setGlobalHandler(this.originalErrorHandler);
|
|
734
|
+
this.originalErrorHandler = null;
|
|
735
|
+
}
|
|
736
|
+
this.lastSuppressedError = null;
|
|
737
|
+
|
|
738
|
+
// Restore Layer 2: console.reportErrorsAsExceptions
|
|
739
|
+
const consoleAny = console as any;
|
|
740
|
+
if (this.originalReportErrorsAsExceptions !== undefined) {
|
|
741
|
+
consoleAny.reportErrorsAsExceptions = this.originalReportErrorsAsExceptions;
|
|
742
|
+
this.originalReportErrorsAsExceptions = undefined;
|
|
743
|
+
}
|
|
744
|
+
|
|
745
|
+
this.graceTimer = null;
|
|
746
|
+
};
|
|
747
|
+
|
|
748
|
+
if (gracePeriodMs > 0) {
|
|
749
|
+
this.graceTimer = setTimeout(restore, gracePeriodMs);
|
|
750
|
+
} else {
|
|
751
|
+
restore();
|
|
752
|
+
}
|
|
753
|
+
}
|
|
754
|
+
|
|
755
|
+
/**
|
|
756
|
+
* Execute a tool with safety checks.
|
|
757
|
+
* Validates args before execution (Detox/Appium pattern).
|
|
758
|
+
* Checks for async errors that were suppressed during the settle window.
|
|
759
|
+
* The global ErrorUtils handler is task-scoped (installed in execute()),
|
|
760
|
+
* so this method only needs to CHECK for errors, not install/remove.
|
|
761
|
+
*/
|
|
762
|
+
private async executeToolSafely(
|
|
763
|
+
tool: { execute: (args: any) => Promise<string> },
|
|
764
|
+
args: any,
|
|
765
|
+
toolName: string
|
|
766
|
+
): Promise<string> {
|
|
767
|
+
// Clear any previous suppressed error before this tool
|
|
768
|
+
this.lastSuppressedError = null;
|
|
769
|
+
|
|
698
770
|
try {
|
|
699
771
|
// ── Argument Validation (Pattern from Detox/Appium: typeof checks before native dispatch) ──
|
|
700
|
-
// Prevents null/undefined/wrong-type args from reaching native components
|
|
701
772
|
const validationError = this.validateToolArgs(args, toolName);
|
|
702
773
|
if (validationError) {
|
|
703
774
|
logger.warn('AgentRuntime', `🛡️ Arg validation rejected "${toolName}": ${validationError}`);
|
|
@@ -705,23 +776,21 @@ ${screen.elementsText}
|
|
|
705
776
|
}
|
|
706
777
|
|
|
707
778
|
const result = await tool.execute(args);
|
|
708
|
-
|
|
709
|
-
//
|
|
779
|
+
|
|
780
|
+
// Settle window for async side-effects (useEffect, native callbacks)
|
|
781
|
+
// The global ErrorUtils handler catches any errors during this window
|
|
710
782
|
await new Promise(resolve => setTimeout(resolve, 2000));
|
|
711
783
|
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
784
|
+
const suppressedError = this.lastSuppressedError as Error | null;
|
|
785
|
+
if (suppressedError) {
|
|
786
|
+
logger.warn('AgentRuntime', `🛡️ Tool "${toolName}" caused async error (suppressed): ${suppressedError.message}`);
|
|
787
|
+
this.lastSuppressedError = null;
|
|
788
|
+
return `${result} (⚠️ a background error was safely caught: ${suppressedError.message})`;
|
|
715
789
|
}
|
|
716
790
|
return result;
|
|
717
791
|
} catch (error: any) {
|
|
718
792
|
logger.error('AgentRuntime', `Tool "${toolName}" threw: ${error.message}`);
|
|
719
793
|
return `❌ Tool "${toolName}" failed: ${error.message}`;
|
|
720
|
-
} finally {
|
|
721
|
-
// Restore original handler
|
|
722
|
-
if (ErrorUtils?.setGlobalHandler && originalHandler) {
|
|
723
|
-
ErrorUtils.setGlobalHandler(originalHandler);
|
|
724
|
-
}
|
|
725
794
|
}
|
|
726
795
|
}
|
|
727
796
|
|
|
@@ -947,6 +1016,9 @@ ${screen.elementsText}
|
|
|
947
1016
|
await this.config.onBeforeTask?.();
|
|
948
1017
|
|
|
949
1018
|
try {
|
|
1019
|
+
// ── Start error suppression (3 layers) ──────────────────
|
|
1020
|
+
this._startErrorSuppression();
|
|
1021
|
+
|
|
950
1022
|
// ─── Knowledge-only fast path ─────────────────────────────────
|
|
951
1023
|
// Skip fiber walk, dehydration, screenshots, and multi-step loop.
|
|
952
1024
|
// Only sends the user question → single LLM call → done.
|
|
@@ -1200,6 +1272,10 @@ ${screen.elementsText}
|
|
|
1200
1272
|
return result;
|
|
1201
1273
|
} finally {
|
|
1202
1274
|
this.isRunning = false;
|
|
1275
|
+
// ── Grace period: keep error suppression for delayed side-effects ──
|
|
1276
|
+
// useEffect callbacks, PagerView onPageSelected, scrollToIndex, etc.
|
|
1277
|
+
// can fire AFTER execute() returns. Keep suppression active for 10s.
|
|
1278
|
+
this._stopErrorSuppression(10000);
|
|
1203
1279
|
}
|
|
1204
1280
|
}
|
|
1205
1281
|
|