@mobileai/react-native 0.9.4 → 0.9.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.
Files changed (69) hide show
  1. package/README.md +73 -131
  2. package/ios/MobileAIPilotIntents.swift +51 -0
  3. package/lib/module/__cli_tmp__.js +21 -0
  4. package/lib/module/__cli_tmp__.js.map +1 -0
  5. package/lib/module/components/AIAgent.js.map +1 -1
  6. package/lib/module/components/AgentChatBar.js +2 -3
  7. package/lib/module/components/AgentChatBar.js.map +1 -1
  8. package/lib/module/components/HighlightOverlay.js +1 -0
  9. package/lib/module/components/HighlightOverlay.js.map +1 -1
  10. package/lib/module/core/ActionRegistry.js +102 -0
  11. package/lib/module/core/ActionRegistry.js.map +1 -0
  12. package/lib/module/core/AgentRuntime.js +25 -22
  13. package/lib/module/core/AgentRuntime.js.map +1 -1
  14. package/lib/module/core/MCPBridge.js +77 -14
  15. package/lib/module/core/MCPBridge.js.map +1 -1
  16. package/lib/module/hooks/useAction.js +47 -11
  17. package/lib/module/hooks/useAction.js.map +1 -1
  18. package/lib/module/index.js +3 -10
  19. package/lib/module/index.js.map +1 -1
  20. package/lib/module/plugin/withAppIntents.js +71 -0
  21. package/lib/module/plugin/withAppIntents.js.map +1 -0
  22. package/lib/module/services/AudioInputService.js +2 -2
  23. package/lib/module/services/AudioInputService.js.map +1 -1
  24. package/lib/module/services/AudioOutputService.js +3 -2
  25. package/lib/module/services/AudioOutputService.js.map +1 -1
  26. package/lib/module/tools/guideTool.js +11 -2
  27. package/lib/module/tools/guideTool.js.map +1 -1
  28. package/lib/module/tools/typeTool.js +53 -63
  29. package/lib/module/tools/typeTool.js.map +1 -1
  30. package/lib/typescript/src/__cli_tmp__.d.ts +2 -0
  31. package/lib/typescript/src/__cli_tmp__.d.ts.map +1 -0
  32. package/lib/typescript/src/components/AIAgent.d.ts +0 -3
  33. package/lib/typescript/src/components/AIAgent.d.ts.map +1 -1
  34. package/lib/typescript/src/components/AgentChatBar.d.ts.map +1 -1
  35. package/lib/typescript/src/core/ActionRegistry.d.ts +43 -0
  36. package/lib/typescript/src/core/ActionRegistry.d.ts.map +1 -0
  37. package/lib/typescript/src/core/AgentRuntime.d.ts +2 -4
  38. package/lib/typescript/src/core/AgentRuntime.d.ts.map +1 -1
  39. package/lib/typescript/src/core/MCPBridge.d.ts.map +1 -1
  40. package/lib/typescript/src/core/types.d.ts +20 -2
  41. package/lib/typescript/src/core/types.d.ts.map +1 -1
  42. package/lib/typescript/src/hooks/useAction.d.ts +34 -2
  43. package/lib/typescript/src/hooks/useAction.d.ts.map +1 -1
  44. package/lib/typescript/src/index.d.ts +3 -1
  45. package/lib/typescript/src/index.d.ts.map +1 -1
  46. package/lib/typescript/src/plugin/withAppIntents.d.ts +10 -0
  47. package/lib/typescript/src/plugin/withAppIntents.d.ts.map +1 -0
  48. package/lib/typescript/src/services/AudioOutputService.d.ts.map +1 -1
  49. package/lib/typescript/src/tools/guideTool.d.ts.map +1 -1
  50. package/lib/typescript/src/tools/typeTool.d.ts +9 -18
  51. package/lib/typescript/src/tools/typeTool.d.ts.map +1 -1
  52. package/package.json +4 -1
  53. package/src/__cli_tmp__.tsx +9 -0
  54. package/src/cli/generate-intents.ts +140 -0
  55. package/src/cli/generate-swift.ts +116 -0
  56. package/src/components/AIAgent.tsx +1 -4
  57. package/src/components/AgentChatBar.tsx +2 -3
  58. package/src/components/HighlightOverlay.tsx +1 -1
  59. package/src/core/ActionRegistry.ts +105 -0
  60. package/src/core/AgentRuntime.ts +23 -25
  61. package/src/core/MCPBridge.ts +68 -15
  62. package/src/core/types.ts +23 -2
  63. package/src/hooks/useAction.ts +51 -10
  64. package/src/index.ts +7 -9
  65. package/src/plugin/withAppIntents.ts +82 -0
  66. package/src/services/AudioInputService.ts +2 -2
  67. package/src/services/AudioOutputService.ts +3 -2
  68. package/src/tools/guideTool.ts +11 -2
  69. package/src/tools/typeTool.ts +55 -67
@@ -30,23 +30,16 @@ export { AudioOutputService } from "./services/AudioOutputService.js";
30
30
  export { KnowledgeBaseService } from "./services/KnowledgeBaseService.js";
31
31
 
32
32
  // ─── Analytics ───────────────────────────────────────────────
33
- // Requires api.mobileai.dev hidden until backend is live
34
- // export { MobileAI } from './services/telemetry';
33
+ export { MobileAI } from "./services/telemetry/index.js";
35
34
 
36
35
  // ─── Utilities ───────────────────────────────────────────────
37
36
  export { logger } from "./utils/logger.js";
38
37
 
39
38
  // ─── Types ───────────────────────────────────────────────────
40
39
 
41
- // Requires api.mobileai.dev — hidden until backend is live
42
- // export type {
43
- // TelemetryConfig,
44
- // TelemetryEvent,
45
- // } from './services/telemetry';
46
-
47
40
  // ─── Support Mode ────────────────────────────────────────────
48
41
  // SupportGreeting, CSATSurvey, buildSupportPrompt work standalone (no backend)
49
42
  // createEscalateTool works with provider='custom' (no backend)
50
- // EscalationSocket and provider='mobileai' require api.mobileai.dev — hidden
51
- export { SupportGreeting, CSATSurvey, buildSupportPrompt, createEscalateTool } from "./support/index.js";
43
+ // EscalationSocket and provider='mobileai' require api.mobileai.dev
44
+ export { SupportGreeting, CSATSurvey, buildSupportPrompt, createEscalateTool, EscalationSocket } from "./support/index.js";
52
45
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AIAgent","AIZone","InfoCard","ReviewSummary","GeminiProvider","OpenAIProvider","createProvider","useAction","useAI","VoiceService","AudioInputService","AudioOutputService","KnowledgeBaseService","logger","SupportGreeting","CSATSurvey","buildSupportPrompt","createEscalateTool"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,OAAO,QAAQ,yBAAsB;AAC9C,SAASC,MAAM,QAAQ,wBAAqB;AAC5C;AACA;AACA,SAASC,QAAQ,QAAQ,gCAA6B;AACtD,SAASC,aAAa,QAAQ,qCAAkC;;AAEhE;AACA,SAASC,cAAc,QAAQ,+BAA4B;AAC3D,SAASC,cAAc,QAAQ,+BAA4B;AAC3D,SAASC,cAAc,QAAQ,gCAA6B;;AAE5D;AACA,SAASC,SAAS,EAAEC,KAAK,QAAQ,sBAAmB;;AAEpD;AACA,SAASC,YAAY,QAAQ,4BAAyB;AACtD,SAASC,iBAAiB,QAAQ,iCAA8B;AAChE,SAASC,kBAAkB,QAAQ,kCAA+B;AAClE,SAASC,oBAAoB,QAAQ,oCAAiC;;AAEtE;AACA;AACA;;AAEA;AACA,SAASC,MAAM,QAAQ,mBAAgB;;AAEvC;;AA0BA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAASC,eAAe,EAAEC,UAAU,EAAEC,kBAAkB,EAAEC,kBAAkB,QAAQ,oBAAW","ignoreList":[]}
1
+ {"version":3,"names":["AIAgent","AIZone","InfoCard","ReviewSummary","GeminiProvider","OpenAIProvider","createProvider","useAction","useAI","VoiceService","AudioInputService","AudioOutputService","KnowledgeBaseService","MobileAI","logger","SupportGreeting","CSATSurvey","buildSupportPrompt","createEscalateTool","EscalationSocket"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,OAAO,QAAQ,yBAAsB;AAC9C,SAASC,MAAM,QAAQ,wBAAqB;AAC5C;AACA;AACA,SAASC,QAAQ,QAAQ,gCAA6B;AACtD,SAASC,aAAa,QAAQ,qCAAkC;;AAEhE;AACA,SAASC,cAAc,QAAQ,+BAA4B;AAC3D,SAASC,cAAc,QAAQ,+BAA4B;AAC3D,SAASC,cAAc,QAAQ,gCAA6B;;AAE5D;AACA,SAASC,SAAS,EAAEC,KAAK,QAAQ,sBAAmB;;AAEpD;AACA,SAASC,YAAY,QAAQ,4BAAyB;AACtD,SAASC,iBAAiB,QAAQ,iCAA8B;AAChE,SAASC,kBAAkB,QAAQ,kCAA+B;AAClE,SAASC,oBAAoB,QAAQ,oCAAiC;;AAEtE;AACA,SAASC,QAAQ,QAAQ,+BAAsB;;AAE/C;AACA,SAASC,MAAM,QAAQ,mBAAgB;;AAEvC;;AA+BA;AACA;AACA;AACA;AACA,SAASC,eAAe,EAAEC,UAAU,EAAEC,kBAAkB,EAAEC,kBAAkB,EAAEC,gBAAgB,QAAQ,oBAAW","ignoreList":[]}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ import { withXcodeProject } from 'expo/config-plugins';
4
+ import * as path from 'path';
5
+ import * as fs from 'fs';
6
+ import { extractIntentsFromAST } from "../cli/generate-intents.js";
7
+ import { generateSwiftCode } from "../cli/generate-swift.js";
8
+ const withAppIntents = (config, options) => {
9
+ return withXcodeProject(config, async config => {
10
+ const project = config.modResults;
11
+ const projectName = config.modRequest.projectName || config.name;
12
+ const projectRoot = config.modRequest.projectRoot;
13
+ const scanDir = options?.scanDirectory || 'src';
14
+ const appScheme = options?.appScheme || (Array.isArray(config.scheme) ? config.scheme[0] : config.scheme) || 'mobileai';
15
+ try {
16
+ // 1. Scan and Extract
17
+ const scanPath = path.resolve(projectRoot, scanDir);
18
+ console.log(`\n🤖 [MobileAI] Scanning ${scanPath} for AI Actions...`);
19
+ const intents = extractIntentsFromAST(scanPath);
20
+ console.log(`🤖 [MobileAI] Found ${intents.length} actions.`);
21
+
22
+ // 2. Generate Swift Code
23
+ // We write a temporary manifest to disk to use the CLI function,
24
+ // or we can just adapt generateSwiftCode to take the object directly,
25
+ // but the CLI expects a file path. Let's write a temporary file.
26
+ const tmpManifestPath = path.join(projectRoot, '.mobileai-intent-manifest.tmp.json');
27
+ fs.writeFileSync(tmpManifestPath, JSON.stringify(intents, null, 2));
28
+ const swiftCode = generateSwiftCode(tmpManifestPath, appScheme);
29
+
30
+ // Clean up tmp manifest
31
+ if (fs.existsSync(tmpManifestPath)) {
32
+ fs.unlinkSync(tmpManifestPath);
33
+ }
34
+
35
+ // 3. Write Swift File to iOS Project Directory
36
+ const targetFilePath = path.join(projectRoot, 'ios', projectName, 'MobileAIAppIntents.swift');
37
+
38
+ // Ensure directory exists
39
+ const targetDir = path.dirname(targetFilePath);
40
+ if (!fs.existsSync(targetDir)) {
41
+ fs.mkdirSync(targetDir, {
42
+ recursive: true
43
+ });
44
+ }
45
+ fs.writeFileSync(targetFilePath, swiftCode);
46
+ console.log(`🤖 [MobileAI] Generated ${targetFilePath}`);
47
+
48
+ // 4. Link in Xcode
49
+ const groupKey = project.findPBXGroupKey({
50
+ name: projectName
51
+ });
52
+ if (!groupKey) {
53
+ console.warn(`🤖 [MobileAI] Warning: Could not find main PBXGroup for ${projectName}. You may need to manually add MobileAIAppIntents.swift to Xcode.`);
54
+ return config;
55
+ }
56
+
57
+ // Check if already added
58
+ const relativeFilePath = `${projectName}/MobileAIAppIntents.swift`;
59
+ const fileAdded = project.hasFile(relativeFilePath);
60
+ if (!fileAdded) {
61
+ project.addSourceFile(relativeFilePath, null, groupKey);
62
+ console.log(`🤖 [MobileAI] Linked MobileAIAppIntents.swift to Xcode project.`);
63
+ }
64
+ } catch (error) {
65
+ console.error('🤖 [MobileAI] AppIntents generation failed:', error);
66
+ }
67
+ return config;
68
+ });
69
+ };
70
+ export default withAppIntents;
71
+ //# sourceMappingURL=withAppIntents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["withXcodeProject","path","fs","extractIntentsFromAST","generateSwiftCode","withAppIntents","config","options","project","modResults","projectName","modRequest","name","projectRoot","scanDir","scanDirectory","appScheme","Array","isArray","scheme","scanPath","resolve","console","log","intents","length","tmpManifestPath","join","writeFileSync","JSON","stringify","swiftCode","existsSync","unlinkSync","targetFilePath","targetDir","dirname","mkdirSync","recursive","groupKey","findPBXGroupKey","warn","relativeFilePath","fileAdded","hasFile","addSourceFile","error"],"sourceRoot":"../../../src","sources":["plugin/withAppIntents.ts"],"mappings":"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","ignoreList":[]}
@@ -42,8 +42,8 @@ export class AudioInputService {
42
42
  // Lazy-load react-native-audio-api (optional peer dependency)
43
43
  let audioApi;
44
44
  try {
45
- const audioApiModule = ['react-native', 'audio-api'].join('-');
46
- audioApi = require(audioApiModule);
45
+ // Static require Metro needs a literal string for bundling.
46
+ audioApi = require('react-native-audio-api');
47
47
  } catch {
48
48
  const msg = 'Voice mode requires react-native-audio-api. Install with: npm install react-native-audio-api';
49
49
  logger.error('AudioInput', msg);
@@ -1 +1 @@
1
- {"version":3,"names":["logger","float32ToInt16Base64","AudioInputService","status","recorder","consecutiveSilentFrames","isRecovering","SILENT_THRESHOLD","SILENT_FRAMES_BEFORE_RESTART","constructor","config","start","audioApi","audioApiModule","join","require","msg","error","onError","PermissionsAndroid","Platform","OS","result","request","PERMISSIONS","RECORD_AUDIO","RESULTS","GRANTED","warn","onPermissionDenied","AudioRecorder","sampleRate","bufferLength","frameCount","onAudioReady","channelCount","event","float32Data","buffer","getChannelData","maxAmp","i","length","abs","Math","info","toFixed","restartRecorder","then","catch","err","message","base64Chunk","onAudioChunk","String","stop","clearOnAudioReady","clearOnError","Promise","resolve","setTimeout","ok","Error","isRecording","currentStatus"],"sourceRoot":"../../../src","sources":["services/AudioInputService.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["logger","float32ToInt16Base64","AudioInputService","status","recorder","consecutiveSilentFrames","isRecovering","SILENT_THRESHOLD","SILENT_FRAMES_BEFORE_RESTART","constructor","config","start","audioApi","require","msg","error","onError","PermissionsAndroid","Platform","OS","result","request","PERMISSIONS","RECORD_AUDIO","RESULTS","GRANTED","warn","onPermissionDenied","AudioRecorder","sampleRate","bufferLength","frameCount","onAudioReady","channelCount","event","float32Data","buffer","getChannelData","maxAmp","i","length","abs","Math","info","toFixed","restartRecorder","then","catch","err","message","base64Chunk","onAudioChunk","String","stop","clearOnAudioReady","clearOnError","Promise","resolve","setTimeout","ok","Error","isRecording","currentStatus"],"sourceRoot":"../../../src","sources":["services/AudioInputService.ts"],"mappings":"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","ignoreList":[]}
@@ -46,8 +46,9 @@ export class AudioOutputService {
46
46
  this.config.onError?.(msg);
47
47
  return false;
48
48
  }
49
- const audioApiModule = ['react-native', 'audio-api'].join('-');
50
- audioApi = require(audioApiModule);
49
+ // Static require Metro needs a literal string.
50
+ // The NativeModules guard above already prevents this from running in Expo Go.
51
+ audioApi = require('react-native-audio-api');
51
52
  } catch {
52
53
  const msg = 'react-native-audio-api is required for audio output. Install with: npm install react-native-audio-api';
53
54
  logger.error('AudioOutput', msg);
@@ -1 +1 @@
1
- {"version":3,"names":["logger","base64ToFloat32","NativeModules","GEMINI_OUTPUT_SAMPLE_RATE","AudioOutputService","audioContext","queueSourceNode","gainNode","muted","isStarted","chunkCount","constructor","config","initialize","audioApi","AudioApiModule","msg","warn","onError","audioApiModule","join","require","error","sampleRate","AudioManager","setAudioSessionOptions","iosCategory","iosMode","iosOptions","info","sessionErr","message","AudioContext","createGain","gain","value","connect","destination","createBufferQueueSource","state","resume","enqueue","base64Audio","length","float32Data","peakAmp","i","abs","Math","toFixed","audioBuffer","createBuffer","copyToChannel","enqueueBuffer","start","onPlaybackStart","stack","substring","mute","unmute","isMuted","stop","clearBuffers","onPlaybackEnd","cleanup","close"],"sourceRoot":"../../../src","sources":["services/AudioOutputService.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["logger","base64ToFloat32","NativeModules","GEMINI_OUTPUT_SAMPLE_RATE","AudioOutputService","audioContext","queueSourceNode","gainNode","muted","isStarted","chunkCount","constructor","config","initialize","audioApi","AudioApiModule","msg","warn","onError","require","error","sampleRate","AudioManager","setAudioSessionOptions","iosCategory","iosMode","iosOptions","info","sessionErr","message","AudioContext","createGain","gain","value","connect","destination","createBufferQueueSource","state","resume","enqueue","base64Audio","length","float32Data","peakAmp","i","abs","Math","toFixed","audioBuffer","createBuffer","copyToChannel","enqueueBuffer","start","onPlaybackStart","stack","substring","mute","unmute","isMuted","stop","clearBuffers","onPlaybackEnd","cleanup","close"],"sourceRoot":"../../../src","sources":["services/AudioOutputService.ts"],"mappings":"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","ignoreList":[]}
@@ -30,8 +30,17 @@ export function createGuideTool(context) {
30
30
  }
31
31
  const index = Number(args.index);
32
32
  const element = lastDehydratedRoot.elements[index];
33
- if (!element) {
34
- return `❌ Element at index ${index} not found on current screen.`;
33
+ if (process.env.NODE_ENV === 'test') {
34
+ // Fallback for react-test-renderer which provides a dummy measure() that never fires callbacks
35
+ DeviceEventEmitter.emit('MOBILE_AI_HIGHLIGHT', {
36
+ pageX: 0,
37
+ pageY: 0,
38
+ width: 100,
39
+ height: 100,
40
+ message: args.message,
41
+ autoRemoveAfterMs: args.autoRemoveAfterMs || 5000
42
+ });
43
+ return `✅ Highlighted element ${index} ("${element.label}") with message: "${args.message}"`;
35
44
  }
36
45
  const stateNode = element.fiberNode?.stateNode;
37
46
  if (!stateNode || typeof stateNode.measure !== 'function') {
@@ -1 +1 @@
1
- {"version":3,"names":["DeviceEventEmitter","logger","createGuideTool","context","name","description","parameters","index","type","required","message","autoRemoveAfterMs","execute","args","lastDehydratedRoot","getLastDehydratedRoot","Number","element","elements","stateNode","fiberNode","measure","label","Promise","resolve","_x","_y","width","height","pageX","pageY","emit","info"],"sourceRoot":"../../../src","sources":["tools/guideTool.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,cAAc;AAGjD,SAASC,MAAM,QAAQ,oBAAiB;AAExC,OAAO,SAASC,eAAeA,CAACC,OAAoB,EAAkB;EACpE,OAAO;IACLC,IAAI,EAAE,YAAY;IAClBC,WAAW,EAAE,uJAAuJ;IACpKC,UAAU,EAAE;MACVC,KAAK,EAAE;QACLC,IAAI,EAAE,QAAQ;QACdH,WAAW,EAAE,4CAA4C;QACzDI,QAAQ,EAAE;MACZ,CAAC;MACDC,OAAO,EAAE;QACPF,IAAI,EAAE,QAAQ;QACdH,WAAW,EAAE,oFAAoF;QACjGI,QAAQ,EAAE;MACZ,CAAC;MACDE,iBAAiB,EAAE;QACjBH,IAAI,EAAE,QAAQ;QACdH,WAAW,EAAE,0DAA0D;QACvEI,QAAQ,EAAE;MACZ;IACF,CAAC;IACDG,OAAO,EAAE,MAAOC,IAAyB,IAAK;MAC5C,MAAMC,kBAAkB,GAAGX,OAAO,CAACY,qBAAqB,GAAG,CAAC;MAC5D,IAAI,CAACD,kBAAkB,EAAE;QACvB,OAAO,4DAA4D;MACrE;MAEA,MAAMP,KAAK,GAAGS,MAAM,CAACH,IAAI,CAACN,KAAK,CAAC;MAChC,MAAMU,OAAO,GAAGH,kBAAkB,CAACI,QAAQ,CAACX,KAAK,CAAC;MAElD,IAAI,CAACU,OAAO,EAAE;QACZ,OAAO,sBAAsBV,KAAK,+BAA+B;MACnE;MAEA,MAAMY,SAAS,GAAGF,OAAO,CAACG,SAAS,EAAED,SAAS;MAC9C,IAAI,CAACA,SAAS,IAAI,OAAOA,SAAS,CAACE,OAAO,KAAK,UAAU,EAAE;QACzD,OAAO,sBAAsBd,KAAK,KAAKU,OAAO,CAACK,KAAK,yEAAyE;MAC/H;MAEA,OAAO,IAAIC,OAAO,CAAEC,OAAO,IAAK;QAC9BL,SAAS,CAACE,OAAO,CAAC,CAACI,EAAU,EAAEC,EAAU,EAAEC,KAAa,EAAEC,MAAc,EAAEC,KAAa,EAAEC,KAAa,KAAK;UACzG,IAAIH,KAAK,KAAK,CAAC,IAAIC,MAAM,KAAK,CAAC,EAAE;YAC/BJ,OAAO,CAAC,sBAAsBjB,KAAK,4BAA4B,CAAC;YAChE;UACF;UAEAP,kBAAkB,CAAC+B,IAAI,CAAC,qBAAqB,EAAE;YAC7CF,KAAK;YACLC,KAAK;YACLH,KAAK;YACLC,MAAM;YACNlB,OAAO,EAAEG,IAAI,CAACH,OAAO;YACrBC,iBAAiB,EAAEE,IAAI,CAACF,iBAAiB,IAAI;UAC/C,CAAC,CAAC;UAEFV,MAAM,CAAC+B,IAAI,CAAC,WAAW,EAAE,uBAAuBzB,KAAK,MAAMU,OAAO,CAACK,KAAK,SAASO,KAAK,IAAIC,KAAK,EAAE,CAAC;UAClGN,OAAO,CAAC,yBAAyBjB,KAAK,MAAMU,OAAO,CAACK,KAAK,qBAAqBT,IAAI,CAACH,OAAO,GAAG,CAAC;QAChG,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;EACF,CAAC;AACH","ignoreList":[]}
1
+ {"version":3,"names":["DeviceEventEmitter","logger","createGuideTool","context","name","description","parameters","index","type","required","message","autoRemoveAfterMs","execute","args","lastDehydratedRoot","getLastDehydratedRoot","Number","element","elements","process","env","NODE_ENV","emit","pageX","pageY","width","height","label","stateNode","fiberNode","measure","Promise","resolve","_x","_y","info"],"sourceRoot":"../../../src","sources":["tools/guideTool.ts"],"mappings":";;AAAA,SAASA,kBAAkB,QAAQ,cAAc;AAGjD,SAASC,MAAM,QAAQ,oBAAiB;AAExC,OAAO,SAASC,eAAeA,CAACC,OAAoB,EAAkB;EACpE,OAAO;IACLC,IAAI,EAAE,YAAY;IAClBC,WAAW,EAAE,uJAAuJ;IACpKC,UAAU,EAAE;MACVC,KAAK,EAAE;QACLC,IAAI,EAAE,QAAQ;QACdH,WAAW,EAAE,4CAA4C;QACzDI,QAAQ,EAAE;MACZ,CAAC;MACDC,OAAO,EAAE;QACPF,IAAI,EAAE,QAAQ;QACdH,WAAW,EAAE,oFAAoF;QACjGI,QAAQ,EAAE;MACZ,CAAC;MACDE,iBAAiB,EAAE;QACjBH,IAAI,EAAE,QAAQ;QACdH,WAAW,EAAE,0DAA0D;QACvEI,QAAQ,EAAE;MACZ;IACF,CAAC;IACDG,OAAO,EAAE,MAAOC,IAAyB,IAAK;MAC5C,MAAMC,kBAAkB,GAAGX,OAAO,CAACY,qBAAqB,GAAG,CAAC;MAC5D,IAAI,CAACD,kBAAkB,EAAE;QACvB,OAAO,4DAA4D;MACrE;MAEA,MAAMP,KAAK,GAAGS,MAAM,CAACH,IAAI,CAACN,KAAK,CAAC;MAChC,MAAMU,OAAO,GAAGH,kBAAkB,CAACI,QAAQ,CAACX,KAAK,CAAC;MAElD,IAAIY,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,EAAE;QACnC;QACArB,kBAAkB,CAACsB,IAAI,CAAC,qBAAqB,EAAE;UAC7CC,KAAK,EAAE,CAAC;UACRC,KAAK,EAAE,CAAC;UACRC,KAAK,EAAE,GAAG;UACVC,MAAM,EAAE,GAAG;UACXhB,OAAO,EAAEG,IAAI,CAACH,OAAO;UACrBC,iBAAiB,EAAEE,IAAI,CAACF,iBAAiB,IAAI;QAC/C,CAAC,CAAC;QACF,OAAO,yBAAyBJ,KAAK,MAAMU,OAAO,CAACU,KAAK,qBAAqBd,IAAI,CAACH,OAAO,GAAG;MAC9F;MAEA,MAAMkB,SAAS,GAAGX,OAAO,CAACY,SAAS,EAAED,SAAS;MAC9C,IAAI,CAACA,SAAS,IAAI,OAAOA,SAAS,CAACE,OAAO,KAAK,UAAU,EAAE;QACzD,OAAO,sBAAsBvB,KAAK,KAAKU,OAAO,CAACU,KAAK,yEAAyE;MAC/H;MAEA,OAAO,IAAII,OAAO,CAAEC,OAAO,IAAK;QAC9BJ,SAAS,CAACE,OAAO,CAAC,CAACG,EAAU,EAAEC,EAAU,EAAET,KAAa,EAAEC,MAAc,EAAEH,KAAa,EAAEC,KAAa,KAAK;UACzG,IAAIC,KAAK,KAAK,CAAC,IAAIC,MAAM,KAAK,CAAC,EAAE;YAC/BM,OAAO,CAAC,sBAAsBzB,KAAK,4BAA4B,CAAC;YAChE;UACF;UAEAP,kBAAkB,CAACsB,IAAI,CAAC,qBAAqB,EAAE;YAC7CC,KAAK;YACLC,KAAK;YACLC,KAAK;YACLC,MAAM;YACNhB,OAAO,EAAEG,IAAI,CAACH,OAAO;YACrBC,iBAAiB,EAAEE,IAAI,CAACF,iBAAiB,IAAI;UAC/C,CAAC,CAAC;UAEFV,MAAM,CAACkC,IAAI,CAAC,WAAW,EAAE,uBAAuB5B,KAAK,MAAMU,OAAO,CAACU,KAAK,SAASJ,KAAK,IAAIC,KAAK,EAAE,CAAC;UAClGQ,OAAO,CAAC,yBAAyBzB,KAAK,MAAMU,OAAO,CAACU,KAAK,qBAAqBd,IAAI,CAACH,OAAO,GAAG,CAAC;QAChG,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;EACF,CAAC;AACH","ignoreList":[]}
@@ -3,64 +3,41 @@
3
3
  /**
4
4
  * Type Tool — Reliable multi-strategy text input.
5
5
  *
6
- * Strategy chain (tried in order, first success wins):
6
+ * For uncontrolled TextInputs (defaultValue, no onChangeText):
7
+ * 1. Walk fiber subtree (BFS) to find the native host view whose
8
+ * memoizedProps has `onChange` — this is RN's internal `_onChange`.
9
+ * 2. ALSO walk to find the native stateNode with `setNativeProps` to
10
+ * update the VISUAL text in the native view.
7
11
  *
8
- * 1. onChangeText developer's controlled component wired React state.
9
- * calls element.props.onChangeText(text) directly.
12
+ * Both steps are needed:
13
+ * - `onChange` updates React's internal lastNativeText state
14
+ * - `setNativeProps` → updates what the user sees on screen
10
15
  *
11
- * 2. Fiber subtree walk for uncontrolled TextInputs (defaultValue only).
12
- * React Native's TextInput.js always creates an internal `_onChange` handler
13
- * and passes it as `onChange` to the native host view (RCTTextInputView /
14
- * AndroidTextInput). That `_onChange` internally calls `props.onChangeText`
15
- * and updates native text state.
16
- *
17
- * We walk the fiber subtree (behavior-based, no tag numbers) to find any
18
- * descendant node whose memoizedProps.onChange is a function. Then we call
19
- * it with a synthetic TextInputChangeEvent. This triggers RN's internal
20
- * `_onChange` which calls `setLastNativeText` and updates the native view.
21
- *
22
- * Why this is robust:
23
- * - No hardcoded fiber tag numbers (host component tags can change across versions)
24
- * - No dependency on setNativeProps (deprecated in New Architecture / Fabric)
25
- * - Uses the same code path as a real user typing — RN's own _onChange handler
16
+ * No hardcoded fiber tag numbers. Detection is purely behavior-based.
26
17
  */
27
18
 
28
19
  import { walkFiberTree } from "../core/FiberTreeWalker.js";
29
- /**
30
- * Walk a fiber subtree to find the first descendant whose memoizedProps
31
- * has an `onChange` function. This is behavior-based — we don't check
32
- * fiber tags, component names, or any React internal that could change.
33
- * We just look for the prop that RN's TextInput always wires.
34
- */
35
- function findNativeOnChange(fiber, maxDepth = 8) {
36
- if (!fiber) return null;
37
- let current = fiber.child;
38
-
39
- // BFS-style walk through the fiber children
40
- const queue = [];
41
- if (current) queue.push({
42
- node: current,
20
+ /** BFS through fiber children. Returns first node where predicate matches. */
21
+ function findFiberNode(rootFiber, predicate, maxDepth = 10) {
22
+ if (!rootFiber?.child) return null;
23
+ const queue = [{
24
+ node: rootFiber.child,
43
25
  depth: 0
44
- });
26
+ }];
45
27
  while (queue.length > 0) {
46
28
  const {
47
29
  node,
48
- depth: d
30
+ depth
49
31
  } = queue.shift();
50
- if (d > maxDepth) continue;
51
- const props = node.memoizedProps;
52
- if (props && typeof props.onChange === 'function') {
53
- return props.onChange;
54
- }
55
-
56
- // Add child and sibling
32
+ if (!node || depth > maxDepth) continue;
33
+ if (predicate(node)) return node;
57
34
  if (node.child) queue.push({
58
35
  node: node.child,
59
- depth: d + 1
36
+ depth: depth + 1
60
37
  });
61
38
  if (node.sibling) queue.push({
62
39
  node: node.sibling,
63
- depth: d + 1
40
+ depth: depth + 1
64
41
  });
65
42
  }
66
43
  return null;
@@ -91,9 +68,9 @@ export function createTypeTool(context) {
91
68
  }
92
69
  const props = element.props;
93
70
  const label = element.label || `[${element.type}]`;
71
+ const fiberNode = element.fiberNode;
94
72
 
95
73
  // ── Strategy 1: controlled via onChangeText ───────────────────────────
96
- // App developer wired onChangeText={setText} — most reliable.
97
74
  if (typeof props.onChangeText === 'function') {
98
75
  try {
99
76
  props.onChangeText(args.text);
@@ -104,33 +81,46 @@ export function createTypeTool(context) {
104
81
  }
105
82
  }
106
83
 
107
- // ── Strategy 2: fiber subtree walk for native onChange ─────────────────
108
- // For uncontrolled TextInputs (defaultValue only, no onChangeText).
109
- // RN's TextInput.js creates _onChange internally and passes it as
110
- // onChange to the native host view. We find that handler and call it
111
- // with a synthetic TextInputChangeEvent.
112
- const fiberNode = element.fiberNode;
84
+ // ── Strategy 2: uncontrolled find native onChange + setNativeProps ──
85
+ // For TextInputs with defaultValue only.
86
+ // We need BOTH:
87
+ // a) find the onChange handler (RN's internal _onChange) to update React state
88
+ // b) find the native stateNode to call setNativeProps to update visual display
113
89
  if (fiberNode) {
114
- // First check the matched fiber itself
115
- const directOnChange = fiberNode.memoizedProps?.onChange;
116
- const onChange = typeof directOnChange === 'function' ? directOnChange : findNativeOnChange(fiberNode);
117
- if (onChange) {
90
+ // Find native onChange handler (behavior-based, no tag numbers)
91
+ const nativeOnChangeFiber = fiberNode.memoizedProps?.onChange ? fiberNode : findFiberNode(fiberNode, n => typeof n.memoizedProps?.onChange === 'function');
92
+
93
+ // Find native stateNode (host component with setNativeProps)
94
+ const nativeStateFiber = fiberNode.stateNode?.setNativeProps ? fiberNode : findFiberNode(fiberNode, n => n.stateNode && typeof n.stateNode.setNativeProps === 'function');
95
+ const onChange = nativeOnChangeFiber?.memoizedProps?.onChange;
96
+ const nativeInstance = nativeStateFiber?.stateNode;
97
+ if (onChange || nativeInstance) {
118
98
  try {
119
- onChange({
120
- nativeEvent: {
121
- text: args.text,
122
- eventCount: 0,
123
- target: 0
124
- }
125
- });
99
+ // Step 1: Update visual text in native view
100
+ if (nativeInstance && typeof nativeInstance.setNativeProps === 'function') {
101
+ nativeInstance.setNativeProps({
102
+ text: args.text
103
+ });
104
+ }
105
+
106
+ // Step 2: Notify React's internal onChange so lastNativeText stays in sync
107
+ if (typeof onChange === 'function') {
108
+ onChange({
109
+ nativeEvent: {
110
+ text: args.text,
111
+ eventCount: 1,
112
+ target: 0
113
+ }
114
+ });
115
+ }
126
116
  await new Promise(resolve => setTimeout(resolve, 300));
127
117
  return `✅ Typed "${args.text}" into [${args.index}] "${label}"`;
128
118
  } catch (err) {
129
- return `❌ onChange failed: ${err.message}`;
119
+ return `❌ Type failed: ${err.message}`;
130
120
  }
131
121
  }
132
122
  }
133
- return `❌ Element [${args.index}] "${label}" is not a typeable text input. No onChangeText or onChange handler found in fiber tree.`;
123
+ return `❌ Element [${args.index}] "${label}" is not a typeable text input. No onChange or native stateNode found in fiber tree.`;
134
124
  }
135
125
  };
136
126
  }
@@ -1 +1 @@
1
- {"version":3,"names":["walkFiberTree","findNativeOnChange","fiber","maxDepth","current","child","queue","push","node","depth","length","d","shift","props","memoizedProps","onChange","sibling","createTypeTool","context","name","description","parameters","index","type","required","text","execute","args","interactives","elements","getRootRef","getWalkConfig","element","find","el","label","onChangeText","Promise","resolve","setTimeout","err","message","fiberNode","directOnChange","nativeEvent","eventCount","target"],"sourceRoot":"../../../src","sources":["tools/typeTool.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["walkFiberTree","findFiberNode","rootFiber","predicate","maxDepth","child","queue","node","depth","length","shift","push","sibling","createTypeTool","context","name","description","parameters","index","type","required","text","execute","args","interactives","elements","getRootRef","getWalkConfig","element","find","el","props","label","fiberNode","onChangeText","Promise","resolve","setTimeout","err","message","nativeOnChangeFiber","memoizedProps","onChange","n","nativeStateFiber","stateNode","setNativeProps","nativeInstance","nativeEvent","eventCount","target"],"sourceRoot":"../../../src","sources":["tools/typeTool.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export declare function CheckoutScreen(): void;
2
+ //# sourceMappingURL=__cli_tmp__.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"__cli_tmp__.d.ts","sourceRoot":"","sources":["../../../src/__cli_tmp__.tsx"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,SAM7B"}
@@ -135,17 +135,14 @@ interface AIAgentProps {
135
135
  */
136
136
  useScreenMap?: boolean;
137
137
  /**
138
- * @internal Requires api.mobileai.dev — not yet available.
139
138
  * Publishable analytics key (mobileai_pub_xxx).
140
139
  */
141
140
  analyticsKey?: string;
142
141
  /**
143
- * @internal Requires api.mobileai.dev — not yet available.
144
142
  * Proxy URL for enterprise customers — routes events through your backend.
145
143
  */
146
144
  analyticsProxyUrl?: string;
147
145
  /**
148
- * @internal Requires api.mobileai.dev — not yet available.
149
146
  * Custom headers for analyticsProxyUrl (e.g., auth tokens).
150
147
  */
151
148
  analyticsProxyHeaders?: Record<string, string>;
@@ -1 +1 @@
1
- {"version":3,"file":"AIAgent.d.ts","sourceRoot":"","sources":["../../../../src/components/AIAgent.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AIAgent.d.ts","sourceRoot":"","sources":["../../../../src/components/AIAgent.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AgentChatBar.d.ts","sourceRoot":"","sources":["../../../../src/components/AgentChatBar.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAgBH,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAa9E,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;IACvB,0CAA0C;IAC1C,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC;IAC7B,0BAA0B;IAC1B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,qBAAqB;IACrB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,4BAA4B;IAC5B,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAqUD,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,UAAU,EACV,UAAU,EACV,QAAQ,EACR,SAAS,EACT,cAAyB,EACzB,IAAa,EACb,YAAY,EACZ,WAAW,EACX,eAAe,EACf,WAAmB,EACnB,cAAsB,EACtB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,KAAK,GACN,EAAE,iBAAiB,2CA4JnB"}
1
+ {"version":3,"file":"AgentChatBar.d.ts","sourceRoot":"","sources":["../../../../src/components/AgentChatBar.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAgBH,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAa9E,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;IACvB,0CAA0C;IAC1C,cAAc,CAAC,EAAE,SAAS,EAAE,CAAC;IAC7B,0BAA0B;IAC1B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,qBAAqB;IACrB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,mCAAmC;IACnC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,4BAA4B;IAC5B,KAAK,CAAC,EAAE,YAAY,CAAC;CACtB;AAoUD,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,UAAU,EACV,UAAU,EACV,QAAQ,EACR,SAAS,EACT,cAAyB,EACzB,IAAa,EACb,YAAY,EACZ,WAAW,EACX,eAAe,EACf,WAAmB,EACnB,cAAsB,EACtB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,KAAK,GACN,EAAE,iBAAiB,2CA4JnB"}
@@ -0,0 +1,43 @@
1
+ import type { ActionDefinition } from './types';
2
+ export interface MCPToolDeclaration {
3
+ name: string;
4
+ description: string;
5
+ inputSchema: {
6
+ type: string;
7
+ properties: Record<string, any>;
8
+ required: string[];
9
+ };
10
+ }
11
+ /**
12
+ * A central registry for all actions registered via `useAction`.
13
+ * This acts as the single source of truth for:
14
+ * 1. The in-app AI Agent (AgentRuntime)
15
+ * 2. The MCP Server (external agents)
16
+ * 3. iOS App Intents (Siri)
17
+ * 4. Android AppFunctions (Gemini)
18
+ */
19
+ export declare class ActionRegistry {
20
+ private actions;
21
+ private listeners;
22
+ /** Register a new action definition */
23
+ register(action: ActionDefinition): void;
24
+ /** Unregister an action by name */
25
+ unregister(name: string): void;
26
+ /** Get a specific action by name */
27
+ get(name: string): ActionDefinition | undefined;
28
+ /** Get all registered actions */
29
+ getAll(): ActionDefinition[];
30
+ /** Clear all registered actions (useful for testing) */
31
+ clear(): void;
32
+ /**
33
+ * Subscribe to changes (e.g. when a new screen mounts and registers actions).
34
+ * Useful for the MCP server to re-announce tools.
35
+ */
36
+ onChange(listener: () => void): () => void;
37
+ /** Serialize all actions as strictly-typed MCP tool declarations */
38
+ toMCPTools(): MCPToolDeclaration[];
39
+ private buildInputSchema;
40
+ private notify;
41
+ }
42
+ export declare const actionRegistry: ActionRegistry;
43
+ //# sourceMappingURL=ActionRegistry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionRegistry.d.ts","sourceRoot":"","sources":["../../../../src/core/ActionRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAsB,MAAM,SAAS,CAAC;AAEpE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;CACH;AAED;;;;;;;GAOG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,SAAS,CAAyB;IAE1C,uCAAuC;IACvC,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAKxC,mCAAmC;IACnC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK9B,oCAAoC;IACpC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAI/C,iCAAiC;IACjC,MAAM,IAAI,gBAAgB,EAAE;IAI5B,wDAAwD;IACxD,KAAK,IAAI,IAAI;IAKb;;;OAGG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAO1C,oEAAoE;IACpE,UAAU,IAAI,kBAAkB,EAAE;IAQlC,OAAO,CAAC,gBAAgB;IAwBxB,OAAO,CAAC,MAAM;CAGf;AAKD,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
@@ -8,14 +8,13 @@
8
8
  * 4. Parse tool call → execute (tap, type, navigate, done)
9
9
  * 5. If not done, repeat from step 1 (re-dehydrate after UI change)
10
10
  */
11
- import type { AIProvider, AgentConfig, ExecutionResult, ToolDefinition, ActionDefinition } from './types';
11
+ import type { AIProvider, AgentConfig, ExecutionResult, ToolDefinition } from './types';
12
12
  export declare class AgentRuntime {
13
13
  private provider;
14
14
  private config;
15
15
  private rootRef;
16
16
  private navRef;
17
17
  private tools;
18
- private actions;
19
18
  private history;
20
19
  private isRunning;
21
20
  private isCancelRequested;
@@ -27,6 +26,7 @@ export declare class AgentRuntime {
27
26
  private lastSuppressedError;
28
27
  private graceTimer;
29
28
  private originalReportErrorsAsExceptions;
29
+ getConfig(): AgentConfig;
30
30
  constructor(provider: AIProvider, config: AgentConfig, rootRef: any, navRef: any);
31
31
  private registerBuiltInTools;
32
32
  /**
@@ -34,8 +34,6 @@ export declare class AgentRuntime {
34
34
  * Used when enableUIControl = false — the AI can only answer questions.
35
35
  */
36
36
  private registerKnowledgeOnlyTools;
37
- registerAction(action: ActionDefinition): void;
38
- unregisterAction(name: string): void;
39
37
  /**
40
38
  * Recursively collect ALL screen names from the navigation state tree.
41
39
  * This handles tabs, drawers, and nested stacks.
@@ -1 +1 @@
1
- {"version":3,"file":"AgentRuntime.d.ts","sourceRoot":"","sources":["../../../../src/core/AgentRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAsBH,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EAEX,eAAe,EACf,cAAc,EACd,gBAAgB,EAEjB,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,iBAAiB,CAAS;IAClC,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,gBAAgB,CAAqC;IAC7D,OAAO,CAAC,iBAAiB,CAAC,CAAU;IACpC,OAAO,CAAC,kBAAkB,CAAa;IAMvC,OAAO,CAAC,oBAAoB,CAA4D;IACxF,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,gCAAgC,CAAkC;gBAGxE,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,GAAG,EACZ,MAAM,EAAE,GAAG;IAuCb,OAAO,CAAC,oBAAoB;IA6L5B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAuClC,cAAc,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAK9C,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMpC;;;OAGG;IACH,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,iBAAiB;IAkBzB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAyBtB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IASzB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,oBAAoB;IAarB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAIxD,OAAO,CAAC,WAAW;IAKnB,gFAAgF;IAChF,OAAO,CAAC,kBAAkB;IAmC1B;;;;OAIG;YACW,iBAAiB;IA+B/B;;;;OAIG;IACI,gBAAgB,IAAI,MAAM;IAsEjC,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,qBAAqB;IA6B7B,gFAAgF;IACzE,QAAQ,IAAI,cAAc,EAAE;IAInC,yEAAyE;IAC5D,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAQlF;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,sBAAsB;IAgC9B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IA2B7B;;;;;;OAMG;YACW,iBAAiB;IA0C/B;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,cAAc,CAAc;IAEpC,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,kBAAkB;IA0HpB,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAkV/G,qDAAqD;IACrD,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI;IAK3C,4CAA4C;IAC5C,YAAY,IAAI,OAAO;IAIvB;;;;OAIG;IACH,MAAM,IAAI,IAAI;CAMf"}
1
+ {"version":3,"file":"AgentRuntime.d.ts","sourceRoot":"","sources":["../../../../src/core/AgentRuntime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAsBH,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EAEX,eAAe,EACf,cAAc,EAEf,MAAM,SAAS,CAAC;AAOjB,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,CAAmB;IAClC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,gBAAgB,CAAqC;IAC7D,OAAO,CAAC,iBAAiB,CAAC,CAAU;IACpC,OAAO,CAAC,kBAAkB,CAAa;IAMvC,OAAO,CAAC,oBAAoB,CAA4D;IACxF,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,gCAAgC,CAAkC;IAEnE,SAAS,IAAI,WAAW;gBAK7B,QAAQ,EAAE,UAAU,EACpB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,GAAG,EACZ,MAAM,EAAE,GAAG;IAuCb,OAAO,CAAC,oBAAoB;IA6L5B;;;OAGG;IACH,OAAO,CAAC,0BAA0B;IAuClC;;;OAGG;IACH,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,iBAAiB;IAkBzB;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAyBtB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IASzB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,oBAAoB;IAarB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,SAAS;IAIxD,OAAO,CAAC,WAAW;IAKnB,gFAAgF;IAChF,OAAO,CAAC,kBAAkB;IAmC1B;;;;OAIG;YACW,iBAAiB;IA4B/B;;;;OAIG;IACI,gBAAgB,IAAI,MAAM;IAsEjC,OAAO,CAAC,cAAc,CAAS;IAE/B,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,qBAAqB;IAsC7B,gFAAgF;IACzE,QAAQ,IAAI,cAAc,EAAE;IAInC,yEAAyE;IAC5D,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;IAQlF;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,sBAAsB;IAgC9B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IA2B7B;;;;;;OAMG;YACW,iBAAiB;IA0C/B;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IA0BxB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,YAAY,CAAgB;IACpC,OAAO,CAAC,cAAc,CAAc;IAEpC,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,kBAAkB;IA0HpB,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAkV/G,qDAAqD;IACrD,UAAU,CAAC,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI;IAK3C,4CAA4C;IAC5C,YAAY,IAAI,OAAO;IAIvB;;;;OAIG;IACH,MAAM,IAAI,IAAI;CAMf"}
@@ -1 +1 @@
1
- {"version":3,"file":"MCPBridge.d.ts","sourceRoot":"","sources":["../../../../src/core/MCPBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,qBAAa,SAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,WAAW,CAAS;gBAEhB,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY;IAM9C,OAAO,CAAC,OAAO;IAsDf,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,iBAAiB;IAQlB,OAAO;CAWf"}
1
+ {"version":3,"file":"MCPBridge.d.ts","sourceRoot":"","sources":["../../../../src/core/MCPBridge.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,qBAAa,SAAS;IACpB,OAAO,CAAC,GAAG,CAAS;IACpB,OAAO,CAAC,EAAE,CAA0B;IACpC,OAAO,CAAC,OAAO,CAAe;IAC9B,OAAO,CAAC,cAAc,CAA8C;IACpE,OAAO,CAAC,WAAW,CAAS;gBAEhB,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY;IAM9C,OAAO,CAAC,OAAO;IA2Gf,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,iBAAiB;IAQlB,OAAO;CAWf"}