react-native-agentic-ai 0.5.7 → 0.5.9

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 CHANGED
@@ -18,7 +18,9 @@
18
18
  [![license](https://img.shields.io/npm/l/@mobileai/react-native)](https://github.com/mohamed2m2018/mobileai-react-native/blob/main/LICENSE)
19
19
  [![platform](https://img.shields.io/badge/platform-iOS%20%7C%20Android-brightgreen)]()
20
20
 
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.
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
+
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.
22
24
 
23
25
  ## ✨ Features
24
26
 
@@ -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 apiKey={process.env.EXPO_PUBLIC_GEMINI_API_KEY!} navRef={navRef}>
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
  );
@@ -192,6 +207,9 @@ The root provider. Wrap your app once at the top level.
192
207
  | `pathname` | `string` | — | Both | Current pathname (Expo Router). |
193
208
  | `mcpServerUrl` | `string` | — | Text | WebSocket URL for MCP bridge. |
194
209
  | `debug` | `boolean` | `false` | Both | Enable SDK debug logging. |
210
+ | `knowledgeBase` | `KnowledgeEntry[] \| KnowledgeRetriever` | — | Both | Domain knowledge the AI can query. See [Knowledge Base](#-knowledge-base). |
211
+ | `knowledgeMaxTokens` | `number` | `2000` | Both | Max token budget for knowledge retrieval results. |
212
+ | `enableUIControl` | `boolean` | `true` | Both | When `false`, disables UI tools (tap/type/navigate). AI becomes a knowledge-only assistant. |
195
213
 
196
214
  ### `useAction(name, description, params, handler)`
197
215
 
@@ -395,6 +413,78 @@ This starts two servers:
395
413
  | `capture_screenshot(reason)` | Capture the current screen as an image. Called on-demand by the AI (requires `react-native-view-shot`). |
396
414
  | `done(text)` | Complete the task with a response. |
397
415
  | `ask_user(question)` | Ask the user for clarification. |
416
+ | `query_knowledge(question)` | Search the knowledge base. Only available when `knowledgeBase` is configured. |
417
+
418
+ ## 🧠 Knowledge Base
419
+
420
+ 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).
421
+
422
+ ### Static Array (Simple)
423
+
424
+ Pass an array of entries — the SDK handles keyword-based retrieval internally:
425
+
426
+ ```tsx
427
+ import type { KnowledgeEntry } from '@mobileai/react-native';
428
+
429
+ const KNOWLEDGE: KnowledgeEntry[] = [
430
+ {
431
+ id: 'shipping',
432
+ title: 'Shipping Policy',
433
+ content: 'Free shipping on orders over $75. Standard: 5-7 days ($4.99). Express: 2-3 days ($12.99).',
434
+ tags: ['shipping', 'delivery', 'free shipping'],
435
+ },
436
+ {
437
+ id: 'returns',
438
+ title: 'Return Policy',
439
+ content: '30-day returns on all items. Refunds processed in 5-7 business days.',
440
+ tags: ['return', 'refund', 'exchange'],
441
+ screens: ['product/[id]', 'order-history'], // optional: only surface on these screens
442
+ },
443
+ ];
444
+
445
+ <AIAgent knowledgeBase={KNOWLEDGE} />
446
+ ```
447
+
448
+ ### Custom Retriever (Advanced)
449
+
450
+ Bring your own retrieval logic — call an API, vector database, or any async source:
451
+
452
+ ```tsx
453
+ <AIAgent
454
+ knowledgeBase={{
455
+ retrieve: async (query: string, screenName?: string) => {
456
+ const results = await fetch(`/api/knowledge?q=${query}&screen=${screenName}`);
457
+ return results.json();
458
+ },
459
+ }}
460
+ />
461
+ ```
462
+
463
+ The retriever receives the user's question and current screen name, and returns a formatted string with the relevant knowledge.
464
+
465
+ ### Knowledge-Only Mode
466
+
467
+ 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:
468
+
469
+ ```tsx
470
+ <AIAgent
471
+ enableUIControl={false}
472
+ knowledgeBase={KNOWLEDGE}
473
+ />
474
+ ```
475
+
476
+ **How it differs from full mode:**
477
+
478
+ | | Full mode (default) | Knowledge-only mode |
479
+ |---|---|---|
480
+ | UI tree analysis | ✅ Full fiber walk | ❌ Skipped |
481
+ | Screen content sent to LLM | ✅ ~500-2000 tokens | ❌ Only screen name |
482
+ | Screenshots | ✅ Optional | ❌ Skipped |
483
+ | Agent loop | Up to 10 steps | Single LLM call |
484
+ | Available tools | 7 (tap, type, navigate, ...) | 2 (done, query_knowledge) |
485
+ | System prompt | ~1,500 tokens | ~400 tokens |
486
+
487
+ 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.
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
- this.registerBuiltInTools();
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 systemPrompt = buildSystemPrompt('en');
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":[]}