@zenalexa/unicli 0.217.0 → 0.217.3
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/AGENTS.md +7 -6
- package/README.md +59 -19
- package/README.zh-CN.md +36 -15
- package/crates/unicli-atspi/Cargo.toml +47 -0
- package/crates/unicli-atspi/README.md +6 -0
- package/crates/unicli-atspi/src/errors.rs +213 -0
- package/crates/unicli-atspi/src/input.rs +1004 -0
- package/crates/unicli-atspi/src/invoke.rs +1132 -0
- package/crates/unicli-atspi/src/main.rs +130 -0
- package/crates/unicli-atspi/src/refs.rs +24 -0
- package/crates/unicli-atspi/src/screenshot.rs +756 -0
- package/crates/unicli-atspi/src/tree.rs +2319 -0
- package/crates/unicli-shared/Cargo.toml +13 -0
- package/crates/unicli-shared/src/lib.rs +77 -0
- package/crates/unicli-uia/Cargo.toml +29 -0
- package/crates/unicli-uia/README.md +6 -0
- package/crates/unicli-uia/src/errors.rs +179 -0
- package/crates/unicli-uia/src/input.rs +790 -0
- package/crates/unicli-uia/src/invoke.rs +977 -0
- package/crates/unicli-uia/src/main.rs +130 -0
- package/crates/unicli-uia/src/refs.rs +24 -0
- package/crates/unicli-uia/src/screenshot.rs +685 -0
- package/crates/unicli-uia/src/tree.rs +2135 -0
- package/dist/adapters/macos/actions.d.ts +9 -0
- package/dist/adapters/macos/actions.d.ts.map +1 -0
- package/dist/adapters/macos/actions.js +55 -0
- package/dist/adapters/macos/actions.js.map +1 -0
- package/dist/browser/bridge.d.ts +2 -0
- package/dist/browser/bridge.d.ts.map +1 -1
- package/dist/browser/bridge.js +39 -0
- package/dist/browser/bridge.js.map +1 -1
- package/dist/browser/cdp-client.d.ts +2 -0
- package/dist/browser/cdp-client.d.ts.map +1 -1
- package/dist/browser/cdp-client.js +7 -0
- package/dist/browser/cdp-client.js.map +1 -1
- package/dist/browser/page.d.ts +2 -0
- package/dist/browser/page.d.ts.map +1 -1
- package/dist/browser/page.js +35 -0
- package/dist/browser/page.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +13 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/approvals.d.ts +3 -0
- package/dist/commands/approvals.d.ts.map +1 -0
- package/dist/commands/approvals.js +123 -0
- package/dist/commands/approvals.js.map +1 -0
- package/dist/commands/browser-operator-runtime.d.ts.map +1 -1
- package/dist/commands/browser-operator-runtime.js +1 -0
- package/dist/commands/browser-operator-runtime.js.map +1 -1
- package/dist/commands/browser-operator.d.ts.map +1 -1
- package/dist/commands/browser-operator.js +84 -12
- package/dist/commands/browser-operator.js.map +1 -1
- package/dist/commands/compute.d.ts +3 -0
- package/dist/commands/compute.d.ts.map +1 -0
- package/dist/commands/compute.js +324 -0
- package/dist/commands/compute.js.map +1 -0
- package/dist/commands/dispatch.d.ts.map +1 -1
- package/dist/commands/dispatch.js +10 -4
- package/dist/commands/dispatch.js.map +1 -1
- package/dist/commands/doctor-compute.d.ts +38 -0
- package/dist/commands/doctor-compute.d.ts.map +1 -0
- package/dist/commands/doctor-compute.js +376 -0
- package/dist/commands/doctor-compute.js.map +1 -0
- package/dist/commands/lint.d.ts.map +1 -1
- package/dist/commands/lint.js +69 -1
- package/dist/commands/lint.js.map +1 -1
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +4 -0
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/runs.d.ts +3 -0
- package/dist/commands/runs.d.ts.map +1 -0
- package/dist/commands/runs.js +367 -0
- package/dist/commands/runs.js.map +1 -0
- package/dist/core/envelope.d.ts +8 -0
- package/dist/core/envelope.d.ts.map +1 -1
- package/dist/core/envelope.js +1 -0
- package/dist/core/envelope.js.map +1 -1
- package/dist/discovery/aliases.d.ts.map +1 -1
- package/dist/discovery/aliases.js +15 -0
- package/dist/discovery/aliases.js.map +1 -1
- package/dist/discovery/loader.d.ts.map +1 -1
- package/dist/discovery/loader.js +9 -0
- package/dist/discovery/loader.js.map +1 -1
- package/dist/discovery/macos-dynamic.d.ts +58 -0
- package/dist/discovery/macos-dynamic.d.ts.map +1 -0
- package/dist/discovery/macos-dynamic.js +429 -0
- package/dist/discovery/macos-dynamic.js.map +1 -0
- package/dist/discovery/search.d.ts.map +1 -1
- package/dist/discovery/search.js +152 -3
- package/dist/discovery/search.js.map +1 -1
- package/dist/electron-apps.d.ts +1 -0
- package/dist/electron-apps.d.ts.map +1 -1
- package/dist/electron-apps.js +1 -0
- package/dist/electron-apps.js.map +1 -1
- package/dist/engine/approval-store.d.ts +43 -0
- package/dist/engine/approval-store.d.ts.map +1 -0
- package/dist/engine/approval-store.js +193 -0
- package/dist/engine/approval-store.js.map +1 -0
- package/dist/engine/browser/action-evidence.d.ts +2 -0
- package/dist/engine/browser/action-evidence.d.ts.map +1 -1
- package/dist/engine/browser/action-evidence.js +35 -1
- package/dist/engine/browser/action-evidence.js.map +1 -1
- package/dist/engine/browser/evidence.d.ts +22 -0
- package/dist/engine/browser/evidence.d.ts.map +1 -1
- package/dist/engine/browser/evidence.js +72 -0
- package/dist/engine/browser/evidence.js.map +1 -1
- package/dist/engine/browser/session-lease.d.ts +53 -0
- package/dist/engine/browser/session-lease.d.ts.map +1 -0
- package/dist/engine/browser/session-lease.js +100 -0
- package/dist/engine/browser/session-lease.js.map +1 -0
- package/dist/engine/browser/session-lock.d.ts +17 -0
- package/dist/engine/browser/session-lock.d.ts.map +1 -0
- package/dist/engine/browser/session-lock.js +114 -0
- package/dist/engine/browser/session-lock.js.map +1 -0
- package/dist/engine/browser/session-runtime.d.ts +10 -0
- package/dist/engine/browser/session-runtime.d.ts.map +1 -0
- package/dist/engine/browser/session-runtime.js +87 -0
- package/dist/engine/browser/session-runtime.js.map +1 -0
- package/dist/engine/capability-policy.d.ts +13 -2
- package/dist/engine/capability-policy.d.ts.map +1 -1
- package/dist/engine/capability-policy.js +113 -3
- package/dist/engine/capability-policy.js.map +1 -1
- package/dist/engine/executor.d.ts +8 -3
- package/dist/engine/executor.d.ts.map +1 -1
- package/dist/engine/executor.js +9 -2
- package/dist/engine/executor.js.map +1 -1
- package/dist/engine/kernel/execute.d.ts +1 -0
- package/dist/engine/kernel/execute.d.ts.map +1 -1
- package/dist/engine/kernel/execute.js +125 -3
- package/dist/engine/kernel/execute.js.map +1 -1
- package/dist/engine/kernel/types.d.ts +13 -0
- package/dist/engine/kernel/types.d.ts.map +1 -1
- package/dist/engine/operation-policy.d.ts +9 -1
- package/dist/engine/operation-policy.d.ts.map +1 -1
- package/dist/engine/operation-policy.js +6 -2
- package/dist/engine/operation-policy.js.map +1 -1
- package/dist/engine/permission-rules.d.ts +43 -0
- package/dist/engine/permission-rules.d.ts.map +1 -0
- package/dist/engine/permission-rules.js +401 -0
- package/dist/engine/permission-rules.js.map +1 -0
- package/dist/engine/permission-runtime.d.ts +11 -0
- package/dist/engine/permission-runtime.d.ts.map +1 -0
- package/dist/engine/permission-runtime.js +21 -0
- package/dist/engine/permission-runtime.js.map +1 -0
- package/dist/engine/repair/remedies.d.ts +4 -0
- package/dist/engine/repair/remedies.d.ts.map +1 -0
- package/dist/engine/repair/remedies.js +169 -0
- package/dist/engine/repair/remedies.js.map +1 -0
- package/dist/engine/runtime-resource-guard.d.ts +23 -0
- package/dist/engine/runtime-resource-guard.d.ts.map +1 -0
- package/dist/engine/runtime-resource-guard.js +85 -0
- package/dist/engine/runtime-resource-guard.js.map +1 -0
- package/dist/engine/session/args.d.ts +3 -0
- package/dist/engine/session/args.d.ts.map +1 -0
- package/dist/engine/session/args.js +17 -0
- package/dist/engine/session/args.js.map +1 -0
- package/dist/engine/session/compare.d.ts +92 -0
- package/dist/engine/session/compare.d.ts.map +1 -0
- package/dist/engine/session/compare.js +324 -0
- package/dist/engine/session/compare.js.map +1 -0
- package/dist/engine/session/environment.d.ts +4 -0
- package/dist/engine/session/environment.d.ts.map +1 -0
- package/dist/engine/session/environment.js +25 -0
- package/dist/engine/session/environment.js.map +1 -0
- package/dist/engine/session/events.d.ts +2 -0
- package/dist/engine/session/events.d.ts.map +1 -1
- package/dist/engine/session/events.js +12 -0
- package/dist/engine/session/events.js.map +1 -1
- package/dist/engine/session/query.d.ts +47 -0
- package/dist/engine/session/query.d.ts.map +1 -0
- package/dist/engine/session/query.js +299 -0
- package/dist/engine/session/query.js.map +1 -0
- package/dist/engine/session/replay.d.ts +35 -0
- package/dist/engine/session/replay.d.ts.map +1 -0
- package/dist/engine/session/replay.js +144 -0
- package/dist/engine/session/replay.js.map +1 -0
- package/dist/engine/session/run-loop.d.ts.map +1 -1
- package/dist/engine/session/run-loop.js +62 -23
- package/dist/engine/session/run-loop.js.map +1 -1
- package/dist/engine/session/store.d.ts +7 -0
- package/dist/engine/session/store.d.ts.map +1 -1
- package/dist/engine/session/store.js +131 -1
- package/dist/engine/session/store.js.map +1 -1
- package/dist/engine/session/types.d.ts +3 -1
- package/dist/engine/session/types.d.ts.map +1 -1
- package/dist/engine/steps/compute.d.ts +41 -0
- package/dist/engine/steps/compute.d.ts.map +1 -0
- package/dist/engine/steps/compute.js +55 -0
- package/dist/engine/steps/compute.js.map +1 -0
- package/dist/engine/steps/desktop-ax.d.ts +8 -0
- package/dist/engine/steps/desktop-ax.d.ts.map +1 -1
- package/dist/engine/steps/desktop-ax.js +16 -0
- package/dist/engine/steps/desktop-ax.js.map +1 -1
- package/dist/engine/steps/desktop-sidecar.d.ts +49 -0
- package/dist/engine/steps/desktop-sidecar.d.ts.map +1 -0
- package/dist/engine/steps/desktop-sidecar.js +50 -0
- package/dist/engine/steps/desktop-sidecar.js.map +1 -0
- package/dist/engine/steps/download.d.ts +1 -1
- package/dist/engine/steps/download.d.ts.map +1 -1
- package/dist/engine/steps/download.js +24 -2
- package/dist/engine/steps/download.js.map +1 -1
- package/dist/engine/steps/exec.d.ts +1 -1
- package/dist/engine/steps/exec.d.ts.map +1 -1
- package/dist/engine/steps/exec.js +23 -7
- package/dist/engine/steps/exec.js.map +1 -1
- package/dist/engine/steps/fetch-text.d.ts +1 -1
- package/dist/engine/steps/fetch-text.d.ts.map +1 -1
- package/dist/engine/steps/fetch-text.js +12 -4
- package/dist/engine/steps/fetch-text.js.map +1 -1
- package/dist/engine/steps/fetch.d.ts +2 -1
- package/dist/engine/steps/fetch.d.ts.map +1 -1
- package/dist/engine/steps/fetch.js +29 -6
- package/dist/engine/steps/fetch.js.map +1 -1
- package/dist/engine/steps/index.d.ts +2 -0
- package/dist/engine/steps/index.d.ts.map +1 -1
- package/dist/engine/steps/index.js +2 -0
- package/dist/engine/steps/index.js.map +1 -1
- package/dist/engine/steps/navigate.d.ts +1 -1
- package/dist/engine/steps/navigate.d.ts.map +1 -1
- package/dist/engine/steps/navigate.js +29 -2
- package/dist/engine/steps/navigate.js.map +1 -1
- package/dist/fast-path.d.ts.map +1 -1
- package/dist/fast-path.js +96 -12
- package/dist/fast-path.js.map +1 -1
- package/dist/manifest-compact.txt +2 -2
- package/dist/manifest-search.json +1 -1
- package/dist/manifest.json +1024 -1
- package/dist/mcp/handler.d.ts +2 -2
- package/dist/mcp/handler.d.ts.map +1 -1
- package/dist/mcp/handler.js +59 -5
- package/dist/mcp/handler.js.map +1 -1
- package/dist/mcp/profiles/computer-use.d.ts +4 -0
- package/dist/mcp/profiles/computer-use.d.ts.map +1 -0
- package/dist/mcp/profiles/computer-use.js +305 -0
- package/dist/mcp/profiles/computer-use.js.map +1 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +30 -6
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp/tools.d.ts +9 -0
- package/dist/mcp/tools.d.ts.map +1 -1
- package/dist/mcp/tools.js +20 -0
- package/dist/mcp/tools.js.map +1 -1
- package/dist/output/envelope.d.ts +6 -0
- package/dist/output/envelope.d.ts.map +1 -1
- package/dist/output/envelope.js.map +1 -1
- package/dist/output/error-map.d.ts.map +1 -1
- package/dist/output/error-map.js +4 -0
- package/dist/output/error-map.js.map +1 -1
- package/dist/registry.d.ts +1 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +5 -0
- package/dist/registry.js.map +1 -1
- package/dist/transport/adapters/cdp-browser.d.ts +38 -2
- package/dist/transport/adapters/cdp-browser.d.ts.map +1 -1
- package/dist/transport/adapters/cdp-browser.js +349 -22
- package/dist/transport/adapters/cdp-browser.js.map +1 -1
- package/dist/transport/adapters/desktop-atspi.d.ts +23 -17
- package/dist/transport/adapters/desktop-atspi.d.ts.map +1 -1
- package/dist/transport/adapters/desktop-atspi.js +143 -32
- package/dist/transport/adapters/desktop-atspi.js.map +1 -1
- package/dist/transport/adapters/desktop-ax-helpers.d.ts +24 -0
- package/dist/transport/adapters/desktop-ax-helpers.d.ts.map +1 -0
- package/dist/transport/adapters/desktop-ax-helpers.js +190 -0
- package/dist/transport/adapters/desktop-ax-helpers.js.map +1 -0
- package/dist/transport/adapters/desktop-ax-swift.d.ts +13 -0
- package/dist/transport/adapters/desktop-ax-swift.d.ts.map +1 -1
- package/dist/transport/adapters/desktop-ax-swift.js +176 -2
- package/dist/transport/adapters/desktop-ax-swift.js.map +1 -1
- package/dist/transport/adapters/desktop-ax.d.ts +11 -2
- package/dist/transport/adapters/desktop-ax.d.ts.map +1 -1
- package/dist/transport/adapters/desktop-ax.js +131 -16
- package/dist/transport/adapters/desktop-ax.js.map +1 -1
- package/dist/transport/adapters/desktop-sidecar-errors.d.ts +3 -0
- package/dist/transport/adapters/desktop-sidecar-errors.d.ts.map +1 -0
- package/dist/transport/adapters/desktop-sidecar-errors.js +34 -0
- package/dist/transport/adapters/desktop-sidecar-errors.js.map +1 -0
- package/dist/transport/adapters/desktop-sidecar-snapshot.d.ts +10 -0
- package/dist/transport/adapters/desktop-sidecar-snapshot.d.ts.map +1 -0
- package/dist/transport/adapters/desktop-sidecar-snapshot.js +89 -0
- package/dist/transport/adapters/desktop-sidecar-snapshot.js.map +1 -0
- package/dist/transport/adapters/desktop-uia.d.ts +23 -17
- package/dist/transport/adapters/desktop-uia.d.ts.map +1 -1
- package/dist/transport/adapters/desktop-uia.js +142 -32
- package/dist/transport/adapters/desktop-uia.js.map +1 -1
- package/dist/transport/adapters/subprocess.d.ts +7 -0
- package/dist/transport/adapters/subprocess.d.ts.map +1 -1
- package/dist/transport/adapters/subprocess.js +64 -0
- package/dist/transport/adapters/subprocess.js.map +1 -1
- package/dist/transport/bus.d.ts +2 -0
- package/dist/transport/bus.d.ts.map +1 -1
- package/dist/transport/bus.js +7 -11
- package/dist/transport/bus.js.map +1 -1
- package/dist/transport/capability.d.ts.map +1 -1
- package/dist/transport/capability.js +123 -98
- package/dist/transport/capability.js.map +1 -1
- package/dist/transport/cascade.d.ts +5 -0
- package/dist/transport/cascade.d.ts.map +1 -0
- package/dist/transport/cascade.js +550 -0
- package/dist/transport/cascade.js.map +1 -0
- package/dist/transport/cdp-session.d.ts +11 -0
- package/dist/transport/cdp-session.d.ts.map +1 -0
- package/dist/transport/cdp-session.js +52 -0
- package/dist/transport/cdp-session.js.map +1 -0
- package/dist/transport/refs.d.ts +51 -0
- package/dist/transport/refs.d.ts.map +1 -0
- package/dist/transport/refs.js +135 -0
- package/dist/transport/refs.js.map +1 -0
- package/dist/transport/sidecar-binary.d.ts +18 -0
- package/dist/transport/sidecar-binary.d.ts.map +1 -0
- package/dist/transport/sidecar-binary.js +55 -0
- package/dist/transport/sidecar-binary.js.map +1 -0
- package/dist/transport/sidecar.d.ts +35 -0
- package/dist/transport/sidecar.d.ts.map +1 -0
- package/dist/transport/sidecar.js +134 -0
- package/dist/transport/sidecar.js.map +1 -0
- package/dist/transport/snapshot-encoder.d.ts +34 -0
- package/dist/transport/snapshot-encoder.d.ts.map +1 -0
- package/dist/transport/snapshot-encoder.js +139 -0
- package/dist/transport/snapshot-encoder.js.map +1 -0
- package/dist/transport/types.d.ts +6 -1
- package/dist/transport/types.d.ts.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/docs/mcp/clients/claude-code.md +29 -0
- package/docs/mcp/clients/claude-desktop.md +47 -0
- package/docs/mcp/clients/codex.md +29 -0
- package/docs/mcp/clients/cursor.md +38 -0
- package/docs/mcp/clients/gemini-cli.md +38 -0
- package/docs/operate/compute.md +172 -0
- package/docs/operate/electron.md +87 -0
- package/docs/operate/focus-behavior.md +40 -0
- package/docs/operate/troubleshooting.md +379 -0
- package/package.json +29 -4
- package/src/adapters/juejin/hot.test.ts +25 -0
- package/src/adapters/juejin/hot.yaml +52 -0
- package/src/adapters/juejin/search.test.ts +27 -0
- package/src/adapters/juejin/search.yaml +58 -0
- package/src/adapters/leetcode/discuss-search.test.ts +29 -0
- package/src/adapters/leetcode/discuss-search.yaml +56 -0
- package/src/adapters/macos/actions.ts +63 -0
|
@@ -16,6 +16,8 @@
|
|
|
16
16
|
* matching transport/step to fix.
|
|
17
17
|
*/
|
|
18
18
|
import type { Envelope } from "../core/envelope.js";
|
|
19
|
+
import type { RefStore } from "./refs.js";
|
|
20
|
+
import type { SnapshotEncoding } from "./snapshot-encoder.js";
|
|
19
21
|
/**
|
|
20
22
|
* The seven transports that together cover the full "operate anything"
|
|
21
23
|
* surface. A transport is a physical execution channel; a strategy
|
|
@@ -31,6 +33,7 @@ export type SnapshotFormat = "dom-ax" | "os-ax" | "screenshot" | "text" | "json"
|
|
|
31
33
|
/** Uniform snapshot shape returned by {@link TransportAdapter.snapshot}. */
|
|
32
34
|
export interface Snapshot {
|
|
33
35
|
format: SnapshotFormat;
|
|
36
|
+
encoding?: SnapshotEncoding;
|
|
34
37
|
data: string | Buffer;
|
|
35
38
|
width?: number;
|
|
36
39
|
height?: number;
|
|
@@ -92,6 +95,7 @@ export interface TransportEvent {
|
|
|
92
95
|
* to `cua` on non-trivial perception tasks).
|
|
93
96
|
*/
|
|
94
97
|
export interface TransportBus {
|
|
98
|
+
refs: RefStore;
|
|
95
99
|
register(adapter: TransportAdapter): void;
|
|
96
100
|
get(kind: TransportKind): TransportAdapter;
|
|
97
101
|
/**
|
|
@@ -119,6 +123,7 @@ export interface TransportContext {
|
|
|
119
123
|
vars: Record<string, unknown>;
|
|
120
124
|
signal?: AbortSignal;
|
|
121
125
|
bus: TransportBus;
|
|
126
|
+
refs?: RefStore;
|
|
122
127
|
}
|
|
123
128
|
/**
|
|
124
129
|
* The core interface every transport implements.
|
|
@@ -136,7 +141,7 @@ export interface TransportAdapter {
|
|
|
136
141
|
readonly capability: Capability;
|
|
137
142
|
open(ctx: TransportContext): Promise<void>;
|
|
138
143
|
snapshot(opts?: {
|
|
139
|
-
format?: SnapshotFormat;
|
|
144
|
+
format?: SnapshotFormat | SnapshotEncoding;
|
|
140
145
|
fresh?: boolean;
|
|
141
146
|
}): Promise<Snapshot>;
|
|
142
147
|
action<T = unknown>(req: ActionRequest): Promise<ActionResult<T>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/transport/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/transport/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -105,6 +105,8 @@ export interface AdapterCommand {
|
|
|
105
105
|
adapterArgs?: AdapterArg[];
|
|
106
106
|
strategy?: Strategy;
|
|
107
107
|
browser?: boolean;
|
|
108
|
+
domain?: string;
|
|
109
|
+
base?: string;
|
|
108
110
|
func?: (page: IPage, kwargs: Record<string, unknown>) => Promise<unknown>;
|
|
109
111
|
method?: "GET" | "POST" | "PUT" | "DELETE" | "PATCH";
|
|
110
112
|
path?: string;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,CAAN,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,kCAAmB,CAAA;IACnB,kCAAmB,CAAA;IACnB,kCAAmB,CAAA;IACnB,gCAAiB,CAAA;IACjB,kCAAmB,CAAA;AACrB,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB;AAED,MAAM,CAAN,IAAY,QAMX;AAND,WAAY,QAAQ;IAClB,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;IACjB,mCAAuB,CAAA;IACvB,qBAAS,CAAA;AACX,CAAC,EANW,QAAQ,KAAR,QAAQ,QAMnB;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,CAAN,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,kCAAmB,CAAA;IACnB,kCAAmB,CAAA;IACnB,kCAAmB,CAAA;IACnB,gCAAiB,CAAA;IACjB,kCAAmB,CAAA;AACrB,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB;AAED,MAAM,CAAN,IAAY,QAMX;AAND,WAAY,QAAQ;IAClB,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;IACjB,mCAAuB,CAAA;IACvB,qBAAS,CAAA;AACX,CAAC,EANW,QAAQ,KAAR,QAAQ,QAMnB;AAwSD,sCAAsC;AACtC,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,CAAC;IAChB,WAAW,EAAE,CAAC;IACd,YAAY,EAAE,EAAE;IAChB,mBAAmB,EAAE,EAAE;IACvB,YAAY,EAAE,EAAE;IAChB,aAAa,EAAE,EAAE;IACjB,YAAY,EAAE,EAAE;CACR,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Claude Code Computer Use
|
|
2
|
+
|
|
3
|
+
Register Uni-CLI as the `computer-use` MCP server for Claude Code:
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
claude mcp add computer-use \
|
|
7
|
+
-- npx -y @zenalexa/unicli mcp serve --profile computer-use
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
The profile exposes only the 15 local computer-control tools:
|
|
11
|
+
`computer-use.apps`, `computer-use.windows`, `computer-use.snapshot`,
|
|
12
|
+
`computer-use.find`, `computer-use.click`, `computer-use.type`,
|
|
13
|
+
`computer-use.press`, `computer-use.scroll`, `computer-use.launch`,
|
|
14
|
+
`computer-use.screenshot`, `computer-use.attach`, `computer-use.evaluate`,
|
|
15
|
+
`computer-use.wait`, `computer-use.observe`, and `computer-use.assert`.
|
|
16
|
+
|
|
17
|
+
## Permissions
|
|
18
|
+
|
|
19
|
+
On macOS, grant Accessibility to the terminal or app that launches Claude Code.
|
|
20
|
+
Grant Screen Recording if you want screenshot fallback. Windows and Linux use
|
|
21
|
+
the UIA and AT-SPI sidecars respectively.
|
|
22
|
+
|
|
23
|
+
## Verify
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npx -y @zenalexa/unicli mcp serve --profile computer-use
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
The server banner should report `15 tools registered, mode=computer-use`.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Claude Desktop Computer Use
|
|
2
|
+
|
|
3
|
+
Use the `computer-use` MCP profile when Claude Desktop should control local
|
|
4
|
+
apps through Uni-CLI's compute layer.
|
|
5
|
+
|
|
6
|
+
```jsonc
|
|
7
|
+
// macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
|
|
8
|
+
// Windows: %APPDATA%\Claude\claude_desktop_config.json
|
|
9
|
+
{
|
|
10
|
+
"mcpServers": {
|
|
11
|
+
"computer-use": {
|
|
12
|
+
"command": "npx",
|
|
13
|
+
"args": [
|
|
14
|
+
"-y",
|
|
15
|
+
"@zenalexa/unicli",
|
|
16
|
+
"mcp",
|
|
17
|
+
"serve",
|
|
18
|
+
"--profile",
|
|
19
|
+
"computer-use",
|
|
20
|
+
"--transport",
|
|
21
|
+
"stdio",
|
|
22
|
+
],
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
}
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Restart Claude Desktop after editing the config.
|
|
29
|
+
|
|
30
|
+
## Permissions
|
|
31
|
+
|
|
32
|
+
macOS requires Accessibility for structured app control. Screenshot fallback
|
|
33
|
+
also requires Screen Recording. Grant both to Claude Desktop, Terminal, or the
|
|
34
|
+
launcher that starts the MCP server.
|
|
35
|
+
|
|
36
|
+
Windows uses UI Automation through the Uni-CLI sidecar. Linux uses AT-SPI and
|
|
37
|
+
requires the desktop accessibility bus to be available.
|
|
38
|
+
|
|
39
|
+
## Verify
|
|
40
|
+
|
|
41
|
+
Run this outside Claude first:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
npx -y @zenalexa/unicli mcp serve --profile computer-use
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
The server banner should report `15 tools registered, mode=computer-use`.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Codex Computer Use
|
|
2
|
+
|
|
3
|
+
Codex desktop can already have its own `computer-use` plugin. To swap the MCP
|
|
4
|
+
server name to Uni-CLI while keeping compatible tool names, configure:
|
|
5
|
+
|
|
6
|
+
```toml
|
|
7
|
+
# ~/.codex/mcp.toml
|
|
8
|
+
[mcp.servers.computer-use]
|
|
9
|
+
command = "npx"
|
|
10
|
+
args = ["-y", "@zenalexa/unicli", "mcp", "serve", "--profile", "computer-use"]
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
Existing prompts that call `computer-use.*` tools can keep the same prefix.
|
|
14
|
+
Uni-CLI routes the calls through the cross-platform compute cascade: macOS AX,
|
|
15
|
+
Windows UIA, Linux AT-SPI, CDP for Electron targets, then configured fallbacks.
|
|
16
|
+
|
|
17
|
+
## Permissions
|
|
18
|
+
|
|
19
|
+
On macOS, grant Accessibility to Codex or to the terminal process that launches
|
|
20
|
+
the MCP server. Grant Screen Recording for screenshot fallback. Windows and
|
|
21
|
+
Linux require the platform accessibility services used by UIA and AT-SPI.
|
|
22
|
+
|
|
23
|
+
## Verify
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
npx -y @zenalexa/unicli mcp serve --profile computer-use
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
The server banner should report `15 tools registered, mode=computer-use`.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Cursor Computer Use
|
|
2
|
+
|
|
3
|
+
Use a project-level `.cursor/mcp.json` or global `~/.cursor/mcp.json` entry:
|
|
4
|
+
|
|
5
|
+
```jsonc
|
|
6
|
+
{
|
|
7
|
+
"mcpServers": {
|
|
8
|
+
"computer-use": {
|
|
9
|
+
"command": "npx",
|
|
10
|
+
"args": [
|
|
11
|
+
"-y",
|
|
12
|
+
"@zenalexa/unicli",
|
|
13
|
+
"mcp",
|
|
14
|
+
"serve",
|
|
15
|
+
"--profile",
|
|
16
|
+
"computer-use",
|
|
17
|
+
],
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
}
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Restart Cursor or reload MCP servers after changing the file.
|
|
24
|
+
|
|
25
|
+
## Permissions
|
|
26
|
+
|
|
27
|
+
macOS requires Accessibility for AX control and Screen Recording for screenshot
|
|
28
|
+
fallback. Grant permissions to Cursor if it launches the server directly, or to
|
|
29
|
+
the terminal/shell process that starts the MCP server. Windows and Linux use the
|
|
30
|
+
UIA and AT-SPI sidecars.
|
|
31
|
+
|
|
32
|
+
## Verify
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npx -y @zenalexa/unicli mcp serve --profile computer-use
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
The server banner should report `15 tools registered, mode=computer-use`.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Gemini CLI Computer Use
|
|
2
|
+
|
|
3
|
+
Add Uni-CLI's `computer-use` MCP profile to Gemini CLI settings:
|
|
4
|
+
|
|
5
|
+
```jsonc
|
|
6
|
+
// ~/.gemini/settings.json
|
|
7
|
+
{
|
|
8
|
+
"mcpServers": {
|
|
9
|
+
"computer-use": {
|
|
10
|
+
"command": "npx",
|
|
11
|
+
"args": [
|
|
12
|
+
"-y",
|
|
13
|
+
"@zenalexa/unicli",
|
|
14
|
+
"mcp",
|
|
15
|
+
"serve",
|
|
16
|
+
"--profile",
|
|
17
|
+
"computer-use",
|
|
18
|
+
],
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
}
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Restart Gemini CLI after editing settings.
|
|
25
|
+
|
|
26
|
+
## Permissions
|
|
27
|
+
|
|
28
|
+
On macOS, grant Accessibility to the terminal that launches Gemini CLI. Grant
|
|
29
|
+
Screen Recording if screenshot fallback is needed. Windows and Linux use the
|
|
30
|
+
UIA and AT-SPI sidecars respectively.
|
|
31
|
+
|
|
32
|
+
## Verify
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npx -y @zenalexa/unicli mcp serve --profile computer-use
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
The server banner should report `15 tools registered, mode=computer-use`.
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# Compute
|
|
2
|
+
|
|
3
|
+
`unicli compute` is the local computer-control surface. It routes each request
|
|
4
|
+
through the fastest available structured transport first, then falls back to
|
|
5
|
+
broader transports when needed.
|
|
6
|
+
|
|
7
|
+
Transport order is selected per verb and host platform:
|
|
8
|
+
|
|
9
|
+
- macOS: Accessibility first for app control, CDP for browser/Electron renderers,
|
|
10
|
+
CUA as the visual fallback.
|
|
11
|
+
- Windows: UIA first once the sidecar is present, CDP next where available, CUA
|
|
12
|
+
as fallback.
|
|
13
|
+
- Linux: AT-SPI first once the sidecar is present, CDP next where available,
|
|
14
|
+
CUA as fallback.
|
|
15
|
+
|
|
16
|
+
## Snapshot, Find, Click
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
unicli compute snapshot --app Calculator --format compact
|
|
20
|
+
unicli compute find --role button --name 5
|
|
21
|
+
unicli compute find --role input --text 8 --first
|
|
22
|
+
unicli compute click @e7
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Snapshots return compact element refs such as `@e7`. The latest ref bucket is
|
|
26
|
+
kept by the transport bus so follow-up actions can dereference aliases without
|
|
27
|
+
coordinates. When a structured transport reports bounds, the refs preserve
|
|
28
|
+
screen-relative coordinates and `screenIndex` so follow-up actions can target
|
|
29
|
+
the same monitor in multi-display setups.
|
|
30
|
+
When a snapshot node includes a visible/current value, compact output and stored
|
|
31
|
+
refs preserve it, and `compute find --text <text>` can match that value. This is
|
|
32
|
+
useful for calculator displays, address fields, editors, and status labels
|
|
33
|
+
whose value is not part of the accessible name.
|
|
34
|
+
|
|
35
|
+
## Commands
|
|
36
|
+
|
|
37
|
+
| Command | Purpose |
|
|
38
|
+
| ------------------------------------------------- | -------------------------------------------------- |
|
|
39
|
+
| `compute apps` | List running apps |
|
|
40
|
+
| `compute windows --app <name>` | List windows |
|
|
41
|
+
| `compute snapshot --app <name> --format compact` | Capture a compact/tree/json accessibility snapshot |
|
|
42
|
+
| `compute find --role <role> --name/--text <text>` | Find matching refs by label or value |
|
|
43
|
+
| `compute click <ref>` | Click a ref |
|
|
44
|
+
| `compute type <ref> <text>` | Set or type text |
|
|
45
|
+
| `compute press <combo>` | Send a key combo |
|
|
46
|
+
| `compute scroll <ref>` | Scroll a ref |
|
|
47
|
+
| `compute launch <app>` | Launch an app |
|
|
48
|
+
| `compute screenshot [path]` | Capture a screenshot |
|
|
49
|
+
| `compute attach --app <name>` | Attach CDP to a renderer |
|
|
50
|
+
| `compute attach --app <name> --confirm-relaunch` | Allow risky app relaunch for CDP attach |
|
|
51
|
+
| `compute eval <js>` | Evaluate JS in an attached renderer |
|
|
52
|
+
| `compute wait --ref <ref>` | Wait for an element/text/state |
|
|
53
|
+
| `compute observe <goal>` | Rank refs for a natural-language goal |
|
|
54
|
+
| `compute assert --text <text>` | Assert visible state |
|
|
55
|
+
|
|
56
|
+
## Output
|
|
57
|
+
|
|
58
|
+
All commands use the normal Uni-CLI v2 envelope. Success writes to stdout; a
|
|
59
|
+
failed cascade writes a structured error to stderr with the failing transport
|
|
60
|
+
details and exits with the transport error code.
|
|
61
|
+
|
|
62
|
+
`compute launch <app>` is routed through the subprocess transport first. It uses
|
|
63
|
+
the host launcher command for the current OS: `open -a` on macOS,
|
|
64
|
+
`Start-Process` through PowerShell on Windows, and `gtk-launch` on Linux.
|
|
65
|
+
When `--debug-port <port>` is supplied, Uni-CLI passes
|
|
66
|
+
`--remote-debugging-port=<port>` to the launched app for Electron CDP attach
|
|
67
|
+
workflows. The native desktop fallbacks honor the same debug-port argument when
|
|
68
|
+
the subprocess route is not available.
|
|
69
|
+
The direct low-level UIA and AT-SPI sidecar `launch_app` actions are also
|
|
70
|
+
implemented for sidecar callers: UIA uses PowerShell `Start-Process`, and
|
|
71
|
+
AT-SPI uses `gtk-launch`. Cross-OS live launch smoke evidence is still pending.
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
unicli compute snapshot --app TextEdit -f json
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Failures include a `minimum_capability` key and may include a structured
|
|
78
|
+
`remedy` with a command or deeplink. See
|
|
79
|
+
[Compute Troubleshooting](troubleshooting.md) for the remedy catalog.
|
|
80
|
+
|
|
81
|
+
## Live Smoke
|
|
82
|
+
|
|
83
|
+
Maintainers can generate the cross-OS smoke plan without touching the host:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
npm run compute:smoke -- --json --platform linux
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
To execute it on a real target machine, run:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
npm run compute:smoke -- --run --include-mutating --output smoke-report.json
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
The smoke harness uses a temporary ref store, checks `doctor compute`, lists
|
|
96
|
+
apps, launches the platform calculator app, captures a compact snapshot, finds a
|
|
97
|
+
button ref, waits for it, asserts it is enabled, clicks it with `--background`,
|
|
98
|
+
exercises type/scroll routing, and captures a screenshot. Omit
|
|
99
|
+
`--include-mutating` to skip launch/click/type/scroll steps while still
|
|
100
|
+
collecting read-only evidence. For richer text-field or scroll-container
|
|
101
|
+
coverage, override the app and target label with `--app` and `--button`.
|
|
102
|
+
When `--run` is used, the harness records every step's `ok`, `exit_code`,
|
|
103
|
+
duration, stdout, and stderr instead of aborting at the first failed command, so
|
|
104
|
+
cross-OS smoke artifacts keep enough evidence for repair. `--output` writes the
|
|
105
|
+
same schema-versioned report to disk for CI artifacts or manual release
|
|
106
|
+
evidence.
|
|
107
|
+
|
|
108
|
+
## Focus Stealing
|
|
109
|
+
|
|
110
|
+
Actuating commands prefer background mode: `compute click`, `compute type`,
|
|
111
|
+
`compute press`, and `compute scroll` pass `focus: false` to structured
|
|
112
|
+
transports unless `--focus` is set. CUA remains the visual last-resort fallback;
|
|
113
|
+
when the cascade reaches CUA, Uni-CLI treats the action as focus-taking because
|
|
114
|
+
the backend may move the cursor or active surface.
|
|
115
|
+
|
|
116
|
+
See [Compute Focus Behavior](focus-behavior.md) for the transport matrix and
|
|
117
|
+
source links.
|
|
118
|
+
|
|
119
|
+
Windows UIA uses native top-level inventory and live descendant traversal where
|
|
120
|
+
available. Refs emitted from Windows snapshot/find can target `compute type`,
|
|
121
|
+
`compute scroll`, `compute screenshot`, `compute wait`, and `compute assert`.
|
|
122
|
+
Wait/assert use role/name/title/app/pid filters and descendant text/value/state
|
|
123
|
+
checks when the UIA tree exposes them. `compute observe` ranks top-level and
|
|
124
|
+
descendant refs by goal/title/name token overlap and marks scrollable
|
|
125
|
+
descendants with `action: "scroll"` and slider/spinner/range descendants with
|
|
126
|
+
`action: "set_value"`. Descendant invoke, value, focus, and scroll actions
|
|
127
|
+
prefer native UIA patterns before bounded fallback paths; invoke also tries
|
|
128
|
+
toggle and selection item patterns for controls such as checkboxes, radio
|
|
129
|
+
buttons, and selectable list rows, while numeric set-value inputs can use
|
|
130
|
+
RangeValuePattern for sliders and spinners.
|
|
131
|
+
The UIA sidecar also supports direct app launch through PowerShell
|
|
132
|
+
`Start-Process`; the public compute launch cascade still tries subprocess first.
|
|
133
|
+
|
|
134
|
+
Linux AT-SPI uses `wmctrl -lG -p` where available and falls back to AT-SPI-only
|
|
135
|
+
top-level registry roots when `wmctrl` is missing or empty. Refs emitted from
|
|
136
|
+
Linux snapshot/find can target `compute click`, `compute type`, `compute
|
|
137
|
+
scroll`, `compute screenshot`, `compute wait`, `compute observe`, and
|
|
138
|
+
`compute assert`. Descendant click/type/focus prefer native AT-SPI
|
|
139
|
+
Action/Value/EditableText/Component proxies before bounded display-server
|
|
140
|
+
helpers; descendant scroll prefers native `Component.scroll_to(...)` before
|
|
141
|
+
helper fallback. `compute observe` marks scrollable descendants with
|
|
142
|
+
`action: "scroll"` and slider/spin-button/range descendants with
|
|
143
|
+
`action: "set_value"`. Descendant screenshots capture the element rectangle
|
|
144
|
+
when bounds are known. Top-level X11 screenshots use `import -window <id>` when
|
|
145
|
+
a real window id exists, and Wayland/top-level bounds use `grim -g` when bounds
|
|
146
|
+
are known.
|
|
147
|
+
The AT-SPI sidecar also supports direct app launch through `gtk-launch`; the
|
|
148
|
+
public compute launch cascade still tries subprocess first.
|
|
149
|
+
|
|
150
|
+
## CDP Attach
|
|
151
|
+
|
|
152
|
+
`compute attach --app <name>` resolves known Electron apps from the built-in
|
|
153
|
+
registry and uses the app's assigned debug port. If the endpoint is not already
|
|
154
|
+
listening, Uni-CLI launches the app with `--remote-debugging-port=<port>`,
|
|
155
|
+
reprobes CDP, and then reuses that renderer for `compute eval`, snapshot, click,
|
|
156
|
+
type, press, and scroll actions. App-based attach also persists the last CDP
|
|
157
|
+
session under the Uni-CLI compute state directory so a later `compute eval` from
|
|
158
|
+
a separate process can reconnect to the same renderer.
|
|
159
|
+
|
|
160
|
+
Some apps are marked as unsafe to relaunch automatically because restarting them
|
|
161
|
+
can interrupt signed-in workspace state. For those apps, attach refuses before
|
|
162
|
+
launching and returns a structured error; rerun with `--confirm-relaunch` only
|
|
163
|
+
when relaunching the app is acceptable.
|
|
164
|
+
|
|
165
|
+
See [Electron App Control](electron.md) for app caveats and registry guidance.
|
|
166
|
+
|
|
167
|
+
## Fallback Semantics
|
|
168
|
+
|
|
169
|
+
The cascade stops on the first successful transport result. Failed transports
|
|
170
|
+
are accumulated into one error envelope only when every candidate fails. This
|
|
171
|
+
keeps normal operation low-latency while preserving enough evidence for
|
|
172
|
+
`unicli doctor compute` and repair workflows.
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# Electron App Control
|
|
2
|
+
|
|
3
|
+
`unicli compute attach` makes Electron renderers scriptable through Chrome
|
|
4
|
+
DevTools Protocol (CDP). Use it when accessibility snapshots miss web content
|
|
5
|
+
inside apps such as VS Code, Slack, Discord, Notion, Figma, GitHub Desktop, or
|
|
6
|
+
NeteaseMusic.
|
|
7
|
+
|
|
8
|
+
## Attach
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
unicli compute attach --app vscode
|
|
12
|
+
unicli compute eval "document.title"
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Attach resolves the app in Uni-CLI's Electron registry, probes the assigned CDP
|
|
16
|
+
port, launches the app with `--remote-debugging-port=<port>` when the endpoint
|
|
17
|
+
is absent, then stores the active target under the compute state directory. A
|
|
18
|
+
later `compute eval`, snapshot, click, type, press, scroll, or wait command can
|
|
19
|
+
reuse that saved target from a separate process.
|
|
20
|
+
|
|
21
|
+
Use an explicit port when the app is already running with a custom CDP port:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
unicli compute attach --port 9333
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Relaunch Safety
|
|
28
|
+
|
|
29
|
+
Apps marked with `relaunchLosesSession: true` require explicit confirmation:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
unicli compute attach --app notion --confirm-relaunch
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Use confirmation only when restarting that app is acceptable. Meeting apps,
|
|
36
|
+
workspace apps, and document apps can interrupt active calls, reconnect
|
|
37
|
+
workspaces, or refresh unsaved UI state during relaunch.
|
|
38
|
+
|
|
39
|
+
## App Caveats
|
|
40
|
+
|
|
41
|
+
| App | Notes |
|
|
42
|
+
| --------------- | ------------------------------------------------------------------------------------------ |
|
|
43
|
+
| VS Code | Renderer CDP uses `--remote-debugging-port=<port>`. Extension-host inspection is separate. |
|
|
44
|
+
| Notion | Requires `--confirm-relaunch` because workspace state can refresh. |
|
|
45
|
+
| Teams / Zoom | Avoid relaunch during calls. Attach to an already-debug-enabled instance when possible. |
|
|
46
|
+
| NeteaseMusic | CDP-first inspection is preferred because the AX tree can be sparse. |
|
|
47
|
+
| Slack / Discord | CDP exposes channel and message content that desktop accessibility can miss. |
|
|
48
|
+
|
|
49
|
+
## Manual Launch
|
|
50
|
+
|
|
51
|
+
The registry handles launch for known apps. For manual debugging or a custom
|
|
52
|
+
app, launch with a CDP port and then attach by port:
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
unicli compute launch Slack --debug-port 9241
|
|
56
|
+
unicli compute attach --port 9241
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
The equivalent host command on macOS is:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
open -a "Slack" --args --remote-debugging-port=9241
|
|
63
|
+
unicli compute attach --port 9241
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
On Linux or Windows, start the app executable with the same
|
|
67
|
+
`--remote-debugging-port=<port>` argument, then run `compute attach --port`.
|
|
68
|
+
|
|
69
|
+
## Adding an App
|
|
70
|
+
|
|
71
|
+
Add a profile in `src/electron-apps.ts` with:
|
|
72
|
+
|
|
73
|
+
- unique `port`
|
|
74
|
+
- `processName`
|
|
75
|
+
- `bundleId` or `executableNames`
|
|
76
|
+
- `displayName`
|
|
77
|
+
- useful `aliases`
|
|
78
|
+
- `contentHints`
|
|
79
|
+
- `relaunchLosesSession: true` when relaunch can interrupt active user state
|
|
80
|
+
|
|
81
|
+
Verify the change with:
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
npx vitest run --project unit tests/unit/electron-apps-table.test.ts
|
|
85
|
+
unicli compute attach --app <id>
|
|
86
|
+
unicli compute eval "document.title"
|
|
87
|
+
```
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Compute Focus Behavior
|
|
2
|
+
|
|
3
|
+
`unicli compute` defaults structured transports to `focus: false` for actuating
|
|
4
|
+
verbs. Use `--focus` or `focus: true` only when the target app must be brought
|
|
5
|
+
forward before the action can succeed. CUA is the visual fallback and is treated
|
|
6
|
+
as focus-taking when the cascade reaches it.
|
|
7
|
+
|
|
8
|
+
## Defaults
|
|
9
|
+
|
|
10
|
+
| Verb | desktop-ax (macOS) | desktop-uia (Windows) | desktop-atspi (Linux) | cdp-browser | cua |
|
|
11
|
+
| -------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
12
|
+
| `compute click` | Uses `AXUIElementPerformAction(..., AXPress)` without app activation. Proof: [desktop-ax-swift.ts](../../src/transport/adapters/desktop-ax-swift.ts). | Descendant refs prefer native UIA `InvokePattern.Invoke`, `TogglePattern.Toggle`, or `SelectionItemPattern.Select`, then fall back to bounded HWND `PostMessageW` click. Proof: [invoke.rs](../../crates/unicli-uia/src/invoke.rs). | Descendant refs prefer native AT-SPI `ActionProxy.do_action(0)`, then fall back to bounded X11/Wayland click helpers. Top-level X11 refs use `wmctrl`; AT-SPI-only synthetic refs use `ComponentProxy.grab_focus()`. Proof: [invoke.rs](../../crates/unicli-atspi/src/invoke.rs). | Uses the attached renderer page and does not activate the browser window. Proof: [cdp-browser.ts](../../src/transport/adapters/cdp-browser.ts). | Cascade passes `focus: true`; visual backend may move cursor or focus. Proof: [cua.ts](../../src/transport/adapters/cua.ts). |
|
|
13
|
+
| `compute type` | Uses `AXUIElementSetAttributeValue` when possible, without activation. Proof: [desktop-ax-swift.ts](../../src/transport/adapters/desktop-ax-swift.ts). | Descendant refs prefer native UIA `ValuePattern.SetValue`; numeric values can fall through to `RangeValuePattern.SetValue` before bounded click plus `SendInput`. Proof: [invoke.rs](../../crates/unicli-uia/src/invoke.rs). | Descendant refs prefer native AT-SPI `ValueProxy.set_current_value(...)` or `EditableTextProxy.set_text_contents(...)`, then fall back to display-server text helpers. Proof: [invoke.rs](../../crates/unicli-atspi/src/invoke.rs). | Types through the attached renderer page. Proof: [cdp-browser.ts](../../src/transport/adapters/cdp-browser.ts). | Cascade passes `focus: true`; visual typing may move cursor or focus. Proof: [cua.ts](../../src/transport/adapters/cua.ts). |
|
|
14
|
+
| `compute press` | Uses AX action dispatch when a ref/app scope is available; global key combos may require foreground app focus. Proof: [desktop-ax.ts](../../src/transport/adapters/desktop-ax.ts). | Planned per-window key dispatch keeps foreground changes behind `focus: true`. Proof: [unicli-uia main.rs](../../crates/unicli-uia/src/main.rs). | Uses display-server helpers for fallback key dispatch: `xdotool` on X11, `wtype` for printable Wayland keys, and `ydotool` for supported Wayland modifier combos. Proof: [input.rs](../../crates/unicli-atspi/src/input.rs). | Sends key events to the attached renderer page. Proof: [cdp-browser.ts](../../src/transport/adapters/cdp-browser.ts). | Cascade passes `focus: true`; visual key events may focus the active surface. Proof: [cua.ts](../../src/transport/adapters/cua.ts). |
|
|
15
|
+
| `compute scroll` | Uses `AXScrollToVisible` through the AX element action path without activation. Proof: [desktop-ax-swift.ts](../../src/transport/adapters/desktop-ax-swift.ts). | Descendant refs prefer native UIA `ScrollPattern.Scroll(...)`, then fall back to `SendInput` wheel dispatch. Top-level window refs are foregrounded before `SendInput`. Proof: [input.rs](../../crates/unicli-uia/src/input.rs). | Descendant refs prefer native AT-SPI `Component.scroll_to(...)`, then fall back to display-server wheel helpers. Top-level refs are activated before helper wheel dispatch. Proof: [input.rs](../../crates/unicli-atspi/src/input.rs). | Sends wheel events to the attached renderer page. Proof: [cdp-browser.ts](../../src/transport/adapters/cdp-browser.ts). | Cascade passes `focus: true`; visual scrolling may move the cursor or active surface. Proof: [cua.ts](../../src/transport/adapters/cua.ts). |
|
|
16
|
+
| `compute screenshot` | Reads window/screen state without activation; may require Screen Recording permission. Proof: [desktop-ax.ts](../../src/transport/adapters/desktop-ax.ts). | Descendant refs crop the owning HWND/GDI bitmap when bounds are known; top-level refs capture the window bitmap. Proof: [screenshot.rs](../../crates/unicli-uia/src/screenshot.rs). | Top-level X11 window refs capture with `import -window <id>`; Wayland refs with known bounds capture with `grim -g`. Other helper paths activate the target before screenshot. Proof: [screenshot.rs](../../crates/unicli-atspi/src/screenshot.rs). | Captures the attached renderer page. Proof: [cdp-browser.ts](../../src/transport/adapters/cdp-browser.ts). | Backend-specific screenshot behavior. Proof: [cua.ts](../../src/transport/adapters/cua.ts). |
|
|
17
|
+
|
|
18
|
+
## Operational Notes
|
|
19
|
+
|
|
20
|
+
- `compute click`, `compute type`, `compute press`, and `compute scroll` pass
|
|
21
|
+
`focus: false` to AX, UIA, AT-SPI, and CDP unless the caller sets `--focus`
|
|
22
|
+
or `focus: true`.
|
|
23
|
+
- Linux AT-SPI refs from `compute snapshot` / `compute find --first` can target
|
|
24
|
+
`compute click`, `compute type`, `compute scroll`, `compute screenshot`,
|
|
25
|
+
`compute wait`, `compute observe`, and `compute assert`. Descendant click,
|
|
26
|
+
type, focus, scroll, and screenshot prefer native AT-SPI or bounded region
|
|
27
|
+
operations before display-server helpers. Top-level X11 refs use `wmctrl`
|
|
28
|
+
where a real window id exists; AT-SPI-only synthetic refs use the
|
|
29
|
+
accessibility tree and native `ComponentProxy.grab_focus()`.
|
|
30
|
+
- Windows UIA refs from `compute snapshot` / `compute find --first` can target
|
|
31
|
+
descendant click, type, focus, scroll, screenshot, wait, observe, and assert
|
|
32
|
+
when the OS exposes the UIA tree. Invoke, toggle, selection, value, focus,
|
|
33
|
+
and scroll prefer native UIA patterns before bounded fallback paths.
|
|
34
|
+
- Linux AT-SPI `compute press` remains a global display-server helper path, so
|
|
35
|
+
it targets the active desktop surface.
|
|
36
|
+
- CUA is a fallback for cases where structured transports cannot see or act on
|
|
37
|
+
the target. Because it is visual-provider based, the cascade dispatches CUA
|
|
38
|
+
actions with `focus: true`.
|
|
39
|
+
- If a target is minimized, hidden, disabled, or off screen, prefer a fresh
|
|
40
|
+
`compute snapshot` and a structured retry before enabling `--focus`.
|