@mobileai/react-native 0.9.2 → 0.9.4
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/lib/module/core/FiberTreeWalker.js +9 -2
- package/lib/module/core/FiberTreeWalker.js.map +1 -1
- package/lib/module/tools/typeTool.js +100 -11
- package/lib/module/tools/typeTool.js.map +1 -1
- package/lib/typescript/src/core/FiberTreeWalker.d.ts.map +1 -1
- package/lib/typescript/src/tools/typeTool.d.ts +21 -3
- package/lib/typescript/src/tools/typeTool.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/core/FiberTreeWalker.ts +12 -2
- package/src/tools/typeTool.ts +99 -11
|
@@ -509,10 +509,17 @@ export function walkFiberTree(rootRef, config) {
|
|
|
509
509
|
if (!label && (props.testID || props.nativeID)) {
|
|
510
510
|
label = props.testID || props.nativeID;
|
|
511
511
|
}
|
|
512
|
-
// Fallback: Parent component context
|
|
512
|
+
// Fallback: Parent component context (skip internal RN context names)
|
|
513
513
|
if (!label) {
|
|
514
514
|
const parentContext = getNearestCustomComponentName(node);
|
|
515
|
-
if (parentContext)
|
|
515
|
+
if (parentContext) {
|
|
516
|
+
// Skip React Native internal implementation names that leak as labels.
|
|
517
|
+
// These are never meaningful to the AI or developer.
|
|
518
|
+
const RN_INTERNAL_NAMES = new Set(['ScrollViewContext', 'VirtualizedListContext', 'ViewabilityHelper', 'ScrollResponder', 'AnimatedComponent', 'TouchableOpacity']);
|
|
519
|
+
if (!RN_INTERNAL_NAMES.has(parentContext)) {
|
|
520
|
+
label = parentContext;
|
|
521
|
+
}
|
|
522
|
+
}
|
|
516
523
|
}
|
|
517
524
|
interactives.push({
|
|
518
525
|
index: currentIndex,
|
|
@@ -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","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","walkFiberTree","rootRef","config","elementsText","interactives","startNode","screenName","overlayNodes","currentIndex","hasWhitelist","interactiveWhitelist","processNode","isInsideInteractive","ancestorOnPress","currentZoneId","activityState","pointerEvents","aiIgnore","interactiveBlacklist","childText","currentChild","isWhitelisted","elementType","shouldInclude","ownOnPress","nextAncestorOnPress","typeStr","isTextNode","isImageNode","isVideoNode","producesOutput","childDepth","nextZoneId","id","indent","repeat","zoneHeader","permissions","allowSimplify","allowHighlight","allowInjectHint","allowInjectCard","permStr","childrenText","resolvedType","label","accessibilityLabel","placeholder","testID","nativeID","parentContext","index","aiPriority","zoneId","fiberNode","stateAttrs","attrStr","textContent","elementOutput","priorityTag","context","alt","src","source","uri","attrs","paused","shouldPlay","poster","posterSource","overlayText","overlay","info","replace","SCROLLABLE_TYPES","PAGER_TYPES","findScreenFiberNode","lowerScreen","toLowerCase","search","lowerName","findScrollableContainers","screenFiber","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","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","walkFiberTree","rootRef","config","elementsText","interactives","startNode","screenName","overlayNodes","currentIndex","hasWhitelist","interactiveWhitelist","processNode","isInsideInteractive","ancestorOnPress","currentZoneId","activityState","pointerEvents","aiIgnore","interactiveBlacklist","childText","currentChild","isWhitelisted","elementType","shouldInclude","ownOnPress","nextAncestorOnPress","typeStr","isTextNode","isImageNode","isVideoNode","producesOutput","childDepth","nextZoneId","id","indent","repeat","zoneHeader","permissions","allowSimplify","allowHighlight","allowInjectHint","allowInjectCard","permStr","childrenText","resolvedType","label","accessibilityLabel","placeholder","testID","nativeID","parentContext","index","aiPriority","zoneId","fiberNode","stateAttrs","attrStr","textContent","elementOutput","priorityTag","context","alt","src","source","uri","attrs","paused","shouldPlay","poster","posterSource","overlayText","overlay","info","replace","SCROLLABLE_TYPES","PAGER_TYPES","findScreenFiberNode","lowerScreen","toLowerCase","search","lowerName","findScrollableContainers","screenFiber","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,13 +1,70 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
|
-
* Type Tool —
|
|
4
|
+
* Type Tool — Reliable multi-strategy text input.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
6
|
+
* Strategy chain (tried in order, first success wins):
|
|
7
|
+
*
|
|
8
|
+
* 1. onChangeText — developer's controlled component wired React state.
|
|
9
|
+
* → calls element.props.onChangeText(text) directly.
|
|
10
|
+
*
|
|
11
|
+
* 2. Fiber subtree walk — for uncontrolled TextInputs (defaultValue only).
|
|
12
|
+
* React Native's TextInput.js always creates an internal `_onChange` handler
|
|
13
|
+
* and passes it as `onChange` to the native host view (RCTTextInputView /
|
|
14
|
+
* AndroidTextInput). That `_onChange` internally calls `props.onChangeText`
|
|
15
|
+
* and updates native text state.
|
|
16
|
+
*
|
|
17
|
+
* We walk the fiber subtree (behavior-based, no tag numbers) to find any
|
|
18
|
+
* descendant node whose memoizedProps.onChange is a function. Then we call
|
|
19
|
+
* it with a synthetic TextInputChangeEvent. This triggers RN's internal
|
|
20
|
+
* `_onChange` which calls `setLastNativeText` and updates the native view.
|
|
21
|
+
*
|
|
22
|
+
* Why this is robust:
|
|
23
|
+
* - No hardcoded fiber tag numbers (host component tags can change across versions)
|
|
24
|
+
* - No dependency on setNativeProps (deprecated in New Architecture / Fabric)
|
|
25
|
+
* - Uses the same code path as a real user typing — RN's own _onChange handler
|
|
8
26
|
*/
|
|
9
27
|
|
|
10
28
|
import { walkFiberTree } from "../core/FiberTreeWalker.js";
|
|
29
|
+
/**
|
|
30
|
+
* Walk a fiber subtree to find the first descendant whose memoizedProps
|
|
31
|
+
* has an `onChange` function. This is behavior-based — we don't check
|
|
32
|
+
* fiber tags, component names, or any React internal that could change.
|
|
33
|
+
* We just look for the prop that RN's TextInput always wires.
|
|
34
|
+
*/
|
|
35
|
+
function findNativeOnChange(fiber, maxDepth = 8) {
|
|
36
|
+
if (!fiber) return null;
|
|
37
|
+
let current = fiber.child;
|
|
38
|
+
|
|
39
|
+
// BFS-style walk through the fiber children
|
|
40
|
+
const queue = [];
|
|
41
|
+
if (current) queue.push({
|
|
42
|
+
node: current,
|
|
43
|
+
depth: 0
|
|
44
|
+
});
|
|
45
|
+
while (queue.length > 0) {
|
|
46
|
+
const {
|
|
47
|
+
node,
|
|
48
|
+
depth: d
|
|
49
|
+
} = queue.shift();
|
|
50
|
+
if (d > maxDepth) continue;
|
|
51
|
+
const props = node.memoizedProps;
|
|
52
|
+
if (props && typeof props.onChange === 'function') {
|
|
53
|
+
return props.onChange;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Add child and sibling
|
|
57
|
+
if (node.child) queue.push({
|
|
58
|
+
node: node.child,
|
|
59
|
+
depth: d + 1
|
|
60
|
+
});
|
|
61
|
+
if (node.sibling) queue.push({
|
|
62
|
+
node: node.sibling,
|
|
63
|
+
depth: d + 1
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
11
68
|
export function createTypeTool(context) {
|
|
12
69
|
return {
|
|
13
70
|
name: 'type',
|
|
@@ -32,16 +89,48 @@ export function createTypeTool(context) {
|
|
|
32
89
|
if (!element) {
|
|
33
90
|
return `❌ Element with index ${args.index} not found.`;
|
|
34
91
|
}
|
|
35
|
-
|
|
36
|
-
|
|
92
|
+
const props = element.props;
|
|
93
|
+
const label = element.label || `[${element.type}]`;
|
|
94
|
+
|
|
95
|
+
// ── Strategy 1: controlled via onChangeText ───────────────────────────
|
|
96
|
+
// App developer wired onChangeText={setText} — most reliable.
|
|
97
|
+
if (typeof props.onChangeText === 'function') {
|
|
98
|
+
try {
|
|
99
|
+
props.onChangeText(args.text);
|
|
100
|
+
await new Promise(resolve => setTimeout(resolve, 300));
|
|
101
|
+
return `✅ Typed "${args.text}" into [${args.index}] "${label}"`;
|
|
102
|
+
} catch (err) {
|
|
103
|
+
return `❌ onChangeText failed: ${err.message}`;
|
|
104
|
+
}
|
|
37
105
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
106
|
+
|
|
107
|
+
// ── Strategy 2: fiber subtree walk for native onChange ─────────────────
|
|
108
|
+
// For uncontrolled TextInputs (defaultValue only, no onChangeText).
|
|
109
|
+
// RN's TextInput.js creates _onChange internally and passes it as
|
|
110
|
+
// onChange to the native host view. We find that handler and call it
|
|
111
|
+
// with a synthetic TextInputChangeEvent.
|
|
112
|
+
const fiberNode = element.fiberNode;
|
|
113
|
+
if (fiberNode) {
|
|
114
|
+
// First check the matched fiber itself
|
|
115
|
+
const directOnChange = fiberNode.memoizedProps?.onChange;
|
|
116
|
+
const onChange = typeof directOnChange === 'function' ? directOnChange : findNativeOnChange(fiberNode);
|
|
117
|
+
if (onChange) {
|
|
118
|
+
try {
|
|
119
|
+
onChange({
|
|
120
|
+
nativeEvent: {
|
|
121
|
+
text: args.text,
|
|
122
|
+
eventCount: 0,
|
|
123
|
+
target: 0
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
await new Promise(resolve => setTimeout(resolve, 300));
|
|
127
|
+
return `✅ Typed "${args.text}" into [${args.index}] "${label}"`;
|
|
128
|
+
} catch (err) {
|
|
129
|
+
return `❌ onChange failed: ${err.message}`;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
44
132
|
}
|
|
133
|
+
return `❌ Element [${args.index}] "${label}" is not a typeable text input. No onChangeText or onChange handler found in fiber tree.`;
|
|
45
134
|
}
|
|
46
135
|
};
|
|
47
136
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["walkFiberTree","createTypeTool","context","name","description","parameters","index","type","required","text","execute","args","interactives","elements","getRootRef","getWalkConfig","element","find","el","
|
|
1
|
+
{"version":3,"names":["walkFiberTree","findNativeOnChange","fiber","maxDepth","current","child","queue","push","node","depth","length","d","shift","props","memoizedProps","onChange","sibling","createTypeTool","context","name","description","parameters","index","type","required","text","execute","args","interactives","elements","getRootRef","getWalkConfig","element","find","el","label","onChangeText","Promise","resolve","setTimeout","err","message","fiberNode","directOnChange","nativeEvent","eventCount","target"],"sourceRoot":"../../../src","sources":["tools/typeTool.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;AA2ED;;;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;AASD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,UAAU,
|
|
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;AA2ED;;;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;AASD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,UAAU,CAsQ3E;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,8 +1,26 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Type Tool —
|
|
2
|
+
* Type Tool — Reliable multi-strategy text input.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Strategy chain (tried in order, first success wins):
|
|
5
|
+
*
|
|
6
|
+
* 1. onChangeText — developer's controlled component wired React state.
|
|
7
|
+
* → calls element.props.onChangeText(text) directly.
|
|
8
|
+
*
|
|
9
|
+
* 2. Fiber subtree walk — for uncontrolled TextInputs (defaultValue only).
|
|
10
|
+
* React Native's TextInput.js always creates an internal `_onChange` handler
|
|
11
|
+
* and passes it as `onChange` to the native host view (RCTTextInputView /
|
|
12
|
+
* AndroidTextInput). That `_onChange` internally calls `props.onChangeText`
|
|
13
|
+
* and updates native text state.
|
|
14
|
+
*
|
|
15
|
+
* We walk the fiber subtree (behavior-based, no tag numbers) to find any
|
|
16
|
+
* descendant node whose memoizedProps.onChange is a function. Then we call
|
|
17
|
+
* it with a synthetic TextInputChangeEvent. This triggers RN's internal
|
|
18
|
+
* `_onChange` which calls `setLastNativeText` and updates the native view.
|
|
19
|
+
*
|
|
20
|
+
* Why this is robust:
|
|
21
|
+
* - No hardcoded fiber tag numbers (host component tags can change across versions)
|
|
22
|
+
* - No dependency on setNativeProps (deprecated in New Architecture / Fabric)
|
|
23
|
+
* - Uses the same code path as a real user typing — RN's own _onChange handler
|
|
6
24
|
*/
|
|
7
25
|
import type { AgentTool, ToolContext } from './types';
|
|
8
26
|
export declare function createTypeTool(context: ToolContext): AgentTool;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/typeTool.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"typeTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/typeTool.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAkCtD,wBAAgB,cAAc,CAAC,OAAO,EAAE,WAAW,GAAG,SAAS,CAgE9D"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mobileai/react-native",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.4",
|
|
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",
|
|
@@ -593,10 +593,20 @@ export function walkFiberTree(rootRef: any, config?: WalkConfig): WalkResult {
|
|
|
593
593
|
if (!label && (props.testID || props.nativeID)) {
|
|
594
594
|
label = props.testID || props.nativeID;
|
|
595
595
|
}
|
|
596
|
-
// Fallback: Parent component context
|
|
596
|
+
// Fallback: Parent component context (skip internal RN context names)
|
|
597
597
|
if (!label) {
|
|
598
598
|
const parentContext = getNearestCustomComponentName(node);
|
|
599
|
-
if (parentContext)
|
|
599
|
+
if (parentContext) {
|
|
600
|
+
// Skip React Native internal implementation names that leak as labels.
|
|
601
|
+
// These are never meaningful to the AI or developer.
|
|
602
|
+
const RN_INTERNAL_NAMES = new Set([
|
|
603
|
+
'ScrollViewContext', 'VirtualizedListContext', 'ViewabilityHelper',
|
|
604
|
+
'ScrollResponder', 'AnimatedComponent', 'TouchableOpacity',
|
|
605
|
+
]);
|
|
606
|
+
if (!RN_INTERNAL_NAMES.has(parentContext)) {
|
|
607
|
+
label = parentContext;
|
|
608
|
+
}
|
|
609
|
+
}
|
|
600
610
|
}
|
|
601
611
|
|
|
602
612
|
interactives.push({
|
package/src/tools/typeTool.ts
CHANGED
|
@@ -1,13 +1,63 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Type Tool —
|
|
2
|
+
* Type Tool — Reliable multi-strategy text input.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Strategy chain (tried in order, first success wins):
|
|
5
|
+
*
|
|
6
|
+
* 1. onChangeText — developer's controlled component wired React state.
|
|
7
|
+
* → calls element.props.onChangeText(text) directly.
|
|
8
|
+
*
|
|
9
|
+
* 2. Fiber subtree walk — for uncontrolled TextInputs (defaultValue only).
|
|
10
|
+
* React Native's TextInput.js always creates an internal `_onChange` handler
|
|
11
|
+
* and passes it as `onChange` to the native host view (RCTTextInputView /
|
|
12
|
+
* AndroidTextInput). That `_onChange` internally calls `props.onChangeText`
|
|
13
|
+
* and updates native text state.
|
|
14
|
+
*
|
|
15
|
+
* We walk the fiber subtree (behavior-based, no tag numbers) to find any
|
|
16
|
+
* descendant node whose memoizedProps.onChange is a function. Then we call
|
|
17
|
+
* it with a synthetic TextInputChangeEvent. This triggers RN's internal
|
|
18
|
+
* `_onChange` which calls `setLastNativeText` and updates the native view.
|
|
19
|
+
*
|
|
20
|
+
* Why this is robust:
|
|
21
|
+
* - No hardcoded fiber tag numbers (host component tags can change across versions)
|
|
22
|
+
* - No dependency on setNativeProps (deprecated in New Architecture / Fabric)
|
|
23
|
+
* - Uses the same code path as a real user typing — RN's own _onChange handler
|
|
6
24
|
*/
|
|
7
25
|
|
|
8
26
|
import { walkFiberTree } from '../core/FiberTreeWalker';
|
|
9
27
|
import type { AgentTool, ToolContext } from './types';
|
|
10
28
|
|
|
29
|
+
/**
|
|
30
|
+
* Walk a fiber subtree to find the first descendant whose memoizedProps
|
|
31
|
+
* has an `onChange` function. This is behavior-based — we don't check
|
|
32
|
+
* fiber tags, component names, or any React internal that could change.
|
|
33
|
+
* We just look for the prop that RN's TextInput always wires.
|
|
34
|
+
*/
|
|
35
|
+
function findNativeOnChange(fiber: any, maxDepth = 8): ((event: any) => void) | null {
|
|
36
|
+
if (!fiber) return null;
|
|
37
|
+
|
|
38
|
+
let current: any = fiber.child;
|
|
39
|
+
|
|
40
|
+
// BFS-style walk through the fiber children
|
|
41
|
+
const queue: { node: any; depth: number }[] = [];
|
|
42
|
+
if (current) queue.push({ node: current, depth: 0 });
|
|
43
|
+
|
|
44
|
+
while (queue.length > 0) {
|
|
45
|
+
const { node, depth: d } = queue.shift()!;
|
|
46
|
+
if (d > maxDepth) continue;
|
|
47
|
+
|
|
48
|
+
const props = node.memoizedProps;
|
|
49
|
+
if (props && typeof props.onChange === 'function') {
|
|
50
|
+
return props.onChange;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
// Add child and sibling
|
|
54
|
+
if (node.child) queue.push({ node: node.child, depth: d + 1 });
|
|
55
|
+
if (node.sibling) queue.push({ node: node.sibling, depth: d + 1 });
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
return null;
|
|
59
|
+
}
|
|
60
|
+
|
|
11
61
|
export function createTypeTool(context: ToolContext): AgentTool {
|
|
12
62
|
return {
|
|
13
63
|
name: 'type',
|
|
@@ -19,19 +69,57 @@ export function createTypeTool(context: ToolContext): AgentTool {
|
|
|
19
69
|
execute: async (args) => {
|
|
20
70
|
const { interactives: elements } = walkFiberTree(context.getRootRef(), context.getWalkConfig());
|
|
21
71
|
const element = elements.find(el => el.index === args.index);
|
|
72
|
+
|
|
22
73
|
if (!element) {
|
|
23
74
|
return `❌ Element with index ${args.index} not found.`;
|
|
24
75
|
}
|
|
25
|
-
|
|
26
|
-
|
|
76
|
+
|
|
77
|
+
const props = element.props;
|
|
78
|
+
const label = element.label || `[${element.type}]`;
|
|
79
|
+
|
|
80
|
+
// ── Strategy 1: controlled via onChangeText ───────────────────────────
|
|
81
|
+
// App developer wired onChangeText={setText} — most reliable.
|
|
82
|
+
if (typeof props.onChangeText === 'function') {
|
|
83
|
+
try {
|
|
84
|
+
props.onChangeText(args.text);
|
|
85
|
+
await new Promise(resolve => setTimeout(resolve, 300));
|
|
86
|
+
return `✅ Typed "${args.text}" into [${args.index}] "${label}"`;
|
|
87
|
+
} catch (err: any) {
|
|
88
|
+
return `❌ onChangeText failed: ${err.message}`;
|
|
89
|
+
}
|
|
27
90
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
91
|
+
|
|
92
|
+
// ── Strategy 2: fiber subtree walk for native onChange ─────────────────
|
|
93
|
+
// For uncontrolled TextInputs (defaultValue only, no onChangeText).
|
|
94
|
+
// RN's TextInput.js creates _onChange internally and passes it as
|
|
95
|
+
// onChange to the native host view. We find that handler and call it
|
|
96
|
+
// with a synthetic TextInputChangeEvent.
|
|
97
|
+
const fiberNode = element.fiberNode;
|
|
98
|
+
if (fiberNode) {
|
|
99
|
+
// First check the matched fiber itself
|
|
100
|
+
const directOnChange = fiberNode.memoizedProps?.onChange;
|
|
101
|
+
const onChange = typeof directOnChange === 'function'
|
|
102
|
+
? directOnChange
|
|
103
|
+
: findNativeOnChange(fiberNode);
|
|
104
|
+
|
|
105
|
+
if (onChange) {
|
|
106
|
+
try {
|
|
107
|
+
onChange({
|
|
108
|
+
nativeEvent: {
|
|
109
|
+
text: args.text,
|
|
110
|
+
eventCount: 0,
|
|
111
|
+
target: 0,
|
|
112
|
+
},
|
|
113
|
+
});
|
|
114
|
+
await new Promise(resolve => setTimeout(resolve, 300));
|
|
115
|
+
return `✅ Typed "${args.text}" into [${args.index}] "${label}"`;
|
|
116
|
+
} catch (err: any) {
|
|
117
|
+
return `❌ onChange failed: ${err.message}`;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
34
120
|
}
|
|
121
|
+
|
|
122
|
+
return `❌ Element [${args.index}] "${label}" is not a typeable text input. No onChangeText or onChange handler found in fiber tree.`;
|
|
35
123
|
},
|
|
36
124
|
};
|
|
37
125
|
}
|