capacitor-mobile-claw 1.0.7 → 1.0.8
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/dist/esm/definitions.d.ts +10 -10
- package/dist/esm/definitions.d.ts.map +1 -1
- package/dist/esm/definitions.js +3 -0
- package/dist/esm/definitions.js.map +1 -1
- package/dist/esm/engine.d.ts +8 -1
- package/dist/esm/engine.d.ts.map +1 -1
- package/dist/esm/engine.js +18 -4
- package/dist/esm/engine.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/plugin.d.ts +0 -4
- package/dist/esm/plugin.d.ts.map +1 -1
- package/dist/esm/plugin.js +0 -3
- package/dist/esm/plugin.js.map +1 -1
- package/dist/esm/services/bridge-protocol.d.ts +39 -13
- package/dist/esm/services/bridge-protocol.d.ts.map +1 -1
- package/nodejs-assets/nodejs-project/main.js +92 -50
- package/package.json +1 -1
|
@@ -5,6 +5,9 @@
|
|
|
5
5
|
* on-device via Capacitor-NodeJS. The agent has file tools, code
|
|
6
6
|
* execution, git integration, and 64+ MCP device tools.
|
|
7
7
|
*
|
|
8
|
+
* Tool approval policy is NOT handled by this plugin — the consumer
|
|
9
|
+
* controls policy via the pre-execution hook (tool.pre_execute events).
|
|
10
|
+
*
|
|
8
11
|
* Usage:
|
|
9
12
|
* import { MobileClaw } from 'capacitor-mobile-claw'
|
|
10
13
|
*
|
|
@@ -39,13 +42,6 @@ export interface MobileClawPlugin {
|
|
|
39
42
|
* Stop the currently running agent turn.
|
|
40
43
|
*/
|
|
41
44
|
stopTurn(): Promise<void>;
|
|
42
|
-
/**
|
|
43
|
-
* Approve or deny a tool execution request from the agent.
|
|
44
|
-
*/
|
|
45
|
-
approveTool(options: {
|
|
46
|
-
toolCallId: string;
|
|
47
|
-
approved: boolean;
|
|
48
|
-
}): Promise<void>;
|
|
49
45
|
/**
|
|
50
46
|
* Send a steering/follow-up message to a running agent turn.
|
|
51
47
|
*/
|
|
@@ -194,8 +190,8 @@ export interface ToolInvokeResult {
|
|
|
194
190
|
result?: unknown;
|
|
195
191
|
error?: string;
|
|
196
192
|
}
|
|
197
|
-
export type MobileClawEventName = 'agentEvent' | 'agentCompleted' | 'agentError' | '
|
|
198
|
-
export type MobileClawEvent = AgentEvent | AgentCompletedEvent | AgentErrorEvent |
|
|
193
|
+
export type MobileClawEventName = 'agentEvent' | 'agentCompleted' | 'agentError' | 'toolPreExecute' | 'toolPreExecuteExpired' | 'workerReady';
|
|
194
|
+
export type MobileClawEvent = AgentEvent | AgentCompletedEvent | AgentErrorEvent | ToolPreExecuteEvent | ToolPreExecuteExpiredEvent | WorkerReadyEvent;
|
|
199
195
|
export interface AgentEvent {
|
|
200
196
|
eventType: 'text_delta' | 'tool_use' | 'tool_result' | 'thinking' | 'error';
|
|
201
197
|
data: Record<string, unknown>;
|
|
@@ -213,11 +209,15 @@ export interface AgentErrorEvent {
|
|
|
213
209
|
error: string;
|
|
214
210
|
code?: string;
|
|
215
211
|
}
|
|
216
|
-
export interface
|
|
212
|
+
export interface ToolPreExecuteEvent {
|
|
217
213
|
toolCallId: string;
|
|
218
214
|
toolName: string;
|
|
219
215
|
args: Record<string, unknown>;
|
|
220
216
|
}
|
|
217
|
+
export interface ToolPreExecuteExpiredEvent {
|
|
218
|
+
toolCallId: string;
|
|
219
|
+
toolName: string;
|
|
220
|
+
}
|
|
221
221
|
export interface WorkerReadyEvent {
|
|
222
222
|
nodeVersion: string;
|
|
223
223
|
openclawRoot: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/definitions.js
CHANGED
|
@@ -5,6 +5,9 @@
|
|
|
5
5
|
* on-device via Capacitor-NodeJS. The agent has file tools, code
|
|
6
6
|
* execution, git integration, and 64+ MCP device tools.
|
|
7
7
|
*
|
|
8
|
+
* Tool approval policy is NOT handled by this plugin — the consumer
|
|
9
|
+
* controls policy via the pre-execution hook (tool.pre_execute events).
|
|
10
|
+
*
|
|
8
11
|
* Usage:
|
|
9
12
|
* import { MobileClaw } from 'capacitor-mobile-claw'
|
|
10
13
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG"}
|
package/dist/esm/engine.d.ts
CHANGED
|
@@ -5,6 +5,9 @@
|
|
|
5
5
|
* It manages the embedded Node.js worker, bridge communication,
|
|
6
6
|
* MCP server lifecycle, and exposes all plugin API methods.
|
|
7
7
|
*
|
|
8
|
+
* Tool approval policy is NOT handled here — the consumer controls
|
|
9
|
+
* policy via the pre-execution hook (tool.pre_execute events).
|
|
10
|
+
*
|
|
8
11
|
* No Vue, React, or any UI framework dependency.
|
|
9
12
|
*/
|
|
10
13
|
import type { AuthStatus, FileReadResult, MobileClawEvent, MobileClawEventName, MobileClawInitOptions, MobileClawReadyInfo, SessionHistoryResult, SessionInfo, SessionListResult, ToolInvokeResult } from './definitions';
|
|
@@ -54,7 +57,11 @@ export declare class MobileClawEngine {
|
|
|
54
57
|
default?: boolean;
|
|
55
58
|
}>>;
|
|
56
59
|
stopTurn(): Promise<void>;
|
|
57
|
-
|
|
60
|
+
/**
|
|
61
|
+
* Respond to a pre-execution hook event.
|
|
62
|
+
* The consumer calls this to allow, deny, or transform tool arguments.
|
|
63
|
+
*/
|
|
64
|
+
respondToPreExecute(toolCallId: string, args: Record<string, unknown>, deny?: boolean, denyReason?: string): Promise<void>;
|
|
58
65
|
steerAgent(text: string): Promise<void>;
|
|
59
66
|
updateConfig(config: Record<string, unknown>): Promise<void>;
|
|
60
67
|
exchangeOAuthCode(tokenUrl: string, body: Record<string, string>): Promise<any>;
|
package/dist/esm/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/engine.js
CHANGED
|
@@ -5,6 +5,9 @@
|
|
|
5
5
|
* It manages the embedded Node.js worker, bridge communication,
|
|
6
6
|
* MCP server lifecycle, and exposes all plugin API methods.
|
|
7
7
|
*
|
|
8
|
+
* Tool approval policy is NOT handled here — the consumer controls
|
|
9
|
+
* policy via the pre-execution hook (tool.pre_execute events).
|
|
10
|
+
*
|
|
8
11
|
* No Vue, React, or any UI framework dependency.
|
|
9
12
|
*/
|
|
10
13
|
import { McpServerManager } from './mcp/mcp-server-manager';
|
|
@@ -150,7 +153,7 @@ export class MobileClawEngine {
|
|
|
150
153
|
handler(msg);
|
|
151
154
|
}
|
|
152
155
|
: handler;
|
|
153
|
-
this.listeners.get(type)
|
|
156
|
+
this.listeners.get(type)?.add(wrapped);
|
|
154
157
|
return () => this.listeners.get(type)?.delete(wrapped);
|
|
155
158
|
}
|
|
156
159
|
_dispatch(msg) {
|
|
@@ -206,8 +209,18 @@ export class MobileClawEngine {
|
|
|
206
209
|
async stopTurn() {
|
|
207
210
|
await this.send({ type: 'agent.stop' });
|
|
208
211
|
}
|
|
209
|
-
|
|
210
|
-
|
|
212
|
+
/**
|
|
213
|
+
* Respond to a pre-execution hook event.
|
|
214
|
+
* The consumer calls this to allow, deny, or transform tool arguments.
|
|
215
|
+
*/
|
|
216
|
+
async respondToPreExecute(toolCallId, args, deny, denyReason) {
|
|
217
|
+
await this.send({
|
|
218
|
+
type: 'tool.pre_execute.result',
|
|
219
|
+
toolCallId,
|
|
220
|
+
args,
|
|
221
|
+
...(deny && { deny }),
|
|
222
|
+
...(denyReason && { denyReason }),
|
|
223
|
+
});
|
|
211
224
|
}
|
|
212
225
|
async steerAgent(text) {
|
|
213
226
|
await this.send({ type: 'agent.steer', text });
|
|
@@ -297,7 +310,8 @@ export class MobileClawEngine {
|
|
|
297
310
|
agentEvent: 'agent.event',
|
|
298
311
|
agentCompleted: 'agent.completed',
|
|
299
312
|
agentError: 'agent.error',
|
|
300
|
-
|
|
313
|
+
toolPreExecute: 'tool.pre_execute',
|
|
314
|
+
toolPreExecuteExpired: 'tool.pre_execute.expired',
|
|
301
315
|
workerReady: 'worker.ready',
|
|
302
316
|
};
|
|
303
317
|
addListener(eventName, handler) {
|
package/dist/esm/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAcH,OAAO,EAAE,gBAAgB,EAAyB,MAAM,0BAA0B,CAAA;AAIlF,MAAM,OAAO,gBAAgB;IAC3B,0EAA0E;IAElE,MAAM,GAAG,KAAK,CAAA;IACd,UAAU,GAAG,KAAK,CAAA;IAClB,YAAY,GAAkB,IAAI,CAAA;IAClC,aAAa,GAAkB,IAAI,CAAA;IACnC,aAAa,GAAG,CAAC,CAAA;IACjB,QAAQ,GAAG,KAAK,CAAA;IAChB,MAAM,GAAkB,IAAI,CAAA;IAC5B,kBAAkB,GAAkB,IAAI,CAAA;IAExC,UAAU,GAAQ,IAAI,CAAA;IACtB,SAAS,GAAG,IAAI,GAAG,EAA+B,CAAA;IAClD,WAAW,GAAwC,IAAI,CAAA;IACvD,WAAW,GAA4B,IAAI,CAAA;IAEnD,0EAA0E;IAE1E,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IACD,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,UAAU,CAAA;IACxB,CAAC;IACD,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAA;IAC1B,CAAC;IACD,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAA;IAC3B,CAAC;IACD,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,aAAa,CAAA;IAC3B,CAAC;IACD,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IACD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IACD,IAAI,iBAAiB;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAA;IAChC,CAAC;IAED,8DAA8D;IAC9D,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,0EAA0E;IAE1E,KAAK,CAAC,IAAI,CAAC,UAAiC,EAAE;QAC5C,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO,IAAI,CAAC,WAAW,CAAA;QAC7C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QACxC,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,OAA8B;QAClD,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAA;QAErD,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAClC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;YACvB,IAAI,CAAC,MAAM,GAAG,yDAAyD,CAAA;YACvE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,CAAA;QAC/D,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;QAElB,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAA;YACnD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAA;YACxB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAA;YAEtB,gEAAgE;YAChE,kDAAkD;YAClD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC,KAAU,EAAE,EAAE;gBACpD,MAAM,GAAG,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAA;gBACrC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI;oBAAE,OAAM;gBAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;YACrB,CAAC,CAAC,CAAA;YAEF,4EAA4E;YAC5E,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,IAAI,MAAM,CAAA;YAC/C,MAAM,YAAY,GAAG,IAAI,OAAO,CAAsB,CAAC,OAAO,EAAE,EAAE;gBAChE,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC5B,IAAI,CAAC,MAAM,GAAG,2BAA2B,OAAO,KAAK,CAAA;oBACrD,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;oBACrB,OAAO,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,CAAA;gBAClF,CAAC,EAAE,OAAO,CAAC,CAAA;gBAEX,IAAI,CAAC,UAAU,CACb,cAAc,EACd,CAAC,GAAG,EAAE,EAAE;oBACN,YAAY,CAAC,KAAK,CAAC,CAAA;oBACnB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;oBAClB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC,WAAW,CAAA;oBACnC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,YAAY,CAAA;oBACrC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa,CAAA;oBAC3D,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;oBACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;oBAClB,OAAO,CAAC;wBACN,WAAW,EAAE,GAAG,CAAC,WAAW;wBAC5B,YAAY,EAAE,GAAG,CAAC,YAAY;wBAC9B,YAAY,EAAE,IAAI,CAAC,aAAa;qBACjC,CAAC,CAAA;gBACJ,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAA;YACH,CAAC,CAAC,CAAA;YAEF,yDAAyD;YACzD,IAAI,CAAC;gBACH,IAAI,CAAC,WAAW,GAAG,IAAI,gBAAgB,EAAE,CAAA;gBACzC,MAAM,OAAO,GAAqB;oBAChC,YAAY,EAAE,OAAO,CAAC,YAAY,KAAK,KAAK;oBAC5C,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,KAAK;oBACzC,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,KAAK,EAAE,OAAO,CAAC,KAAK;iBACrB,CAAA;gBACD,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;gBACrC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAA;gBAC/C,OAAO,CAAC,GAAG,CAAC,qCAAqC,IAAI,CAAC,aAAa,QAAQ,CAAC,CAAA;YAC9E,CAAC;YAAC,OAAO,MAAM,EAAE,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,mDAAmD,EAAE,MAAM,CAAC,CAAA;YAC3E,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,YAAY,CAAA;YAEpC,OAAO,SAAS,CAAA;QAClB,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAA;YACvB,IAAI,CAAC,MAAM,GAAG,mCAAmC,CAAC,CAAC,OAAO,EAAE,CAAA;YAC5D,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;YACrB,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE,CAAA;QAC/D,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,CAAA;IAC/B,CAAC;IAED,0EAA0E;IAE1E,KAAK,CAAC,IAAI,CAAC,OAAgC;QACzC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAA;YAC5D,OAAM;QACR,CAAC;QACD,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IACvE,CAAC;IAED,yDAAyD;IACjD,UAAU,CAAC,IAAY,EAAE,OAAuB,EAAE,OAA2B,EAAE;QACrF,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;QACrC,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI;YACvB,CAAC,CAAC,CAAC,GAAQ,EAAE,EAAE;gBACX,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;gBACzC,OAAO,CAAC,GAAG,CAAC,CAAA;YACd,CAAC;YACH,CAAC,CAAC,OAAO,CAAA;QACX,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;QACtC,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;IACxD,CAAC;IAEO,SAAS,CAAC,GAAQ;QACxB,yBAAyB;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC7C,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACH,CAAC,CAAC,GAAG,CAAC,CAAA;gBACR,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAA;gBACjD,CAAC;YACH,CAAC;QACH,CAAC;QACD,oBAAoB;QACpB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACzC,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;gBAC1B,IAAI,CAAC;oBACH,CAAC,CAAC,GAAG,CAAC,CAAA;gBACR,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAA;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,0EAA0E;IAE1E,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,OAAO,GAAG,MAAM,EAAE,OAA4B;QAC9E,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC7B,IAAI,CAAC,kBAAkB,GAAG,WAAW,IAAI,CAAC,GAAG,EAAE,EAAE,CAAA;QACnD,CAAC;QACD,MAAM,cAAc,GAClB,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,CAAC,UAAU;YAChD,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE;YACrB,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAA;QAC5D,MAAM,IAAI,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,aAAa;YACnB,OAAO;YACP,UAAU,EAAE,IAAI,CAAC,kBAAkB;YACnC,MAAM;YACN,GAAG,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;YAC/C,cAAc;SACf,CAAC,CAAA;QACF,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAA;IAChD,CAAC;IAED,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YAC3F,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAA;IACzC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,mBAAmB,CACvB,UAAkB,EAClB,IAA6B,EAC7B,IAAc,EACd,UAAmB;QAEnB,MAAM,IAAI,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,yBAAyB;YAC/B,UAAU;YACV,IAAI;YACJ,GAAG,CAAC,IAAI,IAAI,EAAE,IAAI,EAAE,CAAC;YACrB,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC;SAClC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAY;QAC3B,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;IAChD,CAAC;IAED,0EAA0E;IAE1E,KAAK,CAAC,YAAY,CAAC,MAA+B;QAChD,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC,CAAA;IACpD,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,QAAgB,EAAE,IAA4B;QACpE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YAC/E,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;QACvD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YAC9E,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,0EAA0E;IAE1E,KAAK,CAAC,QAAQ,CAAC,IAAY;QACzB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,UAAU,CACb,kBAAkB,EAClB,CAAC,GAAG,EAAE,EAAE;gBACN,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI;oBAAE,OAAO,CAAC,GAAG,CAAC,CAAA;YACrC,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAA;YACD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;QACxC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,OAAe;QAC3C,MAAM,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;IACxD,CAAC;IAED,0EAA0E;IAE1E,KAAK,CAAC,YAAY,CAAC,OAAO,GAAG,MAAM;QACjC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YAC7E,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAA;QAC9C,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,OAAO,GAAG,MAAM;QACrC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YAC/E,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC,CAAA;QAChD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,UAAkB,EAAE,OAAO,GAAG,MAAM;QAC3D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,UAAU,CAAC,qBAAqB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YAC7E,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAA;QAC1D,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,UAAkB,EAAE,OAAO,GAAG,MAAM;QACtD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,UAAU,CAAC,uBAAuB,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YACzE,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAA;QAC5D,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAA;QAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAA;YAC9E,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAA;QACtC,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,UAAkB;QACpC,IAAI,CAAC,kBAAkB,GAAG,UAAU,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,aAAa;QACjB,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,kBAAkB,EAAE,CAAA;IAChD,CAAC;IAED,0EAA0E;IAE1E,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,OAAgC,EAAE;QACnE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,IAAI,CAAC,UAAU,CACb,oBAAoB,EACpB,CAAC,GAAG,EAAE,EAAE;gBACN,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ;oBAAE,OAAO,CAAC,GAAG,CAAC,CAAA;YAC7C,CAAC,EACD,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAA;YACD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;QACpD,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,0EAA0E;IAE1E;;OAEG;IACK,MAAM,CAAU,SAAS,GAAwC;QACvE,UAAU,EAAE,aAAa;QACzB,cAAc,EAAE,iBAAiB;QACjC,UAAU,EAAE,aAAa;QACzB,cAAc,EAAE,kBAAkB;QAClC,qBAAqB,EAAE,0BAA0B;QACjD,WAAW,EAAE,cAAc;KAC5B,CAAA;IAED,WAAW,CAAC,SAA8B,EAAE,OAAyC;QACnF,MAAM,UAAU,GAAG,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;QACxD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAA;YACxD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAA;QAC7B,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QAClD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;IAC1B,CAAC;IAED,kBAAkB,CAAC,SAA+B;QAChD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,UAAU,GAAG,gBAAgB,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;YACxD,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;YACnC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;QACxB,CAAC;IACH,CAAC;IAED,0EAA0E;IAE1E;;;OAGG;IACH,SAAS,CAAC,IAAY,EAAE,OAAuB,EAAE,IAAyB;QACxE,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAA;IAC7C,CAAC"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -20,5 +20,5 @@ export { MobileClaw };
|
|
|
20
20
|
export { MobileClawEngine } from './engine';
|
|
21
21
|
export { McpServerManager } from './mcp/mcp-server-manager';
|
|
22
22
|
export type { DeviceTool } from './mcp/tools/types';
|
|
23
|
-
export type { AgentCompletedMessage, AgentErrorMessage, AgentEventMessage, AgentStartMessage, AgentStopMessage, NodeToUIMessage, ReadyMessage,
|
|
23
|
+
export type { AgentCompletedMessage, AgentErrorMessage, AgentEventMessage, AgentStartMessage, AgentStopMessage, NodeToUIMessage, ReadyMessage, ToolPreExecuteExpiredMessage, ToolPreExecuteMessage, ToolPreExecuteResultMessage, UIToNodeMessage, } from './services/bridge-protocol';
|
|
24
24
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAErD,QAAA,MAAM,UAAU,kBAEd,CAAA;AAEF,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,CAAA;AAGrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAG3D,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAGnD,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAErD,QAAA,MAAM,UAAU,kBAEd,CAAA;AAEF,cAAc,eAAe,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,CAAA;AAGrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAG3D,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAGnD,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,YAAY,EACZ,4BAA4B,EAC5B,qBAAqB,EACrB,2BAA2B,EAC3B,eAAe,GAChB,MAAM,4BAA4B,CAAA"}
|
package/dist/esm/plugin.d.ts
CHANGED
|
@@ -21,10 +21,6 @@ export declare class MobileClawWeb extends WebPlugin implements MobileClawPlugin
|
|
|
21
21
|
sessionKey: string;
|
|
22
22
|
}>;
|
|
23
23
|
stopTurn(): Promise<void>;
|
|
24
|
-
approveTool(options: {
|
|
25
|
-
toolCallId: string;
|
|
26
|
-
approved: boolean;
|
|
27
|
-
}): Promise<void>;
|
|
28
24
|
steerAgent(options: {
|
|
29
25
|
text: string;
|
|
30
26
|
}): Promise<void>;
|
package/dist/esm/plugin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE3C,qBAAa,aAAc,SAAQ,SAAU,YAAW,gBAAgB;IACtE,OAAO,CAAC,MAAM,CAAyB;IAEjC,IAAI,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAInE,OAAO,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;IAItC,WAAW,CAAC,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAI3F,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAIzB,
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/plugin.js
CHANGED
|
@@ -21,9 +21,6 @@ export class MobileClawWeb extends WebPlugin {
|
|
|
21
21
|
async stopTurn() {
|
|
22
22
|
return this.engine.stopTurn();
|
|
23
23
|
}
|
|
24
|
-
async approveTool(options) {
|
|
25
|
-
return this.engine.approveTool(options.toolCallId, options.approved);
|
|
26
|
-
}
|
|
27
24
|
async steerAgent(options) {
|
|
28
25
|
return this.engine.steerAgent(options.text);
|
|
29
26
|
}
|
package/dist/esm/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAc3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE3C,MAAM,OAAO,aAAc,SAAQ,SAAS;IAClC,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAA;IAEvC,KAAK,CAAC,IAAI,CAAC,OAA+B;QACxC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAA6C;QAC7D,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;IACjE,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAA;IAC/B,CAAC;IAED,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,11 +13,6 @@ export interface AgentStartMessage {
|
|
|
13
13
|
export interface AgentStopMessage {
|
|
14
14
|
type: 'agent.stop';
|
|
15
15
|
}
|
|
16
|
-
export interface ToolApproveMessage {
|
|
17
|
-
type: 'tool.approve';
|
|
18
|
-
toolCallId: string;
|
|
19
|
-
approved: boolean;
|
|
20
|
-
}
|
|
21
16
|
export interface AgentSteerMessage {
|
|
22
17
|
type: 'agent.steer';
|
|
23
18
|
text: string;
|
|
@@ -65,7 +60,21 @@ export interface SkillStartMessage {
|
|
|
65
60
|
kickoff: string;
|
|
66
61
|
};
|
|
67
62
|
}
|
|
68
|
-
|
|
63
|
+
/**
|
|
64
|
+
* Consumer responds to a pre-execution hook with (optionally transformed) args.
|
|
65
|
+
* The worker will use these args for the actual tool execution.
|
|
66
|
+
*
|
|
67
|
+
* Set `deny: true` to cancel the tool execution entirely (e.g. approval denied,
|
|
68
|
+
* biometric auth failed, or any policy-based rejection).
|
|
69
|
+
*/
|
|
70
|
+
export interface ToolPreExecuteResultMessage {
|
|
71
|
+
type: 'tool.pre_execute.result';
|
|
72
|
+
toolCallId: string;
|
|
73
|
+
args: Record<string, unknown>;
|
|
74
|
+
deny?: boolean;
|
|
75
|
+
denyReason?: string;
|
|
76
|
+
}
|
|
77
|
+
export type UIToNodeMessage = AgentStartMessage | AgentStopMessage | AgentSteerMessage | ConfigUpdateMessage | ConfigStatusMessage | SessionListMessage | SessionClearMessage | FileReadMessage | FileWriteMessage | SkillStartMessage | ToolPreExecuteResultMessage;
|
|
69
78
|
export interface AgentEventMessage {
|
|
70
79
|
type: 'agent.event';
|
|
71
80
|
eventType: 'text_delta' | 'tool_use' | 'tool_result' | 'thinking' | 'error';
|
|
@@ -86,12 +95,6 @@ export interface AgentErrorMessage {
|
|
|
86
95
|
error: string;
|
|
87
96
|
code?: string;
|
|
88
97
|
}
|
|
89
|
-
export interface ToolApprovalRequestMessage {
|
|
90
|
-
type: 'tool.approval_request';
|
|
91
|
-
toolCallId: string;
|
|
92
|
-
toolName: string;
|
|
93
|
-
args: Record<string, unknown>;
|
|
94
|
-
}
|
|
95
98
|
export interface ReadyMessage {
|
|
96
99
|
type: 'worker.ready';
|
|
97
100
|
nodeVersion: string;
|
|
@@ -123,5 +126,28 @@ export interface SessionClearResultMessage {
|
|
|
123
126
|
type: 'session.clear.result';
|
|
124
127
|
success: boolean;
|
|
125
128
|
}
|
|
126
|
-
|
|
129
|
+
/**
|
|
130
|
+
* Worker fires this before every tool execution, giving the consumer full
|
|
131
|
+
* control over tool approval policy and argument transformation.
|
|
132
|
+
*
|
|
133
|
+
* The consumer MUST respond with `tool.pre_execute.result` to allow execution.
|
|
134
|
+
* If no handler responds, the tool will be denied after the TTL expires
|
|
135
|
+
* (safe-by-default).
|
|
136
|
+
*/
|
|
137
|
+
export interface ToolPreExecuteMessage {
|
|
138
|
+
type: 'tool.pre_execute';
|
|
139
|
+
toolCallId: string;
|
|
140
|
+
toolName: string;
|
|
141
|
+
args: Record<string, unknown>;
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Worker notifies UI that a pre-execution hook timed out (2-min TTL).
|
|
145
|
+
* The tool execution is cancelled.
|
|
146
|
+
*/
|
|
147
|
+
export interface ToolPreExecuteExpiredMessage {
|
|
148
|
+
type: 'tool.pre_execute.expired';
|
|
149
|
+
toolCallId: string;
|
|
150
|
+
toolName: string;
|
|
151
|
+
}
|
|
152
|
+
export type NodeToUIMessage = AgentEventMessage | AgentCompletedMessage | AgentErrorMessage | ReadyMessage | SessionListResultMessage | FileReadResultMessage | ConfigStatusResultMessage | SessionClearResultMessage | ToolPreExecuteMessage | ToolPreExecuteExpiredMessage;
|
|
127
153
|
//# sourceMappingURL=bridge-protocol.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge-protocol.d.ts","sourceRoot":"","sources":["../../../src/services/bridge-protocol.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,aAAa,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,YAAY,CAAA;CACnB;AAED,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"bridge-protocol.d.ts","sourceRoot":"","sources":["../../../src/services/bridge-protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* - File tools (read/write/edit/find/grep/ls)
|
|
11
11
|
* - Code execution (JS VM sandbox + Python Pyodide sandbox)
|
|
12
12
|
* - Git tools (isomorphic-git)
|
|
13
|
-
* -
|
|
13
|
+
* - Pre-execution hook (tool.pre_execute — consumer controls approval policy)
|
|
14
14
|
* - Session management (JSONL transcripts)
|
|
15
15
|
* - Auth profile management (auth-profiles.json)
|
|
16
16
|
*/
|
|
@@ -87,7 +87,14 @@ async function discoverMcpTools() {
|
|
|
87
87
|
new Promise((_, reject) => setTimeout(() => reject(new Error('timeout')), 10_000)),
|
|
88
88
|
]);
|
|
89
89
|
|
|
90
|
-
|
|
90
|
+
const rawTools = buildMcpAgentTools(mcpBridge, mcpToolDescriptors);
|
|
91
|
+
|
|
92
|
+
// Wrap each MCP tool with the pre-execute hook (consumer decides approval policy)
|
|
93
|
+
cachedMcpTools = rawTools.map(tool => ({
|
|
94
|
+
...tool,
|
|
95
|
+
execute: wrapWithPreExecuteHook(tool.name, tool.execute),
|
|
96
|
+
}));
|
|
97
|
+
|
|
91
98
|
console.log(`[mobile-claw] Discovered ${cachedMcpTools.length} MCP device tools`);
|
|
92
99
|
return cachedMcpTools;
|
|
93
100
|
} catch (err) {
|
|
@@ -746,40 +753,42 @@ async function gitDiffTool(args) {
|
|
|
746
753
|
}
|
|
747
754
|
}
|
|
748
755
|
|
|
749
|
-
// ──
|
|
750
|
-
|
|
751
|
-
//
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
//
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
//
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
756
|
+
// ── Pre-execution hook ───────────────────────────────────────────────────
|
|
757
|
+
//
|
|
758
|
+
// Fires a `tool.pre_execute` bridge event before every tool call, giving the
|
|
759
|
+
// consumer (UI layer) full control over tool approval policy.
|
|
760
|
+
//
|
|
761
|
+
// The consumer can: allow (pass args through), deny (with reason), transform
|
|
762
|
+
// args, or show its own approval UI before responding.
|
|
763
|
+
//
|
|
764
|
+
// Always enabled — if no consumer handler is registered, tools will be denied
|
|
765
|
+
// after the TTL expires (safe-by-default).
|
|
766
|
+
|
|
767
|
+
// Map of toolCallId → resolver callback for pending pre-execute results
|
|
768
|
+
const pendingPreExecuteHooks = new Map();
|
|
769
|
+
const PRE_EXECUTE_TTL_MS = 120_000; // Auto-cancel after 2 minutes
|
|
770
|
+
|
|
771
|
+
function waitForPreExecuteResult(toolCallId, toolName, signal) {
|
|
762
772
|
return new Promise((resolve) => {
|
|
763
|
-
// TTL: auto-deny after 2 minutes if user doesn't respond
|
|
764
773
|
const ttlTimer = setTimeout(() => {
|
|
765
|
-
if (
|
|
766
|
-
|
|
767
|
-
channel.send('message', { type: 'tool.
|
|
768
|
-
resolve(
|
|
774
|
+
if (pendingPreExecuteHooks.has(toolCallId)) {
|
|
775
|
+
pendingPreExecuteHooks.delete(toolCallId);
|
|
776
|
+
channel.send('message', { type: 'tool.pre_execute.expired', toolCallId, toolName });
|
|
777
|
+
resolve(null); // null = timed out
|
|
769
778
|
}
|
|
770
|
-
},
|
|
779
|
+
}, PRE_EXECUTE_TTL_MS);
|
|
771
780
|
|
|
772
|
-
|
|
781
|
+
pendingPreExecuteHooks.set(toolCallId, (result) => {
|
|
773
782
|
clearTimeout(ttlTimer);
|
|
774
|
-
resolve(
|
|
783
|
+
resolve(result);
|
|
775
784
|
});
|
|
776
785
|
|
|
777
786
|
if (signal) {
|
|
778
787
|
const onAbort = () => {
|
|
779
788
|
clearTimeout(ttlTimer);
|
|
780
|
-
if (
|
|
781
|
-
|
|
782
|
-
resolve(
|
|
789
|
+
if (pendingPreExecuteHooks.has(toolCallId)) {
|
|
790
|
+
pendingPreExecuteHooks.delete(toolCallId);
|
|
791
|
+
resolve(null);
|
|
783
792
|
}
|
|
784
793
|
};
|
|
785
794
|
signal.addEventListener('abort', onAbort, { once: true });
|
|
@@ -787,28 +796,45 @@ function waitForApproval(toolCallId, signal) {
|
|
|
787
796
|
});
|
|
788
797
|
}
|
|
789
798
|
|
|
790
|
-
|
|
799
|
+
/**
|
|
800
|
+
* Pre-execution hook wrapper.
|
|
801
|
+
*
|
|
802
|
+
* Fires a `tool.pre_execute` bridge event before every tool call, giving the
|
|
803
|
+
* consumer (UI layer) full control over tool approval and argument transformation.
|
|
804
|
+
*
|
|
805
|
+
* The consumer MUST respond with `tool.pre_execute.result` to allow execution.
|
|
806
|
+
* If no handler is registered, tools will time out and be denied (safe-by-default).
|
|
807
|
+
*/
|
|
808
|
+
function wrapWithPreExecuteHook(toolName, executeFn) {
|
|
791
809
|
return async (toolCallId, params, signal, onUpdate) => {
|
|
792
|
-
//
|
|
810
|
+
// Fire the hook — send tool args to the consumer for policy decision
|
|
793
811
|
channel.send('message', {
|
|
794
|
-
type: 'tool.
|
|
812
|
+
type: 'tool.pre_execute',
|
|
795
813
|
toolCallId,
|
|
796
814
|
toolName,
|
|
797
815
|
args: params,
|
|
798
816
|
});
|
|
799
817
|
|
|
800
|
-
// Wait for
|
|
801
|
-
const
|
|
818
|
+
// Wait for the client to respond with (optionally transformed) args
|
|
819
|
+
const result = await waitForPreExecuteResult(toolCallId, toolName, signal);
|
|
802
820
|
|
|
803
|
-
if (!
|
|
821
|
+
if (!result) {
|
|
822
|
+
// Timed out or aborted
|
|
804
823
|
return {
|
|
805
|
-
content: [{ type: 'text', text:
|
|
806
|
-
details: { denied: true },
|
|
824
|
+
content: [{ type: 'text', text: `Pre-execution hook timed out for tool "${toolName}". The tool was not executed.` }],
|
|
825
|
+
details: { denied: true, reason: 'pre_execute_timeout' },
|
|
807
826
|
};
|
|
808
827
|
}
|
|
809
828
|
|
|
810
|
-
|
|
811
|
-
|
|
829
|
+
if (result.deny) {
|
|
830
|
+
return {
|
|
831
|
+
content: [{ type: 'text', text: result.denyReason || `Tool "${toolName}" execution was denied by the client.` }],
|
|
832
|
+
details: { denied: true, reason: result.denyReason || 'client_denied' },
|
|
833
|
+
};
|
|
834
|
+
}
|
|
835
|
+
|
|
836
|
+
// Execute the tool with the (possibly transformed) args
|
|
837
|
+
return executeFn(toolCallId, result.args, signal, onUpdate);
|
|
812
838
|
};
|
|
813
839
|
}
|
|
814
840
|
|
|
@@ -853,6 +879,30 @@ function loadSystemPrompt() {
|
|
|
853
879
|
systemPrompt = 'You are a helpful AI assistant running on a mobile device.';
|
|
854
880
|
}
|
|
855
881
|
|
|
882
|
+
// Append vault alias awareness when the pre-execute hook is active
|
|
883
|
+
if (preExecuteHookEnabled) {
|
|
884
|
+
systemPrompt += `
|
|
885
|
+
## Vault Aliases
|
|
886
|
+
|
|
887
|
+
The user may provide sensitive information that has been replaced with vault aliases in the format \`{{VAULT:<type>_<hash>}}\`.
|
|
888
|
+
Examples: \`{{VAULT:cc_4521}}\`, \`{{VAULT:ssn_a3f1}}\`, \`{{VAULT:email_c9d3}}\`, \`{{VAULT:pwd_b7e2}}\`
|
|
889
|
+
|
|
890
|
+
These are SECURE REFERENCES to real values (credit cards, social security numbers, emails, passwords, API keys, etc.) stored in the device's hardware-encrypted vault (iOS Keychain / Android Keystore).
|
|
891
|
+
|
|
892
|
+
**How to use vault aliases:**
|
|
893
|
+
- When you need to use a vaulted value in a tool call, include the alias as-is in the tool arguments
|
|
894
|
+
- The system will automatically resolve aliases to real values before the tool executes, after the user authorizes biometrically
|
|
895
|
+
- Use aliases naturally in your responses: "I'll use your card {{VAULT:cc_4521}} for the payment"
|
|
896
|
+
- The user sees the original data on their end; the aliases are only visible to you
|
|
897
|
+
|
|
898
|
+
**What NOT to do:**
|
|
899
|
+
- Do not try to guess or infer what a vault alias contains
|
|
900
|
+
- Do not ask the user to re-enter sensitive data that was already vaulted
|
|
901
|
+
- Do not persist vault aliases to files or memory — they are ephemeral session references
|
|
902
|
+
- Do not attempt to decode, reverse, or manipulate the alias format
|
|
903
|
+
`;
|
|
904
|
+
}
|
|
905
|
+
|
|
856
906
|
return systemPrompt;
|
|
857
907
|
}
|
|
858
908
|
|
|
@@ -1000,12 +1050,10 @@ function buildAgentTools() {
|
|
|
1000
1050
|
},
|
|
1001
1051
|
];
|
|
1002
1052
|
|
|
1003
|
-
// Wrap tools
|
|
1053
|
+
// Wrap all tools with pre-execute hook (consumer decides approval policy)
|
|
1004
1054
|
return toolDefs.map(tool => ({
|
|
1005
1055
|
...tool,
|
|
1006
|
-
execute: (
|
|
1007
|
-
? wrapWithApproval(tool.name, tool.execute)
|
|
1008
|
-
: tool.execute,
|
|
1056
|
+
execute: wrapWithPreExecuteHook(tool.name, tool.execute),
|
|
1009
1057
|
}));
|
|
1010
1058
|
}
|
|
1011
1059
|
|
|
@@ -1778,11 +1826,11 @@ channel.addListener('message', async (event) => {
|
|
|
1778
1826
|
break;
|
|
1779
1827
|
}
|
|
1780
1828
|
|
|
1781
|
-
case 'tool.
|
|
1782
|
-
const resolver =
|
|
1829
|
+
case 'tool.pre_execute.result': {
|
|
1830
|
+
const resolver = pendingPreExecuteHooks.get(msg.toolCallId);
|
|
1783
1831
|
if (resolver) {
|
|
1784
|
-
|
|
1785
|
-
resolver(msg.
|
|
1832
|
+
pendingPreExecuteHooks.delete(msg.toolCallId);
|
|
1833
|
+
resolver({ args: msg.args, deny: msg.deny, denyReason: msg.denyReason });
|
|
1786
1834
|
}
|
|
1787
1835
|
break;
|
|
1788
1836
|
}
|
|
@@ -1851,12 +1899,6 @@ channel.addListener('message', async (event) => {
|
|
|
1851
1899
|
profiles.lastGood[provider] = profileKey;
|
|
1852
1900
|
saveAuthProfiles('main', profiles);
|
|
1853
1901
|
channel.send('message', { type: 'config.update.result', success: true });
|
|
1854
|
-
} else if (action === 'setApprovalMode') {
|
|
1855
|
-
const mode = msg.config.mode;
|
|
1856
|
-
if (mode === 'permissive' || mode === 'interactive') {
|
|
1857
|
-
approvalMode = mode;
|
|
1858
|
-
channel.send('message', { type: 'config.update.result', success: true, approvalMode: mode });
|
|
1859
|
-
}
|
|
1860
1902
|
} else if (action === 'setOAuth') {
|
|
1861
1903
|
const profiles = loadAuthProfiles('main');
|
|
1862
1904
|
const profileKey = `${provider}:oauth`;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "capacitor-mobile-claw",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.8",
|
|
4
4
|
"description": "On-device AI agent engine for Capacitor apps — embedded Node.js worker with LLM, file tools, code execution, git, and extensible MCP server",
|
|
5
5
|
"main": "dist/esm/index.js",
|
|
6
6
|
"types": "dist/esm/index.d.ts",
|