@mobileai/react-native 0.7.20 → 0.7.23
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/AgentRuntime.js +68 -192
- package/lib/module/core/AgentRuntime.js.map +1 -1
- package/lib/module/core/FiberTreeWalker.js +31 -6
- package/lib/module/core/FiberTreeWalker.js.map +1 -1
- package/lib/module/tools/datePickerTool.js +68 -0
- package/lib/module/tools/datePickerTool.js.map +1 -0
- package/lib/module/tools/index.js +18 -0
- package/lib/module/tools/index.js.map +1 -0
- package/lib/module/tools/keyboardTool.js +31 -0
- package/lib/module/tools/keyboardTool.js.map +1 -0
- package/lib/module/tools/longPressTool.js +67 -0
- package/lib/module/tools/longPressTool.js.map +1 -0
- package/lib/module/tools/pickerTool.js +131 -0
- package/lib/module/tools/pickerTool.js.map +1 -0
- package/lib/module/tools/scrollTool.js +147 -0
- package/lib/module/tools/scrollTool.js.map +1 -0
- package/lib/module/tools/sliderTool.js +74 -0
- package/lib/module/tools/sliderTool.js.map +1 -0
- package/lib/module/tools/tapTool.js +94 -0
- package/lib/module/tools/tapTool.js.map +1 -0
- package/lib/module/tools/typeTool.js +48 -0
- package/lib/module/tools/typeTool.js.map +1 -0
- package/lib/module/tools/types.js +4 -0
- package/lib/module/tools/types.js.map +1 -0
- package/lib/typescript/src/core/AgentRuntime.d.ts +7 -0
- package/lib/typescript/src/core/AgentRuntime.d.ts.map +1 -1
- package/lib/typescript/src/core/FiberTreeWalker.d.ts +6 -0
- package/lib/typescript/src/core/FiberTreeWalker.d.ts.map +1 -1
- package/lib/typescript/src/core/types.d.ts +11 -13
- package/lib/typescript/src/core/types.d.ts.map +1 -1
- package/lib/typescript/src/tools/datePickerTool.d.ts +11 -0
- package/lib/typescript/src/tools/datePickerTool.d.ts.map +1 -0
- package/lib/typescript/src/tools/index.d.ts +16 -0
- package/lib/typescript/src/tools/index.d.ts.map +1 -0
- package/lib/typescript/src/tools/keyboardTool.d.ts +13 -0
- package/lib/typescript/src/tools/keyboardTool.d.ts.map +1 -0
- package/lib/typescript/src/tools/longPressTool.d.ts +13 -0
- package/lib/typescript/src/tools/longPressTool.d.ts.map +1 -0
- package/lib/typescript/src/tools/pickerTool.d.ts +11 -0
- package/lib/typescript/src/tools/pickerTool.d.ts.map +1 -0
- package/lib/typescript/src/tools/scrollTool.d.ts +13 -0
- package/lib/typescript/src/tools/scrollTool.d.ts.map +1 -0
- package/lib/typescript/src/tools/sliderTool.d.ts +13 -0
- package/lib/typescript/src/tools/sliderTool.d.ts.map +1 -0
- package/lib/typescript/src/tools/tapTool.d.ts +15 -0
- package/lib/typescript/src/tools/tapTool.d.ts.map +1 -0
- package/lib/typescript/src/tools/typeTool.d.ts +9 -0
- package/lib/typescript/src/tools/typeTool.d.ts.map +1 -0
- package/lib/typescript/src/tools/types.d.ts +47 -0
- package/lib/typescript/src/tools/types.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/core/AgentRuntime.ts +90 -168
- package/src/core/FiberTreeWalker.ts +42 -5
- package/src/core/types.ts +12 -13
- package/src/tools/datePickerTool.ts +60 -0
- package/src/tools/index.ts +17 -0
- package/src/tools/keyboardTool.ts +30 -0
- package/src/tools/longPressTool.ts +61 -0
- package/src/tools/pickerTool.ts +115 -0
- package/src/tools/scrollTool.ts +156 -0
- package/src/tools/sliderTool.ts +65 -0
- package/src/tools/tapTool.ts +91 -0
- package/src/tools/typeTool.ts +37 -0
- package/src/tools/types.ts +56 -0
|
@@ -12,10 +12,11 @@
|
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
14
|
import { logger } from "../utils/logger.js";
|
|
15
|
-
import { walkFiberTree
|
|
15
|
+
import { walkFiberTree } from "./FiberTreeWalker.js";
|
|
16
16
|
import { dehydrateScreen } from "./ScreenDehydrator.js";
|
|
17
17
|
import { buildSystemPrompt, buildKnowledgeOnlyPrompt } from "./systemPrompt.js";
|
|
18
18
|
import { KnowledgeBaseService } from "../services/KnowledgeBaseService.js";
|
|
19
|
+
import { createTapTool, createLongPressTool, createTypeTool, createScrollTool, createSliderTool, createPickerTool, createDatePickerTool, createKeyboardTool } from "../tools/index.js";
|
|
19
20
|
const DEFAULT_MAX_STEPS = 25;
|
|
20
21
|
|
|
21
22
|
// ─── Agent Runtime ─────────────────────────────────────────────
|
|
@@ -63,107 +64,24 @@ export class AgentRuntime {
|
|
|
63
64
|
// ─── Tool Registration ─────────────────────────────────────
|
|
64
65
|
|
|
65
66
|
registerBuiltInTools() {
|
|
66
|
-
//
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
const {
|
|
79
|
-
interactives: elements
|
|
80
|
-
} = walkFiberTree(this.rootRef, this.getWalkConfig());
|
|
81
|
-
const element = elements.find(el => el.index === args.index);
|
|
82
|
-
if (!element) {
|
|
83
|
-
return `❌ Element with index ${args.index} not found. Available indexes: ${elements.map(e => e.index).join(', ')}`;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
// Strategy 1: Switch — call onValueChange (like RNTL's fireEvent('valueChange'))
|
|
87
|
-
if (element.type === 'switch' && element.props.onValueChange) {
|
|
88
|
-
try {
|
|
89
|
-
element.props.onValueChange(!element.props.value);
|
|
90
|
-
await new Promise(resolve => setTimeout(resolve, 500));
|
|
91
|
-
return `✅ Toggled [${args.index}] "${element.label}" to ${!element.props.value}`;
|
|
92
|
-
} catch (error) {
|
|
93
|
-
return `❌ Error toggling [${args.index}]: ${error.message}`;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
// Strategy 2: Direct onPress (covers Pressable, Button, custom components)
|
|
98
|
-
if (element.props.onPress) {
|
|
99
|
-
try {
|
|
100
|
-
element.props.onPress();
|
|
101
|
-
await new Promise(resolve => setTimeout(resolve, 500));
|
|
102
|
-
return `✅ Tapped [${args.index}] "${element.label}"`;
|
|
103
|
-
} catch (error) {
|
|
104
|
-
return `❌ Error tapping [${args.index}]: ${error.message}`;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
// Strategy 3: Bubble up Fiber tree (like RNTL's findEventHandler → element.parent)
|
|
109
|
-
let fiber = element.fiberNode?.return;
|
|
110
|
-
let bubbleDepth = 0;
|
|
111
|
-
while (fiber && bubbleDepth < 5) {
|
|
112
|
-
const parentProps = fiber.memoizedProps || {};
|
|
113
|
-
if (parentProps.onPress && typeof parentProps.onPress === 'function') {
|
|
114
|
-
try {
|
|
115
|
-
parentProps.onPress();
|
|
116
|
-
await new Promise(resolve => setTimeout(resolve, 500));
|
|
117
|
-
return `✅ Tapped parent of [${args.index}] "${element.label}"`;
|
|
118
|
-
} catch (error) {
|
|
119
|
-
return `❌ Error tapping parent of [${args.index}]: ${error.message}`;
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
fiber = fiber.return;
|
|
123
|
-
bubbleDepth++;
|
|
124
|
-
}
|
|
125
|
-
return `❌ Element [${args.index}] "${element.label}" has no tap handler (no onPress or onValueChange found).`;
|
|
126
|
-
}
|
|
127
|
-
});
|
|
67
|
+
// ── Tool Context — shared dependencies for modular tools ──
|
|
68
|
+
const toolContext = {
|
|
69
|
+
rootRef: this.rootRef,
|
|
70
|
+
getWalkConfig: () => this.getWalkConfig(),
|
|
71
|
+
getCurrentScreenName: () => this.getCurrentScreenName(),
|
|
72
|
+
navRef: this.navRef,
|
|
73
|
+
routerRef: this.config.router,
|
|
74
|
+
getRouteNames: () => this.getRouteNames(),
|
|
75
|
+
findScreenPath: name => this.findScreenPath(name),
|
|
76
|
+
buildNestedParams: (path, params) => this.buildNestedParams(path, params),
|
|
77
|
+
captureScreenshot: async () => (await this.captureScreenshot()) ?? null
|
|
78
|
+
};
|
|
128
79
|
|
|
129
|
-
//
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
index: {
|
|
135
|
-
type: 'number',
|
|
136
|
-
description: 'The index of the text-input element',
|
|
137
|
-
required: true
|
|
138
|
-
},
|
|
139
|
-
text: {
|
|
140
|
-
type: 'string',
|
|
141
|
-
description: 'The text to type',
|
|
142
|
-
required: true
|
|
143
|
-
}
|
|
144
|
-
},
|
|
145
|
-
execute: async args => {
|
|
146
|
-
const {
|
|
147
|
-
interactives: elements
|
|
148
|
-
} = walkFiberTree(this.rootRef, this.getWalkConfig());
|
|
149
|
-
const element = elements.find(el => el.index === args.index);
|
|
150
|
-
if (!element) {
|
|
151
|
-
return `❌ Element with index ${args.index} not found.`;
|
|
152
|
-
}
|
|
153
|
-
if (!element.props.onChangeText) {
|
|
154
|
-
return `❌ Element [${args.index}] "${element.label}" is not a text input.`;
|
|
155
|
-
}
|
|
156
|
-
try {
|
|
157
|
-
element.props.onChangeText(args.text);
|
|
158
|
-
// Wait for React to process the state update and re-render
|
|
159
|
-
// (same pattern as navigate tool's 500ms post-action delay)
|
|
160
|
-
await new Promise(resolve => setTimeout(resolve, 500));
|
|
161
|
-
return `✅ Typed "${args.text}" into [${args.index}] "${element.label}"`;
|
|
162
|
-
} catch (error) {
|
|
163
|
-
return `❌ Error typing: ${error.message}`;
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
});
|
|
80
|
+
// ── Register modular tools (extracted to src/tools/) ──
|
|
81
|
+
const modularTools = [createTapTool(toolContext), createLongPressTool(toolContext), createTypeTool(toolContext), createScrollTool(toolContext), createSliderTool(toolContext), createPickerTool(toolContext), createDatePickerTool(toolContext), createKeyboardTool()];
|
|
82
|
+
for (const tool of modularTools) {
|
|
83
|
+
this.tools.set(tool.name, tool);
|
|
84
|
+
}
|
|
167
85
|
|
|
168
86
|
// navigate — navigate to a screen (supports React Navigation + Expo Router)
|
|
169
87
|
this.tools.set('navigate', {
|
|
@@ -315,95 +233,6 @@ export class AgentRuntime {
|
|
|
315
233
|
}
|
|
316
234
|
});
|
|
317
235
|
|
|
318
|
-
// scroll — programmatic scroll for lazy-loaded lists and long screens
|
|
319
|
-
this.tools.set('scroll', {
|
|
320
|
-
name: 'scroll',
|
|
321
|
-
description: 'Scroll the current screen to reveal more content. Use when you need to see items that are not yet visible, e.g. in lazy-loaded lists, long forms, or paginated content. If the screen has multiple scrollable areas, specify containerIndex to target a specific one.',
|
|
322
|
-
parameters: {
|
|
323
|
-
direction: {
|
|
324
|
-
type: 'string',
|
|
325
|
-
description: "Scroll direction: 'down' or 'up'",
|
|
326
|
-
required: true,
|
|
327
|
-
enum: ['down', 'up']
|
|
328
|
-
},
|
|
329
|
-
amount: {
|
|
330
|
-
type: 'string',
|
|
331
|
-
description: "How far to scroll: 'page' (default, ~one screenful), 'toEnd' (jump to bottom), or 'toStart' (jump to top)",
|
|
332
|
-
required: false,
|
|
333
|
-
enum: ['page', 'toEnd', 'toStart']
|
|
334
|
-
},
|
|
335
|
-
containerIndex: {
|
|
336
|
-
type: 'number',
|
|
337
|
-
description: 'Index of the scrollable container to scroll (0-based). Use when the screen has multiple scrollable areas. Default: 0 (the main/first scrollable area).',
|
|
338
|
-
required: false
|
|
339
|
-
}
|
|
340
|
-
},
|
|
341
|
-
execute: async args => {
|
|
342
|
-
const screenName = this.getCurrentScreenName();
|
|
343
|
-
const containers = findScrollableContainers(this.rootRef, screenName);
|
|
344
|
-
if (containers.length === 0) {
|
|
345
|
-
return `❌ No scrollable container found on screen "${screenName}". Content may still be loading — wait and try again.`;
|
|
346
|
-
}
|
|
347
|
-
const targetIndex = args.containerIndex ?? 0;
|
|
348
|
-
const container = containers[targetIndex];
|
|
349
|
-
if (!container) {
|
|
350
|
-
const available = containers.map(c => `[${c.index}] ${c.label} (${c.componentName})`).join(', ');
|
|
351
|
-
return `❌ Container index ${targetIndex} not found. Available on "${screenName}": ${available}`;
|
|
352
|
-
}
|
|
353
|
-
const direction = args.direction || 'down';
|
|
354
|
-
const amount = args.amount || 'page';
|
|
355
|
-
const scrollRef = container.stateNode;
|
|
356
|
-
try {
|
|
357
|
-
if (amount === 'toEnd') {
|
|
358
|
-
if (typeof scrollRef.scrollToEnd === 'function') {
|
|
359
|
-
scrollRef.scrollToEnd({
|
|
360
|
-
animated: true
|
|
361
|
-
});
|
|
362
|
-
} else if (typeof scrollRef.scrollTo === 'function') {
|
|
363
|
-
scrollRef.scrollTo({
|
|
364
|
-
y: 999999,
|
|
365
|
-
animated: true
|
|
366
|
-
});
|
|
367
|
-
}
|
|
368
|
-
} else if (amount === 'toStart') {
|
|
369
|
-
if (typeof scrollRef.scrollTo === 'function') {
|
|
370
|
-
scrollRef.scrollTo({
|
|
371
|
-
y: 0,
|
|
372
|
-
animated: true
|
|
373
|
-
});
|
|
374
|
-
} else if (typeof scrollRef.scrollToOffset === 'function') {
|
|
375
|
-
scrollRef.scrollToOffset({
|
|
376
|
-
offset: 0,
|
|
377
|
-
animated: true
|
|
378
|
-
});
|
|
379
|
-
}
|
|
380
|
-
} else {
|
|
381
|
-
// Page scroll — move ~800px (roughly one screen height)
|
|
382
|
-
const PAGE_OFFSET = 800;
|
|
383
|
-
if (typeof scrollRef.scrollToOffset === 'function') {
|
|
384
|
-
// VirtualizedList — scrollToOffset is absolute
|
|
385
|
-
scrollRef.scrollToOffset({
|
|
386
|
-
offset: direction === 'down' ? PAGE_OFFSET : 0,
|
|
387
|
-
animated: true
|
|
388
|
-
});
|
|
389
|
-
} else if (typeof scrollRef.scrollTo === 'function') {
|
|
390
|
-
scrollRef.scrollTo({
|
|
391
|
-
y: direction === 'down' ? PAGE_OFFSET : 0,
|
|
392
|
-
animated: true
|
|
393
|
-
});
|
|
394
|
-
}
|
|
395
|
-
}
|
|
396
|
-
|
|
397
|
-
// Wait for scroll animation + onEndReached + lazy load + re-render
|
|
398
|
-
await new Promise(resolve => setTimeout(resolve, 1500));
|
|
399
|
-
const amountLabel = amount === 'toEnd' ? 'to end' : amount === 'toStart' ? 'to start' : `${direction} one page`;
|
|
400
|
-
return `✅ Scrolled ${amountLabel} in ${container.label} (${container.componentName}). Check the updated screen content for newly loaded items.`;
|
|
401
|
-
} catch (error) {
|
|
402
|
-
return `❌ Scroll failed: ${error.message}`;
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
|
-
});
|
|
406
|
-
|
|
407
236
|
// query_knowledge — retrieve domain-specific knowledge (only if knowledgeBase is configured)
|
|
408
237
|
if (this.knowledgeService) {
|
|
409
238
|
this.tools.set('query_knowledge', {
|
|
@@ -622,6 +451,16 @@ export class AgentRuntime {
|
|
|
622
451
|
return `Scrolling ${args.direction || 'down'}...`;
|
|
623
452
|
case 'wait':
|
|
624
453
|
return `Waiting for ${args.seconds || 2} seconds...`;
|
|
454
|
+
case 'long_press':
|
|
455
|
+
return `Long-pressing element ${args.index ?? ''}...`;
|
|
456
|
+
case 'adjust_slider':
|
|
457
|
+
return `Adjusting slider to ${Math.round((args.value ?? 0) * 100)}%...`;
|
|
458
|
+
case 'select_picker':
|
|
459
|
+
return `Selecting "${args.value || ''}" from picker...`;
|
|
460
|
+
case 'set_date':
|
|
461
|
+
return `Setting date to ${args.date || ''}...`;
|
|
462
|
+
case 'dismiss_keyboard':
|
|
463
|
+
return 'Dismissing keyboard...';
|
|
625
464
|
default:
|
|
626
465
|
return `Running ${toolName}...`;
|
|
627
466
|
}
|
|
@@ -803,9 +642,17 @@ ${screen.elementsText}
|
|
|
803
642
|
});
|
|
804
643
|
}
|
|
805
644
|
try {
|
|
645
|
+
// ── Argument Validation (Pattern from Detox/Appium: typeof checks before native dispatch) ──
|
|
646
|
+
// Prevents null/undefined/wrong-type args from reaching native components
|
|
647
|
+
const validationError = this.validateToolArgs(args, toolName);
|
|
648
|
+
if (validationError) {
|
|
649
|
+
logger.warn('AgentRuntime', `🛡️ Arg validation rejected "${toolName}": ${validationError}`);
|
|
650
|
+
return validationError;
|
|
651
|
+
}
|
|
806
652
|
const result = await tool.execute(args);
|
|
807
|
-
//
|
|
808
|
-
|
|
653
|
+
// Settle window for async side-effects (useEffect, native callbacks, PagerView onPageSelected)
|
|
654
|
+
// 2s covers animation completions and delayed native event callbacks
|
|
655
|
+
await new Promise(resolve => setTimeout(resolve, 2000));
|
|
809
656
|
if (errorRef.error) {
|
|
810
657
|
logger.warn('AgentRuntime', `🛡️ Tool "${toolName}" succeeded but caused a side-effect error: ${errorRef.error.message}`);
|
|
811
658
|
return `${result} (⚠️ a background error was safely caught: ${errorRef.error.message})`;
|
|
@@ -822,6 +669,35 @@ ${screen.elementsText}
|
|
|
822
669
|
}
|
|
823
670
|
}
|
|
824
671
|
|
|
672
|
+
/**
|
|
673
|
+
* Validate tool arguments before execution.
|
|
674
|
+
* Pattern from Detox: `typeof index !== 'number' → throw Error`
|
|
675
|
+
* Pattern from Appium: `_.isFinite(x) && _.isFinite(y)` for coordinates
|
|
676
|
+
* Returns error string if validation fails, null if valid.
|
|
677
|
+
*/
|
|
678
|
+
validateToolArgs(args, toolName) {
|
|
679
|
+
if (!args || typeof args !== 'object') return null;
|
|
680
|
+
|
|
681
|
+
// Reject any null/undefined values that could crash native components
|
|
682
|
+
for (const [key, value] of Object.entries(args)) {
|
|
683
|
+
if (value === undefined) {
|
|
684
|
+
return `❌ Argument "${key}" is undefined for tool "${toolName}". Provide a valid value.`;
|
|
685
|
+
}
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
// Tool-specific number validation (like Detox's typeof checks)
|
|
689
|
+
const numericArgs = ['containerIndex', 'index', 'x', 'y', 'offset'];
|
|
690
|
+
for (const key of numericArgs) {
|
|
691
|
+
if (key in args && args[key] !== null && args[key] !== undefined) {
|
|
692
|
+
const val = args[key];
|
|
693
|
+
if (typeof val !== 'number' || !Number.isFinite(val)) {
|
|
694
|
+
return `❌ Argument "${key}" must be a finite number for tool "${toolName}", got ${typeof val}: ${val}`;
|
|
695
|
+
}
|
|
696
|
+
}
|
|
697
|
+
}
|
|
698
|
+
return null;
|
|
699
|
+
}
|
|
700
|
+
|
|
825
701
|
// ─── Walk Config (passes security settings to FiberTreeWalker) ─
|
|
826
702
|
|
|
827
703
|
getWalkConfig() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["logger","walkFiberTree","findScrollableContainers","dehydrateScreen","buildSystemPrompt","buildKnowledgeOnlyPrompt","KnowledgeBaseService","DEFAULT_MAX_STEPS","AgentRuntime","tools","Map","actions","history","isRunning","lastAskUserQuestion","knowledgeService","constructor","provider","config","rootRef","navRef","debug","screenMap","knowledgeBase","knowledgeMaxTokens","enableUIControl","registerKnowledgeOnlyTools","registerBuiltInTools","customTools","name","tool","Object","entries","delete","info","set","description","parameters","index","type","required","execute","args","interactives","elements","getWalkConfig","element","find","el","map","e","join","props","onValueChange","value","Promise","resolve","setTimeout","label","error","message","onPress","fiber","fiberNode","return","bubbleDepth","parentProps","memoizedProps","text","onChangeText","screen","params","router","path","startsWith","push","isReady","JSON","parse","undefined","availableRoutes","getRouteNames","stringify","matchedScreen","r","toLowerCase","errMsg","warn","screenPath","findScreenPath","length","nestedParams","buildNestedParams","navigate","success","seconds","Math","min","Number","question","onAskUser","onStatusUpdate","answer","screenshot","captureScreenshot","round","direction","enum","amount","containerIndex","screenName","getCurrentScreenName","containers","targetIndex","container","available","c","componentName","scrollRef","stateNode","scrollToEnd","animated","scrollTo","y","scrollToOffset","offset","PAGE_OFFSET","amountLabel","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","setUIControlOverride","enabled","uiControlOverride","isUIEnabled","getToolStatusLabel","toolName","moduleName","viewShot","require","captureRef","default","uri","format","quality","width","code","getScreenContext","keys","screens","chains","walkResult","elementsText","availableScreensText","appMapText","screenLines","entry","title","line","chainLines","chain","detectStaleMap","context","substring","staleMapWarned","mapScreens","missing","has","console","buildToolsForProvider","allTools","values","fromEntries","key","typeStr","handler","getTools","executeTool","get","t","executeToolSafely","ErrorUtils","global","originalHandler","getGlobalHandler","errorRef","setGlobalHandler","isFatal","interactiveBlacklist","interactiveWhitelist","getInstructions","instructions","system","trim","getScreenInstructions","screenInstructions","observations","lastScreenName","handleObservations","step","maxSteps","remaining","assembleUserPrompt","contextualMessage","screenContent","chatHistory","prompt","recentHistory","slice","msg","role","content","stepIndex","event","reflection","previousGoalEval","memory","plan","output","obs","userMessage","steps","stepDelay","sessionUsage","promptTokens","completionTokens","totalTokens","estimatedCostUSD","onBeforeTask","hasKnowledge","systemPrompt","userPrompt","response","generateContent","tokenUsage","onTokenUsage","toolCalls","tc","followUp","followUpResponse","ftc","doneResult","onAfterTask","onBeforeStep","transformScreenContent","contextMessage","reasoning","toolCall","statusLabel","statusDisplay","agentStep","input","onAfterStep","updateRefs","getIsRunning"],"sourceRoot":"../../../src","sources":["core/AgentRuntime.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["logger","walkFiberTree","dehydrateScreen","buildSystemPrompt","buildKnowledgeOnlyPrompt","KnowledgeBaseService","createTapTool","createLongPressTool","createTypeTool","createScrollTool","createSliderTool","createPickerTool","createDatePickerTool","createKeyboardTool","DEFAULT_MAX_STEPS","AgentRuntime","tools","Map","actions","history","isRunning","lastAskUserQuestion","knowledgeService","constructor","provider","config","rootRef","navRef","debug","screenMap","knowledgeBase","knowledgeMaxTokens","enableUIControl","registerKnowledgeOnlyTools","registerBuiltInTools","customTools","name","tool","Object","entries","delete","info","set","toolContext","getWalkConfig","getCurrentScreenName","routerRef","router","getRouteNames","findScreenPath","buildNestedParams","path","params","captureScreenshot","modularTools","description","parameters","screen","type","required","execute","args","startsWith","push","Promise","resolve","setTimeout","error","message","isReady","JSON","parse","undefined","availableRoutes","join","stringify","matchedScreen","find","r","toLowerCase","errMsg","warn","screenPath","length","nestedParams","navigate","text","success","seconds","Math","min","Number","question","onAskUser","onStatusUpdate","answer","screenshot","round","screenName","retrieve","registerAction","action","unregisterAction","state","getRootState","getState","names","collectRouteNames","routeNames","routes","route","Set","targetScreen","some","nestedNames","includes","leafParams","result","i","pathname","segments","split","filter","Boolean","getDeepestScreenName","index","setUIControlOverride","enabled","uiControlOverride","isUIEnabled","getToolStatusLabel","toolName","direction","value","date","moduleName","viewShot","require","captureRef","default","uri","format","quality","width","code","getScreenContext","keys","screens","chains","walkResult","elementsText","interactives","availableScreensText","appMapText","map","screenLines","entry","title","line","chainLines","chain","detectStaleMap","context","substring","staleMapWarned","mapScreens","missing","has","console","buildToolsForProvider","allTools","values","fromEntries","key","typeStr","handler","getTools","executeTool","get","t","executeToolSafely","ErrorUtils","global","originalHandler","getGlobalHandler","errorRef","setGlobalHandler","isFatal","validationError","validateToolArgs","numericArgs","val","isFinite","interactiveBlacklist","interactiveWhitelist","getInstructions","instructions","system","trim","getScreenInstructions","screenInstructions","observations","lastScreenName","handleObservations","step","maxSteps","remaining","assembleUserPrompt","contextualMessage","screenContent","chatHistory","prompt","recentHistory","slice","msg","role","content","stepIndex","event","reflection","previousGoalEval","memory","plan","output","obs","userMessage","steps","stepDelay","sessionUsage","promptTokens","completionTokens","totalTokens","estimatedCostUSD","onBeforeTask","hasKnowledge","systemPrompt","userPrompt","response","generateContent","tokenUsage","onTokenUsage","toolCalls","tc","followUp","followUpResponse","ftc","doneResult","onAfterTask","onBeforeStep","transformScreenContent","contextMessage","reasoning","toolCall","statusLabel","statusDisplay","agentStep","input","onAfterStep","updateRefs","getIsRunning"],"sourceRoot":"../../../src","sources":["core/AgentRuntime.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -19,6 +19,9 @@ import { logger } from "../utils/logger.js";
|
|
|
19
19
|
const PRESSABLE_TYPES = new Set(['Pressable', 'TouchableOpacity', 'TouchableHighlight', 'TouchableWithoutFeedback', 'TouchableNativeFeedback', 'Button']);
|
|
20
20
|
const TEXT_INPUT_TYPES = new Set(['TextInput', 'RCTSinglelineTextInputView', 'RCTMultilineTextInputView']);
|
|
21
21
|
const SWITCH_TYPES = new Set(['Switch', 'RCTSwitch']);
|
|
22
|
+
const SLIDER_TYPES = new Set(['Slider', 'RNCSlider', 'RCTSlider']);
|
|
23
|
+
const PICKER_TYPES = new Set(['Picker', 'RNCPicker', 'RNPickerSelect', 'DropDownPicker', 'SelectDropdown']);
|
|
24
|
+
const DATE_PICKER_TYPES = new Set(['DateTimePicker', 'RNDateTimePicker', 'DatePicker', 'RNDatePicker']);
|
|
22
25
|
const TEXT_TYPES = new Set(['Text', 'RCTText']);
|
|
23
26
|
|
|
24
27
|
// Media component types for Component-Context Media Inference
|
|
@@ -127,10 +130,14 @@ function getElementType(fiber) {
|
|
|
127
130
|
if (name && PRESSABLE_TYPES.has(name)) return 'pressable';
|
|
128
131
|
if (name && TEXT_INPUT_TYPES.has(name)) return 'text-input';
|
|
129
132
|
if (name && SWITCH_TYPES.has(name)) return 'switch';
|
|
133
|
+
if (name && SLIDER_TYPES.has(name)) return 'slider';
|
|
134
|
+
if (name && PICKER_TYPES.has(name)) return 'picker';
|
|
135
|
+
if (name && DATE_PICKER_TYPES.has(name)) return 'date-picker';
|
|
130
136
|
|
|
131
137
|
// Check by accessibilityRole (covers custom components with proper ARIA)
|
|
132
138
|
const role = props.accessibilityRole || props.role;
|
|
133
139
|
if (role === 'switch') return 'switch';
|
|
140
|
+
if (role === 'adjustable') return 'slider';
|
|
134
141
|
if (role === 'button' || role === 'link' || role === 'checkbox' || role === 'radio') {
|
|
135
142
|
return 'pressable';
|
|
136
143
|
}
|
|
@@ -141,7 +148,14 @@ function getElementType(fiber) {
|
|
|
141
148
|
// TextInput detection by props
|
|
142
149
|
if (props.onChangeText && typeof props.onChangeText === 'function') return 'text-input';
|
|
143
150
|
|
|
144
|
-
//
|
|
151
|
+
// Slider detection by props (has both onValueChange AND min/max values)
|
|
152
|
+
if (props.onSlidingComplete && typeof props.onSlidingComplete === 'function') return 'slider';
|
|
153
|
+
if (props.onValueChange && typeof props.onValueChange === 'function' && (props.minimumValue !== undefined || props.maximumValue !== undefined)) return 'slider';
|
|
154
|
+
|
|
155
|
+
// DatePicker detection by props
|
|
156
|
+
if (props.onChange && typeof props.onChange === 'function' && (props.mode === 'date' || props.mode === 'time' || props.mode === 'datetime')) return 'date-picker';
|
|
157
|
+
|
|
158
|
+
// Switch detection by props (custom switches with onValueChange — no min/max)
|
|
145
159
|
if (props.onValueChange && typeof props.onValueChange === 'function') return 'switch';
|
|
146
160
|
return null;
|
|
147
161
|
}
|
|
@@ -499,6 +513,14 @@ export function walkFiberTree(rootRef, config) {
|
|
|
499
513
|
|
|
500
514
|
/** React Native component names that are scrollable containers */
|
|
501
515
|
const SCROLLABLE_TYPES = new Set(['ScrollView', 'RCTScrollView', 'FlatList', 'SectionList', 'VirtualizedList']);
|
|
516
|
+
|
|
517
|
+
/**
|
|
518
|
+
* React Native component names that are pager/tab containers.
|
|
519
|
+
* These look scrollable but use page-based navigation internally.
|
|
520
|
+
* Scrolling them directly causes native assertion crashes (e.g. setPage(NSNull)).
|
|
521
|
+
* Pattern: Detox's ScrollToIndexAction.getConstraints() rejects these entirely.
|
|
522
|
+
*/
|
|
523
|
+
const PAGER_TYPES = new Set(['RNCViewPager', 'PagerView', 'ViewPager', 'RNViewPager', 'TabView', 'MaterialTabView', 'ScrollableTabView', 'RNTabView']);
|
|
502
524
|
/**
|
|
503
525
|
* Find the fiber node whose component name matches the given screen name.
|
|
504
526
|
* Matches by checking if the component name starts with or equals the screen name.
|
|
@@ -569,21 +591,24 @@ export function findScrollableContainers(rootRef, screenName) {
|
|
|
569
591
|
function walk(node) {
|
|
570
592
|
if (!node) return;
|
|
571
593
|
const name = getComponentName(node);
|
|
572
|
-
|
|
594
|
+
const isScrollable = name && SCROLLABLE_TYPES.has(name);
|
|
595
|
+
const isPagerLike = name ? PAGER_TYPES.has(name) : false;
|
|
596
|
+
if (isScrollable || isPagerLike) {
|
|
573
597
|
// Get context: nearest custom parent component name
|
|
574
|
-
const contextLabel = getNearestCustomComponentName(node) || name;
|
|
598
|
+
const contextLabel = getNearestCustomComponentName(node) || name || 'Unknown';
|
|
575
599
|
|
|
576
600
|
// For scrollable containers, we need the native scroll ref.
|
|
577
601
|
// FlatList Fiber stateNode may be the component instance —
|
|
578
602
|
// we need to find the underlying native ScrollView.
|
|
579
|
-
let scrollRef = resolveNativeScrollRef(node);
|
|
603
|
+
let scrollRef = isPagerLike ? node.stateNode : resolveNativeScrollRef(node);
|
|
580
604
|
if (scrollRef) {
|
|
581
605
|
containers.push({
|
|
582
606
|
index: currentIndex++,
|
|
583
|
-
componentName: name,
|
|
607
|
+
componentName: name || 'Unknown',
|
|
584
608
|
label: contextLabel,
|
|
585
609
|
fiberNode: node,
|
|
586
|
-
stateNode: scrollRef
|
|
610
|
+
stateNode: scrollRef,
|
|
611
|
+
isPagerLike
|
|
587
612
|
});
|
|
588
613
|
}
|
|
589
614
|
}
|