@mobileai/react-native 0.9.5 → 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.
- package/README.md +73 -131
- package/ios/MobileAIPilotIntents.swift +51 -0
- package/lib/module/__cli_tmp__.js +21 -0
- package/lib/module/__cli_tmp__.js.map +1 -0
- package/lib/module/components/AIAgent.js.map +1 -1
- package/lib/module/components/AgentChatBar.js +2 -3
- package/lib/module/components/AgentChatBar.js.map +1 -1
- package/lib/module/components/HighlightOverlay.js +1 -0
- package/lib/module/components/HighlightOverlay.js.map +1 -1
- package/lib/module/core/ActionRegistry.js +102 -0
- package/lib/module/core/ActionRegistry.js.map +1 -0
- package/lib/module/core/AgentRuntime.js +25 -22
- package/lib/module/core/AgentRuntime.js.map +1 -1
- package/lib/module/core/MCPBridge.js +77 -14
- package/lib/module/core/MCPBridge.js.map +1 -1
- package/lib/module/hooks/useAction.js +47 -11
- package/lib/module/hooks/useAction.js.map +1 -1
- package/lib/module/index.js +3 -10
- package/lib/module/index.js.map +1 -1
- package/lib/module/plugin/withAppIntents.js +71 -0
- package/lib/module/plugin/withAppIntents.js.map +1 -0
- package/lib/module/services/AudioInputService.js +2 -2
- package/lib/module/services/AudioInputService.js.map +1 -1
- package/lib/module/services/AudioOutputService.js +3 -2
- package/lib/module/services/AudioOutputService.js.map +1 -1
- package/lib/module/tools/guideTool.js +11 -2
- package/lib/module/tools/guideTool.js.map +1 -1
- package/lib/typescript/src/__cli_tmp__.d.ts +2 -0
- package/lib/typescript/src/__cli_tmp__.d.ts.map +1 -0
- package/lib/typescript/src/components/AIAgent.d.ts +0 -3
- package/lib/typescript/src/components/AIAgent.d.ts.map +1 -1
- package/lib/typescript/src/components/AgentChatBar.d.ts.map +1 -1
- package/lib/typescript/src/core/ActionRegistry.d.ts +43 -0
- package/lib/typescript/src/core/ActionRegistry.d.ts.map +1 -0
- package/lib/typescript/src/core/AgentRuntime.d.ts +2 -4
- package/lib/typescript/src/core/AgentRuntime.d.ts.map +1 -1
- package/lib/typescript/src/core/MCPBridge.d.ts.map +1 -1
- package/lib/typescript/src/core/types.d.ts +20 -2
- package/lib/typescript/src/core/types.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useAction.d.ts +34 -2
- package/lib/typescript/src/hooks/useAction.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +3 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/plugin/withAppIntents.d.ts +10 -0
- package/lib/typescript/src/plugin/withAppIntents.d.ts.map +1 -0
- package/lib/typescript/src/services/AudioOutputService.d.ts.map +1 -1
- package/lib/typescript/src/tools/guideTool.d.ts.map +1 -1
- package/package.json +4 -1
- package/src/__cli_tmp__.tsx +9 -0
- package/src/cli/generate-intents.ts +140 -0
- package/src/cli/generate-swift.ts +116 -0
- package/src/components/AIAgent.tsx +1 -4
- package/src/components/AgentChatBar.tsx +2 -3
- package/src/components/HighlightOverlay.tsx +1 -1
- package/src/core/ActionRegistry.ts +105 -0
- package/src/core/AgentRuntime.ts +23 -25
- package/src/core/MCPBridge.ts +68 -15
- package/src/core/types.ts +23 -2
- package/src/hooks/useAction.ts +51 -10
- package/src/index.ts +7 -9
- package/src/plugin/withAppIntents.ts +82 -0
- package/src/services/AudioInputService.ts +2 -2
- package/src/services/AudioOutputService.ts +3 -2
- package/src/tools/guideTool.ts +11 -2
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* A central registry for all actions registered via `useAction`.
|
|
5
|
+
* This acts as the single source of truth for:
|
|
6
|
+
* 1. The in-app AI Agent (AgentRuntime)
|
|
7
|
+
* 2. The MCP Server (external agents)
|
|
8
|
+
* 3. iOS App Intents (Siri)
|
|
9
|
+
* 4. Android AppFunctions (Gemini)
|
|
10
|
+
*/
|
|
11
|
+
export class ActionRegistry {
|
|
12
|
+
actions = new Map();
|
|
13
|
+
listeners = new Set();
|
|
14
|
+
|
|
15
|
+
/** Register a new action definition */
|
|
16
|
+
register(action) {
|
|
17
|
+
this.actions.set(action.name, action);
|
|
18
|
+
this.notify();
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/** Unregister an action by name */
|
|
22
|
+
unregister(name) {
|
|
23
|
+
this.actions.delete(name);
|
|
24
|
+
this.notify();
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/** Get a specific action by name */
|
|
28
|
+
get(name) {
|
|
29
|
+
return this.actions.get(name);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/** Get all registered actions */
|
|
33
|
+
getAll() {
|
|
34
|
+
return Array.from(this.actions.values());
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/** Clear all registered actions (useful for testing) */
|
|
38
|
+
clear() {
|
|
39
|
+
this.actions.clear();
|
|
40
|
+
this.notify();
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Subscribe to changes (e.g. when a new screen mounts and registers actions).
|
|
45
|
+
* Useful for the MCP server to re-announce tools.
|
|
46
|
+
*/
|
|
47
|
+
onChange(listener) {
|
|
48
|
+
this.listeners.add(listener);
|
|
49
|
+
return () => {
|
|
50
|
+
this.listeners.delete(listener);
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/** Serialize all actions as strictly-typed MCP tool declarations */
|
|
55
|
+
toMCPTools() {
|
|
56
|
+
return this.getAll().map(a => ({
|
|
57
|
+
name: a.name,
|
|
58
|
+
description: a.description,
|
|
59
|
+
inputSchema: this.buildInputSchema(a.parameters)
|
|
60
|
+
}));
|
|
61
|
+
}
|
|
62
|
+
buildInputSchema(params) {
|
|
63
|
+
const properties = {};
|
|
64
|
+
const required = [];
|
|
65
|
+
for (const [key, val] of Object.entries(params)) {
|
|
66
|
+
if (typeof val === 'string') {
|
|
67
|
+
// Backward compatibility: passing a string means it's a required string param.
|
|
68
|
+
properties[key] = {
|
|
69
|
+
type: 'string',
|
|
70
|
+
description: val
|
|
71
|
+
};
|
|
72
|
+
required.push(key);
|
|
73
|
+
} else {
|
|
74
|
+
// New strict parameter definition
|
|
75
|
+
properties[key] = {
|
|
76
|
+
type: val.type,
|
|
77
|
+
description: val.description
|
|
78
|
+
};
|
|
79
|
+
if (val.enum) {
|
|
80
|
+
properties[key].enum = val.enum;
|
|
81
|
+
}
|
|
82
|
+
if (val.required !== false) {
|
|
83
|
+
required.push(key);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return {
|
|
88
|
+
type: 'object',
|
|
89
|
+
properties,
|
|
90
|
+
required
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
notify() {
|
|
94
|
+
this.listeners.forEach(l => l());
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// Export a singleton instance.
|
|
99
|
+
// This allows background channels (like App Intents bridging) to access actions
|
|
100
|
+
// even if the React tree hasn't accessed the AIAgent context yet.
|
|
101
|
+
export const actionRegistry = new ActionRegistry();
|
|
102
|
+
//# sourceMappingURL=ActionRegistry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ActionRegistry","actions","Map","listeners","Set","register","action","set","name","notify","unregister","delete","get","getAll","Array","from","values","clear","onChange","listener","add","toMCPTools","map","a","description","inputSchema","buildInputSchema","parameters","params","properties","required","key","val","Object","entries","type","push","enum","forEach","l","actionRegistry"],"sourceRoot":"../../../src","sources":["core/ActionRegistry.ts"],"mappings":";;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,cAAc,CAAC;EAClBC,OAAO,GAAG,IAAIC,GAAG,CAA2B,CAAC;EAC7CC,SAAS,GAAG,IAAIC,GAAG,CAAa,CAAC;;EAEzC;EACAC,QAAQA,CAACC,MAAwB,EAAQ;IACvC,IAAI,CAACL,OAAO,CAACM,GAAG,CAACD,MAAM,CAACE,IAAI,EAAEF,MAAM,CAAC;IACrC,IAAI,CAACG,MAAM,CAAC,CAAC;EACf;;EAEA;EACAC,UAAUA,CAACF,IAAY,EAAQ;IAC7B,IAAI,CAACP,OAAO,CAACU,MAAM,CAACH,IAAI,CAAC;IACzB,IAAI,CAACC,MAAM,CAAC,CAAC;EACf;;EAEA;EACAG,GAAGA,CAACJ,IAAY,EAAgC;IAC9C,OAAO,IAAI,CAACP,OAAO,CAACW,GAAG,CAACJ,IAAI,CAAC;EAC/B;;EAEA;EACAK,MAAMA,CAAA,EAAuB;IAC3B,OAAOC,KAAK,CAACC,IAAI,CAAC,IAAI,CAACd,OAAO,CAACe,MAAM,CAAC,CAAC,CAAC;EAC1C;;EAEA;EACAC,KAAKA,CAAA,EAAS;IACZ,IAAI,CAAChB,OAAO,CAACgB,KAAK,CAAC,CAAC;IACpB,IAAI,CAACR,MAAM,CAAC,CAAC;EACf;;EAEA;AACF;AACA;AACA;EACES,QAAQA,CAACC,QAAoB,EAAc;IACzC,IAAI,CAAChB,SAAS,CAACiB,GAAG,CAACD,QAAQ,CAAC;IAC5B,OAAO,MAAM;MACX,IAAI,CAAChB,SAAS,CAACQ,MAAM,CAACQ,QAAQ,CAAC;IACjC,CAAC;EACH;;EAEA;EACAE,UAAUA,CAAA,EAAyB;IACjC,OAAO,IAAI,CAACR,MAAM,CAAC,CAAC,CAACS,GAAG,CAAEC,CAAC,KAAM;MAC/Bf,IAAI,EAAEe,CAAC,CAACf,IAAI;MACZgB,WAAW,EAAED,CAAC,CAACC,WAAW;MAC1BC,WAAW,EAAE,IAAI,CAACC,gBAAgB,CAACH,CAAC,CAACI,UAAU;IACjD,CAAC,CAAC,CAAC;EACL;EAEQD,gBAAgBA,CAACE,MAAmD,EAAE;IAC5E,MAAMC,UAA+B,GAAG,CAAC,CAAC;IAC1C,MAAMC,QAAkB,GAAG,EAAE;IAE7B,KAAK,MAAM,CAACC,GAAG,EAAEC,GAAG,CAAC,IAAIC,MAAM,CAACC,OAAO,CAACN,MAAM,CAAC,EAAE;MAC/C,IAAI,OAAOI,GAAG,KAAK,QAAQ,EAAE;QAC3B;QACAH,UAAU,CAACE,GAAG,CAAC,GAAG;UAAEI,IAAI,EAAE,QAAQ;UAAEX,WAAW,EAAEQ;QAAI,CAAC;QACtDF,QAAQ,CAACM,IAAI,CAACL,GAAG,CAAC;MACpB,CAAC,MAAM;QACL;QACAF,UAAU,CAACE,GAAG,CAAC,GAAG;UAAEI,IAAI,EAAEH,GAAG,CAACG,IAAI;UAAEX,WAAW,EAAEQ,GAAG,CAACR;QAAY,CAAC;QAClE,IAAIQ,GAAG,CAACK,IAAI,EAAE;UACZR,UAAU,CAACE,GAAG,CAAC,CAACM,IAAI,GAAGL,GAAG,CAACK,IAAI;QACjC;QACA,IAAIL,GAAG,CAACF,QAAQ,KAAK,KAAK,EAAE;UAC1BA,QAAQ,CAACM,IAAI,CAACL,GAAG,CAAC;QACpB;MACF;IACF;IAEA,OAAO;MAAEI,IAAI,EAAE,QAAQ;MAAEN,UAAU;MAAEC;IAAS,CAAC;EACjD;EAEQrB,MAAMA,CAAA,EAAG;IACf,IAAI,CAACN,SAAS,CAACmC,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAAC,CAAC,CAAC;EACpC;AACF;;AAEA;AACA;AACA;AACA,OAAO,MAAMC,cAAc,GAAG,IAAIxC,cAAc,CAAC,CAAC","ignoreList":[]}
|
|
@@ -17,13 +17,13 @@ import { dehydrateScreen } from "./ScreenDehydrator.js";
|
|
|
17
17
|
import { buildSystemPrompt, buildKnowledgeOnlyPrompt } from "./systemPrompt.js";
|
|
18
18
|
import { KnowledgeBaseService } from "../services/KnowledgeBaseService.js";
|
|
19
19
|
import { createTapTool, createLongPressTool, createTypeTool, createScrollTool, createSliderTool, createPickerTool, createDatePickerTool, createKeyboardTool, createGuideTool, createSimplifyTool, createRestoreTool } from "../tools/index.js";
|
|
20
|
+
import { actionRegistry } from "./ActionRegistry.js";
|
|
20
21
|
const DEFAULT_MAX_STEPS = 25;
|
|
21
22
|
|
|
22
23
|
// ─── Agent Runtime ─────────────────────────────────────────────
|
|
23
24
|
|
|
24
25
|
export class AgentRuntime {
|
|
25
26
|
tools = new Map();
|
|
26
|
-
actions = new Map();
|
|
27
27
|
history = [];
|
|
28
28
|
isRunning = false;
|
|
29
29
|
isCancelRequested = false;
|
|
@@ -39,6 +39,9 @@ export class AgentRuntime {
|
|
|
39
39
|
lastSuppressedError = null;
|
|
40
40
|
graceTimer = null;
|
|
41
41
|
originalReportErrorsAsExceptions = undefined;
|
|
42
|
+
getConfig() {
|
|
43
|
+
return this.config;
|
|
44
|
+
}
|
|
42
45
|
constructor(provider, config, rootRef, navRef) {
|
|
43
46
|
this.provider = provider;
|
|
44
47
|
this.config = config;
|
|
@@ -311,16 +314,6 @@ export class AgentRuntime {
|
|
|
311
314
|
}
|
|
312
315
|
}
|
|
313
316
|
|
|
314
|
-
// ─── Action Registration (useAction hook) ──────────────────
|
|
315
|
-
|
|
316
|
-
registerAction(action) {
|
|
317
|
-
this.actions.set(action.name, action);
|
|
318
|
-
logger.info('AgentRuntime', `Registered action: ${action.name}`);
|
|
319
|
-
}
|
|
320
|
-
unregisterAction(name) {
|
|
321
|
-
this.actions.delete(name);
|
|
322
|
-
}
|
|
323
|
-
|
|
324
317
|
// ─── Navigation Helpers ────────────────────────────────────
|
|
325
318
|
|
|
326
319
|
/**
|
|
@@ -487,11 +480,8 @@ export class AgentRuntime {
|
|
|
487
480
|
*/
|
|
488
481
|
async captureScreenshot() {
|
|
489
482
|
try {
|
|
490
|
-
//
|
|
491
|
-
|
|
492
|
-
// and crashes with "unknown module" when the package isn't installed.
|
|
493
|
-
const moduleName = ['react-native', 'view-shot'].join('-');
|
|
494
|
-
const viewShot = require(moduleName);
|
|
483
|
+
// Static require — Metro needs a literal string; the try/catch handles MODULE_NOT_FOUND.
|
|
484
|
+
const viewShot = require('react-native-view-shot');
|
|
495
485
|
const captureRef = viewShot.captureRef || viewShot.default?.captureRef;
|
|
496
486
|
if (!captureRef || !this.rootRef) return undefined;
|
|
497
487
|
const uri = await captureRef(this.rootRef, {
|
|
@@ -594,15 +584,28 @@ ${screen.elementsText}
|
|
|
594
584
|
const allTools = [...this.tools.values()];
|
|
595
585
|
|
|
596
586
|
// Add registered actions as tools
|
|
597
|
-
for (const action of
|
|
587
|
+
for (const action of actionRegistry.getAll()) {
|
|
588
|
+
const toolParams = {};
|
|
589
|
+
for (const [key, val] of Object.entries(action.parameters)) {
|
|
590
|
+
if (typeof val === 'string') {
|
|
591
|
+
toolParams[key] = {
|
|
592
|
+
type: 'string',
|
|
593
|
+
description: val,
|
|
594
|
+
required: true
|
|
595
|
+
};
|
|
596
|
+
} else {
|
|
597
|
+
toolParams[key] = {
|
|
598
|
+
type: val.type,
|
|
599
|
+
description: val.description,
|
|
600
|
+
required: val.required !== false,
|
|
601
|
+
enum: val.enum
|
|
602
|
+
};
|
|
603
|
+
}
|
|
604
|
+
}
|
|
598
605
|
allTools.push({
|
|
599
606
|
name: action.name,
|
|
600
607
|
description: action.description,
|
|
601
|
-
parameters:
|
|
602
|
-
type: typeStr,
|
|
603
|
-
description: key,
|
|
604
|
-
required: true
|
|
605
|
-
}])),
|
|
608
|
+
parameters: toolParams,
|
|
606
609
|
execute: async args => {
|
|
607
610
|
try {
|
|
608
611
|
const result = await action.handler(args);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["logger","walkFiberTree","dehydrateScreen","buildSystemPrompt","buildKnowledgeOnlyPrompt","KnowledgeBaseService","createTapTool","createLongPressTool","createTypeTool","createScrollTool","createSliderTool","createPickerTool","createDatePickerTool","createKeyboardTool","createGuideTool","createSimplifyTool","createRestoreTool","DEFAULT_MAX_STEPS","AgentRuntime","tools","Map","actions","history","isRunning","isCancelRequested","lastAskUserQuestion","knowledgeService","lastDehydratedRoot","originalErrorHandler","lastSuppressedError","graceTimer","originalReportErrorsAsExceptions","undefined","constructor","provider","config","rootRef","navRef","debug","screenMap","knowledgeBase","knowledgeMaxTokens","enableUIControl","registerKnowledgeOnlyTools","registerBuiltInTools","customTools","name","tool","Object","entries","delete","info","set","toolContext","getRootRef","getWalkConfig","getCurrentScreenName","getNavRef","routerRef","router","getRouteNames","findScreenPath","buildNestedParams","path","params","captureScreenshot","getLastDehydratedRoot","modularTools","description","parameters","screen","type","required","execute","args","startsWith","push","Promise","resolve","setTimeout","error","message","isReady","JSON","parse","availableRoutes","join","stringify","matchedScreen","find","r","toLowerCase","errMsg","warn","screenPath","length","nestedParams","navigate","text","success","seconds","Math","min","Number","question","onAskUser","onStatusUpdate","answer","screenshot","round","screenName","retrieve","registerAction","action","unregisterAction","state","getRootState","getState","names","collectRouteNames","routeNames","routes","route","Set","targetScreen","some","nestedNames","includes","leafParams","result","i","pathname","segments","split","filter","Boolean","getDeepestScreenName","index","setUIControlOverride","enabled","uiControlOverride","isUIEnabled","getToolStatusLabel","toolName","direction","value","date","moduleName","viewShot","require","captureRef","default","uri","format","quality","width","code","getScreenContext","keys","screens","chains","walkResult","elementsText","interactives","availableScreensText","appMapText","map","screenLines","entry","title","line","chainLines","chain","detectStaleMap","context","substring","staleMapWarned","mapScreens","missing","has","console","buildToolsForProvider","allTools","values","fromEntries","key","typeStr","handler","getTools","executeTool","get","t","executeToolSafely","_startErrorSuppression","clearTimeout","ErrorUtils","global","setGlobalHandler","getGlobalHandler","isFatal","consoleAny","reportErrorsAsExceptions","_stopErrorSuppression","gracePeriodMs","restore","onToolExecute","validationError","validateToolArgs","suppressedError","numericArgs","val","isFinite","interactiveBlacklist","interactiveWhitelist","getInstructions","instructions","system","trim","getScreenInstructions","screenInstructions","observations","lastScreenName","handleObservations","step","maxSteps","remaining","assembleUserPrompt","contextualMessage","screenContent","chatHistory","prompt","recentHistory","slice","msg","role","content","SUMMARIZE_THRESHOLD","KEEP_HEAD","KEEP_TAIL","shouldSummarize","stepIndex","event","j","h","actionName","succeeded","output","reflection","previousGoalEval","memory","plan","obs","userMessage","steps","stepDelay","sessionUsage","promptTokens","completionTokens","totalTokens","estimatedCostUSD","onBeforeTask","hasKnowledge","systemPrompt","userPrompt","response","generateContent","tokenUsage","onTokenUsage","toolCalls","tc","followUp","followUpResponse","ftc","doneResult","onAfterTask","cancelResult","onBeforeStep","transformScreenContent","contextMessage","maxTokenBudget","budgetResult","toLocaleString","maxCostUSD","toFixed","reasoning","toolCall","statusLabel","statusDisplay","agentStep","input","onAfterStep","updateRefs","getIsRunning","cancel"],"sourceRoot":"../../../src","sources":["core/AgentRuntime.ts"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["logger","walkFiberTree","dehydrateScreen","buildSystemPrompt","buildKnowledgeOnlyPrompt","KnowledgeBaseService","createTapTool","createLongPressTool","createTypeTool","createScrollTool","createSliderTool","createPickerTool","createDatePickerTool","createKeyboardTool","createGuideTool","createSimplifyTool","createRestoreTool","actionRegistry","DEFAULT_MAX_STEPS","AgentRuntime","tools","Map","history","isRunning","isCancelRequested","lastAskUserQuestion","knowledgeService","lastDehydratedRoot","originalErrorHandler","lastSuppressedError","graceTimer","originalReportErrorsAsExceptions","undefined","getConfig","config","constructor","provider","rootRef","navRef","debug","screenMap","knowledgeBase","knowledgeMaxTokens","enableUIControl","registerKnowledgeOnlyTools","registerBuiltInTools","customTools","name","tool","Object","entries","delete","info","set","toolContext","getRootRef","getWalkConfig","getCurrentScreenName","getNavRef","routerRef","router","getRouteNames","findScreenPath","buildNestedParams","path","params","captureScreenshot","getLastDehydratedRoot","modularTools","description","parameters","screen","type","required","execute","args","startsWith","push","Promise","resolve","setTimeout","error","message","isReady","JSON","parse","availableRoutes","join","stringify","matchedScreen","find","r","toLowerCase","errMsg","warn","screenPath","length","nestedParams","navigate","text","success","seconds","Math","min","Number","question","onAskUser","onStatusUpdate","answer","screenshot","round","screenName","retrieve","state","getRootState","getState","names","collectRouteNames","routeNames","routes","route","Set","targetScreen","some","nestedNames","includes","leafParams","result","i","pathname","segments","split","filter","Boolean","getDeepestScreenName","index","setUIControlOverride","enabled","uiControlOverride","isUIEnabled","getToolStatusLabel","toolName","direction","value","date","viewShot","require","captureRef","default","uri","format","quality","width","code","getScreenContext","keys","screens","chains","walkResult","elementsText","interactives","availableScreensText","appMapText","map","screenLines","entry","title","line","chainLines","chain","detectStaleMap","context","substring","staleMapWarned","mapScreens","missing","has","console","buildToolsForProvider","allTools","values","action","getAll","toolParams","key","val","enum","handler","getTools","executeTool","get","t","executeToolSafely","_startErrorSuppression","clearTimeout","ErrorUtils","global","setGlobalHandler","getGlobalHandler","isFatal","consoleAny","reportErrorsAsExceptions","_stopErrorSuppression","gracePeriodMs","restore","onToolExecute","validationError","validateToolArgs","suppressedError","numericArgs","isFinite","interactiveBlacklist","interactiveWhitelist","getInstructions","instructions","system","trim","getScreenInstructions","screenInstructions","observations","lastScreenName","handleObservations","step","maxSteps","remaining","assembleUserPrompt","contextualMessage","screenContent","chatHistory","prompt","recentHistory","slice","msg","role","content","SUMMARIZE_THRESHOLD","KEEP_HEAD","KEEP_TAIL","shouldSummarize","stepIndex","event","j","h","actionName","succeeded","output","reflection","previousGoalEval","memory","plan","obs","userMessage","steps","stepDelay","sessionUsage","promptTokens","completionTokens","totalTokens","estimatedCostUSD","onBeforeTask","hasKnowledge","systemPrompt","userPrompt","response","generateContent","tokenUsage","onTokenUsage","toolCalls","tc","followUp","followUpResponse","ftc","doneResult","onAfterTask","cancelResult","onBeforeStep","transformScreenContent","contextMessage","maxTokenBudget","budgetResult","toLocaleString","maxCostUSD","toFixed","reasoning","toolCall","statusLabel","statusDisplay","agentStep","input","onAfterStep","updateRefs","getIsRunning","cancel"],"sourceRoot":"../../../src","sources":["core/AgentRuntime.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -34,22 +34,85 @@ export class MCPBridge {
|
|
|
34
34
|
this.ws.onmessage = async event => {
|
|
35
35
|
try {
|
|
36
36
|
const data = JSON.parse(event.data);
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
37
|
+
const serverMode = this.runtime.getConfig().mcpServerMode ?? 'auto';
|
|
38
|
+
const serverEnabled = serverMode === 'enabled' || serverMode !== 'disabled' && __DEV__;
|
|
39
|
+
switch (data.type) {
|
|
40
|
+
case 'request':
|
|
41
|
+
{
|
|
42
|
+
if (!data.command || !data.requestId) return;
|
|
43
|
+
logger.info('MCPBridge', `Received task from MCP: "${data.command}"`);
|
|
44
|
+
if (this.runtime.getIsRunning()) {
|
|
45
|
+
this.sendResponse(data.requestId, {
|
|
46
|
+
success: false,
|
|
47
|
+
message: 'Agent is already running a task. Please wait.',
|
|
48
|
+
steps: []
|
|
49
|
+
});
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
47
52
|
|
|
48
|
-
|
|
49
|
-
|
|
53
|
+
// Execute the task using the SDK's existing runtime loop
|
|
54
|
+
const result = await this.runtime.execute(data.command);
|
|
50
55
|
|
|
51
|
-
|
|
52
|
-
|
|
56
|
+
// Send result back to MCP server
|
|
57
|
+
this.sendResponse(data.requestId, result);
|
|
58
|
+
break;
|
|
59
|
+
}
|
|
60
|
+
case 'tools/list':
|
|
61
|
+
{
|
|
62
|
+
if (!serverEnabled) {
|
|
63
|
+
this.sendResponse(data.requestId, {
|
|
64
|
+
error: 'MCP server mode is disabled.'
|
|
65
|
+
});
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
const tools = this.runtime.getTools().map(t => ({
|
|
69
|
+
name: t.name,
|
|
70
|
+
description: t.description,
|
|
71
|
+
inputSchema: {
|
|
72
|
+
type: 'object',
|
|
73
|
+
properties: t.parameters || {},
|
|
74
|
+
required: Object.entries(t.parameters || {}).filter(([_, p]) => p.required !== false).map(([k]) => k)
|
|
75
|
+
}
|
|
76
|
+
}));
|
|
77
|
+
this.sendResponse(data.requestId, {
|
|
78
|
+
tools
|
|
79
|
+
});
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
case 'tools/call':
|
|
83
|
+
{
|
|
84
|
+
if (!serverEnabled) {
|
|
85
|
+
this.sendResponse(data.requestId, {
|
|
86
|
+
error: 'MCP server mode is disabled.'
|
|
87
|
+
});
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
90
|
+
try {
|
|
91
|
+
const result = await this.runtime.executeTool(data.name, data.arguments || {});
|
|
92
|
+
this.sendResponse(data.requestId, {
|
|
93
|
+
result
|
|
94
|
+
});
|
|
95
|
+
} catch (err) {
|
|
96
|
+
this.sendResponse(data.requestId, {
|
|
97
|
+
error: err.message
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
break;
|
|
101
|
+
}
|
|
102
|
+
case 'screen/state':
|
|
103
|
+
{
|
|
104
|
+
if (!serverEnabled) {
|
|
105
|
+
this.sendResponse(data.requestId, {
|
|
106
|
+
error: 'MCP server mode is disabled.'
|
|
107
|
+
});
|
|
108
|
+
break;
|
|
109
|
+
}
|
|
110
|
+
const screen = this.runtime.getScreenContext();
|
|
111
|
+
this.sendResponse(data.requestId, {
|
|
112
|
+
screen
|
|
113
|
+
});
|
|
114
|
+
break;
|
|
115
|
+
}
|
|
53
116
|
}
|
|
54
117
|
} catch (err) {
|
|
55
118
|
logger.error('MCPBridge', 'Error handling message:', err);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["logger","MCPBridge","ws","reconnectTimer","isDestroyed","constructor","url","runtime","connect","info","WebSocket","onopen","clearTimeout","onmessage","event","data","JSON","parse","type","command","requestId","getIsRunning","sendResponse","success","message","steps","result","execute","err","
|
|
1
|
+
{"version":3,"names":["logger","MCPBridge","ws","reconnectTimer","isDestroyed","constructor","url","runtime","connect","info","WebSocket","onopen","clearTimeout","onmessage","event","data","JSON","parse","serverMode","getConfig","mcpServerMode","serverEnabled","__DEV__","type","command","requestId","getIsRunning","sendResponse","success","message","steps","result","execute","error","tools","getTools","map","t","name","description","inputSchema","properties","parameters","required","Object","entries","filter","_","p","k","executeTool","arguments","err","screen","getScreenContext","onclose","warn","scheduleReconnect","onerror","e","payload","readyState","OPEN","send","stringify","setTimeout","destroy","close"],"sourceRoot":"../../../src","sources":["core/MCPBridge.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -22,26 +22,62 @@ const DEFAULT_CONTEXT = {
|
|
|
22
22
|
cancel: () => {}
|
|
23
23
|
};
|
|
24
24
|
export const AgentContext = /*#__PURE__*/createContext(DEFAULT_CONTEXT);
|
|
25
|
+
import { actionRegistry } from "../core/ActionRegistry.js";
|
|
26
|
+
/**
|
|
27
|
+
* Register a non-UI action that the AI agent can call by name.
|
|
28
|
+
*
|
|
29
|
+
* The handler is always kept fresh via an internal ref — no stale closure bugs,
|
|
30
|
+
* even when it captures mutable state like cart contents or form values.
|
|
31
|
+
*
|
|
32
|
+
* The optional `deps` array controls when the action is *re-registered* (i.e. when
|
|
33
|
+
* `name`, `description`, or `parameters` need to change at runtime). You rarely
|
|
34
|
+
* need this — the handler is always up-to-date regardless.
|
|
35
|
+
*
|
|
36
|
+
* @example Basic (handler always fresh — no deps needed)
|
|
37
|
+
* ```tsx
|
|
38
|
+
* const { cart } = useCart();
|
|
39
|
+
* useAction('checkout', 'Place the order', {}, async () => {
|
|
40
|
+
* if (cart.length === 0) return { success: false, message: 'Cart is empty' };
|
|
41
|
+
* // cart is always current — no stale closure
|
|
42
|
+
* });
|
|
43
|
+
* ```
|
|
44
|
+
*
|
|
45
|
+
* @example Dynamic description (re-register when item count changes)
|
|
46
|
+
* ```tsx
|
|
47
|
+
* useAction(
|
|
48
|
+
* 'checkout',
|
|
49
|
+
* `Place the order (${cart.length} items in cart)`,
|
|
50
|
+
* {},
|
|
51
|
+
* handler,
|
|
52
|
+
* [cart.length], // re-register so the AI sees the updated description
|
|
53
|
+
* );
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
56
|
+
export function useAction(name, description, parameters, handler, deps) {
|
|
57
|
+
// Keep a ref to the latest handler so the registered action always calls
|
|
58
|
+
// the current closure — even without re-registering the action.
|
|
59
|
+
// This is the canonical React pattern for "always-fresh callbacks"
|
|
60
|
+
// (used by react-use, ahooks, TanStack Query internally).
|
|
61
|
+
const handlerRef = useRef(handler);
|
|
62
|
+
useEffect(() => {
|
|
63
|
+
handlerRef.current = handler;
|
|
64
|
+
});
|
|
25
65
|
|
|
26
|
-
//
|
|
27
|
-
|
|
28
|
-
export function useAction(name, description, parameters, handler) {
|
|
29
|
-
const {
|
|
30
|
-
runtime: agentRuntime
|
|
31
|
-
} = useContext(AgentContext);
|
|
66
|
+
// Registration effect — only re-runs when name/description/parameters change,
|
|
67
|
+
// OR when the consumer explicitly passes deps (e.g. for a dynamic description).
|
|
32
68
|
useEffect(() => {
|
|
33
|
-
|
|
34
|
-
agentRuntime.registerAction({
|
|
69
|
+
actionRegistry.register({
|
|
35
70
|
name,
|
|
36
71
|
description,
|
|
37
72
|
parameters,
|
|
38
|
-
handler
|
|
73
|
+
// Delegate to the ref — always calls the latest handler.
|
|
74
|
+
handler: args => handlerRef.current(args)
|
|
39
75
|
});
|
|
40
76
|
return () => {
|
|
41
|
-
|
|
77
|
+
actionRegistry.unregister(name);
|
|
42
78
|
};
|
|
43
79
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
44
|
-
}, [name, description]);
|
|
80
|
+
}, deps ? [name, description, ...deps] : [name, description]);
|
|
45
81
|
}
|
|
46
82
|
|
|
47
83
|
// ─── useAI ────────────────────────────────────────────────────
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useContext","createContext","useCallback","useRef","DEFAULT_CONTEXT","runtime","send","isLoading","status","lastResult","messages","clearMessages","cancel","AgentContext","useAction","name","description","parameters","handler","
|
|
1
|
+
{"version":3,"names":["useEffect","useContext","createContext","useCallback","useRef","DEFAULT_CONTEXT","runtime","send","isLoading","status","lastResult","messages","clearMessages","cancel","AgentContext","actionRegistry","useAction","name","description","parameters","handler","deps","handlerRef","current","register","args","unregister","useAI","options","ctx","enableUIControl","undefined","setUIControlOverride","onResultRef","onResult","message"],"sourceRoot":"../../../src","sources":["hooks/useAction.ts"],"mappings":"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","ignoreList":[]}
|