@elizaos/plugin-computeruse 2.0.3-beta.2 → 2.0.3-beta.4
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/actions/clipboard.d.ts +22 -0
- package/dist/actions/clipboard.d.ts.map +1 -0
- package/dist/actions/helpers.d.ts +33 -0
- package/dist/actions/helpers.d.ts.map +1 -0
- package/dist/actions/progress.d.ts +26 -0
- package/dist/actions/progress.d.ts.map +1 -0
- package/dist/actions/use-computer-agent.d.ts +113 -0
- package/dist/actions/use-computer-agent.d.ts.map +1 -0
- package/dist/actions/use-computer.d.ts +3 -0
- package/dist/actions/use-computer.d.ts.map +1 -0
- package/dist/actions/window-handlers.d.ts +11 -0
- package/dist/actions/window-handlers.d.ts.map +1 -0
- package/dist/actions/window.d.ts +11 -0
- package/dist/actions/window.d.ts.map +1 -0
- package/dist/actor/actor.d.ts +84 -0
- package/dist/actor/actor.d.ts.map +1 -0
- package/dist/actor/agent-callbacks.d.ts +128 -0
- package/dist/actor/agent-callbacks.d.ts.map +1 -0
- package/dist/actor/agent-loop.d.ts +134 -0
- package/dist/actor/agent-loop.d.ts.map +1 -0
- package/dist/actor/aosp-input-actor.d.ts +87 -0
- package/dist/actor/aosp-input-actor.d.ts.map +1 -0
- package/dist/actor/brain.d.ts +195 -0
- package/dist/actor/brain.d.ts.map +1 -0
- package/dist/actor/cascade.d.ts +92 -0
- package/dist/actor/cascade.d.ts.map +1 -0
- package/dist/actor/computer-interface.d.ts +276 -0
- package/dist/actor/computer-interface.d.ts.map +1 -0
- package/dist/actor/dispatch.d.ts +24 -0
- package/dist/actor/dispatch.d.ts.map +1 -0
- package/dist/actor/index.d.ts +12 -0
- package/dist/actor/index.d.ts.map +1 -0
- package/dist/actor/types.d.ts +94 -0
- package/dist/actor/types.d.ts.map +1 -0
- package/dist/approval-manager.d.ts +29 -0
- package/dist/approval-manager.d.ts.map +1 -0
- package/dist/index.d.ts +46 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +13649 -0
- package/dist/index.js.map +68 -0
- package/dist/mcp/index.d.ts +8 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/server.d.ts +42 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/tools.d.ts +53 -0
- package/dist/mcp/tools.d.ts.map +1 -0
- package/dist/mobile/android-bridge.d.ts +263 -0
- package/dist/mobile/android-bridge.d.ts.map +1 -0
- package/dist/mobile/android-scene.d.ts +52 -0
- package/dist/mobile/android-scene.d.ts.map +1 -0
- package/dist/mobile/android-trajectory.d.ts +66 -0
- package/dist/mobile/android-trajectory.d.ts.map +1 -0
- package/dist/mobile/index.d.ts +19 -0
- package/dist/mobile/index.d.ts.map +1 -0
- package/dist/mobile/ios-app-intent-registry.d.ts +20 -0
- package/dist/mobile/ios-app-intent-registry.d.ts.map +1 -0
- package/dist/mobile/ios-bridge.d.ts +359 -0
- package/dist/mobile/ios-bridge.d.ts.map +1 -0
- package/dist/mobile/ios-computer-interface.d.ts +160 -0
- package/dist/mobile/ios-computer-interface.d.ts.map +1 -0
- package/dist/mobile/mobile-computer-interface.d.ts +142 -0
- package/dist/mobile/mobile-computer-interface.d.ts.map +1 -0
- package/dist/mobile/mobile-screen-capture.d.ts +64 -0
- package/dist/mobile/mobile-screen-capture.d.ts.map +1 -0
- package/dist/mobile/ocr-provider.d.ts +187 -0
- package/dist/mobile/ocr-provider.d.ts.map +1 -0
- package/dist/mobile/ocr-provider.js +111 -0
- package/dist/mobile/ocr-provider.js.map +10 -0
- package/dist/osworld/action-converter.d.ts +38 -0
- package/dist/osworld/action-converter.d.ts.map +1 -0
- package/dist/osworld/adapter.d.ts +79 -0
- package/dist/osworld/adapter.d.ts.map +1 -0
- package/dist/osworld/types.d.ts +69 -0
- package/dist/osworld/types.d.ts.map +1 -0
- package/dist/parity/index.d.ts +9 -0
- package/dist/parity/index.d.ts.map +1 -0
- package/dist/parity/parity-matrix.d.ts +82 -0
- package/dist/parity/parity-matrix.d.ts.map +1 -0
- package/dist/parity/screenspot.d.ts +56 -0
- package/dist/parity/screenspot.d.ts.map +1 -0
- package/dist/platform/a11y.d.ts +64 -0
- package/dist/platform/a11y.d.ts.map +1 -0
- package/dist/platform/browser.d.ts +61 -0
- package/dist/platform/browser.d.ts.map +1 -0
- package/dist/platform/capabilities.d.ts +33 -0
- package/dist/platform/capabilities.d.ts.map +1 -0
- package/dist/platform/capture.d.ts +65 -0
- package/dist/platform/capture.d.ts.map +1 -0
- package/dist/platform/clipboard.d.ts +24 -0
- package/dist/platform/clipboard.d.ts.map +1 -0
- package/dist/platform/coords.d.ts +73 -0
- package/dist/platform/coords.d.ts.map +1 -0
- package/dist/platform/desktop.d.ts +56 -0
- package/dist/platform/desktop.d.ts.map +1 -0
- package/dist/platform/displays.d.ts +97 -0
- package/dist/platform/displays.d.ts.map +1 -0
- package/dist/platform/driver.d.ts +49 -0
- package/dist/platform/driver.d.ts.map +1 -0
- package/dist/platform/file-ops.d.ts +27 -0
- package/dist/platform/file-ops.d.ts.map +1 -0
- package/dist/platform/helpers.d.ts +60 -0
- package/dist/platform/helpers.d.ts.map +1 -0
- package/dist/platform/launch.d.ts +54 -0
- package/dist/platform/launch.d.ts.map +1 -0
- package/dist/platform/normalized-coords.d.ts +46 -0
- package/dist/platform/normalized-coords.d.ts.map +1 -0
- package/dist/platform/nut-driver.d.ts +86 -0
- package/dist/platform/nut-driver.d.ts.map +1 -0
- package/dist/platform/permissions.d.ts +33 -0
- package/dist/platform/permissions.d.ts.map +1 -0
- package/dist/platform/process-list.d.ts +32 -0
- package/dist/platform/process-list.d.ts.map +1 -0
- package/dist/platform/ps-host.d.ts +77 -0
- package/dist/platform/ps-host.d.ts.map +1 -0
- package/dist/platform/screenshot-errors.d.ts +54 -0
- package/dist/platform/screenshot-errors.d.ts.map +1 -0
- package/dist/platform/screenshot-quality.d.ts +11 -0
- package/dist/platform/screenshot-quality.d.ts.map +1 -0
- package/dist/platform/screenshot.d.ts +16 -0
- package/dist/platform/screenshot.d.ts.map +1 -0
- package/dist/platform/security.d.ts +20 -0
- package/dist/platform/security.d.ts.map +1 -0
- package/dist/platform/terminal.d.ts +38 -0
- package/dist/platform/terminal.d.ts.map +1 -0
- package/dist/platform/wayland-portal.d.ts +25 -0
- package/dist/platform/wayland-portal.d.ts.map +1 -0
- package/dist/platform/windows-list.d.ts +78 -0
- package/dist/platform/windows-list.d.ts.map +1 -0
- package/dist/providers/computer-state.d.ts +9 -0
- package/dist/providers/computer-state.d.ts.map +1 -0
- package/dist/providers/scene.d.ts +21 -0
- package/dist/providers/scene.d.ts.map +1 -0
- package/dist/register-routes.d.ts +2 -0
- package/dist/register-routes.d.ts.map +1 -0
- package/dist/register-routes.js +13836 -0
- package/dist/register-routes.js.map +71 -0
- package/dist/routes/computer-use-compat-routes.d.ts +29 -0
- package/dist/routes/computer-use-compat-routes.d.ts.map +1 -0
- package/dist/routes/computer-use-routes.d.ts +3 -0
- package/dist/routes/computer-use-routes.d.ts.map +1 -0
- package/dist/routes/sandbox-routes.d.ts +53 -0
- package/dist/routes/sandbox-routes.d.ts.map +1 -0
- package/dist/sandbox/docker-backend.d.ts +69 -0
- package/dist/sandbox/docker-backend.d.ts.map +1 -0
- package/dist/sandbox/index.d.ts +62 -0
- package/dist/sandbox/index.d.ts.map +1 -0
- package/dist/sandbox/qemu-backend.d.ts +48 -0
- package/dist/sandbox/qemu-backend.d.ts.map +1 -0
- package/dist/sandbox/remote-guest.d.ts +72 -0
- package/dist/sandbox/remote-guest.d.ts.map +1 -0
- package/dist/sandbox/sandbox-driver.d.ts +41 -0
- package/dist/sandbox/sandbox-driver.d.ts.map +1 -0
- package/dist/sandbox/surface-types.d.ts +17 -0
- package/dist/sandbox/surface-types.d.ts.map +1 -0
- package/dist/sandbox/types.d.ts +138 -0
- package/dist/sandbox/types.d.ts.map +1 -0
- package/dist/sandbox/wsb-backend.d.ts +48 -0
- package/dist/sandbox/wsb-backend.d.ts.map +1 -0
- package/dist/scene/a11y-provider.d.ts +83 -0
- package/dist/scene/a11y-provider.d.ts.map +1 -0
- package/dist/scene/apps.d.ts +39 -0
- package/dist/scene/apps.d.ts.map +1 -0
- package/dist/scene/dhash.d.ts +105 -0
- package/dist/scene/dhash.d.ts.map +1 -0
- package/dist/scene/ocr-adapter.d.ts +64 -0
- package/dist/scene/ocr-adapter.d.ts.map +1 -0
- package/dist/scene/scene-builder.d.ts +107 -0
- package/dist/scene/scene-builder.d.ts.map +1 -0
- package/dist/scene/scene-types.d.ts +70 -0
- package/dist/scene/scene-types.d.ts.map +1 -0
- package/dist/scene/screen-state.d.ts +105 -0
- package/dist/scene/screen-state.d.ts.map +1 -0
- package/dist/scene/serialize.d.ts +28 -0
- package/dist/scene/serialize.d.ts.map +1 -0
- package/dist/security/browser-script-policy.d.ts +9 -0
- package/dist/security/browser-script-policy.d.ts.map +1 -0
- package/dist/services/computer-use-service.d.ts +142 -0
- package/dist/services/computer-use-service.d.ts.map +1 -0
- package/dist/services/desktop-control.d.ts +35 -0
- package/dist/services/desktop-control.d.ts.map +1 -0
- package/dist/services/index.d.ts +7 -0
- package/dist/services/index.d.ts.map +1 -0
- package/dist/services/vision-context-provider.d.ts +32 -0
- package/dist/services/vision-context-provider.d.ts.map +1 -0
- package/dist/types.d.ts +385 -0
- package/dist/types.d.ts.map +1 -0
- package/package.json +16 -5
- package/registry-entry.json +74 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser-script-policy.d.ts","sourceRoot":"","sources":["../../src/security/browser-script-policy.ts"],"names":[],"mappings":"AAAA,qGAAqG;AAErG,eAAO,MAAM,gCAAgC,QAEgD,CAAC;AAE9F,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,QAAQ,CAAC,IAAI,EAAG,0BAA0B,CAAU;gBAExC,OAAO,SAAmC;CAIvD;AAED,wBAAgB,2BAA2B,IAAI,KAAK,CAEnD;AAED,wBAAgB,uBAAuB,IAAI,OAAO,CAEjD"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
import { type IAgentRuntime, Service } from "@elizaos/core";
|
|
2
|
+
import { type SceneUpdateEvent } from "../scene/scene-builder.js";
|
|
3
|
+
import type { Scene, SceneVlmElement } from "../scene/scene-types.js";
|
|
4
|
+
import { type ScreenState, type ScreenStateChange, ScreenStateStore } from "../scene/screen-state.js";
|
|
5
|
+
import type { ActionHistoryEntry, ApprovalMode, ApprovalResolution, ApprovalSnapshot, BrowserActionParams, BrowserActionResult, ComputerActionResult, ComputerUseConfig, ComputerUseResult, DesktopActionParams, DisplayDescriptor, FileActionParams, FileActionResult, PlatformCapabilities, ScreenSize, TerminalActionParams, TerminalActionResult, WindowActionParams, WindowActionResult } from "../types.js";
|
|
6
|
+
export declare class ComputerUseService extends Service {
|
|
7
|
+
static serviceType: string;
|
|
8
|
+
capabilityDescription: string;
|
|
9
|
+
private capabilities;
|
|
10
|
+
private recentActions;
|
|
11
|
+
private screenSize;
|
|
12
|
+
private approvalManager;
|
|
13
|
+
private displayIdDeprecationWarned;
|
|
14
|
+
private sceneBuilder;
|
|
15
|
+
/**
|
|
16
|
+
* Single shared per-display capture for the turn (#9105 M3). OCR, the Brain,
|
|
17
|
+
* and the DirtyTileDescriber all read through this store so the screen is
|
|
18
|
+
* grabbed once per tick instead of once per consumer.
|
|
19
|
+
*/
|
|
20
|
+
private screenStateStore;
|
|
21
|
+
private cuConfig;
|
|
22
|
+
static start(runtime: IAgentRuntime): Promise<Service>;
|
|
23
|
+
stop(): Promise<void>;
|
|
24
|
+
executeCommand(command: string, parameters?: Record<string, unknown>): Promise<ComputerUseResult>;
|
|
25
|
+
executeDesktopAction(rawParams: DesktopActionParams): Promise<ComputerActionResult>;
|
|
26
|
+
/**
|
|
27
|
+
* `ocr` / `detect_elements` — real on-device OCR via the registered
|
|
28
|
+
* CoordOcrProvider (plugin-vision contributes native Windows.Media.Ocr / Apple
|
|
29
|
+
* Vision / docTR through `registerCoordOcrProvider`). Replaces the former
|
|
30
|
+
* "not available on local machines" stub. Read-only; coordinates are
|
|
31
|
+
* display-local so the agent can click them directly.
|
|
32
|
+
*/
|
|
33
|
+
private runOcrOrDetect;
|
|
34
|
+
/**
|
|
35
|
+
* Set-of-Marks `detect_elements` path (#9170 M9). Returns `null` when no SoM
|
|
36
|
+
* provider is registered so the caller falls back to OCR-only detection.
|
|
37
|
+
* Each numbered mark becomes an element whose `center` is the click target
|
|
38
|
+
* the VLM's chosen number resolves to; the numbered-overlay PNG is returned
|
|
39
|
+
* for the prompt under `data.setOfMarks.overlay`.
|
|
40
|
+
*/
|
|
41
|
+
private runSetOfMarksDetect;
|
|
42
|
+
executeBrowserAction(rawParams: BrowserActionParams): Promise<BrowserActionResult>;
|
|
43
|
+
private retryBrowserActionAfterOpen;
|
|
44
|
+
private shouldAutoOpenBrowser;
|
|
45
|
+
private runBrowserAction;
|
|
46
|
+
executeWindowAction(rawParams: WindowActionParams): Promise<WindowActionResult>;
|
|
47
|
+
executeFileAction(rawParams: FileActionParams): Promise<FileActionResult>;
|
|
48
|
+
executeTerminalAction(rawParams: TerminalActionParams): Promise<TerminalActionResult>;
|
|
49
|
+
captureScreen(): Promise<Buffer>;
|
|
50
|
+
getCapabilities(): PlatformCapabilities;
|
|
51
|
+
getConfig(): ComputerUseConfig;
|
|
52
|
+
getRecentActions(): ActionHistoryEntry[];
|
|
53
|
+
getScreenDimensions(): ScreenSize;
|
|
54
|
+
getApprovalMode(): ApprovalMode;
|
|
55
|
+
setApprovalMode(mode: ApprovalMode): ApprovalMode;
|
|
56
|
+
getApprovalSnapshot(): ApprovalSnapshot;
|
|
57
|
+
subscribeApprovals(listener: (snapshot: ApprovalSnapshot) => void): () => void;
|
|
58
|
+
resolveApproval(id: string, approved: boolean, reason?: string): ApprovalResolution | null;
|
|
59
|
+
private normalizeDesktopActionParams;
|
|
60
|
+
private normalizeBrowserActionParams;
|
|
61
|
+
private normalizeWindowActionParams;
|
|
62
|
+
private normalizeFileActionParams;
|
|
63
|
+
private normalizeTerminalActionParams;
|
|
64
|
+
private normalizeBrowserAction;
|
|
65
|
+
private desktopApprovalCommand;
|
|
66
|
+
private browserApprovalCommand;
|
|
67
|
+
private windowApprovalCommand;
|
|
68
|
+
private fileApprovalCommand;
|
|
69
|
+
private terminalApprovalCommand;
|
|
70
|
+
private mapDesktopCommandToAction;
|
|
71
|
+
private mapBrowserCommandToAction;
|
|
72
|
+
private mapWindowCommandToAction;
|
|
73
|
+
private mapFileCommandToAction;
|
|
74
|
+
private mapTerminalCommandToAction;
|
|
75
|
+
private awaitApproval;
|
|
76
|
+
/**
|
|
77
|
+
* Capture a specific display's frame as base64 PNG. Falls back to the
|
|
78
|
+
* legacy single-display path if the per-display capture throws.
|
|
79
|
+
*/
|
|
80
|
+
private captureScreenshotForDisplay;
|
|
81
|
+
/**
|
|
82
|
+
* Resolve which display a coordinate-bearing action targets.
|
|
83
|
+
* Emits a deprecation warning when displayId is omitted on multi-monitor
|
|
84
|
+
* setups; defaults to the primary display.
|
|
85
|
+
*/
|
|
86
|
+
private resolveDisplayIdForAction;
|
|
87
|
+
private toGlobal;
|
|
88
|
+
/** Surface the live display layout for the agent state provider. */
|
|
89
|
+
getDisplays(): DisplayDescriptor[];
|
|
90
|
+
/**
|
|
91
|
+
* Return the most recently built Scene (WS6). Returns null before the
|
|
92
|
+
* first tick. The `scene` provider seeds an initial tick on first read
|
|
93
|
+
* so this is rarely null in practice.
|
|
94
|
+
*/
|
|
95
|
+
getCurrentScene(): Scene | null;
|
|
96
|
+
/**
|
|
97
|
+
* Force a fresh Scene build. Used by the `scene` provider on first read
|
|
98
|
+
* and by WS7's Brain to refresh before a new turn.
|
|
99
|
+
*/
|
|
100
|
+
refreshScene(mode?: "idle" | "active" | "agent-turn"): Promise<Scene>;
|
|
101
|
+
/**
|
|
102
|
+
* Subscribe to scene updates. Returns an unsubscribe function. The
|
|
103
|
+
* SceneBuilder ticks only on explicit `refreshScene` calls — subscribers
|
|
104
|
+
* are notified whenever a tick completes.
|
|
105
|
+
*/
|
|
106
|
+
subscribeToSceneUpdates(handler: (event: SceneUpdateEvent) => void): () => void;
|
|
107
|
+
/**
|
|
108
|
+
* Shared single-capture `ScreenState` for a display (#9105 M3). Reuses the
|
|
109
|
+
* last capture inside the freshness window; pass `force` to re-capture. This
|
|
110
|
+
* is the one capture per turn that OCR, the Brain, and the DirtyTileDescriber
|
|
111
|
+
* all read instead of grabbing their own frame.
|
|
112
|
+
*/
|
|
113
|
+
getScreenState(displayId?: number, force?: boolean): Promise<ScreenState>;
|
|
114
|
+
/** Subscribe to screen-change events (dHash moved ≥ threshold). */
|
|
115
|
+
subscribeScreenChange(listener: (change: ScreenStateChange) => void): () => void;
|
|
116
|
+
/** Capture-accounting snapshot proving the per-turn capture saving. */
|
|
117
|
+
getScreenStateStats(): ReturnType<ScreenStateStore["getStats"]>;
|
|
118
|
+
/**
|
|
119
|
+
* Populate the current scene's VLM annotations (#9105 M3). The Brain and the
|
|
120
|
+
* DirtyTileDescriber produce `vlm_scene` / `vlm_elements`; this persists them
|
|
121
|
+
* so the next `scene` provider read carries the cheap understanding instead
|
|
122
|
+
* of forcing a fresh describe.
|
|
123
|
+
*/
|
|
124
|
+
setSceneVlmAnnotations(vlmScene: string | null, vlmElements: SceneVlmElement[] | null): void;
|
|
125
|
+
private shouldCaptureAfterDesktopAction;
|
|
126
|
+
private createEntry;
|
|
127
|
+
private succeedEntry;
|
|
128
|
+
private failEntry;
|
|
129
|
+
private finishFileEntry;
|
|
130
|
+
private finishTerminalEntry;
|
|
131
|
+
private requireCoordinate;
|
|
132
|
+
private requireIdentifier;
|
|
133
|
+
private requireNumber;
|
|
134
|
+
private requireWindowTarget;
|
|
135
|
+
private normalizeEncoding;
|
|
136
|
+
private defaultDownloadsPath;
|
|
137
|
+
private toParamsRecord;
|
|
138
|
+
private pushAction;
|
|
139
|
+
private loadConfig;
|
|
140
|
+
private detectCapabilities;
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=computer-use-service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computer-use-service.d.ts","sourceRoot":"","sources":["../../src/services/computer-use-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export type DesktopInputButton = "left" | "right";
|
|
2
|
+
export interface DesktopScreenshotRegion {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
5
|
+
width: number;
|
|
6
|
+
height: number;
|
|
7
|
+
}
|
|
8
|
+
export interface DesktopWindowInfo {
|
|
9
|
+
id: string;
|
|
10
|
+
title: string;
|
|
11
|
+
app: string;
|
|
12
|
+
}
|
|
13
|
+
export interface DesktopControlCapability {
|
|
14
|
+
available: boolean;
|
|
15
|
+
tool: string;
|
|
16
|
+
}
|
|
17
|
+
export interface DesktopControlCapabilities {
|
|
18
|
+
screenshot: DesktopControlCapability;
|
|
19
|
+
computerUse: DesktopControlCapability;
|
|
20
|
+
windowList: DesktopControlCapability;
|
|
21
|
+
headfulGui: DesktopControlCapability;
|
|
22
|
+
}
|
|
23
|
+
export declare function isHeadfulGuiAvailable(): boolean;
|
|
24
|
+
export declare function commandExists(command: string): boolean;
|
|
25
|
+
export declare function captureDesktopScreenshot(region?: DesktopScreenshotRegion): Buffer;
|
|
26
|
+
export declare function listDesktopWindows(): DesktopWindowInfo[];
|
|
27
|
+
export declare function performDesktopClick(x: number, y: number, button?: DesktopInputButton): void;
|
|
28
|
+
export declare function performDesktopDoubleClick(x: number, y: number, button?: DesktopInputButton): void;
|
|
29
|
+
export declare function performDesktopMouseMove(x: number, y: number): void;
|
|
30
|
+
export declare function performDesktopScroll(deltaX: number, deltaY: number): void;
|
|
31
|
+
export declare function performDesktopTextInput(text: string): void;
|
|
32
|
+
export declare function performDesktopKeypress(keys: string): void;
|
|
33
|
+
export declare function detectDesktopControlCapabilities(): DesktopControlCapabilities;
|
|
34
|
+
export declare function getDesktopPlatformName(): NodeJS.Platform;
|
|
35
|
+
//# sourceMappingURL=desktop-control.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"desktop-control.d.ts","sourceRoot":"","sources":["../../src/services/desktop-control.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,OAAO,CAAC;AAElD,MAAM,WAAW,uBAAuB;IACtC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,0BAA0B;IACzC,UAAU,EAAE,wBAAwB,CAAC;IACrC,WAAW,EAAE,wBAAwB,CAAC;IACtC,UAAU,EAAE,wBAAwB,CAAC;IACrC,UAAU,EAAE,wBAAwB,CAAC;CACtC;AAED,wBAAgB,qBAAqB,IAAI,OAAO,CAa/C;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAWtD;AAED,wBAAgB,wBAAwB,CACtC,MAAM,CAAC,EAAE,uBAAuB,GAC/B,MAAM,CAuER;AAED,wBAAgB,kBAAkB,IAAI,iBAAiB,EAAE,CA2GxD;AAED,wBAAgB,mBAAmB,CACjC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,GAAE,kBAA2B,GAClC,IAAI,CAoCN;AAED,wBAAgB,yBAAyB,CACvC,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,GAAE,kBAA2B,GAClC,IAAI,CAoCN;AAED,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CA6BlE;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAuCzE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAyC1D;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAyDzD;AAuDD,wBAAgB,gCAAgC,IAAI,0BAA0B,CAa7E;AA6MD,wBAAgB,sBAAsB,IAAI,MAAM,CAAC,QAAQ,CAExD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Barrel exports for plugin-computeruse services.
|
|
3
|
+
*/
|
|
4
|
+
export { ComputerUseService } from "./computer-use-service.js";
|
|
5
|
+
export type { DesktopControlCapabilities, DesktopControlCapability, DesktopInputButton, DesktopScreenshotRegion, DesktopWindowInfo, } from "./desktop-control.js";
|
|
6
|
+
export { VISION_CONTEXT_SERVICE_TYPE, VISION_CONTEXT_TASK_GOAL_CACHE_KEY, type VisionContext, type VisionContextBBox, type VisionContextFocusedWindow, VisionContextProvider, type VisionContextRecentAction, } from "./vision-context-provider.js";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,YAAY,EACV,0BAA0B,EAC1B,wBAAwB,EACxB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,2BAA2B,EAC3B,kCAAkC,EAClC,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,qBAAqB,EACrB,KAAK,yBAAyB,GAC/B,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type IAgentRuntime, Service } from "@elizaos/core";
|
|
2
|
+
export declare const VISION_CONTEXT_SERVICE_TYPE = "vision-context";
|
|
3
|
+
export declare const VISION_CONTEXT_TASK_GOAL_CACHE_KEY = "vision-context:task-goal";
|
|
4
|
+
export type VisionContextBBox = [number, number, number, number];
|
|
5
|
+
export interface VisionContextFocusedWindow {
|
|
6
|
+
app: string;
|
|
7
|
+
title: string;
|
|
8
|
+
bbox: VisionContextBBox | null;
|
|
9
|
+
}
|
|
10
|
+
export interface VisionContextRecentAction {
|
|
11
|
+
action: string;
|
|
12
|
+
ts: number;
|
|
13
|
+
}
|
|
14
|
+
export interface VisionContext {
|
|
15
|
+
openApps: string[];
|
|
16
|
+
focusedWindow: VisionContextFocusedWindow | null;
|
|
17
|
+
recentActions: VisionContextRecentAction[];
|
|
18
|
+
currentTaskGoal: string | null;
|
|
19
|
+
}
|
|
20
|
+
export declare class VisionContextProvider extends Service {
|
|
21
|
+
static serviceType: string;
|
|
22
|
+
private readonly recentActions;
|
|
23
|
+
capabilityDescription: string;
|
|
24
|
+
static start(runtime: IAgentRuntime): Promise<VisionContextProvider>;
|
|
25
|
+
stop(): Promise<void>;
|
|
26
|
+
getContext(): Promise<VisionContext>;
|
|
27
|
+
noteAction(action: string): void;
|
|
28
|
+
private getScene;
|
|
29
|
+
private getRecentActions;
|
|
30
|
+
private getCurrentTaskGoal;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=vision-context-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vision-context-provider.d.ts","sourceRoot":"","sources":["../../src/services/vision-context-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAU,OAAO,EAAE,MAAM,eAAe,CAAC;AAMpE,eAAO,MAAM,2BAA2B,mBAAmB,CAAC;AAC5D,eAAO,MAAM,kCAAkC,6BAA6B,CAAC;AAE7E,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEjE,MAAM,WAAW,0BAA0B;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,aAAa,EAAE,0BAA0B,GAAG,IAAI,CAAC;IACjD,aAAa,EAAE,yBAAyB,EAAE,CAAC;IAC3C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AA4ED,qBAAa,qBAAsB,SAAQ,OAAO;IAChD,OAAgB,WAAW,SAA+B;IAE1D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmC;IAExD,qBAAqB,SACiC;WAEzC,KAAK,CACzB,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,qBAAqB,CAAC;IAIlB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,UAAU,IAAI,OAAO,CAAC,aAAa,CAAC;IAe1C,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;YAalB,QAAQ;IActB,OAAO,CAAC,gBAAgB;YAWV,kBAAkB;CAqBjC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,385 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for plugin-computeruse.
|
|
3
|
+
*
|
|
4
|
+
* Ported from coasty-ai/open-computer-use (Apache 2.0) and adapted for the
|
|
5
|
+
* elizaOS service/action/provider model.
|
|
6
|
+
*/
|
|
7
|
+
export type PermissionType = "accessibility" | "screen_recording" | "microphone" | "camera" | "shell";
|
|
8
|
+
export type DesktopActionType = "screenshot" | "click" | "click_with_modifiers" | "double_click" | "right_click" | "mouse_move" | "middle_click" | "mouse_down" | "mouse_up" | "type" | "key" | "key_combo" | "key_down" | "key_up" | "scroll" | "drag" | "get_cursor_position" | "detect_elements" | "ocr" | "open" | "launch" | "kill_app" | "set_value";
|
|
9
|
+
export interface DesktopActionParams {
|
|
10
|
+
action: DesktopActionType;
|
|
11
|
+
coordinate?: [number, number];
|
|
12
|
+
startCoordinate?: [number, number];
|
|
13
|
+
/**
|
|
14
|
+
* Multi-point polyline for `drag` (≥2 points, local to `displayId`). When
|
|
15
|
+
* present it supersedes `startCoordinate`/`coordinate` and traces every
|
|
16
|
+
* waypoint with the button held (curves, corners, marquee, swipe paths).
|
|
17
|
+
*/
|
|
18
|
+
path?: Array<[number, number]>;
|
|
19
|
+
/**
|
|
20
|
+
* Display the coordinate is local to. Required for any coordinate-bearing
|
|
21
|
+
* action (click, mouse_move, drag, scroll, key_combo, click_with_modifiers).
|
|
22
|
+
* If omitted, the service falls back to the primary display and emits a
|
|
23
|
+
* deprecation warning. New callers MUST set this.
|
|
24
|
+
*/
|
|
25
|
+
displayId?: number;
|
|
26
|
+
/** Coordinate space of `coordinate`/`startCoordinate`: logical (default) or backing-store pixels (macOS retina captures). */
|
|
27
|
+
coordSource?: "logical" | "backing";
|
|
28
|
+
/** Modifier keys to hold during click_with_modifiers */
|
|
29
|
+
modifiers?: string[];
|
|
30
|
+
/** Text to type (for "type" action) */
|
|
31
|
+
text?: string;
|
|
32
|
+
key?: string;
|
|
33
|
+
hold_keys?: string[];
|
|
34
|
+
button?: "left" | "middle" | "right";
|
|
35
|
+
clicks?: number;
|
|
36
|
+
scrollDirection?: "up" | "down" | "left" | "right";
|
|
37
|
+
scrollAmount?: number;
|
|
38
|
+
amount?: number;
|
|
39
|
+
x?: number;
|
|
40
|
+
y?: number;
|
|
41
|
+
x1?: number;
|
|
42
|
+
y1?: number;
|
|
43
|
+
x2?: number;
|
|
44
|
+
y2?: number;
|
|
45
|
+
/** Target file / URL / folder for the `open` action. */
|
|
46
|
+
target?: string;
|
|
47
|
+
/** Application name or executable path for the `launch` action. */
|
|
48
|
+
app?: string;
|
|
49
|
+
/** Arguments passed to the launched application (`launch`). */
|
|
50
|
+
appArgs?: string[];
|
|
51
|
+
}
|
|
52
|
+
export type BrowserActionType = "open" | "connect" | "close" | "navigate" | "click" | "type" | "scroll" | "screenshot" | "dom" | "get_dom" | "clickables" | "get_clickables" | "execute" | "state" | "info" | "context" | "get_context" | "wait" | "list_tabs" | "open_tab" | "close_tab" | "switch_tab";
|
|
53
|
+
export interface BrowserActionParams {
|
|
54
|
+
action: BrowserActionType;
|
|
55
|
+
url?: string;
|
|
56
|
+
selector?: string;
|
|
57
|
+
coordinate?: [number, number];
|
|
58
|
+
text?: string;
|
|
59
|
+
code?: string;
|
|
60
|
+
/** Text to wait for or click by text content */
|
|
61
|
+
waitForText?: string;
|
|
62
|
+
/** Text to wait to disappear */
|
|
63
|
+
waitForTextGone?: string;
|
|
64
|
+
/** Scroll direction */
|
|
65
|
+
direction?: "up" | "down";
|
|
66
|
+
amount?: number;
|
|
67
|
+
tabId?: string;
|
|
68
|
+
/** Numeric tab index alias from upstream callers */
|
|
69
|
+
index?: number;
|
|
70
|
+
/** Snake-case alias for tab index */
|
|
71
|
+
tab_index?: number;
|
|
72
|
+
/** Wait timeout in ms */
|
|
73
|
+
timeout?: number;
|
|
74
|
+
}
|
|
75
|
+
export type WindowActionType = "list" | "focus" | "switch" | "arrange" | "move" | "minimize" | "maximize" | "restore" | "close" | "get_current_window_id" | "get_application_windows" | "set_bounds" | "get_window_size" | "get_window_position";
|
|
76
|
+
export interface WindowActionParams {
|
|
77
|
+
action: WindowActionType;
|
|
78
|
+
windowId?: string;
|
|
79
|
+
/** Window title match for switch action */
|
|
80
|
+
windowTitle?: string;
|
|
81
|
+
/** App name match for switch action */
|
|
82
|
+
appName?: string;
|
|
83
|
+
/** Upstream title alias */
|
|
84
|
+
title?: string;
|
|
85
|
+
/** Upstream window alias */
|
|
86
|
+
window?: string;
|
|
87
|
+
/** Layout hint for arrange action */
|
|
88
|
+
arrangement?: string;
|
|
89
|
+
/** Coordinates for move / set_bounds action */
|
|
90
|
+
x?: number;
|
|
91
|
+
y?: number;
|
|
92
|
+
/** Window size for set_bounds action */
|
|
93
|
+
width?: number;
|
|
94
|
+
height?: number;
|
|
95
|
+
}
|
|
96
|
+
export interface ComputerUseResult {
|
|
97
|
+
success: boolean;
|
|
98
|
+
message?: string;
|
|
99
|
+
error?: string;
|
|
100
|
+
permissionDenied?: boolean;
|
|
101
|
+
permissionType?: PermissionType;
|
|
102
|
+
approvalRequired?: boolean;
|
|
103
|
+
approvalId?: string;
|
|
104
|
+
}
|
|
105
|
+
export interface ComputerActionResult extends ComputerUseResult {
|
|
106
|
+
/** Base64-encoded PNG screenshot taken after the action */
|
|
107
|
+
screenshot?: string;
|
|
108
|
+
/** Display the screenshot belongs to (when known). */
|
|
109
|
+
displayId?: number;
|
|
110
|
+
/** Current cursor position (for the `get_cursor_position` action). */
|
|
111
|
+
cursorPosition?: {
|
|
112
|
+
x: number;
|
|
113
|
+
y: number;
|
|
114
|
+
};
|
|
115
|
+
/** Structured data payload (e.g. OCR/detect results) */
|
|
116
|
+
data?: unknown;
|
|
117
|
+
}
|
|
118
|
+
export interface BrowserActionResult extends ComputerUseResult {
|
|
119
|
+
/** Base64-encoded PNG for screenshot action */
|
|
120
|
+
screenshot?: string;
|
|
121
|
+
/** Front-end proxy screenshot variant */
|
|
122
|
+
frontendScreenshot?: string;
|
|
123
|
+
/** Text content for dom, state, clickables, execute results */
|
|
124
|
+
content?: string;
|
|
125
|
+
/** Structured data (e.g. tab list, clickable elements) */
|
|
126
|
+
data?: unknown;
|
|
127
|
+
url?: string;
|
|
128
|
+
title?: string;
|
|
129
|
+
isOpen?: boolean;
|
|
130
|
+
is_open?: boolean;
|
|
131
|
+
tabs?: BrowserTab[];
|
|
132
|
+
elements?: ClickableElement[];
|
|
133
|
+
count?: number;
|
|
134
|
+
}
|
|
135
|
+
export interface WindowActionResult extends ComputerUseResult {
|
|
136
|
+
/** Window list for "list" / "get_application_windows" actions */
|
|
137
|
+
windows?: WindowInfo[];
|
|
138
|
+
count?: number;
|
|
139
|
+
/** Focused window id for "get_current_window_id" (null when none focused). */
|
|
140
|
+
windowId?: string | null;
|
|
141
|
+
/** Focused window descriptor for "get_current_window_id". */
|
|
142
|
+
window?: WindowInfo | null;
|
|
143
|
+
/** Window bounds for "get_window_size" / "get_window_position". */
|
|
144
|
+
bounds?: ScreenRegion;
|
|
145
|
+
}
|
|
146
|
+
export type FileActionType = "read" | "write" | "edit" | "append" | "delete" | "exists" | "list" | "list_directory" | "delete_directory" | "upload" | "download" | "list_downloads" | "read_bytes" | "write_bytes" | "create_dir" | "directory_exists" | "get_file_size";
|
|
147
|
+
export interface FileActionParams {
|
|
148
|
+
action: FileActionType;
|
|
149
|
+
path?: string;
|
|
150
|
+
filepath?: string;
|
|
151
|
+
dirpath?: string;
|
|
152
|
+
content?: string;
|
|
153
|
+
oldText?: string;
|
|
154
|
+
newText?: string;
|
|
155
|
+
old_text?: string;
|
|
156
|
+
new_text?: string;
|
|
157
|
+
find?: string;
|
|
158
|
+
replace?: string;
|
|
159
|
+
encoding?: BufferEncoding;
|
|
160
|
+
/** Base64 payload for write_bytes. */
|
|
161
|
+
base64?: string;
|
|
162
|
+
/** Byte window for read_bytes (chunked binary transfer). */
|
|
163
|
+
offset?: number;
|
|
164
|
+
length?: number;
|
|
165
|
+
}
|
|
166
|
+
export interface FileEntry {
|
|
167
|
+
name: string;
|
|
168
|
+
type: "file" | "directory";
|
|
169
|
+
path: string;
|
|
170
|
+
}
|
|
171
|
+
export interface FileActionResult extends ComputerUseResult {
|
|
172
|
+
path?: string;
|
|
173
|
+
content?: string;
|
|
174
|
+
/** Base64-encoded bytes for read_bytes. */
|
|
175
|
+
bytes?: string;
|
|
176
|
+
exists?: boolean;
|
|
177
|
+
isFile?: boolean;
|
|
178
|
+
isDirectory?: boolean;
|
|
179
|
+
is_file?: boolean;
|
|
180
|
+
is_directory?: boolean;
|
|
181
|
+
size?: number;
|
|
182
|
+
count?: number;
|
|
183
|
+
items?: FileEntry[];
|
|
184
|
+
}
|
|
185
|
+
export type TerminalActionType = "connect" | "execute" | "read" | "type" | "clear" | "close" | "execute_command";
|
|
186
|
+
export interface TerminalActionParams {
|
|
187
|
+
action: TerminalActionType;
|
|
188
|
+
command?: string;
|
|
189
|
+
cwd?: string;
|
|
190
|
+
timeout?: number;
|
|
191
|
+
timeoutSeconds?: number;
|
|
192
|
+
sessionId?: string;
|
|
193
|
+
session_id?: string;
|
|
194
|
+
text?: string;
|
|
195
|
+
}
|
|
196
|
+
export interface TerminalActionResult extends ComputerUseResult {
|
|
197
|
+
sessionId?: string;
|
|
198
|
+
session_id?: string;
|
|
199
|
+
cwd?: string;
|
|
200
|
+
output?: string;
|
|
201
|
+
exitCode?: number;
|
|
202
|
+
exit_code?: number;
|
|
203
|
+
}
|
|
204
|
+
export interface WindowInfo {
|
|
205
|
+
id: string;
|
|
206
|
+
title: string;
|
|
207
|
+
app: string;
|
|
208
|
+
}
|
|
209
|
+
export interface ScreenRegion {
|
|
210
|
+
x: number;
|
|
211
|
+
y: number;
|
|
212
|
+
width: number;
|
|
213
|
+
height: number;
|
|
214
|
+
}
|
|
215
|
+
export interface ScreenSize {
|
|
216
|
+
width: number;
|
|
217
|
+
height: number;
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* One physical display attached to the host. Surfaced to the agent via the
|
|
221
|
+
* `computerState` provider so the planner knows the layout before issuing
|
|
222
|
+
* coordinate-bearing actions.
|
|
223
|
+
*/
|
|
224
|
+
export interface DisplayDescriptor {
|
|
225
|
+
id: number;
|
|
226
|
+
/** [x, y, width, height] in OS-global pixel space. */
|
|
227
|
+
bounds: [number, number, number, number];
|
|
228
|
+
/** Backing-store scale factor (1 on Linux/Windows, >1 on HiDPI macOS). */
|
|
229
|
+
scaleFactor: number;
|
|
230
|
+
primary: boolean;
|
|
231
|
+
name: string;
|
|
232
|
+
}
|
|
233
|
+
export interface PlatformCapability {
|
|
234
|
+
available: boolean;
|
|
235
|
+
tool: string;
|
|
236
|
+
}
|
|
237
|
+
export interface PlatformCapabilities {
|
|
238
|
+
screenshot: {
|
|
239
|
+
available: boolean;
|
|
240
|
+
tool: string;
|
|
241
|
+
};
|
|
242
|
+
computerUse: {
|
|
243
|
+
available: boolean;
|
|
244
|
+
tool: string;
|
|
245
|
+
};
|
|
246
|
+
windowList: {
|
|
247
|
+
available: boolean;
|
|
248
|
+
tool: string;
|
|
249
|
+
};
|
|
250
|
+
browser: {
|
|
251
|
+
available: boolean;
|
|
252
|
+
tool: string;
|
|
253
|
+
};
|
|
254
|
+
terminal: {
|
|
255
|
+
available: boolean;
|
|
256
|
+
tool: string;
|
|
257
|
+
};
|
|
258
|
+
fileSystem: {
|
|
259
|
+
available: boolean;
|
|
260
|
+
tool: string;
|
|
261
|
+
};
|
|
262
|
+
clipboard: {
|
|
263
|
+
available: boolean;
|
|
264
|
+
tool: string;
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
export interface ActionHistoryEntry {
|
|
268
|
+
action: string;
|
|
269
|
+
timestamp: number;
|
|
270
|
+
params?: Record<string, unknown>;
|
|
271
|
+
success: boolean;
|
|
272
|
+
}
|
|
273
|
+
export type ApprovalMode = "full_control" | "smart_approve" | "approve_all" | "off";
|
|
274
|
+
export interface PendingApproval {
|
|
275
|
+
id: string;
|
|
276
|
+
command: string;
|
|
277
|
+
parameters: Record<string, unknown>;
|
|
278
|
+
requestedAt: string;
|
|
279
|
+
}
|
|
280
|
+
export interface ApprovalSnapshot {
|
|
281
|
+
mode: ApprovalMode;
|
|
282
|
+
pendingCount: number;
|
|
283
|
+
pendingApprovals: PendingApproval[];
|
|
284
|
+
}
|
|
285
|
+
export interface ApprovalResolution {
|
|
286
|
+
id: string;
|
|
287
|
+
command: string;
|
|
288
|
+
approved: boolean;
|
|
289
|
+
cancelled: boolean;
|
|
290
|
+
mode: ApprovalMode;
|
|
291
|
+
requestedAt: string;
|
|
292
|
+
resolvedAt: string;
|
|
293
|
+
reason?: string;
|
|
294
|
+
}
|
|
295
|
+
export interface ComputerUseConfig {
|
|
296
|
+
/** Auto-capture screenshot after each desktop mutation (default: true) */
|
|
297
|
+
screenshotAfterAction: boolean;
|
|
298
|
+
/** Action execution timeout in ms (default: 10000) */
|
|
299
|
+
actionTimeoutMs: number;
|
|
300
|
+
/** Max recent actions to keep for provider context (default: 10) */
|
|
301
|
+
maxRecentActions: number;
|
|
302
|
+
/** Approval mode for side-effecting commands */
|
|
303
|
+
approvalMode: ApprovalMode;
|
|
304
|
+
/** Launch puppeteer-core in headless mode (default: false) */
|
|
305
|
+
browserHeadless?: boolean;
|
|
306
|
+
/** Execution mode: 'yolo' runs CUA ops on the host, 'sandbox' delegates to a VM/container backend. */
|
|
307
|
+
mode: ComputerUseMode;
|
|
308
|
+
/** Sandbox configuration; only consulted when `mode === 'sandbox'`. */
|
|
309
|
+
sandbox?: SandboxConfig;
|
|
310
|
+
}
|
|
311
|
+
/**
|
|
312
|
+
* Top-level execution mode. Picked exactly once at plugin init by reading
|
|
313
|
+
* `ELIZA_COMPUTERUSE_MODE`. There is no per-call override.
|
|
314
|
+
*
|
|
315
|
+
* - `yolo` — operate the host machine (existing behaviour).
|
|
316
|
+
* - `sandbox` — operate an isolated VM/container; the host is never touched.
|
|
317
|
+
*/
|
|
318
|
+
export type ComputerUseMode = "yolo" | "sandbox";
|
|
319
|
+
/** Implemented sandbox backend identifier. */
|
|
320
|
+
export type SandboxBackendName = "docker" | "wsb" | "qemu";
|
|
321
|
+
export interface SandboxConfig {
|
|
322
|
+
backend: SandboxBackendName;
|
|
323
|
+
/**
|
|
324
|
+
* Container/VM image identifier. Operator must pull or build this image
|
|
325
|
+
* themselves; the plugin does not ship one. Default: `cua/linux:latest`.
|
|
326
|
+
*/
|
|
327
|
+
image: string;
|
|
328
|
+
/** Optional overrides forwarded to the backend (env, mounts, args). */
|
|
329
|
+
options?: SandboxBackendOptions;
|
|
330
|
+
}
|
|
331
|
+
export interface SandboxBackendOptions {
|
|
332
|
+
/** Extra environment variables exposed inside the sandbox. */
|
|
333
|
+
env?: Record<string, string>;
|
|
334
|
+
/** Host:container path mount pairs (Docker only). */
|
|
335
|
+
mounts?: Array<{
|
|
336
|
+
host: string;
|
|
337
|
+
container: string;
|
|
338
|
+
readOnly?: boolean;
|
|
339
|
+
}>;
|
|
340
|
+
/** Resource limits passed through to the backend. */
|
|
341
|
+
resources?: {
|
|
342
|
+
cpus?: number;
|
|
343
|
+
memoryMb?: number;
|
|
344
|
+
};
|
|
345
|
+
/**
|
|
346
|
+
* Remote-guest RPC endpoint for the VM backends (WSB / QEMU, #9170 M13). The
|
|
347
|
+
* in-guest computer-server listens here; the host POSTs
|
|
348
|
+
* `{command, params}` → `{success, result}`. Defaults to
|
|
349
|
+
* `http://127.0.0.1:<rpcPort>/cua`.
|
|
350
|
+
*/
|
|
351
|
+
rpcUrl?: string;
|
|
352
|
+
/** Host-forwarded guest RPC port (WSB / QEMU). Default 8000. */
|
|
353
|
+
rpcPort?: number;
|
|
354
|
+
}
|
|
355
|
+
export interface BrowserState {
|
|
356
|
+
url: string;
|
|
357
|
+
title: string;
|
|
358
|
+
isOpen?: boolean;
|
|
359
|
+
is_open?: boolean;
|
|
360
|
+
}
|
|
361
|
+
export interface BrowserInfo extends BrowserState {
|
|
362
|
+
success: boolean;
|
|
363
|
+
error?: string;
|
|
364
|
+
userAgent?: string;
|
|
365
|
+
viewport?: {
|
|
366
|
+
width: number;
|
|
367
|
+
height: number;
|
|
368
|
+
} | null;
|
|
369
|
+
tabs?: number;
|
|
370
|
+
}
|
|
371
|
+
export interface ClickableElement {
|
|
372
|
+
tag: string;
|
|
373
|
+
text: string;
|
|
374
|
+
selector: string;
|
|
375
|
+
type?: string;
|
|
376
|
+
href?: string;
|
|
377
|
+
ariaLabel?: string;
|
|
378
|
+
}
|
|
379
|
+
export interface BrowserTab {
|
|
380
|
+
id: string;
|
|
381
|
+
url: string;
|
|
382
|
+
title: string;
|
|
383
|
+
active: boolean;
|
|
384
|
+
}
|
|
385
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|