react-native-agentic-ai 0.5.8 → 0.5.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +93 -3
- package/lib/module/components/AIAgent.js +9 -3
- package/lib/module/components/AIAgent.js.map +1 -1
- package/lib/module/core/AgentRuntime.js +153 -3
- package/lib/module/core/AgentRuntime.js.map +1 -1
- package/lib/module/core/systemPrompt.js +59 -8
- package/lib/module/core/systemPrompt.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/services/KnowledgeBaseService.js +121 -0
- package/lib/module/services/KnowledgeBaseService.js.map +1 -0
- package/lib/typescript/src/components/AIAgent.d.ts +15 -2
- package/lib/typescript/src/components/AIAgent.d.ts.map +1 -1
- package/lib/typescript/src/core/AgentRuntime.d.ts +6 -0
- package/lib/typescript/src/core/AgentRuntime.d.ts.map +1 -1
- package/lib/typescript/src/core/systemPrompt.d.ts +10 -2
- package/lib/typescript/src/core/systemPrompt.d.ts.map +1 -1
- package/lib/typescript/src/core/types.d.ts +40 -0
- package/lib/typescript/src/core/types.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +2 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/services/KnowledgeBaseService.d.ts +34 -0
- package/lib/typescript/src/services/KnowledgeBaseService.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/components/AIAgent.tsx +22 -2
- package/src/core/AgentRuntime.ts +161 -3
- package/src/core/systemPrompt.ts +67 -7
- package/src/core/types.ts +50 -0
- package/src/index.ts +4 -0
- package/src/services/KnowledgeBaseService.ts +156 -0
package/README.md
CHANGED
|
@@ -20,6 +20,8 @@
|
|
|
20
20
|
|
|
21
21
|
> Wrap your navigation with `<AIAgent>`. The AI reads your app's **rendered UI structure** automatically — every button, every input, every label — and acts on it. **Structure-first, not screenshot-first** — fast, accurate, and lightweight. Screenshots are used optionally to understand visual content like images and colors.
|
|
22
22
|
|
|
23
|
+
> **Use it as an AI Agent** (automates your UI), **an AI Assistant** (answers questions from a knowledge base), or both at once — one SDK, one prop.
|
|
24
|
+
|
|
23
25
|
## ✨ Features
|
|
24
26
|
|
|
25
27
|
### Text Mode
|
|
@@ -151,14 +153,27 @@ In your root layout (`app/_layout.tsx`):
|
|
|
151
153
|
```tsx
|
|
152
154
|
import { AIAgent } from '@mobileai/react-native';
|
|
153
155
|
import { Slot, useNavigationContainerRef } from 'expo-router';
|
|
156
|
+
import type { KnowledgeEntry } from '@mobileai/react-native';
|
|
157
|
+
|
|
158
|
+
const KNOWLEDGE: KnowledgeEntry[] = [
|
|
159
|
+
{
|
|
160
|
+
id: 'returns',
|
|
161
|
+
title: 'Return Policy',
|
|
162
|
+
content: '30-day returns on all items. Electronics must be returned within 15 days.',
|
|
163
|
+
tags: ['return', 'refund'],
|
|
164
|
+
},
|
|
165
|
+
// ... more entries
|
|
166
|
+
];
|
|
154
167
|
|
|
155
168
|
export default function RootLayout() {
|
|
156
|
-
// expo-router re-exports useNavigationContainerRef from React Navigation
|
|
157
|
-
// so useNavigationContainerRef works — just don't wrap with <NavigationContainer>
|
|
158
169
|
const navRef = useNavigationContainerRef();
|
|
159
170
|
|
|
160
171
|
return (
|
|
161
|
-
<AIAgent
|
|
172
|
+
<AIAgent
|
|
173
|
+
apiKey={process.env.EXPO_PUBLIC_GEMINI_API_KEY!}
|
|
174
|
+
navRef={navRef}
|
|
175
|
+
knowledgeBase={KNOWLEDGE}
|
|
176
|
+
>
|
|
162
177
|
<Slot />
|
|
163
178
|
</AIAgent>
|
|
164
179
|
);
|
|
@@ -167,6 +182,77 @@ export default function RootLayout() {
|
|
|
167
182
|
|
|
168
183
|
A floating chat bar appears automatically. Ask the AI to navigate, tap buttons, fill forms — it reads your live UI and acts.
|
|
169
184
|
|
|
185
|
+
## 🧠 Knowledge Base
|
|
186
|
+
|
|
187
|
+
Give the AI domain-specific knowledge it can query on demand — policies, FAQs, product details, etc. The AI uses a `query_knowledge` tool to fetch relevant entries only when needed (no token waste).
|
|
188
|
+
|
|
189
|
+
### Static Array (Simple)
|
|
190
|
+
|
|
191
|
+
Pass an array of entries — the SDK handles keyword-based retrieval internally:
|
|
192
|
+
|
|
193
|
+
```tsx
|
|
194
|
+
import type { KnowledgeEntry } from '@mobileai/react-native';
|
|
195
|
+
|
|
196
|
+
const KNOWLEDGE: KnowledgeEntry[] = [
|
|
197
|
+
{
|
|
198
|
+
id: 'shipping',
|
|
199
|
+
title: 'Shipping Policy',
|
|
200
|
+
content: 'Free shipping on orders over $75. Standard: 5-7 days ($4.99). Express: 2-3 days ($12.99).',
|
|
201
|
+
tags: ['shipping', 'delivery', 'free shipping'],
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
id: 'returns',
|
|
205
|
+
title: 'Return Policy',
|
|
206
|
+
content: '30-day returns on all items. Refunds processed in 5-7 business days.',
|
|
207
|
+
tags: ['return', 'refund', 'exchange'],
|
|
208
|
+
screens: ['product/[id]', 'order-history'], // optional: only surface on these screens
|
|
209
|
+
},
|
|
210
|
+
];
|
|
211
|
+
|
|
212
|
+
<AIAgent knowledgeBase={KNOWLEDGE} />
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
### Custom Retriever (Advanced)
|
|
216
|
+
|
|
217
|
+
Bring your own retrieval logic — call an API, vector database, or any async source:
|
|
218
|
+
|
|
219
|
+
```tsx
|
|
220
|
+
<AIAgent
|
|
221
|
+
knowledgeBase={{
|
|
222
|
+
retrieve: async (query: string, screenName?: string) => {
|
|
223
|
+
const results = await fetch(`/api/knowledge?q=${query}&screen=${screenName}`);
|
|
224
|
+
return results.json();
|
|
225
|
+
},
|
|
226
|
+
}}
|
|
227
|
+
/>
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
The retriever receives the user's question and current screen name, and returns a formatted string with the relevant knowledge.
|
|
231
|
+
|
|
232
|
+
### Knowledge-Only Mode
|
|
233
|
+
|
|
234
|
+
Set `enableUIControl={false}` to disable all UI interactions. The AI becomes a lightweight FAQ / support assistant — no screen analysis, no multi-step agent loop, just question → answer:
|
|
235
|
+
|
|
236
|
+
```tsx
|
|
237
|
+
<AIAgent
|
|
238
|
+
enableUIControl={false}
|
|
239
|
+
knowledgeBase={KNOWLEDGE}
|
|
240
|
+
/>
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
**How it differs from full mode:**
|
|
244
|
+
|
|
245
|
+
| | Full mode (default) | Knowledge-only mode |
|
|
246
|
+
|---|---|---|
|
|
247
|
+
| UI tree analysis | ✅ Full fiber walk | ❌ Skipped |
|
|
248
|
+
| Screen content sent to LLM | ✅ ~500-2000 tokens | ❌ Only screen name |
|
|
249
|
+
| Screenshots | ✅ Optional | ❌ Skipped |
|
|
250
|
+
| Agent loop | Up to 10 steps | Single LLM call |
|
|
251
|
+
| Available tools | 7 (tap, type, navigate, ...) | 2 (done, query_knowledge) |
|
|
252
|
+
| System prompt | ~1,500 tokens | ~400 tokens |
|
|
253
|
+
|
|
254
|
+
The AI still knows the current **screen name** (from navigation state, zero cost), so `screens`-filtered knowledge entries work correctly. It just can't see what's *on* the screen — ideal for domain Q&A where answers come from knowledge, not UI.
|
|
255
|
+
|
|
170
256
|
## 🔌 API Reference
|
|
171
257
|
|
|
172
258
|
### `<AIAgent>` Component
|
|
@@ -192,6 +278,9 @@ The root provider. Wrap your app once at the top level.
|
|
|
192
278
|
| `pathname` | `string` | — | Both | Current pathname (Expo Router). |
|
|
193
279
|
| `mcpServerUrl` | `string` | — | Text | WebSocket URL for MCP bridge. |
|
|
194
280
|
| `debug` | `boolean` | `false` | Both | Enable SDK debug logging. |
|
|
281
|
+
| `knowledgeBase` | `KnowledgeEntry[] \| KnowledgeRetriever` | — | Both | Domain knowledge the AI can query. See [Knowledge Base](#-knowledge-base). |
|
|
282
|
+
| `knowledgeMaxTokens` | `number` | `2000` | Both | Max token budget for knowledge retrieval results. |
|
|
283
|
+
| `enableUIControl` | `boolean` | `true` | Both | When `false`, disables UI tools (tap/type/navigate). AI becomes a knowledge-only assistant. |
|
|
195
284
|
|
|
196
285
|
### `useAction(name, description, params, handler)`
|
|
197
286
|
|
|
@@ -395,6 +484,7 @@ This starts two servers:
|
|
|
395
484
|
| `capture_screenshot(reason)` | Capture the current screen as an image. Called on-demand by the AI (requires `react-native-view-shot`). |
|
|
396
485
|
| `done(text)` | Complete the task with a response. |
|
|
397
486
|
| `ask_user(question)` | Ask the user for clarification. |
|
|
487
|
+
| `query_knowledge(question)` | Search the knowledge base. Only available when `knowledgeBase` is configured. |
|
|
398
488
|
|
|
399
489
|
## 📋 Requirements
|
|
400
490
|
|
|
@@ -55,7 +55,10 @@ export function AIAgent({
|
|
|
55
55
|
pathname,
|
|
56
56
|
enableVoice = false,
|
|
57
57
|
onTokenUsage,
|
|
58
|
-
debug = false
|
|
58
|
+
debug = false,
|
|
59
|
+
knowledgeBase,
|
|
60
|
+
knowledgeMaxTokens,
|
|
61
|
+
enableUIControl
|
|
59
62
|
}) {
|
|
60
63
|
// Configure logger based on debug prop
|
|
61
64
|
React.useEffect(() => {
|
|
@@ -119,6 +122,9 @@ export function AIAgent({
|
|
|
119
122
|
pathname,
|
|
120
123
|
onStatusUpdate: setStatusText,
|
|
121
124
|
onTokenUsage,
|
|
125
|
+
knowledgeBase,
|
|
126
|
+
knowledgeMaxTokens,
|
|
127
|
+
enableUIControl,
|
|
122
128
|
// Block the agent loop until user responds
|
|
123
129
|
onAskUser: mode === 'voice' ? undefined : question => {
|
|
124
130
|
return new Promise(resolve => {
|
|
@@ -133,7 +139,7 @@ export function AIAgent({
|
|
|
133
139
|
setStatusText('');
|
|
134
140
|
});
|
|
135
141
|
}
|
|
136
|
-
}), [mode, apiKey, model, maxSteps, interactiveBlacklist, interactiveWhitelist, onBeforeStep, onAfterStep, onBeforeTask, onAfterTask, transformScreenContent, customTools, instructions, stepDelay, mcpServerUrl, router, pathname, onTokenUsage]);
|
|
142
|
+
}), [mode, apiKey, model, maxSteps, interactiveBlacklist, interactiveWhitelist, onBeforeStep, onAfterStep, onBeforeTask, onAfterTask, transformScreenContent, customTools, instructions, stepDelay, mcpServerUrl, router, pathname, onTokenUsage, knowledgeBase, knowledgeMaxTokens, enableUIControl]);
|
|
137
143
|
const provider = useMemo(() => new GeminiProvider(apiKey, model), [apiKey, model]);
|
|
138
144
|
const runtime = useMemo(() => new AgentRuntime(provider, config, rootViewRef.current, navRef),
|
|
139
145
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
@@ -175,7 +181,7 @@ export function AIAgent({
|
|
|
175
181
|
logger.info('AIAgent', `Registering ${runtimeTools.length} tools with VoiceService: ${runtimeTools.map(t => t.name).join(', ')}`);
|
|
176
182
|
// Use voice-adapted system prompt — same core rules as text mode
|
|
177
183
|
// but without agent-loop directives that trigger autonomous actions
|
|
178
|
-
const voicePrompt = buildVoiceSystemPrompt('en', instructions?.system);
|
|
184
|
+
const voicePrompt = buildVoiceSystemPrompt('en', instructions?.system, !!knowledgeBase);
|
|
179
185
|
logger.info('AIAgent', `📝 Voice system prompt (${voicePrompt.length} chars):\n${voicePrompt}`);
|
|
180
186
|
voiceServiceRef.current = new VoiceService({
|
|
181
187
|
apiKey,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","View","StyleSheet","AgentRuntime","GeminiProvider","AgentContext","AgentChatBar","AgentOverlay","logger","buildVoiceSystemPrompt","MCPBridge","VoiceService","AudioInputService","AudioOutputService","jsx","_jsx","jsxs","_jsxs","console","log","AIAgent","apiKey","model","navRef","maxSteps","showChatBar","children","onResult","interactiveBlacklist","interactiveWhitelist","onBeforeStep","onAfterStep","onBeforeTask","onAfterTask","transformScreenContent","customTools","instructions","stepDelay","mcpServerUrl","router","pathname","enableVoice","onTokenUsage","debug","setEnabled","info","rootViewRef","isThinking","setIsThinking","statusText","setStatusText","lastResult","setLastResult","mode","setMode","isMicActive","setIsMicActive","isSpeakerMuted","setIsSpeakerMuted","isAISpeaking","setIsAISpeaking","isVoiceConnected","setIsVoiceConnected","voiceServiceRef","audioInputRef","audioOutputRef","toolLockRef","userHasSpokenRef","lastScreenContextRef","screenPollIntervalRef","availableModes","modes","push","join","askUserResolverRef","config","language","ask_user","onStatusUpdate","onAskUser","undefined","question","Promise","resolve","current","success","message","steps","provider","runtime","updateRefs","bridge","destroy","audioOutputInitPromise","runtimeTools","getTools","length","map","t","name","voicePrompt","system","systemPrompt","tools","onError","err","error","initialize","then","ok","onAudioChunk","chunk","isConnected","sendAudio","onPermissionDenied","warn","connect","onAudioResponse","audio","enqueue","onStatusChange","status","connected","start","intentionalDisconnect","stop","setTimeout","lastCallbacks","onTranscript","text","isFinal","role","onSetupComplete","initialContext","getScreenContext","passiveContext","sendScreenContext","onToolCall","toolCall","JSON","stringify","args","id","sendFunctionResponse","result","executeTool","updatedContext","enrichedResult","onTurnComplete","SCREEN_POLL_INTERVAL","MIN_DIFF_RATIO","setInterval","currentContext","lastLen","diff","Math","abs","diffRatio","toFixed","passiveUpdate","clearInterval","disconnect","stopVoiceSession","handleSend","trim","resolver","execute","Provider","value","ref","style","styles","root","collapsable","visible","onSend","onDismiss","onModeChange","newMode","onStopSession","onMicToggle","active","onSpeakerToggle","muted","mute","unmute","create","flex"],"sourceRoot":"../../../src","sources":["components/AIAgent.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","View","StyleSheet","AgentRuntime","GeminiProvider","AgentContext","AgentChatBar","AgentOverlay","logger","buildVoiceSystemPrompt","MCPBridge","VoiceService","AudioInputService","AudioOutputService","jsx","_jsx","jsxs","_jsxs","console","log","AIAgent","apiKey","model","navRef","maxSteps","showChatBar","children","onResult","interactiveBlacklist","interactiveWhitelist","onBeforeStep","onAfterStep","onBeforeTask","onAfterTask","transformScreenContent","customTools","instructions","stepDelay","mcpServerUrl","router","pathname","enableVoice","onTokenUsage","debug","knowledgeBase","knowledgeMaxTokens","enableUIControl","setEnabled","info","rootViewRef","isThinking","setIsThinking","statusText","setStatusText","lastResult","setLastResult","mode","setMode","isMicActive","setIsMicActive","isSpeakerMuted","setIsSpeakerMuted","isAISpeaking","setIsAISpeaking","isVoiceConnected","setIsVoiceConnected","voiceServiceRef","audioInputRef","audioOutputRef","toolLockRef","userHasSpokenRef","lastScreenContextRef","screenPollIntervalRef","availableModes","modes","push","join","askUserResolverRef","config","language","ask_user","onStatusUpdate","onAskUser","undefined","question","Promise","resolve","current","success","message","steps","provider","runtime","updateRefs","bridge","destroy","audioOutputInitPromise","runtimeTools","getTools","length","map","t","name","voicePrompt","system","systemPrompt","tools","onError","err","error","initialize","then","ok","onAudioChunk","chunk","isConnected","sendAudio","onPermissionDenied","warn","connect","onAudioResponse","audio","enqueue","onStatusChange","status","connected","start","intentionalDisconnect","stop","setTimeout","lastCallbacks","onTranscript","text","isFinal","role","onSetupComplete","initialContext","getScreenContext","passiveContext","sendScreenContext","onToolCall","toolCall","JSON","stringify","args","id","sendFunctionResponse","result","executeTool","updatedContext","enrichedResult","onTurnComplete","SCREEN_POLL_INTERVAL","MIN_DIFF_RATIO","setInterval","currentContext","lastLen","diff","Math","abs","diffRatio","toFixed","passiveUpdate","clearInterval","disconnect","stopVoiceSession","handleSend","trim","resolver","execute","Provider","value","ref","style","styles","root","collapsable","visible","onSend","onDismiss","onModeChange","newMode","onStopSession","onMicToggle","active","onSpeakerToggle","muted","mute","unmute","create","flex"],"sourceRoot":"../../../src","sources":["components/AIAgent.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
import { logger } from "../utils/logger.js";
|
|
15
15
|
import { walkFiberTree } from "./FiberTreeWalker.js";
|
|
16
16
|
import { dehydrateScreen } from "./ScreenDehydrator.js";
|
|
17
|
-
import { buildSystemPrompt } from "./systemPrompt.js";
|
|
17
|
+
import { buildSystemPrompt, buildKnowledgeOnlyPrompt } from "./systemPrompt.js";
|
|
18
|
+
import { KnowledgeBaseService } from "../services/KnowledgeBaseService.js";
|
|
18
19
|
const DEFAULT_MAX_STEPS = 10;
|
|
19
20
|
|
|
20
21
|
// ─── Agent Runtime ─────────────────────────────────────────────
|
|
@@ -25,12 +26,24 @@ export class AgentRuntime {
|
|
|
25
26
|
history = [];
|
|
26
27
|
isRunning = false;
|
|
27
28
|
lastAskUserQuestion = null;
|
|
29
|
+
knowledgeService = null;
|
|
28
30
|
constructor(provider, config, rootRef, navRef) {
|
|
29
31
|
this.provider = provider;
|
|
30
32
|
this.config = config;
|
|
31
33
|
this.rootRef = rootRef;
|
|
32
34
|
this.navRef = navRef;
|
|
33
|
-
|
|
35
|
+
|
|
36
|
+
// Initialize knowledge base service if configured
|
|
37
|
+
if (config.knowledgeBase) {
|
|
38
|
+
this.knowledgeService = new KnowledgeBaseService(config.knowledgeBase, config.knowledgeMaxTokens);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// Register tools based on mode
|
|
42
|
+
if (config.enableUIControl === false) {
|
|
43
|
+
this.registerKnowledgeOnlyTools();
|
|
44
|
+
} else {
|
|
45
|
+
this.registerBuiltInTools();
|
|
46
|
+
}
|
|
34
47
|
|
|
35
48
|
// Apply customTools
|
|
36
49
|
if (config.customTools) {
|
|
@@ -282,6 +295,71 @@ export class AgentRuntime {
|
|
|
282
295
|
return '❌ Screenshot capture failed. react-native-view-shot may not be installed.';
|
|
283
296
|
}
|
|
284
297
|
});
|
|
298
|
+
|
|
299
|
+
// query_knowledge — retrieve domain-specific knowledge (only if knowledgeBase is configured)
|
|
300
|
+
if (this.knowledgeService) {
|
|
301
|
+
this.tools.set('query_knowledge', {
|
|
302
|
+
name: 'query_knowledge',
|
|
303
|
+
description: 'Search the app knowledge base for domain-specific information ' + '(policies, FAQs, product details, delivery areas, allergens, etc). ' + 'Use when the user asks about the business or app and the answer is NOT visible on screen.',
|
|
304
|
+
parameters: {
|
|
305
|
+
question: {
|
|
306
|
+
type: 'string',
|
|
307
|
+
description: 'The question or topic to search for',
|
|
308
|
+
required: true
|
|
309
|
+
}
|
|
310
|
+
},
|
|
311
|
+
execute: async args => {
|
|
312
|
+
const screenName = this.getCurrentScreenName();
|
|
313
|
+
return this.knowledgeService.retrieve(args.question, screenName);
|
|
314
|
+
}
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
/**
|
|
320
|
+
* Register only knowledge-assistant tools (no UI control).
|
|
321
|
+
* Used when enableUIControl = false — the AI can only answer questions.
|
|
322
|
+
*/
|
|
323
|
+
registerKnowledgeOnlyTools() {
|
|
324
|
+
// done — complete the task
|
|
325
|
+
this.tools.set('done', {
|
|
326
|
+
name: 'done',
|
|
327
|
+
description: 'Complete the task with a message to the user.',
|
|
328
|
+
parameters: {
|
|
329
|
+
text: {
|
|
330
|
+
type: 'string',
|
|
331
|
+
description: 'Response message to the user',
|
|
332
|
+
required: true
|
|
333
|
+
},
|
|
334
|
+
success: {
|
|
335
|
+
type: 'boolean',
|
|
336
|
+
description: 'Whether the task was completed successfully',
|
|
337
|
+
required: true
|
|
338
|
+
}
|
|
339
|
+
},
|
|
340
|
+
execute: async args => {
|
|
341
|
+
return args.text;
|
|
342
|
+
}
|
|
343
|
+
});
|
|
344
|
+
|
|
345
|
+
// query_knowledge — retrieve domain-specific knowledge (only if knowledgeBase is configured)
|
|
346
|
+
if (this.knowledgeService) {
|
|
347
|
+
this.tools.set('query_knowledge', {
|
|
348
|
+
name: 'query_knowledge',
|
|
349
|
+
description: 'Search the app knowledge base for domain-specific information ' + '(policies, FAQs, product details, delivery areas, allergens, etc). ' + 'Use when the user asks about the business or app and the answer is NOT visible on screen.',
|
|
350
|
+
parameters: {
|
|
351
|
+
question: {
|
|
352
|
+
type: 'string',
|
|
353
|
+
description: 'The question or topic to search for',
|
|
354
|
+
required: true
|
|
355
|
+
}
|
|
356
|
+
},
|
|
357
|
+
execute: async args => {
|
|
358
|
+
const screenName = this.getCurrentScreenName();
|
|
359
|
+
return this.knowledgeService.retrieve(args.question, screenName);
|
|
360
|
+
}
|
|
361
|
+
});
|
|
362
|
+
}
|
|
285
363
|
}
|
|
286
364
|
|
|
287
365
|
// ─── Action Registration (useAction hook) ──────────────────
|
|
@@ -414,6 +492,8 @@ export class AgentRuntime {
|
|
|
414
492
|
return 'Wrapping up...';
|
|
415
493
|
case 'ask_user':
|
|
416
494
|
return 'Asking you a question...';
|
|
495
|
+
case 'query_knowledge':
|
|
496
|
+
return 'Searching knowledge base...';
|
|
417
497
|
default:
|
|
418
498
|
return `Running ${toolName}...`;
|
|
419
499
|
}
|
|
@@ -659,6 +739,75 @@ ${screen.elementsText}
|
|
|
659
739
|
// Lifecycle: onBeforeTask
|
|
660
740
|
await this.config.onBeforeTask?.();
|
|
661
741
|
try {
|
|
742
|
+
// ─── Knowledge-only fast path ─────────────────────────────────
|
|
743
|
+
// Skip fiber walk, dehydration, screenshots, and multi-step loop.
|
|
744
|
+
// Only sends the user question → single LLM call → done.
|
|
745
|
+
if (this.config.enableUIControl === false) {
|
|
746
|
+
this.config.onStatusUpdate?.('Thinking...');
|
|
747
|
+
const hasKnowledge = !!this.knowledgeService;
|
|
748
|
+
const systemPrompt = buildKnowledgeOnlyPrompt('en', hasKnowledge, this.config.instructions?.system);
|
|
749
|
+
const tools = this.buildToolsForProvider();
|
|
750
|
+
const screenName = this.getCurrentScreenName();
|
|
751
|
+
|
|
752
|
+
// Minimal user prompt — just the question + screen name for context
|
|
753
|
+
const userPrompt = `Current screen: ${screenName}\n\nUser: ${contextualMessage}`;
|
|
754
|
+
const response = await this.provider.generateContent(systemPrompt, userPrompt, tools, [], undefined);
|
|
755
|
+
|
|
756
|
+
// Track token usage
|
|
757
|
+
if (response.tokenUsage) {
|
|
758
|
+
sessionUsage.promptTokens += response.tokenUsage.promptTokens;
|
|
759
|
+
sessionUsage.completionTokens += response.tokenUsage.completionTokens;
|
|
760
|
+
sessionUsage.totalTokens += response.tokenUsage.totalTokens;
|
|
761
|
+
sessionUsage.estimatedCostUSD += response.tokenUsage.estimatedCostUSD;
|
|
762
|
+
this.config.onTokenUsage?.(response.tokenUsage);
|
|
763
|
+
}
|
|
764
|
+
|
|
765
|
+
// Execute tool calls (done / query_knowledge)
|
|
766
|
+
let message = response.text || '';
|
|
767
|
+
if (response.toolCalls) {
|
|
768
|
+
for (const tc of response.toolCalls) {
|
|
769
|
+
const tool = this.tools.get(tc.name);
|
|
770
|
+
if (tool) {
|
|
771
|
+
const result = await tool.execute(tc.args);
|
|
772
|
+
if (tc.name === 'done') {
|
|
773
|
+
message = result;
|
|
774
|
+
} else if (tc.name === 'query_knowledge') {
|
|
775
|
+
// Knowledge retrieved — need a second call with the results
|
|
776
|
+
const followUp = `Knowledge result:\n${result}\n\nUser question: ${contextualMessage}\n\nAnswer the user based on this knowledge. Call done() with your answer.`;
|
|
777
|
+
const followUpResponse = await this.provider.generateContent(systemPrompt, followUp, tools, [], undefined);
|
|
778
|
+
if (followUpResponse.tokenUsage) {
|
|
779
|
+
sessionUsage.promptTokens += followUpResponse.tokenUsage.promptTokens;
|
|
780
|
+
sessionUsage.completionTokens += followUpResponse.tokenUsage.completionTokens;
|
|
781
|
+
sessionUsage.totalTokens += followUpResponse.tokenUsage.totalTokens;
|
|
782
|
+
sessionUsage.estimatedCostUSD += followUpResponse.tokenUsage.estimatedCostUSD;
|
|
783
|
+
this.config.onTokenUsage?.(followUpResponse.tokenUsage);
|
|
784
|
+
}
|
|
785
|
+
if (followUpResponse.toolCalls) {
|
|
786
|
+
for (const ftc of followUpResponse.toolCalls) {
|
|
787
|
+
if (ftc.name === 'done') {
|
|
788
|
+
const doneResult = await this.tools.get('done').execute(ftc.args);
|
|
789
|
+
message = doneResult;
|
|
790
|
+
}
|
|
791
|
+
}
|
|
792
|
+
}
|
|
793
|
+
if (!message && followUpResponse.text) {
|
|
794
|
+
message = followUpResponse.text;
|
|
795
|
+
}
|
|
796
|
+
}
|
|
797
|
+
}
|
|
798
|
+
}
|
|
799
|
+
}
|
|
800
|
+
const result = {
|
|
801
|
+
success: true,
|
|
802
|
+
message: message || 'I could not find an answer.',
|
|
803
|
+
steps: [],
|
|
804
|
+
tokenUsage: sessionUsage
|
|
805
|
+
};
|
|
806
|
+
await this.config.onAfterTask?.(result);
|
|
807
|
+
return result;
|
|
808
|
+
}
|
|
809
|
+
|
|
810
|
+
// ─── Full agent loop (UI control enabled) ─────────────────────
|
|
662
811
|
for (let step = 0; step < maxSteps; step++) {
|
|
663
812
|
logger.info('AgentRuntime', `===== Step ${step + 1}/${maxSteps} =====`);
|
|
664
813
|
|
|
@@ -689,7 +838,8 @@ ${screen.elementsText}
|
|
|
689
838
|
|
|
690
839
|
// 5. Send to AI provider
|
|
691
840
|
this.config.onStatusUpdate?.('Analyzing screen...');
|
|
692
|
-
const
|
|
841
|
+
const hasKnowledge = !!this.knowledgeService;
|
|
842
|
+
const systemPrompt = buildSystemPrompt('en', hasKnowledge);
|
|
693
843
|
const tools = this.buildToolsForProvider();
|
|
694
844
|
logger.info('AgentRuntime', `Sending to AI with ${tools.length} tools...`);
|
|
695
845
|
const response = await this.provider.generateContent(systemPrompt, contextMessage, tools, this.history, screenshot);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["logger","walkFiberTree","dehydrateScreen","buildSystemPrompt","DEFAULT_MAX_STEPS","AgentRuntime","tools","Map","actions","history","isRunning","lastAskUserQuestion","constructor","provider","config","rootRef","navRef","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","question","onAskUser","onStatusUpdate","answer","screenshot","captureScreenshot","Math","round","registerAction","action","unregisterAction","state","getRootState","getState","collectRouteNames","names","routes","route","Set","targetScreen","some","nestedNames","includes","leafParams","result","i","getCurrentScreenName","pathname","segments","split","filter","Boolean","getDeepestScreenName","getToolStatusLabel","toolName","viewShot","require","captureRef","default","uri","format","quality","width","code","debug","getScreenContext","walkResult","screenName","elementsText","buildToolsForProvider","allTools","values","fromEntries","key","typeStr","handler","getTools","executeTool","get","t","interactiveBlacklist","interactiveWhitelist","getInstructions","instructions","system","trim","getScreenInstructions","screenInstructions","observations","lastScreenName","handleObservations","step","maxSteps","remaining","assembleUserPrompt","contextualMessage","screenContent","prompt","stepIndex","event","reflection","previousGoalEval","memory","plan","output","obs","userMessage","steps","stepDelay","sessionUsage","promptTokens","completionTokens","totalTokens","estimatedCostUSD","onBeforeTask","onBeforeStep","transformScreenContent","contextMessage","systemPrompt","response","generateContent","tokenUsage","onTokenUsage","toolCalls","onAfterTask","reasoning","toolCall","statusLabel","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","DEFAULT_MAX_STEPS","AgentRuntime","tools","Map","actions","history","isRunning","lastAskUserQuestion","knowledgeService","constructor","provider","config","rootRef","navRef","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","question","onAskUser","onStatusUpdate","answer","screenshot","captureScreenshot","Math","round","screenName","getCurrentScreenName","retrieve","registerAction","action","unregisterAction","state","getRootState","getState","collectRouteNames","names","routes","route","Set","targetScreen","some","nestedNames","includes","leafParams","result","i","pathname","segments","split","filter","Boolean","getDeepestScreenName","getToolStatusLabel","toolName","viewShot","require","captureRef","default","uri","format","quality","width","code","debug","getScreenContext","walkResult","elementsText","buildToolsForProvider","allTools","values","fromEntries","key","typeStr","handler","getTools","executeTool","get","t","interactiveBlacklist","interactiveWhitelist","getInstructions","instructions","system","trim","getScreenInstructions","screenInstructions","observations","lastScreenName","handleObservations","step","maxSteps","remaining","assembleUserPrompt","contextualMessage","screenContent","prompt","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","agentStep","input","onAfterStep","updateRefs","getIsRunning"],"sourceRoot":"../../../src","sources":["core/AgentRuntime.ts"],"mappings":"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","ignoreList":[]}
|