react-native-agentic-ai 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -21,7 +21,13 @@ const PRESSABLE_TYPES = new Set(['Pressable', 'TouchableOpacity', 'TouchableHigh
21
21
  const TEXT_INPUT_TYPES = new Set(['TextInput', 'RCTSinglelineTextInputView', 'RCTMultilineTextInputView']);
22
22
  const SWITCH_TYPES = new Set(['Switch', 'RCTSwitch']);
23
23
  const TEXT_TYPES = new Set(['Text', 'RCTText']);
24
- // ScrollView/FlatList/SectionList detection can be added later for scroll tool
24
+
25
+ // Media component types for Component-Context Media Inference
26
+ const IMAGE_TYPES = new Set(['Image', 'RCTImageView', 'ExpoImage', 'FastImage', 'CachedImage']);
27
+ const VIDEO_TYPES = new Set(['Video', 'ExpoVideo', 'RCTVideo', 'VideoPlayer', 'VideoView']);
28
+
29
+ // Known RN internal component names to skip when walking up for context
30
+ const RN_INTERNAL_NAMES = new Set(['View', 'RCTView', 'Pressable', 'TouchableOpacity', 'TouchableHighlight', 'ScrollView', 'RCTScrollView', 'FlatList', 'SectionList', 'SafeAreaView', 'RNCSafeAreaView', 'KeyboardAvoidingView', 'Modal', 'StatusBar', 'Text', 'RCTText', 'AnimatedComponent', 'AnimatedComponentWrapper', 'Animated']);
25
31
 
26
32
  // ─── State Extraction (mirrors page-agent DEFAULT_INCLUDE_ATTRIBUTES) ──
27
33
 
@@ -71,6 +77,25 @@ export function hasAnyEventHandler(props) {
71
77
  return false;
72
78
  }
73
79
 
80
+ /**
81
+ * Walk UP the Fiber tree to find the nearest custom (user-defined) component name.
82
+ * Skips known React Native internal component names.
83
+ * This provides semantic context for media elements (e.g., an Image inside "ProfileHeader").
84
+ */
85
+ function getNearestCustomComponentName(fiber, maxDepth = 8) {
86
+ let current = fiber?.return;
87
+ let depth = 0;
88
+ while (current && depth < maxDepth) {
89
+ const name = getComponentName(current);
90
+ if (name && !RN_INTERNAL_NAMES.has(name) && !PRESSABLE_TYPES.has(name)) {
91
+ return name;
92
+ }
93
+ current = current.return;
94
+ depth++;
95
+ }
96
+ return null;
97
+ }
98
+
74
99
  // ─── Fiber Node Helpers ────────────────────────────────────────
75
100
 
76
101
  /**
@@ -336,23 +361,44 @@ export function walkFiberTree(rootRef, config) {
336
361
  return elementOutput;
337
362
  }
338
363
 
339
- // Non-interactive structural nodes
364
+ // Non-interactive structural nodes — collapse view chains to reduce noise
365
+ // Only emit text content; structural <view> wrappers are transparent
340
366
  const typeStr = node.type && typeof node.type === 'string' ? node.type : node.elementType && typeof node.elementType === 'string' ? node.elementType : null;
341
367
  if (typeStr === 'RCTText' || typeStr === 'Text') {
342
368
  const textContent = extractRawText(props.children);
343
369
  if (textContent && textContent.trim() !== '') {
344
- return `${indent}<text>${textContent.trim()}</text>\n`;
370
+ return `${indent}${textContent.trim()}\n`;
345
371
  }
346
372
  }
347
- if (childrenText.trim() !== '') {
348
- return `${indent}<view>\n${childrenText}${indent}</view>\n`;
373
+
374
+ // ── Media Detection: Component-Context Media Inference ──
375
+ const componentName = getComponentName(node);
376
+ if (componentName && IMAGE_TYPES.has(componentName)) {
377
+ const context = getNearestCustomComponentName(node);
378
+ const alt = props.alt || props.accessibilityLabel || '';
379
+ // Emit the full URI so Gemini can use vision to analyze the image
380
+ const src = typeof props.source === 'object' && props.source?.uri ? props.source.uri : '';
381
+ const attrs = [context ? `in="${context}"` : '', alt ? `alt="${alt}"` : '', src ? `src="${src}"` : ''].filter(Boolean).join(' ');
382
+ return `${indent}[image${attrs ? ' ' + attrs : ''}]\n`;
383
+ }
384
+ if (componentName && VIDEO_TYPES.has(componentName)) {
385
+ const context = getNearestCustomComponentName(node);
386
+ const paused = props.paused !== undefined ? props.paused : props.shouldPlay !== undefined ? !props.shouldPlay : null;
387
+ // Capture video source URI and poster image
388
+ const src = typeof props.source === 'object' && props.source?.uri ? props.source.uri : '';
389
+ const poster = props.posterSource?.uri || props.poster || '';
390
+ const attrs = [context ? `in="${context}"` : '', paused !== null ? `state="${paused ? 'paused' : 'playing'}"` : '', src ? `src="${src}"` : '', poster ? `poster="${poster}"` : ''].filter(Boolean).join(' ');
391
+ return `${indent}[video${attrs ? ' ' + attrs : ''}]\n`;
349
392
  }
350
- return '';
393
+
394
+ // Structural views: pass children through without adding <view> wrapper
395
+ // This collapses the 50+ nesting levels into flat, readable output
396
+ return childrenText;
351
397
  }
352
398
  let elementsText = processNode(fiber, 0);
353
399
 
354
- // Clean up empty views and excessive newlines
355
- elementsText = elementsText.replace(/<view>\s*<\/view>\n?/g, '');
400
+ // Clean up excessive blank lines
401
+ elementsText = elementsText.replace(/\n{3,}/g, '\n\n');
356
402
  logger.info('FiberTreeWalker', `Found ${interactives.length} interactive elements`);
357
403
  return {
358
404
  elementsText: elementsText.trim(),
@@ -1 +1 @@
1
- {"version":3,"names":["logger","PRESSABLE_TYPES","Set","TEXT_INPUT_TYPES","SWITCH_TYPES","TEXT_TYPES","STATE_PROPS","extractStateAttributes","props","parts","accessibilityState","k","v","Object","entries","undefined","push","accessibilityRole","key","join","hasAnyEventHandler","keys","startsWith","getComponentName","fiber","type","displayName","name","render","getElementType","memoizedProps","has","role","onPress","onChangeText","onValueChange","isDisabled","disabled","editable","extractTextContent","maxDepth","child","childName","childProps","sibling","text","extractRawText","children","nestedText","trim","String","Array","isArray","map","filter","Boolean","getFiberRoot","hook","globalThis","__REACT_DEVTOOLS_GLOBAL_HOOK__","renderers","size","rendererId","roots","getFiberRoots","fiberRoot","values","next","value","current","debug","e","getFiberFromRef","ref","rootFiber","_reactInternals","_reactInternalInstance","fiberKey","find","warn","matchesRefList","node","refs","length","stateNode","walkFiberTree","rootRef","config","elementsText","interactives","currentIndex","hasWhitelist","interactiveWhitelist","processNode","depth","isInsideInteractive","aiIgnore","interactiveBlacklist","childText","currentChild","isWhitelisted","elementType","shouldInclude","childrenText","indent","repeat","resolvedType","label","accessibilityLabel","placeholder","index","fiberNode","stateAttrs","attrStr","textContent","elementOutput","typeStr","replace","info"],"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","TEXT_TYPES","IMAGE_TYPES","VIDEO_TYPES","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","onValueChange","isDisabled","disabled","editable","extractTextContent","child","childName","childProps","sibling","text","extractRawText","children","nestedText","trim","String","Array","isArray","map","filter","Boolean","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","length","stateNode","walkFiberTree","rootRef","config","elementsText","interactives","currentIndex","hasWhitelist","interactiveWhitelist","processNode","isInsideInteractive","aiIgnore","interactiveBlacklist","childText","currentChild","isWhitelisted","elementType","shouldInclude","childrenText","indent","repeat","resolvedType","label","accessibilityLabel","placeholder","index","fiberNode","stateAttrs","attrStr","textContent","elementOutput","typeStr","componentName","context","alt","src","source","uri","attrs","paused","shouldPlay","poster","posterSource","replace","info"],"sourceRoot":"../../../src","sources":["core/FiberTreeWalker.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,MAAM,QAAQ,oBAAiB;;AAGxC;;AASA;;AAEA;AACA,MAAMC,eAAe,GAAG,IAAIC,GAAG,CAAC,CAC9B,WAAW,EACX,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,yBAAyB,EACzB,QAAQ,CACT,CAAC;AAEF,MAAMC,gBAAgB,GAAG,IAAID,GAAG,CAAC,CAAC,WAAW,EAAE,4BAA4B,EAAE,2BAA2B,CAAC,CAAC;AAC1G,MAAME,YAAY,GAAG,IAAIF,GAAG,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AACrD,MAAMG,UAAU,GAAG,IAAIH,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;;AAE/C;AACA,MAAMI,WAAW,GAAG,IAAIJ,GAAG,CAAC,CAC1B,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,CACjE,CAAC;AACF,MAAMK,WAAW,GAAG,IAAIL,GAAG,CAAC,CAC1B,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,CAC7D,CAAC;;AAEF;AACA,MAAMM,iBAAiB,GAAG,IAAIN,GAAG,CAAC,CAChC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,oBAAoB,EACxE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,aAAa,EACxD,cAAc,EAAE,iBAAiB,EAAE,sBAAsB,EACzD,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,mBAAmB,EAC5D,0BAA0B,EAAE,UAAU,CACvC,CAAC;;AAEF;;AAEA;AACA,MAAMO,WAAW,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC;;AAElG;AACA;AACA;AACA;AACA;AACA,SAASC,sBAAsBA,CAACC,KAAU,EAAU;EAClD,MAAMC,KAAe,GAAG,EAAE;;EAE1B;EACA,IAAID,KAAK,CAACE,kBAAkB,IAAI,OAAOF,KAAK,CAACE,kBAAkB,KAAK,QAAQ,EAAE;IAC5E,KAAK,MAAM,CAACC,CAAC,EAAEC,CAAC,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACN,KAAK,CAACE,kBAAkB,CAAC,EAAE;MAC7D,IAAIE,CAAC,KAAKG,SAAS,EAAEN,KAAK,CAACO,IAAI,CAAC,GAAGL,CAAC,KAAKC,CAAC,GAAG,CAAC;IAChD;EACF;;EAEA;EACA,IAAIJ,KAAK,CAACS,iBAAiB,EAAE;IAC3BR,KAAK,CAACO,IAAI,CAAC,SAASR,KAAK,CAACS,iBAAiB,GAAG,CAAC;EACjD;;EAEA;EACA,KAAK,MAAMC,GAAG,IAAIZ,WAAW,EAAE;IAC7B,IAAIE,KAAK,CAACU,GAAG,CAAC,KAAKH,SAAS,IAAI,OAAOP,KAAK,CAACU,GAAG,CAAC,KAAK,UAAU,IAAI,OAAOV,KAAK,CAACU,GAAG,CAAC,KAAK,QAAQ,EAAE;MAClGT,KAAK,CAACO,IAAI,CAAC,GAAGE,GAAG,KAAKV,KAAK,CAACU,GAAG,CAAC,GAAG,CAAC;IACtC;EACF;EAEA,OAAOT,KAAK,CAACU,IAAI,CAAC,GAAG,CAAC;AACxB;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASC,kBAAkBA,CAACZ,KAAU,EAAW;EACtD,IAAI,CAACA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAO,KAAK;EACrD,KAAK,MAAMU,GAAG,IAAIL,MAAM,CAACQ,IAAI,CAACb,KAAK,CAAC,EAAE;IACpC,IAAIU,GAAG,CAACI,UAAU,CAAC,IAAI,CAAC,IAAI,OAAOd,KAAK,CAACU,GAAG,CAAC,KAAK,UAAU,EAAE;MAC5D,OAAO,IAAI;IACb;EACF;EACA,OAAO,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASK,6BAA6BA,CAACC,KAAU,EAAEC,QAAgB,GAAG,CAAC,EAAiB;EACtF,IAAIC,OAAO,GAAGF,KAAK,EAAEG,MAAM;EAC3B,IAAIC,KAAK,GAAG,CAAC;EACb,OAAOF,OAAO,IAAIE,KAAK,GAAGH,QAAQ,EAAE;IAClC,MAAMI,IAAI,GAAGC,gBAAgB,CAACJ,OAAO,CAAC;IACtC,IAAIG,IAAI,IAAI,CAACxB,iBAAiB,CAAC0B,GAAG,CAACF,IAAI,CAAC,IAAI,CAAC/B,eAAe,CAACiC,GAAG,CAACF,IAAI,CAAC,EAAE;MACtE,OAAOA,IAAI;IACb;IACAH,OAAO,GAAGA,OAAO,CAACC,MAAM;IACxBC,KAAK,EAAE;EACT;EACA,OAAO,IAAI;AACb;;AAEA;;AAEA;AACA;AACA;AACA,SAASE,gBAAgBA,CAACN,KAAU,EAAiB;EACnD,IAAI,CAACA,KAAK,IAAI,CAACA,KAAK,CAACQ,IAAI,EAAE,OAAO,IAAI;;EAEtC;EACA,IAAI,OAAOR,KAAK,CAACQ,IAAI,KAAK,QAAQ,EAAE,OAAOR,KAAK,CAACQ,IAAI;;EAErD;EACA,IAAIR,KAAK,CAACQ,IAAI,CAACC,WAAW,EAAE,OAAOT,KAAK,CAACQ,IAAI,CAACC,WAAW;EACzD,IAAIT,KAAK,CAACQ,IAAI,CAACH,IAAI,EAAE,OAAOL,KAAK,CAACQ,IAAI,CAACH,IAAI;;EAE3C;EACA,IAAIL,KAAK,CAACQ,IAAI,CAACE,MAAM,EAAED,WAAW,EAAE,OAAOT,KAAK,CAACQ,IAAI,CAACE,MAAM,CAACD,WAAW;EACxE,IAAIT,KAAK,CAACQ,IAAI,CAACE,MAAM,EAAEL,IAAI,EAAE,OAAOL,KAAK,CAACQ,IAAI,CAACE,MAAM,CAACL,IAAI;EAE1D,OAAO,IAAI;AACb;;AAEA;AACA;AACA;AACA,SAASM,cAAcA,CAACX,KAAU,EAAsB;EACtD,MAAMK,IAAI,GAAGC,gBAAgB,CAACN,KAAK,CAAC;EACpC,MAAMhB,KAAK,GAAGgB,KAAK,CAACY,aAAa,IAAI,CAAC,CAAC;;EAEvC;EACA,IAAIP,IAAI,IAAI/B,eAAe,CAACiC,GAAG,CAACF,IAAI,CAAC,EAAE,OAAO,WAAW;EACzD,IAAIA,IAAI,IAAI7B,gBAAgB,CAAC+B,GAAG,CAACF,IAAI,CAAC,EAAE,OAAO,YAAY;EAC3D,IAAIA,IAAI,IAAI5B,YAAY,CAAC8B,GAAG,CAACF,IAAI,CAAC,EAAE,OAAO,QAAQ;;EAEnD;EACA,MAAMQ,IAAI,GAAG7B,KAAK,CAACS,iBAAiB,IAAIT,KAAK,CAAC6B,IAAI;EAClD,IAAIA,IAAI,KAAK,QAAQ,EAAE,OAAO,QAAQ;EACtC,IAAIA,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,MAAM,IAAIA,IAAI,KAAK,UAAU,IAAIA,IAAI,KAAK,OAAO,EAAE;IACnF,OAAO,WAAW;EACpB;;EAEA;EACA,IAAI7B,KAAK,CAAC8B,OAAO,IAAI,OAAO9B,KAAK,CAAC8B,OAAO,KAAK,UAAU,EAAE,OAAO,WAAW;;EAE5E;EACA,IAAI9B,KAAK,CAAC+B,YAAY,IAAI,OAAO/B,KAAK,CAAC+B,YAAY,KAAK,UAAU,EAAE,OAAO,YAAY;;EAEvF;EACA,IAAI/B,KAAK,CAACgC,aAAa,IAAI,OAAOhC,KAAK,CAACgC,aAAa,KAAK,UAAU,EAAE,OAAO,QAAQ;EAErF,OAAO,IAAI;AACb;;AAEA;AACA;AACA;AACA,SAASC,UAAUA,CAACjB,KAAU,EAAW;EACvC,MAAMhB,KAAK,GAAGgB,KAAK,CAACY,aAAa,IAAI,CAAC,CAAC;EACvC,OAAO5B,KAAK,CAACkC,QAAQ,KAAK,IAAI,IAAIlC,KAAK,CAACmC,QAAQ,KAAK,KAAK;AAC5D;;AAEA;;AAEA;AACA;AACA;AACA;AACA,SAASC,kBAAkBA,CAACpB,KAAU,EAAEC,QAAgB,GAAG,EAAE,EAAU;EACrE,IAAI,CAACD,KAAK,IAAIC,QAAQ,IAAI,CAAC,EAAE,OAAO,EAAE;EAEtC,MAAMhB,KAAe,GAAG,EAAE;EAE1B,IAAIoC,KAAK,GAAGrB,KAAK,CAACqB,KAAK;EACvB,OAAOA,KAAK,EAAE;IACZ,MAAMC,SAAS,GAAGhB,gBAAgB,CAACe,KAAK,CAAC;IACzC,MAAME,UAAU,GAAGF,KAAK,CAACT,aAAa,IAAI,CAAC,CAAC;;IAE5C;IACA,IAAID,cAAc,CAACU,KAAK,CAAC,KAAK,IAAI,IAAIA,KAAK,KAAKrB,KAAK,EAAE;MACrDqB,KAAK,GAAGA,KAAK,CAACG,OAAO;MACrB;IACF;;IAEA;IACA,IAAIF,SAAS,IAAI5C,UAAU,CAAC6B,GAAG,CAACe,SAAS,CAAC,EAAE;MAC1C,MAAMG,IAAI,GAAGC,cAAc,CAACH,UAAU,CAACI,QAAQ,CAAC;MAChD,IAAIF,IAAI,EAAExC,KAAK,CAACO,IAAI,CAACiC,IAAI,CAAC;IAC5B,CAAC,MAAM;MACL;MACA,MAAMG,UAAU,GAAGR,kBAAkB,CAACC,KAAK,EAAEpB,QAAQ,GAAG,CAAC,CAAC;MAC1D,IAAI2B,UAAU,EAAE3C,KAAK,CAACO,IAAI,CAACoC,UAAU,CAAC;IACxC;IAEAP,KAAK,GAAGA,KAAK,CAACG,OAAO;EACvB;EAEA,OAAOvC,KAAK,CAACU,IAAI,CAAC,GAAG,CAAC,CAACkC,IAAI,CAAC,CAAC;AAC/B;;AAEA;AACA;AACA;AACA;AACA,SAASH,cAAcA,CAACC,QAAa,EAAU;EAC7C,IAAIA,QAAQ,IAAI,IAAI,EAAE,OAAO,EAAE;EAC/B,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE,OAAOA,QAAQ;EACjD,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAE,OAAOG,MAAM,CAACH,QAAQ,CAAC;EAEzD,IAAII,KAAK,CAACC,OAAO,CAACL,QAAQ,CAAC,EAAE;IAC3B,OAAOA,QAAQ,CACZM,GAAG,CAACZ,KAAK,IAAIK,cAAc,CAACL,KAAK,CAAC,CAAC,CACnCa,MAAM,CAACC,OAAO,CAAC,CACfxC,IAAI,CAAC,GAAG,CAAC;EACd;;EAEA;EACA,IAAIgC,QAAQ,IAAI,OAAOA,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,CAAC3C,KAAK,EAAE;IAC9D,OAAO0C,cAAc,CAACC,QAAQ,CAAC3C,KAAK,CAAC2C,QAAQ,CAAC;EAChD;EAEA,OAAO,EAAE;AACX;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASS,YAAYA,CAAA,EAAe;EAClC;EACA,IAAI;IACF,MAAMC,IAAI,GAAIC,UAAU,CAASC,8BAA8B;IAC/D,IAAIF,IAAI,EAAE;MACR;MACA;MACA,MAAMG,SAAS,GAAGH,IAAI,CAACG,SAAS;MAChC,IAAIA,SAAS,IAAIA,SAAS,CAACC,IAAI,GAAG,CAAC,EAAE;QACnC,KAAK,MAAM,CAACC,UAAU,CAAC,IAAIF,SAAS,EAAE;UACpC,MAAMG,KAAK,GAAGN,IAAI,CAACO,aAAa,CAACF,UAAU,CAAC;UAC5C,IAAIC,KAAK,IAAIA,KAAK,CAACF,IAAI,GAAG,CAAC,EAAE;YAC3B;YACA,MAAMI,SAAS,GAAGF,KAAK,CAACG,MAAM,CAAC,CAAC,CAACC,IAAI,CAAC,CAAC,CAACC,KAAK;YAC7C,IAAIH,SAAS,IAAIA,SAAS,CAAC3C,OAAO,EAAE;cAClC7B,MAAM,CAAC4E,KAAK,CAAC,iBAAiB,EAAE,uCAAuC,CAAC;cACxE,OAAOJ,SAAS,CAAC3C,OAAO,CAAC,CAAC;YAC5B;UACF;QACF;MACF;IACF;EACF,CAAC,CAAC,OAAOgD,CAAC,EAAE;IACV7E,MAAM,CAAC4E,KAAK,CAAC,iBAAiB,EAAE,8BAA8B,EAAEC,CAAC,CAAC;EACpE;EAEA,OAAO,IAAI;AACb;AAEA,SAASC,eAAeA,CAACC,GAAQ,EAAc;EAC7C;EACA,MAAMC,SAAS,GAAGjB,YAAY,CAAC,CAAC;EAChC,IAAIiB,SAAS,EAAE,OAAOA,SAAS;EAE/B,IAAI,CAACD,GAAG,EAAE,OAAO,IAAI;;EAErB;;EAEA;EACA,IAAIA,GAAG,CAACE,eAAe,EAAE,OAAOF,GAAG,CAACE,eAAe;;EAEnD;EACA,IAAIF,GAAG,CAACG,sBAAsB,EAAE,OAAOH,GAAG,CAACG,sBAAsB;;EAEjE;EACA,IAAI;IACF,MAAM1D,IAAI,GAAGR,MAAM,CAACQ,IAAI,CAACuD,GAAG,CAAC;IAC7B,MAAMI,QAAQ,GAAG3D,IAAI,CAAC4D,IAAI,CACxB/D,GAAG,IAAIA,GAAG,CAACI,UAAU,CAAC,eAAe,CAAC,IAAIJ,GAAG,CAACI,UAAU,CAAC,0BAA0B,CACrF,CAAC;IACD,IAAI0D,QAAQ,EAAE,OAAQJ,GAAG,CAASI,QAAQ,CAAC;EAC7C,CAAC,CAAC,MAAM;IACN;EAAA;;EAGF;EACA,IAAIJ,GAAG,CAAC/B,KAAK,IAAI+B,GAAG,CAACxC,aAAa,EAAE,OAAOwC,GAAG;EAE9C/E,MAAM,CAACqF,IAAI,CAAC,iBAAiB,EAAE,oCAAoC,CAAC;EACpE,OAAO,IAAI;AACb;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAASC,cAAcA,CAACC,IAAS,EAAEC,IAA6B,EAAW;EACzE,IAAI,CAACA,IAAI,IAAIA,IAAI,CAACC,MAAM,KAAK,CAAC,EAAE,OAAO,KAAK;EAC5C,MAAMC,SAAS,GAAGH,IAAI,CAACG,SAAS;EAChC,IAAI,CAACA,SAAS,EAAE,OAAO,KAAK;EAE5B,KAAK,MAAMX,GAAG,IAAIS,IAAI,EAAE;IACtB,IAAIT,GAAG,CAAClD,OAAO,IAAIkD,GAAG,CAAClD,OAAO,KAAK6D,SAAS,EAAE,OAAO,IAAI;EAC3D;EACA,OAAO,KAAK;AACd;AAOA;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASC,aAAaA,CAACC,OAAY,EAAEC,MAAmB,EAAc;EAC3E,MAAMlE,KAAK,GAAGmD,eAAe,CAACc,OAAO,CAAC;EACtC,IAAI,CAACjE,KAAK,EAAE;IACV3B,MAAM,CAACqF,IAAI,CAAC,iBAAiB,EAAE,sCAAsC,CAAC;IACtE,OAAO;MAAES,YAAY,EAAE,EAAE;MAAEC,YAAY,EAAE;IAAG,CAAC;EAC/C;EAEA,MAAMA,YAAkC,GAAG,EAAE;EAC7C,IAAIC,YAAY,GAAG,CAAC;EACpB,MAAMC,YAAY,GAAGJ,MAAM,EAAEK,oBAAoB,IAAI,CAACL,MAAM,CAACK,oBAAoB,CAACT,MAAM,IAAI,CAAC,IAAI,CAAC;EAElG,SAASU,WAAWA,CAACZ,IAAS,EAAExD,KAAa,GAAG,CAAC,EAAEqE,mBAA4B,GAAG,KAAK,EAAU;IAC/F,IAAI,CAACb,IAAI,EAAE,OAAO,EAAE;IAEpB,MAAM5E,KAAK,GAAG4E,IAAI,CAAChD,aAAa,IAAI,CAAC,CAAC;;IAEtC;IACA,IAAI5B,KAAK,CAAC0F,QAAQ,KAAK,IAAI,EAAE,OAAO,EAAE;IACtC,IAAIf,cAAc,CAACC,IAAI,EAAEM,MAAM,EAAES,oBAAoB,CAAC,EAAE;MACtD,IAAIC,SAAS,GAAG,EAAE;MAClB,IAAIC,YAAY,GAAGjB,IAAI,CAACvC,KAAK;MAC7B,OAAOwD,YAAY,EAAE;QACnBD,SAAS,IAAIJ,WAAW,CAACK,YAAY,EAAEzE,KAAK,EAAEqE,mBAAmB,CAAC;QAClEI,YAAY,GAAGA,YAAY,CAACrD,OAAO;MACrC;MACA,OAAOoD,SAAS;IAClB;;IAEA;IACA,MAAME,aAAa,GAAGnB,cAAc,CAACC,IAAI,EAAEM,MAAM,EAAEK,oBAAoB,CAAC;IACxE,MAAMQ,WAAW,GAAGpE,cAAc,CAACiD,IAAI,CAAC;IACxC,MAAMoB,aAAa,GAAG,CAACP,mBAAmB,KAAKH,YAAY,GAAGQ,aAAa,GAAIC,WAAW,IAAI,CAAC9D,UAAU,CAAC2C,IAAI,CAAE,CAAC;;IAEjH;IACA,IAAIqB,YAAY,GAAG,EAAE;IACrB,IAAIJ,YAAY,GAAGjB,IAAI,CAACvC,KAAK;IAC7B,OAAOwD,YAAY,EAAE;MACnBI,YAAY,IAAIT,WAAW,CAACK,YAAY,EAAEzE,KAAK,GAAG,CAAC,EAAEqE,mBAAmB,IAAI,CAAC,CAACO,aAAa,CAAC;MAC5FH,YAAY,GAAGA,YAAY,CAACrD,OAAO;IACrC;IAEA,MAAM0D,MAAM,GAAG,IAAI,CAACC,MAAM,CAAC/E,KAAK,CAAC;IAEjC,IAAI4E,aAAa,EAAE;MACjB,MAAMI,YAAY,GAAGL,WAAW,IAAI,WAAW;MAC/C,IAAIM,KAAK,GAAGrG,KAAK,CAACsG,kBAAkB,IAAIlE,kBAAkB,CAACwC,IAAI,CAAC;MAChE,IAAI,CAACyB,KAAK,IAAID,YAAY,KAAK,YAAY,IAAIpG,KAAK,CAACuG,WAAW,EAAE;QAChEF,KAAK,GAAGrG,KAAK,CAACuG,WAAW;MAC3B;MAEAnB,YAAY,CAAC5E,IAAI,CAAC;QAChBgG,KAAK,EAAEnB,YAAY;QACnB7D,IAAI,EAAE4E,YAAY;QAClBC,KAAK,EAAEA,KAAK,IAAI,IAAID,YAAY,GAAG;QACnCK,SAAS,EAAE7B,IAAI;QACf5E,KAAK,EAAE;UAAE,GAAGA;QAAM;MACpB,CAAC,CAAC;;MAEF;MACA,MAAM0G,UAAU,GAAG3G,sBAAsB,CAACC,KAAK,CAAC;MAChD,MAAM2G,OAAO,GAAGD,UAAU,GAAG,IAAIA,UAAU,EAAE,GAAG,EAAE;MAClD,MAAME,WAAW,GAAGP,KAAK,IAAI,EAAE;MAC/B,MAAMQ,aAAa,GAAG,GAAGX,MAAM,IAAIb,YAAY,KAAKe,YAAY,GAAGO,OAAO,IAAIC,WAAW,MAAMX,YAAY,CAACpD,IAAI,CAAC,CAAC,GAAG,IAAI,GAAGoD,YAAY,GAAG,EAAE,IAAI;MACjJZ,YAAY,EAAE;MACd,OAAOwB,aAAa;IACtB;;IAEA;IACA;IACA,MAAMC,OAAO,GAAGlC,IAAI,CAACpD,IAAI,IAAI,OAAOoD,IAAI,CAACpD,IAAI,KAAK,QAAQ,GAAGoD,IAAI,CAACpD,IAAI,GACtDoD,IAAI,CAACmB,WAAW,IAAI,OAAOnB,IAAI,CAACmB,WAAW,KAAK,QAAQ,GAAGnB,IAAI,CAACmB,WAAW,GAAG,IAAK;IAEnG,IAAIe,OAAO,KAAK,SAAS,IAAIA,OAAO,KAAK,MAAM,EAAE;MAC/C,MAAMF,WAAW,GAAGlE,cAAc,CAAC1C,KAAK,CAAC2C,QAAQ,CAAC;MAClD,IAAIiE,WAAW,IAAIA,WAAW,CAAC/D,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE;QAC5C,OAAO,GAAGqD,MAAM,GAAGU,WAAW,CAAC/D,IAAI,CAAC,CAAC,IAAI;MAC3C;IACF;;IAEA;IACA,MAAMkE,aAAa,GAAGzF,gBAAgB,CAACsD,IAAI,CAAC;IAC5C,IAAImC,aAAa,IAAIpH,WAAW,CAAC4B,GAAG,CAACwF,aAAa,CAAC,EAAE;MACnD,MAAMC,OAAO,GAAGjG,6BAA6B,CAAC6D,IAAI,CAAC;MACnD,MAAMqC,GAAG,GAAGjH,KAAK,CAACiH,GAAG,IAAIjH,KAAK,CAACsG,kBAAkB,IAAI,EAAE;MACvD;MACA,MAAMY,GAAG,GAAG,OAAOlH,KAAK,CAACmH,MAAM,KAAK,QAAQ,IAAInH,KAAK,CAACmH,MAAM,EAAEC,GAAG,GAC7DpH,KAAK,CAACmH,MAAM,CAACC,GAAG,GAChB,EAAE;MACN,MAAMC,KAAK,GAAG,CACZL,OAAO,GAAG,OAAOA,OAAO,GAAG,GAAG,EAAE,EAChCC,GAAG,GAAG,QAAQA,GAAG,GAAG,GAAG,EAAE,EACzBC,GAAG,GAAG,QAAQA,GAAG,GAAG,GAAG,EAAE,CAC1B,CAAChE,MAAM,CAACC,OAAO,CAAC,CAACxC,IAAI,CAAC,GAAG,CAAC;MAC3B,OAAO,GAAGuF,MAAM,SAASmB,KAAK,GAAG,GAAG,GAAGA,KAAK,GAAG,EAAE,KAAK;IACxD;IAEA,IAAIN,aAAa,IAAInH,WAAW,CAAC2B,GAAG,CAACwF,aAAa,CAAC,EAAE;MACnD,MAAMC,OAAO,GAAGjG,6BAA6B,CAAC6D,IAAI,CAAC;MACnD,MAAM0C,MAAM,GAAGtH,KAAK,CAACsH,MAAM,KAAK/G,SAAS,GAAGP,KAAK,CAACsH,MAAM,GAAGtH,KAAK,CAACuH,UAAU,KAAKhH,SAAS,GAAG,CAACP,KAAK,CAACuH,UAAU,GAAG,IAAI;MACpH;MACA,MAAML,GAAG,GAAG,OAAOlH,KAAK,CAACmH,MAAM,KAAK,QAAQ,IAAInH,KAAK,CAACmH,MAAM,EAAEC,GAAG,GAC7DpH,KAAK,CAACmH,MAAM,CAACC,GAAG,GAChB,EAAE;MACN,MAAMI,MAAM,GAAGxH,KAAK,CAACyH,YAAY,EAAEL,GAAG,IAAIpH,KAAK,CAACwH,MAAM,IAAI,EAAE;MAC5D,MAAMH,KAAK,GAAG,CACZL,OAAO,GAAG,OAAOA,OAAO,GAAG,GAAG,EAAE,EAChCM,MAAM,KAAK,IAAI,GAAG,UAAUA,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,GAAG,EAAE,EACjEJ,GAAG,GAAG,QAAQA,GAAG,GAAG,GAAG,EAAE,EACzBM,MAAM,GAAG,WAAWA,MAAM,GAAG,GAAG,EAAE,CACnC,CAACtE,MAAM,CAACC,OAAO,CAAC,CAACxC,IAAI,CAAC,GAAG,CAAC;MAC3B,OAAO,GAAGuF,MAAM,SAASmB,KAAK,GAAG,GAAG,GAAGA,KAAK,GAAG,EAAE,KAAK;IACxD;;IAEA;IACA;IACA,OAAOpB,YAAY;EACrB;EAEA,IAAId,YAAY,GAAGK,WAAW,CAACxE,KAAK,EAAE,CAAC,CAAC;;EAExC;EACAmE,YAAY,GAAGA,YAAY,CAACuC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;EAEtDrI,MAAM,CAACsI,IAAI,CAAC,iBAAiB,EAAE,SAASvC,YAAY,CAACN,MAAM,uBAAuB,CAAC;EACnF,OAAO;IAAEK,YAAY,EAAEA,YAAY,CAACtC,IAAI,CAAC,CAAC;IAAEuC;EAAa,CAAC;AAC5D","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"FiberTreeWalker.d.ts","sourceRoot":"","sources":["../../../../src/core/FiberTreeWalker.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,SAAS,CAAC;AAI/D,MAAM,WAAW,UAAU;IACzB,kFAAkF;IAClF,oBAAoB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9C,4FAA4F;IAC5F,oBAAoB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;CAC/C;AAsDD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAQtD;AAsND,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,kBAAkB,EAAE,CAAC;CACpC;AAID;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,UAAU,CA4F3E"}
1
+ {"version":3,"file":"FiberTreeWalker.d.ts","sourceRoot":"","sources":["../../../../src/core/FiberTreeWalker.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,SAAS,CAAC;AAI/D,MAAM,WAAW,UAAU;IACzB,kFAAkF;IAClF,oBAAoB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9C,4FAA4F;IAC5F,oBAAoB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;CAC/C;AAsED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAQtD;AAyOD,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,kBAAkB,EAAE,CAAC;CACpC;AAID;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,UAAU,CA6H3E"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-agentic-ai",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
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",
@@ -35,7 +35,23 @@ const PRESSABLE_TYPES = new Set([
35
35
  const TEXT_INPUT_TYPES = new Set(['TextInput', 'RCTSinglelineTextInputView', 'RCTMultilineTextInputView']);
36
36
  const SWITCH_TYPES = new Set(['Switch', 'RCTSwitch']);
37
37
  const TEXT_TYPES = new Set(['Text', 'RCTText']);
38
- // ScrollView/FlatList/SectionList detection can be added later for scroll tool
38
+
39
+ // Media component types for Component-Context Media Inference
40
+ const IMAGE_TYPES = new Set([
41
+ 'Image', 'RCTImageView', 'ExpoImage', 'FastImage', 'CachedImage',
42
+ ]);
43
+ const VIDEO_TYPES = new Set([
44
+ 'Video', 'ExpoVideo', 'RCTVideo', 'VideoPlayer', 'VideoView',
45
+ ]);
46
+
47
+ // Known RN internal component names to skip when walking up for context
48
+ const RN_INTERNAL_NAMES = new Set([
49
+ 'View', 'RCTView', 'Pressable', 'TouchableOpacity', 'TouchableHighlight',
50
+ 'ScrollView', 'RCTScrollView', 'FlatList', 'SectionList',
51
+ 'SafeAreaView', 'RNCSafeAreaView', 'KeyboardAvoidingView',
52
+ 'Modal', 'StatusBar', 'Text', 'RCTText', 'AnimatedComponent',
53
+ 'AnimatedComponentWrapper', 'Animated',
54
+ ]);
39
55
 
40
56
  // ─── State Extraction (mirrors page-agent DEFAULT_INCLUDE_ATTRIBUTES) ──
41
57
 
@@ -86,6 +102,25 @@ export function hasAnyEventHandler(props: any): boolean {
86
102
  return false;
87
103
  }
88
104
 
105
+ /**
106
+ * Walk UP the Fiber tree to find the nearest custom (user-defined) component name.
107
+ * Skips known React Native internal component names.
108
+ * This provides semantic context for media elements (e.g., an Image inside "ProfileHeader").
109
+ */
110
+ function getNearestCustomComponentName(fiber: any, maxDepth: number = 8): string | null {
111
+ let current = fiber?.return;
112
+ let depth = 0;
113
+ while (current && depth < maxDepth) {
114
+ const name = getComponentName(current);
115
+ if (name && !RN_INTERNAL_NAMES.has(name) && !PRESSABLE_TYPES.has(name)) {
116
+ return name;
117
+ }
118
+ current = current.return;
119
+ depth++;
120
+ }
121
+ return null;
122
+ }
123
+
89
124
  // ─── Fiber Node Helpers ────────────────────────────────────────
90
125
 
91
126
  /**
@@ -376,28 +411,61 @@ export function walkFiberTree(rootRef: any, config?: WalkConfig): WalkResult {
376
411
  return elementOutput;
377
412
  }
378
413
 
379
- // Non-interactive structural nodes
414
+ // Non-interactive structural nodes — collapse view chains to reduce noise
415
+ // Only emit text content; structural <view> wrappers are transparent
380
416
  const typeStr = node.type && typeof node.type === 'string' ? node.type :
381
417
  (node.elementType && typeof node.elementType === 'string' ? node.elementType : null);
382
418
 
383
419
  if (typeStr === 'RCTText' || typeStr === 'Text') {
384
420
  const textContent = extractRawText(props.children);
385
421
  if (textContent && textContent.trim() !== '') {
386
- return `${indent}<text>${textContent.trim()}</text>\n`;
422
+ return `${indent}${textContent.trim()}\n`;
387
423
  }
388
424
  }
389
425
 
390
- if (childrenText.trim() !== '') {
391
- return `${indent}<view>\n${childrenText}${indent}</view>\n`;
426
+ // ── Media Detection: Component-Context Media Inference ──
427
+ const componentName = getComponentName(node);
428
+ if (componentName && IMAGE_TYPES.has(componentName)) {
429
+ const context = getNearestCustomComponentName(node);
430
+ const alt = props.alt || props.accessibilityLabel || '';
431
+ // Emit the full URI so Gemini can use vision to analyze the image
432
+ const src = typeof props.source === 'object' && props.source?.uri
433
+ ? props.source.uri
434
+ : '';
435
+ const attrs = [
436
+ context ? `in="${context}"` : '',
437
+ alt ? `alt="${alt}"` : '',
438
+ src ? `src="${src}"` : '',
439
+ ].filter(Boolean).join(' ');
440
+ return `${indent}[image${attrs ? ' ' + attrs : ''}]\n`;
441
+ }
442
+
443
+ if (componentName && VIDEO_TYPES.has(componentName)) {
444
+ const context = getNearestCustomComponentName(node);
445
+ const paused = props.paused !== undefined ? props.paused : props.shouldPlay !== undefined ? !props.shouldPlay : null;
446
+ // Capture video source URI and poster image
447
+ const src = typeof props.source === 'object' && props.source?.uri
448
+ ? props.source.uri
449
+ : '';
450
+ const poster = props.posterSource?.uri || props.poster || '';
451
+ const attrs = [
452
+ context ? `in="${context}"` : '',
453
+ paused !== null ? `state="${paused ? 'paused' : 'playing'}"` : '',
454
+ src ? `src="${src}"` : '',
455
+ poster ? `poster="${poster}"` : '',
456
+ ].filter(Boolean).join(' ');
457
+ return `${indent}[video${attrs ? ' ' + attrs : ''}]\n`;
392
458
  }
393
459
 
394
- return '';
460
+ // Structural views: pass children through without adding <view> wrapper
461
+ // This collapses the 50+ nesting levels into flat, readable output
462
+ return childrenText;
395
463
  }
396
464
 
397
465
  let elementsText = processNode(fiber, 0);
398
466
 
399
- // Clean up empty views and excessive newlines
400
- elementsText = elementsText.replace(/<view>\s*<\/view>\n?/g, '');
467
+ // Clean up excessive blank lines
468
+ elementsText = elementsText.replace(/\n{3,}/g, '\n\n');
401
469
 
402
470
  logger.info('FiberTreeWalker', `Found ${interactives.length} interactive elements`);
403
471
  return { elementsText: elementsText.trim(), interactives };