@mobileai/react-native 0.8.2 → 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.
File without changes
@@ -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':
@@ -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","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":[]}
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
  }
@@ -1 +1 @@
1
- {"version":3,"names":["logger","PRESSABLE_TYPES","Set","TEXT_INPUT_TYPES","SWITCH_TYPES","SLIDER_TYPES","PICKER_TYPES","DATE_PICKER_TYPES","TEXT_TYPES","IMAGE_TYPES","VIDEO_TYPES","OVERLAY_COMPONENT_NAMES","RN_INTERNAL_NAMES","STATE_PROPS","extractStateAttributes","props","parts","accessibilityState","k","v","Object","entries","undefined","push","accessibilityRole","key","join","hasAnyEventHandler","keys","startsWith","getNearestCustomComponentName","fiber","maxDepth","current","return","depth","name","getComponentName","has","type","displayName","render","getElementType","memoizedProps","role","onPress","onChangeText","onSlidingComplete","onValueChange","minimumValue","maximumValue","onChange","mode","isDisabled","disabled","editable","extractDeepTextContent","child","childName","childProps","text","extractRawText","children","isIconGlyph","nestedText","sibling","trim","trimmed","length","code","codePointAt","String","Array","isArray","map","filter","Boolean","extractIconName","componentName","found","getFiberRoot","hook","globalThis","__REACT_DEVTOOLS_GLOBAL_HOOK__","renderers","size","rendererId","roots","getFiberRoots","fiberRoot","values","next","value","debug","e","getFiberFromRef","ref","rootFiber","_reactInternals","_reactInternalInstance","fiberKey","find","warn","matchesRefList","node","refs","stateNode","findOverlayNodes","screenSubtree","overlays","scan","style","flatStyle","assign","isOverlayByName","isOverlayByStyle","position","zIndex","elevation","hasChildren","isHidden","opacity","display","walkFiberTree","rootRef","config","elementsText","interactives","startNode","screenName","screenFiber","findScreenFiberNode","overlayNodes","currentIndex","hasWhitelist","interactiveWhitelist","processNode","isInsideInteractive","ancestorOnPress","aiIgnore","interactiveBlacklist","childText","currentChild","isWhitelisted","elementType","shouldInclude","ownOnPress","nextAncestorOnPress","childrenText","indent","repeat","resolvedType","label","accessibilityLabel","placeholder","testID","nativeID","parentContext","index","fiberNode","stateAttrs","attrStr","textContent","elementOutput","typeStr","context","alt","src","source","uri","attrs","paused","shouldPlay","poster","posterSource","overlayText","overlay","info","replace","SCROLLABLE_TYPES","PAGER_TYPES","lowerScreen","toLowerCase","search","lowerName","findScrollableContainers","containers","walk","isScrollable","isPagerLike","contextLabel","scrollRef","resolveNativeScrollRef","scrollTo","getNativeScrollRef","getScrollRef","nativeRef","scrollToOffset","grandchildName"],"sourceRoot":"../../../src","sources":["core/FiberTreeWalker.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["logger","PRESSABLE_TYPES","Set","TEXT_INPUT_TYPES","SWITCH_TYPES","SLIDER_TYPES","PICKER_TYPES","DATE_PICKER_TYPES","TEXT_TYPES","IMAGE_TYPES","VIDEO_TYPES","OVERLAY_COMPONENT_NAMES","RN_INTERNAL_NAMES","STATE_PROPS","extractStateAttributes","props","parts","accessibilityState","k","v","Object","entries","undefined","push","accessibilityRole","key","join","hasAnyEventHandler","keys","startsWith","getNearestCustomComponentName","fiber","maxDepth","current","return","depth","name","getComponentName","has","type","displayName","render","getElementType","memoizedProps","role","onPress","onChangeText","onSlidingComplete","onValueChange","minimumValue","maximumValue","onChange","mode","isDisabled","disabled","editable","extractDeepTextContent","child","childName","childProps","text","extractRawText","children","isIconGlyph","nestedText","sibling","trim","trimmed","length","code","codePointAt","String","Array","isArray","map","filter","Boolean","extractIconName","componentName","found","getFiberRootFromDevTools","hook","globalThis","__REACT_DEVTOOLS_GLOBAL_HOOK__","renderers","size","rendererId","roots","getFiberRoots","fiberRoot","values","next","value","debug","e","getFiberFromRef","ref","fiberKey","find","_reactInternals","_reactInternalInstance","rootFiber","console","warn","matchesRefList","node","refs","stateNode","findOverlayNodes","screenSubtree","overlays","scan","style","flatStyle","assign","isOverlayByName","isOverlayByStyle","position","zIndex","elevation","hasChildren","isHidden","opacity","display","walkFiberTree","rootRef","config","elementsText","interactives","startNode","screenName","screenFiber","findScreenFiberNode","overlayNodes","currentIndex","hasWhitelist","interactiveWhitelist","processNode","isInsideInteractive","ancestorOnPress","aiIgnore","interactiveBlacklist","childText","currentChild","isWhitelisted","elementType","shouldInclude","ownOnPress","nextAncestorOnPress","childrenText","indent","repeat","resolvedType","label","accessibilityLabel","placeholder","testID","nativeID","parentContext","index","fiberNode","stateAttrs","attrStr","textContent","elementOutput","typeStr","context","alt","src","source","uri","attrs","paused","shouldPlay","poster","posterSource","overlayText","overlay","info","replace","SCROLLABLE_TYPES","PAGER_TYPES","lowerScreen","toLowerCase","search","lowerName","findScrollableContainers","containers","walk","isScrollable","isPagerLike","contextLabel","scrollRef","resolveNativeScrollRef","scrollTo","getNativeScrollRef","getScrollRef","nativeRef","scrollToOffset","grandchildName"],"sourceRoot":"../../../src","sources":["core/FiberTreeWalker.ts"],"mappings":"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","ignoreList":[]}
@@ -102,7 +102,7 @@ If a UI element is hidden (aiIgnore) but a matching custom action exists, use th
102
102
  - Do not guess or auto-fill sensitive data (passwords, payment info, personal details). Always ask the user.
103
103
  - Trying too hard can be harmful. If stuck, call done() with partial results rather than repeating failed actions.
104
104
  - If you do not know how to proceed with the current screen, use ask_user to request specific instructions from the user.
105
- - NAVIGATION: Always use tap actions to move between screens. Tap tab bar buttons, back buttons, and navigation links in the UI. This ensures all required screen parameters (like item IDs) are passed automatically by the app. Use the Available Screens list and screen descriptions to identify which screen has the feature you need, then find and tap the UI element that leads there.
105
+ - NAVIGATION: Always use tap actions to move between screens tap tab bar buttons, back buttons, and navigation links. This ensures all required route params (like item IDs) are passed automatically by the app. The navigate() tool is ONLY for top-level screens that require no params (e.g. Login, Settings, Cart). NEVER call navigate() on screens that require a selection or ID (e.g. DishDetail, SelectCategory, ProfileDetail) this will crash the app. For those screens, always tap the relevant item in the parent screen.
106
106
  </rules>
107
107
 
108
108
  <task_completion_rules>
@@ -266,7 +266,7 @@ If a UI element is hidden but a matching custom action exists, use the action.
266
266
  - SECURITY & PRIVACY: Do not fill in login/signup forms unless the user provides credentials.
267
267
  - Do NOT ask for confirmation of actions the user explicitly requested. If they said "place my order", just do it.
268
268
  - If the user's intent is ambiguous — it could mean multiple things or lead to different screens — ask the user to clarify before navigating to the wrong place.
269
- - NAVIGATION: Always use tap actions to move between screens. Tap tab bar buttons, back buttons, and navigation links in the UI. This ensures all required screen parameters are passed automatically by the app. Use the Available Screens list to identify which screen has the feature you need, then tap the UI element that leads there.
269
+ - NAVIGATION: Always use tap actions to move between screens tap tab bar buttons, back buttons, and navigation links. This ensures all required route params are passed automatically by the app. The navigate() tool is ONLY for top-level screens that require no params (e.g. Login, Settings, Cart). NEVER call navigate() on screens that require a selection or ID (e.g. DishDetail, SelectCategory, ProfileDetail) — this will crash the app. For those screens, always tap the relevant item in the parent screen.
270
270
  </rules>
271
271
 
272
272
  <capability>
@@ -54,7 +54,7 @@ export function createTapTool(context) {
54
54
  element.props.onPress();
55
55
  await new Promise(resolve => setTimeout(resolve, 500));
56
56
 
57
- // Post-tap verification (Maestro pattern: compare hierarchy after tap)
57
+ // Post-tap observation (Maestro pattern: compare hierarchy after tap)
58
58
  const postWalk = walkFiberTree(context.rootRef, context.getWalkConfig());
59
59
  const screenAfter = context.getCurrentScreenName();
60
60
  const elementCountAfter = postWalk.interactives.length;
@@ -62,9 +62,11 @@ export function createTapTool(context) {
62
62
  return `✅ Tapped [${args.index}] "${element.label}" → navigated to "${screenAfter}"`;
63
63
  }
64
64
  if (Math.abs(elementCountAfter - elementCountBefore) > 0) {
65
- return `✅ Tapped [${args.index}] "${element.label}" (UI updated: ${elementCountBefore} → ${elementCountAfter} elements)`;
65
+ return `✅ Tapped [${args.index}] "${element.label}" screen updated (${elementCountBefore} → ${elementCountAfter} elements)`;
66
66
  }
67
- return `✅ Tapped [${args.index}] "${element.label}" (note: UI appears unchanged — this may be expected, or the tap may need a different target)`;
67
+ // Many valid taps (add-to-cart, favorites, API calls) update state
68
+ // without changing visible UI elements. Report success and move on.
69
+ return `✅ Tapped [${args.index}] "${element.label}" → action executed successfully. Proceed to your next step.`;
68
70
  } catch (error) {
69
71
  return `❌ Error tapping [${args.index}]: ${error.message}`;
70
72
  }
@@ -1 +1 @@
1
- {"version":3,"names":["walkFiberTree","createTapTool","context","name","description","parameters","index","type","required","execute","args","walkResult","rootRef","getWalkConfig","elements","interactives","element","find","el","map","e","join","elementCountBefore","length","screenBefore","getCurrentScreenName","props","onValueChange","value","Promise","resolve","setTimeout","label","error","message","onPress","postWalk","screenAfter","elementCountAfter","Math","abs","fiber","fiberNode","return","bubbleDepth","parentProps","memoizedProps"],"sourceRoot":"../../../src","sources":["tools/tapTool.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["walkFiberTree","createTapTool","context","name","description","parameters","index","type","required","execute","args","walkResult","rootRef","getWalkConfig","elements","interactives","element","find","el","map","e","join","elementCountBefore","length","screenBefore","getCurrentScreenName","props","onValueChange","value","Promise","resolve","setTimeout","label","error","message","onPress","postWalk","screenAfter","elementCountAfter","Math","abs","fiber","fiberNode","return","bubbleDepth","parentProps","memoizedProps"],"sourceRoot":"../../../src","sources":["tools/tapTool.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"FiberTreeWalker.d.ts","sourceRoot":"","sources":["../../../../src/core/FiberTreeWalker.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,SAAS,CAAC;AAI/D,MAAM,WAAW,UAAU;IACzB,wCAAwC;IACxC,oBAAoB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9C,kDAAkD;IAClD,oBAAoB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9C,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAuFD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAQtD;AA+SD,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,kBAAkB,EAAE,CAAC;CACpC;AAqED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,UAAU,CAiM3E;AAsBD,MAAM,WAAW,mBAAmB;IAClC,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,SAAS,EAAE,GAAG,CAAC;IACf,mEAAmE;IACnE,SAAS,EAAE,GAAG,CAAC;IACf;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAC;CACtB;AAwCD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,mBAAmB,EAAE,CA6DjG"}
1
+ {"version":3,"file":"FiberTreeWalker.d.ts","sourceRoot":"","sources":["../../../../src/core/FiberTreeWalker.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,SAAS,CAAC;AAI/D,MAAM,WAAW,UAAU;IACzB,wCAAwC;IACxC,oBAAoB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9C,kDAAkD;IAClD,oBAAoB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9C,sEAAsE;IACtE,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAuFD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAQtD;AA+TD,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,kBAAkB,EAAE,CAAC;CACpC;AAqED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,UAAU,CAiM3E;AAsBD,MAAM,WAAW,mBAAmB;IAClC,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,aAAa,EAAE,MAAM,CAAC;IACtB,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,SAAS,EAAE,GAAG,CAAC;IACf,mEAAmE;IACnE,SAAS,EAAE,GAAG,CAAC;IACf;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAC;CACtB;AAwCD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,mBAAmB,EAAE,CA6DjG"}
@@ -1 +1 @@
1
- {"version":3,"file":"tapTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/tapTool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtD,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,CA0E7D"}
1
+ {"version":3,"file":"tapTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/tapTool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtD,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,CA4E7D"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mobileai/react-native",
3
- "version": "0.8.2",
3
+ "version": "0.8.3",
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",
@@ -103,6 +103,7 @@
103
103
  "@types/react": "^19.1.12",
104
104
  "@types/react-native": "^0.72.8",
105
105
  "del-cli": "^6.0.0",
106
+ "dotenv": "^17.3.1",
106
107
  "eslint": "^9.35.0",
107
108
  "eslint-config-prettier": "^10.1.8",
108
109
  "eslint-plugin-prettier": "^5.5.4",
@@ -111,6 +112,7 @@
111
112
  "react": "19.2.0",
112
113
  "react-native": "0.83.2",
113
114
  "react-native-builder-bob": "^0.40.18",
115
+ "react-test-renderer": "^19.2.0",
114
116
  "turbo": "^2.5.6",
115
117
  "typescript": "^5.9.2"
116
118
  },
@@ -140,10 +140,10 @@ export class AgentRuntime {
140
140
  // navigate — navigate to a screen (supports React Navigation + Expo Router)
141
141
  this.tools.set('navigate', {
142
142
  name: 'navigate',
143
- description: 'Navigate to a specific screen in the app.',
143
+ 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.',
144
144
  parameters: {
145
- screen: { type: 'string', description: 'Screen name or path to navigate to', required: true },
146
- params: { type: 'string', description: 'Optional JSON params object', required: false },
145
+ screen: { type: 'string', description: 'Top-level screen name to navigate to (must not require route params)', required: true },
146
+ params: { type: 'string', description: 'Optional JSON params object for screens that accept them', required: false },
147
147
  },
148
148
  execute: async (args) => {
149
149
  // Expo Router path: use router.push()
@@ -471,11 +471,11 @@ export class AgentRuntime {
471
471
  private getToolStatusLabel(toolName: string, args: Record<string, any>): string {
472
472
  switch (toolName) {
473
473
  case 'tap':
474
- return `Tapping element ${args.index ?? ''}...`;
474
+ return 'Tapping a button...';
475
475
  case 'type':
476
- return `Typing into field...`;
476
+ return 'Typing into a field...';
477
477
  case 'navigate':
478
- return `Navigating to ${args.screen || 'screen'}...`;
478
+ return `Navigating to ${args.screen || 'another screen'}...`;
479
479
  case 'done':
480
480
  return 'Wrapping up...';
481
481
  case 'ask_user':
@@ -485,13 +485,13 @@ export class AgentRuntime {
485
485
  case 'scroll':
486
486
  return `Scrolling ${args.direction || 'down'}...`;
487
487
  case 'wait':
488
- return `Waiting for ${args.seconds || 2} seconds...`;
488
+ return 'Waiting for the screen to load...';
489
489
  case 'long_press':
490
- return `Long-pressing element ${args.index ?? ''}...`;
490
+ return 'Long-pressing an element...';
491
491
  case 'adjust_slider':
492
492
  return `Adjusting slider to ${Math.round((args.value ?? 0) * 100)}%...`;
493
493
  case 'select_picker':
494
- return `Selecting "${args.value || ''}" from picker...`;
494
+ return `Selecting "${args.value || ''}" from a dropdown...`;
495
495
  case 'set_date':
496
496
  return `Setting date to ${args.date || ''}...`;
497
497
  case 'dismiss_keyboard':
@@ -333,31 +333,25 @@ function extractIconName(fiber: any, maxDepth: number = 5): string {
333
333
  }
334
334
 
335
335
  /**
336
- * Get the Fiber root node.
337
- *
338
- * In React Native, a View ref gives a native node, NOT a Fiber node.
339
- * We use __REACT_DEVTOOLS_GLOBAL_HOOK__ (available in dev builds) to
340
- * access getFiberRoots(), which is the same API React DevTools uses.
341
- *
342
- * Falls back to probing the ref's internal keys for Fiber references.
336
+ * Get the Fiber root node via __REACT_DEVTOOLS_GLOBAL_HOOK__.
337
+ *
338
+ * This hook is injected by React in development builds so React DevTools
339
+ * can inspect the component tree. It is NOT available in release/production.
340
+ * Used as a last-resort fallback when ref-based strategies fail.
343
341
  */
344
- function getFiberRoot(): any | null {
345
- // Strategy 1: __REACT_DEVTOOLS_GLOBAL_HOOK__ (most reliable in dev)
342
+ function getFiberRootFromDevTools(): any | null {
346
343
  try {
347
344
  const hook = (globalThis as any).__REACT_DEVTOOLS_GLOBAL_HOOK__;
348
345
  if (hook) {
349
- // hook.renderers is a Map of renderer ID → renderer
350
- // hook.getFiberRoots(rendererId) returns a Set of FiberRoot objects
351
346
  const renderers = hook.renderers;
352
347
  if (renderers && renderers.size > 0) {
353
348
  for (const [rendererId] of renderers) {
354
349
  const roots = hook.getFiberRoots(rendererId);
355
350
  if (roots && roots.size > 0) {
356
- // Get the first (and usually only) root
357
351
  const fiberRoot = roots.values().next().value;
358
352
  if (fiberRoot && fiberRoot.current) {
359
353
  logger.debug('FiberTreeWalker', 'Accessed Fiber tree via DevTools hook');
360
- return fiberRoot.current; // This is the root Fiber node
354
+ return fiberRoot.current;
361
355
  }
362
356
  }
363
357
  }
@@ -370,35 +364,57 @@ function getFiberRoot(): any | null {
370
364
  return null;
371
365
  }
372
366
 
367
+ /**
368
+ * Resolve a Fiber node from a React ref.
369
+ *
370
+ * Strategy order prioritizes ref-based access (works in BOTH dev and release)
371
+ * over the DevTools hook (dev-only):
372
+ *
373
+ * 1. __reactFiber$ keys — React attaches these to native host nodes in both
374
+ * dev and release. This is how the reconciler maps native nodes back to
375
+ * their Fiber. Most reliable for <View ref={...}> refs.
376
+ * 2. _reactInternals — available on class component instances.
377
+ * 3. _reactInternalInstance — legacy React (pre-Fiber) pattern.
378
+ * 4. Direct fiber properties — ref IS already a Fiber node (e.g. in tests).
379
+ * 5. __REACT_DEVTOOLS_GLOBAL_HOOK__ — dev-only last resort. Finds the root
380
+ * Fiber regardless of what ref is, but stripped in production builds.
381
+ */
373
382
  function getFiberFromRef(ref: any): any | null {
374
- // First try the DevTools hook (works regardless of what ref is)
375
- const rootFiber = getFiberRoot();
376
- if (rootFiber) return rootFiber;
377
-
378
383
  if (!ref) return null;
379
384
 
380
- // Fallback: Try known internal Fiber access patterns on the ref itself
381
-
382
- // Pattern 1: _reactInternals (class components)
383
- if (ref._reactInternals) return ref._reactInternals;
384
-
385
- // Pattern 2: _reactInternalInstance (older React)
386
- if (ref._reactInternalInstance) return ref._reactInternalInstance;
387
-
388
- // Pattern 3: __reactFiber$ keys (React DOM/RN style)
385
+ // Strategy 1: __reactFiber$ keys (React DOM/RN style)
386
+ // Works in both dev AND release builds — primary strategy.
389
387
  try {
390
388
  const keys = Object.keys(ref);
391
389
  const fiberKey = keys.find(
392
390
  key => key.startsWith('__reactFiber$') || key.startsWith('__reactInternalInstance$'),
393
391
  );
394
- if (fiberKey) return (ref as any)[fiberKey];
392
+ if (fiberKey) {
393
+ logger.debug('FiberTreeWalker', 'Accessed Fiber tree via __reactFiber$ key');
394
+ return (ref as any)[fiberKey];
395
+ }
395
396
  } catch {
396
397
  // Object.keys may fail on some native nodes
397
398
  }
398
399
 
399
- // Pattern 4: Direct fiber node properties
400
+ // Strategy 2: _reactInternals (class components)
401
+ if (ref._reactInternals) return ref._reactInternals;
402
+
403
+ // Strategy 3: _reactInternalInstance (older React)
404
+ if (ref._reactInternalInstance) return ref._reactInternalInstance;
405
+
406
+ // Strategy 4: Direct fiber node properties (ref IS a fiber — used in tests)
400
407
  if (ref.child || ref.memoizedProps) return ref;
401
408
 
409
+ // Strategy 5: DevTools hook (dev-only last resort)
410
+ const rootFiber = getFiberRootFromDevTools();
411
+ if (rootFiber) return rootFiber;
412
+
413
+ console.warn(
414
+ '[AIAgent] Could not access React Fiber tree. ' +
415
+ 'The AI agent will not be able to detect interactive elements. ' +
416
+ 'Ensure the rootRef is attached to a rendered <View>.'
417
+ );
402
418
  logger.warn('FiberTreeWalker', 'All Fiber access strategies failed');
403
419
  return null;
404
420
  }
@@ -101,7 +101,7 @@ If a UI element is hidden (aiIgnore) but a matching custom action exists, use th
101
101
  - Do not guess or auto-fill sensitive data (passwords, payment info, personal details). Always ask the user.
102
102
  - Trying too hard can be harmful. If stuck, call done() with partial results rather than repeating failed actions.
103
103
  - If you do not know how to proceed with the current screen, use ask_user to request specific instructions from the user.
104
- - NAVIGATION: Always use tap actions to move between screens. Tap tab bar buttons, back buttons, and navigation links in the UI. This ensures all required screen parameters (like item IDs) are passed automatically by the app. Use the Available Screens list and screen descriptions to identify which screen has the feature you need, then find and tap the UI element that leads there.
104
+ - NAVIGATION: Always use tap actions to move between screens tap tab bar buttons, back buttons, and navigation links. This ensures all required route params (like item IDs) are passed automatically by the app. The navigate() tool is ONLY for top-level screens that require no params (e.g. Login, Settings, Cart). NEVER call navigate() on screens that require a selection or ID (e.g. DishDetail, SelectCategory, ProfileDetail) this will crash the app. For those screens, always tap the relevant item in the parent screen.
105
105
  </rules>
106
106
 
107
107
  <task_completion_rules>
@@ -270,7 +270,7 @@ If a UI element is hidden but a matching custom action exists, use the action.
270
270
  - SECURITY & PRIVACY: Do not fill in login/signup forms unless the user provides credentials.
271
271
  - Do NOT ask for confirmation of actions the user explicitly requested. If they said "place my order", just do it.
272
272
  - If the user's intent is ambiguous — it could mean multiple things or lead to different screens — ask the user to clarify before navigating to the wrong place.
273
- - NAVIGATION: Always use tap actions to move between screens. Tap tab bar buttons, back buttons, and navigation links in the UI. This ensures all required screen parameters are passed automatically by the app. Use the Available Screens list to identify which screen has the feature you need, then tap the UI element that leads there.
273
+ - NAVIGATION: Always use tap actions to move between screens tap tab bar buttons, back buttons, and navigation links. This ensures all required route params are passed automatically by the app. The navigate() tool is ONLY for top-level screens that require no params (e.g. Login, Settings, Cart). NEVER call navigate() on screens that require a selection or ID (e.g. DishDetail, SelectCategory, ProfileDetail) — this will crash the app. For those screens, always tap the relevant item in the parent screen.
274
274
  </rules>
275
275
 
276
276
  <capability>
@@ -50,7 +50,7 @@ export function createTapTool(context: ToolContext): AgentTool {
50
50
  element.props.onPress();
51
51
  await new Promise(resolve => setTimeout(resolve, 500));
52
52
 
53
- // Post-tap verification (Maestro pattern: compare hierarchy after tap)
53
+ // Post-tap observation (Maestro pattern: compare hierarchy after tap)
54
54
  const postWalk = walkFiberTree(context.rootRef, context.getWalkConfig());
55
55
  const screenAfter = context.getCurrentScreenName();
56
56
  const elementCountAfter = postWalk.interactives.length;
@@ -59,9 +59,11 @@ export function createTapTool(context: ToolContext): AgentTool {
59
59
  return `✅ Tapped [${args.index}] "${element.label}" → navigated to "${screenAfter}"`;
60
60
  }
61
61
  if (Math.abs(elementCountAfter - elementCountBefore) > 0) {
62
- return `✅ Tapped [${args.index}] "${element.label}" (UI updated: ${elementCountBefore} → ${elementCountAfter} elements)`;
62
+ return `✅ Tapped [${args.index}] "${element.label}" screen updated (${elementCountBefore} → ${elementCountAfter} elements)`;
63
63
  }
64
- return `✅ Tapped [${args.index}] "${element.label}" (note: UI appears unchanged — this may be expected, or the tap may need a different target)`;
64
+ // Many valid taps (add-to-cart, favorites, API calls) update state
65
+ // without changing visible UI elements. Report success and move on.
66
+ return `✅ Tapped [${args.index}] "${element.label}" → action executed successfully. Proceed to your next step.`;
65
67
  } catch (error: any) {
66
68
  return `❌ Error tapping [${args.index}]: ${error.message}`;
67
69
  }