@mobileai/react-native 0.8.1 → 0.8.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -540,6 +540,8 @@ Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
540
540
  | `model` | `string` | Provider default | Model name (e.g. `gemini-2.5-flash`, `gpt-4.1-mini`). |
541
541
  | `navRef` | `NavigationContainerRef` | — | Navigation ref for auto-navigation. |
542
542
  | `maxSteps` | `number` | `25` | Max agent steps per task. |
543
+ | `maxTokenBudget` | `number` | — | Max total tokens before auto-stopping the agent loop. |
544
+ | `maxCostUSD` | `number` | — | Max estimated cost (USD) before auto-stopping. |
543
545
  | `showChatBar` | `boolean` | `true` | Show the floating chat bar. |
544
546
  | `enableVoice` | `boolean` | `true` | Enable voice mode tab. |
545
547
  | `enableUIControl` | `boolean` | `true` | When `false`, AI becomes knowledge-only. |
@@ -556,6 +558,7 @@ Add to `~/Library/Application Support/Claude/claude_desktop_config.json`:
556
558
  | `onBeforeStep` | `(stepCount) => void` | — | Called before each step. |
557
559
  | `onAfterStep` | `(history) => void` | — | Called after each step. |
558
560
  | `onTokenUsage` | `(usage) => void` | — | Token usage per step. |
561
+ | `onAskUser` | `(question) => Promise<string>` | — | Handle `ask_user` inline — agent waits for your response. |
559
562
  | `stepDelay` | `number` | — | Delay between steps (ms). |
560
563
  | `router` | `{ push, replace, back }` | — | Expo Router instance. |
561
564
  | `pathname` | `string` | — | Current pathname (Expo Router). |
@@ -724,8 +727,14 @@ server.on('upgrade', geminiProxy.upgrade);
724
727
  | Tool | What it does |
725
728
  |------|-------------|
726
729
  | `tap(index)` | Tap any interactive element — buttons, switches, checkboxes, custom components |
730
+ | `long_press(index)` | Long-press an element to trigger context menus |
727
731
  | `type(index, text)` | Type into a text input |
732
+ | `scroll(direction, amount?)` | Scroll content — auto-detects edge, rejects PagerView |
733
+ | `slider(index, value)` | Drag a slider to a specific value |
734
+ | `picker(index, value)` | Select a value from a dropdown/picker |
735
+ | `date_picker(index, date)` | Set a date on a date picker |
728
736
  | `navigate(screen)` | Navigate to any screen |
737
+ | `wait(seconds)` | Wait for loading states before acting |
729
738
  | `capture_screenshot(reason)` | Capture the screen as an image (requires `react-native-view-shot`) |
730
739
  | `done(text)` | Finish the task with a response |
731
740
  | `ask_user(question)` | Ask the user for clarification |
File without changes
@@ -67,7 +67,9 @@ export function AIAgent({
67
67
  accentColor,
68
68
  theme,
69
69
  screenMap,
70
- useScreenMap = true
70
+ useScreenMap = true,
71
+ maxTokenBudget,
72
+ maxCostUSD
71
73
  }) {
72
74
  // Configure logger based on debug prop
73
75
  React.useEffect(() => {
@@ -144,6 +146,8 @@ export function AIAgent({
144
146
  knowledgeMaxTokens,
145
147
  enableUIControl,
146
148
  screenMap: useScreenMap ? screenMap : undefined,
149
+ maxTokenBudget,
150
+ maxCostUSD,
147
151
  // Block the agent loop until user responds
148
152
  onAskUser: mode === 'voice' ? undefined : question => {
149
153
  return new Promise(resolve => {
@@ -158,7 +162,7 @@ export function AIAgent({
158
162
  setStatusText('');
159
163
  });
160
164
  }
161
- }), [mode, apiKey, proxyUrl, proxyHeaders, voiceProxyUrl, voiceProxyHeaders, model, maxSteps, interactiveBlacklist, interactiveWhitelist, onBeforeStep, onAfterStep, onBeforeTask, onAfterTask, transformScreenContent, customTools, instructions, stepDelay, mcpServerUrl, router, pathname, onTokenUsage, knowledgeBase, knowledgeMaxTokens, enableUIControl, screenMap, useScreenMap]);
165
+ }), [mode, apiKey, proxyUrl, proxyHeaders, voiceProxyUrl, voiceProxyHeaders, model, maxSteps, interactiveBlacklist, interactiveWhitelist, onBeforeStep, onAfterStep, onBeforeTask, onAfterTask, transformScreenContent, customTools, instructions, stepDelay, mcpServerUrl, router, pathname, onTokenUsage, knowledgeBase, knowledgeMaxTokens, enableUIControl, screenMap, useScreenMap, maxTokenBudget, maxCostUSD]);
162
166
  const provider = useMemo(() => createProvider(providerName, apiKey, model, proxyUrl, proxyHeaders), [providerName, apiKey, model, proxyUrl, proxyHeaders]);
163
167
  const runtime = useMemo(() => new AgentRuntime(provider, config, rootViewRef.current, navRef),
164
168
  // eslint-disable-next-line react-hooks/exhaustive-deps
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","View","StyleSheet","AgentRuntime","createProvider","AgentContext","AgentChatBar","AgentOverlay","logger","buildVoiceSystemPrompt","MCPBridge","VoiceService","AudioInputService","AudioOutputService","AgentErrorBoundary","jsx","_jsx","jsxs","_jsxs","AIAgent","apiKey","proxyUrl","proxyHeaders","voiceProxyUrl","voiceProxyHeaders","provider","providerName","model","navRef","maxSteps","showChatBar","children","onResult","interactiveBlacklist","interactiveWhitelist","onBeforeStep","onAfterStep","onBeforeTask","onAfterTask","transformScreenContent","customTools","instructions","stepDelay","mcpServerUrl","router","pathname","enableVoice","onTokenUsage","debug","knowledgeBase","knowledgeMaxTokens","enableUIControl","accentColor","theme","screenMap","useScreenMap","setEnabled","info","rootViewRef","isThinking","setIsThinking","statusText","setStatusText","lastResult","setLastResult","messages","setMessages","clearMessages","mode","setMode","isMicActive","setIsMicActive","isSpeakerMuted","setIsSpeakerMuted","isAISpeaking","setIsAISpeaking","isVoiceConnected","setIsVoiceConnected","voiceServiceRef","audioInputRef","audioOutputRef","toolLockRef","userHasSpokenRef","lastScreenContextRef","screenPollIntervalRef","lastAgentErrorRef","availableModes","modes","push","join","askUserResolverRef","config","language","ask_user","onStatusUpdate","undefined","onAskUser","question","Promise","resolve","current","success","message","steps","runtime","updateRefs","bridge","destroy","audioOutputInitPromise","runtimeTools","getTools","length","map","t","name","voicePrompt","system","systemPrompt","tools","onError","err","error","initialize","then","ok","onAudioChunk","chunk","isConnected","sendAudio","onPermissionDenied","warn","connect","onAudioResponse","audio","enqueue","onStatusChange","status","connected","start","intentionalDisconnect","stop","setTimeout","lastCallbacks","onTranscript","text","isFinal","role","onSetupComplete","initialContext","getScreenContext","passiveContext","sendScreenContext","onToolCall","toolCall","JSON","stringify","args","id","sendFunctionResponse","result","executeTool","updatedContext","enrichedResult","onTurnComplete","SCREEN_POLL_INTERVAL","MIN_DIFF_RATIO","setInterval","currentContext","lastLen","diff","Math","abs","diffRatio","toFixed","passiveUpdate","clearInterval","disconnect","stopVoiceSession","handleSend","options","trim","prev","Date","now","toString","random","content","timestamp","resolver","execute","handleCancel","cancel","contextValue","send","isLoading","Provider","value","ref","style","styles","root","collapsable","componentStack","errorMsg","visible","onCancel","onSend","onDismiss","primaryColor","onModeChange","newMode","onStopSession","onMicToggle","active","onSpeakerToggle","muted","mute","unmute","create","flex"],"sourceRoot":"../../../src","sources":["components/AIAgent.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","View","StyleSheet","AgentRuntime","createProvider","AgentContext","AgentChatBar","AgentOverlay","logger","buildVoiceSystemPrompt","MCPBridge","VoiceService","AudioInputService","AudioOutputService","AgentErrorBoundary","jsx","_jsx","jsxs","_jsxs","AIAgent","apiKey","proxyUrl","proxyHeaders","voiceProxyUrl","voiceProxyHeaders","provider","providerName","model","navRef","maxSteps","showChatBar","children","onResult","interactiveBlacklist","interactiveWhitelist","onBeforeStep","onAfterStep","onBeforeTask","onAfterTask","transformScreenContent","customTools","instructions","stepDelay","mcpServerUrl","router","pathname","enableVoice","onTokenUsage","debug","knowledgeBase","knowledgeMaxTokens","enableUIControl","accentColor","theme","screenMap","useScreenMap","maxTokenBudget","maxCostUSD","setEnabled","info","rootViewRef","isThinking","setIsThinking","statusText","setStatusText","lastResult","setLastResult","messages","setMessages","clearMessages","mode","setMode","isMicActive","setIsMicActive","isSpeakerMuted","setIsSpeakerMuted","isAISpeaking","setIsAISpeaking","isVoiceConnected","setIsVoiceConnected","voiceServiceRef","audioInputRef","audioOutputRef","toolLockRef","userHasSpokenRef","lastScreenContextRef","screenPollIntervalRef","lastAgentErrorRef","availableModes","modes","push","join","askUserResolverRef","config","language","ask_user","onStatusUpdate","undefined","onAskUser","question","Promise","resolve","current","success","message","steps","runtime","updateRefs","bridge","destroy","audioOutputInitPromise","runtimeTools","getTools","length","map","t","name","voicePrompt","system","systemPrompt","tools","onError","err","error","initialize","then","ok","onAudioChunk","chunk","isConnected","sendAudio","onPermissionDenied","warn","connect","onAudioResponse","audio","enqueue","onStatusChange","status","connected","start","intentionalDisconnect","stop","setTimeout","lastCallbacks","onTranscript","text","isFinal","role","onSetupComplete","initialContext","getScreenContext","passiveContext","sendScreenContext","onToolCall","toolCall","JSON","stringify","args","id","sendFunctionResponse","result","executeTool","updatedContext","enrichedResult","onTurnComplete","SCREEN_POLL_INTERVAL","MIN_DIFF_RATIO","setInterval","currentContext","lastLen","diff","Math","abs","diffRatio","toFixed","passiveUpdate","clearInterval","disconnect","stopVoiceSession","handleSend","options","trim","prev","Date","now","toString","random","content","timestamp","resolver","execute","handleCancel","cancel","contextValue","send","isLoading","Provider","value","ref","style","styles","root","collapsable","componentStack","errorMsg","visible","onCancel","onSend","onDismiss","primaryColor","onModeChange","newMode","onStopSession","onMicToggle","active","onSpeakerToggle","muted","mute","unmute","create","flex"],"sourceRoot":"../../../src","sources":["components/AIAgent.tsx"],"mappings":"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","ignoreList":[]}
@@ -95,16 +95,16 @@ export class AgentRuntime {
95
95
  // navigate — navigate to a screen (supports React Navigation + Expo Router)
96
96
  this.tools.set('navigate', {
97
97
  name: 'navigate',
98
- description: 'Navigate to a specific screen in the app.',
98
+ description: 'Navigate to a top-level screen by name. ONLY use this for top-level screens that do NOT require route params (e.g. Login, Settings, Cart, TabBar). NEVER use this for parameterized screens that require an ID or selection (e.g. DishDetail, SelectCategory, ProfileDetail, OrderDetails) — those screens will crash without required params. For parameterized screens, always navigate by TAPPING the relevant item in the parent screen instead.',
99
99
  parameters: {
100
100
  screen: {
101
101
  type: 'string',
102
- description: 'Screen name or path to navigate to',
102
+ description: 'Top-level screen name to navigate to (must not require route params)',
103
103
  required: true
104
104
  },
105
105
  params: {
106
106
  type: 'string',
107
- description: 'Optional JSON params object',
107
+ description: 'Optional JSON params object for screens that accept them',
108
108
  required: false
109
109
  }
110
110
  },
@@ -445,11 +445,11 @@ export class AgentRuntime {
445
445
  getToolStatusLabel(toolName, args) {
446
446
  switch (toolName) {
447
447
  case 'tap':
448
- return `Tapping element ${args.index ?? ''}...`;
448
+ return 'Tapping a button...';
449
449
  case 'type':
450
- return `Typing into field...`;
450
+ return 'Typing into a field...';
451
451
  case 'navigate':
452
- return `Navigating to ${args.screen || 'screen'}...`;
452
+ return `Navigating to ${args.screen || 'another screen'}...`;
453
453
  case 'done':
454
454
  return 'Wrapping up...';
455
455
  case 'ask_user':
@@ -459,13 +459,13 @@ export class AgentRuntime {
459
459
  case 'scroll':
460
460
  return `Scrolling ${args.direction || 'down'}...`;
461
461
  case 'wait':
462
- return `Waiting for ${args.seconds || 2} seconds...`;
462
+ return 'Waiting for the screen to load...';
463
463
  case 'long_press':
464
- return `Long-pressing element ${args.index ?? ''}...`;
464
+ return 'Long-pressing an element...';
465
465
  case 'adjust_slider':
466
466
  return `Adjusting slider to ${Math.round((args.value ?? 0) * 100)}%...`;
467
467
  case 'select_picker':
468
- return `Selecting "${args.value || ''}" from picker...`;
468
+ return `Selecting "${args.value || ''}" from a dropdown...`;
469
469
  case 'set_date':
470
470
  return `Setting date to ${args.date || ''}...`;
471
471
  case 'dismiss_keyboard':
@@ -846,9 +846,32 @@ ${screen.elementsText}
846
846
 
847
847
  // 3. <agent_history> — structured per-step history
848
848
  prompt += '<agent_history>\n';
849
+
850
+ // History summarization: when steps > 8, compress middle steps
851
+ // to bound prompt growth for long tasks (approaching 25-step limit).
852
+ // Keep first 2 (initial context) + last 4 (recent context) as full detail.
853
+ const SUMMARIZE_THRESHOLD = 8;
854
+ const KEEP_HEAD = 2;
855
+ const KEEP_TAIL = 4;
856
+ const shouldSummarize = this.history.length > SUMMARIZE_THRESHOLD;
849
857
  let stepIndex = 0;
850
- for (const event of this.history) {
858
+ for (let i = 0; i < this.history.length; i++) {
859
+ const event = this.history[i];
851
860
  stepIndex++;
861
+ if (shouldSummarize && i >= KEEP_HEAD && i < this.history.length - KEEP_TAIL) {
862
+ // First compressed step emits the summary block
863
+ if (i === KEEP_HEAD) {
864
+ prompt += '<steps_summary>\n';
865
+ for (let j = KEEP_HEAD; j < this.history.length - KEEP_TAIL; j++) {
866
+ const h = this.history[j];
867
+ const actionName = h.action.name || 'unknown';
868
+ const succeeded = h.action.output?.startsWith('✅') ? 'success' : 'fail';
869
+ prompt += `Step ${j + 1}: ${actionName} → ${succeeded}\n`;
870
+ }
871
+ prompt += '</steps_summary>\n';
872
+ }
873
+ continue; // Skip full detail for middle steps
874
+ }
852
875
  prompt += `<step_${stepIndex}>\n`;
853
876
  prompt += `Previous Goal Eval: ${event.reflection.previousGoalEval}\n`;
854
877
  prompt += `Memory: ${event.reflection.memory}\n`;
@@ -1069,6 +1092,30 @@ ${screen.elementsText}
1069
1092
  this.config.onTokenUsage?.(response.tokenUsage);
1070
1093
  }
1071
1094
 
1095
+ // ── Budget Guards ──────────────────────────────────────
1096
+ if (this.config.maxTokenBudget && sessionUsage.totalTokens >= this.config.maxTokenBudget) {
1097
+ logger.warn('AgentRuntime', `Token budget exceeded: ${sessionUsage.totalTokens} >= ${this.config.maxTokenBudget}`);
1098
+ const budgetResult = {
1099
+ success: false,
1100
+ message: `Task stopped: token budget exceeded (used ${sessionUsage.totalTokens.toLocaleString()} of ${this.config.maxTokenBudget.toLocaleString()} tokens)`,
1101
+ steps: this.history,
1102
+ tokenUsage: sessionUsage
1103
+ };
1104
+ await this.config.onAfterTask?.(budgetResult);
1105
+ return budgetResult;
1106
+ }
1107
+ if (this.config.maxCostUSD && sessionUsage.estimatedCostUSD >= this.config.maxCostUSD) {
1108
+ logger.warn('AgentRuntime', `Cost budget exceeded: $${sessionUsage.estimatedCostUSD.toFixed(4)} >= $${this.config.maxCostUSD}`);
1109
+ const budgetResult = {
1110
+ success: false,
1111
+ message: `Task stopped: cost budget exceeded ($${sessionUsage.estimatedCostUSD.toFixed(4)} of $${this.config.maxCostUSD.toFixed(2)} max)`,
1112
+ steps: this.history,
1113
+ tokenUsage: sessionUsage
1114
+ };
1115
+ await this.config.onAfterTask?.(budgetResult);
1116
+ return budgetResult;
1117
+ }
1118
+
1072
1119
  // 6. Process tool calls
1073
1120
  if (!response.toolCalls || response.toolCalls.length === 0) {
1074
1121
  logger.warn('AgentRuntime', 'No tool calls in response. Text:', response.text);
@@ -1135,7 +1182,8 @@ ${screen.elementsText}
1135
1182
  const result = {
1136
1183
  success: toolCall.args.success !== false,
1137
1184
  message: toolCall.args.text || output,
1138
- steps: this.history
1185
+ steps: this.history,
1186
+ tokenUsage: sessionUsage
1139
1187
  };
1140
1188
  logger.info('AgentRuntime', `Task completed: ${result.message}`);
1141
1189
  await this.config.onAfterTask?.(result);
@@ -1148,7 +1196,8 @@ ${screen.elementsText}
1148
1196
  const result = {
1149
1197
  success: true,
1150
1198
  message: output,
1151
- steps: this.history
1199
+ steps: this.history,
1200
+ tokenUsage: sessionUsage
1152
1201
  };
1153
1202
  await this.config.onAfterTask?.(result);
1154
1203
  return result;
@@ -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","isCancelRequested","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","cancelResult","onBeforeStep","transformScreenContent","contextMessage","reasoning","toolCall","statusLabel","statusDisplay","agentStep","input","onAfterStep","updateRefs","getIsRunning","cancel"],"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","isCancelRequested","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","SUMMARIZE_THRESHOLD","KEEP_HEAD","KEEP_TAIL","shouldSummarize","stepIndex","event","j","h","actionName","succeeded","output","reflection","previousGoalEval","memory","plan","obs","userMessage","steps","stepDelay","sessionUsage","promptTokens","completionTokens","totalTokens","estimatedCostUSD","onBeforeTask","hasKnowledge","systemPrompt","userPrompt","response","generateContent","tokenUsage","onTokenUsage","toolCalls","tc","followUp","followUpResponse","ftc","doneResult","onAfterTask","cancelResult","onBeforeStep","transformScreenContent","contextMessage","maxTokenBudget","budgetResult","toLocaleString","maxCostUSD","toFixed","reasoning","toolCall","statusLabel","statusDisplay","agentStep","input","onAfterStep","updateRefs","getIsRunning","cancel"],"sourceRoot":"../../../src","sources":["core/AgentRuntime.ts"],"mappings":"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","ignoreList":[]}
@@ -279,31 +279,25 @@ function extractIconName(fiber, maxDepth = 5) {
279
279
  }
280
280
 
281
281
  /**
282
- * Get the Fiber root node.
283
- *
284
- * In React Native, a View ref gives a native node, NOT a Fiber node.
285
- * We use __REACT_DEVTOOLS_GLOBAL_HOOK__ (available in dev builds) to
286
- * access getFiberRoots(), which is the same API React DevTools uses.
287
- *
288
- * Falls back to probing the ref's internal keys for Fiber references.
282
+ * Get the Fiber root node via __REACT_DEVTOOLS_GLOBAL_HOOK__.
283
+ *
284
+ * This hook is injected by React in development builds so React DevTools
285
+ * can inspect the component tree. It is NOT available in release/production.
286
+ * Used as a last-resort fallback when ref-based strategies fail.
289
287
  */
290
- function getFiberRoot() {
291
- // Strategy 1: __REACT_DEVTOOLS_GLOBAL_HOOK__ (most reliable in dev)
288
+ function getFiberRootFromDevTools() {
292
289
  try {
293
290
  const hook = globalThis.__REACT_DEVTOOLS_GLOBAL_HOOK__;
294
291
  if (hook) {
295
- // hook.renderers is a Map of renderer ID → renderer
296
- // hook.getFiberRoots(rendererId) returns a Set of FiberRoot objects
297
292
  const renderers = hook.renderers;
298
293
  if (renderers && renderers.size > 0) {
299
294
  for (const [rendererId] of renderers) {
300
295
  const roots = hook.getFiberRoots(rendererId);
301
296
  if (roots && roots.size > 0) {
302
- // Get the first (and usually only) root
303
297
  const fiberRoot = roots.values().next().value;
304
298
  if (fiberRoot && fiberRoot.current) {
305
299
  logger.debug('FiberTreeWalker', 'Accessed Fiber tree via DevTools hook');
306
- return fiberRoot.current; // This is the root Fiber node
300
+ return fiberRoot.current;
307
301
  }
308
302
  }
309
303
  }
@@ -314,31 +308,51 @@ function getFiberRoot() {
314
308
  }
315
309
  return null;
316
310
  }
311
+
312
+ /**
313
+ * Resolve a Fiber node from a React ref.
314
+ *
315
+ * Strategy order prioritizes ref-based access (works in BOTH dev and release)
316
+ * over the DevTools hook (dev-only):
317
+ *
318
+ * 1. __reactFiber$ keys — React attaches these to native host nodes in both
319
+ * dev and release. This is how the reconciler maps native nodes back to
320
+ * their Fiber. Most reliable for <View ref={...}> refs.
321
+ * 2. _reactInternals — available on class component instances.
322
+ * 3. _reactInternalInstance — legacy React (pre-Fiber) pattern.
323
+ * 4. Direct fiber properties — ref IS already a Fiber node (e.g. in tests).
324
+ * 5. __REACT_DEVTOOLS_GLOBAL_HOOK__ — dev-only last resort. Finds the root
325
+ * Fiber regardless of what ref is, but stripped in production builds.
326
+ */
317
327
  function getFiberFromRef(ref) {
318
- // First try the DevTools hook (works regardless of what ref is)
319
- const rootFiber = getFiberRoot();
320
- if (rootFiber) return rootFiber;
321
328
  if (!ref) return null;
322
329
 
323
- // Fallback: Try known internal Fiber access patterns on the ref itself
324
-
325
- // Pattern 1: _reactInternals (class components)
326
- if (ref._reactInternals) return ref._reactInternals;
327
-
328
- // Pattern 2: _reactInternalInstance (older React)
329
- if (ref._reactInternalInstance) return ref._reactInternalInstance;
330
-
331
- // Pattern 3: __reactFiber$ keys (React DOM/RN style)
330
+ // Strategy 1: __reactFiber$ keys (React DOM/RN style)
331
+ // Works in both dev AND release builds — primary strategy.
332
332
  try {
333
333
  const keys = Object.keys(ref);
334
334
  const fiberKey = keys.find(key => key.startsWith('__reactFiber$') || key.startsWith('__reactInternalInstance$'));
335
- if (fiberKey) return ref[fiberKey];
335
+ if (fiberKey) {
336
+ logger.debug('FiberTreeWalker', 'Accessed Fiber tree via __reactFiber$ key');
337
+ return ref[fiberKey];
338
+ }
336
339
  } catch {
337
340
  // Object.keys may fail on some native nodes
338
341
  }
339
342
 
340
- // Pattern 4: Direct fiber node properties
343
+ // Strategy 2: _reactInternals (class components)
344
+ if (ref._reactInternals) return ref._reactInternals;
345
+
346
+ // Strategy 3: _reactInternalInstance (older React)
347
+ if (ref._reactInternalInstance) return ref._reactInternalInstance;
348
+
349
+ // Strategy 4: Direct fiber node properties (ref IS a fiber — used in tests)
341
350
  if (ref.child || ref.memoizedProps) return ref;
351
+
352
+ // Strategy 5: DevTools hook (dev-only last resort)
353
+ const rootFiber = getFiberRootFromDevTools();
354
+ if (rootFiber) return rootFiber;
355
+ console.warn('[AIAgent] Could not access React Fiber tree. ' + 'The AI agent will not be able to detect interactive elements. ' + 'Ensure the rootRef is attached to a rendered <View>.');
342
356
  logger.warn('FiberTreeWalker', 'All Fiber access strategies failed');
343
357
  return null;
344
358
  }