@mobileai/react-native 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/README.md +78 -7
  2. package/lib/module/components/AIAgent.js +40 -4
  3. package/lib/module/components/AIAgent.js.map +1 -1
  4. package/lib/module/components/AgentChatBar.js +177 -29
  5. package/lib/module/components/AgentChatBar.js.map +1 -1
  6. package/lib/module/core/AgentRuntime.js +268 -126
  7. package/lib/module/core/AgentRuntime.js.map +1 -1
  8. package/lib/module/core/FiberTreeWalker.js +74 -20
  9. package/lib/module/core/FiberTreeWalker.js.map +1 -1
  10. package/lib/module/core/systemPrompt.js +164 -0
  11. package/lib/module/core/systemPrompt.js.map +1 -0
  12. package/lib/module/providers/GeminiProvider.js +189 -73
  13. package/lib/module/providers/GeminiProvider.js.map +1 -1
  14. package/lib/typescript/src/components/AIAgent.d.ts +9 -1
  15. package/lib/typescript/src/components/AIAgent.d.ts.map +1 -1
  16. package/lib/typescript/src/components/AgentChatBar.d.ts +4 -3
  17. package/lib/typescript/src/components/AgentChatBar.d.ts.map +1 -1
  18. package/lib/typescript/src/core/AgentRuntime.d.ts +16 -0
  19. package/lib/typescript/src/core/AgentRuntime.d.ts.map +1 -1
  20. package/lib/typescript/src/core/FiberTreeWalker.d.ts +5 -0
  21. package/lib/typescript/src/core/FiberTreeWalker.d.ts.map +1 -1
  22. package/lib/typescript/src/core/systemPrompt.d.ts +9 -0
  23. package/lib/typescript/src/core/systemPrompt.d.ts.map +1 -0
  24. package/lib/typescript/src/core/types.d.ts +51 -13
  25. package/lib/typescript/src/core/types.d.ts.map +1 -1
  26. package/lib/typescript/src/providers/GeminiProvider.d.ts +33 -13
  27. package/lib/typescript/src/providers/GeminiProvider.d.ts.map +1 -1
  28. package/package.json +16 -14
  29. package/src/components/AIAgent.tsx +41 -1
  30. package/src/components/AgentChatBar.tsx +150 -28
  31. package/src/core/AgentRuntime.ts +287 -131
  32. package/src/core/FiberTreeWalker.ts +74 -19
  33. package/src/core/systemPrompt.ts +162 -0
  34. package/src/core/types.ts +58 -10
  35. package/src/providers/GeminiProvider.ts +174 -101
@@ -1,11 +1,20 @@
1
1
  "use strict";
2
2
 
3
3
  /**
4
- * GeminiProvider — Simplified Gemini API integration.
5
- * Sends dehydrated screen state + tools to Gemini and parses tool call responses.
4
+ * GeminiProvider — Gemini API integration with structured action pattern.
5
+ *
6
+ * Uses a single forced function call (`agent_step`) that bundles
7
+ * structured reasoning (evaluation, memory, plan) alongside the action.
8
+ * This replaces free-form text + separate tool calls for stability.
6
9
  */
7
10
 
8
11
  import { logger } from "../utils/logger.js";
12
+ // ─── Constants ─────────────────────────────────────────────────
13
+
14
+ const AGENT_STEP_FN = 'agent_step';
15
+
16
+ // Reasoning fields that are always present in the agent_step schema
17
+ const REASONING_FIELDS = ['previous_goal_eval', 'memory', 'plan'];
9
18
 
10
19
  // ─── Gemini API Types ──────────────────────────────────────────
11
20
 
@@ -19,22 +28,31 @@ export class GeminiProvider {
19
28
  async generateContent(systemPrompt, userMessage, tools, history) {
20
29
  logger.info('GeminiProvider', `Sending request. Model: ${this.model}, Tools: ${tools.length}`);
21
30
 
22
- // Build Gemini tools
23
- const geminiTools = this.buildGeminiTools(tools);
31
+ // Build single agent_step function declaration
32
+ const agentStepDeclaration = this.buildAgentStepDeclaration(tools);
24
33
 
25
- // Build conversation history
34
+ // Build conversation history with proper function call/response pairs
26
35
  const contents = this.buildContents(userMessage, history);
27
36
 
28
37
  // Make API request
29
38
  const url = `https://generativelanguage.googleapis.com/v1beta/models/${this.model}:generateContent?key=${this.apiKey}`;
30
39
  const body = {
31
40
  contents,
32
- tools: geminiTools.length > 0 ? geminiTools : undefined,
41
+ tools: [{
42
+ functionDeclarations: [agentStepDeclaration]
43
+ }],
33
44
  systemInstruction: {
34
45
  parts: [{
35
46
  text: systemPrompt
36
47
  }]
37
48
  },
49
+ // Force the model to always call agent_step
50
+ tool_config: {
51
+ function_calling_config: {
52
+ mode: 'ANY',
53
+ allowed_function_names: [AGENT_STEP_FN]
54
+ }
55
+ },
38
56
  generationConfig: {
39
57
  temperature: 0.2,
40
58
  maxOutputTokens: 2048
@@ -57,41 +75,85 @@ export class GeminiProvider {
57
75
  throw new Error(`Gemini API error ${response.status}: ${errorText}`);
58
76
  }
59
77
  const data = await response.json();
60
-
61
- // Parse response
62
- return this.parseResponse(data);
78
+ return this.parseAgentStepResponse(data, tools);
63
79
  } catch (error) {
64
80
  logger.error('GeminiProvider', 'Request failed:', error.message);
65
81
  throw error;
66
82
  }
67
83
  }
68
84
 
69
- // ─── Build Gemini Tools ────────────────────────────────────
85
+ // ─── Build agent_step Declaration ──────────────────────────
70
86
 
71
- buildGeminiTools(tools) {
72
- const declarations = tools.map(tool => ({
73
- name: tool.name,
74
- description: tool.description,
75
- parameters: {
76
- type: 'OBJECT',
77
- properties: Object.fromEntries(Object.entries(tool.parameters).map(([key, param]) => [key, {
87
+ /**
88
+ * Builds a single `agent_step` function declaration that combines:
89
+ * - Structured reasoning fields (previous_goal_eval, memory, plan)
90
+ * - action_name (enum of all available tool names)
91
+ * - All tool parameter fields as flat top-level properties
92
+ *
93
+ * Flat schema avoids Gemini's "deeply nested schema" rejection in ANY mode.
94
+ */
95
+ buildAgentStepDeclaration(tools) {
96
+ const toolNames = tools.map(t => t.name);
97
+
98
+ // Collect all unique parameter fields across all tools
99
+ const actionProperties = {};
100
+ for (const tool of tools) {
101
+ for (const [paramName, param] of Object.entries(tool.parameters)) {
102
+ // Skip if already added (shared field names like 'text', 'index')
103
+ if (actionProperties[paramName]) continue;
104
+ actionProperties[paramName] = {
78
105
  type: this.mapParamType(param.type),
79
106
  description: param.description,
80
107
  ...(param.enum ? {
81
108
  enum: param.enum
82
109
  } : {})
83
- }])),
84
- required: Object.entries(tool.parameters).filter(([, param]) => param.required !== false).map(([key]) => key)
110
+ };
85
111
  }
86
- }));
87
- return [{
88
- functionDeclarations: declarations
89
- }];
112
+ }
113
+
114
+ // Build tool descriptions for the action_name enum
115
+ const toolDescriptions = tools.map(t => {
116
+ const params = Object.keys(t.parameters).join(', ');
117
+ return `- ${t.name}(${params}): ${t.description}`;
118
+ }).join('\n');
119
+ return {
120
+ name: AGENT_STEP_FN,
121
+ description: `Execute one agent step. Choose an action and provide reasoning.\n\nAvailable actions:\n${toolDescriptions}`,
122
+ parameters: {
123
+ type: 'OBJECT',
124
+ properties: {
125
+ // ── Reasoning fields ──
126
+ previous_goal_eval: {
127
+ type: 'STRING',
128
+ description: 'One-sentence assessment of your last action. State success, failure, or uncertain. Skip on first step.'
129
+ },
130
+ memory: {
131
+ type: 'STRING',
132
+ description: 'Key facts to remember for future steps: progress made, items found, counters, field values already collected.'
133
+ },
134
+ plan: {
135
+ type: 'STRING',
136
+ description: 'Your immediate next goal — what action you will take and why.'
137
+ },
138
+ // ── Action selection ──
139
+ action_name: {
140
+ type: 'STRING',
141
+ description: 'Which action to execute.',
142
+ enum: toolNames
143
+ },
144
+ // ── Action parameters (flat) ──
145
+ ...actionProperties
146
+ },
147
+ required: ['plan', 'action_name']
148
+ }
149
+ };
90
150
  }
91
151
  mapParamType(type) {
92
152
  switch (type) {
93
153
  case 'number':
94
154
  return 'NUMBER';
155
+ case 'integer':
156
+ return 'INTEGER';
95
157
  case 'boolean':
96
158
  return 'BOOLEAN';
97
159
  case 'string':
@@ -102,76 +164,130 @@ export class GeminiProvider {
102
164
 
103
165
  // ─── Build Contents ────────────────────────────────────────
104
166
 
105
- buildContents(userMessage, history) {
106
- const contents = [];
107
-
108
- // Add history as conversation turns
109
- for (const step of history) {
110
- // User turn (screen state was sent)
111
- contents.push({
112
- role: 'user',
113
- parts: [{
114
- text: `Step ${step.stepIndex + 1} result: ${step.action.output}`
115
- }]
116
- });
117
- }
118
-
119
- // Current user message
120
- contents.push({
167
+ /**
168
+ * Builds Gemini conversation contents.
169
+ *
170
+ * Each step is a STATELESS single-turn request (matching page-agent's approach):
171
+ * - System prompt has general instructions
172
+ * - User message contains full context: task, history, screen state
173
+ * - Model responds with agent_step function call
174
+ *
175
+ * History is embedded as text in assembleUserPrompt (via <agent_history>),
176
+ * NOT as functionCall/functionResponse pairs. This avoids Gemini's
177
+ * conversation format requirements and thought_signature complexity.
178
+ */
179
+ buildContents(userMessage, _history) {
180
+ return [{
121
181
  role: 'user',
122
182
  parts: [{
123
183
  text: userMessage
124
184
  }]
125
- });
126
-
127
- // Ensure alternating roles (Gemini requirement)
128
- return this.ensureAlternatingRoles(contents);
129
- }
130
- ensureAlternatingRoles(contents) {
131
- if (contents.length <= 1) return contents;
132
- const merged = [contents[0]];
133
- for (let i = 1; i < contents.length; i++) {
134
- const prev = merged[merged.length - 1];
135
- const curr = contents[i];
136
- if (prev.role === curr.role) {
137
- // Merge same-role messages
138
- prev.parts.push(...curr.parts);
139
- } else {
140
- merged.push(curr);
141
- }
142
- }
143
- return merged;
185
+ }];
144
186
  }
145
187
 
146
188
  // ─── Parse Response ────────────────────────────────────────
147
189
 
148
- parseResponse(data) {
149
- const toolCalls = [];
150
- let text;
190
+ /**
191
+ * Parses the Gemini response expecting a single agent_step function call.
192
+ * Extracts structured reasoning + action, and determines which tool to execute.
193
+ */
194
+ parseAgentStepResponse(data, tools) {
151
195
  if (!data.candidates || data.candidates.length === 0) {
152
196
  logger.warn('GeminiProvider', 'No candidates in response');
153
197
  return {
154
- toolCalls,
198
+ toolCalls: [{
199
+ name: 'done',
200
+ args: {
201
+ text: 'No response generated.',
202
+ success: false
203
+ }
204
+ }],
205
+ reasoning: {
206
+ previousGoalEval: '',
207
+ memory: '',
208
+ plan: ''
209
+ },
155
210
  text: 'No response generated.'
156
211
  };
157
212
  }
158
213
  const candidate = data.candidates[0];
159
214
  const parts = candidate.content?.parts || [];
160
- for (const part of parts) {
161
- if (part.functionCall) {
162
- toolCalls.push({
163
- name: part.functionCall.name,
164
- args: part.functionCall.args || {}
165
- });
215
+
216
+ // Find the function call part
217
+ const fnCallPart = parts.find(p => p.functionCall);
218
+ const textPart = parts.find(p => p.text);
219
+ if (!fnCallPart?.functionCall) {
220
+ logger.warn('GeminiProvider', 'No function call in response. Text:', textPart?.text);
221
+ return {
222
+ toolCalls: [{
223
+ name: 'done',
224
+ args: {
225
+ text: textPart?.text || 'No action taken.',
226
+ success: false
227
+ }
228
+ }],
229
+ reasoning: {
230
+ previousGoalEval: '',
231
+ memory: '',
232
+ plan: ''
233
+ },
234
+ text: textPart?.text
235
+ };
236
+ }
237
+ const args = fnCallPart.functionCall.args || {};
238
+
239
+ // Extract reasoning fields
240
+ const reasoning = {
241
+ previousGoalEval: args.previous_goal_eval || '',
242
+ memory: args.memory || '',
243
+ plan: args.plan || ''
244
+ };
245
+
246
+ // Extract action
247
+ const actionName = args.action_name;
248
+ if (!actionName) {
249
+ logger.warn('GeminiProvider', 'No action_name in agent_step. Falling back to done.');
250
+ return {
251
+ toolCalls: [{
252
+ name: 'done',
253
+ args: {
254
+ text: 'Agent did not choose an action.',
255
+ success: false
256
+ }
257
+ }],
258
+ reasoning,
259
+ text: textPart?.text
260
+ };
261
+ }
262
+
263
+ // Build action args: everything except reasoning fields and action_name
264
+ const actionArgs = {};
265
+ const reservedKeys = new Set([...REASONING_FIELDS, 'action_name']);
266
+
267
+ // Find the matching tool to know which params belong to it
268
+ const matchedTool = tools.find(t => t.name === actionName);
269
+ if (matchedTool) {
270
+ for (const paramName of Object.keys(matchedTool.parameters)) {
271
+ if (args[paramName] !== undefined) {
272
+ actionArgs[paramName] = args[paramName];
273
+ }
166
274
  }
167
- if (part.text) {
168
- text = (text || '') + part.text;
275
+ } else {
276
+ // Custom/registered tool grab all non-reserved fields
277
+ for (const [key, value] of Object.entries(args)) {
278
+ if (!reservedKeys.has(key)) {
279
+ actionArgs[key] = value;
280
+ }
169
281
  }
170
282
  }
171
- logger.info('GeminiProvider', `Parsed: ${toolCalls.length} tool calls, text: ${text ? 'yes' : 'no'}`);
283
+ logger.info('GeminiProvider', `Parsed: action=${actionName}, plan="${reasoning.plan}"`);
172
284
  return {
173
- toolCalls,
174
- text
285
+ toolCalls: [{
286
+ name: actionName,
287
+ args: actionArgs
288
+ }],
289
+ reasoning,
290
+ text: textPart?.text
175
291
  };
176
292
  }
177
293
  }
@@ -1 +1 @@
1
- {"version":3,"names":["logger","GeminiProvider","constructor","apiKey","model","generateContent","systemPrompt","userMessage","tools","history","info","length","geminiTools","buildGeminiTools","contents","buildContents","url","body","undefined","systemInstruction","parts","text","generationConfig","temperature","maxOutputTokens","startTime","Date","now","response","fetch","method","headers","JSON","stringify","elapsed","ok","errorText","error","status","Error","data","json","parseResponse","message","declarations","map","tool","name","description","parameters","type","properties","Object","fromEntries","entries","key","param","mapParamType","enum","required","filter","functionDeclarations","step","push","role","stepIndex","action","output","ensureAlternatingRoles","merged","i","prev","curr","toolCalls","candidates","warn","candidate","content","part","functionCall","args"],"sourceRoot":"../../../src","sources":["providers/GeminiProvider.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["logger","AGENT_STEP_FN","REASONING_FIELDS","GeminiProvider","constructor","apiKey","model","generateContent","systemPrompt","userMessage","tools","history","info","length","agentStepDeclaration","buildAgentStepDeclaration","contents","buildContents","url","body","functionDeclarations","systemInstruction","parts","text","tool_config","function_calling_config","mode","allowed_function_names","generationConfig","temperature","maxOutputTokens","startTime","Date","now","response","fetch","method","headers","JSON","stringify","elapsed","ok","errorText","error","status","Error","data","json","parseAgentStepResponse","message","toolNames","map","t","name","actionProperties","tool","paramName","param","Object","entries","parameters","type","mapParamType","description","enum","toolDescriptions","params","keys","join","properties","previous_goal_eval","memory","plan","action_name","required","_history","role","candidates","warn","toolCalls","args","success","reasoning","previousGoalEval","candidate","content","fnCallPart","find","p","functionCall","textPart","actionName","actionArgs","reservedKeys","Set","matchedTool","undefined","key","value","has"],"sourceRoot":"../../../src","sources":["providers/GeminiProvider.ts"],"mappings":"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","ignoreList":[]}
@@ -51,7 +51,15 @@ interface AIAgentProps {
51
51
  stepDelay?: number;
52
52
  /** WebSocket URL to companion MCP server bridge (e.g., ws://localhost:3101) */
53
53
  mcpServerUrl?: string;
54
+ /** Expo Router instance (from useRouter()) */
55
+ router?: {
56
+ push: (href: string) => void;
57
+ replace: (href: string) => void;
58
+ back: () => void;
59
+ };
60
+ /** Expo Router pathname (from usePathname()) */
61
+ pathname?: string;
54
62
  }
55
- export declare function AIAgent({ apiKey, model, navRef, language, maxSteps, showChatBar, children, onResult, interactiveBlacklist, interactiveWhitelist, onBeforeStep, onAfterStep, onBeforeTask, onAfterTask, transformScreenContent, customTools, instructions, stepDelay, mcpServerUrl, }: AIAgentProps): import("react/jsx-runtime").JSX.Element;
63
+ export declare function AIAgent({ apiKey, model, navRef, language, maxSteps, showChatBar, children, onResult, interactiveBlacklist, interactiveWhitelist, onBeforeStep, onAfterStep, onBeforeTask, onAfterTask, transformScreenContent, customTools, instructions, stepDelay, mcpServerUrl, router, pathname, }: AIAgentProps): import("react/jsx-runtime").JSX.Element;
56
64
  export {};
57
65
  //# sourceMappingURL=AIAgent.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AIAgent.d.ts","sourceRoot":"","sources":["../../../../src/components/AIAgent.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAMN,MAAM,OAAO,CAAC;AASf,OAAO,KAAK,EAAe,eAAe,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAO7F,UAAU,YAAY;IACpB,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,kBAAkB;IAClB,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gCAAgC;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,oCAAoC;IACpC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAI7C,qDAAqD;IACrD,oBAAoB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9C,uDAAuD;IACvD,oBAAoB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9C,8BAA8B;IAC9B,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3D,6BAA6B;IAC7B,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7D,gCAAgC;IAChC,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1C,kCAAkC;IAClC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAChE,qEAAqE;IACrE,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACvE,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC,CAAC;IACpD,2CAA2C;IAC3C,YAAY,CAAC,EAAE;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,qBAAqB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;KAC3E,CAAC;IACF,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAID,wBAAgB,OAAO,CAAC,EACtB,MAAM,EACN,KAA0B,EAC1B,MAAM,EACN,QAAe,EACf,QAAa,EACb,WAAkB,EAClB,QAAQ,EACR,QAAQ,EAER,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,sBAAsB,EACtB,WAAW,EACX,YAAY,EACZ,SAAS,EACT,YAAY,GACb,EAAE,YAAY,2CAiHd"}
1
+ {"version":3,"file":"AIAgent.d.ts","sourceRoot":"","sources":["../../../../src/components/AIAgent.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAMN,MAAM,OAAO,CAAC;AASf,OAAO,KAAK,EAAe,eAAe,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAO7F,UAAU,YAAY;IACpB,qBAAqB;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,kBAAkB;IAClB,QAAQ,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gCAAgC;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,oCAAoC;IACpC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IAI7C,qDAAqD;IACrD,oBAAoB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9C,uDAAuD;IACvD,oBAAoB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9C,8BAA8B;IAC9B,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3D,6BAA6B;IAC7B,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC7D,gCAAgC;IAChC,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1C,kCAAkC;IAClC,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAChE,qEAAqE;IACrE,sBAAsB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IACvE,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI,CAAC,CAAC;IACpD,2CAA2C;IAC3C,YAAY,CAAC,EAAE;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,qBAAqB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;KAC3E,CAAC;IACF,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8CAA8C;IAC9C,MAAM,CAAC,EAAE;QACP,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QAC7B,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;QAChC,IAAI,EAAE,MAAM,IAAI,CAAC;KAClB,CAAC;IACF,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAID,wBAAgB,OAAO,CAAC,EACtB,MAAM,EACN,KAA0B,EAC1B,MAAM,EACN,QAAe,EACf,QAAa,EACb,WAAkB,EAClB,QAAQ,EACR,QAAQ,EAER,oBAAoB,EACpB,oBAAoB,EACpB,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,WAAW,EACX,sBAAsB,EACtB,WAAW,EACX,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,MAAM,EACN,QAAQ,GACT,EAAE,YAAY,2CA+Id"}
@@ -1,6 +1,6 @@
1
1
  /**
2
- * AgentChatBar — Floating chat input at the bottom of the screen.
3
- * User sends messages here, and results are shown inline.
2
+ * AgentChatBar — Floating, draggable, compressible chat widget.
3
+ * Does not block underlying UI natively.
4
4
  */
5
5
  import type { ExecutionResult } from '../core/types';
6
6
  interface AgentChatBarProps {
@@ -8,7 +8,8 @@ interface AgentChatBarProps {
8
8
  isThinking: boolean;
9
9
  lastResult: ExecutionResult | null;
10
10
  language: 'en' | 'ar';
11
+ onDismiss?: () => void;
11
12
  }
12
- export declare function AgentChatBar({ onSend, isThinking, lastResult, language }: AgentChatBarProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare function AgentChatBar({ onSend, isThinking, lastResult, language, onDismiss }: AgentChatBarProps): import("react/jsx-runtime").JSX.Element;
13
14
  export {};
14
15
  //# sourceMappingURL=AgentChatBar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentChatBar.d.ts","sourceRoot":"","sources":["../../../../src/components/AgentChatBar.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,UAAU,iBAAiB;IACzB,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;CACvB;AAED,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,iBAAiB,2CAgD3F"}
1
+ {"version":3,"file":"AgentChatBar.d.ts","sourceRoot":"","sources":["../../../../src/components/AgentChatBar.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAaH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,UAAU,iBAAiB;IACzB,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,eAAe,GAAG,IAAI,CAAC;IACnC,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,wBAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,iBAAiB,2CAyGtG"}
@@ -23,11 +23,27 @@ export declare class AgentRuntime {
23
23
  private registerBuiltInTools;
24
24
  registerAction(action: ActionDefinition): void;
25
25
  unregisterAction(name: string): void;
26
+ /**
27
+ * Recursively collect ALL screen names from the navigation state tree.
28
+ * This handles tabs, drawers, and nested stacks.
29
+ */
26
30
  private getRouteNames;
31
+ private collectRouteNames;
32
+ /**
33
+ * Recursively find the deepest active screen name.
34
+ * For tabs: follows active tab → active screen inside that tab.
35
+ */
27
36
  private getCurrentScreenName;
37
+ private getDeepestScreenName;
38
+ /** Maps a tool call to a user-friendly status label for the loading overlay. */
39
+ private getToolStatusLabel;
28
40
  private buildToolsForProvider;
29
41
  private getWalkConfig;
30
42
  private getInstructions;
43
+ private observations;
44
+ private lastScreenName;
45
+ private handleObservations;
46
+ private assembleUserPrompt;
31
47
  execute(userMessage: string): Promise<ExecutionResult>;
32
48
  /** Update refs (called when component re-renders) */
33
49
  updateRefs(rootRef: any, navRef: any): void;
@@ -1 +1 @@
1
- {"version":3,"file":"AgentRuntime.d.ts","sourceRoot":"","sources":["../../../../src/core/AgentRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EAEX,eAAe,EAEf,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAmDjB,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,KAAK,CAA0C;IACvD,OAAO,CAAC,OAAO,CAA4C;IAC3D,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,mBAAmB,CAAuB;gBAGhD,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,GAAG,EACZ,MAAM,EAAE,GAAG;IAyBb,OAAO,CAAC,oBAAoB;IAkH5B,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAK9C,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMpC,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,oBAAoB;IAc5B,OAAO,CAAC,qBAAqB;IA8B7B,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,eAAe;IAyBjB,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAsK5D,qDAAqD;IACrD,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI;IAK3C,4CAA4C;IAC5C,YAAY,IAAI,OAAO;CAGxB"}
1
+ {"version":3,"file":"AgentRuntime.d.ts","sourceRoot":"","sources":["../../../../src/core/AgentRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EAEX,eAAe,EAEf,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAMjB,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,OAAO,CAAM;IACrB,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,KAAK,CAA0C;IACvD,OAAO,CAAC,OAAO,CAA4C;IAC3D,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,mBAAmB,CAAuB;gBAGhD,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,GAAG,EACZ,MAAM,EAAE,GAAG;IAyBb,OAAO,CAAC,oBAAoB;IAkK5B,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAK9C,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMpC;;;OAGG;IACH,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,iBAAiB;IAczB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,oBAAoB;IAW5B,gFAAgF;IAChF,OAAO,CAAC,kBAAkB;IAmB1B,OAAO,CAAC,qBAAqB;IA8B7B,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,cAAc,CAAc;IAEpC,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,kBAAkB;IAuDpB,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAuL5D,qDAAqD;IACrD,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI;IAK3C,4CAA4C;IAC5C,YAAY,IAAI,OAAO;CAGxB"}
@@ -14,6 +14,11 @@ export interface WalkConfig {
14
14
  /** If set, only these elements are interactive — mirrors page-agent interactiveWhitelist */
15
15
  interactiveWhitelist?: React.RefObject<any>[];
16
16
  }
17
+ /**
18
+ * Check if a node has ANY event handler prop (on* function).
19
+ * Mirrors RNTL's getEventHandlerFromProps pattern.
20
+ */
21
+ export declare function hasAnyEventHandler(props: any): boolean;
17
22
  export interface WalkResult {
18
23
  elementsText: string;
19
24
  interactives: InteractiveElement[];
@@ -1 +1 @@
1
- {"version":3,"file":"FiberTreeWalker.d.ts","sourceRoot":"","sources":["../../../../src/core/FiberTreeWalker.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,SAAS,CAAC;AAI/D,MAAM,WAAW,UAAU;IACzB,kFAAkF;IAClF,oBAAoB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9C,4FAA4F;IAC5F,oBAAoB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;CAC/C;AAmOD,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,kBAAkB,EAAE,CAAC;CACpC;AAID;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,UAAU,CA0F3E"}
1
+ {"version":3,"file":"FiberTreeWalker.d.ts","sourceRoot":"","sources":["../../../../src/core/FiberTreeWalker.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAe,MAAM,SAAS,CAAC;AAI/D,MAAM,WAAW,UAAU;IACzB,kFAAkF;IAClF,oBAAoB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9C,4FAA4F;IAC5F,oBAAoB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;CAC/C;AAsDD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAQtD;AAsND,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,kBAAkB,EAAE,CAAC;CACpC;AAID;;;GAGG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,UAAU,CA4F3E"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * System prompt for the AI agent — adapted from page-agent reference.
3
+ *
4
+ * Separated into its own file for maintainability.
5
+ * The prompt uses XML-style tags (matching page-agent's structure)
6
+ * to give the LLM clear, structured instructions.
7
+ */
8
+ export declare function buildSystemPrompt(language: string): string;
9
+ //# sourceMappingURL=systemPrompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"systemPrompt.d.ts","sourceRoot":"","sources":["../../../../src/core/systemPrompt.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAyJ1D"}
@@ -15,7 +15,8 @@ export interface InteractiveElement {
15
15
  props: {
16
16
  onPress?: (...args: any[]) => void;
17
17
  onChangeText?: (text: string) => void;
18
- value?: string;
18
+ onValueChange?: (value: boolean) => void;
19
+ value?: string | boolean;
19
20
  placeholder?: string;
20
21
  checked?: boolean;
21
22
  disabled?: boolean;
@@ -35,11 +36,7 @@ export interface DehydratedScreen {
35
36
  }
36
37
  export interface AgentStep {
37
38
  stepIndex: number;
38
- reflection: {
39
- evaluationPreviousGoal: string;
40
- memory: string;
41
- nextGoal: string;
42
- };
39
+ reflection: AgentReasoning;
43
40
  action: {
44
41
  name: string;
45
42
  input: Record<string, any>;
@@ -96,6 +93,32 @@ export interface AgentConfig {
96
93
  };
97
94
  /** Delay between steps in ms (page-agent default: 400ms). */
98
95
  stepDelay?: number;
96
+ /**
97
+ * Called with a human-readable status string at each step.
98
+ * Use this to show dynamic loading text (e.g., "Tapping 'Add'...").
99
+ */
100
+ onStatusUpdate?: (status: string) => void;
101
+ /**
102
+ * Callback for when agent needs user input (ask_user tool).
103
+ * Mirrors page-agent: the agent loop blocks until the user responds.
104
+ * If not set, ask_user tool will break the loop (legacy behavior).
105
+ * @example onAskUser: (q) => new Promise(resolve => showPrompt(q, resolve))
106
+ */
107
+ onAskUser?: (question: string) => Promise<string>;
108
+ /**
109
+ * Expo Router instance (from useRouter()).
110
+ * When provided, the navigate tool uses router.push('/path') instead of navRef.navigate().
111
+ */
112
+ router?: {
113
+ push: (href: string) => void;
114
+ replace: (href: string) => void;
115
+ back: () => void;
116
+ };
117
+ /**
118
+ * Current pathname from Expo Router (from usePathname()).
119
+ * Used to determine the current screen when using Expo Router.
120
+ */
121
+ pathname?: string;
99
122
  /**
100
123
  * Optional URL of the companion Node.js MCP server bridge (e.g. ws://localhost:3101).
101
124
  * If set, the SDK will connect to this server and listen for execution requests
@@ -126,13 +149,28 @@ export interface ActionDefinition {
126
149
  parameters: Record<string, string>;
127
150
  handler: (args: Record<string, any>) => any;
128
151
  }
129
- export interface AIProvider {
130
- generateContent(systemPrompt: string, userMessage: string, tools: ToolDefinition[], history: AgentStep[]): Promise<{
131
- toolCalls: Array<{
132
- name: string;
133
- args: Record<string, any>;
134
- }>;
135
- text?: string;
152
+ /** Structured reasoning returned per step via the agent_step tool. */
153
+ export interface AgentReasoning {
154
+ /** Assessment of whether the previous action succeeded or failed. */
155
+ previousGoalEval: string;
156
+ /** What to remember for future steps (progress, items found, etc). */
157
+ memory: string;
158
+ /** The immediate next goal and why. */
159
+ plan: string;
160
+ }
161
+ /** Result from the AI provider's generateContent call. */
162
+ export interface ProviderResult {
163
+ /** Extracted action tool call (action_name + params). */
164
+ toolCalls: Array<{
165
+ name: string;
166
+ args: Record<string, any>;
136
167
  }>;
168
+ /** Structured reasoning from MacroTool (evaluation, memory, next_goal). */
169
+ reasoning: AgentReasoning;
170
+ /** Raw text response (if any). */
171
+ text?: string;
172
+ }
173
+ export interface AIProvider {
174
+ generateContent(systemPrompt: string, userMessage: string, tools: ToolDefinition[], history: AgentStep[]): Promise<ProviderResult>;
137
175
  }
138
176
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/core/types.ts"],"names":[],"mappings":"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"}